AI跳舞哪家強?谷歌3D舞者聞歌起舞,挑戰DanceNet
這次,Transformer 參與了舞蹈生成任務。
在藝術領域,AI 有著各式各樣的應用,如 AI 生成音樂、AI 繪畫。
跳舞,也是 AI 努力學習的一種能力。
此前,以音樂的風格、節奏和旋律作為控制信號來生成 3D 舞蹈動作的 DaceNet 曾紅極一時。
如今,DanceNet 迎來了新的挑戰者——來自谷歌的最新研究 AI Choreographer:給定一段 2 秒的指導動作,AI 模型可以按照音樂節奏生成一長段自然的舞蹈動作。
生成的舞蹈效果是這樣的(遺憾的是動圖沒有聲音):
而和 DanceNet 這些同類研究相比,谷歌新方法的效果更為明顯。左邊兩種方法生成的舞蹈動作像「抽風」,該新方法則更加流暢自然:
值得注意的是,這還是一個基于 Transformer 的模型。
論文地址:https://arxiv.org/pdf/2101.08779v1.pdf
項目地址:https://google.github.io/aichoreographer/
下面讓我們看下論文細節:
通過編排與音樂節拍一致的動作模式來跳舞是人類的一項基本能力。舞蹈是所有文化中的通用語言,如今,許多人在多媒體平臺上通過舞蹈來表現自己。在 YouTube 上最受歡迎的視頻是以舞蹈為主的音樂視頻,例如 Baby Shark Dance、江南 Style,在互聯網信息傳播中,舞蹈成為強大的傳播工具。
然而,舞蹈是一種藝術形式,即使是人類,也需要專業培訓才能使舞蹈演員掌握豐富的舞蹈動作曲目,創造出富有表現力的舞蹈編排。從計算方面來講更具有挑戰性,因為該任務需要有能力生成一個連續的高運動學復雜度動作,捕捉與伴奏音樂的非線性關系。
在這項研究中,來自南加州大學、谷歌研究院、加州大學伯克利分校的研究者提出了一個基于 transformer 的跨模態學習架構和一個新的 3D 舞蹈動作數據集 AIST++,該數據集用來訓練一個生成 3D 舞蹈動作的模型。
具體來說,給定一段音樂和一個短的(2 秒)種子動作(seed motion),本文模型能夠生成一個長序列的逼真 3D 舞蹈動作。該模型有效地學習了音樂動作的相關性,并且可以生成不同輸入音樂的舞蹈序列。研究者將舞蹈表示為一個由關節旋轉和全局平移組成的 3D 動作序列,這使得輸出可以很容易地遷移至動作重定向等應用,具體流程如下圖 1 所示:
在學習框架方面,該研究提出了一種新的基于 transformer 的跨模態架構來生成基于音樂的 3D 動作。該架構建立在已被證明對長序列生成特別有效的基于注意力的網絡 [15, 62, 3, 71]上,并從視覺和語言的跨模態文獻 [71] 中獲得靈感,設計了一個使用三個 transformer 的框架,分別用于音頻序列表示、動作表示和跨模態音頻 - 動作表示。其中動作和音頻 transformer 對輸入序列進行編碼,而跨模態 transformer 學習這兩種模態之間的相關性,并生成未來的動作序列。
該研究精心設計的新型跨模態 transformer 具有自回歸特性,但需要全注意力(full-attention)和 future-N 監督,這對于防止 3D 運動在多次迭代后凍結或漂移非常關鍵,正如先前關于 3D 運動生成所述[4,3]。由此生成模型為不同的音樂生成不同的舞蹈序列,同時生成長時間的逼真動作,在進行推理時不受漂移凍結的影響。
AIST++ 數據集
為了訓練模型,該研究還創建了一個新的數據集:AIST++。該數據集在 AIST(多視角舞蹈視頻庫) [78]基礎上進行構建。研究者利用多視角信息從數據中恢復可靠的 3D 動作。注意,雖然這個數據集具有多視角照片,但相機并未校準,這使得 3D 重建非常具有挑戰性。
AIST++ 數據集包含高達 110 萬幀伴有音樂的 3D 舞蹈動作,據了解,這是此類數據集中最大的一個。AIST++ 還跨越了 10 種音樂類型、30 個主題和 9 個視頻序列,并具有恢復的相機內在特性,這對于其他人體和動作研究具有很大的潛力。
數據集地址:https://google.github.io/aistplusplus_dataset/
該研究創建的 AIST++ 是一個大規模 3D 舞蹈動作數據集,包含大量伴隨音樂的 3D 舞蹈動作。其中每一幀都具備以下額外標注:
- 9 種視角,包括攝像機的內外參數;
- 17 種 COCO 格式的人類關節位置,包含 2D 和 3D 形式;
- 24 個 SMPL 姿勢參數,以及全局擴展和平移。
下表 1 對比了 AIST++ 和其他 3D 動作與舞蹈數據集,AIST++ 對于現有的 3D 動作數據集是一種補充。
此外,AIST++ 數據集包含 10 個舞種:Old School(Break、Pop、Lock 和 Waack)和 New School(Middle Hip-hop、LA-style Hip-hop、House、Krump、Street Jazz 和 Ballet Jazz),參見下圖 3:
基于音樂的 3D 舞蹈生成
問題描述:給定一個 2 秒的動作種子示例 X = (x_1, . . . , x_T) 和音樂序列 Y = (y_1, . . . , y_T'),生成時間步 T + 1 到 T' 期間的未來動作序列 X'= (x_T+1, . . . , x_T'),T' >> T。
跨模態動作生成 Transformer
該研究提出一種基于 Transformer 的網絡架構,它可以學習音樂 - 動作關聯,生成不凝滯的逼真動作序列。架構圖參見下圖 2:
該模型具備三個 transformer:
- 動作 transformer f_mot(X):將動作特征 X 轉換為動作嵌入 h^x_1:T;
- 音頻 transformer f_audio(Y):將音頻特征 Y 轉換為音頻嵌入 h^y_1:T';
- 跨模態 transformer f_cross(h^xy_1:T +T'):學習動作和音頻兩個模態之間的對應,并生成未來動作 X'。
為了更好地學習兩個模態之間的關聯,該研究使用了一個深度為 12 層的跨模態 transformer。研究者發現,跨模態 transformer 的深度越大,模型對兩種模態的關注越多(參見下圖 6)。
實驗
定量評估
研究者報告了該方法與兩種基線方法在 AIST++ 測試集上的定量評估結果,見下表 2:
動作質量:從上表中可以看出,該方法生成的動作序列關節和速度分布更接近真值動作。
動作多樣性:表 2 展示了,相比基線方法,該研究提出的方法能夠生成更多樣的舞蹈動作。控制變量研究結果表明,網絡設計,尤其跨模態 transformer,是帶來這一差異的主要原因。研究者將該方法生成的多樣化舞蹈動作進行了可視化,參見下圖 7:
動作 - 音樂關聯:從表 2 中還可以看出,該方法生成的動作與輸入音樂的關聯性更強。下圖 5 中的示例展示了生成動作的運動節拍與音樂節拍能夠實現很好地匹配。
但是,在與真實數據進行對比時,這三種方法都有很大的改進空間。這表明,音樂動作關聯仍然是一個極具挑戰性的問題。
控制變量研究
跨模態 Transformer:該論文利用三種不同設置研究跨模態 Transformer 的功能:1)14 層動作 transformer;2)13 層動作 / 音頻 transformer 和 1 層跨模態 Transformer;3)2 層動作 / 音頻 transformer 和 12 層跨模態 Transformer。
下表 3 表明跨模態 Transformer 對于生成與輸入音樂關聯性強的動作至關重要。
如圖 6 所示,更深的跨模態 Transformer 能夠更加關注輸入音樂,從而帶來更好的音樂 - 動作關聯度。
因果注意力或完全注意力 Transformer:研究者還探索了完全注意力機制和 future-N 監督機制的效果。從下表 4 中可以看出,在使用因果注意力機制執行 20 秒長程生成時,生成動作和真值動作的分布差異很大。對于 future-1 監督設置下的完全注意力機制而言,長程生成期間的結果會出現快速漂移,而在 future-10 或 future-20 監督設置下,模型可以生成高質量的長程動作。