專利名稱:推斷參與運動捕捉系統(tǒng)的用戶意圖的制作方法
技術領域:
本發(fā)明涉及運動捕捉系統(tǒng)和方法,尤其涉及推斷參與運動捕捉系統(tǒng)的用戶意圖。
背景技術:
運動捕捉系統(tǒng)獲得關于人或其他主體在物理空間中的位置和移動的數(shù)據(jù),并可使用該數(shù)據(jù)作為計算系統(tǒng)中的某一應用的輸入。可能有許多應用,如出于軍事、娛樂、體育和醫(yī)療目的。包括使用可見和不可見(例如,紅外)光的系統(tǒng)在內的光學系統(tǒng)使用相機來檢測視野中的人的存在??蓪θ朔胖脴擞泚韼椭鷻z測,但也已經開發(fā)了無標記系統(tǒng)。某些系統(tǒng)使用由人攜帶或附帶的慣性傳感器來檢測移動。例如,在某些視頻游戲應用中,用戶握住可在玩游戲時檢測移動的無線控制器。盡管許多系統(tǒng)能夠檢測運動,但是可能難以確定運動是否是參與系統(tǒng)的意圖。參與系統(tǒng)指的是意圖影響系統(tǒng)的蓄意的用戶輸入。例如,用戶可能使用手勢來控制屏幕上菜單或控制視頻游戲中的動作。誤解用戶的意圖的一個示例是將用戶對另一人的手勢誤解為參與系統(tǒng)的意圖。系統(tǒng)的視野內的任何用戶可能被誤解為意圖參與系統(tǒng)。對于特殊標記器、 傳感器、控制器等的使用可幫助避免錯誤,但是對于用戶來說可能是麻煩的。因此,需要允許在運動捕捉系統(tǒng)內人與應用更自然地交互的進一步改進。
發(fā)明內容
提供了一種用于推斷用戶與運動捕捉系統(tǒng)運行的應用交互的意圖的方法、運動捕捉系統(tǒng)和計算機可讀存儲設備。本文所述的技術不需要任何特殊標記器、傳感器、控制器等來與系統(tǒng)交互。而且,本文所述的技術允許人類在運動捕捉系統(tǒng)內與應用自然地交互。本文所述的技術能夠消除與運動捕捉系統(tǒng)交互的蓄意的用戶姿勢與系統(tǒng)的視野內的無關的用戶運動之間的歧義??墒褂盟惴▉泶_定用戶的參與系統(tǒng)的聚集的意圖等級。 算法中的變量可包括用戶身體的姿態(tài)和運動,以及系統(tǒng)的狀態(tài)。注意,在其上推斷意圖的數(shù)據(jù)可以是除了用戶執(zhí)行以產生輸入來改變系統(tǒng)所執(zhí)行的應用的動作之外的東西。例如,系統(tǒng)可部分地基于用戶的髖部相對系統(tǒng)的角度來推斷用戶的參與系統(tǒng)的意圖。然而,一旦參與系統(tǒng),游戲應用可基于用戶的手所做出的姿勢來作出反應。因此,不意圖影響系統(tǒng)的手勢可被系統(tǒng)忽略。本文所述的技術能夠在其他非參與用戶存在于系統(tǒng)的視野內時確定哪個 (或哪些)用戶意圖與系統(tǒng)交互。一個實施例包括確定參與運動捕捉系統(tǒng)的用戶意圖的方法。描述運動捕捉系統(tǒng)的視野內的個人的身體的數(shù)據(jù)隨時間被收集?;谠摂?shù)據(jù)確定每個時間段該個人的身體的模型。確定每個模型的每個參數(shù)的值。每個參數(shù)的值定義了個人的身體的關于參與系統(tǒng)的某一意圖等級的方面。基于每個時間段的參數(shù)值確定參與系統(tǒng)的聚集的意圖等級。如果聚集的意圖等級超過閾值,則由運動捕捉系統(tǒng)所捕捉的選擇的用戶動作被解釋為對系統(tǒng)的輸入。如果聚集的意圖等級沒有超過閾值,則由運動捕捉系統(tǒng)所捕捉的所述選擇的用戶動作被解釋為噪聲。
—個實施例包括運動捕捉系統(tǒng),該運動捕捉系統(tǒng)包括圖像相機組件、顯示器以及與圖像相機組件和顯示器通信的邏輯。該邏輯可用于在圖像相機組件的視野內隨時間收集描述個人的身體的數(shù)據(jù)。該邏輯可用于基于所述數(shù)據(jù)對多個時間段的每一個時間段生成個人的身體的模型。該邏輯可用于對每個模型的多個參數(shù)中的每一個參數(shù)生成值。每個參數(shù)定義了個人的身體的關于參與運動捕捉系統(tǒng)的某一意圖等級的方面。該邏輯可用于基于每個模型的參數(shù)的值來聚集參與系統(tǒng)的意圖等級。該邏輯可用于確定聚集的意圖等級是否強烈地指示出參與運動捕捉系統(tǒng)的意圖。該邏輯可用于在聚集的意圖等級強烈地指示出參與運動捕捉系統(tǒng)的意圖的情況下,將深度相機捕捉的選擇的用戶動作解釋為對運動捕捉系統(tǒng)的輸入。該邏輯可用于確定聚集的意圖等級是否微弱地指示出參與運動捕捉系統(tǒng)的意圖。 該邏輯可用于在聚集的意圖等級微弱地指示出參與運動捕捉系統(tǒng)的意圖的情況下,提供指示出運動捕捉系統(tǒng)注意到個人的存在的反饋,但不允許該人參與運動捕捉系統(tǒng)。該邏輯可用于在聚集的意圖等級既不強烈地也不微弱地指示出參與運動捕捉系統(tǒng)的意圖的情況下, 將選擇的用戶動作解釋為噪聲。一個實施例包括具有存儲于其上的用于對至少一個處理器編程來在運動捕捉系統(tǒng)中執(zhí)行一種方法的計算機可讀軟件的計算機可讀存儲設備。該方法包括建立其中選擇的用戶動作被認為是噪聲的模式,在運動捕捉系統(tǒng)的視野內隨時間收集描述個人的身體的數(shù)據(jù),基于所述數(shù)據(jù)對多個時間段的每個時間段生成個人的身體的模型,對每個模型的多個參數(shù)的每一個參數(shù)生成值。每個參數(shù)定義了個人的身體的關于參與系統(tǒng)的某一意圖等級的方面。該方法還包括確定每個值的得分。每個得分代表為參數(shù)的相關聯(lián)的值推斷的的意圖等級。該方法還包括基于來自當前時間段的得分確定對當前時間段推斷的意圖等級,如果該意圖等級超過閾值則將運動捕捉系統(tǒng)所捕捉的選擇的用戶動作解釋為對系統(tǒng)的輸入,修改來自先前的時間間隔的參數(shù)的得分,確定基于來自當前時間段的得分和來自先前的時間間隔的修改的得分所推斷的聚集的意圖等級,以及如果聚集的意圖等級超過閾值則將運動捕捉系統(tǒng)所捕捉的選擇的用戶動作解釋為對系統(tǒng)的輸入。提供本概要以用簡化形式介紹在下面的說明書中進一步描述的精選概念。本概述并不旨在標識出所要求保護的主題的關鍵特征或必要特征,也不旨在用于限定所要求保護的主題的范圍。
圖Ia和Ib描繪了其中用戶與模擬拳擊比賽的應用交互的運動捕捉系統(tǒng)的示例實施例。圖2描繪了圖Ia的運動捕捉系統(tǒng)10的示例框圖。圖3描繪了用于允許個人與運動捕捉系統(tǒng)交互的方法。圖如描繪了用于確定運動捕捉系統(tǒng)的視野中的個人的模型的示例方法。圖4b描繪了可由圖如的過程生成的個人的示例模型。圖如描繪了可由圖如的過程生成的個人的另一示例模型。圖5是當應用有比適當情況更多的用戶時確定哪個用戶或哪些用戶正意圖參與系統(tǒng)的過程的一個實施例的流程圖。圖6是確定模型是否指示出用戶意圖參與系統(tǒng)的過程的一個實施例的流程圖。
5
圖7描繪了可以在圖Ia的運動捕捉系統(tǒng)中使用的計算環(huán)境的示例框圖。圖8描繪了可以在圖Ia的運動捕捉系統(tǒng)中使用的計算環(huán)境的示例框圖。
具體實施例方式提供了用于允許一個人或一組人容易地在運動捕捉系統(tǒng)中與應用交互的各種技術。深度相機系統(tǒng)可跟蹤物理空間中個人的位置和移動,并評估這些位置和移動來確定該個人是否打算參與應用,例如與應用交互。深度相機系統(tǒng)可形成用戶的骨架模型并基于該骨架模型來確定各種參數(shù)的值。在某些情況中,系統(tǒng)可分析來自系統(tǒng)的視野中的多個人的骨架數(shù)據(jù),并確定哪些人正意圖與系統(tǒng)交互。在一些實施例中,如果用戶當前沒有參與系統(tǒng),則系統(tǒng)繼續(xù)隨時間確定用戶的參與系統(tǒng)的意圖。如果系統(tǒng)確定用戶的動作、姿態(tài)等強烈地指示出參與系統(tǒng)的意圖,則系統(tǒng)可快速反應。然而,如果用戶的動作僅僅微弱地指示出參與系統(tǒng)的意圖,則用戶可能花費更長時間來參與系統(tǒng)。如果用戶的動作微弱地指示出參與系統(tǒng)的意圖,則系統(tǒng)可提示用戶以幫助過程向前進行。例如,系統(tǒng)可指示出它注意到用戶,但注意到系統(tǒng)當前處于不允許用戶通過諸如手勢之類的動作與應用交互的模式中。圖Ia和Ib描繪了其中個人18與模擬拳擊比賽的應用交互的運動捕捉系統(tǒng)10的一個示例實施例。運動捕捉系統(tǒng)10用于識別、分析和/或跟蹤諸如個人18 (也稱為用戶或玩家)等人類目標。該示例用于提供示例環(huán)境的目的。然而,確定用戶是否意圖參與運動捕捉系統(tǒng)10并不限于該示例實施例。如圖Ia所示,運動捕捉系統(tǒng)10可包括諸如計算機、游戲系統(tǒng)或控制臺等計算環(huán)境 12。計算環(huán)境12可包括執(zhí)行諸如教育和/或娛樂目的等應用的硬件組件和/或軟件組件。 本文所述的實施例可以軟件、硬件或軟件和硬件的某種組合來實現(xiàn)。下面描述用于軟件實施例的示例計算平臺。一般來說,文本所使用的術語“邏輯”可指代或者軟件或者硬件(或其組合)。硬件實現(xiàn)的一個示例是專用集成電路(ASIC)。運動捕捉系統(tǒng)10還可包括深度相機系統(tǒng)20。深度相機系統(tǒng)20可以是,例如可用于在視覺上監(jiān)視諸如個人18等的一個或多個人,從而可以捕捉、分析并跟蹤該人所執(zhí)行的姿勢和/或移動,來執(zhí)行應用中的一個或多個控制或動作的相機。運動捕捉系統(tǒng)10可以連接到諸如電視機、監(jiān)視器、高清電視機(HDTV)等可向用戶提供視覺和音頻輸出的音頻/視覺設備16。音頻輸出也可經由單獨的設備來提供。為驅動音頻/視覺設備16,計算環(huán)境12可包括提供與應用相關聯(lián)的音頻/視覺信號的諸如圖形卡等視頻適配器,和/或諸如聲卡等音頻適配器。音頻/視覺設備16可經由例如,S-視頻電纜、同軸電纜、HDMI電纜、DVI電纜、VGA電纜等連接到計算環(huán)境12??墒褂蒙疃认鄼C系統(tǒng)20來跟蹤個人18,使得該個人的姿勢和/或移動被捕捉并被解釋為對計算機環(huán)境12所執(zhí)行的應用的輸入控制。因而,根據(jù)一個實施例,用戶18可移動他或她的身體來控制應用。作為一個示例,應用可以是其中個人18參與且其中音頻/視覺設備16向個人18 提供拳擊對手38的視覺表示的拳擊游戲。計算環(huán)境12還可使用音頻/視覺設備16來提供玩家化身40的視覺表示,該視覺表示代表了該個人,并且該個人可用他的或她的身體移動來控制該視覺表示。
例如,如圖Ib所示,個人18可以在例如該個人站在其中的房間等物理空間中揮出重拳,以使得玩家化身40在包括拳擊臺的虛擬空間中揮出重拳。由此,根據(jù)一示例實施例, 運動捕捉系統(tǒng)10的計算機環(huán)境12和深度相機系統(tǒng)20可用于識別并分析物理空間中的個人18的重拳,使得該重拳可被解釋為對模擬拳擊比賽的應用的輸入,以控制虛擬空間中的玩家化身40。個人18的其他移動也可被解釋為其他控制或動作,和/或用于動畫化玩家化身, 如上下快速擺動、閃避、滑步、封堵、用拳猛擊或揮動各種不同的重拳的控制。此外,某些移動可被解釋為可對應于除控制玩家化身40之外的動作的控制。例如,在一實施例中,玩家可使用移動來結束、暫?;虮4嬗螒?、選擇級別、查看高分、與朋友交流等。玩家可使用移動來從主用戶界面選擇游戲或其他應用。由此,用戶18的全范圍運動可以用任何合適的方式來獲得、使用并分析以與應用進行交互。個人可在與應用交互時抓握諸如道具等物體。在此類實施例中,個人和物體的移動可用于控制應用。例如,可以跟蹤并利用手持球拍的玩家的運動來控制模擬網球游戲的應用中的屏幕上球拍。在另一示例實施例中,可以跟蹤并利用玩家手持諸如塑料劍等玩具武器的運動來控制提供海盜船的應用的虛擬空間中對應的武器。運動捕捉系統(tǒng)10還可用于將目標移動解釋為游戲和出于娛樂和休閑目的的其他應用范圍之外的操作系統(tǒng)和/或應用控制。例如,事實上操作系統(tǒng)和/或應用的任何可控方面可由個人18的移動來控制。圖2描繪了圖Ia的運動捕捉系統(tǒng)10的示例框圖。深度相機系統(tǒng)20可被配置成經由任何合適的技術,包括例如飛行時間、結構化光、立體圖像等,捕捉帶有包括深度圖像的深度信息的視頻,該深度信息可包括深度值。深度相機系統(tǒng)20可將深度信息組織為“Z 層”,即可與從深度相機沿其視線延伸的Z軸垂直的層。深度相機系統(tǒng)20可包括圖像相機組件22,如捕捉物理空間中的場景的深度圖像的深度相機。深度圖像可包括所捕捉的場景的二維O-D)像素區(qū)域,其中該2-D像素區(qū)域中的每一像素具有代表距離圖像相機組件22的線性距離的相關聯(lián)的深度值。圖像相機組件22可包括可用于捕捉場景的深度圖像的紅外(IR)光組件M、三維 (3-D)相機洸、以及紅-綠-藍(RGB)相機觀。例如,在飛行時間分析中,深度相機系統(tǒng)20 的頂光組件對可將紅外光發(fā)射到物理空間上,然后可使用傳感器(未示出),使用例如3-D 相機沈和/或RGB相機觀,來檢測來自該物理空間中的一個或多個目標和對象的表面的反向散射光。在某些實施例中,可以使用脈沖式紅外光,從而可以測量出射光脈沖與相應的入射光脈沖之間的時間并將其用于確定從深度相機系統(tǒng)20到物理空間中的目標或對象上的特定位置的物理距離??蓪鞒龉獠ǖ南辔慌c傳入光波的相位進行比較來確定相移。然后可以使用相移來確定從深度相機系統(tǒng)到對象或目標上的特定位置的物理距離。飛行時間分析也可用于通過經由包括例如快門式光脈沖成像等各種技術來分析反射光束隨時間的強度,來間接地確定從深度相機系統(tǒng)20到目標或對象上的特定位置的物理距離。在另一示例實施例中,深度相機系統(tǒng)20可使用結構化光來捕捉深度信息。在該分析中,圖案化光(即,被顯示為諸如網格圖案或條紋圖案等已知圖案的光)可經由例如頂光組件M被投影到場景上。在撞擊到場景中的一個或多個目標或物體的表面時,作為響應,圖案可變形。圖案的這種變形可由例如3-D相機沈和/或RGB相機觀來捕捉,然后可被分析以確定從深度相機系統(tǒng)到目標或對象上的特定位置的物理距離。根據(jù)另一實施例,深度相機系統(tǒng)20可包括兩個或更多物理上分開的相機,這些相機可從不同角度查看場景以獲得視覺立體數(shù)據(jù),該視覺立體數(shù)據(jù)可被解析以生成深度信息。深度相機系統(tǒng)20還可包括話筒30,話筒30包括例如接收聲波并將其轉換成電信號的換能器或傳感器。另外,話筒30可用于接收由個人提供的諸如聲音等音頻信號,來控制由計算環(huán)境12運行的應用。音頻信號可包括諸如說出的單詞、口哨、叫聲和其他話語等個人的口聲,以及諸如拍手或跺腳等非口聲。深度相機系統(tǒng)20可包括與圖像相機組件22進行通信的邏輯32。邏輯32可包括可執(zhí)行指令的標準化的處理器、專用處理器、微處理器等。邏輯32還可包括諸如ASIC、電子電路、邏輯門等之類的硬件。深度相機系統(tǒng)20還可包括存儲器組件34,存儲器組件34可存儲可由處理器32執(zhí)行的指令、以及存儲3-D相機或RGB相機所捕捉的圖像或圖像幀、或任何其他合適的信息、 圖像等等。根據(jù)一示例實施例,存儲器組件34可包括隨機存取存儲器(RAM)、只讀存儲器 (ROM)、高速緩存、閃存、硬盤、或任何其他合適的有形計算機可讀存儲組件。存儲器組件34 可以是經由總線21與圖像捕捉組件22和處理器32進行通信的單獨組件。根據(jù)另一實施例,存儲器組件34可被集成到處理器32和/或圖像捕捉組件22中。深度相機系統(tǒng)20可以經由通信鏈路36與計算環(huán)境12進行通信。通信鏈路36可以是有線和/或無線連接。根據(jù)一實施例,計算環(huán)境12可經由通信鏈路36向深度相機系統(tǒng)20提供時鐘信號,該信號指示何時從位于深度相機系統(tǒng)20的視野中的物理空間捕捉圖像數(shù)據(jù)。另外,深度相機系統(tǒng)20可經由通信鏈路36向計算環(huán)境12提供由例如3-D相機沈和/或RGB相機觀捕捉的深度信息和圖像,和/或可由深度相機系統(tǒng)20生成的骨架模型。 計算環(huán)境12然后可使用該模型、深度信息和捕捉的圖像來控制應用。例如,如圖2所示,計算環(huán)境12可包括諸如姿勢過濾器集合等姿勢庫190,每一姿勢過濾器具有關于可由骨架模型(在用戶移動時)執(zhí)行的姿勢的信息。例如,可為以下的每一個提供一姿勢過濾器上舉或側舉一條或兩條手臂,以圓圈旋轉手臂,像鳥一樣拍打手臂,向前、向后或向一側傾斜,跳起來,腳跟抬起踮腳,原地走動,走到視野/物理空間中的不同位置,等等。通過將檢測到的運動與每一過濾器進行比較,可標識個人執(zhí)行的指定姿勢或移動。也可確定執(zhí)行移動的范圍??蓪⒂缮疃认鄼C系統(tǒng)20捕捉的骨架模型形式的數(shù)據(jù)以及與其相關聯(lián)的移動與姿勢庫190中的姿勢過濾器進行比較來標識用戶(如骨架模型所表示的)何時執(zhí)行了一個或多個特定移動。那些移動可與應用的各種控制相關聯(lián)。計算環(huán)境還可包括用于執(zhí)行存儲在存儲器194中的指令以向顯示設備196提供音頻-視頻輸出信號并實現(xiàn)如此處所描述的其他功能的處理器192。圖3描繪了用于使個人能夠參與運動捕捉系統(tǒng)的方法。該方法可以使用例如結合圖2討論的深度相機系統(tǒng)20和/或計算環(huán)境12來實現(xiàn)。過程中的各種步驟可由軟件和/ 或硬件的組合來執(zhí)行。該過程以用戶沒有參與系統(tǒng)的模式開始(步驟30 。在該模式中,選擇的用戶動作被系統(tǒng)解釋為噪聲,這與對系統(tǒng)的蓄意的用戶輸入相反。例如,手勢可被解釋為噪聲而不是對影響系統(tǒng)所正在運行的應用的蓄意嘗試。所選擇的動作可能取決于當前正被運行的應用。例如,每個應用可具有其自己的允許用戶進行輸入的用戶動作的集合。注意,圖3的過程描述了單個用戶處于視野中的示例。對于多個用戶處于視野中的情況,可修改該過程。然而,為了便于解釋,當討論圖3的過程時將描述單個用戶的示例。步驟304包括收集運動捕捉系統(tǒng)的視野中個人的數(shù)據(jù)。例如,運動捕捉系統(tǒng)創(chuàng)建深度信息。步驟304中收集的數(shù)據(jù)可跨越第一時間段。作為用于說明的目的的一個示例, 該時間段可以是一秒;然而可使用其他時間長度。在某些實施例中,深度信息與一個瞬時有關。因此,可對該時間段收集多組深度信息。在步驟306,為視野中的該個人生成一個或多個模型。在一個實施例中,步驟306 包括生成骨架數(shù)據(jù)。下面討論生成骨架數(shù)據(jù)的進一步細節(jié)。然而,該模型并不限于骨架數(shù)據(jù)。例如,該模型可包括描述個人的注視方向的信息。后一信息并沒有必要基于骨架數(shù)據(jù)。 在某些實施例中,對于給定時間段使用單個模型;然而,對于給定時間段可使用任何數(shù)量的模型。在步驟308,對于當前時間段,確定與參與系統(tǒng)的用戶意圖有關的參數(shù)的值。示例參數(shù)包括用戶髖、肩和/或臉相對系統(tǒng)的角度。以下描述進一步的示例參數(shù)。參數(shù)的值可以是數(shù)值,例如相對于系統(tǒng)髖部旋轉的實際度數(shù)。注意,參數(shù)可基于將不必用于允許用戶與系統(tǒng)運行的應用交互的信息。例如,參數(shù)可基于用戶的髖部相對于系統(tǒng)的角度。然而,用戶的髖部角度可不必用作影響應用(例如游戲)的輸入。還注意,參數(shù)的值可基于運動數(shù)據(jù)。例如,整個用戶身體的移動可能暗示該用戶不意圖參與系統(tǒng)。相反,如果用戶是靜止的,這可推斷出參與系統(tǒng)的意圖。因此,一個參數(shù)可以是移動參數(shù)。移動參數(shù)的值可以是描述該移動的任何度量(例如數(shù)字、向量)。在步驟310,對于每個參數(shù)的值確定反映用戶參與系統(tǒng)的意圖的得分。例如,如果用戶的髖部角度指示出該個人正面向系統(tǒng),則可分配高分。然而,如果該個人的髖部角度指示出該個人把臉轉離系統(tǒng),則可向該參數(shù)分配低分。還注意,參數(shù)的值可基于運動數(shù)據(jù)。例如,整個個人身體的移動可能暗示該個人不意圖參與系統(tǒng)。相反,如果該個人是靜止的,這可推斷出參與系統(tǒng)的意圖。因此,可基于該個人的整個身體或該個人的身體的某一特定部位的相對運動量來向運動參數(shù)分配高/中/低得分。注意,該得分代表當前時間段。當前時間段可以是任何時間間隔。在步驟312,基于來自當前時間段的參數(shù)的得分,對于當前時間段確定參與系統(tǒng)的意圖的等級。在一個實施例中,來自每個參數(shù)的得分被相加以確定值是否跨一閾值。然而, 可使用其他技術來確定參數(shù)的得分是否指示出參與系統(tǒng)的意圖。注意,參與系統(tǒng)的聚集的意圖可基于先前時間段的參數(shù)的得分,將在下面的步驟320中討論。如果確定該個人意圖參與系統(tǒng)(步驟314),則在步驟316進入一模式,該模式中選擇的用戶動作被解釋為對系統(tǒng)的輸入。系統(tǒng)可對與該應用有關的用戶動作作出反應。例如,系統(tǒng)可對個人在用戶界面中作出選擇的手勢作出反應。注意,被用于確定個人意圖參與系統(tǒng)的數(shù)據(jù)不必包括手勢。該模式可繼續(xù),直到作出該個人意圖脫離系統(tǒng)的判定為止。在步驟318,以某種方式修改來自先前時間段的參數(shù)的得分。該步驟可幫助實現(xiàn)隨時間一致的意圖等級。在一個實施例中,隨時間降低參數(shù)的得分。許多技術可用于隨時間降低參數(shù)的影響。例如,每個參數(shù)的得分可隨時間衰減。在步驟320,作出隨時間聚集的意圖等級是否指示出對參與系統(tǒng)的渴望的判定。在一個實施例中,來自當前時間段的參數(shù)的得分和來自先前時間段的參數(shù)的降低的得分被用于確定聚集的意圖等級。注意,如果參數(shù)的當前得分僅僅微弱地指示出參與系統(tǒng)的意圖,則步驟314的判定可取到步驟318的路徑。然而,通過對來自先前時間段的意圖等級的聚集, 可推斷出足夠的意圖等級。在這種情況下,用戶可能花費較長時間來參與系統(tǒng)。然而,還可能是可排除更多的假肯定姿勢識別錯誤。在步驟322,如果確定參與系統(tǒng)的聚集的意圖等級足夠高,則過程進行到步驟 316,在步驟316中選擇的用戶動作被解釋為對系統(tǒng)的輸入。然而,如果確定參與系統(tǒng)的聚集的用戶意圖等級不是足夠高(步驟322),則過程返回到步驟304以對下一時間段收集數(shù)據(jù)。該過程可連續(xù)地循環(huán),直到確定該個人意圖參與系統(tǒng)為止。注意,盡管脫離系統(tǒng)的意圖沒有在該過程中顯式地示出,但是該過程可被修改來允許用戶或者顯式地脫離或者通過例如一段不活動時間段來推斷脫離的意圖。圖4A描繪了用于生成深度相機系統(tǒng)的視野中的個人的模型的示例方法。該示例方法可以使用例如結合圖2討論的深度相機系統(tǒng)20和/或計算環(huán)境12來實現(xiàn)。可以掃描一個或多個人來生成模型,如骨架模型、網格人類模型、或個人的任何其他合適的表示。該模型然后可被分析來確定參與系統(tǒng)的意圖等級。該模型還可被跟蹤來允許用戶與計算環(huán)境執(zhí)行的應用交互。然而,如前所述,模型的不同于用于與應用交互的那些參數(shù)可用于確定意圖等級。用于生成模型的掃描可以在啟動或運行應用時發(fā)生,或按照由所掃描的個人的應用控制地在其他時間發(fā)生。根據(jù)一個實施例,在步驟402,例如從深度相機系統(tǒng)接收深度信息。深度相機系統(tǒng)可以捕捉或觀察可包括一個或多個目標的視野。在一示例實施例中,如所討論的,深度相機系統(tǒng)可使用諸如飛行時間分析、結構化光分析、立體視覺分析等任何合適的技術來獲得與捕捉區(qū)域中的一個或多個目標相關聯(lián)的深度信息。如所討論的,深度信息可包括具有多個所觀察的像素的深度圖像,其中每一所觀察的像素具有所觀察的深度值。深度圖像可以被降采樣到較低處理分辨率,以使其可被更容易地使用且以更少的計算開銷來處理。另外,可從深度圖像中移除和/或平滑掉一個或多個高變度和/或含噪聲的深度值;可填入和/或重構缺少的和/或移除的深度信息的部分;和/或可對所接收的深度信息執(zhí)行任何其他合適的處理,使得該深度信息可用于生成結合圖4b和如討論的諸如骨架模型等模型。在步驟404,作出關于深度圖像是否包括人類目標的判定。這可包括對深度圖像中的每一目標或對象進行泛色填充,將每一目標或對象與一圖案進行比較來確定該深度圖像是否包括人類目標。例如,可以比較深度圖像的所選區(qū)域或點中的像素的各個深度值來確定可定義如上所述的目標或對象的邊緣。可基于所確定的邊緣來對Z個層的可能的Z個值進行泛色填充。例如,與所確定的邊緣相關聯(lián)的像素以及邊緣內的區(qū)域的像素可互相關聯(lián)來定義捕捉區(qū)域中的可與圖案進行比較的目標或對象,這將在下文中更詳細描述。如果視野中有人(步驟406為真),則執(zhí)行步驟408。如果沒有人(步驟406為假),則在步驟402接收額外的深度信息。
對照其來比較每一目標或對象的圖案可包括具有共同定義典型的人類身體的一組變量的一個或多個數(shù)據(jù)結構。與例如視野中的人類目標和非人類目標的像素相關聯(lián)的信息可以與各變量進行比較來標識人類目標。在一個實施例中,該組中的每一變量可基于身體部位來加權。例如,圖案中諸如頭和/或肩等各個身體部位可具有與其相關聯(lián)的、可大于諸如腿等其他身體部位的權重值。根據(jù)一個實施例,可在將目標與變量進行比較來確定目標是否是人類以及哪一目標可以是人類時使用權重值。例如,變量與目標之間的具有較大權重值的匹配可產生比具有較小權重值的匹配更大的該目標是人類的可能性。步驟408包括掃描人類目標來尋找身體部位。可以掃描人類目標來提供與個人的一個或多個身體部位相關聯(lián)的諸如長度、寬度等度量,以提供該個人的準確模型。在一示例實施例中,可隔離該人類目標,并且可創(chuàng)建該人類目標的位掩模來掃描一個或多個身體部位。該位掩??赏ㄟ^例如對人類目標進行泛色填充,使得該人類目標可以與捕捉區(qū)域元素中的其他目標或對象分離來創(chuàng)建。隨后可分析該位掩模來尋找一個或多個身體部位,以生成人類目標的模型,如骨架模型、網格人類模型等。例如,根據(jù)一實施例,可使用由所掃描的位掩模確定的度量值來定義結合圖4b和如討論的骨架模型中的一個或多個關節(jié)。該一個或多個關節(jié)可用于定義可對應于人類的身體部位的一根或多根骨。例如,人類目標的位掩模的頂部可以與頭的頂部的位置相關聯(lián)。在確定了頭的頂部之后,可以向下掃描該位掩模來隨后確定頸的位置、肩的位置等等。例如,在所掃描的位置處的位掩模的寬度可以與和例如頸、肩等相關聯(lián)的典型寬度的閾值進行比較。在替換實施例中,可以使用離位掩模中先前掃描的并與身體部位相關聯(lián)的位置的距離來確定頸、肩等的位置。諸如腿、腳等的某些身體部位可基于例如其他身體部位的位置來計算。在確定了身體部位的值之后,可創(chuàng)建包括身體部位的度量值的數(shù)據(jù)結構。該數(shù)據(jù)結構可包括從深度相機系統(tǒng)在不同時間點提供的多個深度圖像中平均的掃描結果。步驟410包括生成人類目標的模型。在一實施例中,可使用由所掃描的位掩模確定的度量值來定義骨架模型中的一個或多個關節(jié)。該一個或多個關節(jié)用于定義可以和人類的身體部位相對應的一根或多根骨骼。例如,圖4b描繪了如圖如的步驟410中所述的個人的示例模型420,而圖如描繪了如圖如的步驟410中所述的個人的另一示例模型430?!愣?,每個身體部位可被表征為定義骨架模型的關節(jié)和骨骼的數(shù)學向量。身體部位可以在關節(jié)處相對于彼此移動。例如,前臂段4 連接到關節(jié)似6和429,而上臂段 424連接到關節(jié)422和426。前臂段4 可相對于上臂段似4移動??烧{整一個或多個關節(jié),直到這些關節(jié)在人類的關節(jié)和身體部位之間的典型距離范圍之內,以生成更準確的骨架模型。該模型可基于例如與人類目標相關聯(lián)的高度來進一步調節(jié)。可跟蹤骨架模型使得用戶58的物理移動或運動可用作調整和/或控制應用的參數(shù)的實時用戶接口。例如,所跟蹤的個人的移動可用于在操縱屏幕上光標、在電子角色扮演游戲中移動化身或其他屏幕上人物;在電子賽車游戲中控制屏幕上車輛;在虛擬環(huán)境中控制物體的構成或組織;或執(zhí)行應用的任何其他合適的控制。作為一個具體示例,通過跟蹤用戶手移動,用戶能夠操縱屏幕上光標來導航用戶界面。一般而言,可使用用于跟蹤個人的移動的任何已知技術。注意,個人的模型不限于骨架數(shù)據(jù)。在一個實施例中,特征識別軟件被用于為模型
11生成附加數(shù)據(jù)。例如,可使用特征識別軟件來確定個人注視的方向。有時,在系統(tǒng)的視野中可能有不只一人。在一些實施例中,該系統(tǒng)能夠確定哪些人正意圖參與系統(tǒng)而哪些人沒有。例如,兩個人可能正在系統(tǒng)上玩網球游戲,而同時其他人正在觀看。然而,正在觀看的那些人可能位于視野中。有時,那些正在觀看的人可與那些正在玩的人交換。圖5是當應用有比適當情況更多的用戶時確定哪些用戶正意圖參與系統(tǒng)的過程的一個實施例的流程圖。該示例方法可以使用例如結合圖2討論的深度相機系統(tǒng)20和/ 或計算環(huán)境12來實現(xiàn)。在步驟502,系統(tǒng)確定應用有比適當情況更多的用戶。在一個實施例中,圖4A的過程用于為視野中的每個用戶生成單獨的模型。該系統(tǒng)可將生成的模型的數(shù)量與允許的用戶的數(shù)量相比較。在步驟504,分析每個模型以對于該模型確定意圖等級。在一個實施例中,步驟 504包括執(zhí)行步驟308、310、312、318和320以確定每個模型的參數(shù)的值、參數(shù)的得分以及每個用戶的意圖等級。意圖等級可以是基于來自不同時間段的參數(shù)值的聚集的意圖等級。注意,步驟504不必包括確定給定模型的意圖等級是否指示出參與系統(tǒng)的意圖,但它可包括。 因此,步驟314和322無需被執(zhí)行。在步驟506中,選擇具有最高的參與系統(tǒng)的意圖等級的模型。因此,對應于所選模型的用戶被允許參與系統(tǒng)。例如,兩個所選用戶的動作被允許控制正被系統(tǒng)運行的游戲。然而,系統(tǒng)檢測到的其他用戶的動作可被忽略。如果步驟314和/或322在步驟504期間執(zhí)行以確定用戶是否具有足夠高的參與系統(tǒng)的意圖等級,則步驟506可確定有比當前應用所允許的更少的合格用戶。如果是這樣, 則系統(tǒng)可僅允許具有足夠高的意圖等級的那些用戶參與系統(tǒng)。然而,系統(tǒng)也可修改確定用戶的動作是否暗示出足夠的意圖所需的閾值,以允許更多的用戶參與系統(tǒng)。在某些實施例中,系統(tǒng)既采用高閾值也采用低閾值。圖6是在確定用戶是否意圖參與系統(tǒng)時使用高和低閾值的過程的一個實施例的流程圖。該過程是圖3的步驟312或者步驟320的一個實施例。在步驟602,系統(tǒng)給出指示出當前沒有用戶參與系統(tǒng)的信號。這可以是視覺信號;然而并不排除聽覺信號。在步驟604,基于用戶最后一次參與系統(tǒng)以來的時間長度設置用于確定意圖的閾值。這允許最近參與系統(tǒng)的用戶更快地重新參與。而且,它可幫助防止假肯定。在一個實施例中,有兩個閾值。高閾值可用于確定用戶是否意圖參與系統(tǒng)。較低的閾值可用于確定用戶可能希望參與系統(tǒng),但還沒有展示出可從中推斷意圖的足夠的動作(姿態(tài)、位置等)。 在后一種情況中,系統(tǒng)可向用戶給出該系統(tǒng)注意到該用戶但用戶還未參與系統(tǒng)的信號。在步驟606,訪問參數(shù)的得分。這些得分可以是來自當前時間段的得分或來自先前時間段的修改的得分。從而,得分可以是圖3的步驟310或318中生成的那些。在步驟608,系統(tǒng)確定得分是否跨高閾值。例如,系統(tǒng)可將來自當前時間段的得分相加以確定它們是否比高閾值大。作為另一個示例,系統(tǒng)可將來自當前時間段的得分和來自先前時間段的修改的得分相加來確定它們是否比高閾值大。作為又一個示例,計算來自不同時間段的得分的加權平均。然而,可使用其它技術。注意,在某些情況中,當前時間段的用戶動作可能不足以跨高閾值。然而,當來自先前時間段的修改的得分被聚集時,閾值可能被跨越。因此,如果用戶的動作強烈地推斷出意圖則用戶可更快速地參與系統(tǒng)。換言之,如果用戶的動作微弱地推斷出意圖則用戶可更慢速地參與系統(tǒng)。如果高閾值被跨越(如步驟608所確定的),則系統(tǒng)可進入選擇的用戶動作(例如手勢)被解釋為輸入的模式(步驟610)。系統(tǒng)還可向用戶提供他們已經成功地參與了系統(tǒng)的反饋??墒褂萌魏晤愋偷姆答仯ǖ幌抻?,視覺和聽覺。如果高閾值沒有被跨過,則過程繼續(xù)以確定低閾值是否被跨過(步驟612)。例如, 系統(tǒng)可將來自當前時間段的得分相加以確定它們是否比低閾值大。作為另一個示例,系統(tǒng)可將來自當前時間段的得分和來自先前時間段的修改的得分相加來確定它們是否比低閾值大。然而,可使用其它技術。如果低閾值被跨過,則系統(tǒng)可向用戶提供反饋,指示出系統(tǒng)注意到用戶但用戶還未參與系統(tǒng)(步驟614)。可使用任何類型的反饋,包括但不限于,視覺和聽覺。通過提供這種反饋,可鼓勵用戶采取進一步的步驟來嘗試參與系統(tǒng)或可試圖避免參與系統(tǒng)。不管低閾值是否被跨過,過程繼續(xù)以在步驟616確定是否有來自用戶的參與系統(tǒng)的顯式信號。例如,可有系統(tǒng)承認的顯式信號。這種信號可以是例如視覺或音頻信號。在某些實施例中,低閾值被跨過之后的某些用戶動作與高閾值或低閾值都沒有被跨過的情況下不同地被解釋。例如,此時來自用戶的簡短的手運動可指示出用戶想要參與系統(tǒng)。然而,如果高閾值或低閾值都沒有被跨過,則這種手運動可能已被忽略。作為另一示例,用戶可能作出指示該用戶此時不希望參與系統(tǒng)的信號。如果用戶作出參與系統(tǒng)的顯式請求(如步驟616所確定的),則在步驟618中系統(tǒng)使用戶參與。從而,運動捕捉系統(tǒng)檢測到的選擇的用戶動作現(xiàn)在被解釋為對系統(tǒng)的輸入。 注意,為了解釋的方便,在過程中的特定位置示出對來自用戶的顯式信號的測試。用戶可在任何時候作出這種請求。如所述,當確定參與系統(tǒng)的意圖等級時有許多不同的可被考慮的參數(shù)。在某些實施例中,系統(tǒng)首先確定這些參數(shù)中的每個參數(shù)的值。例如,系統(tǒng)可確定髖部旋轉的角度。然后,系統(tǒng)確定該值的得分,其中越高的得分可指示出越高的意圖等級。在某些實施例中,得分可指示出參與的意圖程度或脫離的意圖的程度。作為一個示例,對于參與意圖可使用正得分,而對于脫離意圖可使用負得分;然而,可使用其他評分系統(tǒng)。接著,系統(tǒng)確定得分的整體意圖等級。如所述,可存在對于當前時間的得分,和/或來自先前時間段的修改的得分。 下面是可被使用的示例參數(shù)。該列表是出于說明的目的,且不應被解釋為對這些參數(shù)的限制。用戶的整個身體或任何身體部位的移動可被認為是參數(shù)。注意,對于某些系統(tǒng) (例如基于手的姿勢系統(tǒng)),意圖交互的用戶可能在短的時間段上保持在相對一致的位置和身體姿態(tài)。對于移動參數(shù)的值可包括基于位置、方向和速度的向量。在某些實施例中,對較少的移動給予較高的得分。例如,站立不動的用戶可具有更高的參與系統(tǒng)的意圖。對于身體運動參數(shù)的得分可基于該向量與物理交互區(qū)(PHIZ)的比較。在一個實施例中,系統(tǒng)定義深度相機的視野內的物理交互區(qū)(PHIZ)。PHIZ可具有任何形狀。例如,PHIZ可具有意圖捕捉典型的用戶的手勢的邊界。作為一個示例,PHIZ可被定義為具有上邊界、下邊界、左邊界和右邊界的區(qū)域。作為一個示例, 得分可基于用戶的手是否進入或離開PHIZ。
用戶的上身的旋轉可被認為是參數(shù)。例如,面向系統(tǒng)可暗示出意圖參與。這可基于髖部、肩部或另一身體部位的旋轉角度。個人的注視的方向也可被考慮。在某些實施例中, 存在被認為是強烈地暗示出意圖參與的角度范圍。然而,一旦用戶處于該角度范圍內時,即使用戶略微地走出那些角度,仍可暗示出強參與意圖。因此,對某一值(例如髖部或肩部角度)賦予的得分可基于先前的用戶動作而被實時調整。頭部取向和/或注視方向可以是參數(shù)。注意,這些參數(shù)可能不基于骨架數(shù)據(jù)。在一個實施例中,用戶的注視的方向是使用特征識別軟件確定的。作為一個示例,系統(tǒng)可配備有面部識別軟件。然而,并不要求確定實際用戶是誰。相反,能夠確定注視的方向就足夠了。 因此,特征識別軟件無需具有識別特定用戶的能力。用戶的一個或兩個手的位置可被認為是參數(shù)。例如,當用戶的手進入或離開PHIZ 時可作出確定。而且,可跟蹤用戶的手最后一次進入或離開PHIZ的方向。在一個實施例中, 每個手最后一次進入/離開PHIZ的方向被跟蹤作為參數(shù)。例如,把手放下到PHIZ的底邊緣之外可以是比在大型姿勢期間將手移出左邊緣或右邊緣更強的負面意圖信號。手姿態(tài)可以是參數(shù)。手姿態(tài)可包括但不限于,手掌面向的方向、手指指向的方向、 每個手指的取向(例如閉合、張開)。注意,如果骨架數(shù)據(jù)足夠詳細,則手姿態(tài)可基于骨架數(shù)據(jù)來確定。例如,如果骨架數(shù)據(jù)包括關于拇指和手指的數(shù)據(jù),則可能是這種情況。然而,不要求具有詳細的骨架數(shù)據(jù)來確定手姿態(tài)。在一個實施例中,特征識別軟件被用來確定手姿態(tài)??墒褂迷谝欢虝r間段內相對于預期姿勢的手移動的主平面作為參數(shù)。例如,允許手勢的系統(tǒng)可預期(盡管并不要求)手勢出現(xiàn)在特定χ/γ平面中。用戶的手運動匹配預期的X/Y平面的程度可肯定地與參與系統(tǒng)的意圖相關。已參與的用戶的不活動時間段可以是參數(shù)。例如,缺少用戶的手的運動可減少參與系統(tǒng)的意圖。朝向顯式參與姿勢的測量的進展可以是參數(shù)。例如,用戶揮動或作出語音/音頻提示可加速參與。其示例在圖6的步驟616中給出。本文描述的各種實施例可至少部分地在計算環(huán)境中執(zhí)行。圖7描繪了可以在圖 la、圖Ib和圖2的運動捕捉系統(tǒng)中使用的計算環(huán)境的示例框圖。該計算環(huán)境也可在執(zhí)行圖3、如、5和6所述的過程的至少一些步驟時使用。該計算環(huán)境可用于確定用戶的參與運動捕捉系統(tǒng)的意圖等級。一旦用戶參與,該計算環(huán)境還可用于解釋一個或多個姿勢或其他移動并作為響應更新顯示畫面上的視覺空間。上面參考圖la、Ib和2所描述的諸如計算環(huán)境12等的計算環(huán)境可以是諸如游戲控制臺等的多媒體控制臺100。多媒體控制臺100包括具有一級高速緩存102、二級高速緩存104和閃存ROM(只讀存儲器)106的中央處理單元 (CPU) 101。一級高速緩存102和二級高速緩存104臨時存儲數(shù)據(jù)并因此減少存儲器訪問周期數(shù),由此改進處理速度和吞吐量。CPU 101可以設置成具有一個以上的核,以及由此的附加的一級和二級高速緩存102和104。閃存R0M106可存儲在多媒體控制臺100通電時在引導進程初始化階段加載的可執(zhí)行代碼。圖形處理單元(GPU) 108和視頻編碼器/視頻編解碼器(編碼器/解碼器)114形成用于高速、高分辨率圖形處理的視頻處理流水線。數(shù)據(jù)經由總線從圖形處理單元108輸送到視頻編碼器/視頻編解碼器114。視頻處理流水線將數(shù)據(jù)輸出到A/V (音頻/視頻)端口 140以傳輸?shù)诫娨暀C或其他顯示器。存儲器控制器110連接到GPU 108以便于處理器訪問各種類型的存儲器112,諸如RAM(隨機存取存儲器)。多媒體控制臺100包括較佳地在模塊118上實現(xiàn)的I/O控制器120、系統(tǒng)管理控制器122、音頻處理單元123、網絡接口控制器124、第一 USB主控制器126、第二 USB控制器 1 和前面板I/O子部件130。USB控制器126和1 用作外圍控制器142⑴-142 O)、無線適配器148、和外置存儲器設備146 (例如閃存、外置⑶/DVD ROM驅動器、可移動介質等) 的主機。網絡接口 1 和/或無線適配器148提供對網絡(例如,因特網、家庭網絡等)的訪問并且可以是包括以太網卡、調制解調器、藍牙模塊、電纜調制解調器等的各種不同的有線和無線適配器組件中任何一種。提供系統(tǒng)存儲器143來存儲在引導進程期間加載的應用數(shù)據(jù)。提供媒體驅動器 144且其可包括DVD/CD驅動器、硬盤驅動器、或其它可移動媒體驅動器。媒體驅動器144對于多媒體控制臺100可以內置或外置的。應用數(shù)據(jù)可經由媒體驅動器144訪問,以由多媒體控制臺100執(zhí)行、回放等。媒體驅動器144經由諸如串行ATA總線或其它高速連接等總線連接到I/O控制器120。系統(tǒng)管理控制器122提供涉及確保多媒體控制臺100的可用性的各種服務功能。 音頻處理單元123和音頻編解碼器132形成具有高保真度和立體聲處理的對應的音頻處理流水線。音頻數(shù)據(jù)經由通信鏈路在音頻處理單元123與音頻編解碼器132之間傳輸。音頻處理流水線將數(shù)據(jù)輸出到A/V端口 140以供外置音頻播放器或具有音頻能力的設備再現(xiàn)。前面板I/O子部件130支持暴露在多媒體控制臺100的外表面上的電源按鈕150 和彈出按鈕152以及任何LED(發(fā)光二極管)或其它指示器的功能。系統(tǒng)供電模塊136向多媒體控制臺100的組件供電。風扇138冷卻多媒體控制臺100內的電路。CPU 101、GPU 108、存儲器控制器110、和多媒體控制臺100內的各個其它組件經由一條或多條總線互連,包括串行和并行總線、存儲器總線、外圍總線、和使用各種總線架構中任一種的處理器或局部總線。當多媒體控制臺100通電時,應用數(shù)據(jù)可從系統(tǒng)存儲器143加載到存儲器112和/ 或高速緩存102、104中并在CPU 101上執(zhí)行。應用可呈現(xiàn)在導航到多媒體控制臺100上可用的不同媒體類型時提供一致的用戶體驗的圖形用戶界面。在操作中,媒體驅動器144中包含的應用和/或其它媒體可從媒體驅動器144啟動或播放,以向多媒體控制臺100提供附加功能。多媒體控制臺100可通過將該系統(tǒng)簡單地連接到電視機或其它顯示器而作為獨立系統(tǒng)來操作。在該獨立模式中,多媒體控制臺100允許一個或多個用戶與該系統(tǒng)交互、看電影、或聽音樂。然而,隨著通過網絡接口 1 或無線適配器148可用的寬帶連接的集成, 多媒體控制臺100還可作為較大網絡社區(qū)中的參與者來操作。當多媒體控制臺100通電時,保留指定量的硬件資源以供多媒體控制臺操作系統(tǒng)作系統(tǒng)使用。這些資源可以包括存儲器保留(例如,16MB)、CPU和GPU周期(例如,5%)、 網絡帶寬(例如,SlAs)等。因為這些資源是在系統(tǒng)引導時保留的,所以所保留的資源對應用而言是不存在的。具體地,存儲器保留較佳地足夠大,以包含啟動內核、并發(fā)系統(tǒng)應用和驅動程序。 CPU保留較佳地為恒定,使得若所保留的CPU用量不被系統(tǒng)應用使用,則空閑線程將消耗任
15何未使用的周期。對于GPU保留,通過使用GPU中斷來顯示由系統(tǒng)應用生成的輕量消息(例如,彈出窗口),以調度代碼來將彈出窗口呈現(xiàn)為覆蓋圖。覆蓋圖所需的存儲器量取決于覆蓋區(qū)域大小,并且覆蓋圖較佳地與屏幕分辨率成比例縮放。在并發(fā)系統(tǒng)應用使用完整用戶界面的情況下,優(yōu)選使用獨立于應用分辨率的分辨率。定標器可用于設置該分辨率,從而無需改變頻率,也就不會引起TV重新同步。在多媒體控制臺100引導且系統(tǒng)資源被保留之后,就執(zhí)行并發(fā)系統(tǒng)應用來提供系統(tǒng)功能。系統(tǒng)功能被封裝在一組在上述所保留的系統(tǒng)資源中執(zhí)行的系統(tǒng)應用中。操作系統(tǒng)內核標識是系統(tǒng)應用線程而非游戲應用線程的線程。系統(tǒng)應用可被調度為在預定時間并以預定時間間隔在CPU 101上運行,以為應用提供一致的系統(tǒng)資源視圖。進行調度是為了把由在控制臺上運行的游戲應用所引起的高速緩存分裂最小化。當并發(fā)系統(tǒng)應用需要音頻時,則由于時間敏感性而異步調度音頻處理給游戲應用。多媒體控制臺應用管理器(如下所述)在系統(tǒng)應用活動時控制游戲應用的音頻水平 (例如,靜音、衰減)。輸入設備(例如,控制器142(1)和142( )由游戲應用和系統(tǒng)應用共享。輸入設備不是所保留的資源,但卻在系統(tǒng)應用和游戲應用之間切換以使其各自具有設備的焦點。 應用管理器較佳地控制輸入流的切換,而無需知曉游戲應用的知識,并且驅動程序維持有關焦點切換的狀態(tài)信息。控制臺100可從包括相機沈和觀的圖2的深度相機系統(tǒng)20接收附加輸入。圖8描繪了可以在圖la、圖Ib和圖2的運動捕捉系統(tǒng)中使用的計算環(huán)境的另一示例框圖。該計算環(huán)境也可在執(zhí)行圖3、如、5和6所述的過程的至少一些步驟時使用。該計算環(huán)境可用于確定用戶的參與運動捕捉系統(tǒng)的意圖等級。一旦用戶參與,該計算環(huán)境可用于解釋一個或多個姿勢或其他移動并作為響應更新顯示畫面上的視覺空間。計算環(huán)境 220包括計算機M1,計算機241通常包括各種有形計算機可讀存儲介質。這可以是能由計算機241訪問的任何可用介質,而且包含易失性和非易失性介質、可移動和不可移動介質。 系統(tǒng)存儲器222包括易失性和/或非易失性存儲器形式的計算機存儲介質,如只讀存儲器 (ROM) 223和隨機存取存儲器(RAM06O?;据斎?輸出系統(tǒng)224 ¢10 包括如在啟動時幫助在計算機241內的元件之間傳輸信息的基本例程,它通常儲存在ROM 223中。RAM 260 通常包含處理單元259可以立即訪問和/或目前正在操作的數(shù)據(jù)和/或程序模塊。作為示例而非局限,圖8描繪了操作系統(tǒng)225、應用程序226、其它程序模塊227和程序數(shù)據(jù)228。計算機241還可包括其他可移動/不可移動、易失性/非易失性計算機存儲介質, 如從不可移動、非易失性磁介質讀取或對其寫入的硬盤驅動器238,從可移動、非易失性磁盤2M讀取或對其寫入的磁盤驅動器239,以及從諸如CDROM或其他光介質等可移動、非易失性光盤253讀取或對其寫入的光盤驅動器M0??梢栽谑纠圆僮鳝h(huán)境中使用的其他可移動/不可移動、易失性/非易失性有形計算機可讀存儲介質包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅動器238通常由諸如接口 234等不可移動存儲器接口連接至系統(tǒng)總線221,磁盤驅動器239和光盤驅動器240通常由諸如接口 235等可移動存儲器接口連接至系統(tǒng)總線221。以上討論并在圖8中描繪的驅動器及其相關聯(lián)的計算機存儲介質為計算機241提供了對計算機可讀指令、數(shù)據(jù)結構、程序模塊和其他數(shù)據(jù)的存儲。例如,硬盤驅動器238被描繪為存儲操作系統(tǒng)258、應用程序257、其它程序模塊256和程序數(shù)據(jù)255。注意,這些組件可以與操作系統(tǒng)225、應用程序226、其他程序模塊227和程序數(shù)據(jù)2 相同,也可以與它們不同。操作系統(tǒng)258、應用程序257、其他程序模塊256和程序數(shù)據(jù)255在這里被標注了不同的標號是為了說明至少它們是不同的副本。用戶可以通過輸入設備,諸如鍵盤251和定點設備252 (通常被稱為鼠標、跟蹤球或觸摸墊),向計算機241輸入命令和信息。其他輸入設備(未示出)可以包括話筒、操縱桿、游戲手柄、圓盤式衛(wèi)星天線、掃描儀等等。這些和其他輸入設備通常由耦合至系統(tǒng)總線的用戶輸入接口 236連接至處理單元259,但也可以由其他接口和總線結構,諸如并行端口、游戲端口或通用串行總線(USB),來連接。包括相機沈和觀的圖2的深度相機系統(tǒng)20可為控制臺100定義附加輸入設備。監(jiān)視器242或其他類型的顯示器也經由接口,諸如視頻接口 232連接至系統(tǒng)總線221。除監(jiān)視器以外,計算機也可以包括其它外圍輸出設備,諸如揚聲器244和打印機M3,它們可以通過輸出外圍接口 233連接。計算機241可使用至一個或多個遠程計算機,諸如遠程計算機對6的邏輯連接在網絡化環(huán)境中操作。遠程計算機246可以是個人計算機、服務器、路由器、網絡PC、對等設備或其他常見的網絡節(jié)點,且通常包括許多或所有以上相對于計算機241描述的元件, 但是在圖4中僅示出了存儲器存儲設備M7。邏輯連接包括局域網(LAN) 245和廣域網 (WAN) M9,但也可以包括其它網絡。這樣的聯(lián)網環(huán)境在辦公室、企業(yè)范圍計算機網絡、內聯(lián)網和因特網中是常見的。當在LAN聯(lián)網環(huán)境中使用時,計算機241通過網絡接口或適配器237連接至LAN 2450當在WAN聯(lián)網環(huán)境中使用時,計算機241通常包括調制解調器250或用于通過諸如因特網等WAN 249建立通信的其他裝置。調制解調器250可以是內置或外置的,它可以經由用戶輸入接口 236或其他適當?shù)臋C制連接至系統(tǒng)總線221。在網絡化環(huán)境中,相對于計算機 241所描述的程序模塊或其部分可被存儲在遠程存儲器存儲設備中。作為示例而非限制, 圖8示出了遠程應用程序248駐留在存儲器設備247上??梢岳斫?,所示的網絡連接是示例性的,且可以使用在計算機之間建立通信鏈路的其他手段。在此所述技術的上述詳細描述是為了說明和描述而提供的。并非旨在窮舉本技術或將其限于所公開的精確形式。鑒于上述教導,許多修改和變型都是可能的。選擇上述實施例來最好地解釋本技術的原理及其實踐應用,從而使本領域其他人能夠在各種實施例中并用各種適于所構想的特定用途的修改一起最好地利用本技術。本技術的范圍旨在由所附權利要求書來定義。
權利要求
1.一種機器實現(xiàn)的方法,包括收集描述運動捕捉系統(tǒng)的視野內的個人的身體的數(shù)據(jù),所述數(shù)據(jù)是隨時間被收集的 (304);基于所述數(shù)據(jù)對多個時間段的每一個時間段生成個人的身體的模型(306); 對每個模型的多個參數(shù)中的每個參數(shù)生成值,每個參數(shù)的值定義了個人的身體的關于參與系統(tǒng)的意圖等級的方面(308);基于每個模型的參數(shù)值聚集參與系統(tǒng)的意圖等級(320);如果聚集的意圖等級超過閾值,將運動捕捉系統(tǒng)所捕捉的選擇的用戶動作解釋為對系統(tǒng)的輸入(316);如果聚集的意圖等級沒有超過閾值,則將運動捕捉系統(tǒng)所捕捉的所述選擇的用戶動作解釋為噪聲(302)。
2.如權利要求1所述的機器實現(xiàn)的方法,其特征在于,還包括 確定參數(shù)的值是強烈地還是微弱地指示出該個人意圖參與系統(tǒng);以及如果參數(shù)的值微弱地指示出該個人意圖參與系統(tǒng),則向該個人提供指示出系統(tǒng)注意到該個人的存在的反饋,但將運動捕捉系統(tǒng)所捕捉的所述選擇的用戶動作解釋為噪聲;將運動捕捉系統(tǒng)所捕捉的選擇的用戶動作解釋為對系統(tǒng)的輸入包括確定參數(shù)的值強烈地指示出參與系統(tǒng)的意圖。
3.如權利要求1或2所述的機器實現(xiàn)的方法,其特征在于,對多個參數(shù)中的每個參數(shù)生成值包括對所述多個參數(shù)的每個個體參數(shù)推斷參與系統(tǒng)的意圖等級。
4.如權利要求1至3中任一項所述的機器實現(xiàn)的方法,其特征在于,聚集參與系統(tǒng)的意圖等級還基于自從該個人最后一次參與系統(tǒng)以來已經經過的時間。
5.如權利要求1至4中的任一項所述的機器實現(xiàn)的方法,其特征在于,還包括 修改給予先前的時間段的每個參數(shù)的權重。
6.如權利要求5所述的機器實現(xiàn)的方法,其特征在于,修改給予先前的時間段的每個參數(shù)的權重包括向來自更早的時間段的參數(shù)提供逐漸減少的權重。
7.如權利要求1至6中的任一項所述的機器實現(xiàn)的方法,其特征在于,描述個人的身體的數(shù)據(jù)包括骨架數(shù)據(jù)。
8.如權利要求1至6中任一項所述的機器實現(xiàn)的方法,其特征在于,所述選擇的用戶動作包括手勢。
9.一種運動捕捉系統(tǒng),包括 具有視野的圖像相機組件02); 顯示器(196);以及與所述圖像相機組件和所述顯示器通信的邏輯(32,192),所述邏輯用于 收集描述所述圖像相機組件的視野內的個人的身體的數(shù)據(jù),所述數(shù)據(jù)是隨時間被收集的(304);基于所述數(shù)據(jù)對多個時間段的每一個時間段生成個人的身體的模型(306); 對每個模型的多個參數(shù)中的每個參數(shù)生成值,每個參數(shù)定義了個人的身體的關于參與運動捕捉系統(tǒng)的意圖等級的方面(308);基于每個模型的參數(shù)的值聚集參與系統(tǒng)的意圖等級(320);確定聚集的意圖等級是否強烈地指示出參與運動捕捉系統(tǒng)的意圖(608); 在聚集的意圖等級強烈地指示出參與運動捕捉系統(tǒng)的意圖的情況下,將深度相機捕捉的選擇的用戶動作解釋為對運動捕捉系統(tǒng)的輸入(610);確定聚集的意圖等級是否微弱地指示出參與運動捕捉系統(tǒng)的意圖(612); 在聚集的意圖等級微弱地指示出參與運動捕捉系統(tǒng)的意圖情況下,提供指示出運動捕捉系統(tǒng)注意到個人的存在的反饋,但不允許該個人參與運動捕捉系統(tǒng)(614);以及在聚集的意圖等級既不強烈地也不微弱地指示出參與運動捕捉系統(tǒng)的意圖的情況下, 將選擇的用戶動作解釋為噪聲(302)。
10.如權利要求9所述的運動捕捉系統(tǒng),其特征在于,所述邏輯進一步用于生成圖像相機組件的視野內每個個人的身體的單獨的模型,這些單獨的模型基于在所述視野內收集的數(shù)據(jù);確定當前時刻所述視野中有比被允許與系統(tǒng)交互的人更多的人,所述系統(tǒng)允許特定數(shù)量的人在當前時刻進行交互;以及分析每個模型以選擇具有最高的與系統(tǒng)交互的意圖等級的所述特定數(shù)量的人。
11.如權利要求10所述的運動捕捉系統(tǒng),其特征在于,所述數(shù)據(jù)包括所述視野內的每個個人的身體的骨架數(shù)據(jù),所述邏輯還用于對所述視野中的每個個人的骨架數(shù)據(jù)生成一組參數(shù),對所述多個時間段的每一個時間段生成一組參數(shù);以及基于每個時間段的各組參數(shù)確定每個個人的聚集的意圖等級。
12.如權利要求9至11中任一項所述的運動捕捉系統(tǒng),其特征在于,所述邏輯還用于基于自從該個人最后一次參與系統(tǒng)以來已經經過的時間來確定意圖等級是否強烈地指示出參與系統(tǒng)的意圖。
13.如權利要求9至12中任一項所述的運動捕捉系統(tǒng),其特征在于,所述邏輯進一步用于基于每個時間段的每個參數(shù)的值確定得分,每個得分表示對相關聯(lián)的參數(shù)的值推斷的意圖等級。
14.如權利要求13所述的運動捕捉系統(tǒng),其特征在于,所述邏輯進一步用于修改與先前時間段的參數(shù)相關聯(lián)的得分,以更改給予來自先前時間段的參數(shù)的權重。
15.如權利要求13所述的運動捕捉系統(tǒng),其特征在于,所述邏輯進一步用于降低與先前時間段的參數(shù)相關聯(lián)的得分,以減少給予來自先前時間段的參數(shù)的權重。
全文摘要
本發(fā)明涉及推斷參與運動捕捉系統(tǒng)的用戶意圖。提供了用于推斷用戶的與運動捕捉系統(tǒng)所運行的應用交互的意圖的技術。消除了與運動捕捉系統(tǒng)交互的蓄意的用戶姿勢和系統(tǒng)的視野內的無關的用戶運動的歧義??墒褂盟惴▉泶_定用戶的參與系統(tǒng)的聚集等級的意圖。算法中的參數(shù)可包括用戶身體的姿態(tài)和運動,以及系統(tǒng)的狀態(tài)。該系統(tǒng)可形成骨架模型來確定各種參數(shù)。如果系統(tǒng)確定參數(shù)強烈地指示出參與系統(tǒng)的意圖,則系統(tǒng)可快速反應。然而,如果參數(shù)僅僅微弱地指示出參與系統(tǒng)的意圖,則用戶可能花費更長時間來參與系統(tǒng)。
文檔編號G06T7/00GK102207771SQ201110128898
公開日2011年10月5日 申請日期2011年5月11日 優(yōu)先權日2010年5月12日
發(fā)明者A·瓦賽爾, A·達亞爾, A·馬汀格利, C·克萊恩, L·陳 申請人:微軟公司