看黑客还开发出Kinect的啥功能!


  在微软发布最新的Kinect游戏设备后不久,黑客们就找到了如何调出系统原始数据的方法,从而可以从根本上扩大Kinect的潜在用途。爱好者们利用硬件来通过手势动作在空中进行3D涂鸦,在虚拟的屏幕上打字,同时可以让一个机器人来对手势和周边环境进行识别。

  但是,黑客们破解Kinect的最大目标——用手势来控制电脑,被认为是非常难以实现的。

  麻省理工学院媒体实验室的研究人员们开发出一个Chrome网络浏览器的扩展程序,可以让用户通过与电脑相连接的Kinect来和任何一个网页进行互动。他们的项目是一个测试案例,通过破解微软游戏外围的扩展应用来判断该破解的可能性和局限性。

  这个扩展程序的名字叫DepthJS,是用JavaScript写成的,能将一些手势转化成浏览器可以执行的命令。比如,一个朝左侧开关快速移动的手臂动作就可以打开浏览器的窗口。打开手和合上手类似于鼠标的点击。

  该项目的真实目的并不是利用Kinect来浏览网页,而是用DepthJS在各种网络应用与Kinect所获得的手势之间扮演一个接口的角色。

  “将Kinect和Web浏览器联系起来,其实是为了降低利用深层次信息开发应用程序的成本。”麻省理工学院流体界面小组(Fluid Interfaces group)的道格·弗里茨(Doug Fritz)说到。他参与了该项目的研究。弗里茨指出,电脑用户在Web浏览器上花费了大量的时间,大多数电脑程序员(尤其是Web开发者)都知道如何使用JavaScript,这让为Kinect编程变得非常简单。

  其中的一个问题是,不像使用鼠标、键盘或触摸屏那样,没有一套可以用于手势计算的可以广泛识别(或自然而直观)的词汇。微软已经开发出了少量的手势,可以让Kinect用户来操作菜单和浏览Xbox的媒体文件。

  “我们中的大多数人甚至都没有使用过带有Xbox的Kinect,就开始进行破解工作了,所以我们反而不会受制于微软已经开发出来的那些手势语言。”弗里茨说。该小组的设计灵感来自于iPhone的多点触摸手势和3D计算的先驱约翰·昂德科夫勒。令人惊讶的是,为DepthJS而设计的一些手势竟然和微软的设计非常相似。“如今,我们已经能够适应迅速改变的状态了,大家将通用的交互技术和人们的真实感受结合了起来。”弗里茨说。

  利莫尔·弗雷德(Limor Fried)和菲利普·托伦(Phillip Torrone)来自Adafruit公司,该公司为硬件黑客提供设备,他们帮助大家拉开了破解Kinect的序幕,他们为那些让Kinect可与普通电脑相连接的软件提供3000美元的奖金。

  两个人对Kinect的未来非常看好,认为Kinect可以充当任何东西的传感器,从高端机器人到艺术作品。开发者们已经创造出了许多不同的Kinect应用视频。“这些视频大多还停留在概念阶段,但是却能为进一步的开发提供参考。”弗雷德说。

  其中最受欢迎的一个视频是一个3D互动木偶,“它非常有趣、直观,并且用这些现成而便宜的设备来完成这件事是非常困难的!一旦你打破了阻碍,人们便有了创意的空间。”

  麻省理工学院的弗里茨很快就注意到,使用手势识别和深度传感器的三维的、自然的用户界面计算早已成为研究界的主要课题。Kinect是一种极具突破性的设备,它将这些技术打包并向消费者呈现出来。用户越熟悉它,这些技术就越有可能转化到游戏以外的领域。

  “键盘和鼠标无法去任何地方,但此外还有很大的空间,我认为人们已经为此做好了准备。”弗里茨说。

  但是,任何将手势转化到屏幕上的努力都要碰到一个事实:我们所在的三维世界正在试图与二维世界进行交互。许多Kinect的游戏通过用屏幕上模仿人们举动的头像来解决这个问题。不管我们是跳舞、打排球或者玩漂流,屏幕上的角色是将我们的真实动作进行程序化处理后而显示出来的。

  一个解决办法是使用投影机来创造一个能与虚拟对象进行互动的空间。在这个方面了,微软研究院已经与移动界面公司(Mobile Surface)达成了合作,该公司主要研究基于投影机的多点触摸环境。