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

Модель 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), метод способен автоматически подстраиваться под произвольные размеры объектов.

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

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

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

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

Угловой пулинг

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

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

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

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

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

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

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

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

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

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

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

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

Настройка

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

  • потери классификации/грубой локализации: тепловые карты выступают бинарными классификаторами, детектирующими присутствие угла, поэтому настраиваются используя 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.