基于三维卷积神经网络和卷积LSTM的多模式手势识别
摘要
手势识别旨在识别有意义的人体运动,并且在智能人机/机器人交互中是至关重要的。 在本文中,我们提出了一种基于三维卷积和卷积长短期记忆(LSTM)网络的多模式手势识别方法。 该方法首先通过三维卷积神经网络学习手势的短时空特征,然后基于提取的短时空特征,通过卷积LSTM网络学习长时空特征。 此外,多模式数据之间的微调进行了评估,我们发现当没有预训练模型时,它可以被认为是一种防止过拟合的可选技巧。 我们对于所提出的方法在isoGD和SKIG数据集上进行验证。 结果表明,我们提出的方法可以获得最先进的识别精度(IsoGD验证集为51.02%,SKIG为98.89%)。
关键字:三维卷积神经网络;卷积LSTM;多模式;手势识别
介绍
手势作为一种非言语身体语言,在人类日常生活中扮演着非常重要的角色。 毫无疑问,它将在计算机视觉应用中具有重要意义,如人机交互[44],手语识别和虚拟现实。 手势识别旨在识别和理解人体的有意义的运动[5]。 有效的手势识别仍然是一个非常具有挑战性的问题[6],部分原因是文化差异,各种观察环境,噪声,图像中手指相对较小的尺寸,词汇外动作等。
在传统的手势识别中,主要使用手工特征和常规机器学习方法,例如, 隐马尔可夫模型,粒子滤波,有限状态机和连接模型[5]。由于上述具有挑战性的因素,手工制作的特征不能完全满足实际手势识别系统的要求。 随着深度学习理论的迅速发展[10],数据驱动方法在图像分类[13],图像分割[15],物体检测[16],场景识别[18],人脸识别[19] ],人类行为识别[20]和人类手势识别[21]。
与基于图像的应用程序不同,例如 图像分类和场景标记,手势识别通常基于视频或骨架序列。 只有一小部分手势可以从一张静态图像中识别出来。 因此,时间信息在手势识别过程中起着关键作用。 背景可能是场景识别或动作识别的有效提示。 不幸的是,复杂的背景会给手势识别带来更多挑战,因为手势更多地集中在手和手臂的运动上。 与整个场景相比,手和手臂的尺寸相对较小,因此手势的有效空间特征可能会在背景中被压倒。 因此,时间信息比视频分类更能区分手势识别[20]。 同时学习时空特征将为手势识别提供更多信息。
[22]中的双流卷积网络分别从RGB和叠加的光流图像中提取空间和时间特征。长期回归卷积网络(LRCN)[23]首先从每帧中学习空间特征,然后使用递归神经网络(RNN)基于空间特征序列学习时间特征。 VideoLSTM [24]使用卷积LSTM网络从先前提取的二维空间特征中学习时空特征。这三种代表性的方法分别或不同阶段地学习时空特征。在考虑各种背景的情况下,从视频同时学习时空特征对于手势识别将更加有效。例如,三维ConvNets [36]利用三维卷积神经网络(3-D CNN)直接学习时空特征。尽管如此,LSTM / RNN更适合于学习长期的时间信息。因此,针对长期依赖的应用,利用3D CNN学习短时空特征,通过RNN/LSTM学习长时空特征将会更加合理。完全连接的特征通常被用作LSTM [25]的输入,但是将空间相关性信息保持在LSTM过程中可以学习更多信息性的时空特征。所以,我们提出的方法中使用了卷积LSTM [26]。
本文提出了一种基于3D CNN和卷积LSTM的多模态手势识别方法,如图1所示。首先,利用3-D CNN从输入视频中提取短时空特征。 然后利用卷积LSTM进一步学习长时空特征。 最后,空间金字塔池(SPP)[40]被用来规范最终分类的时空特征。 基于RGB和深度模态的网络分别被训练并且它们的预测被融合以获得最终的预测结果
这篇文章主要贡献如下:
1)针对孤立的手势识别,最早提出基于3D CNN和卷积LSTM的方法
2)对多模式数据之间的微调进行评估,并将其视为可选技巧,以防止在没有预先训练的模在时出现过拟合
3)IsoGD和SKIG数据集中展现较好的性能
本文的其余部分组织如下:第II部分回顾了手势识别的相关工作。 第三部分给出了该方法的细节。 第四部分介绍了实验和讨论。 最后,第五节给出了结论和未来的工作。
相关工作
在本节将会从两个方面对手势识别的相关工作做综述:基于手工提取特征的方法和基于神经网络的方法。
基于人工提取特征的方法
针对手势识别,很多人工提取特征的方法已经被提出。 Priyal和Bora [43]将手与前臂区域分开,通过手的几何形状对手势旋转进行归一化,并基于归一化的二元轮廓的Krawtchouk矩特征对手势进行分类。 Konecny和Hagara [27]使用动态时间扭曲(DTW)方法来识别基于定向梯度直方图(HOG)和光流(HOF)直方图的手势。 Wu等人[28]从RGB和深度序列中提取扩展运动历史图像(Extended-MHI),并使用最大相关系数来识别手势。 Lui [29]将手势视频描述为Grassmann流形上的点,并采用最小二乘回归方法进行手势识别。 Wan等人[30]首先提出3-D增强运动SIFT(3-D EMoSIFT)和3-D稀疏运动SIFT(3-D SMoSIFT)从RGB-D图像中提取时空特征,然后将3-D EMoSIFT和3-D SMoSIFT在视觉词语袋(BoVW)模型下进行评估。最近,提出了稀疏关键点(MFSK)[31]从RGB-D中提取时空特征,。基于这些手工特征,线性判别分析(LDA),线性支持向量机(线性SVM),主成分分析(PCA),最近邻(NN)分类器,DTW,朴素贝叶斯模型等被用来进行手势识别[ 31]。
但是,手工功能不能同时考虑所有因素。 在2016年ChaLearn LAP大规模隔离手势识别挑战中,基于最先进的手工提取特征的方法失败[1]。 与此同时,基于神经网络的方法已经在大规模和具有挑战性的手势数据集上表现出了显着的性能[1],[32]。
基于神经网络的方法
最近,深度神经网络(DNN)被引入计算机视觉应用领域。基于卷积神经网络(CNN)和RNN的方法已经已经在人类手势识别/行为识别中占了统治地位[6], [32],[33]。 基于神经网络的手势识别方法的关键在于学习时空特征。 最明显的方法是连续学习空间和时间特征。Pigou等人[34]探索了五种视频中手势识别的深层架构,并表明了这一点LRCN风格的网络不是手势识别的最佳选择。他们还证明,双向递归和时间卷积可以显着提高帧明显的手势识别。另一个明显的方法是将2-D CNN扩展到3-D CNN [35]。基于C3D [36]的网络展示了2016年ChaLearn LAP大规模孤立手势识别挑战的最新性能表现[7],[12],[32]。 Li等人[12]分别将三维卷积(C3D)模型应用到RGB和深度数据上。朱等人[7]将金字塔形输入和金字塔融合策略嵌入C3D模型中进行手势识别。 Molchanov等人[25]提出循环三维卷积神经网络,整合了3D CNN和RNN进行手势识别。此外,基于双流的网络在人类行为识别方面取得了显着的成绩[20]。Duan等人 在[33]中将卷积双流共识投票网络和深度显着性ConvNet相结合来进行手势识别。他们的方法在Chalearn IsoGD和RGBD-HuDaAct上获得了最先进的性能数据集。此外,将视频转换为2-D图像也是一种很流行的方式,这可以最先进的基于图像的卷积神经网络构架用于基于视频的应用。 Wang等人[4]构建动态深度图像,动态深度正常图像和动态深度运动正常图像,然后在这些图像上对VGG-16网络[37]进行微调以进行手势识别。(这里的动态深度图和动态深度正常图不知道咋翻译。总感觉有点不对劲)
通常,CNN+LSTM [23]或3D CNN+RNN [25]网络使用完全连接的LSTM(FC-LSTM)。 FCLSTM在输入到状态和状态输入转换中使用全连接,所以空间相关信息不被编码。 Gavrila [38]提出了VideoLSTM,它直接在二维空间特征上执行LSTM,但是VGG-16的二维卷积特征不考虑到短期时间信息。 由于复杂背景下手的尺寸相对较小,缺乏时间信息可能会导致手的有效特征不能很好地提取。 因此,同时学习时空特征是手势识别的更好选择。 基于C3D的网络[7],[12],[36]可以同时学习时空特征,但LSTM / RNN更适合于长期的相关应用。 因此,卷积LSTM更适合学习长时空特征。
所提出的方法
如图1和2所示。 如图1和图2所示,所提出的深层架构由输入预处理,三维CNN,卷积LSTM,空间金字塔池和多模态融合五部分组成。
输入预处理
一般来说,手势包含三个时间重叠的阶段:准备,核心和撤回[38]。 不同的人可能以不同的速度执行手势。 这两个因素导致手势序列可能具有不同的长度。 然而,几乎所有的手势识别神经网络都要求输入具有相同的大小。 因此,输入的长度标准化是必要的。
一种方法是将每个手势序列分成具有固定长度的剪辑,但是一个剪辑不能表示整个手势。 另一种方法是将每个手势序列下采样到固定长度L中。第二种方法在所提出的方法中使用。 同时,采用时间抖动策略的均匀采样来增强数据集。 具体来说,给定一个具有S个帧的手势序列,采样过程可以描述为:
其中Idxi是第i个采样帧的索引,jit是从-1和1之间的均匀分布采样的随机值。时间抖动可以增加数据集而不干扰每个采样帧的时序序列手势。 采样结果可以表示为
3D CNN
C3D [36]是一种用于人体动作识别的代表性三维卷积神经网络。所提出的深层架构中的3-D CNN组件是参照C3D模型设计的,如图3所示。Batch normalization [39]也用于加速深度网络训练。Batch normalization 使我们能够使用更高的学习速率,并且对初始化不太在意。在实验中这项研究还表明,使用Batch normalization时,训练将会有显着的加速。每个Conv3D层的内核大小为3×3×3,每个Conv3D层的步长和填充均为1×1×1的大小。四个Conv3D层的滤波器计数分别为64,128,256,256 。每个Conv3D图层(除conv3a外)后面都有一个Batch normalization和一个ReLU图层。 conv2之前的第一个汇聚层的内核大小为1×2×2,步长为1×2×2。这意味着在第一个Conv3D层上只执行空间汇聚。第二个池化层的内核大小为2×2×2,步长为2×2×2。这意味着时空池化在第二个Conv3D层上执行。这两个汇聚层使得3-D CNN组件的输出大小分别在空间大小和时间长度上缩小比例4和2。这意味着,如我们前面所述,三维CNN组件只能学习短时空特征。
Convolutional LSTM
传统的全连接方不需要考虑空间相关性。然而,卷积LSTM(convlstm)同时具有输入状态和状态转换的卷积结构,能够将时空观戏很好的建模[ 26 ]。
形式上,ConvLSTM的输入
X1,X2...Xt
X
1
,
X
2
.
.
.
X
t
,神经元状态
C1,C2,C3....Ct
C
1
,
C
2
,
C
3
.
.
.
.
C
t
和隐藏层状态
H1,H2,H3....Ht
H
1
,
H
2
,
H
3
.
.
.
.
H
t
都是三维张量,并且最后两维是空间维度。并且规定
o
o
为矩阵乘积,所以ConvLSTM可以表示为:
其中σ是sigmod函数,Wx〜和Wh〜是二维卷积核。
如图2所示,在所提出的算法中部署了两级ConvLSTM。 高级ConvLSTM层的最终输出被当做每个手势的最终长期时空特征。 因此,最终时空特征的时间长度将为1.卷积核大小为3×3,步长为1×1。两级ConvLSTM层的卷积滤波器计数分别为256和384。 在我们实现的ConvLSTM的卷积过程中执行’Same-Padding”,因此ConvLSTM不同阶段的时空特征具有相同的空间大小。 具体而言,ConvLSTM的输出具有与所提出的深层架构中的3-D CNN的输出相同的空间大小。
Spatial Pyramid Pooling(空间金字塔池化)
由于3-D CNN仅在空间域上以小的4的比例缩小图像,并且ConvLSTM组件不改变特征图的空间大小,所以最终的长时空特征图具有相对高的空间大小(例如, 由于3-D CNN的输入大小为112×112,因此在我们的实现中为28×28)。 空间金字塔池[40]插入ConvLSTM和全连接(FC)层以降低维度; 这样最终的FC层可以拥有更少的参数。 空间金字塔池化作为Bag-of-Words模型的扩展,是计算机视觉中最成功的方法之一。 它可以汇集多层次的特征,并可以从任意大小的图像生成表示。
如图4所示,在所提出的深层架构中,对每个特征地图执行四级空间金字塔池化。 ConvLSTM的最终长时空特征地图的空间尺寸为28×28 =784,SPP层后各特征地图的尺寸为49 +16+4 +1=70.除了维数降低之外,SPP提取的多尺度特征也可以在一定程度上提高识别精度。
Multimodal Fusion(多模式融合)
多模态融合一般可以分为两类:早期多模态融合和晚期多模态融合[14]。 早期多模态融合综合了多模式网络输入前的数据。 这种方法可能存在问题,因为由于它们可能未经调整且不具有一致的特征,某些多模式数据不能直接融合。 晚期多模式融合在网络晚期整合了多模态数据。 这种方法可以分别根据数据的特征来训练不同的网络。 在提出中方法,采用后期多模态融合,并通过平均值融合不同网络的预测得到最终的预测分数。
Experiment(实验)
在本节中,所提出的方法将在两个公共数据集上进行系统评估:ChaLearn LAP 的IsoGD[1]和Shefield Kinect手势数据集[2中进行。 首先简要介绍这两个数据集。 然后,将详细描述培训流程。 最后,评估结果将分别报告
数据集介绍
略过,论文比较清楚
训练
提出的网络2是基于Tensorflow和Tensorlayer平台实现的。 没有预先训练的模型与提出的深层架构兼容,因此网络从零开始进行培训。 Batch normalization使训练过程变得更加简单快捷。 因此,使用更高的学习率并且需要更少的时间。 我们首先从零开始对IsoGD数据集进行网络训练。初始学习率设置为0.1,并且每15,000次迭代降至1/10。 重量衰减初始化为0.004,并在40,000次迭代后减小至0.00004。 对于IsoGD的培训,最多需要60,000次迭代。然后,基于IsoGD的预训练模型,网络针对SKIG进行了微调。 SKIG的初始学习率为0.01,每5000次迭代降至1/10。 在整个微调过程中,重量衰减设置为0.00004。 SKIG上的微调最多需要10,000次迭代。
对于IsoGD和SKIG,批量大小为13,每个剪辑的时间长度为32帧,每个图像的裁剪大小为112.一个NVIDIA TITAN X GPU用于训练每个网络。 使用第III-A部分所述的具有时间抖动的均匀采样进行训练。 只有统一的采样才能用于测试,以保持测试的准确性。 基于RGB和深度模态的网络分别进行训练
由于在我们的训练中没有使用其他数据集的预训练模型,因此在实验中评估了IsoGD的跨模态微调策略。 我们基于预先训练的深度模式模型对基于RGB的神经网络进行微调,反之亦然。 在对IsoGD进行训练时,使用几种不同的训练策略来评估所提出的方法:
策略1:在3-D CNN组件的顶部添加一个额外的3-D池层(2×2×2核和2×2×2步),以评估影响 ConvLSTM的空间大小。 在这种情况下,最终时空特征地图的空间大小是14×14,因此仅利用3级空间金字塔池(即,分箱的数量分别是1,4,16)
策略2:分别在IsoGD上从头开始基于RGB和深度图像进行训练。
策略3:基于针对IsoGD的深度模式的预先训练的模型微调基于RGB的神经网络,反之亦然。
Discussion(讨论)
一般来说,当对象可供性[42]不涉及手势时,背景对手势识别的信息量较小。 在这种情况下,复杂的背景会对有效的手势识别带来负面影响。 因此,学习时空特征同时成为有效手势识别方法的关键。 三维卷积神经网络针对时空特征提取进行了很好的设计,而LSTM网络更适合于可变长度时间信息融合。 因此,3-D CNN和卷积LSTM的集成可能是用于鲁棒手势识别的优秀框架。
对预先训练的模型进行微调是防止相对较小数据集过度拟合的一项重要技能,对预先训练的模型进行微调的本质是涉及更多的训练数据。 手势的多模态数据被捕获不同的方式,从不同的角度表现不同的手势特征。 因此,多模态也可以被看作是一种特殊的数据增强方法。 跨模态微调也可以被认为是防止过度拟合的另一种实用技巧。
根据IsoGD的识别结果,对于所提出的方法,某些类型的手势很难识别。 1)所提出的方法不会将手的区域与整个场景分开,并且随机下采样策略在输入的长度标准化之后会丢失一些有效的快速和微小运动的运动信息,因此手部快速和微小运动的手势难以识别。 2)当大多数帧仅包含无意义的静态手势时,均匀下采样不能保留所有关键运动信息,因此这种手势也难以识别。 3)在实验中不能很好地识别具有可怕照明的手势序列。 4)非常类似的手势也很难区分。如果可以同时学习全局和局部特征,则多尺度特征可以提高手势的快速和微小移动的识别准确性。根据运动的有效性进行下采样或标准化可以是为手势识别保留有用的运动信息的可选技能。动态递归神经网络可能是学习有效的时空特征的更好选择,所述手势具有各种长度和随机执行时间和速度。
结论
在本文中,我们提出了一种基于三维卷积神经网络和卷积长短期记忆(LSTM)网络的多模式手势识别方法。评估结果表明,同时学习时空特征比连续或单独学习手势识别的空间和时间特征更合适。时空特征对于复杂的手势背景更加健壮。三维卷积神经网络是学习短时空特征的好选择,而卷积LSTM网络是长时空学习的较好选择。将来,我们将尝试通过用卷积网络替换所提出的深层架构的空间金字塔池层来学习每个手势的一个时空特征地图所表示的动态图像。手势总是有各种各样的长度,所以动态递归神经网络可用于我们未来作品中的连续手势识别。