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。

 

這邊所列的規格,基本上如下:

  • 有效距離:0.8 公尺 – 3.5 公尺
  • 有效角度:58° H、45° V、70° D
  • 介面/電源:USB 2.0
  • 感測器:RGB & 深度
  • 支援平台:Intel x86 & AMD
  • 支援作業系統:
    • Win 32/64: XP、Vista、Win7
    • Linux Ubuntu 10.10: x86 32/64bit
  • 程式語言:C++/C#(Windows)、C++(Linux)
  • 音效:內建兩組麥克風

基本上,在支援的語言和作業系統的部分,因為 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 則沒有這個問題!

而在硬體功能面,在一般開發者最常用到彩色、深度感應器的部分,兩者應該算是具備同等級的硬體(其實搞不好應該算是一樣的硬體?),所以這部分應該算是平手。

但是在聲音的部分,Kinect 的四單元麥克風陣列在規格上應該是完全獲勝的!不過目前的驅動程式,應該還是無法正確地透過 OpenNI 來取得聲音的資料的,所以雖然有比較好的硬體,但是還是沒有用…而 Kinect 的馬達也是一樣的狀況,雖然他有可以控制的硬體,但是卻沒有辦法透過軟體來控制,所以也算是相當可惜的。

不過,如果仔細看 OpenNI 的介面的話,可以發現 OpenNI 應該是有打算透過 xn::GeneralIntCapability 來做一些特殊的控制;像是現在在 xn::MapGenerator 就多了不少這類型的 capability,例如 XN_CAPABILITY_ZOOMXN_CAPABILITY_ROLLXN_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 這個裝置會有問題的(上右圖)…這個問題,只能希望之後有辦法修正了。


OpenNI / Kinect 相關文章目錄

對「ASUS Xtion Pro Live 開箱文」的想法

  1. […] 個人覺得讓人比較可惜的,是深度影像的解析度並沒有提升,還是只有 VGA 而已;但是就不知道精確度有沒有提高了?不過以上面的示意圖來說,看來雜訊似乎不嚴重?如果真的有這個品質的話,那深度影像的品質應該是比第一代的 Xtion 的好上不少,或許有可以和 Kinect v2 相比的機會? […]

  2. 您好,請問 如果做 3D掃描,例如:人物臉部掃描,KINECT 與 Xtion ,您比較推薦哪一台呢?

    • Kinect v1 和 Xtion 的差異很小,基本上核心都是 PrimeSense PS0180。
      在考慮到前兩者現在應該都已經停止生產了,個人覺得現在要做,考慮 Kinect v2、或是 Intel RealSense 或許會比較合適。

發表留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料