一种人脸特征点自动定位方法

文档序号:6555255阅读:261来源:国知局
专利名称:一种人脸特征点自动定位方法
技术领域
本发明属机器视觉和图像处理技术领域,具体涉及一种正面和侧面人脸图像中的特征点自动定位方法。
背景技术
精确的、快速的人脸特征点定位在人脸识别、3D人脸图像的重建等方面有着非常广泛的运用。人脸特征点技术一般都与人脸检测技术相结合,从而缩小对特征点找寻的区域,成为一个实用的系统。
在人脸检测方面,比较著名的是Paul Viola和Michael Jones于2001年提出的基于Adaboost的人脸检测算法[1],该方法是统计学习的一种改进,它通过组合大量简单分类器来达到人脸检测。由于其中的每个简单分类器使用了计算速度非常快的特征,因此从根本上解决的检测的速度问题。精确的、快速的人脸特征点定位在人脸识别、3D人脸图像的重建等方面有着非常广泛的运用。早期的特征点定位是基于人脸的几何特征和先验知识,如双眼的对称性、眼珠是黑色等,但这种方法的鲁棒性很差,对光照的影响敏感。1995年Cootes等人利用人脸特征点之间位置相关性很强的特点提出了著名的活动形状模型(ASM)[2],它是一个以统计方式对特征点组的坐标位置建立的可变形状模型,从而可搜索到人脸的整体形状,但因在纹理上只利用了特征点附近的灰度值,因此对初值和背景很敏感,为了克服其不足提出了很多改进的算法。比较著名的有贝叶斯形状模型方法[3],它结合整体形状模型和局部器官形状模型来优化一个联合后验概率分布函数;还有贝叶斯正切形状模型的方法[4],它则在形状模型的正切空间通过EM算法来计算最大后验概率估计。但它们不能根本上克服ASM方法固有的缺点。2001年Cootes等人在原ASM的基础上提出了形状和纹理结合的活动外表模型(AAM)[5],获得了比ASM更优的结果。但因考虑到形状和纹理的两部分可变形参数,它的计算复杂性大,容易陷入局部最小。文献[6]采用了先ASM然后再AAM的搜索方法来提取特征点,分成两步之后也无法完全解决两种算法的不足。2004年Simon Baker等人提出了实时的活动外表模型算法(Realtime-AAM)[7][8],它在纹理基的补空间上先优化形状参数,然后直接计算纹理。改进的优化算法基本解决了AAM算法的速度问题,但仍然不能完全解决局部最小的问题,并且,由于优化是建立在与平均纹理误差的基础上,而人脸面颊部分的纹理比较平坦,传统的AAM算法和实时AAM算法在提取下巴上的特征点时都很容易陷入局部最小。
本发明与上述方法相比,主要特点有(1)在实时AAM的代价函数中加入与图像的边缘有关的项,将得到的新的代价函数作为对下巴轮廓特征点做进一步搜索的目标,搜索算法采用遗传算法。(2)对不同角度的人脸分别建立模型,从而使人脸在一定角度范围内的图像都可以处理。(3)结合图像边缘和人脸肤色信息,对优化后的特征点进一步作精确的搜索,从而得到更优的结果。
下面介绍与本发明相关的一些概念1、形状和纹理模型假设Ω是具有N幅人脸图片的训练集,可以表示为Ω={St,At}t=1N,]]>其中St表示第t个人脸上v个特征点坐标矢量St=(x1t,...,xv,ty1t,...,yvt),]]>St∈R2v,它是用手工获取的,通过主分量分析(PCA)的方法对形状建模可以得到,St=S0+Σi=1mpitSi---(1)]]>其中S0表示平均形状矢量,ξ=[S1,S2,...,Sm]为形状的PCA基。假设形状矢量St所围成的区域用Ut来表示,At是由区域Ut内的所有点变形到平均形状所围成的区域U0上所得到的纹理图像,变形的算法可以采用分段仿射变换等方法完成,同样对于纹理At有,At=A0+Σi=1nqitAi---(2)]]>A0是平均形状下的平均纹理图像,如图2所示;Ai是纹理的PCA的基,式(1)和(2)中的pit和qit分别是第t个人脸图像的形状和纹理系数,可以写成矢量pt=(p1t,p2t,...,pmt)T∈Rm,qt=(q1t,q2t,...,qnt)T∈Rn。在下面为了简化起见,我们把系数肩上的t省去。
2、实时活动外表模型算法(Realtime-AAM)对于一张真实输入的照片I(x),要最小化下列与形状和纹理系数p,q有关的目标函数使得它们重建出来的人脸图片与实际图片之间的误差最小,E=Σx∈U0{A0(x)+Σi=1nqiAi(x)-I(W(x|p))}2;---(3)]]>式(3)中括号内的前两项是纹理在参数q下的重建结果,同样给定形状参数矢量p后,通过式(1)可以重建出形状S,它所围成的区域为U,那么W(x|p)表示U0上的所有点分段仿射变换到U后的坐标。通过Project-Out的方法可以先在纹理基的正交补空间上迭代形状参数,因补空间的基和纹理基正交,此时,式(3)括弧中的第二项为零,这样代价函数可以简化成,E=Σx∈U0{A0(x)-I(W(x|p))}2Ai⊥;---(4)]]>这儿Ai⊥为纹理基的补空间,实时AAM算法的迭代步骤可以总结为①对于输入图像I和初始的形状参数p,计算变形到平均形状下的纹理I(W(x|p));②计算差值图像I(W(x|p))-A0(x),并乘上预先算好的参数 ③计算形状参数的增量Δp,满足Δp=H-1Σx∈U0[▿A0∂W∂p|p=0]T[I(W(x|p))A0(x)],]]>其中H=[▿A0∂W∂p|p=0]T[▿A0∂W∂p|p=0];---(5)]]>④根据第r次迭代时的Wr(x|p)和Δp,采用文献[6]中的Lucas-Kanade算法计算下一次迭代的Wt+1(x|p),r=r+1;⑤重复①直到满足收敛条件或者达到最大迭代次数。
如果考虑形状的全局平移、旋转和缩放变化,可以在形状基中添加代表这些变化的正交基,然后用类似的方法优化得到对应的全局变化参数。
3、线性判别分析(LDA)LDA算法是对不同类的高维样本(假设为d维,d>>1)的一种常用的有教师的线性降维方法,它寻找一个低维的线性子空间,以使得不同类的样本在该子空间上投影的类内样本分布更紧密、类间样本散布得更分散,以便于识别和分类。以人脸图像为例,具体做法如下首先我们将N个的两维人脸图像按照行序或者列序排列成列向量的形式xi∈Rd,i=1,2,...N,这样一幅图像对应了高维空间中的一个样本。我们假设这些样本共分为c类,每类有Ni个样本,则有
构成LDA子空间的基WLDA=argmaxw|WTSbW||WTSwW|=w1w2···wm,]]>可由以下广义特征分解得到Sbwi=λiSwwi参考文献[1].P.Viola,M.Jones.Robust real time object detection.8th IEEE InternationalConference on Computer Vision (ICCV),2001,Vancouver,British Columbia. .Cootes T,Taylor C,Cooper D,et al.Active shape models-their training andapplication[J].Computer vision and image understanding,1995,61(1)38-59. .Zhong X,Stan Z,Toeh E K.Bayesian shape model for facial feature extractionand recognition[J].Pattern recognition,2003,23(12)2819-2833. .Zhou Y,Gu L,Zhang H J.Bayesian tangent shape modelestimating shape andpose parameters via Bayesian inference[C].IEEE conference on computervision and pattern recognition,2003. .Cootes T,Edwards G,Taylor C.Active appearance models[J].IEEE TransPattern Analysis and Machine Intelligence,2001,23(6)681-685. .Shan S,Gao W,Zhao D,et al.Enhanced active shape models with globaltexture constraints for image analysis[EB/OL].
http//www.jdl.ac.cn/user/sgshan/pub/Shan-ISMIS-2003.pdf,2004-06-1/2005-04-23. .Matthews I,Baker S.Active appearance models revisited [J].Int’l J.ComputerVision,2004,60(2). .Baker S,Matthews I,Schneider J.Automatic construction of active appearancemodels as an image coding problem[J].IEEE Trans Pattern Analysis andMachine Intelligence,2004,26(10)1380-1384.

发明内容
本发明的目的在于提出一种数字图像中人脸特征点自动定位方法。该方法对正面和侧面人脸均能处理,其中侧面人脸的偏转角度要求在45度以内。
本发明提出的对数字图像中人脸特征点自动定位方法包括离线训练部分和在线计算部分。其中离线部分通过手工标注好特征点的训练图片来建立形状和纹理的统计模型;在线计算部分包括人脸自动检测、姿态识别、通过模型优化算法对基于活动模型的特征点定位以及基于边缘和肤色的校准处理几个步骤(各步骤均由相应模块构成)。图1显示了系统流程图。下面具体介绍相应的步骤和详细算法。
1、建立形状和纹理模型本模块是离线训练部分,要求一定数量的统一大小的人脸图像,并且手工标定好预先定义的特征点坐标,例如图2(a)。
在形状上对于每幅图片上的v个特征点坐标排列为形状矢量,S=(x1,...,xv,y1,...,yv),St∈R2v,对不同的人脸进行归一化处理以去除全局仿射变换的影响,从而不同的形状矢量仅体现不同人脸内在的形状差异。归一化步骤如下(a)对所有形状矢量去除均值,转移到质心坐标系下。
(b)选择一个样本作为初始的平均形状,并校准尺度使得|S|=1。
(c)将初始估计的平均形状记为 并定义为参考帧。
(d)将所有训练样本形状通过仿射变换校准到当前平均形状上。
(e)对校准后的所有样本重新计算平均形状。
(f)将当前的平均形状校准到 上,并且使得|S|=1。
(g)如果平均形状的改变仍然大于给定的阈值,回到(d)。对于归一化后的形状矢量,可以通过式(1)的PCA方法建立统计形状模型。
在建立纹理模型前,要求每幅图片的纹理矢量具有相同的长度,将所有图像中人脸区域内的纹理都采用变形算法校准到由平均形状所围成的人脸区域内,从而将不同人之间形状和纹理的差异分离开。图像变形算法可以采用分段仿射变换的方法,其中网格的划分如图2(b)所示。最后得到的平均纹理,例如图2(c)所示。同样,通过式(2)可以建立统计纹理模型。
2、人脸检测和姿态识别人脸检测模块采用了比较成熟的Adaboost方法[1],标识出包含人脸的图像子区域;姿态识别模块采用了LDA的特征抽取方法。
对于姿态识别,是将同一姿态的人脸图像构成一类,按(6)(7)式分别计算类内散布矩阵Sw和类间散布矩阵Sb,并得到姿态识别LDA基。将各样本投影到这些基上得到了各样本降维后的特征。求取同一类样本的均值,作为该姿态人脸图像的特征。测试时,对于人脸区域进行姿态识别,即将其投影到LDA姿态识别基上,得到了降维后的特征,然后与已有的姿态特征进行比较,用最近邻判决法进行分类,得到该人脸图像的姿态。
3、模型优化算法首先采用实时AAM算法对代价函数式(4)进行优化,由于算法在纹理的补空间上先优化形状可以简化计算提高收敛的速度和精度,但是所有输入图片都是与平均理匹配的,因此特征点定位不够准确,特别是对于训练集以外的测试人脸,下巴轮廓线一般都很难收敛。接下来在AAM的代价函数式(4)中引入一项代表特征点处的边缘信息,然后用遗传算法来优化新的代价函数。
对边缘图像的提取采用了9×9的Laplace高通滤波核KLaplace。
Iedge(x)=I(x)*KLaplace. (8)对于经过(8)式滤波后图像Iedge还需要归一化到
之间实数。此时,代价函数可以表示为,ψ=Σx∈U0{A0-I(W(x|p))}2+αΣi∈L(1-Iedge(i));---(9)]]>其中在参数p下的形状S可以由(1)式算出,L表示S中下巴上的l个特征点坐标集合,α是一个常系数。当式(9)代价函数达到最小时,说明求出的输入人脸的特征点所围成的区域的纹理与平均纹理的距离最小,而且这些特征点是落在人脸图像的边缘上。
假设输入图像I(x)上粗搜索得到的下巴特征点序列ρ={x1,...xl,y1,...yl},(xi,yi)为特征点的坐标,那么取这一序列为染色体,长度为2l。初始染色体群体是通过在特征点处的法线方向上每隔单位长度取一个点来得到,染色体群体数目与在法线方向上搜索的最大范围[-Pmax,Pmax]相关,如图3所示的下巴的上下边界之间的区域内随机选取染色体。
根据(9)式可以计算出每条染色体对应的代价函数值ψ={ψ1,ψ2,...,ψη},其中η表示群体中染色体的总数。在下一代生成时适应度的计算采用了rank-scale的方法,首先对染色体群体的代价函数值进行升序排列,那么排在第j位的染色体的适应度为,φj=η×1jΣt=lη1/i---(10)]]>十分明显,代价函数值越小,适应度φj就越大。根据群体中每条染色体的适应度,以轮盘赌的方法选取η条父代染色体作交叉运算,其中适应度佳的染色体被选中的概率也大,并且可能被多次选中。
假设选中的一对父代染色体ρa={xa1,...xal|ya1,...yal},ρb={xb1,...xbl|yb1,...ybl},作交叉时采用单点分段交叉的方法,将x和y坐标分成两段染色体,对于每段染色体随机选取1个交叉点,然后作交叉算子产生下一代染色体。变异时对于以一定概率选中的染色体(一般概率比较小),加上一个随机[-2,2]像素之间的扰动,用来避免陷入局部最小的情况。
对于遗传下来的子代染色体要通过所建立的形状模型加以约束,可以平滑轮廓曲线并且消除个别奇异点。假设第k条染色体对应的整体形状Sk,由于PCA建模得到的形状基ξ=[S1,S2,...,Sm]是一组正交向量组,因此根据式(1)形状Sk对应的系数Pk很容易求得,Pd=ξT(Sk-S0). (11)对于系数矢量Pik需要加以约束,其每个系数必须取在 之间,其中λi是做形状PCA时第i个特征向量对应的特征值。然后通过(1)式可求出加完约束后的新的染色群体,进入下一步的迭代。
4、基于边缘和肤色的校准处理对于经过上面优化算法得到的特征点位置,可以再通过Canny算子抽取到的二值化图像边缘或者人脸的肤色信息作进一步的校准,特别是对于下巴轮廓上的特征点,它们和背景相区分一般都有比较明显的边缘或者位于肤色区间的分界线上,因此用上述方法可以方便快捷的得到精确的特征点位置。图4为Canny算子提取边缘的结果。对于肤色空间的检测,首先将彩色图像从RGB空间转换到YCrCb空间,一般用色度值来限定肤色区域,通过实验我们选择归一化后的色度满足Cb∈
,Cr∈
的像素为肤色区间,如图5所示。
但是无论是通过边缘还是肤色,都会存在一些干扰的点,影响最后的结果。因此在每一步搜索完成后通过形状模型加以约束,以消除个别奇异点。具体搜索步骤如下(h)首先通过姿态识别后,如果是正面人脸,在人脸检测区域内通过canny算子得到二值化的边缘图像;如果是侧面人脸,在人脸检测区域内通过肤色检测方法得到二值化图像。例如图1中的系统框架图所示。
(i)计算需要做校准处理的下巴轮廓线上各点的法线方向。
(j)在法线方向上一定范围内寻找最临界的边缘点或者二值化图像的分界点。
(k)通过式(11)利用建立好的形状模型对搜索到的新特征点位置做约束。
(l)如果特征点收敛,即迭代前后特征点的改变量小于某一阈值,退出循环;否则回到(b)本发明的优点
本发明结合了人脸检测、姿态识别、特征点定位等算法,使得本算法对于不同角度的二维人脸照片都可以快速准确的定位出大量显著特征点的位置。人脸检测模块缩小了特征点的候选区域,姿态识别的引入使得不同角度的人脸可以通过不同角度的模型加以约束和优化。而在优化的方法上,本发明采用了实时AAM和遗传算法相结合的方法,克服了实时AAM的误差函数只是与平均纹理差值的结果,导致提取的特征点不够精确容易陷入局部最小的问题。最后还通过canny算子提取边缘和肤色空间分割的方法来对部分处于明显图像边缘或者肤色区间边缘上的特征点作精确校正。实验表明本方法对人脸特征点的精确定位十分有效,并且时间开销也在允许的范围内。


图1人脸特征点定位系统框架。
图2形状和纹理模型,其中(a)手工标定60个特征点,(b)平均形状的网格,(c)平均形状下的平均纹理。
图3下巴轮廓搜索的区域。
图4(a)原始正面图像。
图4(b)二值化边缘图像。
图5(a)原始侧面图像。
图5(b)二值化的肤色区域。
图6实时AAM方法和本文方法的部分搜索结果图6(a)模型初始位置。
图6(b)实时AAM方法搜索结果。
图6(c)本文方法搜索结果。
图7复杂背景下本文方法的搜索结果。
具体实施例方式
一、建立形状和纹理模型1、形状模型将每幅图片上的v个特征点坐标排列为形状矢量,S=(x1,...,xv,y1,...,yv)′,St∈R2v。然后用下面方法对N幅图像的形状矢量进行规一化处理(a)对所有形状矢量去除均值,转移到质心坐标系下。
(b)选择一个样本作为初始的平均形状,并校准尺度使得|S|=1。
(c)将初始估计的平均形状记为 并定义为参考帧。
(d)将所有训练样本形状通过仿射变换校准到当前平均形状上。
(e)对校准后的所有样本重新计算平均形状。
(f)将当前的平均形状校准到 上,并且使得|S|=1。
(g)如果平均形状的改变仍然大于给定的阈值,回到(d)。
通过式(1)的PCA方法建立统计形状模型St=S0+Σi=1mpitSi---(1)]]>其中S0表示平均形状矢量,ξ=[S1,S2,...,Sm]为形状的PCA基。
2、纹理模型(a)将所有图像中人脸区域内的纹理都采用变形算法校准到由平均形状S0所围成的人脸区域U0内。
(b)将不同人在区域U0内的纹理展成矢量形式At。
(c)通过式(2)建立统计纹理模型。
At=A0+Σi=1nqitAi---(2)]]>A0是平均形状下的平均纹理图像,如图2所示;Ai是纹理的PCA的基,式(1)和(2)中的pit和qit分别是第t个人脸图像的形状和纹理系数,可以写成矢量pt=(p1t,p2t,...,pmt)T∈Rm,qt=(q1t,q2t,...,qnt)T∈Rn。
二、人脸检测和姿态识别1、采用比较成熟的Adaboost方法,标识出包含人脸的图像子区域;2、将检测出来的人脸区域内的纹理展成一列矢量,将其投影到LDA姿态识别基上,得到了降维后的特征;3、对降维后的特征,与训练好的姿态特征进行比较,用最近邻判决法进行分类,得到该人脸图像的姿态。
三、模型优化算法采用两阶段优化的方法1、实时AAM优化算法(a)对于输入图像I和初始的形状参数p,计算变形到平均形状下的纹理I(W(x|p));
(b)计算差值图像I(W(x|p))-A0(x),并乘上预先算好的参数 (c)计算形状参数的增量Δp,满足Δp=H-1Σx∈U0[▿A0∂W∂p|p=0]T[I(W(x|p))A0(x)],]]>其中H=[▿A0∂W∂p|p=0]T[▿A0∂W∂p|p=0];---(5)]]>(d)根据第r次迭代时的Wr(x|p)和Δp,采用文献[6]中的Lucas-Kanade算法计算下一次迭代的Wr+1(x|p),r=r+1;(e)重复(a)直到满足收敛条件或者达到最大迭代次数。
2、遗传算法(a)假设输入图像I(x)上粗搜索得到的下巴特征点序列ρ={x1,...xl,y1,...yl},(xi,yi)为特征点的坐标,那么取这一序列为染色体,长度为2l。
(b)初始染色体群体是通过在特征点处的法线方向上每隔单位长度取一个点来得到,染色体群体数目与在法线方向上搜索的最大范围[-Pmax,Pmax]相关,如图3所示的下巴的上下边界之间的区域内随机选取染色体。
(c)根据(9)式可以计算出每条染色体对应的代价函数值ψ={ψ1,ψ2,...,ψη},其中η表示群体中染色体的总数。
ψ=Σx∈U0{A0-I(W(x|p))}2αΣi∈L(1-Iedge(i));---(9)]]>其中在参数p下的形状S可以由(1)式算出,L表示S中下巴上的l个特征点坐标集合,α是一个常系数。对边缘图像Iedge的提取采用了9×9的Laplace高通滤波核KLaplace。
Iedge(x)=I(x)*KLaplace. (8)对于经过(8)式滤波后图像Iedge还需要归一化到
之间实数。
(d)在下一代生成时适应度的计算采用了rank-scale的方法,首先对染色体群体的代价函数值进行升序排列,那么排在第j位的染色体的适应度为,φj=η×1jΣi=1η1/i.---(10)]]>(e)根据群体中每条染色体的适应度,以轮盘赌的方法选取η条父代染色体作交叉运算,其中适应度佳的染色体被选中的概率也大,并且可能被多次选中。
(f)任意选中的一对父代染色体ρa={xa1,...xal|ya1,...yal},ρb={xb1,...xbl|yb1,...ybl},作交叉时采用单点分段交叉的方法,将x和y坐标分成两段染色体,对于每段染色体随机选取1个交叉点,然后作交叉算子产生下一代染色体。
(g)变异算子,对于以一定概率选中的染色体(一般概率比较小),加上一个随机[-2,2]像素之间的扰动。
(h)如果新的染色体群体的代价函数值进化前后保持稳定,或达到最大的遗传次数,则退出循环;否则回到(c)进行下一次的遗传。
四、校准处理1、首先通过姿态识别后的结果进行判断。如果是正面人脸,在人脸检测区域内通过canny算子得到二值化的边缘图像;如果是侧面人脸,在人脸检测区域内通过肤色检测方法得到二值化图像。例如图1中的系统框架图所示。
2、计算需要做校准处理的下巴轮廓线上各点的法线方向。
3、在法线方向上一定范围内寻找最临界的边缘点或者二值化图像的分界点。
4、通过式(11)利用建立好的形状模型对搜索到的新特征点位置做约束。
Pk=ξT(Sk-S0). (11)对于系数矢量Pik加以约束,其每个系数必须取在 之间,其中λi是做形状PCA时第i个特征向量对应的特征值。
5、如果特征点收敛,即迭代前后特征点的改变量小于某一阈值,退出循环;否则回到2。
本发明采用实际拍摄的照片来测试算法的有效性,其中训练集包含120张正面脸和120张右侧30度的图片,用来分别建立正面和侧面的形状和纹理模型,测试集包含100张正面脸和侧面图片。所有图片都手工标定了60个特征点,特征点的定义如图1(a)所示。对测试图片,算法收敛得到的特征点与手工标定的特征点的平均距离作为搜索精度的判别标准,err=1vΣi=1v||Ci-C~i||;---(12)]]>其中Ci和 分别为收敛得到的和手工标定的第i个特征点,v=60。
1.训练阶段A)LDA姿态识别基将姿态分为-30°、0°和30°三个区间,每类姿态各用200幅Adaboost方法检测出的人脸子图像作为样本训练LDA姿态识别基。Adaboost的输出为128×128的彩色人脸子图像,为了进一步减少背景对姿态识别的影响,在进行训练前,需要对人脸检测输出的人脸子图像进行灰度化和切割,使之成为100×100的灰度图像。最终得到2个10000维的LDA姿态识别基。再将所有的灰度图像投影到这组基上,并对降维后的特征求均值,得到了每类姿态的特征。
B)形状和纹理模型的建立对于训练集中的正面和侧面各120张图片,以及手工标定的特征点,建立形状和纹理模型。
2.测试阶段(a)对于输入的人脸图像,利用Adaboost方法进行人脸检测,标识出128×128的人脸子区域。
(b)将其投影到LDA姿态识别基上,并与已有的姿态特征作比较,用最近邻判别法进行分类,得到人脸姿态。
(c)根据不同的姿态采用不同的模型,如-30°则将图片左右翻转然后用右侧30°模型来处理。
(d)通过实时AAM算法做第一步优化。
(e)对加入边缘信息后的代价函数,采用遗传算法优化。遗传算法中初始染色体数目为31,交叉概率为0.8,变异概率为0.005,迭代次数为10次。
(f)如果是正面照片,则采用canny算子提取边缘,然后对下巴特征点进行校准;如果是侧面照片,则采用人脸肤色检测方法对下巴特征点进行校准;表1列出了在训练集和测试集上的平均搜索结果,在实时AAM方法的基础上特征点的搜索精度平均提高1个像素左右。在计算时间上,本方法在P43.6G机器上搜索一幅图片耗时2~4s,也在能够容忍的范围内。图6中列出了一些测试的例子,第一列显示的是初始放置的位置,中间是实时AAM方法搜索的结果,可以看出大部分情况下巴轮廓线都没法收敛到,最后一列是本方法得到的结果,都能收敛到较好的位置。图7是在一般背景下的比较结果。
表1不同方法匹配结果的误差(以像素为单位)

权利要求
1.一种对数字图像中人脸特征点自动定位方法,包括离线训练和在线计算两个部分,其特征在于其中离线部分通过手工标注好特征点的训练图片来建立形状和纹理的统计模型;在线计算部分包括人脸自动检测、姿态识别、通过模型优化算法对基于活动模型的特征点定位以及基于边缘和肤色的校准处理几个步骤。
2.根据权利要求1所述的自动定位方法,其特征在于所述建立形状和纹理统计步骤如下(1)形状模型将每幅图片上的v个特征点坐标排列为形状矢量,S=(x1,...,xv,y1,...,yv)′,St∈R2v,然后对N幅图像的形状矢量进行规一化处理(a)对所有形状矢量去除均值,转移到质心坐标系下;(b)选择一个样本作为初始的平均形状,并校准尺度使得|S|=1;(c)将初始估计的平均形状记为 并定义为参考帧;(d)将所有训练样本形状通过仿射变换校准到当前平均形状上;(e)对校准后的所有样本重新计算平均形状;(f)将当前的平均形状校准到 上,并且使得|S|=1;(g)如果平均形状的改变仍然大于给定的阈值,回到(d);然后,通过式下(1)的PCA方法建立统计形状模型St=S0+Σi=1mpitSi...(1)]]>其中S0表示平均形状矢量,ξ=[S1,S2,...,Sm]为形状的PCA基;(2)、纹理模型(a)将所有图像中人脸区域内的纹理都采用变形算法校准到由平均形状S0所围成的人脸区域U0内;(b)将不同人在区域U0内的纹理展成矢量形式At;(c)通过式下(2)建立统计纹理模型At=A0+Σi=1nqitAi...(2)]]>A0是平均形状下的平均纹理图像,At是纹理的PCA的基,式(1)和(2)中的pit和qit分别是第t个人脸图像的形状和纹理系数,写成矢量pt=(p1t,p2t,...,pmt)T∈Rm,qt=(q1t,q2t,...,qnt)T∈Rn。
3.根据权利要求1所述的自动定位方法,其特征在于所述人脸检测和姿态识别的步骤如下(1)采用成熟的Adaboost方法,标识出包含人脸的图像子区域;(2)将检测出来的人脸区域内的纹理展成一列矢量,将其投影到LDA姿态识别基上,得到了降维后的特征;(3)对降维后的特征,与训练好的姿态特征进行比较,用最近邻判决法进行分类,得到该人脸图像的姿态。
4.根据权利要求1所述的自动定位方法,其特征在于所述模型优化算法的步骤如下(1)实时AAM优化算法(a)对于输入图像I和初始的形状参数p,计算变形到平均形状下的纹理I(W(x|p));(b)计算差值图像I(W(x|p))-A0(x),并乘上预先算好的参数[▿A0∂W∂p|p=0]T;]]>(c)计算形状参数的增量Δp,满足Δp=H-1Σx∈U0[▿A0∂W∂p|p=0]T[I(W(x|p))-A0(x)],]]>其中H=[▿A0∂W∂p|p=0]T[▿A0∂W∂p|p=0];...(5)]]>(d)根据第r次迭代时的Wr(x|p)和Δp,采用Lucas-Kanade算法计算下一次迭代的Wr+1(x|p),r=r+1;(e)重复(a),直到满足收敛条件或者达到最大迭代次数;(2)遗传算法(a)假设输入图像I(x)上粗搜索得到的下巴特征点序列ρ={x1,...xl,y1,...yl),(xi,yi)为特征点的坐标,那么取这一序列为染色体,长度为2l;(b)初始染色体群体是通过在特征点处的法线方向上每隔单位长度取一个点来得到,染色体群体数目与在法线方向上搜索的最大范围[-Pmax,Pmax]相关,在下巴的上下边界之间的区域内随机选取染色体;(c)根据(9)式计算出每条染色体对应的代价函数值ψ={ψ1,ψ2,...,ψη},其中η表示群体中染色体的总数ψ=Σx∈U0{A0-I(W(x|p))}2+αΣi∈L(1-Iedge(i));...(9)]]>α是一个常系数;对边缘图像Iedge的提取采用了9×9的Laplace高通滤波核KLaplaceIedge(x)=I(x)*KLaplace. (8)对于经过(8)式滤波后图像Iedge归一化到
之间实数;(d)在下一代生成时适应度的计算采用了rank-scale的方法,首先对染色体群体的代价函数值进行升序排列,排在第j位的染色体的适应度为,φj=η×1jΣi=1η1/i....(10)]]>(e)根据群体中每条染色体的适应度,以轮盘赌的方法选取η条父代染色体作交叉运算;(f)任意选中的一对父代染色体ρa={xa1,...xal|ya1,...yal},ρb={xb1,...xbl|yb1,...ybl},采用单点分段交叉的方法,将x和y坐标分成两段染色体,对于每段染色体随机选取1个交叉点,然后作交叉算子产生下一代染色体;(g)变异算子,对于以一定概率选中的染色体,加上一个随机[-2,2]像素之间的扰动;(h)如果新的染色体群体的代价函数值进化前后保持稳定,或达到最大的遗传次数,则退出循环;否则回到(c)进行下一次的遗传。
5.根据权利要求1所述的自动定位方法,其特征在于所述标准处理的步骤如下(1)首先通过姿态识别后的结果进行判断如果是正面人脸,在人脸检测区域内通过canny算子得到二值化的边缘图像;如果是侧面人脸,在人脸检测区域内通过肤色检测方法得到二值化图像;(2)计算需要做校准处理的下巴轮廓线上各点的法线方向;(3)在法线方向上一定范围内寻找最临界的边缘点或者二值化图像的分界点(4)通过下式(11)利用建立好的形状模型对搜索到的新特征点位置做约束Pk=ξT(Sk-S0).(11)对于系数矢量Pik加以约束,其每个系数必须取在 之间,其中λi是做形状PCA时第i个特征向量对应的特征值;(5)如果特征点收敛,退出循环;否则回到(2)。
全文摘要
本发明是一种快速的人脸特征点定位方法,对于一张任意输入的人脸正面或侧面(偏转角度在45度以内)数字图像,本算法能快速有效地定位出面部的大量显著特征点的位置。并且本算法的框架可以扩展运用到其他物体的特征点定位上。本方法综合利用了人脸的形状和纹理信息,在训练过程中只需要一定数量手工标定特征点的人脸图像,然后分别建立可变的形状和纹理模型,对于任意输入的人脸图片,首先要通过人脸检测的方法来初始化模型的参数,然后采用实时AAM和遗传算法来优化形状系数,最后再通过边缘检测以及肤色区间检测的方法来对部分特征点进一步微调就可达到准确的特征点定位的目的。
文档编号G06K9/46GK1811793SQ20061002430
公开日2006年8月2日 申请日期2006年3月2日 优先权日2006年3月2日
发明者刘成明, 张立明 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1