新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于嵌入式系统实时交互的手势识别方法

基于嵌入式系统实时交互的手势识别方法

作者:时间:2012-05-08来源:网络收藏

摘要:提出了一种在单摄像头条件下。通过拟合图的外接多边形,找出其所对应的缺陷图,并建立手势与手势缺陷图的一一映射,利用手势缺陷图的特征来匹配和不同的手势。算法还将手势的跟踪与有机地统一起来,通过预测下一帧中手势出现的粗略位置大大降低识别步骤的计算量。该算法在实际应用的平台下,能快速、准确地实现手势的识别,能够满足人机的要求。

本文引用地址:http://www.eepw.com.cn/article/149117.htm

0引言

手势是人机领域近年来的研究热点,特别是利用摄像头来实现对手势信息的非接触性捕获,并由计算机进行分析理解,然后完成交互任务,由于其自然和符合人自身行为习惯的交互方式而备受青睐。手势的形态在交互过程中的变化以及周围环境的干扰都会影响到手势的识别和理解,因此手势识别是计算机视觉和人机交互领域中的重要问题,如何将这种交互方式更好地在中应用更是一个富有挑战性的工作。

视觉的手势识别过程通常分为四个步骤,即分割、表示、识别和应用。手势识别算法的关键和难点是分割和识别两个步骤,现有算法在这两个步骤通常都有计算量大、时间复杂度高的特点,而嵌入式设备又受到资源和计算能力的限制,要能够做到嵌入式手势交互,就有必要对传统的手势识别算法进行改进。

本文在单摄像头条件下,在手势跟踪的相关工作基础上,提出了一种基于手势结构特征的手势识别,使之满足嵌入式系统中的人机交互对性、准确性及连续性的要求。本文使用了计算量小且性能高的Camshift算法作为跟踪算法,并将其跟踪结果作为手势识别的参考因子,这样可以大大减少手势识别的工作量;手势的识别则采用了手势跟踪结果与手势形态结构特征相结合的处理。将手势跟踪的结果作为参考因子,可以除去图像中与手势无关的背景图像,利用手势形态结构特征使得手势识别工作不是对手势边缘的每个点进行处理,转而对手势的外接多边形进行处理。这两种方法相结合不仅使识别工作的计算量大大降低,对手势识别的精确度也有所提高,而且不需要对各种手势进行训练就可以完成识别工作,使得识别更加方便和简洁。

1相关工作

关于手势识别的算法,国内外的研究人员已经提出了很多不同的解决方案。目前比较常用的有基于统计的HMM模型、基于遗传算法以及基于人工神经网络的手势识别等。基于统计的HMM方法,其优点是利用先验知识建立视觉特征之间的因果关系来处理视频处理中固有的不确定性问题,不但能够在每个时刻上对多个随机变量所对应的不同特征之间的依存关系进行概率建模,而且考虑了各个时刻间的转移概率,能够很好地反映特征之间的时序关系。但是它需要维护一个具有一定规模的样本库,而且在使用HMM进行手势识别时计算量大。当然,样本库的规模越大其分布越接近实际情况,手势识别的准确率就越高,而且还需要使用数据平滑的技术来扩大小概率的值。遗传算法对图像进行离散化处理,对图像离散点进行控制,把图像识别问题转换为一系列离散点的组合优化问题;但它不能够及时利用网络的反馈信息,搜索速度比较慢,所需训练样本大、训练时间长。人工神经网络通过把大量的简单处理单元(神经元)广泛地连接起来构成一种复杂的信息处理网络,它在不同程度和层次上模仿人脑神经系统的信息处理、存储和检索功能,需要的样本少、效率高;但是需要人的参与训练,识别的正确率受主观因素的影响。

总体来说,在人机交互系统中,手势的跟踪与识别应该满足以下几个要求:

a)实时性好,避免对高维度特征矢量的计算,数据量大的数组处理以及复杂的搜索过程。

b)足够的鲁棒性。不受识别对象旋转、平移和比例改变以及摄像头视角改变的影响。

c)手势跟踪的连续性和自动初始化,能够在跟踪失败后自动恢复跟踪,尽量减少人的干预。

本文提出手势识别和跟踪方法不再追随传统的将识别的四个步骤孤立起来,而是将手势跟踪的结果与手势的识别这两个独立的步骤联系起来,将跟踪得到的手势预测的区域设为下一帧图像识别的感兴趣区域(regionofinteresting,ROI);基于Camshift算法,根据前一帧手势在图像中的位置和颜色信息,对手势在下一帧图片所处的位置进行预测,主要是基于颜色的统计信息。它运算量小,不仅能很好地满足嵌入式系统的需求,而且跟踪和预测的效果也非常好。通过对ROI区域进行手势的分割和识别,可以排除背景图像对手势的部分干扰,识别过程的计算量也减小很多。由于每种手势的边线都有不同特征,这些不同的特征能很好地反映在手势的外接多边形上,因此,可以对不同手势和外接多边形建立一个一一映射的关系;通过建立不同手势的外接多边形特征库,对分割出来的手势作多边形拟合,只要将提取出来的多边形与特征库中的外接多边形进行匹配就能判断出手势的类型。

本文提出的手势识别方法主要包括三个部分:

a)手势分割。将手部区域从场景中分割出来,并对手部的区域和轮廓进行提取。这里的手部区域主要根据c)跟踪的结果提供。

b)手势图像的外接多边形拟合以及匹配部分。对a)提取出来的手势轮廓作多边形拟合,分析多边形的形状特点,并在特征库中查找与拟合的多边形特征相符合的对象,再映射到具体的手势。

c)手势跟踪部分。根据颜色信息对手的区域进行定位,并对图像进行空间转换,利用统计原理对下一帧手可能出现的区域进行预测,并将预测的结果反馈给a)的手势分割部分。

手势识别流程如图1所示。

图1 手势识别流程

2手势识别框架

手势识别主要由静态手势的识别和手势跟踪两部分的工作组成,手势识别框架结构如图2所示。在本文提出的方法中,采用了将这两部分的工作进行并行处理的方式,手势识别的结果传递给跟踪部分,作为跟踪的对象,并且手势跟踪的预测结果反馈给识别部分,将为静态手势识别提供ROI图像区域。这样不仅能有效地提高跟踪的高效性,还能提高识别的准确性,将这两个部分有效地统一起来。

图2 手势识别框架 linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭