《Action Recognition》-Temporal Segement Network(TSN)
Motivation
TSN网络的主要motivation如下:
-
设计一个有效和高效的视频级框架来训练视频分类,能够捕获长期的时间信息 在Two-stream 网络中的一个显著的问题就是它不能很好的利用long-range的时序信息,因为输入是一帧RGB的图像和图像的堆叠光流信息。而TSN在整个视频进行多帧采样,每个采样都会输出一个预测值,利用到了整个视频的时序信息,建立了video级别的网络。 -
如何在训练样本较少的情况下训练网络 a).跨模态训练 b).regularization c).数据增强
Framework
一段输入视频被均分成K段,在每个片段中随机采样得到RGB图像及其对应的optical flow,分别输入到Spatial Convnet和Temporal Convnet中,将各个模态的每个类别的分数进行融合就得到了各个模态的分数,最后融合各个模态的预测,就得到了最后的类别分数,值得注意的是,各个片段的网络共享权重。在这里,Spatial Convnet和Temporal Convnet采用的都是BN_Inception结构,片段分数的融合采用平均值法。
T
S
N
(
T
1
,
T
2
,
.
.
.
,
T
k
)
=
H
(
G
(
F
(
T
1
;
W
)
,
F
(
T
2
;
W
)
,
.
.
.
,
F
(
T
k
;
W
)
)
)
F
:
卷
积
网
络
层
G
:
分
数
融
合
,
文
章
采
用
e
v
e
n
t
l
y
a
v
e
r
a
g
i
n
g
H
:
S
o
f
t
m
a
x
TSN(T_1,T_2,...,T_k)=H(G(F(T_1;W),F(T_2;W),...,F(T_k;W))) \\ F:卷积网络层 \\ G:分数融合,文章采用evently \quad averaging \\ H:Softmax
TSN(T1?,T2?,...,Tk?)=H(G(F(T1?;W),F(T2?;W),...,F(Tk?;W)))F:卷积网络层G:分数融合,文章采用eventlyaveragingH:Softmax
- 损失函数
L
(
y
,
G
)
=
?
∑
i
=
1
C
y
i
(
G
i
?
log
?
∑
j
=
1
C
exp
?
G
j
)
\mathcal{L}(y, \mathbf{G})=-\sum_{i=1}^{C} y_{i}\left(G_{i}-\log \sum_{j=1}^{C} \exp G_{j}\right)
L(y,G)=?i=1∑C?yi?(Gi??logj=1∑C?expGj?) - 反向传播
?
L
(
y
,
G
)
?
W
=
?
L
?
G
∑
k
=
1
K
?
G
?
F
(
T
k
)
?
F
(
T
k
)
?
W
\frac{\partial \mathcal{L}(y, \mathbf{G})}{\partial \mathbf{W}}=\frac{\partial \mathcal{L}}{\partial \mathbf{G}} \sum_{k=1}^{K} \frac{\partial \mathcal{G}}{\partial \mathcal{F}\left(T_{k}\right)} \frac{\partial \mathcal{F}\left(T_{k}\right)}{\partial \mathbf{W}}
?W?L(y,G)?=?G?L?k=1∑K??F(Tk?)?G??W?F(Tk?)?
网络的训练
Input
除了 RGB 图像和 optical flow 外,作者还尝试了其他类型的输入,如 RGB difference, warped optical flow fileds:
Training
- Cross Modality Pre-training
对于spatial network,可以使用ImageNet进行预训练模型的参数进行初始化,但对于optical flow呢?作者提出了一种跨模态训练的方式来初始化temporal network的参数,简单来讲,首先把光流图像的值线性映射到0至255,然后把spatial network的第一层卷积层的参数在各通道进行平均后复制到temporal network第一层卷积层各通道的参数。 - Regularization Techniques
采用了BN层,但为了防止过拟合,冻结第一个BN层以外的每个BN层的 mean 和 variance parameters ,这是因为optical flow 和RGB图像的激活值的数值分布存在差异。 - Data Augmentation
random cropping and horizontal flipping new:corner cropping and scale-jittering
Result
-
不同输入对比 -
不同backbone的对比 -
主要的提升点对比 -
Compare with SOTA
|