资讯详情

Facial Emotion Recognition: State of the Art Performance on FER2013

[1] Khaireddin Y , Chen Z . Facial Emotion Recognition: State of the Art Performance on FER2013[J]. 2021.

本文在Fer当时实现了2013年数据集SOTA本文没有提出任何使用精度的新网络或插件VGG19只比较了优化器、学习率衰减等常用选择,选择了当前网络和数据增强的最佳组合,最终在测试集中获得了73个.28%的精度。

在第3.4节讲述了优化器对比试验、学习率衰减对比试验和微调试验

在3.五节讲述了各种实验中表现好或不好的原理分析,值得一看。

  • 0、摘要
  • 1、引入
  • 2、相关工作
  • 3、实验
    • 3.1、数据集、预处理和数据增强
    • 3.2.训练和推理
    • 3.3、VGGNet结构
    • 3.4、调参
      • 3.4.1 优化器
      • 3.4.2 学习率衰减策略
      • 3.4.3 微调
    • 3.5、结论
      • 3.5.1 优化器
      • 3.5.2 学习率衰减
      • 3.5.3 微调
      • 3.5.4 混淆矩阵
      • 3.5.5 与其它模型进行比较
      • 3.5.6 Saliency map(显图)
  • 4、结论

0、摘要

由于人脸的不均匀性不同于人脸图像中的人脸姿势和光线,表情识别在精度和鲁棒性方面仍然是一个挑战。在人脸识别的所有技术中,CNN因其强大的自动特征提取和高效计算而具有巨大的潜力。

我们在这篇文章中FER在2013年年最佳单网络(single-network)我们使用分类精度VGGNet结构和对超参数进行微调,还对各种优化器方法进行了对比试验。最终达到了73.在作者所知的范围内,28%的精度达到了SOTA。

1、引入

表情识别在人机交互中起着非常重要的作用,而表情识别因其内差大、类间差小而具有挑战性。

我们使用的FER2013年的数据集是一个包含困难自然环境和挑战的数据集ICML2013年首次提出并成为标签识别领域比较模型性能的基准数据集。人类在这个数据集中只有65左右.5%(65-68%)的准确性。

本文的目标是FER提高2013年数据集的预测精度。我们使用VGGNet,然后通过各种实验探索不同优化器和学习率衰减策略的精度。通过调整模型和训练超参数FER73.28%的精度。在作者的认知范围内,未使用额外训练数据集的单模型已经实现SOTA结果。最后,作者对模型的性能和(分类)决策过程有了更好的了解。

2、相关工作

3、实验

3.1.数据集、预处理和数据增强

在FER在2013年的数据集中,训练集、验证集、验证集和测试集,本文也遵循这一点。FER2013年共有7类图片35888张:anger、neutral、disgust、fear、happiness、sadness、surprise。

数据增强。我们在训练中使用了大量的数据增强,包括:

  • 随机缩放图。原图48在48的尺寸上,增量立即缩放为原图±在20%范围内,然后resize到4848
  • 随机水平和垂直方向上平移。平移量为尺寸±20%范围内。
  • 然后旋转。角度是±10°。
  • ten-cropped:裁剪到40*40,详见
  • 随机擦除:比例为50%,详见
  • 归一化到0~1:除以255。

3.2.训练和推理

我们所有的实验都训练了300epochs以及交叉熵损失函数,我们改变使用不同的优化器和学习率,但保持其他参数不变。我们固定momentum=0.9,weight decay=0.0001。用于训练gradient scaline防止梯度溢出(因为作者使用了)AMP混合精度可能在某些时候float32变成float16:00,放弃小数点的梯度值,造成溢出。验证时使用模型的验证精度standard ten-crop averaging。

3.3、VGGNet结构

VGGNet它是一种大规模图像处理和模式识别的分类卷积神经网络结构。VGGNet如下图所示: 在这里插入图片描述 该网络包含4个卷积段和3个全连接层。每个卷积段包括2个卷积层和1个卷积层max-pooling层。每一卷积块=conv ReLU BN。BN加快学习(训练)过程,减少内部协方差偏移,防止梯度消失或爆炸。第一个和第二个全连接层都跟着ReLU激活函数,第三个全连接层是分类输出。

3.4、调参

首先,我们应该将我们的模型结构调整到最佳性能(即找到最佳性能的模型结构)。

所有最初的实验都是使用的SGD。用网格搜索法找到最好的batch sizedropout rate(完全连接层后)。一旦找到最佳结构,我们就开始探索不同的结构优化器学习率影响。我们进行了最终的试验微调预训练模型的型的权重和性能。

3.4.1 优化器

在6中探索了不同的算法:SGD、SGD with Nesterov Momentum、Average AGD、Adam、Adam with AMSGrad、Adadelta、Adagrad。

我们测试了两个版本,一个固定学习=0.001(通过网格搜索获得),另一个设置初始学习率=0.01,然后验证集精度5epoch没有突破就衰减0.75倍。

3.4.2 学习率衰减策略

在这里我们实验5种不同的学习率衰减策略:Reduce Learning Rate on Plateau (RLRP)、Cosine Annealing (Cosine)、Cosine Annealing with Warm Restarts (CosineWR)、One Cycle Learning Rate (OneCycleLR)、and Step Learning Rate(StepLR)

初始学习率设定为0.使用网格搜索各种策略的其他参数。其它参数保持不变。

3.4.3 微调

为了进一步提高模型的精度,我们使用它lr=0.0001重新加载参数(为了确保模型的参数不偏离太远,我们使用已经训练过的模型),然后训练50epoch,为了保持小步更新,我们设置了如此小的学习率。

本实验使用Cosine Annealing和Cosine Annealing热启动,因为这两种策略都是慢慢来回冲击学习率,防止重量更新过大。第二种策略(Cosine Annealing热启动)意味着它会周期性重启模型权重回到一些好的地方。

我们将验证集纳入训练集进行第二次实验。增加了训练集样本。

通过这两个实验,我们验证了一些事情:第一个实验严重提高了微调的有效性;第二个实验验证了增加数据的好处。

3.5、结论

3.5.1 优化器

首先,作者研究了他模型中不同优化器的性能, 1)最好的是SGD Nesterov(作者模型)分别为73.2%和73.5% 2)Adam及其AMSGrad比Adadelta和Adagrad更好,因为Adam结合了优化器AdaGrad和RMSProp动量梯度优势。 3)SGD所有变种都比其他优化器好

3.5.2 学习率衰减

最佳优化器是学习率衰减策略的实验(SGD with Nesterov momentum)结论如下: 1)RLRP最好的表现。.验证机精度为739%.06%的测试机精度。据作者所知,这超过了以前但网络SOTA的表现 下面所谓的表现是比较validation accuracy,因为testing accuracies严格用于report,即不能针对test set调参 2)恒学习率比一些衰减策略(OneCycleLR和StepLR)更好。对于OneCycleLR可能是它倾向于使用更大的学习率更快的训练,可能不太适合FER2013; 3)Cosine和CosineWR表现相当。 4)StepLR和RLRP:都是较慢衰减学习率的算法。RLRP表现更好因为它监视当前模型的表现,从而决定何时降低学习率(即实时动态根据当前模型来决定何时衰减学习率,而不是固定每隔多久就衰减)

3.5.3 微调

为了进一步提高我们模型的表现,我们重新加载我们表现最好的模型,再微调训练50epoch。我们使用 cosine annealing schedulers策略(初始学习率很小)。

并且也进行了另一个实验:将验证集并入训练集训练。

看表,首先提供了一个预训练模型Trained VGGNet作为基准,下面分别将Cosine和CosineWR在未合并的数据集和合并的数据集(将验证集并入训练集训练)上微调得到了测试精度。

结论: 1)合并数据集的确有效:在相同策略下,合并数据集的测试精度都比未合并的高 2)未合并数据集上,CosineWR在微调阶段起到了负面影响,精度还下降了。但是Cosine策略有提升0.05% 3)合并数据集上,Cosine还是比CosineWR高,并且也是全场最佳,达到了73.28%

3.5.4 混淆矩阵

结论: 1)模型分类效果最好的是“happiness”和“surprise” 2)效果最差的是“disgust”和 “anger”, 3)在“disgust”和“fear”之间分类精度低是因为样本少 4)在“fear”和“sadness”之间误分类可能是因为类间相似性(fear类和sadness类的表情实际上不太好分,很相似)

3.5.5 和其他模型的比较

3.5.6 Saliency map(显著图?)

一种常用的DNN可视化技术叫saliency map。通过反向传播loss到每个像素值,saliency map能够突出像素对loss值的影响的程度。

通过将saliency map叠加到原图得到了上面的saliency map,结论: 1)首先,我们的CNN能够高效铺货每个表情的最关键区域,捕获到了几乎 每个人的所有脸部特征,比如f中saliency map展示出模型几乎完美地映射到了女人的整个脸。 2)当然我们的CNN也会有效丢弃一些无用区域(与表情识别无关的),比如 a、d、g中的背景,a、c、g的头发,以及e中的手。这些地方都没有足够的信息去描述人的表情。 3)当然也有一些实物,比如b、e和g的角落,都有saliency map的分布,saliency map在无用区域也有分布。我们认为一个模型能更高效识别一个图中的脸部特征并且丢弃所有无用信息,将会在数据集上表现更好

4、结论

本论文在FER2013的单网络方向实现了SOTA效果。我们彻底地调整所有的超参数优化模型。

探索了不同的优化器和学习率衰减策略,并得到了最好的初步测试精度73.06%。

我们在初步模型上使用Cosine Annealing并合并验证集和训练集,进行了额外的训练,进一步提高精度到73.28%。

未来,我们计划探索了不同图像处理技术和不同结构去进一步提高人脸表情识别的表现。

标签: fer连接电缆meto

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台