发明名称 一种基于ASM算法的人脸特征定位方法
摘要 一种基于ASM算法的人脸特征定位方法,属于图像处理技术领域,主要涉及生物特征鉴别中的人脸识别技术。本发明首先对一组人脸样本图片进行手工标定提取特征点,然后采用Procrustes Analysis算法对样本集进行配准,得到平均人脸模型;然后采用对三种分辨率下的图片进行轮廓搜索的策略,建立统计灰度搜索模型;最后对统计灰度搜索模型和待定位人脸图像Y<sub>s</sub>的局部灰度模型采取匹配运算,对待定位人脸图像Y<sub>s</sub>进行循环迭代式搜索定位。本发明采用ASM算法和Procrustes分析方法相结合的方法,可以有效地提高人脸定位速度和精度,具有很强的通用性。
申请公布号 CN101593272A 申请公布日期 2009.12.02
申请号 CN200910059648.5 申请日期 2009.06.18
申请人 电子科技大学 发明人 解梅;徐华
分类号 G06K9/00(2006.01)I;G06K9/36(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 电子科技大学专利中心 代理人 葛启函
主权项 1、一种基于ASM算法的人脸特征定位方法,包含下列步骤:步骤1.选取人脸库中的M张图片作为样本集并对其进行特征点的标定;对人脸库中的每张样本图片的主要器官的轮廓进行n个特征点的手工标定,则一张样本图片由n个特征点的坐标值X=(x<sub>1</sub>,...,x<sub>n</sub>,y<sub>1</sub>,...,y<sub>n</sub>)<sup>T</sup>表示;M张图片的样本集表示成XA=(X<sub>1</sub>,X<sub>2</sub>,...,X<sub>M</sub>);步骤2.采用Procrustes Analysis算法对样本集XA进行配准,具体包括;步骤2-1.选取样本集XA中的第k列向量X<sub>k</sub>为基准,计算第k列向量X<sub>k</sub>和第m列向量X<sub>m</sub>的平均值c<sub>k</sub>和c<sub>m</sub>,其中1≤k≤M,m≠k且1≤m≤M;步骤2-2.计算矩阵B=(X<sub>m</sub>-I·c<sub>m</sub>)(X<sub>k</sub>-I·c<sub>k</sub>)<sup>T</sup>,其中I为一个和X具有相同维数的单位向量;并对矩阵B进行奇异值分解,得到B=USV<sup>T</sup>,其中U为2n阶正交矩阵,V为2n阶正交矩阵,S是矩阵B的奇异值;步骤2-3.构造旋转矩阵R=UV<sup>T</sup>,位移矩阵T=I·c<sub>k</sub>-R·c<sub>m</sub>;步骤2-4.X<sub>m</sub>经过以X<sub>k</sub>为基准进行配准后,得到的向量Y<sub>m</sub>=R·X<sub>m</sub>+T;步骤2-5.对XA中的每一列不同于X<sub>k</sub>的向量做步骤2-2至步骤2-4的变换,得到与XA同样大小的新的样本集YA=(Y<sub>1</sub>,Y<sub>2</sub>,...,Y<sub>M</sub>),其中Y<sub>k</sub>=X<sub>k</sub>;步骤3.计算平均人脸模型<img file="A2009100596480002C4.GIF" wi="40" he="60" />,<maths num="0001"><![CDATA[<math><mrow><mover><mi>Y</mi><mo>&OverBar;</mo></mover><mo>=</mo><mfrac><mn>1</mn><mi>M</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msub><mi>Y</mi><mi>i</mi></msub><mo>;</mo></mrow></math>]]></maths>步骤4.采用对三种分辨率下的图片进行轮廓搜索的策略,建立统计灰度搜索模型(图3所示),具体方法如下:针对人脸库中的每张样本图片的每一个特征点,以该特征点的坐标为中心,取其法线方向两侧各w个像素点的灰度值按顺序组成向量g=(g<sub>1</sub>,g<sub>2</sub>,...,g<sub>(2w+1)</sub>)<sup>T</sup>;然后求出向量g=(g<sub>1</sub>,g<sub>2</sub>,...,g<sub>(2w+1)</sub>)<sup>T</sup>的一阶差分向量g′=(g<sub>2</sub>-g<sub>1</sub>,g<sub>3</sub>-g<sub>2</sub>,...,g<sub>(2w+1)</sub>-g<sub>2w</sub>);其次构建该特征点的灰度搜索模型<maths num="0002"><![CDATA[<math><mrow><msup><mi>g</mi><mo>*</mo></msup><mo>=</mo><msup><mi>g</mi><mo>&prime;</mo></msup><mo>/</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mn>2</mn><mi>w</mi></mrow></munderover><mo>|</mo><msub><mi>g</mi><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></msub><mo>-</mo><msub><mi>g</mi><mi>i</mi></msub><mo>|</mo><mo>;</mo></mrow></math>]]></maths>接着构建该人脸样本图片的搜索模型G<sup>*</sup>=(g<sup>*</sup><sub>1</sub>,g<sup>*</sup><sub>2</sub>,...,g<sup>*</sup><sub>n</sub>);最后构建人脸库中整个人脸样本图片集的统计灰度搜索模型<maths num="0003"><![CDATA[<math><mrow><msup><mover><mi>Y</mi><mo>&OverBar;</mo></mover><mo>*</mo></msup><mo>=</mo><mfrac><mn>1</mn><mi>M</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msub><msup><mi>G</mi><mo>*</mo></msup><mi>i</mi></msub><mo>;</mo></mrow></math>]]></maths>步骤5.对待定位人脸图像Y<sub>s</sub>进行搜索定位,包括以下具体步骤;步骤5-1.搜索的初始位置为<img file="A2009100596480003C3.GIF" wi="395" he="80" />,其中<img file="A2009100596480003C4.GIF" wi="218" he="65" />为待定位人脸图像Y<sub>s</sub>的人脸模型,其中P=(p<sub>1</sub>,p<sub>2</sub>,...,p<sub>t</sub>),b=(λ<sub>1</sub> λ<sub>2</sub>...λ<sub>t</sub>),b由协方差矩阵<maths num="0004"><![CDATA[<math><mrow><mi>E</mi><mo>=</mo><mfrac><mn>1</mn><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mrow><mo>(</mo><msub><mi>Y</mi><mi>j</mi></msub><mo>-</mo><mover><mi>Y</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><msup><mrow><mo>(</mo><msub><mi>Y</mi><mi>j</mi></msub><mo>-</mo><mover><mi>Y</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mi>T</mi></msup></mrow></math>]]></maths>的t个最大的特征值从大到小的顺序排列而成,P由b中特征值对应的正交特征向量构成,t的取值为不等式<maths num="0005"><![CDATA[<math><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>t</mi></munderover><msub><mi>&lambda;</mi><mi>i</mi></msub><mo>&GreaterEqual;</mo><mi>&alpha;</mi><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mn>2</mn><mi>n</mi></mrow></munderover><msub><mi>&lambda;</mi><mi>i</mi></msub></mrow></math>]]></maths>确定的最小值,权值系数α通常取0.98或0.95,b向量初始元素值为0;步骤5-2.根据待定位人脸图像Y<sub>s</sub>的人脸模型<img file="A2009100596480003C4.GIF" wi="218" he="65" />在待定位人脸图像Y<sub>s</sub>中提取n个特征点,为每个特征点坐标为中心,取其法线方向两侧各l个像素点的灰度值,根据步骤4的方法计算得到本次搜索的局部灰度模型<img file="A2009100596480003C5.GIF" wi="42" he="67" />,其中l>w;步骤5-3.匹配统计灰度搜索模型<img file="A2009100596480003C6.GIF" wi="47" he="64" />和局部灰度模型<img file="A2009100596480003C5.GIF" wi="42" he="67" />以确定n个特征点的移动方向dY,移动方向dY确定后,姿态参数控制的等式(y+dY)=M(1+ds,dθ)[y]+dT成立;步骤5-4.位置参数dy由等式M(s(1+ds),θ+dθ)[Y+dy]+T+dT=y+dY确定,等式变换得到dy=M((s(1+ds))<sup>-1</sup>,-(θ+dθ))[M(s,θ)[Y]+dY-dT]-y;步骤5-5.<img file="A2009100596480003C7.GIF" wi="439" he="62" />成立,更新形状参数db=P<sup>-1</sup>·dy;步骤5-6.循环5-1到5-5,直至本次循环与上次循环结果的n个特征点的坐标值之和的差异值占本次循环结果的比例小于阈值Tg时,搜索完成,定位结束,得到待定位人脸图像Y<sub>s</sub>的人脸模型<img file="A2009100596480003C4.GIF" wi="218" he="65" />。
地址 611731四川省成都市高新区(西区)西源大道2006号