一种鲁棒的自动人脸融合方法与流程

文档序号:19572400发布日期:2019-12-31 19:04阅读:178来源:国知局
一种鲁棒的自动人脸融合方法与流程

本发明涉及图像合成技术领域,具体而言,涉及一种复杂环境下的鲁棒的自动人脸融合方法,用于将两张输入图像的人脸特征进行融合,输出图像将具有其中一张图像的人脸身份相关的特征和另一张图像的人脸身份无关的特征。



背景技术:

图像合成技术应用广泛,可用于图像视频合成、网络安全等领域,相关需求包括网络数据中的用户隐私保护、影视制作中智能替身、网络营销中眼镜或装饰物虚拟试戴、游戏娱乐和直播中用于丰富产品功能提升用户体验、宣传相关的机构可用于智能的合成新颖的宣传材料等。随着5g时代的到来,绝大多数的网络数据都会是图像视频数据,图像合成技术作为图像处理领域中关键的一环,对未来科技领域具有重大的意义。较早的人脸融合方法一般是将一张图像中的人脸抠出来贴到另一张人脸中,再进行色彩矫正,这样处理的结果导致最终得到的图像特征融合度较差,不够自然。较近的人脸融合方法多使用深度学习生成模型实现,可处理不同人脸之间的表情和光照不一致问题,但遮挡问题仍然没有完美的解决方案,尤其是基于效果良好的深度学习方法。



技术实现要素:

本发明在于提供一种鲁棒的自动人脸融合方法,其能够缓解上述问题,不光可以处理好人脸表情姿态差异问题,而且可以针对性的解决人脸融合中的遮挡问题。

为了缓解上述的问题,本发明采取的技术方案如下:

本发明提供了一种鲁棒的自动人脸融合方法,包括以下步骤:

s1、获取两张人脸图像,分别为人脸图像a和人脸图像b;

s2、分别对人脸图像a和人脸图像b进行遮挡处理,得到四通道图像a和四通道图像b,四通道图像a包含合成图像中的身份特征,相对于人脸图像a添加了非遮挡掩膜作为一个通道的特征,四通道图像b包含合成图像中的属性(非身份)特征,相对于人脸图像b添加了非遮挡掩膜作为一个通道的特征,对人脸图像进行遮挡处理的具体方法包括以下步骤:

s21、用大批量的分割数据训练出初始分割模型,使用小批量人脸分割数据对初始分割模型进行迁移学习,获得分割网络模型;

s22、将人脸图像a输入分割网络模型中,获取人脸图像a中未遮挡部分的人脸掩膜a,将所述人脸掩膜a作为一个图像通道形成所述四通道图像a;

s23、将人脸图像b输入分割网络模型中,获取人脸图像b中未遮挡部分的人脸掩膜b,将所述人脸掩膜b作为一个图像通道形成所述四通道图像b;

s3、分别对四通道图像a和四通道图像b进行编码,获得编码特征a和编码特征b;

s4、通过生成式对抗网络将编码特征a和编码特征b进行组合,并输出人脸合成图像,完成人脸融合。

本技术方案的技术效果是:通过增加遮挡掩膜的特征通道使合成的特征具有更多的有效信息,在实践中对于复杂场景更加的鲁棒;通过特征重构增强了遮挡信息,可处理更复杂的人脸融合场景,适用性更广;图像分割用于生成特征掩膜并融合到原来的信息中,拓展了图像分割的边界。

可选地,所述步骤s3具体包括:采用身份特征提取网络(例如vgg网络)对四通道图像a进行编码,获得编码特征a;采用属性特征提取网络(例如基于vae编码器)对四通道图像b进行编码,获得编码特征b。

可选地,所述步骤s4中,生成式对抗网络包括生成器和判别器,其中生成器用于将编码特征a和编码特征b进行组合并得到人脸合成图像,判别器用于判断人脸合成图像的真实性。

可选地,所述生成式对抗网络还包括人脸身份分类网络,用于使得人脸合成图像与人脸图像a的身份一致。

可选地,所述生成式对抗网络还使用了mse均方误差损失函数,用于使得人脸合成图像与人脸图像b的属性一致。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本发明实施例中所述鲁棒的自动人脸融合方法的框架图;

图2是本发明实施例中遮挡处理的模块图;

图3是本发明实施例中特征编码的模块图;

图4是本发明实施例中人脸生成的模块图;

图5是本发明实施例中训练示意图;

图6是本发明的应用示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

请参照图1和图2,本发明实施例提供了一种鲁棒的自动人脸融合方法,包括以下步骤:

s1、获取两张人脸图像,分别为人脸图像a和人脸图像b;

s2、分别对人脸图像a和人脸图像b进行遮挡处理,得到四通道图像a和四通道图像b,四通道图像a包含合成图像中的身份特征,相对于图像a添加了非遮挡掩膜作为一个通道的特征,四通道图像b包含合成图像中的属性(非身份)特征,相对于图像b添加了非遮挡掩膜作为一个通道的特征,对人脸图像进行遮挡处理的具体方法包括以下步骤:

s21、用可获得的大批量的分割数据训练出初始分割模型,使用小批量的人脸分割数据对初始分割模型进行迁移学习,获得分割网络模型;

s22、将人脸图像a输入分割模型中,获取人脸图像a中未遮挡部分的人脸掩膜a,将所述人脸掩膜a作为一个图像通道形成所述四通道图像a;

s23、将人脸图像b输入分割模型中,获取人脸图像b中未遮挡部分的人脸掩膜b,将所述人脸掩膜b作为一个图像通道形成所述四通道图像b;

s3、分别对四通道图像a和四通道图像b进行编码,获得编码特征a和编码特征b;

s4、通过生成式对抗网络将编码特征a和编码特征b进行组合,并输出人脸合成图像,完成人脸融合。

在本实施例中,主要包括遮挡处理、特征编码和人脸生成三个部分,三个部分串行的对输入的两张图像进行处理,获得最终的人脸合成图像,在参数训练时三个部分需要相互协调同时进行。输入是两张人脸图像,经过遮挡处理,获得两个四通道的人脸图像,再通过特征编码模块,获得两个编码的人脸特征,最后通过人脸融合,获得人脸合成图像。

在本实施例中,遮挡处理,是将掩膜作为一个图像通道加入到输入图像中,这样输入图像就由rgb三个通道变成了四个通道rgb和掩膜,这就是遮挡处理模块的输出。输出包含了图像中人脸部的遮挡信息,在后续的特征编码模块就会考虑到遮挡信息进而提取出更有效的特征。另外,由于人脸分割相关的数据相对比较难获得,因此分割网络的训练可采用预训练加微调的方式实现,首先用较容易获得的分割数据如自动驾驶中的车辆分割数据训练模型,然后使用少量的人脸分割数据对模型进行迁移学习。

在本实施例中,人脸图像a和人脸图像b的处理共用了一个分割模块,但在处理流程上两者是独立的,可以并行处理。它们分别通过分割模块,获得一个单通道的人脸掩膜的二值图像,其中属于人脸的像素值被标记为255,属于非人脸的像素值被标记为0。分割模块处理完毕后,将单通道的二值掩膜图像concat到原来的图像中,获得一个四通道的“图像”,四通道分别是r、g、b、二值掩膜。将两个四通道的图像特征作为模块输出,然后输入给下一个模块。

在本实施例中,特征编码是对人脸部的身份特征和非身份特征进行编码,人脸生成的模块如图4所示,两个编码特征组合后输入生成式对抗网络gan中,经过生成器处理得到人脸合成图片c。

实施例2

请参照图3,针对实施例1的步骤s3,其采用vgg网络对四通道图像a进行编码,获得编码特征a,采用vae编码器对四通道图像b进行编码,获得编码特征b。

在本实施例中,身份特征的编码使用vgg,其为一个经典的cnn网络,非身份特征的编码使用变分自编码器vae。这样做的理由是身份特征可以监督的进行提取,我们明确的知道提取出的特征应该表示的含义,就是某个人脸的身份,因此可以使用预训练的人脸识别模型中的特征提取模块直接对图像中的人脸特征进行提取。对于非身份特征,可能包括图片背景、光照,人脸姿态、表情等,我们甚至不知道需要提取些什么类型的特征,只知道应该提取与身份特征无关的所有特征,因此无法准确的监督的进行特征提取,所以这里使用变分自编码器,通过对解码器的输出添加约束,使得编码的特征具有我们想要的性质。由于是特征提取模块,因此这里只使用vae的编码器部分。

在处理流程上,特征编码过程对输入的两张图片采用不同的处理。我们将需要提取身份特征的图片输入预训练好的vgg中,直接获得人脸身份特征,对于需要提取属性特征(非身份特征)的图片,首先通过一个vgg提取特征然后对特征计算均值和方差,并施以kl散度损失,使生成的特征向量服从标准高斯分布,此时编码出的特征即vgg提取出的特征,通过给合成图像和包含合成属性的输入图像之间添加mse损失函数约束,进一步保证提取特征的有效性。

在本实施例中,图3中的“cnn”和“vae编码器”也可替换为其他可行的特征提取器,只要是能有效提取所需特征的方法,都属于我们讨论的范畴。

实施例3

针对实施例1的步骤s4中,生成式对抗网络包括生成器和判别器,其中生成器用于将编码特征a和编码特征b进行组合并得到人脸合成图像,判别器用于判断人脸合成图像的真实性。

在本实施例中,判别器用于判断生成器合成的图像能否以假乱真,并通过损失函数计算出合成样本与真实样本的差距,称为样本当前的训练损失。然后网络会根据训练损失使用梯度下降的优化算法调整网络参数,使得训练损失进一步下降,即图像以假乱真的程度会进一步升高。判别器只在网络模型训练阶段需要使用,在应用阶段不需要。

实施例4

针对实施例3的生成式对抗网络,其还包括人脸身份分类网络,用于使得人脸合成图像与人脸图像a的身份一致。

实施例5

针对实施例4的生成式对抗网络,其还包括mse损失函数,使得人脸合成图像与人脸图像b之间在视觉上和像素级别尽量的接近。

在本实施例中,mse即均方误差(meansquareerror),是一个损失函数而非一个网络,即一个均方差函数。它通过计算人脸图像b与合成图像之间的均方差,获得他们之间的差距,作为训练损失,网络会根据自己的训练损失通过梯度下降的优化算法调整网络,使得训练损失进一步下降,使合成的图像和输入的人脸图像b之间的均方差会减小,表现出来就是合成图像在视觉上与人脸图像b很相像。

请参照图5,训练阶段需要生成器、判别器、分类器协同工作,并在损失函数的引导下,训练出良好的人脸融合模型。但是在实际使用阶段,判别器和分类器就不再需要了,将组合的特征输入已经训练好的生成器,就可获得最终的人脸合成图像。在训练时加入一个分类器c和gan中的判别器d,共同引导生成一个理想的人脸合成网络模型。其中分类器c是一个人脸身份分类器,需要对人脸合成图像a和人脸合成图像c进行身份识别,从而在训练中保证他们的身份一致性;判别器是传统gan网络的一个重要组成部分,用于保证生成器生成的图像足够真实,在这里发挥着同样的作用。图中6个loss函数作为优化策略引导生成人脸合成网络模型。第一个损失(loss)函数引导遮挡处理模块完成更精细的分割,第二个和第三个引导特征编码模块提取更有效的身份特征和属性特征,第四、五、六个用于保证合成人脸图像的真实性以及与源图像的身份一致性和属性一致性。其中分割模型、身份特征编码模型和人脸身份分类器模型可使用预训练的模型,在整个框架训练时,对这几个模型进行微调。优化算法则可灵活的进行选择,一个推荐的算法是梯度反向传播算法。

在模型训练完成后,可针对不同的场景应用人脸合成。应用的示意图如图6所示,即遮挡处理模块、特征编码模块和人脸生成模块的串接。给模型输入两张人脸图像,获得一张合成的人脸图像,这张合成的人脸图像将两张输入图像的人脸特征进行融合,具有其中一张图像的人脸身份相关的特征和另一张图像的人脸身份无关的特征。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1