基于骨骼的动作识别:DD-Net

Make Skeleton-based Action Recognition Model Smaller, Faster and Better论文解读

  • 概述
  • 1. 简介
  • 2. related works
  • 3. 方法
    • 2.1 基于关节的位置视点不变特征建模集合的距离(Joint Collection Distances (JCD))
    • 2.2 用双尺度建模全局尺度不变运动运动特性
    • 2.3 基于嵌入的关节关联建模
  • 3. 实验
    • 3.1 实验数据集
    • 3.2 评价设置
    • 3.3 结果分析与讨论

论文链接:https://arxiv.org/pdf/1907.09658.pdf
论文代码(Keras 版本):https://github.com/fandulu/DD-Net
论文代码(PyTorch版本):https://github.com/BlurryLight/DD-Net-Pytorch
论文出处:CVPR2020

概述

  • 虽然近年来基于骨骼的动作识别取得了很大的成功,但现有的大多数方法存在模型尺寸大、执行速度慢的问题。
  • 为了缓解这一问题,我们分析了骨骼序列的特性,提出了一种基于骨骼的动作识别的双特征双运动网络(Double-feature Double-motion Network,DD-Net)。
  • 通过轻量级的网络结构(即15万参数),DD-Net可以达到一个GPU 3500帧/秒,一个CPU 2000帧/秒的超快速度。通过使用健壮的特征,DD-Net在我们的实验数据集SHREC(例如,手动作)和JHMDB(例如,身体动作)上实现了最先进的性能。

1. 简介

  • 基于骨骼的动作识别已广泛应用于多媒体应用,如人机交互人类行为理解医疗辅助应用。
  • 然而,现有的大多数方法都存在模型过大和执行速度慢的问题。
  • 在实际应用中,一个理想的基于骨骼的动作识别模型应该通过使用一些参数来高效运行,并且能够适应各种应用场景(例如,手/身体,2D/3D骨骼,以及与全局轨迹相关/不相关的动作)。
  • 为了实现这一目标,我们研究了骨架序列的性质,提出了一个轻量级的双特征双运动网络(DDNet),它配备了一个关节集合距离(Joint Collection Distances,JCD)特征双尺度全局运动特征
  • 更具体地说,我们研究了四种类型的骨骼序列属性(见图1):(a)位置视点变化:
    基于骨骼的动作识别:DD-Net_第1张图片
    (b)运动尺度变化:
    基于骨骼的动作识别:DD-Net_第2张图片
    ©与全局轨迹相关/不相关:
    基于骨骼的动作识别:DD-Net_第3张图片
    (d)不相关的关节指数:
    基于骨骼的动作识别:DD-Net_第4张图片
  • 为了解决这些特性所带来的挑战,以往的工作可能倾向于提出复杂的神经网络模型,而这些模型的规模很大。
  • 相反,我们通过简化输入特征和网络结构来解决这些挑战。我们的JCD特征包含了骨架序列的位置-视点不变信息。
  • 与其他相似特征相比,该特征具有计算简单、包含元素少的特点。由于全局运动不能整合到位置视点不变特征中,我们引入了一个两尺度的全局运动特征来提高DD-Net的泛化能力。此外,它的双标度结构使其对运动标度方差具有鲁棒性。
  • 通过嵌入(embedding)过程,DD-Net自动学习关节的适当相关性,这是很难通过关节指标来预先定义的。
  • 与依赖复杂模型结构的方法相比,DD-Net提供了更高的动作识别精度,并在我们的经验数据集上证明了其通用性。在计算复杂度和参数数量方面,DD-Net具有较高的效率,足以应用于实际应用中。

2. related works

  • 如今,随着深度学习的快速发展,骨骼获取不再局限于运动捕捉系统和深度相机。例如,RGB数据可用于实时的推断2D骨架或3D骨骼。此外,WiFi信号也可以用来估计骨架数据。这些成就使得基于骨骼的动作识别可以在大量的多媒体资源中使用,从而促进了模型的发展。
  • 总的来说,为了在基于骨骼的动作识别中获得更好的性能,以往的研究试图在两个方面进行工作:(1)引入骨骼序列的新特征(2)以及提出新的神经网络结构
  • 一个好的骨架序列表示应该包含全局的运动信息,并且是位置-视点不变的。然而,要在一个特性中满足这两种需求是很有挑战性的。一些研究集中在整体运动上,没有考虑其特征的位置视点变化。另一些研究则相反,引入了不考虑全局运动的位置-视点不变特征。我们的工作通过无缝地将位置-视点不变特征和两尺度的全局运动特征结合在一起,弥补了他们之间的差距。
  • 尽管循环神经网络通常用于基于骨骼的动作识别,我们认为并行计算比较慢,比较困难,使用卷积神经网络。由于我们把模型速度作为我们的重点之一,我们利用一维cnn来构建DDNet的骨干网。

3. 方法

  • DDNet如图2所示:
    基于骨骼的动作识别:DD-Net_第5张图片

2.1 基于关节的位置视点不变特征建模集合的距离(Joint Collection Distances (JCD))

  • 对于基于骨骼的动作识别,常用的输入特征有两种:几何特征和笛卡尔坐标特征

  • 笛卡尔坐标特征随位置和视点而变化。如图1(a)所示,当骨架被旋转或移动时,笛卡尔坐标特征会发生显著变化。另一方面,几何特征(如角度/距离)是位置-视点不变的,因此它被用于基于骨骼的动作识别已有一段时间。但是,现有的几何特征可能需要从一个数据集到另一个包含冗余元素数据集进行重设计。为了缓解这些问题,我们引入了联合收集距离(Joint Collection distance, JCD)特性。

  • 我们计算一对集体关节之间的欧几里德距离以获得对称矩阵。为了减少冗余,只使用不含对角部分的下三角矩阵作为JCD特征(见图3)。
    基于骨骼的动作识别:DD-Net_第6张图片

  • 更详细地说,我们假设总的帧数是K(K = 32为默认设置),一个主体共有N个关节。在坐标系k处,关节n的三维笛卡尔坐标表示为Jik = (x;y;z),而二维笛卡尔坐标表示为Jik = (x;y).把所有的关节放在一起,我们就得到了一个关节集合
    在这里插入图片描述

  • The formula for calculating the JCD feature of Sk is
    基于骨骼的动作识别:DD-Net_第7张图片

  • 在我们的处理过程中,JCD特征被扁平化为一维向量,作为我们模型的输入。被压平的JCD的尺寸为
    在这里插入图片描述

2.2 用双尺度建模全局尺度不变运动运动特性

  • 虽然JCD特征是位置视点不变的,但与其他几何特征一样,它不包含全局运动信息。当动作与全局轨迹相关联时(见图1 ©),仅使用JCD特性是不够的。
  • 不像以前的作品只使用几何特征或笛卡尔坐标特征,我们的DD-Net无缝地集成了它们。
  • 我们计算的时间差异(即,速度)利用笛卡尔坐标特征获取全局运动,具有位置不变性。然而,对于同样的运动,全局运动的规模可能不完全相同。有些可能更快,有些可能更慢(见图1 (b))。
  • 为了学习鲁棒的全局运动特征,需要同时考虑快速和缓慢运动。将这种直觉赋予DD-Net,我们采用了一个快速全局运动和一个慢全局运动来形成一个两尺度的全局运动特征。
  • 这个想法的灵感来自于为基于rgb的动作识别而提出的双尺度光流;
  • 从技术上讲,双尺度运动可以由下面的方程产生
    在这里插入图片描述
    在这里插入图片描述
  • 这样一个过程可以在我们的DD-Net中完成,而且只有需要笛卡尔坐标特征作为输入。

2.3 基于嵌入的关节关联建模

  • 从图1 (d)可以看出,关节指标(即头部、左手和右手的id等)局部不相关。此外,在不同的动作中,关节的相关性是动态变化的。因此,当我们试图通过手工排序关节的指数来预先定义关节的相关性时,就出现了困难。
  • 由于大多数神经网络固有地假设输入是局部相关的,直接处理局部不相关的关节特征是不合适的。
  • 为了解决这个问题,我们DD-Net将JCD特征和双尺度运动特征嵌入到每一帧的潜向量中。通过嵌入,自动学习关节的相关性。另一个优点是,嵌入过程也降低了骨架噪声的影响。
  • 嵌入表示如下:
    基于骨骼的动作识别:DD-Net_第8张图片
    Embed1定义为Conv1D(1, 2 ∗ filters)→Conv1D(3,filters)→Conv1D(1, filters);
    Embed1定义为Conv1D(1; 2 ∗ filters)→ Conv1D(3; filters) →Conv1D(1; filters)→ Maxpooling(2);
  • DD-Net进一步连接嵌入的特征,表示为:
    在这里插入图片描述
  • 嵌入过程完成后,后续过程不受联合指标的影响,因此DD-Net可以利用1D ConvNet学习时间信息,如图2所示。

3. 实验

3.1 实验数据集

  • 我们选择了两个基于骨骼的动作识别数据集,分别为SHREC数据集和JHMDB数据集,来评估我们的不同角度的DD-Net。
    基于骨骼的动作识别:DD-Net_第9张图片
  • 虽然其他信息(如RGB数据)是可用的,但在我们的实验中只使用骨架信息。三维骨架是由SHREC数据集生成的RGB-D数据,包含更多的空间信息。

3.2 评价设置

  • 在两种情况下评估SHREC数据集:14个手势和28个手势。JHMDB数据集是通过使用手工标注的骨架来评估的,我们平均三个分割训练/测试集的结果。
  • 在消融研究中,我们通过去除一个成分而保持其他成分不变来探索每个DD-Net成分对动作识别性能的贡献。此外,我们还在图中探索了通过调整滤波器的值来改变不同模型尺寸的性能。

3.3 结果分析与讨论

  • SHREC数据集的动作识别结果如表II所示,其混淆矩阵中列出了更多细节。14个动作和28个动作的混淆矩阵为图4和图5。
    基于骨骼的动作识别:DD-Net_第10张图片
    基于骨骼的动作识别:DD-Net_第11张图片
    基于骨骼的动作识别:DD-Net_第12张图片
  • JHMDB数据集的动作识别结果如表III所示
    基于骨骼的动作识别:DD-Net_第13张图片
  • 总的来说,虽然DD-Net采用的参数较少,但在SHREC数据集和JHMDB上可以取得较好的效果.混淆矩阵还表明,DD-Net对每个动作类都是健壮的。尽管数据属性存在分歧,但DD-Net显示了其泛化能力,表明它可以适应广泛的基于骨骼的动作识别场景。
  • 从消融研究中,我们可以发现,当动作与全局轨迹(如SHREC数据集)强烈相关时,仅使用JCD特征无法产生令人满意的性能。当动作与全局轨迹相关性不强时(例如,JHMDB数据集),全局运动特征仍然有助于提高性能,但不像之前的情况那样显著。
  • 结果还表明,使用双尺度运动特征比只使用单尺度运动特征能获得更高的分类精度,这表明我们提出的双尺度全局运动特征对运动的尺度变化具有更强的鲁棒性。
  • 在相同的组件下,DD-Net可以通过修改CNN图层中过滤器的值来调整其模型大小。我们选择
    将64、32和16作为滤波器的值进行实验。当DD-Net在SHREC和JHMDB数据集,过滤器的值为64。值得注意的是,DD-Net只需使用0:1 500万个参数就可以产生可比的结果。
  • 此外,由于DD-net使用一维cnn提取特征,因此比其他使用RNN或2D/3D cnn的模型要快得多。在推断过程中,DD-Net在一个GPU(即GTX 1080Ti)上的速度可以达到3500帧/秒左右。或单CPU 2000帧/秒(Intel E5-2620)。

你可能感兴趣的:(论文笔记,计算机视觉,动态手势识别)