到步驟412所指示的,步驟412、414和416連續(xù)重復(fù)以允許后續(xù)步驟追蹤運動數(shù)據(jù)并且以連續(xù)的方式輸出控制信息。
[0070]在步驟418處,將運動數(shù)據(jù)提供給應(yīng)用,包括在本文所描述的計算系統(tǒng)上可操作的任何應(yīng)用。在420處還可以評估這樣的運動數(shù)據(jù),以確定用戶是否正在執(zhí)行預(yù)限定的手勢。步驟420可以基于UI上下文或其它上下文來執(zhí)行。例如,當在菜單上下文中操作時,手勢的第一集合可以是活躍的,而當在玩游戲上下文中操作時,手勢的不同集合可以是活躍的。在步驟420處執(zhí)行手勢識別和控制。將追蹤模型和所捕獲到的運動傳遞通過用于活躍手勢集合的過濾器以確定是否滿足任何活躍手勢過濾器。在計算環(huán)境內(nèi)應(yīng)用任何所檢測到的手勢以控制計算環(huán)境12提供的用戶接口。步驟420還可以包括確定是否存在任何手勢,并且如果是這樣,則修改響應(yīng)于手勢檢測而執(zhí)行的用戶接口動作。
[0071]在步驟425處,與步驟418和420同時地,做出關(guān)于用戶或其它對象是否與3D熱區(qū)交互的確定。以下討論與熱區(qū)的交互的確定。如果在步驟425處做出用戶已經(jīng)與熱區(qū)交互的確定,則在步驟430處,引發(fā)數(shù)字事件。方法在步驟425處重復(fù),連續(xù)監(jiān)視與所限定的熱區(qū)的交互。
[0072]圖11表示可以響應(yīng)于接收到所引發(fā)的事件430而在諸如計算系統(tǒng)12之類的處理設(shè)備上發(fā)生的過程。在步驟512處,可以通過處理設(shè)備檢測事件。事件可以通過運行在處理設(shè)備上的應(yīng)用檢測,或者指令處理器經(jīng)由API 125響應(yīng)于事件并且尋求事件的任何代碼來檢測。在515處,可以響應(yīng)于熱區(qū)事件而觸發(fā)諸如游戲或渲染事件之類的數(shù)字事件。渲染事件可以發(fā)生諸如游戲或通信應(yīng)用之類的應(yīng)用。例如,在圖9中將怪獸渲染在椅子上。在步驟516處,接收附加的用戶運動數(shù)據(jù)以供應(yīng)用或代碼在生成游戲內(nèi)的動作或代碼中使用。在步驟518處,可以接收由捕獲設(shè)備識別的手勢。在步驟520處,應(yīng)用響應(yīng)于由捕獲設(shè)備識別的手勢和用戶運動。
[0073]圖12圖示了用于檢測熱區(qū)中的改變的方法,其在一個實施例中可以包括用于執(zhí)行圖10中的步驟425的方法。在602處,對于捕獲設(shè)備視圖內(nèi)的每一個區(qū),在606處檢測區(qū)中的改變。區(qū)中的改變可以是與幾個像素或某個百分比的像素相關(guān)聯(lián)的深度數(shù)據(jù)中的改變或來自區(qū)的定界區(qū)域內(nèi)的大部分像素的深度數(shù)據(jù)中的主要改變。在步驟607處,做出關(guān)于改變是否在限定與區(qū)的交互所要求的閾值水平以上的確定。在607處,改變可以限定為3D熱區(qū)內(nèi)的像素的百分比,或者3D熱區(qū)內(nèi)的像素的絕對數(shù)目。如以下描述的,熱區(qū)的限定可以基于可能撞擊區(qū)、占據(jù)區(qū)體積內(nèi)的所限定的像素的某個百分比的真實對象的移動而改變或過濾??蛇x地,在步驟608處,做出關(guān)于是否由所允許的人員、對象或人員的附屬肢體做出閾值中的改變的確定。
[0074]當在以上的步驟406處檢測到人類目標時,在步驟410處生成的人類目標的模型可以與各個用戶以及被標識和追蹤的用戶相關(guān)聯(lián)。在一些實施例中,僅在所標識個體與特定熱區(qū)交互時才引發(fā)事件。該交互可以在熱區(qū)的基礎(chǔ)上發(fā)生和限定在熱區(qū)上。也就是說,各個用戶可以與各個區(qū)或多個區(qū)相關(guān)聯(lián)。熱區(qū)還可以包括限定可以發(fā)生與區(qū)的什么類型的交互的許可。例如,某些區(qū)可能要求人類身體部分交互,其它可能僅允許靜態(tài)對象交互。應(yīng)當理解的是,步驟608是可選的。
[0075]如果在607處確定區(qū)中的改變超過閾值并且在608處確定允許人員或?qū)ο蟾淖冮撝担瑒t在610處引發(fā)數(shù)字事件。
[0076]圖13和14圖示了用于限定3D熱區(qū)的兩個不同的方法。在圖13中,可以由用戶在空間中限定3D熱區(qū)。在712處,呈現(xiàn)配置接口。配置接口可以呈現(xiàn)在具有用戶接口的計算設(shè)備上。在步驟714處,確定本地環(huán)境中的相機定位。在一方面中,本地坐標系統(tǒng)基于相機定位以及相對于本地坐標系統(tǒng)限定的3D熱區(qū)。在步驟716處,從配置接口接收針對要限定的每一個3D熱區(qū)的X、Y和Z坐標。在步驟718處,相對于本地坐標系統(tǒng)存儲一個或多個3D熱區(qū)。
[0077]在該上下文中,本地坐標系統(tǒng)可以限定為與相機定位相關(guān)或不相關(guān)。如果與坐標系統(tǒng)不相關(guān),本地坐標系統(tǒng)可以與本地環(huán)境和環(huán)境內(nèi)的基準點相關(guān)聯(lián)。熱區(qū)可以與環(huán)境的場景地圖相關(guān)聯(lián),并且如果相機的定位在環(huán)境內(nèi)移動,從基準點確定坐標??商鎿Q地,可以通過相機定位限定本地坐標系統(tǒng)。在圖16中圖示了固定到相機定位的熱區(qū)限定的示例。在又一替換方案中,每一個熱區(qū)可以與特定真實對象相關(guān)聯(lián)使得如果重定位對象,捕獲設(shè)備的重新校準將確定對象的重定位并且改變熱區(qū)的限定以匹配相對于對象的新定位。
[0078]在步驟720處,可以執(zhí)行自動化對準/熱區(qū)修改過程。如果例如,固體對象開始撞擊之前在不受阻礙的空間中限定的熱區(qū),或者捕獲設(shè)備相對于原始位置移動,則對準/修改過程可以補償這些改變。
[0079]圖14是圖示了以自動化方式執(zhí)行的熱區(qū)限定過程的方法。在步驟812處,深度數(shù)據(jù)由處理設(shè)備訪問。在814處,在本地空間中確定相機定位。步驟814等同于圖13中的相同步驟。步驟816,可以創(chuàng)建場景地圖。場景地圖可以包括捕獲設(shè)備定位在其中的本地深度圖像。通過使用在步驟816處創(chuàng)建的場景地圖,可以標識適合于用戶交互的一個或多個真實世界對象,并且在818處確定熱區(qū)相對于對象的位置。在818處的針對真實世界對象的熱區(qū)的創(chuàng)建可以取決于將在該上下文中利用熱區(qū)的應(yīng)用??商鎿Q地,熱區(qū)可以針對環(huán)境對的數(shù)個可標識對象中的全部而創(chuàng)建。在步驟820處,可以在820處使用自動化熱區(qū)對準/修改過程。步驟818和820等同于以上討論的步驟718和720。
[0080]圖15圖示了自動化對準熱區(qū)修改過程。在步驟922處,分析針對特定熱區(qū)的深度數(shù)據(jù)。分析將包括相對于熱區(qū)占據(jù)的體積的比較,以及熱區(qū)中的哪些像素應(yīng)當具有特定深度值的記錄。并且924,做出關(guān)于是否一些像素通過具有不同于包含在熱區(qū)限定中的深度數(shù)據(jù)而“接通”的確定。像素是否“接通”的確定是相對于在至少閾值量的時間或幀內(nèi)針對該像素的深度數(shù)據(jù)中的改變。如果在閾值量的時間內(nèi)熱區(qū)的定界區(qū)域限定內(nèi)的像素保持活躍或“接通”,則這可以指示需要解決的物理環(huán)境中的改變。如果在步驟924處確定像素在閾值量時間內(nèi)接通,則在步驟926處,將從限定過濾“接通”像素。在926處從限定中過濾“接通”像素不改變限定,但是在確定是否已經(jīng)與熱區(qū)交互中不考慮“接通”像素。可替換地,或者除了過濾像素之外,可以更改熱區(qū)的X、Y、Z定界限定。如以下關(guān)于圖16指出的,可以通過X-Y平面中的像素范圍和Z方向上的深度范圍來創(chuàng)建熱區(qū)的定界。替換熱區(qū)限定可以包括更改X-Y平面中的(多個)像素范圍和/或距捕獲設(shè)備(或用于坐標系統(tǒng)的其它參考/基準點)的Z距離。過濾或改變定界限定包括修改熱區(qū)。在步驟928處,做出關(guān)于是否要求相機對準的確定。數(shù)個檢查可以用于確定相機是否相對于其原始定位而改變。如果是這樣,可以在930處執(zhí)行相機對準算法??梢岳冒ɡ缡褂玫罱c(ICP)或另一類似但更加魯棒的追蹤算法的數(shù)個不同的相機對準算法。
[0081]在另外的實施例中,諸如KinectFus1n之類的系統(tǒng)通過從多個視角隨時間對來自捕獲設(shè)備的深度數(shù)據(jù)整合來提供環(huán)境的單個密集表面模型。當移動傳感器時追蹤相機姿勢(其位置和取向)。對象或環(huán)境的這些多個視角可以一起融合(平均)到單個重構(gòu)體元體積中。該體積可以用于限定環(huán)境和這些所映射的環(huán)境內(nèi)的熱區(qū)。
[0082]在一個實施例中,以XML格式限定熱區(qū)以供計算設(shè)備使用解譯。在圖16中示出熱點限定的示例。圖16中圖示的XML限定示出所限定的三個示例性熱區(qū)。該上下文中的熱區(qū)由限定數(shù)個像素的X和Y坐標以及限定距相機的距離的Z數(shù)據(jù)限定。X和Y坐標限定針對捕獲設(shè)備的視場內(nèi)的X和Y軸中的每一個的開始和結(jié)束像素距離。還示出激活熱區(qū)所要求的熱區(qū)內(nèi)的像素的絕對數(shù)目以及由數(shù)個幀限定的時間長度,其為必須接合的像素的絕對數(shù)目。
[0083]圖17圖示了第一和第二捕獲設(shè)備20a和20b,每一個具有相應(yīng)的視場10a和100b。如其中所圖示的,一系列熱區(qū)812、814和822、824可以與每一個視場相關(guān)聯(lián)。每一個捕獲設(shè)備20a和20b可以連接到提供在處理設(shè)備上的中央配置工具以允許特定熱點與特定捕獲設(shè)備的關(guān)聯(lián)。以此方式使用,兩個或更多設(shè)備可以專用于熱區(qū)追蹤而第三設(shè)備可以專用于追蹤用戶交互。
[0084]技術(shù)的實施例包括一種渲染數(shù)字事件的計算機實現(xiàn)的方法。方法包括在真實世界環(huán)境中限定一個或多個三維熱區(qū),每一個熱區(qū)包括空間的體積;
監(jiān)視真實世界環(huán)境以接收深度數(shù)據(jù),深度數(shù)據(jù)包括真實世界環(huán)境中的一個或多個三維熱區(qū);通過分析深度數(shù)據(jù)來檢測第二真實世界對象與一個或多個熱區(qū)中的至少一個之間的交互,在熱區(qū)中的閾值數(shù)目的活躍像素基于第二真實世界對象的存在而具有深度距離中的改變時交互發(fā)生;以及響應(yīng)于檢測,響應(yīng)于第二真實世界對象與一個或多個熱區(qū)之間的交互而向處理設(shè)備上的至少一個應(yīng)用輸出信號。
[0085]實施例包括任何前述實施例的計算機實現(xiàn)的方法,其中深度數(shù)據(jù)可以通過參考真實世界環(huán)境的三維坐標系統(tǒng)來參考,三維坐標相對于深度捕獲設(shè)備的定位而限定,每一個熱區(qū)由坐標系統(tǒng)中的坐標限定。
[0086]實施例包括任何前述實施例的計算機實現(xiàn)的方法,其中深度數(shù)據(jù)可以通過參考真實世界環(huán)境的三維坐標系統(tǒng)來參考,三維坐標相對于捕獲設(shè)備的視場中的基準對象的定位而限定,每一個熱區(qū)由坐標系統(tǒng)中的坐標限定。
[0087]實施例包括任何前述實施例的計算機實現(xiàn)的方法,還包括確定發(fā)生定界區(qū)域內(nèi)的連續(xù)活躍像素中的改變,并且修改熱區(qū)。
[0088]實施例包括任何前述實施例的計算機實現(xiàn)的方法,其中所述修改包括從熱區(qū)過濾連續(xù)活躍的像素。
[0089]實施例包括任何前述實施例的計算機實現(xiàn)的方法,其中所述修改包括改變限定熱區(qū)的維度坐標中的一個或多個以從而移動熱區(qū)。
[0090]實施例包括任何前述實施例的計算機實現(xiàn)的方法,其中檢測包括當熱區(qū)中的閾值數(shù)目的活躍像素在至