付弘濤,張昊睿,秦 平,王麗琳
(自然資源部東海預報中心,上海 200136)
自2006 年以來,原國家海洋局在全國11 個沿海省(自治區、直轄市)啟動國家海域動態監視監測管理系統建設,并逐步開展海域動態監視監測工作。該系統利用“岸—海—空—天”一體化監測手段,實現對我國海域開發利用活動的立體和動態監視監測,全面掌握海域資源、海域使用和海域管理等狀況[1]。作為海域動態監視監測工作的重點之一,海域使用疑點疑區監測對全國疑似違法違規用海行為進行監測,是貫徹落實《國務院關于加強濱海濕地保護嚴格管控圍填海的通知》(國發〔2018〕24 號)重要精神的具體手段。開展基于衛星遙感的海域使用疑點疑區全覆蓋業務化監測,可迅速、準確和及時地掌握用海情況,保護海洋生態環境,避免國有資產流失,更好地踐行“綠水青山就是金山銀山”的理念。
海域使用疑點疑區是指通過前后兩期衛星遙感影像的對比分析,海岸線向海一側某區域未經批準(依據海域法審批)由海水變為陸地或露出水面的其他形態的區域。海域使用疑點疑區監管手段主要依靠衛星遙感,數據源以國產高分系列衛星為主。國內外針對遙感影像變化識別已提出了大量方法,目前較為主流的方法即基于地物光譜特性的比較法和基于像元特征的比較法。前者把不同時相影像先分類再比較,簡單且應用廣泛,但耗時耗力,地面驗證工作難;后者以像素作為檢測單位直接進行變化檢測,再進行判別分析,利用像素級多特征融合,使檢測結果更加可靠,但變化檢測的指標規則、變化閾值難判定[2]。
基于遙感的自動變化檢測作為最重要的關鍵技術之一,越來越多的應用于國土資源管理、地物變化的監測等領域[3]。但多數變化檢測算法主要是針對特定的條件(區域和影像質量) 具有較好的效果,還沒有較為通用性的算法,且現有算法在效率、精度、智能性等方面存在的問題,大多算法解決的問題及理論相對分散。本文旨在落實自然資源部提出的利用衛星遙感等多種手段實現對我國管轄海域“15 天一覆蓋”的巡查總體要求,研究探索一套適用于海域使用疑點疑區監管工作的自動提取與動態變化檢測方法,同時探究影像像元“椒鹽現象”,潮間帶潮位不一致對自動提取精度的影響等關鍵問題,實現大尺度、快速且較為準確地掌握顯著用海情況,遏制違法違規用海行為,保護海洋生態環境。
金山城市沙灘,位于杭州灣北岸,上海金山區南端,全長約2 km,由東北向西南徐徐延伸,是一條集海景、海趣、海樂、海韻為一體的城市景觀海岸線,地理范圍在30?42′N—30?43′N、121?20′E—121?22′E 之間。作為長三角最具有海派風格的城市海岸景觀,圍水面積達1.5 km2,該區域集聚填海、圍海、構筑物、房屋建筑、碼頭、潮間帶灘涂等海岸帶典型解譯標志,圍填海工程邊界清晰、輪廓成熟。近兩年新增簡易碼頭、構筑物修繕時有發生,基本覆蓋了準業務化工作中目視解譯提取的面狀要素類型。
遙感影像變化檢測首先需要選擇數據源。目前變化檢測所利用的數據源有多種,包括低空無人機航拍影像、SAR 圖像、遙感衛星影像(如高分辨率彩色圖像、DSM(Digital Surface Model)、Landsat、Pleiades 等)、紅外影像、GIS 及多影像融合數據等;在數據的時相上,有單時相影像、多時相影像;在光譜的波段上,有單波段影像、多波段影像;在數據的類型上,有影像間變化檢測、以影像為主源輔助其他數據的變化檢測、非影像數據與影像數據綜合考慮的變化檢測。在數據選取時,考慮到檢測區域的自然特征、光照及光譜信息等因素,最好選擇同一傳感器的數據,在時空上盡可能使數據減少物候和太陽高度角等因素引起的誤差[4]。
本文選取的高分辨率衛星影像具有經濟性、穩定性、實時性,影像清晰度高,可提供彩色、紋理等信息,較好地反映結構信息,而且應用范圍廣;缺點在于數據量大、處理數據難度大且耗時、衛星影像視場角一般在15?~20?,范圍較小;該類星源廣泛應用于各個領域,且通常與其他數據融合。
本研究采用高分一號(GF-1) 衛星作為數據源,其所搭載的兩臺PMS 傳感器2 m 分辨率全色,8 m 分辨率多光譜。常用的遙感影像處理軟件有Envi、Erdas、Arcgis 等。基于Envi 軟件平臺,影像經輻射校正、幾何粗校正,并經波段合成與影像融合、標準差光譜增強、感興趣區影像裁剪及幾何精校正等處理后,作為變化檢測的本底數據。
為保證提取精度,對2019 年12 月10 日和2021 年11 月2 日獲取的影像進行了融合處理及粗裁剪,選取10 個像控點進行GPS 控制點測量,完成幾何精校正。選取單期影像進行柵格數據矢量化水邊線提取岸線及感興趣區劃定,剔除岸線向陸一側對整體提取效率的影響,同時利用矢量數據裁切出研究區域,形成一組相同區域不同時相的正射影像集[4]。GPS 踏勘選取的控制點如圖1 所示。

圖1 控制點站位
按照《我國近海海洋綜合調查與評價專項海島海岸帶衛星遙感調查技術規程》要求,基于Arcgis軟件平臺,采用目視解譯方法,完成研究區域海域使用疑點疑區遙感判讀,再結合現場踏勘情況,比對解譯標志特征,最終確定了2 處新增海域使用疑點疑區。實測點位坐標如表1 所示。

表1 經現場驗證的遙感解譯疑點疑區
2.4.1 AdaptiveThreshold 函數
在影像中灰度是不均勻的,因此不同區域的閾值也是不一樣的。基于此原因,需要一種方法根據影像不同區域亮度或灰度的分布,計算其局部閾值。這種方法就是自適應閾值化圖像處理,也稱為局部閾值法[5-6]。
AdaptiveThreshold(Input Array src,Output Array dst,double maxValue,int adaptive Method,int thresholdType,int blockSize,double C)
其中,inputArray src 為輸入圖像,outputArray dst 為輸出圖像,double maxValue 為滿足條件的像素非零值(本文取值255),int adaptiveMethod 為自適應閾值算法,分別是adaptive_thresh_means_c 和adaptive_thresh_guassian_c[7-9]。
均值濾波即對鄰域內的像素取平均值后減去相同加權值;高斯平均是在符合正態分布的情況下,每個像素點的權重離中心點越近的,其權值占比也就越重,即中心點權值最大,越往外所占越小,比均值濾波的好處是可以突出重點。本研究為追求對圖像的全幅二值化,選取均值濾波更為適合[7]。
針對閾值類型參數int thresholdType,選取以高電平模式開啟的形式作為最大值,低電平為最小值零的THRESH_BINARY,計算公式如下。

int blockSize 是自適應閾值函數需要計算的領域塊的大小,即領域塊內的像素點數量(本文取值11)。double C 是偏移調整量,當計算得到閾值后,用閾值再減去這個偏移調整量得到最終閾值,該偏移調整量的取值正負皆可(本文中取值-2)。對于對比度和明暗變化有較大差異的影像,前期使用普通非自適應的Threshold 函數計算二值圖,其輸出輪廓效果并不理想,輸出的二值圖質量差異較大,影響了接下來變化檢測的效果[7-9]。
2.4.2 FindContours 函數
經自適應閾值化處理后得到的二值圖,作為FindContours 函數的輸入圖像進行處理。數字圖像以坐標系方式確定像素點坐標,因此函數將每個像素點以“點向量”方式存儲,即vector Void findContours(InputArray image,OutputArrayOfArrays contours, OutputArray hierarchy, int mode,int method,Point offset=Point()) 其中,InputArray image 為輸入圖像;OutputArrayOfArrays contours 為找到的輪廓圖;OutputArray hierarchy 為層級關系,定義為vector 2.4.3 DrawContours 函數 在屏幕上繪制檢測到的輪廓。繪制輪廓算法不涉及調節參數,所以對算法的細節可以忽略,實現效果很好。 Void draw Contours(InputOutputArray image,Input Array Of Arrays contours,int contourIdx,const Scalar& color,int thickness=1,int lineType=8,InputArray hierarchy =noArray(), int maxLevel =INT_MAX,Point offset=Point()) 其中,InputOutputArray image 表示目標圖像,Input Array Of Arrays contours 表示輸入的輪廓組,每一組輪廓由點vector 構成;int contourIdx 指明繪制輪廓的數量,本文設定該參數為負值(-1),畫全部輪廓,const Scalar&color 為輪廓的顏色,三通道色組,int thickness為輪廓的線寬,如果為負值或CV_FILLED表示填充輪廓內部,int lineType 為線條類型,InputArray hierarchy 和int maxLevel 共同作用可以輸出輪廓結構信息。Point offset 為偏移參數[7-9]。 利用OpenCV 普通二值化函數(Threshold)對影像進行基本二值化的閾值方法得到的輪廓效果并不理想,后采用自適應閾值化函數(Adaptive Threshold)對每一個像素點單獨計算閾值,根據像素的鄰域塊的像素值分布來確定該像素位置上的二值化閾值,對于不關注的提取要素,運用霍夫變換、二次線段剔除等特征提取方法進行噪點消除[7]。金山城市沙灘輪廓提取效果如圖2 所示。 圖2 金山城市沙灘自適應閾值圖(2019 年12 月10 日) 在閾值圖基礎上,使用FindContours 函數,對基期和末期分別進行輪廓線提取,使用DrawContours函數對輪廓上色,并比較前后像素點色度差異,在末期圖的輪廓線中,標記變化區域,如圖3 所示。為驗證算法對疑點疑區目標檢測的性能,需結合實地驗證后的遙感目視解譯結果進行一次驗證。 圖3 金山城市沙灘自動變化檢測結果(2021 年11 月2 日) 通過上述自動提取結果可以看到,首先,利用OpenCV 自適應閾值化函數得到的輪廓結果能夠將圍填海、構筑物、房屋建筑、碼頭、潮間帶灘涂等海岸帶典型解譯標志提取出來,因實際業務運行獲取到的影像分辨率較高,雖然提取精度得到了一定保障,但需濾除船舶、海面垃圾、管道、浮閥等不關注的信息,以上要素在衛星影像中基本以簡單的點狀呈現,運用“霍夫變換”、二次線段剔除等特征提取方法進行盡可能的噪點消除后,非關注信息得到了有效凈化,岸線向海一側的主要地物得到保留。 其次,實際工作中會遇到兩期衛星影像潮位不一致的情況,受限于影像質量差異,自動判讀出的潮位變化區域基本為大面積不規則形狀,邊緣偵測效果并不理想,故自動提取出來的連續橫向不規則條狀變化信息結合人工判讀被舍棄。 最后,提取出的輪廓邊界較為準確,變化檢測結果表現良好,但僅試驗性開展方法研究并不能證明其整體有效性,而實際工作中監測范圍更大,影像覆蓋面更廣,如何有效且快速的提取出變化區域仍需開展更多的案例研究,同時進行大尺度的精度驗證分析。 本文提出了一種適應實際業務化工作需求的海域使用疑點疑區自動提取與變化檢測方法,并以上海金山城市沙灘為研究區,選用研究區2019 年、2021 年兩景高分一號(GF-1)衛星遙感影像作為數據源,進行了相關案例實驗與精度評價分析。研究結果表明,所提融合遙感和OpenCV 方法自動提取后的圖像空間結構邊界清晰、信息增強效果好,且變化檢測結果較為準確,該方法較適合于監測區域地物類型較少、時效性要求高,但調查面積較大的信息提取。而且不同的閾值函數對同一影像所得提取效果不同,利用OpenCV 普通二值化函數(Threshold)對影像進行基本二值化的閾值方法得到的輪廓效果并不理想,采用自適應閾值化函數(AdaptiveThreshold) 對每一個像素點單獨計算閾值,根據像素的鄰域塊的像素值分布來確定該像素位置上的二值化閾值,得到的輪廓效果較好。 對研究區的海域使用疑點疑區動態分析結果表明,由融合遙感和OpenCV 方法所得出的疑點疑區變化信息,其精度達到了業務化開展海域使用疑點疑區變化檢測的要求,且形成了一套基于自動變化檢測方法的海域使用疑點疑區遙感解譯業務化試運行基本操作流程,如圖4 所示。 圖4 基于人機交互的海域使用疑點疑區業務化試運行流程 OpenCV 是一種先進的計算機視覺庫,用于數字圖像及視頻處理操作,能夠較為輕松地實現算法目標和應用。OpenCV 函數庫核心代碼由C/C++代碼編寫而成,具有輕量化且高效的特點,同時提供Python、Ruby、MATLAB 等語言的接口程序,實現了圖像處理和計算機視覺方面的很多通用算法,有很強的擴展性、通用性和可移植性。 針對海域海島此類大尺度的目標變化檢測,利用OpenCV 可高效完成應用目標。相比傳統人工識別,OpenCV 對基于精校正的基末期遙感影像,進行輪廓提取并準確定位坐標,比較前后坐標差異,判定變化區域,可減少人工識別帶來的誤差。對于變化識別過程中,類似灘涂這樣的干擾區域,使用OpenCV 中的濾波算法和霍夫變化算法進行特定區域的輪廓消除,同時配合光譜反射率數據,能夠準確判定區域地物特征類型,避免人工誤判。 相較于Envi 或ArcGIS 這樣的專業遙感處理軟件,OpenCV 作為計算機視覺庫,在處理多光譜影像數據時,沒有針對性的函數快速提取數據,需自行研究并編寫對應的代碼進行提取;基于不同分辨率影像底圖比較中,使用OpenCV 進行分辨率調整后,基末期影像輪廓比較存在一定的誤差。未來在差異變化區域的精度方面,需要進一步探究。3 結果與分析
3.1 變化檢測結果


3.2 結果分析
4 結論及建議
