本发明涉及计算机技术领域,特别涉及一种驱动嘴巴运动的方法及电子设备。
背景技术:
在表情迁移的过程中,对嘴巴的驱动是非常关键的,现有技术中,对嘴巴的驱动通常存在误差大,驱动效果不理想等问题。
技术实现要素:
为了解决上述问题,本发明提供了一种驱动嘴巴运动的方法及电子设备。
所述技术方案如下:
第一方面,提供了一种驱动嘴巴运动的方法,所述方法包括:
获取人脸嘴巴的特征点;
将所述人脸嘴巴的特征点转换为无表情的特征点;
获取所述人脸嘴巴的特征点的位置的横坐标与预设的人脸嘴巴模型中对应的特征点的位置的横坐标的比值;
根据所述比值对所述人脸嘴巴的特征点的位置的纵坐标进行调整,得到调整后的人脸嘴巴的特征点的位置;
根据所述调整后的人脸嘴巴的特征点的位置对目标表情中的嘴巴进行驱动。
结合第一方面,在第一种可能的实现方式中,所述将所述人脸嘴巴的特征点转换为无表情的特征点包括:
将所述人脸嘴巴的特征点的位置调整为左右对称。
结合第一方面,在第二种可能的实现方式中,所述获取所述人脸嘴巴的特征点的位置的横坐标与预设的人脸嘴巴模型中对应的特征点的位置的横坐标的比值包括:
获取所述人脸嘴巴的所有特征点的位置的横坐标的平方和的第一算术平方根;
获取所述预设的人脸嘴巴模型中所有对应的特征点的位置的横坐标的平方和的第二算术平方根;
所述比值为所述第一算术平方根和所述第二算术平方根的比值。
结合第一方面,在第三种可能的实现方式中,所述根据所述比值对所述人脸嘴巴的特征点的位置的纵坐标进行调整,得到调整后的人脸嘴巴的特征点的位置包括:
对所述人脸嘴巴的每一个特征点的位置的纵坐标乘以所述比值,得到调整后的纵坐标,以所述人脸嘴巴的每一个特征点的位置的横坐标和对应的调整后的纵坐标为该特征点的调整后的位置。
结合第一方面至第一方面第三种任一可能的实现方式,在第四种可能的实现方式中,在所述根据所述调整后的人脸嘴巴的特征点的位置对目标表情中的嘴巴进行驱动之前,所述方法还包括:
根据预设的非线性变换公式对所述人脸嘴巴的特征点的调整后的位置进行线性变换,得到经过变换的调整后位置。
第二方面,提供了一种电子设备,所述电子设备包括:
获取模块,用于获取人脸嘴巴的特征点;
转换模块,用于将所述人脸嘴巴的特征点转换为无表情的特征点;
比值模块,用于获取所述人脸嘴巴的特征点的位置的横坐标与预设的人脸嘴巴模型中对应的特征点的位置的横坐标的比值;
调整模块,用于根据所述比值对所述人脸嘴巴的特征点的位置的纵坐标进 行调整,得到调整后的人脸嘴巴的特征点的位置;
驱动模块,用于根据所述调整后的人脸嘴巴的特征点的位置对目标表情中的嘴巴进行驱动。
结合第二方面,在第一种可能的实现方式中,所述转换模块具体用于:
将所述人脸嘴巴的特征点的位置调整为左右对称。
结合第二方面,在第二种可能的实现方式中,所述比值模块具体用于:
获取所述人脸嘴巴的所有特征点的位置的横坐标的平方和的第一算术平方根;
获取所述预设的人脸嘴巴模型中所有对应的特征点的位置的横坐标的平方和的第二算术平方根;
所述比值为所述第一算术平方根和所述第二算术平方根的比值。
结合第二方面,在第三种可能的实现方式中,所述调整模块具体用于:
对所述人脸嘴巴的每一个特征点的位置的纵坐标乘以所述比值,得到调整后的纵坐标,以所述人脸嘴巴的每一个特征点的位置的横坐标和对应的调整后的纵坐标为该特征点的调整后的位置。
结合第二方面至第二方面第三种任一可能的实现方式,在第四种可能的实现方式中,所述电子设备还包括:
变换模块,用于根据预设的非线性变换公式对所述人脸嘴巴的特征点的调整后的位置进行线性变换,得到经过变换的调整后位置。
第三方面,提供了一种电子设备,所述设备包括存储器,以及与所述存储器连接的处理器,其中,所述存储器用于存储一组程序代码,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
获取人脸嘴巴的特征点;
将所述人脸嘴巴的特征点转换为无表情的特征点;
获取所述人脸嘴巴的特征点的位置的横坐标与预设的人脸嘴巴模型中对应的特征点的位置的横坐标的比值;
根据所述比值对所述人脸嘴巴的特征点的位置的纵坐标进行调整,得到调整后的人脸嘴巴的特征点的位置;
根据所述调整后的人脸嘴巴的特征点的位置对目标表情中的嘴巴进行驱动。
结合第三方面,在第一种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
将所述人脸嘴巴的特征点的位置调整为左右对称。
结合第三方面,在第二种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
获取所述人脸嘴巴的所有特征点的位置的横坐标的平方和的第一算术平方根;
获取所述预设的人脸嘴巴模型中所有对应的特征点的位置的横坐标的平方和的第二算术平方根;
所述比值为所述第一算术平方根和所述第二算术平方根的比值。
结合第三方面,在第三种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
对所述人脸嘴巴的每一个特征点的位置的纵坐标乘以所述比值,得到调整后的纵坐标,以所述人脸嘴巴的每一个特征点的位置的横坐标和对应的调整后的纵坐标为该特征点的调整后的位置。
结合第三方面至第三方面第三种任一可能的实现方式,在第四种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
根据预设的非线性变换公式对所述人脸嘴巴的特征点的调整后的位置进行线性变换,得到经过变换的调整后位置。
本发明实施例提供了一种驱动嘴巴运动的方法及电子设备,通过对所述人脸嘴巴的每一个特征点的位置的纵坐标根据所述人脸嘴巴的特征点的位置的横坐标与预设的人脸嘴巴模型中对应的特征点的位置的横坐标的比值进行相应的 调整,保证了所述人脸嘴巴每一个特征点的位置的协调性,提高了驱动的效果,进一步通过线性变换对调整后的特征点的位置进行变换,使得对嘴巴的驱动更加灵活,能够驱动出更加明显、更加夸张的嘴巴表情,还进一步通过将所述人脸嘴巴的特征点转换为无表情的特征点保证了驱动的稳定性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种驱动嘴巴运动的方法的流程图;
图2是本发明实施例提供的人脸特征点位置示意图;
图3是本发明实施例提供的一种驱动嘴巴运动的方法的流程图;
图4是本发明实施例提供的一种电子设备的结构示意图;
图5是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例提供了一种驱动嘴巴运动的方法,该方法可以是通过运行电子设备上的应用程序实现的,该电子设备可以是智能手机、平板电脑和其他电子设备中的任意一个,本发明实施例对具体的电子设备不加以限定。
实施例一
本发明实施例提供了一种驱动嘴巴运动的方法,参照图1所示,方法流程包括:
102、获取人脸嘴巴的特征点。
具体的,该过程可以为:
从视频帧中识别出人脸嘴巴;
提取所述人脸嘴巴的特征点。
需要指出的是,所述视频帧可以是通过摄像头等录像装置实时采集的,也可以是从视频文件中读取的,本发明实施例对视频帧的获取方式不加以限定。
104、将所述人脸嘴巴的特征点转换为无表情的特征点。
具体的,该过程可以为:
将所述人脸嘴巴的特征点的位置调整为左右对称。
示例性的,如图2所示,所述人脸一共有96个特征点,其中编号为第1至第24个为人脸嘴巴所对应的特征点,将人脸嘴巴的特征点的位置调整为左右对称是指将图2中人脸嘴巴所对应的24个特征点的位置在图2中的坐标系内调整为左右对称,即将编号为第1和第8的特征点调整为左右对称,将编号为第2和第9的特征点调整为左右对称,将编号为第3和第10的特征点调整为左右对称,将编号为第6和第11的特征点调整为左右对称,将编号为第7和第12的特征点调整为左右对称,将编号为第14和第20的特征点调整为左右对称,将编号为第15和第21的特征点调整为左右对称,将编号为第16和第22的特征点调整为左右对称,将编号为第17和第23的特征点调整为左右对称,将编号为第18和第24的特征点调整为左右对称,其中所述左右对称是指相对应的两个特征点的横坐标的绝对值相同,纵坐标的绝对值也相同。具体的调整公式为:
其中,|x1|,|x2|为调整前两个相对于的特征点的位置的横坐标的绝对值,|y1|,|y2|为调整前两个相对于的特征点的位置的纵坐标的绝对值,|x|为调整后的两个特征点的位置和横坐标的绝对值,|y|为调整后的两个特征点的位置和横坐标的绝对值。
调整后的两个相对应的特征点的位置的横坐标的绝对值相同,只是正负符号不同,调整后的两个相对应的特征点的位置的纵坐标的绝对值相同,正负符号也相同并且与调整前的纵坐标的正负符号保持不变。
需要指出的是,上述调整方法、调整公式、人脸嘴巴特征点的位置与个数以及对应关系仅是示例,除此之外还可以采用其他调整方法对人脸嘴巴的特征点进行调整以达到将所述人脸嘴巴的特征点转换为无表情的特征点的目的,本发明实施例对具体的转换方法不加限定。
106、获取所述人脸嘴巴的特征点的位置的横坐标与预设的人脸嘴巴模型中对应的特征点的位置的横坐标的比值。
具体的,该过程包括:
获取所述人脸嘴巴的所有特征点的位置的横坐标的平方和的第一算术平方根,公式如下:
其中,xi为所述人脸嘴巴的第i个特征点的位置的横坐标,a为所述人脸嘴巴的所有特征点的位置的横坐标的平方和的第一算术平方根。
获取所述预设的人脸嘴巴模型中所有对应的特征点的位置的横坐标的平方和的第二算术平方根,公式如下:
其中,x′i为预设的人脸嘴巴模型中对应的第i个特征点的位置的横坐标,b为所述预设的人脸嘴巴模型中所有对应的特征点的位置的横坐标的平方和的第二算术平方根。
所述比值为所述第一算术平方根和所述第二算术平方根的比值,计算公式如下:
其中,r即为所述比值。
108、根据所述比值对所述人脸嘴巴的特征点的位置的纵坐标进行调整,得到调整后的人脸嘴巴的特征点的位置。
具体的,该过程可以为:
对所述人脸嘴巴的每一个特征点的位置的纵坐标乘以所述比值,得到调整后的纵坐标,计算公式为:
y′i=ryi,
其中,r为所述比值,yi为所述人脸嘴巴的第i个特征点的位置的纵坐标,y′i为所述人脸嘴巴的第i个特征点的位置的调整后的纵坐标。
以所述人脸嘴巴的每一个特征点的位置的横坐标和对应的调整后的纵坐标为该特征点的调整后的位置。
110、根据所述调整后的人脸嘴巴的特征点的位置对目标表情中的嘴巴进行驱动。
具体的,该过程可以为:
根据所述人脸嘴巴调整后的特征点的位置,驱动目标表情中嘴巴至与所述人脸嘴巴调整后的特征点的位置相对应的位置。
本发明实施例提供了一种驱动嘴巴运动的方法,通过对所述人脸嘴巴的每一个特征点的位置的纵坐标根据所述人脸嘴巴的特征点的位置的横坐标与预设的人脸嘴巴模型中对应的特征点的位置的横坐标的比值进行相应的调整,保证了所述人脸嘴巴每一个特征点的位置的协调性,提高了驱动的效果,进一步通过将所述人脸嘴巴的特征点转换为无表情的特征点保证了驱动的稳定性。
实施例二
本发明实施例提供了一种驱动嘴巴运动的方法,参照图3所示,方法流程包括:
302、获取人脸嘴巴的特征点。
具体的,该过程可以为:
从视频帧中识别出人脸嘴巴;
提取所述人脸嘴巴的特征点。
需要指出的是,所述视频帧可以是通过摄像头等录像装置实时采集的,也可以是从视频文件中读取的,本发明实施例对视频帧的获取方式不加以限定。
304、将所述人脸嘴巴的特征点转换为无表情的特征点。
具体的,该过程可以为:
将所述人脸嘴巴的特征点的位置调整为左右对称。
示例性的,如图2所示,所述人脸一共有96个特征点,其中编号为第1至第24个为人脸嘴巴所对应的特征点,将人脸嘴巴的特征点的位置调整为左右对称是指将图2中人脸嘴巴所对应的24个特征点的位置在图2中的坐标系内调整为左右对称,即将编号为第1和第8的特征点调整为左右对称,将编号为第2和第9的特征点调整为左右对称,将编号为第3和第10的特征点调整为左右对称,将编号为第6和第11的特征点调整为左右对称,将编号为第7和第12的特征点调整为左右对称,将编号为第14和第20的特征点调整为左右对称,将编号为第15和第21的特征点调整为左右对称,将编号为第16和第22的特征点调整为左右对称,将编号为第17和第23的特征点调整为左右对称,将编号为第18和第24的特征点调整为左右对称,其中所述左右对称是指相对应的两个特征点的横坐标的绝对值相同,纵坐标的绝对值也相同。具体的调整公式为:
其中,|x1|,|x2|为调整前两个相对于的特征点的位置的横坐标的绝对值,|y1|,|y2|为调整前两个相对于的特征点的位置的纵坐标的绝对值,|x|为调整后的两个特征点的位置和横坐标的绝对值,|y|为调整后的两个特征点的位置和横坐标的绝对值。
调整后的两个相对应的特征点的位置的横坐标的绝对值相同,只是正负符号不同,调整后的两个相对应的特征点的位置的纵坐标的绝对值相同,正负符 号也相同并且与调整前的纵坐标的正负符号保持不变。
需要指出的是,上述调整方法、调整公式、人脸嘴巴特征点的位置与个数以及对应关系仅是示例,除此之外还可以采用其他调整方法对人脸嘴巴的特征点进行调整以达到将所述人脸嘴巴的特征点转换为无表情的特征点的目的,本发明实施例对具体的转换方法不加限定。
306、获取所述人脸嘴巴的特征点的位置的横坐标与预设的人脸嘴巴模型中对应的特征点的位置的横坐标的比值。
具体的,该过程包括:
获取所述人脸嘴巴的所有特征点的位置的横坐标的平方和的第一算术平方根,公式如下:
其中,xi为所述人脸嘴巴的第i个特征点的位置的横坐标,a为所述人脸嘴巴的所有特征点的位置的横坐标的平方和的第一算术平方根。
获取所述预设的人脸嘴巴模型中所有对应的特征点的位置的横坐标的平方和的第二算术平方根,公式如下:
其中,x′i为预设的人脸嘴巴模型中对应的第i个特征点的位置的横坐标,b为所述预设的人脸嘴巴模型中所有对应的特征点的位置的横坐标的平方和的第二算术平方根。
所述比值为所述第一算术平方根和所述第二算术平方根的比值,计算公式如下:
其中,r即为所述比值。
308、根据所述比值对所述人脸嘴巴的特征点的位置的纵坐标进行调整,得到调整后的人脸嘴巴的特征点的位置。
具体的,该过程可以为:
对所述人脸嘴巴的每一个特征点的位置的纵坐标乘以所述比值,得到调整后的纵坐标,计算公式为:
y′i=ryi,
其中,r为所述比值,yi为所述人脸嘴巴的第i个特征点的位置的纵坐标,y′i为所述人脸嘴巴的第i个特征点的位置的调整后的纵坐标。
以所述人脸嘴巴的每一个特征点的位置的横坐标和对应的调整后的纵坐标为该特征点的调整后的位置。
310、根据预设的非线性变换公式对所述人脸嘴巴的特征点的调整后的位置进行线性变换,得到经过变换的调整后位置。
具体的,该过程可以为:
根据预设的非线性变换公式对所述人脸嘴巴的特征点的调整后的位置进行线性变换,所述预设的非线性变换公式可以为:
f(x)=cx2+dx+e,
其中,c,d,e为预设的系数。
将所述人脸嘴巴的每一个特征点的位置的横坐标、纵坐标分别代入上述公式,得到所述人脸嘴巴的每一个特征点的经过变换的调整后位置。
312、根据所述调整后的人脸嘴巴的特征点的位置对目标表情中的嘴巴进行驱动。
具体的,该过程可以为:
根据所述人脸嘴巴调整后的特征点的位置,驱动目标表情中嘴巴至与所述人脸嘴巴调整后的特征点的位置相对应的位置。
本发明实施例提供了一种驱动嘴巴运动的方法,通过对所述人脸嘴巴的每一个特征点的位置的纵坐标根据所述人脸嘴巴的特征点的位置的横坐标与预设的人脸嘴巴模型中对应的特征点的位置的横坐标的比值进行相应的调整,保证了所述人脸嘴巴每一个特征点的位置的协调性,提高了驱动的效果,进一步通 过线性变换对调整后的特征点的位置进行变换,使得对嘴巴的驱动更加灵活,能够驱动出更加明显、更加夸张的嘴巴表情,还进一步通过将所述人脸嘴巴的特征点转换为无表情的特征点保证了驱动的稳定性。
实施例三
本发明实施例提供了一种电子设备,参照图4所示,该电子设备包括:
获取模块401,用于获取人脸嘴巴的特征点;
转换模块402,用于将所述人脸嘴巴的特征点转换为无表情的特征点;
比值模块403,用于获取所述人脸嘴巴的特征点的位置的横坐标与预设的人脸嘴巴模型中对应的特征点的位置的横坐标的比值;
调整模块404,用于根据所述比值对所述人脸嘴巴的特征点的位置的纵坐标进行调整,得到调整后的人脸嘴巴的特征点的位置;
驱动模块405,用于根据所述调整后的人脸嘴巴的特征点的位置对目标表情中的嘴巴进行驱动。
可选的,所述转换模块402具体用于:
将所述人脸嘴巴的特征点的位置调整为左右对称。
可选的,所述比值模块403具体用于:
获取所述人脸嘴巴的所有特征点的位置的横坐标的平方和的第一算术平方根;
获取所述预设的人脸嘴巴模型中所有对应的特征点的位置的横坐标的平方和的第二算术平方根;
所述比值为所述第一算术平方根和所述第二算术平方根的比值。
可选的,所述调整模块404具体用于:
对所述人脸嘴巴的每一个特征点的位置的纵坐标乘以所述比值,得到调整后的纵坐标,以所述人脸嘴巴的每一个特征点的位置的横坐标和对应的调整后的纵坐标为该特征点的调整后的位置。
可选的,所述电子设备还包括:
变换模块406,用于根据预设的非线性变换公式对所述人脸嘴巴的特征点的调整后的位置进行线性变换,得到经过变换的调整后位置。
本发明实施例提供了一种电子设备,通过对所述人脸嘴巴的每一个特征点的位置的纵坐标根据所述人脸嘴巴的特征点的位置的横坐标与预设的人脸嘴巴模型中对应的特征点的位置的横坐标的比值进行相应的调整,保证了所述人脸嘴巴每一个特征点的位置的协调性,提高了驱动的效果,进一步通过线性变换对调整后的特征点的位置进行变换,使得对嘴巴的驱动更加灵活,能够驱动出更加明显、更加夸张的嘴巴表情,还进一步通过将所述人脸嘴巴的特征点转换为无表情的特征点保证了驱动的稳定性。
实施例四
本发明实施例提供了一种电子设备,参照图5所示,该电子设备包括存储器501以及与存储器501连接的处理器502,其中,存储器501用于存储一组程序代码,处理器502调用存储器501所存储的程序代码用于执行以下操作:
获取人脸嘴巴的特征点;
将所述人脸嘴巴的特征点转换为无表情的特征点;
获取所述人脸嘴巴的特征点的位置的横坐标与预设的人脸嘴巴模型中对应的特征点的位置的横坐标的比值;
根据所述比值对所述人脸嘴巴的特征点的位置的纵坐标进行调整,得到调整后的人脸嘴巴的特征点的位置;
根据所述调整后的人脸嘴巴的特征点的位置对目标表情中的嘴巴进行驱动。
可选的,处理器502调用存储器501所存储的程序代码用于执行以下操作:
将所述人脸嘴巴的特征点的位置调整为左右对称。
可选的,处理器502调用存储器501所存储的程序代码用于执行以下操作:
获取所述人脸嘴巴的所有特征点的位置的横坐标的平方和的第一算术平方 根;
获取所述预设的人脸嘴巴模型中所有对应的特征点的位置的横坐标的平方和的第二算术平方根;
所述比值为所述第一算术平方根和所述第二算术平方根的比值。
可选的,处理器502调用存储器501所存储的程序代码用于执行以下操作:
对所述人脸嘴巴的每一个特征点的位置的纵坐标乘以所述比值,得到调整后的纵坐标,以所述人脸嘴巴的每一个特征点的位置的横坐标和对应的调整后的纵坐标为该特征点的调整后的位置。
可选的,处理器502调用存储器501所存储的程序代码用于执行以下操作:
根据预设的非线性变换公式对所述人脸嘴巴的特征点的调整后的位置进行线性变换,得到经过变换的调整后位置。
本发明实施例提供了一种电子设备,通过对所述人脸嘴巴的每一个特征点的位置的纵坐标根据所述人脸嘴巴的特征点的位置的横坐标与预设的人脸嘴巴模型中对应的特征点的位置的横坐标的比值进行相应的调整,保证了所述人脸嘴巴每一个特征点的位置的协调性,提高了驱动的效果,进一步通过线性变换对调整后的特征点的位置进行变换,使得对嘴巴的驱动更加灵活,能够驱动出更加明显、更加夸张的嘴巴表情,还进一步通过将所述人脸嘴巴的特征点转换为无表情的特征点保证了驱动的稳定性。
以上仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明,本领域普通技术人员在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。