人脸表情 - 1 - Suppressing Uncertainties for Large-Scale Facial Expression Recognition - 1 - 论文学习
Suppressing Uncertainties for Large-Scale Facial Expression Recognition
Abstract
由于人脸表情模糊、人脸图像质量不高以及注释者的主观性等因素造成的不确定性,定性大尺度人脸表情数据集的标注非常困难。这些不确定性是深度学习时代大规模面部表情识别的主要挑战。为了解决这一问题,本文提出了一种简单而高效的Self-Cure Network (SCN),该网络能够有效地抑制不确定性,防止深度网络过度拟合不确定的人脸图像。具体来说,SCN从两个方面抑制不确定性:1)mini-batch的自注意机制,通过rank regularization对每个训练样本进行加权;2)重标签机制,在最低排序组中修改这些样本的标签。在合成的FER数据集和我们收集的WebEmotion数据集上的实验验证了我们方法的有效性。公共基准的结果表明,我们的SCN优于目前最先进的方法,在RAF-DB为88.14%,AffectNet为60.23%,FERPlus为89.35%。代码可见https://github.com/kaiwang960112/Self-Cure-Network.
1. Introduction
面部表情是人类传达情感状态和意图的最自然、最有力、最普遍的信号之一[7,38]。自动识别面部表情对于帮助计算机理解人类行为并与之互动也很重要。在过去的几十年里,研究人员利用算法和大数据集在面部表情识别(FER)方面取得了重大进展,数据集可以在实验室或自然环境中采集,如CK+[29]、MMI[39]、Oulu-CASIA[47]、SFEW/ few[10]、FERPlus[4]、AffectNet[32]、EmotioNet[11]、RAF-DB[22]等
然而,对于从互联网上收集的大规模FER数据集,由于注释者的主观性造成的不确定性以及自然环境中人脸图像的模糊性,很难实现高质量的标注。如图1所示,不确定性从高质量、明显的面部表情到低质量、微表情逐渐增加。这些不确定性往往导致标签不一致和不正确,阻碍了大规模面部表情识别的进展,特别是基于数据驱动的深度学习的面部表情识别。一般来说,在FER不确定的情况下进行训练可能会导致以下问题。首先,它可能导致对不确定样本的过拟合,从而导致错误标记。第二,其对一个学习有用的面部表情特征的模型来说是有害的。第三,不正确标签的比例过高,甚至会导致模型在优化初期不收敛。
为了解决这些问题,我们提出了一种简单而有效的方法,即Self-Cure Network(SCN),以抑制大规模面部表情识别的不确定性。SCN由三个关键模块组成:自注意重要性加权、rank regularization和噪声重标记。给定一批图像,首先使用backbone CNN提取人脸特征。然后,自注意重要性加权模块为每幅图像学习一个权重,以获取样本重要性,进行损失加权。对不确定的人脸图像赋予低的重要度权重。然后,rank regularization模块将这些权重按降序排列,将它们分成两组(即高重要度权重和低重要度权重),并通过在两组的平均权重之间设置一个margin来对这两组进行正则化。这种正则化是通过一个损失函数来实现的,称为Rank Regularization loss (RR-Loss)。rank regularization模块确保第一个模块学习有意义的权值来突出某些样本(如可靠的标注),抑制不确定样本(如模糊标注)。最后一个模块是一个仔细的重新标记模块,它试图通过比较最大预测概率与给定标签的概率,从底部组重新标记这些样本。如果最大预测概率高于给定标签的一个margin阈值,一个样本将被分配到一个伪标签。此外,由于不确定性的主要证据是不正确/嘈杂的注释问题,我们从互联网上收集了一个极端嘈杂的FER数据集,称为WebEmotion,以研究极端不确定性下SCN的影响。
总的来说,我们的贡献可以总结如下:
- 我们创新性地提出了人脸表情识别中的不确定性问题,并提出了一种Self-Cure Network来减少不确定性的影响。
- 我们精心设计了一个rrank regularization来监督SCN学习有意义的重要性权重,这也为重标记模块提供了参考。
- 我们在合成FER数据和从互联网上收集新的现实世界不确定情绪数据集(WebEmotion)上广泛验证我们的SCN。我们的SCN在RAF-DB上的性能也达到了88.14%,在AffectNet上达到了60.23%,在FERPlus上达到了89.35%,创造了新的记录。
2.Related Work
2.1. Facial Expression Recognition
一般来说,一个FER系统主要包括三个阶段,即人脸检测、特征提取和表情识别。在人脸检测阶段,使用MTCNN[44]、Dlib[2]等几个人脸检测器对复杂场景中的人脸进行定位。所检测到的人脸可以进一步进行对齐。在特征提取方面,设计了多种方法来捕捉面部表情引起的面部几何特征和外观特征。根据特征类型,可以将其分为工程特征和基于学习的特征。对于工程特征,它们可以进一步分为基于纹理的局部特征、基于几何的全局特征和混合特征。基于纹理的特征主要包括SIFT[34]、HOG[6]、LBP[35]直方图、Gabor小波系数[26]等。基于几何的全局特征主要基于鼻子、眼睛和嘴巴周围的landmark点。结合两个或两个以上的工程特征是指混合特征提取,它可以进一步丰富表征。对于学习到的特征,Fasel[12]发现浅层CNN对人脸姿态和尺度是鲁棒的。Tang[37]和Kahou等[21]利用深度CNNs进行特征提取,分别赢得了FER2013和Emotiw2013挑战。Liu等人[27]提出了一种基于Facial Action Units的CNN架构用于表情识别。最近,Li等人的[25]和Wang等人的[42]都设计了基于区域的注意网络,用于姿势和遮挡的人脸识别,这些区域要么从landmark点裁剪,要么从固定位置裁剪。
2.2. Learning with Uncertainties
FER任务中的不确定性主要来自于模糊的面部表情、低质量的面部图像、不一致的标注和不正确的标注(即噪声标签)。带噪标签的学习在计算机视觉领域被广泛研究,而其他两个方面的研究较少。为了处理有噪声的标签,一个直观的想法是利用一小组干净的数据,这些数据可用于在训练过程中评估标签的质量[40,23,8],或估计噪声分布[36],或训练特征提取器[3]。Li等人[23]提出了一个统一的蒸馏框架,使用来自小的清洁数据集的“side”信息和知识图中的标签关系,以对冲从有噪声标签学习的风险。Veit等人[41]使用一种多任务网络,共同学习清除有噪声的注释和对图像进行分类。Azadi等人[3]通过一个用于带有噪声标签的深度CNN的辅助图像正则化来选择可靠的图像。其他方法不需要一个干净的小数据集,但他们会在噪声样本[31]中假设额外的约束或分布,如用于随机翻转标签[33]的特定损失等, 使用MentorNet[20]在损坏标签上正则化深层网络; 还有其他通过连接潜在正确的标签和噪音标签[13,43],去使用softmax层建模噪音的方法,。在FER任务中,Zeng等人首先考虑了不同FER数据集之间的标注不一致问题,并提出利用这些不确定性来提高FER。相反,我们的工作集中在抑制这些不确定性,以学习更好的面部表情特征。
3. Self-Cure Network
为了学习具有不确定性的鲁棒面部表情特征,我们提出了一种简单而高效的自修复网络(SCN)。在本节中,我们首先提供SCN的概述,然后介绍它的三个模块。最后给出了SCN的具体实现。
3.1. Overview of Self-Cure Network
我们的SCN建立在传统CNN的基础上,由三个关键模块组成:i)自注意重要性加权,ii)rank regularization,iii)重标记,如图2所示。
本文首先对一批具有不确定样本的人脸图像,通过backbone网提取深度特征。自注意重要性权重模块使用全连接(FC)层和sigmoid函数为每个图像分配一个重要性权重。这些权重乘以样本重加权方案的对数。为了明确降低不确定样本的重要性,进一步引入rank regularization模块对注意权重进行正则化。在rank regularization模块中,我们首先对学习到的注意权值进行排序,然后将其分成两组,即高重要性组和低重要性组。然后我们在这些组的平均权值之间加上一个基于margin的损失的约束,这被称为rank regularization损失(RR-Loss)。为了进一步完善我们的SCN,我们增加了重标签模块,对低重要性组的一些不确定样本进行修改。重新贴标签的目的是寻找更多干净的样品,然后改进最终的模型。整个SCN可以端到端的方式进行训练,并容易地添加到任何CNN backbone中。
3.2. Self-Attention Importance Weighting
我们介绍自注意重要性加权模块去捕获训练中样本的贡献。期望的是确定的样本有高的重要性权重,而不确定样本有低的重要性。让表示N张图的人脸特征,自注意重要性加权模块以
作为输入,然后为每个特征输出一个重要性权重。具体来说,自注意重要性加权模块由一个线性全连接(FC)层和一个sigmoid激活函数组成,表示为:
其中是第i个样本的重要性权重,
是FC层用于注意力的参数,
表示sigmoid函数。该模块为另两个模块提供参考。
Logit-Weighted Cross-Entropy Loss. 有了注意力权重,我们有两个简单的选择来实现损失加权,灵感来自[17]。第一种选择是将每个样品的权重乘以样本损失。在我们的例子中,由于权值是端到端优化的,并且是从CNN的特征中学习的,因此当该trival解为0损失时,权重将为0。MentorNet[20]和其他self-pace的学习方法[19,30]通过交替最小化来解决这个问题,即一次优化一个,而另一个保持不变。在本文中,我们选择[17]的 logit-weighted 方法,它被证明是更有效的。对于多类交叉熵损失,我们称我们的加权损失为 Logit-Weighted Cross-Entropy loss(WCE-Loss),其公式为:
其中是第j个分类器。如[28]所说,
与
正相关
3.3. Rank Regularization
上述模块中的自注意权值在(0,1)中可以是任意的。为了明确约束不确定样本的重要性,我们精心设计了一个 rank regularization 模块对注意权值进行正则化。在 rank regularization模块中,首先将学习到的注意权值进行降序排序,然后以β为比例将其分成两组。 rank regularization 方法保证了高重要性组的平均注意权值高于低重要性组的平均注意权值一个margin值。为此,我们正式定义rank regularization损失(RR-Loss),如下所示:
其中是一个margin值,可以是一个固定值,也可以是一个可学习的参数,
和
分别是有着
个样本的高重要性组和有着
个样本的低重要性组的均值(一个mini-batch的样本数量为
)。在训练中,总损失函数为
,其中
为权衡比率
3.4. Relabeling
在rank regularization模块中,每个小批量被分为高重要度组和低重要度组。我们通过实验发现,不确定样本的重要度通常较低,因此一个直观的想法是设计一个策略来重新标记这些样本。
修改这些注释的主要挑战是知道哪个注释是不正确的。
具体来说,我们的重标记模块只考虑低重要性组中的样本,并在Softmax概率上执行。对于每个样本,我们将最大预测概率与给定标签的概率进行比较。如果最大预测概率高于带有阈值的原始给定标签的概率,则将样本分配给一个新的伪标签。在形式上,重新标记模块可以定义为:
其中表示新标签,
是阈值,
是最大预测概率,
是给定标签的预测概率。
和
分别表示原始给定标签和最大预测概率对应的索引。
在我们的系统中,不确定的样本期望获得低重要度的权重,通过重新加权来降低它们的负面影响,然后归入低重要度的组,最后通过重新标注来修正为确定的样本。修正后的样本在下一个epoch可能获得重要的权重。我们期望网络可以通过重新加权或重新标记的方式自行修复,这就是为什么我们称我们的方法为self-cured network。
3.5. Implementation
Pre-processing and facial features. 在我们的SCN中,人脸图像通过MTCNN[45]检测和对齐,并进一步调整为224 × 224像素。SCN由Pytorch工具箱实现,backbone网为ResNet-18[16]。默认情况下,ResNet-18在MS-Celeb-1M人脸识别数据集上进行预训练,并从其最后的池化层提取面部特征。
Training. 我们使用8个Nvidia Titan 2080ti GPU以端到端的方式训练SCN,并将批处理大小设置为1024。在每次迭代中,训练图像默认分为70%的高重要性样本和30%的低重要性样本两组。高和低重要性组的平均值之间的margin 可以默认设置为0.15或设计为一个可学习的参数。这两种策略将在随后的实验中进行评估。整个网络由RR-Loss和WCE-Loss共同优化。两种损失的比例根据经验确定为1:1,其影响将在后续的消融实验研究中进行研究。初始化学习率为0.1,分别在15个epoch和30个epoch后再除以10。训练在40个epochs停止。重标记模块从第10 epoch开始包括进优化中,其中重标记margin
默认设置为0.2。
4. Experiments
在本节中,我们首先描述三个公共数据集和我们的Webmotion数据集。然后,我们证明了我们的SCN在合成的和真实的有噪声的面部表情标注的不确定性下的鲁棒性。此外,我们通过定性和定量结果进行消融研究,以显示每个模块在SCN中的有效性。最后,我们将SCN与公共数据集上最先进的方法进行比较。
4.1. Datasets
RAF-DB[22]包含了由40名训练有素的人类编码人员用基本或复合表情注释的30000张面部图像。在实验中,只使用了6种基本表情(快乐、惊讶、悲伤、愤怒、厌恶、恐惧)和中性表情的图像,得到了12271张图像进行训练,3068张图像进行测试。样品的整体精度用于测量。
FERPlus[4]是从ICML 2013 挑战中使用的FER2013扩展而来的。它是谷歌搜索引擎收集的大规模数据集。它由28,709张训练图像,3,589张验证图像和3,589张测试图像组成,所有这些图像都被调整为48×48像素。轻蔑表情包含在此数据集中,因此该数据有8个类。样品的整体精度用于测量
AffectNet[32]是迄今为止提供分类和Valence-Arousal注释的最大数据集。通过在三个搜索引擎中查询与表情相关的关键字,它包含了来自互联网的超过100万张图片,其中45万张图片是像FERPlus那样用8个表情标签手工标注的。它具有不平衡的训练和测试集以及一个平衡的验证集。验证集上的平均类精度用于测量。
The collected WebEmotion. 由于不确定性的主要原因是不正确/嘈杂的注释问题,我们从互联网上收集了一个极端嘈杂的FER数据集,称为WebEmotion,以调查SCN对极端不确定性的影响。WebEmotion是从YouTube下载的一组关键字 包括40个相关表情单词、45个国家(如亚洲、欧洲、非洲、美国)和6个与年龄相关的单词(如婴儿,女士,女人,男人,老男人,老女人)的视频数据集(通过赋予帧标签来将其作为图像数据)与。它由同FERPlus一样的8个类组成,每个类都与几个与情感相关的关键词相联系,例如Happy与Happy、funny、ecstatic、smug和kawaii等关键词相联系。为了获得关键词与搜索视频之间有意义的相关性,我们只选取抓取时间在4分钟以内排名前20的视频。这将导致大约41,000个视频被进一步分割成200,000个视频片段,限制一张脸(由MTCNN检测到)出现至少5秒。对于评估,我们只使用Webmotion进行预训练,因为注释是非常困难的。表1显示了Webmotion的统计数据。元视频和视频片段将公开给研究社区。
4.2. Evaluation of SCN on Synthetic Uncertainties
不确定性主要来自于模糊的面部表情、低质量的面部图像、不一致的标注和不正确的标注(即噪声标签)。考虑到只有有噪声的标签可以定量分析,我们探讨了标签噪声与RAF-DB、FERPLus和AffectNet数据集之比为10%、20%和30%时SCN的鲁棒性。具体来说,我们对每个类别随机选取10%、20%和30%的训练数据,并将其随机更改为其他类别。在表2中,我们使用ResNet-18作为CNN的backbone,将我们的SCN与基线(不考虑标签噪声的传统CNN训练)进行比较,采用两种训练方案:i)从零开始训练;ii)对在Ms-Celeb-1M[15]上预先训练过的模型进行微调。我们还将我们的SCN与RAF-DB上的两种最先进的抗噪声方法进行比较,即CurriculumNet[14]和Meta-Cleaner[46]。
如表2所示,我们的SCN持续极大地改进了基线效果。对于噪声比为30%的方案i),我们的SCN在RAF-DB、FERPLus和AffectNet上的性能分别优于基线13.80%、1.07%和1.91%。对于方案ii),在噪声比为30%的情况下,我们的SCN虽然性能相对较高,但在这些数据集上仍然获得了2.20%、2.47%和3.12%的提高。对于这两种方案,随着噪声比的增加,SCN的好处越来越明显。CurriculumNet通过使用聚类密度测量数据的复杂性来设计训练课程,可以避免在早期阶段训练噪声标记的数据。MetaCleaner将每个类别中几个样本的特征聚合成一个加权平均特征进行分类,这也可以削弱噪声标记的样本。CurriculumNet和MetaCleaner都在很大程度上提高了基线,但仍然低于更简单的SCN。另一个有趣的发现是SCN在RAF-DB上的改进比在其他数据集上要高得多。这可以用以下理由来解释。一方面,RAF-DB由复合的面部表情组成,并由40人通过crowdsourcing方式进行注释,使得数据注释更加不一致。因此,在没有合成标签噪声的情况下,我们的SCN也可以在原始RAF-DB的基础上得到改进。另一方面,AffectNet和FERPlus由专家注释,因此涉及的不一致标签较少,导致改进较少。
Visualization of α in SCN. 为了进一步研究我们的SCN在噪声标注下的有效性,我们在噪声比为10%的RAF-DB上可视化SCN训练阶段的重要性权重α。在图3中,第一行表示用原始标签训练SCN时的重要性权重。第二行图像用合成的干扰标签标注,我们使用SCN(不含Relabel模块)训练合成的噪声数据集。事实上,SCN将那些干扰标签的图像视为噪音,并自动抑制它们的权重。经过足够的训练后,重新标记模块被添加到SCN中,这些带有噪声标记的图像被重新标记(当然,许多其他图像可能没有被重新标记,因为我们有重新标记的约束)。在其他几个epoch之后,它们的重要性权重变得很高(第三行),这表明我们的SCN可以“self-cure”干扰标签。值得注意的是,来自重贴标签模块的新标签可能与“ground-truth”标签不一致(见第1、4、6列),但它们在可视化上也是合理的。
4.3. Exploring SCN on Real-World Uncertainties
合成的噪声数据证明了SCN self-cure能力的有效性。在本节中,我们将SCN应用于真实世界的FER数据集,这些数据集可能包含所有类型的不确定性。
SCN on WebEmotion for pretraining. 因为搜索的关键词被视为标签,所以我们收集的WebEmotion数据集包含大量的噪声。为了更好地验证SCN对真实世界噪声数据的影响,我们将我们的SCN应用于WebEmotion进行预训练,然后在目标数据集上对模型进行微调。对比实验见表3。从第1行和第2行可以看出,在没有SCN的情况下,在WebEmotion上进行预训练,在RAF-DB、FERPlus和AffectNet上分别提高了6.97%、9.85%和1.80%。用SCN对目标数据集进行微调可以获得1%到2%的收益。使用SCN在WebEmotion上进行预训练,进一步将RAF-DB上的性能从80.42%提高到82.45%。这表明,SCN在WebEmotion上学习健壮的特征,这对进一步的微调更有利。
SCN on Original FER datasets. 我们进一步在原始的FER数据集上进行实验来评估我们的SCN,因为这些数据集不可避免地存在模糊的面部表情、低质量的面部图像等不确定性。结果如表4所示。当从头开始训练时,我们提出的SCN在RAD-DB、AffectNet和FERPlus上分别提高了6.31%、0.7%和1.02%。MetaCleaner也提高了RAF-DB的基线,但比我们的SCN稍差。通过预训练,我们仍然在这些数据集上获得了2.83%、1.73%和1.21%的改进。SCN和MetaCleaner的改进表明,这些数据集确实存在不确定性。为了验证我们的推测,我们对RAF-DB的重要性权重进行了排序,并在图4中展示了一些重要性权重较低的示例。从左上角到右下角的ground-truth标签是surprise, neutral, neutral, sad, surprise, surprise, neutral, surprise, neutral, surprise。我们发现,低质量和遮挡的图像很难进行标注,并且在SCN中更有可能具有低重要性的权重。
4.4. Ablation Studies
Evaluation of the three modules in SCN. 为了评估SCN的每个模块的影响,我们设计了一个消融研究来调查WCE-Loss、RR-Loss和重新标记模块对RAF-DB的影响。实验结果见表5。以下可以总结出若干看法。首先,对于这两种训练方案,在基线(第一行)中添加一个朴素的重标签模块(第2行)会略微降低性能。这可以解释为许多重标记操作从基线模型开始就是错误的。这间接说明我们精心设计的带有rank regularization的重标记模块在低重要性组更有效。第二,当添加一个模块时,我们通过WCE-Loss获得了最大的改善,在RAF-DB上,基线从72%提高到76.26%。这表明,重新加权是我们的SCN贡献最大的模块。第三,RR-Loss和重标记模块可以进一步增加WCE-Loss 2.15%的效果。
Evaluation of the ratio γ. 在表6中,我们评估了RR-Loss和WCE-Loss之间不同比率的影响。我们发现对每一种损失设置相同的权重可以达到最好的结果。将RR-Loss的权重从0.5增加到0.8会显著降低性能,这表明WCE-Loss更为重要。
Evaluation of and
.
是控制高、低重要组之间平均margin的margin参数。对于固定设置,我们从0到0.30进行评估。图5(左)显示了固定
和学习
的结果。默认的
= 0.15表现最好,说明边际值应该是一个合适的值。我们还设计了一个可学习的
范式,并将其初始化为0.15。在原始和噪声RAF-DB数据集中,可学习
收敛于0.142±0.05,效果分别为77.76%和69.45%。
是决定何时重新标记样品的margin。默认的
为0.2。我们在原始RAF-DB数据上从0到0.5评估
的值,结果显示在图5(中间)。
= 0表示如果最大预测概率大于给定标签的概率,我们重新标记样本。较小的
会导致大量错误的重新标记操作,这可能会严重损害性能。大的
导致很少的重标操作,收敛到没有重新标记。我们在0.2得到了最好的性能。
Evaluation of the β. β是小批量中重要样本的比例。我们研究了在合成噪声和原始RAF-DB数据集中0.9到0.5的不同比例。结果如图5(右)所示。我们的默认比率是0.7,这达到了最好的性能。大β降低了SCN的能力,因为它认为数据很少是不确定的。小β会导致对不确定性的过度考虑,从而不合理地减少训练损失。
4.5. Comparison to the State of the Art
表7将我们的方法与RAF-DB、AffectNet和FERPlus上的几种最先进的方法进行了比较。IPA2LT[43]引入了潜在的ground-truth思想,用于跨不同的FER数据集进行不一致注释的训练。gaCNN[24]利用了一个基于patch的注意网络和一个全局网络。RAN[42]利用了人脸区域和原始人脸的级联注意网络。gaCNN和RAN由于裁剪的patches和区域,耗时较长。我们提出的SCN不会增加任何推理成本。我们的SCN在RAF-DB、AffectNet和FERPlus上的表现分别为88.14%、60.23%和89.35% (IR50[9]),优于这些最新的先进方法。
5. Conclusion
本文提出了一种self-cure network(SCN)来抑制面部表情数据的不确定性,从而学习鲁棒特征。SCN由自我注意重要性加权、排序正规化和重标记三个模块组成。第一个模块学习每个具有自我注意的面部图像的权重,以获取样本的重要性,用于训练,并用于损失加权。排序正则化保证了第一个模块学习有意义的权重来突出特定的样本,抑制不确定的样本。重新贴标签模块试图识别错误贴标签的样品并修改它们的标签。在三个公共数据集和我们收集的WebEmotion上进行的大量实验表明,我们的SCN获得了最先进的结果,能够有效地处理合成的和现实世界的不确定性。