本发明涉及图像融合处理技术领域,特别是涉及一种人脸图像融合的方法及系统。
背景技术:
在人脸图像处理领域,随着ai人工智能的出现,对用户图片照片的美颜,渲染,锐化,分割等技术越发成熟,凡是在图像融合处理技术领域,略显不足,在传统图像处理实现方案中,不论是利用直方图统计或者rgb缩放的方式都很难让融合效果达到很高的鲁棒性,尤其是对于用户图片带有复杂的光照。
基于深度机器学习的技术实现方案,在融合效果方面,比传统的好,但需要花费大量的云端计算服务器的成本,在用户移动终端需要依赖于良好的网络条件甚至需要长时间的等待,对于人脸不端正,侧脸融合图像模糊,效果不好,用户体验差。。
技术实现要素:
基于此,本发明的目的在于,提供一种人脸图像融合的方法及系统,通过对人脸关键点的计算,将融合图的面部变形,根据模板图的人脸角度,得到符合模板图角度的人脸五官面具,解决侧脸融合中角度和边缘的问题,使融合更真实,同时融合速度快,节省用户服务器资源。
一种人脸图像融合的方法,包括如下步骤:
获取用户待融合人脸图和人脸模板图;
将人脸模板图进行人脸识别,得到关键点数据a以及人脸朝向数据;
将待融合人脸图进行人脸识别,得到关键点数据b1以及人脸朝向数据;缩放并位移所述关键点数据b1到所述人脸模板图矩形区域内;通过缩放将所述关键点数据b1的眼睛轮廓点和所述关键点数据a的眼睛轮廓点对齐;利用所述关键点数据b1和关键点数据a嘴巴轮廓关键点计算出透视变换矩阵m,使用所述矩阵m对关键点数据b1进行透视变换;提取所述关键点数据a的脸部轮廓点,替换所述关键点数据b1的脸部轮廓点,得到关键点数据b;
将所述关键点数据b结合图像的左上、上中、右上、右中、右下、下中、坐下、左中八个点进行三角剖分,通过三角剖分重新绘制所述待融合人脸图和所述人脸模板图,实现两图的人脸对齐;
将所述关键点数据b的脸部轮廓计算出所述待融合人脸图的五官区域掩码图c,将所述待融合人脸图、人脸模板图和掩码图c输入泊松融合网络中,得到初步效果图d;
将所述关键点数据b的脸部轮廓计算出所述人脸模板图的五官区域,去除掉眼睛和嘴巴区域后,得到掩码图e;将所述人脸模板图、初步效果图d和掩码图e,输入到泊松融合网络中,得到最终的效果图;
一种人脸图像融合的系统,所述系统包括:
人脸模板图关键点预处理模块,用于将人脸模板图进行人脸识别,得到关键点数据a以及人脸朝向数据;
待融合人脸图像关键点调整模块,用于将待融合人脸图进行人脸识别,得到关键点数据b1以及人脸朝向数据;其中,缩放并位移所述关键点数据b1到所述人脸模板图矩形区域内;通过缩放将所述关键点数据b1的眼睛轮廓点和所述关键点数据a的眼睛轮廓点对齐;利用所述关键点数据b1和关键点数据a嘴巴轮廓关键点计算出透视变换矩阵m,使用所述矩阵m对关键点数据b1进行透视变换;提取所述关键点数据a的脸部轮廓点,替换所述关键点数据b1的脸部轮廓点,得到关键点数据b;
人脸对齐模块,用于将所述关键点数据b结合图像的左上、上中、右上、右中、右下、下中、坐下、左中八个点进行三角剖分,通过三角剖分重新绘制所述待融合人脸图和所述人脸模板图,实现两图的人脸对齐;
五官图像面具无缝融合模块,用于将所述关键点数据b的脸部轮廓计算出所述待融合人脸图的五官区域掩码图c,将所述待融合人脸图、人脸模板图和掩码图c输入泊松融合网络中,得到初步效果图d;
人像融合模块,用于将所述关键点数据b的脸部轮廓计算出所述人脸模板图的五官区域,去除掉眼睛和嘴巴区域后,得到掩码图e;将所述人脸模板图、初步效果图d和掩码图e,输入到泊松融合网络中,得到最终的效果图;
本发明相对于现有技术具有以下有益效果:
本方案根据所述待融合人脸图关键点进行调整和透视变换,得到关键点数据b2和人像朝向数据;根据人脸模板图关键点预处理,得到关键点数据a以及人脸朝向数据;将关键点数据b2结合图像的左上、上中、右上、右中、右下、下中、坐下、左中八个点进行三角剖分,通过三角剖分重新绘制所述待融合人脸图和所述人脸模板图,实现两图的人脸对齐;通过关键点数据b2脸部轮廓计算待融合人脸图的五官掩码图c,通过泊松融合网络处理待融合人脸图、人脸模板图和解码图c得到初步效果图d;通过关键点数据b2脸部轮廓计算出人脸模板图的五官区域,去除眼睛和嘴巴区域后,得到掩码图e,将人脸模板图、初步效果图d和掩码图e通过泊松融合网络,计算得出最终融合的效果图。通过人脸模板图和待融合人脸图关键点的处理,使得融合角度和边缘的融合效果更真实,融合速度快,完全离线的情况下,不需要网络便可生成融合图像。
附图说明
图1为本发明一种人脸图像融合方法流程图;
图2为本发明一种人脸图像融合系统流程图;
图3为本发明待融合人脸图像关键点调整模块示意图;
图4(a、b、c、d)为本发明实施例中待融合人脸图、人脸模板图、融合输出的本地结果图、传统机器学习的结果图;
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。
克服现有技术中,运行速度慢,融合效果差,消耗服务器资源等缺点,请参阅图1和图3,本发明提供一种人脸图像融合的方法,包括如下步骤:
s101:获取用户待融合人脸图和人脸模板图;
s102:将人脸模板图进行人脸识别,得到关键点数据a以及人脸朝向数据;
s103:将待融合人脸图进行人脸识别,得到关键点数据b1以及人脸朝向数据;缩放并位移所述关键点数据b1到所述人脸模板图矩形区域内;通过缩放将所述关键点数据b1的眼睛轮廓点和所述关键点数据a的眼睛轮廓点对齐;利用所述关键点数据b1和关键点数据a嘴巴轮廓关键点计算出透视变换矩阵m,使用所述矩阵m对关键点数据b1进行透视变换;提取所述关键点数据a的脸部轮廓点,替换所述关键点数据b1的脸部轮廓点,得到关键点数据b;
s104:将所述关键点数据b结合图像的左上、上中、右上、右中、右下、下中、坐下、左中八个点进行三角剖分,通过三角剖分重新绘制所述待融合人脸图和所述人脸模板图,实现两图的人脸对齐;
s105:将所述关键点数据b的脸部轮廓计算出所述待融合人脸图的五官区域掩码图c,将所述待融合人脸图、人脸模板图和掩码图c输入泊松融合网络中,得到初步效果图d;
s106:将所述关键点数据b的脸部轮廓计算出所述人脸模板图的五官区域,去除掉眼睛和嘴巴区域后,得到掩码图e;将所述人脸模板图、初步效果图d和掩码图e,输入到泊松融合网络中,得到最终的效果图;
具体的,在对模板图关键点处理时,获取的人脸朝向数据,对应三个值yaw、pitch、roll是三个角度值,yaw是围绕着y轴旋转的,对应到人脸上就是左右转头,roll是围绕z轴旋转,对应到人脸上就是左右点头,pitch是围绕x轴旋转,对应到人脸上就是上下点头。
在步骤s103待融合人脸图识别获取关键点数据包括,数据识别、关键点提取、透视变换、关键点替换、数据输出,具体实现步骤如下:
对待融合人脸图像进行人脸数据识别;
识别待融合人脸图像后,提取人脸关键点数据b1;
透视变换模块,缩放并位移关键点数据b1到模板人脸矩形区域中,对人脸关键点进行操作缩放,选择关键点a中最外侧的两个点,计算距离da;选择关键点b1最外侧的两个点,计算距离db;通过da/db得到缩放比例,根据所述缩放比例对b1所有点进行缩放移动;选择a和b1眼睛中央的关键点,计算距离,从而确定得出b1移动到a位置的大致距离;缩放将关键点数据b1的眼睛轮廓对齐关键点数据a的眼睛轮廓点,利用关键点数据b和关键点数据a的嘴巴轮廓点计算出透视变换矩阵m;关键点替换模块,利用透视变换矩阵m,对关键点数据b1进行透视变换;
关键点替换模块,使用关键点数据a的脸部轮廓点,完全替换替换关键点数据b1的脸部轮廓,得到关键点数据b。
输出模块,输出待融合人脸图关键点数据b。
参照图2所示,本发明提供一种人脸图像融合的系统,包括以下模块:
s201:人脸模板图关键点预处理模块,用于将人脸模板图进行人脸识别,得到关键点数据a以及人脸朝向数据;
s202:待融合人脸图像关键点调整模块,用于将待融合人脸图进行人脸识别,得到关键点数据b1以及人脸朝向数据;缩放并位移所述关键点数据b1到所述人脸模板图矩形区域内;通过缩放将所述关键点数据b1的眼睛轮廓点和所述关键点数据a的眼睛轮廓点对齐;利用所述关键点数据b1和关键点数据a嘴巴轮廓关键点计算出透视变换矩阵m,使用所述矩阵m对关键点数据b1进行透视变换;提取所述关键点数据a的脸部轮廓点,替换所述关键点数据b1的脸部轮廓点,得到关键点数据b;
s203:人脸对齐模块,用于将所述关键点数据b结合图像的左上、上中、右上、右中、右下、下中、坐下、左中八个点进行三角剖分,通过三角剖分重新绘制所述待融合人脸图和所述人脸模板图,实现两图的人脸对齐;
s204:五官图像面具无缝融合模块,用于将所述关键点数据b的脸部轮廓计算出所述待融合人脸图的五官区域掩码图c,将所述待融合人脸图、人脸模板图和掩码图c输入泊松融合网络中,得到初步效果图d;
s205:人像融合模块,用于将所述关键点数据b的脸部轮廓计算出所述人脸模板图的五官区域,去除掉眼睛和嘴巴区域后,得到掩码图e;将所述人脸模板图、初步效果图d和掩码图e,输入到泊松融合网络中,得到最终的效果图;
具体的,在对模板图关键点处理时,获取的人脸朝向数据,对应三个值yaw、pitch、roll是三个角度值,yaw是围绕着y轴旋转的,对应到人脸上就是左右转头,roll是围绕z轴旋转,对应到人脸上就是左右点头,pitch是围绕x轴旋转,对应到人脸上就是上下点头。
如图3所示,待融合人脸图模块,包含数据识别模块、关键点提取模块、透视变换模块、关键点替换模块、输出模块,具体实现步骤如下:
s301:数据识别模块,对待融合人脸图像进行人脸数据识别;
s302:关键点提取模块,识别待融合人脸图像后,提取人脸关键点数据b1;
s303:透视变换模块,缩放并位移关键点数据b1到模板人脸矩形区域中,对人脸关键点进行操作缩放,选择关键点a中最外侧的两个点,计算距离da;选择关键点b1最外侧的两个点,计算距离db;通过da/db得到缩放比例,根据所述缩放比例对b1所有点进行缩放移动;选择a和b1眼睛中央的关键点,计算距离,从而确定得出b1移动到a位置的大致距离;缩放将关键点数据b1的眼睛轮廓对齐关键点数据a的眼睛轮廓点,利用关键点数据b1和关键点数据a的嘴巴轮廓点计算出透视变换矩阵m;关键点替换模块,利用透视变换矩阵m,对关键点数据b1进行透视变换;
s304:关键点替换模块,使用关键点数据a的脸部轮廓点,完全替换替换关键点数据b1的脸部轮廓,得到关键点数据b。
s305:输出模块,输出待融合人脸图关键点数据b。
本发明方案融合效果明显优于传统方法,模板图的融合效果,特别是在侧脸模板图的情况下,可以完美的实现融合,且可以运行于客户端,算法时间对1080p图像能控制在300毫秒以内,平均100毫秒,其中,模板图的人脸占比越高,耗时越长,从用户体验来讲,融合速度快,等待时间少,同时节省服务器资源,在无需云端服务器,网络的情况下,可以完全实现离线运行。
模板图是侧脸的情况下,融合效果更好,角度和边缘的融合效果更真实,传统机器学习的方案,经过服务器,成功率比较低,本实现方案在客户端处理,成功率大大提成,此外,大幅度优化了边缘和侧脸的融合,保存率也提升较大。如图4(a、b、c、d)所示,分别是待融合图、模板图、融合输出的本地结果图、传统机器学习的结果图。
此外,本领域技术人员能够理解,尽管再次所述的一些实施例包括其它实施例中所包含的某些特征而不是其他特征,但是不同实施例的特征的组合意味着处于本发明的范围之外,并且形成不同的实施例。例如,在所述的权利要求书中,所要求的保护的实施例的任意之一都可以以任意的组合方式来使用。
尽管根据有限数量的实施例描述了本发明,但是收益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其他实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说,许多修改和变更是显而易见的。对于本发明的范围,对本发明所作的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。