具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对特征、数据、元件、装置、模块或单元进行区分,并非用于限定这些特征、数据、元件、装置、模块或单元一定为不同的特征、数据、元件、装置、模块或单元,也并非用于限定这些特征、数据、元件、装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
本公开实施例提供了一种图像处理方法,如图1所示,该方法包括:
步骤S110:获取待处理图像以及预训练的变年龄特效网络,变年龄特效网络对应至少三种年龄;
步骤S120:确定所要变换的目标年龄,并获取目标年龄对应的第一待插值属性,其中,每种年龄对应的第一待插值属性是根据对变年龄特效网络的训练确定的;
步骤S130:通过变年龄特效网络,将待处理图像进行下采样,得到待处理图像的下采样结果,并根据目标年龄对应的第一待插值属性,将下采样结果进行上采样插值,得到变年龄特效图像。
本公开实施例提供的图像处理方法,采用不同的第一待插值属性来表征不同的年龄,在通过变年龄特效网络,将待处理图像进行下采样,得到待处理图像的下采样结果,并据目标年龄对应的第一待插值属性,将下采样结果进行上采样插值后,就可以实现对待处理图像进行变年龄特效处理,得到变年龄特效图像,即实现了图像在不同年龄之间自动转换,为用户提供了一种全新的特效体验。
本公开实施例中,变年龄特效网络是通过以下步骤训练得到的:
步骤S210:获取预构建的对抗生成网络,对抗生成网络包括生成网络、第一判别网络、第二判别网络和第一回归分类网络;通过生成网络,将每个包含年龄信息的样本图像进行下采样,得到相应的图像特征,并将每个样本图像的图像特征进行上采样及年龄插值处理,得到每个样本图像的年龄信息对应的生成图像;通过第一判别网络,对每个样本图像的图像特征的年龄真实性进行判别,得到相应的第一判别结果;通过第二判别网络,对每个样本图像和对应的生成图像的真实性进行判别,得到相应的第二判别结果;通过第一回归分类网络,根据每个样本图像对应的生成图像,得到每个样本图像的年龄信息对应的年龄回归结果;
步骤S220:基于每个样本图像对应的第一判别结果、第二判别结果、年龄回归结果和生成图像,对对抗生成网络进行对抗训练,并将训练后的生成网络确定为变年龄特效网络。
本公开实施例中,样本图像可以为人脸图像,但不限于此,根据应用场景的不同,在其他实施方式中,样本图像也可以包含其他能够区分年龄的特征,例如发色、体态等,或者样本图像还可以为动物图像等。
其中,对抗生成网络可以是基于各种类型的对抗式生成网络(GenerativeAdversarial Nets,GAN)构建的,GAN的主要结构包括一个生成器G(Generator)和一个判别器D(Discriminator)。
对于本公开实施例,如图2所示,定义生成网络来作为生成器G,该网络使用先下采样,后上采样的处理方式,这种处理方式可以更好的表现出样本图像中的潜在特征。具体而言,每次训练时,在下采样阶段,生成网络会由样本图像提取得到图像特征,实际应用中,图像特征可以表现为特征向量的形式。在上采样阶段,生成网络会在图像特征到图像的生成过程中,重新根据样本图像的年龄信息进行图像的年龄插值处理,以使得生成网络学习到生成该年龄信息对应的年龄图像的能力。作为示例地,若此次训练输入生成网络的是年龄信息为20岁的样本图像,生成网络在上采样阶段会对图像进行20岁年龄相关的插值处理,输出为生成网络生成的20岁相关的生成图像,也就是说,生成网络输出的生成图像的年龄与对应的输入的样本图像的年龄信息应是相同或相近的。在利用不同年龄信息的样本图像进行训练后,生成网络便可学习到变换成各种年龄图像的能力。
对于本公开实施例,如图2所示,还定义了两个判别器D,分别为第一判别网络和第二判别网络。其中,每次训练时,第一判别网络用于对图像特征的年龄真实性进行判别。其中,判断结果与样本图像的年龄信息应是相关联的。作为示例地,若此次训练输入生成网络的是年龄信息为20岁的样本图像,则第一判别网络则将图像特征是20岁判别为真的,图像特征是其他年龄判别为假的。第二判别网络用于对样本图像和生成图像的真实性进行判别,即判断样本图像是真的(Real)还是假的(Fake),以及生成图像是真的还是假的。
对于本公开实施例,如图2所示,还定义了一个回归分类器,即第一回归分类网络,用于辅助训练。每次训练时,第一回归分类网络用于对生成图像的年龄进行回归,得到生成图像的年龄回归结果。因为年龄属于连续值,因此要采用回归式的分类器来回归生成图像的真实年龄。由于生成网络输出的生成图像的年龄与对应的输入的样本图像的年龄信息应是相同或相近的,即生成图像的年龄回归结果与对应的输入的样本图像的年龄是相同或相近的。作为示例地,若此次训练输入生成网络的是年龄信息为20岁的样本图像,则第一回归分类网络得到的生成图像的年龄回归结果应与20岁相同或相近。
本公开实施例中,步骤S220的对抗训练具体可采用如下流程:
初始化生成网络的网络参数、第一判别网络的网络参数、第二判别网络的网络参数和第一回归分类网络的网络参数。
基于m组样本图像{a
1,a
2,…,a
m},以及从生成网络得到的m个图像特征{z
1,z
2,…,z
m}、m个生成图像
进行对抗训练。
训练第一判别网络尽可能准确地分辨出图像特征的真实年龄;训练生成网络尽可能地让图像特征远离年龄信息,相当于尽量使得第一判别网络对图像特征的年龄判别错误。以及训练第二判别网络尽可能准确地区分真实的样本(样本图像)和生成的样本(生成图像);训练生成网络尽可能地模糊生成的样本(生成图像)与真实的样本之间(样本图像)的差别,也相当于尽量使得第二判别网络判别错误。训练第一回归分类网络尽可能对生成图像分类准确。也就是说,生成网络在对抗训练的过程中可以提高生成能力,第一判别网络和第二判别网络可以提高判别能力,第一回归分类网络可以提高回归分类能力。
多次更新迭代之后,最终理想情况是第一判别网络判别不出图像特征的真实年龄,第二判别网络判别不出样本是生成的样本还是真实的样本。
由于经过对抗训练,生成网络的生成能力达到了理想状态,将训练后的生成网络确定为变年龄特效网络,能够实现良好的图像变年龄特效效果。
本公开实施例提供的图像处理方法,在训练变年龄特效网络时采用预构建的对抗生成网络,通过在样本图像的图像特征层面和生成图像层面一起做对抗训练,使得对抗生成网络中的生成网络可以有效提升生成目标年龄的生成图像的能力,在将训练后的生成网络作为变年龄特效网络对待处理图像进行变年龄特效处理,得到变年龄特效图像时,便可实现图像在不同年龄之间自动转换,为用户提供了一种全新的特效体验。
本公开实施例中,为生成网络上采样阶段的变年龄处理提供了一种可行的实现方式,具体而言,包括如下步骤:
步骤SA:根据每个样本图像的年龄信息,确定每个样本图像的年龄信息对应的预设的第二待插值属性;
步骤SB:根据每个样本图像的第二待插值属性,对每个样本图像的图像特征进行上采样插值,得到每个样本图像的年龄信息对应的生成图像。
本公开实施例中,对于步骤SA,具体是根据年龄信息表征的样本图像的年龄,来确定出第二待插值属性。
其中,本来领域技术人员可以根据实际情况来设置不同年龄对应的第二待插值属性,具体地:
一种可行的实施方式中,将每种年龄对应设置一种插值属性,作为示例地,将1岁的插值属性设为1,2岁的插值属性设为2等,以此类推。对于这种实施方式,生成网络在上采样阶段会对图像进行年龄信息对应的年龄的插值处理。例如若此次训练输入生成网络的是年龄信息为20岁的样本图像,生成网络在上采样阶段会对图像进行20岁年龄的插值处理,输出为生成网络生成的20岁的生成图像。
具体而言,该实施方式中,可以预设每种年龄与对应的插值属性的映射关系,则步骤SA可以包括步骤:根据每种年龄与对应的插值属性的映射关系,将每个样本图像的年龄对应的插值属性确定为该每个样本图像的第二待插值属性。
另一种可行的实施方式中,对每种年龄段对应设置一种插值属性,作为示例地,将1~10岁的插值属性设为0,11~20岁的插值属性设为1等,以此类推。对于这种实施方式,生成网络在上采样阶段会对图像进行年龄信息对应的年龄段的插值处理。例如若此次训练输入生成网络的是年龄信息为20岁的样本图像,生成网络在上采样阶段会对图像进行11~20岁年龄段的插值处理,输出为生成网络生成的11~20岁年龄段的生成图像。
由于生成网络在对抗训练过程中会自动学习到插值属性与不同年龄或不同年龄段的关联关系,因此在训练完成后,不同的插值属性便可用来表征不同年龄或不同年龄段。
具体而言,该实施方式中,可以预设年龄分段模型来关联每种年龄所分到的年龄段,本领域技术人员可以根据事情情况对年龄分段模型的分段间隔和范围进行设置。还可以预设每种年龄段与对应的插值属性的映射关系,则步骤SA可以包括步骤:
根据预设的年龄分段模型,确定每个样本图像的年龄信息所对应的目标年龄段;
根据预设的年龄段与插值属性映射关系,将每个样本图像对应的目标年龄段对应的插值属性确定为每个样本图像的第二待插值属性。
本公开实施例中,生成网络通过学习对图像进行年龄段的插值处理,可以利用更少的样本图像来训练得到变化情况更完善的变年龄特性网络,提升变年龄特性的变化覆盖率。
本公开实施例中,对于步骤SB,可以将第二待插值属性通过通道的形式在上采样过程中进行插入。
具体而言,上采样时,在图像特征原有的通道层数上,额外增加一层通道,用于填充第二待插值属性。
例如以20岁的插值属性设是1为例,假设图像特征包括4个通道的8×8的特征图(即尺寸为4×8×8),在此次训练输入生成网络的是年龄信息为20岁的样本图像,确定出的样本图像的第二待插值属性为1后,上采样会插入一层均为1的通道,最终得到5个通道的8×8的特征图(即尺寸为5×8×8)。
本领域技术人员可以理解的是,样本图像的年龄信息隐藏在原通道中(即上例中的4个通道的8×8的特征图中),通过生成网络与第一判别网络的对抗训练,能够使得下采样阶段去掉原通道中年龄信息,即得到没有年龄信息的图像特征,继而在上采样阶段插入生成网络学习到的表征年龄的插值属性,便可利用插值属性来决定生成图像的年龄。
本公开实施例中,为对抗训练过程提供了对应的损失函数,用于训练过程中更好地优化对抗生成网络。
具体而言,步骤S220包括如下步骤:
步骤S221:根据每个样本图像对应的第一判别结果来确定相应的图像特征对应的真实年龄损失和虚假年龄损失;
其中,由于第一判别网络需要将m个图像特征的年龄判断为真(与样本图像的年龄信息相同时为真,真概率为1),但实际训练过程中,每个图像特征的年龄被第一判别网络判别为真的概率可能不为1,此时可以基于对图像特征的年龄的真假概率的判断来确定一个对抗损失,本公开实施例中将其定义为图像特征对应的真实年龄损失,为便于描述,下文中将图像特征对应的真实年龄损失简称为L3_loss1。
由于生成网络需要尽可能地让图像特征远离年龄信息,相当于尽量使得第一判别网络对图像特征的年龄判别错误,将m个图像特征的年龄判断为假。此时可以基于生成网络导致的对图像特征的年龄的真假概率的判断(错误的判断)来确定一个对抗损失,本公开实施例中将其定义为图像特征对应的虚假年龄损失,为便于描述,下文中将图像特征对应的虚假年龄损失简称为L3_loss2。
步骤S222:根据每个样本图像对应的第二判别结果来确定相应的样本图像对应的真样本损失、生成图像对应的假样本真实损失和生成图像对应的假样本虚假损失;
其中,由于第二判别网络需要将m个样本图像均判断为真样本(即真实的样本,真的概率为1),但实际训练过程中,每个样本图像被第二判别网络判别为真的概率可能不为1,此时可以基于对样本图像的真假概率的判断来确定一个对抗损失,本公开实施例中将其定义为样本图像对应的真样本损失,为便于描述,下文中将样本图像对应的真样本损失简称为L2_loss1。
由于第二判别网络需要将m个生成图像均判断为假样本(即生成的样本,真的概率为0),但实际训练过程中,每个生成图像被第二判别网络判别为真的概率可能不为0。此时可以基于对生成图像的真假概率的判断来确定一个对抗损失,本公开实施例中将其定义为生成图像对应的假样本真实损失,为便于描述,下文中将生成图像对应的假样本真实损失简称为L2_loss2。
由于生成网络需要尽可能地模糊生成的样本(生成图像)与真实的样本之间(样本图像)的差别,即生成网络尽量使得第二判别网络判断错误,将m个生成图像均判断为真样本。此时可以基于生成网络导致的对生成图像的真假概率的判断(错误的判断)来确定一个对抗损失,本公开实施例中将其定义为生成图像对应的假样本虚假损失,为便于描述,下文中将生成图像对应的假样本虚假损失简称为L2_loss3。
实际应用中,这三个损失均可以基于最小二乘损失函数进行计算,但不限于此。
步骤S223:根据每个样本图像对应的年龄回归结果来确定相应的年龄回归损失;
由于第一回归分类网络需要尽可能对生成图像的年龄回归准确,此时会产生一个回归损失,本公开实施例中将其定义为生成图像的年龄回归损失,为便于描述,下文中将年龄回归损失简称为L4_loss。
本公开实施例中,针对每个样本图像,基于预设的绝对损失函数,根据对应的年龄信息及年龄回归结果来确定相应的年龄回归损失。具体而言,可以针对每个样本图像,确定对应的年龄信息及年龄回归结果的年龄值差距;基于预设的绝对损失函数和年龄值差距来确定相应的年龄回归损失。
具体地,可以当年龄值差距小于等于阈值时,使用绝对损失函数中的平方损失函数来计算年龄回归损失;当年龄值差距大于阈值时,使用绝对损失函数中的绝对值损失函数来计算年龄回归损失。
本领域技术人员可以根据实际情况对阈值以及绝对损失函数中的常常数进行设置,本公开实施例在此不作限定。作为示例地,假设年龄值差距为x,阈值为1,则年龄回归损失可以为:
本公开实施例中,使用绝对损失函数来计算年龄回归损失,可以使得训练初期的训练更加稳定,训练后期更易收敛,从而使训练达到更高的精度。
步骤S224:确定每个样本图像与对应的生成图像之间的图像损失;
其中,对于本领域技术人员而言清楚的是,由于生成图像是由对应的样本图像经过下采样再上采样得到的,那么每个样本图像和对应的生成图像的像素尺寸是相同的,例如a
1和
的像素尺寸是相同的。但实际训练过程中,每个样本图像和对应的生成图像之间内容会存在不同,可以针对对应的样本图像与生成图像,逐一比对其中相同的像素,确定每个像素的差值,再根据每个像素的差值来确定样本图像与生成图像之间的图像损失。
一种可行的实现方式中,将每个像素的差值进行求和,即可得到样本图像与生成图像之间的图像损失。
下文中为便于描述,将样本图像与生成图像之间的图像损失简称为L1_loss。
步骤S225:根据每个样本图像对应的真实年龄损失、虚假年龄损失、真样本损失、假样本真实损失、假样本虚假损失、年龄回归损失和图像损失,对对抗生成网络进行优化。
一种可行的实现方式中,对每次训练的L1_loss、L2_loss1、L2_loss2、L2_loss3、L3_loss1、L3_loss2和L4_loss进行融合,例如加权融合、相加、求均值或其他融合方式等,得到对应的总损失。在该步骤中,根据每次训练的总损失来对对抗生成网络进行优化,逐步得到最佳的训练效果。
另外,本公开实施例提供的上述训练过程,还可以包括步骤:获取预训练的第二回归分类网络;通过第二回归分类网络,对图像数据标注年龄信息,得到每个包含年龄信息的样本图像。
其中,该第二回归分类网络是用公开的数据集训练好的,作为评价指标,用于分辨图像的年龄信息。因为年龄属于连续值,因此要采用回归式的分类器来回归图像的年龄信息。本公开实施例中,不对年龄信息的具体形式进行限定,例如可直接采用年龄对应的数字进行标注,也可以采用其他类型的标注信息。
利用第二回归分类网络对各种来源的图像数据来标注年龄信息,便可得到大量包含年龄信息的样本图像,用于步骤S210至步骤S220中进行处理。
基于本公开的上述各实施例,本公开实施例还提供了一种训练模型,该模型包括:生成网络、第一判别网络、第二判别网络和第一回归分类网络,生成网络用于将每个包含年龄信息的样本图像进行下采样,得到相应的图像特征,并将每个样本图像的图像特征进行上采样及年龄插值处理,得到每个样本图像的年龄信息对应的生成图像,第一判别网络用于对每个样本图像的图像特征的年龄真实性进行判别,得到相应的第一判别结果,第二判别网络用于分别对每个样本图像和对应的生成图像的真实性进行判别,得到相应的第二判别结果,第一回归分类网络用于根据每个样本图像对应的生成图像,得到每个样本图像的年龄信息对应的年龄回归结果;
如图3所示,生成网络分别与第一判别网络、第二判别网络和第一回归分类网络相连,以使得基于每个样本图像对应的第一判别结果、第二判别结果、年龄回归结果和生成图像,对对抗生成网络进行对抗训练,得到训练后的生成网络。
进一步地,该训练模型可以还包括第二回归分类网络,第二回归分类网络与生成网络相连,用于对图像数据标注年龄信息,得到每个包含年龄信息的样本图像。
本公开实施例所提供的训练模型,其实现原理及产生的技术效果和前述各方法实施例中的对抗生成网络相同,为简要描述,本实施例部分未提及之处,可参考前述方法实施例中相应内容,在此不再赘述。
基于本公开的上述各实施例,本公开实施例中,变年龄特效的处理指令可以通过用户在终端设备上的操作发出。其中,终端设备包括但不限于移动终端、智能终端等,例如移动电话、智能电话、平板电脑、笔记本电脑、个人数字助理、便携式多媒体播放器、导航装置等。本领域技术人员可以理解的是,除了特别用于移动目的的元件之外,根据本公开实施例的构造也能够应用于固定类型的终端,诸如数字电视、台式计算机等。
本公开实施例中,该方法的执行主体可以为该终端设备,或为安装于该终端设备上的应用程序。具体地,在接收到变年龄特效的处理指令后,在步骤S110中,获取该处理指令对应的待处理图像,以及获取采用本公开上述任一实施例中所提供的训练步骤训练得到的变年龄特效网络。
进一步地,在步骤S120中,还需确定所要变换的目标年龄,并获取目标年龄对应的第一待插值属性;其中,每种年龄对应的待插值属性是如何设置的可参见上文中训练阶段的描述,在此不再赘述。具体地,当该处理指令中包含所要变换的目标年龄的年龄信息时,可以根据该处理指令确定目标年龄及相应的第一待插值属性。例如该处理指令指明要变成50岁时,可以确定目标年龄为50岁,相应的第一待插值属性为50岁对应的插值属性,或为41-50岁年龄段对应的插值属性。这种情况下,无需关注待处理图像的年龄信息,也就是说,无论待处理图像为多少年龄,最终都会变成处理指令对应的年龄。当该处理指令中不包含所要变换的目标年龄的年龄信息时,可以直接确定缺省的目标年龄及相应的第一待插值属性,例如预设缺省的目标年龄为71-80岁年龄段等。
实际应用中,所变年龄的年龄信息可以为一个或多个,例如从10岁逐渐变到80岁等。此时可以根据多个年龄信息,依次确定对应的多个第一待插值属性,并依次进行处理。
进一步地,在步骤S130中,通过获取的变年龄特效网络来对待处理图像进行变年龄特效处理。具体地,通过变年龄特效网络对待处理图像进行下采样,得到待处理图像的下采样结果,结合上文可知,下采样结果为远离年龄信息的图像特征,随后根据目标年龄对应的第一待插值属性,将下采样结果进行上采样插值,便可得到变年龄特效图像。其中,上采样插值的方式可参见上文中对生成网络的介绍,在此不再赘述。
进一步地,在得到变年龄特效图像之后,还可以包括步骤:将变年龄特效图像在显示屏幕上进行展示。
或者,该方法的执行主体可以为服务器,在接收到终端设备发出的变年龄特效的处理指令后,与终端设备类似的,接收该处理指令对应的待处理图像,以及获取采用本公开上述任一实施例中所提供的训练步骤训练得到的变年龄特效网络,并根据处理指令或待处理图像确定所要变换的目标年龄,并获取目标年龄对应的第一待插值属性,通过变年龄特效网络对待处理图像进行下采样,得到待处理图像的下采样结果,随后根据目标年龄对应的第一待插值属性,将下采样结果进行上采样插值,便可得到变年龄特效图像。而对于服务器,还需要将变年龄特效图像发送给终端设备进行展示。
需要说明的是,上述第一待插值属性和第二待插值属性仅表示对训练阶段和应用阶段的年龄插值属性进行区分,而不能理解为对插值属性的限定。实际应用中,第一待插值属性和第二待插值属性的表达形式均是根据对生成网络的设置决定的。
本公开实施例中,待处理图像的类型应与参与样本图像的类型相同或相近,具体可参见对样本图像的介绍,在此不再赘述。
实际应用中,待处理图像的数量可以为一个或多个。当待处理图像的数量为多个时,待处理图像也可以为待处理视频。其中,对于待处理视频中的每一帧图像,都可以采用上述图像处理方法进行处理,以得到变年龄特效视频。
本领域技术人员可以理解的是,得到的变年龄特效图像与待处理图像乃是年龄不同的同一张人脸。实际应用中,通过本公开实施例提供的图像处理方法处理得到的特效图像,比原图(待处理图像)的清晰度与锐化程度更高。
本公开实施例还提供了一种图像处理装置,如图4所示,该图像处理装置40可以包括:获取模块410、确定模块420以及特效处理模块430,其中,
获取模块410用于获取待处理图像以及预训练的变年龄特效网络,变年龄特效网络对应至少三种年龄;
确定模块420用于确定所要变换的目标年龄,并获取目标年龄对应的第一待插值属性,其中,每种年龄对应的第一待插值属性是根据对变年龄特效网络的训练确定的;
特效处理模块430用于通过变年龄特效网络,将待处理图像进行下采样,得到待处理图像的下采样结果,并根据目标年龄对应的第一待插值属性,将下采样结果进行上采样插值,得到变年龄特效图像。
在一种可选的实现方式中,变年龄特效网络是通过以下步骤训练得到的:
获取预构建的对抗生成网络,对抗生成网络包括生成网络、第一判别网络、第二判别网络和第一回归分类网络;
通过生成网络,将每个包含年龄信息的样本图像进行下采样,得到相应的图像特征,并将每个样本图像的图像特征进行上采样及年龄插值处理,得到每个样本图像的年龄信息对应的生成图像;
通过第一判别网络,对每个样本图像的图像特征的年龄真实性进行判别,得到相应的第一判别结果;
通过第二判别网络,对每个样本图像和对应的生成图像的真实性进行判别,得到相应的第二判别结果;
通过第一回归分类网络,根据每个样本图像对应的生成图像,得到每个样本图像的年龄信息对应的年龄回归结果;
基于每个样本图像对应的第一判别结果、第二判别结果、年龄回归结果和生成图像,对对抗生成网络进行对抗训练,并将训练后的生成网络确定为变年龄特效网络。
在一种可选的实现方式中,将每个样本图像的图像特征进行上采样及年龄插值处理,得到每个样本图像的年龄信息对应的生成图像,包括:
根据每个样本图像的年龄信息,确定每个样本图像的年龄信息对应的预设的第二待插值属性;
根据每个样本图像的第二待插值属性,对每个样本图像的图像特征进行上采样插值,得到每个样本图像的年龄信息对应的生成图像。
在一种可选的实现方式中,根据每个样本图像的年龄信息,确定每个样本图像的年龄信息对应的预设的第二待插值属性,包括:
根据预设的年龄分段模型,确定每个样本图像的年龄信息所对应的目标年龄段;
根据预设的年龄段与插值属性映射关系,将每个样本图像对应的目标年龄段对应的插值属性确定为每个样本图像的第二待插值属性。
在一种可选的实现方式中,基于每个样本图像对应的第一判别结果、第二判别结果、年龄回归结果和生成图像,对对抗生成网络进行对抗训练,包括:
根据每个样本图像对应的第一判别结果来确定相应的图像特征对应的真实年龄损失和虚假年龄损失;
根据每个样本图像对应的第二判别结果来确定相应的样本图像对应的真样本损失、生成图像对应的假样本真实损失和生成图像对应的假样本虚假损失;
根据每个样本图像对应的年龄回归结果来确定相应的年龄回归损失;
确定每个样本图像与对应的生成图像之间的图像损失;
根据每个样本图像对应的真实年龄损失、虚假年龄损失、真样本损失、假样本真实损失、假样本虚假损失、年龄回归损失和图像损失,对对抗生成网络进行优化。
在一种可选的实现方式中,根据每个样本图像对应的年龄回归结果来确定相应的年龄回归损失,包括:
针对每个样本图像,基于预设的绝对损失函数,根据对应的年龄信息及年龄回归结果来确定相应的年龄回归损失。
在一种可选的实现方式中,基于预设的绝对损失函数,根据对应的年龄信息及年龄回归结果来确定相应的年龄回归损失,包括:
确定对应的年龄信息及年龄回归结果的年龄值差距;
当年龄值差距小于等于阈值时,使用绝对损失函数中的平方损失函数来计算年龄回归损失;
当年龄值差距大于阈值时,使用绝对损失函数中的绝对值损失函数来计算年龄回归损失。
在一种可选的实现方式中,还包括:
获取预训练的第二回归分类网络;
通过第二回归分类网络,对图像数据标注年龄信息,得到每个包含年龄信息的样本图像。
本公开实施例所提供的图像处理装置,可以为设备上的特定硬件或者安装于设备上的软件或固件等,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,设备实施例部分未提及之处,可参考前述方法实施例中相应内容,在此不再赘述。
其中,对于变年龄特效网络的训练,本公开实施例还提供了一种训练装置,该训练装置可以包括:网络获取模块和网络训练模块,其中,
网络获取模块用于获取预构建的对抗生成网络,对抗生成网络包括生成网络、第一判别网络、第二判别网络和第一回归分类网络;
生成网络用于将每个包含年龄信息的样本图像进行下采样,得到相应的图像特征,并将每个样本图像的图像特征进行上采样及年龄插值处理,得到每个样本图像的年龄信息对应的生成图像;
第一判别网络用于对每个样本图像的图像特征的年龄真实性进行判别,得到相应的第一判别结果;
第二判别网络用于对每个样本图像和对应的生成图像的真实性进行判别,得到相应的第二判别结果;
第一回归分类网络用于根据每个样本图像对应的生成图像,得到每个样本图像的年龄信息对应的年龄回归结果;
网络训练模块用于基于每个样本图像对应的第一判别结果、第二判别结果、年龄回归结果和生成图像,对对抗生成网络进行对抗训练,并将训练后的生成网络确定为变年龄特效网络。
在一种可选的实现方式中,生成网络在用于将每个样本图像的图像特征进行上采样及年龄插值处理,得到每个样本图像的年龄信息对应的生成图像时,具体用于:
根据每个样本图像的年龄信息,确定每个样本图像的年龄信息对应的预设的第二待插值属性;
根据每个样本图像的第二待插值属性,对每个样本图像的图像特征进行上采样插值,得到每个样本图像的年龄信息对应的生成图像。
在一种可选的实现方式中,生成网络在用于根据每个样本图像的年龄信息,确定每个样本图像的年龄信息对应的预设的第二待插值属性时,具体用于:
根据预设的年龄分段模型,确定每个样本图像的年龄信息所对应的目标年龄段;
根据预设的年龄段与插值属性映射关系,将每个样本图像对应的目标年龄段对应的插值属性确定为每个样本图像的第二待插值属性。
在一种可选的实现方式中,网络训练模块在用于基于每个样本图像对应的第一判别结果、第二判别结果、年龄回归结果和生成图像,对对抗生成网络进行对抗训练时,具体用于:
根据每个样本图像对应的第一判别结果来确定相应的图像特征对应的真实年龄损失和虚假年龄损失;
根据每个样本图像对应的第二判别结果来确定相应的样本图像对应的真样本损失、生成图像对应的假样本真实损失和生成图像对应的假样本虚假损失;
根据每个样本图像对应的年龄回归结果来确定相应的年龄回归损失;
确定每个样本图像与对应的生成图像之间的图像损失;
根据每个样本图像对应的真实年龄损失、虚假年龄损失、真样本损失、假样本真实损失、假样本虚假损失、年龄回归损失和图像损失,对对抗生成网络进行优化。
在一种可选的实现方式中,网络训练模块在用于根据每个样本图像对应的年龄回归结果来确定相应的年龄回归损失时,具体用于:
针对每个样本图像,基于预设的绝对损失函数,根据对应的年龄信息及年龄回归结果来确定相应的年龄回归损失。
在一种可选的实现方式中,网络训练模块在用于基于预设的绝对损失函数,根据对应的年龄信息及年龄回归结果来确定相应的年龄回归损失时,具体用于:
确定对应的年龄信息及年龄回归结果的年龄值差距;
当年龄值差距小于等于阈值时,使用绝对损失函数中的平方损失函数来计算年龄回归损失;
当年龄值差距大于阈值时,使用绝对损失函数中的绝对值损失函数来计算年龄回归损失。
在一种可选的实现方式中,网络获取模块还用于:
获取预训练的第二回归分类网络;
通过第二回归分类网络,对图像数据标注年龄信息,得到每个包含年龄信息的样本图像。
本公开实施例所提供的训练装置,可以为设备上的特定硬件或者安装于设备上的软件或固件等,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,设备实施例部分未提及之处,可参考前述方法实施例中相应内容,在此不再赘述。
下面参考图5,其示出了适于用来实现本公开实施例的电子设备50的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
电子设备包括:存储器以及处理器,其中,这里的处理器可以称为下文的处理装置501,存储器可以包括下文中的只读存储器(ROM)502、随机访问存储器(RAM)503以及存储装置508中的至少一项,具体如下所示:
如图5所示,电子设备50可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备50操作所需的各种程序和数据。处理装置501、ROM502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备50与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备50,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行本公开上述任一实施例所示的图像处理方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块或单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,示例1提供了一种图像处理方法,该方法包括:
获取待处理图像以及预训练的变年龄特效网络,变年龄特效网络对应至少三种年龄;
确定所要变换的目标年龄,并获取目标年龄对应的第一待插值属性,其中,每种年龄对应的第一待插值属性是根据对变年龄特效网络的训练确定的;
通过变年龄特效网络,将待处理图像进行下采样,得到待处理图像的下采样结果,并根据目标年龄对应的第一待插值属性,将下采样结果进行上采样插值,得到变年龄特效图像。
在一种可选的实现方式中,,变年龄特效网络是通过以下步骤训练得到的:
获取预构建的对抗生成网络,对抗生成网络包括生成网络、第一判别网络、第二判别网络和第一回归分类网络;
通过生成网络,将每个包含年龄信息的样本图像进行下采样,得到相应的图像特征,并将每个样本图像的图像特征进行上采样及年龄插值处理,得到每个样本图像的年龄信息对应的生成图像;
通过第一判别网络,对每个样本图像的图像特征的年龄真实性进行判别,得到相应的第一判别结果;
通过第二判别网络,对每个样本图像和对应的生成图像的真实性进行判别,得到相应的第二判别结果;
通过第一回归分类网络,根据每个样本图像对应的生成图像,得到每个样本图像的年龄信息对应的年龄回归结果;
基于每个样本图像对应的第一判别结果、第二判别结果、年龄回归结果和生成图像,对对抗生成网络进行对抗训练,并将训练后的生成网络确定为变年龄特效网络。
在一种可选的实现方式中,将每个样本图像的图像特征进行上采样及年龄插值处理,得到每个样本图像的年龄信息对应的生成图像,包括:
根据每个样本图像的年龄信息,确定每个样本图像的年龄信息对应的预设的第二待插值属性;
根据每个样本图像的第二待插值属性,对每个样本图像的图像特征进行上采样插值,得到每个样本图像的年龄信息对应的生成图像。
在一种可选的实现方式中,根据每个样本图像的年龄信息,确定每个样本图像的年龄信息对应的预设的第二待插值属性,包括:
根据预设的年龄分段模型,确定每个样本图像的年龄信息所对应的目标年龄段;
根据预设的年龄段与插值属性映射关系,将每个样本图像对应的目标年龄段对应的插值属性确定为每个样本图像的第二待插值属性。
在一种可选的实现方式中,基于每个样本图像对应的第一判别结果、第二判别结果、年龄回归结果和生成图像,对对抗生成网络进行对抗训练,包括:
根据每个样本图像对应的第一判别结果来确定相应的图像特征对应的真实年龄损失和虚假年龄损失;
根据每个样本图像对应的第二判别结果来确定相应的样本图像对应的真样本损失、生成图像对应的假样本真实损失和生成图像对应的假样本虚假损失;
根据每个样本图像对应的年龄回归结果来确定相应的年龄回归损失;
确定每个样本图像与对应的生成图像之间的图像损失;
根据每个样本图像对应的真实年龄损失、虚假年龄损失、真样本损失、假样本真实损失、假样本虚假损失、年龄回归损失和图像损失,对对抗生成网络进行优化。
在一种可选的实现方式中,根据每个样本图像对应的年龄回归结果来确定相应的年龄回归损失,包括:
针对每个样本图像,基于预设的绝对损失函数,根据对应的年龄信息及年龄回归结果来确定相应的年龄回归损失。
在一种可选的实现方式中,基于预设的绝对损失函数,根据对应的年龄信息及年龄回归结果来确定相应的年龄回归损失,包括:
确定对应的年龄信息及年龄回归结果的年龄值差距;
当年龄值差距小于等于阈值时,使用绝对损失函数中的平方损失函数来计算年龄回归损失;
当年龄值差距大于阈值时,使用绝对损失函数中的绝对值损失函数来计算年龄回归损失。
在一种可选的实现方式中,该方法还包括:
获取预训练的第二回归分类网络;
通过第二回归分类网络,对图像数据标注年龄信息,得到每个包含年龄信息的样本图像。
根据本公开的一个或多个实施例,示例2提供了示例1的图像处理装置,该装置包括:
获取模块,用于获取待处理图像以及预训练的变年龄特效网络,变年龄特效网络对应至少三种年龄;
确定模块,用于确定所要变换的目标年龄,并获取目标年龄对应的第一待插值属性,其中,每种年龄对应的第一待插值属性是根据对变年龄特效网络的训练确定的;
特效处理模块,用于通过变年龄特效网络,将待处理图像进行下采样,得到待处理图像的下采样结果,并根据目标年龄对应的第一待插值属性,将下采样结果进行上采样插值,得到变年龄特效图像。
在一种可选的实现方式中,,变年龄特效网络是通过以下步骤训练得到的:
获取预构建的对抗生成网络,对抗生成网络包括生成网络、第一判别网络、第二判别网络和第一回归分类网络;
通过生成网络,将每个包含年龄信息的样本图像进行下采样,得到相应的图像特征,并将每个样本图像的图像特征进行上采样及年龄插值处理,得到每个样本图像的年龄信息对应的生成图像;
通过第一判别网络,对每个样本图像的图像特征的年龄真实性进行判别,得到相应的第一判别结果;
通过第二判别网络,对每个样本图像和对应的生成图像的真实性进行判别,得到相应的第二判别结果;
通过第一回归分类网络,根据每个样本图像对应的生成图像,得到每个样本图像的年龄信息对应的年龄回归结果;
基于每个样本图像对应的第一判别结果、第二判别结果、年龄回归结果和生成图像,对对抗生成网络进行对抗训练,并将训练后的生成网络确定为变年龄特效网络。
在一种可选的实现方式中,将每个样本图像的图像特征进行上采样及年龄插值处理,得到每个样本图像的年龄信息对应的生成图像,包括:
根据每个样本图像的年龄信息,确定每个样本图像的年龄信息对应的预设的第二待插值属性;
根据每个样本图像的第二待插值属性,对每个样本图像的图像特征进行上采样插值,得到每个样本图像的年龄信息对应的生成图像。
在一种可选的实现方式中,根据每个样本图像的年龄信息,确定每个样本图像的年龄信息对应的预设的第二待插值属性,包括:
根据预设的年龄分段模型,确定每个样本图像的年龄信息所对应的目标年龄段;
根据预设的年龄段与插值属性映射关系,将每个样本图像对应的目标年龄段对应的插值属性确定为每个样本图像的第二待插值属性。
在一种可选的实现方式中,基于每个样本图像对应的第一判别结果、第二判别结果、年龄回归结果和生成图像,对对抗生成网络进行对抗训练,包括:
根据每个样本图像对应的第一判别结果来确定相应的图像特征对应的真实年龄损失和虚假年龄损失;
根据每个样本图像对应的第二判别结果来确定相应的样本图像对应的真样本损失、生成图像对应的假样本真实损失和生成图像对应的假样本虚假损失;
根据每个样本图像对应的年龄回归结果来确定相应的年龄回归损失;
确定每个样本图像与对应的生成图像之间的图像损失;
根据每个样本图像对应的真实年龄损失、虚假年龄损失、真样本损失、假样本真实损失、假样本虚假损失、年龄回归损失和图像损失,对对抗生成网络进行优化。
在一种可选的实现方式中,根据每个样本图像对应的年龄回归结果来确定相应的年龄回归损失,包括:
针对每个样本图像,基于预设的绝对损失函数,根据对应的年龄信息及年龄回归结果来确定相应的年龄回归损失。
在一种可选的实现方式中,基于预设的绝对损失函数,根据对应的年龄信息及年龄回归结果来确定相应的年龄回归损失,包括:
确定对应的年龄信息及年龄回归结果的年龄值差距;
当年龄值差距小于等于阈值时,使用绝对损失函数中的平方损失函数来计算年龄回归损失;
当年龄值差距大于阈值时,使用绝对损失函数中的绝对值损失函数来计算年龄回归损失。
在一种可选的实现方式中,还包括:
获取预训练的第二回归分类网络;
通过第二回归分类网络,对图像数据标注年龄信息,得到每个包含年龄信息的样本图像。
根据本公开的一个或多个实施例,示例3提供了一种电子设备,该电子设备包括:
处理器和存储器,该存储器存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如本公开示例1或示例1任一可选的实现方式中所示的方法。
根据本公开的一个或多个实施例,示例4提供了一种计算机可读介质,该计算机可读介质用于存储计算机指令、程序、代码集或指令集,当其在计算机上运行时,使得计算机执行如本公开示例1或示例1任一可选的实现方式中所示的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。