Перейти к основному содержимому

Детекция объектов

В задаче детекции объектов (object detection) на входном изображении необходимо найти и выделить прямоугольной рамкой все объекты заданных классов, как показано ниже (источник):

Задача детекции активно применяется в различных областях:

  • Подсчёт числа участников мероприятия, оценка пассажиропотока в общественном транспорте.

  • Детектирование людей в системах безопасности, детектирование запрещённых предметов.

  • Детектирование товаров на полках в магазине и на складах в целях оптимизации логистики.

  • Детектирование машин, пешеходов, светофоров и дорожных знаков в автоуправляемых машинах (self-driving cars).

Простой подход к детекции

Для детектирования определённого объекта можно задать его изображение-образец и сканировать этим образцом входящие изображения, вычисляя корреляцию образца с каждым фрагментом изображения. Высокая корреляция будет свидетельствовать о наличии интересующего объекта, который помечается рамкой, как показано на рисунке:

Объект может быть разного размера, поэтому нужно применить этот же подход к входному изображению в разных разрешениях.

Указанный подход подходит для случаев, когда распознаваемый объект имеет примерно одинаковый вид - например, когда выделяем определённые буквы и цифры при распознавании текста, особенно печатного. В общем случае он имеет ограниченную применимость:

  • входная фотография могла быть сделана в разное время суток, по-другому освещённый объект может не выделиться;

  • объект может располагаться под углом, что тоже снизит корреляцию с образцом;

  • если выделяем более сложный объект, например машину, то она может быть разных цветов, моделей и габаритов.

Поэтому для детекции общего случая используют нейросети способные выделять сложные объекты в более общем контексте.