Temporal Shift Module for Efficient Video Understanding速读笔记

(一)Title

Temporal Shift Module for Efficient Video Understanding速读笔记_第1张图片
前言: 这篇文章看了之后,相对于双流,slow fast,时序建模不需要增加额外的计算复杂度,也不需要进行3D卷积。模型部署的成本较低,同时性能较好,真不戳!!!

(二) Keypoints

现有方法存在的问题

3D CNN方法性能好,但是计算量很大,部署成本太高。

解决方法:

Temporal Shift Module for Efficient Video Understanding速读笔记_第2张图片
提出Temporal Shift Module(TSM)模块能够达到3D CNN的性能,同时保持了2D的复杂性。TSM的核心思想是:

  • shift part of the channels along the temporal dimension(沿着时间维度平移部分通道,从而促进邻近帧之间的信息交换)。具体的方法是:在时间维度上,将 1 / 4 1/4 1/4的通道偏移-1,将 1 / 4 1/4 1/4的通道偏移+1,还有 1 / 2 1/2 1/2的通道不偏移。这里的 1 / 4 1/4 1/4只是超参数,在接下来的一层中引入权重来自适应。
  • 可以插入到任何2D CNN中,在2D网络中进行视频的处理。
  • 无需进行额外的时序建模,相当于通过TSM实现了一种轻量级的时序建模。

几乎没有计算成本的增加

(三) Method

视频理解中,activation的形状通常为 [ N , C , T , H , W ] [N,C,T,H,W] [N,C,T,H,W],其中T表示时间维度。

现在考虑一个正常的卷积运算:
1D卷积核 W = ( w 1 , w 2 , w 3 ) W=\left(w_{1}, w_{2}, w_{3}\right) W=(w1,w2,w3),输入 X X X为有限长度的1D向量,卷积输出为 Y Y Y:
Y i = w 1 X i − 1 + w 2 X i + w 3 X i + 1 Y_{i}=w_{1} X_{i-1}+w_{2} X_{i}+w_{3} X_{i+1} Yi=w1Xi1+w2Xi+w3Xi+1
可以将卷积运算分解成两步:

  • 移位,将输入 X X X进行移位 − 1 , 0 , + 1 -1,0,+1 1,0,+1
    X i − 1 = X i − 1 , X i 0 = X i , X i + 1 = x i + 1 X_{i}^{-1}=X_{i-1}, \quad X_{i}^{0}=X_{i}, \quad X_{i}^{+1}=x_{i+1} Xi1=Xi1,Xi0=Xi,Xi+1=xi+1
  • 乘累加,分别成上 w 1 , w 2 , w 3 w_1,w_2,w_3 w1,w2,w3
    Y = w 1 X − 1 + w 2 X 0 + w 3 X + 1 Y=w_{1} X^{-1}+w_{2} X^{0}+w_{3} X^{+1} Y=w1X1+w2X0+w3X+1

没有引入额外的计算。

3.1 Temporal Shift的变体

Temporal Shift Module for Efficient Video Understanding速读笔记_第3张图片

  • In-place shift
  • residual shift

对比之下,residual shift的方式效果更好,作者这里给出的解释是不会损害到空间特征的学习.说实话,真的不好理解,感觉就是实验测试的一个过程。

  • Zero padding
  • circulant padding(导致时间顺序被打乱,消融实验中效果较差)

3.2 TSM 视频模型

  • 帧采样

    采样策略有两种:密集采样dense sampling和交错采样strided sampling。这里采用的采样方式为交错采样。
    具体方法为:首先将整个视频分成N个大小相等的部分,每个部分采样一帧,用于训练和测试。能够覆盖整个视频。

  • TSM处理帧的方式

    分别处理每一帧,并且不对输出逻辑进行平均得到最终的预测。

  • 采用temporal max pooling来降低推理过程中的temporal dimension。得到了TSM-P模型。

你可能感兴趣的:(深度学习)