DNANet Age and Gender Aware Kin Face Synthesizer

发布 : 2021-08-03 分类 : 深度学习 浏览 :

《What Will Your Child Look Like? DNA-Net: Age and Gender Aware Kin FaceSynthesizer》论文笔记
本文同时考虑父母双方的影响,构建年龄和性别可控的two-stage klin-face 生成模型。
image.png

2 方法

整个模型可分为两个阶段训练,首先训练CAAE model,该模型在大规模的数据集进行预训练,目的是将编码特征生成高质量图像。然后训练本文提出的DNA-Net,该网络同样是encoder-decoder结构,编码器解码器均为3层全连接层,论文中阐述了这种分两阶段训练的方法,主要是为了减少因为数据量过少带来的过拟合风险。最后,CAAE还能引入年龄和性别条件,控制最终的图像合成。
image.png

2.1 Genetic Model

图2描述了gentic model,本文模型主要包含三个阶段:

First stage

首先编码将父亲和母亲的图像分别进行编码,得到个人面部特征$h_k$ :
image.png
编码特征$h_k$可进一步通过DNA-Net编码器 $T_{fg}$ 编码器为gene vector $g_k$ :
image.png

Second stage

得到父母双方的基因后通过随机挑选的方式,获取孩子的gence vector $g_c$ ,$r_i$ 是被随机赋予的值:
image.png

Third stage

根据上一阶段选择的孩子gene vector $g_c$,DNA-Net的解码器将基因信息先解码到CAAE model分布的特征向量$h_c=T_{gf}(g_c)$ ,然后CAAE解码器生成图像$x_c=G(h_c)$ 。

2.2 Image-Feature Mapping via CAAE

CAAE是《Age Progression/Regression by Conditional Adversarial Autoencoder》在这篇文章中提出的,本文基本保持了原来CAAE的思路。训练时,图像统一到$128\times 128$ RGB的尺度。年龄分离散化到多个阶段,只用one-hot向量表示。性别也使用one-hot向量表示,且扩展到与年龄的相同的向量长度,缺位补0。使用L2距离作为损失:
image.png
这里给编码器特征添加了鉴别器$D_z$使其符合均匀分布,让年龄转换更平滑。(这些都是CAAE原文的做法)
整体损失函数如下:
image.png

2.3 Genetic Mappings via DNA-Net

该模块训练时是预先准备好父亲、母亲和孩子的编码器特征,单独训练的。训练时,使用固定规则挑选父母双方的基因,文中使用的是max操作,选取双方最大的分量,组合成孩子的基因$g_c$ 。而在测试时,则是选取与gene vector等长的掩码,选取双方特征。训练时,通过让预测的孩子特征和真实孩子特征的L2距离更近,构建损失:
image.png
同时所挑选基因生成的特征也要符合均匀分布(与编码器特征要求相同):
image.png

3 实验

CAAE model使用UTKFace 数据集训练,包含20000张对齐后带年龄和性别标签的数据。
FIW数据集包含1997组father-mother-child face数据,随机选择1600组用于训练,保留397组用于测试。

定量定性测试

随机选取了100对正例和100对负例进行亲属人脸验证。召集30名志愿者区分亲属关系。
image.png
最后对特征进行了可视化:
image.png
image.png


本文作者 : HeoLis
原文链接 : http://ishero.net/DNANet%20Age%20and%20Gender%20Aware%20Kin%20Face%20Synthesizer.html
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

学习、记录、分享、获得

微信扫一扫, 向我投食

微信扫一扫, 向我投食