專利名稱:使用波陣面編碼來創(chuàng)建深度圖像的制作方法
使用波陣面編碼來創(chuàng)建深度圖像背景運(yùn)動(dòng)捕捉系統(tǒng)獲取關(guān)于物理空間中的人或其他對(duì)象的位置及運(yùn)動(dòng)的數(shù)據(jù),并且可以使用該數(shù)據(jù)作為計(jì)算系統(tǒng)中的應(yīng)用程序的輸入。可以有許多應(yīng)用,例如用于軍事、娛樂、 體育和醫(yī)學(xué)目的。例如,可以將人的運(yùn)動(dòng)映射到三維(3-D)人骨架模型,并用于創(chuàng)建動(dòng)畫化的人物或化身。運(yùn)動(dòng)捕捉系統(tǒng)可包括光學(xué)系統(tǒng),包括那些使用可見光和不可見光的(例如紅外光)系統(tǒng),它們使用照像機(jī)來檢測(cè)視野中人或其他物體的存在。然而,現(xiàn)有系統(tǒng)在最小物體大小和視野方面是受限制的。
發(fā)明內(nèi)容
提供了用于檢測(cè)運(yùn)動(dòng)捕捉系統(tǒng)中的3-D深度照相機(jī)中的運(yùn)動(dòng)的處理器實(shí)現(xiàn)的方法、運(yùn)動(dòng)捕捉系統(tǒng)和有形計(jì)算機(jī)可讀存儲(chǔ)。這樣的深度照像機(jī)用于例如檢測(cè)用戶在視野中的移動(dòng),并將該移動(dòng)轉(zhuǎn)換為對(duì)運(yùn)動(dòng)捕捉系統(tǒng)中的應(yīng)用程序的控制輸入。例如,用戶可以作出手勢(shì)來導(dǎo)航菜單、在瀏覽或購物體驗(yàn)中交互、選擇要玩的游戲、或訪問通信特征,如向朋友發(fā)送消息。或者,用戶可以使用手、腿或整個(gè)身體來控制化身在3-D虛擬世界中的移動(dòng)。在一個(gè)實(shí)施方式中,3-D深度照相機(jī)系統(tǒng)包括照明器和成像傳感器。照明器創(chuàng)建至少一個(gè)準(zhǔn)直光束,而衍射光學(xué)元件接收該光束,并創(chuàng)建照亮包括人目標(biāo)的視野的衍射光束。 圖像傳感器使用來自視野的光來提供人目標(biāo)的檢測(cè)到的圖像,而且還包括相位元件,該相位元件調(diào)整圖像,以便照亮目標(biāo)的每一衍射光束的點(diǎn)擴(kuò)散函數(shù)將作為雙螺旋來成像。提供了至少一個(gè)處理器,該處理器基于檢測(cè)到的圖像的每一個(gè)衍射順序的雙螺旋的旋轉(zhuǎn)來確定人目標(biāo)的深度信息,并響應(yīng)于該深度信息,區(qū)別人目標(biāo)在視野內(nèi)的運(yùn)動(dòng)。在另一個(gè)實(shí)施方式中,用于對(duì)視野中的物體進(jìn)行成像的3-D深度照相機(jī)系統(tǒng)包括提供該物體的參考圖像的第一傳感器,以及使用相位掩模來提供物體的已編碼圖像的第二傳感器,其中,該相位掩模根據(jù)雙螺旋點(diǎn)擴(kuò)散函數(shù)來對(duì)來自物體的光進(jìn)行編碼。該系統(tǒng)還包括至少一個(gè)處理器,其至少基于參考圖像的強(qiáng)度分布(iref)和已編碼圖像的強(qiáng)度分布(idh) 來確定物體的深度信息。例如,至少一個(gè)處理器可以根據(jù)下式來確定深度信息=FlFGdh) xHref/F (iref)},其中,F(xiàn)表示傅里葉變換,F(xiàn)—1表示傅里葉逆變換,而(Href)表示參考圖像的點(diǎn)擴(kuò)散函數(shù)的光學(xué)傳遞函數(shù)。提供本發(fā)明內(nèi)容以便以簡化形式介紹將在以下的具體實(shí)施方式
中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并不旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于限定所要求保護(hù)的主題的范圍。
在附圖中,相同編號(hào)的元件彼此對(duì)應(yīng)。圖1描繪了運(yùn)動(dòng)捕捉系統(tǒng)的示例實(shí)施例。圖2描繪了圖1的運(yùn)動(dòng)捕捉系統(tǒng)的示例框圖。圖3描繪了可以在圖1的運(yùn)動(dòng)捕捉系統(tǒng)中使用的計(jì)算環(huán)境的一個(gè)示例框圖。
圖4描繪了可以在圖1的運(yùn)動(dòng)捕捉系統(tǒng)中使用的計(jì)算環(huán)境的另一個(gè)示例框圖。圖5描繪了用于跟蹤運(yùn)動(dòng)捕捉系統(tǒng)中的人目標(biāo)的方法。圖6描繪了如在圖5的步驟500中闡述的用于跟蹤人目標(biāo)的移動(dòng)的示例方法。圖7描繪了如在圖6的步驟600中闡述的用于接收深度信息的示例方法。圖8描繪了一個(gè)示例情形其中,如在圖6的步驟600中闡述的那樣,使用照明器和圖像傳感器來提供深度信息。圖9描繪了圖8的照明器802的更詳細(xì)的視圖。圖10描繪了圖8的圖像傳感器806的更詳細(xì)的視圖。圖11描繪了由圖10的圖像傳感器檢測(cè)到的光的旋轉(zhuǎn)角對(duì)比散焦參數(shù)。圖12描繪了由圖10的圖像傳感器檢測(cè)到的光的旋轉(zhuǎn)角對(duì)比深度。圖13描繪了在不同深度的雙螺旋點(diǎn)擴(kuò)散函數(shù)和標(biāo)準(zhǔn)點(diǎn)擴(kuò)散函數(shù)的光照?qǐng)D。圖14描繪了在深度ζ = 0時(shí)根據(jù)圖13的雙螺旋點(diǎn)擴(kuò)散函數(shù)提供的光束的振幅。圖15描繪了在深度ζ = z0/2時(shí)根據(jù)圖13的雙螺旋點(diǎn)擴(kuò)散函數(shù)提供的光束的振幅。圖16描繪了對(duì)于不同的光的波長,根據(jù)圖13的雙螺旋點(diǎn)擴(kuò)散函數(shù)的方位角對(duì)比
散焦位置。圖17描繪了對(duì)應(yīng)于圖16的光點(diǎn)之間的距離對(duì)比散焦位置。圖18描繪了在焦點(diǎn)處根據(jù)圖13的雙螺旋點(diǎn)擴(kuò)散函數(shù)提供的光束。圖19描繪了在散焦處根據(jù)圖13的雙螺旋點(diǎn)擴(kuò)散函數(shù)提供的光束。圖20A描繪了根據(jù)圖13的雙螺旋點(diǎn)擴(kuò)散函數(shù)提供的光束的出射光瞳振幅。圖20B描繪了與圖20A的振幅相關(guān)聯(lián)的出射光瞳相位。圖21描繪了根據(jù)圖13的雙螺旋點(diǎn)擴(kuò)散函數(shù)提供的光束的方位角對(duì)比物距。圖22A、22B、22C、22D、22E和22F描繪了根據(jù)圖21的分別在物距1、1· 5、2、3、4和 5m處的非相干點(diǎn)擴(kuò)散函數(shù)。圖23描繪了用于使用雙重圖像傳感器來跟蹤運(yùn)動(dòng)捕捉系統(tǒng)中的人目標(biāo)的方法。圖M描繪了另一個(gè)示例情形其中,如在圖6的步驟600中闡述的那樣,使用雙重圖像傳感器來提供深度信息。圖25描繪了沒有相位掩模的圖M的第一圖像傳感器M02。圖26A描繪了圖M的示例情形中的參考圖像。圖26B、26C和^D分別描繪了圖M的示例情形中的分別在物距1、2或細(xì)時(shí)的衍
射圖像。圖27描繪了如在圖6的步驟608中闡述的用戶的示例模型。
具體實(shí)施例方式當(dāng)前,有兩種創(chuàng)建深度圖像的主要方法。使用結(jié)構(gòu)化光的一種方法利用圖案來照亮,然后測(cè)量該圖案的幾何失真并根據(jù)該失真來確定深度。使用飛行時(shí)間法 (time-of-flight)的第二種方法發(fā)送已調(diào)制信號(hào),然后測(cè)量該已調(diào)制信號(hào)的相位變化。這兩種方法都需要照明系統(tǒng),并且在最小物體大小和視野方面具有限制。在此提出測(cè)量從其中希望深度圖像的場(chǎng)景返回的波陣面的屬性。這是通過以已知方式通過相位元件來對(duì)波陣面進(jìn)行編碼,然后通過知道圖像強(qiáng)度和相位信息來對(duì)深度信息進(jìn)行去卷積來完成的。如此, 使用相位元件來對(duì)波陣面信息進(jìn)行編碼以測(cè)量深度圖像??梢栽趫D像傳感器中提供相位元件。圖1描繪了運(yùn)動(dòng)捕捉系統(tǒng)10的示例實(shí)施例,其中,人8如在用戶的家中與應(yīng)用程序進(jìn)行交互。運(yùn)動(dòng)捕捉系統(tǒng)10包括顯示器196、深度照相機(jī)系統(tǒng)20、以及計(jì)算環(huán)境或裝置 12。深度照相機(jī)系統(tǒng)20可包括圖像照像機(jī)組件22,其具有諸如紅外線(IR)發(fā)射器之類的照明器對(duì)、諸如紅外照像機(jī)之類的一個(gè)或多個(gè)圖像傳感器26、以及紅-綠-藍(lán)(RGB)照像機(jī)觀。人8,也被稱為用戶或玩家,站在深度照像機(jī)的視野6內(nèi)。線2和4表示視野6的邊界。在此示例中,深度照相機(jī)系統(tǒng)20以及計(jì)算環(huán)境12提供應(yīng)用程序,其中,顯示器196上的化身197追蹤人8的移動(dòng)。例如,當(dāng)人抬起手臂時(shí),化身也可以抬起手臂?;?97站在 3-D虛擬世界的公路198上??梢远x笛卡兒世界坐標(biāo)系,其包括沿著深度照相機(jī)系統(tǒng)20 的焦距延伸(例如,水平地)的ζ軸、垂直地延伸的y軸、以及橫向地并且水平地延伸的χ 軸。注意,隨著顯示器196在y軸方向垂直地延伸,且ζ軸從深度照相機(jī)系統(tǒng)垂直于y軸和 χ軸并平行于用戶8所站立的地面地伸出,附圖的透視被修改為簡化。一般而言,運(yùn)動(dòng)捕捉系統(tǒng)10被用來識(shí)別、分析,和/或跟蹤一個(gè)或多個(gè)人目標(biāo)。計(jì)算環(huán)境12可包括計(jì)算機(jī)、游戲系統(tǒng)或控制臺(tái)等等,以及執(zhí)行應(yīng)用程序的硬件組件和/或軟件組件。深度照相機(jī)系統(tǒng)20可包括被用來在視覺上監(jiān)視一個(gè)或多個(gè)諸如人8之類的人的照像機(jī),以便可以捕捉、分析、以及跟蹤由人執(zhí)行的姿勢(shì)和/或移動(dòng),以在應(yīng)用程序內(nèi)執(zhí)行一個(gè)或多個(gè)控制或動(dòng)作,如動(dòng)畫化化身或屏幕上人物或選擇用戶界面(UI)中的一個(gè)菜單項(xiàng)。運(yùn)動(dòng)捕捉系統(tǒng)10可以連接到諸如顯示器196之類的視聽設(shè)備,例如,電視機(jī)、監(jiān)視器、高清晰度電視機(jī)(HDTV)等等,或者甚至向用戶提供視覺和音頻輸出的墻或其他表面上的投影。還可以經(jīng)由單獨(dú)的設(shè)備來提供音頻輸出。為驅(qū)動(dòng)顯示器,計(jì)算環(huán)境12可包括提供與應(yīng)用程序相關(guān)聯(lián)的視聽信號(hào)的諸如圖形卡之類的視頻適配器和/或諸如聲卡之類的音頻適配器。顯示器196可以通過例如S-視頻電纜、同軸電纜、HDMI電纜、DVI電纜、VGA電纜等等連接到計(jì)算環(huán)境12??梢允褂蒙疃日障鄼C(jī)系統(tǒng)20來跟蹤人8,以使得用戶的姿勢(shì)和/或移動(dòng)被捕捉并用于動(dòng)畫化化身或屏幕上人物,和/或被解釋為對(duì)正在由計(jì)算機(jī)環(huán)境12執(zhí)行的應(yīng)用程序的輸入控制。人8的一些移動(dòng)可被解釋為可對(duì)應(yīng)于除了控制化身之外的動(dòng)作的控制。例如,在一個(gè)實(shí)施方式中,玩家可以使用運(yùn)動(dòng)來結(jié)束、暫?;虮4嬗螒?,選擇級(jí)別,查看高分,與朋友進(jìn)行交流等等。玩家可以使用移動(dòng)來從主要用戶界面中選擇游戲或其他應(yīng)用程序,或以別的方式導(dǎo)航選項(xiàng)菜單。如此,可以有人8的全套運(yùn)動(dòng)可用,可使用它們,并以任何合適的方式分析它們,以與應(yīng)用程序進(jìn)行交互。運(yùn)動(dòng)捕捉系統(tǒng)10還可以用于將目標(biāo)移動(dòng)解釋成處于游戲或意味著娛樂和休閑的其他應(yīng)用程序的領(lǐng)域之外的操作系統(tǒng)和/或應(yīng)用程序控制。例如,操作系統(tǒng)和/或應(yīng)用程序的實(shí)質(zhì)上任何可控方面都可以由人8的移動(dòng)來控制。圖2描繪了圖1的運(yùn)動(dòng)捕捉系統(tǒng)的示例框圖。深度照相機(jī)系統(tǒng)20可以被配置為
6通過任何合適的技術(shù)捕捉帶有深度信息(包括可以包括深度值的深度圖像)的視頻,這些技術(shù)包括例如飛行時(shí)間、結(jié)構(gòu)化光、立體圖像等等。深度照相機(jī)系統(tǒng)20可以將深度信息組織為“Z層”,或可垂直于沿著其視線從深度照像機(jī)延伸的Z軸的層。深度照相機(jī)系統(tǒng)20可包括圖像照像機(jī)組件22,該圖像照像機(jī)組件22捕捉物理空間中的場(chǎng)景的深度圖像。深度圖像可包括所捕捉的場(chǎng)景的二維O-D)像素區(qū)域,其中2-D像素區(qū)域中的每一像素都可具有表示與圖像照像機(jī)組件22的直線距離的相關(guān)聯(lián)的深度值, 從而提供3-D深度圖像。圖像照相機(jī)組件22可包括諸如紅外線(IR)發(fā)射器M之類的照明器對(duì)、諸如紅外照像機(jī)之類的一個(gè)或多個(gè)圖像傳感器26、以及紅-綠-藍(lán)(RGB)照像機(jī)觀,它們可以用于捕捉場(chǎng)景的深度圖像。通過紅外發(fā)射器M和紅外照像機(jī)沈的組合來形成3-D深度照像機(jī)。例如,在飛行時(shí)間分析中,照明器對(duì)可以將紅外光發(fā)射到物理空間上,并且圖像傳感器沈檢測(cè)從物理空間中的一個(gè)或多個(gè)目標(biāo)和物體的表面反向散射的光。在某些實(shí)施方式中, 可以使用脈沖式紅外光,從而可以測(cè)量出射光脈沖和相應(yīng)的入射光脈沖之間的時(shí)間差并將其用于確定從深度照相機(jī)系統(tǒng)20到物理空間中的目標(biāo)或物體上的特定位置的物理距離。 可將入射光波的相位與出射光波的相位進(jìn)行比較來確定相移。然后可以使用該相移來確定從深度照相機(jī)系統(tǒng)到目標(biāo)或物體上的特定位置的物理距離。也可使用飛行時(shí)間分析,通過經(jīng)由包括例如快門式光脈沖成像的各種技術(shù)來分析反射光束隨時(shí)間的強(qiáng)度變化以間接地確定從深度照相機(jī)系統(tǒng)20到目標(biāo)或物體上的特定位置的物理距離。在另一示例實(shí)施方式中,深度照相機(jī)系統(tǒng)20可使用結(jié)構(gòu)化光來捕捉深度信息。在這樣的分析中,圖案化光(即,被顯示成諸如網(wǎng)格圖案或條紋圖案等已知圖案的光)可以通過例如照明器M被投影到場(chǎng)景上。在撞擊到場(chǎng)景中的一個(gè)或多個(gè)目標(biāo)或物體的表面時(shí),作為響應(yīng),圖案可變形。圖案的這種變形可由例如圖像傳感器沈和/或RGB照相機(jī)觀來捕捉,然后可被分析以確定從深度照相機(jī)系統(tǒng)到目標(biāo)或物體上的特定位置的物理距離。深度照相機(jī)系統(tǒng)20可包括可以從不同的角度觀察場(chǎng)景的兩個(gè)或更多在物理上分離的照像機(jī),以獲取可以被解析以生成深度信息的視覺立體數(shù)據(jù)。深度照相機(jī)系統(tǒng)20還可以包括話筒30,其包括例如接收聲波并將其轉(zhuǎn)換成電信號(hào)的換能器或傳感器。另外,話筒30可用于接收也可由人提供的諸如聲音之類的音頻信號(hào),以控制可由計(jì)算環(huán)境12運(yùn)行的應(yīng)用程序。音頻信號(hào)可包括人的口聲,如說的話、口哨聲、喊聲及其他發(fā)聲,以及非口聲,如掌聲或跺腳。深度照相機(jī)系統(tǒng)20可包括與3-D深度照像機(jī)22進(jìn)行通信的處理器32。處理器 32可包括可執(zhí)行指令的標(biāo)準(zhǔn)化處理器、專用處理器、微處理器等,這些指令可包括例如用于接收深度圖像的指令;用于基于深度圖像來生成體元網(wǎng)格的指令;用于移除體元網(wǎng)格中所包括的背景以隔離與人目標(biāo)相關(guān)聯(lián)的一個(gè)或多個(gè)體元的指令;用于確定被隔離的人目標(biāo)的一個(gè)或多個(gè)肢端的位置或定位的指令;用于基于一個(gè)或多個(gè)肢端的位置或定位來調(diào)整模型的指令;或任何其他合適的指令,下面將對(duì)它們進(jìn)行更詳細(xì)的描述。深度照相機(jī)系統(tǒng)20還可以包括存儲(chǔ)器組件34,該存儲(chǔ)器組件34可以存儲(chǔ)可以由處理器32執(zhí)行的指令,以及存儲(chǔ)由3-D照像機(jī)或RGB照像機(jī)捕捉到的圖像或圖像的幀,或任何其他合適的信息、圖像等等。根據(jù)一個(gè)示例實(shí)施方式,存儲(chǔ)器組件34可包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、高速緩存、閃存、硬盤或任何其他合適的有形計(jì)算機(jī)可讀存儲(chǔ)組件。存儲(chǔ)器組件34可以是經(jīng)由總線21與圖像捕捉組件22和處理器32通信的單獨(dú)的組件。根據(jù)另一實(shí)施方式,存儲(chǔ)器組件34可以集成到處理器32和/或圖像捕捉組件22 中。深度照相機(jī)系統(tǒng)20可以通過通信鏈路36與計(jì)算環(huán)境12進(jìn)行通信。通信鏈路36 可以是有線和/或無線連接。根據(jù)一個(gè)實(shí)施方式,計(jì)算環(huán)境12可以經(jīng)由通信鏈路36向深度照相機(jī)系統(tǒng)20提供時(shí)鐘信號(hào),該時(shí)鐘信號(hào)指出何時(shí)從位于深度照相機(jī)系統(tǒng)20的視野中的物理空間捕捉圖像數(shù)據(jù)。另外,深度照相機(jī)系統(tǒng)20可以通過通信鏈路36向計(jì)算環(huán)境12提供深度信息和由例如圖像傳感器沈和/或RGB照相機(jī)觀捕捉到的圖像,和/或可以由深度照相機(jī)系統(tǒng)20 所生成的骨架模型。然后,計(jì)算環(huán)境12可以使用模型、深度信息、以及捕捉到的圖像來控制應(yīng)用程序。例如,如圖2所示,計(jì)算環(huán)境12可包括諸如姿勢(shì)過濾器的集合之類的姿勢(shì)庫190, 每一個(gè)過濾器都具有關(guān)于可以由骨架模型(隨著用戶移動(dòng))執(zhí)行的姿勢(shì)的信息。例如,可以為各種手勢(shì)(如手的猛擊或投擲)提供姿勢(shì)過濾器。通過將檢測(cè)到的運(yùn)動(dòng)與每一個(gè)過濾器進(jìn)行比較,可以標(biāo)識(shí)由人執(zhí)行的指定的姿勢(shì)或移動(dòng)。還可以確定執(zhí)行移動(dòng)的程度。可以將由深度照相機(jī)系統(tǒng)20以骨架模型的形式捕捉的數(shù)據(jù)以及與它相關(guān)聯(lián)的移動(dòng)與姿勢(shì)庫190中的姿勢(shì)過濾器進(jìn)行比較,以標(biāo)識(shí)(如由骨架模型所表示的)用戶何時(shí)執(zhí)行了一個(gè)或多個(gè)特定移動(dòng)。那些移動(dòng)可以與應(yīng)用程序的各種控制相關(guān)聯(lián)。計(jì)算環(huán)境也可以包括處理器192,其用于執(zhí)行存儲(chǔ)在存儲(chǔ)器194中的指令,以向顯示設(shè)備196提供音頻-視頻輸出信號(hào),并實(shí)現(xiàn)如此處所描述的其他功能。圖3描繪了可以在圖1的運(yùn)動(dòng)捕捉系統(tǒng)中使用的計(jì)算環(huán)境的示例框圖??梢允褂糜?jì)算環(huán)境來解釋一個(gè)或多個(gè)姿勢(shì)或其他移動(dòng),并作為響應(yīng),更新顯示器上的視覺空間。上文所描述的諸如計(jì)算環(huán)境12等的計(jì)算環(huán)境可包括諸如游戲控制臺(tái)等的多媒體控制臺(tái)100。多媒體控制臺(tái)100具有中央處理單元(CPU) 101,其具有一級(jí)高速緩存102、二級(jí)高速緩存104、 以及閃速R0M(只讀存儲(chǔ)器)106。一級(jí)高速緩存102和二級(jí)高速緩存104臨時(shí)存儲(chǔ)數(shù)據(jù)并因此減少存儲(chǔ)器訪問周期數(shù),由此改進(jìn)處理速度和吞吐量。CPU 101可以設(shè)置成具有一個(gè)以上的核,以及由此具有附加的一級(jí)和二級(jí)高速緩存102和104。諸如閃存ROM之類的存儲(chǔ)器 106可存儲(chǔ)當(dāng)多媒體控制臺(tái)100通電時(shí)在引導(dǎo)過程的初始階段期間加載的可執(zhí)行代碼。圖形處理單元(GPU) 108和視頻編碼器/視頻編解碼器(編碼器/解碼器)114形成用于高速、高分辨率圖形處理的視頻處理流水線。數(shù)據(jù)經(jīng)由總線從圖形處理單元108傳輸?shù)揭曨l編碼器/視頻編解碼器114。視頻處理流水線向A/V(音頻/視頻)端口 140輸出數(shù)據(jù),以便傳輸?shù)诫娨暀C(jī)或其他顯示器。存儲(chǔ)器控制器110連接到GPU 108,以便于處理器對(duì)各種類型的存儲(chǔ)器112,比如RAM(隨機(jī)存取存儲(chǔ)器)的訪問。多媒體控制臺(tái)100包括優(yōu)選地在模塊118上實(shí)現(xiàn)的I/O控制器120、系統(tǒng)管理控制器122、音頻處理單元123、網(wǎng)絡(luò)接口 124、第一 USB主控制器126、第二 USB控制器128以及前面板I/O子部件130。USB控制器126和128用作外圍控制器142 (1)-142 (2)、無線適配器148、和外置存儲(chǔ)器設(shè)備146(例如閃存、外置CD/DVD ROM驅(qū)動(dòng)器、可移動(dòng)介質(zhì)等)的主機(jī)。網(wǎng)絡(luò)接口(NW IF) IM和/或無線適配器148提供對(duì)網(wǎng)絡(luò)(例如,因特網(wǎng)、家庭網(wǎng)絡(luò)等)的訪問并且可以是包括以太網(wǎng)卡、調(diào)制解調(diào)器、藍(lán)牙模塊、電纜調(diào)制解調(diào)器等的各種不
8同的有線或無線適配器組件中任何一種。提供系統(tǒng)存儲(chǔ)器143來存儲(chǔ)在引導(dǎo)進(jìn)程期間加載的應(yīng)用程序數(shù)據(jù)。提供了介質(zhì)驅(qū)動(dòng)器144,其可以包括DVD/CD驅(qū)動(dòng)器、硬盤驅(qū)動(dòng)器、或其他可移動(dòng)介質(zhì)驅(qū)動(dòng)器。介質(zhì)驅(qū)動(dòng)器 144可以是多媒體控制臺(tái)100內(nèi)部或外部的。應(yīng)用程序數(shù)據(jù)可經(jīng)由媒體驅(qū)動(dòng)器144訪問,以由多媒體控制臺(tái)100執(zhí)行、回放等。介質(zhì)驅(qū)動(dòng)器144經(jīng)由諸如串行ATA總線或其他高速連接等總線連接到I/O控制器120。系統(tǒng)管理控制器122提供涉及確保多媒體控制臺(tái)100的可用性的各種服務(wù)功能。 音頻處理單元123和音頻編解碼器132形成具有高保真度和立體聲處理的對(duì)應(yīng)的音頻處理流水線。音頻數(shù)據(jù)經(jīng)由通信鏈路在音頻處理單元123與音頻編解碼器132之間傳輸。音頻處理流水線將數(shù)據(jù)輸出到A/V端口 140以供外置音頻播放器或具有音頻能力的設(shè)備再現(xiàn)。前板I/O子部件130支持展示在多媒體控制臺(tái)100的外表面上的電源按鈕150和彈出按鈕152以及任何LED(發(fā)光二極管)或其他指示器的功能。系統(tǒng)供電模塊136向多媒體控制臺(tái)100的組件供電。風(fēng)扇138冷卻多媒體控制臺(tái)100內(nèi)的電路。CPU 101、GPU 108、存儲(chǔ)器控制器110、和多媒體控制臺(tái)100內(nèi)的各個(gè)其他組件經(jīng)由一條或多條總線互連,包括串行和并行總線、存儲(chǔ)器總線、外圍總線、和使用各種總線架構(gòu)中任一種的處理器或局部總線。當(dāng)多媒體控制臺(tái)100通電時(shí),應(yīng)用程序數(shù)據(jù)可從系統(tǒng)存儲(chǔ)器143加載到存儲(chǔ)器112 和/或高速緩存102、104中并在CPU 101上執(zhí)行。應(yīng)用程序可呈現(xiàn)在導(dǎo)航到多媒體控制臺(tái) 100上可用的不同媒體類型時(shí)提供一致的用戶體驗(yàn)的圖形用戶界面。在操作中,媒體驅(qū)動(dòng)器144中包含的應(yīng)用程序和/或其他媒體可從媒體驅(qū)動(dòng)器144啟動(dòng)或播放,以向多媒體控制臺(tái)100提供附加功能。多媒體控制臺(tái)100可通過將該系統(tǒng)簡單地連接到電視機(jī)或其他顯示器而作為獨(dú)立系統(tǒng)來操作。在該獨(dú)立模式中,多媒體控制臺(tái)100允許一個(gè)或多個(gè)用戶與該系統(tǒng)交互、看電影、或聽音樂。然而,隨著通過網(wǎng)絡(luò)接口 1 或無線適配器148可用的寬帶連接的集成, 多媒體控制臺(tái)100還可作為較大網(wǎng)絡(luò)社區(qū)中的參與者來操作。當(dāng)多媒體控制臺(tái)100通電時(shí),可以保留指定量的硬件資源以供多媒體控制臺(tái)操作系統(tǒng)作系統(tǒng)使用。這些資源可包括預(yù)留存儲(chǔ)器(例如,16MB)、CPU和GPU周期(例如,5% )、 網(wǎng)絡(luò)帶寬(例如,SlAs)等等。由于這些資源是在系統(tǒng)引導(dǎo)時(shí)預(yù)留的,因此,從應(yīng)用程序的觀點(diǎn)來看,預(yù)留的資源不存在。具體而言,存儲(chǔ)器保留優(yōu)選地大得足以包含啟動(dòng)內(nèi)核、并發(fā)系統(tǒng)應(yīng)用程序和驅(qū)動(dòng)程序。CPU保留優(yōu)選地為恒定的,使得如果所保留的CPU使用量不被系統(tǒng)應(yīng)用程序使用,則空閑線程將消耗任何未使用的周期。對(duì)于GPU保留,通過使用GPU中斷來顯示由系統(tǒng)應(yīng)用程序生成的輕量消息(例如, 彈出窗口),以調(diào)度代碼來將彈出窗口呈現(xiàn)為覆蓋圖。覆蓋圖所需的存儲(chǔ)器量取決于覆蓋區(qū)域大小,并且覆蓋圖優(yōu)選地與屏幕分辨率成比例地縮放。在完整的用戶界面被并發(fā)系統(tǒng)應(yīng)用程序使用的情況下,優(yōu)選地使用獨(dú)立于應(yīng)用分辨率的分辨率。定標(biāo)器可用于設(shè)置該分辨率,從而無需改變頻率,也就不會(huì)引起TV重新同步。在多媒體控制臺(tái)100引導(dǎo)且系統(tǒng)資源被保留之后,就執(zhí)行并發(fā)系統(tǒng)應(yīng)用程序來提供系統(tǒng)功能。系統(tǒng)功能被封裝在一組在上述所保留的系統(tǒng)資源中執(zhí)行的系統(tǒng)應(yīng)用程序中。操作系統(tǒng)內(nèi)核標(biāo)識(shí)是系統(tǒng)應(yīng)用程序線程而非游戲應(yīng)用程序線程的線程。系統(tǒng)應(yīng)用程序優(yōu)選地被調(diào)度為在預(yù)定時(shí)間并以預(yù)定時(shí)間間隔在CPUlOl上運(yùn)行,以便為應(yīng)用程序提供一致的系統(tǒng)資源視圖。進(jìn)行調(diào)度是為了把由在控制臺(tái)上運(yùn)行的游戲應(yīng)用程序所引起的高速緩存分
裂最小化。當(dāng)并發(fā)系統(tǒng)應(yīng)用程序需要音頻時(shí),則由于時(shí)間敏感性而異步調(diào)度音頻處理給游戲應(yīng)用程序。多媒體控制臺(tái)應(yīng)用程序管理器(如下所述)在系統(tǒng)應(yīng)用程序活動(dòng)時(shí)控制游戲應(yīng)用的音頻水平(例如,靜音、衰減)。輸入設(shè)備(例如,控制器142(1)和142( )由游戲應(yīng)用程序和系統(tǒng)應(yīng)用程序共享。輸入設(shè)備不是所保留的資源,但卻在系統(tǒng)應(yīng)用程序和游戲應(yīng)用程序之間切換以使其各自具有設(shè)備的焦點(diǎn)。應(yīng)用程序管理器優(yōu)選地控制輸入流的切換,無需知道游戲應(yīng)用程序的知識(shí),且驅(qū)動(dòng)程序維護(hù)關(guān)于焦點(diǎn)切換的狀態(tài)信息??刂婆_(tái)100可以從圖2的包括照像機(jī)沈和觀的深度照相機(jī)系統(tǒng)20接收附加的輸入。圖4描繪了可以在圖1的運(yùn)動(dòng)捕捉系統(tǒng)中使用的計(jì)算環(huán)境的另一個(gè)示例框圖。在運(yùn)動(dòng)捕捉系統(tǒng)中,可以使用計(jì)算環(huán)境來解釋一個(gè)或多個(gè)姿勢(shì)或其他移動(dòng),并作為響應(yīng),更新顯示器上的視覺空間。(不要分段)計(jì)算環(huán)境220包括通常包括各種有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的計(jì)算機(jī)Ml。這可以是能由計(jì)算機(jī)241訪問的任何可用介質(zhì),而且包含易失性和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。系統(tǒng)存儲(chǔ)器222包括易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì),如只讀存儲(chǔ)器(ROM) 223和隨機(jī)存取存儲(chǔ)器(RAM06O。基本輸入/輸出系統(tǒng)224 ¢10 包括如在啟動(dòng)時(shí)幫助在計(jì)算機(jī)Ml內(nèi)的元件之間傳輸信息的基本例程,它通常儲(chǔ)存在ROM 223 中。RAM 260通常包含處理單元259可以立即訪問和/或目前正在操作的數(shù)據(jù)和/或程序模塊。圖形接口 231與GPU 229進(jìn)行通信。作為示例而非限制,圖4描繪了操作系統(tǒng)225、 應(yīng)用程序226、其他程序模塊227,以及程序數(shù)據(jù)228。計(jì)算機(jī)241也可以包括其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì),例如,讀寫不可移動(dòng)、非易失性磁性介質(zhì)的硬盤驅(qū)動(dòng)器238,讀寫可移動(dòng)、非易失性磁盤 254的磁盤驅(qū)動(dòng)器239,以及讀寫諸如CD ROM或其他光學(xué)介質(zhì)之類的可移動(dòng)、非易失性光盤 253的光盤驅(qū)動(dòng)器M0??梢栽谑纠圆僮鳝h(huán)境中使用的其他可移動(dòng)/不可移動(dòng)、易失性/ 非易失性有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動(dòng)器238通常由不可移動(dòng)存儲(chǔ)器接口,諸如接口 234 連接至系統(tǒng)總線221,磁盤驅(qū)動(dòng)器239和光盤驅(qū)動(dòng)器240通常由可移動(dòng)存儲(chǔ)器接口,諸如接口 235連接至系統(tǒng)總線221。上文所討論的并且在圖4中所描繪的驅(qū)動(dòng)器以及其相關(guān)聯(lián)的計(jì)算機(jī)存儲(chǔ)介質(zhì)為計(jì)算機(jī)241提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊及其他數(shù)據(jù)的存儲(chǔ)。例如,硬盤驅(qū)動(dòng)器238被描繪為存儲(chǔ)了操作系統(tǒng)258、應(yīng)用程序257、其他程序模塊256、以及程序數(shù)據(jù) 255。注意,這些組件可以與操作系統(tǒng)225、應(yīng)用程序226、其他程序模塊227和程序數(shù)據(jù)2 相同,也可以與它們不同。在此給操作系統(tǒng)258、應(yīng)用程序257、其他程序模塊256、以及程序數(shù)據(jù)255提供了不同的編號(hào),以說明至少它們是不同的副本。用戶可以通過諸如鍵盤251 和指示設(shè)備252(通常被稱為鼠標(biāo)、軌跡球或觸摸板)之類的輸入設(shè)備向計(jì)算機(jī)241中輸入命令和信息。其他輸入設(shè)備(未示出)可以包括話筒、操縱桿、游戲手柄、圓盤式衛(wèi)星天線、
10掃描儀等等。這些和其他輸入設(shè)備通常通過耦合至系統(tǒng)總線的用戶輸入接口 236連接至處理單元259,但也可以由其他接口和總線結(jié)構(gòu),諸如并行端口、游戲端口或通用串行總線 (USB)來連接。圖2的深度照相機(jī)系統(tǒng)20,包括照像機(jī)沈和觀,可以為控制臺(tái)100定義附加的輸入設(shè)備。監(jiān)視器242或其他類型的顯示器也通過接口,諸如視頻接口 232,連接至系統(tǒng)總線221。除監(jiān)視器之外,計(jì)算機(jī)還可以包括可以通過輸出外圍接口 233連接的諸如揚(yáng)聲器244和打印機(jī)243之類的其他外圍輸出設(shè)備。計(jì)算機(jī)241可以使用到諸如遠(yuǎn)程計(jì)算機(jī)246之類的一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)的邏輯連接在聯(lián)網(wǎng)環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)246可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其他常見的網(wǎng)絡(luò)節(jié)點(diǎn),通常包括上文相對(duì)于計(jì)算機(jī)241所描述的許多或全部元件, 但是圖4中只描繪了存儲(chǔ)器設(shè)備對(duì)7。邏輯連接包括局域網(wǎng)(LAN) 245和廣域網(wǎng)(WAN049, 但是,也可以包括其他網(wǎng)絡(luò)。這樣的聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)241通過網(wǎng)絡(luò)接口或適配器237連接至LAN 2450當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)241通常包括調(diào)制解調(diào)器250或用于通過諸如因特網(wǎng)等WAN 249建立通信的其他裝置。調(diào)制解調(diào)器250可以是內(nèi)置或外置的,它可以經(jīng)由用戶輸入接口 236或其他適當(dāng)?shù)臋C(jī)制連接至系統(tǒng)總線221。在聯(lián)網(wǎng)環(huán)境中,相對(duì)于計(jì)算機(jī) 241所描述的程序模塊或其部分可被存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。作為示例而非限制,圖 4描繪了駐留在存儲(chǔ)器設(shè)備247上的遠(yuǎn)程應(yīng)用程序M8??梢岳斫?,所示的網(wǎng)絡(luò)連接是示例性的,且可以使用在計(jì)算機(jī)之間建立通信鏈路的其他手段。計(jì)算環(huán)境可包括其上包含有計(jì)算機(jī)可讀軟件的有形計(jì)算機(jī)可讀存儲(chǔ),計(jì)算機(jī)可讀軟件用于對(duì)至少一個(gè)處理器進(jìn)行編程以執(zhí)行用于生成用于如此處所描述的人體跟蹤的代理培訓(xùn)數(shù)據(jù)的方法。有形計(jì)算機(jī)可讀存儲(chǔ)可包括,例如,組件222、234、235、230、253和2M 中的一個(gè)或多個(gè)。此外,計(jì)算環(huán)境的一個(gè)或多個(gè)處理器可以提供用于生成用于人體跟蹤的代理培訓(xùn)數(shù)據(jù)的處理器實(shí)現(xiàn)的方法,包括如此處所描述的處理器實(shí)現(xiàn)的步驟。處理器可包括,例如,組件2 和259中的一個(gè)或多個(gè)。圖5描繪了用于跟蹤運(yùn)動(dòng)捕捉系統(tǒng)中的人目標(biāo)的方法。步驟500包括跟蹤深度照相機(jī)系統(tǒng)的視野中的人目標(biāo)或用戶。人目標(biāo)是指,例如,深度照相機(jī)系統(tǒng)的視野中的一個(gè)或多個(gè)人。有關(guān)進(jìn)一步的細(xì)節(jié),參見例如圖6。步驟502包括基于跟蹤向應(yīng)用程序提供控制輸入。例如,表示諸如用戶的姿勢(shì)或姿態(tài)之類的運(yùn)動(dòng)的控制輸入。步驟504包括在應(yīng)用程序中處理控制輸入。例如,這可包括更新顯示器上的化身的位置,其中如在圖1中所描繪的該化身表示用戶,選擇用戶界面(UI)中的一個(gè)菜單項(xiàng),或者許多其他可能的動(dòng)作。圖6描繪了如在圖5的步驟500中闡述的用于跟蹤人目標(biāo)的示例方法。示例方法可以使用例如深度照相機(jī)系統(tǒng)20和/或計(jì)算環(huán)境12、100或420來實(shí)現(xiàn),如參考圖2_4所討論的??梢話呙枰粋€(gè)或多個(gè)人目標(biāo),以生成諸如骨架模型、網(wǎng)格人模型之類的模型,或人的任何其他合適的表示。在骨架模型中,每一個(gè)身體部位都可以被表征為定義骨架模型的關(guān)節(jié)和骨頭的數(shù)學(xué)矢量。身體部位在關(guān)節(jié)處可以相對(duì)于彼此移動(dòng)。然后,可以使用該模型來與由計(jì)算環(huán)境執(zhí)行的應(yīng)用程序進(jìn)行交互。掃描以生成模型可以在應(yīng)用程序被啟動(dòng)或運(yùn)行時(shí)發(fā)生,或在如被掃描的人通過應(yīng)用程序控制的其他時(shí)候發(fā)生。
11
人可以被掃描以生成骨架模型,該骨架模型可以被跟蹤,以便用戶的物理移動(dòng)或運(yùn)動(dòng)可以充當(dāng)調(diào)整和/或控制應(yīng)用程序的參數(shù)的實(shí)時(shí)用戶界面。例如,可以使用人的被跟蹤的運(yùn)動(dòng)來在電子角色扮演游戲中移動(dòng)化身或其他屏幕上人物;在電子賽車游戲中控制屏幕上車輛;在虛擬環(huán)境中控制對(duì)象的構(gòu)建或組織;或?qū)?yīng)用程序執(zhí)行任何其他合適的控制。根據(jù)一個(gè)實(shí)施方式,在步驟600中,例如,從深度照相機(jī)系統(tǒng)接收深度信息。深度照相機(jī)系統(tǒng)可以捕捉或觀察可包括一個(gè)或多個(gè)目標(biāo)的視野。在一個(gè)示例性實(shí)施方式中,深度照相機(jī)系統(tǒng)可以使用諸如飛行時(shí)間分析、結(jié)構(gòu)化光分析、立體視覺分析等等之類的任何合適的技術(shù),獲取與捕捉區(qū)域中的一個(gè)或多個(gè)目標(biāo)相關(guān)聯(lián)的深度信息,如所討論的。深度信息可包括具有多個(gè)觀察到的像素的深度圖像或圖,其中,每一個(gè)觀察到的像素都具有觀察到的深度值,如所討論的。下面進(jìn)一步提供步驟600的進(jìn)一步的細(xì)節(jié)??梢詫⑸疃葓D像降采樣到較低的處理分辨率,以便可以更加輕松地利用較少的計(jì)算開銷來使用和處理它。另外,可以從深度圖像移除和/或平滑掉一個(gè)或多個(gè)高變度和/ 或有噪聲的深度值;可以填充和/或重構(gòu)遺漏的和/或被移除的深度信息的某些部分;和/ 或可以對(duì)接收到的深度信息執(zhí)行任何其他合適的處理,以便可以使用深度信息來生成諸如骨架模型之類的模型(參見圖27)。步驟602判斷深度圖像是否包括人目標(biāo)。這可包括對(duì)深度圖像中的每一個(gè)目標(biāo)或物體進(jìn)行泛色填充,將每一個(gè)目標(biāo)或物體與圖案進(jìn)行比較以判斷深度圖像是否包括人目標(biāo)。例如,可以將深度圖像的選定區(qū)域或點(diǎn)中的像素的各種深度值進(jìn)行比較,以確定可以定義目標(biāo)或物體的邊緣,如上文所描述的。可以基于確定的邊緣,對(duì)Z層的可能的Z值進(jìn)行泛色填充。例如,與確定的邊緣相關(guān)聯(lián)的像素和該邊緣內(nèi)的區(qū)域的像素可以彼此相關(guān)聯(lián),以定義可以與圖案相比較的捕捉區(qū)域中的目標(biāo)或物體,下面將更詳細(xì)地描述。如果深度圖像包括人目標(biāo),則在判斷步驟604,執(zhí)行步驟606。如果判斷步驟604 為假,則在步驟600中接收附加的深度信息。每一個(gè)目標(biāo)或物體與其比較的圖案可包括一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu),這些數(shù)據(jù)結(jié)構(gòu)具有共同地定義人的典型身體的變量集合??梢詫⑴c例如視野內(nèi)的人目標(biāo)和非人目標(biāo)的像素相關(guān)聯(lián)的信息與變量進(jìn)行比較,以標(biāo)識(shí)人目標(biāo)。在一個(gè)實(shí)施方式中,可以基于身體部位,對(duì)該集合中的每一個(gè)變量賦予權(quán)重。例如,圖案中的諸如頭和/或肩之類的各種身體部位可以具有與其相關(guān)聯(lián)的權(quán)重值,這些權(quán)重值可以大于諸如腿之類的其他身體部位的權(quán)重值。 根據(jù)一個(gè)實(shí)施方式,當(dāng)將目標(biāo)與變量進(jìn)行比較以判斷目標(biāo)是否可能是人以及哪些目標(biāo)可能是人時(shí),可以使用權(quán)重值。例如,變量和具有較大的權(quán)重值的目標(biāo)之間的匹配所產(chǎn)生的目標(biāo)是人的似然性比與帶有較小的權(quán)重值的目標(biāo)匹配所產(chǎn)生的目標(biāo)是人的似然性更大。步驟606包括掃描人目標(biāo)以尋找身體部位??梢話呙枞四繕?biāo),以提供與人的一個(gè)或多個(gè)身體部位相關(guān)聯(lián)的諸如長度、寬度等等之類的測(cè)量值,以提供該人的準(zhǔn)確模型。在一示例實(shí)施方式中,人目標(biāo)可以是被隔離的,并且可以創(chuàng)建人目標(biāo)的位掩模來掃描一個(gè)或多個(gè)身體部位??梢酝ㄟ^例如對(duì)人目標(biāo)進(jìn)行泛色填充來創(chuàng)建位掩模,以便人目標(biāo)可以與捕捉區(qū)域元素中的其他目標(biāo)或物體分離。然后,可以對(duì)于一個(gè)或多個(gè)身體部位分析位掩模,以生成人目標(biāo)的模型,如骨架模型、網(wǎng)格人模型等等。例如,根據(jù)一個(gè)實(shí)施方式,可以使用由掃描的位掩模確定的測(cè)量值來定義骨架模型中的一個(gè)或多個(gè)關(guān)節(jié)。可以使用一個(gè)或多個(gè)關(guān)節(jié)來定義可以對(duì)應(yīng)于人的身體部位的一個(gè)或多個(gè)骨頭。例如,人目標(biāo)的位掩模的頂部可以與頭的頂部的位置相關(guān)聯(lián)。在確定頭的頂部之后,可以向下掃描位掩模,以便隨后確定頸的位置、肩的位置等等??梢詫⒗缥挥诒粧呙璧奈恢玫奈谎谀5膶挾扰c和例如頸、肩等等相關(guān)聯(lián)的典型寬度的閾值進(jìn)行比較。在一替換實(shí)施方式中,可以使用與掃描的并與位掩模中的身體部位相關(guān)聯(lián)的先前位置的距離來確定頸、肩等等的位置。可以基于例如其他身體部位的位置來計(jì)算諸如腿、腳等等之類的某些身體部位。在確定一個(gè)身體部位的值后,創(chuàng)建包括該身體部位的測(cè)量值的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)可包括來自由深度照相機(jī)系統(tǒng)在不同的時(shí)間點(diǎn)提供的多個(gè)深度圖像的平均掃描結(jié)果。步驟608包括生成人目標(biāo)的模型。在一個(gè)實(shí)施方式中,可以使用由掃描的位掩模確定的測(cè)量值來定義骨架模型中的一個(gè)或多個(gè)關(guān)節(jié)。一個(gè)或多個(gè)關(guān)節(jié)被用來定義對(duì)應(yīng)于人的身體部位的一個(gè)或多個(gè)骨頭。也參見圖27??梢哉{(diào)整一個(gè)或多個(gè)關(guān)節(jié),直到各關(guān)節(jié)在一個(gè)關(guān)節(jié)和人的一個(gè)身體部位之間的典型距離范圍之內(nèi),以生成更加準(zhǔn)確的骨架模型。還可以基于例如與人目標(biāo)相關(guān)聯(lián)的身高來進(jìn)一步調(diào)整模型。在步驟610中,通過每秒鐘多次更新人的位置,來跟蹤模型。隨著用戶進(jìn)入物理空間,使用來自深度照相機(jī)系統(tǒng)的信息來調(diào)整骨架模型,以使該骨架模型表示人。具體而言, 可以向骨架模型的一個(gè)或多個(gè)受力面施加一個(gè)或多個(gè)力,以將骨架模型調(diào)整為更加緊密地對(duì)應(yīng)于物理空間中的人目標(biāo)的姿勢(shì)的姿勢(shì)。一般而言,可以使用用于跟蹤人的移動(dòng)的任何已知技術(shù)。圖7描繪了如在圖6的步驟600中闡述的用于接收深度信息的示例方法。步驟 700-704可以由照明器執(zhí)行,而步驟706-716可以由圖像傳感器執(zhí)行,圖像傳感器可包括或以其他方式與一個(gè)或多個(gè)處理器相關(guān)聯(lián)。在步驟700中,光源向準(zhǔn)直儀提供光束。在步驟 702中,準(zhǔn)直儀接收光束,并提供準(zhǔn)直光束。在步驟704中,向衍射光學(xué)元件提供準(zhǔn)直光束, 該衍射光學(xué)元件在諸如家庭中的房間之類的視野中提供多個(gè)衍射光束。在步驟706中,從視野反射的光穿過圖像傳感器中的相位掩模。反射光可以是可見或不可見光,如近紅外光。在步驟708中,圖像傳感器中的感應(yīng)元件檢測(cè)穿過相位掩模的光的像素強(qiáng)度值。檢測(cè)到的光包括許多對(duì)光點(diǎn),在步驟710中,可以確定光點(diǎn)的旋轉(zhuǎn)角。在步驟712中,對(duì)于每一對(duì)光點(diǎn),基于相關(guān)聯(lián)的旋轉(zhuǎn)角,確定散焦參數(shù)Ψ。在步驟714中,對(duì)于每一對(duì)光點(diǎn),基于相關(guān)聯(lián)的散焦參數(shù)Ψ,確定從照明器到物體的距離。在步驟716中,基于距離,提供深度數(shù)據(jù)。例如,此可以是深度圖的形式,其中,每一個(gè)像素都與一個(gè)深度值相關(guān)聯(lián)。圖8描繪了一個(gè)示例情形其中,如在圖6的步驟600中闡述的那樣,使用照明器和圖像傳感器來提供深度信息。深度照像機(jī)800包括在視野中輸出光的照明器802,以及感應(yīng)從視野反射的光的圖像傳感器806。照明器和圖像傳感器分別具有相應(yīng)的光軸804和 808。照明器朝向諸如人目標(biāo)812之類的物體輸出示例光線或光束810。在此示例中,人目標(biāo)舉起他的或她的右臂。在人目標(biāo)的特定部分814,光束以光線816反射,光線816由圖像傳感器感應(yīng)。光線的連續(xù)光譜將由照明器輸出,被物體反射,并由圖像傳感器感應(yīng)。描繪了沿著光軸與深度照像機(jī)的各種深度或距離,包括表示參考聚焦深度或焦距的深度zO,逐漸地遠(yuǎn)離深度照像機(jī)的距離zl、z2和z3,以及逐漸地靠近深度照像機(jī)的距離-zl、-z2和-z3。
13如下面進(jìn)一步說明的,深度的范圍可以被視為物體812在焦點(diǎn)之外的散焦范圍。參考聚焦深度可能是最佳聚焦深度,但是,這可以在視野內(nèi)變化。圖9描繪了圖8的照明器802的更詳細(xì)的視圖。在一個(gè)可能的實(shí)現(xiàn)中,諸如一個(gè)或多個(gè)LED或激光之類的光源900可以被用來向準(zhǔn)直透鏡904提供光束902,而準(zhǔn)直透鏡 904又向衍射光學(xué)元件908提供準(zhǔn)直光束906。衍射光學(xué)元件908跨定義視野的圖案輸出多個(gè)衍射光束910。一般而言,衍射光學(xué)元件被用作光束復(fù)制器,該光束復(fù)制器生成相同幾何形狀的許多光束,每一個(gè)光束都傳播到視野內(nèi)的不同位置。每一個(gè)光束都通過衍射級(jí)來表示,零級(jí)是直線穿過衍射光學(xué)元件的光束。衍射光學(xué)元件從單一準(zhǔn)直光束提供多個(gè)較小的光束。較小光束在所希望的預(yù)定圖案中定義深度照像機(jī)的視野。例如,在運(yùn)動(dòng)跟蹤系統(tǒng)中,希望以允許跟蹤站在或坐在房間里的人目標(biāo)的方式來照亮房間。為跟蹤整個(gè)人目標(biāo),視野應(yīng)該在足夠?qū)挼慕嵌?,在高度和寬度方面延伸,以便照亮人的整個(gè)高度和寬度以及當(dāng)與運(yùn)動(dòng)跟蹤系統(tǒng)的應(yīng)用程序進(jìn)行交互時(shí)人可以來回移動(dòng)的區(qū)域。可以基于諸如人的預(yù)期高度和寬度之類的因素,包括當(dāng)手臂被抬高到頭上或被抬到側(cè)面時(shí)手臂的跨度,當(dāng)與應(yīng)用程序進(jìn)行交互時(shí)人可以移動(dòng)的區(qū)域的大小,人與照像機(jī)的預(yù)期的距離,以及照像機(jī)的焦距,來設(shè)置適當(dāng)?shù)囊曇啊@?,視野可以足以照亮站立在距離照像機(jī)有3-15英尺或更多的人,其中,帶有手臂跨度的人是7英尺高,6英尺寬,且人預(yù)期在中心位置的+/-6英尺的區(qū)域中移動(dòng),例如, 在144平方英尺的占地面積中移動(dòng)??梢曰谌丝梢砸苿?dòng)或存在的預(yù)期的深度范圍,來設(shè)置散焦范圍。在其他情況下,視野可以被設(shè)計(jì)成只照亮人的上身區(qū)域。當(dāng)已知用戶可能會(huì)坐下而不是站起來并來回移動(dòng)時(shí),縮小的視野是可以接受的。視野可以類似地被設(shè)計(jì)成照亮除人以外的物體。衍射光學(xué)元件908可以從單一準(zhǔn)直光束提供許多較小的光束,如成千上萬的較小的光束。每一個(gè)較小的光束都具有單個(gè)準(zhǔn)直光束的功率的一小部分。較小的衍射光束可以具有名義上相等的強(qiáng)度。透鏡904和衍射光學(xué)元件908具有共同的光軸912。圖10描繪了圖8的圖像傳感器806的更詳細(xì)的視圖。圖像傳感器1050可包括沿著光軸1010排列的相位掩模1002、透鏡1006和傳感元件1012。相位掩模是創(chuàng)建雙螺旋圖案的東西??梢允褂弥T如光刻之類的已知技術(shù)以在玻璃表面上產(chǎn)生不同高度的區(qū)域來產(chǎn)生造成雙螺旋所需的特定相位,來制作相位掩模。傳感元件可包括,例如,具有像素網(wǎng)格的CMOS 圖像傳感器,每一個(gè)像素都感應(yīng)一個(gè)光強(qiáng)度級(jí)別,以便獲取視野內(nèi)的光強(qiáng)度的分布。從視野反射的光1000穿過相位掩模1002,以提供穿過透鏡1006的相位編碼的準(zhǔn)直光束1004。此光進(jìn)而到達(dá)傳感元件1012。圖像傳感器具有從-z3到z3的范圍的散焦。每一個(gè)深度是對(duì)應(yīng)于圖8中的相同名稱的深度的片。相位掩模1002、透鏡1006和傳感元件1012具有共同的光軸914。圖11描繪了由圖9的照明器所提供的光的旋轉(zhuǎn)角比對(duì)散焦參數(shù)。旋轉(zhuǎn)角是由所兩個(gè)光點(diǎn)所定義的角度(參見圖13)。例如,角度可以被定義為兩個(gè)光點(diǎn)之間的直線和諸如水平軸之類的參考軸之間的角度。旋轉(zhuǎn)角可以被定義在任何深度,并在某一深度范圍內(nèi)旋轉(zhuǎn)180度。為了跟蹤運(yùn)動(dòng)捕捉系統(tǒng)中的人目標(biāo),通常,深度范圍可以是例如至少1米(m)。 這與某些應(yīng)用形成對(duì)照,例如用于使用小得多的深度范圍(例如,幾微米)的組織的顯微鏡成像,其中,一微米是10-6m。在此預(yù)定義的深度范圍(這是光學(xué)組件的函數(shù))中,可以唯一地將每一個(gè)旋轉(zhuǎn)映射到在運(yùn)動(dòng)捕捉系統(tǒng)中有意義的深度,例如,如用于跟蹤人目標(biāo)。還可以將給定旋轉(zhuǎn)映射到預(yù)定義深度范圍以外的深度。旋轉(zhuǎn)角可以在幾乎180度的范圍內(nèi)。描繪了 500、550和600nm波長的光的結(jié)果。 如所示出的,對(duì)于不同的波長,有一致的旋轉(zhuǎn)角對(duì)比散焦參數(shù)的關(guān)系。散焦是指沿著光軸遠(yuǎn)離參考焦點(diǎn)的平面或表面的平移距離(例如,圖8中在Z = O處)。帶有低光圈值的光學(xué)系
統(tǒng)將具有淺的焦深,而較大的光圈值將提供較大的焦深??梢酝ㄟ^力= |< ^_‘)”2來
定義散焦參數(shù)Ψ,其中,λ是光的波長,r是孔徑大小,z。w是參考聚焦深,而z。b/是實(shí)際物距或深度。圖12描繪了由圖10的圖像傳感器檢測(cè)到的光的旋轉(zhuǎn)角對(duì)比深度。對(duì)于500、550 和600nm波長的光,獲得一致的結(jié)果。如所示出的,有一致的旋轉(zhuǎn)角對(duì)比深度參數(shù)的關(guān)系。 可以基于深度照像機(jī)的光學(xué)裝置,來設(shè)置深度的范圍。圖13描繪了在不同的深度雙螺旋點(diǎn)擴(kuò)散函數(shù)和標(biāo)準(zhǔn)點(diǎn)擴(kuò)散函數(shù)的光照?qǐng)D。沿著深度軸或ζ軸,分別在深度-Z3、-Z2、-Z1、Z0、Z1、Z2、Z3提供雙螺旋點(diǎn)擴(kuò)散分布1300、1302、 1304、1306、1308、1310 和 1312。為了進(jìn)行比較,分別在深度 _z3、_z2、_zl、z0、zl、z2、z3 提供標(biāo)準(zhǔn)點(diǎn)擴(kuò)散分布1320、1322、1324、13沈、1328、1330和1332。雙螺旋旋轉(zhuǎn)點(diǎn)擴(kuò)散函數(shù) (PSF)比標(biāo)準(zhǔn)PSF提供更多散焦信息,因?yàn)殡p螺旋PSF以散焦旋轉(zhuǎn),并且比標(biāo)準(zhǔn)PSF展開得慢。從而,旋轉(zhuǎn)角信息可以用于以更大的準(zhǔn)確性估計(jì)散焦(深度)。實(shí)現(xiàn)雙螺旋PSF的一種示例方法是通過拉蓋爾-高斯光束的重疊。拉蓋爾-高斯 (LG)光束模式的重疊構(gòu)成自成像光束(帶有旋轉(zhuǎn)和縮放)。使用光束的一個(gè)橫平面中的復(fù)合場(chǎng)來作為目標(biāo)光學(xué)系統(tǒng)的振幅傳遞函數(shù)。那么,光學(xué)系統(tǒng)的PSF是雙螺旋。根據(jù)拉蓋爾-高斯模式
15
l^mCrhCwGCpWUQaUip)^^)
其中
G (ρ, Ζ) = — exp C-p2)exp (^j)exp (一沖(幻)
Φηι(φ) = βχρ( ηιφ)
Zn(ζ) = exp (in Ψ (ζ))) ψ (ζ) = arctan (—)
zO
R(Z) = + (f)2]
r =
其中
權(quán)利要求
1.一種3-D深度照相機(jī)系統(tǒng),包括(a)照明器( ,802),所述照明器包括(i)至少一個(gè)準(zhǔn)直光源(900),所述至少一個(gè)準(zhǔn)直光源提供準(zhǔn)直光束(902); ( )衍射光學(xué)元件(908),所述衍射光學(xué)元件接收所述準(zhǔn)直光束,并創(chuàng)建多個(gè)衍射光束(910),所述衍射光束(910)照亮包括人目標(biāo)(8)的視野(6);(b)圖像傳感器(1050),所述圖像傳感器使用來自所述視野的光來提供所述人目標(biāo)的檢測(cè)到的圖像,所述圖像傳感器包括相位掩模(1002),所述相位掩模(100 調(diào)整所述檢測(cè)到的圖像,以使照亮所述人目標(biāo)的每一衍射光束的點(diǎn)擴(kuò)散函數(shù)作為雙螺旋來成像;以及(c)與所述圖像傳感器相關(guān)聯(lián)的至少一個(gè)處理器(32),所述至少一個(gè)處理器確定所述人目標(biāo)的深度信息,并響應(yīng)于所述深度信息區(qū)別所述人目標(biāo)在所述視野內(nèi)的運(yùn)動(dòng)。
2.如權(quán)利要求1所述的3-D深度照相機(jī)系統(tǒng),其特征在于所述至少一個(gè)處理器基于所述深度信息來確定所述人目標(biāo)的3-D模型。
3.如權(quán)利要求1或2所述的3-D深度照相機(jī)系統(tǒng),其特征在于所述至少一個(gè)處理器基于所述深度信息來跟蹤所述人目標(biāo)隨時(shí)間的移動(dòng),并向應(yīng)用程序提供對(duì)應(yīng)的控制輸入,而所述應(yīng)用程序基于所述控制輸入來更新顯示器。
4.如權(quán)利要求1到3中的任一項(xiàng)所述的3-D深度照相機(jī)系統(tǒng),其特征在于 所述衍射光學(xué)元件創(chuàng)建所述多個(gè)衍射光束,作為多個(gè)衍射級(jí);以及所述至少一個(gè)處理器基于所述檢測(cè)到的圖像的每一衍射級(jí)的所述雙螺旋的旋轉(zhuǎn),來確定所述人目標(biāo)的所述深度信息。
5.如權(quán)利要求4所述的3-D深度照相機(jī)系統(tǒng),其特征在于所述至少一個(gè)處理器基于根據(jù)旋轉(zhuǎn)角彼此偏移的兩個(gè)不同的光點(diǎn)的旋轉(zhuǎn),來確定所述人目標(biāo)的所述深度信息。
6.如權(quán)利要求5所述的3-D深度照相機(jī)系統(tǒng),其特征在于 所述旋轉(zhuǎn)角在至少一米的深度范圍內(nèi)變化180度。
7.如權(quán)利要求1到6中的任一項(xiàng)所述的3-D深度照相機(jī)系統(tǒng),其特征在于所述至少一個(gè)處理器至少基于所述檢測(cè)到的圖像的強(qiáng)度分布,來確定所述深度信息。
8.一種用于對(duì)視野中的物體成像的3-D深度照相機(jī)系統(tǒng),包括 第一傳感器(M02),所述第一傳感器提供所述物體的參考圖像;第二傳感器(對(duì)06),所述第二傳感器使用相位掩模(100 來提供所述物體的已編碼圖像,所述相位掩模根據(jù)雙螺旋點(diǎn)擴(kuò)散函數(shù)來對(duì)來自所述物體的光進(jìn)行編碼;以及至少一個(gè)處理器(32),所述至少一個(gè)處理器至少基于所述參考圖像的強(qiáng)度分布(iref) 和所述已編碼圖像的強(qiáng)度分布(idh)來確定所述物體的深度信息。
9.如權(quán)利要求8所述的3-D深度照相機(jī)系統(tǒng),其特征在于 所述已編碼圖像是相位編碼的。
10.如權(quán)利要求8或9所述的3-D深度照相機(jī)系統(tǒng),其特征在于所述至少一個(gè)處理器基于所述深度信息來跟蹤所述物體的移動(dòng),并向應(yīng)用程序提供對(duì)應(yīng)的控制輸入,而所述應(yīng)用程序基于所述控制輸入來更新顯示器。
11.如權(quán)利要求10所述的3-D深度照相機(jī)系統(tǒng),其特征在于 所述物體是人目標(biāo)。
12.如權(quán)利要求8到11中的任一項(xiàng)所述的3-D深度照相機(jī)系統(tǒng),其特征在于 所述至少一個(gè)處理器響應(yīng)于所述深度信息來區(qū)別所述物體在所述視野內(nèi)的運(yùn)動(dòng)。
13.如權(quán)利要求8到12中的任一項(xiàng)所述的3-D深度照相機(jī)系統(tǒng),其特征在于 所述參考圖像是未編碼的。
14.如權(quán)利要求8到13中的任一項(xiàng)所述的3-D深度照相機(jī)系統(tǒng),其特征在于 所述至少一個(gè)處理器使用所述參考圖像的點(diǎn)擴(kuò)散函數(shù)的光學(xué)傳遞函數(shù)(Href)來確定所述深度信息。
15.如權(quán)利要求14所述的3-D深度照相機(jī)系統(tǒng),其特征在于所述至少一個(gè)處理器根據(jù)戶{F (Idh) xHref/F (iref)},來確定所述深度信息,其中,F(xiàn)表示傅里葉變換,而F—1表示傅里葉逆變換。
全文摘要
諸如在運(yùn)動(dòng)捕捉系統(tǒng)中的3-D深度照相機(jī)系統(tǒng)使用照明器來跟蹤視野中的諸如人之類的目標(biāo),其中,視野是使用多個(gè)衍射光束來照明的。圖像傳感組件根據(jù)雙螺旋點(diǎn)擴(kuò)散函數(shù),使用相位掩模來獲得物體的圖像,并基于雙螺旋點(diǎn)擴(kuò)散函數(shù)的光點(diǎn)的相對(duì)旋轉(zhuǎn)來確定圖像的每一部分的深度。在另一方面,使用雙重圖像傳感器來獲取參考圖像和相位編碼的圖像。圖像中的特征的相對(duì)旋轉(zhuǎn)可以與深度相關(guān)??梢允褂脜⒖紙D像的點(diǎn)擴(kuò)散函數(shù)的光學(xué)傳遞函數(shù)來獲取深度信息。
文檔編號(hào)G06T7/20GK102222347SQ201110172788
公開日2011年10月19日 申請(qǐng)日期2011年6月16日 優(yōu)先權(quán)日2010年6月16日
發(fā)明者S·麥克爾道尼 申請(qǐng)人:微軟公司