基于UE引擎的表情捕捉方法及装置与流程

文档序号:15494182发布日期:2018-09-21 21:18阅读:712来源:国知局

本发明属于计算机视觉技术领域,具体涉及一种基于ue引擎的表情捕捉方法及装置。



背景技术:

随着表情动画在电影、动画、游戏等领域广泛应用,虚拟角色生动的表情带给用户丰富的观感体验。面部表情捕捉是实现真实细腻的表情动画的关键技术,不仅可以将真人表情复现在虚拟角色上,提高虚拟角色的真实性,还可以降低人工干预的代价,减少人工成本。

现有的面部表情捕捉方案包括基于单个普通相机捕捉面部表情以及基于faceware软件捕捉面部表情,其中基于单个普通相机捕捉面部表情,虽然便于部署并且在自然环境中即可持续操作,但是该方法捕捉的面部表情数据质量不能满足要求,且当背景光照变化时,捕捉效果不稳定;此外,通过单个普通相机捕捉面部表情,只支持静态网络模型,获取的面部表情数据的格式与后续处理软件中虚拟角色模型所用的格式要求不同,对用户进行其他动画编辑时有所限制,为后期的其他动画开发制作造成不便。

基于faceware软件捕捉面部表情,通过视频、网络相机、faceware头盔式相机等捕捉人物面部运动,将捕捉到的人物面部运动情况传输至虚拟角色,生成虚拟角色的面部表情动画,但是动画、游戏制作等需要将面部表情动画与肢体动画相结合,生成独立的动画,仅通过面部表情捕捉软件无法实现,通过该方法捕捉到的数据只能使用软件内部将面部表情参数生成角色面部动画的功能,不支持其他功能,降低了动画制作的效率。

现有技术的方案均只能根据获取的面部表情参数生成角色的面部动画,无法直接配合其他部位(如全身动作)动画进行编辑等,例如,动画场景中,有风吹过时,头发会被吹起,但是现有技术的方案表情无法做出相应的改变,用户不能方便地观察捕捉的表情动画是否能与其他动画效果配合起来,只能先录制好表情动画、导出到软件外部,再进行其它动画编辑;如果效果不好就需要重新捕捉再导出,使制作动画效率降低、流程变慢。

因此,如何提出一种解决上述问题的方案是本领域技术人员目前需要解决的问题。



技术实现要素:

为了解决现有技术中的上述问题,即为了解决现有技术捕捉到的面部表情数据无法实时与其他动画进行编辑的问题,本发明提供了一种基于ue虚拟引擎的表情捕捉方法,所述方法包括:

根据预先构建的基础表情模型识别用户表情;

计算所述用户表情的表情权重参数,并将其转换为预先构建的虚拟角色的表情权重参数;

根据所述预先构建的虚拟角色的表情权重参数,基于ue虚拟引擎渲染输出所述虚拟角色的表情。

在上述方法的优选技术方案中,“将其转换为预先构建的虚拟角色的表情权重参数”,其方法为:

判断所述用户表情的表情权重参数的种类是否与标准表情权重参数的种类一致;

若种类一致,则将所述用户表情的表情权重参数赋值给所述标准表情权重参数;

若种类不一致,则通过权重参数转换函数将所述用户表情的表情权重参数转换为所述虚拟角色的表情权重参数;

其中,所述标准表情权重参数为所述虚拟角色预设的表情权重参数。

在上述方法的优选技术方案中,所述预先构建的基础表情模型,其构建方法为:

通过体感相机采集多种基础表情,基于多种基础表情使用faceshift软件和所述ue虚拟引擎分析拟合出包含多种基础表情的基础表情模型。

在上述方法的优选技术方案中,“根据所述预先构建的虚拟角色的表情权重参数,基于ue虚拟引擎渲染输出所述虚拟角色的表情”,其方法为:

将所述虚拟角色的表情权重参数输入目标变形设置函数,控制所述虚拟角色的面部顶点变形做出表情,所述ue虚拟引擎渲染输出所述虚拟角色的表情。

本发明的第二方面提供一种基于ue虚拟引擎的表情捕捉装置,所述装置包括:

识别模块,所述识别模块被配置为根据预先构建的基础表情模型识别用户表情;

转换模块,所述转换模块被配置为计算所述用户表情的表情权重参数,并将其转换为预先构建的虚拟角色的表情权重参数;

输出模块,所述输出模块被配置为根据所述预先构建的虚拟角色的表情权重参数,基于ue虚拟引擎渲染输出所述虚拟角色的表情。

在上述方法的优选技术方案中,所述转换模块还用于:

判断所述用户表情的表情权重参数的种类是否与标准表情权重参数的种类一致;

若种类一致,则将所述用户表情的表情权重参数赋值给所述标准表情权重参数;

若种类不一致,则通过权重参数转换函数将所述用户表情的表情权重参数转换为所述虚拟角色的表情权重参数;

其中,所述标准表情权重参数为所述虚拟角色预设的表情权重参数。

在上述方法的优选技术方案中,所述识别模块还用于:

通过体感相机采集多种基础表情,基于多种基础表情使用faceshift软件和所述ue虚拟引擎分析拟合出包含多种基础表情的基础表情模型。

在上述方法的优选技术方案中,所述输出模块还用于:

将所述虚拟角色的表情权重参数输入目标变形设置函数,控制所述虚拟角色的面部顶点变形做出表情,所述ue虚拟引擎渲染输出所述虚拟角色的表情。

本发明的第三方面提供一种存储装置,其中存储有多条程序,所述程序适于由处理器加载并执行如上述任一项所述的基于ue虚拟引擎的表情捕捉方法。

本发明的第四方面提供一种处理装置,包括处理器、存储设备;处理器,适于执行各条程序;存储设备,适于存储多条程序;所述程序适于由处理器加载并执行如上述任一项所述的基于ue虚拟引擎的表情捕捉方法。

与最接近的现有技术相比,本发明提供一种基于ue虚拟引擎的表情捕捉方法,包括根据预先构建的基础表情模型识别用户表情;计算用户表情的表情权重参数,并将其转换为预先构建的虚拟角色的表情权重参数;根据预先构建的虚拟角色的表情权重参数,基于ue虚拟引擎渲染输出虚拟角色的表情。

上述技术方案至少具有如下有益效果:

本申请的技术方案通过深度相机采集用户的表情并进行识别,得到用户的表情后计算表情对应的权重参数,将其转换为虚拟角色的表情权重参数,输入ue虚拟引擎,ue虚拟引擎根据输入的表情权重参数实时控制角色的面部动画,通过预先设置的表情转换对应关系输出虚拟角色的表情,从而可以实现在ue引擎中实时生成面部表情动画,便于与其他动画格式同时进行编辑,为后期开发制作提供便利,解决了捕捉到的面部表情数据无法实时与其他动画进行编辑的问题。

附图说明

图1为本发明一种实施例的基于ue引擎的表情捕捉方法的流程示意图;

图2为本发明一种实施例的基于ue引擎的表情捕捉方法的效果示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围

下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。

参阅附图1,图1示例性的给出了本实施例中基于ue引擎的表情捕捉方法的流程示意图。如图1所示,本实施例中包括下述步骤:

步骤s1:根据预先构建的基础表情模型识别用户表情;

在本发明实施例中,基础表情模型可以是系统提供的一般用户的基础表情模型,也可以为了提升表情识别的效果,在对表情进行捕捉和识别之前,针对用户创建基础表情库,并训练出基础表情模型,提高表情跟踪的精度。具体地,可以通过体感相机采集用户的表情,用户站立在体感相机前约0.6米处做出表情,为了识别过程中尽可能地识别出用户的表情,用户需要在体感相机前做出23种表情,基于23种表情通过软件分析拟合为包含51种基础表情的基础表情模型,在实际操作过程中,当体感相机获取到用户的表情后,将用户的表情转化为对应的数据,将其与预先构建的基础表情模型中的表情数据进行对比,若数据吻合,则能够确定用户所做出的表情的类型,并且将该表情对应的数据用于后续计算。

在实际应用中,体感相机可以为kinect,kinect能够获取用户脸部表情的深度数据,实现对人脸三维数据的实时捕获;23种表情包括:闭嘴中性表情,张嘴,微笑,眉毛上扬,眉毛下沉,鄙视,下巴向左,下巴向右,下巴向前,嘴巴向左,嘴巴向右,酒窝(和微笑类似,但嘴角不上扬),下巴抬起,嘟嘴,噘嘴(和嘟嘴类似,但嘴唇张开),嘴角向下,抿嘴,鼓嘴,咀嚼,嘴唇挤压,拉伸嘴角,下嘴唇向下,上嘴唇向上;可以使用面部识别软件faceshift与ue虚拟引擎相结合,将23种表情分析拟合为包含51种基础表情的基础表情模型,其中,faceshift能够自动检测体感相机并与其连接,计算表情的权重参数。

步骤s2:计算所述用户表情的表情权重参数,并将其转换为虚拟角色的表情权重参数;

在本发明实施例中,可以用pc机连接一台kinect,faceshift能够自动检测体感相机并与其连接,kinect捕获的人脸表情的深度数据可以实时传输给faceshift,当faceshift计算出当前表情的权重参数后,可以事先在ue(unrealengine,虚拟引擎)引擎中设置好ip地址和端口号,以便接收faceshift发送的表情权重参数。faceshift将kinect获取的人脸表情深度数据与用户的基础表情模型进行对比分析,faceshift能够自动计算出当前表情的51个权重参数,记为{wi,i=1,2,…,51}。

具体地,以n个基础表情组成的blendshape表情模型为例,每一个基础表情都用含有p个顶点的三维网格人脸模型表示,每个顶点有三个分量x、y、z,即每个顶点的空间坐标为(x,y,z)。将每个基础表情的顶点坐标按任意顺序展开为长向量,但是展开后每个基础表情的顶点坐标之后的展开顺序应该是一样的,展开顺序可以为(xxxyyyzzz)或者(xyzxyzxyz)等,这样就得到n个长度为3p的向量bk,k=1,2,…,n,用b0表示中性表情,bk-b0即为第k个基础表情bk与中性表情b0之差,当前表情可以表示为:其中,wk表示在区间[0,1]内的任意值。因此,51个基础表情模型可以表示为fi=bi-b0(i=1,…,51),将上述公式简化为其中f=f-b0。

在实施例的一个优选实施方案中,将用户表情的表情权重参数转换为预先构建的虚拟角色的表情权重参数,其方法为:

判断所述用户表情的表情权重参数的种类是否与标准表情权重参数的种类一致;

若种类一致,则将所述用户表情的表情权重参数赋值给所述标准表情权重参数;

若种类不一致,则通过权重参数转换函数将所述用户表情的表情权重参数转换为所述虚拟角色的表情权重参数;

其中,所述标准表情权重参数为所述虚拟角色预设的表情权重参数。

具体地,假定虚拟角色表情库中含有n个基础表情,ue引擎获取faceshift传来的51个权重参数{wi,i=1,2,…,51},其中,表情权重参数的值所在区间为(0,1);若虚拟角色的基础表情库的表情种类与faceshift中的设定的表情种类完全一致,那么n=51,则虚拟角色的表情权重vi=wi,i=1,2,…,51;若虚拟角色的基础表情库的表情种类较少,少于51种,则选择faceshift表情库中与虚拟角色的第j个基础表情最接近的表情i的权重参数wj赋值给vi,即vi=wj,其中,可以通过人工判断两个表情库中最接近的表情权重参数,具体地,可以在ue引擎或者角色建模软件中更改基础表情权重参数,观察角色面部网格模型如何变形,将网格模型变形区域的效果与faceshift表情库中的表情进行比较,找到最接近的表情;若角色的基础表情种类较多,多余51种,则选取虚拟角色基础表情库的一个子集与faceshift中的基础表情一一对应,该子集中的权重参数设置为其余表情的权重参数置为0,通过上述判断和选择,可以根据用户表情权重参数将其转换为虚拟角色的表情权重参数。在实际应用中,可以将基础表情权重的对应关系写入系统文件中,通过读取系统文件中的对应关系进行表情权重转换,将该过程封装成ue引擎的函数,ue引擎通过在蓝图中调用权重参数转换的函数计算虚拟角色最终的表情权重参数。

步骤s3:根据虚拟角色的表情权重参数,基于ue虚拟引擎渲染输出所述虚拟角色的表情;

得到虚拟角色的表情权重参数后,将其输入目标变形设置函数中,控制虚拟角色的面部顶点变形,使虚拟角色做出相应的表情,并通过ue引擎实时渲染输出虚拟角色的表情。

faceshift捕捉到的表情参数可以通过网络协议实时传输到ue虚拟引擎内,ue虚拟引擎根据网络协议传输来的表情参数实时生成对应的虚拟角色面部动画模块,任意的虚拟角色模型事先配置好了表情转换关系后,均可以使用,由于faceshift的角色模型只支持静态网络模型,而对于角色骨骼动画(如全身动作)、角色与环境互动动画(如头发被风吹起)等,需要带骨骼的模型或者其他的格式要求,此时faceshift则不识别或者不支持该格式,将faceshift捕捉到的表情参数传输至ue虚拟引擎后,用户可以对该角色模型进行其他的动画效果编辑,使得角色动作动画、环境互动动画等效果与表情动画同时展现出来,为后期的其他动画开发制作提供了方便。

如图2所示,图2示例性地给出了基于ue引擎的表情捕捉方法的效果示意图,通过上述步骤,faceshift捕捉到的表情数据可以在用户需要的任意角色模型上实时的生成,并且不影响用户对该角色模型进行其他的动画效果编辑,为后期的其他动画开发制作提供了方便。

本发明还提供一种基于ue虚拟引擎的表情捕捉装置,所述装置包括:

识别模块,所述识别模块被配置为根据预先构建的基础表情模型识别用户表情;

转换模块,所述转换模块被配置为计算所述用户表情的表情权重参数,并将其转换为预先构建的虚拟角色的表情权重参数;

输出模块,所述输出模块被配置为根据所述预先构建的虚拟角色的表情权重参数,基于ue虚拟引擎渲染输出所述虚拟角色的表情。

在本发明实施例中的一种优选实施方案中,转换模块还用于:

判断所述用户表情的表情权重参数的种类是否与标准表情权重参数的种类一致;

若种类一致,则将所述用户表情的表情权重参数赋值给所述标准表情权重参数;

若种类不一致,则通过权重参数转换函数将所述用户表情的表情权重参数转换为所述虚拟角色的表情权重参数;

其中,所述标准表情权重参数为所述虚拟角色预设的表情权重参数。

在本发明实施例中的一种优选实施方案中,识别模块还用于:

通过体感相机采集用户的23种基础表情,基于采集的23种基础表情使用faceshift软件分析拟合出包含51种表情的基础表情模型。

在本发明实施例中的一种优选实施方案中,输出模块还用于:

将所述虚拟角色的表情权重参数输入目标变形设置函数,控制所述虚拟角色的面部顶点变形做出表情,所述ue虚拟引擎渲染输出所述虚拟角色的表情。

一种存储装置,其中存储有多条程序,所述程序适于由处理器加载并执行如上述的基于ue虚拟引擎的表情捕捉方法。

一种处理装置,包括处理器、存储设备;处理器,适于执行各条程序;存储设备,适于存储多条程序;所述程序适于由处理器加载并执行如上述的基于ue虚拟引擎的表情捕捉方法。

所属技术领域的技术人员可以清楚地了解到,为了描述的方便和简洁,本发明实施例的具体工作过程以及相关说明,可以参考前述实施例中的对应过程,且与上述具有相同的有益效果,在此不再赘述。

结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1