论文名称:《 SSD: Single Shot MultiBox Detector 》
论文下载:https://arxiv.org/pdf/1512.02325.pdf
论文代码:https://github.com/weiliu89/caffe/tree/ssd
1. 网络结构
SSD算法直接预测目标的坐标和类别,没有生成候选框的过程。网络直接在VGG16网络的基础上进行修改。
SSD网络=基础网络+辅助结构
基础网络:VGG16(阶段1~阶段5)
辅助结构:fc6,fc7 àconv6,conv7
添加4个卷积层(conv6_2,conv7_2,conv8_2,conv9_2)
1.1用于检测的多尺度特征图
(1)这些层逐渐减小尺寸
(2)允许预测多个尺度的检测
(3)每个特征层用于预测检测的卷积模型是不同的
1.2 用于检测的卷积预测器
(1)使用一组卷积滤波器生成一组固定的检测预测
(2)3×3×p小卷积核
►物体类别得分
►相对于默认框的坐标偏移
1.3 Default boxes
每个Default boxes预测C个类别得分和4个offset
▪ m×n feature map + (c+4)×k滤波器 à (c+4)×k×m×n 输出
▪ 类似 Faster R-CNN 中的anchor boxes
论文中使用了几种不同分辨率的feature map。
▪Feature map cell是Feature map分成的每个小格(例如上图b的8*8)。
▪Default box 是每个小格上对应的一系列box。
▪Prior box是指实际中选取的default。
2. 训练过程
(1)每一个 prior box 经过Jaccard系数计算和真实框的相似度。
(2)阈值只有大于 0.5 的才可以列为候选名单;假设选择出来的是N个匹配度高于百分之五十的框。
(3)我们令 i 表示第 i 个默认框,j 表示第 j 个真实框,p表示第p个类。那么xi,jp 表示 第 i 个 prior box 与 类别 p 的 第 j 个 ground truth box 相匹配的Jaccard系数,若不匹配的话,则xi,jp=0 。
(4)总的目标损失函数(objective loss function)为 localization loss(loc) 与 confidence loss(conf) 的加权求和。
3. 创新点
(1)使用多尺度特征maps进行目标检测。
(2)小卷积滤波器来预测固定的一组默认边界框的类别得分和框偏移。
(3)为了实现高检测精度,我们从不同尺度的特征图产生不同尺度的预测,并通过纵横比明确地分开预测。
(4)即使在低分辨率输入图像上,这些设计特征也可实现简单的端到端训练和高精度,从而进一步提高速度与精度之间的权衡。
4. 存在问题
SSD的缺点是对小尺寸的目标识别仍比较差,还达不到Faster R-CNN的水准。这主要是因为小尺寸的目标多用较低层级的anchor来训练(因为小尺寸目标在较低层级IOU较大),较低层级的特征非线性程度不够,无法训练到足够的精确度。