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