Learning Spatio-Temporal Representation with Pseudo-3D Residual Networks

Abstract

  • 卷积神经网络(cnn)被认为是一类有效的图像识别模型。然而,当利用CNN学习时空视频表示时,这并非不平凡。一些研究表明,执行3D卷积是一种捕获视频中时空维度的有益方法。然而,从头开始开发非常深的3d cnn会导致昂贵的计算成本和内存需求。一个有效的问题是,为什么不为3D CNN回收现成的2D网络。在本文中,我们通过在空间域(相当于2D CNN)上模拟3×3×3卷积滤波器(相当于2D CNN)加上3×1×1卷积,在残差学习框架中设计了瓶颈构建块的多种变体。 及时在相邻要素地图上构建时间连接。此外,我们提出了一种新的架构,称为Pseudo-3D残差网(P3D ResNet),该架构利用了块的所有变体,但在ResNet的不同放置中组成了每个变体,遵循的理念是:随着深度的增加而增强结构的多样性可以提高神经网络处理能力。我们的P3D ResNet相对于3D CNN和基于帧的2D CNN分别对Sports-1M视频分类数据集实现了5.3%和1.8%的明显改进。 我们进一步检查了我们经过预训练的P3D ResNet在五个不同的基准和三个不同的任务下产生的视频表示的综合性能,这些性能表现出优于几种最新技术的性能。

Introduction

  • 当今的数字内容本质上是多媒体:文本,音频,图像,视频等。 随着传感器丰富的移动设备的激增,图像和视频尤其成为Internet用户之间的一种新的通信方式。这鼓励了用于广泛的多媒体理解应用程序的高级技术的开发。 代表学习是使这些技术进步成功的基础。最近,卷积神经网络(CNN)的兴起令人信服地证明了学习视觉表示的高能力,尤其是在图像领域。例如,一组残留网络[7]在ImageNet测试集上达到3.57%的top-5误差,甚至低于报告的人类水平性能的5.1%。但是,视频是具有较大变化和复杂性的帧的时间序列,导致难以学习强大而通用的时空表示形式。
  • 编码视频中的时空信息的一种自然方法是将CNN中的卷积核从2D扩展到3D并训练全新的3D CNN。这样,网络不仅可以访问每个视频帧中存在的视觉外观,还可以访问连续帧中的时间演变。尽管最近的研究报道了令人鼓舞的性能[8,31,33],但3D CNN的训练在计算上非常昂贵,并且与2D CNN相比,模型大小也呈二次增长。以广泛采用的11层3D CNN,即C3D [31]网络为例,模型大小达到321MB,甚至比152层2D ResNet(ResNet152)[7]的模型大小(235MB)大, 很难训练出非常深的3D CNN。更重要的是,与Sports-1M数据集中的帧直接对ResNet152进行微调[10]可能比从头开始对视频进行训练的C3D更好,如图1所示。产生时空视频表示的另一种替代解决方案是在帧的表示上利用池化策略或递归神经网络(RNN),通常是2D CNN的最后一个池化层或全连接层的激活。然而,这类方法仅在顶层的高层特征上建立时间连接,而将相关性保留在底层形式中,例如底层的角或边缘,未被充分利用。
  • 我们在本文中证明,可以通过设计一系列利用空间和时间卷积滤波器的瓶颈构建块来减轻上述限制。具体来说,每个块中的关键部分是一个1×3×3卷积层和一层3×1×1卷积的组合,以并行或级联的方式代替了标准的3×3×3卷积层。这样,模型尺寸显着减小,并且通过在2D CNN中用3×3卷积初始化1×3×3卷积滤波器,还可以充分利用图像域中学习2D CNN的优势。此外,我们提出了一种新颖的伪3D残差网(P3D ResNet),该残差网在整个类似ResNet的体系结构中将每个设计的块放置在不同的位置,以增强网络的结构多样性。因此,我们的p3d resnet中的时间连接从下到上在每个层次上都被构建,学习到的视频表示封装了与视频中的对象、场景和动作相关的信息,使它们成为各种视频分析任务的通用。
  • 这项工作的主要贡献是提出了一系列瓶颈构建块的建议,该瓶颈构建块以经济有效的方式模拟3D卷积。 这也导致了关于如何放置不同块以学习非常深的网络的优美观点,并提出了一种新的P3D ResNet用于视频表示学习。 通过一系列广泛的实验,我们证明了我们的P3D ResNet在五个不同的基准和三个不同的任务上均优于几种最新模型。

Related Work

  • 我们将视频表示学习的方法简略地分为两类:手工制作和基于深度学习的方法。
  • 手工制作的表示学习方法通常从检测时空兴趣点开始,然后用局部表示来描述这些点。 在该方案中,通过扩展图像域的表示,提出了时空兴趣点(STIP)[15],梯度直方图和光流直方图[16],3D梯度直方图[11]和SIFT-3D [23]。 测量3D体积的时间维度。 最近,Wang等。 提出了密集的轨迹特征,该特征以不同的比例从每个帧中密集采样局部斑块,然后在密集的光学场中对其进行跟踪[34]。视频表示学习的最新方法是设计深度架构。Karparthy等人在固定大小的窗口中堆叠基于CNN的帧级表示,然后利用时空卷积学习视频表示[10]。在[25]中,著名的双流架构是通过在可视帧和标记的光流上分别应用两个cnn架构而设计的。通过利用多粒度结构[17、18、21],卷积融合[6],键体积挖掘[39]和时间段网络[36]进一步扩展此体系结构,以进行视频表示学习。在王等人的工作中集中在轨迹中心的时空管上的局部ConvNet响应被合并为视频描述符。 然后,使用Fisher向量[20]将这些本地描述符编码为全局视频表示。最近,LSTM-RNN网络已成功用于对视频中的时间动态建模。 在[9,37]中,利用时间池和堆栈式LSTM网络来组合帧级(光流图像)表示,并发现长期的时间关系以学习更鲁棒的视频表示。Srivastava等。 [28]进一步将视频表示学习任务表述为基于编码器和解码器LSTM的自动编码器模型。
  • 可以观察到,大多数上述基于深度学习的方法都将视频视为用于视频表示学习的帧/光学图像序列,而没有充分利用跨连续帧的时间演变。为了解决这个问题,Ji等人提出了3D CNN。 [8]是直接学习短视频剪辑的时空表示的早期作品之一。稍后在[31]中,Tran等人。设计一种广泛采用的11层3D CNN(C3D),用于在大规模监督视频数据集的背景下学习16帧视频片段上的视频表示,[33]中进一步利用了跨较长片段(100帧)的时间卷积。但是,现有的3D CNN架构的容量极其有限,且计算成本和内存需求昂贵,因此很难训练非常深的3D CNN。我们的方法有所不同,我们不仅提出了用2D空间卷积加上1D时间连接来模拟3D卷积的想法,这种想法更为经济,而且将这种设计集成到了用于视频表示学习的深度残差学习框架中。

P3D Blocks and P3D ResNet

  • 在本节中,我们首先定义用于视频表示学习的3D卷积,可以自然地将其分解为2D空间卷积以对空间信息进行编码,并为时间维度编码1D时间卷积滤波器。然后,在残差学习框架中设计了一个新的瓶颈构建模块家族,即Pseudo-3D(P3D),以同时利用空间和时间卷积滤波器。最后,我们开发了一种新颖的伪3D残差网(P3D ResNet),它在ResNet式架构中的不同位置组成了每个P3D块,并通过性能和时间效率方面的实验研究进一步比较了它的几种变体。Learning Spatio-Temporal Representation with Pseudo-3D Residual Networks_第1张图片
  • 给定一个大小为c×l×h×w的视频剪辑,其中c,l,h和w分别表示通道数,每个帧的剪辑长度,高度和宽度,这是对空间进行编码的最自然的方法 时间信息将利用3D卷积[8,31]。3D卷积可同时对空间信息(如2D滤波器)进行建模,并跨帧构造时间连接。 为简单起见,我们将3D卷积滤波器的大小表示为d×k×k,其中d是内核的时间深度,k是内核的空间大小。因此,假设我们有尺寸为3×3×3的3D卷积滤波器,它可以自然解耦为在空间域上等效于2D CNN的1×3×3卷积滤波器和3×1×1卷积滤波器,如针对1D CNN量身定制的时域。这种解耦的3D卷积可以看作是伪3D CNN,它不仅显着减小了模型尺寸,而且还可以从图像数据中对2D CNN进行预训练,从而赋予Pseudo 3D CNN更多的利用场景和对象知识的能力。 从图像中学到的东西。
  • 受到残差网络(ResNet)[7]在许多具有挑战性的图像识别任务中的最新成功的启发,我们开发了一个名为Pseudo-3D(P3D)块的构建模块家族,在类似ResNet的视频架构中,以取代ResNet中的2D残差单元,追求时空编码。接下来,我们将回顾ResNet中剩余单元的基本设计,然后介绍如何设计我们的P3D块。 最后阐述了每个P3D模块上的瓶颈构建架构。
  • Learning Spatio-Temporal Representation with Pseudo-3D Residual Networks_第2张图片
  • Learning Spatio-Temporal Representation with Pseudo-3D Residual Networks_第3张图片
  • 为了将ResNet中的每个2D残差单元开发成3D架构以编码时空视频信息,我们按照3.1节介绍的Pseudo 3D原理修改了ResNet中的基本残差单元,并设计了几个Pseudo-3D块。 对于涉及两个设计问题的修改并不简单。 第一个问题是关于空间维数(S)的2D滤波器和时域(T)的1D滤波器的模块应该直接或间接地相互影响。 两种类型的过滤器中的直接影响意味着空间2D过滤器的输出作为输入连接到时间1D过滤器(即,以级联方式)。两个过滤器之间的间接影响使连接解耦,从而使每种过滤器都位于网络的不同路径上(即,以并行方式)。 第二个问题是两种滤波器是否都应直接影响最终输出。 因此,在这种情况下的直接影响表示每种滤波器的输出应直接连接到最终输出。
  • 基于这两个设计问题,我们推导了三个不同的P3D块,如图2所示,分别命名为P3D-A到P3D-C。 提供有关它们的体系结构的详细比较,如下所示:
  • (1)P3D-A:第一个设计考虑了层叠结构,方法是使时间1D滤波器(T)以级联方式跟随空间2D滤波器(S)。 因此,这两种滤波器可以在同一路径中直接相互影响,只有时间一维滤波器直接连接到最终输出,通常可以通过以下方式给出:
  • (2)P3D-B:第二种设计与第一种设计相似,不同之处在于采用了两个过滤器之间的间接影响,并且两个过滤器以并行的方式位于不同的路径上。 尽管S和T之间没有直接的影响,但它们都直接累积到最终输出中,可以表示为
  • (3)P3D-C:最后的设计是通过同时建立S,T和最终输出之间的直接影响来折衷P3D-A和P3D-B。 具体来说,为了基于级联的P3D-A架构实现S和最终输出之间的直接连接,我们建立了从S到最终输出的快捷连接,使输出为:
  • Learning Spatio-Temporal Representation with Pseudo-3D Residual Networks_第4张图片
  • 当指定2D剩余单元的体系结构时,基本2D块会通过瓶颈设计进行修改,以降低计算复杂性。特别是,如图3(a)所示,残差单元采用了3层堆栈,包括1×1、3×3和1×1卷积,而不是单个空间2D滤波器(3×3卷积), 其中第一个和最后一个1×1卷积层分别用于减小和恢复输入样本的尺寸。这种瓶颈设计使中间3×3卷积成为输入和输出尺寸较小的瓶颈。因此,我们遵循这一优雅的方法,并利用瓶颈设计来实现我们提出的P3D块。 本质上类似,对于每个仅由一个空间2D滤波器(1×3×3个卷积)和一个时间1D滤波器(3×1×1个卷积)组成的每个P3D块,我们还分别在两个处放置两个1×1×1个卷积 路径的末端,负责减小然后增加尺寸。 因此,这种瓶颈设计减小了空间2D和时间1D滤波器的输入和输出的尺寸。 图3(b)至3(d)展示了所有三个P3D块上的详细瓶颈构建架构。
  • 为了验证这三个P3D模块的优点,我们首先通过替换50层ResNet中的所有残差单元(ResNet),开发了三个P3D ResNet变体,即P3D-A ResNet,P3D-B ResNet和P3D-C ResNet。 -50)[7]分别带有一种特定类型的P3D块。 介绍了基本ResNet-50和三个P3D ResNet变体之间的性能和时间效率的比较。然后,从结构多样性的观点出发,通过混合所有三个P3D块,提出完整版本的P3D ResNet。
  • 比较是在UCF101 [27]视频动作识别数据集上进行的。 具体来说,ResNet-50的体系结构是根据UCF101视频数据进行微调的。 我们将输入设置为224×224图像,该图像是从调整后的240×320视频帧中随机裁剪的。 此外,根据[36],我们冻结了除第一层以外的所有批处理规范化层的参数,并添加了一个具有0.9辍学率的额外辍学层,以减少过度拟合的影响。
  • 对ResNet-50进行微调后,网络将为每帧预测一个分数,并通过平均所有帧级别的分数来计算视频级别的预测分数。 除额外的时间卷积外,三个P3D ResNet变体的体系结构均使用ResNet-50进行了初始化,并在UCF101上进行了进一步的微调。 对于每个P3D ResNet变体,输入视频剪辑的尺寸设置为16×160×160,它是从尺寸为16×182×242的调整大小的不重叠的16帧剪辑中随机裁剪的。每个帧/剪辑都是随机的 水平翻转以进行数据扩充。 在训练阶段,我们将每个迷你批处理设置为128帧/片段,并通过多个GPU并行实现。 网络参数通过标准SGD优化,初始学习率设置为0.001,每3K迭代后将其除以10。 7.5K次迭代后,训练停止。
  • 表1显示了UCF101上ResNet-50和我们的Pseudo-3D ResNet变体的性能和时间效率。 总体而言,所有三个P3D ResNet变体(即P3D-A ResNet,P3D-B ResNet和P3D-C ResNet)都比ResNet-50表现出更好的性能,只是模型尺寸增加很小。 结果基本上表明了利用我们的P3D块探索时空信息的优势。 而且,我们的P3D ResNet变体的速度非常快,可以达到每秒8.6到9.0个剪辑。
  • 从最近在超深网络设计中追求结构多样性的成功中得到进一步的启发[38],我们设计了一个完整的p3d resnet版本,通过在架构中混合不同的p3d块来增强结构多样性,如图4所示。特别是,我们用p3d-a→p3d-b→p3d-c顺序的p3d块链替换剩余单元。表1还详细说明了完整p3d resnet的性能和速度。p3d-resnet在追求结构多样性的同时,对p3d-a-resnet、p3d-b-resnet和p3d-c-resnet的准确率分别提高了0.5%、1.4%和1.2%,表明随着深度的增加,结构多样性的增强可以提高神经网络的能力。

Spatio-Temporal Representation Learning

  • 我们在更深的152层ResNet上进一步验证了P3D ResNet的完整设计[7],然后生成了通用的时空视频表示。 P3D ResNet的学习是在Sports-1M数据集上进行的[10],这是最大的视频分类基准之一。 它大约包含约113万条带有487个体育标签的视频。 每个标签有1K-3K视频,其中大约5%的视频带有多个标签。 另请注意,当我们下载视频时,大约9.2%的视频URL无效。 因此,我们对剩余的102万个视频进行了实验,并按照官方的划分,即分别对训练,验证和测试集进行了70%,10%和20%的分配。
  • 为了在大型Sports-1M训练集上进行有效的训练,我们从集合中的每个视频中随机选择5个5秒的短视频。 在训练期间,数据丢失和迷你批处理的设置与第3.3节中的设置相同,不同之处在于辍学率设置为0.1。 学习率也初始化为0.001,每60K迭代后除以10。 优化将在150K批次后完成。
  • 我们通过在测试集上测量视频/剪辑分类的准确性来评估学习的P3D ResNet的性能。 具体来说,我们从每个视频中随机抽取20个剪辑,并为每个剪辑采用单一的中心作物,然后将其通过网络传播以获得剪辑级别的预测得分。 通过对视频的所有剪辑级别得分求平均值,可以计算出视频级别得分。
  • 我们比较了以下几种性能评估方法:(1)深度视频(单帧)和(慢速融合)[10]。 前者在每个剪辑的单个帧中执行类似于[14]中的架构的CNN,以预测剪辑级别得分,并在整个网络中以不同时间范围融合每个剪辑中的多个帧,以实现剪辑级别预测。 (2)卷积池[37]在每个剪辑的框架上利用GoogleNet [30]的最终卷积层上的最大池化。 (3)C3D [31]利用片段上的3D卷积来建模时间信息,整个体系结构可以在Sports-1M数据集上从头训练,也可以从[38]中收集的I380K内部数据集的预训练模型中获得。(4)ResNet-152 [7]。 在本次运行中,对152层ResNet进行了微调,并在每个剪辑的一帧中进行使用以生成剪辑级别的分数。
  • Learning Spatio-Temporal Representation with Pseudo-3D Residual Networks_第5张图片
  • 表2总结了性能和比较。总体而言,我们的P3D ResNet相对于ResNet-152(2D CNN)和C3D(3D CNN)的性能提高了1.8%和5.3%(顶级1视频级别的准确性) , 分别。结果基本上表明了通过将3D学习分解为空间空间中的2D卷积和时间维中的1D操作来探索时空信息的优势。不出所料,在整个网络中融合时间信息的深度视频(慢融合)比仅利用一个帧的深度视频(单帧)表现出更好的性能。尽管深度视频(慢速融合),卷积池和我们的P3D ResNet的三个运行都利用了时间融合,但是它们在执行时间连接上的方式根本不同。深度视频(慢速融合)的性能是对空间卷积执行时间卷积以计算激活量的结果,而卷积池则是简单地最大程度地跨时间帧对最终卷积层的输出进行最大处理。结果表明,我们采用空间和时间卷积的不同组合的P3D ResNet改善了深度视频(慢速融合)。这多少表明P3D ResNet受益于网络设计中结构多样性的原理。同样不足为奇的是,P3D ResNet的性能仍然低于卷积池,后者对120帧的剪辑以1 fps的帧速率执行时间合并,使剪辑长度超过120s。相比之下,我们将16个连续帧作为基本单位,它仅覆盖不到0.5s的时间,但具有强大的时空连接,这使我们的P3D ResNet具有更好的泛化能力。
  • 图5进一步可视化了学习到的P3D ResNet模型中的见解。 [36]之后,我们采用DeepDraw工具箱[1],该工具箱在白噪声的输入片段上进行迭代梯度上升。 在学习过程中,它将评估模型是否违反类别标签,并向后传播渐变以修改输入片段。 因此,最终生成的输入片段可被视为P3D ResNet内部类知识的可视化。 我们选择太极拳,单杠,摩托车比赛和拳击这四个类别进行可视化。 如图所示,P3D ResNet模型可以捕获空间视觉模式和时间运动。 以太极拳的类别为例,我们的模型生成一个视频剪辑,其中一个人展示不同的姿势,描述了此动作的过程。
  • 在Sports-1M数据集上训练了我们的P3D ResNet体系结构之后,这些网络可以用作任何视频分析任务的通用表示提取器。 给定视频,我们选择20个视频片段,每个片段的长度为16帧。 然后将每个视频剪辑输入到学习的P3D ResNet架构中,并输出pool5层的2,048维激活作为此剪辑的表示。 最后,将视频中的所有剪辑级别表示形式平均,以生成2,048维视频表示形式。 除非另有说明,否则在以下评估中,我们将此表示称为P3D ResNet表示。

Conclusion

  • 我们提出了伪3D残差网络(P3D ResNet)架构,旨在学习深度网络中的时空视频表示。 特别是,我们研究了在空间维加1D时间连接上使用2D滤波器简化3D卷积的问题。 为了验证我们的主张,我们设计了瓶颈构建块的变体,用于组合2D空间和1D时间卷积,并将它们集成到不同位置的残差学习框架中,以实现结构多样性。 在Sports1M数据集上学习的P3D ResNet架构验证了我们的建议和分析。 在视频动作识别,动作相似性标记和场景识别的背景下对五个数据集进行的实验也证明了我们的P3D ResNet产生的时空视频表示的有效性和一般性。 与其他功能学习技术相比,性能明显提高。
  • 我们未来的工作如下。 首先,注意力机制将被整合到我们的P3D ResNet中,以进一步增强表示学习。 其次,将进行详细研究,研究在训练中增加每个视频片段中的帧时P3D ResNet的性能如何受到影响。 第三,我们会将P3D ResNet学习扩展到其他类型的输入,例如光学流或音频。

你可能感兴趣的:(论文大全)