一种面部表情迁移方法及设备与流程

文档序号:12471053阅读:551来源:国知局
一种面部表情迁移方法及设备与流程

本发明涉及图像处理技术领域,尤其涉及一种面部表情迁移方法及设备。



背景技术:

人脸表情捕获是真实感图形学的重要组成部分,目前已经被广泛应用于电影、动画、游戏、网络聊天以及教育等领域。基于人脸表情迁移的人脸动画,是系统捕获用户的表情并将该表情映射到另一个目标图像上。

现有技术中,人脸表情迁移的实现方式主要有以下几种:

第一,在人体上佩戴能够准确跟踪以及捕获人脸表情的传感器。该方法需要昂贵的硬件设备支持,无法广泛应用于普通用户,且在人体上佩戴传感器导致用户体验差。

第二,目前常用的为采用Kinect设备实现人脸表情跟踪以及捕获,该Kinect设备能够通过普通摄像头得到图像二维信息,以及通过红外摄像头获得图像的深度信息,根据该图像二维信息以及该图像的深度信息能够很好捕捉人脸的信息变化。该方法成本较高,并且当人头部发生剧烈变化时,由于Kinect设备处理速度限制导致捕获的人脸表情不准确。

基于此,需要寻求一种人脸表情迁移的方法,以保证人脸表情迁移的准确性并降低实现成本、提高处理效率。



技术实现要素:

本发明实施例提供一种面部表情迁移的方法及设备,用以保证面部表情迁移的准确性并降低实现成本、提高处理效率。

本发明实施例提供的具体技术方案如下:

第一方面,本发明实施例提供了一种面部表情迁移方法,包括:

获得控制者当前面部图像,其中,所述面部图像为二维图像;

确定所述控制者当前面部图像的关键特征点,并根据所述关键特征点确定第一特征向量,其中,所述第一特征向量用于表征所述控制者当前面部表情,所述第一特征向量为二维列向量;

确定采用所述控制者的面部图像样本对应的第二特征向量线性表示所述第一特征向量所需的系数向量,其中,所述第二特征向量用于反映所述控制者的面部图像样本的面部表情,所述控制者的面部图像样本为二维图像;

根据所述系数向量以及被控者的面部图像样本对应的第三特征向量确定第四特征向量,其中,所述第三特征向量用于反映所述被控者的面部图像样本的面部表情,所述第四特征向量用于表征迁移后所述被控者面部表情,所述被控者的面部图像样本为二维图像。

第二方面,本发明实施例中提供了一种设备,包括:

获取模块,用于获得控制者当前面部图像,其中,所述面部图像为二维图像;

第一处理模块,用于确定所述控制者当前面部图像的关键特征点,并根据所述关键特征点确定第一特征向量,其中,所述第一特征向量用于表征所述控制者当前面部表情,所述第一特征向量为二维列向量;

第二处理模块,用于确定采用所述控制者的面部图像样本对应的第二特征向量线性表示所述第一特征向量所需的系数向量,其中,所述第二特征向量用于反映所述控制者的面部图像样本的面部表情,所述控制者的面部图像样本为二维图像;

第三处理模块,用于根据所述系数向量以及被控者的面部图像样本对应的第三特征向量确定第四特征向量,其中,所述第三特征向量用于反映所述被控者的面部图像样本的面部表情,所述第四特征向量用于表征迁移后所述被控者面部表情,所述被控者的面部图像样本为二维图像。

基于上述技术方案,本发明实施例中,获得控制者当前面部图像后,确定采用所述控制者的面部图像样本对应的第二特征向量,线性表示所述控制者当前面部表情的第一特征向量所需的系数向量,将该系数向量作用于被控者的面部图像样本对应的第三特征向量后,即可得到用于表征迁移后所述被控者面部表情的第四特征向量。该方式不需要额外的硬件设备支持,降低了实现成本,并且能够保证表情迁移的准确性,实现过程简单,提高了处理效率。

附图说明

图1为本发明实施例中面部表情迁移的过程示意图;

图2为本发明实施例中稀疏表示模型的示意图;

图3为本发明实施例中被控者的一张面部图像示意图;

图4为本发明实施例中被控者的面部图像样本库示意图;

图5为本发明实施例中对被控者的面部图像样本库中的每幅面部图像进行特征提取的示意图;

图6为本发明实施例中控制者当前的面部图像示意图;

图7为本发明实施例中表情迁移后被控者的面部图像示意图;

图8为本发明实施例中设备结构示意图。

具体实施方式

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

本发明实施例中,面部表情迁移是指将控制者的面部表情迁移到被控者的面部,使被控者呈现与控制者相同的面部表情。

本发明实施例中,需要预先建立控制者的面部图像样本库以及被控者的面部图像样本库。

优选地,控制者的面部图像样本库与被控者的面部图像样本库中包含的面部图像样本的个数相同;控制者的面部图像样本库中第N个面部图像样本对应的面部表情的类型,与被控者的面部图像样本库中第N个面部图像样本对应的面部表情的类型相同,示例的,对应的面部表情的类型可以为张嘴、微笑、抬眉毛、厌恶、挤左眼、挤右眼、愤怒、向左歪嘴、向右歪嘴、露齿笑、嘟嘴、噘嘴、翻嘴唇、鼓嘴、闭嘴、闭眼等中的一种,其中,N不小于1且不大于控制者或被控者面部图像样本库中包含的面部图像的总数。

例如,采集控制者面部的基本表情组成控制者的面部图像样本库,以及采集被控者面部的基本表情组成被控者的面部图像样本库,控制者或被控者的面部图像样本库中包括48个面部图像样本,该48个面部图像样本为在三个不同的拍摄角度下分别拍摄16种基本表情得到。示例的,该16种基本表情为:张嘴、微笑、抬眉毛、厌恶、挤左眼、挤右眼、愤怒、向左歪嘴、向右歪嘴、露齿笑、嘟嘴、噘嘴、翻嘴唇、鼓嘴、闭嘴、闭眼。示例的,该三个不同的拍摄角度可以是左侧偏转30度、右侧偏转30度和正面拍摄。

分别对控制者面部图像样本库以及对被控者面部图像样本库进行以下处理:

分别对每幅图像进行关键特征点提取,该关键特征点用于反映面部表情。针对任意一幅图像,将该图像的关键特征点保存在一个特征向量中,该特征向量由两个一维列向量组成,该图像的关键特征点的横坐标(即X轴坐标)组成该特征向量中的第一维列向量,表示为X,该图像的关键特征点的纵坐标(即Y轴坐标)组成该特征向量中的第二维列向量,表示为Y。

对于图像中的任意一个关键特征点,该关键特征点的横坐标在第一维列向量中的位置,与该关键特征点的纵坐标在第二维列向量中的位置相同,即将第一维列向量的第A行的值作为横坐标的值,以及将第二维列向量的第A行作为纵坐标的值,可以确定一个关键特征点的横坐标和纵坐标。

根据控制者面部图像样本库中每个面部图像样本的第一维列向量确定第一字典,表示为DX1=(X1,X2,X3…),其中Xa表示第a个面部图像样本对应的第一维列向量;以及根据控制者面部图像样本库中每个面部图像样本的第二维列向量确定第二字典,表示为DY1=(Y1,Y2,Y3…),其中,Yb表示第b个面部图像样本对应的第二维列向量。通过DX1和DY1可以表示控制者的每个表情。

同理,根据被控者面部图像样本库中每个面部图像样本的第一维列向量确定第一字典,表示为DX2=(X1,X2,X3…),其中Xa表示第a个面部图像对应的第一维列向量;以及根据控制者面部图像样本库中每个面部图像样本的第二维列向量确定第二字典,表示为DY2=(Y1,Y2,Y3…),其中,Yb表示第b个面部图像样本对应的第二维列向量。通过DX2和DY2可以表示被控者的每个表情。

本发明实施例中,如图1所示,面部表情迁移的具体过程如下:

步骤101:获得控制者当前面部图像,其中,该面部图像为二维图像。

具体地,通过摄像头获得控制者当前面部图像;或者,从图片库中获取控制者的面部图像作为当前面部图像。

步骤102:确定控制者当前面部图像的关键特征点,并根据该关键特征点确定第一特征向量,其中,该第一特征向量用于表征控制者当前面部表情,该第一特征向量为二维列向量。

实际应用中,确定控制者当前面部图像中用于反映控制者当前面部表情的关键特征点的方式有多种,包括但不限于以下列举的方式:人工标定的方式;通过特征点提取算法提取关键特征点。其中,特征点提取算法包括但不限于:基于级联姿态回归(Cascaded Pose Regression,CPR)的人脸特征点检测方法;基于约束局部模型(Constrained Local Model,CLM)的人脸特征点检测方法;基于回归树的人脸特征点检测方法等。

优选地,控制者当前面部图像中、控制者的面部图像样本库中每个面部图像样本中以及被控者的面部图像样本库中每个面部图像样本中,对于面部的同一个部位,所包含的关键特征点的个数相同。

较佳地,按照预先约定的面部的每个部位所包含的关键特征点的个数,确定控制者当前面部图像中用于反映控制者当前面部表情的关键特征点。

具体地,确定第一特征向量的具体过程如下:根据用于反映控制者当前面部表情的关键特征点的横坐标,确定第一特征向量的第一维列向量,以及根据用于反映控制者当前面部表情的关键特征点的纵坐标,确定第一特征向量的第二维列向量。

例如,在控制者当前面部图像中、控制者的面部图像样本库中的任意一个面部图像样本中、被控者的面部图像样本库中的任意一个面部图像样本中,位于左侧的眉毛部位均有5个关键特征点,位于右侧的眉毛部位均有6个关键特征点等。

步骤103:确定采用控制者的面部图像样本对应的第二特征向量线性表示第一特征向量所需的系数向量,其中,第二特征向量用于反映控制者的面部图像样本对应的面部表情,控制者的面部图像样本为二维图像。

优选地,该系数向量为能够线性表示第一特征向量的最稀疏解。

具体地,确定系数向量的具体过程为:

确定采用控制者的面部图像样本对应的第二特征向量的第一维列向量,线性表示第一特征向量的第一维列向量所需的第一维系数向量,其中,第一维列向量为根据该面部图像的关键特征点的横坐标确定;以及

确定采用控制者的面部图像样本对应的第二特征向量的第二维列向量,线性表示第一特征向量的第二维列向量所需的第二维系数向量,其中,第二维列向量为根据面部图像的关键特征点的纵坐标确定;

其中,第一维系数向量和第二维系数向量组成该系数向量。

具体地,计算稀疏向量的过程描述如下:

假设反映控制者当前面部表情的第一维列向量或第二维列向量表示y,控制者的面部图像样本库表示为D1=[d1,d2,d3,...,dn],D1为m×n维的向量,其中,m小于n。D1中的每一列di表示控制者的面部图像样本库中一个面部图像样本的第一维列向量或第二维列向量,di为m×1维的向量。反映控制者当前面部表情的第一维列向量y1可以表示为公式1:

y1≈D1·x1=x11·d1+x12·d2...+x1n·dn (公式1)

公式1中,di表示控制者的面部图像样本库中一个面部图像样本的第一维列向量。对于公式1,由于m远远小于n,因此在y1和D1已知的情况下,公式1为一个欠定方程。欠定方程有无数解,这里计算该方程的最稀疏解,最稀疏解中包含的非零值的个数最少,从而将欠定方程转换为对0范数的求解。因此,稀疏表示模型为公式2所示:

如图2所示为稀疏表示模型的示意图,其中,每个小方块代表一个元素,各元素的取值不完全相同,白色小方块表示该元素取值为零,x1中白色小方块越多则x1越稀疏。可以采用最小二乘法等求解公式(2)得到最稀疏解x1,即第一维系数向量。

反映控制者当前面部表情的第二维列向量y2可以表示为公式3:

y2≈D1·x2=x21·d1+x22·d2...+x2n·dn (公式3)

公式3中,di表示控制者的面部图像样本库中一个面部图像样本的第二维列向量。同理,将公式(3)转换为公式(4)所示的稀疏表示模型:

可以采用最小二乘法等求解公式(4)得到最稀疏解x2,即第二维系数向量。

步骤104:根据系数向量以及被控者的面部图像样本对应的第三特征向量,确定第四特征向量,其中,第三特征向量用于反映被控者的面部图像样本的面部表情,第四特征向量用于表征迁移后被控者面部表情,被控者的面部图像样本为二维图像。

具体地,确定第四特征向量的具体过程为:

根据被控者的面部图像样本对应的第三特征向量的第一维列向量以及第一维系数向量,确定第四特征向量的第一维列向量;以及

根据被控者的面部图像样本对应的第三特征向量的第二维列向量以及第二维系数向量,确定第四特征向量的第二维列向量。

具体地,第四特征向量的计算过程如下:

假设第四特征向量的第一维列向量表示为y3,控制者的面部图像样本库表示为D2=[d1,d2,d3,...,dn],D2为m×n维的向量,其中,m小于n。D2中的每一列di表示控制者的一个面部图像样本的第一维列向量或第二维列向量,di为m×1维的向量。则第四特征向量的第一维列向量y3可以表示为公式5:

y3≈D2·x1=x11·d1+x12·d2...+x1n·dn (公式5)

将步骤103计算得到的第一维系数向量x1以及被控者的面部图像样本库中每个面部图像的第一维列向量代入公式5中,可以得到第四特征向量的第一维列向量y3。

同理,假设第四特征向量的第二维列向量表示为y4,则第四特征向量的第二维列向量y4可以表示为公式6:

y4≈D2·x1=x11·d1+x12·d2...+x1n·dn (公式6)

将步骤103计算得到的第二维系数向量x2以及被控者的面部图像样本库中每个面部图像样本的第二维列向量代入公式6中,可以得到第四特征向量的第二维列向量y4。

其中,第四特征向量的第一维列向量y3由反映面部表情的关键特征点的横坐标组成,第四特征向量的第二维列向量y4由反映面部表情的关键特征点的纵坐标组成。即y3中的第i行与y4中的第i行组成一个关键特征点,据此可以确定迁移后被控者面部表情的每个关键特征点的坐标。

本发明实施例中,根据第四特征向量的第一维列向量以及第四特征向量的第二维列向量,确定迁移后被控者的面部图像。

具体地,根据第四特征向量的第一维列向量以及第四特征向量的第二维列向量,确定迁移后被控者面部表情的每个关键特征点的坐标,基于迁移后被控者面部表情的每个关键特征点的坐标进行三角剖分和纹理映射,从而得到表情迁移后被控者的面部图像。

其中,三角剖分是代数拓扑学里最基本的研究方法。以曲面为例,采用三角剖分将曲面剖开成一块块碎片,要求满足下面条件:(1)每块碎片都是曲边三角形;(2)曲面上任何两个曲边三角形,要么不相交,要么恰好相交于一条公共边,不能同时有两条或两条以上的边相交。目前比较常用的是Delaunay三角剖分方法。

其中,纹理映射是指在得到的三角剖分图中添加纹理信息,即给每个像素赋予像素值。

优选地,对控制者当前面部图像、控制者的面部图像样本库中每个面部图像样本以及被控者的面部图像样本库中每个面部图像样本中的关键特征点进行归一化处理。具体地,针对任意一幅面部图像,对该面部图像中的关键特征点进行归一化处理的过程为:

按照公式7对该面部图像中的关键特征点的X坐标值进行归一化处理,公式7为:

其中ki为第i个关键特征点的X坐标的值,为该面部图像中所有关键特征点的X坐标的平均值,ki'为新得到的归一化处理的关键特征点的X坐标的值。

同理,按照公式7对该面部图像中的关键特征点的Y坐标值进行归一化处理,此时公式7中的ki为第i个关键特征点的Y坐标的值,为该面部图像中所有关键特征点的Y坐标的平均值,ki'为新得到的归一化处理的关键特征点的Y坐标的值。

以下通过一个具体实施例对面部表情迁移的具体过程进行举例说明。

第一步,如图3所示给定的被控者的一张面部图像,希望通过控制者的表情变化对该被控者的表情进行控制,实现表情迁移;

第二步,获取包含被控者的基本表情的面部图像样本库,如图4所示为该面部图像样本库的示意图;

第三步,如图5所示,针对被控者的面部图像样本库中的每幅面部图像,进行以下处理:对该面部图像进行关键特征点提取,将每个关键特征点按照预设的顺序排序后,将每个关键特征点的X轴坐标存储于第一维列向量,将每个关键特征点的Y轴坐标存储于第二维列向量;

第四步,根据被控者的面部图像样本库中的每幅面部图像样本的第一维列向量和第二维列向量,建立两个字典,分别表示为DX和DY,通过该两个字典可以表示被控者的各种面部表情,其中,DX表示为(X1,X2,X3…),DY表示为(Y1,Y2,Y3…),X1表示被控者的面部图像样本库中第一幅面部图像样本的第一维列向量,Y1表示被控者的面部图像样本库中第一幅面部图像样本的第二维列向量,依次类推;

第五步,按照公式7对被控者的面部图像样本库中每个面部图像样本中的关键特征点进行归一化处理;

第六步,按照步骤第二步至第五步的方式为控制者建立基本表情的图像样本库,具体参见第二步至第五步的描述,此处不再重复;

第七步,通过摄像头获得控制者当前的面部图像,如图6所示为控制者当前的面部图像示意图,并提取该面部图像中的关键特征点,并确定包含该面部图像中的关键特征点的X轴坐标的第一维列向量y1,以及确定包含该面部图像中的关键特征点的Y轴坐标的第二维列向量y2,则y1可以表示为公式1,y2可以表示为公式3,通过求解公式1中x1的最小0范数得到稀疏解x1,即第一维系数向量,以及通过求解公式3中x2的最小0范数得到稀疏解x2,即第二维系数向量;

第八步,按照公式5以及公式6确定将控制者当前的面部图像中的表情迁移到被控者后,被控者面部图像中反映面部表情的关键特征点的坐标;

第九步,基于迁移后被控者面部表情的每个关键特征点的坐标进行三角剖分和纹理映射,从而得到表情迁移后被控者的面部图像,如图7所示为表情迁移后被控者的面部图像示意图。

其中,第七步中,采用分段匹配跟踪的方式求解公式1中x1的最小0范数得到稀疏解x1的过程如下:

已知输入参数为:稀疏解x1的稀疏度K,控制者的表情字典D1,y1以及阈值需求解的参数为稀疏解x1。

步骤a,初始化各参数:x1=0,初始化残差r0=y1,索引集Λ0=φ,迭代计数t=1,其中,φ为D1中每个列向量的索引值的集合

步骤b,将残差rt-1分别与索引集Λt-1中的每个列向量进行内积运算,从索引集Λt-1中选择内积所得的结果大于阈值的所有列向量的索引,得到选出索引集Jt

步骤c,更新索引集:Λt=Λt-1∪{Jt};

步骤d,更新残差:

步骤e,判断是否满足迭代停止条件,若满足,停止迭代过程,并输出若不满足,则更新t=t+1,并转去执行步骤b。其中,迭代停止条件为残差小于设定阈值,该设定阈值根据实际需求设定,例如,该设定阈值为0.02。

采用分段匹配跟踪的方式求解公式1中x1的最小0范数得到稀疏解x1的总体思路为:每次迭代中,将上一次得到的残差与D1中的列向量分别做内积运算,然后选出内积所得的结果大于阈值的列向量,并将选出的列向量所对应的列数索引保存到Λt中,然后用Λt中的索引组成新的字典并求出稀疏解x1和残差,反复迭代,直到满足终止条件,输出x1。

基于同一发明构思,本发明实施例中提供了一种设备,该设备的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图8所示,该设备主要包括:

获取模块801,用于获得控制者当前面部图像,其中,所述面部图像为二维图像;

第一处理模块802,用于确定所述控制者当前面部图像的关键特征点,并根据所述关键特征点确定第一特征向量,其中,所述第一特征向量用于表征所述控制者当前面部表情,所述第一特征向量为二维列向量;

第二处理模块803,用于确定采用所述控制者的面部图像样本对应的第二特征向量线性表示所述第一特征向量所需的系数向量,其中,所述第二特征向量用于反映所述控制者的面部图像样本的面部表情,所述控制者的面部图像样本为二维图像;

第三处理模块804,用于根据所述系数向量以及被控者的面部图像样本对应的第三特征向量确定第四特征向量,其中,所述第三特征向量用于反映所述被控者的面部图像样本的面部表情,所述第四特征向量用于表征迁移后所述被控者面部表情,所述被控者的面部图像样本为二维图像。

可能的实施方式中,所述第一处理模块具体用于:

根据所述关键特征点的横坐标确定所述第一特征向量的第一维列向量,以及根据所述关键特征点的纵坐标确定所述第一特征向量的第二维列向量。

可能的实施方式中,所述第二处理模块具体用于:

确定采用所述第二特征向量的第一维列向量,线性表示所述第一特征向量的第一维列向量所需的第一维系数向量;以及

确定采用所述第二特征向量的第二维列向量,线性表示所述第一特征向量的第二维列向量所需的第二维系数向量;

其中,所述第一维系数向量和所述第二维系数向量组成所述系数向量。

可能的实施方式中,所述第三处理模块具体用于:

根据所述第三特征向量的第一维列向量以及所述第一维系数向量,确定所述第四特征向量的第一维列向量;以及

根据所述第三特征向量的第二维列向量以及所述第二维系数向量,确定所述第四特征向量的第二维列向量。

基于上述技术方案,本发明实施例中,获得控制者当前面部图像后,确定采用所述控制者的面部图像样本对应的第二特征向量,线性表示所述控制者当前面部表情的第一特征向量所需的系数向量,将该系数向量作用于被控者的面部图像样本对应的第三特征向量后,即可得到用于表征迁移后所述被控者面部表情的第四特征向量。该方式不需要额外的硬件设备支持,降低了实现成本,并且能够保证表情迁移的准确性,实现过程简单,提高了处理效率。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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