TW202232284A - 用於在虛擬實境環境中三維人類姿勢之模擬控制 - Google Patents
用於在虛擬實境環境中三維人類姿勢之模擬控制 Download PDFInfo
- Publication number
- TW202232284A TW202232284A TW110148341A TW110148341A TW202232284A TW 202232284 A TW202232284 A TW 202232284A TW 110148341 A TW110148341 A TW 110148341A TW 110148341 A TW110148341 A TW 110148341A TW 202232284 A TW202232284 A TW 202232284A
- Authority
- TW
- Taiwan
- Prior art keywords
- individual
- frame
- dynamic model
- computer
- joint
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本發明揭示一種用於模擬一個體之一實體動畫之方法,其包括擷取包括一個體之一身體影像之一第一圖框。該方法亦包括:自該第一圖框選擇該個體之該身體影像內界定一身體部位之一凸包的多個關鍵點、及界定兩個身體部位之間的一關節之多個關節點;基於該等關鍵點及該等關節點識別該身體部位之一幾何形狀、一速度及一質量以包括於該個體之一動態模型中;基於該個體之該動態模型判定在一視訊串流中之該第一圖框之後的一第二圖框中的該個體之一姿勢;及將該視訊串流提供至運行於一用戶端裝置上之一沉浸式實境應用程式。
Description
本發明大體上係關於在視訊捕獲中產生個體之三維電腦模型的領域。更具體言之,本發明係關於產生用於虛擬實境及擴增實境(VR/AR)應用之人體姿勢的三維電腦模型。
相關申請案之交叉參考
本發明係關於Saragih等人於2020年12月23日申請之名為「用於三維人類姿勢估計之模擬性質控制(SIMULATED CHARACTER CONTROL FOR 3-DIMENSIONAL HUMAN POSE ESTIMATION)」的美國臨時申請案第63/130,005號,及Saragih等人於2021年12月20日申請之名為「用於在虛擬實境環境中三維人類姿勢之模擬控制(SIMULATED CONTROL FOR 3- DIMENSIONAL HUMAN POSES IN VIRTUAL REALITY ENVIRONMENTS)」的美國非臨時申請案第17/556,429號,且根據35 U.S.C. §119(e)規定主張該等申請案之優先權,該等申請案之全部內容出於所有目的特此係以引用方式併入。
可動畫逼真的數位人類為用於實現社交遙現的關鍵組成部分,其中有可能為人們在不受空間及時間限制的情況下開創一種新的聯絡方式。當前方法首先估計運動學運動,且接著使用基於物理之軌跡最佳化來最佳化力,以誘發運動學運動。儘管其可產生物理接地之運動,但基於軌跡最佳化之方法有幾個缺點。第一,軌跡最佳化需要在測試時間解決高度複雜的最佳化問題。此可為計算密集型的,且需要對時間視窗或甚至整個運動序列進行成批處理,從而導致姿勢預測之高潛時並且使其不適合於互動式即時應用。第二,軌跡最佳化需要簡單且可微分的物理學模型來使最佳化易於處理,此與進階且不可微分之物理學模擬器相比可導致較高的近似誤差。
在一第一具體實例中,一種電腦實施方法包括:擷取包括一個體之一身體影像的一第一圖框;及自該第一圖框選擇該個體之該身體影像內界定一身體部位之一凸包的多個關鍵點、及界定兩個身體部位之間的一關節之多個關節點。該電腦實施方法亦包括:基於該等關鍵點及該等關節點識別該身體部位之一幾何形狀、一速度及一質量以包括於該個體之一動態模型中;基於該個體之該動態模型判定在一視訊串流中之該第一圖框之後的一第二圖框中的該個體之一姿勢;及將該視訊串流提供至運行於一用戶端裝置上之一沉浸式實境應用程式。
在一第二具體實例中,一種系統包括:一記憶體,其儲存多個指令;及一或多個處理器,其經組態以執行該等指令以使得該系統執行操作。該操作包括:擷取包括一個體之一身體影像之一第一圖框;自該第一圖框選擇該個體之該身體影像內界定一身體部位之一凸包的多個關鍵點、及界定兩個身體部位之間的一關節之多個關節點;基於該等關鍵點及該等關節點識別該身體部位之一幾何形狀、一速度及一質量以包括於該個體之一動態模型中;基於該個體之該動態模型判定在一視訊串流中之該第一圖框之後的一第二圖框中的該個體之一姿勢;及基於運行於一用戶端裝置上之一沉浸式實境應用程式,沿著該個體之一所選擇視點將該視訊串流提供至該沉浸式實境應用程式。
在一第三具體實例中,一種電腦實施方法包括:在一視訊串流中擷取來自一個體之多個圖框;對於一第一圖框,選擇該個體之一身體內界定一身體部位之一凸包的多個關鍵點、及界定兩個身體部位之間的一關節之多個關節點。該電腦實施方法亦包括:基於該個體之一動態模型及使該個體移動之一動作,產生每一關節點及每一關鍵點的一下一位置;及判定一損失值,該損失值指示每一關節點及每一關鍵點之該下一位置與自該視訊串流中之該第一圖框之後的一第二圖框提取的每一關鍵點及每一關節點之一基準真相(ground truth)位置之間的一差。該電腦實施方法亦包括:基於該損失值更新該個體之該動態模型;及將該個體之該動態模型儲存於一記憶體電路中。
在又其他具體實例中,一種系統包括用以儲存指令之一第一構件及用以執行該等指令以使得該系統執行一方法之一第二構件。該方法包括:擷取包括一個體之一身體影像之一第一圖框;自該第一圖框選擇該個體之該身體影像內界定一身體部位之一凸包的多個關鍵點、及界定兩個身體部位之間的一關節之多個關節點;基於該等關鍵點及該等關節點識別該身體部位之一幾何形狀、一速度及一質量以包括於該個體之一動態模型中;基於該個體之該動態模型判定在一視訊串流中之該第一圖框之後的一第二圖框中的該個體之一姿勢;及將該視訊串流提供至運行於一用戶端裝置上之一沉浸式實境應用程式。
在另一具體實例中,一種非暫時性電腦可讀取媒體儲存指令,該等指令在由一電腦處理器執行時使得一電腦執行一方法。該方法包括:擷取包括一個體之一身體影像之一第一圖框;自該第一圖框選擇該個體之該身體影像內界定一身體部位之一凸包的多個關鍵點、及界定兩個身體部位之間的一關節之多個關節點;基於該等關鍵點及該等關節點識別該身體部位之一幾何形狀、一速度及一質量以包括於該個體之一動態模型中;基於該個體之該動態模型判定在一視訊串流中之該第一圖框之後的一第二圖框中的該個體之一姿勢;及將該視訊串流提供至運行於一用戶端裝置上之一沉浸式實境應用程式。
在以下實施方式中,闡述眾多特定細節以提供對本發明之充分理解。然而,對於一般所屬技術領域中具有通常知識者將顯而易見,可在並無此等特定細節中之一些細節的情況下實踐本發明之具體實例。在其他情況下,尚未詳細展示熟知結構及技術以免混淆本發明。
一般綜述
人類動態表示之即時呈現及動畫為遊戲、電影及VR遙現應用之基礎中的一者。自單眼視訊對三維人類運動之準確估計需要模型化運動學(無物理力的身體運動)及動態學(有物理力的運動)兩者。為了展現此情形,如本文中所揭示之具體實例包括用於三維人類姿勢估計之基於模擬之方法,該方法整合基於影像之運動學推斷及基於物理學之動態學模型化。如本文中所揭示之具體實例包括教示將當前圖框姿勢估計值及下一影像圖框視為輸入以控制物理模擬之角色從而輸出下一圖框姿勢估計值的策略。該策略含有可學習運動學姿勢改進單元,該可學習運動學姿勢改進單元使用2D要點以反覆地改進其對下一圖框之運動學姿勢估計值。基於此改進之運動學姿勢,該策略學習計算角色之基於動態學之控制(例如關節扭矩)以將當前圖框姿勢估計值推進至下一圖框之姿勢估計值。因此,一些具體實例將運動學姿勢改進單元與基於動態學之控制產生單元耦合,該等單元藉由增強式學習而聯合地學習以達成準確且物理上合理之姿勢估計。此外,一些具體實例包括元控制機構,其基於角色狀態動態地調整角色之動態學參數以獲得較準確的姿勢估計值。關於大規模的運動資料集之結果展現了所揭示具體實例在確保物理合理性的同時增強了姿勢準確度。
為了解決在電腦網路、電腦模擬及沉浸式實境應用領域中產生的此等技術問題,如本文中所揭示之具體實例包括:擷取包括個體之身體影像之第一圖框;及自該第一圖框選擇個體之身體影像內界定身體部位之凸包的多個關鍵點及界定兩個身體部位之間的關節之多個關節點。該方法亦可包括:基於關鍵點及關節點識別身體部位之幾何形狀、速度及質量以包括於個體之動態模型中;基於個體之動態模型判定在視訊串流中之第一圖框之後的第二圖框中的個體之姿勢;及將該視訊串流提供至運行於用戶端裝置上之沉浸式實境應用程式。
一些具體實例包括基於個體之先前姿勢、先前動作特徵及個體之動態模型中之動作策略,判定使個體之姿勢與轉變動態學規則相關聯之梯度因子。一些具體實例包括基於身體部位之幾何形狀、速度及質量判定使個體移動之動作。一些具體實例可判定多個關鍵點之信賴等級;且判定損失值包含因式分解損失值中關於關鍵點中之每一者的信賴等級。
實例系統架構
圖1說明根據一些具體實例的適合於存取模型訓練引擎之實例架構100。架構100包括伺服器130,該等伺服器經由網路150與用戶端裝置110及至少一個資料庫152通信耦接。許多伺服器130中的一者經組態以代管記憶體,記憶體包括在由處理器執行時使得伺服器130執行如本文所揭示之方法中之步驟中的至少一些的指令。在一些具體實例中,處理器經組態以控制用於存取模型訓練引擎之用戶端裝置110中之一者的使用者之圖形使用者介面(GUI)。出於負載平衡之目的,多個伺服器130可代管包括至一或多個處理器之指令之記憶體,且多個伺服器130可代管歷史日誌以及包括用於模型訓練引擎之多個訓練檔案庫的資料庫152。此外,在一些具體實例中,用戶端裝置110之多個使用者可存取相同模型訓練引擎以運行一或多個機器學習模型。在一些具體實例中,具有單個用戶端裝置110之單個使用者可訓練在一或多個伺服器130中並行地運行之多個機器學習模型。因此,用戶端裝置110可經由網路150及經由存取一或多個伺服器130及位於其中之資源而彼此通信。
伺服器130可包括具有適當處理器、記憶體及用於代管模型訓練引擎(包括與其相關聯之多個工具)之通信能力的任何裝置。模型訓練引擎可經由網路150由各種用戶端110來存取。用戶端裝置110可為例如桌上型電腦、行動電腦、平板電腦(例如包括電子書閱讀器)、行動裝置(例如智慧型手機或PDA),或具有適當處理器、記憶體及用於存取伺服器130中之一或多者上之模型訓練引擎之通信能力的任何其他裝置。在一些具體實例中,用戶端裝置110可包括虛擬實境(VR)或擴增實境(AR)頭戴組合(headset)。因此,安裝於頭戴組合中之應用程式可使用3D呈現模型來創建沉浸式實境環境。網路150可包括例如區域工具(LAN)、廣域工具(WAN)、網際網路及其類似者中之任一或多者。另外,網路150可包括但不限於以下工具拓樸中的任一或多者,包括:匯流排網路、星形網路、環形網路、網狀網路、星形匯流排網路、樹或階層式網路及其類似者。
圖2為說明根據本發明之某些態樣的來自架構100之實例伺服器130及用戶端裝置110的方塊圖200。用戶端裝置110及伺服器130經由各別通信模組218-1及218-2(在下文中,被集體地稱作「通信模組218」)經由網路150進行通信耦接。通信模組218經組態以與網路150介接,以經由網路150將諸如資料、請求、回應及命令之資訊發送至其他裝置並接收該等資訊。通信模組218可包括例如數據機或乙太網路卡及/或無線電通信硬體及軟體。用戶端裝置110可為桌上型電腦、行動電腦(例如膝上型電腦、掌上型裝置、平板電腦或智慧型手機)或經組態以向使用者提供沉浸式實境體驗之AR/VR頭戴組合。
使用者可經由輸入裝置214及輸出裝置216與用戶端裝置110互動。輸入裝置214可包括滑鼠、鍵盤、指標、操縱桿、觸控螢幕、麥克風、視訊攝影機及其類似者。在一些具體實例中,輸入裝置214可包括用以捕獲VR/AR頭戴組合的使用者之面部或其部分(包括眼睛)之後視攝影機。因此,在一些具體實例中,輸入裝置214可包括用以捕獲使用者之瞳孔在AR/VR頭戴組合中之移動的眼睛追蹤裝置。輸出裝置216可為螢幕顯示器(例如VR/AR顯示器)、觸控螢幕、揚聲器及其類似者。用戶端裝置110可包括記憶體220-1及處理器212-1。記憶體220-1可包括應用程式222及GUI 225,該應用程式222及該GUI 225經組態以在用戶端裝置110中運行且與輸入裝置214及輸出裝置216耦接。應用程式222可由使用者自伺服器130下載且可由伺服器130代管。
伺服器130包括記憶體220-2、處理器212-2及通信模組218-2。在下文中,處理器212-1及212-2以及記憶體220-1及220-2將分別被集體地稱作「處理器212」及「記憶體220」。處理器212經組態以執行儲存於記憶體220中之指令。在一些具體實例中,記憶體220-2包括模型訓練引擎232。模型訓練引擎232可共用或向GUI 225及/或應用程式222提供特徵及資源,包括與訓練及使用用於沉浸式實境應用程式之三維化身呈現模型相關聯的多個工具。使用者可經由安裝於用戶端裝置110之記憶體220-1中的GUI 225存取模型訓練引擎232。應用程式222可由伺服器130安裝且執行由伺服器130經由多個工具中之任一者提供的指令碼及其他常式。GUI 225之執行可受處理器212-1控制。在一些具體實例中,GUI 225包括互動式顯示器,該互動式顯示器自表示由使用者處置之真實操縱桿(輸入裝置214)的虛擬操縱桿讀取輸入及輸出。
如本文中所揭示,模型訓練引擎232可經組態以創建、儲存、更新及維持即時因果時間模型240。因果時間模型240可包括編碼器、解碼器及工具,諸如姿勢估計工具242及蒙皮人類網格工具244。因果時間模型240亦可包括運動學策略網路236。運動學策略網路236可包括運動學改進工具246、控制產生工具248及物理學模擬工具249。在一些具體實例中,模型訓練引擎232可存取儲存於訓練資料庫252中之一或多個機器學習模型。訓練資料庫252包括訓練檔案庫及其他資料檔案,其可由模型訓練引擎232根據使用者經由GUI 225之輸入而訓練機器學習模型。此外,在一些具體實例中,至少一或多個訓練檔案庫或機器學習模型可儲存於記憶體220中之任一者中,且用戶端裝置110之使用者可經由GUI 225對其進行存取。
姿勢估計工具242基於一輸入影像或多個多視圖輸入影像判定個體之姿勢。姿勢估計工具242將運動學推斷與基於報酬/損失(RL)之控制整合。姿勢估計工具242即時地運行,且與物理學模擬工具249相容。模型訓練引擎232包括旨在將輸出運動與姿勢估計工具242中之基準真相匹配的學習機制。姿勢估計工具242可藉由將基於影像之運動學推斷及基於RL之控制與所提議策略設計整合來達成準確的姿勢估計。
蒙皮人類網格工具244提供「B個」骨骼之骨架、「V個」頂點之網格及蒙皮權重矩陣W
R
V×B。矩陣W中之每一元素W
ij指定第j個骨骼之變換對第i個頂點之位置的影響。蒙皮人類網格工具244藉由將每一頂點i指派給具有其最大蒙皮權重之骨骼而獲得剛性頂點至骨骼關聯A
R
V:
A
i = argmax
j W
ij 。藉由頂點至骨骼關聯
A,蒙皮人類網格工具244藉由計算指派給骨骼之所有頂點的3D凸包來創建每一骨骼之幾何形狀。在假定密度恆定的情況下,蒙皮人類網格工具244藉由每一骨骼之幾何形狀之體積來判定每一骨骼之質量。在一些具體實例中,蒙皮人類網格工具244係全自動的,與不同身體網格模型(例如蒙皮多人線性模型(skinned multi-person linear model)-SMPL-)相容,且確保適當的身體幾何形狀及質量指派。
物理學模擬工具249基於基本的物理運動定律產生準確且看起來真實的人體運動。物理運動定律可包括動作、力及扭矩與不同身體部位之間的動態關係,及其幾何約束(例如,在兩個不同實體部分之間沒有重疊、個體在地面上沒有「浸沒」或「懸浮」)。
模型訓練引擎232可包括出於其中所包括之引擎及工具之特定目的而訓練的演算法。在一些具體實例中,模型訓練引擎232包括用以對因果時間模型240中之最佳策略求解之增強式學習演算法(例如近端策略最佳化(proximal policy optimization)-PPO-)。演算法可包括利用任何線性或非線性演算法之機器學習或人工智慧演算法,諸如神經網路演算法或多變量回歸演算法。在一些具體實例中,機器學習模型可包括神經網路(neural network;NN)、捲積神經網路(convolutional neural network;CNN)、生成對抗神經網路(generative adversarial neural network;GAN)、深度增強式學習(deep reinforcement learning;DRL)演算法、深度遞回神經網路(deep recurrent neural network;DRNN)、經典機器學習演算法,諸如隨機森林、k最近相鄰法(k-nearest neighbor;KNN)演算法、k均值叢集演算法或其任何組合。更一般而言,機器學習模型可包括涉及訓練步驟及最佳化步驟之任何機器學習模型。在一些具體實例中,訓練資料庫252可包括用以根據機器學習模型之所要結果修改係數之訓練檔案庫。因此,在一些具體實例中,模型訓練引擎232經組態以存取訓練資料庫252以擷取文件及檔案庫作為用於機器學習模型之輸入。在一些具體實例中,模型訓練引擎232、其中含有之工具及訓練資料庫252之至少部分可代管於可由伺服器130存取之不同伺服器中。
圖3說明根據一些具體實例的因果時間模型340,其用以自輸入圖框301中所收集之人類姿勢獲得實體模擬321。因果時間模型340自輸入視訊序列收集多個圖框301,且經由馬可夫決策過程(Markov decision process;MDP)提供實體模擬321、運動學策略網路336,該馬可夫決策過程包括操作330-1至330-t及330-t'(下文中,被集體地稱作「MDP 330」)。MDP 330中之每一過程包括關鍵點偵測器351及運動學姿勢估計器352,該關鍵點偵測器351及該運動學姿勢估計器352作用於輸入圖框301-t',以在運動學策略網路336(
)中產生身體姿勢321-t'(例如t'=t+1)。
MDP 330包括狀態(state)(
S)、動作(action)(
A)、轉變動態學(transition dynamics)(
T)、報酬(reward)函數(
R)及折減因子(γ)之元組M= (
S,
A,
T,
R, γ)。MDP 330包括模型化條件分佈或「策略」π之物理學模擬工具349。策略π(
a t,
s t)在給出MDP 330之當前狀態
s t S的情況下識別出動作
a t A。自某初始狀態
s 1開始,MSP 330對動作
a t反覆地取樣,且物理學模擬工具349產生具有轉變動態學
T(
s t'|
s t,
a t)之下一狀態
s t',且給出報酬
r t R。在一些具體實例中,MDP 330基於個體之姿勢模擬321與來自圖框301之基準真相個體運動對準的良好程度來判定報酬
r t。如本文中所揭示之模型訓練引擎向因果時間模型340教示最佳策略,該最佳策略呈現用於預期回報
之高值或最大值,其轉譯成儘可能接近地模仿基準真相運動。
更具體言之,狀態
包括個體當前姿勢
、關節速度(姿勢之時間導數)
、以及在未來時間t'(例如t+1)之下一圖框的所估計運動學姿勢
、關鍵點
及關鍵點信賴度
。狀態s
t包括當前圖框(
)及未來圖框(
)兩者之資訊,使得因果時間模型340學習自當前姿勢
轉變至所要下一姿勢
,例如接近基準真相(例如圖框301)之姿勢。
關鍵點偵測器351識別在時間t時之圖框301-t中個體身體中之關鍵點
(例如身體關節-膝蓋、手腕、頸部、腳跟、腳趾及其類似者,其中指數
i代表每圖框發現的許多關鍵點),且使信賴等級
c i與每一關鍵點相關聯。運動學姿勢估計器352分別在時間t時提供對應的「骨架」姿勢及速度
、
。座標
為線段,其指示在時間t時針對簡化人類骨架中之許多骨骼
i之風格化的「骨骼」或四肢之起點-終點(例如,頸部及頭部之部分、股骨之部分、軀幹之部分及其類似者)。比例導數(proportional derivative)(PD)控制器355將扭矩
τ i及動作
a i提供至物理學模擬工具349。在一些具體實例中,需要在30Hz(例如輸入圖框301之速率)下運行策略π(
a t,
s t),而物理學模擬工具349在450Hz下運行,以確保MDP 330之穩定性及收斂。因此,在一些具體實例中,在物理學模擬工具349之約十五次(15次)循環之後更新單一策略步驟。在一些具體實例中,動作
a t直接輸出待在每一關節處(根部除外)施加之扭矩
τ i,該等扭矩由物理學模擬工具349在15次模擬步驟期間反覆地使用。在一些具體實例中,較精細控制可藉由基於狀態
s t在每一步驟處調整來達成。因此,在一些具體實例中,PD控制器355在每個非根關節處產生扭矩
τ i。在一些具體實例中,PD控制器355包括在動作
a t定義中之目標關節角度
u t。舉例而言,在15個模擬步驟之第j次循環處,PD控制器355藉由以下表達式判定扭矩
τ i:
(1)
其中
及
為由PD控制器355提供之參數,
及
分別表示在模擬步驟開始時非根關節的關節角度及速度,且
表示逐元素乘法。在一些具體實例中,PD控制器355類似於驅動關節到目標角度
u t之阻尼彈簧起作用,其中
及
為彈簧之勁度及阻尼因子。在一些具體實例中,PD控制器355允許藉由策略π(
a t,
s t)動態地調整
及
,以達成更精細等級之角色控制。因此,物理學模擬工具349可包括分別用於調整
及
的至動作
a t中之元素λ
p t及λ
d t,且允許策略π(
a t,
s t)包括殘餘力及扭矩
τ i。因此,動作
a t可被定義為
。
在一些具體實例中,MDP 330包括報酬函數
R,該報酬函數促進藉由策略π(
a t,
s t)產生之運動
以匹配基準真相運動
(參見輸入圖框301)。在每個時間步驟處之報酬r
t可被定義為四個子報酬相乘:
(2)
加權因子α
p、α
v、α
j及α
k在每一報酬內部(參見方程式3至6)。此等子報酬藉由使所產生運動之不同特徵與基準真相匹配來彼此補充:關節角度、速度以及3D及2D關節位置。在一些具體實例中,報酬
R為乘法(參見方程式2),其簡化了策略學習。此亦可確保因子(參見方程式3至6)中無一者可被忽視,以達成高報酬。
336可包括參數化高斯策略π(
a t,
s t) = N(
),其中平均值
係基於參數θ,且為元素被視為「超參數(hyperparameter)」的固定對角線協方差矩陣。高斯策略中之雜訊N(
)允許MDP 330探索平均值動作at周圍之不同動作,且使用此等探索以在因果時間模型240之訓練期間改良策略。在測試時間期間,可移除雜訊且因果時間模型340取得平均動作
以改良效能。
在方程式(8)中,
為使用關鍵點
及信賴度
反覆地改進運動學姿勢
之運動學改進單元,且
為在
之n次反覆之後之改進之姿勢。方程式(9)及(10)描述控制產生工具348(
),該控制產生工具348將所改進姿勢
、當前姿勢
及速度
映射至平均動作at之分量。具體言之,控制產生工具348包括特徵提取層362、正規化層364(基於平均值及方差之運行估計值)及MLP 366(V
θ)。方程式(10)定義殘餘連接,該殘餘連接使用改進之運動學姿勢
產生平均PD控制器目標角度
。方程式(10)建立適當的引入偏差,此係因為
為預測未來姿勢
的良好猜測,且因此為
之良好基值。在一些具體實例中,角度
u t並不轉換成個體之相同的下一姿勢
,例如
。舉例而言,在重力及接觸力下,當PD控制器355達到平衡時,關節角度
可能不為
u t。在一些具體實例中,在PD控制器355類似於彈簧起作用的情況下,其可基於對個體之外部力而到達不同的平衡位置。然而,下一姿勢
大體上將不遠離
u t。學習殘差δ
u t(參見方程式10)可比從頭開始學習新值更容易。此設計亦將角色之運動學與其動態學協同起來,此係由於運動學姿勢
可與物理學模擬工具349中PD控制器355之輸入緊密耦合。
運動學改進工具346接收在時間t時之運動學姿勢
作為初始值,且在向前運動學模組356中組合此值與時間t'時之經更新姿勢值
。向前運動學模組356產生一組三維(3D)關節357
。3D關節357包括攝影機投影,該攝影機投影與關鍵點
及信賴度位準
c i組合形成定義為下式之損失運算子
L:
(13)
其中Π(・)表示透視攝影機投影。運動學改進工具346亦判定梯度特徵
,該梯度特徵指示如何調整運動學姿勢
,以與自輸入視訊圖框301收集之關鍵點
匹配。在一些具體實例中,梯度特徵z可為用以學習姿勢更新之資訊性運動學特徵,該姿勢更新最終導致個體之穩定及準確控制。
梯度特徵z亦藉由用關鍵點信賴度
(參見方程式13)對損失加權來考量關鍵點不確定性。在一些具體實例中,將z轉換成個體之根座標系以使其對個體之定向不變。MLP 358使用梯度特徵z以更新個體之運動學姿勢,從而產生身體模擬321之基於動態學之控制。因此,運動學改進工具346及控制產生工具348確保身體模擬321之準確且物理上合理的姿勢估計。
圖4A至圖4B說明根據一些具體實例的運用物理學模擬器及物理上合理之人類運動獲得的實體模擬421A-1、421A-2、421A-3、421A'-1、421A'-2及421A'-3、421B-1、421B-2、421B-3、421B'-1、421B'-2及421B'-3(下文中,被集體地稱作「實體模擬421A、421B及421」)。實體模擬421A係自輸入圖框401A-1、401A-2及401A-3(下文中,被集體地稱作「輸入圖框401A」)獲得。實體模擬421B係自輸入圖框401B-1、401B-2及401B-3(下文中,被集體地稱作「輸入圖框401B」)獲得。對於不同個體(A及B),輸入圖框401A及401B將在下文中被集體地稱作「輸入圖框401」。
圖-1、-2及-3中之每一者對應於用於個體之來自輸入圖框401之視訊串流的不同時刻(例如不同姿勢及身體姿態)。A及B中之不同實體表示指示分段之身體表示(A)或物理上合理之表示(B)。
圖5A至圖5B說明根據一些具體實例的運用因果時間模型獲得的實體模擬521A-1、521A-2、521A-3、521A*-1、521A*-2、521A*-3、521B-1、521B-2、521B-3、521B*-1、521B*-2及521B*-3(下文中,被集體地稱作因果模型模擬521A、521B及521)之不同視圖,及運用運動學模型獲得的實體模擬521A'-1、521A'-2、521A'-3、521A''-1、521A''-2、521A''-3、521B'-1、521B'-2、521B'-3、521B''-1、521B''-2、521B''-3(下文中,被集體地稱作運動學模型模擬521A'、521B'及521')之不同視圖。因果模型模擬521及運動學模型模擬521'係分別自相同輸入影像圖框501A-1、501A-2、501A-3、501B-1、501B-2及501B-3(下文中,被集體地稱作「輸入圖框501」)獲得。
運動學模型模擬521'中之假影551A-1、551A-2、551A-3、551B-1、551B-2及551B-3(下文中,被集體地稱作「假影551A、551B及551」)以及552A-2指示使用基於動作及動作策略之因果時間模型,以判定誘發個體身體移動及採用不同姿勢及姿態的轉矩場的便利性。另外,包括物理約束避免了明顯的假影,諸如部分個體浸入地面(參見假影551A-3及551B-3)。
為了判定如本文中所揭示之因果時間模型之每一所提議組件的貢獻,逐個地移除特徵以研究效能結果。表2概述了藉由每次移除單個組件(例如消融程序)來使用如本文中所揭示之因果時間模型(參見因果時間模型240)之不同變化形式的結果。元PD控制及運動學改進工具(參見PD控制器355以及運動學改進工具246及346)促成較好的姿勢準確度,如由對應的消融(無元PD及無改進)所指示。在一些具體實例中,消融(無ResAngle)展示在策略網路中需要具有殘餘連接,以用於產生平均PD控制器目標角度u
t(參見運動學感知策略網路336)。動作a
t之殘餘力(參見η
t)係合乎需要的以避免變體之效能下降(無ResForce)。在無殘餘力的情況下,策略並不穩固且角色常常倒下,如由大加速誤差(Accel)指示。亦需要策略中之特徵提取層以提取當前圖框及下一圖框兩者之資訊性特徵以學習將角色推進至下一姿勢之控制。表1
方法 | 人類3.6M | 室內運動資料集 | ||||||||
MPJPE↓ | PA-MPJPE↓ | Accel↓ | FS↓ | GP↓ | MPJPE↓ | PA-MPJPE↓ | Accel↓ | FS↓ | GP↓ | |
無元D | 59.9 | 44.7 | 5.9 | 2.2 | 1.4 | 39.8 | 31.7 | 7.1 | 0.4 | 0.1 |
無改進 | 61.2 | 43.5 | 8.0 | 3.4 | 2.0 | 47.9 | 38.9 | 9.6 | 0.6 | 0.1 |
無resAngle | 68.7 | 51.0 | 6.4 | 4.1 | 2.1 | 193.4 | 147.6 | 6.5 | 0.9 | 0.3 |
無ResForce | 115.2 | 65.1 | 23.5 | 6.1 | 3.2 | 48.4 | 31.3 | 12.5 | 0.9 | 0.3 |
無FeatLayer | 81.4 | 47.6 | 9.3 | 5.0 | 1.8 | 36.9 | 27.5 | 9.5 | 0.6 | 0.1 |
SimPoE (吾人的) | 56.7 | 41.6 | 6.7 | 3.4 | 1.6 | 26.6 | 21.2 | 8.4 | 0.5 | 0.1 |
吾人亦執行消融以研究策略中之改進反覆之數目如何影響姿勢準確度,如下。
圖6說明根據一些具體實例的關於依據因果時間模型中之反覆601之數目而變化的效能增益曲線610的圖表600。效能增益602在模型之5次改進反覆周圍達到飽和(n=5,參見圖3)。
圖7說明根據一些具體實例的關於在用以形成採用模擬人類姿勢之個體之三維模型的方法700中之步驟的流程圖。在一些具體實例中,方法700可至少部分地藉由執行如本文中所揭示之用戶端裝置或伺服器(參見處理器212及記憶體220、用戶端裝置110及伺服器130)中之指令的處理器執行。在一些具體實例中,方法700中之步驟中的至少一或多者可藉由安裝於VR/AR頭戴組合中之應用程式或包括因果時間模型之模型訓練引擎(例如應用程式222、模型訓練引擎232及因果時間模型240)來執行。使用者可經由如本文中所揭示之輸入及輸出元件以及GUI(參見輸入裝置214、輸出裝置216及GUI 225)與用戶端裝置中之應用程式互動。因果時間模型可包括如本文中所揭示之姿勢估計工具、蒙皮人類網格工具及運動學策略網路(例如姿勢估計工具242、蒙皮人類網格工具244及運動學策略網路236)。運動學策略網路可包括如本文中所揭示之運動學改進工具、控制產生工具及物理學模擬工具(例如運動學改進工具246、控制產生工具248及物理學模擬工具249)。在一些具體實例中,與本發明一致之方法可包括方法700中之至少一或多個步驟,該至少一或多個步驟按不同次序、同時、準同時或時間上重疊地執行。
步驟702包括擷取包括個體之身體影像之第一圖框。在一些具體實例中,步驟702包括藉由個體之動態模型形成第一圖框。
步驟704包括自第一圖框選擇個體之身體影像內界定身體部位之凸包的多個關鍵點、及界定兩個身體部位之間的關節之多個關節點。
步驟706包括基於關鍵點及關節點識別身體部位之幾何形狀、速度及質量以包括於個體之動態模型中。在一些具體實例中,步驟706包括基於身體部位之幾何形狀、速度及質量判定使個體移動之動作。
步驟708包括基於個體之動態模型判定在視訊串流中之第一圖框之後的第二圖框中個體之姿勢。在一些具體實例中,步驟708包括基於個體之先前姿勢、先前動作特徵及個體之動態模型中之動作策略,判定使個體之姿勢與轉變動態學規則相關聯之梯度因子。在一些具體實例中,步驟708包括基於身體部位之幾何形狀、速度及質量而使作用於關節點中之每一者的轉矩場相關聯。在一些具體實例中,步驟708包括基於個體之動作及個體之動態模型中之動作策略,判定梯度因子以獲得個體之姿勢中的每一關節點及每一關鍵點之位置。
步驟710將視訊串流提供至運行於用戶端裝置上之沉浸式實境應用程式。
圖8說明根據一些具體實例的關於在用於訓練採用模擬人類姿勢之個體之三維模型的方法800中之步驟的流程圖。在一些具體實例中,方法800可至少部分地藉由執行如本文中所揭示之用戶端裝置或伺服器(參見處理器212及記憶體220、用戶端裝置110及伺服器130)中之指令的處理器執行。在一些具體實例中,方法800中之步驟中的至少一或多者可藉由安裝於VR/AR頭戴組合中之應用程式或包括因果時間模型之模型訓練引擎(例如應用程式222、模型訓練引擎232及因果時間模型240)來執行。使用者可經由如本文中所揭示之輸入及輸出元件以及GUI(參見輸入裝置214、輸出裝置216及GUI 225)與用戶端裝置中之應用程式互動。因果時間模型可包括如本文中所揭示之姿勢估計工具、蒙皮人類網格工具及運動學策略網路(例如姿勢估計工具242、蒙皮人類網格工具244及運動學策略網路236)。運動學策略網路可包括如本文中所揭示之運動學改進工具、控制產生工具及物理學模擬工具(例如運動學改進工具246、控制產生工具248及物理學模擬工具249)。在一些具體實例中,與本發明一致之方法可包括方法800中之至少一或多個步驟,該至少一或多個步驟按不同次序、同時、準同時或時間上重疊地執行。
步驟802包括在視訊串流中擷取來自個體之多個圖框。
步驟804包括對於第一圖框,選擇個體之身體內界定身體部位之凸包的多個關鍵點、及界定兩個身體部位之間的關節之多個關節點。在一些具體實例中,步驟804包括判定多個關鍵點之信賴等級;且判定損失值包含因式分解損失值中關於關鍵點中之每一者的信賴等級。
步驟806包括基於個體之動態模型及使個體移動之動作,產生每一關節點及每一關鍵點的下一位置。在一些具體實例中,步驟806包括基於用於平均值周圍之特徵之高斯分佈而界定運動學策略,且更新個體之動態模型包含使用來自高斯分佈之協方差以更新個體之動態模型。
步驟808包括判定損失值,該損失值指示每一關節點及每一關鍵點之下一位置與自視訊串流中之第一圖框之後的第二圖框提取的每一關鍵點及每一關節點之基準真相位置之間的差。
步驟810包括基於損失值更新個體之動態模型。在一些具體實例中,步驟810包括添加殘餘力及扭矩至使得個體移動之動作。在一些具體實例中,步驟810包括基於身體部位之位置、定向及速度的準確度而調整個體之動態模型中之動作策略以增大報酬值。
步驟812包括將個體之動態模型儲存於記憶體電路中。在一些具體實例中,步驟812包括將個體之動態模型提供至用於沉浸式實境應用程式之用戶端裝置。在一些具體實例中,步驟812包括基於身體部位之位置、定向及速度的準確度而調整個體之動態模型中之動作策略以增大報酬值。
硬體綜述
圖9為說明例示性電腦系統900之方塊圖,藉由該電腦系統可實施圖1及圖2之用戶端及伺服器以及圖7至圖8之方法。在某些態樣中,電腦系統900可使用在專屬伺服器中、或整合至另一實體中或橫越多個實體而分佈的硬體或軟體與硬體之組合來實施。電腦系統900(例如用戶端110及伺服器130)包括用於傳達資訊之匯流排908或其他通信機構,及與匯流排908耦接以用於處理資訊之處理器902(例如處理器212)。藉助於實例,電腦系統900可藉由一或多個處理器902實施。處理器902可為通用微處理器、微控制器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、可程式化邏輯裝置(PLD)、控制器、狀態機、閘控邏輯、離散硬體組件或可執行資訊之計算或其他操控的任何其他合適實體。
除了硬體以外,電腦系統900亦可包括創建用於所討論之電腦程式之執行環境的程式碼,例如構成以下各者的程式碼:處理器韌體、協定堆疊、資料庫管理系統、作業系統或其在以下各者中儲存中之一或多者的組合:所包括之記憶體904(例如記憶體220)(諸如隨機存取記憶體(RAM)、快閃記憶體、唯讀記憶體(ROM)、可程式化唯讀記憶體(PROM)、可抹除可程式化唯讀記憶體(EPROM))、暫存器、硬碟、可移磁碟、CD-ROM、DVD或與匯流排908耦接以用於儲存待藉由處理器902執行之資訊及指令的任何其他合適儲存裝置。處理器902及記憶體904可由專用邏輯電路補充或併入於專用邏輯電路中。
該等指令可儲存於記憶體904中且在一或多個電腦程式產品中實施,例如在電腦可讀取媒體上編碼以供電腦系統900執行或控制該電腦系統之操作的電腦程式指令之一或多個模組,且根據所屬技術領域中具有通常知識者熟知之任何方法,該等指令包括但不限於諸如以下各者之電腦語言:資料導向語言(例如SQL、dBase)、系統語言(例如C、Objective-C、C++、組語)、架構語言(如Java、.NET)及應用程式語言(例如PHP、Ruby、Perl、Python)。指令亦可用電腦語言實施,諸如陣列語言、特性導向語言、組合語言、製作語言、命令行介面語言、編譯語言、並行語言、波形括號語言、資料流語言、資料結構式語言、宣告式語言、深奧語言、擴展語言、第四代語言、函數語言、互動模式語言、解譯語言、反覆語言、串列為基的語言、小語言、以邏輯為基的語言、機器語言、巨集語言、元程式設計語言、多重範型語言(multiparadigm language)、數值分析、非英語語言、物件導向分類式語言、物件導向基於原型的語言、場外規則語言、程序語言、反射語言、基於規則的語言、指令碼處理語言、基於堆疊的語言、同步語言、語法處置語言、視覺語言、wirth語言及基於xml的語言。記憶體904亦可用於在待由處理器902執行之指令之執行期間儲存暫時性變數或其他中間資訊。
如本文所論述之電腦程式未必對應於檔案系統中之檔案。程式可儲存於保持其他程式或資料(例如,儲存於標記語言文件中之一或多個指令碼)的檔案的一部分中、儲存於專用於所討論之程式的單一檔案中,或儲存於多個經協調檔案(例如,儲存一或多個模組、子程式或程式碼之部分的檔案)中。電腦程式可經部署以在一台電腦上或在位於一個位點或橫越多個位點分佈,且由通信網路互連的多台電腦上執行。本說明書中描述的程序及邏輯流程可由一或多個可程式化處理器執行,該一或多個可程式化處理器執行一或多個電腦程式以藉由對輸入資料進行操作且產生輸出來執行功能。
電腦系統900進一步包括與匯流排908耦接以用於儲存資訊及指令的資料儲存裝置906,諸如磁碟或光碟。電腦系統900可經由輸入/輸出模組910耦接至各種裝置。輸入/輸出模組910可為任何輸入/輸出模組。例示性輸入/輸出模組910包括諸如USB埠之資料埠。輸入/輸出模組910經組態以連接至通信模組912。例示性通信模組912(例如通信模組218)包括網路連接介面卡,諸如乙太網路卡及數據機。在某些態樣中,輸入/輸出模組910經組態以連接至複數個裝置,諸如輸入裝置914(例如輸入裝置214)及/或輸出裝置916(例如輸出裝置216)。例示性輸入裝置914包括鍵盤及指標裝置,例如滑鼠或軌跡球,消費者可藉由該指標裝置提供輸入至電腦系統900。其他種類之輸入裝置914亦可用以提供與使用者的互動,諸如觸覺輸入裝置、視覺輸入裝置、音訊輸入裝置或腦機介面裝置。舉例而言,提供給使用者之回饋可為任何形式之感測回饋,例如視覺回饋、聽覺回饋或觸覺回饋;且可自使用者接收任何形式之輸入,包括聲輸入、語音輸入、觸覺輸入或腦波輸入。例示性輸出裝置916包括用於向使用者顯示資訊之顯示裝置,諸如液晶顯示器(liquid crystal display;LCD)監視器。
根據本發明之一個態樣,可回應於處理器902執行記憶體904中所含有之一或多個指令之一或多個序列而使用電腦系統900來實施用戶端110及伺服器130。可將此等指令自另一機器可讀取媒體(諸如資料儲存裝置906)讀取至記憶體904中。主記憶體904中所含有之指令序列之執行致使處理器902執行本文中所描述之程序步驟。呈多處理配置之一或多個處理器亦可用以執行記憶體904中所含有之指令序列。在替代態樣中,硬佈線電路可代替軟體指令使用或與軟體指令組合使用,以實施本發明之各個態樣。因此,本發明之態樣不限於硬體電路及軟體之任何特定組合。
本說明書中所描述之主題的各種態樣可於計算系統中實施,該計算系統包括後端組件,例如資料伺服器,或包括中間軟體組件,例如應用程式伺服器,或包括前端組件,例如具有使用者可與本說明書中所描述之主題之實施互動所經由的圖形使用者介面或網路瀏覽器的用戶端電腦,或一或多個此等後端組件、中間軟體組件或前端組件的任何組合。系統之組件可藉由數位資料通信之任何形式或媒體(例如通信網路)互連。通信網路(例如網路150)可包括例如LAN、WAN、網際網路及其類似者中的任一或多者。另外,通信網路可包括但不限於例如以下工具拓樸中的任一或多者,包括:匯流排網路、星形網路、環形網路、網狀網路、星形匯流排網路、樹或階層式網路或其類似者。通信模組可例如為數據機或乙太網路卡。
電腦系統900可包括用戶端及伺服器。用戶端及伺服器大體上彼此遠離且典型地經由通信網路互動。用戶端與伺服器之關係藉助於在各別電腦上運行且彼此具有主從式關係之電腦程式產生。電腦系統900為例如但不限於桌上型電腦、膝上型電腦或平板電腦。電腦系統900亦可嵌入於另一裝置中,例如但不限於行動電話、PDA、行動音訊播放器、全球定位系統(GPS)接收器、視訊遊戲控制台及/或電視機上盒。
如本文中所使用之術語「機器可讀取儲存媒體」或「電腦可讀取媒體」係指參與將指令提供至處理器902以供執行之任一或多個媒體。此媒體可採取許多形式,包括但不限於非揮發性媒體、揮發性媒體及傳輸媒體。非揮發性媒體包括例如光碟或磁碟,諸如資料儲存裝置906。揮發性媒體包括動態記憶體,諸如記憶體904。傳輸媒體包括同軸纜線、銅線及光纖,包括包含匯流排908之電線。機器可讀取媒體之常見形式包括例如軟碟、軟性磁碟、硬碟、磁帶、任何其他磁性媒體、CD-ROM、DVD、任何其他光學媒體、打孔卡、紙帶、具有孔圖案之任何其他實體媒體、RAM、PROM、EPROM、FLASH EPROM、任何其他記憶體晶片或卡匣,或可供電腦讀取之任何其他媒體。機器可讀取儲存媒體可為機器可讀取儲存裝置、機器可讀取儲存基板、記憶體裝置、影響機器可讀取傳播信號之物質的組成物,或其中之一或多者的組合。
為了說明硬體與軟體之互換性,諸如各種說明性區塊、模組、組件、方法、操作、指令及演算法之項目已大體按其功能性加以了描述。將此功能性實施為硬體、軟體抑或硬體與軟體之組合視強加於整個系統上之特定應用及設計約束而定。所屬技術領域中具有通常知識者可針對每一特定應用以不同方式實施所描述功能性。
如本文中所使用,在一系列項目之前的藉由術語「及」或「或」分離該等項目中之任一者的片語「…中之至少一者」修改清單整體,而非清單中之每一成員(亦即,每一項目)。片語「…中之至少一者」不需要選擇至少一個項目;實情為,該片語允許包括該等項目中之任一者中的至少一者及/或該等項目之任何組合中的至少一者及/或該等項目中之每一者中的至少一者的涵義。藉助於實例,片語「A、B及C中之至少一者」或「A、B或C中之至少一者」各自指僅A、僅B或僅C;A、B及C之任何組合;及/或A、B及C中之每一者中的至少一者。
就術語「包括」、「具有」或其類似者用於實施方式或申請專利範圍中而言,此術語意欲以相似於術語「包含」在「包含」作為過渡詞用於技術方案中時所解譯之方式而為包括性的。詞語「例示性」在本文中用以意謂「充當一實例、例項或說明」。本文中被描述為「例示性」之任何具體實例未必被解釋為比其他具體實例較佳或有利。
除非具體陳述,否則以單數形式對元件的提及並不意欲意謂「一個且僅一個」,而是「一或多個」。所屬技術領域中具有通常知識者已知或稍後將知曉的貫穿本發明而描述的各種組態之元件的所有結構及功能等效物以引用方式明確地併入本文中,且意欲由本發明技術涵蓋。此外,本文所揭示之任何內容均不意欲專用於公眾,無論在以上描述中是否明確地敍述此揭示內容。不應依據35 U.S.C. §112第六段的規定解釋任何條項要素,除非使用片語「用於…之構件」來明確地敍述該要素或者在方法條項之狀況下使用片語「用於…之步驟」來敍述該要素。
雖然本說明書含有許多特性,但此等特性不應被解釋為限制可能主張之內容的範圍,而是應解釋為對主題之特定實施的描述。在單獨具體實例之上下文中描述於本說明書中之某些特徵亦可在單一具體實例中以組合形式實施。相反地,在單一具體實例的上下文中所描述的各種特徵亦可分別在多個具體實例中實施或以任何適合子組合來實施。此外,儘管上文可將特徵描述為以某些組合起作用且甚至最初按此來主張,但來自所主張組合之一或多個特徵在一些狀況下可自該組合刪除,且所主張之組合可針對子組合或子組合之變化。
本說明書之主題已關於特定態樣加以描述,但其他態樣可經實施且在以下申請專利範圍之範圍內。舉例而言,儘管在圖式中以特定次序來描繪操作,但不應將此理解為需要以所展示之特定次序或以順序次序執行此等操作,或執行所有所說明操作以達成合乎需要之結果。可以不同次序執行申請專利範圍中所敍述之動作且該等動作仍達成合乎需要的結果。作為一個實例,附圖中描繪之程序未必需要所展示之特定次序,或依序次序,以達成合乎需要的結果。在某些情形中,多任務及並行處理可為有利的。此外,不應將上文所描述之態樣中之各種系統組件的分離理解為在所有態樣中皆要求此分離,且應理解,所描述之程式組件及系統可大體上一起整合於單一軟體產品中或封裝至多個軟體產品中。其他變化係在以下申請專利範圍之範圍內。
100:架構
110:用戶端裝置
130:伺服器
150:網路
152:資料庫
200:方塊圖
212-1:處理器
212-2:處理器
214:輸入裝置
216:輸出裝置
218-1:通信模組
218-2:通信模組
220-1:記憶體
220-2:記憶體
222:應用程式
225:圖形使用者介面(GUI)
232:模型訓練引擎
236:運動學策略網路
240:因果時間模型
242:姿勢估計工具
244:蒙皮人類網格工具
246:運動學改進工具
248:控制產生工具
249:物理學模擬工具
252:訓練資料庫
301:輸入圖框
301-t':輸入圖框
321:實體模擬/個體之姿勢模擬/身體模擬
321-t':身體姿勢
330:馬可夫決策過程(MDP)
330-1:操作
330-t:操作
330-t':操作
336:運動學策略網路/運動學感知策略網路
340:因果時間模型
346:運動學改進工具
348:控制產生工具
349:物理學模擬工具
351:關鍵點偵測器
352:運動學姿勢估計器
355:比例導數(PD)控制器
356:向前運動學模組
357:三維(3D)關節
358:多層感知器(MLP)
362:特徵提取層
364:正規化層
366:多層感知器(MLP)
401A-1:輸入圖框
401A-2:輸入圖框
401A-3:輸入圖框
401B-1:輸入圖框
401B-2:輸入圖框
401B-3:輸入圖框
421A-1:實體模擬
421A'-1:實體模擬
421A-2:實體模擬
421A'-2:實體模擬
421A-3:實體模擬
421A'-3:實體模擬
421B-1:實體模擬
421B'-1:實體模擬
421B-2:實體模擬
421B'-2:實體模擬
421B-3:實體模擬
421B'-3:實體模擬
501A-1:輸入影像圖框
501A-2:輸入影像圖框
501A-3:輸入影像圖框
521A-1:實體模擬/因果模型模擬
521A-2:實體模擬/因果模型模擬
521A-3:實體模擬/因果模型模擬
521A
*-1:實體模擬/因果模型模擬
521A
*-2:實體模擬/因果模型模擬
521A
*-3:實體模擬/因果模型模擬
521A'-1:實體模擬/運動學模型模擬
521A'-2:實體模擬/運動學模型模擬
521A'-3:實體模擬/運動學模型模擬
521A''-1:實體模擬/運動學模型模擬
521A''-2:實體模擬/運動學模型模擬
521A''-3:實體模擬/運動學模型模擬
551A-1:假影
551A-2:假影
551A-3:假影
552A-2:假影
501B-2:輸入影像圖框
501B-3:輸入影像圖框
521B-1:實體模擬/因果模型模擬
521B-2:實體模擬/因果模型模擬
521B-3:實體模擬/因果模型模擬
521B
*-1:實體模擬/因果模型模擬
521B
*-2:實體模擬/因果模型模擬
521B
*-3:實體模擬/因果模型模擬
521B'-1:實體模擬/運動學模型模擬
521B'-2:實體模擬/運動學模型模擬
521B'-3:實體模擬/運動學模型模擬
521B''-1:實體模擬/運動學模型模擬
521B''-2:實體模擬/運動學模型模擬
521B''-3:實體模擬/運動學模型模擬
551B-1:假影
551B-2:假影
551B-3:假影
600:圖表
601:反覆
602:效能增益
610:效能增益曲線
700:方法
702:步驟
704:步驟
706:步驟
708:步驟
710:步驟
800:方法
802:步驟
804:步驟
806:步驟
808:步驟
810:步驟
812:步驟
900:電腦系統
902:處理器
904:記憶體
906:資料儲存裝置
908:匯流排
910:輸入/輸出模組
912:通信模組
914:輸入裝置
916:輸出裝置
[圖1]說明根據一些具體實例的適合於在虛擬實境環境中提供即時、穿著衣服的個體動畫之實例架構。
[圖2]為說明根據本發明之某些態樣的來自圖1之架構之實例伺服器及用戶端的方塊圖。
[圖3]說明根據一些具體實例的用以模擬三維人類姿勢之控制的因果時間模型。
[圖4A]至[圖4B]說明根據一些具體實例的藉由物理學模擬器及物理上合理之人類運動獲得的實體模擬。
[圖5A]至[圖5B]說明根據一些具體實例的藉由因果時間模型獲得的實體模擬之不同視圖。
[圖6]說明根據一些具體實例的依據因果時間模型中之反覆數目而變化的效能增益曲線。
[圖7]說明根據一些具體實例的關於在用以形成採用模擬人類姿勢之個體之三維模型的方法中之步驟的流程圖。
[圖8]說明根據一些具體實例的關於在用於訓練採用模擬人類姿勢之個體之三維模型的方法中之步驟的流程圖。
[圖9]為說明實例電腦系統之方塊圖,藉由該電腦系統可實施圖1及圖2之用戶端及伺服器以及圖7至圖8之方法。
在該等圖中,除非另外明確陳述,否則具有相同或類似標記之元件共用相同或類似特徵。
301:輸入圖框
301-t':輸入圖框
321:實體模擬/個體之姿勢模擬/身體模擬
321-t':身體姿勢
330:馬可夫決策過程(MDP)
330-1:操作
330-t:操作
330-t':操作
336:運動學策略網路/運動學感知策略網路
340:因果時間模型
346:運動學改進工具
348:控制產生工具
349:物理學模擬工具
351:關鍵點偵測器
352:運動學姿勢估計器
355:比例導數(PD)控制器
356:向前運動學模組
357:三維(3D)關節
358:多層感知器(MLP)
362:特徵提取層
364:正規化層
366:多層感知器(MLP)
Claims (20)
- 一種電腦實施方法,其包含: 擷取包括一個體之一身體影像之一第一圖框; 自該第一圖框選擇該個體之該身體影像內界定一身體部位之一凸包的多個關鍵點、及界定兩個身體部位之間的一關節之多個關節點; 基於該等關鍵點及該等關節點,識別該身體部位之一幾何形狀、一速度及一質量以包括於該個體之一動態模型中; 基於該個體之該動態模型,判定在一視訊串流中之該第一圖框之後的一第二圖框中的該個體之一姿勢;及 將該視訊串流提供至運行於一用戶端裝置上之一沉浸式實境應用程式。
- 如請求項1之電腦實施方法,其中擷取來自一個體之一第一圖框包含運用該個體之該動態模型形成該第一圖框。
- 如請求項1之電腦實施方法,其進一步包含基於該個體之一先前姿勢、一先前動作特徵及該個體之該動態模型中之一動作策略,判定使該個體之該姿勢與一轉變動態學規則相關聯之一梯度因子。
- 如請求項1之電腦實施方法,其中判定該個體之該姿勢包含基於該個體之一動作及該個體之該動態模型中之一動作策略,判定一梯度因子以獲得該個體之該姿勢中的每一關節點及每一關鍵點之一位置。
- 如請求項1之電腦實施方法,其中判定該個體之該姿勢包含基於該身體部位之該幾何形狀、該速度及該質量,使作用於該等關節點中之每一者的一轉矩場相關聯。
- 如請求項1之電腦實施方法,其進一步包含基於該身體部位之該幾何形狀、該速度及該質量,判定使該個體移動之一動作。
- 如請求項1之電腦實施方法,其中判定該個體之一姿勢包含識別該第二圖框中該個體之該身體影像相對於一環境的物理約束。
- 如請求項1之電腦實施方法,其中該個體之該動態模型包含用以判定該個體之一狀態之一物理學模擬工具、及判定與該個體之該狀態因果地相關聯之一動作的一動作策略工具,該方法進一步包含比該動作策略工具更快地更新該物理學模擬工具。
- 如請求項1之電腦實施方法,其中識別該身體部位之一幾何形狀、一速度及一質量包含基於該視訊串流中之該第一圖框與該第二圖框之間流逝的一時間,使該第一圖框與該第二圖框之間的該等關鍵點及該等關節點相關。
- 如請求項1之電腦實施方法,其中將該視訊串流提供至一沉浸式實境應用程式包含基於該沉浸式實境應用程式來選擇該個體之一視點。
- 一種系統,其包含: 一記憶體,其儲存多個指令;及 一或多個處理器,其經組態以執行該等指令以使得該系統執行操作,該等操作包含: 擷取包括一個體之一身體影像之一第一圖框; 自該第一圖框選擇該個體之該身體影像內界定一身體部位之一凸包的多個關鍵點、及界定兩個身體部位之間的一關節之多個關節點; 基於該等關鍵點及該等關節點,識別該身體部位之一幾何形狀、一速度及一質量以包括於該個體之一動態模型中; 基於該個體之該動態模型,判定一視訊串流中在該第一圖框之後之一第二圖框中的該個體之一姿勢;及 基於運行於一用戶端裝置上之一沉浸式實境應用程式,沿著該個體之一所選擇視點將該視訊串流提供至該沉浸式實境應用程式。
- 如請求項11之系統,其中為了擷取來自一個體之一第一圖框,該一或多個處理器執行指令,以運用該個體之該動態模型形成該第一圖框。
- 如請求項11之系統,其中該一或多個處理器進一步執行指令,以基於該個體之一先前姿勢、一先前動作特徵及該個體之該動態模型中之一動作策略來判定使該個體之該姿勢與一轉變動態學規則相關聯之一梯度因子。
- 如請求項11之系統,其中為了判定該個體之該姿勢,該一或多個處理器執行指令,以基於該個體之一動作及該個體之該動態模型中之一動作策略,判定一梯度因子,以獲得該個體之該姿勢中的每一關節點及每一關鍵點之一位置。
- 一種用於訓練一模型以模擬一實體人類姿勢之電腦實施方法,其包含: 在一視訊串流中擷取來自一個體之多個圖框; 對於一第一圖框,選擇該個體之一身體內界定一身體部位之一凸包的多個關鍵點、及界定兩個身體部位之間的一關節之多個關節點; 基於該個體之一動態模型及使該個體移動之一動作,產生每一關節點及每一關鍵點的一下一位置; 判定一損失值,該損失值指示每一關節點及每一關鍵點之該下一位置、與自該視訊串流中之該第一圖框之後的一第二圖框提取的每一關鍵點及每一關節點之一基準真相位置之間的一差; 基於該損失值更新該個體之該動態模型;及 將該個體之該動態模型儲存於一記憶體電路中。
- 如請求項15之電腦實施方法,其進一步包含判定該多個關鍵點之一信賴等級;且判定一損失值包含因式分解該損失值中關於該等關鍵點中之每一者的該信賴等級。
- 如請求項15之電腦實施方法,其進一步包含將該個體之該動態模型提供至用於一沉浸式實境應用程式之一用戶端裝置。
- 如請求項15之電腦實施方法,其中更新該個體之該動態模型包含將一殘餘力及轉矩添加至使該個體移動之該動作。
- 如請求項15之電腦實施方法,其進一步包含基於用於圍繞平均值之特徵之一高斯分佈而界定一運動學策略,且更新該個體之該動態模型包含使用來自該高斯分佈之一協方差以更新該個體之該動態模型。
- 如請求項15之電腦實施方法,其中更新該個體之該動態模型進一步包含基於該身體部位之一位置、一定向及一速度的一準確度,來調整該個體之該動態模型中的一動作策略以增大一報酬值。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063130005P | 2020-12-23 | 2020-12-23 | |
US63/130,005 | 2020-12-23 | ||
US17/556,429 | 2021-12-20 | ||
US17/556,429 US20220207831A1 (en) | 2020-12-23 | 2021-12-20 | Simulated control for 3- dimensional human poses in virtual reality environments |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202232284A true TW202232284A (zh) | 2022-08-16 |
Family
ID=80218340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110148341A TW202232284A (zh) | 2020-12-23 | 2021-12-23 | 用於在虛擬實境環境中三維人類姿勢之模擬控制 |
Country Status (2)
Country | Link |
---|---|
TW (1) | TW202232284A (zh) |
WO (1) | WO2022140540A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115331309A (zh) * | 2022-08-19 | 2022-11-11 | 北京字跳网络技术有限公司 | 用于识别人体动作的方法、装置、设备和介质 |
CN116311519B (zh) * | 2023-03-17 | 2024-04-19 | 北京百度网讯科技有限公司 | 动作识别方法、模型训练方法及装置 |
-
2021
- 2021-12-22 WO PCT/US2021/064860 patent/WO2022140540A1/en active Application Filing
- 2021-12-23 TW TW110148341A patent/TW202232284A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2022140540A1 (en) | 2022-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11682155B2 (en) | Skeletal systems for animating virtual avatars | |
CN113785330B (zh) | 使用相异的目标动画数据来训练人物的强化学习 | |
WO2021143261A1 (zh) | 一种动画实现方法、装置、电子设备和存储介质 | |
US11257268B2 (en) | Avatar animation using Markov decision process policies | |
US11790587B2 (en) | Animation processing method and apparatus, computer storage medium, and electronic device | |
JP7437327B2 (ja) | 異種入力の補間のための方法およびシステム | |
US11741668B2 (en) | Template based generation of 3D object meshes from 2D images | |
CA3080005A1 (en) | Meta-learning for multi-task learning for neural networks | |
Kidziński et al. | Artificial intelligence for prosthetics: Challenge solutions | |
US11514638B2 (en) | 3D asset generation from 2D images | |
TW202232284A (zh) | 用於在虛擬實境環境中三維人類姿勢之模擬控制 | |
US20210158162A1 (en) | Training reinforcement learning agents to learn farsighted behaviors by predicting in latent space | |
US11836840B2 (en) | Systems and methods for cross-application authoring, transfer, and evaluation of rigging control systems for virtual characters | |
US20220207831A1 (en) | Simulated control for 3- dimensional human poses in virtual reality environments | |
US11120599B2 (en) | Deriving avatar expressions in virtual reality environments | |
Wu et al. | Video driven adaptive grasp planning of virtual hand using deep reinforcement learning | |
Schiffer | Game Character Facial Animation Using Actor Video Corpus and Recurrent Neural Networks | |
US20230381643A1 (en) | Method and system for processing gender voice compensation | |
Weikert | Head Motion Prediction in XR | |
Meloni | Learning from Video Streams: Virtual Environments and Parallel Computation |