人脸建模与动画的研究开始于20世纪70年代初,1972年,Parker使用摄影测绘技术得到人脸各种表情的多边形网格模型[18],对于不同的表情的网格模型进行几何插值来产生人脸动画,这种方法称为关键表情插值法。关键表情插值法需要建立每一种关键表情的网格模型,关键表情可能有很多种,因此使用这种方法很不方便。
1974年,Parker完成了第一个参数化的人脸模型,1982年又对参数化人脸模型进行了改进。参数化模型的基本思想是通过少量控制参数来生成各种不同模型的人脸和人脸的各种表情,这样就可以方便地建立人脸模型、产生人脸动画。理想的参数化模型只需要选择合理的参数值就能够生成任何可能的人脸和任何可能的表情,实际的参数化模型还远远不能达到这个目标。用于人脸建模与动画的参数可以分成两类,即构造参数与表情参数。这两种参数在某种程度上已有重叠的部分,但是在概念上还是有区别的。构造参数,包括下颏宽度、前额形状、鼻梁的长度和宽度、脸颊形状等,用于产生人脸的各种形状。表情参数,包括眼睑张开、眉毛拱起、下巴旋转、眼睛凝视等,用于产生人脸的各种表情。
1980年,Platt提出了第一个基于物理的肌肉控制人脸模型(Physically Base Muscle-con-trolled Facial Model)。在该模型中,人脸表面皮肤的多边形网格点之间通过模拟弹簧相互连接。这些网格点同时也与人脸模型的底层骨骼结构之间通过模拟肌肉相连。模拟肌肉具有弹性,能够产生收缩力。将肌肉力作用在弹性网格上,可以产生各种表情。使用的肌肉动作是按照Ekman和Friesen提出的面部动作编码系统(FACS)中的动作单元(AU)来设计的。
1985年,Bergeron和Lachapelle的动画影片《Tony de Peltrie》是人脸建模与动画历史上的一个里程碑,该影片是第一个采用人脸表情和语音动画讲述故事的计算机动画片。
1987年,Waters提出了一种新的肌肉模型,该模型包含两类肌肉:一类是固定在骨骼上,另一端连接在皮肤上的、可以拉伸的线性肌;另一类是绕着中心点放大或缩小的括约肌。Waters仍然采用Platt的质点弹簧模型来模拟皮肤和肌肉,但是Waters模型中的肌肉具有独立于底层骨骼结构的方向(向量)性质,这些向量使得模拟的肌肉与特定人脸的拓扑无关。每个肌肉都有一个影响区域,肌肉的影响随着骨骼上的固定点的径向距离的增加而减少,Waters模型的肌肉控制参数也是基于脸部动作编码系统来设计的。脸部运动是骨骼、肌肉、皮下组织和皮肤共同作用的结果,其运动机理非常复杂。与肌肉模型不同,伪肌肉模型不精确模拟人脸的解剖细节,而是通过少量控制参数来模拟人脸的基本动作。
1998年,Magnenat-Thalmann等提出的抽象肌肉动作模型就是一种伪肌肉模型。抽象肌肉动作与脸部动作编码系统的动作单元类似,但是不完全相同,脸部动作编码系统的动作单元可以作为构造抽象肌肉动作的指南。每一个抽象肌肉动作,都是在人脸的特定区域上,模拟一个肌肉或一组密切相关的肌肉。抽象肌肉动作模型可以在底层抽象肌肉的动作级,也可以在高层表情级,设置参数产生脸部动作,表情是通过成组抽象肌肉动作来实现的。
人脸建模与动画历史上的另一个里程碑是Pixar公司制作的短动画片《Tin Ioy》,该影片中的小男孩Billy采用了与Waters模型类似的肌肉模型来产生脸部动画和表情。Billy的脸上一共使用了43个线性肌和4个括约肌,参照脸部动作编码系统手册中的插图确定了这些肌肉的位置。下颏和眼睑的运动具有特殊性,这些区域的皮肤在运动时始终保持与下颏骨或眼球接触,表现为旋转或弧形而不是线性运动。为了模拟这种运动,又定义了一种新的肌肉类型——旋转肌,为了方便地产生各种动作和表情,开发了称为宏肌肉的高层控制。一个宏肌肉可以控制若干个底层肌肉。一共为Billy开发了33个宏肌肉。
采用上述参数化模型、肌肉模型或者伪肌肉模型,要生成高度真实感人脸动画都比较困难。为了生成一小段人脸动画,通常需要设置并协调几十个动画控制参数。通过捕获表演者的脸部运动,并将其转换为动画控制参数,可以减少设置动画控制参数的工作量,并生成高度真实感人脸动画。
1990年,Williams首先提出了表演驱动的人脸动画技术。首先通过三维激光扫描构造带有纹理图的三维人脸模型,接着在表演者脸部贴上若干特殊反光标志,拍摄并自动跟踪表演者的脸部运动,驱动人脸模型产生高度真实感人脸动画。
1992年,Kalra等提出的有理Bézier自由变形方法也是一种伪肌肉模型。在脸部肌肉的影响区域周围定义一个长方体控制框架,通过移动控制点或改变控制点的权因子可以模拟该肌肉的运动,使得对应的表面区域产生拉升、挤压、扩展、压缩等变形。有理Bézier自由变形产生的效果与自然的肌肉运动非常接近,而移动控制点或改变权因子却比设定肌肉运动要容易。(www.xing528.com)
从1993~1995年,Lee等进一步改进了基于物理肌肉模型。在原来基于物理的肌肉模型的基础上,增加了皮肤层和颅骨层,将一般人脸模型按照激光扫描数据进行变形,并增加了脖子、眼睛、眼睑、牙齿等辅助器官,综合考虑了组织弹簧力、线性肌肉力、分段线性肌肉力、体积保持力、颅骨约束力等多种力,以及节点的质量、位置、速度、加速度之间的关系,用迭代的方法求解方程。Lee的肌肉模型到目前为止是效果最好也是最复杂的肌肉模型。
1998年,Pighin等进一步改进了Parker提出的关键表情插值法。用五台照相机同时拍摄人脸不同角度的视图,在多个视图上手工标注少量的对应点,利用对应点自动恢复每个视图的照相机参数及对应点的三维位置,利用对应点的三维位置对一般人脸模型进行变形,得到特定人的三维人脸的模型,用纹理映射的方法生成更加具有真实感的人脸。对同一个人的不同表情重复上述步骤,可以得到不同表情的三维模型,对不同表情的三维模型进行几何插值,就可以得到中间表情,产生表情过渡的人脸动画。同年,Guenter等进一步改进了Wil-liams提出的表演驱动的人脸动画技术。
1999年,Noh等提出的径向基函数变形方法是一种新的伪肌肉模型[32]。Noh等将脸部变形的最小单元称为几何变形单元(Geometry Deformation Element,GDE),每个GDE包括一个控制点、控制点周围的影响区域、影响区域边缘上的定位点和径向基函数。从控制点出发,位于指定距离内的网格点都在影响区域中,受到控制点移动的影响。有边距离和欧氏距离两种距离度量方法,分别用于人脸不同部位。对于一个GDE,将控制点和定位点统称为特征点,影响区域中的所有点的位置都可以通过径向基函数(RBF)插值公式来计算,已知特征点的新旧位置,通过求解线性方程组可以求出特征点的系数,从而计算出影响区域中其余网格点的新位置。
2001年,Breton等提出了参数化模型与肌肉模型相结合的混合方法,对眼睛模型、眼睑、下颏和脖子采用参数化方法,对眉毛、前额、嘴巴、脸颊采用肌肉模型。
近年来,基于图像的建模技术由于其成本低廉、操作简单,成为一种发展较为迅速的人脸合成技术,它的主要原理是通过采集物体的二维图像数据,根据计算机图形学中相关的算法计算出物体的三维信息,并根据这些三维信息完成目标的三维重构。如2009年,Ansari等利用形变面部网格模型构造出包含纹理、轮廓、颜色、阴影、光照等信息的三维人脸模型。2011年,Li等基于自动提取的曲线和形状控制函数生成包含真实皱纹的人脸三维模型,使获得的人脸具有真实感。而随着智能手机的计算能力的不断增强,研究者们还开发了基于移动端的人脸合成应用。如2014年,Choi等开发出一个能够在手机端上运行的应用程序,它可以根据用户提供的一张照片,采用主动外观模型,自动生成一个用户自己的三维化身形象,并合成面部表情。
紧跟国际上的发展,国内也于20世纪90年代中期开展了这方面的研究。西安电子科技大学的郑飞等人(1998年)基于图像的建模与绘制技术,提出了正面头像提取轮廓线,并通过体元造型合成人脸三维模型的方法。这种方法的造型速度较传统的造型方法有较大的提高。哈尔滨工业大学的晏洁等人在人脸建模、人脸表情、唇动、纹理映射等方面做出了一些成绩。他们研究了人在发音时的唇动模型以及韵母口型库的生成技术,使每一个汉字的发音都对应着相应的口型。在人脸模型的特定化方面,提出交互式编辑算法,通过模拟人脸皮肤的黏弹特性,允许模拟者在交互方式下,将一般人脸几何模型和预先提供的特定人脸多方向图像之间进行特征校准,进而得到精确反映特定人脸正侧面几何特征的特定人脸三维模型;还提出了曲面磨光以及多方向纹理映射算法,从多个方向的特定人脸图像上选择纹理信息映射到三维模型上,以减少纹理的扭曲变形,从而使合成的结果更加真实和自然。
浙江大学的梅丽等人用半自动方法来达到特征匹配的目的,用手工编辑建立的二维对应网格,得到初始人脸外形;采用鲁棒的最大似然立体匹配算法自动匹配出稠密的对应点,重建出表示人脸的散乱三维数据点团;最后利用这些稠密的三维数据点,去迭代矫正和自适应细分手工编辑的三维初始人脸网格而得到结果模型。该算法无须昂贵的设备,又有较强的真实感效果[38]。在人脸动画方面,他们用多分辨率样条技术产生无缝的人脸纹理镶嵌图,纹理映射后生成高度真实感的、能以任意视线方向观察的特定人脸;进而,通过组合特定人脸的肌肉向量的运动、变形模型,组合出特定人脸的各种表情,该方法能在廉价的PC平台上实现,快速、简单,而且具有一定真实感[39]。
北京工业大学尹宝才等人采用自动调整与人机交互相结合的方法实现特定人脸模型匹配。在调整完模型形状之后,应用三个方向的面部图像进行纹理映射,生成不同视点方向的面部图像。应用合成面部图像与输入面部图像最佳匹配的方法进行输入面部图像的头部转动方向估计[40]。通过对面部曲面结构和面部各器官分布结构的分析,建立了面部曲面的几何模型和模拟人脸面部曲面的分片二次直积形Bezier参数曲面计算格式应用此模型和算法,依据面部表情和汉语口型特征,实现基本表情和口型的选型[41]。此外,还研究了空间网格的径向基函数(RBF)插值方法[42]。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。