基于定位与视觉技术融合的疲劳驾驶检测方法
2022-07-08吴岚刁含楼
吴岚 刁含楼
(华设设计集团股份有限公司 江苏省南京市 210014)
1 引言
世界卫生组织报告称,在道路安全事故中,全世界每年约有135万人死亡,疲劳驾驶是这些重大事故的主要诱发因素之一。根据目前道路安全事故的增长率,未来五年内交通事故将成为全球人员主要死亡原因之一。
根据《中华人民共和国道路交通安全法》第十九条,同一驾驶员行驶达四小时且中途未休息满20分钟即判定为疲劳驾驶。当前针对疲劳驾驶的检测主要包括三类:第一类通过采集司机驾驶时的脑电波结合生理学相关指标进行检测;第二类检测行车数据如转向力、制动力等物理量进行判断;第三类利用图像处理技术智能分析司机面部疲劳特征进而判断是否存在疲劳驾驶行为。现有疲劳驾驶检测设备所使用的传感器价格昂贵、穿戴复杂,推广度较低且对驾驶舒适度造成严重影响,检测方式相对单一,容易存在误检的现象。因此,本研究基于多传感器信息融合的思路,运用车载端的高精度定位设备与视频设备获取车辆的行车轨迹数据、人脸数据,通过数据融合,完成疲劳驾驶的检测。
2 关键技术
本研究需要依赖高精度定位技术和视频检测技术,采用的高精度定位设备和视频设备的具体特征如表1所示。
表1:设备特征
2.1 高精度定位技术
传统GPS定位系统精度低,无法满足本研究需求,故本研究使用自主研发的高精度定位设备,如图1所示。利用载波相位差分技术实现定位误差1~5厘米,覆盖范围高达30km。将行驶车辆看作点,实时采集经纬度坐标,并自动保存至后台数据库,若发生位移则针对同一ID驾驶员进行驾驶时长的累加,若未发生位移则停止累加,判定驾驶员处于休息状态。
图1:高精度定位设备工作示意图
高精度定位设备以5Hz工作频率接收北斗卫星定位数据,数据以字符串的格式进行传输。将高精度定位设备天线放置车辆外部车顶中心位置,设备安装位置如图2所示。
图2:天线安装位置图
2.2 视频检测技术
2.2.1 视频设备
为保证记录每个ID驾驶员自己的驾驶、休息时长,运用HRPSM_CNN人脸身份识别算法进行人脸识别,再使用DAN人脸关键点检测网络针对当前驾驶员进行疲劳特征检测。本研究所使用的的单目摄像头放置车内中控中心位置拍摄人脸视频数据,设备分辨率为1280*720、FPS设为60,采集图像数据,设备及安装位置如图3所示。
图3:视频设备及安装图
2.2.2 HRPSM_CNN人脸身份识别算法
人脸识别是一项新兴的技术,其应用领域多种多样医学图像分析、监控、个人身份识别、安全相关案例等领域。目前已有算法如局部二进制模式(LBP)、方向二进制码(DBC)、多支持向量机(Multi- Support Vector Machine, Multi- Support Vector Machine, Multi- Support Vector Machine)等卷积神经网络(Convolutional Neural Network, CNN)被用于人脸识别,但考虑到司机视角下,光线条件变化差异大、遮挡等影响,人脸识别效果并不理想。因此,本研究采用HRPSM_CNN卷积神经网络,可有效增强在不同的光照条件、天气状况下的识别效果。总体识别流程如图4所示。
图4:人脸识别总体流程图
HRPSM_CNN算法可在各种条件下(如昏暗灯光,位置变化以及连续运动)实现点集匹配,即从图像中提取部分特征然后与原始图库图像进行对比识别,利用CNN进行特征学习,从而进行高效的人脸识别。点集匹配与CNN的结合有效地提高了人脸识别的准确性。通过将注意力集中在关键特征上,计算出两个相似点之间的距离,基于输入图像和后台存储图像之间的相似点实现点集匹配。
算法流程具体如下:
步骤1:基于开源数据集LFW,加入自主采集的20000张数据集按照8:2比例分为训练集与测试集。
步骤2:以N*X*Y*H的形式输入卷积层,其中N为图片数量,X为图片宽度,Y为图片长度,H为图片通道数。从图像中提取特征,形成特征图,作为下一层的输入。
步骤3:利用池化层从上一层接收的图像中分离出非交织区域,减小特征层尺寸,从而减少参数的数量,提高计算速度。公式如下:
步骤4:RPSM应用于池化层的输出匹配并识别关键特征。可减少识别人脸的关键特征数量进而提高识别率和准确率。
步骤5:输入全连接层,将得到的结果输入Softmax层,根据相似度计算公式计算欧氏距离并对图像进行分类。
该模型训练后人脸身份识别准确率高达98.1%,识别效果图如图5所示。
图5:人脸识别效果图
2.2.3 DAN人脸关键点与疲劳特征检测
现有人脸关键点检测网络如MTCNN针对人脸面部为眼睛、嘴巴、鼻孔五点关键点检测,为实现疲劳特征多点检测需求,本研究采用DAN68人脸关键点检测网络。DAN使用完整的面部图像,各阶段不断改进前一阶段估计的面部关键点坐标位置,利用人脸关键点热图的方法减小坐标点估计的误差,对于头部姿态偏移较大、表情夸张的图片检测效果良好。
本研究基于WFLW公开数据集,运用迁移学习加入自主制作数据集进行训练,识别精度高达97.1%。人脸关键点检测效果如图6所示。
图6:人脸关键点检测效果图
2.2.4 疲劳特征检测
根据生理学相关文献,选取闭眼、打哈欠、低头三个指标作为疲劳征兆的检测目标。针对上述三个指标特性,根据DAN人脸关键点检测网络输出检测到的68个点,包括眉毛、眼睛、鼻子、嘴、脸部轮廓区域的点,进行上述疲劳特征的检测。
闭眼检测:计算眼睛的长宽比EAR,如图7所示,当人眼睁开时,EAR在某个值上下波动,当人眼闭合时,EAR迅速下降,理论上会接近于0,通过闭眼行为持续的帧数,设置适当阈值,判定是否存在闭眼行为。
图7:EAR示意图
打哈欠检测:类似EAR原理,计算嘴巴的长宽比(MAR),当嘴巴张开时,MAR在某个值上下波动,当嘴巴闭合时,MAR迅速下降,理论上会接近于0,通过张嘴行为持续的帧数,设置适当阈值,判定是否存在打哈欠行为。
低头检测:欧拉角是表达旋转的最简单的一种方式,形式上它是一个三维向量,其值分别代表物体绕坐标系三个轴(x,y,z轴)的旋转角度。绕三个轴的旋转值pitch,yaw,roll来自航空界的叫法,翻译为俯仰角,偏航角,翻滚角,如图8所示,其中低头的计算用到pitch指标。设置适当的阈值t,当超过该阈值t且持续一定帧数,则判断存在低头行为。
图8:偏航角示意图
3 定位与视觉融合的疲劳驾驶检测模型
将高精度定位设备、视频设备输出的实时轨迹数据、人脸数据、疲劳特征等输入朴素贝叶斯数据融合方法,实现疲劳驾驶检测,流程如图9所示,若判定为疲劳驾驶,则进行管制,要求司机立即停车休息或者轮换司机,否则按照交通法规来处罚。
图9:定位与视频融合的疲劳驾驶检测流程图
本研究所采用的定位设备与视频设备输出数据具有独立性,不会互相影响,故选取朴素贝叶斯数据融合算法。该算法来源于贝叶斯算法,因为它假设每个输入变量是独立所以称为朴素贝叶斯,运用该算法可能够有效识别疲劳驾驶。具体流程如下:
步骤2.计算先验概率及条件概率:
步骤3.对于输入数据xi=(xi(1), xi(2), xi(3), xi(4))T计算:
步骤4.确定输入数据所属类别:
4 实验结果与分析
本研究以江苏省南京市石杨路为实验道路,该道路周边开阔,模拟高速公路路段定位效果。携带高精度定位设备和视频设备自主采集了两小时的驾驶数据,基于i5-8400CPU,2.80GHz,NVIDIA TITAN X GPU实验平台,训练人脸身份识别算法和人脸关键点检测模型,获得loss函数收敛时的最优训练权重。高精度定位设备部分将采集到的经纬度数据进行数据清洗,并存储至数据库。
本研究自主开发疲劳驾驶检测软件,选取三名驾驶员进行实车试验,进行疲劳驾驶检测,将实时采集的数据输入朴素贝叶斯数据融合算法,实验结果检测效果良好,准确率高于90%,疲劳驾驶检测软件识别效果如图10所示(实验时设置疲劳驾驶时长为30s)。
图10:疲劳驾驶检测识别效果图
5 结束语
本文提出一种基于定位和视觉技术融合的疲劳驾驶检测方法。在高速公路场景下,通过高精度定位设备记录驾驶员的行车轨迹与驾驶时长,视频设备进行司机身份识别与人脸关键点检测。结合生理学指标,融合两种设备的输出数据,判别当前驾驶员是否存在疲劳驾驶行为,有效提高了驾驶员的驾驶舒适度,提升了检测效果并给予相关部门有力执法证据。通过实车试验,判别准确率高于90%。结果表明,DAN人脸关键点检测网络实时性强且准确度高,可快速定位68个人脸关键点;疲劳特征检测部分选取的EAR、MAR、pitch指标有效表征司机疲劳状态,提高了疲劳驾驶检测模型精度。下一步可围绕提升模型精度,并结合数据特征使用机器学习算法对疲劳驾驶程度进行分级预警展开研究。