改进的拉普拉斯算法在动画表情控制中的应用
2018-10-26罗江林王青青朱妹丽
罗江林 王青青 朱妹丽
摘 要:为了实时得到真实感强的动画角色表情,对均一权值进行改进,并将其应用于拉普拉斯算法表情迁移中,更加精确地保留了目标模型的局部信息,克服了传统的拉普拉斯算法在表情控制中稳定性差、实时性不强的不足,并进行了实验验证。仿真实验结果表明:改进的算法能够真实的、高效的实现表情的迁移,并且实时性到达了30fps。
关键词:拉普拉斯算法 表情迁移 表情控制 网格约束
中图分类号:TP39 文献标识码:A 文章编号:1672-3791(2018)03(c)-0021-03
在计算机技术、数字动画技术和计算机图形学发展的推动下,人脸表情动画已经向着数字化、网络化、智能化方向发展。人脸表情动画是通过一定的方法控制人脸模型发生形变,使得动画角色能够模拟真实人脸的各种表情动作,从而高效实现动画生产中角色面部动作的真实采集和制作。从目前的技术发展来看,人脸表情迁移技术已经被广泛的应用于影视特效、虚拟教学、增强现实聊天等方面。
传统的表情控制技术是在演员面部设计拓扑结构,设置标记点,使用多台摄像机对标记点进行二维数据采集,通过系统解算,实现表情的控制。这种技术造成了系统成本昂贵;每次进行数据采集时都要对演员的面部拓扑结构重新进行标记和对位,操作比较繁琐;捕捉和采集的数据要耗费大量的时间进行反向运动和深度信息解算后,才能对角色模型进行表情控制,并且不能做到实时控制。
20世纪70年代,Parke[1]将面部几何参数和表情参数结合起来实现动画角色的面部表情变化,仅仅能够模拟简单的人脸表情变化,但是真实感和实时性还是比较差。之后国内外的学者在表情控制方面进行了大量的研究,2001年,浙江大学的梅丽等人[2]通过特定人脸的肌肉向量的变化来驱动人脸三维多边形网络模型的变形,从而得到各种表情,由于此方法没有考虑皱眉等细节信息,因此,在进行表情迁移时真实感不强。2006年,Zhang Q等人[3]首先建立样本图像数据库,然后通过表情映射算法生成新的表情序列,这种方法合成的人脸表情逼真、自然,但是在训练阶段需要大量的数据,并且数据仅仅是针对特定人,移植性差。
为了解决表情样本库的约束和得到逼真的动画表情,研究人员提出了更多的解决方法。Deng Z等人[4]分析了捕获到的演员的面部数据和人脸样本之间的关系,利用径向基回归算法将演员的面熟数据映射到目标角色上,从而实现表情的合成,这种方法有效地降低了样本之间的影响。为了解决表情的真实感,Zhao 等人[5]利用Lucas-Kanade光流跟踪算法对特征点进行跟踪,得到表情变化过程中特地点的运动轨迹,这样会得到表情变化值,然后利用对偶拉普拉斯变换将此表情变化值迁移到角色模型中,从而实现表情的迁移,这种算法虽然真实感强,但是在捕获视频流时容易受到光照得外界环境的干扰。
为了解决样本量大、真实感差等问题,本文利用改进的拉普拉斯迁移算法来实现表情的控制,此方法能够补偿姿态、光照等条件的变化,并且对表情变化的细节也能很好的表达,从而增强了表情迁移的真实感.
1 基于拉普拉斯算子的表情迁移算法
拉普拉斯网格变形技术是在微分坐标基础发展起来的一种表面变形技术。此技术的特点是能够最大程度地保留网络的局部信息,具有平移不变的特性。拉普拉斯算子可以定义为:
对于给定的动画角色人脸模型MF,可以看成是网格模型中所有边E和所有顶点(n是顶点的个数)的集合,其中。将顶点vp与其邻接点的坐标的加权和的均值差定义为顶点vp的拉普拉斯坐标α(vp)[6]:
通过对拉普拉斯坐标进行处理,得到角色表情的最终变形。通常情况下,利用拉普拉斯迁移算法会涉及到3个部分的技术,即为模型的坐标转换位拉普拉斯坐标、网格变形控制以及网格重构,但是本文对拉普拉斯坐标进行隐式转换,在进行变形的同时实现了网格的重构和变形。
根据参考文献[7]可知,拉普拉斯算子L是奇异的,即为解具有非唯一性。为了得到唯一的全局最优解,需要对满秩的线性系统进行求解。
同理可得在y和z轴上的线性表示。利用最小二乘法处理式(4)中的约束点,将约束点加载在线性系统中,这种处理方式并没有对原有的线性系统进行删行处理,这样势必会造成未知数的个数小于方程的個数,造成线性系统无解,但是这是一个满秩的线性系统,因为通过最小二乘法得到其唯一解为:
由此得到了网格变形后表情的迁移数据,完成了基于拉普拉斯的算子的变形。
2 表情迁移算法的改进
传统的拉普拉斯变形技术是通过拉普拉斯坐标仅是对网格曲面法向量的近似,而本文通过顶点与相邻接顶点对拉普拉斯坐标的贡献因子w进一步精确的逼近网格曲面,更好地保留了网格的局部信息。对于w的取值,学者们也给出了不同的计算方法,如Meyer等人[7]在式(1)的基础上利用余切权值得到表情变化的计算方法,其表示如下。
通过式(7)和图1可知,的变化是随着网格的几何形状发生改变的,而是与网格的拓扑结构相关的。但是这种计算方法存在的问题是余切值会出现负值,并且当φpq或者接近180(±π)时,余切值是接近无穷大的,这样会造成系统的不稳定性。因此,本文在余切权值的理论基础上利用均值法来计算每个顶点的权重因子,如式(11)所示。
通过上述描述与分析,本文改进的拉普拉斯表情迁移算法主要包括如下几个步骤。
(1)对于给定的动画目标角色人脸模型MF,获取每个顶点的拉普拉斯坐标。
(2)在含有约束点的情况下,利用最小二乘法求解拉普拉斯算子的唯一解。
(3)通过顶点的权重因子,求出变形后顶点的位置,从而将表演者的表情迁移到动画角色上。
3 仿真结果分析
本文在实际的应用中,针对目前影视作品生产工艺中表情制作依赖Key frame和Interpolated morphing等手工技术作业方式带来的低效率、动作不自然和质量粗糙等问题,本文采用一台Kinect深度摄像头进行数据采集,对采集到的面部三维数据和标准表情数据进行模式匹配,最后通过改进的拉普拉斯算法实现表情的迁移。
算法仿真环境处理器Intel(R) Core(TM) i5-3550CPU @3.30GHz 3.30GHz,内存4GB,为了说明算法的有效性,
本文首先通过设备采集到带深度值的图形数据,然后对图像进行第一次识别,找到面部的区域。在正式识别之前,进行数据的训练,将标准的表情数据和采集到的图形数据进行一次映射,此步骤根据标准表情的数量进行迭代。训练完毕之后,通过动态的图像数据和角色表情映射数据进行比较,得到表情的权重值,利用改进的拉普拉斯算法对角色表情进行控制。其实验结果见图1、图2。
通过图2仿真结果可以看出,本文算法不需要在表演者面部粘贴任何特征点,避免了被动式数据采集方法特征点少、准备复杂等问题,迁移效果逼真,表情生成效率高,实时性达到了30fps。
4 結语
本文为了解决动画中角色表情的真实感,利用改进的拉普拉斯算法进行表情控制。在实现的过程中首先对网格中的顶点求出拉普拉斯顶点,然后通过顶点的影响权重和额外添加的约束条件来尽可能地保留网格的局部信息,以此来提高计算的稳定性和实时性。
参考文献
[1] Parke FI. Computer generated animation of faces[A].ACM Conference. ACM[C].1972:451-457.
[2] 梅丽,鲍虎军,彭群生.特定人脸的快速定制和肌肉驱动的表情动画[J].计算机辅助设计与图形学学报, 2001,13(12):1077-1082.
[3] Zhang Q,Liu Z,Guo B,et al. Geometry-Driven Photorealistic Facial Expression Synthesis[J].IEEE Trans Vis Comput Graph,2006,12(1):48-60.
[4] Deng Z,Chiang PY,Fox P,et al. Animating blendshape faces by cross-mapping motion capture data[A] Symposium on Interactive 3d Graphics[C]. 2006:43-48.
[5] Zhao H,Tai CL. Subtle Facial Animation Transfer from 2D Videos to 3D Faces with Laplacian Deformation[Z]. 2007.
[6] Sorkine O. Laplacian mesh processing. In Eurographics State-of-the-Art Report[R].2005.
[7] Meyer M,Desbrun M,Schroder P,et al. Discrete Dierential-Geome try Operators for Triangulated 2-Manifolds[J]. Visualization & Mathematics III,2002, 6(8-9):35-57.