Sensor Based Dynamic Hand Gesture Recognition by PairNet

34 阅读7分钟

题目: 基于传感器的PairNet动态手势识别

参考文献: Jhang Y J, Chu Y C, Tai T M, et al. Sensor based dynamic hand gesture recognition by PairNet[C]//2019 International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData). IEEE, 2019: 994-1001.

关键词: 连续手势识别(continuous hand gesture recognition),CNN

总结:

摘要

本文提出了一种用于基于传感器的动态手势识别的前馈神经网络。该算法被称为PairNet,能够对基本加速器和陀螺仪产生的感知数据进行精确的手势识别(Gesture spotting),这些加速器和陀螺仪通常部署在物联网设备中。然后通过最大后验概率(Maximum A Posterior,MAP)估计从定位结果获得手势分类结果。为了说明所提出的算法的有效性,已经实现了一个基于移动电话的原型系统

实验结果表明,在实现实时操作的同时,所提出的算法比现有的基于传感器的手势识别算法具有更高的准确性。

引言

(背景) 物联网(Internet of Things,IoT)和嵌入式技术的进步推动了可穿戴设备或智能设备的快速发展,用于医疗保健、娱乐、通信、导航和教育等多种应用。当难以部署诸如大型交互式触摸屏或键盘的传统HMI时,智能人机界面(Human Machine Interface, HMI)可能是设备所需要的。智能HMI的一种方法基于手势识别[1],[2],这特别适用于只需要发出简单命令的应用。

(分类) 手势识别问题可以分为基于视觉和基于传感器的问题。基于视觉的技术[3]–[6]从摄像机捕获的视频序列中进行手势识别。尽管从许多研究中观察到了有希望的结果,但对于处理大量视频数据而言,计算复杂性可能很高。 这些可能会给功率容量有限的小型设备带来沉重的计算负载。

基于传感器的方法从各种类型的传感器获取手势运动信息,如加速计、陀螺仪、柔性传感器、肌电图、光电体积描记术和/或惯性传感器[7]-[13]。然后基于该信息执行手势识别。用于手势推断的感知数据的大小显著小于视频序列的大小。并且,基于传感器的技术可以比基于视觉的技术引入更少的计算开销

(现有手势识别技术的问题)

现有的一些基于传感器手势识别(Sensor Gesture Recognition,SGR)技术[7]、[8]具有一次只能识别单个手势的缺点。这些技术可能不直接适用于需要对手势序列进行分类的连续手势识别。

(现有的针对连续手势识别的而技术问题)

对于连续手势识别来说,一个具有挑战性的问题是gesture spotting,它旨在找到每个单独手势的开始和结束位置。[9]和[10]分别介绍了基于专用传感器或用户动作的定位技术。但这些技术为手势推断引入额外的开销。Automatic gesture spotting的一种简单方法是基于传感器数据方差的阈值运算[11],[12]。但方法的性能可能对阈值的选择敏感。

Gesture recognition/spotting的另一种方法是基于递归神经网络(RNN)[14],这是一种能够利用输入数据的时域特征进行精确分类的深度学习技术。RNN的变体,如长短期记忆(LSTM)算法[15]已被发现对Gesture recognition/spotting有效[13]。尽管LSTM可以缓解与基本RNN相关的梯度消失问题,但时域信息的长期依赖特性仍可能无法被充分利用[16]。当观察到缓慢的手势运动时,长期记忆可能有助于准确识别。

除了RNN,前馈网络(如卷积神经网络(Convolutional Neural Network,CNN)[14])可用于手势识别。然而,当内核大小和/或层数较少时,基本CNN可能具有低感受野的缺点。手势样本的完全覆盖对于手势识别来说可能是困难的。使用具有更大内核大小和/或更大层数的细胞核可能会扩展感受野。然而,大型神经网络的计算复杂性可能很高。WaveNet[17]可用于解决该问题。它基于低计算复杂度的感受野增加的扩张卷积运算。但是,WaveNet也用于具有附加自回归运算的信号生成。将WaveNet直接应用于手势识别可能会很困难。

(算法及处理流程) 本文的目的是提出一种新的动态手势识别算法。它能够从传感器数据中进行多个连续手势的推断。提出了一种新的前馈神经网络,称为PairNet,用于手势识别。PairNet通过在网络中形成金字塔状结构,扩展了感受野用于准确定位(accurate spotting)。该结构包含多个层。输入的传感器通过基本卷积运算形成底层。从底层开始,所提出的算法通过简单的配对操作一次增长一层。然后随着层生长过程的继续,层的尺寸减小。顶层的构建完成后,顶层的元素被转发到完全连接的层,用于计算网络输出。

在金字塔状结构的情况下,所提出的PairNet算法只需要少量的层就可以很容易地扩展感受野。然后以低计算复杂度实现准确的手势定位。所提出的PairNet算法将用于在与连续手势相关联的间隔中的每个时间步长处的手势识别。 然后,在给定手势定位结果的情况下,对最终分类执行最大后验概率(MAP)估计。

所提出的PairNet算法可用于不同类型的传感器。在本文中,我们考虑了通常部署在物联网和嵌入式设备中的加速器和陀螺仪。这可能有助于将算法部署到各种各样的应用程序。基于智能手机开发了所提出算法的原型系统,用于性能评估。从实验结果中观察到,所提出的算法优于其他基于传感器的手势识别算法,特别是当要分类的手势数量高时。因此,该算法非常适合需要高鲁棒性和高分类精度的连续手势识别应用。

本文的其余部分组织如下。在第二节中,我们详细介绍了所提出的算法。然后,算法的实验结果包含在第三节中。最后,结论在第四节中给出。

所提出的算法流程

下图为算法的流程图: 动态手势识别的输入为X=[x1,x2,...,xT]{[x_1,x_2,...,x_T]},

image.png

所提出的PairNet算法以滑动窗口方式对输入序列X进行操作,以获得输出序列Y。设Xt是产生yt∈Y的运算的窗口。Xt以Xt∈X为中心,长度为N,其中N<T。在Xt的一部分在X之外的情况下,该部分用零填充。图2显示了X、Xt、yt和Y之间的关系。

image.png

PairNet

对于输入手势序列X=[x1,x2,...,xt,...,xTx_1,x_2,...,x_t,...,x_T ],的xtx_t进行操作,t=1,...,Tt=1,...,T,经过PairNet网络生成MAP估计的输入yty_t。其中,以本文为例,xtx_t维度为50*6与yty_t为11 * 1。11为手势的类别。PairNet的示意图如下所示:

image.png

PairNet内部的结构主要如下图所示,主要包括卷积层(1th Layer)、配对层(2-5th Layer)、池化层(6th Layer)、全连接层(7th)。其中,每个层的结构如下图所示。

image.png

MAP

对于MAP算法的输入yt,j,j=1,...,Qy_{t,j},j=1,...,Q,由于在输出层采用了softmax激活函数,我们可以将yt,jy_{t,j}视为在时间步骤t出现第j个手势的概率。

定义A=[a1,...,at]A=[a_1,...,a_t],我们称AA为给定输入序列XX的路径。然后,基于下式给出的条件概率模型,将该路径进一步映射到分类结果RR:公式如下:

image.png