来源:中国一卡通网 作者:不详 发布时间:2012-05-09 09:22:57 字体:[大 中 小]
摘 要: 提出了一种在单摄像头条件下基于嵌入式系统的手势识别方法。通过拟合手势图的外接多边形,找出其所对应的手势缺陷图,并建立手势与手势缺陷图的一一映射,利用手势缺陷图的特征来匹配和识别不同的手势。算法还将手势的跟踪与识别有机地统一起来,通过预测下一帧中手势出现的粗略位置大大降低识别步骤的计算量。该算法在实际应用的嵌入式平台下,能快速、准确地实现手势的识别,能够满足实时人机交互的要求。
其中: scale 为单位化量值; hull_cur 和hull_next 分别为外接多边形当前遍历的边和下一条边; dx0、dy0分别为外接多边形当前边的x 和y 坐标的差值; dx、dy 分别为当前遍历的轮廓线上的点与hull_cur 点之间x 和y 坐标的差值; depth 为遍历点与对应边之间的距离,它的最大值即为该边对应的谷底深度,相应的点为谷底。
通过以上搜索可以将手势轮廓缺陷图的特征值找出来,接下来便可以将缺陷图的特征值( 多边形与谷底的关系) 与已建立的库中的特征值相比较,对手势进行匹配,将手势轮廓缺陷图映射到不同的手势上去。
2. 1. 2 手势匹配
手势的匹配主要是基于手势缺陷图的匹配,手势缺陷图的特征值由外接多边形以及谷底的位置和深度组成,如图5所示。
根据多边形的边数以及各条边的程度可以确定手指的数量,而谷底的深度和位置可以确定手指的关系和位置。由于这是根据手势的整体图像来进行分析,所以具有一定的鲁棒性,当光线变化而导致手势图出现差别时,并不会导致手势缺陷图的变化。
2. 2 手势跟踪
对于手部跟踪,主要是基于Camshift 算法实现的,它综合利用了手势图像的颜色、区域和轮廓特征。Camshift 是Mean.Shift 算法的推广,是一种有效的统计迭代算法,它使目标点能够漂移到密度函数的局部最大值点。Camshift 跟踪算法是基于颜色概率模型的跟踪方法,在建立被跟踪目标的颜色直方图模型后,可以将视频图像转换为颜色概率分布图,每一帧图像中搜索窗口的位置和尺寸将会被更新,使其能够定位跟踪目标的中心和大小。本文中,Camshift 算法被用于位置的粗定位,即确定当前手势区域的外包矩形Rect,如图6 所示。
Rect 将被用于前一步静态手势识别的输入图像,以便减少对图像的分割以及模糊运算的工作量。
3 手势交互演示系统
本文在Linux 系统下实现了本文提出的基于手势轮廓缺陷图进行手势识别的方法,并在"嵌入式之星"开发板上实现了手势识别的人机交互演示系统。系统处理器800 MHz,存储器RAM256 MB,实时采集640 × 480 的真彩色图像。该系统分析摄像头实时捕获到的每一帧图像,对图片中的手势进行实时识别。系统的应用程序是一个基于手势识别的拼图游戏,通过变换手势来完成拼图。可识别的静态手势状态被分为五类: A为握拳、B 为食指伸长、C 为V 型手势、D 为中间三指伸开、E为五指张开。A、E 手型分别对应抓取与松开。手势为握拳状态时,手对应的图片块被选中( 类似鼠标左键按下) ,此时可以拖动图片,选定位置后可以换成手势E,图片将被松开( 类似鼠标左键松开) ,B、C、D 手势分别表示将图片放大、缩小和旋转。
演示系统效果如图7 所示。
图7 演示系统效果
4 实验结果及分析
为了检验本文算法的准确性和实时性,本文在实验室光照条件下,采集不带任何特殊标记的手势单目视频图像。实验中参数设置如下: Camshift 算法的最大迭代次数为10; 手势分割使用的HSV 颜色空间如表1 所示。
对手势二值图像所做的数学形态学操作使用3 × 3 的模板做开运算,使用5 × 5 的模板做闭运算; 噪声手势的域值设为0. 01.手势的跟踪过程无人工干预。
表2 给出了五种手势的识别率与匹配成功率。匹配成功率是指在正确识别出手势类型的情况下,按照2. 2 节给出的匹配方法将手势轮廓缺陷图的特征与手势类型进行匹配的成功比率。
表3 给出本文方法与其他方法的比较结果。与其他手势识别方法比较,本文提出的方法有相当的识别率,还实现了手势跟踪的结果对识别的反馈,并在实时性方面满足嵌入式系统的需求( 20 ~ 25 fps) ,明显好于文献[7]( 一种面向实时交互的变形手势跟踪方法, 18 fps) 和目前流行的Hand Vu 的识别效率。
鲁棒性方面,由于本文采用了模糊运算,图像模糊分割的准确率达到96. 4%,对环境的变化具有很好的抗干扰性。即使背景有人的走动造成环境和光线的剧烈变化,也不会对手势轮廓缺陷图造成太大的影响。
5 结束语
本文针对人机交互领域基于视频手势在嵌入式系统上的实时交互任务提出一种快速、计算量小的手势识别方法。它结合了基于模型与基于表观方法的特点,是建立在对目标对象-手势的理解基础上,通过识别静态手势实现了手势的跟踪与识别。与传统的手势识别系统不同,它在注重识别效果的同时还要注重算法的计算复杂度。通过使用手势轮廓缺陷图作为手势识别的特征结构,不仅大大减少了计算量,由于缺陷图是从整体结构刻画手势的结构,所以它还增强了手势识别的鲁棒性。实验表明本文提出的方法可以满足交互的实时性要求,能很好地用于手势交互的应用系统。
推荐文章
论坛热帖