Visual Gesture Builder C++ API

Heresy 之前在《建立 Kinect 的姿勢辨識資料庫:Visual Gesture Builder 工具(一)》和《建立 Kinect 的姿勢辨識資料庫:Visual Gesture Builder(二)》這兩篇文章,已經把 Visual Gesture Builder 的工具程式的基本操作都做了一定程度的介紹了。

接下來這一篇,則是來講一下要怎麼在自己的 C++ 程式裡面,透過 Visual Gesture Builder 提供的 C++ API、以及自己建立出來的姿勢資料庫、來進行姿勢的辨識。


Visual Gesture Builder 的檔案

要在 C++ 的程式裡面使用 VGB 的 C++ API 的話,首先需要引入 VGB 的 Header 檔、「Kinect.VisualGestureBuilder.h」。這個檔案所在位置和其他 K4W SDKv2 的 Header 檔所在位置相同,都是在「$(KINECTSDK20_DIR)\inc」下。

而在建置階段所需要的 lib 檔,則是「Kinect20.VisualGestureBuilder.lib」,同樣位於「$(KINECTSDK20_DIR)\Lib」這個資料夾下。(x86 與 x64 放置於不同資料夾內)

至於執行時需要的檔案,則是在「$(KINECTSDK20_DIR)\Redist\VGB」這個資料夾下。C++ 程式除了需要「Kinect20.VisualGestureBuilder.dll」這個檔案外,也還需要「vgbtechs」這個資料夾內的檔案;這個資料夾內的兩個 DLL 檔,應該分別是進行連續性、離散式姿勢偵測的演算法實作。

閱讀更多»

建立 Kinect 的姿勢辨識資料庫:Visual Gesture Builder(二)

上一篇的文章裡面,Heresy 已經介紹過 Visual Gesture Builder 的使用流程、以及他的離散式的姿勢了。而接下來這一篇,則是先來講一下他的連續性姿勢吧~

首先,在微軟 Channel 9 的《Custom Gestures End to End with Kinect and Visual Gesture Builder Part 2》影片裡面,有提供離散式姿勢和連續性姿勢的比較,這邊就大概引用一下:

閱讀更多»

建立 Kinect 的姿勢辨識資料庫:Visual Gesture Builder 工具(一)

微軟在 Kinect for Windows SDK v2 這個開發環境中,在核心環境內有提供人體骨架的追蹤功能、讓程式開發者可以輕鬆地取得人體的骨架資訊(請參考《K4W v2 C++ Part 7:偵測、追蹤人體骨架》)。

而和第一代的 SDK 相比,在這一代的 SDK 中,微軟甚至提供了手掌的一些細節,讓開發者可以判斷手掌的狀態~如此一來,可用性算是比之前提高了不少。

不過,在 K4Wv2 的核心部分,微軟還是沒有提供姿勢辨識、動作辨識這類的功能,所以如果在僅使用核心元件的情況下,想要透過動作來觸發事件的話,就必須要自己根據骨架的資訊來做計算、判斷了。而實際上,這件事算是還滿麻煩、滿繁瑣的…

為了解決這個問題,微軟另外提供了一個名為「Visual Gesture Builder」(官方文件、以下簡稱「VGB」)的工具(包含軟體、以及 API);它可以讓使用者透過 Kinect Studio 錄下來的 XEF 檔來做學習,半自動地建立出姿勢辨識的條件、進而用在程式之中。

閱讀更多»