Перейти к основному содержимому

Модель CornerNet

Модель CornerNet [1] использует принципиально другой подход к детекции, чем методы основанные на шаблонных рамках, такие как SSD и RetinaNet, что существенно повышает качество детекций на датасете MS COCO [2].

Вначале изображение пропускается через 2 hourglass блока [3], в каждом из которых разрешение изображения сначала снижается (свёртками с шагом 2), а затем повышается (свёртками и интерполяцией ближайшим соседом), при этом используется проброс связей (skip-connections) с более ранних слоёв на более поздние, чтобы сохранить детальную информацию о границах объектов. Идейно структура одного hourglass блока показан ниже [3]:

Дальнейшая обработка ведётся с выходом второго hourglass блока, а не на разных пространственных разрешениях, как в SSD и RetinaNet. По полученному представлению прогнозируются тепловые карты (heatmaps) левых верхних углов и правых нижних углов рамок, выделяющих целевые объекты. В каждой позиции тепловой карты прогнозироется уверенность (score) в том, что именно в этой позиции находится левый верхний / правый нижний угол рамки. Поскольку извлекаются одновременно все левые верхние и правые нижние углы, их нужно как-то сопоставить друг другу. Для этого сеть прогнозирует для каждого положения тепловой карты свой эмбеддинг (вектор фиксированного размера), получая карту эмбеддингов. Левый верхний угол сопоставляется правому нижнему с максимально похожим эмбеддингом.

Эта методология проиллюстрирована ниже [1]:

Такой подход обладает следующими преимуществами:

  • Пропадает необходимость спецификации шаблонных рамок, метод способен автоматически подстраиваться под произвольные размеры объектов.

  • Пропадает ограничение на максимально возможное число детектируемых объектов. Для спецификации всех возможных рамок на изображении H×WH\times W при прогнозе рамок потребовалось бы O(H2W2)O(H^2 W^2) выходов, в то время как при прогнозе левых верхних и правых нижних углов достаточно лишь O(2HW)O(2HW) выходов.

Полная архитектура CornerNet показана на рисунке [1]:

Помимо тепловых карт и эмбеддингов углов сеть также предсказывает смещения (offsets) для углов в соответствующих позициях, чтобы внести заключительные коррективы в итоговые рамки и выделить их точнее. Этот шаг необходим, поскольку hourglass блоки выдают карту признаков более низкого пространственного разрешения, чем исходное изображение, поэтому необходимы уточнения при возврате к исходному разрешению.

Часто целевой объект не содержится в левом верхнем и правом нижнем углу выделяющей его рамки, как показано ниже [1]:

Чтобы помочь свёрткам определить корректную локацию углов рамки, к выходу hourglass-блока применяется специальный вид углового пулинга (corner pooling).

Для излечения верхнего левого угла в каждой позиции:

  1. ищется максимальный элемент вниз от позиции

  2. ищется максимальный элемент вправо от позиции

  3. результаты двух найденных максимумов складываются

Это проиллюстрировано на схеме ниже [1]:

Для излечения правого нижнего угла угловой пулинг действует наоборот:

  1. ищется максимальный элемент вверх от позиции

  2. ищется максимальный элемент влево от позиции

  3. результаты двух найденных максимумов также складываются

Угловой пулинг позволяет существенно повысить точность локализации, как показано ниже [1]:

Если необходимо извлечь объекты несколько классов, то сеть настраивается выдавать столько тепловых карт (heatmaps), сколько извлекается классов - по своему набору для каждого класса (кроме фонового).

Функция потерь состоит из следующих компонент:

  • потери локализации: тепловые карты выступают бинарными классификаторами, детектирующими присутствие угла, поэтому настраиваются используя focal loss, предложенной в модели RetinaNet. При этом, учёт отсутствия целевого угла учитывается слабее (за счёт понижающего коэффициента), если реальный угол присутствует неподалёку.

  • потери соответствия: эмбеддинги углов одной целевой рамки поощряются быть более похожими, а разных рамок - непохожими.

  • потери локализации: штрафуют несоответствие извлечённых рамок и истинных рамок по функции Хубера.

При практическом использовании алгоритма детекции извлекались с исходного изображения и зеркально отражённого, после чего к результатам применялось мягкое подавление не-максимумов (soft NMS).

Модель CornerNet обогнала алгоритмы SSD и RetinaNet, показав на датасете MS COCO [2] качество AP=42.2.

Литература

  1. Law H., Deng J. Cornernet: Detecting objects as paired keypoints //Proceedings of the European conference on computer vision (ECCV). – 2018. – С. 734-750.

  2. Lin T. Y. et al. Microsoft coco: Common objects in context //Computer Vision–ECCV 2014: 13th European Conference, Zurich, Switzerland, September 6-12, 2014, Proceedings, Part V 13. – Springer International Publishing, 2014. – С. 740-755.

  3. Wang D. Stacked dense-hourglass networks for human pose estimation : дис. – University of Illinois at Urbana-Champaign, 2018.