发明内容
本发明实施方式的目的在于提供一种人脸图像年龄迁移网络的训练方法、终端和存储介质,使得确定的人脸图像年龄迁移网络能够准确预测迁移到不同年龄的人脸图像,提高人脸图像的迁移的准确性。
为解决上述技术问题,本发明的实施方式提供了一种人脸图像年龄迁移网络的训练方法,包括:训练用于预测残差图像的第一残差预测网络和第二残差预测网络,残差图像为人脸的初始年龄图像与人脸的目标年龄图像之间的差异图像,其中,第一残差预测网络的验证训练样本为人脸初始年龄训练图像与人脸目标年龄训练图像之间差异构成的真实残差图像,第二残差预测网络的验证训练样本为标准脸初始年龄图像与标准脸目标年龄图像之间差异构成的标准脸残差图像;根据第一残差预测网络输出的第一残差图像和第二残差预测网络输出的第二残差图像,迭代调整第一残差预测网络的网络参数,得到目标残差预测网络;根据目标残差预测网络确定人脸图像年龄迁移网络。
本发明的实施方式还提供了一种终端,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的人脸图像年龄迁移网络的训练方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的人脸图像年龄迁移网络的训练方法。
本发明实施方式相对于现有技术而言,第二残差预测网络的验证训练样本为标准脸初始年龄图像与标准脸目标年龄图像之间差异构成的标准残差图像,使得该第二残差预测网络输出的残差图像与标准脸残差图像接近,而第一残差预测网络的验证训练样本为真实残差图像,使得输出的第一残差图像与真实的残差图像接近;由于第二残差图像与标准脸残差图像接近,结合第一残差图像和第二残差图像,迭代调整第一残差预测网络,获得目标残差网络,从而实现将标准脸残差图像的人脸标准知识迁移至目标残差网络,从而可以减少目标残差网络输出扭曲的残差图像的概率,提高了目标残差预测网络预测的残差图像的准确性,进而提高了基于该目标残差网络确定的人脸图像年龄迁移网络的准确性;同时由于标准脸残差图像数量有限,使得可以快速训练得到第二残差预测网络,而引入第二残差图像,加快第一残差预测网络的收敛速度,进而提高训练人脸图像年龄迁移网络的速度。
另外,根据第一残差图像和第二残差图像,迭代调整第一残差预测网络的网络参数,得到目标残差预测网络,具体包括:根据第一残差图像和第二残差图像,确定目标损失函数;根据目标损失函数,迭代调整第一残差预测网络的网络参数,直至第一残差预测网络收敛,得到目标残差预测网络。通过确定目标损失函数,可以快速确定调整的梯度和第一残差预测网络的优化方向,进而加快调整第一残差预测网络的速度。
另外,第一残差预测网络和第二残差预测网络的人脸图像训练样本均包括:人脸初始年龄训练图像和对应的人脸目标年龄训练图像;根据第一残差图像和第二残差图像,确定目标损失函数,具体包括:确定第一残差图像和第二残差图像之间差异的第一距离函数;根据第一残差图像和人脸初始年龄训练图像,生成人脸目标年龄的迁移图像;确定人脸目标年龄的迁移图像以及人脸目标年龄训练图像之间差异的第二距离函数;按照第一距离函数和第二距离函数各自对应的权重叠加,得到目标损失函数。第一距离函数用于表征第一残差图像和第二残差图像之间的差异,而第二距离函数用于表征人脸目标年龄的迁移图像以及人脸目标年龄训练图像之间差异,目标损失函数基于第一距离函数和第二距离函数确定,即综合考虑了基于标准脸残差图像与真实残差图像对目标残差预测网络的影响,使得确定的目标损失函数更准确。
另外,第一残差预测网络和所述第二残差预测网络的年龄迁移信息包括:人脸迁移的目标年龄;确定第二残差预测网络的第一损失函数的过程,具体包括:根据第二残差图像与对应的标准脸残差图像,确定第二残差图像与对应的标准脸残差图像之间的差异的第三距离函数;并将第三距离函数作为第一损失函数。第二残差预测网络的损失函数根据第三距离函数确定,根据该第二残差预测网络的损失函数可以快速调整第二残差预测网络的网络参数。
另外,第一残差预测网络的第二损失函数为第二距离函数。
另外,在确定目标损失函数之后,人脸图像年龄迁移网络的训练方法,还包括:根据目标损失函数,调整第二残差预测网络的网络参数。进一步优化第二残差预测网络,进而提高目标残差预测网络的准确性。
另外,年龄迁移信息还包括:人脸几何特征信息、人脸纹理信息、人脸的肤色信息和人脸的性别信息;年龄迁移信息是基于人脸图像中的特征点确定,或者,年龄迁移信息是根据用户输入获得。年龄迁移信息还包括人脸几何特征信息、人脸纹理信息、人脸肤色信息和人脸的性别信息,综合考虑多个影响人脸图像年龄迁移的因素,提高人脸图像年龄迁移网络的准确性。
另外,标准脸残差图像的确定过程,具体包括:获取预设的各个年龄段的标准脸图像;确定相邻年龄段的标准脸图像之间的差异的残差图像;根据相邻年龄段的标准脸图像之间的图像差异,确定任意两个年龄段的标准脸图像之间差异的残差图像。可以快速确定出标准脸残差图像。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种人脸图像年龄迁移网络的训练方法。该人脸图像年龄迁移网络的训练方法可以应用于具有训练功能的终端、服务器等。在该人脸图像年龄迁移网络训练完毕之后,即可将该人脸图像年龄迁移网络用于对人脸图像进行年龄迁移。该人脸图像年龄迁移网络的训练方法具体流程如图1所示。
步骤101:训练用于预测残差图像的第一残差预测网络和第二残差预测网络。
具体的说,残差图像为人脸的初始年龄图像与人脸的目标年龄图像之间的差异图像,其中,第一残差预测网络的验证训练样本为人脸初始年龄训练图像与人脸目标年龄训练图像之间差异构成的真实残差图像,第二残差预测网络的验证训练样本为标准脸初始年龄图像与标准脸目标年龄图像之间差异构成的标准脸残差图像。
第一残差预测网络和第二残差预测网络均用于预测残差图像,第一残差预测网络和第二残差预测网络的人脸图像训练样本均包括人脸初始年龄训练图像和对应的人脸目标年龄训练图像,例如,人脸图像训练样本以{(x1,y1)……(xn,yn)}其中,x1表示第一个人的人脸初始年龄训练图像,y1表示第一个人的人脸目标年龄训练图像,xn表示第n个人的人脸初始年龄训练图像,yn表示第n个人的人脸目标年龄训练图像。
该第一残差预测网络和第二残差预测网络的年龄迁移信息均包括:人脸迁移的目标年龄,该人脸迁移的目标年龄可以是用户通过输入装置输入后获得。可以理解的是,为了准确训练对第一残差预测网络和第二残差预测网络,该年龄迁移信息还包括人脸几何特征信息、人脸纹理信息、人脸的肤色信息和人脸的性别信息。该年龄迁移信息可以是基于人脸图像中的特征点确定,或者,年龄迁移信息是根据用户输入获得。
第一残差预测网络的验证训练样本为人脸初始年龄训练图像与人脸目标年龄训练图像之间差异构成的真实残差图像,该真实残差图像可以根据人脸图像训练样本计算获得,例如,计算不同人的人脸初始年龄训练图像和人脸目标年龄训练图像的差异图像。训练第一残差预测网络过程中,将输入的人脸初始年龄训练图像和年龄迁移信息作为训练数据,根据输入的人脸目标年龄训练图像,计算出人脸图像训练样本中每个人的人脸图像在目标年龄和初始年龄之间的差异的真实残差图像,并将该真实残差图像作为验证训练样本。
输入第二残差预测网络的输入数据为:人脸图像训练样本、年龄迁移信息以及标准脸残差图像。且将标准脸残差图像作为第二残差预测网络的验证训练样本,该标准脸残差图像可以是预先根据专家提供的不同年龄的标准脸的图像计算确定。
可以理解的是,为了便于训练第一残差预测网络和第二残差预测网络,可以对人脸图像训练样本进行预处理,预处理可以是对人脸图像样本中的每张图像进行光照归一化处理,去除不同光照条件,从而避免光照对后续训练的影响。然后基于人脸关键点对人脸图像进行对齐和裁剪,裁剪后的人脸图像具有统一的分辨率,分辨率可以根据实际应用的需要进行设置,例如,分辨率可以为256*256。
一个具体的实现中,第一残差预测网络具有损失函数,第二残差预测网络也损失函数。第二残差预测网络在训练过程中,通过第二残差预测网络的第一损失函数进行收敛;同理,第一残差预测网络在训练过程中,通过第一残差预测网络的第二损失函数进行收敛。
下面分别介绍第二残差预测网络的第一损失函数的确定过程,以及第一残差预测网络的第二损失函数的确定过程。
一个具体的实现中,确定第一损失函数,具体过程为:根据第二残差图像与对应的标准脸残差图像,确定第二残差图像与对应的标准脸残差图像之间的差异的第三距离函数;并将第三距离函数作为第一损失函数。
具体的说,该第一损失函数L1的定义可以如公式(1)所示:
其中,N1代表第二残差预测网络,x表示输入的人脸初始年龄训练图像,N1(x)表示第二残差图像,s表示与第二残差图像对应的标准脸残差图像。Lperceptual是图像的感知距离函数,定义如下:
其中,F(i)(·)表示预设的图像分析网络中第i层网络输出的特征向量,Mi是特征向量维度,T是用于计算感知距离所选取的图像分析网络的层数,该图像分析网络用于计算损失函数,例如,该图像网络可以选取由牛津大学的视觉几何学小组(Visual GeometryGroup,简称“VGG”)提出的一种深度卷积网络VGG-16。
一个具体的实现中,第一残差预测网络的第二损失函数的确定过程为:确定人脸目标年龄的迁移图像以及人脸目标年龄训练图像之间差异的第二距离函数,将第二距离函数作为该第一残差预测网络的损失函数。
具体的说,该第二损失函数L2的定义可以如公式(3)所示:
L2=φ(N2(x)+x,y)=λ1·Ladversarial+λ2·Lidentity+λ3·age 公式(3);
其中N2代表第一残差预测网络,x表示输入的人脸初始年龄训练图像,N2(x)是第一残差图像,N2(x)+x表示为人脸目标年龄的迁移图像,y是人脸目标年龄训练图像。Ladversarial是对抗损失,Lidentity是身份损失,Lage是年龄损失,λ1、λ2、λ3为权重系数。其中各损失元素的定义如下:
其中,D(·)表示判别器输出;h(i)(·)表示人物身份分类器第i层的输出向量,Mi是向量维度;l(·)表示年龄分类器的损失,Ct是人脸迁移的目标年龄。判别器、人物身份分类器和年龄分类器均为求取损失函数采用的附加网络。人物身份分类器和年龄分类器是预训练好的网络,网络参数已知,例如,可以采用VGG-19网络。在训练该第一残差预测网络过程中,可以同时优化该判别器的网络参数。
步骤102:根据第一残差预测网络输出的第一残差图像和第二残差预测网络输出的第二残差图像,迭代调整第一残差预测网络的网络参数,得到目标残差预测网络。
一个具体的实现中,根据第一残差图像和第二残差图像,确定目标损失函数;根据目标损失函数,迭代调整第一残差预测网络的网络参数,直至第一残差预测网络收敛,得到目标残差预测网络。
具体的说,确定目标损失函数的具体过程,如图2所示的子步骤:
子步骤1021:确定第一残差图像和第二残差图像之间差异的第一距离函数。
具体的说,该第一距离函数表示为:
其中,N
1代表第二残差预测网络,N
2代表第一残差预测网络,x代表输入的人脸初始年龄图像,N
1(x)表示第二残差图像,N
2(x)是第一残差图像。
子步骤1022:根据第一残差图像和人脸初始年龄训练图像,生成人脸目标年龄的迁移图像。
具体的说,由于第一残差图像为预测的人脸初始年龄训练图像与人脸目标年龄训练图像之间差异,因而将该第一残差图像和人脸初始年龄训练图像叠加,生成人脸目标年龄的迁移图像,该人脸目标年龄的迁移图像即为预测的该人脸在目标年龄的图像。人脸目标年龄的迁移图像用数学式子表示为:N2(x)+x,x为输入的人脸初始年龄训练图像。
子步骤1023:确定人脸目标年龄的迁移图像以及人脸目标年龄训练图像之间差异的第二距离函数。
该第二距离函数即为上述确定第一残差预测网络的损失函数一样,用公式(3)表示,此处将不再赘述。
子步骤1024:按照第一距离函数和第二距离函数各自对应的权重叠加,得到目标损失函数。
该目标损失函数L3用公式(7)表示为:
β是权重系数,该权重系数可以根据实际应用调整。
在每次确定出该目标损失函数之后,可以采用梯度下降法对第一残差预测网络的网络参数进行调整,直至该第一残差预测网络收敛,得到该目标残差预测网络。
需要说明的是,第一残差预测网络先基于第二损失函数调整网络参数,在确定出目标损失函数后,继续迭代调整该第一残差预测网络的网络参数。训练该目标残差预测网络的框架如图3所示。图3中显示了第一残差预测网络和第二残差预测网络,由于是不断迭代调整该第一残差预测网络得到目标残差预测网络,故图3中未示出最终确定的目标残差预测网络。
步骤103:根据目标残差预测网络确定人脸图像年龄迁移网络。
具体的说,人脸图像年龄迁移网络为该目标残差预测网络的输出端与人脸图像输入端连接,构成该人脸图像年龄迁移网络。实际应用中该人脸图像年龄迁移网络进行人脸迁移的过程示意图如图4所示,获取人脸图像和年龄迁移信息,得到目标残差图像,将该目标残差图像和人脸图像进行叠加,即可得到目标年龄的人脸图像。
本发明实施方式相对于现有技术而言,第二残差预测网络的验证训练样本为标准脸初始年龄图像与标准脸目标年龄图像之间差异构成的标准残差图像,使得该第二残差预测网络输出的残差图像与标准脸残差图像接近,而第一残差预测网络的验证训练样本为真实残差图像,使得输出的第一残差图像与真实的残差图像接近;由于第二残差图像与标准脸残差图像接近,结合第一残差图像和第二残差图像,迭代调整第一残差预测网络,获得目标残差网络,从而实现将标准脸残差图像的人脸标准知识迁移至目标残差网络,从而可以减少目标残差网络输出扭曲的残差图像的概率,提高了目标残差预测网络预测的第一残差图像的准确性,进而提高了基于该目标残差网络确定的人脸图像年龄迁移网络的准确性;同时由于标准脸残差图像数量有限,使得可以快速训练得到第二残差预测网络,而引入第二残差图像,加快第一残差预测网络的收敛速度,进而提高训练人脸图像年龄迁移网络的速度。
本发明的第二实施方式涉及一种人脸图像年龄迁移网络的训练方法。该人脸图像年龄迁移网络的训练方法包括:训练用于预测残差图像的第一残差预测网络和第二残差预测网络,根据所述第一残差预测网络输出的第一残差图像和第二残差预测网络输出的第二残差图像,迭代调整第一残差预测网络的网络参数,得到目标残差预测网络,根据该目标残差预测网络确定人脸图像年龄迁移网络。
第二实施方式是对第一实施方式中步骤102的进一步改进,主要改进之处在于:本实施方式中,在确定目标损失函数之后,还包括:根据目标损失函数,调整第二残差预测网络的网络参数。该迭代调整第一残差预测网络的网络参数,得到目标残差预测网络的具体实现示意图如图4所示。
步骤201:根据第一残差图像和第二残差图像,确定目标损失函数。
该步骤与第一实施方式中确定目标损失函数的方式类似,此处将不再赘述。
步骤202:根据目标损失函数,调整第二残差预测网络的网络参数。
具体的说,在确定了目标损失函数之后,可以利用梯度下降法调整该第二残差预测网络的网络参数,使得该第二残差预测网络输出的第二残差图像在与标准脸残差图像接近的同时兼顾训练图像,避免出现由于第一残差预测网络与第二残差预测网络差异过大造成训练过程无法收敛而导致失败的情况。
步骤203:根据目标损失函数,迭代调整第一残差预测网络的网络参数,直至第一残差预测网络收敛,得到目标残差预测网络。
此步骤与第一实施方式中的迭代调整类似,此处将不再赘述。本实施方式中训练得到目标残差预测网络的框架如图6所示。
需要说明的是,为了便于快速确定出标准脸残差图像,可以将人的年龄分为N段,N可以为大于1的整数,N的取值可以根据实际应用确定,例如,本实施方式中,可以将人的年龄分为13段,分别为:5-15、15-20、20-25、25-30、30-35、35-40、40-45、45-50、50-55、55-60、60-65、65-70、70+,分为13个年龄段,可以涵盖多数用户的需求。
该标准脸残差图像的确定过程可以为:获取预设的各个年龄段的标准脸图像;确定相邻年龄段的标准脸图像之间的差异的残差图像;根据相邻年龄段的标准脸图像之间的图像差异,确定任意两个年龄段的标准脸图像之间差异的残差图像。
具体的说,由于人分为男人和女人,且具有不同的肤色,因而每个年龄段有一组标准脸图像,每组标准脸包括不同肤色的男人标准脸图像,以及不同肤色的女人标准脸图像。肤色的颜色分为:黄色皮肤,黑色皮肤,白色皮肤和棕色皮肤。按照该肤色划分规则,一组标准脸图像包含8张图像。
在确定标准脸残差图像的过程中,按照相同的肤色和性别进行确定。下面以确定每组中黄色皮肤的男人标准脸为例,确定各个年龄段的残差图像。确定相邻年龄段的标准脸图像之间的差异的残差图像;由于残差图像具有累加特性,在计算相邻年龄段的残差后,其他年龄跨度的残差图像可以通过若干相邻年龄段残差图像的累加得到。针对年龄变化的残差图像还具有方向性和反对称性,方向性指的是年龄增大与年龄减小对应的两个方向,反对称性指的是从年龄a到年龄b的残差图像等于从年龄b到年龄a的残差图像取反。按照该处理后,得到96张标准脸残差图像。
本实施方式中的人脸图像年龄迁移网络的训练方法,在确定目标损失函数之后,通过该目标损失函数调整第二残差预测网络,可以进一步优化第二残差预测网络,进而提高第二残差预测网络训练过程的稳定性和目标残差预测网络的准确性,提高确定的人脸图像迁移网络的准确性。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第三实施方式涉及一种终端。该终端的具体结构如图7所示,包括:至少一个处理器301;以及,与至少一个处理器301通信连接的存储器302;其中,存储器302存储有可被至少一个处理器301执行的指令,指令被至少一个处理器301执行,以使至少一个处理器301能够执行第一实施方式或第二实施方式的人脸图像年龄迁移网络的训练方法。
其中,存储器302和处理器301采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器301和存储器302的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器301处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器301。
处理器301负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本发明第四实施方式涉及一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现第一实施方式或第二实施方式的人脸图像年龄迁移网络的训练方法。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。