一種圖像自適應(yīng)網(wǎng)格生成變分方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及圖像逼近和分片多項(xiàng)式逼近,尤其是涉及基于三角網(wǎng)格的、利用分片多項(xiàng)式逼近產(chǎn)生圖像自適應(yīng)剖分的一種圖像自適應(yīng)網(wǎng)格生成變分方法。
【背景技術(shù)】
[0002]利用三角網(wǎng)格逼近一幅圖像主要是在該三角網(wǎng)格的每個(gè)三角面上構(gòu)造出一個(gè)逼近函數(shù),使得該三角網(wǎng)格能夠獲得的逼近質(zhì)量盡量高[1,2]。
[0003]三角網(wǎng)格是與圖像數(shù)據(jù)息息相關(guān)的,許多方法采用將三角網(wǎng)格簡(jiǎn)化的策略來(lái)生成最終的網(wǎng)格結(jié)果,即初始的三角網(wǎng)格包含了圖像的所有像素點(diǎn),根據(jù)逼近誤差極小化確定相應(yīng)的連接關(guān)系,依次從當(dāng)前網(wǎng)格中刪除逼近誤差最小的頂點(diǎn),直到逼近誤差達(dá)到設(shè)定值或網(wǎng)格頂點(diǎn)個(gè)數(shù)減小到設(shè)定值[3,4]。
[0004]但受到刪除頂點(diǎn)和翻轉(zhuǎn)三角邊的準(zhǔn)則的不同,這種方法產(chǎn)生的結(jié)果之間差異較大,頂點(diǎn)的位置相對(duì)固定,無(wú)法獲得更好的逼近結(jié)果。另一類(lèi)方法是向初始的粗糙網(wǎng)格內(nèi)不斷在誤差較大的面上依據(jù)加點(diǎn)準(zhǔn)則插入頂點(diǎn),并結(jié)合翻邊準(zhǔn)則更新連接關(guān)系,直到頂點(diǎn)個(gè)數(shù)達(dá)到指定值[5]。這種方法只是不斷地細(xì)分網(wǎng)格,仍然存在較大的優(yōu)化空間。第三類(lèi)方法則同時(shí)加入了頂點(diǎn)的優(yōu)化過(guò)程,在一定程度上頂點(diǎn)位置更加靈活[6]。本發(fā)明所述的方法屬于最后一類(lèi)。
[0005]參考文獻(xiàn)
[0006][I] Dyn N.and Levin D., Rippa S.Data dependent triangulat1nsfor piecewise linear interpoI at1n[J].1MA Journal of NumericalAnalysis.1990, 10(1):137-154。
[0007][2]Lehner B., Umlauf G., Hamann B.Survey of Techniques for Data-dependentTriangulat1ns Approximating Color Images[J].GI Lecture Notes inInformatics.2008, S_7:178-187。
[0008][3]Su D., Willis P.1mage interpolat1n by pixel-level data-dependenttriangulat1n[J].Computer Graphics Forum.2004, 23(2):189-201o
[0009][4]N.Dyn, M.S.Floater, A.1ske.Adaptive thinning for bivariate scattereddata[J].Journal of Computat1nal and Applied Mathematics.2002,145:505-517。
[0010][5]Li P., Adams Michael D.A tuned mesh-generat1n strategy for imagerepresentat1n based on data-dependent triangulat1n[J].1EEE Transact1ns onImage Processing.2013, 22(5):2004-2018。
[0011][6]Kreylos 0., Hamann B.0n simulated annealing and the construct1nof linear spline approximat1ns for scattered data[J].1EEE Transact1ns onVisualizat1n and Computer Graphics.2001,7(I):17-31。
【發(fā)明內(nèi)容】
[0012]本發(fā)明的目的在于提供在初始三角網(wǎng)格剖分上可以自動(dòng)地根據(jù)圖像的特征線產(chǎn)生最優(yōu)的剖分結(jié)果,即該三角剖分能夠沿著圖像的特征線分布,使得該三角網(wǎng)格逼近該圖像時(shí)所產(chǎn)生的逼近誤差最小的一種圖像自適應(yīng)網(wǎng)格生成變分方法。
[0013]本發(fā)明包括以下步驟:
[0014]S1、輸入圖像,設(shè)定相關(guān)參數(shù);
[0015]S2、產(chǎn)生初始的三角網(wǎng)格剖分;
[0016]S3、根據(jù)能量函數(shù)及相應(yīng)的梯度和Hessian矩陣信息計(jì)算三角網(wǎng)格頂點(diǎn)的新位置,并將各頂點(diǎn)移動(dòng)到新位置上;
[0017]S4、更新頂點(diǎn)移動(dòng)后的三角網(wǎng)格的連接關(guān)系;
[0018]S5、循環(huán)執(zhí)行步驟S3至S4若干次,直到迭代次數(shù)達(dá)到J,即在圖像區(qū)域內(nèi)產(chǎn)生一個(gè)剖分結(jié)構(gòu)非常接近原圖像的三角網(wǎng)格;輸出最優(yōu)的三角網(wǎng)格和相應(yīng)的逼近多項(xiàng)式集合。
[0019]在步驟SI中,所述圖像包括但不限于灰度或彩色;所述相關(guān)參數(shù)包括但不限于逼近多項(xiàng)式的階次、三角網(wǎng)格頂點(diǎn)個(gè)數(shù)N和牛頓迭代的優(yōu)化次數(shù)J。
[0020]在步驟S2中,所述產(chǎn)生初始的三角網(wǎng)格剖分的具體方法可為:
[0021]S21、在圖像區(qū)域的四個(gè)角點(diǎn)各生成一個(gè)頂點(diǎn),并將它們連接形成一個(gè)三角網(wǎng)格,這四個(gè)頂點(diǎn)是固定的邊界點(diǎn),在后續(xù)優(yōu)化過(guò)程中不參與任何操作;
[0022]S22、在當(dāng)前三角網(wǎng)格上找到一個(gè)逼近誤差最大的三角面,在該三角形區(qū)域上產(chǎn)生一個(gè)隨機(jī)頂點(diǎn),并插入到當(dāng)前三角網(wǎng)格;
[0023]S23、重復(fù)執(zhí)行S22,直到頂點(diǎn)個(gè)數(shù)達(dá)到設(shè)定值。
[0024]在步驟S3中,所述根據(jù)能量函數(shù)及相應(yīng)的梯度和Hessian矩陣信息計(jì)算三角網(wǎng)格頂點(diǎn)的新位置,并將各頂點(diǎn)移動(dòng)到新位置上的具體方法可為:
[0025]S31、對(duì)于當(dāng)前三角網(wǎng)格上的除四個(gè)角點(diǎn)外的每個(gè)頂點(diǎn),根據(jù)提出的能量函數(shù),及關(guān)于頂點(diǎn)的梯度和Hessian矩陣公式,計(jì)算除四個(gè)角點(diǎn)外的每個(gè)頂點(diǎn)相應(yīng)的梯度分量和Hessian 矩陣;
[0026]S32、將梯度和Hessian矩陣信息代入牛頓迭代法的公式中,計(jì)算除四個(gè)角點(diǎn)外的每個(gè)頂點(diǎn)的新位置;
[0027]S33、步驟S32中的步長(zhǎng)值根據(jù)下述方法求解得到,即初值為1,不斷減小該值,直到某個(gè)步長(zhǎng)值使得逼近誤差減??;為了避免三角網(wǎng)格產(chǎn)生退化,還需考慮頂點(diǎn)移動(dòng)當(dāng)前步長(zhǎng)值是否會(huì)越過(guò)它的一鄰域范圍,若是,則繼續(xù)減小步長(zhǎng)值;
[0028]S34、將三角網(wǎng)格上的每個(gè)頂點(diǎn)移動(dòng)到計(jì)算得到的相應(yīng)新位置上。
[0029]在步驟S4中,所述更新頂點(diǎn)移動(dòng)后的三角網(wǎng)格的連接關(guān)系的具體方法可為:
[0030]S41、對(duì)于當(dāng)前三角網(wǎng)格上的一條內(nèi)部邊,計(jì)算與它相鄰的兩個(gè)三角面相應(yīng)的逼近誤差E1、E2 ;
[0031]S42、假設(shè)將該邊翻轉(zhuǎn),與之相鄰的兩個(gè)三角面的頂點(diǎn)組合產(chǎn)生變化,計(jì)算相應(yīng)的新的逼近誤差E3、E4;
[0032]S43、如果 E1+E2>E3+E4,則翻轉(zhuǎn)該邊;
[0033]S44、對(duì)當(dāng)前三角網(wǎng)格的所有內(nèi)部邊執(zhí)行步驟S41?S43過(guò)程,已翻轉(zhuǎn)或者無(wú)需翻轉(zhuǎn)或者幾何上不能翻轉(zhuǎn)的邊稱(chēng)為該邊的最優(yōu)狀態(tài);
[0034]需要注意的是,翻轉(zhuǎn)一條邊可能會(huì)導(dǎo)致與該邊相鄰的四條邊不是最優(yōu)狀態(tài),需要對(duì)它們重新計(jì)算并決定是否需要翻轉(zhuǎn)。
[0035]本發(fā)明能夠在一幅圖像上產(chǎn)生一個(gè)分布結(jié)構(gòu)非常接近該圖像特征線的三角網(wǎng)格。
[0036]三角網(wǎng)格的頂點(diǎn)更新不可避免地會(huì)出現(xiàn)內(nèi)部頂點(diǎn)向邊界移動(dòng),這些頂點(diǎn)的最終歸宿是在邊界邊上,相對(duì)來(lái)說(shuō),它們已經(jīng)是邊界點(diǎn),所以當(dāng)一個(gè)內(nèi)部頂點(diǎn)移動(dòng)到離邊界很近的一定范圍的位置時(shí),應(yīng)當(dāng)將其直接移動(dòng)到邊界上,并設(shè)置為邊界點(diǎn),具體操作是,將該點(diǎn)移動(dòng)到與其相鄰的邊界面的那條邊界邊上,然后刪除該邊界面。這種邊界點(diǎn)的后續(xù)優(yōu)化只在邊界上移動(dòng)。
[0037]為了使得最終結(jié)果盡量好,對(duì)整個(gè)優(yōu)化過(guò)程進(jìn)行改進(jìn),采用一種逐步優(yōu)化的策略。具體來(lái)說(shuō),有:
[0038]Al、設(shè)定一個(gè)參數(shù)值n,表示η次加點(diǎn)后三角網(wǎng)格頂點(diǎn)個(gè)數(shù)達(dá)到指定數(shù)量N ;
[0039]Α2、初始時(shí),根據(jù)貪婪策略產(chǎn)生頂點(diǎn)個(gè)數(shù)為Ν/η的三角網(wǎng)格;
[0040]A3、對(duì)當(dāng)前網(wǎng)格進(jìn)行若干次的牛頓迭代優(yōu)化;
[0041]Α4、若當(dāng)前網(wǎng)格頂點(diǎn)個(gè)數(shù)達(dá)到N,則優(yōu)化過(guò)程結(jié)束;否則,在當(dāng)前三角網(wǎng)格上找到逼近誤差最大的前Ν/η個(gè)三角面,在這些面上各插入一個(gè)頂點(diǎn),可以隨機(jī)插入或取三角形的重心插入,此時(shí)三角網(wǎng)格增加了 Ν/η個(gè)頂點(diǎn);
[0042]Α5、重復(fù)執(zhí)行η?I次A3?Α4過(guò)程;
[0043]Α6、輸出最優(yōu)的三角網(wǎng)格和相應(yīng)的逼近多項(xiàng)式集合。
[0044]一般來(lái)說(shuō),為了使得最后的結(jié)果較好,一般設(shè)置最后一次加完點(diǎn)后優(yōu)化的次數(shù)為前幾次加完點(diǎn)后優(yōu)化次數(shù)的2倍。
[0045]由此可見(jiàn),本發(fā)明實(shí)質(zhì)上是一個(gè)分片多項(xiàng)式逼近方法。主要理論闡述如下:
[0046]1、本發(fā)明采用分片多項(xiàng)式的方法來(lái)逼近一個(gè)給定的函數(shù),該函數(shù)的定義域被分割成若干個(gè)不相交的子區(qū)域,在每個(gè)子區(qū)域上我們構(gòu)造出一個(gè)多項(xiàng)式,用該多項(xiàng)式在該子區(qū)域上逼近給定的原函數(shù),多項(xiàng)式階次可任意指定。
[0047]2、關(guān)于如何劃分給定函數(shù)的定義域成若干個(gè)子區(qū)域,本發(fā)明采用簡(jiǎn)單的幾何結(jié)構(gòu),即三角網(wǎng)格;需要注意的是,為了使得三角網(wǎng)格能夠完全覆蓋原函數(shù)的定義域,我們需要在定義域的特征點(diǎn)上設(shè)置三角網(wǎng)格的固定頂點(diǎn),在后續(xù)優(yōu)化過(guò)程中不能移動(dòng)。例如,當(dāng)函數(shù)定義域?yàn)殚L(zhǎng)方形時(shí),在該長(zhǎng)方形的四個(gè)角點(diǎn)上需要分別設(shè)置一個(gè)頂點(diǎn)。
[0048]3、本發(fā)明根據(jù)上兩條理論,提出一個(gè)能量函數(shù)。由于我們用三角網(wǎng)格劃分原函數(shù)的定義域,并在每個(gè)小三角形中構(gòu)建相應(yīng)的逼近多項(xiàng)式,自然地,在每個(gè)小三角形中,多項(xiàng)式與原函數(shù)之間一定存在誤差,稱(chēng)為逼近誤差;一個(gè)小三角形中的逼近誤差可以用積分計(jì)算得出,本發(fā)明采用多項(xiàng)式與原函數(shù)的差值的平方來(lái)表示積分中的被積函數(shù),積分區(qū)域即該三角形區(qū)域;據(jù)此,三角網(wǎng)格對(duì)應(yīng)的總誤差為每個(gè)小三角形上的誤差累加和,我們將其稱(chēng)為能量函數(shù)。
[0049]4、由于三角網(wǎng)格主要由頂點(diǎn)的位置和頂點(diǎn)之間的連接關(guān)系決定,在Τ3中,能量函數(shù)是以三角網(wǎng)格為變量,為了簡(jiǎn)化計(jì)算,將連接關(guān)系從能量函數(shù)分離出來(lái),令能量函數(shù)只與頂點(diǎn)的位置相關(guān),因此利用三角網(wǎng)格逼近原函數(shù)的問(wèn)題包含兩步:即優(yōu)化能量函數(shù)(頂點(diǎn)位置的更新)和優(yōu)化連接關(guān)系;由于我們的目標(biāo)是使得三角網(wǎng)格對(duì)應(yīng)的逼近誤差最小,因此,減小逼近誤差是連接關(guān)系更新的主要原則。
[0050]5、本發(fā)明采用了牛頓迭代法來(lái)優(yōu)化三角網(wǎng)格的頂點(diǎn)位置。根據(jù)能量函數(shù)的特點(diǎn)推導(dǎo)出了能量函數(shù)關(guān)于各個(gè)頂點(diǎn)的梯度和Hessian矩陣公式,它們用于牛頓迭代法中頂點(diǎn)新位置的計(jì)算;牛頓迭代法中的步長(zhǎng)設(shè)置如下,初值為1,不斷減小它直到頂點(diǎn)的移動(dòng)能夠減小逼近誤差且不會(huì)造成三角網(wǎng)格產(chǎn)生退化。
[0051]6、本發(fā)明主要通過(guò)翻轉(zhuǎn)邊來(lái)更新三角網(wǎng)格的連接關(guān)系,除了以使逼近誤差減小為原則,還需考慮翻轉(zhuǎn)邊是否造成三角網(wǎng)格退化。
[0052]7、本發(fā)明整體的優(yōu)化過(guò)程包括頂點(diǎn)的更新和連接關(guān)系的更新,兩者不斷交替執(zhí)行,直到達(dá)到指定次數(shù)。
[0053]8、圖像可看做是離散的函數(shù),上述理論可直接應(yīng)用在灰度圖像的逼近問(wèn)題上,同時(shí)可以推廣到多重函數(shù)的逼近問(wèn)題,如逼近彩色圖像;只需適當(dāng)修改能量函數(shù),詳細(xì)表述如下:將彩色圖像的各個(gè)顏色通道看做單獨(dú)的函數(shù),對(duì)每個(gè)通道函數(shù)分別構(gòu)造一個(gè)逼近多項(xiàng)式,在三角網(wǎng)格的各個(gè)小三角形區(qū)域上,逼近誤差由各個(gè)通道的逼近誤差累加起來(lái)。實(shí)際上,只有能量函數(shù)的積分部分的被積函數(shù)發(fā)生改變,它對(duì)梯度和Hessian矩陣公式的推導(dǎo)幾乎沒(méi)有影響,因此上述理論同樣適用于彩