Kinect调查报告(一)

来源:互联网 发布:linux 调用.so 参数 编辑:程序博客网 时间:2024/04/28 23:04

     Kinect是微软在2010年6月14日对XBOX360体感周边外设正式发布的名字。Natal为开发代号。伴随Kinect名称的正式发布,Kinect还推出了多款配套游戏,包括Lucasarts出品的《星球大战》、MTV推出的跳舞游戏等。

    微软在2010年4月时,正式公布与另一家以色列公司PrimeSense合作,这下才让Kinect使用的3D侦测技术有了着落。他们也是提供动作感测系统的公司,拥有体感侦测装置PrimeSensor,以及感测晶片 PS1080。PrimeSense用的并不是采用3DV Systems的TOF技术(Time-of-FlightCamera)、而是Light Coding技术。

       新型态的影像采集装置TOF相机又被称为3D相机,与传统的相机不同之处在于该相机可以同时拍摄灰阶的影像和包含深度的三维影像。其设计原理是对待测场景发射一参考光束,通过计算回光的时间差或相位差,来换算成距离,以产生深度影像。

       Light Coding技术理论是利用连续光(近红外线)对测量空间进行编码,经感应器读取编码的光线,交由晶片运算进行解码后,产生成一张具有深度的图像。 Light Coding技术的关键是Laser Speckle雷射光散斑,当雷射光照射到粗糙物体、或是穿透毛玻璃后,会形成随机的反射斑点,称之为散斑。散斑具有高度随机性,也会随着距离而变换图案,空间中任何两处的散斑都会是不同的图案,等于是将整个空间加上了标记,所以任何物体进入该空间、以及移动时,都可确切纪录物体的位置。Light Coding发出雷射光对测量空间进行编码,就是指产生散斑。

      Kinect就是以红外线发出人眼看不见的class 1雷射光,透过镜头前的diffuser(光栅、扩散片)将雷射光均匀分布投射在测量空间中,再透过红外线摄影机记录下空间中的每个散斑,撷取原始资料后,再透过晶片计算成具有3D深度的图像。

了解Kinect如何获得影像后,接下来就是进行辨识的工作。透过Light Coding技术所获得的只是基本的影像资料,重点还是要辨识影像,转换为动作指令。据说Prime Sense公司并没有提供辨识技术,所以辨识部分得靠微软自己搞定。

  微软会将侦测到的3D深度图像,转换到骨架追踪系统。该系统最多可同时侦测到6个人,包含同时辨识2个人的动作;每个人共可记录20组细节,包含躯干、 四肢以及手指等都是追踪的范围,达成全身体感操作。为了看懂使用者的动作,微软也用上机器学习技术(machine learning技术细节完全封闭,Openni的学习辨识代码也是封闭),建立出庞大的图像资料库,形成智慧辨识能力,尽可能理解使用者的肢体动作所代表的涵义。

  Kinect侦测的最佳距 离为1.2公尺到3.5公尺间,水平视野则是57度,侦测范围似乎比原本想像的还要小,看来还是不能站的太随意;Kinec也配备了追焦系统,如果玩家超 出影像范围,底座马达可驱动Kinect左右旋转27度。整体看来Kinect对操作空间的限制,似乎比其他体感装置更严格些。

Kinect for Windows SDK的主要特色包括:

  - 原始感测数据流:开发人员能够直接取得距离传感器、彩色摄影机以及四单元麦克风数组的原始数据流。这些数据让开发人员可以利用Kinect传感器的低阶数据流为基础进行应用程序开发。

  - 骨架追踪:此套SDK能够追踪Kinect视野内一位或二位用户的骨架影像,便于建立以体感操作的应用程序。

  - 先进的音效功能:包括抑制噪音与回音消除功能、可透过音波形式辨识声音来源,并且能与Windows语音识别API整合。

  - 简易的安装:这套SDK提供了在Windows7上的标准化安装方式,无需复杂的组态设定,安装档案大小也不到100MB。开发人员只要购买标准的Kinect传感器,就能在几分钟内立即开发。

       - 完整的说明文件:SDK也随附详细的高质量技术文件。除了内建的说明档案之外,还包括了多个范例详细的逐步分解说明。


原创粉丝点击