專利名稱:一種基于面部表情捕捉的圖像自適應(yīng)逐幀追蹤方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于面部表情捕捉的圖像自適應(yīng)逐幀追蹤方法。
背景技術(shù):
人臉運(yùn)動捕捉數(shù)據(jù)處理的人臉表情動畫很大程度上依賴于運(yùn)動數(shù)據(jù)處理的精度。 傳統(tǒng)的數(shù)據(jù)追蹤方法主要分為兩種一.分步靜態(tài)追蹤。該方法中追蹤與修復(fù)分步進(jìn)行,首先根據(jù)采集的捕捉數(shù)據(jù)的特點(diǎn)設(shè)定合理的靜態(tài)追蹤半徑,掃描所有的幀數(shù)據(jù),若在追蹤半徑范圍之內(nèi)存在滿足條件的點(diǎn),則該點(diǎn)為有效點(diǎn),否則,視該點(diǎn)為缺失點(diǎn),以此識別出所有的有效點(diǎn)與缺失點(diǎn)。其次, 在追蹤完所有幀數(shù)據(jù)之后,對識別出的所有缺失數(shù)據(jù)進(jìn)行修復(fù),得到完整的運(yùn)動數(shù)據(jù)。該方法首先根據(jù)靜態(tài)追蹤識別出所有的有效點(diǎn)與缺失點(diǎn),然后在追蹤后的數(shù)據(jù)上修復(fù)缺失數(shù)據(jù)。然而由于該方法中數(shù)據(jù)追蹤與修復(fù)分步進(jìn)行,所以追蹤過程是在非完整數(shù)據(jù)上進(jìn)行的,因此追蹤的數(shù)據(jù)不夠精確,容易出現(xiàn)錯誤追蹤。而且在追蹤過程中設(shè)置的追蹤半徑是(固定的)靜態(tài)的,每個標(biāo)記點(diǎn)的追蹤半徑在整個追蹤過程中保持一成不變,不適應(yīng)人臉表情運(yùn)動時的幾何局部結(jié)構(gòu)變化。采用該方法重構(gòu)人臉表情動畫,最終生成的表情動畫容易產(chǎn)生扭曲變形,不夠自然,缺乏真實性。二.逐幀靜態(tài)追蹤。傳統(tǒng)的數(shù)據(jù)追蹤方法中,另一種數(shù)據(jù)追蹤方法為逐幀靜態(tài)追蹤。該方法中數(shù)據(jù)追蹤與修復(fù)同步進(jìn)行逐幀操作,首先,根據(jù)捕捉的數(shù)據(jù)特點(diǎn)設(shè)定合理的靜態(tài)閾值作為追蹤半徑,根據(jù)追蹤半徑對當(dāng)前幀數(shù)據(jù)進(jìn)行追蹤,識別出當(dāng)前幀中有效點(diǎn)及缺失點(diǎn)。然后,對追蹤后當(dāng)前幀的缺失數(shù)據(jù)進(jìn)行修復(fù)。最后,以修復(fù)后的幀數(shù)據(jù)作為下一幀追蹤的基礎(chǔ),重復(fù)追蹤過程。逐幀靜態(tài)追蹤方法明顯區(qū)別于分步靜態(tài)追蹤,該方法在追蹤完一幀后即對當(dāng)前幀中缺失數(shù)據(jù)進(jìn)行修復(fù),以修復(fù)后的完整數(shù)據(jù)為基礎(chǔ),進(jìn)行下一幀的數(shù)據(jù)追蹤,因此該方法要求具有魯棒的數(shù)據(jù)修復(fù)方法。逐幀追蹤的數(shù)據(jù)較分步靜態(tài)追蹤準(zhǔn)確。采用該方法重構(gòu)后的人臉表情運(yùn)動真實,但不夠光順。主要是因為追蹤半徑是靜態(tài)的,不符合人臉表情運(yùn)動的幾何局部結(jié)構(gòu)變化,追蹤后的數(shù)據(jù)與真實的數(shù)據(jù)存在一定的誤差。
發(fā)明內(nèi)容
本發(fā)明針對以上問題的提出,而研制的一種面部表情捕捉的圖像自適應(yīng)逐幀追蹤方法,具有如下步驟a.選擇具有多個標(biāo)記點(diǎn)的一幀人臉表情圖像作為當(dāng)前幀,計算所述當(dāng)前幀中多個標(biāo)記點(diǎn)的位置與前一幀中最鄰近標(biāo)記點(diǎn)位置的兩點(diǎn)間距離的平均值I ;b.根據(jù)步驟a得出的平均值與經(jīng)驗值,設(shè)定多條長度不同的追蹤半徑;C.計算前一巾貞中,當(dāng)前點(diǎn)與當(dāng)前巾貞的最小距離值II,根據(jù)該值II選擇步驟b中的多條追蹤半徑中的一條作為當(dāng)前幀標(biāo)記點(diǎn)的追蹤半徑;d.通過檢測當(dāng)前幀中標(biāo)記點(diǎn)是否在以該標(biāo)記點(diǎn)在上一幀的位置為圓心、半徑為追
4蹤半徑的圓中,判斷該點(diǎn)是否為缺失點(diǎn);e.針對步驟d中檢測到的缺失點(diǎn)的數(shù)據(jù),進(jìn)行數(shù)據(jù)修復(fù);f.檢測是否存在錯誤追蹤,若不存在錯誤追蹤,則完成當(dāng)前幀所有標(biāo)記點(diǎn)的追蹤, 進(jìn)行下一幀的追蹤;若存在錯誤追蹤,則修改追蹤半徑,重新追蹤整個當(dāng)前幀數(shù)據(jù)標(biāo)記點(diǎn), 重復(fù)步驟b-f。在步驟a之前還包括在面部標(biāo)定多個標(biāo)記點(diǎn),輸入每個標(biāo)記點(diǎn)的運(yùn)動特征的數(shù)據(jù),針對每個標(biāo)記點(diǎn)設(shè)定。在步驟f之后,對當(dāng)前幀圖像進(jìn)行降噪處理對每個標(biāo)記點(diǎn)的運(yùn)行軌跡采用三階B 樣條曲線進(jìn)行曲線擬合。所述步驟a的運(yùn)算公式為
權(quán)利要求
1.一種面部表情捕捉的圖像自適應(yīng)逐幀追蹤方法,其特征在于具有如下步驟a.選擇具有多個標(biāo)記點(diǎn)的一幀人臉表情圖像作為當(dāng)前幀,計算所述當(dāng)前幀中多個標(biāo)記點(diǎn)的位置與前一幀中最鄰近標(biāo)記點(diǎn)位置的兩點(diǎn)間距離的平均值I ;b.根據(jù)步驟a得出的平均值與經(jīng)驗值,設(shè)定多條長度不同的追蹤半徑;c.計算前一巾貞中,當(dāng)前點(diǎn)與當(dāng)前巾貞的最小距離值II,根據(jù)該值II選擇步驟b中的多條追蹤半徑中的一條作為當(dāng)前幀標(biāo)記點(diǎn)的追蹤半徑;d.通過檢測當(dāng)前幀中標(biāo)記點(diǎn)是否在以該標(biāo)記點(diǎn)在上一幀的位置為圓心、半徑為追蹤半徑的圓中,判斷該點(diǎn)是否為缺失點(diǎn);e.針對步驟d中檢測到的缺失點(diǎn)的數(shù)據(jù),進(jìn)行數(shù)據(jù)修復(fù);f.檢測是否存在錯誤追蹤,若不存在錯誤追蹤,則完成當(dāng)前幀所有標(biāo)記點(diǎn)的追蹤,進(jìn)行下一幀的追蹤;若存在錯誤追蹤,則修改追蹤半徑,重新追蹤整個當(dāng)前幀數(shù)據(jù)標(biāo)記點(diǎn),重復(fù)步驟b_f。
2.根據(jù)權(quán)利要求I所述的一種面部表情捕捉的圖像自適應(yīng)逐幀追蹤方法,其特征還在于在所述步驟a之前還包括在面部標(biāo)定多個標(biāo)記點(diǎn),輸入每個標(biāo)記點(diǎn)的運(yùn)動特征的數(shù)據(jù), 針對每個標(biāo)記點(diǎn)設(shè)定三維坐標(biāo)。
3.根據(jù)權(quán)利要求I所述的一種面部表情捕捉的圖像自適應(yīng)逐幀追蹤方法,其特征還在于在所述步驟f之后,對當(dāng)前幀圖像進(jìn)行降噪處理對每個標(biāo)記點(diǎn)的運(yùn)行軌跡采用三階B 樣條曲線進(jìn)行曲線擬合。
4.根據(jù)權(quán)利要求1-3任意權(quán)利要求所述的一種面部表情捕捉的圖像自適應(yīng)逐幀追蹤方法,其特征還在于所述步驟a的運(yùn)算公式為Y €*νρα :其中60為標(biāo)記點(diǎn)的個數(shù);所述步驟b所述的經(jīng)驗值為2,當(dāng)avedis < 2時,判定此時表情變化較小,此時設(shè)定追蹤半徑I,traceradiuSi = 3. 5Xavedis ;當(dāng)avedis > 2時判定此時表情變化較大,此時設(shè)定追蹤半徑2, traceradius2 = I. 5Xavedis。
5.根據(jù)權(quán)利要求4所述的一種面部表情捕捉的圖像自適應(yīng)逐幀追蹤方法,其特征還在于所述步驟c中計算所述前一幀中,當(dāng)前點(diǎn)與當(dāng)前幀的最小距離值II ■y](x - pt.xf + (y - pt.yf + (z - pt.zf其中Pt為當(dāng)前巾貞中的點(diǎn),X,y,z為當(dāng)前點(diǎn)的坐標(biāo)值。
6.根據(jù)權(quán)利要求I所述的一種面部表情捕捉的圖像自適應(yīng)逐幀追蹤方法,其特征還在于所述步驟e,數(shù)據(jù)修復(fù)的具體算法為找到某一缺失點(diǎn),設(shè)定前一幀中與當(dāng)前幀中均為非缺失點(diǎn)的3個相鄰點(diǎn),利用公式
7.根據(jù)權(quán)利要求I所述的一種面部表情捕捉的圖像自適應(yīng)逐幀追蹤方法,其特征還在于所述步驟f判定是否存在錯誤追蹤的采用如下公式Vec1. GetAngBeteen (vec2 false) = = Illvec1-GetvecModilusO = = O | | vec2. GetVecModilus O ==0其中Vec1 = Pti-Ptw表示Vec1為當(dāng)前巾貞中第i點(diǎn)與第i+Ι點(diǎn)組成的向量,Vec2 = Pti-PtH表示vec2為當(dāng)前巾貞中第i點(diǎn)與第i-Ι點(diǎn)組成的向量。Vec1. GetAngBtween (vec2 false) = = I表示向量I與向量2組成的夾角的余旋值為I,即兩向量相等,Vec1. GetVecModilus O==O表示向量I的模為O,即兩點(diǎn)重合;修改追蹤半徑的公式為運(yùn)動變化小時,修改追蹤半徑公式如下
全文摘要
本發(fā)明公開了一種本發(fā)明提出的自適應(yīng)逐幀數(shù)據(jù)追蹤算法,將捕捉的運(yùn)動數(shù)據(jù)分成了兩類,一類是運(yùn)動變化小且缺失非嚴(yán)重,另一類為運(yùn)動變化大或缺失嚴(yán)重,根據(jù)不同類別的運(yùn)動數(shù)據(jù)設(shè)置不同的追蹤半徑,以此最大限度的追蹤有效數(shù)據(jù),獲得臉部運(yùn)動變化的細(xì)節(jié)信息,且該過程中數(shù)據(jù)追蹤與修復(fù)同步進(jìn)行,是逐幀操作的,可以在追蹤完當(dāng)前幀后,為下一幀的精確追蹤做好準(zhǔn)備。該算法可以實時地檢測出錯誤追蹤并及時的修改追蹤半徑。因為本發(fā)明提出的自適應(yīng)動態(tài)追蹤是逐幀進(jìn)行的,這樣在及時發(fā)現(xiàn)錯誤追蹤的時候可以以較小的代價修正,為下一幀數(shù)據(jù)的追蹤效果作好了基礎(chǔ),得到了更精確的追蹤數(shù)據(jù)。
文檔編號G06T7/20GK102609952SQ20111038541
公開日2012年7月25日 申請日期2011年11月28日 優(yōu)先權(quán)日2011年11月28日
發(fā)明者張強(qiáng), 梁小英, 魏小鵬 申請人:大連大學(xué)