网络知识 娱乐 PoseFace: 用于人脸识别的姿态不变特征和姿态自适应损失

PoseFace: 用于人脸识别的姿态不变特征和姿态自适应损失

论文标题:

PoseFace: Pose-Invariant Features and Pose-Adaptive Lossfor Face Recognition

论文地址:

2107.11721 (arxiv.org)

这是一篇arxiv的文章,思路挺有意思,记录一下

摘要

深度学习在人脸识别方法中取得了严重,然而不受约束的环境中有较大的姿势变化时性能下降,为了解决这个问题,当前的方法使用特定姿势的附加模块对人脸进行建模或矫正。忽略了特征信息应该在不同姿势之间保持一致的事实,并且没有意识到在训练期间的正面和侧面图像之间数据不平衡。作者提出了一个高效的 PoseFace 框架,利用面部标志来解开姿势不变特征,并利用姿态自适应损失来自适应地处理不平衡问题。在 Multi-PIE、CFP、CPLFW 和IJB 证明方法优于最先进的技术。

1、简介

近年来卷积人脸识别技术取得了突破,然而在较大的姿态变化时人脸识别仍然是巨大的挑战,主要是由于:(a) 正脸和侧脸在数据集中有严重的不平衡,这对以数据驱动的深度模型来说,无法鲁棒的捕捉人脸的特征信息,(b) 轮廓面本质上对人脸识别来说很难, 人脸图像主要由特征信息和姿势信息。如何有效地解开它们仍然是一个悬而未决的问题。

大姿态角的人脸识别,当前方法大致可以分为两类,一种是将轮廓脸矫正为正脸,另一种是学习大姿态的人脸特征。

为了解决上述问题,作者提出了新颖而有效的框架PoseFace解决大姿态人脸识别。

为了解决人脸姿态和人脸特征的解耦,(a)强制人脸特征和姿态映射到两个线性正交空间(b)保证了姿态特征的纯净,避免特征信息和姿态信息的交叉

网络第一部分设计了一个预训练的自动编码器用于人脸关键点和特征向量的建模,特征向量只和关键点有关,被当做姿态特征的伪标签。该方法简单明了,能够有效地提取姿态信息,避免特征信息的丢失。

网络第二部分提出了姿态的自适应损失,用于处理正脸和不同姿态之间的数据不平衡问题,我们将重点放在训练困难样本上(即,大的姿势面)防止大量的正脸简单样本主导训练。

这篇论文的主要贡献如下:

1、提出了一个自分离的方法能够将姿态和人脸特征分离到两个正交的空间,以此获得大姿态的人脸特征。

2、设计了一个姿态自适应损失用于数据的不平衡问题

3、在人脸识别benchmark上达到了新的水平

2 相关工作

2.1姿态不变特征表示

姿态不变特征表示方法是对姿势变化具有鲁棒性的扑通特征。可能的解决方案是分而治之,即使用多姿态特定模型,以处理不同的姿态面。c-CNN引入了动态激活kernel为不同的输入形成各种网络结构。每一层中的kernel都被稀疏激活征表示。PAMs融合了从多个姿势特定模型得到的分数。p-CNN提出了一种多任务卷积神经网络,身份识别和姿势是主要任务,光照和表情估计是次要任务。这种多模型框架的效率问题限制了它们在许多实际应用中的使用。

2.2 人脸正面化

人脸正面化方法将人脸规格化为标准化校准正面视图,然后使用合成人脸进行识别。最近,生成对抗网络(GAN)得到了广泛的应用显示了其在合成人脸方面的巨大潜力. TP-GAN和PIM通过同时感知全局结构和局部信息实现归一化。FNM是一种无监督的人脸归一化方法,该方法包括人脸专家网络和人脸注意力识别器。在CAPG-GAN中信息不仅在过程中指导生成器,而且在推断期间用作可控条件。尽管GAN取得了一些改进,但它仍存在一些问题,合成的人脸中存在虚幻纹理并且出现身份信息丢失,还有高计算成本。

与之前的工作相比,我们的PoseFace是一个简洁明了的框架。通过正交约束将人脸特征和姿态特征分离。整个过程不需要配对输入或额外标签,因此可以在公共数据集进行训练。此外,训练速度和GPU内存消耗都接近ArcFace。在推断过程中PoseFace与ArcFace没有区别,因为多余的模块只在身份识别中使用(图2)。


3 本文方法

我们的方法基于以下两个观察:

观察1:人脸包含特征识别信息和大量其他信息(光照,姿态、表情等),特征信息和其他信息应该是不相关的

观察2:姿态信息可以通过关键点进行编码,并且其他光照纹理等信息对于姿态估计不是必须的

我们提出的方案主要包括:一个关键点模块、一个身份识别模块和一个姿态模块。关键点模块经过预训练并用作姿态特征提取。在训练中引入了正交约束和位姿损失。自适应识别损失在ArcFace中增加姿态脸的权重。在测试期间,仅使用识别模块,与ArcFace相同。

3.1 网络细节

如图2所示,人脸通过骨骼网络,然后是身份/姿势模块将主干特征转换为身份/关键点子空间。这个转换通过正交约束实现。将关键点作为输入并生成伪标签对姿势特征进行分类,以监督姿势模块的学习。

姿态模块:通过一个线性层wp将骨干网络的特征fb投影到姿态特征fp

识别模块:将骨干网络特征投影到识别特征空间

关键点模块:为了找到姿势特征之间的一对一映射,实现了一个自动编码器网络,如图3所示。

预训练编码器在landmark模块中提取特征。根据观察2,我们将提取的特征视为姿态并将其用作伪标签来训练姿势模块,考虑到热图的稀疏性,训练自动编码器采用加权L2损失,如公式(1)所示。

网络输入 许多关于姿态不变特征的工作是从同一张脸上取一对正面和大姿态人脸作为输入。正面和姿态脸之间的差异特征作为惩罚以去除姿势信息。作者的方法采用一个对齐的人脸图像,即对应的关联点和角度作为一个输入单元。角度根据面部关键点估算。可以通过设计的网络端到端的学习姿态不变特征。

3.2 姿态自适应ArcFace(PAA)损失

许多现有模型在识别大姿态人脸都会遇到大的性能下降问题。除了固有的难以识别之外,另一个原因是正面和姿态样本的数量在许多训练数据集中是高度不平衡的。

受权重自适应方法的启发,如focal loss[18]、Adacos[51]和Adaptiveface[20],我们基于面部角度修改了arcface的margin,如图4所示

对于样本i的margin,定义为mi=mb+ri·δm。这里是mb是基础margin,Δm是附加margin。由比率r i控制∈ [0, 1],其根据俯仰/偏航/侧倾角度计算。大姿态将分配较大的比例。身份特征的分类损失公式为姿态自适应ArcFace(PAA)损失:


3.3 姿态不变特征

在我们的实现中,身份特征Fi和姿态Fp被强制分布在两个正交子空间。通过解开它们,确保生成身份特征必须是姿态不变的。

姿态特征约束 将训练好的关键点姿态模块作为人脸姿态的伪标签,图二中poseloss

正交约束 同过正交约束将基础网络特征分解到人脸特征和人脸姿态两个正交空间上

PoseFace Loss 我们的问题可以通过如下等式描述

完整的 PoseFace loss 如下

4 实验

本节评估PoseFace方法在具有大姿态变化的各种人脸识别基准上的效果。,在中4.1节描述了实施细节,4.2节中的消融研究,4.3节中的基准详细结果,作为补充,本文对超参数λ1、λ2进行了敏感性分析。

4.1 实施细节

我们使用人脸对齐网络(FAN)生成68个关键点,并通过关键点估计俯仰/偏航/侧倾角度。实现中使用一个简单的函数|偏航|/90◦ 以估计自适应比ri。不考虑侧倾和俯仰角。

4.2 消融实验

PAA和正交的作用 和基础网络arcface的对比结果如下表1

关键点模块的作用

可视化

可以看到图六中加入正交损失后,两个特征的点积变小

4.3 benchmark 结果

5 结论

在本文中,我们提出了一个新的PoseFace框架以处理较大的姿势变化。具体而言,我们利用来自身份特征的姿势信息人脸标志的正交约束计算姿态不变特征。我们进一步提出一个针对困难样本和稀有样本的自适应损失解决数据不平衡问题。在基准上进行的大量实验令人信服,结果表明,该方法具有优越性。作为一个通用框架,PoseFace可以通过arcface或者其他损失实现。此外,还提出了将自动编码器与正交编码相结合的思想分离出正交空间,也可以应用于其他领域建模无关的特征。

个人总结

1、比较有效的辅助训练方式,可以提高性能,而不影响推理性能

2、正交性损失有点意思,可以强制不相关特征分离进行建模。