何欽政, 王運(yùn)巧
(北京航空航天大學(xué)機(jī)械工程及自動(dòng)化學(xué)院,北京 100083)
基于Kinect的人臉表情捕捉及動(dòng)畫模擬系統(tǒng)研究
何欽政, 王運(yùn)巧
(北京航空航天大學(xué)機(jī)械工程及自動(dòng)化學(xué)院,北京 100083)
三維人臉表情動(dòng)畫技術(shù)是一個(gè)具有巨大應(yīng)用前景和研究意義的學(xué)科方向。在研究現(xiàn)有表情捕捉和動(dòng)畫合成技術(shù)的基礎(chǔ)上,提出了一種基于Microsoft Kinect設(shè)備的人臉表情動(dòng)畫系統(tǒng)。該系統(tǒng)首先利用Kinect設(shè)備捕捉人臉并提取相關(guān)表情參數(shù),同時(shí)利用Autodesk Maya動(dòng)畫軟件建立對(duì)應(yīng)的人臉三維模型,之后將模型導(dǎo)入到OGRE動(dòng)畫引擎并把提取的表情參數(shù)傳遞給OGRE,渲染生成實(shí)時(shí)人臉表情動(dòng)畫。實(shí)驗(yàn)結(jié)果表明該技術(shù)方案可行,實(shí)時(shí)表情動(dòng)畫效果達(dá)到實(shí)際應(yīng)用水平,相比于現(xiàn)有其他表情動(dòng)畫技術(shù),系統(tǒng)采用通用的Kinect設(shè)備,成本更大眾化且更容易進(jìn)行操作。
Kinect;表情捕捉;人臉動(dòng)畫;Maya;OGRE
自20世紀(jì)70年代以來,對(duì)于人臉表情動(dòng)畫模擬技術(shù)的研究發(fā)展非常迅速,從最初的簡(jiǎn)單動(dòng)畫片到現(xiàn)在的好萊塢科幻大片,人臉表情動(dòng)畫越來越豐富,模擬的精度與逼真度也越來越高。隨著計(jì)算機(jī)圖形學(xué)的發(fā)展和動(dòng)畫產(chǎn)業(yè)的進(jìn)步,人臉表情動(dòng)畫模擬技術(shù)的研究也逐漸成為了計(jì)算機(jī)圖形學(xué)研究領(lǐng)域的一大熱門。
人臉表情動(dòng)畫是指通過在計(jì)算機(jī)中預(yù)先設(shè)定一些規(guī)則,讓計(jì)算機(jī)生成的動(dòng)畫中人臉圖像從一種表情狀態(tài)變?yōu)榱硪环N表情的過程,模擬現(xiàn)實(shí)中人的表情變化。人臉表情動(dòng)畫的目的是利用動(dòng)畫中人臉的姿態(tài)和面部運(yùn)動(dòng)來形象生動(dòng)地表達(dá)某個(gè)角色的表情和情感,讓人機(jī)交互更加自然與人性化。
到目前為止,人臉表情動(dòng)畫模擬技術(shù)主要可以分為 2大類:①基于幾何模型處理方法的人臉表情動(dòng)畫模擬技術(shù),這也是最常使用的一類技術(shù)。Parke[1]提出的利用形狀插值模型進(jìn)行動(dòng)畫模擬、Pandzic和Forchheimer[2]提出的基于MPEG-4的標(biāo)準(zhǔn)人臉動(dòng)畫參數(shù)模型來進(jìn)行動(dòng)畫模擬以及 Ekman 和 Friesen[3]提出的利用基于肌肉模型的人臉動(dòng)作編碼系統(tǒng)(facial action coding system,F(xiàn)ACS)進(jìn)行動(dòng)畫模擬都是屬于這種技術(shù)。這種技術(shù)基本上都是先把人臉表情分成若干個(gè)動(dòng)作單元,然后對(duì)每個(gè)表情分解成這些動(dòng)作單元的線性組合,最后利用動(dòng)畫中的關(guān)鍵幀技術(shù),把一些關(guān)鍵的人臉表情用動(dòng)作單元組合形成,其余的畫面根據(jù)插值算法自動(dòng)生成,從而形成動(dòng)畫。②基于圖像處理方法的人臉表情動(dòng)畫模擬技術(shù)。Oka等[4]提出的紋理映射系統(tǒng)以及Seitz和Dyer[5]提出的視圖變換都屬于這種技術(shù)。這種技術(shù)目前使用的比較少,得到的動(dòng)畫效果也不如第一類技術(shù)。
人臉表情動(dòng)畫模擬技術(shù)在電影制作、動(dòng)畫視頻制作、刑訊監(jiān)控、計(jì)算機(jī)多媒體教學(xué)、醫(yī)療研究等眾多方面都有著巨大的市場(chǎng)應(yīng)用需求,目前人臉表情動(dòng)畫最主要的應(yīng)用在于各種影視中虛擬人物表情效果的制作,比如電影《阿凡達(dá)》中主人公各種惟妙惟肖的表情。這些高端專業(yè)應(yīng)用價(jià)格往往極為昂貴,遠(yuǎn)離大眾娛樂需求,而隨著計(jì)算機(jī)軟硬件的發(fā)展,基于非專業(yè)普通設(shè)備及需求的人臉表情動(dòng)畫模擬技術(shù)進(jìn)入研究人員的領(lǐng)域,本文提出的模擬技術(shù)及應(yīng)用系統(tǒng)正是針對(duì)這方面的研究。
(1) Microsoft Kinect。本文中用到的數(shù)據(jù)采集設(shè)備Microsoft Kinect是微軟公司推出的一款三維攝像機(jī),Kinect可以獲得原始彩色圖像、深度圖像、紅外圖像以及音頻數(shù)據(jù)流,主要具有身份識(shí)別、動(dòng)作追蹤、彩圖識(shí)別、聲音辨識(shí)等功能,不僅能用于游戲,還能應(yīng)用在醫(yī)療、教育、三維人體建模等領(lǐng)域[6]。Kinect在工作時(shí)的關(guān)鍵硬件包括:
① 3個(gè)鏡頭:彩色攝影頭,主要用來收集彩色RGB圖像;紅外投影機(jī),用來發(fā)射紅外光譜;紅外攝像頭,用來接收并分析紅外光譜,采集深度數(shù)據(jù)(場(chǎng)景中物體到攝像頭的距離),創(chuàng)建可視范圍內(nèi)的深度圖像。
②麥克風(fēng)陣列:Kinect內(nèi)部包括4個(gè)同時(shí)收集聲音的陣列式麥克風(fēng),然后比對(duì)后消除雜音,并通過其采集聲音可以進(jìn)行語音識(shí)別和聲源定位。
③仰角馬達(dá):可以通過編程來控制角度的馬達(dá),用來得到所需最佳場(chǎng)景視角。不過,這個(gè)馬達(dá)只能水平轉(zhuǎn)動(dòng),不能支持垂直方向的轉(zhuǎn)動(dòng)。
2014年7月,微軟發(fā)布了第二代Kinect for Window s,在水平和垂直方向上具有了更寬闊的深度和彩色視野,可以獲得1 080 p全高清彩色圖像,在聲音、彩色、深度和骨骼數(shù)據(jù)方面的也有提升,還增加了更多的手勢(shì)。本文采用第二代Kinect for Windows設(shè)備,其采集的RGBD圖像如圖1所示。
圖1 Kinect設(shè)備及采集的RGBD圖像
(2) 三維人臉造型技術(shù)。利用計(jì)算機(jī)構(gòu)造出一個(gè)具有真實(shí)感的人臉模型是制作人臉表情動(dòng)畫的前提,人臉本身的復(fù)雜性以及表情動(dòng)畫過程中人臉模型的變形可決定建模工作的難度。在進(jìn)行特定的人臉建模過程中,應(yīng)該根據(jù)不同的需要采用不同的建模方法,才能取得更好的效果。
首先需要考慮的是人臉三維模型的表示方法,目前常用的表示方法包括2種[7]:①單曲面模型,這種方法常用三角網(wǎng)格面來表示,也有用NURBS或四邊形網(wǎng)格表示的。②層次模型,這種模型以根據(jù)人臉生理組織而建立的物理肌肉模型為主。這 2種表示方法對(duì)于不同的需求,有其自己的優(yōu)缺點(diǎn)。單曲面模型表示法比較簡(jiǎn)單、易于渲染但模型的真實(shí)感及表情控制效果都不如層次模型好。
其次須考慮的是人臉建模過程。常用的有 2種方法:①利用普通人臉模型修改得到特定人臉造型。這種方法是利用預(yù)先建立的一個(gè)可以稱之為大眾臉的普通人臉模型,定義一系列的特征點(diǎn),根據(jù)采集到的特定人臉圖像以及定義的一種算法規(guī)則來交互式的修改這些特征點(diǎn),從而建立特定人物的人臉模型。②根據(jù)拍攝的圖像序列或視頻序列直接進(jìn)行特定人臉的建模。這種方法是通過一系列從不同角度拍攝的特定人臉的圖像或者是視頻,利用三維重建的思想在一個(gè)二維的人臉網(wǎng)格上計(jì)算出各點(diǎn)的深度信息,然后直接利用一些建模軟件得到特定人物的人臉模型。
(3) 基于 Kinect的人臉表情捕捉及動(dòng)畫模擬流程?;?Kinect的人臉表情捕捉及動(dòng)畫模擬系統(tǒng)的基本過程設(shè)想如下:利用 Kinect設(shè)備捕捉表演者的臉部,采集并優(yōu)化臉部數(shù)據(jù),提取相關(guān)表情參數(shù);利用Autodesk Maya動(dòng)畫軟件建立對(duì)應(yīng)的人臉三維模型,將建立好的模型以及提取的表情參數(shù)擬合并導(dǎo)入到OGRE動(dòng)畫引擎,在OGRE中渲染生成實(shí)時(shí)人臉表情模擬動(dòng)畫,如圖2所示。
圖2 系統(tǒng)流程圖
1.1 Kinect數(shù)據(jù)采集
使用第二代的Kinect for Windows作為表情捕捉設(shè)備,可以得到的原始數(shù)據(jù)包括 1920×1080的高清RGB圖像以及對(duì)應(yīng)可視范圍內(nèi)的深度圖像。數(shù)據(jù)以每秒30幀的速率刷新,得到不同時(shí)刻的人臉表情變化圖像序列,進(jìn)行實(shí)時(shí)面部表情捕捉。開發(fā)人員可以通過 Microsoft Kinect for Windows SDK 2.0中提供的接口獲取需要的數(shù)據(jù)以供其他應(yīng)用程序使用。
Kinect作為一種新型的數(shù)據(jù)采集設(shè)備,使用Kinect的優(yōu)勢(shì)包括:Kinect設(shè)備本身價(jià)格低廉,尺寸也比較小,方便使用,對(duì)于環(huán)境的要求低;Kinect提供額外的三維深度圖像,使得人臉數(shù)據(jù)采集和表情參數(shù)提取更加方便與準(zhǔn)確。另外,相比于傳統(tǒng)需要穿戴特定物理設(shè)備或使用臉部標(biāo)記點(diǎn)的表情捕捉方法,使用 Kinect可以非侵入式的進(jìn)行數(shù)據(jù)采集。不過,由于第二代Kinect for Windows本身設(shè)備的限制,對(duì)開發(fā)電腦的配置要求相對(duì)較高。
實(shí)驗(yàn)過程中,表演者需站在或坐在設(shè)置調(diào)整好參數(shù)的 Kinect攝像頭的前面,表演不同的表情狀態(tài),即可實(shí)現(xiàn)表情數(shù)據(jù)的自動(dòng)捕捉。
1.2 Kinect Fusion算法進(jìn)行數(shù)據(jù)優(yōu)化
正常情況下,Kinect采集得到的深度數(shù)據(jù)只是單一角度的二維視圖,而且捕捉到的數(shù)據(jù)會(huì)帶有很多的噪點(diǎn),這對(duì)后續(xù)的數(shù)據(jù)處理帶來不便。所以為了減少噪點(diǎn),本文采用 Kinect Fusion算法[8]將從對(duì)象的不同角度得到的深度數(shù)據(jù)聚合生成一個(gè)全局的表面模型,經(jīng)過Fusion算法處理得到某一特定幀的光滑、精細(xì)的深度圖像,如圖3所示。另外,在 Kinect前面的表演者通過輕微的轉(zhuǎn)動(dòng)頭部,加上Kinect Fusion算法的計(jì)算就可以得到表演者頭部的三維信息,這些數(shù)據(jù)可以用于Maya三維模型的制作過程。
圖3 采集的RGBD圖像和Fusion處理后的面部圖像
1.3 表情參數(shù)提取
Kinect拍攝得到了1 080 p高清RGB圖像和深度圖像之后,通過對(duì) Kinect深度圖像數(shù)據(jù)的處理和分析,可以實(shí)現(xiàn)對(duì)人臉的識(shí)別、跟蹤和表情參數(shù)的提取。
在第二代的Kinect For Windows中,也具有對(duì)人臉進(jìn)行跟蹤和分析的算法,這種算法的核心是先用基于 Adaboost的人臉檢測(cè)算法進(jìn)行人臉檢測(cè),再利用AAM算法進(jìn)行人臉識(shí)別與跟蹤[9]。
通過對(duì)人臉進(jìn)行跟蹤與分析,利用參數(shù)計(jì)算載體模型來計(jì)算需要的表情參數(shù),即:
其中,F(xiàn)為所有的頂點(diǎn)向量構(gòu)成的整個(gè)模型的矩陣,F(xiàn)0為標(biāo)準(zhǔn)模型矩陣,S為形狀單元,A為動(dòng)畫單元。R、t分別為人臉的旋轉(zhuǎn)變換參數(shù)和位移變換參數(shù),β、α分別為人臉的靜態(tài)和動(dòng)態(tài)控制參數(shù)。
將 Kinect得到的三維深度數(shù)據(jù)點(diǎn)與載體模型中的點(diǎn)進(jìn)行配準(zhǔn),在配準(zhǔn)過程中利用對(duì)能量項(xiàng)的不斷迭代最小化就可以計(jì)算出所需要的 R、t、β 和α。最終通過轉(zhuǎn)化可以獲得頭部旋轉(zhuǎn)四元數(shù)以及17個(gè)動(dòng)畫單元的權(quán)重值,其中的這17個(gè)動(dòng)畫單元具有很強(qiáng)的表情代表性,組合起來可以實(shí)現(xiàn)幾乎所有的人類表情,而這些權(quán)重值在–1到1范圍之內(nèi),表征此時(shí)人臉表情中各個(gè)動(dòng)畫單元的比例,組合每一個(gè)動(dòng)畫單元及其對(duì)應(yīng)的權(quán)重值,可以形成某一個(gè)特定的表情。
假如使用B=[b0,b1,b2,··,b17]來表示這17個(gè)動(dòng)畫單元,那么任何一個(gè)捕捉到的用戶表情都可以用下面的公式表示:
其中,b0為自然表情,ΔB=[b1?b0,b2?b0,…,b1?b0],x為對(duì)應(yīng)的動(dòng)作單元權(quán)重值。
頭部旋轉(zhuǎn)四元數(shù)可以轉(zhuǎn)換為以歐拉角表示的Yaw、Pitch和Roll,3個(gè)數(shù)據(jù)可以被OGRE直接使用來模擬頭部的運(yùn)動(dòng)情況。
由于Kinect以每秒30幀的速度采集數(shù)據(jù),所以每次刷新 Kinect數(shù)據(jù)時(shí),都可以獲取到此刻的表情參數(shù),把這些表情參數(shù)傳遞給OGRE中的相關(guān)方法,就可以實(shí)現(xiàn)表情動(dòng)畫的合成與渲染。
在 Kinect采集到表演者的面部數(shù)據(jù),利用Fusion算法優(yōu)化數(shù)據(jù)并提取出所需要的表情參數(shù)之后,還需要建立人臉三維模型,才能在 OGRE中實(shí)現(xiàn)實(shí)時(shí)的人臉表情動(dòng)畫模擬,這里采用Autodesk M aya建模軟件建立三維模型。
2.1 Maya模型建立與Blendshape重構(gòu)
為了建立在動(dòng)畫渲染過程中使用的三維人臉模型,采用了 Maya2013建模軟件。Maya是Autodesk公司的一款三維動(dòng)畫制作軟件,提供了優(yōu)秀的 3D 建模、動(dòng)畫、特效和高效的渲染功能,經(jīng)常被用于各種三維建模、游戲角色動(dòng)畫和電影特效渲染中。
首先是對(duì)自然表情的人臉模型進(jìn)行建模,可以利用在Fusion算法中得到的表演者頭部三維數(shù)據(jù)信息來輔助建立,以提高三維模型的質(zhì)量,之后再附上貼圖材質(zhì)就可以得到真實(shí)感模型。
建立好了自然表情的三維模型之后,對(duì)應(yīng)于17個(gè)動(dòng)畫單元也需要分別建立一個(gè)3D模型,如圖4所示,然后利用Maya中的創(chuàng)建Blendshape動(dòng)畫功能將每一個(gè)動(dòng)作單元對(duì)應(yīng)的表情模型作為一個(gè)Blendshape,保存并導(dǎo)出為以.mesh為后綴格式的文件,就可以進(jìn)行下一步動(dòng)畫制作。
圖4 Maya建立的人頭模型
2.2 OGRE引擎驅(qū)動(dòng)動(dòng)畫
OGRE是一款面向?qū)ο蟮拈_源3D圖形渲染引擎,其按照自己的規(guī)則對(duì)比較底層的圖形系統(tǒng)庫OpenGL和Direct3D進(jìn)行了抽象和封裝,為用戶開發(fā)提供了方便;同時(shí),也支持很多平臺(tái)下的開發(fā),當(dāng)然也包括Windows平臺(tái)。OGRE由許多功能模塊組成,不僅能渲染各種靜態(tài)場(chǎng)景,還能渲染粒子系統(tǒng)、骨骼動(dòng)畫和臉部表情動(dòng)畫,所以也經(jīng)常被用于各種應(yīng)用程序和游戲中。
Maya建立好的三維模型可以直接被OGRE所識(shí)別并使用。這樣,利用OGRE中的類及接口,結(jié)合Windows平臺(tái)下的VS2010開發(fā)環(huán)境,就可以編寫相應(yīng)的代碼來渲染模型動(dòng)畫。如圖5所示,將包含一個(gè)自然表情和17個(gè)基礎(chǔ)動(dòng)畫單元的mesh文件導(dǎo)入到OGRE,這里顯示了其中3個(gè)基礎(chǔ)動(dòng)畫單元狀態(tài)。
圖5 Maya模型導(dǎo)入OGRE中
本文使用的是OGRE頂點(diǎn)動(dòng)畫中的姿勢(shì)動(dòng)畫,主要調(diào)用OGRE SDK中的API函數(shù)來實(shí)現(xiàn)動(dòng)畫功能,具體流程如下:
(1) 調(diào)用OgreMeshManager類中的load方法加載Maya導(dǎo)出的.mesh格式3D模型;
(2) 調(diào)用createAnimation方法創(chuàng)建動(dòng)畫;
(3) 調(diào)用createVertexTrack方法創(chuàng)建頂點(diǎn)軌跡跟蹤;
(4) 調(diào)用createVertexPoseKeyFrame方法創(chuàng)建頂點(diǎn)姿勢(shì)關(guān)鍵幀;
(5) 調(diào)用 addPoseReference方法把這 17個(gè)Blendshape導(dǎo)入作為OGRE姿勢(shì)動(dòng)畫的參考Pose;
(6) 調(diào)用 updatePoseReference方法更新關(guān)鍵幀的姿勢(shì);
(7) 調(diào)用 getParent()->_notifyDirty()方法來通知系統(tǒng)更新動(dòng)畫顯示。
當(dāng)每次 Kinect數(shù)據(jù)刷新時(shí),會(huì)得到關(guān)于這每一個(gè)Blendshape的權(quán)重值,把權(quán)重值賦給OGRE中對(duì)應(yīng)的Pose,組合這些Pose就能夠得到該特定時(shí)刻的表情,從而實(shí)時(shí)模仿出表演者此時(shí)的表情狀態(tài),隨著每一幀數(shù)據(jù)的到來,就形成了表情動(dòng)畫。
此外,把Kinect獲取到此時(shí)的頭部旋轉(zhuǎn)四元數(shù)轉(zhuǎn)化為 Yaw,Pitch 和 Roll,然后調(diào)用SetYaw PitchDist方法設(shè)置攝像機(jī)的位置,可以模仿頭部運(yùn)動(dòng)的效果。
本次實(shí)驗(yàn)利用的設(shè)備環(huán)境包括:第二代Microsoft Kinect For Windows一臺(tái)、筆記本電腦一臺(tái)(CPU:Intel Core i7-4710HQ,顯卡:NVIDIA GeForce GTX 850 M,8 G內(nèi)存,Windows 8操作系統(tǒng))。
在實(shí)驗(yàn)過程中,首先對(duì)整個(gè)系統(tǒng)能否實(shí)現(xiàn)所需功能,得到最終的表情動(dòng)畫進(jìn)行了測(cè)試。然后為了驗(yàn)證該系統(tǒng)在表情捕捉方面的實(shí)際應(yīng)用能力,在實(shí)驗(yàn)中還分析了系統(tǒng)對(duì)與光照環(huán)境條件、驅(qū)動(dòng)距離等參數(shù)的需求影響,結(jié)果表明此次研究提出的利用Kinect來進(jìn)行表情捕捉具有一定的可行性,開發(fā)的系統(tǒng)也具有較強(qiáng)的魯棒性。
圖 6為實(shí)驗(yàn)過程中表演者幾個(gè)不同的表情和系統(tǒng)在OGRE人臉動(dòng)畫中驅(qū)動(dòng)得到的對(duì)應(yīng)動(dòng)畫模擬結(jié)果截圖。實(shí)驗(yàn)結(jié)果表明,按照本文給出的整個(gè)系統(tǒng)流程,可以得到所需要的功能,實(shí)現(xiàn)對(duì)表演者的表情捕捉和實(shí)時(shí)的動(dòng)畫模擬,系統(tǒng)最終能夠輸出展示效果不錯(cuò)的虛擬角色表情動(dòng)畫。
圖6 用戶實(shí)時(shí)表情動(dòng)畫模擬結(jié)果
如圖7所示,通過對(duì)表演者與Kinect不同距離下的人臉表情捕捉精度實(shí)驗(yàn)結(jié)果分析,人與Kinect設(shè)備之間最佳距離在 1 m 左右。而經(jīng)過Fusion優(yōu)化之后得到的人臉表情效果相比于直接利用深度圖的表情效果也有很大的提升,所以利用Fusion算法進(jìn)行優(yōu)化是必要的。
圖7 人與Kinect的距離對(duì)表情捕捉精度的影響,以及是否對(duì)深度圖像進(jìn)行Fusion處理對(duì)結(jié)果的影響
如圖 8所示,為了驗(yàn)證系統(tǒng)對(duì)于光照環(huán)境變化的適應(yīng)能力,在不同光照環(huán)境下做了實(shí)驗(yàn)分析,結(jié)果表明系統(tǒng)在不同光照環(huán)境下對(duì)于人臉的捕捉和提取的表情參數(shù)沒有明顯的差距,因此系統(tǒng)對(duì)于光照環(huán)境沒有特殊的要求,具有廣泛的適應(yīng)能力。
圖8 光照條件對(duì)表情捕捉精度的影響
綜合所有實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),得到的虛擬角色表情與真實(shí)表演者的表情基本一致,達(dá)到了表情動(dòng)畫的實(shí)際應(yīng)用水平,同時(shí)具有一定的實(shí)用性,可以用在大部分的虛擬現(xiàn)實(shí)場(chǎng)景中。但是系統(tǒng)本身的限制導(dǎo)致了一定誤差的存在,其誤差主要來源于Kinect本身,到目前為止,Kinect主要還是被用于人肢體和骨骼運(yùn)動(dòng)的捕捉,對(duì)于人的臉部在 Kinect圖像數(shù)據(jù)中只占有很小像素的一部分,所以對(duì)于面部表情的捕捉在精度上還不夠優(yōu)秀。同時(shí),系統(tǒng)中人臉表情捕捉的速度為每秒24幀,在OGRE中顯示的虛擬人物表情相比于表演者會(huì)有大概0.1 s的延遲,雖然實(shí)時(shí)性不是特別完美,但這還是在可以接受的范圍之內(nèi),這一問題也可以在進(jìn)一步的研究中尋找優(yōu)化解決方法。
本文對(duì)基于 Kinect的人臉表情捕捉與動(dòng)畫模擬方法進(jìn)行了研究,給出了此次研究的思路與流程,首先利用 Kinect進(jìn)行表情捕捉,優(yōu)化采集的面部數(shù)據(jù)并提取所需要的表情參數(shù),然后利用Maya進(jìn)行三維模型制作并在OGRE驅(qū)動(dòng)引擎中實(shí)現(xiàn)表情模擬動(dòng)畫的渲染,最后對(duì)總體方案進(jìn)行了實(shí)驗(yàn)驗(yàn)證。實(shí)驗(yàn)結(jié)果表明本文提出的方法可以取得不錯(cuò)的效果,達(dá)到了動(dòng)畫的基本要求,同時(shí)本文提出的利用 Kinect來捕捉人臉表情,不需要前期的訓(xùn)練學(xué)習(xí)與校準(zhǔn),這種簡(jiǎn)單高效的捕捉方法以及廉價(jià)的捕捉設(shè)備,也使得本文提出的方法易于用在各種娛樂游戲或虛擬現(xiàn)實(shí)的應(yīng)用中,具有一定的實(shí)用性。下一步的研究將從動(dòng)畫的實(shí)時(shí)性和精度著手,優(yōu)化算法來得到更好的效果。
[1] Parke F I. Computer generated animation of faces [C]// ACM National Conference. ACM’72 Proceedings of the ACM Annual Conference-Volume 1. New York: ACM Press, 1972: 451-457.
[2] Pandzic I S, Forchheimer R. MPEG-4 facial animation: the standard, implementations and applications [M]. New York: John Wiley & Sons, 2003: 1-328.
[3] Ekman P, Friesen W V. Facial action coding system: a technique for the measurement of facial movement [M]. Palo A lto: Consulting Psychologists, 1978: 38-43.
[4] Oka M, Tsutsui K, Ohba A, et al. Real-time manipulation of texture-mapped surface [C]//ACM SIGGRAPH Computer Graphics. SIGGRAPH’87 Proceedings of the 14th Annual Conference on Computer Graphics and Interactive Techniques. New York: ACM Press, 1987: 181-188.
[5] Seitz S M, Dyer C R. View morphing [C]//ACM SIGGRAPH Computer Graphics. SIGGRAPH’96 Proceedings of the 23rd Annual Conference on Computer Graphics and Interactive Techniques. New York: ACM Press, 1996: 21-30.
[6] 石曼銀. Kinect技術(shù)與工作原理的研究[J]. 哈爾濱師范大學(xué)自然科學(xué)學(xué)報(bào), 2013, 29(3): 83-86.
[7] 鄒北驥. 人臉造型與面部表情動(dòng)畫技術(shù)研究[D]. 長(zhǎng)沙: 湖南大學(xué), 2001.
[8] Izadi S, Kim D, Hilliges O, et al. Kinect fusion: real-time 3D reconstruction and interaction using a moving depth camera [C]//UIST’11 Proceedings of the 24th Annual ACM Symposium on User Interface Software and Technology. New York: ACM Press, 2011: 559-568.
[9] Cao Z M, Yin Q, Tang X O, et al. Face recognition with learning-based descriptor [C]//Computer Vision and Pattern Recognition (CVPR). New York: IEEE Press, 2010: 2707-2714.
Research on System of Facial Expression Capture and Animation Simulation Based on Kinect
He Qinzheng, Wang Yunqiao
(School of Mechanical Engineering and Automation, Beihang University, Beijing 100083, China)
The technical of 3D human facial expression animation is a subject which has potential application and fatal research significance. This paper proposes a facial expression animation solution based on Microsoft Kinect device after the research of existing facial expression capture technology and animation synthesis technology. First, Kinect device is used to capture the face data and relevant expression parameters are extracted, at the same time, a three-dimensional model of face is reconstructed with Autodesk Maya animation software. Then the model is imported to OGRE animation engine and the expression parameters transferred to OGRE in which real time facial expression animation is rendered at last. Experiment results show that the method can provide an acceptable and reliable real-time facial expression animation. Compared to other existing facial expression animation technologies, the system is easier to operate with rather inexpensive device.
Kinect; expression capture; facial animation; Maya; OGRE
TP 391
10.11996/JG.j.2095-302X.2016030290
A
2095-302X(2016)03-0290-06
2015-07-08;定稿日期:2015-10-14
何欽政(1993–),男,江西樂平人,碩士研究生。主要研究方向?yàn)橛?jì)算機(jī)圖形學(xué)。E-mail:574332581@qq.com