APP下载

基于2S-LSGCN的人体动作识别

2022-03-01邱卫根张立臣黄云晖

计算机工程与设计 2022年2期
关键词:关节点双流骨架

叶 典,邱卫根,张立臣,黄云晖

(广东工业大学 计算机学院,广东 广州 510006)

0 引 言

随着网络多媒体的快速发展以及视频获取设备的日渐普及,越来越多的视频被共享。如何理解和分析这些海量涌现的视频数据具有重大的理论及应用价值[1,2]。一般而言,人类行为可以从多种模式中识别[3-5],其中人的骨架关节图中包含丰富的动作特征信息[6-9]。通过分析动态骨架模态与运动模式的关系,就可以对人类的动作进行识别。

尽管传统的卷积神经网络在文本和图像领域带来提升[10-13],但是它仅能处理欧氏空间数据,不能直接处理不规则的非欧式空间数据。最近,Shahroudy等[14]已开发出尝试利用关节之间自然连接的方法。Donahue等[15]提出GCA-LSTM用来建模动作序列中有效的全局上下文信息,该模型能有效提取人体动作的时序特征,但模型收敛慢,训练难度大。Yan等[16]提出了一种基于距离的采样函数来构造图卷积层,然后将其用作基本模块以构建时空图卷积网络。Liu等[17]构建基于骨骼特征的全局上下文感知LSTM(GCA-LSTM)网络,在人体动作识别数据集NTU-RGBD上的识别率达到77.1%。

本文从以上问题出发,提出了一种基于GCN与LSTM相结合的双流网络方法2S-LSGCN。本模型中,GCN网络主要用于提取人体骨架中隐含的空间特征信息,采用Bi-LSTM提取完整骨架图中动作的时间特征信息作为补充,并在输入LSTM网络前加入时间特征下采样层,用于提取丰富且抽象的时序特征。最后分别将双流网络的预测输出进行晚融合,得到双流网络最终预测输出值。该方法在具有3D骨骼关节点的数据集NTU-RGBD上进行验证。

1 相关原理介绍

1.1 人体骨架特征的获取

在视频流的人体动作识别任务中,大多数研究者关注的仅仅是RGB视频流中的像素信息,忽略人的动作表现,最主要是由骨架和关节点间相互牵引协作共同完成,所以人的骨架关节图中包含丰富的动作特征信息。但大多数动作识别数据集,例如HMDB、20BN-jester、Kinetics等,只有RGB视频或图像样本,并没有标注人的关节点信息。

目前主要有两种方法获取时序流的人体关节点特征信息:①通过Kinect(3D体感摄影机)捕捉三维空间中人物的运动的深度信息,进而从深度图像中获取骨骼点坐标组成人体骨架关节图,具体流程如图1所示;②动作RGB视频流可以使用2D姿态估计算法(例如OpenPose),提取其中人物的关节点2维坐标和关节间的骨骼信息。

图1 Kinect获取骨架图的架构

1.2 图卷积神经网络

卷积神经网络是深层神经网络一种经典而广泛应用的结构,其中深层神经网络是包含多级非线性变换的层级机器学习方法,所以CNN在这方面更加超越原始基础的神经网络。卷积神经网络的局部连接、权值共享和池化运算可以有效地降低网络的复杂度,减少训练参数的数目,使模型在一定程度上对平移、失真和缩放不变性,具有较强的鲁棒性和容错性,且易于训练并进行优化。

尽管传统的卷积神经网络在文本和图像领域带来提升,但是它仅能处理欧氏空间数据,却不能直接处理不规则的非欧式空间数据。但由人的动作可以由关节间位置的变化[15,19],抽象成图结构表示,所以2D或3D关节点坐标组成的动作骨架关节图中,包含了丰富的动作特征信息。最近,已开发出尝试利用关节之间自然连接的新方法。骨架关节图是图结构形式,而不是2D或3D网格,这使得很难使用卷积网络等经过验证的模型。对于基于骨骼的动作识别任务,Yan等[16]首先应用GCN对骨架数据进行建模。提出了一种基于距离的采样函数来构造图卷积层,然后将其用作基本模块以构建最终的时空图卷积网络。

由于输入网络的人体骨架时空图是不规则的非欧式空间数据,传统的卷积网络(CNN)不能直接应用于提取图数据的特征,因此使用图卷积提取关节点空间上的局部位置特征。对于骨架时空图的空间维度,图卷积(graph convolution operation)对于各个顶点vi的卷积运算如下

其中,fout表示特征结构体,vj表示图中的顶点,Bi表示卷积操作在vi上的感受野(定义卷积中心和它邻居节点相距1)。 W是权重函数,与传统卷积(CNN)的相似。

1.3 长短期记忆网络

RNN在视频时序类任务中已经成为常用方法,而LSTM是目前效果最好的一种RNN,主要得益于它具有长时间的记忆,在处理序列时,该时刻的输出特征,将会与下一个时刻的样本信息一起输入,如此很好保留了序列的时间信息,大大提升模型对动作帧间信息的感知能力。

LSTM通常用来处理依赖时间的序列问题,但LSTM的记忆能力也是有限的,Bi-LSTM处理时间序列的能力更强。Bi-LSTM使用两层不同方向的LSTM相连,用于捕获三维骨骼坐标随时间演变的深层时空特征。LSTM网络主要包含:3个gate门(输入门it、 遗忘门ft、 输出门ot), 单元状态ct, 隐藏状态ht。 其中LSTM从时间序列中提取关联信息的能力,主要得益于单元状态ct, 隐藏状态ht的巧妙设计,这使得LSTM能选择丢弃或保留具有时序意义的特征。具体运算如下式

ft=σg(Wfxt+Ufht-1+bf)it=σg(Wixt+Uiht-1+bi)ot=σg(Woxt+Uoht-1+bo)ct=ft∘ct-1+it∘σc(Wcxt+Ucht-1+bc)ht=ot∘σh(ct)

2 本文的模型

2.1 总体框架

在这一节中,主要介绍本文提出的2S-LSGCN双流网络结构的细节。2S-LSGCN是由长短记忆网络(LSTM)与图卷积神经网络(GCN)相结合,其中图卷积神经网络(GCN)用于提取骨架图中节点的空间关系特征,并使用时间记忆能力更强的双向长短记忆网络(Bi-LSTM),用于提取骨架图中动作序列的时间特征信息。

具体的,模型的思路是利用2D姿态估计算法,从动作视频流中计算出人体关节点,在每一帧空间上的2维坐标 (x,y,c), 其中x,y分别表示二维坐标,c表示置信度。并将时间与空间上的关节特征组成的骨架关节图,分别输入GCN网络和LSTM网络中。由于原始骨架关节的时间序列长度过长,且每个视频样本的时长不一,LSTM网络无法有效提取时间序列前后的特征关系。通过加入时间特征下采样层(subsampled layers),对骨架关节图中时间维度进行降维处理。最后分别将双流网络的预测输出进行晚融合(late fusion),提高单个网络泛化能力不足的问题。本文的模型如图2所示。

图2 2S-LSGCN网络结构

2.2 构建骨架关节图

本文采用图结构数据—骨架关节图,分别作为LSTM和GCN两个网络的输入。以下介绍骨架关节图的构建方法。首先,本文采用2D姿态估计算法,OpenPose获取视频中各帧关节点的坐标信息,并将每一帧关节点不同位置的坐标,组合成骨架关节时空图。

具体的,需要将所有视频的分辨率调整为较小的(340×256),帧率转换为30 FPS。这样做的目的是,提高姿态估计的准确率,并减小模型的推理时间。其次,使用OpenPose工具箱来估计每一帧中18个关节的位置。该工具箱在像素坐标系中提供了2D坐标 (x,y), 并给出了18个人体关节的置信度得分c。 因此,我们用 (x,y,c) 元组表示每个关节的二维坐标信息。

2D姿态估计算法仅仅只是获得关节点的坐标信息,但关节点间的空间和时间维度并没有建立联系,并不能直接输入图卷积神经网络,所以首先要根据关节坐标建立完整的骨架关节图。在视频的一帧中,原始的骨架数据始终以向量序列的形式表示,每个向量代表相应人体关节点的2D或3D坐标。对于不同的样本,一个完整的动作包含多个长度不同的帧。本文建立的图结构遵循ST-GCN[16]的工作,采用时空图来模拟这些关节沿空间和时间维度的结构化信息。图3显示了所构建的时空骨架关节图,其中关节表示为顶点,而它们在人体中的自然连接表示为边。对于时间维度,相邻两帧之间的相应关节与时间边缘连接,每个关节的坐标矢量设置为相应顶点的属性。

图3 时空骨架关节

2.3 空间GCN网络

相比于动作RGB视频流动作,骨架关节图的特征维度更小。所以基于图结构作为输入的网络,不仅在运行速度成倍提升,而且计算量也远远小于传统CNN网络。但同样带来一个难题,就是如何在空间拓扑结构简单和时间序列信息缺乏的情况下,依然能保持很高的识别准确率。也就是如何从少量的低维特征中,提取出抽象的高维特征,进而准确预测出动作的类别。从这个问题出发,本文使用多层堆叠的深层神经网络,具体是将多个输入输出维度不同的图卷积层进行堆叠,进而提取出丰富的高维特征。其次,人的关节点数目一般小于30个,所以采用3*3尺度小的卷积核,大大缩小感受野,并能更集中地提取到空间依赖性强的关节信息。最后,实验结果表明小于9层的图卷积网络,预测结果会大大降低,而大于9层后,网络的准确率不仅没有提高,计算量反而成倍增加,所以本模型将图卷积层的数量确定在9层。

骨架时空图中各顶点并没有固定数量的邻居节点,所以在图结构数据中做卷积操作,需要定义映射函数li, 使得各个顶点对应唯一的权重向量。根据ST-GCN中的结果显示,依据离重心点的距离定义分割策略,得到的映射函数最优。具体运算如下式

该策略将图卷积核尺寸设为3,并将感受野Bi分为3个子集:①S1根节点本身;②S2向心子集,即该邻居节点离重心更近;③S3离心子集,即该邻居节点离重心更远。

随着网络深度的加深,多次卷积连乘后梯度越来越小,出现了梯度消散的问题。且输入维度与输出维度相差太大,提取特征过于抽象,与原始特征信息相差甚远,导致动作预测的准确率降低。所以本文引入了残差机制(skip connect),将卷积层的输入特征与该层的输出进行融合,计算模式如下式所示

xl+1=xl+F(xl,Wl)

其中,xl,xl+1分别表示为图卷积层的输入特征与输出特征,F表示为该层中一系列的非线性变换,Wl为权重参数的集合。若特征经过卷积层后,输出的特征维度发生变化,则需要在残差公式中加入上采样或下采样处理,视具体情况而定。修改后的公式如下

xl+1=h(xl)+F(xl,Wl)

为避免在该层产生过拟合,并降低网络的参数量。将图卷积网络的输出特征进行全局池化,最后损失函数是ReLu函数,对输入进行非线性处理,输出预测结果。

2.4 时间LSTM网络

长短记忆网络是一种时序神经网络(RNN),能够记住很长一段时间序列的前后特征关系。由于图卷积神经网络仅适用简单的时间卷积核,对骨架关节图的时间维度进行处理。因此只提取到部分关节点前后变化的特征,却丢失视频流丰富的时间信息。所以本文模型选择使用双向长短记忆网络(Bi-LSTM)作为补充,Bi-LSTM能够同时学习顺序和逆序的时间信息,以此增强模型对时序信息的提取能力。

不同于端到端的CNN-LSTM网络,将CNN提取的高维特征输入LSTM中。在本文模型中,双层Bi-LSTM网络使用原始未经处理的骨架关节时空图作为输入,因此保留了更加丰富的原始时序特征。具体的,BL-1、BL-2表示第一层和第二层Bi-LSTM层。即将BL-1与BL-2层堆叠在一起,BL-1的输出作为BL-2的输入。具体通过如下公式表示

fout(x)=fBL-2(fBL-1(x,W1),W2)

其中,fout为第二层Bi-LSTM的输出, fBL-1(*) 为第一层Bi-LSTM的特征提取函数, fBL-2(*) 为第二层Bi-LSTM的特征提取函数,W1、W2分别表示BL-1与BL-2层的权重参数。

由于输入的原始骨架关节时空图中,时间的特征序列长度太长,且每个视频样本的时长不一。以10 s的跑步视频V1为例,经过30 FPS/S提取出一个代表视频的输入样本 {x1,x2,x3,…,xt-1,xt}, 其中t=300, 即输入的时间特征维度T=300。 若将该样本数据直接输入Bi-LSTM网络中,则网络中的输入维度也必须与样本特征维度相等。但循环神经网络的记忆能力是有限的,Bi-LSTM无法从T=300这么长的时间特征中学习到前后的相关性,并且将会大大增加网络的权重数量,损耗大量的计算资源。

基于上述问题,本文在骨架关节图直接输入Bi-LSTM网络之前,引入下采样层(subsampled layer),通过对样本的时间维度进行下采样,得到时间维度更短、特征更抽象的时间序列。通过调查研究发现,均值池化(mean-pooling)与1*1卷积(1*1 convolution)两种常见且有效的下采样策略。均值池化对图像特征进行降维的效果优异,但由于图结构数据与欧氏空间数据最大的区别在于,图中各顶点间存在空间拓扑关系,而均值池化会丢失这种重要的拓扑连接。所以本文采用1*1卷积操作,对骨架关节图的时间维度进行下采样降维。具体用T、T′分别表示下采样层的输入和输出时间维度,其中T=300经过下采样后得到T′=75。 实验结果表明,当T′=75, Bi-LSTM能学到更好的时间特征依赖,具体见实验部分。

2.5 双流2S-LSGCN网络

将2.4节的GCN与2.5节改进的Bi-LSTM网络进行融合,形成2S-LSGCN双流网络,不仅大大提高了识别的精度,而且是并行同步运行的强大特征提取网络。其中GCN用于提取输入的骨架关节点间的空间信息,改进的Bi-LSTM提取依赖于时间的时间特征,以此补充GCN在时间敏感性上的不足。将两个网络的预测结果进行晚融合(late fusion),得到双流网络最终的预测输出值。

具体的,通过相加并行(add connection)策略,结合GCN与Bi-LSTM两个网络的检测结果改进最终的检测性能。具体公式如下

y2S-LSGCN=yGCN+α*yBi-LSTM

其中,y2S-LSGCN表示双流网络最终的分类(classification)预测结果,yGCN,yBi-LSTM分别表示GCN和Bi-LSTM网络的检测结果。α是通过实验结果反馈,可调整的超参数。

3 实验及其结果分析

3.1 实验数据集

本文的实验是在富有挑战性的NTU-RGBD数据集上进行的,该数据集是目前在人体动作识别领域,最大的具有3D关节标签的数据集。该数据集包含60个日常动作类别,共56 000个动作视频片段,部分动作样例如图4所示。这些视频动作样本是由3个固定位置的Kinect深度传感器,在实验环境下采集40个志愿者演示的结果。其中,每一帧骨架序列包含人体的25个关节点的3D坐标信息 (x,y,z)。 除此之外,该数据集可按训练与测试集样本类型的不同,分为两个具有挑战性的任务——跨人物(cross-subject,X-Sub)与跨视角(cross-view,X-View)。①X-Sub:训练集共40 320个样本,测试集包含16 560个样本。其中训练集均来自同一个志愿者的动作,该任务要求模型在包含不同人的测试集上进行性能评估。②X-View:训练集共37 920个样本,测试集18 960个样本。其中训练集的动作片段,采集自摄像机2号与摄像机3号。测试集的样本全部均有摄像机1号采集获取。

图4 NTU-RGBD数据集的部分样例

3.2 实验细节

本实验将双流网络中的GCN与LSTM,分开在两台服务器上并行运行,之后将GCN和Bi-LSTM在NTU-RGBD数据集上返回的预测结果,通过晚融合得到双流网络的最终输出。空间流(GCN)与时间流(LSTM)网络均采用原始的骨架关节图 (N,C,T,V,M) 作为输入,参数分别对应(批大小、关节点维度、时序长度、关节点数量、单帧中人的个数)。Bi-LSTM网络使用的优化器为Adam优化器,批大小设置为40。Bi-LSTM中的下采样层,即1*1卷积层的输入维度T=300, 输出维度T′=75。 除此之外,GCN与LSTM网络均采用小批量随机梯度下降来学习网络权重,权重衰减设置为10-4,且初始学习率与dropout的大小分别为0.1,0.5。两个网络的激活函数为ReLu,最后用Softmax函数实现最后的输出。

本文模型使用基于python的深度学习框架PyTorch实现,并在Ubuntu16.04系统,NVIDIA-P100 32 G显存的GPU上进行实验。

3.3 实验结果和分析

在2.4节中介绍了1*1卷积下采样层,为了验证下采样层对Bi-LSTM网络性能提升的有效性。本文在NTU-RGBD数据集的跨人物(cross-subject,X-Sub)任务中,双层Bi-LSTM网络上进行实验,具体实验结果见表1。从表中可以看出,当不使用下采样层,即直接使用时间维度T=300的原始骨架图作为输入,网络在验证集上的Top1精度仅为54.38%,远远低于时间降维后的结果。其次,在实验中不断调整下采样层的输出维度时,发现时间维度越高T=125, 虽然保留的特征信息越丰富,但不利于Bi-LSTM 网络学习时间特征前后关系。但时间维度降维到更抽象的T=50时,却会严重丢失时序信息。而当降维使用得恰当,即T=75能使Bi-LSTM网络的预测Top1精度达到最高66.90%。所以本文以下实验中,统一采用该下采样层参数。

表1 不同下采样维度的影响

为分析不同LSTM网络对双流网络预测结果的影响,做了以下对比实验。从表2可以看出,当没有LSTM网络时,GCN单流网络的精度要低于其中任何一个双流网络。并且,在仅使用简单的单层LSTM网络作为补充,就能提高预测精度。Bi-LSTM相比于LSTM有明显的改善,在同等条件下精度提升了0.6%。而当使用双层Bi-LSTM时,Top1的精度提升了将近2%,Top5分类的正确率也提高了1%~2%,这主要得益于Bi-LSTM能够学习到时间的逆序信息。

表2 LSTM网络对2S-LSGCN的影响

为了验证本文算法的识别效果,将本文模型与国内外相关模型进行对比。Liu等将RNN同时延伸到时间与空间维度,来同时从两个维度分析数据中的动作信息,在NTU-RGBD数据集X-Sub与X-View上,分别达到50.1%、52.8%的精度。Yan等提出时空图卷积神经网络,在单帧上使用空间卷积,并用时间卷积提取帧间关节点时序特征,该网络达到81.5%、88.3%。Tang等提出了一种用于基于骨架的视频中的动作识别的深度渐进强化学习(DPRL)方法,其旨在提取最具信息性的帧并丢弃序列中的模糊帧以识别动作,分类的精度达到83.81%和89.8%。具体实验比较结果见表3。

表3 NTU-RGBD数据集上的精度对比/%

4 结束语

本文提出一种基于GCN和LSTM结合的双流网络方法,用于解决视频流中动作识别的难题。不同于传统的利用RGB图像作为输入的网络,2S-LSGCN使用人体关节点坐标组成的骨架关节图作为输入,GCN作为空间特征提取器,Bi-LSTM用于提取时间维度的逆序信息。并在时序流网络中,加入1*1卷积下采样层,提取丰富且抽象的时序特征,最后分别将双流网络的预测输出进行晚融合,得到双流网络最终的预测输出值。本文2S-LSGCN模型在富有挑战性的NTU-RGBD数据集上分别达到83.8%、90.2%的精度,结果表明本文所述识别算法具有较高的识别能力,该识别方法可行。

猜你喜欢

关节点双流骨架
国内首条双流制市域(郊)铁路开通运营
四川省成都市双流区东升迎春小学
浅谈管状骨架喷涂方法
种子醒了
基于深度学习和视觉检测的地铁违规行为预警系统研究与应用
重载机车网络重联TCN 故障节点识别方法研究*
关节点连接历史图与卷积神经网络结合的双人交互动作识别
骨架密度对炭/炭多孔骨架压力浸渗铜的影响
四川省成都双流中学实验学校
周博士考察拾零(六十六)日光温室前屋面开机具作业门处骨架的处理方法