视频理解综述学习 p2 自用笔记
朱老师的综述论文
主要包括除开Video Transformer以外的主线文章
这部分主要是走出手工光流的一些文章,因为光流的抽取非常的贵,非常的耗时(如果算一张光流需要0.06s,那么在k400数据集上抽取光流对于单张卡需要的时间是50天,占用的空间为500g),且需要用光流进行推理的应用场景要求非常高,0.06s的抽取就已经满足不了实时处理。此时使用3D卷积是符合大众需求的。
理解3D卷积

可以自行理解一下3D网络上的残差连接,和深度可分离卷积等2D卷积的拓展情况。
C3D & I3D
C3D
Learning Spatiotemporal Features with 3D Convolutional Networks - ICCV 2015
提出一个简单的更深的3D卷积,在大的数据集上进行了训练,并得到了好的结果。

在第一层,稍前的pooling时序上一般不做下采样,尽可能保留时间上的信息。
C3D开放了特征抽取的接口,使得更多人使用3D的卷积神经网络返回的视频特征,去做下游任务,是该网络广为被使用的原因。为后续3D卷积的发展做铺垫。
I3D
Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset - CVPR 2017
这两篇文章的迭代经历了2年,由此可见训练3d网络的成本之高。通过bootstrapping的形式,降低3d网络的训练难度。主要通过Inflate的初始化操作,使得3D模型的初始化成本大幅度降低,且能够从ImageNet的2d卷积的与训练模型扩充得来,由此可以把所有的2D网络架构推广Inflate到3D网络。

主要还是Inflation操作和一些3d卷积的训练经验:把2d模型扩充到3d网络,且将2d预训练的网络参数进行复制并减少权值,直接移植到3d的网络上,这样简单膨胀扩充的操作,实际使用效果特别好。将整个视频理解领域从双流带到了3d卷积,且把旧的两个视频分类数据集 UCF101 和 HMDB51 都刷爆了,带到了新的赛道 k400 数据集上。
后续的ResNet -- > ResNet3d,ResNexT--> MFNet, SENet(channel attention) -->STCNet 等等2d到3d的变体,如雨后春笋刷了一波。
Non-local Neural Networks - CVPR 2018
3D网络上引入self-attention去对3d网络的时序信息建模。详细消融实验去证明,在空间,和时间上做自注意力操作都同样重要,对于越长的视频段的建模更有效。且文章使用上了Non local的I3D模型后,甚至比之前使用基于光流的双流I3D模型效果更好!这也给了“舍弃光流”的研究者们信心。

R(2+1)D
A Closer Look at Spatiotemporal Convolutions for Action Recognition - CVPR2018
文章对于视频动作识别任务,将2d和3d网络的架构组合,组合,做了详尽的调查,非常的试验性。实验对比于消融值得一读。
由于只用2d卷积在视频动作识别领域其实效果也很好,而3d太贵,作者希望能换就换简单的。

作者对比实验发现,把全3d卷积拆分成空间上的2d和时间上的1d,最后能得到更好的效果,且训练上也简单了很多。在多个数据集上都得到不错的结果。

先做空间上的纯2d卷积,中间通过一次线性投射后,用1*1*d的卷积去处理时序,这里的线性投射是为了和Res3D进行同模型大小下的性能对比。和GoogleNet的操作有点像啊,先做1*d的卷积后再做d*1的卷积。这里相当于每层多做了一次非线性操作,同时也有直观的解释,3d的卷积是比2+1d的更难训练的。文章给出了一个图简单说明自己的2+1d比纯3d更好训练收敛。
SlowFast
SlowFast Networks for Video Recognition - 2019

使用双流的结构,基于I3d卷积
核心思想是用用双流网络的架构,之一是低帧输入+复杂网络,之二是高帧输入+轻量化网络,且在前面的每个block间做fusion(Lateral connections fuse them)做信息交互。能达到好的精度和一定程度上的轻量化。