Несмотря на успех сетей функциональных пирамид (FPN) с преимуществами «разделяй и властвуй», решение проблемы оптимизации при обнаружении объектов, а не многомасштабное слияние признаков.
С точки зрения оптимизации существует альтернативный подход к проблема, вместо того, чтобы использовать сложную пирамиду признаков, используя для обнаружения только один признак на одном уровне. You Only Look One-Level Feature (YOLOF) — простое и эффективное решение.

Вспомогательный документ: https://arxiv.org/pdf/1612.03144.pdf

Но прежде чем мы углубимся во все подробности о YOLOF, давайте узнаем больше о FPN и почему мы используем YOLOF вместо.

1- многомасштабное слияние признаков: объединение нескольких входных данных с низким и высоким разрешением для получения лучших представлений.

2- разделяй и властвуй: обнаружение объектов на разных уровнях относительно масштабов объектов
FPN рассматривается как кодировщик Multiple-in-Multiple-Out (MiMo), который кодирует многомасштабные функции из магистрали и обеспечивает представление функций для декодер (детектирующие головки)
По сравнению с кодировщиками с одним входом и несколькими выходами (SiMo), несколькими входами и одним выходом (MiSo) и одним входом и одним выходом (SiSo), кодировщик SiMo , который имеет только одну входную функцию C5 и не выполняет слияние функций, может достичь сравнимой производительности с кодировщиком MiMo (FPN). Разрыв в производительности составляет менее 1 mAP. Напротив, производительность резко падает (≥ 12 mAP) в энкодерах MiSo и SiSo.

Эти явления предполагают два факта:
1- функция C5 несет в себе достаточный контекст для обнаружения объектов в различных масштабах, что позволяет энкодеру SiMo достигать сопоставимых результатов.

2. Преимущество слияния многомасштабных функций гораздо менее важно, чем преимущество «разделяй и властвуй», поэтому слияние многомасштабных функций может быть не самым значительным преимуществом FPN.

Решение по принципу «разделяй и властвуй», предоставляемое FPN, является хорошим способом, но оно увеличивает нагрузку на память, замедляет работу детекторов и усложняет структуру детекторов в одноэтапных детекторах.
Учитывая, что функция C5 содержит достаточный контекст для обнаружения, YOLOF — это простой способ решения проблемы оптимизации.

Архитектура YOLOF

Мы представляем YOLOF, простой и эффективный базовый уровень без использования FPN. В YOLOF мы предлагаем два ключевых компонента: Dilated Encoder и Uniform Matching, которые устраняют разрыв в производительности между кодировщиком SiSo и кодировщиком MiMo.

Расширенный кодировщик: кодировщик SiSo, состоящий из двух основных компонентов: проектора и остаточных блоков. Проекционный слой сначала применяет один сверточный слой 1 × 1 для уменьшения размерности канала, затем добавляет один сверточный слой 3 × 3 для уточнения семантических контекстов, что аналогично FPN. После этого наложение четырех последовательных расширенных остаточных блоков с разной степенью расширения в сверточных слоях 3 × 3 для создания выходных признаков с несколькими рецептивными полями, охватывающими все масштабы объектов.

Унифицированное сопоставление: используется для решения этой проблемы дисбаланса в положительных якорях. Стратегия универсального сопоставления: принятие k ближайших якорей в качестве положительных якорей для каждого поля достоверности. Баланс в положительных выборках гарантирует, что все блоки истинной истины участвуют в обучении и вносят равный вклад. Кроме того, следуя сопоставлению Max-IoU, установите пороги IoU в Uniform Matching, чтобы игнорировать большие отрицательные привязки IoU (>0,7) и положительные привязки малых IoU (‹0,15).
YOLOF можно обобщить в три части: магистраль, кодер и декодер:

Магистраль. Во всех моделях в качестве магистрали используются серии ResNet и ResNeXt. Все модели предварительно обучены в ImageNet. Выходом магистрали является карта характеристик C5, которая имеет 2048 каналов и частоту дискретизации 32.

Кодировщик: следуя FPN, сначала добавьте два проекционных слоя (один 1 × 1 и один сверточный 3 × 3) после магистрали, в результате чего получается карта объектов с 512 каналами.
Затем включите выходную функцию кодировщика, чтобы охватить все объекты в различных масштабах, добавив остаточные блоки, состоящие из трех последовательных сверток: первая свертка 1 × 1 применяет сокращение канала с коэффициентом уменьшения 4, затем 3 × 3 свертки с расширением используются для увеличения рецептивного поля, наконец, свертка 1 × 1 для восстановления количества каналов.

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

Производительность YOLOF:

YOLOF оценивается по эталонному тесту MS COCO и проводится сравнение с RetinaNet, DETR и YOLOv4.

Сравнение с RetinaNet:

YOLOF достигает результатов, сравнимых с RetinaNet+, с сокращением флопов на 57% и ускорением в 2,5 раза. Из-за большого шага (32) функции C5 YOLOF имеет более низкую производительность (-3,1), чем RetinaNet+ на небольших объектах. Однако YOLOF обеспечивает лучшую производительность на больших объектах (+3,3) благодаря расширенным остаточным блокам в кодировщике. Сравнение RetinaNet+ и YOLOF с ResNet-101 также показывает аналогичные данные. Хотя YOLOF уступает RetinaNet+ при работе с небольшими объектами при использовании одной и той же магистрали, он может сравниться с производительностью небольших объектов с более сильной опорной сетью ResNeXt, работая с той же скоростью. Наконец, с помощью многомасштабного тестирования мы получаем окончательный результат 47,1 мАд и конкурентную производительность 31,8 мАд на небольших объектах.

Сравнение с DETR:

YOLOF соответствует производительности DETR, а YOLOF получает больше преимуществ от более глубоких сетей, чем DETR.
Интересно, что мы обнаружили, что YOLOF превосходит DETR на малых объектах (+1,9 и +2,4), но отстает от DETR на больших объектах (-3,5 и -2,9).
Что еще более важно, по сравнению с DETR, YOLOF сходятся намного быстрее (примерно в 7 раз), что делает его более подходящим, чем DETR, для использования в качестве простой базовой линии для одноуровневых детекторов.

Сравнение с YOLOv4:

Как показано в таблице, YOLOF-DC5 может работать на 13 % быстрее, чем YOLOv4, с улучшением общей производительности на 0,8 мАд. YOLOFDC5 достигает менее конкурентоспособных результатов на малых объектах, чем YOLOv4 (24,0 мАд против 26,7 мАд), но значительно превосходит его на больших объектах (+7,1 мАд). Приведенные выше результаты показывают, что одноуровневые детекторы обладают большим потенциалом для одновременного достижения современной скорости и точности.

Анализ ошибок (пример: YOLOF и DETR):

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

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

Вывод:
Успех FPN связан с его решением проблемы оптимизации при обнаружении плотных объектов по принципу «разделяй и властвуй», но FPN усложняет структуру сети, увеличивает нагрузку на память и замедляет работу. детекторы. YOLOF — это простой, но очень эффективный метод без использования FPN для решения проблемы оптимизации по-другому, обозначаемый как YOLOF. Мы доказываем его эффективность, проводя честные сравнения с RetinaNet, DETR и YOLOv4.