Управляемая привязка: схема генерации разреженных привязок онлайн, встраивание 2AP | CVPR 2019

алгоритм
Управляемая привязка: схема генерации разреженных привязок онлайн, встраивание 2AP | CVPR 2019

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

  Источник: Заметки по разработке алгоритмов Xiaofei Public Account.

Диссертация: Предложение региона с помощью управляемой привязки

Introduction


  Якорь — очень важный механизм во многих алгоритмах обнаружения объектов, но он также приносит две проблемы:

  • Необходимо заранее спроектировать соответствующий размер анкера и соотношение сторон.Если дизайн не будет хорошим, это окажет большое влияние на скорость и точность.
  • Чтобы привязка достигла достаточной скорости отзыва, необходимо разместить большое количество привязок на карте признаков, что не только вводит большое количество отрицательных выборок, но и требует много вычислений.

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

Guided Anchoring


  Управляемая привязка пытается изучить якоря разных форм и их положение в режиме онлайн и получает набор якорей, которые неравномерно распределены на карте объектов. целевые доступные квадроциклы(x,y,w,h)(x,y,w,h)представление, положение и форма которого можно считать подчиняющимися изображениюIIРаспределение:

  Уравнение 1 состоит из двух частей: 1) Учитывая изображение, цель существует только в определенных областях 2) Форма тесно связана с местоположением.

  На основе уравнения 1 в документе разрабатывается генерация привязки на рисунке 1, которая включает две ветви: прогнозирование положения и прогнозирование формы. данное изображениеII, сначала получите карту объектовFIF_I, ветвь предсказания положения основана наFIF_IПрогнозируется вероятность того, что пиксель является целевой позицией, а ветвь прогнозирования формы прогнозирует форму, связанную с позицией пикселя.На основе двух ветвей вероятность выше порогового значения, и для каждой позиции получается наиболее подходящий якорь, и получается окончательный набор якорей. Поскольку формы привязки в наборе могут сильно различаться, для каждого местоположения необходимо получить признаки регионов разного размера.В этой статье предлагается модуль адаптации признаков (адаптация признаков) для адаптивного извлечения признаков в соответствии с формой привязки.   Вышеупомянутый процесс генерации основан на одной функции.Общая архитектура сети включает FPN, поэтому каждый уровень оснащен модулем управляемой привязки, а параметры модуля распределяются между уровнями.

Anchor Location Prediction

  Карта функции прогнозирования ветвей прогнозирования положенияFIF_Iкарта вероятностейp(FI)p(\cdot|F_I), каждыйp(i,jFI)p(i,j|F_I)- вероятность того, что позиция является центром цели, соответствующие координаты на входном изображении((i+12)s,(j+12)s)((i+\frac{1}{2})s, (j+\frac{1}{2})s),ssэто шаг карты объектов.   При реализации через подсетьNL\mathcal{N}_LЧтобы сделать прогноз карты вероятностей, сначала используйте1×11\times 1Карта характеристик магистральной сети извлечения сверткиFIF_IОценка объектности , а затем преобразование вероятности с помощью поэлементной сигмовидной функции. Более сложные подсети могут обеспечить более высокую точность.Бумага принимает наиболее доступную структуру для точности и скорости и, наконец, берет выше порогового значения.ϵL\epsilon_L, что может гарантировать, что 90 % нерелевантных регионов будут отфильтрованы в соответствии с предпосылкой высокой полноты отзыва.

Anchor Shape Prediction

  Цель ветки предсказания формы — предсказать наилучшую форму объекта, соответствующую каждой позиции.(w,h)(w,h), но из-за чрезмерно большого числового диапазона, если конкретное число предсказано напрямую, оно будет очень нестабильным, поэтому сначала преобразуйте его:

  Выход ветки предсказания формыdwdwиdhdh, согласно уравнению 2, чтобы преобразовать форму(w,h)(w,h),ssшаг карты признаков,о=8\sigma=8Коэффициент масштабирования для ручных настроек. Это нелинейное преобразование отображает [0, 1000] в [-1, 1], что проще в освоении. При реализации по подсетиNS\mathcal{N}_SДля предсказания формы сначала используйте1×11\times 1Свертка получает двумерные карты признаков, соответствующиеdwdwиdhdh, а затем преобразуется по уравнению 2. Поскольку якорь каждой позиции запоминается по сравнению с предустановленным фиксированным якорем, скорость отзыва этого изученного якоря выше.

Anchor-Guided Feature Adaptation

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

fif_iзаiiособенности локации,(wi,hi)(w_i, h_i)- соответствующая форма якоря,NT\mathcal{N}_Tза3×33\times 3Деформируемая свертка, значение смещения деформированной свертки определяется выражением1×11\times 1Свертка преобразует выходные данные ветви предсказания положения, чтобы получить,fi'f^{'}_iЭто адаптивная функция, которая используется для последующей корректировки привязки и предсказания классификации, как показано на рисунке 1.

Training


Joint objective

  Общая функция потерь сети состоит из 4 частей, а именно потери классификации, потери регрессии, потери позиции привязки и потери формы привязки:

Anchor location targets

  Гипотетическая цель(xg,yg,wg,hg)(x_g, y_g, w_g, h_g)Отображение на карте объектов(xg',yg',wg',hg')(x^{'}_g, y^{'}_g, w^{'}_g, h^{'}_g), который определяет следующие три области:

  • Центральный регионCR=R((xg',yg',оwg',оhg'))CR=\mathcal{R}((x^{'}_g, y^{'}_g, \sigma w^{'}_g, \sigma h^{'}_g)), все положительные точки выборки в регионе
  • игнорировать областьIR=R(xg',yg',о2wg',о2hg')IR=\mathcal{R}(x^{'}_g, y^{'}_g, \sigma_2 w^{'}_g, \sigma_2 h^{'}_g) \ CRCR,о2>о\sigma_2 > \sigma, все в зоне игнорируются очки и не участвуют в тренировках
  • Внешняя область OR — это области без ИК и CR, а все области — отрицательные точки выборки.

  Магистральная сеть использует FPN, и каждый уровень FPN должен отвечать только за тренировочные цели в пределах определенного диапазона размеров. Поскольку характеристики соседних слоев схожи, ИК-область сопоставляется с соседним слоем, при этом ИК-область не учитывает область CR, и область также не участвует в обучении, как показано на рисунке 2. Когда несколько целей перекрываются, область CR имеет приоритет над областью IR, а область IR имеет приоритет над областью OR, и для обучения используется потеря очага.

Anchor shape targets

  Сначала определите динамическую привязкуawh={(x0,y0,w,h)w>0,h>0}a_{wh}=\{(x_0, y_0, w, h)| w> 0, h > 0\}Оптимальная задача с GT:

  Если решить уравнение 5 для каждой позиции, объем вычислений будет довольно большим.По этой причине в документе используется метод выборки для аппроксимации уравнения 5, а диапазон выборки - обычные выборки привязки, такие как 9 привязок RetinaNet. Для каждой позиции якорь с наибольшим IoU выбирается в результате уравнения 5. Чем больше диапазон выборки, тем точнее результаты генерации якоря, но это потребует дополнительных вычислений.Якорь обучается с помощью Smooth-L1:

The Use of High-quality Proposals


  Внедрите управляемую привязку в RPN, чтобы получить расширенный GA-RPN, который сравнивается с исходной версией, как видно из рисунка 3:

  • GA-RPN имеет больше положительных образцов
  • GA-RPN имеет больше блоков-кандидатов с высоким IoU

  Судя по результатам, эффект от GA-RPN намного лучше, чем от RPN. В статье GA-RPN напрямую заменяется на RPN, а улучшение AP составляет менее 1. Согласно наблюдениям, предпосылка использования высококачественных блоков-кандидатов заключается в том, что распределение обучающих данных необходимо скорректировать в соответствии с распределением блоков-кандидатов. Поэтому при использовании GA-RPN необходимо установить более высокий порог для положительных и отрицательных выборок, чтобы сеть обращала больше внимания на качественные ящики-кандидаты. Кроме того, в документе было обнаружено, что GA-RPN также может повысить производительность двухэтапных детекторов в форме тонкой настройки.При наличии обученной модели обнаружения замена RPN на GA-RPN для нескольких итераций может обеспечить хорошую производительность. улучшение.

Experiments


  Сравнение с различными методами ящиков-кандидатов.

  Сравнение эффекта встраивания.

  тонкая настройка сравнения.

Conclusion


  Управляемая привязка решает проблемы обычных предустановленных привязок вручную путем создания привязок в режиме онлайн и предоставляет два метода реализации с точки зрения встраивания на основе сгенерированных адаптивных функций привязки, что является очень полным решением. Но есть неприятный момент в генерации анкорной цели, чтобы убедиться, что производительность не идеальна, я надеюсь, что кто-то может предложить более точное и эффективное решение формулы 5.



Если эта статья была вам полезна, ставьте лайк или смотрите~

Для получения дополнительной информации, пожалуйста, обратите внимание на общедоступную учетную запись WeChat [Примечания по разработке алгоритмов Xiaofei].

work-life balance.