【论文精读】基于骨架行为识别—STGCN

作者丨calm-one
编辑丨3D视觉开发者社区

论文链接

摘要

人体骨架动力学为人体动作识别提供了重要的信息。传统的骨骼建模方法通常依赖于手工制作的部件或遍历规则,因此表达能力有限,难以泛化。

在这项工作中,我们提出了一种新的动态骨架模型,称为时空图卷积网络(ST-GCN),它通过自动学习数据中的时空模式,超越了以往方法的局限性。

这种表达方式不仅提高了表达能力而且增强了泛化能力。在两个大型数据集上 Kinetics 和 NTU-RGBD 上,相比于主流方法,它实现实质性改进。

1. 介绍

人体动作识别在视频理解中发挥着重要作用,近年来已成为一个活跃的研究领域。一般来说,人类的行为可以从多种模式中识别出来,比如外观、深度、光流和身体骨骼。

在这些模式中,动态的人类骨骼通常能传达与其他模式互补的重要信息。然而,动态骨架的建模相对较少受到人们的关注。在这项工作中,我们系统地研究了这一模式,旨在开发一种有原则和有效的方法来建模动态骨架,并利用它们进行动作识别。

动态骨架形态可以自然地用人体关节位置的时间序列表示,可以是二维坐标或三维坐标。然后通过分析人体动作模式来识别人体动作。早期使用骨骼进行动作识别的方法只是简单地利用单个时间步长的关节坐标来形成特征向量,并对其进行时间分析(Wang et al. 2012;Fernando等人,2015)。

这些方法的能力是有限的,因为它们没有明确地利用关节之间的空间关系,这对理解是至关重要的。最近,一些试图利用关节间的自然连接的方法已经被开发出来。这些方法显示了令人鼓舞的改进,这表明了连通性的重要性。然而,现有的大多数方法都依赖于手工制作的部件或规则来分析空间模式。

因此,为特定应用设计的模型很难推广到其他应用。
在这里插入图片描述

文章主要贡献即如图所示,构建骨架序列的时空图,分为自然连接以及帧间相邻关节连接。

为了超出这些限制,我们需要一种新的方法能够自动捕捉关节的空间布局以及时间动态性。这便是神经网络的优势。然而,正如前面提到的,骨架是图形的形式,而不是2D或3D网格,这使得使用卷积网络等经过验证的模型变得困难。

图神经网络(Graph Neural networks, GCNs)是一种将卷积神经网络(convolutional Neural networks, CNNs)推广到任意结构的图的方法,近年来受到越来越多的关注,并成功地应用于图像分类、文本分类和自监督学习等多个领域。然而,这些大多数先进工作沿着固定图作为输入这个假设前提。GCNs在大规模数据集(如人体骨骼序列)上的动态图建模的应用还有待探索。

在本文中,我们提出通过将图神经网络扩展到一个时空图模型,即时空图卷积网络(ST-GCN),设计一种用于动作识别的骨架序列的通用表示。如图1所示,该模型建立在一系列骨架图之上,其中每个节点对应人体的一个关节。边缘有两种类型,即符合关节点自然连通性的空间边缘和跨越连续时间步长的相同关节点连接的时间边缘。在此基础上构建了多层次的时空图卷积,实现了信息在时空维度上的整合。

ST-GCN的层次特性消除了手工制作零件分配或遍历规则的需要。这不仅导致了更强的表达能力和更高的性能(如我们的实验所示),而且也使它更容易推广到不同的环境中。在通用的GCN公式的基础上,我们还研究了新的设计图卷积核的策略,灵感来自于图像模型。

本工作的主要贡献有三个方面:

1)我们提出了ST-GCN,一种用于动态骨架建模的基于图的通用公式,这是第一个将基于图的神经网络应用于该任务的方法。

2)提出了几种设计卷积核的原则满足ST-GCN骨架建模的具体要求。

3)在两个大规模的基于骨骼的动作识别数据集上,与以往使用手工制作部件或遍历规则的方法相比,本文提出的模型获得了更好的性能,在人工设计上花费的精力大大减少。

2. 相关工作

2.1 图上的神经网络

将神经网络推广到图结构中是目前神经网络研究中一个新兴课题,这些神经网络主要包含循环神经网络和卷积神经网络。这项工作更多的与卷积神经网络和图卷积神经网络有关。

在图上构造GCNs的原理一般遵循两条流程:

1)谱视角,以谱分析的形式考虑图卷积的局部性;

2)空间视角,卷积滤波器直接应用于图节点及其邻居。本文工作遵循第二种方式。我们在空间域上构造CNN滤波器,将每个滤波器的应用限制为每个节点的1个邻居。

2.2 基于骨架行为识别

人体骨骼和关节轨迹对光照变化和场景变化具有鲁棒性,且深度传感器或姿态估计算法精度高,易于获取。因此,有一种广泛的基于骨架的动作识别方法。这些方法可以分为基于特征的手工方法和深度学习方法。第一种方法设计了几个手工制作的特征来捕捉关节运动的动力学。

这些可能是关节轨迹的协方差矩阵,关节的相对位置,或身体部位之间的旋转和平移。近年来,随着深度学习的成功,基于深度学习的骨架建模方法迅速兴起。这些工作都使用了循环神经网络和时序卷积神经网络进行端到端的行为识别模型学习。

在这些方法中,许多都强调了人体部分关节建模的重要性。但是这些部分通常是使用领域知识明确分配的。我们的ST-GCN是第一个将图形cnn应用到基于骨骼的动作识别任务中。

与以往的方法不同的是,它利用图卷积的局部性和时间动态特性来隐式地学习零件信息。通过消除手工零件分配的需要,模型更容易设计,并有效地学习更好的动作表示。

3. 时空图卷积

在进行活动时,人类的关节以小的局部群体运动,被称为“身体部位”。现有的基于骨骼的动作识别方法验证了在建模过程中引入人体部位的有效性。我们认为,这种改进很大程度上是由于与整个骨骼相比,部分限制了“局部区域”内关节轨迹的建模,从而形成了骨骼序列的层次表示。

在图像目标识别等任务中,卷积神经网络的层次表示和局部性通常是通过卷积神经网络的固有特性来实现的,而不是手动分配对象部件。这促使我们将cnn的极好的属性引入到基于骨骼的动作识别中。这一尝试的结果是ST-GCN模型。

3.1 全流程

在这里插入图片描述
基于骨架的数据可以从动作捕捉设备中获得,也可以从视频中获得姿态估计算法。通常数据是一组帧的序列,每一帧都有一组关节坐标。身体关节坐标被以2D或者3D形式被给出。我们构建了一个以关节为图节点,以人体结构和时间的自然连接为图边的时空图。

因此,ST-GCN的输入是图节点上的关节坐标向量。这可以被认为是一种基于图像的cnn的模拟,其中输入是由驻留在二维图像网格上的像素强度向量构成的。对输入数据进行多层次的时空图卷积运算,在图上生成更高层次的特征图。然后由标准SoftMax分类器对其进行分类。

3.2 骨架图构建

骨骼序列通常用人体每个关节在每一帧中的2D或3D坐标表示。之前使用卷积进行骨骼动作识别的工作连接所有关节的坐标向量,形成每帧单个特征向量。

在我们的工作中,我们利用空间时间图形成层次表示的骨架序列。特别地,我们构造了一个无向时空图G=(V, E)具有N个关节的骨架序列,T帧具有体内连接和帧间连接。

ST-GCN的输入是包含坐标的特征向量以及估计置信度。骨架序列图的构建:首先是根据人体结构的自然连接然后是连续帧间的相同关节连接,因此生成两种边:骨骼间连接和帧间连接。

3.3 空间图卷积神经网络

在这里插入图片描述
公式1中, p p p是采样函数, w w w是权重函数, x x x是位置点。

直接理解成关于位置点的输出表示即本身点与邻居点的特征加权求和,类似于CNN。

采样函数
在这里插入图片描述

v t i 的 直 接 邻 居 v t j v_{ti}的直接邻居v_{tj} vtivtj

权重函数
在这里插入图片描述

邻居节点 v t j v_{tj} vtj经过 l t i l_{ti} lti的映射即划分到固定的K个邻居子集中,就是图中的邻居节点是变化的,为了像CNN一样,便将邻居分为K个邻居子集,这些子集是固定的,因此邻居节点是变化的也没有关系。

空间图卷积
在这里插入图片描述

在邻居子集中,采样邻居特征图乘以相应权重再除以对应邻居子集的基数,这个基数即取平均。

时空建模

在这里插入图片描述

时间维度上的邻居节点定义。

在这里插入图片描述

对于时空图节点的标签映射函数定义,第一项是空间维度上的定义,第二项是时间维度上的定义。

3.4 分区策略

这里是标签映射函数的定义,本文讨论了几种标签映射策略,即使用固定尺寸的核权重用于聚合邻居节点特征。
在这里插入图片描述
唯一标签

最简单和最直接的分区策略是有一个子集,也就是整个邻居集包含本身。在该策略中,每个相邻节点上的特征向量都会和相同权向量作内积运算。个人理解就是所有节点的重要性都一样,就是将节点特征向量乘以权重再平均即可。

距离分区

即根据距离定义子集,距离0为一个子集,距离1为一个子集。

采样函数

三种子集:

根节点自身;

邻居节点中更接近骨架重心的节点;

其他。
在这里插入图片描述

公式表达如图,其中 r i r_{i} ri是节点 i i i在所有帧中相对于重心的平均距离。

3.5 可学习的边界重要性权重

虽然人们在做动作时,关节会成群运动,但一个关节可能出现在身体的多个部位。不同的部位在运动过程中应该有着不同的重要性。在这个意义上,我们在时空图卷积的每一层上增加一个可学习的掩模 M M M

该掩码将基于学习到的每个空间图边缘中的重要性权重,将节点的特征对其相邻节点的贡献进行缩放。经验表明,添加此掩模可以进一步提高ST-GCN的识别性能。为了这个目的,也可以使用依赖于数据的注意力机制。

3.6 实现ST-GCN

基于图的卷积的实现不像2D或3D卷积那样简单。本文详细介绍了ST-GCN在基于骨骼的动作识别中的实现。
在这里插入图片描述

A {\rm A} A是邻接矩阵, I {\rm I} I是单位矩阵, W {\rm W} W是权重矩阵, f i n {\rm f}_{in} fin是输入特征图: ( C , V , T ) (C,V,T) (C,V,T) Λ − 1 2 ( A + I ) Λ − 1 2 \rm \Lambda^{-\frac {1}{2}}(A+I)\Lambda^{-\frac {1}{2}} Λ21(A+I)Λ21是一个归一化的二维邻接矩阵。

在这里插入图片描述

A j {\rm A}_{j} Aj含有注意力矩阵 M {\rm M} M

网络架构和训练

9层结构,前三层通道是64,中间三层是128,后三层是256,同时使用了全局池化得到最后256维的输出,具体细节见论文。

4. 实验

4.1 数据集和评估策略

分别在Kinetic数据集和NTU-RGB+D数据集上进行实验。

4.2 消融实验

主要关于时空图卷积神经网络、分区策略、可学习边界重要性权重三方面的研究。

4.3 和SOTA对比

详细内容见论文实验。

5. 总结

该篇论文通过时空图卷积来提取骨架序列特征,同时指出了基于骨架信息可以捕捉到运动信息从而弥补RGB模态信息

而关于细节的把握,还需要进一步理解与梳理…

版权声明:本文为作者授权转载,由3D视觉开发者社区编辑整理发布,仅做学术分享,未经授权请勿二次传播,版权归原作者所有,若涉及侵权内容请联系删文。

3D视觉开发者社区是由奥比中光给所有开发者打造的分享与交流平台,旨在将3D视觉技术开放给开发者。平台为开发者提供3D视觉领域免费课程、奥比中光独家资源与专业技术支持。

点击加入3D视觉开发者社区,和开发者们一起讨论分享吧~
也可移步微信关注官方公众号 3D视觉开发者社区 ,获取更多干货知识哦!

猜你喜欢

转载自blog.csdn.net/limingmin2020/article/details/125720577
今日推荐