基于改進(jìn)T-Snake模型的遙感影像復(fù)雜水體邊界提取方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及水體遙感技術(shù)領(lǐng)域,特別涉及一種基于改進(jìn)T-Snake模型的遙感影像 復(fù)雜水體邊界提取方法。
【背景技術(shù)】
[0002] 從遙感影像中提取水體邊界的主要技術(shù)是邊緣檢測。文獻(xiàn)1(孟令奎,呂琪菲, 復(fù)雜水體邊界提取的改進(jìn)正交T-Snake模型,測繪學(xué)報(bào),2015, 44(6))提供了一種利用拓 撲自適應(yīng)蛇模型(Topology adaptive Snake,T-Snake)提取遙感影像復(fù)雜水體邊界的方 法,該模型是對經(jīng)典Snake模型的改進(jìn),其基本思想是在原始圖像中構(gòu)建一系列的正方形 網(wǎng)格,約束模型演化曲線只能沿著網(wǎng)格線方向移動(dòng)并且曲線節(jié)點(diǎn)只能位于網(wǎng)格頂點(diǎn)處。采 取T-Snake模型提取水體邊界的主要步驟是:首先人工給定水體內(nèi)部一個(gè)初始點(diǎn),并根據(jù) 正方形網(wǎng)格大小構(gòu)造一條水體初始輪廓曲線;然后根據(jù)水體的影像特征和輪廓曲線定義一 個(gè)能量函數(shù),以控制初始給定閉合輪廓曲線的變形和運(yùn)動(dòng);最后求取能量函數(shù)最小值,獲取 此時(shí)的輪廓曲線,作為水體邊界。
[0003] 在求取能量函數(shù)最小值時(shí),文獻(xiàn)1采取的是貪心算法,先進(jìn)行節(jié)點(diǎn)拆分然后進(jìn)行 逐個(gè)節(jié)點(diǎn)的能量值計(jì)算與判斷,主要步驟是:
[0004] (1)遍歷當(dāng)前曲線S的節(jié)點(diǎn)序列,對每一個(gè)節(jié)點(diǎn),拆分為上下左右四個(gè)方向的四個(gè) 點(diǎn),這四個(gè)點(diǎn)坐標(biāo)相同方向不同;然后去掉那些指向曲線內(nèi)部的點(diǎn),將剩下的幾個(gè)點(diǎn)按順序 插入到節(jié)點(diǎn)序列中;
[0005] (2)遍歷節(jié)點(diǎn)拆分之后的節(jié)點(diǎn)序列,對于每一點(diǎn),計(jì)算其將要移動(dòng)到的目標(biāo)位置; 然后分別計(jì)算移動(dòng)前后該點(diǎn)的局部能量函數(shù)值,并進(jìn)行判斷:如果移動(dòng)之后能量函數(shù)值更 小,則該點(diǎn)移動(dòng)到新位置,否則保持不變;
[0006] (3)計(jì)算整個(gè)輪廓曲線的總能量函數(shù)值是否與本次曲線變形之前相等,若是,則說 明輪廓曲線已經(jīng)到達(dá)水體邊緣,那么就輸出輪廓曲線的節(jié)點(diǎn)序列,否則,則需要進(jìn)行新一輪 的迭代計(jì)算。最終得到的輪廓曲線就是所提取水域的閉合輪廓線。
[0007] 在文獻(xiàn)1的T-Snake模型中,劃分影像的網(wǎng)格的大小對水體邊界提取精度的影響 特別大。具體表現(xiàn)在:網(wǎng)格寬度設(shè)置過大,會(huì)使小于一個(gè)網(wǎng)格大小的特征被忽略,從而導(dǎo)致 精度的下降;而網(wǎng)格寬度設(shè)置得過小時(shí),精度會(huì)有所提高,但又會(huì)導(dǎo)致迭代次數(shù)的增加,降 低水體邊界提取的效率。
【發(fā)明內(nèi)容】
[0008] 【要解決的技術(shù)問題】
[0009] 本發(fā)明的目的是提供一種面向復(fù)雜水體邊界提取的基于可變網(wǎng)格的改進(jìn)T-Snake 模型,以減少T-Snake模型運(yùn)算時(shí)間,同時(shí)又能夠提高遙感影像復(fù)雜水體邊界提取的精度。
[0010] 【技術(shù)方案】
[0011] 本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的。
[0012] 本發(fā)明涉及一種于改進(jìn)T-Snake模型的遙感影像復(fù)雜水體邊界提取方法,包括步 驟:
[0013] A、初始化正交T-Snake模型的正方形網(wǎng)格寬度r,構(gòu)建水體的初始輪廓曲線,記錄 初始輪廓曲線各節(jié)點(diǎn)為V (X,y, 0),其中V (X,y)為節(jié)點(diǎn)坐標(biāo),0為節(jié)點(diǎn)方向,計(jì)算初始輪廓曲 線的能量;
[0014] B、采用正交T-Snake模型對遙感影像中水域邊界進(jìn)行提取,獲取變形之后的輪廓 曲線;
[0015] C、判斷正方形網(wǎng)格寬度是否為1,如果是,則將當(dāng)前的輪廓曲線作為最終的水體邊 界并退出本方法流程,否則執(zhí)行步驟D ;
[0016] D、對步驟B獲取的輪廓曲線進(jìn)行節(jié)點(diǎn)內(nèi)插操作,得到一條新的輪廓曲線;
[0017] E、將當(dāng)前輪廓曲線更新為步驟D得到的輪廓曲線,并將網(wǎng)格寬度設(shè)置為當(dāng)前網(wǎng)格 寬度的k倍,然后返回執(zhí)行步驟B,其中0〈k〈l,
[0018] 所述步驟B具體包括步驟:
[0019] B1、獲取當(dāng)前正方形網(wǎng)格的寬度r和輪廓曲線,設(shè)置灰度均值差異閾值T、節(jié)點(diǎn)鄰 域Λ X,初始化迭代次數(shù)t = 1 ;
[0020] B2、初始化全局能量EsnalJti = 0 ;
[0021] B3、獲取輪廓曲線的第一個(gè)節(jié)點(diǎn)P ;
[0022] B4、計(jì)算節(jié)點(diǎn)P的局部能量E (P),獲取節(jié)點(diǎn)P = (X,y)的目標(biāo)網(wǎng)格頂點(diǎn)P'(X',y') 的坐標(biāo);
[0023] B5、分別計(jì)算P、P'在各自原始圖像中的鄰域Λχ內(nèi)的灰度均值μ (Ρ)、μ (P');
[0024] Β6、判斷是否滿足I μ (Ρ)_μ (Ρ')|〈Τ,如果滿足則執(zhí)行步驟Β7,反之則執(zhí)行步驟 Β8 ;
[0025] Β7、計(jì)算Ρ'的局部能量函數(shù)值E (Ρ'),如果E (P) >Ε (Ρ'),則令P = Ρ'并執(zhí)行步驟 Β8,反之則直接執(zhí)行步驟Β8;
[0026] Β8、更新輪廓曲線的全局能量函數(shù)值EsnalJti= EsnalJti+E⑵;
[0027] Β9、判斷P是否為輪廓曲線的最后一個(gè)節(jié)點(diǎn),如果是則輸出EsnalJti并執(zhí)行步驟 Β10,否則將P所指向的下一個(gè)節(jié)點(diǎn)置為P并返回步驟M ;
[0028] BlO :判斷是否滿足EsnalJti彡EsnalJt '如果滿足則將當(dāng)前正方形網(wǎng)格下的輪廓曲 線作為水體邊界,反之則將迭代次數(shù)t加1并返回步驟Β2。
[0029] 作為一種優(yōu)選的實(shí)施方式,所述步驟A中構(gòu)建水體的初始輪廓曲線的方法為:選 定水域內(nèi)部任一點(diǎn)(? yj,以該點(diǎn)的上下左右四個(gè)方向上相距為r的四個(gè)像素點(diǎn)順時(shí)針順 序依次相連來構(gòu)建該水域的初始輪廓。
[0030] 作為另一種優(yōu)選的實(shí)施方式,所述k的取值為1/2。
[0031] 作為另一種優(yōu)選的實(shí)施方式,所述能量函數(shù)定義為:
其中,η、γ、λ為系數(shù),C是當(dāng)前Snake 曲線的幾何中心,。和S分別是節(jié)點(diǎn)鄰域的灰度標(biāo)準(zhǔn)差和極差,|VJ%)|是節(jié)點(diǎn)V1處的圖 像梯度。
[0032] 【有益效果】
[0033] 本發(fā)明提出的技術(shù)方案具有以下有益效果:
[0034] 本發(fā)明基于T-Snake模型并對其進(jìn)行了改進(jìn),具體地,本發(fā)明首先采用大網(wǎng)格實(shí) 現(xiàn)水體邊界的初步提取,然后通過逐步減小網(wǎng)格尺寸來實(shí)現(xiàn)輪廓曲線對水體邊界的不斷逼 近,一方面,因?yàn)榍捌诘木W(wǎng)格尺寸比較大從而減少模型運(yùn)算時(shí)間,另一方面,由于后期的網(wǎng) 格尺寸較少從而能夠捕獲到極小的邊界特征(例如入口寬度較小的凹區(qū)域),因此本發(fā)明 又能提高邊界提取的精度??傊?,相對于文獻(xiàn)1,本發(fā)明提供的面向復(fù)雜水體邊界提取的基 于可變網(wǎng)格的改進(jìn)T-Snak e模型,不僅可以減少T-Snake模型運(yùn)算時(shí)間,同時(shí)又能夠提高遙 感影像復(fù)雜水體邊界提取的精度。
【附圖說明】
[0035] 圖1為本發(fā)明的實(shí)施例一提供的于改進(jìn)T-Snake模型的遙感影像復(fù)雜水體邊界提 取方法的流程圖;
[0036] 圖2為本發(fā)明的實(shí)施例一提供的當(dāng)前網(wǎng)格下輪廓曲線更新方法流程圖。
【具體實(shí)施方式】
[0037] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將對本發(fā)明的【具體實(shí)施方式】 進(jìn)行清楚、完整的描述。
[0038] 實(shí)施例一
[0039] 圖1為本發(fā)明的實(shí)施例一提供的于改進(jìn)T-Snake模型的遙感影像復(fù)雜水體邊界提 取方法的流程圖,如圖1所示,該方法包括步驟Sl至步驟S5,下面分別對上述步驟進(jìn)行詳細(xì) 描述。
[0040] 步驟Sl :設(shè)置初始輪廓和初始網(wǎng)格大小。
[0041] 步驟Sl中,初始化正交T-Snake模型的正方形網(wǎng)格寬度r(r = 2η,η彡0),構(gòu)建待 提取遙感影像水體的初始輪廓曲線,記錄初始輪廓曲線各節(jié)點(diǎn)為V (X,y, 0),其中V (X,y)為 節(jié)點(diǎn)坐標(biāo),〇為節(jié)點(diǎn)方向,計(jì)算初始輪廓曲線的能量,需要說明,r的取值可根據(jù)實(shí)際需要進(jìn) 行設(shè)置。
[0042] 具體地,步驟Sl構(gòu)建水體的初始輪廓曲線的方法為:選定水域內(nèi)部任一點(diǎn) (X。,y。),以該點(diǎn)的上下左右四個(gè)方向上相距為r的四個(gè)像素點(diǎn)順時(shí)針順序依次相連來構(gòu)建 該水域的初始輪廓,即初始輪廓的尺寸為2 nX2n個(gè)像素。另外,本實(shí)施例定義能量函數(shù)為:
[0044] 其中,η、γ、λ為系數(shù),C是當(dāng)前Snake曲線的幾何中心,O和δ分別是節(jié)點(diǎn)鄰 域的灰度標(biāo)準(zhǔn)差和極差,|V/(K)|是節(jié)點(diǎn)V 1處的圖像梯度。本實(shí)施例通過該能量函數(shù)計(jì)算輪 廓曲線的能量。
[0045] 步驟S2 :采用正交T-Snake模型提取水體邊界。
[0046] 步驟S2中,采用正交T-Snake模型對遙感影像中水域邊界進(jìn)行提取,獲取變形之 后的輪廓曲線。與文獻(xiàn)1相比,本發(fā)明實(shí)施例依然采用貪心算法進(jìn)行水體邊界提取,即每次 迭代過程中,先進(jìn)行節(jié)點(diǎn)拆分再進(jìn)行節(jié)點(diǎn)移動(dòng),但本發(fā)明實(shí)施例對第t次迭代時(shí)節(jié)點(diǎn)移動(dòng) 過程進(jìn)行了改進(jìn),以保證在網(wǎng)格尺寸較大的情況下,輪廓曲線不會(huì)跨越水體邊界。采取的解 決方式是:在每一次迭代過程中,對于輪廓曲線上的任意一個(gè)節(jié)點(diǎn)P,在決定其是否該移動(dòng) 到的下一個(gè)網(wǎng)格頂點(diǎn)P'之前,進(jìn)行一個(gè)判斷:如果在原始圖像上P'與P的鄰域灰度均值相 差不大,則說明P'依然是水體內(nèi)部