TWI808787B - 自動分類過渡動作的方法 - Google Patents
自動分類過渡動作的方法 Download PDFInfo
- Publication number
- TWI808787B TWI808787B TW111122117A TW111122117A TWI808787B TW I808787 B TWI808787 B TW I808787B TW 111122117 A TW111122117 A TW 111122117A TW 111122117 A TW111122117 A TW 111122117A TW I808787 B TWI808787 B TW I808787B
- Authority
- TW
- Taiwan
- Prior art keywords
- transition
- controller
- motion
- target
- source
- Prior art date
Links
Landscapes
- Sorting Of Articles (AREA)
- Combined Means For Separation Of Solids (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一種自動分類過渡動作的方法,包括以運算裝置執行下列步驟:取得多個過渡動作,每個過渡動作關聯於源動作、目標動作及從源動作轉換至目標動作的轉換機制,從每個過渡動作擷取特性向量,從而產生多個特性向量,其中每個特性向量的包括多個過渡特性,以及依據這些特性向量執行分類演算法以產生多個過渡類型。
Description
本發明關於過渡動作,特別是一種自動分類過渡動作的方法。
模擬虛擬角色(simulated virtual character)已廣泛應用於機器人、電影和遊戲等多種產業。雖然每一個產業的模擬角色所需性質有所不同,但對所有產業來說,重點在於角色執行許多動作的能力。
一個多功能的(versatile)角色可以從一個動作過渡到另一個動作,例如從慢跑到跳躍。另外,此角色還要能執行多種不同風格(style)的過渡動作。 例如,在越過障礙物時,角色可能需要跳過指定的障礙物才能達成目標。這一個具有障礙的範例已經引入了許多問題變化,因為在某些情況下角色需要跳過高欄架或是寬間隙。在此範例中,一個執行跳躍的通用解決方案是不夠的,因為這兩種跳躍方式(高欄架及寬間隙)需要以不同的方式解決。
然而,為虛擬角色生成過渡動作並不容易。傳統方法是手動產生關鍵影格(key frame)並使用動作內插(motion interpolation)技術。在媒體製作中,關鍵影格是時間線上的一個位置,其標示過渡的開始或過渡的結束。它包含定義過渡應該在哪裡開始或停止的特殊資訊。中間影格隨著時間在這些定義之間進行插值,以創建運動的錯覺。但是,為了生成不同風格的過渡運動,需要生成不同的關鍵影格集合,導致人力成本及時間成本缺乏效率地增加。
有鑑於此,本發明提出了一種控制機制,可以在虛擬角色的過渡運動中無縫且穩健地整合用戶偏好。這種可靠的控制使虛擬角色能夠有效地應對多種障礙。
依據本發明一實施例的一種自動分類過渡動作的方法,包括以運算裝置執行下列步驟:取得多個過渡動作,每個過渡動作關聯於源動作、目標動作及從源動作轉換至目標動作的轉換機制;從每個過渡動作擷取特性向量,從而產生多個特性向量,其中每個特性向量的包括多個過渡特性;以及依據這些特性向量執行分類演算法以產生多個過渡類型。
綜上所述,本發明提出的自動分類過渡動作的方法可以具有下列貢獻或功效:其一是允許使用者選擇不同風格的過渡動作,其二是能夠自動產生不同風格的過渡動作。
以上之關於本揭露內容之說明及以下之實施方式之說明係用以示範與解釋本發明之精神與原理,並且提供本發明之專利申請範圍更進一步之解釋。
以下在實施方式中詳細敘述本發明之詳細特徵以及特點,其內容足以使任何熟習相關技藝者了解本發明之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之構想及特點。以下之實施例係進一步詳細說明本發明之觀點,但非以任何觀點限制本發明之範疇。
圖1是依據本發明一實施例的自動分類過渡動作的方法的流程圖,包括步驟P1~P3。所述流程例如以運算裝置執行。運算裝置例如是:微處理器,例如中央處理器單元(central processor unit,CPU)、圖形處理器單元(graphic processor unit)及/或應用處理器(application processor,AP);邏輯晶片,例如現場可程式化閘陣列(field programmable gate array,FPGA)及特殊應用IC(application-specific IC,ASIC)。
在步驟P1中,運算裝置50取得多個過渡動作(transition motion),每個過渡動作的關聯於源動作、目標動作及從源動作轉換至目標動作的轉換機制。圖2是過渡動作的範例示意圖。此範例呈現一個四足動物的虛擬角色從慢跑轉換到跳躍的過渡動作,其中源動作為慢跑(canter),目標動作為跳躍。源動作及目標動作各自都包括多個相位(phase),圖2呈現了從慢跑動作中的一個相位轉換到跳躍動作的一個相位,其中相位標示為圖2中的黑色圓點。相位用於表示一個運動的不同狀態。例如當源運動為走路時,角色彎曲左膝蓋是第一相位,角色抬起並伸出左腳是第二相位,角色左腳落地是第三相位,角色彎曲右膝蓋是第四相位…依此類推。另外,舉例來說,假設源動作及目標動作各自有四個相位,則理論上可以產生16種不同的過渡動作,但仍須計算所有過渡動作的過渡品質(transition quality),才能確保過渡動作在視覺上流暢,並且符合自然界的物理定律。
在步驟P1的一實施例中,所述過渡動作由一複雜運動控制器產生,此複雜運動控制器可用於控制現實世界中的機器四足動物,或是虛擬世界中的虛擬四足動物。所述轉換機制又稱過渡動作張量(transition motion tensor, TMT),後文將補充說明複雜運動控制器的建立方式,以及TMT的詳細內容。
在步驟P1的另一實施例中,所述過渡動作為多組關鍵影格(keyframe),每組關鍵影格對應於一種過渡風格。每個關鍵影格相當於一個姿勢特徵(pose feature)。每個關鍵影格包含的資訊例如透過角色的質心(center of mass, COM)高度、前進加速度(forward acceleration)及足部接觸形式(foot contact pattern)或上述的子集來描述。質心高度是一個三維向量,例如[1.2cm, 0.9cm, 3.0cm]。前進加速度同樣是一個三維向量,例如[121cm/s
2, -89 cm/s
2, 78cm/s
2]。足部接觸形式記錄角色的足部接觸地面(高度坐標=0)的持續時間,例如[0.2s 0s 0.2s 0s]這個四維向量分別代對應至四足動物的左前足/右前足/左後足/右後足接觸地面的時間。
在步驟P2中,運算裝置50從每個過渡動作擷取一特性向量,從而產生多個特性向量。在一實施中,運算裝置50可以透過連接在實體機器動物上面的多個感測器收集特性向量的資料。每個特性向量包括多個過渡特性(property)。在一實施例中,這些過渡特性包括角色的質心高度、前進加速度、足部接觸形式等。特性向量為高維度的向量,根據過渡動作的類型,使用者可以自行指定特性向量要使用哪些過渡特徵。例如,慢跑-跳躍的過渡動作適合參考質心高度,而慢跑-站立的過渡動作適合參考前進加速度。
在步驟P3中,運算裝置50依據特性向量執行分類演算法以產生多個過渡類型。在一實施例中,分類演算法為階層式分群法(hierarchy clustering)。在另一實施例中,分類演算法為K-平均(K-means)演算法,且K值係以手肘方法(elbow method)產生。K值代表過渡動作被分類後的類型數量。
在使用K-平均演算法的實施例中,其細部流程如下所述:首先,從多個過渡特徵(如COM高度)對應的資料點中隨機選擇K個資料點作為中心點;然後計算每個資料點到中心點之間的距離,依據此距離將每個資料點各自分類到K個類別中的一者;對於每個類別,計算此類別中所有資料點的平均值來重新決定此類別的中心點;按照上述流程重複迭代指定次數,或是直到中心點沒有太大的變化。
圖3是依據本發明一實施例的自動分類過渡動作的方法的示意圖。圖3左起第一圖是過渡質量的熱圖,熱圖中的每個點代表過渡動作的一個實現方式,例如:從源動作的相位1到目標動作的相位4。熱圖中每個點的顏色代表過渡質量的大小。顏色愈淺代表過渡質量愈高。圖3左起第二圖呈現步驟P2中擷取的多個過渡特性,且此圖以質心高度的變化為範例。將圖2所示的多個過渡特性代入至分類演算法之後,可將過渡質量的熱圖分為兩個類別,如圖3左起第四圖所示。這兩個類別對應的過渡特性如圖3左起第五圖所示,該圖呈現COM高度隨時間的變化。
圖4是兩種類型的過渡動作的示意圖。在圖4上方的示意圖中,可知第一種類型的過渡動作適用於跳過寬的間隙。在圖4下方的示意圖中,可知第二種類型的過渡動作適用於跳過高欄架,因為其COM高度變化的程度比起第一種類型來得劇烈。
以下進一步說明複雜運動控制器的建立方式及TMT的詳細內容。
下列實施例所述之複雜運動控制器可用於控制電影、遊戲中的虛擬角色,或控制真實世界中的機器人。
圖5是本發明一實施例的建立複雜運動控制器的方法的流程圖,所述方法是以處理器執行圖5所示的步驟S1~S5。步驟S1是「取得源控制器及目標控制器」,步驟S2是「決定源控制器及目標控制器之間的過渡張量」, 步驟S3是「計算過渡張量的多個結果,並依據索引記錄這些結果」,步驟S4是「依據記錄的這些結果計算多個過渡品質」, 步驟S5是「在這些過渡品質中尋找最佳過渡品質以建立複雜運動控制器」,以下分別介紹各步驟的實施細節。
步驟S1是「取得源控制器及目標控制器」,源控制器依據角色的當前狀態及控制目標產生源運動,目標控制器依據角色的當前狀態及控制目標產生目標運動。舉例來說:源運動是走路,目標運動是跑步,而複雜運動則是從走路過渡到跑步。控制目標的輸入包含至少一物理參數控制量,例如跑步的秒速,從高處掉下的重力加速度。
源控制器及目標控制器都是一種模板控制器(template controller),以下詳述模板控制器的細節:
為了使角色能夠在模擬的物理環境中執行複雜運動,常見的做法是訓練基於物理的控制器以適應多種類型的運動。但是使用單一控制器輸出多種複雜運動需要大量的訓練成本,而且在訓練過程中,可能會因為各種運動的類型差異太大而增加訓練的困難度。為了避免上述問題,本發明的一或多個實施例將每一個運動都分配給一個基於物理的控制器,稱之模板控制器。這種策略可將訓練複雜度限制在單一個控制器內,從而使訓練過程更易於處理和獨立作業。
在訓練模板控制器之前,需使用運動學(kinematic)控制器收集多個參考運動片段。在每個參考運動片段中,控制角色重複執行各自的運動,但每次重複時對速度、方向和高度的輸入參數略有不同。為了可以在動態環境中產生真實的運動,本發明的一或多個實施例使用深度強化學習(deep reinforcement learning,DRL)的技術訓練模板控制器,模板控制器 𝜋 (a
𝑡| s
𝑡, c
𝑡) 輸出運動a
𝑡∈ A,其中𝑡為給定的時階(time step),s
𝑡∈ S為給定角色的當前狀態, c
𝑡為控制目標(control objective),A和S分別代表運動域和狀態域。當前狀態 s
𝑡儲存角色的位置、旋轉量、速度及角速度。控制目標 c
𝑡= ( 𝜎 , 𝜃 ,
) ,其中𝜎為目標移動速度(例如以公尺/秒為單位),𝜃為目標方向(例如以弳度為單位),
為目標質心 (center of mass,COM)的高度(例如以公尺為單位)。
本發明的一或多個實施例透過對指定的參考運動片段執行「模仿學習」(imitation learning)來初始化模板控制器。在此過程中,模板控制器的目標是匹配運動學角色和模擬角色的關節位置,本發明使用運動學角色的兩個連續幀作為低階控制器的目標。一旦收斂,本發明的一或多個實施例進一步微調模板控制器以遵循高級運動控制指令(包括如:速度、方向和目標質心的高度等參數)。由於控制目標的值來自參考運動片段,因此不需要在所有時間設定所有值。例如,在快走(trot)或慢跑(canter)等運動時目標質心的高度可以保持不變,但是在跳躍運動中目標質心的高度則需要隨時間調整。
為了保證每個模板控制器的穩健性,本發明的一或多個實施例在訓練過程中引入了外部干擾,例如從隨機方向朝角色投擲各種大小的物體,如圖10所示。採用上述方式將得到一組可控制的且穩健的模板控制器 Ψ = { π
1... π
6} ,各自屬於詞彙集 𝑉 = { 快走 ,慢跑 ,跳躍,慢步,站立,坐下 } 中的一個控制詞彙。
針對模板控制器的訓練,本發明的一或多個實施例使用近端策略優化(proximal policy optimization)、廣義優勢估計器GAE(λ)(generalized advantage estimator)、多步返回TD(λ)(multi-step returns)等技術。為了提高取樣效率並防止模板控制器陷入於對整體而言較差的局部最優解,本發明的一或多個實施例採用 “Xue Bin Peng, Pieter Abbeel, Sergey Levine, and Michiel van de Panne. 2018. DeepMimic: Example-Guided Deep Reinforcement Learning of Physics-Based Character Skills. ACM Transactions on Graphics (TOG) 37, 4 (2018), 143.”此文獻中提到的提前終止(early termination)和參考狀態初始化(reference state initialization)等技術。
本發明的一或多個實施例將每個模板控制器作為一個分層策略(hierarchical policy)來實現,每個模板控制器都具有以基元(primitive)表示的低階控制器,控制目標直接被指派至低階控制器。一個模板控制器通常需要四個基元,跳躍運動則是例外,它需要八個基元來解決額外的運動複雜度。
模板控制器只允許角色執行特定運動。因此,單一模板控制器並無法解決需要整合多個運動的複雜運動的任務。例如,控制角色跳過一個大坑洞並快速奔跑到目的地,則角色需要先跑得足夠快,然後跳躍,並在落地後朝著目的地奔跑。然而,知道角色何時在奔跑和跳躍之間過渡(轉換)並不是一項簡單的任務,因為角色的狀態直接影響過渡結果。簡單的過渡可能會產生看起來奇怪或甚至失敗的複雜運動。因此,本發明的一或多個實施例在步驟S2提出了一個資料導向的過渡張量(transition tensor),藉由仔細檢查過渡的關鍵時間點來引導角色成功地從一個運動過渡到另一個運動。
步驟S2是「決定源控制器及目標控制器之間的過渡張量」,過渡張量(後文簡稱張量)具有多個索引,這些索引中的一者對應於源運動的多個相位。舉例來說, 源運動為抬起左手,其包含了肘關節旋轉0度、1度、2度、3度…直到可旋轉的角度上限等多個相位。
在從源控制器切換到目標控制器的過程中,角色與源控制器處於特定的狀態(相位),而且目標控制器可能從未見過這種狀態,當目標狀態器試圖從這種新狀態恢復時就產生了一個新的過渡運動。此新的過渡運動既不存在於源控制器中也不存在於目標控制器中。也就是說,在兩個控制器的配對之間切換產生了過渡運動。
然而,任意地切換控制器會產生不穩定的過渡,因為運動的難度各不相同。雖然可以藉由分配兼容於源運動及目標運動的控制目標來改進切換過程,例如插入運動速度以在不同的運動步態之間進行過渡。然而,這種策略對於需要更精細和準確的落下時機的運動無效,而此種情況適合用角色的階段標籤來描述。例如,在慢跑和跳躍之間是否能成功過渡取決於角色的腳是否接觸地面。因此,當角色在空中時,從跳躍回到慢跑的複雜運動可能會提高目標控制器的複雜性,導致穩定時間更長,施力過大,偏離控制目標,甚至導致角色墜落。
為了描述源運動和目標運動之間成功過渡的可能性,本發明的一或多個實施例定義一個具有四個維度的張量T來記錄過渡的結果,如下方式一所示。
式一:T
𝑚 , 𝜙 , 𝑛 , 𝜔= (𝜂, Δ𝑡, 𝑒, 𝛼)
張量T的四個索引包括:代表源控制器的𝑚 ∈ 𝑉,代表目標控制器的𝑛 ∈ 𝑉,其中V為詞彙集,代表源控制器的相位的𝜙 ∈ [ 0, 1 ),代表目標控制器的相位的𝜔 ∈ [ 0, 1 ) 。每個組合( 𝜂 , Δ𝑡 , 𝑒 , 𝛼 )取決於w = ( 𝑚 , 𝜙 , 𝑛 , 𝜔 ) ,即:𝜂 ≡ 𝜂 w 。
張量中的每個元素T
w都是一個 4 維向量,代表在w處的過渡結果。第一個結果𝜂記錄了過渡之後的存活指標(alive state),若角色的頭部、軀幹和背部不接觸地面而成功過渡,則𝜂 = 1,若角色跌倒,則𝜂 = 0。第二個結果Δ𝑡代表從切換過程開始到目標控制器穩定時結束的過渡時間(duration)。第三個結果𝑒代表過渡的耗能成本(effort),例如過渡時間中所有關節扭矩的總和,如下方式二所示。
式二:
其中, J 為角色的關節數量, j 為關節標籤,位於第 j 關節的比例積分控制器(Proportional Derivative controller,PD controller)的扭矩在給定時間 𝑡 被表示為
。為了評估角色遵循控制目標的程度,本發明的一或多個實施例分別定義速度、方向和高度獎勵如下方式三、式四及式五所示。
式三:
式四:
式五:
其中,
為L2範數(norm),
v c為角色的質心速度,
u= (cos(𝜃), −𝑠𝑖𝑛(𝜃))為投影到二維運動平面的目標方向,
為角色在過渡前後的質心高度。本發明的一或多個實施例將控制獎勵定義為式三、式四及式五的平均,如下方式六所示。
式六:
最後,張量T的第四個結果 α 為角色的控制精確度,其計算方式為目標控制器的兩個穩定狀態
之間的控制獎勵的總和。本發明的一或多個實施例在過渡後(post-transition)量測控制精確度,因為本發明的一或多個實施例假設在過渡期間沒有控制精確度的資料,控制精確度定義如下方式七所示。
式七:
在步驟S3計算每一過渡張量的四個結果之前,本發明的一或多個實施例使用穩健性測試評估模板控制器。例如:每 0.1 秒從隨機方向投擲大小和密度不同的物體,若角色存活至少 10 秒,則此模板控制器通過了穩健性測試。
圖7是從源運動過渡到目標運動的過程中,過渡張量變化程度的示意圖。此示意圖的記錄開始於角色執行源運動(慢跑)。在切換到目標控制器之前,先等待源控制器穩定下來。在切換時,輸入角色的當前狀態和取材自目標運動片段的高級控制目標,並在所有相位中均勻取樣。接下來,記錄控制器的反應,並記錄角色的腳部落下的軌跡,質心位置,關節扭矩(torque),和控制精確度(如式七)。在控制器切換過程的 5 秒後終止記錄,因為大多數控制器此時已經穩定或出現故障。
步驟S3是「計算過渡張量的多個結果,並依據索引記錄這些結果」。處理器採用蒙地卡羅(Monte Carlo)法計算多個結果,每一結果包括存活指標 𝜂、過渡時間 Δ𝑡、耗能成本 𝑒 及控制精確度 𝛼。
為了找出過渡的所有可能性,藉由在支援物理模擬的環境中使用蒙地卡羅(Monte Carlo)法,本發明的一或多個實施例計算大量的(如數百萬個)過渡張量的樣本來填充張量。每個成對過渡在源運動及目標階段的多個相位中均勻取樣。
步驟S4是「依據記錄的結果計算多個過渡品質」,其中每一過渡品質包括穩定度(stability)及結果(outcome)值,結果值係處理器依據存活指標、過渡時間、耗能成本及控制精確度計算得到。
如式一所示,對於在源控制器及目標控制器之間的過渡,一個用於描述此過渡的可能性的 4 維張量可用於統合(unify)兩個模板控制器,讓角色能夠執行詞彙集V中的運動的組合。並且在步驟S5建立複雜運動控制器時利用統合後的模板控制器來引導角色。為了實現此目標,本發明的一或多個實施例在步驟S4中將過渡張量的四個維度合併為一個結果值,如下式八所示:
式八:
其中,Γ
w為基於索引w的結果值。
另一方面,本發明的一或多個實施例希望確保相鄰樣本中的結果值和存活機率具有一致性。因此,本發明的一或多個實施例定義局部鄰域(local neighborhood)Γ
w(𝛿),其為 Γ 鄰近於 w 的二維子張量,w ∈ {𝑚, 𝜙 ± 𝛿, 𝑛, 𝜔 ± 𝛿} ,其中𝜙 ± 𝛿代表源運動𝑚中關聯於相位𝜙的多個鄰近的參考相位,𝜔 ± 𝛿代表目標運動𝑛中關聯於相位𝜔的多個鄰近的參考相位。
然後,本發明的一或多個實施例計算過渡結果 𝜁
w(𝛿) 的一致性,作為在 Γ
w(𝛿) 中所有樣本的變異數(variance)。
類似地,本發明的一或多個實施例計算一個過渡的存活機率𝜂
w(𝛿) ,作為T
w(𝛿) 中存活指標𝜂=1的樣本的比例。
因此,穩定度如下方式九所示:
式九:
其中𝛽 = 0.015。整合穩定度和結果值,在w處的過渡品質如下方式十所示。
式十:
步驟S5是「在這些過渡品質中尋找最佳過渡品質以建立複雜運動控制器」,複雜運動控制器用於產生對應於源運動的多個相位中的一者的複雜運動。
為了產生從源運動到目標運動之間的過渡,需要在眾多的張量之中尋找最佳過渡。給定目標運動標籤 𝑛 以及相位為 𝜙 的源運動 𝑚 的資訊,處理器可以藉由查看子張量Q
𝑚 , 𝜙 ± 𝜖 , 𝑛來找到最佳轉換,其中𝜖是用於搜索空間的可調整的參數,並定位具有最佳過渡品質的目標相位,如圖 4 所示。依據最佳過渡品質,可以在兩個控制器之間執行可靠的過渡。對所有運動組成的每個配對的過渡重複相同的策略,可將模板控制器統合為單一的複雜運動控制器,其用於產生複雜的運動。
圖8是過渡品質及其組成成分(結果值、穩定度)的熱圖及應用示意圖。以源運動的相位作為縱軸,目標運動的相位作為橫軸,處理器可繪製結果值、穩定度以及依據結果值及穩定度計算得到的過渡品質的熱圖(heat map)。本發明的一或多個實施例從過渡品質的熱圖的多個像素中找出像素值在門檻值以上的過渡品質所對應的過渡張量,按這種方式可篩選出效果較好(例如存活指標為1、耗能成本較低、過渡時間較短、控制精確度較高)的一或多個過渡。
圖9是增加新的模板控制器(新的運動)的示意圖。使用過渡張量,可以簡單地增加新的運動而不會增加訓練成本,只需要使用模板控制器描述新增的運動並透過過渡張量統合到原有的模板控制器。圖9的範例是:依據本發明的一或多個實施例提出的方法,先前已建立由運動1、運動2及運動3之間的兩者所組成的配對的六個過渡張量(運動1到運動2、運動1到運動3、運動2到運動3、運動2到運動1、運動3到運動1、運動3到運動2,注意配對順序不同組成的過渡張量也不同),本發明的一或多個實施例在增加運動4時僅需花費建立新運動4與運動1、2、3之間的過渡張量的成本。此過程不需要額外的訓練過程,並且新增更多運動不會改變先前配置好的運動和過渡。因此,本發明的一或多個實施例可以容易地沿著張量的源運動標籤𝑚的維度、以及目標運動標籤𝑛的維度擴展運動詞彙集V,如圖 5所示。
整體而言,請參考圖10,其為本發明一實施例的建立複雜運動控制器的方法的綜合示意圖。圖10左方展示了收集多個過渡張量,每個過渡張量的內容包括存活指標、過渡時間、耗能成本及控制精確度。每個過渡張量對應於一個源控制器及目標控制器的配對,若控制器的數量為N,則過渡張量的收集數量上限為N×(N-1)。圖10中間展示了建立完成的多個過渡張量。圖10右方為一個產生統合控制器(unified controller)的範例:假設先前的統合控制器並不曉得從源運動2的某個相位過渡到目標運動3應該如何進行,如過渡可行性矩陣第二列第三行所標示的「?」所示,則處理器可透過在多個過渡張量中找到對應於源運動2和目標運動3的過渡張量,然後在這個過渡張量的所有可能性中找出過渡品質最好的一或數個目標運動的相位,從而實現從源運動2到目標運動3的過渡。
上述多個實施例所述之複雜運動控制器的建立方法,可在不修改現有運動的情況下有效而穩健地(robustly)建立新運動。給定幾個不同的基於物理的運動控制器,本發明一實施例提出的過渡張量可作為在運動控制器之間切換的依據。藉由查詢過渡張量以獲得最佳過渡的方式可以建立一個統合的複雜運動控制器,該控制器能夠產生包含各種行為的新過渡,例如在角色進行更高的跳躍之前減速或立即跳躍以獲得更好的響應。一實施例適用於表現四足動物和兩足動物的運動,對過渡品質進行定量和定性評估,並在遵循用戶控制指令的同時具備處理複雜運動規劃的能力。
綜上所述,本發明提出的自動分類過渡動作的方法可以具有下列貢獻或功效:其一是允許使用者選擇不同風格的過渡動作,其二是能夠自動產生不同風格的過渡動作。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明。在不脫離本發明之精神和範圍內,所為之更動與潤飾,均屬本發明之專利保護範圍。關於本發明所界定之保護範圍請參考所附之申請專利範圍。
P1~P3,S1~S5:步驟
圖1是依據本發明一實施例的自動分類過渡動作的方法的流程圖;
圖2是過渡動作的範例示意圖;
圖3是依據本發明一實施例的自動分類過渡動作的方法的示意圖;
圖4是兩種類型的過渡動作的示意圖;
圖5是本發明一實施例的建立複雜運動控制器的方法的流程圖;
圖6是訓練模板控制器的過程中加入外部干擾的示意圖;
圖7是從源運動過渡到目標運動的過程中,過渡張量變化程度的示意圖;
圖8是過渡品質及其組成成分的熱圖及應用示意圖;
圖9是增加新的模板控制器的示意圖;以及
圖10是本發明一實施例的建立複雜運動控制器的方法的綜合示意圖。
P1~P3:步驟
Claims (9)
- 一種自動分類過渡動作的方法,包括以運算裝置執行下列步驟:取得多個過渡動作,該些過渡動作的每一者關聯於一源動作、一目標動作及從該源動作轉換至該目標動作的一轉換機制;從該些過渡動作的每一者擷取一特性向量,從而產生多個特性向量,其中該些特性向量的每一者包括多個過渡特性;依據該些特性向量執行分類演算法以產生多個過渡類型;其中,在取得該些過渡動作之前,執行:取得一源控制器及一目標控制器,該源控制器用於產生一源運動,該目標控制器用於產生一目標運動;決定該源控制器及該目標控制器之間的一過渡張量,該過渡張量具有多個索引,該些索引中的一者代表該源運動的多個相位;計算該過渡張量的多個結果,並依據該些索引記錄該些結果,其中該些結果的每一者包括一存活指標、一過渡時間、一耗能成本及一控制精確度;依據該些結果計算多個過渡品質;以及在該些過渡品質中尋找一最佳過渡品質以建立該複雜運動控制器,該複雜運動控制器用以產生對應於該些相位中的一者的一複雜運動;其中,取得該些過渡動作包括:以一複雜運動控制器產生該些過渡動作,該轉換機制為該過渡張量。
- 如請求項1所述自動分類過渡動作的方法,該些過渡特性包括質心高度以及前進加速度。
- 如請求項1所述自動分類過渡動作的方法,其中該分類演算法為K-平均演算法,且該K值係以手肘方法(elbow method)產生。
- 如請求項1所述自動分類過渡動作的方法,其中該分類演算法為階層式分群法。
- 如請求項1所述自動分類過渡動作的方法,其中該些過渡動作的每一者包括多個關鍵訊框。
- 如請求項1所述自動分類過渡動作的方法,其中每一該些過渡品質包括一穩定值,該穩定值係該處理器基於多個鄰近相位及該些相位中的該者,依據該存活指標的一存活機率、該結果值的一局部鄰域、關聯於該局部鄰域的一過渡結果計算得到,其中該局部鄰域包括多個參考相位,該些參考相位對應於該結果值對應的該過渡張量對應的該源運動的該些相位中的一者。
- 如請求項1所述自動分類過渡動作的方法,其中依據該些結果計算多個過渡品質包括:計算每一該些結果的一結果值及一穩定度;以及依據該結果值及該穩定度計算該些過渡品值中的一者;其中該結果值係該處理器基於多個鄰近相位及該些相位中的該者,依據該存活指標、該過渡時間、該耗能成本及該控制精確度計算得到;以及該穩定值係該處理器基於多個鄰近相位及該些相位中的該者,依據該存活指標的一存活機率、該結果值的一局部鄰域、關聯於該局部鄰域的一過渡結果計算得到,其中該局部鄰域包括多個參考相位,該些參考相位對應於該結果值對應的該過渡張量對應的該源運動的該些相位中的一者。
- 如請求項1所述自動分類過渡動作的方法,其中該源控制器或該目標控制器依據一當前狀態及一控制目標產生該源運動及該目標運動,該源控制器及該目標控制器屬於一模板控制器,該模板控制器具有對應於至少一基元的至少一低階控制器,該控制目標直接被指派至該至少一低階控制器。
- 如請求項1所述自動分類過渡動作的方法,其中該控制目標的輸入包含至少一物理參數控制量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111122117A TWI808787B (zh) | 2022-06-15 | 2022-06-15 | 自動分類過渡動作的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111122117A TWI808787B (zh) | 2022-06-15 | 2022-06-15 | 自動分類過渡動作的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI808787B true TWI808787B (zh) | 2023-07-11 |
TW202400280A TW202400280A (zh) | 2024-01-01 |
Family
ID=88149385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111122117A TWI808787B (zh) | 2022-06-15 | 2022-06-15 | 自動分類過渡動作的方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI808787B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102326066A (zh) * | 2009-03-31 | 2012-01-18 | 日立建机株式会社 | 作业机械的学习诊断系统、状态诊断装置及状态学习装置 |
JP5782440B2 (ja) * | 2009-07-29 | 2015-09-24 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 視覚表示の自動生成方法及びシステム |
TW202119198A (zh) * | 2019-11-06 | 2021-05-16 | 未來市股份有限公司 | 虛擬化身動作產生方法和頭戴式顯示器系統 |
TWI744000B (zh) * | 2020-09-21 | 2021-10-21 | 財團法人資訊工業策進會 | 影像標記裝置、方法及其電腦程式產品 |
-
2022
- 2022-06-15 TW TW111122117A patent/TWI808787B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102326066A (zh) * | 2009-03-31 | 2012-01-18 | 日立建机株式会社 | 作业机械的学习诊断系统、状态诊断装置及状态学习装置 |
JP5782440B2 (ja) * | 2009-07-29 | 2015-09-24 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 視覚表示の自動生成方法及びシステム |
TW202119198A (zh) * | 2019-11-06 | 2021-05-16 | 未來市股份有限公司 | 虛擬化身動作產生方法和頭戴式顯示器系統 |
TWI744000B (zh) * | 2020-09-21 | 2021-10-21 | 財團法人資訊工業策進會 | 影像標記裝置、方法及其電腦程式產品 |
Also Published As
Publication number | Publication date |
---|---|
TW202400280A (zh) | 2024-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Müller et al. | Sim4cv: A photo-realistic simulator for computer vision applications | |
Sermanet et al. | Time-contrastive networks: Self-supervised learning from video | |
Merel et al. | Learning human behaviors from motion capture by adversarial imitation | |
Lee et al. | Precomputing avatar behavior from human motion data | |
Shiratori et al. | Accelerometer-based user interfaces for the control of a physically simulated character | |
Crick et al. | Human and robot perception in large-scale learning from demonstration | |
US20130077820A1 (en) | Machine learning gesture detection | |
Mueller et al. | Ue4sim: A photo-realistic simulator for computer vision applications | |
Lamberti et al. | Virtual character animation based on affordable motion capture and reconfigurable tangible interfaces | |
Ardón et al. | Affordances in robotic tasks--a survey | |
Luo et al. | Perpetual humanoid control for real-time simulated avatars | |
JP7068586B2 (ja) | 映像処理装置、映像処理方法、及び映像処理プログラム | |
TWI808787B (zh) | 自動分類過渡動作的方法 | |
Wang et al. | Physhoi: Physics-based imitation of dynamic human-object interaction | |
Li et al. | Teaching uavs to race with observational imitation learning | |
US11810235B2 (en) | Method for establishing complex motion controller | |
Zhang et al. | Deepreinforcementlearningforreal-world quadrupedal locomotion: a comprehensive review | |
US11934490B2 (en) | Method of automatically classifying transition motion | |
TWI824300B (zh) | 建立複雜運動控制器的方法 | |
Zhang et al. | Kinect-based Universal Range Sensor and its Application in Educational Laboratories. | |
Lin et al. | Twisting lids off with two hands | |
Österberg | Skill Imitation Learning on Dual-arm Robotic Systems | |
Ismail et al. | An overview on dynamic 3d character motion techniques in virtual environments | |
Weideman | Robot navigation in cluttered environments with deep reinforcement learning | |
Peng | Developing locomotion skills with deep reinforcement learning |