Модель 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.