微軟AR/VR專利提出利用AI神經(jīng)網(wǎng)絡(luò)進(jìn)行更精確手勢識別
查看引用/信息源請點擊:映維網(wǎng)Nweon
利用AI神經(jīng)網(wǎng)絡(luò)來幫助識別手勢
(映維網(wǎng)Nweon?2023年08月10日)手勢交互為AR/VR用戶提供了一種低成本、易于學(xué)習(xí)的輸入命令方式。但對于公共場合,用戶希望以社會可接受的程度進(jìn)行操作,比如說更加微妙的手勢。然而,對于微妙的手勢,在不同場景中可能會造成誤觸發(fā)。
所以在名為“Gesture recognition based on likelihood of interaction”的專利申請中,微軟提出可以利用AI神經(jīng)網(wǎng)絡(luò)來幫助識別手勢。

圖1示出了佩戴頭戴式顯示設(shè)備105并站在房間110中的用戶100的示意圖。用戶100可以通過手勢與虛擬內(nèi)容交互,而不需要持有控制器或其他輸入設(shè)備。
在一個實施例中,可以利用第一神經(jīng)網(wǎng)絡(luò),以確定用戶是否基于包括手、身體、頭部和眼睛數(shù)據(jù)輸入的數(shù)據(jù)幀序列執(zhí)行手勢交互。通過這種方式,第一神經(jīng)網(wǎng)絡(luò)可以評估用戶是更有可能與NUI界面交互還是與現(xiàn)實世界的對象交互。然后,第二神經(jīng)網(wǎng)絡(luò)使用基于指示可能性調(diào)整的參數(shù)在預(yù)定窗口期間執(zhí)行手勢交互識別。
微軟指出,模型可以利用對接收的數(shù)據(jù)幀序列的分析來生成手勢交互的可能性,然后可將其用作手勢交互識別機器的輸入,以允許系統(tǒng)更準(zhǔn)確地識別具有更寬松約束的更廣泛手勢。
如果用戶與AR UI進(jìn)行手勢交互的可能性很高,則對用戶意圖的準(zhǔn)確預(yù)測允許放松手勢要求,如果用戶與AR UI進(jìn)行交互的可能性較低,則可以應(yīng)用更嚴(yán)格的手勢要求。這種方法可以產(chǎn)生更準(zhǔn)確的手勢識別并減少誤報。
另外,如果表明用戶不打算操作UI,則可以使用第一神經(jīng)網(wǎng)絡(luò)的輸出來完全禁用手勢輸入??梢酝茢嘁粋€用手執(zhí)行現(xiàn)實世界任務(wù)的用戶,例如吃飯、洗手、打字,然后禁用UI以防止誤報輸入。這種方法可以實現(xiàn)預(yù)測,例如提前預(yù)測用戶可能會做什么,并相應(yīng)地設(shè)置手勢交互識別參數(shù)。

圖2示意性地示出頭戴式顯示設(shè)備200的示例。頭顯200包括手勢識別機216和眼動追蹤機218。
手勢識別機216可以包括一個或多個神經(jīng)網(wǎng)絡(luò),用于處理來自頭顯200和其他地方的傳感器的輸入數(shù)據(jù),以識別由用戶執(zhí)行的手勢。手勢識別機器216可以使用由頭顯200的傳感器產(chǎn)生的示例數(shù)據(jù),或模擬實際傳感器數(shù)據(jù)的合成傳感器數(shù)據(jù),以及指示基本事實的監(jiān)督標(biāo)簽來訓(xùn)練,例如手部運動是否為手勢,如果是手勢,則是什么類型的手勢。
手勢識別機器216所采用的神經(jīng)網(wǎng)絡(luò)可以基于一系列參數(shù)評估輸入數(shù)據(jù),而相關(guān)參數(shù)可以基于傳感器數(shù)據(jù)、操作條件等進(jìn)行調(diào)整,以允許神經(jīng)網(wǎng)絡(luò)對手勢進(jìn)行更準(zhǔn)確的識別。
在一個實施例中,手勢識別機器216識別深度視頻中一個或多個人類主體的至少一部分。通過適當(dāng)?shù)纳疃葓D像處理,可以將深度圖的給定軌跡識別為屬于人體主體。在更具體的實施例中,可以識別屬于人體主體的像素,并且可以從這些像素派生出人體的廣義幾何模型。
手勢識別機器216可以以任何合適的方式標(biāo)記像素。例如,可以訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)用適當(dāng)?shù)乃饕?標(biāo)簽對每個像素進(jìn)行分類。通過這種方式,可以通過計算識別手或其他身體部位的不同特征。與手或其他身體部位相關(guān)聯(lián)的現(xiàn)實世界對象可以一般地識別,或者可以使用手勢識別機器216和/或其他深度圖像分析機器分配身份。
手勢識別機器216可以從一幀到另一幀跟蹤不同的身體部位,從而允許識別不同的手勢。例如,可以從一幀到另一幀追蹤手指的三維位置,從而允許識別諸如手指位置,手指角度,手指速度,手指加速度,手指對手指接近度等參數(shù)。
用戶眼睛的位置可以通過眼動追蹤機218和/或手勢識別機216來確定。眼動追蹤機器218可以從面向內(nèi)的注視追蹤攝像頭214接收圖像數(shù)據(jù),并且可以使用一個或多個神經(jīng)網(wǎng)絡(luò)或其他機器學(xué)習(xí)設(shè)備評估數(shù)據(jù)。在

圖3示意性地顯示了用于至少基于用戶執(zhí)行手勢交互的可能性評估手勢輸入的系統(tǒng)300。系統(tǒng)300可以是頭戴式顯示器。
第一神經(jīng)網(wǎng)絡(luò)315可以評估輸入數(shù)據(jù),例如來自數(shù)據(jù)預(yù)處理機310的預(yù)處理傳感器數(shù)據(jù)、來自傳感器套件305的原始傳感器數(shù)據(jù)、UI數(shù)據(jù)320、來自輔助設(shè)備輸入325的數(shù)據(jù)以及啟發(fā)式評估數(shù)據(jù)330。
第一神經(jīng)網(wǎng)絡(luò)315可以評估一系列數(shù)據(jù)幀的輸入數(shù)據(jù),并輸出手勢交互335的可能性的指示,例如用戶在一個或多個數(shù)據(jù)幀的預(yù)定窗口期間與用戶界面執(zhí)行一個或多個后續(xù)手勢交互的可能性的指示。
在一個實施例中,單個數(shù)據(jù)幀可以提供明確的指示,表明用戶不打算在隨后的數(shù)據(jù)幀中用手進(jìn)行手勢交互,例如抱著嬰兒,從烤箱中取出砂鍋。在其他場景中,協(xié)同考慮多個順序幀可能允許第一神經(jīng)網(wǎng)絡(luò)315更準(zhǔn)確地評估用戶的手部運動的情景。
換句話說,第一神經(jīng)網(wǎng)絡(luò)315可以推斷用戶是否可能通過手勢輸入與UI交互,不太可能,根本不可能,或者已經(jīng)執(zhí)行交互等等。例如,可能性可以作為0到1之間的實數(shù)輸出,其中0表示用戶根本不可能在預(yù)定窗口中執(zhí)行手勢,而1表示已經(jīng)與UI交互或已經(jīng)開始執(zhí)行手勢。
然后可以將手勢交互的可能性335作為輸入饋送到第二神經(jīng)網(wǎng)絡(luò)340。第二神經(jīng)網(wǎng)絡(luò)可以訓(xùn)練成識別指示用戶當(dāng)前是否正在執(zhí)行多個后續(xù)手勢交互中的一個或多個的特征。
在一個實施例中,第二神經(jīng)網(wǎng)絡(luò)340可以是多個神經(jīng)網(wǎng)絡(luò)中的一個,每個神經(jīng)網(wǎng)絡(luò)訓(xùn)練以識別不同的手勢交互或手勢交互集。神經(jīng)網(wǎng)絡(luò)中的每一個都可以提供手勢交互的可能性335。然后基于手勢交互的可能性335調(diào)整第二神經(jīng)網(wǎng)絡(luò)340的手勢識別參數(shù)345。
第二神經(jīng)網(wǎng)絡(luò)的節(jié)點可以與可調(diào)參數(shù)相關(guān)聯(lián),當(dāng)參數(shù)改變時,改變第二神經(jīng)網(wǎng)絡(luò)340的特定輸出的可能性。手勢識別參數(shù)345可以包括節(jié)點系數(shù)、連接權(quán)重、梯度等。這樣,即使由第二神經(jīng)網(wǎng)絡(luò)340計算相同的輸入數(shù)據(jù),都可以基于可調(diào)參數(shù)的值產(chǎn)生不同的輸出數(shù)據(jù)。
因此,手勢交互預(yù)測的可能性可以用來減少無意的交互,如點擊、抓取和拖動等。微軟指出,實現(xiàn)所述系統(tǒng)的技術(shù)效果是改進(jìn)了人機交互,減少了因響應(yīng)非故意交互而進(jìn)行的錯誤計算所產(chǎn)生的能量消耗。
第二神經(jīng)網(wǎng)絡(luò)340可以應(yīng)用調(diào)整后的手勢交互識別參數(shù)345來確定手勢交互350,包括用戶是否進(jìn)行了手勢輸入以及手勢輸入的種類??梢詫⑹謩萁换ゴ_定350傳遞給UI控件355以進(jìn)行下游處理。
第一神經(jīng)網(wǎng)絡(luò)315和/或第二神經(jīng)網(wǎng)絡(luò)340可以是手勢識別機的組件,例如手勢識別機216,其可以配置為分析與用戶對應(yīng)的深度圖的像素,以確定每個像素對應(yīng)于用戶身體的哪個部分。為此,可以使用各種不同的身體部位分配技術(shù)。
在一個實施例中,機器學(xué)習(xí)可用于為每個像素分配身體部分索引和/或身體部分概率分布。機器學(xué)習(xí)方法通過參考從先前訓(xùn)練的已知姿勢集合中學(xué)習(xí)的信息來分析用戶。
例如,在有監(jiān)督的訓(xùn)練階段,可以觀察到各種各樣的人類受試者擺出各種姿勢,包括手勢手勢。訓(xùn)練器提供標(biāo)記觀察數(shù)據(jù)中的各種機器學(xué)習(xí)分類器的ground truth值注釋。然后使用觀察到的數(shù)據(jù)和注釋生成一個或多個機器學(xué)習(xí)算法,將輸入映射到所需的輸出。
在一個實施例中,用于追蹤特征位置的虛擬骨架或其他數(shù)據(jù)結(jié)構(gòu)可能適合于與用戶對應(yīng)的深度和/或彩色視頻的像素。

圖4A顯示了一個示例虛擬骨架400。所述虛擬骨架包括在多個骨段405。可以將身體部位名稱分配給每個骨骼節(jié)和/或每個關(guān)節(jié)。在圖4A中,每個骨骼段405的身體部位名稱用一個附加的字母表示:A代表頭部,B代表鎖骨,C代表上臂,D代表前臂,E代表手,F(xiàn)代表軀干,G代表骨盆……。
在更具體的實施例中,可以進(jìn)一步處理與用戶的手相對應(yīng)的點云以顯示手的骨骼子結(jié)構(gòu)。
圖4B示出用戶的虛擬骨架400的示例手部部分415。手部分包括手腕關(guān)節(jié)420、手指關(guān)節(jié)425、相鄰手指節(jié)430和相鄰指尖435。關(guān)節(jié)和節(jié)可以組合在一起以形成使用者的手的一部分,例如手掌部分440。用戶的每只手都可以獨立評估。
在其他示例中,可將與用戶的手相對應(yīng)的深度圖的原始點云作為輸入數(shù)據(jù)幀的一部分提供給第一神經(jīng)網(wǎng)絡(luò)315和/或第二神經(jīng)網(wǎng)絡(luò)340。
通過任何合適的最小化方法,骨骼節(jié)段的長度和關(guān)節(jié)的位置和旋轉(zhuǎn)角度可以調(diào)整,以符合深度圖的各種輪廓。通過這種方式,每個關(guān)節(jié)分配各種參數(shù)。通過分析各種骨骼關(guān)節(jié)和/或節(jié)段的位置變化和相應(yīng)的運動,可以確定圖像用戶的手勢或動作。
無論用于提取特征的方法如何,一旦識別,每個特征可以在每幀的基礎(chǔ)上跨深度幀和/或圖像數(shù)據(jù)進(jìn)行追蹤。
在一個實施例中,接收用戶一手的手部追蹤數(shù)據(jù)包括接收環(huán)境的深度數(shù)據(jù),將虛擬骨架擬合到接收深度數(shù)據(jù)的點云,將手關(guān)節(jié)分配給虛擬骨架,并在連續(xù)深度圖像中跟蹤分配的手關(guān)節(jié)的位置。
在所述實施例中,將指定的手關(guān)節(jié)提供給第一神經(jīng)網(wǎng)絡(luò)315和第二神經(jīng)網(wǎng)絡(luò)340。在其他示例中,環(huán)境的原始深度數(shù)據(jù)可以提供給神經(jīng)網(wǎng)絡(luò)。
回到圖3,傳感器305的朝內(nèi)攝像頭可以記錄如圖2所述的用戶眼睛的運動和定位,并且可以將所訴數(shù)據(jù)提供給包括在數(shù)據(jù)預(yù)處理機310中的眼動追蹤機。
眼動追蹤數(shù)據(jù)可以作為原始3D矢量、作為3D矢量與顯示的3D內(nèi)容的交點、和/或作為與提取的表面網(wǎng)格的交點輸入到第一神經(jīng)網(wǎng)絡(luò)315。眼動追蹤數(shù)據(jù)可以單獨考慮,或可以與其他輸入結(jié)合考慮。
眼動追蹤數(shù)據(jù)可以與用于顯示內(nèi)容的3D位置數(shù)據(jù)一起考慮。如果眼動追蹤數(shù)據(jù)表明全息圖在用戶的視場中,則可以認(rèn)為用戶更有可能打算與全息圖或其他顯示對象進(jìn)行交互。
如果注視向量表明用戶正在看向別處,則用戶可能被認(rèn)為不太可能打算與此類全息圖交互。直接注視數(shù)據(jù)可以通過表明用戶最近一直在看或以其他方式關(guān)注這樣的全息圖、用戶與全息圖交互的歷史等數(shù)據(jù)來增強。
例如,如果用戶最近在虛擬鍵盤上打字,則更有可能認(rèn)為下一個類似于敲擊虛擬鍵的手勢是有意的。
在一個實施例中,可以訓(xùn)練神經(jīng)網(wǎng)絡(luò)315來評估用戶是否在手中持有一個物體,從而不太可能執(zhí)行手勢輸入。
另外,可以提供機器學(xué)習(xí)方法以外的方法來確定用戶是否用一只手或兩只手握住物體。作為示例,圖5示出用于確定用戶是否持有對象的啟發(fā)式方法。

在500,用戶的手505拿著燒杯507。
在510,從環(huán)境的深度圖中提取用于包括手505和任何相關(guān)對象的感興趣區(qū)域512的表面網(wǎng)格。
在520,顯示由手部追蹤系統(tǒng)生成的手部505的表面網(wǎng)格522。然后可以從表面網(wǎng)格512中減去表面網(wǎng)格522,產(chǎn)生僅用于燒杯507的表面網(wǎng)格527。如果相減后表面網(wǎng)格中剩余的體素總數(shù)超過閾值,則可以推斷手正在拿著一個物體。
無論方法如何,關(guān)于是否存在手中物體的二元確定可以作為第一神經(jīng)網(wǎng)絡(luò)515和/或第二神經(jīng)網(wǎng)絡(luò)340的輸入提供。
啟發(fā)式330可進(jìn)一步用于使用規(guī)則分類評估原始和/或預(yù)處理的輸入。例如,可以配置啟發(fā)式330來評估用戶的手的構(gòu)象、一個或多個手關(guān)節(jié)的絕對和/或相對運動??梢栽谝粋€或多個數(shù)據(jù)幀上追蹤各種手關(guān)節(jié)的運動和速度,并因此應(yīng)用于手勢識別的當(dāng)前和/或未來幀。

圖6顯示了用戶600的右手,其具有標(biāo)記為小指尖602、無名指尖604、中指尖606、食指尖608、拇指尖610和手掌612的一組特征點??梢宰悦總€特征點在空間中移動的速度。手掌612與小指尖端602、無名指尖端604、中指尖端606之間的距離可以用來確定用戶的手是否卷曲。
拇指指尖610和食指指尖608之間的距離620可用于確定何時可以觸發(fā)或可能發(fā)生捏選擇手勢。另外,在拇指尖端610和食指尖端608之間的速度622可用于補償高于閾值速度的運動中的滯后。
無名指指尖604和中指指尖606之間的速度差630可用于確定用戶是否正在打字、彈鋼琴等。類似地,無名指尖端604和小指尖端602之間的速度差632可用于識別諸如打字之類的活動。

圖7顯示了執(zhí)行捏選擇手勢的用戶的左手700??梢宰粉櫮粗讣舛?10和食指尖端712,提取相對距離(715)和速度(717)。
可以為手指設(shè)置一系列的gate。包括第一gate720、第二gate722、第三gate724和懸停gate726。
在本例中,第一gate720表示拇指尖710和食指尖712在第一距離上一起移動的位置,第二gate722表示拇指尖710和食指尖712在第二距離上一起移動的位置,第二距離小于第一距離。第三gate724表示拇指尖710與食指尖712分開移動的位置,懸停gate 726表示拇指尖710與食指尖712保持在大于第一距離的第三距離的位置。
如果觸發(fā)第一gate720,則可以觸發(fā)到達(dá)第二gate722的計時器。如果觸發(fā)第二gate722,則可以啟動縮放選擇事件。如果觸發(fā)第三gate724,則停止縮放選擇事件。
如果觸發(fā)懸停gate,則可以向用戶提供顯示功能,例如在用戶注視點處的圓圈。如圖6所示的卷曲的手可用于調(diào)整門控值。如果用戶的手掌移動超過閾值速度,則捏選擇手勢識別標(biāo)準(zhǔn)可能被禁用。一個或多個手關(guān)節(jié)的速度可以用來平滑啟發(fā)式計算和/或抵消追蹤滯后。
可以向第二神經(jīng)網(wǎng)絡(luò)340提供具有類別標(biāo)簽的手勢交互可能性335,例如準(zhǔn)備交互/高可能性,模糊意圖,不準(zhǔn)備交互/低可能性,或當(dāng)前交互和/或與實際數(shù)字標(biāo)簽,例如表示可能性連續(xù)體的從0到1的數(shù)字。
手勢交互的可能性335可以提供給第二神經(jīng)網(wǎng)絡(luò)340內(nèi)的多個特定于手勢的神經(jīng)網(wǎng)絡(luò),或者提供給經(jīng)過訓(xùn)練以識別多個不同手勢的單個神經(jīng)網(wǎng)絡(luò)。
如果指示用戶不準(zhǔn)備進(jìn)行交互,第二神經(jīng)網(wǎng)絡(luò)340可以有效地忽略相關(guān)輸入信號,從而減少誤報。相反,如果指示用戶準(zhǔn)備與全息內(nèi)容交互,則可以指示用戶在大約一秒鐘內(nèi)啟動手勢交互。
因此,第二神經(jīng)網(wǎng)絡(luò)340可以放松手勢識別參數(shù)345以增加靈敏度,因為不太可能發(fā)生誤報。以這種方式,第二神經(jīng)網(wǎng)絡(luò)340可以具有更高的靈敏度,以便允許識別更微妙的手勢,例如更容易被社會接受的手勢。由此產(chǎn)生的技術(shù)效果是減少了用戶對計算設(shè)備的輸入負(fù)擔(dān)。
如圖3所示,第一神經(jīng)網(wǎng)絡(luò)315可以向UI控制355以及第二神經(jīng)網(wǎng)絡(luò)340提供手勢交互335的確定可能性。這可能允許UI控件355在預(yù)期的手勢輸入之前調(diào)整顯示內(nèi)容,或者假設(shè)用戶不會提供輸入。
因此,UI控件355可以增加或減少諸如可視性的顯示內(nèi)容。例如,給定高于閾值的手勢交互可能性,可以會增加功能的大小或可見性,調(diào)整功能的外觀以向用戶呈現(xiàn)多個選項等等。
第一神經(jīng)網(wǎng)絡(luò)315可以基于對最近和/或當(dāng)前數(shù)據(jù)幀序列的分析,輸出用于預(yù)定幀窗口的交互可能性。預(yù)定的幀窗口可以包括當(dāng)前數(shù)據(jù)幀和/或后續(xù)或未來幀。通過分析多個連續(xù)幀,第一神經(jīng)網(wǎng)絡(luò)315可以產(chǎn)生比使用單個幀更準(zhǔn)確的預(yù)測。
相關(guān)專利:Microsoft Patent | Gesture recognition based on likelihood of interaction
https://patent.nweon.com/29687
名為“Gesture recognition based on likelihood of interaction”的微軟專利申請最初在2022年2月提交,并在日前由美國專利商標(biāo)局公布。
---
原文鏈接:https://news.nweon.com/111346