專利名稱:用于管道缺損三維重構(gòu)的基于三次樣條函數(shù)的插值方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種油氣管道缺損三維重構(gòu)技術(shù),特別涉及三次樣條插值算法。
背景技術(shù):
由于磁傳感器沿圓周方向分布于管道,使其對(duì)管道缺陷的長(zhǎng)度和深度比較敏感, 而對(duì)于管道缺陷的寬度則較不敏感,所以通過(guò)實(shí)驗(yàn)獲得的管道缺陷數(shù)據(jù)只包含長(zhǎng)度和深度 量。為了更直觀分析管道缺陷,本發(fā)明通過(guò)將任意一處管道缺陷的離散漏磁曲線通過(guò)插值 的方法進(jìn)行曲線擬合,從而獲得管道缺陷的三維漏磁曲線。實(shí)現(xiàn)插值的方法很多,如多項(xiàng)式 插值、牛頓插值、分段線性插值、樣條插值等。三次樣條插值的方法是對(duì)給出的一系列離散點(diǎn)用三次樣條函數(shù)把相鄰點(diǎn)連接起 來(lái)獲得三次樣條插值曲線。由于三次樣條函數(shù)具有較高的光滑度和逼近階,因此所得的曲 線非常光滑,能夠更準(zhǔn)確地確定管道的三維缺陷。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種插值后曲面光滑,輪廓清晰的用于管道缺損三維重構(gòu) 的基于三次樣條函數(shù)的插值方法。本發(fā)明為解決上述技術(shù)問(wèn)題所采用的技術(shù)方案為,基于三次樣條函數(shù)的插值方 法,其特征在于,先檢測(cè)插值點(diǎn)的位置狀態(tài);對(duì)處于不同的位置狀態(tài)的插值點(diǎn)再采用不同的 處理方法進(jìn)行插值運(yùn)算。具體包括以下步驟a、將插值點(diǎn)相鄰點(diǎn)值之差與預(yù)設(shè)閾值比較,得到插值點(diǎn)的位置狀態(tài)信息;b、根據(jù)插值點(diǎn)的位置狀態(tài)信息,判斷插值點(diǎn)是否處于曲線的非連續(xù)部分;如是,調(diào) 整相鄰點(diǎn)的值,進(jìn)入步驟c ;如否,直接進(jìn)入步驟c ;C、進(jìn)行插值運(yùn)算。通過(guò)對(duì)相鄰的兩個(gè)點(diǎn)值的差進(jìn)行判斷,判定這兩個(gè)點(diǎn)是否處于真實(shí)曲線的邊緣兩 側(cè)(非連續(xù)邊緣部分),如不是,則直接進(jìn)入常規(guī)的插值運(yùn)算;如是,則先將該相鄰的兩個(gè)點(diǎn) 進(jìn)行調(diào)整后再進(jìn)行插值運(yùn)算。即本發(fā)明對(duì)曲線梯度變化較小的部分采用平滑性表現(xiàn)較好的 三次樣條函數(shù)插值算法;而對(duì)于梯度變化較大的部分,先對(duì)插值點(diǎn)所處的邊緣位置狀態(tài)進(jìn) 行判斷,然后根據(jù)插值點(diǎn)位置狀態(tài)信息對(duì)插值點(diǎn)運(yùn)算的參數(shù)進(jìn)行調(diào)整。具體的,插值點(diǎn)的位置狀態(tài)信息由插值點(diǎn)相鄰點(diǎn)間的邊緣狀態(tài)組成,所述邊緣狀 態(tài)包括非邊沿狀態(tài)、邊沿狀態(tài);兩相鄰點(diǎn)值的差值的絕對(duì)值小于預(yù)設(shè)閾值,為所述非邊沿狀 態(tài);兩相鄰點(diǎn)值的差值的絕對(duì)值大于或等于預(yù)設(shè)閾值,為所述邊沿狀態(tài)。具體的,所述插值 點(diǎn)的位置狀態(tài)信息由與插值點(diǎn)相鄰4個(gè)點(diǎn)間的3個(gè)邊緣狀態(tài)組成與插值點(diǎn)相鄰4個(gè)像素 點(diǎn)的像素點(diǎn)值依次為第一點(diǎn)值A(chǔ)l、第二點(diǎn)值A(chǔ)2、第三點(diǎn)值A(chǔ)3、第四點(diǎn)值A(chǔ)4;其中插值點(diǎn)位于 第二點(diǎn)、第三點(diǎn)之間;3個(gè)邊緣狀態(tài)依次為第一狀態(tài);第二狀態(tài);第三狀態(tài);所述步驟b具體為
當(dāng)?shù)谝粻顟B(tài)與第二狀態(tài)為非邊沿狀態(tài),第三狀態(tài)為邊沿狀態(tài)時(shí),調(diào)整第四點(diǎn)值A(chǔ)4 ; 調(diào)整后的第四點(diǎn)值為2XA3-A2 ;當(dāng)?shù)谝粻顟B(tài)為邊沿狀態(tài),第二狀態(tài)與第三狀態(tài)為非邊沿狀態(tài)時(shí),調(diào)整第一點(diǎn)值A(chǔ)l ; 調(diào)整后的第一像素點(diǎn)值為2XA2-A3 ;當(dāng)?shù)谝粻顟B(tài)與第三狀態(tài)為非邊沿狀態(tài),第二狀態(tài)為邊沿狀態(tài)時(shí),調(diào)整第一點(diǎn) 值A(chǔ)l與第四點(diǎn)值A(chǔ)4;調(diào)整后的第一點(diǎn)值為Al+(A3-Al)Xa。;調(diào)整后的第四點(diǎn)值為 A4+ (A2-A4)X a ;當(dāng)?shù)诙顟B(tài)與第三狀態(tài)為非邊沿狀態(tài),第一狀態(tài)為邊沿狀態(tài)時(shí),調(diào)整第一點(diǎn)值A(chǔ)l ; 調(diào)整后的第一點(diǎn)值為A1十(A3-A1) Xa ;當(dāng)?shù)谌隣顟B(tài)為邊沿狀態(tài),第一狀態(tài)與第二狀態(tài)為非邊沿狀態(tài)時(shí),調(diào)整第四點(diǎn)值A(chǔ)4 ; 調(diào)整后的第四點(diǎn)值為A4十(A2-A4) Xa0 ;當(dāng)?shù)谝粻顟B(tài)與第三狀態(tài)為邊沿狀態(tài),第二狀態(tài)為非邊沿狀態(tài)時(shí),調(diào)整第一點(diǎn) 值A(chǔ)l與第四點(diǎn)值A(chǔ)4;調(diào)整后的第一點(diǎn)值為Al+(A2-Al)Xa。;調(diào)整后的第四點(diǎn)值為 A4+ (A3-A4)X a ;插值點(diǎn)的位置狀態(tài)信息中3個(gè)狀態(tài)全為非邊沿、全為邊沿狀態(tài)時(shí),直接進(jìn)入步驟 C。其中a為調(diào)節(jié)因子,其取值范圍為0-1。為進(jìn)一步提高位置狀態(tài)信息的精確度,將邊沿狀態(tài)進(jìn)一步分為正邊沿狀態(tài)、負(fù)邊 沿狀態(tài);兩相鄰點(diǎn)值的差值大于0,且其絕對(duì)值大于或等于預(yù)設(shè)閾值,為所述正邊沿狀態(tài); 兩相鄰點(diǎn)值的差值小于0,且其絕對(duì)值大于或等于預(yù)設(shè)閾值,為所述負(fù)邊沿狀態(tài)。本發(fā)明的有益效果是,在保證曲線平滑性的基礎(chǔ)上,增加邊緣銳度,同時(shí)有效的消 除了由于曲線非連續(xù)狀態(tài)互相干擾問(wèn)題。同時(shí),本發(fā)明對(duì)所有插值點(diǎn)的計(jì)算,采用同一個(gè)運(yùn) 算公式,使得本發(fā)明的實(shí)現(xiàn)簡(jiǎn)單。
圖1為插值點(diǎn)及其相鄰4個(gè)像素點(diǎn)的示意圖。圖2為管道缺陷二維漏磁信號(hào)曲線。圖3為管道缺陷漏磁三維重構(gòu)曲面。
具體實(shí)施例方式本發(fā)明通過(guò)將任意一處管道缺陷的離散漏磁曲線通過(guò)插值的方法進(jìn)行曲線擬合, 從而獲得管道缺陷的三維漏磁曲線。在插值時(shí),我們可以采用列方向上進(jìn)行插值的方法來(lái) 實(shí)現(xiàn)。三次樣條函數(shù)計(jì)算過(guò)程如下設(shè)各測(cè)試等間隔時(shí)間點(diǎn)、< t2 < Λ < tN上的數(shù)據(jù)為X1, x2,A,xN則對(duì)應(yīng)的三次 樣條函數(shù)s (t)應(yīng)滿足如下條件(DsUi) = Xi, i = 1,2, Λ,Ν;(2)在每個(gè)子區(qū)間(t" ti+1)上8(、)是一個(gè)三次多項(xiàng)式,i = 1,2,Λ,N-I ;(3)在[t1;tN]上有一階及二階連續(xù)導(dǎo)數(shù),且在端點(diǎn)處有s〃 U1) = s〃 (t2) = 0。 先進(jìn)行插值計(jì)算,根據(jù)牛頓插值公式,有s(t) = sa^+sUi,、+1) + α-、)(t_ti+1)s(t,ti ti+1)t e (ti ti+1) (1)
其中,二階均差啦d)=去[#) +作)+作+1)],對(duì)式(6-11)求一次微分得s ( = s(tt,tM) + (2t- τ -tM)s(t, τ,tM) +)(t-tM)s (tt,tM)(2)
6二次微分為s〃 (t)=s〃 (^ + (t-t^s" (ti; ti+1)(3)式中的s" (t) (i = 1,2,Λ,Ν-1)滿足三對(duì)角線性方程組(t-ti+1)s〃 αΗ)+2(、+1-、)8 〃 α)+αΜ-、)8 〃 ai+1) = 6[s(ti; ti+1)-sa^, 、)]⑷i = 1,2, A , N-I其中,s"(、)= (tN) = 0用追趕法解方程組,對(duì)每個(gè)被插值或求微分點(diǎn)、(j = 1,2, Λ,m),分別用公式計(jì) 算外),8'(tp 0其中,如圖1所示A1-A4來(lái)表示A[i,j-1]-A[i,j+2],A1_A4為插值點(diǎn)I的相鄰點(diǎn), 插值點(diǎn)I位于點(diǎn)A2,A3之間,[i,m]為插值點(diǎn)I的坐標(biāo)位置,d為插值點(diǎn)I [i,m]與相鄰點(diǎn) Al[i,j]的距離。對(duì)于曲線中的連續(xù)部分,雙三次插值算法,能夠保證A2-A3之間的插值點(diǎn)數(shù)值連 續(xù)平滑,滿足視覺效果。但是實(shí)際曲線總是局部分段連續(xù)的,當(dāng)A1-A4之間出現(xiàn)不連續(xù)時(shí), A1-A4之間的值會(huì)有一個(gè)階越。此時(shí),若雙三次計(jì)算的A1-A4仍然采用A[i,j]序列的值, 則運(yùn)算的結(jié)果將會(huì)與插值點(diǎn)位置原始的值有較大偏差。
權(quán)利要求
1.一種用于管道缺損三維重構(gòu)的基于三次樣條函數(shù)的插值方法,其特征在于a、將插值點(diǎn)相鄰點(diǎn)兩兩間的值之差與預(yù)設(shè)閾值比較,得到插值點(diǎn)的位置狀態(tài)信息;b、根據(jù)插值點(diǎn)的位置狀態(tài)信息,判斷插值點(diǎn)是否處于曲線的非連續(xù)邊緣部分;如是,調(diào) 整相鄰點(diǎn)的值,進(jìn)入步驟c ;如否,直接進(jìn)入步驟c ;C、進(jìn)行插值運(yùn)算。
2.如權(quán)利要求2所述用于管道缺損三維重構(gòu)的基于三次樣條函數(shù)的插值方法,其特征 在于在步驟a之前先判斷插值點(diǎn)是否處于邊界,如是,進(jìn)入步驟c ;如否,進(jìn)入步驟a。
3.如權(quán)利要求2所述用于管道缺損三維重構(gòu)的基于三次樣條函數(shù)的插值方法,其特征 在于所述得到插值點(diǎn)的位置狀態(tài)信息是得到該相鄰點(diǎn)間的邊緣狀態(tài);所述邊緣狀態(tài)包括 非邊沿狀態(tài)、邊沿狀態(tài);兩相鄰點(diǎn)值的差值的絕對(duì)值小于預(yù)設(shè)閾值,為所述非邊沿狀態(tài);兩 相鄰點(diǎn)值的差值的絕對(duì)值大于或等于預(yù)設(shè)閾值,為所述邊沿狀態(tài)。
4.如權(quán)利要求3所述用于管道缺損三維重構(gòu)的基于三次樣條函數(shù)的插值方法,其特征 在于所述插值點(diǎn)的位置狀態(tài)信息由與插值點(diǎn)相鄰4個(gè)點(diǎn)間的3個(gè)邊緣狀態(tài)組成與插值 點(diǎn)相鄰4個(gè)點(diǎn)的點(diǎn)值依次為第一點(diǎn)值A(chǔ)l、第二點(diǎn)值A(chǔ)2、第三點(diǎn)值A(chǔ)3、第四點(diǎn)值A(chǔ)4;其中插值 點(diǎn)位于第二點(diǎn)、第三點(diǎn)之間;3個(gè)邊緣狀態(tài)依次為第一狀態(tài);第二狀態(tài);第三狀態(tài);步驟b中所述當(dāng)插值點(diǎn)處于圖像的非連續(xù)邊緣部分,調(diào)整相鄰點(diǎn)的點(diǎn)值具體為當(dāng)?shù)谝?狀態(tài)與第二狀態(tài)為非邊沿狀態(tài),第三狀態(tài)為邊沿狀態(tài)時(shí),調(diào)整第四點(diǎn)值A(chǔ)4;調(diào)整后的第四 點(diǎn)值為:2XA3-A2 ;當(dāng)?shù)谝粻顟B(tài)為邊沿狀態(tài),第二狀態(tài)與第三狀態(tài)為非邊沿狀態(tài)時(shí),調(diào)整第一點(diǎn)值A(chǔ)l ;調(diào) 整后的第一點(diǎn)值為2XA2-A3;當(dāng)?shù)谝粻顟B(tài)與第三狀態(tài)為非邊沿狀態(tài),第二狀態(tài)為邊沿狀態(tài)時(shí),調(diào)整第一點(diǎn)值A(chǔ)l與第 四點(diǎn)值A(chǔ)4 ;調(diào)整后的第一點(diǎn)值為A1+(A3-A1) Xa0 ;調(diào)整后的第四點(diǎn)值為A4+(A2_A4) Xa ;當(dāng)?shù)诙顟B(tài)與第三狀態(tài)為非邊沿狀態(tài),第一狀態(tài)為邊沿狀態(tài)時(shí),調(diào)整第一點(diǎn)值A(chǔ)l ;調(diào) 整后的第一點(diǎn)值為A1+(A3-A1) Xa0 ;當(dāng)?shù)谌隣顟B(tài)為邊沿狀態(tài),第一狀態(tài)與第二狀態(tài)為非邊沿狀態(tài)時(shí),調(diào)整第四點(diǎn)值A(chǔ)4;調(diào) 整后的第四點(diǎn)值為A4+(A2-A4) Xa0 ;當(dāng)?shù)谝粻顟B(tài)與第三狀態(tài)為邊沿狀態(tài),第二狀態(tài)為非邊沿狀態(tài)時(shí),調(diào)整第一點(diǎn)值A(chǔ)l與第 四點(diǎn)值A(chǔ)4 ;調(diào)整后的第一點(diǎn)值為A1+(A2-A1) Xa0 ;調(diào)整后的第四點(diǎn)值為A4+(A3_A4) Xa ; 其中a為調(diào)節(jié)因子,其取值范圍為0-1 ;所述當(dāng)插值點(diǎn)未處于曲線的非連續(xù)邊緣部分的情況為位置狀態(tài)信息中3個(gè)邊緣狀態(tài) 全為非邊沿狀態(tài)或全為邊沿狀態(tài)。
5.如權(quán)利要求4所述用于管道缺損三維重構(gòu)的基于三次樣條函數(shù)的插值方法,其特征 在于所述邊沿狀態(tài)進(jìn)一步分為正邊沿狀態(tài)、負(fù)邊沿狀態(tài);兩相鄰點(diǎn)值的差值大于0,且其 絕對(duì)值大于或等于預(yù)設(shè)閾值,為所述正邊沿狀態(tài);兩相鄰點(diǎn)值的差值小于0,且其絕對(duì)值大 于或等于預(yù)設(shè)閾值,為所述負(fù)邊沿狀態(tài)。
6.如權(quán)利要求7所述用于管道缺損三維重構(gòu)的基于三次樣條函數(shù)的插值方法,其特征 在于步驟b中所述當(dāng)插值點(diǎn)處于曲線的非連續(xù)邊緣部分,調(diào)整相鄰點(diǎn)的點(diǎn)值具體為當(dāng)?shù)谝粻顟B(tài)與第二狀態(tài)為非邊沿狀態(tài),第三狀態(tài)為邊沿狀態(tài)時(shí),調(diào)整第四點(diǎn)值A(chǔ)4;調(diào) 整后的第四點(diǎn)值為2XA3-A2;當(dāng)?shù)谝粻顟B(tài)為邊沿狀態(tài),第二狀態(tài)與第三狀態(tài)為非邊沿狀態(tài)時(shí),調(diào)整第一點(diǎn)值A(chǔ)l ;調(diào) 整后的第一點(diǎn)值為2XA2-A3;當(dāng)?shù)谝粻顟B(tài)與第三狀態(tài)為非邊沿狀態(tài),第二狀態(tài)為邊沿狀態(tài)時(shí),調(diào)整第一點(diǎn)值A(chǔ)l與第 四點(diǎn)值A(chǔ)4 ;調(diào)整后的第一點(diǎn)值為A1+(A3-A1) Xa0 ;調(diào)整后的第四點(diǎn)值為A4+(A2_A4) Xa ; 當(dāng)?shù)诙顟B(tài)與第三狀態(tài)為非邊沿狀態(tài),第一狀態(tài)為邊沿狀態(tài)時(shí),調(diào)整第一點(diǎn)值A(chǔ)l ;調(diào) 整后的第一點(diǎn)值為A1+(A3-A1) Xa0 ;當(dāng)?shù)谌隣顟B(tài)為邊沿狀態(tài),第一狀態(tài)與第二狀態(tài)為非邊沿狀態(tài)時(shí),調(diào)整第四點(diǎn)值A(chǔ)4;調(diào) 整后的第四點(diǎn)值為A4+(A2-A4) Xa0 ;當(dāng)?shù)谝粻顟B(tài)與第三狀態(tài)都為正邊沿狀態(tài)或都為負(fù)邊沿狀態(tài),第二狀態(tài)為非邊沿狀態(tài) 時(shí),調(diào)整第一點(diǎn)值A(chǔ)l與第四點(diǎn)值A(chǔ)4 ;調(diào)整后的第一點(diǎn)值為A1+(A2-A1) Xa。;調(diào)整后的第四 點(diǎn)值為:A4+(A3-A4) Xa ;所述當(dāng)插值點(diǎn)未處于圖像的非連續(xù)邊緣部分的情況為位置狀態(tài)信息中3個(gè)邊緣狀態(tài) 全為非邊沿狀態(tài)或全為邊沿狀態(tài);或者第一狀態(tài)為正邊沿狀態(tài),第二狀態(tài)為非邊沿狀態(tài),第 三狀態(tài)為負(fù)邊沿狀態(tài);或者第一狀態(tài)為負(fù)邊沿狀態(tài),第二狀態(tài)為非邊沿狀態(tài),第三狀態(tài)為正 邊沿狀態(tài)。
全文摘要
本發(fā)明提供的是一種用于管道缺損三維重構(gòu)的基于三次樣條函數(shù)的插值方法。a、將插值點(diǎn)相鄰點(diǎn)兩兩間的值之差與預(yù)設(shè)閾值比較,得到插值點(diǎn)的位置狀態(tài)信息;b、根據(jù)插值點(diǎn)的位置狀態(tài)信息,判斷插值點(diǎn)是否處于曲線的非連續(xù)邊緣部分;如是,調(diào)整相鄰點(diǎn)的值,進(jìn)入步驟c;如否,直接進(jìn)入步驟c;c、進(jìn)行插值運(yùn)算。本發(fā)明的技術(shù)方案是,先檢測(cè)插值點(diǎn)的位置狀態(tài),對(duì)處于不同的位置狀態(tài)的插值點(diǎn)再采用不同的處理方法進(jìn)行插值運(yùn)算;同時(shí),本發(fā)明對(duì)所有插值點(diǎn)的計(jì)算,采用同一個(gè)運(yùn)算公式,使得本發(fā)明的實(shí)現(xiàn)簡(jiǎn)單。是一種油氣管道三維重構(gòu)技術(shù),特別涉及三次樣條插值算法。
文檔編號(hào)G06T17/20GK102129714SQ20111004875
公開日2011年7月20日 申請(qǐng)日期2011年3月1日 優(yōu)先權(quán)日2011年3月1日
發(fā)明者劉楊, 劉勝, 李冰 申請(qǐng)人:哈爾濱工程大學(xué)