TEA: Temporal Excitation and Aggregation for Action Recognition 论文阅读

news2024/10/6 0:46:29

TEA: Temporal Excitation and Aggregation for Action Recognition 论文阅读

  • Abstract
  • 1. Introduction
  • 2. Related Works
  • 3. Our Method
    • 3.1. Motion Excitation (ME) Module
      • 3.1.1 Discussion with SENet
    • 3.2. MultipleTemporal Aggregation(MTA) Module
    • 3.3. Integration with ResNet Block
  • 4. Experiments
  • 5. Conclusion

文章信息:
在这里插入图片描述

原文链接:https://arxiv.org/abs/2004.01398
源码:https://github.com/Phoenix1327/tea-action-recognition
发表于:CVPR 2020

Abstract

时间建模对于视频中的动作识别至关重要。它通常考虑了短期运动和长期聚合。在本文中,我们提出了一个称为时间激励与聚合(TEA)块,包括一个运动激励(ME)模块和一个多重时间聚合(MTA)模块,专门设计用于捕获短期和长期时间演变。特别是,对于短期运动建模,ME模块从时空特征中计算特征级的时间差异。然后利用这些差异来激发特征的运动敏感通道。先前工作中的长期时间聚合通常是通过堆叠大量的局部时间卷积来实现的。每个卷积一次处理一个局部时间窗口。相反,MTA模块提出将局部卷积变形为一组子卷积,形成一个分层残差架构。在不引入额外参数的情况下,特征将通过一系列子卷积进行处理,每个帧都可以与邻域完成多次时间聚合。因此,时间维度的最终等效感受野相应地被扩大,能够对远距离帧的长期时间关系进行建模。TEA块的两个组件在时间建模中是互补的。最后,我们的方法在几个动作识别基准测试中以低FLOPs取得了令人印象深刻的结果,例如Kinetics,Something-Something,HMDB51和UCF101,这证实了它的有效性和效率。

1. Introduction

动作识别是视频任务中的一个基础问题。在智能监控、自动驾驶、个性化推荐和娱乐等视频应用中,它变得越来越重要。虽然视觉外观(及其上下文)对于动作识别很重要,但建模时间结构也很重要。时间建模通常以不同的尺度呈现(或被认为呈现):
1)在相邻帧之间的短程运动和
2)在大尺度上的长程时间聚合。
有许多工作考虑了其中的一个或两个方面,特别是在当前深度CNN时代。然而,它们仍然存在一些差距,问题远未解决,即如何有效高效地建模具有显著变化和复杂性的时间结构仍然不清楚。

对于短程运动编码,大多数现有方法首先提取手工制作的光流,然后将其馈送到基于2D CNN的两流框架中进行动作识别。这样的两流架构分别处理RGB图像和光流。光流的计算耗时且存储需求量大。特别是,空间和时间特征的学习是隔离的,并且融合仅在后期层进行。为了解决这些问题,我们提出了一个运动激发(ME)模块。我们的模块不采用像素级光流作为额外的输入模态,并将时间流的训练与空间流的训练分开,而是可以将运动建模整合到整个时空特征学习方法中。具体来说,首先在相邻帧之间计算特征级的运动表示。然后利用这些运动特征产生调制权重。最后,可以使用这些权重来激发帧原始特征中的运动敏感信息。通过这种方式,网络被迫发现和增强捕获不同信息的信息化时间特征。

对于长程时间聚合,现有方法要么
1)采用2D CNN骨干提取逐帧特征,然后利用简单的时间最大/平均池化来获得整个视频表示。这样简单的汇总策略会导致时间信息的丢失/混淆;

或者2)采用局部3D/(2+1)D卷积操作处理局部时间窗口。长程时间关系是通过在深度网络中重复堆叠局部卷积来间接建模的。然而,重复大量的局部操作会导致优化困难,因为信息需要在远距离帧之间的长路径上传播。

为了解决这个问题,我们引入了多重时间聚合(MTA)模块。MTA模块也采用(2+1)D卷积,但一组子卷积取代了MTA中的1D时间卷积。子卷积形成一个分层结构,相邻子集之间有残余连接。当时空特征通过模块时,特征与相邻帧进行了多次信息交换,等效的时间接受域因此增加了多次,以建模长程时间动态。

提出的ME模块和MTA模块被插入到标准的ResNet块中,以构建Temporal Excitation and Aggregation (TEA)块,并通过堆叠多个块来构建整个网络。获得的模型效率高:得益于轻量级配置,TEA网络的FLOPs控制在较低水平(仅比2D ResNet多1.06倍)。所提出的模型也是有效的:TEA的两个组成部分是互补的,在赋予网络短程和长程时间建模能力方面相互合作。总之,我们方法的主要贡献有三个方面:

  1. 运动激励(ME)模块,将短程运动建模与整个时空特征学习方法相结合。
  2. 多重时序聚合(MTA)模块,有效地扩大了长程时间建模的时间感受野。
  3. 两个提出的模块都简单轻量,并且可以轻松集成到标准ResNet块中,以合作进行有效和高效的时间建模。

2. Related Works

随着深度学习方法在基于图像的识别任务上取得了巨大成功,一些研究人员开始探索将深度网络应用于视频动作识别任务。其中,Karpathy等人提出了将单个2D CNN模型应用于视频的每一帧,并探索了几种融合时间信息的策略。然而,该方法未考虑帧间的运动变化,并且最终性能不如手工特征的算法。Donahue等人使用LSTM模型对2D CNN特征进行聚合以建模时间关系。在这种方法中,每帧的特征提取是独立的,而且只考虑了高级别的2D CNN特征用于学习时间关系。

现有的方法通常采用两种方法来提高时间建模能力。第一种是基于Simonyan和Zisserman提出的两流架构。该架构包含一个空间2D CNN,从帧中学习静态特征,以及一个用光流形式建模运动信息的时间2D CNN。两个流的训练是分开的,并且对视频的最终预测是在两个流上进行平均。许多后续工作已经扩展了这样的框架。[9, 8]探索了不同的中间级别组合策略来融合两个流的特征。TSN提出了稀疏采样策略来捕获长距离视频剪辑。所有这些方法都需要额外的计算和存储成本来处理光流。此外,不同帧之间和两种模态之间的交互受到限制,通常仅发生在后期层。相反,我们提出的方法放弃了光流提取,并通过计算时间差异来学习近似的特征级别运动表示。运动编码可以与时空特征的学习相结合,并用于发现和增强其对运动敏感的成分。

最近的作品STM [22]也尝试对特征级别的运动特征进行建模,并将运动建模插入到时空特征学习中。我们的方法与STM的不同之处在于,STM直接将时空特征和运动编码加在一起。相比之下,我们的方法利用运动特征对特征进行重新校准,以增强运动模式。

另一种典型的视频动作识别方法是基于3D CNN及其(2+1)D CNN变体 [38, 36, 3, 40, 46]。这一系列工作的首个作品是C3D [38],它对相邻帧进行3D卷积,以统一的方式共同建模空间和时间特征。为了利用预训练的2D CNN,Carreira和Zisserman [3] 提出了I3D,将预训练的2D卷积膨胀到3D卷积中。为了减少3D CNN的大量计算,一些工作提出将3D卷积分解为2D空间卷积和1D时间卷积 [36, 5, 27, 14, 31, 39],或者利用2D CNN和3D CNN的混合 [40, 47, 54]。在这些方法中,长程时间连接理论上可以通过堆叠多个局部时间卷积来建立。然而,在大量的局部卷积操作之后,来自远距离帧的有用特征已经被削弱,不能很好地捕获。为了解决这个问题,T3D [5] 提出采用密集连接结构 [20],并结合了不同的时间窗口 [37]。Nonlocal模块 [45] 和stnet [14] 应用了自注意机制来建模长程时间关系。这些尝试都伴随着额外的参数或耗时的操作。与这些工作不同,我们提出的多重时间聚合模块简单高效,不需要引入额外的运算符。

3. Our Method

所提方法的框架如图1所示。输入视频长度可变,使用TSN提出的稀疏时间采样策略进行采样 [44]。首先,将视频均匀分成T个段。然后,从每个段中随机选择一帧,形成具有T帧的输入序列。对于时空建模,我们的模型基于2D CNN ResNet [15],通过堆叠多个Temporal Excitation and Aggregation (TEA)模块构建而成。TEA模块包含一个运动激发 (ME) 模块用于激发运动模式,以及一个多重时间聚合 (MTA) 模块用于建立长程时间关系。在模型末端,遵循之前的方法 [44, 27],采用简单的时间平均池化来对所有帧的预测进行平均。

在这里插入图片描述
图1. 提出的用于动作识别的方法框架。采用稀疏采样策略[44]从视频中抽样T帧。使用2D ResNet [15]作为骨干网络,并将ME和MTA模块插入到每个ResNet块中以形成TEA块。简单的时间池化用于对整个视频的动作预测进行平均。

在这里插入图片描述

图2.运动激发(ME)模块(左侧面板)和多时间聚合(MTA)模块(右侧面板)的实现。

3.1. Motion Excitation (ME) Module

动作度量了连续两帧之间的内容位移,主要反映了实际的动作。许多先前的工作利用运动表示进行动作识别 [44, 3]。然而,大多数方法只考虑像素级的光流形式的运动模式,并将运动的学习与时空特征的学习分开。与此不同的是,在提出的运动激发(ME)模块中,运动建模从原始的像素级扩展到了较大范围的特征级别,使得运动建模和时空特征学习融合到了一个统一的框架中。

ME模块的架构如图2的左侧所示。输入时空特征X的形状为[N, T, C, H, W],其中N是批量大小。T和C分别表示时间维度和特征通道。H和W对应于空间形状。提出的ME模块的直觉是,在所有特征通道中,不同的通道会捕获不同的信息。一部分通道倾向于建模与背景场景相关的静态信息;其他通道主要关注描述时间差异的动态运动模式。对于动作识别,让模型发现并增强这些对运动敏感的通道是有益的。

首先采用一个1×1的二维卷积层对输入特征X进行通道数的降维,以提高效率。
在这里插入图片描述
其中, X r \mathbf{X}^r Xr 表示通道减少后的特征。 ∗ * 表示卷积操作。 r = 16 r=16 r=16 是减少比率。

在时间步 t t t处,特征级别的运动表示被近似地视为两个相邻帧 X r ( t ) \mathbf{X}^r(t) Xr(t) X r ( t + 1 ) \mathbf{X}^r(t+1) Xr(t+1)之间的差异。而不是直接减去原始特征,我们提出首先对特征进行逐通道的转换,然后利用转换后的特征计算运动。形式上,
在这里插入图片描述
其中, M ( t ) ∈ R N × C / r × H × W \mathbf{M}(t)\in\mathcal{R}^{N\times C/r\times H\times W} M(t)RN×C/r×H×W 表示时间 t t t的运动特征。 conv t r a n s \text{conv}_{trans} convtrans 是一个3×3的二维逐通道卷积层,用于对每个通道执行转换。

我们将时间步结束时的运动特征表示为零,即 M ( T ) = 0 \mathbf{M}(T)=0 M(T)=0,并通过连接所有运动特征 [ M ( 1 ) , … , M ( T ) ] [\mathbf{M}(1),\ldots,\mathbf{M}(T)] [M(1),,M(T)]构建最终的运动矩阵 M \mathbf{M} M。然后,我们使用全局平均池化层来总结空间信息,因为我们的目标是激发对运动敏感的通道,而详细的空间布局并不重要。
在这里插入图片描述
另外,我们使用一个 1 × 1 1\times1 1×1的二维卷积层conv e x p _{exp} exp来扩展运动特征的通道维度至原始通道维度 C C C,然后通过使用sigmoid函数可以得到运动注意力权重 A \mathbf{A} A

在这里插入图片描述
其中, δ \delta δ 表示 sigmoid 函数。

最后,该模块的目标是激发运动敏感的通道;因此,一种简单的方法是在输入特征 X X X和注意力权重 A \mathbf{A} A之间进行逐通道乘法。然而,这种方法会抑制静态背景场景信息,而这对于动作识别也是有益的。为了解决这个问题,在提出的基于运动的激发模块中,我们提出采用残差连接来增强运动信息,同时保留场景信息。

在这里插入图片描述
其中, X o \mathbf{X}^o Xo 是提出模块的输出,其中运动模式已经被激发和增强。符号 ⊙ \odot 表示逐通道乘法。

3.1.1 Discussion with SENet

激发方案最初由SENet [19, 18] 提出,用于图像识别任务。我们想要突出我们与SENet的区别。

  1. SENet设计用于基于图像的任务。当SENet应用于时空特征时,它独立处理视频的每一帧,而不考虑时间信息。
  2. SENet是一种自门控机制[42],得到的调制权重被用来增强特征X的信息通道。而我们的模块旨在增强特征中的运动敏感成分。
  3. 无用的通道在SENet中将被完全抑制,但通过引入残差连接,我们的模块可以保留静态背景信息。

3.2. MultipleTemporal Aggregation(MTA) Module

先前的动作识别方法[38, 36]通常采用局部时间卷积来同时处理相邻帧,而长期时间结构只能在具有大量堆叠局部操作的深度网络中建模。这是一种低效的方法,因为来自远处帧的优化信息已经被显著削弱,无法很好地处理。为了解决这个问题,我们提出了多时间聚合(MTA)模块,用于有效的长距离时间建模。MTA模块受到了Res2Net [10]的启发,在其中,时空特征和相应的局部卷积层被分成一组子集。这种方法是高效的,因为它不引入额外的参数和耗时的操作。在模块中,这些子集被构建为分层的残差架构,使得一系列子卷积逐步应用于特征,并相应地扩大了时间维度的等效感受野。

如图2的右上角所示,给定输入特征 X \mathbf{X} X,一个典型的方法是用单个局部时间卷积和另一个空间卷积来处理它。与此不同的是,我们沿着通道维度将特征分成四个片段,因此每个片段的形状变为 [ N , T , C / 4 , H , W ] [N, T, C/4, H, W] [N,T,C/4,H,W]。局部卷积也被分成多个子卷积。最后的三个片段分别用一个通道级时间子卷积层和另一个空间子卷积层进行顺序处理。每个子卷积层的参数量仅为原始参数的1/4。此外,在两个相邻片段之间添加了残差连接,将该模块从并行架构转变为分层级联架构。形式上 1 ^{1} 1
在这里插入图片描述
其中, X i o ∈ R N × T × C / 4 × H × W \mathbf{X}_i^o\in\mathbb{R}^{N\times T\times C/4\times H\times W} XioRN×T×C/4×H×W 是第 i i i个片段的输出。conv t e m p _{temp} temp 表示1D通道级时间子卷积,其卷积核大小为3,而conv s p a _{spa} spa 表示 3 × 3 3\times3 3×3的二维空间子卷积。

在这个模块中,不同的片段具有不同的感受野。例如,第一个输出片段 X 1 o \mathbf{X}_1^o X1o的输出与输入片段 X 1 \mathbf{X}_1 X1相同;因此,其感受野为 1 × 1 × 1 1\times1\times1 1×1×1。通过按序聚合前面片段的信息,最后一个片段 X 4 o \mathbf{X}_4^o X4o的等效感受野已经扩大了三倍。最后,采用简单的串联策略来组合多个输出。
在这里插入图片描述
得到的输出特征 X o \mathbf{X}^o Xo涉及捕获不同时间范围的时空表示。它优于典型方法中使用单个局部卷积得到的局部时间表示。

3.3. Integration with ResNet Block

最后,我们描述如何将提出的模块集成到标准的ResNet块[15]中,以构建我们的时间激发和聚合(TEA)块。该方法如图3所示。为了计算效率,运动激发(ME)模块被集成到瓶颈层之后的残差路径中(第一个1×1的卷积层)。多时间聚合(MTA)模块被用来替换残差路径中的原始3×3卷积层。动作识别网络可以通过堆叠TEA块来构建。

在这里插入图片描述
图3.运动激发(ME)模块放置在第一个1×1卷积层之后。多时间聚合(MTA)模块被用来替换3×3卷积层。

4. Experiments

在这里插入图片描述

在这里插入图片描述

作者做了很多消融实验,感兴趣的可以看看原文,我自己以后有时间在看吧

5. Conclusion

在本文中,我们提出了时间激发和聚合(TEA)块,包括运动激发(ME)模块和多时间聚合(MTA)模块,用于短期和长期时间建模。具体而言,ME模块可以将运动编码插入到时空特征学习方法中,并增强时空特征中的运动模式。在MTA模块中,通过将局部卷积变形为一组子卷积来扩大等效的时间感受野,建立可靠的长期时间关系。这两个提出的模块被集成到标准的ResNet块中,并共同用于有效的时间建模。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【RAG 论文】Contriever:对比学习来无监督训练文本嵌入模型

论文:Unsupervised Dense Information Retrieval with Contrastive Learning ⭐⭐⭐⭐⭐ Facebook Research, arXiv:2112.09118 Code:github.com/facebookresearch/contriever 一、论文速读 本文使用对比学习的方法来对文本检索模型做无监督学习训练&am…

HTTP基础概念和HTTP缓存技术

什么是HTTP HTTP是超文本传输协议,主要分为三个部分:超文本、传输、协议。 超文本是指:文字、图片、视频的混合体。传输是指:点与点之间的信息通信。协议是指:通信时的行为规范或约定 HTTP常见字段 字段名 解释 例…

Mac IDEA 自动补全mybatis sql语句

导航 Mac IDEA 自动补全mybatis sql语句一、点击IDEA 右侧Database选项二、选择添加对应数据库三、输入数据库信息和方案四、输入数据库信息和方案五、成功 Mac IDEA 自动补全mybatis sql语句 背景: 想在Mapper中,能够实现自动检索数据库表和对应的字段…

暗区突围加速器哪个好 暗区突围国际服加速器 暗区突围PC加速器

《暗区突围》自曝光以来,便以其紧张刺激的战术竞技风格和细腻真实的战场环境,在游戏界掀起了新一轮的热议狂潮。这款游戏将玩家置身于一片神秘而危机四伏的区域,任务简单却极具挑战——深入敌后,搜刮资源,然后在重重围…

LINUX 入门 8

LINUX 入门 8 day10 20240507 耗时:90min 有点到倦怠期了 课程链接地址 第8章 TCP服务器 1 TCP服务器的介绍 开始讲服务器端,之前是客户端DNShttps请求 基础:网络编程并发服务器:多客户端 一请求,一线程 veryold…

物联网SCI期刊,潜力新刊,审稿速度快,收稿范围广泛!

一、期刊名称 Internet of Things 二、期刊简介概况 期刊类型:SCI 学科领域:物联网 影响因子:5.9 中科院分区:3区 出版方式:订阅模式/开放出版 版面费:选择开放出版需支付$2310 三、期刊征稿范围 I…

终端安全管理防护软件排行榜2024(四大终端监控软件推荐)

你的企业存在这些问题吗? 数字化转型的深入和远程办公模式的普及,企业对终端安全管理的需求日益凸显。 确保终端设备的安全性不仅关乎数据保护、业务连续性,更直接影响企业的声誉与合规性。 2024年终端安全防护软件排行榜,有谁荣…

【驱动】SPI

1、简介 SPI(Serial Peripheral interface)串行外设接口。 特点: 高速:最大几十M,比如,AD9361的SPI总线速度可以达到40MHz以上全双工:主机在MOSI线上发送一位数据,从机读取它,而从机在MISO线上发送一位数据,主机读取它一主多从:主机产生时钟信号,通过片选引脚选择…

2024第十六届“中国电机工程学会杯”数学建模A题B题思路分析

文章目录 1 赛题思路2 比赛日期和时间3 竞赛信息4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间:2024…

vue3+TS或JS, 实现粒子特效 @tsparticles/vue3

在跟着B站视频BV11s4y1a71T学习时,使用到了粒子效果,但是以下这种情况只适用于项目是基于typescript的写法,否则无法实现。 粒子效果 VUE3TStsparticles/vue31、安装2、main.ts 引入3、App.vue4、效果 VUE3JS非最新版1、安装低版本的vue3-pa…

流量分析(一)

数据库类流量分析 MySQL流量 常规操作,查找flag ctfhub{} 注意要选择字符集 Redis流量 查找ctfhub结果没找到 尝试把其变成十六进制继续进行查找 看到了前半段flag 接着往下看 找到了后半段的flag MongoDB流量 还是一样查找ctfhub 字符串没找到 转成十六进制也没…

Leetcode—295. 数据流的中位数【困难】

2024每日刷题&#xff08;132&#xff09; Leetcode—295. 数据流的中位数 实现代码 class MedianFinder { public:MedianFinder() {}void addNum(int num) {if(maxHeap.empty() || num < maxHeap.top()) {maxHeap.push(num);} else {minHeap.push(num);}if(maxHeap.size(…

算法学习笔记(2)-前缀和

##前缀和 指的是某序列的前n项和&#xff0c;在数学上我们可以理解称为数列的前n项和。前缀和是一种预处理&#xff0c;用于降低查询的时间复杂度。 ##一维前缀和 有一个一维数组x和该数组的前缀和数组y&#xff0c;则x和y具有以下关系&#xff1a; #python代码示例 #关系&am…

WorkPlus im(即时通讯)集成平台助力政企数字化转型升级

随着互联网技术的不断发展&#xff0c;企业内部通讯软件已经成为企业日常运营中不可或缺的一部分。企业IM&#xff08;即时通讯&#xff09;和移动门户作为企业内部通讯软件的关键组成部分&#xff0c;为企业提供更加高效、便捷的通讯方式&#xff0c;提高了企业的运营效率。 针…

ETLCloud中如何执行Java Bean脚本

ETLCloud中如何执行Java Bean脚本 在ETLCloud这一强大的数据集成和转换平台中&#xff0c;执行Java Bean脚本的能力为其增添了更多的灵活性和扩展性。Java Bean脚本不仅仅是一段简单的代码&#xff0c;而是一种强大的工具&#xff0c;可以帮助用户定制和优化数据处理的每一个环…

笨方法自学python(六)-字符串和文本

上一节中出现了\n&#xff0c;这个作用是换行。\后面带不同字符有不同的作用&#xff0c;我们先简单了解几个&#xff0c; 使用反斜杠 \ (back-slash) 可以将难打印出来的字符放到字符串。针对不同的符号有很多这样的所谓“转义序列(escape sequences)”&#xff0c;我们来练习…

IDEA 常见设置问题

OutOfMemoryError IDEA 第一次运行项目时&#xff0c;会报错误 - java.lang.OutOfMemoryError: Java heap space / insufficient memory&#xff0c;解决办法是&#xff1a; 将图示部分由默认的 700 改为 2048。 import * 工程lint检查时不允许使用import *&#xff0c;IDE…

时间范围交集查询

业务场景&#xff1a; 数据库中时开始时间与结束时间&#xff0c;筛选数据条件将这两个字段&#xff08;开始时间、结束时间&#xff09;糅合成一个字段&#xff0c;并且是范围筛选。 数据库字段&#xff1a; 筛选条件&#xff1a; 数据分析 全部包含&#xff08;子集&#…

短视频收益分成一览表​​​​​​​​​​​​​​​​,视频号怎么做有收益的

今日为大家揭秘一个热门视频号的操作技巧。很多人都已经操作这类账号&#xff0c;并从中获益。视频号目前是市场上非常热门的平台之一&#xff0c;流量之大令人惊叹&#xff0c;先不提那些私域营销的巨大优势&#xff0c;仅从创作分成计划角度来看&#xff0c;已有许多人每天能…

【前端】桌面版docker并部署前端项目

环境 win10专业版 2004 , 需科学 官网下载安装包并安装4.29.0版本 终端输入 wsl --installdocker桌面版和模拟器只能选一个&#xff0c;不然一直转圈圈 镜像配置加速&#xff0c;在settings—>docker engine下 {"builder": {"gc": {"defaultKee…