人脸表情动画是三维虚拟现实的重要研究内容,在智能虚拟人中有着重要的应用。而作为人类心灵窗户的眼睛,能充分反映人的喜、怒、哀、乐等各种内心活动,直接影响着人脸表情合成的效果,因此一直是三维人脸表情动画的研究热点[1],也是一个具备挑战性的研究课题。
自从Parke首次用计算机建立虚拟人脸动画以来[2],研究人员对人脸眼部模型进行了大量研究,取得了一系列的成果。Li等提出了一种基于特征点的人脸动画实现方法,该方法可以在没有复杂人工参与的情况下实现较好的面部动画[3]。Yang等提出了一种基于GPU的3D变形目标方法,可以实现实时的人脸表情动画,得到的眼部表情较为真实[4]。Wei等将上下眼睑边缘近似为2条特定的曲线,通过几何建模的方法实现了眼部动画[5]。Deng等采用数据驱动纹理合成的方法,实现了逼真的眼部运动[6]。Zhang等采用网格模型,利用修改特征点位移来控制面部区域的运动[7]。Patel使用单张正面人脸照片进行人脸模型重建、表情合成、得到表情动画,该方法不需要人工交互,可以实现自动化[8]。曾丹等根据解剖学原理,采用多达8条肌肉去控制人眼内部和外部网格点运动,获得了较好效果[9]。而文献[10, 11]提出采用肌肉模型和空间机构学相结合的方法实现眼睛的运动,特别是首次采用空间杆机构实现眼睛的开合,更符合眼部开合运动的物理特性。文献[12]提出了一种情感人眼运动标记语言(EEMML),获得了不错的效果。文献[13]对眼睛的运动,尤其是当人哭泣时眼部的运动做了详细的研究。基于语音驱动的方法,文献[14]给出了一种完全自动的生成人眼凝视、眼皮运动的实现方法。结合基于图像和基于几何模型的方法,文献[15]提出了一种基于统计学习的面部动画实现方法,能较好的实现眼睛闭合、挑眉等眼部动画。
传统方法主要采用肌肉模型或参数模型来实现眼部运动,控制参数的调整比较复杂,难以体现眼部运动的自然性和逼真性。文献[10, 11]采用了空间机构学来控制眼皮的运动,通过构建杆机构模型,较为贴切地描述了眼睛的张合运动,但是其控制参数单一,并且将眼部运动看作是完全刚性的运动。而事实上人眼部运动是一个复杂的柔性变形,因此本文在文献[10, 11]的基础上,拟引入柔性空间机构学的理论[16],在刚性空间机构思想的基础上,加入柔性变形,同时融合传统的肌肉模型,提出了一种新颖的人眼动画实现方法,在考虑机构的柔性变形的基础上,以期能够更好地描述眼睛运动的自然规律,获得更逼真的眼部表情动画。
1 眼睛结构和动画简介由于人脸结构的复杂性,人的眼部运动和表情是和眉毛、额头、鼻子等的运动紧密相关的。人眼部运动由眼球转动以及眼睑开闭等运动组成,同时受到眉毛、额头、鼻子等部位以及周围皮肤的共同影响。
根据解剖学知识可知,人眼外部肌肉主要包括额肌、皱眉肌、鼻根肌、上睑提肌、眼轮匝肌等肌肉,如图 1所示,这些肌肉共同作用引起眼外部皮肤的变形;而人眼内部,即眼球的运动,主要受上直肌、下直肌、内直肌、外直肌、上斜肌、下斜肌共6条肌肉的控制,如图 2所示,这些肌肉控制着眼球的上下、左右、内外的旋转运动。
人眼动画的模拟主要通过操作眼部的三维网格模型实现。人眼的三维网格模型可以分为边界点集和非边界点集两部分。边界点集主要指上眼睑边缘处的边界网格点,如图 3所示;非边界点集则是指眼周除边界点集外的其他网格点。
根据空间机构学原理,空间机构能够描述任意的复杂运动,本文采用柔性空间机构模型来控制眼部边界点的运动(即眨眼及周边相关运动),从而实现眼睛的闭合与睁开时任意速度等复杂的运动;对于非边界点集和眼球的运动,采用传统肌肉模型进行控制。对于肌肉模型和柔性空间机构模型交界处的皮肤变形,采用文献[11]的径向基插值方法进行平滑处理,这样便可以实现逼真的眼部动画。
2 空间机构模型图 4为文献[11]采用的实现眼睛张合和眨眼动作的空间机构模型,O′M为该机构的曲柄,通过O′M带动连杆OM的运动。该机构以OM的旋转角速度为控制参数,并假定眼皮上任意一点N位于连杆OM上,通过计算OM转过的角度θ得到眼皮边界点在任意时刻的位置,从而实现对眼皮运动的控制。
可以看出,该机构模型实现简单,控制参数较少,但是仅仅模拟了眼皮的刚性的张和运动,不能实现对眼皮的灵活控制。由于眼部结构的复杂性和肌肉自身的柔性特性,人眼部的运动既有刚性运动也有柔性变形,要想体现眼部的柔性变形、实现眼部的灵活控制,单纯的空间机构模型有一定的局限性,因此柔性空间机构和更多控制参数的机构被期望用来实现更好的眼部运动控制。
3 柔性空间机构模型 3.1 柔性杆的定义柔性杆是一个带有柔性片段的刚性杆或者整个杆都为柔性的,它可以描述物体的柔性变形特性。
刚性杆可以实现物体的刚性运动,但是对于需要表现物体变形和柔性特性的运动来说,刚性杆有一定的局限性,而柔性杆由于自身的特性,可以较好地体现此类运动的变形和柔性特性。
图 5为一个柔性杆和刚性杆运动的比较。OA表示一个刚性杆,图中实线表示其运动轨迹,OA′表示它的一个运动状态;OB表示一个带有柔性片段(短臂柔铰)的柔性杆件,图中虚线表示其运动轨迹,OB′表示它的一个运动状态。OA和OB在初始时处于同一位置。从图中可以看出,相比与刚性杆而言,柔性杆件能体现物体的柔性特性和变形,具有较好的优越性。
图 6给出了本文所用的短臂柔铰示意图,在运动过程中其变形方程为
式中,δx和δy分别为x和y方向上的变形,因此柔性段的长度可以表示为
3.2 面向眼部动画的柔性空间机构模型由于人的眼球近似为球体,因此眼皮边界的运动轨迹可以等效成一段圆弧;又由于真实人的眼皮运动是一个变角速度的运动,同时眼部运动本身属于一个复杂的柔性变形过程,因此根据柔性空间机构学原理,本文采用一个柔性空间四杆机构来模拟眼睑边界点的运动和非线性变形。模拟眼皮运动的柔性机构如图 7,为了方便对图 7的模型进行求解,根据文献[16]得到其等效的伪刚体模型如图 8所示。
图 7的空间机构模型由机架、曲柄、连杆、摇杆四部分组成。机架4是机构中的固定部分;曲柄由刚性杆1和短臂柔铰1组成,为机构中的原动件;刚性杆2为连杆;摇杆由刚性杆3和短臂柔铰2组成,为机构中的从动件。曲柄和连杆、连杆和摇杆分别通过连接点A、B相连接。根据柔性四杆机构的理论知识,当满足四杆中最短杆长度与最长杆长度之和小于等于其余两杆长度和的时候,曲柄能够作整周的回转运动,并通过连杆带动摇杆做往复摆动。
根据眼部运动的实际情况,将眼皮边界处任意一点看作是位于摇杆上的某点,根据需要设定曲柄的旋转角速度为控制参数,根据机架、曲柄、连杆、摇杆之间的位置关系和初始安装位置,以及输入的曲柄的旋转角速度参数,可以得到该点在任意时刻的空间位置或转过的角度,从而驱动眼皮区域网格点的运动,实现眼睛的张合运动。
在图 8的模型中,O点模拟眼球中心点,并以O为坐标原点建立相应的复数向量坐标系;短臂柔铰1和短臂柔铰2的长度分别为l1、l2,根据柔性机构学原理,可将其分别用一个扭转弹簧表示,在运动过程中其长度l′1、l′2可按公式(3)计算;刚性杆1的长度为L1;OO′,即机架4的长度为L4;AB,即连杆2的长度为L2,与OO′的夹角为θ2;刚性杆3的长度为L3。因此,O′A的长度为L3+l′1,在初始位置时与OO′的夹角为θ1;OB的长度为L3+l′2,与OO′的夹角为θ4,与实轴的夹角为θ3。O′A绕O′点以角速度ω1做圆周运动,通过AB的连接,带动OB以ω3作绕O点旋转的圆周运动。假设眼皮边缘上的任一控制点C位于OB上某固定点处,就可以通过该柔性机构模型模拟边界控制点的运动轨迹。通过调整机构位置、改变输入参数就可以实现灵活的眼部运动,2个短臂柔铰用来体现眼睛的柔性运动,此处假设2个短臂柔铰的长度l1=l2。通过数学模型对其进行分析:
柔性空间机构的矢量封闭方程为:
展开后,得
令
可得
求解,并取θ3为锐角,可得到
式中:θ1=ω1t,从而得到控制点的旋转角度
在(4)式中,θ4=ω3×t。将(4)式两边对时间t求导数,运用上边的分析方法,可得
从而得到控制点的运动速度。
由以上分析可知,通过改变角速度ω1和各个杆的长度,就可以实现对眼睛闭合程度和速度的控制,从而实现眼部不同状态下的运动情况。
以上方法采用柔性空间机构来模拟眼皮边缘的运动情况,不仅可以用同一个数学模型实现连续时间情况下眼睛闭合和张开这样相反的运动,同时运用四杆机构,可以通过预先改变四杆机构的位置和杆的长度实现更加灵活的眼部运动控制。同文献[11]所述的方法相比,采用柔性机构能描述眼部刚性运动时附加的复杂柔性变形,能更好地模拟真实的眼皮运动,体现了眼皮运动的柔性特性和非线性变形,描述更多的眼部运动细节。而且该机构的数学模型简单,物理意义明确,能达到较好的效果。
4 肌肉控制模型肌肉模型是指根据肌肉的物理特性,对面部的各个区域进行收缩和扩张控制,从而生成逼真的人脸动画表情。Waters的研究将肌肉模型分为线性肌和括约肌[17],文献[9]对Waters的肌肉模型进行了改进,将线性肌细分为窄线性肌和宽线性肌。
人眼部的运动是受多条肌肉共同控制的,其中人眼的外部受额肌、皱眉肌、鼻根肌、上睑提肌、眼轮匝肌共5条肌肉的控制;人眼的内部运动,主要是眼球的运动,受上直肌、下直肌、内直肌、外直肌、上斜肌、下斜肌共6条肌肉的控制。根据文献[9]的肌肉模型,可将这些肌肉分成3类,采用不同的肌肉模型分别进行控制:皱眉肌、鼻根肌采用窄线性肌模型;眼轮匝肌采用括约肌模型;额肌、上睑提肌采用宽线性肌;并将人眼分为外部模型和内部模型分别进行控制。
对于人眼外部模型的非边界点集中的任意一点,如果给定肌肉的变化量Δl,那么在外部模型的5条肌肉的共同控制下,可以得到该点的运动位置点 ,其中, 为初始时该点位置, 为单条肌肉的改变位移,δj为相应的单条肌肉的影响因子。这样,在多条肌肉的控制下即可实现外部非边界点的运动。
内部模型的6条肌肉,直肌控制眼球的上下左右转动,斜肌控制眼球的内外旋转,从而实现眼球的运动。对于右眼,首先建立右眼坐标系:以右眼眼球中心O为坐标原点,取眼球球心向外方向为 方向,右眼向前正视方向为Z方向,Y方向为过眼球中心且垂直于XOZ平面向上的方向,可以得到6条肌肉的旋转轴单位矢量 。取每条肌肉的影响因子为δi,每条肌肉的收缩量为Δli,那么在6条肌肉的共同影响下,可得到眼球的旋转矢量为 ,从而可将眼球的运动看作绕X、Y、Z轴的旋转运动,实现对眼球运动的控制。
5 实验和仿真 5.1 实验框架为了验证上述方法的有效性,在PC机上进行了模拟,操作系统为WindowsXP,编程软件为VS2005。实验采用三维人头脸网格模型作为几何模型,而眼部动画模型采用柔性空间机构模型和肌肉模型相结合的方法来实现。
实验中,先从一组录制的视频表情动画中提取眼部运动的特征点参数,采用特征点参数得到运动模型的驱动参数,然后通过空间机构模型和肌肉模型驱动给定的人眼动画模型,驱动人眼网格点的运动,对模拟的三维人眼动画和原始视频进行主观比较,验证眼睛表情动画的逼真性。
5.2 人脸几何模型本实验采用的人脸网格模型中,整体头部共有20 103个网格点,左眼4 873个网格点,右眼4 895个网格点。在导出的眼部整体模型上,眼球的几何模型独立生成。实验中通过MeshView软件读取整体人脸模型中网格点标号信息,根据MPEG-4标准选择眼部区域的特征点作为控制点,带动非特征点的运动,在左右上眼皮边缘处共选取36个控制点,实现对眼皮的运动控制。
5.3 肌肉参数和柔性机构参数的确定为了模拟特定的眼部表情,首先选取某种表情的某一视频流,然后针对不同的模型选取不同的方法进行控制。
肌肉模型:首先在额肌、皱眉肌等肌肉处选择特征点并标定。在视频流中对选择的经过标定的各肌肉相对应的特征点进行数据跟踪,得到选定的5条肌肉的运动规律。然后将跟踪得到的数据结果进行规律曲线拟合,得到各种表情下运动曲线方程的系数。根据曲线信息设置和调节肌肉参数,依据曲线方程来驱动网格点的运动,从而得到眼部动画。
柔性空间机构模型:在给出的表情视频流中,观察某一特定表情下眼睛闭合与睁开的起止时间和次数。根据观察的结果,得到特定表情时眼睛的张合速度以及在该表情下,不同时刻眼睛张开的角度。然后根据文中所述的柔性空间机构模型,设置眼睛张合速度和张开角度参数,并调节各个杆件的长度来控制眼皮边界点,逼近眼睛张合的实际情况,从而得到较为真实的眼睛闭合与睁开运动。
以悲伤时眼部动画为例:首先选择悲伤时的视频流,跟踪视频流中眼部标定的5条肌肉对应的特征点的运动,将得到的运动数据记录并进行曲线拟合,得到悲伤时曲线方程的系数。以此为依据来设置和调整肌肉参数,用曲线方程系数来驱动网格点的运动。对于眼睛的张合运动,首先观察悲伤时视频流中眼睛闭合与睁开的起止时间和次数,由此可以得到在悲伤时眼睛的张合速度以及在不同时刻时眼睛张开的角度。根据得到的数据,设置眼睛张合速度和张开角度参数,并调节各个杆件的长度来控制眼皮边界点的运动,逼近眼睛张合的实际情况。对于眼睛闭合对眼皮皮肤变形的影响,使用文献[11]的径向基插值方法进行平滑处理,由此可以得到更加逼真、自然的悲伤时眼部表情动画。
5.4 仿真结果下面给出了一些实验结果。图 9为采用柔性空间机构得到眼部动画,图 10和图 11分别为采用肌肉模型和空间机构模型得到的人在大笑和悲伤时的眼部表情动画。
在图 9中,图 9a)描述了眼睛由自然睁开开始逐渐闭合直到完全闭合的过程,图 9b)描述了相反的过程,图 9c)为大笑时眼部的运动情况,眼睛由自然睁开到大笑时眼睛有较大的睁开,眉毛有一定的弯曲,图 9d)为人在悲伤时的眼部运动状态,眼睛由自然睁开,在悲伤的过程中眼皮慢慢向下运动,眉毛弯曲,到最后闭合。 在图 10中,在大笑时上眼睑几乎没有明显的改变并且在悲伤时眼睛的内眼角的变形也不合理。在图 11中,在大笑时上眼睑有一定的运动,但是不够明显;在悲伤时眼睑运动较好,但是眼角处的肌肉运动不够自然。
5.5 评 价主观评价:和以往的方法相比,柔性空间机构模型能获得更加自然的眼部张合运动:在大笑时,通过观察上眼睑覆盖眼球的程度可以看出,柔性空间机构模型可以实现更加明显的上眼睑的运动;在悲伤时,柔性空间机构模型的使用消除了内眼角的不合理变形,使得眼部动画更加逼真、自然。 客观评价:图 12给出了MPEG-4定义的人右眼特征点。我们选取3.2和3.4之间的垂直距离作为评价参数。首先对距离进行归一化。与图 9~图 11所示结果对应的数据如表 1所示。
图片序列 | 垂直归一化距离 | |||
原始视频 | 0.501 7 | 0.257 7 | 0.099 2 | 0 |
图 9a) | 0.502 1 | 0.259 6 | 0.100 4 | 0 |
原始视频 | 0 | 0.127 3 | 0.416 6 | 0.490 1 |
图 9b) | 0 | 0.126 4 | 0.420 4 | 0.499 7 |
原始视频 | 0.501 3 | 0.530 1 | 0.660 4 | 0.758 2 |
图 9c) | 0.500 9 | 0.523 7 | 0.669 2 | 0.760 3 |
原始视频 | 0.510 2 | 0.320 6 | 0.095 8 | 0 |
图 9d) | 0.501 4 | 0.327 1 | 0.097 3 | 0 |
原始视频 | 0.501 3 | 0.5301 | 0.660 4 | 0.758 2 |
图 10a) | 0.500 2 | 0.501 | 20.509 7 | 0.504 4 |
原始视频 | 0.500 9 | 0.382 9 | 0.3759 | 0.370 1 |
图 10b) | 0.499 6 | 0.397 4 | 0.382 7 | 0.396 2 |
原始视频 | 0.501 3 | 0.530 1 | 0.660 4 | 0.758 2 |
图 11a) | 0.500 8 | 0.517 2 | 0.523 9 | 0.559 5 |
原始视频 | 0.510 2 | 0.320 6 | 0.095 8 | 0 |
图 11b) | 0.501 4 | 0.330 7 | 0.009 2 | 0 |
从表中可以看出,柔性空间机构模型更加贴近原始视频数据,有较好的优越性。
6 结 论本文把柔性空间机构学引入人眼表情动画,提出了一种融合柔性机构学和肌肉模型的人眼动画模型。该方法依据肌肉模型的原理,结合眼部运动的特性,采用柔性空间机构模型控制眼皮边界点的运动,对于非边界点和额肌、皱眉肌等采用肌肉模型进行控制。仿真和实验结果表明:该方法能更好的描述眼部运动的自然规律,体现眼部的刚性运动和柔性变形,从而能获得更自然的眼睛的张开和闭合、以及各种逼真的眼部表情动画。
[1] | Li L, Liu Y, Zhang H. A survey of computer facial animation techniques[C] //Proceedings of 2012 International Conference on Computer Science and Electronics Engineering, Hangzhou, 2012:434-438 |
Click to display the text | |
[2] | Parke F I. Computer generated animation of faces[C] //Proceedings of the ACM Annual Conference, New York, 1972:451-457 |
Click to display the text | |
[3] | Li B, Zhang Q, Zhou D, et al. Facial Animation Based on Feature Points[J]. Telkomnika Indonesian Journal of Electrical Engineering, 2013, 11(3):1697-1706 |
Click to display the text | |
[4] | Yang M, Wang K, Zhang L. Realistic Real-Time Facial Expressions Animation via 3D Morphing Target[J]. Journal of Software, 2013, 8(2):418-425 |
Click to display the text | |
[5] | Wei X, Zhu Z, Yin L, et al. A Real Time Face Tracking and Animation System[C] //Proceedings of the 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops, Washington,2004:71-79 |
Click to display the text | |
[6] | Deng Z, Lewis J P, Neumann U. Automated Eye Motion Using Texture synthesis[J]. IEEE Computer Graphics and Applications, 2005, 25(2):24-30 |
Click to display the text | |
[7] | Zhang Q, Liu Z, Quo G, et al. Geometry-Driven Photorealistic Facial Expression Synthesis[J]. IEEE Trans on Visualization and Computer Graphics, 2006, 12(1):48-60 |
Click to display the text | |
[8] | Patel N, Zaveri M. 3D Facial Model Reconstruction, Expressions Synthesis and Animation Using Single Frontal Face Image[J]. Signal, Image and Video Processing, 2013, 7(5):889-897 |
Click to display the text | |
[9] | 曾丹,程义民,葛仕明,等.人眼3D肌肉控制模型[J].计算机辅助设计与图形学学报, 2006, 18(11):1710-1716 Zeng D, Cheng Y M, Ge S M, et al. 3D Muscle-Controlled Eye Model[J]. Journal of Computer-Aided Design & Computer Graphics, 2006, 18(11):1710-1716(in Chinese) |
Cited By in Cnki (13) | Click to display the text | |
[10] | 张抗,樊养余,吕国云,等.基于机构学和肌肉模型的单视频驱动人脸情感表达仿真[J].中国图象图形学报, 2011, 16(3):449-453 Zhang K, Fan Y Y, Lü G Y, et al. Drive Facial Animation by Using Single Video Based on the Mechanism Theory and Muscle Model[J]. Journal of Image and Graphics, 2011, 16(3):449-453(in Chinese) |
Cited By in Cnki (4) | Click to display the text | |
[11] | Huang Q, Fan Y, Lei T. A Novel Approach of Eye Movement and Expression[J]. Proceedings of 2010 2nd International Conference on Future Computer and Communication, 2010 |
Click to display the text | |
[12] | Li Z, Mao X. EEMML:the Emotional Eye Movement Animation Toolkit[J]. Multimedia Tools and Applications, 2012, 60(1):181-201 |
Click to display the text | |
[13] | Prasetyahadi M C, Ali I R, Basori A H, et al. Eye, Lip And Crying Expression for Virtual Human[J]. International Journal of Interactive Digitl Media, 2013, 1(2):22-26 |
Click to display the text | |
[14] | Le B H, Ma X, Deng Z. Live Speech Driven Head-and-Eye Motion Generators[J]. IEEE Trans on Visualization and Computer Graphics, 2012, 18(11):1902-1914 |
Click to display the text | |
[15] | Xu S, Ma G, Meng W, et al. Statistical Learning Based Facial Animation[J]. Journal of Zhejiang University Science C, 2013, 14(7):542-550 |
Click to display the text | |
[16] | 李姣,李瑞琴.平面柔顺机构伪刚体模型的动力学分析[J].建设机械技术与管理, 2013(12):127-130 Li J, Li R Q. Kinetic Analysis of the Pseudo-Rigid-Body Model of the Planar Compliant Mechanism[J]. Construction Machinery Technology and Management, 2013(12):127-130(in Chinese) |
Cited By in Cnki (1) | |
[17] | Waters K. A Muscle Model for Animation Three-Dimensional Facial Expression[J]. ACM Siggraph Computer Graphics, 1987, 21(4):17-24 |
Click to display the text |