查看原文
其他

利用卷积神经网络进行手势识别 | 赵文和

赵文和 集智俱乐部 2019-09-14



近年来,在硬件市场,VR/AR变得十分火热,然而在虚拟环境下如何进行人机交互依然没有很好的解决方案。手势识别是VR/AR场景下最直接的一种人机交互方式,也是研发相关设备必须具备的一项核心技术。相比于日渐成熟的人脸追踪、人体追踪技术,手势的追踪与识别依然是一项具有一定挑战性的问题。这主要有以下几个原因:一是手的姿势是存在于一个高维空间的,因为手掌和每个手指都具有多个自由度;二是手指之间过于相似,而且经常互相重叠;三是手指的快速运动带来的噪声加剧了追踪的难度。多相机、GPU加速的策略能够一定程度上克服这些难点,但这样的技术很难在消费级电子产品中应用推广。本文设计实现了一种基于单目深度相机的手势追踪技术,在不使用GPU进行加速的情况下也能达到实时计算。

手势识别


 DeepHand, Robust Hand Pose Estimation by Completing a Matrix Imputed with Deep Features.

◆ ◆ ◆

方法概览

 手势识别其实是一个回归问题,因为手的位置,角度,各个指关节的角度都是在一定范围内连续变化的量。虽然在回归问题上,深度学习还没有取得分类问题上那样巨大的进展,但利用深度学习来提取特征还是比手工设计特征效果更好的。本文设计了一种利用卷积神经网络提取特征,再借助数据库中特征临近的样本来估算手势的各个参数的算法。

如图1所示,首先是从深度图像中分割出手部区域,然后利用卷积网络得到一组激活特征;

其次是通过在样本库中搜寻,找到与当前激活特征相临近的一些样本;

然后,采用矩阵填补的算法,利用这些样本的手势参数来估算当前的手势整体姿势(整体旋转角度);

最后在已有整体参数的前提下,对各个手指递归运用这种方式得到各个指关节的参数。


图 1 整体方法框架

 

◆ ◆ ◆

手部分割

与其他目标检测不同,手部通常在深度相机采集的图像中只占一小片区域。此外,在手势追踪场景中,手部通常离相机不会太远。因此文章先取出在深度图像中处于[50mm, 500mm]深度范围内的像素,再使用一个最大目标块检测的方法获得手部区域,之后经过滤噪、深度归一化、重采样获得标准的64*64的手部深度图像(图 2(b))。对于一些要求更严格的应用场景,也可以像图 2(a)所示,让用户手腕带一个彩色腕带,通过RGB图像辅助深度图像的手部区域的分割。

 

图 2 方法流程图示

 

◆ ◆ ◆

基于卷积网络的特征抽取

我们知道,卷积网络中产生的特征能够很大程度上反映原图像中目标的很多高级特性。因此,作者认为利用卷积网络能够从手部深度图像中获得一些有效特征,这些特征可以用于手势参数的估计。具体的思路是:利用多层卷积网络抽取高级特征,然后在一个样本数据库中找到具有相临近特征的样本,根据这些样本的已知参数,可以估计出当前手势的各项参数

合成样本数据库

为了训练网络,我们需要大量的样本数据,而且我们的样本要能够以足够的密度覆盖所有的手势参数空间,这样才能保证在应用时,对任何图像产生的特征都能找到足够多的临近特征点。传统采集样本的方式很难满足要求,所以文章采用了计算机合成样本数据的方式。对所有手势参数,在值域范围内进行密集采样,通过计算机模拟得到对应的深度图像,加入适当噪声后即可构成一个完美的数据库。

卷积网络训练

在已有数据库的情况下,文章训练图 3所示的卷积网络来提取特征,其中倒数第二个卷积层会产生一个32维的特征向量,就是后面进行手势参数估算所用的特征。文章采用图 2(e)所示的21参数手势模型,由于参数较多,每个参数还会量化成多个取值区间,如果用一个网络产生这么大的输出,那么网络很难训练好,往往会欠拟合。所以文章采用一个分阶段的策略,第一阶段只对手掌的旋转参数进行训练,在确定了手掌参数、找到临近样本的基础上,第二阶段再用5个卷积网络去训练五个手指的关节参数,再找到相应的临近样本(如图 2中c、d所示)。

图 3 用于特征抽取的卷积网络结构

基于矩阵填补的手势参数回归

基于前面的两阶段策略,我们一共需要运用6次矩阵填补来估算手势参数,一次是手掌的整体旋转参数,5次是各个手指的参数。

假设对于一个待识别手势,有n个临近样本,是这n个样本的r维特征构成的矩阵是这n个样本的m维手势参数,是当前图像经过卷积网络后得到r维特征向量,是待估计的手势参数。

如上所示,我们构建一个矩阵M,我们已知,要求,这是一个矩阵填补过程,我们可以认为M具有低秩的结构,因而可以用下式来估算。

作者认为在找临近样本时,不仅可以利用特征空间上接近的,还可以用时间上临近的,即前几帧图像估计出的结果。文章中采用60个空间临近样本和16个时间临近帧来估计当前手部的整体旋转参数,用24个空间临近样本和4个时间临近帧来估计五个手指的参数。

图4 开源数据库上的对比试验结果

文章用NYU的八千多深度手势数据做了对比试验,本文方法取得了最好的平均错误率,16.35%。


推荐阅读




LSTM和Word Embedding的深入剖析,及RNN/Attention的改进 | “小声嘟囔”专栏

关于深度神经网络压缩(下) | “小声嘟囔”专栏

关于深度神经网络压缩(上) | “小声嘟囔”专栏



◆ ◆ ◆

集智俱乐部



英文名: Swarm Agents Club ,

简称“ SA Club ”,成立于 2008 年 , 

是一个从事学术研究、

享受科学乐趣的探索者的团体 。

力图搭建一个中国的

 “ 没有围墙的研究所 ”。

集智QQ群|292641157

商务合作|zhangqian@swarma.org

投稿转载|wangting@swarma.org

让苹果砸得更猛烈些吧!


长按识别二维码,关注集智Club,

让我们离科学探索更近一步。

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存