Micro-Expression Classification based on Landmark Relations with Graph AttentionConvolutionalNetwork

2021CVPR

研究内容及背景

文章贡献

•我们提出了一种端到端地标辅助的双流图形注意力卷积网络,该网络将地标点位置和光流信息相结合,对面部微表情进行分类。

•我们设计了一个图来提取时间信息使用三帧结构。我们使用两个流图的注意网络,一个用于节点位置,另一个用于光流补丁信息,然后将它们融合。我们描述了一种基于光流幅值从视频中自动选择高强度表达帧的方法。

•我们在两个公开可用的数据集上为3类和5类面部微表情提供了一个全面的评估。

整体框架

1.利用欧拉运动放大率(EMM)对信号进行放大,提取放大后的输入视频。

2.定义了一种自动选择高强度表达帧的方法,并使用光流幅度阈值去除剩余的低强度帧。

3.使用dlib软件来检测人脸上的标点。在这些检测到的标点的基础上,我们构建了我们的图,并计算出选定路标点处的光流斑块特征信息。

4.最后,我们利用两流图注意力卷积神经网络对微表达式进行分类,该网络利用了路标点位置信息和光流patch信息

具体实现

1.欧拉运动放大(EMM)

通过整合空间和时间处理对视频中的微小运动进行放大,以关注视频中细微的面部特征。EMM的优点如下:首先,放大视频有助于放大小信号,使人眼更容易识别这些微表情。其次,为了平衡数据库,我们可以使用不同的放大因子α,并利用这些样本在训练集中扩充数据集。选择合适的放大因子来放大视频是至关重要的。α值越高,由于噪声的放大,视频中加入的伪影越多。因此,我们选择较低的α值来放大视频。我们选择了一个α的预设值,从2到5。我们进行了一个实验,以确定最佳α值的PSNR比,并且在α值为5及以上时观察到视频的变形。Lei等[17]也表明,α值越高,视频质量越差。因此,在实验过程中,我们最终选择α = 4作为我们的测试样本。对于训练过程和平衡数据集,我们使用α = 1, 2, 3, 4和5。不同α值的EMM如图2所示,α值范围为1 ~ 4。

 2.选择视频帧的方法

由于微表情很微妙,持续时间不到几分之一秒,我们只关注具有高强度表情信息的帧进行分类。因此,从视频中去除低强度的表达式帧是至关重要的。我们计算了视频帧的光流[20],并得到了每帧的光流的幅值。图3显示了流量大小(vs)与帧号的关系。接下来,我们通过取前5个视频帧的平均流量值来计算阈值。最后,我们使用等于前五个视频帧平均流量的1.25倍的阈值去除低强度帧。任何超过阈值的帧被选择,其余的帧被丢弃。我们需要至少3个帧(图从当前帧连接到前一帧和未来帧)来构建我们的图来提取时间信息。在任何情况下,如果任何视频不具备所需的3个视频帧,那么我们将为分类任务选择所有的视频帧。之所以选择较高且严格的阈值,是因为图网络收敛速度较慢,这样可以减少训练和测试过程中的帧数。

3.人脸标志点检测与节点特征提取

我们使用dlib软件[19]获得68个landmark points。但是,这些里程碑点对面部微表情的分类并不占主导地位。因此,我们消除了面部轮廓区域的地标点,以及鼻子和嘴内的几个点。最后,在68个积分中还剩下37个里程碑。我们在额头区域(10)(眉毛区域上方)和嘴部区域(4)附近增加了一些额外的参考点,如图4所示。这些地标点是使用视频的起始帧获得和添加的。这14个地标点是所有视频帧的参考点。这些点的意义在于,我们捕捉到额头区域和脸颊附近区域的细微变化。我们获得的另一个重要信息是其他地标点是如何相对于这14个参考地标点移动的。现在,我们总共得到了51个人脸上的地标点,如图4所示。

在提取出面部51个标志性点后,重新进行人脸识别,我们根据人类的面部结构将地标点连接起来。后来我们连接了10个位于前额与眼睛和眉毛区域的参考点。嘴区域附近的4个地标点相互连接。我们使用节点位置作为图网络第一流的特征向量。

对于图像特征,我们计算了10×10域patch大小在各自地标位置的光流,如图5所示。选择10×10 patch大小的原因是我们不想错过地标点附近面部肌肉运动的任何变化。另一个原因是我们有运动放大后的视频帧样本。因此,新的放大的视频帧不再是微妙的。将10×10光流特征矩阵扁平化为大小为100×1光流特征向量的1D。将矩阵展平为向量的原因是为了提取边缘特征和减少计算量。光流特征向量是图网络第二流中51个特征的输入。

4. 面部图结构

图结构的基本构造块是节点数据和边数据,可以表示为:G = (N, E)(1)其中N = Nodes, E = Edges。N为基于人脸区域选择的地标点个数。在我们的例子中,N = n1 n2 n3 . . . . n51。E为两个节点之间的连接所得到的边数,其中E = (e12, e13, e24, ..), eij), I和j是各自的节点。图结构如图4所示。节点和边缘会根据面部肌肉的变化而运动,每个微表情课都有不同的面部肌肉运动模式。因此,节点和边缘的肌肉运动会发生变化,因此,图形结构可以用于面部微表情的分类。

        我们设计了一种利用三帧结构(三帧视频)提取时间信息的图。在这里,当前框架连接到前一个框架和未来的框架。整个视频被转换成一个单独的图形,使用三帧连接到帧。

 5.双流图注意力卷积网络

为了从视频中提取时间特征,我们设计了一种新型的两流图注意网络来训练图结构,如图6所示。我们设计了一种三层框架结构。整个视频被转换成一个单独的图形。从中提取节点特征和光流特征进行分类。在图结构的注意任务中,Velickovic等人提出了利用节点特征的自注意的图注意网络(GA T)。该方法假设相邻节点对中心节点的贡献既不相同,也不像图卷积网络(GCN)模型那样是预先确定的。GAT采用注意机制学习两个连通节点之间的权值。我们使用GA T[21]和(GCN)[22]来设计图网络,如图6所示。我们使用三个GACNN层,每个图形层后都有ReLu激活函数。我们使用64个隐藏通道,连接操作是关闭的,并且GAT层的头数= 1。我们在全局平均池操作之后使用dropout函数。对于第一个流,节点特征向量的大小等于x和y坐标,对于第二个流,节点向量的长度为100。在两流网络的全连接层的末端,将两流网络的结果串接在一起,得到两流网络的图表示。最后,输出经过最后的全连接层和软最大层进行分类。我们使用Adam优化器,学习速率为0.001。学习速度每100个epoch下降一半。

实验结果 

我们在两个公开的数据集CASME II[23]和SAMM[24]上进行了实验,对3类和5类表达式进行了评估。我们使用遗漏一个受试者的交叉验证方法来评估我们的结果。实验是在一个运行Ubuntu 16.04、64GB RAM和两个NVIDIA GeForce GTX 1080Ti gpu的工作站上进行的。我们使用PyTorch实现网络。

为了更好地提取面部特征,我们将图像帧对齐并调整大小为256x256。为了解决数据不平衡的问题,我们在训练视频样本数量较少的类时,使用另一个数据集的数据(Happy和Surprise)来提高训练的准确性。此外,我们使用不同的运动放大倍数(1、2、3、4、5)来增加数据样本,以克服训练过程中数据集的类别不平衡。在评价过程中使用4的放大因子,其他放大的样本用于增加样本数量最少的类别(快乐、惊讶、压抑和蔑视)的样本数量。

采用LOSO协议,利用ACC和F1-score评估结果

如表3所示。对于CASME II数据集,与Gan等人[28]相比,我们的方法获得了1.38%的准确率结果,F1-Score较Gan等人[28]低0.02%。CASME II数据集(3类)的混淆矩阵如图7所示。同样,对于SAMM数据集,我们的方法提高了6.77%的准确性,F1-Score比其他方法提高了10.62%。对于CASME II数据集,我们的方法与现有的基于图的方法相比,准确率提高了18.46%,F1-Score提高了52.06%。同样,对于SAMM数据集,与现有的基于图的分类方法相比,我们的方法对3类分类的准确率提高了36.42%,F1-Score提高了45.48%。SAMM数据集(3类)的混淆矩阵如图8所示。对CASME II数据集使用最先进的方法和我们的ap- 

总结

在本文中,我们提出了一种两流图注意力卷积神经网络,用于节点位置特征和光流特征向量,并借助三组帧来提取时间信息。我们定义了一个帧选择过程来丢弃低强度的表达式帧。将两流网络的结果融合用于微表达的分类。我们对3类和5类表达式的CASME II和SAMM数据集进行了综合评估。我们提出的方法在CASME II数据集的三个类别和五个类别上的准确率分别比目前最先进的方法高出1.38%和7.32%。在SAMM数据集上,与现有方法相比,该方法对3类和5类表达式的准确率分别提高了6.77%和13.24%。我们的帧选择方法提高了MEs分类的整体性能。我们观察到,在不使用注意网络的情况下,框架选择过程有助于3类CASME II和SAMM数据集的准确度分别提高4.14%和2.25%。在未来,我们将致力于自动学习边缘连接以及边缘和节点特征之间的关系

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
很抱歉,根据提供的引用内容,我无法提供关于"SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS"代码的信息。引用的内容主要介绍了图上结点分类的半监督问题以及相关的研究方法和改进。如果您需要获取该代码,建议您查阅相关的学术论文或者在开源代码平台上搜索相关的项目。 #### 引用[.reference_title] - *1* [Semi-supervised classification with graph convolutional networks](https://blog.csdn.net/weixin_41362649/article/details/113232898)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Kipf-GCN《Semi-Supervised Classification With Graph Convolutional Networks》论文详解](https://blog.csdn.net/u012762410/article/details/127177181)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Semi-Supervised Classification with Graph Convolutional Networks](https://blog.csdn.net/m0_37924639/article/details/124884547)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值