赞
踩
IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 27, NO. 4, APRIL 2018
三维骨架序列中的人体动作识别(action recognition)已经引起了很多研究人员的注意。近期,长短期记忆网络(LSTM)由于其在依赖关系方面和动态序列数据方面建模的优点,在这项识别任务中显示出良好的性能。并非所有的骨架关节点都为动作识别提供信息,而不相关的关节点往往会带来噪声,从而降低性能,我们需要注意更加具有信息的那些关节点。但是,原有的LSTM网络没有明确的注意力的能力。在本论文中,我们提出了一种新的LSTM网络,即全局上下文-意识注意力LSTM(global context aware attention LSTM),以用于基于骨架的动作识别(skeleton-based action recognition),其中通过使用全局上下文记忆单元(global context memory cell)选择性地聚焦在每帧中更具信息的节点上。为了进一步提高注意力性能,我们也引入一个周期性的注意力机制(recurrent attention mechanism),这样,我们的网络的注意力性能就可以进一步提高。此外,还介绍了利用粗粒度注意力(coarse-grained attention)和细粒度注意力(fine-grained attention)方法的一种双流框架。提出的基于骨架的动作识别方法在5个具有挑战性的数据集上,都表现出了很好的性能。
关键词:动作识别,长短时记忆,全局上下文记忆,注意力机制,骨架序列
动作识别是一个非常重要的研究课题,因为它涉及到广泛的应用领域,如视频监控、病人监护、机器人技术、人机交互等[1] - [3]。随着深度传感器的发展,如RealSense和Kinect [4] - [6],在过去几年,3D骨架基于人的人体动作识别已经得到很多注意力,并且这些年提出了许多先进的方法[7][10]。
人的动作可以用三维空间中骨架关节点的动作来表示[11][12]。然而,这并不是说骨架序列中的所有关节点都能提供动作识别信息。例如,手关节点对于识别拍手动作而言有益,而脚关节点的动作则不是。不同的动作序列通常具有不同的有益关节点,并且在同一序列,人体关节点的信息量程度也会随着帧数的变化而变化。因此在序列中的每一帧时,有选择的聚焦于有益关节点是非常有利的。并试图忽略不相关的特征,后者对动作识别贡献很少,甚至带来噪音,降低性能[13]。这种选择性聚焦方案也可以称为注意力机制,已经被证明在语音识别[14]、图像标题生成[15]、机器翻译[16]等任务上非常有帮助。
长短时记忆(LSTM)网络在处理序列数据[17]方面有很强的能力。它们已成功应用于语言建模[18],基于RGB的视频分析[19][27],以及基于骨架的动作识别[12][28][29]。然而,原有的LSTM对于动作识别并没有很强的注意力机制的能力。这种局限主要是由于LSTM在感知视频序列的全局上下文信息方面的限制,而这对于全局分类问题往往是非常重要的——基于骨架的动作识别。
为了实施可靠的注意力在骨架关节点上,我们需要评估每个关节点在每一帧中的信息量程度,并考虑全局动作序列。这表明我们首先需要有全局上下文信息。然而,在LSTM的每一个训练步骤中,可用的上下文信息都是相对局部的。在LSTM中,作为输入的序列数据逐步被输入到网络中。因此,每个步骤的上下文信息(隐藏表示)被提供给下一个步骤。这意味着每一步的可用上下文是前一步的隐藏表示,与全局信息相比,这是相当局部的。
本文对原LSTM模型实施了扩展,并提出一个全局上下文-意识(Context-Aware)的注意力机制的LSTM (GCA-LSTM)网络,在基于骨架的动作识别方面具有很强的注意力。在我们的方法中,全局上下文信息被提供给GCA-LSTM的所有训练步骤。因此,网络可以使用它来测量各个步骤的新输入的信息得分,并相应地调整它们的注意力权值,即,如果一个新的输入对全局动作有益,则网络在此步骤中利用它的很多信息,反之,如果不相关,则网络在这步骤中阻塞它的输入。
我们提出的基于骨架的动作识别网络GCA-LSTM,包括一个全局上下文记忆单元和两个LSTM层,如图1所示。第一个LSTM层用于编码骨架序列,并初始化全局上下文记忆单元。全局上下文信息被输入到第二LSTM层,用来协助网络有选择性地注意有益关节点。在每帧中,由注意力机制进一步生成关节点信息来表示动作序列。然后注意力反馈给全局上下文记忆单元以改进它。此外,我们提出了一个周期性的注意力机制为我们的GCA-LSTM网络。之后表现出一个精炼的全局上下文记忆单元,它可以再次被输入到第二层LSTM网络,用来获得可靠地注意力。我们迭代实施来表现出注意力,逐步精炼全局上下文记忆单元。最后,精炼的全局上下文记忆单元被提供给softmax分类器,来预测动作类别。另外,我们还扩展了前面提到的GCA-LSTM网络,并进一步提出了一个双流GCA-LSTM网络,它结合了细粒度(整体)注意力和粗粒度(身体部分级别)的注意力,以获得更准确的动作识别结果。
文章主要贡献如下:
1、提出了一种GCA-LSTM模型,该模型保留了原LSTM的序列建模能力,同时通过引入全局上下文记忆单元提高了其选择性注意能力。
2、提出了一种周期性注意力机制,使网络的注意力性能逐步提高。
3、提出了逐步训练方案,使网络训练更有效。
4、我们进一步扩展了GCA-LSTM模型的设计,提出了一个更强大的双流GCA-LSTM网络。
5、提出的端到端网络在基准数据集上评估,表现出了最先进的性能。
这项工作是我们会议论文[31]的扩展。在前一个版本的基础上,我们进一步提出了一个逐步的训练方案来有效的训练我们的网络。此外,我们扩展了我们的GCA-LSTM模型,并通过利用细粒度的注意力和粗粒度的注意力,进一步提出了一个双流GCA-LSTM。我们还在很多的基准数据集上广泛评估我们的方法。并对所提出的方法实施了实证分析。
本文的其余部分组织如下。在第二部分中,我们回顾了基于骨架的动作识别的相关工作。在第三部分中,我们介绍了提出的GCA-LSTM网络。在第四部分中,我们介绍了双流注意力框架。在第五部分,介绍了实验。最后,我们在第六部分对论文进行了总结。
在本节中,我们首先简要回顾了基于骨架的动作识别方法,这些方法主要聚焦于提取手工制作的特征。然后介绍了基于RNN和LSTM的方法。最后,回顾了近年来关于注意力机制的研究成果。
近年来,针对基于骨架的动作识别提出了不同的特征提取器和分类学习方法 [32] [44]。
Chaudhry等人 [45] 提出将骨架序列编码到时空层次(spatial-temporal hierarchical)模型中,然后利用线性动力系统(LDSs)学习动态结构。Vemulapalli等人 [46]将每个动作表示为Lie组中的曲线,然后用支持向量机(SVM)对动作实施分类。Xia等人 [47] 提出用隐马尔科夫模型(HMMs)对动作序列的时间动力学实施建模。Wang等人 [48][49] 引入了一个actionlet ensemble表示来建模动作,同时捕获内部变量。Chen等人 [50] 设计了一个基于零件的5D特征向量来探索骨架序列中身体部位的相关关节点。Koniusz等人 [51] 用于捕捉人体关节点间高阶关系的张量表示。Wang等人 [52] 提出了一个基于图形的方案,用于与SPGK-kernel SVM结合使用的方法来表示基于骨架的动作识别。Zanfir等人 [53]开发一个动作姿态框架和一个改进的k-NN用于低延迟动作识别的分类器。
最近,基于深度学习的方法,尤其是递归神经网络(RNN),在基于骨架的动作识别中显示出了优势。我们提出的GCA-LSTM网络是基于RNN扩展的LSTM模型。在这一部分中,我们将对基于RNN和LSTM的方法实施如下回顾,因为它们与我们的方法相关。
Du等人[12]引入了分层RNN模型代表人体结构和时间动态的关节。Veeriah等人 [54] 提出差分门控计划使LSTM网络强调信息的变化。Zhu等人 [28] 提出了混合规范LSTM网络的正则化方法来推动模型学习共生特征骨关节。他们还设计了一个深入的退出机制来有效地训练网络。Shahroudy等人[55]在中引入了一个部分感知的LSTM模型,以推动网络在单独学习不同身体部位的时候的长期上下文表示。Liu 等人 [29][56] 设计了一个二维时空LSTM框架,用于同时探索在时空领域中与动作相关的上下文信息的隐藏来源。他们还引入了一个信任门机制(trust gate mechanism)[29] 来处理深度传感器提供的不准确的骨架关节3D坐标。
除了动作识别外,RNN和LSTM模型也被用于基于骨架的动作预测 [57] 和检测。
不同于上述基于RNN/LSTM的方法,它们没有明确地考虑全局动作序列中每个骨架关节的信息量,我们提出GCA-LSTM网络利用全局上下文信息在所有的LSTM训练步骤中来实施注意并选择性地强调每一帧的具有信息性的关节,从而生成一个注意力表示序列,可以用来提高分类的性能。此外,还提出了一种周期性注意机制来迭代优化注意力性能
我们的方法也与 [14][16][59] 的注意力机制有关 [63],它允许网络选择性地注意特定的信息。Luong等 [62] 提出了一种神经机器翻译(neural machine translation)的注意力机制网络。Stollenga等 [64] 设计了图像分类深度注意力选择网络。Xu等人 [15] 提出将硬注意力和软注意力结合起来生成图像字幕。Yao等 [65] 提出了一种用于视频字幕生成的时间注意力模型。
虽然在[66]、[67]中提出了一系列基于深度学习的视频分析模型,但大多数模型都没有考虑注意力机制。有几篇文献探讨了注意力的问题,如[60]、[68]和[69]中的方法。但是,我们的方法在以下几个方面与他们有明显的不同。这些文献利用LSTM前一个时间步局部上下文信息的隐藏状态来衡量下一个时间步的注意力分数。对于全局分类问题——动作识别来说,如果要可靠地评估每个输入的重要性(即信息度)以获取可靠的注意力,全局信息非常重要。因此,我们为LSTM提出了一个全局上下文记忆单元,用于测量每一步输入的信息性得分。然后在LSTM单元中使用信息性分数作为门(信息性门,类似于输入门和遗忘门),在每一步调整输入数据的贡献,以更新记忆单元。据我们所知,我们是第一个为LSTM网络引入全局记忆单元来处理全局分类问题。此外,我们还提出了一种周期性注意力机制来迭代地提升我们网络的注意力性能,而 [60]、[68] 和 [69] 中的方法只实施一次注意力。此外,还介绍了一个包含细粒度注意力和粗粒度注意力的双流注意力框架。由于新的贡献,我们提出的网络在基准数据集上评估,也表现出了最先进的性能。
在本节中,我们首先简要回顾二维时空LSTM (ST-LSTM)作为我们的基础网络。然后,我们详细介绍了我们提出的全局上下文意识注意力机制LSTM (GCA-LSTM)网络,该网络能够通过使用全局上下文信息选择性地注意每一帧中骨架序列的信息节点。最后,我们描述了有效训练网络的方法。
在一个基于骨架的人体动作识别问题中,给出了每个框架中主要人体关节点的三维坐标。同一帧中不同关节点的空间依赖性和不同帧间相同关节点的时间依赖性都是基于骨架的动作分析的关键线索。最近,Liu等人 [29] 提出了一种基于骨架的动作识别的2D ST-LSTM网络,该网络能够同时在空间和时间域对依赖结构和上下文信息实施建模。
如图2所示,在ST-LSTM模型中,框架中的骨架关节被布置成链状(空间方向),在不同框架上的相应关节也以序列(时间方向)实施传递。
具体来说,每个ST-LSTM单元都有一个新的输入(,三维位置帧数t关节点j), 同一关节在前一个时间步上的隐藏表示,以及在同一坐标系中前一个关节的隐藏表示,和分别表示关节点和帧数。ST-LSTM单元有一个输入门,两个忘记门对应于两个上下文信息源代表时间维度,代表空间域,以及一个输出门。
在[29]ST-LSTM的方程表示如下:
其中和表示单元状态和隐藏单元在时空步骤(j,t)处的表示,是调节输入用的,W是由模型权值参数。读者可以参考[29]了解更多ST-LSTM的结构。
之前的几篇文献已经表明[13][50],在每个动作序列中,通常都有一个信息关节点的子集,它们对动作分析的贡献要大得多,这是非常重要的,而剩下的那些对于这个动作可能是不相关的(甚至是有噪音的)。因此,为了获得较高的动作识别精度,我们需要识别更具信息性的骨架关节点,并更加注意其特征,同时试图忽略无关特征,在人体动作识别时候有选择地聚焦(注意)在更具信息性关节点上。
人体动作可以由骨架关节点的动作组合来表示。为了可靠地识别动作实例中的信息性关节点,我们可以根据全局动作序列评估每一帧中每个关节点的信息性得分。为了达到这个目的,我们需要首先获得全局上下文信息。然而,LSTM训练步骤的每一个可用上下文是前一个步骤的隐藏表示,与全局操作相比,是相对局部的。
为了减轻上述限制,我们提出为LSTM模型引入一个全局上下文记忆单元,它可以保存动作序列的全局上下文信息,并可以反馈到LSTM的每一个步骤,以辅助注意力机制的过程,如图3所示。我们将这种新的LSTM体系结构称为全局上下文意识的注意力机制LSTM (GCA-LSTM)。
1) GCA-LSTM网络概述:图3为基于骨架的动作识别GCA-LSTM网络。我们的GCA-LSTM网络包含三个主要模块。全局上下文记忆单元维护整个操作序列的总体表示。第一个ST-LSTM层编码骨架序列,并初始化全局上下文记忆单元。第二个ST-LSTM层在所有时空步骤上对输入实施注意,以生成动作序列的注意力表示,然后使用它来精炼全局上下文记忆单元。第一ST-LSTM层的时空步长(j,t)的输入是坐标系t中关节点j的三维坐标,第二层的输入是第一层的隐藏表示。
在我们的网络中实施多次注意力迭代(周期性注意力机制),以迭代地精炼全局上下文记忆单元。最后,可以使用改进的全局上下文记忆单元实施分类。
为了便于解释, 在第一个ST-LSTM层我们使用而不是来代替隐藏层在步骤的表示,而符号包括和,III-A节中定义,在第二层用来代表组成部分。
2)初始化全局上下文记忆单元:我们的GCA-LSTM网络通过使用全局上下文信息来实施注意力机制,因此我们需要首先获得初始的全局上下文记忆。
一种可行的方案是利用第一层的输出来生成全局上下文表示。我们可以平均第一层的所有时空步骤中的隐藏表示,来计算并初始全局上下文记忆单元,如下所示:
我们还可以将第一层的隐藏表示连接起来,并将它们提供给前馈神经网络,然后使用组合激活,就像一样。我们从经验上观察到这两种初始化方案的实施类似。
3)在第二层ST-LSTM层实施注意:利用全局上下文信息,评估第二层ST-LSTM层每在个时空步骤的输入的信息量大小。
在第n次注意力机制迭代中,我们的网络在每个输入 时候将学习的信息分 作为输入,在之前的注意力迭代中产生全局上下文信息 ,如下所示:
其中 表示第n次注意迭代中产生的信息量分数,作为全局上下文信息,
信息度得分 被ST-LSTM单元中的门结构使用,我们称之为信息门(informativeness gate)。通过学习信息门,可以更新第二层ST-LSTM层单元的细胞状态为:
Eq.(7)记忆单元更如下表示:(1)如果输入是对于全局上下文信息(重要)表示,然后我们通过提高信息量使得学习算法更新第二层ST-LSTM的细胞状态,(2)相反,如果输入不相关,则需要在这一步阻塞输入门,同时依赖于具有更多历史信息的细胞状态。
4)精炼全局上下文记忆单元:采用Eq.(7)中的单元状态更新方案来实施注意力机制,得到动作序列的注意力机制的表示。具体来说,第二层最后一个时空步骤的输出作为注意力机制的表示 ,最后,将注意力机制的表示 )输入到全局上下文记忆单元中实施精炼,如图3所示。精炼方法如下:
是 精炼后的表示, 在不同的迭代中不不被共享。
我们的GCA-LSTM网络中实施了多重注意迭代(周期性注意)。我们的动机是,在我们获得一个改进的全局上下文记忆单元后,我们可以再次使用它来实施注意力,从而更可靠地识别信息连接,从而获得更好的注意表示,然后可以利用它来进一步精炼全局上下文。经过多次迭代后,全局上下文对动作分类的区分性更强。
5)分类器:将最后一个改进的全局上下文记忆单元F(N)输入softmax分类器以预测类标签:
采用负对数似然损失函数(negative log-likelihood loss function)[70]标签 y与预测结果的差值,采用反向传播算法最小化损失函数。反向传播过程的细节在第III-C节中描述。
在这一部分中,我们首先简要描述了直接精炼整个网络参数的基本训练方法,然后提出了一种更先进地逐步训练GCA-LSTM网络方案。
1)直接训练整个网络:由于分类是使用了最后精制全局上下文信息,训练这样一个网络, 将动作标签作为最后一次注意力迭代的训练输出是自然和直观的。然后向上一个步骤反向传播错误,直接优化整个网络,如图4(a)所示。
2)逐步训练:由于周期性的注意力机制,我们网络中的不同的模块(两个ST-LSTM层和全局上下文记忆单元,如图3所示)之间相互作用频繁。此外,在多次注意力机制迭代的过程中,还引入了新的参数。由于这些事实,直接对整个网络的所有参数和所有注意力迭代实施精炼是相当困难的。
因此,我们提出了一种逐步精炼模型参数的GCA-LSTM网络训练方案。该方案的细节如图4(b)和算法1所示。
所提出的逐步训练方案在精炼参数和保证GCA-LSTM网络收敛性方面是有效的。具体来说,在每个训练步骤n中,在迭代0到n2时候我们使用注意力机制只需要优化子集参数和模块。训练这个缩小的网络比直接训练整个网络更有效。在步骤n+1中,需要精炼更大规模的网络。然而,第n+1步的训练也是非常有效的,因为大多数参数和通道(passes)都已经在之前的训练步骤精炼了。
在上述设计(第三节)中,GCA-LSTM网络通过选择性地聚焦于每一帧的信息关节点来实施动作识别,注意了机制在关节点水平实施(细粒度的注意)。除了细粒度的注意力外,粗粒度的注意力还有助于动作分析。这是因为有些动作通常是在身体的某个部位的动作。对于这些动作,来自同一信息性身体部位的所有关节点都具有相似的重要性。例如,在NTU RGB+ D数据集[55]中,所有右手关节点(肘关节点、手腕、手掌、手指)的姿势和动作对于识别敬礼动作都是非常重要的。我们需要识别信息性身体部位——右手。这意味着粗粒度(身体部位)的注意力对于动作识别也很有用。
正如Du等人[12]所提出的,根据人体的身体结构,人体骨架可以分为躯干、左手、右手左腿和右腿五个身体部位。这五个部分如图5所示。因此,我们可以根据动作序列来衡量每个身体部位的信息量程度,然后实施粗粒度的注意力机制。
具体地说,我们扩展了GCA-LSTM模型的设计,在这里引入了一个双流GCA-LSTM网络,它同时利用了细粒度(关节点)注意力流和粗粒度(身体部位级别)注意力流两种流的注意力。
图5展示了双流GCA-LSTM的结构。在每个注意流中,都有一个全局上下文记忆单元来维护动作序列的全局注意力机制的表示,第二个ST-LSTM层来实施注意力机制。这表明我们在整个体系结构中有两个分离的全局上下文记忆单元,分别是细粒度的注意力记忆单元()和粗粒度的注意力记忆单元。第一个ST-LSTM层用于编码骨架序列和初始化全局上下文记忆单元,两个注意力流是共享的。
细粒度注意流中的流程(包括初始化、注意力机制和精炼)与第三节中介绍的GCA-LSTM模型相同。粗粒度注意流中的操作也类似。主要的区别是,在第二层,粗粒度的注意力流通过有选择地聚焦在每一帧中更具信息性的身体部位来实施注意力机制。
具体而言,在迭代注意力n中,信息量分数在每个身体部位P (P ∈ {1, 2, 3, 4, 5})表示为:
是时间t下身体P的表示,计算方式是基于身体部分P的所有关节点的隐藏表示信息求和,公式如下:
表示关于P的关节点数。
为了实施粗粒度的注意力,我们允许每个关节点j在身体部位P中共享P的信息量程度,即,在第t帧,P中的所有关节点都使用相同的信息性分数,如图5所示。因此在粗粒度注意力流,如果,第二个ST-LSTM层在时空步骤(j,t)处得到单元状态被更新,如:
双流GCA-LSTM网络也实施多次迭代,最后,精炼细粒度注意力信息和粗粒度注意力信息都送入softmax分类器,并且取这两个流的预测分数的平均值。
所提出的逐步训练方案也可以应用于这个双流GCA-LSTM网络中,在训练步骤#n( )时,我们同时精炼了两个注意力流对应这第n次注意力迭代。
我们在NTU RGB +D [55],SYSU-3D [71],UT-Kinect [47],SBU-Kinect Interaction[72]和Berkeley MHAD [73]数据集上评估我们提出的方法。为了研究我们的方法的有效性,我们对以下不同的网络结构实施了广泛的实验:
• “ST-LSTM + Global (1)”: 这种网络架构类似于最初的两层ST-LSTM网络[29],将第二层各时空步骤的隐藏表示串联并输入到一层前馈网络,生成骨架序列的全局表示,对全局表示进行分类;而在[29]中,在每个时空步骤(局部表示)对单个隐藏表示进行分类。
• “ST-LSTM+Global (2)”:这个网络和“ST-LSTM+Global (1)相似,只是平均隐藏表示来作为全局表示。
• “GCA-LSTM”:全局上下文意识LSTM网络,两种注意力迭代在网络中被实施,分类在最后一次精炼全局记忆单元时候,两种训练方法(直接和逐步)在Section III-C中描述。
此外,我们还采用大规模NTU RGB+D和具有挑战性的SYSU-3D作为两个主要的基准数据集来评估提出的双流GCA-LSTM网络。
采用随机梯度下降(SGD)算法训练我们端到端的网络。我们设定学习率,衰减速率和动量分别为1.5×10-3,0.95和0.9。我们的网络中应用的丢失率[75]设置为0.5。全局上下文记忆大小和ST-LSTM网络的单元状态都是128。
Kinect(V2)收集了NTU RGB + D数据集[55]。它包含超过56000个视频样本。共有40个不同的对象共实施60个动作分类。据我们所知,这是最大的基于RGB + D的公开的动作数据集。主题和视图的巨大差异使这个数据集具有挑战性。这个数据集有两个标准评估协议:(1)交叉主题(CS):20个对象用于训练,其余对象用于测试;(2)交叉视图(CV):两个摄像头视图用于训练,一个摄像机视图用于测试。为了广泛评估提出的方法,在我们的实验中两种协议都进行测试。
我们将提出的GCA-LSTM网络与最先进的方法进行比较,如表1所示。我们可以观察到,我们提出的GCA-LSTM模型优于其他基于骨架的方法。具体来说,在[29]中,我们的GCA-LSTM网络比最初的ST-LSTM网络表现要好,交叉主题协议(cross subject protocol)占6.9%,交叉视图协议占6.3%,而交叉视图协议(crossview protocol)性能比ST-LSTM网络高出6.3%。这说明我们网络中的注意力机制带来了显著的性能提升。
ST-LSTM + Global(1)和ST-LSTM + Global(2)都对全局表示实施分类,因此它们的性能略优于对局部表示实施分类的原始ST-LSTM[29]。我们还观察到ST-LSTM + Global(1)和ST-LSTM + Global(2)的表现类似。
表I的结果也表明,与直接训练法相比,采用逐步训练法可以提高网络的性能。
我们还对双流GCA-LSTM网络的性能实施了评估,结果如表II所示。结果表明,通过将细粒度的注意力和粗粒度的注意力相结合,所提出的双流GCA-LSTM网络比仅细粒度注意力的GCA-LSTM网络具有更好的性能。我们还观察到,采用逐步训练法可以提高双流GCA-LSTM的性能。
使用Kinect采集的SYSU-3D数据集[71],其中包含480个骨架序列。该数据集包括12个动作类,由40个对象示范。SYSU-3D数据集非常具有挑战性,因为不同的动作类之间的动作模式(motion patterns)非常相似,并且在这个数据集有很多视角变化(viewpoint variations)。
我们遵循[71]中关于该数据集的交叉验证协议的标准,在该数据中,采用20名对象对网络实施训练,其余对象保留作为测试。实验结果见表III。我们可以观察到我们的GCA-LSTM网络在[29]、[71]和[80]中超越了目前最先进的基于骨架的方法,这证明了我们的方法在处理骨架序列中的动作识别任务时的有效性。结果表明,我们提出的逐步训练方案对我们的网络是有用的。
使用这个具有挑战性的数据集,我们还评估了双流注意力机制模型的性能。表IV的结果表明,双流GCA-LSTM网络对于动作识别是有效的。
UT-Kinect数据集[47]是用一个固定的Kinect来记录的。这个数据聚焦的骨架序列噪音很多。10个对象共完成10个类别,并且每个动作由相同的对象示范两次。
我们在这个数据集上遵循leave-one-out-cross-validation协议的标准来评估我们的方法 [47],我们的方法在这个数据集表现很好的性能,如表V所示。
SBU-Kinect交互数据集[72]包含8个双人互动识别(interaction recognition)。此数据集包含282个序列,对应6822帧。SBU-Kinect交互数据集具有挑战性,因为(1)Kinect所记录的骨架关节点坐标的精确度相对较低,(2)两个人在许多动作序列中有着复杂的互动。
我们按照 [72] 中的标准协议在该数据集进行5倍的交叉验证来评估。实验结果如表IX所示。表中HBRNN [12]、Deep LSTM[28]、LSTM [28]、ST-LSTM [29] 都是基于LSTM的骨架序列动作识别模型,与我们的网络关系非常密切。可以看出,在所有这些方法中,提出的GCA-LSTM网络的性能最好。
伯克利MHAD数据集是通过动作捕捉系统(motion capture system)记录的。它包含659个序列和11个动作类,由12个不同的对象完成。
我们在这个数据集上采用了标准的实验协议,其中7名对象被用作训练,其余5名对象用作测试。表X的结果表明,我们的方法在该数据集上有很高的准确率(100%)。
由于Berkeley MHAD数据集是用动作捕捉系统而不是Kinect收集的,因此骨架关节点是相对准确的。评估在输入噪声时候的鲁棒性,在这个数据集,也测试我们的GCA-LSTM网络的性能,通过在骨架序列中添加零均值输入噪声,并将结果显示在表VI。我们可以看到,即使我们将添加标准噪声值设置为12厘米(人体)的规模,我们的方法的准确性仍非常高(92.7%)。这表明我们的方法输入有噪声时具有很强的鲁棒性。
我们还测试了不同的注意迭代次数对GCA-LSTM网络的影响,结果如表VII所示。我们可以观察到,增加迭代次数有助于增强我们网络的分类性能(使用2次迭代比使用1次迭代获得更高的精度)。这说明我们提出的周期性注意力机制对于GCA-LSTM网络是有用的。
具体来说,我们还使用大规模NTU RGB+D数据集对3次注意力迭代后的性能实施了评估,结果如表VIII所示。我们发现,如果我们在不同的注意迭代上共享参数(见表VIII中的列(a)和(b)),3次注意力迭代的性能略好于2次迭代。由于GPU的内存限制,在我们的实验中不尝试很多的迭代。
我们还发现,在不同的迭代中不共享参数的话(见表VIII第(c)列和(d)列),过多的迭代会导致性能下降(使用3次迭代的性能比使用2次迭代的性能差)。在我们的实验中,我们观察到性能下降是由过拟合引起的(如果不共享参数,增加迭代次数会引入新的参数),但是在这种情况下,两个迭代的性能仍然明显优于一个迭代。我们还将对V-G部分详细的参数共享方案实施实验分析。
如式(5)所示,引入模型参数和为了计算第二层各时空阶段的信息量得分。在这一层还实施了多次注意力迭代。为了规范网络中的参数,提高泛化能力,我们研究了网络的两种参数共享策略:(1)迭代内的共享:和在同一次注意力迭代中的所有时空步骤共享;(2)共享交叉迭代: 和 在不同的注意力迭代上共享。我们研究了这两种参数共享策略对GCA-LSTM网络的影响,结果如表VIII所示。
在表VIII中,我们可以看到:(1)迭代内的参数共享对于增强网络的泛化能力很有用,表VIII (b)和(d)列的性能分别优于(a)和(c)列。(2)在不同迭代间共享参数有助于处理过拟合问题,但是有可能限制表达能力(representation capacity),因此我们在两个注意力迭代内共享参数并且在两个迭代间不共享参数,从而实现了最优的结果。(见表VIII(d)栏)。因此,在我们GCA-LSTM网络中,我们只共享了迭代内的参数,并使用了两个注意力迭代。
之前的实验表明,与直接训练相比,采用逐步训练法可以提高我们网络的性能(见表I,V,III,IX),进一步考察这两种训练方法的性能,我们在图6中绘制了GCA-LSTM网络的收敛曲线。
我们分析了逐步训练法的收敛曲线(图6),如下图所示。通过使用提出的逐步训练方法,在训练步骤#0中,我们只需要训练子网络来初始化全局上下文 ,即只需要优化一部分参数和模块,训练效率高,损失曲线收敛速度快。当确定损失函数停止减小时,我们开始下一个训练步骤#1。Step#1包含了第一次注意迭代的新参数和模块,这些参数和模块还没有被精炼,因此在这个阶段损失会立即增加。然而,这一步涉及到的大部分参数前一步#0已经通过了很好的预训练,因此网络训练是相当有效的,在仅仅一个训练阶段之后,损失就降到了非常低的值。
通过比较两种训练方法的收敛曲线,我们可以发现(1)如果使用逐步训练,网络收敛速度要比直接训练整个网络快得多。我们还可以观察到(2)网络通过直接训练的方法更容易过度拟合,因为在第20个epoch后,训练损失和实际损失之间的差距开始增大。这些观察结果表明,所提出的逐步训练方案对于训练我们的GCA-LSTM网络是非常有用的有效地。
在III-B.2部分,我们引入两个方法来初始化全局上下文记忆单元()。第一个是对第一层的隐藏表示实施平均(见Eq.(4)),第二个是使用一层前馈网络来获取。我们在表XI中比较这两个初始化方法。结果表明,这两种方法的性能是相似的。在我们的实验中,我们还发现,通过使用前馈网络,模型收敛速度更快,因此我们使用前馈网络的方案来初始化GCA-LSTM网络中的全局上下文记忆单元。
在GCA-LSTM网络中,信息性得分被LSTM神经元的门结构使用,如Eq. (7)那样,我们还探索用软注意方法[15][62]代替这种方案,即注意力计算表示。使用软注意力,在NTU RGB + D数据上的准确率下降了大约1个百分点。这可以解释为在LSTM神经元上门结构为LSTM提供了更好的关于何时更新、何时忘记或何时记住的信息。此外,它可以保留了输入序列的位置信息,而软注意力丢失了序列信息和位置信息。
为了更好地了解我们的网络,我们在本节中使用全局上下文信息,在大规模NTU RGB + D数据集上分析和可视化信息性得分。
我们分析了两次注意力迭代中信息性得分的变化,验证了我们方法中周期性注意力机制的有效性,并在图7中展示了三个动作(自拍、指向某物、踢别人)的定性结果。采用软注意法计算信息性得分,实现可视化。在这个图中,我们可以看到两个注意力迭代之间的注意性能提高了。在第一个迭代中,网络试图在框架上识别潜在的信息连接。在这之后,网络对全局动作有了很好的了解。然后在第二次迭代中,网络可以更精确地聚焦在骨架序列的每一帧的信息性关节点上,我们还可以发现,在不同的帧下,同一关节点的信息性得分是不同的。这表明,我们的网络不仅在空间域内,而且在时间域内都具有注意力。
为了进一步定量评价注意力机制的有效性,我们分析了图7中三个动作类在所有动作中的分类精度。我们观察如果不使用注意力机制,这三种类型的准确率分别为67.7%,71.7%,81.5%。然而,如果我们使用一个注意力迭代,准确率分别上升到67.8%,72.4%和83.4%。如果实施两次注意力迭代,准确率分别为67.9%、73.6%和86.6%。
为了粗略探究NTU RGB + D数据聚焦哪个动作节点的信息量更大,我们还平均了所有测试序列中同一节点的信息性得分,并将其可视化如图8所示。我们可以观察到,平均而言,很多的注意力被分配到手和脚关节点。这是因为在NTU RGB + D数据聚焦,大部分动作都与手脚的姿势和动作有关。我们还发现,右手关节点的平均信息性得分高于左手关节点。这表明大多数对象都是右撇子。
本文对原有的LSTM网络进行了扩展,构建了基于骨架的动作识别的全局上下文-意识注意力机制(Global Context-Aware Attention)LSTM (GCA-LSTM)网络,该网络在全局上下文信息的辅助下,在选择性聚焦骨架序列的每一帧的信息性关节点上有较强的能力。此外,我们还为GCA-LSTM网络提出了一种周期性注意力机制,在此机制中,随着迭代中选择性聚焦能力得到了提高。此外,还介绍了一个双流注意力框架。实验结果验证了我们的方法的贡献,通过在5个具有挑战性的数据集上达到最先进的表现。
这项工作是在新加坡南洋理工大学(NTU)的快速丰富对象搜索(the Rapid-Rich Object Search )(ROSE)实验室进行的。
本文作者感谢英伟达AI技术中心(NVAITC)的支持,感谢他们为ROSE实验室的研究提供了特斯拉K40和K80 GPU。J. Liu感谢西澳大学的Qiuhong Ke的讨论带来的帮助。
IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 27, NO. 4, APRIL 2018
三维骨架序列中的人体动作识别(action recognition)已经引起了很多研究人员的注意。近期,长短期记忆网络(LSTM)由于其在依赖关系方面和动态序列数据方面建模的优点,在这项识别任务中显示出良好的性能。并非所有的骨架关节点都为动作识别提供信息,而不相关的关节点往往会带来噪声,从而降低性能,我们需要注意更加具有信息的那些关节点。但是,原有的LSTM网络没有明确的注意力的能力。在本论文中,我们提出了一种新的LSTM网络,即全局上下文-意识注意力LSTM(global context aware attention LSTM),以用于基于骨架的动作识别(skeleton-based action recognition),其中通过使用全局上下文记忆单元(global context memory cell)选择性地聚焦在每帧中更具信息的节点上。为了进一步提高注意力性能,我们也引入一个周期性的注意力机制(recurrent attention mechanism),这样,我们的网络的注意力性能就可以进一步提高。此外,还介绍了利用粗粒度注意力(coarse-grained attention)和细粒度注意力(fine-grained attention)方法的一种双流框架。提出的基于骨架的动作识别方法在5个具有挑战性的数据集上,都表现出了很好的性能。
关键词:动作识别,长短时记忆,全局上下文记忆,注意力机制,骨架序列
动作识别是一个非常重要的研究课题,因为它涉及到广泛的应用领域,如视频监控、病人监护、机器人技术、人机交互等[1] - [3]。随着深度传感器的发展,如RealSense和Kinect [4] - [6],在过去几年,3D骨架基于人的人体动作识别已经得到很多注意力,并且这些年提出了许多先进的方法[7][10]。
人的动作可以用三维空间中骨架关节点的动作来表示[11][12]。然而,这并不是说骨架序列中的所有关节点都能提供动作识别信息。例如,手关节点对于识别拍手动作而言有益,而脚关节点的动作则不是。不同的动作序列通常具有不同的有益关节点,并且在同一序列,人体关节点的信息量程度也会随着帧数的变化而变化。因此在序列中的每一帧时,有选择的聚焦于有益关节点是非常有利的。并试图忽略不相关的特征,后者对动作识别贡献很少,甚至带来噪音,降低性能[13]。这种选择性聚焦方案也可以称为注意力机制,已经被证明在语音识别[14]、图像标题生成[15]、机器翻译[16]等任务上非常有帮助。
长短时记忆(LSTM)网络在处理序列数据[17]方面有很强的能力。它们已成功应用于语言建模[18],基于RGB的视频分析[19][27],以及基于骨架的动作识别[12][28][29]。然而,原有的LSTM对于动作识别并没有很强的注意力机制的能力。这种局限主要是由于LSTM在感知视频序列的全局上下文信息方面的限制,而这对于全局分类问题往往是非常重要的——基于骨架的动作识别。
为了实施可靠的注意力在骨架关节点上,我们需要评估每个关节点在每一帧中的信息量程度,并考虑全局动作序列。这表明我们首先需要有全局上下文信息。然而,在LSTM的每一个训练步骤中,可用的上下文信息都是相对局部的。在LSTM中,作为输入的序列数据逐步被输入到网络中。因此,每个步骤的上下文信息(隐藏表示)被提供给下一个步骤。这意味着每一步的可用上下文是前一步的隐藏表示,与全局信息相比,这是相当局部的。
本文对原LSTM模型实施了扩展,并提出一个全局上下文-意识(Context-Aware)的注意力机制的LSTM (GCA-LSTM)网络,在基于骨架的动作识别方面具有很强的注意力。在我们的方法中,全局上下文信息被提供给GCA-LSTM的所有训练步骤。因此,网络可以使用它来测量各个步骤的新输入的信息得分,并相应地调整它们的注意力权值,即,如果一个新的输入对全局动作有益,则网络在此步骤中利用它的很多信息,反之,如果不相关,则网络在这步骤中阻塞它的输入。
我们提出的基于骨架的动作识别网络GCA-LSTM,包括一个全局上下文记忆单元和两个LSTM层,如图1所示。第一个LSTM层用于编码骨架序列,并初始化全局上下文记忆单元。全局上下文信息被输入到第二LSTM层,用来协助网络有选择性地注意有益关节点。在每帧中,由注意力机制进一步生成关节点信息来表示动作序列。然后注意力反馈给全局上下文记忆单元以改进它。此外,我们提出了一个周期性的注意力机制为我们的GCA-LSTM网络。之后表现出一个精炼的全局上下文记忆单元,它可以再次被输入到第二层LSTM网络,用来获得可靠地注意力。我们迭代实施来表现出注意力,逐步精炼全局上下文记忆单元。最后,精炼的全局上下文记忆单元被提供给softmax分类器,来预测动作类别。另外,我们还扩展了前面提到的GCA-LSTM网络,并进一步提出了一个双流GCA-LSTM网络,它结合了细粒度(整体)注意力和粗粒度(身体部分级别)的注意力,以获得更准确的动作识别结果。
文章主要贡献如下:
1、提出了一种GCA-LSTM模型,该模型保留了原LSTM的序列建模能力,同时通过引入全局上下文记忆单元提高了其选择性注意能力。
2、提出了一种周期性注意力机制,使网络的注意力性能逐步提高。
3、提出了逐步训练方案,使网络训练更有效。
4、我们进一步扩展了GCA-LSTM模型的设计,提出了一个更强大的双流GCA-LSTM网络。
5、提出的端到端网络在基准数据集上评估,表现出了最先进的性能。
这项工作是我们会议论文[31]的扩展。在前一个版本的基础上,我们进一步提出了一个逐步的训练方案来有效的训练我们的网络。此外,我们扩展了我们的GCA-LSTM模型,并通过利用细粒度的注意力和粗粒度的注意力,进一步提出了一个双流GCA-LSTM。我们还在很多的基准数据集上广泛评估我们的方法。并对所提出的方法实施了实证分析。
本文的其余部分组织如下。在第二部分中,我们回顾了基于骨架的动作识别的相关工作。在第三部分中,我们介绍了提出的GCA-LSTM网络。在第四部分中,我们介绍了双流注意力框架。在第五部分,介绍了实验。最后,我们在第六部分对论文进行了总结。
在本节中,我们首先简要回顾了基于骨架的动作识别方法,这些方法主要聚焦于提取手工制作的特征。然后介绍了基于RNN和LSTM的方法。最后,回顾了近年来关于注意力机制的研究成果。
近年来,针对基于骨架的动作识别提出了不同的特征提取器和分类学习方法 [32] [44]。
Chaudhry等人 [45] 提出将骨架序列编码到时空层次(spatial-temporal hierarchical)模型中,然后利用线性动力系统(LDSs)学习动态结构。Vemulapalli等人 [46]将每个动作表示为Lie组中的曲线,然后用支持向量机(SVM)对动作实施分类。Xia等人 [47] 提出用隐马尔科夫模型(HMMs)对动作序列的时间动力学实施建模。Wang等人 [48][49] 引入了一个actionlet ensemble表示来建模动作,同时捕获内部变量。Chen等人 [50] 设计了一个基于零件的5D特征向量来探索骨架序列中身体部位的相关关节点。Koniusz等人 [51] 用于捕捉人体关节点间高阶关系的张量表示。Wang等人 [52] 提出了一个基于图形的方案,用于与SPGK-kernel SVM结合使用的方法来表示基于骨架的动作识别。Zanfir等人 [53]开发一个动作姿态框架和一个改进的k-NN用于低延迟动作识别的分类器。
最近,基于深度学习的方法,尤其是递归神经网络(RNN),在基于骨架的动作识别中显示出了优势。我们提出的GCA-LSTM网络是基于RNN扩展的LSTM模型。在这一部分中,我们将对基于RNN和LSTM的方法实施如下回顾,因为它们与我们的方法相关。
Du等人[12]引入了分层RNN模型代表人体结构和时间动态的关节。Veeriah等人 [54] 提出差分门控计划使LSTM网络强调信息的变化。Zhu等人 [28] 提出了混合规范LSTM网络的正则化方法来推动模型学习共生特征骨关节。他们还设计了一个深入的退出机制来有效地训练网络。Shahroudy等人[55]在中引入了一个部分感知的LSTM模型,以推动网络在单独学习不同身体部位的时候的长期上下文表示。Liu 等人 [29][56] 设计了一个二维时空LSTM框架,用于同时探索在时空领域中与动作相关的上下文信息的隐藏来源。他们还引入了一个信任门机制(trust gate mechanism)[29] 来处理深度传感器提供的不准确的骨架关节3D坐标。
除了动作识别外,RNN和LSTM模型也被用于基于骨架的动作预测 [57] 和检测。
不同于上述基于RNN/LSTM的方法,它们没有明确地考虑全局动作序列中每个骨架关节的信息量,我们提出GCA-LSTM网络利用全局上下文信息在所有的LSTM训练步骤中来实施注意并选择性地强调每一帧的具有信息性的关节,从而生成一个注意力表示序列,可以用来提高分类的性能。此外,还提出了一种周期性注意机制来迭代优化注意力性能
我们的方法也与 [14][16][59] 的注意力机制有关 [63],它允许网络选择性地注意特定的信息。Luong等 [62] 提出了一种神经机器翻译(neural machine translation)的注意力机制网络。Stollenga等 [64] 设计了图像分类深度注意力选择网络。Xu等人 [15] 提出将硬注意力和软注意力结合起来生成图像字幕。Yao等 [65] 提出了一种用于视频字幕生成的时间注意力模型。
虽然在[66]、[67]中提出了一系列基于深度学习的视频分析模型,但大多数模型都没有考虑注意力机制。有几篇文献探讨了注意力的问题,如[60]、[68]和[69]中的方法。但是,我们的方法在以下几个方面与他们有明显的不同。这些文献利用LSTM前一个时间步局部上下文信息的隐藏状态来衡量下一个时间步的注意力分数。对于全局分类问题——动作识别来说,如果要可靠地评估每个输入的重要性(即信息度)以获取可靠的注意力,全局信息非常重要。因此,我们为LSTM提出了一个全局上下文记忆单元,用于测量每一步输入的信息性得分。然后在LSTM单元中使用信息性分数作为门(信息性门,类似于输入门和遗忘门),在每一步调整输入数据的贡献,以更新记忆单元。据我们所知,我们是第一个为LSTM网络引入全局记忆单元来处理全局分类问题。此外,我们还提出了一种周期性注意力机制来迭代地提升我们网络的注意力性能,而 [60]、[68] 和 [69] 中的方法只实施一次注意力。此外,还介绍了一个包含细粒度注意力和粗粒度注意力的双流注意力框架。由于新的贡献,我们提出的网络在基准数据集上评估,也表现出了最先进的性能。
在本节中,我们首先简要回顾二维时空LSTM (ST-LSTM)作为我们的基础网络。然后,我们详细介绍了我们提出的全局上下文意识注意力机制LSTM (GCA-LSTM)网络,该网络能够通过使用全局上下文信息选择性地注意每一帧中骨架序列的信息节点。最后,我们描述了有效训练网络的方法。
在一个基于骨架的人体动作识别问题中,给出了每个框架中主要人体关节点的三维坐标。同一帧中不同关节点的空间依赖性和不同帧间相同关节点的时间依赖性都是基于骨架的动作分析的关键线索。最近,Liu等人 [29] 提出了一种基于骨架的动作识别的2D ST-LSTM网络,该网络能够同时在空间和时间域对依赖结构和上下文信息实施建模。
如图2所示,在ST-LSTM模型中,框架中的骨架关节被布置成链状(空间方向),在不同框架上的相应关节也以序列(时间方向)实施传递。
具体来说,每个ST-LSTM单元都有一个新的输入(,三维位置帧数t关节点j), 同一关节在前一个时间步上的隐藏表示,以及在同一坐标系中前一个关节的隐藏表示,和分别表示关节点和帧数。ST-LSTM单元有一个输入门,两个忘记门对应于两个上下文信息源代表时间维度,代表空间域,以及一个输出门。
在[29]ST-LSTM的方程表示如下:
其中和表示单元状态和隐藏单元在时空步骤(j,t)处的表示,是调节输入用的,W是由模型权值参数。读者可以参考[29]了解更多ST-LSTM的结构。
之前的几篇文献已经表明[13][50],在每个动作序列中,通常都有一个信息关节点的子集,它们对动作分析的贡献要大得多,这是非常重要的,而剩下的那些对于这个动作可能是不相关的(甚至是有噪音的)。因此,为了获得较高的动作识别精度,我们需要识别更具信息性的骨架关节点,并更加注意其特征,同时试图忽略无关特征,在人体动作识别时候有选择地聚焦(注意)在更具信息性关节点上。
人体动作可以由骨架关节点的动作组合来表示。为了可靠地识别动作实例中的信息性关节点,我们可以根据全局动作序列评估每一帧中每个关节点的信息性得分。为了达到这个目的,我们需要首先获得全局上下文信息。然而,LSTM训练步骤的每一个可用上下文是前一个步骤的隐藏表示,与全局操作相比,是相对局部的。
为了减轻上述限制,我们提出为LSTM模型引入一个全局上下文记忆单元,它可以保存动作序列的全局上下文信息,并可以反馈到LSTM的每一个步骤,以辅助注意力机制的过程,如图3所示。我们将这种新的LSTM体系结构称为全局上下文意识的注意力机制LSTM (GCA-LSTM)。
1) GCA-LSTM网络概述:图3为基于骨架的动作识别GCA-LSTM网络。我们的GCA-LSTM网络包含三个主要模块。全局上下文记忆单元维护整个操作序列的总体表示。第一个ST-LSTM层编码骨架序列,并初始化全局上下文记忆单元。第二个ST-LSTM层在所有时空步骤上对输入实施注意,以生成动作序列的注意力表示,然后使用它来精炼全局上下文记忆单元。第一ST-LSTM层的时空步长(j,t)的输入是坐标系t中关节点j的三维坐标,第二层的输入是第一层的隐藏表示。
在我们的网络中实施多次注意力迭代(周期性注意力机制),以迭代地精炼全局上下文记忆单元。最后,可以使用改进的全局上下文记忆单元实施分类。
为了便于解释, 在第一个ST-LSTM层我们使用而不是来代替隐藏层在步骤的表示,而符号包括和,III-A节中定义,在第二层用来代表组成部分。
2)初始化全局上下文记忆单元:我们的GCA-LSTM网络通过使用全局上下文信息来实施注意力机制,因此我们需要首先获得初始的全局上下文记忆。
一种可行的方案是利用第一层的输出来生成全局上下文表示。我们可以平均第一层的所有时空步骤中的隐藏表示,来计算并初始全局上下文记忆单元,如下所示:
我们还可以将第一层的隐藏表示连接起来,并将它们提供给前馈神经网络,然后使用组合激活,就像一样。我们从经验上观察到这两种初始化方案的实施类似。
3)在第二层ST-LSTM层实施注意:利用全局上下文信息,评估第二层ST-LSTM层每在个时空步骤的输入的信息量大小。
在第n次注意力机制迭代中,我们的网络在每个输入 时候将学习的信息分 作为输入,在之前的注意力迭代中产生全局上下文信息 ,如下所示:
其中 表示第n次注意迭代中产生的信息量分数,作为全局上下文信息,
信息度得分 被ST-LSTM单元中的门结构使用,我们称之为信息门(informativeness gate)。通过学习信息门,可以更新第二层ST-LSTM层单元的细胞状态为:
Eq.(7)记忆单元更如下表示:(1)如果输入是对于全局上下文信息(重要)表示,然后我们通过提高信息量使得学习算法更新第二层ST-LSTM的细胞状态,(2)相反,如果输入不相关,则需要在这一步阻塞输入门,同时依赖于具有更多历史信息的细胞状态。
4)精炼全局上下文记忆单元:采用Eq.(7)中的单元状态更新方案来实施注意力机制,得到动作序列的注意力机制的表示。具体来说,第二层最后一个时空步骤的输出作为注意力机制的表示 ,最后,将注意力机制的表示 )输入到全局上下文记忆单元中实施精炼,如图3所示。精炼方法如下:
是 精炼后的表示, 在不同的迭代中不不被共享。
我们的GCA-LSTM网络中实施了多重注意迭代(周期性注意)。我们的动机是,在我们获得一个改进的全局上下文记忆单元后,我们可以再次使用它来实施注意力,从而更可靠地识别信息连接,从而获得更好的注意表示,然后可以利用它来进一步精炼全局上下文。经过多次迭代后,全局上下文对动作分类的区分性更强。
5)分类器:将最后一个改进的全局上下文记忆单元F(N)输入softmax分类器以预测类标签:
采用负对数似然损失函数(negative log-likelihood loss function)[70]标签 y与预测结果的差值,采用反向传播算法最小化损失函数。反向传播过程的细节在第III-C节中描述。
在这一部分中,我们首先简要描述了直接精炼整个网络参数的基本训练方法,然后提出了一种更先进地逐步训练GCA-LSTM网络方案。
1)直接训练整个网络:由于分类是使用了最后精制全局上下文信息,训练这样一个网络, 将动作标签作为最后一次注意力迭代的训练输出是自然和直观的。然后向上一个步骤反向传播错误,直接优化整个网络,如图4(a)所示。
2)逐步训练:由于周期性的注意力机制,我们网络中的不同的模块(两个ST-LSTM层和全局上下文记忆单元,如图3所示)之间相互作用频繁。此外,在多次注意力机制迭代的过程中,还引入了新的参数。由于这些事实,直接对整个网络的所有参数和所有注意力迭代实施精炼是相当困难的。
因此,我们提出了一种逐步精炼模型参数的GCA-LSTM网络训练方案。该方案的细节如图4(b)和算法1所示。
所提出的逐步训练方案在精炼参数和保证GCA-LSTM网络收敛性方面是有效的。具体来说,在每个训练步骤n中,在迭代0到n2时候我们使用注意力机制只需要优化子集参数和模块。训练这个缩小的网络比直接训练整个网络更有效。在步骤n+1中,需要精炼更大规模的网络。然而,第n+1步的训练也是非常有效的,因为大多数参数和通道(passes)都已经在之前的训练步骤精炼了。
在上述设计(第三节)中,GCA-LSTM网络通过选择性地聚焦于每一帧的信息关节点来实施动作识别,注意了机制在关节点水平实施(细粒度的注意)。除了细粒度的注意力外,粗粒度的注意力还有助于动作分析。这是因为有些动作通常是在身体的某个部位的动作。对于这些动作,来自同一信息性身体部位的所有关节点都具有相似的重要性。例如,在NTU RGB+ D数据集[55]中,所有右手关节点(肘关节点、手腕、手掌、手指)的姿势和动作对于识别敬礼动作都是非常重要的。我们需要识别信息性身体部位——右手。这意味着粗粒度(身体部位)的注意力对于动作识别也很有用。
正如Du等人[12]所提出的,根据人体的身体结构,人体骨架可以分为躯干、左手、右手左腿和右腿五个身体部位。这五个部分如图5所示。因此,我们可以根据动作序列来衡量每个身体部位的信息量程度,然后实施粗粒度的注意力机制。
具体地说,我们扩展了GCA-LSTM模型的设计,在这里引入了一个双流GCA-LSTM网络,它同时利用了细粒度(关节点)注意力流和粗粒度(身体部位级别)注意力流两种流的注意力。
图5展示了双流GCA-LSTM的结构。在每个注意流中,都有一个全局上下文记忆单元来维护动作序列的全局注意力机制的表示,第二个ST-LSTM层来实施注意力机制。这表明我们在整个体系结构中有两个分离的全局上下文记忆单元,分别是细粒度的注意力记忆单元()和粗粒度的注意力记忆单元。第一个ST-LSTM层用于编码骨架序列和初始化全局上下文记忆单元,两个注意力流是共享的。
细粒度注意流中的流程(包括初始化、注意力机制和精炼)与第三节中介绍的GCA-LSTM模型相同。粗粒度注意流中的操作也类似。主要的区别是,在第二层,粗粒度的注意力流通过有选择地聚焦在每一帧中更具信息性的身体部位来实施注意力机制。
具体而言,在迭代注意力n中,信息量分数在每个身体部位P (P ∈ {1, 2, 3, 4, 5})表示为:
是时间t下身体P的表示,计算方式是基于身体部分P的所有关节点的隐藏表示信息求和,公式如下:
表示关于P的关节点数。
为了实施粗粒度的注意力,我们允许每个关节点j在身体部位P中共享P的信息量程度,即,在第t帧,P中的所有关节点都使用相同的信息性分数,如图5所示。因此在粗粒度注意力流,如果,第二个ST-LSTM层在时空步骤(j,t)处得到单元状态被更新,如:
双流GCA-LSTM网络也实施多次迭代,最后,精炼细粒度注意力信息和粗粒度注意力信息都送入softmax分类器,并且取这两个流的预测分数的平均值。
所提出的逐步训练方案也可以应用于这个双流GCA-LSTM网络中,在训练步骤#n( )时,我们同时精炼了两个注意力流对应这第n次注意力迭代。
我们在NTU RGB +D [55],SYSU-3D [71],UT-Kinect [47],SBU-Kinect Interaction[72]和Berkeley MHAD [73]数据集上评估我们提出的方法。为了研究我们的方法的有效性,我们对以下不同的网络结构实施了广泛的实验:
• “ST-LSTM + Global (1)”: 这种网络架构类似于最初的两层ST-LSTM网络[29],将第二层各时空步骤的隐藏表示串联并输入到一层前馈网络,生成骨架序列的全局表示,对全局表示进行分类;而在[29]中,在每个时空步骤(局部表示)对单个隐藏表示进行分类。
• “ST-LSTM+Global (2)”:这个网络和“ST-LSTM+Global (1)相似,只是平均隐藏表示来作为全局表示。
• “GCA-LSTM”:全局上下文意识LSTM网络,两种注意力迭代在网络中被实施,分类在最后一次精炼全局记忆单元时候,两种训练方法(直接和逐步)在Section III-C中描述。
此外,我们还采用大规模NTU RGB+D和具有挑战性的SYSU-3D作为两个主要的基准数据集来评估提出的双流GCA-LSTM网络。
采用随机梯度下降(SGD)算法训练我们端到端的网络。我们设定学习率,衰减速率和动量分别为1.5×10-3,0.95和0.9。我们的网络中应用的丢失率[75]设置为0.5。全局上下文记忆大小和ST-LSTM网络的单元状态都是128。
Kinect(V2)收集了NTU RGB + D数据集[55]。它包含超过56000个视频样本。共有40个不同的对象共实施60个动作分类。据我们所知,这是最大的基于RGB + D的公开的动作数据集。主题和视图的巨大差异使这个数据集具有挑战性。这个数据集有两个标准评估协议:(1)交叉主题(CS):20个对象用于训练,其余对象用于测试;(2)交叉视图(CV):两个摄像头视图用于训练,一个摄像机视图用于测试。为了广泛评估提出的方法,在我们的实验中两种协议都进行测试。
我们将提出的GCA-LSTM网络与最先进的方法进行比较,如表1所示。我们可以观察到,我们提出的GCA-LSTM模型优于其他基于骨架的方法。具体来说,在[29]中,我们的GCA-LSTM网络比最初的ST-LSTM网络表现要好,交叉主题协议(cross subject protocol)占6.9%,交叉视图协议占6.3%,而交叉视图协议(crossview protocol)性能比ST-LSTM网络高出6.3%。这说明我们网络中的注意力机制带来了显著的性能提升。
ST-LSTM + Global(1)和ST-LSTM + Global(2)都对全局表示实施分类,因此它们的性能略优于对局部表示实施分类的原始ST-LSTM[29]。我们还观察到ST-LSTM + Global(1)和ST-LSTM + Global(2)的表现类似。
表I的结果也表明,与直接训练法相比,采用逐步训练法可以提高网络的性能。
我们还对双流GCA-LSTM网络的性能实施了评估,结果如表II所示。结果表明,通过将细粒度的注意力和粗粒度的注意力相结合,所提出的双流GCA-LSTM网络比仅细粒度注意力的GCA-LSTM网络具有更好的性能。我们还观察到,采用逐步训练法可以提高双流GCA-LSTM的性能。
使用Kinect采集的SYSU-3D数据集[71],其中包含480个骨架序列。该数据集包括12个动作类,由40个对象示范。SYSU-3D数据集非常具有挑战性,因为不同的动作类之间的动作模式(motion patterns)非常相似,并且在这个数据集有很多视角变化(viewpoint variations)。
我们遵循[71]中关于该数据集的交叉验证协议的标准,在该数据中,采用20名对象对网络实施训练,其余对象保留作为测试。实验结果见表III。我们可以观察到我们的GCA-LSTM网络在[29]、[71]和[80]中超越了目前最先进的基于骨架的方法,这证明了我们的方法在处理骨架序列中的动作识别任务时的有效性。结果表明,我们提出的逐步训练方案对我们的网络是有用的。
使用这个具有挑战性的数据集,我们还评估了双流注意力机制模型的性能。表IV的结果表明,双流GCA-LSTM网络对于动作识别是有效的。
UT-Kinect数据集[47]是用一个固定的Kinect来记录的。这个数据聚焦的骨架序列噪音很多。10个对象共完成10个类别,并且每个动作由相同的对象示范两次。
我们在这个数据集上遵循leave-one-out-cross-validation协议的标准来评估我们的方法 [47],我们的方法在这个数据集表现很好的性能,如表V所示。
SBU-Kinect交互数据集[72]包含8个双人互动识别(interaction recognition)。此数据集包含282个序列,对应6822帧。SBU-Kinect交互数据集具有挑战性,因为(1)Kinect所记录的骨架关节点坐标的精确度相对较低,(2)两个人在许多动作序列中有着复杂的互动。
我们按照 [72] 中的标准协议在该数据集进行5倍的交叉验证来评估。实验结果如表IX所示。表中HBRNN [12]、Deep LSTM[28]、LSTM [28]、ST-LSTM [29] 都是基于LSTM的骨架序列动作识别模型,与我们的网络关系非常密切。可以看出,在所有这些方法中,提出的GCA-LSTM网络的性能最好。
伯克利MHAD数据集是通过动作捕捉系统(motion capture system)记录的。它包含659个序列和11个动作类,由12个不同的对象完成。
我们在这个数据集上采用了标准的实验协议,其中7名对象被用作训练,其余5名对象用作测试。表X的结果表明,我们的方法在该数据集上有很高的准确率(100%)。
由于Berkeley MHAD数据集是用动作捕捉系统而不是Kinect收集的,因此骨架关节点是相对准确的。评估在输入噪声时候的鲁棒性,在这个数据集,也测试我们的GCA-LSTM网络的性能,通过在骨架序列中添加零均值输入噪声,并将结果显示在表VI。我们可以看到,即使我们将添加标准噪声值设置为12厘米(人体)的规模,我们的方法的准确性仍非常高(92.7%)。这表明我们的方法输入有噪声时具有很强的鲁棒性。
我们还测试了不同的注意迭代次数对GCA-LSTM网络的影响,结果如表VII所示。我们可以观察到,增加迭代次数有助于增强我们网络的分类性能(使用2次迭代比使用1次迭代获得更高的精度)。这说明我们提出的周期性注意力机制对于GCA-LSTM网络是有用的。
具体来说,我们还使用大规模NTU RGB+D数据集对3次注意力迭代后的性能实施了评估,结果如表VIII所示。我们发现,如果我们在不同的注意迭代上共享参数(见表VIII中的列(a)和(b)),3次注意力迭代的性能略好于2次迭代。由于GPU的内存限制,在我们的实验中不尝试很多的迭代。
我们还发现,在不同的迭代中不共享参数的话(见表VIII第(c)列和(d)列),过多的迭代会导致性能下降(使用3次迭代的性能比使用2次迭代的性能差)。在我们的实验中,我们观察到性能下降是由过拟合引起的(如果不共享参数,增加迭代次数会引入新的参数),但是在这种情况下,两个迭代的性能仍然明显优于一个迭代。我们还将对V-G部分详细的参数共享方案实施实验分析。
如式(5)所示,引入模型参数和为了计算第二层各时空阶段的信息量得分。在这一层还实施了多次注意力迭代。为了规范网络中的参数,提高泛化能力,我们研究了网络的两种参数共享策略:(1)迭代内的共享:和在同一次注意力迭代中的所有时空步骤共享;(2)共享交叉迭代: 和 在不同的注意力迭代上共享。我们研究了这两种参数共享策略对GCA-LSTM网络的影响,结果如表VIII所示。
在表VIII中,我们可以看到:(1)迭代内的参数共享对于增强网络的泛化能力很有用,表VIII (b)和(d)列的性能分别优于(a)和(c)列。(2)在不同迭代间共享参数有助于处理过拟合问题,但是有可能限制表达能力(representation capacity),因此我们在两个注意力迭代内共享参数并且在两个迭代间不共享参数,从而实现了最优的结果。(见表VIII(d)栏)。因此,在我们GCA-LSTM网络中,我们只共享了迭代内的参数,并使用了两个注意力迭代。
之前的实验表明,与直接训练相比,采用逐步训练法可以提高我们网络的性能(见表I,V,III,IX),进一步考察这两种训练方法的性能,我们在图6中绘制了GCA-LSTM网络的收敛曲线。
我们分析了逐步训练法的收敛曲线(图6),如下图所示。通过使用提出的逐步训练方法,在训练步骤#0中,我们只需要训练子网络来初始化全局上下文 ,即只需要优化一部分参数和模块,训练效率高,损失曲线收敛速度快。当确定损失函数停止减小时,我们开始下一个训练步骤#1。Step#1包含了第一次注意迭代的新参数和模块,这些参数和模块还没有被精炼,因此在这个阶段损失会立即增加。然而,这一步涉及到的大部分参数前一步#0已经通过了很好的预训练,因此网络训练是相当有效的,在仅仅一个训练阶段之后,损失就降到了非常低的值。
通过比较两种训练方法的收敛曲线,我们可以发现(1)如果使用逐步训练,网络收敛速度要比直接训练整个网络快得多。我们还可以观察到(2)网络通过直接训练的方法更容易过度拟合,因为在第20个epoch后,训练损失和实际损失之间的差距开始增大。这些观察结果表明,所提出的逐步训练方案对于训练我们的GCA-LSTM网络是非常有用的有效地。
在III-B.2部分,我们引入两个方法来初始化全局上下文记忆单元()。第一个是对第一层的隐藏表示实施平均(见Eq.(4)),第二个是使用一层前馈网络来获取。我们在表XI中比较这两个初始化方法。结果表明,这两种方法的性能是相似的。在我们的实验中,我们还发现,通过使用前馈网络,模型收敛速度更快,因此我们使用前馈网络的方案来初始化GCA-LSTM网络中的全局上下文记忆单元。
在GCA-LSTM网络中,信息性得分被LSTM神经元的门结构使用,如Eq. (7)那样,我们还探索用软注意方法[15][62]代替这种方案,即注意力计算表示。使用软注意力,在NTU RGB + D数据上的准确率下降了大约1个百分点。这可以解释为在LSTM神经元上门结构为LSTM提供了更好的关于何时更新、何时忘记或何时记住的信息。此外,它可以保留了输入序列的位置信息,而软注意力丢失了序列信息和位置信息。
为了更好地了解我们的网络,我们在本节中使用全局上下文信息,在大规模NTU RGB + D数据集上分析和可视化信息性得分。
我们分析了两次注意力迭代中信息性得分的变化,验证了我们方法中周期性注意力机制的有效性,并在图7中展示了三个动作(自拍、指向某物、踢别人)的定性结果。采用软注意法计算信息性得分,实现可视化。在这个图中,我们可以看到两个注意力迭代之间的注意性能提高了。在第一个迭代中,网络试图在框架上识别潜在的信息连接。在这之后,网络对全局动作有了很好的了解。然后在第二次迭代中,网络可以更精确地聚焦在骨架序列的每一帧的信息性关节点上,我们还可以发现,在不同的帧下,同一关节点的信息性得分是不同的。这表明,我们的网络不仅在空间域内,而且在时间域内都具有注意力。
为了进一步定量评价注意力机制的有效性,我们分析了图7中三个动作类在所有动作中的分类精度。我们观察如果不使用注意力机制,这三种类型的准确率分别为67.7%,71.7%,81.5%。然而,如果我们使用一个注意力迭代,准确率分别上升到67.8%,72.4%和83.4%。如果实施两次注意力迭代,准确率分别为67.9%、73.6%和86.6%。
为了粗略探究NTU RGB + D数据聚焦哪个动作节点的信息量更大,我们还平均了所有测试序列中同一节点的信息性得分,并将其可视化如图8所示。我们可以观察到,平均而言,很多的注意力被分配到手和脚关节点。这是因为在NTU RGB + D数据聚焦,大部分动作都与手脚的姿势和动作有关。我们还发现,右手关节点的平均信息性得分高于左手关节点。这表明大多数对象都是右撇子。
本文对原有的LSTM网络进行了扩展,构建了基于骨架的动作识别的全局上下文-意识注意力机制(Global Context-Aware Attention)LSTM (GCA-LSTM)网络,该网络在全局上下文信息的辅助下,在选择性聚焦骨架序列的每一帧的信息性关节点上有较强的能力。此外,我们还为GCA-LSTM网络提出了一种周期性注意力机制,在此机制中,随着迭代中选择性聚焦能力得到了提高。此外,还介绍了一个双流注意力框架。实验结果验证了我们的方法的贡献,通过在5个具有挑战性的数据集上达到最先进的表现。
这项工作是在新加坡南洋理工大学(NTU)的快速丰富对象搜索(the Rapid-Rich Object Search )(ROSE)实验室进行的。
本文作者感谢英伟达AI技术中心(NVAITC)的支持,感谢他们为ROSE实验室的研究提供了特斯拉K40和K80 GPU。J. Liu感谢西澳大学的Qiuhong Ke的讨论带来的帮助。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。