Автор: Герман Петров Редактура: Булат Бадамшин

Пререквизиты

Что можно прочитать, чтобы лучше понять эту статью:

  1. Мы будем часто упоминать архитектуру трансформера в контексте CV. Есть пост с детальным разбором ViT: там раскрываются основные моменты работы трансформеров в целом, и в CV в частности.
  2. Дополнительно к пункту 1 — разбор работы Attention.
  3. Для понимания некоторых деталей в работе CNN детекторов, а именно — анкоров, рекомендуем познакомиться с постом про YOLOv2.

Введение

Задача детекции в Computer Vision — одна из самых распространенных, при этом непростых на практике задач: нужно одновременно и искать объекты, и определять их классы.

За относительно небольшое время применения нейросетевых подходов в детекции появилось много подходов и фишек для эффективного решения этой задачи. Так, детекторы часто подразделяются на one-stage и two-stage виды, которые, в свою очередь, делятся на anchor-based (используют анкоры) и anchor-free (не используют анкоры).

Анкоры — предварительно выбранные вручную боксы.

Также есть огромное количество методов для улучшения качества детекции путем “умного” взвешивания в лоссе, улучшения точности пулинга фичей и так далее.

Авторы DETR решили полностью пересмотреть подход к построению архитектуры детектора. При этом они руководствовались следующими идеями:

  1. Упрощение пайплайна детекции за счет удаления вспомогательных техник, таких как NMS или анкоров;
  2. Использование Encoder-Decoder трансформера поверх CNN фичей для учета глобального контекста и формирования на его основе финального предсказания боксов.

“Классические” CNN подходы в детекции

Этот небольшой топик не претендует на охват всех подходов и деталей из обширной области Object Detection. Но мы постараемся поговорить о том, как в целом работает детекция на CNN.

Если говорить тезисно, большинство CNN детекторов делится на два больших класса: two-stage и one-stage.

Рисунок 1. Сравнение two-stage детектора Faster R-CNN и one-stage детектора RetinaNet (источник)

Рисунок 1. Сравнение two-stage детектора Faster R-CNN и one-stage детектора RetinaNet (источник)