Kinect破解后威力无穷

微软于上周发布了“体感”控制器,玩家直接用身体来控制游戏,这种全新的人机交互方式引发的购买热潮,据称10天内卖出了10万台。而对于Kinect的破解也是进行的神速,仅仅三天,PC的驱动程序就被开发出来了,也许真的是3000美元的悬赏起到作用了吧。先看看破解之后的Kinect能干什么吧。

Kinect华丽变身3D影像捕捉工具了,还能使你的电脑具有多触点功能:

在看到有同事现场演示之后,直接冲到店里抢了一个回来——这直接就是一个3D Laser啊,还带摄像头、加速度计和一个自由度!

Kinect的原理

微软采用的是叫做光编码(light coding)技术(来自以色列的PrimeSense公司),这项技术使用的是连续的照明(而非脉冲),也不需要特制的感光芯片,而只需要普通的CMOS感光芯片,这让方案的成本大大降低(成本59美元)。

Light coding,顾名思义就是用光源照明给需要测量的空间编上码,说到底还是结构光技术。但与传统的结构光方法不同的是,他的光源打出去的并不是一副周期性 变化的二维的图像编码,而是一个具有三维纵深的“体编码”。这种光源叫做激光散斑(laser speckle),是当激光照射到粗糙物体或穿透毛玻璃后形成的随机衍射斑点。这些散斑具有高度的随机性,而且会随着距离的不同变换图案。也就是说空间中任意两处的散斑图案 都是不同的。只要在空间中打上这样的结构光,整个空间就都被做了标记,把一个物体放进这个空间,只要看看物体上面的散斑图案,就可以知道这个物体在什么位 置了。当然,在这之前要把整个空间的散斑图案都记录下来,所以要先做一次光源的标定。在PrimeSense的专利上,标定的方法是这样的:每隔一段距离,取一个参考平面,把参考平面上的散斑图案记录下来。假设Natal规定的用户活动空间是距离电视机1米到4米的范围,每隔10cm取一个参考平面,那 么标定下来我们就已经保存了30幅散斑图像。需要进行测量的时候,拍摄一副待测场景的散斑图像,将这幅图像和我们保存下来的30幅参考图像依次做互相关运 算,这样我们会得到30幅相关度图像,而空间中有物体存在的位置,在相关度图像上就会显示出峰值。把这些峰值一层层叠在一起,再经过一些插值,就会得到整 个场景的三维形状了。

其实能实现这种效果的技术早就存在了,不过Kinect的最大的亮点在于其相对低廉的价格(相比于3D激光传感器)以及方便的使用接口——这使得该项技术真正走向市场。

参考:

4 Replies to “Kinect破解后威力无穷”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.