基于OpenCV动态手势检测识别方法的研究

发布日期:2017年10月13日
基于OpenCV动态手势检测识别方法的研究 基于OpenCV动态手势检测识别方法的研究

本内容试读结束

下载后可阅读完整内容,立即下载

基于OpenCV动态手势检测识别方法的研究

针对动态手势识别实时性不足和识别效率低的问题,本文提出一种基于OpenCV的动态手势检测和数字识别方法。该方法采用肤色特征提取手势轮廓,以预测和重定位的形式采用HMM来对手势进行跟踪,手势的识别采用先对指尖轮廓进行定位的方式。经过实验,本文方法能够稳定地跟踪手掌区域,识别准确度高,并能够在保证识别率的基础上实现对手指数目的准确识别跟踪。

基于生物特征的身份认证方法和系统的研究一向都是图像识别技术[1]和模式识别领域研究的热点, 手势图像识别在人机交互中的应用成为一大热点,出现了各种各样的识别方法。手势作为人机交互(Human Computer Interaction, HCI)接口的一种,具有以人为中心,简单、高效、人性化的特点,是目前智能识别领域人机交互的重要手段之一。

针对手掌的提取主要是为了将手掌从庞大的背景中提取出来,因为背景复杂,采用灰度图像二值化的方法无法取得好的效果。采用颜色手套的解决方案能取得较好效果,但会有其他问题。而在本框架中, 采取肤色分割提取手掌轮廓的方式,通过测试,在大多情况下可以取得理想效果。

对于手势的跟踪,经典手势跟踪算法[2] [3]都存在不同的问题。均值漂移(Meanshift)算法不能很好地适应目标尺寸变化和目标的形变;连续自适应均值漂移(Camshift)算法能很好地利用颜色信息进行跟踪, 但是容易受到相同或相近颜色的干扰;卡尔曼滤波(Kalman Filter)算法的假设条件有可能不成立;文献[4]借助TLD 算法能有效地实现对手势稳定地跟踪,且改进的DTW 识别算法在保证识别率的基础上,有效地提高了识别效率但为了保证部分手势的识别率,增加了保留模板的数目,但是这在一定程度上限制了其他手势识别效率的提升;文献[5]用似然函数来降低粒子滤波算法中重要性权值的方差,提高了抽样效率,跟踪准确性也有所提高,但算法复杂度较高;文献[6]提出了TLD (Tracking Learning Detection)算法, 利用在线学习机制解决了长时间跟踪的稳定性问题,但需要通过手动框选的方式来指定目标的初始化位置,框选位置的不同对跟踪的结果有较大的影响,会导致跟踪不稳定。

静态手势识别算法一种是采取手指指尖定位,以手指指尖数目为静态特征,此方法识别率高且失误率低;还有一种是通过SVM [7]对设定好的手势先分类,获取特征向量。经测试比对,该方案能辨识的手势图像多,达到二十多种,可是对测试环境要求苛刻。我们测试的静态手形简单,因此采取以手指数目作为静态特征的方法有更好的表现。

本文框架对于动态手势识别,无需太过复杂的识别效果,只要实现对手掌质心的跟踪,相邻帧图中的有用手掌轮廓质心位置做差可得到相邻帧图像的动态特征向量。

为了实现对定位手势轮廓的高效准确的跟踪,本文采取预测和重定位的形式,采用基于卡拉曼滤波的粒子滤波算法来对手势进行跟踪。

本文提出的基于OpenCV 的动态手势跟踪识别框架如图1,首先根据肤色特征对手势轮廓进行准确完整的提取和分离并对采集的图片进行形态学处理获得手势区域,然后再使用粒子滤波算法对定位到的手势轮廓进行高效准确的跟踪和识别。

本文后续会从OpenCV 计算机视觉库介绍, 肤色分割模型的构建, 图像的预处理,静态手势特征提取方法的构建,对定位的手势轮廓进行高效准确的跟踪,手势识别及实验结果分析等方面论述原理及效果。



相关标签