Глубокое метаобучение для чтения документов визуального отслеживания с учетом целей в реальном времени

машинное обучение

Эта статья была написана группой в Южной Корее, и ее пропустили до ICCV в 2019. Говорят, что это первая статья, в которой метаобучение внедряется в отслеживание целей.Используемая архитектура является архитектурой сиамской сети, но модель обновляется онлайн при использовании идеи метаобучения.


Motivation

  • the number of positive samples are highly limited.
  • overfitting

В процессе отслеживания модель необходимо обновлять при изменении внешнего вида цели. Операция обновления должна использовать стохастический градиентный спуск (SGD), стохастический градиентный спуск, множители Лагранжа, гребневую регрессию и другие методы, эффективность очень низкая, обычно ниже 20 кадров в секунду, не может соответствовать требованиям в реальном времени. Кроме того, обновление обычно выполняется с небольшим количеством шаблонов внешнего вида, полученных в ходе отслеживания, которые могут легко попасть в переобучение и потерять обобщение из-за недостаточной способности положительных образцов к трансформации.


Introduction

Основываясь на вышеуказанном фоне и мотивах, в этом документе предлагается сквозная структура сети визуального отслеживания, которая в основном включает две части.

  • Siamese matching network for target search
  • meta-learning network for adaptive feature space.

На основе алгоритма отслеживания SiameseFc, называемого здесь сетью сопоставления, добавляется сеть метаобучающих устройств для динамического создания некоторых параметров сети сопоставления во время выполнения. Используя сеть мета-обучения, сеть сопоставления может адаптироваться к изменению целевой формы, а для динамически добавляемых параметров сети сопоставления необходимо рассчитывать только прямой проход, поэтому эффект в реальном времени хороший. , достигая 48 кадров в секунду. Общий процесс показан на рисунке ниже.Yd75xP.pngОбученная сеть метаобучения предоставляет дополнительные ядра свертки и информацию о внимании каналов для соответствующей сети (сеть SiameseFC в этой статье), так что пространство признаков может быть основано на новых шаблонах внешнего вида, полученных в процессе отслеживания. курс отслеживания) для адаптивной модификации без переобучения.


Meta-learning

Проще говоря, изучив множество задач, как человек, столкнувшись с новой задачей, мы можем быстро адаптироваться к новой задаче с помощью предыдущих учебных знаний и небольшого количества новых образцов, так же, как мы много играем в лол. Что ж, тогда имеет смысл начать со славы короля. На самом деле, концепция метаобучения была предложена уже давно, но она применялась в области глубокого обучения и обучения с подкреплением для достижения некоторых результатов или повышения производительности или повышения эффективности обучения. Текущее понимание метаобучения можно просто понимать как научиться учиться. Другими словами, объяснение состоит в том, чтобы изучить гиперпараметры. Определение гиперпараметров можно понимать как часть, которая не управляется данными при разработке алгоритма, а Структура может быть параметром обучения, или структура модели может динамически изменяться в зависимости от ситуации. Таким образом, метаобучение — это обучение и замена человеческой работы при разработке алгоритмов. Фактически, применение метаобучения в этой статье в основном применяет идею метаобучения и использует метаобучение для обновления веса последнего сверточного слоя (conv5). Он генерирует вес, который можно адаптивно обновлять в соответствии с существующим шаблоном отслеживания, а затем объединяет исходный вес с весом, сгенерированным сетью метаобучения, для создания окончательного W-адапта.

Здесь я хотел бы поделиться некоторыми небольшими знаниями о метаобучении в машинном обучении г-на Ли Хунъи, которые я видел, То есть при обучении сети метаобучения мы не преследуем оптимальность одной задачи, а найти способ свести все задачи к соответствующему глобальному оптимуму. Как на двух картинках ниже.YdxhGD.jpg YdxfPO.jpg


SiameseFc

Алгоритм отслеживания SiameseFc вместо обновления модели или поддержания шаблона использует две полностью сверточные CNN для формирования сети Simaese, извлекает функции сверточных слоев для корреляции и создает тепловую карту для прогнозирования целевой позиции, как показано на следующем рисунке. . В двух сетях один вход является целевым шаблоном начального кадра, а другой вход — большей областью рядом с целью (как правило, ее можно установить в 4 раза, что эквивалентно области поиска).Ydx6q1.pngФормулу расчета ядра можно увидеть на рисунке выше:

Ydz9Ln.pngФункция потерь в сети показана в следующей формуле: y[u] представляет реальную метку, а ее цель позиционирования равна 1 внутри кадра и -1 вне кадра:YdxRIK.jpg

Хорошо, давайте начнем текст!

Algorithm

Сетевая структура статьи выглядит следующим образом:YwMVfg.pngСиний — это структура SiamFC, в статье упоминаются функции, а затем используются функции conv5 для расчета потерь, а затем передается градиент в сеть мета-учеников для расчета веса, расчета внимания и затем объединения. вес к исходному весу conv5, а затем использовать этот новый вес для расчета окончательных признаков и выполнить взаимную корреляцию по этим двум признакам.


Components

Сначала давайте посмотрим на синюю часть, которая на самом деле является сетью SiameseFc, используя CNN с 5 сверточными слоями и применяя 2 пула с размером ядра 3 и шагом 2 после первых двух сверточных слоев Floor. Слой пакетной нормализации вставляется после каждого сверточного слоя. Размер ядра и входные/выходные размеры каждого слоя CNN составляют w1: 11×11×3×128, w2: 5×5×128×256, w3: 3×3×256×384, w4: 3×3. ×384 ×256, w5: 1 × 1 × 256 × 192. Для ввода, используя изображение RGB размером 127×127×3 для x и 255×255×3 для z, согласующая сеть генерирует карту ответов размером 17×17. На самом деле, это сначала сделать свертку, а потом найти взаимную корреляцию:YwQ3DI.pngгде x — шаблон, z — область поиска, w = {w1,w2, ...,wN} представляет собой набор весов для каждого слоя, ϕw(⋅) представляет использование экстрактора признаков Nlayer, когда вес вся сеть состоит из извлеченных функций.

В соответствии с M контекстными исправлениями z = {z1, ..., zM} и целевым значением x, сгенерированным соответствующей сетью в предыдущем процессе отслеживания, сеть мета-обучения вычисляет новые параметры, которые могут обеспечить адаптивное обновление шаблона отслеживания.

Сначала используйте последний слой соответствующей сети conv5 для вычисления среднего отрицательного градиента:YwQ1KA.pngСреди них yi указывает на то, что бинарная карта меток для zi рассчитывается в соответствии с наземной истиной, то есть картой отклика.Основой мета-экономного дизайна является то, что цель меняется, затем изменяется и δ (характеристика δ эмпирически отличается в зависимости от цели)

Затем, используя δ в качестве входных данных, метаобучающая сеть g(·) может генерировать целевые весовые коэффициенты, соответствующие входным данным, следующим образом:YwQuCD.pngЗатем два веса соединяются вместе, чтобы обновить исходные веса соответствующей сети.

Вот полный рот, сплайсинг, упомянутый выше, является истинным сплайсингом, то есть простым дополнением, которое можно подтвердить при введении мета-обучающей сети в следующих абзацах.
[w5,wtarget] of size 1×1×256×(192+32).

YwQQvd.png

В документе также говорится, что здесь также генерируется вес, такой как сигмоидные веса внимания по каналам Текст не говорит о конкретной реализации, и я не вижу, как его использовать в следующем тексте.


Tracking algorithm

Для процесса отслеживания сначала сохраните K изображений контекста как zmem = {z1, ..., zK} и соответствующую карту ответов yˆ = {yˆ,..., yˆK}, Принцип сохранения заключается в том, что когда в каждом кадре После того, как цель будет найдена, будет оцениваться, превышает ли текущий ответ цели пороговое значение τ , если оно больше τ , патч будет добавлен в пул шаблонов:YwQMgH.pngР в формуле соответствует позиции в множестве всех возможных позиций Р на графике отклика, а р(-) — нормировочная функция. При следующем вычислении δ, которое будет вводиться в сеть метаобучающего, выбор шаблона с наименьшей энтропией из пула шаблонов фактически означает поиск шаблонов M, которые имеют относительно большой отклик и являются более надежными для обновления сети.

Как упоминалось в статье, здесь предлагается новый график отклика yˆ ⊗ h и добавлена ​​функция косинусного окна, которая используется для штрафа за большие смещения и обеспечения плавного изменения размера цели.

Весь процесс отслеживания выглядит следующим образом:YwYL79.png


Implementation and Training

YwQYUf.pngСеть метаобучения использует градиент потерь δ в (2) в качестве входных данных, эта информация получена от соответствующей сети, которая объясняет ее состояние в текущем пространстве признаков. Затем g() в сети метаобучения изучает отображение этого градиента потерь на адаптивные веса Wtarget, которые описывают специфичное для цели пространство признаков, так называемые веса, специфичные для цели. Метаобучающая сеть может быть обучена с помощью функции потерь, которая измеряет точность адаптивных весов Wtarget при правильном подборе новых примеров {z1,...,zM'}.

Matching Network

Network

5 convolutional layers 2 pooling layers of kernel size 3 and stride 2 are applied after the first two convolutional layers.
w1 : 11×11×3×128,
w2 : 5×5×128×256,
w3 : 3×3×256×384,
w4 : 3×3×384×256,
w5 : 1×1×256×192.
Inputs,
27×127×3 for x
255×255×3 for z
response map
17 × 17

Train

Во время обучения пара (x, z) случайным образом выбирается из целевых траекторий в выбранной видеопоследовательности. Затем генерируется наземная карта отклика y ∈ {−1, +1} 17×17, где значение равно +1 в целевом местоположении и -1 в противном случае. Для функции потерь l(fw(x, z), y) в статье используется функция логистических потерь, определяемая как:YwQJVP.pngгде p представляет позицию в наборе каждой возможной позиции P на графе ответов, а ζ(y[p]) — весовая функция, которая уменьшает дисбаланс меток. Функция потерь была оптимизирована с использованием оптимизатора Адама со скоростью обучения 10-4 с размером пакета 8 и выполнением 95000 итераций.

Meta-learner Network

Network

3 fully-connected layers
Each intermediate layer is followed by a dropout layer with the keep probability of 0.7 when training.
For input, gradient δ of size
1×1×256×192
output Wtarget of size
1×1×256×32
Объединенные веса [w5,wtarget]
1×1×256×(192+32)

Train

В процессе обучения из обучающей последовательности случайным образом выбираются M' (M'≥M) контекстных патчей, то есть Zreg = {z1,...,zM'}, и из них берется M для вычисления градиента δ. Затем используйте уравнение 2 для расчета бинарной карты отклика. Обратите внимание, что вычисление бинарного изображения здесь сделано в предположении, что цель находится в центре i зи). Цель этого состоит в том, что, как я упоминал ранее, обучение сети мета-обучаемых не преследует оптимальность одной задачи, а находит глобальную оптимальность, которая может свести все задачи к их соответствующей глобальной оптимальности, поэтому здесь мы предполагаем, что Цель — центр патча контекста, чтобы независимо от того, куда идет цель, наш x мог быстро реагировать. Функция потерь сети метаобучаемых оптимизируется для сети метаобучаемых, а соответствующая сеть фиксируется, как показано в следующей формуле:YwQ8bt.png


Experimental Results

Y0t0dH.pngКоличественные результаты по наборам данных OTB [51] и LaSOT [12]. MLT - это предлагаемый алгоритм. Алгоритм показывает хорошую производительность в наборе данных OTB, превосходит другие алгоритмы в крупномасштабном наборе данных LaSOT и повышает производительность за счет использования дополнительного пространства функций, предоставляемого мета-обучающим устройством.

Y0tBod.png

MLT-mt добавил только мета-обучение

MLT-mt-ft добавлен оптимизатор Adam для тонкой настройки