Что такое детекция объектов (object detection)?
Детекция объектов — задача компьютерного зрения, при которой модель находит на изображении каждый отдельный объект и указывает его положение прямоугольной рамкой (bounding box) с меткой класса. В отличие от классификации, которая описывает изображение целиком одной меткой, детекция одновременно работает с несколькими объектами разных классов на одном кадре и явно указывает, где именно каждый из них находится.
На выходе модель детекции выдаёт список найденных объектов: для каждого — координаты рамки, класс и число-уверенность (confidence score), показывающее, насколько модель доверяет своему предсказанию. Объекты с низкой уверенностью обычно отсекают порогом, чтобы не засорять результат случайными ложными срабатываниями.
Детекцию объектов используют там, где важно не просто узнать содержимое кадра, а понять расположение и количество объектов: подсчёт товаров на полке магазина, поиск дефектов на промышленной линии, обнаружение пешеходов и препятствий для беспилотного транспорта, распознавание людей и предметов в кадрах видеонаблюдения.
Чем детекция отличается от классификации и сегментации изображений?
Классификация отвечает на вопрос «что в целом изображено на кадре» без указания расположения объектов. Детекция добавляет локализацию — рамку вокруг каждого найденного объекта. Сегментация идёт дальше и очерчивает точный контур объекта попиксельно вместо прямоугольника. Все три задачи применяются к одним и тем же изображениям, но требуют разного вида разметки и разных архитектур моделей.
Подробное сравнение трёх задач с таблицей и примерами разметки для каждой собрано в отдельном материале о классификации изображений — там же разбор, когда достаточно классификации, а когда нужна более сложная и дорогая сегментация.
Как работает детекция объектов: anchor-based и anchor-free подходы?
Anchor-based модели заранее задают набор рамок-«якорей» разных размеров и пропорций в каждой точке сетки изображения, а затем учатся подгонять эти рамки под реальные объекты и отбрасывать лишние. Anchor-free модели предсказывают положение объекта напрямую — через его центр или расстояние до границ, без заранее заданных шаблонов рамок, что упрощает архитектуру и сокращает число настраиваемых параметров.
Второе важное разделение архитектур детекции — по числу стадий обработки кадра. Двухстадийные модели сначала предлагают регионы-кандидаты, где вероятно есть объект, а затем отдельно классифицируют содержимое каждого региона — это даёт высокую точность ценой скорости. Одностадийные модели предсказывают рамки и классы за один проход по сети, жертвуя частью точности ради скорости, достаточной для обработки видео в реальном времени.
Какие архитектуры применяют для детекции объектов?
Среди архитектур детекции выделяют три семейства: двухстадийные модели вроде Faster R-CNN, которые сначала предлагают регионы-кандидаты, а затем точно классифицируют каждый; одностадийные модели семейства YOLO и SSD, которые предсказывают рамки за один проход и работают в реальном времени; и трансформерные модели вроде DETR, которые убирают часть вспомогательных этапов классического пайплайна детекции.
| Архитектура | Тип | Скорость | Точность | Где чаще применяют |
|---|---|---|---|---|
| YOLO | Одностадийная | Очень высокая, реальное время | Хорошая | Видеонаблюдение, робототехника, мобильные устройства |
| Faster R-CNN | Двухстадийная | Средняя | Высокая | Медицина, промышленный контроль, сложные сцены |
| DETR | Трансформер | Средняя | Высокая, растёт с объёмом данных | Исследовательские задачи, сложные многообъектные сцены |
| SSD | Одностадийная | Высокая | Средняя | Встраиваемые системы, edge-устройства |
Выбор архитектуры почти всегда компромисс между скоростью инференса, доступными вычислительными ресурсами и требуемой точностью: для потокового видео с ограниченным «железом» чаще берут YOLO, а для офлайн-анализа единичных снимков, где важна каждая ошибка, — двухстадийные модели или трансформеры.
Как оценивают качество детекции объектов: что такое mAP и IoU?
IoU (Intersection over Union) показывает, насколько предсказанная рамка перекрывается с истинной: отношение площади пересечения к площади объединения двух рамок. mAP (mean Average Precision) — усреднённая по всем классам точность обнаружения при разных порогах IoU и уверенности модели, главная сводная метрика, по которой сравнивают модели детекции между собой.
Порог IoU определяет, считается ли предсказанная рамка «попаданием»: например, при пороге 0,5 рамка засчитывается верной, если перекрывает истинную минимум наполовину. Метрика mAP@0,5:0,95, принятая в датасете COCO, усредняет точность сразу по нескольким порогам IoU от 0,5 до 0,95 — это делает оценку строже и честнее одного фиксированного порога. Полный глоссарий метрик качества с формулами разобран в отдельной статье.
Какие данные нужны для обучения модели детекции объектов?
Модели детекции обучаются на изображениях с bounding box разметкой: каждый объект на кадре выделяют рамкой и подписывают классом, а объектов разных классов на одном изображении может быть несколько десятков. Чем разнообразнее ракурсы, освещение, фон, масштаб и заслонённость объектов в обучающей выборке, тем устойчивее модель работает на новых кадрах, которых не было в обучении.
Для типовых задач существуют открытые датасеты вроде COCO или Pascal VOC, но под специфичные классы объектов — свою упаковку товара, конкретный тип дефекта на производстве, редкий вид техники — обычно требуется собственная размеченная выборка. Разметку изображений bounding box, полигонами или сегментацией под задачу детекции выполняет команда DataMarkup с бесплатным пилотом на тестовой партии.