Аугментация bounding box в детекции: форматы, ошибки и лучшие практики
Статья разбирает практические проблемы аугментации bounding box в компьютерном зрении. Часто мысли, что модель работает неправильно, на самом деле означают ошибку в обработке координат после трансформации: неверный формат координат, путаница между нормализованными и абсолютными значениями, агрессивные кропы, пустые боксы после фильтрации.
AI-обработка оригинала Habr AI; редакция Hamidun News
На платформе Habr вышла статья, посвящённая частой и малозаметной причине провалов при обучении моделей детекции объектов: не самой архитектуре сети, а тому, что происходит с bounding box (bbox) — прямоугольными рамками разметки — после применения аугментаций.
Где чаще всего ломается разметка
Автор материала перечисляет типичные ошибки, которые не приводят к падению кода с исключением, но незаметно портят обучающую выборку: неверно указанный формат координат (coord_format), путаница между нормализованными и абсолютными координатами, слишком агрессивные операции кропа, а также появление пустых боксов после фильтрации объектов, вышедших за пределы кадра. Такие ошибки не вызывают явного сбоя пайплайна — модель просто тренируется на искажённой разметке, и итоговое падение качества списывают на архитектуру или гиперпараметры, хотя причина кроется в препроцессинге.
Проблема усугубляется тем, что разные датасеты и разные библиотеки исторически используют разные соглашения о том, как именно хранить координаты bbox: где-то это абсолютные пиксельные координаты левого верхнего и правого нижнего углов, где-то — нормализованные значения от нуля до единицы относительно размеров изображения, а где-то — координаты центра бокса вместе с шириной и высотой. Достаточно один раз перепутать эти представления при передаче разметки между этапами пайплайна, чтобы обучение продолжало идти без ошибок, но модель училась находить объекты не там, где они реально находятся на изображении.
- Разбираемая библиотека: Albumentations
- Поддерживаемые форматы bbox: COCO, YOLO, pascal_voc
- Ключевые параметры: A.BboxParams, min_area, min_visibility
- Типичная проблема: RandomCrop часто плохо подходит для задач детекции
- Источник: Habr
Как правильно настроить Albumentations?
Статья разбирает практическую сторону вопроса на примере библиотеки Albumentations — одного из самых распространённых инструментов аугментации изображений в компьютерном зрении. Рассматриваются поддерживаемые библиотекой форматы bbox, корректная настройка параметра A.BboxParams, а также назначение параметров min_area и min_visibility, которые определяют, при каком минимальном размере или видимости объекта после трансформации бокс ещё считается валидным, а не отбрасывается или искажается.
Albumentations широко используется именно потому, что умеет синхронно трансформировать изображение и связанную с ним разметку — при повороте, отражении или изменении масштаба картинки библиотека автоматически пересчитывает координаты всех bbox на ней, избавляя разработчика от необходимости писать эту логику вручную. Но эта же автоматизация становится источником проблем, если параметры A.BboxParams заданы неверно: библиотека не выдаст ошибку, она просто пересчитает координаты в соответствии с указанным (пусть и неверным) форматом, и разработчик получит формально корректно работающий, но фактически испорченный пайплайн аугментации.
Почему RandomCrop — не всегда безопасный выбор
Отдельное внимание в материале уделяется тому, почему обычный RandomCrop — популярная аугментация для классификации изображений — часто оказывается плохим решением именно для детекции объектов. При случайном обрезании кадра объекты на границах могут быть обрезаны частично или полностью, и без аккуратной последующей фильтрации через min_area и min_visibility в разметке остаются либо искажённые, либо вовсе пустые боксы, которые модель воспринимает как валидные данные для обучения.
Материал адресован тем, кто работает с популярными форматами разметки COCO, YOLO и pascal_voc и хочет понять, почему аугментации «не работают» — то есть почему добавление стандартных трансформаций из коробки не улучшает, а иногда даже ухудшает метрики модели. Практическая ценность такого разбора в том, что он смещает фокус отладки с гиперпараметров и архитектур на куда более прозаичный, но частый источник проблем — корректность геометрических преобразований разметки, которую специалисты по компьютерному зрению нередко недооценивают на старте проекта.
Для команд, работающих с промышленными датасетами разметки, подобный разбор особенно ценен на этапе перехода между форматами: например, когда данные размечены в формате COCO, а обучение ведётся на архитектуре, ожидающей формат YOLO, или наоборот. Ручная конвертация между такими форматами — частый источник трудноуловимых ошибок, и материал по сути предлагает чек-лист вещей, которые стоит проверить перед тем, как списывать низкое качество модели на саму архитектуру или недостаток данных.
Хотите не читать про ИИ, а внедрить его?
«AI News» — это полезные новости из мира ИИ. Системно научиться работать с нейросетями и применять их в работе — в Hamidun Academy.
Главное из мира ИИ — раз в неделю
7 ключевых событий недели, отобранных вручную. Без шума, репостов и пресс-релизов.
Готово! Проверьте почту — мы отправили подтверждение.