基于模糊识别的驾驶员疲劳检测

2014-07-18 02:00杨薛涛陈忠强游斌相王银玲
西南科技大学学报 2014年2期
关键词:睁开人眼眼睛

张 露 张 静 杨薛涛 陈忠强 游斌相 王银玲

(西南科技大学智能机器人创新实践班 四川绵阳 621010)

疲劳驾驶是诱发严重交通事故的重要原因之一,据统计,60%以上的交通事故与疲劳驾驶有关,防范疲劳驾驶刻不容缓。

在人眼状态判别方面,众多学者提出了不同的检测方法。Tian等提出用Canny边缘和半虹膜掩膜的方法检测眼睛开、闭两种状态[1];李英等综合5种方法来检测开眼和闭眼状态[2];胡涛等利用形状特征判断人眼状态[3];Khan等提出实时眼睛跟踪和分类驾驶员疲劳检测[4];苑玮琦等提出基于PERCLOS的眼睛张开程度检测算法[5];Fei Yang等通过网络摄像头跟踪眼睑状态判别疲劳[6];FAN Xiao等提出首先利用模板匹配方法获得初始帧的准确眼睛位置,然后利用动态模板匹配方法跟踪下一帧的位置,最后通过相似度检测眼睛状态[7];袁翔等人综述了当前疲劳检测研究进展,提出基于人眼视线的检测方法,通过对眼球建模,把视线是否偏离正常范围作为判别是否疲劳的特征之一[8]。

目前判别人眼开、闭状态均依据单一指标进行判别,而且公认的疲劳判别标准PERCLOS能有效判别是否疲劳,经检测PERCLOS方法检测一般是在事故前10 s出现,留给司机的反映时间太短。在驾驶疲劳检测过程中,人眼状态并非只有睁眼和闭眼两种状态,而是有大量中间状态,中间状态包含了临界疲劳的状态,有效利用PERCLOS方法就须在临界疲劳时发出预警。

本文在现有的疲劳驾驶检测方法的基础上继续研究如何判别疲劳以及临界疲劳,将PERCLOS检测结果、眼睑在单位时间的平均张开程度、单位时间眨眼次数、眼睛纵横比4种检测结果综合分析,提出用模糊识别的方法,融合以上4种测量结果,加以权重分析,进而判别眼睛所属的状态。

1 人眼状态检测与判别方法

1.1 PERCLOS 测量原理

PERCLOS[9]是指在一定时间内眼睛闭合时所占的时间比例,在具体实验中有P70,P80,EM 3种测量方式,其中P80被认为最能反映人的疲劳程度。图1为PERCLOS值的测量原理图,图中曲线为一次眼睛闭合与睁开过程中睁开程度随时间的变化曲线,可根据此曲线得到所需测量的眼睛某个程度的闭合或睁开持续的时间,从而计算出PERCLOS值。图中t1为眼睛完全睁开到闭合20%的时间;t2为眼睛完全睁开到闭合80%的时间;t3为眼睛完全睁开到下一次睁开20%的时间;t4为眼睛完全睁开到下一次睁开80%的时间。通过测量出t1到t4的值算出PERCLOS的值f。

其中f为眼睛闭合时间所占某一特定时间的百分率,对于P80测量方式来说,我们认为当PERCLOS值f>0.15时,认为驾驶员处于疲劳状态。

图1 PERCLOS值的测量原理图Fig.1 The measuring schematics of PERCLOS value

1.2 人眼运动模型建立

由于人眼上下眼皮的两条边界线是约束在眼球球面上的两段弧线段,正面拍摄时,在xOy平面的投影近似为两段对称的抛物线,这里只考虑上眼皮的运动,如图2,用参数方程表示为:

图2 人眼运动模型Fig.2 The movement model of human eyes

其中T为瞳孔切面方程,保证眼皮抛物线被约束在圆面内,r为瞳孔半径,c(t)描述上眼皮张闭的控制函数,由眼睛大小及几何特征可解方程中的参数。上眼皮张闭过程描述,t时刻:yt(x),经 △t后APB弧下移:

C(x1,y1),D(x2,y2)为抛物线下移时与圆的交点,S0为圆面积,即:

其中,S(t)为未闭合瞳孔面积。

眼睛平均张开程度:

1.3 眨眼检测

摄像头采集到的眼睛在横向和纵向上所占像素值 Contour_X,Contour_Y,计算 Lenpr[i]=Contour_Y/Contour_X,即眼睛的纵横比,这个比值对同一个人的睁眼或闭眼状态来说是相对固定的。眨眼检测流程如图3。

图3 眨眼检测流程图Fig.3 The flowchart of blink detection

1.4 眨眼次数统计

瞌睡和眨眼检测结果可统计眨眼次数[4],如图4,当最大相关值在0.75~1之间,说明人眼处于觉醒状态,当最大相关值在0.5~0.75之间时,说明是在眨眼或是瞌睡,此时若持续时间较长,则是瞌睡,若是瞬间情况则是眨眼,据此统计眨眼次数。

图4 瞌睡和眨眼检测结果Fig.4 The results of drowsiness and blink detection

2 模糊识别

2.1 模糊识别原理

模糊不确定性是指事物本身所固有的不精确状况,摆脱了非此即彼的精确性,反映了事物间由于差异的中间过渡性所引起的不确定,而导致了概念的外延不分明性,也就是“亦此亦彼”的模糊性,人眼状态并非只有睁眼和闭眼两种状态,而是有大量中间状态,即在排中律上存在破缺,属模糊不确定性一类。

一般的模糊识别过程可分为三步来实现:(1)信息获取;(2)特征提取;(3)选择、匹配分类。一般地,设所分类的事物有n个可提取特征,对某个具体的对象(模糊集)对应于这n个特征的n个隶属度为:μ1,μ2,…μn。对于具体问题,这 n 个特征在模糊识别中的作用是不同的,所以对这些隶属度分别赋予适当的权系数:a1,a2,…,an。求得:

2.2 人眼状态判别方法设计

通常在观察一个人一段时间后,可根据其面部表情状态,能判断被观察者目前是否处于疲劳状态,这是经验所得,而机器就不能办到,甚至出现误判,用模糊识别[10]可以更深入地模拟人脑思维的过程。

设论域 U={x1,x2,…,xn},用聚类方法按经验以及大量试验将人眼状态行为分为3种类型,在U上表现为3个模糊子集 Ai∈ F(U)(i=1,2,3),其含义为:A1为正常状态;A2为临界状态;A3为疲劳状态,这就构成了论域U上的标准模型库{A1,A2,A3},每个标准人眼状态:(i=1,2,3,4)由4 个主要指标来描述,即:

η1:由PERCLOS方法检测得到η1=总闭眼时间/总时间;η2:眼皮平均张开程度;η3:单位时间的眨眼次数统计;η4:眼睛纵向长度与横向长度的比例。

表1 特征检测指标Table 1 Index of feature detection

眼睛在人体不同生理条件下张合状态是一个较复杂的模糊集合体,而所用到的4个指标在测量时也会有各种因素的影响,都是模糊概念,因此,对每个标准人眼状态而言,以上4个指标也是模糊集=((i=1,2,3),这可以看作是一个广义模糊向量集合族。

各种标准人眼状态通过大量的试验,η1(),η2(),η3(),η4()均为正态模糊集,相应的隶属函数为:

4个指标对判别3种眼睛状态的影响程度不相同,即4个指标的权重不同,令权重为wj(j=1,2,3,4),即:

2.3 最大隶属度原则

3 试验流程及结果

3.1 实验流程

摄像头采集到的模拟图像通过预处理,手工分割人眼图像。统计不同状态眼睛张开程度、单位时间眨眼次数、眼睛纵横比例。试验流程如图5所示。

图5 试验流程图Fig.5 The flowchart of testing

运用Matlab 2012软件进行程序设计,软件界面如图6。

图6 软件界面Fig.6 The interface of the software

对眨眼进行检测,将眼睛在纵向和横向上的实际所占像素值,即眼睛的纵横比作为眼睛的闭合度,图7为眼睛在3种状态下的纵横比值。

图7 3种状态下眼睛的纵横比Fig.7 The aspect ratio of the three states of the eyes

采用模拟拍摄的图像,根据以上方法统计各特征值,在3种状态下4个特征检测的结果(平均值+方差)见表2,通过多次试验,权重系数w={0.4,0.2,0.2,0.2}时准确率较高。

表2 特征检测指标参考值Table 2 Index reference value of feature detection

3.2 实验结果

该模糊识别系统的输出值显示为正常、临界或疲劳。在一段时间内,摄像头拍摄的测试者的眼部状态,检测出4个特征值,由模糊识别系统判别眼睛当前所属的状态,及时显示结果及相应的预警和报警。表3为4位测试者的疲劳检测结果,报警平均正确率达到94%。

表3 疲劳检测结果Table 3 The results of fatigue detection

模糊综合评价结果是被评价对象对各等级模糊子集的隶属度构成的综合评价向量,本文中对综合评价向量的处理遵循常规的最大隶属度原则,但是最大隶属度原则在某些情况下存在失效问题。对同一个测试者来说,2指标和4指标在判断是否疲劳时若差异较小,会出现误报。针对这一问题,在进一步的研究中要结合实际情况改进最大隶属度原则的算法。

4 结论

本文结合已有的检测方法,采用模糊识别对眼睛状态的综合判断作了理论分析,并通过模拟的正常、临界、疲劳状态拍摄的图像,检测其特征值,最后由模糊识别综合判断眼睛所属的状态,作相应的预警或报警提示,模拟测试结果平均准确率达到94%。由于在本文中所采用的的权重系数只适用于本模拟实验,为了确保该识别方法能适合不同环境,应该使用实时的驾驶拍摄的图像,所以权重系数有待进一步完善,其次对最大隶属度原则的算法应结合实际作相应的改进。

[1]TIAN Y L,KANADE T,COHN J F.Dual- state Parametric Eye Tracking[C].Proceeding of the 4th IEEE International Conference on Automatic Face and Gesture Recognition(FG'00),Grenoble,France,2000.110 -115.

[2]李英,赖剑煌,阮邦志.眼睛状态检测的组合方法[J].中国图象图形学报,2003,8A(10):1140-1145.

[3]胡涛,张兵.基于形状特征的人眼状态判断[J].计算机工程与应用,2009,45(5):203-206.

[4]KHAN M I,MANSOOR A B.Real Time Eyes Tracking and Classification forDriverFatigueDetection[C].ICIAR,2008,LNCS5112,2008.729 -738.

[5]苑玮琦,袁英.基于PERCLOS的眼睛张开程度检测算法研究[J].微计算机信息(控制自动化),26(9-1):46-48.

[6]YANG Fei,YU Xiang,HUANG Jun-zhou,et al.Robust Eyelid Tracking for Fatigue Detection[D].978-1-4673-2533-2/12/2012IEEE.

[7]FAN Xiao,SUN Yan-feng,YIN Bao-cai,et al.Gabor-based dynamic representation for human fatigue monitoring in facialimage sequences[J].Patter Recognition Letters,2010,31(3):234-243.

[8]袁翔,孙香梅.疲劳驾驶检测方法研究进展[J].汽车工程学报,2012,2(3):157-164.

[9]郭永彩,李文涛,高潮.基于PERCLOS的驾驶员疲劳检测算法[J].计算机系统应用,2009,(8):54-57.

[10]梁保松,曹殿立.模糊数学及其应用[M].北京:科学出版社,2007.

[11]胡越,郭延齐,程文华.基于Matlab的人眼疲劳度检测[J].信息技术,2009,(8):64-67.

猜你喜欢
睁开人眼眼睛
人眼X光
人眼为什么能看到虚像
闪瞎人眼的,还有唇
刷新
刷新
刷新
我有一双探索的眼睛
眼睛在前
看人,星光璀璨缭人眼
为什么眼睛不怕冷?