SSD Начальный v2. Заменен ли экстрактор функций VGG16 на Inception v2?

В исходной статье SSD они использовали сеть VGG16 для извлечения признаков. Я использую модель SSD Inception v2 из зоопарка моделей TensorFlow и не знаю, в чем разница в архитектуре. Этот сообщение о переполнении стека предполагает, что для других моделей, таких как SSD MobileNet, экстрактор функций VGG16 заменен экстрактором функций MobileNet.

Я думал, что здесь будет то же самое с SSD Inception, но Эта бумага меня смутил. Отсюда кажется, что Inception добавляется к SSD-части модели, а экстрактор функций VGG16 остается в начале архитектуры. SSD Начальный v2. Заменен ли экстрактор функций VGG16 на Inception v2?

Какова архитектура модели SSD Inception v2?

Udacity Nanodegree Capstone Project: Классификатор пород собак
Udacity Nanodegree Capstone Project: Классификатор пород собак
Вы можете ознакомиться со скриптами проекта и данными на github .
2
0
2 604
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В API обнаружения объектов tensorflow модель ssd_inception_v2 использует inception_v2 в качестве экстрактора признаков, а именно часть vgg16 на первом рисунке (рисунок (a)) заменена на inception_v2.

В моделях ssd векторный слой, извлеченный feature extractor (например, vgg16, inception_v2, mobilenet), будет дополнительно обработан для создания дополнительных функциональных слоев с разным разрешением. На приведенном выше рисунке (а) есть 6 выходных векторных слоев, первые два (19x19) взяты непосредственно из feature extractor. Как генерируются остальные 4 слоя (10x10, 5x5, 3x3, 1x1)?

Они генерируются дополнительными операциями свертки (эти операции свертки похожи на использование очень мелких экстракторов признаков, не так ли?). Детали реализации здесь снабжены хорошими документами. В документации написано

Note that the current implementation only supports generating new layers 
using convolutions of stride 2 (resulting in a spatial resolution reduction 
by a factor of 2)

таким образом дополнительная карта объектов уменьшается в 2 раза, и если вы прочитаете функцию multi_resolution_feature_maps, вы обнаружите, что используются slim.conv2d операции, что указывает на то, что эти дополнительные слои получены с дополнительным слоем свертки (всего по одному слою каждый!).

Теперь мы можем объяснить, что улучшено в документе, на который вы ссылаетесь. Они предложили заменить дополнительные слои объектов начальным блоком.. Нет модели inception_v2, а просто начальный блок. В документе сообщается об улучшении точности классификации за счет использования начального блока..

Теперь должен быть ясен вопрос, модель ssd с vgg16, inceptioin_v2 или mobilenet в порядке, но зарождение в документе относится только к начальному блоку, а не к начальной сети.

Другие вопросы по теме