论文部分内容阅读
随着计算机水平的飞速发展,迎来了人工智能、物联网、虚拟现实时代,人们也不再满足于过去的以设备为中心的人机交互方式如键盘、鼠标等,而是期望更自然、方便、以用户为中心的人机交互方式的到来。手势识别因方便、自然、直观、低成本等优点,成为当前人机交互领域的热点,它可广泛应用于VR、智能家居、智能交通等领域。传统的手势识别使用的数据手套,这种方法使用各种传感器获取手势的数据,所以可以达到很高的识别率,但设备穿戴复杂且成本高,难以广泛使用。而采用计算机视觉技术的手势识别使用摄像头采集各类手势,并将手势传给计算机进行处理,用户也无需穿戴任何设备,所以具有方便、灵活、成本低等优点。但基于视觉的手势识别还面临着许多难题,比如复杂的环境、光照等因素,都加大了手势识别的难度,因此需要研究人员展开更深入的研究。基于计算机视觉的动态手势识别主要包括分割手势、跟踪手势、提取运动轨迹的特征以及手势轨迹的识别四个部分,本文的研究工作如下:(1)在手势分割阶段,针对单一方法无法完整准确分割出手势的问题,使用肤色检测和背景差分相结合的方法来分割手势。先利用肤色在YCrCb空间下良好的聚类性,检测出手势区域、人脸以及背景中的类肤色物体,再结合手的运动特点,分析和对比几种基于运动信息的分割效果之后,选择了计算简单、速度快的背景差分法来检测运动的手势,可排除人脸和类肤色物体的干扰。采用两种方法结合的方式,分割出了手势。(2)在手势跟踪阶段,考虑到手势的颜色特性,使用了基于色彩直方图的Camshift算法对分割出的手势进行跟踪。针对Camshift算法遇到大量类肤色物体时可能导致跟踪失败的问题,采用了 Kalman滤波法对手势运动可能的位置进行预测,通过将二者结合实现了对手势的良好跟踪。(3)在特征提取阶段,针对运动轨迹常用的三种特征—位置、速率和方向角,选择最有效的方向角特征来描述手势质心的运动轨迹,并采用8方向链码来编码轨迹的方向角,从而形成手势质心运动轨迹的样本。针对运动轨迹需要确定起始点和终止点的问题,提出一种根据凸缺陷点的个数来检测手的张开和握拳两个状态的方法,确定了轨迹的开始和结束。(4)在手势运动轨迹的识别阶段,针对手势的时空差异特性,采用隐马尔可夫算法对手势质心的运动轨迹进行识别。隐马尔可夫算法包括Forward、Baum-Welch和Viterbi算法。利用Baum-Welch算法训练手质心运动轨迹样本,再采用Viterbi算法对定义的10种手势运动轨迹进行识别,并取得较好的识别率。