ASUS Xtion 2 的人體骨架追蹤:支援 NiTE 和 Nuitrack

這個也算是讓 Heresy 有點訝異的新消息了…

華碩在 OpenNI 已經半殘的狀況下,去年依舊推出了 ASUS Xtion 2 這款支援 OpenNI 的深度感應器;在當時,應該也使因為礙於 NiTE 授權的問題(僅能用於 PrimeSense 的硬體),所以只能存取深度與彩色影像,並沒有辦法支援體感的人體骨架追蹤。

在 Heresy 來看,除非 ASUS 能找到其他人體骨架的追蹤軟體方案,否則這個問題應該是無解的。而沒想到,前幾天 ASUS Xtion 的 Facebook 專頁,就多了一篇公告(連結),告訴大家他不但支援 NiTE、也找到另一套 middleware、Nuitrack(官網,這套是要付費的)了!

閱讀更多»

ASUS Xtion 2 的使用

啟動狀態上一篇《ASUS Xtion 2 開箱》基本上是大致介紹了 ASUS Xtion 2 的硬體。而這一篇,則來講一下它接上電腦使用的狀況吧~

華碩第一代的 Xtion 基本上是採用和第一代 Kinect 相同的 PrimeSense 方案;不過由於 PrimeSense 已經被 Apple 收購了,所以華碩的 Xtion 2 也不可能再使用這個架構了…

華碩官方並沒有提供 Xtion 2 採用的方案是哪一家的,不過在和華碩的人員確認過後,是得知他採用的是 ToF(Time of flight)技術的深度感應器,號稱精確率是 3%(還是應該是誤差率?)。

閱讀更多»

ASUS Xtion 2 開箱

待命狀態在今年三月的時候,華碩出乎意料地在 Facebook 的「ASUS Xtion Series」頁面上發表了第二代的 Xtion 即將上市的消息。到了四月初,也發表了大部分的規格,之後沒多久,也就看到有的人已經買到了。

不過基本上,華碩應該是把 Xtion 2(官網)定位成開發用硬體,所以看來是沒有打算在一般通路鋪貨、販售了;要購買的話,基本上目前應該都只能和華碩訂購。

而雖然晚了點,不過 Heresy 這邊後來也弄了一隻來,想說來試試看效果怎樣。這篇基本上就是他的開箱文了~

閱讀更多»

華碩 Xtion 2 的細部規格,相容於 OpenNI 2

之前三月初的時候,已經有貼過一篇《出乎意料,華碩預告將推出第二代 Xtion 深度感應器》了。

當時,華碩緊緊有提供了一張照片、大概表現了新的感應器的外型;而又過了一個月,現在終於又有細部規格了~

這次放出來的,主要是它的基本規格,包括了:

  • 深度影像解析度:640×480 @30fps
  • 彩色影像:2592 x 1944
  • USB 3.0、低耗電
  • 體積:110 x 35 x 35 mm
  • 支援多作業系統、相容於 OpenNI 2.2

閱讀更多»

給想開始學 Kinect/OpenNI 程式開發的人 2016

這篇的主題,是要開始學 Kinect、或是 OpenNI 程式開發前,應該要知道的一些事情;基本上,主要的目的,是壤還搞不清楚狀況的人,知道自己可以使用哪個開發環境,還有該開發環境的狀況。

其實之前都寫在各個文章裡面了,不過由於不時還是有人會弄錯、或是不知道某些東西,所以這邊彙整一下。

基本上,要選擇體感程式、深度感應器的開發環境,主要要取決於你用的是哪個感應器;根據所使用的感應器的不同,能使用的開發環境自然也就不同了。

所以接下來,這邊就是以硬體為導向,開始分類。首先,下面是以表格形式的彙整:

感應器
ASUS Xtion 與其他 PrimeSene 架構感應器
第一代 Kinect
第二代 Kinect
OpenNI 1
可使用
可使用
不可使用
OpenNI 2
可使用
可使用
不建議使用
Kinect for Windows v1
不可使用
可使用
不可使用
Kinect for Windows v2
不可使用
不可使用
可使用

閱讀更多»

Kinect for Windows v2 的一些資源

雖然算是晚了不少,不過 Heresy 之前終於弄到了 Kinect v2 的感應器(for Xbox Onefor Windows),也寫了很簡單的開箱測試文了。

而雖然是想開始花時間來研究到底要怎麼寫 Kinect for Windows v2(以下簡稱 K4Wv2)的程式,但是由於最近都在做別的方面的東西,所以一直到現在都還沒有真的有時間下去玩…

不過最近,其他事前暫時算告一個段落了,所以接下來應該會來研究看看了吧~而在開始之前,這邊先來稍微整理一下,最近看到的一些相關資源。

閱讀更多»

201407、OpenNI 現況

在 2013 年底,Apple 正式收購了 OpenNI 的主導廠商、PrimeSense;而到了 2014 年的四月底、OpenNI 的官方網站也正式關閉,其後又過了一段時間後、連 PrimeSense 的官方網站也都停止運作了。而這也看得出來,所謂的 OpenNI 聯盟,其實只是靠 PrimeSense 玩起來的…

那現在,OpenNI 的狀況是怎樣呢?

首先,之前針對 iPad 推出外掛深度感應器「Structure Sensor」的公司 Occipital(官網),已經決定接手繼續維護 OpenNI 2 的 SDK 了!他也為此建立了一個專頁、提供了 OpenNI 2 相關的資源下載;其網址是:

http://structure.io/openni

閱讀更多»

Kinect 錄製的 ONI 檔無法在 NiTE 2.2 使用的問題

恩…雖然由於 PrimeSense 被 Apple 收購的關係,OpenNI 官網已經關閉、而 PrimeSense 的 NiTE 也不再維護了,不過包括 Heresy 自己在內,還是有一些人有在用 OpenNI,所以這邊還是寫一下吧。

這邊主要的問題,是在最後的 OpenNI 2.2 和 NiTE 2.2 的環境下,在把 Kinect 的資料錄下來成 ONI 檔之後,錄下來的檔案會無法再給 NiTE 使用。(在建立 UserTracker 的時候,會出現「memory access violation error」的錯誤)

而 Heresy 雖然滿早就知道這個問題了,但是由於自己都沒碰到、也無法重現,所以也就放著沒管了。不過最近剛好有人向 Heresy 詢問這個問題,所以就認真地和他詢問了一些資訊,來試著釐清、解決了。

閱讀更多»

處理 NiTE2 的骨架關節點方向性資訊:Quaternion

之前已經在《NiTE2 的人體骨架追蹤》,提過怎麼在 OpenNI 2 的環境下,使用 NiTE2 這個函式庫,來做人體骨架的追蹤了。當時 Heresy 只有提到怎麼去處理骨架的關節點位置資料,而跳過了他的方向性資訊;而 NiTE 2 採用的 Quaternion 表示法似乎對不少人造成問題,所以雖然 NTE 已經不會再維護、發布了,但是這邊還是稍微解釋一下吧…

首先,「Quaternion」(翻譯似乎是「四元數」?)是一種在數學上、可以用來表示三度空間中的旋轉、或是方向性的表示法;他和 euler angles、或是旋轉矩陣這類比較有名的表示法相比,他有一些在實務上的優點,也因此在不少領域上都有用到。(參考:Quaternions and spatial rotation

而 Heresy 這邊主要是以實用為出發點,不去講 Quaternion 的數學細節;如果要比較學術性、完整的資料,就麻煩自己找書看吧。(其實是因為雖然學過,但是其實也算忘得差不多了 :p)
也希望下面的東西沒有錯了。(有錯也請麻煩指正)

閱讀更多»

Virtual Device for OpenNI 2

這是一個 OpenNI 2 用的虛擬裝置模組,他的功能基本上是提供 OpenNI 2 環境建立一個虛擬裝置的功能,讓程式開發者可以自行去指定這個虛擬裝置的資料;比如說,如果是有其他形式的深度影像、或是其他深度攝影機的資料,都可以透過這個模組,來讓資料可以在 OpenNI 2 的架構下來使用。

而另一方面,這也可以用來模擬類似 OpenN1 時提供的「Mock Node」、也就是可以用來修改取得道的深度資料、讓之後的 middleware(PrimeSense NiTE)可以使用。(參考《修改 User Generator 用來分析的深度影像》)

這個模組是以 OpenSource 的形式,放在 GitHub 上,他的網址是:https://github.com/VIML/VirtualDeviceForOpenNI2
另外,雖然這個模組也有以 tools 的形式 submit 給 OpenNI 了,但是看來似乎都沒有被處理。

閱讀更多»