未来智库 > 可穿戴论文 > 可穿戴计算机动态重构算法研究
    关键词:可穿戴计算机;手势识别;可重构算法;神经网络;功耗
    中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)12-0209-02
    1 概述
    可穿戴计算机就是利用先进计算技术实现特定的应用设备,当前,各专业公司根据市场需求制定了不同的智能穿戴设备,例如智能手表,Google Glass和智能乐队等。由于大多数可穿戴设备不配备键盘或宽触摸屏,所以非常需要采用语音或手势识别技术,虽然语音识别可以更通用,但手势识别也可以方便地用于发出简单的命令。在穿戴式设备中使用手势技术有几项研究和应用,例如,Google Glass[1]中采用手脚动作进行控制,智能手表[2]采用灵活力传感器进行控制,SixthSense[3]使用相机和投影机与现实世界进行交互。
    根据实际应用需求,通常手势可以分为静态和动态两种。静态手势通常由手形表示,而动态手势根据手的动作进行描述[4]。可以使用�碜韵嗷�或力传感器的信号来进行手势识别,前者需要视频处理,后者通过时变多通道传感器的输出信号进行分析,那么动态手势识别就是采用力传感器。
    近来,国内外学者研究了几类手势识别算法。采用两个视频之间的相关性,采用张量规范相关分析(TCCA);基于卷积神经网络(CNN),利用视频分析实现人机交互(HRI)实现静态手势识别;使用深度视频、关节姿势和音频流来研究多模态手势检测和识别,该文献中应用CNN,以及隐马尔可夫模型(HMM)的语音识别器和单词包(BoW)来提取多模态特征,并且使用了一个Elman RNN进行数据融合和手势分类。来自Leap Motion Controller的红外LED数据,其中CNN用于特征提取,采用HMM进行时间序列识别。
    动态可重构算法结合神经网络被用于许多识别应用,包括对象检测和语音识别。然而,神经网络需要大量的计算和大的缓存记忆。例如,单位大小为256的长短期存储器(LSTM)RNN需要总共约210M权重,因此,目前的一些可穿戴设备应用程序(如语音识别)使用采用图形处理单元(GPU)或大功率的多核系统服务器进行操作,所以在实际应用中,穿戴式装置在仅具有小功率的情况下操作神经网络算法是非常需要的。
    本文开发了使用适用于硬件或嵌入式系统实现和低功耗操作的定点循环神经网络的动态姿态识别技术,实现两种手势识别算法:一个使用来自相机的视频信号,另一个使用三轴加速度计。
    2 固定点的RNN优化
    本文采用两种不同种类的动态手势数据集。一个是基于图像序列,另一个是三轴加速度数据。一下分别对不同的动态手势算法进行优化。
    2.1 基于图像序列的动态手势识别
    对于基于图像序列的动态手势识别任务,本文采用CNN-LSTM RNN结构,为了产生手形特征,选择三层CNN架构的平移不变性。具体网络结构如图1所示,图中层次分别为输入层、汇集层以及RNN层。输入层由用于处理具有RGB通道的32×32输入图像的3072(= 3×32×32)线性单位组成,第一和第二卷积层具有32个特征图,第三卷积层具有64个特征图,这三层具有相同的卷积核大小,即5×5,三个层叠层采用2×2重叠最大池;LSTM RNN可以记录序列中相当长的过去信息,因此,在该识别模型中不需要HMM网络,输出层由9个对应于9个目标手势行为的softmax单位组成。32位浮点格式的网络模型需要总共需要0.714 MB(分别为CNN和RNN的79.2K和99.456 K的权重)内存空间。
    如图1所示中,前缀“C”,“S”和“L”分别表示卷积,子采样和LSTM层。前缀“IG”,“FG”,“OG”表示LSTM层的输入门,忘记门和输出门。 “IN-C1”,“S1-C2”,“S2-C3”,“S3-L1”,“L1”和“L1-Out”显示灵敏度分析的权重组。虚线和实线分别表示反复和正向路径。
    2.2 加速度数据序列动态手势识别
    基于加速度数据序列的动态手势识别模型也采用了LSTM RNN结构,标准LSTM使用三个门控机制,称为输入门、忘记门及输出门,分别可以访问和修改存储单元。这三个门的激活功能是逻辑S形,LSTM的输入和输出层采用双曲正切激活函数,该算法将加速度数据直接应用于RNN。因此,该应用比基于图像序列的动态手势识别简单得多。输入层包含3个线性单位以接收3轴加速度数据,使用一个大小为128k的LSTM隐藏层,输出层由对应于8个目标手势运动的8个softmax单元组成。具有N个单元的LSTM层需要总共4N2+4NM+7N个权重,其中M是先前的层大小[10]。因此,权重总数约为69K,因此当使用浮点格式时,网络模型需要276 KB的内存空间。
    2.3 基于重新测量的权重和信号量化
    信号或权重的量化效应取决于信号流图,量化的影响可以用灵敏度来表示,每个层中的权重和信号被划分为一组,每个组采用相同的量化步长Δ。为了优化Δ,本文采用L2误差最小化标准。基于量化步长Δ,分层进行权重和信号的灵敏度分析。如图1所示显示了权重和信号分组结果。图中“In-C1”是输入层和第一卷积层之间的第一个加权组,“S3-L1”是最后一个合并层与LSTM层之间的第四个权重组,“C1”是信号第一CNN层的组,“L1”是LSTM层的信号组。
         由于直接量化不能形成最好的性能比,因此需要进行量化域的再学习,在学习算法的RNN版本中所提及的,在目标网络中,使用三种不同类型的激活函数(逻辑Sigmoid、双曲正切和整流线性单元)。逻辑S形函数的输出范围在0和1之间,双曲正切的输出范围为-1和1,而整流线性单位的输出范围在理论上为0和1。因此,逻辑S形和双曲正切的输出信号激活函数用固定大小的Δ量化。然而,整流线性单元的输出值可以是无限制的,因此,需要以与权重量化器相似的方法来计算量化步长Δ,整流线性单元的输出信号保存在整个训练集上,以计算适当的量化步长Δ与L2误差最小化。
    3 算法实验论证
    实验过程使用从可穿戴设备获得的两个数据集来评估所提出的算法:一个是基于图像的手势识别数据集,另一个是来自3轴加速度计的加速度数据集。
    3.1 基于图像的动态手势识别
    该实验数据集由QVGA(320×240)中的9个手势类的900个图像序列组成,由3个原始手形(平面,扩展和V形)和3个原始运动(左,右和合约)定义,该数据集的目标任务是对不同的形状以及不同的运动进行分类。同时,每个类包含100个图像序列(5个不同的照明×10个任意运动×2个对象)。数据集按实际需要分为训练数据占60%(540个序列),验证的占20%(180个序列)和测试的占20%(180个序列)。
    3.2 基于加速度计的动态手势识别
    本实验采用SmartWatch手势数据集训练了基于加速度计的动态手势识别模型[13],收集数据集用以评估使用手臂手势与移动应用程序交互的几个手势识别算法的验证。实验包含八个不同的用户对、共计3200个序列进行二十次不同手势,每个序列都包含来自第一代Sony Smart Watch的3轴加速度计的加速度数据。RNN训练方法,初步学习率为10-5,在训练过程中降至10-7,动量为0.9,AdaDelta被用于体重更新。网络规模为32、64、128和256,由于整个数据集太小,无法训练LSTM RNN,所以测试集的结果噪声较大,因此,本文对每个网络大小进行10次实验。实验结果中32、64、128和256网络的浮点训练结果大小分别为36.02±24:40%(平均值±标准差),22.26±4:00%,18.29±4:86%,16.68±5:72%。
    4 结论
    本文主要两个不同数据集的动态手势识别的LSTM RNN是完成对可穿戴设备的定点实现。基于动态重构算法结合神经网络进行自学习判别可穿戴设备的手势动作,并且可以通�^使用更多的训练数据进一步改进。基于重新训练的定点优化大大减少了计算所需的信号和字符长度,通过这种优化,与浮点实现相比,权重所需的存储空间可以减少到只有6.25%。优化的定点网络可以在嵌入式实现中显示更好的识别性能,因为减少的内存大小可以实现纯粹基于片上存储器的操作。
    参考文献:
    [1] Z. Lv, L. Feng, H. Li, S. Feng, Hand-free motion interaction on google glass in SIGGRAPH Asia Mobile Graphics and Interactive Applications. ACM, 2014:21.
    [2] E. Morganti, L. Angelini, A. Adami, D. Lalanne, L. Lorenzelli, and E. Mugellini, A smart watch with embedded sensors to recognize objects, grasps and forearm gestures. Procedia Engineering, 2012,l(41): 1169-1175.
    [3] P. Mistry and P. Maes, Sixthsense: a wearable gestural interface.in ACM SIGGRAPH ASIA 2009 Sketches,2009:11.
转载请注明来源。原文地址:https://www.7428.cn/page/2018/0719/22762/
 与本篇相关的热门内容: