C#开发体感游戏 Kinect应用知识

时间:2024-03-05 17:11:39
Kinect首先是一个XBox 360外接体感设备,通过无线方式捕捉动作感知。由PrimeSense提供Range Camera技术,同类产品如任天堂Wii、Play Station Move,必须让玩家手里拿一个或者多个设备,才能完成所谓体感互动。

  Kinect最早定位是XBox 360外设,不需要任何道具完成整个动作识别和捕捉。他能够做的是两个,动作识别动作捕捉和3D立体语声识别。这是一个后台,所有的语音识别都是利用这个方式来做的。不过很遗憾,现在对汉语支持相对来说差一点,下面也会有语言识别方面专家来进行撰写,我们也特别希望能够把我们自己国内语言做的非常好。Kinect整个软件派发,之前也有一些八卦新闻,说Kinect技术是PrimeSense提供,然后找微软等等。任何一款成功产品都不是借助一个技术就能够实现的,所以在Kinect里有非常多的技术。

  Kinect主要识别算法和软件部分都是公司提供的,他是微软旗下一个游戏工作室,是微软全资持有公司。识别算法、跟软件相关的一些逻辑都是由这家公司实现的。国内外也有一些所谓可见光、或者红外识别公司,他们也是从这家公司拿到一些著作权。大家可以试他们产品,跟微软还是有差别的差别。国内还是采取主机,算法是自己写的,或者通过其他方式来获取,相对精度差一点。

  Kinect发展历史并不长。由于一些授权问题,如果在开发的过程之中就把软件名字发布出来,最大问题就是域名申请,当然还有其他很多问题。所以,不到产品发布那一刻微软的产品永远就只有CodeName,只有在产品发布最后1到2周的才会有一个正式名。当然也会存在一个问题,有的时候CodeName名字起的非常漂亮,到正式产品发布出来的时候名字也不是很好听。Kinect最早的CodeName是Project Natal。从2010年10月份开始上市,到2011年3月9号销售超过一千万部,有史以来销售最快的销售类电子产品。

  另外,他可以是一个包装形式,也可以是一个单独外设,国外售价应该是169美金。但是在国内前两天有人给我留言,说淘宝已经卖到700多人民币。现在也有淘宝的朋友到我微博上拉生意了,还是非常有前途的。

  前面我们也说过了,Kinect这个东西所有运算逻辑都是在预算本身完成的。说白了你只要实现一个USB,再做一个识别器就可以完成整个转换。所以,难度非常小,正由于这个原因现在被应用到不同领域里面。在微软发布官方Kinect SDK之前,有两个比较出名的项目,其中有一个openKinect。openKinect确实在配置和编程还有很多不足。而官方Kinect SDK整个配置非常简单,这也是微软一贯方式,他不但做了USB开发模式,还有相应API都做的非常好。Kinect的动作捕捉的机器学习技术,获得2011年MacRobert Award工程创新大奖。

  Kinect技术指标包括:输出视频帧率为30Hz、B-bitVGA分辨率(640×480 pixels),由于识别率大家觉得能够支持手指识别,据说在下一步Kinect更新后,分辨率会大幅提升。那个时候去捕捉手指上的动作都是可以的。最佳识别区域是1.2-3.5m,并且由于房间限制,两边可扩展区域0.7-6m,两边是一个梯形状态。很多同志买了Kinect之后都感慨自己房间不够大,一般客厅在这边放一个电视,那边有一个沙发,空间确实不太够。后来有人想了各种各样的办法,比如把Kinect固定到你的液晶电视上,反正他所能够做的方式是千奇百怪的。

  Kinect最多可以支持4个人的识别,但是真正有效的可视识别最多支持两个人。并且有一点,两个人的位置不能交叉。必须是一个人站在左边,一个人站在右边,不能一前一后或者其他方式,这是目前的技术上的限制。另外,他的可视区域水平范围是57度,垂直范围是43度,其实上下浮动角度可调。一种方式是水平向上,这种方式适合家里有电视机柜,还有放在电视机下面有一个俯视的角度,Kinect会自动调整俯仰角度。

  每个人身上可以支持20个动作节点的捕捉,传统电影里面动作捕捉,美国是一个小时几千美金。你如果使用这个系统几千美金,Kinect使用是在你身上去粘各种各样的点,那种动作捕捉是非常精确,对于一些电影,或者游戏里面的动作捕捉是非常适用的。当然成本也非常之高,因为会把你人的3D影像跟一体动作全部输入电脑里面去,进行大量过滤还有处理方式。Kinect现在也有人拿它来做一个简单动作识别捕捉,当然了价钱非常便宜。但是,技术限制也非常明显,一个是捕捉点不够多。另外他只能够捕捉正面和侧面的一些动作,背面一些动作没法完全捕捉下来。现在Kinect只是能够替换掉一些简单的动作识别,或者动作捕捉的一些设备,不够把那种传统所谓复杂的动作识别,或者动作捕捉系统完全能替代掉,那套系统还是会在他的领域里面会运行非常好。但是Kinect的一个好处是,可以让一些更廉价的领域能够使用到所谓动作识别,和动作捕捉的技术,这是他的技术指标。