Advertisement

【论文学习】ST-GCN:Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition

阅读量:

Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition

AAAI2018
基于skeleton动作识别的时空图卷积网络


一、主要内容:
动态骨骼形态可以自然地表示为人体关节位置的时间序列,以二维或三维坐标的形式表示。图神经网络(GCNs)将卷积神经网络(CNNs)推广到任意结构的图。本文将图神经网络扩展到一个时空图模型,即时空图卷积网络(ST-GCN),设计了一种用于动作识别的骨架序列的通用表示。符合关节自然连通性的空间边和跨连续时间步连接相同关节的时间边。在此基础上构造了多层时空图卷积,使得信息可以沿空间和时间维度进行整合。
本文的主要贡献体现在三个方面:1)提出了一种基于图的神经网络动态骨架建模方法“时空图卷积网络”ST-GCN。2) 针对骨架建模的具体要求,提出了ST-GCN中卷积核的设计原则。3) 在两个大规模的基于骨架的动作识别数据集(动力学和NTU-RGBD)上,该模型与以前使用手工制作零件或遍历规则的方法相比,具有更高的性能,而人工设计的工作量大大减少。

二、相关工作:
1)图卷积网络主要有两种主流方法:
1.基于光谱的观点(spectral perspective)图卷积中的位置信息被看做是以光谱分析的形式。
2.基于空间的观点(spatial perspective)卷积核直接被应用在图节点和他们的邻居节点。
文章采用第二种做法,在空间域构造CNN滤波器,限制每一个滤波只应用到一个节点的一个邻域
2)基于骨架的动作识别:
1.基于手工特征的方法,设计几种手工特征去捕获连接点的运动信息,比如,关节点轨迹的协方差矩阵
2.基于深度学习的方法,循环神经网络,端到端进行动作识别
ST-GCN是第一个将图CNN应用到基于骨架的动作识别任务中。它不同于以往的手工制作的特征捕捉关节运动的动态和递归神经网络端到端学习动作识别模型的方法,可以隐式地利用图卷积的局部位置信息和时序动态信息结合起来。

三、时空卷积网络:
在这里插入图片描述

1)pipeline管道概况:从运动捕捉设备或视频中的姿势估计算法中获得骨架数据,是一个帧序列,每个帧都会有一组关节坐标。ST-GCN的输入是图形节点上的关节坐标向量;对输入数据进行多层时空图卷积运算,并在图上生成更高层次的特征图;被标准的SoftMax分类器分类到相应的动作类别。整个模型采用反向传播方法进行端到端的训练。
2)骨骼图构造:骨骼序列通常由每个帧中每个人体关节的二维或三维坐标表示。我们利用时空图来形成骨架序列的层次表示。我们在具有N个关节和T帧的骨架序列上构造了一个无向时空图G=(V,E)。图中骨架序列中所有关节点作为输入,关节的坐标向量和估计置信度组成特征向量。边包括每个帧的骨架内人体关节自然连接和帧间边缘。
3)空间图卷积神经网络:
给定核大小为K×K的卷积算子和一个通道数为c的输入特征映射f,空间位置x处单个通道的输出值可以写成f_{out}({\bf x})=\sum^K_{h=1}\sum^K_{w=1}f_{in}({\bf p(x},h,w))·{\bf w}(h,w),其中采样函数p(x,h,w)=x+p’(h,w)计算位置x的邻域。权值函数w在c维实空间中提供了一个权值向量用来计算c维输入特征向量的内积。
采样函数:定义在相对于中心位置x的1个相邻像素上的关节节点集。{\bf p}(v_{ti},v_{tj})=v_{tj}·
权重函数:在2D卷积中,邻居像素规则地排列在中心像素周围,因此可以根据空间顺序用规则的卷积核对其进行卷积操作。类比2D卷积,在图中,将sampling function得到的邻居像素划分成不同的子集,每一个子集有一个数字标签,因此有l_{ti}:B(v_{ti})\rightarrow\{0,...,K-1\},将一个邻居节点映射到对应的子集标签,权重方程为{\bf w}(v_{ti},v_{tj})={\bf w}'(l_{ti}(v_{tj}))
空间图卷积:f_{out}(v_{ti})=\sum_{v_{tj}\in B(v_{tj})}\frac{1}{Z_{ti}(v_{tj})}f_{in}({\bf p}(v_{ti},v_{tj}))·{\bf w}(v_{ti},v_{tj}),其中归一化项Z_{ti}(v_{tj})=|\{v_{tk}|l_{ti}(v_{tk})=l_{ti}(v_{tj})\}|,等价于对应子集的基,公式带入上式得到f_{out}(v_{ti})=\sum_{v_{tj}\in B(v_{tj})}\frac{1}{Z_{ti}(v_{tj})}f_{in}(v_{tj})·{\bf w}(l_{ti}(v_{tj}))
时空模型:将空间域的模型扩展到时间域中,得到的sampling function为B(v_{ti})=\{v_{qj}|d(v_{tj},v_{ti})\leq K,|q-t|\leq\left \lfloor \Gamma/2 \right \rfloor\},Γ控制时间域的卷积核大小,weight function为l_{ST}(v_{qj})=l_{ti}(v_{tj})+(q-t+\left \lfloor \Gamma/2 \right \rfloor)×K
4)划分子集方法
(1)唯一划分 Uni-labeling:将节点的1邻域划分为一个
(2)基于距离的划分 Distance partitioning:将节点的1邻域划分为两个子集,D=0表示根节点本身,其余的邻居节点在D=1子集中。

(3)空间构型划分 Spatial configuration partitioning:将节点的1邻域划分为3个子集,第一个子集离心群:连接了空间位置上比根节点更远离整个骨架的邻居节点,第二个子集向心群:连接了更靠近中心的邻居节点,第三个子集为根节点本身,框架中骨架中所有关节的平均坐标被视为其重心。
在这里插入图片描述

5)可学习边缘重要性加权
我们在时空图卷积的每一层上增加一个可学习的掩码M。该掩模根据学习到的每个空间图边的重要性权值来调整节点特征对相邻节点的贡献。实验结果表明,加入该掩模可以进一步提高ST-GCN的识别性能。为此,还可以使用依赖于数据的注意力图。

6)实现ST-GCN
单个框架内关节的内部连接由表示自连接的邻接矩阵A和单位矩阵I表示。在单帧情况下,具有第一个分区策略的ST-GCN:{\bf f}_{out}=\Lambda^{-\frac{1}{2}}(\bf A+\bf I)\Lambda^{-\frac{1}{2}}{\bf f}_{in}W,其中\Lambda^{ii}=\sum_j(A^{ij}+I^{ij}),多个输出通道的权值向量叠加形成加权矩阵W。实际应用时空中,我们将输入特征映射表示为(C,V,T)维的张量。图卷积是通过执行1 × Γ的标准二维卷积来实现的并将得到的张量与第二维上的归一化邻接矩阵\Lambda^{-\frac{1}{2}}(\bf A+\bf I)\Lambda^{-\frac{1}{2}}相乘。对于距离分区和空间配置分区现在邻接矩阵被分解成几个矩阵Aj,{\bf f}_{out}=\sum_j \Lambda_j^{-\frac{1}{2}}{\bf A}_j\Lambda_j^{-\frac{1}{2}}{\bf f}_{in}W_j\Lambda_j^{ii}=\sum_k(A_j^{ik})+\alpha,\alpha=0.001,实现可学习的边缘重要性权重:对于每个邻接矩阵我们将其与一个可学习的权重矩阵M伴随。掩码M被初始化为一个全一矩阵。

网络结构与训练:
输入的数据首先进行batch normalization,然后在经过9个ST-GCN单元,接着是一个global pooling得到每个序列的256维特征向量,最后用SoftMax函数进行分类,得到最后的标签。每一个ST-GCN采用Resnet的结构,前三层的输出有64个通道,中间三层有128个通道,最后三层有256个通道,在每次经过ST-CGN结构后,以0.5的概率随机将特征dropout,第4和第7个时域卷积层的strides设置为2。用SGD训练,学习率为0.01,每10个epochs学习率下降0.1。
在训练Kinetcis数据集时,采用两种策略代替dropout层:1. random moving:在所有帧的骨架序列上应用随机仿射变换,fixed angle、translation、scaling factors。2. 在训练中随机抽取原始骨架序列的片段,并在测试中使用所有帧

四、实验

  1. 实验数据集:
    Kinetics human action dataset 和 NTU-RGB+D

  2. 实验环境:
    8 TITANX GPUs 和 PyTorch

  3. Kinetics:
    300,000个视频序列,400类动作,每个视频持续10秒,unconstraint
    数据处理流程:resize(340*256)–>30fps–>OpenPose–>18个节点的二维坐标+置信度–>(3,T,18,2)
    其中T=300,3表示二维坐标+置信度,18表示节点数目,2表示置信度最高的两个人
    测评指标:top-1和top-5
    240,000个视频训练,20,000个视频验证

  4. NTU-RGB+D
    56,000个视频,60类动作,由40个志愿者完成,constraint
    25个节点,每个节点用三维坐标表示,每个clip最多有2个对象
    测评指标:cross-subject 40320训练 16560测试 cross-view 37920训练 18960测试 top-1

  5. Ablation Study
    在这里插入图片描述

时空图卷积:评估了必要性 。基线模型和ST-GCN模型的主要区别在于卷积操作中的稀疏自然连接和共享权值。基于ST-GCN模型的较好性能可以证明时空图卷积在基于骨架的动作识别中的能力。
划分策略:使用多个子集进行划分通常比单标记要好得多。在多子集分区策略中,空间配置分区的性能更好。
可学习的边重要性加权:ST-GCN模型现在可以学习表达联合重要性和协同识别性能。根据这一观察,与其他最先进的模型相比,我们总是将此组件与STGCN一起使用。
在这里插入图片描述

全部评论 (0)

还没有任何评论哟~