Автор: Антон Броиловский

Редактура: Дмитрий Раков

Введение

Итак, Джозаф Редмон сообщает о прекращении работы над YOLO (по идеологическим соображениям), но не выступает против ее развития другими. После этой новости целых два года мир не увидит новой версии архитектуры. А в апреле 2020, в разгар ковида, Алексей Бочковский и группа исследователей из Тайваня выпустят новую версию YOLO.

Возникает закономерный вопрос: почему именно эти авторы? На самом деле, имя Алексея здесь появляется не случайно. Он много лет активно участвовал в развитии **darknet-**фреймворка (на нем написаны предыдущие YOLO), а еще создал программу для разметки с целью наиболее легкого обучения YOLOv2/v3.

Джозаф прокомментировал выход статьи:

Рисунок 1. Вольный перевод твита: “Не важно, что я думаю! Каноничная версия darknet и yolo принадлежит Алексею Бочковскому, он вложил много сил в их развитие, и все этим пользуются, теперь это не мое, хаха”

Рисунок 1. Вольный перевод твита: “Не важно, что я думаю! Каноничная версия darknet и yolo принадлежит Алексею Бочковскому, он вложил много сил в их развитие, и все этим пользуются, теперь это не мое, хаха”

Поэтому несмотря на смену авторов, YOLOv4 — каноничное продолжение семейства. Более того, новая архитектура полностью соответствует философии YOLO — это небольшая и быстрая модель на darknet’e, которая за один проход решает задачу детекции.

YOLOv4 (YOLOv4: Optimal Speed and Accuracy of Object Detection)

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

Изменения коснулись и архитектуры, и самого подхода к обучению и постпроцессингу. Следовательно, авторы вводят два понятия:

  1. Bag-of-freebies — набор методов для увеличения точности модели за счет усложнения обучения (и без влияния на скорость инференса). К таким методам относятся, например, аугментации, изменение лосса, шедулерры.
  2. Bag-of-specials — набор методов для увеличения точности модели за счет небольшого уменьшения скорости инференса. Это изменения в архитектуре и методы постпроцессинга.

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

Рисунок 2. Список bag-of-freebies и bag-of-specials для предобучения бекбоуна и обучения основного детектора (источник: https://arxiv.org/abs/2304.00501 table 3)

Рисунок 2. Список bag-of-freebies и bag-of-specials для предобучения бекбоуна и обучения основного детектора (источник: https://arxiv.org/abs/2304.00501 table 3)

Первый столбец таблицы показывает трюки для создания и обучении бекбоуна, второй — для YOLOv4.

Backbone’s bag-of-specials

Давайте начнем распутывать клубок под названием YOLOv4 с устройства бекбоуна.

В луших традициях YOLO, в качестве бекбоуна была выбрана обновленная версия Darknet53 — CSPDarknet53. Авторы экспериментировали также с CSPResNeXt50 и EfficientNet-B3, но Darknet их победил.