Модель CornerNet
Архитектура
Модель CornerNet [1] использует принципиально другой подход к детекции объектов, чем методы, основанные на шаблонных рамках (anchor boxes), такие как SSD и RetinaNet, что существенно повышает качество детекций на датасете MS COCO [2].
Вначале изображение пропускается через два последовательных hourglass-блока [3], в каждом из которых пространственное разрешение изображения сначала снижается (свёртками с шагом 2), а затем повышается (свёртками и интерполяцией ближайшим соседом), при этом используется пробрасывание связей (skip-connections), как в остаточных блоках ResNet, но с промежуточной трансформацией (см. [3]). Проброс связей, как и в ResNet, используется, чтобы сохранить детальную информацию о границах объектов.
Идейно структура одного hourglass-блока показана ниже [3]:
Дальнейшая обработка ведётся с выходов второго hourglass-блока, а не на разных пространственных разрешениях, как в SSD и RetinaNet. По полученному представлению прогнозируются тепловые карты (heatmaps) левых верхних углов и правых нижних углов рамок, выделяющих целевые объекты. В каждой позиции тепловой карты прогнозируется уверенность (score) в том, что именно в этой позиции находится левый верхний / правый нижний угол рамки, выделяющей какой-либо объект на изображении.
Поскольку извлекаются одновременно все левые верхние и правые нижние углы, их нужно как-то сопоставить друг другу. Для этого сеть прогнозирует для каждого положения теп ловой карты свой эмбеддинг (вектор фиксированного размера), получая карту эмбеддингов. Левый верхний угол сопоставляется правому нижнему с наиболее похожим эмбеддингом.
Эта методология проиллюстрирована ниже [1]:
Такой подход обладает следующими преимуществами:
-
Пропадает необходимость спецификации шаблонных рамок (anchor boxes), метод способен автоматически подстраиваться под произвольные размеры объектов.
-
Пропадает ограничение на максимально возможное число детектируемых объектов. Для спецификации всех возможных рамок на изображении при прогнозе рамок потребовалось бы выходов, в то время как при прогнозе левых верхних и правых нижних углов достаточно лишь выходов!
Полная архитектура CornerNet показана на рисунке [1]:
Для извлечения объектов нескольких классов сеть настраивается выдавать столько тепловых карт (heatmaps), сколько извлекается классов - по своему набору для каждого класса (кроме фонового).
Помимо тепловых карт и эмбеддингов углов сеть также предсказывает смещения (offsets) для углов в соответствующих позициях, чтобы внести окончательные коррективы в итоговые рамки и сделать их точнее. Этот шаг необходим, поскольку hourglass-блоки выдают карту признаков более низкого пространственного разрешения, чем исходное и зображение.
Угловой пулинг
Часто целевой объект не содержится в левом верхнем и правом нижнем углу выделяющей его рамки, как показано ниже [1]:
Чтобы помочь свёрткам определить корректную локацию углов рамки, к выходу hourglass-блока применяется специальный вид углового пулинга (corner pooling).
Для излечения верхнего левого угла в каждой позиции:
-
ищется максимальный элемент вниз от позиции;
-
ищется максимальный элемент вправо от позиции;
-
результаты двух найденных максимумов складываются.
Это проиллюстрировано на схеме ниже [1]:
Для излечения правого нижнего угла угловой пулинг действует наоборот:
-
ищется максимальный элемент вверх от позиции
-
ищется максимальный элемент влево от позиции
-
результаты двух найденных максимумов также складываются
Угловой пулинг позволяет существенно повысить точность локализации, как показано ниже [1]:
Настройка
Функция потерь состоит из следующих компонент:
-
Потери классификации/грубой локализации: тепловые карты выступают бинарными классификаторами, детектирующими присутствие угла, поэтому настраиваются, используя сфокусированные потери (focal loss), предложенные в модели RetinaNet. При этом учёт отсутствия целевого угла учитывается слабее (за счёт понижающ его коэффициента), если реальный угол присутствует неподалёку.
-
Потери соответствия: эмбеддинги углов одной целевой рамки поощряются быть более похожими, а разных рамок - непохожими.
-
Потери итоговой локализации: штрафуют несоответствие извлечённых рамок и истинных рамок, используя функцию Хубера.
Применение
При практическом использовании алгоритма детекции извлекались с исходного изображения и зеркально отражённого, после чего к результатам применялось мягкое подавление немаксимумов (soft NMS).
Модель CornerNet обогнала алгоритмы SSD и RetinaNet, показав на датасете MS COCO [2] качество AP=42.2.