Micro-expression detection in long videos using optical flow and recurrent neural networks

原文地址:

https://arxiv.org/pdf/1903.10765.pdf

1. 介绍

本文通过在微表情图像序列的光流特征上使用递归神经网络(RNN),能够在长视频序列中发现微表情区间。

具体地,提取定向光流直方图(HOOF)特征来编码所选面部区域的时间变化,然后将其传递给由长短期记忆(LSTM)单位组成的RNN以进行检测任务。该方法使用长为0.5s的滑动窗口,因此可以检测到可能包含微表情的0.5s的区间。

这项工作的主要贡献是所提出的方法有可能使自发微表情数据集的标记工作耗时更少,将这些经过处理的短区间呈现给注释器以进行验证,这减少了需要检查的片段的数量。此外,注释器关于视频区间中是否包含微表情的决定也可以反馈到网络中,从而自动改善模型的性能。

该方法在SAMM数据集上进行评估,该数据集具有159个标记的微动作,并且包括微表情和其他相关的微动作。在LOSO交叉验证协议下,所提出的方法产生了1569个误报——相当于整个数据集片段的四分之一——同时保留了几乎一半的发生的微动作,实现了0.4654的召回率。

2. 提出的方法

该方法包含三个主要部分:预处理,特征提取和微表情检测。预处理包括裁剪和对齐面部,然后提取ROI。特征提取包括在帧上应用光流方法并使用得到的流向量来计算HOOF特征。最后,为了发现微表情区间,将视频序列的提取特征提供给由LSTM单元组成的RNN,然后分类给定序列是否包含相关的微观运动,然后是抑制相邻检测的后处理步骤。

A. 预处理

首先使用Dlib中的默认面部检测器检测并裁剪面部,如图2中的上半部分所示。其次使用来自imutils包的便利功能,它首先使用Dlib库中预先训练的面部界标检测器在裁剪图像上定位面部界标,然后使用检测到的界标计算双眼的中心点。随后,对准面部使得眼睛在水平线上,如图2的右下方所示。

最后的预处理步骤涉及提取感兴趣的区域(ROI)。在重新调整对齐图像上的面部特征点后通过选择相应特征点周围的边界框来提取ROI,如图2左下图所示。因为眼睛眨眼会产生太多噪音,选择排除眼睛区域;因为鼻子是刚性的并且提供的信息很少,选择排除鼻子区域;另外,因为实验表明嘴的中间区域只产生噪声,排除嘴的中间区域,边界框围绕着嘴角。

人脸对齐一种方法是独立地对准每个帧,确保眼睛在水平线上。然而,这种方法适得其反,因为特征点定位时的由于微表情带来的细小误差将导致整个头部的不必要变换。第二种方法是采用Li等人使用的时间滑动窗口。滑动窗口的第一帧用于定位界标并对齐面部,因此,相同的变换应用于滑动窗口中的剩余帧。另外,ROI的提取基于窗口的第一帧,通过使滑动窗口的尺寸足够小,在开始和结束之间的头部方向将不会有任何显着变化。

滑动窗口WWW的大小设为0.5s,这意味着对于200 fps数据,∣W∣=100|W| = 100∣W∣=100,为滑动窗口选择此大小因为这是微表情持续时间的上限。滑动窗口的重叠WoverlapW_{overlap}Woverlap​为0.3s,即滑动步长为0.2s,从而生成区间的集合I1,I2,…,IMI_{1}, I_{2}, \ldots, I_{M}I1​,I2​,…,IM​,如图3所示。由此可以保证生成的区间使得对于任何微表情片段SMES_{ME}SME​,均存在区间Ij,1≤j≤MI_{j}, 1 \leq j \leq MIj​,1≤j≤M使得:
Ij∩SMESME≥0.8\frac{I_{j} \cap S_{M E}}{S_{M E}} \geq 0.8 SME​Ij​∩SME​​≥0.8
本文确信网络能够检测包含80%微表情片段的区间。

B. 特征提取

特征提取采用定向光流直方图(HOOF)特征,这是一种基于光学流动的运动特征,可以提取有效信息来发现微表情,与使用原始像素数据相比,它提供了更高的信噪比。在很多情况下,卷积神经网络(CNN)也可用于特征提取,然而由于训练样本数量较少,本文探索了手工制作特征的使用。

1)光流(OF)

基于光流的特征在最近的研究中越来越受欢迎,部分原因在于它在测量时空变化强度方面的有效性[23]。光流方法通过编码每个像素在帧之间的移动的速度和方向来计算两帧之间的差异。

光流有三个主要假设:它假设亮度是恒定的; 它假设小块中的像素来自同一表面并具有相似的速度; 它假设物体随着时间的推移逐渐变化而不是剧烈变化。总的来说,微表情数据通常会满足这些假设,因为面部会随着时间的推移逐渐变化;小块中的像素通常来自同一表面;亮度,特别是在数据集中,保持相当稳定。在现实生活中,亮度可能并不总是恒定的,但很可能它在(微)表情的持续时间内足够恒定。

2)定向光流直方图(HOOF)

在区间集合I1,I2,…,IMI_{1}, I_{2}, \ldots, I_{M}I1​,I2​,…,IM​中的每一个区间提取帧与帧之间的HOOF特征,但由于微表情视频帧率较高,相邻帧之间的光流非常不微小,因此本文采取降采样的方式,降采样率RRR为1/50s,相当于从200fps的数据中提取4帧,对于短视频Vshort=f1,f2,…,fWV_{\text {short}}=f_{1}, f_{2}, \ldots, f_{W}Vshort​=f1​,f2​,…,fW​中的每一帧fi∈Vshort,R&lt;i≤Wf_{i} \in V_{\text {short}},R&lt;i \leq Wfi​∈Vshort​,R<i≤W,计算fi−Rf_{i-R}fi−R​和fif_ifi​之间的光,然后使用所获得的每对帧的光流来计算HOOF特征,但并非在整个帧上计算HOOF特征而是只在ROI之内。

通过对光流向量基于方向进行分级并且通过向量的大小加权来计算HOOF,如图4所示。原始HOOF特征是对每个bin中的矢量的大小求和,随后由各个方向的bin创建归一化的直方图。由于靠近bin边界的向量对相邻bin没有贡献,小差异偶尔会对结果产生很大影响,Happy和Routray建议使用HOOF的模糊化方法,让向量基于隶属函数贡献多个二进制位,这样,像图4中b⃗\vec{b}b这样的向量对区间7和8的贡献大致相等。本文使用Piotr Dollar的Matlab工具箱的直方图函数中实现软分类,它利用线性插值让矢量贡献到2个最接近的方向区间。

C. 微表情检测

LSTM的任务是分类给定序列是否包含相关的微动作。LSTM的输入序列包含25个timestep,其中timestep tit_iti​基于帧fif_ifi​和fi+Rf_{i + R}fi+R​之间的光流计算。因此,每个timestep包含对于每个ROI提取的HOOF特征,如图5所示。

有关训练标签的设置,根据SAMM数据集包含起始,顶点和终止帧数的ground truth数据,设置对于长为WWW的区间IjI_jIj​是否包含微表情,即如果在ground truth数据中存在间隔SMES_{ME}SME​使得等式(1)中的条件成立,则标签值为真。

LSTM网络由2个LSTM层组成,每个层具有12个维度。使用softmax函数和ADAM优化器,学习率为10−310^{-3}10−3,衰减为0。网络训练50个epoch,使其不会过度拟合。

D. 后处理

由于滑动窗口伴随着重叠WoverlapW_{overlap}Woverlap​,因此检测也将重叠。为了解决重叠检测的问题,对网络的输出进行后处理从而抑制重叠检测。使用类似于贪婪非最大抑制法的方法,在连续检测中采用具有最大置信度的区间,并且抑制直接(重叠)相邻区间。

3. 实验结果

遵循LOSO交叉验证协议,使用SAMM数据集评估所提出的方法,该数据集包含总共159个微动作的79个视频。如果存在微表情区间SMES_{ME}SME​使得(1)中的条件成立,则检测的区间IjI_jIj​被认为是真阳性(TP)。否则,如果不存在这样的间隔SMES_{ME}SME​,则将检测的间隔IjI_jIj​视为误报(FP)。另外,通过获取数据集中的微表情的总数,减去真阳性的数量来获得假阴性(FN)的数量。本文对TP的定义不同于Li等人提出的TP的定义,其中区间大小需要与微表情的持续时间成比例,这种TP的定义对于该方法来说效果不好,因为它目前专注于发现大小为∣W∣|W|∣W∣的间隔,它可以传递给标注者,而并非发现微表情的确切开始和偏移。表I中显示了对获得的结果计算的若干度量,图6为提出的方法的ROC曲线。

$的间隔,它可以传递给标注者,而并非发现微表情的确切开始和偏移。表I中显示了对获得的结果计算的若干度量,图6为提出的方法的ROC曲线。

基于光流和RNN的长视频微表情检测相关推荐

  1. 基于Python实现看图说话和微表情识别

    1. 设计思想 对于人类来说,描述一张图片的内容是非常重要的.但因这个过程并没有标准答案,因此对于计算机来说这并不是一个简单地过程.我们希望通过本次实验能够设计一个模型完成让计算机给图片设定 capt ...

  2. 基于Python实现看图说话和微表情识别【100010260】

    1. 设计思想 对于人类来说,描述一张图片的内容是非常重要的.但因这个过程并没有标准答案,因此对于计算机来说这并不是一个简单地过程.我们希望通过本次实验能够设计一个模型完成让计算机给图片设定 capt ...

  3. AAAI 2020 | 时间可以是二维的吗?基于二维时间图的视频内容片段检测

    作者 | 彭厚文.傅建龙 来源 | 微软研究院AI头条 编者按:当时间从一维走向二维,时序信息处理问题中一种全新的建模思路由此产生.根据这种新思路及其产生的二维时间图概念,微软亚洲研究院提出一种新的解 ...

  4. 时间可以是二维的?基于二维时间图的视频内容片段检测 | AAAI 2020

    作者 | 彭厚文.傅建龙 来源 | 微软研究院AI头条(ID: MSRAsia) 编者按:当时间从一维走向二维,时序信息处理问题中一种全新的建模思路由此产生.根据这种新思路及其产生的二维时间图概念,微 ...

  5. 从财报看爱奇艺增长想象 长视频巨头要说“10分钟”新故事

    北京时间2020年2月28日, 爱奇艺公布截至到2019年12月31日的第四季度和全年未经审计的财务报告.财报数据显示,2019财年爱奇艺总营收达到290亿元(约42亿美元),同比增长16%,其中第四 ...

  6. 在数字乳腺X照片中基于小波分析和统计分析的微钙化检测新特征

    摘要:计算机辅助诊断(CAD)系统在乳腺癌的早期诊断中具有重要作用.在本文中,基于对微钙化检测的新特征集,提出了一套CAD系统.新特征是受几个对一些经典特征(高阶统计特征HOS.离散小波变换DWT和小 ...

  7. 微表情如何用计算机分析计算,面部微表情识别若干关键技术之计算机研究

    面部微表情识别若干关键技术之计算机研究 论文价格:免费 论文用途:其他 编辑:vicky 点击次数:188 论文字数:31584 论文编号:sb2019053109223726543 日期:2019- ...

  8. 3d max用不同目标做关键帧_基于光流的视频目标检测系列文章解读

    作者:平凡的外卖小哥 全文5747字,预计阅读时间15分钟 1 简介 目前针对于图片的目标检测的方法大致分为两类: faster R-CNN/R-FCN一类: 此类方法在进行bbox回归和分类之前,必 ...

  9. tensorflow2 目标检测_基于光流的视频目标检测系列文章解读

    作者:平凡的外卖小哥 全文5747字,预计阅读时间15分钟 1 简介 目前针对于图片的目标检测的方法大致分为两类: faster R-CNN/R-FCN一类: 此类方法在进行bbox回归和分类之前,必 ...

  10. 浙大蔡登团队提出CARL:基于序列对比学习的长视频逐帧动作表征

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 浙大蔡登团队携手微软亚洲研究院,提出了一个新的对比动作表征学习(CARL)框架,以自监督的方式学习逐帧动作表 ...

最新文章

  1. SOCKET编程中,select()函数的作用
  2. 【深度学习】深度学习的三个主要步骤!
  3. 蓝桥备赛第一周2021.1.11 递归 枚举 位运算
  4. Linux下开发常用的CVS使用手册
  5. 中国首部智能交通微纪录片正式发布 探讨交通强国高质量发展路径
  6. ROS( C++ )订阅 robot 的 path 话题
  7. scala的stream流
  8. 2021计算机一级新增知识点,2021年计算机一级知识点.doc
  9. c# -- 二维码生成
  10. 计蒜客网站 ACM-ICPC亚洲区赛题
  11. 最小二乘法拟合圆公式推导及vc实现[r]
  12. Ubuntu 设置 samba共享文件夹
  13. Linux Ubuntu 系统测试硬盘读写速度命令
  14. adb安装apk程序
  15. 第8章 离不开的数据库
  16. 域名设置A记录或CNAME记录,但无法被解析,可能是因为状态为:clientHold
  17. 由浅入深MFC学习摘记--第三部分
  18. 越狱Season 1-Episode 1: the pilot
  19. 浪潮服务器开机没有信号输出,PLC输出指示灯已经点亮但是输出没有信号-工业支持中心-西门子中国...
  20. Word控件Spire.Doc 转换教程(十二):如何将 Word 转换为 EPub、XPS、Emf

热门文章

  1. TOMCAT假死分析
  2. 银河系列超级计算机处理器,超14000颗CPU 探秘世界最快超级计算机
  3. U盘制作成启动盘后容量变小
  4. MTK平台 后视镜系列 声控参数调整方法
  5. Android项目旋转屏幕数据丢失的原因及解决
  6. 盖世兔I9100刷机心得
  7. k8s命令对node调度 cordon,drain,delete 区别
  8. Site App轻松创建移动开发
  9. python用四个圆画成花_秘籍:学画牡丹技法要领,不轻易外传...
  10. JS获取手机型号和系统类型