SSD 目标检测算法详细总结分析(one-stage)(深度学习)(ECCV 2016)

版权声明:转载时,请务必注明文章出处网址,谢谢! https://blog.csdn.net/Gentleman_Qin/article/details/84403313

论文名称:《 SSD: Single Shot MultiBox Detector 》

论文下载:https://arxiv.org/pdf/1512.02325.pdf

论文代码:https://github.com/weiliu89/caffe/tree/ssd


1. 网络结构

(1)
(2)
图5 SSD网络

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. 训练过程

图5 SSD网络

(1)每一个 prior box 经过Jaccard系数计算和真实框的相似度。

(2)阈值只有大于 0.5 的才可以列为候选名单;假设选择出来的是N个匹配度高于百分之五十的框。

(3)我们令 表示第 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较大),较低层级的特征非线性程度不够,无法训练到足够的精确度。

猜你喜欢

转载自blog.csdn.net/Gentleman_Qin/article/details/84403313