朱 婧
(福建船政交通職業(yè)學(xué)院,福建 福州 350001)
基于Viola-Jones算法的實(shí)時(shí)人物表情動(dòng)畫的制作
朱 婧
(福建船政交通職業(yè)學(xué)院,福建 福州 350001)
結(jié)合計(jì)算機(jī)圖像制作技術(shù),人物表情動(dòng)畫制作有了更先進(jìn)的方式。本次采用Viola-Jones算法對(duì)人臉表情進(jìn)行實(shí)驗(yàn)檢測(cè),根據(jù)算法實(shí)驗(yàn)結(jié)果提出表情動(dòng)畫制作的最佳方式。
Viola-Jones算法;人臉檢測(cè);表情動(dòng)畫;制作
伴隨著計(jì)算機(jī)圖像制作技術(shù)快速發(fā)展,動(dòng)漫產(chǎn)業(yè)對(duì)人物表情形態(tài)制作要求更加嚴(yán)格,選擇一種新型算法輔助人物表情測(cè)算是不可缺少的。人物表情檢測(cè)是動(dòng)畫制作的根本依據(jù),可以為設(shè)計(jì)者提供豐富的表情圖像,但前提是制作出高質(zhì)量的人物表情圖像。實(shí)時(shí)檢測(cè)可以捕捉人物最真實(shí)的表情畫面,配合使用Viola-Jones算法進(jìn)行人臉檢測(cè)處理,可以獲得理想的人物表情動(dòng)畫圖像。
Viola-Jones算法應(yīng)用具有多方面特點(diǎn),例如,舊式計(jì)算機(jī)處理人物圖像的反應(yīng)速度較慢,面對(duì)大面積圖像處理很難快速的提供結(jié)果,延長(zhǎng)了用戶制作動(dòng)畫的操作時(shí)間[1]。采用Viola-Jones算法可在短時(shí)間內(nèi)產(chǎn)生動(dòng)作反應(yīng),無(wú)需直接計(jì)算圖像灰度,結(jié)合積分圖概念、特征探測(cè)器等快速反應(yīng),能夠?qū)Σ煌叨鹊膱D像進(jìn)行局部預(yù)算,第一時(shí)間內(nèi)使用矩形特征(雙矩、三矩和四矩)和積分圖來表征圖像。
動(dòng)畫制作技術(shù)伴隨著計(jì)算機(jī)應(yīng)用科技發(fā)展,不斷演變成一種特殊的圖像制作方式,為動(dòng)漫產(chǎn)業(yè)發(fā)展提供了科技化平臺(tái)?;赩iola-Jones算法的實(shí)時(shí)任務(wù)表情動(dòng)畫制作,重點(diǎn)在于人臉檢測(cè)算法應(yīng)用及其結(jié)果分析,動(dòng)畫設(shè)計(jì)師提供高質(zhì)量的動(dòng)畫制作方案。筆者認(rèn)為,人臉檢測(cè)要從矩形特征、積分圖、等方面進(jìn)行,進(jìn)一步優(yōu)化Viola-Jones算法的操作流程。
2.1 矩形特征
由于動(dòng)畫制作要求逐漸提升,早期計(jì)算機(jī)圖像制作流程已經(jīng)無(wú)法適應(yīng)操作要求,篩選出高科技算法有助于提升動(dòng)畫制作水平。如圖1,模板的值等于白色矩形像素和減去灰色矩形像素和A、B展示了雙矩特征,C表示三矩特征,D表示四矩特征[2]。
圖1 矩形特征示例
2.2 積分圖
圖2 圖像內(nèi)點(diǎn)A(x,y)的積分圖定義為其左上角矩形
所有像素之和,s(x,y)為A(x,y)及其y方向向上所有像素之和(圖3粗黑豎線)
這樣,在m*n大小的圖像中,每個(gè)像素計(jì)算ii(x,y)和s(x,y),m*n*2次計(jì)算即可得到整個(gè)積分圖矩陣。經(jīng)論文中相關(guān)推論可知,矩形特征計(jì)算特征值至于其端點(diǎn)的積分圖有關(guān),與特征模板坐標(biāo)值無(wú)關(guān),故特征值計(jì)算所耗費(fèi)時(shí)間都是常量,且只是簡(jiǎn)單加減,這樣大大提高檢測(cè)速度。
Viola-Jones算法作為人物表情動(dòng)畫制作的先進(jìn)方式,改變了舊時(shí)代動(dòng)畫制作科技的不足,以新模型、新平臺(tái)為基礎(chǔ)展開動(dòng)畫制作。通過人臉檢測(cè)算法執(zhí)行的結(jié)果,設(shè)計(jì)人員可以按照被制作對(duì)象的表情特點(diǎn),設(shè)定相對(duì)配套的程序表述方式,并且按照Viola-Jones算法呈現(xiàn)的結(jié)果,捕捉到人臉的變化差異,進(jìn)而呈現(xiàn)出人物表情的具體內(nèi)容。
3.1 程序表述
實(shí)踐證明,Viola-Jones算法用于人臉檢測(cè)具有多方面的先進(jìn)性,創(chuàng)造出了全新的動(dòng)畫制作算法平臺(tái),擺脫了傳統(tǒng)任務(wù)表情動(dòng)畫應(yīng)用的不足之處。由于程序是用matlab做接口,vc++進(jìn)行實(shí)際檢測(cè),故編譯之前要配置matlab,需要安裝matlab和VC++2005或以上版本。在matlab中輸入mex-setup進(jìn)行安裝與C的接口,然后修改路徑為src,編譯mex FaceDetect.cpp-I../Include/../lib/*.lib-outdir../bin/,編譯通過后即可修改圖片名稱繼而檢測(cè)人臉[3]。
3.2 算法描述
假設(shè)一組樣本有T個(gè)特征,給定包含n個(gè)樣本的訓(xùn)練集{(x1,y1),(x2,y2),…,(xn,yn)},其中yi(i=0,…,n)可取1和0來表示正樣本(是目標(biāo)類型)和負(fù)樣本(非目標(biāo)類型)來從n個(gè)弱分類器中訓(xùn)練強(qiáng)分類器:
(1)對(duì)第一個(gè)特征t=1,初始化各個(gè)弱分類器的權(quán)重w(1,i),通常用經(jīng)驗(yàn)值(1/2m或1/2l設(shè)置,m、l分別是正負(fù)樣本的數(shù)量)設(shè)置;
(2)歸一化權(quán)重w(1,i),…,w(1,n)為q(1,i),…,q(1,n);
(3)對(duì)n個(gè)樣本的T個(gè)特征進(jìn)行訓(xùn)練,得到T個(gè)弱分類器h(f1),…,h(fT),計(jì)算這些分類器對(duì)應(yīng)于所有樣本的錯(cuò)誤率ε(f1)、ε(f2),…,ε(fT);
(4)在n個(gè)錯(cuò)誤率中選出最小錯(cuò)誤率ε(fk),并確定對(duì)應(yīng)弱分類器為最佳弱分類器;
(5)利用最小錯(cuò)誤率ε(fk)對(duì)n個(gè)樣本進(jìn)行權(quán)重調(diào)整:正確分類樣本的權(quán)重加上新系數(shù)(該系數(shù)隨最小錯(cuò)誤率增加而遞增),錯(cuò)誤分類樣本權(quán)重不變;
(6)歸一化n個(gè)新權(quán)重,再對(duì)n個(gè)樣本重新訓(xùn)練,獲得T個(gè)新分類器,計(jì)算這些新分類器對(duì)應(yīng)n個(gè)樣本的錯(cuò)誤率,再選出最小錯(cuò)誤率……直至調(diào)整出新的權(quán)重;
(7)一直訓(xùn)練樣本,直至選出的最佳弱分類器滿足預(yù)定條件,結(jié)束整個(gè)過程。
3.3 制作啟示
(1)背景
為了強(qiáng)化觀眾的視覺效果,現(xiàn)代動(dòng)畫設(shè)計(jì)與制作強(qiáng)調(diào)了背景圖片的重要性,選擇某一種背景圖像來突出主題,這是設(shè)計(jì)師們最常用的方式。Viola-Jones算法實(shí)驗(yàn)發(fā)現(xiàn),過去動(dòng)畫圖像對(duì)背景選擇不夠合理,直接導(dǎo)致人物表情無(wú)法全面展現(xiàn)出來,甚至背景圖像覆蓋了人物表情,制作出的動(dòng)畫圖片不符合設(shè)計(jì)思路。經(jīng)過積分圖測(cè)算實(shí)驗(yàn)分析,人臉表情制作要先考慮背景圖片的選取,再進(jìn)行動(dòng)畫視覺效果的編排處理。不同性別、膚色的樣本選取,而且圖片背景簡(jiǎn)單,人臉面積占較大部分,多為正臉,干擾性小,故實(shí)驗(yàn)效果好[4]。因此,這類表情動(dòng)畫設(shè)計(jì)中,需選擇一些簡(jiǎn)單的圖片背景,重點(diǎn)顯示出人物表情特色,否則背景圖片會(huì)直接影響到人物表情的視覺效果,制作出的動(dòng)畫圖片達(dá)不到預(yù)定效果。
(2)位置
人臉位置對(duì)表情動(dòng)畫制作也有很大的影響,不同角度位置呈現(xiàn)的表情效果不一樣,動(dòng)畫制作時(shí)也要考慮圖片位置的正確處理。本次收集了一些代表性的圖像,以正、負(fù)結(jié)果為檢測(cè)判斷方式,分析了人臉位置對(duì)表情動(dòng)畫的影響。
①正結(jié)果。本次選擇了幾張非真實(shí)人的人像圖,選擇正確的人臉位置進(jìn)行檢測(cè),結(jié)果檢測(cè)到包括頭、臉、兄等部位的大概位置,藍(lán)框內(nèi)真實(shí)目標(biāo)區(qū)域基本反應(yīng)了人臉的表情狀態(tài)。由此可見,表情動(dòng)畫制作需先找準(zhǔn)人臉的基本位置,在目標(biāo)區(qū)域內(nèi)進(jìn)行表情動(dòng)畫的設(shè)計(jì)與制作,這類算法處理結(jié)果與實(shí)際情況基本一致。
②負(fù)結(jié)果。此外,多人臉結(jié)構(gòu)opencv的固有函數(shù)基本失效,會(huì)找錯(cuò)目標(biāo)或干脆丟失目標(biāo)矩形框。此結(jié)果說明,單依靠海爾特征和少量訓(xùn)練效果是不可取的,在實(shí)時(shí)任務(wù)表情捕捉過程中,常常會(huì)出現(xiàn)錯(cuò)位、偏移等問題,無(wú)法捕捉到真實(shí)的人物表現(xiàn),必須重新確定人臉位置,二次捕捉人物表情。
(3)像素
人物表情動(dòng)畫要考慮像素的精確性,選擇高分辨率圖像可以更加清晰地顯現(xiàn)人物表情細(xì)節(jié),體現(xiàn)出Viola-Jones算法的利用價(jià)值。基于Viola-Jones算法啟示下,人物表情動(dòng)畫制作注重“真實(shí)性”,盡可能真實(shí)地反應(yīng)人物在瞬間的表情動(dòng)態(tài),才能體現(xiàn)出人臉、形態(tài)等方面的特征?;赩iola-Jones中利用Adaboost算法建立分類器訓(xùn)練樣本,對(duì)設(shè)計(jì)表情動(dòng)畫執(zhí)行模擬操作,根據(jù)模擬結(jié)果表達(dá)出不同的人物形態(tài),且可抓住某一個(gè)點(diǎn)體現(xiàn)人的表情。若模擬中發(fā)現(xiàn)異常問題,可重新修改動(dòng)畫后二次模擬,以篩分出最優(yōu)質(zhì)的平面動(dòng)畫圖。在掌握現(xiàn)有表情數(shù)據(jù)前提下,預(yù)測(cè)制作后期任務(wù)表情的最終結(jié)果,這也是Viola-Jones算法的主要應(yīng)用。通常,設(shè)計(jì)者可實(shí)現(xiàn)創(chuàng)建分類器的級(jí)聯(lián)結(jié)構(gòu),把視覺注意力集中于表情動(dòng)畫的視覺效果,以人臉圖像為中心,預(yù)測(cè)出人臉動(dòng)態(tài)實(shí)時(shí)變化的重點(diǎn)部分,顯現(xiàn)出表情圖像最為核心的區(qū)域,從而提高了圖像成形后的像素水平。
總之,計(jì)算機(jī)圖像制作技術(shù)實(shí)現(xiàn)了優(yōu)化升級(jí),傳統(tǒng)人臉檢測(cè)算法已經(jīng)無(wú)法適應(yīng)高質(zhì)量動(dòng)畫制作要求,選擇一種新型算法取代傳統(tǒng)檢測(cè)處理是必然趨勢(shì)。本次采用Viola-Jones算法作為檢測(cè)方式,對(duì)人物表情動(dòng)畫提供了最優(yōu)化制作思路。實(shí)驗(yàn)發(fā)現(xiàn),圖像背景、人臉位置是影響人物表情動(dòng)畫制作的關(guān)鍵因素,這是Viola-Jones算法實(shí)驗(yàn)著重體現(xiàn)出來的兩大因素,動(dòng)畫制作人員要注重兩大要素的控制。根據(jù)人臉檢測(cè)實(shí)驗(yàn)與分析結(jié)果,可以充分認(rèn)識(shí)到Viola-Jones算法在人物表情動(dòng)畫制作中的應(yīng)用價(jià)值。
注釋及參考文獻(xiàn):
[1]程日彬,周明全,李春龍.基于二維圖像的三維人臉建模技術(shù)[J].計(jì)算機(jī)工程與應(yīng)用,2006(3).
[2]張娟.基于Flash平臺(tái)的動(dòng)畫制作技術(shù)與實(shí)現(xiàn)[J].安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報(bào),2009(6):25-27.
[3]劉娟.人臉面部表情動(dòng)畫技術(shù)研究及在影視動(dòng)畫中的應(yīng)用[J].青海大學(xué)學(xué)報(bào)(自然科學(xué)版),2011(1):82-87.
[4]周建華.基于特征點(diǎn)配準(zhǔn)形變的三維人臉表情合成[J].西安文理學(xué)院學(xué)報(bào)(自然科學(xué)版),2010(4):71-74.
Making Real-time Character Animation Based on Viola-JonesAlgorithm
ZHU Jing
(Fujian Chuanzheng Communications College,Fuzhou,Fujian 350001)
Combined with computer image technology,facial expression animation has more advanced mode.Viola-Jones algorithm is used for detection of facial expression,put forward the best way of expression animation according to the experiment results.
Viola-Jones algorithm;face detection;facial animation;production
TP391.41
A
1673-1891(2015)02-0062-03
2015-01-27
朱婧(1981-),女,江西南昌人,講師,工程碩士,研究方向:圖形圖像、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)。