RFBNet - хорошая статья без формул, легкая для понимания, с картинками и текстом, в элегантном формате. В статье предлагается RFB, который представляет собой модуль, который можно интегрировать в другие алгоритмы обнаружения. Также легко понять из рис.2, 3, 4 и 5 статьи, вдохновленной системой зрительного восприятия человека, предлагаемой RFBNet.Магистраль на основе SSD сочетает в себе идеи Inception и wormhole convolution, чтобы максимально имитировать зрительное восприятие человека.Окончательные экспериментальные результаты также очень хороши..
Особых приемов для обучения нет, и ресурсов много не отнимает, а эффект хороший. Исходник выглядит очень удобно, запускать легко, скорость быстрая. Собственный набор данных тоже удобен для обучение и тестирование.Докажите отличную работу RFB, если вы просто хотите найти недостатки, это эффект, но я не знаю, почему эффект хороший, я не могу это объяснить, и причина хорошей работы в статье не приводится, но объединяет точку зрения зрительного познания человека. . .
Значение терминов:
1 RFB: Receptive Field Block, легкий модуль, предложенный в этой статье, который можно интегрировать в различные алгоритмы обнаружения,Сочетает в себе идеи Inception и wormhole convolution, вы можете обратиться к рис.2, 3, 4, 5 бумаги, чтобы понять;
Abstract
1 Существующие основные детекторы целей обычно имеют два подхода:
1.1 Используйте мощную магистральную сеть (такую как ResNet-101, Inception) для извлечения признаков с высокой степенью различения, но вычислительные затраты высоки, а скорость работы низкая;
1.2 Используйте облегченную магистральную сеть (такую как MobileNet), которая работает быстро, но производительность ниже;
2 В этом документе предлагается RFB и интеграция RFB в SSD для формирования RFBNet; благодаря разработанному модулю RFB можно извлекать высокодифференцирующие функции даже в облегченной магистральной сети, а окончательная RFBNet имеет высокую скорость и хорошую производительность;
3 RFB вдохновлен структурой рецептивных полей человеческого зрения и учитывает масштаб, эксцентриситет РФ (размер и эксцентриситет РФ) и, наконец, улучшает различение и надежность признаков;
4 RFBNet хорошо работает на Pacal VOC и COCO, а карта на Pacal VOC превышает 80%, но поскольку магистральная сеть легкая (MobileNet, облегченная сеть VGG16), скорость также очень высокая; очень практичная структура сети;
1 Introduction
Основные двухэтапные алгоритмы обнаружения целей, такие как RCNN, Fast RCNN, Faster RCNN, имеют отличную производительность на Pascal VOC и MS COCO и обычно включают два этапа:
1-й этап: упомянуть предложения регионов, не зависящие от категории, не зависящие от категории;
2-й этап: функции CNN на основе предложений по дальнейшему использованию bbox cls и reg;
В приведенной выше схеме важную роль играет магистральная сеть CNN, которая извлекает функции предложения.Мы надеемся, что извлеченные целевые функции не только обладают высокой степенью различения, но также обладают надежной инвариантностью к переводу позиции;
Существующие алгоритмы обнаружения целей sota также подтверждают вышеизложенное: они, как правило, основаны на сильных магистральных сетях, таких как ResNet-101, Inception; FPN использует нисходящий подход для построения пирамиды функций, объединяя функции на высоком и низком уровнях. карты функций , Mask RCNN использует RoIAlign для создания более точных региональных функций, каждая из которых использует высокодифференцированные функции, извлеченные магистральной сетью с высокой производительностью.
Чтобы повысить скорость обнаружения модели, был создан одноэтапный алгоритм обнаружения целей, который напрямую исключает этап генерации предложений регионов, таких как YOLO и SSD, Хотя скорость работы в реальном времени может быть достигнута по сравнению с 2-этапный метод сота, однако теряется точность 10%~40%, более новые 1-этапные алгоритмы обнаружения, такие как DSSD, RetinaNet, повышают точность обнаружения, а производительность не уступает 2-х поэтапный алгоритм обнаружения, но по-прежнему используется мощная магистральная сеть (например, ResNet-101), время снова увеличивается;
Так что, если мы хотим, чтобы детектор работал хорошо и был быстрым? Автор дал направление: использовать облегченную магистральную сеть, но добавить какие-то ручные механизмы, чтобы сделать извлекаемые признаки более выразительными, что более элегантно, чем безмозглое добавление слоя и конв. Неврологи обнаружили, что в зрительной коре человека шкала рецептивного поля популяции (pRF) является функцией эксцентриситета ее карт сетчатки (ретинотопических карт).Хотя существуют различия между отдельными рецептивными полями, масштаб меняется с увеличением эксцентриситета карты сетчатки, как на рис. 1 ; это открытие показываетВажно, чтобы целевая область находилась как можно ближе к центру рецептивного поля., что помогает повысить устойчивость модели к мелкомасштабному пространственному перемещению; некоторые традиционные дескрипторы неглубоких объектов, такие как hsog и derf, вдохновлены приведенными выше схемами и достигли очень хорошей производительности при локальном сопоставлении изображений;
Из рис. 1 можно объяснить несколько проблем:
(A): 1. Масштаб группового рецептивного поля является функцией эксцентриситета его карты сетчатки, и его масштаб положительно коррелирует с эксцентриситетом карты сетчатки;
2. Масштаб группового рецептивного поля на разных картах сетчатки различен;
(B): Пространственная матрица pRFs на основе параметров в (a), радиус каждого круга на рисунке представляет собой масштаб RF при соответствующем эксцентриситете;
Помимо замены самой модели, ФР того же масштаба можно использовать и для работы с каждой точкой положения на карте признаков (устанавливать ФР одного размера сregular sampling grid, по сути, это обычная операция преобразования на одной карте признаков), но это может привести к потере распознавания признаков и устойчивости, как на рис. 3;
Inception: путем соединения операций преобразования нескольких ветвей (конечные масштабы ядра свертки, полученные на каждой ветви, различны, и несколько преобразований могут быть сложены друг с другом), в конечном итоге получаются RF нескольких масштабов.Начальные V1 ~ V3 используются при обнаружении целей и классификации изображений , Отличная производительность, но все ядра свертки работают на одном и том же концентраторе (all kernels in Inception are sampled at the same center,Обычная операция преобразования выполняется в том же центре (расстояние от центра равно), я так понимаюОба используют ядра свертки одного и того же масштаба.Хотя в конце концов на каждой ветви достигаются разные рецептивные поля, операции свертки одного и того же масштаба складываются.);
ASPP: Atrous Spatial Pyramid Pooling, который использует многомасштабную информацию для соединения нескольких параллельных расширенных ветвей conv между верхней и нижней картами объектов., на каждой ветке используются разные астральные скорости, и в итоге получаются разные расстояния до центра; Но свертка червоточины использует ядро свертки, основанное на том же масштабе, что и на предыдущей карте признаков, и извлеченные признаки недостаточно различимы;
Deformable CNN: адаптивно регулируйте пространственное распределение РФ в соответствии с масштабом и формой цели, хотя сетка дискретизации является переменной,Однако влияние эксцентриситета РФ не учитывается, то есть все пиксели РФ имеют одинаковую долю вклада в выходной отклик., вывод на рис. 1 не используется;
Вдохновленный структурой рецептивных полей человеческого зрения, в этой статье предлагается RFB, который учитывает масштаб и эксцентриситет RFs.Использование легкой магистральной сети также может извлекать высокоразличительные функции, делая детектор быстрым и точным.В частности, RFB использует различные ядра свертки, основанные на разных масштабах RF, и проектирует многоветвевые операции свертки и объединения (используетmulti-branch pooling with varying kernels), и управлять эксцентриситетом рецептивного поля через свертку червоточины (расширенную конволюцию), после последнего шага операции изменения формы формируются сгенерированные признаки, как показано на рис. 2:
Как видно из рис. 2, RFB также объединяет несколько веток conv, подобно структуре Inception,На каждой ветви используются различные масштабы обычной свертки + свертки червоточины, и различные масштабы ядра свертки обычной свертки используются для моделирования различных рецептивных полей в pRFs Отношение масштаба к эксцентриситету моделируемого pRF;
Наконец, количество каналов карты признаков уменьшено на concate + 1 x 1 conv, а пространственный массив RF на карте признаков аналогичен hV4 в зрительной системе человека на рис. читая это,Благие намерения различных операций RFB заключаются в том, чтобы имитировать режим зрительного восприятия человека, и конечный результат аналогичен hV4 на рис. 1;
В этом документе RFB дополнительно интегрируется в SSD для формирования 1-этапной RFBNet.Точность RFBNet сравнима с точностью двухэтапного алгоритма обнаружения Sota, и он не использует магистральную сеть ResNet-101, а использует только облегченную магистральную сеть. , что очень быстро Быстро, кроме того, модуль RFB интегрирован в MobileNet в эксперименте, и производительность также очень хорошая, что в полной мере демонстрирует высокую обобщающую способность самого RFB и адаптивность Xiaoqiang;
Эта статья в центре внимания выглядит следующим образом:
1. Предлагается модуль RFB.RFB вдохновлен структурой рецептивных полей человеческого зрения, и учитываются масштаб и эксцентриситет RF.Даже через легкую сетевую структуру могут быть извлечены очень различительные функции;
2 Предлагается интегрировать RFB в SSD (заменить верхний слой SSD непосредственно на RFB) для формирования RFBNet, который имеет высокую скорость и хорошую производительность;
3. RFBNet очень хорошо работает на Pacal VOC и COCO, а карта на Pacal VOC превышает 80%, но поскольку магистральная сеть легкая (MobileNet, облегченная сеть VGG16), скорость также очень высока и работает в режиме реального времени;
2 Related Work
Two-stage detector
Упоминаются RCNN, Fast RCNN, Faster RCNN, R-FCN, FPN, Mask RCNN, и производительность модели постепенно улучшается;
One-stage detector
Репрезентативные YOLO и SSD, которые напрямую предсказывают cls score и bbox loc нескольких целей на всей карте признаков, используют облегченную магистральную сеть для повышения скорости обнаружения модели, но точность слабее, чем у 2-этапного метода;
DSSD и RetinaNet заменяют облегченную магистральную сеть на ResNet-101, а затем используют микрооперации, такие как деконверсия, потеря фокуса и т. д., производительность близка или даже выше, чем у двухэтапного алгоритма обнаружения целей, но при расход скорости обнаружения;
Receptive field
Целью этой статьи является улучшение производительности одноэтапного алгоритма обнаружения цели без увеличения вычислительных затрат; поэтому в этой статье не используется безмозглый подход прямой замены высокопроизводительной магистральной сети, а вдохновлен механизм RF зрительной системы человека RFB, который также может извлекать отличительные признаки в облегченной магистральной сети;
Также интенсивно изучались RF, такие как Inception, ASPP, Deformable CNN, такие как рис. 3:
Inception: Соединив операции свертки нескольких ветвей (конечные масштабы ядра свертки на каждой ветви разные, и несколько сверток могут быть сложены друг с другом), в конечном итоге получаются РФ нескольких масштабов, но все ядра свертки находятся в одной и той же свертки. центр требует большего ядра свертки для создания такого же покрытия выборки (я не очень хорошо это понимаю), что может привести к потере важной информации о цели;
ASPP: Используя многомасштабную информацию, несколько параллельных расширенных конв. ветвей соединяются между верхней и нижней картами объектов., на каждой ветке используются разные астральные скорости, и в итоге получаются разные расстояния до центра; Однако на предыдущей карте признаков свертка червоточины использует ядро свертки, основанное на том же масштабе. Считается, что каждая позиция на карте признаков имеет одинаковую долю вклада в цель, что может спутать саму цель и контекст , а извлеченные признаки по-прежнему являются дискриминационными.
Deformable CNN: адаптивно регулируйте пространственное распределение РФ в соответствии с масштабом и формой цели, хотя сетка дискретизации является переменной,Однако влияние эксцентриситета РФ не учитывается, то есть все пиксели РФ имеют одинаковую долю вклада в выходной отклик., вывод на рис. 1 не используется;
RFB: Подчеркивает форму ромашки, как на рис.1 hV4,Корреляция между масштабом RF и эксцентриситетом,Положение ближе к центру конвекции достигается за счет меньшего ядра и большего веса.(большие веса присваиваютсяpositions nearer to the center by smaller kernels), чтобы черты, близкие к центру, были более подчеркнуты, и чем дальше от центра, тем меньше доля вклада в центральные черты;
В настоящее время Inception и ASPP не добились хороших результатов в одноступенчатом детекторе, но RFB добился хорошего улучшения производительности после объединения преимуществ этих двух;
3 Method
В этом разделе представлена кора зрительного восприятия, каждый модуль RFB, метод RFB для имитации визуального восприятия, структура RFBNet, схема обучения/тестирования и т. д.;
3.1 Visual Cortex Revisit
Магнитно-резонансная томография (фМРТ) может обнаруживать активность человеческого мозга с точностью до миллиметра, а моделирование рецептивного поля также стало важным перцептивным способом измерения активности человеческого мозга.Модель pRF: объединенные ответы нейронов, основанные на fMRI + pRF, мы можем исследовать взаимосвязь между областями зрительной коры человеческого мозга.В зрительной коре исследователи обнаружилиШкала pRF положительно коррелирует с эксцентриситетом, а в разных картах полей зрения коэффициент корреляции разный ---- я не очень понимаю, но можно понять в связке с рис 1;
3.2 Receptive Field Block
РФБ является многоотраслевым конв блоком, и его внутренняя структура состоит из двух частей:
1 Многоветвевая конвекция с различными масштабами ядра свертки, эквивалентная начальной структуре, используемой для моделирования многомасштабных pRF;
2 Операция свертки червоточины, используемая для моделирования связи между масштабом pRF и эксцентриситетом в зрительном восприятии человека;
Результат визуализации модуля RFB показан на рис. 2;
Multi-branch convolution layer
Доказательство начальной структуры: использование различных ядер конверсии нескольких ветвей для получения многомасштабных RF, производительность лучше, чем схема с фиксированным ядром конверсии, RFB использует новейшую начальную структуру: Inception V4, Inception-ResNet V2;
А именно: сначала уменьшите количество каналов карты признаков на 1 × 1 конв, сформируйте структуру узкого места на каждой ветви, а затем подключите к обычным n × n конв; и замените 5 × 5 конв на два сложенных 3 × 3 конв, которые не только уменьшает количество параметров, также увеличивает нелинейную способность модели и дополнительно использует 1 × n + n × 1 conv для замены исходного n × n conv, а также существует упрощенный дизайн, такой как ResNet, например, рис. 4;
Dilated pooling or convolution layer
В сочетании с рис. 4 он заключается в увеличении свертки червоточины, основной идее: при условии сохранения того же количества параметров и создания карты объектов с большим разрешением, увеличить восприимчивое поле каждого слоя карты объектов, чтобы он мог получить больше контекстной информации;Свертка червоточин хорошо работает на SSD и R-FCN.RFBNet использует свертку червоточин для имитации эффекта эксцентриситета pRFs в зрительном восприятии человека;
В сочетании с рис. 4 это легко понять.После обычной операции conv каждой ветви соедините слой dilates conv (т.е. conv, ratio).Можно заметить, что размер ядра обычного conv и отношение dilate conv просто соотв.Автор Считается,что масштаб и эксцентриситет пРФ можно смоделировать----хотя я не понимаю этого принципа;
Наконец, каждая ветвь объединяется, а затем соединяется с 1 x 1 conv, а затем выполняется поэлементная сумма с помощью ярлыка.Результаты визуализации показаны на рис.1 и 2;
3.3 RFB Net Detection Architecture
RFBNet основана на многомасштабном + 1-ступенчатом SSD, и модуль RFB может быть напрямую подключен к верхнему уровню преобразования SSD, что является быстрым и эффективным и может повторно использовать многие параметры SSD;
Lightweight backbone
Магистраль VGG16 SSD используется повторно, предварительная подготовка выполняется на ILSVRC CLS-LOC, параметры полносвязного уровня fc6 и fc7 подвергаются субдискретизации, а затем становятся конверсионным уровнем, pool5 изменяется с 2×2-s2 на 3× 3-s1 (масштаб карты признаков не уменьшен) и добавить расширенный конв для расширения рецептивного поля, игнорируя fc8 и все выпадающие слои;
RFB on multi-scale feature maps
SSD использует многоветвевую цель обнаружения пирамиды признаков. Масштаб карты признаков постепенно уменьшается, а восприимчивое поле постепенно увеличивается. RFBNet наследует структуру SSD и соединяет модуль RFB-s с высокоуровневым разрешение conv4-3 для имитации мелкого масштаба в сетчатке человека. pRFs; два верхних слоя не используют модуль RFB. Автор сказал, что основная причина заключается в том, что масштаб карты признаков слишком мал, чтобы использовать ядро свертки, подобное масштаб 5 х 5;
3.4 Training Settings
Реализация RFBNet основана на ssd.pytorch, а стратегия обучения согласуется с SSD: улучшение данных, OHEM, масштаб блока по умолчанию, настройка соотношения сторон, функция потерь (loc: плавная потеря L1; cls: потеря softmax), только изменен метод установки lr, новый слой свертки использует метод MSRA, который в коде соответствует kaiming_normal;
4 Experiments
RFBNet тестируется на Pascal VOC 2007 (20 категорий) и MS COCO (80 категорий).Pascal VOC вычисляет порог IoU для gt bbox и pred bbox для mAP, равный 0,5; интервал [0,5, 0,95], шаг = 0,05, может оценить производительность детектора более всесторонне;
4.1 Pascal VOC 2007
Используйте trainval_2007 + trainval_2012 (данные пересечения берутся, потому что данные дублируются) для обучения RFBNet, и в общей сложности обучается 250 эпох; если lr = 10-3 обучение в SSD используется повторно, это приведет к потере RFBNet для сильно колебаться во время тренировки, и сходиться нелегко, стратегия «разогрева», используемая в эксперименте: в первые 5 периодов постепенно увеличивайте lr с 10–6 до 4 × 10–3, а затем используйте обычную тренировочную стратегия уменьшения лр в 10 раз на 150/200 эпохах соответственно;
В Таблице 1 показана производительность RFBNet. SSD300* / SSD512* генерирует больше мелкомасштабных образцов изображений для обучения модели за счет улучшения данных. mAP RFBNet512: 82,2%, что очень близко к 2-ступенчатому R-FCN и R-FCN. основан на магистральной сети ResNet-101, которая значительно медленнее;
4.2 Ablation Study
Давайте проведем серию экспериментов по абляции, и результаты будут такими, как показано в таблицах 2 и 3:
RFB module
Базовый уровень: SSD300* (новый метод улучшения данных), mAP: 77,2 %, замените последний конверсионный слой на пул RFB-max, он может составлять 79,1 %, что указывает на хорошую производительность модуля RFB;
Cortex map simulation
Увеличьте RFB-s: измените параметры RFB, чтобы смоделировать отношение масштаба pRFs к эксцентриситету на картах коры головного мозга. расширенная конв.);
More prior anchors
Исходный SSD устанавливает 4 поля по умолчанию для conv4_3, conv10_2 и conv11 2 и устанавливает 6 полей по умолчанию для других слоев, но HR и S3FD считают, что карта признаков низкого уровня для обнаружения мелких целей (например, conv4_3), если ставишь больше якорей, можно Удобнее вспоминать мелкомасштабные цели;
Таким образом, в conv4_3 для SSD и RFBNet также установлено 6 полей по умолчанию.Экспериментальные результаты показывают, что для SSD нет улучшения производительности, но есть улучшение производительности для RFBNet (79,6% -> 79,8%);
Dilated convolutional layer
В таблице 2 сравниваются схемы RFB-max pooling, RFB-avg pooling, RFB-расширенная конв. три схемы и обнаружено, что RFB-расширенная конв. имеет наилучшую производительность (79,8% -> 80,5%), причина: первые две схемы (расширенное объединение ) Хотя он позволяет избежать добавления дополнительных параметров, он ограничивает слияние признаков многомасштабных RF;
Comparison with other architectures
Inception-L: Измените параметры в модуле, чтобы он имел тот же масштаб, что и RFB;
ASPP-S: параметры в исходном ASPP обучаются на данных стиля изображения.Для обнаружения цели RFs слишком велики, и эксперимент также был скорректирован, чтобы масштаб RFs соответствовал RFB;
Эксперимент по абляции также легко провести.На рис.5 верхний слой заменяется каждым модулем в таблице 3.Другие процессы и параметры обучения остаются прежними.Можно обнаружить, что RFB по-прежнему является самым мощным, и автор считает, что RFB имеет больший масштаб RF, что обеспечит более точное позиционирование цели;
4.3 Microsoft COCO
Существует волна COCO: тренировочный набор trainval35k (набор train + val 35k), повторное использование SSD для уменьшения масштаба блока по умолчанию в COCO (поскольку целевой масштаб в COCO намного меньше, чем в Pascal VOC), по-прежнему используйте Pascal VOC, аналогичный «разминке». » стратегия, всего обучено 120 эпох;
Из таблицы 4 видно, что RFBNet имеет хорошую производительность, лучше, чем базовая производительность SSD300*, и быстрее, чем R-FCN на основе магистральной сети ResNet-101 (входное изображение 600 × 1000 пикселей), RFBNet512 и RetinaNet500. Производительность относительно близка. , но RetinaNet500 использует магистральную сеть ResNet-101-FPN + фокальные потери, RFBNet512 основан только на облегченной модели VGG16, которая намного быстрее;
Хотя RetinaNet800 имеет наилучшую производительность, она занимает больше времени из-за ввода изображения с коротким краем в 800 пикселей;
RFBNet512-E использует две схемы для дальнейшего улучшения производительности модели (mAP: 34,4%, но увеличивает время только на 3 мс):
1 Подобно FPN, перед использованием RFB-s увеличьте дискретизацию карты признаков conv7 fc (RFBNet — это полная свертка, поэтому conv7 fc также является 4-мерным тензором), а затем выполните объединение с conv4_3;
2 Добавить ветку ядер свертки 7 x 7 ко всем модулям RFB ---- соответствует коду RFB_Net_E_vgg.py, разделенному на 1 x 7 conv, 7 x 1 conv, dilation = 7 объемов червоточины накапливаются и т. д.;
5 Discussion
Inference speed comparison
В сочетании с таблицей 1 и рис. 6 RFBNet действительно скучный, быстрый, работающий в режиме реального времени и эффективный, и все это сосредоточено в верхнем левом углу изображения;
Other lightweight backbone
Таблица 5, добавление модуля RFB в MobileNet-SSD, обучение на train + val35k и тестирование на minival5k могут еще больше повысить производительность, что полностью доказывает сильные способности самого RFB к обобщению;
Training from scratch
Теперь обучение детекторов обычно основано на модели классификации, которая была обучена в ImageNet, используя модель классификации в качестве основы, а затем продолжая обучение на наборе данных обнаружения (эквивалентно повторному использованию параметров модели классификации, поскольку модель классификации также имеет сильную возможность извлечения признаков); если параметры детектора также обучаются с нуля, общий эффект будет не очень хорошим;
DSOD: не нужно подготавливать модель, напрямую используйте облегченную структуру из нулевого обучения на Voc 2007, тестовый набор на карте: 77,7%, но если вы используете предварительно обученное обучение модели, производительность не улучшится; ---- алхимия Нет причин говорить;
Модуль RFN также имеет возможность обучения с нуля.Автор обучает RFBNet-300 с нуля на трейнвале VOC 07+12, а mAP на тестовом наборе: 77,6%, что сравнимо с DSOD, но если облегченный VGG16 добавлен в качестве предварительно обученной магистрали, mAP достиг 80,5%, это потрясающе~~~
6 Conclusion
1 В этой статье предлагается RFB, который вдохновлен структурой рецептивных полей человеческого зрения. Он не использует магистральную сеть с большим объемом вычислений и глубоким уровнем. Благодаря облегченной структуре магистральной сети в сочетании с модулем RPB высокая также могут быть извлечены отличительные признаки;
2 RFB измеряет взаимосвязь между масштабом и эксцентриситетом RF и может генерировать более отличительные и надежные признаки;
3 Интегрируйте RFB в SSD (упрощенный VGG16 в качестве магистральной сети) для формирования RFBNet. RFBNet очень хорошо работает с Pacal VOC и COCO. магистральные сети (например, ResNet-101) имеют сравнимую производительность, а поскольку магистральная сеть RFBNet легкая, она работает очень быстро;