itmo_conspects

Лекция 5. Задача детектирования объектов

Задача детектирования объекта - обнаружение местоположения (ограничивающего прямоугольника, bounding box) и класса объекта на изображении

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

Допустим, модель нашла прямоугольник, в котором находится объект. Чтобы понять, насколько прямоугольник $D$ хорош, по сравнению с тем прямоугольником $T$, который мы задали в качестве истинного, используют метрики:

Для оценки качества на уровне классификации используют:

Всего модели по принципу работы можно разделить:

Одностадийная детекция

Самая популярная модуль одностадийной детекции - YOLO (от You Only Look Once). Работает она так:

Первая версия YOLO появилась в 2016 и получила развитие в виде семи последующих версий

Другая более ранняя модель SSD (Single-Shot Multibox Detector) предсказывала объекты с карт признаков разных масштабов

В SSD крупные объекты предсказываются из поздних карт признаков. Мелкие же объекты предсказываются из ранних карт, но в них нет информации о контексте, что является недостатком модели


В задаче детекции возникает проблема, что при детектировании количество фонового класса (отрицательных примеров) сильно превосходит количество объектов (положительных примеров). Стандартная функция потерь уделяет слишком много внимания лёгким примерам, поэтому используют функцию фокальных потерь (Focal Loss):

\[\mathrm{FL}(p_t) = -(1 - p_t)^\gamma \cdot \log(p_t),\]

где $p_t$ - вероятность правильного класса, $\gamma > 0$ - параметр фокусировки

Модулирующий множитель $(1 - p_t)^\gamma$ уменьшает вклад хорошо классифицированных (лёгких) объектов, заставляя модель фокусироваться на сложных примерах

Двухстадийная детекция

Двухстадийный подход разделяет задачу на два этапа:

  1. Генерация кандидатов - нахождение областей, где вероятно есть объект. Такую роль может играть модель Region Proposal Network (RPN), основанная на классических методах компьютерного зрения
  2. Классификация и уточнение боксов - анализ каждого кандидата. Такие действия выполняет модель RoI Pooling (Region of Interest Polling), которая приводит области разного размера к единому размеру для последующей классификации

Для каждого кандидата предсказываются: координаты центра $(b_x, b_y)$, ширина и высота $(b_w, b_h)$, метка класса и уверенность

Самые популярных модели двухстадийной детекции - семейство R-CNN:

Детектирование на основе точек

Есть две популярных модели, работающих на основе точек:


На практике детектируются множество объектов в реальной среде:

Распознавание текст

Задача распознавания текста (или оптическое распознавание символов) - задача нахождения расположения текста на изображении и предсказывания содержимое текста

Проблема реализации состоит в том, что текст на изображении может быть расположен в тени, наклонен или деформирован (например, на помятой бумаге), зашумлен или частично перекрыт

Чтобы убрать это, применяют:

Существуют:

Для распознавания текста существуют популярные библиотеки: