论文部分内容阅读
随着计算机技术的快速发展,人与计算机之间的交互活动变得越来越普遍,同时人与计算机之间的交互方式也越来越多样化。当前人机交互比较成熟的方式主要是基于鼠标、键盘等外设的交互方式和基于触摸屏技术的交互方式。尽管这些交互方式已经非常成熟,能很好地实现人与机器之间的交互,但是这些交互方式属于接触式交互方式,具有一定的局限性,并不能完全释放手的操作能力。因此,越来越多的研究者开始研究基于视觉的非接触式人机交互,通过利用摄像头扑捉到人的手部活动,识别手势的含义,实现人与机器的交互。这种交互方式充分发挥了手的潜力,并且人们可以释放双手,不用将双手束缚在外部设备上。2010微软发布的Kinect设备能提供彩色数据、深度数据和骨骼数据,使得基于视觉的人机交互变得更便捷。本文通过利用Kinect设备基于指尖信息识别出常用的静态手势和动态手势,并将识别出的手势作为指令来控制软件或硬件应用系统的动作,实现人与机器的非接触式人机交互。本文将几种常用的静态手势和动态手势作为基本的识别目标。针对静态手势,利用Kinect提供的深度和骨骼数据快速定位手部在深度图中的区域,并将该区域转换到彩色图像中,对转换后的区域利用YCrCb肤色模型进行手势分割,利用本文提出的静态手势的掌心点提取算法和指尖点检测算法求取分割后手部区域的掌心点和指尖点,结合内轮廓特征、距离比阈值和弯曲特征识别出静态手势。针对动态手势,利用本文提出的动态手势的掌心点提取算法和指尖点检测算法识别出指尖点,跟踪指尖点的运动轨迹,提取指尖点运动轨迹的特征,利用轨迹走向特征、突变点特征、角度阈值和距离比阈值识别出动态手势。本文所提出的基于Kinect的静态手势识别算法和动态手势识别算法较好地提取出指尖信息,实现了对常用的静态手势和动态手势的识别。由于该方法在手势分割阶段先利用深度数据缩小了手部所在的区域,使得在基于YCrCb肤色模型分割手势阶段可以适当扩大阈值的区间,减少了光照对手势识别的影响,提高了手势识别的稳定性。通过将识别出的手势作为控制指令,成功实现了人对机器小车、PPT播放和游戏中人物的控制,具有较好的应用价值。