C3D论文笔记

C3D论文笔记
论文链接:http://vlg.cs.dartmouth.edu/c3d/c3d_video.pdf
代码链接:https://github.com/jfzhang95/pytorch-video-recognition

1. C3D是什么?

C3D,全称Convolutional 3D,即3D卷积。3D卷积方法是把视频划分成很多固定长度的片段(clip),相比2D卷积,3D卷积可以提取连续帧之间的运动信息,换句话说,3D卷积将视频多帧进行融合

2. 论文贡献

  • 3D ConvNets比2D ConvNets更适用于时空特征的学习
  • 对于3D ConvNet而言,在所有层使用3×3×3的小卷积核效果最好
  • 使用3D卷积学习到的特征,通过简单的线性分类器在4个不同的基准上均优于最新的方法

3. 本文方法

3.1 2D和3D卷积对比

C3D论文笔记
由上图可知:

  • 对图像应用二维卷积可生成图像。
  • 在视频序列上应用二维卷积(多帧作为多个通道)也会产生图像。
  • 在一个视频序列上应用3D卷积会产生另一个序列,从而保留输入信号的时间信息。

与2D-ConvNet相比,3D-ConvNet具有更好的时间信息建模能力,这得益于3D卷积和3D池化操作。在3D ConvNets中,卷积和池化操作是在时空上执行的,而在2D ConvNets中,卷积和池化操作只是在空间上执行的(如上图)。而2D ConvNets在每次卷积运算后都会丢失输入信号的时间信息。只有3D卷积才能保留产生输出时间信息。同样的3D池化操作也是如此。同时,根据2D ConvNets的研究结果,3 × 3卷积核的小感受野和较深的结构产生了最好的结果。因此本文将空间感受野固定为3 × 3,并且仅改变3D卷积核的时间深度。

3.2 网络结构

C3D论文笔记
C3D网络结构如上图:8个卷积层,5个池化层,2个全连接层,1个softmax输出层。所有卷积核均为3x3x3,第一个pooling层1x2x2,stride=1x2x2,之后都是2x2x2,两个全连接层都是4096。
注:

  • 假设视频序列大小为c × l × h × w,其中c是频道数,l是帧的长度,h和w分别是帧的高度和宽度。三维卷积和池化的核大小为d × k × k,其中d是核的时间深度,k是核的空间大小。
  • 所有这些卷积层都采用适当的填充(空间和时间)和步长为1,因此从这些卷积层的输入到输出的大小没有变化。

该网络以视频片段为输入,对101个不同动作的类标签进行预测。所有视频帧的大小都调整为128 × 171。视频被分成不重叠的16帧序列,然后作为网络的输入。输入尺寸为3 × 16 × 128 × 171。在训练中,还使用了大小为3 × 16 × 112 × 112的输入剪辑的随机裁剪来进行抖动。该网络有5个卷积层和5个池化层(每个卷积层后面紧跟着一个池化层)、2个全连接层和一个预测动作标签的softmax loss层。从1到5的5个卷积层的滤波器数目分别为64、128、256、256、256。所有卷积核都有d的大小,其中d是内核时间深度。

3.3 探索时间核长度(d)

本文主要关注如何通过深度网络聚合时间信息。为了寻找一个好的3D ConvNet架构,作者只改变卷积层的内核时间深度di,同时保持所有其他公共设置不变。
C3D论文笔记
作者实验了两种类型的体系结构:

  • 同质时间深度:所有卷积层具有相同的核时间深度
  • 可变时间深度:核时间深度跨层变化。
    观察上图可知:第一张图中看到,深度为1的网络,相当于在单帧图片上进行2D卷积,2D ConvNets表现很差,原因在于缺乏动作建模 ;第二张图中看到,具有3x3x3内核的3D ConvNet表现最好

4 行为识别

使用的数据集是UCF101,采用简单的分类模型—简单线性SVM。同时试验了3个不同的网络和基准进行比较。
C3D论文笔记
结果如表所示。中间部分是只使用RGB的,下面则是所有当前最好的行为识别方法。结果表明,C3D不仅有最高的精度,而且能很好地提取外部特征与时间特征。另一方面,C3D同IDT的结合是十分互补的。IDT是主要基于光流追踪与低梯度的直方图特征,而C3D则捕捉了高度抽象综合的信息。
C3D论文笔记
使用t-SNE在UCF101数据集上嵌入Imagenet和C3D的可视化特征。与Imagenet相比,C3D特征在语义上是可分离的,这表明它可以产生一个更好的视频特征。每个剪辑都可视为一个点,属于同一动作的剪辑具有相同的颜色。

5 动作相似性标注

数据集使用ASLAN,来自432个动作类的3631个视频组成。将视频分为16帧片段,为每个片段提取C3D特征名之后对每种类型的特征分别平均剪辑特征,然后L2归一化计算视频特征。
C3D论文笔记
C3D仅仅进行简单平均和线性SVM,与最先进的方法进行对比,准确度高于其他方法11%,但与人类表现进行比较,还是有些差距。

6 场景与目标识别

数据集使用YUPENN和MaryLand,这些数据集都是以自我为中心的,是以第一人称视角记录。在所有视频上滑动一个16帧的窗口来提取C3D特征,使用SVM训练和测试C3D特征。
C3D论文笔记
实验可得,C3D在MaryLand和YUPENN的表现分别比最先进的方法好10%和1.9%。