面向驾驶人疲劳检测的人脸视频分析算法研究

2014-05-11 13:25康增建
铁路计算机应用 2014年4期
关键词:光流人脸形状

王 珂,王 冰,姜 利,康增建

(中国铁道科学研究院 电子计算技术研究所,北京 100081)

疲劳驾驶被广泛认为是导致道路交通事故的重要原因之一。统计数据表明,疲劳驾驶造成的人身伤害及财产损失,其比例高于疲劳驾驶事故本身。此外,相当比例的驾驶人都曾有过疲劳驾驶的经历。相关研究表明,开发高性能的驾驶人疲劳状态监测系统,通过对驾驶人疲劳状态进行实时监测,并及时向驾驶人提示预警信息,可以大幅减少因疲劳驾驶引发的交通事故[1~3]。基于面部表情分析的疲劳检测方法,通过捕捉驾驶员的面部表情特征(眼睛开合、瞳孔状态、嘴巴张合、表情变化等)来推测驾驶员的疲劳状态,其中闭眼时间百分比、最长闭眼时间等都被认为是能够反映驾驶人疲劳状态的有效指标。基于驾驶人面部特征的指标能够在较为理想的条件下达到较高精度,而且由于其非接触测量的优势,不受客观条件影响,正受到越来越多研究者的重视。

驾驶人疲劳状态与面部表情尤其是眼睛运动的细微变化密切相关,眼睛区域的准确定位是实现眼睛特征分析的关键。目前人眼定位算法主要包括:(1)基于形状的方法,利用眼睛区域的形状先验模型,如眼睛的局部点特征(眼角点或特定滤波器响应筛选出的点)或轮廓特征实现眼睛定位。(2)基于表观的方法,直接利用眼睛区域的灰度分布,如通过样本训练建立眼睛模板,计算被检图像区域与模板图像的匹配度来实现眼睛定位。(3)基于红外照明的方法,利用不同波长的红外光交替照明驾驶人面部,通过对相邻帧图像进行差分来检测眼睛位置[4~10]。

实际应用中驾驶人面部姿态的变化会造成人脸三维形状在二维投影的变形,但是由单幅二维图像恢复三维形状是个病态问题,因此姿态变化对人眼定位精度的影响尤为重要。面向驾驶人疲劳状态识别的人眼定位,更关注在长序列视频图像上进行检测,因此面部视频帧间连续性和相关性的模型表达也尤为重要。

本文提出一种将人眼检测与人眼跟踪相结合的人眼定位方法,在采用主动形状模板(ASM)对人脸配准和器官区域分割的基础上,基于均值漂移(Meanshift)算法来校准Lucas-Kanade光流跟踪,从而消除跟踪过程中的累积误差,实现眼睛的可靠定位。

1 疲劳检测算法的流程

为了在线估计驾驶人疲劳状态,需要获取驾驶人面部图像,通过自动检测、跟踪眼睛和嘴巴等面部器官的运动特性,并进行统计量化来实现疲劳检测,以提醒驾驶员避免交通事故的发生,如图1所示。具体步骤如下:

(1)人脸检测。在采集到的面部视频图像中,通过人脸检测定位到人脸位置,并对眼睛、鼻子、嘴巴等局部器官进行初步定位。

(2)人脸特征点的定位。以人脸器官初步定位的结果为基础,采用形状信息和纹理特征相结合的方法,通过旋转、缩放等处理实现人脸描述模型的配准,对眼睛、嘴巴等面部特征点进行由粗到精的准确定位。

(3)建立人脸特征点跟踪的上层策略。以人脸特征点的定位结果为输入,在下一帧图像上进行跟踪。根据当前跟踪结果的置信度,建立人脸特征跟踪的上层策略,决定回到检测模块或者继续跟踪。

(4)通过面部特征运动的统计规律实现疲劳检测。最终利用眼睛和嘴巴的运动特征,对面部运动特征进行量化描述,经过时间窗的优化计算后,根据优化后的时间窗长度,计算面部运动统计指标进行疲劳检测。

图1 疲劳检测算法流程

2 基于分层ASM算法的特征定位

本节主要描述疲劳检测算法流程中的人脸特征点定位,我们首先采用原始ASM算法对驾驶人面部图像进行配准。相应的实验结果表明在驾驶人面部角度不大且光照相对均匀的情况下,ASM算法能够较为准确地定位面部特征点,如图2所示。

图2 原始ASM算法的配准结果

然而在实际驾驶过程中驾驶人会根据不同驾驶次任务不断变换面部姿态,姿态变化将引起面部几何形状在透射投影关系下的变化,当姿态变化导致图像特征超出训练样本的表达范围时,算法效能会下降。换言之,由正面样本训练得到的ASM全局形状模型无法表达侧面人脸。至于光照变化则引起人脸局部纹理的变化,而ASM算法的局部纹理模型无法有效描述光照的非线性变化。一般而言,处理非均匀光照应重点关注局部纹理建模,处理姿态角度的变化应主要针对全局形状模型。

建立在PCA(主成分分析)基础上的ASM全局形状模型通过对大量样本的统计学习而得到,其中包含了贡献最大的形状变化模式。为保证ASM全局形状模型对新的人脸样本具有足够的泛化能力,PCA得到的主变化模式会尽量反映不同人脸形状间的差别,而抑制姿态变化对形状模型的影响。因此,训练样本的角度变化范围不能太大,反之,在一个相对松弛的人脸形状子空间中搜索最佳配准模式就变得困难。

考虑到不同人脸之间的几何差别主要体现在整体脸型上,而由眼睛和鼻子所构成的局部区域则差异很小。该局部区域相对于整脸具有更强的聚类特性,如果在该区域建立局部ASM形状模型,就可以将全局形状模型的适用范围扩展到更大角度。

本文在全局形状模型的特征点中选取眼睛和鼻子轮廓上的点,建立了局部ASM形状模型,如图3所示。以全局模型的特征点定位结果作为局部形状模型的初始搜索位置,按照由粗到精的策略进行特征点定位。实验结果如图4所示。表明随着偏转角的增加,全局形状模型已无法准确配准人脸。但局部形状模型仍然能够较好地找到眼睛位置。使得算法能够在更大角度范围内实现眼睛位置的搜索和配准。

图3 局部形状模型

图4 全局形状模型与局部形状模型配准结果比较

3 结合Lucas-Kanade和Meanshift的特征跟踪

主要描述疲劳检测算法流程中的人脸特征点跟踪。由于驾驶人面部视频在前后两桢之间的光照和姿态变化不会太大,为了回避对光照、姿态变化进行建模时的复杂过程并减少计算量,本文采用Lucas-Kanade光流跟踪的方法获取面部特征点位置。根据分层ASM算法在姿态相对正面、光照良好时获取到的眼睛位置作为初始输入,在相邻区域内进行眼睛的跟踪。由于跟踪算法的模型简单、计算量小、速度快,因而可以在实际系统中应用。

3.1 光流算法的基本原理

光照变化不大时可以假定人脸特征点的局部灰度不变,因此,面部特征点跟踪可以看作是光流跟踪的一个实例。光流是指目标运动时其图像亮度模式的表观运动,它描述了图像灰度变化与物体结构及运动的关系。光流可以看作图像像素点运动产生的瞬时速度场,即图像中灰度模式的运动速度,灰度对时间的变化率可以通过光流约束方程来表示。光流假设是光流计算的重要部分,通过构造光流误差测度函数来设置约束条件,利用优化求解光流矢量。

常见的约束方程包括整个图像的全局平滑性假设,局部邻域运动的恒定性假设,以及针对遮挡的面向平滑约束等。其中Lucas-Kanade算法由于在跟踪速度和精度方面具有明显优势,本文采用该算法作为眼睛区域跟踪的基本算法。该算法假定在一个小邻域内运动矢量保持恒定,因此该邻域内光流误差可用加权最小二乘表示,进而利用梯度下降进行图像匹配就可以完成光流解算。

3.2 光流跟踪误差的致因分析

光流利用像素灰度的时域变化和相关性来确定各自的运动向量,因此光流跟踪要求被跟踪点周围有丰富的纹理。本文采用Harris角点检测算子,在眼睛区域选择强度超过一定阈值的角点进行后续的跟踪。但由于视频中频繁的睁眼/闭眼动作,使得很多特征点跟踪失效。

分析原因如下:在眼睛区域跟踪中,眼睛的大幅动作(如睁/闭眼)会引起眼睛区域的灰度突变,因此很多特征点将无法在下一帧图像找到满足光流约束的对应点,从而导致跟踪失败。另外,每个选定的Harris角点都可能由于眼睛运动的随机性而跟丢,所以其他角点的重心位置相对眼睛中心是不确定的,由这些点无法准确描述眼睛区域。

被跟踪点的强度描述了该点相对于相邻其它点在灰度分布上的特殊性,它决定了光流跟踪是否可靠。若邻域内其他点与被跟踪点的灰度特性相似,比如当眼睛或头部快速移动时,特征点就可能漂移到这些相似点上去,导致光流场与运动场出现不一致。比较图5中第149帧和第153帧图像,在一次闭眼过程中,一个被跟踪角点从眼角附近漂移到了虹膜附近。这种局部相似性引起的跟踪点漂移是不可逆的,将在跟踪过程中持续漂移,跟踪误差不断累积。

图5 Lucas-Kanade光流跟踪中的特征点漂移现象

3.3 结合自商图的跟踪结果校准

为了消除上述跟踪过程中带来的累积误差,并最终准确定位到眼睛区域,本文引入meanshift算法,利用其向局部极值收敛的特性对Lucas-Kanade算法的跟踪结果进行校准。本文没有用图像原始灰度值,而是以其自商图作为meanshift算法的概率密度分布输入,其中R为自商图,I为原始图像,F为滤波核。

由于自商图本身会凸显高频特征,因此纹丰富、理变化复杂的眼睛区域相对于平滑的面部区域,其自商图的灰度分布主要集中在高灰度范围。图6可以看出,不同光照条件下的图像自商图相差不大。

图 6 不同光照下的自商图

本文最终采用的以meanshift校准Lucas-Kanade跟踪结果的算法步骤如下:

(1)计算Lucas-Kanade跟踪的角点重心位置;

(2)将矩形跟踪框的中心设置到角点重心位置;

(3)在自商图上计算矩形框内图像灰度的重心位置;

(4)将矩形搜索框的中心移动到新的位置;

(5)判断矩形框移动距离,若距离大于某个阈值,返回第3步,否则输出矩形框中心坐标。

经过上述迭代过程,矩形框的中心最后收敛到自商图的局部极值(眼睛),图7中的箭头表示meanshift算法在自商图上逐步收敛到眼睛的过程。随着跟踪的延续,部分Harris角点会跟丢。为保证跟踪的持续,当角点数量小于5并且人脸处于正面时,可再次使用ASM算法定位眼睛区域,并利用Harris算子重新选取角点。

图7 Meanshift算法收敛到眼睛的过程

4 实验结果与分析

4.1 实验结果

在Lucas-Kanade光流的跟踪基础上,本文没有直接采用meanshift算法跟踪眼睛,这是由于除眼睛之外,鼻孔、眉毛、头发以及其他场景目标的自商图都会表现出高灰度分布特征。meanshift算法有效性的前提是Lucas-Kanade光流跟踪能获取眼睛的粗略位置,在该邻域内才能收敛到眼睛中心位置。若根据ASM算法获得的眼睛范围直接采用Meanshift算法,当驾驶人出现快速头部动作时,很可能会跟踪错误。

Lucas-Kanade光流算法适合在大场景、大范围内对角点特征进行全局意义上的跟踪,而利用meanshift算法在局部细微校准。上述策略充分利用了Lucas-Kanade的全局跟踪和meanshift的局部极值化,可在实际应用中准确获取眼睛位置。

从图8可以看出,尽管跟踪过程中部分Harris角点丢失,但在改进的meanshift框架下,仍然能够较为准确的获取眼睛区域。以眼睛区域的定位为基础,可为ASM算法提供良好的初始搜索位置,并最终给出所有面部特征点的定位结果,如图9所示。

图8 L-K+Meanshift算法的眼睛跟踪结果

图9 面部特征点定位的部分结果

4.2 定量分析

为了定量评价本文算法对眼睛区域的定位精度,我们从一组实车实验中选取一段驾驶人姿态角变化较大、光照比较复杂的视频作为实验样本,长度为200帧。首先在每帧图像中手动标记左眼中心作为基准位置,然后用本文提出的眼睛定位算法处理该段视频,并输出左眼中心坐标。通过比较手工标注和自动输出的坐标误差,来定量评价本文算法的准确度。

误差比较结果如图10,图中X,Y分别为图像水平和垂直方向坐标,单位为像素,坐标原点在图像左上角。从图中可看出,两种算法的眼睛定位精度在垂直方向上相差不大,而水平方向上的定位精度本文算法则更高,其原因在于驾驶过程中头部运动主要为左右摆动,俯仰运动一般幅度较小。

图10 眼睛定位精度实验的定量评价

5 结束语

本文以提高实际驾驶过程中眼睛定位的精度为目标,针对驾驶人姿态的随机变化对人眼定位的影响,提出正面姿态采用ASM算法进行人眼定位,并以此为基础跟踪人眼的方法。此外,提出采用Lucas-Kanade光流进行全局跟踪,结合基于自商图的meanshift算法进行局部校准的跟踪策略。实验表明,本文算法比原始ASM算法具有更高的配准精度和可靠性。在实际工程应用中,本文算法具有如下优点:

(1)在佩戴眼镜、人脸角度变化、不同表情、非均匀光照等方面,具有较好的鲁棒性。

(2)对系统硬件没有特殊要求,不涉及复杂运算,可以在普通PC上达到实时性要求。

(3)可以适用于各种类型的车辆,包括小汽车、大货车、火车等,应用前景广阔。

[1] Lin C T, Wu R C, Liang S F, et al. EEG-based drow siness estimation for safety driving using independent component analysis[J]. IEEE Transaction on Circuits and Systems, 2005,52(12): 2726-2738.

[2] Tsuchida A, Bhuiyan S, Oguri K. Estimation of drowsiness level based on eyelid closure and heart rate variability[C]. Annual International Conference of the IEEE on Engineering in Medicine and Biology Society, minneapolis, MN, 2009: 2543-2546.

[3] Furman G D, Baharav A, Cahan C. Early detection of falling asleep at the wheel: a heart rate variability approach[C]. Computers in Cardiology, Bologna, 2008: 1109-1112.

[4] Hong Tianyi, Qin Huabiao, Sun Qianshu. An improved real time eye state identi fi cation system in driver drowsiness detection[C]. IEEE International Conference on Control and Automation, Guangzhou, China: IEEE, 2007: 1449-1453.

[5] Fasel B, Luettin J. Automatic facial expression analysis: a survey[J]. Pattern Recognition, 2003, 36(1): 259-275.

[6] Lal S K, Craig A. Reproducibility of the spectral components of the electroencephalogram during driver fatigue[J]. International Journal of Psychophysiology, 2005, 55(2): 137-143.

[7] Hu Shuyan, Zheng Gangtie. Driver drowsiness detection w ith eyelid related parameters by support vector machine[J]. Expert Systems w ith Applications, 2009, 36(4): 7651-7658.

[8] Smith, P, Shah M, da Vitoria Lobo N. Determ ining driver visual attention w ith one camera[J]. IEEE Transactions on Intelligent Transportation Systems, 2003, 4(4): 205-218.

[9] Cario G, Casavola A, Franze G, et al. A hybrid observer approach for driver drowsiness detection[C]. 19th Mediterranean Conference on Control and Automation Aquis Corfu Holiday Palace, Corfu, Greece: IEEE, 2011: 1331-1336

[10] Cootes T F, Taylor C J, Cooper D H, et al. Active Shape Models-Their Training and Application[J]. Computer Vision and Image Understanding, 1995, 61(1):38-59.

猜你喜欢
光流人脸形状
利用掩膜和单应矩阵提高LK光流追踪效果
有特点的人脸
一起学画人脸
你的形状
三国漫——人脸解锁
火眼金睛
一种改进的基于全局最小能量泛函光流算法
融合光流速度场与背景差分的自适应背景更新方法
长得象人脸的十种动物
利用PSO估算Lucas-Kanade光流模型的参数