1、引言
目标检测是计算机视觉学科的重要研究方向之一,在很多场合中都很重要,比如无人驾驶,就非常需要目标检测给它提供非常高的检测和定位精度。当前,目标检测中基于深度学习的算法大概可以分为两种:分步目标检测算法(比如Fast R-CNN[11]、Faster R-CNN[12]等);单步目标检测算法(比如YOLO[13]、SSD[14]等)。前者先要产生一批用作输入数据的候选框,然后经过神经网络回归分类得到结果;后者不生成候选框,直接将预测边框的任务变成回归问题解决。虽然Faster R-CNN检测性能较好,但是由于采用了RPN和Fast R-CNN两种网络,所以导致结构较为复杂,检测的速度不够快速。
SSD算法是一种端到端的单次多框实时检测的深度神经网络模型,融合了YOLO的回归思想和Faster R-CNN的候选框机制。SSD算法利用回归的思想极大地减少了神经网络的计算量,提升了算法运行的速度。它不需要生成候选框,而是直接提取输入图片的特征信息,然后直接在特征图上回归这个位置的边界框以及对物体类别进行分类;运用局部特征提取的方法得到不同位置,不同宽高比、尺寸的特征,这一点相比于 YOLO 针对某一位置进行全局特征提取的方式更加有效率。此外,为了增加模型检测不同大小物体的鲁棒性,SSD算法选取网络中多个层次的特征图进行预测。
2、SSD算法模型
SSD 的网络模型基于一个前馈卷积网络,大概可以分为两个部分:一个是前端的特征提取网络,使用一个去除了全连接层的