Почему фильтры и слои объектов имеют одинаковое количество каналов? - PullRequest
0 голосов
/ 31 мая 2018

Некоторые структуры обнаружения объектов, такие как SSD (Single Shot MultiBox Detector) и Faster-RCNN, имеют «сверточные фильтры» для классификации и регрессии.Следующее из SSD:

Для векторного слоя размером m × n с p каналами основным элементом для прогнозирования параметров потенциального обнаружения является небольшое ядро ​​3 × 3 × p, которое производит либооценка для категории или смещение формы относительно координат блока по умолчанию.В каждом из m × n мест, где применяется ядро, оно выдает выходное значение.

Мой вопрос: должно ли число «маленьких ядер» быть p * 1008?*?Как насчет установки произвольного числа k (что не совпадает с функциональными каналами)?

1 Ответ

0 голосов
/ 11 июня 2018

enter image description here

На рисунке часть extra Feature layers показывает, как small kernel извлекает вектор p из каждого выходного местоположения, который предсказывает обнаружение для различныхaspect ratios и class categories.

Например, из первой карты сверточных объектов p равно (3x(classes+4)), а для второй - (6x(classes+4)).Числа 3 и 6 указывают количество anchor блоков, определенных для этих карт объектов, и для каждого из этих якорных блоков есть classes + 4 box coordinates выход.

Поэтому вам нужно исправить p на основе количества якорных ящиков, которые вы выбираете для каждой карты объектов, количество классов, которые вы хотите обнаружить.

Мой вопрос: должно ли число «маленьких ядер» быть p?Как насчет установки произвольного числа k (которое не совпадает с функциональными каналами)?

Канал объекта является результатом свертки канала 3x3xp, поэтому он всегда принимает размер p, который являетсяРазмер выходного канала ядра.И обратите внимание, 3x3xp на самом деле 3 x 3 x in_channels x p, например, первый слой объектов получается путем свертки 38x38x512 из VGG с ядром 3x3x512xp для получения 38x38xp

...