重塑人體動作生成,融合擴散模型與檢索策略的新范式ReMoDiffuse來了
人體動作生成任務(wù)旨在生成逼真的人體動作序列,以滿足娛樂、虛擬現(xiàn)實、機器人技術(shù)等領(lǐng)域的需求。傳統(tǒng)的生成方法包括 3D 角色創(chuàng)建、關(guān)鍵幀動畫和動作捕捉等步驟,其存在諸多限制,如耗時較長,需要專業(yè)技術(shù)知識,涉及昂貴的系統(tǒng)和軟件,不同軟硬件系統(tǒng)之間可能存在兼容性問題等。隨著深度學(xué)習(xí)的發(fā)展,人們開始嘗試使用生成模型來實現(xiàn)人體動作序列的自動生成,例如通過輸入文本描述,要求模型生成與文本要求相匹配的動作序列。隨著擴散模型被引入這個領(lǐng)域,生成動作與給定文本的一致性不斷提高。
然而,生成動作的自然程度離使用需求仍有很大差距。為了進一步提升人體動作生成算法的能力,本文在 MotionDiffuse [1] 的基礎(chǔ)上提出了 ReMoDiffuse 算法(圖 1),通過利用檢索策略,找到高相關(guān)性的參考樣本,提供細粒度的參考特征,從而生成更高質(zhì)量的動作序列。
- 論文鏈接:https://arxiv.org/pdf/2304.01116.pdf
- GitHub:https://github.com/mingyuan-zhang/ReMoDiffuse
- 項目主頁:https://mingyuan-zhang.github.io/projects/ReMoDiffuse.html
通過巧妙地將擴散模型和創(chuàng)新的檢索策略融合,ReMoDiffuse 為文本指導(dǎo)的人體動作生成注入了新的生命力。經(jīng)過精心構(gòu)思的模型結(jié)構(gòu),ReMoDiffuse 不僅能夠創(chuàng)造出豐富多樣、真實度高的動作序列,還能有效地滿足各種長度和多粒度的動作需求。實驗證明,ReMoDiffuse 在動作生成領(lǐng)域的多個關(guān)鍵指標(biāo)上表現(xiàn)出色,顯著地超越了現(xiàn)有算法。
圖 1. ReMoDiffuse 概覽
方法介紹
ReMoDiffuse 主要由兩個階段組成:檢索和擴散。在檢索階段,ReMoDiffuse 使用混合檢索技術(shù),基于用戶輸入文本以及預(yù)期動作序列長度,從外部的多模態(tài)數(shù)據(jù)庫中檢索出信息豐富的樣本,為動作生成提供強有力的指導(dǎo)。在擴散階段,ReMoDiffuse 利用檢索階段檢索到的信息,通過高效的模型結(jié)構(gòu),生成與用戶輸入語義一致的運動序列。
為了確保高效的檢索,ReMoDiffuse 為檢索階段精心設(shè)計了以下數(shù)據(jù)流(圖 2):
共有三種數(shù)據(jù)參與檢索過程,分別是用戶輸入文本、預(yù)期動作序列長度,以及一個外部的、包含多個 < 文本,動作 > 對的多模態(tài)數(shù)據(jù)庫。在檢索最相關(guān)的樣本時,ReMoDiffuse 利用公式計算出每個數(shù)據(jù)庫中的樣本與用戶輸入的相似度。這里的第一項是利用預(yù)訓(xùn)練的 CLIP [2] 模型的文本編碼器對用戶輸入文本和數(shù)據(jù)庫實體的文本計算余弦相似度,第二項計算預(yù)期動作序列長度和數(shù)據(jù)庫實體的動作序列長度之間的相對差異作為運動學(xué)相似度。計算相似度分?jǐn)?shù)后,ReMoDiffuse 選擇相似度排名前 k 的樣本作為檢索到的樣本,并提取出文本特征
,和動作特征
。這兩者和從用戶輸入的文本中提取的特征
一同作為輸入給擴散階段的信號,指導(dǎo)動作生成。
圖 2:ReMoDiffuse 的檢索階段
擴散過程(圖3.c)由正向過程和逆向過程兩個部分組成。在正向過程中,ReMoDiffuse 逐步將高斯噪聲添加到原始動作數(shù)據(jù)中,并最終將其轉(zhuǎn)化為隨機噪聲。逆向過程專注于除去噪聲并生成逼真的動作樣本。從一個隨機高斯噪聲開始,ReMoDiffuse 在逆向過程中的每一步都使用語義調(diào)制模塊(SMT)(圖3.a)來估測真實分布,并根據(jù)條件信號來逐步去除噪聲。這里 SMT 中的 SMA 模塊將會將所有的條件信息融入到生成的序列特征中,是本文提出的核心模塊。
圖 3:ReMoDiffuse 的擴散階段
對于 SMA 層(圖 3.b),我們使用了高效的注意力機制(Efficient Attention)[3] 來加速注意力模塊的計算,并創(chuàng)造了一個更強調(diào)全局信息的全局特征圖。該特征圖為動作序列提供了更綜合的語義線索,從而提升了模型的性能。SMA 層的核心目標(biāo)是通過聚合條件信息來優(yōu)化動作序列的生成。在這個框架下:
1.Q 向量具體地代表了我們期望基于條件信息生成的預(yù)期動作序列。
2.K 向量作為一種索引機制綜合考慮了多個要素,包括當(dāng)前動作序列特征、用戶輸入的語義特征
,以及從檢索樣本中獲取的特征
和
。其中,
表示從檢索樣本中獲取的動作序列特征,
表示從檢索樣本中獲取的文本描述特征。這種綜合性的構(gòu)建方式保證了 K 向量在索引過程中的有效性。
3.V 向量提供了動作生成所需的實際特征。類似 K 向量,這里 V 向量也綜合考慮了檢索樣本、用戶輸入以及當(dāng)前動作序列。考慮到檢索樣本的文本描述特征與生成的動作之間沒有直接關(guān)聯(lián),因此在計算 V 向量時我們選擇不使用這一特征,以避免不必要的信息干擾。
結(jié)合 Efficient Attention 的全局注意力模板機制,SMA 層利用來自檢索樣本的輔助信息、用戶文本的語義信息以及待去噪序列的特征信息,建立起一系列綜合性的全局模板,使得所有條件信息能夠被待生成序列充分吸收。
實驗及結(jié)果
我們在兩個數(shù)據(jù)集 HumanML3D [4] 和 KIT-ML [5] 上評估了 ReMoDiffuse。在與文本的一致性與動作質(zhì)量兩個角度上,實驗結(jié)果(表 1、2)展示了我們提出的 ReMoDiffuse 框架的強大性能和優(yōu)勢。
表 1. 不同方法在 HumanML3D 測試集上的表現(xiàn)
表 2. 不同方法在 KIT-ML 測試集上的表現(xiàn)
以下是一些能定性展示 ReMoDiffuse 的強大性能的示例(圖 4)。與之前的方法相比,例如,在給定文本 “一個人在圓圈里跳躍” 時,只有 ReMoDiffuse 能夠準(zhǔn)確捕捉到 “跳躍” 動作和 “圓圈” 路徑。這表明 ReMoDiffuse 能夠有效地捕捉文本細節(jié),并將內(nèi)容與給定的運動持續(xù)時間對齊。
圖 4. ReMoDiffuse 生成的動作序列與其他方法生成的動作序列的比較
我們對 Guo 等人的方法 [4]、MotionDiffuse [1]、MDM [6] 以及 ReMoDiffuse 所生成的相應(yīng)動作序列進行了可視化展示,并以問卷形式收集測試參與者的意見。結(jié)果的分布情況如圖 5 所示。從結(jié)果中可以清晰地看出,在大多數(shù)情況下,參與測試者認為我們的方法 —— 即 ReMoDiffuse 所生成的動作序列在四個算法中最貼合所給的文本描述,也最自然流暢。
圖 5:用戶調(diào)研的結(jié)果分布