微软Kinect是怎么做到的

身体就是控制微软Kinect是怎么做到的器

http://xbox360.tgbus.com/jiaocheng/Soft/201007/20100708145758.shtml

游戏主机中的Microsoft和Sony终于都正式推出了体感装置,最令人惊艳的莫过于不需要任何控制器的Kinect,最令人好奇的是,Kinect到底如何侦测全身体感?搭载了什么特殊功能?各个镜头的用途是什么?

  大家应该都知道Kinect是靠摄影机镜头捕捉使用者的动作,但对于细节或许不是很清楚,近日随着国外游戏网站play.com公布了Kinect的详细规格,也让我们可以间接了解更多细节。

  先由Kinect的运作原理开始吧,Kinect一次可撷取三种东西,分别是彩色影像、3D深度影像、以及声音讯号。首先是Kinect机身上有3 颗镜头,中间的镜头是一般常见的RGB彩色摄影机,左右两边镜头则分别为红外线发射器和红外线CMOS摄影机所构成的3D深度感应器,Kinect主要就是靠3D深度感应器侦测玩家的动作。

  中间视讯镜头则是用来辨识玩家身分(靠着人脸辨识和身体特征)、以及辨识基本的脸部表情,此外也能应用在扩增实境游戏、以及视讯通话时;同时 Kinect还搭配了追焦技术,底座马达会随着对焦物体移动跟着转动。

  都用上了不用遥控器的体感装置,哪里还要玩家头上挂个耳麦的道理,因此Kinect也内建了麦克风系统,用的还是阵列式麦克风。它的好处是藉由多组麦克风同时收音,比对后消除掉杂音,等于提供了降噪功能,让玩家的声音能更清楚的传递出去。

Kinect技术原理

  ▲Kinect中间的镜头是摄影机、左右两颗镜头则是3D深度感应器;同时具有追焦功能,底座马达可左右旋转27度。此外还有阵列式麦克风。

Kinect技术原理

  ▲Kinect可同时获取彩色影像、3D深度影像、以及声音讯号。

Kinect技术原理

  ▲Kinect的架构图

  使用这么新颖的侦测技术,Kinect是用了什么特殊规格的设备?事实上并没有我们想的那么特别,从规格表里看到的,都是相当普通的内容,例如视讯摄影机的影像规格为640×480 30FPS、红外线摄影机则为320×240 30FPS,关键其实是在Kinect所使用的侦测技术。也因为如此,Kinect才能开出149.99美元的售价,而不是买不起的天价。

 

  Kinect总览
  Kinect到底怎么侦测3D影像?
  另一关键:骨架追踪系统
  延迟让Kinect不精准?

  Kinect到底怎么侦测3D影像?

  关于Kinect所使用的辨识技术,网路上有许多以讹传讹的说法。例如用两颗摄影镜头拍摄成3D影像、并以红外线探测Z轴深度做感应;也有许多人以为Kinect是利用红外线纪录体温的方式,来找出人体的影像,这些当然都不是正确答案。

  微软在去年(2009年)初收购了一家以色列籍的3DV Systems公司(来源:reuters),包含公司员工以及所有专利技术都归微软所有。该公司拥有名为ZCam的动作感测系统,采用TOF(Time of Flight)技术,让许多人认为Project Natal诞生计划(Kinect前身)就是采用TOF技术,但......最后证实大家还是猜错了。

  这里简单介绍一下TOF技术,大家应该可以从字面猜到含意,Time of Flight就是去计算光线飞行的时间。首先让装置发出脉冲光,并且在发射处接收目标物的反射光,藉由测量时间差算出目标物的距离;ZCam就是使用 TOF技术,使用红外线以及Accelerometers加速度计感应器,感测立体空间的相对位置变化,建构灰阶距离影像的深度感应器。3DV Systems公司研发该技术已经长达10年,并取得许多专利技术,所以受到了微软的瞩目。

  不过就在今年(2010年)年初时,微软的开发人员却大爆Project Natal诞生计划并不是如外界传言采用3DV Systems公司的TOF技术(来源:engadget)。微软先进技术研究院副总裁Moshe Lichtman,于去年接受媒体访问时,就表示并购3DV Systems公司目的不在于使用他们的技术,而是作为保障自家感测技术的后盾。因为专利技术认定上有时较为模糊,稍有不慎就会被对手告侵犯专利权;3DV Systems拥有许多相关专利,因此藉由并购3DV Systems快速取得专利,也能避免被其他对手并购,阻挠微软的产品研发。

Kinect技术原理

  ▲关于Kinect侦测方式网路上众说云云,其实它与PrimeSense合作采用 Light Coding技术。

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

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

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

Kinect技术原理

  ▲Light Coding是以发射红外线产生散斑,透过感应器纪录讯号后,交由晶片运算出深度图像。

  PrimeSence公司用的Light Coding技术,说穿了与微软先前买下3DV公司所使用的TOF技术根本就毫不相关,只是产生的结果类似。这点更加印证了微软收购3DV Systems,只是为了动作感测相关的专利权、取得领先地位。

  由于微软并没有买断PrimeSense公司的技术,因此PrimeSensor装置未来也有可能出现在电视、电脑等消费性产品上,例如CyberLink讯连科技也与PrimsSense合作开发3D互动体验介面(来源:PrimeSense)。面对将来有可能出现同质性产品,微软则是强调Kinect的追焦旋转功能是他们的专利,这点别人不能模仿。

  PrimeSence公司展示应用Light Coding技术的体感侦测系统。该技术并未被微软买断,未来将有机会应用在其他装置上。

 

  Kinect总览
  Kinect到底怎么侦测3D影像?
  另一关键:骨架追踪系统
  延迟让Kinect不精准?

  另一关键:骨架追踪系统

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

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

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

Kinect技术原理

  ▲Prime Sense公司似乎只提供影像侦测,后面的辨识技术还是靠微软自己来。

Kinect技术原理

  ▲Kinect一次可追踪2人的动态,每人能追踪高达20组细节。

 

  Kinect总览
  Kinect到底怎么侦测3D影像?
  另一关键:骨架追踪系统
  延迟让Kinect不精准?

  延迟让Kinect不精准?

  由于Kinect摄影机的影像更新频率为30FPS,代表动作传递将会有33ms(1/30秒)的延迟,CrunchGear也在文中质疑这会不会造成动作侦测上的延迟,为何不使用60FPS以上的录影规格拍摄?这其实是PrimeSense公司提供的处理晶片能耐,它就只能处理VGA画质、30FPS的影像。

  30FPS影像更新频率造成的延迟应该有限,因为人类对事物的反应速度几乎都超过100ms,已经大于30FPS所带来的33ms延迟,所以该怪的应该是你的反应太慢吧。比起侦测延迟,更该担心的是辨识需要的时间、以及辨识的精准度。由于Kinect是透过辨识图像再转化为指令的方式,大量的影像处理、以及事后的辨识动作,恐怕才是让Kinect使用者感受到延迟的原因。听说支援Kinect的游戏都有针对延迟做最佳化,尽可能让使用者减少延迟的感受。

Kinect技术原理

  ▲影像更新频率并不是Kinect延迟的主因,反倒是晶片处理速度、软体辨识的影响比较大。

  另外一点备受质疑的,就是在精准度方面的问题,国外调查Kinect的判断精准度为4mm,的确是输给了PlayStation Move的1mm。但论精准度,可能每种体感装置都还比不上实体摇杆。但Kinect带来的全身体感优势,所能做的事情铁定比PlayStation Move和Wii多更多,例如Ubisoft推出的健身游戏《Your Shape Fitness Evolved》,类似Wii平台上的《Wii Fit》,但是透过骨架追踪系统来玩瑜珈、武术等游戏时,对姿势的要求绝对高于Wii Remote+Wii Fit;舞蹈游戏《Dance Central》也是相同的道理。

Kinect技术原理

  ▲虽然Kinect在精准度上遭受到质疑,但全身体感的优势大幅超越Wii和PlayStation Move。图为游戏《Your Shape Fitness Evolved》画面。

Kinect技术原理

  ▲Kinect对姿势的要求上,铁定会比对手们来的严格许多,躺在沙发上玩体感游戏这种事就别想了。图为游戏《Dance Central》画面。

 

阅读更多
个人分类: 多媒体编程
上一篇windows环境下编译最新的x264库
下一篇altium designer板层定义介绍
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭