图像生成方法、装置、设备及介质与流程

文档序号:17363168发布日期:2019-04-09 22:14阅读:166来源:国知局
图像生成方法、装置、设备及介质与流程

本申请涉及计算机视觉技术,尤其是涉及一种图像生成方法、图像生成装置、电子设备、计算机可读存储介质以及计算机程序。



背景技术:

图像生成模型(generativemodel)的目标包括:学习真实图像的数据分布,以便于能够基于学习到的数据分布,有条件的生成大量足够真实的图像。例如,图像生成模型在尽量保持人脸图像的身份特征不变的情况下,生成大量足够真实的人脸图像。

图像生成模型的评价指标通常包括:图像质量以及图像的多样性。如何使图像生成模型所生成的图像,在具有较好图像质量特性的同时,还具有图像多样性这一特性,是有条件的图像生成技术中,一个值得关注的技术问题。



技术实现要素:

本申请实施方式提供一种有条件的图像生成的技术方案。

根据本申请实施方式的其中一方面,提供一种图像生成方法,该方法包括:将图像输入神经网络;基于所述神经网络,针对所述图像中的目标对象,生成合成图像;其中,所述神经网络用于提取图像中的目标对象的身份特征,生成目标对象的群体特征,并根据所述生成的群体特征和所述身份特征,生成合成图像。

在本申请一实施方式中,所述目标对象包括:人脸;且所述合成图像包括:合成人脸图像。

在本申请又一实施方式中,所述目标对象的群体特征包括:人脸姿态特征和/或人脸描述特征。

在本申请再一实施方式中,所述基于所述神经网络,针对所述图像中的目标对象,生成合成图像,包括:基于所述神经网络中的身份特征提取器,提取输入图像中的目标对象的身份特征;基于所述神经网络中的特征生成器,生成目标对象的群体特征;基于所述神经网络中的图像生成器,根据所述生成的群体特征和所述身份特征,生成合成图像。

在本申请再一实施方式中,所述基于所述神经网络中的特征生成器,生成目标对象的群体特征包括:基于所述神经网络中的特征生成器,根据随机噪声,生成目标对象的群体特征。

在本申请再一实施方式中,所述特征生成器包括:用于生成人脸姿态特征的第一特征生成器;和/或,用于生成人脸描述特征的第二特征生成器。

在本申请再一实施方式中,所述神经网络的训练过程包括:基于神经网络提取图像样本中的目标对象的样本身份特征;生成目标对象的群体特征;根据所述生成的群体特征和所述样本身份特征,生成合成图像;对所述合成图像进行图像域判别,并对所述生成的群体特征进行群体特征域判别;根据所述图像域判别结果对应的损失、以及所述群体特征域判别结果对应的损失,对所述神经网络进行训练。

在本申请再一实施方式中,所述图像域包括:合成图像域和真实图像域;所述群体特征域包括:生成群体特征域和真实群体特征域。

在本申请再一实施方式中,所述目标对象的样本身份特征由所述神经网络中的身份特征提取器提取;所述目标对象的群体特征由所述神经网络中的特征生成器生成;所述合成图像由所述神经网络中的图像生成器生成;所述图像域由图像判别器判别;所述群体特征域由特征判别器判别。

在本申请再一实施方式中,所述群体特征包括:至少一种类型的群体特征;特征生成器包括至少一种类型的特征生成器,不同类型的特征生成器生成不同类型的群体特征;所述特征判别器包括至少一种类型的特征判别器,且不同类型的特征判别器与不同类型的特征生成器一一对应。

在本申请再一实施方式中,所述根据所述图像域判别结果对应的损失、以及所述特征域判别结果形成的损失,对所述神经网络进行训练包括:根据所述图像域判别结果对应的损失、以及第i类型的特征域判别结果对应的损失,对第i类型的特征生成器进行训练;其中,i的取值范围为1至n,n为群体特征的类型的数量。

在本申请再一实施方式中,所述训练过程还包括:基于群体特征提取器,从图像样本中提取目标对象的真实群体特征;基于所述特征判别器,对所述真实群体特征进行群体特征域判别;根据所述真实群体特征的群体特征域判别结果对应的损失、以及所述生成的群体特征的群体特征域判别结果对应的损失,对所述特征判别器进行训练。

在本申请再一实施方式中,所述训练过程还包括:基于所述图像生成器,根据所述真实群体特征和所述样本身份特征,生成重建图像;基于所述图像判别器,对所述图像样本、所述合成图像以及所述重建图像分别进行图像域判别;根据所述图像样本的图像域判别结果对应的损失、所述合成图像的图像域判别结果对应的损失、以及所述重建图像的图像域判别结果对应的损失,对所述图像判别器进行训练。

在本申请再一实施方式中,所述训练过程还包括:基于所述身份特征提取器,分别提取合成图像以及重建图像中的目标对象的身份特征,获得第一身份特征和第二身份特征;根据所述重建图像的图像域判别结果对应的损失、样本身份特征和第一身份特征的差异对应的损失、样本身份特征和第二身份特征的差异对应的损失、以及图像样本和重建图像的差异对应的损失,对所述图像生成器进行训练。

在本申请再一实施方式中,所述身份特征提取器包括:预训练后的身份特征提取器。

在本申请再一实施方式中,所述判别器包括:用于对人脸姿态特征进行特征域判别的第一特征判别器;和/或,用于对人脸描述特征进行特征域判别的第二特征判别器。

根据本申请实施方式的其中再一方面,提供一种图像生成装置,所述装置包括:输入模块,用于将图像输入神经网络;神经网络,用于针对所述图像中的目标对象,生成合成图像;其中,所述神经网络用于,提取图像中的目标对象的身份特征,生成目标对象的群体特征,并根据所述生成的群体特征和所述身份特征,生成合成图像。

在本申请一实施方式中,所述目标对象包括:人脸;且所述合成图像包括:合成人脸图像。

在本申请又一实施方式中,所述目标对象的群体特征包括:人脸姿态特征和/或人脸描述特征。

在本申请再一实施方式中,所述神经网络包括:身份特征提取器,用于提取输入图像中的目标对象的身份特征;特征生成器,用于生成目标对象的群体特征;图像生成器,用于根据所述生成的群体特征和所述身份特征,生成合成图像。

在本申请再一实施方式中,所述特征生成器进一步用于:根据随机噪声,生成目标对象的群体特征。

在本申请再一实施方式中,所述特征生成器包括:用于生成人脸姿态特征的第一特征生成器;和/或,用于生成人脸描述特征的第二特征生成器。

在本申请再一实施方式中,所述神经网络是由判别模块和训练模块,对待训练的神经网络进行训练而成的;所述待训练的神经网络用于,提取图像样本中的目标对象的样本身份特征,生成目标对象的群体特征,根据所述生成的群体特征和所述样本身份特征,生成合成图像;所述判别模块,用于对所述合成图像进行图像域判别,并对所述生成的群体特征进行群体特征域判别;所述训练模块用于,根据所述图像域判别结果对应的损失、以及所述群体特征域判别结果对应的损失,对所述神经网络进行训练。

在本申请再一实施方式中,所述图像域包括:合成图像域和真实图像域;所述群体特征域包括:生成群体特征域和真实群体特征域。

在本申请再一实施方式中,所述目标对象的样本身份特征由所述待训练的神经网络中的身份特征提取器提取;所述目标对象的群体特征由所述待训练的神经网络中的特征生成器生成;所述合成图像由所述待训练的神经网络中的图像生成器生成;所述图像域由所述判别模块中的图像判别器判别;所述群体特征域由所述判别模块中的特征判别器判别。

在本申请再一实施方式中,所述群体特征包括:至少一种类型的群体特征;特征生成器包括至少一种类型的特征生成器,不同类型的特征生成器生成不同类型的群体特征;所述特征判别器包括至少一种类型的特征判别器,且不同类型的特征判别器与不同类型的特征生成器一一对应。

在本申请再一实施方式中,所述训练模块进一步用于:根据所述图像域判别结果对应的损失、以及第i类型的特征域判别结果对应的损失,对第i类型的特征生成器进行训练;其中,i的取值范围为1至n,n为群体特征的类型的数量。

在本申请再一实施方式中,所述装置还包括:群体特征提取器,用于从图像样本中提取目标对象的真实群体特征;所述特征判别器还用于,对所述真实群体特征进行群体特征域判别;所述训练模块进一步用于:根据所述真实群体特征的群体特征域判别结果对应的损失、以及所述生成的群体特征的群体特征域判别结果对应的损失,对所述特征判别器进行训练。

在本申请再一实施方式中,所述图像生成器还用于,根据所述真实群体特征和所述样本身份特征,生成重建图像;所述图像判别器还用于,对所述图像样本、所述合成图像以及所述重建图像分别进行图像域判别;所述训练模块进一步用于:根据所述图像样本的图像域判别结果对应的损失、所述合成图像的图像域判别结果对应的损失、以及所述重建图像的图像域判别结果对应的损失,对所述图像判别器进行训练。

在本申请再一实施方式中,所述身份特征提取器还用于,分别提取合成图像以及重建图像中的目标对象的身份特征,获得第一身份特征和第二身份特征;所述训练模块进一步用于:根据所述重建图像的图像域判别结果对应的损失、样本身份特征和第一身份特征的差异对应的损失、样本身份特征和第二身份特征的差异对应的损失、以及图像样本和重建图像的差异对应的损失,对所述图像生成器进行训练。

在本申请再一实施方式中,所述身份特征提取器包括:预训练后的身份特征提取器。

在本申请再一实施方式中,所述特征判别器包括:用于对人脸姿态特征进行特征域判别的第一特征判别器;和/或,用于对人脸描述特征进行特征域判别的第二特征判别器。

根据本申请实施方式再一方面,提供一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本申请任一方法实施方式。

根据本申请实施方式再一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现本申请任一方法实施方式。

根据本申请实施方式的再一个方面,提供一种计算机程序,包括计算机指令,当所述计算机指令在设备的处理器中运行时,实现本申请任一方法实施方式。

基于本申请提供的图像生成方法、图像生成装置、电子设备、计算机可读存储介质及计算机程序,本申请通过生成目标对象的群体特征,有利于使群体特征具有多样性。本申请通过提取图像中的目标对象的身份特征,并使神经网络基于身份特征和群体特征,生成合成图像,有利于提高合成图像的身份特征的一致性。由此可知,本申请提供的技术方案有利于提高神经网络生成合成图像的质量以及多样性。

下面通过附图和实施方式,对本申请的技术方案做进一步的详细描述。

附图说明

构成说明书的一部分的附图描述了本申请的实施方式,并且连同描述一起用于解释本申请的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本申请,其中:

图1为本申请的图像生成方法的一个实施方式的流程图;

图2为本申请的神经网络的训练方法的一个实施方式的流程图;

图3为本申请的神经网络的训练方法的一个实施方式的示意图;

图4为本申请的图像生成装置一实施方式的结构示意图;

图5为实现本申请实施方式的一示例性设备的框图。

具体实施方式

现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法以及设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应当注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本申请实施例可以应用于终端设备、计算机系统及服务器等电子设备,其可与众多其它通用或者专用的计算系统环境或者配置一起操作。适于与终端设备、计算机系统以及服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子,包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或者膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

终端设备、计算机系统以及服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如,程序模块)的一般语境下描述。通常,程序模块可以包括:例程、程序、目标程序、组件、逻辑以及数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

示例性实施例

图1为本申请的图像生成方法的一个实施例的流程图。如图1所示,该实施例方法可以称为有条件的图像生成方法。该方法包括:步骤s100以及步骤s110。图1中的各步骤分别如下:

s100、将图像输入神经网络。

在一个可选示例中,本申请的神经网络主要用于产生图像。神经网络所产生的图像可以被作为图像样本,以丰富相应的样本集,例如,利用生成的图像来扩充人脸图像训练集等。本申请的神经网络是一种有条件的图像生成模型,即神经网络可以在尽量保持目标对象的身份特征不变的情况下,生成大量足够真实的包含有目标对象的图像。例如,在输入神经网络的图像为人脸图像的情况下,本申请的神经网络可以在尽量保持人脸图像的身份特征不变的情况下,生成大量足够真实的人脸图像。

在一个可选示例中,输入神经网络的图像通常为真实图像域中的图像,例如,图像可以是摄像装置摄取获得的图像。

s110、基于神经网络,针对图像中的目标对象,生成合成图像。其中的神经网络用于提取图像中的目标对象的身份特征,生成目标对象的群体特征,并根据生成的群体特征和提取的身份特征,生成合成图像。

在一个可选示例中,本申请的神经网络包括:身份特征提取器。身份特征提取器用于提取输入的图像中的目标对象的身份特征,由于身份特征提取器还可以用于提取其他图像(如合成图像以及重建图像等)中的目标对象的身份特征,为了便于描述,本申请将身份特征提取器从输入的图像中提取出的目标对象的身份特征称为身份特征。

在一个可选示例中,本申请的身份特征通常是指:用于描述图像中的目标对象所特有的、可以表示出目标对象的身份的特征。例如,在目标对象为人脸的情况下,身份特征通常是指可以表示出图像中的目标对象的唯一身份的人脸特征。在通常情况下,一身份特征对应唯一一个目标对象。如果两个图像中的目标对象是同一个目标对象,则本申请的身份特征提取器从这两个图像所提取出的目标对象的身份特征通常相同。如果两个图像中的目标对象是两个不同的目标对象,则本申请的身份特征提取器从这两个图像所提取出的目标对象的身份特征通常不相同。

在一个可选示例中,本申请中的目标对象的身份特征可以包括但不限于:表示目标对象的各个部位信息以及整体信息等,例如,在目标对象为人脸的情况下,身份特征可以包括但不限于:性别、年龄、瞳距、眼睛大小以及皱纹等。

在一个可选示例中,身份特征提取器可以具体为:用于识别目标对象的神经网络。例如,在目标对象为人脸的情况下,本申请中的身份特征提取器可以为:用于人脸识别的卷积神经网络等。用于人脸识别的卷积神经网络包括但不限于:resnet(残差网络)等。

在一个可选示例中,本申请的神经网络还包括:特征生成器。特征生成器用于生成目标对象的群体特征,且特征生成器在生成目标对象的群体特征的过程中,通常并不会考虑输入的图像。也就是说,特征生成器的输入通常并不包括图像。可选的,特征生成器的输入包括:噪声(如随机噪声,randomnoise),即特征生成器根据随机噪声生成目标对象的群体特征。在目标对象为人脸的情况下,特征生成器可以包括但不限于:3dmm(3dmorphablemodel,3维形变模型)等。

在一个可选示例中,本申请中的群体特征是指:用于描述目标对象的概括性特点的特征。群体特征也可以称为“非身份特征”。例如,在目标对象为人脸的情况下,群体特征是指,用于描述人脸的概括性特点的特征。可选的,本申请中的群体特征可以被划分为多种类型,也就是说,本申请中的群体特征可以包括:一种或者两种或者更多种类型的群体特征。即群体特征包括k(k为大于等于1的整数)种类型,即第一类型的群体特征、第二类型的群体特征、……以及第k类型的群体特征。本申请可以针对每一种类型的群体特征分别设置一个特征生成器,也就是说,一个特征生成器用于生成一种类型的群体特征,而不同特征生成器所生成的群体特征的类型不相同。例如,特征生成器的数量为k个,即第一特征生成器、第二特征生成器、……以及第k特征生成器;其中的第一特征生成器用于生成第一类型的群体特征,第二特征生成器用于生成第二类型的群体特征,第k特征生成器用于生成第k类型的群体特征。由于一个特征生成器可以只负责生成一种类型的群体特征,因此,本申请有利于降低特征生成器生成群体特征的复杂度,从而本申请有利于提高神经网络的训练效率,并有利于提高特征生成器生成群体特征的质量。在一个可选示例中,本申请中的群体特征的类型可以是指:在从不同层面来描述目标对象的概括性特点时,可以获得多组群体特征,其中的每一组群体特征所对应的层面即为群体特征的类型。

在一个可选示例中,在本申请中的目标对象为人脸的情况下,群体特征可以包括两种或者更多种类型,例如,包括:人脸姿态特征以及人脸描述特征。其中的人脸姿态特征主要用于表示人脸的姿势(pose)和表情(expression);其中的人脸描述特征主要用于表示人脸的通用特征(generalfeature),例如,除了人脸的姿势和表情之外的其他面部变量等。人脸描述特征也可以称为人脸通用特征。在上述情况下,本申请中的特征生成器可以包括:第一特征生成器和第二特征生成器。第一特征生成器用于生成人脸姿态特征。第二特征生成器用于生成人脸描述特征。

在一个可选示例中,本申请的神经网络包括:图像生成器。该图像生成器的输入通常包括:特征生成器生成的群体特征、以及身份特征提取器生成的身份特征,图像生成器可以根据上述输入,生成合成图像,并输出。由于身份特征是从输入的图像中提取出的,因此,在输入的图像是真实图像的情况下,身份特征通常保有真实性,从而有利于使图像生成器根据身份特征和群体特征所生成的合成图像,更逼真于输入的图像,即有利于提高合成图像的质量。

在一个可选示例中,本申请中的图像生成器可以采用基于decoder(解码器)结构的神经网络,例如,图像生成器可以包括但不限于:vae(variationalautoencoder,基于变分的自编码器)、gan(generativeadversarialnetworks,生成对抗网络)、began(boundaryequilibriumgenerativeadversarialnetworks,边界平衡生成对抗网络)或者dcgan(deepconvolutionalgenerativeadversarialnetworks,深度卷积对抗生成网络)等。

图2为本申请的神经网络的训练方法的一个实施方式的流程图。如图2所示,该实施方式的方法包括:步骤s200、步骤s210、步骤s220、步骤s230以及步骤s240。图2中的各步骤如下:

s200、基于神经网络提取图像样本中的目标对象的样本身份特征。

在一个可选示例中,本申请成功训练的神经网络主要用于产生图像。成功训练的神经网络所产生的图像可以被作为图像样本,以丰富相应的样本集。另外,本申请成功训练的神经网络是一种有条件的图像生成模型,即成功训练的神经网络可以在尽量保持目标对象的身份特征不变的情况下,生成大量足够真实的包含有目标对象的图像。例如,成功训练的神经网络在尽量保持人脸图像的身份特征不变的情况下,生成大量足够真实的人脸图像。

在一个可选示例中,用于训练本申请的神经网络的图像样本通常为真实图像域中的图像,例如,图像样本可以是摄像装置摄取获得的图像。本申请可以从一训练集合中获取图像样本。本申请可以按照随机读取方式或者按照训练集中的图像样本排列次序顺序读取方式,一次从训练集中获取一个或者多个图像样本。

在一个可选示例中,本申请的图像样本包括但不限于:人脸图像样本。也就是说,本申请中的目标对象可以包括但不限于:人脸。图像样本的标注信息可以包括:目标对象的标识,且目标对象的标识可以表示出:一个图像样本中的目标对象与其他图像样本中的目标对象是否为同一个目标对象。可选的,如果两个图像样本中的人脸属于同一个人,则这两个图像样本的标注信息通常相同。

在一个可选示例中,本申请的待训练的神经网络包括:身份特征提取器。且该身份特征提取器用于,提取输入图像样本中的目标对象的样本身份特征。在神经网络的训练过程中,身份特征提取器用于提取图像样本中的目标对象的身份特征,由于身份特征提取器还可以用于提取其他图像(如合成图像以及重建图像等)中的目标对象的身份特征,为了便于描述,本申请将身份特征提取器从图像样本中提取出的目标对象的身份特征称为样本身份特征。

在一个可选示例中,本申请的样本身份特征通常是指:用于描述图像样本中的目标对象所特有的、可以表示出目标对象的身份的特征。例如,在目标对象为人脸的情况下,样本身份特征通常是指可以表示出图像样本中的目标对象的唯一身份的人脸特征。在通常情况下,一样本身份特征对应唯一一个目标对象。如果两个图像样本中的目标对象是同一个目标对象,则本申请的身份特征提取器从这两个图像样本所提取出的目标对象的样本身份特征通常相同。如果两个图像样本中的目标对象是两个不同的目标对象,则本申请的身份特征提取器从这两个图像样本所提取出的目标对象的样本身份特征通常不相同。

在一个可选示例中,本申请中的目标对象的身份特征可以包括但不限于:表示目标对象的各个部位信息以及整体信息等,例如,在目标对象为人脸的情况下,身份特征可以包括但不限于:性别、年龄、瞳距、眼睛大小以及皱纹等。

在一个可选示例中,身份特征提取器可以具体为:用于识别目标对象的神经网络。例如,在目标对象为人脸的情况下,本申请中的身份特征提取器可以为:用于人脸识别的卷积神经网络等。用于人脸识别的卷积神经网络包括但不限于:resnet(残差网络)等。可选的,在对本申请的神经网络进行训练时,神经网络中的身份特征提取器通常是预训练后的身份特征提取器。可选的,预训练后的身份特征提取器仍然可以在神经网络的训练过程中,得到进一步的训练。对身份特征提取器进行预训练的实现方式、以及身份特征提取器在神经网络的训练过程中进行进一步训练的实现方式,可以参照人脸识别神经网络的训练过程,例如,可以参见下文中的相关描述,在此不再详细说明。

s210、生成目标对象的群体特征。即基于神经网络生成目标对象的群体特征。

在一个可选示例中,本申请的待训练的神经网络包括:特征生成器。该特征生成器用于,生成目标对象的群体特征。在神经网络的训练过程中,特征生成器用于生成目标对象的群体特征,且特征生成器在生成目标对象的群体特征的过程中,通常并不会考虑图像样本。也就是说,特征生成器的输入通常并不包括图像样本。可选的,特征生成器的输入包括:噪声(如随机噪声,randomnoise),即特征生成器根据随机噪声生成目标对象的群体特征。在目标对象为人脸的情况下,特征生成器可以包括但不限于:3dmm(3dmorphablemodel,3维形变模型)等。

在一个可选示例中,本申请中的群体特征是指:用于描述目标对象的概括性特点的特征。群体特征也可以称为“非身份特征”。例如,在目标对象为人脸的情况下,群体特征是指,用于描述人脸的概括性特点的特征。可选的,本申请中的群体特征可以被划分为多种类型,也就是说,本申请中的群体特征可以包括:一种或者两种或者更多种类型的群体特征。即群体特征包括k(k为大于等于1的整数)种类型,即第一类型的群体特征、第二类型的群体特征、……以及第k类型的群体特征。本申请可以针对每一种类型的群体特征分别设置一个特征生成器,也就是说,一个特征生成器用于生成一种类型的群体特征,而不同特征生成器所生成的群体特征的类型不相同。例如,特征生成器的数量为k个,即第一特征生成器、第二特征生成器、……以及第k特征生成器;其中的第一特征生成器用于生成第一类型的群体特征,第二特征生成器用于生成第二类型的群体特征,第k特征生成器用于生成第k类型的群体特征。由于一个特征生成器可以只负责生成一种类型的群体特征,因此,本申请有利于降低特征生成器生成群体特征的复杂度,从而本申请有利于提高神经网络的训练效率,并有利于提高特征生成器生成群体特征的质量。

在一个可选示例中,在本申请中的目标对象为人脸的情况下,群体特征可以包括两种或者更多种类型,例如,包括:人脸姿态特征以及人脸描述特征。其中的人脸姿态特征主要用于表示人脸的姿势(pose)和表情(expression);其中的人脸描述特征主要用于表示人脸的通用特征(generalfeature),例如,除了人脸的姿势和表情之外的其他面部变量等。人脸描述特征也可以称为人脸通用特征。在上述情况下,本申请中的特征生成器可以包括:第一特征生成器和第二特征生成器。第一特征生成器用于生成人脸姿态特征。第二特征生成器用于生成人脸描述特征。

s220、根据上述生成的群体特征和样本身份特征,生成合成图像。即神经网络根据上述生成的群体特征和样本身份特征,生成合成图像。

在一个可选示例中,本申请的待训练的神经网络包括:图像生成器。且该图像生成器用于根据上述生成的群体特征和样本身份特征,生成合成图像。在本申请的神经网络的训练过程中,图像生成器的输入包括:特征生成器生成的群体特征、以及特征提取器生成的样本身份特征,图像生成器可以根据上述输入,生成图像,并输出。由于图像生成器还可以根据其他输入生成图像(可以参见后续的描述),为了便于描述,本申请将本步骤生成的图像称为合成图像。由于样本身份特征是从图像样本中提取出的,因此,在图像样本是真实图像的情况下,样本身份特征通常保有真实性,从而有利于使图像生成器根据样本身份特征和群体特征所生成的合成图像,与图像样本更逼真,即有利于提高合成图像的质量。

在一个可选示例中,本申请中的图像生成器可以采用基于decoder(解码器)结构的神经网络,例如,图像生成器可以包括但不限于:vae(variationalautoencoder,基于变分的自编码器)、gan(generativeadversarialnetworks,生成对抗网络)、began(boundaryequilibriumgenerativeadversarialnetworks,边界平衡生成对抗网络)或者dcgan(deepconvolutionalgenerativeadversarialnetworks,深度卷积对抗生成网络)等。

s230、对合成图像进行图像域判别,并对生成的群体特征进行群体特征域判别。

在一个可选示例中,本申请可以利用图像判别器对合成图像进行图像域判别,并利用特征判别器对生成的群体特征进行群体特征域判别。然而,本申请的待训练的神经网络并不包括:图像判别器以及特征判别器,即图像判别器和特征判别器通常只在训练过程中使用。也就是说,在神经网络成功训练完成之后,在测试或者实际应用过程中,实现图像生成处理时,神经网络并不包含有图像判别器和特征判别器。

在一个可选示例中,本申请中的图像判别器和特征判别器均可以采用现有的神经网络。例如,图像判别器可以包括但不限于:encoder(编码器)。再例如,特征判别器可以包括但不限于:包含有多层全连接层的mlp(multilayerperceptron,多层感知器,一种前馈人工神经网络模型)。

在一个可选示例中,本申请中的图像域可以包括:非真实图像域和真实图像域。其中的非真实图像域可以称为构造图像域。其中的真实图像域可以认为是:通过摄像装置摄取而获得的图像的集合。相应的,非真实图像域可以认为是:虚构出的图像的集合。本申请的图像判别器会针对每一个输入的图像均执行图像域判别操作,以分别确定出各输入的图像是属于非真实图像域,还是属于真实图像域。本申请对神经网络进行训练的目的包括但不限于:图像判别器试图将输入的合成图像判别为非真实图像域,而图像生成器试图使图像判别器将其生成的合成图像判别为真实图像域。

在一个可选示例中,本申请中的群体特征域可以包括:生成群体特征域和真实群体特征域。其中的生成群体特征域可以称为构造群体特征域。其中的生成群体特征域可以认为是:虚构出的群体特征的集合。其中的真实群体特征域可以认为是:从图像样本中提取出的群体特征的集合。本申请的特征判别器会针对输入的群体特征执行特征域判别操作,以确定出输入的群体特征是属于生成群体特征域,还是属于真实群体特征域。本申请对神经网络进行训练的目的包括但不限于:特征判别器试图将特征生成器生成的群体特征判别为生成群体特征域,而特征生成器试图使特征判别器将其生成的群体特征判别为真实群体特征域。

在一个可选示例中,在群体特征被划分为多种类型,且每一个类型的群体特征各自对应一个特征生成器的情况下,本申请的特征判别器包括:多种类型的特征判别器(即多个特征判别器),且不同类型的特征判别器与不同类型的特征生成器一一对应。例如,群体特征包括k(k为大于等于1的整数)种类型,即第一类型的群体特征、第二类型的群体特征、……以及第k类型的群体特征,且特征生成器的数量为k个,即第一特征生成器、第二特征生成器、……、以及第k特征生成器;其中的第一特征生成器用于生成第一类型的群体特征,第二特征生成器用于生成第二类型的群体特征,第k特征生成器用于生成第k类型的群体特征。在上述情况下,本申请的特征判别器的数量可以为k个,即第一特征判别器、第二特征判别器、……、以及第k特征判别器,第一特征判别器对应第一特征生成器,第二特征判别器对应第二特征生成器,第k特征判别器对应第k特征生成器。其中的第一特征判别器用于判断第一特征生成器输出的第一类型的群体特征是属于生成群体特征域,还是属于真实群体特征域。其中的第二特征判别器用于判断第二特征生成器输出的第二类型的群体特征是属于生成群体特征域,还是属于真实群体特征域。第k特征判别器用于判断第k特征生成器输出的第k类型的群体特征是属于生成群体特征域,还是属于真实群体特征域。

需要特别说明的是,虽然本申请的待训练的神经网络并不包含有图像判别器和特征判别器(即成功训练后的神经网络并不包含图像判别器和特征判别器),然而,在对神经网络进行的训练过程中,图像判别器和特征判别器同样可以得到训练,即图像判别器和特征判别器的网络参数,可以在神经网络的训练过程中得到调整,从而有利于提高图像判别器和特征判别器的判别准确性,进而有利于促使特征生成器和图像生成器生成更逼真的群体特征和合成图像。

s240、根据图像域判别结果对应的损失、以及群体特征域判别结果对应的损失,对神经网络进行训练。

在一个可选示例中,在群体特征被划分为多种类型,且每一个类型的群体特征各自对应一个特征生成器,每一个特征生成器各自对应一个特征判别器的情况下,本申请可以根据图像域判别结果形成的损失、以及对应第i类型群体特征所对应的特征域判别结果所形成的损失,对第i类型群体特征所对应的特征生成器进行训练,例如,调整第i类型群体特征所对应的特征生成器的网络参数。其中,i的取值范围为1至n,n为群体特征的类型的数量。本申请可以使用下述公式(1)所表示的损失函数,来调整第i类型群体特征所对应的特征生成器的网络参数:

在上述公式(1)中,表示第i特征生成器的损失函数;表示损失函数用于调整第i特征生成器的网络参数,且在训练过程中,该损失函数的取值应尽可能的小;λi表示第i特征生成器的平衡因子;表示第i特征判别器对第i特征生成器所生成的第i类型的群体特征fis的特征域判别结果所形成的损失;第i特征判别器和第i特征生成器均对应第i类型群体特征;k表示群体特征的类型数量,如k等于2或者3或者4等;φi(xs)表示图像判别器di对图像生成器gi所生成的合成图像xs的图像域判别结果所形成的损失。

上述公式(1)中的可以表示为:表示数学期望函数,用于根据第i类型的群体特征fis的分布获得数学期望;表示第i特征判别器针对群体特征fis的判别结果(概率值)。

上述公式(1)中的φi(xs)可以表示为:表示数学期望函数,用于根据合成图像的分布获得数学期望;di(xs)表示图像判别器di针对合成图像xs的图像域判别结果(即概率值)。

在一个可选示例中,本申请中的图像域判别结果可以为概率值,例如,图像域判别结果包括两个概率值,其中一个概率值用于表示待判别图像属于真实图像域的概率值,其中另一个概率值用于表示待判别图像属于构造图像域的概率值。可选的,图像域判别结果形成的损失可以为针对概率值进行log计算等而获得的计算结果。特征域判别结果同样可以为概率值,例如,特征域判别结果包括两个概率值,其中一个概率值用于表示待判别群体特征属于生成群体特征域的概率值,其中另一个概率值用于表示待判别群体特征属于真实群体特征域的概率值。可选的,特征域判别结果形成的损失可以为针对概率值进行log计算等而获得的计算结果。

在一个可选示例中,本申请可以利用特征判别器针对输入的群体特征的特征域判别结果所形成的损失,来调整特征判别器的网络参数。例如,利用第i特征判别器针对输入的第i类型群体特征的特征域判别结果所形成的损失,来调整第i特征判别器的网络参数。

在一个可选示例中,本申请可以采用对抗训练的方式,来调整特征判别器的网络参数。例如,本申请还包含有群体特征提取器,该群体特征提取器用于从输入的图像样本中提取出目标对象的群体特征,由于该群体特征是从图像样本中提取出来的,因此,可以将该群体特征称为真实群体特征。之后,本申请利用特征判别器对真实群体特征进行群体特征域判别,从而本申请可以根据真实群体特征的群体特征域判别结果所形成的损失、以及特征生成器生成的群体特征的群体特征域判别结果所形成的损失,调整特征判别器的网络参数。本申请针对特征判别器进行对抗训练的目的包括但不限于:特征判别器试图将群体特征提取器提取出来的真实群体特征判别为真实群体特征域,且特征判别器试图将特征生成器生成的群体特征判别为生成群体特征域。

在一个可选示例中,在群体特征被划分为多种类型,且每一个类型的群体特征各自对应一个特征生成器和一个特征判别器的情况下,本申请的群体特征提取器包括:多种类型的群体特征提取器(即多个群体特征提取器),且不同类型的群体特征提取器与不同类型的特征判别器一一对应。例如,群体特征包括k(k为大于等于1的整数)种类型,即第一类型的群体特征、第二类型的群体特征、……以及第k类型的群体特征,且特征生成器的数量为k个,即第一特征生成器、第二特征生成器、……、以及第k特征生成器;其中的第一特征生成器用于生成第一类型的群体特征,第二特征生成器用于生成第二类型的群体特征,第k特征生成器用于生成第k类型的群体特征。在上述情况下,本申请的群体特征提取器的数量可以为k个,即第一群体特征提取器、第二群体特征提取器、……、以及第k群体特征提取器,第一群体特征提取器对应第一特征判别器,第二群体特征提取器对应第二特征判别器,第k群体特征提取器对应第k特征判别器。其中的第一特征判别器还用于判断第一群体特征提取器输出的第一类型的群体特征是属于生成群体特征域,还是属于真实群体特征域。其中的第二特征判别器还用于判断第二群体特征提取器输出的第二类型的群体特征是属于生成群体特征域,还是属于真实群体特征域。第k特征判别器还用于判断第k群体特征提取器输出的第k类型的群体特征是属于生成群体特征域,还是属于真实群体特征域。

在一个可选示例中,在群体特征被划分为多种类型,且每一个类型的群体特征各自对应一个群体特征提取器,每一个群体特征提取器各自对应一个特征判别器的情况下,本申请可以根据第i类型真实群体特征的群体特征域判别结果所形成的损失、以及第i特征生成器生成的群体特征的群体特征域判别结果所形成的损失,调整第i特征判别器的网络参数。其中,i的取值范围为1至n,n为群体特征的类型的数量。本申请可以使用下述公式(2)所表示的损失函数,来调整第i特征判别器的网络参数:

在上述公式(2)中,表示第i特征判别器的损失函数;表示损失函数用于调整第i特征判别器的网络参数,且在训练过程中,该损失函数的取值应尽可能的小;λ表示平衡因子;表示第i特征判别器对第i群体特征提取器提取出的第i类型群体特征fir的特征域判别结果所形成的损失;表示第i特征判别器对第i特征生成器所生成的第i类型群体特征fis的特征域判别结果所形成的损失;第i特征判别器和第i特征生成器对应第i类型群体特征;k表示群体特征的类型数量,如k等于2或者3或者4等。

上述可以表示为:表示期望函数,用于根据第i类型的群体特征fir的分布获得数学期望;表示第i特征判别器针对群体特征fir的判别结果(如概率值)。

在一个可选示例中,本申请可以利用图像判别器针对输入的合成图像的图像域判别结果所形成的损失,来调整图像判别器的网络参数。

在一个可选示例中,本申请可以采用对抗训练的方式,来调整图像判别器的网络参数。例如,本申请中的图像判别器可以针对图像样本和合成图像分别进行图像域判别,从而形成图像样本的图像域判别结果以及合成图像的图像域判别结果,本申请可以根据图像样本的图像域判别结果所形成的损失以及合成图像的图像域判别结果所形成的损失,来调整图像判别器的网络参数。再例如,在本申请包含有群体特征提取器的情况下,在群体特征提取器从输入的图像样本中提取出目标对象的真实群体特征之后,本申请可以利用图像生成器根据真实群体特征和身份特征提取器提取出的样本身份特征进行图像重建,生成重建图像。本申请中的图像判别器可以针对图像样本、合成图像以及重建图像分别进行图像域判别,从而形成图像样本的图像域判别结果、合成图像的图像域判别结果以及重建图像的图像域判别结果,本申请可以根据图像样本的图像域判别结果所形成的损失、合成图像的图像域判别结果所形成的损失以及重建图像的图像域判别结果所形成的损失,来调整图像判别器的网络参数。本申请针对图像判别器进行对抗训练的目的包括但不限于:图像判别器试图将图像样本判别为真实图像域,图像判别器试图将重建图像和合成图像均判别为构造图像域。本申请可以使用下述公式(3)所表示的损失函数,来调整图像判别器的网络参数:

在上述公式(3)中,表示图像判别器di的损失函数;表示损失函数用于调整图像判别器di的网络参数,且在训练过程中,该损失函数的取值应尽可能的小;λ3和λ4表示两个平衡因子;φi(xr)表示图像判别器di对图像样本xr的图像域判别结果所形成的损失;φi(xs)表示图像判别器di对合成图像的图像域判别结果所形成的损失;φi(xrec)表示图像判别器di对重建图像的图像域判别结果所形成的损失。

上述公式(3)中的φi(xr)可以表示为:表示期望函数,用于根据图像样本xr的分布获得数学期望;di(xr)表示图像判别器di针对图像样本xr的图像域判别结果(即概率值)。

上述公式(3)中的φi(xrec)可以表示为:

表示期望函数,用于根据重建图像xrec的分布,获得数学期望,di(xrec)表示图像判别器di针对重建图像xrec的图像域判别结果(如概率值)。

在一个可选示例中,本申请可以采用对抗训练的方式,来调整图像生成器的网络参数。例如,本申请还包含有群体特征提取器,该群体特征提取器可以用于从输入的图像样本中提取出目标对象的真实群体特征。之后,本申请利用身份特征提取器提取合成图像中的目标对象的身份特征(下述称为第一身份特征),并利用身份特征提取器提取重建图像中的目标对象的身份特征(下述称为第二身份特征)。然后,本申请可以根据重建图像的图像域判别结果形成的损失、样本身份特征和第一身份特征的差异形成的损失、样本身份特征和第二身份特征的差异形成的损失、以及图像样本和重建图像的差异形成的损失,调整图像生成器的网络参数。本申请针对图像生成器进行的对抗训练方式的目的包括但不限于:图像生成器试图将图像样本判别为真实图像域,图像生成器试图将合成图像和重建图像均判别为构造图像域。

在一个可选示例中,本申请可以使用下述公式(4)所表示的损失函数,来调整图像生成器的网络参数:

在上述公式(4)中,表示图像生成器gi的损失函数;表示损失函数用于调整图像生成器gi的网络参数,且在训练过程中,该损失函数的取值应尽可能的小;λ1和λ2表示两个平衡因子;φi(xrec)表示图像判别器di对重建图像的图像域判别结果所形成的损失;φrec(xr,xrec)表示图像样本xr和重建图像xrec的差异形成的损失;φid(xrec)表示样本身份特征和第二身份特征的差异形成的损失,φid(xs)表示样本身份特征和第一身份特征的差异形成的损失。

在一个可选示例中,本申请中的φrec(xr,xrec)为像素级别损失,且φrec(xr,xrec)可以通过图像样本xr和重建图像xrec之间的距离来表示,例如,φrec(xr,xrec)=‖xr-xrec‖1,其中的‖xr-xrec‖1表示图像样本xr和重建图像xrec之间的l1距离。本申请通过在用于调整图像生成器的损失函数中增加基于像素级别的监督项(即φrec(xr,xrec)),有利于提高图像生成器的解码能力,从而有利于提高图像生成器所生成的图像的质量。

在一个可选示例中,本申请中的φid(xrec)可以通过样本身份特征和第二身份特征之间的距离来表示,例如,其中的表示样本身份特征和第二身份特征之间的l2距离(即欧式距离)的平方。

在一个可选示例中,本申请中的φid(xs)可以通过样本身份特征和第一身份特征之间的距离来表示,例如,其中的表示样本身份特征和第一身份特征之间的l2距离(即欧式距离)的平方。

在一个可选示例中,本申请可以采用下述公式(5)所表示的损失函数,来调整身份特征提取器的网络参数,该调整身份特征提取器的网络参数的过程不仅可以适用于神经网络中的各模块的协调训练过程,还可以适用于身份特征提取器的预训练过程。

在上述公式(5)中,表示身份特征提取器eid的损失函数;表示损失函数用于调整身份特征提取器eid的网络参数,且在训练过程中,该损失函数的取值应尽可能的小;n表示图像样本训练集中所有图像样本中的不同目标对象的数量,例如,图像样本训练集中包括1000个人脸图像样本,然而,1000个人脸图像样本中包括500个不同的人脸,则n=500;表示图像样本xr的身份标注信息;表示对于第j个目标对象而言,身份标注信息所对应的概率值,例如,如果则除了之外,其他的……以及均等于0;wid表示身份特征提取器eid中的全连接层的权重参数;表示wid的转置;fid表示身份特征提取器eid提取出的身份特征;bid表示身份特征提取器eid中的全连接层的偏置参数;{*}j表示向量*中的第j个元素。

在一个可选示例中,本申请中的群体特征提取器可以为:经过预训练后的群体特征提取器,当然,也可以不对群体特征提取器进行预训练。无论群体特征提取器是否进行了预训练,群体特征提取器均可以与本申请中的各模块一起协调训练。用于训练群体特征提取器的损失函数可以根据群体特征的实际情况进行设置,本申请不对该损失函数进行限定。

可选的,在目标对象为人脸,且人脸群体特征包括两种类型(如人脸姿态特征以及人脸描述特征种类型)的情况下,群体特征提取器包括:e1和e2,且e1和e2的损失函数可以如下述公式(6)和公式(7)所示:

在上述公式(6)中,表示群体特征提取器e1的损失函数;表示损失函数用于调整群体特征提取器e1的网络参数,且在训练过程中,该损失函数的取值应尽可能的小;e1(xr)表示从人脸图像样本xr中提取出的第一类型的人脸群体特征;表示参数,例如,离线估计获得的参数;w3d表示重要性矩阵。

在上述公式(7)中,表示群体特征提取器e2的损失函数;表示损失函数用于调整群体特征提取器e2的网络参数,且在训练过程中,该损失函数e2的取值应尽可能的小;e2(xr)表示从人脸图像样本xr中提取出的第二类型的人脸群体特征;gi(fid,f1r,e2(xr))表示将fid,f1r,e2(xr)提供给图像生成器gi,由图像生成器gi生成的重建人脸图像;||xr-gi(fid,f1r,e2(xr))||1表示人脸图像样本与重建人脸图像之间的l1距离。

在一个可选示例中,在针对本申请的神经网络的训练达到预定迭代条件时,本次训练过程结束。本申请中的预定迭代条件可以包括:神经网络输出的判别结果的准确性达到预定要求。在判别结果的准确性满足预定要求的情况下,本次对神经网络成功训练完成。本申请中的预定迭代条件还可以包括:对神经网络进行训练,所使用的图像样本的数量达到预定数量要求等。在使用的图像样本的数量达到预定数量要求,然而,判别结果的准确性并未满足预定要求的情况下,本次对神经网络并未训练成功。成功训练完成的神经网络可以用于图像生成处理。

在目标对象为人脸的情况下,本申请的神经网络的训练方法的一个实施方式如图3所示。

图3中,g表示生成器,生成器g用于生成人脸群体特征fis(第一阶段),并根据人脸群体特征fis和从人脸图像样本xr中提取出的样本身份特征fid,生成人脸合成图像xs(第二阶段)。可选的,生成器g可以根据随机噪声z生成人脸群体特征fis

在人脸群体特征包括k种类型的情况下,生成器g通常包括k个人脸群体特征生成器即图3中的……、以及可选的,在人脸群体特征包括:人脸姿态特征和人脸描述特征,这两种类型的情况下,生成器g包括两个人脸群体特征生成器。

用于生成第一类型的人脸群体特征f1s(例如,人脸姿态特征)。例如,根据随机噪声z1生成第一类型的人脸群体特征f1s用于生成第二类型的人脸群体特征(例如,人脸描述特征,也可以称为人脸通用特征)。例如,根据随机噪声z2生成第二类型的人脸群体特征用于生成第k类型的人脸群体特征例如,根据随机噪声zk生成第k类型的人脸群体特征

图3中的生成器g除了包括k个人脸群体特征生成器之外,还包括:人脸图像生成器gi。gi用于根据人脸群体特征f1s以及从人脸图像样本xr中提取出的样本身份特征fid,生成人脸合成图像xs。另外,gi还用于根据人脸群体特征f1r以及从人脸图像样本xr中提取出的样本身份特征fid,生成人脸重建图像xrec。其中的人脸群体特征f1r由人脸群体特征提取器获得。

图3中的e1、e2、……、以及ek为k个人脸群体特征提取器。e1用于从输入的图像中提取第一类型的人脸群体特征(例如,人脸姿态特征)。e2用于从输入的图像中提取第二类型的人脸群体特征(例如,人脸描述特征)。ek用于从输入的图像中提取第k类型的人脸群体特征。例如,e1从输入的人脸图像样本xr中提取第一类型的人脸群体特征f1r,e2从输入的人脸图像样本xr中提取第二类型的人脸群体特征ek从输入的人脸图像

样本xr中提取第k类型的人脸群体特征

图3中的eid为身份特征提取器。eid用于从输入的图像中提取身份特征。例如,eid从输入的人脸图像样本中提取样本身份特征fid。可选的,eid还可以从输入的合成图像中提取身份特征,并从输入的重建图像中提取身份特征。eid从合成图像和重建图像中提取出的身份特征,可以作为训练过程中的监督信息,参与损失函数的计算。

图3中,d表示判别器,判别器d用于针对输入的群体特征进行特征域的判别,并输出特征域的判别结果,判别器d还用于针对输入的图像进行图像域的判别,并输出图像域的判别结果。判别器d输出的判别结果通常为概率值。

在人脸群体特征包括k种类型的情况下,判别器d包括:k个人脸群体特征判别器即图3中的……、以及可选的例子,在人脸群体特征包括:人脸姿态特征和人脸描述特征,这两种类型的情况下,判别器d包括:用于对人脸姿态特征进行特征域判别的第一特征判别器以及用于对人脸描述特征进行特征域判别的第二特征判别器

用于针对输入的第一类型的人脸群体特征f1s(例如,人脸姿态特征)和第一类型的人脸群体特征f1r分别进行特征域的判别,试图将第一类型的人脸群体特征f1s判别为生成群体特征域,并试图将第一类型的人脸群体特征f1r判别为真实群体特征域。而本申请试图利用生成的第一类型的人脸群体特征f1s来迷惑即试图使生成的第一类型的人脸群体特征f1s判别为真实群体特征域。

用于针对输入的第二类型的人脸群体特征(例如,人脸姿态特征)和第二类型的人脸群体特征分别进行特征域的判别,试图将第二类型的人脸群体特征判别为生成群体特征域,并试图将第二类型的人脸群体特征判别为真实群体特征域。而本申请试图利用生成的第二类型的人脸群体特征来迷惑即试图使生成的第二类型的人脸群体特征判别为真实群体特征域。

用于针对输入的第k类型的人脸群体特征(例如,人脸姿态特征)和第k类型的人脸群体特征分别进行特征域的判别,试图将第k类型的人脸群体特征判别为生成群体特征域,并试图将第k类型的人脸群体特征判别为真实群体特征域。而本申请试图利用生成的第k类型的人脸群体特征来迷惑即试图使生成的第k类型的人脸群体特征判别为真实群体特征域。

图3中的判别器d除了包括k个人脸群体特征判别器之外,还包括:图像判别器di。di用于针对输入的图像进行图像域的判别,并输出图像域的判别结果。例如,图像判别器di针对输入的gi生成的人脸合成图像xs、人脸图像样本xr以及人脸重建图像xrec分别进行图像域的判别,di试图将人脸合成图像xs和人脸重建图像xrec判别为构造图像域,并试图将人脸图像样本xr判别为真实图像域。而本申请试图利用gi生成的人脸合成图像xs和人脸重建图像xrec来迷惑di,即本申请试图使gi生成的人脸合成图像xs和人脸重建图像xrec均被di判别为真实图像域。

本申请在调整gidi、e1、e2、……、ek以及eid的网络参数时,所使用的损失函数如上述实施方式中的描述,在此不再重复说明。

图4为本申请的图像生成装置的一个实施例的结构示意图。如图4所示,该实施例的装置主要包括:输入模块400以及神经网络410。可选的,神经网络410可以包括:身份特征提取器411、特征生成器412以及图像生成器413。可选的,该图像生成装置还可以包括:判别模块420、训练模块430、群体特征提取器440。

输入模块400主要用于将图像输入神经网络。

神经网络410主要用于针对图像中的目标对象生成合成图像。其中,神经网络410可以先提取图像中的目标对象的身份特征,并生成目标对象的群体特征,然后,神经网络410根据其生成的群体特征以及其提取出的身份特征,生成合成图像。在目标对象包括:人脸的情况下,神经网络410生成的目标对象的群体特征可以包括:人脸姿态特征、以及人脸描述特征中的至少一个,且神经网络410生成的合成图像可以包括:合成人脸图像。

身份特征提取器411主要用于提取输入图像中的目标对象的身份特征。

特征生成器412主要用于生成目标对象的群体特征。可选的,特征生成器412可以根据随机噪声,生成目标对象的群体特征。可选的,特征生成器412的数量可以为多个,且一个特征生成器412用于生成一种类型的群体特征,不同的特征生成器412生成不同类型的群体特征。例如,在目标对象为人脸的情况下,本申请可以设置两个特征生成器,即第一特征生成器和第二特征生成器,其中的第一特征生成器用于生成人脸姿态特征的第一特征生成器,其中的第二特征生成器用于生成人脸描述特征的第二特征生成器。

图像生成器413主要用于根据特征生成器412生成的群体特征、以及身份特征提取器411提取出的身份特征,生成合成图像。

判别模块420、训练模块430以及群体特征提取器440用于对待训练的神经网络进行训练,从而形成神经网络410。

在神经网络410的训练过程中,输入模块400将图像样本输入待训练的神经网络。待训练的神经网络用于,提取图像样本中的目标对象的样本身份特征,生成目标对象的群体特征,并根据上述生成的群体特征和上述样本身份特征,生成合成图像。可选的,在该待训练的神经网络包括:身份特征提取器411、特征生成器412以及图像生成器413的情况下,目标对象的样本身份特征可以由待训练的神经网络中的身份特征提取器411提取,目标对象的群体特征可以由待训练的神经网络中的特征生成器412生成,而合成图像可以由待训练的神经网络中的图像生成器413生成。

判别模块420主要用于对合成图像进行图像域判别,并对生成的群体特征进行群体特征域判别。可选的,其中的图像域可以包括:合成图像域和真实图像域,而其中的群体特征域可以包括:生成群体特征域和真实群体特征域。可选的,判别模块420可以包括:图像判别器421和特征判别器422。图像判别器421用于对合成图像的图像域进行判别。特征判别器422用于对生成的群体特征进行群体特征域判别。

可选的,在群体特征包括:多种类型的群体特征,且特征生成器412的数量为多个的情况下,本申请中的特征判别器422通过也包括多个特征判别器,不同特征判别器对应不同的类型的群体特征,且不同类型的特征判别器与不同类型的特征生成器一一对应。可选的,在目标对象为人脸的情况下,特征判别器422可以包括:用于对人脸姿态特征进行特征域判别的第一特征判别器、以及用于对人脸描述特征进行特征域判别的第二特征判别器。

训练模块430主要用于根据判别模块420的图像域判别结果对应的损失、以及群体特征域判别结果对应的损失,对神经网络进行训练。

可选的,在特征生成器412的数量为多个的情况下,训练模块430可以根据图像域判别结果对应的损失、以及第i类型的特征域判别结果对应的损失,对第i类型的特征生成器412进行训练;其中,i的取值范围为1至n,n为群体特征的类型的数量。

群体特征提取器440主要用于从图像样本中提取目标对象的真实群体特征。本申请中的特征判别器422还可以用于,对真实群体特征进行群体特征域判别。本申请中的训练模块430还可以用于,根据真实群体特征的群体特征域判别结果对应的损失、以及生成的群体特征的群体特征域判别结果对应的损失,对特征判别器422进行训练。

可选的,本申请的神经网络410中的图像生成器413还可以用于,根据真实群体特征和样本身份特征,生成重建图像。在该应用场景中,图像判别器421可以用于,对图像样本、合成图像以及重建图像分别进行图像域判别。训练模块430可以根据图像样本的图像域判别结果对应的损失、合成图像的图像域判别结果对应的损失、以及重建图像的图像域判别结果对应的损失,对图像判别器421进行训练。

可选的,本申请中的身份特征提取器411还可以用于,分别提取合成图像以及重建图像中的目标对象的身份特征,从而获得第一身份特征和第二身份特征。在该应用场景中,训练模块430可以用于,根据重建图像的图像域判别结果对应的损失、样本身份特征和第一身份特征的差异对应的损失、样本身份特征和第二身份特征的差异对应的损失、以及图像样本和重建图像的差异对应的损失,对图像生成器413进行训练。

可选的,在对待训练的神经网络进行训练时,所采用的身份特征提取器411通常是预训练后的身份特征提取器,而且,预训练后的身份特征提取器仍然可以在神经网络410的训练过程中,得到进一步的训练。

示例性设备

图5示出了适于实现本申请的示例性设备500,设备500可以是汽车中配置的控制系统/电子系统、移动终端(例如,智能移动电话等)、个人计算机(pc,例如,台式计算机或者笔记型计算机等)、平板电脑以及服务器等。图5中,设备500包括一个或者多个处理器、通信部等,所述一个或者多个处理器可以为:一个或者多个中央处理单元(cpu)501,和/或,一个或者多个利用神经网络进行图像生成的图像处理器(gpu)513等,处理器可以根据存储在只读存储器(rom)502中的可执行指令或者从存储部分508加载到随机访问存储器(ram)503中的可执行指令而执行各种适当的动作和处理。通信部512可以包括但不限于网卡,所述网卡可以包括但不限于ib(infiniband)网卡。处理器可与只读存储器502和/或随机访问存储器503中通信以执行可执行指令,通过总线504与通信部512相连、并经通信部512与其他目标设备通信,从而完成本申请中的相应步骤。

上述各指令所执行的操作可以参见上述方法实施例中的相关描述,在此不再详细说明。此外,在ram503中,还可以存储有装置操作所需的各种程序以及数据。cpu501、rom502以及ram503通过总线504彼此相连。

在有ram503的情况下,rom502为可选模块。ram503存储可执行指令,或在运行时向rom502中写入可执行指令,可执行指令使中央处理单元501执行上述物体分割方法所包括的步骤。输入/输出(i/o)接口505也连接至总线504。通信部512可以集成设置,也可以设置为具有多个子模块(例如,多个ib网卡),并分别与总线连接。

以下部件连接至i/o接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至i/o接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装在存储部分508中。

需要特别说明的是,如图5所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图5的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如,gpu513和cpu501可分离设置,再如理,可将gpu513集成在cpu501上,通信部可分离设置,也可集成设置在cpu501或gpu513上等。这些可替换的实施方式均落入本申请的保护范围。

特别地,根据本申请的实施方式,下文参考流程图描述的过程可以被实现为计算机软件程序,例如,本申请实施方式包括一种计算机程序产品,其包含有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的步骤的程序代码,程序代码可包括对应执行本申请提供的方法中的步骤对应的指令。

在这样的实施方式中,该计算机程序可以通过通信部分509从网络上被下载及安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(cpu)501执行时,执行本申请中记载的实现上述相应步骤的指令。

在一个或多个可选实施方式中,本公开实施例还提供了一种计算机程序程序产品,用于存储计算机可读指令,所述指令被执行时使得计算机执行上述任意实施例中所述的图像生成方法或者神经网络的训练方法。

该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选例子中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选例子中,所述计算机程序产品具体体现为软件产品,例如软件开发包(softwaredevelopmentkit,sdk)等等。

在一个或多个可选实施方式中,本公开实施例还提供了另一种图像生成方法和神经网络的训练方法及其对应的装置和电子设备、计算机存储介质、计算机程序以及计算机程序产品,其中的方法包括:第一装置向第二装置发送图像生成指示或者训练神经网络指示,该指示使得第二装置执行上述任一可能的实施例中的图像生成方法或者训练神经网络方法;第一装置接收第二装置发送的图像生成结果或者神经网络训练结果。

在一些实施例中,该图像生成指示或者训练神经网络指示可以具体为调用指令,第一装置可以通过调用的方式指示第二装置执行图像生成操作或者训练神经网络操作,相应地,响应于接收到调用指令,第二装置可以执行上述图像生成方法或者训练神经网络的方法中的任意实施例中的步骤和/或流程。

应理解,本公开实施例中的“第一”、“第二”等术语仅仅是为了区分,而不应理解成对本公开实施例的限定。还应理解,在本公开中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。还应理解,对于本公开中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。

可能以许多方式来实现本申请的方法和装置、电子设备以及计算机可读存储介质。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本申请的方法和装置、电子设备以及计算机可读存储介质。用于方法的步骤的上述顺序仅是为了进行说明,本申请的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施方式中,还可将本申请实施为记录在记录介质中的程序,这些程序包括用于实现根据本申请的方法的机器可读指令。因而,本申请还覆盖存储用于执行根据本申请的方法的程序的记录介质。

本申请的描述,是为了示例和描述起见而给出的,而并不是无遗漏的或者将本申请限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言,是显然的。选择和描述实施方式是为了更好说明本申请的原理以及实际应用,并且使本领域的普通技术人员能够理解本申请实施例可以从而设计适于特定用途的带有各种修改的各种实施方式。

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