在台湾网站上看到Xtion Pro Live的开箱测评,因为LIVE是For developer only,大陆甚至连pro都没得卖,就拿来分享了。
PS:我把繁体转成简体了,原文链接和最后两幅图丢了……
===========================================================================
ASUS Xtion Pro Live 开箱文
给个评价吧~
基本上,虽然应该大部分的人在使用OpenNI 时,应该都是以微软的Kinect(for Xbox 360)为主,但是实际上,OpenNI 并不是原生支持 Microsoft Kinect 的!要在 OpenNI 的环境下使用 Kinect,并不能使用官方的驱动程序,而是要使用修改过的驱动程序,才能正常使用的。
而相较之下,华硕的Xtion Pro 和 Xtion Pro Live这两款传感器,就是真正对应 OpenNI 的设备!他不需要使用特殊版本的驱动程序,而可以直接以 OpenNI 的公版驱动程序,就可以在 OpenNI 的环境下使用;相较于 Kinect 还需要等修改版推出,如果是要使用 OpenNI 来开发的话,Xtion Pro 应该算是一个比较方便的选择。
Heresy 自己之前在「体感技术研讨会」(参加感想)时,是已经有看过 Xtion Pro 和 Xtion Pro Live 的实物了,不过由于各种因素,自己在开发上还是以 Microsoft Kinect 为主要硬件;不过这次,算是终于借到了一台 ASUS 的 Xtion Pro Live、可以来玩一下了!
接下来,就是开箱闻了!下面左边的照片,就是 ASUS Xtion Pro Live 的外盒了~基本上,盒子本身很小,而盒子上的说明,都是以英文为主,只有侧边的简易规格说明有多国语言(下方右图),包含了他的主要硬件参数;而盒子的背面,则是印了一些简单的应用说明、以及 ASUS、PrimeSense 和 OpenNI 的 Logo。
这边所列的规格,基本上如下:
基本上,在支持的语言和操作系统的部分,因为 Xtion Pro 就是使用 OpenNI 这个开发平台,所以目前实际上能支持的是比外盒上列的更多一些啦~
而内容物的部分,也很单纯,所有的东西就是下面左边照片里的这三项;包含了 Xtion Pro Live 的本体(下右图)、软件光盘、以及简易的安装说明(多国语言)。其中,软件光盘里面所附的,基本上也就是 OpenNI 的东西了~所以建议可以直接到 OpenNI 官方网站下载最新版,而不用使用光盘里的版本。
在传感器的部分,Xtion Pro Live 由于同样也是使用 PrimeSense 的方案,所以在成品上其实也算是大同小异;在正面有三个圈,最左边的是红外线发射器,和最右边的红外线接收器是一组的、用来感应深度,中间的则是 RGB 传感器,可以用来撷取一般的彩色影像。
在传感器的左右两侧的边缘,各有一个小洞,是用来收音的麦克风(上右图);和 Kinect 使用四个单元的麦克风数组比起来,Xtion Pro Live 在这方面算是稍弱了一些。
基本上,Heresy 对 Xtion Pro Live 的第一个印象,是「好小」。和 Kinect 相比,Xtion Pro 不但小了整整一圈、而且也轻了不少!下面几张照片,就是 ASUS Xtion Pro Live 和 Microsoft Kinect for Xbox360 的对比了~
除了大小差异很大外,另一个很大的差异,就是由于 Xtion Pro Live 没有像 Kinect 一样有配置可以旋转的马达,所以耗电量相对低了不少,也因此他只有一条标准 USB 线需要计算机、而不像 Kinect 一样还要另外接电~这点也算是在使用上比较方便的地方了。
由于没有马达,所以 Xtion Pro Live 如果要调整角度的话,就必须手动了。而他基本上的设计是能够无段式地调整上下的倾角,可动的范围还满大的,下面两张图就是往下和往上的极限。
硬件大概介绍完了,接下来是实际使用的部分了。基本上,要在 PC 上使用 Xtion Pro Live、和要使用 Kinect 差不多,都是要到 OpenNI 的下载页面,下载 OpenNI Biinary、OpenNI Compliant Middleware Binary(NITE)来安装;和 Kinect 不同的是,Xtion Pro Live 可以直接使用官方的 Compliant Hardware Binary、而不需要去另外使用修改过的 SensorKinect。
而在 Windows 下,抓到硬件会是名为「PrimeSense PS1080」的装置(如右图),只要有正确抓到,理论上就可以在 OpenNI 的环境下使用了~
不过,官方驱动程序默认是把分辨率设定成为 320 x 240(QVGA)的模式,所以如果没有在程序里面特别做设定(设定 map output mode)的话,默认的画面分辨率都会是这个大小。而如果想要把默认分辨率改掉的话,也可以透过修改「C:\Program Files\PrimeSense\Sensor\Data\GlobalDefaults.ini」这个配置文件里面的参数,来让默认分辨率变成和 Kinect 一样的 640×480。
而之后呢,基本上使用就都没有什么不一样了~不过由于两者的硬件配置上还是有些差异,所以画面捕捉到的内容,也会有些不同。
像是 Xtion Pro Live 的 FOV 是水平 58°、垂直 45°,就比 Kinect 的 57°/43° 来的大一些些。另外在深度和彩色影像的对应位置关系的部分,也有些不同;下图左边就是 Kinect 抓到的画面、右边则是 Xtion Pro Live 抓到的画面,可以发现,Kinect 的深度相较于彩色影像比较偏低、而 Xtion Pro Live 的画面则比较靠中间。
而在抓到的深度值的分布上,Heresy 还没做过详细的验证,不过大致上看来是和 Kinect 的结果(参考)差不多的~所以以得到的数据来说,除了深度的相对视角比较不一样外,Xtion Pro Live 和 Kinect 基本上应该是没有差异的。
接下来,来整理一下 Xtion Pro Live 和 Microsoft Kinect for Xbox 360 的优缺点吧~
首先,Heresy 觉得 Xtion Pro Live 他一个很大的优势,就是它的体积小很多、轻很多,而且不用额外供电、只要一条 USB 线就够了!相较于此,Kinect 其实算是有点笨重了。另外,在 Heresy 这边使用上,感觉 Xtion Pro Live 似乎不像 Kinect 一样,会挑 USB port;在 Heresy 的工作机上,Kinect 接在 USB 3.0 的控制器上是无法运作的,但是相对的,Xtion Pro Live 则没有这个问题!
转自TW网友blog
而在硬件功能面,在一般开发者最常用到彩色、深度传感器的部分,两者应该算是具备同等级的硬件(其实搞不好应该算是一样的硬件?),所以这部分应该算是平手。
但是在声音的部分,Kinect 的四单元麦克风数组在规格上应该是完全获胜的!不过目前的驱动程序,应该还是无法正确地透过 OpenNI 来取得声音的数据的,所以虽然有比较好的硬件,但是还是没有用…而 Kinect 的马达也是一样的状况,虽然他有可以控制的硬件,但是却没有办法透过软件来控制,所以也算是相当可惜的。
不过,如果仔细看 OpenNI 的接口的话,可以发现 OpenNI 应该是有打算透过 xn::GeneralIntCapability 来做一些特殊的控制;像是现在在 xn::MapGenerator 就多了不少这类型的 capability,例如XN_CAPABILITY_ZOOM、XN_CAPABILITY_ROLL、XN_CAPABILITY_BRIGHTNESS…等等。这些功能目前都还没有支持,不过也算是为了之后预留空间了~或许哪一天,Kinect 的驱动程序改得够好了,就可以透过这些 capability 来做马达的控制了!
也因此,虽然在硬件规格上,Kinect 算是比 ASUS Xtion Pro Live 来的强,可是以目前来说,实际上要在 OpenNI 使用的话,Xtion Pro Live 反而会有比较完整的功能(尤其是声音)。而如果要发挥 Kinect 全部的功能,可能还是得放弃跨平台的 OpenNI、而改用Microsoft Kinect for Windows SDK了(不过授权的问题…以微软的说法,以后可能还得重新买新的 for Windows 专用硬件才行)。
除了上面提到的比较之外,另外必须要说的,Xtion Pro / Xtion Pro Live 最大的优势,就是他是直接由 OpenNI 来支持的,所以驱动程序的支持会是最快、最完整的!像是以往 OpenNI 推出新版、Sensor 模块有更新的时候,Kinect 的使用者都要再多等个几天、才会有对应的驱动程序可以用,而如果是使用 ASUS 的 Xtion Pro 或 Xtion Pro Live 的话,就不会有这个空档了~
另外,Kinect 目前在使用上,其实还是有些问题。像是现在在 OpenNI 里使用 Kinect 时,除了 QVGA 模式似乎无法正常使用(会抓不到东西)之外,在使用 device 的 Device Identification Capability 时,也是无法正确抓到硬件的序号的;相较于此,ASUS Xtion Pro Live 就没有这样的问题了。
所以,结论?Heresy 是觉得,如果真的是要开发 OpenNI 的程序的话,华硕的 Xtion Pro Live 应该还是会是比较好的选择!毕竟在支持上,是比较完整的。但是如果同时想要开发 OpenNI 和 Kinect for Windows 的程序、甚至还想玩 Xbox 360 的话,那 Kinect for Xbox 360 的通用性应该还是更高些;不过等到之后微软更新了 Kinect for Windows 的 SDK 后…Heresy 就不确定怎么样了。
最后附带一提,比较讨厌的是…现阶段来看,给 Kinect 用的 SensorKinect 和官方的 Sensor 模块虽然可以同时安装,但是却没办法让 Kinect 和 Xtion Pro Live 这两种装置同时正确的驱动…单独使用都没问题,但是想要同时使用两者的话,就挂了。
如果先装了 Xtion Pro Live 的话,Kinect 接上去后,Kinect Camera 这个装置就会无法正常地驱动(上左图);而如果先接了 Kinect 的话,再接上 Xtion Pro Live,PrimeSense PS1080 这个装置会有问题的(上右图)…这个问题,只能希望之后有办法修正了。