APP下载

基于动态模板库的表情动画生成方法

2018-12-21罗江林朱妹丽王青青

中国新技术新产品 2018年20期

罗江林 朱妹丽 王青青

摘 要:表情动画在数字文化产业中具有非常的应用价值,为了实现表情动画的制作,本文提出了一种基于动态模板库的表情动画生成方法,该方法采用组件式,分别构建人脸素材库、基于情感的动态表情库,合成表情动画。与传统表情生成方法相比,该方法生成的表情更加自然美观,并且扩展性好。

关键词:九型人格;情緒状态;表情控制

中图分类号:TP391 文献标志码:A

0 引言

随着数字时代的到来,文化娱乐内容越来越丰富多样,游戏、动画、漫画等成为带动国家经济发展的重要增长点。人物表情动画因较强的娱乐性而被喜爱。面部表情作为一个重要研究领域,拥有广泛的应用价值,例如在游戏制作、影视动画、虚拟化身、人机交互中都有广泛的应用,甚至在各种社交、聊天、互动游戏等场合也看到表情动画的使用。

目前表情动画生成主要包括基于几何学、基于图像、以及基于数据驱动三大类方法。

(1)基于几何学的方法

基于几何学的方法通常是利用几何多边形来表示并处理三维模型,主要有参数化方法、关键帧插值法、基于肌肉的方法、基于变形的方法等。插值方法具有算法复杂度低,效率高的优点,但无法生成关键帧范围之外的其他动作,基于肌肉的方法虽然生成的表情比较逼真形象,但计算量较大,效率低。

(2)基于图像的方法

基于图像的方法是通过多张二维图像间的转换,主要有表情编码技术、Morphing方法等。

(3)基于数据驱动的方法

基于数据驱动的方法是在指捕捉表演者的脸部运动数据映射到虚拟角色上,进而得到表情动画,目前表演者驱动方法主要有基于特殊设备的面部捕捉技术、基于单目视频相机的面部捕捉技术以及基于RGB-D相机的人脸跟踪技术。其中基于特殊设备的捕捉技术包括物理标记点、投射结构光以及相机阵列,该类方法普遍存在着对表演者不友好、对光照有要求等不足;RGB-D相机一般价格较高,单目视频相机则更适合普通用户,并且操作简单。

目前面部表情的研究普遍存在着自然程度低,扩展性差、算法效率不高等不足,因此,本文希望通过对表情生成技术的理论研究与技术创新,能够改善表情的真实度,进而提升表情动画的实用价值。

1 九型人格与情绪分析

1.1 九型人格

不同性格的人,其行为举止存在着很大的差异,九型人格表情特点的分析目的在于解决角色动作行为缺乏人物性格的问题,根据不同人格特征,建立相对应的人格表情模板。

(1)完美型

完美型的人由理性思想主导,行为谨慎、原则多。没有丰富的感情色彩,表情通常较为严肃,眼神比较冷静。

(2)助人型

助人型的人善解人意,乐于助人,但原则性弱,缺少主见。表情温柔,亲和,眼神充满爱,笑容灿烂自然。

(3)成就型

成就型的人渴望被认可,自信心强,但情感薄弱。眼神机灵、目光有神,动作快。

(4)自我型

自我型的人崇尚自由,追求浪漫,跟着感觉走。动作多优雅,慢,眼神多忧郁、深情。

(5)理智型

理智型的人冷静、机智,分析力强,喜欢独处。没有丰富夸张的表情,眼神多平和、淡然。

(6)忠诚型

忠诚型的人做事小心,不喜欢转换新环境,内心常有不安。眼神多游离、保持洞察力。

(7)活跃型

活跃型的人乐观、经历充沛,及时行乐。肢体语言丰富,表情多放松。目光明亮,没有哀伤。

(8)领导型

领导型的人喜欢被人追随,做事直截了当,但感觉迟钝,常忽略他人感受。目光直射,眼神温和且威严。

(9)和平型

和平型的人完事以和为贵,容易分散注意力。眼神柔和,稳定。肢体语言柔软温和。

根据上述的分析,不同性格的人在表达相同表情时,必然存在着不同。例如,对于笑这一表情而言,活跃型与助人型的笑能够具有感染力、无束缚,而完美型或领导型的笑则较为严肃拘谨。

1.2 情绪状态分析

面部表情是指通过眼部肌肉、颜面肌肉和口部肌肉的变化来表现各种情绪状态。每一个面部表情需要各个部位组合,而面部有3个能够独立运动的部分,分别是。

(1)额头与眉毛。

(2)眼睛、眼睑与鼻子。

(3)脸颊、嘴与下巴,如图1所示。

Ekman.Friesen与Elsworth通过对面部表情的研究,界定出6种基本情绪,分别为快乐、悲伤、恐惧、惊讶、愤怒、嫉妒。并且认为人类的基本情绪的面部表情是相同的,不具有文化的差异。由这6种基本表情相互组合后产生焦虑、紧张、忧郁、惊喜等复合情绪。根据情绪的持续时间和紧张程度可分为心境、激情、应激3类,其中心境这一较为微弱的情绪状态受人格特征的影响。

通过上述分析,可以看到角色的表情表达与角色性格、情绪状态密不可分,例如快乐的情绪,领导型与理智型的人通常表现得较为平静,微笑或是不笑,主要特征是两眉舒展,而助人型与活跃型通常将高兴喜悦的情绪通过笑来表达,甚至眼睛、鼻子都是上扬的;再如悲伤的情绪,成就型和领导型的人通常表现面孔拉长,脸的两侧自然垂落,嘴角微微下拉。助人型和忠诚型的人面部则会较为明显的特征,如眉头紧锁、眉眼倾斜、愁眉苦脸。表现最为强烈的多为活跃型的人,如闭眼、哭泣,如图2所示。

因此,本文所建立的动态模板库综合了角色性格特征及情绪因素。

2 基于动态模板库的表情生成方法

基于动态模板库的表情生成方法过程如图3所示。

输入信息包括角色模型、角色人格属性以及角色的情绪状态。由人格特征、情感状态来决定角色的表情特征,然后建立动态表情模板库,生成表情动画。

动态表情模板库建立完成后,根据角色设定的人物性格与情绪状态,通过人脸动画算法,将动态表情模板迁移到角色中,生成表情动画。具体过程如下:

(1)组件式模型

如第2节所述,表情表现在面部3個部分的运动,分别是①额头与眉毛;②眼睛、眼睑与鼻子;③脸颊、嘴与下巴。因此,本文建立具有层次的组件式模型,组件式的模型能够方便进行模型的变形算法。

(2)基于线性插值的网格变形方法

本文选用网格变形方法实现表情动画序列。将建立的九型人格动态表情模型借助网格变形技术叠加到目标角色的面部模型上,通过模型参数的调整合成表情动画。

设变形后模型顶点为V,模板模型顶点为V1,目标模型顶点为V2,线性插值网格变形方法的顶点计算方法为:

V=V2×ω+V1(1-ω)

其中ω表示权重,不同权值的效果如图4所示。

以该方法为基础,为了实现多样的表情动画,本文使用多目标模型融合的方式,

方法为:

式中,base表示基准模型,其顶点坐标表示为base=(xb,yb,zb),T1=(x1,y1,z1),T2=(x2,y2,z2)...Tn=(xn,yn,zn)为目标模型1至模型N的顶点坐标。ω1,ω2...ωn为对应的权重。

3 实验分析与结论

本文建立的动态模板库包括9种人物性格,即完美型、助人型、成就型、自我型、理智型、忠诚型、活跃型、领导型、和平型,每种人物性格拥有快乐、悲伤、恐惧、惊讶、愤怒、嫉妒6种情绪。

本文方法使用C++语言,在VS2012平台编写实现,其中模型动画使用Direct3D实现模型动画的渲染与控制,使用OpenCV库进行图像处理。实验效果如图5所示,点击鼠标右键,选择不同性格与情绪,人物模型将会做出相应的表情。

本文提出了一种基于动态模板库的表情动画生成方法,通过分析人物性格特点,细化表情特征,进而使角色表情更加符合角色设定,表情动画更加自然。但本文所建立的表情模板库只包括了9种人格的6种基本表情,九型人格的复合情绪的表情表达将是下一步的重点研究内容。

参考文献

[1]Pighin F,Szeliski R, Salesin D H. Modeling and animating realistic faces fromimages[J].International Journal of Computer Vision, 2002, 50(2): 143-169.

[2]Joshi P, Tien W C, Desbrun M, et al. Learning controls for blend shape based realistic facial animation[C].ACM SIGGRAPH 2005 Courses.ACM, 2005: 8.

[3]Deng Z,Chiang P Y, Fox P, et al. Animating blendshape faces by cross-mapping motion capture data[C].Proceedings of the 2006 symposium on Interactive 3D graphics and games.ACM, 2006: 43-48.

[4]Thibaut Weise, Sofien Bouaziz, Hao Li,Mark Pauly. Realtime performance-based facial animation[J]. International conference on computer graphics and interactive techniques, 2011.30(4):77.

[5]汪庭弘.九型人格——洞悉自己与他人的艺术[M].北京:中国纺织出版社,2012.

[6]L. Williams. Performance-driven facial animation[C].ACM SIGGRAPH Computer Graphics. ACM, 1990, 24(4):235-242.