表演二維表情動畫思索
時間:2022-06-08 02:59:00
導語:表演二維表情動畫思索一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
在卡通動畫制作中,如何創作出形象生動的卡通表情動畫是一個值得討論的問題.完全依靠動畫師手工完成的卡通表情動畫不但難以確保其效果生動、形象,而且對動畫師的制作技術、經驗和工作量也是一種挑戰.如何自動或半自動地生成出較為生動形象的表情動畫,已成為CAD領域的一個熱門話題,也是學術界和產業界共同關心的問題.事實上,在卡通人臉動畫制作中,靜態二維卡通人臉圖像的繪制對于動畫師而言并非難事,且隨著光學運動捕獲系統的使用,稀疏二維動態人臉表情數據的獲取也越來越容易和普及.因此,基于靜態二維卡通人臉圖像及動態人臉表情數據融合,高效生成二維卡通人臉表情動畫是一個可行的思路.本文使用靜態二維卡通人臉圖像,配合動作捕獲設備獲取的表情數據進行人臉表情動畫生成.輸入的人臉圖像首先被矢量化,并隨之對人臉五官區域進行劃分;進而將捕獲得到的二維人臉表情數據重定向到卡通人臉矢量圖上;最后使用移動最小二乘[1](movingleastsquares,MLS)算法對矢量人臉的面部及五官進行變形,以自動合成與原始表情數據類似的卡通人臉動畫.
1相關工作
現有的人臉表情動畫制作技術主要分為以下幾類:1)基于關鍵幀插值的動畫制作技術.動畫師制作若干關鍵幀表情,通過差值生成2幀之間的過渡幀,這類方法被稱為關鍵幀差值方法.傳統的二維卡通動畫制作大多采用這類方法,其優點是簡單、便捷,有經驗的動畫師通過制作高質量的關鍵幀就可以做出較生動的卡通動畫;同時作為許多前沿的動畫制作技術的基本框架[2],它有很強的兼容性.但這類方法的效果依賴于關鍵幀的質量和數目,對動畫師的經驗要求較高,也無法生成較為復雜的人臉表情變化.2)基于參數化的表情動畫制作技術.此類方法將人臉表情抽象成若干不同的參數,用戶只需要調整參數即可實現不同表情之間的變化.最常用的參數化方法有面部動作編碼系統[3](facialactioncodingsystem,FACS)和MPEG-4[4]的人臉動畫驅動方法.此類方法在組合的參數相互之間產生沖突時大多缺乏調度機制,導致表情不自然;同時為了得到某一個特定的表情需要調整很多參數,這需要煩瑣的手工調試.3)基于混合模型的表情動畫制作技術.此類方法在三維動畫中被廣泛應用,其思路是不考慮人臉的物理屬性,而是直接采用一組三維表情模型(即變形目標)來定義一個線性空間,新的人臉表情由這組模型的線性組合來構成[5-6].此類方法直觀方便,但缺點是變形目標的創建過程復雜,需要大量藝術家的工作;且當變形目標的數量較大時,模型線性組合系數的人工調整會較煩瑣,致使動畫師難以實現制作意圖.4)基于表演驅動的表情動畫制作技術.此類方法是請演員來表演一段表情,然后使用這段表情數據來驅動卡通形象做出相同的表情.捕獲表情的過程又分為使用動作捕獲設備捕獲表情和普通表情視頻驅動2種類型,前者驅動的動畫較為生動形象[7-8],而后者的優點在于數據捕獲更加方便快捷[9-10].該類方法較為高效,且能夠生成相對形象的表情動畫,因此其在表情動畫制作中的應用日益廣泛;但其運動數據與人臉模型融合的步驟仍然需要大量的人工干預.相對以上卡通動畫制作方法,本文提出的卡通人臉合成方法主要具有高效性和易用性的特點.在整個驅動流程中,除指派輪廓線到特定的面部器官和在卡通表情上設置相應的特征點這2個步驟需要用戶交互以外,其余部分都可以自動實時完成,因此只需動畫師制作一張靜態人臉的卡通形象,以及演員在鏡頭面前表演相應表情,即可快速地生成表情動畫.整個算法流程圖如圖1所示.
2卡通人臉矢量化
輸入的卡通人臉圖像一般有位圖和矢量圖2種形式.相對于位圖,矢量圖可以在后續變形中被直接方便地使用,且存儲效率較高;此外,矢量圖也有利于處理噪聲、修正量化誤差,從而提高編輯效率和實際變形效果.本文方法以矢量圖作為卡通人臉表情動畫合成的輸入,所以當用戶提供的卡通人臉為普通圖像時,需要預先對其進行矢量化.此外,在矢量化人臉的基礎上,還需要將矢量圖中的曲線集合指派給不同面部器官,從而實現對不同面部器官分別進行驅動變形的目的.卡通人臉圖像矢量化一般由輪廓提取與跟蹤、輪廓特征點抽取以及輪廓矢量化3部分工作構成.關于這方面的研究已經有很多,如文獻[11-12]等.本文基本采用文獻[12]描述的矢量化流程,并將面部五官指派的步驟整合在輪廓跟蹤中進行,其流程如圖2所示.
2.1輪廓抽取與五官輪廓指派
由于卡通人臉及五官輪廓一般比較清晰,圖像構成色塊明顯,因此只需將原始圖像轉化為灰度圖像,即可采用邊緣檢測算法提取其輪廓.本文使用Canny邊緣檢測算法進行輪廓提取;為了消除該算法產生的噪聲,在進行下一步工作之前還需進行數學形態學的膨脹和骨架抽取操作,這樣既可以保證得到的邊緣信息不失真,又達到了消除細微噪點的目的.圖3展示了輪廓抽取以及五官指派的結果,其中輪廓跟蹤的結果已區分,不同的面部器官分別保存.圖3輪廓抽取和五官指派結果為了利用表情捕獲數據驅動人臉五官,需要將每條輪廓指派給某個特定的面部器官(包括臉、眼鏡、眉毛、鼻子、嘴),這個步驟可通過用戶手動操作來完成.在用戶選取了某條輪廓上的點時,系統將以此點作為根節點來跟蹤輪廓,并將跟蹤得出的輪廓賦于相應的面部器官.輪廓跟蹤采用常用的像素八鄰域搜索算法,即在當前點的八鄰域中搜索下一個點.但由于骨骼抽取后的邊緣可能存在“雙重邊”(既寬度為2的邊),所以本文對像素八鄰域搜索算法加以調整:即在得到每個新點之后,將其八鄰域全部標記為“已檢測”,然后在八鄰域外的區域搜索下一個邊界點(如圖4所示,圖中黑色部分為特征邊緣.標記Vi的像素為被識別的邊界;標記C的像素為標記為“已檢測”的像素;“雙重邊”如(1,2)、(1,3)、(2,2)和(2,3)).由于骨骼抽取后的邊緣寬度最大為2,所以該算法可以避免由雙重邊導致的搜索回溯甚至搜索中止,其具體步驟如下:Step1.建立輔助矩陣M,以保存每個點是否已訪問,將M初始化為FALSE.Step2.由用戶選取曲線上某點作為根節點.Step3.初始化搜索尺度s=1,以當前節點為中心、邊長為2s+1按照順時針方向搜索正方形邊上的點(當s=1時,此正方形邊上的點代表節點的八鄰域).a)當搜索到一個邊界節點時,檢測其已訪問性;若已訪問,則繼續進行搜索;若未訪問,則將此點加入邊界點列數組中,并將其八鄰域內各個點均設為已訪問,然后將此點作為根節點重復Step2;b)若未搜索到下一節點,則認為遇到斷邊溝,將s+=1重復Step2;Step4.當搜索尺度s大于一個特定值,則循環結束,此時的邊界點列數組即為跟蹤所得的邊界輪廓.
2.2輪廓特征點抽取與矢量化
通過輪廓抽取與輪廓跟蹤步驟得到的輪廓是細密排列的邊界點列,需要在這些輪廓點中抽取特征點作為錨點,再經過曲線擬合得到與原始圖像相近的矢量化結果.本文采用曲線簡化算法經過輪廓特征點抽取,原始曲線被處理為一系列特征點的集合,這些點反映了原始圖像的邊緣信息.下一步需要基于特征點集合對原始人臉圖像中的輪廓邊緣信息進行矢量化,即曲線擬合.本文采用Bézier曲線來擬合原始輪廓邊緣,Bézier曲線擬合出的是經過所有特征點的光滑曲線,這可能與原始圖像有一定的出入,但一般情況下,這種誤差是可以接受的.部分卡通人臉圖像矢量化結果如圖6所示.
3表情重定向及驅動
3.1表情數據捕獲
在實驗中,本文利用自主研發的近紅外光學運動捕獲系統來采集二維表情數據,其硬件設備為一臺或多臺近紅外高速攝像機;該系統能夠通過對粘貼與人臉表面的特殊反光材質標記點進行自動捕獲與跟蹤.由于近紅外攝像機成像時能夠過濾掉除近紅外光線外其他頻譜的光線,且粘貼與人臉表面的反光標記對LED近紅外光源發出的光線具有非常高的反射率,因此能夠很容易地獲取二維人臉表情數據.圖7所示為系統所采用的近紅外攝像機及表情捕獲結果的截圖.
3.2表情重定向
從某個演員面部采集得到的表情數據并不能直接用來驅動動畫師預先繪制好的卡通人臉圖像,因為源人臉(真實演員人臉)和目標人臉(卡通人臉)在形狀甚至結構上都會有所差異,如果直接用源人臉表情數據對卡通人臉進行驅動,則會造成卡通人臉形狀的較大失真與風格丟失.基于以上理由,在表情驅動繪制之前需要對表情數據進行重定向,其大致思路如圖8所示.
4實驗結果
本文實驗中在人臉上共使用圖9所示20個標記點,分別位于下頜、下嘴唇、左右嘴角、上嘴唇、左右顴骨、左右鼻翼、眉心、雙眼的上下邊緣、左右眉的兩端,以及左右眉的上部.本文采用自行研制的近紅外光學運動捕獲系統以60幀?s的幀速率、320×240的分辨率捕獲一系列具有代表性的表情數據獲取二維表情數據,包括驚訝、瞪眼、挑眉和沮喪等.在驅動面部表情變形時,針對某一面部器官,使用特定的某些標記點來驅動.表1所示為每個面部器官對應的驅動點列表.本文采用的捕獲系統運行于Windows7平臺,計算機配置為Pentium?Dual-CoreCPUE5300@2.6GHz,內存為2GB.在整個實驗過程中,除了人臉器官指派與重定向首幀標注需用戶手動交互外,其余步驟均能自動完成.最終生成相應的表情特征視頻,圖10所示視頻截圖.
5總結與討論
本文詳細描述了使用動作捕獲設備來驅動二維非真實卡通表情的一個較為完備的過程,整個過程除有兩處需要用戶交互以外,其余部分都可以自動、實時地完成,得到的結果可以滿足一般動畫制作的需要.對于需要更加細致表情表現的動畫制作需求,在不要求紋理細節的非真實卡通表情的范疇內,可適當增加標記點的設置個數來滿足需求,因此,此流程有一定的拓展性.此外,對于非真實夸張風格的表情需求,可以結合論文文獻[14]方法對捕獲的表情數據進行LoG濾波,從而用演員非夸張的表情數據模擬卡通人物夸張的表情.但此流程也有明顯的不足:
1)其受限制于矢量化技術,第2節敘述的矢量化方法僅僅適用于紋理簡單的位圖的矢量化,對較復雜的位圖可能不能正常的工作:事實上目前仍沒有完備的位圖矢量化算法.
2)其僅能處理卡通人臉正面表情的變化:由于輸入缺少深度信息,因此無法建立三維數據模型,亦無法處理非正面的卡通人臉的情形.下一階段可以考慮用一些自動或者半自動的方法自動生成表情數據的深度信息,這樣用戶只需提供在某一時刻卡通人物的面部朝向,既可將此方法生成出的卡通表情動畫移植至任何動畫片段中,而不是僅僅拘泥于正面的表情動畫的生成.
- 上一篇:人保局非法用工整治通知
- 下一篇:市政辦鎮級公路整治方案