APP下载

基于机车车载视频序列的人眼疲劳快速定位方法研究

2018-10-08贺德强刘卫卢凯肖琼江洲

铁道科学与工程学报 2018年9期
关键词:人眼乘务员人脸

贺德强,刘卫,卢凯,肖琼,江洲

基于机车车载视频序列的人眼疲劳快速定位方法研究

贺德强1,刘卫1,卢凯1,肖琼2,江洲1

(1. 广西大学 机械工程学院,广西 南宁 530004;2. 南宁中车轨道交通装备有限公司,广西 南宁 530200)

人眼定位是非接触式机车车辆乘务员实时疲劳检测中最基本的关键环节。针对机车车载视频序列进行疲劳检测时存在实时性、鲁棒性要求高的问题,结合计算机视觉和图像处理技术,提出一种多算法融合的人眼疲劳快速定位方法。利用基于Haar-like特征的AdaBoost人脸检测方法检测视频序列中乘务员人脸并设置目标跟踪区域,利用Camshift目标跟踪算法快速定位人脸;基于人脸和人眼的对称性等先验知识,提出比例缩减区域(PRA)的方法快速定位人眼。研究结果表明:该方法可以有效减少误检,适应复杂光照,并具有实时性和鲁棒性,为机车车辆乘务员疲劳实时检测提供理论和实践参考。

机车车载视频序列;人眼定位;AdaBoost;Camshift;比例缩减区域

近年来,我国铁路交通快速发展,运营线路增多,营业里程屡创新高,极大的方便了人们的出行及货物运输。而随着行车速度和密度的不断提高,单司机、长交路工作制度的实施,机车乘务员工作强度和心理压力加大,疲劳驾驶成为列车安全运营的重大隐患。目前,机车车载疲劳驾驶检测装置主要依靠乘务员不断重复按无人警惕按钮来确定列车处于正常驾驶状态,防止疲劳引起事故,并不能实现在线疲劳监测与预警。机车车载安全防护系统(6A系统)提出设计乘务员状态预警提醒模块实时检测乘务员的疲劳状态,但是,由于在对车载视频序列进行疲劳检测时存在实时性、鲁棒性要求高等问题,目前仍然没有统一的解决方案和应用案例。国内外针对机车乘务员疲劳检测的研究主要集中在非接触式视频图像检测。宋志雄等[1]通过分析机车司机头部运动轨迹判别其处于正常工作状态还是疲劳发呆、反应迟钝或睡觉等非正常状态,但检测耗时较长。乘务员疲劳时会出现眼睑运动速度变慢、眼睛睁开幅度变小、眼睛凝视方向狭窄甚至闭眼等现象,杨海燕等[2]运用Gabor变换特征融合和隐马尔可夫模型对眼睛状态进行识别分析,可以准确有效的判断驾驶员疲劳程度,但其训练需要样本较多,且目前没有公开的相应数据库,对光照强度的变化也较为敏感。李强[3]利用PERCLOS方法,通过检测人眼状态判断司机疲劳状态,但对人眼定位时速度较慢,受光照强度等影响较大。另外,还有些研究使用眨眼频率、瞳孔直径变化、眼睛模板匹配的方法判断疲劳状态,因此,构建一种基于车载视频序列的稳健可靠的快速人眼定位方法是机车乘务员实时疲劳检测的关键。人眼定位也称人眼检测,由于直接在图像中进行人眼定位存在较大干扰,准确率较低,因此,人眼定位一般分2步。第1步:在图像中定位人脸;第2步:在人脸图像中定位人眼。人脸检测的算法模型主要有模板匹配模型、肤色模型、ANN模型、SVM模型、AdaBoost模型等,有时也将多个模型结合起来使用[4]。其中AdaBoost模型在速度与精度上综合性能表现最好,鲁棒性最高,是目前最为成功的算法之一[5]。尽管如此,其速度仍然不能实现对车载视频的实时检测。而颜色识别是传统人脸检测中最有效、最简单的人脸检测方法。因此,结合基于颜色识别的Camshift目标跟踪算法[6]检测人脸可降低复杂度,提高检测速度[7]。近年来,大量学者从不同角度出发,利用方法各异的算法对人眼定位进行研究,主要有:基于灰度投影[8]、基于统计(如SVM)[9]、基于模板匹配[10]、基于知识(轮廓、位置、颜色信息等)的人眼定位算法。这些方法在准确性和检测速度方面均有所提高,但仍然不能满足实际需求,较为突出的问题是计算量偏大、处理速度慢和准确性低。针对车载视频序列进行疲劳检测时存在实时性、鲁棒性要求高的问题,本文提出一种多算法融合的人眼疲劳快速定位方法,先利用基于Haar-like特征的AdaBoost人脸检测方法检测视频序列中乘务员人脸,并将人脸区域图像作为Camshift算法的目标跟踪区域,从而快速定位视频序列中的乘务员人脸,根据人脸的“三庭五眼”及对称性等先验特征知识找到人眼区域,利用比例缩减区域(PRA)方法快速定位人眼。

1 快速人眼定位算法原理

在列车正常行驶时,一般伴随着轻微的振动,乘务员的主要工作是瞭望前方并对列车运行信号给出手势回应,因此,一般端坐于驾驶台前,头部时有偏转。通过在机车驾驶室正驾驶位前的操作台上方安装图像采集器,调整其前后位置及高度,使正常驾驶时人脸在图像中居中、约为图像的0.1~0.2倍大小。此时,拍摄的车载视频序列中正面人脸图像较多并有部分侧脸图像,有时手也会遮挡部分脸部图像。运用基于Haar-like特征的AdaBoost人脸检测方法和Camshift算法相结合是较为合理的一种检测方法。

1.1 基于Haar-like特征的AdaBoost人脸检测

AdaBoost算法[11]是由Freund和Schapire改进Boosting算法所提出的一种分类器训练方法,通过递增级联的方式将多个弱分类器组合成强分类器。弱分类器的数学结构为:

式中:为子窗口图像;为特征;为指示不等号方向;为阈值。

2001年,Viola和Jones提出了Viola & Jones算法[12],该算法用于人脸识别[13],取得了极大成功。通过选取如图1所示适用于人脸的Haar-like特征进行训练,并采用积分图像的方法计算特征值,运用AdaBoost算法将大量的人脸图像和非人脸图像作为正、负样本训练得到级联强分类器,检测效率高、鲁棒性强,在速度与精度等综合性能方面都较为优秀。更多的研究工作者对该方法进行优化改进[14−16],从而进一步提高了算法的实用性,目前,其研究已经较为成熟,且对光照适应性较好,对部分遮挡也有效。

图1 Haar-like特征

1.2 Camshift算法人脸跟踪

Camshift算法(Continuously adaptive meanshift)是由Cary等提出,其本质是对Meanshift算法优化扩展,结合目标颜色概率信息形成的一种改进的均值漂移算法。由于目标图像的直方图记录的是颜色出现的概率,这种方法不受目标形状变化的影响,可以有效地解决目标变形和部分遮挡的问题,且运算效率高,应用在视频人脸图像的跟踪检测中,可以实现对人脸的快速跟踪。在视频序列检测时,将Meanshift算法得到的上一帧图像的质心位置作为初始值,通过不断迭代更新实现目标跟踪。其算法流程如图2所示。

首先,将目标图像从RGB空间转换为HSV空间,对H分量作直方图,根据直方图分布将原始图像转换为色彩概率分布图像;然后,利用Meanshift算法计算质心获得目标位置及大小;最后,在下一帧中利用当前结果作为初始值,利用Meanshift算法进行自适应搜索和调整,循环计算,实现对目标实时跟踪[6]。运用Camshift算法进行目标跟踪的主要步骤有:

1) 初始化搜索窗;

2) 计算搜索窗的颜色概率分布(反向投影);

3) 运行Meanshift算法,获得搜索窗新的大小和位置;

4) 如果收敛,更新搜索窗口大小和位置,返回2),否则返回3)。

图2 Camshift算法流程图

1.3 PRA方法人眼定位

根据人眼的灰度特征,本文提出比例缩减区域(Proportion Reduction Area,PRA)方法快速定位人眼,该方法的核心在于对目标图像中人眼区域的图像进行二值化等图像处理,通过其左右和上下区域黑白像素数值的对比确定缩减比例,迭代缩减人眼区域,最终得到人眼的精确位置以及大小,如图3所示流程图,比例缩减区域方法的步骤如下。

图3 比例缩减区域流程图

1) 对初始矩形区域图像进行灰度化处理并计算灰度平均值,再进行二值化处理,得到二值化图像宽为width1,高为height1,中心坐标为(center1., center1.),二值化处理中的阈值根据灰度平均值确定;

2) 分别统计二值化图像中左右等分的2部分和上下等分的2部分的黑色像素点的个数,分别为1,2,1和2;

3) 缩减后矩形区域图像的宽width2为:

4) 缩减后矩形区域图像的高height2为:

5) 缩减后矩形区域图像的中心坐标(center2., center2.)为:

式中:系数和根据实际需求确定。

6) 根据步骤3)得到的宽width、步骤4)得到的高height2和步骤5)得到的中心坐标(center2., center2)得到缩减后矩形区域图像。

7) 将步骤6)所得到的矩形区域图像作为步骤1)的初始矩形区域图像,重复步骤1)~6)直到满足停止迭代的条件为止。

如图4所示,对人眼初始矩形区域图像进行比例缩减区域,迭代缩减了5次。

(a) 初始矩形区域图像;(b) 二值化后图像;(c) 比例缩减后图像

2 对比分析

现有的人脸检测方法一般采用单一算法,本文主要在快速人脸定位方面将AdaBoost人脸算法与快速的Camshift目标跟踪算法相结合,利用AdaBoost算法对光照适应性强、可检测旋转人脸等特点[15],为Camshift算法检测提供人脸目标模板,同时,可以减少背景变化等对于Camshift算法的影响,速度快、鲁棒性好。在人眼定位方面,结合车载视频序列的特点,使用基于知识的比例缩减区域方法处理人眼区域,复杂度低。

2.1 快速定位人脸

在人脸检测方面的研究很多,但是一般都为单一的算法研究,本文将AdaBoost算法与Camshift算法相结合,如图5所示,在连续视频中通过AdaBoost算法检测到人脸图像,进行图像处理后为Camshift算法提供跟踪检测的目标区域(人脸模板),并且每20帧图像进行一次AdaBoost算法检测更新,避免光照强度及遮挡的干扰,既保证了方法的准确性和鲁棒性,又加快了检测速度。

图5 快速人脸定位流程图

通过对640×480分辨率的实时视频序列统计分析,得到如表1所示检测算法速度对比,AdaBoost算法平均检测时间约为每帧105 ms,而Camshift算法的检测非常快,平均检测时间约为每帧6.8 ms,是AdaBoost算法检测时间的1/15。在两算法融合时,算法的平均检测时间为12 ms,满足车载视频实时检测要求。

表1 人脸检测算法速度对比

2.2 快速定位人眼

本文提出的比例缩减区域(PRA)人眼定位方法,充分考虑到双眼、双眉、以及眉眼之间的对称性,利用“三庭五眼”等先验知识,结合车载视频序列正脸多、较少头部偏转等特点,锁定人眼初始矩形区域,然后进行比例缩减区域,快速定位人眼。与基于特征匹配、hough变换以及几何特征法等方法相对比,本文速度更快,平均检测时间达到毫秒级,如表2所示的人眼图像检测仅需1.23 ms,检测到的人眼位置为圆圈中心。与常用的灰度投影方法如积分投影、方差投影及两者的混合投影[17]、灰度复杂度投影对比,其检测如表2所示。积分投影方法、方差投影方法、混合投影、灰度复杂度投影方法等灰度投影方法关键在于波峰波谷等极值点的分布计算,如表2第2和3列对各灰度投影方法的水平投影与垂直投影进行分析可知,极值点一般较多,难以准确选取到正确的极值点,需要有更多的判断条件,实际应用时误差较大,且其对光照强度及不同人脸和姿势非常敏感,主要对于正脸图像有效,不能有效排除噪声干扰,对于头部偏转、侧脸、部分遮挡等情况,难以有效判断人眼位置。本文提出的比例缩减区域方法通过迭代计算,可以快速准确定位人眼,对光照及噪声干扰等有较强的适 应性。

表2 人眼定位方法对比

3 实验与分析

实验使用ThinkPad E420系列笔记本电脑在Linux平台Ubuntu14.0系统下安装Opencv3.0进行程序设计,并对拍摄的640×480分辨率连续视频分析,其程序流程图如图6所示。

图6 程序流程图

为避免光照变化、人脸尺度变化、头部旋转、部分遮挡的影响,提高检测的鲁棒性,根据“三庭五眼”等先验知识将人脸图像中的双眼、双眉及鼻子等重要图像区域设置为目标跟踪区域;在对跟踪的区域图像预处理时可以用比例缩减区域方法先迭代计算3~5次;连续跟踪帧数可设置为超过20帧则置零,重新用Adaboost方法检测人脸,可很大程度上的减少误检。

为保证人眼定位的准确性,利用眼部区域的特殊性,设置两眼的位置约束,如计算两眼中心垂直距离、水平距离及其比值,当比值大于(一般可设置为0.25)时,在车载视频序列中正常驾驶时不会出现,所以,判断为检测失败,连续跟踪帧数置零,关闭Camshift目标跟踪,在下一帧符合目标跟踪条件时,再次进行跟踪。

经过实验统计分析,在实时视频序列检测中,人眼检测的平均时间约为每帧24 ms,满足实时检测要求。根据不同工况条件检测实验对比,结果如图7所示,7(a)表示自然条件下光照强度变化的两帧正面人眼检测图像;7(b)表示通过调节视频图像对比度、亮度模拟在光照较强的白天和光照较弱的黑夜人眼检测情况。实验结果表明:在如上所述的不同工况条件下人眼定位准确,检测效果好,且可以适应不同人员的检测,具有普适性。

(a) 光照强度变化正面人眼检测;(b) 调整对比度、亮度人眼检测

如图8所示对头部特征检测实验对比分析,穿戴变化如是否戴帽子或眼镜、姿势变化主要有头部的偏转、高抬头、低头、闭眼以及乘务员行车手势。结果表明:

1) 光照变化时可能导致如8(c)所示眼镜反光影响人眼定位的准确性。

2) 乘务员姿势变化时可以有效人眼定位,但会影响检测精度,如8(g)所示头部偏转时检测难度增加,眉毛会影响检测精度,检测有较小偏差。

3) 在列车运行过程中,乘务员需要对信号做手势回应,如8(h)所示手势影响人眼定位的准确性,且手与人脸颜色相近,过度遮挡脸部会导致检测失败,但此时乘务员一定处于非疲劳状态,因此不影响实际应用时人眼检测效果。

(a) 正面戴帽子;(b) 正面戴眼镜;(c) 眼镜反光;(d) 高抬头;(e) 低头;(f) 闭眼;(g) 头部偏转;(h) 手势

4 结论

1) 人眼定位作为非接触式疲劳驾驶图像检测中的关键环节,在车载视频序列检测中不仅要求方法准确稳定,而且需要满足检测的实时性。

2) 针对机车车载视频序列的特点,本文提出了一种多算法融合的快速人眼定位方法。该方法充分结合人脸肤色、对称性等先验知识,既有Camshift算法速度快的优点,又具有AdaBoost算法的鲁棒性。同时使用比例缩减区域的方法处理人眼区域,速度快,对正脸图像准确度高,对抬头、低头、头部偏转、戴浅色边框眼镜等情况下同样有效。

3) 本文方法在可见光环境下使用效果较好,对红外视频序列进行检测时要重新考虑人眼区域的灰度信息及戴眼镜会出现重瞳反光等情况,对于Camshift目标跟踪时的颜色信息也要另做分析,可以在此基础上继续研究。

[1] 宋志雄, 戴小文, 钟桂英. 基于自适应更新背景的机车司机工作状态检测[J]. 机车电传动, 2009(1): 62−65. SONG Zhixiong, DAI Xiaowen, ZHONG Guiying. Operation mode detection of locomotive drive based on the adaptive updating background[J]. Electric Drive for Locomotives, 2009(1): 62−65.

[2] 杨海燕, 蒋新华, 王雷. 一种基于人脸序列模式的机车驾驶员疲劳检测方法[J]. 铁道学报, 2012, 34(5): 53−58. YANG Haiyan, JIANG Xinhua, WANG Lei. A fatigue detection method for vehicle drivers based on face image sequence pattern[J]. Journal of the China Railway Society, 2012, 34(5): 53−58.

[3] 李强. 基于PERCLOS的列车司机驾驶疲劳检测研究[D]. 北京: 北京交通大学, 2014.LI Qiang. Research on train driver’s fatigue detection based on PERCLOS[D]. Beijing: Beijing Jiaotong University, 2014.

[4] TAO Qinqin, ZHAN Shu, LI Xiaohong, et al. Robust face detection using local CNN and SVM based on kernel combination[J]. Neurocomputing, 2016(211): 98−105.

[5] 王小玉, 张亚洲, 陈德运. 基于多块局部二值模式特征和人眼定位的人脸检测[J].仪器仪表学报, 2014, 35(12): 2739−2745. WANG Xiaoyu, ZHANG Yazhou, CHEN Deyun. Face detection based on MB-LBP and eye tracking[J]. Chinese Journal of Scientific Instrument, 2014, 35(12): 2739− 2745.

[6] Exner D, Bruns E, Kurz D, et al. Fast and robust CAMShift tracking[C]// 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition- Workshops, San Francisco, CA, 2010: 9−16.

[7] 桑海峰, 吴丹阳, 王会. 视频监控下的人脸跟踪与识别系统[J]. 计算机工程与应用, 2014, 50(12): 175−179. SANG Haifeng, WU Danyang, WANG Hui. Face tracking and recognition system for video surveillance[J]. Computer Engineering and Applications, 2014, 50(12): 175−179.

[8] Kumar R T, Raja S K, Ramakrishnan A G. Eye detection using color cues and projection functions[C]// Proceedings. International Conference on Image Processing, New York, USA, 2002, 3: 337−340.

[9] CHEN Shuo, LIU Chengjun. Eye detection using discriminatory Haar features and a new efficient SVM[J]. Image and Vision Computing, 2015(33): 68−77.

[10] Horng Wenbing, CHEN Chihyuan, CHANG Yi. Driver fatigue detection based on eye tracking and dynamic’ template matching[C]// Proceedings of IEEE International Conference on Networking, Sensing & Control, Taipei , China , IEEE Press, 2004: 7−12.

[11] Vitányi P, Freund Y, Schapire R E. A desicion-theoretic generalization of on-line learning and an application to boosting[C]// Computational Learning Theory. Berlin, Heidelberg: Springer, 1995, 904: 23−37.

[12] 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. (CVPR 2001): IEEE Press, 2001(1): 511−518.

[13] Viola P, Jones M J.Robust real-time face detection[C]// Proceedings Eighth IEEE International Conference on Computer Vision. (ICCV 2001): IEEE Press, 2001(2): 747−747.

[14] 周振华. AdaBoost人脸检测定点型优化算法[J]. 电子科技大学学报, 2015, 44(4): 589−593. ZHOU Zhenhua. Fixed-point optimization algorithm of AdaBoost face detection[J]. Journal of University of Electronic Science and Technology of China, 2015, 44(4): 589−593.

[15] 刘晓克, 孙燮华, 周永霞. 基于新Haar-like特征的多角度人脸检测[J]. 计算机工程, 2009, 35(19): 195−197. LIU Xiaoke, SUN Xiehua, ZHOU Yongxia. Multi-angle face detection based on new Haar-like feature[J]. Computer Engineering, 2009, 35(19): 195−197.

[16] WANG Mei, GUO Lin, CHEN Wenyuan. Blink detection using Adaboost and contour circle for fatigue recognition[J]. Computers and Electrical Engineering, Available online 22 September 2016(58): 502−512.

[17] 耿新, 周志华, 陈世福. 基于混合投影函数的眼睛定位[J]. 软件学报, 2003, 14(8): 1394−1400. GENG Xin, ZHOU Zhihua, CHEN Shifu. Eye location based on hybrid projection function[J]. Journal of Software, 2003, 14(8): 1394−1400.

(编辑 蒋学东)

Research on method for fast eye fatigue location based on locomotive-mounted video sequences

HE Deqiang1, LIU Wei1, LU Kai1, XIAO Qiong2, JIANG Zhou1

(1. College of Mechanical Engineering, Guangxi University, Nanning 530004, China; 2. Nanning CRRC Rail Transit Equipment Co. Ltd, Nanning 530200, China)

Eye location is the key link in the real-time fatigue detection of non contact locomotive drivers. In order to solve the problem of real-time performance and high robustness in locomotive-mounted video sequences, a new method of fast eye fatigue location based on multiple algorithm fusion was proposed by combining computer vision and image processing techniques. Firstly, it detected face in video sequence to use the method of AdaBoost based on Haar-like feature, setting target tracking area and using Camshift algorithm to track it. Secondly, the method of the Proportion Reduction Area was proposed to locate eye based on the prior knowledge of the symmetry of face and eye. Experimental results show that the method reduces the complexity and error detection, which can be adapted to the complex illumination, and has the advantages of real-time and robustness. It can provide theoretical and practical references for real-time fatigue detection of locomotive drivers.

locomotive-mounted video sequences; eye location; AdaBoost; Camshift; proportion reduction area

10.19713/j.cnki.43−1423/u.2018.09.024

U268.48;TP911.73

A

1672 − 7029(2018)09 − 2359 − 08

2017−07−02

国家自然科学基金资助项目(51165001);广西科技攻关资助项目(1598009-6);南宁市科技攻关资助项目(20151021)

贺德强(1973−),男,湖南桃江人,教授,博士,从事机车车辆故障诊断与智能维护、列车网络与控制;E−mail:hdqianglqy@126.com

猜你喜欢

人眼乘务员人脸
有特点的人脸
人眼X光
高铁乘务员的素质要求及其养成
人眼为什么能看到虚像
三国漫——人脸解锁
飞机的型号
闪瞎人眼的,还有唇
看人,星光璀璨缭人眼
怎么办
马面部与人脸相似度惊人