基于YOLOv4网络的违章行为检测算法

2021-09-14 02:45谷玉海曹梦婷修嘉芸
关键词:准确率特征模块

谷玉海,曹梦婷,修嘉芸,任 斌,刘 朔

(1.北京信息科技大学 现代测控教育部重点实验室, 北京 100192;2.北京航天长征飞行器研究所, 北京 100076)

近年来,随着经济的飞速发展,我国的车辆保有量和驾驶人数量快速增长,由驾驶人违章导致的交通事故也越来越多。随着交通环境的变化,传统的违章检测算法的准确率降低,适应环境的能力变差,而基于深度学习的违章检测算法相对于传统的违章检测方法,具有更高的检测效率、准确率及更强的环境适应能力,能够更好地检测违章行为,并通过处罚、警示等手段促使驾驶人遵守交通法规,减少交通事故的发生[1]。

大量数据表明,30%以上的交通事故是由驾驶人员在行驶的过程中拨打手持电话所造成的,开车时使用手持电话发生交通事故的风险比平常高出4倍[2],因此,使用违章检测算法对驾驶人员在行驶过程中拨打手持电话这种违章行为进行检测是十分有必要的。

目前在违章检测算法中所使用的传统目标检测算法有Haar特征+Adaboost算法[3]、Hog特征+SVM算法[4]、DPM算法[5]等,这些算法主要是用滤波、二值化、边缘检测等传统的图像处理技术对图片中的车牌进行定位和识别,对于背景信息简单,单一目标的检测,具有较好的检测效果。但是随着车辆及驾驶员数量的增多、交通环境的复杂化,传统的目标检测算法在交通场景下漏检率变高、识别准确率下降、泛化能力变差。2015年,Ren等[6]提出Faster R-CNN网络,该网络使用RPN(region proposal network)网络替代R-CNN系列网络中的选择性搜索,从而达到共享卷积网络的特征提取,提高识别的准确率及速度。2016年,华盛顿大学的Joseph Redmon等[7]在CVPR上提出YOLO算法,该算法采用与之前的目标识别算法相同的回归思路,该方法的出现极大地提高了目标识别的效率。Liu等[8]提出SSD算法,该算法将YOLO算法的回归方法和Faster R-CNN算法的锚框思想相结合,SSD算法在整图上的每个位置进行多尺度局部边框回归,因此既有YOLO网络的快速性又有较高的定位准确率,但是对小目标检测的效果不好。2018年,Joseph Redmon等[9]经过2年的研究提出YOLOv3网络,该网络在小目标识别上的mAP有较大提高并保持一个较高的识别效率,但此网络不能对视频图像实现逐帧实时检测的效果。2020年4月,Bochkovskiy等[10]提出了最新的YOLOv4网络,YOLOv4无论是检测的准确率还是检测速度,相较于YOLOv3都有了较大提升。

因此,以YOLOv4网络为基础,设计了一种利用目标检测算法进行实时违章检测的方法,通过检测驾驶人员行车过程中的人脸特征、手部特征、手持电话特征和车前窗特征,并根据违章判断依据,判断驾驶人员在行车过程当中是否存在拨打手持电话的违章行为。通过实验验证了该方法的可行性。

1 YOLOv4网络简介

2020年4月,Bochkovskiy等提出了最新的YOLOv4网络,他们将Weighted-Residual-Connections(WRC)、Cross-Stage-Partial-connections(CSP)、Cross mini-Batch Normalization(CmBN)、Self-adversarial-training(SAT)、Mish-activation、Mosaic data augmentation等技术进行组合,得到了性能大幅度提高的YOLOv4网络,不同网络性能如图1所示。

图1 网络性能曲线

在MS-COCO数据集上,YOLOv4网络的AP达到了43.5%,帧频达到了65 FPS,在YOLOv3的基础上将AP和FPS分别提高了10%和12%,而且YOLOv4网络的运行速度是谷歌所开发的EfficientNet网络的2倍,YOLOv4网络的检测准确率以及运行速度都远远高于YOLOv3网络[10]。

相较于YOLOv3网络,YOLOv4网络主要有以下改进:

1) 使用CSPDarknet53作为骨干网络BackBone

在选择网络结构时,需要在输入网络分辨率、卷积层数、参数量之间找到最佳平衡,在确定网络结构之后,需要选择额外的模块以提升感受野,选择更好的特征汇聚模块,更大感受野、更大参数量的模型能使网络性能更优,通过对比不同backbone的上述特征信息,CSPResNeXt50仅仅包含16个卷积层,其感受野为425×425,包含20.6 M参数;而CSPDarkNet53包含29个卷积层,725×725的感受野,共有27.6 M参数,更适合作为检测模型的Backbone。因此YOLOv4网络选择CSPDarknet53作为网络的BackBone。

Darknet53网络结构如图2所示[11],共有5个大残差块,每个大残差块所包含的小残差单元个数为1、2、8、8、4,CSPDarknet53是在Darknet53网络的每个大残差块上增加了CSP模块,如图3所示。

图2 Darknet53网络结构示意图

图3 CSPDarknet53模块示意图

每个CSP模块前面的卷积核的大小都是3*3,stride值为2,因此可以起到下采样的作用。因为Backbone有5个CSP模块,输入图像是608*608,所以特征图尺寸的变化的规律是:608->304->152->76->38->19,经过5次CSP模块后,能够得到19*19大小的特征图。在Backbone网络中采用Mish激活函数,Backbone网络之后的网络中仍然采用Leaky_relu激活函数。在Yolov4的主干网络Backbone采用CSPDarknet53网络结构,主要有3个方面的优点,第一是增强CNN的学习能力,使得在轻量化的同时保持准确性;第二是降低计算瓶颈;第三是降低内存成本。

2) 使用SPP网络作为Neck的附加模块

SPP(spatial pyramid pooling)网络在YOLOv4网络中的目的是增加网络的感受野,采用1×1,5×5,9×9,13×13的最大池化的方式,进行多尺度融合,然后将最大池化的结果在Concat层实现数据拼接,得到特征图层,最后通过1x1池化将特征图降维到512个通道,如图4所示。相较于使用单纯的k*k最大池化方式,使用SPP模块能够更有效地增加主干特征的接收范围,显著的分离重要的上下文特征。在使用YOLOv4网络对608*608大小的图像进行测试时发现,在COCO目标检测任务中,能够以0.5%的额外计算代价将AP50增加2.7%,因此在YOLOv4网络中采用了SPP模块。

图4 YOLOv4网络结构示意图

3) 使用PANet作为Neck的特征融合模块

与YOLOv3网络所使用的FPN层不同,YOLOv4网络在FPN层的后面添加了一个自底向上的特征金字塔,其中包含2个PAN结构,如图4所示,FPN层自顶向下传达强语义特征,而特征金字塔则自底向上传达强定位特征,从不同的主干层对不同的检测层进行参数聚合,能够进一步提高网络的特征提取能力。

为了使YOLOv4网络在进行训练时,更适用于单GPU设备,YOLOv4网络在YOLOv3网络的基础之上还进行了如下的额外设计与改进:

1) Mosaic数据增强

Yolov4中使用的Mosaic数据增强方式是参考2019年底提出的CutMix数据增强的方式,但CutMix只使用了2张图片进行拼接[12],而Mosaic数据增强则采用了4张图片,以随机缩放、随机裁剪、随机排布的方式进行拼接,如图5所示。Mosaic数据增强方式主要有以下几个优点:第一是丰富数据集,随机使用4张图片,随机缩放,再随机分布进行拼接,大大丰富了检测数据集,特别是随机缩放增加了很多小目标,让网络的鲁棒性更好;第二是降低对GPU的数量要求,使用Mosaic数据增强之后的图片资源进行训练时,可以直接计算4张图片的数据,使得Mini-batch的大小并不需要很大,使用一个GPU就可以达到比较好的训练效果。

图5 Mosaic数据增强示意图

2) Self-Adversarial Training

Self-Adversarial Training(自对抗训练)也是一种新的数据增强方法,可以一定程度上抵抗对抗攻击。其包括2个阶段,每个阶段进行一次前向传播和一次反向传播。第1阶段,CNN通过反向传播改变图片信息,而不是改变网络权值,通过这种方式,CNN可以进行对抗性攻击,改变原始图像,造成图像上没有目标的假象。第2阶段,训练神经网络,以正常的方式在修改后的图像上检测目标。

3) CmBN

YOLOv4所使用的规范化方法为交叉小批量规范化CmBN (cross mini-batch normalization),BN(batch normalization)是对当前的mini-batch进行归一化,CBN(cross-iteration BN)是对当前及当前往前数3个mini-batch的结果进行归一化。而YOLOv4中所使用的CmBN则是仅仅在这个Batch中进行累积,仅在单个批次内的小批次之间收集统计信息,进行归一化,这样能够使得检测器更适合在单个GPU上进行训练。

2 违章判据设计

判断驾驶员是否拔打手持电话需要综合人脸特征、手部特征、手持电话特征以及车前窗特征进行判断。若人脸特征、手部特征以及手持电话特征三者存在交叉区域,且此交叉区域出现在车前窗的右半边部分(主驾驶位置),则说明驾驶员存在拨打手持电话的违章行为。其判断流程如图6所示。在判断交通图像中存在违章行为之后,需要将车牌特征也进行提取。

图6 违章行为判断流程框图

3 实验

3.1 数据集制作

对于交通图像中的目标进行检测属于监督学习,因此在制作训练集时需要对图像中待检测的目标的位置和类别进行标注。本数据集来源于实际交通场景。根据驾驶人员在行驶过程中拔打手持电话这种违章行为的判据设计,需要对交通图像中的人脸特征、手部特征、手持电话特征、车前窗特征以及车牌特征进行标注,根据不同特征在图像中的出现情况,判断图像中是否存在驾驶过程中拨打手持电话的违章行为。用不同的标签代号代表每一种类别的特征,如表1所示。

表1 特征类别

标签制作采用labelimg开源工具,环境为Windows 10(64位)操作系统、python3.5。标记位置并输入标签类型,如图7所示,最后点击保存生成一个和图片同名的xml类型的文件,如下所示:

图7 labelimg开源工具

xml文件记录着图像资源的信息以及标签的类型及位置。图像资源共有24 000张,图像资源分辨率有2 048*1 380、1 616*10 462种。训练集包含20 000张真实交通卡口图像,验证集包含2 000 张真实交通卡口图像,测试集包含2 000张真实交通卡口图像。

3.2 实验配置

实验环境配置如下:CPU为英特尔的i5-8500,主频为3.00 GHz,内存为16 GB,显卡为英伟达的GeForce GTX 1080 Ti,显存为11GB,CUDA版本为8.0,CuDNN版本为6.0,操作系统为ubuntu16.04.05(64位)。

分别使用YOLOv3网络和YOLOv4网络进行目标检测实验:

YOLOV3网络与YOLOv4网络的训练参数配置相同,如下:将输入图片的batch、subdivisions分别设置为64、16。迭代次数设置为20 000次。学习率使用分步策略,初始值设置为0.001,变化的次数为16 000和18 000,比率为0.1和0.1。

3.3 训练

YOLOv3网络在训练过程中的IOU变化曲线以及损失函数变化曲线分别如图8、9所示,YOLOv4网络在训练过程中的IOU变化曲线以及损失函数变化曲线分别如图10、11所示。

图8 YOLOv3网络训练过程中的IOU变化曲线

图9 YOLOv3网络训练过程中的损失函数变化曲线

图10 YOLOv4网络训练过程中的IOU变化曲线

图11 YOLOv4网络训练过程中的损失函数变化曲线

通过图8、10可以得出,2种网络的平均IOU值均可满足实际应用,但对比图9、11可以得出,YOLOv4网络具有更快收敛速度。

3.4 实验结果

如表2所示,YOLOv4网络对交通图像中的脸、手、手机、前窗、车牌的定位准确率均高于YOLOv3网络,YOLOv4网络对所有待检测目标进行定位的mAP为91.59%,YOLOv3网络对所有待检测目标进行定位的mAP为77.29%,YOLOv4网络的定位准确率远远高于YOOLOv3网络,这是由于YOLOv4在对数据集进行训练之前,首先对数据集进行了如本文所述的Mosaic数据增强、自对抗训练等数据集增强方法,增强了数据集的完整性与网络的容错性。

表2 检测准确率 %

YOLOv4网络的检测帧频为38.41 FPS,YOLOv3网络的检测帧频为28.89 FPS,YOLOv4网络的检测速度远快于YOLOv3网络,这是由于在YOLOv4网络中增加了dropblock模块,在增强网络鲁棒性的同时,能够减少网络参数,并且交叉小批量规范化方法更有助于单个GPU对数据集进行训练。

图12、13为实际检测效果,图12中,检测到了图片中的车前窗范围内存在人脸手部和手机,且手部手机人脸存在交叉区域,因此可以判定图片中存在驾驶过程中拨打手持电话的违章行为,车牌也同时被定位出来,能够用于后续的车牌识别。图13中虽然在车前窗检测到手部和人脸,但未检测到手机,因此,不存在驾驶过程中拨打手持电话的违章行为。

图12 存在违章行为检测效果图

图13 不存在违章行为检测效果图

4 结论

分别使用YOLOv3网络与YOLOv4网络在相同的数据集下进行目标检测实验,对交通图像中的人脸、手部、手持电话、车前窗及车牌进行检测,根据检测结果判断图像中是否存在拨打手持电话的违章行为。使用YOLOv4网络进行目标检测的mAP为91.59%,使用YOLOv3网络进行目标检测的mAP为77.29%,YOLOv4网络的检测准确率远远高于YOLOv3网络,且YOLOv4进行目标检测时的帧频为38.41 FPS,也比YOLOv3的帧频28.89 FPS快得多,因此,使用YOLOv4网络进行违章行为检测是一种有效可行的方法。

猜你喜欢
准确率特征模块
根据方程特征选解法
28通道收发处理模块设计
“选修3—3”模块的复习备考
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
不忠诚的四个特征
高速公路车牌识别标识站准确率验证法
抓住特征巧观察
集成水空中冷器的进气模块