所捕獲的圖像數(shù)據(jù)的格式化。
[0033]如圖2的示例中所示,捕獲設(shè)備20經(jīng)由可以是有線或無線連接的通信鏈路36與計(jì)算環(huán)境12通信耦合。此外,捕獲設(shè)備20還可以包括網(wǎng)絡(luò)接口 35并且可選地通過一個(gè)或多個(gè)通信網(wǎng)絡(luò)50通信耦合至遠(yuǎn)程計(jì)算機(jī)系統(tǒng)112以用于向遠(yuǎn)程計(jì)算機(jī)系統(tǒng)112發(fā)送3D圖像數(shù)據(jù)。在一些實(shí)施例中,計(jì)算機(jī)系統(tǒng)12或遠(yuǎn)程計(jì)算機(jī)系統(tǒng)12可以向捕獲設(shè)備20提供時(shí)鐘,其可以用于確定何時(shí)捕獲例如場(chǎng)景。
[0034]在所圖示的示例中,計(jì)算機(jī)系統(tǒng)12包括各種軟件應(yīng)用、數(shù)據(jù)源和接口。在其它示例中,軟件可以跨多個(gè)計(jì)算機(jī)系統(tǒng)執(zhí)行,其中的一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)可以是遠(yuǎn)程的。此外,應(yīng)用、數(shù)據(jù)和接口還可以由捕獲設(shè)備20或計(jì)算機(jī)系統(tǒng)12與其通信的遠(yuǎn)程計(jì)算機(jī)系統(tǒng)112遠(yuǎn)程執(zhí)行和存儲(chǔ)。此外,諸如關(guān)于圖3A和3B更詳細(xì)地討論的規(guī)則和限定之類的用于由應(yīng)用使用的數(shù)據(jù)可以經(jīng)由遠(yuǎn)程存儲(chǔ)的數(shù)據(jù)136存儲(chǔ)和可訪問。
[0035]計(jì)算機(jī)系統(tǒng)12包括操作系統(tǒng)110、用于與其它計(jì)算機(jī)系統(tǒng)通信的網(wǎng)絡(luò)接口136、用于向比如顯示器設(shè)備16的顯示器14那樣的顯示器傳送數(shù)據(jù)、指令或二者的顯示接口 124以及用于協(xié)調(diào)與3D捕獲設(shè)備20的深度圖像數(shù)據(jù)和指令的交換的相機(jī)接口 134。圖像和音頻處理引擎113包括自然用戶接口軟件122,其可以包括比如手勢(shì)識(shí)別的軟件和聲音識(shí)別軟件以用于標(biāo)識(shí)用戶身體的動(dòng)作或嗓音提示,其是命令或推進(jìn)多媒體應(yīng)用的動(dòng)作。此外,3D對(duì)象識(shí)別引擎114使用諸如邊緣檢測(cè)之類的技術(shù)來檢測(cè)邊界并且將邊界與所存儲(chǔ)的形狀數(shù)據(jù)比較以用于標(biāo)識(shí)對(duì)象的類型。也可以在對(duì)象識(shí)別中使用彩色圖像數(shù)據(jù)??梢詷?biāo)識(shí)的對(duì)象類型是包括比如人類頭部那樣的身體部分的人類身體。場(chǎng)景映射引擎118追蹤3D捕獲設(shè)備的視場(chǎng)中的一個(gè)或多個(gè)對(duì)象的位置。此外,可以關(guān)于與相機(jī)無關(guān)的坐標(biāo)系統(tǒng)隨時(shí)間追蹤對(duì)象位置和移動(dòng)。
[0036]3D熱區(qū)配置引擎116生成3D熱區(qū)限定以供圖2的系統(tǒng)使用。生成熱區(qū)的方式的實(shí)施例在以下圖中討論。3D熱區(qū)檢測(cè)引擎120自動(dòng)檢測(cè)與所限定的熱區(qū)的交互,確定是否通過例如API 125引發(fā)數(shù)字事件,并且當(dāng)發(fā)生對(duì)熱區(qū)的改變時(shí)對(duì)熱區(qū)做出調(diào)節(jié)。數(shù)據(jù)源126可以是本地存儲(chǔ)以供圖像和音頻處理引擎113的應(yīng)用使用的數(shù)據(jù)。
[0037]應(yīng)用編程接口(API)125為多媒體應(yīng)用128提供接口。除了比如包括個(gè)人標(biāo)識(shí)圖像數(shù)據(jù)的個(gè)人標(biāo)識(shí)信息那樣的用戶特定數(shù)據(jù)之外,用戶簡(jiǎn)檔數(shù)據(jù)130還可以存儲(chǔ)數(shù)據(jù)或到用戶簡(jiǎn)檔信息、諸如用戶標(biāo)識(shí)的骨骼模型之類的用戶標(biāo)識(shí)特性的存儲(chǔ)位置的數(shù)據(jù)參考。
[0038]包括骨骼識(shí)別引擎192以從通過捕獲設(shè)備20觀察到的深度數(shù)據(jù)創(chuàng)建骨骼模型。以下描述示例性骨骼模型。
[0039]應(yīng)當(dāng)認(rèn)識(shí)到的是,計(jì)算機(jī)系統(tǒng)12的全部或部分可以在沒有系統(tǒng)與捕獲設(shè)備之間的直接連接36的情況下通過經(jīng)由網(wǎng)絡(luò)50耦合到捕獲設(shè)備的計(jì)算環(huán)境實(shí)現(xiàn)。任何圖像和音頻處理引擎113、應(yīng)用128和用戶簡(jiǎn)檔數(shù)據(jù)130可以存儲(chǔ)和實(shí)現(xiàn)在集群計(jì)算環(huán)境中。
[0040]圖3圖示了可以用于體現(xiàn)和實(shí)現(xiàn)技術(shù)的系統(tǒng)和方法實(shí)施例的計(jì)算機(jī)系統(tǒng)的示例實(shí)施例。例如,圖3是比如計(jì)算機(jī)系統(tǒng)12或遠(yuǎn)程計(jì)算機(jī)系統(tǒng)112以及諸如移動(dòng)設(shè)備之類的其它類型的計(jì)算機(jī)系統(tǒng)那樣的計(jì)算機(jī)系統(tǒng)的實(shí)施例的框圖。以下討論的不同示例性組件的尺度、數(shù)量和復(fù)雜度將隨計(jì)算機(jī)系統(tǒng)的復(fù)雜度而變化。圖3圖示了示例性計(jì)算機(jī)系統(tǒng)900。在其最基本的配置中,計(jì)算系統(tǒng)900典型地包括一個(gè)或多個(gè)處理單元902,其包括一個(gè)或多個(gè)中央處理單元(CPU)和一個(gè)或多個(gè)圖形處理單元(GPU)。計(jì)算機(jī)系統(tǒng)900還包括存儲(chǔ)器904。取決于計(jì)算機(jī)系統(tǒng)的確切配置和類型,存儲(chǔ)器904可以包括易失性存儲(chǔ)器905(諸如RAM)、非易失性存儲(chǔ)器907(諸如R0M、閃存等)或二者的某種組合。該最基本的配置在圖3中通過虛線906圖示。此外,計(jì)算機(jī)系統(tǒng)900還可以具有附加的特征/功能性。例如,計(jì)算機(jī)系統(tǒng)900還可以包括附加存儲(chǔ)裝置(可移除和/或不可移除),包括但不限于磁盤或光盤或磁帶。這樣的附加存儲(chǔ)裝置在圖3中通過可移除存儲(chǔ)裝置908和不可移除存儲(chǔ)裝置910來圖示。
[0041 ]計(jì)算機(jī)系統(tǒng)900還可以包含(多個(gè))通信模塊912,其包括一個(gè)或多個(gè)網(wǎng)絡(luò)接口和允許設(shè)備與其它計(jì)算機(jī)系統(tǒng)通信的收發(fā)器。計(jì)算機(jī)系統(tǒng)900還可以具有(多個(gè))輸入設(shè)備914,諸如鍵盤、鼠標(biāo)、筆、語(yǔ)音輸入設(shè)備、觸摸輸入設(shè)備等。還可以包括(多個(gè))輸出設(shè)備916,諸如顯示器、揚(yáng)聲器、打印機(jī)等。
[0042]圖中圖示的示例計(jì)算機(jī)系統(tǒng)包括計(jì)算機(jī)可讀存儲(chǔ)設(shè)備的示例。計(jì)算機(jī)可讀存儲(chǔ)設(shè)備還是處理器可讀存儲(chǔ)設(shè)備。這樣的設(shè)備可以包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)之類的信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移除和不可移除存儲(chǔ)器設(shè)備。處理器或計(jì)算機(jī)可讀存儲(chǔ)設(shè)備的一些示例是RAM、R0M、EEPR0M、緩存、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲(chǔ)裝置、存儲(chǔ)器棒或卡、磁盒、磁帶、媒體驅(qū)動(dòng)器、硬盤、磁盤存儲(chǔ)裝置或其它磁性存儲(chǔ)設(shè)備或可以用于存儲(chǔ)信息并且可以由處理器訪問的任何其它設(shè)備。
[0043]圖4A圖示了可以在計(jì)算系統(tǒng)112處從捕獲設(shè)備120接收的深度圖像的示例實(shí)施例。根據(jù)示例實(shí)施例,深度圖像可以是通過例如以上關(guān)于圖2描述的捕獲設(shè)備120的3D相機(jī)226和/或RGB相機(jī)228捕獲的場(chǎng)景的圖像和/或幀。如圖4A中所示,深度圖像可以包括對(duì)應(yīng)于例如諸如以上關(guān)于圖1描述的用戶118之類的用戶的人類目標(biāo)和諸如所捕獲的場(chǎng)景中的墻壁、桌子、監(jiān)視器等之類的一個(gè)或多個(gè)非人類目標(biāo)(即真實(shí)世界對(duì)象)。如以上所描述的,深度圖像可以包括多個(gè)所觀察到的像素,其中每一個(gè)所觀察到的像素具有與其相關(guān)聯(lián)的所觀察到的深度值。例如,深度圖像可以包括所捕獲到的場(chǎng)景的二維(2-D)像素區(qū)塊,其中2-D像素區(qū)塊中的特定X值和y值處的每一個(gè)像素可以具有諸如所捕獲到的場(chǎng)景中的目標(biāo)或?qū)ο缶嗖东@設(shè)備的以例如厘米、毫米等為單位的長(zhǎng)度或距離之類的深度值。換言之,深度圖像可以針對(duì)深度圖像中的每一個(gè)像素指定像素位置和像素深度。在分段過程(例如由運(yùn)行時(shí)引擎244執(zhí)行)之后,深度圖像中的每一個(gè)像素還可以具有與其相關(guān)聯(lián)的分段值。像素位置可以由X定位值(即水平值)和y定位值(即豎直值)指示。像素深度可以由z定位值(還稱為深度值)指示,其指示用于獲取深度圖像的捕獲設(shè)備(例如120)與由像素所表示的用戶部分之間的距離。分段值用于指示像素是否對(duì)應(yīng)于特定用戶,或者不對(duì)應(yīng)于用戶。
[0044]在一個(gè)實(shí)施例中,深度圖像可以是彩色的或灰度的,以使得深度圖像的像素的不同顏色或陰影對(duì)應(yīng)于和/或在視覺上描繪目標(biāo)距捕獲設(shè)備120的不同距離。當(dāng)接收到圖像時(shí),可以從深度圖像移除和/或平滑一個(gè)或多個(gè)高方差和/或有噪聲的深度值;可以填入和/或重構(gòu)缺失和/或移除的深度信息的部分;和/或可以在所接收到的深度圖像上執(zhí)行任何其它合適的處理。
[0045]圖4B提供了深度圖像的另一視圖/表不(不對(duì)應(yīng)于與圖4A相同的不例)。圖4B的視圖示出針對(duì)每一個(gè)像素的深度數(shù)據(jù),其作為表示針對(duì)該像素的目標(biāo)到捕獲設(shè)備120的距離的整數(shù)。圖4B的示例深度圖像示出24x24像素;然而,很可能將會(huì)使用更大分辨率的深度圖像。
[0046]圖6示出通過骨骼識(shí)別引擎192生成的示例身體模型70的非限制性視覺表示。身體模型70是模型化目標(biāo)(例如來自圖1的用戶18)的機(jī)器表示。身體模型70可以包括一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu),其包括以游戲或其它應(yīng)用/操作系統(tǒng)的語(yǔ)言共同限定模型化目標(biāo)的變量集合。
[0047]目標(biāo)的模型可以進(jìn)行各種配置,而不脫離于本公開內(nèi)容的范圍。在一些示例中,身體模型可以包括將目標(biāo)表示為包括剛性和/或可變形形狀或身體部分的三維模型的一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu)。每一個(gè)身體部分可以表征為數(shù)學(xué)原函數(shù),其示例包括但不限于球體、各向異性地縮放的球體、柱體、各向異性的柱體、平滑柱體、框、斜面框、棱柱等。在一個(gè)實(shí)施例中,身體部分關(guān)于身體部分的軸對(duì)稱。
[0048]例如,圖5的身體模型70包括身體部分bpl到bpl4,其中的每一個(gè)表示模型化目標(biāo)的不同部分。每一個(gè)身體部分是三維形狀。例如,bp3是表示模型化目標(biāo)的左手的矩形棱柱,并且bp5是表示模型化目標(biāo)的左上臂的八邊形棱柱。身體模型70是示例性的,因?yàn)樯眢w模型70可以包含任何數(shù)目的身體部分,其中的每一個(gè)可以是模型化目標(biāo)的對(duì)應(yīng)部分的任何機(jī)器可理解的表示。在一個(gè)實(shí)施例中,身體部分是柱體。
[0049]包括兩個(gè)或更多身體部分的身體模型70還可以包括一個(gè)或多個(gè)關(guān)節(jié)。每一個(gè)關(guān)節(jié)可以允許一個(gè)或多個(gè)身體部分相對(duì)于一個(gè)或多個(gè)其它身體部分移動(dòng)。例如,表示人類目標(biāo)的模型可以包括多個(gè)剛性和/或可變形身體部分,其中一些身體部分可以表示人類目標(biāo)的對(duì)應(yīng)解剖學(xué)身體部分。另外,模型的每一個(gè)身體部分可以包括一個(gè)或多個(gè)結(jié)構(gòu)構(gòu)件(即“骨頭”或骨骼部分),其具有位于相鄰骨頭的交叉處的關(guān)節(jié)。要理解的是,一些骨頭可以對(duì)應(yīng)于人類目標(biāo)中的解剖學(xué)骨頭和/或一些骨頭可能不具有人類目標(biāo)中的對(duì)應(yīng)解剖學(xué)骨頭。
[0050]骨頭和關(guān)節(jié)可以共同構(gòu)成骨骼模型,其可以是身體模型的組成元素。在一些實(shí)施例中,可以使用骨骼模型而不是另一類型的模型,諸如圖5的模型70。骨骼模型可以包括用于每一個(gè)身體部分的一個(gè)或多個(gè)骨骼構(gòu)件和相鄰骨骼構(gòu)件之間的關(guān)節(jié)。示例骨骼模型80和示例骨骼模型82分別在圖6和7中示出。圖6示出如從正面查看的骨骼模型80,具有關(guān)節(jié)jl到j(luò)33。圖7示出如從傾斜視圖查看的骨骼模型82,同樣具有關(guān)節(jié)jl到j(luò)33。骨骼模型可以包括更多或更少的關(guān)節(jié),而不脫離于本公開內(nèi)容的精神。以下解釋的本系統(tǒng)的進(jìn)一步的實(shí)施例使用具有31個(gè)關(guān)節(jié)的骨骼模型進(jìn)行操作。
[0051]在一個(gè)實(shí)施例中,系統(tǒng)100向骨骼模型添加表示身體部分的幾何形狀以形成身體模型。要指出的是,并非所有關(guān)節(jié)需要在身體模型中表示。例如,對(duì)于手臂,可以存在添加在關(guān)節(jié)j2與jl8之間的柱體以用于上