基于手势识别的人机交互技术研究
2016-02-19吴彩芳谢钧周开店
吴彩芳+谢钧+周开店
DOI:10.16644/j.cnki.cn33-1094/tp.2016.02.009
摘 要: 手势交流是一种自然直观的交互方式,研究手势识别能够有力的推动人机交互技术的发展。回顾了手势识别的发展历程,列举了一些影响力较大的手势识别技术,概括了手势识别的现状,说明了静态手势识别和动态手势识别的含义;总结了常用的几类手势识别方法,包括基于模板匹配技术、基于概率统计技术和基于数据分类技术,分别对其中经典的算法进行阐述;并对人机交互领域的下一步研究工作做出了展望。
关键词: 手势识别; 综述; 人机交互; 总结
中图分类号:TP391.4 文献标志码:A 文章编号:1006-8228(2016)02-29-04
Overview of human-computer interaction technology based on gesture recognition
Wu Caifang, Xie Jun, Zhou Kaidian
(School of Command Information System, PLA University of Science and Technology, Nanjing, Jiangsu 210007, China)
Abstract: Gesture is a natural and intuitive communication mode, and the study of gesture recognition can strongly stimulate the development of human-computer interaction. In this paper, the development history of gesture recognition technology is reviewed, several influential gesture recognition techniques are listed; the present status of gesture recognition is summarized; the definition of the static gesture recognition an dynamic gesture recognition are explained. the frequently-used methods of hand gesture recognition are also summarized, including the template matching technology, gesture recognition based on probability statistics and data classification techniques. Finally, the next step in the field of human-computer interaction research work is prospected.
Key words: gesture recognition; overview; human-computer interaction; summarize
0 引言
随着计算机和互联网的迅速普及,人机交互活动逐渐成为人们日常生活的重要组成部分。研究自然人机交互方式可以降低操作本身难度,避免身体单一部位的劳动,可降低患颈椎病、腰间盘突出等疾病的几率。传统的人机交互方式,比如键盘、鼠标、遥控、触摸屏等,都需要人去适应机器,需要人按照预先设定的规范去操作,而现今技术的发展使得人机交互的方式有了更多的选择。基于手势识别的人机交互以直接操作为主,使人机交互技术从以机器为中心逐步转移到以人为中心,符合人的交流习惯。因此,手势识别正逐渐被开发和应用于工程中。
1 手势识别概述
手势识别最早是由Grimes等人利用数据手套实现的,他们因此获得了AT&T“数据手套”专利[1]。台湾大学的Liang等人设计的手势识别系统通过单个VPL数据手套实现了对台湾手语课本字条的识别,准确率达到99.2%[2]。Intel的OpenCv手势识别系统,实现了与位置无关的基于立体视觉和Hu矩特征的识别。哈尔滨工业大学的高文等人用18个CyberGlove型号的数据手套,结合ANN与HMM模型训练手势,实现了对孤立词的识别,识别率超过90%[3]。清华大学的祝远新、徐光祐等给出的基于视觉的识别技术,能够识别12种动态孤立手势,识别率达90%[4]。上海大学的段洪伟用LS-SVM算法实现了对静态手势识别,并使用HMM模型实现了动态手势的识别[5]。北京大学的张凯、葛文兵等人利用平面立体匹配算法得到三维手势信息,实现了基于立体视觉的手势识别[6]。总而言之,手势识别研究可以分为两种:基于数据手套的手势识别和基于视觉的手势识别。
基于数据手套的手势识别需要操作者佩戴数据手套,通过它上面的传感器获取人手信息及手指运动轨迹和时序信息,计算机对获取的数据进行分析识别,达到人机交互的效果[7]。虽然这种识别方法识别精度高,速度快,但是设备价格高,使用舒适感差,不是自然的人机交互方式。基于视觉的手势识别是通过摄像机采集包含操作者手势的图像序列,通过图像分析进行识别。设备便宜易获得,操作简便[8]。如今摄像头不再局限于仅仅获取场景的二维图,还可以获取场景的深度信息。例如微软的体感设备Kinect可以同时获取场景的彩色图像、深度图像、人体骨骼数据等,利于分割出目标物体,并且其识别过程不受光照强度、背景、物体颜色、纹理等影响,具有很好的鲁棒性[9]。因此,基于视觉的手势识别越来越受到研究者的关注。
2 常见的手势识别技术
手势识别技术目前主要分三大类:基于模板匹配技术、基于概率统计技术和基于数据分类技术。模板匹配方法是先将图像序列转换为一组静态形状模式,然后在识别过程中与预先存储的行为模板进行比较,最后从中选择相似度最接近的已知模板所属类别作为被测动作的识别结果。例如,Bobick等人将目标的运动信息转化为MEI(运动能量图像)和MHI(运动历史图像)两个二维模板,采用马氏距离度量测试样本与模板之间的相似度[10]。该方法的优点是计算复杂度低,实现简单,缺点是无法解决运动时间快慢的影响。基于模板的技术主要有模板匹配方法、动态时间规整以及动态规划方法等。基于概率统计的手势识别方法是将概率统计的方法应用到运动序列中,将其中间经历的动作定义为一个状态之间是按照某种特定的顺序所排列的,状态和状态间的转移用概率来表示。基于概率统计的技术有隐马尔科夫模型、动态贝叶斯网络以及条件随机场等方法。基于数据分类的技术有神经网络、支持向量机等。
2.1 动态时间规整算法
动态时间规整算法(DTW),是把时间规整与距离测度计算结合起来的一种非线性技术,是一种经典的模板匹配算法,最初用在孤立词的语音识别中,可以解决序列长短不一的模板匹配问题。DTW算法涉及两个序列,一个是模板序列,一个是待测序列,主要思想是利用动态规划方法寻找一条科学的时间校准匹配路径,而匹配路径就是序列上点与点的映射关系。对于时间轴存在差异的两条序列,DTW算法可以消除时间轴上的差别,使它们之间的失真度达到最小,其方法是对序列进行全局或局部扩展、压缩或者变形,跟另外一个序列的时间轴重叠度达到最大[11]。
设待测手势序列为X=(x1,x2,…,xn),手势模板序列为Y=(y1,y2,…,ym),n和m表示手势帧的时序标号,构造一个矩阵C,矩阵中任一元素c(xi,yj)表示待测手势序列中第帧的特征向量与模板序列中第帧的特征向量之间的距离。一般情况下,xi和yj越为相似,则c(xi,yj)的值越小,也就是这两个特征向量的距离越短,我们称代价小。反之向量间的距离越大,代价越大。这样问题就可以转化为在该矩阵中寻找一种路径,使X和Y之间的距离最小。这条路径同时满足以下条件:路径起点是矩阵的左下角,终点是矩阵右上方;路径上直接相连的任意两点在矩阵中是相邻的;路径具有非递减性n1?n2?…?nL且m1?m2?…?mL。一条合法的X和Y之间的路径P的总代价cp(X,Y)定义为:
一条和之间最优化的平均路径p*是在所有可能的路径中代价最小的路径。则X与Y 之间的DTW距离DTW(X,Y)就定义为平均路径p*的代价。
使用DTW算法进行手势识别,首先需要对模板进行训练,为每个手势提取特征,归一化处理成一个序列作为模板。DTW算法将待测手势与模板手势库中的每一个模板进行匹配,DTW距离最小的模板作为识别结果返回。
2.2 隐马尔科夫模型
和DTW算法进行比较,HMM具有明显的优点,其可同时对时空特性及其相关性建立模型,具有性能良好的时变数据匹配性。
在隐马尔科夫模型中存在着两个随机的过程:一个是可观察的状态,一个是隐藏状态。两个过程之间存在着一定的关系,隐过程必须通过观察序列表现出来。一个HMM可用一个5元组{N,M,π,A,B}表示,其中N表示隐藏状态的数量,M表示可观测状态的数量,π={πi}为初始状态概率,A={aij}为隐藏状态的转移矩阵P(xt(i)|xt-1(j)),B={bjk}表示某个时刻因隐藏状态而可观察的状态的概率,即输出概率矩阵,P(ot(i)|xt(j))。
由于手势是一个连续的过程,所以宜采用连续密度隐马尔科夫模型。连续密度隐马尔可夫模型的每个状态的概率密度函数是由个连续高斯密度函数描述,即CDHMM模型的状态输出采用多维高斯概率密度分布:
其中N(o,μjk,∑jk)为多维高斯概率密度函数,o为观察适量序列(o1,o2,…,oT),即从Kinect中提取的特征矢量序列,T为观察矢量序列的时间长度,μjk和∑jk为第k个高斯混合度的均值矢量和协方差矩阵,参数cjk是混合权重,满足约束条件。
使用HMM经常要解决以下三类基本问题。
⑴ 估值问题:已知模型HMM,计算某一给定可观察状态序列的概率。这类问题通常使用前向算法(forward algorithm)来解决。
⑵ 解码问题:根据可观察状态的序列找到一个最可能的隐藏状态序列。这类问题通常使用维特比算法(viterbi algorithm)来解决。
⑶ 学习问题:这是最难的HMM应用。也就是根据观察序列和其代表的隐状态,估算该连续型隐马尔科夫模型参数。使得CDHMM模型能够最好的描述我们所见的这个现象规律。这类问题通常使用前向后向算法(forward-backward algorithm)来解决[12]。
使用CDHMM进行手势识别,首先需要训练HMM模型。每种手势对应一个HMM模型。提取代表某手势的特征向量,作为训练HMM模型的观察序列,使用前向后向算法训练出HMM模型。在进行手势识别的时候,先将待测手势提取特征向量,使用前向算法分别求每个HMM模型产生该手势的序列的概率,则使得这个概率最大的HMM模型对应的手势即为识别出的结果。HMM需要假设观察序列是基于条件独立的,这种不确切的假设导致其不能表示时间序列中的上下文依赖关系以及序列间的特征多重重叠。
[获取数据][预处理][特征提取][CDHMM
模型库][Viterbi
算法][识别结果] [训练][识别]
图1 使用隐马尔科夫进行手势识别的流程图
2.3 姿势序列有限状态机的识别方法
林水强等人使用有限状态机的方法有效识别人体动作,这种方法也可借鉴到手势识别中[13]。将手势动作分解成对应的关节点的连续运动轨迹,在运动轨迹中选出几个离散的关键点,不同的运动轨迹可以由不同的关键点组合代表,每个关键点代表一个姿势状态,动态手势的识别由识别状态转移的过程实现。根据这种思想,提出姿势序列有限状态机的识别方法识别预定义的手势动作,姿势序列表示一个动态手势由多个静态手势在时间轴上描述的一组运动序列,姿势序列有限状态机描述了每个动态手势的有限状态以及各个状态之间的转移过程。定义姿势序列有限状态机为A,它可以用一个五元组表示:
A=(S,∑,δ,s0,F)
其中,S表示状态集{s0,s1,…,sn,f0,f1},其对动态手势的每个特定的姿势状态进行描述;∑表示输入的手部节点特征向量和限制参数字母表{u,┐p,┐t},其中符号“┐”表示逻辑否定;δ为转移函数,定义为S×∑→S,表示姿势序列FSM从当前状态转移到后继状态;s0表示开始状态;F={f0,f1}为最终状态集合,分别表示识别成功状态和识别无效状态。
字母表∑中,变量u代表某个动态手势类型对应的所有手部节点特征向量V的集合,特征向量表示手运动轨迹在空间网格中的离散点域规则,通过点域规则可以构造出动态手势的轨迹正则表达式。
路径限制p={xyz|x∈[xmin,xmax],y∈[ymin,ymax],z∈[zmin,zmax]}对特定的姿势进行关键点的范围控制,在任何情况下超出预定义路径范围,即┐p为真,则被标记为无效状态。
时间戳t∈[tstart,tend]规定了手势在当前状态到后继状态转移所需要的时间,若手势的某个状态在规定的时间内未转移到后继有效状态,即┐t为真,则跳转到无效状态。每个动态手势由几个典型的静态手势构成,静态手势对应已定义的状态量,每种状态量由关键点特征数据在空间网格中计算得到,动态手势状态转移必须满足路径限制p和时间戳t的条件,从而识别动态手势。通过五元组可以描述姿势序列有限状态机的各项属性特性以及每一步转移过程。
在初始状态s0下,按照待测手势达到第一个有效状态s1,如果下一时刻的手势仍然在预定义的范围内,则达到后继有效状态sk。以此类推,直至达到成功状态f0,即手势识别成功。在任意有效状态下,如果行为超出路径限制或者时间戳范围,则直接标记该序列手势为无效状态,即手势识别失败。在达到任意结束状态后,当前的姿势序列有限状态机运行完毕,重新初始化进行下一组动作手势的识别。
3 结束语
当今智能设备充斥在人们生活的各个角落,人机交互技术的发展使得这些设备的性能越来越流畅,因此手势识别作为人机交互技术的重要组成部分而成为研究热点。本文研究了手势识别技术,详细介绍了动态时间规整算法、隐马尔科夫算法、姿势序列有限状态机法。下一步在提高手势识别率方面,要研究使某一手势识别算法的识别率最大化的多种手势特征的特征选择和优化处理问题;在手势多样化方面,要研究结合动态手势和静态手势的复杂手势的识别方法。随着人脸识别、语音识别、眼球追踪等模式识别技术如雨后春笋般出现,人机交互有了更加广泛的诠释方式,研究结合多种识别技术设计出更加自然流畅的人机交互系统也是很重要的工作。
参考文献(References):
[1] Grimes G J. Digital data entry glove interface device[P]. US
Patent, 4,414,537, Bell Tele Phone Laboratories, November 1983.
[2] R-H Liang, M Ouhyoung. A real-time continuous gesture
recognition system for sign language.In: Proc of the 3rd Intel Conf on Automatic Face and Gesture Recognition. Nara, Japan: IEEE Computer Society,1998:558-565
[3] 吴江琴,高文,陈熙霖.基于数据手套的汉语手指字母的识别[J].
模式识别与人工智能,1999.12(1):74-78
[4] 任海兵,祝远新,徐光祐等.基于视觉手势识别的研究综述[J].
电子学报,2000.2:118-121
[5] 段洪伟,陈一民,林锋.基于LSSVM静态手势识别[J].计算机
工程与设计,2004.12.
[6] 张凯,葛文兵,汪国平,董士海.基于立体视觉的自然手势识别[A].
第一届建立和谐人机环境联合学术会议论文集[C],2005.
[7] HolgerKenn, Friedrich Van Megen, and Robert Sugar. A
glove-based gesture interface for wearable computing applications.Applied Wearable Computing(IFAWC),2007 4th International Forum on,2007:1-10
[8] 孔晓明,陈一民,陈养彬等.基于视觉的动态手势识别[J].计算
机工程与设计,2005.26(11):76-78
[9] Stefan Stegmueller. Hand and finger tracking with Kinect
depth data,2011.http://candescentnui.codeplex.com.
[10] Davis J W, Bibick A F. The representation and
recognition of human movement using temporal templates[A]. Proceedings of IEEE Conference on Computer Vision andPattern Recognition[C]. San Juan, PR, USA: IEEE Press,1997:928-934
[11] 姚桂林,姚鸿勋,姜峰.一种基于DTW/ISODATA算法的多
层分类器手语识别方法[J].计算机工程与应用,2005.41(8):45-47
[12] 常亚南.基于HMM的动态手势识别[D].华南理工大学,2012.
[13] 林水强,吴亚东,余芳,杨永华.姿势序列有限状态机动作识别
方法[J].计算机辅助设计与图形学学报,2014.26(9):5-6