利用AAM进行3D人脸的快速自动建模 报告人:朱 珠 2011年6月2日
参考文献 范小九,彭 强,Jim X Chen2;利用主动外观模型进行3D人脸的快速自动建模;计算机辅助设计与图形学学报;2009年第5期
目标 以实时应用和视频传输为目标,本文将人脸特征定位方法与MPEG-4兼容的CANDIDE-3线框模型相结合,完成3D个性化人脸模型的构建和表情模拟. 实验结果证明,该方法真实感较强,构造速度较快,适合于对图像质量要求不高而实时性要求较高的视频应用领域.
改进的AAM人脸特征点快速定位方法 本文从初始位置和模型实例两方面对传统AAM算法拟合过程进行改善. 首先采用Adaboost统计模型算法对图像中人脸特征(眼睛、鼻子、嘴巴等)进行预检测; 然后充分利用YCbCr色彩空间中人脸肤色特性对无法检测或检测不完全的图像进行特征提取; 最后根据特征区域计算鼻尖坐标和人脸平面偏转角及侧深度偏转角.鼻尖坐标和平面偏转角组合用于校正中心位置参数,侧深度偏转角则用于选择模型实例. 本文实验采用丹麦科技大学信息控制和数学建模(informatics and mathematical modelling,IMM)标准人脸库中后28人,共168幅静态图像构建AAM. 最终拟合结果比传统AAM算法的准确率提高约43%,时间消耗降低约62%. 4
改进的AAM人脸特征点快速定位过程及结果 5
AdaBoost算法原理 AdaBoost算法针对不同的训练集训练同一个基本分类器(弱分类器),然后把这些在不同训练集上得到的分类器集合起来,构成一个更强的最终的分类器(强分类器)。AdaBoost算法中不同的训练集是通过调整每个样本对应的权重实现的。 最开始的时候,每个样本对应的权重是相同的,在此样本分布下训练出一个基本分类器h1(x)。对于h1(x)错分的样本,则增加其对应样本的权重;而对于正确分类的样本,则降低其权重。这样可以使得错分的样本突出出来,并得到一个新的样本分布。 同时,根据错分的情况赋予h1(x)一个权重,表示该基本分类器的重要程度,错分得越少权重越大。在新的样本分布下,再次对基本分类器进行训练,得到基本分类器h2(x)及其权重。 依次类推,经过T次这样的循环,就得到了T个基本分类器,以及T个对应的权重。最后把这T个基本分类器按一定权重累加起来,就得到了最终所期望的强分类器。 6
1) 初始化m个样本的权值,假设样本分布Dt为均 匀分布:Dt(i)=1/m,Dt(i)表示在第t轮迭代中赋给样本(xi,yi)的权值。 AdaBoost算法的具体描述如下: 假定X表示样本空间,Y表示样本类别标识集合,假设是二值分类问题,这里限定Y={-1,+1}。令S={(Xi,yi)|i=1,2,…,m}为样本训练集,其中Xi∈X,yi∈Y。 1) 初始化m个样本的权值,假设样本分布Dt为均 匀分布:Dt(i)=1/m,Dt(i)表示在第t轮迭代中赋给样本(xi,yi)的权值。 2) 令T表示迭代的次数。 7
3) For t=1 to T do 根据样本分布Dt,通过对训练集S进行抽样(有回放)产生训练集St。 在训练集St上训练分类器ht。 用分类器ht对原训练集S中的所有样本分类。 得到本轮的分类器ht:X →Y,并且有误差εt=Pri-Di[ht(xi) ≠yi]。 令αt=(1/2)ln[(1-εt)/ εt]。 更新每个样本的权值 其中,Zt是一个正规因子,用来确保ΣiDt+1(i)=1。 end for 8
4)最终的预测输出为: 4)最终的预测输出为: 9
3D位置恢复和形状匹配
3D位置恢复 3D位置恢复主要讨论图中Roll,Yaw和Pitch3个旋转参数的快速计算问题 11
点从左到右分别为P,Q,R和S,左右嘴角点分别为M和N,相应坐标分别为(Px,Py),(Qx,Qy),(Rx,Ry),(Sx,Sy),(Mx,My)和(Nx,Ny), 则θRoll-Eye_Out=arctan((Sy-Py)/(Sx-Px)),从而θRoll= (θRoll-Eye_Out+θRoll-Eye_In+θRoll-Mouth)/3 (1) 12
如图所示为Yaw旋转前后的人脸及鼻子处示意图,定义鼻下点为O、中线与眼角连线交点为K以及中线与嘴角连线交点为L 如图所示为Yaw旋转前后的人脸及鼻子处示意图,定义鼻下点为O、中线与眼角连线交点为K以及中线与嘴角连线交点为L.旋转使原本对称的鼻下点和左右内外眼角点及嘴角点夹角值发生了明显变化,本文取两者之差的平均值θYaw-Eye_In,θYaw-Eye_Out和θYaw-Mouth参与Yaw旋转恢复参数θYaw的计算,即 13
同理,θYaw-Eye_In=(|∠ROK-∠QOK|)/2, θYaw-Mouth=(|∠NOL-∠MOL|)/2. θYaw-Eye_Out= (|∠SOK-∠POK |)/2 =(|arctan((Ox-Px)/(Py-Oy)) - arctan((Sx-Ox)/(Py-Oy)) |)/2; 同理,θYaw-Eye_In=(|∠ROK-∠QOK|)/2, θYaw-Mouth=(|∠NOL-∠MOL|)/2. 14
同时,鼻子部分因脸部Yaw旋转也产生一定的侧深度角度θYaw-Nose,表现在水平切面图上则是经过鼻下点的垂直直线和原始中轴线之间产生距离d 同时,鼻子部分因脸部Yaw旋转也产生一定的侧深度角度θYaw-Nose,表现在水平切面图上则是经过鼻下点的垂直直线和原始中轴线之间产生距离d.设水平切面图为近似圆形,r为半径(r值取鼻子处人脸轮廓宽度的一半,即r=s/2),则 θYaw-Nose=arcsin(2×(d/s)), θYaw= (θYaw-Eye_Out+θYaw-Eye_In+ θYaw-Mouth+θYaw-Nose)/4 (2)
如图所示为Pitch旋转前后及旋转后水平切面图和侧视图变化情况. Pitch旋转前A,O和Q3个点处在同一条直线上.旋转后鼻下点O则因投影位置具有一定深度而不再与AQ处于同一直线,且形成水平切面角度β,并对应侧视图中角度β1.另外,侧视图椭圆中左外眼角P和左嘴角M及AQ中心T形成三角形,设s为鼻子处人脸轮廓宽度,S为△PMT的面积, , 和 分别为三角形3条边的边长,Tx,Ty,Px,Py,Mx和My分别为对应点的横纵坐标 16
于是Pitch旋转恢复参数 θPitch= (|β1-β2|)/2 (3) 17
β1+β2=arcsin((2×S)/(PT×MT)); PT = (Tx-Px)2+(Ty-Py)2, 其中 β1=arcsin(2×(c/s)), β1+β2=arcsin((2×S)/(PT×MT)); PT = (Tx-Px)2+(Ty-Py)2, S =((PT+MT+PM)/2×(MT+PM-PT)/2×(PT+MT-PM)/2×(PT+PM-MT)/2)1/2; MT和PM与PT计算方法相同. 根据式(1)~(3)得到的3D位置恢复参数即可 18
3D形状匹配 3D形状匹配主要考虑通过整体轮廓的全局调整和感兴趣区域的局部调整,实现输入的人脸图像和3D线框模型在形状上的对应.本文依据仿射变换计算全局的缩放和平移参数.
假设图像左右内眉角的特征点分别为P1和Q1,下巴处为N1,鼻下点为O1,通过O1点作P1Q1的垂线和P1Q1相交,交点M1为眉心点,两外眼角分别为A1和B1,两鬓角分别为C1和D1,
同时,设模型相应的特征点分别为P2,Q2,O2,M2,A2,B2,C2和D2 同时,设模型相应的特征点分别为P2,Q2,O2,M2,A2,B2,C2和D2.利用两眼角和鬓角距离比值可得Pitch方向仿射变换系数ηPitch1和ηPitch2;利用眉心和鼻下点以及下巴和鼻下点距离比值可得Yaw方向仿射变换系数ηYaw1和ηYaw2.为减小误差,取两者平均值作为各自方向的缩放参数,并将Pitch和Yaw方向缩放系数的平均值作为Roll方向缩放系数,即
ηPitch= (ηPitch1+ηPitch2)/2, ηYaw= (ηYaw1+ηYaw2)/2, ηRoll= (ηPitch+ηYaw)/2. 另外,将眉心点、鼻下点和嘴巴中心点作为参考点加以变换,取平均值作为全局平移系数.
实验结果
谢谢!