專利名稱:在單目臉部跟蹤中使用數(shù)據(jù)驅(qū)動(dòng)模型的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及圖像處理的領(lǐng)域。更具體地,本發(fā)明涉及在單目臉部跟蹤(monocular face tracking)中使用數(shù)據(jù)驅(qū)動(dòng)模型的方法和系統(tǒng)。
背景技術(shù):
單目臉部跟蹤是基于由固定攝像機(jī)所得到的單目圖像序列來估計(jì)臉部運(yùn)動(dòng)、位置和形狀的過程。單目臉部跟蹤是如電視會(huì)議系統(tǒng)等的許多圖像處理系統(tǒng)的主要過程。例如,在電視會(huì)議系統(tǒng)中,通過估計(jì)臉部的運(yùn)動(dòng)和位置,需要交換或處理的臉部數(shù)據(jù)或信息總量就減少了。換言之,可以交換或處理與要估計(jì)的臉部運(yùn)動(dòng)、位置和形狀相關(guān)的參數(shù)來輸出一個(gè)圖像序列,來代替交換或處理大量的圖像數(shù)據(jù)。
一種臉部跟蹤系統(tǒng)是基于標(biāo)識(shí)的臉部跟蹤系統(tǒng)(“標(biāo)識(shí)臉部跟蹤系統(tǒng)”)。在標(biāo)識(shí)臉部跟蹤系統(tǒng)中,要求用戶在已知的位置戴上彩色的“標(biāo)識(shí)”。于是這些標(biāo)識(shí)的運(yùn)動(dòng)被參數(shù)化以估計(jì)臉部的位置和形狀。標(biāo)識(shí)臉部跟蹤系統(tǒng)的一個(gè)缺點(diǎn)就是對(duì)用戶的干擾。具體地說,用戶必須在臉部的不同位置放置許多彩色標(biāo)識(shí)。另外,用戶要花時(shí)間來戴標(biāo)識(shí),這讓使用這樣的系統(tǒng)更加復(fù)雜。
另一種臉部跟蹤系統(tǒng)是基于模型的臉部跟蹤系統(tǒng)?;谀P偷哪槻扛櫹到y(tǒng)使用參數(shù)化的臉部形狀模型,該模型可用來估計(jì)臉部位置和運(yùn)動(dòng)。在現(xiàn)有的基于模型的臉部跟蹤系統(tǒng)中,參數(shù)化模型用手工過程來構(gòu)建,例如,通過使用3D掃描儀或計(jì)算機(jī)輔助設(shè)計(jì)(CAD)建模器。因此,現(xiàn)有的基于模型的臉部跟蹤系統(tǒng)的一個(gè)缺點(diǎn)就是臉部形狀模型的手工構(gòu)建十分特定,這導(dǎo)致要用試錯(cuò)法得到跟蹤模型。這樣一種特定過程提供的是不精確和次優(yōu)的模型。
本發(fā)明通過附圖用示例而非限制的方式來說明,其中相似的標(biāo)記指示類似的部件,其中圖1圖示了一個(gè)實(shí)施本發(fā)明的示例的計(jì)算系統(tǒng);圖2圖示了根據(jù)一個(gè)實(shí)施例使用數(shù)據(jù)驅(qū)動(dòng)模型來進(jìn)行單目跟蹤的操作的流程圖;圖3圖示了為構(gòu)建圖2中的數(shù)據(jù)驅(qū)動(dòng)模型的示例的用于立體跟蹤的立體輸入圖像序列;圖4圖示了從立體輸入序列所學(xué)習(xí)的示例的變形的四維空間;圖5圖示了用于單目跟蹤的示例的輸入圖像序列;圖6圖示了根據(jù)一個(gè)實(shí)施例進(jìn)行圖2中的立體跟蹤的操作的流程圖;圖7圖示了根據(jù)一個(gè)實(shí)施例計(jì)算圖2中的主形狀向量的操作的流程圖;以及圖8圖示了根據(jù)一個(gè)實(shí)施例進(jìn)行圖2中的單目跟蹤的流程圖。
具體實(shí)施例方式
下面描述一種在單目臉部跟蹤中使用數(shù)據(jù)驅(qū)動(dòng)模型的方法和系統(tǒng),其提供了一種在用單個(gè)攝像機(jī)得到的圖像序列中跟蹤三維(3D)物體,如臉部的通用的系統(tǒng)。在一個(gè)實(shí)施例中,得到了基于輸入圖像序列的立體數(shù)據(jù)(stereo data)。用所得到的立體數(shù)據(jù)構(gòu)建了3D模型。用所構(gòu)建的3D模型跟蹤單目圖像序列。在一個(gè)實(shí)施例中,主元分析(PCA)被應(yīng)用到所述立體數(shù)據(jù)上來學(xué)習(xí)例如可能的臉部變形,并構(gòu)建數(shù)據(jù)驅(qū)動(dòng)3D模型(“3D臉部模型”)。所述3D臉部模型將一般的形狀(例如臉部姿勢(shì))作為基于PCA分析的形狀基向量的線性組合來近似。
通過使用真實(shí)的立體,可以計(jì)算出少量的形狀基向量來構(gòu)建3D模型,這提供了很多好處。例如,只用少量的(例如3或4個(gè))形狀基向量就可以生成多種面部表情,如笑、說話和抬眉毛等等。另外,可以用一個(gè)或多個(gè)用戶的立體數(shù)據(jù)構(gòu)建一個(gè)3D模型并存儲(chǔ)在數(shù)據(jù)庫中,即使一個(gè)新用戶的立體數(shù)據(jù)并未存儲(chǔ)在所述數(shù)據(jù)庫中也可以在其中跟蹤例如所述新用戶的臉。
此外,通過使用基于輸入圖像序列的立體數(shù)據(jù)構(gòu)建3D模型,就可以不使用干擾性的標(biāo)識(shí)而做到對(duì)姿勢(shì)和臉部變形的單目臉部跟蹤。本文描述的3D臉部模型為對(duì)單個(gè)圖像序列同時(shí)跟蹤姿勢(shì)和臉部變形(“單目跟蹤”)提供了低復(fù)雜度的可變模型。
以下實(shí)施例描述了一個(gè)不使用干擾性標(biāo)識(shí)的,跟蹤單個(gè)攝像機(jī)前的3D姿勢(shì)和臉部圖像的形狀(“臉部”)的系統(tǒng)。所述系統(tǒng)還提供了使用數(shù)據(jù)驅(qū)動(dòng)模型的魯棒的和精確的單目跟蹤。另外,所述系統(tǒng)還提供了普適化的特性,使得可以用同樣的3D模型來對(duì)多人進(jìn)行臉部跟蹤。
在以下描述中,單目跟蹤技術(shù)是對(duì)于3D臉部圖像的跟蹤來描述的。但是,本文描述的單目跟蹤技術(shù)并不限于任何具體類型的圖像,還可以對(duì)其他類型的3D圖像實(shí)施,例如運(yùn)動(dòng)的人體部分或無生命物體。
一般概述示例的計(jì)算系統(tǒng)圖1圖示了一個(gè)實(shí)施本發(fā)明的示例的計(jì)算系統(tǒng)100。本文描述的3D模型構(gòu)建技術(shù)和單目跟蹤技術(shù)可由計(jì)算系統(tǒng)100實(shí)施和利用。計(jì)算系統(tǒng)100可代表,例如,通用的計(jì)算機(jī)、工作站、便攜式計(jì)算機(jī)、手持式計(jì)算設(shè)備或其他類似的計(jì)算設(shè)備。計(jì)算系統(tǒng)100的部件是示例性的,其中可以去掉或添加一個(gè)或多個(gè)部件。例如,可在計(jì)算系統(tǒng)100中使用多個(gè)攝像設(shè)備128。
參照?qǐng)D1,計(jì)算系統(tǒng)100包括主單元110,該主單元110具有通過總線101耦合到顯示電路105、主存儲(chǔ)器104、靜態(tài)存儲(chǔ)器106和閃存107的中央處理單元(CPU)102和協(xié)處理器103。計(jì)算系統(tǒng)100的主單元110還可以通過總線101耦合到顯示器121、鍵盤輸入122、光標(biāo)控制123、硬拷貝設(shè)備124、輸入/輸出(I/O)設(shè)備125、海量存儲(chǔ)設(shè)備126以及攝像設(shè)備128。
總線101是傳遞信息和信號(hào)的標(biāo)準(zhǔn)系統(tǒng)總線。CPU 102和協(xié)處理器103是計(jì)算系統(tǒng)100的處理單元。CPU 102或協(xié)處理器103,或兩者都可用來為計(jì)算系統(tǒng)100處理信息和/或信號(hào)。CPU 102可用來處理代碼或指令來完成本文描述的3D數(shù)據(jù)驅(qū)動(dòng)模型構(gòu)建技術(shù)和單目跟蹤技術(shù)。作為替換,協(xié)處理器103可用來處理代碼或指令來完成和CPU 102一樣的技術(shù)。CPU102包括控制單元131、算術(shù)邏輯單元(ALU)132和若干寄存器133,它們可由CPU 102用作數(shù)據(jù)和信息處理的目的。協(xié)處理器103也可以包括和CPU 102類似的部件。
主存儲(chǔ)器104可以是例如隨機(jī)存取存儲(chǔ)器(RAM)或其他動(dòng)態(tài)存儲(chǔ)設(shè)備,來存儲(chǔ)計(jì)算系統(tǒng)100要用的數(shù)據(jù)、代碼或指令。在一個(gè)實(shí)施例中,主存儲(chǔ)器104可以存儲(chǔ)與輸入立體圖像序列和/或下面將進(jìn)一步詳細(xì)描述的3D數(shù)據(jù)驅(qū)動(dòng)模型相關(guān)的數(shù)據(jù)。主存儲(chǔ)器104還可存儲(chǔ)在CPU 102或協(xié)處理器103執(zhí)行代碼或指令過程中的臨時(shí)變量或其他中間數(shù)據(jù)。靜態(tài)存儲(chǔ)器106可以是例如只讀存儲(chǔ)器(ROM)和/或其他靜態(tài)存儲(chǔ)設(shè)備,該存儲(chǔ)器能存儲(chǔ)計(jì)算系統(tǒng)100要用的數(shù)據(jù)和/或代碼或指令。閃存107是可以用來為計(jì)算系統(tǒng)100存儲(chǔ)基本輸入/輸出系統(tǒng)(BIOS)代碼或指令的存儲(chǔ)設(shè)備。
顯示器121可以是例如陰極射線管(CRT)或液晶顯示器(LCD)。顯示設(shè)備121能向用戶顯示圖像、信息或圖片。計(jì)算系統(tǒng)100的主單元110能通過顯示電路105和顯示器121接口。鍵盤輸入122是為計(jì)算系統(tǒng)100傳遞信息和命令選擇的字母數(shù)字式的輸入設(shè)備。光標(biāo)控制123可以是例如鼠標(biāo)、觸摸板、軌跡球或光標(biāo)方向鍵,來在顯示器121上控制目標(biāo)移動(dòng)。硬拷貝設(shè)備124可以是例如激光打印機(jī),來在紙、膠片或其他類似媒體上打印信息。許多輸入/輸出(I/O)設(shè)備125可耦合到計(jì)算系統(tǒng)100上。例如,如揚(yáng)聲器這樣的I/O設(shè)備可連接到計(jì)算系統(tǒng)100上。海量存儲(chǔ)設(shè)備126可以是,例如,硬盤、可讀寫CD或DVD播放機(jī)或其他大容量存儲(chǔ)設(shè)備。攝像設(shè)備128可以是能用于本文描述的圖像處理技術(shù)的視頻圖像捕捉設(shè)備。在一個(gè)實(shí)施例中,攝像設(shè)備128包括DigiclopsTM攝像系統(tǒng),該系統(tǒng)提供了大小為640×480的彩色圖像時(shí)4幀/秒(fps)的平均幀速。
在一個(gè)實(shí)施例中,本文描述的3D數(shù)據(jù)驅(qū)動(dòng)模型構(gòu)建技術(shù)和單目跟蹤技術(shù)可被包含在計(jì)算系統(tǒng)100中的硬件和/或軟件模塊來完成。例如,CPU102或協(xié)處理器103能執(zhí)行存儲(chǔ)在機(jī)器可讀媒體,例如主存儲(chǔ)器104或靜態(tài)存儲(chǔ)器106中的代碼或指令,來處理立體輸入序列以構(gòu)建本文描述的3D數(shù)據(jù)驅(qū)動(dòng)模型。另外,CPU 102或協(xié)處理器103能執(zhí)行代碼或指令來使用本文描述的3D數(shù)據(jù)驅(qū)動(dòng)模型跟蹤單目輸入圖像。
機(jī)器可讀媒體可以包括以例如計(jì)算機(jī)或數(shù)字處理設(shè)備的機(jī)器的可讀形式,提供(即存儲(chǔ)和/或傳輸)信息的裝置。例如,機(jī)器可讀媒體可以包括只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、磁盤存儲(chǔ)媒體、光存儲(chǔ)媒體、閃存設(shè)備或其他類似存儲(chǔ)設(shè)備。代碼或指令能用載波信號(hào)、紅外信號(hào)、數(shù)字信號(hào)和其他類似信號(hào)表示。機(jī)器可讀媒體也可用來存儲(chǔ)本文描述的3D數(shù)據(jù)驅(qū)動(dòng)模型的數(shù)據(jù)庫。另外,可用一個(gè)或多個(gè)機(jī)器可讀媒體來存儲(chǔ)所述3D模型。
基本操作圖2圖示了根據(jù)一個(gè)實(shí)施例使用數(shù)據(jù)驅(qū)動(dòng)模型來進(jìn)行單目跟蹤的操作200的功能流程圖。參照?qǐng)D2,操作200包括兩個(gè)階段。第一個(gè)階段是指操作塊210或?qū)W習(xí)階段210。學(xué)習(xí)階段210通過在真實(shí)立體跟蹤數(shù)據(jù)上應(yīng)用主元分析(PCA)處理來學(xué)習(xí)可能的臉部變形空間,為單目跟蹤構(gòu)建3D數(shù)據(jù)驅(qū)動(dòng)模型。所述3D數(shù)據(jù)驅(qū)動(dòng)模型可用來將一般形狀作為形狀基向量的線性組合來近似。第二階段是指操作塊220,其中使用在所述學(xué)習(xí)階段構(gòu)建的3D數(shù)據(jù)驅(qū)動(dòng)模型來進(jìn)行單目跟蹤。通過使用所述3D數(shù)據(jù)驅(qū)動(dòng)模型,由單目或單個(gè)圖像序列能同時(shí)跟蹤例如臉部的圖像的姿勢(shì)和變形。操作200最初從學(xué)習(xí)階段210開始。
在學(xué)習(xí)階段210中,在操作塊202處,立體序列被輸入。例如,攝像設(shè)備128可包括第一攝像機(jī)和第二攝像機(jī),來從左視角和右視角捕捉圖像序列,如圖3所示。如圖3所示,第一和第二攝像機(jī)能從左視角和右視角捕捉一個(gè)人展現(xiàn)變化的臉部運(yùn)動(dòng)和姿勢(shì)的圖像序列,例如幀1到100。立體輸入序列能被輸入計(jì)算系統(tǒng)100來處理。
在操作塊204中,輸入的立體序列被跟蹤。具體地說,低復(fù)雜度的臉部網(wǎng)格(例如,如圖3所示的在臉部不同位置的十九個(gè)點(diǎn))被初始化,隨后用標(biāo)準(zhǔn)的光學(xué)流技術(shù)跟蹤。為了處理臉部的非剛性變形,每個(gè)點(diǎn)被獨(dú)立地跟蹤以得到臉部形狀軌跡。
在操作塊206中,對(duì)從被跟蹤的輸入立體序列得到的形狀軌跡開始應(yīng)用主元分析(PCA)處理。PCA是用來對(duì)嵌入在高維空間中的數(shù)據(jù)的低維表示進(jìn)行最優(yōu)估計(jì)的數(shù)學(xué)過程。PCA處理用于得到在單目跟蹤中使用的緊湊可變3D形狀模型(“3D形狀模型”)的主形狀向量。
在操作塊208中,主形狀向量被計(jì)算,這將在下面進(jìn)一步詳細(xì)解釋。一旦主形狀向量被計(jì)算出來,在單目跟蹤過程中的任何臉部運(yùn)動(dòng)或姿勢(shì)就能用主形狀向量的線性組合來近似。
在操作220(第二階段)中,用計(jì)算模型可對(duì)單目輸入序列進(jìn)行單目跟蹤。單目序列是由單個(gè)攝像機(jī)得到的圖像序列。例如,如圖5所示,在單目輸入序列中的各幀(例如,幀1到72)中,臉部的形狀可以用在學(xué)習(xí)階段210構(gòu)建的計(jì)算模型的主形狀向量的線性組合來近似。具體地說,當(dāng)一個(gè)人改變臉部表情和姿勢(shì)時(shí),所產(chǎn)生的序列的光學(xué)流信息可和計(jì)算模型一起用來跟蹤姿勢(shì)和臉部表情的改變。
以上操作可在示例的計(jì)算系統(tǒng)100中實(shí)施。例如,CPU 102可執(zhí)行代碼或指令來構(gòu)建3D模型和進(jìn)行PCA處理,這將在下面進(jìn)一步詳細(xì)描述。數(shù)據(jù)驅(qū)動(dòng)3D模型也可存儲(chǔ)在計(jì)算系統(tǒng)100的存儲(chǔ)設(shè)備中。在一個(gè)實(shí)施例中,數(shù)據(jù)驅(qū)動(dòng)3D模型是“可變臉部模型”,現(xiàn)在來描述該模型。
可變臉部模型以下說明描述了基于立體跟蹤數(shù)據(jù)創(chuàng)建可變臉部模型和單目跟蹤可變臉部模型所需的參數(shù)化。例如,參照?qǐng)D5,用本文描述的可變臉部模型可在3D空間中跟蹤單目臉部序列。
開始時(shí),設(shè)In是單目臉部序列的第n幀圖像,該序列如圖5所示有72幀。時(shí)間n時(shí)的每一幀的每張臉的3D結(jié)構(gòu)可用N個(gè)點(diǎn)Pni(i=1,...,N)的集合來表示。為進(jìn)行單目跟蹤,需要定義臉部參考幀和攝像機(jī)參考幀的坐標(biāo)向量。具體地說,設(shè)Xi(n)和Xci(n)=[Xci(n)Yci(n)Zci(n)]T]]>分別是臉部參考幀和攝像機(jī)參考幀中點(diǎn)Pni的坐標(biāo)向量。
然后向量Xi(n)和Xci(n)通過剛體變換互相關(guān)聯(lián),表征出在時(shí)間n時(shí)用戶臉部相對(duì)攝像機(jī)的姿勢(shì),即Xci(n)=RnXi(n)+tn,]]>其中Rn是3×3的旋轉(zhuǎn)矩陣,tn是平移向量。為將如圖5所示的每一幀中的每張臉作為非剛性的物體跟蹤,對(duì)形狀必須估計(jì)Xi(n)的量,對(duì)姿勢(shì)必須估計(jì)Rn和tn的量。因?yàn)镽n是旋轉(zhuǎn)矩陣,Rn可唯一地參數(shù)化為一個(gè)三維向量 即所謂的旋轉(zhuǎn)向量。由標(biāo)準(zhǔn)公式可將旋轉(zhuǎn)矩陣和旋轉(zhuǎn)向量相互關(guān)聯(lián)。
圖像In,n=1,2,...,M(例如,幀1到72)中的數(shù)據(jù)可用于估計(jì)每一幀中的每張臉的形狀和姿勢(shì)。具體地說,設(shè)Pni是Pni在圖像In上的投影,并設(shè)xni是Pni的圖像坐標(biāo)向量。這樣,在一個(gè)實(shí)施例中,可用一個(gè)傳統(tǒng)的針孔攝像機(jī)模型來確定Pni的投影的圖像坐標(biāo)向量xni,即 這樣單目跟蹤就等價(jià)于為還原3D形狀Xi(n)和姿勢(shì) 而對(duì)投影映射π的取逆。
在一個(gè)實(shí)施例中,為對(duì)非剛性形狀,例如變化的臉部表情和姿勢(shì),進(jìn)行單目跟蹤,非剛性形狀可以是基于剛性形狀的線性組合。通過將非剛性形狀作為基于剛性形狀的線性組合,對(duì)變化的形狀和姿勢(shì)可以避免處理無數(shù)的圖像投影點(diǎn)。這樣,在序列中的任意時(shí)間n,形狀坐標(biāo)向量Xi(n)可以是平均形狀向量Xoi和少數(shù)幾個(gè)已知的形狀向量Xki(k=1,...,p)之和,這些形狀向量Xki是主形狀基向量,如下面的等式1所示Xi(n)=Xoi+Σk=1pαnkXki,]]>等式1在等式1中,p<<3N,p個(gè)系數(shù)αnk代表考慮到3D形狀的非剛性的實(shí)體。如果p=0,則臉部形狀Xi(n)變成剛性形狀Xoi。于是,“p”指“變形空間的維數(shù)”。圖像投影映射可簡(jiǎn)化為姿勢(shì)參數(shù) 和tn以及變形向量 的函數(shù),該變形向量 具有多個(gè)“變形系數(shù)”,例如αn‾=[αn1αn2...αnp]T.]]>這樣圖像投影映射可以用下面所示等式2來計(jì)算 等式2于是,通過將光學(xué)流約束(例如Lucas-Kanade)和由等式1表示的可變模型的特定形式結(jié)合起來,可以執(zhí)行單目跟蹤程序來同時(shí)估計(jì)每一幀的變形向量 和姿勢(shì)參數(shù) 和tn。單目跟蹤程序在下面進(jìn)一步詳細(xì)討論。
在執(zhí)行單目跟蹤程序之前,必須計(jì)算等式1的主形狀基向量“Xki”,這在如圖2所示的學(xué)習(xí)階段210中進(jìn)行。通過使用主形狀基向量Xki,數(shù)據(jù)驅(qū)動(dòng)模型可用來避免對(duì)非剛性模型的手工構(gòu)造。主形狀基向量從真實(shí)的3D跟蹤數(shù)據(jù)中獲得,這也在如圖2所示的學(xué)習(xí)階段210中進(jìn)行。具體地說,已校準(zhǔn)的立體攝像機(jī)用來跟蹤3D變化的臉部表情和姿勢(shì)。例如,可以使用將近100到150幀的短的立體輸入序列(例如,如圖3所示)。
因此,主形狀基向量Xki可從在圖2中的操作塊202和204的被跟蹤序列,用主元分析(PCA)處理來計(jì)算,這將在下面詳細(xì)描述。操作塊202和204的處理為形狀變形分析提供了捕捉3D軌跡數(shù)據(jù)所必須的立體跟蹤。
立體跟蹤圖6圖示了根據(jù)一個(gè)實(shí)施例進(jìn)行立體跟蹤的圖2的操作204的流程圖。操作204最初在操作塊602處開始。
在操作塊602中,在左攝像機(jī)圖像和右攝像機(jī)圖像上的點(diǎn)集被初始化。在一個(gè)實(shí)施例中,如圖2所示,位于眼睛(2)、鼻子(3)、嘴(8)和眉毛(6)的N=19個(gè)點(diǎn)Pi的集合在左攝像機(jī)圖像和右攝像機(jī)圖像上被初始化。在這個(gè)操作中,獨(dú)立地從姿勢(shì)中提供變化的臉部變形,即用戶在做多個(gè)不同臉部表情,例如張開/合上嘴巴、笑、抬眉毛等等的時(shí)候,在整個(gè)序列中盡可能固定地保持頭部姿勢(shì)。在一個(gè)實(shí)施例中,點(diǎn)集由計(jì)算系統(tǒng)100的用戶在第一、左和右攝像機(jī)圖像上指出。這樣,立體圖像序列可用這些點(diǎn)來跟蹤。
應(yīng)該注意不需要所有的點(diǎn)落在圖像的紋理化區(qū)域內(nèi)。這是對(duì)獨(dú)立特征點(diǎn)跟蹤(表明一個(gè)點(diǎn)適合跟蹤)的要求,而非對(duì)基于模型的跟蹤的要求。例如,在鼻尖處的點(diǎn)落在一個(gè)完全沒有紋理化的區(qū)域內(nèi),而嘴的輪廓和眉毛上的點(diǎn)是邊緣特征。所有這些點(diǎn)用傳統(tǒng)的光學(xué)流技術(shù)將無法單個(gè)跟蹤。
在操作塊604中,點(diǎn)集用立體三角來跟蹤。立體跟蹤在3D中進(jìn)行,使得每個(gè)點(diǎn)的位置Xci(n)(在左攝像機(jī)參考幀中)都被更新,以使其當(dāng)前的左圖像和右圖像投影都和先前的圖像投影近似匹配(即瞬時(shí)跟蹤)。
圖像匹配成本(Image Matching Costs)在一個(gè)實(shí)施例中,為在整個(gè)立體跟蹤中保持立體的一致性,通過考慮一個(gè)在左圖像和右圖像之間測(cè)量的成本函數(shù)(cost function)來近似匹配左圖像和右圖像投影。具體地說,通過最小化如以下等式3所示的成本函數(shù)Ei來建立從幀n-1到幀n對(duì)點(diǎn)Pi的立體跟蹤。
等式3在等式3中,InL和InR指在時(shí)間n時(shí)左圖像和右圖像的向量,xLi(n)和xRi(n)指Pi的左圖像和右圖像投影的坐標(biāo)向量。Ei的求和是對(duì)圍繞著圖像點(diǎn)的所謂感興趣區(qū)(ROI)進(jìn)行的。等式3的第一和第二項(xiàng)表示獨(dú)立的左右瞬時(shí)跟蹤的傳統(tǒng)圖像匹配成本計(jì)算項(xiàng)。第三項(xiàng)用來在左圖像和右圖像之間保持一致性。這三項(xiàng)中的三個(gè)系數(shù)(γ1,γ2和γ3)是固定的權(quán)重系數(shù)(即,對(duì)所有點(diǎn)都一樣),用于這三項(xiàng)之間的不同的可信度。
計(jì)算權(quán)重系數(shù)在一個(gè)實(shí)施例中,γ3系數(shù)的值保持小于γ1系數(shù)和γ2系數(shù),而且比值γ1/γ3和γ2/γ3一般保持在20。可以對(duì)如圖2所示的臉部網(wǎng)格上的19個(gè)點(diǎn)中的每一個(gè)分別直接給定(hardcode)γ1、γ2和γ3系數(shù)的值。在一個(gè)實(shí)施例中,在臉部網(wǎng)格中的每對(duì)連接的點(diǎn)被分別考慮。對(duì)有將近100個(gè)象素的平均圖像面積,γ1、γ2和γ3的值可分別是1、1和0.05。
最小化能量函數(shù)如果應(yīng)用到所有的網(wǎng)格點(diǎn),這三個(gè)權(quán)重系數(shù)能用來最小化全局能量函數(shù)Ei(n)=Σi=1NEi(n).]]>在全局能量函數(shù)的這種形式中,對(duì)短序列(例如,直到20至30幀)的立體跟蹤很成功。對(duì)更大的立體序列,可以在成本函數(shù)Ei(n)中加入調(diào)節(jié)項(xiàng),來在立體序列的過程中總體上平滑地變形時(shí),允許整個(gè)3D結(jié)構(gòu)維持其完整性。這樣總的能量成本函數(shù)E(n)就變成E(n)=Ei(n)+ET(n)+ES(n)+EA(n)。
ET(n)項(xiàng)是瞬時(shí)平滑項(xiàng),用來最小化每個(gè)點(diǎn)的3D速度幅值。ES(n)項(xiàng)是形狀平滑項(xiàng),用來最小化相鄰點(diǎn)的速度差。這一項(xiàng)通過輕微地迫使相鄰點(diǎn)靠攏來保證模型的完整性。EA(n)項(xiàng)是人體測(cè)量能量成本項(xiàng),用來保持線段長(zhǎng)度盡可能地接近在第一幀中所計(jì)算出的值,并防止在長(zhǎng)的跟蹤序列中的漂移。這三個(gè)調(diào)節(jié)項(xiàng)的公式如下ET(n)=Σi=1Nρi||dXi(n)||2]]>ES(n)=Σi,jβij||dXi(n)-dXj(n)||2]]> 其中dXi(n)=Xci(n)-Xci(n-1),]]>正的系數(shù)ρi、βij和δij對(duì)不同的點(diǎn)和不同的邊都不同。在一個(gè)實(shí)施例中,所有伸展較大的線段[Pi;Pj]被賦予較小的βij和δij值。在另一個(gè)實(shí)施例中,在臉部的高變形區(qū)域的點(diǎn)Pi被賦予小的ρi。在一個(gè)實(shí)施例中,已知是相當(dāng)剛性的點(diǎn)和線段將被賦予較大的ρi、βij和δij值以加重懲罰加于其上的任何運(yùn)動(dòng)和伸展。例如,在嘴輪廓上的點(diǎn)和邊將比屬于鼻子和眼睛的點(diǎn)和邊有更小的系數(shù)。在一個(gè)實(shí)施例中,對(duì)有將近100個(gè)象素的平均圖像特征片,ρi、βij和δij的值將近20000、20000和100。
3D形狀軌跡最小化總能量函數(shù)E(n)的解形狀Xci(n),i=1,...,N可用梯度下降來計(jì)算。也就是將E(n)對(duì)所有微分形狀坐標(biāo)向量dXi(n)的導(dǎo)數(shù)置零,即E(n)/Xi(n)=0在對(duì)雅可比矩陣求導(dǎo)之后,形狀跟蹤的解簡(jiǎn)化成一個(gè)線性方程dX=D-1e,其中dX是由所有N個(gè)向量dXi(n)組成的3N×1的列向量,D和e分別是3N×3N的矩陣和3N×1的向量。一旦dX被算出來,形狀Xci(n)就知道了。對(duì)整個(gè)立體序列重復(fù)同樣的過程,最后得到完整3D形狀軌跡。
主形狀向量計(jì)算圖7圖示了根據(jù)一個(gè)實(shí)施例計(jì)算主形狀向量的圖2的操作208的流程圖。操作208最初在操作塊702處開始。
在操作702中,計(jì)算平均形狀Xoi。具體地說,立體跟蹤的結(jié)果是左攝像機(jī)參考幀中每個(gè)點(diǎn)Pi的3D軌跡Xci(n)=[Xci(n)Yci(n)Zci(n)]T,]]>對(duì)n=1...,M,其中M是序列中幀的數(shù)目。P+1個(gè)形狀基向量Xki用奇異值分解(SVD)來計(jì)算。首先,平均形狀Xoi如下計(jì)算Xoi=1MΣn=1MXci(n).]]>在操作704中,從整個(gè)軌跡中減去平均形狀XoiXci(n)=Xci(n)-Xoi.]]>所得到的形狀軌跡Xi(n)隨后存儲(chǔ)在3N×M的矩陣(“M”)中。
在操作塊706中,對(duì)M做奇異值分解(SVD)。具體地說,對(duì)M應(yīng)用SVD,得到結(jié)果M=USVT,其中U=[u1u2... u3N],V=[v1v2...vM]。U和V是兩個(gè)3N×3N和M×M的酉矩陣,S=diag(σ1,...,σ3N)是正的且單調(diào)增的奇異值σk的對(duì)角矩陣。經(jīng)過該分解,M現(xiàn)在變成M=Σk=13NσkUkvkT.]]>在操作708中,M的求和被從3N截?cái)嗟絧項(xiàng),這得到給定固定的一組p個(gè)向量時(shí)矩陣M的最優(yōu)最小二乘法近似。這等價(jià)于用矩陣M在由頭p個(gè)向量u1,...,up生成的線性子空間上的正交投影來近似矩陣M的每一列(即序列中的每個(gè)3D形狀)。這些向量正是剩下的p個(gè)變形形狀向量Xki對(duì)k=1,...,p,uk=xk1xk2···xkN.]]>所生成的主形狀向量的模型適合于單目跟蹤階段。例如,如果一個(gè)用戶做出了多個(gè)臉部表情,這些臉部表情可以基于在學(xué)習(xí)階段210期間已展示給系統(tǒng)的臉部表情來跟蹤。應(yīng)該注意,因?yàn)橄蛄縰k是幺正的,等式1和2中出現(xiàn)的形狀系數(shù)αnk是以平均形狀Xoi為單位的。在一個(gè)實(shí)施例中,單位是厘米并用4個(gè)主形狀向量來涵蓋大多數(shù)常見的臉部表情(例如,嘴和眉毛的運(yùn)動(dòng))。然而,所使用的主形狀向量的數(shù)目可基于用于跟蹤的臉部表情的不同而變化。
回到圖4,圖示了從變形411到414的四維空間,其中變形是由如圖3所示的立體序列計(jì)算的。如圖4所示,主形狀向量可相應(yīng)于四個(gè)主要臉部運(yùn)動(dòng)的組合,例如,笑、張開/合攏嘴和抬左右眉毛。
單目跟蹤圖8圖示了根據(jù)一個(gè)實(shí)施例用學(xué)習(xí)階段210中的計(jì)算模型來進(jìn)行單目跟蹤的圖2的操作220的流程圖。操作220最初從對(duì)例如圖5所示的圖像序列的操作塊802開始。
在操作802中,使用圖像測(cè)量來從圖像序列估計(jì)形狀和姿勢(shì)的參數(shù)。具體地說,給定兩個(gè)連續(xù)的幀,例如幀1和2,就可用光學(xué)流跟蹤技術(shù)來計(jì)算圖像中每個(gè)點(diǎn)的平移距離。然后就可獨(dú)立處理每個(gè)圖像點(diǎn)了。這里,對(duì)基于模型的跟蹤,模型中的所有點(diǎn)通過等式1給出的參數(shù)化3D模型而互相聯(lián)系。于是,由圖像測(cè)量就可同時(shí)全部估計(jì)定義3D模型配置的參數(shù)。這些參數(shù)包括形狀參數(shù) 和姿勢(shì)參數(shù) 在操作804中,使用最符合隨后的幀的臉部模型來搜索最優(yōu)的形狀和姿勢(shì)。例如,假定已經(jīng)從序列的第一幀I1到第n-1幀In-1跟蹤臉部模型了。于是目標(biāo)就是找到最符合隨后幀In的臉部模型最佳的姿勢(shì) 和變形 來進(jìn)行單目跟蹤。以下說明描述了如何找到單目跟蹤最優(yōu)的姿勢(shì)和變形。
利用對(duì)成本函數(shù)Cn的最小化,來找到最優(yōu)的姿勢(shì)和變形,其中最小化是通過以下跟蹤解方程4和5實(shí)現(xiàn)的 等式4 等式5其中πi是等式2中定義的基于模型的圖像投影映射。等式4的求和是在小的象素點(diǎn)窗口例如感興趣區(qū)(ROI)上,圍繞每個(gè)圖像點(diǎn)xni、xn-1i和x1i進(jìn)行的。
在一個(gè)實(shí)施例中,等式4中的第一項(xiàng)是標(biāo)準(zhǔn)匹配成本項(xiàng),即第一項(xiàng)測(cè)量?jī)蓚€(gè)相繼圖像在模型點(diǎn)上的整個(gè)圖像不匹配。但是,第二項(xiàng)測(cè)量當(dāng)前圖像In和第一個(gè)圖像I1之間的圖像不匹配。這個(gè)附加項(xiàng)微弱的迫使每個(gè)臉部特征在從序列的開始到結(jié)束的圖像上看上去一樣(在圖像相鄰的意義上)。照此,這避免了跟蹤漂移并增強(qiáng)了魯棒性。這稱作漂移監(jiān)視能量項(xiàng)。
這兩個(gè)能量項(xiàng)用標(biāo)量變量“e”來相對(duì)加權(quán)。在一個(gè)實(shí)施例中,變量e=0.2,這是為了相對(duì)監(jiān)視成本來強(qiáng)調(diào)跟蹤成本。于是,跟蹤就等價(jià)于估計(jì)最優(yōu)姿勢(shì)和變形更新向量 dt=·tn-tn-1]]>和dα‾=·α‾n-α‾n-1.]]>這通過將Cn對(duì) dt和dα的導(dǎo)數(shù)置零來得到∂Cn∂s=0,]]>其中 等式6接著假定兩個(gè)相繼幀間運(yùn)動(dòng)較小,將等式6對(duì)“s”求解。設(shè)In是如下定義的擴(kuò)展瞬時(shí)導(dǎo)數(shù)In(xn-1i)=In(xn-1i)]]>-((1-ϵ)In-1(xn-1i)+ϵI1(x1i))]]>等式7擴(kuò)展瞬時(shí)導(dǎo)數(shù)函數(shù)In實(shí)際上是在點(diǎn)xn-1i的相鄰區(qū)域求值的。注意到如果ε=0,等式7簡(jiǎn)化成真正的瞬時(shí)差I(lǐng)n=In-In-1。如果ε>0,前一圖像In-1上的圖像修正被和第一幀平均,即等式7的第二行。所得到的修正用作下一圖像In的參考。這個(gè)過程有效地幫助單目跟蹤操作在第一個(gè)圖像上選擇了特征時(shí)“記住”該特征的原始樣子,由此提高了魯棒性并減小了漂移。
接著,設(shè)Ixi是圖像In在xn-1i相鄰區(qū)域內(nèi)的x和y圖像導(dǎo)數(shù)(圖像梯度)Ixi=∂In∂x=[∂In∂x∂In∂x].]]>設(shè)Ii是當(dāng)s=0時(shí)在xn-1i相鄰區(qū)域內(nèi)圖像亮度In相對(duì)s的導(dǎo)數(shù)▿Ii=∂Ii∂s=∂In∂x∂πi∂x=Ixi∂πi∂s.]]>因?yàn)镮xi和 的大小分別是1×2和2×(p+6),所得到矩陣Ii的大小是1×(p+6)。于是滿足等式6的最優(yōu)形狀和姿勢(shì)更新向量“s”是s=-G-1b,等式8
其中(p+6)×(p+6)的矩陣G和(p+6)×1的向量b由下式給出G=Σi=1NΣROI▿IiT▿Ii,]]>b=Σi=1NΣROIIn▿IiT.]]>這里,雖然每個(gè)圖像點(diǎn)以其原始形式被單個(gè)處理,但只有唯一的一個(gè)跟蹤解“s”同時(shí)對(duì)整個(gè)模型計(jì)算出來。一個(gè)由真實(shí)數(shù)據(jù)構(gòu)建并用極少幾個(gè)系數(shù)參數(shù)化的3D模型被用于跟蹤。為讓s是可計(jì)算的,矩陣G的秩必須是p+6。粗略的,3D模型中的每個(gè)點(diǎn)引入零個(gè)、一個(gè)或兩個(gè)標(biāo)量觀測(cè)約束,這取決于其是否落在圖像中的非紋理化區(qū)域、邊界區(qū)域或完全紋理化區(qū)域。在一個(gè)實(shí)施例中,從所有點(diǎn)集合的約束的總數(shù)就必須大于或等于p+6=10,以使3D模型適于跟蹤。
一旦“s”計(jì)算出來,時(shí)間幀n時(shí)的姿勢(shì)和變形就知道了。在一個(gè)實(shí)施例中,為使估計(jì)精確,同樣的程序可在固定的時(shí)間幀n被重復(fù)多次(例如,4次或5次)。然后對(duì)隨后的幀重復(fù)同樣的整個(gè)處理。在一個(gè)實(shí)施例中,3D模型參數(shù)的初始化是通過首先在第一個(gè)圖像I1上定位N=19個(gè)臉部特征而手工完成的。然后對(duì)計(jì)算初始的姿勢(shì)和變形參數(shù) 進(jìn)行小的優(yōu)化,以使模型的圖像投影和手工選擇的點(diǎn)匹配。
應(yīng)該注意每個(gè)模型點(diǎn)的感興趣區(qū)(ROI)在整個(gè)序列中并不保持不變。相反,在每一幀都要基于空間中的點(diǎn)的距離(深度)和方向(局部表面的法向)來計(jì)算其大小和幾何形狀。所得到的感興趣區(qū)是如圖5所示的小的平行四邊形。具體地說,背對(duì)攝像機(jī)的點(diǎn)認(rèn)為是“不可見”的,并分配給它們大小為零的感興趣區(qū),因此它們對(duì)跟蹤更新不作貢獻(xiàn)。
因此,已描述了一種方法和分兩階段的系統(tǒng),用于對(duì)單目圖像序列中例如臉部的姿勢(shì)和變形的3D跟蹤,并且不使用干擾性的特殊標(biāo)識(shí)。所述系統(tǒng)的第一階段,通過對(duì)真實(shí)立體跟蹤數(shù)據(jù)應(yīng)用主元分析,學(xué)習(xí)所有可能的臉部變形的空間。所得到的模型將任意的一般形狀作為形狀基向量的線性組合來近似。所述系統(tǒng)的第二階段使用這個(gè)低復(fù)雜度的可變的模型,來從單個(gè)圖像序列同時(shí)估計(jì)臉部的姿勢(shì)和變形。這一階段稱為基于模型的單目跟蹤。
構(gòu)造模型的數(shù)據(jù)驅(qū)動(dòng)方法適合于對(duì)非剛性對(duì)象的3D跟蹤,并相對(duì)使用3D掃描儀或CAD建模器來手工構(gòu)造模型的任務(wù),提供了一種極好和實(shí)用的替代方法。此外,從真實(shí)數(shù)據(jù)來創(chuàng)建模型允許用比手工模型更少的參數(shù)來跟蹤很多種的臉部變形,并使得魯棒性增強(qiáng)和跟蹤精度提高。另外,所述系統(tǒng)展現(xiàn)出非常有前途的普適化的特性,使得可以用同樣的3D模型來對(duì)多人跟蹤,這構(gòu)成較大多數(shù)其他對(duì)每個(gè)要跟蹤的用戶需要不同的模型的臉部跟蹤系統(tǒng)的一個(gè)主要進(jìn)步。
在以上說明中,本發(fā)明已經(jīng)參照其特定的示例的實(shí)施例進(jìn)行了描述。但是,很顯然可以對(duì)其做不同的修改和變化,而不背離所附的權(quán)利要求中所提出的關(guān)于本發(fā)明的更寬的精神和范圍。相應(yīng)的,說明書和附圖應(yīng)在解釋而非限定的意義上被考慮。
權(quán)利要求
1.一種圖像處理的方法,包括基于輸入圖像序列得到立體數(shù)據(jù);用所得到的立體數(shù)據(jù)構(gòu)建三維模型;以及用所構(gòu)建的三維模型跟蹤單目圖像序列。
2.根據(jù)權(quán)利要求1所述的方法,其中,得到所述立體數(shù)據(jù)包括基于變化的臉部表情的輸入圖像序列來得到立體數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的方法,其中,構(gòu)建所述三維模型包括用主元分析來處理所得到的立體數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的方法,其中,用主元分析所處理的立體數(shù)據(jù)允許三維模型將一般形狀作為形狀基向量的線性組合來近似。
5.根據(jù)權(quán)利要求1所述的方法,其中,所述單目圖像序列的跟蹤包括用所構(gòu)建的三維模型來跟蹤臉部變形的單目圖像序列。
6.一種計(jì)算系統(tǒng),包括輸入單元,用于基于輸入圖像序列得到立體數(shù)據(jù);以及處理單元,用于用所得到的立體數(shù)據(jù)構(gòu)建三維模型并用所構(gòu)建的三維模型跟蹤單目圖像序列。
7.根據(jù)權(quán)利要求6所述的計(jì)算系統(tǒng),其中,所述輸入單元基于變化的臉部表情的輸入圖像序列來得到立體數(shù)據(jù)。
8.根據(jù)權(quán)利要求6所述的計(jì)算系統(tǒng),其中,所述處理器用主元分析來處理所得到的立體數(shù)據(jù)。
9.根據(jù)權(quán)利要求6所述的計(jì)算系統(tǒng),其中,所述處理器基于主元分析所處理的立體數(shù)據(jù),將一般形狀作為形狀基向量的線性組合來近似。
10.根據(jù)權(quán)利要求6所述的計(jì)算系統(tǒng),其中,所述處理器用所構(gòu)建的三維模型來跟蹤臉部變形的單目圖像序列。
11.一種提供指令的機(jī)器可讀媒體,所述指令如果被處理器執(zhí)行,則使所述處理器執(zhí)行的操作包括基于輸入圖像序列得到立體數(shù)據(jù);用所得到的立體數(shù)據(jù)構(gòu)建三維模型;以及用所構(gòu)建的三維模型跟蹤單目圖像序列。
12.根據(jù)權(quán)利要求11所述的機(jī)器可讀媒體,還提供指令,所述指令如果被處理器執(zhí)行,則使所述處理器執(zhí)行的操作包括基于變化的臉部表情的輸入圖像序列來得到立體數(shù)據(jù)。
13.根據(jù)權(quán)利要求11所述的機(jī)器可讀媒體,還提供指令,所述指令如果被處理器執(zhí)行,則使所述處理器執(zhí)行的操作包括用主元分析來處理所得到的立體數(shù)據(jù)。
14.根據(jù)權(quán)利要求11所述的機(jī)器可讀媒體,還提供指令,所述指令如果被處理器執(zhí)行,則使所述處理器執(zhí)行的操作包括基于用主元分析所處理的立體數(shù)據(jù),將一般形狀作為形狀基向量的線性組合來近似。
15.根據(jù)權(quán)利要求11所述的機(jī)器可讀媒體,還提供指令,所述指令如果被處理器執(zhí)行,則使所述處理器執(zhí)行的操作包括用所構(gòu)建的三維模型來跟蹤臉部變形的單目圖像序列。
全文摘要
本發(fā)明公開了一種在單目臉部跟蹤中使用數(shù)據(jù)驅(qū)動(dòng)模型的方法和系統(tǒng),為用單個(gè)攝像機(jī)跟蹤三維(3D)圖像,例如臉部提供了一種通用的系統(tǒng)。其中一種方法,得到了基于輸入的圖像序列的立體數(shù)據(jù)。用所得到的立體數(shù)據(jù)構(gòu)建了3D模型。用所構(gòu)建的3D模型跟蹤單目圖像序列。主元分析(PCA)可被應(yīng)用到所述立體數(shù)據(jù)上以學(xué)習(xí)例如可能的臉部變形,并構(gòu)建3D數(shù)據(jù)驅(qū)動(dòng)模型(“3D臉部模型”)。所述3D臉部模型可以被用于將一般的形狀(例如臉部姿勢(shì))作為基于PCA分析的形狀基向量的線性組合來近似。
文檔編號(hào)G06T17/00GK1509456SQ02809420
公開日2004年6月30日 申請(qǐng)日期2002年5月2日 優(yōu)先權(quán)日2001年5月9日
發(fā)明者拉杰克·格熱斯茹克, 讓-伊夫·布蓋, 薩利赫·格克蒂爾克, 格克蒂爾克, 拉杰克 格熱斯茹克, 頡げ幾 申請(qǐng)人:英特爾公司