您當前的位置:首頁 > 曲藝

[2021][SIG] Neural Animation Layering for Synthesizing Martial Arts Movements

作者:由 Hongda Jiang 發表于 曲藝時間:2021-08-05

這篇是Taku組的又一篇character control的工作,相比之前的工作,這一篇工作更加偏系統,旨在對於複雜的使用者互動和輸入,輸出合理的animation。效果也是相當出彩。

[2021][SIG] Neural Animation Layering for Synthesizing Martial Arts Movements

整個system分為三個部分,Control Modules,Control Interface和Motion Generator。

其中

control modules

將各種不同的motion behavior轉換成

控制訊號

(control series,其實就是每個joint的future trajectories);

control interface

則是對control modules輸入過來的control series進行組合,編輯;

最後,motion generator根據control interface輸過來的control series進行motion的生成。

這裡的motion generator和他們之前的工作類似,都是採用的無需motion標記的MoE結構(詳見Data-Driven Character Motion Synthesis),這對於學習大規模資料非常有意義(這篇paper用了70G,20h的資料來train motion generator,訓了一個月)。這一部分提供了一個動作生成器,其他部分

只需要提供Control series(root和joint未來的軌跡資訊)

,generator就可以對應生成“自然”的人物動畫。

那麼,如何得到control series呢?

一般的

人物控制系統

,是在遊戲、影視中服務的,在這些場景下,通常會有一些固定的控制動作,如讓人朝不同方向移動,實現特定動作(如攻擊、防禦等等),所以當場景確定之後,只需要將可能的行為(behavior)轉化成對應的control series即可。

本篇工作面向的是拳擊運動,作者定義瞭如下幾個行為:

Idling:使用者在原地徘徊?

Locomotion:這個應該就是原地移動。

Attacking and Targeting:讓人物能攻擊,同時攻擊目標是移動物件身上的某一點。攻擊的

行為資料庫

中有,而攻擊特定目標則是透過用一個特定的有兩個物件面對戰鬥的資料集來訓練一個能關於朝向的控制器(這個部分還挺複雜,感興趣可以參考原文)。

Hit reactions and Avoidance:因為資料中沒有pair的data,所以是透過擊打後對應身體區域的velocity,從資料庫中找最相似的

animation data

作為reaction(motion matching),Avoidance則是和前面的朝向控制器相似。

Clinching and Carrying:這一部分是透過單獨訓練一個control module來實現的(也有挺多細節,用procedural的方法訓練帶contact的motion感覺都挺複雜)。

現在有了分別將行為轉換為控制訊號的方法,但有的時候,使用者可能不只要求一種行為,如希望人邊走邊擊打,這就要求將“行走”和“擊打”兩個

行為訊號

進行融合。在這裡,由於motion generator的存在,控制訊號不一定需要非常嚴格地符合“自然”約束,因為motion generator能將其對映到比較“自然”的

運動空間

在control interface部分,本文提出了三種融合方法:Override、Additive和Blending。

[2021][SIG] Neural Animation Layering for Synthesizing Martial Arts Movements

[2021][SIG] Neural Animation Layering for Synthesizing Martial Arts Movements

[2021][SIG] Neural Animation Layering for Synthesizing Martial Arts Movements

[2021][SIG] Neural Animation Layering for Synthesizing Martial Arts Movements

Override是覆蓋直接、Additive是在之前的基礎上疊加,Blending則是進行

線性插值

。三種不同的操作可以在不同的場景下應用。

使用者互動:該篇工作還開發了使用者互動系統,這樣使用者可以透過手柄來控制人物的運動了。

[2021][SIG] Neural Animation Layering for Synthesizing Martial Arts Movements

Results:

接下來看一些實驗結果(更多的推薦直接去看他們的demo影片,挺酷的):

[2021][SIG] Neural Animation Layering for Synthesizing Martial Arts Movements

motion的組合:

Override(如果用傳統的直接

fuse joint trajectory

或者IK,很容易fail,因為兩個motion可能完全不像):

[2021][SIG] Neural Animation Layering for Synthesizing Martial Arts Movements

這個效果說實話,挺牛的,因為這些data感覺資料集不一定出現過,單純控制

joint trajectory

可以實現motion的fusion(需要挺多的資料)。

[2021][SIG] Neural Animation Layering for Synthesizing Martial Arts Movements

Additive,這種主要就是“增強動作”“加大力度”:

[2021][SIG] Neural Animation Layering for Synthesizing Martial Arts Movements

Transition:

這個在以往的motion generation task裡都是比較難的,因為很容易出現“sliding”(

腳底打滑

)的情況。這裡,由於interpolation是在control series上的,所以可以避免這種滑步的出現。

[2021][SIG] Neural Animation Layering for Synthesizing Martial Arts Movements

此外,還show了一些interaction的結果:

[2021][SIG] Neural Animation Layering for Synthesizing Martial Arts Movements

生成motion質量評價:

儘管show了一些結果,但是motion的質量還是需要一些指標來進行評價。作者首先採用了reconstruction quality,也就是對dataset中的資料進行重建。

[2021][SIG] Neural Animation Layering for Synthesizing Martial Arts Movements

第二個是對於非dataset中的資料進行重建,分三類:within是常規的動作,和資料集中的相似;between是把資料集中動作進行組合的動作;outside是資料集中沒有的動作。

[2021][SIG] Neural Animation Layering for Synthesizing Martial Arts Movements

討論:

和motion matching效果比較?

這篇工作能生成

unseen motion

,motion matching是做不到的。

2。 為什麼MoE好?

因為MoE是blending weights,首先,將weights分開,network能學好單個motion,而且透過變化weight,能對快速變化的signal進行反饋;其次,gating網路可以透過快速組合weight,來實現不同的local body movement。

小結:

這篇工作效果很好,對於controller的想法也比較新穎。與其在motion generation的過程中給一堆控制引數,不如改成給motion generation的控制資訊很簡單,但是將環境、互動、行為等等都融入到這個控制資訊中去,這樣既能保證motion generator的質量,也可以很容易地將該方法拓展到各種各樣的場景中,good job!

標簽: Motion  Control  Series  generator  資料