方丹芳,李學(xué)明,柳 楊,李榮鋒
(1.北京郵電大學(xué) 信息與通信工程學(xué)院,北京 100876; 2.北京郵電大學(xué) 數(shù)字媒體與設(shè)計藝術(shù)學(xué)院,北京 100876)
伴隨音樂的舞蹈是一種聽覺和視覺享受相結(jié)合的高級藝術(shù).專業(yè)舞者會根據(jù)音樂的旋律、節(jié)奏和強(qiáng)度等,嚴(yán)格控制自己的舞姿,因此更真實地用舞蹈傳遞音樂的情感.而舞蹈和音樂的匹配有比較嚴(yán)格的要求,一般是由專業(yè)的編舞人員來設(shè)計,是一項極需天賦的挑戰(zhàn)性工作.但為新的音樂編舞時,并不是創(chuàng)作出整段新的舞蹈序列,而是大量重復(fù)類似音樂對應(yīng)的舞蹈序列.通過重復(fù)優(yōu)秀的舞蹈序列,使編舞更加靈活和高效.盡管如此,編舞者手工地對舞蹈和音樂進(jìn)行匹配是相當(dāng)耗時的.因此,讓計算機(jī)實現(xiàn)音樂驅(qū)動的舞蹈自動合成,計算機(jī)的智能化、自動化對舞蹈編排以及娛樂有一定的實用價值.
音樂和舞蹈是兩種不同模態(tài)的數(shù)據(jù),如何跨越音樂和舞蹈之間的語義鴻溝是個很困難的問題.而事實上,當(dāng)聽到一首歌時,人們總會跟著音樂的節(jié)拍,有節(jié)奏地?fù)u動自己的身體,并且音樂情感越強(qiáng)烈,身體搖擺幅度也越大.因此,本文充分利用音樂和動作在時間序列上的共同特征: 節(jié)奏和強(qiáng)度.另外,一段音樂往往有不同的旋律,譬如前奏舒緩,高潮激昂.簡單地對整首歌和整支舞蹈進(jìn)行匹配,不能充分體現(xiàn)出細(xì)節(jié)的匹配.只有針對每個時長較短的音樂片段,舞者的表演都是節(jié)奏和情感強(qiáng)度同步,才能給人最直觀的音樂伴舞.基于這個場景需求,本文對輸入的音樂和已有的動作先進(jìn)行分段,再對每個音樂片段和動作片段進(jìn)行特征匹配.需要解決的主要問題是如何將匹配的多個動作片段拼接成一個完整的動作序列,保證整支舞蹈是由舞者從某一個動作自然地過渡到另外一個動作,但不能有新的銜接動作生成,不然無法保證舞蹈動作和音樂同步.
通過以上分析,本文提出的基于過渡幀插值的音樂驅(qū)動舞蹈合成算法,主要解決和目標(biāo)音頻匹配的動作片段的銜接問題.本文將介紹一種基于過渡幀插值的音樂驅(qū)動舞蹈合成的框架和插值算法的具體實現(xiàn),并對實驗結(jié)果進(jìn)行討論,同時對下一步的研究問題提出一些看法.
目前,音樂驅(qū)動編舞方面已經(jīng)有很多有價值的研究.近年來的核心思想是連接動作數(shù)據(jù)庫中和目標(biāo)音頻特征一致的動作片段,需提取音樂和動作的共同特征以及特征匹配.Alankus等[1]提出根據(jù)音樂的節(jié)奏和密度特征自動生成舞蹈的方法,通過預(yù)先構(gòu)建動作圖搜索候選動作,提高了編舞系統(tǒng)的搜索效率.但不足是要求動作片段必須符合各種風(fēng)格類型音樂的節(jié)奏間隔,這是個很困難的問題.Shiratori等[2]提出根據(jù)音樂和動作的節(jié)奏和強(qiáng)度特征來同步合成舞蹈的方法,本文的方式類似這種方法.但該文提出的節(jié)奏匹配算法僅考慮節(jié)奏點匹配的數(shù)量,容易出現(xiàn)節(jié)奏點密度大的舞蹈動作片段總是被不斷重用.Xia等[3]提出根據(jù)音樂和動作的節(jié)奏和情感特征來合成機(jī)器人舞蹈的方法,匹配算法使用馬爾可夫模型,主要考慮當(dāng)前動作與前一幀的連貫性以及動作情感和音樂情感的匹配性,再根據(jù)音樂節(jié)奏調(diào)整機(jī)器人動作的節(jié)奏.這種算法適用于合成機(jī)器人舞蹈,不適用于計算機(jī)人物動畫.目前也有相關(guān)研究是通過訓(xùn)練音樂和動作高維特征的相關(guān)性模型來進(jìn)行特征匹配分析.Fukayama等[4]提出利用高斯模型提取音樂節(jié)拍和動作各關(guān)節(jié)坐標(biāo)的非線性映射關(guān)系,主要利用了網(wǎng)上大量根據(jù)音樂進(jìn)行人為創(chuàng)造的動作序列(MikuMikuDance).樊儒昆[5]對音樂-動作匹配數(shù)據(jù)集進(jìn)行訓(xùn)練,基于音樂和動作高維特征的相關(guān)系數(shù)構(gòu)造特征向量,訓(xùn)練得到音樂-動作匹配程度的評價函數(shù),反映的是音樂片段和動作片段短時間內(nèi)統(tǒng)計特征的匹配.但模型在訓(xùn)練期間為構(gòu)造反例,簡單地通過動作間的距離反映動作和舞蹈的匹配程度,這存在很大的問題.
在計算圖形領(lǐng)域,有些研究合成真實的人體運動,其中大部分動作合成技術(shù)是基于動作捕捉數(shù)據(jù)進(jìn)行編輯、銜接等.Kovar等[6]基于動作捕捉數(shù)據(jù)自動構(gòu)建一個動作圖,包含原始動作和銜接動作.銜接動作是指在動作片段M和動作片段N之間生成一個過渡的動作片段P,通過對動作片段M末尾k幀和動作片段N起始k幀插值來合成.Zhao等[7]提出一種新的動作銜接算法,先在兩個動作片段之間生成多個插值動作節(jié)點,然后利用動作相關(guān)性程度選擇銜接最自然的節(jié)點組合生成動作片段.以上兩種銜接算法均對原始動作片段進(jìn)行插值修改,破壞了原始動作的約束,可能會帶來腳滑、抖動等不自然現(xiàn)象.很多學(xué)者對消除腳滑的方法進(jìn)行了研究[8-9],這里不再詳細(xì)敘述.本文應(yīng)用的場景與之前的研究都不同,目標(biāo)是連接各個已有的動作片段,但不能有新的銜接動作生成.
本文所提出的基于過渡幀插值的音樂驅(qū)動舞蹈合成的框架如圖1所示.首先,基于動作捕捉數(shù)據(jù),建立動作數(shù)據(jù)庫,存儲各個動作片段的節(jié)奏、強(qiáng)度特征.當(dāng)輸入一首音樂時,先對音樂進(jìn)行特征分析,得到音樂片段和對應(yīng)的節(jié)奏、強(qiáng)度特征.然后進(jìn)行音樂和動作的特征匹配分析,先進(jìn)行節(jié)奏匹配,根據(jù)節(jié)奏匹配程度為每個音樂片段篩選出最匹配的多個動作片段,再對這些前一片段的末尾動作和后一個片段的過渡動作進(jìn)行連接性分析,根據(jù)可連接得到多個結(jié)果動作序列,然后根據(jù)強(qiáng)度匹配得到最匹配的動作序列.最后,對動作序列進(jìn)行過渡幀插值銜接,合成過渡自然的舞蹈動作.
圖1 基于過渡幀插值的音樂驅(qū)動舞蹈生成框圖Fig.1 Framework of music-driven dance motion synthesis based on transition frame interpolation
本文主要討論基于插值的舞蹈動作合成,在音樂特征提取上,主要參考文獻(xiàn)[2]的研究結(jié)果,音樂分段基于音符的重復(fù)模式提取,音樂節(jié)奏特征基于典型的onset-component節(jié)奏評估法提取,音樂強(qiáng)度特征基于聲壓和人耳聽覺屬性提取.為了方便描述,本章統(tǒng)一將音樂序列記為M,分段得到m個音樂片段,記為M1,M2,…,Mm.音樂片段Mi提取的音樂特征記為:
(1)
動作特征提取動作和音樂的共同特征: 節(jié)奏和強(qiáng)度.本文使用的Greek舞蹈,動作節(jié)奏主要通過腳的抬動體現(xiàn),因此基于腳垂直方向位移的極值來提取,參考文獻(xiàn)[10]的動作節(jié)奏提取方法.動作強(qiáng)度特征的提取基于Laban作用力理念.針對Greek舞蹈,動量取決于腳垂直移動和人物質(zhì)心的水平移動,參考文獻(xiàn)[2]的動作強(qiáng)度提取方法.動作分段取16個節(jié)奏長度進(jìn)行分段.同音樂,本文將所有特征均定義在片段這一尺度.對動作序列N分段,得到動作片段N1,N2,….動作片段Ni提取的動作特征記為:
(2)
音樂和動作的共同特征匹配主要分為節(jié)奏匹配和強(qiáng)度匹配,充分挖掘音樂和舞蹈動作在時間上的一一對應(yīng)關(guān)系.首先,基于音樂和舞蹈動作在時間上的節(jié)奏點同步數(shù)量進(jìn)行節(jié)奏匹配.同時,為了保證相鄰動作片段的銜接性,對相鄰動作片段做可連接性分析.然后,基于相鄰動作的可連接性,采用樹的深度搜索算法提取所有可能的結(jié)果動作.最后,基于強(qiáng)度直方圖相似性,對輸入音頻和所有可能的結(jié)果動作進(jìn)行強(qiáng)度匹配,篩選出最匹配的舞蹈動作[2].
音樂和動作的節(jié)奏匹配主要考慮節(jié)奏的同步程度.對音樂片段和動作數(shù)據(jù)庫的動作片段進(jìn)行節(jié)奏匹配,篩選出節(jié)奏最匹配的t個動作片段.音樂片段Mi和動作片段Ni的節(jié)奏匹配程度衡量公式:
(3)
強(qiáng)度匹配主要考慮音樂片段和動作片段的強(qiáng)度直方圖分布相似性,使用Bhattacharyya系數(shù)衡量.音樂片段Mi和動作片段Ni的強(qiáng)度匹配公式:
(4)
本章介紹過渡幀插值算法,解決與目標(biāo)音頻匹配的動作片段相鄰過渡時出現(xiàn)動作突變的問題.動作突變具體指從動作片段M過渡到動作片段N時,由于動作片段M的末尾動作與動作片段N的起始動作不相似,導(dǎo)致過渡時動作不連貫.如圖2所示,動作片段M、N均是連貫的動作,動作片段M的末尾動作朝向從左側(cè)轉(zhuǎn)到后側(cè),動作片段N的起始動作朝向是前側(cè),因此動作過渡時,動作直接從后側(cè)朝向轉(zhuǎn)為前側(cè)朝向,出現(xiàn)動作突變,影響舞蹈合成的視覺效果.過渡幀算法的目標(biāo)是解決動作過渡時出現(xiàn)的動作突變,通過對動作片段M的末尾動作進(jìn)行插值,從而實現(xiàn)動作的平滑銜接.如圖3所示,插值后的動作與N起始動作的姿勢和朝向都比較一致,同時保留了M末尾動作的特征.
圖2 從動作片段M過渡到動作片段N發(fā)生動作突變Fig.2 Motion mutation happened when moving from motion segment M to N
圖3 基于插值的動作平滑銜接Fig.3 Smooth transition between motion segments based on interpolation
圖4 過渡幀插值算法的框架Fig.4 Framework of transition frame interpolation algorithm
過渡幀插值算法對動作片段M的末尾動作和動作片段N的過渡動作進(jìn)行插值,使插值后的動作既能保留M末尾動作的特征,又能平滑過渡到N.動作片段N的過渡動作是N所在原始動作序列中在N之前的相鄰動作片段.為了獲取過渡動作,對部分重疊的音樂片段進(jìn)行動作片段匹配.過渡幀插值算法的框架如圖4所示,特征匹配前,對每個原始音樂片段加上前一個音樂片段的末尾片段即重疊的音樂片段,該音樂片段匹配的動作片段即為過渡動作.由于末尾動作和過渡動作均和相同的音樂片段匹配,因此兩者具有一定相關(guān)性,有利于插值實現(xiàn).特征匹配后,對當(dāng)前動作片段的末尾動作和下一個相鄰動作片段的過渡動作進(jìn)行插值生成插值動作,再與匹配的動作片段組成連貫的舞蹈動作.
對k幀的末尾動作和過渡動作進(jìn)行插值.插值前,需保證待插值動作的距離小于一定的閾值,特征匹配時的可連接分析對此提供了保障.當(dāng)末尾動作和過渡動作的距離小于給定閾值時,認(rèn)為末尾動作和過渡動作是可連接的.動作距離的計算參考文獻(xiàn)[6].另外,考慮到動作插值會破壞原有動作的約束,出現(xiàn)腳滑等不自然的現(xiàn)象,本文的插值算法只取少量幀動作進(jìn)行插值,實驗時k取14.動作插值的核心思想是對k幀末尾動作和過渡動作的根節(jié)點坐標(biāo)進(jìn)行線性插值,對所有關(guān)節(jié)的旋轉(zhuǎn)角進(jìn)行四元數(shù)球面線性插值,合成k幀的插值動作.假設(shè)動作片段M的長度為m,則M的末尾動作記為Mm-k+1,…,m.動作片段N的過渡動作記為N1,2,…,k.算法具體步驟如下:
1) 對k幀的過渡動作N1,2,…,k進(jìn)行平移,使待插值的兩個動作片段起始位置相同;
2) 合成插值動作片段P1,2,…,k;
對Mm-k+1,…,m和N1,2,…,k的根節(jié)點位移進(jìn)行線性插值:
RPi=α(i)RMm-k+i+(1-α(i))RNi1≤i≤k;
(5)
對每個關(guān)節(jié)的旋轉(zhuǎn)角進(jìn)行四元數(shù)球面線性插值:
(6)
(7)
(8)
式中:q0,q1為旋轉(zhuǎn)角的四元數(shù)表示;w為q0,q1的夾角.
實驗所用的部分音樂和動作數(shù)據(jù)從https:∥dancedb.cs.ucy.ac.cy/main/performance下載.該網(wǎng)站提供了8段希臘和塞浦路斯舞蹈的視頻文件(包含音頻和穿戴動作捕捉設(shè)備的舞者表演)以及對應(yīng)的bvh動作文件,平均時長為1min,動作采樣率為30Hz,共16972幀動作數(shù)據(jù),音樂采樣率為44100Hz.另一部分動作數(shù)據(jù)從CMU動作捕捉數(shù)據(jù)庫下載,包含傳統(tǒng)舞蹈數(shù)據(jù)、印度舞等.這些動作數(shù)據(jù)均由Vicon提供的動作捕捉設(shè)備捕捉,采樣率為120Hz.
首先,基于舞蹈動作數(shù)據(jù)建立動作數(shù)據(jù)庫,使用本文提出的算法合成舞蹈,通過合成舞蹈的視覺效果來評估本文算法的效果.為Haniotikos和Tonite音頻合成匹配的舞蹈,已在項目網(wǎng)站上呈現(xiàn)(https:∥karon1988.github.io/dance_haniotikos.mp4、https:∥karon1988.github.io/dance_tonite.mp4).視頻表明舞蹈動作的節(jié)奏和強(qiáng)度與輸入的音樂是匹配的,且動作銜接是自然的.圖5展示了Haniotikos合成舞蹈姿勢快照.
同時,為了進(jìn)一步驗證所提出的匹配算法是否合理,本文比較已有匹配的舞蹈動作-音樂關(guān)系和本文合成的舞蹈-音樂的關(guān)系.對原始希臘舞Haniotikos的音頻和bvh動作數(shù)據(jù),按本文提出的特征提取算法分別提取節(jié)奏和強(qiáng)度特征,結(jié)果如圖6所示,其中: 1幀時長為1/30s;Haniotikos音頻的平均節(jié)奏周期為0.21s.由圖6可知,舞蹈動作的平均節(jié)奏周期比音樂大,但動作的節(jié)拍點基本和音樂重合,動作的強(qiáng)度分布和音樂不是完全匹配,但相當(dāng)相似.Haniotikos合成舞蹈和音樂的特征如圖7所示,可知動作的節(jié)拍點基本和音樂重合,動作的強(qiáng)度分布和音樂相似.比較圖6和圖7可知,基于過渡幀插值算法合成的舞蹈和原始舞蹈,與音頻的特征匹配程度相當(dāng).同時,本文利用節(jié)奏匹配(公式(3))和強(qiáng)度匹配(公式(4))分別對原始舞蹈-音樂和合成舞蹈-音樂關(guān)系進(jìn)行定量化說明.原始舞蹈-音樂和合成舞蹈-音樂的節(jié)奏匹配數(shù)量結(jié)果見表1,強(qiáng)度匹配系數(shù)結(jié)果見表2.由表1可知,合成舞蹈的節(jié)奏匹配數(shù)量和原始舞蹈的節(jié)奏匹配數(shù)量相差不大.由表2可知,合成舞蹈的強(qiáng)度匹配系數(shù)和原始舞蹈基本一致.從匹配程度出發(fā),本文提出的算法是可行的.
圖5 Haniotikos合成舞蹈姿勢快照Fig.5 The synthesized dance for music “Haniotikos”
圖6 Haniotikos對應(yīng)的音樂和動作特征Fig.6 Music and motion features of Haniotikos
圖7 為Haniotikos合成的舞蹈與音樂的特征Fig.7 Dance and music features synthesized for Haniotikos
舞蹈類型節(jié)奏匹配數(shù)Ant1Ant2Ant3HanHasMalZei1Zei2原始舞蹈675436140126135153106合成舞蹈756151161153118164102
表2 原始舞蹈-音樂和合成舞蹈-音樂的強(qiáng)度匹配系數(shù)結(jié)果
為了客觀地分析舞蹈動作合成的銜接性,引入過渡動作的平均動作距離作為衡量指標(biāo).同時,為了評測本文方法的性能,比較了基于過渡幀插值的合成舞蹈與原始舞蹈、無動作銜接的合成舞蹈的銜接性.其中,分別對音頻Haniotikos和Zeimpekiko進(jìn)行舞蹈合成.原始舞蹈、基于過渡幀插值的合成舞蹈和無動作銜接的合成舞蹈的動作距離比較結(jié)果見表3.由表3可知,基于過渡幀的合成舞蹈和原始舞蹈的平均動作距離比較接近,且都遠(yuǎn)遠(yuǎn)小于無動作銜接合成舞蹈的平均動作距離.同時,從對應(yīng)的姿勢快照也可得出類似的結(jié)論,基于過渡幀的合成舞蹈和原始舞蹈的銜接比較自然,而無動作銜接合成舞蹈會出現(xiàn)動作突變.因此,從舞蹈銜接的自然性出發(fā),本文提出的算法是可行的.
表3 原始舞蹈、基于過渡幀插值的合成舞蹈和無動作銜接的合成舞蹈的動作距離結(jié)果
本文研究基于過渡幀插值的音樂驅(qū)動舞蹈合成,基于共同特征節(jié)奏和強(qiáng)度分析音樂片段與動作片段的相關(guān)性,并對動作片段進(jìn)行了插值銜接,最終合成和目標(biāo)音頻匹配的舞蹈動作.實驗結(jié)果表明合成舞蹈的節(jié)奏和強(qiáng)度與音樂基本是一致的,且動作間的銜接是自然的,驗證了本文算法的有效性.
未來可以繼續(xù)展開的工作有以下幾點:
1) 本文生成的舞蹈是由各個動作片段插值銜接,其路徑是沒有規(guī)則的,但舞蹈是具有空間性的,因此,在未來的研究中,可以對合成后的舞蹈進(jìn)行路徑編輯,使舞蹈的路徑具有一定的空間藝術(shù)性;
2) 本文在音樂和動作的特征匹配方法上,主要是基于共同特征的匹配,在未來的研究中,希望可以實現(xiàn)跨模態(tài)的特征匹配,輸入音樂的高維特征和動作的高維特征,能自動挖掘出其相關(guān)的特征;
3) 本文在音樂和動作的共同特征提取上,提取的是節(jié)奏和強(qiáng)度特征,在以后的實驗中可以嘗試挖掘更多能表征音樂和動作共同的特征,如情感.