葛 艷,劉纘然,李海濤
(青島科技大學(xué) 信息科學(xué)技術(shù)學(xué)院,青島 266061)
海洋中尺度渦是世界各大海洋中存在的一種普遍 的海洋現(xiàn)象,通常在數(shù)十至數(shù)百公里范圍,中尺度渦旋一般是由于平均流的不穩(wěn)定性、海面風(fēng)的強(qiáng)迫作用或是海底地形變化等原因產(chǎn)生的,這些旋渦所含的能量比海洋中其他類型運(yùn)動的能量都大,它不僅會直接影響海洋結(jié)構(gòu)的溫鹽結(jié)構(gòu)和流速分布,而且會輸送動量和熱量,從而對海洋上層水域的物理性質(zhì)產(chǎn)生強(qiáng)烈影響[1].因此,用特征可視化的手段,觀察和檢測這類復(fù)雜流場中的特征結(jié)構(gòu)具有重大意義和科學(xué)價值.海洋遙感的多時相、大面積觀測等特點(diǎn),為海洋中尺度渦觀測提供了前所未有的現(xiàn)場資料[2].
近年來,很多國內(nèi)外學(xué)者在利用遙感圖像對中尺度渦數(shù)據(jù)信息反演的研究中,取得了很多進(jìn)展,但也存在著不足.應(yīng)用廣泛的基于遙感數(shù)據(jù)的中尺度渦提取方法主要有:基于洋面高度信息的旋渦提取[3]、基于溫度場信息的旋渦提取[4]、基于衛(wèi)星跟蹤浮標(biāo)的漩渦提取[5]、基于衛(wèi)星圖像特征信息的漩渦提取[6]等.這些方法雖都進(jìn)行了實驗論證,但尚存在一定的不足,總結(jié)起來,現(xiàn)有方法的缺陷主要包括:計算量大、處理效率低、成本昂貴、有限的適用性、不能進(jìn)行直觀的可視化顯示等.
針對上述問題,本文利用遙感圖像數(shù)據(jù),研究了基于連通區(qū)域提取的中尺度渦自動檢測算法,并在此基礎(chǔ)上對從數(shù)據(jù)的輸入、數(shù)據(jù)處理、結(jié)果的可視化顯示等自動可視化過程進(jìn)行了研究.本文基于Matlab圖像處理技術(shù),采用Matlab語言對遙感數(shù)據(jù)進(jìn)行處理,實現(xiàn)中尺度渦檢測算法.將檢測算法生成DLL文件和C#語言進(jìn)行混合編程,實現(xiàn)結(jié)果可視化顯示.此處理過程中不需人工干預(yù),可實現(xiàn)遙感數(shù)據(jù)的高效處理,并滿足中尺度渦自動檢測的要求,為中尺度渦信息反演奠定了基礎(chǔ).
本文以2016年12月份高分三號衛(wèi)星L1B級和L2級的HH與DH極化圖像進(jìn)行中尺度渦檢測,由于遙感圖像在獲取過程中受地球表面曲率、探測器運(yùn)動中的抖動等因素影響,遙感圖像數(shù)據(jù)存在幾何畸變[7];另外,影像存在輻射不均勻、壞線等輻射問題[8].因此在中尺度渦檢測之前,需要對遙感圖像數(shù)據(jù)進(jìn)行預(yù)處理,包括輻射定標(biāo)、圖像壓縮、邊緣檢測等.在消除幾何畸變和輻射問題的同時獲取后向散射系數(shù).
輻射定標(biāo)是將傳感器記錄的無量綱的DN值(Digital Number:遙感影像像元亮度值,記錄地物的灰度值)轉(zhuǎn)換成具有實際物理意義的量,在此指計算成后向散射系數(shù).主要是通過以下公式對圖像進(jìn)行定標(biāo):
其中,PI=I2+Q2,對應(yīng)有源定標(biāo)器或角反射器在SAR復(fù)圖像的功率,I和Q分別對應(yīng)復(fù)圖像的實部和虛部.PN為回波噪聲功率,Gimg2為噪聲的成像處理增益,σC為點(diǎn)目標(biāo)RCS.以上參數(shù)可從產(chǎn)品元數(shù)據(jù)XML文件中獲取,產(chǎn)品元數(shù)據(jù)包括產(chǎn)品信息參數(shù)、雷達(dá)系數(shù)參數(shù)、平臺參數(shù)、SAR處理參數(shù)等.
輻射定標(biāo)的目的就是盡可能消除因傳感器自身條件、太陽位置和角度條件及某些不可避免的噪聲,從而為遙感圖像后續(xù)的中尺度渦解譯、檢測、識別等工作打下基礎(chǔ).輻射定標(biāo)處理完成后,原始圖像和輻射定標(biāo)后的圖像對比如下圖1所示.圖像經(jīng)過輻射定標(biāo)處理后,消除了部分噪聲對圖像的影響,不僅提高了圖像的原始精度,而且大大縮短了計算時間和計算復(fù)雜度.
圖1 輻射定標(biāo)
圖像預(yù)處理過程中,運(yùn)用Matlab自帶庫函數(shù),結(jié)合輻射定標(biāo)公式,處理后的結(jié)果圖像可在界面控件上的相應(yīng)位置進(jìn)行可視化顯示.圖像預(yù)處理后可在經(jīng)緯度地圖上顯示,通過目視,可以觀察到中尺度渦的區(qū)域.
圖像壓縮是將原本行列數(shù)較多的圖像壓縮為行列數(shù)較少的圖像,以提升后面圖像紋理的計算速度.具體的壓縮過程如下:
(1)以5000為行列數(shù)的標(biāo)準(zhǔn),取行數(shù)和列數(shù)除以5000的最小整數(shù)值為該圖像的壓縮系數(shù).
(2)當(dāng)該系數(shù)為n并大于等于2時,則進(jìn)行n×n的模板的均值計算,并將均值放入相應(yīng)的行列數(shù)當(dāng)中.
(3)若該行列數(shù)能整除n,則將余下的行列進(jìn)行n×m(m<n)均值計算.
如圖2、圖3和圖4所示,圖像壓縮前大小為22687×13302,壓縮后為 7563×4434,壓縮后的圖像大大提升了后續(xù)的處理速度.
圖2 壓縮前圖像數(shù)據(jù)
圖3 壓縮后圖像數(shù)據(jù)
圖4 圖像壓縮前后信息對比
在二維空間下,Canny檢測算子和其它幾種經(jīng)典的檢測算子比較具有抗噪聲能力強(qiáng),檢測定位精度高等優(yōu)勢,可以更方便地對后續(xù)進(jìn)行處理,故本文在對圖像邊緣檢測處理過程中,選取具有雙閾值的Canny算子對圖像進(jìn)行邊緣檢測,邊緣信息檢測也相對理想.效果圖如圖5所示.
圖5 Canny 邊緣檢測效果圖
中尺度渦檢測是指對海洋中的尺度渦進(jìn)行地理位置、特征半徑以及區(qū)域面積的估計.本文中尺度渦檢測的原理是根據(jù)旋渦形成時旋渦區(qū)域和非旋渦區(qū)域的反射率存在差異進(jìn)行檢測的[9],利用海洋遙感圖像的地理位置數(shù)據(jù)映射到1°×1°經(jīng)緯度矩陣中,根據(jù)海洋中尺度渦成像的特點(diǎn),基于邊緣檢測,運(yùn)用連通區(qū)域提取技術(shù),綜合利用渦旋的形狀、尺度等判據(jù),檢測圖像中的旋渦閉合等值線以及提取旋渦的特征參數(shù).
本文設(shè)計的中尺度渦自動檢測算法,主要分為三個步驟:首先對遙感圖像數(shù)據(jù)預(yù)處理,包括輻射定標(biāo)、圖像壓縮、圖像邊緣檢測;然后對圖像進(jìn)行連通區(qū)域提取,計算其特征參數(shù);最后對這些連通區(qū)域判別檢測,判斷中尺度渦圓弧,擬合中尺度渦.算法實現(xiàn)流程如圖6所示.
圖6 中尺度渦檢測算法流程圖
2.2.1 連通區(qū)域提取
中尺度渦檢測算法中重點(diǎn)部分是對圖像進(jìn)行連通區(qū)域提取和檢測圖像中的近似中尺度渦圓弧.在對圖像預(yù)處理的基礎(chǔ)上進(jìn)行連通區(qū)域提取[10,11],本文運(yùn)用八鄰域標(biāo)記算法對圖像進(jìn)行標(biāo)記,如圖7所示,在圖像中最小的單位是像素,每個像素周圍有8個鄰接像素,運(yùn)用直接掃描標(biāo)記算法把連續(xù)區(qū)域作同一個區(qū)域進(jìn)行標(biāo)記[12,13].
圖7 八鄰域
算法.連通區(qū)域提取(1)將遙感圖像的二值圖像映射到算法矩陣中,按照由左到右、從上至下的順序依次循環(huán)遍歷圖像中的每一個點(diǎn)(i,j),逐像素進(jìn)行掃描,若此點(diǎn)的八鄰域中最左 (i–1,j),左上 (i–1,j–1),最上 (i,j–1),上右(i+1,j–1)方向上沒有其他點(diǎn),則將此點(diǎn)作為一個新的連通區(qū)域的起始點(diǎn);(2)若此點(diǎn) (i,j)八鄰域中最左 (i–1,j),左上 (i–1,j–1),最上 (i,j–1),上右(i+1,j–1)方向上有其他點(diǎn),則將此點(diǎn)歸并為以上四點(diǎn)中的連通區(qū)域上;
(3)在一次遍歷結(jié)束后,一條連通區(qū)域按照掃描順序被賦予唯一的自然數(shù);(4)繼續(xù)掃描其他點(diǎn),循環(huán)掃描結(jié)束后圖像中的連通區(qū)域?qū)⒈贿B續(xù)的自然數(shù)所標(biāo)記,最大的自然數(shù)即為圖像中的連通區(qū)域條數(shù).
通過以上步驟,每一個連通區(qū)域都有唯一的一個值相對應(yīng),對圖形處理起來也簡單的多.連通區(qū)域提取后效果圖如圖8所示.
圖8 連通區(qū)域提取后效果圖
2.2.2 中尺度渦圓弧檢測
在對圖像進(jìn)行連通區(qū)域提取的基礎(chǔ)上檢測出符合組成中尺度渦特征的圓弧,才能為后續(xù)的中尺度渦擬合提供依據(jù).本文分析了中尺度渦的特性,確定了幾組閾值.其中兩個重要的判據(jù)就是中尺度渦圓弧的經(jīng)度和緯度,映射在計算機(jī)中可以被量化為長度和寬度.基于連通區(qū)域提取的中尺度渦圓弧檢測的具體步驟如下:
(1)循環(huán)遍歷每一條連通區(qū)域.為防止圖像邊界影響檢測的準(zhǔn)確性,首先對邊界噪聲線進(jìn)行判斷與剔除.將長度或?qū)挾却笥谡鶊D像長度或?qū)挾榷种坏倪B通區(qū)域舍去,并將此連通區(qū)域所在點(diǎn)的值賦為0;同時,將連通區(qū)域的總條數(shù)減1.
(2)循環(huán)遍歷剩下的連通區(qū)域.對每條連通區(qū)域進(jìn)行處理,選取其中長度和寬度分別符合設(shè)定閾值范圍的圓弧;長度和寬度兩個限制條件同時滿足時,同時也說明此條圓弧具有一定的弧度.
(3)尋找每條符合中尺度渦圓弧的特征點(diǎn),對中尺度渦進(jìn)行擬合.
2.2.3 中尺度渦擬合
在中尺度渦圓弧檢測的基礎(chǔ)上,首先對每條符合中尺度渦圓弧的連通區(qū)域?qū)ふ姨卣鼽c(diǎn),然后根據(jù)特征點(diǎn)擬合中尺度渦.本文通過三點(diǎn)定圓原理,即不在同一條直線上的任意三個點(diǎn)唯一確定一個圓原理.接下來的任務(wù)就是尋找三個特征點(diǎn),若將檢測的圓弧映射到直角坐標(biāo)系中.通過分析總結(jié)容易想到,每條圓弧的特征點(diǎn)無非就是X軸方向上的最小值點(diǎn)(A點(diǎn))和最大值點(diǎn)(B點(diǎn)),以及Y軸方向上的最小值點(diǎn)(C點(diǎn))和最大值點(diǎn)(D點(diǎn))四點(diǎn).從四點(diǎn)中尋找更具特征性的三點(diǎn),步驟如下:
(1)固定X軸方向上的最小值點(diǎn)(A點(diǎn))和最大值點(diǎn)(B點(diǎn)),若Y軸方向上的最小值點(diǎn)(C點(diǎn))的橫坐標(biāo)距離A點(diǎn)的橫坐標(biāo)或者距離B點(diǎn)的橫坐標(biāo)小于設(shè)定的閾值,則將C點(diǎn)舍去,選取ABD三點(diǎn)進(jìn)行中尺度渦擬合.
(2)若Y軸方向上的最小值點(diǎn)(C點(diǎn))的橫坐標(biāo)距離A點(diǎn)的橫坐標(biāo)或者距離B點(diǎn)的橫坐標(biāo)不小于設(shè)定的閾值,則選取ABC三點(diǎn)進(jìn)行中尺度渦擬合.
在對圖像的處理過程中,是將圖像空間上的信息映射到參數(shù)空間上,因此根據(jù)映射關(guān)系,對圖像矩陣的操作可以間接計算實際的特征信息.按照遙感圖像的實際寬度和圖像的矩陣寬度之間的比例計算近似半徑,按照圓面積計算公式可以得到近似中尺度渦的面積等信息.將地圖插件引入,可將圖像對應(yīng)在相應(yīng)的經(jīng)緯度位置上,擬合后圖像如圖9所示.
圖9 中尺度渦擬合效果圖
根據(jù)中尺度渦檢測業(yè)務(wù)化的需求,中尺度渦檢測方法的應(yīng)用需要進(jìn)行以下幾個方面的工作:預(yù)處理數(shù)據(jù)的讀取、中尺度渦檢測算法的實現(xiàn)、可視化顯示中尺度渦檢測影像.本方法基于檢測效率、準(zhǔn)確性和可視化的考慮,同時Matlab擁有成熟的圖像處理技術(shù)和在科學(xué)計算方面有著無與倫比的優(yōu)勢,故采用Matlab語言和C#語言混合編程,在此過程中,Matlab和C#負(fù)責(zé)的工作如下:
(1)Matlab負(fù)責(zé)檢測方法過程中各個步驟的算法實現(xiàn),同時封裝生成C#程序可調(diào)用的DLL文件.
(2)C#負(fù)責(zé)輸入數(shù)據(jù)路徑、調(diào)用 DLL 文件,在PictureBox控件中可視化顯示每個步驟的圖像信息,在TextBox控件中顯示中尺度渦檢測的特征參數(shù).
本文檢測方法的應(yīng)用采用瀑布模型開發(fā),自頂向下、逐步求精的結(jié)構(gòu)化設(shè)計方法,上一步驟的處理結(jié)果作為下一步驟的輸入數(shù)據(jù)進(jìn)行輸入,方法應(yīng)用流程圖如圖10所示.
圖10 中尺度渦檢測方法應(yīng)用流程圖
為了檢測本文方法的有效性,分別選取了高分三號衛(wèi)星L1B級和L2級的遙感圖像進(jìn)行檢測測試.根據(jù)上述檢測方法,本文對預(yù)處理后的圖像分別進(jìn)行連通區(qū)域提取、中尺度渦圓弧檢測和中尺度渦擬合操作,并在C#相應(yīng)的PictureBox控件中顯示處理后的圖像,如圖11所示.其他檢測結(jié)果圖像如圖12、圖13、圖14所示,左邊為預(yù)處理后的影像圖,右邊為檢測后的圖像,通過目視解譯,將檢測后的結(jié)果圖像和預(yù)處理后的影像圖對比發(fā)現(xiàn),中尺度渦檢測準(zhǔn)確,基本說明該方法在海洋遙感圖像中尺度渦可視化檢測過程中效果理想.
圖11 應(yīng)用系統(tǒng)上顯示處理后的圖像
圖12 中尺度渦檢測實例 1
圖13 中尺度渦檢測實例 2
本文基于連通區(qū)域提取技術(shù)對海洋中尺度渦檢測,結(jié)合Matlab語言和C#語言混合編程開發(fā)并實現(xiàn)的應(yīng)用方法.從實驗結(jié)果看到可以較準(zhǔn)確的從遙感圖像中檢測出中尺度渦,且檢測結(jié)果可視化顯示效果理想.本文提出的基于連通區(qū)域提取的中尺度渦檢測方法具有以下優(yōu)點(diǎn):
圖14 中尺度渦檢測實例 3
(1)該方法對中尺度渦檢測較為準(zhǔn)確,達(dá)到了海洋遙感圖像中尺度渦檢測的業(yè)務(wù)化要求.
(2)Matlab語言和 C#語言混合編程,使用Matlab語言庫函數(shù)中自帶的圖像處理技術(shù),
實現(xiàn)了遙感數(shù)據(jù)的高效處理,過程中不需人工干預(yù),節(jié)省了大量時間,而且最終的中尺度渦檢測結(jié)果可視化顯示效果良好.
(3)該方法實現(xiàn)了中尺度渦檢測的自動化與可視化,證明了Matlab語言和C#語言混合編程進(jìn)行業(yè)務(wù)化中尺度渦檢測的可行性.
另外,本文存在著一些不足.一方面,在檢測中尺度渦圓弧時,定義的閾值參數(shù)已基本滿足目前的圖像檢測,但為繼續(xù)提高準(zhǔn)確度,需要更多的數(shù)據(jù)進(jìn)行驗證;另一方面,本文算法對存在明顯中尺度渦的遙感圖像檢測較為準(zhǔn)確,對處于不成熟或不明顯中尺度渦的遙感圖像,該算法還有待進(jìn)一步探討.