Прежде всего мы должны понять, какова цель roi pooling
: , чтобы иметь представление элементов фиксированного размера из областей предложения на картах объектов . Поскольку предлагаемые регионы могут иметь различные размеры, если мы напрямую используем элементы из регионов, они имеют разные формы и, следовательно, не могут быть переданы в полностью связанные слои для прогнозирования. (Как мы уже знали, для полностью связанных слоев требуются фиксированные входные данные). Для дальнейшего чтения, здесь - хороший ответ.
Итак, мы поняли, что для объединения roi
необходимы два входа: предлагаемые регионы и карты объектов . Как четко описано на следующем рисунке .
Так почему бы YOLO и SSD не использовать roi pooling
? Просто потому, что они не используют региональных предложений ! Они по своей природе отличаются от таких моделей, как R-CNN, Fast R-CNN, Faster R-CNN , фактически YOLO и SSD относятся к категории one-stage
детекторы серии r-cnn ( R-CNN, Fast R-CNN, Faster R-CNN ) называются two-stage
детекторами просто потому, что они сначала предлагают регионы, а затем выполняют классификацию и регрессию.
Для one-stage
детекторов, они выполняют предсказания (классификацию и регрессию) непосредственно из карт характеристик . Их метод состоит в том, чтобы разделить изображения в сетках, и каждая сетка будет предсказывать фиксированное количество ограничивающих рамок с оценками достоверности и оценки классов. В оригинальном YOLO использовалась карта объектов в одном масштабе, в то время как SSD использовала карты объектов в нескольких масштабах, как ясно показано на следующих рис
Мы можем видеть с YOLO и SSD , конечный результат - тензор фиксированной формы. Поэтому они ведут себя очень похоже на такие проблемы, как linear regression
, поэтому их называют one-stage
детекторами.