Kinect的學習筆記發展(一)Kinect引進和應用

來源:互聯網
上載者:User

標籤:

Kinect的學習筆記發展(一)Kinect引進和應用

[email protected]

http://blog.csdn.net/zouxy09

 

一、Kinect簡單介紹

      Kinectfor Xbox 360,簡稱 Kinect,是由微軟開發,應用於Xbox 360 主機的周邊裝置。它讓玩家不須要手持或踩踏控制器,而是使用語音指令或手勢來操作 Xbox360 的系統介面。它也能捕捉玩家全身上下的動作,用身體來進行遊戲,帶給玩家“免控制器的遊戲與娛樂體驗”。

其在2010年11月4日於美國上市,建議售價149美金。

Kinect在銷售前60天內,賣出八百萬部,眼下已經申請金氏世界記錄,成為全世界銷售最快的消費性電子產品。

       2012年2月1日,微軟正式公布面向Windows系統的Kinect版本號碼“Kinect for Windows”,建議售價249美金。而在2012年晚些時候,微軟還將公布面向“教育使用者”的特別版Kinect。

(以上來自wiki百科)

1.1、硬體

       Kinect有三個鏡頭,中間的鏡頭是 RGB 彩色攝影機,用來採集彩色映像。左右兩邊鏡頭則分別為紅外線發射器和紅外線CMOS 攝影機所構成的3D結構光深度感應器,用來採集深度資料(情境中物體到網路攝影機的距離)。

彩色網路攝影機最大支援1280*960解析度成像,紅外網路攝影機最大支援640*480成像。Kinect還搭配了追焦技術,底座馬達會隨著對焦物體移動跟著轉動。Kinect也內建陣列式麥克風,由四個麥克風同一時候收音。比對後消除雜音。並通過其採集聲音進行語音辨識和聲源定位。


1.2、軟體開發環境

1.2.1、非官方組合

      一開始微軟對Xbox 360推出Kinect的時候。並沒有在windows的開發包。而因為Kinect強大的功能和相對低廉的價格,geeks們紛紛表示希望能在電腦上用它。

於是就有多位大牛開發了驅動,眼下我瞭解到的有三個:

1)CL NUI Platform

      由NUI的大牛AlexP開發(他開發的其它著名產品包含PS3的windows驅動)。可以到這裡下載。目標平台是windows7,可以擷取彩色網路攝影機,深度感應器以及加速度感應器資料。使用簡單方便。

2)OpenKinect/libfreenect

       由號稱第一個破解Kinect的Hector Martin發起,能夠到這裡下載,目標平台是Linux and Mac,據說有人成功移植到了windows上。由於非常多geek都是Mac的擁躉,所以開發參與者眾多,不不過個能夠獲得資料的driver。geek們還寫了其它進階的東西。比方我前面提到的骨骼化。將彩色網路攝影機作為紋理貼在深度資料上等等,非常吸引人啊。

3)OpenNI

       OpenNI(opennatural interface開放自然互動)是一個多語言。跨平台的架構,它定義了編寫應用程式,並利用其自然互動的API。能夠到這裡下載。

從名字推斷其終極目標大約是實現少數派報告的效果。從眼下放出來的一些demo,恐怕已經超越了這個終極目標。

它不是專為Kinect開發,但有Kinect的生產商PrimeSense的支援。這個感覺也是眼下相對來說用的比較多的非官方組合:SensorKinect + NITE + OpenNI;當中SensorKinect是Kinect的驅動。NITE是PrimeSense提供的中介軟體,能夠分析Kinect讀取的資料,輸出人體動作等等。

1.2.2、微軟官方SDK

       Kinect體感遊戲在Xbox 360 上獲得非常好的評價,可是對於 Windows 平台上的開發卻一直僅僅能使用非官方的解決方式(上面所說),比如NKinect 配合CL NUI SDK;可是微軟最終在2011 年 6 月推出了 Kinect forWindows SDK Beta,特別是能夠使用 C# 與.NETFramework 4.0 來進行開發。Kinect for Windows SDK主要是針對Windows7設計。內含驅動程式、豐富的原始感測資料流程式開發介面、自然使用者介面、安裝檔案以及參考常式。Kinect for Windows SDK可讓使用C++、C#或VisualBasic語言搭配MicrosoftVisualStudio2010工具的程式設計師輕易開發使用。

眼下最新是V1.6 。

      Kinectfor Windows SDK的:

http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/download.aspx

       Kinect SDK眼下僅僅支援Windows 7,分為x86和x64兩個版本號碼。開發工具方面還須要.NET Framework 4.0和Visual Studio 2010 (最低Express版本號碼)的支援。這個在後面的開發環境的配置中再做介紹。

1.2.3、非官方和官方開發包的優缺點

1)官方SDK:

長處:

       提供了音頻支援、調整傾角的轉動電機、在全身跟蹤骨骼跟蹤方面:非標準姿勢檢測(相對於OpenNi的投降姿勢…)。頭部、手、腳、鎖骨檢測以及關節遮擋等細節上的處理更為仔細(但精度是否更高還不能確定)。

此外,支援多感應器(多台Kinect);

缺點:

       微軟對非商業使用的限制。

此外,未提供手勢識別和跟蹤功能。未實現RGB映像/深度映像的互對齊,僅僅是提供了對個體座標系的對齊。在全身骨骼跟蹤中,SDK僅僅計算了關節的位置,並未得出其旋轉角度。從可移植的角度來看,SDK beta僅僅能用於Kinect/Win7平台。而OpenNi還至少支援華碩的WAVI Xtion體感裝置。今後支援的硬體平台還可能很多其它。相比較而言SDK beta不支援Unity3D遊戲引擎、不支援記錄/回放資料寫入磁碟、不支援原始紅外視頻資料流、也不支援像OpenNi一樣的角色入場和出場的事件響應機制。

2)非官方OpenNI/NITE:

長處:

       可用於商業開發、包括手勢識別和跟蹤功能、可自己主動對齊深度映像和RGB映像,全身跟蹤、關節旋轉角度計算、看起來效能較好、已有眾多遊戲產品應用、支援記錄/回放資料寫入磁碟、支援原始紅外視頻資料流、支援角色入場和出場的事件響應機制。支援Primesense和華碩的WAVI Xtion硬體平台和windows、Linux和Mac等軟體平台。內建的代碼全面支援Unity3D遊戲引擎。

缺點:

       未提供音頻功能、不支援調整傾角的轉動電機、在全身跟蹤骨骼跟蹤方面:無法跟蹤頭部、手、腳和鎖骨的旋轉動作。須要標準姿勢檢測(即著名的投降姿勢…),關節遮擋等細節上的處理似乎存在演算法bug。不能自己主動安裝並識別Kinect多機環境。安裝過程較為繁瑣。特別是NITE還要申請開發認證編碼。OpenNi也沒有提供可用視頻和深度圖輸入的事件觸發機制(但OpenNI提供了類似功能的函數可使用,儘管不是回呼函數。可是也非常好用)。

總結:

       OpenNI最大的優勢就是同意跨平台多裝置,以及商業應用。

但從未經處理資料的採集和預先處理技術上看。微軟的SDK似乎更穩定一些,況且還提供了不錯的骨骼和語音支援。對於部分身體部位識別方面的功能。SDKbeta沒有提供局部識別和跟蹤,這須要自己的興許開發(至少在相當一段時期內微軟可能都不會提供此類功能)。OpenNi/NITE儘管提供了手勢識別和跟蹤,然而在全身骨骼姿勢識別和跟蹤上還要很多其它借鑒微軟的產品。

因此,依照眼下在社區中的表現。SDK beta和OpenNi/NITE孰優孰劣還真無法一下子確定。並且隨著越來越多的開發人員增加微軟這一方,SDK beta的普及可能會更快。但在更高層次的應用上。對二者的選用往往是須要一定智慧的。

(這部分參考:http://www.hanyi.name/blog/?p=330)

 

二、Kinect應用開發匯總

      本文(百度文庫上面的內容,來源未知)匯總了當前使用Kinect SDK for Windows 開發出的各種各樣的應用,點擊相應的連結能夠看到相應Kinect應用的Demo視頻。

 

虛擬應用

Kinect試衣鏡,這款基於kinect體感技術的奇妙的試衣鏡,讓客戶能夠高速的試穿衣服,提高銷售效率和企業形象。

http://v.youku.com/v_show/id_XMjU4MjExNjgw.html

Kinect自製應用3D試衣間

http://v.youku.com/v_show/id_XMjg0MDA3MDYw.html

 

3D建模

3D攝像機, 用兩個KINECT實現3D攝像機的基本效果。

http://v.youku.com/v_show/id_XMjI3MDQ2MjEy.html

雕塑工具。立等可取Kinect成街頭高速人像雕塑工具,利用Kinect對人體進行3D建模,然後依據人體的3D資訊,串連對應的塑模裝置,塑造出人體塑像。

http://v.youku.com/v_show/id_XMjU2Njg2MzE2.html

 

機械控制

用Kinect 操控遙控直升機 

 http://v.youku.com/v_show/id_XMjgzOTYxODk2.html

Kinect Robo,使用Kinect作為機器人的頭,通過kinect檢測周圍環境,並進行3D建模,來指導機器人的行動。

http://v.youku.com/v_show/id_XMjIzNDMyMjg0.html

Kinect控制高達機械人

http://v.youku.com/v_show/id_XMjM3NDUxMjg4.html

 

虛擬樂器

空氣吉他。通過Kinect手勢操作虛擬吉他彈奏音樂。

http://v.youku.com/v_show/id_XMjI5NjM3NzMy.html

Kinect彈奏中國古代樂器,通過手勢的改變能夠演奏出不同中國古代樂器的聲音。

http://v.youku.com/v_show/id_XMjI1MDA4MTM2.html

 

虛擬娛樂

Kinect破解“初音”。將體感控制應用到漫畫人物——初音上。

http://v.youku.com/v_show/id_XMjMxNjQ5MzAw.html

變身奧特曼。捕捉玩家骨架資料。虛擬為奧特曼的形態與之隨動,而且附加一些特技效果。

http://v.youku.com/v_show/id_XMjM1MTY1NDY4.html

Kinect破解玩光劍,Kinect檢測玩家的動作。虛擬出光劍的影像,與之隨動。

http://v.youku.com/v_show/id_XMjI0NTIzOTIw.html

 

電腦相關應用

Kinect手勢操作瀏覽器,通過Kinect手勢對瀏覽器進行翻頁。下拉,放縮等操作。

http://v.youku.com/v_show/id_XMjI1MjczMzg4.html

Air Presenter,讓你的演講從此與眾不同。用kinect進行演講的軟體。

http://v.youku.com/v_show/id_XMjU1MTMyNzky.html

Kinect多點觸摸。使用kinect實現隔空多點觸摸,瀏覽圖片、地圖等。

http://v.youku.com/v_show/id_XMjM1MzE2MTY0.html

Kinect體感控制看片,第四軍醫大學西京醫院骨科的醫生們將破解的kinect應用在手術室,在術中。手術者可通過體感控制查看患者的影像資料。大慷慨便了醫生手術,降低了手術室的人員流動。

http://v.youku.com/v_show/id_XMjM2Nzg2NDky.html

 

虛擬實驗

Kinect蠟筆物理,使用Kinect手勢畫圖。通過體感控制所畫圖形,並使之具有物理特性。比方重力。吸引力等。

http://v.youku.com/v_show/id_XMjI4MDMwMzM2.html

用Kinect控制閃電(特斯拉線圈)

http://v.youku.com/v_show/id_XMjY5NjE2MzQ0.html

 

遊戲

Kinect破解玩馬克思佩恩

http://v.youku.com/v_show/id_XMjM2NjYxNDg0.html

kinect破解玩求生之旅2 體感打殭屍

http://v.youku.com/v_show/id_XMjM3Mjk5MjQw.html

Kinect破解玩魔獸世界   

http://v.youku.com/v_show/id_XMjMzMDM1MzI0.html

Kinect破解玩街頭霸王   

http://v.youku.com/v_show/id_XMjM4MjkzNjA0.html

Kinect破解玩超級馬里奧兄弟 

http://v.youku.com/v_show/id_XMjI1NzY1OTM2.html

Kinect破解玩兵者詭道   

http://v.youku.com/v_show/id_XMjM0NDk2MDg4.html

Kinect破解玩 現代戰爭  

http://v.youku.com/v_show/id_XMjM1NjU4NjE2.html

 

       一群來自卡內基梅隆的學生使用Kinect的互動特點實現了18個各種各種的有趣的想法。他們只用了兩周的時間,從大二學生到研究生不等。讓我們來看一下他們實現的奇思妙想吧!

       原文及視頻資訊連結http://golancourses.net/2011spring/projects/project-3-interaction/

1. Comic Kinect

      此示範範例主要應用了Kinect的骨架跟蹤技術和玩家分段資料,將拳擊和腳踢的互動通過可視的漫畫效果表現出來。而且同步發出一些擬聲效果。

2. Mario Boo

       當Kinect感應器檢測到有人出如今視野內時,會出現一個幽靈保持在人的背後,隨著人的運動而運動,而且會依據深度資訊的遠近而改變自身大小。

3. Magrathea

       Magrathea使用Kinect依據桌上的不論什麼物體動態產生地形圖。網路攝影機讀取桌上物體的不斷變化深度資訊,能夠展現出類似地球地形逐漸進化的過程。

4. We be Monsters

       從中午舞獅中擷取靈感,運用Kinect的骨架跟蹤技術,兩個人分別同坐自己的四肢操縱虛擬怪獸的四肢和頭尾。

5. Mix&Match Interaction Toy

       使用了Kinect/OpenNI 骨架技術,使得3張卡片組成的人體能夠跟玩家隨動。而且通過手的滑動更換圖片。

6. Kinect Flock

       作者建立了一個微粒系統。當使用者移動時。像棉絮一樣的東西會隨之湧動,當使用者精巧時,則聚集到參與者的深度地區。

7. roboScan

       roboScan是一個3D模型+掃描器,將一個Kinect裝置固定在一個ABB 4400機械手上。設定好的動作和操作者同一時候控制機器人和攝像機的3D位置。

Kinect的深度資料用來產生一個精確的外部環境的模型。

8. Neurospasta

        Neurospasta是一個須要全身投入的自由形態遊戲平台。參與者能夠控制他們各自基於Kinect的木偶,也能夠通過功能設定控制別人的化身。

9. Will-o-the-Wisp

      這個設計充滿了神奇色彩。玩家能夠控制一個發光的球體,球體依據玩家手的運動而動。依據深度資訊變大或變小。

10. Balloon Grab

       通過檢測手掌張開還是握緊的手勢。作者開發了一個基於類比氣球飛行的簡易小遊戲。

11. Hand-Tracking Visualization

       該軟體使用手勢控制音訊視覺效果,結合檢測到情境中手距Kinect的深度資訊。參與者手的位置。速度以及其它參數被用來建立一個互動聲音的視覺效果。


        感覺Kinect該應用程式還偶爾字:Kinect該應用程式依賴於你的想象力!


 

Kinect的學習筆記發展(一)Kinect引進和應用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.