(一)Kinect的發(fā)展歷史
Kinect最早是在2009年6月1日E3 2009上首次公布,當時的代號是“Projet Natal”意為初生,,遵循微軟以城市名作為開發(fā)代號的傳統(tǒng),,“Projet Natal”是由來自巴西的微軟董事Alex Kipman以巴西城市Natal, Rio Grande do Norte命名。Natal在英語中還有初生的含義,,這也是微軟給予此計劃對XBOX360帶來新生的期望,。
微軟在2010年6月13日晚在Galen Center舉行“初生計劃全球首秀”發(fā)布會,在會上微軟宣布“Poject Natal”正式命名為Kinect,取意為“kinetic”(運動)和“connect”(溝通)的融合,,Kinect一代就此誕生,。微軟在這次發(fā)布會上同時宣布,Kinect將于2010年11月4日在北美正式發(fā)售,, 2012年10月9日開始在中國銷售第一代Kinect for Windows感應器,。
2013年五月Xbox One 發(fā)表會上Scott Evans 和 Kareem Choudhry 兩位Kinect專家展示了次世代Kinect(Kinect二代)那些不可思議的新功能。新Kinect作為次世代主機必不可少的一部分,開發(fā)者們可以基于Kinect感知的語音,、手勢和玩家感覺信息,,來給玩家?guī)砬八从械幕有泽w驗。2014年10月微軟開始在中國銷售第二代Kinect for Windows感應器,。
(二)Kinect兩代產(chǎn)品異同點
1,、Kinect組件
Kinect v1及Kinect v2都擁有一個外殼、底座,、散熱器,、4個不同類型螺釘、3部分主板及14種關鍵芯片,;都擁有4個麥克風陣列,,可過濾噪聲,定位聲源,,識別語音內容,,比較圖1、圖2可知,,他們的擺放位置有所差異,;Kinect v1有Moving Touch傳動馬達電動機用于仰角控制,一般是根據(jù)它與用戶間的位置,、距離調節(jié),Kinect v2需要手動去控制,;Kinect擁有多個攝像機,Kinect v1從左至右分別為紅外投影機,,顏色攝像機,,紅外攝像機,Kinect v1如圖1所示,。Kinect v2從左至右分別為顏色攝像頭,,紅外攝像機,紅外投影機(這兩部分看不到外觀)。
圖1 Kinect V1
圖2 Kinect V2
2,、Kinect配置比較
Kinect彩色攝像頭可用來拍攝視角范圍內的彩色視頻圖像,,Kienct v1的分辨率為640x480,Kienct v2的分辨率為1920x1080。Kinect可用來獲取用戶的深度信息,,Kinect v1獲取的深度圖像的分辨率為320x240,,Kinect v2的分辨率為512x424。Kinect v1可檢測到的有效范圍為0.8~4.0m,Kinect v2可檢測到的有效范圍為0.5~4.5m,只有用戶在有效范圍內,,Kinect才能檢測到用戶的存在。骨骼跟蹤是Kinect“體感操作”的基礎,,Kinect可以跟蹤到6個用戶的位置信息,,并且Kinect v1可以實時跟蹤2個用戶的詳細位置信息,包括詳細的姿勢和骨骼點的三維坐標信息,Kinect v2可以同時跟蹤6個用戶的骨骼節(jié)點,。Kinect v1最多可以支持20個骨骼點,,Kinect v2最多可支持25個骨骼節(jié)點,數(shù)據(jù)對象類型以骨骼幀的形式提供,每一幀最多可以保存所支持的骨骼點對應的個數(shù),。Kinect v1骨骼點如圖3所示,,Kinect v2骨骼點如圖4所示,Kinect v1及Kinect v2配置比較如表1所示
圖3 Kinect V1骨骼節(jié)點
圖4 Kinect V2骨骼節(jié)點
表1
|
Kinect v1
|
Kinect v2
|
顏色(Color)
|
分辨率(Resolution)
|
640×480
|
1920×1080
|
fps
|
30fps
|
30fps
|
深度(Depth)
|
分辨率(Resolution)
|
320×240
|
512×424
|
fps
|
30fps
|
30fps
|
人物數(shù)量(Player)
|
6人
|
6人
|
人物姿勢(Skeleton)
|
2人
|
6人
|
關節(jié)(Joint)
|
20關節(jié)/人
|
25關節(jié)/人
|
檢測范圍(Range of Detection)
|
0.8~4.0m
|
0.5~4.5m
|
角度(Angle)(Depth)
|
水平(Horizontal)
|
57度
|
70度
|
垂直(Vertical)
|
43度
|
60度
|
3,、運行環(huán)境的比較
Kinect v1要在Windows 7及以后的版本上運行,,Kinect v2要求是在Windows 8及以后的版本上運行。Kinect v1要求USB 2.0(或更快的USB)來運行,,因為Kinect v2預覽版?zhèn)鞲衅鞯姆直媛室蔡岣吡?,需要更快的USB 3.0來運行。CPU方面,,Kinect v2和Kinect v1一樣,,要求Dual Core 2.66 GHz以上。Kinect v1要求的是支持DirectX 9.0c的GPU(Kinect Fusion除外),,Kinect v2要求支持DirectX 11.0以后的GPU,,像筆記本這種沒有裝載NVIDIA GeForce和AMD Radeon外置GPU(獨立顯卡)的很多無法運行,而像有Intel HD Graphics這種支持DirectX 11.0以后的處理器內置的GPU(集成顯卡)是可以運行的,。Kinect v1和Kinect v2運行環(huán)境的詳細比較表如表2 所示,。
表2
|
Kinect v1
|
Kinect v2
|
OS
|
Windows 7及以后
|
Windows 8及以后
|
編譯器(Compiler)
|
VisualStudio 2010以后
|
VisualStudio 2012以后
|
端口(Connector)
|
USB 2.0
|
USB 3.0
|
CPU
|
Dual-Core 2.66GHz
|
Dual-Core 2.66GHz
|
GPU
|
DirectX 9.0c
|
DirectX 11.0
|
RAM
|
2.0GBytes
|
2.0 GBytes
|
(三)Kinect功能及原理解析
1、深度檢測
深度檢測是Kinect的核心技術,,開發(fā)者可以通過Kinect獲取到用戶的深度信息,,判斷用戶的位置。Kinect v1的深度檢測用的是Light Coding的方式:紅外投影機投射紅外光譜,,照射到粗糙物體或者毛玻璃后,,光譜發(fā)生扭曲,形成散斑,。因為散斑具有高度隨機性,,所以空間中每一個散斑的圖案都不相同。在空間中打上這樣的結構光,,整個空間即被標記,,當物體放在這個空間中時,紅外攝像機接收到反饋信息,,就可根據(jù)物體上散斑圖案判斷物體位置,,形成深度圖像。Kinect v2的深度檢測用的是Time Of Light的方式:通過紅外攝像頭投射紅外線形成反射光,,根據(jù)光線飛行時間判斷物體位置,,形成深度圖像,。
2、骨骼跟蹤
為了能對用戶進行骨骼跟蹤,,需要構造出用戶的骨骼圖,,對對應骨骼節(jié)點進行跟蹤。首先要從深度圖像中識別出“人體”目標,,即從深度圖像中跟蹤任何“大”字形物體,,此處與人體相似的衣物也會被標定。然后逐點掃描這些區(qū)域的深度圖像像素點,,來判斷屬于人體哪個部位,,其中包擴邊緣檢測、噪聲閾值處理等計算機圖形學技術,。通過這一技術最終將人體從背景環(huán)境中區(qū)分出來,。當系統(tǒng)將人體從深度圖像中分離出來后,接下來就是將人體各個部位識別出來,。由于人的高矮胖瘦的不同,,當用戶做相同的動作時會呈現(xiàn)出不同的狀態(tài),機器是無法窮舉出所有人體姿態(tài)的,,只能通過機器學習去抽象常見的姿態(tài)和行為去推測,、理解人類的意圖,通過人體各個部位的特征值進行分類,。獲得人體的不同部位之后就可以進行關節(jié)點的識別,,人體的關節(jié)連接著軀干、四肢,、頭顱等,,會有很多重疊的地方,所以需要分別從正面,、側面等多個角度去分析,、機器學習,根據(jù)每一個可能的像素來確定關節(jié)點,,形成骨骼系統(tǒng),。
3、人臉識別
人臉識別也需要機器學習的支持,,第一步首先定位人臉的存在,,其次基于人的面部特征,對輸入的人臉圖像或者視頻進行進一步分析,,包括臉的位置,、大小和各個面部器官的位置信息,依據(jù)這些信息,,進一步提取每個人臉中所蘊含的身份特征,,并將其與已知的人臉進行比較,,從而識別每個人的身份。
4,、語音識別
Kinect中語音識別包括很多層次的技術,如最簡單的“語音命令”,、聲音特征識別,、語種識別、分詞,、語氣語調性感探測等多個方面,。Kinect麥克風陣列捕獲的音頻數(shù)據(jù)流通過音頻增強效果算法處理來屏蔽環(huán)境噪聲。即使在一個大的空間,,即使人離麥克風有一定距離,,也能夠進行語音命令的識別。Kinect陣列技術包含有效的噪聲消除和回波抑制算法,,同時采用波束成形技術通過每個獨立設備的響應時間來確定聲源位置,,并盡可能避免環(huán)境噪聲的影響。
(4) Kinect發(fā)展前景
目前,,國外已經(jīng)出現(xiàn)了很多使用Kinect開發(fā)的精彩應用,,比如Kinect試衣鏡、Air Presenter演講軟件,、Kinect光劍,、Kinect街頭霸王等。很多創(chuàng)意都可以在MSDN Channel 9的Coding4fun欄目里看到,。
在國內,,Kinect for Windows SDK Beta發(fā)布伊始,微軟亞洲研究院便啟動了“微軟校園菁英計劃”之Kinect Pioneer項目,,在全國范圍內動員微軟學生技術俱樂部的同學們集思廣益,,提交他們基于Kinect的新創(chuàng)意,并向優(yōu)秀的創(chuàng)意團隊提供Kinect設備和技術支持,。僅一個多月的開發(fā)時間,,多個優(yōu)秀創(chuàng)意團隊便成功提交了Kinect創(chuàng)意項目原型,其中包括使用手勢進行變臉的3D臉譜虛擬平臺,、Kinect教學助手,、基于Kinect的網(wǎng)上試衣間等。在隨后的2012微軟精英大挑戰(zhàn)Kinect主題上,,來自全國30所高校的100余支隊伍也積極參與到Kinect for Windows的開發(fā)當中,,這使得Kinect在中國大學生中得到了全面的推廣。
Kinect的手勢識別功能讓用戶不再需要數(shù)據(jù)手套即可通過雙手操作系統(tǒng)界面,,Kinect的動作識別功能讓用戶無需穿上數(shù)據(jù)衣即可進行系統(tǒng)交互,,Kinect的語音識別功能讓用戶通過口令即可控制虛擬場景,,Kinect在虛擬現(xiàn)實領域會有很大的發(fā)展?!?nbsp;Air Guitar prototype using Kinect camera”是一款虛擬吉他的游戲,,2007年英國藝術家Chris o’Shea 曾利用其表演過。這款游戲可通過Kinect的深度圖像數(shù)據(jù)以及骨骼跟蹤功能,,對雙手關節(jié)點的相對位置,、角度、以及撥動“空氣琴弦”那只手的運動速度進行實時跟蹤,,在空氣中將琴弦劃分若干區(qū)域,。通過增強現(xiàn)實技術讓演奏者可以看到屏幕上的虛擬琴弦,對提高演奏技藝有很大幫助,?!疤摂M試衣鏡”也正悄然改變著一些時裝專賣店的格局,讓試衣間不再成為必需品,。顧客不需要進入試衣間脫衣服試穿,,只要站在虛擬試衣鏡前比劃,就能在屏幕上預覽自己穿上新衣服的樣子,。同時在課堂上,,教師也可通過Kinect給學生演示一些DNA、化學分子結構虛擬現(xiàn)實學習系統(tǒng),,讓課堂恒生趣味性,。可見Kinect的應用領域十分廣泛,。 資料來源:網(wǎng)絡搜集,、整理
|