Learning Spatiotemporal Features with 3D Convolutional Networks 读书笔记

  最近读了Learning Spatiotemporal Features with 3D Convolutional Networks这篇文章,下面对文章内容进行简要概括。

摘要

  摘要主要介绍在大规模有监督的视频数据集下训练出了一种简单且高效的三维卷积神经网络的方法来学习时空特征。且此发现具有三重的效果:

  1)相比较于二维,三维卷积神经网络更适合于时空特征

  2)在三维卷积神经网络中,3*3*3卷积内核是效果最好的

  3)使用线性分类器学习到的特征,即C3D,在4个不同的基准测试中优于最先进的方法,并且与其它两个基准上的当前最先进的方法相当。

  除此之外,特征很紧凑:仅仅使用10维就可在UCF101数据集上达到52.8%的精度,且由于ConvNets的快速推理能力,其也有很高的计算效率。最后,它也很简单且易于训练和使用。

Introduction

  在视频高速、大量分享的时代,多媒体快速发展,取得了很多进步,由此,通用的视频描述符仍存在很高的需求。有效的视频描述符必须具备4个属性:通用、紧凑、高效的计算、易于实现。在本文中,提出了深度3D卷积神经网络来获取特征,然后通过简单的线性分类器进行分类,得出结果。3D ConvNets的特征将与视频中的对象、场景和动作相关的信息封装起来,使其对各种任务有用,而无需为每个任务分配模型。我们提出的C3D拥有一个好的视频描述符的性能,它通用、紧凑、简单且高效。在这篇文章中,我们的主要贡献有三点:

  1)通过实验表明,C3D是很好的特征提取器,不管是在外观或者运动信息上

  2)实验表明,3*3*3的卷积内核是最好的架构

  3)提出的具有简单线性模型的特征优于或接近4个不同任务和6个不同基准的最佳方法(见表1)。 它们也是紧凑和高效的计算

Related Work

  这部分主要介绍了其他研究人员在视频处理方面取得的成果、卷积网络和3D卷积在图像以及视频方面的应用、对比之前的方法,介绍一下我们的方法的优点。C3D卷积网络将完整的视频帧作为输入,并不依赖于任何处理,可以轻松地扩展到大数据集。

Learning Features with 3D ConvNets

1. 3D convolution and pooling

  3D ConvNets 更适合学习时空特征,通过3D卷积和3D池化,可以对时间信息建模,而2D卷积只能在空间上学习特征。3D和2D的区别如下:

2D卷积网络输入图像会产生图像,输入视频输出的也是图像,3D卷积网络输入视频会输出另外一个视频,保留输入的时间信息。

  我们在UCF101上进行实验,寻找最好的网络架构,在大数据库上进行验证。根据2D网络确定卷积核长*宽是3*3的,然后变化temporal depth 寻找最好的卷积核。

Notations:  

  video clips size: c*l*h*w  其中,c是通道数量,l是帧长度,h是帧高,w是帧宽

  3D kernel size: d*k*k  d是核时域深度,k是核空间尺寸

Common network settings:

  输入:UCF101的视频片段  视频帧调整大小为128*171 为原始视频分辨率的一半,视频分割为不重叠的16帧视频片段,作为网络输入,输入维度为3*16*128*171,训练时通过抖动,维度调整为3*16*112*112。

  通用的网络包括5个卷积层和5个池化层(一个卷积层后面跟着一个池化层),2个全连接层,1个softmax分类层来预测行为标签,卷积层的滤波器数量依次为:64、128、256、256、256。所有的卷积核的时域深度都是d,改变d来寻找最好的3D架构。池化核尺寸为2*2*2(除第一层),第一层为1*2*2,步长为1。两个全连接层有2048个输出,使用30个剪辑的迷你批次训练网络,初始的学习率为0.003,每4个epochs学习率除以10,训练16个epochs后停止。

Varying network architectures:

  仅仅变化卷积核时域深度 di 来寻取好的3D卷积网络,采取了两种方案:1)所有卷积核时域深度相同,4个测试深度 1、3、5、7;2)卷积核深度发生变化,两种网络,一种是卷积核深度增加3-3-5-5-7,另一种是卷积核深度降低7-5-5-3-3。通过实验表明,所有网络在最后池化层的输出信号尺寸相同,也就是全连接层上有相同数量的参数。卷积核时域深度不同,卷积层参数的数量也不同,而对于全连接层百万参数,卷积层的差异很微小,网络学习能力相当,参数的微小差异不会影响网络结果。

2. Exploring kernel temporal depth

  通过实验得出depth-3是最好的,卷积核最好的尺寸是3*3*3

3. Spatiotemporal feature learning

Network architecture:

3D ConvNets 有8个卷积层,内核尺寸为3*3*3;5个池化层,第一个池化核尺寸为1*2*2,后面池化核尺寸为2*2*2;2个全连接层,每层有4096个输出单元;1个softmax输出层。

Dataset:

  Sports-1M 数据集,共有1.1million视频,包括487个种类

Training:

  每个视频中提取5个2秒的剪辑,调整大小为128*171,训练中通过对剪辑进行时间和空间上的抖动,随机剪裁到16*112*112大小,并以50%的概率水平翻转。最小的batch size为30,初始学习率为0.003,每迭代150k除以2,迭代1.9M停止优化。

Sports-1M classification results:

  从scratch开始训练的C3D网络产生84.4%的精度,在I380K预训练模型上进行微调的C3D网络精度为85.5%,两种网络模型精度均超过DeepVideo,但C3D仍比[29]中的方法精度低5.6%。然而,这种方法在120帧的长片段上使用深度图像特征的卷积池化,因此它不能直接与在更短的片段上操作的C3D和DeepVideo相比较。

C3D video descriptor:

  video--16帧长的片段,每两个连续片段8帧重叠--C3D网络提取fc6激活--对fc6激活进行平均形成4096维的视频描述符--L2标准化

What does C3D learn?

  C3D首先关注前几帧的外观,并跟踪后续帧中的显著运动。

Action recognition

Dataset:
  UCF101:13, 320 videos of 101 human action categories.
Classification model:
  我们提取C3D特征,并将其输入到一个多类别线性支持向量机中,用于训练模型。实验中采取三种不同的网络:C3D trained on I380K,C3D trained on Sports-1M, and C3D trained on I380K and fine-tuned on Sports-1M.
Baselines:
  目前最好的hand-crafted features, namely improved dense trajectories (iDT)等等......
Results:
 

  简单总结:单项测试结果中等;作者认为有部分网络采取了long clip,因此不具备可比性;联合Imagenet仅有很小的提升;联合iDT结果最佳,C3D相比其他网络有简单的优点
C3D is compact:
  为了估计C3D特征的紧凑度,使用PCA将特征映射到低维空间,记录在UCF101数据集上映射特征的分类精度,实验得到了最佳效果,由此认为C3D特征是紧凑的并且容易区分。

  使用t-SNE将特征映射到2维空间,定性的观察得出C3D特征具备较好的泛化能力,C3D语义可分离,每个视频片段可以视为一个点,属于同一个动作的片段有相同的颜色。

Action Similarity Labeling

Dataset:
  ASLAN:3, 631 videos,432 action classes.任务是验证给定的视频对是否相同
Features:
  将一个视频划分为16帧剪辑且其中8帧是重叠的,提取每个片段C3D特征(pro3,fc7,fc6,pool5),平均每种类型特征得到视频特征,L2标准化
Classification model:
  给定一个视频对,我们计算[21]中的12个不同距离。加上4个特征类别,获取48维特征向量
  由于48个方向并非一一比较,我们分别将其标准化,得到零均值和单位方差
  最终,训练一个线性SVM在48维特征向量上分出视频对相同与否
Results:
取得了最佳表现

Scene and Object Recognition

Datasets:
  YUPENN:420 videos of 14 scene categories  

  Maryland:130 videos of 13 scene categories
Classification model:
  对于这两个数据集,我们使用相同的特性提取和线性支持向量机进行分类。
  我们在所有视频中滑动16帧的窗口来提取C3D特征,选择clip中出现频率最高的label作为clip的ground truth label
  如果最高频率的label出现次数少于8帧,则认为是negative label,在训练和测试期间均丢弃
  用线性SVM来训练和测试C3D特征并记录物体识别率
Results:
取得了最佳表现,说明C3D泛化能力强


Runtime Analysis

 

  对比了C3D 和iDT [44] 以及 Temporal stream network[36] 在UCF101数据集上的运行时间,结论是 超快!!!313帧/秒


 Conclusions

  实验得到卷积核时域深度;相比在各类视频分析任务中表现优异,C3D能同时对外观和运动信息建模
  C3D和线性分类器就能在不同的视频分析基准集上取得最优或接近最优的效果
  在使用中C3D特征高效、简单、紧凑、

Appendix A: Effects of Input Resolution
随着输入分辨率的提高网络参数以及训练时间都会明显增加

Appendix B: Visualization of C3D Learned Features
通过逆卷积可视化卷积过程,随机选择来自UCF101的20K clips
结果表明:前面的卷积层学习一些“低级”运动模式,如移动的边缘,斑点,短的变化,边缘方向变化,或颜色变化
更深的卷积层学习一些更大的运动模式,如转角,纹理,身体部位和轨迹
最深的卷积层学习更复杂的运动模式,如移动的圆形物体,像自行车一样的运动

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值