论文部分内容阅读
目前,人机交互技术日益普及,已经被广泛应用于科研、生产、生活等领域。基于单目视觉的手势识别技术是人机交互的重要组成部分,该技术主要涉及手势的分割、特征的提取、手势的识别与跟踪等多个关键环节。但是手势识别在实际应用中容易受到光照变化、复杂背景的干扰,另外,考虑到交互实时性要求,算法的复杂度受到一定限制,这些都让单目动态手势识别技术成为人机交互领域中的难点。因此,本文提出低运算量的改进手势识别算法,并通过研究安卓整体架构,将手势识别实际应用于安卓平台,验证其有效性和实用性。安卓平台下的单目手势识别研究工作包括以下几个方面:1、在手势分割方面,对肤色提取法和帧间差分法的原理及缺陷进行深入研究,采用基于色彩直方图的自适应手部识别图像分割方法,通过获取肤色动态信息减小由周围环境和光照产生的噪声。与传统肤色分割相比,本文方法识别提取到的手部图像干扰信息更少。2、在特征提取方面,分析现有手部轮廓特征提取方法,针对其在复杂背景下实现效果不佳的问题,提出一种指尖-指间手部轮廓识别法。通过分割图像进行平滑处理、形态学处理和图像轮廓提取处理后,利用手指顶端和手指底端的曲率特征,在复杂背景中精确圈定手部范围,能够实现多种手势的识别。3、在对动态手势跟踪的研究中,研究现有手势跟踪技术,在深入分析Camshift手势跟踪算法的原理、实现及存在问题的基础上,提出历史运动矩阵方法改进Camshift算法,同时与自适应手部提取方法结合,提高复杂背景下手势跟踪精度。实验结果证明,在动态手部与面部有重合的情况下,本文算法的跟踪成功率较经典Camshift算法增加了80%。4、在动态手势识别方面,通过对手势动作的抽象、分析及手势动作向量定义,提出一种基于时间轴压缩的方向向量动态手势识别方法。在时间轴方向对轨迹向量进行衰减,记录时间轴方向向量判断动态手势轨迹,识别动态手势,该方法计算量小,实时性高,适于实际应用。5、在安卓平台实现方面,本文在深入研究Android平台构架、JNI技术、Linux下的V412框架和Android下的Camera架构的基础上,完成了在Android下的摄像头驱动移植、OpenCV移植和手势识别算法的移植,完成了可辨别6种手势的安卓应用程序示例。