Print

发布时间: 2016-11-25
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.20161111
2016 | Volumn 21 | Number 11




    图像分析和识别    




  <<上一篇 




  下一篇>> 





基于高斯眼白模型的疲劳驾驶检测
expand article info 旷文腾, 毛宽诚, 黄家才, 李海彬
南京工程学院自动化学院, 南京 211167

摘要

目的 为解决疲劳驾驶检测中人眼状态识别的难点,提出一种基于眼白分割的疲劳检测方法。 方法 首先对获取图像进行人脸检测,利用眼白在Cb-Cr上良好的聚类性,基于YCbCr颜色空间建立高斯眼白分割模型;然后在人脸区域图像内做眼白分割,计算眼白面积;最后将眼白面积作为人眼开度指标,结合PERCLOS(percentage of eyelid closure over the pupil over time)判定人的疲劳状态。 结果 选取10个短视频进行采帧分析,实验结果表明,高斯眼白分割模型能有效分离眼白,并识别人眼开合状态,准确率可达96.77%。 结论 在良好光线条件下,本文方法能取得不错的分割效果;本文所提出的以眼白面积作为判定人眼开度的指标,能准确地判定人的疲劳状态。实验结果证明了该方法的有效性,值得今后做更深入的研究。

关键词

疲劳驾驶; 人脸检测; 眼白特征; YCbCr; 高斯模型; PERCLOS (percentage of eyelid closure over the pupil over time)

Fatigue driving detection based on sclera Gaussian model
expand article info Kuang Wenteng, Mao Kuancheng, Huang Jiacai, Li Haibin
Department of Automation, Nanjing Institute of Technology, Nanjing 211167, China
Supported by: National Natural Science Foundation of China (61104085); Natural Science Foundation of Jiangsu Province, China (BK20151463)

Abstract

Objective Considering that achieving non-contact and high precision in fatigue driving detection is difficult, the method based on computer vision arises as a possible solution. The key point to achieve fatigue driving detection is to recognize the open and closed state of driver's eyes and estimate if the driver is fatigued and sleepy. This paper proposes a new fatigue driving detection method based on sclera segmentation to solve the problem of recognizing the open and closed state of driver's eyes in fatigue driving. Method The face is tested from the acquired picture using a face detection method based on Adaboost raised by Viola and Jones. Then, a Gauss sclera model based on YCbCr color space is built for the next step because of the good clustering performance of sclera in Cb-Cr color space. The sclera is detected in the face region using this model and the area of the sclera is calculated. The sclera area is considered the eye opening index and the fatigue state is determined along with the PERCLOS criterion. Result Experimental results for 10 short testing videos show that the proposed algorithm can select the sclera part and recognize the open and closed state of human eyes effectively. The accuracy rate can reach up to 96.77%. Conclusion The proposed method can achieve satisfactory segmentation effect under good lighting condition. Using the sclera area as the eye opening index, the proposed method can also judge the state of driver's fatigue accurately. The new approach is effective and must be further studied.

Key words

fatigue driving; face detection; sclera characteristics; YCbCr; Gauss model; percentage of eyelid closure over the pupil over time (PERCLOS)

0 引言

疲劳驾驶是造成交通事故发生的重要原因之一。Klauer等研究发现,疲劳驾驶引发交通事故的概率是正常驾驶的46倍[1],每年由疲劳驾驶而引起的交通事故占事故总数的20%左右,占特大交通事故的40%以上[2]。疲劳检测的研究近年来呈上升趋势,目前疲劳检测的手段包括:基于驾驶员生理信号的检测[3],基于驾驶员操作行为和车辆状态的检测[4],基于驾驶员面部行为的检测[5]

基于计算机视觉的驾驶员面部行为疲劳检测方法,是通过对驾驶员眼睛闭合状态、视线、头部姿势变化、嘴部状态等综合分析,实现对驾驶员疲劳状态的估计。由于该方法具有非侵入、实时的特点,已成为驾驶员疲劳检测领域的研究热点[6]。驾驶员眼睛闭合状态是判断驾驶员是否瞌睡的重要指标,同时也是基于面部行为检测的重点、难点。

姜赵普等人[7]通过对人脸灰度图水平积分投影,根据垂直方向上的波峰波谷长度判断人眼的闭合程度。宋凯等人[8]则提出一种改进的积分投影算法,通过对人脸预处理后的图像进行Gabor变换后再进行水平积分投影,改善了传统积分投影方法易受眉毛、眼睑干扰的缺点,但是对姿态敏感。

文献[9]通过阈值分割人眼区域,根据人眼类似圆形识别瞳孔区域,基于霍夫变换识别人眼,进而判断人眼的睁闭状态。文献[10]利用基于最小二乘法的椭圆拟合对人眼轮廓进行拟合,根据椭圆的长短轴之比确定人眼的开闭状态。此类算法解决了积分投影姿态敏感的问题,但计算量大,且对图像质量有着较高要求。

综上所述,现有的人眼算法大都是利用人眼的边缘信息判定人眼状态,基本都建立在对人眼精确定位的基础上,算法复杂度较高,且受外界干扰较大。本文提出一种基于颜色空间变换的人眼状态识别方法,利用眼白在颜色空间中的聚类性,使用眼白面积作为人眼开度判定的指标,建立一种高斯眼白分割模型。相较于传统方法,此算法不仅仅局限于人眼的边缘信息,利用了人眼的更多的色彩信息,因此解决了文献[7-8]方法姿态敏感的缺点;眼白在颜色空间与其他脸部部位在颜色空间上区分度大,算法实现时无需进行精确的眼部定位,降低了算法复杂度,提高了计算速度,改善文献[9-10]中计算量大的问题。

1 人脸检测

对于实时获得的图像,背景可能会对人眼的框定和对眼白分割造成一定干扰。为了让眼白分割算法更加精确及获得更快的运算速度,先对获得的图像进行人脸检测,以便在人脸图像中进一步眼白分割。

2001年,Viola和Jones在AdaBoost算法的基础上,提出了使用Haar小波特征和积分图方法进行人脸检测[11]

1.1 Haar-like特征

图 1中任意一个矩形放到人脸区域上,将白色区域的像素和(Swhite)减去黑色区域的像素和(Sblack)得到的值称之为“特征值”(f)。计算公式为

图 1 Haar-llke特征模板
Fig. 1 Haar-like feature template ((a)edge features; (b)line features; (c)center-surround features)

$f={{S}_{\text{white}}}-{{S}_{\text{black}}}$ (1)

1.2 积分图

AdaBoost人脸检测训练算法速度很重要的两方面是特征选取和特征计算。选取的特征为矩特征为Haar特征。而积分图的意义在于,它极大减小了算法的运算量,提高了算法的运算速度,让Haar-like特征值实现快速计算。

图 2所示,坐标($x,y$)的积分图是其坐标处到左上角原点的矩形范围内所有像素之和,定义为

图 2 积分图
Fig. 2 Integral image

$ii\left( x,y \right)=\sum\limits_{x'\le x,y'\le y}{i\left( x',y' \right)}$ (2)

式中,ii($x,y$)表示积分值,i($x,y$)表示原始图像坐标($x,y$)处像素值。

对积分图,设D的4个顶点分别为$\alpha ,\beta ,\gamma ,\delta $,则D的像素和可以表示为

${{D}_{\text{sum}}}=ii\left( \alpha \right)+ii\left( \delta \right)-ii\left( \gamma \right)-ii\left( \beta \right)$ (3)

式中,ii($\alpha $)、ii($\beta $)、ii($\gamma $)、ii($\delta $)分别表示$\alpha ,\beta ,\gamma ,\delta $ 4点的积分图。

而Haar-like特征值无非就是两个矩阵像素和的差,完全可以在常数时间通过积分图简单的加减运算求得。

1.3 分类器

通过特征值的计算,利用Adaboost算法挑选一些最能代表人脸的矩形特征,这便是弱分类器。

而Adaboost是一种迭代算法,对于一组训练集,通过改变其中样本分布概率,得到不同的训练集, 对于每个训练集进行训练得到弱分类器,再根据不同权值组合这些弱分类器,就得到了强分类器。

Adaboost算法训练强分类器的方法如下:

1) 给定一系列训练样本,(${x_1}$, y1)($x$2, y2)…(${x_i}$, yi)…(${x_n}$, yn),${x_i}$表示第i个样本,yi=0时表示其为负样本(非人脸),yi=1表示其为正样本(人脸)。N为总共的训练样本数量。

2) 初始化权重。对于负样本,Dt(i)=m/2, m为负样本个数;对于正样本,Dt(i)=l/2, l为正样本个数。Dt(i)为第t次循环中第i个样本的误差权重。

3) t=1, …, T

(1) 归一化后的权重为

${{q}_{t}}\left( i \right)={{D}_{t}}\left( i \right)/\sum\limits_{i=1}^{n}{{{D}_{t}}\left( i \right)}$ (4)

(2) 对每一个特征f,训练一个弱分类器$h\left( {x,f,p,\theta } \right)$,其中p为弱分类器不等号方向,$\theta $为阈值,计算对应所有特征的弱分类器的加权错误率

${{\varepsilon }_{t}}=\sum\limits_{i}{{{q}_{i}}\left| h\left( {{x}_{i}},f,p,\theta \right)-{{y}_{i}} \right|}$ (5)

(3) 从步骤(2)中确定的弱分类器中,找出一个具有最小的错误率${\varepsilon _t}$的弱分类器ht

(4) 对所有样本的权重进行更新,即

${{D}_{t+1}}\left( i \right)={{D}_{i}}\left( i \right)\beta _{i}^{1-{{e}_{i}}}$ (6)

式中,${\beta _t} = {\varepsilon _t}/1 - {\varepsilon _t}$ei=0表示${x_i}$被正确的分类,ei=1表示${x_i}$被错误地分类;

(5) 最后的强分类器为

$H\left( x \right)=\left\{ \begin{matrix} 1 & \sum\limits_{t=1}^{T}{{{\alpha }_{t}}{{h}_{t}}\left( x \right)\ge 1/2\sum\limits_{t=1}^{T}{{{\alpha }_{t}}}} \\ 0 & 其他 \\ \end{matrix} \right.$ (7)

${{\alpha }_{t}}={{\log }_{2}}1/{{\beta }_{t}}={{\log }_{2}}\frac{1-{{\varepsilon }_{t}}}{{{\varepsilon }_{t}}}$ (8)

当已经提取的分类器对于某些样本分类正确,那么减小这些样本的权重。当分类错误,增加这些样本的权重,这样,后面训练提取的简单分类器就会更加强化对这些分类错误样本的训练。

当这个强分类器对一幅待检测图像时,相当于让构成该强分类器的所有弱分类器投票,再对投票结果按照弱分类器的错误率加权求和,将投票加权求和的结果与平均投票结果比较得出最终的结果,判断是否是人脸[12]。基于Adaboost的人脸检测如图 3所示。

图 3 Opencv下基于Adaboost的人脸识别
Fig. 3 Face detection based on Opencv

2 YCbCr色彩空间的眼白分割

2.1 YCbCr色彩空间

在色彩空间中不同色调的物体聚类在各自不同的色带中, 由此可以利用彩色信息在图像中快速地检测出相应的目标。人脸分为眼鼻嘴耳头发几个部分,其中眼睛的虹膜和眉毛、头发呈黑色,巩膜呈白色,人的眼白与人脸其他部分存在明显差异,能从色度信息上很好地区分开来进而对眼睛的状态进行分析。

肤色模型的原理是:在肤色YCbCr色彩空间中色度分量Cb和Cr的分布趋于一致,近似呈2维高斯分布[13-15]。同样,通过统计分析眼白在RGB、HSV、YCbCr色彩空间下分布的情况,如图 4所示。

图 4 虹膜、巩膜、皮肤颜色空间分布情况
Fig. 4 Color spatial distribution of Iris, sclera and skin ((a) RGB color space; (b) HSV color space; (c) YCbCr color space)

图 4可知,眼白在YCbCr色彩空间下具有最好的聚类特性,其中CbCr相关性高(图 5)。

图 5 眼白在Cb-Cr上的统计分布图
Fig. 5 Sclera on the Cb-Cr statistical distribution

2.2 CbCr空间的眼白分割

上述分析可知眼白在CbCr空间上聚类性好。如图 6所示,由统计结果可知眼白的像素点基本落入Cb∈[129,146]且Cr∈[125,142]限定的矩形区域,可以尝试用一个矩形“框”框住这个区间,即认为落入这个矩形区域的像素即为眼白。

图 6 眼白在Cb-Cr上的统计分布等高线图
Fig. 6 Distribution contour map of sclera in Cb-Cr space

可以利用这一特性设计一个简单的算法来做眼白分割,分割算法流程:

1) 读入彩色图像并扫描图像,获取该彩色图像每一像素的R、G、B颜色分量值;

2) 对图像每一像素,转换到YCbCr色彩空间,得到Cb、Cr值[13],即

$\begin{gathered} \left[ {\begin{array}{*{20}{c}} {\text{Y}} \\ {{\text{Cb}}} \\ {{\text{Cr}}} \end{array}} \right] = \hfill \\ \left[ {\begin{array}{*{20}{c}} {0.257}&{0.504}&{0.098} \\ { - 0.148}&{ - 0.291}&{0.439} \\ {0.439}&{ - 0.368}&{ - 0.071} \end{array}} \right] \cdot \left[ {\begin{array}{*{20}{c}} {\text{R}} \\ {\text{G}} \\ {\text{B}} \end{array}} \right] + \left[ {\begin{array}{*{20}{c}} {16} \\ {128} \\ {128} \end{array}} \right] \hfill \\ \end{gathered} $ (9)

3) 遍历YCbCr空间,若像素点落入Cb∈[129,146]且Cr∈[125,142]限定的矩形区域,则认定为眼白,并在原彩色图像上设为白色(RGB颜色分量都为255),眼白分割效果如图 7所示。

图 7 眼白分割效果图
Fig. 7 Sclera segmentation renderings

2.3 基于CbCr高斯分布的眼白分割

上述通过规定眼白色度范围的方法虽然计算方法简单,拥有较快的运算速度,可将大部分非眼白区域排除,但难以保证精度。

图 5图 6中可得出, 眼白像素在CbCr空间上拥有较好的聚类性,并且近似2维高斯分布如图 8所示。

图 8 拟合的高斯分布图
Fig. 8 Gaussian distribution fitting

于是建立眼白2维高斯分布模型如下:

高斯概率密度函数为

$\begin{gathered} P\left( {{\text{Cr,Cb}}} \right) = \hfill \\ \exp \left[ { - 0.5\left( {\boldsymbol{x} - \boldsymbol{m}} \right){C^{ - 1}}{{\left( {\boldsymbol{x} - \boldsymbol{m}} \right)}^{\text{T}}}} \right] \hfill \\ \end{gathered} $ (10)

其相关参数设定为

$\boldsymbol{m} = {\left[ {\overline {{\text{Cr}}} {\text{,}}\overline {{\text{Cb}}} } \right]^{\text{T}}}$ (11)

$\boldsymbol{x} = {\left[ {{\text{Cr,Cb}}} \right]^{\text{T}}}$ (12)

协方差矩阵为

$\begin{gathered} \boldsymbol{C} = E\left[ {\left( {\boldsymbol{x} - \boldsymbol{m}} \right){{\left( {\boldsymbol{x} - \boldsymbol{m}} \right)}^{\text{T}}}} \right] = \hfill \\ \left[ {\begin{array}{*{20}{c}} {\sigma _{{\text{Cr}}}^2}&{{\sigma _{{\text{CbCr}}}}} \\ {{\sigma _{{\text{CbCr}}}}}&{\sigma _{{\text{Cb}}}^2} \end{array}} \right] \hfill \\ \end{gathered} $ (13)

$\boldsymbol{x}$是每个像素点Cr和Cb的色度向量;m为统计眼白的Cr和Cb的均值向量;C为统计眼白的协方差矩阵。经过实验统计可得

$ \begin{gathered} \boldsymbol{m} = {\left[ {125.183\;5,132.729\;9} \right]^{\text{T}}} \hfill \\ \boldsymbol{C} = \left[ {\begin{array}{*{20}{c}} {13.8514}&{ - 8.0945} \\ { - 8.0945}&{13.0747} \end{array}} \right] \hfill \\ \end{gathered} $

式(10)为概率密度分布函数,也可计算得到图像内每个像素点与均值m的相似程度,相似度越高的像素点其值趋近于1,相似度越小的像素点其相似值趋于0;根据各个像素点的相似值可得相似度灰度图。

得到相似度值之后就显然易于划分眼白与其他部分,设置阈值$\delta $,相似度大于$\delta $的认为像素点与眼白相似程度高,可划分为眼白,小于$\delta $则分割为非眼白部分;若$\delta $设置的太高则容易只计算了眼白的部分区域,而导致对光照不均敏感;若$\delta $设置太低就容易出现过分割的情况。实验取$\delta $值为0.3时,眼白分割效果较稳定。

Y分量包含图像的亮度信息,Cb和Cr为蓝色和红色的浓度偏移量。从图 4(c)分析可知,眼白的亮度的范围基本可以确定在一区间内。对5 723个眼白像素点的Y值进行统计分析,如图 9所示。为剔除统计时眼白像素可能存在的误差,滤去像素个数小于1/10Y值像素点数最多的Y值,得到Y值区间为[65,177]。

图 9 眼白亮度值统计图
Fig. 9 Chart of sclera luminance value

眼白分割算法流程如下:

1) 获取彩色图像,利用式(9)转换到YCbCr色彩空间,得到Cb、Cr值;

2) 根据相似度式(10),计算图像各像素与眼白的相似度值;

3) 得到相似度灰度图(图 10(a));

图 10 基于高斯分布的眼白分割
Fig. 10 Sclera segmentation based on Gaussian distribution ((a) likelihood fig; (b) segmentation renderings)

4) 对相似度灰度图二值化,设阈值$\delta $为0.3,将相似度大于阈值且Y值在区间[65, 177]的像素在原图上标为白色(图 10(b)),即为分割出来的眼白部分;

5)计算眼白面积。

3 基于眼白特征的疲劳驾驶检测

3.1 眼睛的粗定位

对整张人脸区域进行眼白判定会出现算法时间过长、人脸其他区域的产生一些噪点因素等问题,所以需要对人眼进行粗定位,确定人眼的大概区域。“三庭五眼”是人的脸长与脸宽的一般标准比例,脸部的长度(三庭)从额头发际线到下颚为脸的长度,将其分为三等分:由发际线到眉毛,眉毛到鼻尖,鼻尖到下颚为三庭。取人脸图像的[1/3, 1/2]的区域,基本可以取到眼睛区域。虽然不像积分投影方法那样定位精确的人眼位置,但这种方法可以减小计算量,提高运算速度,便于操作,也满足对眼白分割区域的要求。眼睛粗定位下分割效果如图 11所示。

图 11 分割效果图
Fig. 11 Segmentation renderings ((a) likelihood FIG; (b) segmentation of Sclera region; (c) binarization of sclera)

3.2 基于PERCLOS疲劳状态判断

WierwiIIe驾驶模拟器上的实验结果证明,眼睛的闭合时间在一定程度上反映了眼睛的疲劳,在此基础上,卡内基梅隆研究所经过反复实验和论证,提出了度量疲劳/瞌睡的物理量PERCLOS,其定义为单位时间内(一般取1 min或者30 s)眼睛闭合一定比例(70%或80%)所占的时间,满足

${\text{PERCLOS = }}\frac{{{p_{{\text{close}}}}}}{{{p_{{\text{sum}}}}}} \times 100\% $ (14)

就认为发生了瞌睡[16],式中,pclose为眼睛闭合帧数;,psum为制定时间段总帧数。

通常PERCLOS方法有3种标准:

1) P70, 眼睑遮住瞳孔的面积超过70%就计为眼睛闭合,统计在一定时间内眼睛闭合时所占的时间比例。

2) P80, 眼睑遮住瞳孔的面积超过80%就计为眼睛闭合,统计在一定时间内眼睛闭合时所占的时间比例。

3) EM, 眼睑遮住瞳孔的面积超过一半就计为眼睛闭合,统计在一定时间内眼睛闭合时所占的时间比例。

于是使用30 s作为一个计时单元,即在实时过程中用30 s内所收集图像的有用帧数做PERCLOS测量计算,若PERCLOS>40%或眼睛持续闭合时间大于3 s时,就认为驾驶员处于疲劳状态,可以判定为疲劳驾驶。

3.3 疲劳驾驶检测

疲劳驾驶检测的算法流程如图 12所示.首先对获取的图像首先进行Adaboost人脸检测,进而在人脸的基础上实现人眼的粗定位,再使用高斯眼白分割模型分割眼白并计算眼白面积并存储;当累计时间达到一个计时单元(30 s)时,采用PERCLOS和眨眼频率判定人的疲劳状态。

图 12 算法流程图
Fig. 12 Algorithm flowchart

4 实验结果分析

人在正常状态时眼睛会无意识眨动,统计得知,男性约每2.8 s眨一次眼睛,而女性约每4 s眨一次眼。

在视频序列图像中,由于每次眨眼的持续时间为0.20.4 s,所以对视频图像的采样间隔时间必须在这个范围内取值。

采集742幅不同的人脸图像进行分析,实验结果如表 1所示,眼睛状态判定准确率可达96.77%,在判断错误图像中,有18幅是因为光线太暗所致,6幅因为人姿态的过度偏移而导致判定出错。

表 1 眼睛状态识别
Table 1 Recognition of eye state

下载CSV
正确数量 错误数量 准确率/% 平均用时/ms
718 24 96.77 65.296 3

对10个视频进行分析,每个视频为30 s短视频;在眨眼持续时间内,对每个视频进行采样,采样间隔时间为67 ms。

对视频1(图 13)进行分析:在08 s时,人眼面积基本大于200,眼睛全睁;在817 s之间出现频繁眨眼;在2030 s之间眼睛在半睁状态,使用PERCLOS指标计算得60.44%,大于40%,可判断其为疲劳状态。

图 13 视频1巩膜面积曲线图
Fig. 13 Sclera area graph on video one

视频2(图 14),其PERCLOS值为20.4%,视频中只出现过一次眨眼,大部分时间眼睛都属于全睁的状态,但是在30 s中出现了约3 s的连续闭眼时间,可判定为疲劳状态。

图 14 视频2巩膜面积曲线图
Fig. 14 Sclera area graph on video two

5 结论

针对眼白特征,结合眼白颜色空间的特性,建立了一种基于YCbCr颜色空间的高斯分布的眼白分割模型,并提出了用眼白面积作为眼睛开度的一个指标,并结合PERCLOS判断人的疲劳状态。

相较于其他人眼定位确定人眼状态的算法,利用眼白分割模型确定人眼开度有以下优点:

1) 对所有人来说,眼白的颜色基本一致,利用高斯眼白分割的方法适应范围广;

2) 利用眼白面积作为人眼开度的判定指标不用考虑人头部倾斜或其他姿态,对姿态不敏感;

3) 无需进行繁琐的人眼精确定位,极大减小了计算量;

4) 该算法运算速度快,满足实时性。

实验结果表明,本文算法可以在驾驶人眼不受遮挡的情况下实现良好的人眼状态识别。但是在本算法易受光线强度干扰,在光线较强或较弱的情况下,该算法会出现误判。后续将进一步研究光线强度对像素的干扰,改善算法的光强敏感性。

参考文献

  • [1] Klauer S G, Dingus T A, Neale T V, et al. The impact of driver inattention on near-crash/crash risk: an analysis using the 100-car naturalistic driving study data[R]. Washington DC: U. S. Department of Transportation, 2006.
  • [2] Niu Q N, Zhou Z Q, Jin L S, et al. Detection of driver fatigue based on eye movements[J]. Journal of Harbin Engineering University , 2015, 36 (3) : 394–398. [ 牛清宁, 周志强, 金立生, 等. 基于眼动特征的疲劳驾驶检测方法[J]. 哈尔滨工程大学学报 , 2015, 36 (3) : 394–398. DOI:10.3969/j.issn.1006-7043.201311044 ]
  • [3] Takahashi I, Yokoyama K. Development of a feedback stimulation for drowsy driver using heartbeat rhythms[C]//Proceedings of 2011 Annual International Conference of the IEEE Engineering in Medicine and Biology Society. Boston, MA: IEEE, 2011: 4153-4158. [DOI: 10.1109/IEMBS.2011.6091031]
  • [4] Kim Y, Kim Y, Hahn M. Detecting driver fatigue based on the driver's response pattern and the front view environment of an automobile[C]//2nd International Symposium on Universal Communication. Osaka: IEEE, 2008: 237-240. [DOI: 10.1109/ISUC.2008.58]
  • [5] Liu L. Research on fatigue detection using eye information[D]. Changsha: Hunan University, 2011. [刘莉.基于眼部信息的疲劳驾驶检测方法研究[D].长沙:湖南大学, 2011.]
  • [6] Zhang B, Wang W J, Zhang W, et al. Driver's eye region location algorithm[J]. Journal of Tsinghua University: Science and Technology , 2014, 54 (6) : 756–762. [ 张波, 王文军, 张伟, 等. 驾驶人眼睛局部区域定位算法[J]. 清华大学学报:自然科学版 , 2014, 54 (6) : 756–762. ]
  • [7] Jiang Z P, Xu Y, Zhao J Q. Drowsiness determining algorithm based on eye features[J]. Computer Systems & Applications , 2014, 23 (8) : 90–96. [ 姜兆普, 许勇, 赵检群. 基于眼部特征的疲劳检测算法[J]. 计算机系统应用 , 2014, 23 (8) : 90–96. DOI:10.3969/j.issn.1003-3254.2014.08.015 ]
  • [8] Song K, Liu N, Nie X, et al. Recognition of eye opening and closing state based on Gabor transform[J]. Journal of Jilin University: Information Science Edition , 2013, 31 (6) : 555–561. [ 宋凯, 刘娜, 聂鑫, 等. 基于Gabor变换的人眼开闭状态识别技术研究[J]. 吉林大学学报:自然科学版 , 2013, 31 (6) : 555–561. DOI:10.3969/j.issn.1671-5896.2013.06.001 ]
  • [9] Chou Z W, Chen C W, Huang K N, et al. Study of the eye's image processing for the determination of driver's fatigue[C]//Proceedings of the 3rd International Conference on Bioinformatics and Biomedical Engineering. Beijing, China: IEEE, 2009: 1-4. [DOI: 10.1109/ICBBE.2009.5163455]
  • [10] Chen M C. Research on driver fatigue detection based on eye state[D]. Chongqing: Chongqing University, 2012. [陈明初.基于人眼状态的驾驶员疲劳检测技术研究[D].重庆:重庆大学, 2012.]
  • [11] Viola P, Jones M. Rapid object detection using a boosted cascade of simple features[C]//Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Kauai, HI, USA: IEEE, 2001, 1: I-511-I-518. [DOI: 10.1109/CVPR.2001.990517]
  • [12] Long L M. Research on face detection and eye localization based on Adaboost algorithm[D]. Chengdu: University of Electronic Science and Technology of China, 2008. [龙伶敏.基于Adaboost的人脸检测方法及眼睛定位算法研究[D].成都:电子科技大学, 2008.]
  • [13] Ke Y. Research on face detection algorithm based on skin model[D]. Wuhan: Huazhong University of Science and Technology, 2008. [柯研.基于肤色模型的人脸检测算法研究[D].武汉:华中科技大学, 2008.]
  • [14] Guo X M. Research on face detection based on skin color[D]. Tai'an: Agricultural University, 2008. [郭秀梅.基于肤色的人脸检测算法的研究[D].泰安:山东农业大学, 2008.] http://cdmd.cnki.com.cn/article/cdmd-10434-2008206390.htm
  • [15] Wang L J. Research on fast face detection algorithm based on skin color information[D]. Chengdu: Sichuan University, 2004. [王利娟.基于肤色信息的快速人脸检测算法研究[D].成都:四川大学, 2004.] http://cdmd.cnki.com.cn/article/cdmd-10610-2005010654.htm
  • [16] Dinges D F, Grace R. PERCLOS: a valid psychophysiological measure of alertness as assessed by psychomotor vigilance[R]. Report No. FHWA-MCRT-98-006. Washington DC: Federal Highway Administration, 1998.