-
手势是一种符合人际交流习惯的表达方式,在智能家居、智能驾驶、体感游戏等领域得到了广泛的应用。一般而言,手势可以由多种模态表示,如彩色(RGB)视频流、深度视频流、光流、人体骨架序列等。其中,人体骨架序列描述的是预定义的人体关键点在手势运动过程的轨迹,为手势识别传递了重要的信息。随着光电技术和人体姿态估计算法的发展,骨架数据可以通过深度传感器直接获取,或者通过RGB图像进行关节估计[1-2]。
当用人体骨架关键节点的坐标变化进行手势描述时,手势的相对变化关系较为明显,有助于计算机更好地理解一些较为复杂的动作,从而提高手势识别的准确率。与基于RGB图像数据的方法相比,基于骨架数据的手势识别在面对遮挡、嘈杂背景、相机视角变化和照明变化等表现出优异的性能。然而,传统基于骨架数据的方法受限于手工设置的特征提取模式,网络表达受限。因此,本文提出全局时空可变形网络,其中关键点聚焦模块可以在全局范围内自适应地组合与手势动作密切相关的关键点,提取时空特征。
骨架序列可以视为一种关节坐标序列的时空矩阵。以拍手动作为例,与该手势相关的左手腕、左手和右手节点应该关联在一起,并且得到每一帧手部的空间距离作为特征来描述这种手势。传统卷积神经网络(Convolution Neural Network, CNN)[3-4]可以自然地融合时空信息,但受限于固定的卷积形式。网络往往利用标准3×3卷积直接聚合相邻关键点信息,而与手势相关的关键点有可能在时空矩阵上不相邻,如左手和右手。网络只能通过堆叠局部卷积操作关联这些关键点。文献[5]提出D-Pose组合一维卷积和长短时记忆网络(Long Short Term Memory, LSTM)构造了Conv-LSTM结构来分别构建可学习的空间连接并提取动态信息。但上述过程只能单独在时间或空间上直接联系相关节点,无法交叉时间和空间信息进行交错卷积,网络的表达能力受限。
本文提出的关键点聚焦模块将卷积进行一定程度的空间偏移,聚合手势序列在时空维度上不相邻的关键信息。
由于骨架序列时空矩阵的时间维度往往比空间维度更长,同时,考虑到不同手势的复杂程度不同、手势执行速度不同、开始和结束的时间不一致等,时间维度上的远程建模更有挑战性。采用循环神经网络(Recurrent Neural Network, RNN)[6-7]可以捕获远程时间动态,但其计算复杂,难以满足实际需求,并且难以同时融合时空信息。因此,关键点聚焦模块会计算捕捉时域远程依赖的全局信息,使卷积在进行空间偏移时考虑到手势具有不同的时长,每个手势的开始、结束和执行时间并不一致。
综上,全局时空可变形网络能够关联关键点并学习手势的时间动态信息,这对于特征提取和手势识别至关重要。
-
一般的2D标准卷积可以分为两个步骤:1)用规则网格
$ G $ 在输入特征图$ x $ 上采样;2)将经过$ \boldsymbol{w} $ 加权的采样值相加。$ G $ 定义了感受野的大小,当卷积核大小为$ K\times K $ ,其中$ K=2 \times k+1 $ 时,网格$ G $ 可以表示为:$ {G}=\{\left(-k,-k\right),\left(-k,-\left(k-1\right)\right),\cdots ,(k,\left(k-1\right)),\left(k,k\right)\} $ ,故经过2D卷积输出特征y上$ {p}_{0} $ 点可以表示为:$${\boldsymbol{y}}\left({p}_{0}\right)=\sum _{p\in G}\boldsymbol{w}\left(p\right)\cdot \boldsymbol{x}\left({p}_{0}+p\right) $$ (1) 式中,
$ p $ 为规则网格$ G $ 上的点的枚举。由于网格
$ G $ 中的规格网格使标准卷积难以适应复杂的几何形变,具体到骨架序列数据来说,当手势动作涉及多个帧时,时间距离较远的关键节点可能无法较好地关联在一起,进而无法提取到较为准确的特征。文献[19]通过对每个采样点的位置添加一个2D的偏移变量,卷积核可以在原先位置的附近进行卷积,不再局限于之前的规则网格,时空融合特征有了更好的表达。2D偏移变量通过一个标准卷积计算可得,则经过偏移,输出特征图y上$ {p}_{0} $ 点可以表示为:$$ {\boldsymbol{y}}\left({p}_{0}\right)=\sum _{p\in G}\boldsymbol{w}\left(p\right)\cdot \boldsymbol{x}\left({p}_{0}+p+ \Delta {p}_{n}\right) $$ (2) 加入卷积核的空间偏移
$ \Delta {p}_{n} $ 之后,网络可以更直观地识别手势关键节点及其随时间变化的情况,如拍手动作,卷积可以聚合左右手和手腕节点的信息,因此能更准确地表征某一特定手势。可变形卷积具体通过一个3×3卷积来学习相应卷积核的空间偏移
$ \Delta {p}_{n} $ 。由于手势动作的持续时间存在差异,通过标准卷积学习到的空间偏移存在一定的局限性。为了捕捉远程依赖,学习多尺度时间信息,本文在可变形卷积基础上加入全局信息,提出了关键点聚焦模块。 -
在进行可变形卷积之前,本文先获取全局信息特征,如图1所示。将输入骨架特征用一维序列表示,定义为
$ \boldsymbol{x}={\left\{{x}_{i}\right\}}_{i=1}^{{N}_{p}} $ ,其中$ {N}_{p} $ 为特征的位置数目,即骨架序列帧数和关节点数目之积。全局信息特征$ \boldsymbol{z}={\left\{{z}_{i}\right\}}_{i=1}^{{N}_{p}} $ 可定义为[15]:$$ {z}_{i}={x}_{i}+\frac{{\boldsymbol{W}}_{z}}{C\left(x\right)}\sum _{j=1}^{{N}_{p}}f({x}_{i},{x}_{j})g({x}_{j}) $$ (3) 式中,
$ g({x}_{j}) $ 计算了不同位置$ j $ 输入的特征映射,为了简单,本文使用了线性嵌入,令$ g({x}_{j})={\boldsymbol{W}}_{v}{x}_{j} $ ,$ {\boldsymbol{W}}_{v} $ 为需要学习的权重矩阵;$ {\boldsymbol{W}}_{z} $ 表示线性变换矩阵,当$ {\boldsymbol{W}}_{z} $ 为0时,输入即为$ {x}_{i} $ 。$ f({x}_{i},{x}_{j})={e}^{{q\left({x}_{i}\right)}^{{\rm{T}}}k\left({x}_{j}\right)} $ 表示$ i $ 和$ j $ 之间的相似关系,这里$ q\left({x}_{i}\right)={\boldsymbol{W}}_{q}{x}_{i} $ ,$ k({x}_{j})={\boldsymbol{W}}_{k}{x}_{j} $ 。本文设$ C\left(x\right) $ 为归一化响应,则归一化的相似关系表示为:$$\frac{f({x}_{i},{x}_{j})}{C\left(x\right)}=\frac{\mathrm{exp}( < {\boldsymbol{W}}_{q}{x}_{i}{,\boldsymbol{W}}_{k}{x}_{j} > )}{\displaystyle\sum _{m=1}^{{N}_{p}}\mathrm{exp}( < {\boldsymbol{W}}_{q}{x}_{i},{\boldsymbol{W}}_{k}{x}_{m} > )} $$ (4) 由于
$ z $ 不受位置依赖,且$ {\boldsymbol{W}}_{z} $ 对结果影响不大[17],本文可以通过计算全局注意力图对式(3)进行简化,最终输出的全局信息特征可以表示为:$${z}_{i}={x}_{i}+{\boldsymbol{W}}_{v}\sum _{j=1}^{{N}_{p}}\frac{\mathrm{exp}({\boldsymbol{W}}_{k}{x}_{j})}{\displaystyle\sum _{m=1}^{{N}_{p}}\mathrm{exp}\left({\boldsymbol{W}}_{k}{x}_{m}\right)} {x}_{j} $$ (5) 获取全局信息特征如图2表示,骨架特征经过特征映射后通过softmax计算出注意力分数,再和原始骨架特征相乘累加,之后再经过一次映射,并加上原始骨架特征得到全局信息特征。全局时空可变形网络加上原始骨架特征有利于保障模型的性能,并在式(5)基础上引入瓶颈设计,在1×1卷积时减少通道以降低参数量。全局时空可变形网络还加入LayerNorm和ReLu帮助模型收敛。
在获取全局信息特征后,本文再利用3×3卷积学习全局空间偏移
$ \Delta {q}_{n} $ ,如图1所示。则输出特征${\boldsymbol{y}} $ 上$ {p}_{0} $ 点可以表示为:$$ {\boldsymbol{y}}\left({p}_{0}\right)=\sum _{p\in G}\boldsymbol{w}\left(p\right) \boldsymbol{z}\left({p}_{0}+p+ \Delta {q}_{n}\right) $$ (6) 在提取骨架序列的全局上下文信息基础上,全局可变形网络学习整个时间序列上手势关键节点的变换,将手势持续时间的差异融入特征描述中。
-
在全局时空可变形网络中,骨架序列首先经过卷积层和最大池化层进行骨架特征的提取,如图2所示,最大池化层用于降低特征维度,卷积层由3个3×3标准卷积和可变形卷积组成。
文献[19]指出,多次可变形偏移可以产生一个叠加的效果。本文在网络深处引入关键点聚焦模块,网络此时已经过多层卷积聚合信息,有较大的感受野,有助于更好地关联时间尺度长且幅度较大的手势的相关节点。关键点聚焦模块和普通的卷积模块有着相同的输入和输出。因此,本文直接将它取代普通的卷积。
在经过关键点聚焦模块之后,网络学习到了对识别手势更有针对性的特征,通过批归一化层,帮助调整特征的分布,加快模型的收敛速度,最后经过全连接层,预测每一个类别的概率,得到分类结果。
-
本文在ChaLearn2013[20]和SHREC数据集[21]上评估了本文提出的方法。
ChaLearn2013多模态手势数据集,包含了27个不同的人执行的20个意大利手势。该数据集提供RGB、深度、前景分割和Kinect骨架,分为训练集、验证集和测试集,分别包含6 850、3 454和3 579个样本。本文只使用骨架数据进行手势识别。
SHREC数据集包含由28名参与者(所有参与者均为右手)执行的14个动态手势,并由Intel RealSense近程深度相机捕捉。每一个手势由每个参与者以两种方式执行1~10次:使用一个手指和整只手。数据集由捕获的2 800个序列组成。对数据集中每个序列的每个帧,将保存分辨率为640×480的深度图像和22个关节的坐标(在二维深度图像空间和三维世界空间中)。本文中仅使用骨架数据。
-
本文通过随机梯度下降法对网络进行参数更新,并将批次大小设置为32,学习率在3×10−6~9×10−3之间更新,步长为1 060。该网络在Pytorch框架中实现,使用GeForce GTX 1080 GPU进行训练。
-
由于手部区域较小,背景干扰严重,指尖运动自由度高,交互过程存在自遮挡等因素,手部姿态估计是一个较难任务。而基于手部姿态估计算法获得的骨架序列不可避免存在一定噪声干扰。为验证全局时空可变形网络对噪声的鲁棒性,本文在ChaLearn2013上进行了关于噪声的消融实验,以证明本文提出的方法对噪声的鲁棒性。本文向关键点随机添加最大振幅为0.1的随机噪声,并以标准卷积为参照进行对比,结果如图3所示。从图中可以看出噪声的百分比增强的情况下,网络的准确率保持在较高的平稳水平,噪声的鲁棒性较好。
-
正如上述所说,对于不同时间尺度的手势动作,本文需要捕获不同时间依赖性的信息。但是因为手势多样性和个体之间的差异,网络很难捕捉到具有代表性的特征。对此本文进行了实验,首先以固定的采样率(如39)对网络进行训练,之后改变骨架数据的采样率,如30、35、45和50,来模拟不同时间尺度的手势,结果如图4所示,本文提出的关键点聚焦模块可以充分捕获多尺度时间信息,大幅优于基线。
-
图5为关键点聚焦模块的可视化,上面两行表示同一动作“What I would do to you”的两个不同手势序列,第三行是动作“Enough”的手势序列,颜色代表关键节点的注意力分数,由蓝到红注意力分数变高。其中,骨架序列分别是第0、4、8、16、20、24、29和34时的骨架姿态。从图5前两行的骨架序列图可以看出,虽然是相同的动作,但是第一行的骨架序列显示T=0时就开始执行动作,到T=29动作基本结束,而第二行的骨架序列显示T=8之后才开始执行动作,到T=34基本结束。全局时空可变形网络关注的是执行动作期间关节点变化情况,因此在对应的执行时间内,关节点的颜色表示网络的不同关注程度。
而对比前两行的动作和第三行的动作可以看出,在空间维度上,网络对不同动作的关节点关注情况也不同。前两行用到了双手表示动作,网络关注到了两边手、手腕和肩膀的关节点;而第三行主要是用到了单手表示,因此注意力基本只集中在了执行动作的手腕和手肘上。
-
本文在ChaLearn2013数据集上进行训练。本文将全局时空可变形网络与其他先进算法进行了比较,结果如表1所示。
表 1 ChaLearn2013数据集上不同方法对比
文献[8-9]采用RNN架构进行远程时间建模,空间上的建模能力不足。文献[5]同样使用可变形卷积关联空间上相距较远的点,但是无法交错时空上相关的点。文献[22-23]虽然有骨架的连接图作为预定义的知识,但是动作可能并不关联到相连关节,如拍手动作左右手节点应该较为相关,图卷积不一定能够关注到。文献[24-25]采用全局感受野设计,但只引入全局信息可能无法捕捉到关键节点信息。文献[3-4]虽然通过设计长方形卷积核和不同骨架模态来丰富网络的特征表达,但还是受CNN的固定卷积核的影响,不能跨越关联关键节点。
这些方法主要由RNN、GCN、Transformer和CNN等模型改进发展而来。由于关键点聚焦模块对于时空特征灵活融合和全局信息的考虑,本文的方法取得了最佳的结果。
在SHREC数据集上进行对比的结果如表2所示。文献[26]采用多尺度掩码注意力机制进行全局的学习,但掩码可能没有注意到手势动态变化关键的节点;文献[27]则着重捕捉手势的动态变化;文献[28]关注到了手势姿态的变化和移动以此进行时域和空域的建模。在该数据集中,各个关节点的位置距离相近,在做手势动作的时候,关节点之间的变化幅度相对较小,这些方法结合时空建模的能力可能还有所不足。本文认为关节点之间的本身相关程度比较高,可以较容易提取到相对有用的全局特征,因此本文将网络中前两个可变形卷积模块全都替换为关键点聚焦模块,最终可以达到95.23%的准确率,相比起其他方法有所提升。
Global Spatio-Temporal Deformable Network for Skeleton-Based Gesture Recognition
-
摘要: 基于骨架序列进行手势识别关键在于如何融合时空信息提取可分辨性强的特征。该文提出关键点聚焦模块,通过全局上下文建模和不受限于固定形式的卷积方式,网络可以跨越多帧和不相关的关键点,在全局范围内自适应地聚合与手势动作密切相关的关键点信息,提取手势的时空特征。实验表明该方法在ChaLearn2013和SHREC数据集上得到的准确率可以达到94.88%和95.23%,优于现有方法。此外,该方法在处理噪声数据和动态手势方面稳定性更好。Abstract: The key of gesture recognition based on skeleton sequence is how to fuse spatio-temporal information and extract discriminate features. This paper proposes a key point focusing module. Through the global context modeling and the convolution method not limited to the fixed form, the network can span multiple frames and irrelevant key points, adaptively aggregate key point information closely related to gesture actions in the global scope, and extract the spatio-temporal characteristics of gesture. Experiments on Chalearn2013 and SHREC datasets show that the accuracy of our proposed method can reach 94.88% and 95.23%, and the method outperforms state-of-the-art methods. In addition, the method has better stability in dealing with noisy data and dynamic gestures.
-
表 1 ChaLearn2013数据集上不同方法对比
-
[1] GE L H, CAI Y J, WENG J W, et al. Hand pointNet: 3D hand pose estimation using point sets[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 8417-8426. [2] CAO Z, SIMON T, WEI S E, et al. Realtime multi-person 2D pose estimation using part affinity fields[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017: 7291-7299. [3] LIAO L F, ZHANG X, LI C Y. Multi-path convolutional neural network based on rectangular kernel with path signature features for gesture recognition[C]//2019 IEEE Visual Communications and Image Processing (VCIP). Sydney: IEEE, 2019: 1-4. [4] DU Y, FU Y, WANG L. Skeleton based action recognition with convolutional neural network[C]//2015 3rd IAPR Asian Conference on Pattern Recognition (ACPR). Kuala Lumpur: IEEE, 2015: 579-583. [5] WENG J W, LIU M Y, JIANG X D, et al. Deformable pose traversal convolution for 3D action and gesture recognition[C]//Proceedings of the European Conference on Computer Vision (ECCV). Munich: Springer, 2018: 136-152. [6] WANG H S, WANG L. Modeling temporal dynamics and spatial configurations of actions using two-stream recurrent neural networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017: 499-508. [7] LIAO S J, LYONS T, YANG W X, et al. Learning stochastic differential equations using RNN with log signature features[EB/OL]. (2019-08-22)[2022-11-20]. https://arxiv.org/pdf/1908.08286.pdf. [8] YAN S, XIONG Y J, LIN D. Spatial temporal graph convolutional networks for skeleton-based action recognition[C]//The 32nd AAAI Conference on Artificial Intelligence. New Orleans Louisiana: AAAI Press, 2018. [9] SHI L, ZHANG Y F, CHENG J, et al. Two-stream adaptive graph convolutional networks for skeleton-based action recognition[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019: 12026-12035. [10] LI M S, CHEN S H, CHEN X, et al. Actional-structural graph convolutional networks for skeleton-based action recognition[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019: 3595-3603. [11] 石跃祥, 朱茂清. 基于骨架动作识别的协作卷积 Transformer 网络[J]. 电子与信息学报, 2022, 44: 1-9. doi: 10.11999/JEIT22010 SHI Y X, ZHU M Q. Collaborative convolutional transformer network based on skeleton action recognition[J]. Journal of Electronic and Information Technology, 2022, 44: 1-9. doi: 10.11999/JEIT22010 [12] 李扬志, 袁家政, 刘宏哲. 基于时空注意力图卷积网络模型的人体骨架动作识别算法[J]. 计算机应用, 2021, 41(7): 1915-1921. doi: 10.11772/j.issn.1001-9081.2020091515 LI Y Z, YUAN J Z, LIU H Z. Human skeleton-based action recognition algorithm based on spatiotemporal attention graph convolutional network model[J]. Journal of Computer Applications, 2021, 41(7): 1915-1921. doi: 10.11772/j.issn.1001-9081.2020091515 [13] CHEN L C, PAPANDREOU G, SCHROFF F, et al. Rethinking atrous convolution for semantic image segmentation[EB/OL]. (2017-06-17)[2022-11-20]. https://arxiv.org/pdf/1706.05587.pdf. [14] WANG F, WANG G R, HUANG Y W, et al. Sast: Learning semantic action-aware spatial-temporal features for efficient action recognition[J]. IEEE Access, 2019, 7: 164876-164886. doi: 10.1109/ACCESS.2019.2953113 [15] WANG X L, GIRSHICK R, GUPTA A, et al. Non-local neural networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 7794-7803. [16] HU J, SHEN L, SUN G. Squeeze-and-excitation networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 7132-7141. [17] CAO Y, XU J, LIN S, et al. Gcnet: Non-local networks meet squeeze-excitation networks and beyond[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision Workshops. Seoul: IEEE, 2019. [18] CHEN P, GAN C, SHEN G, et al. Relation attention for temporal action localization[J]. IEEE Transactions on Multimedia, 2019, 22(10): 2723-2733. [19] DAI J, QI H, XIONG Y W, et al. Deformable convolutional networks[C]//Proceedings of the IEEE International Conference on Computer Vision. Honolulu: IEEE, 2017: 764-773. [20] ESCALERA S, GONZÀLEZ J, BARÓ X, et al. Multi-modal gesture recognition challenge 2013: Dataset and results[C]//Proceedings of the 15th ACM on International Conference on Multimodal Interaction. New York: Association for Computing Machinery, 2013: 445-452. [21] SMEDT Q, WANNOUS H, VANDEBORRE J P, et al. 3D hand gesture recognition using a depth and skeletal dataset[EB/OL]. [2022-10-24]. https://doi.org/10.2312/3dor.20171049. [22] CHEN Y X, ZHANG Z Q, YUAN C F, et al. Channel-wise topology refinement graph convolution for skeleton-based action recognition[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. Montreal: IEEE, 2021: 13359-13368. [23] LIAO S J, LYONS T, YANG W X, et al, Logsig-RNN: A novel network for robust and efficient skeleton-based action recognition[EB/OL]. [2022-10-25]. https://arxiv.org/pdf/2110.13008.pdf. [24] QIU H L, HOU B, REN B, et al. Spatio-temporal tuples transformer for skeleton-based action recognition[EB/OL]. [2022-11-08]. https://arxiv.org/pdf/2201.02849.pdf. [25] PLIZZARI C, CANNICI M, MATTEUCCI M. Skeleton-based action recognition via spatial and temporal transformer networks[J]. Computer Vision and Image Understanding, 2021, 208: 103219. [26] HOU J X, WANG G J, CHEN X H, et al. Spatial-temporal attention Res-TCN for skeleton-based dynamic hand gesture recognition[C]//European Conference on Computer Vision. Munich: Springer, 2018. [27] SABATER A, ALONSO I, MONTESANO L, et al. Domain and view-point agnostic hand action recognition[J]. IEEE Robotics and Automation Letters, 2021, 6(4): 7823-7830. doi: 10.1109/LRA.2021.3101822 [28] LIU J B, LIU Y C, WANG Y, et al. Decoupled representation learning for skeleton-based gesture recognition[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 5751-5760.