微軟前幾天,就有在官方部過格上,發表了《Kinect for Windows announces new version of SDK coming March 18》,宣告會在 3/18,發布最新的 Kinect for Windows SDK 1.7 版,同時也號稱這會是自 Kinect for Windows SDK(以下簡稱 K4W)推出之後,最明顯的更新!
這次更新距離上次的 1.6 版,隔了快半年,算是有點久。不過,這個等待應該算是值得的!因為,在這一版裡面,微軟加入了兩個非常重要、也實際的功能!一個是互動用的「Kinect Interactions」、另一個則是微軟很早之前就展示過、非常炫的「Kinect Fusion」!而詳細的公新內容,也可以參考官方的 Release Note。
雖然 Heresy 寫這篇的時候,微軟還沒有把 1.7 版的 SDK 和 Toolkit 放出來,不過由於 release note 和 MSDN 都已經更新了,所以 Heresy 就先以此來寫了~
之後,微軟應該會把檔案放在 Kinect for Windows SDK 的官網:
http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx
到時候,大家就可以下載來玩了~
Kinect Interactions
「Kinect Interactions」不是 SDK 本身的功能,而是新版 Toolkit 的一部分;而顧名思義,他就是補上了 K4W 一直以來缺乏的官方版的動作偵測的功能;透過這個模組,K4W 的開發者,可以更簡單地開發出使用手勢來控制的系統。
在這次的版本裡,他的互動基本上提供了下列的功能:
- 追蹤最多兩的使用者的雙手並偵測手部的狀態
- 往前推按下按鈕(push)
- 握住與放開(grip / release)
- 捲動(Scroll)
- KinectInteraction Controls(.Net / WPF 的控制元件)
更完整的說明,可以參考 MSDN 的說明文件。
Kinect Fusion
「Kinect Fusion」基本上是微軟透過 Kinect 的深度感應器,進行 3D 掃描和物體重建的一個應用;之前都只有展示,而這次終於把他放給大家玩了~(應該也是在 Toolkit 裡、而非 SDK)
不過,要注意的是,要即時做這件事是很吃計算資源的,所以它的硬體要求非常地高!由於微軟為了要壤他跑得夠快,而使用了自家的 C++ AMP、來用顯示卡做大量平行計算(GPGPU),所以要使用的話,需要有一張支援 Direct X 11 的顯示卡才行;而且,如果要順暢的話,還需要中高階的顯示卡才行(官方是使用 nVIDIA GeForce GTX 560 和 AMD Radeon 6950 測試過)。所以如果沒有夠好的顯示卡的話?快去買一張吧~(完整版的 nVIDIA Kepler、GK110 的 GeForce GTX Titan 應該是個不錯的選擇 :p)
而他基本的實作概念,基本上就是如下方的流程圖:
雖然 Heresy 對技術細節很有興趣,不過這邊就不講了,更詳細的說明,請參考官方 MSDN 文件。
而除了這兩項大功能外,這一版的 SDK 也另外提供了使用 OpenCV 和 Matlab 來處理 Kinect 資料的範例,應該對本來使用這兩的人說,算是滿有用的吧~
整體來說…Kinect for Windows SDK 在微軟的加持下,功能真的越來越多了…雖然 Heresy 本身是 OpenNI 派的,但是不能不說,在微軟的財力和研發能力下,功能看來真的強大許多啊…
不過,OpenNI 2 在捨棄了 OpenNI 1 有功能局限性的 API 後,看來也是有比較多的 middleware library 出現了;不過讓 Heresy 覺得比較可惜的是,似乎有不少都是商業、要付費的版本…而且也由於是各家各自開發的,所以在介面上也失去了一致性,這也會提高一些學習的門檻。
接下來,還是希望開放原始碼的社群,可以盡量跟上吧~像是 Point Cloud Library,基本上就算是一個可能可以做出類似 KinectFusion 功能的開放原始碼函式庫;不過雖然 Heresy 一直很想玩,但是到現在還是沒時間…
[…] Xtion 這類的深度感應器,來做體感程式的開發的話,基本上大多都是使用 Kinect for Windows SDK,或是 OpenNI + NiTE […]
讚讚
請問一下,
kinect 骨架追蹤的時候,應該會抓到20個身體的特徵點,
請問那20個特徵點有沒有相關的定義和算法?
例如,是頭部中心或是重心位置等等。
讚讚
微軟官方文件應該是沒有針對這些做詳細的說明。
讚讚
[…] Kinect for Windows SDK 1.7 升級到 1.8 […]
讚讚
[…] OpenNI 這樣的開放原始碼開發方案,微軟自己也針對 WIndows 平台,推出了 Kinect for Windows SDK,讓大家可以進行 Kinect […]
讚讚
[…] https://kheresy.wordpress.com/2013/03/19/kinect-for-windows-sdk-1-7-with-kinect-fusion-and-kinect-int… […]
讚讚
[…] Kinect Interaction […]
讚讚
大家好
我今天下載安裝了1.7 版的SDK 和Toolkit 不知道為什麼沒法播放Kinect Interactions
請大家多多指教
我是安裝在Windows 7上面的
謝謝
讚讚
不知道你的錯誤狀況是怎樣?
讚讚
您好Heresy
感謝您的回答 我的情況是 我安裝完1.7 版的SDK 和Toolkit後 就進入Toolki去想看看新功能Kinect Interactions是怎麼樣的 結果當我點擊run 的時候出現
:kinect Fusion reconstruction volume not initialized please reduing size or restating
謝謝
讚讚
你是要測試 Kinect Interaction 還是 Kinect Fusion?
看錯誤訊息,無法執行的應該是 Kinect Fusion。
而至於無法執行的原因,基本上應該是你的顯示卡的記憶體不夠多,所以無法完成初始化。
他也有建議你把大小調小一點再試試看。
讚讚
thank u ^^
讚讚
我是要測試 Kinect Fusion
感謝您的回答
讚讚
今天晚上來更新玩一下了~~
讚讚
果然一早起來就發現可以下載了!
讚讚
其實官方在 3/12 就有載點了 只是KINECT官網上沒有直接的連結
讚讚
恩,滿正常的。很多廠商都是先把檔案準備好,等到時間到了才放連結。
讚讚
thank u !!!!
讚讚