这是一篇发布在CVPRW2019上面的文章,文章可以免费下载,并且提供了验证源代码,原文链接和代码链接都放在下面,有需要的小伙伴可以自取。
原文链接:FERAtt: Facial Expression Recognition with Attention Net
代码链接:Github地址
言归正传,这篇文章的主要内容首先是提出了一个新的网络架构——FERAtt,一个带有Attention机制的基于CNN的网络;其次是引入新的双分支网络加强对面部表情内核的学习;另外,文章给出了一个新的损失函数——结构高斯流损失(Structured Gaussian Manifold Loss);最后文章给出了一个新的合成生成器进行数据扩充。
一、相关问题
近期FER研究中出现的问题:作者认为最近的FER研究,进行表情识别时,总是针对整张图像,而不去考虑在图像中的面部裁剪位置。这样会给表情识别带来额外的计算(包括人的毛发、珠宝等),也会引入噪声。
引入机制:Attention机制,人眼视觉感知能够快速解析视场,丢弃不相关的信息,然后将主要处理过程集中在一个特定的感兴趣的目标区域,即所谓的机制。
解决方法:就是引入上述的机制,通过模仿人类视觉机制,进行表情识别,如下图所示:
二、方法理论
(一)网络结构
网络主要包括四个部分:; ; ; ,网络结构如下图:
1.
这是一个类似于人脸检测的模块,作者使用比较新颖的图像分割方法——U-net代替了人脸检测。具体结构可以看下面的图:
下面的图是这一个模块的具体效果,它生成输入图片的一张掩膜,也就是将输入图片的非人脸区域遮盖掉:
2.
这一模块是为了从图像中获取基本的特征,并保留图像的空间信息。具体效果如下图所示:
3.
这一部分是将和的输出进行一个融合增强,为下面一个模块提供输入,从而进行更好的分类。
具体的实现可以去阅读一下论文。
三、论文总结
- 文章提出了一种新的带有Attention机制的面部表情识别网络结构。
- 文章的工作在我看来主要集中在面部图像的预处理阶段,也就是使用人脸分割代替传统的人脸检测,去除人脸图片中于表情无关的因素,进而辅助模块更好的进行表情的表示和分类。
- 数据扩充策略没有在博客中提到。文章还提出了一种新的数据扩充策略,这个策略就是从真实的面部表情数据集中检测和提取人脸,对提取出的人脸进行几何或光照等的变换,并将变换后的图片合成到新的背景图像数据库中,进而达到数据扩充的效果。
- 实验过程以及结果可以参照原文。。。。