论文部分内容阅读
在三维人机交互系统中,实时、稳定的多手指跟踪能让用户像操作真实物体一样去操作虚拟物体,因此能带来非常好的用户体验,而且它能提供手的三维结构信息,因此也能促进手势识别算法的准确性和鲁棒性。
本文利用微软的Kinect设备,提出一种实时鲁棒的三维多手指跟踪算法。算法首先利用深度图分割出一个粗糙的手区域,接着对该手区域进行基于贝叶斯肤色模型的肤色分类算法,得到精确的手区域,然后对该区域应用基于像素分类的指尖检测算法,得到二维指尖点的位置和方向;最后,在深度图上,对二维指尖位置周围的点进行采样,将均值作为指尖点的Z坐标,然后利用卡尔曼滤波器以及帧之间的连续性,对指尖点的三维位置及其轨迹进行跟踪。依据Kinect数据特点提出的二维指尖检测算法和利用了帧之间连续性的卡尔曼滤波器是算法的关键,也是本文的两个丰要贡献。
在应用研究方面,基于像素分类的二维指尖检测算法,我们实现了一个二维人机交互应用:隔空触摸;基于三维轨迹跟踪算法,我们实现了两个三维交互应用:积木摆放和虚拟物体浏览。并分别对这三个应用做了实验分析和用户调查,实验结果证明,我们的二维指尖检测算法即使在运动模糊、手指弯曲等情况下能够非常准确地检测二维指尖的位置。而我们的三维指尖轨迹跟踪算法能比较稳定地跟踪指尖的三维轨迹,利用它实现的三维交互应用能给用户带来很好的用户体验。