唐春林,杨昌休,陈兴劼
(重庆公共运输职业学院 轨道车辆与机械系,重庆 402247)
基于主动表观模型及PERCLOS的疲劳检测研究
唐春林,杨昌休,陈兴劼
(重庆公共运输职业学院 轨道车辆与机械系,重庆 402247)
针对城市轨道交通电客车司机长时间驾驶产生的疲劳问题,目前主要是通过规章制度及警惕按钮来解决,这样既增加司机的劳动强度,也对司机疲劳驾驶检测效果有限。文章针对电客车司机现场工作环境,提出了一种主动在线实时检测方法,该方法通过视频序列分析人脸信息,采用主动表观模型完成对人眼的识别及定位,采用PERCLOS算法完成对司机疲劳检测。实验证明,该模型和算法能够很好地完成对司机的疲劳检测。
电客车司机;疲劳检测;主动表观模型;PERCLOS算法
随着我国城镇化的加速发展,城市轨道交通迎来了前所未有的发展机遇,据中国城市轨道交通协会统计[1],截至2015年底,我国累计有26个城市建成投运轨道交通线路116条,运营长度3 612 km。目前,城市轨道交通车辆大部分还属于有人驾驶,人控优先原则,但电客车司机长时间在单一环境中驾驶,必然会产生疲劳。目前,各个运营公司主要通过规章制度约束或者限制司机的某些行为来解决司机长时间疲劳驾驶的问题。
在我国城轨列车上装备有司机警惕按钮装置[2],即在列车运行过程中,司机必须按压该按钮。如果在规定的时间未完成该操作,系统发出报警;如果在规定的时间内仍未完成该操作,系统发出紧急制动信号,使列车紧急制动。该装置虽然解决了列车在运行过程中司机睡觉以及出现意外事故导致列车无人驾驶的情况,但是该装备不能从根本上杜绝司机疲劳驾驶。本文研究疲劳检测的方法,通过视频在线实时监测司机的面部特征,主动预警司机疲劳状态,达到安全行车的目的。
疲劳检测主要是通过传感器采集某些特征,大致可分为3方面:(1)通过测量人体生理信号,如脑电波、心率、脉搏等[3];(2)采集车速、加速度、踏板等车辆参数[4];(3)通过摄像机采集司机视频信息,通过计算机手段获取视频信息[5]。该方法操作简单、成本低、非接触、实时在线检测,并且对司机的驾驶不会产生任何影响。
基于计算机视觉的检测方法主要是利用司机的面部特征来检测疲劳状态,目前针对面部特征的检测定位主要有两种:主动形状模型[6](ASM,active shape model)和主动表观模型[7](AAM,active appearance model)。这两种算法都是通过关键点的定位给出人脸器官的位置与形状,定位精度较高,但它们的特征模型不同:ASM 通过局部模型构建特征点纹理,而AAM 则是用整个脸部特征构建纹理模型,具有优秀的特征点定位功能。
本文在分析电客车司机疲劳驾驶的基础上,开展基于Opencv平台完成疲劳检测的研究,采用Adaboost方法完成对人脸区域的识别,通过AAM模型提取人眼特征,将提取的人眼特征参数通过单位时间双眼闭合数比例(PERCLOS,Percentage of Eyelid Closure over the Pupil over Time)算法完成疲劳状态检测。
在列车驾驶室里,人脸检测是在单人非复杂状况下的检测,该环境光照基本不变,头部位置基本固定、图像不会发生旋转缩放,反而对人脸区域检测的实时性要求较高,本文选择基于计算机视觉开放库Opencv的Adaboost进行人脸检测,Adaboost是一种基于简单类Haar特征的级联快速人脸检测算法[8]。简单类Haar特征被广泛应用于目标检测与识别中,这种方法计算简单,并可以通过积分图技术进行加速。Adaboost方法则可以通过若干弱分类器级联,获得一个分类能力更强的分类器。
完成人脸检测后,根据人脸器官的几何特征完成对人眼检测和定位,人脸、人眼检测结果如图1所示。
图1 人眼初定位结果
在面部特征中,眼部、嘴部、表情、头部动作等均与疲劳相关,而眼部特征信息在疲劳检测相关度最大,故疲劳检测第一步需要完成人眼特征的定位。由于AAM模型对人具有较好的定位能力,故Takahiro Ishikawa等[9]应用AAM在姿态识别方面。通过AAM模型建立了人眼凝视状态,并完成了人眼凝视方向和头部偏转位置状态的估计。
主动表观模型(AAM)由Cootes[10]等人提出,它是在ASM模型基础上发展起来的。AAM模型是将对象的形状变化模型和纹理变化模型结合的表现模型,在实际运用中,AAM模型包括建模和匹配计算两部分。
2.1 建立AAM模型
AAM模型是将对象的形状和纹理的建模实现,模型的具体实现是通过对样本的大量训练提取人眼特征参数。在具体实现过程中,通过对样本特征点的标注构成样本的有向图,通过模型训练样本的标注点完成对模型建立。纹理模型包括形状亮度和色彩信息,在完成形状模型的训练完成后,通过统计亮度和色彩信息完成模型的训练。为了加快算法收敛速度,需要对样本的特征点进行归一化处理,尽量消除特征差异。在实际应用中,AAM模型包括归一化特征点、建立形状模型、建立纹理和亮度模型等[12]。
2.1.1 特征点归一化
在有N张人的睁眼、闭眼图像构成的训练集中,需要记录下每一张图片的若干个关键点或特征点的位置坐标信息。在本文中,每只眼睛区域分别标注4个特征点,如图2所示。
图2 眼部区域特征点标注
将训练样本的特征点有向图坐标表示为向量形式:
2.1.2 形状模板、纹理和亮度模板
样本的特征点对齐后,需要对特征点按照形状模板和纹理目标建模。在这个过程中,都需要运用主成分分析(PCA,principal component analysis)算法,该算法主要是对样本向量降维,减少冗余数据,并提取特征参数。假设样本向量为{x1,x2,…, xn},经过建模计算后,其形状模板x为:
纹理模型通过样本的特征点形状上有效纹理块建立,模型通过训练样本纹理块的亮度和色彩信息提取纹理信息,在具体实现过程中,纹理模型同样采用PCA算法对信息提取。纹理模型训练样本处理结果用向量表示为{g1,g2,…,gn},其模板为:
对式(2)和式(3)进行数学处理。首先对两式参数进行处理:,Ws是一个将两个参数结合起来的对角阵。
对于训练集,每个样本都得到两个模板xi、gi,对于每组模板(xi、gi),有如下关系式:
所有样本集得到结合后的模板参数集:(b1,b2,…,bn),对于这个参数集进行PCA计算,得到b=bPc,Pc=(Pcs|Pcg)T,最终模板公式为:
2.2 AAM匹配算法
在完成AAM建模后,通过已建立的模型对测试样本就行参数匹配,以能正确识别测试样本图像的特征点,这就是AAM模型的匹配算法[13~14],描述如下:
(1)计算误差:通过已建立好的模型参数,直接计算样本图像对应的特征点,记为gm,映射当前测试样本图像的纹理模型可得:
若当前模型的纹理模型gm=g+Qgc,那么计算的到纹理误差为:
(2)估计当前误差:将公式(10)进行一阶泰勒展开:
其中,P为模型的参数向量:
(3)调整模型参数:根据RMS准则使|r(p+δp)|2最小,计算可得使误差最小的δp为:
(4)更新模型参数:初始化k=1,更新参数p=p+kδp。
(5)继续计算纹理误差:若当前计算的误差满足测试图像特征点的要求,则停止;否则返回(4),继续更新模型参数,直到计算误差小于要求值为止。
AAM的匹配过程是按照上述算法描述完成,直至标定最终的特征点。
2.3 AAM人眼模板
为了加快人眼模板的匹配速度,在基于Adaboost人脸检测以后,通过人脸器官的几何特征完成对人眼检测和定位,在人眼区域完成人眼状态的检测。本文AAM人眼模板匹配按照上述过程实现。在模板训练时需要对人眼样本的特征点进行标注,模板匹配是在检测时在训练得到的模版中进行最佳模版选择,并根据课题的要求完成眼睛的跟踪,最后根据人眼模版匹配的特征点信息实现状态检测。
本文基于Opencv平台下的开源人脸拟合库VOSM(Vision Open Statistical Models)实现AAM模型,通过图2所示的1、3、5、7特征点间的距离即可实时获取眼睛开闭状态信息。
在基于计算机视觉的疲劳检测研究上,对人眼状态研究较多,而人眼的状态可以有效地反映人的疲劳状态变化,在眼部疲劳参数的研究中,本文采用PERCLOS算法。该算法是弗吉尼亚大学的研究者在上世纪90年代开始研究的,研究发现,疲劳状态与眼部运动的关系较大,正常时人的眨眼是按一定频率进行的,而人在疲劳时等非正常情况下眨眼频率会变慢。根据人眼状态和疲劳状态的关系,研究者认为,PERCLOS是一种较好的测量疲劳的方法,PERCLOS所关注的数据信息可以较好地反应人的疲劳。
PERCLOS定义为单位时间内(一般取1 min或30 s)眼睛闭合一定比例(70%或80%)所占的时间,满足式(15)时就认为发生了瞌睡。
PERCLOS计算公式如下:
PERCLOS值是指在单位时间内眼睛闭合程度超过80%的时间占总时间的百分比。经过实验分析,本文认为眼睑遮住瞳孔的面积超过80%就计为眼睛闭合,通过AAM模型检测人眼开度值,统计在一定时间内眼睛闭合时所占的时间比例,即可获得疲劳状态。
本文在分析电客车司机疲劳检测的基础上,采用vs2010+Opencv+VOSM开发平台,按照电客车司机典型工作环境,通过监控摄像头实时采集人脸视频,选取了连续5 s视频,共125帧数据,该段数据包括了人眼两次眨眼过程。根据AAM模型实时获取眼部的信息,通过PERCLOS算法计算其值。实验结果如图3所示。
图3中,横坐标表示视频序列,纵坐标表示眼睛开度和归一化之后的PERCLOS值。蓝色曲线表示人眼开度值,值越大表示眼睛开度越大。绿色曲线表示PERCLOS值。根据图3可见,随着眼睛开度程度在80%以上时,PERCLOS值越小,随着眼睛闭合,开度值逐渐减小,PERCLOS值越大,呈现反比关系。眼睛开度值在20%以下时,则认为眼睛闭合。根据单位时间内设置的PERCLOS阈值即可判断疲劳状态。
图3 眼睛开度和PERCLOS值的关系
本文在分析电客车司机疲劳检测方法的基础上,采用视频监控摄像头获取司机面部特征信息,在通过Adaboost人脸检测人眼检测完成以后,基于AAM和PERCLOS算法,选取了能够直接反映疲劳程度的面部特征(眼睛)对电客车司机进行疲劳检测,实验结果证明,该模型和算法能够很好地完成对司机的疲劳检测。但是单一基于计算机视觉技术的疲劳检测技术还不能推广应用,如司机在佩戴墨镜或者出现强烈眩光等情况就会出现人眼特征提取困难。因此,在使用计算机视觉技术的基础上,融合多种手段检测信息,如司机生理信号、车辆状态信息,实现多信息融合检测疲劳状态,这也是接下来将要研究的重点。
[1]中国城市轨道交通协会.2015年我国城轨交通线路概况[DB/OL].http://www.camet.org.cn/hyxw/201601/ t20160122_442847.htm.2016.
[2]孙庆雨.城轨列车警惕按钮功能原理分析[J].科研,2015(12):161-163.
[3]白金蓬,黄 英,江宜舟,等.驾驶状态实时监测系统设计[J].电子测量与仪器学报,2014,28(9):965-973.
[4]石 坚,吴远鹏,卓 斌,等.汽车驾驶员主动安全性因素的辨识与分析[J].上海交通大学学报,2000,34(4):441-444.
[5]BERGASA L M,NUEVO J,SOTELO M A,et al.Real-time system for monitoring driver vigilance [J].IEEE Transactions on Intelligent transportation Systems,2006,7(1) : 63-77.
[6]Cootes T F,Cooper D H,and Taylor CJ,et al.Active shape models-their training and application[J].Computer Vision and Image Understanding,1995,61(1):38-59.
[7]G.J.Edwards,A.Lanitis,C.J.Taylor,and Cootes T F.Statistical Models of Face Images-Improving Specifcity[J].Image Vision Computing,1998,16(3):203-211.
[8]Viola P,Jones M J.Robust real-time face detection [J].International Journal of Computer Vision,2004,57(2):137-154.
[9]Takahiro Ishikawa,Simon Baker,Iain Matthews,Takeo Kanade.Passive Driver Gaze Tracking with Active Appearance Models[C].Proc.11th World Congress on Intelligent Transportation Systems,2004:1019-2025.
[10]Cootes T F,Edwards G J and Taylor C J.Active appearance models [J].Proc European Conference on Computer Vision,1998(2):484-498.
[11]Kass M,Witkin A,and TerzopoulosD.Snake:active contour models[J].Int.Journal of Computer Vision,1987,1(4):321-331.
[12]李 爽.疲劳驾驶特征和参数提取研究[D].济南:山东大学,2013.
[13]Cootes T F,Edwards G J and Taylor C J.Active appearance models[J].Proc.European Conference on Computer Vision,1998 (2):484-498.
[14]Cootes T F,Edwards G J and Taylor C J.Active appearance mo-dels[J].Pattern Analysis and Machine Intelligence,2001,23(6):681-685.
[15]施树明,金立生,平荣本,等.基于机器视觉的驾驶员嘴部状态检测方法[J].吉林大学学报(工学版),2004(4).
责任编辑 陈 蓉
Active appearance model and PERCLOS based fatigue detection
TANG Chunlin,YANG Changxiu,CHEN Xingjie
( School of Public Transportation,Chongqing Vocational College,Chongqing 402247,China)
At present,the fatigue problem of long time driving for the drivers of Urban Transit was solved by rules and alert button.These methods increase the labor intensity of the driver,the driver fatigue driving detection effect is limited.So this article put forward an active online real-time detection method based on the site work environment of drivers,the method was used to analyze the face information through a video sequence,identify and locate the human eye by using active appearance model,implement the detection of driver fatigue by PERCLOS Algorithm.Experimental results showed that the model and the Algorithm were able to implement the detection of driver fatigue.
driver of Urban Transit;fatigue detection;Active Appearance Model;PERCLOS Algorithm
U231∶F530.69∶TP39
A
1005-8451(2016)11-0005-05
2016-04-15
重庆市教委科学技术研究项目(KJ1405501)。
唐春林,教授;杨昌休,讲师。