背景技术
随着经济的不断发展,科技水平的不断提高,人民生活水平也相应发生翻天覆地的变化,对公路交通的依赖越来越大。交通事故这个交通大发展的产物同时给国家经济,人民生命财产的安全带来了越来越大的损失。据统计,全世界每年有120多万人死于交通事故,我国2004年共发生一般以上交通事故667507起,导致10万多人死亡,近50万人受伤,直接经济损失33.7亿元;2005年前5个月已发生道路交通事故21万多起,超过4万人死亡,17万多人受伤,与上年同期相比分别上升52.6%、上升47.4%、上升92.3%。国外专家预测,全球2010年车祸死亡人数达150万以上,到2020年这个数上升到210万以上,大量的交通事故带来的财产损失和社会负担是难以用金钱来衡量的。伴随计算机技术的发展,各国研究人员已经从各个领域开始深入研究疲劳驾驶的检测方法,1998年美国联邦高速公路管理局试验证实了PERCLOS(单位时间人眼闭合的百分比)与驾驶员的疲劳状况具有高度的相关性,这为疲劳驾驶检测开辟了新的思路。详见文献:邱海枫,基于人脸定位的疲劳驾驶检测方法的研究和文献D.F.Dinges,and R.Grace,“PERCLOS:A valid psychophysiological measure of alertness as assessed by psychomotor vigilance,”US Department of Transportation,Federal highway Administration.Publication Number FHWA-MCRT-98-006.所述。
PERCLOS是Carnegie Mellon研究所的Driving Research Center研究开发的。PERCLOS测量的参数是在单位时间内(如:1min)眼睛闭合程度超过80%以上的时间占总时间的百分比。人眼的快速定位与图像识别是其中的关键技术,一般采取以下方法:
1)基于人眼生理特征的识别方法。视网膜对不同波长红外光的反射量不同,波长850nm时,它能反射90%的入射光;波长950nm时,只能反射40%的入射光。在同样照度情况下,两个摄像头同时测量人眼的图像,一个是850nm波长的图像,另一个是950nm波长的图像;两幅图像相减后留下视网膜的位置图像,然后分析视网膜的大小和位置。
2)基于数学特征的人脸图像识别方法。包括将人脸器官的形状和几何关系用一组几何特征矢量表示的基于几何特征识别方法和用一组代数特征矢量表示人脸的基于代数特征的人眼图像识别方法。前者采用模式识别中层次聚类思想设计分类器进行识别;后者将人脸看成一个二维的灰度变化模板,从整体上捕捉和描述人脸的特征,通过对图像灰度进行各种代数变换和矩阵分解提取眼部图像。
3)基于神经网络的方法。把人脸检测看作非人脸样本与人脸样本两大类进行模式分类,通过对人脸样本集和非人脸样本集进行学习以产生分类器,在此基础上进行眼部识别。人工神经网络是目前国际上广泛采用的一种方法,BP神经网络训练算法在人脸检测中应用普遍。
4)基于皮肤色彩特征的高斯模型识别方法。假设人脸图像轮廓符合二维高斯模型,用水平和垂直灰度投影图进行Sobel卷积得到眼睛区域,并且分割出左、右眼睛;利用模板匹配方法确定眼睛的睁闭,通过计算某一特定时间内的帧数得出眼睛闭合时间占该段时间的百分率。
详见文献:Dinges David F.,PH.,D.,Grance,Richard Ph.D.PERCLOS:A valid physiological Measure of Alertness Assessed by Psychomotor Vigilance.Federal Highway Administration,Office of Motor Carriers,1998;及文献Grance R.,Byrne V.E.,Legrand J.M.,et al.A Drowsy Driver Detection System for Heavy Vehicles.Proceedings of the Digital Avionics Systems Conference(DACS),1998.
发明内容
本发明提供一种基于人眼睁闭状态的疲劳检测方法,该方法基于对人眼工作时睁闭眼状态的统计判断,检测出用户(工作人员)是否处于疲劳状态。本发明采用视频采集,基于计算机软件实现,具有实时性和判断准确的特点。
为了方便地描述本方法内容,首先对一些术语进行定义。
定义1:眼睛状态。对于疲劳驾驶检测来说,眼睛状态为完全睁开到闭合的程度。
定义2:肤色样本库。标准光照下,矩形的包含人体面部皮肤的图片集合。
定义3:AdaBoost。Adaboost全称是Adaptive Boost,是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。
定义4:色彩模型。色彩模型是描述使用一组值(通常使用三个、四个值或者颜色成分)表示颜色方法的抽象数学模型。这里涉及到RGB模型和HSV模型。RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色。HSV同RGB模型的区别是使用色相(H)、饱和度(S)、和亮度(V)表示颜色。这两个标准都几乎包含了人类视力所能感知的所有颜色。
定义5:Snake模型。主动轮廓线模型又称为Snake模型。是通过连续曲线使总能量极小来不断迭代逼近边缘线的模型方法。
定义6:PERCOLS。全称是percentage of eyelid closure over the pupil over time。是指眼睛闭合时间占某一特定时间的百分率。是当今基于视觉疲劳判定的准则。
一种基于人眼睁闭状态的疲劳检测方法,如图1所示,包含以下步骤:
步骤1:建立用户肤色图像数据库。用户肤色图像数据库应含有数幅均匀光照下包含用户眼睛周围皮肤的、彩色的用户人眼样本图像,其中每张样本图像大小均为M×N的矩形。
步骤2:基于高斯肤色模型,将用户肤色图像数据库的样本图像转换到HSV空间,则样本图像Xi表式为:
Xi=(Hi Si Vi)
其中Hi、Si和Vi分别表示样本的色相、饱和度和亮度向量,i=1,2,L,A,A为用户肤色图像数据库的样本图像总数。
步骤3:计算用户肤色图像数据库均值矩阵
和协方差矩阵C,其中:
步骤4:在用户工作过程中,采集用户上半身的RGB视频流,对RGB视频流中的每一帧图像做光照均衡预处理后采用AdaBoost方法从中检测出两帧包含用户左眼或右眼周围皮肤的、大小为M×N的待检测用户人眼图像。
步骤5:将步骤4得到的每一帧待检测用户人眼图像转换到HSV空间,然后计算肤色相似度Λ(x)并做缩放得到256灰度的肤色相似度图像Λ(x)′;其中:
Λ(x)′=Λ(x)×255/((max(Λ(x))-(min(Λ(x)))
步骤6:在步骤5得到的肤色相似度图像Λ(x)′上,以初始化为椭圆形的Snake模型迭代逼近边缘。迭代过程中Snake模型的每个离散像素点遍历周围十二邻域像素点且初始化的椭圆形应将眼睛轮廓包含在内。
步骤7:每次步骤6中的邻域遍历时,计算Snake模型连续点的内部相似度图像直方图Hin、内部像素点个数Nin、外部相似度图像直方图Hout以及外部像素点个数Nout。
步骤8:将步骤7中计算的各个参数作为能量参数,构建改进后的Snake能量模型
其中:Eout为与外部相似度图像直方图Hout对应的能量值,Ein为与内部相似度图像直方图Hin对应的能量值,vi为Snake模型上的离散点坐标,α,β,γ为比例系数,Hin(i)和Hout(i)表示灰度i在直方图中的概率密度。将上式中的E作为Snake模型迭代的能量公式,寻找收敛的能量极小值。
步骤9:当迭代收敛时,在Snake模型的各个离散点中搜索距离最远的两点,将距离最远的两点之间的距离定义为眼角距L,计算其他离散点到距离最远两点所确定直线的距离和
在计算
与L的比值η。这里将η视为衡量人眼睁闭程度的衡量参数。
步骤10:采用PERCLOS测量方法,即通过统计单位时间T内步骤4所采集的RGB视频流经步骤4至步骤9处理后得到的每帧图像的η值来确定人眼睁闭状态的分布。具体以PERCLOS的P80准则为标准,PERCLOS值定义为其中n1表示单位时间T内η值在0到η20之间的帧数,n2表示单位时间T内η值在η20到η80之间的帧数;定义η80=0.8×η100、η20=0.2×η100,而η100为人眼完全睁开时的η值;最终当PERCLOS值大于阀值P时,认定用户处于疲劳状态。
通过以上步骤,就能根据用户人眼睁闭状态来判断用户是否处于疲劳状态。
需要说明的是:
1.步骤1中用的是均匀光照的理想样本库,且此方法也是建立在良好光照条件下,并没有考虑强光,弱光,偏光的情况。
2.步骤2中以HSV模型来建立肤色相似度图像,也可以用YCgCr取代。这是构建高斯肤色模型的算法。
3.步骤6中的Snake模型的初始离散点个数可以根据实践情况调整。一般20个即可。
5.步骤8中的α,β,γ值的选取需要根据特定用户特点做调整。总体上α要远大于β和γ。
6.步骤10中的单位时间T的取值范围可以确定为1至5分钟,当然也可以根据需要调整。人眼完全睁开时的值η100是根据特定用户的眼睛形状提前预知的信息;阀值P的取值范围可以确定为[0.15,0.25]。
本发明的有益效果是:
本发明提供的基于人眼睁闭状态的疲劳检测方法,采用人眼睁闭眼状态的统计来判断是否疲劳与采用人脑信息来判断是否疲劳具有一致的结果。采用视频采集,基于计算机软件实现,具有实时性和判断准确的特点。计算处理过程中采用了AdaBoost方法对人眼进行定位,并提出了一种改进的Snake模型迭代逼近边缘,最终利用单位时间内人眼睁闭眼状态的高宽比统计信息来进行是否疲劳的判断。