基于深度学习的机动车驾驶员危险驾驶行为检测方法



1.本发明属于目标检测技术领域,涉及利用改进的轻量级目标检测网络模型进行危险驾驶行为的检测,具体涉及一种基于深度学习的机动车驾驶员危险驾驶行为检测方法。


背景技术:



2.根据世界卫生组织(wto)调查显示,每年由机动车辆引起的死亡人数超过一百万人,致两千万到五千万人受伤,并且该数据每年都呈现上涨的趋势。因此,全社会对于人工智能在交通安全领域的运用愈发关注,越来越多的人开始研究和设计不同的模型,来针对更复杂场景下的驾驶员危险行为检测。与此同时,公开数据集、公开的模型和论文都在研究如何检测驾驶员的不同行为。危险驾驶行为检测是对驾驶员在驾驶机动车辆过程中出现的不安全行为进行检测预警,如使用手机、抽烟及喝水等不安全动作。
3.t.hoang等人描述了自动判断驾驶员是否正在使用手机的方法,并检测他的双手是否放在方向盘上。siddharth等通过深度学习方法实现对驾驶员手部进行定位和动作分类,用于检测驾驶员的手是否握在方向盘上。熊芳等提出一种基于深度学习的驾驶员打电话行为检测方法,首先通过渐进式pcn算法对人脸检测及追踪,而后通过卷积神经网络对打电话行为检测。hesham等通过yolo算法定位面部和手部后,采用alexnet网络提取特征,在state farm's distacted driver dataset数据集上的饮水等多类不安全驾驶行为识别上,取得了较高的检测精度。刘唐波等为了检测驾驶员不安全驾驶行为,提出了一种基于yolov3算法的驾驶员手部动作检测方法,具体实现包括人体姿态估计模块、手部检测模块和手部动作分类模块,在自制数据集上进行实验测试,最终取得了92.5%的检测精度和24fps的检测速度。
4.尽管上述方法已经能够在一定程度上实现危险驾驶行为的准确识别,但是仍然存在模型参数量较大导致识别速度慢,以及对较小目标或遮挡目标检测精度低等问题,无法适应实际使用需求。


技术实现要素:



5.针对现有技术的不足,本发明提出了基于深度学习的机动车驾驶员危险驾驶行为检测方法,提出一种基于yolov5s的驾驶员危险行为检测方法。该方法使用网络参数大大降低的轻量级模型,提高了检测效率,缩短了检测时间,更大程度上保证了驾驶安全。
6.基于深度学习的机动车驾驶员危险驾驶行为检测方法,具体包括以下步骤:
7.步骤1、构建改进的yolov5s轻量网络模型
8.s1.1、使用mobilenet-v3结构替换yolov5s backbone部分的csp-darknet53。
9.s1.2、在mobilenet-v3神经网络的mobilenet_block后加入sppf金字塔池化结构,用于将特征图转换成固定大小的特征向量。
10.s1.3、使用cbam注意力机制结合bottleneck,替换yolov5s head部分的c3结构,并用基于ghostnet改进的ghostconv替换conv层。
11.s1.4、使用diou-nms替换原有的nms,其公式为:
[0012][0013][0014]
其中,iou表示两个区域的交并比,a、b分别表示两个区域,b、b
gt
分别代表了预测框和真实框的中心点,ρ表示两个中心点间的欧氏距离,c代表能够同时包含预测框和真实框的最小闭包区域的对角线距离。
[0015]
步骤2、构建训练数据集
[0016]
收集多张机动车驾驶员进行不同危险驾驶动作时的图片,并随机进行翻转、裁剪、中心旋转或降噪以扩充数量,标注图片对应的危险驾驶动作类型后得到训练数据集。
[0017]
步骤3、模型训练
[0018]
使用步骤2构建的训练数据集对步骤1改进后的yolov5s轻量网络模型进行训练,设置训练次数、初始学习率与步长,损失函数包括分类损失、定位损失和置信度损失。其中分类损失和定位损失使用二元交叉熵函数计算:
[0019]
loss=l1+

+ln,ln=-[yn
·
log(σ(xn))+(1-yn)
·
log(1-σ(xn))]
[0020]
其中,l1,

,ln表示单个样本的损失函数,yn表示第n个样本的二元标签,σ(xn)表示sigmoid函数,用于将数据映射到(0,1)的区间内。置信度损失计算使用iou函数计算。激活函数为:
[0021][0022]
其中,relu6为限最大输出为6的relu激活函数。
[0023]
步骤4、向步骤3训练后的网络模型输入驾驶员驾驶机动车时的图像或视频数据,识别驾驶员是否存在危险驾驶行为及具体类别。
[0024]
本发明具有以下有益效果:
[0025]
对原始yolov5s网络模型进行改进,降低网络参数量,减小模型大小,提高识别速度;引入cbam注意力机制,提高网络的感受野可以识别出较小的目标,并提高网络识别的准确性。
附图说明
[0026]
图1为基于深度学习的机动车驾驶员危险驾驶行为检测方法的流程图;
[0027]
图2为实施例中改进的yolov5s轻量网络模型结构图;
[0028]
图3为实施例中输出的识别结果示意图;
[0029]
图4为实施例中模型输出识别结果的混淆矩阵;
[0030]
图5为实施例中模型输出识别结果的pr曲线。
具体实施方式
[0031]
以下结合附图对本发明作进一步的解释说明;
[0032]
如图1所示,基于深度学习的机动车驾驶员危险驾驶行为检测方法,具体包括以下
步骤:
[0033]
步骤1、构建改进的yolov5s轻量网络模型
[0034]
s1.1、使用mobilenet-v3结构替换yolov5s backbone部分的csp-darknet53。yolov5s中原始的backbone部分采用csp-darknet53结构,该结构包括conv、resblock和cspstage。虽然该结构的性能非常优秀,但是参数量较多,训练出的模型较大,不适合在算力较小的移动设备上部署。mobilenev-v3结构使用深度可分离卷积,可以降低网络的计算量,通过分组卷积可以进一步降低网络的计算量。配合se-net通过学习来自动获得每个特征通道的重要程度,然后依照这一结果去提升有用的特征并抑制对当前任务用处不大的特征。在含有se-net的结构中将expansion layer的通道数变为原先的1/4,既提高了精度,也没有增加时间的消耗,并且提升了模型对通道间特征的敏感性。
[0035]
s1.2、用于将特征图转换成固定大小的特征向量。
[0036]
考虑到当危险驾驶动作发生在远离摄像头的一侧时,目标图像的尺寸较小,导致难以有效识别的问题,在mobilenet-v3神经网络的mobilenet_block后加入sppf金字塔池化结构,通过多个5
×
5大小的maxpool进行特征提取,将大小不同的输入特征图转换成固定大小的特征向量,提高网络的感受野。
[0037]
s1.3、使用cbam注意力机制结合bottleneck,替换yolov5s head部分的c3结构,可以更好得获取backbone部分提取的特征,并且利用这些特征做出更准确的预测;使用改进的更加轻量高效的ghostnetconv替换原有的conv,使得模型的大小更加精简,效果更好。
[0038]
s1.4、由于在驾驶过程中驾驶员的危险驾驶行为动作可能会受到其他物体的遮挡使得模型检测性能受到影响,因此使用适用阈值更广的diou-nms替换原有的nms。相较于传统的nms,diou-nms不仅仅考虑iou,还考虑两个框中心点之间的距离。如果两个框之间iou比较大但两个框的距离比较大时,可能会认为这是两个物体的框而不是直接过滤掉,其公式为:
[0039][0040][0041]
其中,iou表示两个区域的交并比,a、b分别表示两个区域,b、b
gt
分别代表了预测框和真实框的中心点,ρ表示两个中心点间的欧氏距离,c代表能够同时包含预测框和真实框的最小闭包区域的对角线距离。
[0042]
最终得到的yolov5s轻量网络模型结构如图2所示,其中第一单元是1个conv_bn_hswish模块,该模块包括conv2d、batchnorm2d和h-swich激活函数,输出为16通道、320
×
320大小的特征图。
[0043]
第二单元是mobilenet_block1,包括16个感受野大小为3
×
3、步长为2的卷积核,在inverted residuals中的扩张通道数为16,使用se结构和relu激活函数。
[0044]
第三单元是mobilenet_block2,包括24个感受野大小为3
×
3、步长为2的卷积核,在inverted residuals中的扩张通道数为72,不使用se结构,使用relu激活函数。
[0045]
第四单元是mobilenet_block3,包括24个感受野大小为3
×
3、步长为1的卷积核,在inverted residuals中的扩张通道数为88,不使用se结构,使用relu激活函数。
[0046]
第五单元是mobilenet_block4,包括40个感受野大小为5
×
5、步长为2的卷积核,在inverted residuals中的扩张通道数为96,使用se结构和h-swich激活函数。
[0047]
第六单元是mobilenet_block5,包括40个感受野大小为5
×
5、步长为1的卷积核,在inverted residuals中的扩张通道数为240,使用se结构和h-swich函数。
[0048]
第七单元是mobilenet_block6,包括40个感受野大小为5
×
5、步长为1的卷积核,在inverted residuals中的扩张通道数为240,使用se结构和h-swich函数。
[0049]
第八单元是mobilenet_block7,包括48个感受野大小为5
×
5、步长为1的卷积核,在inverted residuals中的扩张通道数为120,使用se结构和h-swich函数。
[0050]
第九单元是mobilenet_block8,包括48个感受野大小为5
×
5、步长为1的卷积核,在inverted residuals中的扩张通道数为144,使用se结构和h-swich函数。
[0051]
第十单元是mobilenet_block9,包括96个感受野大小为5
×
5、步长为2的卷积核,在inverted residuals中的扩张通道数为288,使用se结构和h-swich函数。
[0052]
第十一单元是mobilenet_block10,包括96个感受野大小为5
×
5、步长为1的卷积核,在inverted residuals中的扩张通道数为576,使用se结构和h-swich函数。
[0053]
第十二单元是mobilenet_block11,包括96个感受野大小为5
×
5、步长为1的卷积核,在inverted residuals中的扩张通道数为576,使用se结构和h-swich函数。
[0054]
第十三单元是sppf结构。
[0055]
之后的head中使用了改进的c3cbam代替了c3模块,并用基于ghostnet改进的ghostconv替换conv层。
[0056]
本技术改进后的网络模型大约有250万参数,相较于原始yolov5s的720万参数,减少了将近2/3,大小只有5.4m,更适合部署在移动终端设备中。
[0057]
步骤2、构建训练数据集
[0058]
收集多张机动车驾驶员进行不同危险驾驶动作时的图片。所述危险驾驶动作包括左手打电话、左手玩手机、右手打电话、右手玩手机、手握方向盘和喝水,对图片随机进行翻转、裁剪、中心旋转或降噪以扩充数量,这种扩充图片数量的方式既可以减少过拟合的发生,又减少了为了获取大量样本而付出的人力、物力。标注图片对应的危险驾驶动作类型后,按照6:2:2将所有图片分为训练集、验证集和测试集。
[0059]
步骤3、模型训练
[0060]
使用步骤2构建的训练集对步骤1改进后的yolov5s轻量网络模型进行训练,设置训练次数为30、初始学习率为0.01与步长为0.02,损失函数包括分类损失、定位损失和置信度损失。其中分类损失和定位损失使用二元交叉熵函数计算:
[0061]
loss=l1+

+ln,ln=-[yn
·
log(σ(xn))+(1-yn)
·
log(1-σ(xn))]
[0062]
其中,l1,

,ln表示单个样本的损失函数,yn表示第n个样本的二元标签,σ(xn)表示sigmoid函数,用于将数据映射到(0,1)的区间内。置信度损失计算使用iou函数计算。激活函数为:
[0063][0064]
其中,relu6为限制最大输出值为6的relu激活函数。
[0065]
步骤4、向步骤3训练后的网络模型输入步骤2得到的测试集,识别驾驶员是否存在
危险驾驶行为及具体类别,输出的识别结果如图3所示。统计模型在整个测试集的识别结果混淆矩阵与pr曲线,如图4、5所示,由图可知,本技术提出的方法对驾驶员的部分危险驾驶行为具有较好的识别效果,并且每张图片的识别时间在0.015s左右,能比较好的满足实时识别的要求。网络模型的大小仅有5.4m,可以满足架设在移动设备上的需求。

技术特征:


1.基于深度学习的机动车驾驶员危险驾驶行为检测方法,其特征在于:具体包括以下步骤:步骤1、构建改进的yolov5s轻量网络模型s1.1、使用mobilenet-v3结构替换yolov5s backbone部分的csp-darknet53;s1.2、在mobilenet-v3神经网络的mobilenet_block后加入sppf金字塔池化结构,用于将特征图转换成固定大小的特征向量;s1.3、使用cbam注意力机制结合bottleneck,替换yolov5s head部分的c3结构,使用改进的更加轻量高效的ghostnetconv替换原有的conv,使得模型的大小更加精简;s1.4、使用diou-nms替换原有的nms,其公式为:nms替换原有的nms,其公式为:其中,iou表示两个区域的交并比,a、b分别表示两个区域,b、b
gt
分别代表了预测框和真实框的中心点,ρ表示两个中心点间的欧氏距离,c代表能够同时包含预测框和真实框的最小闭包区域的对角线距离;步骤2、构建训练数据集收集多张机动车驾驶员进行不同危险驾驶动作时的图片,并随机进行翻转、裁剪、中心旋转或降噪以扩充数量,标注图片对应的危险驾驶动作类型后得到训练数据集;步骤3、模型训练使用步骤2构建的训练数据集对步骤1改进后的yolov5s轻量网络模型进行训练,设置训练次数、初始学习率与步长,损失函数包括分类损失、定位损失和置信度损失;其中分类损失和定位损失使用二元交叉熵函数计算:loss=l1+

+ln,ln=-[yn
·
log(σ(xn))+(1-yn)
·
log(1-σ(xn))]其中,l1,

,ln表示单个样本的损失函数,yn表示第n个样本的二元标签,σ(xn)表示sigmoid函数,用于将数据映射到(0,1)的区间内;置信度损失计算使用iou函数计算,激活函数为:其中,relu限制最大输出值为6的relu激活函数;步骤4、向步骤3训练后的网络模型输入驾驶员驾驶机动车时的图像或视频数据,识别驾驶员是否存在危险驾驶行为及具体类别。2.如权利要求1所述基于深度学习的机动车驾驶员危险驾驶行为检测方法,其特征在于:改进的yolov5s轻量网络模型包括十三个单元,其中第一单元是1个conv_bn_hswish模块,该模块包括conv2d、batchnorm2d和h-swich激活函数,输出为16通道、320
×
320大小的特征图;第二单元是mobilenet_block1,包括16个感受野大小为3
×
3、步长为2的卷积核,在inverted residuals中的扩张通道数为16,使用se结构和relu激活函数;第三单元是mobilenet_block2,包括24个感受野大小为3
×
3、步长为2的卷积核,在
inverted residuals中的扩张通道数为72,不使用se结构,使用relu激活函数;第四单元是mobilenet_block3,包括24个感受野大小为3
×
3、步长为1的卷积核,在inverted residuals中的扩张通道数为88,不使用se结构,使用relu激活函数;第五单元是mobilenet_block4,包括40个感受野大小为5
×
5、步长为2的卷积核,在inverted residuals中的扩张通道数为96,使用se结构和h-swich激活函数;第六单元是mobilenet_block5,包括40个感受野大小为5
×
5、步长为1的卷积核,在inverted residuals中的扩张通道数为240,使用se结构和h-swich函数;第七单元是mobilenet_block6,包括40个感受野大小为5
×
5、步长为1的卷积核,在inverted residuals中的扩张通道数为240,使用se结构和h-swich函数;第八单元是mobilenet_block7,包括48个感受野大小为5
×
5、步长为1的卷积核,在inverted residuals中的扩张通道数为120,使用se结构和h-swich函数;第九单元是mobilenet_block8,包括48个感受野大小为5
×
5、步长为1的卷积核,在inverted residuals中的扩张通道数为144,使用se结构和h-swich函数;第十单元是mobilenet_block9,包括96个感受野大小为5
×
5、步长为2的卷积核,在inverted residuals中的扩张通道数为288,使用se结构和h-swich函数;第十一单元是mobilenet_block10,包括96个感受野大小为5
×
5、步长为1的卷积核,在inverted residuals中的扩张通道数为576,使用se结构和h-swich函数;第十二单元是mobilenet_block11,包括96个感受野大小为5
×
5、步长为1的卷积核,在inverted residuals中的扩张通道数为576,使用se结构和h-swich函数;第十三单元是sppf结构与结合bottleneck的cbam注意力机制;之后的head中使用了改进的c3cbam代替了c3模块,并用基于ghostnet改进的ghostconv替换conv层。3.如权利要求1所述基于深度学习的机动车驾驶员危险驾驶行为检测方法,其特征在于:所述危险驾驶动作包括左手打电话、左手玩手机、右手打电话、右手玩手机、手握方向盘和喝水。

技术总结


本发明公开了基于深度学习的机动车驾驶员危险驾驶行为检测方法,该方法提出改进的yolov5s网络模型,使用MobileNet-v3结构替换主干网络,并在加入SPPF结构将特征图转换为固定大小的特征向量,然后将CBAM注意力机制与Bottleneck结合,用于替换c3模块,并使用GhostConv替换head中的卷积层,最后选择比传统NMS适用阈值更广的DIoU-NMS来替换原有的NMS用来增加对遮挡目标检测的准确性。之后构建相关数据集并进行预处理,调整参数,训练网络,最终模型大小为5.4M,每张图片检测时间大约0.014s,可以满足移动设备上的实时性要求,并具有较好的识别效果。并具有较好的识别效果。并具有较好的识别效果。


技术研发人员:

张志远

受保护的技术使用者:

杭州电子科技大学

技术研发日:

2022.08.24

技术公布日:

2022/11/18

本文发布于:2024-09-20 12:04:13,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/1826.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:步长   卷积   函数   结构
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议