林書新
(海南經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院,海南 ???571127)
隨著計(jì)算機(jī)動(dòng)畫在近年的迅猛發(fā)展,其相關(guān)產(chǎn)業(yè)已達(dá)到年產(chǎn)值數(shù)百億美元。作為世界上最大的娛樂產(chǎn)品輸出國,美國在每年的動(dòng)畫產(chǎn)品及衍生產(chǎn)品的產(chǎn)值已經(jīng)達(dá)到80多億美元。日本已成為全球動(dòng)畫作品產(chǎn)量最大的國度,產(chǎn)品包括卡通動(dòng)畫、書籍和電子游戲。韓國是近年勢頭最為迅猛的后起之秀,其動(dòng)畫產(chǎn)品產(chǎn)值也已經(jīng)占據(jù)全球30%。隨著中國產(chǎn)業(yè)結(jié)構(gòu)的升級(jí),動(dòng)畫業(yè)已得到了包括廣電總局、信息產(chǎn)業(yè)部等各級(jí)領(lǐng)導(dǎo)部門的高度關(guān)注和支持,并成為目前市場投資和開發(fā)的熱點(diǎn)方向。在該過程中,計(jì)算機(jī)動(dòng)畫技術(shù)的發(fā)展對(duì)動(dòng)畫產(chǎn)品的開發(fā)效率和制作質(zhì)量的提高無疑起到了非常重要的推動(dòng)作用。但是,在傳統(tǒng)的動(dòng)畫制作中,動(dòng)畫師必須根據(jù)策劃要求將畫面逐幀繪出,所需工作量極其龐大。借助于計(jì)算機(jī)技術(shù)和圖形學(xué)技術(shù)在近年的發(fā)展成果,目前的角色動(dòng)畫可以利用計(jì)算機(jī)先設(shè)計(jì)造型,再按照策劃劇情確定關(guān)鍵幀,然后通過調(diào)整關(guān)鍵幀的造型姿勢由動(dòng)畫軟件自動(dòng)生成圖像序列。但由此帶來的一個(gè)問題是,針對(duì)一個(gè)長篇?jiǎng)赢嬜髌?,其關(guān)鍵幀的逐個(gè)確定將是非常繁瑣的工作。因?yàn)檫@不但會(huì)給動(dòng)畫師帶來繁重的體力勞動(dòng),還將提高動(dòng)畫作品的制作成本。
人體動(dòng)畫已成為計(jì)算機(jī)動(dòng)畫中的挑戰(zhàn)性課題之一,也獲得了廣大研究者的廣泛關(guān)注。當(dāng)前,很多相關(guān)工作主要致力于研究對(duì)已有數(shù)據(jù)的編輯和重用。文獻(xiàn)[1]首先采用主成分分析法(Principal Component Analysis,PCA)將高維的運(yùn)動(dòng)數(shù)據(jù)進(jìn)行降維處理,再提取其中主要信息的主成分?jǐn)?shù)據(jù)的各分量進(jìn)行最小二乘擬和,最后通過求取不同骨骼人物的運(yùn)動(dòng)頻率,利用由最小二乘得來的主成分及頻率關(guān)系來捕獲虛擬角色的運(yùn)動(dòng)。但該方法對(duì)輸入速度有較嚴(yán)格限制,若輸入速度較大,則會(huì)產(chǎn)生不可預(yù)測的運(yùn)動(dòng)結(jié)果。文獻(xiàn)[2-4]都是基于插值的方法,其不同之處主要在于插值函數(shù)的基函數(shù)各不相同。文獻(xiàn)[2-3]所使用的基函數(shù)數(shù)目與樣本數(shù)目保持一致,通過一個(gè)線性系統(tǒng)求解插值函數(shù)的各個(gè)參數(shù),但忽略了對(duì)大量數(shù)據(jù)進(jìn)行壓縮處理,導(dǎo)致數(shù)據(jù)儲(chǔ)存量與計(jì)算量都較大,機(jī)器運(yùn)行成本較高。為了解決上述問題,文獻(xiàn)[4]考慮了數(shù)據(jù)的壓縮處理問題并改進(jìn)了前人所采取的插值方法,通過PCA與徑向基函數(shù)(Radial Basis Function,RBF)來生成新的運(yùn)動(dòng)數(shù)據(jù)。在RBF神經(jīng)網(wǎng)絡(luò)的建立過程中,其樣本中心數(shù)量是通過一個(gè)誤差值計(jì)算來確定,通過不斷計(jì)算來增加樣本中心數(shù)。但是,該算法所要處理的數(shù)據(jù)量仍較大,其運(yùn)動(dòng)數(shù)據(jù)的重建過程較為復(fù)雜。
針對(duì)現(xiàn)有運(yùn)動(dòng)編輯算法所存在的局限和不足,本文提出一種基于關(guān)鍵幀并采取PCA壓縮與RBF神經(jīng)網(wǎng)絡(luò)進(jìn)行處理的動(dòng)畫編輯算法。首先,通過PCA壓縮處理所捕獲的運(yùn)動(dòng)數(shù)據(jù)關(guān)鍵幀序列,能將高維的運(yùn)動(dòng)數(shù)據(jù)降到低維空間,從而為運(yùn)動(dòng)數(shù)據(jù)的內(nèi)插和外推提供了可能;然后,在運(yùn)動(dòng)數(shù)據(jù)的內(nèi)插處理階段,通過將數(shù)據(jù)歸一化來減小RBF神經(jīng)網(wǎng)絡(luò)的誤差,并使用RBF神經(jīng)網(wǎng)絡(luò)將壓縮后的關(guān)鍵幀序列與高層運(yùn)動(dòng)參數(shù)建立映射關(guān)系。該算法所采用的神經(jīng)網(wǎng)絡(luò)不但能以較快的運(yùn)算速度、較強(qiáng)的非線性映射能力以及較好的預(yù)報(bào)效能計(jì)算出關(guān)鍵幀數(shù)據(jù),而且還能通過高次四元數(shù)球面Hermite插值計(jì)算獲得所需的全體運(yùn)動(dòng)數(shù)據(jù)。
PCA即主成分分析法,是一種將高維數(shù)據(jù)投影到包含原空間大部分信息的低維空間的多變量統(tǒng)計(jì)技術(shù)[1]。實(shí)際上,經(jīng)處理而得到的各主成分是輸入?yún)?shù)矩陣中具有極大方差的列向量組合。通常,若主成分的方差較小,其代表的將是無用的噪聲信息,可以被舍棄掉而不會(huì)帶來不良影響。對(duì)于一個(gè)高度耦合系統(tǒng)而言,只需少數(shù)的若干主成分即可包含原有變量的絕大部分信息。因此,通過使用所保留的主成分來代替原變量,可達(dá)到減少變量個(gè)數(shù)及簡化計(jì)算的目的。在實(shí)際計(jì)算過程中,各主成分的方差貢獻(xiàn)率和累計(jì)方差貢獻(xiàn)率可根據(jù)樣本數(shù)據(jù)集的協(xié)方差陣的特征值確定,公式為
通常情況下,若前k項(xiàng)主成分所組成的累積方差貢獻(xiàn)率大于85%,則將其作為實(shí)際操作處理的數(shù)據(jù)。定義U為樣本協(xié)方差矩陣,X為樣本,則通過變換F=UX,可將原有的高維數(shù)據(jù)轉(zhuǎn)換為k維空間中的點(diǎn)集。
作為由大量簡單的處理單元組合而成的非線性、自適應(yīng)、自組織系統(tǒng),人工神經(jīng)網(wǎng)絡(luò)是基于現(xiàn)代神經(jīng)科學(xué)研究成果,嘗試通過仿真人類神經(jīng)系統(tǒng)對(duì)信息進(jìn)行加工、記憶和處理的方式而設(shè)計(jì)出的具有人腦風(fēng)格的信息處理系統(tǒng)。目前常見的人工神經(jīng)網(wǎng)絡(luò)有數(shù)十種之多,例如RBF網(wǎng)絡(luò)、多層映射BP網(wǎng)、感知機(jī)、Hopfiled模型及Boltzmann機(jī)等。
RBF即為徑向基函數(shù)?;赗BF的神經(jīng)網(wǎng)絡(luò)主要基于函數(shù)逼近理論,屬于前向網(wǎng)絡(luò)的一種。該神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程可視為在多維空間中尋找訓(xùn)練數(shù)據(jù)的最佳擬合平面。該擬合平面的基函數(shù)由RBF神經(jīng)網(wǎng)絡(luò)的各個(gè)隱式神經(jīng)元傳遞函數(shù)組成,其結(jié)構(gòu)如圖1所示。
作為一種前饋反向傳播網(wǎng)絡(luò),RBF神經(jīng)網(wǎng)絡(luò)主要包括輸入層、隱含層和輸出層。隱含層即為徑向基層。該網(wǎng)絡(luò)結(jié)構(gòu)的特點(diǎn)主要體現(xiàn)在:1)各輸入元素與輸入層神經(jīng)元直接相連,連接權(quán)值均為1;2)輸入層與隱含層直接線性相連,連接權(quán)值也均為1;3)隱含層與輸出層為線形連接,其連接權(quán)值為常數(shù)。RBF神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練的一個(gè)重要目標(biāo)就是確定該權(quán)值。
如圖1所示,該RBF神經(jīng)網(wǎng)絡(luò)的輸入層神經(jīng)元數(shù)量為6,隱含層神經(jīng)元數(shù)量為m,輸出神經(jīng)元數(shù)量為1??啥x一個(gè)輸入向量T(x1,x2,…,x6)來表示輸入神經(jīng)元,gm(x)代表隱含層的作用函數(shù)。顯然,該作用函數(shù)具有徑向?qū)ΨQ的特點(diǎn),因此被稱為徑向基函數(shù)。較為常見的隱含層傳輸函數(shù)包括以下幾種
在實(shí)際應(yīng)用中,最為常用的徑向基函數(shù)為高斯函數(shù),其函數(shù)曲線如圖2所示。
式中:m是隱含層節(jié)點(diǎn)個(gè)數(shù);Ci為第i個(gè)基函數(shù)的中心向量,其元素個(gè)數(shù)與x等同,σi為一個(gè)數(shù)量值,它決定了該基函數(shù)所圍繞中心的寬度?!?‖x-ci為向量(x-ci)的歐氏范數(shù),表示x和Ci間的距離,通常是采取2-范數(shù)進(jìn)行計(jì)算。gi(x)在Ci處有唯一最大值。隨著‖ ‖x-ci的增大,gi(x)將迅速衰減至零。而對(duì)于所給定的輸入x,只有少部分
函數(shù)定義為靠近x的中心被激活。Wm=(w1,w2,w3,...,wm-1,wm)T是隱含層與輸出層的連接權(quán)值向量,維數(shù)為m,wm為第m個(gè)隱含層節(jié)點(diǎn)與網(wǎng)絡(luò)輸出的連接權(quán)值。定義y1為神經(jīng)網(wǎng)絡(luò)的輸出,公式為
該文所提出的角色動(dòng)畫編輯算法步驟為:首先將關(guān)鍵幀序列進(jìn)行壓縮;然后在關(guān)鍵幀和高層參數(shù)之間建立RBF神經(jīng)網(wǎng)絡(luò),通過K-mean法選取神經(jīng)網(wǎng)絡(luò)的中心數(shù)量,采取廣義逆的簡單求解方法解出RBF網(wǎng)絡(luò)的隱含層單元權(quán)值;最后,使用高次四元數(shù)球面Hermite插值重新建立運(yùn)動(dòng)數(shù)據(jù)。算法步驟如圖3所示。
1)數(shù)據(jù)預(yù)處理。運(yùn)動(dòng)捕捉數(shù)據(jù)通常存儲(chǔ)的文件格式為*.bvh。這種文件能保存各運(yùn)動(dòng)片斷的所有幀信息,而各幀儲(chǔ)存的是每個(gè)關(guān)節(jié)相對(duì)其父關(guān)節(jié)的歐拉角的旋轉(zhuǎn)量。捕獲而來的高維運(yùn)動(dòng)數(shù)據(jù)會(huì)存在各個(gè)樣本運(yùn)動(dòng)之間的不同,通常會(huì)造成高維向量的拓?fù)洳町悺榇?,可采取手?dòng)方式確定關(guān)鍵幀并組織好關(guān)鍵幀序列。
2)PCA數(shù)據(jù)壓縮。經(jīng)過數(shù)據(jù)預(yù)處理之后,各個(gè)樣本已經(jīng)具有了相同的拓?fù)?,可直接?duì)關(guān)鍵幀序列進(jìn)行PCA處理,公式為
式中:K=(k1,k2,…,kn)T,ki=(keyi1,keyi1,…,keyim)T。ki表示m個(gè)關(guān)節(jié)在第i個(gè)關(guān)鍵幀的旋轉(zhuǎn)量,K是樣本的所有關(guān)鍵幀序列,U為通過樣本計(jì)算獲得的協(xié)方差矩陣。
3)建立RBF神經(jīng)網(wǎng)絡(luò)。其函數(shù)定義為
式中:Hi為第i個(gè)樣本所對(duì)應(yīng)的高層參數(shù),F(xiàn)~i為經(jīng)過步驟2)處理后獲得的點(diǎn)集。為了保證數(shù)據(jù)的整齊一致性,所有數(shù)據(jù)必須進(jìn)行歸一化處理。
4)產(chǎn)生新運(yùn)動(dòng)。經(jīng)過步驟3)的處理后,所需的神經(jīng)網(wǎng)絡(luò)已經(jīng)建立完畢。之后,每當(dāng)輸入一個(gè)新的高層參數(shù)H,則可通過上述RBF神經(jīng)網(wǎng)絡(luò)產(chǎn)生該高層參數(shù)所對(duì)應(yīng)的PCA空間點(diǎn)。該高層參數(shù)所對(duì)應(yīng)的關(guān)鍵幀數(shù)據(jù)可通過以下公式獲得:
為了驗(yàn)證所提算法的效率及性能,該文通過Visual C++編程語言進(jìn)行實(shí)驗(yàn),實(shí)現(xiàn)一個(gè)原型系統(tǒng)。該系統(tǒng)的輸入文件為*.bvh,樣本為芭蕾舞演員走路姿態(tài)的各種運(yùn)動(dòng)。相應(yīng)的高層參數(shù)包括抬腳高度、身體起伏、步距等。一些實(shí)驗(yàn)數(shù)據(jù)如圖4所示。
目前,隨著中國電視事業(yè)的飛速發(fā)展,各種動(dòng)畫作品在電視廣告、節(jié)目中隨處可見。針對(duì)傳統(tǒng)動(dòng)畫制作技術(shù)的不足,筆者提出一種基于PCA壓縮并利用RBF神經(jīng)網(wǎng)絡(luò)處理的動(dòng)畫編輯技術(shù),詳細(xì)介紹了算法的設(shè)計(jì)方案。該方法能有利于提高角色動(dòng)畫制作的效率。
[1]GLARDON P,BOULIC R,THALMANN D. PCA-based walking engine using motion capture data[EB/OL].[2010-12-20].http://arnet?miner.org/viewpub.do?pid=85999.
[2]ROSE C,COHEN M,BODENHEIMER B.Verbs and adverbs:mult?mensional motion interpolation[J].IEEE Computer Graphics and Ap?plications,1988,18(5):32-48.
[3]WILEY D,HAHN J.Interpolation synthesis of articulated figure[J].IEEE Computer Graphics and Applications,1997,17(6):39-45.
[4]LIM S,THALMANN D.Construction of animation models out of cap?tured data[C]//Proc.IEEE International Conference on Multimedia and Expo(ICME 2002).[S.l.]:IEEE Press,2002:829-832.