基于深度学习的安全行车辅助系统设计与实现

2023-05-17 03:16胥文倩张铂洋赵伟杜懿宸于洋
电子技术与软件工程 2023年5期
关键词:驾驶员模块算法

胥文倩 张铂洋 赵伟 杜懿宸 于洋

(天津师范大学 计算机与信息工程学院软件学院 天津市 300387)

据公安部统计,2022 年全国机动车保有量达4.17亿辆,其中汽车3.19 亿辆;机动车驾驶人达5.02 亿人,其中汽车驾驶人4.64 亿人[1]。中国是全球交通事故最严重的国家之一,酒后驾车、疲劳驾驶、高速驾驶是如今导致我国交通事故高发的三大因素[2]。目前关于驾驶员行为与疲劳状态监测预警技术可以分为基于生理特征的检测方法、基于车辆行驶信息的检测方法及基于驾驶人员行为特征的检测方法3 类[3]。第一类,从检测设备对驾驶员正常生理状态与疲劳状态进行比对分析,以此分析驾驶员的驾驶状态。第二类,通过驾驶员操作车辆的情况以及车辆在运行中的各项参数来判断驾驶员是否分心或疲劳驾驶。第三类,使用信息综合的方法,综合生理数据与车辆参数,对驾驶员状态进行多方面监测。因此,本文旨在研发出一套智能安全驾驶检测系统,规范驾驶员行为,排除驾驶过程中因驾驶员不当行为带来的安全隐患。

1 系统设计及硬件实现方案

1.1 系统总体概述

基于深度学习的安全行车辅助系统主要有采集模块、识别处理模块,以及警示模块组成。系统首先借助以图像采集设备、酒精传感器为主体的采集硬件,将反映驾驶情况的数据与信息通过线路或网络传输至识别模块。通过分析处理,实时判别驾驶员是否出现驾驶分心或者酒后驾驶情况,在出现危险驾驶行为时,立即发出警报,警示驾驶员专注行车、或者提醒身体状态不适宜驾车,从而达到自动识别监测、保障行车安全的目的。

系统通过摄像头获取驾驶员图像数据信息,通过以YOLOv5 算法为主体的软件进行分析处理,自动判别驾驶员行为状态,将驾驶员行为状态分为5 类:“正常”(normal)、“闭眼”(closeeyes)、“打哈欠”(yawn)、“打电话”(calling)、“注意力不集中”(distraction),在识别到危险驾驶行为时及时发出提醒。

考虑到实际应用场景中环境的复杂性,系统采用MQ-3 气体传感器进行酒精检测,持续采集空气中酒精浓度数据。采集到的值交由Arduino UNO 处理,设置警示浓度范围,针对可能出现检测存在误差的情况,取5次检测值为一组计算平均值,保证准确度,避免误判。Arduino UNO 与蜂鸣器连接,当酒精浓度范围超过阈值时,蜂鸣器持续警报,向驾驶员传达报警信息。系统结构如图1 所示。

1.2 创新点

本文设计实现识别驾驶员途中是否专心,对各种分心行为做出检测,如闭眼、打哈欠、使用手机等。做到了驾驶状态的全自动检测,离开了对人工监督的依赖。同时,相当高的识别准确率保证了系统的可靠性。

目标检测算法在驾驶识别中的应用程度较低,本文有效地将深度学习YOLOv5 算法应用于驾驶过程中,并对算法代码进行了针对驾驶员图像特点的适应性改进,使之更专精驾驶识别。

1.3 硬件设计

MQ-3 酒精传感器模块具有四个引脚,其中两个用于接电源正极与负极,另外两个可以同时输出模拟和数字数据。由于模块的工作电压范围为 5V,容差为 0.1%,使用 Arduino 的 5V 引脚为电路供电。该板具有一个运算放大器比较器,可将来自气体传感器的输入模拟信号转换为数字信号,内置两个 LED。当电源连接到电路板时,电源 LED 会亮起,当达到电位器的触发值时,Dout LED 会亮起[7]。硬件核心部件及其功能设计如图2所示。

图2: 酒精检测硬件运行流程

2 基于YOLOv5的驾驶员分心检测实现

2.1 YOLOv5算法模型

YOLO 是REDMON 等[8]提出的目标检测算法,是一种单阶段、基于锚框的物体检测模型,它使用锚框来预测物体边界和类别概率。相较其他目标检测算法如CNN,Fast-RCNN 等,YOLO 具有如下优点:速度快,基础网络只需45fps,fast 网络模型可达150fps;mAP比其他实时检测网络要高一倍;可以很好的避免背景错误。

YOLOv5 的结构基于Backbone 网络,Backbone 网络负责从输入图像中提取特征,特征输入到多个预测头中,预测头生成物体边界和类别概率的预测。预测头是使用锚框生成物体边界和类别概率预测的完全连接层。Backbone 网络可以是多种不同的预训练模型,不同的预训练模型有不同的特征提取能力和处理效率。

如图3 所示,在神经网络中,ReLU 函数作为神经元的激活函数,为神经元引入非线性因素。对于进入神经元的来自上一层神经网络的输入向量x,使用ReLU函数的神经元会输出至下一层神经元。

图3: ReLU 激活函数作用

Neck 网络用于从检测器的检测特征图中提取全局特征的模块,以帮助检测器更好地定位物体的位置。在YOLOv5 中,Neck 网络的实现方法包括残差网络、普通卷积和 FPN(Feature Pyramid Network)。具有从特征图中提取全局特征并将其传递到后面的分类器的目的。

Head 网络是整个模型的分类器部分,负责对检测到的物体进行识别并预测其位置,通常位于Neck 网络之后,将Neck 网络提取的全局特征作为输入。在Head网络中,卷积和全连接层会对输入的特征进行处理,并预测每个物体的类别以及其在图像中的位置。这使得YOLOv5 可以在实时场景中获得较高的检测速度,并对检测到的物体进行精确的识别。如图4 所示。

图4: YOLOv5 网络结构[9]

2.2 数据集的选择与预处理

本文使用Distracted-Driver 数据集中驾驶员图片。为了使训练出的模型更准确,通过翻转缩放、运动模糊、亮度调整等方法对数据集进行数据增强,以适应具体行车过程中可能出现的路面颠簸,光线变化的情况。最终得到的数据集共有图片8679 张。

数据集图片中的标签被分为五类行为状态:“正常”(normal)、“闭眼”(closeeyes)、“打哈欠”(yawn)、“打电话”(calling)、“注意力不集中”(distraction),如图5 所示。

图5: 驾驶员行为分类

使用Labelimg 工具对数据进行处理,为数据集打上VOC 格式标签,如图6 所示。

图6: 数据集标注示例

2.3 训练环境与参数设置

本文采用yolo 格式进行训练。训练前将VOC(xml格式)转换为yolo(txt 格式),并以8:2 划分训练集(6830张)和测试集(1849 张)。将训练集和测试集的数据图片以及其对应标签的文件名分别写入yolov5_train.txt 和yolov5_val.txt 文件中,以便后期训练向网络中注入图片时使用。

实验训练模型通过在服务器端上部署训练,其所采用的云服务器配置如表1 所示。

表1: 云服务器配置

3 实验结果分析

3.1 评估指标

在目标检测中,均值平均精度(Mean average precision,MAP)、精确率(Precision)、召回率(Recall)是评估训练模型性能和可靠性的常用指标。其中,mAP@0.5 代 表IOU 阈 值 取0.5 时 对 应 的mAP 值。正类正样本(True Positive,TP)、正类负样本(True Ne gative,TN)、负类正样本(False Positive,FP)和负类负样本(False Negative,FN)用来计算精度。平均精度(AP)代表某个类别P-R 曲线下的面积。具体计算见公式(1)(2)(3)(4)。

采用yolov5m.pt 作为预训练权重,调整epochs 的参数为300,最优权重epoch 为136 轮,mAP 值达到97.84%,精确率为96.15%,召回率为95.47%,达到较好效果,各项评价指标具体情况如图7、图8 所示。

图7: mAP 图

图8: 精确率和召回率

3.2 测试结果

用训练后产生的最优权重文件best.pt 来做测试,对150 张图片及一个时长为2 分33 秒的视频进行测试,检测前后对比以及检测时间如图9、10、11 所示。单张图像预测速度最高为26 毫秒,最低仅15 毫秒,视频检测时间仅为8.517s,具有较高的检测速度。

图9: 单张图片检测时间(单位:s)

图10: 视频训练前后对比

图11: 视频检测时间

为了更加直观地展现检测效果,本文从YOLOv5输出结果中选取了5 张具有代表性的图片,如图12 所示,可以看出对于每一种驾驶员分心行为模型皆具有较高的置信度。

图12: YOLOv5 输出结果

3.3 模型对比

为了验证模型性能,本文在相同的配置环境和数据集下分别用YOLOv3、YOLOv4、YOLOv5 算法进行训练检测并将数据结果进行对比,综合分析准确率、检测速度等指标,认为YOLOv5_m 性能最佳,最终确定使用YOLOv5_m 目标检测算法。多个算法的对比结果如表2 所示。

表2: 不同版本目标检测算法实验结果对比表

4 结语

针对情况复杂的驾驶员分心行为,本文有效地将深度学习YOLOv5 改进算法应用于驾驶过程中,并对算法结构和代码进行了针对驾驶员图像特点的适应性改进,使之更专精驾驶识别。考虑到实际应用场景中环境的复杂性,本文采用MQ-3 气体传感器进行酒精检测和其他元件实现酒驾警示功能。本系统有望搭载于有长途驾驶需求的商用以及民用车辆上,为长途货车,客车等车辆提供成本低廉,安全可靠的行车辅助系统。

猜你喜欢
驾驶员模块算法
基于高速公路的驾驶员换道意图识别
28通道收发处理模块设计
“选修3—3”模块的复习备考
驾驶员安全带识别方法综述
基于MapReduce的改进Eclat算法
Travellng thg World Full—time for Rree
进位加法的两种算法
一种改进的整周模糊度去相关算法
起步前环顾四周是车辆驾驶员的义务
集成水空中冷器的进气模块