一种保持脸型不变的图像换脸方法技术

技术编号:29405897 阅读:20 留言:0更新日期:2021-07-23 22:44
一种保持脸型不变的图像换脸方法属于计算机视觉领域。本发明专利技术获取模版图像,对模版图像进行预处理。获取用户图像,通过人脸对齐网络,获得对齐用户人脸图像。通过仿射变换将用户人脸轮廓与模版人脸轮廓对齐。然后通过点对点肤色变换,将用户人脸肤色转换为模版人脸肤色,再通过仿射变换将用户人脸轮廓转换为原来的轮廓,得到肤色转换后的用户人脸。然后将肤色转换后的用户人脸与模版肤色图像进行柏松融合,再将模版额头与其柏松融合。最后通过修正后的用户人脸掩膜将融合后的用户人脸抠出,将抠出的用户人脸粘贴到瘦脸后的模版图像,再粘贴上模版头发,对粘贴后的边缘做平滑处理后得到最终结果。本发明专利技术使得换脸后的人脸与用户人脸具有高度相似性。

【技术实现步骤摘要】
一种保持脸型不变的图像换脸方法
本专利技术属于计算机视觉、图像处理技术与深度学习等交叉领域,涉及一种能够保持人脸脸型的换脸的方法。
技术介绍
近年来,图像换脸技术得到了快速的发展,例如天天p图中的疯狂换脸功能,用户选定一张模版图后,可将模版的人脸换为自己自拍照的人脸,其具有很强的娱乐性和传播性,吸引了一大批用户。现有的换脸技术,首先,通常是提取两张图像中人脸的关键点。然后,通过仿射变换将用户人脸的关键点与模版人脸的关键点对齐,提取关键点圈定的区域,将用户的人脸抠出来。最后,再通过柏松融合的方式,将抠出的用户人脸与模版人脸进行融合。该方法将用户人脸与模板人脸融合后,丧失了用户人脸的轮廓信息,同时还会导致人脸内部的形变,换脸后的人脸与用户人脸的相似度不高。因此,本专利技术提出了一种保持人脸脸型的换脸方法。该方法能够将用户人脸与模版人脸融合的同时,又能保持用户人脸的轮廓信息,从而提高换脸后用户人脸的相似度。本专利技术首先对用户人脸进行点对点的肤色变换,然后将肤色变换后的用户人脸与模版肤色图像柏松融合,避免了由于用户人脸光照的原因,而导致的柏松融合时出现肤色不均,肤色过亮或者过暗等异常情况。然后再通过用户人脸掩膜将用户人脸直接贴到模版人脸,完全保留了用户人脸轮廓。最后再粘贴模版头发,修复由于粘贴用户人脸时,导致模版头发被遮挡的问题。
技术实现思路
本专利技术提供了一种方法,可以在换脸的同时,保留用户人脸的轮廓信息,从而提高换脸后人脸与用户人脸的相似度。需要说明的是,在本文中,用户人脸姿态指的是人上下转头,左右转头,平面歪头的人脸角度特征。本文中所使用到的图像坐标系,都是平面直角坐标系,以图像的左上角为坐标原点,向右为x轴,向下为y轴。本文中所说的“掩膜中的点”是指掩膜中那些被激活的点,即数值大于零的点。所说的“对齐人脸图像”中的“对齐”含义是指,在图像的大小是固定时,人脸在图像中的位置是固定的,平面歪头的角度为零。为了达到上述的目的,本专利技术采取如下的技术方案:获取模版图像,对模版图像进行预处理。首先通过人脸对齐网络,获得对齐模版人脸图像。然后复制对齐模版人脸图像,通过液化操作得到瘦脸后的对齐模版人脸图像,采样对齐模版人脸的皮肤,制作一张模版肤色图像。然后通过人脸解析网络,获得对齐模版人脸图像的人脸掩膜、头发掩膜、额头掩膜。最后通过人脸关键点检测模型,得到模版人脸的81个关键点。获取用户图像,通过人脸对齐网络,获得对齐用户人脸图像。计算对齐用户人脸的81个关键点,通过仿射变换将用户人脸轮廓与模版人脸轮廓对齐。然后通过点对点肤色变换,将用户人脸肤色转换为模版人脸肤色,再通过仿射变换将用户人脸轮廓转换为原来的轮廓,得到肤色转换后的用户人脸。然后将肤色转换后的用户人脸与模版肤色图像进行柏松融合,再将模版额头与其柏松融合。最后通过修正后的用户人脸掩膜将融合后的用户人脸抠出,将抠出的用户人脸粘贴到瘦脸后的模版图像,再粘贴上模版头发,对粘贴后的边缘做平滑处理后得到最终结果。与现有技术相比,本专利技术具有以下优点:将用户人脸肤色转换为模版人脸肤色时,在一定程度上克服了由于光照不均匀带来的问题,同时没有改变用户人脸轮廓,而是直接将用户人脸粘贴到模版人脸上,使得换脸后的人脸与用户人脸具有高度的相似性。附图说明图1为本专利技术提供的模版图像预处理方法步骤流程图;图2为本专利技术提供的换脸方法步骤流程图;图3为本专利技术柏松融合的具体流程步骤图;图4为本专利技术点对点颜色转换实际步骤图;图5为本专利技术的实际换脸的效果图;具体实施方式下面将详细描述本专利技术的各个方面的特征和示例性实施例,为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图,对本专利技术进行进一步详细描述。本专利技术具体流程包括两大部分:模版图像的预处理与将用户人脸换到模版图像:第一部分:模版图像的预处理。参照图1,示出了本专利技术对模版图像进行预处理的具体流程。本专利技术对模版图像进行预处理的具体方法步骤如下:S101:获取模版图像,调整模版人脸姿态,生成对齐模版人脸图像。读入模版图像后,检测模版人脸所在位置,使用mtcnn模型预测模版人脸的五个关键点,获得模版人脸的五个关键点坐标,与预先设置的标准正脸的五个关键点进行对齐,将用户人脸平面歪头的角度调整为零。然后对模版图像人脸部分进行裁剪,保证模版人脸在图像的中间位置。最后将对齐模版人脸图像按照out_size×out_size的大小输出,out_size大小可以根据实际需要设定,本专利技术设置out_size=512。S102:制作模版肤色图像。采样模版人脸部分的皮肤,通过复制拼接操作,生成一张与对齐模版人脸图像同样大小的模版肤色图像。然后对拼接边界处进行平滑处理,使拼接边界处过度平滑。S103:对对齐模版人脸图像中的人脸进行瘦脸。复制S101中对齐模版人脸图像,通过液化操作,对模版图像中的人脸进行瘦脸,同时缩短模版人脸的下巴的高度,得到一张瘦脸后的对齐模版人脸图像。S104:生成模版人脸掩膜、模版头发掩膜与模版头发掩膜。使用人脸解析网络,本专利技术使用的是BiseNet网络,对对齐模版人脸图像进行解析,得到一张解析后的模版人脸分割图像,从中提取出模版人脸掩膜、模版头发掩膜与模版眉毛掩膜。然后寻找模版眉毛掩膜中,y轴坐标最小的点,将其y轴上的值记为dst_brow_y_min。最后复制模版人脸掩膜,将掩膜中y轴坐标大于dst_brow_y_min的点全部置为零,得到模版额头掩膜。第二部分:将用户人脸换到模版图像。参照图2,示出了本专利技术将用户人脸换到模版图像的操作流程。本专利技术将用户人脸换到模版图像的具体方法步骤如下:S201:获取用户图像,调整用户人脸姿态,生成对齐用户人脸图像。采用与第一部分S101中同样的过程,处理用户人脸图像,得到对齐用户人脸图像。S202:将用户人脸轮廓与模版人脸轮廓对齐。首先检测对齐模版人脸与对齐用户人脸的人脸关键点,这里采用的是人脸的81个关键点,包括常规的64个关键点和17个额头的关键点。提取对齐用户人脸图像关键点圈定的区域框图,得到一张用户人脸图像。然后剔除掉模版人脸与用户人脸关键点中嘴唇上的20个关键点,再使用剔除嘴唇关键点后的用户人脸关键点对用户人脸进行三角剖分。最后通过仿射变换对用户人脸进行变形,使用户人脸轮廓与模版人脸轮廓重合。S203:点对点用户人脸肤色转换。获取第一部分中的模版人脸与步骤S202中变形后的用户人脸,对模版人脸图像与变形后的用户人脸图像进行高斯模糊处理,得到两个高斯模糊后的图像,用高斯模糊后的模版图像中的数值除除对应位置的高斯模糊后的用户图像中的数值,得到一个与用户人脸图像同样大小的系数矩阵,用这个矩阵点对点的与用户人脸进行相乘,得到变换肤色后的用户人脸。S204:仿射变换将用户人脸轮廓转换为原来的轮廓。首先获取S202中剔除了嘴唇关键点的模版人脸关键点与用户人脸关键点。然后对S203中变换肤色后的用本文档来自技高网...

【技术保护点】
1.一种保持脸型不变的图像换脸方法,其特征在于,具体步骤如下:/nS101:获取模版图像,调整模版人脸姿态,生成对齐模版人脸图像;读入模版图像后,检测模版人脸所在位置,使用mtcnn模型预测模版人脸的五个关键点,获得模版人脸的五个关键点坐标,与预先设置的标准正脸的五个关键点进行对齐,将用户人脸平面歪头的角度调整为零;然后对模版图像人脸部分进行裁剪,保证模版人脸在图像的中间位置;最后将对齐模版人脸图像按照out_size×out_size的大小输出;/nS102:制作模版肤色图像;采样模版人脸部分的皮肤,通过复制拼接操作,生成一张与对齐模版人脸图像同样大小的模版肤色图像;然后对拼接边界处进行平滑处理,使拼接边界处过度平滑;/nS103:对对齐模版人脸图像中的人脸进行瘦脸;复制S101中对齐模版人脸图像,通过液化操作,对模版图像中的人脸进行瘦脸,同时缩短模版人脸的下巴的高度,得到一张瘦脸后的对齐模版人脸图像;/nS104:生成模版人脸掩膜、模版头发掩膜与模版头发掩膜;使用人脸解析网络,得到一张解析后的模版人脸分割图像,从中提取出模版人脸掩膜、模版头发掩膜与模版眉毛掩膜;然后寻找模版眉毛掩膜中,y轴坐标最小的点,将其y轴上的值记为dst_brow_y_min;最后复制模版人脸掩膜,将掩膜中y轴坐标大于dst_brow_y_min的点全部置为零,得到模版额头掩膜;/n将用户人脸换到模版图像的具体方法步骤如下:/nS201:获取用户图像,调整用户人脸姿态,生成对齐用户人脸图像;/nS202:将用户人脸轮廓与模版人脸轮廓对齐;首先检测对齐模版人脸与对齐用户人脸的人脸关键点,这里采用的是人脸的81个关键点,提取对齐用户人脸图像关键点圈定的区域框图,得到一张用户人脸图像;然后剔除掉模版人脸与用户人脸关键点中嘴唇上的20个关键点,再使用剔除嘴唇关键点后的用户人脸关键点对用户人脸进行三角剖分;最后通过仿射变换对用户人脸进行变形,使用户人脸轮廓与模版人脸轮廓重合;/nS203:点对点用户人脸肤色转换;获取第一部分中的模版人脸与步骤S202中变形后的用户人脸,对模版人脸图像与变形后的用户人脸图像进行高斯模糊处理,得到两个高斯模糊后的图像,用高斯模糊后的模版图像中的数值除除对应位置的高斯模糊后的用户图像中的数值,得到一个与用户人脸图像同样大小的系数矩阵,用这个矩阵点对点的与用户人脸进行相乘,得到变换肤色后的用户人脸;/nS204:仿射变换将用户人脸轮廓转换为原来的轮廓;首先获取S202中剔除了嘴唇关键点的模版人脸关键点与用户人脸关键点;然后对S203中变换肤色后的用户人脸进行仿射变换,将用户人脸轮廓转换为用户原来的轮廓;最后用户人脸关键点框定的区域,得到用户人脸的掩膜,利用用户人脸掩膜,将肤色转换后的用户人脸粘贴回对齐用户人脸图像,得到变换肤色后的对齐用户人脸图像;/nS205:将变换肤色后的用户人脸与模版肤色图像柏松融合;具体的流程步骤如下:/n(1)获取S204中变换肤色后用户人脸图像,生成用户人脸掩膜;/n首先获取S204中变换肤色后用户人脸图像,使用人脸解析网络对用户人脸进行解析,得到一张解析后的用户人脸分割图像,对用户人脸分割图像进行处理,生成用户人脸掩膜与用户眉毛掩膜;然后寻找用户眉毛掩膜中y轴坐标最小的点,将其y轴上的值记为src_brow_y_min;/n(2)检测用户人脸姿态,修正用户人脸掩膜;/n获取步骤S204中的变换肤色后的对齐用户人脸图像,检测用户人脸关键点,设置标准人脸的3D人脸坐标,将用户人脸的关键点坐标与标准人脸坐标进行比较,计算出用户人脸姿态的旋转向量,再通过旋转向量计算出用户人脸姿态的三个欧拉角:pitch、yaw、roll;三个欧拉角分别对应于标准正面人脸的人上下转头,左右转头,平面歪头的角度大小,所以用户人脸的欧拉角yaw的大小,就对应于用户人脸左右转头程度的大小;/n当yaw的绝对值大于角度...

【技术特征摘要】
1.一种保持脸型不变的图像换脸方法,其特征在于,具体步骤如下:
S101:获取模版图像,调整模版人脸姿态,生成对齐模版人脸图像;读入模版图像后,检测模版人脸所在位置,使用mtcnn模型预测模版人脸的五个关键点,获得模版人脸的五个关键点坐标,与预先设置的标准正脸的五个关键点进行对齐,将用户人脸平面歪头的角度调整为零;然后对模版图像人脸部分进行裁剪,保证模版人脸在图像的中间位置;最后将对齐模版人脸图像按照out_size×out_size的大小输出;
S102:制作模版肤色图像;采样模版人脸部分的皮肤,通过复制拼接操作,生成一张与对齐模版人脸图像同样大小的模版肤色图像;然后对拼接边界处进行平滑处理,使拼接边界处过度平滑;
S103:对对齐模版人脸图像中的人脸进行瘦脸;复制S101中对齐模版人脸图像,通过液化操作,对模版图像中的人脸进行瘦脸,同时缩短模版人脸的下巴的高度,得到一张瘦脸后的对齐模版人脸图像;
S104:生成模版人脸掩膜、模版头发掩膜与模版头发掩膜;使用人脸解析网络,得到一张解析后的模版人脸分割图像,从中提取出模版人脸掩膜、模版头发掩膜与模版眉毛掩膜;然后寻找模版眉毛掩膜中,y轴坐标最小的点,将其y轴上的值记为dst_brow_y_min;最后复制模版人脸掩膜,将掩膜中y轴坐标大于dst_brow_y_min的点全部置为零,得到模版额头掩膜;
将用户人脸换到模版图像的具体方法步骤如下:
S201:获取用户图像,调整用户人脸姿态,生成对齐用户人脸图像;
S202:将用户人脸轮廓与模版人脸轮廓对齐;首先检测对齐模版人脸与对齐用户人脸的人脸关键点,这里采用的是人脸的81个关键点,提取对齐用户人脸图像关键点圈定的区域框图,得到一张用户人脸图像;然后剔除掉模版人脸与用户人脸关键点中嘴唇上的20个关键点,再使用剔除嘴唇关键点后的用户人脸关键点对用户人脸进行三角剖分;最后通过仿射变换对用户人脸进行变形,使用户人脸轮廓与模版人脸轮廓重合;
S203:点对点用户人脸肤色转换;获取第一部分中的模版人脸与步骤S202中变形后的用户人脸,对模版人脸图像与变形后的用户人脸图像进行高斯模糊处理,得到两个高斯模糊后的图像,用高斯模糊后的模版图像中的数值除除对应位置的高斯模糊后的用户图像中的数值,得到一个与用户人脸图像同样大小的系数矩阵,用这个矩阵点对点的与用户人脸进行相乘,得到变换肤色后的用户人脸;
S204:仿射变换将用户人脸轮廓转换为原来的轮廓;首先获取S202中剔除了嘴唇关键点的模版人脸关键点与用户人脸关键点;然后对S203中变换肤色后的用户人脸进行仿射变换,将用户人脸轮廓转换为用户原来的轮廓;最后用户人脸关键点框定的区域,得到用户人脸的掩膜,利用用户人脸掩膜,将肤色转换后的用户人脸粘贴回对齐用户人脸图像,得到变换肤色后的对齐用户人脸图像;
S205:将变换肤色后的用户人脸与模版肤色图像柏松融合;具体的流程步骤如下:
(1)获取S204中变换肤色后用户人脸图像,生成用户人脸掩膜;
首先获取S204中变换肤色后用户人脸图像,使用人脸解析网络对用户人脸进行解析,得到一张解析后的用户人脸分割图像,对用户人脸分割图像进行处理,生成用户人脸掩膜与用户眉毛掩膜;然后寻找用户眉毛掩膜中y轴坐标最小的点,将其y轴上的值记为src_brow_y_min;
(2)检测用户人脸姿态,修正用户人脸掩膜;
获取步骤S204中的变换肤色后的对齐用户人脸图像,检测用户人脸关键点,设置标准人脸的3D人脸坐标,将用户人脸的关键点坐标与标准人脸坐标进行比较,计算出用户人脸姿态的旋转向量,再通过旋转向量计算出用户人脸姿态的三个欧拉角:pitch、yaw、roll;三个欧拉角分别对应于标准正面人脸的人上下转头,左右转头,平面歪头的角度大小,所以用户人脸的欧拉角yaw的大小,就对应于用户人脸左右转头程度的大小;
当yaw的绝对值大于角度时,判定用户人脸左右外头角度过大,需要对用户的掩膜进行修正,使抠出的用户人脸左右对称;取值0.04到0.05之间任意值,当yaw的绝对值大于的时候,就对用户人脸的掩膜进行修正;首先定义以垂直于用户两只眼睛中心的连线,且经过连线的中点的垂线为用户人脸的中线...

【专利技术属性】
技术研发人员:卢闰霆阳文兵马文广马伟李冰赵金
申请(专利权)人:金科智融科技珠海有限公司北京工业大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1