论文部分内容阅读
随着计算机的发展,人机交互技术也逐渐发展起来,手势识别正逐渐成为人机交互技术的一个重要的研究课题。手势识别过程可分为手势分割、手势跟踪、特征提取和手势识别四个部分,文中重点研究后三个部分。在手势识别的基础上,设计并开发了类鼠标的计算机输入系统。 在手势跟踪部分,本文应用Camshift算法进行跟踪,快速准确,随后针对Camshift算法容易陷于局部极小值这一缺陷,加入预测跟踪位置的机制进行了改进,解决了手势在经过类肤色物体时容易跟踪失效的问题。在手势跟踪的基础上,本文参考鼠标的工作原理,利用手移动的相对位移和速度控制光标,使手势在移动范围很小时就可以控制光标在整个屏幕移动,避免了人脸的干扰和屏幕边缘难以操作的困扰,大大增强了系统的可操作性。最后对光标的运动轨迹应用Catmull插值算法拟合,使光标移动轨迹平滑。 在手形识别部分,本文采用加权的7个Hu不变矩和指尖点个数两种特征,利用支持向量机作为分类器对five(手掌)、point(食指手形)、fist(拳头)、tick(勾号)、v(胜利)五种手形进行识别,平均识别率达到94.8%。指尖点检测首先对手形轮廓进行误差较大的多边形逼近,大大排除了实际应用中手形轮廓不光滑的干扰,然后利用凸包凸缺陷的性质设定一定的约束条件,最终得到指尖检测的平均准确率为94.2%,为手形识别提供了有效的特征。另外,本文针对tick和v手形对Hu矩高阶部分加权,增强轮廓的细节信息,使得手形v的识别率由54%提高到了84%。 在动态手势轨迹识别方面,本文利用位置、速率、角度三个表示轨迹的特征,采用连续隐马尔可夫模型算法识别上下左右四种手势运动轨迹。最终得到的识别准确率较高,平均达到98.5%。 在手势识别的基础上,以Visual Studio2012为开发平台,基于OpenCV2.44库,实现了一种类鼠标的计算机输入系统。本文设计并实现了十一种手势命令:光标控制、单击、双击、右击、放大、缩小、上下左右翻页。经过测试,这十一种手势命令设计友好,可操作性强,由作者本人操作的平均成功率为95.2%,由不同年龄段的用户操作的平均成功率91.54%,因此可以实现对电脑进行非接触式的操作。