Page 86 - 《软件学报》2021年第10期
P. 86
3058 Journal of Software 软件学报 Vol.32, No.10, October 2021
信号之间的时间转换来进行输入手势时间对齐和归一化.在动态手势识别方法中,DTW 被广泛应用于在时间域
中寻找匹配的手势片段.为了提高识别精度,Keskin 等人 [40] 提出了一种基于 DTW 的图像模型三维数字识别预
聚集技术.为了利用每个手部的讨论性,Arici 等人 [41] 提出了一种加权 DTW 方法,该方法通过优化判别比对关节
进行加权,以改进手势识别.Reyes 等人 [42] 提出了一种在 DTW 框架中使用特征权重的开始-结束手势识别方法.
此外,还有一些基于随机森林和支持向量机的手势识别方法.Dong 等人 [43] 提出了一种基于手部深度图像的
方法,这种方法首先利用 RF 来将深度图像的每个像素分为 11 类,然后利用分层模型搜索方法计算出每个像素
的关节的方向,最后将关节的方向作为特征输入到 RF 中进行手势识别.Song 等人 [44] 将 RGB 视频每一帧中的信
息转化成一个标准的人体姿态模型,然后利用 HOG 提取模型中的特征并输入到 SVM 中进行分类.
传统机器学习方法对训练数据和计算力要求都不太高,但是精度通常没有基于深度学习的方法高.随着近
年来数据的不断增长和计算技术的提高,使用传统机器学习方法的研究已经明显减少,但在计算资源受限的场
景下,传统的手势识别和检测方法仍可起到重要的作用.
(2) 基于深度学习的手势识别和手势检测方法
基于深度学习的手势识别方法主要分为基于 LSTM 的方法和基于 CNN 的方法.
由于 LSTM 能够很好地对手势时序信息进行建模和识别,基于 LSTM 的手势识别逐渐成为主流方法.然而,
由于 RGB 图像的分辨率较大,直接将 RGB 图像作为特征输入到 LSTM 网络并不可行,一般利用 CNN 网络逐帧
或分片段提取图像或者视频的特征,然后将视频对应的特征序列输入 LSTM.Molchanov 等人 [45] 提出一个端到
端的手势识别架构:首先,利用 C3D [46] 来提取每个视频片段的特征;然后,将这些特征输入到 RNN 中提取时序特
征;最后,将每个 RNN 输出的特征经过 softmax 层变换后输入到 CTC 层中,从而获取每个手势片段的起始位置、
结束位置和手势类型.Camgoz 等人 [47] 也提出了一个类似的架构,区别是,他们利用 CNN 来提取每一帧图片的信
息,并且利用的是双流 LSTM 架构.Cui 等人 [48] 也使用了类似的架构,并且使用了分阶段优化方法以获取更加准
确的分类与检测结果.Cao 等人 [49] 提出了一个第一人称视角下的手势识别数据库 EgoGesture,并且提出了一个
Recurrent 3D Convolutional Neural Networks 架构.该架构首先将视频分为一些视频片段,然后将每个视频片段
使用 3DCNN 提取特征,最后将特征输入到一个 Spatiotemporal Transformer(STT)模块中.STT 模块的目的是为了
将不同帧中的手部变换到同一个视角下,从而缓解第一人称视角下镜头视角变换的影响,最后利用 LSTM 提取
每个视频片段之间的时序信息用来分类.
基于 CNN 的方法通常采用的是双流输入的卷积神经网络结构,将 RGB 图像和光流图像分为作为 CNN 网
络的两流输入,在特征层融合两个通道的特征作为特征,输入到分类器中进行手势分类.Narayana 等人 [50] 改进了
这一方法,将原始 RGB 图像输入变成原始图像加上左右手图像的 3 个输入,使模型能够更加注重手部信息,从而
提高手势识别精度.Bambach 等人 [51] 使用朴素贝叶斯方法提取动态手势片段的候选区域(action proposal),然后
利用 CNN 对每个手势片段提取特征并加以分类,最后利用每个片段的分类得分确定最后得到的片段.他们还在
自己提出的 EgoHands 数据库中验证了这一方法.Rogez 等人 [52] 提出了一个两阶段的抓握识别系统:第 1 阶段基
于深度和 RGB 信息进行目标检测和分割;第 2 阶段使用网络提取特征,然后用 SVM 进行抓握动作分类.Joshi
等人 [53] 提出了分层贝叶斯网络进行动态手势识别.Hu 等人 [54] 提出了一个 3D 分离卷积神经网络进行动态手势
识别,3D 分离卷积把一个 3D 卷积变成一个 3D Depth-wise 卷积和一个 3D Point-wise 卷积,从而降低了模型的
复杂性.
2.1.2 基于手部姿态的手势识别与手势检测算法
基于手部姿态的手势识别方法是利用手部关键点的信息来进行手势识别.相比于基于 RGB 图像与视频的
手势识别方法,手部姿态不受背景信息的影响,能够更好地关注到手部的位置与运动信息,是一种具有较大发展
潜力的方法.基于手部姿态的手势识别主要分为 3 个步骤:首先,利用手部姿态检测方法获取手部的姿态信息(参
考第 1.3 节);然后,利用传统特征提取方法或深度学习特征提取方法提取手部姿态的特征;最后,将提取的特征输
入到分类器中进行手势分类.基于手部姿态的手势识别方法也分为基于传统机器学习方法和基于深度学习的
方法.