Object Detection网络框架学习:SSD

SSD(Single Shot MultiBox Detector)是ECCV2016的一篇文章,属于one - stage套路。在保证了精度的同时,又提高了检测速度,相比当时的Yolo和Faster R-CNN是最好的目标检测算法了,可以达到实时检测的要求。在Titan X上,SSD在VOC2007数据集上的mAP值为74.3%,检测速度为59fps。
 

SSD

SSD效果为什么这么好

SSD效果好主要有三点原因:

1.多尺度

2.设置了多种宽高比的default box(anchor box)

3.数据增强

下面对这几点分别进行分析:

1.多尺度

SSD架构如下:

这里写图片描述

采用VGG16的基础网络结构,使用前面的五个CONV层作为特征提取,然后利用astrous 算法将FC6和FC7转化成CONV6和CONV7层。再增加3个卷积层,和一个average pool层。由SSD的网络结构可以看出,SSD使用6个不同特征图检测不同尺度的目标。低层预测小目标,高层预测大目标。

这里写图片描述

从上面的表格可以看出,采用6个特征图检测的时候,mAP为74.3%,如果只采用conv7做检测,mAP只有62.4%。

2.多种宽高比的default box

在特征图的每个像素点处,生成不同宽高比的default box(anchor box),论文中设置的宽高比为{1,2,3,1/2,1/3}。假设每个像素点有k个default box,需要对每个default box进行分类和回归,其中用于分类的卷积核个数为c*k(c表示类别数),回归的卷积核个数为4*k。

3.数据增强

SSD中使用了两种数据增强的方式:

1.放大操作: 随机crop,patch与任意一个目标的IOU为0.1,0.3,0.5,0.7,0.9,每个patch的大小为原图大小的[0.1,1],宽高比在1/2到2之间。能够生成更多的尺度较大的目标
2.缩小操作: 首先创建16倍原图大小的画布,然后将原图放置其中,然后随机crop,能够生成更多尺度较小的目标.


 这里写图片描述

SSD的缺点

SSD对小目标的检测效果一般

SSD的改进

 1 增大输入尺寸

2使用更低的特征图做检测

3 设置default box的大小,让default box能够更好的匹配实际的有效感受野

参考链接:

https://blog.csdn.net/qianqing13579/article/details/82106664

https://blog.csdn.net/u011974639/article/details/78244674

https://blog.csdn.net/zj15939317693/article/details/80596870

发布了84 篇原创文章 · 获赞 108 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_42013574/article/details/90573803