affectnet数据集_处理表情识别中的坏数据:⼀篇CVPR2020
及两篇TIP的解读
机器之⼼分析师⽹络
作者:周宇
编辑:JoniZhong
本篇提前看重点关注CVPR2020中的这篇「SuppressingUncertaintiesforLarge-ScaleFacialExpressionRecognition」,
但在解读它之前,我们先有步骤的解读两篇TIP作为它的基础,最后详细介绍它的算法和思想。对⽐性的解读这三篇论⽂,也许能对
研究者们⾃⼰的⼯作有所启发。
真实场景下的表情识别⼀直是令众多研究者⼗分头疼的课题。这个任务中,尤为令⼈抓狂的是表情数据集中普遍存在着许多坏的数据(例如
被遮挡的⼈脸,错误的标签或者是模糊不清的图像)。这些数据不仅使得模型难以拟合,还严重拉低了最后的精度。在今年的CVPR中,我
们惊喜的发现了⼀篇专门解决这个问题的论⽂,这篇论⽂有效的抑制了那些不确定性的数据,并且防⽌了深度模型对这些坏数据的过拟合。
顺藤摸⽠,我们也找到了在2019年的IEEEtransactionsonimageprocessing上两篇能有效处理遮挡表情和姿势变化的论⽂。本篇提
前看重点关注CVPR2020中的这篇「SuppressingUncertaintiesforLarge-ScaleFacialExpressionRecognition」,但在解读它之
前,我们先有步骤的解读两篇TIP作为它的基础,最后详细介绍它的算法和思想。对⽐性的解读这三篇论⽂,也许能对研究者们⾃⼰的⼯作
有所启发。
具体的,我们解读的三篇⽂章如下:
,Yong,etal.「OcclusionAwareFacialExpressionRecognitionUsingCNNWithAttentionMechanism.」IEEE
TransactionsonImageProcessing,vol.28,no.5,2019,pp.2439–2450.
,Kai,etal.「RegionAttentionNetworksforPoandOcclusionRobustFacialExpressionRecognition.」IEEE
TransactionsonImageProcessing,vol.29,2020,pp.4057–4069.
,Kai,etal."SuppressingUncertaintiesforLarge-ScaleFacialExpressionRecognition."(CVPR2020).
⼀、OcclusionAwareFacialExpressionRecognitionUsingCNNWithAttentionMechanism
任务简介
因为在开放环境下存在各种⽆约束的因素(例如背景,头部姿势),在这种情况下进⾏⼈脸的表情识别是⼀项⼗分具有挑战的任务。其中有⼀
种更为⿇烦的情况,即为要被识别的⼈脸受到了部分遮挡。要解决这个问题并⾮易事,因为这些遮挡在不同图像中可能存在于不同位置或者
遮挡的物品有不同形状,例如,⼈脸表情可能被头发,眼镜,围⼱,⼝罩,⼿臂,⾷物或者其他物体挡住,被挡住的地⽅也有可能是眼睛,
嘴巴,脸颊或者其他⼈脸的部位。这篇论⽂就着重于解决遮挡环境下表情识别的问题。
⽅法描述
作者主要是提出了⼀个基于注意⼒机制的卷积神经⽹络(ConvolutionNeuralNetworkwithattentionmechanism)来模仿⼈的视觉机制
识别表情的⽅式。⼈类的视觉机制在识别⼈脸表情时,⾸先会将⼈脸分成若⼲块,看到左脸的微笑就会联想到右脸,以及上扬的嘴⾓。基于
以上想法,作者提出ACNN模型来⾃动感知被阻挡的脸部区域,并且将主要注意⼒集中到未被阻挡的表情区域进⾏判断。作者提出的
ACNN含两个版本来完成这个任务:⼀个是⽤pACNN(patch-badACNN)在⼀个卷积层将⼈脸中感兴趣的区域裁剪出,然后在这些不
同区域中,⽤PG-Unit来学习到权值进⾏综合判断;另⼀个是⽤gACNN(global-local-badACNN)同时整合⼈脸的各个部分和整体区
域,不仅是给区域赋予了权重,它还⽤GG-Unit来赋予整个区域权重。
图1:⽂中ACNN模型如何进⾏遮挡表情识别的⽰意图。
图1所⽰是总体的信息处理⽰意流程图。ACNN主要能被分成两个部分(pACNN(上半部分)和gACNN(下半部分))。其中最重要的是在序
号3步骤中,pACNN从中间特征中提取了24个感兴趣的局部块(图上⽅的Patches),如红⾊矩形框所⽰。对于每⼀个区域,根据被遮挡
程度的不同,⼀个特殊的Patch-GatedUnit(PG-Unit)⽤来赋予这个区域对应的权重。然后,这些被赋值的区域特征⼀起被整合送到了分
类器中。gACNN也整合了整体脸部特征如紫⾊框所⽰,并且整体特征也被Global-GatedUnit(GG-Unit)所赋值。
图2:⽂中ACNN的整体架构。
具体到⽹络结构和流程来说,ACNN的整体架构如图2所⽰。具体的流程为:ACNN⾸先得到⼀张⼈脸图⽚作为输⼊,然后这个输⼊⽤⼀
个训练好的VGG16做特征提取。这时在pACNN中,输⼊的特征图根据⼈脸结构被拆分为24个局部块。每个块都被PG-Unit处
理,PG-Unit的处理⽅式是将局部块编码成向量特征并且根据注意⼒⽹络(Attentionnet)来给这个局部块赋予⼀个权重。对于gACNN,整
体的特征都被GG-Unit编码并且赋予了权重。如图2所⽰,最后这些特征都被送⼊Softmax进⾏分类。⽂章当然也介绍了裁剪⼈脸的细
节,裁剪是根据⼈脸定位的⽅法来确定的。⼈脸定位的精度包含68,24,16和4多个定位点,其中最后以24为最终精度。
⽂章的关键点在于PG-Unit和GG-Unit的结构。作者将PG-Unit嵌⼊pACNN来⾃动识别被阻挡区域和重点关注未被阻挡且带有表情信
息的区域。PG-Unit的细节可以参考图2中的上两个蓝⾊虚线框,详细来说就是被切分的特征块(512*6*6)被送⼊了两个卷积层,然后卷
积层的输出分到了两个⽀路,第⼀个分⽀将输⼊的特征编码为向量形式的特征,另⼀个分⽀由AttentionNet构成,它主要是⽤⼀个0到
1的标量权重来表征这个区域特征的重要性。最后这两个分⽀的输出相乘作为最终局部特征。GG-Unit的细节如参考图2中的最下的蓝⾊
虚线框,它同样被嵌⼊gACNN来⾃动识别整体的特征。详细来说就是整体的特征块(512*28*28)被编码为(512*14*14),在GG-Unit
中,第⼀分⽀将输⼊特征编码为向量形式的整体特征,第⼆分⽀将也由Attentionnet组成,它的功能主要是估计⼀个0到1的标量权重
来表征这个整体特征的重要性。Attentionnet结构如左下⾓框图所⽰。
实验分析
数据集:利⽤户外数据集(RAF-DB,AffectNet,SFEW)和实验室数据集(CK+,MMI,Oulu-CASIA)合成的4k有遮挡的图⽚;收集的被遮
挡的表情数据集(FED-RO),含400张带标签的表情数据。
实验环境:Caffe框架,Titan-XGPU和12GB内存,初始学习率为0.001,随着学习的进⾏以0.1衰减,动量为0.9,权值衰减为
0.0005,batch-size为128和最⼤迭代为50K。
结果:
1.在RAF-DB和AffectNet的⼲净数据集和被遮挡数据集上多个模型的结果:
2.在CK+数据集上不同尺⼨遮挡的表情识别精度
3.跨数据集的识别精度:
4.在收集的遮挡数据集(FED-RO)的识别精度:
由上图中的表现可见,在RAF-DB和AffectNet的⼲净数据集和被遮挡数据集中,⽂中的gACNN相⽐其他的模型有更好的表现;在
CK+数据集上不同尺⼨遮挡的情况下,pACNN和gACNN的精度也⾼于其他模型;跨数据集的表现上,在⼤多数情况下pACNN和
gACNN也优于其他模型;最后,在作者⾃⼰收集的FED-RO中,gACNN的表现也是最优的。
⽂章⼩结
在本⽂中,作者提出了ACNN使得模型能够分配较⼩注意⼒到被遮挡的区域,⽽集中较⼤的注意⼒到和表情相关的区域。考虑到⼈的视觉
机制在识别表情时是由区域到整体的看,作者使⽤了pACNN和gACNN两个分⽀,⽽后再融合进⾏综合判定。实验结果证明了ACNN的
有效性和鲁棒性,这也启发了后两篇⽂章的作者。
⼆、RegionAttentionNetworksforPoandOcclusionRobustFacialExpressionRecognition
任务简介
与第⼀个任务相似,遮挡和姿势变化是对表情识别最⼤的两个障碍。为了解决这些问题,这篇⽂章试图构建⼀个真实场景的表情数据集,并
且在此数据集上提出模型提⾼识别的精度。
⽅法描述
⾸先,作者以数据集FERPlus,AffectNet和RAF-DB为基础制造了Occlusion-FERPlus,Po-FERPlus,Occlusion-AffectNet,和
Po-AffectNet,Occlusion-RAFDB,和Po-RAF-DB。遮挡的数据集是通过⼿动标注上⼝罩/眼镜或其他物品在脸部的各个区域。姿势
的变化则是通过⼀个头部变化⼯具箱⾃动标记。很明显,⼀个表现较好的参考模型在这两个加⼊遮挡和姿势变化的数据集上效果会⼤打折
扣。
然后,作者就重点介绍了本⽂的重点RegionAttentionNetwork(RAN),RAN的数据传播途径如图3所⽰。
图3:⽂中RAN的整体架构
如图3所⽰,RAN主要由三个模块构成,分别是区域划分及特征提取模块(图像最左边的Crop和Shared步骤),⾃注意⼒模块(图像中
间虚线⽅框)和关系注意⼒模块(图像右边的虚线⽅框)。输⼊⼀幅图像,⾸先将其切分为若⼲个区域(如图4,切分⽅式有固定点划分和随机
划分),然后这些区域块和原始图像被送⼊CNN做区域的特征提取。随后,⾃注意⼒模块⽤全连接层和Sigmoid函数分配注意⼒权重到各
个区域。作者还提出⼀个Regionbiadloss函数被⽤来规范化注意⼒权重和增强关键部分的权重。当然,作者也利⽤了全脸的特征,通
过关系注意⼒模块整合各个区域和整体来进⼀步提⾼表情判别的能⼒。最后区域的特征和整体的特征都被送⼊分离器进⾏表情的分类。
具体来说,作者详细介绍了各个步骤。⾸先,裁剪⼈脸成不同区域的⽅法作者就列举了三种。如图分为固定裁剪,关键点裁剪和随机裁剪。
图4:⼈脸头像裁剪⽅法
然后,关于⾃注意⼒模块是由全连接层和Sigmoid层构成来分配⼤致的注意⼒权重,它学习到每个区域块的权重然后通过⾮线性映射。通
过联系区域和总体的关系,关系注意⼒模块整合所有的区域块,注意⼒的权重可以被进⼀步的细化。最后,RegionBiadLoss⽤来约束
各个区域的权重并计算损失。
实验分析
数据集:利⽤数据集(FERPlus,AffectNet,SFEW,RAF-DB))合成的有遮挡和姿势变化的图⽚。
实验环境:Pytorch框架,Titan-XGPU和12GB内存,初始学习率为0.01,随着迭代的进⾏以0.1衰减,RB-loss的初始值为
0.02。
以上展⽰了基础的CNN⽹络和RAN⽹络的实验对⽐,很明显⽆论是在遮挡还是姿势变化上,RAN的效果都⽐baline较好。
(图⽚源⾃论⽂)图5:RB-loss的作⽤⽐较
作者⽤了⼏个分类的实例来表现RB-loss的重要作⽤。很明显,RB-loss的效果要好于对⽐的softmaxfunction。
最后⽂章把RAN得出的结果与各个数据集的SOTA相⽐较:
⽂章⼩结
这篇论⽂与第⼀篇发表时间相近,思路也相似,但是本⽂除了解决遮挡表情的问题,还论证了姿势变化在表情识别任务中的解决之道。作者
同时也通过⼤量的实验论证了RAN的可靠性和有效性。
三、SuppressingUncertaintiesforLarge-ScaleFacialExpressionRecognition
任务简介
以上两篇⽂章为基础,本篇新出的CVPR2020才是我们要介绍的重点。本篇⽂章的作者也是第⼆篇RAN的作者,他在这篇⽂章中改变
了表情识别任务本⾝。本⽂的任务是⼤规模的表情数据集中存在很多错误标签的数据,这些错误可能是由于模糊,低分辨率,和标注者主观
的错误。这些错误样本⾸先可能会使模型过拟合,其次会影响模型学习有效的特征,最后⼤量错误样本会使得模型在初始阶段难以拟合。因
此作者提出⽅法的⽬标就是抑制这些错误,并且改进模型使得对表情的识别率升⾼。
图6:Self-CureNetwork⽰意图
⽅法描述
作者为了解决上述问题,作者提出了⼀个简单且有效的⽅法称为Self-CureNetwork(SCN)来抑制表情数据集中的不确定性。如图6所
⽰,SCN由三个重要部分组成:lf-attentionimportanceweighting,rankingregularization,和relabeling这三个部分。其主要步骤
为:给定⼀组图⽚,⾸先通过CNN提取图像特征,然后lf-attentionimportanceweighting模块学习到每个图像的权重⽤以得到样本
的重要性,在这个过程中,不确定的的表情图像会被分配低权值。其后,rankingregularization模块将这些权重以降序的⽅式排列,通过
求取它们平均权值⽽把它们分为两组(⾼注意⼒部分和低注意⼒部分),这个过程通过RankRegularizationloss来实现。最后⼀个
relabeling模块尝试通过估算的概率重新标签那些被认为错误的样本。接下来,我们具体介绍SCN的各个模块:
-attentionimportanceweighting⽤于捕捉样本的特性⽤于训练。这个模块由⾮线性的全连接层和Sigmoid函数组成,类似于第
⼆篇RAN的⾃注意⼒模块。但这个模块中作者使⽤了⾃定义的损失函数Logit-WeightedCross-EntropyLoss来计算损失:
最终该模块输出(0,1)的权重。
gularization模块⽤来规范上⼀个模块输出的权重。在这个模块中,它⾸先以降序的⽅式排列注意⼒权重并把这些权重对应的样
本分为了两类。该模块保证了⾼注意⼒组中的平均注意⼒⾼于低注意⼒组的平均注意⼒⼀个阈值。这个过程就需要使⽤rank
regularizationloss(RR-loss):
该模块最终输出两个组,即⾼注意⼒组和低注意⼒组。
ling
在低注意⼒组中存在很多标签错误或者不准确的样本,为了有效的改正他们的标签,relabeling模块⽐较每个样本最⼤的预测值和它被给定
的值,如果它最⼤的预测值⼤于它给定标签值⼀个阈值$delta_2$的话,新的标签将会被赋予这个样本:
y'即为样本的新标签。并且这些被改正的样本将有可能在下⼀轮训练中被赋予⼤的注意⼒。这样就完成了⽹络的重分配权重和数据集的重新
标签。
实验分析
数据集:RAF-DB,FERPlus,AffectNet,ThecollectedWebEmotion(收集的⽹络数据集)。
实验环境:Pytorch框架,8NvidiaTitan2080tiGPU,初始学习率为0.1,随着学习的进⾏,在15和30epochs的时候衰减⼗分之
⼀,在40epochs的时候停⽌。batch-size为1024。
在实验中,作者⾸先展⽰了部分在SCN中学习到的权重的样本。通过对⽐,很明显的感觉到relabel模块的作⽤。
然后作者使⽤⼈脸识别的预训练模型在多个打乱部分标签的数据集中进⾏效果验证。
然后在作者⾃⼰收集的数据集中进⾏预训练,再在各个打乱标签的数据集中进⾏验证
打乱标签的数据集验证了SCN的纠正标签的能⼒,为了进⼀步的验证SCN在真实数据集中抑制不确定性数据的效果,作者⼜进⾏了⼀系
列对⽐实验。
很明显,SCN对真实数据集的表情识别能⼒也⼗分有效,下⼀个部分就是与⼀些SOTA进⾏对⽐:
⽂章⼩结
这篇论⽂向读者展⽰了⼀个SCN⽹络,通过抑制数据集中不确定的数据来学得更多有效的特征,从⽽提⾼在⼤规模真实数据集中表情识别
的精度。⼤量的对⽐实验⼜有效的证明了该⽅法的有效性,该⽅法创造性的改变了数据的标签,为后续的研究提出了新思路。
⽂章总结
本⽂主要介绍的三篇论⽂都是在讨论如何在含有坏数据的情况下进⾏表情识别,并且彼此或多或少都有⼀定的相似性和不同点。第⼀篇主要
是讨论在遮挡的情况下如何分区域的识别表情,第⼆篇则进⼀步扩⼤,在遮挡和姿势变化的情况下也可以分区域的调整注意⼒来识别表情,
在最后⼀篇中,作者创造性的直接通过初步判别修改标签,利⽤⽹络的⾃我调整,把复杂的数据集重新分类。这⼏篇论⽂都给了表情识别领
域的研究者不少启发,也许读者也能从这篇解读中收获新的思路。
作者介绍:周宇,⽬前在华中科技⼤学攻读计算机博⼠学位。主要研究⽅向是深度学习下的表情识别。希望能和研究⽅向相似的研究者们⼀
起交流,共同进步。
关于机器之⼼全球分析师⽹络SyncedGlobalAnalystNetwork
机器之⼼全球分析师⽹络是由机器之⼼发起的全球性⼈⼯智能专业知识共享⽹络。在过去的四年⾥,已有数百名来⾃全球各地的AI领域专
业学⽣学者、⼯程专家、业务专家,利⽤⾃⼰的学业⼯作之余的闲暇时间,通过线上分享、专栏解读、知识库构建、报告发布、评测及项⽬
咨询等形式与全球AI社区共享⾃⼰的研究思路、⼯程经验及⾏业洞察等专业知识,并从中获得了⾃⾝的能⼒成长、经验积累及职业发展。
本文发布于:2022-11-26 20:52:52,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/26520.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |