基于异步多时域特征的动态手势识别方法

2022-11-16 02:25黄仁婧陈青梅黄初华
计算机工程与应用 2022年21期
关键词:手势特征提取时空

崔 虎,黄仁婧,陈青梅,黄初华

贵州大学 计算机科学与技术学院,贵阳 550025

手势是人类的一种重要交互手段,随着虚拟现实、增强现实、人机交互和手语翻译等领域的发展,手势识别已经成为了计算机视觉领域的热门课题之一[1],与该领域的其他任务如图像分类、语义分割、目标检测、场景识别等类似,目前动作与手势识别的研究主要是基于卷积神经网络。

动态手势识别不仅需要关注手部的形状特点,同时也需要关注手形变化以及运动过程,因此不仅需要解决与静态手势相同的环境干扰,如光线、纹理、摄像分辨率等外部问题,还需要解决手部运动与手形变化等问题,除此之外,动态手势识别还存在以下技术难点[2]:(1)手势速度差异性,即同一个含义的手势动作可以以不同速度来完成。(2)手势运行时间长度异同性,即不同的手势完成时间往往是不同的。(3)手势形状的多样性。静态手势不同形状表示不同语义,而动态手势中不同形状的手形的相近运动却往往可以表达相同的语义。动态手势的时序复杂性和空间多样性等特点为动态手势识别带来了诸多挑战。

目前主流手势与动作识别的工作都是基于RGB图像、Depth图像、光流图以及骨骼关键点信息[3]。Simonyan等[4]提出了一种双流网络模型来对动态手势和行为进行识别,核心思想是用RGB 信息流来表达动态手势的空间特征,用光流信息流来表示手势动作的运动特征,然而该方法并未考虑空间信息流和运动信息流间的内在关系。Tran 等[5]对双流网络模型进行了改进,应用光流来指引RGB 信息流网络分支的特征提取,使RGB 流特征拥有部分运动信息,但是该方法本质上还是双流模型,而光流本身无法表达完整的运动信息。Liu等[6]提出了一种分段手势识别方法,首先通过子神经网络估计手势图像深度,然后将深度信息与RGB信息结合,用来识别手势,该方法同样存在运动信息不完整的缺点。Köpüklü等[7]提出了一种将检测与分类相结合的方法来降低系统负载和提升手势识别实时性,使得手势识别更加容易部署于移动设备,但在识别算法方面改进有限。Hara 等[8]提出对二维卷积网络(two-dimensional convolutional network,2DCNN)进行时间维度扩展得到三维卷积网络(three-dimensional convolutional network,3DCNN)的方法,并将其应用于动作识别。而3DCNN因为参数量过大,如果没有足够多的训练数据支持,其模型很容易过拟合。Min等[9]提出了一种基于点云和骨骼关键点的手势识别方法,该方法将动态手势的关键点云作为序列,应用长短期记忆网络(long short-term memory,LSTM)对其进行建模,捕捉手势的长期空间相关性,该方法不足之处在于需要预先提取手部关键点数据。

本文从手势的速度和长度两方面性质出发,提出了一种异步多时域网络模型,其网络结构如图1 所示,首先通过轻量级3DCNN[8]网络提取出手势的短期异步时空特征,然后通过改进的卷积长短期记忆网络[10](ConvLSTM)对短期异步时空特征进行长期关系建模,使模型可以捕捉到不同速率和不同长度手势的时空特征,最终达到对复杂动态手势的有效识别。

本文的创新在于:

(1)提出一种从视频数据抽取异步特征的方法,所得的异步特征对不同速率,不同大小手势均有较强的鲁棒性,从而显著提高模型的识别能力。

(2)分段抽取动作的短期与长期时空特征,并融合两种时域的异步特征,提升对不同时间长度的手势的识别效果。

1 相关工作

动态手势识别的关键和难点在于对手势动作的时空信息处理[11],处理方法可以分为传统手工特征提取方法和深度学习方法。

传统手工特征提取方法大多采用动态时间规整算法[12](dynamic time warping,DTW)、时间金字塔[13]、隐马尔可夫模型[14](hidden Markov models,HMM)等来对手势时空信息进行建模。其中DTW 方法是对捕捉到手势的关键点轨迹应用动态时间规整进行模板匹配,捕捉手势关键点坐标轨迹和形状数据则需要专门的传感器,模板匹配也需要设置特定的匹配模板;时间金字塔方法对完整的手势帧进行不同时间长度采样来处理手势的时空特征;HMM 则只能关注较短时间内的手势历史信息,从而忽略了手势的连续性和完整性等特点。

在深度学习方法中,为了使模型能够捕获更加完整的手势动作信息,Varol 等[15]将2DCNN 网络与LSTM 网络[16]相结合,对模型输入视频帧数量进行提升,使得模型输入视频帧从16 帧增加到60 帧,并应用双流网络模型[4]的思想,用光流进行运动信息补充。然而,输入数据的增加使得模型变得更加臃肿,难以应用于实时设备。Zhu 等[17]将3DCNN 与时间金字塔方法结合,使模型可以捕获手势的长时间的历史特征信息,然而模型的3DCNN 结构依然面临参数量过大以及数据量不足的问题。Liu 等[18]为解决多尺度目标的检测与回归问题,从网络的不同深度提取不同尺度的特征图来做预测与回归;Feichtenhofer 等[19]从时间尺度将双流模型思想进行了扩展,引入快速流和慢速流的概念来进行人体行为识别;Chen 等[20]对大型卷积网络进行纤维化改进,使得3DCNN 更加轻量化。受以上工作的启发,本文对3DRestNet[8]进行结构调整,用来提取手势的短期时空特征,然后应用改进的ConvLSTM对短期时空特征进行长期关系建模,从而得到多时域的时空特征。为了提高模型对不同运行状态手势的鲁棒性,网络采用了异步结构,最终模型对不同速率和不同时间长度的手势均能准确的检测与识别。

2 本文提出的异步多时域网络模型

异步多时域网络总体架构如图1 所示,网络特征提取部分由短期时空特征抽取模块和长期时空关系构建模块组成,预测解码部分则由主要由微调后的MobileNetV2 网络构成。其中短期时空特征抽取模块由轻量级三维卷积网络构成,负责进行短期异步时空特征的提取,长期时空关系构建模块由改进的ConvLSTM网络构成,负责对短期特征进行长期关系建模,使模型提取的手势动作特征包含丰富的运动信息,如:手势快慢、动作长度等信息。

2.1 短期异步时空特征抽取

2.1.1 三维卷积视频序列特征

二维卷积用来对单幅图像的空间特征的提取,在对视频图像序列处理的过程中,处理对象也是单个独立的帧,并未考虑帧与帧之间的相关性,如图2所示。

当时间维度卷积次数越多,所得到的特征图中的历史信息则越多,其数学表达如公式(1)所示:

其中,x,y为图像坐标,*表示卷积运算,Ft(x,y)为单通道输入图像,ω为二维卷积核,G(x,y)为运算后的特征图,V2d(x,y,t)为整体的时空序列图,从V2d(x,y,t)的结果可以看出整个视频序列的各帧图像的特征是时间无关的,而事实上视频中的动作序列是紧密相关的,正因为这种相关性才构成了人眼所见的不同的动态行为。三维卷积是将二维卷积从空间尺度扩展到时间尺度的卷积,如图3所示。

三维卷积是将视频序列整体当做运算对象,其数学表达如公式(2)所示:

其中,ω此时为三维卷积核,F为整个视频序列输入,V3d(x,y,t)为F的时空特征,G3d(x,y,t)为t时刻的局部时空特征,kt为卷积核时间维度大小,可以看出,当kt=3 时,G3d是与前后相邻帧有关的局部时空特征,这种具有时间维度相关性的视频序列特征与一个动作的前后连续表达的性质是相符合的。

2.1.2 短期时空特征提取

3DCNN依据不同的架构策略形成了如C3D[21]、I3D[22]、R3D[8]等大型3D-CNN 模型,网络深度的增加意味着网络参数量增大和冗余噪声信息的增多,消除负面影响的一种有效方法就是为模型提供足够多的训练数据,然而视频是图像三维扩展,构建一个类似于Imagenet[23]的通用大型视频数据集无论在质量和数量上都面临巨大的困难。

本文的短期时空特征提取模块只负责提取视频序列的短期时空特征,因此该部分3D 卷积网络的深度并不要求足够的深,只需要将现有的2D 卷积主流网络(ResNet、DensNet、Efficient)中的卷积和池化层进行时间维度扩展即可,本文中短期时空特征提取网络是将ResNet 进行时间维度扩展,并进行适当的微调,最终的网络结构如图4所示,网络由四个3D卷积块组成,其中第一个卷积块只包含一个3D 卷积,后三个卷积块的结构相同,都是对前一个卷积块的输出进行多次3D 卷积残差,不同的只是内部各个卷积的具体参数设置,图4中的各个卷积的具体参数如表1所示,网络中所有卷积运算后都包含了批标准化和激活函数,其中激活函数为ReLU6。

表1 短期时空特征提取模块网络参数Table 1 Parameters of short-term spatiotemporal feature extraction network

2.1.3 短期异步时空特征

在对灵长类视网膜神经节细胞的研究中[24],研究者发现这些细胞中约80%为小细胞,15%~20%为大细胞,大细胞对高频运动信号十分敏感,但对物体细节、颜色纹理以及低速运动信号无法作出准确的反馈,而小细胞相反,对物体的空间细节、颜色纹理和低频运动敏感度较高,而对高频运动信号的刺激反馈迟钝。

基于以上生物学研究的启发,将短期特征提取模块得到四种不同时间跨度与不同分辨率的输出特征序列进行调整与融合,组合成异步特征。从图4 与表1 中可以看到短期时空特征提取模块的四个输出分别是64@32×56×56、64@32×56×56、128@16×28×28、256@16×28×28,第一个卷积块和第二卷积块输出的特征图是相同的,它们在时间维度的采样频率也是相同的,但是在时间维度的感受野却不同,四个输出的感受野分别是31、35、39、313,还可以看出第一、第二、第三和第四个卷积块的时间步态是不同的,后两个的时空特征感受野更大,但更偏于低频,而前二的时空特征感受野偏小,但对高频运动更加敏感。将不同步态和感受野的时空特征进行融合,得到异步时空特征,对变化快慢不同的手势都可以进行全面特征描述,同时这种策略也符合生物的视觉感官直觉。

2.2 长期时空关系构建

对于一般用途的序列建模,LSTM作为一种特殊的RNN 结构,在以往的研究中已经被证明是稳定且有效的,它用来对序列进行长期依赖关系建模,在其基础上的FC-LSTM[25]、ConvLSTM[10]等模型则专门用来对视频序列的长期依赖关系进行建模。FC-LSTM、ConvLSTM等模型是直接应用于原始视频序列数据,而本文的时间序列网络的对象则是短期异步时空特征网络的输出,因此对ConvLSTM的内部结构进行了调整和改进,以使序列预测模型部分更加高效和便捷。

2.2.1 ConvLSTM

FC-LSTM 和ConvLSTM 模 型 均 是LSTM 与CNN的结合,所不同的是前者为串联结合,后者则为内部结构融合,图5为LSTM内部结构。

ConvLSTM中的各个门控运算均为卷积运算,其内部结构如公式(3)所示:

其中,∘表示哈达玛乘积,* 表示卷积运算,σ表示sigmoid激活函数,tanh 表示tanh 激活函数,it表示输入门,ft表示过滤门,ot为输出门,Wx~和Wc~表示各个门与输入向量权重,ht-1和ht表示历史隐藏状态和当前隐藏状态,xt表示输入序列,ConvLSTM结构中xt与Xt相同,表示视频序列或者特征图序列的第t个帧,因为ConvLSTM内部的运算均为卷积运算,所以可以自动对图像进行特征提取。而FC-LSTM 的结构则如公式(4)所示:

其中,⊙表示全连接运算,并且xt与Xt不同,Xt为视频序列或者特征图序列的第t帧,xt为Xt卷积后的一维向量,如公式(5)所示:

2.2.2 局部卷积的FC-ConvLSTM

考虑到从轻量级3D-CNN 网络提取的是具有短期异步信息的时空特征序列,这种特征与2D-CNN所提取的序列特征具有极大的不同,这些特征序列是具有时空相关性的特征序列,其拥有宝贵的时间信息,这与ConvLSTM中的卷积的作用在某种程度是重复的,在这种情况下,只要专注于长序列关系建模即可,因此将FC-LSTM 和ConvLSTM 特点相结合,构建适合短期异步时空特征的序列模型FC-ConvLSTM,其内部运算如公式(6)所示:

其中的Xt短期异步时空特征序列的当前特征帧,xˉt为对其进行通道全局平均得到的特征图,hˉt为隐藏状态通道全局平均值,输入门it、过滤门ft,以及ot输出门的运算因此都变成了单通道卷积或者全连接运算,但是候选记忆门gt的运算因为需要将原始序列特征的信息保存的历史状态信息ct中,所以依然保留对Xt进行卷积运算。

相比于Conv-LSTM,FC-ConvLST中的各个门控节点的计算量大大的减少,除此之外,本文以深度可分离卷积来代替FC-ConvLSTM 中的卷积操作,从而使模型的参数进一步降低。

2.3 异步特征融合与预测

在从FC-ConvLSTM 得到异步时空特征因为进行过空间尺度调整所以除了时间步不同,尺度统一为28×28×512,而本文所采用的融合策略则是将不同时间步的特征在各个通道进行concate,最终得到1/2×temstep×28×28×512×4大小的异步融合时空特征,将该特征送入MobileNetv2 预训练网络当中,得到时空特征序列尺度为1/2×temstep×4×4×1 024,之后经过3Dpool、FC、softmax分别进行下采样,全连接以及最终的概率估计得到预测结果。

3 实验结果与分析

硬件环境:NVidia Tesla P40 24 GB显卡Intel Xeon E5-2650v4-2.20 GHz 12核64 GB CPU。

软件环境:Ubuntu18.04 操作系统Python2.7.1 版Tensorflow1.2.1版CUDA8.0 cuDNN5.0。

3.1 数据集及参数设置

为测试本文所提出算法的有效性,在两个典型公开数据集The 20BN-jester Dataset V1(Jester)和Sheffield Kinect Gesture(SKIG)上进行了实验。

Jester数据集[26]是一个最新的用于手势识别的大型视频数据集,它包含了27 种在摄像机前执行的预定义手势。它从原始视频中以每秒12 帧的速度提取了148 092个手势样本。样本分为三组,118 562个样本用于训练、14 787 个样本用于验证、14 743 个样本用于测试,视频的平均长度是35帧。

SKIG 数据集[27]是利用微软Kinect 设备的RGB 摄像头和深度摄像头同步采集人体手势而得到,分别采集了6人的手势,每个手势都拥有RGB和Depth两种形式,共包含10 种手势,总视频数2 160,RGB 视频和Depth视频各占一半(6×10×3×3×2=1 080个),视频的长度从80 帧到320 帧不等。本文将该数据集随机分为三组,70%作为训练集,20%作为验证集,剩下的数据作为最终的测试集。

网络总体架构如图1所示,短期时空特征提取模块是将ResNet 内部卷积扩展为3D 卷积,具体参数如图4和表1所示,该部分理论上可以用其他轻量级网络来进行代替,在将短期异步特征序列送入FC-ConvLSTM 之前,需要对异步特征进行尺度调整,对1和2卷积块的输出进行平均池化操作,池化大小为(1,3,3),池化步为(1,2,2),边缘扩展模式为“same”,而对3 和4 卷积块的输出则不需要进行调整,最终所有异步特征的空间尺度均为28×28;FC-ConvLSTM 部分结构如图5 与公式(6)所示,内部卷积采用可分离卷积结构,需要注意的是FC-ConvLSTM只适合于短期时空特征提取模块的输出特征,应用于其他2DCNN 处理的视频序列的效果并不出色,该部分由两层结构相同的FC-ConvLSTM组成,输出通道为256,卷积核为3×3,stride=(1,1),参数初始化采用he_normal 方法,正则项均采用L2 正则化;最后将融合了短期和长期的异步时空特征进行concat 操作后再进行预测。

3.2 结果与分析

3.2.1 对比实验

模型总共在Jester数据上训练40个周期,学习率从0.001 到0.000 001 呈多项式衰减,输入为16 个视频段,每个视频段均是通过随机策略从原始视频段中抽取的连续16个视频帧,并进行统一的随机图像增强,视频帧大小为112×112,训练后对模型在测试集上进行测试,得到其混淆矩阵如图6所示。

将结果与传统的C3D[21]、3DrestNet101[8]及最新模型RT-C3D[28]、3D-GestNet[29]进行了对比,结果如表2所示。

表2 Jester数据集上手势识别实验结果Table 2 Gesture recognition results on Jester dataset

从表2中可以看出:(1)在Jester这种大型的动态手势数据集中,3DCNN 网络的参数可以充分地被训练,相比2DCNN+LSTM 网络,各种3DCNN 网络的结果表现的更好。(2)与3D 系列网络相比较,本文将3D 与FCConvLSTM 相结合后效果提升1.7%,一部分原因在于本文3DCNN 网络部分提取的特征是异步时空特征,另一方面则在于使用FC-ConvLSTM对时空特征进行更广泛时间域建模。

在SKIG数据集上,输入为4个视频段,每个视频段为32 或16 个视频帧,训练过程中对视频进行亮度色度等图像增强预处理,视频帧大小为112×112,实验结果如表3所示。

表3 SKIG数据集上实验结果Table 3 Gesture recognition results on SKIG dataset

从表3中可以看出:(1)2DCNN+LSTM网络在较小的数据集上相比于3DResNet101 网络的效果要好12 个百分点左右,值得说明的是其中的3DResNet101 是在Jester 数据集上预训练集后经过微调再训练的结果,这表明在较小的数据集上,即便是使用了迁移学习的预训练3DCNN网络也依然存在过拟合问题。(2)相比于同样经过轻量化处理Dens3D+金字塔模型[31],本文的算法也显示出一定优势,当输入帧数为16帧时,本文的结果可以达到Dens3D输入为32帧的结果,从而验证了异步结构的有效性。而当输入同为32 帧时,本文的结果优于Dens3D双模态融合的结果,而本文所用的仅仅只有RGB模态,这从某种角度说明异步时空特征中不仅融合了异步时间尺度信息,同时融合类似深度信息的异步的空间尺度信息。

3.2.2 消融实验

本文算法的核心在于通过短期时空特征提取模块提取异步特征,之后通过微调FC-ConvLSTM 来使短期异步特征具有关注长期历史信息的能力。为了更深入地对模型各个部分的贡献进行研究,在SKIG 数据集上进行消融实验,其结果如表4所示。

表4 不同网络结构消融实验结果Table 4 Ablation results on different structions of network

从表4 中可以看出:(1)当只使用短期异步时空特征进行手势预测的结果达到了98.61%,在其基础上应用ConvLSTM 进行长期时序建模后的预测结果反而下降到了98.33%,这表明对于3DCNN提取的异步时空特征,ConvLSTM内部的卷积运算是冗余的,这从3DCNN+FC-LSTM的结果也可以看出。(2)在将ConvLSTM的各个门控卷积替换成为3Dpool 和全连接的结构后,模型的整体运算相比ConvLSTM的运算降低了接近一倍,同时准确率得到了提升。

将网络每个阶段的中间输出前八帧的第一个通道特征进行可视化,效果如图7所示。

从图7中可以看出:短期时空特征抽取模块中的四个卷积块的时空特征表现有很大的不同,分别关注背景变化特征、前景纹理变化特征、手部位置变化信息、关键点移动信息,那么如果对该部分卷积块数量进行扩充,能否得到更多有用的时空特征,为此本文对不同深度3DCNN 构成的短期时空特征抽取模块进行了测试,结果如表5所示。

表5 不同深度的异步结构的效果Table 5 Effects of asynchronous structures of different

从表5中可以看出,当短期时空特征抽取模块的卷积块数量从1 增加到2 时,手势识别结果的准确度提高了近6个百分点,而当增加至4个的时候,识别准确度达到最大,之后继续增加block 数量结果并未再提高。这表明:(1)本算法的异步多尺度时空特征相比于单独3DCNN提取非异步特征对原始视频时空语义的表达更加充分。(2)本算法的短期异步时空特征提取模块确实只需要根据应用场景构建合适的轻量级3DCNN网络即可,这与“奥卡姆剃刀定律”不谋而合。

六种block组成的模型训练曲线画如图8所示。

从图8中可以看出,在训练SKIG数据的过程中,短期异步时空网络的卷积块达到4个的时候,在保证测试准确率达到最高的前提下,其训练效率是最好的,减少卷积块数目会使验证准确率降低,提高卷积块数目则会使模型变大,训练变慢,而准确率无明显提升。

4 结束语

本文提出了异步多时域手势识别方法,应用轻量级3DCNN 网络提取动态手势的短期异步时空特征,FC-ConvLSTM建立长短期异步时空特征。实验结果表明,本文所提网络在不同规模与平均长度的数据集上均取得了更好的结果,证明了模型的有效性和合理性。同时也发现对于训练数据不均衡的相似动作未能得到较好的识别率。在未来工作中,将计划在更多的模态上进行类似实验,并尝试结合提升方法来处理样本不均衡问题。

猜你喜欢
手势特征提取时空
跨越时空的相遇
镜中的时空穿梭
空间目标的ISAR成像及轮廓特征提取
挑战!神秘手势
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
玩一次时空大“穿越”
微动目标雷达特征提取、成像与识别研究进展
胜利的手势
时空之门