Автор: Антон Броиловский
Редактура: Дмитрий Раков
Итак, Джозаф Редмон сообщает о прекращении работы над YOLO (по идеологическим соображениям), но не выступает против ее развития другими. После этой новости целых два года мир не увидит новой версии архитектуры. А в апреле 2020, в разгар ковида, Алексей Бочковский и группа исследователей из Тайваня выпустят новую версию YOLO.
Возникает закономерный вопрос: почему именно эти авторы? На самом деле, имя Алексея здесь появляется не случайно. Он много лет активно участвовал в развитии **darknet-**фреймворка (на нем написаны предыдущие YOLO), а еще создал программу для разметки с целью наиболее легкого обучения YOLOv2/v3.
Джозаф прокомментировал выход статьи:
Рисунок 1. Вольный перевод твита: “Не важно, что я думаю! Каноничная версия darknet и yolo принадлежит Алексею Бочковскому, он вложил много сил в их развитие, и все этим пользуются, теперь это не мое, хаха”
Поэтому несмотря на смену авторов, YOLOv4 — каноничное продолжение семейства. Более того, новая архитектура полностью соответствует философии YOLO — это небольшая и быстрая модель на darknet’e, которая за один проход решает задачу детекции.
Уже с первых строк чувствуется серьезный подход авторов и их желание использовать самые топовые решения в индустрии на момент 2020 года. Сегодня нас ждет много аббревиатур, но мы с ними разберемся вместе 🙂
Изменения коснулись и архитектуры, и самого подхода к обучению и постпроцессингу. Следовательно, авторы вводят два понятия:
В статье авторы экспериментируют с широким набором аугментаций и блоков. Мы сосредоточимся только на тех методах, которые повысили итоговое качество модели:
Рисунок 2. Список bag-of-freebies и bag-of-specials для предобучения бекбоуна и обучения основного детектора (источник: https://arxiv.org/abs/2304.00501 table 3)
Первый столбец таблицы показывает трюки для создания и обучении бекбоуна, второй — для YOLOv4.
Давайте начнем распутывать клубок под названием YOLOv4 с устройства бекбоуна.
В луших традициях YOLO, в качестве бекбоуна была выбрана обновленная версия Darknet53 — CSPDarknet53. Авторы экспериментировали также с CSPResNeXt50 и EfficientNet-B3, но Darknet их победил.