论文阅读:LOGO-Former: Local-Global Spatio-Temporal Transformer for DFER(ICASSP2023)

文章目录

  • 摘要
  • 动机与贡献
  • 具体方法
    • 整体架构
    • 输入嵌入生成
    • LOGO-Former
      • 多头局部注意力
      • 多头全局注意力
    • 紧凑损失正则化
  • 实验
  • 思考
  • 总结

本篇论文 LOGO-Former: Local-Global Spatio-Temporal Transformer for Dynamic Facial Expression Recognition发表在ICASSP(声学顶会),代码暂未开源。

摘要

以前的动态面部表情识别(DFER)方法主要基于卷积神经网络(CNN),其局部操作忽略了视频中的长程依赖性。基于Transformer的DFER方法可以实现更好的性能,但会导致更高的FLOPs和计算成本。为了解决这些问题,局部-全局时空Transformer(LOGO-Former)被提出来捕获每个帧内的区别性特征,并在平衡复杂度的同时建模帧之间的上下文关系。基于面部肌肉局部运动和面部表情逐渐变化的先验知识,我们首先将空间注意力和时间注意力限制在一个局部窗口内,以捕获特征标记之间的局部交互。此外,我们执行的全局注意力,通过查询一个token的功能,从每个局部窗口迭代获得整个视频序列的长距离信息。此外,我们提出了紧凑的损失正则化项,以进一步鼓励学习的特征具有最小的类内距离和最大的类间距离。在两个野外动态面部表情数据集上的实验(即,DFEW和FERV 39 K)的结果表明,我们的方法提供了一种有效的方法来利用空间和时间的依赖性DFER。

动机与贡献

下面是几种不同时空自注意方案:

在这里插入图片描述
不同时空自我注意方案的可视化。为了更好地说明,我们用浅黄色表示query token,用玫瑰色表示key token,用浅蓝色表示非注意token。
(a)全局时空注意力: O ( T 2 S 2 ) O(T^2S^2) OT2S2
(b)仅空间注意力: O ( T S 2 ) O(TS^2) OTS2
(c)时空分割注意力 O ( T S 2 + T 2 S ) O(TS^2+T^2S) OTS2+T2S
(d)时空混合注意力: O ( T S 2 ) O(TS^2) OTS2
(e)(f)本文采用的局部和全局时空的注意力机制

不同的面部肌肉在局部面部区域内运动,并且面部表情在视频中的相邻帧内逐渐改变。我们的目标是利用视频中的时空信息,同时最大限度地减少tranformer的计算成本,以实现高效的动态面部表情识别。

  • 为了实现这一点,本文提出了局部-全局时空Transformer(LOGO-Former)用于捕获短期和长期依赖关系,同时降低transformer的计算成本。我们计算非重叠窗口内的自我注意力,以捕捉token之间的局部交互。
  • 这样的局部时空注意力无法捕捉全局信息。因此,利用全局时空注意力使query token关注窗口级的 key token,如上如(f)所示
  • 为了进一步提高模型的鉴别能力,我们提出了紧凑损失正则化项来减少类内距离和增加类间距离。定量结果和可视化结果表明,我们的方法在野外动态面部表情识别的有效性。

具体方法

整体架构

在这里插入图片描述
从视频中采样的人脸帧被CNN主干处理以获得帧级别的特征序列。LOGO-FORM通过联合计算空间关注度和时间关注度来获取区分特征标记。

输入嵌入生成

在这里插入图片描述

给定一个图像序列 X ∈ R F × H 0 × W 0 × 3 X ∈ R^{F× H _0 × W _0 ×3} XRF×H0×W0×3,其中 F F F个RGB人脸帧大小为 H 0 × W 0 H _0 × W _0 H0×W0,从视频中采样,我们利用CNN骨干提取帧级特征。标准CNN主干(ResNet 18)用于为每帧生成大小为 H × W H ×W H×W的高级特征图。片段特征 f 0 ∈ R F × H × W × C f_0 ∈ R^{F×H×W×C} f0RF×H×W×C是通过连接所有帧级特征图来获得的。

在这里插入图片描述

随后,我们将片段特征 f 0 f_0 f0的空间维度平坦化,并通过1 × 1卷积将它们投影,从而产生新的特征序列 f 1 ∈ R F × ( H × W ) × d f1 ∈ R^{F×(H×W)×d} f1RF×H×W×d

注意, f 1 f_1 f1的时间顺序与输入 X X X的时间顺序一致。为了补充特征序列的时空位置信息,我们将可学习的位置嵌入与 f 1 f_1 f1结合起来。我们还在时间维度上将分类标记 [ C L S ] [CLS] [CLS]前置到序列中,该标记对序列的全局状态进行建模,并进一步用于识别。类似地,还添加了时间位置嵌入。最后,获得时空Transformer的输入嵌入X0。

LOGO-Former

LOGO-Former由 N N N个分块组成,每个分块由多头局部注意力和多头全局注意力组成,迭代学习上下文和区分性时空特征表示。

多头局部注意力

在这里插入图片描述

在这里插入图片描述

F × H × W F ×H ×W F×H×W的输入特征图(为了简单起见,我们在这里省略了 [ C L S ] [CLS] [CLS]标记)作为输入,我们将其均匀地分成几个大小为 f × h w f × hw f×hw的窗口,从而得到 F f × H W h w \frac{F}{ f} × \frac{HW} {hw} fF×hwHW窗口,如上图所示。我们在一个窗口 ( i , j ) (i,j) ij内将这些token平坦化,可以表示为 X i , j ∈ R ( f h w ) × d X_{i,j} ∈ R^{(fhw)×d} XijRfhw×d。第 k k k个块的多头局部注意力公式化为:
在这里插入图片描述
时间复杂度如下:
在这里插入图片描述

多头全局注意力

在这里插入图片描述

在这里插入图片描述

我们应用卷积运算来分离和合并特征图,划分为非重叠区域,其中每个区域是特征图的时空抽象。每个区域用于将全局上下文信息传递给每个查询标记。多头全局注意力被公式化为:
在这里插入图片描述
不失一般性,假设我们将特征映射 Y k Y_k Yk池化成 F W H f w h \frac{FWH} {fwh} fwhFWH个token,我们的多头全局注意力的复杂度为:
在这里插入图片描述
因此,我们的LOGOFormer的整个注意力复杂度可以计算为:
在这里插入图片描述
最后,我们将单个全连接(FC)层应用于最后一个块的分类token X ( 0 , 0 ) N X^N_{(0,0)} X00N
在这里插入图片描述

紧凑损失正则化

进阶详解KL散度:https://zhuanlan.zhihu.com/p/372835186

学习判别性的时空特征在野外DFER要求损失函数具有最大化不同类别之间的特征距离的能力。为了实现这一点,我们建议使用对称Kullback-Leibler(KL)散度 D ( u ) ∣ ∣ p ) + D ( p ∣ ∣ u ) {D(u)||p)+ D(p|| u)} Du∣∣p+Dp∣∣u来测量分布 u u u p p p之间的差异,并对预测分布 p p p施加约束,其中 u u u C − 1 C − 1 C1上的均匀分布, p p p是预测分布,但不包括相应目标 y y y的概率。 u 由 u由 usoftmax函数计算:
在这里插入图片描述
在这里插入图片描述

实验

我们使用两个野外DFER数据集(即,DFEW和FERV 39 K)来评估我们提出的方法。对于DFEW和FERV 39 K,经处理的面部区域图像被正式检测、对齐并公开提供。我们的模型在DFEW和FERV 39 K上使用两个NVIDIA GTX 1080Ti GPU卡进行了100次训练,批量为32。初始学习率为0.001的SGD优化器和锐度感知最小化用于优化我们提出的模型。我们使用MSCeleb-1 M 上预训练的ResNet 18作为CNN骨干。时空Transformer层的数量N和头的数量分别经验地分配为4和8。未加权平均召回率(UAR)和加权平均召回率(WAR)作为评价指标。
在这里插入图片描述
在这里插入图片描述
从上表中可以发现加入正则项之后对模型的性能有显著的提升,我们提出的新方法在降低计算量的情况下,还能有较好的模型性能。
在这里插入图片描述
通过可视化也可以发现加入紧凑正则项之后使得学习到的特征具有更好的聚合效果,在不同表情之间表现出更清晰的类间边界。

思考

本篇文章设计的思路与MAE-DFER: Efficient Masked Autoencoder for Self-supervised Dynamic Facial Expression Recognition有一定的相似之处。
在MAE-DFER中LGI - Former是组成编码器的核心模块,LGI - Former的核心思想是在局部区域引入一组具有代表性的小标记。一方面,这些标记负责汇总局部区域的关键信息。另一方面,它们允许对不同区域之间的长距离依赖关系进行建模,并实现有效的局部-全局信息交换。
在这里插入图片描述
本文设计的 LOGO-Former和上文的LGI - Former有异曲同工之妙, LOGO-Former的多头局部注意力和LGI - Former中的Local Intra-Regin Self-Attention基本完全相同。

LOGO-Former的多头全局注意力模块应用卷积操作来分离和池化特征图,每个区域用于向每个query key传递全局上下文信息。这一操作对应着LGI - Former中的global inter-region self-attention和local-global interaction。
在这里插入图片描述

在这里插入图片描述

总结

在本文中,我们提出了一个简单而有效的局部-全局Transformer(LOGO-Former)和紧凑的损失正则化项在野生动态面部表情识别(DFER)。我们联合应用每个块内的局部注意力和全局注意力来迭代地学习时空表示。为了进一步提高模型的判别能力,我们通过紧凑的损失正则化项对预测分布施加约束,以增强类内相关性并增加类间距离。实验结果和可视化结果表明,我们的方法学习的歧视性时空特征表示,并提高了分类边缘。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/183343.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

帧间快速算法论文阅读

Low complexity inter coding scheme for Versatile Video Coding (VVC) 通过分析相邻CU的编码区域,预测当前CU的编码区域,以终止不必要的分割模式。 𝐶𝑈1、𝐶𝑈2、𝐶𝑈3、&#x…

SpringCloudAlibaba - 项目完整搭建(Nacos + OpenFeign + Getway + Sentinel)

目录 一、SpringCloudAlibaba 项目完整搭建 1.1、初始化项目 1.1.1、创建工程 1.1.2、配置父工程的 pom.xml 1.1.3、创建子模块 1.2、user 微服务 1.2.1、配置 pom.xml 1.2.2、创建 application.yml 配置文件 1.2.3、创建启动类 1.2.4、测试 1.3、product 微服务 1…

【江协科技-用0.96寸OLED播放知名艺人打篮球视频】

Python进行视频图像处理,通过串口发送给stm32,stm32接收数据,刷新OLED进行显示。 步骤: 1.按照接线图连接好硬件 2.把Keil工程的代码下载到STM32中 3.运行Python代码,通过串口把处理后的数据发送给STM32进行显示 …

如何使用 JMeter 进行 HTTPS 请求测试?

本文将介绍如何使用 JMeter 测试 HTTPS 请求,并提供相关的技巧和注意事项。 在进行性能测试时,很多网站都采用了 HTTPS 协议。当我们测试 HTTPS 请求,如果服务端开启了双向认证,则需要客户端发送请求时带上证书。本文介绍如何在 …

cordova Xcode打包ios以及发布流程(ionic3适用)

第一步 1、申请iOS证书 2、导入证书到钥匙串 第二步 1、xcode配置iOS证书 1.1用Xcode打开你的项目(我的Xcode版本是新版) 修改如下图 回到基本信息设置界面,Bundie 这项填写,最先创建的那个appid,跟创建iOS描述文件时选…

解决方案中word中分页符的使用

在投标方案中要善于使用“分页符”,尽可能少使用分节符号,没有分页符前,你每次修改你的标书或者文件,增加或者修改内容后。你的格式字段前后都是会发生变化,如何稳定的保证结构呢,那就是分页符的使用&#…

RFSoC Debug:Petalinux 不显示 flash选项

这个板子和NI的X410是一样的。 问题 不显示Flash选项 [*] Advanced bootable images storage Settings ---> boot image settings ---> Image storage media (primary flash) --->解决 在Block Design中添加SD卡或者Flash选项,否则就不会显示&#xff1…

HMM与LTP词性标注之命名实体识别与HMM

文章目录 知识图谱介绍NLP应用场景知识图谱(Neo4j演示)命名实体识别模型架构讲解HMM与CRFHMM五大要素(两大状态与三大概率)HMM案例分享HMM实体识别应用场景代码实现 知识图谱介绍 NLP应用场景 图谱的本质,就是把自然…

【Hello Algorithm】贪心算法

本篇博客介绍: 简单介绍下贪心算法 贪心算法 介绍贪心算法最小字典序的字符串拼接最多会议数切棍子的最小成本IPO灯塔问题 介绍贪心算法 贪心算法是一种极具有自然智慧的算法 它会使用以一种局部最功利的标准来做出一个当前看来最好的选择 如果说我们根据局部最优…

python图像处理 ——图像锐化

python图像处理 ——图像锐化 前言一、原理二、 空间域锐化滤波1.拉普拉斯算子(Laplacian)2.罗伯茨算子(Roberts)3.Sobel算子4.Prewitt算子5.Scharr算子 三、实验对比 前言 由于收集图像数据的器件或传输图像的通道存在一些质量缺…

【C/C++】什么是POD(Plain Old Data)类型

2023年11月6日,周一下午 目录 POD类型的定义标量类型POD类型的特点POD类型的例子整数类型:C 风格的结构体:数组:C 风格的字符串:std::array:使用 memcpy 对 POD 类型进行复制把POD类型存储到文件中,并从文…

idea中配置spring boot单项目多端口启动

参照文章 https://zhuanlan.zhihu.com/p/610767685 项目配置如下 下面为 idea 2023,不同版本的设置有区别,但是没那么大,idea 2023默认使用新布局,切换为经典布局即可。 在项目根目录的.idea/workspace.xml文件里添加如下配置 &l…

紫光同创FPGA编写的8画面分割器演示

适用于板卡型号: 紫光同创PGL50H开发平台(盘古50K开发板) 图(1) 盘古50K开发板 TOP 层逻辑框 图(2) TOP层逻辑框 video_copy_ux 将输入的一路RGB888信号复制成8份,每份画面内容相同,各路颜色有些差异: 第…

Linux重定向和缓冲区

文章目录 知识回顾&取地址重定向 重定向底层文件描述符分配规则dup2标准输出和标准错误的区别 缓冲区缓冲区总结 知识回顾 我们在之前有了解过输出重定向>, >>,可以让echo命令本来是打印到屏幕上而变成了把这些数据写到文件中,并且可以追加或者覆盖文…

力扣370周赛 -- 第三题(树形DP)

该题的方法,也有点背包的意思,如果一些不懂的朋友,可以从背包的角度去理解该树形DP 问题 题解主要在注释里 //该题是背包问题树形dp问题的结合版,在树上解决背包问题 //背包问题就是选或不选当前物品 //本题求的是最大分数 //先转…

HTML_案例1_注册页面

用纯html页面&#xff0c;不用css画一个注册页面。 最终效果如下&#xff1a; html页面代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>注册页面</title> </head>…

明御安全网关任意文件上传漏洞复现

简介 安恒信息明御安全网关(NGFW) 秉持安全可视、简单有效的理念&#xff0c;以资产为视角的全流程防御的下一代安全防护体系&#xff0c;并融合传统防火墙、入侵防御系统、防病毒网关、上网行为管控、VPN网关、威胁情报等安全模块于一体的智慧化安全网关。 较低版本的系统存…

Vue、fabricJS 画布实现自由绘制折线

作者GitHub&#xff1a;https://github.com/gitboyzcf 有兴趣可关注 Vue3代码&#xff0c;Vue2相似改吧改吧 前言 Fabric.js Fabric.js&#xff08;英文官网&#xff09;是一个强大而简单的 Javascript HTML5画布库&#xff08;也就是针对canvas进行的封装操作&#xff0c;使…

CentOS/RHEL7环境下更改网卡名称为CentOS6的传统命名规则

图片 CentOS/RHEL7网卡命名规则介绍 图片 传统的Linux服务器网卡的名称命名方式是从eth0,eth1,eth2....这种方式命名的&#xff0c;但是这个编号往往不一定准确对应网卡接口的物理顺序&#xff0c;常规模式下我们使用的服务器设备可能只有一张网卡&#xff0c;若网卡较多的情…