千家信息网

更细粒度表情运动单元检测:来自物体检测的启示

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,2020-04-13 21:14:56 作者 | 马晨编辑 | 贾伟本文解读清华大学马晨等人发表的人脸表情运动单元检测的论文:《AU R-CNN:将专家先验知识融合进R-CNN模型进行表情运动单元的检
千家信息网最后更新 2025年12月02日更细粒度表情运动单元检测:来自物体检测的启示2020-04-13 21:14:56

作者 | 马晨

编辑 | 贾伟

本文解读清华大学马晨等人发表的人脸表情运动单元检测的论文:《AU R-CNN:将专家先验知识融合进R-CNN模型进行表情运动单元的检测》。

这篇论文率先利用先验知识和物体检测技术做Action Unit人脸表情识别,在BP4D和DISFA两个数据库达到了SOTA的实验结果:在F1 score这个benchmark下BP4D数据库达到了63%的最佳成绩。

论文链接:https://arxiv.org/abs/1812.05788

代码链接:https://github.com/sharpstill/AU_R-CNN

FACS(Facial Action Coding System)是人脸国际标准组织定义的44种人脸运动单元(AU),这些运动单元可以组合表示人脸表情所有可能的表情(包含皱眉,抿嘴等),AU是组成人脸表情的基石。

本论文中所谓的人脸AU检测的任务是指:识别一段视频中每一帧图像的人脸上出现哪些AU。因为AU只是面部肌肉的细微运动,而且不同的面部肌肉运动幅度大小不同,所以AU检测任务具有挑战性。AU 检测在测谎仪、汽车驾驶辅助系统(探测是否驾驶员瞌睡)等有重要应用。

图 1. Action Unit 的例子

图1是Action Unit的例子,关于Action Unit的表情到底定义了怎样的细微的面部表情。

https://imotions.com/blog/facial-action-coding-system/ 提供了动画演示,读者可以自行观看。

总结一下已有方法的缺点:

1、已有的方法虽然提出了AU center的概念作为AU发生的重要区域,并被定义为人脸关键点的附近,这种定义粗糙而位置不精确。AU发生在人脸肌肉运动的特定区域,但不一定是某个landmark附近。

2、已有的研究使用CNN去识别整张脸的图像,而非局部区域的AU。

3、人脸AU识别是一个多label的分类问题,这种多label的约束可以被限制在更细的粒度上:人脸的局部区域上,从而达到更高的精度。

1 方 法

AU R-CNN的方法框架如图2所示,AU检测最困难之处在于人脸的五官大小不定,每个人长相不同,而且发出的表情的位置也不相同,这种充满挑战性的难题如何检测呢?本文站在前人的肩膀上,利用人脸关键点!人脸关键点提供了丰富的人脸位置信息,若能充分利用,则消除了五官的差异,更能细微精确地检测AU。所以该框架首先将人脸划分成不同的区域,每个区域独立地进行检测,如图2所示:

图 2. AU R-CNN方法的整体框架概览,首先用landmark将人脸的68个关键点定位,再依照不同区域ROI独立检测,最后将每个ROI的检测汇总,便得到了全脸的检测结果!

图 3. 关键点和面部分割图

为了利用这些关键点的信息和AU的定义,本文引入了专家先验知识的概念,AU R-CNN方法将AU与其相关的人脸区域的划分定义为专家知识,提出了AU partition rule的规则。该规则如表1所示:

表1. AU partition rule(也即专家先验知识)

AU partition rule将不同的AU分组,同一个位置区域发生的AU被分为一组,比如都是眼睛部位的AU,所以诞生了AU group的概念(表1左)。由此全脸被划分成九个区域,每个区域是一组ROI表示,最后本文使用该ROI的最小外包矩形来表示该AU group区域,如图4所示。

图4. AU group和其外包矩形,之后这些矩形被送入R-CNN的检测头

另外一个难题在于即使同一个区域也可能发生多个AU的表情出现,因此本文使用了sigmoid cross entropy的损失函数来计算损失并反向传播优化网络参数:

图 5. AU R-CNN整体网络结构图,左侧由先验知识截取出不同区域的bounding box,右侧是检测头去分别检测,与此同时,ground-truth label也被按照不同区域分割了,最后计算sigmoid cross entropy损失。

2

AU R-CNN扩展

AU R-CNN可以被作为一个基础框架产生出来很多扩展和变种,这是由于视频的先后帧之间有时间顺序关系,所以可以使用ConvLSTM建模先后帧之间的关系。如下图所示,每个部位的小box被单独的时间轴建模,用一个独立的ConvLSTM去建模并学习。

图 6. AU R-CNN的ConvLSTM扩展,这种扩展模型可以学习并建模视频的先后帧关系

但是在具体实验中,作者发现这种利用上下帧的建模方法效果不是很好,甚至总体的平均F 1 score不如单帧检测。作者在实验部分也分析了其中的原因。

另外除了ConvLSTM这种时空卷积,还可以使用双流法等其他方法进行扩展,总体如下表:

3

实 验

实验在BP4D和DISFA两个数据库上进行,该文的实验部分值得称道的一点是,作者采用了标准的AU R-CNN,并在ResNet-101和VGG-16、VGG-19几个网络上进行测试:

实验结果如下,可以看到AU R-CNN结合ResNet-101的backbone取得最佳的实验结果:

剥离实验中,主要探究这种局部检测到底比标准的CNN那种全脸检测效果好多少,所以在不同分辨率下与标准CNN也进行了比较:

DISFA数据库都是连续的表情视频,实验结果如下:

最后,作者总结了不同的AU R-CNN扩展及其适用范围:

4

总 结

在本文中,作者研究了如何将先验知识融合进R-CNN这种物体检测框架,并使用RoI pooling层在每个位置分别检测,丰富的实验证明了该做法的有效性,也取得了State-of-the-art的实验结果。

2020-04-13 21:14:56

作者 | 马晨

编辑 | 贾伟

本文解读清华大学马晨等人发表的人脸表情运动单元检测的论文:《AU R-CNN:将专家先验知识融合进R-CNN模型进行表情运动单元的检测》。

这篇论文率先利用先验知识和物体检测技术做Action Unit人脸表情识别,在BP4D和DISFA两个数据库达到了SOTA的实验结果:在F1 score这个benchmark下BP4D数据库达到了63%的最佳成绩。

论文链接:https://arxiv.org/abs/1812.05788

代码链接:https://github.com/sharpstill/AU_R-CNN

FACS(Facial Action Coding System)是人脸国际标准组织定义的44种人脸运动单元(AU),这些运动单元可以组合表示人脸表情所有可能的表情(包含皱眉,抿嘴等),AU是组成人脸表情的基石。

本论文中所谓的人脸AU检测的任务是指:识别一段视频中每一帧图像的人脸上出现哪些AU。因为AU只是面部肌肉的细微运动,而且不同的面部肌肉运动幅度大小不同,所以AU检测任务具有挑战性。AU 检测在测谎仪、汽车驾驶辅助系统(探测是否驾驶员瞌睡)等有重要应用。

图 1. Action Unit 的例子

图1是Action Unit的例子,关于Action Unit的表情到底定义了怎样的细微的面部表情。

https://imotions.com/blog/facial-action-coding-system/ 提供了动画演示,读者可以自行观看。

总结一下已有方法的缺点:

1、已有的方法虽然提出了AU center的概念作为AU发生的重要区域,并被定义为人脸关键点的附近,这种定义粗糙而位置不精确。AU发生在人脸肌肉运动的特定区域,但不一定是某个landmark附近。

2、已有的研究使用CNN去识别整张脸的图像,而非局部区域的AU。

3、人脸AU识别是一个多label的分类问题,这种多label的约束可以被限制在更细的粒度上:人脸的局部区域上,从而达到更高的精度。

1 方 法

AU R-CNN的方法框架如图2所示,AU检测最困难之处在于人脸的五官大小不定,每个人长相不同,而且发出的表情的位置也不相同,这种充满挑战性的难题如何检测呢?本文站在前人的肩膀上,利用人脸关键点!人脸关键点提供了丰富的人脸位置信息,若能充分利用,则消除了五官的差异,更能细微精确地检测AU。所以该框架首先将人脸划分成不同的区域,每个区域独立地进行检测,如图2所示:

图 2. AU R-CNN方法的整体框架概览,首先用landmark将人脸的68个关键点定位,再依照不同区域ROI独立检测,最后将每个ROI的检测汇总,便得到了全脸的检测结果!

图 3. 关键点和面部分割图

为了利用这些关键点的信息和AU的定义,本文引入了专家先验知识的概念,AU R-CNN方法将AU与其相关的人脸区域的划分定义为专家知识,提出了AU partition rule的规则。该规则如表1所示:

表1. AU partition rule(也即专家先验知识)

AU partition rule将不同的AU分组,同一个位置区域发生的AU被分为一组,比如都是眼睛部位的AU,所以诞生了AU group的概念(表1左)。由此全脸被划分成九个区域,每个区域是一组ROI表示,最后本文使用该ROI的最小外包矩形来表示该AU group区域,如图4所示。

图4. AU group和其外包矩形,之后这些矩形被送入R-CNN的检测头

另外一个难题在于即使同一个区域也可能发生多个AU的表情出现,因此本文使用了sigmoid cross entropy的损失函数来计算损失并反向传播优化网络参数:

图 5. AU R-CNN整体网络结构图,左侧由先验知识截取出不同区域的bounding box,右侧是检测头去分别检测,与此同时,ground-truth label也被按照不同区域分割了,最后计算sigmoid cross entropy损失。

2

AU R-CNN扩展

AU R-CNN可以被作为一个基础框架产生出来很多扩展和变种,这是由于视频的先后帧之间有时间顺序关系,所以可以使用ConvLSTM建模先后帧之间的关系。如下图所示,每个部位的小box被单独的时间轴建模,用一个独立的ConvLSTM去建模并学习。

图 6. AU R-CNN的ConvLSTM扩展,这种扩展模型可以学习并建模视频的先后帧关系

但是在具体实验中,作者发现这种利用上下帧的建模方法效果不是很好,甚至总体的平均F 1 score不如单帧检测。作者在实验部分也分析了其中的原因。

另外除了ConvLSTM这种时空卷积,还可以使用双流法等其他方法进行扩展,总体如下表:

3

实 验

实验在BP4D和DISFA两个数据库上进行,该文的实验部分值得称道的一点是,作者采用了标准的AU R-CNN,并在ResNet-101和VGG-16、VGG-19几个网络上进行测试:

实验结果如下,可以看到AU R-CNN结合ResNet-101的backbone取得最佳的实验结果:

剥离实验中,主要探究这种局部检测到底比标准的CNN那种全脸检测效果好多少,所以在不同分辨率下与标准CNN也进行了比较:

DISFA数据库都是连续的表情视频,实验结果如下:

最后,作者总结了不同的AU R-CNN扩展及其适用范围:

4

总 结

在本文中,作者研究了如何将先验知识融合进R-CNN这种物体检测框架,并使用RoI pooling层在每个位置分别检测,丰富的实验证明了该做法的有效性,也取得了State-of-the-art的实验结果。

https://www.toutiao.com/i6815184084155761159/

检测 人脸 区域 表情 实验 不同 运动 方法 知识 作者 先验 关键 关键点 结果 位置 框架 单元 专家 数据 数据库 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中国网络安全市场销量第一 物联网络技术包括 滨州游戏软件开发哪家好 数据库系统建造 泉州联通网络安全中心 mvc显示数据库图片例子 铜陵柑覆网络技术有限公司 数据库模糊依赖关系 西安最好的网络技术有限公司 中职计算机网络技术的试卷 我的世界服务器管理员点券 服务器虚拟化的特性有哪些 新疆自治区网络安全法 硕博学位论文全文数据库 软件技术属于计算机网络技术 软件开发创业很难 谷歌云服务器地址 学校召开网络安全稳定会议 软件开发电脑配置清单 保护网络安全 作文 snmp卡可以自动关闭服务器吗 学校网络安全教育培训方案 国产数据库产品的特征和应用 湖南简单的项目管控软件开发平台 如何在新的服务器里下载浏览器 农业网络技术与信息化 廊坊市百首网络技术 在云服务器上启动服务 致远被迫下线与服务器失去连接 简单的数据库设计论坛
0