基于人脸识别的非常态驾驶自动预警系统的分析与研究
2020-03-25康家明卢水生王超凡邱倩茹王旭
康家明 卢水生 王超凡 邱倩茹 王旭
摘 要 驾驶员处于正常状态是保证安全驾驶的必要条件,科学、高效地监测驾驶员的非常态对于营造安全的驾驶环境意义重大。本文在理清非常态驾驶自动预警系统运行的机理后,研究了系统进行人脸检测、人脸识别和非常态监测所涉及的相关算法,并在MATLAB平台开发了交互性的程序。最后,在Mockingdot仿真平台模拟系统的运行,明确了系统的功能要素,提高了系统集成开发的应用性。
关键词 人脸检测;人脸识别;非常态监测;MATLAB;Mockingdot仿真
引言
自身和外界环境的综合影响会使驾驶员生理和心理机能发生一定的波动,当波动幅度超过一定的限度,会造成意识不清、记忆消失及下意识操作等问题,并对驾驶员的面部状态产生直观影响,使驾驶员处于非常态。非常态驾驶是引发交通事故的重要原因,常见的驾驶员非常态包括分心、疲劳和发晕状态等。根据美国交通安全基金会的调查数据显示,由于非常态驾驶引发的事故占比高达49%。监测驾驶员的非常态程度,是智能辅助驾驶的一项关键技术。
近年来,国内外研究者对驾驶员非常态监测技术进行了诸多深入的研究。系统的监测方法分为两大类,一是直接监测方法,通过驾驶员自身的生理特征监测驾驶员是否处于非常态,如通过心、脑、眼电图取得驾驶过程中的变化数据综合判断,通过驾驶员常态与非常态下的视觉特征不同,采用模式识别的方法进行判别;二是间接监测方法,即根据外部硬件设备的受控表现,判断驾驶员行为是否处于非常态驾驶,如通过传感器获取车辆在行驶过程中的参数(道路线检测、速度变化、车辆间距离)来判断异常情况[1]。以硬件传感器为主的方法其准确性与检测仪器的精度和相关参数有较大关系,且接触式监测对驾驶员操作构成了障碍。利用人脸识别技术进行非常态监测,可以提高监测的实时性和准确性,本文主要阐述这种直接监测技术的原理。
1 系统运行机理
本文系统开发的流程分四个部分,即人脸检测、人脸识别、非常态参数计算和判定预警。系统捕获视频图像后,首先对图像进行预处理,在此基础上,使用优化的类Haar-like特征检测算法完成人脸检测,进而利用卷积神经网络算法对检测到的人脸识别。之后,划分出人脸关键区域,定位人脸关键点,分析计算关键点位的特征参数,即驾驶员的眼睛闭合频率及脸部状态信息,同时,当计算的非常态特征参数超过设定阈值时,判定为非常态驾驶,系统发出警告信号。非常态驾驶自动预警系统的运行流程图,如图1所示。
2 基于Harr-Like特征AdaBoost级联分类器算法的人脸检测
人脸检测算法使用类Haar-like特征,检测具有较高的鲁棒性,对于一张大小N×N的灰度图像I,其特征区域为S,则特征值f计算方式为白色区域内的像素和减去黑色区域内的像素和。对于训练样本来说,数个类Haar-like特征的组合最终将产生较大数量级的特征集,需要采用AdaBoost分类器进行训练[2]。AdaBoost分类器的基本思想为首先选取相应的特征构建不同的弱分类器,然后在每次弱学习后调整样本空间中正确分类与错误分类的权重分布,并重点关注错误分类样本,最终将这些弱分类器集合构成一个强分类器。这一系列强分类器经过阈值调整级联,形成最终的人脸检测分类器。
3 基于卷积神经网络的人脸识别算法
用于人脸识别的卷积神经网络由输入层、三层卷积层、三层池化层、全连接层以及Softmax分类器组成。网络中,卷积层作为特征提取层,池化层是特征值下采样层。网络涵盖训练和识别过程,训练时为了提高训练效率,将每次训练过程分成多次的迭代进行,而且每次迭代又包括了多次训练,并把训练样本分成多个组。一组训练过程包括前向传播、反向传播、权值更新三部分,在前向传播中将CNN提取的特征串接起来归一化后作为Softmax分类器的输入,对分类器进行训练。在训练好的网络中将测试图像样本输入到网络,经过前向传播后,将全连接层的卷积特征归一化作为Softmax分类器的输入,用于识别类别。最后,根据样本标签与真实值对比计算错误率,实现网络测试过程[3]。图2为在MATLAB平台设计的基于卷积神经网络的驾驶员人脸识别系统GUI界面。
4 非常态区域特征判别和参数计算
通过驾驶员外部特征判断非常态的监测方法,不会影响驾驶员的正常行车。驾驶员的外部特征包括头部运动、表情变化及眼睛的运动。这些外部特征的变化通过眨眼活动、眨眼频率、眼睛闭合时间、点头频率等方法来监测[4],而在众多监测方法中,PERCLOS标准最能直接反映驾驶员非常态的程度,是车载、实时的、非接触式监测非常态方法的首选,其定义是单位时间内眼睛闭合一定比例所占的时间。PERCLOS方法中常用的标准有P70、P80和EM三种[5]。在测量周期t1—t4内,t2—t3为闭合时间,则度量值的计算方式为(采用P80计算方式):
图3为在MATLAB平台设计的驾驶员非常态监测系统UI界面。当用PERCLOS方法测算出驾驶员处于非常态时,系统显示红色信号提醒驾驶员注意。
5 非常态监测系统的仿真设计
根据设计原理,通过Mockingdot仿真平台模拟系统的运行。平台运作的主要过程为:驾驶员输入账号登录系统,上传自己的常态人脸图像集组成人脸库,并同步到云端。在驾驶过程中以一定频率捕获驾驶员照片,将捕获的照片与已经建立的常态人脸图像集进行特征比对,确认人车匹配程度,并计算捕获照片的非常态参数,参数超出阈值则表示驾驶员处于非常态,系统发出预警信号及时提醒驾驶员休息。
6 结束语
本文在对比当前国内外用以非常态监测的两大类方法后,选用以人脸识别技术为支撑的直接监测方法来开发系统,保证系统监测的实时性和准确性。在分析了非常态驾驶自动预警系统运行的机理后,我们研究了系统进行人脸检测、人脸识别和非常态监测所涉及的相关算法,并在MATLAB平台开发了相应的程序。最后,在Mockingdot平台设计出识别驾驶员非常态并自动预警的仿真系统,规范了系统集成开发的交互界面。
参考文献
[1] 李军,幸坚炬,黄超生,等.人脸识别在疲劳驾驶检测中的应用研究[J].广东技术师范学院学报,2019,40(3):22-27.
[2] 詹润哲,姜飞.基于面部关键点特征融合的驾驶员疲劳检测方法研究[J].宿州学院学报,2018,33(10):115-117.
[3] 解駿,陈玮.基于卷积神经网络的人脸识别研究[J].软件导刊,2018,17(1):25-27.
[4] 肖辽亮.基于人眼定位算法的疲劳驾驶检测研究[J].电脑知识与技术,2015,11(15):132-133.
[5] 王琦.基于人脸识别的疲劳监测系统的研究[D].新乡:新乡医学院,2018.
[基金项目] 江苏省大学生创新训练项目,(项目编号:201910290096Y)。