由于手势本身具有多义性,而且它在时间和空间上存在差异,研究者对手势的定义并不完全相同。现有文献中以三种方式对手势进行定义:手形(手掌与手指的轮廓)、手指或手臂的运动、人手和手臂结合组成的姿势[6,7]。本文中的手势指手部区域的形状(手掌与手指的轮廓)及其运动。在计算机图形学领域,根据图像模型空间[8]中分类到该空间子集的特征的不同,手势可以分为静态手势和动态手势两种,静态手势特征为空间中的点,而动态手势特征为空间中的轨迹。87521
根据输入形式的不同,手势识别技术可分为非视觉的手势识别和基于视觉的手势识别技术[9]两种。非视觉的手势识别技术不借助任何物理成像设备(比如摄像头),而使用其他感应设备进行手势识别。基于视觉的手势识别技术则是指借助物理成像设备进行手势识别。
非视觉手势识别技术以Surface为代表的触摸技术和数据手套为代表的虚拟现实技术最具代表性[9],触摸技术借助人手触觉产生感应,对手势进行识别;而数据手套在用户做出手势过程中,获取手部空间信息,通过建立三维模型进行最优化匹配,获得手势识别需要的关键参数进而进行手势识别。论文网
基于视觉的手势识别技术一般是指通过一个或多个摄像头采集用户手势的图像或视频,从图像或视频中分割出手势,提取手部特征,并与数据库中的手势模板进行匹配,确定手势进而计算机作出响应,帮助用户做出下一步操作。
手势识别初期研究主要使用特定硬件设备作为媒介进行输入,例如使用数据手套,一种类似于手套的传感器,通过手势变化,实时提取数据,并使用计算机获取关于手部的丰富信息。1993年B。Thamas等人使用数据手套作为输入媒介,完成自由手遥控目标的系统[2];到1998年Wu等人使用数据手套,完成了对手语识别系统的构建[4]。之后,由于不满穿戴式设备带来的诸多不便,研究者们开始更多地把采集手部信息放在标记技术上,即是指通过手部标记来识别手势,许多人利用标记点获得手形、手掌位置、手的平面位置数据等手部的丰富信息,完成手势识别。例如,1999年,长虹等人通过对手指进行标记,获得手掌和手指的相对位置,并借助计算机视觉技术实现对手形和手位的跟踪[2];2009,Pranav Mistry借助四个手指上的彩色标记环来定位手指位置,实现所谓的“第六感”系统[4]。最终,研究者们才把手势信息提取的问题集中到自然手上,即基于视觉的手势识别技术, 刚开始的基于视觉的手势识别是通过佩戴加速度器,获得XYZ三个方向上的加速度值大小,角速度等作为特征序列,实现对手势的识别,但能识别的手势很少,例如Freeman 和Roth 等人提出了一种新的手势识别系统[2],这一系统是以方向直方图作为特征来完成的。但是由于普通摄像头获得的RGB图像缺乏距离信息,使得获得的图像受光照、阴影、纹理变化等噪声的影响,处理结果不理想,许多学者把精力放在对复杂背景的建模上,结合SIFT、SURFE、HOG、LBP等特征描述子,提高了手势检测和识别的准确率,但是与人眼观察的自然图景有一定的差别,例如,高文等人提出了静态和动态复杂背景情况下对手势目标的检测和识别方法。三维建模的方法虽然提高识别率,但由于算法复杂,对识别的实时性产生了影响,直到2010年,微软推出Kinect深度摄像头,可实时获取图像的深度信息,为解决图像的干扰问题提供了新的研究思路。2011年,ZhouRen等人提出了基于Kinect并利用FEMD(finger-earth mover’s distance)算法实现稳定的静态识别[10]。国内电子科技大学的程洪教授提出了Image-to-Class Dynamic Time Warping(I2C-DTW)算法[11],与传统的DTW 不同,该方法把3D 手势的时间曲线序列划分为不同的手指组合,通过对两个手指模板间的最小变形路径进行搜索整合实现对3D手势的识别。西安电子科技大学的袁洪涛第一次使用手势训练样本训练支持向量机(SVM),完成手势识别[17]。