图1.3 Kinect人体骨骼识别
1.3 Kinect的开发工具
1.3.1 Kinect for Windows SDK
Kinect for Windows SDK主要是针对Windows7设计,内含驱动程序、丰富的原始感测数据流程式开发接口(Raw Sensor Streams API)、自然用户接口、安装文件以及参考数据。Kinect for Windows SDK可让使用C++、C#或Visual Basic语言搭配MicrosoftVisualStudio2010使用。
Kinect for Windows SDK的主要特色包括:论文网
- 原始感测数据流:开发人员能够直接取得距离传感器、彩色摄影机以及四单元麦克风数组的原始数据流。这些数据让开发人员可以利用Kinect传感器的低阶数据流为基础进行应用程序开发。
- 骨架追踪:此套SDK能够追踪Kinect视野内一位或二位用户的骨架影像,便于建立以体感操作的应用程序。
- 先进的音效功能:包括抑制噪音与回音消除功能、可透过音波形式辨识声音来源,并且能与Windows语音识别API整合。
- 简易的安装:这套SDK提供了在Windows7上的标准化安装方式,无需复杂的组态设定,安装档案大小也不到100MB。开发人员只要购买标准的Kinect传感器,就能在几分钟内立即开发。
- 完整的说明文件:SDK也随附详细的高质量技术文件。除了内建的说明档案之外,还包括了多个范例详细的逐步分解说明。
1.3.2 Open CV
使用Open CV此库函数可大大增加Kinect的识别功效,可进行更多的手势,动作定义,从而进行更复杂的人机交互。Open CV的全称是:Open Source Computer Vision Library。Open CV于1999年由Intel建立,现在由Willow Garage提供支持。Open CV是一个基于BSD许可证授权(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。并可用于处理人机互动、物体识别、图象分割、人脸识别、动作识别、运动跟踪和机器人等诸多方面的应用。
Open CV 拥有包括 500 多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库——尽管也可以使用某些外部库。Open CV 使用类BSD license,所以对非商业应用和商业应用都是免费(FREE)的。(细节参考 license)。Open CV 为Intel Integrated Performance Primitives (IPP) 提供了透明接口。 这意味着如果有为特定处理器优化的的 IPP 库, Open CV 将在运行时自动加载这些库。Open CV提供的视觉处理算法非常丰富,并且它部分以C语言编写,加上其开源的特性,处理得当,不需要添加新的外部支持也可以完整的编译链接生成执行程序,所以很多人用它来做算法的移植,Open CV的代码经过适当改写可以正常的运行在DSP系统和单片机系统中。
2 运动姿态的识别方法
2.1 自然交互界面(NUI)
自然用户界面是一系列技术的合计,他包括:语音识别,多点触控以及类似Kinect的动感交互界面,他和Windows和Macs操作系统中鼠标和键盘交互这种很常见图形交互界面不同。就像图像交互界面和之前的命名行交互界面不同那样[4]。
自然交互界面自然在哪儿呢?早期自然交互界面的发起者认为交互界面的设计应该对用户非常直观,使用用户先天就会的行为来进行交互操作。他的目标是不需要操作由图标和菜单构成的基于GUI 的应用程序界面,因为这种界面通常具有陡峭的学习曲线。相反,理想化的状态是,用户应该能够走到应用程序前面,就能够开始使用它。在过去的几年里随着触摸功能的智能手机和平板电脑的流行,逐渐取代了键盘鼠标,当我们看到孩子们开始走到任何触摸屏设备面前,用手去触摸它,期待它的响应,在这一点上看这一理念已经实现。