一种表情合成方法及装置与流程

文档序号:11433503阅读:275来源:国知局
一种表情合成方法及装置与流程

本申请涉及动画技术领域,尤其涉及一种表情合成方法及装置。



背景技术:

在社会交往中,人脸表情能够传达重要、丰富的信息。随着计算机技术的快速发展,表情合成技术在图形图像处理、计算机辅助设计等领域受到越来越多研究人员的关注。它在游戏娱乐、媒体制作、虚拟现实设计、远程虚拟通讯、远程医疗服务、虚拟视频会议、虚拟角色交互应用等方面有着重要的用途。

基于三维空间模型的人脸表情合成是目前的研究热点。人脸表情的合成实质上是人脸表情数据的合成。通过将人脸在三维空间中建模,可以得到人脸上每个顶点在三维空间中的位置坐标。对于不同的表情,人脸的各顶点的位置坐标是不相同的。例如,一般情况下,人在微笑的时候嘴、眼睛、鼻子等部位都会有相应变化,嘴角会上扬、眼睑会收缩、鼻孔会张大。所以,当人在微笑时,这些部位对应的顶点的位置坐标和人在其他表情(例如没有表情、愤怒、伤心等表情)下对应的位置坐标是不相同的。

目前通常采用融合变形(blendshape)的方式对人脸的表情数据进行合成。融合变形的原理为:首先获取标准人脸的第一表情的表情数据与标准人脸的第二表情的表情数据之间的差值,然后将该差值与目标人脸的当前表情的表情数据相加或相减,得到目标人脸的目标表情的表情数据,所述第二表情和所述当前表情是相匹配的,第一表情和目标表情是相匹配的。其中,标准人脸是标准人的脸,是作为基准的人脸,它可以通过对某个实际人脸模拟得到,也可以是抽象出来的人脸;目标人脸为用户的脸。举个例子,假设标准人脸的第一表情为微笑,第二表情为没有表情;目标人脸的当前表情也为没有表情,目标表情为微笑。那么目标人脸微笑对应的表情数据是根据标准人脸微笑对应的表情数据和标准人脸没有表情对应的表情数据之间的差值,与目标人脸没有表情对应的表情数据进行相加得到。

因为在第一表情和第二表情在被选定的情况下,标准人脸的第一表情的表情数据与标准人脸的第二表情的表情数据之间的差值是固定的,所以不管目标人脸是什么特点,其表情数据计算的基准是相同的。而不同用户的人脸形状与标准人的人脸形状通常均有差别,比如眼睛大小不一、眉毛高低不一、人脸轮廓不一等,所以根据现有技术的融合变形方法得到目标人脸的目标表情的表情数据可能会与目标人脸真实在做目标表情时得到的表情数据差距较大,甚至会出现不符合生理现象的可能。



技术实现要素:

为了解决现有技术中存在的技术问题,本申请提供了表情合成方法及装置,实现了提高根据合成的具有目标表情的目标脸的真实性的目的。

本申请提供了一种表情合成方法,所述方法包括:

获取目标脸的待处理表情的表情数据,所述待处理表情的表情数据为所述目标脸具有所述待处理表情时各顶点的位置坐标;

获取标准脸的第一表情的表情数据和所述标准脸的第二表情的表情数据,所述第一表情的表情数据为所述标准脸具有所述第一表情时各顶点的位置坐标,所述第二表情的表情数据为所述标准脸具有所述第二表情时各顶点的位置坐标,所述目标脸的各顶点和所述标准脸的各顶点一一对应,且所述标准脸的第一表情与所述目标脸的待处理表情相同;

根据所述标准脸的第一表情的表情数据和所述标准脸的第二表情的表情数据得到满足预设条件的表情数据,所述满足预设条件的表情数据为运动幅度小于或等于阈值的顶点的位置坐标;

利用所述预设条件的表情数据得到所述目标脸具有目标表情时的第一表情数据,所述目标表情与所述第二表情相同,所述第一表情数据的顶点和所述预设条件的表情数据的顶点相匹配;

按照预设规则构建目标函数,并以所述第一表情数据为约束条件,得到当所述目标函数的值满足预设条件时,所述目标脸具有目标表情时的第二表情数据,所述第二表情数据为所述目标脸的除所述第一表情数据的顶点以外的其他顶点的位置坐标;

根据所述目标脸的所述第一表情数据和所述第二表情数据合成具有所述目标表情的目标脸。

可选的,所述预设规则至少包括以下其中一个:

第一规则:所述目标脸从所述待处理表情变化到目标表情时面部整体变形程度,与所述标准脸从所述第一表情变化到所述第二表情的面部整体变形程度趋近一致;

第二规则:根据所述目标脸的第一表情数据和第二表情数据形成的目标脸是平滑的;

第三规则:所述目标脸在具有目标表情时的肌肉线条形状和所述标准脸在具有第二表情时的肌肉线条形状趋近一致;

第四规则:所述目标脸在具有目标表情时非肌肉线条之间的位置关系,和所述标准脸在具有第二表情时非肌肉线条之间的位置关系趋近一致。

可选的,若所述预设规则包括第一规则,则所述目标函数根据所述目标脸从所述待处理表情变化到所述目标表情时三角面的运动幅度,和所述标准脸从第一表情变化到第二表情时对应三角面的运动幅度之差得到,所述三角面是由三个顶点构成的面,所述目标脸的三角面用于拼成所述目标脸,所述标准脸的三角面用于拼成所述标准脸。

可选的,若所述预设规则包括第二规则,则所述目标函数根据所述目标脸从所述待处理表情变化到所述目标表情时,所述目标脸的第一三角面的变形程度和第二三角面的变形程度之差得到,所述第一三角面和所述第二三角面为由各自的三个顶点构成的面,所述第一三角面和所述第二三角面用于拼成目标脸,所述第一三角面和所述第二三角面为相邻的三角面。

可选的,若所述预设规则包括第三规则,则所述目标函数根据所述目标脸在具有目标表情时肌肉线条对应的顶点序列形成的第一向量,和所述标准脸在具有第二表情时所述肌肉线条对应的顶点序列形成的第二向量之方向差得到。

可选的,若所述预设规则包括第四规则,则所述目标函数根据所述目标脸的第一位置坐标差和所述标准脸在具有第二表情时的第二位置坐标差得到;所述第一位置坐标差为所述目标脸在具有目标表情时的第一非肌肉线条对应的顶点序列和第二非肌肉线条对应的顶点序列之间对应顶点的位置坐标差;所述第二位置坐标差为与所述标准脸在具有第二表情时所述第一非肌肉线条对应的顶点序列和所述第二非肌肉线条对应的顶点序列之间对应顶点的位置坐标差;所述第一非肌肉线条对应的顶点序列中各顶点和所述第二非肌肉线条对应的顶点序列中各顶点一一对应。

本申请还提供了一种表情合成装置,所述装置包括:待处理表情数据获取单元、标准脸表情数据获取单元、预设条件表情数据获取单元、第一表情数据获取单元、第二表情数据获取单元和表情合成单元;其中,

所述待处理表情数据获取单元,用于获取目标脸的待处理表情的表情数据,所述待处理表情的表情数据为所述目标脸具有所述待处理表情时各顶点的位置坐标;

所述标准脸表情数据获取单元,用于获取标准脸的第一表情的表情数据和所述标准脸的第二表情的表情数据,所述第一表情的表情数据为所述标准脸具有所述第一表情时各顶点的位置坐标,所述第二表情的表情数据为所述标准脸具有所述第二表情时各顶点的位置坐标,所述目标脸的各顶点和所述标准脸的各顶点一一对应,且所述标准脸的第一表情与所述目标脸的待处理表情相同;

所述预设条件表情数据获取单元,用于根据所述标准脸的第一表情的表情数据和所述标准脸的第二表情的表情数据得到满足预设条件的表情数据,所述满足预设条件的表情数据为运动幅度小于或等于阈值的顶点的位置坐标;

所述第一表情数据获取单元,用于利用所述预设条件的表情数据得到所述目标脸具有目标表情时的第一表情数据,所述目标表情与所述第二表情相同,所述第一表情数据的顶点和所述预设条件的表情数据的顶点相匹配;

所述第二表情数据获取单元,用于按照预设规则构建目标函数,并以所述第一表情数据为约束条件,得到当所述目标函数的值满足预设条件时,所述目标脸具有目标表情时的第二表情数据,所述第二表情数据为所述目标脸的除所述第一表情数据的顶点以外的其他顶点的位置坐标;

所述表情合成单元,用于根据所述目标脸的所述第一表情数据和所述第二表情数据合成具有所述目标表情的目标脸。

可选的,所述预设规则至少包括以下其中一个:

第一规则:所述目标脸从所述待处理表情变化到目标表情时面部整体变形程度,与所述标准脸从所述第一表情变化到所述第二表情的面部整体变形程度趋近一致;

第二规则:根据所述目标脸的第一表情数据和第二表情数据形成的目标脸是平滑的;

第三规则:所述目标脸在具有目标表情时的肌肉线条形状和所述标准脸在具有第二表情时的肌肉线条形状趋近一致;

第四规则:所述目标脸在具有目标表情时非肌肉线条之间的位置关系,和所述标准脸在具有第二表情时非肌肉线条之间的位置关系趋近一致。

可选的,若所述预设规则包括第一规则,则所述目标函数根据所述目标脸从所述待处理表情变化到所述目标表情时三角面的运动幅度,和所述标准脸从第一表情变化到第二表情时对应三角面的运动幅度之差得到,所述三角面是由三个顶点构成的面,所述目标脸的三角面用于拼成所述目标脸,所述标准脸的三角面用于拼成所述标准脸。

可选的,若所述预设规则包括第二规则,则所述目标函数根据所述目标脸从所述待处理表情变化到所述目标表情时,所述目标脸的第一三角面的变形程度和第二三角面的变形程度之差得到,所述第一三角面和所述第二三角面为由各自的三个顶点构成的面,所述第一三角面和所述第二三角面用于拼成目标脸,所述第一三角面和所述第二三角面为相邻的三角面。

可选的,若所述预设规则包括第三规则,则所述目标函数根据所述目标脸在具有目标表情时肌肉线条对应的顶点序列形成的第一向量,和所述标准脸在具有第二表情时所述肌肉线条对应的顶点序列形成的第二向量之方向差得到。

可选的,若所述预设规则包括第四规则,则所述目标函数根据所述目标脸的第一位置坐标差和所述标准脸在具有第二表情时的第二位置坐标差得到;所述第一位置坐标差为所述目标脸在具有目标表情时的第一非肌肉线条对应的顶点序列和第二非肌肉线条对应的顶点序列之间对应顶点的位置坐标差;所述第二位置坐标差为与所述标准脸在具有第二表情时所述第一非肌肉线条对应的顶点序列和所述第二非肌肉线条对应的顶点序列之间对应顶点的位置坐标差;所述第一非肌肉线条对应的顶点序列中各顶点和所述第二非肌肉线条对应的顶点序列中各顶点一一对应。

本申请通过所述标准脸的第一表情的表情数据和第二表情的表情数据进行比对,挑选出运动幅度小于或等于阈值的顶点,然后找到与标准脸的这部分顶点匹配的目标脸的顶点,得到目标脸这部分顶点对应的表情数据,即所述第一表情数据。然后按照预设规则构建目标函数,并以所述第一表情数据为约束条件,得到当所述目标函数的值满足预设条件时,所述目标脸具有目标表情时的第二表情数据。由于所述目标函数的作用是目标脸做各种表情时其变化的趋势都应与标准脸尽量一致,同时又兼顾了每个目标脸自己的特点。所以,相对于现有技术,根据第一表情数据和第二表情数据合成的具有目标表情的目标脸与真实的具有目标表情的目标脸更为接近。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本申请实施例一提供的一种表情合成方法的流程图;

图2为本申请实施例一中标准脸在具有第一表情时的示意图;

图3为本申请实施例一中标准脸在具有第二表情时的示意图

图4为本申请实施例一中采用三角面拼接目标脸或标准脸的示意图;

图5为本申请实施例二提供的一种表情合成装置的结构框图。

具体实施方式

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

实施例一:

参见图1,该图为本申请实施例一提供的一种表情合成方法的流程图。

本实施例提供的表情合成方法包括如下步骤:

步骤s101:获取目标脸的待处理表情的表情数据。

在本实施例中,目标脸为目标对象的脸,所述目标对象为可以具有表情的对象,不局限于真实的人,也可以是真实的动物或虚拟的人物、动物等。为了描述方便,在本实施例中,目标脸均以真实的人脸为例。

所述目标脸的待处理表情可以视为目标脸的基准表情,因为所述目标脸的目标表情是依据所述待处理表情的表情数据合成的。所述待处理表情可以是没有表情、哭、笑、怒等等。待处理表情和目标表情不相同,但都可以属于同一种类的表情(例如微笑和大笑,都属于笑),也可以属于不同种类的表情。

在本实施例中,可以基于三维空间坐标系构建目标脸,所述目标脸由若干个顶点构成,每个顶点在该三维空间坐标系中均有自己的位置坐标。所以,所述待处理表情的表情数据即为所述目标脸具有所述待处理表情时各顶点的位置坐标。至于如何构建目标脸,属于本领域技术人员的公知常识,此处不再赘述。

步骤s102:获取标准脸的第一表情的表情数据和所述标准脸的第二表情的表情数据。

在本实施例中,标准脸是指是标准对象的脸,所谓标准对象为可以具有表情的对象,不局限于真实的人,也可以是真实的动物或虚拟的人物、动物等。标准脸和目标脸应当是匹配的,如果目标脸是人脸,那么标准脸也应当是人脸;如果标准脸是猫的脸,那么标准脸也应当为猫的脸。为了描述方便,在本实施例中,标准脸均以真实的人脸为例。

所述标准脸的第一表情和所述目标脸的待处理表情相同,所述标准脸的第二表情和所述目标脸的目标表情相同。本实施例的基本构思是利用标准脸的第一表情的表情数据和第二表情的表情数据,以及目标脸的待处理表情的表情数据来得到目标脸的目标表情的表情数据。

所述标准脸的构建也是基于三维坐标系构建的,所述标准脸在三维坐标系中也是由若干个顶点构成。所述第一表情的表情数据为所述标准脸具有所述第一表情时各顶点的位置坐标,所述第二表情的表情数据为所述标准脸具有所述第二表情时各顶点的位置坐标。需要注意的是,标准脸的各顶点和目标脸的各顶点是一一对应的关系,例如标准脸的鼻子由50个顶点构成,这些顶点之间具有特定的位置关系,那么目标脸的鼻子也应当由50个顶点构成,其这些顶点之间的位置关系与标准脸的顶点之间的位置关系类似。在实际应用中,可以对各顶点赋予标识,例如编号,那么可以通过顶点编号相同的方式来进行一一对应。

步骤s103:根据所述标准脸的第一表情的表情数据和所述标准脸的第二表情的表情数据得到满足预设条件的表情数据。

所述满足预设条件的表情数据为运动幅度小于或等于阈值的顶点的位置坐标。

步骤s104:利用所述预设条件的表情数据得到所述目标脸具有目标表情时的第一表情数据。

所述目标表情与所述第二表情相同,所述第一表情数据的顶点和所述预设条件的表情数据的顶点相匹配。

在本实施例中,可以根据所述标准脸的第一表情的表情数据和第二表情的表情数据进行比对,挑选出运动幅度小于或等于阈值的顶点,然后找到与标准脸的这部分顶点匹配的目标脸的顶点,得到目标脸这部分顶点对应的表情数据,即所述第一表情数据。在实际应用中,所述阈值为一个较小的值,也就是说,当标准脸从第一表情变化到第二表情时,若存在有运动幅度非常小的顶点,则可以将该部分顶点的运动幅度直接与目标脸的待处理表情的表情数据进行相加或相减,得到目标表情的该部分顶点的表情数据。或者说,在找到运动幅度小的顶点后,直接将待处理表情的这部分顶点对应的表情数据赋值给目标表情这部分顶点的表情数据。即通过目标表情的这部分顶点已知的表情数据来作为约束项,其余顶点的表情数据(即第二表情数据)通过下文的目标函数进行求解。

比如说,判断标准脸第j个顶点v从第一表情变化到第二表情时,其位置坐标是否变化,若变化幅度(即运动幅度)vdiff小于或等于某个阈值ε,则将其设置为chard约束项。即:

当vdiff≤ε时,

其中,是指标准脸在具有第二表情时第j个顶点v的位置坐标,是指标准脸在具有第一表情时第j个顶点v的位置坐标。参见图2(a),该图为标准脸在具有第一表情时的示意图;参见图2(b),该图为标准脸在具有第二表情时的示意图。

是指目标脸在具有目标表情时第j个顶点v的位置坐标,是指目标脸在具有待处理表情时第j个顶点v的位置坐标。参见图3,该图为目标脸在具有待处理表情时的示意图。

的含义是固定的值。

或者,当vdiff≤ε时,直接令当然,相比于这种方案,上面那种方案虽然计算量更大,但是合成的目标脸更为准确。需要注意的是,约束项对应的第一表情数据也参与到下文中目标函数的计算,因为这些数据会对其他数据产生影响。

步骤s105:按照预设规则构建目标函数,并以所述第一表情数据为约束条件,得到当所述目标函数的值满足预设条件时,所述目标脸具有目标表情时的第二表情数据。

在本实施例中,按照预设规则构建目标函数,所述目标函数用于求解目标脸具有目标表情时的第二表情数据,所述第二表情数据为所述目标脸的除所述第一表情数据的顶点以外的其他顶点的位置坐标。所述目标函数的作用是目标脸做各种表情时其变化的趋势都应与标准脸尽量一致,同时又兼顾了每个目标脸自己的特点。

在本实施例中,所述预设规则可以包括以下四个规则中的至少一个:

第一规则:所述目标脸从所述待处理表情变化到目标表情时面部整体变形程度,与所述标准脸从所述第一表情变化到所述第二表情的面部整体变形程度趋近一致。

参见图4,目标脸和标准脸除了用位于三维坐标系中的顶点表示以外,还可以用由三个顶点构成的三角面来表示,这三个顶点不是任意的三个顶点,而是用于拼成目标脸或标准脸的三个顶点,即所述目标脸的三角面用于拼成所述目标脸,所述标准脸的三角面用于拼成所述标准脸。一个三角面的每条边仅分别有两个顶点。脸在表情变化时的变形可以看作是各个三角面通过运动实现,所以,表情变化时面部的整体变形程度可以由各个三角面的运动幅度来表示。

所述目标脸从所述待处理表情变化到目标表情时面部整体变形程度,与所述标准脸从所述第一表情变化到所述第二表情的面部整体变形程度趋近一致,其目的在于使得最终获得的目标脸的目标表情与标准脸的第二表情是相同的,例如都是微笑或都是大哭。

为了体现上述思想,所述目标函数可以根据所述目标脸从所述待处理表情变化到所述目标表情时三角面的运动幅度,和所述标准脸从第一表情变化到第二表情时对应三角面的运动幅度之差得到。

例如,所述目标函数可以为:

emotion=∑||q-t||

其中,q表示所述目标脸从所述待处理表情变化到所述目标表情时三角面的运动幅度,v=[v2-v1,v3-v1,v4-v1],v1、v2和v3分别是标准脸在具有第一表情时三角面顶点1的位置坐标、顶点2的位置坐标和顶点3的位置坐标。v4为标准脸在具有第一表情时顶点4的位置坐标,顶点4与顶点1(或顶点2、顶点3)的连线垂直于该三角面,且顶点4和顶点1(或顶点2、顶点3)之间的距离为单位长度。分别是标准脸在具有第二表情时该三角面顶点1的位置坐标、顶点2的位置坐标和顶点3的位置坐标。为标准脸在具有第二表情时顶点4的位置坐标,顶点4与顶点1(或顶点2、顶点3)的连线垂直于该三角面,且顶点4和顶点1(或顶点2、顶点3)之间的距离为单位长度。

t表示所述标准脸从第一表情变化到第二表情时对应三角面的运动幅度。v'=[v'2-v'1,v'3-v'1,v'4-v'1],v'1、v'2和v'3分别是目标脸在具有待处理表情时三角面顶点1的位置坐标、顶点2的位置坐标和顶点3的位置坐标。v'4为目标脸在具有待处理表情时顶点4的位置坐标,顶点4与顶点1(或顶点2、顶点3)的连线垂直于该三角面,且顶点4和顶点1(或顶点2、顶点3)之间的距离为单位长度。分别是目标脸在具有目标表情时该三角面顶点1的位置坐标、顶点2的位置坐标和顶点3的位置坐标。为目标脸在具有目标表情时顶点4的位置坐标,顶点4与顶点1(或顶点2、顶点3)的连线垂直于该三角面,且顶点4和顶点1(或顶点2、顶点3)之间的距离为单位长度。

emotion=∑||q-t||表示对所有三角面分别对应的q和t之差的模求和。

第二规则:根据所述目标脸的第一表情数据和第二表情数据形成的目标脸是平滑的。

在本实施例中,目标脸平滑的目的在于抑制图像中像素的噪声突变。对目标脸进行平滑也可以采用三角面来进行,如果每对相邻三角面是平滑的,那么拼接而成的目标脸也是平滑的。相邻三角面是指其中一条边重叠的两个三角面。

为了体现上述思想,所述目标函数可以根据所述目标脸从所述待处理表情变化到所述目标表情时,所述目标脸的第一三角面的变形程度和第二三角面的变形程度之差得到,所述第一三角面和所述第二三角面为由各自的三个顶点构成的面,所述第一三角面和所述第二三角面用于拼成目标脸,所述第一三角面和所述第二三角面为相邻的三角面。

例如,所述目标函数可以为:

其中,n=adj(m)表示目标脸的三角面n为目标脸的三角面m的相邻面,tm表示三角面m对应的t(上文中提到),tn表示三角面n对应的t(上文中提到),ntriangle表示目标脸的三角面的个数。

第三规则:所述目标脸在具有目标表情时的肌肉线条形状和所述标准脸在具有第二表情时的肌肉线条形状趋近一致。

由于标准脸在具有第二表情时的肌肉线条是符合生理构造的,例如按照人脸的生理构造,脸部的每条肌肉线条之间不交叉。所以,所述目标脸在具有目标表情时的肌肉线条形状和所述标准脸在具有第二表情时的肌肉线条形状趋近一致的目的在于:在具有第二表情的标准脸合成之后,其肌肉线条也是符合生理构造的,例如不交叉。

脸的肌肉线条可以通过顶点序列表示。因此,所述目标函数可以根据所述目标脸的肌肉线条对应的顶点序列形成的第一向量,和所述标准脸的所述肌肉线条对应的顶点序列形成的第二向量之方向差得到。

例如,假设依据顶点序列contour={c1,c2,c3,...,ck}形成向量(c1,c2,c3,...,ck),c1,c2,c3,...,ck分别表示该顶点序列中的各个顶点的位置坐标。目标脸在具有目标表情时肌肉线条对应的顶点序列形成的第一向量为标准脸在具有第二表情时所述肌肉线条对应的顶点序列形成的第二向量为

那么目标函数

其中,dirk-1为中间参数,ck为顶点序列contour中的第k个顶点,ck-1为顶点序列contour中的第k-1个顶点,1<k≤k。是指目标脸具有目标表情时对应的dirk-1,是指标准脸具有第二表情时对应的dirk-1。

第四规则:所述目标脸在具有目标表情时非肌肉线条之间的位置关系,和所述标准脸在具有第二表情时非肌肉线条之间的位置关系趋近一致。

人脸除了肌肉线条之外,还有一些非肌肉线条,例如上眼皮、下眼皮、上嘴唇的上下两条边缘线、下嘴唇的上下两条边缘线等,这些线条之间的位置关系非常重要。现有技术中目标人脸的目标表情的表情数据是当前表情的表情数据加上或减去顶点固定的运动幅度得到的,所以有可能会出现非肌肉线条交叉的现象。例如,标准脸的眼睛从睁开到闭合,顶点的运动幅度是固定的,即标准脸的眼睛在闭合状态下,上眼皮和下眼皮基本重合。如果对于眼睛小于标准脸眼睛的目标脸,按照该固定的运动幅度得到的目标脸,其眼睛可能会出现闭合过渡的情况,即上眼皮位于下眼皮的下方;而如果对于眼睛大于标准脸眼睛的目标脸,按照该固定的运动幅度得到的目标脸,其眼睛可能会出现闭合不上的情况,即上眼皮和下眼皮之间存在有较大的缝隙。不论哪种情况,目标脸的合成效果都不佳。

为了避免这种现象的出现,第四规则规定:所述目标脸在具有目标表情时非肌肉线条之间的位置关系,和所述标准脸在具有第二表情时非肌肉线条之间的位置关系趋近一致。例如,目标脸在眼睛闭合状态下,上、下眼皮之间的位置关系应当和标准脸在眼睛闭合状态下上、下眼皮的位置关系趋近一致。

在本实施例中,非肌肉线条也可以用顶点序列来表示。所述目标函数可以根据所述目标脸的第一位置坐标差和所述标准脸在具有第二表情时的第二位置坐标差得到;所述第一位置坐标差为所述目标脸在具有目标表情时的第一非肌肉线条对应的顶点序列和第二非肌肉线条对应的顶点序列之间对应顶点的位置坐标差;所述第二位置坐标差为与所述标准脸在具有第二表情时所述第一非肌肉线条对应的顶点序列和所述第二非肌肉线条对应的顶点序列之间对应顶点的位置坐标差;所述第一非肌肉线条对应的顶点序列中各顶点和所述第二非肌肉线条对应的顶点序列中各顶点一一对应。

例如,假设上眼皮对应的顶点序列contoureye_up={u1,u2,u3,...,uk},u1,u2,u3,...,uk分别表示该顶点序列中的各个顶点的位置坐标;下眼皮对应的顶点序列contoureye_down={d1,d2,d3,...,dk},d1,d2,d3,...,dk分别表示该顶点序列中的各个顶点的位置坐标。

目标函数

其中,为目标脸在具有目标表情时顶点序列contoureye_up的第k个顶点,为目标脸在具有目标表情时顶点序列contoureye_down的第k个顶点,为目标脸在具有第二表情时顶点序列contoureye_up的第k个顶点,为目标脸在具有第二表情时顶点序列contoureye_down的第k个顶点,1<k≤k。

同理,也可以得到上嘴唇的下边缘和下嘴唇的上边缘的相对位置关系对应的目标函数。

上述四个规则对应的目标函数可以任选其一,也可以选择其中几个或全部。若选择多个目标函数,则可以将这些目标函数加权得到一个总的目标函数。例如可以得到目标函数:

e=α1emotion+α2esmooth+α3emuscle+α4ecross。

其中,α1、α2、α3和α4分别为目标函数emotion、esmooth、emuscle和ecross的权重。对于不同的目标表情,可以对α1、α2、α3和α4设置不同的值来使得合成后具有目标表情的目标脸更加真实。

当然,可以理解的是,上述四个规则以及每个规则对应的目标函数的设计并不构成对本申请的限定,本领域技术人员还可以根据具体情况自行设计规则以及规则对应的目标函数。

所述目标函数的值满足预设条件可以是所述目标函数的值最小,也可以是比最小值略大一点的情况,本申请不做具体限定。

步骤s106:根据所述目标脸的所述第一表情数据和所述第二表情数据合成具有所述目标表情的目标脸。

在本实施例中,采用第一表情数据作为约束项,通过目标函数求解得到所述目标脸的第二表情数据,这两部分表情数据合起来就是目标脸在具有目标表情时的所有表情数据,因此可以得到合成后的具有目标表情的目标脸。

本实施例通过所述标准脸的第一表情的表情数据和第二表情的表情数据进行比对,挑选出运动幅度小于或等于阈值的顶点,然后找到与标准脸的这部分顶点匹配的目标脸的顶点,得到目标脸这部分顶点对应的表情数据,即所述第一表情数据。然后按照预设规则构建目标函数,并以所述第一表情数据为约束条件,得到当所述目标函数的值满足预设条件时,所述目标脸具有目标表情时的第二表情数据。由于所述目标函数的作用是目标脸做各种表情时其变化的趋势都应与标准脸尽量一致,同时又兼顾了每个目标脸自己的特点。所以,相对于现有技术,根据第一表情数据和第二表情数据合成的具有目标表情的目标脸与真实的具有目标表情的目标脸更为接近。

基于以上实施例提供的一种表情合成方法,本申请实施例还提供了一种表情合成装置,下面结合附图来详细说明其工作原理。

实施例二

参见图5,该图为本申请实施例二提供的一种表情合成装置的结构框图。

本实施例提供的表情合成装置包括:待处理表情数据获取单元101、标准脸表情数据获取单元102、预设条件表情数据获取单元103、第一表情数据获取单元104、第二表情数据获取单元105和表情合成单元106;其中,

所述待处理表情数据获取单元101,用于获取目标脸的待处理表情的表情数据,所述待处理表情的表情数据为所述目标脸具有所述待处理表情时各顶点的位置坐标;

所述标准脸表情数据获取单元102,用于获取标准脸的第一表情的表情数据和所述标准脸的第二表情的表情数据,所述第一表情的表情数据为所述标准脸具有所述第一表情时各顶点的位置坐标,所述第二表情的表情数据为所述标准脸具有所述第二表情时各顶点的位置坐标,所述目标脸的各顶点和所述标准脸的各顶点一一对应,且所述标准脸的第一表情与所述目标脸的待处理表情相同;

所述预设条件表情数据获取单元103,用于根据所述标准脸的第一表情的表情数据和所述标准脸的第二表情的表情数据得到满足预设条件的表情数据,所述满足预设条件的表情数据为运动幅度小于或等于阈值的顶点的位置坐标;

所述第一表情数据获取单元104,用于利用所述预设条件的表情数据得到所述目标脸具有目标表情时的第一表情数据,所述目标表情与所述第二表情相同,所述第一表情数据的顶点和所述预设条件的表情数据的顶点相匹配;

所述第二表情数据获取单元105,用于按照预设规则构建目标函数,并以所述第一表情数据为约束条件,得到当所述目标函数的值满足预设条件时,所述目标脸具有目标表情时的第二表情数据,所述第二表情数据为所述目标脸的除所述第一表情数据的顶点以外的其他顶点的位置坐标;

所述表情合成单元106,用于根据所述目标脸的所述第一表情数据和所述第二表情数据合成具有所述目标表情的目标脸。

本实施例通过所述标准脸的第一表情的表情数据和第二表情的表情数据进行比对,挑选出运动幅度小于或等于阈值的顶点,然后找到与标准脸的这部分顶点匹配的目标脸的顶点,得到目标脸这部分顶点对应的表情数据,即所述第一表情数据。然后按照预设规则构建目标函数,并以所述第一表情数据为约束条件,得到当所述目标函数的值满足预设条件时,所述目标脸具有目标表情时的第二表情数据。由于所述目标函数的作用是目标脸做各种表情时其变化的趋势都应与标准脸尽量一致,同时又兼顾了每个目标脸自己的特点。所以,相对于现有技术,根据第一表情数据和第二表情数据合成的具有目标表情的目标脸与真实的具有目标表情的目标脸更为接近。

可选的,所述预设规则至少包括以下其中一个:

第一规则:所述目标脸从所述待处理表情变化到目标表情时面部整体变形程度,与所述标准脸从所述第一表情变化到所述第二表情的面部整体变形程度趋近一致;

第二规则:根据所述目标脸的第一表情数据和第二表情数据形成的目标脸是平滑的;

第三规则:所述目标脸在具有目标表情时的肌肉线条形状和所述标准脸在具有第二表情时的肌肉线条形状趋近一致;

第四规则:所述目标脸在具有目标表情时非肌肉线条之间的位置关系,和所述标准脸在具有第二表情时非肌肉线条之间的位置关系趋近一致。

可选的,若所述预设规则包括第一规则,则所述目标函数根据所述目标脸从所述待处理表情变化到所述目标表情时三角面的运动幅度,和所述标准脸从第一表情变化到第二表情时对应三角面的运动幅度之差得到,所述三角面是由三个顶点构成的面,所述目标脸的三角面用于拼成所述目标脸,所述标准脸的三角面用于拼成所述标准脸。

可选的,若所述预设规则包括第二规则,则所述目标函数根据所述目标脸从所述待处理表情变化到所述目标表情时,所述目标脸的第一三角面的变形程度和第二三角面的变形程度之差得到,所述第一三角面和所述第二三角面为由各自的三个顶点构成的面,所述第一三角面和所述第二三角面用于拼成目标脸,所述第一三角面和所述第二三角面为相邻的三角面。

可选的,若所述预设规则包括第三规则,则所述目标函数根据所述目标脸在具有目标表情时肌肉线条对应的顶点序列形成的第一向量,和所述标准脸在具有第二表情时所述肌肉线条对应的顶点序列形成的第二向量之方向差得到。

可选的,若所述预设规则包括第四规则,则所述目标函数根据所述目标脸的第一位置坐标差和所述标准脸在具有第二表情时的第二位置坐标差得到;所述第一位置坐标差为所述目标脸在具有目标表情时的第一非肌肉线条对应的顶点序列和第二非肌肉线条对应的顶点序列之间对应顶点的位置坐标差;所述第二位置坐标差为与所述标准脸在具有第二表情时所述第一非肌肉线条对应的顶点序列和所述第二非肌肉线条对应的顶点序列之间对应顶点的位置坐标差;所述第一非肌肉线条对应的顶点序列中各顶点和所述第二非肌肉线条对应的顶点序列中各顶点一一对应。

当介绍本申请的各种实施例的元件时,冠词“一”、“一个”、“这个”和“所述”都意图表示有一个或多个元件。词语“包括”、“包含”和“具有”都是包括性的并意味着除了列出的元件之外,还可以有其它元件。

需要说明的是,本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元及模块可以是或者也可以不是物理上分开的。另外,还可以根据实际的需要选择其中的部分或者全部单元和模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

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