论文翻译:Skeleton-Based Action Recognition with Multi-Stream Adaptive Graph Convolutional Networks

摘要:

抽象图卷积网络(GCNs)将神经网络推广到更一般的非欧几里得结构,在基于骨架的动作识别方面取得了显著的性能。但是,以往基于gc的模型仍然存在一些问题。首先,图形的拓扑被启发式地设置并固定在所有模型层和输入数据上。这可能不适用于GCN模型的层次结构和动作识别任务中的数据多样性。第二,骨架数据的二阶信息,即。骨骼的长度和方向,这对人类行为识别来说,自然是更具信息性和鉴别性的。在这项工作中,我们提出了一种新的多流注意力增强自适应图卷积神经网络(MS-AAGCN)用于基于骨架的动作识别。我们的模型中的图形拓扑可以基于输入数据以端到端方式统一学习或单独学习。这种数据驱动的方法增加了模型构造图的灵活性,并为适应不同的数据样本带来了更多的通用性。此外,本文提出的自适应卷积层进一步增强了时空通道注意模块,使模型更加关注重要的节点、帧和特征。此外,将关节和骨骼的信息以及关节和骨骼的运动信息同时建模在多流框架下,对识别精度有了明显的提高。在NTU-RGBD和kinetics -骨架这两个大型数据集上进行的广泛实验表明,我们的模型的性能超过了使用signi的最先进水平。

动作识别在视频监控、人机交互等应用中发挥了重要作用,得到了广泛的研究。近年来,与传统的RGB视频识别方法相比,基于骨架的动作识别因其对动态环境和复杂背景的适应性强而受到越来越多的关注,早期基于深度学习的骨骼动作识别方法将骨骼数据手工构造为一系列关节坐标向量或者作为一个伪形象将其输入到RNNs或CNNs中生成预测。然而,将骨架数据表示为矢量序列或二维网格并不能完全表达相关节点之间的依赖关系。在非欧几里得空间中,该骨架是自然构造的关节作为顶点,它们在人体中的自然连接作为边缘。以前的方法不能利用骨架数据的图结构,也难以推广到任意形式的骨架。近年来,图卷积网络(GCNs)成功地应用于许多应用中,它将卷积从图像推广到图形对于基于骨架的动作识别任务,Yan等[20]首先使用GCNs对骨架数据建模。它们基于人体关节的自然连接构造空间图,并在连续帧中添加相应关节之间的时间边。提出了一种基于距离的采样函数构造图卷积层,并将其作为基本块构建最终的时空图卷积网络(ST-GCN)。

      然而,ST-GCN[20]的图构造过程存在三个缺点:(1)ST-GCN使用的骨架图是根据人体的自然连通性启发式地预定义的。因此,它不能保证是最优的动作识别任务。例如,两只手之间的关系对于识别像“拍手”和“阅读”这样的类是很重要的。但是,ST-GCN很难捕获两只手之间的依赖关系,因为它们在预定义的基于人体的图中相距很远。神经网络是分层的,不同的层次包含不同层次的语义。然而,ST-GCN中应用的图的拓扑结构是固定在所有层上的,这缺乏对不同层中包含的多层语义建模的灵活性和能力。(3)对于不同动作类的所有样本,单一固定的图结构不一定是最优的。在“擦脸”和“摸头”这类课程中,手和头的联系应该更紧密一些,但在其他一些类中则不是这样,如“跳起来”和“坐下”。这一事实表明,图结构应该是依赖于数据的,但是ST-GCN不支持这一点。为了解决上述问题,本文提出了一种新的自适应图卷积层。它参数化了两种自适应图的图形卷积。一个是全局图,它是通过学习基于数据集中提取的知识的图的邻接矩阵得到的。学习过程中使用了任务型丢失。因此,所得到的图拓扑比以往的基于人体的图更适合于动作识别任务。另一个被称为单个图,其边被建立根据图顶点之间的特征相似度。由于数据样本是不同的,因此模块可以为每个输入捕获唯一的结构。两种图的融合使用了门控机制,可以自适应地调整它们在每个模型层中的重要性。请注意,这两个图是在不同的层中单独优化的,因此它可以更好地适应神经网络的层次结构。总之,这种数据驱动的方法增加了模型构造图的灵活性,带来了更多的通用性,以适应各种数据此外,由于注意机制在许多任务中已经证明了其有效性和必要性,研究基于骨架的动作识别是必要的。从空间的角度来看,某种动作通常与关节的一个关键子集有关,并以其为特征。从时间的角度来看,动作流可以包含多个阶段,其中不同的子阶段或帧对最终识别有不同的重要程度从特征的角度来看,卷积特征图的多个通道包含多个语义层次。每个通道对于不同的动作和数据样本扮演不同的角色。这些观察启发我们设计一个时空通道(STC)注意模块,自适应地重新校准关节、帧和通道的激活对不同的数据样本。该模块插入每个图形卷积层,具有少量的参数,但鼓励性能改进在以前的方法中另一个值得注意的问题是,附加到每个顶点的特征向量只包含关节的2D或3D坐标。我们称之为骨架数据的一阶信息。但是,代表两个关节之间的骨骼特征的二级信息没有被利用。通常情况下,骨骼的长度和方向对于动作识别来说,具有更丰富的信息和更强的辨别能力。在这项工作中,我们制定了骨骼信息作为一个矢量指向从源关节到目标关节。此外,由于光学流场已经演示了一个在时间流中usefulmodality RGB-based动作识别[2],[5],对于骨骼数据,我们建议提取坐标差异两个连续帧之间的关节和骨骼的运动信息来帮助行为的演化建模。最后,关节信息和骨骼信息以及它们的运动信息被集成在一个多流框架中。所有的流使用相同的体系结构和这四个流的sof tmax分数。

为了验证所提出的多流注意力增强自适应图卷积网络(MS-AAGCN)的优越性,我们在NTU-RGBD[9]和KineticsSkeleton[34]两个大数据集上进行了大量实验。我们的模型在基于骨架的动作识别的两个数据集上实现了最先进的性能。我们也将学习到的自适应图形和模型的注意图可视化,并分析四种模式的互补。此外,由于RGB数据包含比骨架更丰富的外观信息,我们提供了一个并提出了骨架导向的裁剪策略来融合两种模式。融合模型在NTU-RGBD数据集的CV和CS基准上分别获得了99%和96%的精度,显著超过了其他方法。

      总的来说,我们的工作主要贡献在四个方面:(1)提出了一种自适应的图卷积网络,以端到端方式自适应地学习图的拓扑,能够更好地适应动作识别任务、GCNs的层次结构和多样化的骨架样本。(2)提出了STC-attention模块,并将其嵌入到图的各个卷积层中,帮助模型学习选择性地聚焦于区分关节。帧和通道。(3)本文首先对骨骼数据的二阶信息(bones)进行表述,并将其与一阶信息(joint)相结合,显著提高了识别性能。我们进一步提取关节和骨骼的运动信息,并将这四种模式整合到一个多流框架中。(4)在两个大数据集上验证了MS-AAGCN对基于骨架的动作识别的有效性。与基线法相比,即STGCN,它获得了+7.9%和显著的改进
在NTU-RGBD数据集的CV和CS基准上分别增加8.5%。通过与骨架裁剪RGB数据的结合,得到了进一步的改进+ 2.8%和+ 6.1%。这个代码是为了将来的工作和方便交流而发布的本文在许多方面是我们以前工作[35]的扩展版本。首先,我们优化了全局图和单个图的组合方案,并引入门控机制自适应调整两个图的重要性。其次,我们提出了一个STC-attention模块,该模块可以有效地帮助模型关注重要的节点、框架和特征。第三,我们将先前的模型扩展到一个多流框架,整合了关节和骨骼的运动模式我们提供了更广泛的实验,更全面的讨论和可视化来证明所提出的模块和数据模式的有效性和必要性。基于这些设计的模型在基于骨架识别的NTU-RGBD数据集的跨视图和跨主题基准上分别提高了+1.1%和+1.5%。最后,我们提出了一种有效的姿态引导裁剪策略,以融合骨架与RGB模式,表现出良好的效果。

     本文的其余部分组织如下。第二节介绍了相关工作。第三节制定基于骨架的动作识别的基本GCNs。我们提议的MS-AAGCN的组成部分在第三节中作了详细介绍。消融研究和与最先进的方法的比较显示在第五节。第六节研究与RGB模式的骨骼数据的融合。第七节提供了一些定量结果和讨论。第七- d节对本文进行了总结。

Skeleton-based行动识别:

      基于骨架的动作识别近年来得到了广泛的研究。在这里,我们只回顾与我们的方法相关的工作。传统的基于骨架的动作识别方法通常采用手工特征设计来对人体[6]、[7]进行建模。例如,Vemulapalli等人[6]在李群中对骨架进行旋转和平移编码。Fernando et al.[7]使用秩池方法用秩的参数表示数据。随着深度学习的发展,数据驱动方法已经成为主流方法,其中使用最广泛的模型是RNNs和CNNs。基于rnnn的方法通常将骨架数据建模为沿时空维度的坐标向量序列,其中每个向量代表人体关节。Du等[8]采用分层双向RNN模型来识别骨骼序列,将人体分割成不同的部分,发送到不同的子网络Song等人[11]在基于lstm的模型中嵌入了一个时空注意模块,使网络能够自动关注骨骼序列的判别时空区域。Zhang等[12]在基于lstm的模型中引入了视图转换机制,自动将骨架数据转换为更有利于动作识别的角度。Si等人[36]提出了一个具有空间推理(SRN)和时间堆栈学习(TSL)的模型,在哪里SRN可以捕获不同身体部位之间的结构信息,TSL可以建模详细的时间动态。

      基于cnn的方法基于人工设计的转换规则将骨架数据建模为伪图像。基于网络神经网络的方法比基于网络神经网络的方法更受欢迎,这是因为网络神经网络具有更好的并行性和更容易训练。Kim等人[15]使用一维残留识别骨骼序列,其中关节的坐标是直接连接的。Liu等[17]提议对10种时空

### Skeleton-Based Action Recognition Research and Techniques In the field of skeleton-based action recognition, researchers have developed various methods to interpret human actions from skeletal data. These approaches leverage deep learning models that can effectively capture spatial-temporal features inherent in sequences of joint positions over time. One prominent technique involves utilizing recurrent neural networks (RNNs), particularly long short-term memory (LSTM) units or gated recurrent units (GRUs). Such architectures are adept at handling sequential information due to their ability to maintain a form of memory across timesteps[^1]. This characteristic makes them suitable for modeling temporal dependencies present within motion capture datasets. Convolutional Neural Networks (CNNs) also play an essential role when applied on graphs representing skeletons as nodes connected by edges denoting limb segments between joints. Graph Convolutional Networks (GCNs) extend traditional CNN operations onto non-Euclidean domains like point clouds or meshes formed around articulated bodies during movement execution phases[^2]. Furthermore, some studies integrate both RNN variants with GCN layers into hybrid frameworks designed specifically for this task domain; these combined structures aim to simultaneously exploit local appearance cues alongside global structural patterns exhibited throughout entire pose configurations captured frame-by-frame via sensors such as Microsoft Kinect devices or other depth cameras capable of tracking multiple individuals performing diverse activities indoors under varying lighting conditions without requiring any wearable markers attached directly onto participants' limbs/skin surfaces. ```python import torch.nn.functional as F from torch_geometric.nn import GCNConv class ST_GCN(torch.nn.Module): def __init__(self, num_features, hidden_channels, class_num): super(ST_GCN, self).__init__() self.conv1 = GCNConv(num_features, hidden_channels) self.fc1 = Linear(hidden_channels, class_num) def forward(self, x, edge_index): h = self.conv1(x, edge_index) h = F.relu(h) h = F.dropout(h, training=self.training) z = self.fc1(h) return F.log_softmax(z, dim=1) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值