多角度视线上的人眼定位算法

时间:2022-09-28 08:22:43

多角度视线上的人眼定位算法

摘要:眼睛包含了多种重要的信息,眼睛定位在人脸检测及人脸识别技术中有着极其重要的实用价值。但传统的基于几何特征的眼睛定位方法在多角度视线方向上存在着不同程度的定位不够准确或计算量大的缺点,文章提出了一种多角度视线方向上的眼睛定位方法。在初步定位人脸区域后,采用主成分分析(Principal Component Analysis, PCA)方法在人脸的上半部分计算眼睛的位置。实验证明了算法的有效性。

关键词:主成分分析;眼睛定位;特征脸;视线;OPENCV

中图分类号:TP391文献标识码:A文章编号:1009-3044(2011)04-0870-03

Eye Detection on Different Gaze

YU Qiong, FAN Yin-tao

(Dept of Computer Science, Wuhan University of Technology, Wuhan 430063, China)

Abstract: Eyes contain a variety of important information,eye detection has important practical value in human face detection and face recognition technology. But the traditional detection methods based on geometrical characteristic are not accurate enough and large computational, this paper presented a new eye detection method. Using of PCA method in the upper half of the face to calculate the position of the eyes. Experimental results show the effectiveness of the algorithm.

Key words: PCA; eye detection; eigenface; gaze; OPENCV

近年来,人脸识别技术迅速发展,人们认识到相关技术的价值并在这方面做了很多的研究,人脸特征的提取是人脸自动识别过程中至关重要的一步。

眼睛是一个在人脸最为重要的特征,因此,眼睛的定位成为了人脸识别中关键的一步。脸部特征强烈依赖于双眼的位置,只要左右眼睛的位置确定下来,则人脸其它特征(如鼻子、嘴、眉毛等)都可根据人脸的生物特征分布关系基本确定。正因为眼睛定位在人脸识别中具有如此重要的地位,所以近年来提出了许多人眼定位的方法,主要有霍夫变换法、灰度投影法和对称变换法[1]等,霍夫变换法对二值化图像进行圆检测,从而确定双眼的精确位置,该方法受眼睑以及眼睫毛等的干扰大,而且也较复杂,因而很难得到广泛的应用;灰度投影法利用人脸灰度图像进行水平和垂直方向上的投影,分别统计出两个方向上的灰度值和,找出特定的变化点,确定人眼位置,该方法对不同人脸和姿态变化敏感,只能大致找出眼睛区域,不能精确定位;对称变换法利用正面人脸图像的强对称性检测人眼,但这种方法局限于人脸正面图像,通用性不是很好。本文提出了一种多角度视线方向上的人眼检测算法,在人脸区域上部[2],利用PCA方法搜索最接近人眼图像的区域。

在图像处理[3]过程中,首先通过直方图均衡化增强人脸局部的对比度,之后再通过像素灰度值归一化在一定程度上消除成像条件不同,也就是外界光照条件不同对定位造成的负面影响。在人脸库中选取多角度视线方向上的眼睛图像,用这些图像合成人眼图像。根据人眼在人脸的位置特点,在已检测出的人脸区域的上部,利用PCA方向检测人眼的位置。

1 图像预处理

直方图能反映图像的概貌,比如图像中有几类目标,目标和背景的分布如何;通过直方图可以直接计算图像中的最大亮度、最小亮度、平均亮度、对比度以及中间亮度等。使用直方图可以完成图像分割、目标检索等。因为不同的目标具有不同的颜色分布。使用归一化直方图作目标匹配,还不易受到目标翻转和目标大小变化的影响。

若i代表像素的灰度,H(i)代表该灰度的像素总个数。

均衡化原理:根据熵理论可知H(0),H(1)…,H(n-1)相等时,图像信息量最大。均衡化的目的是使每个H(i)都相等,即把原始图的直方图变换为均匀分布的形式,这样就增加了像素值的范围,增强了图像的对比效果。

像素灰度值归一化就是改变图像的亮度和对比度,使其等于定值。

通过归一化处理,可以在一定程度上消除成像条件不同,也就是图像光照不同对识别造成的负面影响。

2 合成人眼模板

PCA算法需要标准眼睛图像在人脸中查找人眼的位置,但不同视线方向的眼睛图像差别很大,所以应该降低人眼模板对多角度视线方向的眼睛的敏感性,提高其鲁棒性。为此我们采用一种合成的人眼图像作为模板,从库中选取不同视线方向的左右眼图像,然后将这些图像的对应像素相加平均后得到一个合成模板。合成多角度视线方向的人眼图像操作简便,能够在多角度视线方向之间达到折中,减弱了模板对视线方向的敏感度。

从人脸库中选取不同视线方向的人眼图像,并合成左眼、右眼图像,如图2,图3。

3 用PCA算法实现眼睛定位

主成分分析[4](Principal Components Analysis,即PCA,也称为K-L变换)的目标是寻找r(r

PCA算法的实现步骤:

1)计算向量集I的协方差矩阵C。

2)使用特征值分解技术得到矩阵C的特征向量E与特征值(按降序排列)。

3)假设在所有m*n个特征值中,前k个值比其余的大很多(即前k个特征值之和几乎等于所有的特征值之和),用前k个特征值来构造原图。

4)计算待测区域对所选的k个特征图像的投影系数。

5)利用投影系数计算测试区域到原图像的距离(如:欧氏距离),距离最近者被选作匹配结果。

PCA是图像压缩中的一种最优正交变换。PCA用于统计特征提取构成了子空间法模式识别的基础。它从图像整体代数特征出发,基于图像的总体信息进行分类识别。Sirovich和Kirby首先将K-L变换用于人脸图像的最优表示。Turk和Pentland[5-6]进一步提出了“特征脸”(Eigenface)这个概念。

PCA算法实现人眼定位的基本原理是:利用K-L变换抽取人眼的主要成分,构成特征眼空间,定位时在人脸图像上选取部分区域投影到此空间,得到一组投影系数,投影系数最小的就是人眼区域。用OPENCV库实现多角度视线上人眼定位的步骤如下。

1)利用cvCalcEigenObjects()得到不同视线下的合成人眼图像的特征值和特征向量,并选择前k个特征值(前k个特征值之和几乎等于所有的特征值之和)。

2)x=xlimitL, y=ylimitU。

3)如果y坐标大于等于ylimitD,转(12)。

4)如果x坐标大于等于xlimitR,转(11)。

5)利用cvEigenProjection()计算合成人眼图像对所选的k个特征值的投影系数。

6)利用cvEigenDecomposite()计算选定区域对所选的k个特征值的投影系数。

7)通过合成人眼图像和选定区域的投影系数计算它们的相似度distance。

8)如果distance< min,转(9),否则,转(10)。

9)记录下最小的相似度Min = distance,及其位置。

10)x = x + 2,转(4)。

11)y = y + 2 ,转(3)。

12)所记录的位置即人眼位置。

4 实验结果及分析

本文使用VC++,利用Opencv库[7]完成上述眼睛定位算法。我们可以定位已保存的视频文件中每帧图像的人眼位置,也可以直接定位摄像头捕获的每帧图像的人眼位置。如图4所示,我们利用不断变换头部姿态和视线方向的视频片断来测试本文方法的准确率,当头部旋转角度小于60度时,多角度上的眼睛的定位准确率比较高,该方法对戴眼镜的眼睛定位有很好的鲁棒。

图4 眼睛定位的定位结果

如图5所示,在眼镜反光以及头部旋转角度过大时,定位会出错或无法定位。

图5 眼睛定位出错情况

5 结束语

本文利用PCA算法,开展了多角度及姿势人脸眼睛检测的研究工作。本文通过图像预处理减小外界光照等对人脸图像的影响,合成多角度的人眼图像作为眼睛图像,对合成眼睛图像进行主成分分析,在已检测出的人脸区域内的相应位置上定位眼睛。实验证明,本文所提出的方法具有对光照等外界条件不敏感,对眼镜具有很好鲁棒性以及可以识别不同姿态及多角度的眼睛图像的优点。然而,对于眼镜反光及头部旋转角度过大时的定位出错等问题,将是下一步研究工作的重点。

参考文献:

[1] 唐琏,许海柱,王力.图像中人眼检测技术综述[J].计算机应用研究,2008,25(4):961-965.

[2] 宋加涛,刘济林,池哲儒.人脸正面图像中眼睛的精确定位[J].计算机辅助设计与图形学学报,2005,17(3):540-545.

[3] 张敏,陶亮.人脸图像中人眼的检测与定位[J].光电工程,2006,33(8):33-36.

[4] Richard O, Peter E, David G. 模式分类[M].李宏东,译.2版.北京:机械工业出版社,2003.456-460.

[5] Turk M A, Pentland A P. Face recognition using eigenfaces[J].Proceedings of the IEEE.on Computer Society Conference,US,1991,3(6):586-591.

[6] Turk A. Pentland.Eigenfaces for recognition[J].Journal of Cognitive Neuroscience,1991,3(1):71-86.

[7] Bradski G, Kaehler A.Learning OPENCV[M].于仕琪,刘瑞祯,译.北京:清华大学出版社,2009.18-560.

上一篇:资源池模式及其扩展策略应用研究 下一篇:一种工作流任务回撤机制的动态模型研究