一、Kinect简介
Kinectfor Xbox 360,简称 Kinect,是由微软开发,应用于Xbox 360 主机的周边设备。它让玩家不需要手持或踩踏控制器,而是使用语音指令或手势来操作 Xbox360 的系统界面。它也能捕捉玩家全身上下的动作,用身体来进行游戏,带给玩家“免控制器的游戏与娱乐体验”。其在2010年11月4日于美国上市,建议售价149美金。Kinect在销售前60天内,卖出八百万部,目前已经申请金氏世界记录,成为全世界销售最快的消费性电子产品。
2012年2月1日,微软正式发布面向Windows系统的Kinect版本“Kinect for Windows”,建议售价249美金。而在2012年晚些时候,微软还将发布面向“教育用户”的特别版Kinect。(以上来自wiki百科)
1.1、硬件
Kinect有三个镜头,中间的镜头是 RGB 彩色摄影机,用来采集彩色图像。左右两边镜头则分别为红外线发射器和红外线CMOS 摄影机所构成的3D结构光深度感应器,用来采集深度数据(场景中物体到摄像头的距离)。彩色摄像头最大支持1280*960分辨率成像,红外摄像头最大支持640*480成像。Kinect还搭配了追焦技术,底座马达会随着对焦物体移动跟着转动。Kinect也内建阵列式麦克风,由四个麦克风同时收音,比对后消除杂音,并通过其采集声音进行语音识别和声源定位。
1.2、软件开发环境
1.2.1、非官方组合
一开始微软对Xbox 360推出Kinect的时候,并没有在windows的开发包。而由于Kinect强大的功能和相对低廉的价格,geeks们纷纷表示希望能在电脑上用它。于是就有多位大牛开发了驱动,目前我了解到的有三个:
1)CL NUI Platform
2)OpenKinect/libfreenect
3)OpenNI
1.2.2、微软官方SDK
Kinectfor Windows SDK的下载地址:
Kinect SDK目前只支持Windows 7,分为x86和x64两个版本。 Framework 4.0和Visual Studio 2010 (最低Express版本)的支持。这个在后面的开发环境的配置中再做介绍。
1.2.3、非官方和官方开发包的优缺点
1)官方SDK:
优点:
提供了音频支持、调整倾角的转动电机、在全身跟踪骨骼跟踪方面:非标准姿势检测(相对于OpenNi的投降姿势…),头部、手、脚、锁骨检测以及关节遮挡等细节上的处理更为细致(但精度是否更高还不能确定)。此外,支持多传感器(多台Kinect);
缺点:
2)非官方OpenNI/NITE:
优点:
可用于商业开发、包含手势识别和跟踪功能、可自动对齐深度图像和RGB图像,全身跟踪、关节旋转角度计算、看起来性能较好、已有众多游戏产品应用、支持记录/回放数据写入磁盘、支持原始红外视频数据流、支持角色入场和出场的事件响应机制。支持Primesense和华硕的WAVI Xtion硬件平台和windows、Linux和Mac等软件平台。自带的代码全面支持Unity3D游戏引擎。
缺点:
总结:
OpenNI最大的优势就是允许跨平台多设备,以及商业应用。但从原始数据的采集和预处理技术上看,微软的SDK似乎更稳定一些,况且还提供了不错的骨骼和语音支持。对于部分身体部位识别方面的功能,SDKbeta没有提供局部识别和跟踪,这需要自己的后续开发(至少在相当一段时期内微软可能都不会提供此类功能)。OpenNi/NITE虽然提供了手势识别和跟踪,然而在全身骨骼姿势识别和跟踪上还要更多借鉴微软的产品。
因此,按照目前在社区中的表现,SDK beta和OpenNi/NITE孰优孰劣还真无法一下子确定。而且随着越来越多的开发者加入微软这一方,SDK beta的普及可能会更快,但在更高层次的应用上,对二者的选用往往是需要一定智慧的。
二、Kinect应用开发汇总
本文(百度文库上面的内容,来源未知)汇总了当前使用Kinect SDK for Windows 开发出的各种各样的应用,点击相应的链接可以看到对应Kinect应用的Demo视频。
虚拟应用
Kinect试衣镜,这款基于kinect体感技术的神奇的试衣镜,让客户可以快速的试穿衣服,提高销售效率和企业形象。
Kinect自制应用3D试衣间
3D建模
3D摄像机, 用两个KINECT实现3D摄像机的基本效果。
雕塑工具,立等可取Kinect成街头快速人像雕塑工具,利用Kinect对人体进行3D建模,然后根据人体的3D信息,连接相应的塑模设备,塑造出人体塑像。
机械控制
用Kinect 操控遥控直升机
Kinect Robo,使用Kinect作为机器人的头,通过kinect检测周围环境,并进行3D建模,来指导机器人的行动。
Kinect控制高达机械人
虚拟乐器
空气吉他,通过Kinect手势操作虚拟吉他弹奏音乐。
Kinect弹奏中国古代乐器,通过手势的改变可以演奏出不同中国古代乐器的声音。
虚拟娱乐
Kinect破解“初音”,将体感控制应用到漫画人物——初音上。
变身奥特曼,捕捉玩家骨架数据,虚拟为奥特曼的形态与之随动,并且附加一些特技效果。
Kinect破解玩光剑,Kinect检测玩家的动作,虚拟出光剑的影像,与之随动。
计算机相关应用
Kinect手势操作浏览器,通过Kinect手势对浏览器进行翻页,下拉,放缩等操作。
Air Presenter,让你的演讲从此与众不同,用kinect进行演讲的软件。
Kinect多点触摸,使用kinect实现隔空多点触摸,浏览图片、地图等。
Kinect体感控制看片,第四军医大学西京医院骨科的医生们将破解的kinect应用在手术室,在术中,手术者可通过体感控制查看患者的影像资料。大大方便了医生手术,减少了手术室的人员流动。
虚拟实验
Kinect蜡笔物理,使用Kinect手势绘图,通过体感控制所绘图形,并使之具有物理特性,比如重力,吸引力等。
用Kinect控制闪电(特斯拉线圈)
游戏
Kinect破解玩马克思佩恩
kinect破解玩求生之旅2 体感打僵尸
Kinect破解玩魔兽世界
Kinect破解玩街头霸王
Kinect破解玩超级马里奥兄弟
Kinect破解玩兵者诡道
Kinect破解玩 现代战争
一群来自卡内基梅隆的学生使用Kinect的交互特点实现了18个各种各种的有趣的想法。他们仅仅用了两周的时间,从大二学生到研究生不等。让我们来看一下他们实现的奇思妙想吧!
1. Comic Kinect
此示例主要应用了Kinect的骨架跟踪技术和玩家分段数据,将拳击和脚踢的交互通过可视的漫画效果表现出来,并且同步发出一些拟声效果。
2. Mario Boo
当Kinect传感器检测到有人出现在视野内时,会出现一个幽灵保持在人的背后,随着人的运动而运动,并且会根据深度信息的远近而改变自身大小。
3. Magrathea
Magrathea使用Kinect根据桌上的任何物体动态的产生地形图。摄像头读取桌上物体的不断变化深度信息,可以展现出类似地球地形逐渐进化的过程。
4. We be Monsters
从中午舞狮中获取灵感,运用Kinect的骨架跟踪技术,两个人分别同坐自己的四肢操纵虚拟怪兽的四肢和头尾。
5. Mix&Match Interaction Toy
使用了Kinect/OpenNI 骨架技术,使得3张卡片组成的人体可以跟玩家随动,并且通过手的滑动更换图片。
6. Kinect Flock
作者创建了一个微粒系统,当用户移动时,像棉絮一样的东西会随之涌动,当用户静止时,则聚集到参与者的深度区域。
7. roboScan
roboScan是一个3D模型+扫描仪,将一个Kinect设备固定在一个ABB 4400机械手上。设定好的动作和操作者同时控制机器人和摄像机的3D位置。Kinect的深度数据用来产生一个精确的外部环境的模型。
8. Neurospasta
Neurospasta是一个需要全身投入的自由形态游戏平台。参与者可以控制他们各自基于Kinect的木偶,也可以通过功能设定控制别人的化身。
9. Will-o-the-Wisp
这个设计充满了神秘色彩,玩家可以控制一个发光的球体,球体根据玩家手的运动而动,根据深度信息变大或变小。
10. Balloon Grab
通过检测手掌张开还是握紧的手势,作者开发了一个基于模拟气球飞行的简易小游戏。
11. Hand-Tracking Visualization
该软件使用手势控制音频的可视化效果,结合检测到场景中手距Kinect的深度信息。参与者手的位置,速度以及其他参数被用来创建一个交互式的声音的可视化效果。
感觉Kinect的应用也应景一句话:Kinect的应用取决于你的想象空间!