闫凯航 石岩松 邓炬鑫 李汶翰 庞志颖 翁明珠 潘志广 孙修泽
关键词:疲劳检测;YOLOv4卷积神经网络模型;面部识别;ECG;特征融合
0 引言
随着现代化城市的发展,交通出行已经成为人们日常生活中不可缺少的一部分。然而,在长时间开车或夜间开车过程中,驾驶员容易产生疲劳,导致大脑反应迟钝,降低对道路发生意外情况的应变速度,从而导致交通事故的发生。据统计,我国每年因交通事故造成的人员伤亡人数约有23.19万人,平均每八分钟就有一人在交通事故中伤亡。更为严重的是,由疲劳驾驶引发的重特大交通事故所占比例达到了40%以上,疲劳驾驶已成为造成交通事故的第二大原因。这样的数据在国外尤其是美国则更为突出。
目前国内外对于疲劳驾驶检测技术主要有以下几种方式:1) 基于脑电信号图(EEG)、肌电信号图(EMG)、心率图(HR)、眼电图(EOG)、心电图(ECG) 等生理信号信息来检测驾驶员的疲劳驾驶状态。王致尧[1]利用了神念科技研发的BMD101心电采集开发板,将其嵌入在汽车的方向盘上,位于方向盘两侧包裹着的导电布作为电极,通过双手接触电极片,产生电位差,进而采集人体的ECG信号。张鸿[2]使用了光电容积脉搏波描记法检测生理信号,该方法通过检测动脉血液容积,利用动脉血液对光的吸收量随动脉搏动而变化,进而反映出人体吸收光量的大小,再由光电接收器将光信号转换成电信号,最后经放大器放大后得到光电容积脉搏波,该方式具有无创伤、检测简单等特点。2) 通过车载传感器检测车辆行驶状态,从而判断驾驶员是否处于疲劳状态。孙香梅[3]通过Fuzzy综合判断方法,以模糊集合论为基础,考虑车辆行驶状态轨迹的状况,对车辆运行轨迹的状况做出综合评估,在对车辆侧向加速度进行分析并细化出车辆运行轨迹的疲劳参数,得到车辆侧向加速度疲劳驾驶控制模型,确定疲劳评价的指标集和评判集,将车辆行驶的结果通过疲劳驾驶控制模型模式得到驾驶员的状态。然而,这种模式对路况的要求较高,且检测精确度较差,容易引起误判。3) 基于机器视觉和图像处理技术,通过计算机视觉采集驾驶员驾驶时的视频图像信息,提取图像中面部的疲劳特征,利用采集到的图像信息进行疲劳检测。这类方法操作简单,所做装置实用性也很好,有很大的应用市场。
基于以上背景,本课题旨在研究一种基于卷积神经网络与ECG信息的多模态疲劳驾驶检测的疲劳驾驶异常检测技术的系统。仅当两个检测结果都超出预设的阈值时,系统才会判定驾驶员为疲劳驾驶,进一步提高了疲劳驾驶识别的准确度,具有广阔的应用前景。
1 系统构架与系统工作原理
1.1 系统框架
基于卷积神经网络与ECG信息[4]的多模态疲劳驾驶检测系统可分为三个子系统,即驾驶员面部信息行为监控子系统、生理信息监控子系统和软件管理子系统。生理信息监控系统为一个终端,而驾驶员面部信息行为监控系统和软件管理系统则为另一个终端。用户可通过微信小程序或App通过蓝牙对设备进行绑定和解除绑定。系统结构图如图1所示:
1.2 系统工作原理
首先需要一个训练好的模型(具体操作步骤见本文2.1小节):在Mx-yolo 中使用疲劳驾驶时的生理特征数据集进行模型训练,获得一个tflite 初始模型文件,然后通过tensflower 尽可能减少模型转换时的精度损失。将tflite模型转换成h5模型,再转换为k210可加载运行的kmodel 模型文件,从而训练出驾驶员疲劳驾驶的卷积神经网络YOLOv4模型。
基于卷积神经网络与ECG信息的多模态疲劳驾驶检测系统[5]深度利用计算机视觉、YOLOv4卷积神经网络以及传感器等技术。通过摄像头和ECG传感器进行数据采集,将采集到的图像数据实时传送到K210芯片主控板上。通过特征脸(Eigenfaces) 算法实时检测和识别出所拍摄到的人脸,再将预设行为提取的特征与模型进行对比得到预警结果。利用CNN-LEST对结果进行等级分类,若拟合度达到预设值则判断驾驶员驾驶状态为疲劳。为了达到较高的置信度和识别精确度,结合同步的ECG生理信号对驾驶员疲劳状态进行进一步的分析,对输出值再次进行等级分类并再次进行与门判断。只有当所拍摄到的图片与ECG信号都被判断为疲劳驾驶时,系统才会发出警报,从而大大提高了检测的精确率。系统工作原理图如图2所示。
2 功能实现
该部分主要分为面部识别的算法实现、智能穿戴设备ECG生理信息采集、模块通信与系统软件管理三部分。
2.1 面部识别的算法实现
1) 使用的芯片及算法。使用芯片为K210,算法为YOLOv4卷积神经网络。
2) 网络结构。采用Darknet-19网络结构,包括19 个卷积层和5个max pooling层。主要使用3×3卷积和1×1卷积,其中1×1卷积用于压缩特征图通道数,以降低模型的计算量和参数。每个卷积层后使用BN层加快模型收敛同时防止过拟合。
3) 数据集来源。本文使用的数据集包含训练集1 500张、验证集300张、测试集100张。
4) 模型训练流程。由于数据集较大,训练时可将数据分为多个批次。首先将数据集经过处理后的标签文件转换为Mx-yolo训练所需的标记格式,然后将收集到的图片数据进行转码,转为224×224像素的格式。对每张图片进行拉框、标注数据,在电脑上利用Mx-yolo进行本地训练得到模型,将所得的kmodel模型文件存入TF卡中并将TF卡转换为FAT32格式。再将处理好的TF 卡插入最小系统板的TF 卡槽中,由K210进行硬件初始化后通过SPI通信协议即可读取。模型训练过程图如图3~图6所示。
2.2 智能穿戴设备ECG 生理信息采集
ECG信息采集方式为通过ECG手环采集。ECG手环上的传感器由多个电极组成,这些电极贴在手腕上,传感器会检测和记录心脏的电活动。传感器将心脏的电信号转化为数字信号,并通过无线网络技术传输数据到K210设备上。利用K210强大的AI计算能力,在K210上使用相应的算法和应用程序对手环传来的数字信号进行数据处理和分析。使用离散卡尔曼滤波算法去除噪声,屏蔽异常信号对控制系统的干扰。将提取出的信号绘制成心电图波形显示在屏幕上,根据静息频率区间判断驾驶员是否处于疲劳驾驶状态,起到预警作用。
2.3 模块通信与系统软件管理
1) 模块通信。K210通过串口通信将实时检测数据发送给ESP8266[6]。ESP8266 接收一帧数据后,通过Wi-Fi 无线传输协议将数据远程传输至云端。用户可以通过移动端实时查看这些数据。
2) 软件系统管理。该系统设有后台应用管理系统和用户应用界面,可以通过编写程序实现用户与设备的正常交互,有利于提高用户使用设备的便捷性。
3 总结
通过研究与实验,成功设计并实现了基于机器学习与生理特征提取的疲劳驾驶检测装置。该装置具备检测驾驶员闭眼、低头、打哈欠、注意力不集中等异常驾驶行为,并能实时对驾驶员进行提醒。该系统的优势在于能对驾驶员的状态进行多特征融合判断,增强装置对驾驶员状态识别的准确度。可以对装置识别的敏感度进行手动调节,有效减小驾驶员对装置的排斥心理。通讯方面使用ESP8266主控板加Wi-Fi模块,不仅能实时传输数据,还可以实现物联网功能。基于机器学习与生理特征提取的疲劳驾驶检测装置在驾驶员安全驾驶方面拥有很高的应用价值。未来通过对该装置不断的优化,相信该装置可以为驾驶员提供安全可靠的驾驶服务和更多的功能体验。