APP下载

基于路径签名的改进时空图卷积网络*

2022-12-22

计算机工程与科学 2022年12期
关键词:手势骨骼卷积

赵 艺

(伦敦大学学院数学学院,伦敦 WC1E 6 BT)

1 引言

手势是人机交互的一种方式,也是人类日常交流的重要方式。手势识别是指利用计算机来分析和识别手势,它是人机交互、智能驾驶等领域的一个热门话题。根据是否需要时间序列信息,手势识别方法可以分为静态手势识别和动态手势识别。在日常生活中,人与人之间的手势交流大多涉及动态手势,因此动态识别具有较强的实用性。随着硬件技术的飞速发展,动态识别方法越来越受到人们的重视。此外,由于手势本身的多样性和差异性,动态手势识别仍然是人工智能领域一个具有挑战性的研究方向。

现有的动态手势识别方法一般分为2类:基于图像的方法[1,2]和基于骨骼的方法。第1类方法通过提取图像的特征来进行分类识别。例如,Iwai等人[3]使用一个有颜色的手套结合决策树来进行手势识别。随着手势估计[4,5]的发展以及深度传感器的引入,研究人员可以更容易地获得关节的精确坐标,因此促进了基于骨骼信息的动态手势识别的研究。骨骼数据对光照和遮挡的变化具有鲁棒性,可以避免图像的运动模糊。因此,基于骨骼的动态手势识别已经成为一个活跃的研究方向。大多数基于骨骼的手势识别方法可以分为传统特征设计的方法和深度学习方法。传统的手势识别方法需要对输入的手势图像进行预处理以提取光流,并据此来提取多种图像特征,最后再编码并通过机器学习来进行分类。深度学习则有效解决了手动构造特征这一难点,它可以从数据中自适应地学习特征的分布,而避免了复杂的手动计算。一些研究使用卷积神经网络CNN(Convolutional Neural Network)[6,7]和递归神经网络RNN(Recurrent Neural Network)[8],还有一些研究将CNN与LSTM(Long Short-Term Memory)[9]相结合。但是,在大多数基于深度学习的方法中,将骨骼数据表示为一维或二维向量并不能很好地表达出骨架之间的结构化信息,骨骼的空间结构和时间动态没有得到很好的利用,因此很难很好地识别视频数据。

最近,人们越来越关注到骨骼拓扑结构之间的关系,图卷积网络可以很好地表征这层关系,所以时空图卷积网络 ST-GCN(Spatial Temporal Graph Convolutional Network)[10]随之被提出。ST-GCN的提出者首先基于图卷积网络GCN(Graph Convolutional Network)对骨骼数据进行建模,然后在相邻帧的相关节点之间构建时序关系,提出了一种时空图卷积模块来搭建分类器。然而ST-GCN中的GCN在描述非骨骼连接的关节关系方面有所欠缺,时间卷积网络TCN(Temporal Convolutional Network)在描述时间信息方面存在不足。手工构建的非骨骼连接可以强化节点之间的信息交流,粗糙路径签名是一种有效的表示序列数据信息的方法,利用路径签名可以从时间序列数据中提取重要特征。路径签名与原始数据是一种一一对应的关系,它在理论上是无穷维的,但由于高阶信息呈阶乘衰减O(n!),所以在实际使用中均使用截断签名。Graham[11]使用路径签名特征作为CNN特征映射,解决了大规模在线手写字符识别问题,显著提高了在线字符识别的精度。Yang等[12]利用路径签名特征,取得了良好的手写识别效果。因此,为了解决时空图卷积网络对空间和时间信息描述不足的问题,本文在目前流行的时空图卷积网络的基础上,重新设计了GCN的关节邻接矩阵,得到改进时空图卷积网络SIT-GCN(Spatial Improved Temporal Graph Convolutional Network),并结合路径签名理论,提出了一种精确、高效、鲁棒的基于路径签名的改进时空图卷积网络SSIT-GCN(Signature Spatial Improved Temporal Graph Convolutional Network),并将该网络应用于基于骨骼的动态手势识别。

2 时空图卷积网络

2.1 图卷积网络

卷积神经网络用来提取欧几里德数据的特征,对于非欧几里德数据的特征提取(例如图),可以使用一种新的网络——图卷积网络GCN。GCN设计了一种从图数据中提取特征的方法,可以直接作用于图并直接使用其结构信息,因此可以将提取的特征用于节点分类、图分类等。GCN和CNN之间的区别在于用于更新节点特征的卷积层。到目前为止,图卷积层有很多种,下面介绍其中一种。

假设图数据有v个节点,每个节点都有C个特征,数据是维数为v*C的矩阵X。所有节点之间的关系将形成维数为v*v的矩阵A,也称为邻接矩阵。X和A是第1个图卷积层的输入,在每个图卷积层中,对每个节点的邻居节点都进行一次卷积操作。这样,该节点的特征将根据卷积结果进行更新,然后应用激活函数获取输出数据。每通过一个图卷积层后,图上所有节点的特征如式(1)所示:

(1)

2.2 时空图卷积网络

与普通的图卷积网络把每一帧的骨骼视为一个图不同,时空图卷积网络是把整个视频视为一个完整的时空图,应用GCN单元和TCN单元同时学习空间和时间特性,这使得用统一的网络来分析手势成为可能。

首先介绍如何利用输入的节点序列构造一个时空图。用G表示图,用V表示一组顶点,在时空图中V如式(2)所示:

V={Vti∣t=1,…,T;i=1,…,v}

(2)

其中,节点Vti上的特征向量是第t帧第i个关节的坐标向量。用E表示关节的边,E分为第1子集和第2子集2部分,第1子集是每一帧中骨骼自然连接的索引,第2子集是每个节点连续帧的连接索引,第1子集和第2子集分别如式(3)和式(4)所示:

ES={VtiVtj∣(i,j)∈H}

(3)

EF={VtiV(t+1)i}

(4)

其中,H是自然连接的人体关节的集合。

下面简单介绍时空图卷积网络中使用的GCN和TCN。GCN用于了解空间中相邻关节的局部特征。本文用基于划分规则的卷积定义代替原来的GCN,即将A分成3个部分A1、A2和A3,它们分别表示向心运动、离心运动和静止的动作特性,每一部分都具有相同的参数。TCN用于获取关节随时间变化的局部特征,实质由一维卷积和残差跳层组成。

2.3 时空图卷积网络在手势识别上的不足

时空图卷积网络在构建时存在几个缺点,目前已有不少关于空间上的改进。本文在空间上的修改较少,着重于时序上的优化。首先,GCN中使用的邻接矩阵只考虑了相邻关节点的连接信息,但一阶的GCN感受野十分有限,必须设计足够深的网络才可以学习到拓扑距离较远的节点之间的空间信息,这不利于网络的收敛。其次,若TCN感受野大则不易提取小目标的特征,若TCN感受野小则不利于得到结构化的高级语义信息。最后,TCN本质上是时间轴上的一维卷积,而卷积会导致尺寸不断缩小,但在实际使用中,为了方便计算固定尺寸,每层网络都需要填充0,导致引入了大量干扰信息。

3 基于路径签名的改进时空图卷积网络SSIT-GCN

3.1 路径签名

路径签名是一个将原始路径信息转换为一组实数集合的函数,集合中的每一个实数代表着原始路径的某一个几何特征。首先给出路径签名的定义。

(5)

其中,对于任意的整数k≥1和下标集合

如式(6)所示:

(6)

由logS(X)a,b表示的路径X的日志签名是路径X签名的对数。日志签名以更紧凑的方式携带与签名相同的信息,因为签名中存在一些冗余。可以将日志签名视为签名的压缩版本。与签名本身一样,日志签名也分为多个阶数。

路径签名可以唯一地决定路径,它包含了路径的所有信息,每一阶签名都代表路径明确的几何意义,例如一阶路径代表路径的一维增量。

签名变换也可以用于机器学习问题,因为它能够从数据中提取特征。可以通过将原始数据嵌入到一条路径中并计算该路径的签名来获得有关原始数据的重要信息。

3.2 签名层预处理

本文使用不相交窗口和滑动窗口方法求得路径签名特征,作为SIT-GCN网络的输入,对数据信息进行预处理,以解决传统时空图卷积网络对时间信息描述不足的问题。下面介绍签名层预处理的具体方法。假设有N个视频,一个视频中有M个人,每个人有v个节点。C维属性代表每帧中的每个节点的特征,就骨骼数据而言,这些C维属性是二维或三维坐标。假设每个视频都有T帧,因此每个人的节点都可以表示为坐标张量的时间序列。用X表示输入数据,则X是(N,M,T,v,C)的张量,对于视频的骨骼数据,X是(N,M,T,v,2)的张量或(N,M,T,v,3)的张量。

将视频中每个人的每个节点的所有帧对应的坐标看作一个时间序列,然后通过线性插值将其转换为路径。路径的维数是每个节点的特征数量。然后,本文以2种方式拆分此路径:不相交的窗口和滑动的窗口。用l表示窗口大小,即拆分后的每条路径中所含的视频帧数,用P表示路径数。生成路径后,视频的骨骼数据被划分为N×M×v×P条路径。

当使用不相交窗口方法生成路径时,对于每个视频中每个人的每个节点,从第1帧开始,以该节点坐标及相邻L-1帧的节点坐标作为第1条路径。然后将1+l帧作为下一条路径的起点,以该节点坐标及相邻L-1帧的节点坐标作为第2条路径,然后从1+l+l帧开始,将相邻的L-1帧的节点坐标到此节点的路径作为第3条路径,依此类推。如果最后一条路径中的视频帧数少于l,则将帧数设置为等于其剩余视频帧数。在这种情况下,路径数如式(7)所示:

(7)

当使用滑动窗口方法生成路径时,对于每个视频中每个人的每个节点,从第1帧开始,以该节点坐标及相邻L-1帧的节点坐标作为第1条路径。然后将第2帧作为第2条路径的起点,以该节点坐标及相邻L-1帧的节点坐标作为第2条路径。然后从第3帧开始,将该节点坐标及与之相邻L-1帧的节点坐标作为第3条路径,依此类推,即相邻路径之间的步长仅为1。如果使用滑动窗口生成路径,则P=T-l+1。

生成路径后,为每条路径计算相应的m级签名或日志签名特征。这里,m表示签名或日志签名的截断级别。然后,对于每条路径中第1帧之后的每一帧,签名层都将丢弃节点的原始C维特征。因此,每条路径的新特征由2部分组成:一部分为与该路径第1帧相对应的节点的原始C维特征,另一部分为该路径的签名或日志签名特征。这样,在签名层中计算了生成路径的签名特征,这些特征可以很好地代表路径的几何特征,通过这样的方法可以将原始数据转换成一组可用于机器学习任务的特征。

为了得到更精确的签名层参数,本文设置K-折交叉验证的K=4,即将训练数据分为4组,其中1组组成验证集,其他3组组成训练集。

3.3 网络架构

改进时空图卷积网络SIT-GCN应用GCN单元和TCN单元同时学习空间和时间特性,并在TCN前引入1×1的卷积核与TCN的结果相乘来自动调节权重。图1给出了SIT-GCN中的GCN单元、TCN单元与ST-GCN中的GCN单元、TCN单元的对比。在图1中假设时间卷积核的大小为w×1,在图1a所示的TCN单元的“输出的数据”一行中,填充的黑色代表数据为0。ST-GCN中GCN的邻接矩阵只包含相邻的骨骼节点的连接,而SIT-GCN的GCN重新设计了非物理意义上的关节相连,手工构建了如图1b所示的非骨骼链接。相比ST-GCN,SIT-GCN的TCN将补零操作改为反卷积操作以还原输入的尺寸。

Figure 1 Comparison between SIT-GCN and ST-GCN

基于路径签名的改进时空图卷积网络,本文首先通过签名层对输入数据进行预处理,提取数据的签名或日志签名特征,然后将其输入到SIT-GCN中。图2显示了该网络架构,其中拆分路径的方法分别为不相交窗口和滑动窗口。

Figure 2 Structure of signature spatial improved temporal graph convolutional network

在图2中,在“划分连续路径”一列中,①表示划分路径的方法为不相交窗口,②表示划分路径的方法为滑动窗口。在“基于坐标信息的骨骼序列”和“基于签名特征的骨骼序列”中,每个圆和正方形均代表图中的1个节点,圆代表节点的位置信息,正方形代表签名层提取的特征。尽管节点在骨骼图上具有相同的位置,但前者只代表了位置信息,而后者代表了位置和局部动态变化信息。“SIT-GCN”的结构如图1b所示。

与ST-GCN相比,SSIT-GCN可以有效地解决ST-GCN在构建时存在的缺点:(1)重新考虑GCN的邻接矩阵:GCN中的邻接矩阵只包含相邻关节点的连接信息,只有网络层足够深时,才能学习到远端关节之间的语义信息。本文充分考虑了身体各节点之间的连接能力,综合人体行动时的动作协调性,在部分非关节点之间建立了连通关系,有利于让信息在更浅的网络层得到交互,例如2个手掌之间的连线。(2)引入签名层对数据进行预处理,以有效提取骨骼数据局部的动态特征:TCN使用固定的大感受野,缺乏对时序中包含的多级语义信息进行建模的灵活性和能力。本文利用数字签名提前提取局部特征,可以使TCN在保持大感受野的同时不会损失太多的细节。虽然理论上深层网络也可以学习到这些信息,但本文的预处理一方面可以降低数据的维度,加速网络的训练效率,使网络收敛更稳定;另一方面可以减少网络的拟合压力,有效减少时空模块的数量,减小过拟合。(3)使用反卷积来代替补零:充分保留并尽量还原时间信号,避免引入额外信息。(4)在TCN模块之后设计了1×1的卷积模块与TCN的结果相乘,在保证特征图尺度不变的的情况下提高非线性特性,增强了网络的表达能力。

4 实验与结果分析

4.1 实验预分析

在实验中,首先将视频的骨骼数据输入签名层,本节使用3.2节中介绍的符号,即l表示窗口大小,P表示路径数,m表示签名的截断级别。在输入SIT-GCN之前,对数据进行归一化处理,即对不同帧中关节的位置特征进行归一化处理。由于本文的数据量较少,所以本文设计的网络由3层SIT-GCN单元和1层全连接层组成,每层SIT-GCN的输出通道数为64,128和256,实际使用时请结合需求自行调整。最终输出被发送到SoftMax分类器,以获得预测。

4.2 Chalearn2013

本文在Chalearn2013数据集上进行了实验,以调查和评估SSIT-GCN的性能。在手势识别实验中,本文仅使用Chalearn2013中的骨骼数据。首先,通过减去样本中所有关节的平均位置来对该数据进行预处理。然后,通过线性插值和统一采样对数据进行归一化,并将所有视频剪辑采样到39帧。

通过调整与签名层有关的超参数,选取表现较好的一组,并将其与ST-GCN、基于签名的ST-GCN、SIT-GCN比较,以表明SSIT-GCN对ST-GCN改进的有效性。结果如表1所示,可以观察到SSIT-GCN在准确性方面优于ST-GCN。通过添加签名层和使用SIT-GCN,其识别精度提高了大约5%。观察时间消耗可知,虽然SIT-GCN训练时间比ST-GCN的长,但添加签名层会使训练时间缩短约200 s,SSIT-GCN的训练时间相比ST-GCN的缩短了近50 s。所以,与ST-GCN相比,本文提出的网络得到了显著改进。

Table 1 Comparison of the results of SSIT-GCN and original ST-GCN(Chalearn2013)

接着,对SSIT-GCN与其他网络在Chalearn2013数据集上的识别结果进行对比,表2列出了现有手势识别方法在Chalearn2013上的表现情况。结果表明,本文提出的网络是最好的。

Table 2 Accuracy comparison between SSIT-GCN and other networks

4.3 在其他数据集上的表现

本文从NTU-D数据集中挑选出15个手势相关动作作为数据集,以测试本文提出的网络训练出来的模型的性能。表3列出了ST-GCN、基于签名的ST-GCN、SIT-GCN和SSIT-GCN的识别精度和训练时间。

Table 3 Comparison of the results of SSIT-GCN and original ST-GCN(NTU-D)

实验结果表明,通过引入签名和使用SIT-GCN,本文方法识别精度提高了约5.5%,训练时间缩短了50 s,表明本文提出的网络具有较好的识别能力和识别速度。

5 结束语

由于ST-GCN对于骨骼空间远端关节之间的语义信息学习能力有限且对时间序列的时间信息描述能力不足,使得其识别精度较低,训练时间较长,因此本文使用路径签名特征进行数据预处理,并改进了时空图卷积神经网络,提出了一种有效的基于骨骼信息的动态手势识别网络——SSIT-GCN。在签名层中,将骨骼坐标时间序列划分为多条路径并提取签名特征,重新设计GCN的非一阶邻域,以便获取远端关节之间的语义信息,并使用反卷积代替补零,避免引入干扰信息,加入1×1卷积核增加网络的表达能力。实验结果表明,本文提出的网络能有效地捕捉空间结构和时间动态。与ST-GCN相比,基于该网络训练的模型提高了识别精度,并缩短了训练时间。

更进一步的优化建议从时间与空间2方面来考虑,空间方面可以更着重关节拓扑结构的非手动设计,以及骨骼数据的结构化信息(如骨骼的长度和方向);在时间方面可以尝试使用当下流行的Transformer结构来探索网络更好的可能性。

猜你喜欢

手势骨骼卷积
做家务的女性骨骼更强壮
基于3D-Winograd的快速卷积算法设计及FPGA实现
三减三健全民行动——健康骨骼
卷积神经网络的分析与设计
挑战!神秘手势
从滤波器理解卷积
V字手势的由来
基于傅里叶域卷积表示的目标跟踪算法
骨骼和肌肉
胜利的手势