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

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

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

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

閱讀更多»

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

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

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

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

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

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

閱讀更多»

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

閱讀更多»

OpenNI 2.2.0.33 / NiTE 2.2.0.11

OpenNI 在上個月底,把 OpenNI 2 的版本升級到了 2.2.0.32 Beta,算是一個小更新。而這兩天,OpenNI 又再度放出了更新,不過很遺憾,這次的更新還是沒有更新到開發支線上的 OpenNI 2.3、而是一個小版號的修改、升級後是變成 2.2.0.33 Beta、只差了最後一個數字。

檔案一樣可以在 OpenNI 官網下載:http://www.openni.org/openni-sdk/

至於這次從 2.2.0.32 升級到 2.2.0.33 改了什麼?基本上…感覺應該是完全沒改啊…就算是去翻 GitHub 上的更新紀錄(頁面),也只有看到修改「notice」這個文件的紀錄、以及修改版本編號的紀錄而已;感覺在程式上,應該是沒有去動吧?所以要不要更新,就自己決定吧…更新的意義應該不是很大就是了。

閱讀更多»

OpenNI 2 小更新:2.2.0.32 Beta

不太確定是什麼時候發布的,不過今天發現,OpenNI 2 又做了小更新了~(GitHub 上的紀錄是六天前
這是繼今年六月的 2.2.0.30,第一次更新;更新後的版本編號是 2.2.0.32,一樣還是掛著 Beta,有興趣的人可以到 OpenNI 官網下載更新:

http://www.openni.org/openni-sdk/

不過,不知道 OpenNI 官方是不是弄錯檔案了,Heresy 不管下載  OpenNI 2.2.0.32 Beta(x86) 還是 OpenNI 2.2.0.32 Beta(x64),下載下來都是一個接近 30MB、包含所有版本的 ZIP 檔…

閱讀更多»

使用 PrimeSense NiTE 和 GrabDetector 的簡易版滑鼠模擬器

在 OpenNI 1 的時候,Heresy 曾經在《OpenNI 的手部追蹤、外加簡單的滑鼠模擬》一文章,介紹過 OpenNI 1.x 的 HandsGenerator,並用他來做簡單的滑鼠模擬功能;而在當時,是直接使用 OpenNI 定義的「click」手勢,來當作左鍵,不過效果並不是很好…

而這一篇呢,Heresy 則是試著在 OpenNI 2 的環境下,使用 PrimeSense NiTE 2 的 HandTracker 來追蹤手的位置,並用 PrimeSense 另一套 middleware Grab Detector,來透過「grab」這個手勢,作為滑鼠左鍵的觸發條件。完整的範例程式,已經放到 Heresy 的 OpenNI 2 範例程式集裡面了,有興趣的話可以到 http://sdrv.ms/14VWxlb 下載。

閱讀更多»

201308 OpenNI 近期相關資訊整理

這一篇,算是稍微整理一下近期的 OpenNI 2 相關資訊的更新。


部落格內部文章

首先,是 Heresy 自己的網站的部分。之前雖然有弄一篇《OpenNI / Kinect 相關文章目錄》來做為總目錄,不過其實有一段時間沒更新了,新的文章也沒有加進去…前幾天,終於花了一點時間,又整理了一下;這次,除了把相關資訊補上之外,同時也把 OpenNI 2、以及對應的 middleware 的文章,獨立成一篇《OpenNI 2.x 教學文章》了~

另外,《OpenNI 2 & NiTE 2 課程投影片與範例》這邊所提供的投影片以及範例程式,也有再根據 OpenNI 2.2 的改變,做了一些對應的修改;有興趣的話可以參考看看。

閱讀更多»

OpenNI 2.2.0.30 變成 Beta 版了!

OpenNI 版本又更新了~之前由於新的 2.2 Alpha 版似乎是有一點問題,所以官網又把 2.1 Beta 放回來,變成雙線進行的,而現在則是再次把 2.1 拿掉、並讓 2.2 由 Alpha 變成 Beta 了~(GitHub 上的 master 也變成 2.2 了)
不過,版本編號和上次 2.2 的版本一樣,還是 2.2.0.30,所以理論上應該是沒什麼明顯的修改?而下載的頁面,還是一樣在老地方:

http://www.openni.org/openni-sdk/

另外,同時 NiTE 2.2 Beta 也在這幾天做了更新,版本編號是 2.2.0.5,不知道是不是對應新的 OpenNI 做修改?
(話說,Heresy 也沒再認真追 NiTE 的版本,所以也不確定他之前的版本編號…)

閱讀更多»

NiTE 2 官方 Programmer Tutorial Guide

OpenNI 2 和 NiTE 2 已經推出好一段時間了,在這段期間裡面,雖然 OpenNI 2 算是有滿完整的教學、文件等資源,但是比較可惜的,是 NiTE 2 基本上只有 API 文件C:\Program Files\PrimeSense\NiTE2\Documentation、以及範例程式可以參考,對於很多初學者來說,應該會滿困擾的。

不過實際上,由於 NiTE 2 的程式使用邏輯和概念,和 OpenNI 2 是相同的,所以其實稍微看一下範例程式和  API Reference,要使用應該還是沒問題的!

而現在,PrimeSense 終於在官方網站上,放出了 NiTE 2 的教學文件了~他的網頁是:

http://www.primesense.com/solutions/nite-middleware/

最下方有個《NiTE™ 2 API Programmer Tutorial Guide》的 PDF 檔案連結,就是他提供的教學文件了。有興趣的人,可以抓來看看。

閱讀更多»

體感按鈕實作(OpenCV)

這篇,算是簡單的概念實作測試吧…Heresy 是試著在 OpenCV 的環境下,透過 NiTE 的手部追蹤的功能,來時做體感的按鈕。由於只是概念實作,所以在圖形的部分,算相當地簡單就是了~如果有需要的話,也可以自己根據需求作加強。

程式的原始碼在:https://1drv.ms/f/s!Al8B-ey4Dwfg70iulL28kh-idqK8

裡面的檔案,主要是定義了按鈕的類別的 NIButtons.h,以及主程式的 NIButtons.cpp 的部分。

Heresy 基本上實作了兩種不同的按鈕,一種是要按下的 PressButton,另一種則是要把手停在按鈕內一段時間的HoldButton;而為了架構上的一致性,這兩者都繼承自 AbsNIButton

閱讀更多»