APP下载

基于深度学习算法的可穿戴设备手势识别系统设计*

2019-09-17

网络安全与数据管理 2019年9期
关键词:手势手表加速度

惠 丹

(西安理工大学,陕西 西安 710048)

0 引言

目前,随着可穿戴设备的普及,越来越多的人开始使用例如智能手表等设备。可穿戴设备主要使用触摸屏作为交互手段(如智能手表),然而为了保证便携性,可穿戴设备的触摸屏很难提供足够大的面积来实现各种交互,这样的限制也导致用户在使用触摸屏时很容易出现误触或操作错误。因此如何提高可穿戴设备触摸屏手势识别的准确率成为了重要的研究方向。

本文以智能手表为例,提出一种基于深度学习算法卷积神经网络(CNN)分类模型的用户手势识别系统。该手势识别系统利用智能手表上的加速度传感器获取用户的手势数据,通过训练CNN模型,使机器可以通过对比加速度传感器在三个向量轴的数据差异以及数据的时间长短来实现对用户手势识别分类的目的。

1 系统总体架构

如图1所示,本系统由可穿戴设备(智能手表)、智能手机和PC端组成。设定10种手势模式进行实验,首先通过加速度传感器采集参与实验者在智能手表上的手势交互数据(包括三个加速度轴的数据以及手势的执行时间),然后使用蓝牙收集数据并传输到智能手机上,利用已开发好的手机应用把手机采集到的数据样本进行批处理,再把数据样本通过WiFi共享到PC端,PC端把数据样本集导入CNN神经网络识别手势模型并最终返回识别结果[1]。

图1 系统总体架构

当前大部分可穿戴设备中都装备有加速度传感器。本文选择配备了三轴加速度传感器和蓝牙通信模块的安卓智能手表作为实验设备,三轴加速度传感器用于收集x、y、z轴上加速度的数据值[2]。

在执行数据收集时,用户首先从已开发的安卓应用中的模式列表选择手势模型的类型,然后智能手表将采集到的传感器数据通过蓝牙模块发送到智能手机。手机获取所收集数据后,整理成数据集并发送到PC端,PC端显示基于接收到的数据的手势模型分类结果。本研究中由于智能手机的计算性能有限,无法使用移动设备来训练机器学习模型,因此本文使用云计算平台来实现。移动设备和PC端通过WiFi进行数据通信,PC端获取手势交互数据集后,利用CNN模型判断手势类型并发送结果。本研究使用TensorFlow进行实验。

由于智能手表的触摸屏面积有限,因此本文在二维平面上选择9个点来确定手势模型,这样不仅符合用户在使用智能手表的交互习惯[3],也能最大限度测试该系统在实际交互场景下的识别准确率。

本文选取10种手势模型(如图2所示)作为实验手势模型,选择这10种手势模型是因为它们符合用户在使用智能手表时大部分的交互场景[4-5],并且这10组手势模型中组和组之间有一定的相似性,这样可以更好地测试系统的性能。

图2 10种实验手势模型

实验参与者在佩戴的智能手表上执行给定的10组手势。图2中的9个参考点是为了方便参与者而提供的。实验参与者按照自己的使用习惯去进行手势操作(如姿势、手型、动作等)。

(1)

这样,Ax、Ay、Az就组成了智能手表收集的初始手势样本数据。通过实验对比可以发现,在测试不同的手势模型时,加速度传感器的运行时间以及所获取的x、y、z轴上的加速度值是不同的。例如,在P1模式下加速度值有两个数据波动,而在P9模式下加速度值有三个以上的数据波动,并且两种手势在执行时间上的差异约为0.8 s。因此可以通过CNN模型训练机器分析不同手势模型的数据,并最终实现手势识别的目的[6]。

2 CNN手势识别系统模型

2.1 CNN神经网络

本文通过CNN神经网络实现对10种手势模型的分类。为了使用CNN模型,需要对输入数据大小进行修正。本研究在实验中把获取数据的时长固定为10 s,所收集的手势以10 Hz频率采样,每个数据大小为100。因此,输入数据的总大小为1×100×3,其中x、y和z轴各有100个数据。图3显示了CNN模型的设计结构。CNN模型一般由输入层、隐藏层和输出层组成,而本文设计的CNN模型分为输入层、卷积层、池化层、全连通层和输出层。输入层根据输入格式分类数据;隐藏层由卷积层、池化层组成,卷积层计算连通区域与其自身加权值之间的卷积[7],池化层进行下采样,对特征信息稀疏处理,减少数据运算量;在完全连接层中,所有节点都是相互连接的,每个节点的结果由权重矩阵做乘法并设定一个偏差值对数据重新拟合,减少特征信息的损失;在输出层,通过Softmax分类器处理后的数据按概率返回分类结果。

图3 CNN神经网络

2.2 总体架构

本文设计的CNN模型的总体结构如图3所示。其中Conv、Pool和Full分别是卷积层、池化层和完全连接层的缩写,卷积层feature map的初始数值为9,每次增加2倍,池化层使用max pooling方法减少运算数据。为了避免过度拟合,该网络共设有3个全连接层,其中dropout rate设置为0.5。本研究中使用了ReLU作为激活函数,交叉熵作为成本函数,ADAM作为优化器。这样做的目的是为了使整个CNN网络在处理数据时保证特征信息的损失降到最低,并且训练参数(如权值和偏差)可以实时更新,这样可以提高运算效率并保证识别的准确性。

3 实验过程与结果分析

3.1 实验过程

为了对模型的性能进行评价,本实验共收集了3 000组实验数据。基于这个数据集,对提出的手势识别系统进行训练和测试。训练和测试过程通过3次验证以保证性能评估结果的可靠性,各手势模型的数据样本量均为300组。

本实验使用准确率(Accurary)、精确率(Precision)、召回率(Recall)三个评估指标对该手势模型识别系统进行性能评估。

上述公式中,True Positive(TP)表示将正类预测为正类数;True Negative(TN)表示将负类预测为负类数;False Positive(FP)表示将负类预测为正类数;False Negative(FN)表示将正类预测为负类数。这三个评估指标是在深度学习性能评估中最常使用到的[8]。

通过实验,该手势模型识别系统性能的详细评估结果如表1所示。

表1 系统性能评估结果

3.2 实验结果分析

由实验结果可以得出该手势模型识别系统的三项性能指标都很高,均在97%以上,其中P1、P6、P9和P10都显示出极高的识别准确率,达到99%以上。P7和P8的准确率在97%以上,而P3的准确率相对较低,为94.2%(如表2所示)。由于P2和P3、P5和P6具有相似的特征,因此,系统会出现误判。此外,P1与P2,P3与P8,P4与P7、P9,P5与P6、P8等均有误判的情况出现,但是总体而言该系统的识别准确率是令人满意的,并且误判率可以通过增大训练数据样本量进行降低[9-10]。

表2 各手势模型识别准确率

4 结论

随着可穿戴设备越来越多地被人们使用,用户需要更加舒适便捷的人机交互,然而由于可穿戴设备尺寸和体积的限制,需要提高可穿戴设备的手势识别率以提升交互体验。因此,本文以智能手表为例提出基于深度学习算法的手势识别系统。该系统对设定的10组手势的识别准确率达到97.5%,并且准确率、精确率和召回率三项系统性能指标都达到了97%以上,而且随着训练样本的数据量增大,该系统的准确率还可以继续提高。该系统不仅可以提高可穿戴设备的手势识别率,还可以用来识别用户的个人生物信息,因此可以将该系统扩展到如数字签名、个人安全或用户标识等其他领域。

猜你喜欢

手势手表加速度
“鳖”不住了!从26元/斤飙至38元/斤,2022年甲鱼能否再跑出“加速度”?
谁偷走了手表?
挑战!神秘手势
手表
天际加速度
创新,动能转换的“加速度”
死亡加速度
麦唛的手表
胜利的手势
嘻嘻猴手表