Модель SSD
Архитектура
Ранее описанная модель YOLO для детекции объектов на изображении работает на признаках, полученных после 2х полносвязных слоёв, применённых к активациям последнего свёрточного слоя. Поскольку этот слой даёт карту признаков в низком пространственном разрешении, то качество детекции малых объектов было невысоким. Также на эту карту признаков накладывалась сетка размера 7x7, извлекающая объекты, поэтому максимальное число задетектированных объектов не могло быть больше 49.
Модель SSD (Single Shot Detector [1]) исправляет оба этих ограничения за счёт того, что детекция осуществляется с разных свёрточных слоёв.
-
Активации более глубоких слоёв имеют более обширную область видимости (receptive field), поэтому способны извлечь более крупные объекты.
-
А с помощью более ранних слоёв (с более высоким пространственным разрешением) удаётся задетектировать более мелкие.
Поскольку объекты детектируются на разных слоях, то максимальное число потенциально выделяемых детектором объектов методом SSD значительно больше, чем у YOLO.
Ниже приведено сравнение архитектуры SSD (сверху) и YOLO (снизу) [1]:
Последний слой SSD выделяет объекты, за которым обязательно следует модуль подавления не-максимумов.
Это важно, так как количество детекций будет избыточным вследствие того, что каждый объект может быть выделен повторно с разных слоёв.
Детекция в SSD осуществлялась не сразу, а после некоторого количества свёрточных слоёв, извлекающих более информативные признаки. Первыми слоями брались слои предобученной для задачи классификации сети VGG-16.