在 softmax 回归中,我们通过归一化的概率的大小解决多分类问题,类标 y 可以取 k 个不同的值(而不是
2 个)。
第二种损失函数是线性 SVM 分类损失,其抽象为 hinge 损失函数,Hinge loss 的叫法来源于其损失函数
的图形,为一个折线,第
类的损失表达式为:
如果被正确分类,损失是 0,否则损失就是
SVM 和 Softmax 分类器是最常用的两个分类器。不同的是,SVM 将输出为每个分类评分,然后再选择得
分最高的类;与 SVM 不同,Softmax 分类器是一个 logistic 分类器面对多个分类的归纳,其归一化的分
类概率更加直观,其概率总和为 1。
四. 实验设计
4.1 数据集
本文采用了 FER2013 和 CK+数据库。
Challenges in Representation Learning: Facial Expression Recognition Challenge
www.kaggle.com
FER2013 数据集由 28709 张训练图,3589 张公开测试图和 3589 张私有测试图组成。每一张图都是像素
为 48*48 的灰度图。FER2013 数据库中一共有 7 中表情:愤怒,厌恶,恐惧,开心,难过,惊讶和中性。
该数据库是 2013 年 Kaggle 比赛的数据,由于这个数据库大多是从网络爬虫下载的,存在一定的误差性。
5%。
这个数据库的人为准确率是 65%
CK+ www.portointeractivecenter.org
CK+数据库则是发布于 2010 年,由 Cohn-Kanade Dataset 的基础上扩展而来的。这个数据库包括 123
个 subjects, 593 个 image sequence,每个 image sequence 的最后一张 Frame 都有 action units 的
label,而在这 593 个 image sequence 中,有 327 个 sequence 有 emotion 的 label,如图 4.2.2。这
个数据库是在实验室条件下获取的,较为严谨可靠。CK+是人脸表情识别中比较标准的一个数据库,很多
文章都会用到这个数据做测试。
4.2 数据增强
为了防止网络过快地过拟合,可以人为的做一些图像变换,例如翻转,旋转,切割等。上述操作称为数据
增强。数据操作还有另一大好处是扩大数据库的数据量,使得训练的网络鲁棒性更强。在本实验中,在训
练阶段,我们采用随机切割 44*44 的图像,并将图像进行随机镜像,然后送入训练。在测试阶段,本文采
用一种集成的方法来减少异常值。我们将图片在左上角,左下角,右上角,右下角,中心进行切割和并做
镜像操作,这样的操作使得数据库扩大了 10 倍,再将这 10 张图片送入模型。然后将得到的概率取平均,
最大的输出分类即为对应表情,这种方法有效地降低了分类错误。
4.3 在 FER2013 数据集的实验效果
data-original="https://pic2.zhimg.com/v2-63d7f9f001d663991fd2bb2851b3796c_r.jpg">
表 1: 在 FER2013 数据集下 VGG19 的结果
![]()
src="https://pic3.zhimg.com/v2-f1f577350873b5ecd3b9991e67bb3227_b.jpg"
data-size="normal" data-rawwidth="880" data-rawheight="297" class="origin_image
zh-lightbox-thumb" width="880"
data-original="https://pic3.zhimg.com/v2-f1f577350873b5ecd3b9991e67bb3227_r.jpg">
表 2:在 FER2013 数据集下 Resnet18 的结果
实验结果分析
(1) VGG 和 Resnet18 的深度模型在 FER 数据库上都可以取得不错的分类效果。而且 VGG 的方法要比
Resnet18 的方法要好一些。
(2) Dropout 能有效得降低过拟合,提高准确率。Dropout 的方法相当于训练的时候随机失活掉一些
连接,而在测试的时候把这些连接补充回来,这就相当于集成多个不错的模型来做综合的预测。
(3)10 倍切割的方案能进一步降低识别的错误率,对于训练阶段来说,随机切割增加了数据量,这相当
于直接扩充了数据集,减缓了过拟合的作用。对于预测阶段,10 倍的数据同时预测结果,相当于集成操作
减小网络误判的情况。
(4)Softmax 的分类方法比 SVM 的方法好。softmax 将所有分类都考虑到了,而且分类的结果,就是在
所有 K 类分类结果。而 SVM 的方法,每次只是二分类,只能学习到是否是这个样本,而不一定能学习到
正确的样本,这进一步加大了分类的困难。
(5) 在单模型的效果上,我们 VGG19+dropout+10crop+softmax 达到了很高的水平。在 Public test
set 上,达到了 71.496%,在 Private test set 上达到了 73.112%,这个水平也是单一模型下的
state-of-the-art 水平。
准确率分析
图 1:VGG19+dropout+10crop+softmax 训练,测试准确率曲线
混淆矩阵分析
图 2:
VGG19+dropout+10crop+softmax 在 PrivateTest 数据集的混淆矩阵
由图 2 可知:对于快乐和惊讶的准确率明显高于其他,但是恐惧的准确率就很低。对于此问题的出现,作
者认为一是因为该数据集的不同表情的数量不均衡,例如有 7215 张开心的图片,但只有 436 张厌恶的图
片,而每个分类的图片平均数量是 4101,这种种类的不平衡足以使得分类出现误差;二是生气,厌恶,恐
惧,悲伤这四类表情本身就有一定的相似性,在现实生活中,人也会觉得这四类表情难以区分,特别是在
彼此都不相识的情况下,要正确识别表情就更难了。而且我们发现,误判总是出现在某些类,可能是某些
类真的难以区分,易于混淆。接下来应该研究对特定表情的关注模块,关注到细节信息,对提高分类能力
提供进一步的支持。
与经典方法的对比