掌桥专利:专业的专利平台
掌桥专利
首页

人脸属性编辑模型的训练方法、人脸属性编辑方法及设备

文献发布时间:2023-06-19 11:02:01


人脸属性编辑模型的训练方法、人脸属性编辑方法及设备

技术领域

本申请实施例涉及人工智能领域,特别涉及一种人脸属性编辑模型的训练方法、人脸属性编辑方法及设备。

背景技术

人脸属性编辑是一种改变图片或视频中人脸特定属性的技术,比如,通过人脸属性编辑可以实现将图片中人脸变老、变年轻、将男性人脸变为女性人脸、或变为明星脸。

相关技术中,通常采用基于自编码器(auto-encoder)训练得到人脸属性编辑模型进行人脸属性编辑。其中,在训练人脸属性编辑模型时,通常以对抗损失作为损失函数进行模型训练。

然而,采用对抗损失作为损失函数进行模型训练时,由于训练过程中仅关注待编辑的属性,因此容易导致生成图片的特征丢失,影响人脸属性编辑质量。

发明内容

本申请实施例提供了一种人脸属性编辑模型的训练方法、人脸属性编辑方法及设备。所述技术方案如下:

一方面,本申请实施例提供了一种人脸属性编辑模型的训练方法,所述方法包括:

将第一图片输入图片编码器,得到所述图片编码器输出的编码特征,所述第一图片中的人脸具有第一属性;

将所述编码特征分别输入第一图片解码器和第二图片解码器,得到所述第一图片解码器输出的第二图片,以及所述第二解码器输出的第三图片,所述第二图片中的人脸具有第二属性,所述第三图片中的人脸具有第一属性,且所述第一属性不同于所述第二属性;

基于所述第二图片和所述第三图片,构建所述第一图片解码器的目标损失函数,所述目标损失函数包括对抗损失和特征匹配损失,所述特征匹配损失用于约束图片间深层语义特征的相似性;

基于所述目标损失函数训练所述第一图片解码器,并将所述图片编码器和训练得到的所述第一图片解码器确定为所述人脸属性编辑模型。

另一方面,本申请实施例提供了一种人脸属性编辑方法,所述方法包括:

获取待编辑图片和目标人脸属性,所述待编辑图片中人脸的属性与所述目标人脸属性不同;

确定所述目标人脸属性对应的目标人脸属性编辑模型,所述目标人脸属性编辑模型由图片编码器和图片解码器构成,且所述图片解码器基于目标损失函数训练得到,所述目标损失函数包括对抗损失和特征匹配损失,所述特征匹配损失用于约束图片间深层语义特征的相似性;

将所述待编辑图片输入所述目标人脸属性编辑模型,得到所述目标人脸属性编辑模型输出的目标图片,所述目标图片中的人脸具有所述目标人脸属性。

另一方面,本申请实施例提供了一种人脸属性编辑模型的训练装置,所述装置包括:

编码模块,用于将第一图片输入图片编码器,得到所述图片编码器输出的编码特征,所述第一图片中的人脸具有第一属性;

解码模块,用于将所述编码特征分别输入第一图片解码器和第二图片解码器,得到所述第一图片解码器输出的第二图片,以及所述第二解码器输出的第三图片,所述第二图片中的人脸具有第二属性,所述第三图片中的人脸具有第一属性,且所述第一属性不同于所述第二属性;

损失构建模块,用于基于所述第二图片和所述第三图片,构建所述第一图片解码器的目标损失函数,所述目标损失函数包括对抗损失和特征匹配损失,所述特征匹配损失用于约束图片间深层语义特征的相似性;

训练模块,用于基于所述目标损失函数训练所述第一图片解码器,并将所述图片编码器和训练得到的所述第一图片解码器确定为所述人脸属性编辑模型。

另一方面,本申请实施例提供了一种人脸属性编辑装置,所述装置包括:

获取模块,用于获取待编辑图片和目标人脸属性,所述待编辑图片中人脸的属性与所述目标人脸属性不同;

模型确定模块,用于确定所述目标人脸属性对应的目标人脸属性编辑模型,所述目标人脸属性编辑模型由图片编码器和图片解码器构成,且所述图片解码器基于目标损失函数训练得到,所述目标损失函数包括对抗损失和特征匹配损失,所述特征匹配损失用于约束图片间深层语义特征的相似性;

编辑模块,用于将所述待编辑图片输入所述目标人脸属性编辑模型,得到所述目标人脸属性编辑模型输出的目标图片,所述目标图片中的人脸具有所述目标人脸属性。

另一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如上述方面所述的人脸属性编辑模型的训练方法,或者,实现上述方面所述的人脸属性编辑方法。

另一方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现如上述方面所述的人脸属性编辑模型的训练方法,或者,实现上述方面所述的人脸属性编辑方法。

另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面提供的人脸属性编辑模型的训练方法,或者,上述方面提供的人脸属性编辑方法。

本申请实施例中,在训练人脸属性编辑模型时,利用第一图片解码器进行人脸属性编辑得到第二图片,利用第二图片解码器进行人脸重构得到第三图片,并将约束图片间深层语义特征相似性的特征匹配损失作为损失函数的一部分,对第一图片解码器进行训练,由于在训练过程中考虑了图片间深层语义特征的相似性,因此利用训练得到的第一图片解码器进行人脸属性编辑时,能够保证生成图片与原始图片中深层特征的一致性,避免生成图片丢失原始图片中的重要特征,有助于提高人脸属性的编辑质量。

附图说明

图1示出了本申请一个示例性实施例提供的人脸属性编辑模型的训练方法的流程图;

图2是本申请一个示例性实施例示出的模型训练过程的原理示意图;

图3示出了本申请另一个示例性实施例提供的人脸属性编辑模型的训练方法的流程图;

图4是本申请一个示例性实施例示出的模型训练过程的实施示意图;

图5是本申请一个示例性实施例示出的解码器的网络结构示意图;

图6是是本申请一个示例性实施例示出的属性感知损失确定过程的实施示意图;

图7示出了本申请一个示例性实施例提供的人脸属性编辑方法的流程图;

图8示出了本申请一个示例性实施例提供的人脸属性编辑模型的训练装置的结构方框图;

图9示出了本申请一个示例性实施例提供的人脸属性编辑装置的结构方框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

为了方便理解,下面对本申请实施例中涉及的名词进行说明。

自编码器:自编码器作为一种非监督学习的神经网络,用于通过将输入信息作为学习目标,对输入信息进行表征学习(representation learning),使得自编码器的输出信息趋近于输入信息。自编码器由编码器(Encoder)和解码器(Decoder)构成,其中,编码器用于对输入信息进行特征提取,而解码器用于基于编码器提取到的特征对输入信息进行还原。

生成式对抗网络(Generative Adversarial Networks,GAN):一种用于在复杂分布上实现无监督学习的深度学习模型,通过由生成模型(Generative Model)和判别模型(Discriminative Model)构成,其中,生成模型用于基于原始图像输出生成图像,判别模型则用于判别图像为原始图像还是生成图像。GAN的训练过程即生成模型和判别模型之间的博弈过程,即生成模型的训练目标为判别模型无法分辨原始图像和生成图像,判别模型的训练目标为准确分辨原始图像和生成图像。

本申请实施例提供的人脸属性编辑模型的训练方法以及人脸属性编辑方法,适用于人脸属性编辑场景。下面采用两种典型的应用场景为例进行说明。

1、图片编辑场景

将本申请实施例提供的方法应用于图片编辑场景时,开发人员首先基于所要编辑的人脸属性,训练用于对不同人脸属性进行编辑的人脸属性编辑模型。比如,开发人员训练用于将人脸变老的人脸属性编辑模型、用于将人脸变年轻的人脸属性编辑模型、用于将男性人脸变为女性人脸的人脸属性编辑模型、用于将女性人脸变为男性人脸的人脸属性编辑模型。完成人脸属性编辑模型训练后,即可将该人脸属性编辑模型部署在服务器端,并在应用程序侧设置模型调用接口。

在进行人脸属性编辑时,用户通过应用程序上传所需要编辑的人脸图片,并选择所要编辑的人脸属性后,应用程序即通过模型调用接口,向应用程序的后台服务器上传人脸图片和人脸属性,由后台服务器获取与所要编辑的人脸属性相匹配的人脸属性编辑模型,从而将人脸图片作为模型输入,得到人脸属性模型输出的编辑后人脸图片,并将编辑后人脸图片反馈至应用程序,由应用程序对编辑后人脸图片进行展示。

2、视频编辑场景

与应用于图片编辑场景相似的,将本申请实施例提供的方法应用于视频编辑场景时,开发人员同样需要训练用于对不同人脸属性进行编辑的人脸属性编辑模型。在一种可能的实施方式中,当需要实现明星变脸功能时,开发人员预先基于不同的明星图片训练相应的人脸属性编辑模型,并将人脸属性编辑模型部署在服务器端,在应用程序侧设置模型调用接口。

在进行人脸属性编辑时,通过应用程序上传待编辑视频,并选择所要变脸的明星后,应用程序即通过模型调用接口,向应用程序的后台服务器上传待编辑视频和明星标识。后台服务器根据明星标识确定匹配的人脸属性编辑模型,从而将待编辑视频中的每一视频帧作为模型输入,得到人脸属性模型输出的编辑后视频帧(视频帧的人脸变化为明星人脸),从而基于编辑后视频帧生成编辑后视频,并将编辑后视频反馈至应用程序,由应用程序进行视频展示。

当然,本申请实施例提供的人脸属性编辑模型的训练方法以及人脸属性编辑方法除了可以应用于上述场景外,还可以应用于其他需要对人脸属性进行编辑的场景,且可以编辑除上述示例以外的其他人脸属性,本申请实施例对此并不构成限定。

本申请实施例提供的人脸属性编辑模型的训练方法,可以应用于个人计算机、工作站、服务器等具有较强数据处理能力的计算机设备;本申请实施例提供的人脸属性编辑方法,可以应用于智能手机、平板电脑等电子设备(比如将训练完成的人脸属性编辑模型部署在智能手机中,从而在本地实现人脸属性编辑),也可以应用于个人计算机、工作站、服务器等计算机设备(比如将训练完成的人脸属性编辑模型部署在服务器上,从而由服务器为应用程序提供人脸属性编辑服务)。为了方便表述,下述各个实施例以人脸属性编辑模型的训练方法以及人脸属性编辑方法应用于计算机设备为例进行说明。

请参考图1,其示出了本申请一个示例性实施例提供的人脸属性编辑模型的训练方法的流程图。该方法可以包括如下步骤:

步骤101,将第一图片输入图片编码器,得到图片编码器输出的编码特征,第一图片中的人脸具有第一属性。

在一种可能的实施方式中,当需要训练用于将人脸的第一属性变为第二属性的人脸属性编辑模型时,开发人员需要预先准备训练数据集,该训练数据集中的图片包含人脸,且该人脸具有第一属性。比如,当第一属性为成人而第二属性为儿童时(即人脸变年轻),训练数据集中的图片均为成人的人脸图片;当第一属性为女性而第二属性为男性时,训练数据集中的图片均为男性的人脸图片。

在进行模型训练过程中,计算机设备即将训练数据集中的第一图片作为训练样本输入图片编码器,由图片编码器对第一图片进行特征提取,得到编码特征。可选的,该图片编码器采用卷积神经网络,用于通过若干层卷积层对第一图片进行特征提取。

在一种可能的实施方式中,为了提高编码以及解码质量,进而提高属性编辑质量,该图片编码器采用下采样卷积神经网络,用于通过一系列卷积层和全连接层输出结构性编码特征(structure)以及风格性编码特征(texture),结构性编码特征用于表征图像在空间上的结构特征(有助于提高背景重构质量,优化图片中的遮挡情况),风格性编码特征用于表征图像的风格特征。其中,结构性编码特征为高H、宽W、通道C的特征图

示意性的,如图2所示,计算机设备将第一图片21输入图片编码器22之后,图片编码器22对第一图片21进行编码,得到编码特征221。

步骤102,将编码特征分别输入第一图片解码器和第二图片解码器,得到第一图片解码器输出的第二图片,以及第二解码器输出的第三图片,第二图片中的人脸具有第二属性,第三图片中的人脸具有第一属性,且第一属性不同于第二属性。

对于编码得到的编码特征,计算机设备分别通过第一图片解码器和第二图片解码器对编码特征进行解码。本申请实施例中,第一图片解码器是用于进行人脸属性编辑的解码器,而第二图片解码器则是用于进行人脸重构的解码器,因此,将编码特征输入第一图片解码器得到的第二图片与第一图片具有不同的人脸属性,而将编码特征输入第二图片解码器得到的第三图片与第一图片具有相同的人脸属性。

可选的,第一图片中人脸的第一属性与第二图片中人脸的第二属性可以为同一属性类型的不同属性值,比如第一属性和第二属性对应的属性类型均为年龄,第一属性为成人,而第二属性为儿童,或者,第一属性和第二属性对应的属性类型均为性别,第一属性为男性,而第二属性为女性。

示意性的,如图2所述,计算机设备将编码特征221输入第一图片解码器23,得到第一图片解码器23解码得到的第二图片231;将编码特征221输入第二图片解码器24,得到第二图片解码器24解码得到的第三图片241。

步骤103,基于第二图片和第三图片,构建第一图片解码器的目标损失函数,目标损失函数包括对抗损失和特征匹配损失,特征匹配损失用于约束图片间深层语义特征的相似性。

不同于相关技术中,仅以对抗损失作为损失函数进行模型训练,本申请实施例中,在保证人脸属性编辑效果的同时,为了保证人脸属性编辑后的生成图片与原始图片之间深层语义特征的相似性,即保证人脸属性编辑前后人脸特征的相似性,避免人脸编辑过程中特征丢失,本申请实施例中,计算机设备还需要确定图片之间的特征匹配损失,从而基于对抗损失和特征匹配损失确定第一图片解码器的目标损失函数。

在一种可能的实施方式中,计算机设备采用GAN的思想,基于第二图片确定第一图片解码器的对抗损失(目的是使生成的第二图片具有第二属性),并基于第二图片和第三图片确定第一图片解码器的特征匹配损失(目的是使第二图片与第三图片之间的深层语义特征相似),从而对对抗损失和特征匹配损失进行融合,得到第一图片解码器的目标损失函数。

示意性的,如图2所述,计算机设备基于第二图片231确定对抗损失25,基于第二图片231和第三图片241确定特征匹配损失26,进而基于对抗损失25和特征匹配损失26确定目标损失函数27。

步骤104,基于目标损失函数训练第一图片解码器,并将图片编码器和训练得到的第一图片解码器确定为人脸属性编辑模型。

进一步的,计算机设备基于构建的目标损失函数,对第一图片解码器进行训练,直至损失收敛时完成训练。可选的,训练过程中,计算机设备采用梯度反向传播算法对第一图片解码器进行参数优化。

完成训练后,计算机设备即将图片编码器和第一图片解码器确定为用于将人脸属性由第一属性编辑为第二属性的人脸属性编辑模型,后续进行人脸属性编辑时,即通过图片编码器进行特征提取,通过第一图片解码器基于提取到的特征进行人脸属性编辑。当然,当计算机设备还可以采用不同的训练数据集训练用于对不同人脸属性进行编辑的人脸属性编辑模型(可以共用图片编码器),本申请实施例在此不再赘述。

可选的,完成第一图片解码器训练后,计算机设备可以利用测试数据集,对第一图片解码器进行测试,本实施例对此不作限定。

示意性的,如图2所示,计算机设备基于目标损失函数27对第一图片解码器23进行训练,并将训练得到的第一图片解码器23和图片编码器22确定为人脸属性编辑模型。

综上所述,本申请实施例中,在训练人脸属性编辑模型时,利用第一图片解码器进行人脸属性编辑得到第二图片,利用第二图片解码器进行人脸重构得到第三图片,并将约束图片间深层语义特征相似性的特征匹配损失作为损失函数的一部分,对第一图片解码器进行训练,由于在训练过程中考虑了图片间深层语义特征的相似性,因此利用训练得到的第一图片解码器进行人脸属性编辑时,能够保证生成图片与原始图片中深层特征的一致性,避免生成图片丢失原始图片中的重要特征,有助于提高人脸属性的编辑质量。

在一种可能的实施方式中,为了保证人脸属性编辑过程中,除了将第一属性变为第二属性外,生成图片与原始图片中人脸其他的属性保持一致性,比如人眼瞳孔颜色、刘海类型、是否佩戴眼镜等等,本申请实施例中,计算机设备还将用于约束人脸属性的属性感知损失作为目标损失函数的一部分,下面采用示例性的实施例进行说明。

请参考图3,其示出了本申请另一个示例性实施例提供的人脸属性编辑模型的训练方法的流程图。该方法可以包括如下步骤:

步骤301,将第一图片输入图片编码器,得到图片编码器输出的编码特征,第一图片中的人脸具有第一属性。

本步骤的实施方式可以参考上述步骤101,本实施例在此不再赘述。

示意性的,如图4所示,当需要对图片中的人脸进行变年轻处理时,训练过程中,计算机设备将第一图片41(人脸的属性为成人)输入图片编码器42,得到图片编码器42输出的结构性编码特征图421以及风格性编码特征向量422。

步骤302,将编码特征分别输入第一图片解码器和第二图片解码器,得到第一图片解码器输出的第二图片,以及第二解码器输出的第三图片,第二图片中的人脸具有第二属性,第三图片中的人脸具有第一属性,且第一属性不同于第二属性。

本步骤的实施方式可以参考上述步骤102,本实施例在此不再赘述。

示意性的,如图4所示,计算机设备将结构性编码特征图421以及风格性编码特征向量422分别输入第一图片解码器43,得到第一图片解码器43输出的第二图片431,第二图片431中人脸的属性为儿童;计算机设备将结构性编码特征图421以及风格性编码特征向量422分别输入第二图片解码器44,得到第二图片解码器44输出的第三图片441,第三图片441中人脸的属性同样为成人。

步骤303,基于第二图片确定对抗损失。

在一种可能的实施方式中,计算机设备采用最小二乘对抗损失网络(LeastSquares GAN,LSGAN),并通过对抗网络的对抗损失对第二图片进行约束,使生成的第二图片具备第二属性。

本申请实施例中,在模型训练过程中,计算机设备设置用于判别具有第二属性的原始图片(或称为真实图片)和生成图片的判别器,即判别用于区分具有第二属性的图片为原始图片还是生成器(本申请中即为第二图片解码器)输出的生成图片。判别器在对抗损失中起到关键作用,需要在训练过程中学习分辨生成图片与原始图片(均具有第二属性)之间的差别;而生成器在训练过程中与判别器进行对抗,使判别器无法区别原始图片和生成图片。

在一些实施例中,计算机设备将第二图片输入判别器,得到判别器输出的判别结果,从而基于判别结果确定对抗损失。其中,生成器的对抗损失可以表示为:

Loss_G=(D(G(x))-1)

其中,G为生成器,D为判别器,x为第一图片,且判别器的判别结果为0-1的数值,当判别结果为0时,表明图片为生成图片;当判别结果为1时,表明图片为原始图片。

相应的,在训练第二图片解码器的过程中,计算机设备需要对判别器进行训练(需要使用具有第二属性的生成图片,以及具有第二属性的原始图片),其中,第二图片解码器和判别器可以交替训练。而在训练判别器的过程中,判别器的对抗损失可以表示为:

Loss_D=(D(x)-1)

示意性的,如图4所示,计算机设备基于第二图片431确定第一图片解码器43的对抗损失45。

步骤304,基于第二图片和第三图片各自对应的深层语义特征,确定特征匹配损失。

为了使属性编辑得到第二图片仍旧能够与第一图片之间保持特征相似性,且由于第三图片为第一图片重构得到(与第一图片具有相似的特征),因此本申请实施例中,计算机设备分别获取第二图片和第三图片各自对应的深层语义特征,从而根据两者深层语义特征之间的差异,确定特征匹配损失。在一种可能的实施方式中,本步骤可以包括如下步骤。

一、获取第一图片解码器生成第二图片过程中的第一深度特征图,以及第二图片解码器生成第三图片过程中的第二深度特征图,第一图片解码器和第二图片解码器的网络结构相同,且第一深度特征图和第二深度特征图为同一网络层级输出的特征图。

本申请实施例中,第一图片解码器和第二图片解码器的网络结构相同,因此在确定第二图片和第三图片的特征匹配程度时,计算机设备提取第一图片解码器中具有深层语义信息的一层低分辨率特征图(即第一深度特征图),并提取第二图片解码器中相同网络深度(即同一网络层级输出)的一层低分辨率特征图(即第二深度特征图),以便基于相同语义深度的第一深度特征图和第二特征图,确定第二图片和第三图片之间的特征匹配程度,使第一图片经过属性编辑后仍然能够在低分辨率特征图上保持与第一图片相似的特征。

其中,提取第一深度特征图和第二深度特征图时采用的网络层级可以由开发人员预先设置,本实施例对此不作限定。

在一种可能的实施方式中,第一图片解码器和第二图片解码器均由一系列基于自适应实例标准化(Adaptive Instance Normalization,AdaIN)的残差模块组成,且上采样层采用转置卷积层(Transpose Convolution Layer)。示意性的,第一图片解码器和第二图片解码器的结构如图5所示。

其中,输入图片解码器的结构性编码特征中每个特征图的尺寸为8×32,风格性编码特征为1×2048的向量。图片解码器中残差模块的尺寸依次为32×128、32×256、32×384、32×512、54×512、128×512、256×256以及512×128。

其中,残差模块可以用公式y=F(x)+x表示,其中F(·)表示卷积变换,x为残差模块的输入,y为残差模的输出。残差模块使得输入特征x得到了再次利用,且能够在参数优化的反向传播过程中为x提供一条捷径,使得带有残差模块的神经网络变得更好训练。

二、基于第一深度特征图和第二深度特征图确定特征匹配损失。

进一步的,计算机设备通过比较第一深度特征图和第二深度特征图之间的差异,确定第一图片解码器的特征匹配损失。其中,特征匹配损失可以表示为:

Feature Matching Loss=(x_-y_)

其中,x_为第一深度特征图,y_为第二深度特征图,且特征匹配损失越大,表示第一图片解码器在进行属性编辑时特征的丢失或变化程度越高,特征保留保持情况越差,反之,特征保留保持情况越好。

示意性的,如图4所示,计算机设备获取第一图片解码器43和第二图片解码器44各自对应的第一深度特征图432和第二深度特征图442,从而基于第一深度特征图432和第二深度特征图442确定第二图片与第三图片的特征匹配损失46。

步骤305,基于第一图片和第二图片确定属性感知损失,属性感知损失用于约束除第一属性和第二属性以外的人脸属性。

相关技术中,在进行人脸属性编辑时,除了待编辑的目标人脸属性被编辑外,目标人脸属性以外的其他属性也可能发生变化甚至丢失,影响最终的属性编辑质量。为了使生成图片中除目标人脸属性以外的其他人脸属性与原始图片保持一致,本申请实施例中,在训练第一图片解码器的过程中,将约束除第一属性和第二属性以外的人脸属性的属性感知损失作为目标损失函数的一部分。

为了对图片之间的属性感知损失进行量化,本申请实施例中,在训练第一图片解码器之前,计算机设备首先训练用于进行人脸属性分类的人脸属性分类器,从而利用训练得到人脸属性分类器确定第一图片和第二图片之间的属性感知损失。

可选的,人脸属性分类器由特征提取层(由若干卷积层构成)和全连接层构成,特征提取层用于对输入的图片进行特征提取,全连接层用于基于提取到的特征进行分类。其中,在训练人脸属性分类器时,可以包括如下步骤:

1、获取第一样本图片,第一样本图片包含对应的属性标签。

在训练人脸属性分类器时,首先需要构建训练集,该训练集中的各张第一样本图片均包含对应的属性标签。比如,该属性标签用于指示第一样本图片中人脸的瞳孔颜色、唇形、刘海类型、是否佩戴眼镜等等,本实施例对属性类型并不进行限定。

2、将第一样本图片输入人脸属性分类器,得到人脸属性分类器输出的样本属性分类结果。

计算机设备将第一样本图片输入人脸属性分类器后,人脸属性分类器即通过特征提取层对第一样本图片进行特征提取,并将提取到的特征输入全连接层,由全连接层进行全连接处理,进而通过分类器对全连接结果进行分类,得到第一样本图片对应的样本属性分类结果。

3、基于属性标签与样本属性分类结果,确定人脸属性分类器。

在一种可能的实施方式中,计算机设备以属性标签作为样本属性分类结果的监督,确定人脸属性分类器的属性分类损失(交叉熵损失),从而基于属性分类损失对人脸属性分类器进行训练,最终训练得到能够准确识别人脸属性的人脸属性分类器。

相应的,计算机设备确定第一图片和第二图片的属性感知损失可以包括如下步骤:

1、将第一图片和第二图片分别输入人脸属性分类器的特征提取层,得到第一图片对应的第一属性特征图以及第二图片对应的第二属性特征图。

可选的,计算机设备将第一图片和第二图片分别输入人脸属性分类器后,获取特征提取层中最后一层卷积层输出的特征图作为第一属性特征图和第二属性特征图。

示意性的,如图6所示,人脸属性分类器中的特征提取层51对第一图片41进行特征提取,得到第一属性特征图52,对第二图片431进行特征提取,得到第二属性特征图53。

2、分别将第一属性特征图和第二属性特征图输入人脸属性分类器的全连接层,得到第一图片对应的第一人脸属性分类结果,以及第二图片对应的第二人脸属性分类结果。

进一步的,计算机设备通过人脸属性分类器的的全连接层分别对第一属性特征图和第二属性特征图进行全连接处理,得到第一图片对应的第一人脸属性分类结果以及第二图片对应的第二人脸属性分类结果,其中,第一人脸属性分类结果和第二人脸属性分类结果是未经过softmax处理的分类结果。

示意性的,如图6所示,人脸属性分类器中的全连接层54分别对第一属性特征图52和第二属性特征图53进行全连接处理,得到第一人脸属性分类结果55和第二人脸属性分类结果56。

3、将第一属性特征图和第二属性特征图之间的L2损失,以及第一人脸属性分类结果和第二人脸属性分类结果之间的L2损失,确定为属性感知损失。

为了避免仅基于人脸属性分类结果确定属性感知损失时的片面性,本实施例中,计算机设备将第一属性特征图和第二属性特征图之间的损失,以及第一人脸属性分类结果和第二人脸属性分类结果之间的损失,共同确定为第一图片解码器的属性感知损失,其中,特征图之间的损失可以采用L2损失,分类结果之间的损失也可以采用L2损失。

其中,第一图片解码器的属性感知损失(Attribute Perceptual Loss)可以表示为:

Attribute Perceptual Loss

=(Ext(G(x))-Ext(x))

其中,x为第一图片,Ext(·)为人脸属性分类器最后一层卷积层输出的特征图,classifer(·)为人脸属性分类结果,G为生成器(包括图片编码器和第一图片解码器)。

示意性的,如图6所示,计算机设备将第一属性特征图52和第二属性特征图53之间的L2损失,以及第一人脸属性分类结果55和第二人脸属性分类结果56之间的L2损失,共同确定为第一图片解码器的属性感知损失47。

步骤306,基于对抗损失、特征匹配损失以及属性感知损失确定目标损失函数。

进一步的,计算机设备基于对抗损失、特征匹配损失以及属性感知损失共同确定目标损失函数,其中,目标损失函数中对抗损失、特征匹配损失以及属性感知损失可以对应各自的损失权重,该损失权重可以为训练过程中设置的超参数,本实施例对此不作限定。

步骤307,基于目标损失函数训练第一图片解码器,并将图片编码器和训练得到的第一图片解码器确定为人脸属性编辑模型。

本步骤的实施方式可以参考上述步骤104,本实施例在此不再赘述。

本实施例中,计算机设备通过预先训练人脸属性分类器,并利用人脸属性分类器,确定原始图片(即第一图片)与生成图片(即第二图片)之间的属性感知损失,从而将该属性感知损失作为目标损失函数的一部分进行模型训练,使模型训练过程中,生成图片与原始图片中除第一属性和第二属性以外的人脸属性保持一致,进一步提高了人脸属性的编辑质量。

在一种可能的实施方式中,在训练第一图片解码器前,计算机设备首先对图片编码器和第二图片解码器进行训练,即预先训练用于人脸图片重构的自编码器,后续训练第一图片解码器过程中,即无需对图片编码器和第二图片解码器进行训练。可选的,计算机设备通过图片编码器和第二图片解码器对第二样本图片进行自编码,得到样本生成图片,从而基于样本生成图片和第二样本图片,确定重构损失函数。其中,为了保证训练质量,计算机设备采用第二样本图片具有人脸属性多样性,即以不同年龄、人种的样本图片进行训练,且该重构损失函数可以是样本生成图片和第二样本图片之间的L1损失,本实施对此不作限定。

进一步的,计算机设备基于重构损失函数训练图片编码器和第二图片解码器。其中,计算机设备可以采用梯度反向传播算法对图片编码器和第二图片解码器进行参数优化。

请参考图7,其示出了本申请一个示例性实施例提供的人脸属性编辑方法的流程图。该方法可以包括如下步骤:

步骤701,获取待编辑图片和目标人脸属性,待编辑图片中人脸的属性与目标人脸属性不同。

在一种可能的实施方式中,应用程序提供若干可编辑人脸属性供用户进行选择,用户选择的可编辑人脸属性即为目标人脸属性。该目标人脸属性可以为儿童人脸、成人人脸、男性人脸、女性人脸或者特定明星人脸等等,本实施例对此不作限定。

可选的,该待编辑图片为单张图片,或者,视频中的视频帧。

步骤702,确定目标人脸属性对应的目标人脸属性编辑模型,目标人脸属性编辑模型由图片编码器和图片解码器构成,且图片解码器基于目标损失函数训练得到,目标损失函数包括对抗损失和特征匹配损失,特征匹配损失用于约束图片间深层语义特征的相似性。

在一种可能的实施方式中,计算机设备中部署有用于对不同人脸属性进行编辑的人脸属性编辑模型,每个人脸属性编辑模型由图片编码器和图片解码器构成,且每个人脸属性编码模型采用上述各个实施例提供的人脸属性编码模型的训练方法训练得到。相应的,计算机设备选取用于编辑目标人脸属性的人脸属性编辑模型作为目标人脸属性编辑模型。

可选的,不同人脸属性编辑模型可以共用图片编码器,不同人脸属性编码模型对应不同的图片解码器。

步骤703,将待编辑图片输入目标人脸属性编辑模型,得到目标人脸属性编辑模型输出的目标图片,目标图片中的人脸具有目标人脸属性。

进一步的,计算机设备将待编辑图片作为模型输入,由目标人脸属性编码模型中的图片编码器对待编辑图片进行编码(即特征提取),得到编码特征,由图片解码器基于编码特征进行解码(即图片重建),得到具有目标人脸属性的目标图片。

综上所述,本申请实施例中,在训练人脸属性编辑模型时,利用第一图片解码器进行人脸属性编辑得到第二图片,利用第二图片解码器进行人脸重构得到第三图片,并将约束图片间深层语义特征相似性的特征匹配损失作为损失函数的一部分,对第一图片解码器进行训练,由于在训练过程中考虑了图片间深层语义特征的相似性,因此利用训练得到的第一图片解码器进行人脸属性编辑时,能够保证生成图片与原始图片中深层特征的一致性,避免生成图片丢失原始图片中的重要特征,有助于提高人脸属性的编辑质量。

请参考图8,其示出了本申请一个示例性实施例提供的人脸属性编辑模型的训练装置的结构方框图。该装置可以包括:

编码模块801,用于将第一图片输入图片编码器,得到所述图片编码器输出的编码特征,所述第一图片中的人脸具有第一属性;

解码模块802,用于将所述编码特征分别输入第一图片解码器和第二图片解码器,得到所述第一图片解码器输出的第二图片,以及所述第二解码器输出的第三图片,所述第二图片中的人脸具有第二属性,所述第三图片中的人脸具有第一属性,且所述第一属性不同于所述第二属性;

损失构建模块803,用于基于所述第二图片和所述第三图片,构建所述第一图片解码器的目标损失函数,所述目标损失函数包括对抗损失和特征匹配损失,所述特征匹配损失用于约束图片间深层语义特征的相似性;

训练模块804,用于基于所述目标损失函数训练所述第一图片解码器,并将所述图片编码器和训练得到的所述第一图片解码器确定为所述人脸属性编辑模型。

可选的,所述损失构建模块803,包括:

第一损失确定单元,用于基于所述第二图片确定所述对抗损失;

第二损失确定单元,用于基于所述第二图片和所述第三图片各自对应的深层语义特征,确定所述特征匹配损失;

损失构建单元,用于基于所述对抗损失和所述特征匹配损失确定所述目标损失函数。

可选的,所述第二损失确定单元,用于:

获取所述第一图片解码器生成所述第二图片过程中的第一深度特征图,以及所述第二图片解码器生成所述第三图片过程中的第二深度特征图,所述第一图片解码器和所述第二图片解码器的网络结构相同,且所述第一深度特征图和所述第二深度特征图为同一网络层级输出的特征图;

基于所述第一深度特征图和所述第二深度特征图确定所述特征匹配损失。

可选的,所述第一损失确定单元,用于:

将所述第二图片输入判别器,得到所述判别器输出的判别结果,所述判别器用于判别具有所述第二属性的原始图片和生成图片;

基于所述判别结果确定所述对抗损失。

可选的,所述损失构建模块803,还包括:

第三损失确定单元,用于基于所述第一图片和所述第二图片确定属性感知损失,所述属性感知损失用于约束除所述第一属性和所述第二属性以外的人脸属性;

所述损失构建单元,用于:

基于所述对抗损失、所述特征匹配损失以及所述属性感知损失确定所述目标损失函数。

可选的,所述第三损失确定单元,用于:

将所述第一图片和所述第二图片分别输入人脸属性分类器的特征提取层,得到所述第一图片对应的第一属性特征图以及所述第二图片对应的第二属性特征图;

分别将所述第一属性特征图和所述第二属性特征图输入所述人脸属性分类器的全连接层,得到所述第一图片对应的第一人脸属性分类结果,以及所述第二图片对应的第二人脸属性分类结果;

将所述第一属性特征图和所述第二属性特征图之间的L2损失,以及所述第一人脸属性分类结果和所述第二人脸属性分类结果之间的L2损失,确定为所述属性感知损失。

可选的,所述装置还包括分类器训练模块,分类器训练模块用于:

获取第一样本图片,所述第一样本图片包含对应的属性标签;

将所述第一样本图片输入所述人脸属性分类器,得到所述人脸属性分类器输出的样本属性分类结果;

基于所述属性标签与所述样本属性分类结果,确定所述人脸属性分类器。

可选的,所述装置还包括自编码器训练模块,自编码器训练模块,用于:

通过所述图片编码器和所述第二图片解码器对第二样本图片进行自编码,得到样本生成图片;

基于所述样本生成图片和所述第二样本图片,确定重构损失函数;

基于所述重构损失函数训练所述图片编码器和所述第二图片解码器。

可选的,所述编码特征包括结构性编码特征以及风格性编码特征,所述结构性编码特征用于表征图像在空间上的结构特征,所述风格性编码特征用于表征图像的风格特征。

综上所述,本申请实施例中,在训练人脸属性编辑模型时,利用第一图片解码器进行人脸属性编辑得到第二图片,利用第二图片解码器进行人脸重构得到第三图片,并将约束图片间深层语义特征相似性的特征匹配损失作为损失函数的一部分,对第一图片解码器进行训练,由于在训练过程中考虑了图片间深层语义特征的相似性,因此利用训练得到的第一图片解码器进行人脸属性编辑时,能够保证生成图片与原始图片中深层特征的一致性,避免生成图片丢失原始图片中的重要特征,有助于提高人脸属性的编辑质量。

请参考图9,其示出了本申请一个示例性实施例提供的人脸属性编辑装置的结构方框图。该装置可以包括:

获取模块901,用于获取待编辑图片和目标人脸属性,所述待编辑图片中人脸的属性与所述目标人脸属性不同;

模型确定模块902,用于确定所述目标人脸属性对应的目标人脸属性编辑模型,所述目标人脸属性编辑模型由图片编码器和图片解码器构成,且所述图片解码器基于目标损失函数训练得到,所述目标损失函数包括对抗损失和特征匹配损失,所述特征匹配损失用于约束图片间深层语义特征的相似性;

编辑模块903,用于将所述待编辑图片输入所述目标人脸属性编辑模型,得到所述目标人脸属性编辑模型输出的目标图片,所述目标图片中的人脸具有所述目标人脸属性。

需要说明的是:上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本申请实施例还提供了一种计算机设备,计算机设备包括处理器和存储器,存储器存储有至少一条指令,至少一条指令用于被处理器执行以实现如上各个实施例所述的人脸属性编辑模型的训练方法,或,实现如上各个实施例所述的人脸属性编辑方法。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有至少一条指令,至少一条指令由处理器加载并执行以实现如上各个实施例所述的人脸属性编辑模型的训练方法,或,实现如上各个实施例所述的人脸属性编辑方法。

根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的人脸属性编辑模型的训练方法,或,执行上述方面的各种可选实现方式中提供的人脸属性编辑方法。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读存储介质中或者作为计算机可读存储介质上的一个或多个指令或代码进行传输。计算机可读存储介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。

以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 人脸属性编辑模型的训练方法、人脸属性编辑方法及设备
  • 一种人脸属性编辑方法、系统、电子设备及存储介质
技术分类

06120112772608