shift-GCN:Skeleton-Based Action Recognition with Shift Graph Convolutional Network
Skeleton-Based Action Recognition with Shift Graph Convolutional Network
CVPR2020
shift-GCN
主要特点:大幅度减少计算成本
背景:GCN-based取得成效,but GCN-based方法缺点:1)计算成本高;2)空间图和时间图感受野都是启发式预定义的,不灵活;although使用增量自适应模块增强空间图的表现力但是仍受到regular GCN的限制。
受到shift-CNN启发,我们提出shift-GCN,使用轻量级的移位操作作为2D卷积的替代,并且可以通过简单地改变移位距离来调整感受野。提出的Shift-GCN由spatial shift GCN和temporal shift GCN两部分组成。
spatial skeleton graph:
对于空间骨架图,作者提出了一种空间移位图操作,将信息从相邻节点转移到当前卷积节点,而不是使用三个具有不同邻接矩阵的GCN来获得足够的感受野。通过将空间移位图操作与点卷积交错,信息在空间维度和通道维度上混合。具体来说,我们提出了两种spatial shift graph operation:
local shift graph operation:
感受野receptive field由身体物理结构指定,不同的节点具有不同数量的邻居,因此分别为每个节点设计了local shift graph operation
缺点:
* 感受野是启发式预定义和局部化的,不适合建模骨骼之间的多样关系
* 由于不同节点的移位操作不同,一些信息被直接丢弃
non-local shift graph operation:为了解决local的两个缺点,每个节点的感受野覆盖整个骨架图并自适应地学习节点之间的关系
temporal skeleton graph:通过在时间维度上连接连续帧来构建。
* naive temporal shift graph operation:感受野是手动设置的。对于时间建模不是最优的:不同层可能需要不同的时间感受野;不同数据集可能需要不同的时间感受野
* adaptive temporal shift graph operation:自适应地调整接收场,效率高
本文工作:
- 提出了两种spatial shift graph operation用于空间骨架图建模:non-local spatial shift graph operation在计算上是有效的,并且取得了很强的性能;
- 提出了两种temporal shift graph operation用于时间骨架图建模:adaptive temporal shift graph operation可以自适应地调整接收场,并且在计算复杂度上优于常规时间模型;
- 在基于骨架的动作识别的三个数据集上,本文提出的shift-GCN算法的计算量比现有的方法少10倍以上。

(二)预备工作
GCN-based skeleton action recognition
* 空间图形卷积:一般将邻接矩阵划分为三个分区:向心组、节点本身、离心组
* 时间图形卷积:使用时间维度上regular 1D卷积作为时间图卷积,内核大小通常为9。
* 缺点是:(1)计算量太大。(2)感受野受限,表达能力受到规则GCN结构的限制。
shift-CNN
输入特征{\bf{F}\in}{\Bbb{R}}^{D_F×D_F×C}其中D_F是特征图大小,C是信道大小。正则卷积核是张量{\bf{K}\in}{\Bbb{R}}^{D_K×D_K×C×C'},D_K是核的大小。

shift convolution是中枢神经系统中规则卷积的有效方法,shift convolution两个运算组成:(1)在不同方向上shift不同的通道;(2)应用点卷积来跨通道交换信息。

另一个优点:感受野的灵活性;可以通过简单的增加移位距离来扩大感受野而不是使用更大的卷积核和增加计算成本。让每个通道的位移值表示一系列向量,移位卷积的感受野可以表示为相反方向上每个移位向量的并集:R=\{-S_1\}∪\{-S_2\}∪···∪\{-S_C\}
(三)shift-GCN
Spatial shift graph convolution
the analogy from CNN to GCN
CNNs中的规则卷积核可以看作是几个点卷积核的融合,每个核在指定的位置上操作。类似地,spatial GCNs中的regular convolution是3个点卷积核的融合,每个核在指定的空间分区上操作。空间分区由3个不同的相邻矩阵指定,分别表示“向心”、“root”、“离心”。

CNNs中的shift convolution包含shift operation和point-wise convolution kernel,其中感受野是由shift操作。因此,移位图卷积应包含移位图操作shift graph operation和点方向卷积point-wise convolution。

local shift graph convolution
感受野用人体物理结构来指定,人体物理结构由骨架数据集预先定义。移位图操作在身体物理结构图的相邻节点之间进行。
不同节点具有不同的邻居数量。设v表示一个节点,B_v=\{B_v^1,B_v^2,···,B_v^n\}表示邻居节点的集合,其中n表示v的邻居节点数,我们将节点v的通道平均划分为个分区n+1。我们让第一部分保留v的特征,其他n个部分分别从B_v^1,B_v^2,···,B_v^n移位。设{\bf{F}}\in{\Bbb{R}}^{N×C}代表单帧特征,\tilde{\bf{F}}\in{\Bbb{R}}^{N×C}代表相应的移位特征。我们对{\bf{F}}的每个节点进行移位操作。\tilde{\bf{F}}_v={\bf{F}}_{(v,:c)}||{\bf{F}}_{(B_v^1,c:2c)}||{\bf{F}}_{(B_v^2,2c:3c)}||···||{\bf{F}}_{(B_v^n,nc:)},其中c=\lfloor\frac{C}{n+1}\rfloor,F的索引采用python表示法。在移位特征中,每个节点从其感受野获取信息。将局部移位图运算与逐点卷积相结合,得到局部移位图卷积。

non-local shift graph convolution
局部移位图卷积两个缺点:因为不同节点有不同数量的邻居,所以一些信息没有被利用;仅考虑局部联系对于骨架动作识别不是最优的。
每个节点的感受野覆盖整个骨架图。每个节点都从其他节点获取信息。不同节点之间的连接强度是相同的,但是人类骨骼的重要性不一样,我们引入自适应非局部移位机制。我们计算移位特征和可学习掩码之间的元素积:\tilde{\bf{F}}_M=\tilde{\bf{F}}\circ{Mask}=\tilde{\bf{F}}\circ{tanh(M)+1}。我们的non-local shift GCN可以跨不同通道中的不同骨架建模各种关系,比regular GCN获得了更好的性能,即使相邻矩阵被设置为可学习的。
Temporal shift graph convolution
Naive temporal shift graph convolution
将通道平均划分为2u+1个分区,通过在时间维度上连接连续的帧来构建的。在移位操作之后,每个帧从其相邻帧获得信息。通过将这种时间移位操作与时间逐点卷积相结合,我们得到了朴素的时间移位图卷积。一般情况下,基于GCN的动作识别中规则时间卷积的核大小为9。与常规时间卷积相比,计算量减少了9倍。
Adaptive temporal shift graph convolution
超参数u手动设置导致两个缺点:不同的层需要不同的时间感受野;不同的数据集需要不同的感受野。泛化能力被限制。给定骨架序列特征{\bf{F}}\in{\Bbb{R}}^{N×T×C},每个通道都有一个可学习的时移参数S_i,我们将时移参数从整数约束放宽到实数。用线性插值法计算非整数位移:\tilde{\bf{F}}_{(v,t,i)}=(1-\lambda)·{\bf{F}}_{(v,\lfloor t+S_i\rfloor,i)}+\lambda·{\bf{F}}_{(v,\lfloor t+S_i\rfloor+1,i)},其中\lambda=S_i-\lfloor S_i\rfloor。可以通过反向传播进行训练。通过将此操作与点卷积相结合,我们得到了自适应的时间移位卷积。与点卷积相比,这种计算代价是可以忽略的。
Spatiotemporal shift GCN
使用相同的主干ST-GCN来构建Spatiotemporal shift GCN。ST-GCN骨干网由一个输入块和9个残差块组成,每个块包含一个规则的空间卷积和一个规则的时间卷积。我们用空间移位操作和空间点卷积来代替规则空间卷积。用时间移位操作和时间逐点卷积来代替常规的时间卷积。
结合shift operation和point-wise convolution有两种模式:Shift-Conv和Shift-Conv-Shift。后者具有更大的感受野,通常可以获得更好的性能。

(四)实验
消融研究:
Spatial shift graph convolution


temporal shift graph convolution


Spatiotemporal shift GCN

与SOTA比较

在这项工作中,我们提出了一种新的shift-GCN用于基于骨架的动作识别,它由spatial shift graph convolution和temporal shift graph convolution组成。我们的non-local spatial shift graph convolution明显优于regular graph convolution,并且计算量小得多。我们的adaptive temporal shift graph convolution能够自适应地调整感受野,并且具有很高的效率。在三个基于骨架的动作识别数据集上,所提出的shift-GCN明显优于当前最先进的方法,计算成本降低了10倍以上。
