SVFormer: Semi-supervised Video Transformer for Action Recognition 阅读笔记

SVFormer: Semi-supervised Video Transformer for Action Recognition 阅读笔记

亮点:

  1. 提出一种新颖的数据增强策略——Tube TokenMix(TTMix)。通过利用具有在时间轴上一致性的masked tokens的mask,将视频段混合。
  2. 提出了一种时间扭曲增强技术——**Temporal Warping Augmentation(TWAug)**去掩盖视频中复杂的时间变化。这个技术使得选定的帧拉伸到视频段中不同的时间持续期间。
  3. 这篇论文的结果很好,尤其是在Kinetics-400数据集上比SOTA(CMPL)涨点31.5%

背景及解决措施

​ 在互联网上,视频逐渐取代了图片和文字,所以有了很多没有标签的数据。监督学习已经靠着标记数据取得了成功,但是标记数据太耗费时间和耗费金钱。为了利用上大规模的无标记数据,所以采用半监督学习做动作识别。

​ 以前的SSL方法是采用图像增强如Mixup或者CutMix来加速收敛,但是这种方法只适用于图像数据,这种方法用于视频会使得网络忽视掉视频数据天然具有的时间信息。所以作者提出了TTMix这种适合Video Transformer的数据增强方法。

​ 之前的时间增强方法,只考虑了时间的缩放或移动,忽视了在人体运动中的各个部分的时间变化。为了帮助模型学习强时间动态,所以作者提出了TWAug。这个方法是对空间增强的补充

​ TWAug和TTMix结合,实现了显著的效果提升

Figure_1

详细方法

模型的训练分成两部分:

  1. 对于有标签数据 { ( x l , y l ) } l = 1 N l \{(x_l,y_l)\}^{N_l}_{l=1} {(xl,yl)}l=1Nl ,这个模型优化下面的监督学习loss函数 L s \mathcal{L_s} Ls
    L S = 1 N L ∑ N L H ( F ( x l ) , y l ) \mathcal{L_S}=\frac{1}{N_L}\sum^{N_L}{\mathcal{H}(\mathcal{F}(x_l),y_l)} LS=NL1NLH(F(xl),yl)

    其中 x l , y l x_l,y_l xl,yl 分别指的是第 l l l 个视频段和其对应的标签。总共有 N l N_l Nl 条标记视频。 H ( ⋅ ) \mathcal{H}(·) H() 指的是标准交叉熵损失函数, F ( ⋅ ) \mathcal{F}(·) F() 指的是模型的预测结果。

  2. 对于无标签数据 x u x_u xu ,采用弱增强(如随机水平翻转、随机缩放、随机剪裁)和强增强(如AutoAugment、Dropout)两种措施生成两种视图 x w = A w e a k ( x u ) ,   x s = A s t r o n g ( x u ) x_w = \mathcal{A_{weak}}(x_u),\ x_s = \mathcal{A_{strong}}(x_u) xw=Aweak(xu), xs=Astrong(xu)。对弱增强视图进行推理得到数据的伪标签 y ^ m = a r g   m a x ( F ( x w ) ) \hat{y}_m = arg\ max(\mathcal{F}(x_w)) y^m=arg max(F(xw)) 。生成的伪标签通过下面的loss函数用于监督强视图。
    L u n = 1 N U ∑ N U I ( m a x ( F ( x w ) ) > δ ) H ( F ( x s ) , y ^ w ) \mathcal{L_{un}} = \frac{1}{N_U} \sum^{N_U}\mathbb{I}(max(\mathcal{F}(x_w)) > \delta)\mathcal{H}(\mathcal{F}(x_s),\hat{y}_w) Lun=NU1NUI(max(F(xw))>δ)H(F(xs),y^w)
    其中 δ \delta δ 是置信阈值, I \mathbb{I} I 是指示函数,最大类概率大于 δ \delta δ 时取1否则取0。这个指示函数用于过滤噪声伪标签。

为了避免模型在训练的时候崩溃,作者采用指数移动平均(EMA)-Teacher模型在FixMatch中。参数更新公式:
θ t ← m θ t + ( 1 − m ) θ s \theta_t \gets m \theta_t + (1-m)\theta_s θtmθt+(1m)θs
其中 m m m时动量系数。 θ t , θ s \theta_t,\theta_s θt,θs 分别是teacher模型的参数和student模型的参数。

Tube TokenMix

Figure_2

Mixing in Videos

参考上面pipeline(pipeline中省略了数据增强的部分)。Mixing in Videos指的是 x a , x b x_a,x_b xa,xb 经过Tube TokenMix 生成 x m i x x_{mix} xmix 的过程。细节如下:

  • 给了两段无标记的视频 x a , x b ∈ R H × W × T x_a,x_b \in \mathbb{R}^{H \times W \times T} xa,xbRH×W×T

  • 利用token级的 M ∈ { 0 , 1 } H × W × T M \in \{0,1\}^{H \times W \times T} M{0,1}H×W×T,进行样本混合。其中H,W是对视频帧进行token化之后的高和宽,T是剪辑长度。这个 M M M就是Tube TokenMix生成的蒙版。

  • 通过下面的式子混合 x a ,   x b x_a,\ x_b xa, xb。其中 ⊙ \odot 指的是 element-wise multiplication,对应元素相乘即Hadamard Product(学到了高级的表达) 1 \mathbf{1} 1 指的是全为1的矩阵。
    x m i x = A s t r o n g ( x a ) ⊙ M + A s t r o n g ( x b ) ⊙ ( 1 − M ) x_{mix} = \mathcal{A_{strong}}(x_a) \odot \mathbf{M} + \mathcal{A_{strong}}(x_b) \odot \mathbf{(1-M)} xmix=Astrong(xa)M+Astrong(xb)(1M)

然后将得到的 x m i x x_{mix} xmix 喂入**student model ** F s \mathcal{F_s} Fs 得到预测标签 y ^ m i x = F ( x m i x ) \hat y_{mix} = \mathcal{F}(x_{mix}) y^mix=F(xmix)

先对 x a ,   x b x_a,\ x_b xa, xb进行弱增强,然后喂到Teacher model中通过如下过程产生伪标签 y ^ a ,   y ^ b \hat y_a, \ \hat{y}_b y^a, y^b:
y ^ a = a r g   m a x ( F t ( A w e a k ( x a ) ) ) y ^ b = a r g   m a x ( F t ( A w e a k ( x b ) ) ) \hat{y}_a = arg\ max(\mathcal{F_t}(\mathcal{A_{weak}}(x_a))) \\ \hat{y}_b = arg\ max(\mathcal{F_t}(\mathcal{A_{weak}}(x_b))) y^a=arg max(Ft(Aweak(xa)))y^b=arg max(Ft(Aweak(xb)))
注意如果 $max(\mathcal{F_t}(\mathcal{A_{weak}}(x))) < \delta $ 则 y ^ \hat y y^ 就是 F t ( A w e a k ( x ) ) \mathcal{F_t}(\mathcal{A_{weak}}(x)) Ft(Aweak(x)) (这里对应了pipeline中的虚线。)

x m i x x_{mix} xmix的伪标签通过下面的方程生成
y ^ m i x = λ ⋅ y ^ a + ( 1 − λ ) ⋅ y ^ b \hat{y}_{mix} = \lambda·\hat{y}_a + (1-\lambda)·\hat{y}_b y^mix=λy^a+(1λ)y^b
这个方程是参考Mixup方法提出的。

首先常用于生成带有高质量伪标签的数据的数据增强方法是Mixup。通过对样本-标签对进行如下的凸组合的方式生成新的数据。
x ^ = λ ⋅ x 1 + ( 1 − λ ) ⋅ x 2 , y ^ = λ ⋅ y 1 + ( 1 − λ ) ⋅ y 2 , \hat{x} = \lambda·x_1 + (1-\lambda)·x_2, \\ \hat{y} = \lambda·y_1 + (1-\lambda)·y_2, x^=λx1+(1λ)x2,y^=λy1+(1λ)y2,
其中 λ \lambda λ 符合 β \beta β分布。

Figure_3
Figure_6
这里为了可视化,所以在图像级展示了各种混合方法的效果。

  • Mixup是两幅图像像素加权融合。
  • CutMix是随机剪切图像块状融合。
  • PixMix是像素级的融合,像素值不是选a的帧就是选b的帧。
  • FrameTokenMix是在时间轴上,从视频段a中选择帧替换掉视频段b中对应时间的帧从而形成新的视频段。
  • RandTokenMix是在每个a,b对应的帧上,使用PixMix,然后在生成新的视频段上的不同帧的过程中用的mask每次都不同。
  • TubeTokenMix跟RandTokenMix的区别就是,不同时间上的帧融合用的mask相同。

最后student model通过下面的一致性损失函数进行优化:
L m i x = 1 N m ∑ N m ( y ^ m i x − y m i x ) 2 \mathcal{L}_{mix} = \frac{1}{N_m}\sum^{N_m}(\hat{y}_{mix} - y_{mix})^2 Lmix=Nm1Nm(y^mixymix)2
其中 N m N_m Nm 是混合样本 x m i x x_{mix} xmix的数目。

对于TTMix的一致性损失算法如下:
Algorithm_1

Temporal Warping Augmentation(TWAug)

这部分的作用是,能够把一帧拉伸到不同的时间长度,这样做是为了给数据引入更多的随机性。
Figure_5

给定一个T帧的视频如上图,随机决定是保存全部的帧,或者保存小部分帧。对于保存部分帧的情况,会随机填充邻近的可见帧。作者说TWAug可以帮助模型在训练过程中学习灵活的时间动态
Figure_4
如上图所示,作者采用了常规增强(对Clip x a x_a xa 的处理)和TWAug(对Clip x b x_b xb 的处理)两种方式分别处理两个输入,然后再经过TTMix进行混合。

训练过程

训练分为三部分:

  1. 监督学习
    L S = 1 N L ∑ N L H ( F ( x l ) , y l ) \mathcal{L_S}=\frac{1}{N_L}\sum^{N_L}{\mathcal{H}(\mathcal{F}(x_l),y_l)} LS=NL1NLH(F(xl),yl)

  2. 无监督伪标签一致性损失
    L u n = 1 N U ∑ N U I ( m a x ( F ( x w ) ) > δ ) H ( F ( x s ) , y ^ w ) \mathcal{L_{un}} = \frac{1}{N_U} \sum^{N_U}\mathbb{I}(max(\mathcal{F}(x_w)) > \delta)\mathcal{H}(\mathcal{F}(x_s),\hat{y}_w) Lun=NU1NUI(max(F(xw))>δ)H(F(xs),y^w)

  3. TTMix一致性损失
    L m i x = 1 N m ∑ N m ( y ^ m i x − y m i x ) 2 \mathcal{L}_{mix} = \frac{1}{N_m}\sum^{N_m}(\hat{y}_{mix} - y_{mix})^2 Lmix=Nm1Nm(y^mixymix)2

最后损失函数如下:
L a l l = L s + γ 1 L u n + γ 2 L m i x \mathcal{L_{all}} = \mathcal{L_s} + \gamma_1\mathcal{L_{un}}+\gamma_2\mathcal{L_{mix}} Lall=Ls+γ1Lun+γ2Lmix
其中 γ 1 ,   γ 2 \gamma_1,\ \gamma_2 γ1, γ2 是用于平衡损失的超参数。

实验结果

  • Baseline是TimeSformer
  • 8或16个GPU(具体型号没找到)

  • 数据集

    • Kinetics-400
    • UCF-101

与SOTA方法比较

Table_1
Table_2

SSL 框架选择

Table_3

TokenMix 效果比较

Table_4

时间、空间变换增强有效性效果

Table_5

不同推理方案的有效性效果

Table_6

超参数对结果的影响

Figure_7

  • 25
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值