一种实现与虚拟角色实时互动的表情克隆方法及装置制造方法及图纸

技术编号:14944266 阅读:69 留言:0更新日期:2017-04-01 10:50
本发明专利技术公开了一种实现与虚拟角色实时互动的表情克隆方法及装置,该方法涉及计算机图形学、虚拟现实等领域,包括以下步骤:一、对虚拟角色建模并绑定骨骼;二、建立虚拟角色的基础表情库;三、表情输入的训练,记录面部特征点在每个基础表情下的最大位移;四、表情追踪,通过运动捕捉设备,对真人面部表情变化进行录制,计算得到基础表情的权值;五、表情映射,将得到的基础表情权值实时传递给虚拟角色,并对相应骨骼旋转插值;六、虚拟角色表情的实时渲染输出。该方法能够快速、稳定、逼真地合成出虚拟角色表情,使得虚拟角色能够与真人实时而稳定的表情互动。

【技术实现步骤摘要】

本专利技术涉及计算机图形学领域以及虚拟现实领域,具体而言,是一种实现能够与虚拟角色实时互动的表情克隆方法及装置。
技术介绍
随着虚拟现实技术的不断发展,虚拟角色动画常常应用在动画、影视、游戏等许多重要的领域,尤其是需要人机互动的娱乐游戏。虚拟角色的动画包括肢体动画和表情动画两部分,为了实现虚拟角色的逼真效果,单纯的肢体动画已经无法满足用户的需求,逼真的表情动画是提升用户使用体验的重要因素。表情克隆是指,将真实的表情实时复现到虚拟角色中去,从而达到与虚拟角色互动的目的。快速、稳定、逼真地合成出虚拟角色表情是重要的目标。并且,表情合成方法需要在不同的虚拟角色,不同的真人用户之间使用,需要有很好的可扩展性。而现有的方法通常无法保证实时而又稳定地生成虚拟角色表情。目前生成表情动画的方法主要有:融合变形法和运动捕捉法。融合变形是一种基于面皮网格变形的方法,基于基础表情及相应的权值,通过对网格顶点的空间位置进行权值加成,得到各点新的空间位置,该方法所涉及面片顶点过多,计算量过大。运动捕捉是记录下真人演员面部的追踪点,记录下每个时刻的形态模型,再映射到相应的角色模型中去。将运动捕捉数据直接映射到角色的骨骼上的时候,由于录制设备本身的精度等原因,通常会出现抖动等不自然现象,需要对运动捕捉数据进行平滑等预处理,再映射给角色模型的骨骼。
技术实现思路
(一)要解决的技术问题本专利技术提供了一种实现与虚拟角色实时互动的表情克隆方法。该方法使用了一种全新的表情实时生成方法,能够将真人表情实时映射到虚拟角色中去,使得虚拟角色能够跟真人在表情上实时而稳定地交互。该方法用以解决现有的在实际应用中,表情动画流畅性和稳定性方面的欠缺。同时对于不同角色模型和真人用户有很好的可扩展性。(二)技术方案为解决上述技术问题,本专利技术提供了一种实现与虚拟角色实时互动的表情克隆方法,包括数据准备阶段和表情生成阶段。在数据准备阶段,主要包括以下几个步骤。角色建模、虚拟角色基础表情库建立、输入模型训练这三个步骤。其中,角色建模步骤,是对虚拟角色在三维软件中进行建模,并对其进行骨骼的绑定,对每根骨骼对应的面片设置合适的权重,使得对骨骼及其控制器进行操作时,都能够得到相对自然的表情。根据需求不同可以全身建模,或单独的头部建模。设定脖子的关节为整个头部的根关节。其中,虚拟角色基础表情库建立步骤,通过对已绑定的骨骼及其控制器的操控,得到角色模型的48种基础表情,并且,连同未进行表情操控的初始表情,总共得到49种表情,将这些表情存放于表情库中,以备后续操作使用。记录每一种基础表情所对应的所有关节的旋转值,此为权值为1时的旋转值。其中,输入模型训练步骤,真人面对运动捕捉摄像设备,先录制没有表情的初始表情,记录所有面部特征点的空间坐标,记为初始值。再参照虚拟角色基础表情库中所有的基础表情,做出相同的表情,并记录下面部特征点的空间坐标,与初始值的差值即为特征点位移,此时的位移为使用者在做此基础表情时,真人面部可以达到的最大位移,即此时权值为1。其中,对于真人表情录制所采用的运动捕捉摄像头设备,可以选取kinect等图像录制传感器。其中所录制的图像为基于深度信息的彩色图像,相比起单纯的彩色图像,能够更加便捷地得到面部特征点的空间位移,从而能够更加精确的得到基础表情的权值信息。在表情生成阶段,主要包括以下几个步骤。表情追踪、表情映射、渲染输出三个步骤。虚拟角色表情生成是真人表情到虚拟角色面部表情的实时克隆,是一种基于运动捕捉设备和实时渲染引擎的表情克隆方法。通过运动捕捉设备,对真人面部表情变化进行录制,得到基础表情的权值,并实时传递给虚拟角色,虚拟角色进行骨骼的旋转插值,在实时渲染平台中,对虚拟角色实时渲染输出,达到虚拟角色与真人实时互动的目的。其中,表情追踪步骤,通过运动捕捉设备对真人人脸进行摄制,得到实时的人脸彩色图像以及深度图像,对比人脸基础模型,识别出面部特征点,以及每个特征点的空间坐标。通过计算与初始表情特征点位移的差值,算出这些特征点的位移信息。并根据各骨骼在各基础表情权值为1时的位移,得到当前各基础表情的权值。其中,表情映射步骤,根据表情追踪得到的权值数组,输入给虚拟角色,再参照虚拟角色基础表情库,将权值赋给相应的基础表情,得到每一根骨骼在相应的基础表情下的旋转信息,并对每一根骨骼的这些旋转值进行叠加,相对于初始表情进行旋转插值,最终得到当前帧的虚拟角色表情。虚拟角色的表情是通过基于骨骼旋转插值的方法,对于基础表情进行融合得到的。除此之外,需要对眼珠和脖子进行单独的旋转计算。眼珠转动是通过运动捕捉设备对眼睛的单独摄制,计算其处于眼眶中的位置,并赋予虚拟角色。脖子转动,是根骨骼的旋转,是通过人体头部的整体旋转效果得到的,能够使得虚拟角色头部可以整体转动。其中,渲染输出步骤,是虚拟角色表情动画的实时渲染输出。根据得到的虚拟角色当前帧的最终表情,通过实时渲染引擎输出显示,其中渲染引擎可选用CryEngine等实时渲染引擎。附图说明图1为本专利技术实施例中的实现与虚拟角色实时互动的表情克隆方法流程图;图2为本专利技术中人体面部特征点的选取示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术作进一步的详细说明。本专利技术提供了一种实现与虚拟角色实时互动的表情克隆方法,包括数据准备阶段和表情生成阶段。在数据准备阶段,主要包括以下几个步骤。角色建模、虚拟角色基础表情库建立、输入模型训练这三个步骤。其中,角色建模步骤,是对虚拟角色在三维软件中进行建模,并对其进行骨骼的绑定,对每根骨骼对应的面片设置合适的权重,使得对骨骼及其控制器进行操作时,都能够得到相对自然的表情。根据需求不同可以全身建模,或单独的头部建模。设定脖子的关节为整个头部的根关节。其中,虚拟角色基础表情库建立步骤,通过对已绑定的骨骼及其控制器的操控,得到角色模型的48种基础表情,并且,连同未进行表情操控的初始表情,总共得到49种表情,将这些表情存放于表情库中,以备后续操作使用。记录每一种基础表情所对应的所有关节的旋转值,此为权值为1时的旋转值。其中,输入模型训练步骤,真人面对运动捕捉摄像设备,先录制没有表情的初始表情,记录所有面部特征点的空间坐标,记为初始值。再参照虚拟角色基础表情库中所有的基本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/CN105654537.html" title="一种实现与虚拟角色实时互动的表情克隆方法及装置原文来自X技术">实现与虚拟角色实时互动的表情克隆方法及装置</a>

【技术保护点】
一种实现与虚拟角色实时互动的表情克隆方法,其特征在于,包括如下步骤:步骤1、对虚拟角色在三维软件中进行建模,并对其进行骨骼的绑定,设定脖子关节为根关节;步骤2、建立基础表情库,所述基础表情库包括未经网格变形的初始表情和通过已绑定的骨骼对所述初始表情进行表情控制操作后得到的多种基础表情;步骤3、录制真人对应的所述初始表情和多种基础表情,获取初始表情下预定数量的面部特征点的初始空间坐标以及不同基础表情对应的所述真人面部特征点的位移空间坐标,根据所述面部特征点的初始空间坐标和位移空间坐标得到不同基础表情对应的所述面部特征点的最大位移,此时所述多种基础表情的权值为1;步骤4、实时捕捉真人的面部表情变化,得到真人对应的所述多个基础表情相应的权值,并利用所述权值对所述虚拟角色模型进行骨骼的旋转插值,实时渲染输出所述虚拟角色模型。

【技术特征摘要】
1.一种实现与虚拟角色实时互动的表情克隆方法,其特征在于,包
括如下步骤:
步骤1、对虚拟角色在三维软件中进行建模,并对其进行骨骼的绑定,
设定脖子关节为根关节;
步骤2、建立基础表情库,所述基础表情库包括未经网格变形的初始
表情和通过已绑定的骨骼对所述初始表情进行表情控制操作后得到的多
种基础表情;
步骤3、录制真人对应的所述初始表情和多种基础表情,获取初始表
情下预定数量的面部特征点的初始空间坐标以及不同基础表情对应的所
述真人面部特征点的位移空间坐标,根据所述面部特征点的初始空间坐标
和位移空间坐标得到不同基础表情对应的所述面部特征点的最大位移,此
时所述多种基础表情的权值为1;
步骤4、实时捕捉真人的面部表情变化,得到真人对应的所述多个基
础表情相应的权值,并利用所述权值对所述虚拟角色模型进行骨骼的旋转
插值,实时渲染输出所述虚拟角色模型。
2.如权利要求1所述的方法,其中,步骤4具体包括:
捕捉真人面部表情,识别真人当前面部表情下所述面部特征点及其空
间坐标;
计算当前面部表情下所述面部特征点的空间坐标与初始表情下所述
面部特征点的初始空间坐标的差值,得到所述面部特征点的当前位移;
利用不同基础表情对应的所述面部特征点的最大位移和当前位移得
到所述不同基础表情的当前权值;
将所述不同基础表情的当前权值赋予所述虚拟角色模型的相应基础
表情,得到每一骨骼在相应的基础表情下的旋转值,并对每一骨骼的所有
旋转值叠加后,得到与虚拟角色模型初始表情的旋转插值,最终得到当前
帧虚拟角色模型的当前面部表情;
根据所述虚拟角色模型的当前面部表情,实时渲染输出显示所述虚拟
角色模型。
3.如权利要求2所述的方法,其中,步骤4中对眼珠和脖子进行单
独的旋转计算,具体为:
眼珠转动是通过运动捕捉设备对眼睛的单独摄制,计算其处于眼眶中
的位置,并赋予虚拟角色;
脖子转动是根骨骼的旋转,是通过人体头部的整体旋转效果得到的。
4.如权利要求2所述的方法,其中,所述不同基础表情的当前权值
如下计算:
ωit=1mΣk=nn+m-1ωk]]>ωk=ΔTkΔTik(ΔTkΔTik>0)0(ΔTkΔTik≤0)]]>ΔTk=Ttk-T′0k其中,ωit为当前时刻t的基础表情pi对应的当前权值,ΔTk是第k个
面部特征点,在当前时刻t,相对于初始表情下对应面部特征点的位移,ΔTik为第k个面部特征点在第i个基础表情时,相对于初始表情的最大位移;T′0k为第k个面部特征点在初始表情时,经过全局坐标变换之后的空间坐标,
Ttk为当前面部表情下第k个面部特征点的空间坐标;ωk为第k个面部特
征点对于第i个基础表情pi的当前权值,n,n+1,...,n+m-1为第i个基
础表情所涉及的面部特征点,共m个。
5.如权利要求2所述的方法,其中,所述每一骨骼在相应的基础表
情下的旋转值如下计算:
qj=Slerp(q0,qij,ωi)=sin(1-ωi)θsinθq0+sinωiθsinθqij]]>θ=arccos(q0·qij)
其中,qj为骨骼sj经过旋转插值后的四元数旋转值,q0为初始表情的
四...

【专利技术属性】
技术研发人员:王雨萌王政徐波
申请(专利权)人:中国科学院自动化研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1