Look across Elapse: Disentangled Representation Learning and Photorealistic Cross-Age Face Synthesis for Age-Invariant Face Recognition
Motivation
现有的跨年龄识别技术可以分为两种:
- 直接提取与年龄无关的特征进行识别
- 生成某个年龄的人脸,后进行匹配
作者认为这两个任务一起进行比较合适,可以互相利用信息。
Contribution
主要提出人脸不变模型Age-Invariant Model (AIM)
- AIM是一个新的架构,可以同时用于跨年龄生成与人脸识别
- AIM可以实现连续的年龄变化,同时保留身份
- AIM可以分离出于年龄不变的特征表示
Approach
根据之前的研究,人脸实际上可以分为跟年龄有关的成分和与身份有关的成分。AIM将学习跟年龄无关的特征,然后添加人脸年龄属性进行对应合成,从而保证基于不变年龄的合成。
AIM是基于GAN,由RLN 年龄不变特征学习模块,FSN 面部合成模块两部分组成。
Representation Learning sub-Net(RLN)
这个模块主要就是要将同一身份不同年龄投影到相同的特征空间,解纠缠年龄与身份的关系。它由一个生成器及鉴别器组成,使用对抗学习增加约束生成的特征。
首先定义模块提取特征:
G
θ
E
G_{\theta _{E}}
GθE是一个生成器(编码器),由9个损失组合而成。
-
跨年龄域对抗损失 L c a d L_{cad} Lcad
使用迁移学习的方法,使得学习到的域自适应,这使得特征不受域(年龄)的影响,哪怕某个域样本有限关系不大。 -
交叉熵正则损失 L c e r L_{cer} Lcer
如果单独使用 L c a d L_{cad} Lcad,可能生成的流形局部最优,并不具有模糊可分性,由此引入 L c e r L_{cer} Lcer,这个地方没怎么看明白。
-
f均匀分布对抗损失 L a d v 1 L_{adv1} Ladv1
加入一个先验分布,使得f的流形是没有空洞的,也就是平滑过渡的。
-
身份一致性损失 L i p L_{ip} Lip
Face Synthesis sub-Net (FSN)
这个部分就是生成某个身份指定年龄的人脸:
c
c
c:代表年龄编码
x
x
x:输出人脸
也是使用对抗学习的方式,生成器为
G
θ
D
G_{\theta _D}
GθD,损失为:
-
图像真实性及伪影损失 L a d v 2 L_{adv2} Ladv2
C i , j C_{i,j} Ci,j :转换 f i f_i fi到年龄段 j j j的年龄编码
常见的对抗损失,保证生成的图片是真实的 -
年龄估计损失
保证图片符合理想变化效果,老化/年轻 -
流形一致性损失
-
尖峰伪影损失
-
注意力损失 L a t t L_{att} Latt
Discussion
个人总结本文的主要贡献在于结合特征提取与人脸生成的多任务框架AIM,包括其中涉及的几个损失函数,如域自适应、身份一致、年龄趋势等,很好地结合了先验知识进行设计。
但是文章细节部分有些没有讲清,比如标签平滑那个地方,着实没看明白,有机会再补充吧。
References
Zhao, J., Cheng, Y., Cheng, Y., Yang, Y., Lan, H., Zhao, F., Xiong, L., Xu, Y., Li, J., Pranata, S., Shen, S., Xing, J., Liu, H., Yan, S., & Feng, J. (2018). Look across elapse: Disentangled representation learning and photorealistic cross-age face synthesis for age-invariant face recognition. ArXiv.