Motivation
在视频的时空信息探索中,有使用3D卷积学习时空表征,也有使用2D+1D以及TCN,但是这些方法都需要大量的数据来获得一个满意的结果。
数据稀缺问题是新出现的行动类别的一个常见问题,这阻碍了神经网络学习辨别特征。同一类别中的动作具有多种背景,这需要足够数量的带注释的视频数据来训练深度神经网络。因此作者想采用密集连接和膨胀卷积来扩大感受野,提取时空特征。
方法
作者采用了图像识别任务中一个新颖的DenseNet,采用密集连接来充分利用整个视频的时空信息。将一个视频分为n个片段,使用TSN分别提取空间信息和时间信息,然后使用具有密集连接的块提取特征,最后得到每个片段的预测分数,融合分数得到视频的预测结果。
Dense Dilated Blocks
DenseNet的优点不仅是防止梯度分散,而且减少了参数个数。DenseNet的层往往很窄,比如每层12个过滤器,使得整个网络易于训练和收敛。此外密集的联系有正则化的效果,尤其是在数据量很小时,可以避免过拟合。作者提出的密集扩展框架,不仅可以提高视频动作识别,还可以实现小样本学习。
temporal dense convolution块有L层,每层由三个操作构成:batch normalization、膨胀率为
s
l
=
2
l
s_l=2^l
sl=2l的膨胀卷积和一个ReLU函数。和传统的卷积相比,膨胀卷积可以捕捉long-term依赖,可以给与具有可鉴别信息的片段更大的权重。卷积操作是在两个时间步上应用,t和t-s,因此滤波器也可以表示为
W
=
{
W
(
1
)
,
W
(
2
)
}
W=\{W^{(1)},W^{(2)}\}
W={W(1),W(2)},那么膨胀卷积可以定义为:
x
t
l
=
f
(
W
(
1
)
x
t
−
s
l
−
1
+
W
(
2
)
x
t
l
−
1
+
b
)
x_t^l=f(W^{(1)}x_{t-s}^{l-1}+W^{(2)}x_t^{l-1}+b)
xtl=f(W(1)xt−sl−1+W(2)xtl−1+b) (1)
其中
x
t
l
x_t^l
xtl指的是在t时间步第l层的膨胀卷积结果,b是偏置向量。
dense connection
为了进一步提高,作者考虑在每个块内使用密集连接。将不同层学习的特征连接起来,可以为后续图层的输入提供更多变化。类内表示更容易学习,尤其是在训练数据有限的情况下。
每个TDC块i中的层具有相同的滤波器数量
k
i
k^i
ki,这可以被认为是DenseNet中的增长率。密集连接以通道方式结合所有层,定义每个块
B
i
B^i
Bi在时间步t时刻的输出
S
t
i
S_t^i
Sti为:
S
t
i
=
[
x
t
l
,
x
t
l
−
1
,
.
.
.
,
x
t
0
]
S_t^i=[x_t^l,x_t^{l-1},...,x_t^0]
Sti=[xtl,xtl−1,...,xt0] (2)
S
t
i
S_t^i
Sti将所有输入concat为一个张量。
Transition layer
在块之间加上过渡层,由一个batch normalization和一个1×1卷积组成,1×1卷积实现特征的下采样。
Growth rate
将k视为不同块的增长率,每层在第i块生成
k
i
k^i
ki特征向量,则不同块的滤波器可以写为:
k
i
=
k
i
−
1
×
(
l
−
1
)
+
k
0
k^i=k^{i-1}\times (l-1)+k^0
ki=ki−1×(l−1)+k0 (3)
其中
k
0
k^0
k0表示输入层的通道数,l是每个块的层数。
Dense Dilated Aggregation
作者探索了不同的连接结构来构建密集的扩张网络,设置3个块作为所有聚合的基本结构。下图展示了3种聚合策略,包括添加所有的TDC块、连接块和提取不同块的特征。利用所有块的信息可以提供整个视频的更多知识,而来自更简单网络的块的输出可以给出不同尺度的信息。
Adding layers
首先,作者尝试将所有的输出加在一起,由于不同块的滤波器大小不同,首先使用一个1×1卷积将所有输入对齐,然后相加。
Z
t
=
R
e
L
U
(
V
∑
i
=
0
B
−
1
S
t
i
+
e
)
Z_t=ReLU(V\sum_{i=0}^{B-1}S_t^i+e)
Zt=ReLU(V∑i=0B−1Sti+e) (4)
其中V是权重矩阵,e为偏差,将该模块成为扩展膨胀卷积聚合DDA。
Concatenating layers
为了使感受野更宽,作者又探索连接不同层的输出,最后一层比其他连接方法具有更大范围的通道数。
Z
t
=
R
e
L
U
(
[
S
t
B
−
1
,
s
t
B
−
2
,
.
.
.
,
S
t
0
]
+
e
)
Z_t=ReLU([S_t^{B-1},s_t^{B-2},...,S_t^0]+e)
Zt=ReLU([StB−1,stB−2,...,St0]+e) (5)
该模块成为DDC。
Output features of different blocks
作者提取不同块的输出来执行视频动作的识别。将输出视为片段级别的表征,这有助于对提出的体系结构有更多的了解。这也将在调整超参数时提供有用的信息。作者将每个块的输出特征成为DD1、DD2和DD3。
与提取特征相比,add和concat的方式可能是冗余的,这产生了不必要的信息,不仅使网络更加复杂,而且使其更难在小数据集上收敛。
分类
作者取最后一层softmax层之前的作为所有dense dilated网络的输出,输出特征为n×d,n为片段个数,d为特征维度。使用SVM预测每个片段的class label,最后使用多票数决定视频级的预测结果。
实验
结论
作者提出了一个扩展的基于密集连接的深度网络体系结构,通过在原型学习环境中构建问题来处理小样本动作识别。
1、提出了一个新的神经网络结构,其结合了扩展时间卷积和密集连接层来实现视频行为识别。
2、提出了dilated dense block,其可以从片段级和long-term context里捕获时空信息。