《一种结合 AdaBoost 与 mean shift 的人眼检.doc》由会员分享,可在线阅读,更多相关《一种结合 AdaBoost 与 mean shift 的人眼检.doc(8页珍藏版)》请在三一办公上搜索。
1、精品论文一种结合 AdaBoost 与 mean shift 的人眼检测方法熊金水1,苏菲1,张建25(1. 北京邮电大学信息与通信工程学院,北京 100876;2. 北京邮电大学宣传部,北京 100876) 摘要:人眼检测是人脸识别系统的中间模块,对人脸识别系统的整体性能影响很大。在系统 中,人眼检测被分为粗定位和后处理两个部分。粗定位部分使用 Haar 特征、AdaBoost 算法10和级联结构,获得大量的候选点。后处理部分使用含尺度因子的 mean shift 算法,找到概率密度估计最大的位置,并作为最终精确的人眼位置。实验表明,对于正面人脸,该算法能实 时精准的找到人眼位置。关键词:人
2、脸识别;人眼检测;AdaBoost;Mean shift中图分类号:TP391.415Eye detection based on combination of AdaBoost and mean shiftXIONG Jinshui1, SU Fei1, ZHANG Jian2(1. School of Information and Communication Engineering, Beijing University of Posts and20Telecommunications, Beijing 100876;2. Propaganda Department of Beijing
3、 University of Posts and Telecommunications, Beijing100876)Abstract: Eye detection is an important part of the face recognition system. It plays a pivotal role in the accuracy of face recognition. In the system, eye detection is divided into coarse detection25and fine detection. The haar feature, th
4、e AdaBoost algorithm and the attentional cascade are used in the coarse detection to get plenty of candidates. The mean shift, including scale factor, are used in the fine detection to find the maximum position of probability density, which is considered as the ultimate eye position. The experiments
5、 show that the algorithm can localize precise eyes for frontal faces in real time.30Key words: Face recognition; Eye detection; AdaBoost; Mean shift0引言人脸识别系统通常包括三个部分1:人脸检测、人脸对齐和人脸比对。人脸检测,是在 给定图像或视频中,判断是否存在人脸,若存在,返回人脸的位置、大小、姿态等信息。人35脸对齐,是根据人脸检测的输出结果,找出特定的脸部特征,并通过一定的几何变换,将人 脸归一化到特定的尺寸。人脸比对,是根据人脸对齐的输出结
6、果,找出能“最小化同一个人 在不同时间、不同场合的差异,最大化不同人的差异”的特征,最后通过一种特征相似性度 量方法,得出人脸识别的输出结果。研究结果表明2,人脸对齐对于人脸识别系统的精确程度有非常大的影响。当前,人脸40对齐主要依赖于眼睛的精确定位。已有大量的方法用于人眼检测,包括人工创建模板的方法 3、基于本征眼(Eigeneyes)的方法4,最近几年,随着支持向量机(Support Vector Machine, SVM)理论及应用的发展,越来越多的学者把 SVM 方法应用于人眼检测,该方法在训练样作者简介:熊金水(1987-),男,硕士研究生,主要研究方向为计算机视觉通信联系人:苏菲(
7、1973-),女,教授,主要研究方向为生物特征识别. E-mail: sufei- 8 -本较小时,有着优于其他方法的性能。当训练样本集比较大时,运用 AdaBoost 方法5,则 能在计算时间复杂度上优于其他方法。45本文着眼于实时人脸识别系统,提供快速的人眼检测算法。对于人脸检测的输出,我们 先应用 AdaBoost 方法找出人眼的多个候选点,然后应用 mean shift 方法找出精确的人眼位置。本文其他部分安排如下:第一章介绍结合了 Adaboost 和 mean shift 的快速人眼检测方法, 第二章展现实验结果,第三章给出结论以及进一步工作的方向。1结合 AdaBoost 与 m
8、ean shift 的人眼检测50在人眼检测中,我们将算法分成两个部分,如下图所示。人脸检测结果人眼检测结果 人眼粗定位人眼后处理图 1 人眼检测流程图其中,人眼检测的输入为人脸检测的输出,具体而言,是一个包含左上角和右下角的矩形人 脸区域,如图中的红色人脸矩形区域,紫色矩形区域和黄色矩形区域分别为左眼和右眼的搜55索范围。借鉴 Viola 和 Jones 等人的人脸检测算法,人眼粗定位采用 AdaBoost 算法实现。经 过人眼粗定位,系统将得到大量候选点,如图中蓝色点候选点和黄色点候选点。最后,使用 包含尺度因子的 mean shift 作为后处理方法,找到精确的人眼位置,如图中绿色十字叉
9、形。1.1 人眼粗定位我们借鉴 Viola-Jones 人脸检测,构造我们的人眼粗定位算法。具体而言,就是使用 Haar60特征构造弱分类器,并用 AdaBoost 算法将这些弱分类器提升为强分类器,最后用级联结构 结合若干强分类器5。Viola-Jones 最初提出的四种 Haar 特征,如下图所示。Haar 特征值的计算方法是,用黑 色矩形中像素值的和,减去白色矩形中像素值的和。这些 Haar 特征,被放置在子窗口(sub window)中的不同位置,且可以使用不同的尺度。因此,Haar 特征数量是巨大的,对于一个652424 的子窗口,这些 Haar 特征的数量能够达到 180 000
10、多个6,相对于 576 个像素值而言, 存在着大量的信息冗余。(a)(b)(c)(d)图 2 Haar 特征70(a) 第一类左右型 Haar 特征;(b) 第二类左右型 Haar 特征;(c) 上下型 Haar 特征;(d)十字 Haar 特征Adaboost(Adaptive Boosting)算法最早由Yoav Freund 和Robert Schapire 在1995 年提 出,1999 年,RobertSchapire 和Yoram Singer 对上述算法提出了改进,即为Real AdaBoost。Real AdaBoost 算法假定,我们已经有一种机制 P,能够在带权样本上,训练
11、一个最小化带权错误率的分类器 f (x) -1, +1 。使用机制 P,AdaBoost 算法在训练 ft ( x) 后,给每;75个样本一个权值,当前错误分类的样本权值增加,正确分类的样本权值减小,并在此基础上进一步训练下一个弱分类器。最终,强分类器由这些弱分类器加权求和而成。Real AdaBoost算法如下。Real AdaBoost 算法6:80输入:训练样本集 S= ( x1 , y1 ),.( xN , yN ) ,弱分类器空间 H,其中, xi 表示第 i 个样本的 特征向量, yi -1, +1 表示类别标签,N 为样本个数。步骤:初始化样本的权值w (1) , w (1)=
12、1/N,i=1,2,Ni iRepeat for t = 1, 2, Ti851)在样本权值w (t ) 的基础上,估计类密度:t wp (x) = P ( y = 1| x) 0,12)在类密度的基础上,构造弱分类器:(1)tf ( x) = 1 logpt ( x)(2)3)更新样本权值:2 1 - pt ( x)(t +1) (t ) exp ( )90并归一化为:wi = wi- yi ft xiw (t +1)(3)w =(t +1) i iN(4)输出:强分类器:j =1(t +1)wjTF ( x) = sign( ft ( x) - b)t =1(5)95其中, x 为测试样本
13、的特征向量。b 为一个可调参数,用于平衡系统中的检测率和误检率。sign(a)为符号函数,当 a0 时,结果为 1,当 a0 时,结果为-1。100105Real AdaBoost 算法中,弱分类器构造机制是灵活的。我们让每一个弱分类器的构造都仅仅基于一个 Haar 特征,这样,AdaBoost 的每一次迭代,本质上是从众多的 Haar 特征中 选择了一个,而 AdaBoost 算法执行多少次迭代,就意味着多少个 Haar 特征被加入到强分类 器中。因此,AdaBoost 算法不仅达到分类的效果,也间接地完成了特征选择的过程。最后,使用级联结构,进一步提高算法的执行效率。一方面,每一级强分类器
14、中含有的 弱分类器较少,保证强分类器的计算效率非常高。另一方面,调整分类器阈值,使分类器有 高的真阳率(TPR-True Positive Rate),几乎不会把人眼子窗口分类为非人眼;同时又具有 低的假阳率(FPR-False Positive Rate),可以把部分非人眼子窗口分类为非人眼,这样,进 入下一级的将是所有子窗口的一部分。级联结构示意图如下所示。110115120图 3 级联结构5 在训练人眼粗定位算法时,目标是尽可能多的找出人眼候选点。因此,训练粗定位算法的要 求是:第一,高的检测率 TPR(True Positive Rate),保证把真正的人眼区域分类为人眼候 选点;第二
15、,高的误检率 FPR(False Positive Rate),这样会引入一些非人眼候选点,但这 些候选点往往位于人眼附近,对后处理算法并无太大的干扰,实际上,只有高的误检率,才 能保证达到高的检测率。1.2 人眼后处理人眼粗定位输出许多候选人眼,如何融合这些候选点,有以下原则7:局部极值点对 应的置信度越高,说明该位置出现目标的可能性越大;局部极值点附近对应的候选点越多, 说明该极值点是目标的可能性越大;在各个尺度上都临近的检测目标可能对应相邻的两个 目标,不应该融合。为此,我们使用带权值和尺度因子的 mean shift 算法8。令 yi = xi , yi , si , i = 1, 2
16、,.N 表示 N 个候选点,每个候选点的置信度(权值)为wi , 当迭代中心位于 y 处时,使用高斯核函数的核密度估计方法,得到候选点的概率密度估计为:D2 y, y , H f (y) =1N (2p )N3/ 2 i =1wi exp(-i i )2Hi(7)其中, D2 y, y , H 表示候选点 y 相对于迭代中心 y 的偏移量,用马氏距离(Mahalanaboisi i iDistance)度量,表达式为:125i i i i iD2 y, y , H = (y - y )T H -1 (y - y )H i 表示候选点 y i 处的协方差矩阵,表达式为:(8)2(exp(si )
17、d x )0 0 =Hi0 (exp(si )d y )0 002d 2 (9) s 130其中,d x 表示水平方向搜索子窗口跳变的像素数,d y 表示竖直方向搜索子窗口跳变的像素 数,d s 表示图像金字塔中相邻的尺度之间的比值。H i 表示候选点 y i 处的协方差矩阵,即不 确定度。为了减少预设参数,假设候选点所在的三维坐标之间相互独立,即 H i 为对角矩阵。公式 3-4 的梯度可求得为:f (y)H -1 (yD2 y, y , H 2- y)w exp(-ii )=1N (2p )Niii3/ 2 i =1Hi2H -1y w exp(- D y, yi , Hi ) 1 Nii
18、 i2(10)=3/ 2 N (2p ) i =1Hi2H -1w exp(- D y, yi , Hi ) 1 Nii2-3/ 2 y我们定义v i 为:N (2p ) i =1Hiw exp(- D y, y , H )22H-1/ 2iiiiv (y) = 2 (11)显然,v i 满足:iNi =1H -1/ 2 w exp(- D y, yi , Hi )ii2135Nv i = 1i =1使用公式 3-6,3-7 和 3-8,我们可以得到 f (y) 与 f (y) 的比值为:(12)f (y)N N i i i i i 若令:f (y)=i =1v H -1y- i =1v H
19、-1 y(13)-1H h (y) =Ni =1-1v i Hi(14)140则可以得到当迭代中心为 y 时,可变带宽均值均值偏移为:f (y) N hh i i i m(y) = H(y)f (y)= H (y) i =1v (y)H -1y - y(3-12)在核密度估计达到极大值处时,有 f (y) = 0 ,结合公式 3-12,我们可以知道,m(y) = 0 。 因此,通过公式 3-12 我们可以通过迭代的方式: N m+1h m i m i i y= H (y) i =1v (y)H -1y (15)145通过对所有 N 个候选点作加权求和,得到初始迭代位置:Ny 0 = wi yi
20、i =1(16)以 y 0 为初始迭代位置,一步一步的迭代,直到 y m +1 与 y m 几乎不变,则找到了核密度估150计的极大值点,也就找到了 N 个候选点所处的精确的人眼位置。2实验结果定义归一化误差为9:max(d , d )err= left _ det ectright _ det ectds tan dard(17)其中, dl e f _t d e t e c表t示人眼检测得到的左眼位置与人工标注的左眼位置之间的距离,155dright _ det ect 表示人眼检测得到的右眼位置与人工标注的右眼位置之间的距离, ds tan dard 表示 人工标注的左眼和人工标注的右眼
21、之间的距离。当归一化误差满足 err 0.25时,认为人眼 检测输出了正确的人眼位置。BioID10测试库共有 1521 幅包含人脸的图片,图像尺寸为 320*240。测试结果如表 1 所 示。其中 AdaBoost + mean shift 为本文使用的方法。由于不同的参数选择,可能导致 不同的检测率和时间,表中列出的是两者的折中选择。表 1 BioID 测试库上人眼检测性能比较算法检测率(%)时间(ms)CPU 主频(GHz)SVM + 边缘特征1199.4680-AdaBoost + mean shift98.311.82.5160从表中我们可以看出,我们的方法检测率比 SVM + 边缘
22、特征下降了 1.15%,但检测时间却减少了 44 倍,这使我们的方法在嵌入式系统中有广泛的应用前景。 图 4 给出了人眼检测结果。1653结论(a)(b) 图 4 BioID 人脸库中人眼检测结果举例 (a) 图片 BioID_0001;(b)图片 BioID_0023170本文设计了一种人眼检测框架。该框架把人眼检测分为粗定位和后处理两个部分。粗定 位部分使用 Haar 特征、AdaBoost 算法和级联结构,后处理部分使用包含尺度因子的 mean shift 方法,该算法检测率高,速度快,目前已经应用于实时系统中。当前系统中使用了 Haar 特征,该特征能很好的用于人脸检测,但并不是最好的
23、描述人 眼的特征,人眼最明显的特征在于眼睑和眼球的弧线,如何表达这些特征,是进一步提高人眼检测精度的一个方向。175参考文献 (References)1801851901951 Li S Z, Jain A K. Handbook of face recognitionM. New York: Springer, 2011.2 Wang P, Green M B, Ji Q, Wayman J. Automatic eye detection and its validationA. Computer Vision andPattern RecognitionC. San Diego:IEEE
24、 Computer Society Conference on, 2005. 164-164.3 Everingham M, Zisserman A. Regression and classification approaches to eye localization in face imagesA. Automatic Face and Gesture RecognitionC. Southampton:7th International Conference on, 2006.441-446.4 Belhumeur P N, Hespanha J P, Kriegman D J. Ei
25、genfaces vs fisherfaces recognition using class specific linear projectionJ. Pattern Analysis and Machine Intelligence, 1997, 19(7):711-720.5 Viola P,Jones M. Rapid object detection using a boosted cascade of simple featuresA. Computer Vision andPattern RecognitionC. San Francisco:IEEE Computer Soci
26、ety Conference on, 2001. 511-518.6 Friedman J,Hastie T,Tibshirani R. Additive logistic regression a statistical view of boostingJ. The Annals ofStatistics, 2000, 28(2):337-407.7 Dalal N. Finding people in images and videosD. Montbonnot:Institut National Polytechnique deGre-noble-INPG, 2006.8 Comanic
27、iu D. An algorithm for data-driven bandwidth selectionJ. Pattern Analysis and Machine Intelligence,2003, 25(2):281-288.9 Zhou Z H, Geng X. Projection functions for eye detectionJ. Pattern Recognition,2004,37(2):1049-1056. 10 The BioID Face DatabaseOL.2012. 11 Turkan M, Pardas M, Cetin A. Human eye localization using edge projectionJ. Computer Vision Theory andApplication, 2007, 20(3):231-237.