龔林松,李士進(jìn)
(河海大學(xué) 計算機與信息學(xué)院,江蘇 南京 210098)
水體信息提取是生態(tài)保護(hù)工作的重要組成部分,如湖泊海岸帶管理、海岸線變化檢測、洪水預(yù)報和水資源評價等。遙感技術(shù)具有覆蓋范圍廣、信息獲取速度快、包含信息量大、節(jié)省人力物力等優(yōu)勢,利用遙感影像的水體信息自動提取技術(shù)已經(jīng)成為水生態(tài)監(jiān)測、水資源調(diào)查與利用、水利工程規(guī)劃與評估等方面的重要研究手段[1]。
目前從遙感圖像中提取水體信息的方法主要有四種:單波段閾值法、多波段譜間關(guān)系法、水體指數(shù)法和決策樹。單波段閾值法是利用了水體能夠吸收掉絕大多數(shù)近紅外波段的輻射能量而土壤和植物對該波段具有較強的反射性特點,根據(jù)光譜特征的不同提取水體。其中,單波段密度分割法具有較高的水體提取精度,但同時也會包含許多非水體像元[2]。劉建波等利用密度分割法從TM圖像中提取水體的分布范圍[3]。多波段譜間關(guān)系法通過分析比較水體與背景地物(植被、土壤等)的光譜特征曲線,利用數(shù)學(xué)表達(dá)式將遙感圖像中的水體信息與其他地物區(qū)分開來。鄧勁松等在SPOT影像中利用波段間的運算方法成功地將居民地與水體分開[4]。水體指數(shù)法尋找多光譜圖像中最強和最弱的水體特征反射波段,并借助比例運算擴大最強反射波段和最弱反射波段之間的差距來檢測水體。McFeeters等(1996)提出歸一化差異水體指數(shù)NDWI檢測水體[5];徐涵秋等(2005)提出能更好地提取城市水體信息的改進(jìn)歸一化差異水體指數(shù)(MNDWI)[6]。決策樹方法背后的理論基礎(chǔ)是通過使用一定的決定性條件,逐步對原始數(shù)據(jù)實現(xiàn)二分和細(xì)化,以最終提取出水體信息。丁建麗等(2015)提出單波段閾值法與陰影水體指數(shù)SWI(shadow water index)相結(jié)合的決策樹水體信息提取方法用于提取山區(qū)水體[7]。
以上這些水體提取方法都有各自的特點,均取得了一定程度上的成功,但它們也都各有缺點。單波段閾值法采用的模型簡單,計算效率高,但容易受到陰影,水質(zhì)變化等因素的影響。多波段光譜關(guān)系法有效解決了陰影影響的問題,特別適用于山區(qū)水體信息的提取,但使用的光譜特征模型不固定。水體指數(shù)法在抑制植被、陰影、土壤等干擾因素方面具有明顯的優(yōu)勢,然而卻過于依賴地物特征關(guān)系表現(xiàn)的強弱,當(dāng)?shù)匚锾卣麝P(guān)系減弱時,水體指數(shù)法并不能得到令人滿意的效果。決策樹方法除了使用圖像本身信息之外還能融入其他先驗知識,得到更準(zhǔn)確的判斷,但是創(chuàng)建一個好的決策規(guī)則是很難的。
為了能夠?qū)崿F(xiàn)從高分辨率遙感圖像中準(zhǔn)確快速地提取水體信息,文中提出了一種基于超像素與OTSU算法相結(jié)合的水體提取方法。首先對遙感圖像進(jìn)行預(yù)處理,將圖像從RGB色彩空間轉(zhuǎn)換到CIELAB空間并融合水體指數(shù)特征創(chuàng)建混合特征LABXYW,然后使用該特征對遙感圖像做超像素分割。在超像素分割的基礎(chǔ)上使用OTSU算法對超像素進(jìn)行閾值分割,最終提取出遙感圖像中的水體信息。
高分一號16 m分辨率的多光譜寬覆蓋WFV(wide field of view)衛(wèi)星相機共提供四個波段信息,波段總范圍為0.45 μm~0.89 μm。其中,0.45 μm~0.52 μm為藍(lán)光波段,0.52 μm~0.59 μm為綠光波段,0.63 μm~0.69 μm為紅光波段,而0.77 μm~0.89 μm為近紅外波段[8]。高分一號的多分辨率遙感衛(wèi)星采用DN(digital number)值來表示地物在遙感影像像元中的亮度,代表地物的灰度值。
歸一化差異水體指數(shù)NDWI是以地物在綠光波段和近紅外波段的DN值為基礎(chǔ)構(gòu)建,其計算公式為:
(1)
其中,DNgreen表示綠光波段的DN值,DNNIR表示近紅外波段的DN值,對應(yīng)于高分一號的多光譜遙感衛(wèi)星中的第二和第四波段。NDWI水體指數(shù)抑制陸地植被等信息而突出水體信息,且式1對NDWI數(shù)值進(jìn)行了拉伸,可使不同衛(wèi)星傳感器和成像條件的影像獲得的水體指數(shù)具有相近的、可比較的統(tǒng)計特性,便于后續(xù)建立統(tǒng)一的信息提取模型[9]。
將高分一號的近紅外波段、紅光波段和綠光波段分別對應(yīng)于RGB圖像的紅、綠、藍(lán)三個通道合成標(biāo)準(zhǔn)假彩色數(shù)字圖像。由于SLIC算法是在CIELAB顏色空間做的運算,所以要把標(biāo)準(zhǔn)假彩色遙感圖像通過色彩空間轉(zhuǎn)換公式從RGB顏色空間轉(zhuǎn)換到CIELAB顏色空間。對應(yīng)每個像素的(L,a,b)顏色值和(x,y)坐標(biāo)組成一個5維向量V[L,a,b,x,y],兩個像素間的相似性可由它們的向量距離來度量,距離越小,相似性越大,反之則越小。最后通過與NDWI(歸一化水體指數(shù))相結(jié)合,構(gòu)建用于提取遙感圖像中的水體的混合特征空間LABXYW,稱為LABXYW特征(W即NDWI水體指數(shù))。LABXYW特征空間不僅考慮了遙感圖像中的水體與其他地物在顏色和空間位置特征上的不同,同時也融入了水體指數(shù)信息,為后續(xù)使用SLIC和OTSU相結(jié)合的水體分割方法提供了較強的水體信息的鑒別能力。
隨著遙感技術(shù)的不斷發(fā)展,高分辨率遙感圖像被廣泛地應(yīng)用于地物信息的提取上。從遙感圖像中提取水體本質(zhì)上就是對每一個像素做分類,將水體像素與非水體像素分開。由于逐像素地對高分辨率遙感圖像中的每個像素進(jìn)行分類時,不僅需要更長的處理時間,而且每個像素中包含的空間結(jié)構(gòu)信息少,缺乏對水體區(qū)域信息進(jìn)行合理的統(tǒng)計,導(dǎo)致最后的分類結(jié)果較差。超像素作為近年來在圖像預(yù)分割領(lǐng)域的前沿算法,不僅能夠較好地描述子區(qū)域信息,而且能夠更加準(zhǔn)確地描述區(qū)域的空間結(jié)構(gòu)特征。通過使用前面構(gòu)建的LABXYW特征對遙感圖像進(jìn)行超像素分割,可以盡可能把水體和其他地物區(qū)分開來,使用SLIC預(yù)分割是文中水體提取算法的第一步。
SLIC是Achanta等提出的一種思想簡單,實現(xiàn)方便的超像素分割算法[10],該算法根據(jù)顏色和距離2種特征對圖像中的像素進(jìn)行聚類。首先將彩色圖像從RGB色彩空間轉(zhuǎn)換到CIELAB色彩空間,將像素在LAB色彩空間的顏色分量以及x,y坐標(biāo)相組合形成五維特征向量,然后使用K-means算法根據(jù)一定的距離度量標(biāo)準(zhǔn)對5維特征向量進(jìn)行像素聚類,生成一個個大小均勻緊湊的超像素塊,且算法的時間復(fù)雜度很低。其算法步驟如下:
(2)調(diào)整種子點位置:在初始種子點的n×n(一般取n=3)鄰域內(nèi)計算鄰領(lǐng)域內(nèi)所有像素點的梯度值,調(diào)整初始種子點的位置為該鄰域內(nèi)梯度最小的地方,這樣可以避免種子點落在梯度較大的輪廓邊界上,影響后續(xù)像素聚類的效果。
(3)分配類標(biāo)簽:在每個種子點的鄰域內(nèi)為該鄰域內(nèi)的所有像素點分配類標(biāo)簽,不同于標(biāo)準(zhǔn)的K-means在整張圖片上做搜索,SLIC算法將像素的搜索空間限制在2S×2S范圍內(nèi),這樣可以使算法更快收斂。如圖1所示,雖然期望的超像素大小為S×S,但實際的搜索范圍是2S×2S。
圖1 減少超像素搜索空間
(4)距離度量:距離包括空間距離和顏色距離兩個部分。對于每一個被搜索到的像素點,分別計算它和該種子點的歐氏距離,計算公式如下:
(2)
(3)
(4)
(5)
因為每一個像素點都可能會被多個種子點搜索到,所以每個像素點都會有一個與周圍種子點的距離,取距離最小的種子點作為該像素的聚類中心。
(5)迭代優(yōu)化:不斷的重復(fù)步驟1~4,直到誤差收斂到某一閾值或到了最大迭代次數(shù)。實驗發(fā)現(xiàn)在多數(shù)情況下,10次迭代對于絕大多數(shù)圖像都取得了比較好的效果,所以一般設(shè)置最大迭代次數(shù)為10。
(6)連通性增強:通過步驟1~5迭代優(yōu)化所形成的超像素有可能出現(xiàn)多連通、尺寸太小和單個超像素被切割成多個不連續(xù)的超像素等情況。通過連通性增強可以解決這些問題,具體做法如下:新建一張標(biāo)記表,表內(nèi)元素均為-1,按照從左到右,從上到下順序?qū)D像中尺寸過小和不連續(xù)的超像素與鄰近的超像素合并,遍歷過的像素點分配相應(yīng)的標(biāo)簽,直到所有像素遍歷完畢為止。
直接把經(jīng)典的SLIC算法應(yīng)用于遙感圖像的水體提取并不能取得令人滿意的分割效果,生成的超像素并不能很好地區(qū)分水體和非水體,許多超像素中既包含水體像素也有非水體像素。對于高光譜遙感圖像,將光譜、紋理等特征結(jié)合起來可以提高算法的準(zhǔn)確性[11]?;诖耍闹袑τ糜谒w提取的經(jīng)典SLIC算法做了改進(jìn),不僅考慮遙感圖像上像素的顏色和距離特征,同時把水體指數(shù)特征也考慮進(jìn)來。在SLIC算法做K-means聚類時,把水體指數(shù)距離也作為距離度量的一部分,這樣可以盡可能地把超像素聚類成水體和非水體兩類。相對于上面經(jīng)典的SLIC算法的第四步,改進(jìn)后的SLIC算法的距離度量公式變?yōu)椋?/p>
(6)
(7)
(8)
則最終用于水體提取的SLIC算法的距離計算公式為:
(9)
如圖2所示,通過以上新的距離度量公式,水體和非水體得到了很好的區(qū)分,水體超像素中不再包含非水體像元,很好地把遙感圖像中的像素聚為水體和非水體兩類。
最大類間方差法(OTSU法),是由大津展之在1979年提出的,所以又叫大津算法[12]。該算法是在判決分析的基礎(chǔ)推導(dǎo)出來的,是一種自動的無參數(shù)無監(jiān)督的閾值分割算法。大津算法是一種基于一維灰度直方圖,計算簡單的閾值分割方法,應(yīng)用十分廣泛[13]。
圖2 加入NDWI所形成的超像素
不同于經(jīng)典的基于像素的OTSU算法,文中提出一種基于改進(jìn)的SLIC和OTSU相結(jié)合的水體提取算法。其基本思想是首先對每一個超像素都計算出其水體指數(shù),對于確定不是水體的超像素可以令其為0,便于后續(xù)算法的精確閾值的計算。然后在超像素的基礎(chǔ)上做最大類間方差計算。具體步驟如下:假設(shè)所有超像素中每個超像素的水體指數(shù)范圍為[0,L],則待分割圖像可以分為前景超像素(水體)和背景超像素(其他地物)兩類。設(shè)閾值為K,則可以將遙感圖像中的超像素分為[0,K]和[K+1,L]兩類,設(shè)ηi為水體指數(shù)為i的超像素個數(shù),圖像中超像素的總個數(shù)為N,則水體指數(shù)為i的概率為:
(10)
前景超像素和背景超像素的概率分別為:
(11)
前景超像素和背景超像素的水體指數(shù)均值為:
(12)
所有超像素的水體指數(shù)均值為:
μ=ω0μ0+ω1μ1
(13)
則最大超像素類間方差定義為:
(14)
最大超像素類間方差算法計算水體指數(shù)的最大閾值T的公式為:
(15)
根據(jù)上面的公式可知,當(dāng)超像素的水體指數(shù)值位于兩個類別的臨界處時最大。若有前景超像素或者背景超像素被錯分,都會導(dǎo)致超像素的類間方差減少。如式14所示,當(dāng)前背景超像素的水體指數(shù)均值差別最大時,類間方差達(dá)到最大值,前背景分割的效果最佳。
為驗證文中方法的有效性,對江蘇省溧陽市天目湖沙河水庫進(jìn)行遙感圖像水體信息提取。實驗數(shù)據(jù)來源于中國衛(wèi)星資源應(yīng)用中心高分一號衛(wèi)星拍攝的分辨率為16 m的遙感影像,選取2013年第四季度的圖像進(jìn)行實驗。沙河水庫位于江蘇省溧陽市南部丘陵地區(qū),地處東經(jīng)119°25',北緯31°18'。湖泊水面面積為11.6 km2,集水面積152 km2,平均水深7 m,最大水深14 m[14]。沙河水庫是國家4A級旅游景區(qū),也是溧陽市的主要飲用水水源地,承載著該市65萬人的飲用水供給,它的研究、開發(fā)和保護(hù)對江蘇的生態(tài)保護(hù)具有重要意義[15]。
文中采用的SLIC和OTSU相結(jié)合的算法是一種快速的提取水體方法,通過調(diào)節(jié)SLIC中超像素的數(shù)量可以在時間效率和提取準(zhǔn)確度上進(jìn)行平衡。當(dāng)提取的準(zhǔn)確性比較重要時,可以設(shè)置超像素的數(shù)量多一點。當(dāng)時間比較重要時,可以設(shè)置超像素的數(shù)量少一點。文中算法通過設(shè)置超像素種子點間的距離S來控制超像素的數(shù)量,如圖3所示。
圖3 不同超像素數(shù)量提取結(jié)果
圖3(a)為實驗所用的圖像,圖3(b)為S=5時水體提取的結(jié)果。結(jié)果表明當(dāng)選用的S較小時,所生成的超像素面積更小,數(shù)量更多,可以提取出圖像這個更加微小的水體,但耗費的時間更長,共用時90.3 s。圖3(c)為S=10時水體提取的結(jié)果。結(jié)果表明雖然沒有提取出微小的水體,但提取出的水體結(jié)果還是令人滿意的,基本不存在誤提取現(xiàn)象,提取用時15.3 s。圖3(d)為S=20時水體提取的結(jié)果。結(jié)果表明,由于選用的S變得更大,每個超像素的面積也變得更大了,使得一些微小的水體得不到保留,同時由于生成的超像素中更大了,包含了一些其他非水體元素,所以導(dǎo)致最終提取的結(jié)果中也包含一些微小的非水體元素,但提取的時間進(jìn)一步減少為10.5 s。實驗結(jié)果表明,文中算法具有良好的分割精度和運行效率。
為了比較文中算法與其他算法的效果,使用信息檢索的評價指標(biāo)-查全率、查準(zhǔn)率、F指數(shù)對提取結(jié)果進(jìn)行評價。查全率R和查準(zhǔn)率P如下:
(16)
(17)
F評價指數(shù)是查準(zhǔn)率和查全率的加權(quán)調(diào)和平均值,文中采用F評價指數(shù)作為評估的綜合指標(biāo),其計算公式為:
(18)
圖4 沙河水庫提取結(jié)果對比
如圖4所示,僅使用圖像RGB像素值的GrabCut算法提取的效果不好,提取的時間較長且需要人工不斷交互,不適合做自動處理。傳統(tǒng)的NDWI算法提取的效果一般,比GrabCut算法提取出了更多的水體,提取的速度很快,但精度還有所欠缺,存在漏提取現(xiàn)象。文中算法在設(shè)置超像素種子間距離S=10時,提取精度和速度都很好,與其他兩種提取算法相比有很大優(yōu)勢,具體的提取結(jié)果如表1所示。
表1 不同方法水體提取結(jié)果對比 %
提出一種基于改進(jìn)SLIC和OTSU算法相結(jié)合的水體提取方法,將超像素分割算法SLIC與水體指數(shù)模型相結(jié)合,把圖像中的像素聚類成一個個超像素,然后在超像素分割的基礎(chǔ)上,對超像素使用OTSU(最大類間方差)算法進(jìn)行閾值分割,從而提取圖像中的水體。通過對沙河水庫的高分一號遙感圖像進(jìn)行水體提取的實驗結(jié)果表明,該方法能夠快速提取出水體信息并達(dá)到了較高的水體提取精度。