本發(fā)明涉及一種非完備模型局部變形恢復(fù)方法,特別涉及基于薄板樣條基函數(shù)優(yōu)化的非完備模型局部變形的恢復(fù)方法,屬于計(jì)算機(jī)視覺數(shù)據(jù)處理領(lǐng)域。
背景技術(shù):
徑向基函數(shù)源于其在一些不同領(lǐng)域的應(yīng)用,最早可能源于krige在1951年對(duì)礦藏的研究。1975年,duchon從樣條彎曲能量最小的理論出發(fā)推導(dǎo)出了多元函數(shù)的薄板樣條。tps薄板樣條基函數(shù)控制能力強(qiáng),可以產(chǎn)生特殊效果,例如非均勻漸變??僧a(chǎn)生豐富的漸變效果和特技動(dòng)畫,實(shí)現(xiàn)特征標(biāo)定的自動(dòng)定位和高層理解。
leiyang等提出了一種基于骨架截面模板的rbf算法,用于薄壁結(jié)構(gòu)的fe網(wǎng)格的快速變形。由提出的基于模板的變形方法提供的分級(jí)和靈活的變形能力使得fe網(wǎng)格適應(yīng)設(shè)計(jì)優(yōu)化以及人類交互式建模,網(wǎng)格模型通過目視可以看出是平滑的變形。使用這種算法可以使系統(tǒng)獲得約98.7%的總精度。
youngjunkim提出了一種新型的用于乳房整形手術(shù)的3d虛擬模擬軟件。其基于圖像建模算法利用了一個(gè)模板模型,并且其根據(jù)患者的照片而變形。用的方法是普魯克分析和徑向基函數(shù)(rbf)。大約需要1-2分鐘從患者照片中獲得模擬結(jié)果。掃描數(shù)據(jù)與患者的重建數(shù)據(jù)之間的距離誤差約為0.10mm。然而,由于數(shù)據(jù)庫中手術(shù)病例數(shù)量的缺乏,他們的軟件不太健壯。
李菁菁提出了基于控制點(diǎn)平滑的二維人臉變形算法。其在網(wǎng)格變形之前加入一個(gè)以薄板樣條變形為原理的特征點(diǎn)平滑過程,使得圖像變形的結(jié)果既遠(yuǎn)比網(wǎng)格變形的結(jié)果細(xì)膩?zhàn)匀挥志哂休^快的速度。實(shí)驗(yàn)表明,平滑算法可以得到理想效果。
李旭東等人提出了基于非對(duì)稱徑向基函數(shù)的人臉圖像變形算法。該文算法克服了對(duì)稱徑向基函數(shù)人臉圖像變形算法中人臉圖像邊界發(fā)生扭曲的不合理變形現(xiàn)象。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提出一個(gè)基于優(yōu)化的薄板樣條基函數(shù)來處理非完備模型局部變形的問題,解決了使用薄板樣條基函數(shù)算法所產(chǎn)生的遺漏點(diǎn)的問題,并提出了使用薄板樣條基函數(shù)對(duì)每個(gè)像素的偏移量進(jìn)行插值運(yùn)算,大大增加了局部變形準(zhǔn)確性,節(jié)省了人力與時(shí)間。
本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的,一種基于薄板樣條基函數(shù)優(yōu)化的非完備模型局部變形的恢復(fù)方法,包括下述步驟:首先在源圖像和目標(biāo)圖像上選取對(duì)應(yīng)特征點(diǎn),根據(jù)這些對(duì)應(yīng)特征點(diǎn)點(diǎn)對(duì)的關(guān)系,通過徑向基函數(shù)來建立映射函數(shù);然后目標(biāo)圖像中的每個(gè)像素都會(huì)根據(jù)這個(gè)映射函數(shù)找到它在源圖像中對(duì)應(yīng)的像素并對(duì)薄板樣條基函數(shù)算法所產(chǎn)生的遺漏點(diǎn)進(jìn)行插值;最后對(duì)每個(gè)像素的偏移量進(jìn)行插值運(yùn)算,即像素偏移函數(shù)可以由徑向基函數(shù)的線性組合來表示。
優(yōu)選的,所述的步驟1)與步驟2)中的運(yùn)用徑向基函數(shù)來建立映射函數(shù)并據(jù)此函數(shù)使目標(biāo)圖像中的每個(gè)像素找到它在源圖像中對(duì)應(yīng)的像素,包括如下過程:
采用薄板樣條基函數(shù)作為映射函數(shù),定義兩個(gè)數(shù)組pi和hi用來分別表示兩個(gè)坐標(biāo)點(diǎn)集:pi=(xi,yi)和hi=(xi,yi)分別是源圖像a和目標(biāo)圖像b的控制點(diǎn);圖像映射函數(shù)φ,根據(jù)公式(1)經(jīng)過匹配計(jì)算將源圖像a的每一個(gè)坐標(biāo)點(diǎn)映射到目標(biāo)圖像b;映射變換的系數(shù)由所選擇的匹配控制點(diǎn)個(gè)數(shù)決定;
其中p=(x,y)是圖像空間的坐標(biāo);
為了求得公式(1)中的系數(shù),一個(gè)(n+3)×2的矩陣w定義如下:
w=(ω1...ωna1axay)t=l-1h(2)
其中ω1,ω2,...,ωn;a1,ax,ay是薄板樣條變換中的關(guān)鍵系數(shù);矩陣w還可以由矩陣l和h如公式(2)那樣表示,h是一個(gè)(n+3)×2的矩陣:
其中hi=(xi,yi),i=1,...,n是目標(biāo)圖像b中的控制點(diǎn)的坐標(biāo);矩陣l由矩陣i,q和一個(gè)3×3的零矩陣組合而成,如公式(4)所示,l應(yīng)為(n+3)行(n+3)列矩陣:
為了計(jì)算出矩陣l,矩陣i和q的操作參數(shù)表示如下,矩陣i定義如下:
其中u(r)=r2logr,且rij=(|pi-pj|)是源圖像a的任意兩個(gè)控制點(diǎn)之間的距離;
同時(shí),q矩陣定義如下:
其中(xi,yi),i=1,...,n表示源圖像a的控制點(diǎn)坐標(biāo)。
優(yōu)選的,所述的步驟3中對(duì)薄板樣條基函數(shù)算法所產(chǎn)生的遺漏點(diǎn)進(jìn)行插值,包括如下過程:
p0是被表示成3×3矩陣形式的源圖像a的中心點(diǎn),它的8個(gè)鄰居點(diǎn)被映射到目標(biāo)圖像b上的點(diǎn)被定義為p1'~p'8,p'0和p1'的像素值分別為c1和c2;然后,按照公式(7)和(8)分別定義p0和p1的像素值,令它們等于匹配點(diǎn)p'0和p1';
c{p'0}=c{p0}=c1(7)
c{p1'}=c{p1}=c2(8)
用c{p(k)}表示p'0和p1'點(diǎn)之間被遺漏的點(diǎn)的像素值,它們根據(jù)公式(9)來進(jìn)行估算;
其中d1是p(k)和p'0之間的距離,d2是p(k)和p1'之間的距離;根據(jù)公式(9),每個(gè)遺漏點(diǎn)的像素值被估算出來,然后用于填補(bǔ)變形圖像中空白的位置。
優(yōu)選的,所述的步驟4中對(duì)每個(gè)像素的偏移量進(jìn)行插值運(yùn)算,包括如下過程:
假設(shè)取得n個(gè)特征點(diǎn)
gi(x,y)=[(x-xi)2+(y-yi)2]2log[(x-xi)2+(y-yi)2](10)
在這個(gè)基礎(chǔ)上,像素點(diǎn)
其中系數(shù)向量
如果記
gα=δx,gβ=δy(13)
當(dāng)?shù)玫?imgfile="bda0001281642660000047.gif"wi="355"he="119"img-content="drawing"img-format="gif"orientation="portrait"inline="no"/>之后,扭曲圖像上像素點(diǎn)的位置就由式(14)
來確定:
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:解決了使用薄板樣條基函數(shù)算法所產(chǎn)生的遺漏點(diǎn)的問題,并提出了使用薄板樣條基函數(shù)對(duì)每個(gè)像素的偏移量進(jìn)行插值運(yùn)算,大大增加了局部變形準(zhǔn)確性,節(jié)省了人力與時(shí)間。
附圖說明
圖1為基于薄板樣條基函數(shù)優(yōu)化的局部変形算法流程圖;
圖2a為用薄板樣條基函數(shù)作為映射函數(shù)產(chǎn)生遺漏點(diǎn)的示意圖。
圖2b為對(duì)遺漏點(diǎn)插值的示意圖。
具體實(shí)施方式
如圖1所示,一種基于薄板樣條基函數(shù)優(yōu)化的非完備模型局部變形的恢復(fù)方法,包括下述步驟:
圖像之間映射函數(shù)的具體描述:
采用薄板樣條基函數(shù)作為映射函數(shù),我們定義兩個(gè)數(shù)組pi和hi用來分別表示兩個(gè)坐標(biāo)點(diǎn)集。pi=(xi,yi)和hi=(xi,yi)分別是源圖像a和目標(biāo)圖像b的控制點(diǎn)。圖像映射函數(shù)φ,根據(jù)公式(1)經(jīng)過匹配計(jì)算將源圖像a的每一個(gè)坐標(biāo)點(diǎn)映射到目標(biāo)圖像b。映射變換的系數(shù)由所選擇的匹配控制點(diǎn)個(gè)數(shù)決定。
其中p=(x,y)是圖像空間的坐標(biāo)。為了求得公式(1)中的系數(shù),一個(gè)(n+3)×2的矩陣w定義如下:
w=(ω1...ωna1axay)t=l-1h(2)
其中ω1,ω2,...,ωn;a1,ax,ay是薄板樣條變換中的關(guān)鍵系數(shù)。矩陣w還可以由矩陣l和h如公式(2)那樣表示。h是一個(gè)(n+3)×2的矩陣:
其中hi=(xi,yi),i=1,...,n是目標(biāo)圖像b中的控制點(diǎn)的坐標(biāo)。矩陣l由矩陣i,q和一個(gè)3×3的零矩陣組合而成,如公式(4)所示,l應(yīng)為(n+3)行(n+3)列矩陣:
為了計(jì)算出矩陣l,矩陣i和q的操作參數(shù)表示如下。矩陣i定義如下:
其中u(r)=r2logr,且rij=(|pi-pj|)是源圖像a的任意兩個(gè)控制點(diǎn)之間的距離。
同時(shí),q矩陣定義如下:
其中(xi,yi),i=1,...,n表示源圖像a的控制點(diǎn)坐標(biāo)。
對(duì)遺漏點(diǎn)進(jìn)行插值:
如圖2a、2b,p0是被表示成3×3矩陣形式的源圖像a的中心點(diǎn),它的8個(gè)鄰居點(diǎn)被映射到目標(biāo)圖像b上的點(diǎn)被定義為p1'~p'8,比如,p'0和p1'的像素值分別為c1和c2。然后,我們按照公式(7)和(8)分別定義p0和p1的像素值,令它們等于匹配點(diǎn)p'0和p1'。
c{p'0}=c{p0}=c1(7)
c{p1'}=c{p1}=c2(8)
用c{p(k)}表示p'0和p1'點(diǎn)之間被遺漏的點(diǎn)的像素值,它們可根據(jù)公式(9)來進(jìn)行估算。
其中d1是p(k)和p'0之間的距離,d2是p(k)和p1'之間的距離。根據(jù)公式(9),每個(gè)遺漏點(diǎn)的像素值可以被估算出來,然后用于填補(bǔ)變形圖像中空白的位置。
對(duì)偏移量進(jìn)行插值運(yùn)算:
假設(shè)取得n個(gè)特征點(diǎn)
gi(x,y)=[(x-xi)2+(y-yi)2]2log[(x-xi)2+(y-yi)2](10)
在這個(gè)基礎(chǔ)上,像素點(diǎn)
其中系數(shù)向量
如果記
gα=δx,gβ=δy(13)
當(dāng)?shù)玫?imgfile="bda0001281642660000076.gif"wi="358"he="119"img-content="drawing"img-format="gif"orientation="portrait"inline="no"/>之后,扭曲圖像上像素點(diǎn)的位置就可由式(14)
來確定: