亢 洁, 李 静
(陕西科技大学 电气与信息工程学院, 陕西 西安 710021)
基于积分投影和模板匹配的人眼定位算法研究
亢 洁, 李 静
(陕西科技大学 电气与信息工程学院, 陕西 西安 710021)
以驾驶员疲劳检测为背景,针对灰度投影算法对人脸戴眼镜、姿态变化敏感,以及模板匹配算法计算量过大的问题,提出基于积分投影和模板匹配的人眼定位算法.利用图像网络分析算法检测出人脸区域,再对人脸区域进行灰度积分投影,并结合人脸结构特征实现眼睛的粗定位,然后采用模板匹配算法精确定位人眼.仿真结果表明此算法相较于传统的模板匹配算法对戴眼镜、姿态变化的人脸图像可快速地实现较好地人眼定位.
人眼定位; 灰度积分投影; 模板匹配
根据交通事故年鉴:疲劳驾驶经常导致严重的交通事故,其中有17%致命的交通事故是疲劳驾驶引起的[1].快速、准确的人眼定位算法可以提高疲劳驾驶状态的检测速度,对减少交通事故的发生具有重要意义.
对给定图像中的人眼进行准确定位和状态分析是驾驶员疲劳状态检测、视线跟踪等研究的关键技术之一.人眼定位的常用方法有基于几何特征算法、积分投影算法和模板匹配算法等[2].基于几何特征算法是利用人眼区域的灰度特征明显区别于其他区域的特点,通过构造几何特征向量定位人眼,但对人眼闭合、戴眼镜情况时的定位效果较差[3].灰度积分投影算法是根据图像在水平和垂直方向上的投影分布特征,并结合人脸结构特征对人眼进行定位.该方法定位速度快,但很难对旋转的人脸图像进行有效的人眼定位[4].模板匹配法是利用图像的灰度信息计算已知模板和原图像的均方误差之和判断相似性,具有较好的检测效果和鲁棒性,但算法复杂,检测速度较慢.
针对灰度投影对人脸配戴眼镜、姿态变化敏感,以及模板匹配算法虽精度较高,但计算量过大的缺点,本文提出一种基于积分投影和模板匹配的人眼定位算法,该算法在一定程度上适应人脸图像光照和旋转角度的变化,排除眼镜的干扰,具有较好的鲁棒性.
本文首先利用中值滤波、直方图均衡化对人脸图像进行预处理,然后用图像网络分析算法对驾驶员的脸部进行检测.对检测出的人脸图像采用灰度积分投影算法分别进行水平和垂直方向的投影,通过水平和垂直方向的坐标投影结合人脸几何特征分布知识,将研究区域缩小到只有眉毛和眼睛的小区域.人眼图像样本构建模板采用手动方式采集,其大小为26×16,用模板匹配法搜索定位出的眉眼区域与其最相似的匹配块,以实现对检测到的眉眼区域人眼精定位.本文算法流程如图1所示.
图1 本文算法流程图
1.1 人脸检测
人脸中包含着重要的信息,准确的人脸检测对后续的人眼定位和状态分析等研究有着重要的意义[5].本文采用图像网络分析算法实现人脸检测,算法的主要步骤为:
Step1:对不同光照环境下戴眼镜和有一定倾斜的人脸图像采用滤波窗口大小3×3的中值滤波算法、直方图均衡化等进行预处理,效果图如图2(a)所示.
Step2:对预处理后的图像二值化,对所得图像采用10×10的网格进行分块处理,图2(b)为10×10分块处理效果图.
Step3:统计每个小方块的黑色像素在图像中的比例,将满足面部检测要求的小方块提取出来组成新的图像,找到人脸面积最大的联通区域,即为人脸区域,图2(c)为人脸检测效果图.
(a)预处理图像 (b)分块处理 (c)人脸检测图2 人脸检测效果图
1.2 灰度积分投影粗定位眉眼区域
灰度积分投影法算法容易受人脸姿态旋转和戴眼镜等因素的干扰,因此本文将积分投影曲线与人脸的几何结构特征相结合,对检测到的人脸图像进行眉眼区域的粗定位.
采用灰度积分投影法算法对检测出的人脸图像分别进行水平和垂直方向的投影,得到两个方向上的像素灰度的累加值曲线,然后根据曲线中波峰波谷的分布及人脸面部几何特征知识定位人眼区域[6].设在大小为92×112的图像上,I(x,y)为图像上(x,y)像素点的灰度值,其中区间[x1,x2]即为[0,91],区间[y1,y2]即为[0,111];水平和垂直积分投影函数分别表示为H(x)和V(y).
(1)
(2)
人脸图像分别往水平、垂直方向投影,在进行水平方向投影时,可以看到主要出现两个极大值点,分别对应两个眼睛;而对垂直方向投影时,可以看到有大概3个明显的极大值点,分别大致对应着眉毛、眼睛和嘴巴[7].眼睛区域根据人脸特征分布的几何知识在人脸的上半部,所以在垂直方向灰度积分投影时应该取前半部分的最大值.通过水平和垂直方向的坐标投影结合人脸几何特征分布知识,实现人眼区域的粗定位,图3、图4、图5分别为戴眼镜、头部不偏转和偏转图像眉眼区域粗定位的过程图.
(a)人脸图像 (b)水平投影 (c)垂直投影 (d)眉眼粗定位图3 戴眼镜图像的眉眼粗定位
(a)人脸图像 (b)水平投影 (c)垂直投影 (d)眉眼粗定位图4 头部不偏转图像的眉眼粗定位
(a)人脸图像 (b)水平投影 (c)垂直投影 (d)眉眼粗定位图5 头部偏转图像的眉眼粗定位
利用灰度积分投影曲线的分布结合人脸的结构特征,排除了嘴巴和背景的干扰,实现较为准确的眉眼粗定位.
1.3 模板匹配
传统的模板匹配是对整幅图像与目标图像相同位置的像素灰度值或颜色值进行比较,该方法存在计算的复杂度高,对目标的旋转比较敏感,干扰因素较多等问题.本文中因为已粗略定位出眉眼区域,排除了嘴和背景干扰,有利于提高模板匹配算法在人眼检测方面的速度和准确率.图6为部分在ORL标准人脸库和实验室自建人脸库中裁剪的大小为26×16的人眼图像模板.
图6 人眼图像模板
采用模板匹配算法对定位出的眉眼区域搜索与人眼构建的模板最相似的匹配块,即寻找最大允许误差的位置.利用归一化互相关计算粗定位眉眼图像与人眼模板之间的相关系数来度量它们的匹配程度,相关系数r表示两个向量的相关程度[8]即:
(3)
(4)
(5)
模板匹配的具体步骤如下:
Step1:假定原眉眼图像I(x,y)和人眼模板图像的起始点都在左上角;
Step2:当x和y变化时,根据归一化互相关矩阵计算F(k,j)在图像I区域中移动所有的r值;
Step3:r取最大值时即是人眼模板图像与原眉眼图像匹配的最佳位置,从该位置开始在原眉眼图像相应搜索区域中寻找最小的价值函数(MAD)[10],即可找到匹配图像;图7为人眼精确定位的效果图.
(a)眉眼区域人眼定位 (b)人脸图中人眼定位图7 人眼定位
采用模板匹配算法对眉眼区域实现人眼定位,利用模板图像、眉眼区域图像、人脸图像之间的坐标关系变换,完成在人脸图像中的眼睛定位.
本算法在MATLAB2015b实验平台下,从ORL人脸库和自建库中选取(12人,120幅)包括戴眼镜、头部偏转、闭眼等情况的单人脸图像.
2.1 人眼定位
图8为ORL库和自建库中部分人眼定位正确效果图,图9为自建库中部分人眼定位错误效果图.矩形框标记出人脸和眼睛区域,十字符号标记出眼睛的位置.
(a)佩戴眼镜图像
(b)闭眼图像
(c)头部偏转图像图8 人眼定位正确图像
从图8的仿真结果可以看出,对ORL 库中戴眼镜、头部偏转、闭眼图像,本文算法可以准确地对人眼进行定位.当对大量图像进行仿真分析时,如图9所示当实际拍摄图像受背景复杂、图像分辨率低、遮挡等因素影响时,部分图像的人眼定位检测误差较大.
图9 人眼定位错误图像
2.2 人眼定位效果评价
采用Jesorsky等[11]的眼睛定位正确性度量标准,设手工标定的左右眼睛准确位置分别为EL和ER,算法检测到的左右眼睛位置分别为EL′和ER′;dl、dr和dlr分别为EL-EL′,ER-ER′的距离,定位的相对误差定义为
(6)
eer≤0.25,eer≤0.10分别对应定位的眼睛坐标在眼镜框、眼球内[11].为了达到疲劳检测系统的实用要求,本文采用的人眼定位算法的评价标准为eer≤0.10,定位准确率及平均定位时间如表1所示,分层采样图像的人眼定位计算坐标与实际坐标之间的相对误差如表2所示.
表1 人眼定位方法对比
表2 分层抽样图像的人眼定位计算坐标与实际
表1仿真结果表明本文算法对眼睛的定位准确率比较高,平均检测时间约56 ms,相较于传统的模板匹配算法较好的提高了定位速度,具有较好的定位准确性;表2为分层抽样图像的计算坐标与实际坐标之间的相对误差;其中对所采用的120幅人眼定位平均相对误差eer=0.078 4,小于本文采用的人眼定位准确评价标准eer≤0.10,满足驾驶员疲劳检测应用的需要.
针对传统的人眼检测方法易受戴眼镜、头部偏转变化的影响,本文提出了一种基于积分投影和模板匹配的眼睛定位算法,相较于传统的模板匹配算法可快速地对戴眼镜、姿态变化的人脸图像实现较好的人眼定位,在一定程度适应图像旋转角度变化,有较好的鲁棒性.由于眼睛状态变化只是疲劳表现的一个方面,在后期驾驶员疲劳判断时,采用多特征融合的方法将是其研究的重点.
[1] Peng Yan,Zhou Tian,Wang Shaopeng,et al.Implementation of a real-time eye tracking system[J].The Journal of China Universities of Posts and Telecommunications,2013,20(S1):1-5.
[2] Song Fengyi,Tan Xiaoyang,Liu Xue,et al.Eyes closeness detection from still images with multi-scale histograms of principal oriented gradients[J].Pattern Recognition,2014,47(9):2 825-2 838.
[3] 牛清宁,周志强,金立生,等. 基于眼动特征的疲劳驾驶检测方法[J].哈尔滨工程大学学报,2015,36(3):394-398.
[4] Liu Chunsheng,Chang Faliang,Chen Zhenxue,et al.Improved gaussian skin color model and its application in face detection[J].Chinese Journal of Scientific Instrument,2012,33(5):1 117-1 121.
[5] 李玲玲.基于多视觉信息融合的驾驶员疲劳检测方法研究与实现[D].北京:北方工业大学,2012.
[6] 张文聪,邓宏平,李 斌,等.基于径向对称变换的眼睛闭状态检测[J].中国科学技术大学学报,2013,40(5):460-465.
[7] R.Barea,L.Boquete,S.Ortega,et al.EOG-based eye movements codification for human computer interaction[J].Expert Systems with Applications,2012,39(3):2 677-2 683.
[8] 张 伟.基于机器视觉的驾驶人疲劳状态识别关键问题研究[D].北京:清华大学,2011.
[9] 吴 强,任 琳,张 杰.快速归一化互相关算法及DSP优化实现[J].电子测量与仪器学报,2011,25(6):495-499.
[10] 刘 莎.基于最小值区域的人眼定位新算法[J].微型机与应用,2011,30(20):37-43.
[11] Jesorsky O,Kirchberg J,Frishholz R W.Robust face detection using the hausdorff distance,audio and video based persion authentication[J].Lecture Notes in Computer Science,2001,47(9):90-95.
【责任编辑:陈 佳】
Eye location algorithm based on integral projection and template matching
KANG Jie, LI Jing
(College of Electrical and Information Engineering, Shaanxi University of Science & Technology, Xi′an 710021, China)
Under the background of driver fatigue detection, aiming at the problems that gray projection algorithm is sensitive to posture change and the complex calculation of template matching,eye location algorithm based on integral projection and template matching is proposed.Face region is detected by using image network analysis algorithm,the eye area is roughly located through the method of gray-level integral projection and face geometry character,then precisely located by using template matching.Simulation shows that this algorithm has good location effect for wearing glasses and posture change image compared with the traditional template matching algorithm.
eye location; gray-level integral projection; template matching
2016-10-21
陕西省科技厅自然科学基础研究计划项目(2014JM8329); 陕西省教育厅专项科研计划项目(14JK1092); 咸阳市科技计划项目(2011K07-03); 陕西科技大学博士科研启动基金项目(BJ10-10)
亢 洁(1973-),女,陕西潼关人,副教授,博士,研究方向:数字图像处理、模式识别
1000-5811(2017)01-0174-04
TP391
A