TDN: Temporal Difference Networks for Efficient Action Recognition 论文阅读

TDN: Temporal Difference Networks for Efficient Action Recognition 论文阅读

  • Abstract
  • 1. Introduction
  • 2. Related work
  • 3. Temporal Difference Networks
    • 3.1. Overview
    • 3.2. Short-term TDM
    • 3.3. Long-term TDM
    • 3.4. Exemplar: TDN-ResNet
  • 4. Experiments
    • Ablation studies
    • Comparison with the state of the art
  • 5. Conclusion

文章信息:
在这里插入图片描述
原文链接:https://arxiv.org/abs/2012.10071
源码:https://github.com/MCG-NJU/TDN
发表于:CVPR 2021

Abstract

时间建模在视频动作识别中仍然是一个具有挑战性的问题。为了缓解这个问题,本文提出了一种新的视频架构,称为Temporal Difference Network(TDN),重点是捕获多尺度的时间信息以实现高效的动作识别。我们TDN的核心是通过明确利用时间差分算子设计一个高效的时间模块(TDM),并系统评估其对短期和长期运动建模的影响。为了完全捕获整个视频的时间信息,我们的TDN采用了两级差分建模范式。具体来说,对于局部运动建模,使用连续帧之间的时间差分来为2D CNN提供更精细的运动模式,而对于全局运动建模,则将时间差分跨越段落进行,以捕获长距离结构以激发运动特征。TDN提供了一个简单而原则性的时间建模框架,并且可以在小额外计算成本的情况下与现有的CNNs实例化。我们的TDN在Something-Something V1 & V2数据集上取得了新的最佳性能,并且在Kinetics-400数据集上与最佳性能相媲美。此外,我们进行了深入的消融研究,并绘制了TDN的可视化结果,希望提供对时间差分建模的深入分析。我们在https://github.com/MCG-NJU/TDN发布了代码。

1. Introduction

深度神经网络在视频动作识别方面取得了巨大进展[14, 29, 38, 31, 6, 26, 37]。对于视频动作识别,时间建模对于捕获运动信息至关重要,当前深度学习方法通常通过两种机制来实现。一种常见的方法是使用两流网络[29],其中一流是对RGB帧进行操作以提取外观信息,另一流是利用光流作为输入来捕获运动信息。这种方法被证明对提高动作识别准确性是有效的,但需要高计算消耗来计算光流。另一种替代方法是使用3D卷积[12, 31]或时域卷积[33, 41, 25]来从RGB帧中隐式学习运动特征。然而,3D卷积通常缺乏对时间维度的具体考虑,并且可能带来更高的计算成本。因此,设计一个具有高运动建模能力和低计算消耗的有效时间模块仍然是视频识别中的一个具有挑战性的问题。

本文旨在通过引入基于时间差异的模块(TDM)来提出一种新的时间建模机制。时间导数(差异)与光流密切相关[11],并且通过使用RGB差异作为近似运动表示,在动作识别中已经显示出有效性[38, 43]。然而,这些方法简单地将RGB差异视为另一种视频模态,并训练一个不同的网络与RGB网络进行融合。相反,我们的目标是通过将时间差异的想法泛化为一个合理且高效的时间模块,为端到端网络设计提供一个统一的框架,共同捕获外观和运动信息。

此外,我们认为短期和长期的时间信息对于动作识别至关重要,因为它们能够捕获动作实例的独特和互补特性。因此,在我们提出的时间建模机制中,我们基于一种全面和稀疏采样策略[38]提出了一种独特的两级时间建模框架,称为时间差异网络(TDN)。具体来说,在TDN中,我们考虑两种有效形式的TDM(Temporal Difference Module)来在不同尺度上对运动进行建模。对于局部运动建模,我们提出了一个轻量级和低分辨率的差异模块,通过侧向连接为单个RGB提供运动模式,而对于长距离运动建模,我们提出了一个多尺度和双向差异模块,以捕获跨段变化以激发运动。这两种TDM被系统地研究为模块化构建块,用于短期和长期时间结构的提取。

我们的TDN提供了一个简单而通用的视频级运动建模框架,并且可以在现有的CNNs上实例化,额外的计算成本很小。为了展示TDN的有效性,我们将其与ResNets结合实现,并在两个数据集上进行实验:Kinetics和Something-Something。评估结果表明,我们的TDN在动作相关的Something-Something数据集和场景相关的Kinetics数据集上都能以新的最先进性能取得良好表现,在使用类似的骨干网络的情况下。如图1所示,我们的最佳结果在Something-Something V1数据集上显著优于先前的方法。我们还进行了详细的消融实验,以展示时间差异操作的重要性,并调查TDM特定设计的影响。总的来说,我们的主要贡献在以下三个方面:

  • 我们将RGB差异的思想概括为一个高效的时间差异模块(TDM),用于视频中的运动建模,并通过系统性地提供有效和详细的模块设计,为3D卷积提供了一个替代方案。
  • 我们的TDN提出了一个视频级别的运动建模框架,其中包括所提出的时间差异模块,重点是捕获视频识别的短期和长期时间结构。
  • 我们的TDN在使用相同的骨干网络的情况下,在Kinetics和Something-Something数据集上获得了新的最先进性能。我们还对TDM进行了深入的消融研究,以提供关于我们的时间差异建模的一些见解。

2. Related work

Short-term temporal modeling.在过去几年中,动作识别引起了许多研究的关注。这些方法可以分为两类:(1) 两流CNN或其变种:它使用RGB和光流两个输入分别对视频中的外观和运动信息进行建模,采用了后期融合的方法;(2) 3D-CNN:它提出了3D卷积和池化,直接从视频中学习时空特征。一些变种试图通过将其分解为2D卷积和1D时间卷积来降低3D卷积的计算成本,例如R(2+1)D、S3D、P3D和CT-Net。沿着这个研究方向,一些工作专注于设计更强大的时间模块,并将它们插入到2D CNN中进行高效的动作识别,例如TSM、TIN、TEINet、TANet和TEA。此外,一些方法尝试利用两流网络的思想设计多分支架构来捕获外观、运动或上下文信息,采用了经过精心设计的时间模块或在不同FPS下采样的两个RGB输入,包括Non-local Net、ARTNet、STM、SlowFast和CorrelationNet。一些最近的工作尝试了网络架构搜索用于视频识别。这些工作是基于片段的架构,重点关注通过从整个视频中学习的一小部分(例如64帧)进行短期运动建模。

Long-term temporal modeling.短期片段网络无法捕获长期时间结构。为了克服这一限制,提出了几种方法,如使用RNN或长时序卷积,或采用稀疏采样和聚合策略。在这些方法中,时间段网络(TSN)被证明是一种有效的长期建模框架,并在几个基准测试中与2D CNNs一起取得了最先进的性能。然而,TSN与2D CNNs仅在最后阶段执行时间融合,无法捕获更精细的时间结构。StNet提出了一个局部和全局模块来分层建模时间信息。V4D通过提出一个基于原则的四维卷积操作符来扩展了TSN框架,以从不同阶段聚合长期信息。

Temporal difference representation.在先前的几项工作中出现了用于运动提取的时间差操作,如RGB差异和特征差异。RGB差异被证明是一种有效的替代模态,可用于表示运动。然而,它们只是将RGB与另一种视频模态区别对待,并训练一个单独的网络来与RGB流融合。TEINet,TEA和STM等工作采用了差异操作进行网络设计。然而,这些方法仅使用简单的差异运算符进行单级运动提取,并且比3D卷积受到的研究关注较少。

与现有方法不同,我们提出的时间差异网络(TDN)是一个视频级别的架构,用于端到端的动作识别,能够捕捉短期和长期信息。我们的主要贡献在于引入了一个时间差异模块(TDM),以显式计算运动信息,并将其有效地融入我们的两级运动建模范式中。我们希望改进和推广这些基于时间差异的建模替代方案,这些方案在两个基准测试中通常表现优于3D卷积,且具有较小的FLOP。

3. Temporal Difference Networks

在本节中,我们详细描述了我们的时间差异网络(TDN)。首先,我们概述了TDN框架,它由短期和长期时间差异模块(TDM)组成。然后,我们对这两个模块进行了技术描述。最后,我们提供了使用ResNet骨干网络实例化TDN的实现细节。
在这里插入图片描述

图2. 时间差异网络。我们提出了一个视频级的框架,用于从整个视频中学习动作模型,称为TDN。基于来自多个片段的稀疏采样,我们的TDN旨在模拟框架中的短期和长期运动信息。关键贡献在于设计了一个高效的短期时间差异模块(S-TDM)和一个长期时间差异模块(L-TDM),分别为2D CNN提供局部运动信息,并在片段之间实现长距离建模。CNN在所有片段上共享相同的参数。有关两个模块的详细信息,请参见图3。

在这里插入图片描述

图3. 短期TDM和长期TDM的示意图。左图:我们的S-TDM在堆叠的RGB差分上运行,并通过残差连接与单个RGB CNN融合,以捕获短期运动。右图:我们的L-TDM提出了一个双向和多尺度的注意机制,利用跨段信息来增强帧级表示。更多细节请参见文本。

3.1. Overview

如图2所示,我们提出的时间差异网络(TDN)是一个用于通过使用整个视频信息学习动作模型的视频级框架。由于GPU内存的限制,我们遵循TSN框架[38],为每个视频提出了一种稀疏和全面的采样策略。我们的主要贡献是将时间差异运算符引入网络设计中,明确捕获短期和长期运动信息。效率是我们在时间差异模块(TDM)设计中的核心考虑因素,我们研究了两种特定形式,分别完成了在局部窗口中进行运动补充和跨不同片段进行运动增强的任务。这两个模块通过一个残差连接被整合到主网络中。

具体来说,每个视频 V V V 被划分为 T T T 个等时长且不重叠的片段。我们从每个片段随机采样一帧,总共获得 T T T I = [ I 1 , ⋯   , I T ] \mathbf{I}=[I_1,\cdots,I_T] I=[I1,,IT],其中 I 的形状为 [ T , C , H , W ] [T,C,H,W] [T,C,H,W]。这些帧被分别输入到一个 2D CNN 中,以提取帧级特征 F = [ F 1 , ⋯   , F T ] {\mathbf{F}}=[F_1,\cdots,F_T] F=[F1,,FT],其中 F \mathbf{F} F表示隐藏层中的特征表示,其维度为 [ T , C ′ , H ′ , W ′ ] [T,C^{\prime},H^{\prime},W^{\prime}] [T,C,H,W]。短期TDM旨在提供局部运动信息以改善这些早期层的表示能力。
在这里插入图片描述
其中, F ^ i \hat{F}_i F^i 表示由TDM增强的表示, H \mathcal{H} H 表示我们的短期TDM,它从围绕 I i I_i Ii 的相邻帧中提取局部运动。长期TDM旨在利用跨片段的时间结构来增强帧级特征表示。
在这里插入图片描述
其中, G \mathcal{G} G 表示我们的长期TDM,在当前的实现中,我们只考虑每个长期TDM中相邻片段级别的信息用于长距离时间建模。通过堆叠多个长期TDMs,我们能够捕获长时间尺度上的时间结构。具体细节将在下一小节中描述。

3.2. Short-term TDM

我们认为,在局部时间窗口内,相邻帧非常相似,直接堆叠多个帧进行后续处理是低效的。另一方面,从每个窗口中采样单个帧能够提取外观信息,但无法捕获局部运动信息。因此,我们的短期TDM选择将单个RGB帧与时间差异相结合,以产生高效的视频表示,明确地编码了外观和运动信息。

具体来说,我们的短期TDM在网络的早期层进行低级特征提取,并通过融合时间差异信息使单帧RGB能够感知局部运动。如图3所示,对于每个采样帧 I i I_i Ii,我们在以 I i I_i Ii为中心的局部窗口中提取多个时间RGB差异,然后沿通道维度将它们堆叠起来,表示为 D ( I i ) = [ D − 2 , D − 1 , D 1 , D 2 ] \mathbf{D}(I_i)=[D_{-2}, D_{-1}, D_1, D_2] D(Ii)=[D2,D1,D1,D2]。基于这种表示,我们提出了一种高效的TDM形式:
在这里插入图片描述
其中, D D D表示 I i I_i Ii周围的RGB差异,CNN是不同阶段的具体网络。为保持效率,我们设计了一个轻量级CNN模块,用于处理堆叠的RGB差异 D ( I i ) \mathbf{D}(I_i) D(Ii)。它通常遵循低分辨率处理策略:
(1)使用平均池化将RGB差异下采样一半,
(2)使用2D CNN提取运动特征,
(3)将运动特征上采样以匹配RGB特征。这种设计来自我们的观察,即RGB差异在大多数区域呈现出非常小的值,只在运动显著区域包含高响应。因此,对于这种稀疏信号,使用低分辨率架构就足够了,而且几乎不会丢失准确性。

短期TDM的信息与单个RGB帧进行融合,使原始帧级表示能够感知运动模式,并能更好地描述局部时间窗口。我们使用侧连接来实现这种融合。对于每个早期阶段(即我们实验中的第1-2阶段),我们从短期TDM到帧级表示附加一个融合连接。在实践中,我们还将残差连接与其他融合策略进行了比较,如在消融研究中所示。

3.3. Long-term TDM

带有短期TDM的帧级表示对于捕获局部段(窗口)内的时空信息非常有效。然而,就时间感受野而言,这种表示在探索学习动作模型的长程时间结构方面存在局限。因此,我们的长期TDM尝试利用跨段信息通过一种新颖的双向和多尺度时间差分模块来增强原始表示。

除了效率外,长距离帧之间空间位置的错位是另一个问题。因此,我们设计了一个多尺度架构,在差异计算之前平滑了大的感受野中的差异。如图3所示,我们首先通过卷积以效率为目标压缩特征维度,然后通过相邻段计算对齐的时间差异:
在这里插入图片描述
其中, C ( F i , F i + 1 ) C(F_i,F_{i+1}) C(Fi,Fi+1)代表段 F i F_i Fi的对齐时间差异,Conv是用于空间平滑和缓解错位问题的逐通道卷积。然后,对齐的时间差异经过多尺度模块进行长距离运动信息提取:
在这里插入图片描述
其中,不同空间尺度上的CNN j _j j旨在从不同的感受野中提取运动信息,实际中 N = 3 N=3 N=3。它们的融合可以更加鲁棒地解决错位问题。在实现中,它涉及三个分支:(1) 短连接,(2) 一个3×3卷积,和(3) 一个平均池化,一个3×3卷积,和一个双线性上采样。最后,我们利用双向跨段时间差异来增强帧级特征,如下所示:
在这里插入图片描述
其中, ⊙ \odot 表示逐元素乘法。我们还通过一个残差连接将原始帧级表示和增强表示相结合,如式(2)所示。与短期TDM略有不同的是,我们将差异表示作为注意力图来增强帧级特征,部分基于这样一个观察结果:对于CNN的后续阶段,注意力建模更有效。我们还在消融研究中比较了这种实现与其他形式。

3.4. Exemplar: TDN-ResNet

如上所述,我们的TDN框架基于TSN的稀疏采样[38],该框架在整个视频上均匀分布的帧序列上运行。我们的TDN提供了一个两级运动建模机制,重点是以局部到全局的方式捕获时间信息。特别是,如图2所示,我们在早期阶段插入短期TDM(S-TDM)以进行更精细和低级别的运动提取,并在后续阶段插入长期TDM(LTDM)以进行更粗略和高级别的时间结构建模。

我们使用ResNet骨干网络来实例化我们的TDN [10]。与V4D [42]中的做法类似,ResNet的前两个阶段用于通过使用S-TDM在每个段内提取短期时间信息,而后三个阶段则配备了L-TDM以捕获跨段的长距离时间结构。对于局部运动建模,我们在第1阶段和第2阶段之间以及主网络之间添加了残差连接。对于长期运动建模,我们在第3至第5阶段的每个残差块中添加了L-TDM和一个时间卷积。实际上,最终的TDN-ResNet仅将FLOPs与原始的2D TSN-ResNet相比增加了约9%。

4. Experiments

Ablation studies

在这里插入图片描述

Comparison with the state of the art

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5. Conclusion

在本文中,我们提出了一种新的视频级框架,称为TDN,用于从整个视频中学习动作模型。TDN的核心贡献是将时间差分运算符泛化为具有特定设计的高效通用时间模块(TDM),用于捕获视频中的短期和长期时间信息。我们提出了两种定制形式的TDM实现,并系统评估了它们对时间建模的影响。正如在Kinetics-400和Something-Something数据集上所展示的,我们的TDN能够以优越的性能超越以前使用类似骨干网络的先前最先进方法。

此外,我们进行了深入的TDM消融研究,以调查时间差分操作的效果,并证明相比使用更多帧的标准3D卷积,提取细粒度的时间信息更为有效。我们希望我们的分析能够提供更多关于时间差分操作的见解,而TDM可能成为视频中时间建模的一种替代方法。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智能创作时代:AI引领下的内容生产革命与效率提升

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

部署xwiki服务需要配置 hibernate.cfg.xml如何配置?

1. 定位 hibernate.cfg.xml 文件 首先,确保您可以在 Tomcat 的 XWiki 部署目录中找到 hibernate.cfg.xml 文件: cd /opt/tomcat/latest/webapps/xwiki/WEB-INF ls -l hibernate.cfg.xml如果文件存在,您可以继续编辑它。如果不存在&#xff…

梅兰日兰NSJ400N断路器NSJ400N可议价

梅兰日兰 NSJ400N 3 极 400 安培 600 伏交流电 紧凑型断路器 制造商的原始标签 脱扣单元:LS 功能 –(长时间和短时间) 负载侧凸耳 中断额定值:65kA 240 Vac 35kA 480 伏交流电压 18kA 600 伏交流电压 (外观可能与照…

中国地面基本气象逐小时数据获取方式

环境气象数据服务平台提供了全国大约2100个点位,2023年1月1日至今的小时级数据。包括气温、气压、湿度、风、降水等要素。 数据基于ECMWF ERA5-Land Hourly陆面再分析资料和中国地面基本气象观测逐三小时数据,使用机器学习模型加工所得,对比…

【17-Ⅱ】Head First Java 学习笔记

HeadFirst Java 本人有C语言基础,通过阅读Java廖雪峰网站,简单速成了java,但对其中一些入门概念有所疏漏,阅读本书以弥补。 第一章 Java入门 第二章 面向对象 第三章 变量 第四章 方法操作实例变量 第五章 程序实战 第六章 Java…

一文彻底读懂信息安全等级保护:包含等保标准、等保概念、等保对象、等保流程及等保方案(附:等保相关标准文档)

1. 什么是等级保护? 1.1. 概念 信息安全等级保护是指根据我国《信息安全等级保护管理办法》的规定,对各类信息系统按照其重要程度和保密需求进行分级,并制定相应的技术和管理措施,确保信息系统的安全性、完整性、可用性。根据等…

[C++][数据结构]哈希2:开散列/哈希桶的介绍和简单实现

前言 接着上一篇文章,我们知道了闭散列的弊端是空间利用率比较低,希望今天学习的开散列可以帮我们解决这个问题 引入 开散列法又叫链地址法(开链法),首先对关键码集合用散列函数计算散列地址**,具有相同地址的关键码归于同一子…

数据库表自增主键超过代码Integer长度问题

数据库自增主键是 int(10) unsigned类型的字段,int(M) 中 M指示最大显示宽度,不代表存储长度,实际int(1)也是可以存储21.47亿长度的数字,如果是无符号类型的,那么可以从0~42.94亿。 我们的表主键自增到21.47亿后&#…

英语学习笔记3——Sorry, sir.

Sorry, sir. 对不起,先生。 词汇 Vocabulary umbrella n. 伞,保护伞 注意读音 [ʌm’brelə] 英国人离不开雨伞。 please 请 特殊用法:让路(升调)      用餐礼仪(平调)      求求你…

大数据信用和征信报告的区别和联系,一定不要搞混了!

在当今数据驱动的社会,大数据的应用已经深入到各个领域。其中,大数据信用和征信报告成为金融、经济等领域中两个重要的概念。那么,大数据信用和征信报告有什么区别和联系呢? 一、定义与区别 1、大数据信用 大数据信用是指利用大数据技术&…

鸿蒙OpenHarmony技术:【Docker编译环境】

Docker环境介绍 OpenHarmony为开发者提供了两种Docker环境,以帮助开发者快速完成复杂的开发环境准备工作。两种Docker环境及适用场景如下: 独立Docker环境:适用于直接基于Ubuntu、Windows操作系统平台进行版本编译的场景。基于HPM的Docker环…

数学:人工智能领域的基石与灵魂

在科技日新月异的今天,人工智能(AI)已经渗透到了我们生活的方方面面,从智能家居、智能医疗到自动驾驶、智能客服,AI无处不在。然而,当我们赞叹于AI的神奇时,却往往忽视了其背后的推动力——数学…

2024.5.10

TCP服务器端 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//设置窗口大小和窗口大小固定this->resize(727,879);this->setFixedSize(727,879);//创建…

泰尔指数和泰尔指数模型:代码、案例及复现

泰尔指数模型是衡量个人或地区收入差距的重要工具。参考朱红根(2023年)老师的方法,《农业经济问题》使用泰尔指数分析了中国不同地区数字乡村发展水平的差异。该资料包括了Stata全流程代码、案例数据、参考文献,并提供了Excel计算…

解决mybatis的配置文件没代码提示的问题

1.将org.apache.ibatis.builder.xml包里的两个dtd文件复制出来,jar包里复制 2.复制dtd的url地址: http://mybatis.org/dtd/mybatis-3-mapper.dtd 一样的做法! 3.关闭两个配置文件,重新打开,就可以有代码提示了&…

【Linux】Linux——Centos7安装Tomcat

1.下载Tomcat 安装包 官网地址:Apache Tomcat - Apache Tomcat 9 Software Downloadshttps://tomcat.apache.org/download-90.cgi 2.将下载的安装包上传到 Xftp 上,我是直接放到 usr 下了 3.将安装包解压到 /usr/local/ tar -zxvf apache-tomcat-9.0.8…

Java入门——类和对象(上)

经读者反映与笔者考虑,近期以及往后内容更新将主要以java为主,望读者周知、见谅。 类与对象是什么? C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。 JAVA是基于面向对…

c++:(map和set的底层简单版本,红黑树和AVL树的基础) 二叉搜索树(BST)底层和模拟实现

文章目录 二叉搜索树的概念二叉搜索树的操作二叉搜索树的查找find 二叉搜索树的模拟实现构造节点insertfinderase(细节巨多,面试可能会考)a.叶子节点b.有一个孩子左孩子右孩子 c.有两个孩子注意: erase代码 中序遍历 二叉搜索树的应用k模型k模型模拟实现的总代码 k-value模型k-…

Python语言基础学习(上)

目录 一、常量和表达式 二、变量和类型 2.1 认识变量 2.2 定义变量 2.3 变量类型 1、整数 int 2、浮点数(小数)float 3、字符串 str 4、布尔类型 2.4 类型转换 三、注释 3.1 单行注释 3.2 文档注释(或者多行注释) …

Java解决垂直鉴权问题(对垂直权限进行校验)

Java解决垂直鉴权问题(对垂直权限进行校验) 文章目录 Java解决垂直鉴权问题(对垂直权限进行校验)前言一、垂直鉴权是什么?二、实现过程1.新建接口权限菜单映射表2.项目初始化时加载接口菜单映射关系3.自定义过滤器拦截…