发明名称 复杂背景图像中鲁棒的眼睛精确定位方法
摘要 复杂背景下的眼睛精确定位技术属于人脸识别领域。其特征在于,提出了一种性能鲁棒的复杂背景下图像中的眼睛精确定位方法。它采用高效率和高冗余度的微结构特征来表达眼睛模式局部和全局区域的灰度分布特点;并采用AdaBoost算法从中选择出最具有区分的微结构特征构成强分类器,综合考虑了局部特征以及能够表达这种约束关系的全局特征得到更鲁棒的定位效果。从而以更简单的结构实现复杂背景图像下更高性能的双眼定位;在多个公开数据库上以及竞赛评测的结果证明了本发明的优异性能。
申请公布号 CN1731418A 申请公布日期 2006.02.08
申请号 CN200510086249.X 申请日期 2005.08.19
申请人 清华大学 发明人 丁晓青;马勇;方驰;刘长松;彭良瑞
分类号 G06K9/00(2006.01) 主分类号 G06K9/00(2006.01)
代理机构 代理人
主权项 1.复杂背景图像中鲁棒的眼睛精确定位方法,其特征表于:该方法首先对收集到的眼睛样本和眼睛对样本进行适当的尺寸归一化和光照归一化,以最大限度地消除输入样本因光照和尺寸的不同而造成的类内差异,然后高效率地提取能很好反映模式结构特点的微结构特征,在此基础上利用AdaBoost算法组成具有极低的误检率和极低的误接受率的强分类器,然后把多层分类器级联成一个完整的眼睛检测器和眼睛对验证器,从候选中得到精确的眼睛位置;在由图像采集设备和计算机组成的系统中,本检测方法包括训练阶段和检测阶段,其中训练阶段依次含有以下步骤:步骤1样本采集与归一化步骤1.1样本的采集为训练单眼检测器,采用人手工标定的方法,从人脸图片中切割出单只眼睛图像,并从人脸图像非眼睛部位随机割取非眼睛样本,单只眼睛图像和非眼睛图像分别作为正例样本和反例样本用于训练单眼检测器;另外为训练眼睛对检测器,还根据人手工标定的眼睛位置,按照设定的比例从人脸图像中剪裁得到眼睛对样本,并从人脸图像中随机割取非眼睛对样本,眼睛对图像和非眼睛对图像分别作为正例样本和反例样本用于训练单眼检测器;这样采集到的样本不只包括两只眼睛还包括眉毛、鼻子等部位,体现了眼睛与周围器官的约束关系;所述从人脸图像中剪裁得到眼睛对样本是按下述比例进行的;以双眼眼球中心的连线作为X轴,以垂直于所述双眼眼球中心线的垂直线作为Y轴,垂足位于双眼内侧间距处的所述中心线上;当设定双眼眼球中心的间距为dist时,双眼眼球中心距左、右外边框的水平距离各为dist/3,而剪裁时上、下两条边框各距所述的垂直距离为dist/2;步骤1.2尺寸归一化将收集好的各尺寸的样本图像,包括单眼和非单眼、眼睛对和非眼睛对图像,归一化为指定尺寸:设原始样本图像为[F(x,y)]<sub>M×N</sub>,图像宽度为M,高度为N,图像位于第x行第y列的象素点的值为F(x,y)(0≤x<M,0≤y<N);设尺寸归一化后图像为[G(x,y)]<sub>W×H</sub>,图像宽度为W,高度为H,实验中对单眼样本取W=24,H=12,对眼睛对样本取W=25,H=15,所述尺寸归一化就是将源图像点阵[F(x,y)]<sub>M×N</sub>映射成目标图像点阵[G(x,y)]<sub>W×H</sub>的过程,本发明使用反向投影和线性插值将原始样本图像变换到标准尺寸样本图像,则输入图像[F(x,y)]<sub>M×N</sub>与归一化后图像[G(x,y)]<sub>W×H</sub>之间的对应关系为:            G(x,y)=F(x/r<sub>x</sub>,y/r<sub>y</sub>)其中r<sub>x</sub>和r<sub>y</sub>分别为x和y方向的尺度变换因子:r<sub>x</sub>=N/H,r<sub>y</sub>=M/W,根据线性插值方法,对于给定(x,y),令:<maths num="001"><![CDATA[ <math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><mi>x</mi><mo>/</mo><msub><mi>r</mi><mi>x</mi></msub><mo>=</mo><msub><mi>x</mi><mn>0</mn></msub><mo>+</mo><msub><mi>&Delta;</mi><mi>x</mi></msub></mtd></mtr><mtr><mtd><mi>y</mi><mo>/</mo><msub><mi>r</mi><mi>y</mi></msub><mo>=</mo><msub><mi>y</mi><mn>0</mn></msub><mo>+</mo><msub><mi>&Delta;</mi><mi>y</mi></msub></mtd></mtr></mtable></mfenced><mo>,</mo><mn>0</mn><mo>&le;</mo><msub><mi>&Delta;</mi><mi>x</mi></msub><mo>,</mo><msub><mi>&Delta;</mi><mi>y</mi></msub><mo>&lt;</mo><mn>1</mn></mrow></math>]]></maths>其中:<maths num="002"><![CDATA[ <math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>x</mi><mn>0</mn></msub><mo>=</mo><mo>[</mo><mi>x</mi><mo>/</mo><msub><mi>r</mi><mi>x</mi></msub><mo>]</mo><mo>,</mo></mtd><mtd><msub><mi>&Delta;</mi><mi>x</mi></msub><mo>=</mo><mi>x</mi><mo>/</mo><msub><mi>r</mi><mi>x</mi></msub><mo>-</mo><msub><mi>x</mi><mn>0</mn></msub></mtd></mtr><mtr><mtd><msub><mi>y</mi><mn>0</mn></msub><mo>=</mo><mo>[</mo><mi>y</mi><mo>/</mo><msub><mi>r</mi><mi>y</mi></msub><mo>]</mo><mo>,</mo></mtd><mtd><msub><mi>&Delta;</mi><mi>y</mi></msub><mo>=</mo><mi>y</mi><mo>/</mo><msub><mi>r</mi><mi>y</mi></msub><mo>-</mo><msub><mi>y</mi><mn>0</mn></msub></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>[·]为取整函数,插值过程可表示为:       G(x,y)=F(x<sub>0</sub>+Δ<sub>x</sub>,y<sub>0</sub>+Δ<sub>y</sub>)=F(x<sub>0</sub>,y<sub>0</sub>)Δ<sub>x</sub>Δ<sub>y</sub>+F(x<sub>0</sub>+1,y<sub>0</sub>)(1-Δ<sub>x</sub>)Δ<sub>y</sub>       +F(x<sub>0</sub>,y<sub>0</sub>+1)Δ<sub>x</sub>(1-Δ<sub>y</sub>)+F(x<sub>0</sub>+1,y<sub>0</sub>+1)(1-Δ<sub>x</sub>)(1-Δ<sub>y</sub>)步骤1.3灰度归一化由于外界光照、成像设备等因素可能导致图像亮度或对比度异常,出现强阴影或反光等情况,所以还需要对几何归一化后的样本进行灰度均衡化处理,改善其灰度分布,增强模式间的一致性,本发明采用灰度均值、方差归一化对样本进行灰度均衡化处理,将样本图片灰度的均值μ和方差σ调整到给定值μ<sub>0</sub>和σ<sub>0</sub>:首先采用下式计算样本图像G(x,y)(0≤x<W,0≤y<H)的均值和方差:<maths num="003"><![CDATA[ <math><mrow><mover><mi>&mu;</mi><mo>&OverBar;</mo></mover><mo>=</mo><mfrac><mn>1</mn><mi>WH</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>H</mi><mo>-</mo><mn>1</mn></mrow></munderover><munderover><mi>&Sigma;</mi><mrow><mi>x</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>W</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>G</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mi></mi></mrow></math>]]></maths><maths num="004"><![CDATA[ <math><mrow><mi></mi><mi></mi><mi></mi><mover><mi>&sigma;</mi><mo>&OverBar;</mo></mover><mo>=</mo><msqrt><mrow><mfrac><mn>1</mn><mi>WH</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>H</mi><mo>-</mo><mn>1</mn></mrow></munderover><munderover><mi>&Sigma;</mi><mrow><mi>x</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>W</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mrow><mo>(</mo><mi>G</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>&mu;</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt></mrow></math>]]></maths>然后对每个像素点的灰度值进行如下变换:<maths num="005"><![CDATA[ <math><mrow><mi>I</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfrac><msub><mi>&sigma;</mi><mn>0</mn></msub><mover><mi>&sigma;</mi><mo>&OverBar;</mo></mover></mfrac><mrow><mo>(</mo><mi>G</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>&mu;</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mo>+</mo><msub><mi>&mu;</mi><mn>0</mn></msub></mrow></math>]]></maths>从而将图像灰度的均值和方差调整到给定值μ<sub>0</sub>和σ<sub>0</sub>,完成样本的灰度归一化;步骤2单眼检测器的训练单眼检测器的训练使用归一化后的单眼睛样本和非眼睛样本的微结构特征库,利用AdaBoost算法训练得到单只眼睛检测器;其具体训练过程如下:步骤2.1特征提取步骤2.1.1设定下述五种类型微结构模板;设定:下述五种类型微结构模板来提取人脸样本的高维微结构特征,每一种微构特征通过计算模板黑色区域内所对应图像中像素灰度的差值来得到,所述微结构特征用g(x.y.w.h)表示,对于所述五种类型微结构特征,分别表示如下:(a)类:黑色区域和白色区域左右对称且面积相等,用w表示其中各区域的宽,h表示其中各区域的高;(b)类:黑色区域和白色区域上下对称且面积相等,w、h的定义与(a)类相同;(c)类:在水平方向,黑色区域位于两块白色区域之间,且黑色区域和每块白色区域的面积相等,w、h的定义与(a)类相同;(d)类:两块黑色区域分别处于第一象限和第三象限,而两块白色区域分别处于,且每块黑色区域和每块白色区域的的面积相等w、h的定义与(a)类相同;(e)类:黑色区域位于白色区域有中央,且黑色区域的分布对称且黑色区域的上、下两边、左、右两边分别距离白色区域的上、下两边、左、右两边各为2个像素的距离,w、h分别表示白色区域周框的宽和高;步骤2.1.2快速计算积分图像:对于所述图像I(x,y),(x≥0,y≥0),定义其对应的积分图像II(x,y)为从(0,0)到(x,y)范围内的所有像素之和,即<maths num="006"><![CDATA[ <math><mrow><mi>II</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mn>0</mn><mo>&le;</mo><msup><mi>x</mi><mo>&prime;</mo></msup><mo>&le;</mo><mi>x</mi></mrow></munder><munder><mi>&Sigma;</mi><mrow><mn>0</mn><mo>&le;</mo><msup><mi>y</mi><mo>&prime;</mo></msup><mo>&le;</mo><mi>y</mi></mrow></munder><mi>I</mi><mrow><mo>(</mo><msup><mi>x</mi><mo>&prime;</mo></msup><mo>,</mo><msup><mi>y</mi><mo>&prime;</mo></msup><mo>)</mo></mrow></mrow></math>]]></maths>步骤2.1.3快速提取单眼睛和非单眼样本的高维微结构特征:每一种微结构特征通过计算模板所覆盖图像中黑色区域和白色区域内像素灰度和的差值来得到,并且模板相对于图像的位置以及模板的尺寸可以改变,由于每一种特征提取只涉及到矩形区域中像素和的计算问题,便于利用整幅图像的积分图像快速得到任意尺度、任意位置的一种微结构特征;     g(x,y,w,h)=2·II(x+w-1,y-1)+II(x+2·w-1,y+h-1)(a)                  +II(x-1,y+h-1)-2·II(x+w-1,y+h-1)                     -II(x+2·w-1,y-1)-II(x-1,y-1)     g(x,y,w,h)=2II(x+w-1,y+h-1)+II(x-1,y-1)-II(x+w-1,y-1)(b)                  -2II(x-1,y+h-1)-II(x+w-1,y+2h-1)+II(x-1,y+2h-1)     g(x,y,w,h)=2II(x+2w-1,y+h-1)+2II(x+w-1,y-1)-2II(x+2w-1,y-1)(c)                  -2II(x+w-1,y+h-1)-II(x+3w-1,y+h-1)-II(x-1,y-1)                     +II(x-1,y+h-1)+II(x+3w-1,y-1)     g(x,y,w,h)=-II(x-1,y-1)-II(x+2w-1,y-1)-II(x-1,y+2h-1)(d)                  -4II(x+w-1,y+h-1)+2II(x+w-1,y-1)+2II(x-1,y+h-1)                     -II(x+2w-1,y+2h-1)+2II(x+2w-1,y+h-1)+2II(x+w-1,y+2h-1)     g(x,y,w,h)=II(x+w-1,y+h-1)+II(x-1,y-1)-II(x+w-1,y-I)-II(x-1,y+h-1)(e)      -II(x+w-3,y+h-3)-II(x+1,y+1)+II(x+1,y+h-3)+II(x+w-1,y+1)改变参数x,y,w,h所提取不同位置通过的微结构特征,对于尺归一化为24×12的人脸模板先得到42727个特征组成该样本的特征点是FV(j),1≤j≤42727;步骤2.2为了减轻光照对于单眼检测的影响,要对每一个24×12像素的人眼样本图像进行灰度均值和方差的归一化;首先计算24×12像素的人眼小窗口区域(x<sub>0</sub>≤x′≤x<sub>0</sub>+23,y<sub>0</sub>≤y′≤y<sub>0</sub>+11)内的像素灰度和的均值μ和方差σ:μ=[II(x<sub>0</sub>+23,y<sub>0</sub>+11)+II(x<sub>0</sub>-1,y<sub>0</sub>-1)-II(x<sub>0</sub>-1,y<sub>0</sub>+11)-II(x<sub>0</sub>+23,y<sub>0</sub>-1)]/288σ={[SqrII(x<sub>0</sub>+23,y<sub>0</sub>+11)+SqrII(x<sub>0</sub>-1,y<sub>0</sub>-1)-SqrII(x<sub>0</sub>-1,y<sub>0</sub>+11)    -SqrII(x<sub>0</sub>+23,y<sub>0</sub>-1)]/288-μ<sup>2</sup>}<sup>1/2</sup>其次,对每一层微结构对征进行如下归一化:<maths num="007"><![CDATA[ <math><mrow><mi>FV</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><msub><mi>&sigma;</mi><mn>0</mn></msub><mover><mi>&sigma;</mi><mo>&OverBar;</mo></mover></mfrac><mover><mi>FV</mi><mo>&OverBar;</mo></mover><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>对于一个24×12像素的样本图像,共得到42727维微结构特征FV(j),1≤j≤42727;步骤2.3特征选择和分类器设计本发明使用AdaBoost算法选择特征和训练分类器:一方面AdaBoost算法在每轮迭代中选择出性能最好的基于单个特征的弱分类器,达到特征选择的目的;另一方面把这些弱分类器集成为一个强分类器,并通过将多个强分类器级联起来得到一个性能优秀的眼睛检测器;具体来说,包括以下几个组成部分:步骤2.3.1弱分类器的构造弱分类器要具有非常高的分类速度,整个强分类器才能达到足够高的分类速度,本发明对应于每一维特征构造最简单的树分类器来作为弱分类器:<maths num="008"><![CDATA[ <math><mrow><msub><mi>h</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>sub</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn><mo>,</mo></mtd><mtd><mi>if</mi><msub><mi>g</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>sub</mi><mo>)</mo></mrow><mo>&lt;</mo><msub><mi>&theta;</mi><mi>j</mi></msub><mi>or</mi><msub><mi>g</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>sub</mi><mo>)</mo></mrow><mo>></mo><msub><mi>&theta;</mi><mi>j</mi></msub></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo></mtd><mtd><mi>otherwise</mi></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>其中sub是一个24×12像素的样本,g<sub>j</sub>(sub)表示从该样本提取得到的第j个特征,θ<sub>j</sub>是第j个特征对应的判决阈值,该阈值通过统计所有采集的眼睛和非眼睛样本的第j个特征使得眼睛样本的FRR满足规定的要求来得到,h<sub>j</sub>(sub)表示使用第j个特征构造的树分类器的判决输出,这样每个弱分类器只需要比较一次阈值就可以完成判决;共可得到42727个弱分类器;步骤2.3.2基于AdaBoost算法的眼睛/非眼睛强分类器设计本发明将AdaBoost算法结合上述弱分类器构造方法用于训练眼睛/非眼睛强分类器;训练算法步骤如下,记给定训练集L={(sub<sub>i</sub>,l<sub>i</sub>)},i=1,...,n,l<sub>i</sub>=0,1是样本图像sub<sub>i</sub>的类别标号,分别对应非眼睛类别和眼睛类别,其中眼睛样本n<sub>eye</sub>个,非眼睛样本n<sub>noneye</sub>个;步骤2.3.2.1参数的初始化训练样本权重的初始化。初始每个样本的权重为<maths num="009"><![CDATA[ <math><mrow><msub><mi>D</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mi>n</mi></mfrac><mo>;</mo></mrow></math>]]></maths>选择迭代次数T(T即为希望使用的弱分类器的个数),T应随着强分类器层数的增多逐渐增多,具体选择值见表1;统计样本集上每个特征分布的极大值Fmax(j)和极小值Fmin(j),其中j为特征序号,1≤j≤42727;步骤2.3.2.2重复以下过程T次,t=1,...,T:a.)使用第j个特征,1≤j≤42727构造弱分类器h<sub>j</sub>,然后在Fmin(j)和Fmax(j)间穷举搜索阈值参数θ<sub>j</sub>,使得h<sub>j</sub>的错误率ε<sub>j</sub>最小,定义<maths num="010"><![CDATA[ <math><mrow><mrow><msub><mi>&epsiv;</mi><mi>j</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>D</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mo>|</mo><msub><mi>h</mi><mi>j</mi></msub><mrow><mo>(</mo><msub><mi>sub</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>l</mi><mi>i</mi></msub><mo>|</mo></mrow><mo>;</mo></mrow></math>]]></maths>b.)令<maths num="011"><![CDATA[ <math><mrow><msub><mi>&epsiv;</mi><mi>t</mi></msub><mo>=</mo><munder><mrow><mi>arg</mi><mi></mi><mi>min</mi></mrow><mrow><mn>1</mn><mo>&le;</mo><mi>j</mi><mo>&le;</mo><mn>42727</mn></mrow></munder><msub><mi>&epsiv;</mi><mi>j</mi></msub><mo>,</mo></mrow></math>]]></maths>并将其对应的弱分类器作为h<sub>t</sub>;c.)计算参数<maths num="012"><![CDATA[ <math><mrow><msub><mi>&alpha;</mi><mi>t</mi></msub><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>ln</mi><mrow><mo>(</mo><mfrac><mrow><mn>1</mn><mo>-</mo><msub><mi>&epsiv;</mi><mi>t</mi></msub></mrow><msub><mi>&epsiv;</mi><mi>t</mi></msub></mfrac><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>d.)更新样本的权重<maths num="013"><![CDATA[ <math><mrow><msub><mi>D</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>D</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><msub><mi>&alpha;</mi><mi>t</mi></msub><msub><mi>l</mi><mi>i</mi></msub><msub><mi>h</mi><mi>t</mi></msub><mrow><mo>(</mo><msub><mi>sub</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow></mrow><msub><mi>Z</mi><mi>t</mi></msub></mfrac><mo>,</mo></mrow></math>]]></maths>其中i=1,...,n,<maths num="014"><![CDATA[ <math><mrow><msub><mi>Z</mi><mi>t</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>D</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><msub><mi>&alpha;</mi><mi>t</mi></msub><msub><mi>l</mi><mi>i</mi></msub><msub><mi>h</mi><mi>t</mi></msub><mrow><mo>(</mo><msub><mi>sub</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>.</mo></mrow></math>]]></maths>步骤2.3.2.3输出最后的强分类器<img file="A2005100862490007C6.GIF" wi="742" he="204" />对于通过强分类器判断的模式,本发明采用<maths num="015"><![CDATA[ <math><mrow><mi>P</mi><mrow><mo>(</mo><mn>1</mn><mo>|</mo><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>=</mo><mfrac><msup><mi>e</mi><mrow><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow></msup><mrow><msup><mi>e</mi><mrow><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow></msup><mo>+</mo><msup><mi>e</mi><mrow><mo>-</mo><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow></msup></mrow></mfrac></mrow></math>]]></maths>得到模式属于眼睛的后验概率,此处<maths num="016"><![CDATA[ <math><mrow><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><mi>T</mi></munderover><msub><mi>&alpha;</mi><mi>t</mi></msub><mrow><mo>(</mo><msub><mi>h</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>步骤2.3.3多层强分类器的级联整个眼睛检测器必须采用分层结构,由简单到复杂将多层强分类器级联起来,多层强分类器级联的具体训练步骤如下:a)初始化i=1;定义每层强分类器的训练目标是在眼睛训练集上FRR≤0.1%,在非眼睛训练集上FAR ≤60%;定义整个眼睛检测器在眼睛训练集上的目标FRR≤1%,在非眼睛训练集上的目标FAR≤5×10<sup>-4</sup>;b)使用训练样本集采用步骤2.3.2所述的方法训练第i层强分类器;c)用训练得到的前i层分类器对样本集进行检测;d)如果FRR、FAR未达到预定值,则i←i+1,返回步骤(b)继续进行训练;否则停止训练:共训练得到7层结构从简单到复杂的强分类器;由这些强分类器级联构成一个完整的眼睛检测器;步骤3眼睛对分类器的训练眼睛对分类器的训练使用归一化后的眼睛对样本和非眼睛对样本,分别提取两类样本的特征库,利用AdaBoost算法训练得到眼睛对分类器,由于眼睛对分类器所使用微结构特征及训练过程与前文单眼检测器的完全相同,都是使用AdaBoost算法从大量微结构特征中选择基于单个特征的弱分类器来构成强分类器,并将多层强分类器级联在一起,其具体训练过程同样包括特征提取、特征选择、强分类器的训练、多层强分类器的级联:步骤3.1特征提取使用归一化后的眼睛对样本和非眼睛对样本按上述步骤2.1所述的方法分析提取其高维微结构特征,对于尺寸归一化为25×15像素的眼睛对模式,共得到71210个特征,组成该样本的特征点是FV(j),1≤j≤71210;步骤3.2为了减轻光照的影响,按步骤2.2所述的方法对每一个25×15像素样本同样进行灰度均值和方差的归一化:首先,快速计算出所述25×15像素小窗口的灰度均值μ和方差σ,小窗口区域为(x<sub>0</sub>≤x′≤x<sub>0</sub>+24,y<sub>0</sub>≤y′≤y<sub>0</sub>+14),则μ和σ分别为:μ=[II(x<sub>0</sub>+24,y<sub>0</sub>+14)+II(x<sub>0</sub>-1,y<sub>0</sub>-1)-II(x<sub>0</sub>-1,y<sub>0</sub>+14)-II(x<sub>0</sub>+24,y<sub>0</sub>-1)]/365σ={[SqrII(x<sub>0</sub>+24,y<sub>0</sub>+14)+SqrII(x<sub>0</sub>-1,y<sub>0</sub>-1)-SqrII(x<sub>0</sub>-1,y<sub>0</sub>+14)    -SqrII(x<sub>0</sub>+24,y<sub>0</sub>-1)]/365-μ<sup>2</sup>}<sup>1/2</sup>其次对每一个维微结构特征进行如下的归一化:<maths num="017"><![CDATA[ <math><mrow><mi>FV</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><msub><mi>&sigma;</mi><mn>0</mn></msub><mover><mi>&sigma;</mi><mo>&OverBar;</mo></mover></mfrac><mover><mi>FV</mi><mo>&OverBar;</mo></mover><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></math>]]></maths>对于一个25×15像素的样本图像,共得到71210维微结构特征FV(j),1≤j≤71210。步骤3.3特征选择及分类器设计为达到足够快的验证速度,一个眼睛对检测器必顺采用分层结构,先由结构简单的强分类器排除掉图像中的背景窗口,然后由结构复杂的强他类器对余下窗口进行判断,本部分仍然使用AdaBoost算法选择特征和训练分类器,具体来说包括以下几个组成部分:步骤3.3.1弱分类器的构造弱分类器仍使用一维特征构造的树分类器;<maths num="018"><![CDATA[ <math><mrow><msub><mi>h</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>sub</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn><mo>,</mo></mtd><mtd><mi>if</mi><msub><mi>g</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>sub</mi><mo>)</mo></mrow><mo>&lt;</mo><msub><mi>&theta;</mi><mi>j</mi></msub><mi>or</mi><msub><mi>g</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>sub</mi><mo>)</mo></mrow><mo>></mo><msub><mi>&theta;</mi><mi>j</mi></msub></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo></mtd><mtd><mi>otherwise</mi></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>共可得到71210个弱分类器。步骤3.3.2基于AdaBoost算法的眼睛/非眼睛强分类器设计将CS-AdaBoost算法结合上述弱分类器构造方法用于训练眼睛对强分类器,训练步骤如下,记训练样本集L={(sub<sub>i</sub>,l<sub>i</sub>)],i=1,...,n,l<sub>i</sub>=0,1是样本图像sub<sub>i</sub>的类别标号,分别对应非眼睛对类别和眼睛对类别,其中眼睛对样本n<sub>eye</sub>个,非眼睛对样本n<sub>noneye</sub>个:步骤3.3.2.1参数的初始化训练样本误分类风险的初始化,对于每个眼睛对样本的误分类风险<maths num="019"><![CDATA[ <math><mrow><mi>C</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mn>2</mn><mi>c</mi></mrow><mrow><mi>c</mi><mo>+</mo><mn>1</mn></mrow></mfrac><mo>,</mo></mrow></math>]]></maths>对每个非眼睛对样本的误分类风险<maths num="020"><![CDATA[ <math><mrow><mi>C</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>2</mn><mrow><mi>c</mi><mo>+</mo><mn>1</mn></mrow></mfrac><mi>c</mi></mrow></math>]]></maths>是眼睛对类别是非眼睛对类别的误分类风险倍数,c值应大于1且随着强分类器层数的增多逐渐减小接近于1;训练样本权重的初始化,初始每个样本的权重为<maths num="021"><![CDATA[ <math><mrow><msub><mi>D</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mi>n</mi></mfrac><mo>;</mo></mrow></math>]]></maths>选择迭代次数T,T即为希望使用的弱分类器的个数,T应随着强分类器层数的增多逐渐增多;统计样本集上每个特征分布的极大值Fmax(j)和极小值Fmin(j),其中j为特征序号,1≤j≤71210:<maths num="022"><![CDATA[ <math><mrow><mi>F</mi><mi>max</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>max</mi><mrow><mn>1</mn><mo>&le;</mo><mi>i</mi><mo>&le;</mo><mi>n</mi></mrow></munder><mi>F</mi><msub><mi>V</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>,</mo><mi>F</mi><mi>min</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>min</mi><mrow><mn>1</mn><mo>&le;</mo><mi>i</mi><mo>&le;</mo><mi>n</mi></mrow></munder><mi>F</mi><msub><mi>V</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>步骤3.3.2.2重复以下过程T次,t=1,...,T:a.)使用第j个特征(1≤j≤71210)构造弱分类器h<sub>j</sub>,然后在Fmin(j)和Fmax(j)间穷举搜索阈值参数θ<sub>j</sub>,使得h<sub>j</sub>的错误率ε<sub>j</sub>最小,定义<maths num="023"><![CDATA[ <math><mrow><mrow><msub><mi>&epsiv;</mi><mi>j</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>D</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mo>|</mo><msub><mi>h</mi><mi>j</mi></msub><mrow><mo>(</mo><msub><mi>sub</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>l</mi><mi>i</mi></msub><mo>|</mo></mrow><mo>;</mo></mrow></math>]]></maths>b.)令<maths num="024"><![CDATA[ <math><mrow><msub><mi>&epsiv;</mi><mi>t</mi></msub><mo>=</mo><munder><mrow><mi>arg</mi><mi></mi><mi>min</mi></mrow><mrow><mn>1</mn><mo>&le;</mo><mi>j</mi><mo>&le;</mo><mn>71210</mn></mrow></munder><msub><mi>&epsiv;</mi><mi>j</mi></msub><mo>,</mo></mrow></math>]]></maths>并将其对应的弱分类器作为h<sub>t</sub>;c.)计算参数<maths num="025"><![CDATA[ <math><mrow><msub><mi>&alpha;</mi><mi>t</mi></msub><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>ln</mi><mrow><mo>(</mo><mfrac><mrow><mn>1</mn><mo>-</mo><msub><mi>&epsiv;</mi><mi>t</mi></msub></mrow><msub><mi>&epsiv;</mi><mi>t</mi></msub></mfrac><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>d.)更新样本的权重<maths num="026"><![CDATA[ <math><mrow><msub><mi>D</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>D</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><msub><mi>&alpha;</mi><mi>t</mi></msub><msub><mi>l</mi><mi>i</mi></msub><msub><mi>h</mi><mi>t</mi></msub><mrow><mo>(</mo><msub><mi>sub</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow></mrow><msub><mi>Z</mi><mi>t</mi></msub></mfrac><mo>,</mo></mrow></math>]]></maths>其中i=1,...,n,<maths num="027"><![CDATA[ <math><mrow><msub><mi>Z</mi><mi>t</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>D</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><msub><mi>&alpha;</mi><mi>t</mi></msub><msub><mi>l</mi><mi>i</mi></msub><msub><mi>h</mi><mi>t</mi></msub><mrow><mo>(</mo><msub><mi>sub</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>步骤3.3.2.3输出最后的强分类器<img file="A2005100862490010C3.GIF" wi="742" he="204" />对于通过强分类器判断的模式,本发明采用<maths num="028"><![CDATA[ <math><mrow><mi>P</mi><mrow><mo>(</mo><mn>1</mn><mo>|</mo><mi>f</mi><mrow><mo>(</mo><mi>sub</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>=</mo><mfrac><msup><mi>e</mi><mrow><mi>f</mi><mrow><mo>(</mo><mi>sub</mi><mo>)</mo></mrow></mrow></msup><mrow><msup><mi>e</mi><mrow><mi>f</mi><mrow><mo>(</mo><mi>sub</mi><mo>)</mo></mrow></mrow></msup><mo>+</mo><msup><mi>e</mi><mrow><mo>-</mo><mi>f</mi><mrow><mo>(</mo><mi>sub</mi><mo>)</mo></mrow></mrow></msup></mrow></mfrac></mrow></math>]]></maths>得到模式属于眼睛对的后验概率即置信度,此处<maths num="029"><![CDATA[ <math><mrow><mi>f</mi><mrow><mo>(</mo><mi>sub</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><mi>T</mi></munderover><msub><mi>&alpha;</mi><mi>t</mi></msub><mrow><mo>(</mo><msub><mi>h</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>sub</mi><mo>)</mo></mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>步骤3.3.3多层强分类器的级联整个眼睛对验证器采用分层结构,多层强分类器级联的具体训练步骤如下:a)初始化i=1;定义每层强分类器的训练目标是在眼睛对训练集上FRR≤0.1%,在非眼睛对训练集上FAR≤50%;定义整个眼睛对检测器在眼睛对训练集上的目标FRR≤1%,在非眼睛对训练集上的目标FAR≤1×10<sup>-3</sup>;b)使用训练样本集采用步骤3.3.2所述的方法训练第i层强分类器;c)用训练得到的前i层分类器对样本集进行检测;d)如果FRR、FAR未达到预定值,则i←i+1,返回步骤(b)继续进行训练;否则停止训练;共训练得到9层结构从简单到复杂的强分类器;由这些强分类器级联构成一个完整的眼睛对检测器;在眼睛检测阶段,对于一张输入的人脸区域,使用以下步骤来精确定位眼睛中心位置:步骤1估计左右眼睛所在的区域Ω<sub>lefteye</sub>和Ω<sub>righteye</sub>;使用人脸图像竖直方向投影的均值、方差函数来确定Ω<sub>lefteye</sub>和Ω<sub>righteye</sub>在水平方向上的分界线,然后根据从训练样本中统计到的眼睛在人脸区域竖直方向上的分布规律,确定Ω<sub>lefteye</sub>和Ω<sub>righteye</sub>的上下边界,从而估计出Ω<sub>lefteye</sub>和Ω<sub>righteye</sub>;步骤1.1利用投影函数确定眼睛区域的左右分界线取检测到的人脸区域的上半部分,以其垂直方向灰度投影的均值函数与方差函数的比值<img file="A2005100862490011C1.GIF" wi="183" he="117" />的峰值作为左右两眼所在区域的竖直分界线,定义此位置为X<sub>peak</sub>:<maths num="030"><![CDATA[ <math><mrow><msub><mi>x</mi><mi>peak</mi></msub><mo>=</mo><munder><mrow><mi>arg</mi><mi>max</mi></mrow><mrow><mn>0</mn><mo>&le;</mo><mi>x</mi><mo>&lt;</mo><msub><mi>w</mi><mi>face</mi></msub></mrow></munder><mfrac><mrow><mi>MP</mi><msub><mi>F</mi><mi>v</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow><mrow><mi>VP</mi><msub><mi>F</mi><mi>v</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow></mfrac></mrow></math>]]></maths>步骤1.2利用样本统计信息得到眼睛区域的上下边界Ω<sub>lefteye</sub>、Ω<sub>righteye</sub>的上下边界则可以利用样本中眼睛在人脸竖直方向的分布位置统计出来;有          Ω<sub>lefteye</sub>=(x,y),0<x<x<sub>peak</sub>,0.05H<sub>face</sub><y<0.45H<sub>face</sub>          Ω<sub>righteye</sub>=(x,y)’x<sub>peak</sub><x<W<sub>face</sub>’0.05H<sub>face</sub><y<0.45H<sub>face</sub>其中H<sub>face</sub>、W<sub>face</sub>为利用样本统计得出的人脸高度和宽度步骤2利用单眼检测器检测眼睛候选在Ω<sub>lefteye</sub>、Ω<sub>righteye</sub>两个区域中分别使用单眼检测器检测给出左右眼睛20个候选位置,并估计出每个候选位置的置信度,眼睛候选的具体检测过程如下:步骤2.1输入人脸图像的积分图像的计算计算输入人脸图像I(x,y)对应的积分图像II(x,y)和平方积分图像SqrII(x,y):步骤2.2判别左右眼区域中的每一个的小窗口判别Ω<sub>lefteye</sub>、Ω<sub>righteye</sub>两个区域中的每一个的24×12像素尺寸的小窗口,对任一个小窗口[x<sub>0</sub>,y<sub>0</sub>;x<sub>0</sub>+23,y<sub>0</sub>+11]的处理步骤如下:步骤2.2.1.利用整幅图像的积分图II<sub>i</sub>(x,y)和平方积分图SqrII<sub>i</sub>(x,y)计算小窗口的均值μ和方差σ;μ=[II(x<sub>0</sub>+23,y<sub>0</sub>+11)+II(x<sub>0</sub>-1,y<sub>0</sub>-1)-II(x<sub>0</sub>-1,y<sub>0</sub>+11)-II(x<sub>0</sub>+23,y<sub>0</sub>-1)]/288σ={[SqrII(x<sub>0</sub>+23,y<sub>0</sub>+11)+SqrII(x<sub>0</sub>-1,y<sub>0</sub>-1)-SqrII(x<sub>0</sub>-1,y<sub>0</sub>+11)    -SqrII(x<sub>0</sub>+23,y<sub>0</sub>-1)]/288-μ<sup>2</sup>}<sup>1/2</sup>步骤2.2.2利用前文介绍方法快速提取该小窗口的微结构特征,并进行特征归一化处理;步骤2.2.3采用训练好的多层眼睛/非眼睛强分类器对小窗口进行判断;如果通过所有层强分类器的判断,则认为该小窗口包含一个眼睛候选,输出其位置及其置信度;否则抛弃掉该小窗口,不进行后续处理;本发明根据候选的置信度大小输出最多前20个候选位置;步骤3眼睛候选对的验证为了排除眼睛候选中的误检测和不精确的定位结果,本发明将左右眼睛候选配对,提取候选周围区域更多的特征,然后使用眼睛对分类器来验证每一对候选,最后根据后验概率从所有候选对中估计出双眼的最佳位置,具体来说对每一对眼睛候选,包括以下处理步骤:步骤3.1根据左右眼候选位置割取图像进行尺寸归一化对每一对眼睛候选,首先根据左右眼候选位置按照步骤1.1所示位置割取图像,然后进行尺寸归一化和光照归一化,得到25×15像素的眼睛候选对图像PI(x,y);步骤3.2输入图像积分图像的计算计算图像PI(x,y)对应的积分图像<maths num="031"><![CDATA[ <math><mrow><mi>PII</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mn>0</mn><mo>&le;</mo><msup><mi>x</mi><mo>&prime;</mo></msup><mo>&le;</mo><mi>x</mi></mrow></munder><munder><mi>&Sigma;</mi><mrow><mn>0</mn><mo>&le;</mo><msup><mi>y</mi><mo>&prime;</mo></msup><mo>&le;</mo><mi>y</mi></mrow></munder><mi>PI</mi><mrow><mo>(</mo><msup><mi>x</mi><mo>&prime;</mo></msup><mo>,</mo><msup><mi>y</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>步骤3.3眼睛候选对图像PI(x,y)的判断对每一眼睛候选对图像PI(x,y)的验证步骤如下:步骤3.3.1利用整幅图像的积分图提取微结构特征;步骤3.3.2采用训练好的第i层强分类器对图像进行判断;步骤3.3.3如果通过判断,则i←i+1,返回步骤3.3.2.2;否则抛弃掉该眼睛候选对;如果通过所有层强分类器的判断,则认为该候选对为有效候选对,输出其位置及其置信度;最后,对所有通过判断的候选对按照置信度从大到小排序,取置信度最大的前3对候选对的平均位置作为眼睛中心位置;输出眼睛位置。
地址 100084北京市100084-82信箱