本發(fā)明屬于計(jì)算機(jī)視覺(jué)與計(jì)算機(jī)圖形圖像處理領(lǐng)域,具體地說(shuō)是一種基于方向場(chǎng)和螺旋線匹配的單幅圖像頭發(fā)重建方法,主要用于游戲、影視動(dòng)畫(huà)及虛擬現(xiàn)實(shí)等領(lǐng)域。
背景技術(shù):
在計(jì)算機(jī)圖形學(xué)中,對(duì)虛擬人物的三維建模,一直是研究者的一個(gè)重要的課題。無(wú)論是虛擬現(xiàn)實(shí),電影特效,視頻游戲或是其他計(jì)算機(jī)圖形學(xué)、視覺(jué)相關(guān)的領(lǐng)域,視覺(jué)真實(shí)的人物建模技術(shù)都有廣泛的應(yīng)用。而頭發(fā)則是人物的一個(gè)重要特征,頭發(fā)的形態(tài)因人而異,有時(shí)甚至是區(qū)別不同人的重要標(biāo)志。同時(shí),構(gòu)成頭發(fā)的發(fā)絲非常多,頭發(fā)的造型、運(yùn)動(dòng)及其光學(xué)特性都十分復(fù)雜,真實(shí)感的頭發(fā)建模成為了計(jì)算機(jī)圖形學(xué)的一個(gè)研究熱點(diǎn)和難點(diǎn)。對(duì)特定形態(tài)的頭發(fā)模型的幾何建模一直是一件繁瑣的工作。目前,大部分頭發(fā)模型仍然依靠藝術(shù)家利用交互工具手工進(jìn)行三維頭發(fā)造型與建模的工作。近年來(lái),不斷開(kāi)始有研究者嘗試用自動(dòng)化的方法,從圖像數(shù)據(jù)中重建出與真實(shí)頭發(fā)相近似的模型。然而目前基于圖像的三維頭發(fā)重建方法集中在基于多視點(diǎn)采集圖像的建模,需要搭建復(fù)雜的采集環(huán)境,無(wú)法應(yīng)用到實(shí)驗(yàn)室以外的環(huán)境。僅有的一些基于單幅圖像的頭發(fā)建模方法結(jié)果并不理想,所能建模的發(fā)型也比較有限且無(wú)法保證頭發(fā)生長(zhǎng)的均勻性和發(fā)絲深度的可靠性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問(wèn)題為:克服現(xiàn)有技術(shù)的不足,提供一種基于方向場(chǎng)和螺旋線匹配的單幅圖像頭發(fā)重建方法,該方法既能重建出外觀與原圖像十分相似的頭發(fā)模型,又能保證發(fā)絲生長(zhǎng)和深度信息的可靠性,具有較高的實(shí)用價(jià)值。
本發(fā)明解決上述技術(shù)問(wèn)題所采用的技術(shù)方案是:基于方向場(chǎng)和螺旋線匹配的單幅圖像頭發(fā)重建方法,其包括以下步驟:
步驟(1)、基于用戶的簡(jiǎn)單交互利用圖像分割方法將圖像分割為頭發(fā)、臉部、身體和背景四大部分。然后利用臉部區(qū)域圖像采用asm方法自動(dòng)標(biāo)定人臉特征點(diǎn),基于這些特征點(diǎn)與pca降維后的三維頭部模型數(shù)據(jù)庫(kù),通過(guò)最小二乘優(yōu)化估算頭部的變換參數(shù)來(lái)擬合頭部三維模型。
步驟(2)、對(duì)頭發(fā)區(qū)域,采用方向?yàn)V波算子求解二維方向場(chǎng)及對(duì)應(yīng)的置信圖,基于此生長(zhǎng)得到一系列稀疏的二維發(fā)絲曲線。
步驟(3)、結(jié)合步驟(1)得到的三維頭部模型和步驟(2)得到的二維發(fā)絲曲線,根據(jù)頭發(fā)輪廓區(qū)域的深度連續(xù)性和二維發(fā)絲與螺旋線模型的映射關(guān)系進(jìn)行能量?jī)?yōu)化,求解步驟(2)中得到的所有二維發(fā)絲的深度信息,并從原始輸入圖像中采樣得到所有發(fā)絲頂點(diǎn)的rgb值。
步驟(4)、在得到的三維頭發(fā)模型基礎(chǔ)上,在頭發(fā)數(shù)據(jù)庫(kù)中查找與之相似的頭發(fā)模型來(lái)得到頭部后面不可見(jiàn)區(qū)域的頭發(fā)模型,并對(duì)兩者做融合處理,使頭發(fā)模型更加平滑?;谶@些三維發(fā)絲通過(guò)插值生成足夠稠密的能夠包圍頭部的三維發(fā)絲集合作為最終重建出的頭發(fā)模型,可以利用該頭發(fā)模型來(lái)完善發(fā)型數(shù)據(jù)庫(kù),同時(shí)可以進(jìn)行三維發(fā)型編輯、發(fā)型替換等應(yīng)用操作。
本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于:
(1)、本發(fā)明在生成二維發(fā)絲段頭發(fā)模型中,通過(guò)置信度迭代優(yōu)化得到可靠的二維方向場(chǎng),這樣保證得到的二維發(fā)絲段頭發(fā)模型與原始圖像形態(tài)上的相似性。
(2)、本發(fā)明在求解發(fā)絲深度值的過(guò)程中,通過(guò)結(jié)合生長(zhǎng)出的二維發(fā)絲和螺旋線模型的映射關(guān)系得到可靠的發(fā)絲深度值,使得構(gòu)建的頭發(fā)模型更加真實(shí)。
(3)、本發(fā)明從可見(jiàn)區(qū)域得到的頭發(fā)模型出發(fā),采用數(shù)據(jù)驅(qū)動(dòng)的方法得到不可見(jiàn)頭發(fā)區(qū)域的頭發(fā)模型,通過(guò)兩者平滑結(jié)合得到更加完整真實(shí)的頭發(fā)模型。
附圖說(shuō)明
圖1是本發(fā)明一種基于方向場(chǎng)和螺旋線匹配的單幅圖像頭發(fā)建模方法流程圖;
圖2是本發(fā)明中用戶交互對(duì)圖像進(jìn)行分割和結(jié)果示意圖;
圖3是本發(fā)明中從二維發(fā)絲映射得到三維螺旋線模型的示意圖;
圖4是本發(fā)明中針對(duì)不同發(fā)型得到的三維頭發(fā)模型結(jié)果圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)的描述。
本發(fā)明的實(shí)施過(guò)程主要分成四個(gè)步驟:圖像分割與頭部模型重建、二維發(fā)絲生長(zhǎng)、三維發(fā)絲深度值求解、模型融合及生成。
步驟(1)、圖像分割與頭部模型重建
基于用戶的簡(jiǎn)單交互利用圖像分割方法將圖像分割為頭發(fā)、臉部、身體和背景四大部分。然后利用臉部區(qū)域圖像采用asm方法自動(dòng)標(biāo)定人臉特征點(diǎn),基于這些特征點(diǎn)與pca降維后的三維頭部模型數(shù)據(jù)庫(kù),通過(guò)最小二乘優(yōu)化估算頭部的變換參數(shù)來(lái)擬合頭部三維模型。
步驟(2)、二維發(fā)絲生長(zhǎng)
對(duì)頭發(fā)區(qū)域,采用gabor核函數(shù)對(duì)頭發(fā)區(qū)域進(jìn)行濾波操作得到二維方向場(chǎng)及對(duì)應(yīng)的置信圖,通過(guò)迭代計(jì)算得到干凈可靠的二維方向場(chǎng)。然后將得到的稀疏二維方向場(chǎng)轉(zhuǎn)換為對(duì)應(yīng)單獨(dú)發(fā)絲結(jié)構(gòu)的曲線幾何的集合,由此得到一系列的二維發(fā)絲曲線。
步驟(3)、三維發(fā)絲深度值求解
結(jié)合步驟(1)得到的三維頭部模型和步驟(2)得到的二維發(fā)絲曲線,根據(jù)頭發(fā)輪廓區(qū)域的深度連續(xù)性和二維發(fā)絲與螺旋線模型的映射關(guān)系進(jìn)行能量?jī)?yōu)化,求解步驟(2)中得到的所有二維發(fā)絲的深度信息,并從原始輸入圖像中采樣得到所有發(fā)絲頂點(diǎn)的rgb值。
其主要步驟為:
3.1給定輸入的單幅圖像,我們的目標(biāo)是重建出發(fā)絲級(jí)別的三維頭發(fā)模型。在得到二維發(fā)絲段以后,我們通過(guò)最小化結(jié)合基本深度信息和三維螺旋線模型的能量函數(shù)來(lái)得到深度圖d。
其中,eb,eh分別代表基本深度和螺旋線匹配深度的能量項(xiàng),λb,λh是與之對(duì)應(yīng)的權(quán)重值,
3.2我們將步驟(1)重建的三維臉部區(qū)域的深度作為基本形狀ωf,將背景的深度設(shè)置為頭部中心線的深度。我們通過(guò)用戶根據(jù)頭發(fā)邊界線
其中,dp表示像素p的深度值,
3.3分段螺旋線模型可以很好的表示一根頭發(fā)的集合信息,為了估計(jì)頭發(fā)絲s的深度信息,我們首先用一個(gè)2維投影螺旋線模型去擬合發(fā)絲s,然后利用上述基本的深度值重建出真實(shí)的三維螺旋線。將每條發(fā)絲都擬合到一個(gè)對(duì)應(yīng)的二維螺旋線模型上。對(duì)于給定的發(fā)絲二維坐標(biāo)p,切線方向
其中,p表示點(diǎn)p的二維坐標(biāo),
3.4為了從投影的二維投影中得出重建的三維螺旋線模型,我們?nèi)匀恍枰蠼獬鱿鄬?duì)投影平面的旋轉(zhuǎn)角φ和沿著投影軸平移向量dz。當(dāng)三維螺旋線模型投影到二維平面上時(shí),φ可以表示為模型的凹凸情況。這樣三維螺旋線模型的深度部分可以表示為
d(h*(t))=cos(φ)(acos(t)+bsin(t))+csin(φ)t+mz(4)
其中,h*(t)表示螺旋線模型,φ表示相對(duì)投影平面的旋轉(zhuǎn)角,mz表示螺旋線模型沿著投影軸的平移量。
3.5我們利用基本的深度值dp求解上述d(h*(t)),沿著二維螺旋線模型依次采樣每個(gè)像素點(diǎn)(tp,dp)的深度值,最小化能量方程(5)得到φ和dz的最優(yōu)解。
其中,d(h*(tp))表示p位置螺旋線模型對(duì)應(yīng)的深度值,dp表示p位置頭發(fā)模型對(duì)應(yīng)的深度值。
將求解出的最優(yōu)化參數(shù)帶入公式(4)中得到三維螺旋線模型的深度值
步驟(4)、模型融合及生成
在得到的三維頭發(fā)模型基礎(chǔ)上,在頭發(fā)數(shù)據(jù)庫(kù)中查找與之相似的頭發(fā)模型來(lái)得到頭部后面不可見(jiàn)區(qū)域的頭發(fā)模型,并對(duì)兩者做融合處理,使頭發(fā)模型更加平滑。基于這些三維發(fā)絲通過(guò)插值生成足夠稠密的能夠包圍頭部的三維發(fā)絲集合作為最終重建出的頭發(fā)模型。
4.1用戶基于觀察的發(fā)型走勢(shì)畫(huà)幾條從頭皮到發(fā)梢的筆劃,把這些筆劃認(rèn)為是目標(biāo)發(fā)型投影到圖像平面的重要結(jié)構(gòu),以顯示完整頭發(fā)連續(xù)性和拓?fù)浣Y(jié)構(gòu)。用筆劃與三維發(fā)絲到圖像平面的二維投影之間的距離來(lái)衡量?jī)烧咧g的差異。采用的檢索策略是在發(fā)型數(shù)據(jù)庫(kù)中找到一根與筆劃差異最小的發(fā)絲,選取該發(fā)絲所在的頭發(fā)模型作為匹配的頭部后面區(qū)域發(fā)型。
4.2真實(shí)的頭發(fā)會(huì)構(gòu)成一個(gè)圍繞頭部的空間區(qū)域,這一區(qū)域由可見(jiàn)部分的頭發(fā)模型和不可見(jiàn)部分的頭發(fā)模型組成。在此區(qū)域中,我們構(gòu)建一個(gè)均一空間網(wǎng)格,通過(guò)如下的優(yōu)化方法求解離散的空間矢量場(chǎng)d,令在網(wǎng)格單元i處的三維方向向量為vi,優(yōu)化的能量方程表示為:
其中,δ表示離散拉普拉斯算子,c表示存在方向限制ci的體素的集合,wc是權(quán)重值。
4.3選取發(fā)根,從得到的參數(shù)化頭皮上的發(fā)根位置開(kāi)始,按照得到的發(fā)型方向場(chǎng)d延長(zhǎng)發(fā)絲,直至其長(zhǎng)度超過(guò)特定最大發(fā)絲長(zhǎng)度或越過(guò)頭發(fā)區(qū)域的邊界。最終得到不僅外觀與原圖像形似而且內(nèi)部發(fā)絲光滑稠密的完整三維頭發(fā)模型。