Kinect v1和Kinect v2的比较

原博客:http://www.cnblogs.com/TracePlus/p/4136297.html

本连载主要是比较Kinect for Windows的现行版(v1)和次世代型的开发者预览版(v2),以C++开发者为背景介绍进化的硬件和软件。本文主要是对传感的配置和运行条件进行彻底的比较。

本连载介绍的Kinect for Windows Developer Preview是暂定的,软件、硬件以及API有可能因为最终的产品版发生变更,还请谅解。

关于本连载

本连载主要是比较次世代型的Kinect for Windows(后面称作Kinect v2预览版)和现行型的Kinect for Windows(后面称作Kinect v1)的同时,介绍面向c++开发者而进化的硬件和软件。(本网站也发布了对应C#/Visual Basic开发者的内容,.NET开发者可以同时参考[新型Kinect for Windows v2 Developer Preview programing入门])
次世代型的Kinect for Windows

2012年美国微软发售的Kinect v1,因为可以很方便就能取得Depth(深度)和 skeleton(人物姿势)等信息,被全世界的开发者和研究人员关注。
2014年预定发售的Kinect v2,预测在硬件和软件上会做很大的进化,在销售前,开发者向的预览版的Kinect v2(传感器)和SDK v2(软件开发套件)很早就发布了出来。

还有,因为这个开发者向的早期提供程序是必须签订NDA(密码保持契约),本稿有不能公布的事项也事先请各位谅解。

Kinect v1和Kinect v2预览版的外观比较
这里写图片描述
图1 Kinect for Windows v1(现行型)

Kinect v1的Depth传感器,采用了「Light Coding」的方式,读取投射的红外线pattern,通过pattern的变形来取得Depth的信息。为此,Depth传感器分为投射红外线pattern的IR Projector(左)和读取的这个的IR Camera(右)。还有Depth传感器中间还搭载了Color Camera。
Light Coding是以色列的PrimeSense公司的Depth传感器技术,于2013年被美国苹果公司收购。
这里写图片描述
图2 Kinect for Windows v2(次世代型)预览版

Kinect V2预览版的Depth传感器,采用的是「Time of Flight(TOF)」的方式,通过从投射的红外线反射后返回的时间来取得Depth信息。Depth传感器看不到外观,不过Color Camera旁边是红外线Camera(左)和投射脉冲变调红外线的Porjector(右)。

Kinect v1和Kinect v2预览版的配置比较
这里写图片描述
表1是Kinect v1和Kinect v2预览版的传感器的配置比较

Kinect v1的Color Camera的分辨率是640x480较低,不能取得非常漂亮的图像,Kinect v2预览版的分辨率大幅提高,能取得1920×1080非常漂亮的图像(图3)。

这里写图片描述
这里写图片描述
图3 Kinect v1和Kinect v2预览版的Color
Kinect v2预览版的Depth传感器的分辨率也提高到512×424,而Kinect v1是可以取640×480分辨率的Depth数据,乍一看规格好像下降了,其实Kinect v1的Depth传感器的物理分辨率是320x240,Up Sacling到640x480而已(注:猜测是Runtime处理的)。另外,Depth传感器的方式也是从Light Coding变更为Time of Flight(TOF)。

这里写图片描述
这里写图片描述
图4 Kinect v1和Kinect v2预览版的Depth
Kinect v1,v2预览版可以取得Player(可识别的人体)数量都是6人。Kinect v2预览版因为Depth传感器的分辨率提高了,用Player数据只需要简单的剪切就可以很漂亮得把背景和人物分离。
Kinect v1可以取得全部关节(Joint)的skeleton的数量是2人,随着Depth传感器的分辨率上升和视角的宽广,Kinect v2预览版变得能取得6人。

还有,Kinect v1能取得的Joint是20个Joint每人,Kinect v2预览版变为能取得25个Joint。具体的如图5所示,头(Neck),指尖(HAND_TIP_LEFT,HAND_TIP_RIGHT),大拇指(THUMB_LEFT,THUMB_RIGHT),增加了这5个Joint。不仅仅是手的位置,大拇指和指尖的细小信息也可以获取到。

Hand State(手的开闭状态)的识别,Kinect v1是靠Developer Toolkit里的「Kinect Interaction」库来支持,不过在Kinect V2预览版SDK里是标准支持。

这里写图片描述
这里写图片描述
Kinect v1和Kinect v2预览版可以取得的Joint
Kinect v1为了摇头装载了倾斜电机(Tilt motor),也有视角扩展,Kinect v2预览版没有搭载Tilt motor,靠手动来摇头。

Kinect v1不能多个应用程序同时连接到一个传感器。Kinect v2预览版通过「Kinect Service」,可以让多个应用程序同时从传感器取得数据(参考图6)
现在,Kinect Service作为常驻程序被提供, 一般认为产品版里会成为Windows的服务(Service)。
这里写图片描述

图6 通过Kinect Service,对应多个应用程序
Kinect v1和Kinect v2 预览版的运行环境的比较表(表2)。
这里写图片描述
表2 Kinect v1和Kinect v2预览版的最小运行环境比較

Kinect v1要在Windows 7以后的版本上运行,Kinect v2要求是在Windows 8 运行。关于Visual Studio也要求是2012以后的版本。

Kinect v1要求USB 2.0(或更快的USB)来运行,因为Kinect 2预览版传感器的分辨率也提高了,需要更快的USB 3.0来运行。Kinect v1和Kinect v2预览版的专有USB总线带宽都没有变化。

Kinect v1和Kinect v2预览版都有与部分USB Host Controller不兼容而导致不能正常运行的情况,现在是Renesas和Intel的USB 3.0 Host Controller可以运行。台式PC也可以增加USB3.0扩展卡来对应。

CPU方面,和Kinect v1一样,要求Dual Core 2.66 GHz以上。「时钟频率较低」一类的运行环境也稍微下降了,不是特别差的情况都可以运行,不过注意传感器分辨率提高,取得的数据的处理消耗也上升了。

Kinect v1要求的是支持DirectX 9.0c的GPU(Kinect Fusion除外),Kinect v2预览版要求支持DirectX 11.0以后的GPU,像笔记本这种没有装载NVIDIA GeForce和AMD Radeon外置GPU(独立显卡)的很多无法运行,而像有Intel HD Graphics这种支持DirectX 11.0以后的处理器内置的GPU(集成显卡)是可以运行的。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值