基于分层建模及多体驱动的三维人脸动画实现方法

文档序号:6424782阅读:612来源:国知局
专利名称:基于分层建模及多体驱动的三维人脸动画实现方法
技术领域
本发明涉及一种基于分层建模及多体驱动的三维人脸动画的实现方法,是以分层人脸建模为切入点,从人脸各部位刚柔性体的不同运动及表情特征等方面出发,实现了三维虚拟人脸建模及表情驱动。
背景技术
三维的虚拟现实能带给人们强烈的视觉冲击力,其中,虚拟人物是虚拟世界的活动主体,随着虚拟现实技术的发展,虚拟人物的设计成为令人关注的研究课题。研究人脸建模与表情驱动是合成虚拟人的一个非常关键的环节,己成为计算机图形图像领域的一个研
究热点。现有的人脸合成方法大致可以分为基于几何、基于表演驱动、基于图像三大类。各种不同的方法之间并没有严格的界限,为了产生更好的合成效果,往往需要融合多种方法。基于几何的方法多应用于三维点集构成的曲面片所表示的人脸模型,通过直接修改人脸模型上的网格点位置或间接移动顶点位置等来得到人脸面部表情动画;基于表演驱动的方法多是利用传感器来捕捉人脸模型的运动情况,并把这些运动信息数字化,作为控制人脸模型运动的动画参数;基于图像的方法则是利用输入的二维图像或视频来变形人脸模型,从而得到目标人脸的状态。基于几何的方法又可以分为关键帧插值法,参数模型,基于物理的肌肉模型,伪肌肉模型。基于图像的方法大致可以分为以下几类图像形变,动态纹理映射,面色表情变化等。人脸建模及驱动的终极目标是建立实时的、高度自动化的、真实感的、个性化的虚拟人脸系统。现有的人脸驱动方法,多将人脸的眼、嘴、面颊等可视部分常被视为一个整体,由三角形网格或样条曲面来表示,这将影响人脸各部位相对运动引起的可视部分变化,难以描述人脸各部位刚体及柔性体的不同运动特征。如前所述的基于图像的方法真实感较好,但资源占用率较大;基于肌肉模型的方法数据量及计算量较小,但多采用线性方法描述皮肤形变与所受施力之间的关系,忽略了人脸各器官的粘弹性特性,影响人脸动画的真实感。因此,针对当前单一人脸模型的缺陷,根据人脸各部位不同的解剖学及物理特性, 建立分层人脸模型;从力学原理出发,考虑人脸各部位的粘弹性特征,建立肌肉施力收缩与皮肤受力形变之间的非线性关系,以模拟更加真实细腻的表情合成与嘴部驱动效果。

发明内容
本发明的目的在于针对已有技术存在的缺陷,提供一种基于分层建模及多体驱动的三维人脸动画实现方法,在普通设备以及尽可能少的交互条件下,在降低数据量及计算量,提高运动及表情表示的普适度的条件下,有效地表示和驱动具有真实感的人脸模型的运动及表情。本发明主要研究了以下几个部分
1. 建立了皮肤一肌肉一骨骼一眼球分层人脸模型,该模型将人脸分为柔性体和刚性体两类,对柔性体建立三角网格形变模型,对刚性体建立几何参数非形变模型,以解决单一网格或曲面模型所带来的无法表示人脸各部位相对运动引起的可视部分变化的缺陷。2.提出了多体驱动产生人脸表情的方法,对眼球建立大小两个球体组成的绕大球球心旋转的刚体模型,对皮肤采用肌肉收缩驱动,对嘴部采用骨骼与肌肉共同驱动,以解决单一肌肉驱动方法或形变模型难以描述人脸各部位刚体及柔性体的不同运动特征的缺陷,提高了人脸模型的真实感与灵活性。3.在肌肉建模方面,对宽线性肌(额肌)加入皱纹控制因子,以实现更加细腻真实的人脸额部皱纹效果;根据口轮匝肌是随口型变化的三维环状肌肉以及体积不变原理,改进Waters 二维椭圆口轮匝肌为三维体结构,增加了厚度因素,以表现出更复杂细腻的唇部表情变化。4.针对包含了下颂骨、牙齿等刚性体及嘴唇等柔性体的嘴部驱动,本文综合考虑三方面因素下颂骨驱动、三维口轮匝肌收缩及唇部曲线参数化,模拟嘴部真实感表情驱动。在下颂骨驱动中,加入咀嚼肌的建模以带动下颂骨的运动,下颂骨可以做简单的平移以及旋转运动,带动牙齿做相同运动,带动唇部及嘴部周遭皮肤做相似运动,建立了非线性驱动关系;在唇部曲线参数化方面,用唇部曲线三维变化的旋转角度以及平移大小来模拟唇部网格点的位移,用少量的参数控制唇部曲线变化,数据量小,易于控制。根据上述的研究,本发明提出一种基于分层建模及多体驱动的三维人脸动画实现方法。首先拍摄人脸自然放松状态、双眼正视前方、头部垂直地面时的正、侧面照片各一张, 并对其进行预处理;所拍摄的照片背景需色调单一,以较好地分离人脸图像;所拍摄人脸部需无遮挡,以较好的定位面部特征点坐标;标准人脸柔性体皮肤网络模型一包含额头、 面颊、鼻子、嘴唇,共由1439个顶点、1476个多边形组成的较稠密三维人脸模型。具体操作步骤包括
1)三维人脸建模;
2)进行多体驱动。所述步骤1)三维人脸建模采用分层人脸建模采用分层人脸建模方法,具体工作步骤为
①对所述人脸照片进行特征点提取,变形标准人脸皮肤模型,获得个性化的人脸皮肤三角网格形变模型,同样地建立柔性体舌头、刚性体下颂骨及牙齿三角形网格形变模型与几何参数非形变模型;
②根据步骤①得到的人脸特征点坐标,确定柔性体舌头、刚性体下颂骨及牙齿的几何大小和大致放置位置;
③利用大小两个球体建模刚性体眼球,根据虹膜直径及大小两个球体的几何关系, 确定眼球抽象模型;
④将步骤①所得到的各部位特征点坐标,组合步骤①、②、③所得到的刚柔性体模型,得到真实感的个性化人脸三维分层模型;
⑤根据步骤①得到的人脸特征点坐标,确定表情肌、咀嚼肌、眼外肌的起止点坐标,建立肌肉模型。所述步骤2)进行多体驱动是在所建立的分层人脸模型基础上,利用不同的驱动方法对各刚柔性体部位进行多体驱动,其驱动程序步骤如下①确定窄线性肌、宽线性肌以及括约肌这三类肌肉的参数大小,利用肌肉收缩组合控制柔性体面部的表情运动;
②根据所建三维人脸模型的刚体眼球模型数据,确定眼外肌位置分布,眼球在六条眼外肌的旋转作用力控制下进行三维旋转运动;
③通过咀嚼肌控制所建立的下颂骨模型,进而直接控制嘴部的旋转、平移运动,确定嘴部皮肤点在其带动下的非线性关系;
④利用体积不变原理,改进Waters二维椭圆口轮匝肌为三维体结构,得到嘴部网格点变化量与口轮匝肌的厚度关系表达式;
⑤模拟唇部运动曲线,联合步骤③、④,通过参数函数控制唇区特征点的变化。所述进行多体驱动的方法中,利用渐变网络插值技术,实现人脸表情动画。本发明与现有技术相比,具有如下显而易见的突出实质性特点和显著优点
1.进行刚、柔性体分别建模的优点在于对于面部柔性体部位(人脸的皮肤、嘴唇、舌头等软组织),受力时会发生形变,受力响应(形变)与外力不呈线性关系,是粘弹性体,其应力-应变是非线性关系;对于面部的刚体(下颂骨、牙齿等)或近似刚体的部位(眼球等),可将其运动近似为一个整体的旋转或平移,例如牙齿在下颂骨的带动下做左右平移运动或绕下颂骨踝突点相连构成的线为轴的旋转,眼球在眼眶内做上下、左右旋转。2.在满足肌肉收缩应力特性的前提下,本发明对Waters的肌肉模型进行了改进, 相比Waters的肌肉模型,对宽线性肌加入皱纹控制因子,可以模拟更加精细的额头皱纹效果;利用六条眼外肌控制驱动本文所建立的刚体眼球模型,以得到人脸动画时眼球转动的逼真效果。3.针对所建立的由大小两个球体组成的刚体眼球模型,以及控制眼球运动的眼外肌的起止点位置和运动特点,本发明提出6条眼外肌组合控制刚体眼球模型的方法,可以达到灵活驱动眼球的三维旋转运动。4.针对所建立的分层人脸模型,本发明给出了下颂骨带动牙齿做相同运动,带动唇部及嘴巴下部皮肤做相似运动的驱动方法,建立嘴部所受施力与其应变间的非线性关系;针对实际口轮匝肌是随口型变化的三维环状结构,根据体积不变原理,对Waters 二维椭圆口轮匝肌进行了改进,以实现更丰富细腻的嘴部变形效果;分析嘴部动作时唇部的运动曲线的变化,建立参数化的唇部运动函数,弥补了肌肉模型在唇部驱动上的不足。


图1是人脸正侧面照片示意图。图2是正侧面皮肤模型示意图。图3是舌头、下颂骨及牙齿模型示意图。图4是眼球抽象模型示意图。图5是眼球模型建模示意图。图6是个性化人脸分层模型的示意图。图7是本发明所涉及的表情肌示意图。图8是本发明所涉及的咀嚼肌示意图。图9是眼外肌示意图。
图10是窄线性肌抽象模型示意图。图11是宽线性肌抽象模型示意图。图12是额肌皱纹曲线模拟示意图。图13是皱纹效果对比图。其中,(a)为惊奇(无添加皱纹),(b)为惊奇(添加皱纹正面),(C)为惊奇(添加皱纹侧面),(cOw为蹙眉(无添加皱纹),(e)为蹙眉(添加皱纹正面), (f)为蹙眉(添加皱纹侧面)。图14是虚拟眼外肌分布及收缩方向示意图。图15是眼部直肌控制效果图。其中,(a)俯视,(b)仰视,(C)左侧视,(d)右侧视, (e)对眼。图16是下颂骨运动示意图。其中,(a)下颂骨旋转驱动,(b)下颂骨平移驱动。图17是下颂骨绕轴旋转与沿轴平移效果图。其中(a)由左至右为下颂骨绕轴旋转 Itf、25。、40° , (b)由左至右为下颂骨沿轴向右平移5、10和18个单位距离(嘴部微张B)。图18是改进的口轮匝肌三维抽象模型示意图。图19是撅嘴情况正侧面嘴部效果对比图。其中,(a)自然状态,(b) Waters 口轮匝肌收缩,(c)改进三维口轮匝肌收缩。图20是下唇纵向变化示意图。图21是唇部运动模拟效果图。其中,(a)开唇口型,(b)降下唇口,(C)凸唇口型, (d)瘪唇口型,(e)圆唇口型。图22是面部表情动画系统界面示意图。图23是个性化三维人脸模型的面部六类基本表情效果图。其中(a)喜悦,(b)悲伤,(c)愤怒,(d)惊讶,(e)厌恶,(f)恐惧。图M是吃惊表情动画序列图。图25是眼球转动动画序列图。其中,(a)眼球上下转动动画序列,(b)眼球左右转动动画序列
具体实施方式
本发明的一个优选实施案例结合附图详述如下
本基于分层建模及多体驱动的三维人懒动画实现方法,具体操作步骤如下 1分层人脸建模 1.1刚柔性体分类建模
(1)拍摄人脸自然放松状态、双眼正视前方、头部垂直地面时的正、侧面照片各一张,并对其进行预处理,如附图1所示。(2 )根据标准模型个性化的方法,对标准人脸皮肤网格模型进行变形,利用整体变换和局部变换的原则,局部变换采用DFFT算法,得到如附图2所示人脸皮肤网格模型以及进行纹理映射之后的模型效果图。(3)分别对柔性体舌头,刚性体下颂骨、牙齿建立三角形网格形变模型与几何参数非形变模型。如附图3所示。(4)由附图4所示,根据所得左眼球(右眼球建模方法和左眼相同)角膜中心的三以d为统一单位,由上式可得i , r 0.65^ , I0AIk 0A5d , k ^ 0.23d。可以建
模出眼球刚体模型,并根据个性化皮肤模型中的眼眶大小,调节眼球比例以满足放入眼眶的合适尺寸。刚体模型见附图5。(5)在对人脸各部位进行刚柔性体分别建模之后,我们将所建立的各部位模型组合,得到个性化的三维人脸分层模型,如附图6示。
1.2肌肉建模
根据解剖学原理,按照肌肉的位置和实际功能,在分层人脸模型上建立肌肉模型,基于人面部肌肉的作用方式各不相同的特点,确立窄线性肌、宽线性肌及括约肌的起止点坐标。 由附图7,控制人脸表情和嘴部运动的表情肌群包含对称分布在人脸左右两侧的8对窄线性肌皱眉肌、降眉肌、上眼睑提肌、鼻肌、颧肌、笑肌、降口角肌、颏肌;一对宽线性肌额肌;两种括约肌眼轮匝肌、口轮匝肌;由附图8,控制下颂骨运动的咀嚼肌包含4条窄线性肌咬肌、颞肌、翼内肌和翼外肌,主要是配合下颂骨以产生嘴部咀嚼运动;由附图9,眼球受上直肌、下直肌、内直肌、外直肌、上斜肌、下斜肌这6条眼外肌控制。2. 体人脸驱动 2. 1肌肉驱动
在面部肌肉中,按照运动方式的不同分为三类窄线性肌、宽线性肌及括约肌。(1)窄线性肌如附图10所示,沿着固定于骨骼的肌肉向量方向收缩,一端固定在骨骼上或是皮下脂肪中,另一端则与较为柔软的皮肤组织相连,是可动点,类似于一个弹簧,作用区域是扇形。(2)宽线性肌如附图11所示,由一系列平整的纤维束构成,一端固定,另一端与可移动的皮肤组织相连,它的起点和止点可近似为两条平行线,作用区域为矩形。对于人面部唯一的宽线性肌额肌,本发明引入褶皱方程,以更好地模拟额肌收缩时引起的皱纹效果。本发明用一系列抛物线来模拟皱纹的效果。如附图12所示。其中点
的皱纹高度为
(2.1)
^力高度控制因子,A是皱纹的最大高度上限,也就是附图12中抛物线的最高点。设
为该肌肉可以产生的皱纹条数,由实验经验决定u力产生的皱纹半周期长度为
7
维坐标即大球球心q以及虹膜直径rf以及Α建立人眼球刚体模型,通过解下列方程可以得到小球半径r以及小球球心G相对于大球球L· ,的距离。
(r-kf +(d / 2/ = r2(1. 1)
2)
(1
3)
(1
/._V
I
2
I、
■-l.i
、——/
τ - 2 .....__....
i
IL
其中i Siv ,为产生皱纹的区域,£越大,产生皱纹的区域将越大。
f Iw = L - mi — · Iu(2. 3)
K2uJ
是将变量,以周期如(频率力映射到[0,2一的区间,由此产生更多的皱纹。这样,在该平面肌的作用下,点巧所受到的肌肉收缩力的方程为 - ,、 μ (O- -/;)
而=νφ ⑷(2.4)
其中φ(4)为距离控制函数Φ(4)与距离因子,4相关,通过对宽线性肌(额肌)的修正,
加入了皱纹控制因子,当额肌收缩时眉毛以上部分会产生表情皱纹,如附图13所示。2. 2眼球驱动
根据附图14中的眼球的眼外肌起止点位置分布,已知大球球心O1(X17J^Z1)及虹膜直径d 11_,能得到左眼6条虚拟肌肉起、止点坐标分别为 上直肌起点( ! + )而)’止点(X1Jpp1+1.0 )); 下直肌起点“(Λ + ΜΡΟ ,止点^jvfz1-1.0 ; 外直肌起点( +,止点(( +1.053), , );
内直肌起点+ 而),止点_厂1.0^0必,巧); 上斜肌起点(^( -3.5^),^,( +,止点(■XpJvfsj+l.OSrf));
下斜肌起点(( -—,Ihapyp(Z1-I-C)Sc^)。根据眼外肌的起止点位置建立肌肉模型,眼球的运动是在这6条肌肉的共同作用下进行三维运动的,肌肉组合方式如下式所示
C = XKiXfi(2.5)
2-1
其中Zi为肌肉收缩因子为肌肉力大小。眼部直肌控制效果见附图15。2. 3嘴部驱动
为了实现丰富多样的嘴部表情,模拟真实细腻的嘴部动作,本发明从三个方面下颂骨驱动、口轮匝肌改进和唇部曲线参数化,对嘴部表情动画的模拟进行了较为细致的研究。(1)牙齿在下颂骨的带动下做相同运动,嘴部及下巴皮肤在下颂骨的驱动下做相似运动,本发明设计了下颂骨应力与皮肤形变之间的非线性关系。
下颂骨的旋转产生嘴部的张闭行为。如附图16 (a)所示,A为从皮肤卢出发与旋转轴;同面垂直的向量;作用于点的下颂骨的驱动力名与旋转轴, 及—灼正交,旋转运动时,名与旋转轴 1及€所在的平面垂直。当下颂骨绕轴旋转时,作用于下唇及嘴下部皮肤点的驱动力名可以定义为
权利要求
1.基于分层建模及多体驱动的三维人脸动画实现方法,其特征在于需要拍摄人脸自然放松状态、双眼正视前方、头部垂直地面时的正、侧面照片各一张,并对其进行预处理;所拍摄的照片背景需色调单一,以较好地分离人脸图像;所拍摄人脸部需无遮挡,以较好的定位面部特征点坐标;标准人脸柔性体皮肤网络模型一包含额头、面颊、鼻子、嘴唇,是利用人脸造型软件i^ceGen产生的,共由1439个顶点、1476个多边形组成的较稠密三维人脸模型; 具体操作步骤为a.三维人脸建模,b.进行多体驱动。
2.根据权利要求1所述的基于分层建模及多体驱动的三维人脸动画实现方法,其特征在于所述步骤a的三维人脸建模采用分层人脸建模方法的具体步骤为a-Ι.对所述人脸照片进行特征点提取,变形标准人脸皮肤模型,获得个性化的人脸皮肤三角网格形变模型,同样地建立柔性体舌头、刚性体下颂骨及牙齿三角形网格形变模型与几何参数非形变模型,得到人脸特征点坐标;a-2.根据步骤a-1得到的人脸特征点坐标,确定柔性体舌头、刚性体下颂骨及牙齿的几何大小和大致放置位置;a-3.利用大小两个球体建模刚性体眼球,根据虹膜直径及大小两个球体的几何关系, 确定眼球抽象模型;a-4.将步骤a-Ι所得到的人脸特征点坐标,组合步骤a-l、a-2、a-3所得到的刚柔性体模型,得到真实感的个性化人脸三维分层模型;a-5.根据步骤a-1得到的人脸特征点坐标,确定表情肌、咀嚼肌、眼外肌的起止点坐标,建立肌肉模型。
3.根据权利要求2所述的基于分层建模及多体驱动的三维人脸动画实现方法,其特征在于所述步骤b进行多体驱动是所建立的分层人脸模型基础上,利用不同的驱动方法对各刚柔性体部位进行多体驱动,其驱动程序步骤如下b_l确定窄线性肌、宽线性肌以及括约肌这三类肌肉的参数大小,利用肌肉收缩组合控制柔性体面部的表情运动;b_2根据所建三维人脸模型的刚体眼球模型数据,确定眼外肌位置分布,眼球在六条眼外肌的旋转作用力控制下进行三维旋转运动;b-3通过咀嚼肌控制所建立的下颂骨模型,进而直接控制嘴部的旋转、平移运动,确定嘴部皮肤点在其带动下的非线性关系;b-4利用体积不变原理,改进Waters 二维椭圆口轮匝肌为三维体结构,得到嘴部网格点变化量与口轮匝肌的厚度关系表达式;b_5模拟唇部运动曲线,联合步骤b-3、b-4,通过参数函数控制唇区特征点的变化。
4.根据权利要求3所述的基于分层建模和多体驱动的三维人脸动画实现方法,其特征在于所述进行多体驱动的方法中,利用渐变网格插值技术,实现人脸表情动画。
全文摘要
本发明涉及一种基于分层建模及多体驱动的三维人脸动画实现方法。本方法是在建立分层人脸模型的基础上,根据各刚柔性体的特性独立驱动,以模拟更加真实细腻的表情合成与眼、嘴部驱动效果。本发明的实施仅需拍摄面部无遮挡的模特正、侧面照片各一张,人脸呈自然放松状态,双眼正视前方,头部垂直地面,通过仿真实验便可获得。本发明作为虚拟人合成的关键环节,对人机交互以及虚拟人语音动画系统具有重要的实际应用价值。
文档编号G06T13/40GK102157010SQ20111013652
公开日2011年8月17日 申请日期2011年5月25日 优先权日2011年5月25日
发明者康晨, 张之江, 曾丹, 裴丽, 郑大岳, 陈剑 申请人:上海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1