APP下载

基于深度学习的重载车辆检测与识别

2021-02-28吴祥谢尔夫张恒徐秉皓易梦华张智

电脑知识与技术 2021年35期
关键词:目标检测深度学习人工智能

吴祥 谢尔夫 张恒 徐秉皓 易梦华 张智

摘要:基于深度学习算法,在交通中不同路况中对重载车辆进行检测与流量统计问题有待解决。首先对YOLOv4原理及主要算法进行介绍;之后进行了数据集的标注等预处理,将数据输入到YOLOv4模型中进行训练;最后对实验结果进行了一定的分析,并进行了模型检测,实验效果较好。该算法基本能够实现对不同路况中重载车辆的检测和流量统计。

关键词: 重车检测; 目标检测; YOLOv4; 深度学习; 人工智能

中图分类号:TP183      文献标识码:A

文章编号:1009-3044(2021)35-0085-03

Heavy Vehicle Detection and Recognition Based on Deep Learning

WU Xiang,XIE Er-fu,ZHANG Heng,XU Bing-hao,YI Meng-hua,ZHANG Zhi*

(School of Computer Wuhan University of Science and Technology, Wuhan 430065, China)

Abstract: Based on deep learning algorithms, the detection and flow statistics of heavy vehicles in different road conditions in traffic have yet to be resolved. First, the principle and main algorithms of YOLOv4 are introduced; then the data set is preprocessed such labeling and input the data into the YOLOv4 model for training; finally, the experimental results are analyzed to a certain extent, and the model is tested. The results are relatively good. This algorithm can basically realize the detection and traffic statistics of heavy vehicles in different road conditions.

Key words:heavy vehicle detection;object detection;YOLOv4;deep learning;artificial intelligence

隨着深度学习的不断发展,其在各个领域都得到了广泛的应用[1]。在城市交通管理时,利用人工智能技术,可以有效实时分析城市交通流量、信号灯检测等,以此来提升城市道路的通行效率[2]。在车辆检测方面,深度学习也发挥了很重要的作用[3]。深度学习模型在检测车辆车牌、运行速度、运行轨迹、流量统计等各个方面都起到了关键性的作用[4],极大地降低了交通管理人员的负担,为人们带来了一定的便利。

目前,大多数交通事故很大程度归因于重载车辆的行驶。重载车辆在桥段上行驶时,会极大程度地增加桥的承载负担,对桥段造成很严重的损害[5],以至于发生桥面断裂、坍塌等重大事故。利用深度卷积神经网络自动识别重车是一种有效的途径[6]。

为了在交通管理方面减轻管理人员的负担,同时也为了大多数行车人员的安全着想,本文设计了一套利用深度学习对重车进行检测的系统。该系统主要功能就是实现对视频中重车的检测,并统计画面中重车的数量,以反馈给交通管理人员,保证行车人员的安全,减少交通事故的发生。

1 基于YOLOv4算法的重车检测原理

YOLOv4网络的结构由三部分组成:

lBackBone:CSPDarknet53;

lNeck:SPP、FPN + PAN;

lHEAD:YOLO HEAD。

其网络结构图如图1所示。

1.1 BackBone:CSPDarknet53

BackBone部分是整个网络中图像特征提取的部分。CSPDarknet作为一种图像特征提取网络,其特征提取能力较强的同时,检测速度也足够快。相比于CSPResNext50网络来说,CSPDarknet53网络在目标检测领域的精度更优。

1.2 Neck:SPP、FPN + PAN

Neck部分主要用于融合不同尺度特征图的特征信息。SPP采用1×1、5×5、9×9、13×13的最大池化的方式,进行多尺度融合,该模块有效地增加主干特征的接受范围,显著地分离了最重要的上下文特征。在FPN + PAN模块中,FPN自顶向下工作,将高层的特征信息通过上采样的方式进行传递融合,得到预测的特征图;PAN自底向上传达强定位特征。两个部分共同工作,从不同的主干层对不同的检测层进行参数聚合,大大提高了特征提取的能力。

1.3 Head:YOLO Head

Head部分主要用于将特征信息进行反卷积,得到实际输出的结果,即:每一帧图片中所有物体的位置、类别以及类别置信度。

2 算法实现

2.1 系统功能模块

该系统主要分为两个模块:检测模块、显示模块。

2.1.1 检测模块

系统可以利用已经训练好的重车检测模型,对输入的视频进行检测。该模块主要会检测:视频中所有物体的位置、所有物体的类别以及重车的数量。

2.1.2 显示模块

在显示模块中,系统会将检测到的结果在视频中显示出来,包括所有物体、物体的类别、类别置信度、检测视频的帧数和当前帧中重车的数量。系统功能模块图如图2所示。

2.2 主要算法描述

在YOLOv4算法中,主要的算法包括以下3个:Mosaic数据增强、Mish激活函数、CIoU损失函数。

2.2.1 输入Mosaic数据增强

数据增强是利用已有的数据进行一定的变换比如翻转、平移、旋转等操作,创造出更多的数据,从而使神经网络具有更好泛化效果的一种方法。Mosaic数据增强参考了CutMix数据增强的思想,二者具有一定的相似性。CutMix数据增强的方式是利用两张图片进行拼接(如图3(a)所示),而Mosaic利用四张图片进行拼接(如图3(b)所示)。这种方式的主要特点就是增加了单张图片的丰富度,在BatchNormalization的时候可以同时计算四张图片,效率较高。

Mosaic的实现步骤如下:

l每次读取四张图片;

l分别对四张图片进行翻转、缩放等变化;

l将四张图片按照左上、左下、右上、右下四个位置摆放好;

l将四张图片进行拼接。

2.2.2 Mish激活函数

激活函数的作用主要是用于在模型中加入非线性因素,使得模型具有更多的可能性。Mish激活函数是在Leaky_Relu算法的基础上改进而来。二者比较图如图4所示。

从图4中可以看出,在输入x=0处,Leaky_Relu函数出现了拐点,即不平滑;而Mish函数是平滑的。平滑意味着允许更好的信息深入神经网络,从而得到更好的准确性和泛化性。

2.2.3 CIoU损失函数

损失函数衡量了模型预测结果和真实结果之间的误差值,模型可以根据损失函数来更新模型的参数,使预测结果朝着更好的方向进行。CIoU损失函数综合考虑了预测框与真实框的:面积的交并比、中心距离、宽高比的差异。可以用如下公式来计算CIoU损失函数:

其中CIoU的三个组成部分分别表示:

l预测框与真实框面积的交并比;

l预测框与真实框中心点距离平方除最小外接矩形对角线距离平方;

l预测框与真实框宽高比的差异。

3 实验

3.1 模型训练

本文采用重车检测数据集对YOLOv4模型进行训练。该数据中总共有11个立交桥的视频,每个立交桥中有20-50个视频。将每个视频大约分了300-600帧,并加上自己寻找的行人图片数据400张。然后用LabelImg软件对所有图片進行标注(car、truck、non-motor、person四个类别),最终得到8700个图片和6817个xml文件(标注结果)。然后将标注后的数据按9:1的比例分为训练集、验证集,并输入模型当中进行训练。在超参数方面,我们设置迭代次数Epoch=40、学习率lr=1e-3、批量样本数Batch_size=2、优化算法为Adam算法。

本次训练总共20个小时。训练损失值变化、验证损失值变化如图5所示。

从图5中可以看出,损失值逐渐下降,最后趋于稳定,即算法逐渐达到了收敛。

3.2 检测结果

将待检测视频输入到模型中,一帧一帧地读取视频并进行检测,并用矩形框框出每帧中的所有类别以及对应的置信度。视频左上角还会显示当前的FPS和当前帧中重车的个数。结果如图6所示。

4 结束语

本文采用深度学习领域中的目标检测算法,实现了对于不同路况中重车的检测,一定程度上解决了交通管理方面存在的一些痛点。在众多目标检测算法中,本文选择了目前检测速度和检测精度兼顾较好的YOLOv4算法,并采用重车检测数据集进行训练。实验结果表明,YOLOv4算法在重车检测数据集上实现了收敛,并在重车检测方面取得了一定的成果。现如今,大多数桥坍塌等交通事故中,重载车辆都是根本原因之一。随着大数据、深度学习的普及和广泛应用,可以有效帮助交通管理人员减轻一定的负担。相信在将来,准确度更好、检测速度更快的检测器运用于重车检测的话,交通情况会改善很多,大型交通事故也会渐渐消失。

参考文献:

[1] 王慧玲,綦小龙,武港山.基于深度卷积神经网络的目标检测技术的研究进展[J].计算机科学,2018,45(9):11-19.

[2] 张兴国,刘晓磊,李靖,等.BP神经网络下的限速交通标志实时检测识别[J].西安电子科技大学学报(自然科学版),2018,45(5):136-142.

[3] 赵奇慧,刘艳洋,项炎平.基于深度学习的单阶段车辆检测算法综述[J].计算机应用,2020,40(S2):30-36.

[4] 张向清.高速公路场景下基于深度学习的车辆目标检测与应用研究[D].西安:长安大学,2018.

[5] Liu Y M,Zhang X Y,Zhang B Z,et al.Deep network for road damage detection[C]//2020 IEEE International Conference on Big Data (Big Data).December 10-13,2020,Atlanta,GA,USA.IEEE,2020:5572-5576.

[6] 马传香,汪炀杰,王旭.基于卷积神经网络的煤炭运载车辆识别[J].计算机科学,2020,47(S2):219-223.

【通联编辑:唐一东】

猜你喜欢

目标检测深度学习人工智能
2019:人工智能
人工智能与就业
数读人工智能
视频中目标检测算法研究
行为识别中的人体运动目标检测方法
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
移动机器人图像目标识别
基于P3电位的目标检测研究