Двухстадийные детекторы
Ранее рассмотренные в учебнике методы детекции объектов являются одностадийными (one-stage detectors), поскольку они на вход принимают изображение, а на выходе сразу выдают рамки с сопоставленными им классами обнаруженных объектов.
Двухстадийные детекторы (two-stage detectors) решают задачу детекции за два этапа:
-
на первом шаге извлекаются регионы-кандидаты (region proposals, regions of interest, ROI);
-
на втором шаге извлечённые регионы-кандидаты относятся к тому или иному классу и уточняется их расположение.
Из-за двух этапов генерации такие методы работают медленнее, чем одностадийные, но при тщательной настройке могут обеспечить более высокую точность.
Исторически первыми нейросетевыми детекторами были именно двухстадийные детекторы. Рассмотрим самую известную модель этого типа - детектор Faster R-CNN.
Faster R-CNN
Детекция объектов на изображении моделью Faster R-CNN [1] состоит из следующих шагов:
-
Генерация регионов-кандидатов (region proposals) с помощью специальной RPN сети (region proposal network).
-
Подавление немаксимумов для выделения минимально достаточного набора рамок-кандидатов, покрывающих все потенциальные объекты.
-
Отбор топ-K самых высокорейтинговых регионов-кандидатов.
-
Классификация и уточнение выделяющей рамки для каждого объекта.
-
Итоговое подавление немаксимумов.
Последние два шага повторяют модель Fast R-CNN, описанную далее.
Схема Faster R-CNN представлена ниже [2]:
Вначале изображение обрабатывается первыми слоями свёрточной сети, предобученной решать задачу классификации, для извлечения признакового описания изображения. Далее к нему применяется RPN-сеть (region proposal network), предсказывающая регионы интереса (regions of interest, ROI), представляющие собой рамки, в которых могут находиться все потенциально присутствующие на изображении объекты.
RPN-сеть работает следующим образом:
-
К полученному признаковому описанию скользящим окном 3x3 применяются свёртки, выдающие 256 признаков.
-
К 256-мерному вектору в каждой позиции применяется полносвязный слой, предсказывающий для каждой из шаблонных рамок (anchor box), центрированных в текущей позиции, следующие выходы:
-
2 классификационных выхода (вероятность присутствия и отсутствия объекта);
-
4 регрессионных выхода (изменение координат соответствующей шаблонной рамки по координатам центра, ширине и высоте).
-
Указанные шаги графически показаны ниже [1]:
Технически шаг 1 - это один слой из 3x3 свёрток с 256 выходами, а шаг 2 - слой из свёрток 1x1. Таким образом, всю RPN-сеть можно описать двумя обычными свёрточными слоями.
К полученным регионам-кандидатам применяется подавление немаксимумов и отбор топ-K самых высокорейтинговых регионов (с максимальными вероятностями присутствия объекта), после чего на извлечённых регионах уже работает сеть Fast R-CNN, производящая окончательную детекцию.
Модель Faster R-CNN была предложена в 2015 году и впоследствии обгонялась и по скорости работы, и по точности более эффективными одностадийными детекторами. Однако точность Faster R-CNN можно повысить, используя более продвинутые сети
-
для извлечения промежуточного представления,
-
генерации регионов-кандидатов,
-
классификатора и локализатора.
Продвинутые версии этой модели продолжают составлять конкуренцию по точности одностадийным детекторам.
Fast R-CNN
Модель Fast R-CNN [3] детектирует объекты по изображению, на котором уже выделены регионы-кандидаты. В оригинальной версии метода для этого используются регионы-кандидаты, выделяемые эвристическим методом selective search [4].
Алгоритм selective search
Алгоритм selective search использует не нейросети, а алгоритм классического компьютерного зрения. Вначале он разбивает изображение на области, в качестве которых выступают суперпиксели (superpixels), то есть небольшие области соседних пикселей, примерно похожих по цвету. На основе первоначальных областей алгоритм начинает их итеративное объединение жадным способом, объединяя в первую очередь соседние и самые похожие области. Объединение происходит по следующим критериям сходства:
-
Текстура: схожесть гистограмм градиентов цветов соседних областей.
-
Размер: относительная площадь двух областей (предпочтение отдается объединению небольших областей).
-
Общность: насколько области геометрически соответствуют друг другу.
Процесс объединения областей продолжается, пока не останется всего одна область. Регионами-кандидатами выступают прямоугольники, обведённые вокруг каждой области, полученной в процессе работы алгоритма.
Модель Faster R-CNN отличается от Fast R-CNN только методом извлечения регионов-кандидатов. В Fast R-CNN для этого используется selective search, а в Faster R-CNN - нейронная RPN-сеть генерации регионов-кандидатов. Первый метод итеративный и не поддаётся параллелизации, а RPN-сеть генерации регионов-кандидатов состоит из двух свёрточных слоёв, которые можно быстро вычислить на видеокарте. Поэтому Faster R-CNN работает значительно быстрее, чем Fast R-CNN!
Как только регионы-кандидаты извлечены, работа двух методов не различается.