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