部分((例如,當(dāng)使用HMD時)),而非操控鼠標(biāo)以接收用戶接口310內(nèi)的用戶輸入。在實施例300中,當(dāng)用戶操控用戶接口 310中的光標(biāo)315以將其定位在對應(yīng)于特定應(yīng)用程序的圖標(biāo)和/或文字上面時,使與所述特定應(yīng)用程序相關(guān)聯(lián)的手勢分類上下文起作用。因此,在一些實施例中,管理用戶接口 310的操作系統(tǒng)可基于光標(biāo)315來確定哪個手勢分類上下文起作用。
[0059]在實施例300中,已由用戶將光標(biāo)315定位在圖標(biāo)320-1上面,所述圖標(biāo)320-1對應(yīng)于“媒體文件”應(yīng)用程序。當(dāng)光標(biāo)315定位在圖標(biāo)320-1(或?qū)?yīng)于圖標(biāo)320-1的文字)上面時,可使對應(yīng)于媒體文件應(yīng)用程序的先前所創(chuàng)建的手勢分類上下文起作用。當(dāng)這個手勢分類上下文起作用時,可基于與所述起作用的手勢分類上下文相關(guān)聯(lián)的度量值來分析由用戶執(zhí)行的手勢。
[0060]返回參考圖2,通過光標(biāo)315懸停在圖標(biāo)320-1上面而起作用的手勢分類上下文對應(yīng)于第二手勢分類上下文220-2。因此,當(dāng)?shù)诙謩莘诸惿舷挛?20-2起作用時,呈現(xiàn)用于區(qū)分以下各者的度量值:畫空心圓手勢、畫點(diǎn)手勢、揮手手勢、向左滑移手勢、向上滑移手勢和扣接手勢。當(dāng)?shù)诙謩莘诸惿舷挛?20-2起作用時,用戶可使用用戶的手部330來執(zhí)行手勢。
[0061]由于光標(biāo)315定位在圖標(biāo)320-1上面,所以假定用戶執(zhí)行的任何手勢意圖作為到“媒體文件”應(yīng)用程序的輸入。對于媒體文件應(yīng)用程序來說,僅第二手勢分類上下文220-2的手勢是有效的;因此,可預(yù)期用戶正執(zhí)行第二手勢分類上下文220-2的6個手勢中的一者。在圖3中,說明了2個移動路徑340和350。手部330可通過沿移動路徑340移動來執(zhí)行畫空心圓手勢。當(dāng)根據(jù)第二手勢分類上下文220-2的度量值來分析由手部330執(zhí)行的這個手勢時,其可分類為畫空心圓手勢??蓪⒅甘净蛞云渌绞綄?yīng)于畫空心圓手勢的命令提供作為到上面懸停有光標(biāo)315的媒體文件應(yīng)用程序的輸入。
[0062]雖然移動路徑340說明了理想的畫空心圓手勢,但用戶正好沿移動路徑340移動手部330也許是不大可能的。相反地,試圖執(zhí)行畫空心圓手勢的用戶可沿與移動路徑350類似的移動路徑來移動手部330。也就是說,當(dāng)試圖執(zhí)行畫空心圓手勢時,用戶的手部330可以大體上圓形運(yùn)動來移動,但這可導(dǎo)致手部330時常移動得更快或更慢和/或沒有圍繞中心點(diǎn)保持恒定半徑。針對其它類型的手勢可出現(xiàn)在用戶執(zhí)行手勢的方式方面的類似變化。
[0063]如果用戶沿移動路徑350移動手部330,那么可根據(jù)第二手勢分類上下文220-2的度量值來分析這個移動路徑350?;谶@些度量值,可確定移動路徑350對應(yīng)于畫空心圓手勢,其在第二手勢分類上下文220-2內(nèi)是有效的并且具有用于區(qū)分畫空心圓手勢與在第二手勢分類上下文220-2起作用時所執(zhí)行的其它手勢的度量值。
[0064]圖4說明使用上下文關(guān)聯(lián)的手勢分類來辨識的手勢的實施例400。像實施例300那樣,實施例400可涉及分別使用圖1A和IB的系統(tǒng)100A或100B。實施例400可表示在選擇不同應(yīng)用程序的情況下的圖3的實施例300。用戶可操控光標(biāo)315定位在不同應(yīng)用程序的圖標(biāo)320-2上面。在實施例400中,當(dāng)用戶操控用戶接口 310中的光標(biāo)315以將其定位在對應(yīng)于特定應(yīng)用程序的圖標(biāo)和/或文字上面時,使與所述特定應(yīng)用程序相關(guān)聯(lián)的手勢分類上下文起作用。因此,在一些實施例中,管理用戶接口 310的操作系統(tǒng)可基于光標(biāo)315來確定哪個手勢分類上下文起作用。
[0065]在實施例400中,已由用戶將光標(biāo)315定位在圖標(biāo)320-2上面,所述圖標(biāo)320-2對應(yīng)于“打印管理器”應(yīng)用程序。當(dāng)光標(biāo)315定位在圖標(biāo)320-2(或?qū)?yīng)于圖標(biāo)320-2的文字)上面時,可使對應(yīng)于打印管理器應(yīng)用程序的先前所創(chuàng)建的手勢分類上下文起作用。當(dāng)這個手勢分類上下文起作用時,可使用與所述起作用的手勢分類上下文相關(guān)聯(lián)的度量值來分析由用戶執(zhí)行的手勢。
[0066]返回參考圖2,通過光標(biāo)315懸停在圖標(biāo)320-2上面而起作用的手勢分類上下文可對應(yīng)于第三手勢分類上下文220-3。因此,當(dāng)?shù)谌謩莘诸惿舷挛?20-3起作用時,用于使以下各者彼此區(qū)分(但未必與其它手勢(例如,可用手勢集合210中的其它手勢)區(qū)分)的度量值起作用:畫空心圓手勢、畫點(diǎn)手勢、停止手勢、向左滑移手勢、向右滑移手勢、扣接手勢、握拳手勢、擺動手勢和畫三角形手勢。當(dāng)?shù)谌謩莘诸惿舷挛?20-3起作用時,用戶可使用用戶的手部330來執(zhí)行手勢。
[0067]由于光標(biāo)315定位在圖標(biāo)320-2上面,所以假定用戶執(zhí)行的任何手勢意圖作為到“打印管理器”應(yīng)用程序的輸入。對于打印管理器應(yīng)用程序來說,僅第三手勢分類上下文220-3的手勢是有效的;因此,可預(yù)期用戶正執(zhí)行第三手勢分類上下文220-3的9個手勢中的一者。在圖4中,說明了2個移動路徑410和350。手部330可通過沿移動路徑410移動來執(zhí)行畫三角形手勢。當(dāng)根據(jù)第三手勢分類上下文220-3的度量值來分析由手部330執(zhí)行的這個手勢時,其可分類為畫三角形手勢。可將指示或以其它方式對應(yīng)于畫三角形手勢的命令提供作為到上面懸停有光標(biāo)315的打印管理器應(yīng)用程序的輸入。
[0068]雖然移動路徑410說明了理想的畫三角形手勢,但用戶精確地沿移動路徑410移動手部330也許是不大可能的。相反地,試圖執(zhí)行畫三角形手勢的用戶可沿與移動路徑350類似的移動路徑來移動手部330。值得注意的是,在實施例300中,這個移動路徑也是由手部330來執(zhí)行的。
[0069]如果用戶沿移動路徑350移動手部330,那么可根據(jù)第三手勢分類上下文220-3的度量值來分析這個移動路徑350。基于這些度量值,可確定移動路徑350對應(yīng)于畫三角形手勢,其在第三手勢分類上下文220-3內(nèi)是有效的并且具有用于區(qū)分畫三角形手勢與在第三手勢分類上下文220-3起作用時所執(zhí)行的其它手勢的度量值。替代地,基于這些度量值,可確定移動路徑350對應(yīng)于畫空心圓手勢,其在第三手勢分類上下文220-3內(nèi)是有效的并且具有用于區(qū)分畫空心圓手勢與在第三手勢分類上下文220-3起作用時所執(zhí)行的其它手勢的度量值。
[0070]除確定哪個手勢被識別之外,還可確定手勢的置信度水平。對于將輸出到用戶接口環(huán)境的手勢的指示來說(或更具體而言,對于用戶與之交互的應(yīng)用程序來說),可能需要滿足至少閾值置信度水平。參考圖3,移動路徑340可產(chǎn)生由手部330執(zhí)行的手勢是畫空心圓的極高置信度水平。移動路徑350可產(chǎn)生由手部330執(zhí)行的手勢是畫空心圓的較低、但依然高的置信度水平,因為用于識別對應(yīng)于移動路徑350的手勢的度量值指示在第二手勢分類上下文220-2的手勢子集內(nèi)不存在其它類似手勢。參考圖4,移動路徑410可產(chǎn)生由手部330執(zhí)行的手勢是畫三角形的極高置信度水平。移動路徑350可產(chǎn)生由手部330執(zhí)行的手勢是畫空心圓或畫三角形的低得多的置信度水平,因為用于識別對應(yīng)于移動350的手勢的度量值可難以確定移動路徑350是對應(yīng)于畫空心圓還是對應(yīng)于畫三角形。
[0071]雖然可能不清楚可如何使用第三手勢分類上下文220-3的度量值來解譯移動路徑350,但作為額外實例,如果第一手勢分類上下文220-1起作用,那么其具有用于將畫三角形手勢但非畫空心圓手勢與第一手勢分類上下文220-1的手勢子集中的其它手勢區(qū)別開的度量值??梢韵鄬Ω叩闹眯哦人綄⒁苿勇窂?50識別為畫三角形手勢,因為度量值指示沒有其它手勢與移動路徑350可表示的第一手勢分類上下文220-1相關(guān)聯(lián)。
[0072]在圖3和4中,已描述了數(shù)個實施例,其中基于光標(biāo)懸停在哪個圖標(biāo)上面來使手勢上下文分類起作用。在其它實施例中,用戶可查看圖標(biāo)(經(jīng)由頭戴式顯示器上的眼睛追蹤件)。在其它實施例中,用戶可點(diǎn)擊或以其它方式激活或執(zhí)行應(yīng)用程序。不管起作用的應(yīng)用程序如何,均可使用同一手勢分析引擎來識別所執(zhí)行的手勢;但是,可使不同手勢分類上下文起作用并且可由手勢分析引擎使用不同手勢分類上下文。
[0073]可使用圖1A和IB的系統(tǒng)根據(jù)圖2到4的所描述的實施例來執(zhí)行各種方法。圖5說明一種用于使用基于上下文的手勢識別來辨識手勢的方法500的實施例??墒褂孟到y(tǒng)100A、100B或用于使用上下文關(guān)聯(lián)的手勢分類來辨識手勢的某個其它系統(tǒng)來執(zhí)行方法500??墒褂糜嬎銠C(jī)化組件來執(zhí)行方法500。因而,圖7的計算機(jī)系統(tǒng)700的一或多個組件的一或多個例子可用于執(zhí)行方法500。此外,系統(tǒng)100A和系統(tǒng)100B的一或多個組件的一或多個例子可用于執(zhí)行方法500。同樣地,用于執(zhí)行方法500的步驟的裝置分別包含圖1A、1B和7的系統(tǒng)100A、100B和計算機(jī)系統(tǒng)700的組件的一或多個例子??稍谝褕?zhí)行了分類過程(例如,圖6的方法600)之后執(zhí)行方法500。舉例來說,可多次執(zhí)行方法600以便創(chuàng)建方法500中所使用的手勢分類上下文。
[0074]在步驟510處,可接收用戶輸入,所述用戶輸入導(dǎo)致使手勢分類上下文起作用。參考圖1A和1B,可經(jīng)由用戶輸入模塊120來接收用戶輸入,所述用戶輸入模塊120可包含組件(例如,鍵盤、鼠標(biāo)或頭戴式顯示器)。從用戶接收的輸入可導(dǎo)致用戶接口環(huán)境進(jìn)入特定手勢分類上下文。舉例來說,用戶輸入可提供導(dǎo)致光標(biāo)懸停在用戶希望與之交互的應(yīng)用程序的指示上面的輸入。此類用戶接口環(huán)境可經(jīng)配置,使得當(dāng)光標(biāo)懸停在應(yīng)用程序的圖形表示上面時,基于所執(zhí)行的手勢或所執(zhí)行的手勢的指示的命令被提供到與所述圖形表示相關(guān)聯(lián)的應(yīng)用程序。在其它實施例中,用戶可點(diǎn)擊、查看(例如,經(jīng)由HMD)或以其它方式選擇用戶希望與之交互的應(yīng)用程序或操作系統(tǒng)的部分,而非懸停光標(biāo)。用于執(zhí)行步驟510的裝置包含用戶輸入模塊120、鍵盤、鼠標(biāo)、頭戴式顯示器、被配置成接收用戶輸入的其它裝置、一或多個處理器和/或圖7的計算機(jī)系統(tǒng)的一或多個組件。
[0075]在步驟520處,可激活對應(yīng)于所接收的用戶輸入的手勢分類上下文。在步驟520處激活的手勢分類上下文可基于在步驟510處所接收的用戶輸入。參考圖1A和1B,用戶接口環(huán)境130可將已由用戶激活的應(yīng)用程序的指示提供到手勢分析引擎140或提供將起作用的手勢分類上下文的指示。響應(yīng)于接收到此類指示,可從手勢分類上下文數(shù)據(jù)庫145加載對應(yīng)于所激活的應(yīng)用程序(或操作系統(tǒng)的部分)的手勢分類上下文或所指示的手勢分類上下文或以其它方式使其起作用。在一些實施例中,用戶接口環(huán)境130可從手勢分類上下文數(shù)據(jù)庫145加載適當(dāng)?shù)氖謩莘诸惿舷挛摹T谝恍嵤├?,雖然存儲了將使哪個手勢分類上下文起作用的指示,但直到感測到由用戶執(zhí)行手勢才加載手勢分類上下文或以其它方式使其起作用。在一些實施例中,如果感測到對手勢的執(zhí)行,那么手勢分析引擎可詢問用戶接口環(huán)境以確定應(yīng)使哪個手勢分類上下文起作用以用于識別所述手勢。用于執(zhí)行步驟520的裝置包含用戶接口環(huán)境、操作系統(tǒng)、一或多個處理器、一或多個應(yīng)用程序、手勢分類上下文數(shù)據(jù)庫、手勢分析引擎和/或圖7的計算機(jī)系統(tǒng)的一或多個組件。
[0076]在步驟530處,可接收指示由用戶執(zhí)行的手勢的數(shù)據(jù)。此類數(shù)據(jù)可包含用戶身體的全部或一部分的一或多個所俘獲圖像(例如,用戶手部和/或手臂的一或多個圖像)??芍甘居捎脩魣?zhí)行的手勢的其它數(shù)據(jù)可包含對應(yīng)于用戶肌肉中的一或多者的電測量值的數(shù)據(jù)??赏ㄟ^系統(tǒng)100A和100B的手勢檢測模塊110來執(zhí)行步驟530,所述手勢檢測模塊110可捕獲和/或接收指示手勢的數(shù)據(jù)。步驟530可包含從捕獲裝置接收此類數(shù)據(jù)。舉例來說,捕獲裝置可為相機(jī)或電傳感器,可從所述捕獲裝置接收指示手勢的數(shù)據(jù)。用于執(zhí)行步驟530的裝置可包含一或多個處理器、手勢檢測模塊、一或多個相機(jī)、一或多個電脈沖傳感器和/或圖7的計算機(jī)系統(tǒng)的一或多個組件。
[0077]在步驟540處,可根據(jù)在步驟520處激活的手勢分類上下文的度量值來分析在步驟530處接收的指示由用戶執(zhí)行的手勢的數(shù)據(jù)。因此,用于識別由用戶執(zhí)行的手勢的度量值可至少部分地基于在步驟510處接收的指示將應(yīng)用的手勢分類上下文的用戶輸入。可使用用于識別由用戶執(zhí)行的手勢的度量值以及可能地所識別的手勢是準(zhǔn)確的置信度水平來執(zhí)行對指示手勢的數(shù)據(jù)的分析。在一些實施例中,在步驟540處,可僅識別為用于創(chuàng)建起作用的手勢分類上下文的手勢子組的一部分的手勢。因此,舉例來說,參考實施例200,如果第一手勢分類上下文220-1起作用,那么在步驟540處可僅識別扣接、停止、畫三角形、向左滑移或向右滑移手勢。在步驟540處使用起作用的手勢分類上下文的度量值可起到區(qū)別起作用的手勢分類上下文的手勢子集中的哪個手勢最有可能為由用戶執(zhí)行的手勢的作用。當(dāng)應(yīng)用起作用的手勢分類上下文的度量值時,可不考慮非為起作用的手勢分類上下文的一部分的手勢。用于執(zhí)行步驟540的裝置可包含手勢分析引擎、手勢分類上下文數(shù)據(jù)庫和/或圖7的計算機(jī)系統(tǒng)的一或多個組件(例如,一或多個處理器)。
[0078]在步驟550處,可輸出根據(jù)起作用的手勢分類上下文的度量值而被識別為已執(zhí)行的手勢的指示。參考圖1A和1B,手勢分析引擎140可將被確定為已執(zhí)行的手勢的指示輸出到用戶接口環(huán)境130。因而,來自手勢分析引擎140的輸出可充當(dāng)?shù)綉?yīng)用程序134中的一個應(yīng)用程序的輸入。提供有手勢的指示的應(yīng)用程序或操作系統(tǒng)的一部分可基于在步驟510處接收的用戶輸入。作為實例,如果在步驟510處的用戶輸入指示與特定應(yīng)用程序相關(guān)聯(lián)的上下文,那么可將手勢的指示提供到這個特定應(yīng)用程序。提供輸出的手勢分析引擎可被配置成將手勢的指示提供到用戶接口環(huán)境的多個應(yīng)用程序和/或操作系統(tǒng)。用于執(zhí)行步驟550的裝置可包含手勢分析引擎和/或圖7的計算機(jī)系統(tǒng)的一或多個組件(例如,一或多個處理器)。
[0079]圖6說明一種用于創(chuàng)建供用于辨識手勢的上下文關(guān)聯(lián)的手勢分類的方法600的實施例??墒褂孟到y(tǒng)100A、100B或用于創(chuàng)建上下文關(guān)聯(lián)的手勢分類的某個其它系統(tǒng)來執(zhí)行方法600??墒褂糜嬎銠C(jī)化組件來執(zhí)行方法600。因而,圖7的計算機(jī)系統(tǒng)700的一或多個組件的一或多個例子可用于執(zhí)行方法600的實施例。此外,系統(tǒng)100A和系統(tǒng)100B的一或