APP下载

基于改进YOLOv3模型的道路车辆多目标检测方法

2021-11-16马丽萍马文哲张宏伟

西安工程大学学报 2021年5期
关键词:先验远端尺度

马丽萍,贠 鑫,马文哲,张宏伟

(西安工程大学 电子信息学院,陕西 西安 710048)

0 引 言

道路车辆检测[1]作为智能交通系统数据前端采集的重要环节[2],一直以来都是该领域的研究热点。而车辆检测算法对同视景中道路近、远端目标车辆的检测能力,将直接影响道路交通摄像头的使用效率[3]。因此,提高同帧图像内近、远端目标检测精度是智能交通系统中基于机器学习的目标检测算法的重要研究课题之一[4-5]。

基于机器学习的传统目标检测算法中[6],文献[7]使用梯度直方图特征(histogram of oriented gradient, HOG)提取局部区域的边缘和梯度特征,再结合支持向量机(support vector machine, SVM)进行车辆检测;文献[8]采用哈尔特征提取图像的边缘、线性、中心和对角线特征,再利用SVM进行人脸检测;文献[9]提出将类哈尔特征与Adaboost分类器融合的识别算法,实现了对前方车辆的准确识别。但是,传统的目标检测方法主要依赖于人工获取有关的目标特征信息,人工特征提取阶段提取的特征优劣将直接影响整个算法的检测性能。而人工提取的特征只能描述目标的表象和形状,无法表达深层特征信息,且候选目标框数量较多,导致模型的泛化能力差,普适性低,计算量大,且在复杂多变的背景下,模型的鲁棒性较弱,限制了实际应用[10]。

基于深度学习的目标检测方法[11],最早是文献[12]通过借鉴传统目标检测中的滑动窗口思想,提出的基于选择搜索的R-CNN目标检测框架。早期的目标检测算法均为Tow-stage目标检测算法,都是将目标检测问题分为候选区域提取和候选区域位置及类别预测2个阶段。这类算法的典型代表是R-CNN系列算法,如:R-CNN、Fast R-CNN[13]、Faster R-CNN[14]等,此类方法虽然检测精度高,但由于在提取候选网络上耗费的时间较长,因此在速度上并不能满足实时检测的要求。随后出现的One-stage目标检测算法,主要有SSD[15]和YOLO[16-18]系列算法,此类算法不需要使用区域候选网络,直接通过卷积神经网络提取特征来产生目标的位置和类别信息,是一种端到端的目标检测算法,具有更快的检测速度。其中,YOLOv3因其良好的检测精度和速度,在车辆检测任务中得到了广泛应用[19-21]。

综上,本文引入YOLOv3模型进行道路车辆的多目标检测方法研究。针对近、远端目标车辆在交通视频中不同特征、特点造成的检测精度低,甚至漏检等问题,提出了YOLOv3-Y模型。YOLOv3-Y模型在YOLOv3采用的多尺度特征检测思想的基础上,增加一个检测层,将检测尺度扩展到4种;再利用K-means算法在自制的车辆数据集上对先验框进行重新聚类,得出适用于本文所用车辆数据集的先验框;最后用GIOU[22]代替IOU作为坐标误差损失函数,增强对目标物体尺寸的敏感度,加快模型拟合预测框与真实框的位置关系,提高模型的预测精度。

1 基于YOLOv3的多目标检测模型

1.1 YOLOv3网络结构

YOLOv3的核心思想是将整张图片作为神经网络的输入,并在最后输出层直接输出回归的目标框位置和类别信息[23]。YOLOv3的网络结构主要分为Darknet-53特征提取网络和特征图预测识别2部分:Darknet-53特征提取网络,共包含53个卷积层,交替使用1×1和3×3的滤波器进行卷积;采用步长为2的卷积核对输入图像进行5次降采样,在最后3次降采样中对目标进行预测识别。同时YOLOv3借鉴了ResNet[24]网络中的残差块结构和跳跃连接机制,解决了由网络加深导致的梯度弥散和梯度爆炸问题。Darknet-53中包含了5个大残差块,这5个大残差块中分别包含1、2、8、8、4个小残差单元。通过输入与2个DBL单元进行残差操作,构成残差单元,其中,DBL单元包含卷积、批归一化和leaky ReLU激活函数。

检测阶段YOLOv3使用多尺度特征[25]进行预测,将Darknet-53网络中后3次降采样得到的52×52、26×26、13×13等3个尺度上的特征图分别通过全卷积特征提取器(Convolutional Set)处理。获得处理结果后,一部分根据置信度大小对结果进行回归,得到最终的预测结果;另一部分通过上采样与对应的上一特征层进行融合,实现3个不同尺度的跨层检测。

1.2 网络结构的改进

由于道路中不同车辆与摄像头之间的距离差异,在获得的图像中,远端车辆会呈现小目标的特性[26],如在图片中所占像素少、特征不明显,与近端大目标相比远端车辆在检测中会存在检测率低、虚警率高等问题。因此,为了改善远端小目标车辆的检测效果,本文改进模型在YOLOv3网络结构的基础上增加了网络的检测尺度,改进后的网络结构如图1所示。

图1 改进的YOLOv3网络结构Fig.1 Improved YOLOv3 network structure

图1在YOLOv3的3个检测层基础上增加了尺度为104×104的检测层。对特征提取网络输出的52×52尺度的8倍降采样特征图进行2倍上采样,使其变为104×104尺度的特征图,再将得到的特征图与网络中第2个残差块输出的104×104尺度的4倍降采样特征图进行拼接,建立输出为4倍降采样的特征融合目标检测层。相较于其他尺度检测层,104×104尺度的检测层将图像划分成了更精细的单元格,提升了对小目标的检测效果。随后对数据集真实框进行聚类分析,将得到的候选框尺寸分别应用到4个(104×104、52×52、26×26、13×13)不同尺度的检测层上,并将该网络模型称为YOLOv3-DL4。

1.3 基于K-means聚类的先验框重选取

YOLOv3沿用YOLOv2中的先验框思想,使用9个不同先验框代替YOLOv2中的5个先验框。先验框是针对不同尺度网络层确定的具有固定宽度和高度的初始候选框,用来逻辑回归边界框。故先验框选择的优劣会影响检测器的性能,对最终的检测结果有直接的影响。

YOLOv3使用K-means算法对输出的3个尺度特征图在COCO数据集上聚类出9个不同尺寸的先验框,每个尺度根据感受野对应3个固定尺寸的先验框。YOLOv3输出的3个特征图尺度分别为:52×52、26×26、13×13。其中,52×52尺度的特征图感受野较小,对小目标相对敏感,选用尺寸较小的先验框(10, 13)、(16, 30)和(33, 23)来检测较小的目标;26×26尺度的特征图具有中等感受野,选用尺寸中等的先验框(30, 61)、(62, 45)和(59, 119)来检测中等大小的目标;而较小的13×13尺度的特征图感受野较大,对大目标相对敏感,选用尺寸较大的先验框(116, 90)、(156, 198)和(373, 326)来检测大目标。同时,YOLOv3采用与标签尺寸大小无关的平均IOU作为度量标签相似性的指标,对训练集所有目标使用K-means聚类获得先验框的大小。

在COCO数据集中有80类目标,这些目标物体尺寸不一,大小差距较大,聚类出来的先验框形状不一。由于本文的检测目标只是车辆,在车辆目标数据集中,多数的先验框的形状是宽大于高的,用于本文实际道路车辆数据集时部分先验框不合理。所以,对于本文数据集进行重新聚类,获得适合本文道路车辆数据集的先验框,提高近、远端车辆目标的检出率。

YOLOv3-DL4模型的检测网络共包含4个不同尺度的检测层,每个检测尺度分配3组先验框,故共需12组先验框。因此采用K-means算法聚类出12组先验框,再根据检测尺度大小的不同,将得到的先验框分别应用到不同尺度的检测层中,分配结果如表1所示。

表1 不同尺度特征图对应的先验框尺寸Tab.1 The size of the anchor corresponding to the feature map of different scales

1.4 边界框检测Loss的改进

IOU是目标检测中最常用的测量指标,可表示为

(1)

式中:A为预测框;B为真实框。

IOU表示预测框与真实框交集与并集的比值,所以,常用的先验框回归损失优化和IOU优化不完全等价。GIOU作为距离度量标准,其满足非负性、不可分的同一性、对称性和三角不等性。GIOU值是比值,对目标框尺度并不敏感,具有尺度不变性。由于GIOU引入了包含A和B最小凸集C,当A、B2个框不重合时,依然可以进行梯度优化,在保留了IOU原始性质的同时弱化了它的缺点。所以本文在YOLOv3-DL4模型的基础上,引入GIOU来解决IOU无法直接优化非重叠部分的问题,并将引入GIOU后的模型称为YOLOv3-Y。

2 实验结果及分析

实验使用的工作站设备型号为容天SCW4750,显卡为NVIDIA GTX 1080TI 11 GiB,8个16 GiB内存,处理器为Intel i7-6800 CPU,操作系统为Ubuntu16.04,深度神经网络参数配置平台为Darknet框架,并同时安装了CUDA(compute unified device architecture) 9.0、CUDNN(CUDA deep neural network library) 7.0.4以支持GPU的使用。

2.1 样本数据

为保证数据多样性,分时段对同一目标路段进行图像采集,保证不同时段的样本数据中包含车型种类、颜色具有可比较性,采集时长共560 min,有效实际道路图像30 000帧,经数据增强操作后获得样本图像120 000帧,随机选取部分数据样本,如图2所示。使用LabelImg对采集到的数据集内的车辆进行标注,对应car、van、truck、bus 4种常见车型,标注完成后生成对应的XML文件。数据集中将训练样本按70%和30%的比例随机分开,用于模型的训练和模型性能的验证。

图2 部分数据样本Fig.2 Part of the data sample

2.2 模型验证结果分析

基于2.1节搭建的实验平台,对YOLOv3、YOLOv3-DL4和YOLOv3-Y模型分别进行训练。初始训练阶段的衰减系数、动量参数和学习率分别设置为0.000 5、0.9和0.001,并选择steps模式更新学习率,训练迭代次数达到16 000和18 000时,学习率分别降低至初始学习率的10%和1%,使损失函数进一步收敛,比较得到的车辆多目标检测结果。3种模型在实验室实际道路车辆数据集上的平均准确度AP和平均精度均值mAP如表2所示,其中,“×”表示模型没有加入该项,“√”表示模型加入了该项。

表2 不同网络模型检测结果比较Tab.2 Comparison of detection results of different network models

从表2可以看出,YOLOv3在增加了检测层并重新计算先验框尺寸后,模型中的先验框更适合于本文构建的车辆数据集,且对近、远端车辆目标更加敏感。因此YOLOv3-DL4模型相较于YOLOv3模型对4种车型的检测效果均有小幅度提升,总体检测平均准确率提高了5.35%。使用GIOU损失提高检测准确率的效果明显,相比YOLOv3网络模型,平均准确率提高了11.05%。以上3个模型的检测对比结果如图3所示。

如图3(a)、(b)、(c)分别是YOLOv3、YOLOv3-DL4及YOLOv3-Y迭代20 000 次得到的模型对实际道路交通场景下的车辆检测结果,图中粉色框表示该车辆识别为“car”类,红色框表示识别为“van”类,绿色框表示识别为“bus”类,蓝色框表示识别为“truck”类。从图3(a)中可以发现a1、a2、a3均没有检测出左上角距离较远的小目标车辆,a4中未检测出左下角距离较近的“bus”类车辆,a5在右上角出现了将“truck”类错检为“van”类、a6中左上角出现了将“van”类错检为“car”类的情况。对比子图(b),YOLOv3-DL4改善了a1、a3、a4的漏检及a5、a6的错检情况,但b2中右上角处仍存在漏检情况。图3(c)中,改进的YOLOv3-Y模型消除了上述YOLOv3及YOLOv3-DL4模型检测结果中的漏检和错检现象。通过实验,可以发现YOLOv3-Y算法能够精确检测出更多的车辆,在一定程度上缓解了对小目标的漏检、错检情况,对同帧图像中近、远端目标均具有较好的适应性,能够提高网络模型的检测效果。

(a) YOLOv3模型

2.3 YOLOv3-Y车型识别结果与分析

在车型识别的实验中,将YOLOv3-Y模型与YOLOv2、YOLOv2-voc、YOLOv2-tiny、YOLOv3、YOLOv3-tiny 5种经典模型进行了对比,对比结果如表3所示。

表3 不同模型检测的平均精度均值及平均精度值Tab.3 mAP and AP values detected by different models 单位:%

从表3可知,YOLOv3-Y模型的mAP较YOLOv3模型提高了11.05%,达到84.30%,其余4种模型的mAP值均低于80%。4种车型识别效果中:由于“van”类车辆的特征较难被识别,6种模型对“van”类车辆识别的平均准确率均偏低,除YOLOv3-Y模型外,其余5种模型的AP值均低于60%,YOLOv3-Y模型将“van”类车辆的AP值提高到了62.23%。对于其他3种车型检测的平均准确率,除YOLOv3-Y外,YOLOv3-tiny获得“car”和“bus”类车辆识别最优AP值分别为88.82%和92.27%,YOLOv2获得“truck”类的识别最优AP值89.04%,本文模型对“car”“bus”“truck”类型车辆识别的平均准确率在最高值的基础上分别提高了3.04%,0.81%和1.01%。该网络模型通过利用残差思想和上采样操作融合了多级特征图,让更细粒度的特征参与车辆检测,从而解决了该数据集中车辆目标多尺度和远端小目标的检测问题,提高了对近、远端车辆目标的检测效果。

为了进一步准确的评估改进模型的识别效果,计算6种模型被检目标的准确率P、召回率R以及F1分数,其中F1分数为精确率和召回率的调和平均数,能同时兼顾模型的精确度和召回率,取值在0~1之间,F1越大,模型效果越好。识别结果如表4所示。

表4 不同模型的识别结果Tab.4 Recognition results of different models

(2)

式中:NTP为模型正确检测出来的目标数量;NFP为模型误检的目标数量;NFN为模型漏检的目标数量。

从表4可知,在验证154个目标时,6个模型在精度方面均表现良好,在召回率方面YOLOv2-tiny、YOLOv3和YOLOv3-tiny模型的召回率均低于90%,与其余3个模型相比,正确率偏低,效果较差。对比6个模型的F1分数,除YOLOv3-Y模型外,YOLOv2模型获得最高F1分数95.27%,能准确检测出142个车辆目标,正确识别出141个车辆目标,准确率达到了99.30%,召回率达到了91.56%。本文模型对4种类型车辆目标识别的精确度与最高值齐平,召回率及F1分数在最高值的基础上分别提高了0.65%和0.35%,分别达到了99.30%、92.21%和95.62%。

YOLOv2、YOLOv2-voc、YOLOv2-tiny、YOLOv3、YOLOv3-tiny和YOLOv3-Y模型的交并比、召回率及精确度曲线如图4所示。

(a) YOLOv2 (b) YOLOv2-voc

图4中,6个模型的召回率在初始时都出现了较大波动,随着检测的目标数增加逐渐趋于稳定,YOLOv2模型和YOLOv2-voc模型的召回率逐渐稳定在91%,YOLOv2-tiny模型的召回率逐渐稳定在75%,YOLOv3模型趋于87%,YOLOv3-tiny模型召回率逐渐趋于80%,YOLOv3-Y模型的召回率始终保持在90%以上,说明在实际交通背景下YOLOv3-Y模型具有较高的正确率,而YOLOv2-tiny和YOLOv3-tiny的正确率较低;在精度方面,YOLOv2和YOLOv2-voc模型在开始阶段,出现较大的跳变,但随着目标数的增加,模型的精度趋于稳定。6个模型中,YOLOv2-voc和YOLOv2-tiny模型的精度相对较低,其他4种模型的精度均表现良好,其中YOLOv3-Y模型的精度达到了99.3%,为最优,表明改进后的模型保持了很高的精确度和稳定性;同时对比6种模型的交并比曲线可以看出,6种模型均出现了不同幅度的波动,YOLOv2模型的IOU在0.75左右波动,YOLOv2-voc模型的IOU较YOLOv2有所提高,维持在0.83左右。

YOLOv2-tiny模型和YOLOv3模型的交并比值分别在0.5~0.6和0.65~0.73之间波动,波动范围相对较大,稳定性低;而YOLOv3-tiny模型和YOLOv3-Y模型的交并比值分别在0.45~0.5和0.78~0.82之间波动,波动范围小,曲线较平滑,有较好的稳定性,但YOLOv3-tiny模型交并比值较低。综上,YOLOv3-Y模型在以上3方面均表现突出,具有较高的精确度和稳定性。

图5为上述6种模型分别在训练集上训练20 000次获得的权重模型,在验证集上得到的检测结果。

(a) YOLOv2模型 (b) YOLOv2-voc模型

图5(a)、(b)中YOLOv2模型和YOLOv2-voc模型对远端小目标出现了严重的漏检;图5(c)中的漏检情况有所改善,检测出了1、2中的所有目标,但3、4中仍存在对小目标的漏检;图5(d)中,1未检测出左上角小目标,3中出现将“truck”误检为“van”类的情况,4中漏检了距离较远的“car”类车辆及距离较近的“van”类车辆;图5(e)中4张结果图中均存在对小目标的漏检;在图5(f)中,消除了上述的漏检现象,并正确检测出了3中的“truck”。综上所述,YOLOv3-Y模型对实际交通道路下的车辆目标检测效果最好,并解决了其余模型对近、远端车辆检测与识别结果中存在的漏检、错检问题。

3 结 语

本文分析了现有YOLO深度学习方法在真实道路环境下车辆目标检测与识别中存在的问题,即对于同一帧图像近端和远端目标车辆检测不能同时获得较好的检测效率。为此,在YOLOv3模型的基础上进行了改进,首先,增加了输出为4倍降采样的特征融合目标检测层,通过提取4种不同尺度的特征图,为目标预测模块提供更加丰富的细节信息,增强网络对远、近端目标车辆的检测能力;其次,使用K-means聚类算法重新确定适合本文车辆数据集的先验框尺寸,使模型更符合车辆目标的检测,提高模型预测目标位置的能力;然后引入GIOU损失函数对IOU损失函数进行了优化,提高模型的定位能力;最后,将得到的YOLOv3-Y模型与YOLOv2、YOLOv2-voc、YOLOv2-tiny、YOLOv3及YOLOv3-tiny 5种经典模型在实验室实际道路车辆数据集上进行对比。实验结果表明,改进的YOLOv3-Y模型在实际交通场景中车辆目标检测任务的平均精度均值达到了84.30%,相较于原始的YOLOv3算法提高了11.05%,对同帧图像中近、远端车辆目标均具有较好的检测性能。

猜你喜欢

先验远端尺度
内侧楔骨远端倾斜与拇外翻关系的相关性
财产的五大尺度和五重应对
基于无噪图像块先验的MRI低秩分解去噪算法研究
基于自适应块组割先验的噪声图像超分辨率重建
宇宙的尺度
H形吻合在腹腔镜下远端胃癌根治术中的应用
康德审美判断的先验演绎与跨文化交流
基于平滑先验法的被动声信号趋势项消除
胃小弯全切术治疗远端胃癌的随机对照研究
9