随着科技的不断发展,人机交互已成为人工智能领域的新兴发展方向,在人们生活中扮演着越来越重要的角色。在人机交互技术中,手势识别技术是重要的部分之一,在医疗、游戏、体育运动及智能等方面运用越来越广泛。手势识别主要包括基于视觉和基于传感器的手势识别。2014年,Thalmic实验室发布了MYO手环[1],该手环内置加速度计、陀螺仪、磁力计以及生物肌电传感器,可以测量姿态加速度和生物肌电信号。基于传感器的手势识别是指利用穿戴的传感器能够获得手的动作信息,并且这些数据信息可以用来对手势进行分析与识别,这类传感器可以测肌电信号、骨骼信息、加速度信号等,可以用来进行简单的手写识别[2-3]及手语手势识别[4-5]等。目前,基于传感器的手势识别的方法有基于惯性测量单元(Inertial Measurement Unit, IMU)[6-7]和基于肌电信号(ElectroMyoGraphy, EMG)等。
对基于肌电信号的手势识别算法已有学者进行了大量研究,Boyali等[8]提出用循环矩阵建立训练字典,并用基于稀疏表示的分类器对8维的肌电信号分类识别,准确率达97%;Linderman等[9]使用附着在手臂上的贴片电极来测得写字时的肌电信号,用动态时间规整(Dynamic Time Warping, DTW)算法匹配算法完成写字识别;在肌电信号的手势识别中,虽然许多研究表明隐马尔可夫模型(Hidden Markov Model, HMM)[10]以及人工神经网络方法[11]能够提高手势识别率,但是HMM方法和神经网络分类器训练样本量大,算法复杂,不适合快速手势辨识的应用。对基于加速度(ACCeleration, ACC)信号的手势识别:Wang等[12]使用DTW算法匹配最小距离模板,然后通过稀疏表示重构信号,实现不同的手势的识别;Gupta等[13]使用加速度和陀螺仪信号实现了连续手势的识别。为了增加手势识别的多样性,许多研究者将ACC和EMG信号[14]结合来实现手势的识别,如Li等[15]在多个传感器的基础上使用不同识别算法实现大量手语手势的识别;Georgi等[16]融合EMG和IMU信息采用隐马尔可夫模型的方法对可穿戴手势识别系统进行了简要评估,证明了该方法的有效性。虽然基于EMG和基于ACC的手势识别,都已经达到了较高的识别率,但是却很少研究将二者信息融合后,用简单快速的方法来实现人机交互中手势识别的实时性和多样性。
本文使用Thalmic实验室的MYO手势臂带采集12组包含肌电信号和加速度信号的动态手势信息。对于肌电信号,用DTW算法结合K最近邻(K-Nearest Neighbor, KNN)分类器进行分类识别,其中使用特征提取的方法简化计算过程。在对ACC姿态信号进行识别的过程中,用主成分分析(Principal Component Analysis, PCA)特征降维的方法来构建完备字典,在基于加速度的稀疏表示识别算法上[12]8648-8651,提出协作稀疏表示(Collaborative Sparse Representation, CSR)算法来识别加速度信号,并融合肌电信号识别动态手势。实验表明,与文献[12]的稀疏表示算法相比,协作稀疏表示算法在训练样本数减少的情况下,也可以达到较高的识别率,而且相对于DTW算法不仅有较好的识别率,而且计算速度快;在融合加速度和肌电信号后,手势识别率较高。
1 手势识别系统融合EMG和ACC的手势识别系统,是指对姿态手势和手形手势进行识别后融合为动态手势。手势识别系统主要包括了两大部分,训练样本以及未知手势(测试样本)。图 1为手势识别系统的流程框架。对于ACC信号,也就是姿态上的手势识别,采用了协作表示分类器来识别手势,其过程包括:创建字典,将输入信号压缩,稀疏表示出信号的主要信息,然后将信息重构出来,利用最小残差的标号表示手势类别;对于手形手势的识别,通过计算测试样本与训练样本的DTW匹配距离后,用KNN分类器对手形手势进行识别。
由图 1可知,在动态手势识别中,对手形手势识别和姿态方向上的手势识别使用了不同的识别方法。
2.1 ACC信号的手势识别MYO传感器输出的是3维的加速度信号,对加速度信号进行简单去重,然后用PCA降维,将所有加速度的高维数据投影到低维空间,然后用降维后的加速度信号构建完备字典,得出测试样本的稀疏表示系数,最后对重构信号与原始信号做残差,得出姿态手势。
2.1.1 创建训练字典使用协作稀疏表示分类器识别基于ACC信号的手势时,需要创建训练字典。创建字典首先需要将所有样本的3维加速度信号截取相同的长度,然后将每个训练样本的3维信号放入一个一维向量,接下来使用PCA降维来减少输入信号的维数,保留主要信号信息。假设每一个样本长度为l,所有的样本可以组成一个矩阵D1∈Ri*j,经过PCA降维之后映射为维度为n的空间,即通过式(1) 实现:
$\mathit{\boldsymbol{Y}} = \mathit{\boldsymbol{V}}{\mathit{\boldsymbol{D}}_{\bf{1}}}$ | (1) |
V表示矩阵D1经过分解后的特征向量,Y是降维后的数据矩阵。
使用PCA降维的过程是用奇异值分解得到协方差矩阵的过程。实验中对训练字典降维一方面可以降低计算时间复杂度,另一方面可以提取加速度信号中的主要特征;而且还可以满足稀疏表示中过完备字典的要求。在用PCA降维时,所降维数对计算速度和准确率都有影响:维数太大没有起到提取主要信息的作用,使计算量增大;维数太小,不能够将信号的主要信息表达出来。
2.1.2 协作稀疏表示分类器协作稀疏表示分类器是在稀疏表示的基础上完成的,稀疏表示来源于压缩感知的发展,其主要作用是将信号压缩,保存信号中的主要信息,滤出噪声和杂质信号。稀疏表示在人脸识别中运用非常广泛[17]。随着对稀疏表示的深入研究,文献[18]中就表明在信号表示中真正起作用的不仅是稀疏表示,而且还包括协作表示。稀疏表示理论要求:每一个动作的训练样本数量要足够大,以满足训练字典为过完备字典。但是在实际识别中,为了提高计算速度,样本数量一般较少,即为欠完备字典,因此使用所有的训练样本构成训练字典来协作表示测试样本。协作稀疏表示的原理就是利用训练字典尽可能地与输入信号逼近,在训练字典中找到一个最佳线性组合的样本来表示这个输入信号。
在本实验研究中,为了对手势进行简单快速的识别,使用较少的训练样本来实现较高的识别率,因此采用协作稀疏表示,即用所有的训练样本协作表示字典。设Xi表示一个训练样本,则训练字典可以表示为X=[X1,X2,…,Xi],设y为一个测试样本,将每个测试样本用所有的训练样本表示,即y=Xμ, μ=[μ1, μ2, …, μi],其中μi是第i个样本对应的稀疏表示向量。如果测试样本y与训练字典中的某个元素最为类似,则该元素就不会全为0,与测试样本不相似的元素则应全为0。但是在实际应用中,只需满足y≈Xμ。
通过协作稀疏表示对手势进行分类,首先需要将信号进行稀疏表示,然后根据稀疏表示向量重构出原始信号。求解稀疏向量问题可以通过最小化的目标函数来求解,即最优化问题如式(2):
$(\mathit{\boldsymbol{\mu }}) = \arg {\kern 1pt} {\kern 1pt} {\kern 1pt} \min \parallel \mathit{\boldsymbol{\mu }}{\parallel _0}\quad {\rm{s}}{\rm{.t}}{\rm{.}}{\kern 1pt} {\kern 1pt} \quad {\kern 1pt} {\kern 1pt} ||y - \mathit{\boldsymbol{X\mu }}|| < \varepsilon $ | (2) |
其中:y是测试样本信号,X是训练字典,μ是输入信号所对应的稀疏向量,ε是一个无穷小量。对于式(2) 的求解过程,实际上是在一定约束条件下,求L0范数最小化的问题,因为无法直接求解L0范数,一般将L0范数问题等效为L1范数问题,又由于L2范数代替L1范数对识别率不会带来较大的影响,却可以大幅降低计算的复杂度,因此将求解转换为L2范数最优化的问题。在L2范数的前提下,结合Zhang等[18]使用最小二乘法的规则化函数来表示,如式(3), 则有:
$\mathit{\boldsymbol{\mu }}{\rm{ = }}\arg \min \{ \parallel y - \mathit{\boldsymbol{X}}*\mathit{\boldsymbol{\mu }}\parallel _2^2 + \lambda \parallel \mathit{\boldsymbol{\mu }}\parallel _2^2\} $ | (3) |
其中:第一项是最小二乘法项,第二项是正则化项,μ是稀疏度,y是输入的测试样本,X是训练字典,λ称为L2规则化参数。图 2是L2范数正则化参数对识别率的影响图,识别率随参数λ的增大而增大,当λ≥1后,手势识别率随λ的增加波动较为平缓,不显著。因此将取λ=1。
式(3) 经过化简计算可得:
$\mathit{\boldsymbol{\mu }} = {({\mathit{\boldsymbol{X}}^{\rm{T}}}\mathit{\boldsymbol{X}} + \lambda \mathit{\boldsymbol{E}})^{ - 1}}{\mathit{\boldsymbol{X}}^{\rm{T}}}*y$ | (4) |
由式(4) 即可求出稀疏表示向量,然后利用所求向量就可以得出测试样本与重构信号的残差ri,见式(5),通过最小残差得出手势类别,见式(6):
${r_i} = \frac{{\parallel y - {\mathit{\boldsymbol{X}}_i}{\mathit{\boldsymbol{\mu }}_i}{\parallel _2}}}{{||\mathit{\boldsymbol{\mu }}|{|_2}}}$ | (5) |
$Z = \arg \;\min \{ {r_i}\} $ | (6) |
通过实验得到的测试样本手势类别标号,与真实手势类别标号进行比对,即可判断测试样本的手势类型。
2.2 手形手势识别在手形手势识别中,对MYO传感器输出的8维肌电信号进行处理与分析,用基于DTW模板匹配算法和KNN分类器分类5种简单的手形手势。
2.2.1 预处理及特征提取在传感器输出信号中,包含有噪声或者其他环境因素的影响,直接对信号进行分析就会造成许多的错误,降低手形手势的识别率。同时肌电信号序列大,需要采用滑动平均能量的方法分割数据段,实验中设滑动窗口大小为160 ms,窗口增量为40 ms;接下来对每个划分窗口的信号值求均方根,提取EMG信号的主要特征。
2.2.2 DTW算法动态时间规整(DTW)算法,是一种距离匹配算法,主要用于匹配不同长度的序列间的距离,其始于语音识别中[19]。该算法简单,训练开销小,并且已经广泛用于手势识别算法中。
假设有两个时间序列,X={x1,x2,…,xN},Y={y1,y2,…,yM},X为测试样本数据,Y为参考模板数据,M、N代表两序列的长度,两值不一定相同。如图 3所示,用X-Y直角坐标系表示,横纵坐标分别表示两序列,坐标中网格交错点就表示第M和第N个序列点之间的距离,计算出任意两个点的距离后,找出最小距离。为减少计算过程中的计算量,将路径倾斜度限制在0.5~2[20],这样到达(n, m)就只有3条路径,分别为(n-1, m)、(n-1, m-2)、(n, m-1),减少了计算量。要得到两序列之间的DTW距离,首先要计算各个序列点之间的距离,即帧匹配距离:
$d({x_N},{y_M}) = \sqrt {\sum\limits_{i = 1}^8 {{{({x_{Mi}} - {y_{Ni}})}^2}} } $ | (6) |
两序列从坐标点(1, 1) 到(N, M)的最小累积距离则为:
$D = d({x_N},{y_M}) + \min (D({x_{N - 1}},{y_M}),D({x_N},{y_{M - 1}}),D({x_{N - 1}},{y_{M - 1}}))$ | (7) |
对于手形手势的识别,在采用DTW算法计算测试样本与所有训练样本的匹配距离后,使用最邻近分类器(KNN算法)对测试样本进行分类。KNN算法是将一个样本在特征空间中的k个最相邻的样本中的大多数归属为某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法简单,鲁棒性强。KNN方法在类别决策时,只与极少量的相邻样本有关,分类识别率与K值的选取有关,在实验中,K=5较为合适。
3 实验与结果 3.1 实验实验设备为Thalmic实验室开发出来的MYO手势控制臂带,其不仅可以捕捉到用户手臂肌肉运动时产生的生物电变化,而且可以采集在姿态上的运动数据。MYO由8个肌电传感器和IMU组件组成,EMG可以捕获受试者胳膊臂上的肌电信号,IMU可以测量手势运动的加速度。实验中,执行的手势是12个动态手势,如图 4的(a)~(l),由手形手势和姿态手势组成,其中手形手势是由MYO的5个易识别的基本动作,分别为握拳(fist)、张手(spreadfinger)、向内摆(wave in)、向外摆(wave out)、剪刀手,姿态手势分为:向上、向下、向右、向左。采用无线蓝牙将传感器采集的肌电信号数据显示到电脑上。在动作采集的过程中,为了使识别结果更加准确,将12个动作分开采集;为了避免佩戴位置及其他条件的影响,戴上MYO采集完所有的数据之后再摘下。8维的EMG信号的采样频率为200 Hz,ACC信号的采样频率为50 Hz。
实验对象为23~28岁的健康人共5人,每人每个动作执行45次,则每个动作共执行225次,12个动作总共执行2 700次,全部作为测试样本,另外,单独采集向上、向下、向左、向右4个姿态动作40次。由于动态动作是由姿态动作和手形动作组成,因此训练样本单独采集。采集某一个人的向上、向下、向左、向右4个动作分别20次。采集4个手形动作分别20次。
3.2 结果与分析 3.2.1 维数及训练样本个数对姿态手势识别率的影响在姿态手势的识别过程中,对训练字典进行降维来提取动作的主要特征时,所降维数对识别准确率和识别复杂度具有一定的影响,对于复杂度不同的动作,最佳特征维数可能不同。因此实验中对姿态动作特征降维的维数进行了探究,便于后续动态手势识别达到最佳效果,主要是考虑了握拳向上、握拳向下、握拳向右、握拳向左这4个动作,因为这4个动作包含了4个姿态动作,可以大致确定对于4个姿态动作的最佳特征降维维数。
由表 1可知,当所降维数低于4维时,识别率在较低的水平上波动,当维数上升为5时,识别率有明显的提高,特别是姿态向左这个动作。当维数上升为6及更大时,其对识别率的影响较小。从这4个姿态动作中,可以发现所降维数对向下和向右这两个动作的影响较小。这说明这两个动作有非常明显的特征,更容易被识别出来。对于向左这个动作,其动作特征不是特别明显,需要较多的特征值来描述这个动作。通过对维数的分析可以得出,对于4个姿态动作,在维数为6时,不仅不会影响识别率,而且不会因为维数过大影响计算速度。在利用协作稀疏表示分类器识别动态手势过程中,对训练样本个数进行研究时,我们将维数设置为6维。
表 2是在对ACC信号识别姿态手势的过程中,对训练字典中每个动作的样本个数进行研究的结果。由表 2可知,当训练样本数少于7时,训练样本数的变化没有引起识别率的显著变化。当训练样本数增加至9时,总体识别率有明显提高,达到98.33%,其中,向上动作的识别准确率相较于其他几个动作要差一些。在训练样本数增至10时,总体识别率可以达到最佳效果,其中训练样本数对向上这个动作的影响最大。
为了验证协作稀疏表示分类器识别姿态手势的识别效果,分别针对向上、向下、向左、向右四个单独的姿态动作,将所提的方法与经典的DTW算法进行了识别效果比较,如图 5所示。图中A、B、C、D分别表示向上、向下、向左、向右这4个动作。协作稀疏表示分类器对4个姿态动作的识别效果到达96.88%,计算时间为0.121 4 s;而DTW算法的平均识别率为94.375%,计算时间为132.365 9 s。相对于DTW算法,所提方法识别率高,计算时间短,速度快,因此协作稀疏表示算法对姿态信号的手势识别具有一定优势。
对于动态手势的识别率,通过分析姿态手势和手形手势识别的准确率,来找出影响动态手势识别的因素。图 6中横坐标A~L分别表示12组动态手势,柱状图分别表示了12组动作在手形、姿态上的平均识别率。由图 6可知,手形手势的识别结果较好,除了剪刀手动作外,其他手形识别率都达到了100%,手形手势的平均识别率为99.17%,与之前工作研究中所用的模板匹配法相比,手形手势识别率提高了3.11%;在ACC信号分类的姿态手势中,握拳向下、握拳向左以及张手向右的识别结果相对较差,但是该组手势识别中,姿态手势平均识别率达到96.67%,与文献[12]的稀疏表示算法相比,协作稀疏表示算法训练样本数减少,但识别率并未降低,简化了手势识别方法。
表 3是动态手势识别的混淆矩阵,该混淆矩阵中的A~L表述了12组动态手势的识别结果。融合加速度和肌电信号的12组动态手势的平均识别率达到96.11%。由表可知,握拳向上、握拳向左、张手向下等动作的识别效果较好,但是也有部分动作如握拳向下等识别效果较差,在后续工作将进一步探究其原因。
本文提出了一种新的融合多传感器信息的手势识别方法,用12个动态手势对该方法进行了识别与验证,两种不同类型的信号分别用两种不同的识别方法来分类。对于姿态信号的识别,在稀疏表示的基础上,提出协作稀疏表示算法识别姿态信号,相比于前者,该方法可以在较少训练样本的情况下,实现较高的识别率,而且计算速度快,实验中姿态信号的平均识别率达到96.67%。对于手形手势的识别,其中使用滑动平均能量的方法分割手势活动段,并用平均绝对值提取特征,用优化的DTW算法计算测试样本与训练样本的匹配距离,最后用KNN分类器分类手形手势;对于12组动态手势的手形,识别率能够达到99.17%。融合后的12个动态手势的平均识别率为96.11%,达到了较好的识别效果;而且该识别方法简单方便,可以将该方法用于实际生活中。在今后的工作中,我们将继续对动态手势进行研究与探讨,会通过增加陀螺仪来识别旋转类手势。
[1] | THALMIC LABS. Myo user guide[EB/OL].[2015-12-26]. https://developer.thalmic.com/downloads. |
[2] | WANG J S, HSU Y L, LIU J N. An inertial-measurement-unit-based pen with a trajectory reconstruction algorithm and its applications[J]. IEEE Transactions on Industrial Electronics, 2010, 57(10): 3508-3521. DOI:10.1109/TIE.2009.2038339 |
[3] | HUANG G, ZHANG D, ZHENG X, et al. An EMG-based handwriting recognition through dynamic time warping[C]//Proceedings of the 2010 Annual International Conference of the IEEE Engineering in Medicine and Biology. Piscataway, NJ:IEEE, 2010:4902-4905. |
[4] | WU J, TIAN Z, SUN L, et al. Real-time American sign language recognition using wrist-worn motion and surface EMG sensors[C]//Proceedings of the 2015 IEEE 12th International Conference on Wearable and Implantable Body Sensor Networks. Piscataway, NJ:IEEE, 2015:1-6. |
[5] | WEI S, CHEN X, YANG X, et al. A component-based vocabulary-extensible sign language gesture recognition framework[J]. Sensors, 2016, 16(4): 556. DOI:10.3390/s16040556 |
[6] | HSU Y L, CHU C L, TSAI Y J, et al. An inertial pen with dynamic time warping recognizer for handwriting and gesture recognition[J]. IEEE Sensors Journal, 2014, 15(1): 154-163. |
[7] | AKL A, CHEN F, VALAEE S. A novel accelerometer-based gesture recognition system[J]. IEEE Transactions on Signal Processing, 2011, 59(12): 6197-6205. DOI:10.1109/TSP.2011.2165707 |
[8] | BOYALI A, HASHIMOTO N. Spectral collaborative representation based classification for hand gestures recognition on electromyography signals[J]. Biomedical Signal Processing and Control, 2016, 24: 11-18. DOI:10.1016/j.bspc.2015.09.001 |
[9] | LINDERMAN M, LEBEDEV M A, ERLICHMAN J S. Recognition of handwriting from electromyography[J]. PLOS One, 2009, 4(8): e6791. DOI:10.1371/journal.pone.0006791 |
[10] | KIM S, PARK G, YIM S, et al. Gesture-recognizing hand-held interface with vibrotactile feedback for 3D interaction[J]. IEEE Transactions on Consumer Electronics, 2009, 55(3): 1169-1177. DOI:10.1109/TCE.2009.5277972 |
[11] | WANG J S, CHUANG F C. An accelerometer-based digital pen with a trajectory recognition algorithm for handwritten digit and gesture recognition[J]. IEEE Transactions on Industrial Electronics, 2012, 59(7): 2998-3007. DOI:10.1109/TIE.2011.2167895 |
[12] | WANG H, LI Z. Accelerometer-based gesture recognition using dynamic time warping and sparse representation[J]. Multimedia Tools and Applications, 2016, 75(14): 8637-8655. DOI:10.1007/s11042-015-2775-2 |
[13] | GUPTA H P, CHUDGAR H S, MUKHERJEE S, et al. A continuous hand gestures recognition technique for human-machine interaction using accelerometer and gyroscope sensor[J]. IEEE Sensors Journal, 2016, 16(16): 6425-6432. DOI:10.1109/JSEN.2016.2581023 |
[14] | CHANG W, DAI L, SHENG S, et al. A hierarchical hand motions recognition method based on IMU and sEMG sensors[C]//Proceedings of the 2015 IEEE International Conference on Robotics and Biomimetics. Piscataway, NJ:IEEE, 2015:1024-1029. |
[15] | LI Y, CHEN X, ZHANG X, et al. A sign-component-based framework for Chinese sign language recognition using accelerometer and sEMG data[J]. IEEE Transactions on Biomedical Engineering, 2012, 59(10): 2695-2704. DOI:10.1109/TBME.2012.2190734 |
[16] | GEORGI M, AMMA C, SCHULTZ T. Fusion and comparison of IMU and EMG signals for wearable gesture recognition[C]//Biomedical Engineering System and Technology, CCIS 574. Berlin:Springer, 2015:308-323. |
[17] | WRIGHT J, YANG A Y, GANESH A, et al. Robust face recognition via sparse representation[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2009, 31(2): 210-227. |
[18] | ZHANG L, YANG M, FENG X, et al. Collaborative representation based classification for face recognition[EB/OL].[2016-11-20]. https://www.researchgate.net/publication/223466657_Collaborative_Representation_based_Classification_for_Face_Recognition. |
[19] | 刘敬伟, 徐美芝, 郑忠国, 等. 基于DTW的语音识别和说话人识别特征选择[J]. 模式识别与人工智能, 2005, 18(1): 50-54. (LIU J W, XU M Z, ZHENG Z G, et al. DTW-based feature selection for speech recognition and speaker recognition[J]. Pattern Recognition and Artificial Intelligence, 2005, 18(1): 50-54.) |
[20] | LOU Y, AO H, DONG Y. Improvement of Dynamic Time Warping (DTW) algorithm[C]//Proceedings of the 201514th International Symposium on Distributed Computing and Applications for Business Engineering and Science. Washington, DC:IEEE Computer Society, 2015:384-387. |