技术领域
[0001] 本
发明涉及
计算机图形学及计算机动画技术领域,特别是涉及一种基于拉普拉斯变换的数据驱动人脸表情合成方法。
背景技术
[0002] 计算机人脸表情动画技术可以合成高度真实感的虚拟人脸表情,它提供了一种快速、高效的刻画虚拟人物表情的工具。人脸表情合成技术将捕获的人脸表情信息有效地迁移到任意人脸模型中,从而合成各种各样的真实感人脸表情。近年来,该技术已被广泛地应用于计算机游戏、在线
聊天以及其他
人机交互领域。
[0003] 人脸表情细节可以极大地提高人脸表情动画的真实感,而实时
三维扫描系统可以从多个层面上记录人脸表情细节。近年,一些研究人员提出将脸部特征在空间上分为精细、中等与粗糙三种等级,每种代表不同级别的表情运动细节,使用非线性
能量优化方法将较高级别的细节添加到带有较低级别表情细节的人脸基网格中,参见Bernd Bickel,Mario Botsch,RolandAngst,Wojciech Matusik,Miguel Otaduy,Hanspeter Pfister,and MarkusGross.Multi-scale capture of facial geometry and motion.ACM Transactionson Graphics,2007,26:33-41。还有一些研究人员使用真实感动态皱纹和高级别人脸细节来自动地合成脸部表情。该方法可以构造出大尺度肌肉运动、中等尺度以及较高级别的脸部皱纹以及动态的
皮肤毛孔细节等,参见Wan-Chun Ma,Andrew Jones,Jen-Yuan Chiang,Tim Hawkins,SuneFrederiksen,Pieter Peers,Marko Vukovic,Ming Ouhyoung,and Paul Debevec.Facial performance synthesis using deformation-driven polynomialdisplacement maps.ACM Transactions on Graphics,27:1-10,2008。然而,获取脸部细节需要高级
硬件设备的支持,通常代价比较大,而且捕获过程对操作人员的技术要求较高,这种借助增添人脸表情细节提高人脸表情真实感的方法不适合普通大众的使用。
[0004] 近年,混和样本合成人脸表情技术被广泛地应用于真实感人脸动画技术中。一些研究人员提出了一个基于样例的人脸动画克隆方法,参见Hyewon Pyun,Yejin Kim,Wonseok Chae,Hyung Woo Kang,and Sung Yong Shin.An example-based approach for facial expression cloning.In Proceedings of Symposium on Computer Animation,pages 167-176,Aire-la-Ville,Switzerland,2003.Eurographics Association。 还有一些研究人员提出基于混和样例的表演驱动人脸动画方法,参见Erika Chuang and Christoph Bregler.Mood swings:expressive speech animation.ACMTransactions on Graphics,24:331-347,2005。但是,混和样本合成人脸表情动画方法需要提供一个较高
质量的人脸表情样本库,构建一个满足要求的人脸表情样本库需要较大的人
力和物力,这对普通大众来说是一个很大的难题。而且,最终合成的人脸表情的真实程度由给定的样本以及混和权系数来确定。最近,另有一些研究人员提出了自动地构造最优人脸表情样本的方法,可以很大程度上节省劳力成本,同时他们还给出了一种精确地计算混和权重的方法,可以有效地避免误差累积,参见Xuecheng Liu,Tianlu Mao,Shihong Xia,Yong Yu,and Zhaoqi Wang.Facial animation by optimized blendshapes from motion capture data.Computer Animation and Virtual Worlds,19:235-245,2008。然而,人脸表情变化是个非线性问题。上述的混和样本的方法企图使用线性方法来解决这一非线性问题,所合成表情较单一,而且合成的表情局限在给定样本的线性组合范围内。
[0005] 直接人脸表情迁移技术是另一种合成人脸表情动画的途径。Noh等人提出了一种将脸部表情克隆到新模型的方法,参见Junyong Noh and Ulrich Neumann.Expression cloning.In Proceedings of ACM SIGGRAPH,pages277-288,New York,USA,2001.ACM。一些研究人员提出使用“网格距离”进行人脸表情运动传播,以人脸特征点到其他
顶点的网格距离作为度量标准来计算特征部位的表情变化对其他非特征部位的影响,参见Zhigang Deng and Ulrich Neumann.Expressive speech animation synthesis with phoneme-level control.Computer Graphics Forum,27:2096-2113,2008。然而这些直接表情迁移技术在合成真实感人脸表情的过程中没有考虑人脸模型本身的细节。已知人脸特征点表情变化量,Zhao等人提出使用对偶拉普拉斯
变形技术实现人脸表情迁移,参见Hui Zhao and Chiew-Lan Tai.Subtle facial animation transfer from 2d videos to 3d faces with laplacian deformation.In Proceedings of Computer Animation and Social Agents,Hasselt,Belgium,June 11-13,2007。然而,正如该文作者在文中所提那样,该方法没有考虑三维人脸表情变化,只考虑了二维情形。当表情变化会引起第三维空间变化时,该方法将会得到一些奇异的结果。
发明内容
[0006] 本发明提供一种基于拉普拉斯变换的数据驱动人脸表情合成方法。该方法将采集的
表演者真实人脸表情变化迁移到一个虚拟的中性目标人脸模型上,从而方便地合成真实感人脸表情动画。本发明的每一个步骤都可以在家用电脑的图形卡硬件中处理,为非专业人员提供了一种简便且直观的人脸表情动画合成方法。
[0007] 为了达到上述目的,本发明所采用技术方案如下:
[0008] 包括以下六个步骤:
[0009] 1)使用运动捕获设备精确地采集表演者的脸部特征部位的运动;
[0010] 2)将步骤1)中捕获的脸部特征部位的运动数据分解为脸部表情运动和头部刚体运动;
[0011] 3)载入中性目标人脸模型;
[0012] 4)根据中性目标人脸模型的几何结构与拓扑结构,计算中性目标人脸模型中各顶点的拉普拉斯坐标;
[0013] 5)将步骤2)中分解所得的脸部表情运动迁移到中性目标人脸模型上,使得中性目标人脸模型具有与表演者一致的表情;
[0014] 6)将步骤2)中分解所得的头部刚体运动迁移到步骤5)中得到的具有与表演者一致表情的目标人脸模型上,使得最终的目标人脸模型具有与表演者一致的面部表情与头部
姿态。
[0015] 本发明所述的采集表演者脸部特征部位的运动的方法如下:
[0016] 使用光学运动捕获设备精确地记录下表演者的脸部特征部位的空间运动轨迹。根据运动图像专家组MPEG于1999年2月正式公布的MPEG-4标准(于2000年年初正式成为国际标准),在表演者脸部特征部位放置若干表情
马克点,以记录表演者的脸部特征部位的运动。这样捕获的马克点的运动不仅记录下了表演者脸部表情的变化,同时还记录下了表演者头部的随机运动。为了分离这两类运动,与此同时,在表演者的脸部、额头等受脸部表情变化影响较小的
位置放置若干非表情马克点,以记录表演者的头部随机运动。在采集过程中,允许表演者像在日常交流中那样自然地展现各种不同的脸部表情与头部姿态,如此捕获的人脸运动数据可以全面而真实地反应人类日常生活中的各种表情变化和头部运动。
[0017] 本发明所述的将捕获的脸部特征部位的运动数据分解为脸部表情运动和头部刚体运动的方法如下:
[0018] 捕获的脸部特征点的运动Ft与相应的脸部表情变化F′t和头部刚体运动At(At包括旋转变换Rt和平移变换Tt)满足下式:
[0019] Ft=RtF′t+Tt
[0020] 式中,矩阵Rt与矩阵Tt分别是头部刚体运动At的旋转变换部分和平移变换部分。
[0021] 非表情马克点的运动只包含头部刚体运动,因此使用它们的运动轨迹来描述头部刚体运动At。相应地,脸部的表情变化F′t可由下式得到:
[0022]
[0023] 所述的载入中性目标人脸模型的方法如下:选择一个中性目标人脸模型,将该模型的几何信息和拓扑信息载入。
[0024] 所述的采用拉普拉斯坐标描述中性目标人脸模型的方法如下:
[0025] 一个顶点的拉普拉斯坐标可由该顶点的欧式坐标及其所有相邻顶点来描述,计算公式如下:
[0026]
[0027] 式中,δi是顶点vi的拉普拉斯坐标,N(i)是顶点vi的所有相邻顶点的下标所构成的集合,dt=|N(i)|是集合N(i)中元素的个数。
[0028] 本发明所述的将脸部表情运动迁移到中性目标人脸模型上,使得目标人脸模型具有与表演者一致的表情的方法如下:
[0029] 将从捕获的表演者脸部特征部位的运动数据中提取的特征点表情运动迁移到中性目标人脸模型中对应的特征点上,同时固定中性目标人脸模型中若干顶点不变。为了保留中性目标人脸模型中的细节,保持中性目标人脸模型的顶点拉普拉斯坐标不变。求解一个满足以上要求的最优化问题即可获得一个与表演者表情一致的目标人脸。计算公式如下:
[0030]
[0031] 式中,V′为待求解的目标人脸模型,vi为初始目标人脸模型上的顶点,δi为顶点vi的拉普拉斯坐标,v′i为待求解目标人脸模型上的顶点,ui为目标人脸模型上的特征点以及固定点。
[0032] 本发明所述的将头部刚体运动迁移到具有与表演者一致表情的目标人脸模型上,使得目标人脸模型具有与表演者一致的脸部表情和头部姿态的方法如下:
[0033] 表演者的头部刚体运动At包含一个旋转变换Rt和一个平移变换Tt。将这两个变换应用于带有表情的目标人脸模型上,使得目标人脸模型具有与表演者一致的脸部表情的同时,还具有与表演者一致的头部姿态。计算公式如下:
[0034] M″t=RtM′t+Tt
[0035] 式中,M′t是带表情的目标人脸模型(不含头部刚体运动部分),M″t是带有与表演者一致的脸部表情和头部姿态的目标人脸模型。
[0036] 本发明针对现有人脸表情迁移方法存在的无法保留目标人脸模型上已有细节的缺点,将采集的人脸特征部位的运动数据分离为人脸表情运动和头部刚体运动,采用了一种基于拉普拉斯变换的人脸表情迁移技术,有效地实现了人脸表情的迁移;借助于拉普拉斯变换可保留模型变形前的细节这一特点,实现了人脸表情迁移的同时保持了目标人脸模型上的已有细节特征不变。本发明
算法明确,界面友好,结果鲁棒,且该方法可以将采集的人脸表情迁移到任何类似人脸形状的目标模型中。
[0037] 本发明的合成方法可方便地应用于计算机游戏、在线聊天以及其他人机交互领域。
附图说明
[0039] 图2是本发明捕获脸部特征部位的运动时的人脸特征点分布图。
[0040] 图3是本发明合成的脸部表情与表演者相应表情的对比图。
具体实施方式
[0041] 下面结合附图对本发明一种基于拉普拉斯变换的数据驱动人脸表情合成方法通过
实施例子进行详细说明,本发明可以在家用电脑的图形卡硬件中有效应用。
[0042] 如图1所示,一种基于拉普拉斯变换的数据驱动人脸表情合成方法,包括采集表演者的脸部特征部位的运动、将捕获的脸部特征部位的运动数据分解为脸部表情运动和头部刚体运动、载入中性目标人脸模型、根据中性目标人脸模型的几何结构和拓扑结构计算中性目标人脸模型中各顶点的拉普拉斯坐标、将脸部表情运动迁移到中性目标人脸模型上、将头部刚体运动迁移到具有与表演者一致表情的目标人脸模型上六个步骤。
[0043] 现具体介绍本方法的六个步骤:
[0044] 1)使用英国Oxford Metrics Limited公司提供的运动捕获系统精确地采集表演者脸部特征部位的运动;
[0045] 根据MPEG-4标准,在表演者的脸部特征部位如眼睛、眉毛、嘴巴等位置放置36个表情马克点,以记录表演者的脸部表情变化,参见图2。如此捕获的马克点的运动不仅记录下了表演者脸部表情的变化,同时还记录下了表演者头部的随机运动。为了分离这两类运动,与此同时,在表演者的额头这样受脸部表情变化影响较小的位置放置5个非表情马克点,在其鼻尖放置1个非表情马克点,以记录表演者的头部刚体运动,参见图2。在采集表演者脸部特征部位的运动数据的过程中,允许表演者像在日常活动中那样自然地展现各种脸部表情与头部姿态。如此捕获的人脸特征部位的运动数据可以全面而真实地记录人类日常生活中的各种表情变化和头部运动。
[0046] 2)将捕获的脸部特征部位的运动数据分解为脸部表情运动和头部刚体运动;
[0047] 所捕获的脸部36个表情马克点的运动Ft与相应的脸部表情变化F′t和头部刚体运动At(At包括旋转变换Rt和平移变换Tt)满足下式:
[0048] Ft=RtF′t+Tt
[0049] 式中,矩阵Rt与矩阵Tt分别是头部刚体运动At的旋转变换部分和平移变换部分。
[0050] 6个非表情马克点的运动受脸部表情变化的影响很小,因此,使用它们的运动轨迹来近似地描述头部刚体运动At,其中,Rt是头部刚体运动的旋转变换部分,Tt是头部刚体运动的平移变换部分。
[0051] 设 为6个非表情马克点在第t
帧的位置,则头部刚体运动At满足:
[0052]
[0053] 然而,在运动捕获过程中,非表情马克点的运动包含细微的非头部刚体运动。例如,当表演者闭眼的时候,鼻尖上的马克点将会有轻微的非刚体运动。换句话说,非表情马克点的运动不是严格的刚体运动。因此,希望在最小二乘原理上求解最优头部刚体变换At,这对应于求解以下的最小化问题:
[0054]
[0055] 以上的能量方程没有解析解,因此可以近似地求解At。
[0056] 为了计算头部刚体变换At中的旋转变换Rt,构造矩阵Lt如下:
[0057]
[0058] 式中, 和 分别是6个非表情马克点在第t-1帧和第t帧的中心。头部刚体运动At的旋转矩阵Rt可以用矩阵Lt的旋转部分来近似。这里,使用SVD分解来计算这个旋转矩阵Rt。相应地,头部刚体变换At的平移变换Tt可由下式很容易地计算:
[0059]
[0060] 由6个非表情马克点的运动近似地描述头部刚体运动At后,相应地,脸部特征点的表情运动F′t可由下式获取:
[0061]
[0062] 3)载入中性目标人脸模型;
[0063] 选择一个中性目标人脸模型,将该模型的几何信息和拓扑信息载入。
[0064] 4)采用拉普拉斯坐标描述中性目标人脸模型;
[0065] 一个顶点的拉普拉斯坐标可由该顶点的欧式坐标及其所有相邻顶点来描述,计算公式如下:
[0066]
[0067] 式中,δi是顶点vi的拉普拉斯坐标,N(i)是顶点vi的所有相邻顶点的下标所构成的集合,di=|N(i)|是集合N(i)中元素的个数。
[0068] 5)将脸部表情运动迁移到中性目标人脸模型上,使得中性人脸模型具有与表演者一致的表情;
[0069] 将从捕获的表演者脸部特征部位的运动数据中提取的特征点表情运动迁移到目标人脸模型中对应的特征点上,同时固定目标人脸模型中若干顶点不变。为了保留目标人脸模型中的已有细节,保持目标人脸模型的顶点拉普拉斯坐标不变。求解一个满足以上要求的最优化问题即可获得一个与表演者表情一致的目标人脸。计算公式如下:
[0070]
[0071] 式中,V′为待求解的目标人脸模型上所有顶点的集合,vi为初始目标人脸模型上的顶点,δi为顶点vi的拉普拉斯坐标,v′i为待求解目标人脸模型上的顶点,ui为目标人脸模型上的特征点和固定点。
[0072] 两帧间的表情偏移为:Et=F′t-F′t-1。这里,使用Et作为目标中性人脸模型上表情特征点的偏移。与此同时,由于表情变化对额头、颈子等位置影响很小,因此在这些部位均匀地选取19个顶点作为拉普拉斯变形的固定点。给定这样的36个表情特征点以及19个固定点,求解中性模型上其他顶点的新位置,即可获得带有与表演者一致表情的目标人脸模型M′t。
[0073] 6)将头部刚体运动At迁移到具有与表演者一致表情的目标人脸模型上,使得目标人脸模型同时具有与表演者一致的脸部表情和头部姿态;
[0074] 表演者头部刚体运动At包括一个旋转变换矩阵Rt和一个平移变换矩阵Tt。将这两个变换应用于带有相应脸部表情的目标人脸模型上,使得目标人脸模型具有与表演者一致的脸部表情的同时,还具有与表演者一致的头部姿态。计算公式如下:
[0075] M″t=RtM′t+Tt
[0076] 式中,M′t是带表情的目标人脸模型(不含头部刚体运动部分),M″t是带有相应脸部表情和头部姿态的目标人脸模型。
[0077] 如图3所示为表演者的不同表情与合成的相应脸部表情的对比图。上面一排为表演者的不同表情,从左到右分别为中性、微笑、大笑、惊讶以及开心表情;下面一排为合成的相应脸部表情,从左到右分别为中性、微笑、大笑、惊讶以及开心表情。从图3可以看出:合成的人脸模型具有与表演者相似的面部表情和头部姿态,同时保留了人脸模型原有的细节特征。