深度人脸识别:CVPR2020论文要点

深度人脸识别:CVPR2020论文要点

Towards Universal Representation Learning for Deep Face Recognition

 

 

 

论文链接:https://arxiv.org/pdf/2002.11841.pdf

摘要

识别狂野的面孔是极其困难的,因为它们看起来有各种各样的变化。传统的方法要么使用目标域中的特定注释变化数据进行训练,要么通过引入未标记的目标变化数据来适应训练数据。相反,我们提出了一个通用的表示学习框架,它可以在不利用目标领域知识的情况下处理给定训练数据中看不到的较大变化。我们将训练数据与一些语义上有意义的变化(如低分辨率、遮挡和头部姿势)进行了综合。然而,直接输入增广数据进行训练并不能很好地收敛,新引入的样本大多是硬例子。我们建议将特征嵌入分割成多个子嵌入,并为每个子嵌入关联不同的置信值,以平滑训练过程。通过调整不同分区上的变化分类损失和变化对抗损失,进一步解除了子嵌入的相关性。实验表明,该方法在lfwandmagface等一般人脸识别数据集上取得了很好的性能,而在微型人脸和IJB-S等极端基准上取得了显著的效果。

Introductions

      深度人脸识别是将输入的图像映射到一个具有较小的内部同一距离和较大的内部同一距离的特征空间,这是通过损失设计和具有丰富的类内变化的数据集来实现的[29,40,17,38,4]。然而,即使是非常大的公共数据集,如MS-Celeb-1M,也表现出强烈的偏见,如种族[33]或头部姿势[20,24]。这种变化的缺乏导致在具有挑战性的测试数据集上性能显著下降,例如,先前最新技术[31]报告的IJB-S或TinyFace[11,3]的精度比IJB-A[14]或LFW[10]低约30%。最近的研究试图通过识别相关的变异因素,并通过领域适应方法增加数据集以合并它们来缓解这个问题[33]。有时,这样的变化很难识别,因此领域适应方法被用来调整训练和测试领域之间的特征【28】。或者,可以在不同的数据集上训练单个模型,并对其进行集成,以在每个数据集上获得良好的性能[19]。

所有这些方法要么只处理特定的变化,要么要求访问测试数据分布,要么增加额外的运行时复杂性来处理更广泛的变化。相比之下,我们建议学习一个单一的“通用”深度功能演示,它可以处理变化的婴儿识别,而不需要访问测试数据分布,并保持运行时效率,同时在不同情况下获得强大的性能,特别是在低质量的图像上(见图1)。

本文在第三节中介绍了一些新的贡献来学习这种普遍的表示。首先,我们注意到具有非正面姿势、低分辨率和严重遮挡的输入是对“野外”应用提出挑战的关键可命名因素,对于这些应用,训练数据可能会得到综合增强。但是直接在训练中加入硬扩充的例子会导致一个更难的优化问题。我们通过提出一个识别损失来缓解这个问题,这个损失可以解释每个样本对学习概率特征嵌入的信心。

其次,我们通过将嵌入分解为子嵌入,每个子嵌入在训练过程中都有独立的置信值,从而寻求最大化嵌入的表示能力。

第三,鼓励所有子嵌入通过子嵌入的不同分区上的两个相反的正则化进一步去相关,即变化分类损失和变化对抗损失。第四,我们通过挖掘训练数据中的额外变化来进一步扩展去相关正则化,对于这些变化,合成增强不是微不足道的。

最后,我们通过一个概率集合来解释子嵌入对不同因素的不同判别能力,这个概率集合解释了它们的不确定性。在第5节中,我们对公共数据集上提出的方法进行了广泛的评估。

与我们的基线模型相比,该方法在一般人脸识别基准(如LFW和YTF)上保持了较高的精度,同时显著提高了在IJB-C、IJB-S等具有挑战性的数据集上的性能,在这些数据集上实现了最新的性能。详细的烧蚀研究显示了上述每一种贡献对实现这些强大性能的影响。             

总之,本文的主要贡献有:             

•一个面部表情学习框架,通过将通用特征与不同的变化相关联来学习通用特征,从而提高对不同测试数据集的通用性。             

•在培训期间利用样本可信度从硬样本中学习特征的可信度识别损失。            

 •特征去相关正则化,在不同的子嵌入分区上应用变化分类损失和变化对抗损失,从而提高性能。              

•有效结合合成数据的训练策略,以训练适用于原始训练分布之外的图像的人脸表示。             

•几个具有挑战性的基准的最新成果,如IJB-A、IJB-C、TinyFace和IJB-S。 

 

实验表明,该方法在LFW和Mega Face等通用人脸识别数据集上取得了最好的性能,而在Tiny Face和IJB-S等极端基准上则表现得更好。

 

 



背景知识

现在已经有很多方法去进行人脸识别。然后,所有这些方法要么只处理特定的变化,要么需要访问测试数据分布,要么增加额外的运行时复杂性来处理更广泛的变化。相比之下,作者建议学习一个单一的“通用”深层特征表示,它可以处理人脸识别中的变化,而不需要访问测试数据分布,并保持运行时效率,同时在各种情况下实现强大的性能,特别是在低质量的图像上。

 

 

 

传统的识别模型需要目标域数据从高质量的训练数据中进行无约束/低质量的人脸识别。为了实现普遍表示的目的,进一步需要模型集成,这大大增加了模型的复杂性。相比之下,作者提出的方法只对原始训练数据有效,没有任何目标域数据信息,可以处理无约束的测试场景。

新方法框架

 

 


上图 随着不同的变化而增加的样品

Confidence-aware Identification Loss

 

 

 

 


为了简单起见,定义一个置信值si,在L2-标准化单位球上约束fi和wj:

 

 

 

上面公式中的效果如下图所示。

 

 

 

当在不同质量的样本之间进行训练时,如果假设所有样本的置信度相同,那么所学习的原型将位于所有样本的中心。这并不理想,因为低质量的样本传达的身份信息更加模糊。相比之下,如果我们建立sample-specific confidence(si),高质量样本显示更高的信心,它推动原型wj更接近高质量样本,以最大化后验。同时,在嵌入fi的更新过程中,更有力的推动了低质量fi更接近原型。

在指数logit上增加loss margin已被证明是有效的缩小类内分布。也把它纳入框架的损失中:

 

 

 

Confidence-aware Sub-Embeddings



虽然通过一个特定的门控si学习的嵌入fi可以处理样本级别的变化,但是作者认为fi本身的条目之间的相关性仍然很高。为了最大限度地提高表示能力并实现紧凑的特征尺寸,需要对嵌入项进行去相关处理。

 

 

 

这鼓励作者进一步将整个嵌入fi分解为分区的子嵌入,每个子嵌入都进一步分配一个标量置信值。如上图所示,将整个feature embedded fi分割成K个等长次嵌入,如下公式所示。据此,将原型向量wj和置信标量si划分为大小相同的K组。

 

 

 

则最后的识别损失如下公式:

 

 

 

 

最后增加了一个额外的l2正则化来限制置信度的增长:

 

 

 

Sub-Embeddings Decorrelation



单独设置多个子嵌入并不能保证不同组中的特征是学习互补信息的。根据下图的经验,作者发现子嵌入仍然是高度相关的,即fi分为16组,所有子嵌入的平均相关系数为0.57。

 

 

 

如果我们用不同的正则化方法对次嵌入进行惩罚,可以降低它们之间的相关性。通过将不同的子嵌入与不同的变量联系起来,对所有子嵌入的一个子集进行变量分类损失,同时对其他变量类型进行变量对抗性损失。给定多个变量,这两个正则化项被强制放在不同的子集上,从而得到更好的子嵌入解相关。

挖掘更多的变量



由于可扩展变量的数量有限(在本文为3个),导致了去相关效应的有限,因为Vt的数量太小。为了进一步增强去相关,并引入更多的变量以获得更好的泛化能力,我们的目标是探索更多的语义变量。请注意,并不是所有的变量都容易进行数据扩充,例如微笑或不微笑是很难扩充的。对于这种变量,我们尝试从原始训练数据中挖掘出变量标签。特别是,利用一个现成的属性数据集CelebA训练属性分类模型身份对抗的损失:

 

 

 

Uncertainty-Guided概率聚合



考虑到推理的度量,简单地取学习到的子嵌入的平均值是次优的。这是因为不同的次嵌入对不同的变量有不同的识别能力。它们的重要性应该根据给定的图像对而有所不同。考虑应用与每个嵌入相关的不确定性,为成对的相似度评分:


 

 


实验及可视化

三种类型的数据集,LFW, IJB-A和IJB-S

 

 

 

 

 

Testing results on synthetic data of different variations from IJB-Abenchmark (TAR@FAR=0.01%)

 

 

 

上图是通过t-SNE可视化特征分布。

 

 

 

 

 

 

 

将16个subembeddings的不确定度评分重新划分为4×4个网格。高质量和低质量的次预埋件分别以深色、浅色显示。对于不同的变化,不确定度图显示不同的模式。如下图:

 

 

 

 

 

 

上图是训练样本子嵌入置信度的可视化。

 

posted @ 2020-03-26 20:31  吴建明wujianming  阅读(2149)  评论(0编辑  收藏  举报