ST-GCN论文Spatial Temporal Graph ConvNet部分(中)

Spatial Graph Convolutional Neural Network

一、铺垫回顾

在我们深入研究成熟的ST-GCN之前,我们首先看一下单帧内的图CNN模型。在这种情况下,在时间τ的单帧上,有N个关节节点vt,以及骨架边ES (τ) = {vtivtj |t =τ, (i, j)∈H}。回想一下二维自然图像或特征图上卷积操作的定义,它们都可以被视为二维网格,卷积操作的输出特征图也是一个二维网格。在stride 1和适当的填充的情况下,输出feature maps可以与输入feature maps具有相同的大小,我们将在下面的讨论中假定这种情况。给定一个核大小为K × K的卷积算子和一个通道数为c的input feature map表示为fin,空间位置x上单个通道的输出值可以写成下面这样

其中采样函数p: Z2 × Z2→Z2枚举位置x的邻居。在图像卷积的情况下,它也可以表示为 p(x, h, w) =x + p′(h, w)。权重函数 w : Z2 → Rc 在 c 维实空间中提供了一个权重向量,用于计算与维度 c 的采样输入特征向量的内积。请注意,权重函数与输入位置 x 无关。因此,过滤器权重在输入图像处处处共享。因此,通过在 p(x) 中编码矩形网格来实现图像域上的标准卷积。

然后,通过将上面的公式扩展到输入特征图位于空间图Vt上的情况来定义图上的卷积运算。也就是说,:Vt→Rc中的特征映射ft在图的每个节点上都有一个向量。扩展的下一个步骤是重新定义采样函数 p 和权重函数 w。

二、Sampling function采样函数

在图像上,采样函数p(h, w)定义在相对于中心位置x的相邻像素上。在图上,我们可以类似地定义节点 vti 的邻居集 B(vti) ={vtj |d(vtj , vti) ≤ D} 上的采样函数。这里 d(vtj , vti) 表示从 vtj 到 vti 的任何路径的最小长度。因此采样函数 p : B(vti) → V 可以写成 p(vti, vtj ) = vtj。(2) 在这项工作中,我们对所有情况使用 D = 1,即联合节点的 1-neighbor 集。未来的工作留下了更多的D数量。

三、Weight function权重函数

与采样函数相比,权重函数更容易定义。在 2D 卷积中,刚性网格自然存在于中心位置周围。所以邻居内的像素可以具有固定的空间顺序,然后可以通过根据空间顺序索引 (c, K, K) 维的张量来实现权重函数。对于我们刚刚构建的一般图,没有这样的隐式排列。这个问题的解决方案首先在 (Niepert, Ahmed, and Kutzkov 2016) 中进行了研究,其中顺序由根节点周围的邻居图中的图标记过程定义。我们遵循这个想法来构建我们的权重函数。我们没有给每个邻居节点一个唯一的标签,而是通过将联合节点 vti 的邻居集 B(vti) 划分为固定数量的 K 个子集来简化过程,其中每个子集都有一个数字标签。因此,我们可以得到一个映射lti: B(vti)→{0,…, K−1},将邻域中的一个节点映射到它的子集标签。权函数w(vti, vtj): B(vti)→Rc可以通过索引(c, K)维的张量来实现。

W (vti, VTJ) = W ' (lti(VTJ))。(3)

我们将在第二节讨论几种分区策略

四、Spatial Graph Convolution

通过细化的采样函数和权重函数,我们现在将式1的图卷积重写为

其中归一化项 Zti(vtj ) =| {vtk|lti(vtk) =lti(vtj )} |等于相应子集的基数。添加此项是为了平衡不同子集对输出的贡献。将式 2 和式 3 代入式 4,我们得出

值得注意的是,如果我们将图像视为规则的 2D 网格,这个公式可以类似于标准的 2D 卷积。例如,为了类似于 3 × 3 卷积操作,我们在以像素为中心的 3 × 3 网格中的邻居为 9 像素。然后将邻居集划分为 9 个子集,每个子集都有一个像素。

五、Spatial Temporal Modeling

在构造了空间图CNN之后,我们现在开始对骨架序列的时空动态进行建模。回想一下,在图的构造中,图的时间方面是通过连接跨连续帧的相同关节来构造的。这使我们能够定义一个非常简单的策略,将空间图CNN扩展到时空域。也就是说,我们将邻域的概念扩展到也包括时间连接的节点

参数Γ控制要包含在邻居图中的时间范围,因此可以称为时间内核大小。为了完成对时空图的卷积操作,我们还需要采样函数,这与空间情况相同,以及权重函数,特别是标记映射lST。由于时间轴是有序的,我们直接将标签地图lST修改为以vti为根的时空邻域

其中 lti(vtj ) 是 avti 单帧情况的标签图。通过这种方式,我们对构建的空间时间图进行了明确定义的卷积操作。

六、分区策略

鉴于时空图卷积的高级公式,设计一种分区策略来实现标签映射 l 非常重要。在这项工作中,我们探讨了几种分区策略。为简单起见,我们只在单个框架中讨论这些情况,因为它们可以使用式7自然地扩展到时空域。

Uni-labeling(单标签)。最简单、最直接的分区策略是有子集,即整个邻居集本身。在此策略中,每个相邻节点上的特征向量将具有具有相同权向量的内积。实际上,这种策略类似于(Kipf and Welling 2017)中引入的传播规则。它有一个明显的缺点,即在单帧情况下,使用这种策略等价于计算所有相邻节点的权向量和平均特征向量之间的内积。这对于骨架序列分类来说不是最佳选择,因为局部差异特性可能会在此操作中丢失。形式上,我们有 K = 1 和 lti(vtj ) = 0, ∀i, j ∈ V 。

距离分区。另一种自然分区策略是根据节点的距离 d(·, vti) 到根节点 vti 对邻居集进行分区。在这项工作中,由于我们设置 D = 1,然后将邻居集分成两个子集,其中 d = 0 表示根节点本身,剩余的邻居节点在 d = 1 子集中。因此,我们将有两个不同的权重向量,它们能够对局部微分属性进行建模,例如关节之间的相对平移。形式上,我们有 K = 2 和 lti(vtj ) = d(vtj , vti)。

空间配置分区。由于身体骨架在空间上是局部化的,我们仍然可以在分区过程中利用这种特定的空间配置。我们设计了一种策略,将邻居集分为三个子集:1)根节点本身; 2)激励组:靠近骨架重心的相邻节点比根节点更接近; 3)否则离心组。这里一帧骨架中所有关节的平均坐标被视为其重心。该策略的灵感来自于身体部位的运动可以大致分为同心运动和偏心运动的事实。形式上,我们有

其中ri是训练集中所有帧上从重心到关节的平均距离。三种分区策略的可视化如图 3 所示。我们将根据经验检查所提出的基于骨架的动作识别实验的建议分区策略。预计更高级的分区策略将导致更好的建模能力和识别性能。

图 3:所提出的构建卷积操作的分区策略。从左到右:(a)输入骨架的示例框架。身体关节用蓝点绘制。D = 1 的过滤器的感受野用红色虚线圆圈绘制。(b) 单标签分区策略,其中邻域中的所有节点都具有相同的标签(绿色)。(c) 距离分区。这两个子集是具有距离 0(绿色)和其他距离为 1 的相邻点的根节点本身。 (蓝色)。(d) 空间配置分区。与根节点(绿色)相比,节点根据它们与骨架重心(黑色十字)的距离进行标记。向心节点的距离较短(蓝色),离心节点的距离比根节点长(黄色)

七、可学习边重要性加权。

虽然当人们进行动作时,关节会成群结队地移动,但一个关节可能出现在多个身体部位。然而,这些外观在对这些零件的动力学进行建模时应该具有不同的重要性。从这个意义上说,我们在空间时间图卷积的每一层上添加一个可学习的掩码 M。掩码将根据 ES 中每个空间图边的学习重要性权重来缩放节点特征对其相邻节点的贡献。根据经验,我们发现添加这种掩码可以进一步提高ST-GCN的识别性能。为此,也可以有一个依赖于数据的注意力图。我们把它留给未来的工作。

八、参考

清晰图解,一图看懂图卷积GCN、时空图卷积ST-GCN - 知乎

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值