新四季網

骨架以外的姿勢的製作方法

2023-06-22 10:56:16

專利名稱:骨架以外的姿勢的製作方法
骨架以外的姿勢
背景技術:
諸如計算機遊戲、多媒體應用、辦公應用等許多計算應用使用控制來允許用戶操縱遊戲角色或應用的其他方面。通常使用例如控制器、遙控器、鍵盤、滑鼠等等來輸入這樣的控制。不幸的是,這些控制可能是難以學習的,由此造成了用戶和這些遊戲及應用之間的障礙。此外,這些控制可能與這些控制所用於的實際遊戲動作或其他應用動作不同。例如, 使得遊戲角色揮動棒球球棒的遊戲控制可能不與揮動棒球球棒的實際運動相對應。

發明內容
此處所揭示的是用於接收反映用戶的骨架移動或位置的數據以及附加數據(諸如控制器上的按鈕按壓)並根據該數據確定用戶是否已執行一個或多個姿勢的系統和方法。在一實施例中,計算設備從相機接收一系列圖像。該相機可包括彩色相機(如紅-綠-藍,即RGB)、深度相機、以及三維(3D)相機。該數據可包括分開的深度圖像和彩色圖像、結合了深度和色彩信息的組合的圖像、或其中標識了諸如被骨架映射的人等對象的經解析的圖像。該數據捕捉由至少一個用戶作出的運動或姿態。此外,由計算設備接收「附加數據」,諸如用戶的控制器輸入、用戶穿戴的物品、在用戶控制下的道具、或第二用戶的移動或身體位置。計算設備合併用戶位置數據和附加數據兩者,以確定用戶向系統做出的一個或多個輸入。以上是發明內容,並且因此必然包含細節的簡化、一般化及省略。本領域技術人員將明白,本發明內容只是說明性的並且決不旨在是限制性的。


參考附圖來進一步描述根據本說明書的用於骨骼之外的姿勢的系統、方法和計算機可讀介質,附圖中圖IA和IB示出其中用戶正在玩遊戲的目標識別、分析及跟蹤系統的示例實施例。圖2示出了可在目標識別、分析和跟蹤系統中使用的捕捉設備的示例實施例。圖3A示出了可用於在目標識別、分析和跟蹤系統中解釋一個或多個姿勢的計算環境的示例實施例。圖IBB示出了可用於在目標識別、分析和跟蹤系統中解釋一個或多個姿勢的計算環境的另一示例實施例。圖4A示出了從圖2的目標識別、分析和跟蹤系統生成的用戶的骨架映射。圖4B示出了圖2所示的姿勢識別器架構的進一步細節。圖5A和5B示出了可如何堆疊姿勢過濾器來創建更複雜的姿勢過濾器。圖6A、6B、6C、6D和6E示出了用戶502在美式足球視頻遊戲中可以作出的用以發出「安全接球」(fair catch)的信號的示例姿勢。圖7A、7B、7C、7D和7E示出了在解析圖像數據的每一幀來產生用戶的骨架圖時圖6A、6B、6C、6D和6E的示例「完全接球」姿勢。圖8A示出了正通過由捕捉設備捕捉的身體移動來對系統做出姿勢輸入並且正按下控制器上的按鈕的用戶。圖8B示出了正通過各自由捕捉設備捕捉的相應身體移動來對系統做出組合的姿勢的多個用戶。圖8C示出了正通過由捕捉設備捕捉的身體移動來對系統做出姿勢輸入並且控制由捕捉設備所捕捉的道具的用戶。圖9示出了由於向系統提供用戶移動或基於用戶的骨架映射的姿勢之外的輸入。圖10示出用於骨架以外的姿勢的示例系統架構。
具體實施例方式用戶可通過執行一個或多個姿勢來控制在諸如遊戲控制臺、計算機等計算環境上執行的應用。根據一個實施例,姿勢可由例如捕捉設備來接收。例如,捕捉設備可捕捉場景的深度圖像。在一個實施例中,捕捉設備可以確定場景中的一個或多個目標或對象是否對應於諸如用戶等人類目標。為了確定場景中的目標或對象是否對應於人類目標,可對每個目標進行泛色填充並將其與人體模型的圖案作比較。然後可掃描匹配人體模型的每一目標或對象來生成與其相關聯的骨架模型。該骨架模型然後可被提供給計算環境,使得計算環境可跟蹤該骨架模型,呈現與該骨架模型相關聯的化身,以及可基於例如用戶的已經從該骨架模型中識別出的姿勢來確定要在計算環境上執行的應用中執行那些控制。姿勢識別器引擎(其架構在下文中更完整地描述)被用於確定用戶何時做出了某一姿勢。圖IA和IB示出其中用戶18正在玩拳擊遊戲的目標識別、分析及跟蹤系統的示例實施例。在一示例實施例中,目標識別、分析和跟蹤系統10可用於識別、分析和/或跟蹤諸如用戶18等的人類目標。如圖IA所示,目標識別、分析及跟蹤系統10可包括計算環境12。計算環境12可以是計算機、遊戲系統或控制臺等等。根據一示例實施例,計算環境12可包括硬體組件和 /或軟體組件,使得計算環境12可用於執行諸如遊戲應用、非遊戲應用等應用。如圖IA所示,目標識別、分析及跟蹤系統10還可包括捕捉設備20。捕捉設備20 可以是例如相機,該相機可用於在視覺上監視諸如用戶18等一個或多個用戶,以使得可以捕捉、分析並跟蹤一個或多個用戶所執行的姿勢以執行應用中的一個或多個控制或動作, 如將在下面更詳細地描述的。根據一個實施例,目標識別、分析及跟蹤系統10可連接到可向諸如用戶18等用戶提供遊戲或應用視覺和/或音頻的視聽設備16,如電視機、監視器、高畫質電視機(HDTV)等。 例如,計算環境12可包括諸如圖形卡等視頻適配器和/或諸如音效卡等音頻適配器,這些適配器可提供與遊戲應用、非遊戲應用等相關聯的視聽信號。視聽設備16可從計算環境12接收視聽信號,然後可向用戶18輸出與該視聽信號相關聯的遊戲或應用視覺和/或音頻。根據一個實施例,視聽設備16可經由例如,S-視頻電纜、同軸電纜、HDMI電纜、DVI電纜、VGA 電纜等連接到計算環境12。如圖IA和IB所示,目標識別、分析及跟蹤系統10可用於識別、分析和/或跟蹤諸如用戶18等人類目標。例如,可使用捕捉設備20來跟蹤用戶18,以使得可將用戶18的移
5動解釋為可用於影響由計算機環境12執行的應用的控制。因而,根據一個實施例,用戶18 可移動他或她的身體來控制應用。如圖IA和IB所示,在一示例實施例中,在計算環境12上執行的應用程式可以是用戶18可能正在玩的拳擊遊戲。例如,計算環境12可使用視聽設備16來向用戶18提供拳擊對手22的視覺表示。計算環境12還可使用視聽設備16來提供用戶18可通過他的或她的移動來控制的玩家化身M的視覺表示。例如,如圖IB所示,用戶18可在物理空間中揮拳來使得玩家化身M在遊戲空間中揮拳。因此,根據一示例實施例,目標識別、分析和跟蹤系統10的計算環境12和捕捉設備20可用於識別和分析用戶18在物理空間中的重拳, 從而使得該重拳可被解釋為對遊戲空間中的玩家化身M的遊戲控制。用戶18的其他移動也可被解釋為其他控制或動作,諸如上下快速擺動、閃避、滑步、格擋、直拳或揮動各種不同力度的拳等控制。此外,某些移動可被解釋為可對應於除控制玩家化身M之外的動作的控制。例如,玩家可以使用移動來結束、暫停或保存遊戲、選擇級別、查看高分、與朋友交流等。在各示例實施例中,諸如用戶18等人類目標可持有一物體。在這些實施例中,電子遊戲的用戶可手持物體從而可以使用玩家和物體的運動來調整和/或控制遊戲的參數。 例如,可以跟蹤並利用玩家手持球拍的運動來控制電子運動遊戲中的屏幕上球拍。在另一示例實施例中,可以跟蹤並利用玩家手持物體的運動來控制電子格鬥遊戲中的屏幕上武
ο根據其他示例實施例,目標識別、分析及跟蹤系統10還可用於將目標移動解釋為遊戲領域之外的作業系統和/或應用控制。例如,事實上作業系統和/或應用的任何可控方面可由諸如用戶18等目標的移動來控制。圖2示出可在目標識別、分析及跟蹤系統10中使用的捕捉設備20的示例實施例。 根據一示例實施例,捕捉設備20可被配置成經由任何合適的技術,包括例如飛行時間、結構化光、立體圖像等來捕捉包括深度圖像的帶有深度信息的視頻,該深度信息可包括深度值。根據一個實施例,捕捉設備20可將所計算的深度信息組織為「Z層」,或與從深度相機沿其視線延伸的Z軸垂直的層。如圖2所示,捕捉設備20可包括圖像相機組件22。根據一個示例實施例,圖像相機組件22可以是可捕捉場景的深度圖像的深度相機。深度圖像可包括被捕捉的場景的二維O-D)像素區域,其中2-D像素區域中的每一個像素都可以(例如以釐米、毫米等等為單位)表示來自相機的被捕捉的場景中的物體的長度。如圖2所示,根據一示例實施例,圖像相機組件22可包括可用於捕捉場景的深度圖像的頂光組件對、三維(3-D)相機沈、和RGB相機觀。例如,在飛行時間分析中,捕捉設備20的頂光組件M可以將紅外光發射到場景上,然後,可以使用傳感器(未示出),用例如3-D相機沈和/或RGB相機觀,來檢測從場景中的一個或多個目標和物體的表面反向散射的光。在某些實施例中,可以使用脈衝紅外光,使得可以測量出射光脈衝和相應的入射光脈衝之間的時間差並將其用於確定從捕捉設備20到場景中的目標或物體上的特定位置的物理距離。附加地,在其他示例實施例中,可將出射光波的相位與入射光波的相位進行比較來確定相移。然後可以使用該相移來確定從捕捉設備到目標或物體上的特定位置的物理距
1 O
6
根據另一示例實施例,可使用飛行時間分析,通過經由包括例如快門式光脈衝成像在內的各種技術來分析反射光束隨時間的強度變化以間接地確定從捕捉設備20到目標或物體上的特定位置的物理距離。在另一示例實施例中,捕捉設備20可使用結構化光來捕捉深度信息。在這一分析中,圖案化光(即,被顯示為諸如網格圖案或條紋圖案等已知圖案的光)可經由例如頂光組件M被投影到場景上。在落到場景中的一個或多個目標或物體的表面上時,作為響應, 圖案可變形。圖案的這種變形可由例如3-D相機沈和/或RGB相機觀來捕捉,然後可被分析來確定從捕捉設備到目標或物體上的特定位置的物理距離。根據另一實施例,捕捉設備20可包括兩個或更多個物理上分開的相機,這些相機可從不同角度查看場景來獲得可被解析以生成深度信息的視覺立體數據。捕捉設備20還可包括話筒30。話筒30可包括可接收聲音並將其轉換成電信號的換能器或傳感器。根據一個實施例,話筒30可以被用來減少目標識別、分析及跟蹤系統10 中的捕捉設備20和計算環境12之間的反饋。另外,話筒30可用於接收也可由用戶提供的音頻信號,以控制可由計算環境12執行的諸如遊戲應用、非遊戲應用等應用。在示例實施例中,捕捉設備20還可以包括可與圖像相機組件22進行可操作的通信的處理器32。處理器32可包括可執行指令的標準處理器、專用處理器、微處理器等,這些指令可包括用於接收深度圖像的指令、用於確定合適的目標是否可被包括在深度圖像中的指令、用於將合適的目標轉換成該目標的骨架表示或模型的指令、或任何其他合適的指令。捕捉設備20還可以包括存儲器組件34,該存儲器組件34可以存儲可以由處理器 32執行的指令、由3-D相機或RGB相機捕捉到的圖像或圖像的幀、或任何其他合適的信息、 圖像等等。根據一個示例實施例,存儲器組件34可包括隨機存取存儲器(RAM)、只讀存儲器 (ROM)、高速緩存、快閃記憶體、硬碟或任何其他合適的存儲組件。如圖2所示,在一個實施例中,存儲器組件34可以是與圖像捕捉組件22和處理器32進行通信的單獨的組件。根據另一實施例,存儲器組件34可被集成到處理器32和/或圖像捕捉組件22中。如圖2所示,捕捉設備20可經由通信鏈路36與計算環境12進行通信。通信鏈路36可以是包括例如USB連接、火線連接、乙太網電纜連接等的有線連接和/或諸如無線 802. lib,802. llg、802. Ila或802. Iln連接等的無線連接。根據一個實施例,計算環境12 可以經由通信鏈路36向捕捉設備20提供時鐘,可以使用該時鐘來確定何時捕捉例如場景。另外,捕捉設備20可以通過通信鏈路36向計算環境12提供深度信息和由例如 3-D相機沈和/或RGB相機觀捕捉到的圖像,以及可以由捕捉設備20生成的骨架模型。 計算環境12然後可使用該骨架模型、深度信息和捕捉的圖像來例如識別用戶姿勢以及作為響應來控制諸如遊戲或文字處理程序等應用。例如,如圖2所示,計算環境12可包括姿勢識別器引擎190。姿勢識別器引擎190可包括姿勢過濾器集合,每一姿勢過濾器包括關於骨架模型(在用戶移動時)可執行的姿勢的信息。可將由相機26J8和設備20捕捉的骨架模型形式的數據以及與其相關聯的移動同姿勢識別器引擎190中的姿勢過濾器進行比較來標識用戶(如骨架模型所表示的)何時執行了一個或多個姿勢。那些姿勢可與應用的各種控制相關聯。因此,計算環境12可使用姿勢識別器引擎190來解釋骨架模型的移動並基於該移動來控制應用。圖3A示出了可用於實現圖1A-2的計算環境12的計算環境的示例實施例。在這一實施例中,計算環境12包括諸如遊戲控制臺之類的多媒體控制臺100。如圖3A所示,多媒體控制臺100具有含有一級高速緩存102、二級高速緩存104和快閃記憶體ROM(只讀存儲器)106 的中央處理單元(CPU) 101。1級高速緩存102和2級高速緩存104臨時存儲數據,並因此減少存儲器訪問周期數,由此改進處理速度和吞吐量。CPU 101可以設置成具有一個以上的內核,以及由此的附加的一級和二級高速緩存102和104。快閃記憶體ROM 106可存儲在多媒體控制臺100通電時引導過程的初始階段期間加載的可執行代碼。圖形處理單元(GPU) 108和視頻編碼器/視頻編解碼器(編碼器/解碼器)114形成用於高速和高解析度圖形處理的視頻處理流水線。數據經由總線從圖形處理單元108輸送到視頻編碼器/視頻編解碼器114。視頻處理流水線向A/V(音頻/視頻)埠 140輸出數據,以便傳輸到電視機或其他顯示器。存儲器控制器110連接到GPU 108以方便處理器訪問各種類型的存儲器112,諸如但不局限於RAM(隨機存取存儲器)。多媒體控制臺100包括較佳地在模塊118上實現的I/O控制器120、系統管理控制器122、音頻處理單元123、網絡接口控制器124、第一 USB主控制器126、第二 USB控制器 1 和前面板I/O子部件130。USB控制器126和1 用作外圍控制器142⑴-142 O)、無線適配器148、和外置存儲器設備146 (例如快閃記憶體、外置⑶/DVD ROM驅動器、可移動介質等) 的主機。網絡接口 1 和/或無線適配器148提供對網絡(例如,網際網路、家庭網絡等)的訪問,並且可以是包括乙太網卡、數據機、藍牙模塊、電纜數據機等的各種不同的有線或無線適配器組件中任何一種。提供系統存儲器143來存儲在引導過程期間加載的應用數據。提供介質驅動器 144,該介質驅動器可以包括DVD/CD驅動器、硬碟驅動器,或其他可移動介質驅動器等。介質驅動器144可以內置或外置於多媒體控制臺100。應用數據可經由介質驅動器144訪問, 以由多媒體控制臺100執行、回放等。介質驅動器144經由諸如串行ATA總線或其他高速連接(例如IEEE 1394)等總線連接到I/O控制器120。系統管理控制器122提供涉及確保多媒體控制臺100的可用性的各種服務功能。 音頻處理單元123和音頻編解碼器132形成具有高保真度和立體聲處理的對應的音頻處理流水線。音頻數據經由通信鏈路在音頻處理單元123與音頻編解碼器132之間傳輸。音頻處理流水線將數據輸出到A/V埠 140以供外置音頻播放器或具有音頻能力的設備再現。前面板I/O子部件130支持暴露在多媒體控制臺100的外表面上的電源按鈕150 和彈出按鈕152以及任何LED(發光二極體)或其他指示器的功能。系統供電模塊136向多媒體控制臺100的組件供電。風扇138冷卻多媒體控制臺100內的電路。CPU 101、GPU 108、存儲器控制器110、和多媒體控制臺100內的各種其他組件經由一條或多條總線互連,總線包括串行和並行總線、存儲器總線、外圍總線、和使用各種總線架構中任一種的處理器或局部總線。作為示例,這些架構可以包括外圍部件互連(PCI) 總線、PCI-Express總線等。當多媒體控制臺100通電時,應用數據可從系統存儲器143加載到存儲器112和/ 或高速緩存102、104中並在CPU 101上執行。應用可呈現在導航到多媒體控制臺100上可用的不同媒體類型時提供一致的用戶體驗的圖形用戶界面。在操作中,介質驅動器144中包含的應用和/或其他媒體可從介質驅動器144啟動或播放,以向多媒體控制臺100提供附加功能。
多媒體控制臺100可通過將該系統簡單地連接到電視機或其他顯示器而作為獨立系統來操作。在該獨立模式中,多媒體控制臺100允許一個或多個用戶與該系統交互、看電影、或聽音樂。然而,隨著通過網絡接口 1 或無線適配器148可用的寬帶連接的集成, 多媒體控制臺100還可作為更大網絡社區中的參與者來操作。當多媒體控制臺100通電時,可以保留設定量的硬體資源以供多媒體控制臺作業系統作系統使用。這些資源可包括存儲器的保留量(例如,16MB)、CPU和GPU周期的保留量(例如,5% )、網絡帶寬的保留量(例如,Slcbs),等等。因為這些資源是在系統引導時間保留的,所保留的資源對於應用視角而言是不存在的。具體而言,存儲器保留優選地足夠大,以包含啟動內核、並發系統應用和驅動程序。CPU保留優選地為恆定,使得若所保留的CPU用量不被系統應用使用,則空閒線程將消耗任何未使用的周期。對於GPU保留,通過使用GPU中斷來調度代碼來將彈出窗口呈現為覆蓋圖以顯示由系統應用程式生成的輕量消息(例如,彈出窗口)。覆蓋圖所需的存儲器量取決於覆蓋區域大小,並且覆蓋圖優選地與屏幕解析度成比例縮放。在並發系統應用使用完整用戶界面的情況下,優選使用獨立於應用解析度的解析度。定標器可用於設置該解析度,從而無需改變頻率並引起TV重新同步。在多媒體控制臺100引導且系統資源被保留之後,就執行並發系統應用來提供系統功能。系統功能被封裝在上述所保留的系統資源中執行的一組系統應用中。作業系統內核標識是系統應用線程而非遊戲應用線程的線程。系統應用優選地被調度為在預定時間並以預定時間間隔在CPU 101上運行,以便為應用提供一致的系統資源視圖。進行調度是為了把由在控制臺上運行的遊戲應用所引起的高速緩存分裂最小化。當並發系統應用需要音頻時,則由於時間敏感性而將音頻處理異步地調度給遊戲應用。多媒體控制臺應用管理器(如下所述)在系統應用活動時控制遊戲應用的音頻水平 (例如,靜音、衰減)。輸入設備(例如,控制器142(1)和142( )由遊戲應用和系統應用共享。輸入設備不是保留資源,而是在系統應用和遊戲應用之間切換以使其各自具有設備的焦點。應用管理器較佳地控制輸入流的切換,而無需知曉遊戲應用的知識,並且驅動程序維護有關焦點切換的狀態信息。相機26J8和捕捉設備20可為控制臺100定義額外的輸入設備。圖;3B示出了可用於實現圖1A-2所示的計算環境12的計算環境220的另一示例實施例。計算環境220隻是合適的計算環境的一個示例,並且不旨在對所公開的主題的使用範圍或功能提出任何限制。也不應該把計算環境220解釋為對所示出的任一組件或其組合有任何依賴性或要求。在某些實施例中,所描繪的各種計算元素可包括被配置成實例化本發明的各具體方面的電路。例如,本公開中使用的術語電路可包括被配置成通過固件或開關來執行功能的專用硬體組件。其他示例中,術語電路可包括由實施可用於執行功能的邏輯的軟體指令配置的通用處理單元、存儲器等。在其中電路包括硬體和軟體的組合的示例實施例中,實施者可以編寫體現邏輯的原始碼,且原始碼可以被編譯為可以由通用處理單元處理的機器可讀代碼。因為本領域技術人員可以明白現有技術已經進化到硬體、軟體或硬體/軟體組合之間幾乎沒有差別的地步,因而選擇硬體或是軟體來實現具體功能是留給實現者的設計選擇。更具體地,本領域技術人員可以明白軟體進程可被變換成等價的硬
9件結構,而硬體結構本身可被變換成等價的軟體進程。因此,對於硬體實現還是軟體實現的選擇是設計選擇並留給實現者。在圖;3B中,計算環境220包括計算機Ml,計算機通常包括各種計算機可讀介質。 計算機可讀介質可以是能由計算機241訪問的任何可用介質,而且包含易失性和非易失性介質、可移動和不可移動介質。系統存儲器222包括易失性和/或非易失性存儲器形式的計算機存儲介質,如只讀存儲器(ROM) 223和隨機存取存儲器(RAM06O。基本輸入/輸出系統224(BI0Q包含諸如在啟動期間幫助在計算機Ml內的元件之間傳輸信息的基本例程, 基本輸入/輸出系統224¢10 通常儲存儲在ROM 223中。RAM 260通常包含處理單元259 可立即訪問和/或目前正在操作的數據和/或程序模塊。作為示例而非局限,圖3B示出了作業系統225、應用程式226、其它程序模塊227和程序數據228。計算機241也可以包括其他可移動/不可移動、易失性/非易失性計算機存儲介質。僅作為示例,圖3B示出了對不可移動、非易失性磁介質進行讀寫的硬碟驅動器238,對可移動、非易失性磁碟邪4進行讀寫的磁碟驅動器239,以及對諸如CD ROM或其它光學介質等可移動、非易失性光碟253進行讀寫的光碟驅動器M0。可在示例性操作環境中使用的其他可移動/不可移動、易失性/非易失性計算機存儲介質包括但不限於,磁帶盒、快閃記憶體卡、數字多功能盤、數字錄像帶、固態RAM、固態ROM等。硬碟驅動器238通常由例如接口 234等不可移動存儲器接口連接至系統總線221,而磁碟驅動器239和光碟驅動器240通常由例如接口 235等可移動存儲器接口連接至系統總線221。以上討論並在圖;3B中示出的驅動器及其相關聯的計算機存儲介質為計算機241 提供了對計算機可讀指令、數據結構、程序模塊和其他數據的存儲。在圖3B中,例如,硬碟驅動器238被示為存儲作業系統258、應用程式257、其他程序模塊256和程序數據255。注意,這些組件可以與作業系統225、應用程式226、其他程序模塊227和程序數據2 相同, 也可以與它們不同。在此作業系統258、應用程式257、其他程序模塊256以及程序數據255 被給予了不同的編號,以說明至少它們是不同的副本。用戶可以通過輸入設備,例如鍵盤 251和定點設備252——通常是指滑鼠、跟蹤球或觸摸墊——向計算機241輸入命令和信息。其他輸入設備(未示出)可包括話筒、操縱杆、遊戲手柄、圓盤式衛星天線、掃描儀等。 這些和其他輸入設備通常通過耦合至系統總線的用戶輸入接口 236連接至處理單元259, 但也可以由其他接口和總線結構,例如並行埠、遊戲埠或通用串行總線(USB)來連接。 相機沈、觀和捕捉設備20可為控制臺100定義額外的輸入設備。監視器242或其他類型的顯示設備也通過諸如視頻接口 232之類的接口連接至系統總線221。除監視器之外,計算機還可以包括可以通過輸出外圍接口 233連接的諸如揚聲器244和印表機243之類的其他外圍輸出設備。計算機241可以使用到一個或多個遠程計算機(如遠程計算機M6)的邏輯連接, 以在聯網環境中操作。遠程計算機246可以是個人計算機、伺服器、路由器、網絡PC、對等設備或其他常見的網絡節點,且通常包括許多或所有以上相對於計算機241描述的元件,儘管在圖:3B中僅示出了存儲器存儲設備M7。圖:3B中所示的邏輯連接包括區域網(LAN) 245 和廣域網(WAN049,但也可以包括其他網絡。這些聯網環境在辦公室、企業範圍計算機網絡、內聯網和網際網路中是常見的。當用於LAN網絡環境中時,計算機241通過網絡接口或適配器245連接到LAN237。當在WAN聯網環境中使用時,計算機241通常包括數據機250或用於通過諸如網際網路等WAN 249建立通信的其他手段。數據機250,可以是內置的或外置的,可以經由用戶輸入接口 236或其他適當的機制,連接到系統總線221。在聯網環境中,相對於計算機 241所描述的程序模塊或其部分可被存儲在遠程存儲器存儲設備中。作為示例而非限制,圖 3B示出了遠程應用程式248駐留在存儲器設備247上。應當理解,所示的網絡連接是示例性的,並且可使用在計算機之間建立通信鏈路的其他手段。圖4A描繪了可從捕捉設備20生成的用戶的示例骨架映射。在該實施例中,標識出各個關節和骨骼每一手302、每一前臂304、每一肘306、每一二頭肌308、每一肩310、每一髖312、每一大腿314、每一膝316、每一小腿318、每一足320、頭322、軀幹324、脊椎的頂部3 和底部328,以及腰330。在跟蹤更多點的情況下,可標識出附加的特徵,比如手指或腳趾的骨骼和關節,或臉部的各個特徵,如鼻和眼。用戶可通過移動他的身體創建姿勢。姿勢包括用戶的運動或姿態,其可被捕捉為圖像數據並解析其意義。姿勢可以是動態的,包括運動,如模仿投球。姿勢可以是靜態姿態,如在一個人的軀幹3M前面交叉握住他的前臂304。姿勢也可結合道具,如通過揮動仿製的劍。姿勢可包括多於一個身體部位,如拍雙手302,或是較微小的運動,如撅起一個人的嘴唇。姿勢可用於一般計算上下文中的輸入。例如,手302或其他身體部位的各種運動可對應於常見的系統級任務,如在分層列表中向上或向下導航、打開文件、關閉文件和保存文件。姿勢也可在視頻遊戲專用上下文中取決於遊戲來使用。例如,對於駕駛遊戲,手302 和腳320的各種運動可對應於在一方向上操控車輛、換擋、加速和剎車。用戶可通過自己在原地行走或奔跑來生成對應於行走或奔跑的姿勢。用戶可另選地提起並放下每一腿312-320來在不移動的情況下模擬行走。系統可通過分析每一髖312 和每一大腿314來解析該姿勢。當一個髖部-大腿角(如相對於垂直線測量的,其中站立的腿具有0°的髖部-大腿角,而向前水平伸展的腿具有90°的髖部-大腿角)超過相對於另一大腿的特定閾值時,可識別一步。行走或奔跑可在交替腿的某一數量的連續步之後被識別。兩個最近的步之間的時間可被認為是一周期。在不滿足閾值角度達某一數量的周期之後,系統可確定行走或奔跑姿勢已停止。給定「行走或奔跑」姿勢,應用可為與該姿勢相關聯的參數設定值。這些參數可包括上述閾值角度、發起行走或奔跑姿勢所需的步數、結束姿勢的沒有發生步的周期數、以及確定姿勢是行走還是奔跑的閾值周期。快周期可對應於奔跑,因為用戶將快速地移動他的腿,而較慢的周期可對應於行走。姿勢最初可以與一組默認參數相關聯,應用可用其自己的參數來覆蓋該組默認參數。在這一場景中,不迫使應用提供參數,而是應用可改為使用一組允許在沒有應用定義的參數的情況下識別姿勢的默認參數。有各種可以與姿勢相關聯的輸出。可以有關於姿勢是否正在發生的基線「是或否」。還可以有置信度水平,其對應於用戶跟蹤的移動對應於姿勢的可能性。這可以是範圍為0和1之間(包括端點)的浮點數的線性標度。在接收該姿勢信息的應用不能接受假肯定作為輸入的應用中,它可僅使用具有高置信度水平,如至少0.95的已識別的姿勢。在應用必須識別姿勢的每一實例的情況下,即使以假肯定為代價,它可使用至少具有低得多的置信度水平的姿勢,如僅僅大於0. 2的那些姿勢。姿勢可具有在兩個最近步之間的時間的輸出,並且在僅註冊了第一步的情況下,這可被設為保留值,如-1(因為任何兩步之間的時間必須為正)。姿勢也可具有關於在最近一步期間達到的最高大腿角的輸出。另一示例性姿勢是「腳跟提起跳」。在該姿勢中,用戶可通過將他的腳跟提離地面, 但保持他的腳趾著地來創建該姿勢。另選地,用戶可跳向空中,其中他的腳320完全離開地面。該系統可通過分析肩310、髖312和膝316的角度關係來解析該姿勢的骨架,以查看它們是否是等於直立的對齊位置。然後,可監視這些點和較高3 和較低3 脊椎點來發現任何向上加速。足夠的加速組合可觸發跳躍姿勢。給定該「腳跟提起跳」姿勢,應用可為與該姿勢相關聯的參數設定值。參數可包括上述加速閾值,其確定用戶的肩310、髖312和膝316的某種組合必須向上移動多快來觸發該姿勢;以及肩310、髖312和膝316之間仍可觸發跳躍的最大對齊角。輸出可包括置信度水平,以及用戶在跳躍時的身體角度。基於將接收姿勢的應用的細節來為姿勢設定參數對於準確地標識姿勢而言是重要的。正確地標識姿勢以及用戶的意圖極大地有助於創建積極的用戶體驗。在姿勢識別器系統太敏感、甚至手302的微小向前運動也被解釋為投擲的情況下,用戶可能變得沮喪,因為在他沒有作出姿勢的意圖的情況下卻識別出姿勢,因此他缺乏對系統的控制。在姿勢識別器系統不夠敏感的情況下,系統可能未識別出用戶作出投擲姿勢的刻意嘗試,從而類似地使用戶感到沮喪。在敏感度範圍的任一端,用戶都會變得沮喪,因為他不能正確地向系統提供輸入。對於姿勢的另一參數可以是移動的距離。在用戶的姿勢控制虛擬環境中的化身的動作的情況下,該化身可以是手臂離球的長度。如果用戶希望與該球交互並抓住它,則這可要求用戶伸展他的手臂302-310到全長同時作出抓握姿勢。在這一情形中,用戶僅部分地伸展他的手臂302-310的類似的抓握姿勢可能無法達到與球交互的結果。姿勢或其一部分可將它必須在其中發生的空間體作為參數。在姿勢包括身體移動的情況下,該空間體通常可相對於身體來表達。例如,對於慣用右手的用戶的美式足球投擲姿勢可僅在不低於右肩310a、且與投擲手臂3(^a-310a在頭322的相同側的空間體中識別。可能不必要定義空間體的所有邊界,如對於該投擲姿勢,其中從身體向外的邊界留著不被定義,並且該空間體無限地向外延伸,或者延伸到正被監視的場景的邊緣。圖4B提供了圖2的姿勢識別器引擎190的一個示例性實施例的進一步細節。如圖所示,姿勢識別器引擎190可包括用於確定一個或多個姿勢的至少一個過濾器418。過濾器418包括定義姿勢426(以下稱為「姿勢」)以及該姿勢的參數4 或元數據的信息。例如,包括一隻手從身體背後越過身體前方的運動的投擲可被實現為包括表示用戶的一隻手從身體背後越過身體前方的移動的信息的姿勢426,該移動將由深度相機來捕捉。然後可為該姿勢4 設定參數426。在姿勢似6是投擲的情況下,參數4 可以是該手必須達到的閾值速度、該手必須行進的距離(絕對的,或相對於用戶的整體大小)、以及識別器引擎對發生姿勢的置信度評級。姿勢428的這些參數似6可以在各應用之間、在單個應用的各上下文之間、或在一個應用的一個上下文內隨著時間而變化。過濾器可以是模塊化的或是可互換的。在一個實施例中,過濾器具有多個輸入和多個輸出,這些輸入中的每一個具有一類型,這些輸出中的每一個具有一類型。在這一情形
12中,第一過濾器可用具有與第一過濾器相同數量和類型的輸入和輸出的第二過濾器來替換而不更改識別器引擎體系結構的其他方面。例如,可能具有用於驅動的第一過濾器,該第一過濾器將骨架數據作為輸入並輸出與該過濾器相關聯的姿勢正在發生的置信度和轉向角。 在希望用第二驅動過濾器來替換該第一驅動過濾器的情況下(這可能是因為第二驅動過濾器更高效且需要更少的處理資源),可以通過簡單地用第二過濾器替換第一過濾器來這樣做,只要第二過濾器具有同樣的輸入和輸出——骨架數據類型的一個輸入、以及置信度類型和角度類型的兩個輸出。過濾器不需要具有參數。例如,返回用戶的高度的「用戶高度」過濾器可能不允許可被調節的任何參數。備選的「用戶高度」過濾器可具有可調節參數,比如在確定用戶的高度時是否考慮用戶的鞋、髮型、頭飾以及體態。對過濾器的輸入可包括諸如關於用戶的關節位置的關節數據,像在關節處相交的骨所形成的角度、來自場景的RGB色彩數據、以及用戶的某一方面的變化速率等內容。來自過濾器的輸出可包括諸如正作出給定姿勢的置信度、作出姿勢運動的速度、以及作出姿勢運動的時間等內容。上下文可以是文化上下文,並且可以是環境上下文。文化上下文指的是使用系統的用戶的文化。不同的文化可使用相似的姿勢來賦予顯著不同的含義。例如,希望叫另一個用戶「看」或「使用他的眼睛」的美國用戶可將他的食指放在他頭上靠近他的眼睛的遠端處。然而,對義大利用戶而言,該姿勢可被解釋為對黑手黨的引用。類似地,在單個應用的不同環境之中可能有不同的上下文。以涉及操作摩託車的第一人稱射擊遊戲為例。當用戶在走路時,將手指朝向地面握拳並向前且從身體向外伸出拳頭可表示出拳姿勢。當用戶在駕駛上下文中時,相同的運動可表示「換擋」姿勢。可能還有一個或多個菜單環境,其中用戶可保存他的遊戲、在他的人物裝備之間選擇或執行類似的不包括直接玩遊戲的動作。在該環境中,該遊戲姿勢可具有第三個含義,如選擇某樣東西或前進到另一屏幕。姿勢識別器引擎190可具有向姿勢過濾器416提供功能的基礎識別器引擎418。 在一實施例中,識別器引擎416實現的功能包括跟蹤已識別的姿勢和其他輸入的隨時間輸入(input-over-time)存檔、隱馬爾可夫模型實現(其中模型化系統被假定為具有未知參數的馬爾可夫過程一其中當前狀態封裝了確定將來狀態所需的任何過去狀態信息,因此不必為此目的而維護任何其它過去狀態信息的過程,並且隱藏參數從可觀察數據來確定)、以及求解姿勢識別的特定實例所需的其他功能。過濾器418在基礎識別器引擎416之上加載並實現,並且可利用引擎416提供給所有過濾器418的服務。在一實施例中,基礎識別器引擎416處理所接收到的數據來確定它是否滿足任何過濾器418的要求。由於這些諸如解析輸入等所提供的服務是由基礎識別器引擎416 —次性提供而非由每一過濾器418提供的,因此這一服務在一段時間內只需被處理一次而不是對該時間段對每一過濾器418處理一次,由此減少了確定姿勢所需的處理。應用程式可使用姿勢識別器引擎190所提供的過濾器418,或者它可提供其自己的過濾器418,該過濾器被插入到基礎識別器引擎416中。在一實施例中,所有過濾器418 具有啟用該插入特性的通用接口。此外,所有過濾器418可利用參數428,因此可使用如下所述的單個姿勢工具來診斷並調節整個過濾器系統418。
13
這些參數4 可由姿勢工具420為應用程式或應用程式的上下文來調節。在一實施例中,姿勢工具420包括多個滑塊422以及身體422的圖表示,每一滑塊4M對應於一參數428。當用相應的滑塊422來調整參數4 時,身體4 可展示將用這些參數4 被識別為姿勢的動作以及使用這些參數4 將不被識別為姿勢的動作,如所標識的。姿勢的參數 428的這一可視化提供了調試並細化調節姿勢的有效手段。圖5描繪了從堆疊的姿勢或過濾器418創建的更複雜的姿勢或過濾器418。姿勢可堆疊在彼此之上。即,用戶一次可表達多於一個的姿勢。例如,並非在作出投擲姿勢時不允許除了投擲之外的任何輸入,也不要求用戶除了該姿勢的分量之外保持不動(例如,在作出僅涉及一條手臂的投擲姿勢時站著不動)。在姿勢堆疊時,用戶可同時作出跳躍姿勢和投擲姿勢,並且這兩個姿勢都將被姿勢引擎識別出。圖5A描繪了根據堆疊範例的簡單姿勢過濾器418。I過濾器(IFilter) 502是可在每一姿勢過濾器中使用的基本過濾器418。I過濾器(IFilter) 502取用戶位置數據504,並輸出姿勢已發生的置信度水平506。它還將該位置數據504饋入方向盤(SteeringWheel) 過濾器508,該過濾器508取該位置數據作為輸入,並輸出用戶正在轉向的角度(例如,向用戶當前方向右側40度)510。圖5B描繪了將過濾器418堆疊到圖5A的姿勢過濾器上的更複雜的姿勢。除了 I 過濾器502和方向盤508之外,還存在I跟蹤(ITracking)過濾器512,該過濾器從I過濾器502接收位置數據504,並輸出用戶通過姿勢514所作出的進展量。I跟蹤512還將位置數據504饋送到潤滑油減輕(GreaseLightning) 516和E剎車(Ebrake) 518,這些是關於可在操作車輛時如使用緊急剎車作出的其他姿勢的過濾器418。圖6描繪了用戶602在美式足球視頻遊戲中可以作出的用以發出「安全接球」(fair catch)信號的示例姿勢。這些圖描繪了各個時間點的用戶,其中圖6A是第一時間點,而圖6E是最後一個時間點。這些圖中的每一個可對應於深度相機402捕捉的圖像數據的一個快照或幀,但不必是連續的圖像數據幀,因為深度相機402能夠比用戶可覆蓋該距離更快地捕捉幀。例如,該姿勢可在3秒的時間段內發生,並且在深度相機以每秒40幀來捕捉數據的情況下,在用戶602作出該安全接球姿勢時它將捕捉60個圖像數據幀。在圖6A中,用戶602以他的手臂604向下放於兩側開始。他然後將手臂舉起超過肩膀,如圖6B所描繪的,然後進一步向上到大約他的頭部的水平,如圖6C所描繪的。從那裡,他將他的手臂604降下到肩膀水平,如圖6D所描繪的,然後再一次將手臂舉起到大約他的頭部的水平,如圖6E所描繪的。在系統捕捉用戶602的這些位置而沒有可發出該姿勢被取消或正在作出另一姿勢的信號的任何居間位置的情況下,可能會使得完全接球姿勢過濾器輸出用戶602作出了完全接球姿勢的高置信度水平。圖7描繪了在解析每一圖像數據幀來產生用戶的骨架映射時圖5的示例「安全接球」姿勢。該系統在從用戶的深度圖像產生了骨架映射之後,現在可確定用戶的身體如何隨時間而移動,並且可從中解析姿勢。在圖7A中,用戶的肩膀310在他的肘306上方,而肘306又在他的手302上方。 肩310、肘306和手302然後在圖7B中處於一致水平。系統然後在圖7C中檢測到手302在肘上方,而肘在肩310上方。在圖7D中,用戶返回到圖7B的位置,其中肩310、肘306和手 302處於一致水平。在該姿勢的最終位置,圖7E中示出,用戶返回到圖7C的位置,其中手302在肘上方,而肘在肩310上方。儘管捕捉設備20捕捉了一系列靜止圖像,使得在任何一個圖像中用戶看似為靜止的,但用戶在執行該姿勢的過程中在移動(而非如上所述的靜止姿勢)。該系統能夠取每一靜止圖像中的該一系列姿態,並從中確定用戶正在作出的移動姿勢的置信度水平。在執行姿勢時,用戶可能無法創建如他的右肩310a、右肘306a和右手30 所形成的角度,例如在140°和145°之間。因此,使用用於安全接球姿勢426的過濾器418的應用可調諧相關聯的參數4 來最佳地服務於應用的細節。例如,圖7C和7E中的位置可在用戶將其手302放在其肩310上方的任何時刻被識別出,而不關注肘306的位置。更嚴格的一組參數可能要求手302在頭310上方,並且肘306既在肩310上方又在頭322和手302 之間。另外,用於完全接球姿勢426的參數4 可能要求用戶在諸如1. 5秒等一段指定時間內從圖7A的位置移動到圖7E的位置,並且如果用戶花費了多於1. 5秒來移動通過這些位置,則它將不被識別為完全接球418,並且可輸出非常低的置信度水平。圖8A-C示出用戶使用骨架之外的姿勢來對系統做出輸入的示例。骨架之外的姿勢可包括從捕捉設備捕捉到的用戶位置或移動的組合(此處稱為「用戶位置數據」或「位置數據」)導出的輸入連同從另一源(諸如控制器上的按鈕的按壓)導出的輸入或捕捉到用戶的場景中的物體的位置(此處稱為「附加數據」)。圖8A示出用戶18通過由捕捉設備20捕捉的身體移動來對系統12進行姿勢輸入 (用戶位置數據),並且按下控制器802上的按鈕(附加數據)。系統12可接收來自有線或無線控制器802的控制器輸入。用戶可通過經由控制器802上的按鈕、搖杆或其它墊的輸入來補充由捕捉設備20所捕捉的其通過其身體做出的動作或姿勢。例如,在玩第一人稱射擊遊戲時,用戶18可用其手臂瞄準顯示設備16所顯示的一個位置。他可進一步在大致同一時間按下控制器802上的按鈕。計算設備12可將用戶18的瞄準且同時按壓按鈕識別為 「釋放火力」姿勢。圖8B示出多個用戶18正在通過由捕捉識別20捕捉的相應身體移動對系統12做出組合的姿勢輸入(其中,第一用戶的姿勢輸入包括用戶位置數據,而第二用戶的姿勢輸入包括附加數據)。這兩個用戶正在通過改變他們組合的重心804來進行姿勢輸入。這可能是諸如在一種駕駛遊戲中,其中兩個用戶18協作使他們的重心移向左或移向右來轉向,或者是在一種平衡練習中,其中兩個用戶18調整他們的重心來使所顯示的化身在橫梁上保持平衡。兩個用戶以站立開始,產生重心80 ,並隨後傾斜,這會調整重心804b。需要注意的是,任一用戶都可通過他自己的移動來單方面調整組的重心,並且用戶移動可彼此抵消, 使得重心保持靜止(諸如在他們具有同樣的質量的情形中,如果他們彼此完全相反地移動同樣的距離的話)。多個用戶可組合來做出多種多樣的姿勢。例如,他們可協作來做出大象的剪影,其中他們彼此靠近地站立,並且一個人將他的手臂舉向側面來模仿象鼻,而另一人放低他的手臂向側面來模仿尾巴。圖8C示出用戶18通過由捕捉設備20捕捉的身體移動來對系統12進行姿勢輸入 (用戶位置數據),並且控制由捕捉手臂20捕捉的道具806(其它數據)。用戶18能夠控制物理短棍806。通過移動短棍,諸如用手揮動短棍,用戶可做出揮劍的姿勢。在一個實施例中,當用戶揮動他的手但沒有拿著短棍806,則不會識別揮劍姿勢。
在另一實施例中,用戶18能夠使用他的物理環境作為道具。例如,當玩第一人稱遊戲時,用戶可在其物理環境中的腳凳後面通過。這可被計算環境12識別為在第一人稱射擊者虛擬環境中蹲在附近的對象後。圖9示出了由於向系統提供用戶移動或基於用戶的骨架映射的姿勢之外的輸入。操作902示出接收由捕捉設備捕捉的用戶位置數據。遠處的捕捉設備可以捕捉包含全部用戶的場景,諸如從地面到天花板以及到用戶所處房間的每側的牆壁。捕捉設備也可以捕捉僅包含用戶的部分的場景,諸如他或她坐在桌邊時腹部以上的用戶。操作904示出接收反映不是從用戶的骨架映射中導出的輸入的數據(附加數據)。 附加數據可包括諸如道具、用戶穿著的衣服、由捕捉設備捕捉的場景中的物體、其他的一個或多個用戶的用戶位置數據、用戶發出的聲音、控制器或遙控輸入、場景中的光的亮度和/ 或位置、用戶與觸敏設備的交互、以及用戶的面部表情之類。道具可包括可由用戶控制的物理對象,諸如圖8B中的短棍806。用戶穿著的衣服可包括用戶穿著的衣服的類型(例如,T恤或長袖衫)、衣服的顏色(例如,藍色的RGB值)、 或衣服的款式、設計或圖案(例如,水平橫條)。場景中的物體可包括用戶的物理區域內由捕捉設備20捕捉到的家具,諸如桌子或長椅。第二用戶或多個用戶可包括人類用戶或非人類用戶,諸如用戶的狗。用戶發出的聲音包括用戶的發聲或通過其它裝置產生的聲音,諸如通過用戶把球掉在地上或拍手產生的聲音。還可包括來自環境的聲音,諸如用戶的行動電話響鈴的聲音。控制器或遙控輸入可包括按下按鈕、搖杆、方向鍵、或由控制器或遙控器提供的其它的數字或模擬輸入裝置。場景中的光的量和/或位置可包括計算環境12所檢測到的由諸如燈泡之類的光源照射出的光的量,以及其在場景中的相對或絕對位置。用戶與觸敏設備的交互可包括例如用戶用他的手觸摸與計算環境12通信的觸敏表面。用戶面部表情可包括用戶做出的鬼臉,諸如伸出他的舌頭,或做出的表情,諸如快樂或悲傷。在附加數據是可視的情形中,該數據可由捕捉設備20捕捉。在一個實施例中,從第二用戶接收附加數據。這可包括,例如,用戶用他的身體做出姿勢或位置,同時第二用戶在控制器802上輸入按鈕輸入。在一個實施例中,接收位置數據和附加數據作為用戶在大致同一時刻輸入位置數據和附加數據的結果。在一個實施例中,附加數據包括道具,並且道具由多個用戶操縱。例如,道具可包括模擬鼓套件,用戶可擊打鼓套件中的一個鼓,而第二用戶可擊打鼓套件中的另一個鼓。操作906示出了分析位置數據和附加數據,並確定對應於用戶執行了系統所識別的輸入的可能性的輸出。在一個實施例中,分析位置數據和附加數據還包括確定位置數據和附加數據之間的等待時間。與用戶在被捕捉設備20捕捉到的同時發出的聲音相比,計算環境12可更快速地接收圖像數據,因為光的速度超過了聲音的速度。在這一等待時間會導致關於識別姿勢輸入的問題的情形中,諸如在接收審查的姿勢需要非常精確地執行時,這可由計算環境 12來解決。例如,計算環境12可計算用戶距離捕捉設備20的距離。基於該距離、光、聲音或其它輸入所穿過的介質(例如,空氣)以及特定輸入在該介質中傳播的速度,計算環境12 可計算產生輸入的時間。在一個實施例中,分析位置數據和附加數據並確定對應於用戶執行了系統所識別的輸入的可能性的輸出進一步包括採用姿勢過濾器和至少一個代表系統識別的輸入的對應參數來分析位置數據和附加數據,並確定對應於用戶執行了系統所識別的輸入的可能性的輸出。操作908示出將輸出發送給應用。在當前操作由應用執行的情形中,輸出可被發送給應用的組件,該組件採用經處理的用戶輸入並將其映射到應用內部的動作。圖10示出用於骨架以外的姿勢的示例系統架構。捕捉設備20捕捉用戶18的位置或移動並將其提供給識別器引擎190。此外,識別器引擎190可接收來自鍵盤1002a、滑鼠1002b和/或控制器1002c的輸入。通過用戶18的位置或移動的組合(位置數據)以及來自鍵盤1002a、滑鼠1002b和/或控制器1002c的輸入(附加數據),姿勢識別器引擎 190可產生對應於一個或多個系統識別的姿勢的一個或多個輸出。該一個或多個輸出可被發送給輸入映射器1004,該輸入映射器1004根據那些接收的輸出來確定什麼輸入已被提交給系統。輸入映射器1004可進一步接收來自鍵盤1002a、滑鼠1002b和/或控制器1002c 的不屬於姿勢的一部分的輸入。這可以是不具有對應的用戶位置和/或移動的輸入,諸如按下鍵盤上的「向上」鍵以在顯示於顯示設備16上的列表中向上移。結論儘管已經結合各附圖所示的較佳方面描述了本發明,但要理解,可使用其它相似方面或者可對所述方面進行修改或添加來執行本發明的相同功能而不脫離本發明。因此, 本發明不應該僅限於任何單個方面,而是應該在根據所附權利要求書的廣度和範圍內解釋。例如,本文描述的各種過程可用硬體或軟體、或兩者的組合來實現。因此,所公開的各實施例的方法和裝置或其某些方面或部分可採用包含在諸如軟盤、CD-ROM、硬碟驅動器或任何其他機器可讀存儲介質等有形介質中的程序代碼(即,指令)的形式。當程序代碼被加載到諸如計算機等機器並由其執行時,該機器變為被配置成實施所公開的各實施例的裝置。除了此處明確闡述的具體實現之外,考慮此處所公開的說明書,其它方面和實現將對本領域的技術人員是顯而易見的。說明書和所示實現旨在僅被認為是示例。
權利要求
1.一種用於使用戶(18)能夠對應用做出混合姿勢輸入的方法,包括 接收與由捕捉設備00)捕捉的用戶的移動或位置有關的第一數據(902);接收附加數據,所述附加數據不是從由捕捉設備00)捕捉的用戶的移動或位置導出的(904);結合所述附加數據分析所述第一數據,並從其確定對應於用戶執行了系統所識別的輸入的可能性的輸出(906);以及向所述應用發送所述輸出(908)。
2.如權利要求1所述的方法,其特徵在於,所述附加數據包括一組中的一個,所述組包括道具、用戶穿著的衣服、由所述捕捉設備捕捉的場景中的物體、其他的一個或多個用戶、用戶發出的聲音、控制器或遙控輸入、場景中的光的量和/或位置、用戶與觸敏設備的交互、以及用戶的面部表情。
3.如權利要求1所述的方法,其特徵在於,分析第一數據和附加數據進一步包括 確定所述第一數據和所述附加數據之間的等待時間。
4.如權利要求1所述的方法,其特徵在於,所述附加數據是從第二用戶處接收的。
5.如權利要求1所述的方法,其特徵在於,所述第一數據和所述附加數據被接收作為用戶在大致同一時刻輸入所述第一數據和所述附加數據的結果。
6.如權利要求1所述的方法,其特徵在於,所述附加數據包括道具,並且所述道具由多個用戶操縱。
7.如權利要求1所述的方法,其特徵在於,分析所述第一數據和附加數據並確定對應於用戶執行了系統所識別的輸入的可能性的輸出包括採用姿勢過濾器和至少一個代表所述系統所識別的輸入的對應參數來分析所述第一數據和所述附加數據,並確定對應於用戶執行了系統所識別的輸入的可能性的輸出。
8.一種用於使用戶(18)能夠對應用做出混合姿勢輸入的系統,包括 處理器(101);存儲計算機可讀指令的至少一個存儲器(11 ,當由所述處理器執行時,所述計算機可讀指令使所述處理器執行操作,操作包括接收與由捕捉設備00)捕捉的用戶的移動或位置有關的第一數據(902); 接收附加數據,所述附加數據不是從由捕捉設備00)捕捉的用戶的移動或位置導出的(904);分析所述第一數據和所述附加數據,並確定對應於用戶執行了系統所識別的輸入的可能性的輸出(906);以及向所述應用發送所述輸出(908)。
9.如權利要求8所述的系統,其特徵在於,所述第一數據包括一組中的一個,所述組包括道具、用戶穿著的衣服、由所述捕捉設備捕捉的場景中的物體、其他的一個或多個用戶、用戶發出的聲音、控制器或遙控輸入、場景中的光的量和/或位置、用戶與觸敏設備的交互、以及用戶的面部表情。
10.如權利要求8所述的系統,其特徵在於,用於分析所述第一數據和所述附加數據的組件進一步包括用於確定所述第一數據和所述附加數據之間的等待時間的組件。
11.如權利要求8所述的系統,其特徵在於,所述附加數據是從第二用戶處接收的。
12.如權利要求11所述的系統,其特徵在於,所述附加數據包括所述第一用戶和所述第二用戶的重心。
13.如權利要求8所述的系統,其特徵在於,所述第一數據和所述附加數據被接收作為用戶在大致同一時刻輸入所述第一數據和所述附加數據的結果。
14.如權利要求8所述的系統,其特徵在於,所述附加數據包括道具,並且所述道具由多個用戶操縱。
15.如權利要求8所述的系統,其特徵在於,用於分析所述第一數據和附加數據並確定對應於用戶執行了系統所識別的輸入的可能性的輸出的組件進一步包括用於採用姿勢過濾器和至少一個代表所述系統所識別的輸入的對應參數來分析所述第一數據和所述附加數據,並確定對應於用戶執行了系統所識別的輸入的可能性的輸出的組件。
全文摘要
公開了用於骨架之外的姿勢輸入的系統、方法和計算機可讀介質。系統的捕捉設備捕捉用戶的移動或身體位置。此外,由計算設備接收非用戶位置數據,諸如用戶的控制器輸入、用戶穿戴的物品、在用戶控制下的道具、或第二用戶的移動或身體位置。系統合併用戶位置數據和非用戶位置數據兩者,以確定用戶向系統做出的一個或多個輸入。
文檔編號A63F13/00GK102448566SQ201080024900
公開日2012年5月9日 申請日期2010年5月29日 優先權日2009年5月29日
發明者G·N·斯努克, K·蓋斯那, R·馬爾科維奇, S·拉塔 申請人:微軟公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀