基于年龄编辑的年龄估计方法与流程

文档序号:23306608发布日期:2020-12-15 11:37阅读:208来源:国知局
基于年龄编辑的年龄估计方法与流程

本发明涉及的是一种图像识别领域的技术,具体是一种基于年龄编辑的年龄估计方法。



背景技术:

人脸年龄估计,即提供一张图像,自动识别图中人物的年龄,属于生物特征识别的范畴,对于人脸识别具有辅助作用。现有年龄估计基于图像处理知识,对人脸图像进行特征提取,再利用如svm(supportvectormachine,支持向量机)、bayes(贝叶斯理论)等机器学习的理论进行年龄估计,这种方法运算耗时长,准确率低。

软阶段回归网络(ssr-net)作为现有最新的年龄估计神经网络,受到年龄数据集数量级小的影响,在人脸年龄估计方面的准确率并不高,这也是目前很多年龄估计算法的通病。现有人脸年龄估计数据集规模较小,导致深度模型训练过程中容易出现过拟合问题,模型泛化能力不强,尤其对于非受限条件下的人脸年龄估计任务小规模数据集很难覆盖各种变化的情况,导致该技术在非受限条件的人脸年龄估计效果不佳。

现有的年龄编辑方法多基于celeba提出,受到该数据集的限制,这类方法只能处理年轻到年老或年老到年轻这两种定性的年龄变换,中间年龄值的人脸图像生成多依靠线性插值,无法做到直接生成特定年龄的人脸图像。而用于年龄估计的数据集通常拥有较低的图像质量,不适用于年龄编辑这类图像生成的任务。



技术实现要素:

本发明针对现有技术存在的上述不足,提出一种基于年龄编辑的年龄估计方法,通过分阶段联合训练对抗生成网络和软阶段回归网络(ssr-net),扩增适用于年龄估计的训练数据,在不丢失身份信息的同时学习不同年龄域之间的映射,并利用网络生成的数据扩增数据集,提升年龄估计准确率。

本发明是通过以下技术方案实现的:

本发明通过循环进行图像生成阶段和年龄估计阶段,得到训练后的软阶段回归网络用于进行图像年龄鉴别和精确模拟,其中:在图像生成阶段,在训练生成对抗网络时仅进行年龄约束,即采用软阶段回归网络作为第二鉴别器且仅更新生成对抗网络的网络参数;在年龄估计阶段,利用训练后的生成对抗网络生成部分训练集图像对年龄估计网络进行训练,即仅更新软阶段回归网络的网络参数。

所述的生成对抗网络中的生成器g包括:3个下采样模块,3个卷积bottleneck层(瓶颈),3个反卷积bottleneck层和3个上采样模块,其中:每个卷积结构均包括卷积层、bn层和relu激活函数;鉴别器d包括6个卷积层,其中:每一层之间均设有bn层和relu激活函。

所述的在训练生成对抗网络时仅进行年龄约束是指:采用预训练好的可预测图像中的年龄的ssr-net网络作为第二鉴别器进行年龄预测,预测年龄与原始图像的实际年龄产生的误差作为损失函数的一部分,约束对抗生成网络的训练过程,使整个网络在生成图像时更关注于与年龄相关特征的恢复。

所述的利用训练后的生成对抗网络生成部分训练集图像是指:生成与训练生成对抗网络时采用的原始图像一致的生成图像作为一部分训练集。

技术效果

本发明整体解决了在不丢失身份信息的同时学习不同年龄域之间的映射,并利用网络生成的数据扩增数据集,提升年龄估计准确率的技术问题。本发明通过分阶段训练策略,即在训练对抗生成网络进行年龄编辑时,加入了ssr-net作为另一个鉴别器进行年龄的约束,同时对鉴别器结构进行改进,使其在判断图像是否为真和预测图像年龄域的同时,也可以预测图像的身份信息;在训练ssr-net进行年龄估计时则利用对抗生成网络的生成数据与原始数据一同训练ssr-net,扩增用于年龄估计的数据集;年龄编辑和年龄估计两个阶段相互交替训练,直至网络收敛,收敛的标志为年龄估计准确率维持稳定不再变化。

相比现有ssr-net在adience数据集上准确率只有62.7%,本发明准确率提升到了68.3%;在megaage-asian数据集上也有2个百分点的提升。证明本技术相比现有技术可以更好地应对非受限场景。

附图说明

图1为本发明流程图;

图2为本发明图像生成网络结构图;

图3为本发明改进后的stargan网络结构图;

图中:a为生成器,b为鉴别器;

图4为本发明年龄估计网络结构图;

图5为本发明在adience数据集上年龄编辑效果图;

图6为本发明年龄编辑效果细节图。

具体实施方式

如图1所示,为本实施例涉及一种基于年龄编辑的图像中年龄估计方法,分为图像生成(年龄编辑)和年龄估计两阶段,其中:图像生成阶段通过对抗生成网络根据给定的年龄标注生成原始图像在指定年龄下的模拟图像,年龄估计阶段生成基于模拟图像的训练集对软阶段回归网络进行优化训练,最终得到训练后的软阶段回归网络用于进行图像年龄鉴别和精确模拟。

如图2所示,所述的图像生成阶段包括:

步骤一:将原始图像x和信息标注c作为对抗生成网络中生成器g的输入,重建得到与原图相一致的模拟图像x’;进一步将原始图像x和模拟图像x’训练集并作为对抗生成网络中鉴别器d的输入进行真假判定及标注预测;同时将原始图像x和模拟图像x’训练集并作为第二鉴别器的参数固定的ssr-net的输入进行年龄估计,实现对对抗生成网络的训练;

所述的信息标注包括:身份和年龄信息,身份为1,2…nclass中某一具体数值,代表该图像的id,年龄信息为原始图像对应的真实年龄值,这里不做年龄编制,只是基于对抗生成网络的图像重建过程。

优选地,将步骤一中训练集作为软阶段回归网络的输入进行年龄估计,相应得到年龄一致的预测结果,否则ssr-net无法作为年龄约束的第二鉴别器,也无法作为年龄估计网络。

如图3a所示,本实施例涉及的生成对抗网络中的生成器g包括:3个下采样模块,3个卷积bottleneck层(瓶颈),3个反卷积bottleneck层和3个上采样模块,其中;每个卷积结构均包括卷积层、bn层和relu激活函数;bottleneck层卷积核为3*3,步长为2,周围填充为1,其余模块除第一层和最后一层卷积核为7*7之外,其余采样模块的卷积核均为4*4,步长均为2,周围填充为1。

如图3b所示,本实施例涉及的生成对抗网络中的鉴别器d包括6个卷积层,其中:每一层之间均设有bn层和relu激活函数;卷积核为4*4,步长为2,周围填充为1,最终经全连接层映射至三个输出,分别为2*1,nage*1和nclass*1。

步骤二:将原始图像x与年龄标注集作为训练后对抗生成网络中生成器g的输入,重建得到对应年龄标注集的不同年龄段的模拟年龄图像;再将原始图像x复制nage份后与模拟年龄图像训练集并作为对抗生成网络中鉴别器d的输入进行真假判定及标注预测,实现对对抗生成网络的优化;

所述的年龄标注集,优选为one-hot形式的年龄标注集c(c0,c1,……,cnage-1),其中:nage是指按照预设年龄步长划分后的年龄区间的个数。

优选地,将步骤二中的训练集作为软阶段回归网络的输入进行年龄估计,相应得到与年龄标注集一致的预测结果,否则ssr-net无法作为年龄约束的第二鉴别器,也无法作为年龄估计网络。

本实施例中将年龄划分0-3、4-7、8-14、15-21、22-32、33-43、44-54、55-65和66+这9个区间作为年龄标注集,给定一张人脸图像,本发明可以生成任意区间的人脸图像,将可编辑人脸年龄的范围由之前年轻或年老两种状态缩小至10岁以内的年龄编辑。

步骤三:将步骤二生成的模拟年龄图像及其对应的年龄标注作为优化后对抗生成网络中生成器g的输入,重建得到符合对应年龄标注的优化图像,并与原图在图像层面作mse比较。

优选地,将步骤三生成的优化图像应与原始图像一致,否则认为图像生成网络训练不成功,无法进行年龄编辑。

所述的年龄估计阶段是指:如图4所示,原始图像x与年龄标注c原始图像x和标注c作为输入送到固定网络参数的生成器g进行图像的重建,生成与原图一致的图像x’;图像x’作为扩增数据与原始图像x作为输入一同送至ssr-net进行年龄估计的训练。在这个过程中,用于年龄估计的数据集直接被扩充为原来的二倍,且增加的数据并不是基于原图的简单旋转变换,而是适用于年龄估计网络的含有隐藏年龄信息的人脸图像。

本发明的通过gan进行数据扩增的思路同样可以用于由于数据集限制而无法提高精度的各种任务中,比如文本识别、语音识别等。在文本识别中不同字体的识别任务,通过对抗生成网络生成不同字体(如手写字,印刷体等)的文本数据,进行数据扩增;在语音识别中不同语种的识别任务,通过对抗生成网络生成不同语种(比如方言,普通话,英语等)的语音数据,也可以是语音在特征空间中的潜在表征数据,进行数据扩增。

本发明根据后续任务的不同引入了不同的第二鉴别器作为对抗生成网络训练的约束,同时根据后续任务固定某部分网络参数而训练某部分网络参数,进行分阶段交替训练,互相优化,相辅相成,并不仅仅是通过gan生成扩增数据再去进行后续任务的简单操作。

作为第二鉴别器的ssr-net根据后续估计任务的不同,先预训练一个估计网络,并将其作为对抗生成网络中的第二的鉴别器,这一鉴别器的预测值与原始图像的实际值的误差作为网络训练损失函数的一部分,对对抗生成网络的图像生成起到了约束作用。

经过具体实际实验,在adience、megaage-asian、morph2以及fg-net上进行测试,所有网络模型均使用adam优化,配置为:β1=0.5,β2=0.999。在训练过程中为了增加数据,以0.5的概率水平翻转图像。在五个鉴别器更新之后执行一个生成器更新,每次送入网络的batch=32。

在训练阶段具体参数设置为:在图像生成阶段,固定ssr-net网络参数,更新生成器和鉴别器的参数,设置lr=0.001(learningrate,学习速率),进行10000次迭代。在年龄估计阶段,固定生成器和鉴别器的参数,更新ssr-net的参数,设置lr=0.0001,进行5000次迭代。根据年龄估计任务中损失函数lage的收敛情况重复步骤一、步骤二共计100次。

如图5和图6所示,本发明与目前在受限场景下的morpg2和fg-net数据集上准确率较高的年龄估计算法(c3ae、dex等)的平均误差年龄相差在0.2岁以内,同时本发明整体网络参数只有60m,共占用内存110mb,做到了模型的轻量化。

与现有技术相比,本方法显著提升了ssr-net在各大年龄数据集上的年龄估计准确率:

本发明在受限条件下的morph2数据集上平均年龄误差由3.16缩小至2.98,受限条件下的fg-net数据集上平均年龄误差由4.78缩小至4.23;在非受限条件下的adience数据集上准确率由62.7%提升至68.3%,非受限条件下的megaage-asian数据集上准确率由74.1%提至77.9%。

本发明在adience数据集上达到了目前年龄估计最好的结果68.2%,1-off准确率高达98.77%。同时相比目前基于gan的年龄编辑算法只可实现年轻或年老两种定性标记效果,本发明可根据划分的9个年龄区间实现10岁左右的定量年龄编辑效果。

上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。

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