谢仁强,曹俊诚
(1.中国科学院上海微系统与信息技术研究所中国科学院太赫兹固态技术重点实验室,上海200050;2.上海科技大学信息科学与技术学院,上海201210)
基于加速度传感器的可扩展手势识别*
谢仁强1,2,曹俊诚1*
(1.中国科学院上海微系统与信息技术研究所中国科学院太赫兹固态技术重点实验室,上海200050;2.上海科技大学信息科学与技术学院,上海201210)
为了提高基于加速度传感器的动态手势识别算法的性能,并且增强系统的可扩展性,提出了一种有效结合机器学习模型与模板匹配的方法。将手势分为基本手势和复杂手势两大类,其中复杂手势可分割为基本手势组成的序列;根据手势运动的特点提取有效的特征量,并利用基本手势样本训练随机森林模型,然后用其对基本手势序列进行分类预测;将预测结果进行约翰逊编码,再与标准模板序列进行相似度匹配。实验结果表明,该方法获得了99.75%的基本手势识别率以及100%的复杂手势识别率。算法既保证了手势识别的精度,也提高了系统的可扩展性。
手势识别;加速度传感器;手势分割;随机森林;相似度匹配
EEACC:7230;7320Edoi:10.3969/j.issn.1004-1699.2016.05.006
随着传感技术的快速发展,人机交互已经成为人们日常生活不可或缺的重要组成部分。手势作为一种自然的人机接口,大大简化了交互的过程,使得人们能够较为直观地向机器以及计算机发送命令。过去几年中,已经提出的一些关于手势识别的应用包括智能轮椅[1],电视控制系统[2],智能戒指[3],以及机器人辅助生活[4]等。
手势识别目前主要有两种实现方式,一种是基于计算机视觉的识别技术[5-6],另一种是基于惯性传感器的识别[7-10]。由于三轴加速度传感器在可移动性、低延时、低成本方面的优势,已被越来越多地嵌入到各类消费电子产品中。在文献[11-12]中,作者开发了一支基于加速度传感器的数字笔以及一个轨迹识别算法,用以识别手写数字和手势。近来,多传感器融合技术已被应用在各类系统中以提高手势识别的性能[13]。然而,融合多个传感器将增加系统的成本开销以及计算负担。
就手势识别算法而言,隐马尔科夫模型[4]作为一种重要的统计模型目前应用较为广泛;其他一些已提出的手势识别方法包括动态时间规整[14-15],符号序列与模板匹配[16],最大概率的最长公共子序列[17],以及相似性传播[18]等。然而,这些方法要么基于机器学习模型,算法具有较高的识别精度,但可扩展性较差,如需往手势库中添加新手势,则要预先收集大量的新手势样本。相反,模板匹配的方法可扩展性较强,但识别准确率一般要稍差一些。本文基于加速度传感器提出一种有效结合机器学习模型与相似度匹配的方法。将手势分为基本手势和复杂手势两大类,其中复杂手势可分割为基本手势组成的序列;利用基本手势训练随机森林模型[19],然后用其对基本手势序列进行分类预测;将预测结果进行约翰逊编码,再与标准模板序列进行相似度匹配。算法既保证了手势识别的精度,也提高了系统的可扩展性。
1.1硬件设计
本文设计实现了一个加速度传感数据采集模块和一个可扩展的手势识别算法。其中,传感系统主要包含一个3轴MEMS(Microelectromechanical Systems)加速度传感器(MMA9551L)和一个微控制器(IAP15W4K58S4)。MMA9551L的可选量程为±2 gn/±4 gn/±8 gn,电源电压范围1.71 V~1.89 V,而IAP15W4K58S4的电源电压范围为2.5 V~5.5 V,由于两者IO电平不匹配,因此需在两者之间加电平转换芯片(PCA9306)。整个电路板的尺寸约为14 cm×2.4 cm,其实物如图1所示。MMA9551L测量手势模拟加速度信号,经内部自带的16 bit A/D转换器将其转换为数字信号。微控制器通过IIC接口读取加速度传感器采集的加速度数据,然后将读取的数据通过USB传输至PC,在PC上完成手势的识别。本文系统采样频率为100 Hz,加速度测量范围设为±8 gn。
图1 加速度传感数据采集模块电路板
1.2系统流程
本文系统流程如图2所示。首先,用户手持加速度传感数据采集模块为手势集合中的每个基本手势采集样本数据;经信号预处理,手势分割,特征提取之后作为训练样本用于训练随机森林模型;训练之后的模型即可用于对基本手势进行分类预测。然后,用户输入手势集合中的复杂手势;经信号预处理,手势分割之后,被切分成一个由基本手势组成的序列;再经特征提取之后用已训练的模型对序列中的每个基本手势进行分类识别。将识别出的基本手势进行约翰逊编码,再与标准模板序列进行相似度匹配,输出最相似的手势。
图2 系统流程图
图38 个基本手势的运动示意图
本节首先对手势进行简单介绍,然后着重阐述手势识别算法的原理。整个识别过程包括以下几个步骤:数据采集与预处理、手势分割、特征提取、分类器的构建、基本手势编码、相似度匹配。
2.1手势定义
在大多数现有的手势识别系统中,手势是作为一个整体被识别的,并且每个手势均需收集大量的训练样本;因此,这些系统不便于用户添加新的手势。本文提出一种可扩展的手势识别算法,将手势分为两大类:基本手势和复杂手势;其中,复杂手势可拆分为基本手势组成的序列。8个基本手势的运动示意图如图3所示,包括:上(U),下(D),左(L),右(R),右上(UR),左下(LL),左上(UL),右下(LR)。6个复杂手势的运动示意图及其编号(1~6)如图4。通过将复杂手势拆分为基本手势序列,例如,手势“Z”(编号为4)可拆分为“右-左下-右”,系统只需采集基本手势样本来训练模型,然后利用已训练的模型对基本手势序列中的每一个进行分类识别;再将识别出的基本手势序列与标准模板序列进行相似度匹配,从而实现复杂手势的识别。系统有效结合了机器学习模型的高准确率以及模板匹配的可扩展性,实现了基本手势识别算法的复用,因而系统易于添加新手势。
图46 个复杂手势的运动示意图
2.2数据采集与预处理
用户手持加速度传感数据采集模块,在竖直平面(x-y平面)内完成图3和图4所示的手势动作。为了消除无意识的手势,在执行手势动作前需按下按键,这时微控制器开始采集加速度,完成手势动作后再松开按键。采集的原始加速度数据中含有重力加速度分量,为了准确获取手势加速度,需要预先去除重力加速度在各轴的偏移
其中,ar为采集的原始加速度,as为去除重力加速度分量后的手势加速度,N为采集的加速度样本点数。由于手的抖动,手势加速度往往伴随着高频噪声,为了不影响识别效果,本文采用滑动均值滤波器来滤除高频分量
这里,a为滤波后的手势加速度,本文取k=5,即滑动均值滤波器的点数设为11。手势“左”的加速度预处理前后效果如图5所示。
图5 手势“左”的加速度曲线
图5中,上图为预处理前的原始加速度曲线,下图为预处理后的加速度曲线。可以看出,经预处理重力加速度偏移已被移除,并且曲线更加平滑;注意到其波形类似于正弦曲线。“右”、“上”、“下”的波形与此类似,但加速度方向和所在坐标轴稍有变化;“右上”、“左下”、“左上”、“右下”则稍复杂,其同时在两个坐标轴上含有加速度分量
2.3手势分割
为了准确检测手势的起点和终点,从而截取有效的手势信号段,本文采用基于加速度一阶后向差分的检测方法。在没有手势动作时,加速度相对平稳;而当有手势动作发生时,加速度变化剧烈。对加速度信号进行差分可反映加速度变化的剧烈程度。具体地,
注意到,此处取加速度后向差分的模值,并进行了滑动平均,J[n]为滑动平均后的加速度差分信号,M=5。
手势“三角形”(编号为6,基本手势序列为D-R-UL)的加速度及加速度差分信号分别示于图6(上)和图6(下),可见每一个基本手势都对应一个加速度差分的主峰(圆圈标识);由于复杂手势需分割为基本手势序列,因此,可选择相邻两个加速度差分峰值间的最小值(倒三角标识)作为基本手势的分割点;手势的起点和终点则可通过一个阈值来确定(本文阈值设为0.025 g)。当第一个波峰左边下降至阈值时则为手势的起点,最后一个波峰右边下降至阈值时则为手势的终点(正方形标识)。手势分割点及主峰值点已在加速度曲线中用竖直线标出,可见利用加速度差分的方法可较好地将一个复杂手势分割为三个基本手势信号段,即得到一个长度为三的基本手势序列。对单独的基本手势而言,情况则稍简单一些,只需确定加速度差分主峰值左右两边的起点跟终点即可。
图6 手势分割
2.4特征提取
手势分类的关键是提取能够准确描述手势运动学特性的特征量,特征提取直接关系到手势识别的准确率,提取的特征必须能够反映各类手势的特点以及明显区别于其他手势的地方。由于复杂手势已分割为基本手势序列,因此只需提取基本手势相关的特征即可。本文共定义了17个特征,分别为MAx,MAy,MAR,MAS,lmx,rmx,lmy,rmy,slmtx,srmtx,slmty,srmty,Jx,Jy,JR,SJR,r;其中下标x和y表示分别在x和y轴提取的特征。以下为各个特征的具体定义:
①平均绝对加速度
其中L为手势分割截取的有效手势信号段的长度。
②x和y轴平均绝对加速度的比值
③x和y轴平均绝对加速度之和
④加速度差分主峰值点左边加速度绝对值最大时的加速度值
同理可得主峰值点右边加速度绝对值最大时的加速度值rm。
⑤加速度差分主峰值点左边大于阈值的加速度绝对值的最大值点的加速度符号
⑥加速度差分主峰值点左右两边加速度绝对值最大值点间的平均加速度导数
其中Δt为两点间的时间差。
⑦x和y轴平均加速度导数的比值
⑧JR的符号SJR=sign(JR)
⑨x和y轴加速度间的相关系数
其中cov(x,y)为协方差,σx和σy为x和y轴加速度的标准差。
2.5分类器的构建
在机器学习中,随机森林是一个包含多棵决策树的组合分类器,其输出的类别是由各决策树输出的多数类而定。在建立每一棵决策树的过程中,从N个训练样本中有放回取样N个样本(即bootstrap取样)对每个结点分裂时,从M个特征中随机选择log(M+1)个特征采用完全分裂的方式建立决策树,不需要进行剪枝。Weka是基于Java环境下开源的机器学习以及数据挖掘软件,其源代码可在它的官方网站下载。本文使用Weka中提供的随机森林算法,利用已提取的17个基本手势特征,共构建了11棵决策树。
2.6基本手势编码
基本手势识别之后,需将其进行4-bit约翰逊编码以便能够计算手势间的相似度。8个基本手势相应的约翰逊编码如表1所示,从R(C0)到LR(C7)依次进行编码。编码规则可迭代地表示为
其中,B3,B2,B1,B0是二进制bit,Cn和Cn+1是两个相邻的编码,n=0~6,C0=0000。注意到:①任意两个相邻的编码之间有且仅有1 bit不同;②第一个编码(C0)与最后一个编码(C7)之间有且仅有1 bit不同。两个手势编码间的汉明距离可表示为不相同的二进制比特的个数。给定任意两个基本手势Cx=X3X2X1X0和Cy=Y3Y2Y1Y0,则Cx和Cy之间的汉明距离可表示为
s的取值范围为0~1,当Cx与Cy相同时取1,相反时取0。注意到两个手势编码不同的bit数越少(即汉明距离越小),手势越相似。
即d(Cx,Cy)等于Cx⊕Cy中1的个数,且其取值范围为0~4。由表1可以看出,任意两个方向相邻的手势有1 bit不同,递增地,任意两个方向相反的手势有4 bit不同。本文中利用两个基本手势编码间的汉明距离来度量手势间的相异性;将其转化为归一化的相似度
s的取值范围为0~1,当Cx与Cy相同时取1,相反时取0。注意到两个手势编码不同的bit 数越少(即汉明距离越小),手势越相似。
表1 8个基本手势的约翰逊编码
2.7相似度匹配
复杂手势通过手势分割变为基本手势序列,经特征提取及模式分类之后得到一个已识别的基本手势序列(可能存在误识别);将每个识别出的基本手势进行约翰逊编码,再与标准模板序列进行相似度匹配,即可识别出复杂手势。假设输入的复杂手势已识别为序列A1′-A2′-A3′,将其与表2中的模板序列进行相似度匹配;具体地,计算
其中,i=1~6,Si为已识别序列与第i个模板序列的总相似度。预测结果即为,即将最相似的手势作为输出结果。
3.1基本手势识别
为了测试手势识别算法的效果,本文收集了5名实验者总共1 100个手势样例,其中800个基本手势,300个复杂手势。要求每位实验者按图3和图4所示,以正常的速度在竖直平面内重复20次基本手势动作以及10次复杂手势动作。首先,利用800个基本手势样本,采用十折交叉验证的方法来评估随机森林分类器的效果,得到如表3所示的混淆矩阵,可见800个样本中仅有2个分类错误,平均识别率达99.75%。然后,用所有800个样本来训练模型,已训练的模型即可用于对复杂手势分割成的基本手势序列进行分类识别。
表3 基本手势识别的混淆矩阵
表4 由复杂手势分割成的基本手势的识别结果
3.2复杂手势识别
300个复杂手势经手势分割后得到900个基本手势。利用3.1节已训练好的随机森林分类模型对其进行分类识别,得到表4所示的识别结果。平均识别率为97.3%,其中识别率最低的为“左上”,其识别率为88%。注意到,在分类错误的样例中,大多被误分为与其相邻的手势,这为本文提出的基于约翰逊编码的相似度匹配提供了数据支撑,因为相邻两个手势较为相似,可通过相似度匹配来进行纠错。由随机森林模型已识别的基本手势序列经约翰逊编码之后,再与标准模板序列进行相似度匹配,得到最终的复杂手势输出。其识别结果的混淆矩阵如表5所示,注意到每个复杂手势均被正确识别。
表5 复杂手势识别的混淆矩阵
算法在随机森林分类器较高的基本手势识别率的基础上,采用基于约翰逊编码的相似度匹配的方法成功地实现了序列纠错的效果;在提升识别精度的同时,也增强了系统的可扩展性。表6对本文以及其他一些文献中提出的不同手势识别算法的性能做了比较,可以看出,本文提出的随机森林与相似度匹配的方法性能略高于其他的算法。
表6 不同手势识别算法的性能比较
本文提出了基于加速度传感器的可扩展手势识别算法。根据手势运动的特点提取了有效的特征量,并利用基本手势样本构建了随机森林模型。通过将复杂手势分割成基本手势序列,并利用已训练的模型对其进行分类识别;将识别出的序列经约翰逊编码之后,与标准模板序列进行相似度匹配,得到最终的分类结果。算法有效地将随机森林和相似度匹配结合起来,既保证了手势识别的精度,也提高了系统的可扩展性。然而,系统没有考虑加速度传感器的零点漂移问题,且系统只能识别由基本手势组成的序列,不能识别一些不规则的手势。在今后的研究工作中,可考虑如何对传感器进行校准,以及如何引进非规则手势。
[1]Lu Tao.A Motion Control Method of Intelligent Wheelchair Based on Hand Gesture Recognition[C]//2013 IEEE 8th Conference on Industrial Electronics and Applications,2013:957-962.
[2]Lian Shiguo,Hu Wei,Wang Kai.Automatic User State Recogni⁃tion for Hand Gesture Based Low-Cost Television Control System[J].IEEE Transactions on Consumer Electronics,2014,60(1):107-115.
[3]Xie Renqiang,Sun Xia,Xia Xiang,et al.Similarity Matching-Based Extensible Hand Gesture Recognition[J].IEEE Sensors Journal,2015,15(6):3475-3483.
[4]Zhu Chun,Sheng Weihua.Wearable Sensor-Based Hand Gesture and Daily Activity Recognition for Robot-Assisted Living[J]. IEEE Transactions on Systems,Man and Cybernetics,Part A:Sys⁃tems and Humans,2011,41(3):569-573.
[5]Alon Jonathan,Athitsos Vassilis,Yuan Quan,et al.A Unified Framework for Gesture Recognition and Spatiotemporal Gesture Segmentation[J].IEEE Transactions on Pattern Analysis and Ma⁃chine Intelligence,2009,31(9):1685-1699.
[6]Zhou Shengli,Fei Fei,Zhang Guanglie,et al.2D Human Gesture Tracking and Recognition by the Fusion of MEMS Inertial and Vi⁃sion Sensors[J].IEEE Sensors Journal,2014,14(4):1160-1170.
[7]肖茜,杨平,徐立波.一种基于MEMS惯性传感器的手势识别方法[J].传感技术学报,2013,26(5):611-615.
[8]陈意,杨平,陈旭光.一种基于加速度特征提取的手势识别方法[J].传感技术学报,2012,25(8):1073-1078.
[9]王万良,杨经纬,蒋一波.基于运动传感器的手势识别[J].传感技术学报,2011,24(12):1723-1727.
[10]刘蓉,刘明.基于三轴加速度传感器的手势识别[J].计算机工程,2011,37(24):141-143.
[11]Wang Jeen-Shing,Chuang Fang-Chen.An Accelerometer-Based Digital Pen With a Trajectory Recognition Algorithm for Handwrit⁃ten Digit and Gesture Recognition[J].IEEE Transactions on In⁃dustrial Electronics,2012,59(7):2998-3007.
[12]Hsu Yu-Liang,Chu Cheng-Ling,Tsai Yi-Ju,et al.An Inertial Pen with Dynamic Time Warping Recognizer for Handwriting and Ges⁃ture Recognition[J].IEEE Sensors Journal,2015,15(1):154-163.
[13]Zhang Xu,Chen Xiang,Li Yun,et al.A Framework for Hand Ges⁃ture Recognition Based on Accelerometer and EMG Sensors[J]. IEEE Transactions on Systems,Man and Cybernetics,Part A:Sys⁃tems and Humans,2011,41(6):1064-1076.
[14]荆雷,马文君,常丹华.基于动态时间规整的手势加速度信号识别[J].传感技术学报,2012,25(1):72-76.
[15]周治平,苗敏敏.基于改进DTW及互信息去噪的手势认证研究[J].传感技术学报,2014,27(8):1070-1076.
[16]Xu Ruize,Zhou Shengli,Li Wen J.MEMS Accelerometer Based Nonspecific-User Hand Gesture Recognition[J].IEEE Sensors Journal,2012,12(5):1166-1173.
[17]Frolova Darya,Stern Helman,Berman Sigal.Most Probable Lon⁃gest Common Subsequence for Recognition of Gesture Character Input[J].IEEE Transactions on Cybernetics,2013,43(3):871-880.
[18]Akl Ahmad,Feng Chen,Valaee Shahrokh.A Novel Accelerome⁃ter-Based Gesture Recognition System[J].IEEE Transactions on Signal Processing,2011,59(12):6197-6205.
[19]Breiman Leo.Random Forests[J].Machine Learning,2001,45(1):5-32.
谢仁强(1991-),男,四川人,中国科学院上海微系统与信息技术研究所硕士研究生,与上海科技大学联合培养,主要为研究方向为基于惯性传感器的手势识别技术,xierq@shanghaitech.edu.cn;
曹俊诚(1967-),男,江西人,中科院上海微系统与信息技术研究所研究员(二级)、博士生导师、中科院太赫兹固态技术重点实验室主任、国家杰出青年基金获得者、中科院“百人计划”、新世纪百千万人才工程国家级人选、上海市优秀学科带头人计划入选者、国务院政府特殊津贴和上海市自然科学牡丹奖获得者。主要为从事THz物理、器件及通信与成像应用等方面的研究,jccao@mail.sim.ac.cn。
Accelerometer-Based Extensible Hand Gesture Recognition*
XIE Renqiang1,2,CAO Juncheng1*
(1.Key Laboratory of Terahertz Solid-State Technology,Shanghai Institute of Microsystem and Information Technology,Chinese Academy of Sciences,Shanghai 200050,China;2.School of Information Science and Technology,ShanghaiTech University,Shanghai 201210,China)
This paper presents an algorithm combining machine learning model and template matching to improve the performance of accelerometer-based dynamic hand gesture recognition and enhance the extensibility of the system. Gestures are divided into two types,i.e.,the basic gesture and the complex gesture which can be decomposed into a basic gesture sequence.According to the characteristics of hand movements,effective features are extracted.A ran⁃dom forest model is constructed with the basic gesture samples,and then used to classify the basic gesture sequences. The predicted results are subsequently encoded with Johnson codes,and then matched with the standard template sequences by comparing the similarity.Experiment achieves 99.75%basic gesture recognition rate and 100% complex gesture recognition rate.The algorithm improves the performance as well as enhances the extensibility.
gesture recognition;accelerometer;gesture segmentation;random forest;similarity matching
TP212.9
A
1004-1699(2016)05-0659-06
项目来源:国家重点基础研究发展计划项目(2014CB339803);国家高技术研究发展计划(863)主题项目(2011AA010205);国家自然科学基金项目(61131006);国家重大科学仪器设备开发专项项目(2011YQ150021)
2015-12-21修改日期:2016-01-11