Можем ли мы заменить якорные блоки в обнаружении объектов на несколько предикторов ограничивающего прямоугольника? - PullRequest
1 голос
/ 26 июня 2019

Многие популярные и современные алгоритмы обнаружения объектов, такие как YOLO и SSD, используют концепции якорных ящиков.Насколько я понимаю, для сетей, таких как YOLO v3, каждая ячейка выходной сетки имеет несколько якорей с разными пропорциями.Для обнаружения сеть прогнозирует смещение для якорного блока с наибольшим перекрытием данного объекта.Почему это используется вместо нескольких предикторов ограничивающего прямоугольника (каждый из которых предсказывает x, y, w, h и c).

Ответы [ 2 ]

2 голосов
/ 26 июня 2019

Нет, якорные ящики не могут быть просто заменены несколькими предикторами ограничивающих ящиков.

В вашем описании было небольшое недоразумение.

Для обнаружения сеть прогнозирует смещение для якорного ящика с наибольшим перекрытием для данного объекта

Выбор якорного ящика с самым высоким перекрытием относительно земли происходит только во времяэтап обучения.Как описано в разделе 2.2 «Стратегия соответствия» в документе SSD.Выбираются не только блоки привязки с наивысшим перекрытием, но также и те, которые имеют IoU больше 0,5.

В течение времени прогнозирования блок прогнозирования будет прогнозировать четыре смещения каждого блока привязки вместе сконфиденциальность для всех категорий.

Теперь встает вопрос, почему прогнозирование смещений вместо атрибутов бокса (x, y, c, h).

Короче говоря, это связано с масштабами,Для этого я согласен с ответом @ viceriel, но вот яркий пример.

Предположим, что следующие два изображения одинакового размера (левый имеют синий фон) передаются предиктору, и мы хотим получить bbox для собаки.Теперь красный bbox на каждом изображении представляет якорные ящики, оба являются идеальным bbox для собаки.Если мы прогнозируем смещение, то блоку прогнозирования нужно только прогнозировать 0 для четырех смещений в обоих случаях.Хотя при использовании нескольких предикторов модель должна давать два разных набора значений для c и h, тогда как x и y одинаковы.По сути, это то, что объясняет @vicerial, так как прогнозирование смещений будет представлять собой менее сложное отображение для изучения предиктором.

enter image description here

Этот пример также объясняет, почему якорные ящики могут помочь улучшить производительность детектора.

1 голос
/ 26 июня 2019

Ключ - это понимание того, как создаются якорные блоки.Например, YOLOv3 берет размеры ограничивающих прямоугольников из обучающего набора, применяет к ним K-средства и находит размеры прямоугольников, которые хорошо описывают все прямоугольники, присутствующие в обучающем наборе.

Если вы прогнозируете w, h вместо смещения якорного бокса, то вашвозможные выходы будут более переменными, в смысле будет много, много возможных высот и ширин для ограничительной рамки.Но если вместо этого вы прогнозируете смещение для блока, который каким-то образом имеет подходящий размер для вашей задачи обнаружения объекта, будет меньше изменчивости, потому что якорные блоки описывают требуемые ограничивающие блоки.Что приводит к повышению производительности сети, поскольку вы переопределяете задачу, и сеть теперь учится менее сложному сопоставлению ввода-вывода.

...