目录
2 Graph Convolutional Network(GCN)
摘要
本周阅读的论文题目是《Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition》(《基于骨骼动作识别的时空图卷积网络》)。本文中提出了一种动态骨骼新模型ST-GCN,它通过图卷积网络自动从数据中学习空间和时间模式,适用于不同关节数量和连接情况的数据集,克服了传统的骨骼建模依赖于手工制作的部件或遍历规则方法的局限性。ST-GCN引入分区策略,通过建立多个反应不同运动状态的邻接矩阵,不仅导致更强的表达能力,还增强了泛化能力。此外,ST-GCN可以捕获动态骨架序列中的运动信息,这是对RGB模态的补充。ST-GCN基于骨架模型和基于框架模型的结合进一步提高了动作识别的性能。
Abstract
The paper I read this week is titled "Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition." In this paper, a new dynamic skeletal model, ST-GCN, is proposed, which automatically learns spatial and temporal patterns from data through graph convolutional networks, and is suitable for datasets with different number of joints and connections, overcoming the limitations of traditional skeletal modeling that relies on hand-made parts or traversal rule methods. ST-GCN introduces a partitioning strategy, which not only leads to stronger expression ability, but also enhances generalization ability by establishing multiple adjacency matrices that reflect different motion states. In addition, ST-GCN can capture motion information in dynamic skeleton sequences, which is complementary to RGB modalities. The combination of ST-GCN's skeleton-based model and frame-based model further improves the performance of action recognition.
1 引言
动态骨骼形态可以用人类关节位置的时间序列来表示,以2D或3D坐标的形式。然后,通过分析人类的运动模式,可以识别人类的行为。早期使用骨骼进行动作识别的方法简单地利用单个时间步的关节坐标形成特征向量,并对其进行时间分析,这些方法的能力是有限的,因为它们没有明确地利用关节之间的空间关系,这是理解人类行为的关键。现有的方法大多依赖于手工制作的部件或规则来分析空间模式。因此,针对特定应用设计的模型很难推广到其他应用。
从而,本文设想通过神经网络解决自动问题,为了超越这些限制,我们需要一种新的方法,能够自动捕获嵌入关节空间配置中的模式以及它们的时间动态。然而,骨架是图形形式的,而不是2D或3D网格,这使得使用卷积网络等经过验证的模型变得困难。然而图神经网络能够解决卷积对象非图像问题。图卷积神经网络(GCN)是一种将卷积神经网络(CNN)推广到任意结构图的方法,但需要固定的图作为输入。
由此,本文中提出了一种通过扩展图神经网络到时空图模型,即时空图卷积网络(ST-GCN)来设计用于动作识别的骨架序列的通用表示。如下图所示,为ST-GCN的骨骼序列空间时间图,蓝色点表示身体关节;身体关节之间的体内边(淡蓝色线条)是基于人体中的自然连接定义的;帧间边(淡绿色线条)连接连续帧中相同的关节;关节坐标用作ST-GCN的输入:
ST-GCN基于一系列骨骼图序列构建,其中每个节点对应人体的一个关节。存在两种类型的边,即符合关节自然连接性的空间边和连接连续时间步中相同关节的时间边。在此基础上构建了多层时空图卷积,允许信息在空间和时间维度上集成。
ST-GCN的层次性质消除了手工指定部分分配或遍历规则的需求。这不仅带来了更强的表达能力以及更高的性能,而且也使得它很容易推广到不同的上下文中。在通用的GCN公式基础上,本文还研究了受图像模型启发的新的设计图卷积核的策略。
2 Graph Convolutional Network(GCN)
图卷积网络(Graph Convolutional Network,GCN)是一类专门用于处理图数据的神经网络模型,它将图的拓扑结构与节点特征结合起来,通过图卷积操作来提取节点之间的关系和特征信息。
2.1 图
图的结构一般来说是十分不规则的,可以认为是无限维的一种数据,所以它没有平移不变性。而传统的CNN、RNN是针对有限的,有平移不变性的,然而,每一个节点的周围结构可能都是独一无二的,这种结构的数据,就让传统的CNN、RNN瞬间失效。
如下图,图通过网络层从周围的节点积累信息,可以看出层数越深,图的感受野也就越大:
图是一种强大的数据结构,用于表示实体(节点)及其之间的关系(边):
- 节点:表示图中的实体,通常用(
) 表示,节点的集合为 (
);
- 边(Edge):表示节点之间的关系,通常用(
)表示,边的集合为(
),边可以是有向的或无向的;
- 邻接矩阵:图的数学表示之一,用(
)表示,(
)表示节点(
) 和(
) 之间有边,反之为 0(对于加权图,值为权重);
- 特征矩阵:通常用(
)表示,描述每个节点的特征信息,维度为(
),其中(
)是节点数,(
)是特征维度。
2.2 GCN
下图为具有一阶滤波器的多层GCN:
可以看出,与CNN类似,GCN大致为输入层、图卷积层和输出层。
GCN的输入是图数据,包括邻接矩阵(表示节点之间的连接关系)和节点特征矩阵(表示每个节点的特征向量)。
GCN包含多个图卷积层,每一层都对节点特征进行卷积操作。在图卷积层中,每个节点的特征向量与其邻居节点的特征向量进行聚合和组合,包括:
- 聚合邻居特征:通过邻接矩阵将每个节点的邻居节点特征进行聚合,可以使用矩阵乘法实现,即将邻接矩阵与节点特征矩阵相乘;
- 特征变换和更新:对聚合得到的邻居特征进行线性变换,通常使用全连接层(如线性变换)来处理。然后,应用非线性激活函数(如ReLU)对特征进行激活,以增加模型的非线性能力;
- 聚合结果更新:将特征变换后的结果与节点自身的特征进行融合,可以使用加法或连接操作。
这样,每个节点都能够利用自身特征和邻居节点特征的信息。
然后,最后一个图卷积层的输出可以被用于节点分类、图分类或其他图相关任务。对于节点分类问题,通常在输出层使用 softmax 函数将每个节点的特征向量映射为类别概率分布。
图卷积的核心公式是: