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

Обратите внимание, что этот пост предназначен для того, чтобы я в будущем мог оглянуться назад и просмотреть материалы этой статьи, не перечитывая ее заново

Аннотация

В этой статье автор изучил различные архитектуры SOTA и предложил ключевые особенности детектора объектов.

  1. Двунаправленная сеть функциональных пирамид (BiFPN)
  2. Метод составного масштабирования, который одновременно равномерно масштабирует разрешение, глубину и ширину для магистральной сети, функциональной сети и сети предсказания блоков/классов.

EfficientDet-D7 на наборе данных COCO достигает 51,0 мАд с 52 млн параметров, 326 млрд FLOPS и в 4 раза меньше, чем предыдущие детекторы.

1.Введение

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

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

Задача 1 – эффективное слияние объектов в нескольких масштабах. Объединение нескольких объектов с разным разрешением из разных слоев вместо их суммирования по разным признакам и неравенства объектов.

Задача 2. Масштабирование модели. Хорошо иметь магистраль, которая может масштабироваться одновременно по разрешению, глубине и ширине, вместо того, чтобы иметь большую магистраль, которая масштабируется только по одному коэффициенту.

Для решения поставленных задач вклад авторов можно разделить на следующие пункты:

  1. BiFPN для простого и быстрого многофункционального слияния
  2. Комплексное масштабирование для совместного масштабирования магистрали, сети и разрешения
  3. EfficientDet = BiFPN + Compound Scaling для повышения точности и эффективности при самых разных ограничениях ресурсов.

2. Связанная работа

Большая часть работы взята в качестве эталона, на основе которого был достигнут прогресс

Детекторы объектов. Двухэтапные детекторы более гибкие и точные, но одноэтапные детекторы проще и эффективнее благодаря предопределенным привязкам.

Многомасштабные представления функций: большая часть магистральной сети использует FPN, т. е. Feature Pyramid Network, которая представляет собой нисходящий путь для объединения многомасштабных функций, основываясь на этой идее. вершина FPN, архитектура STDL делает модуль передачи масштаба для использования кросс-масштаба, NAS_FPN автоматически проектирует топологию сети с функциями

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

3. БиФПН

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

  1. Многомасштабное слияние функций
  2. Эффективные двунаправленные межмасштабные соединения
  3. Слияние взвешенных признаков

3.1 Многомасштабное слияние признаков: оно предназначено для объединения признаков с разным разрешением на уровне признаков Eq-a на рис. 1.(a). а показывает FPN с нисходящим подходом, который использует функции уровней 3–7.

Например: если разрешение изображения 640x480, уровень функции 3 равен 640/2³, т.е. 80, что дает разрешение 80x80, аналогично уровень функции 7 равен 5x5.

Таким образом, обычная FPN объединяет многомасштабные функции с подходом сверху вниз, где Resize обычно представляет собой операцию повышения или понижения дискретизации для согласования разрешения, а Conv обычно представляет собой сверточную операцию для обработки функций, когда информация течет в одном направлении. Чтобы импровизировать, эти PANnet Рис. 1.(b) и NAS-FPN Рис. 1.(c) работают по-разному, но они требуют больших вычислительных ресурсов.

3.2 Эффективные двунаправленные соединения Кросс-масштабные соединения.Автор изучил производительность и точность трех архитектур FPN, PAN net и NAS_FPN, в которых NAS_FPN достиг более высокой точности, но на стоимость большего количества параметров и дорогих вычислений, поэтому автор предложил метод оптимизации межмасштабного соединения.

  1. Удалите узлы, которые имеют одно единственное входное ребро. Интуиция такова, что поскольку одно входное ребро без слияния признаков, то оно будет иметь меньший вклад в сеть признаков, нацеленную на слияние разных признаков.
  2. Подключите дополнительное ребро от исходного входа к выходному узлу, если они находятся на одном уровне, чтобы объединить больше функций без увеличения стоимости.
  3. Мы можем использовать двунаправленный путь, т. е. сверху вниз и снизу вверх, как один слой функциональной сети, и повторять это несколько раз, чтобы обеспечить более высокоуровневое слияние признаков. Метод составного масштабирования определяет количество слоев для различных ограничений ресурсов Рис.1. (е)

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

  1. Неограниченное слияние :

wᵢ — это обучаемый вес, который может быть скаляром (для каждой функции), вектором (для каждого канала) или многомерным тензором (для каждой функции). пиксель). Авторы обнаружили, что шкала может обеспечить точность, сравнимую с другими подходами, с минимальными вычислительными затратами. Однако, поскольку скалярный вес не ограничен, это потенциально может вызвать нестабильность обучения. Поэтому прибегают к нормализации веса, чтобы ограничить диапазон значений каждого веса.

2. Fusion на основе Softmax:

Интуитивная идея состояла в том, чтобы применить softmax к каждому весу, чтобы нормализовать все веса к вероятности диапазона 0–1. Исследование абляции, проведенное автором, показало, что этот подход является дорогостоящим в вычислительном отношении и увеличивает задержку сети.

3.Быстрое нормализованное слияние:

Мы хотим, чтобы наши веса находились в диапазоне 0–1. где wᵢ ≥ 0, если получено путем применения ReLU после того, как каждое значение wi и epsilon мало, чтобы избежать числовой нестабильности. Вес попадает в диапазон 0–1, так как без операции softmax он намного эффективнее. Исследование абалляции, проведенное автором, показало, что метод быстрого слияния имеет тот же подход к обучению, что и слияние на основе softmax, но работает на GPU на 30% быстрее.

Окончательный Bi-FPN объединяет как двунаправленные межмасштабные соединения, так и быстрое нормализованное слияние. В приведенном ниже примере показаны две объединенные функции на уровне 6.

где P 6 td — промежуточный признак на уровне 6 на пути «сверху вниз», а P 6 out — выходной признак на уровне 6 на пути «снизу вверх». Для дальнейшего повышения эффективности автор использует свертку с разделением по глубине для слияния признаков и добавляет пакетную нормализацию и активацию
после каждой свертки.

4. Эффективный Дет

В этом разделе мы обсудим сетевую архитектуру и новый составной
метод масштабирования для EfficientDet и нового семейства детекторов.

4.1. Архитектура EfficientDet: На рис. 2 показана общая архитектура EfficientDet, которая в значительной степени соответствует парадигме одноэтапных детекторов.
Автор использовал предварительно обученную ImageNet сеть EfficientNet в качестве базовой сети. Автор предложил использовать BiFPN в качестве функциональной сети, которая берет функции уровня 3–7 {P 3 , P 4 , P 5 , P 6 , P 7 } из магистральной сети и многократно применяет двунаправленное слияние функций сверху вниз и снизу вверх. . Эти объединенные функции передаются в сеть классов и блоков для получения прогнозов классов объектов и ограничивающих блоков соответственно.

4.2. Составное масштабирование: авторы опираются на замечательную производительность EfficientNet, то есть на классификацию изображений путем совместного масштабирования всех измерений ширины сети, глубины и входного разрешения. Автор объединил новый метод составного масштабирования для обнаружения объектов, который использует простой составной коэффициент φ для совместного масштабирования всех измерений магистральной сети, сети BiFPN, сети класса/коробки и разрешения.

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

  1. Магистральная сеть. Автор повторно использовал одни и те же коэффициенты масштабирования
    по ширине/глубине от EfficientNet-B0 до B6 [5], так что они могут легко повторно использовать предварительно обученные контрольные точки ImageNet.
  2. Сеть BiFPN: авторы экспоненциально увеличивают ширину BiFPN (#channels), как это сделано в EfficientNets, но линейно увеличивают глубину (#layers), поскольку глубину необходимо округлить до небольших целых чисел.

3. Сеть предсказания блоков/классов: ширина остается такой же, как у BiFPN, но глубина (количество слоев) линейно увеличивается.

4.Разрешение входного изображения: поскольку в BiFPN используются уровни функций 3–7, входное разрешение должно делиться на ²⁷ = 128, поэтому мы линейно увеличиваем разрешение, используя уравнение:

Используя уравнения (1), (2) и (3) и различные значения ϕ, мы можем перейти от Efficient-D0 (ϕ=0) к Efficient-D6 (ϕ=6), модели увеличены с ϕ ≥ 7 не может поместиться в память, если не изменить размер пакета или другие настройки. Поэтому авторы расширили D6 до D7, увеличив только размер ввода, сохранив при этом все остальные размеры прежними, чтобы мы могли использовать одни и те же настройки обучения для всех моделей. Таблица 1 суммировала все эти конфигурации:

5. Эксперименты

Подробности обучения:

Набор данных -COCO2017

Оптимизатор-SGD

Импульс-0,9

ВесDecay-4e-5

Предварительная обработка - метод RetianNet [1]

Augementation - автоматическое увеличение, аналогичное детектору NAS-FPN на основе AmoebaNet.

LearningRate - сначала линейно увеличивался от 0 до 0,08 в начальной тренировке разминки на 5%, а затем уменьшался с использованием косинусного затухания.

Особенности - Пакетная нормализация добавлена ​​после каждой свертки с затуханием нормы пакета 0,997 и эпсилон 1e-4.

Экспоненциальное скользящее среднее с затуханием 0,9998.

Используйте обычно используемые фокусные потери [3] с α = 0,25 и γ = 1,5 и соотношением сторон {1/2,1, 2}. Модели обучаются с размером пакета 128 на 32 чипах TPUv3.

Подробности тестирования:

Тестовый набор: тестовый набор COCO 2017

Производительность: EfficientDet-D1 обеспечивает аналогичную точность, но в 8 раз
меньше параметров и в 25 раз меньше FLOPS по сравнению с Retina Net и MaskRCNN.

EfficientDet-D7 достигает нового современного уровня 51,0 mAP для одной модели в одном масштабе, при этом он в 4 раза меньше и использует в 9,3 раза меньше FLOPS.

Таблица 2 показывает результаты производительности.

Автор сравнил реальную задержку на графическом процессоре Titan-V и
однопоточном процессоре Xeon. Рис. 3 иллюстрирует сравнение размера модели, задержки графического процессора и задержки ЦП в однопоточном режиме. Для объективного сравнения эти цифры включают только результаты, измеренные на одной и той же машине.

6. Исследование абляции

Автор провел исследование абляции различных вариантов дизайна для архитектуры EfficientDet.

6.1. Разделение Backbone и BiFPN

EfficientDet использует как мощную магистраль, так и новый BiFPN. В таблице 3 сравнивается влияние магистрали и BiFPN. Начиная с детектора RetinaNet [1] с магистралью ResNet-50 и нисходящей FPN [1], мы сначала заменяем магистраль на EfficientNet-B3, что повышает точность
примерно на 3 mAP при чуть меньших параметрах и FLOPS.

Эти результаты показывают, что и магистрали EfficientNet, и BiFPN имеют решающее значение для наших окончательных моделей.

6.2. Межмасштабные соединения BiFPN

В таблице 4 показаны точность и сложность модели для функциональных сетей с различными межмасштабными связями. Таблица показывает, что обычная нисходящая FPN по своей природе ограничена односторонним информационным потоком и, следовательно, имеет самую низкую точность. Благодаря дополнительному объединению взвешенных признаков наш BiFPN обеспечивает наилучшую точность с меньшим количеством параметров и FLOPS.

6.3. Softmax против Fast Normalized Fusion:

В таблице 5 сравниваются подходы softmax и fast normalized fusion для трех детекторов с моделями разных размеров. В таблице показаны результаты: наш метод быстрого нормализованного слияния обеспечивает такую ​​же точность, как и слияние на основе softmax, но работает в 1,26–1,31 раза быстрее на графических процессорах.

6.4. Составное масштабирование

На рис. 4 составное масштабирование сравнивается с другими альтернативными методами, которые увеличивают одно измерение разрешения/глубины/ширины. преимущества совместного масштабирования за счет лучшей балансировки различных размеров архитектуры.

7. Заключение

  1. Предлагаемая взвешенная двунаправленная сеть признаков и настраиваемый метод составного масштабирования повышают точность и эффективность модели детектора объектов.
  2. Метод оптимизации помог разработать новое семейство детекторов, названное Efficient Det.
  3. EfficientDet-D7 обеспечивает современную точность с на порядок меньшим количеством параметров и FLOPS, чем лучший из существующих детекторов.
  4. EfficientDet также в 3,2 раза быстрее на графических процессорах и в 8,1 раз быстрее на процессорах.

Ссылки

[1] Ханьчао Ли, Пэнфэй Сюн, Цзе Ань и Линсюэ Ван. Сети внимания-пирамиды. БМВЦ, 2018. 4

[2] Цунг-И Лин, Петр Доллар, Росс Гиршик, Кайминг Хе, Бхарат Харихаран и Серж Белонги. Сети-пирамиды для обнаружения объектов. ЦВПР, 2017. 2, 3, 4, 7.

[3] Цунг-Йи Лин, Петр Доллар, Росс Гиршик, Кайминг Хе, Бхарат Харихаран и Серж Белонги. Фокусная потеря для обнаружения плотных объектов. МККТ, 2017. 1, 2, 4, 6, 7

[4] Shu Liu, Lu Qi, Haifang Qin, Jianping Shi и Jiaya Jia. Сеть агрегации путей для сегментации экземпляров. ЦВПР, 2018. 2, 3, 4, 7

[5] Mingxing Tan и Quoc V. Le. Efficientnet: переосмысление масштабирования модели сверточных нейронных сетей. ICML, 2019. 1, 2, 5

[6] Баррет Зоф, Экин Д. Кубук, Голназ Гиази, Цунг-Йи Лин, Джонатон Шленс и Куок В. Ле. Изучение стратегий увеличения данных для обнаружения объектов. Препринт arXiv arXiv: 1804.02767, 2019. 1, 2, 6, 7



Заключительные слова….

Если обнаружены какие-либо ошибки, пожалуйста, напишите мне по адресу [email protected]