论文部分内容阅读
近年来,机器人技术发展迅猛,基于机器人的各项技术也在不断进步,机器人已逐步进入各行各业,在人的操作下,机器人可以完成诸如家庭卫生打扫、物品搬运、病人和儿童看护、语音导航、信息查询等任务。其中,手势是人思想和意图最直接的表达方式之一,也是人机交互的重要组成部分,成为了众多专家和学者们研究的热点。 手指作为手部重要组成部分,手指动作具有表达方式简单、含义丰富的特点,利用手指进行人机交互将是新一代关键技术。在实际应用中,使用手指进行人机交互可以分为手指检测定位和手指动作识别两个步骤。 手指检测定位的目的是在图像中找到手指的准确位置,本文为避免复杂环境下的光照、肤色等因素对手势分割产生影响,将传统手部图像分割方法进行改进,提出了一种基于人体骨骼和深度图像信息的手指检测方法。首先采用Kinect摄像头获取人体骨骼和深度图像信息,通过人体骨骼信息锁定目标用户,利用锁定用户的手部节点位置从深度图像中提取手部区域图像,最后结合手部轮廓特征和自主提出的算法找到指尖位置。 手指动作识别旨在提取到手指位置后对其运动轨迹进行识别,以达到人机交互的目的。针对手写输入资料数据繁杂,需要处理大量的输入变量的特点,本文采用的轨迹识别算法是随机森林算法。本系统首先对手指指令输入轨迹数据进行特征提取,然后对这些轨迹特征进行离散化和归一化,将处理后的特征数据进行傅里叶描述子转换,提取主要的低频成分来描述轨迹,接着将转换后的特征数据输入到随机森林分类器中进行训练和识别,最后将识别结果发送到服务机器人并进行状态显示,从而完成整个人机交互过程。 本文原型系统运行在服务机器人平台上,服务机器人平台搭载Windows7操作系统,开发平台采用Visual Studio2010,使用微软MFC进行可视界面编程,对软件设计模式进行了详细的分析和整理,并应用到本文系统设计中。本文系统完成了人机交互系统框架的设计与构建,手势检测与识别算法的代码实现,上位机界面显示与操作,以及系统和机器人底层的数据通信等相关内容。 实验结果表明,本文系统能够有效检测出手指位置,准确识别手指指令,实现了基于手指的人机交互过程,同时系统满足实时性的要求,能够实现在复杂环境下的鲁棒运行。