鄭立國(guó),孫亦南
(吉林禹碩動(dòng)漫游戲科技股份有限公司,長(zhǎng)春130012)
隨著計(jì)算機(jī)技術(shù)的發(fā)展,動(dòng)漫領(lǐng)域中的人物形象已經(jīng)從手工逐幀繪制全面轉(zhuǎn)移到利用諸如Maya等專業(yè)的動(dòng)漫制作軟件中。動(dòng)畫(huà)人物的動(dòng)作實(shí)現(xiàn)也由設(shè)計(jì)人員在專業(yè)軟件中設(shè)計(jì)關(guān)鍵幀骨骼動(dòng)畫(huà)轉(zhuǎn)變?yōu)橥ㄟ^(guò)專業(yè)的動(dòng)作捕捉系統(tǒng)實(shí)時(shí)捕捉真實(shí)演員的動(dòng)作實(shí)現(xiàn),如電影《魔戒》、《金剛》、《極地特快》等。
2009年上映的好萊塢電影《阿凡達(dá)》中納美人栩栩如生的面部表情,給觀眾帶來(lái)了巨大的震撼。它將人類面部表情的識(shí)別和制作帶到一個(gè)新的高度。導(dǎo)演卡梅隆協(xié)同維塔工作室開(kāi)發(fā)了一套全新的表情捕捉系統(tǒng)。該系統(tǒng)的核心是面部捕捉頭戴設(shè)備[1](Facial Capture Head Rig)。該設(shè)備是一款特制的安裝了微縮高清攝像頭的無(wú)邊帽子,表演時(shí),在演員面部特定部位涂抹綠色的跟蹤點(diǎn)并與CG角色面部的相應(yīng)位置進(jìn)行了精密的綁定。演員表演過(guò)程中,攝像頭實(shí)時(shí)記錄跟蹤點(diǎn)的位置變化信息,從而反應(yīng)到CG角色的相應(yīng)位置,體現(xiàn)出真實(shí)的表情變化。隨著《阿凡達(dá)》的空前成功,面部表情識(shí)別技術(shù)和設(shè)備近幾年也得到了快速發(fā)展,出現(xiàn)了多種采用單一或多個(gè)攝像頭進(jìn)行視頻采集的設(shè)備[2-5]。但這些設(shè)備都是采用和《阿凡達(dá)》類似的粘貼或涂抹跟蹤點(diǎn)的方式,只是跟蹤點(diǎn)的類型和數(shù)量不同。
在動(dòng)漫制作領(lǐng)域,一個(gè)或多個(gè)角色的表情都是動(dòng)漫設(shè)計(jì)人員制作的,角色的表情是其設(shè)計(jì)人員的真實(shí)反映。理想狀態(tài)下,角色的表情就是設(shè)計(jì)人員的表情。通過(guò)目前的表情識(shí)別設(shè)備捕捉設(shè)計(jì)人員的表情再和CG角色綁定,顯然是不方便的。如何更便捷、實(shí)時(shí)地將二者結(jié)合起來(lái),是目前動(dòng)漫制作領(lǐng)域中需要考慮的問(wèn)題。
圖1 架構(gòu)圖Fig.1 Architecture diagram
本文嘗試不使用跟蹤點(diǎn)的方式捕捉設(shè)計(jì)人員的表情,完全通過(guò)計(jì)算機(jī)視覺(jué)中圖像處理和模式識(shí)別技術(shù),識(shí)別其面部如眉毛、眼睛、嘴唇等關(guān)鍵特征部位的變化。通過(guò)與CG角色面部的相應(yīng)位置進(jìn)行綁定,實(shí)時(shí)生成角色的表情。
硬件上,本系統(tǒng)僅采用一臺(tái)普通高清彩色攝像頭,將其放置在動(dòng)漫設(shè)計(jì)人員所使用電腦屏幕的上方,能夠捕捉其正面面部特征即可。這樣,設(shè)計(jì)人員可以即時(shí)表演,即時(shí)獲得CG角色的表情效果,從而可以實(shí)時(shí)調(diào)整自己的表演,修改CG角色的效果。
軟件實(shí)現(xiàn)上,首先要確定人臉的位置,才能在此基礎(chǔ)上進(jìn)行表情捕捉,本文將眉毛、眼睛、嘴巴等7個(gè)關(guān)鍵點(diǎn)做為表情捕捉的基本關(guān)鍵點(diǎn),將其與CG角色的相應(yīng)位置進(jìn)行綁定,完成CG角色面部表情的即時(shí)生成。軟件的整體架構(gòu)如圖1所示。
由于本系統(tǒng)沒(méi)有額外限制使用者相對(duì)于攝像頭的位置,在取得的視頻中,不僅包含使用者的面部信息,也包括背景信息。所以,第一步需要檢測(cè)使用者面部所在位置。在此區(qū)域內(nèi),進(jìn)行后繼的識(shí)別。
目前,人臉檢測(cè)技術(shù)發(fā)展比較成熟,已經(jīng)實(shí)現(xiàn)了多種算法并取得良好的效果。本文利用Intel公司提供的開(kāi)源OpenCV視覺(jué)庫(kù)[6]做為基礎(chǔ),調(diào)用OpenCV提供的人臉檢測(cè)函數(shù)對(duì)視頻中的每一幀進(jìn)行人臉識(shí)別,識(shí)別出的結(jié)果用紅色方框來(lái)表示。根據(jù)實(shí)驗(yàn),正面人臉,頭部?jī)A斜程度不高時(shí),有很高的識(shí)別率,但側(cè)面人臉的識(shí)別率比較低。識(shí)別結(jié)果如圖2所示。
檢測(cè)到人臉后,識(shí)別區(qū)域被限制在這一矩形區(qū)域內(nèi),額外的背景就可以被有效的剔除掉。
圖2 識(shí)別結(jié)果Fig.2 Result of face detection
由于人臉的固有特征,眉毛在人臉的位置大致可以確定。通過(guò)試驗(yàn),本文截取人臉矩形區(qū)域自上1/5處到1/3處的圖像,其中必然包含眉毛的圖像且能夠減少頭發(fā)對(duì)識(shí)別的影響。
由于拍攝的是彩色圖像,需要對(duì)其做如下預(yù)處理:
(1)將彩色圖像轉(zhuǎn)換為灰度圖像,并進(jìn)行直方圖優(yōu)化;
(2)對(duì)灰度圖采用Ostu最優(yōu)閾值變換方法,將灰度圖轉(zhuǎn)換為二值圖像;
(3)對(duì)二值圖像采用數(shù)學(xué)形態(tài)學(xué)的腐蝕、膨脹操作,去除圖像相對(duì)孤立的噪點(diǎn)。
此時(shí)得到的眉毛區(qū)域二值圖像如圖3所示。
圖3 眉毛的二值圖Fig.3 Binary image of eyebrow
預(yù)處理之后,基本可以將一些潛在的非眉毛區(qū)域的影響消除。在此基礎(chǔ)上,根據(jù)眉毛的物理特點(diǎn),對(duì)左右眉毛分別向Y軸投影,以5個(gè)像素為一個(gè)區(qū)間,統(tǒng)計(jì)每個(gè)區(qū)間中白色像素的個(gè)數(shù),其中白色像素最多的區(qū)間就是眉毛所在的區(qū)域。在該區(qū)域,統(tǒng)計(jì)白色像素的坐標(biāo),求得白色像素的重心,就是眉毛的中心點(diǎn)。
和眉毛的處理類似,根據(jù)眼睛的物理位置,本文截取人臉矩形區(qū)域自上1/3處開(kāi)始,高度為人臉矩形高度的1/5的矩形區(qū)域,作為眼睛所在的區(qū)域。并同樣按照上節(jié)眉毛所進(jìn)行的預(yù)處理步驟對(duì)此區(qū)域的彩色圖像進(jìn)行處理,盡可能消除噪聲的影響。
本文進(jìn)行眼睛閉合狀態(tài)的判斷以及眼球位置的識(shí)別。由于眼皮的膚色和非眼睛區(qū)域的膚色相當(dāng)接近,所以在眼睛閉合時(shí),預(yù)處理得到的二值圖像中,黑色像素很少,基本上是眼睫毛的表現(xiàn)。而眼睛睜開(kāi)時(shí),由于眼球是黑色的,眼睛的輪廓處和外圍膚色有一個(gè)顏色突變,所以預(yù)處理后得到的二值圖像,黑色像素明顯比眼睛閉合時(shí)多很多。眼睛睜開(kāi)時(shí)如圖4所示,閉合時(shí)如圖5所示。
圖4 眼睛睜開(kāi)圖像Fig.4 Binary image of opening eyes
圖5 眼睛閉合圖像Fig.5 Binary im age of closing eyes
所以,本文對(duì)左右眼分別向X軸方向投影,統(tǒng)計(jì)每一列黑色像素的個(gè)數(shù)。設(shè)定一個(gè)閾值,小于這個(gè)閾值的列認(rèn)為不是眼球所在的區(qū)域,大于此閾值的則認(rèn)為是眼球潛在區(qū)域。如果所有列黑色像素的個(gè)數(shù)都小于該閾值,則認(rèn)為該眼是閉合的,反之則是睜開(kāi)的。
對(duì)睜開(kāi)的眼睛,繼續(xù)獲得眼球的位置信息。由于眼角等所在列的黑色像素個(gè)數(shù)也有可能大于此閾值,所以對(duì)所有潛在區(qū)域還需要進(jìn)一步區(qū)分。因?yàn)檠矍蛟赬軸投影是一個(gè)連續(xù)黑色區(qū)域且相對(duì)其他黑色區(qū)域?qū)挾茸畲?,所以統(tǒng)計(jì)潛在區(qū)域的所占列的個(gè)數(shù),個(gè)數(shù)最多的區(qū)域即為眼球所在區(qū)域。統(tǒng)計(jì)該區(qū)域黑色像素的重心,即為眼球的中心點(diǎn)。
根據(jù)嘴巴的物理位置特性,截取人臉矩形區(qū)域下1/3部分作為嘴巴的候選區(qū)域。由于嘴巴基本由紅色組成,而其周圍都是大面積的膚色信息,與嘴巴的顏色有較大的區(qū)別,而且沒(méi)有其他非膚色區(qū)域的影響。因此,本文采用膚色識(shí)別方法識(shí)別嘴巴。
同樣使用Intel公司提供的開(kāi)源OpenCV視覺(jué)庫(kù)進(jìn)行膚色分割,調(diào)用OpenCV提供的膚色檢測(cè)函數(shù),對(duì)嘴巴的矩形區(qū)域進(jìn)行膚色分割,將非膚色區(qū)域置為白色,將膚色區(qū)域置為黑色,得到嘴部區(qū)域的二值圖像。對(duì)其進(jìn)行數(shù)學(xué)形態(tài)學(xué)的腐蝕、膨脹操作,以去除圖像噪聲。得到的嘴巴閉合和張開(kāi)的二值圖像分別如圖6、圖7所示。
圖6 嘴巴閉合圖像Fig.6 Binary image of closingmouth
對(duì)此二值圖像,利用OpenCV提供的輪廓跟蹤函數(shù)得到嘴部輪廓信息。顯然,由于噪聲以及光照的影響,得到的輪廓很可能不止一個(gè)。這時(shí),考慮到嘴巴在嘴部區(qū)域內(nèi)是面積最大的非膚色區(qū)域。所以,通過(guò)輪廓計(jì)算所包圍的面積大小,面積最大的輪廓就是嘴巴的輪廓。本文只選取了嘴巴的最左邊、最右邊、最下邊這3個(gè)關(guān)鍵點(diǎn)來(lái)表征嘴巴的運(yùn)動(dòng)信息,通過(guò)遍歷輪廓上的結(jié)點(diǎn),即能得到這3個(gè)點(diǎn)的坐標(biāo)。
圖7 嘴巴張開(kāi)圖像Fig.7 Binary image of opening mouth
至此,得到每一幀圖像中眉毛、眼睛、嘴巴等7個(gè)關(guān)鍵點(diǎn)的位置信息,通過(guò)事先與制作好的CG角色面部相對(duì)應(yīng)的點(diǎn)綁定起來(lái),就可以實(shí)時(shí)將設(shè)計(jì)人員自己的表情映射到其設(shè)計(jì)的CG角色上去,從而達(dá)到良好的效果。
實(shí)際中,本文使用了 Logitech HD Webcam C270高清彩色攝像頭,能夠提供800×600大小的單幀圖像。識(shí)別出來(lái)的關(guān)鍵點(diǎn),用藍(lán)色圓形標(biāo)記。效果圖如圖8所示。本文制作了一個(gè)貓的CG角色,將眉毛等7個(gè)關(guān)鍵點(diǎn)和兔子相對(duì)應(yīng)的點(diǎn)關(guān)聯(lián)起來(lái),設(shè)計(jì)人員在表演表情時(shí),即會(huì)在貓的面部上實(shí)時(shí)體現(xiàn)(見(jiàn)圖9)。
圖8 特征效果圖Fig.8 Effect diagram of features
圖9 人物與角色的對(duì)比圖Fig.9 Com parison diagram of people and CG role
本文針對(duì)動(dòng)漫制作領(lǐng)域的特點(diǎn),提出了一種方便、快捷的面部關(guān)鍵點(diǎn)表情捕捉方法。該方法不使用粘貼或繪制特征點(diǎn),僅使用一臺(tái)高清彩色攝像頭,通過(guò)計(jì)算機(jī)視覺(jué)等理論,能夠?qū)崟r(shí)獲得動(dòng)漫設(shè)計(jì)人員的面部表情,通過(guò)眉毛、眼睛、嘴巴等面部關(guān)鍵點(diǎn)的識(shí)別,將其與CG角色的面部相對(duì)應(yīng)位置綁定,從而實(shí)現(xiàn)設(shè)計(jì)人員面部表情實(shí)時(shí)反應(yīng)在CG角色上。為動(dòng)漫設(shè)計(jì)人員提供了一種便捷、高效的面部表情設(shè)計(jì)方式。
本文目前僅實(shí)現(xiàn)了7個(gè)關(guān)鍵點(diǎn)的識(shí)別和定位,對(duì)于高質(zhì)量的CG角色來(lái)說(shuō)還顯得不夠。而且,由于光照、背景等的影響,關(guān)鍵點(diǎn)的識(shí)別精度還有待提高。如何高精度、準(zhǔn)確地獲得面部更多的關(guān)鍵點(diǎn)則是下一步需要重點(diǎn)研究的問(wèn)題。
[1]風(fēng)之眼.《阿凡達(dá)》中的五大技術(shù)[BD/OL].(2009-08-31).[2012-04-15].http://info.cgfinal.com/html/ 2009/0831/30390.shtml.
[2]北京圣思特科技有限公司.FT45面部表情捕捕捉系統(tǒng)[BD/OL].[2011-12-18].http://www.senztech. cn/showpros.aspx?proid=41.
[3]北京朝日三維科技有限公司.PS-Face臉部表情跟蹤系統(tǒng)[BD/OL].[2011-11-20].[http://www.asahi-3d.com.cn/product/ps-face.htm.
[4]NaturalPoint,Inc.Expression[BD/OL].[2012-03-23].http://www.naturalpoint.com/optitrack/products/expression/.
[5]Meta Motion,Inc.FT2000 Facial Motion Capture Software[BD/OL].[2012-05-10].http://www.metamotion.com/software/FT2000_software.htm.