表演二維表情動(dòng)畫思索

時(shí)間:2022-06-08 02:59:00

導(dǎo)語:表演二維表情動(dòng)畫思索一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

表演二維表情動(dòng)畫思索

在卡通動(dòng)畫制作中,如何創(chuàng)作出形象生動(dòng)的卡通表情動(dòng)畫是一個(gè)值得討論的問題.完全依靠動(dòng)畫師手工完成的卡通表情動(dòng)畫不但難以確保其效果生動(dòng)、形象,而且對(duì)動(dòng)畫師的制作技術(shù)、經(jīng)驗(yàn)和工作量也是一種挑戰(zhàn).如何自動(dòng)或半自動(dòng)地生成出較為生動(dòng)形象的表情動(dòng)畫,已成為CAD領(lǐng)域的一個(gè)熱門話題,也是學(xué)術(shù)界和產(chǎn)業(yè)界共同關(guān)心的問題.事實(shí)上,在卡通人臉動(dòng)畫制作中,靜態(tài)二維卡通人臉圖像的繪制對(duì)于動(dòng)畫師而言并非難事,且隨著光學(xué)運(yùn)動(dòng)捕獲系統(tǒng)的使用,稀疏二維動(dòng)態(tài)人臉表情數(shù)據(jù)的獲取也越來越容易和普及.因此,基于靜態(tài)二維卡通人臉圖像及動(dòng)態(tài)人臉表情數(shù)據(jù)融合,高效生成二維卡通人臉表情動(dòng)畫是一個(gè)可行的思路.本文使用靜態(tài)二維卡通人臉圖像,配合動(dòng)作捕獲設(shè)備獲取的表情數(shù)據(jù)進(jìn)行人臉表情動(dòng)畫生成.輸入的人臉圖像首先被矢量化,并隨之對(duì)人臉五官區(qū)域進(jìn)行劃分;進(jìn)而將捕獲得到的二維人臉表情數(shù)據(jù)重定向到卡通人臉矢量圖上;最后使用移動(dòng)最小二乘[1](movingleastsquares,MLS)算法對(duì)矢量人臉的面部及五官進(jìn)行變形,以自動(dòng)合成與原始表情數(shù)據(jù)類似的卡通人臉動(dòng)畫.

1相關(guān)工作

現(xiàn)有的人臉表情動(dòng)畫制作技術(shù)主要分為以下幾類:1)基于關(guān)鍵幀插值的動(dòng)畫制作技術(shù).動(dòng)畫師制作若干關(guān)鍵幀表情,通過差值生成2幀之間的過渡幀,這類方法被稱為關(guān)鍵幀差值方法.傳統(tǒng)的二維卡通動(dòng)畫制作大多采用這類方法,其優(yōu)點(diǎn)是簡單、便捷,有經(jīng)驗(yàn)的動(dòng)畫師通過制作高質(zhì)量的關(guān)鍵幀就可以做出較生動(dòng)的卡通動(dòng)畫;同時(shí)作為許多前沿的動(dòng)畫制作技術(shù)的基本框架[2],它有很強(qiáng)的兼容性.但這類方法的效果依賴于關(guān)鍵幀的質(zhì)量和數(shù)目,對(duì)動(dòng)畫師的經(jīng)驗(yàn)要求較高,也無法生成較為復(fù)雜的人臉表情變化.2)基于參數(shù)化的表情動(dòng)畫制作技術(shù).此類方法將人臉表情抽象成若干不同的參數(shù),用戶只需要調(diào)整參數(shù)即可實(shí)現(xiàn)不同表情之間的變化.最常用的參數(shù)化方法有面部動(dòng)作編碼系統(tǒng)[3](facialactioncodingsystem,F(xiàn)ACS)和MPEG-4[4]的人臉動(dòng)畫驅(qū)動(dòng)方法.此類方法在組合的參數(shù)相互之間產(chǎn)生沖突時(shí)大多缺乏調(diào)度機(jī)制,導(dǎo)致表情不自然;同時(shí)為了得到某一個(gè)特定的表情需要調(diào)整很多參數(shù),這需要煩瑣的手工調(diào)試.3)基于混合模型的表情動(dòng)畫制作技術(shù).此類方法在三維動(dòng)畫中被廣泛應(yīng)用,其思路是不考慮人臉的物理屬性,而是直接采用一組三維表情模型(即變形目標(biāo))來定義一個(gè)線性空間,新的人臉表情由這組模型的線性組合來構(gòu)成[5-6].此類方法直觀方便,但缺點(diǎn)是變形目標(biāo)的創(chuàng)建過程復(fù)雜,需要大量藝術(shù)家的工作;且當(dāng)變形目標(biāo)的數(shù)量較大時(shí),模型線性組合系數(shù)的人工調(diào)整會(huì)較煩瑣,致使動(dòng)畫師難以實(shí)現(xiàn)制作意圖.4)基于表演驅(qū)動(dòng)的表情動(dòng)畫制作技術(shù).此類方法是請(qǐng)演員來表演一段表情,然后使用這段表情數(shù)據(jù)來驅(qū)動(dòng)卡通形象做出相同的表情.捕獲表情的過程又分為使用動(dòng)作捕獲設(shè)備捕獲表情和普通表情視頻驅(qū)動(dòng)2種類型,前者驅(qū)動(dòng)的動(dòng)畫較為生動(dòng)形象[7-8],而后者的優(yōu)點(diǎn)在于數(shù)據(jù)捕獲更加方便快捷[9-10].該類方法較為高效,且能夠生成相對(duì)形象的表情動(dòng)畫,因此其在表情動(dòng)畫制作中的應(yīng)用日益廣泛;但其運(yùn)動(dòng)數(shù)據(jù)與人臉模型融合的步驟仍然需要大量的人工干預(yù).相對(duì)以上卡通動(dòng)畫制作方法,本文提出的卡通人臉合成方法主要具有高效性和易用性的特點(diǎn).在整個(gè)驅(qū)動(dòng)流程中,除指派輪廓線到特定的面部器官和在卡通表情上設(shè)置相應(yīng)的特征點(diǎn)這2個(gè)步驟需要用戶交互以外,其余部分都可以自動(dòng)實(shí)時(shí)完成,因此只需動(dòng)畫師制作一張靜態(tài)人臉的卡通形象,以及演員在鏡頭面前表演相應(yīng)表情,即可快速地生成表情動(dòng)畫.整個(gè)算法流程圖如圖1所示.

2卡通人臉矢量化

輸入的卡通人臉圖像一般有位圖和矢量圖2種形式.相對(duì)于位圖,矢量圖可以在后續(xù)變形中被直接方便地使用,且存儲(chǔ)效率較高;此外,矢量圖也有利于處理噪聲、修正量化誤差,從而提高編輯效率和實(shí)際變形效果.本文方法以矢量圖作為卡通人臉表情動(dòng)畫合成的輸入,所以當(dāng)用戶提供的卡通人臉為普通圖像時(shí),需要預(yù)先對(duì)其進(jìn)行矢量化.此外,在矢量化人臉的基礎(chǔ)上,還需要將矢量圖中的曲線集合指派給不同面部器官,從而實(shí)現(xiàn)對(duì)不同面部器官分別進(jìn)行驅(qū)動(dòng)變形的目的.卡通人臉圖像矢量化一般由輪廓提取與跟蹤、輪廓特征點(diǎn)抽取以及輪廓矢量化3部分工作構(gòu)成.關(guān)于這方面的研究已經(jīng)有很多,如文獻(xiàn)[11-12]等.本文基本采用文獻(xiàn)[12]描述的矢量化流程,并將面部五官指派的步驟整合在輪廓跟蹤中進(jìn)行,其流程如圖2所示.

2.1輪廓抽取與五官輪廓指派

由于卡通人臉及五官輪廓一般比較清晰,圖像構(gòu)成色塊明顯,因此只需將原始圖像轉(zhuǎn)化為灰度圖像,即可采用邊緣檢測算法提取其輪廓.本文使用Canny邊緣檢測算法進(jìn)行輪廓提取;為了消除該算法產(chǎn)生的噪聲,在進(jìn)行下一步工作之前還需進(jìn)行數(shù)學(xué)形態(tài)學(xué)的膨脹和骨架抽取操作,這樣既可以保證得到的邊緣信息不失真,又達(dá)到了消除細(xì)微噪點(diǎn)的目的.圖3展示了輪廓抽取以及五官指派的結(jié)果,其中輪廓跟蹤的結(jié)果已區(qū)分,不同的面部器官分別保存.圖3輪廓抽取和五官指派結(jié)果為了利用表情捕獲數(shù)據(jù)驅(qū)動(dòng)人臉五官,需要將每條輪廓指派給某個(gè)特定的面部器官(包括臉、眼鏡、眉毛、鼻子、嘴),這個(gè)步驟可通過用戶手動(dòng)操作來完成.在用戶選取了某條輪廓上的點(diǎn)時(shí),系統(tǒng)將以此點(diǎn)作為根節(jié)點(diǎn)來跟蹤輪廓,并將跟蹤得出的輪廓賦于相應(yīng)的面部器官.輪廓跟蹤采用常用的像素八鄰域搜索算法,即在當(dāng)前點(diǎn)的八鄰域中搜索下一個(gè)點(diǎn).但由于骨骼抽取后的邊緣可能存在“雙重邊”(既寬度為2的邊),所以本文對(duì)像素八鄰域搜索算法加以調(diào)整:即在得到每個(gè)新點(diǎn)之后,將其八鄰域全部標(biāo)記為“已檢測”,然后在八鄰域外的區(qū)域搜索下一個(gè)邊界點(diǎn)(如圖4所示,圖中黑色部分為特征邊緣.標(biāo)記Vi的像素為被識(shí)別的邊界;標(biāo)記C的像素為標(biāo)記為“已檢測”的像素;“雙重邊”如(1,2)、(1,3)、(2,2)和(2,3)).由于骨骼抽取后的邊緣寬度最大為2,所以該算法可以避免由雙重邊導(dǎo)致的搜索回溯甚至搜索中止,其具體步驟如下:Step1.建立輔助矩陣M,以保存每個(gè)點(diǎn)是否已訪問,將M初始化為FALSE.Step2.由用戶選取曲線上某點(diǎn)作為根節(jié)點(diǎn).Step3.初始化搜索尺度s=1,以當(dāng)前節(jié)點(diǎn)為中心、邊長為2s+1按照順時(shí)針方向搜索正方形邊上的點(diǎn)(當(dāng)s=1時(shí),此正方形邊上的點(diǎn)代表節(jié)點(diǎn)的八鄰域).a(chǎn))當(dāng)搜索到一個(gè)邊界節(jié)點(diǎn)時(shí),檢測其已訪問性;若已訪問,則繼續(xù)進(jìn)行搜索;若未訪問,則將此點(diǎn)加入邊界點(diǎn)列數(shù)組中,并將其八鄰域內(nèi)各個(gè)點(diǎn)均設(shè)為已訪問,然后將此點(diǎn)作為根節(jié)點(diǎn)重復(fù)Step2;b)若未搜索到下一節(jié)點(diǎn),則認(rèn)為遇到斷邊溝,將s+=1重復(fù)Step2;Step4.當(dāng)搜索尺度s大于一個(gè)特定值,則循環(huán)結(jié)束,此時(shí)的邊界點(diǎn)列數(shù)組即為跟蹤所得的邊界輪廓.

2.2輪廓特征點(diǎn)抽取與矢量化

通過輪廓抽取與輪廓跟蹤步驟得到的輪廓是細(xì)密排列的邊界點(diǎn)列,需要在這些輪廓點(diǎn)中抽取特征點(diǎn)作為錨點(diǎn),再經(jīng)過曲線擬合得到與原始圖像相近的矢量化結(jié)果.本文采用曲線簡化算法經(jīng)過輪廓特征點(diǎn)抽取,原始曲線被處理為一系列特征點(diǎn)的集合,這些點(diǎn)反映了原始圖像的邊緣信息.下一步需要基于特征點(diǎn)集合對(duì)原始人臉圖像中的輪廓邊緣信息進(jìn)行矢量化,即曲線擬合.本文采用Bézier曲線來擬合原始輪廓邊緣,Bézier曲線擬合出的是經(jīng)過所有特征點(diǎn)的光滑曲線,這可能與原始圖像有一定的出入,但一般情況下,這種誤差是可以接受的.部分卡通人臉圖像矢量化結(jié)果如圖6所示.

3表情重定向及驅(qū)動(dòng)

3.1表情數(shù)據(jù)捕獲

在實(shí)驗(yàn)中,本文利用自主研發(fā)的近紅外光學(xué)運(yùn)動(dòng)捕獲系統(tǒng)來采集二維表情數(shù)據(jù),其硬件設(shè)備為一臺(tái)或多臺(tái)近紅外高速攝像機(jī);該系統(tǒng)能夠通過對(duì)粘貼與人臉表面的特殊反光材質(zhì)標(biāo)記點(diǎn)進(jìn)行自動(dòng)捕獲與跟蹤.由于近紅外攝像機(jī)成像時(shí)能夠過濾掉除近紅外光線外其他頻譜的光線,且粘貼與人臉表面的反光標(biāo)記對(duì)LED近紅外光源發(fā)出的光線具有非常高的反射率,因此能夠很容易地獲取二維人臉表情數(shù)據(jù).圖7所示為系統(tǒng)所采用的近紅外攝像機(jī)及表情捕獲結(jié)果的截圖.

3.2表情重定向

從某個(gè)演員面部采集得到的表情數(shù)據(jù)并不能直接用來驅(qū)動(dòng)動(dòng)畫師預(yù)先繪制好的卡通人臉圖像,因?yàn)樵慈四槪ㄕ鎸?shí)演員人臉)和目標(biāo)人臉(卡通人臉)在形狀甚至結(jié)構(gòu)上都會(huì)有所差異,如果直接用源人臉表情數(shù)據(jù)對(duì)卡通人臉進(jìn)行驅(qū)動(dòng),則會(huì)造成卡通人臉形狀的較大失真與風(fēng)格丟失.基于以上理由,在表情驅(qū)動(dòng)繪制之前需要對(duì)表情數(shù)據(jù)進(jìn)行重定向,其大致思路如圖8所示.

4實(shí)驗(yàn)結(jié)果

本文實(shí)驗(yàn)中在人臉上共使用圖9所示20個(gè)標(biāo)記點(diǎn),分別位于下頜、下嘴唇、左右嘴角、上嘴唇、左右顴骨、左右鼻翼、眉心、雙眼的上下邊緣、左右眉的兩端,以及左右眉的上部.本文采用自行研制的近紅外光學(xué)運(yùn)動(dòng)捕獲系統(tǒng)以60幀?s的幀速率、320×240的分辨率捕獲一系列具有代表性的表情數(shù)據(jù)獲取二維表情數(shù)據(jù),包括驚訝、瞪眼、挑眉和沮喪等.在驅(qū)動(dòng)面部表情變形時(shí),針對(duì)某一面部器官,使用特定的某些標(biāo)記點(diǎn)來驅(qū)動(dòng).表1所示為每個(gè)面部器官對(duì)應(yīng)的驅(qū)動(dòng)點(diǎn)列表.本文采用的捕獲系統(tǒng)運(yùn)行于Windows7平臺(tái),計(jì)算機(jī)配置為Pentium?Dual-CoreCPUE5300@2.6GHz,內(nèi)存為2GB.在整個(gè)實(shí)驗(yàn)過程中,除了人臉器官指派與重定向首幀標(biāo)注需用戶手動(dòng)交互外,其余步驟均能自動(dòng)完成.最終生成相應(yīng)的表情特征視頻,圖10所示視頻截圖.

5總結(jié)與討論

本文詳細(xì)描述了使用動(dòng)作捕獲設(shè)備來驅(qū)動(dòng)二維非真實(shí)卡通表情的一個(gè)較為完備的過程,整個(gè)過程除有兩處需要用戶交互以外,其余部分都可以自動(dòng)、實(shí)時(shí)地完成,得到的結(jié)果可以滿足一般動(dòng)畫制作的需要.對(duì)于需要更加細(xì)致表情表現(xiàn)的動(dòng)畫制作需求,在不要求紋理細(xì)節(jié)的非真實(shí)卡通表情的范疇內(nèi),可適當(dāng)增加標(biāo)記點(diǎn)的設(shè)置個(gè)數(shù)來滿足需求,因此,此流程有一定的拓展性.此外,對(duì)于非真實(shí)夸張風(fēng)格的表情需求,可以結(jié)合論文文獻(xiàn)[14]方法對(duì)捕獲的表情數(shù)據(jù)進(jìn)行LoG濾波,從而用演員非夸張的表情數(shù)據(jù)模擬卡通人物夸張的表情.但此流程也有明顯的不足:

1)其受限制于矢量化技術(shù),第2節(jié)敘述的矢量化方法僅僅適用于紋理簡單的位圖的矢量化,對(duì)較復(fù)雜的位圖可能不能正常的工作:事實(shí)上目前仍沒有完備的位圖矢量化算法.

2)其僅能處理卡通人臉正面表情的變化:由于輸入缺少深度信息,因此無法建立三維數(shù)據(jù)模型,亦無法處理非正面的卡通人臉的情形.下一階段可以考慮用一些自動(dòng)或者半自動(dòng)的方法自動(dòng)生成表情數(shù)據(jù)的深度信息,這樣用戶只需提供在某一時(shí)刻卡通人物的面部朝向,既可將此方法生成出的卡通表情動(dòng)畫移植至任何動(dòng)畫片段中,而不是僅僅拘泥于正面的表情動(dòng)畫的生成.