Learning Spatiotemporal Features with 3D Convolutional Networks 论文阅读
前言
这篇文章讲述了用3D卷积网络学习时空特征。其中的3D卷积核应用于网络可以帮助我们更好地提取特征,完成视觉任务。
文章梳理
Abstract
We propose a XX XX(修饰词) approach for (处理什么问题的) XX.
文章开头作者提到他们为了处理时空特征学习这个问题,提出了简单高效的3D ConvNets。接下来讲了他们的发现,主要有3个部分:a. 3D比2D更适合处理时空信息。 b. 使用小型3x3x3卷积核效果更好。 c. C3D+简单的线性分类器,在4个不同的基准上优于最先进的方法,并且在其他2个基准上与当前的最佳方法相当。
模型紧凑,用较少的维度可以得到更高的准确度,适合快速判断。
概念上简单容易推断。
1. Introduction
从现在信息爆炸,视频数量增加引出需要视频描述子(video descriptor)。接下来提出了video descriptor应该具有的特性(特性+这个特性被需要/这个特性的作用):
- 良好的泛化性(generic)
- 压缩性好(compact)
- 计算效率高(efficient)
- 计算方法简单(simple)
再引入ConvNet,提出其中的不足。
However, such image based deep features are not directly suitable for videos due to lack of motion modeling.
提出 3D ConvNet。
之后总结了他们工作的贡献:
- 我们通过实验表明,3D卷积深度网络是同时模拟外观和运动的良好特征学习机器。
- 我们凭经验发现3×3×3所有层的卷积内核在有限的探索架构集中发挥最佳作用。
- 使用简单线性模型提出的特征在4个不同的任务和6个不同的基准上优于或接近当前的最佳方法。它们还紧凑且计算高效。
2. Related Work
先讲了处理video的任务,然后针对这些任务,XX提出了什么,按照时间顺序捋了一遍。最近随着并行机器发展、数据量增多、ConvNet的发展,给该方向的研究带来了突破,列举了一系列工作(这个方法好处,但是but坏处)。
最后讲了与我们研究最相关的研究(这个研究是什么 ,比较来看我们的…与这个研究的不同点)。
3. Learning Features with 3D ConvNets
3.1 3D convolution and pooling
2D Conv参数有卷积核长、宽和输入、输出channel,所以它只会把视频的帧当作in_channel,最后用一个卷积核操作后,只剩下一个平面,时间信息消失。
3D Conv还有一个参数,处理视频的时候是执行卷积的frame_size每次处理的帧数,这样只要合理设置帧数就可以得到不同的时间信息。
3D 卷积网络中,卷积和池化操作在时空执行,而在 2D 卷积网络中,它们仅在空间上完成。图1说明了差异,应用于图像的2D卷积将输出图像,应用于多个图像的2D卷积(将它们视为不同的通道)也会产生图像。因此,2D 卷积网络在每次卷积操作后都会丢失输入信号的时间信息。只有 3D 卷积保留输入信号的时间信息,从而产生输出体积。后面说了使用2D卷积和池化会丢失时间信息。如果不正确的使用3D卷积和池化也会丢失时间信息。
所以接下来为3D ConvNet确定一个好的架构。因为3×3在2D Conv效果很好,所以卷积长宽定在3×3,探究时间深度。
Notations:确定了符号。
Common networks:相同的网络设置,包括对数据和网络结构设置。控制变量。
Varying network architectures: 不同的网络结构设置。分了两大类a.相同时间深度的 b.不同时间深度的。与全连接层大量参数相比,这里时间深度不同导致的参数变化是微小的,可以忽略。
3.2 Exploring kernel temporal depth
写怎么训练的在那些数据集上,描述结果。得到最后结论3×3×3的卷积的效果最好。
3.3 Spatiotemporal feature learning
Network architecture:网络结构如下图。
C3D 架构。C3D 网络有 8 个卷积层、5 个最大池化层和 2 个全连接层,后跟一个 softmax 输出层。所有 3D 卷积内核都是3×3×3在空间和时间维度上都具有 1 步幅。每个框中都标明了过滤器的数量。3D 池化图层表示为从pooling 1 到pooling 5。所有池化内核都是2×2×2,除了池 1 是1×2×2.每个全连接层有 4096 个输出单元。
Dataset:Sports-1M dataset。
Training: 怎么处理数据,怎么进行数据增强的,学习率,batch size, epoch,预训练。
Sports-1M classification results:描述一下结果……最后说明虽然比排名第一的方法准确率小,但是差的不多,之后说明如何改进。在实践中,卷积、池化或更复杂的聚合方案可以应用于C3D特征之上,以提高视频命中性能。
C3D video descriptor:讲解了什么是C3D视频描述子。训练后,C3D 可用作其他视频分析任务的特征提取器。要提取 C3D 特征,将视频拆分为 16 帧长的剪辑,两个连续剪辑之间有 8 帧重叠。这些剪辑被传递到 C3D 网络以提取 fc6 激活。对这些片段 f c 6 激活进行平均以形成 4096-dim 的视频描述符,然后进行 L2 归一化。在所有实验中,我们将这种表示称为 C3D 视频描述子,除非我们明确指定差异。
what does C3D learn?
我们观察到,C3D首先关注前几帧的外观,并在随后的帧中跟踪突出的运动。因此,C3D与标准2D卷积网的不同之处在于,它选择性地关注运动和外观。
后面又对其在行为识别、动作相似标记、场景和物体识别方面进行实验,取得了不错效果。
7. Runtime Analysis
对比了C3D、iDT和the Temporal stream network在CPU和GPU上运行速度。(指名代码是作者提供的CPU代码和OpenCV提供的GPU代码)。使用单个CPU或单个K101 Tesla GPU。C3D 比实时快得多,处理速度为 313 fps,而其他两种方法的处理速度不到 4 fps。
8.Conclusions
In this work we try to address the problem of…
在这项工作中,我们试图解决使用在大规模视频数据集上训练的3D ConvNets学习视频时空特征的问题。我们进行了系统的研究,以找到3D卷积神经网络的最佳时间内核长度。我们展示了C3D可以同时对外观和运动信息进行建模,并且在各种视频分析任务中优于2D ConvNet功能。我们证明了具有线性分类器的C3D特征可以在不同的视频分析基准上优于或接近当前的最佳方法。最后但并非最不重要的一点是,提出的C3D功能高效,紧凑且使用起来非常简单。
说明研究目的为了解决什么问题。我们进行系统研究,发现了什么。我们方法的优点。