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可能成为视频中时间建模的一种替代方法。

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

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

相关文章

【计算机毕业设计】springboot工资管理系统

人类现已迈入二十一世纪,科学技术日新月异,经济、资讯等各方面都有了非常大的进步,尤其是资讯与 网络技术的飞速发展,对政治、经济、军事、文化等各方面都有了极大的影响。 利用电脑网络的这些便利,发展一套工资管理系…

深度剖析:SSD能否全面取代HDD?-2

近日,希捷针对SSD即将全面取代HDD的市场预言也提出站在HDD厂商角度不同的观点。 这些观点出自希捷的一份演示文稿,实质上是对Pure Storage首席执行官Charlie Giancarlo所称“五年内不会再有新的磁盘系统出售”这一论断的回应,意味着到2028年底…

JavaScript使用 BigInt

在 JavaScript 中,最大的安全整数是 2 的 53 次方减 1,即 Number.MAX_SAFE_INTEGER,其值为 9007199254740991。这是因为 JavaScript 中使用双精度浮点数表示数字,双精度浮点数的符号位占 1 位,指数位占 11 位&#xff…

Transformers中加载预训练模型的过程剖析

使用HuggingFace的Transformers库加载预训练模型来处理下游深度学习任务很是方便,然而加载预训练模型的方法多种多样且过程比较隐蔽,这在一定程度上会给人带来困惑。因此,本篇文章主要讲一下使用不同方法加载本地预训练模型的区别、加载预训练模型及其配置的过程,藉此做个记…

PXE批量部署,一键安装配置多台Linux系统

目录 一、PXE批量部署的优点 二、搭建PXE远程安装服务器 1. 实验初始化设置 2. 一键安装软件包 3. 复制 vmlinuz、initrd.img、pxelinux.0文件 4. 配置PE启动菜单配置文件 5. 修改配置文件, 启动各个软件服务 6. kickstart自动应答文件修改启动菜单配置文件…

CSCWD 2024会议最后一天 女高音惊艳全场,相声笑破肚皮

会议之眼 快讯 今天是第27届国际计算机协同计算与设计大会(CSCWD 2024)举办的最后一天!会议依然热络,紧张而充实!各个技术分论坛持续展开,学者们的热情不减,对技术领域的热爱和探索精神令人赞叹…

测试环境搭建整套大数据系统(十六:超级大文件处理遇到的问题)

一:yarn出现损坏的nodemanger 报错现象 日志:1/1 local-dirs usable space is below configured utilization percentage/no more usable space [ /opt/hadoop-3.2.4/data/nm-local-dir : used space above threshold of 90.0% ] ; 1/1 log-dirs usabl…

文件批量重命名技巧:文本内容即文件名,打造个性化文件命名新体验

在日常工作和学习中,我们经常需要处理大量的文件,而给这些文件命名则成为了一个既繁琐又重要的任务。传统的文件命名方式,如使用数字、字母或简单的描述性词汇,往往难以体现出文件的实际内容和特点。那么,有没有一种方…

不同阶层在韩留学生的生活差距,柯桥留学韩语培训

有很多同学问韩国留学花费是多少,楼主一般都会回答每年12-15万左右,这是一个平均数,也是大部分学生的花费。 但如果按真实情况来说,可能是0~100万,因为每名同学的家庭经济情况不同,花费完全看家里给多少&am…

【面试必备】Java基础80问-个人摘记

Java基础80问 1. 说说&和&&的区别 &和&&都可以用作逻辑与的运算符。&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式;&还可以用作位运算符,当&操作符两边的表达…

官宣:vAsterNOS正式发布!开放网络操作系统免费试用!

近期,vAsterNOS(设备模拟器)正式发布,可以满足用户快速了解 AsterNOS、体验实际操作、搭建模拟网络的需求,可运行在GNS3、EVE-NG等网络虚拟软件中。 AsterNOS 网络操作系统是星融元为人工智能、机器学习、高性能计算、…

HarmonyOS开发案例:【生活健康app之编写通用工具类】(5)

本节将介绍日志打印、时间换算等通用工具类的编写和使用,工具类可以简化应用代码编写和业务流程处理。 日志类 日志类Logger旨在提供一个全局的日志打印、日志管理的地方,既可以规范整个应用的日志打印,也方便日后对日志工具类进行修改&…

从头开始的建材类电商小程序开发指南

在当今数字化时代,小程序已经成为了许多企业推广和销售的重要渠道。对于建筑材料行业来说,开发一个属于自己的小程序商城不仅可以提升产品曝光度,还可以提供更好的用户购物体验。下面,我们将逐步教你如何开发建筑材料行业小程序。…

API接口开发实现一键智能化自动抓取电商平台数据商品详情支持高并发免费接入示例

要开发一个API接口,用于自动抓取电商平台的商品详情数据,并支持高并发和免费接入,你需要考虑以下几个步骤: 确定目标电商平台和商品详情的数据结构。设计API接口规范,包括请求和响应格式。实现数据抓取逻辑&#xff0…

YOLO数据集制作(一)|Labelme标注的矩形框json文件转txt

以下教程用于将使用Labelme软件标注生成的json格式文件转成YOLO使用的txt格式,适用场景:矩形框 使用方法:将json文件夹路径填到json_dir后, 将保存转化后txt的路径填入txt_dir后,运行即可转化。 运行完成后会生成label…

必备软件管理工具——Applite!!【送源码】

Mac 用户都知道,我们可以通过一个非常好用的一个工具 Homebrew 快速的使用命令下载海量的工具和软件。然而对于非技术人员来说,命令行的交互还是不太方便,如果有界面可以查看从 Homebrew 安装的软件,或者浏览 Homebrew 软件库就好…

luceda ipkiss教程 68:通过代码模板提高线路设计效率

在用ipkiss设计器件或者线路时,经常需要输入: from ipkiss3 import all as i3那么有什么办法可以快速输入这段代码呢?这里就可以利用Pycharm的 live template功能,只需要将文件:ipkiss.xml (luceda ipkiss教程 68&…

Java入门基础学习笔记13——数据类型

数据类型的分类: 基本数据类型 引用数据类型 基本数据类型:4大类8种类型: 定义整形用int,再大的数用long。 package cn.ensource.variable;public class VariableDemo2 {public static void main(String[] args) {//目标&#x…

Python运维之定时任务模块APScheduler

目录 定时任务模块APScheduler 一、安装及基本概念 1.1、APScheduler的安装 1.2、涉及概念 1.3、APScheduler的工作流程​编辑 二、配置调度器 三、启动调度器 四、调度事件监听 定时任务模块APScheduler APScheduler提供了基于日期、固定时间间隔以及crontab类型的任…

机器学习——6.模型训练案例: 预测儿童神经缺陷分类TD/ADHD

案例目的 有一份EXCEL标注数据,如下,训练出合适的模型来预测儿童神经缺陷分类。 参考文章:机器学习——5.案例: 乳腺癌预测-CSDN博客 代码逻辑步骤 读取数据训练集与测试集拆分数据标准化数据转化为Pytorch张量label维度转换定义模型定义损…