AdaFace:图像质量自适应的人脸识别


文章标题:

AdaFace: Quality Adaptive Margin for Face Recognition

arxiv地址:

https://arxiv.org/pdf/2204.00964.pdf

这篇文章是CVPR2022的Oral,CVPR2022年的谷歌学术因子排总榜第四名,Nature、NEJM、Science分别位列前三位。大名鼎鼎的医学期刊柳叶刀位列第5

摘要

1、低质量图像的人脸识别具有挑战性,以往的损失函数强调了困难样本的重要性。

2、作者在损失函数中引入了图像质量,困难样本的重要性应该基于样本的图像质量来给定。

3、本文的方法通过用特征的范数来近似图像质量,提出的AdaFace在4个数据集(IJB-B、IJB-C、IJB-S和IJBTinyFace)上提高了现有的(SoTA)的人脸识别性能。


1 简介

图像质量是一系列特征的组合,影响图像质量的因素包括亮度、对比度、锐度、噪声等。本文关注的是人脸图片,可能是极端的人脸图像。

无法识别的图像不利于模型的训练,因为模型将试图利用图像中的其他视觉特征,如服装颜色,影响损失函数的损失。低质量图像导致训练过程中由于损失很大, 过分关注这些低质量图片,那么该模型在测试中就会很差。

由于无法识别人脸图像的内容,作者设计了一个损失函数,根据图像质量对不同困难的样本赋予不同的重要性。作者的目标是强调高质量图像的困难样本和低质量图像的简单样本。

作者提出了一个损失函数adaface,实现上述目标。作者发现

a . 特征范数可以很好地代表图像质量;

b.不同的margin函数对不同的困难样本具有不同的重要性。

损失函数adaface根据图像质量自适应地改变margin,对不同的困难样本赋予不同的重要性。

本文的主要贡献

    1. 损失函数adaface根据样本的图像质量对不同的困难样本赋予不同的权重。通过结合图像质量,避免看重难以识别的图像,专注于困难可识别的样本;
    2. 实验表明,梯度与训练样本的难度相关。作者通过自适应地改变margin函数来强调困难样本,如果图像质量较低,则忽略非常困难的样本
    3. 证明特征范数可以表征图像质量。
    4. 在9个不同质量的数据集(LFW、CFP-FP、CPLFW、AgeDB、CALFW、IJB-B、IJB-C、IJB-S和TinyFace)评估,AdaFace在低质量数据集上的识别性能可以大大提高,同时保持在高质量数据集上的性能。



    5. 2 相关工作
    6. 2.1 基于margin的损失函数
    7. 基于Margin的softmax损失函数广泛应用于人脸识别。基于Margin的softmax损失函数有sphereface、cosface和arcface等,这些损失函数可以统一的写成如下形式


其中θ为特征向量与第个分类器权值向量W之间的夹角,为标签的索引,m为x系数。是一个margin函数,sphereface、cosface和arcface的margin函数可以表述如下:


arcface被称为角度 margin,而cosface被称为加性 margin。这里,是一个用于缩放的超参数。adaface将margin建模为图像质量的函数,margin函数f 影响在训练过程中的梯度。

2.2 自适应损失函数

CurricularFace在训练的开始阶段,的Margin设置很小,用于学习简单样本,训练后期,增加Margin,学习困难样本。CurricularFace的margin函数为

其中

是一个随着训练增大的参数。

本文作者认为Margin应该基于图像质量。对于高质量的图像,困难样本应该学习;低质量的图像,困难样本更有可能是缺乏识别特征,网络应该减少学习。

2.3 低质量图像的人脸识别

关于质量相关的人脸识别,有人提出了概率方法来预测人脸识别表示中的不确定性。假设特征是分布,其中方差可以用来计算预测的确定性。由于训练目标的不稳定性,概率方法会分别学习均值和方差。


3 本文方法

样本的交叉熵损失函数为:

在测试时,一对图像,和,使用余弦相似度度量来衡量相似度。为了使训练目标直接优化余弦距离,使用normalized softmax,其中偏置b设置为零,然后特征通过归一化和缩放参数进行转换:

3.1 Margin 形式和梯度

基于Margin的Softmax的工作主要研究Margin如何改变决策边界。作者认为角度 margin可以在梯度方程中引入一个附加项,根据样本的难度对信号进行缩放,重新分配不同样本的梯度。

设为对输入进行softmax后在第类上的概率。通过推导的梯度方程和,可以得到:

公式10中的第一项,和为不带margin的交叉熵导数,具体的推到过程可以参考https://zhuanlan.zhihu.com/p/99923080,后面两项是margin的偏导数,和是标量。把前两个标量项记作梯度尺度项gst,记为:

那么normalized softmax 和cosface的gst都为:


arcface的gst如下:

公式15的推导过程论文的附录中有给出

图3给出了不同损失函数的gst在特征空间中的颜色

对于角度 margin,gst在决策边界达到峰值,随着它向移动梯度逐渐减小,而困难样本梯度变小。如果改变角度 margin的符号,效果相反;adaface要做的就是在对于高范数的特征强调远离边界的样本,低范数特征强调边界附近的样本。也就是高范数看重梯度大的,低范数看重梯度小的。

3.2范数和图像质量

图像质量的因素包括亮度、对比度、锐度、噪声、色彩一致性、分辨率、色调再现等,现有的图像质量评估采用一个额外的模型和模块输出图像质量分数,

作者通过使用现有的质量评估算法计算出质量分数,随机采样进行分析,发现特征的范数和图像的质量具有一定的相关性

3.3 AdaFace: 基于范数的自适应margin

得到图像质量和特征范数的关系就开始建模了,作者建立了一个基于特征范数的质量因子如下:

||zi||是特征范数,和为一个batch内所有的平均值和标准差。[]是将该值clip到−1到1,由于该值符合高斯分布,−1到1区间内的占比为68%,设置h=0.33满足该要求。

如果是batch较小,可以使用指数移动平均


作者设计的自适应margin函数如公式18,当=−1时,函数即为arcface。当=0,为cosface。当=1时,变成负角度margin。


作者也在附录中总结了各损失函数的gst:


4 实验

实验部分主要是图像质量指标中的h和超参数m的对比实验,具体可以看原文,最后上一个经典的提升SOTA的图

5 总结

1、该方法没有解决因为数据噪声引起的困难样本问题

2、论文使用了被撤回的数据集MS1MV*


个人总结

1、整篇文章思路很清晰,有完整的理论推导和详细的实验,毕竟深度学习很多时候都是黑洞,满足人们对理论的期盼,oral当之无愧

2、文章给的特征范数和图像质量的相关系数只有0.5,其实不是那么的理想,期待更多大佬的优化

3、文章统一了cosface、arcface等margin函数,做统一函数也是一个方向,比如poly loss、gfl loss等

4、文章从梯度方向分析了难易样本的问题,也是一个很好地切入点,其实有不少工作都开始从梯度方向分析,比如长尾分布问题中的loss

5、由于目标检测中可以用iou评估样本的质量,所以目标检测中已经有比较成熟的样本质量自适应损失,基本都是基于iou或者一个iou的函数。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章