详细解析:
深度学习-SSD算法
一、SSD网络结构
图1 SSD网络架构(精简版)
图2 SSD网络架构(细节版)
图3 VGG16网络架构
输入图像必须为300×300的,之后进入VGG16Conv5_3之前的全部网络结构
SSD采用VGG16作为基础模型,并且做了以下修改,如图1所示
- 分别将VGG16的全连接层FC6和FC7转换成 3×3 的卷积层 Conv6和 1×1 的卷积层Conv7
- 去掉所有的Dropout层和FC8层
- 同时将池化层pool5由原来的 stride=2 的 2×2 变成stride=1的 3×3 (猜想是不想reduce特征图大小)
- 添加了Atrous算法(hole算法),目的获得更加密集的得分映射
- 然后在VGG16的基础上新增了卷积层来获得更多的特征图以用于检测
算法细节
1、多尺度特征映射
图4 单层feature map预测和多层特征金字塔预测对比
如图4所示,左边的方法针对输入的图片获取不同尺度的特征映射,但是在预测阶段仅仅使用了最后一层的特征映射;而SSD(右图)不仅获得不同尺度的特征映射,同时在不同的特征映射上面进行预测,它在增加运算量的同时可能会提高检测的精度,因为它具有更多的可能性。
图5 SSD与Faster-rcnn比较
预测的过程
c表示识别多少个类别,一个default boxs有c个类别加上一个背景识别,有背景得分和物体识别得分。4表示边界框回归参数(x,y,w,h)
Faster RCNN存在的问题
- 对小目标检测效果很差
- 模型大,检测速度较慢
如图5所示,对于BB(bounding boxes)的生成,Faster-rcnn和SSD有不同的策略,但是都是为了同一个目的,产生不同尺度,不同形状的BB,用来检测物体。对于Faster-rcnn而言,其在特定层的Feature map上面的每一点生成9个预定义好的BB,然后进行回归和分类操作来进行初步检测,然后进行ROI Pooling和检测获得相应的BB;而SSD则在不同的特征层的feature map上的每个点同时获取6个(有的层是4个)不同的BB,然后将这些BB结合起来,最后经过NMS处理获得最后的BB。
今天的文章深度学习-SSD算法[通俗易懂]分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/71411.html