亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        節(jié)奏舞者:基于關(guān)鍵動(dòng)作轉(zhuǎn)換圖和有條件姿態(tài)插值網(wǎng)絡(luò)的3D舞蹈生成方法研究

        2023-02-06 01:49:40賀亞運(yùn)彭俊清王健宗肖京
        大數(shù)據(jù) 2023年1期
        關(guān)鍵詞:插值姿態(tài)關(guān)鍵

        賀亞運(yùn),彭俊清,王健宗,肖京

        平安科技(深圳)有限公司,廣東 深圳 518063

        0 引言

        如何更好地由音樂(lè)生成舞蹈是一項(xiàng)有意義的研究。隨著元宇宙變得火熱,其中的虛擬角色需要有更多的技能,跳舞有助于虛擬角色在元宇宙或者其他線上多媒體平臺(tái)更好地表現(xiàn)自己。然而,生成令人滿意的舞蹈動(dòng)作并非易事。

        當(dāng)前國(guó)內(nèi)外對(duì)3D舞蹈生成的研究相對(duì)較少。目前主流的方法是將3D舞蹈生成看作一個(gè)序列生成任務(wù),例如參考文獻(xiàn)[1]提出的AI編舞框架,采用全注意力機(jī)的模型交叉Transformer網(wǎng)絡(luò),將一段音樂(lè)和2 s的初始舞蹈序列作為輸入,生成后續(xù)的舞蹈動(dòng)作;參考文獻(xiàn)[2]提出了一種先使用VQ-VAE對(duì)舞蹈動(dòng)作進(jìn)行編碼和量化,再使用GPT網(wǎng)絡(luò)生成舞蹈動(dòng)作序列的方法,有效地對(duì)舞蹈動(dòng)作空間進(jìn)行降維,使生成的舞蹈動(dòng)作更加自然合理。

        目前舞蹈生成過(guò)程中主要存在兩個(gè)問(wèn)題:①生成的舞蹈動(dòng)作很難與音樂(lè)節(jié)拍保持一致;②生成長(zhǎng)序列的舞蹈動(dòng)作會(huì)出現(xiàn)一些問(wèn)題,如隨著時(shí)間推移,生成的動(dòng)作質(zhì)量越來(lái)越差,或者動(dòng)作一直簡(jiǎn)單地重復(fù)。

        許多研究者試圖設(shè)計(jì)一個(gè)模型,這個(gè)模型將從音樂(lè)中提取的特征作為輸入,進(jìn)而生成對(duì)應(yīng)的舞蹈動(dòng)作序列[1,3-7],但是這樣的模型通常是不穩(wěn)定的,有時(shí)生成的舞蹈動(dòng)作會(huì)很奇怪。這是因?yàn)槲璧竸?dòng)作空間是一個(gè)高維度的空間,而在模型訓(xùn)練時(shí)并沒(méi)有對(duì)動(dòng)作空間的范圍進(jìn)行嚴(yán)格限制,而且舞蹈動(dòng)作與音樂(lè)節(jié)拍是否一致最影響人們對(duì)生成舞蹈的直觀感受。但是直接讓模型從數(shù)據(jù)中學(xué)習(xí)音樂(lè)與動(dòng)作的這種一致性是很難的。

        為了解決以上問(wèn)題,本文提出了一種新的3D舞蹈生成方法,此方法受到人類學(xué)習(xí)舞蹈的過(guò)程的啟發(fā)。當(dāng)學(xué)習(xí)一個(gè)舞蹈時(shí),舞蹈老師通常會(huì)先告訴學(xué)生這個(gè)舞蹈包含哪些關(guān)鍵動(dòng)作,學(xué)會(huì)了關(guān)鍵動(dòng)作之后,再學(xué)習(xí)如何銜接它們。非常重要的一點(diǎn)是,舞蹈的關(guān)鍵動(dòng)作通常會(huì)出現(xiàn)在音樂(lè)節(jié)拍點(diǎn)上,因此通過(guò)分析舞蹈配樂(lè)的節(jié)拍,可以找出舞蹈的關(guān)鍵動(dòng)作。但是,找到關(guān)鍵動(dòng)作之后,它們之間是彼此孤立的,接下來(lái)需要重新掃描舞蹈數(shù)據(jù)集,建立關(guān)鍵動(dòng)作的轉(zhuǎn)換圖。該圖是一個(gè)有向有權(quán)圖,通過(guò)該圖可以獲取關(guān)鍵動(dòng)作的轉(zhuǎn)換關(guān)系和轉(zhuǎn)換概率。

        為了避免舞蹈動(dòng)作空間維度太高導(dǎo)致生成的舞蹈動(dòng)作不穩(wěn)定,本文先使用VQ-VAE-2[8]這種無(wú)監(jiān)督的學(xué)習(xí)方式,對(duì)所有的舞蹈動(dòng)作進(jìn)行量化編碼,最終生成一個(gè)舞蹈動(dòng)作的編碼簿。編碼簿的大小通常只有幾百個(gè)編碼向量,其中每一個(gè)編碼都表示一種唯一的舞蹈動(dòng)作。通過(guò)這種方式可以對(duì)舞蹈動(dòng)作空間進(jìn)行降維,這保證了生成的舞蹈動(dòng)作更加穩(wěn)定,并且不會(huì)有奇怪的舞蹈動(dòng)作。關(guān)鍵動(dòng)作的銜接也很重要,本文使用有條件姿態(tài)插值網(wǎng)絡(luò)(以下簡(jiǎn)稱姿態(tài)插值網(wǎng)絡(luò)),以兩個(gè)關(guān)鍵動(dòng)作和舞蹈風(fēng)格特征為輸入,生成中間的舞蹈動(dòng)作序列。

        完成以上步驟,模型就具備了為一首音樂(lè)生成對(duì)應(yīng)舞蹈動(dòng)作的能力。首先,通過(guò)分析節(jié)拍找出音樂(lè)的節(jié)拍點(diǎn),這些節(jié)拍點(diǎn)就是需要放置關(guān)鍵動(dòng)作的位置;然后,在關(guān)鍵動(dòng)作轉(zhuǎn)換圖中進(jìn)行采樣,生成一串關(guān)鍵動(dòng)作,并將其放置到節(jié)拍點(diǎn)的位置;最后使用訓(xùn)練好的姿態(tài)插值網(wǎng)絡(luò),生成關(guān)鍵動(dòng)作之間的銜接動(dòng)作序列。

        綜上所述,本文的主要貢獻(xiàn)如下:

        ● 使用VQ-VAE-2對(duì)舞蹈動(dòng)作進(jìn)行編碼量化,有效降低了舞蹈動(dòng)作空間維度,并且這種分層的模型結(jié)構(gòu)使生成的舞蹈動(dòng)作更加流暢和穩(wěn)定;

        ● 提出通過(guò)建立關(guān)鍵動(dòng)作轉(zhuǎn)換圖的方式來(lái)生成關(guān)鍵動(dòng)作;

        ● 提出先生成關(guān)鍵動(dòng)作,再使用姿態(tài)插值網(wǎng)絡(luò)生成銜接舞蹈動(dòng)作的方式來(lái)生成3D舞蹈;

        ● 提出基于聯(lián)合因果注意力的姿態(tài)插值網(wǎng)絡(luò),并在模型訓(xùn)練中引入了新的損失函數(shù)。

        1 相關(guān)工作介紹

        1.1 人物動(dòng)作合成與3D舞蹈生成

        如何生成更加真實(shí)的人體動(dòng)作序列一直是學(xué)者研究的一個(gè)重要方向。早些時(shí)候,人們使用動(dòng)作圖[9-10]生成人體動(dòng)作。動(dòng)作圖是在大量人體動(dòng)作捕捉數(shù)據(jù)[11]上建立的有向圖,圖上的節(jié)點(diǎn)表示一個(gè)人體動(dòng)作,邊表示不同動(dòng)作之間的轉(zhuǎn)換關(guān)系。將所有的動(dòng)作歸類并放到一個(gè)圖上,然后在圖上采樣,就可以得到一串連續(xù)動(dòng)作。然而這種動(dòng)作生成的方式可控性很差,不能針對(duì)特定的場(chǎng)景生成對(duì)應(yīng)的動(dòng)作。之后隨著深度學(xué)習(xí)的發(fā)展,一些研究者試圖從一個(gè)大的舞蹈數(shù)據(jù)集中訓(xùn)練出一個(gè)深度模型,希望這個(gè)深度模型可以自動(dòng)學(xué)習(xí)出音樂(lè)與舞蹈動(dòng)作之間的關(guān)系。他們嘗試了很多網(wǎng)絡(luò)架構(gòu),如CNN[12-13]、GAN[14]、Transformer等,但是生成效果卻不盡如人意。生成過(guò)程中經(jīng)常會(huì)出現(xiàn)動(dòng)作的簡(jiǎn)單重復(fù),或者幾乎靜止不動(dòng)的情況,而且會(huì)生成一些奇怪的動(dòng)作,這說(shuō)明模型沒(méi)有很好地學(xué)習(xí)到人體正常的姿態(tài)范圍。

        1.2 舞蹈動(dòng)作的編碼和量化

        目前已經(jīng)有比較成熟的對(duì)人體進(jìn)行建模[15]的方法,但是理論上人體動(dòng)作空間是很大的。受人體結(jié)構(gòu)的限制,每個(gè)關(guān)節(jié)只能在一定范圍內(nèi)移動(dòng),因此真正的人體動(dòng)作空間實(shí)際上是大的動(dòng)作空間中的一個(gè)子空間,如果不對(duì)這個(gè)動(dòng)作空間進(jìn)行空間限制,模型最終可能生成奇怪的人體動(dòng)作。但是如果人為給各種可能的舞蹈動(dòng)作做劃分和編碼,工作量是巨大的,幾乎不可能實(shí)現(xiàn)。為了解決這個(gè)問(wèn)題,參考文獻(xiàn)[2]使用VQ-VAE[16]對(duì)舞蹈動(dòng)作進(jìn)行了編碼和量化,此方法是一種無(wú)監(jiān)督的方式,簡(jiǎn)潔且高效。與參考文獻(xiàn)[2]不同的是,本文使用了更先進(jìn)的VQ-VAE-2[8]的分層結(jié)構(gòu),更好地利用了局部信息和全局信息。而且本文提出的關(guān)鍵舞蹈動(dòng)作是上半身動(dòng)作和下半身動(dòng)作結(jié)合的一個(gè)整體動(dòng)作,因此本文會(huì)對(duì)整體動(dòng)作進(jìn)行編碼量化。在編碼簿的基礎(chǔ)上進(jìn)行后序舞蹈動(dòng)作的生成時(shí),本文在步驟和方法上均與參考文獻(xiàn)[2]不同。

        1.3 分階段的舞蹈生成框架

        之前的研究表明,音樂(lè)節(jié)拍和運(yùn)動(dòng)的空間回折點(diǎn)在時(shí)間上具有強(qiáng)相關(guān)性[1,17],因此保證生成舞蹈的運(yùn)動(dòng)節(jié)拍和音樂(lè)節(jié)拍的契合度尤為重要。人們?cè)谑褂脛?dòng)畫制作工具制作動(dòng)畫時(shí),通常并不會(huì)制作動(dòng)畫的每一幀,而是制作動(dòng)畫的關(guān)鍵幀,關(guān)鍵幀制作完成后,就可以由此生成流暢的動(dòng)畫。與此過(guò)程類似,參考文獻(xiàn)[18]提出了一種分兩個(gè)步驟來(lái)生成3D舞蹈的方法:第一步,分析音樂(lè)節(jié)拍信息,找出音樂(lè)的節(jié)拍點(diǎn),然后將節(jié)拍點(diǎn)處的音樂(lè)片段截取出來(lái),并提取頻譜特征,使用提取的頻譜特征訓(xùn)練一個(gè)深度模型,使之能夠通過(guò)音樂(lè)片段生成對(duì)應(yīng)的關(guān)鍵動(dòng)作;第二步,預(yù)測(cè)相鄰關(guān)鍵動(dòng)作之間的運(yùn)動(dòng)曲線參數(shù),使用多結(jié)Kochanek-Bartels樣條(multiknots Kochanek-Bartels splines)方法對(duì)每個(gè)運(yùn)動(dòng)曲線進(jìn)行建模。此種3D舞蹈生成方式邏輯上合理,但是音樂(lè)片段與關(guān)鍵動(dòng)作并沒(méi)有很強(qiáng)的相關(guān)性,生成的關(guān)鍵動(dòng)作之間幾乎沒(méi)有關(guān)聯(lián)。而且對(duì)于沒(méi)有在訓(xùn)練集中的音樂(lè),模型可能生成比較奇怪的動(dòng)作。在預(yù)測(cè)相鄰關(guān)鍵動(dòng)作之間的運(yùn)動(dòng)曲線時(shí),參考文獻(xiàn)[18]使用了比較傳統(tǒng)的建模方法,流程復(fù)雜且模型準(zhǔn)確率較低。本文也采用了相似的分階段生成3D舞蹈動(dòng)作的框架,但是在生成關(guān)鍵動(dòng)作時(shí),本文使用了更合理的關(guān)鍵動(dòng)作轉(zhuǎn)化圖,并且在生成關(guān)鍵動(dòng)作之間的銜接動(dòng)作時(shí)使用了更先進(jìn)的深度模型,保證了更好的生成效果。

        2 節(jié)奏舞者生成模型

        節(jié)奏舞者3D舞蹈生成模型的工作流程如圖1所示。與其他舞蹈生成模型[1,3,4,7,19-21]不同,本文沒(méi)有一次性讓模型生成所有的舞蹈動(dòng)作序列,而是采用了“兩步走”的方式,先生成關(guān)鍵動(dòng)作,再生成關(guān)鍵動(dòng)作之間的銜接動(dòng)作。關(guān)鍵動(dòng)作在整個(gè)舞蹈中起著至關(guān)重要的作用,關(guān)鍵動(dòng)作與音樂(lè)節(jié)拍是否一致非常影響觀眾的直觀感受。而且,本文沒(méi)有直接使用原始的動(dòng)作數(shù)據(jù),而是先對(duì)數(shù)據(jù)集中的舞蹈動(dòng)作做了編碼和量化,在編碼量化過(guò)程中使用VQ-VAE-2[8]的包含Top層和Bottom層的雙層結(jié)構(gòu),使模型可以同時(shí)考慮到局部信息和全局信息,這個(gè)過(guò)程會(huì)在第2.1節(jié)進(jìn)行介紹。然后在第2.2節(jié)會(huì)介紹如何從數(shù)據(jù)集中提取所有的關(guān)鍵動(dòng)作,并生成關(guān)鍵動(dòng)作轉(zhuǎn)換圖[22]。

        圖1 3D舞蹈生成過(guò)程總覽

        2.1 基于VQ-VAE-2的舞蹈動(dòng)作編碼簿生成

        人體的運(yùn)動(dòng)涉及幾十個(gè)關(guān)節(jié)[15],用來(lái)表示人體動(dòng)作的向量的維度很高,而且人體各個(gè)關(guān)節(jié)都有各自的運(yùn)動(dòng)范圍,如果不加限制就可能生成很多奇怪的動(dòng)作。

        一種好的解決方案是先對(duì)高維的動(dòng)作向量進(jìn)行降維,把數(shù)據(jù)集中所有人體的動(dòng)作壓縮到一個(gè)有限的空間中,而且最好以一種無(wú)監(jiān)督的方式進(jìn)行。而這正是VQ-VAE[16,23]所擅長(zhǎng)的。為了在舞蹈生成時(shí)可以讓模型同時(shí)考慮局部信息和全局信息,從而使生成的舞蹈動(dòng)作更加穩(wěn)定和流暢,本文采用了VQ-VAE-2[8]的分層結(jié)構(gòu)。

        如圖2所示,一段舞蹈動(dòng)作M∈RT×(J×3),T是時(shí)長(zhǎng),J是關(guān)節(jié)數(shù)量,可以用一段量化特征序列表示,T′=T/d,d是Bottom部分的下采樣率,2C是量化特征的通道數(shù)。本文使用一個(gè)一維時(shí)域卷積E1將動(dòng)作序列M編碼成向量,可以 繼續(xù)使用一維時(shí)域卷積E2編碼為。在訓(xùn)練時(shí),共分兩步,先訓(xùn)練Top部分,再訓(xùn)練Bottom部分,Top部分和Bottom部分分別包含一個(gè)編碼簿。對(duì)和使用的量化方式相同。以為例,對(duì)中的每個(gè)向量選取Top編碼簿中與之最近的元素作為量化后的向量。

        圖2 3D 舞蹈動(dòng)作生成使用的VQ-VAE-2模型結(jié)構(gòu)

        為了避免關(guān)節(jié)整體位移對(duì)動(dòng)作編碼的影響(出現(xiàn)在不同位置的同一個(gè)動(dòng)作應(yīng)該被編碼為同一個(gè)向量),本文先將輸入的動(dòng)作序列M進(jìn)行歸一化,即把根關(guān)節(jié)點(diǎn)的位置置零。為了表示做某個(gè)舞蹈動(dòng)作時(shí)身體的整體移動(dòng)速度,使用速度解碼器獲取整體移動(dòng)速度V。V是一個(gè)矢量,包含速度的大小和方向。

        訓(xùn)練時(shí),先訓(xùn)練Top部分,再將Top部分固定,訓(xùn)練Bottom部分。兩者訓(xùn)練的方法和使用的損失函數(shù)基本一致,只是在訓(xùn)練Bottom部分時(shí),需要將進(jìn)行上采樣后與進(jìn)行拼接,生成最終的量化特征。下面以訓(xùn)練Top部分為例進(jìn)行介紹,其損失函數(shù)如下:

        其中,Lrec為重建損失。在這個(gè)重建損失中,不僅包含3D關(guān)節(jié)點(diǎn)的相對(duì)位置損失,而且包含關(guān)節(jié)點(diǎn)運(yùn)動(dòng)的速度和加速度損失:

        VQ-VAE-2訓(xùn)練完成后,Top編碼簿和Bottom編碼簿中分別包含了代表各種舞蹈動(dòng)作的量化特征。因?yàn)門op部分使用了更大的下采樣率,所以Top部分相較Bottom部分信息更加濃縮。Top編碼簿中的量化特征包含更多的全局信息,而Bottom編碼簿中的量化特征包含更詳細(xì)的局部信息。在進(jìn)行舞蹈動(dòng)作生成時(shí),同時(shí)考慮全局信息和局部信息,可以使生成的動(dòng)作更加穩(wěn)定流暢。

        2.2 基于有向圖的關(guān)鍵動(dòng)作轉(zhuǎn)換圖生成

        音樂(lè)節(jié)拍使用音頻處理工具Librosa[25]進(jìn)行提取,即用Librosa獲取一段音樂(lè)中音樂(lè)節(jié)拍出現(xiàn)的時(shí)間點(diǎn),此時(shí)間點(diǎn)處對(duì)應(yīng)的舞蹈動(dòng)作即關(guān)鍵動(dòng)作。找出的關(guān)鍵動(dòng)作可以用第2.1節(jié)中的Top編碼簿和Bottom編碼簿中的量化特征編號(hào)表示,分別記作T_code和B_code,通過(guò)分析整個(gè)舞蹈數(shù)據(jù)集,最終可以得到任何兩個(gè)關(guān)鍵動(dòng)作的轉(zhuǎn)換關(guān)系和轉(zhuǎn)換概率(數(shù)據(jù)集中相鄰的兩個(gè)關(guān)鍵動(dòng)作視為具有轉(zhuǎn)換關(guān)系),并且建立一個(gè)關(guān)鍵動(dòng)作的轉(zhuǎn)換圖[22]。

        關(guān)鍵動(dòng)作轉(zhuǎn)換圖生成后,可以為一段新的音樂(lè)生成所需的關(guān)鍵動(dòng)作。方法如下:先使用節(jié)拍分析工具獲取音樂(lè)的節(jié)拍信息,即獲取此段音樂(lè)中需要插入關(guān)鍵動(dòng)作的時(shí)間點(diǎn)和關(guān)鍵動(dòng)作數(shù)量;然后在關(guān)鍵動(dòng)作轉(zhuǎn)換圖上進(jìn)行隨機(jī)游走采樣,采樣所得的動(dòng)作序列即此段音樂(lè)所需的關(guān)鍵動(dòng)作序列。

        2.3 基于聯(lián)合因果注意力[26]的姿態(tài)插值網(wǎng)絡(luò)

        生成關(guān)鍵舞蹈動(dòng)作后,可以使用姿態(tài)插值網(wǎng)絡(luò)生成兩個(gè)關(guān)鍵動(dòng)作之間的銜接動(dòng)作,如圖1所示。先使用姿態(tài)插值模型生成Top部分的舞蹈動(dòng)作編碼Mtop,再將Mtop作為Bottom部分姿態(tài)插值模型的條件輸入來(lái)生成Bottom部分的舞蹈動(dòng)作編碼Mbott。姿態(tài)插值模型如圖3所示,相比Top部分的姿態(tài)插值模型,Bottom部分的姿態(tài)插值模型只是增加了Mtop作為條件輸入,其他結(jié)構(gòu)相同。下面僅介紹Bottom部分舞蹈動(dòng)作編碼的生成過(guò)程。

        圖3 姿態(tài)插值模型

        圖4所示是如何使用Bottom部分的姿態(tài)插值模型估計(jì)舞蹈動(dòng)作的概率值。假設(shè)有一段Bottom部分的動(dòng)作編碼序列Mbott,Mbott需要符合特定規(guī)則,Mbott序列的第一個(gè)元素為起始動(dòng)作編碼pstart,第二個(gè)元素為終止動(dòng)作編碼pend,意為模型生成的整個(gè)序列要以pstart為開始,并以pend為終止。假如現(xiàn)在已經(jīng)生成了Top部分的舞蹈動(dòng)作編碼Mtop。接下來(lái),首先將Mbott和Mtop分別轉(zhuǎn)化為可學(xué)習(xí)的特征向量B和T,并將它們與提取的舞蹈風(fēng)格特征向量S沿時(shí)間維度進(jìn)行拼接[27];然后將拼接的向量送入12層(該值可以調(diào)整,本文選擇層數(shù)為12)的Transformer層;最后經(jīng)過(guò)全連接和Softmax層輸出表示動(dòng)作編碼概率的向量R。R的長(zhǎng)度為Bottom編碼簿的大小。對(duì)于時(shí)刻t,計(jì)算編碼簿中每一個(gè)編碼zj在R中對(duì)應(yīng)的概率值,并選取概率最大值對(duì)應(yīng)的編碼作為t時(shí)刻的預(yù)測(cè)動(dòng)作編碼值:

        圖4 有條件姿態(tài)插值網(wǎng)絡(luò)結(jié)構(gòu)

        2.3.1 Transformer層與聯(lián)合因果注意力

        Transformer[26]是一個(gè)基于注意力機(jī)制的網(wǎng)絡(luò),被廣泛應(yīng)用在自然語(yǔ)言處理和圖像識(shí)別等領(lǐng)域。Transformer中最重要的是多頭注意力機(jī)制的使用,輸入X經(jīng)過(guò)多頭注意力機(jī)制層后被轉(zhuǎn)化為新的向量U。計(jì)算過(guò)程如下所示:

        其中,Q、K、V由輸入矩陣X計(jì)算而來(lái),M是掩碼矩陣,針對(duì)不同類型的注意力機(jī)制有不同的取值。本文在預(yù)測(cè)下一個(gè)Bottom動(dòng)作編碼時(shí),應(yīng)該防止模型使用未來(lái)信息,因此此處應(yīng)該使用因果注意力,也就是模型只能用當(dāng)前時(shí)刻之前的信息。但是本文中模型的輸入較復(fù)雜,輸入中包含由Bottom舞蹈動(dòng)作編碼轉(zhuǎn)化而來(lái)的嵌入向量B、由Top舞蹈動(dòng)作編碼轉(zhuǎn)化而來(lái)的嵌入向量T,以及舞蹈風(fēng)格向量S。針對(duì)特殊的輸入結(jié)構(gòu),本文提出了一種新的注意力層,稱之為聯(lián)合因果注意力層,其結(jié)構(gòu)如圖5所示。因?yàn)橐A(yù)測(cè)下一時(shí)刻Bottom舞蹈的動(dòng)作編碼,為了避免模型使用未來(lái)信息,所以對(duì)Bottom部分使用因果注意力,而對(duì)Top部分和舞蹈風(fēng)格向量部分使用全注意力,并且只允許Top部分和舞蹈風(fēng)格向量部分向Bottom部分單向傳遞信息。

        圖5 Transformer層結(jié)構(gòu)

        聯(lián)合因果注意力層既保證了不同種類輸入之間進(jìn)行充分的信息交換,同時(shí)保證了在預(yù)測(cè)下一時(shí)刻的Bottom動(dòng)作編碼時(shí),模型不會(huì)使用未來(lái)信息。

        2.3.2 姿態(tài)插值模型的訓(xùn)練

        模型采用有監(jiān)督學(xué)習(xí)的方式進(jìn)行訓(xùn)練。但是因?yàn)樽藨B(tài)插值模型需要生成兩個(gè)關(guān)鍵動(dòng)作之間的銜接動(dòng)作,所以筆者希望模型可以很好地學(xué)習(xí)到如何從前一個(gè)關(guān)鍵動(dòng)作開始,順滑地進(jìn)行中間動(dòng)作的過(guò)渡,并保證最后生成的動(dòng)作一定落在后一個(gè)關(guān)鍵動(dòng)作上。對(duì)于模型生成的序列,頭部序列和尾部序列的生成質(zhì)量非常重要,因此在訓(xùn)練時(shí),本文提出了一種新的損失函數(shù):

        其中,N為模型預(yù)測(cè)的兩個(gè)關(guān)鍵動(dòng)作之間銜接動(dòng)作序列的長(zhǎng)度,pn為動(dòng)作編碼的真實(shí)值,為模型輸出的動(dòng)作編碼的預(yù)測(cè)值。為二次函數(shù),當(dāng)x∈[0,1]時(shí),,并且在x= 0 和x=1處,f(x)=1,在x=0.5處,,即x∈ [ 0,1],函數(shù)呈現(xiàn)兩端大、中間小的形態(tài)。本文中α=2。損失函數(shù)中加入此函數(shù)后,會(huì)對(duì)預(yù)測(cè)動(dòng)作序列的兩端給予更嚴(yán)厲的懲罰,使模型更好地保障兩端動(dòng)作編碼的生成質(zhì)量。

        訓(xùn)練完成后,姿態(tài)插值模型可以學(xué)習(xí)到如何生成pstart和pend之間的動(dòng)作序列,并根據(jù)輸入的舞蹈風(fēng)格調(diào)整模型的輸出。

        先生成Top部分的動(dòng)作編碼,再生成Bottom部分的動(dòng)作編碼,這是一個(gè)由粗略到精細(xì)的生成過(guò)程,可以同時(shí)考慮到全局信息和局部信息。

        最后,可以使用生成的Top部分的動(dòng)作編碼和Bottom部分的動(dòng)作編碼按圖2所示的方式生成最終的舞蹈動(dòng)作序列。

        3 實(shí)驗(yàn)結(jié)果分析

        3.1 實(shí)驗(yàn)準(zhǔn)備

        本文在目前公開的最大的舞蹈數(shù)據(jù)集AIST++[1]上進(jìn)行模型訓(xùn)練和測(cè)試。此數(shù)據(jù)集一共包含992段高質(zhì)量的3D舞蹈片段。數(shù)據(jù)集被劃分為訓(xùn)練集和測(cè)試集兩個(gè)集合,其中訓(xùn)練數(shù)據(jù)952條,測(cè)試數(shù)據(jù)40條。在訓(xùn)練集上進(jìn)行模型訓(xùn)練,且只在測(cè)試集上進(jìn)行模型測(cè)試。在進(jìn)行數(shù)據(jù)集劃分時(shí),需要嚴(yán)格保證訓(xùn)練集和測(cè)試集沒(méi)有音樂(lè)和舞蹈動(dòng)作片段的重合。

        訓(xùn)練完成后,模型根據(jù)給定的音樂(lè)可以輸出對(duì)應(yīng)的舞蹈序列,舞蹈序列的每一幀為人體24個(gè)關(guān)節(jié)的坐標(biāo)值,輸出的舞蹈序列可以導(dǎo)入虛擬3D引擎Unity中進(jìn)行虛擬人物驅(qū)動(dòng),Unity中需要加載FinalIK資源包。本文中演示使用的UNITy版本為2019.03.11f1,F(xiàn)inalIK版本為V2.1。

        3.2 實(shí)驗(yàn)結(jié)果量化評(píng)估

        本文使用3個(gè)量化指標(biāo)來(lái)評(píng)估生成的舞蹈動(dòng)作。這3個(gè)指標(biāo)分別為舞蹈動(dòng)作質(zhì)量、舞蹈動(dòng)作多樣性、音樂(lè)與舞蹈節(jié)拍一致性。

        ● 舞蹈動(dòng)作質(zhì)量:舞蹈動(dòng)作質(zhì)量的獲取方法是,計(jì)算生成的舞蹈動(dòng)作和數(shù)據(jù)集中所有的舞蹈動(dòng)作在動(dòng)力學(xué)和幾何學(xué)兩種特征上的FID[29]值,即弗雷歇距離。舞蹈動(dòng)作的動(dòng)力學(xué)特征和幾何學(xué)特征分別使用fairmotion[30]中實(shí)現(xiàn)的兩個(gè)運(yùn)動(dòng)特征提取器[31]進(jìn)行提取,分別使用FIDk和FIDg表示動(dòng)力學(xué)特征對(duì)應(yīng)的FID值和幾何學(xué)特征對(duì)應(yīng)的FID值。好的舞蹈動(dòng)作質(zhì)量可以保證生成的舞蹈動(dòng)作更加真實(shí)合理。

        ● 舞蹈動(dòng)作多樣性:當(dāng)給定不同的音樂(lè)時(shí),人們希望模型可以生成更加多樣性的舞蹈。計(jì)算在AIST++測(cè)試集上生成的40段舞蹈在特征空間中的平均歐氏距離,以此衡量生成舞蹈的多樣性。在這里特征空間也分為兩種,分別為動(dòng)力學(xué)特征空間和幾何學(xué)特征空間,記為Distk和Distg。

        ● 音樂(lè)與舞蹈節(jié)拍一致性:節(jié)拍一致性是最直接影響人們對(duì)舞蹈觀看體驗(yàn)的指標(biāo),這個(gè)指標(biāo)可以衡量音樂(lè)和舞蹈動(dòng)作的相關(guān)性。本文按照其他論文的做法,計(jì)算舞蹈動(dòng)作和背景音樂(lè)的節(jié)拍一致性得分,這個(gè)值可以評(píng)估舞蹈動(dòng)作的節(jié)拍和音樂(lè)節(jié)拍的相關(guān)程度,計(jì)算式為:

        其中,Bd={td}是舞蹈動(dòng)作節(jié)拍,Bm={tm}是音樂(lè)節(jié)拍,σ是針對(duì)不同F(xiàn)PS(每秒幀數(shù))的歸一化參數(shù)。本文中FPS值為60,對(duì)應(yīng)的σ值為3。音樂(lè)節(jié)拍可以使用音頻處理工具Librosa[25]進(jìn)行提取,即通過(guò)工具分析得到音樂(lè)節(jié)拍出現(xiàn)的時(shí)間點(diǎn),舞蹈動(dòng)作節(jié)拍通過(guò)計(jì)算運(yùn)動(dòng)速度的局部最小值來(lái)獲得。

        本文利用以上3個(gè)指標(biāo)對(duì)比了節(jié)奏舞者模型與目前幾個(gè)較好的舞蹈生成模型。參與對(duì)比的舞蹈生成模型包括Li J M等人所提模型[32]、DanceNet[33]、DanceRevolution[34]、FACT[1]、Bailando[2]。在AIST++測(cè)試集上,每種方法都生成40段對(duì)應(yīng)的舞蹈序列,然后計(jì)算上述3個(gè)指標(biāo)。對(duì)比結(jié)果見(jiàn)表1。通過(guò)表1可以看出,節(jié)奏舞者模型在各個(gè)指標(biāo)上的結(jié)果優(yōu)于絕大部分現(xiàn)有模型:在FIDk和FIDg上相較之前表現(xiàn)最好的模型Bailando有更好的效果;與Bailando相比在節(jié)拍一致性得分上提升了5%,說(shuō)明節(jié)奏舞者模型生成的舞蹈與音樂(lè)更加契合。這說(shuō)明先建立關(guān)鍵動(dòng)作轉(zhuǎn)化圖,再?gòu)膱D中采樣獲取關(guān)鍵動(dòng)作的方式可以更好地保證音樂(lè)節(jié)拍與舞蹈節(jié)拍的一致性。這驗(yàn)證了本文方法的有效性。

        舞蹈生成的最終目的是供人欣賞。為了在人的主觀感受上更好地評(píng)估生成舞蹈的效果,本文進(jìn)行了用戶體驗(yàn)調(diào)查。首先從每種舞蹈生成方法生成的舞蹈中選出30個(gè)生成樣本,然后將每種方法生成的樣本與節(jié)奏舞者模型生成的樣本隨機(jī)兩兩組合,之后選擇10位觀眾,讓每位觀眾觀看每個(gè)組合的視頻文件,并標(biāo)記哪個(gè)文件中生成的舞蹈效果更好,最后將結(jié)果進(jìn)行匯總。詳細(xì)結(jié)果可見(jiàn)表1。相比之前最好的舞蹈生成模型Bailando,節(jié)奏舞者模型勝出率高達(dá)74.6%。節(jié)奏舞者模型生成的舞蹈樣例如圖6所示。

        圖6 節(jié)奏舞者生成的舞蹈樣例

        表1 各舞蹈生成方法的結(jié)果

        3.3 消融實(shí)驗(yàn)

        本文進(jìn)行了消融實(shí)驗(yàn),以驗(yàn)證VQ-VAE-2和姿態(tài)插值網(wǎng)絡(luò)中聯(lián)合因果注意力層的有效性。有效性的評(píng)估使用了動(dòng)作質(zhì)量(FIDk和FIDg)和節(jié)拍一致性得分兩種量化指標(biāo)。除量化指標(biāo)外,為了衡量不同生成結(jié)果對(duì)人產(chǎn)生的直觀感受,筆者請(qǐng)觀眾對(duì)生成的樣本進(jìn)行了主觀感受打分。

        本文比較了VQ-VAE和VQ-VAE-2對(duì)舞蹈動(dòng)作進(jìn)行編碼量化的效果差異,并且研究了在訓(xùn)練VQ-VAE-2網(wǎng)絡(luò)時(shí),式(3)中節(jié)點(diǎn)運(yùn)動(dòng)的速度和加速度損失的加入對(duì)結(jié)果的影響,結(jié)果見(jiàn)表2。從表2可以看出,相比VQ-VAE,VQ-VAE-2在FIDk、FIDg和節(jié)拍一致性得分3個(gè)指標(biāo)上均有更好的表現(xiàn),說(shuō)明VQ-VAE-2這種分層的結(jié)構(gòu)可以在舞蹈生成過(guò)程中兼顧局部信息和全局信息,有助于提升舞蹈生成質(zhì)量,符合實(shí)驗(yàn)預(yù)期。損失函數(shù)中去除速度/加速度損失項(xiàng)后,F(xiàn)IDk和FIDg明顯升高,分別上升了8.17%和6.39%;損失函數(shù)中去掉速度和加速度損失項(xiàng)后,節(jié)拍一致性得分變低,說(shuō)明速度和加速度對(duì)于舞蹈動(dòng)作序列來(lái)說(shuō)是非常重要的信息,丟失這部分信息會(huì)影響模型的舞蹈生成質(zhì)量。

        表2 不同量化方式和速度/加速度損失對(duì)結(jié)果的影響實(shí)驗(yàn)分析

        對(duì)于姿態(tài)插值網(wǎng)絡(luò),首先,將聯(lián)合因果注意力層換成最簡(jiǎn)單的因果注意力層,即圖5中嵌入向量B和嵌入向量T之間沒(méi)有進(jìn)行特征交叉融合。結(jié)果發(fā)現(xiàn)FIDk和FIDg大幅上升,說(shuō)明在生成Bottom部分動(dòng)作編碼的過(guò)程中,特征向量T起到了關(guān)鍵的指導(dǎo)作用。為了探究舞蹈風(fēng)格特征向量S對(duì)舞蹈生成效果的影響,實(shí)驗(yàn)中將舞蹈風(fēng)格特征向量S去掉,即圖5中,舞蹈風(fēng)格特征向量S在注意力層中不參與特征融合,讓模型根據(jù)測(cè)試集的音樂(lè)進(jìn)行舞蹈生成,最后選擇10位觀眾對(duì)舞蹈風(fēng)格特征向量參與訓(xùn)練的模型生成的樣本和舞蹈風(fēng)格特征向量未參與訓(xùn)練的模型生成的樣本分別打分(分?jǐn)?shù)范圍為1~5分),并計(jì)算平均分。結(jié)果顯示,舞蹈風(fēng)格特征向量參與訓(xùn)練的模型生成的樣本分?jǐn)?shù)更高,說(shuō)明舞蹈風(fēng)格特征向量在舞蹈生成時(shí)可以有效控制生成舞蹈的風(fēng)格,給觀眾更好的視覺(jué)感受。詳細(xì)結(jié)果見(jiàn)表3。

        表3 聯(lián)合因果注意力層和舞蹈風(fēng)格特征向量對(duì)生成結(jié)果的影響

        消融實(shí)驗(yàn)結(jié)果表明,VQ-VAE-2對(duì)舞蹈的生成質(zhì)量有提升作用。將聯(lián)合因果注意力層替換為簡(jiǎn)單的因果注意力層后,舞蹈生成質(zhì)量大幅下降,這有效驗(yàn)證了Top部分舞蹈動(dòng)作編碼和Bottom部分舞蹈動(dòng)作編碼在舞蹈生成過(guò)程中協(xié)同配合的重要性。最后,實(shí)驗(yàn)結(jié)果表明,舞蹈風(fēng)格向量的加入可以有效地控制生成舞蹈的風(fēng)格,統(tǒng)一的舞蹈風(fēng)格讓整個(gè)舞蹈更加和諧流暢,給人更好的視覺(jué)感受。

        4 結(jié)束語(yǔ)

        本文提出了一種新的3D舞蹈生成框架。針對(duì)生成的舞蹈動(dòng)作和音樂(lè)節(jié)拍難以契合的問(wèn)題,本文提出了先構(gòu)建關(guān)鍵動(dòng)作轉(zhuǎn)換圖,再生成中間銜接動(dòng)作的舞蹈生成方法,有效保證了動(dòng)作節(jié)拍與音樂(lè)節(jié)拍的高度一致性。針對(duì)舞蹈動(dòng)作空間維度太大而導(dǎo)致生成的舞蹈動(dòng)作怪異的問(wèn)題,本文提出使用VQ-VAE-2對(duì)舞蹈動(dòng)作進(jìn)行編碼和量化,對(duì)舞蹈動(dòng)作空間進(jìn)行了有效降維,而且采用VQ-VAE-2的分層結(jié)構(gòu),讓模型在生成舞蹈時(shí)可以兼顧全局信息和局部信息,使生成的舞蹈動(dòng)作更加穩(wěn)定流暢。為了更好地生成關(guān)鍵動(dòng)作之間的銜接動(dòng)作,本文提出了基于聯(lián)合因果注意力的姿態(tài)插值網(wǎng)絡(luò),同時(shí)在模型訓(xùn)練時(shí),引入了新的損失函數(shù)來(lái)保證生成的中間動(dòng)作和兩端的關(guān)鍵動(dòng)作能更好地銜接。實(shí)驗(yàn)結(jié)果表明,在各量化指標(biāo)上,節(jié)奏舞者模型相較之前的舞蹈生成模型均有更好的表現(xiàn)。

        猜你喜歡
        插值姿態(tài)關(guān)鍵
        高考考好是關(guān)鍵
        攀爬的姿態(tài)
        基于Sinc插值與相關(guān)譜的縱橫波速度比掃描方法
        全新一代宋的新姿態(tài)
        汽車觀察(2018年9期)2018-10-23 05:46:40
        跑與走的姿態(tài)
        一種改進(jìn)FFT多譜線插值諧波分析方法
        基于四項(xiàng)最低旁瓣Nuttall窗的插值FFT諧波分析
        獲勝關(guān)鍵
        NBA特刊(2014年7期)2014-04-29 00:44:03
        Blackman-Harris窗的插值FFT諧波分析與應(yīng)用
        生意無(wú)大小,關(guān)鍵是怎么做?
        加勒比久草免费在线观看| 18禁超污无遮挡无码免费游戏| 国产在线白丝DVD精品| 狠狠躁夜夜躁人人爽天天不卡| 丰满人妻被持续侵犯中出在线| 免费看美女被靠到爽的视频 | 国产高清乱理伦片| 国产老妇伦国产熟女老妇高清| 人妻丰满熟妇一二三区| 97久久婷婷五月综合色d啪蜜芽 | 激情综合欧美| 蜜桃av夺取一区二区三区| 人妻久久一区二区三区| 野外亲子乱子伦视频丶| 亚洲av无码av在线播放| 无人视频在线播放在线观看免费| 人妻少妇精品专区性色anvn| 丰满人妻一区二区三区视频53 | 午夜无码熟熟妇丰满人妻| 日本一区二区在线播放视频| 狼狼综合久久久久综合网| 亚洲 欧美 影音先锋| 国产女主播强伦视频网站| 国内自拍偷国视频系列| 成人做受视频试看60秒| 狠狠色狠狠色综合日日92| 国产三级在线观看不卡| 亚洲av中文无码字幕色本草| 97久久天天综合色天天综合色hd| 美女极度色诱视频国产免费| 日本视频一中文有码中文| 看黄a大片日本真人视频直播 | 欧美日韩性高爱潮视频| 日本一区二区三区在线视频播放| 久久无码人妻一区二区三区午夜| 国产人妖视频一区二区| 国产精品丝袜一区二区三区在线| 久久久国产精品无码免费专区| 成人看片黄a免费看那个网址 | 色爱区综合激情五月综合小说| 亚洲国产精一区二区三区性色|