本发明涉及图像处理技术领域,特别涉及一种人脸替换方法、存储介质及服务器。
背景技术:
人脸替换技术是计算机视觉领域中一个重要的研究方向,由于人脸替换技术代替了photoshop等软件手工进行图像编辑融合等各种弊端,因而在商业、娱乐及其一些特殊的行业有着巨大的影响。
目前的人脸替换技术,只是简单的将目标人脸剪裁出来,嵌入到图像中被替换人脸的位置,替换效果比较生硬,通常会出现替换后目标人物的表情、姿势等面部特征与图像背景不搭的问题,这种替换技术显然已无法满足用户的需求。
因而现有技术还有待改进和提高。
技术实现要素:
本发明要解决的技术问题在于,针对现有技术的不足,提供一种人脸替换方法、存储介质及终端设备,以解决现有现有技术中人脸替换后五官区域不自然,替换效果不真实的问题。
为了解决上述技术问题,本发明所采用的技术方案如下:
一种人脸替换方法,其包括:
提取待转换人脸图像的第一脸部特征参数以及模板人脸图像的第二脸部特征参数,其中,所述模板人脸图像为待转换人脸图像期望转换的人脸图像;
根据所述第一脸部特征参数以及第二脸部特征参数将所述待转换人脸图像与所述模板人脸图像对齐,以得到所述待转换人脸图像对应的第一图像;
按照预设人脸模型在所述第一图像中选取待转换人脸区域,其中,所述预设人脸模型根据所述模板人脸图像构建的;
将所述待转换人脸区域融合至所述模板人脸图像,以得到所述待转换图像对应的转换人脸图像。
所述人脸替换方法,其中,所述第一脸部特征参数和第二脸部特征参数均包含68个人脸特征点。
所述人脸替换方法,其中,所述预设人脸模型的构建过程具体包括:
按照预设规则在所述第二脸部特征参数中选取人脸特征点集;
根据选取到的人脸特征点集构成预设人脸模型。
所述人脸替换方法,其中,所述根据所述第一脸部特征参数以及第二脸部特征参数将所述待转换人脸图像与所述模板人脸图像对齐具体包括:
在所述第一脸部特征参数中选取若干第一人脸特征点,并在所述第二脸部特征参数中选取若干第二人脸特征点,其中,所述第一人脸特征点和第二人脸特定点一一对应;
将各第一人脸特征点映射至其对应的第二人脸特征点,以将所述所述待转换人脸图像与所述模板人脸图像对齐,以得到待转换人脸图像对应的第一图像。
所述人脸替换方法,其中,所述若干第一人脸特征点和若干第二人脸特征点均包括:左右眼角特征点、上唇部下边缘特征点和下唇部上边缘特征点。
所述人脸替换方法,其中,所述将各第一人脸特征点映射至其对应的第二人脸特征点,以将所述所述待转换人脸图像与所述模板人脸图像对齐具体包括:
根据所述上唇部下边缘特征点和下唇部上边缘特征点计算嘴部中心位置;
分别将所左右眼角特征点以及嘴部中心位置进行对齐,以将所述所述待转换人脸图像与所述模板人脸图像对齐。
所述人脸替换方法,其中,所述按照预设人脸模型在所述第一图像中选取待转换人脸区域具体包括:
获取第一图像的第三脸部特征参数,并根据所述第三脸部特征参数和第二脸部特征参数生成第四脸部特征参数;
根据所述第四人脸部特征参数将所述第三脸部特征参数仿射至所述模板人脸图像,以得到所述待转换人脸图像对应的第二图像;
按照预设人脸模型所述第二图像中选取待转换人脸区域。
所述人脸替换方法,其中,所述将所述待转换人脸区域融合至所述模板人脸图像,以得到所述待转换图像对应的转换人脸图像具体包括:
将所述待转换人脸区域融合至所述模板人脸图像,以得到所述待转换人脸图像对应的第三图像,并根据预设人脸模型所述第三图像中选取五官区域,将五官区域仿射到模板人脸图像以得到第四图像;
根据所述第四人脸部特征参数将所述第二脸部特征参数仿射至所述模板人脸图像,以得到所述模板人脸图像对应的第五图像;
将所述第四图像与所述第五图像进行融合,以得到所述待转换图像对应的转换人脸图像。
一种计算机可读存储介质,其中,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的人脸替换方法中的步骤。
一种终端设备,其中,包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述终端设备执行所述计算机可读程序时实现如上任一所述的人脸替换方法中的步骤。有益效果:与现有技术相比,本发明提供了一种人脸替换方法、存储介质及终端设备,所述方法包括:提取待转换人脸图像的第一脸部特征参数以及模板人脸图像的第二脸部特征参数,其中,所述模板人脸图像为待转换人脸图像期望转换的人脸图像;根据所述第一脸部特征参数以及第二脸部特征参数将所述待转换人脸图像与所述模板人脸图像对齐;按照预设人脸模型在所述第一图像中选取待转换人脸区域;将所述待转换人脸区域融合至所述模板人脸图像,以得到所述待转换图像对应的转换人脸图像。本发明通过对人脸图像中脸部特征参数的提取以及构建预设人脸模型,将所述待转换人脸区域替换至所述模板人脸图像,改善了人脸替换后五官区域失真、不自然的问题,提升了人脸图像替换的处理效果。
附图说明
图1为本发明提供的人脸替换方法较佳实施例的流程图。
图2为本发明提供的人脸替换方法较佳实施例中待转换人脸图像。
图3为本发明提供的人脸替换方法较佳实施例中模板人脸图像。
图4为本发明提供的人脸替换方法较佳实施例中68个人脸特征点。
图5为本发明提供的人脸替换方法较佳实施例中待转换人脸图像的三角剖分图。
图6为本发明提供的人脸替换方法较佳实施例中第二图像。
图7为本发明提供的人脸替换方法较佳实施例中待转换人脸区域的lab颜色迁移效果图。
图8为本发明提供的人脸替换方法较佳实施例中第三图像。
图9为本发明提供的人脸替换方法较佳实施例中第五图像。
图10为本发明提供的人脸替换方法较佳实施例中转换人脸图像。
图11为本发明提供的一种终端设备的结构原理图。
具体实施方式
本发明提供一种人脸替换方法、存储介质及终端设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
下面结合附图,通过对实施例的描述,对发明内容作进一步说明。
请参照图1,图1为本发明提供的一种人脸替换方法较佳实施例的流程图。所述方法包括以下步骤:
s10、提取待转换人脸图像的第一脸部特征参数以及模板人脸图像的第二脸部特征参数,其中,所述模板人脸图像为待转换人脸图像期望转换的人脸图像。
具体地,所述待转换人脸图像指的是需将图像中指定的人脸区域替换至模板人脸图像人脸区域的图像,所述待转换人脸图像可以通过拍摄获取,也可以通过网络上传已有的照片,还可以通过截取视频的截图获取。所述模板人脸图像指的是用于替换待转换人脸图像中指定的人脸区域的图像,所述模板人脸图像可以从预设人脸库中选取,所述预设人脸库可以包括明星脸库,也可以包括影视剧经典造型库,可以实现用户将待转换图片中指定的人脸区域替换至任意所述模板人脸图像上的人脸区域的效果。
例如,用户想获取扮演《西游记》唐僧的经典造型的效果时,可以将唐僧的剧照设为模板人脸图像,将自己照片的人脸区域替换至唐僧的剧照上的人脸区域而达到替换效果。本实施例中以图2为例作为待转换人脸图像,以图3为例作为模板人脸图像以演示替换效果。
进一步,所述脸部特征参数为人脸关键点坐标集合,所述人脸关键点坐标集合中关键点可以通过人脸检测技术获取到,例如,基于300w数据集训练的神经网络。在本实施例中,所述脸部特征参数是通过dlib人脸检测技术提取到的人脸关键点坐标集合,其中,所述人脸关键点包括人脸图像中眉毛、眼睛、鼻子、嘴唇和脸部边缘的位置。所述关键点坐标是以人脸坐标系为基础进行说明,当然,在实施例中,所述第一脸部特征参数和第二脸部特征参数均是通过dlib人脸检测技术提取到的。
进一步,在本实施例的一个实现方式中,所述第一脸部特征参数和第二脸部特征参数均包含68个人脸特征点,所述68个人脸特征点分布在脸部的五官区域及轮廓,包括眼睛、鼻翼、上下嘴唇、下巴等。在本实施例中,如图4所述,所述68个人脸特征点分别采用1到68的自然数表示,并且各数字与其对应的人脸特征点相关联,根据所述数字可以确定其代表的人脸特征点。例如,人脸特征点37代表左眼角特征点,人脸特征点46代表右眼角特征点。
s20、根据所述第一脸部特征参数以及第二脸部特征参数将所述待转换人脸图像与所述模板人脸图像对齐,以得到待转换人脸图像对应的第一图像。
具体地,所述根据所述第一脸部特征参数以及第二脸部特征参数将所述待转换人脸图像与所述模板人脸图像对齐指的是将第一脸部特征参数中的关键点与所述第二脸部特征参数中的关键点进行对齐,在根据对齐的关键点对所述待转换人脸图像进行调整,以减小待转换人脸图像和所述模板人脸图像五官区域的宽度以及长度的差异。在本实施例中,所述待转换人脸图像进行调整的调整方式可以包括旋转、平移以及缩放等。
进一步,在本实施例的一个实现方式中,所述根据所述第一脸部特征参数以及第二脸部特征参数将所述待转换人脸图像与所述模板人脸图像对齐具体包括:
s21、在所述第一脸部特征参数中选取若干第一人脸特征点,并在所述第二脸部特征参数中选取若干第二人脸特征点,其中,所述第一人脸特征点和第二人脸特定点一一对应;
s22、将各第一人脸特征点仿射至其对应的第二人脸特征点,以将所述待转换人脸图像与所述模板人脸图像对齐,得到待转换人脸图像对应的第一图像。
具体地,所述第一人脸特征点为第一脸部特征参数中的一个关键点或者多个关键点,所述第二人脸特征点为第二脸部参数中的一个关键点或者多个关键点,所述若干第二人脸特征点与所述若干第一人脸特征点一一对应,即所述第一人脸特征点的数量与第二人脸特征点的数量相等,并且对于任一第一人脸特征点,均存在一个第二人脸特征点与所述第一人脸特点点代表的人体部位相同。例如,若干第一人脸特征点包括左眼角特征点,那么若干第二人脸特征点中存在左眼角特征点。
进一步,将所述待转换人脸图像人脸区域的所述第一人脸特征点与所述模板人脸图像中人脸区域对应的第二人脸特征点通过仿射的变换方式与所述模板人脸图像一一对应,使得所述待转换人脸图像与所述模板人脸图像对齐,以得到待转换人脸图像对应的第一图像,所述第一图像的对应的脸部特征参数为第三脸部特征参数。在本实施例中,所述仿射变换为通过旋转、平移、缩放或其组合等变换方式,在仿射过程中所述第一人脸特征参数发生改变得到第三脸部特征参数,但所述第一人脸特征点之间的位置关系均保持不变。
进一步,在本实施例的一个实现方式中,所述将各第一人脸特征点映射至其对应的第二人脸特征点,以将所述待转换人脸图像与所述模板人脸图像对齐具体包括:
s221、根据所述上唇部下边缘特征点和下唇部上边缘特征点计算嘴部中心位置;
s222、分别将所左右眼角特征点以及嘴部中心位置进行对齐,以将所述所述待转换人脸图像与所述模板人脸图像对齐。
具体地,在所有的人脸特征点中,眼部和嘴巴的部位特征较为明显,为了达到较好的对齐效果,可以分别选取所述待转换人脸图像与所述模板人脸图像眼部特征点和嘴唇部位的特征点作为第一人脸特征点和第二人脸特征点。本实施例中选取所述待转换人脸图像人脸区域的上唇部下边缘特征点63和下唇部上边缘特征点67,计算两点之间距离并确认两点之间的中心点为嘴巴的中心位置;选取人所述待转换人脸图像人脸区域的所述左右眼角特征点37与点46以及所述嘴巴的中心位置作为所述第一人脸特征点;相应地,选取所述模板人脸图像人脸区域中左右眼角特征点37与点46以及所述嘴巴的中心位置作为第二人脸特征点。将第一人脸特征点中左右眼角特征点37与点46以及嘴部中心位置与第二眼角特征点中左右眼角特征点37与点46以及嘴部中心位置对齐,能更好的使待转换人脸图像五官区域与所述模板人脸图像中五官区域的宽一致,还能使待转换人脸图像五官区域眼睛到嘴巴的长度与所述模板人脸图像五官区域相应的长度一致。人脸特征点37,点46与嘴巴的中心点围成的区域包含五官,可以减小用户人脸与所述模板人脸图像中人脸长宽比的误差,更好的使用户人脸区域的五官与所述模板人脸图像人脸区域的五官对齐。
s30、按照预设人脸模型在对齐后的得到待转换人脸图像对应的第一图像选取待转换人脸区域,其中,所述预设人脸模型根据所述模板人脸图像构建的。
具体地,所述预设人脸模型是根据所述模板人脸图像生成,通过所述预设人脸模型可以在人脸图像中选取人脸区域。所述待转换人脸区域是根据所述预设人脸模型在第一图像中选取到。所述选取的具体过程可以为将所述预设人脸模型与所述第一图像重叠放置,之后根据所述预设人脸模型对应的框选区域来确定待转换人脸图像的待转换人脸区域。
进一步,在本实施的一个实现方式中,所述预设人脸模型的构建过程具体包括:
m1、按照预设规则在所述第二脸部特征参数中选取人脸特征点集;
m2、根据选取到的人脸特征点集构成预设人脸模型。
具体地,所述人脸特征点集包含所述第二脸部特征参数的部分特征点,所述人脸特征点集中的特征点可以确定人脸轮廓,其中,所述人脸特征点集包含的为人脸边缘的特征点。本实施例中,所述人脸特征点集为所述第二脸部特征参数中人脸特征点1到人脸特征点27,所述预设人脸模型为人脸特征点1到人脸特征点27围成的人脸区域。
进一步,所述按照预设人脸模型在对齐后的得到待转换人脸图像对应的第一图像中选取待转换人脸区域具体包括:
s31、获取第一图像的第三脸部特征参数,并根据所述第三脸部特征参数和第二脸部特征参数生成第四脸部特征参数;
s32、根据所述第四人脸部特征参数将所述第三脸部特征参数仿射至所述模板人脸图像,以得到所述待转换人脸图像对应的第二图像;
s33、按照预设人脸模型在第二图像中选取待转换人脸区域。
具体地,通过dlib人脸检测技术获取第一图像对应的第三脸部特征参数和模板人脸图像对应的第二脸部特征参数,并按照预设规则生成第四脸部特征参数,用以仿射至模板人脸图像生成临时人脸图像。本实施例中,根据第一图像的第三脸部特征参数与模板人脸图像的第二脸部特征参数分别对应的68个人脸特征点各乘以系数0.5进行相加,得到新的68个点作为第四脸部特征参数,用以仿射至模板人脸图像生成临时人脸图像。
进一步,在进行仿射变换前,还包括对人脸图像的脸部区域进行三角剖分以获得人脸三角区域,所述三角剖分可以是delaunay三角剖分,具体如图5所示。具体地,delaunay三角剖分是指对人脸区域上所有的人脸特征点进行三角剖分,使得所有三角形的最小内角之和最大。三角剖分得到的所有三角形互不重叠,且完整地覆盖整个人脸区域,对所有人脸特征点进行三角化后,被三角网覆盖的人脸区域就被唯一定义,位于人脸区域内的任意一个人脸特征点也是唯一定义的。
本实施例中,根据所述第四人脸部特征参数将所述第三脸部特征参数仿射至所述模板人脸图像以得到所述待转换人脸图像对应的第二图像,例如,如图6所示。
s40、将所述待转换人脸区域融合至所述模板人脸图像,以得到所述待转换图像对应的转换人脸图像。
具体地,所述融合方式为泊松融合,通过泊松融合可以将所述所述待转换人脸区域与模板人脸图像无缝融合,达到替换逼真自然的效果。
进一步,所述将所述待转换人脸区域融合至所述模板人脸图像,以得到所述待转换图像对应的转换人脸图像具体包括:
s41、将所述待转换人脸区域融合至所述模板人脸图像,以得到所述待转换人脸图像对应的第三图像,并根据预设人脸模型所述第三图像中选取五官区域,将五官区域仿射到模板人脸图像以得到第四图像;
s42、根据所述第四人脸部特征参数将所述第二脸部特征参数仿射至所述模板人脸图像,以得到所述模板人脸图像对应的第五图像;
s43、将所述第四图像与所述第五图像进行融合,以得到所述待转换图像对应的转换人脸图像。
本实施例中,根据预设人脸模型预设规则,在第二图像中选取由人脸特征点1-27围成的五官区域围成所述待转换人脸区域。
进一步,选取五官区域以后,可以通过lab颜色迁移,使待转换区域人脸颜色与模板人脸图像人脸颜色接近,其过程效果如图7所示。
具体地,从rgb到lab转换通过以下方式进行:
l=0.3811*r+0.5783*g+0.0402*b;
a=0.1967*r+0.7244*g+0.0782*b;
b=0.0241*r+0.1288*g+0.8444*b;
根据着色图像的统计分析确定一个线性变换,使得模板人脸图像和待转换人脸图像lab空间中具有同样的均值和方差
具体地,从lab到rgb转换,通过以下方式进行:
r=4.4679*l-3.5873*a+0.1193*b;
g=-1.2186*l+2.3809*a-0.1624*b;
b=0.0497*l-0.2439*a+1.2045*b;
进一步,将经过颜色迁移的所述五官区域与模板人脸图像进行融合,以得到第三图像,具体如图8所示。在得到第三图像后,可以对第三图像进行识别以得到第三图像的人脸特征点,在根据识别得到人脸特征点确定第三图像的五官区域,在确定五官区域后提取所述五官区域,其中,所述固定区域可以是鼻子、眼睛以及嘴部区域,也可以是人脸边缘围成的五官区域。在本实施例中,所述五官区域为人脸边缘围成的五官区域,即所述五官区域为第三图像的人脸特征点中的1-27特征点围成的区域。此外,在获取到五官区域后,将所述五官区域与所述第四图像进行泊松融合,将融合得到图像记为第五图像,例如,如图9所示。最后,在获取到第五图像后,将所述第三图像与所述第五图像进行融合以得到待转换图像对应的转换人脸图像,例如,图10所示。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的人脸替换方法中的步骤。
本发明还提供了一种终端设备,如图11所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(communicationsinterface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述存储介质以及移动终端中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。