基于卷积神经网络的疲劳驾驶检测算法研究
TECHNOLOGY AND INFORMATION
基于卷积神经网络的疲劳驾驶检测算法研究
宁菲菲 赵伟艇
平顶山学院 计算机学院(软件学院) 河南 平顶山 467000
*
摘 要 疲劳驾驶检测对保障行车安全、减少交通事故具有重要的现实意义。将卷积神经网络技术引入基于图像处理的驾驶人疲劳检测,在图像的预处理阶段分别使用HOG算法和CLNF算法进行人脸检测和人脸特征点定位,通过改进OpenFace网络结构构建疲劳特征检测网络,使用Finetune技术复用OpenFace网络的原始参数并将其迁移到疲劳检测网络中完成训练。基于PERCLOS准则中的P80标准完成疲劳驾驶样本集的构建,实验表明,算法在室内和实车环境下对疲劳状态的检测准确率分别达94%和82%。关键词 HOG;CLNF;卷积神经网络;疲劳检测
Research on Fatigue Driving Detection Algorithm Based on Convolutional Neural Network
Ning Feifei, Zhao Weiting
Department of Computer, Pingdingshan University, PingDingShan, Henan 467000, China
Abstract Fatigue detection has important practical significance for ensuring driving safety and reducing traffic accidents. In this paper, convolutional neural network technology is introduced into fatigue driving detection based on image processing. In the image preprocessing stage, HOG algorithm and CLNF algorithm are used to detect and locate face feature points respectively. Fatigue feature detection network is constructed by improving OpenFace network structure. OpenFace network is reused by Finetune technology and the original parameters are migrated to the fatigue detection network to complete the training. This paper completes the construction of fatigue driving sample set based on P80 standard of PERCLOS criterion. The experiment shows that the detection accuracy of the proposed algorithm in indoor environment and real vehicle environment is 94% and 82%.
Key words HOG; CLNF; Convolutional neural network; Fatigue detection
引言
根据美国汽车交通安全基金会的一项调查,疲劳驾驶在美国的交通事故死亡事件中占据21%的比例;在我国,每年因疲劳驾驶造成的特大交通事故高达40%以上,疲劳驾驶已成为引发交通事故的头号杀手。因此,疲劳驾驶检测算法的研究对保障安全驾驶、降低交通事故的发生率具有重要的现实意义。
目前,疲劳驾驶检测技术主要分为三类:基于图像处理的驾驶人疲劳检测,通过车载摄像头采集驾驶人人脸图像,根据眼睛、嘴巴开度以及张合的频率[1]等视觉特征进行疲劳状态预警;基于生理特征的驾驶人疲劳检测技术主要依据驾驶人的脑电信号[2-3]、心电信号和心率变化等生理指标数据进行疲劳判断;基于行车数据的驾驶人疲劳检测技术则主要通过安装在车辆驾驶系统上的传感器采集得来的速度标准差、方向盘转角标准差[4-5]、车辆横向位置等行车数据进行疲劳状态检测。
文献[6]对基于行车数据的驾驶人疲劳检测技术进行研究,通过嵌入方向盘的压力传感器测量驾驶人员手握方向盘的压力以及位置,根据对测量数据的统计分析结果进行疲劳检测,但此类方法因设备安装成本、驾驶习惯等因素研究较少;文献[7]根据脑电信号(Electro Encephalo Gram,EEG)和眼电信号(Electro Oculo Gram,EOG)等生理特征进行睡眠检测,但EEG和EOG的收集需要佩戴相关的监测设备且信号的抗干扰能力差;基于图像处理的驾驶人疲劳检测技术具有非接触、低成本等特点,成为疲劳检测领域的研究主流。由于驾驶人面部成像受到光照强弱、光线角度以及头部姿态变化等因素的干扰较多,导致基于图像处理的疲劳检测技术实施性较差。卷积神经网络能够自行选择特征,有效对抗噪声和背景等干扰因素[8],克服传统机器学习方法在图像处理领域所面临的光线、目标移动等困难,
*[基金项目] 河南省科技厅软科学项目(No.182102210471)。12 科学与信息化2019年11月中
为基于图像处理的疲劳检测技术带来了研究新机遇。
本文首先通过方向梯度直方图(Histogram of Oriented Gradient,HOG)算法进行人脸检测,将人脸图像从摄像头所采集的原始图像中提取出来;然后采用受约束的局部神经域模型(Constrained Local Neural Fields,CLNF)算法进行人脸特征点的定位,再将人脸图像输入疲劳检测网络,网络直接输出疲劳特征的判断结果,最后根据PERCLOS原则完成对驾驶人一段时间内疲劳状态的判定。1 人脸检测
1.1 基于HOG的人脸检测
由Dalal和Triggs等人[9]在2005年提出的HOG算法利用梯度及梯度方向的统计信息描述图像,较好的光学不变性和几何不变性使HOG在目标检测领域具有极其广泛的应用。
在进行人脸检测时,生成HOG特征的主要步骤如下:
步骤1 首先将摄像头所采集的图像采用Gamma压缩法进行颜色空间归一化处理,公式如下:
步骤2 遍历图像,分别计算每个像素点(x,y)在水平方向和垂直方向上的梯度和,H(x,y)为像素点(x,y)的像素值,公式如下:
步骤3 计算像素点(x,y)的梯度幅值G(x,y)和梯度方向α(x,y),公式如下:
TECHNOLOGY AND INFORMATION信息化技术应用
合并块中所有区域的HOG得到该块的特征向量,并对其进行归一化处理;再遍历整个图像,合并所有块的 HOG 特征进而形成描述整个图像的全局HOG 特征向量;最后,使用SVM分类器在输入图像中进行人脸定位[10]。
1.2 人脸特征点定位
步骤4 将图像划分为若干个单元区域,统计每个单元区域的梯度方向直方图;然后将相邻的n个单元区域组合成块,通过
图1 人脸特征点模板
驾驶员在驾驶过程中因观察路况等需要头部会时常发生扭动,为了提高人脸识别的准确率,本文采用CLNF算法[11]进行人脸特征点定位。CLNF算法选取如图1所示的人脸特征点模型,涵盖脸部从眉毛外沿至下巴底部、眼部和嘴部轮廓,共计68个特征点。通过与捕获的人脸图像进行比对,准确定位人脸。
种类卷积层1最大值池化层1Inception层2最大值池化层2Inception层3aInception层3bInception层3cInception层4aInception层4bInception层4cInception层4dInception层4eInception层5aInception层5b均值池化层全连接层1全连接层2Softmax层
输出尺寸112565628282828141414147771111
25622419216003843846464
969612896112128144160192192
128128256,2192224256288256,2384384
64
192
#11
#33精简
#33
2 基于OpenFace的驾驶人疲劳检测网络
OpenFace是一个开源的人脸识别神经网络,由一层卷积层,四个Inception层,两个池化层和一个全连接层组成的8层卷积神经网络[12]。OpenFace使用LFW人脸数据集及YouTube Faces DB数据集训练及测试,分别取得了99.63%和95.12%的正确率。
#55精简
#55
是否池化
是否参数初始化
NoNo
16323232323232644848
326464,264646464128,2128128
646464641281281283264
NoNoNoNoNoNoNoNoNoNoNoYesYes
学习率000000000000010-410-3
表1 网络训练参数表
由于OpenFace网络的输出是一个包含人脸特征信息的高维特征向量,不能根据输入的驾驶人员人脸图像对其疲劳状态
进行直接判定分类[13]。因此,本文对OpenFace网络的结构进行改进,并修改网络各层的初始化设置及学习率,同时,应用
科学与信息化2019年11月中 13
信息化技术应用
Finetune技术复用OpenFace网络已经训练好的网络参数,主要步骤如下。
步骤1 准备疲劳检测的训练样本集和测试样本集。
步骤2 计算疲劳检测数据集的均值文件,替换原始均值文件。
步骤3 修改OpenFace网络结构参数,在网络末端增加两个全连接层对特征向量进行特征提取,使用Softmax损失函数输出疲劳和非疲劳2个类别,使改进后的网络能够根据人脸图像直接判定并输出疲劳状态检测结果。
步骤4 设置网络训练参数,应用Finetune技术复用OpenFace网络的原始参数,仅对增加的两个全连接层的权值进行更新,网络训练参数设置详情如表1所示。
步骤5 加载OpenFace原始网络的参数,启动训练。3 实验结果与分析
3.1 数据集与网络训练
为验证本文算法的有效性和准确率,从100名志愿者中采集4025幅人脸图像在CentOS系统上运用Python语言完成了驾驶人疲劳检测网络的训练和测试。为更好地验证算法性能,每幅图像中人脸朝向、眼部和嘴部的开合、光照强弱以及光线角度等都不尽相同,图像数据的男女性别比例约为1∶1。数据库中的原始图像在经过人脸检测和特征点定位等预处理操作后,通过人工标注为疲劳和非疲劳两类,疲劳状态和非疲劳状态的图像样本数分别为1995和2030,两类样本比例约为1∶1。从数据库中随机选取3000幅图像作为样本集用于训练,余下的1025幅图像用于测试。
使用本文算法对单幅人脸图像进行疲劳检测后,运用PERCLOS(Percentage of Eyelid Closure Over the Pupil over time)原则判定一段时间内驾驶人是否疲劳。在清醒状态下 0≤P≤15%,在疲劳状态下P≥40%。
3.2 实验结果本文分别在室内环境和实车环境下进行疲劳检测实验,将摄像头所采集的视频分解为图像帧,使用本文算法对图像进行逐帧检测,将检测结果与人工标注结果进行对比。室内环境和实车环境的测试结果如表2所示。
表2 室内环境和实车环境测试结果
输出结果非疲劳疲劳准确率
非疲劳帧(实车)255640286%
疲劳帧(实车)362163982%
非疲劳帧(室内)347910697%
疲劳帧(室内)125205894%
TECHNOLOGY AND INFORMATION
法的性能。
4 结束语
本文将卷积神经网络应用于基于图像处理的疲劳检测技术,将预处理后的人脸图像输入疲劳检测网络能够直接输出对疲劳状态的判断结果。疲劳检测网络能够自动进行疲劳特征提取,有效克服光照强弱、光线角度等干扰因素。实验结果表明,该算法准确率高,鲁棒性教好。参考文献
[1] 杨非,庞玉,刘宗强.驾驶员疲劳检测中眼睛特征提取算法研究[J].机电一体化,2017,23(07):24-29,64.
[2] LalSK,CraigA,BoordP,etal.DevelopmentofanalgorithmforanEEG-baseddriverfatiguecountermeasure[J].JournalofSafetyResearch,2003,34(3):321–328.
[3] 郭孜政,牛琳博,吴志敏,等.基于EEG的驾驶疲劳识别算法及其有效性验证[J].北京工业大学学报,2017,43(6):929-934.
[4] 金立生,李科勇,牛清宁,等.基于转向盘操作的疲劳驾驶检测方法[J].交通信息与安全,2014,32(5):103-107.
[5] 刘军,王利明,聂斐,等.基于转向盘转角的疲劳驾驶检测方法研究[J].汽车技术,2016,(4):42-45.
[6] BarontiF,LenziF,RoncellaR,etal.Distributedsensorforsteeringwheelripforcemeasurementindriverfatiguedetection[M].Proceedingsof2000Design,Automation&TestinEuropeConference&Exhibition.Nice,France.2009:894–897.
[7] BarryRJ,DeBlasioFM.EEGdifferencesbetweeneyes-closedandeyes-openrestingremaininhealthyageing[J].BiologicalPsychology,2017,(129):293–304.
[8] 杨硕,丁建清,王磊,等.卷积神经网络在脑疲劳检测中的研究[J].信号处理,2019,35(4):704-711.
[9] DalalN,TriggsB.Histogramsoforientedgradientsforhumandetection[M].Proceedingsof2005IEEEComputerSocietyConferenceonComputerVisionandPatternRecognition.SanDiego,CA,USA.2005:886–893.
[10] 戴诗琪,曾智勇.基于深度学习的疲劳驾驶检测算法[J].计算机系统应用,2018,27(7):115-122.
[11] KazemiV,SullivanJ.Onemillisecondfacealignmentwithanensembleofregressiontrees[M].IEEEConferenceonComputerVisionandPatternRecognition.Columbus,OH,USA.2014:1867–1874.
[12] 梁昭德.基于卷积神经网络的驾驶人疲劳检测算法研究[D].广州:华南理工大学,2018.
[13] 游峰,梁昭德.基于深度学习的驾驶人疲劳监测算法研究[J].武汉理工大学学报(交通科学与工程版),2018,42(3):69-73,81.
与室内环境下对疲劳状态和非疲劳状态94%和97%的检测准确率相比,实车环境下,算法对疲劳状态和非疲劳状态的检测准确率分别下降至82%和86%。实车环境下的光照、光线角度以及驾驶人头部姿态频繁变动等因素在较大程度上影响了算
作者简介
宁菲菲(1985-),女,河南省平顶山市人;学历:硕士,讲师,研究方向:深度学习,自然语言处理。
14 科学与信息化2019年11月中
因篇幅问题不能全部显示,请点此查看更多更全内容