当前位置:首页 期刊杂志

用于ADAS实时目标车辆检测的改进SSD算法

时间:2024-07-28

焦 鑫,杨伟东*,刘全周,李占旗,贾鹏飞

(1. 河北工业大学 机械学院,天津 300130,中国;2. 中国汽车技术研究中心有限公司,天津 300300,中国)

目标车辆检测作为汽车驾驶辅助系统(advanced driving assistant system,ADAS)的基础,能够实时采集车辆周围的环境信息,检测结果为决策层和控制层提供依据,具有提升汽车行驶安全性,减少生命财产损失的优点,是汽车工程领域的研究热点之一。

目前,ADAS中常以视觉感知的方式实现目标车辆检测。从早期的传统目标检测方法[1-3],到近几年逐渐深入的深度学习网络的目标检测方法[4-6],在目标车辆检测方面取得了较好的效果,尤其是基于深度学习网络的目标检测方法。为了更好的满足ADAS对目标车辆检测算法精确性、时效性和鲁棒性的要求,实现辅助驾驶系统的精确预警,国内外学者做了大量工作。

Hu Xun[7]针对单发多盒探测器 (single shot multibox detector, SSD)模型过大的问题,使用轻量级网络MobileNet,使算法能够满足在移动设备上的实时性目标检测。吴天舒[8]使用DenseNet代替了SSD算法中VGG16基础网络,极大的减少了模型体积,降低了模型的计算量和硬件消耗。Tang[9]等人在原SSD算法基础上引入了空间变换模块的注意机制,并在指定层中加入了上下文信息传递,提升了对目标车辆的检测精度。郭川磊[10]等人为了提升SSD算法中提取小目标特征信息的数量,在特征提取过程中增加了转置卷积,但是通过转置卷积得到的采样图像中像素点的值与原图像中像素点的值可能不相同,因此在实验发现通过转置卷积操作进行小目标检测的效果并不稳定。

综上可知:虽然国内外学者对于提升SSD算法检测速度和目标检测精度研究较多,但是应用于ADAS目标车辆检测时,针对复杂场景下的小目标车辆和重叠目标车辆检测效果较差,易出现漏检和误检的现象。

本文对复杂场景下小目标车辆和重叠目标车辆特点进行分析。一方面,基于SSD算法模型,通过浅层特征层图像超分辨率重建的方式,增加对浅层特征中小目标车辆信息提取数量,改进特征提取网络,提出了目标车辆检测模型SSD-S,提升对小目标车辆检测精度;另一方面,基于非极大抑制(non-maximum suppression,NMS)中嵌入特征向量进行二次筛选,提出目标车辆检测模型SSD-O,提升对重叠目标车辆的检测效果。结合2种改进模型提出了ADAS实时目标车辆检测模型SSD-P。在车辆数据集和虚拟交通场景中测试,对所搭建的目标车辆检测系统在实际道路环境中进行了实验,以验证改进后SSD-P算法的精度。

1 目标车辆检测算法

1.1 SSD算法基本原理

SSD算法是以直接回归的方式进行单阶段目标检测。具体通过将输入图像划分为S×S个栅格,并以每个栅格作为中心设置多个默认框,其尺寸和长宽比存在差异。通过计算默认框与真实框的重叠度,确定默认框所属分类。

为了满足对不同尺寸目标检测的要求,SSD算法以VGG16网络作为基本网络,将主网络结构中的2个全连接层改为卷积层,并增加了4个卷积层作为辅助卷积层。通过基础网络提取低尺度的特征映射图,辅助卷积层提取高尺度的特征映射图,预测卷积层输出特征映射图的位置和分类预测分数。这些预测分数经过非极大抑制(NMS)计算输出最终的位置和分类结果。SSD算法网络结构如图1所示[11]。

1.2 改进的SSD算法

1.2.1 浅层特征超分辨率重建

SSD算法各个卷积层进行特征映射图提取时,随着卷积层数加深,特征图感受野增大,包含的特征信息数量逐渐减少[12]。这就导致在最终的检测任务中出现小目标车辆特征信息较少,检测准确率较低的问题。针对该问题,本文以距离主车20~60 m内尺寸相对较小的前目标车辆作为小目标车辆,提出对图像第Conv4-3层特征映射图进行超分辨率重建,使重建后的特征映射图具有更多的特征信息,而且该特征映射图处在浅层特征层中,卷积核、感受野更利于小目标特征的提取[13]。

在超分辨率重建时,选择第Conv4-3特征图作为输入图像,经过特征提取、特征映射、反卷积等过程,形成新的特征映射图Re-Conv4。特征映射图Re-Conv4与其他各卷积层生成的特征映射图都会产生一个默认框(default box)集合,这些默认框是在特征映射图上每个单元形成的不同长宽比的矩形边框,通过默认框与真实框匹配机制实现目标信息的输出。

改进后得到的SSD-S算法网络结构如图2所示。

图2中框选部分为特征图超分辨率重建过程,以尺寸大小为38×38的Conv4-3特征图作为输入,经过超分辨率重建后特征图像分辨率增大,重建后特征图分辨率大小可以根据需求设置。在提升小目标检测效果的同时还需要保证算法的运行速度,因此选择超分辨重建后特征图尺度为76×76。超分辨率重建后的特征图Re-Conv4相较于第Conv4-3层特征图,分辨率增加一倍,因此能够提取到更多的小目标信息。

在进行浅层特征超分辨率重建时,第Conv4-3特征图作为输入假设为X,则特征图重建过程表示为:

式中:w1为特征提取的卷积核权重,即n1个c×f1×f1大小的卷积核。由于特征图像为单通道图像,因此本文中c= 1,B1为卷积核的偏置个数,即为n1。

非线性映射过程是以特征提取得到的n1个特征图作为输入映射到n2个特征图中,则非线性映射过程表示为

式中:W2为非线性映射的卷积核权重,即n2个大小为n1×f2×f2的卷积核,B2为卷积核的偏置个数,即为n2。反卷积过程是以非线性映射后图像作为输入,以目标尺寸图像作为输出,反卷积过程为

式中:W3为反卷积的卷积核权重,即c个n2×f3×f3卷积核,B3为卷积核的偏置个数,即为c= 1。

分辨率重建后得到的特征图Re-Conv4尺寸为76×76,比SSD算法中用于提取特征信息的任意特征分辨率大,因此能够在特征图Re-Conv4中提取到更多的小目标信息。改进后的SSD-S算法网络中共有7个特征层的默认框集合,由于每个特征层的感受野大小不同,因此默认框尺寸的大小与特征层的层数之间的函数关系可以表示为

式中:k∈(1,m),m为特征层的层数。本文中由于共有7个特征层的默认框集合,因此m= 7。smin= 0.2,smax= 0.9。

不同特征层中默认框的宽度为

默认框高度为

式中:an为默认框长宽比,n为特征层上默认框的个数。由于本文检测目标为车辆,因此默认框尺寸及长宽比设置能够符合实际车辆在图像中的尺寸及长宽比即可。其默认框尺寸和长宽比如表1所示。其中,si×si代表特征层的尺寸。

表1 默认框尺寸及长宽比

由于特征图中每个单元都会产生相应的默认框,因此默认框的总数量为

式中:ni表示第i层特征层中默认框长宽比个数。由式(8)可得:经过改进后的SSD-S算法各个特征层共能提取9 356个默认框,相较于原SSD算法,SSD-S算法提出的网络在小目标特征提取数量上增加了624个;因此默认框集合中能够提取并匹配更多的小目标,实现对小目标检测效果的提升。

1.2.2 特征嵌入的非极大抑制

在目标车辆检测中需要输出目标车辆的分类信息,这就需要通过默认框和真实框的匹配机制判断默认框所属类别。一般地,匹配完成后可能出现一个真实框对应多个默认框。为了确定每个真实框所对应的最优默认框,SSD算法在预测阶段通过非极大抑制计算筛选出相同目标中置信度最大的默认框作为最终的位置和分类输出,但是在检测场景中出现重叠现象目标车辆时会出现漏检现象。

针对SSD算法确定最优默认框时会出现重叠目标漏检的问题,本文通过在非极大抑制中嵌入特征向量的方式,对默认框进行二次筛选,并提出了重叠目标车辆检测模型SSD-O。其嵌入特征向量的基本思想是:正图像对(即显示同一对象的图像)的嵌入向量应该相似,负图像对的嵌入向量之间由于存在差异,所以要有一定的距离。

通过对车辆检测任务中出现重叠现象的特点分析可知:相似车型的车辆不会在图像中处于相同高度。而车型不同的车辆可能会处于相同高度,但是车辆尺寸就会存在较大的差异,如图3所示。本文利用不同车辆特征向量不同,嵌入非极大抑制NMS,提升算法对重叠目标检测效果。

在经典NMS[14]中所有的默认框的集合P中先按照它们的置信度排序,然后添加到一个集合P*中,最终通过以下迭代步骤完成相同目标默认框的筛选:从集合P*中选择置信度最大的默认框置于集合D中,集合P*中剩余的默认框置于集合M中。集合中每个默认框元素mi都与该轮次中最大置信度默认框集合D中的默认框元素d进行比较。如果集合M中默认框mi与集合D中默认框d的交并比(intersection over union,IoU)大于阈值,则默认框与默认框d属于相同目标;否则默认框与默认框d属于不同目标。其流程图如图4所示。

经典NMS在重叠车辆检测时可能出现漏检,如图5情况所示。此时2个默认框IoU值大于0.5,因此会判定为相同目标,但实际中2个默认框所框选的为不同目标。

当在每个默认框中嵌入特征向量后,被判定为相同目标的2个默认框会进行二次判定,如果大于阈值则可判定为不同目标。嵌入特征向量的NMS判定流程如图6所示。

本文中所嵌入的特征向量是将特征图像映射成张量。由于不同目标形成的特征图像映射得到的张量不同,因此可以结合张量之间的差值判断预测目标是否为相同目标。每个默认框的输出中主要包含了边框的中心坐标(x,y)、边框的长和宽(h,w)、置信度c、像素均值f等张量信息,通过对默认框张量中心坐标距离与像素均值的差值加权求和计算得到每个默认框的特征向量。特征向量为

式中:m、n表示2个不同默认框的编号,α、β为默认框中心距离和像素均值的加权系数0.5。当2个默认框的特征向量L大于阈值Ct时,即可判定为不同目标。通过IOU和特征向量共同判定后能够有效提升重叠目标检测效果。

2 车辆模型测试

2.1 测试数据评价方法

为了评价改进后SSD算法对目标车辆检测的效果,本文计算了检测结果的平均精度(mean average precision, mAP),即准确率Precision与召回率Recall之间的曲线关系:

式中: TP为预测准确的默认框数量,FP为检测结果中筛选掉的默认框数量,FN为没有检测到的默认框数量。

针对测试集中不同图片检测出的车辆模型,可得这一类型目标的准确率与召回率之间曲线关系,即检测精度(average precision,AP)为

式中:Ri为第i张图像中车辆默认框的召回率,Pi为第i张图像中车辆默认框的准确率。

由于车辆检测和其他目标检测属于二分类问题,因此本文通过mAP作为检测效果的评价指标,即

2.2 小目标车辆模型测试

本模型使用PASCAL VOC2012数据集中5 837张车辆模型用于训练和验证,在训练集中有2 863张图像包含小目标车辆模型。1 024张尺寸大小不同的车辆模型用于SSD算法和SSD-S测试集。在模型训练中,为了增加训练数据集数量,保证数据集的多样化以及提升训练模型的泛化能力,采用了现有的数据增广方式,对数据集中模型进行随机调整。通过测试集验证,SSD-S算法能够检测出SSD算法中未检测出的较小尺寸目标车辆。算法检测结果如图7所示。检测结果平均精度如在3.2节的表2所示。

2.3 重叠目标车辆模型测试

由于现有数据集中不同重叠率车辆模型较少,因此在测试阶段,本文通过在dspace场景软件中搭建虚拟交通场景,设置相同车辆不同重叠率完成测试。

通过使用500张图像分别测试SSD算法和SSD-O算法对重叠率0~60%的目标车辆检测效果,SSD算法能够检测出重叠率小于39.8%的目标车辆,SSD-O算法能够检测出重叠率小于50.3%的目标车辆,检测重叠率提升约10%。部分改进前后检测效果如图8、9所示,检测结果平均精度如表2(在3.2节)所示。由于实际道路场景下小目标车辆检测和重叠目标车辆检测现象往往是同时出现,因此,本文将SSD-S和SSD-O算法结合,建立了目标车辆检测改进算法SSD-P,并测试SSD-P算法在实际道路场景中的检测效果。

3 实验结果及数据分析

3.1 实验数据采集

为进一步分析实际道路场景中SSD-P算法的检测效果,本文还将摄像头、SSD算法和SSD-P算法搭建在实车上验证。搭建场景如图10所示。实验中通过摄像头采集1 000张图像,经SSD算法和SSD-P算法分别处理后,输出图像中目标车辆的位置及分类。

3.2 实验结果及评价

实验阶段对SSD算法和SSD-P算法分别计算mAP值,计算结果如表2所示。由表2数据可知,SSD-S算法对小目标车辆检测的平均精度较SSD算法提升3.3%,对重叠目标车辆的检测效果几乎无影响,最终SSD-S算法在测试集中平均精度为91.3%,较改进前SSD算法提升3.7%。SSD-O算法对重叠目标车辆检测的平均精度较SSD算法提升2.5%,对小目标车辆的检测效果几乎无影响,最终SSD-O算法在测试集中平均精度为90.2%,较改进前SSD算法提升2.6%。

从两方面改进后的SSD-P算法检测精度相较于基本SSD算法在小目标检测中平均精度由原来的85.3%提升到88.9%,提高了3.6%。重叠目标检测中平均精度由原来的80.7%提升到83.8%,提高了3.1%。综合性能平均精度由原来的87.6%提升到92.4%,提高了4.8%。

表2 各改进SSD算法检测结果数据

图11中2幅照片为实际场景下测试集结果,对比改进前后SSD算法检测对包含重叠小目标车辆的识别效果。从图11中可以看出,SSD-P算法不仅能够检测出基本SSD算法中漏检的小目标车辆,还能正确识别出重叠目标车辆。

4 结 论

1) 在SSD算法网络中增加对Conv4-3特征层超分辨率重建后,提取到特征信息和默认框数量增加,能够比原SSD算法提取到小目标特征信息增加7.1%。

2) 在非极大抑制(NMS)中嵌入特征向量,对边框筛选进行二次判定,提升了算法在存在重叠目标情况下检测精度。

在实际道路场景中目标车辆的实验结果表明:改进SSD-P算法进行目标车辆检测的平均精度值为92.4%,与改进前的87.6%相比平均精度提升了4.8%。改进后SSD-P算法对小目标重叠车辆检测准确性得到了提升。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!