Learning Spatiotemporal Features with 3D Convolutional Networks论文翻译

1,060 阅读28分钟

Introduction

互联网上的多媒体正在迅速增长,导致每分钟分享的视频数量都在增加。为了应对信息爆炸,理解和分析这些视频以用于搜索、推荐、排名等各种目的是必不可少的。计算机视觉社区几十年来一直致力于视频分析,并解决了不同的问题,如动作识别[26]、异常事件检测[2]和活动理解[23]。通过采用不同的具体解决方案,在这些个别问题上取得了相当大的进展。然而,对于帮助以同类方式解决大规模视频任务的通用视频描述符的需求仍在不断增长。 有效的视频描述符有四个属性:

  1. 它需要是通用的,以便它可以很好地表示不同类型的视频,同时具有区分性。例如,互联网视频可以是风景、自然场景、体育、电视节目、电影、宠物、食物等;
  2. 描述符需要紧凑:由于我们正在处理数百万个视频,紧凑的描述符有助于更好地处理、存储和检索任务;
  3. 它需要计算效率高,因为预计会有数千个视频。在真实世界的系统中每分钟处理一次
  4. 必须简单易行。与使用复杂的特征编码方法和分类器不同,良好的。即使使用简单的模型(例如,线性分类器),描述符也应该工作得很好。

受图像领域的深度学习突破[24]的启发,过去几年在特征学习方面取得了快速进展,各种预先训练的卷积网络(ConvNet)模型[16]可用于提取图像特征。这些特征是网络最后几个完全连接的层的激活,它们在迁移学习任务中表现良好[47,48]。然而,这种基于图像的深度特征并不直接适用于视频,因为缺乏运动建模(如我们在第4、5、6节中的实验所示)。在本文中,我们提出了使用深度3D ConvNet来学习时空特征。 我们的实验表明,这些学习的特征和简单的线性分类器可以在各种视频分析任务中产生良好的性能。虽然3D ConvNets在[15,18]之前就被提出,但据我们所知,这项工作利用3D ConvNets在大规模监督训练数据集和现代深层体系结构的背景下,在不同类型的视频分析任务中获得最佳性能。这些3D ConvNet的功能将与对象、场景和动作相关的信息封装在视频中,使它们对各种任务有用,而不需要为每个任务微调模型。C3D具有一个好的描述符应该具备的特性:它是通用的、紧凑的、简单和高效的。综上所述,我们在本文中的贡献是:

  • 实验表明,3D卷积深度网络是一种很好的同时模拟外观和运动的特征学习机器。
  • 实验发现,在有限的体系结构集合中,3×3×3的卷积核在所有层中工作得最好。
  • 采用简单线性模型的建议功能在4个不同任务和6个不同基准上优于或接近当前最佳方法(参见表1)。
  • 它们也是紧凑和高效的计算。

image.png

Related work

几十年来,计算机视觉界一直在研究视频。多年来,已经提出了各种问题,如动作识别[26]、异常检测[2]、视频检索[1]、事件和动作检测[30,17]等等。这些作品中有相当一部分是关于视频表现的。Laptev和Lindeberg[26]通过将Harris角点检测器扩展到3D,提出了时空兴趣点(STIPS)。SIFT和HOG也被扩展为SIFT-3D[34]和HOG3D[19]用于动作识别。美元等人。提出了用于行为识别的长方体特征[5]。Sadanand和Corso为动作识别建立了ActionBank[33]。最近,Wang et al.。 提出了改进的密集轨迹(IDT)[44],这是目前最先进的手工制作功能。IDT描述符是一个有趣的例子,表明可以以不同于空间信号的方式处理时间信号。它不是将Harris角点检测器扩展到3D,而是从视频帧中密集采样的特征点开始,并使用光流来跟踪它们。对于每个跟踪器角点,沿轨迹提取不同的手工特征。尽管该方法具有很好的性能,但它的计算量很大,并且在大规模数据集上变得难以处理。 随着最近强大的并行机(GPU、CPU集群)的出现,加上大量的训练数据,卷积神经网络(ConvNets)[28]已经卷土重来,在视觉识别方面取得了突破[10,24]。ConvNets还被应用于图像[12]和视频[13]中的人体姿势估计问题。更有趣的是,这些深层网络用于图像特征学习[7]。类似地,周等人也是如此。并在迁移学习任务中表现出色。深度学习也被应用于无监督环境下的视频特征学习[27]。在Le等人中。[27]作者使用堆叠ISA来学习视频的时空特征。虽然这种方法在动作识别上取得了很好的效果,但它在训练时仍然需要大量的计算,很难在大数据集上进行测试。3D ConvNet被提出用于人体动作识别[15]和医学图像分割[14,42]。3D卷积也与受限的Boltzmann机器一起使用来学习时空特征[40]。最近,卡帕西等人提出了自己的观点。[18]在用于视频分类的大型视频数据集上训练深度网络。Simonyan和Zisserman[36]使用两个流网络来获得动作识别的最佳结果。 在这些方法中,与我们关系最密切的是[15]中的3D ConvNets方法。该方法使用人体探测器和头部跟踪来分割视频中的人体对象。分割的视频体被用作3卷积层3D ConvNet的输入以对动作进行分类。相比之下,我们的方法以完整的视频帧作为输入,不需要任何预处理,因此很容易扩展到大数据集。我们也与卡帕西等人有一些相似之处。[18]以及Simonyan和Zisserman[36]在使用全帧来训练ConvNet方面。然而,这些方法仅使用2D卷积和2D池化操作(除了[18]中的慢融合模型),而我们的模型执行3D卷积和3D池化,跨网络中的所有层传播时间信息(在第3节中进一步详细描述)。我们还表明,逐步汇集空间和时间信息并建立更深层次的网络可以获得最佳结果,我们将在3.2节详细讨论体系结构搜索。 image.png

Learning Features with 3D ConvNets

在这一部分中,我们详细介绍了3D ConvNets的基本操作,对3D ConvNets的不同体系结构进行了实证分析,并阐述了如何在大规模数据集上对其进行训练以进行特征学习。

3D convolution and pooling

我们认为3D ConvNet非常适合空间特征学习。与2D ConvNet相比,由于3D卷积和3D池化操作,3D Con vNet能够更好地建模时间信息。在3D卷积网中,卷积和池化操作是在空间和时间上形成的,而在2D卷积网中它们仅在空间上进行。图1说明了差异,应用于图像的2D卷积将输出图像,应用于多个图像(将它们视为不同的通道[36])的2D卷积也会产生图像。因此,2D卷积网在每次卷积操作之后立即丢失输入信号的时间信息。只有3D卷积保留了产生输出体积的输入信号的时间信息。同样的现象也适用于2D和3D轮询。在[36]中,虽然时间流网络将多个帧作为输入,但由于2D卷积,在第一卷积层之后,时间信息被完全折叠。同样,[18]中的融合模型使用了2D卷积,大多数网络在第一卷积层之后会丢失其输入的时间信号。只有[18]中的慢融合模型在其前3个卷积层中使用3D卷积和平均池。我们认为这是其在[18]中研究的所有网络中表现最好的关键原因。然而,它仍然在第三卷积层之后丢失所有时间信息。 在本节中,我们通过经验尝试为3D卷积网确定一个好的架构。由于在大规模视频数据集上训练深度网络非常耗时,我们首先使用UCF101(一种中等规模的数据集)进行实验,以搜索最佳架构。我们用少量的网络实验在大规模数据集上验证了这一发现。根据2D ConvNet[37]中的发现,具有更深结构的3×3卷积核的小感受野产生最佳结果。因此,对于我们的架构搜索研究,我们将空间感受野固定为3×3,并且仅改变3D卷积核的时间深度。 注释:为了简单起见,从现在起,我们将视频剪辑的大小定为c×l×h×w,其中c是频道数,l是帧数的长度,h和w分别是帧的高度和宽度。我们还用d×k×k表示3D卷积和池核大小,其中d是核时间深度,k是核空间大小。 通用网络设置:在本节中,我们将介绍我们培训的所有网络通用的网络设置。网络被设置为将视频剪辑作为输入,并预测属于101个不同动作的类别标签。所有视频帧的大小调整为128×171。这大约是UCF101帧分辨率的一半。视频被分割成不重叠的16帧剪辑,然后用作网络的输入。输入尺寸为3×16×128×171。在训练过程中,我们还使用了输入片段大小为3×16×112×112的随机作物来进行抖动。网络有5个卷积层和5个池层(每个卷积层后面紧跟一个池层)、2个完全连接层和一个Softmax损失层来预测动作标签。从1到5的5个卷积层的滤波器数分别为64、128、256、256、256。所有卷积核的大小都是d,其中d是核的时间深度(我们稍后将改变这些层的值d以搜索好的3D架构)。所有这些卷积层都具有适当的填充(空间和时间)和步长1,因此从这些卷积层的输入到输出在大小方面没有变化。所有汇聚层都是最大汇聚,核大小为2×2×2(除第一层外),步长为1,这意味着输出信号的大小比输入信号减小了8倍。第一个合并层的核大小为1×2×2,其目的是不太早地合并时间信号,并且还满足16帧的剪辑长度(例如,在完全折叠时间信号之前,我们可以以因子2在时间上最多合并4次)。这两个完全连接的层有2048个输出。我们用30个片段的小批次从头开始训练网络,初始学习率为0.003。每4个时代后,学习速度除以10。训练在16个纪元后停止。 不同的网络体系结构:出于本研究的目的,我们主要对如何通过深层网络聚合时间信息感兴趣。为了寻找好的3D ConvNet体系结构,我们只改变卷积层的核时间深度di,同时如上所述保持所有其他公共设置不变。我们实验了两种类型的体系结构:1)均匀的时间深度:所有卷积层具有相同的核时间深度;2)变化的时间深度:核时间深度在各层之间变化。对于均匀设置,我们用4个网络进行实验,这些网络的核时间深度d分别等于1、3、5和7。我们将这些网络命名为深度-d,其中d是它们的均匀时间深度。请注意,Depth-1 Net相当于在单独的框架上应用2D卷积。对于不同的时间深度设置,我们分别实验了两个时间深度增加的网络:3-3-5-5-7和从第一层到第五卷积层递减的7-5-5-3-3。我们注意到,所有这些网络在最后一个汇聚层具有相同大小的输出信号,因此它们对于完全连接层具有相同数量的参数。由于核时间深度的不同,它们的参数个数在卷积层上只有不同。与完全连接的层中数以百万计的参数相比,这些差异非常微小。例如,上述任何两个时间深度差为2的网络,彼此之间只有17K个或更少的参数。参数数量差异最大的是Depth-1网和Depth-7网,Depth-7网的参数比Depth-1网多51K,不到每个网1750万个参数总数的0.3%。这表明网络的学习能力是相当的,参数数量的差异应该不会影响我们的体系结构搜索的结果。

Exploring kernel temporal depth

我们在UCF101的Split 1次split上训练这些网络。图2显示了UCF101测试split1上不同体系结构的裁剪精度。左图显示了具有均匀时间深度的网络的结果,右图显示了改变内核时间深度的网络的结果。在同类网络中,Depth3的性能最好。请注意,深度-1明显比其他网络差,我们认为这是由于缺乏运动建模所致。与变化的时间深度网络相比,深度-3网络的性能最好,但差距较小。我们还实验了更大的空间感受野(例如5×5)和/或全输入分辨率(240×320帧输入),仍然观察到类似的行为。这表明3×3×3是3D ConvNet的最佳核选择(根据我们的实验子集),并且3D ConvNet在视频分类方面一贯优于2D ConvNet。我们还验证了3D ConvNet在大规模内部数据集(即I380K)上的性能一致优于2D ConvNet。 image.png

Spatiotemporal feature learning

网络架构:我们在上一节的研究结果表明,3×3×3卷积核的均匀设置是3D ConvNet的最佳选择。这一发现也与2D ConvNets中的类似发现一致[37]。对于大规模数据集,在机器内存和计算负担能力的限制下,可以训练出尽可能深的3×3×3核的3D ConvNet。利用当前的GPU内存,我们将我们的3D ConvNet设计为具有8个卷积层、5个池化层、两个完全连接的层和一个Softmax输出层。网络体系结构如图3所示。为简单起见,从现在起我们将该网络称为C3D。所有3D卷积滤波均为3×3×3,步长为1×1×1。除pool1核大小为1×2×2,步长为1×2×2外,其余3维卷积滤波均为2×2×2,步长为2×2×2。每个完全连接的层有4096个输出单元。 image.png 数据集: 为了学习时空特征,我们在Sports-1M数据集[18]上训练了我们的C3D,这是目前最大的视频分类基准。该数据集包括110万个体育视频。每个视频都属于487个运动类别中的一个。与UCF101相比,Sports1M的分类数量是UCF101的5倍,视频数量是UCF101的100倍。 训练:训练在Sports-1M的split上进行。由于Sports-1M有很多长视频,我们从每个训练视频中随机提取了5个2秒长的片段。调整剪辑的大小,使其帧大小为128×171。在训练中,我们将输入的片段随机裁剪成16×112×112的作物,进行空间和时间抖动。我们还以50%的概率水平翻转它们。训练是由SGD进行的,小批量为30例。初始学习率为0.003,每15万次迭代除以2。优化在1.9M次迭代(大约13个历元)时停止。除了从头开始训练的C3D网络外,我们还对在I380K上预先训练的模型进行了微调的C3D网络实验。 SPORTS-1M分类结果:表2显示了我们的C3D网络与DeepVideo[18]和卷积合并[29]的结果。我们每个剪辑只使用一个中心裁剪,并通过网络传递它来进行剪辑预测。对于视频预测,我们平均从视频中随机提取的10个剪辑的剪辑预测。值得注意的是,两种比较方法之间存在一些设置差异。DeepVideo和C3D使用短剪辑,而卷积池[29]使用更长的剪辑。DeepVideo使用了更多的作物:每个剪辑4个作物,每个视频80个作物,而C3D分别使用1个和10个作物。从零开始训练的C3D网络的准确率为84.4%,而从I380K预训练模型微调的C3D网络在视频TOP5的准确率为85.5%。这两家C3D网络的表现都好于DeepVideo的网络。C3D仍比[29]的方法低5.6%。然而,这种方法在120帧的长剪辑上使用深度图像特征的卷积汇集,因此它不能直接与在短得多的剪辑上操作的C3D和DeepVideo相比较。我们注意到,这种方法的剪辑和视频的TOP-1精度的差异很小(1.6%),因为它已经使用了120帧的剪辑作为输入。在实践中,卷积池或更复杂的聚合方案[29]可以应用于C3D特征之上,以提高视频命中性能。 image.png C3D视频描述符: 经过训练后,C3D可以用作其他视频分析任务的特征提取器。为了提取C3D特征,视频被分成16帧长剪辑,在两个连续剪辑之间有8帧重叠。这些片段被传递到C3D网络以提取fc6激活。这些片段fc6激活被平均以形成4096-dim视频描述符,随后是L2归一化。在所有实验中,我们将这种表示称为C3D视频描述符/特征,除非我们清楚地指明了区别。 我们使用[46]中解释的去卷积方法来了解C3D在内部学习了什么。我们观察到,C3D从关注前几帧的外观开始,并在随后的帧中跟踪显著的运动。图4可视化了投影回图像空间的具有最高激活度的两个C3D cv5b特征图的去卷积。在第一个示例中,该功能聚焦于整个人,然后跟踪撑杆跳表演在其余帧上的运动。类似地,在第二个例子中,它首先关注眼睛,然后在化妆时跟踪眼睛周围发生的运动。因此,C3D与标准2D ConvNet的不同之处在于它选择性地兼顾运动和外观。我们在补充材料中提供了更多的可视化,以更好地了解学习的功能。 image.png

Action recognition

数据集:我们在UCF101数据集[38]上评估C3D功能。该数据集包括101个人类行为类别的13,320个视频。我们使用此数据集提供的三个拆分设置。 分类模型:提取C3D特征,输入多类线性支持向量机训练模型。我们使用3种不同的网络对C3D描述符进行了实验:C3D在I380K上训练,C3D在Sports-1M上训练,C3D在I380K上训练并在Sports-1M上进行微调。在多个网络设置中,我们串联这些网络的L2归一化C3D描述符。 基线:我们使用Caffe的Imagenet预训练模型,将C3D功能与几个基线进行比较:当前最好的手工制作功能,即改进的密集轨迹(IDT)[44]和流行使用的深度图像功能,即Imagenet[16]。对于IDT,对于IDT的每个特征通道,我们使用码本大小为5000的词袋表示法,这些特征通道是轨迹、HOG、HOF、MBHx和MBHy。我们分别使用L1范数对每个通道的直方图进行归一化,并将归一化后的直方图连接起来,形成视频的25K特征向量。对于Imagenet基线,类似于C3D,我们提取每一帧的Imagenet fc6特征,对这些帧特征进行平均,得到视频描述符。多类线性支持向量机也被用于这两个基线,以进行公平的比较。 结果:表3给出了C3D与两个基线和当前最佳方法的动作识别准确率。上半部分显示了两条基线的结果。中间部分介绍了仅使用RGB帧作为输入的方法。下面的部分报告了使用所有可能的特征组合(例如光流,IDT)的所有当前最好的方法。 image.png 在前面描述的三个C3D网络中,C3D微调网络的性能最好。然而,这三个网络之间的性能差距很小(1%)。从现在起,除非另有说明,否则我们将微调的网络称为C3D。使用一个只有4,096个维度的网络进行C3D,准确率为82.3%。3个网格的C3D将精度提高到85.2%,维度增加到12,288。当C3D与IDT相结合时,准确率进一步提高到90.4%,而当它与Imagenet相结合时,我们仅观察到0.6%的改善。这说明C3D可以很好地捕捉外观和运动信息,因此与基于外观的深度特征Imagenet结合没有好处。 具有 3 个网络的 C3D 达到 85.2%,分别比 iDT 和 Imagenet 基线好 9% 和 16.4%。在唯一的 RGB 输入设置上,与基于 CNN 的方法相比,我们的 C3D 优于深度网络 [18] 和空间流网络 [ 36] 分别增加了 19.8% 和 12.6%。 深度网络 [18] 和空间流网络 [36] 都使用 AlexNet 架构。 在 [18] 中,网络是根据他们在 Sports-1M 上预训练的模型进行微调的,而 [36] 中的空间流网络是根据 lmagenet 预训练模型进行微调的。 我们的 C3D 在网络架构和基本操作方面不同于这些基于 CNN 的方法。 此外,C3D 在 Sports-1M 上进行训练,并在没有任何微调的情况下按原样使用。 与基于循环神经网络 (RNN) 的方法相比,C3D 的性能分别优于长期循环卷积网络 (LRCN) [6] 和 LSTM 复合模型 [39] 14.1% 和 9.4%。 当它们同时使用光流和 RGB 以及 [36] 中的时间流网络时,只有 RGB 输入的 C3D 仍然优于这两种基于 RNN 的方法。然而,C3D需要与IDT相结合才能优于双流网络[36]、其他基于IDT的方法[31、25]以及专注于长期建模的方法[29]。除了前景看好的数字外,与其他方法相比,C3D还具有简单的优势。 C3D是紧凑的:为了评估C3D特征的紧凑性,我们使用主成分分析将特征投影到较低的维度,并使用线性支持向量机在UCF101[38]上报告投影特征的分类精度。我们对IDT[44]和Imagenet功能[7]应用了相同的过程,并比较了图5中的结果。在仅有10个维度的极端设置下,C3D精度为52.8%,比Imagenet和IDT的约32%的精度高出20%以上。在50和100暗度下,C3D的准确率分别达到72.6%和75.6%,比Imagenet和IDT提高了约10-12%。最后,对于500个维度,C3D能够达到79.4%的准确率,比IDT高6%,比Imagenet高11%。这表明我们的特征既紧凑又有区别性。这对于低存储成本和快速检索至关重要的大规模检索应用非常有帮助。 image.png 我们定性地评估我们学习的C3D特征,通过将学习的特征嵌入到另一个数据集上来验证它是否是一个很好的视频通用特征。我们从UCF101中随机选择100K个视频片段,然后使用For Feature从Imagenet和C3D中提取这些片段的FC6特征。然后使用t-SNE[43]将这些特征投影到2维空间。图6可视化了来自Imagenet和我们的C3D的特性在UCF101上的嵌入。值得注意的是,我们没有做任何微调,因为我们想验证这些特征是否在数据集上显示出良好的泛化能力。我们定量地观察到C3D比Imagenet更好。 image.png

Action Similarity Labeling

数据集:Aslan数据集由来自432个动作类的3631个视频组成。这项任务是预测一对给定的视频属于相同还是不同的动作。我们对数据集提供的拆分使用规定的10倍交叉验证。这个问题不同于动作识别,因为任务侧重于预测动作相似性,而不是实际的动作标签。这项任务非常具有挑战性,因为测试集包含了一些以前从未见过的动作的视频。 特点:我们将视频分割成16帧的片段,重叠8帧。我们为每个片段提取C3D特征:Prob、fc7、fc6、pool5。视频的特征是通过分别为每种类型的特征对剪辑特征求平均,然后进行L2归一化来计算的。 分类模型:我们遵循 [21] 中使用的相同设置。 给定一对视频,我们计算 [21] 中提供的 12 个不同的距离。 通过 4 种类型的特征,我们为每个视频对获得 48 维(12 × 4 = 48)特征向量。 由于这 48 个距离彼此不可比,我们将它们独立归一化,使每个维度的均值和单位方差为零。 最后,训练线性 SVM 将视频对分类为这些 48 维特征向量上的相同或不同。 除了与当前方法进行比较外,我们还使用基于深度图像的特征将 C3D 与强基线进行了比较。 基线与我们的 C3D 具有相同的设置,我们用 Imagenet 功能替换 C3D 功能。 结果:我们报告了C3D的结果,并与表4中最先进的方法进行了比较。尽管大多数方法使用多个手工制作的特征、强大的编码方法(VLAD、Fisher矢量)和复杂的学习模型,但我们的方法使用视频上C3D特征的简单平均和线性支持向量机。C3D在准确率和ROC曲线下面积(AUC)方面明显优于最先进的方法[45]9.6%和11.1%。ImageNet Baseline的表现相当不错,仅比最先进的方法[45]低1.2%,但由于缺乏运动建模,比C3D差10.8%。图7绘制了C3D的ROC曲线,与当前方法和人类表现进行了比较。C3D显然有了很大的改进,从目前最先进的方法到人类表现(98.9%)只有一半的距离。 image.png image.png

Scene and Object Recognition

数据集:对于动态场景识别,我们在两个基准上评估C3D:YUPENN[4]和Marylandc[35]。YUPENN由14个场景类别的420个视频组成,Maryland有13个场景类别的130个视频。对于对象识别,我们在以自我为中心的数据集[32]上测试了C3D,该数据集包含42种日常对象。需要注意的是,该数据集是以自我为中心的,所有视频都是以第一人称视图记录的,其外观和运动特征与我们在训练数据集中的任何视频都截然不同。 分类模型:对于两个数据集,我们使用相同的特征提取设置和线性支持向量机进行分类,并遵循这些数据集的作者所描述的相同的留下一次评估协议。对于对象数据集,标准评估基于帧。然而,C3D采用长度为16帧的视频剪辑来提取特征。我们在所有视频上滑动一个16帧的窗口来提取C3D特征。我们选择每个剪辑的基本事实标签作为该剪辑最频繁出现的标签。如果一个片段中出现频率最高的标签出现的时间少于8帧,我们认为它是没有对象的负片段,在训练和测试中都将其丢弃。我们使用线性支持向量机对C3D特征进行训练和测试,并报告了目标识别的准确率。我们遵循[32]中提供的相同拆分。我们还使用Imagenet功能在这三个基准上将C3D与基准进行了比较。 结果:表 5 报告了我们的 C3D 结果并将其与当前最佳方法进行了比较。 在场景分类方面,C3D 在 Maryland 和 YUPENN 上分别优于最先进的方法 [9] 10% 和 1.9%。 值得一提的是,C3D 仅使用线性 SVM 对剪辑特征进行简单平均,而第二好的方法 [9] 使用不同的复杂特征编码(FV、LLC 和动态池)。 Imagenet 基线在马里兰州实现了与 C3D 相似的性能,比 YUPENN 上的 C3D 低 1.4%。 在对象识别方面,C3D 仅使用线性 SVM 获得 22.3% 的准确度,优于 [32] 10.3%,其中比较方法使用 RBF 内核进行强 SIFT-RANSAC 特征匹配。 与 Imagenet baseline 相比,C3D 仍然差了 3.4%。 这可以解释为 C3D 使用比 Imagenet 使用的全尺寸分辨率 (256 × 256) 更小的输入分辨率 (128 × 128)。 由于 C3D 仅在 Sports1M 视频上进行训练而没有任何微调,而 Imagenet 在 1000 个对象类别上进行了全面训练,因此我们没想到 C3D 在这项任务上表现如此出色。 结果非常令人惊讶,展示了 C3D 在捕捉视频中的外观和运动信息方面的通用性 image.png

Runtime Analysis

我们将C3D的运行时间与IDT[44]和时间流网络[36]进行了比较。对于IDT,我们友好地使用了作者提供的代码[44]。对于[36]来说,没有可供评估的公共模型。然而,这种方法使用Brox的光流[3]作为输入。我们使用两个不同的版本来评估Brox方法的运行时间:作者提供的CPU实现[3]和OpenCV中提供的GPU实现。 我们在表6中报告了使用单CPU或单K40特斯拉GPU提取整个UCF101数据集的特征(包括I/O)的上述三种方法的运行时间。[36]报告了一对映像的计算时间(无I/O)为0.06s。在我们的实验中,Brox的GPU实现每对映像(包括I/O)需要0.85-0.9s。请注意,对于IDT来说,这不是一个公平的比较,因为它只使用CPU。我们找不到这种方法的任何GPU实现,在GPU上实现该算法的并行版本并不是一件容易的事情。请注意,C3D比实时快得多,处理速度为313fps,而其他两种方法的处理速度低于4fps。 image.png

Conclusions

在这项工作中,我们试图解决使用在大规模视频数据集上训练的3D ConvNets来学习视频的时空特征的问题。为了找到3D ConvNet的最佳时间核长度,我们进行了系统的研究。我们发现,C3D可以同时模拟外观和运动信息,并且在各种视频分析任务中的表现优于2D ConvNet特征。我们证明了带有线性分类器的C3D特征可以在不同的视频分析基准上超越或接近当前最好的方法。最后但并非最不重要的一点是,建议的C3D功能高效、紧凑且使用起来极其简单。 C3D源代码和预先训练的模型可在vlg.cs.dartmouth.edu/c3d.上获得。 致谢:我们要感谢Yann LeCun的宝贵反馈,以及Facebook AI Research的Nikhil Johri和Engineering提供的数据和基础设施支持。