這個也算是讓 Heresy 有點訝異的新消息了…
華碩在 OpenNI 已經半殘的狀況下,去年依舊推出了 ASUS Xtion 2 這款支援 OpenNI 的深度感應器;在當時,應該也使因為礙於 NiTE 授權的問題(僅能用於 PrimeSense 的硬體),所以只能存取深度與彩色影像,並沒有辦法支援體感的人體骨架追蹤。
在 Heresy 來看,除非 ASUS 能找到其他人體骨架的追蹤軟體方案,否則這個問題應該是無解的。而沒想到,前幾天 ASUS Xtion 的 Facebook 專頁,就多了一篇公告(連結),告訴大家他不但支援 NiTE、也找到另一套 middleware、Nuitrack(官網,這套是要付費的)了!
而現在如果到 Xtion 2 的下載頁面(連結)看的話,就可以看到它提供了三個版本可以下載:
華碩在這邊,提供了支援 NiTE 的 OpenNI 2.2、OpenNI 1.5.7 版本,以及支援 nuitrack 的版本(裡面的 nuitrack 是試用版)。
在 Heresy 安裝了新的 OpenNI SDK 後,可以發現裡面的 OpenNI 依舊是 2.2.0.33 版,但是「ToolsOpenNI2Drivers」中的 SenDuck.dll 這個檔案,版本已從最初的 1.1.1.3 進版到 2.0.1.5 了~同時,它的檔案描述也變成「ASUS Xtion2 Driver for Nite 2.2 Windows x64」了。
不過,在 ASUS 官方提供的安裝套件中,依舊沒有 PirmeSense NiTE 的安裝程式,這部分還是得自己想辦法了。
而在使用時,和之前一樣、需要把「ToolsOpenNI2Drivers」這個路徑下 RvcLib.dll、SenDuck.dll、SenDuck.ini 這三個檔案,複製到要執行的程式底下的「OpenNI2Drivers」這個路徑中;而如果要使用 NiTE 的話,似乎是還得自己修改 SenDuck.ini 的內容。
他本來的內容是:
[Driver]
;Nite support mode. 0 - off (default), 1- On
;NiteMode=1
可以看到,NiTE 支援模式被註解掉了,所以還是不能用。
而把檔案內容改成:
[Driver]
NiteMode=1
後,NiTE 官方的範例 UserViewer 和 SimpleUserTracker 就可以跑了~
不過,在 Heresy 這邊,SimpleHandTracker 還是會出現「NiTE initialization failed」的錯誤,而無法執行;看來在相容性的部分,應該也不算非常好了。
而在實際使用上…老實說,個人覺得有點糟糕啊…
首先,下面是把 ASUS Xtion Pro Live 和 ASUS Xtion 2 放在差不多的地方後,開啟 UserViewer 後的畫面比較。
上面左邊是第一代的 Xtion 的畫面,可以看到,人的輪廓很清楚、背景也看得很清楚。
而相較於第一代,右圖的第二代的畫面,就只能說悲劇了…不但人的下半身完全沒有偵測到(黑褲子的關係?),後面的背景也幾乎都消失了…
雖然後來 Heresy 抓同事來測試是沒有這麼悲劇,但是穩定性卻還是沒有 Xtion Pro Live 來的穩定。
這是什麼回事呢?再測試一下發現,發現有沒有透過修改「SenDuck.ini」開啟 NiTE 模式,應該是問題的關鍵了…
下面左圖是沒有開啟 NiTE 模式時,透過 NiViewer 看到的畫面,看來一切都還算可以接受;但是當開啟 NiTE 模式後,整個深度影像就變成右圖的樣子了…
可以看到,基本上深度資訊大多都已經消失了,整個已經很難說是堪用的狀況了…
這部分看起來,應該是 ASUS 在軟體調校上的問題了…就不知道之後 ASUS 會不會修正了?
至於另一套 Nuitrack(官網)呢?看了一下安裝說明(網頁),看來他應該是用 OpenNI 1.5.7 的框架來開發的,再考量到他是付費軟體…恩,放棄,不玩了~ XD
話說,Heresy 始終很好奇,ASUS 有取得 PrimeSense 的授權嗎?理論上 PrimeSense 現在是 Apple 的,所以是有向 Apple 買使用權嗎?還是就只是讓他「可以用」?