我们提出了一种基于动态图的时空注意力(DG-STA)方法用于手势识别。核心思想是从手部骨架构建一个全连接图,通过自注意力机制在空间和时间域中自动学习节点特征和边。我们还提出利用关节位置的时空线索来保证在复杂条件下的识别鲁棒性。此外,我们引入了一种新颖的时空掩码操作,将计算成本降低了99%。通过在DHG-14/28和SHREC’17基准测试上的广泛实验,我们证明了该方法的优越性能。相关代码可以在GitHub上找到。
1. 介绍
手势识别是一个活跃的研究领域,因其在诸如人机交互、游戏以及包括手语识别在内的非语言交流分析中的广泛应用而备受关注。以往的工作可以根据输入模式分为两类:基于图像的方法和基于骨架的方法。基于图像的方法以RGB或RGB-D图像作为输入,并依赖图像级特征进行识别。而基于骨架的方法则通过一系列具有二维或三维坐标的手部关节进行预测。由于这些方法能够在光照条件变化和遮挡的情况下仍然保持鲁棒性,它们得到了广泛的使用。得益于低成本深度摄像头(如Microsoft Kinect或Intel RealSense)的发展以及手部姿势估计的巨大进展,获取手部关节的精确坐标变得容易。因此,我们在本文中采用了基于骨架的方法。
传统的基于骨架的手势识别方法主要致力于设计强大的特征描述符来建模手部动作。然而,这些手工制作的特征具有有限的泛化能力。最近的研究表明,利用深度学习的方法可以取得显著的改进。这些方法通常将关节坐标拼接成一个张量,然后将其输入神经网络,手部特征在训练过程中由网络直接学习。然而,在这些基于深度学习的方法中,手部骨架的空间结构和时间动态并未被显式地利用。
更近的研究尝试基于骨架图融入骨架的结构和动态信息。具体而言,给定一个骨架序列,他们定义了一个时空图,其中嵌入了骨架的结构和动态信息。然后,提取该图的特征表示用于动作识别。然而,预定义的具有固定结构的图无法灵活地捕捉不同动作的变化和动态,在实际中表现较差。
为此,我们提出了一种基于动态图的时空注意力(DG-STA)模型用于手势识别。核心思想是,在空间和时间域中执行自注意力机制,以动态修改统一的图,以便建模不同的动作。图1展示了我们方法的概述。我们的方法有三个重要设计不同于以往的方法。首先,与预定义的固定结构图不同,我们提出构建一个统一的图,图中的边和节点可根据不同的动作动态优化。这使得有可能实现动作特定的图,从而提高表达能力。其次,我们提出了时空位置嵌入,它改进了时间位置嵌入。它编码了图中每个节点的身份和时间顺序信息。将节点特征与其位置嵌入结合起来,可以进一步提高我们方法的性能。第三,为更高效地实现DG-STA,我们引入了一种新颖的时空掩码操作,直接应用于所有节点之间的缩放点积矩阵。该操作显著提高了模型的计算效率,并允许更轻松的数据输入排列。
为了评估我们方法的有效性,我们在两个标准基准上进行了全面实验:DHG-14/28数据集和SHREC’17 Track数据集。结果表明,我们的方法优于当前最先进的方法。总的来说,我们的主要贡献总结如下:
- 我们提出了用于基于骨架的手势识别的动态图时空注意力(DG-STA)。我们的方法可以更高效地自动学习手部骨架的结构和动态信息。
- 我们提出了时空位置嵌入,它编码了节点的身份和时间顺序信息,以提升模型的性能,并提出了时空掩码操作用于高效实现DG-STA。
- 我们通过在两个标准基准上的综合实验验证了我们方法的有效性。提出的DG-STA方法达到了最先进的性能。
2. 相关工作
在本节中,我们回顾了自注意力机制的最新研究以及基于骨架的动作识别的发展,这些研究为我们的方法提供了灵感。
自注意力机制: 自注意力机制在计算机视觉和自然语言处理任务中得到了广泛应用。Vaswani等人提出使用自注意力模块来建模句子中词语间的时间和语义关系,而我们研究了将自注意力机制应用于由图表示的手部骨架中,学习其中包含的时空信息。与学习图节点嵌入的图注意力网络(GATs)不同,我们的方法能够捕捉额外的时间信息以及节点身份。
基于骨架的手势识别: 基于骨架的手势识别是一个经过充分研究但仍具挑战的任务。传统方法主要致力于设计强大的手部特征描述符,如Smedt等人提出的“连接关节形状”描述符。近年来,深度神经网络应用于该任务,取得了显著的性能提升。比如在手势分类中使用卷积神经网络和长短期记忆网络(LSTM)来学习手部关节序列中的时空特征。然而,这些基于学习的方法并没有明确探讨人手的结构和动态。
基于骨架的人类动作识别: 最近的研究开始通过构建骨架图来融合人体的结构和动态信息。Yan等人基于人体的自然结构构建了骨架图,并使用图卷积网络提取其表示用于动作识别。然而,定义一个能够代表所有动作特定结构和动态信息的最佳骨架图是困难的。相比之下,我们的方法可以通过多头注意力机制自动学习多个动作特定的图,能够有效地编码手势的结构和动态信息。
3. 方法论
我们的 approach 如图 1 所示。首先,我们从输入的手部骨架序列中构建一个完全连接的骨架图,如第 3.1 节所述。在第 3.2 节中,我们引入 DG-STA 来学习图中的边权重和节点嵌入。通过 DG-STA 学到的节点特征会被平均汇聚成一个向量,该向量捕捉了骨架图的结构和动态信息,并用于手势分类。在第 3.3 节中,我们引入了空间-时间位置嵌入,将其与节点特征结合,以整合手部骨架中的节点身份和时间顺序信息。此外,第 3.4 节介绍了一种空间-时间掩模操作,使我们的 DG-STA 实现更加高效。
3.1 骨架图初始化
3.4 高效实现
实现所提出的 DG-STA 并不简单,因为输入数据需要以复杂的格式进行排列。然而,我们发现,在没有领域约束的情况下,计算注意力权重和特征是直接的,可以通过矩阵乘法操作高效实现。因此,我们提出了一种新方案来促进 DG-STA 的实现。主要思路是首先计算所有节点之间的缩放点积矩阵,然后对矩阵应用所提出的空间-时间掩模操作,以便模型专注于空间或时间域。
4. 实验
在本节中,我们首先在第 4.1 节描述我们的网络结构。在第 4.2 节中,我们介绍实验中使用的数据集和设置。然后,在第 4.3 节中,我们进行消融研究,以评估我们方法中每个组件的有效性。最后,在第 4.4 节中,我们报告了我们的结果,并与当前最先进的方法进行比较。
4.1 实现细节
我们的网络结构如图 3 所示。我们将空间和时间注意力模型的头数设置为 8。查询、键和值向量的维度 ddd 设置为 32。层归一化(Layer Normalization) [16] 用于归一化网络的中间输出。输入的 3D 手关节坐标被投影为一个 128 维的初始节点特征。然后将其与相应的空间位置嵌入相加并输入空间注意力模型,生成一个 256 维的节点特征。这个节点特征被投影为一个 128 维的向量,并与相应的时间位置嵌入相加。时间注意力模型将其作为输入并生成最终的节点特征。最后,我们对所有节点的特征进行平均池化,得到一个向量,并将其输入到一个全连接层进行分类。
4.2 数据集和设置
我们在 DHG-14/28 数据集 [8] 和 SHREC’17 轨道数据集 [9] 上评估了我们的方法。这两个数据集包含 2800 个视频序列,涵盖了 14 种手势,这些手势在两种配置下进行:使用单根手指或整只手。这两个数据集中的视频均由 Intel Realsense 摄像头拍摄。每帧视频都提供了 22 个手部关节在实际空间中的 3D 坐标,用于网络训练和评估。
网络训练。所提出的 DG-STA 基于 PyTorch 平台实现。使用学习率为 0.001 的 Adam [14] 优化器来训练我们的模型。批处理大小设置为 32,dropout 率 [30] 设置为 0.2。我们从每个视频中均匀采样 8 帧作为输入。为了公平比较,我们通过应用 [9, 21] 中提出的相同操作进行数据增强,包括缩放、平移、时间插值和添加噪声。我们还按照 Smedt 等人 [9] 的方法,通过减去每个骨架序列中第一帧的手掌位置进行对齐。
评估协议。在 DHG-14/28 数据集上,模型使用留一交叉验证策略 [8] 进行评估。具体来说,我们对该数据集中的每个对象进行实验。在每次实验中,选择一个对象进行测试,剩下的 19 个对象用于训练。报告 20 次交叉验证的 14 种手势(不包括单指配置)或 28 种手势(包括单指配置)的平均准确率。对于 SHREC’17 轨道数据集,我们使用 [9] 提供的相同数据划分,并报告 14 种和 28 种手势的准确率。
4.3 消融研究
我们提出的方法包括三个主要组件:全连接骨架图结构(FSG)、时空注意力模型(STA)和时空位置嵌入(STE)。我们在本节中验证这些组件的有效性。结果如表 1 所示。
全连接图结构的评估。我们将所提出的 FSG 与 Yan 等人 [39] 引入的稀疏骨架图结构(SSG)进行了比较,后者在空间边上基于手部关节的自然连接定义,时间边则连接连续帧之间的相同关节。可以看出,我们的模型明显优于基于 SSG 训练的模型。这是因为 SSG 对于某些手势可能是次优的,而 FSG 对模型的限制较少,使其能够学习特定动作的图结构。
时空注意力的评估。如果仅在整个图上应用一个注意力模型而不区分空间和时间域,则所提出的 STA 降级为图注意力(GAT)[35]。我们通过在网络中用一个注意力模型替换空间和时间注意力模型来实现 GAT,并在与我们模型相同的设置下训练它。我们可以观察到,基于 STA 的模型比基于 GAT 的模型表现更好,这证明了 STA 的有效性。
时空位置嵌入的评估。我们通过训练一个不包含 STE 的方法变体来验证所提出的 STE 的有效性。可以看到,我们的模型优于没有 STE 的模型,这证明了 STE 所编码的身份和时间顺序信息的重要性。
4.4 与现有方法的比较
我们分别在 DHG-14/28 数据集 [8] 和 SHREC’17 轨道数据集 [9] 上将我们的方法与最新的前沿方法进行了比较。对比的方法包括传统的手工特征方法 [1, 2, 5, 7, 8, 10, 25, 26],基于深度学习的方法 [9, 13, 21],以及基于图的方法 [39]。结果如表 2 和表 3 所示。值得注意的是,对于 ST-GCN [39],我们按照距离分区设置进行了实现,并使用三层 128 通道的 ST-GCN 进行公平比较。其他基准方法的结果来自 [13]。
我们从 [13] 收集了其他基准方法的结果。
表 3:在 SHREC’17 轨道数据集上的准确率(%)对比。
在 SHREC’17 轨道数据集上的结果。与 DHG-14/28 数据集不同,该数据集中的视频是通过人工标注的手势开始和结束点进行裁剪的 [8],而 SHREC’17 轨道数据集提供的是带有噪声帧的原始捕获视频序列,因此更具挑战性。我们可以看到,我们的方法在 14 手势设置下达到了最先进的性能,并且在 28 手势设置下与 STA-Res-TCN [13] 的性能相当。此外,我们还可以观察到,我们的方法和 ST-GCN [39] 均优于其他未明确利用手部结构和动态的方法。
5 结论
在本文中,我们提出了一种基于图的时空注意力方法用于基于骨架的手势识别。该方法在全连接手部骨架图的空间和时间域中利用了两个注意力模型,学习边权重并提取空间和时间信息以进行手势识别。大量实验证明了我们框架的有效性。我们提出的方法提供了一个通用框架,可以进一步用于其他旨在从基于图的数据中学习时空信息的任务,例如基于骨架的人体动作识别。