阅读了SSD的原文已经一周的时间了 ,有必要做一些总结了。
先给出原文链接:https://arxiv.org/abs/1512.02325 (自行下载查看哦)
再给出曾看过的几篇博客:1、https://blog.csdn.net/tomxiaodai/article/details/81875810
2、https://blog.csdn.net/c20081052/article/details/80391627
第一篇博客 打算先总结一下文章的内容(以防我忘记,我先再浏览一次文章)
虽然文章量不是很大,但是已经言简意赅的表明了基本做法和思想,其工作量却是相当庞大的。下面按照文中的介绍顺序介绍下自己的想法,如有不足,欢迎各位大大批评指正,相互交流(毕竟博主我是个渣渣)
Abstract: SSD是一种单一的深度神经网络,即对于每个特征图像的不同位置比例和不同宽高比,将边框的输出离散到系列默认框中。预测时,网络生成分数是对每个默认框的每个目标类别进行的,并且不断调整来更好的匹配目标形状。另外,由于网络结合了来自用不同解决方法的大量的特征图的预测,因此可以更自然地用各种大小处理目标对象。文章用此方法训练各个公用的数据集:PASCAL, VOC,COCO,ILSVRC并将所得比例与其他网络模型如:Faster-R-CNN,YOLO进行比较。
(由此可见,该文章提出的网络模型性能及识别率都更高,是近期提出的较好的网络模型。且该文章还是开源代码,利用caffe编写,源代码: https://github.com/weiliu89/caffe/tree/ssd .)
P1:Introduction
当前先进的目标检测系统都利用如下方法:假设边界框,对每个框重采样像素点或特征,应用高质量分类器。但是 这些方法有点low,因为要保证识别率跟识别速度双高 是很难的,尤其他们这些方法还不能实时监测。
速度改进原因:消除边界框提议以及随后的像素或特征重采样阶段;
改进之处:1)用小卷积滤波器来预测目标类别和边框位置偏移量;
2)对不同的宽高比检测使用不同的滤波器;
3)将上述滤波器应用到一个网络后段的多层特征图中,以便多尺度检测。
SSD核心之处:对一组固定的边框用小卷积滤波器来预测目标类别和边框偏移量,并将其应用到特征层。
P2:SSD Model
(目前就知道一件事,SSD大法各种好、各种妙,最根本的优点在于他去掉了原来复杂的重采样部分,然后改用小的卷积滤波器来预测目标类和偏移,使得识别更精准,识别效果更好。那么具体的模型是什么呢?又该如何训练呢?)
SSD基于前馈神经网络,该网络生成一个固定大小集合的边框以及对这些框中存在的目标类别的分数,之后经非极大值抑制产生最终检测结果。该网络所采用的基本网络为VGG-16。
VGG-16:参考博客: