吳曉軍,鞠光亮
(1.哈爾濱工業(yè)大學(xué)深圳研究生院,廣東深圳 518055;2.深圳先進(jìn)運(yùn)動(dòng)控制技術(shù)與現(xiàn)代自動(dòng)化裝備重點(diǎn)實(shí)驗(yàn)室,廣東深圳 518055)
?
一種無(wú)標(biāo)記點(diǎn)人臉表情捕捉與重現(xiàn)算法
吳曉軍1,2,鞠光亮1
(1.哈爾濱工業(yè)大學(xué)深圳研究生院,廣東深圳 518055;2.深圳先進(jìn)運(yùn)動(dòng)控制技術(shù)與現(xiàn)代自動(dòng)化裝備重點(diǎn)實(shí)驗(yàn)室,廣東深圳 518055)
提出了一種無(wú)標(biāo)記點(diǎn)的人臉表情捕捉方法.首先根據(jù)ASM(Active Shape Model)人臉特征點(diǎn)生成了覆蓋人臉85%面部特征的人臉均勻網(wǎng)格模型;其次,基于此人臉模型提出了一種表情捕捉方法,使用光流跟蹤特征點(diǎn)的位移變化并輔以粒子濾波穩(wěn)定其跟蹤結(jié)果,以特征點(diǎn)的位移變化驅(qū)動(dòng)網(wǎng)格整體變化,作為網(wǎng)格跟蹤的初始值,使用網(wǎng)格的形變算法作為網(wǎng)格的驅(qū)動(dòng)方式.最后,以捕捉到的表情變化數(shù)據(jù)驅(qū)動(dòng)不同的人臉模型,根據(jù)模型的維數(shù)不同使用不同的驅(qū)動(dòng)方法來(lái)實(shí)現(xiàn)表情動(dòng)畫重現(xiàn),實(shí)驗(yàn)結(jié)果表明,提出的算法能很好地捕捉人臉表情,將捕捉到的表情映射到二維卡通人臉和三維虛擬人臉模型都能取得較好的動(dòng)畫效果.
無(wú)標(biāo)記點(diǎn)跟蹤;人臉表情捕捉;表情動(dòng)畫重現(xiàn)
人臉表情捕捉是近年來(lái)興起的一個(gè)熱點(diǎn)研究課題.首先,在動(dòng)畫產(chǎn)業(yè)中,為了使動(dòng)畫人物的表情更加逼真,對(duì)于表情捕捉技術(shù)的要求也更高.其次,在其他領(lǐng)域也有著重要的作用,例如在虛擬現(xiàn)實(shí)、醫(yī)療模擬、人機(jī)交互、游戲娛樂(lè)等領(lǐng)域,人臉表情捕捉的研究越來(lái)越受到更多的重視.作為這些領(lǐng)域中一種重要的數(shù)據(jù)信息獲取方法,人臉表情捕捉技術(shù)涉及多個(gè)學(xué)科,如計(jì)算機(jī)視覺(jué)、圖像處理、計(jì)算機(jī)圖形學(xué)、人工智能等.根據(jù)人臉表情捕捉的發(fā)展階段可以分為兩類:
基于標(biāo)記點(diǎn)的捕捉算法:多數(shù)學(xué)者使用比較成熟的商業(yè)捕捉系統(tǒng)(如Vicon等)作為他們的數(shù)據(jù)獲取方法,例如:Deng[1]使用三個(gè)攝像機(jī)捕捉102個(gè)標(biāo)志點(diǎn)的變化實(shí)現(xiàn)語(yǔ)音表情動(dòng)畫,Sifakis[2]也同樣使用Vicon攝像機(jī)跟蹤79個(gè)特征點(diǎn)實(shí)現(xiàn)人臉的醫(yī)學(xué)重構(gòu),Curio[3]使用6個(gè)攝像機(jī)跟蹤69個(gè)特征點(diǎn)實(shí)現(xiàn)人臉表情的交叉映射,等等.然而采用商業(yè)系統(tǒng),一方面價(jià)格較高,另一方面不能滿足多樣性的需求,所以不少學(xué)者研究低成本的人臉表情捕捉系統(tǒng).但是單從硬件設(shè)備而言,普遍選擇的捕捉頻率較高、性能較好的相機(jī).如Papic[4]等人只是用兩個(gè)便攜式攝像機(jī),組合幀接收器將數(shù)據(jù)傳輸給計(jì)算機(jī),使用直接線性變換將捕獲的點(diǎn)的信息處理成可用信息.微軟公司的Guenter[5]等人使用6種不同顏色的標(biāo)記點(diǎn),6個(gè)高分辨率的攝像機(jī)在不同的角度對(duì)人臉進(jìn)行捕捉,獲得數(shù)據(jù)后根據(jù)不同顏色點(diǎn)來(lái)識(shí)別并進(jìn)行模板的訓(xùn)練,利用圖像處理的技術(shù)計(jì)算三維點(diǎn)信息.Lin[6]等提出只用一臺(tái)攝像機(jī)就可以獲取三維信息的方法,使用兩面鏡子反射貼滿熒光標(biāo)記點(diǎn)的人臉.在拍攝時(shí),用紫光燈照射人臉,熒光標(biāo)記點(diǎn)反射效果明顯,在圖像上有很高的對(duì)比度,便于跟蹤.然后利用空間幾何原理計(jì)算點(diǎn)的三維信息,獲得初始的捕捉數(shù)據(jù).Bickel[7]等在人臉上涂抹彩色顏料,藍(lán)色的標(biāo)記點(diǎn)用于跟蹤整體表情變化,而其它區(qū)域的彩色條紋用于跟蹤細(xì)節(jié)皺紋的變化.候文廣等[8]提出通過(guò)投影不同類型的紋理實(shí)現(xiàn)真實(shí)人臉幾何重建.
無(wú)標(biāo)記點(diǎn)的表情捕捉算法:此類算法的研發(fā)還處于發(fā)展的初步階段,發(fā)表的論文較少,比較典型的有:王玉順等提出一種基于二維表情動(dòng)作約束的三維人臉動(dòng)畫數(shù)據(jù)編輯與合成的有效方法,根據(jù)實(shí)現(xiàn)訓(xùn)練的人臉動(dòng)畫先驗(yàn)概率模型,將較少的用戶約束傳播到人臉網(wǎng)格的其他部分,從而生成完整生動(dòng)的人臉表情[9].雖然文獻(xiàn)[10,11]和本文都是無(wú)標(biāo)識(shí)點(diǎn)的表情捕捉再現(xiàn),但在算法本質(zhì)上是不同的,文獻(xiàn)[10,11]是基于學(xué)習(xí)的方法,首先利用了先驗(yàn)的三維表情數(shù)據(jù)庫(kù),以及2D表情圖像標(biāo)記點(diǎn)獲得訓(xùn)練數(shù)據(jù),通過(guò)訓(xùn)練圖像和形狀數(shù)據(jù)以及用戶特定混合模型庫(kù)(User-specific Blendshapes)進(jìn)行3D回歸學(xué)習(xí),獲得用戶特定3D形狀回歸量,在運(yùn)行時(shí)利用學(xué)習(xí)獲得的回歸量實(shí)現(xiàn)表情跟蹤.杜志軍等提出基于梯度場(chǎng)修改方法表情映射的單張照片的人臉動(dòng)畫系統(tǒng),采用3D人臉模型信息實(shí)現(xiàn)輸入圖像頭部姿態(tài)的調(diào)整[12].Weise等[13]使用微軟公司開(kāi)發(fā)的Kinect體感外設(shè)作為他們的數(shù)據(jù)捕捉工具,Kinect可以同時(shí)拍攝二維的圖像和獲得三維的位置信息,具有高速和同步性等優(yōu)點(diǎn),只是它所獲取的三維信息的噪聲和誤差較大,需要軟件方法去噪和修正.Weise等使用訓(xùn)練的人臉表情模型,使用模型的匹配來(lái)限制噪聲的影響,這樣做的好處是有很好的實(shí)時(shí)性,但是人物的表情變化就有些單調(diào),缺乏變化性和自由度.Zhang等人[14]使用結(jié)構(gòu)光照射在無(wú)標(biāo)記點(diǎn)的人臉上,計(jì)算兩幅圖像序列的深度差,將深度與人臉模板做匹配,以便驅(qū)動(dòng)模型變化.此方法對(duì)光照的要求較高,在一般情況下使用則較為繁瑣.Sibbing等[15]使用5個(gè)同步相機(jī)拍攝無(wú)標(biāo)記點(diǎn)的人臉,主要使用Surfel fitting[16]人臉三維重建的方法,輔以二維網(wǎng)格跟蹤建立幀與幀之間的聯(lián)系實(shí)現(xiàn)人臉的表情動(dòng)畫重現(xiàn),而由于需要重建人臉表情,所消耗的時(shí)間則較多.Hwang等[17]使用特征點(diǎn)的跟蹤方法來(lái)捕捉人臉的表情變化,并用捕捉的數(shù)據(jù)驅(qū)動(dòng)人臉模型變化.由于特征點(diǎn)只分布在局部區(qū)域,所描述的人臉表情也就存在局限性.而本文的最終目的是將捕捉的表情傳遞給不同的模型,以網(wǎng)格作為表情的描述方法可以更高效的傳遞表情變化,所以本文選用網(wǎng)格跟蹤作為主要捕捉手段,雖然本文使用的網(wǎng)格跟蹤方法與Sibbing的方法相類似,但在速度方面有很大的提高.本文也使用了特征點(diǎn)的跟蹤,但只是作為網(wǎng)格跟蹤的輔助,而網(wǎng)格可以覆蓋大部分人臉面部區(qū)域,相對(duì)于特征點(diǎn)所能描述的表情更多、更真實(shí).
本文研究的內(nèi)容主要圍繞在無(wú)標(biāo)記點(diǎn)人臉表情的捕捉及傳遞的算法的各個(gè)環(huán)節(jié)展開(kāi),包括人臉的表情建模、表情捕捉和人臉表情動(dòng)畫三個(gè)部分工作,主要包括:首先根據(jù)捕捉方法的不同,建立一個(gè)新的描述人臉表情的網(wǎng)格模型.基于ASM(Active Shape Model)算法獲取人臉上特征區(qū)域的點(diǎn)的描述[18],根據(jù)特征點(diǎn)的位置對(duì)人臉區(qū)域進(jìn)行均勻的三角網(wǎng)格化,以達(dá)到覆蓋大部分人臉區(qū)域,可以描述絕大多數(shù)的人臉面部的表情變化.然后,由于所拍攝的人臉是無(wú)標(biāo)記點(diǎn)的,沒(méi)有明顯的跟蹤目標(biāo),傳統(tǒng)的跟蹤方法失效.本文采用兩步法實(shí)現(xiàn)表情跟蹤,首先采用傳統(tǒng)的光流跟蹤輔以粒子濾波的方法跟蹤人臉的局部特征點(diǎn),根據(jù)特征點(diǎn)的變化驅(qū)動(dòng)網(wǎng)格點(diǎn)的位移變化.然后采用基于灰度分布變化較小特性的網(wǎng)格跟蹤方法,以求實(shí)現(xiàn)對(duì)人臉面部表情的全方位捕捉.并且提高網(wǎng)格跟蹤的速度.最后,生成二維和三維臉部表情動(dòng)畫,二維的表情動(dòng)畫的目標(biāo)人臉是單幅的卡通人物臉部圖像,而三維的目標(biāo)人臉是將捕捉的表情映射到三維人臉網(wǎng)格模型上.在形成動(dòng)畫效果之前,首先要建立不同的人臉模型間的映射投影關(guān)系,主要采用的是徑向基函數(shù)網(wǎng)絡(luò)訓(xùn)練方法,而關(guān)系建立完成之后,兩種模型的變化方式也有不同之處,二維模型除了平面空間內(nèi)的網(wǎng)格位移還要添加網(wǎng)格內(nèi)點(diǎn)的灰度值,而三維模型主要難點(diǎn)在于網(wǎng)格點(diǎn)的所在空間是三維的,主要采用求解曲面微分方程的方法計(jì)算網(wǎng)格點(diǎn)的位移.
在一張人臉的照片中,比較明顯的特征有眼睛、鼻子、嘴巴和下巴的輪廓線,本文采用ASM算法來(lái)提取這些特征,如圖1所示.通過(guò)ASM算法可以得到60個(gè)點(diǎn)來(lái)描述人臉,但不是所有的點(diǎn)都會(huì)用到,本文只提取其中的部分點(diǎn),從上到下依次是:眉毛4個(gè)、眼睛8個(gè)、鼻子9個(gè)、嘴巴8個(gè)和下巴15個(gè),并且對(duì)部分點(diǎn)的位置進(jìn)行了調(diào)整,以便于以后的處理和跟蹤.
為了獲得更多臉部的表情信息,本文將采用將面部三角網(wǎng)格化[19]的方法來(lái)描述人的表情.三角網(wǎng)格化的基礎(chǔ)就在于特征點(diǎn)的提取,以特征點(diǎn)為邊界可以很快的生成三角網(wǎng)格,如圖2所示,可以看出如此密集的三角形覆蓋了人臉的大部分區(qū)域,也是人臉表情最豐富的區(qū)域,這樣就可以比較準(zhǔn)確地描述人的面部表情了.臉部的表情變化的同時(shí)三角形的大小、位置也同樣跟著變化,以達(dá)到對(duì)表情捕捉的效果.
4.1 特征點(diǎn)的跟蹤
在逐幀的跟蹤特征點(diǎn)的變化時(shí),本文使用的是光流跟蹤方法LK[20](Lucas-Kanade).在利用LK算法跟蹤人臉上的特征點(diǎn)時(shí),特征點(diǎn)之間是相互獨(dú)立的,為每個(gè)特征點(diǎn)建立一個(gè)跟蹤序列,將跟蹤結(jié)果保存在序列中.由于兩幅圖像之間的變化并不巨大,也就是說(shuō)特征點(diǎn)的位移也不明顯,所以可以用一個(gè)m×n的像素區(qū)域代替整張圖像作為特征點(diǎn)的活動(dòng)范圍,以減小跟蹤時(shí)的計(jì)算量.根據(jù)點(diǎn)的位置不同設(shè)定的跟蹤區(qū)域也不同,例如:眼睛上的點(diǎn)多為縱向移動(dòng),橫向移動(dòng)較小,區(qū)域設(shè)為5×15即可;而嘴巴上的點(diǎn)無(wú)論是橫向還是縱向,移動(dòng)距離都會(huì)較大,所以區(qū)域設(shè)為15×15.LK算法的優(yōu)點(diǎn)就在于它的耗時(shí)較少,但是缺點(diǎn)也比較明顯,就是跟蹤的誤差較大,穩(wěn)定性不高,尤其是在像素點(diǎn)的灰度值區(qū)別度不高和變化幅度較大時(shí),很容易出現(xiàn)錯(cuò)誤跟蹤,如圖3所示:嘴巴張開(kāi)后再閉合時(shí),右側(cè)的跟蹤點(diǎn)出現(xiàn)在錯(cuò)誤的位置,這種錯(cuò)誤的跟蹤點(diǎn)一旦出現(xiàn)就很難再挽回,以后的跟蹤也就失去了意義,所以本文使用粒子濾波的方式來(lái)穩(wěn)定LK的跟蹤結(jié)果.本文采用CONDENSATION[21]粒子濾波方法簡(jiǎn)潔、特征點(diǎn)跟蹤穩(wěn)定、計(jì)算效率高,具體的使用方法與文獻(xiàn)[22]相似.
4.2 網(wǎng)格的跟蹤
網(wǎng)格跟蹤的目的是建立幀與幀之間網(wǎng)格點(diǎn)的位置關(guān)系,也就是網(wǎng)格點(diǎn)的位置變化情況.以建立的網(wǎng)格模型為基礎(chǔ),本文提出一種新的跟蹤方法,達(dá)到對(duì)人臉大部分區(qū)域表情的捕捉效果.主要的算法流程如圖4所示.
定義初始的第一幀中生成的網(wǎng)格為M1,一系列連續(xù)的圖片定義為:
I1,…,In-1,In,In+1,…
在已知的兩幀連續(xù)的圖像In和In+1中,去尋找網(wǎng)格Mn的所有點(diǎn)的位置變化di=[di,x,di,y]T∈R2,主要的根據(jù)就是在連續(xù)的兩幀圖像之間,對(duì)應(yīng)的三角形中的人臉灰度值分布變化不大,如圖5所示,雖然三角形的形狀和位置都變了,但是三角形內(nèi)的像素灰度卻沒(méi)有像位置和形狀那樣改變很多.圖像In中三角形的一個(gè)點(diǎn)p=[x,y]T可以通過(guò)線性映射f:R3→R3,映射到變化后的圖像In+1中的另一個(gè)三角形中,映射f可以通過(guò)對(duì)應(yīng)的三角形的頂點(diǎn)求出:
(1)
定義In(p)為點(diǎn)p在圖像I中的灰度值,那么兩幅圖像對(duì)應(yīng)三角形之間的灰度差異可以表述為:
(2)
式中,T表示網(wǎng)格中的三角形,ET是三角形之間的灰度和差異.
與文獻(xiàn)[15]中的不同之處在于,本文使用三角形內(nèi)的灰度總和之差取代單個(gè)點(diǎn)的灰度值之差,那么兩幀圖像之間的灰度差異就是所有三角形的差異之和:
(3)
式中,Mn是網(wǎng)格序列,Edata是網(wǎng)格之間的灰度和差異,將方程式(1)中所求出的f帶入式(3)中即可得到由于位移di所產(chǎn)生的新的Edata.
只要求出使差異Edata最小的位移di,di就是網(wǎng)格點(diǎn)的位移量,為了保證所有網(wǎng)格點(diǎn)的位移的平滑度本文還引入平滑函數(shù)[15]作為另一個(gè)能量方程:
(4)
將數(shù)據(jù)能量方程式(3)和平滑能量方程式(4)合并后即為最終的能量方程:
E=Edata+λEsmooth
(5)
式中,λ是控制平滑度的參數(shù),可根據(jù)情況不同進(jìn)行調(diào)整.
當(dāng)能量函數(shù)式(5)取最小值時(shí),所得到的位移就是網(wǎng)格點(diǎn)的跟蹤結(jié)果.而求最小值則使用Levenberg-Marquardt(LM)算法.當(dāng)然LM算法有著明顯的缺陷,就是它所求得的最小值依賴于起始點(diǎn)的位置,也就是說(shuō)只有好的初始值,才能得到好的跟蹤結(jié)果.之所以不使用其他的求取最小值的方法的原因在于:一是求取全局最小值的方法勢(shì)必要更多的計(jì)算,算法的時(shí)間復(fù)雜度也同樣會(huì)升高;二是本文提出了一種計(jì)算較好的網(wǎng)格位移初值的方法,可以解決依賴初值的問(wèn)題.
本文采用根據(jù)特征點(diǎn)的位移來(lái)計(jì)算網(wǎng)格點(diǎn)的初始位移,也就是說(shuō)一種網(wǎng)格形變的方式,這種形變方法的優(yōu)點(diǎn)是可以保持網(wǎng)格的連續(xù)平滑性和局部特征性,前提是將網(wǎng)格線性化,網(wǎng)格的形變分為伸展和扭曲兩種類型.而網(wǎng)格的伸展和扭曲的能量函數(shù)可以用位移矢量di的一階和二階偏導(dǎo)數(shù)的積分來(lái)表示.由于本文中使用的網(wǎng)格是在平面區(qū)域內(nèi)進(jìn)行變形所以,變形方法與文獻(xiàn)[7]中的有所區(qū)別,省略網(wǎng)格的扭曲,只保留網(wǎng)格的伸展能量函數(shù):
(6)
而求取使此能量函數(shù)最小的位移di時(shí),可以將此函數(shù)轉(zhuǎn)化為其相對(duì)應(yīng)的Euler-Lagrange方程:
Δdi=0
(7)
式中,Δ是離散的Laplace-Beltrami算子[21]:
(8)
式中,αij,βij如圖6所示,是線段xixj對(duì)應(yīng)的兩個(gè)夾角,αij=∠(xi,xj-1,xj)和βij=∠(xi,xj+1,xj),A(xi)如圖7所示,為頂點(diǎn)xi周圍的Voronoi面積[19].
在求解方程式(7)時(shí),可以將其轉(zhuǎn)化為離散的線性系統(tǒng):
(9)
式中,p為跟隨其他點(diǎn)移動(dòng)的點(diǎn)位移,p=(p1,…,pP),P等于網(wǎng)格點(diǎn)數(shù)與特征點(diǎn)數(shù)之差;h為控制移動(dòng)的點(diǎn)位移,h=(h1,…,hH),H等于特征點(diǎn)的數(shù)量;hb是控制點(diǎn)位移的邊界條件;IH是秩為H的單位矩陣.
方程式(9)的等號(hào)左邊在第一幀圖像時(shí)就可以確定,以后每一幀時(shí)只需要改變等號(hào)右邊的邊界條件.由于等號(hào)右邊的矩陣是稀疏的,在求解方程時(shí)可以利用系數(shù)矩陣的Cholesky分解,速度上可以滿足要求.求解次方程得到的結(jié)果就是網(wǎng)格上每個(gè)點(diǎn)的初始位移,可以作為L(zhǎng)evenberg-Marquardt算法的初始值.
在捕捉到人臉的表情變化之后,我們目的是讓目標(biāo)人臉模型做出與捕捉數(shù)據(jù)相同的表情變化,也就是人臉的表情傳遞過(guò)程.這個(gè)過(guò)程在本文中分為兩個(gè)部分:一是人臉模型間的相互對(duì)應(yīng)關(guān)系的建立,二是人臉模型的表情驅(qū)動(dòng)方法.建立人臉間的對(duì)應(yīng)關(guān)系的方法很多,由于采用網(wǎng)格化的方法來(lái)描述人臉,基于網(wǎng)格的人臉匹配常用是徑向基函數(shù)(Radial Basis Function,RBF)方法.RBF由于其很強(qiáng)的插值能力而為眾人所熟知,尤其是在人臉的模型匹配領(lǐng)域也有著突出的作用.RBF的基本形式如式(10).
(10)
式中,xi是輸入的向量,f(xi)為對(duì)應(yīng)的輸出向量,wj為權(quán)重系數(shù),n是訓(xùn)練輸入的數(shù)量,h是基函數(shù).本文中采用Multi-quadrics作為RBF的基函數(shù)式(11).
Multi-quadrics基函數(shù)的優(yōu)點(diǎn)在于可以使那些離訓(xùn)練中心點(diǎn)較近的點(diǎn)有著更明顯更準(zhǔn)確的變化,而使那些離中心點(diǎn)較遠(yuǎn)的點(diǎn)有著更平滑的變化[23].訓(xùn)練RBF網(wǎng)絡(luò)時(shí)可以用已知對(duì)應(yīng)關(guān)系的點(diǎn)的坐標(biāo)作為輸入向量,訓(xùn)練出權(quán)重系數(shù)w向量.然后通過(guò)式(10)即可求出其他對(duì)應(yīng)點(diǎn)的坐標(biāo).
(12)
而這個(gè)轉(zhuǎn)化關(guān)系可以通過(guò)兩個(gè)網(wǎng)格的平均邊長(zhǎng)獲得:
(13)
式中,bt,i為目標(biāo)網(wǎng)格的三角形邊長(zhǎng);bo,i為原始網(wǎng)格的三角形邊長(zhǎng);n為目標(biāo)網(wǎng)格三角形邊的總數(shù);m為原始網(wǎng)格三角形邊的總數(shù).
相對(duì)于二維人臉的表情重現(xiàn)而言,三維模型的驅(qū)動(dòng)要復(fù)雜些.首先,需要采用雙目相機(jī)的同步捕捉數(shù)據(jù),根據(jù)網(wǎng)格對(duì)應(yīng)點(diǎn)的關(guān)系和相機(jī)標(biāo)定數(shù)據(jù)重建出捕捉的人臉表情.同樣使用RBF網(wǎng)絡(luò)建立第一幀捕捉數(shù)據(jù)與目標(biāo)mesh模型的對(duì)應(yīng)關(guān)系,然后利用捕捉數(shù)據(jù)重建出低精度的三維人臉,根據(jù)重建后人臉的點(diǎn)位移向量驅(qū)動(dòng)目標(biāo)模型中的相對(duì)點(diǎn)做出相同的移動(dòng),目標(biāo)模型的網(wǎng)格形變方法使用文獻(xiàn)[7]中的方法.由于形變方法中有平滑的效果,所以可以彌補(bǔ)重建人臉精度低的缺點(diǎn).在驅(qū)動(dòng)網(wǎng)格變化之前,為了保持目標(biāo)模型的某些平面的局部特征,需要調(diào)整驅(qū)動(dòng)向量的方向,同時(shí)為了保持形變的逼真度,也需要調(diào)整驅(qū)動(dòng)向量的尺度大小,調(diào)整方法可以參考文獻(xiàn)[24].
為驗(yàn)證本文算法的有效性,我們采用兩臺(tái)Imagingsource工業(yè)CCD相機(jī)搭建了圖像實(shí)時(shí)采集平臺(tái),圖像分辨率為1024×768.系統(tǒng)采用VS2008編程環(huán)境實(shí)現(xiàn),圖形和圖像顯示分別調(diào)用了OpenGL和OpenCV2.1函數(shù)庫(kù).計(jì)算機(jī)硬件配置為Intel Core i5-3470 3.2GHz CPU,4G內(nèi)存.搭建好拍攝系統(tǒng),在獲取到第一幀圖像后,識(shí)別出人臉位置,得到局部特征點(diǎn)并均勻網(wǎng)格化.隨后逐幀地對(duì)人臉進(jìn)行特征點(diǎn)的跟蹤和網(wǎng)格跟蹤.圖8中特征點(diǎn)分布在鼻子、嘴唇和下巴等區(qū)域.網(wǎng)格均勻分布在人臉面部,如圖8中第二行圖像所示.400幀圖像總耗時(shí)25.489s,表情捕捉時(shí)間約為63.7ms/幀,可以做到實(shí)時(shí)捕捉.文獻(xiàn)[15]中的算法400幀圖像總耗時(shí)154.394s,約為386ms/幀.
將捕捉到的實(shí)時(shí)臉部表情映射生成二維表情動(dòng)畫時(shí),選取動(dòng)漫人物為目標(biāo)人臉模型,將原始模型的網(wǎng)格利用RBF網(wǎng)絡(luò)投影到目標(biāo)模型上,產(chǎn)生新的網(wǎng)格,由于人物臉部特征的區(qū)別較大,產(chǎn)生的網(wǎng)格與有原始網(wǎng)格也有較大出入,但是并不影響動(dòng)畫效果,因?yàn)橹灰侨切尉涂梢韵嗷ビ成?可以使用雙線性插值方法對(duì)像素的顏色信息進(jìn)行插值填補(bǔ),由人物表情驅(qū)動(dòng)的二維卡通動(dòng)畫效果如圖9所示,動(dòng)畫人物與原始人臉表情上下相對(duì)應(yīng).圖10為第二組視頻序列跟蹤結(jié)果及生成的二維卡通動(dòng)畫.
圖10中第二行為網(wǎng)格跟蹤的映射動(dòng)畫效果、第三行則是只有特征點(diǎn)的跟蹤動(dòng)畫效果.可以看出如果只用特征點(diǎn)則表情的變化只取決于特征點(diǎn)的跟蹤精度,.而網(wǎng)格跟蹤算法則可以很好的彌補(bǔ)這一點(diǎn),從卡通人物的胡須變化中可以看出兩者的跟蹤區(qū)別.第四及第五行則是與二、三行相對(duì)應(yīng)的表情的網(wǎng)格變化,從圖中可以看出網(wǎng)格跟蹤時(shí)網(wǎng)格的變形均勻和平滑.
生成三維動(dòng)畫時(shí),首先也需要將第1幀圖像重建好的三維人臉投影到目標(biāo)人臉上,同樣使用RBF訓(xùn)練網(wǎng)絡(luò).圖11中目標(biāo)人臉上的紅點(diǎn)即為原始模型的網(wǎng)格點(diǎn)所對(duì)應(yīng)的驅(qū)動(dòng)點(diǎn).將捕捉到的數(shù)據(jù)變換好后,驅(qū)動(dòng)目標(biāo)模型變化,目標(biāo)模型就可以做出相同的表情變化.
本文針對(duì)無(wú)標(biāo)記點(diǎn)人臉表情捕捉技術(shù)的幾個(gè)重點(diǎn)問(wèn)題進(jìn)行深入研究,建立了一個(gè)新的人臉表情描述模型,直接利用被捕捉對(duì)象的表情數(shù)據(jù)和動(dòng)畫模型間建立表情映射,是一種新方法的探索和嘗試.根據(jù)新的人臉模型,提出一種基于特征點(diǎn)跟蹤,驅(qū)動(dòng)網(wǎng)格形變以完善網(wǎng)格跟蹤的人臉表情捕捉算法.使用RBF訓(xùn)練網(wǎng)絡(luò)建立不同人臉模型間的網(wǎng)格點(diǎn)的對(duì)應(yīng)關(guān)系,根據(jù)人臉模型的維數(shù)不同采用不同的表情驅(qū)動(dòng)技術(shù).利用網(wǎng)格形變算法完成不同人臉模型的表情動(dòng)畫重現(xiàn).搭建實(shí)驗(yàn)系統(tǒng)對(duì)捕捉算法進(jìn)行驗(yàn)證,取得比較好的實(shí)驗(yàn)效果.
本文算法存在的不足在于,捕捉和再現(xiàn)三維人臉的細(xì)節(jié)信息和穩(wěn)定性有待提高,尤其是兩幅圖像序列同時(shí)捕捉并重建三維人臉模型時(shí),需要保證三維模型的準(zhǔn)確性和平滑度.三維表情再現(xiàn)時(shí)使用雙目視頻作為數(shù)據(jù)源,深度信息較少,不能獲取更為精細(xì)的三維人臉變形數(shù)據(jù).對(duì)三維人臉的細(xì)節(jié)表情捕捉和再現(xiàn)是本算法需要進(jìn)一步研究的地方,未來(lái)的工作可以結(jié)合文獻(xiàn)[10,11]中的特征點(diǎn)的跟蹤方法穩(wěn)定跟蹤方法,并針對(duì)復(fù)雜表情以及面部的肌膚紋理變化做跟蹤,會(huì)實(shí)現(xiàn)更逼真的動(dòng)畫效果.
[1]Deng Z,Chiang P,Fox P,et al.Animating blend shape faces by cross-mapping MoCap data[A].ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games[C].New York,USA:ACM,2006.43-48.
[2]Sifakis E,Neverov I,Fedkiw R.Automatic determination of facial muscle activations from sparse MoCap marker data[J].ACM Transactions on Graphics,2005,24(3):417-425.
[3]Curio C,Breidt M,Vuong Q,et al.Senmantic 3D motion retargeting for facial animation[A].ACM International Conference Proceeding Series[C].New York,USA:ACM,2006.77-84.
[4]Papic V,Zanchi V,Cecic M.Motion analysis system for identification of 3D human locomotion kinematics data accuracy testing[J].Simulation Modelling Practice and Theory,2004,12(2):159-170.
[5]Guenter B,Grimm C,Wood D,et al.Making faces[A].In Proceedings of SIGGRAPH[C].Los Angeles,California,USA:ACM,1998.55-66.
[6]Lin I C,Yeh J S,Ouhyoung M.Extracting 3D facial animation parameters from multiview video clips[J].IEEE Computer Graphics and Applications,2002,22(6):72-80.
[7]Bickel B,Botsch M,Angst R,et al.Multi-scale capture of facial geometry and motion[J].ACM Transactions on Graphics,2007,26(7):33-45.
[8]侯文廣,陳大為,丁明躍.一種基于多重影像實(shí)現(xiàn)真實(shí)感人臉三維重建的方法,電子學(xué)報(bào),2008,36(4):661-666.Hou Wenguang,Chan Dawei,Ding Mingyue.A novel way achieving 3D Reconstruction of actual human face using multi images[J].Acta Electronica Sinica,2008,36(4):661-666.(in Chinese)
[9]王玉順,肖俊,莊越挺,王宇杰.基于運(yùn)動(dòng)傳播和Isomap分析的三維人臉動(dòng)畫編輯與合成[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2008,20(12):1590-1595.
Wang Yushun,Xiao Jun,Zhuang Yueting,Wang Yujie.Editing and synthesis of 3D facial animation by motion propagation and isomap analysis[J].Journal of Computer Aided Design & Computer Gaphics,2008,20(12):1590-1595.(in Chinese)
[10]Yanlin Weng,Chen Cao,Qiming Hou,et al.Real-time facial animation on mobile devices[J].Graphical Models,2014,76(3):172-179.
[11]Chen Cao,Yanlin Weng,Stephen Lin,et al.3D shape regression for real-time facial animation[J].ACM Transactions on Graphics,2013,32(4):41:1-41:10.
[12]杜志軍,王陽(yáng)生.單張照片輸入的人臉動(dòng)畫系統(tǒng)[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2010,22(5):1188-1193.
Du Zhijun,Wang Yangsheng.A facial animation system based on single image[J].Journal of Computer Aided Design & Computer Gaphics,2010,22(7):1188-1193.(in Chinese).
[13]Weise T,Li H,Van Gool L,et al.Face/Off:live facial puppetry[A].Symposium on Computer Animation[C].New York USA:ACM,2009.7-16.
[14]Zhang L,Snavely N,Curless B,et al.Spacetime faces:high-resolution capture for modeling and animation[A].International Conference on Computer Graphics and Interactive Techniques[C].New York USA:ACM,2004.548-558.
[15]Sibbing D,Habbecke M,Kobbelt L.Markerless reconstruction and synthesis of dynamic facial expressions[J].Computer Vision and Image Understanding,2011,115(5):668-680.
[16]Habbecke M,Kobbelt L.Iterative multi-view plane fitting[A].Vision,Modeling and Visualization[C].Aachen,German:AKA IOS,2006.73-80.
[17]Hwang Y,Kim J B,Feng X,et al.Markerless 3D facial motion capture system[A].The Engineering Reality of Virtual Reality,Burlingame[C].California,USA:SPIE,2012.8289,6.
[18]Cootes T F,Taylor C J,Cooper D H,et al.Active shape models—their training and application[J].Computer Vision and Image Understanding,1995,61(1):38-59.
[19]Shewchuk J R.Triangle:engineering a 2D quality mesh generator and delaunay triangulator[J].Lecture Notes in Computer Science,1996,1148:203-222.
[20]Baker S,Matthews I.Lucas-Kanade 20 tears on:a unifying framework[J].International Journal of Computer Vision,2004,56(3):221-255.
[21]Isard M,Blake A.Icondensation:Unifying low-level and high-level tracking in a stochastic framework[J].Lecture Notes in Computer Science,1998,1406:893-908.
[22]Blake A,Isard M.3D Position,attitude and shape input using video tracking of hands and lips[A].Proceedings of the 21st Annual Conference on Computer Graphics and Interactive Techniques[C].New York,USA:ACM,1994.185-192.
[23]Eck M.Interpolation methods for reconstruction of 3D surfaces from sequences of planar slices[J].CAD and Computer Graphics,1991,13(5):109-120.
[24]Noh J Y,Neumann U.Expression cloning[A].Proceedings of SIGGRAPH[C].New York,USA:ACM,2001.277-288.
吳曉軍 男,博士,副教授,1975年4月出生,甘肅張掖人.2001年畢業(yè)于中國(guó)科學(xué)院沈陽(yáng)自動(dòng)化研究所,從事機(jī)器視覺(jué)、圖像三維建模等方面的研究.
E-mail:hit.wu.xj@gmail.com
鞠光亮 男,碩士,1987年5月出生,黑龍江哈爾濱人,主要從數(shù)字圖像處理、醫(yī)學(xué)影像等方面的研究工作.
A Markerless Facial Expression Capture and Reproduce Algorithm
WU Xiao-jun1,2,JU Guang-liang1
(1.ShenzhenGraduateSchool,HarbinInstituteofTechnology,Shenzhen,Guangdong518055,China;2.ShenzhenKeyLaboratoryforAdvancedMotionControlandModernAutomationEquipment,Shenzhen,Guangdong518055,China)
This paper presents a markerless facial expression capture and reproduce algorithm.Firstly,an uniform mesh model is built based on the feature points from ASM(Active Shape Model).It can cover 85 percent of the face.Then,a method to capture facial expression based on the face model is proposed.The optical flow tracking is used to track the feature points with particle filter for stablizing the result.The feature points’displacement can drive the overall mesh to deform as the initial value of the mesh tracking.Finally,the captured expression data is used to drive face models with different methods for the models of different dimensions,and then the facial animation can be reconstructed.Experimental results show that the proposed algorithm can capture facial expressions well,and the animation effect is good when mapping the captured expression to 2D cartoon or 3D virtual face models.
marker-less tracking;facial expression capture;facial animation reconstruction
2015-01-09;
2015-10-13;責(zé)任編輯:梅志強(qiáng)
深圳市科技計(jì)劃項(xiàng)目(No.JCYJ20150928162432701,No.JCYJ20140417172417166)
TP391
A
0372-2112 (2016)09-2141-07
??學(xué)報(bào)URL:http://www.ejournal.org.cn
10.3969/j.issn.0372-2112.2016.09.018