身體就是控制器,微軟Kinect是怎麼做到的?

這次E3展中,三大遊戲主機中的Microsoft和Sony終於都正式 推出了體感裝置,最令人驚艷的莫過於不需要任何控制器的Kinect,之前我們票選的「三大遊戲新星你選哪一個?」也印證了這一點。最令人好奇的 是,Kinect到底如何偵測全身體感?搭載了什麼特殊功能?各個鏡頭的用途是什麼?

大家應該都知道Kinect是靠攝影機鏡頭捕捉使用者的動作,但對於細節或許不是很清楚,近日隨著國外遊戲網站play.com公佈了Kinect的詳細規格,也讓我們可以間接了解更多細節。


先由Kinect的運作原理開始吧,Kinect一次可擷取三種東西,分別是彩色影像、3D深度影像、以及聲音訊號。首先是Kinect機身上有3顆鏡 頭,中間的鏡頭是一般常見的RGB彩色攝影機,左右兩邊鏡頭則分別為紅外線發射器和紅外線CMOS攝影機所構成的3D深度感應器,Kinect主要就是靠 3D深度感應器偵測玩家的動作。


中間視訊鏡頭則是用來辨識玩家身分(靠著人臉辨識和身體特徵)、以及辨識基本的臉部表情,此外也能應用在擴增實境遊戲、以及視訊通話時;同時Kinect還搭配了追焦技術,底座馬達會隨著對焦物體移動跟著轉動。


都用上了不用遙控器的體感裝置,哪裡還要玩家頭上掛個耳麥的道理,因此Kinect也內建了麥克風系統,用的還是陣列式麥克風。它的好處是藉由多組麥克風同時收音,比對後消除掉雜音,等於提供了降噪功能,讓玩家的聲音能更清楚的傳遞出去。




▲Kinect中間的鏡頭是攝影機、左右兩顆鏡頭則是3D深度感應器;同時具有追焦功能,底座馬達可左右旋轉27度。此外還有陣列式麥克風。(圖片來源:Games Blog)



▲Kinect可同時獲取彩色影像、3D深度影像、以及聲音訊號(引用PrimeSensor解說圖)。(圖片來源:PrimeSense)



▲Kinect的架構圖(引用PrimeSensor解說圖)。(圖片來源:PrimeSense)

使用這麼新穎的偵測技術,Kinect是用了什麼特殊規格的設備?事實上並沒有我們想的那麼特別,從規格表裡看到的,都是相當普通的內容,例如視訊攝影機 的影像規格為640×480 30FPS、紅外線攝影機則為320×240 30FPS,關鍵其實是在Kinect所使用的偵測技術。也因為如此,Kinect才能開出149.99美元的售價,而不是買不起的天價。


Kinect到底怎麼偵測3D影像?


關於Kinect所使用的辨識技術,網路上有許多以訛傳訛的說法。例如用兩顆攝影鏡頭拍攝成3D影像、並以紅外線探測Z軸深度做感應;也有許多人以為Kinect是利用紅外線紀錄體溫的方式,來找出人體的影像,這些當然都不是正確答案。


微軟在去年(2009年)初收購了一家以色列籍的3DV Systems公司(來源:reuters),包含公司員工以及所有專利技術都歸微軟所有。該公司擁有名為ZCam的動作感測系統,採用TOF(Time of Flight)技術,讓許多人認為Project Natal誕生計畫(Kinect前身)就是採用TOF技術,但......最後證實大家還是猜錯了。


這裡簡單介紹一下TOF技術,大家應該可以從字面猜到含意,Time of Flight就是去計算光線飛行的時間。首先讓裝置發出脈衝光,並且在發射處接收目標物的反射光,藉由測量時間差算出目標物的距離;ZCam就是使用 TOF技術,使用紅外線以及Accelerometers加速度計感應器,感測立體空間的相對位置變化,建構灰階距離影像的深度感應器。3DV Systems公司研發該技術已經長達10年,並取得許多專利技術,所以受到了微軟的矚目。


不過就在今年(2010年)年初時,微軟的開發人員卻大爆Project Natal誕生計畫並不是如外界傳言採用3DV Systems公司的TOF技術(來源:engadget)。微軟先進技術研究院副總裁Moshe Lichtman,於去年接受媒體訪問時,就表示併購3DV Systems公司目的不在於使用他們的技術,而是作為保障自家感測技術的後盾。因為專利技術認定上有時較為模糊,稍有不慎就會被對手告侵犯專利 權;3DV Systems擁有許多相關專利,因此藉由併購3DV Systems快速取得專利,也能避免被其他對手併購,阻撓微軟的產品研發。




▲關於Kinect偵測方式網路上眾說云云,其實它與PrimeSense合作採用Light Coding技術。

微軟在今年4月時,正式公佈與另一家以色列公司PrimeSense合作(來源:gossipgamers),這下才讓Kinect使用的3D偵測技術有 了著落。他們也是提供動作感測系統的公司,擁有體感偵測裝置PrimeSensor,以及感測晶片PS1080。PrimeSense用的並不是採用 3DV Systems的TOF技術、而是Light Coding技術。


Light Coding技術理論是利用連續光(近紅外線)對測量空間進行編碼,經感應器讀取編碼的光線,交由晶片運算進行解碼後,產生成一張具有深度的圖像。 Light Coding技術的關鍵是Laser Speckle雷射光散斑,當雷射光照射到粗糙物體、或是穿透毛玻璃後,會形成隨機的反射斑點,稱之為散斑。散斑具有高度隨機性,也會隨著距離而變換圖 案,空間中任何兩處的散斑都會是不同的圖案,等於是將整個空間加上了標記,所以任何物體進入該空間、以及移動時,都可確切紀錄物體的位置。Light Coding發出雷射光對測量空間進行編碼,就是指產生散斑。


Kinect就是以紅外線發出人眼看不見的class 1雷射光,透過鏡頭前的diffuser(光柵、擴散片)將雷射光均勻分佈投射在測量空間中,再透過紅外線攝影機記錄下空間中的每個散斑,擷取原始資料後,再透過晶片計算成具有3D深度的圖像。




▲Light Coding是以發射紅外線產生散斑,透過感應器紀錄訊號後,交由晶片運算出深度圖像。(圖片來源:PrimeSense)

PrimeSence公司用的Light Coding技術,說穿了與微軟先前買下3DV公司所使用的TOF技術根本就毫不相關,只是產生的結果類似。這點更加印證了微軟收購3DV Systems,只是為了動作感測相關的專利權、取得領先地位。


由於微軟並沒有買斷PrimeSense公司的技術,因此PrimeSensor裝置未來也有可能出現在電視、電腦等消費性產品上,例如 CyberLink訊連科技也與PrimsSense合作開發3D互動體驗介面(來源:PrimeSense)。面對將來有可能出現同質性產品,微軟則是 強調Kinect的追焦旋轉功能是他們的專利,這點別人不能模仿。




▲PrimeSence公司展示應用Light Coding技術的體感偵測系統。該技術並未被微軟買斷,未來將有機會應用在其他裝置上。

另一關鍵:骨架追蹤系統


了解Kinect如何獲得影像後,接下來就是進行辨識的工作。透過Light Coding技術所獲得的只是基本的影像資料,重點還是要辨識影像,轉換為動作指令。據說Prime Sense公司並沒有提供辨識技術,所以辨識部份得靠微軟自己搞定。


微軟會將偵測到的3D深度圖像,轉換到骨架追蹤系統。該系統最多可同時偵測到6個人,包含同時辨識2個人的動作;每個人共可記錄20組細節,包含軀幹、四 肢以及手指等都是追蹤的範圍,達成全身體感操作。為了看懂使用者的動作,微軟也用上機器學習技術(machine learning),建立出龐大的圖像資料庫,形成智慧辨識能力,盡可能理解使用者的肢體動作所代表的涵義。


Kinect偵測的最佳距離為1.2公尺到3.5公尺間,水平視野則是57度,偵測範圍似乎比原本想像的還要小,看來還是不能站的太隨意;Kinec也配 備了追焦系統,如果玩家超出影像範圍,底座馬達可驅動Kinect左右旋轉27度。整體看來Kinect對操作空間的限制,似乎比其他體感裝置更嚴格些。




▲Prime Sense公司似乎只提供影像偵測,後面的辨識技術還是靠微軟自己來。(圖片來源:PrimeSense)



▲Kinect一次可追蹤2人的動態,每人能追蹤高達20組細節。(圖片來源:Gamespot)

延遲讓Kinect不精準?


由於Kinect攝影機的影像更新頻率為30FPS,代表動作傳遞將會有33ms(1/30秒)的延遲,CrunchGear也在文中質疑這會不會造成動 作偵測上的延遲,為何不使用60FPS以上的錄影規格拍攝?這其實是PrimeSense公司提供的處理晶片能耐,它就只能處理VGA畫質、30FPS的 影像。


30FPS影像更新頻率造成的延遲應該有限,因為人類對事物的反應速度幾乎都超過100ms,已經大於30FPS所帶來的33ms延遲,所以該怪的應該是 你的反應太慢吧。比起偵測延遲,更該擔心的是辨識需要的時間、以及辨識的精準度。由於Kinect是透過辨識圖像再轉化為指令的方式,大量的影像處理、以 及事後的辨識動作,恐怕才是讓Kinect使用者感受到延遲的原因。聽說支援Kinect的遊戲都有針對延遲做最佳化,盡可能讓使用者減少延遲的感受。




▲影像更新頻率並不是Kinect延遲的主因,反倒是晶片處理速度、軟體辨識的影響比較大。(圖片來源:Gamespot)

另外一點備受質疑的,就是在精準度方面的問題,國外調查Kinect的判斷精準度為4mm,的確是輸給了PlayStation Move的1mm。但論精準度,可能每種體感裝置都還比不上實體搖桿。但Kinect帶來的全身體感優勢,所能做的事情鐵定比PlayStation Move和Wii多更多,例如Ubisoft推出的健身遊戲《Your Shape Fitness Evolved》,類似Wii平台上的《Wii Fit》,但是透過骨架追蹤系統來玩瑜珈、武術等遊戲時,對姿勢的要求絕對高於Wii Remote+Wii Fit;舞蹈遊戲《Dance Central》也是相同的道理。




▲雖然Kinect在精準度上遭受到質疑,但全身體感的優勢大幅超越Wii和PlayStation Move。圖為遊戲《Your Shape Fitness Evolved》畫面。(圖片來源:Gamespot)



Kinect對姿勢的要求上,鐵定會比對手們來的嚴格許多,躺在沙發上玩體感遊戲這種事就別想了。圖為遊戲《Dance Central》畫面。(圖片來源:joystiq)

Kinect規格表


感應器

彩色和深度感應鏡頭
陣列式麥克風
輔助感應傾斜驅動馬達
完全相容所有的Xbox 360裝置

視野角度

水平視野:57度
垂直視野:43度
實體傾斜範圍:± 27度
深度感應器範圍:1.2m – 3.5m

資料串流

深度感應器:320×240 16-bit @ 30 frames/sec
彩色攝影機:640×480 32-bit @ 30 frames/sec
聲音規格:16-bit @ 16 kHz

骨架追蹤系統

同時辨識6人,包含2人的動作追蹤
每人能追蹤20個點
能讓Xbox LIVE Avatars虛擬人物與使用者動作同步

聲音系統

支援遊戲語音交談以及XBOX Live派對語音交談,需要金會員
具回音消除功能的聲音輸入
支援多國語言

參考資料:http://www.techbang.com.tw/posts/2936-get-to-know-how-it-works-kinect

體感遊戲

linda 發表在 痞客邦 PIXNET 留言(0) 人氣()