针对目前因疲劳驾驶导致的车祸比例占总车祸比例的极大一部分的情况,故本文设计出一种基于改进的Yolov5算法的疲劳驾驶检测系统。Yolov5算法的疲劳检测是指通过对车辆内部安装摄像头等图像传感器来获取驾驶员的人脸和面部特征,并通过机器视觉中的面部特征提取等方式获取驾驶员眼部以及嘴部状态,从而实现对驾驶员疲劳状态的分析判断。基于Yolov5算法的检测方法成本低,不需接触、检测方便,能够准确地分析出驾驶人的疲劳状况,可以极大地降低因疲劳驾驶而导致的事故发生概率。
随着人们生活水平的逐渐提高以及各大城市道路交通系统的不断完善,我国的汽车保有总量也在不断增加,这在为人们的出行带来便捷的同时,也导致了交通事故的频频发生,疲劳驾驶[1]已然成为行车事故的主要原因之一,每年在众多交通事故中有超过20%是因疲劳驾驶引发的事故[2]。
根据我国交通部门相关调查信息显示:当今导致我国交通事故频发的三大主要因素分别为酒后驾驶、超速驾驶和疲劳驾驶[3]。其中,现如今我国针对超速驾驶和酒后驾驶已经进行了严格的管控,不仅定制了严格的法律条例,而且在人为监测方面也进行了极大的加强,但至今仍缺乏对疲劳驾驶方面有效的预防和处理措施。
在车辆行驶的过程中,若驾驶者是在疲劳状态下驾驶车辆的话,则会导致其对于特殊情况的反应时间以及处理能力都会严重影响[4],甚至如果驾驶员在驾驶的途中因困意随时可能会进入短暂的休眠状态[5],从而会导致其失去对车辆的控制,对路上行驶的车辆以及行人的安全造成严重的威胁。
针对上述问题, 本文提出一种基于加入注意力机制的Yolov5 算法的驾驶员疲劳检测技术[6], 通过对车辆驾驶员驾驶过程中眨眼次数以及驾驶员嘴巴的张开幅度来判断驾驶员当前的疲劳状况[7],从而实现对疲劳驾驶的有效监控,减少因疲劳驾驶而产生的事故发生概率,从而达到保护驾驶人和行人的安全。
2. Yolov5 算法原理概述 Yolov5 是一种单阶段目标检测算法,该算法在Yolov4 的基础上进行了一些新的改进[8],使得算法的检测速度与检测精度都得到了极大的提升,更加符合本实验所需的检测要求以及标准。图1 展示了Yolov5 目标检测算法的整体框图。
对于Yolov5 算法,我们可以将其划分为四个部分,分别为:输入端、基准网络、Neck 网络和输出端。
输入端:Yolov5 算法相对于前面的Yolov4 算法在模型训练阶段进行了一些新的改进,提出了一种自适应锚框计算的方式,针对所选取训练数据集的不同,会自动设定初始锚框的长宽值,再根据所需的长宽值自动地调整需要的数值,将原始的数据集统一根据需求缩放到一个这定好的尺寸,再送入检测网络中,从而使得对图片特征的提取更加容易。
基准网络:基准网络通常是一些性能优异的分类器种的网络, 该模块用来提取一些通用的特征表示。
Yolov5 中不仅使用了Focus 结构作为基准网络[9],而且使用了CSP Darknet53 结构。
Neck 网络:Neck 网络通常位于基准网络与Head 模块之间,且Neck 网络可以进一步提升从数据源中提取的特征的多样性及鲁棒性。Yolov5 在Neck 部分变动较大,首先将SPP 换成了SPPF。在Yolov4