本發(fā)明涉及一種紋理映射到三維網(wǎng)格結(jié)構(gòu)的算法,尤其涉及一種基于圖像二維信息熵的全局能量優(yōu)化的馬爾科夫隨機(jī)場的紋理選擇方法,屬于三維視覺領(lǐng)域。
背景技術(shù):
紋理映射是計(jì)算機(jī)視覺領(lǐng)域中的重要研究方向之一,在測繪等領(lǐng)域有著廣泛的應(yīng)用。為此,國內(nèi)外許多研究人員一直致力于該方向的研究。紋理映射的過程一般是將原圖中的紋理塊到一個(gè)3D網(wǎng)格模型中三角形。隨著計(jì)算機(jī)技術(shù)和圖像處理算法研究的快速發(fā)展,紋理映射方法也有了長足的進(jìn)步,其中基于馬爾科夫隨機(jī)場(MRF)能量優(yōu)化的方式為三角化的三維網(wǎng)格中的每個(gè)三角形選擇紋理的方式由于效果好得到了廣泛的應(yīng)用?;贛RF的能量優(yōu)化方式,是一個(gè)統(tǒng)籌全局的能量優(yōu)化方式,首先創(chuàng)建了一張無向圖,圖中的每個(gè)節(jié)點(diǎn)對應(yīng)于三維網(wǎng)格模型中的每一個(gè)三角形,然后根據(jù)一定的方式為每一個(gè)節(jié)點(diǎn)創(chuàng)建一個(gè)能量項(xiàng),根據(jù)節(jié)點(diǎn)與鄰域節(jié)點(diǎn)的關(guān)系創(chuàng)建數(shù)據(jù)項(xiàng),最后基于一定的方法(LBP,GC等)求解該能量的一個(gè)全局最優(yōu)解。但是在傳統(tǒng)的基于MRF的紋理選擇中,并沒有考慮到紋理塊的內(nèi)部信息,因此當(dāng)拍攝圖像的時(shí)候,當(dāng)攝像機(jī)過于接近物體或者過于遠(yuǎn)離物體的時(shí)候,會造成圖像模糊或者重影。這樣當(dāng)這些圖像的紋理塊被選擇映射到網(wǎng)格模型的時(shí)候會造成3D模型局部的模糊化,會嚴(yán)重的影響到外觀
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是提供一種基于圖像二維信息熵的MRF能量優(yōu)化的算法來確定紋理標(biāo)簽(即來自于哪張?jiān)瓐D),并對該過程生成的初始紋理映射結(jié)果進(jìn)行優(yōu)化的方法。
本發(fā)明的解決方案是:去除掉一些紋理信息異常的塊,根據(jù)圖像的二維信息熵以及全局能量標(biāo)簽的多少來創(chuàng)建MRF的能量項(xiàng)以及數(shù)據(jù)項(xiàng),對初始的貼上紋理的3D網(wǎng)格模型進(jìn)行優(yōu)化,使得結(jié)果更加貼近真實(shí)的物體。
本方法是基于已經(jīng)重建好了的3D 三角網(wǎng)格模型。對于該模型,是從圖像序列中提取的特征點(diǎn)加以融合加密并三角化得到的。對于模型中的每個(gè)三角形可能被多個(gè)圖像所看到(即重建物體的某部分出現(xiàn)在多張圖像中),對于每個(gè)三角形創(chuàng)建了一個(gè)集合包含所有能看到的紋理塊
本發(fā)明為實(shí)現(xiàn)上述解決方案,其方法步驟如下所示:
1,去除掉紋理信息異常的選項(xiàng)。A,計(jì)算三角網(wǎng)格中的每一個(gè)三角形所對應(yīng)的紋理塊的亮度均值記作.其中t為三角網(wǎng)格中一個(gè)三角形所對應(yīng)紋理塊的數(shù)目,表示第i個(gè)紋理塊的亮度值,G表示該亮度值的集合。B,計(jì)算G 的平均值,記作M。C,計(jì)算G中的每一個(gè)元素與M的歐氏距離,從紋理塊集合中去除掉值最大的塊。D,重復(fù)B,C直到所有三角形的紋理塊集合的元素個(gè)數(shù)不大于4,或者距離都不大于1e-6為止。
2,選擇紋理標(biāo)簽。創(chuàng)建MRF的一般能量方程:,其中E(M)為能量和,為數(shù)據(jù)項(xiàng)之和, 為平滑項(xiàng)之和,其中對應(yīng)與三角網(wǎng)格中的第i個(gè)三角形,F(xiàn)為三角網(wǎng)格中三角形的集合,I為所對紋理塊集合,,為該集合中的一個(gè)元素。H(X)操作即為計(jì)算圖像塊X的二維信息熵,(,i位當(dāng)前像素值(),j為其鄰域像素值(,f(i,j)為該像素值組合所出現(xiàn)的次數(shù),N為像素的數(shù)目)表示投影操作(三維網(wǎng)格中的三角形投影到原圖)。,N紋理集合塊的數(shù)目(來自于同一張圖的紋理塊映射到了三角網(wǎng)格中相鄰的三角形),是參數(shù)。LBP(Loopy belief propagation)被用來解決這個(gè)多標(biāo)簽的分配問題。
3,顏色調(diào)整。前面已經(jīng)獲得了每個(gè)三角形的唯一紋理標(biāo)簽。相鄰的三角形可能來自于不同的圖像,這個(gè)時(shí)候映射到三角網(wǎng)格的時(shí)候就會產(chǎn)生沖突,我們這里對顏色進(jìn)行了調(diào)整。對于相鄰的三角形A,B的共用頂點(diǎn),我們?nèi)×炼戎递^大的那個(gè),即計(jì)算一個(gè)額外的亮度值V ,如果,那么。而對于公共邊,我們?nèi)《咧g的均值,即對于公共邊上的每一個(gè)為止計(jì)算一個(gè)V,。
4,顏色編輯。經(jīng)過以上所有的步驟,對于相鄰的三角形亮度值還是存在差異,這種差異在視覺上表現(xiàn)為可見的縫隙。由于第3步我們已經(jīng)修改了一些頂點(diǎn)與邊的值,為了保持每個(gè)紋理塊的內(nèi)部梯度值,為此我們?yōu)槊恳粋€(gè)紋理塊的像素值計(jì)算一個(gè)附加的紋理亮度值g,使得修改過后的紋理塊與原圖的圖像塊的梯度足夠的接近:
在這個(gè)過程中,我們認(rèn)為那些在第3步中已經(jīng)修改過的像素的附加值為0。