美文网首页
Temporal Segment Networks for Ac

Temporal Segment Networks for Ac

作者: fanqing1116 | 来源:发表于2020-10-20 18:29 被阅读0次

    摘要—深度卷积网络在图像识别方面取得了巨大成功。 但是,对于视频中的动作识别,它们相对于传统方法的优势并不是那么明显。 我们提供了一个通用且灵活的视频级框架,用于学习视频中的动作模型。 这种称为时间分段网络(TSN)的方法旨在使用新的基于分段的采样和聚合模块对远程时间结构进行建模。 这种独特的设计使我们的TSN可以通过使用整个动作视频来高效地学习动作模型。 所学习的模型可以分别通过简单的平均池化和多尺度时间窗口集成,轻松地应用于修剪和未修剪视频中的动作识别。 在有限的训练样本的情况下,我们还研究了一系列实例化时域网络框架的良好实践。 我们的方法在四个具有挑战性的动作识别基准上获得了最先进的性能:HMDB51(71:0%),UCF101(94:9%),THUMOS14(80:1%)和ActivityNet v1.2(89 :6%)。 使用针对运动模型提出的RGB差异,我们的方法在以340 FPS运行时仍可以在UCF101(91:0%)上达到竞争精度。 此外,基于时间分段网络,我们在24个团队的ActivityNet挑战赛2016中赢得了视频分类轨道,这证明了时间分段网络的有效性和良好的实践检验。

    1 INTRODUCTION

      基于视频的动作识别已经在学术界[1],[2],[3],[4],[5]中引起了相当大的关注,这是由于其在安全性和行为分析等许多领域的应用。 对于视频中的动作识别,有两个关键且互补的线索:外观和时间动态。 识别系统的性能在很大程度上取决于它是否能够从中提取和利用相关信息。 然而,由于许多困难,例如比例尺变化,视点变化和相机运动,提取此类信息并非易事。 因此,在学习动作类别的分类信息的同时,设计有效的表示形式以应对这些挑战就变得至关重要。

    最近,卷积神经网络(ConvNets)[6]在分类图像中的对象[7],[8],[9],场景[10],[11],[12]和复杂事件[13]方面取得了巨大的成功。 ConvNets也已被引入以解决基于视频的动作识别问题[1],[15],[16],[17]。 Deep ConvNets具有出色的建模能力,并且能够从大规模监督数据集中的原始视觉数据中学习判别表示(例如ImageNet [18],Places [10])。但是,与图像分类不同,与基于视频的动作识别的传统手工功能相比,端到端深层ConvNets带来的改进仍然有限。

    我们认为,ConvNets在不受约束的视频中进行动作识别的应用受到三个主要障碍的阻碍。 首先,尽管已证明长距离时间结构对于理解传统方法的动态至关重要[19],[20],[21],[22],但尚未将其视为深度ConvNet框架中的关键因素[1]。 ],[15],[16]。 这些方法通常着重于外观和短期运动(即最多10帧),因此缺乏合并长距离时间结构的能力。 最近,有一些尝试[4],[23],[24]来解决这个问题。 这些方法主要依赖于具有预定采样间隔的密集时间采样,当应用于长视频时,这将导致过多的计算成本。 更重要的是,可用的有限存储空间严重限制了要建模的视频的持续时间。 这可能会丢失视频重要信息的时间超过可承受的采样时间。

    其次,现有的动作识别方法主要是针对修剪过的视频设计的。 但是,为了在现实的环境中部署学习到的动作模型,我们经常需要处理未修剪的视频(例如THUMOS [25],ActivityNet [26]),其中每个动作实例可能只占整个视频的一小部分。 主要的背景部分可能会干扰动作识别模型的预测。 为了缓解此问题,我们需要考虑对动作实例进行定位并同时避免背景视频的影响。 因此,将学习到的动作模型应用于未修剪视频中的动作识别是一项非常困难的任务。

    三,训练动作识别模型通常会遇到许多实际困难:1)训练深度ConvNets通常需要大量训练样本才能实现最佳性能。但是,公开提供的动作识别数据集(例如,UCF101 [27],HMDB51 [28])规模和多样性都受到限制,因此模型训练容易过拟合。 2)捕获短期运动信息的光流提取成为将学习的模型部署到大规模动作识别数据集的计算瓶颈。

    这些挑战促使我们从以下三个方面来研究本文中的动作识别问题:1)如何有效地学习捕获远程时间结构的视频表示; 2)如何利用这些习得的ConvNet模型获得更真实的未修剪视频设置; 3)如何在有限的训练样本下有效地学习ConvNet模型,并将其应用于大规模数据。

    为了捕获远程时间结构,我们开发了一种称为时间段网络(TSN)的模块化视频级体系结构,该体系结构为学习视频中的动作模型提供了概念上简单,灵活且通用的框架。 基于我们的观察,连续帧是高度冗余的,在这种情况下,稀疏和全局时间采样策略将更加有利和高效。 TSN框架首先使用稀疏采样方案在较长的视频序列上提取短片段,其中首先将视频划分为固定数量的片段,然后从每个片段中随机采样一个片段。 然后,采用分段共识函数来汇总采样片段中的信息。 通过这种方式,时间段网络可以在整个视频上对远程时间结构进行建模,其计算成本与视频持续时间无关。 在实践中,我们全面研究了不同段数的影响,并提出了五个聚合函数来总结这些采样片段的预测分数,包括三种基本形式:平均池,最大池和加权平均值,以及两个高级方案:top -K合并和自适应注意力加权。后两者旨在自动突出显示区别性片段,同时减少训练过程中无关紧要的片段的影响,从而有助于更好地学习动作模型。

    为了将TSN学习到的动作模型应用到未经修剪的视频中,我们设计了一种分层聚合策略,称为多尺度时间窗口集成(M-TWI),以得出未经修剪视频的最终预测结果。之前的大部分动作识别方法都是限制在对人工修剪的视频片段进行分类。然而,这种设置可能是不切实际的,也是不现实的,因为网络上的视频本质上是未经修剪的,而人工修剪这些视频是很费力的。遵循时间段网络框架的思想,我们首先将未修剪的视频分为一系列固定时间的短窗口,然后对每个窗口进行动作识别。然后,我们通过对这个窗口内的这些片段级识别分数进行最大池化,独立地对每个窗口进行动作识别。最后,遵循时间段网络框架的聚合功能,我们采用top-K池化或注意力加权的方式,对这些窗口的预测结果进行聚合,得出视频级识别结果。由于新设计的聚合模块能够隐式选择具有判别动作实例的区间,同时抑制嘈杂背景的影响,因此对于未修剪的视频识别是有效的。

    针对动作识别模型学习和应用中的实际困难,我们发现了一些好的做法来解决有限的训练样本所带来的问题,并对输入模态进行了系统的研究,以充分释放ConvNets在动作识别中的潜力。具体来说,我们首先提出了一种跨模态初始化策略,将学习到的表征从RGB模态转移到其他模态,如光流和RGB差值。其次,我们开发了一种原则性的方法,在微调场景下进行批量归一化(Batch Normalization,BN),表示为部分BN,其中只有第一层BN的均值和方差被自适应地更新,以处理领域转移。此外,为了充分利用视频中的视觉内容,我们在时空段网络框架下实证研究了四种类型的输入模态,即单一RGB图像、叠加RGB差分、叠加光流场和叠加扭曲光流场。结合RGB和RGB差分,我们构建了有史以来最好的实时动作识别系统,在实际问题中具有众多潜在的应用。

    我们在HMDB51[28]、UCF101[27]、THUMOS[25]和ActivityNet[26]这四个具有挑战性的动作识别数据集上进行实验,以验证我们的方法在修剪和未修剪视频中进行动作识别的有效性。在实验中,使用时间段网络学习的模型在这四个具有挑战性的动作识别基准数据集上的表现明显优于当前方法。此外,在基本的时间段网络框架之后,我们通过引入最新的深度模型架构(如ResNet[29]和Inception V3[30]),并将音频作为补充通道,进一步改进我们的动作识别方法。我们最终的动作识别方法在2016年ActivityNet大规模活动识别挑战赛中获得了未修剪视频分类的第1名。我们还将我们学习到的双流模型可视化,试图为它们的工作原理提供见解。这些可视化的模型也从定性的证明了我们的时间段网络框架的有效性。

    总的来说,我们分析了高效和有效学习和应用动作识别模型的不同方面的问题,并做出了三个主要贡献。1)我们提出了一个端到端的框架,被称为时间段网络(TSN),用于学习捕获长期时间信息的视频表示;2)我们设计了一个分层聚合方案,将动作识别模型应用于未修剪的视频;3)我们研究了一系列学习和应用深度动作识别模型的良好实践。

    本刊论文在多个方面扩展了我们之前的工作[31]。首先,我们在时间段网络框架中引入了新的聚合函数,事实证明这些函数可以有效地突出重要片段,同时抑制背景噪声。第二,我们通过设计分层聚合策略,将原有的动作识别流水线扩展到未修剪的视频分类中。第三,我们在时间段网络框架的不同方面增加了更多的探索研究,并在两个新的数据集(即THUMOS15和ActivityNet)上进行了更多的实验研究。最后,基于我们的时间段网络框架,我们为ActivtyNet大型活动挑战赛2016提出了一个有效且高效的动作识别解决方案,在24支队伍中,ActivtyNet大型活动挑战赛的未修剪视频分类排名第一,并对我们方法的不同组成部分进行了详细的分析,以突出重要成分。我们的方法和学习模型的代码是公开的,以方便以后的研究。

    2 RELATED WORK

    近年来,动作识别的研究非常广泛,读者可以参考[32]、[33]、[34]进行很好的调查。在这里,我们只涉及与我们方法相关的工作。

    2.1视频表示

    对于视频中的动作识别,视觉表示起着至关重要的作用。我们将相关的动作识别方法大致分为两类:基于手工特征的方法和使用深度学习特征的方法。

    手工特征 近年来,研究人员开发了许多不同的视频时空特征检测器,例如3D-Harris [35],3D-Hessian [36],长方体[37],密集轨迹[38],改进的轨迹[2]。 通常,会在兴趣点或轨迹周围提取局部3D区域,并计算直方图描述符以捕获外观和运动信息,例如梯度直方图和流量直方图(HOG / HOF)[39], 运动边界(MBH)[38],3D梯度直方图(HOG3D)[40],扩展SURF(ESURF)[36]等。 然后,采用编码方法将这些局部描述符聚合为一个整体表示形式,典型的编码方法包括视觉词袋(BoVW)[41],Fisher向量(FV)[42],局部聚集描述符向量(VLAD)[43] ]和MultiView Super Vector(MVSV)[44]。 这些局部特征具有局部性和简单性的优点,但可能缺乏语义和判别能力。

    为了克服局部描述符的局限性,有人提出了几种中层表示法用于动作识别[3],[45],[46],[47],[48],[49],[50]。Raptis等[45]将相似的轨迹分组为簇,每个簇被视为一个动作部分。Jain等[46]将判别性斑点的思想扩展到视频中,提出了用于表示视频的判别性时空斑点。Zhang等人[47]提出以强监督的方式发现一组中层补丁。类似于二维poselet[51],他们利用人类联合标签将动作部分紧密聚类,称为acteme。Wang等人[3]提出了一种数据驱动的方法来发现那些具有高运动显著性的有效部分,即motionlet。Zhu等[48]提出了一种用于动作识别的两层acton表示法。通过最大余量多通道多实例学习框架学习弱监督的肌动子。Wang等人[49]通过将动作特征、原子和短语进行串联,提出了一种称为MoFAP的多层次表示法。Sadanand等人[50]通过使用一组动作模板来描述视频内容,提出了一种高级视频表示法,称为Action Bank。综上所述,这些中级表示法具有代表性和辨别力的优点,但仍依赖于低级手工制作的特征。

    深度特征 几部作品一直在尝试学习深层功能并设计有效的ConvNet架构来进行视频中的动作识别[1],[4],[5],[15],[16],[23],[24],[52] ,[53],[54]。 Karpathy等。 [15]首先在大型数据集(Sports1M)上测试了具有深层结构的ConvNet。 Simonyan等。 [1]通过利用ImageNet数据集进行预训练和计算光流以显式捕获运动信息,设计了包含空间和时间网络的两流ConvNet。 Tran等。 [16]在逼真的和大规模的视频数据集上探索了3D ConvNets [52],他们尝试通过3D卷积和池化操作学习时空特征。 Sun等。 [53]提出了一个分解的时空卷积网络,并利用不同的方法来分解3D卷积核。 Wang等。 [5]提出了一种使用轨迹合并的深度卷积描述符(TDD)的混合表示形式,它具有改进的轨迹[2]和两流ConvNets [1]的优点。 Feichtenhofer等。 [55]进一步扩展了两个流的卷积网络与两个流的卷积融合。 几篇著作[4],[24],[54]尝试使用递归神经网络(RNN),尤其是LSTM,对视频中动作识别的帧特征的时间演变进行建模。

    我们的工作与这些深度学习方法有关。事实上,任何现有的ConvNet架构都可以与TSN框架一起工作,从而与所提出的稀疏采样策略和聚合函数相结合,以增强对远距离信息的建模能力,同时,我们的时间段网络是一个端到端的架构,其中的模型参数可以与标准的反向传播算法联合优化。

    2.2 时间结构建模

    许多研究工作都致力于对视频的时间结构进行建模以实现动作识别[19],[20],[21],[22],[56],[57]。Gaidon等[20]对每个视频的每个原子动作进行标注,并提出了动作检测的Actom序列模型(ASM)。Niebles等[19]提出使用潜变量来模拟复杂动作的时间分解,并求助于Latent SVM[58],以迭代的方式学习模型参数。Wang等[21]和Pirsiavash等[56]分别采用Latent Hierarchical Model(LHM)和Segmental Grammar Model(SGM)将复杂动作的时间分解扩展为层次化的方式。Wang等[57]设计了一个顺序骨架模型(SSM)来捕捉动态姿势之间的关系,并进行了时空动作检测。Fernando[22]建立了BoVW表征的时空演化模型,用于动作识别。

    最近的几项工作集中在用ConvNets[4],[23],[24]对长距离时空结构进行建模。一般来说,这些方法直接用循环神经网络[4]、[24]、[54]或3D ConvNets[23]对连续视频帧序列进行操作。虽然这些方法旨在处理较长的视频时长,但由于计算成本和GPU内存的限制,它们通常处理64~120帧的固定长度的序列。由于时间覆盖范围有限,这些方法要从整个视频中学习仍然是非平凡的。我们的方法不同于这些端到端的深度ConvNets,它新颖地采用了稀疏的时间采样策略,可以不受序列长度的限制,利用整个视频进行高效学习。因此,我们的时间段网络是一个视频级和端到端的框架,用于对整个视频进行时间结构建模。

    3 TEMPORAL SEGMENT NETWORKS

    在本节中,我们将对我们的时间段网络框架进行详细描述。具体来说,我们首先讨论了基于段的采样的动机,然后,我们介绍了时间段网络框架的架构。在这之后,我们介绍了时间段网络的几个聚合函数,并对这些函数进行了分析。最后,我们研究了时间段网络框架实例化的几个实际问题。

    3.1 基于分段抽样的动机

    正如在第1节中所讨论的那样,长距离时空建模对于视频中的动作理解非常重要。现有的深度架构,如双流ConvNets[1]和3D卷积网络[16],都是设计在单帧或一帧堆栈(如16帧)上运行,时间持续时间有限。因此,这些结构缺乏将视频的长程时间信息纳入动作模型学习的能力。

    为了对长程时间结构进行建模,已经提出了几种方法,如堆叠更多的连续帧(如64帧[23])或以固定的速率采样更多的帧(如1FPS[4])。虽然这种密集的局部采样可以帮助缓解原有的短期CovNets[1]、[16]的问题,但在计算和建模两方面仍然存在不足。从计算的角度来看,它将大大增加ConvNet训练的成本,因为这种密集采样通常需要大量的帧来捕捉长程结构。例如,它在[23]的工作中完全采样64帧,[4]的方法采样120帧。从建模的角度来看,它的时间覆盖范围仍然是局部的,受其固定采样间隔的限制,无法捕捉整个视频中的视觉内容。例如,采样64帧[23]只占据了10秒视频的一小部分(约300帧)。

    我们观察到,虽然视频中的帧是密集记录的,但内容变化相对缓慢。这促使我们探索一种新的时间结构建模范式,称为基于片段的采样。这种策略本质上是一种稀疏的全局采样。关于稀疏性的属性,只有少量的稀疏采样的片段才会被用来模拟人类动作中的时间结构。通常情况下,一次训练迭代的采样帧数固定为一个与视频持续时间无关的预定值。这保证了计算成本将是恒定的,无论我们处理的时间范围是多少。在全局属性上,我们基于片段的采样保证了这些采样片段将沿着时间维度均匀分布。因此,无论动作视频会持续多长时间,我们的采样片段都会大致覆盖整个视频的视觉内容,使我们能够在整个视频中建立长程时间结构的模型。基于这种时空结构建模的范式,我们提出了时空段网络,一个视频级的框架,如图1所示,将在下一小节进行解释。


    Fig. 1 时间段网络。一段输入视频被分为K段(这里我们展示的是K=3的情况),并从每段视频中随机选择一个短片段。片段由模态表示,如RGB帧、光流和RGB差。不同片段的类分数通过片段共识函数融合,产生片段共识,即视频级预测。来自所有模式的预测都被融合以产生最终的预测。所有片段上的ConvNets共享参数
    3.2 框架和公式

    我们的目的是通过使用一种新的基于片段采样的策略,设计一个有效和高效的视频级框架,被称为时间段网络(TSN)。时间段网络不是工作在单帧或短帧堆栈上,而是工作在从整个视频中采样的短片段序列上。为了使这些采样的片段代表整个视频的内容,同时又能保持合理的计算成本,我们的基于片段的采样首先将视频分成等长的几个段,然后从其对应的段中随机采样一个片段。在这个序列中,每个片段都会产生自己的动作类的片段级预测,并设计一个共识函数将这些片段级预测汇总成视频级得分。这个视频级得分比原来的片段级预测更可靠,信息量更大,因为它捕捉了整个视频的长程信息。在训练过程中,在视频级预测上定义优化目标,并通过迭代更新模型参数进行优化。

    形式上,给定一个视频V,我们将其划分为K个持续时间相等的段\{S_1,S_2,\cdots,S_k\},从其对应的段S_k中随机抽取一个片段T_k, 然后,时间段网络对片段序列(T_1,T_2,\cdots,T_k)建模如下:
    TSN(T_1,T_2,\cdots,T_k)= H(G(F(T_1;\omega),F(T_2;\omega),\cdots,F(T_k;\omega)))
    这里,F(T_k;\omega)是代表ConvNet的函数,参数为\omega,它对短片段T_k进行操作,并在所有类上产生类得分。分段共识函数G将多个短片段的输出结合起来,得到它们之间的类假设共识。基于这个共识,预测函数H预测整个视频中每个动作类的概率。在这里,我们为H选择广泛使用的Softmax函数。在我们的时间段网络框架中,共识函数G的形式是非常重要的,因为它应该具备较高的建模能力,同时仍然可微或至少有子梯度。高建模能力指的是能够有效地将片段级的预测汇总成视频级的分数,而可微性则让我们的时间段网络框架能够很容易地使用反向传播进行优化。我们将在下一小节提供这些共识函数的细节。

    结合标准的分类交叉熵损失,最终关于分段共识G=G(F(T_1;\omega),F(T_2;\omega),\cdots,F(T_k;\omega))的损失函数形式为:
    \mathcal{L}(y,G)=-\sum_{i=1}^Cy_i \Big (g_i-\log\sum_{j=1}^C\exp{g_j}\Big)
    其中,C是动作类的数量,y_i是关于类i的标签,g_jG的第j维。在我们的时间段网络框架的训练阶段,损失值\mathcal{L}相对于模型参数\omega的梯度可以推算为
    \frac{\partial \mathcal{L}(y,G)}{\partial \omega}=\frac{\partial \mathcal{L}}{\partial G}\sum_{k=1}^K\frac{\partial G}{\partial F(T_k)}\frac{\partial F(T_k)}{\partial \omega}
    其中K为时空段网络中的段数。当我们使用基于梯度的优化方法,如随机梯度下降(SGD)来学习模型参数时,式3显示,参数更新是利用所有片段级预测得出的片段共识G。从这个意义上讲,时空段网络可以从整个视频中学习模型参数,而不是一个短片段。此外,通过固定所有视频的K,我们组装了一个稀疏的时间采样来选择少量的片段。与之前使用密集采样帧[4],[23],[24]的作品相比,它大大降低了在帧上评估ConvNets的计算成本。

    相关文章

      网友评论

          本文标题:Temporal Segment Networks for Ac

          本文链接:https://www.haomeiwen.com/subject/rvndmktx.html