人脸相关

 https://github.com/neverUseThisName/Decorrelated-Adversarial-Learning

Decorrelated Adversarial Learning for Age-Invariant Face Recognition

Abstract

人们对跨年龄的人脸识别越来越感兴趣。然而,年龄差距大的人脸匹配仍然是一个具有挑战性的问题,这主要是由于年龄的增长导致的人脸外观的显著差异。为了减少这种差异,本文提出了一种新的算法,从混合了身份和年龄信息的特征中去除与年龄相关的成分。具体来说,我们将混合人脸特征分解为两个不相关的分量:身份依赖分量和年龄依赖分量,其中身份依赖分量包含了对人脸识别有用的信息。为了实现这一思想,我们提出了去相关对抗学习(Decorrelated Adversarial Learning,DAL)算法,其中引入一个规范映射模块(Canonical Mapping Module,CMM)来寻找由一个主干网生成的成对特征之间的最大相关性,同时训练主干网和分解模块来生成降低相关性的特征。因此,该模型学习了被分解的年龄和身份特征,其相关性被显著降低。同时,身份依赖特征和年龄依赖特征分别由ID和年龄保留信号进行监督,以确保两者都包含正确的信息。在流行的公共领域人脸老化数据集(FG-NET、MORPH Album 2和CACD-VS)上进行了大量实验,验证了该方法的有效性。

1. Introduction

人脸识别已经被研究了很多年,传统的方法[30,25,29,51]和更近期的基于深度学习的算法[40,42,41,49,43,43,31,10]使用深度学习网络取得了很好的性能,如[22,39,17,50]。其中许多模型在各种情况下甚至比人类还精确。然而,对不同年龄层的人脸进行识别仍有待探索。

近年来,随着现代技术的发展[44,49,31,45,43,10],引入了基于margin的度量和归一化机制来训练模型,以提高人脸识别的性能。然而,在跨年龄人脸识别(Age Invariant Face Recognition,AIFR)的情况下,这些方法往往缺乏识别能力。AIFR面临的关键挑战是由老化过程产生的显著差异。图1显示了一个例子,同一身份的人脸图像在不同年龄之间有很大的差异,而不同身份的人脸图像共享相似的年龄相关信息。因此,那些年龄差距大的人脸就成为了当前人脸识别系统无法正确识别的hard examples。特别是,儿童和老人的面孔越多,身份内距离越大。

与此同时,跨年龄人脸识别(AIFR)的研究越来越受到人们的关注。目前关于AIFR的研究主要集中在生成(generative)模型和判别(discriminative)模型的设计上。生成方法[12,23,35]提出通过合成不同年龄的人脸图像来辅助人脸识别。最近,一些研究[57,2,11]的目标是通过利用强大的GAN模型来提高生成的老化人脸的质量。然而,精确地模拟老化过程是困难和复杂的。合成人脸中的不稳定伪影会显著影响人脸识别的性能。相比之下,判别方法在最近的研究中引起了越来越多的兴趣。例如,[13]通过隐藏因素分析(hidden factor analysis, HFA)分离与身份相关的信息和年龄相关的信息。[48]基于类似的分析,并将HFA扩展到深度学习框架。最近,OE-CNN[46]提出了正交特征分解来求解AIFR。所有这些研究表明,在假设人脸信息可以通过分解后的分量很好地建模的前提下,特征分解在特征的不变性学习中发挥着关键作用。然而,被分解的分量之间实际上存在着潜在的相互关系,身份依赖分量还可能包含年龄信息。

在本文中,我们引入了一个深度特征分解学习框架,将混合人脸特征分解为两个不相关的分量:身份依赖分量(xid)和年龄依赖分量(xage)。图2说明了我们的特征分解模式。我们通过一个受[4]启发的残差映射模块来实现这种分解。这意味着,年龄相关的嵌入是通过一个残差映射函数xage = R(x)进行编码的。我们有如下公式:x = xid + R(x),其中x为初始人脸特征,xid为与身份相关的特征。

为了减少分解分量之间的相互变化,我们提出了一种新的去相关对抗式学习(DAL)算法,该算法对抗式地最小化了xid和xage之间的相关性。具体来说,引入了一个规范映射模块来查找xid和xage之间的最大关联,而主干和因式分解模块旨在减少这种关联。同时,xid和xage分别通过身份和年龄分类信号学习。通过对抗性的训练,我们希望xid和xage能够充分的不相关,并且可以显著的减少xid中的年龄信息。

我们的主要贡献总结如下:
1. 提出了一种基于线性特征分解的去相关对抗式学习算法(Decorrelated Adversarial Learning,DAL),以规范分解后的特征的学习。这样,我们希望能够捕获用于AIFR的身份保持的跨年龄的特征。据我们所知,这是第一个将去相关对抗特征学习引入AIFR的工作。

2. 本文提出了批量典型相关分析(Batch Canonical Correlation Analysis,BCCA),它是随机梯度下降优化方法中CCA的推广。提出的BCCA可以集成到深度神经网络中用于相关性正则化。

3.该方法在包括MORPH Album2[37]、FG-NET[1]和CACD-VS[5]在内的AIFR数据集上显著提高了最新性能,证明了该方法的有效性。

2. Related Work

Age-Invariant Face Feature Learning.  

文献中很多研究[15,24,27,7,26,28,5,6,13]都采用heuristic方法提取手工特征。例如,[26]开发了一种带有局部特征描述子的多特征判别分析方法。[13]提出了隐藏因子分析(HFA)来建模特征因子分解,减少身份相关特征的年龄变化。[15]引入了一个有效的最大熵特征描述子和一个用于AIFR的鲁棒身份匹配框架。最近的几种方法[48,59,46]主要基于深度神经网络。[48]开发了Latent Factor guided Convolutional Neural Network(LF-CNN)来提高HFA。[59]引入了Age Estimation guided CNN (AE-CNN)方法进行AIFR。OE_CNN[46]提出了正交嵌入分解方法,将身份信息编码在angular空间,年龄信息表示在radial方向。本文提出了一种基于线性残差分解的DAL算法。

Canonical Correlation Analysis. 规范相关分析(CCA)[18]是一种度量两个多维变量之间线性关系的著名算法。之前的一些工作已经将该方法引入到各种场景下的人脸识别中。例如,[53]提出了一种使用CCA的2D-3D人脸匹配方法。[14]开发了一种人脸素描识别的多特征CCA方法。与这些典型的基于CCA的方法相比,我们的工作提出了将CCA扩展到深度神经网络而用于AIFR的正则化方法。

Adversarial Approaches.  生成对抗网络(GAN)[16]在各种生成任务中表现出了有效性,如人脸老化[57,2,11],人脸超分辨率[55,8]等。此外,对抗性网络也被用来改进判别模型。例如,[3]利用GAN对小人脸进行高分辨率处理,从而提高人脸检测。[9]开发了一个对抗UV completion框架(UV-GAN)来解决跨位姿的人脸识别问题。[32]提出在一个对抗式的自动编码器框架中学习身份提取特征和身份消除特征。[58]提出了一种对抗网络来生成triplet特征样本。在这项工作中,我们提出一种去相关对抗学习方法,以显着最小化身份和年龄解耦分量之间的相关性,从而身份相关特征在不同年龄中是不变的。

3. Method

3.1. Feature Factorization

由于人脸包含内在的身份信息和年龄信息,人脸特征可以由身份相关特征和年龄相关特征共同表示。基于此,我们设计了一个线性分解模块,将初始特征分解为这两个不相关的部分。形式上,给定由主干CNN模型 从输入图像p中提取的初始特征向量x∈Rd(即x = (p)),我们定义线性分解如下:

其中,xid表示身份相关的分量,xage表示年龄相关的分量。我们设计了一个类似于[4]的深度残差映射模块来实现这个功能。具体来说,我们通过映射函数得到年龄相关的特征,剩余部分作为身份相关的特征。我们称之为残差因子分解模块(Residual Factorization Module,RFM),表示为:

在测试阶段,仅使用与身份相关的特征进行人脸识别。希望xid编码身份信息,而xage绘制年龄变化。我们同时将身份识别信号和年龄识别信号放到这两个解耦的特征上,分别监督这两个分量的多任务学习。图3显示了我们工作的总体框架。使用类似resnet的主干提取初始特征,在此基础上建立残差模块进行特征分解。在这种分解的基础上,我们提出了去相关对抗式学习,它将在下一节中介绍。

3.2. Decorrelated Adversarial Learning

通过特征因子分解,当年龄变化时,xid的身份能保持不变对AIFR至关重要。不幸的是,xid和xage实际上彼此之间存在潜在的关系。例如,xid和xage之间可能具有很高的线性相关性。因此,xid可能部分涉及年龄变化,从而对人脸识别产生负面影响。另一方面,xid和xage应该相互不相关,以强制进行non-trival的学习,这样它们都可以改进自己。

为此,我们设计了一种有助于降低分解特征之间相关性的正则化算法,即去相关对抗学习算法(DAL)。DAL主要计算分解分量成对特征之间的规范相关性。

形式上来说,给定成对的特性xid、xage,我们设计一个线性规范映射模块(CMM),它将xid、xage映射到规范变量vid、vage:

其中wid、wage是规范映射的学习参数。然后,我们定义规范相关性为:

在此定义的基础上,我们首先通过更新CMM来找到相对于wid、wage的最大|ρ|值,然后通过训练主干和RFM来降低相关性。也就是说,一方面,我们冻结,然后在规范相关性最大化过程中训练。另一方面,在特征相关性最小化过程中,我们固定,然后更新。很明显,在对抗性训练过程中,他们会玩two-player min-max游戏来互相竞争。这样,我们的目标是通过始终降低xid和xage之间的最大标准相关性来最小化它们之间的相关性。也就是说,相关性最大的最优特征投影作为去相关的主要目标。因此,xid和xage不断学习,使其相关性很小,最终显著不相关。

综上所述,DAL的目标函数可表示为:

我们相信由DAL增强的强去相关将鼓励xid和xage彼此充分地保持不变性。重要的是,这将提高xid在跨年龄人脸识别中的鲁棒性。

3.3. Batch Canonical Correlation Analysis

与典型的典型相关分析方法(CCA)相比,本文引入了基于随机梯度下降优化方法(SGD)的典型相关分析方法(BCCA)。由于几乎不可能对整个数据集进行相关统计数据,因此我们采用类似于batch normalization[20]的策略来基于mini-batch计算相关统计数据。因此,它适合于深度学习框架。

给定mini-batch大小为m,我们有两个分解特征集:。因此,规范相关性可以写成:

其中μid和σ2id分别表示vid的均值和方差,同样地有μage和σ2age。其中ε是用于保证数值稳定的常数。

方程6作为BCCA的目标函数,我们利用基于SGD的算法对其进行优化。需要注意的是,在更新时,规范相关性值|ρ|必须最大化,而在训练时则必须最小化。梯度的推导如下:

因此,优化包括输出ρ的前向传播和计算更新的梯度的后向传播。BCCA的详细学习算法描述在算法1中。

3.4. Multi-task Training

在本节中,我们描述了多任务训练策略来监督分解特征的学习。如图3所示,有三个基本的监督模块:年龄判别器、身份判别器和DAL regularizer。

Age Discriminator.  对于年龄信息的学习,我们将xage输入到年龄判别器中,以保证年龄判别器的年龄信息。由于实际年龄标签是粗糙的,带有不确定的噪声,我们采用[13,48]将年龄分为不同的组进行分类。我们使用带有交叉熵损失的softmax层来进行年龄分类。

Identity Discriminator. 根据最近的研究[45,43],我们利用CosFace损失来监督xid的学习并确保身份保持的信息。CosFace损失公式为:

其中N是身份的数量,yi是对应的身份标签,是第i个特征xiid和分类器第j个权重向量的角度cosine值。m是常量边际,用来控制cosine边际,s是常量scaling因子。CosFace损失的目的是在身份分类中引入更严格的约束,从而学习特征能够通过在不同身份之间的边际分隔开。在人脸识别中,一个适当大的m将使学习的特征中有强大的判别信息。

DAL Regularizer. 所提出的DAL regularization还参与了联合监督来指导特征学习,这样可以显著降低成对分解的特征之间的相关性。通过联合监督,模型同时学习激励xid、xage的判别能力以及这两个分解组件之间的去相关信息。

综上所述,训练是由以下多任务综合损失来监督的:

 

其中,LID为CosFace损失,LSM为带交叉熵的softmax损失,其中,为平衡这三种损失,还使用了标量超参数λ1和λ2。其中,在测试阶段,我们提取身份相关特征xid用于AIFR评估。

3.5. Discussion

该方法具有以下优点。首先,特征的DAL正则化有助于促进分解分量之间的不相关和 co-invariant信息。相关的研究如HFA[13], LF-CNN[48], OE-CNN[46]都忽略了潜在的相关性。相反,我们的目标是同时最小化分类误差和相关性影响的。第二,BCCA是CCA的扩展,并插入到深度学习框架中,这样整个模型就可以在端到端的过程中进行训练。最后,我们的方法可以很容易地推广到其他成分分解模型,如位姿、光照、情绪等。据我们所知,我们是第一个为AIFR开发去相关对抗正则化框架的人。

4. Experiments

4.1. Implementation Details

Network Architecture.  

(1)主干网:我们的主干网络是一个64层的CNN,类似于[46]。由4个stages组成,分别为3、4、10、3个堆积残差块。每个残差块有3个堆叠单元“3x3 Conv + BN + ReLU”。最后一个FC层输出512维的初始人脸特征(这里说的是)。

(2)残差因子分解模块(RFM):将初始人脸特征通过2个“FC +ReLU”这里说的是,RFM,输入输出维度相同,即512)映射成年龄相关特征,与初始特征相减剩余部分作为身份相关特征。

(3)年龄判别器:将3个“FC +ReLU”叠加在xage上,进行年龄分类。

(4) 身份判别器:直接使用xid进行CosFace loss的识别。

(5) DAL regularizer:将xage和xid分别输入一个FC层这里说的是,这里的fc层输入为512,输出为1),输出它们的线性组合,用于BCCA的计算和优化。

剩下省略

5. Conclusion

在本文中,我们提出了AIFR的去相关对抗学习(DAL)方法。我们的模型学会了在对抗性的过程中最小化身份和年龄成对分解的特征之间的相关性。我们提出了批量典型相关分析(BCCA)算法,作为CCA在深度学习中的扩展。除DAL外,我们在身份和年龄分类的共同监督下,同时对模型进行训练。在测试中,仅使用身份特征进行人脸识别。在AIFR基准上进行的评估证明了我们的方法的优越性。

原文地址:https://www.cnblogs.com/wanghui-garcia/p/14075367.html