本发明涉及计算机技术领域,特别涉及一种表情迁移的方法及电子设备。
背景技术:
现有的表情迁移方法中,将人脸的2d图像转换为3d图像的方法大多需要对人脸的2d图像进行预处理,获取深度图像后,才能进一步转换为3d图像,存在算法复杂,效率低下,无法满足实时性等问题。
技术实现要素:
为了解决上述问题,本发明提供一种表情迁移的方法及电子设备。
所述技术方案如下:
第一方面,提供了一种表情迁移的方法,所述方法包括:
获取视频帧中人脸的关键特征点的二维坐标;
获取预设的3d模型中与所述人脸的关键特征点对应的关键特征点的二维坐标;
根据所述人脸的关键特征点的二维坐标和所述预设的3d模型的关键特征点的二维坐标的位置关系获取所述预设的3d模型的所有顶点的新的二维坐标;
获取所述人脸的关键特征点的二维坐标和所述预设的3d模型的关键特征点的二维坐标的对比关系;
根据所述对比关系获取所述预设的3d模型的所有顶点的新的z轴坐标;
根据所述预设的3d模型的所有顶点的新的二维坐标和新的z轴坐标显示对应的3d图像。
结合第一方面,在第一种可能的实现方式中,所述根据所述人脸的关键特征点的二维坐标和所述预设的3d模型的关键特征点的二维坐标的位置关系获取所述预设的3d模型的所有顶点的新的二维坐标包括:
通过插值的方式获取所述预设的3d模型的所有顶点的新的二维坐标。
结合第一方面,在第二种可能的实现方式中,所述获取所述人脸的关键特征点的二维坐标和所述预设的3d模型的关键特征点的二维坐标的对比关系包括:
分别获取所述人脸的所有关键特征点的二维坐标中x轴坐标的均值和y轴坐标的均值;
获取所述人脸的所有关键特征点的二维坐标中x轴坐标与所述x轴坐标的均值的差值的绝对值的和,记为第一总和;
获取所述人脸的所有关键特征点的二维坐标中y轴坐标与所述y轴坐标的均值的差值的绝对值的和,记为第二总和;
分别获取所述预设的3d模型的所有关键特征点的二维坐标中x轴坐标的均值和y轴坐标的均值;
获取所述预设的3d模型的所有关键特征点的二维坐标中x轴坐标与所述x轴坐标的均值的差值的绝对值的和,记为第三总和;
获取所述预设的3d模型的所有关键特征点的二维坐标中y轴坐标与所述y轴坐标的均值的差值的绝对值的和,记为第四总和;
以所述第一总和与第二总和的和值除以所述第三总和与第四总和的和值为所述对比关系。
结合第一方面,在第三种可能的实现方式中,所述根据所述对比关系获取所述预设的3d模型的所有顶点的新的z轴坐标包括:
对所述预设的3d模型的每一个顶点的三维坐标的z轴坐标乘以所述对比关系,获得所述顶点的新的z轴坐标。
结合第一方面至第一方面第三种任一可能的实现方式,在第四种可能的实 现方式中,所述方法还包括:
发送所述对应的3d图像。
第二方面,提供了一种电子设备,所述电子设备包括:
人脸的关键特征点的二维坐标获取模块,用于获取人脸的关键特征点的二维坐标;
对应关键特征点的二维坐标获取模块,用于获取预设的3d模型中与所述人脸的关键特征点对应的关键特征点的二维坐标;
顶点二维坐标获取模块,用于根据所述人脸的关键特征点的二维坐标和所述预设的3d模型的关键特征点的二维坐标的位置关系获取所述预设的3d模型的所有顶点的新的二维坐标;
对比关系获取模块,用于获取所述人脸的关键特征点的二维坐标和所述预设的3d模型的关键特征点的二维坐标的对比关系;
z轴坐标获取模块,用于根据所述对比关系获取所述预设的3d模型的所有顶点的新的z轴坐标;
显示模块,用于根据所述预设的3d模型的所有顶点的新的二维坐标和新的z轴坐标显示对应的伪3d图像。
结合第二方面,在第一种可能的实现方式中,所述顶点二维坐标获取模块通过插值的方式获取所述预设的3d模型的所有顶点的新的二维坐标。
结合第二方面,在第二种可能的实现方式中,所述对比关系获取模块具体用于:
分别获取所述人脸的所有关键特征点的二维坐标中x轴坐标的均值和y轴坐标的均值;
获取所述人脸的所有关键特征点的二维坐标中x轴坐标与所述x轴坐标的均值的差值的绝对值的和,记为第一总和;
获取所述人脸的所有关键特征点的二维坐标中y轴坐标与所述y轴坐标的均值的差值的绝对值的和,记为第二总和;
分别获取所述预设的3d模型的所有关键特征点的二维坐标中x轴坐标的均值和y轴坐标的均值;
获取所述预设的3d模型的所有关键特征点的二维坐标中x轴坐标与所述x轴坐标的均值的差值的绝对值的和,记为第三总和;
获取所述预设的3d模型的所有关键特征点的二维坐标中y轴坐标与所述y轴坐标的均值的差值的绝对值的和,记为第四总和;
以所述第一总和与第二总和的和值除以所述第三总和与第四总和的和值为所述对比关系。
结合第二方面,在第三种可能的实现方式中,所述z轴坐标获取模块具体用于:
对所述预设的3d模型的每一个顶点的三维坐标的z轴坐标乘以所述对比关系,获得所述顶点的新的z轴坐标。
结合第二方面至第二方面第三种任一可能的实现方式,在第四种可能的实现方式中,所述设备还包括:
发送模块,用于发送所述对应的3d图像。
第三方面,提供了一种电子设备,所述设备包括存储器、显示屏、发送模块以及与所述存储器、显示屏、发送模块连接的处理器,其中,所述存储器用于存储一组程序代码,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
获取视频帧中人脸的关键特征点的二维坐标;
获取预设的3d模型中与所述人脸的关键特征点对应的关键特征点的二维坐标;
根据所述人脸的关键特征点的二维坐标和所述预设的3d模型的关键特征点的二维坐标的位置关系获取所述预设的3d模型的所有顶点的新的二维坐标;
获取所述人脸的关键特征点的二维坐标和所述预设的3d模型的关键特征点的二维坐标的对比关系;
根据所述对比关系获取所述预设的3d模型的所有顶点的新的z轴坐标;
根据所述预设的3d模型的所有顶点的新的二维坐标和新的z轴坐标显示对应的3d图像。
结合第三方面,在第一种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
通过插值的方式获取所述预设的3d模型的所有顶点的新的二维坐标。
结合第三方面,在第二种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
分别获取所述人脸的所有关键特征点的二维坐标中x轴坐标的均值和y轴坐标的均值;
获取所述人脸的所有关键特征点的二维坐标中x轴坐标与所述x轴坐标的均值的差值的绝对值的和,记为第一总和;
获取所述人脸的所有关键特征点的二维坐标中y轴坐标与所述y轴坐标的均值的差值的绝对值的和,记为第二总和;
分别获取所述预设的3d模型的所有关键特征点的二维坐标中x轴坐标的均值和y轴坐标的均值;
获取所述预设的3d模型的所有关键特征点的二维坐标中x轴坐标与所述x轴坐标的均值的差值的绝对值的和,记为第三总和;
获取所述预设的3d模型的所有关键特征点的二维坐标中y轴坐标与所述y轴坐标的均值的差值的绝对值的和,记为第四总和;
以所述第一总和与第二总和的和值除以所述第三总和与第四总和的和值为所述对比关系。
结合第三方面,在第三种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
对所述预设的3d模型的每一个顶点的三维坐标的z轴坐标乘以所述对比关系,获得所述顶点的新的z轴坐标。
结合第三方面至第三方面第三种任一可能的实现方式,在第四种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
发送所述对应的3d图像。
本发明实施例提供了一种表情迁移的方法及电子设备,通过插值获取3d图像中顶点的二维坐标,并通过视频帧中人脸与3d图像中关键点的对比关系获取3d图像中顶点的z轴坐标,能够快速的将视频帧中的人脸转换为伪3d图像,具有算法简单,效率高,速度快的优点,能够有效地满足即时视频的实时性要求。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种表情迁移的方法的流程图;
图2是本发明实施例提供的一种表情迁移的方法的流程图;
图3是本发明实施例提供的一种电子设备的结构示意图;
图4是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
实施例一
本发明实施例提供了一种表情迁移的方法,参照图1所示,方法流程包括:
101、获取视频帧中人脸的关键特征点的二维坐标。
具体的,该过程可以为:
获取视频帧中人脸的关键特征点;
获取所有关键特征点的二维坐标。
102、获取预设的3d模型中与所述人脸的关键特征点对应的关键特征点的二维坐标。
具体的,该过程可以为:
根据获取到的所述人脸中的关键特征点,在预设的3d模型中标注出与之对应的关键特征点;
获取所述3d模型中标注出的关键特征点的二维坐标。
103、根据所述人脸的关键特征点的二维坐标和所述预设的3d模型的关键特征点的二维坐标的位置关系获取所述预设的3d模型的所有顶点的新的二维坐标。
具体的,该过程可以为:
通过插值的方式获取所述预设的3d模型的所有顶点的新的二维坐标。
104、获取所述人脸的关键特征点的二维坐标和所述预设的3d模型的关键特征点的二维坐标的对比关系。
具体的,该过程可以为:
分别获取所述人脸的所有关键特征点的二维坐标中x轴坐标的均值和y轴坐标的均值;
获取所述人脸的所有关键特征点的二维坐标中x轴坐标与所述x轴坐标的均值的差值的绝对值的和,记为第一总和;
获取所述人脸的所有关键特征点的二维坐标中y轴坐标与所述y轴坐标的均值的差值的绝对值的和,记为第二总和;
分别获取所述预设的3d模型的所有关键特征点的二维坐标中x轴坐标的均值和y轴坐标的均值;
获取所述预设的3d模型的所有关键特征点的二维坐标中x轴坐标与所述x轴坐标的均值的差值的绝对值的和,记为第三总和;
获取所述预设的3d模型的所有关键特征点的二维坐标中y轴坐标与所述y 轴坐标的均值的差值的绝对值的和,记为第四总和;
以所述第一总和与第二总和的和值除以所述第三总和与第四总和的和值为所述对比关系。
105、根据所述对比关系获取所述预设的3d模型的所有顶点的新的z轴坐标。
具体的,该过程可以为:
对所述预设的3d模型的每一个顶点的三维坐标的z轴坐标乘以所述对比关系,获得所述顶点的新的z轴坐标。
106、根据所述预设的3d模型的所有顶点的新的二维坐标和新的z轴坐标显示对应的伪3d图像。
可选的,在步骤106之后还包括:发送所述对应的3d图像。
本发明实施例提供了一种表情迁移的方法,通过插值获取3d图像中顶点的二维坐标,并通过视频帧中人脸与3d图像中关键点的对比关系获取3d图像中顶点的z轴坐标,能够快速的将视频帧中的人脸转换为伪3d图像,具有算法简单,效率高,速度快的优点,能够有效地满足即时视频的实时性要求。
实施例二
本发明实施例提供了一种表情迁移的方法,参照图2所示,方法流程包括:
201、获取视频帧中人脸的关键特征点的二维坐标。
具体的,该过程可以为:
获取视频中人脸的关键特征点。
对于人脸图片,所述的特征点可以为sift点,可以通过对视频帧进行滤波的方式,获取视频帧中人脸的特征点,该过程可以具体为:
设置滤波条件;
根据该滤波条件,对视频帧进行滤波获取视频帧中人脸的特征点。
上述通过对视频帧进行滤波的方式,实现获取视频帧中人脸的特征点的过程仅仅是示例性的,还可以通过其他方式实现该过程,本发明实施例对具体的 实现方式不加以限定。
获取所有关键特征点的二维坐标。
示例性的,关键特征点可以为33个,本发明实施例对关键特征点的具体数量不加以限定个。
需要指出的是所述视频帧可以是通过摄像头实时获取的,也可以是从预先存储的视频文件中获取的,本发明实施例对具体的视频帧获取方法不加以限定。
202、获取预设的3d模型中与所述人脸的关键特征点对应的关键特征点的二维坐标。
具体的,该过程可以为:
根据获取到的所述人脸中的关键特征点,在预设的3d模型中标注出与之对应的关键特征点;
获取所述3d模型中标注出的关键特征点的二维坐标。
示例性的,对应于人脸图片,所述3d模型是人脸的3d模型,根据所述人脸图片中的关键特征点,例如眼睛,眉毛,鼻子,嘴巴对应的特征点,在所述预设的人脸3d模型中标注出对应的特征点,如果所述人脸图片中的关键特征点为33个,那么在所述预设的人脸3d模型中标注出的特征点也是33个。
203、根据所述人脸的关键特征点的二维坐标和所述预设的3d模型的关键特征点的二维坐标的位置关系获取所述预设的3d模型的所有顶点的新的二维坐标。
具体的,该过程可以为:
通过插值的方式获取所述预设的3d模型的所有顶点的新的二维坐标。
示例性的,可以通过rbf(径向基函数)插值法获取所述预设的3d模型的所有顶点的新的二维坐标。rbf插值法的公式如下:
其中,n为所述人脸的所有关键特征点的个数,p=1...n,x=(xp,yp)为所述 人脸的第p个关键特征点的二维坐标,xp=(x'p,y'p)为所述预设的3d模型的第p个关键特征点的二维坐标。
根据上述公式求得f(x)的插值函数,对于所述预设的3d模型的所有顶点,将其二维坐标代入所述插值函数中即可求得所述预设的3d模型的所有顶点的新的二维坐标。
204、获取所述人脸的关键特征点的二维坐标和所述预设的3d模型的关键特征点的二维坐标的对比关系。
具体的,该过程可以为:
分别获取所述人脸的所有关键特征点的二维坐标中x轴坐标的均值和y轴坐标的均值;
获取所述人脸的所有关键特征点的二维坐标中x轴坐标与所述x轴坐标的均值的差值的绝对值的和,记为第一总和;
获取所述人脸的所有关键特征点的二维坐标中y轴坐标与所述y轴坐标的均值的差值的绝对值的和,记为第二总和;
分别获取所述预设的3d模型的所有关键特征点的二维坐标中x轴坐标的均值和y轴坐标的均值;
获取所述预设的3d模型的所有关键特征点的二维坐标中x轴坐标与所述x轴坐标的均值的差值的绝对值的和,记为第三总和;
获取所述预设的3d模型的所有关键特征点的二维坐标中y轴坐标与所述y轴坐标的均值的差值的绝对值的和,记为第四总和;
以所述第一总和与第二总和的和值除以所述第三总和与第四总和的和值为所述对比关系。
具体公式如下:
其中,r为所述对比关系,n为所述人脸的所有关键特征点的个数,i=1...n,
205、根据所述对比关系获取所述预设的3d模型的所有顶点的新的z轴坐标。
具体的,该过程可以为:
对所述预设的3d模型的每一个顶点的三维坐标的z轴坐标乘以所述对比关系,获得所述顶点的新的z轴坐标。
具体公式如下:
z′i=zi×r,
其中,i=1...m,m为所述预设的3d模型的所有顶点的个数,z′i为所述预设的3d模型的第i个顶点的新的z轴坐标,zi为所述预设的3d模型的第i个顶点的z轴坐标,r为所述对比关系。
示例性的,m的取值可以为97或者300,本发明实施例对所述预设的3d模型的所有顶点的个数不加以限定。
206、根据所述预设的3d模型的所有顶点的新的二维坐标和新的z轴坐标显示对应的伪3d图像。
可选的,在步骤206之后还包括:发送所述对应的3d图像。
本发明实施例提供了一种表情迁移的方法,通过插值获取3d图像中顶点的二维坐标,并通过视频帧中人脸与3d图像中关键点的对比关系获取3d图像中顶点的z轴坐标,能够快速的将视频帧中的人脸转换为伪3d图像,具有算法简 单,效率高,速度快的优点,能够有效地满足即时视频的实时性要求。
实施例三
本发明实施例提供了一种电子设备,参照图3所示,该电子设备包括:
人脸的关键特征点的二维坐标获取模块301,用于获取人脸的关键特征点的二维坐标;
对应关键特征点的二维坐标获取模块302,用于获取预设的3d模型中与所述人脸的关键特征点对应的关键特征点的二维坐标;
顶点二维坐标获取模块303,用于根据所述人脸的关键特征点的二维坐标和所述预设的3d模型的关键特征点的二维坐标的位置关系获取所述预设的3d模型的所有顶点的新的二维坐标;
对比关系获取模块304,用于获取所述人脸的关键特征点的二维坐标和所述预设的3d模型的关键特征点的二维坐标的对比关系;
z轴坐标获取模块305,用于根据所述对比关系获取所述预设的3d模型的所有顶点的新的z轴坐标;
显示模块306,用于根据所述预设的3d模型的所有顶点的新的二维坐标和新的z轴坐标显示对应的伪3d图像。
优选的,所述顶点二维坐标获取模块303通过插值的方式获取所述预设的3d模型的所有顶点的新的二维坐标。
优选的,所述对比关系获取模块304具体用于:
分别获取所述人脸的所有关键特征点的二维坐标中x轴坐标的均值和y轴坐标的均值;
获取所述人脸的所有关键特征点的二维坐标中x轴坐标与所述x轴坐标的均值的差值的绝对值的和,记为第一总和;
获取所述人脸的所有关键特征点的二维坐标中y轴坐标与所述y轴坐标的均值的差值的绝对值的和,记为第二总和;
分别获取所述预设的3d模型的所有关键特征点的二维坐标中x轴坐标的均值和y轴坐标的均值;
获取所述预设的3d模型的所有关键特征点的二维坐标中x轴坐标与所述x轴坐标的均值的差值的绝对值的和,记为第三总和;
获取所述预设的3d模型的所有关键特征点的二维坐标中y轴坐标与所述y轴坐标的均值的差值的绝对值的和,记为第四总和;
以所述第一总和与第二总和的和值除以所述第三总和与第四总和的和值为所述对比关系。
优选的,所述z轴坐标获取模块305具体用于:
对所述预设的3d模型的每一个顶点的三维坐标的z轴坐标乘以所述对比关系,获得所述顶点的新的z轴坐标。
可选的,所述设备还包括:
发送模块307,用于发送所述对应的3d图像。
本发明实施例提供了一种电子设备,通过插值获取3d图像中顶点的二维坐标,并通过视频帧中人脸与3d图像中关键点的对比关系获取3d图像中顶点的z轴坐标,能够快速的将视频帧中的人脸转换为伪3d图像,具有算法简单,效率高,速度快的优点,能够有效地满足即时视频的实时性要求。
实施例四
本发明实施例提供了一种电子设备,参照图4所示,所述设备包括存储器401、显示屏402、发送模块403,以及与存储器401、显示屏402、发送模块403连接的处理器404,其中,存储器401用于存储一组程序代码,处理器404调用存储器401所存储的程序代码用于执行以下操作:
获取视频帧中人脸的关键特征点的二维坐标;
获取预设的3d模型中与所述人脸的关键特征点对应的关键特征点的二维坐标;
根据所述人脸的关键特征点的二维坐标和所述预设的3d模型的关键特征点 的二维坐标的位置关系获取所述预设的3d模型的所有顶点的新的二维坐标;
获取所述人脸的关键特征点的二维坐标和所述预设的3d模型的关键特征点的二维坐标的对比关系;
根据所述对比关系获取所述预设的3d模型的所有顶点的新的z轴坐标;
根据所述预设的3d模型的所有顶点的新的二维坐标和新的z轴坐标显示对应的3d图像。
优选的,所述处理器404调用所述存储器401所存储的程序代码用于执行以下操作:
通过插值的方式获取所述预设的3d模型的所有顶点的新的二维坐标。
优选的,所述处理器404调用所述存储器401所存储的程序代码用于执行以下操作:
分别获取所述人脸的所有关键特征点的二维坐标中x轴坐标的均值和y轴坐标的均值;
获取所述人脸的所有关键特征点的二维坐标中x轴坐标与所述x轴坐标的均值的差值的绝对值的和,记为第一总和;
获取所述人脸的所有关键特征点的二维坐标中y轴坐标与所述y轴坐标的均值的差值的绝对值的和,记为第二总和;
分别获取所述预设的3d模型的所有关键特征点的二维坐标中x轴坐标的均值和y轴坐标的均值;
获取所述预设的3d模型的所有关键特征点的二维坐标中x轴坐标与所述x轴坐标的均值的差值的绝对值的和,记为第三总和;
获取所述预设的3d模型的所有关键特征点的二维坐标中y轴坐标与所述y轴坐标的均值的差值的绝对值的和,记为第四总和;
以所述第一总和与第二总和的和值除以所述第三总和与第四总和的和值为所述对比关系。
优选的,所述处理器404调用所述存储器401所存储的程序代码用于执行 以下操作:
对所述预设的3d模型的每一个顶点的三维坐标的z轴坐标乘以所述对比关系,获得所述顶点的新的z轴坐标。
可选的,所述处理器404调用所述存储器401所存储的程序代码用于执行以下操作:
发送所述对应的3d图像。
本发明实施例提供了一种电子设备,通过插值获取3d图像中顶点的二维坐标,并通过视频帧中人脸与3d图像中关键点的对比关系获取3d图像中顶点的z轴坐标,能够快速的将视频帧中的人脸转换为伪3d图像,具有算法简单,效率高,速度快的优点,能够有效地满足即时视频的实时性要求。
以上仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明,本领域普通技术人员在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。