CVPR2020最佳新框架|大规模人脸表情识别(附源代码)
点击蓝字关注我们
扫码关注我们
公众号 : 计算机视觉研究院
扫码回复:人脸表情,获取链接
今天我们推送一篇关于人脸识别的文献,目前被CVPR2020录为最佳人脸识别框架之一。这次“计算机视觉研究院”简洁给大家分析,后续我们会分享具体代码实现功能,有兴趣的同学请持续关注!
概述
从事人脸领域的你,都知道:由于面部表情的模糊性、图像的低质量以及注释者的主观性,对大规模面部表情数据集进行标注是非常困难的事情。
这些不确定性成为了深度学习时代大规模面部表情识别的关键挑战之一。为了解决这个问题,本次投稿的作者提出了一种简单而有效的Self Cure Network(SCN),它能有效地抑制不确定性,防止深度网络对某些面部图像的过度拟合。具体来说,主要通过两种方法:
小批量上的自注意力机制(self-attention machanism),对每个训练样本加权,进行等级正则化(ranking regularization);
仔通过细的重新标注机制(careful relabeling machanism),在排名最低的组中修改这些样本的标签。
简单说下背景
面部表情是人类传达情感状态和意图的最自然、最有力和最普遍的信号之一。自动识别面部表情对于帮助计算机理解人类行为并与其交互也很重要。在过去的几十年里,研究人员利用算法和大规模数据集在面部表情识别(FER)方面取得了重大进展,在实验室或野外可以收集数据集,如CK+、MMI、Oulu-CASIA、SFEW/AFEW、FERPlus、EmotioNet、RAF-DB等。
然而,对于从互联网上收集的大规模FER数据集,由于注释者的主观性以及模糊的野外面部图像所造成的不确定性,极难高质量地进行注释。
如上图所示,不确定性从高质量和明显的面部表情增加到低质量和微表情。这些不确定性通常导致不一致的标签和不正确的标签,这暂停了大规模面部表情识别(FER)的进展,特别是对于基于数据驱动的深度学习的FER。一般来说,具有FER不确定性的训练可能会导致以下问题。首先,它可能导致不确定样本的过度拟合,这可能是错误的标签;第二,一个模型学习有用的面部表情特征是有害的;第三,高比例的不正确标签甚至使模型在优化的早期阶段不收敛。
Self-Cure Network
于是作者就提出了SCN,主要由三个关键模块组成:self-attention importance weighting、rangking regularization和nosie relabeling。
在给定一批图像的情况下,首先利用主干CNN提取人脸特征。然后,self-attention importance weighting模块学习每个图像的权重,以捕获样本重要度进行损失加权。不确定的面部图像将被赋予较低的权重。接着,rangking regularization模块将这些权重按降序排列,并将其分为两组,并通过强制两个组的平均权重之间存在margin来对这两个组进行正则化(Rangk Regularization Loss(RR-Loss))。rangking regularization模块确保第一个模块学习有意义的权重来突出某些样本(如:可靠的标注)和抑制不确定样本(如:模糊的标注)。
最后一个模块是careful relabeling模块,它试图通过将最大预测概率与给定标签的概率进行比较来重新标记来自底层组的这些样本。如果一个样本的最大预测概率高于给定的带有边缘阈值的标签,则将该样本分配给一个伪标签。此外,由于不确定的主要证据是不正确的/噪声注释问题,从互联网上提取了一个极端噪声的FER数据集,称为WebEmotion,来研究SCN对极端不确定性的影响。
整个SCN可以端到端的方式进行训练,并且可以很容易地添加到任何CNN的主干网络中。
Self-Attention Importance Weighting
实际上就是采用一个含有FC层和sigmoid激活函数的网络来对每个图像预测权重,具体如下:
αi是第i个样本的importance weight。
Rank Regularization
上述模块中的 self-attention weights可以在(0,1)中任意值,为了明确地约束不确定样本的重要性,作者精心设计了一个rank regularization模块来正则化注意权重。在rank regularization模块中,首先将学习到的注意权重按降序排序,然后将它们分成两组,比率β。rank regularization保证了高重要群体的平均注意权重高于具有margin的低重要群体。在形式上为此定义了一个rank regularization损失(RR-Loss),如下所示:
Relabeling
在rank regularization等模块中,每个小批量被分成两组,即高重要性和低重要性群体。实验发现,不确定的样本通常具有较低的重要性权重,因此一个直观的想法是设计一种重新标记这些样本的策略。
具体跑代码的试验参数设置,后期我们讲解实践的时候,一起说,这次我们先说说作者的实验结果及分析。
实验结果分析
Visualization of the learned importance weights in SCN
在synthetic noisy FER数据集中的评价如下:
WebEmotion数据集
在WebEmotion数据集中预训练的影响如下:
Evaluation of the margin δ1 and δ2, and the ratio β on the RAF-DB dataset
CVPR2020最佳新框架|大规模人脸表情识别(附源代码)相关推荐
- 100行代码搞定实时视频人脸表情识别(附代码)
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|OpenCV学堂 好就没有写点OpenCV4 + Open ...
- 【图像识别】基于支持向量机算法svm实现脸部动态特征人脸表情识别附matlab代码
1 简介 人脸表情识别技术涉及情感计算,图像处理,机器视觉模式识别,生物特征识别等研究领域,是一个极富挑战性的交叉课题.该文介绍一种基于lpq特征,利用支持向量机(SVM)进行分类的人脸表情识别技术. ...
- 【人脸表情识别】基于图片的人脸表情识别,基本概念和数据集
大家好,欢迎来到我们人脸表情识别的专栏,这是专栏的第一篇文章,今天我们讨论的问题是关于表情识别的基本概念和数据集. 作者&编辑 | Menpinland 在较早之前,有三AI已经有一篇< ...
- 人脸表情识别和情绪分类 | Python+TensorFlow(框架)+Keras+PyQt5
人脸表情识别 | Python+Keras+PyQt5 参考学习文章: Keras|基于深度学习的人脸表情识别系统 PyQt5+QtDesigner编写摄像头界面程序(一)--pyqt5.qtdesi ...
- 基于堆栈二值化自动编码器和二值化神经的无约束人脸表情识别算法(An efficient unconstrained FERa based on BAEs and BNN)
摘要(abstract) 虽然深度学习在许多模式识别任务中都取得了良好的效果,但对于含有大量参数集.标记数据有限的深度网络,过拟合问题仍然是一个严重的问题.在这项工作中,二进制自动编码器(BAEs)和 ...
- 【技术综述】人脸表情识别研究
李振东 北京邮电大学硕士在读,计算机视觉方向 言有三 毕业于中国科学院,计算机视觉方向从业者,有三工作室等创始人 作者 | 李振东/言有三 编辑 | 言有三 随着机器学习和深度神经网络两个领域的迅速发 ...
- 《基于剪切波变换的人脸表情识别》笔记
[时间]2018.10.16 [题目]<基于剪切波变换的人脸表情识别>笔记 [论文链接]http://www.wanfangdata.com.cn/details/detail.do?_t ...
- CVPR 2020几篇论文内容点评:目标检测跟踪,人脸表情识别,姿态估计,实例分割等
CVPR 2020几篇论文内容点评:目标检测跟踪,人脸表情识别,姿态估计,实例分割等 CVPR 2020中选论文放榜后,最新开源项目合集也来了. 本届CPVR共接收6656篇论文,中选1470篇,&q ...
- 【人脸表情识别】不得不读的重要论文推荐(2015-2018篇)
前两篇专栏我们介绍了人脸表情识别的相关概念以及研究现状,并且了解了基于图片的人脸表情识别常用的数据集和预处理方法.接下来两篇专栏,笔者将从近5年基于图片的人脸表情识别的论文中推荐一些个人觉得具有代表性 ...
最新文章
- liunx 下dhcp中继及服务器配置
- 使用github管理Eclipse分布式项目开发
- 使用TortoiseSVN新建及合并分支图文教程
- 如何只下载一个github项目的某一特定文件夹或文件
- 开源方案搭建可离线的精美矢量切片地图服务-3.Mapbox个性化地图定制入门
- 二叉排序树的C++实现(过程式)
- ios 轻扫手势_轻扫即可快速删除iOS计算器中的数字
- shell将命令执行的结果赋值给 变量
- LVS之一:基本命令和调度方法
- 【剑指offer】面试题10- I:斐波那契数列(Java)
- 建库建表设置统一编码
- OpenShift 4 之AMQ Streams(3) - 用Kafka MirrorMaker在Kafka集群间复制数据
- android 组件消失了,Android 12 2.2 开发者预览版发布:修复桌面小组件消失等问题...
- WSL2 下的 Docker 配置,使用网易云镜像 + 更改 docker 文件系统(否则无法 apt update)
- JavaScript学习笔记(四)
- vscode自动整理代码_再见了, VS Code!
- Lattice Diamond Reveal SerDes Debug Core简明教程(For ECP5)
- 服务器集群虚拟化区别,服务器集群与虚拟化
- 解析Esri WebScene
- 载图工具snipaste
热门文章
- 【unity造轮子】伤害飘字效果,封装代码
- ocv特性_基于SOC-OCV曲线特征的SOH估计方法研究
- java多线程--哲学家进餐问题(操作系统)(哲学家进餐问题:5个哲学家共用一张圆桌,分别坐在周围的5张椅子上,在圆桌上有5个碗和5只筷子(注意是5只筷子,不是5双),碗和筷子交替排列。)
- python如何将ts文件合并为一个mp4文件(Windows上)
- Oracle清空表空间
- 教务培训系统使用手册
- 计算机对下列几个部件访问速度最快,武汉理工大学材料学院复试计算机题目
- SW3518全协议OPPO闪充、支持QC-A+C-PD 口任意口快充输出车充IC
- 开源工作流HYAppFrame来了
- 炸弹人 html5,HTML5再显威力 与全世界一起玩炸弹人