APP下载

基于YOLOv4 算法的骑乘人员头盔佩戴的远程检测

2023-10-29李明杜茂华

农业装备与车辆工程 2023年10期
关键词:骑乘头盔以太网

李明,杜茂华

(650500 云南省 昆明市 昆明理工大学 机电工程学院)

0 引言

摩托车、电动车、自行车等骑乘交通工具以其便捷、便宜、环保等特点受到出行者的广泛欢迎,但这类骑乘人员在驾驶过程中完全暴露于道路之中,容易在交通事故中伤亡。2019 年,我国共发生交通事故244 058 起,其中摩托车、非机动车、自行车交通事故发生数共76 967 起,占比约为31.54%。摩托车、非机动车、自行车发生交通事故致死人数占总交通事故死亡人数的24.91%[1]。

骑行头盔是骑乘交通工具不可缺少的一部分,可以有效减少发生交通事故时的伤亡。近几年全国各地陆续开始实施相关法规,要求骑乘者必须佩戴安全头盔。在各个交通要道安排执勤人员检测骑乘者头盔佩戴情况,但是这种检测方式效率低、漏检率高,对执勤人员的生命安全也存在一定威胁。

近十年人工智能崛起,机器学习代替了人工学习,极大地提高了工作效率,尤其在图像处理领域,深度学习成果显著。采用深度学习网络对骑行人员进行头盔佩戴检测能有效解决当前所存在的问题。目前,基于深度学习的目标检测算法主要分为2 类:(1)两阶段(Two-stage)算法,如RCNN[2](Region-proposal Convolutional Neural Network)、Fast R-CNN[3]、Faster R-CNN[4]、R-FCN[5](Regionbased fully convolutional network)、Mask R-CNN[6]等;(2)单阶段(One-stage)算法,如SSD[7](Single Shot MultiBox Detector)、YOLO[8](You Only Look Once)等。这2 类算法的区别在于是否需要生成候选框。一般而言,使用两阶段算法的模型在预测精度上表现优秀,但2 步计算方式增加了计算成本,影响网络训练速度。YOLO、SSD 等单阶段算法将目标边框定位问题转化为回归问题,可以进行端到端检测,因为没有候选框,所以速度快、实时性好,被广泛应用于工程实际中。

头盔检测应用的场景是车水马龙的交通道路,环境复杂,且人流车流量大。不但要对庞大的车流人流进行分析,还要从中识别出骑行者有无佩戴头盔,所以对模型运算精度和实时性都有较高的要求。因此,本文采用具有较高精度且时效性更好的单阶段算法YOLOv4 模型。传统检测方法将待检测目标划分为2 部分:骑车人和骑乘工具[9-10],这样制作的数据集极易将非骑行人员纳入识别范围,增加了拟识别对象的数目,也就增加了计算量和计算过程,所以在人员密集环境下的检测精度不高。为此,本文采用人与车整体标定的方法,即在制作数据集时,将骑车人与骑乘工具标定为一个整体。这样,训练出的网络就可有效地将骑车者与非骑车者区别开来;同时,为了实现远程监控功能,采用以太网搭配网络摄像头的方式,将现场采集的视频流通过以太网实时输送到YOLOv4 模型中进行分析预测,以实现远程目标的检测。

1 YOLOv4 算法原理

2020 年4 月,Bochkovskiy 等[11]在前3 版YOLO 模型的基础上,提出了YOLOv4 的网络模型,该模型将Cross-Stage-connection(CSP)、Self-adversarial-training(SAT)、Mosaic data augmentation 等技术融合,使YOLOv4 性能得到大幅度提高。图1 所示为各神经网络的性能对比。

图1 各神经网络的性能对比Fig.1 Performance comparison of each neural network

与YOLOv3 相比YOLOv4 网络主要有以下改进:(1)使用CSPDarknet53[12]代替Darknet53 作为特征提取网络,目的是解决复杂卷积神经网络框架主干中网络优化梯度信息重复的问题[13]。CSPDarknet53 模块示意图如图2 所示;(2)使用SPP[14]网络作为Neck 的附加模块,主要解决输入图像尺寸与所要求尺寸不匹配、对图像进行拉伸和裁剪时易失真的问题。该方法应用于YOLOv4 中,增强了网络感受野。网络结构示意图如图3 所示;(3)使用PANet[15]作为Neck 的特征融合模块,进一步加强了YOLOv4 的特征提取能力。

图2 CSPDarknet53 模块示意图Fig.2 CSPDarknet53 module diagram

图3 YOLOv4 网络结构示意图Fig.3 Schematic diagram of YOLOv4 network structure

2 实验

实验平台是Windows10(64位)操作系统,CPU为AMD Ryzen 7 4800H,2.9 GHz,GPU 为NVIDIA GTX1650Ti,显存为4 G。CUDA 版本为10.2,CuDNN版本为7.6.5,采用的编程语言为Python3.7。

2.1 数据集制作

为了适应在复杂交通环境中对来往骑行车辆进行头盔检测,本文采用网络爬取图片加摄像头拍摄的方式制作数据集。网络爬取的目的是收集不同拍摄角度骑行状态的图片,便于后期模型能学到多种特征,进而提高检测的精度。摄像头拍摄马路上真实交通状态,一张图片中包含多个检测目标,有利于后期训练出的模型对密集目标的检测,更好地拟合实际交通情况。图片采集情况如图4 所示。

图4 图片采集Fig.4 Image acquisition

为了解决现有模型[9]错误地将行人判定为待检测目标的问题,本文采用整体标定的方式对拟检测目标进行标定,使得模型检测的范围锁定为骑行者而非其他目标,整体标定例图如图5 所示。因为对目标进行检测属于监督学习的范畴,所以要对训练集中待检测的目标进行位置和类别的标注。采用Labeling 软件对图片进行逐一标注,生成xml 文件,文件格式如图6 所示。本次数据集一共采集1 500张图片,其中75%作为训练集,25%作为测试集。

图5 整体标定示意图Fig.5 Overall calibration diagram

图6 xml 文件Fig.6 xml file

2.2 二分K-means 先验框聚类分析

对于一个给定的样本,样本里包含n个对象,X={X1,X2,X3,…,Xn},随机设置K个特征空间内的点作为初始的聚类中心{m1,m2,m3,…,mk},然后计算每个点到K个中心的欧式距离,未知的点选择最近的一个聚类中心点作为标记类别。欧式距离表达式为

式中:Xi——第i个对象;mi——第i个聚类中心;Xit——第i个对象的第t个属性。

采用误差二次方和准则函数作为聚类准则函数,误差二次方和J为

式中:ni——第i个聚类样本点数量;mi——第i个聚类中心;Xij——第i个聚类中的第j个样本点。

本实验所涉及的对象只有戴头盔与未带头盔2种,因此需要重新对先验框进行聚类分析。K-means算法具有收敛速度快、聚类效果较好的优点,但得到的结果和运行时间容易受初始聚类中心的影响,一旦初始聚类中心选取不恰当,就容易造成局部最优解。为了解决局部最优解问题,本实验采用二分K-means 算法对先验框进行聚类分析。该算法不需要选择初始聚类中心,由一个样本集分裂后得到2 个簇,对于K个簇则进行K-1 次分裂,具体流程如图7 所示[16]。实验得到在K=9 时先验框最优,分别为(35,84)、(80,118)、(115,162)、(92,282)、(151,219)、(148,441)、(223,338)、(285,500)、(431,543)。之后再将新的聚类结果更新到YOLOv4 的配置文件中进行训练。

图7 二分K-means 算法流程图Fig.7 Flow chart of bisection K-means algorithm

2.3 模型训练

首先修改YOLOv4 相关配置文件,本次实验选择迭代次数为8 000 次,学习率使用分步策略。训练结果如图8 所示。

图8 实验结果对比Fig.8 Comparison of experimental results

从图8(a)可以看出,未采用二分K-means算法之前所标定的先验框在训练过程中的mAP波动较大,mAP=78.4%;图8(b)采用二分K-means算法对整体标定数据集的先验框聚类分析训练时的mAP处于较平稳状态,mAP=90.8%,因此,采用改进算法后的准确率有很大提升,如表1 所示。

2.4 目标检测

改进前后的目标检测效果如图9 所示。图9(a)为改进前模型检测结果,在预测的过程中将图片中间的步行者视为待检测目标,对其进行有无佩戴头盔的判定,造成了错检,且容易对远处目标漏检。图9(b)为改进后效果,模型能正确识别出骑行者与非骑行者,只对骑行者进行头盔检测。

图9 改进前后的检测效果比较Fig.9 Comparison of detection effect before and after improvement

3 远程检测

本文采用网络摄像头+以太网的方式,实现对目标的远程检测,且YOLOv4 网络模型的检测精度远远高于人工检测,可将执法人员从危险的执法环境中脱离出来

3.1 传输设备

网络摄像头型号 MC-E25,长宽为38 mm×38 mm,约60 g,工作电压DC12 V、电流2 A。该摄像头可适应环境温度最高为85 ℃,完全适用于本文要求的实验环境,还具有一个型号为RJ45 的10/100 M 自适应以太网接口,以太网接口具有通讯速率高、通讯稳定的特性,能确保网络摄像头采集的环境图像快速、稳定地传输至PC 端。该网络摄像头像素为400 万,焦距为4 mm,可观察至20 m处物件轮廓,主码流帧数25 FPS,支持即时串流协议RTSP(Real Time Streaming Protocol)、ONVIF(Open Network Video Interface Forum)、HTTP、P2P 等视频流网络协议以及NVR(Network Video Recorder)对接协议。

3.2 远程传输和检测

首先使用ONVIF 获取网络摄像头的RTSP 地址。ONVIF 使不同网络摄像头具有互通性,同时可以利用 ONVIF 协议来实现对网络摄像头的信息获取,如获取RTSP 地址信息、实时视频流与音频等。而RTSP 则是用于实现视频或音频的多媒体串流,可以使用TCP(Transmission Control Protocol)或UDP(User Datagram Protocol)来实现信息传输,另外可以实现多个串流控制,即可以同时获取多个网络摄像头的视频或音频信息。

在获取网络摄像头RTSP 地址后,可将其输入到摄像头显示软件中,如图10 所示。在图11 中所显示的MC-E25 网络摄像头的RTSP 地址为“rtsp://admin:123456@192.168.0.123:554/mpeg4”,该地址中“rtsp”为协议类型,“192.169.0.123”为网络摄像头IP 地址,“554”为网络端口,“mpeg4”表示获取主码流。PC 端根据RTSP 地址获取视频流信息,之后再将截取后的视频流通过以太网导入YOLOv4 的网络模型中进行预测,最终的显示效果如图11 所示。图11(a)为网络摄像头获取视频流,通过以太网实时输送到PC 端的YOLOv4 模型中,对画面中佩戴头盔的对象做出了正确的识别;图11(b)为对未佩戴头盔对象做出了正确识别。

图10 输入RTSP 地址Fig.10 Input the RTSP address

图11 网络摄像头远程实时监控Fig.11 Remote real-time monitoring by webcam

4 结论

在使用相同YOLOv4 模型的条件下,一方数据集采用整体标定的方式进行制作,另一方采用非整体标定的方式进行制作。结果表明,整体标定的数据集所训练出来的网络模型能够对非骑行状态下与骑行状态下的2 种状态进行区分,更加适用于真实的交通环境。为了提高检测精度,通过二分K-means算法对先验框进行聚类分析,得到一组最适合该实验条件的9 组先验框,采用分步训练方式优化学习权重,平均准确率mAP达到了90.8%;其次,为了将执法者从危险的交通环境中脱离出来,采用网络摄像头+以太网进行远距离的传输,最终实现了在PC 端进行远程检测。因此,使用此方法使得骑乘人员头盔佩戴的远程检测成为可能。

猜你喜欢

骑乘头盔以太网
犬用战术头盔
骑乘、验马和运动三合一马舍的建设与使用
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
关于古代马之骑乘与驾车探源
2019英国最受父母喜爱骑乘品牌菲乐骑携新品参展CKE中国婴童展
小头盔,大防护
当头盔遇上高科技
中消协呼吁消费者文明骑乘共享单车
谈实时以太网EtherCAT技术在变电站自动化中的应用
汉字戴头盔