Natal中有一個功能強大的感覺陣列,對於新手來說,它擁有一個數字影片攝像頭。能從事捕捉圖片到識別顏色等多項工作。而Natal中的麥克風則可以在短時間內採集多次聲音資料,以便把玩家和同處在一間房間中的其它人分開。
當然這些智慧離不開軟體的支援,而這方面是微軟的強項。特製的軟體已經把Natal訓練得能成功識別人的臉部細節變化。而在識別人體動作的時候,精度可以達到4釐米。
09年微軟收購了以色列公司3DV,讓人們以為Natal的技術是源自3DV的ToF(time of flight)攝像頭。3DV的感光晶片由於要測量光飛行時間,所以需要做到飛秒級的快門。據說他們在晶片中用到砷化鎵,使其時鐘頻率提高到上百G。但這樣做會使其成本升高,很難想象微軟能把這樣的技術做進遊戲機這樣的消費電子品裡面。
2010年1月,微軟的開發人員明確表示:Natal並不是基於ToF的原理。2010年4月,另一家以色列公司(以色列人還真厲害)PrimeSense才確認為微軟提供了其三維測量技術,並應用於Project Natal。
在PrimeSense公司的主頁上提到其使用的是一種光編碼(light coding)技術。不同於傳統的ToF或者結構光測量技術,light coding使用的是連續的照明(而非脈衝),也不需要特製的感光晶片,而只需要普通的CMOS感光晶片,這讓方案的成本大大降低。
Light coding,顧名思義就是用光源照明給需要測量的空間編上碼,說到底還是結構光技術。但與傳統的結構光方法不同的是,他的光源打出去的並不是一副週期性變化的二維的影象編碼,而是一個具有三維縱深的“體編碼”。這種光源叫做鐳射散斑(laser speckle),是當鐳射照射到粗糙物體或穿透毛玻璃後形成的隨機衍射斑點。這就是後來的虛擬試衣鏡 。
這些散斑具有高度的隨機性,而且會隨著距離的不同變換圖案。就是說空間中任意兩處的散斑圖案都是不同的。只要在空間中打上這樣的結構光,整個空間就都被做了標記,把一個物體放進這個空間,只要看看物體上面的散斑圖案,就可以知道這個物體在什麼位置了。當然,在這之前要把整個空間的散斑圖案都記錄下來,所以要先做一次光源的標定。
在PrimeSense的專利上,標定的方法是這樣的:每隔一段距離,取一個參考平面,把參考平面上的散斑圖案記錄下來。假設Natal規定的使用者活動空間是距離電視機1米到4米的範圍,每隔10cm取一個參考平面,那麼標定下來我們就已經儲存了30幅散斑影象。需要進行測量的時候,拍攝一副待測場景的散斑影象,將這幅影象和我們儲存下來的30幅參考影象依次做互相關運算,這樣我們會得到30幅相關度影象,而空間中有物體存在的位置,在相關度影象上就會顯示出峰值。把這些峰值一層層疊在一起,再經過一些插值,就會得到整個場景的三維形狀了。
Natal中有一個功能強大的感覺陣列,對於新手來說,它擁有一個數字影片攝像頭。能從事捕捉圖片到識別顏色等多項工作。而Natal中的麥克風則可以在短時間內採集多次聲音資料,以便把玩家和同處在一間房間中的其它人分開。
當然這些智慧離不開軟體的支援,而這方面是微軟的強項。特製的軟體已經把Natal訓練得能成功識別人的臉部細節變化。而在識別人體動作的時候,精度可以達到4釐米。
09年微軟收購了以色列公司3DV,讓人們以為Natal的技術是源自3DV的ToF(time of flight)攝像頭。3DV的感光晶片由於要測量光飛行時間,所以需要做到飛秒級的快門。據說他們在晶片中用到砷化鎵,使其時鐘頻率提高到上百G。但這樣做會使其成本升高,很難想象微軟能把這樣的技術做進遊戲機這樣的消費電子品裡面。
2010年1月,微軟的開發人員明確表示:Natal並不是基於ToF的原理。2010年4月,另一家以色列公司(以色列人還真厲害)PrimeSense才確認為微軟提供了其三維測量技術,並應用於Project Natal。
在PrimeSense公司的主頁上提到其使用的是一種光編碼(light coding)技術。不同於傳統的ToF或者結構光測量技術,light coding使用的是連續的照明(而非脈衝),也不需要特製的感光晶片,而只需要普通的CMOS感光晶片,這讓方案的成本大大降低。
Light coding,顧名思義就是用光源照明給需要測量的空間編上碼,說到底還是結構光技術。但與傳統的結構光方法不同的是,他的光源打出去的並不是一副週期性變化的二維的影象編碼,而是一個具有三維縱深的“體編碼”。這種光源叫做鐳射散斑(laser speckle),是當鐳射照射到粗糙物體或穿透毛玻璃後形成的隨機衍射斑點。這就是後來的虛擬試衣鏡 。
這些散斑具有高度的隨機性,而且會隨著距離的不同變換圖案。就是說空間中任意兩處的散斑圖案都是不同的。只要在空間中打上這樣的結構光,整個空間就都被做了標記,把一個物體放進這個空間,只要看看物體上面的散斑圖案,就可以知道這個物體在什麼位置了。當然,在這之前要把整個空間的散斑圖案都記錄下來,所以要先做一次光源的標定。
在PrimeSense的專利上,標定的方法是這樣的:每隔一段距離,取一個參考平面,把參考平面上的散斑圖案記錄下來。假設Natal規定的使用者活動空間是距離電視機1米到4米的範圍,每隔10cm取一個參考平面,那麼標定下來我們就已經儲存了30幅散斑影象。需要進行測量的時候,拍攝一副待測場景的散斑影象,將這幅影象和我們儲存下來的30幅參考影象依次做互相關運算,這樣我們會得到30幅相關度影象,而空間中有物體存在的位置,在相關度影象上就會顯示出峰值。把這些峰值一層層疊在一起,再經過一些插值,就會得到整個場景的三維形狀了。