行为识别(CVPR2020南京大学&腾讯) ~ TEA论文笔记 ~《TEA: Temporal Excitation and Aggregation for Action Recognition》
有兴趣的朋友可以加微信:qyf--1314相互讨论技术
论文:https://arxiv.org/abs/2004.01398
官方代码:https://github.com/Phoenix1327/tea-action-recognition
Abstract
时间建模是视频动作识别的关键。它通常同时考虑短期运动和长期聚集。在本文中,我们提出了一个时间激励与聚集(TEA)模块,包括一个运动激励(ME)模块和一个多时间聚集(MTA)模块,专门用来捕捉短期和长期的时间演化。特别是,对于短距离运动建模,ME模块计算来自时空特征的特征级时间差异。然后利用这些差异来激发特征的运动敏感通道。以往研究中的长时间聚集通常是通过叠加大量的局部时间卷积来实现的。每个卷积一次处理一个局部时间窗口。相比之下,MTA模块提出将局部卷积变形为一组子卷积,形成一个层次化的残差结构。在不引入额外参数的情况下,对特征进行一系列的子卷积处理,每帧都可以通过邻域完成多个时间聚集。最终等效时间维的感受野被相应地放大,这样能够模拟远距离帧上的长距离时间关系。TEA块的两个组成部分在时间建模中是互补的。最后,我们的方法在几个动作识别基准(如dynamics,Something,HMDB51和UCF101)上取得了很好的结果(low FLOPs),这证实了它的有效性和效率。
1. Introduction
动作识别是基于视频任务的一个基本问题。它在基于视频的应用中要求越来越高,例如智能监控、自动驾驶、个人推荐和娱乐[30]。虽然视觉外观(及其上下文)对于动作识别很重要,但是时间结构的建模是非常重要的。时域建模通常在不同的尺度下呈现(或被考虑):1)相邻帧之间的短距离运动;2)大尺度上的长时间聚集。有一系列的工作考虑了这两个方面的一个或两个方面,特别是在当前深度CNN的时代。然而,它们仍然存在一些空白,问题远未得到解决,即如何有效、高效地对具有显著变化和复杂性的时间结构进行建模仍然是个未知数。
对于短距离运动编码(short-range motion encoding),现有的大多数方法[33,44]首先手动提取光流[50],然后将其输入基于2D-CNN的双流框架(two-stream framework)进行动作识别。这种双流结构分别处理每个流中的RGB图像和光流。光流的计算是一个耗时和存储量大的问题。特别是,空间和时间特征的学习是孤立的,融合只在最后一层进行。为了解决这些问题,我们提出了一个运动激励(ME)模块。该模块不采用像素级光流作为附加输入方式,将训练的时间流和空间流分离开来,将运动建模集成到整个时空特征学习方法中。具体来说,首先计算相邻帧之间的特征级运动表示。然后利用这些运动特征来产生调制权重。最后,利用权值可以激发出帧原始特征中的运动敏感信息。这样,网络就不得不发现并增强捕捉差异化信息的信息时态特征。
对于长时间聚集(long-range temporal aggregation),现有的方法,要么1)采用2D-CNN主干网络提取帧特征,然后利用简单的时间最大/平均池(max/average pooling)来获得整个视频的表示[44,11]。然而,这种简单的摘要策略会导致时间信息丢失/混乱;或者2)采用局部3D/(2+1)D卷积运算来处理局部时间窗口[38,3]。在深部网络中,通过反复叠加局部卷积来间接模拟长程时间关系。然而,重复大量的局部操作将导致优化困难[15],因为消息需要通过远程帧之间的长路径传播。为了解决这个问题,我们引入了一个多时态聚合(MTA)模块。MTA模块也采用了(2+1)D卷积,但在MTA,一组子卷积代替了一维时间卷积。子卷积在相邻子集之间使用残差连接形成了一个层次结构。当时空特征通过该模块时,特征实现了与相邻帧的多次信息交换,从而使等效的时间感受野成倍增加,以模拟长时间的动态变化。
将所提出的ME模块和MTA模块插入标准ResNet[15,16]中,建立时间激励和聚集(TEA)块,整个网络由多个块堆叠而成。得到的模型是有效的:得益于轻量级的结构,TEA网络的FLOPs被控制在较低的水平(仅为2D ResNet的1.06倍)。所提出的模型也是有效的:TEA的两个组成部分相互补充,相互配合,赋予网络短期和长期时间建模能力。综上所述,我们的方法的主要贡献有三个方面:
1、运动激励(ME)模块将短时间运动建模与整个时空特征学习方法相结合。
2、多时态聚集(MTA)模块可以有效地扩大时间感受野,用于长距离时间建模。
3、所提出的两个模块都是简单、轻量级的,并且可以很容易地集成到标准ResNet块中,以便进行有效和高效的时序建模。
2. Related Works
随着深度学习方法在基于图像的识别任务上的巨大成功[24,34,37,15,16],一些研究者开始探索深度网络在视频动作识别任务中的应用[23,33,38,49,6,48]。其中,Karpathy等人。[23]提出在视频的每一帧上单独应用一个2D-CNN模型,并探索了几种融合时间信息的策略。然而,该方法没有考虑帧间的运动变化,最终的性能不如手工制作的基于特征的算法。Donahue等人[6] 使用LSTM[17]通过聚集2D CNN特征来建模时间关系。该方法将每帧图像的特征提取分离,只考虑高层次的2D CNN特征,进行时间关系学习。
现有的方法通常遵循两种方法来提高时间建模能力。第一种是基于Simonyan和Zisserman提出的双流(two-stream)体系结构[33]。该体系结构包含一个从帧中学习静态特征的空间2D CNN和以光流形式建模运动信息的时间2D CNN。将两个流的训练分离,并在两个流上对视频的最终预测取平均值。随后的许多工作扩展了这样一个框架。[9,8]探索不同的组合策略,融合两个流的特征。TSN[44]提出了稀疏采样策略来捕获远程视频片段。所有这些方法都需要额外的计算和存储成本来处理光流。此外,不同的框架和两种模式之间的相互作用是有限的,通常只发生在最后层。相比之下,我们提出的方法摒弃光流提取,通过计算时间差来学习近似的特征级运动表示。运动编码可以与时空特征的学习结合起来,用来发现和增强其运动敏感成分。
最近的工作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]。非局部模块[45]和stnet[14]将自我注意机制应用于长期时间关系的建模。伴随这些尝试的是附加参数或耗时的操作。与这些工作不同的是,我们提出的多时态聚合模块在不引入额外的算子的情况下简单而高效。