Two-Stream Adaptive Graph Convolutional Networks for Skeleton-Based Action Recognition
摘要
在基于骨骼的动作识别中,将人体骨骼建模为时空图的图卷积网络 (GCN) 取得了显着的性能。然而,在现有的基于GCN的方法中,图的拓扑结构是手动设置的,并且在所有层和输入样本上都是固定的。这对于动作识别任务中的分层GCN和不同的样本可能不是最优的。此外,对于动作识别,骨骼数据的二阶信息(骨骼的长度和方向)在现有的方法中很少被研究。在这项工作中,我们提出了一种新的双流自适应图卷积网络(2s-AGCN)来基于骨架的动作识别。在我们的模型中,图的拓扑结构可以由BP算法以端到端的方式统一地或单独地学习。这种数据驱动的方法增加了模型构建图的灵活性,并提高了适应各种数据样本的通用性。此外,还提出了一种可以同时建模一阶信息和二阶信息的双流框架,从而显著提高了识别精度。在两个大规模数据集NTU-RGBD和动态骨架上进行的大量实验表明,我们模型的性能以显着的优势超过了最先进的技术。
1 Introduction
基于骨架数据的动作识别方法由于其对动态环境的强适应性和复杂的背景[31,8,6,27,22,29,33,19,20,21,14,13,23,18,17,32,30,34]而被广泛研究并引起了广泛的关注。传统的基于深度学习的方法将骨架手动构建为一系列关节坐标向量 [6, 27, 22, 29,33, 19, 20] 或伪图像 [21, 14, 13, 23, 18] , 17],将其输入 RNN 或 CNN 以生成预测。但是,将骨架数据表示为向量序列或二维网格并不能完全表示相关关节之间的依赖关系。骨架的自然结构为非欧几里得空间中的图形,关节为顶点,它们在人体中的自然连接为边。以前的方法不能利用骨架数据的图结构,很难推广到任意形式的骨架。近年来,图卷积网络(GCNs)将卷积从图像推广到图,已成功地应用于许多应用。对于基于骨架的动作识别任务,Yan等人首先应用GCNs来给骨架数据建模。他们基于人体关节的自然连接构造一个空间图,并在连续的帧中添加相应关节之间的时间边。提出了一种基于距离的采样函数来构造图卷积层,并将其作为构建最终的时空图卷积网络(ST-GCN)的基本模块。
然而,在ST-GCN[32]中构建图的过程有三个缺点:
(1) 在ST-GCN中使用的骨架图是启发式预定义的,只表示人体的物理结构。因此,它不能保证是动作识别任务的最优值。例如,两只手之间的关系对于识别诸如“鼓掌”和“阅读”等类别很重要。然而,ST-GCN很难捕获两只手之间的依赖关系,因为它们在预定义的基于人体的图中彼此相距很远。
(2) GCN 的结构是分层的,其中不同的层包含多级语义信息。 然而,ST-GCN中应用的图的拓扑结构在所有层上都是固定的,缺乏对所有层中包含的多级语义信息进行建模的灵活性和能力;
(3) 对于不同动作类的所有样本,一个固定的图结构可能不是最优的。 对于“擦脸”和“摸头”这样的类,手和头之间的联系应该更强,但对于其他一些类,比如“跳起来”和“坐下”,就不是这样了。 这一事实表明图结构应该是数据相关的,然而,这在 ST-GCN 中是不支持的。
为了解决上述问题,本文提出了一种新的自适应图卷积网络。它对两种类型的图进行参数化,它们的结构与模型的卷积参数共同进行训练和更新。一种类型是全局图,它表示所有数据的公共模式。另一种类型是一个单独的图,它表示每个数据的唯一模式。这两种类型的图都分别针对不同的层进行了优化,这样可以更好地拟合模型的层次结构。这种数据驱动的方法增加了模型构建图的灵活性,并提高了适应各种数据样本的通用性。
ST-GCN中另一个值得注意的问题是,附加在每个顶点上的特征向量只包含关节的二维或三维坐标,这可以看作是骨架数据的一阶信息。然而,表示两个关节之间骨骼特征的二阶信息并没有被利用。通常情况下,骨骼的长度和方向对于动作识别具有更多的信息和鉴别性。为了利用骨架数据的二阶信息,将骨架的长度和方向表示为一个指向从源关节到目标关节的向量。与第一阶信息相似,该向量被输入一个自适应图卷积网络来预测动作标签。此外,还提出了一种融合一阶信息和二阶信息的双流框架,以进一步提高其性能。
为了验证该模型的优越性,即双流自适应图卷积网络(2s-AGCN),我们在NTU-RGBD[27]和动态骨架[12]两个大规模数据集上进行了大量的实验。我们的模型在这两个数据集上都取得了最先进的性能。
我们工作的主要贡献在于三个方面:
(1) 提出了一种自适应图卷积网络,以端到端的方式自适应地学习不同GCN层和骨架样本的图的拓扑结构,可以更好地适应动作识别任务和GCN的层次结构。
(2) 骨架数据的二阶信息使用双流框架显式表达并与一阶信息结合,显着提高了识别性能。
(3) 在用于基于骨架的动作识别的两个大规模数据集上,所提出的 2s-AGCN 大大超过了最先进的方法。
2 相关工作
2.1 基于骨骼的动作识别
传统的基于骨骼的动作识别方法通常是设计手工制作的特征来模拟人体的。然而,这些基于手工制作的基于特征的方法的性能几乎不能令人满意,因为它不能同时考虑所有的因素。随着深度学习的发展,数据驱动的方法已经成为主流的方法,其中最广泛使用的模型是RNN和CNN。基于RNN的方法通常将骨骼数据建模为坐标向量序列,每个序列代表一个人体关节。基于CNN的方法基于手工设计的转换规则将骨架数据建模为伪图像。基于CNN的方法通常比基于RNN的方法更受欢迎,因为CNN具有更好的并行性,并且比RNN更容易训练。
然而,RNN和CNN都不能完全表示骨架数据的结构,因为骨架数据自然地以图的形式嵌入ÿ