一种基于StyleGAN的移动端人脸年龄编辑方法转让专利

申请号 : CN202110966926.6

文献号 : CN113421185B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 胡滨任永腾李成

申请人 : 武汉轻度科技有限公司

摘要 :

本发明公开了一种基于StyleGAN的移动端人脸年龄编辑方法:S1、准备人脸图片训练数据集,并对人脸图片训练数据集中的部分人脸图片标注得到年龄标签;S2、利用所述人脸图片训练数据集训练特征提取模型和生成模型;S3、利用人脸图片训练数据集中的部分数据和特征提取模型训练人脸年龄分类器;S4、根据用户配置和预期等待时间选择分辨率和通道系数,输入生成模型得到子模型;S5、对于人脸年龄分类器,提取其系数,即为能够判断人脸年龄的属性向量;S6、利用子模型以及所述属性向量对待编辑人脸图片进行编辑。本发明技术方案可以降低部署和维护成本,增强用户数据安全性,避免个人隐私泄漏,去除软件对网络的依赖,使得用户可以随时随地的使用软件。

权利要求 :

1.一种基于StyleGAN的移动端人脸年龄编辑方法,其特征在于,包括:S1、准备人脸图片训练数据集,并对人脸图片训练数据集中的部分人脸图片标注得到年龄标签;包括:

S11、挑选一批人脸图片,使用开源模型得到每张人脸的关键点,并根据关键点将人脸图片通过仿射变换对齐到基准位置,得到人脸图片训练数据集 ;

S12、将人脸图片训练数据集 中的部分人脸图片按照年龄大小进行标注,年龄大于45岁的标签为1,年龄小于45岁的标签为0,得到年龄标签集 ;

S2、利用所述人脸图片训练数据集训练特征提取模型和生成模型;其中,训练特征提取模型包括:

S21、定义自编码器模型,包括编码器 和解码器 ;

S22、对于从人脸图片训练数据集 中获取的人脸图片 ,将人脸图片 输入 得到特征向量 ,将特征向量 输入 得到解码后的图像 ;

S23、定义损失值 ,通过BP算法得出 值对模型中每个参数对的梯度值 ,根据梯度下降算法和梯度值对模型中的参数进行更新;

S24、重复步骤S22~S23,直到重复次数大于设定次数或者损失值小于设定值,将自编码器模型中的编码器及其参数单独保存,即为特征提取模型 ;

训练生成模型包括:

S25、定义生成模型 和对应的判别器 ;

S26、对于从人脸图片训练数据集 中获取的人脸图片 ,将人脸图片 输入S24中得到的特征提取模型 得到特征向量 ;

S27、随机选取分辨率 ,将特征向量 和分辨率 输入生成模型 得到训练后的生成模型 ;

S28、对每一卷积层,对应到输出特征上,将其分为前 个通道,其中 取值为,为这一层的卷积核个数,每次训练时取该层的前 个通道;

S29、选定好 和 之后,即可得到子模型 ;

S210、重复步骤S27~S29,直到重复次数大于设定次数或者损失值小于设定值,得到生成模型 ;

S3、利用人脸图片训练数据集中的部分数据和特征提取模型训练人脸年龄分类器;

S4、根据用户配置和预期等待时间选择分辨率和通道系数,输入生成模型得到子模型;

S5、对于人脸年龄分类器  ,提取其系数 ,即为能够判断人脸年龄的属性向量;

S6、利用子模型以及所述属性向量对待编辑人脸图片进行编辑。

2.如权利要求1所述的基于StyleGAN的移动端人脸年龄编辑方法,其特征在于,所述步骤S3包括:

S31、定义二分类支持向量机 ;

S32、对于从人脸图片训练数据集 中获取的带标签的人脸图片 ,将人脸图片 输入特征提取模型 得到特征向量 ,从年龄标签集 中获得图片 对应的年龄标签 ;

S33、对于支持向量机 ,采用线性核函数,输入特征向量 和对应的年龄标签 ,训练得到人脸年龄分类器 。

3.如权利要求1所述的基于StyleGAN的移动端人脸年龄编辑方法,其特征在于,所述步骤S4包括:

S41,选择一组 和 ,将其带入生成模型 得到子模型 ;

S42,将特征向量 输入子模型 进行运算,得到输出图片;

S43,观察统计运算时间和输出图片效果,如果时间过长或者对效果要求较低,调低 和,重新输入生成模型 得到新子模型 ;

S44,重复S41~S43,直到得到满足要求的 和 值。

4.如权利要求1所述的基于StyleGAN的移动端人脸年龄编辑方法,其特征在于,所述步骤S6包括:

S61、对于任意一张待编辑人脸图片,使用开源模型得到每张人脸的关键点,并根据关键点将待编辑人脸图片通过仿射变换对齐到基准位置,得到图片 ;

S62、将图片 输入特征提取模型 得到特征向量 ;

S63、通过对属性向量 和人脸特征向量 加权求和:得到编辑后的特征向量 ,其中 为控制编辑后年龄大小的系数;

S64、将 输入步骤S4得到的子模型 ,得到分辨率为 的编辑后人脸图像。

5.如权利要求1所述的基于StyleGAN的移动端人脸年龄编辑方法,其特征在于,所述步骤S21中的编码器 和解码器 具体为:编码器包括十个卷积层,一个最大池化层,一个全局平均池化层,一个全连接输出层,解码器包括三个卷积层,三个上采样层。

6.如权利要求1所述的基于StyleGAN的移动端人脸年龄编辑方法,其特征在于,所述步骤S25中的生成模型 和对应的判别器 具体为:生成模型 包括24个卷积层,8个上采样层,8个全连接层,判别器 包括四个卷积层,两个全连接输出层。

说明书 :

一种基于StyleGAN的移动端人脸年龄编辑方法

技术领域

[0001] 本发明属于图像处理技术领域,更具体地,涉及一种基于StyleGAN的移动端人脸年龄编辑方法。

背景技术

[0002] 生成对抗网络(Generative Adversarial Networks,GAN)是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中两个模块:生成模型和判别模型的互相博
弈学习产生相当好的输出。GAN能够生成不存在于真实世界的数据,在图像生成、图像去噪、
数据增强方面有着重要的作用。
[0003] StyleGAN受风格迁移启发而设计了一种新的生成器网络结构。新的网络结构可以通过无监督式的自动学习对图像的高层语义属性做一定解耦分离,例如人脸图像的姿势和
身份、所生成图像的随机变化如雀斑和头发等。也可以做到一定程度上的控制合成。
[0004] 具体到人脸年龄编辑上来说,人脸年龄编辑是指通过给定一幅人脸图像,可以生成该人物在不同年龄段的图像。人脸年龄编辑已经成为电影后期制作的重要任务,在普通
摄影中也越来越流行。在跨年龄人脸识别、娱乐、刑侦等领域也有着广泛的应用。例如,它可
以用来帮助寻找走失的孩子或预测某人未来的样子。所以人脸年龄编辑还是具有很大的应
用价值的。
[0005] StyleGAN已经可以实现逼真的图像合成,但由于大规模生成器的计算成本较高,通常不能在移动端设备(如智能手机)上直接运行,需要部署在具有较高的硬件配置的服务
器上,这就不可避免的需要用户上传人脸图片,对用户的个人隐私造成很大的风险。此外由
于需要用到网络,限制了用户的使用场景,网络不佳时影响数据上传和下载时的等待时间,
严重影响软件批量部署和用户的使用体验。

发明内容

[0006] 针对现有技术的以上缺陷或改进需求,本发明提供了一种基于StyleGAN的移动端人脸年龄编辑方法,其目的在于直接部署在手机进行人脸年龄的编辑,由此解决系统部署
成本较高、需要上传图片数据、处理时间较长的技术问题。
[0007] 为实现上述目的,本发明提供了一种基于StyleGAN的移动端人脸年龄编辑方法,包括:
[0008] S1、准备人脸图片训练数据集,并对人脸图片训练数据集中的部分人脸图片打分得到年龄标签;
[0009] S2、利用所述人脸图片训练数据集训练特征提取模型和生成模型;
[0010] S3、利用人脸图片训练数据集和特征提取模型训练人脸年龄分类器;
[0011] S4、根据用户配置和预期等待时间选择分辨率 和通道系数 ,输入生成模型 得到子模型 ;
[0012] S5、对于人脸年龄分类器 ,提取其系数 ,即为能够判断人脸年龄的属性向量;
[0013] S6、利用子模型对待编辑人脸图片进行编辑。
[0014] 本发明的一个实施例中,所述步骤S1包括:
[0015] S11、挑选一批人脸图片,使用开源模型得到每张人脸的关键点,并根据关键点将人脸图片通过仿射变换对齐到基准位置,得到人脸图片训练数据集 ;
[0016] S12、将人脸图片训练数据集 中的部分人脸图片按照年龄大小进行标注,年龄大于45岁的标签为1,年龄小于45岁的标签为0,得到年龄标签集 。
[0017] 本发明的一个实施例中,所述步骤S2中训练特征提取模型包括:
[0018] S21、定义自编码器模型,包括编码器 和解码器 ;
[0019] S22、对于从人脸图片训练数据集 中获取的人脸图片 ,将人脸图片 输入得到特征向量 ,将特征向量 输入 得到解码后的图像

[0020] S23、定义损失值 ,通过BP算法得出 值对模型中每个参数对的梯度值 ,根据梯度下降算法和梯度值对模型中的参数进行更新;
[0021] S24、重复步骤S22~S23,直到重复次数大于设定次数或者损失值小于设定值,将自编码器模型中的编码器及其参数单独保存,即为特征提取模型 。
[0022] 本发明的一个实施例中,所述步骤S2中训练生成模型包括:
[0023] S25、定义生成模型 和对应的判别器 ;
[0024] S26、对于从人脸图片训练数据集 中获取的人脸图片 ,将人脸图片 输入S24中得到的特征提取模型 得到特征向量 ;
[0025] S27、随机选取分辨率 ,将特征向量 和分辨率 输入生成模型 得到训练后的生成模型 ;
[0026] S28、对每一卷积层,对应到输出特征上,将其分为前 个通道,其中 取值为,为这一层的卷积核个数,每次训练时取该层的前 个通道;
[0027] S29、选定好 和 之后,即可得到子模型 ;
[0028] S210、重复步骤S27~S29,直到重复次数大于设定次数或者损失值小于设定值,得到生成模型 。
[0029] 本发明的一个实施例中,所述步骤S3包括:
[0030] S31、定义二分类支持向量机 ;
[0031] S32、对于从人脸图片训练数据集 中获取的带标签的人脸图片 ,将人脸图片 输入特征提取模型 得到特征向量 ,从年龄标签集 中获得图片 对应的年龄标签 ;
[0032] S33、对于支持向量机 ,采用线性核函数,输入特征向量 和对应的年龄标签 ,训练得到人脸年龄分类器 。
[0033] 本发明的一个实施例中,所述步骤S4包括:
[0034] S41,选择一组 和 ,将其带入生成模型 得到子模型 ;
[0035] S42,将特征向量 输入子模型 进行运算,得到输出图片;
[0036] S43,观察统计运算时间和输出图片效果,如果时间过长或者对效果要求较低,调低 和 ,重新输入生成模型 得到新子模型 ;
[0037] S44,重复S41~S43,直到得到满足要求的 和 值。
[0038] 本发明的一个实施例中,所述步骤S6包括:
[0039] S61、对于任意一张待编辑人脸图片,使用开源模型得到每张人脸的关键点,并根据关键点将待编辑人脸图片通过仿射变换对齐到基准位置,得到图片 ;
[0040] S62、将图片 输入特征提取模型 得到特征向量 ;
[0041] S63、通过对属性向量 和人脸特征向量 加权求和:
[0042]
[0043] 得到编辑后的特征向量 ,其中 为控制编辑后年龄大小的系数;
[0044] S64、将 输入步骤S4得到的子模型 ,得到分辨率为 的编辑后人脸图像。
[0045] 本发明的一个实施例中,所述步骤S21中的编码器 和解码器 具体为:
[0046] 编码器包括十个卷积层,一个最大池化层,一个全局平均池化层,一个全连接输出层,解码器包括三个卷积层,三个上采样层。
[0047] 本发明的一个实施例中,所述步骤S25中的生成模型 和对应的判别器 具体为:
[0048] 生成模型 包括24个卷积层,8个上采样层,8个全连接层,判别器 包括四个卷积层,两个全连接输出层。
[0049] 本发明的一个实施例中,所述步骤S29中:
[0050] 为了保证不同的子模型输出与全网络的输出在视觉上尽可能保持一致,引入限制如下:
[0051]
[0052] 其中 为均方误差损失 ;
[0053]
[0054] 其中 为 , 为设定好 和 之后的生成器;其中 为求中括号内值的期望。
[0055] 总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:
[0056] (1)降低部署和维护成本。在不影响人脸年龄编辑效果的前提下,大幅减少计算量,降低对硬件配置的依赖,从而使之能够直接运行在移动端设备(如智能手机)上,减少企
业服务器运行和维护成本;
[0057] (2)增强用户数据安全性,避免个人隐私泄漏。软件部署在移动端设备上之后,用户不需要上传数据就可直接在移动端设备上得到输出结果,从而从根源上杜绝用户个人隐
私泄漏,提高安全性;
[0058] (3)去除软件对网络的依赖,使得用户可以随时随地的使用软件,也不会由于网速问题造成等待时间过长的问题,优化用户的使用体验。

附图说明

[0059] 图1是本发明实施例中一种基于StyleGAN的移动端人脸年龄编辑方法的流程示意图。

具体实施方式

[0060] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并
不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要
彼此之间未构成冲突就可以相互组合。
[0061] 为了实现本发明的目的,本发明提供了一种基于StyleGAN的移动端人脸年龄编辑方法,主要包含六部分:数据采集和标注部分、特征提取模型和生成模型训练部分、年龄分
类模型训练部分、子模型选取部分、属性向量提取部分、人脸年龄图像编辑生成部分。
[0062] 具体地,如图1所示,本发明基于StyleGAN的移动端人脸年龄编辑方法包括:
[0063] S1、准备人脸图片训练数据集,并对人脸图片训练数据集中的部分人脸图片标注得到年龄标签;具体地,包括如下子步骤:
[0064] S11、挑选一批人脸图片,使用开源模型(如dlib)得到每张人脸的关键点,并根据关键点将人脸图片通过仿射变换对齐到基准位置,得到人脸图片训练数据集 。
[0065] S12、将人脸图片训练数据集 中的部分人脸图片按照年龄大小进行标注,年龄大于45岁的标签为1,年龄小于45岁的标签为0,得到年龄标签集 。
[0066] S2、利用所述人脸图片训练数据集训练特征提取模型和生成模型;包括如下子步骤:
[0067] S21、定义自编码器模型,包括编码器 和解码器 。
[0068] 其中编码器包括十个卷积层,一个最大池化层,一个全局平均池化层,一个全连接输出层。解码器包括三个卷积层,三个上采样层。
[0069] S22、对于从人脸图片训练数据集 中获取的人脸图片 ,将人脸图片 输入得到特征向量 ,将特征向量 输入 得到解码后的图像

[0070] S23、定义损失值 ,通过BP(Error Back Propagation,误差反向传播)算法得出 值对模型中每个参数对的梯度值 ,根据梯度下降算法和梯度值对模型中
的参数进行更新。
[0071] S24、重复步骤S22~S23,直到重复次数大于设定次数或者损失值小于设定值。将自编码器模型中的编码器及其参数单独保存,即为特征提取模型 。
[0072] S25、定义生成模型 和对应的判别器 。
[0073] 生成模型 包括24个卷积层,8个上采样层,8个全连接层,判别器 包括四个卷积层,两个全连接输出层。
[0074] S26、对于从人脸图片训练数据集 中获取的人脸图片 ,将人脸图片 输入S24中得到的特征提取模型 得到特征向量 。
[0075] S27、随机选取分辨率(如128x128),将特征向量 和分辨率 输入生成模型 得到训练后的生成模型 ,假设全网络的数据流为:
[0076]
[0077] 其中 为假设的比自选分辨率 大的分辨率;
[0078] 则随机采样分辨率的输入就可以被表示为:
[0079]
[0080] 其中 为设定分辨率为 后得到的子生成器, 为 对应的输出,于是训练时候模型的输出集合为:
[0081]
[0082] 对应的对抗损失函数为:
[0083]
[0084] 其中 为求中括号内值的期望, 指的是求期望的过程中涉及到了 这两个参数, 同理。
[0085] S28、对每一卷积层,对应到输出特征上,将其分为前 个通道,其中 取值为,为这一层的卷积核个数。每次训练时取该层的前 个通道,则对应的对
抗损失函数就变成了:
[0086]
[0087] 其中 为 , 为设定好 和 之后的生成器;
[0088] S29、选定好 和 之后,即可得到子模型 ,为了保证不同的子模型输出与全网络的输出在视觉上尽可能保持一致,引入限制如下:
[0089]
[0090] 其中 为 (均方误差损失)。
[0091] S210、重复步骤S27~S29,直到重复次数大于设定次数或者损失值小于设定值,得到生成模型 。
[0092] S3、利用人脸图片训练数据集中的部分数据和特征提取模型训练人脸年龄分类器;子步骤如下:
[0093] S31、定义二分类支持向量机 ,支持向量机是一类按监督学习方式对数据进行二元分类的广义线性分类器,其决策边界是对学习样本求解的最大边距超平面,提取决策边
界参数,即可作为人脸年龄特征的方向参数。
[0094] S32、对于从人脸图片训练数据集 中获取的带标签的人脸图片 ,将人脸图片 输入特征提取模型 得到特征向量 ,从年龄标签集 中获得图片 对应的年龄标签 。
[0095] S33、对于支持向量机 ,采用线性核函数,输入特征向量 和对应的年龄标签 ,训练得到人脸年龄分类器 。
[0096] S4、根据用户配置和预期等待时间选择分辨率 和通道系数 ,输入生成模型 得到子模型 ;具体步骤如下:
[0097] S41,选择一组(1024x1024)和(如1.0),将其带入生成模型 得到子模型 。
[0098] S42,将特征向量 输入子模型 进行运算,得到输出图片。
[0099] S43,观察统计运算时间和输出图片效果,如果时间过长或者对效果要求较低,调低(如512x512)和(如0.75),重新输入生成模型 得到新子模型 。
[0100] S44,重复S41~S43,直到得到满足要求的 和 值。
[0101] S5、对于人脸年龄分类器 ,提取其系数 ,即为能够判断人脸年龄的属性向量。
[0102] 系数 就是人脸年龄分类器 中的参数,这个参数可以直接与特征向量加权求和得到新的特征向量 。
[0103] S6、利用子模型对待编辑人脸图片进行编辑,子步骤如下:
[0104] S61、对于任意一张待编辑人脸图片,使用开源模型(如dlib)得到每张人脸的关键点,并根据关键点将待编辑人脸图片通过仿射变换对齐到基准位置,得到图片 。
[0105] S62、将图片 输入特征提取模型 得到特征向量 。
[0106] S63、通过对属性向量 和人脸特征向量 加权求和:
[0107]
[0108] 得到编辑后的特征向量 ,其中 为控制编辑后年龄大小的系数。
[0109] S64、将 输入步骤S4得到的子模型 ,得到分辨率为 的编辑后人脸图像。
[0110] 本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含
在本发明的保护范围之内。