SSD: Single Shot MultiBox Detector 论文笔记

在YOLO和SSD算法提出之前,深度学习目标检测算法的代表为R-CNN系列算法,其中Faster R-CNN算法速度最快,效果也最好,但是这些算法都是基于proposal的,以Faster R-CNN为例,其先利用RPN网络提取可能包含目标的候选区域proposal,然后基于Fast R-CNN网络对真正的目标区域进行识别和定位调整。这些方法虽然精度较高,但因为计算量大,很难做到实时检测,即使是Faster R-CNN,其处理速度也仅为每秒7帧。为此,论文提出一种单一架构的SSD算法,其不需要提取目标候选区域,而是直接在具有不同分辨率的特征映射图上预测多个长宽比的box,然后根据分类器对各个box的打分来识别最终的目标区域并进行定位调整。SSD将所有的计算过程都封装在一起,结构更为简单,速度非常快,精度也很高。

SSD的网络结构如图所示
SSD: Single Shot MultiBox Detector 论文笔记_第1张图片
其有以下几个需要注意的点:
(1)基于多尺度特征映射图的预测
为了适应不同的目标尺度,SSD在VGG16的基础架构后增加了4个卷积层,其尺寸依次减小,并基于6个具有不同尺度的特征映射层分别对目标进行检测。
需要注意的一点是,SSD是通过增加卷积层来构建多尺度特征图的,也有很多论文是直接基于VGG16的不同卷积层来做预测的,因为较低层的分辨率较高,对小尺度目标的检测能力更强。
(2)对于特征映射图上的每一个位置,使用3*3*p的卷积核进行预测,p为特征映射图的通道数。要注意这里是使用卷积层而不是全连接层做预测。
(3)对于特征映射图上的每一个位置,SSD预测一组具有不同长宽比的box,根据分类器对box的打分和目标与box的相对位置关系来识别目标区域并对实际目标位置进行回归。注意,目标与box的相对位置与目标所属的类别无关,故对每个位置,若预测K个box,那么对于C种目标,卷积核的个数为K(C+4)个。

你可能感兴趣的:(论文笔记)