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 的网络模型基于一个前馈卷积网络,大概可以分为两个部分:一个是前端的特征提取网络,使用一个去除了全连接层的分类网络,可以是AlexNet[15],VGG[16]等,本文使用的是VGG网络;另一个是添加在后面的多尺度特征检测网络,通过池化操作将前面网络产生的特征图尺寸逐层减小,然后再用不同卷积层的多个特征图预测物体分类以及目标边界框的偏移,最后使用最大值抑制方法(Non Maximum Suppression,NMS)产生最终的检测结果,实现多个尺度特征图的检测。SSD 框架如下图2-4所示。
图2-4 SSD网络框架
3、特征层默认框映射
SSD 采用多尺度特征预测的方法得到多个不同尺寸的特征图,如图2-5所示,假设模型检测时采用m 层特征图,则得到第k个特征图的默认框比例公式(2-1)如下:
式中:一般取0.2;
一般取0.9,分别代表特征图上的默认框与输入原图上框的比例的最小值与最大值。
同时,SSD 采用默认框机制,对于同一特征层上的特征单元采取几个不同的宽高比,以增强模型对物体形状的鲁棒性。原文中默认框的宽高比采用r={1,2,3,1/2,1/3},同时,针对宽高比等于1这一类,添加,则可得到以下公式:
假定默认框的中心坐标为,
是第k 个特征图的尺寸大小,a,b∈{0,1,2,…,
},控制默认框的坐标在[0,1]范围之内。特征图上默认框坐标与原始图像坐标的映射关系图如图2-5,(b)图的蓝色虚线框对应原图(a)中的猫外围的蓝色矩形框,(c)图中的红色虚线框对应原图(a)中的狗外围的红色矩形框。对应关系如下:
图 2-5 SSD算法特征图上默认框与原图的对应关系
其中(x,y)为第k层特征图上某一默认框的中心坐标;分别是该默认框的宽和高;
分别是该默认框对应到原图上的目标框的左上角和右下角坐标;,分别是第k层特征图的宽和高;,则为原始图片的宽和高。
4、目标损失函数
SSD的目标损失函数从MultiBox[17]目标函数衍生而来的,但是被发展到检测多个目标种类。假设={0,1}用来表示第i个默认框与第j个类别为p的真实框是否匹配,0代表不匹配,1则代表匹配。按照这个匹配策略,我们有。所以总体的目标损失函数等于置信损失和位置损失的加权和,表达式如下:
式中:N表示与真实物体框相匹配的默认框数量,若N为0,则总体损失等于0;c是预测框的置信度;为预测框的位置信息;g是真实框的位置信息;是一个权重参数,经过交叉验证将它设为1;
位置损失是预测框与真实框的Smooth L1[11]损失函数;
是置信损失,这里采用交叉熵损失函数。
在训练过程中,通过随机梯度下降(Stochastic gradient descent,SGD)以及反向传播机制不断减小损失函数值,从而使预测框的位置逼近真实框位置,同时提高类别置信度,通过多次优化,不断增强网络模型检测目标的效果,最终得到一个最优的目标检测模型。
5、本章小结
本章介绍了新能源车牌和普通民用车牌的差异,主要为车牌颜色和位数,叙述了本研究中将要使用的深度学习的演化过程以及相关基础理论,介绍了处理图像数据效果较为显著的卷积神经网络,然后对本文使用的数据集CCPD做了详细的说明。最后介绍了用于新能源车牌检测的SSD算法,详细讲解了SSD算法的网络模型,默认框映射机制以及其目标损失函数。SSD算法运行速度快,并且可以保证较好的准确性,所以本文采用SSD算法进行新能源车的检测工作。