一.基本思想
提出了一种新的 ST-GCN,即时空图卷积网络模型,用于解决基于人体骨架关键点的人类动作识别问题。动作是基于时间关系以及不同部位关键点之间的联系的。考虑到以上因素提出Spatial Temporal的卷积网络。
1.空间上:将骨架之间的关键点作为空间关系的输入(存在着不同点之间邻域大小不定的困难,考虑到用基于Graph的CNN网络模型);
2.时间上:使用视频数据,利用图片之间的时序关系。
如何构成时空图:
1. 在每一帧内部,按照人体的自然骨架连接关系构造空间图;
2. 在相邻两帧的相同关键点连接起来,构成时序边;
3. 所有输入帧中关键点构成节点集(node set),步骤 1、2 中的所有边构成边集(edge set),即构成所需的时空图。
二.传统GCN与本文ST-GCN之间的区别
图卷积网络:
在图像上,卷积操作使用一些固定大小的卷积核(filter/kernel)来扫描输入的图像。如图 3 所示,在每个扫描的中心位置像素附近,抽取一个与权重矩阵大小相同的像素矩阵,将这些像素上的特征向量按空间顺序拼接并与卷积核的参数向量做内积以得到该位置的卷积输出值。在这里,「附近像素」可以定义为像素网格(grid)上的一个邻域(neighborhood)。将图像上的卷积操作推广到任意结构的图结构上时,我们同样可以定义任何一个节点的邻域,与一系列权重矩阵。
GCN(基于图的空间结构构造思路):
GCN是将graph当做图像输入到CNN中。通常graph中,一点的邻域中节点(neighborhood)个数不同,不能确定 1)需要使用的卷积核的参数维度;2)如何排列权重矩阵与邻域内的节点以进行内积运算。在原始的 GCN 文章中,作者提出了将内积操作变为这样一个操作:使用同一个向量与所有邻域内的点上的特征向量计算内积并将结果求均值。这使得: 1)卷积核的参数可以确定为一个固定长度的向量;2)不需要考虑邻域内节点的顺序。这个设计使得 GCN 可以在任意连接关系的图上使用,并在一些任务,如网络分析和半监督学习中取得了较好的性能。
ST-GCN:
传统GCN存在问题:平均操作在骨架动作识别会遇到一个重要问题,即:它无法建模关键点之间相对位置变化的情况。
为了解决这个问题,我们将理解了图像上的卷积操作理解为把中心像素相邻的像素集合(邻域集-neighbor set)按照空间顺序,如从左至右,从上至下,划分为一系列集合。在图像的情形中,每个集合正好包含一个像素。这些集合就构成了邻域集的一个划分(partition)。卷积核的参数只与这个划分中的子集个数以及特征向量长度有关。那么在普通的图结构中,只要定义了某种划分规则(partitioning strategy),我们就也可以参照图像卷积来定义卷积核的参数。
空间划分提出了三种划分策略:
1)Uni-labeling:其与原始 GCN 相同,将节点的 1 邻域划分为一个子集。
2)Distance:将节点为1邻域分为2个子集,一个是节点本身,一个是邻域节点。
3)Spatial configuration:将节点的 1 邻域划分为 3 个子集,第一个子集为节点本身,第二个为空间位置上比本节点更靠近整个骨架重心的邻节点集合,第三个则为更远离重心的邻节点集合。(建立这种划分规则在根据运动分析的研究中对向心运动与离心运动的定义。)
时间划分:
在时间上,由于时序边构成了一个网格,我们可以直接使用类似于时序卷积(temporal convolution)的划分规则。
最终,时空图上使用的划分规则得到的子集集合会是空间划分与时序划分的笛卡尔积。
三、具体内容
1.Skeleton Graph Construction
时间分割+空间分割
空间:
时间:
2.网络结构
,K是卷积核大小
1)p是采样函数:
目的:将结构图的多个邻近点类似于下采样到少个点(?)
2)权重函数:
目的:将(c,K,K)映射到(c,K),改变维度。
3)空间图卷积:
是正则化规则
->
4)时空模型: