茍杰松,蔣怡,李宗南,董秀春,吳柏清,劉忠友
(1.四川省農業科學院遙感應用研究所,成都市,610066;2.成都理工大學旅游與城鄉規劃學院,成都市,610059)
水產養殖提供優質蛋白營養產品,是滿足人們食物消費升級的重要途徑[1]。水體信息反映了水量、水質、時空分布等特征,是研究動植物生存、生態系統調節、水產養殖活動等水資源需求的基礎數據[2-3]。提高水體信息的提取能力有助于水產養殖業科學化管理,對提升漁業信息化具有重要作用[4]。
光學遙感與微波遙感是獲取大范圍水體信息的有效途徑[5-6]。由于數據源較多,光學遙感提取水體信息研究更為成熟和廣泛[7-8]。水體具有典型光譜特征,其光學反射集中于可見光波長范圍尤其是藍綠波段內,在紅外光譜反射率低,易于與其他地物區分[9]。根據光學遙感提取水體信息的技術原理,當前常用的方法主要有基于像元分類的閾值法[10-13]和基于目標分類的分類法兩種[14-17]。
閾值法主要是基于影像的光譜特征構建各種分類模型和水體指數,根據閾值判定水體;目標分類法包括支持向量機、面向對象法、最大似然法等,該類方法能較充分利用影像的光譜、紋理和空間幾何等特征來提取水體信息。遙感影像中水體存在同物異譜、異物同譜的現象:受漂浮物、水草、水深等影響,部分水體光譜特征差異較大;建筑物、陰影等在部分光譜波段的低反射特征與水體近似。因此,閾值法易將低反射率的地物錯分為水體。目標分類法能較好地利用影像的光譜特征、像元間的空間臨近關系,相比于閾值法能部分抑制背景噪聲。
隨著卷積神經網絡(Convolution Neural Network,CNN)在圖像分類和圖像識別方面的成功應用[18-20],深度學習在遙感影像水體分類和語義分割中能更有效地利用遙感影像的光譜和紋理等特征,減少光譜特征近似水體地物的錯分現象,逐漸得到研究及應用[21-26]。Yuan等[21]使用CNN和Landsat OLI影像識別格林蘭冰原湖泊水,水體識別結果優于多種傳統分類方法。Zhang等[22]建立一種基于CNN和殘差網絡ResNet等集成的水體分類模型,在Landsat TM/ETM+和HJ-1影像上有效區分了水體和陰影區。Long等[23]集合CNN和邏輯回歸分類器提取Landsat影像水體,比支持向量機和傳統人工神經網絡具有更好的性能。陳前等[24]分別用CNN和Deeplabv3對高分一號影像的水體進行分類和語義分割。
隨著深度學習在遙感影像處理方面的應用,越來越多的研究基于Tensorflow、Caffe、Pytorch等平臺搭建深度學習模型,但這些平臺同時存在流程處理較繁瑣和結構調試較困難等問題。近年來,國產深度學習平臺不斷得到建設發展,提供多種從實際業務中反復淬煉優化的訓練模型,并支持多種數據接口類型和工業級部署,以百度PaddlePaddle和阿里X-Deep Learning等為代表。已有相關研究鮮有利用國內深度學習平臺開展水體信息提取研究。
因此本研究基于百度的PaddlePaddle平臺搭建遙感水體信息提取模型,分析Deeplabv3+語義分割模型和Sentinel 2A遙感影像提取水體信息的效果,為水產養殖遙感水體信息的快速準確提取提供依據。
研究區為四川省成都平原,經緯度范圍為103.7°~104.27°E,29.27°~31.34°N,幅員面積約1.3萬km2。該區域屬于亞熱帶季風性濕潤氣候,年均氣溫16 °C,年降雨量1 000 mm左右,干濕明顯,雨季主要集中在6月中旬到9月中旬,區域內地勢平坦、城鎮密集、遍布農田、水體類型豐富,滿足研究條件。其中,本文水體信息提取模型的訓練區選擇有河流、湖泊、水庫、坑塘等廣布的區域,主要分布于都江堰市及周邊地區,占地面積約500 km2;測試區用于評估本文模型和其他對比方法的分類精度,選擇存在大量陰影、建筑和農田等對比區,主要分布于新津縣及周邊地區,占地面積約400 km2。
Sentinel2A(S-2A)多光譜影像設有13個3種不同空間分辨率的波段(10 m、20 m和60 m),高分六號(GF-6)是中國首顆精準農業觀測的高分衛星,配置2 m 全色/8 m多光譜和16 m多光譜相機。研究選取S-2A衛星10 m和GF-6衛星16 m多光譜影像為數據源。為保證GF-6影像與S-2A影像空間分辨率一致,將GF-6數據重采樣為10 m空間分辨率。
該研究訓練區、測試區、成都平原應用提取區選取2018—2019年多幅S-2A影像和GF-6影像,包括不同區域、不同季節、不同時相。其中,(1)訓練區選用3個不同時期同一區域S-2A影像,該3幅影像質量相對較好,伴隨少量云霧,水體信息季節性變化明顯,能反映受水量、水質變化影響水體表現的不同光譜、紋理特征,可以兼顧到訓練模型的泛化能力;(2)測試區選用1幅S-2A影像,檢驗測試模型的分類精度和遷移能力;(3)在成都平原水體面積泛化提取應用中,選用2018年的不同區域S-2A影像拼接得到2018年研究區,選用2020年的不同區域GF-6影像拼接得到2020年研究區。
研究基于Deeplabv3+語義分割模型和遙感影像提取水體信息,主要包括3個步驟:(1)搭建環境依賴;(2)建立水體信息語義分割數據集;(3)訓練并保存Deeplabv3+語義分割模型。
1.3.1 Deeplabv3+模型結構
Deeplabv3+[27]是Deeplabv系列的最新版本,在Deeplabv3[28]的基礎上,其加入了解碼器模塊,通過編碼器—解碼器(Encoder-Decoder)借鑒跳步的方式連接低層特征和高層特征,進行多尺度信息的融合,原理如圖1所示。

圖1 Deeplabv3+模型原理圖
Encoder以改進的Xception替換了ResNet作為骨架網絡,該網絡由一系列深度可分離卷積組成,提高了模型語義分割的健壯性和運行速率。其中,多孔卷積(Atrous Convolution)控制DCNN計算特征響應的分辨率,采用多種不同比率來獲取多尺度的內容信息,分別輸出高層特征圖和低層特征圖。Encoder中多孔空間金字塔池化(Atrous Spatial Pyramid Pooling,ASPP)采用4個并行帶有不同比率的多孔卷積和1個全局池化(Image Pooling)對高層特征圖分別進行單獨處理,處理后的5個特征圖融合輸入到一個1×1卷積中,然后經過4倍雙線性內插上采樣(Upsample)輸入到Decoder中使用,連接低層網絡中具有相同空間分辨率的特征圖。
Decoder中首先用一個1×1卷積處理低層特征圖,減少特征圖通道數,再將其與經過4倍雙線性內插上采樣的高層特征圖進行融合,然后3×3卷積后經4倍雙線性內插上采樣恢復至原圖分辨率,最終完成語義分割。
1.3.2 Deeplabv3+模型搭建
研究基于百度PaddlePaddle平臺的PaddleSeg搭建水體信息提取模型。PaddleSeg是端到端圖像分割開發套件,集合了Deeplabv3+、U-Net、ICNet、PSPNet、HRNet、Fast-SCNN等主流分割模型,支持rgb、rgba和gray三種圖片數據接口,內置數據校驗、訓練、評估、可視化、預測等腳本并支持不同的命令行來開啟特定功能和修改默認配置。此外,還包括數據增強模塊、多進程訓練和混合精度訓練等高級功能。本研究Deeplabv3+模型搭建具體過程如下。
1)搭建環境依賴。安裝模型運行的相關環境依賴,主要包括PaddlePaddle 1.6.1、Python 3.7、CUDA 9、PaddleSeg 0.4.0版本。
2)建立水體信息語義分割數據集。(1)樣本標注:在Deeplabv3+模型的樣本組織過程中,相對于純人工手動標記,依靠現有的遙感影像與其對應目標的矢量數據,半自動采集大規模的遙感影像語義分割樣本,是一種便捷高效方式。本文從成都平原S-2A影像截取了3景同一區域、不同時期22 500像素×22 500像素大小的影像切片,在Arcgis中以人工目視解譯的方式,對研究區具有代表性的水體進行標記,水體像素被標記為1,背景像素則標記為0,標記結果轉換成png格式,共兩種類型作為深度學習模型的訓練標簽數據與模型精度驗證的標準。(2)樣本影像的波段選擇:從S-2A 10 m空間分辨率的4個波段中選取識別率均值最高的3個波段,本文分別試驗了紅—綠—藍、近紅—紅—藍、近紅—紅—綠等波段組合,最終選取水體信息提取精準度最高的近紅(R)—紅(G)—綠(B)波段順序進行組合。(3)樣本影像裁剪:由于截取的研究區影像切片尺度較大,不能直接輸送到模型中訓練,因此在語義分割模型訓練前要對訓練樣本分割。綜合考慮模型訓練速度、訓練精度以及訓練樣本空間結構特征的整體性,通過多尺度的訓練樣本分割試驗,將影像裁剪為512像素×512像素尺度大小的訓練樣本,并轉換成jpg格式。(4)數據集格式:用于水體信息語義分割的數據集采用Cityscape數據集格式。訓練集標注數據和圖像數據各1 176張,用于訓練模型。測試集940張圖像數據,用于檢測模型的精度和泛化能力。其中,部分訓練樣本如圖2所示。

圖2 水體信息語義分割訓練數據集
3)訓練并保存Deeplabv3+語義分割模型。(1)訓練模型:通過PaddleSeg庫上yalm文件配置各項參數,以微調(Fine Tune)的方式訓練模型,主要設置包括6項:模型骨架網絡選取Xception_65;初始學習率(Learning Rate)為0.001;學習策略(Learning Policy)為“poly”[29];權重衰減(Weight Decay)為0.000 04;訓練批數(Batch Size)為8;迭代次數(Epoch Number)為50。訓練過程中還通過增添數據增強模塊(Aug),防止樣本不足帶來的過擬合,提升模型泛化能力和魯棒性,即通過隨步長隨機縮放、鏡像翻轉、圖像旋轉、非等比例縮放、色彩抖動等多種方式來增加訓練數據量。(2)保存模型:導出模型及其參數配置文件,生成預測yalm配置文件。
執行基于Python端的模型預測腳本,通過訓練好的Deeplabv3+模型在線分割測試集S-2A影像和研究區全域影像,預測分割后的結果按文件編號匹配對應遙感圖像,并拼接研究區全域矢量水體圖斑。
本研究以歸一化差分水體指數法(Normalized Difference Water Index,NDWI)[30]和最大似然法(Maximum Likelihood,ML)[31]等兩種水體信息提取方法作為參照,再輔以2019年3月28日0.5 m的Worldview2高分遙感影像獲取高精度水體分布數據,評估Deeplabv3+水體信息語義分割方法的性能。隨機選擇4個500 m×500 m包含坑塘、水庫等多種水體類型的樣方,獲取0.5 m分辨率水體分類結果,再重采樣為10 m分辨率的結果,通過設定閾值保證重采樣后的結果與0.5 m水體圖斑總面積不變,以此作為水體信息精度驗證的標準。計算各類方法的水體分類混淆矩陣,得出各方法的漏分誤差、錯分誤差、總體精度和Kappa系數。
根據表1的精度驗證結果,使用來源于S-2A的樣本數據在Deeplabv3+模型下提取水體信息性能最優,總體精度、Kappa系數分別達到94.14%、0.88,較之ML方法和NDWI方法的總體精度分別提升了2.53%和6.04%,Kappa系數提升了5%和12%,且漏分誤差和錯分誤差最低,為6.76%和6.21%。說明該語義分割算法在面對復雜的地物條件下,通過逐層神經網絡訓練,學習目標深層次信息和整體規律,實現目標像素級的分類,可提高水體信息的提取精度。

表1 不同水體信息提取方法的精度對比
各方法在不同場景下提取水體信息的具體效果見圖3,其中,圖3(a)以大水面為主;圖3(b)以大面積池塘為主;圖3(c)以小面積池塘和河流為主。各圖周圍均分布建筑、陰影和農田作為提取效果對比區。
在水體面積較大的河段水面和池塘上(圖3(a)、圖3(b)),3種方法的水體信息提取效果與地面真實標簽吻合度都較好,但Deeplabv3+語義分割模型能更有效抑制水面周圍的陰影和建筑等背景干擾,水體錯分現象幾乎不存在,ML方法能在一定程度上去除背景干擾,NDWI方法可以通過簡單操作和較快速度提取出大部分水體區域,有效抑制植被等因素,但背景噪聲相對較多。在小面積池塘和細長水體分布的場景中(圖3(c)),Deeplabv3+語義分割模型表現較差,小面積水體信息提取效果較一般,對細小線狀水體提取能力較弱,水體邊緣整體呈現出平滑、規整的狀態,無法充分描述目標邊緣的細節信息,而ML方法和NDWI方法在此類場景中則無明顯漏分現象,整體提取效果較好。

(a)
水體面積是決定水產養殖產出能力的重要影響因素[32],本研究中的水產養殖水體主要是指內陸養殖水體(包括池塘、山塘水庫以及大水面等封閉型水體,不包括水稻田),而海水養殖水體(包括海水池塘、淺海設施養殖區)和典型非養殖水體(包括河流、進排水渠等流動性水體及公園內觀賞水體)不作為該文的研究范疇養殖[33]。
本研究利用深度學習模型分別對研究區2018年S-2A衛星影像和2020年GF-6衛星影像進行了水體信息提取,通過規則識別方法和目視解譯判斷出養殖水體信息,選取2018年青白江區、新津縣和廣漢市作成都平原養殖水體面積精度驗證區,2018年青白江區、新津縣和廣漢市的養殖水體提取面積分別為472 hm2、615 hm2和785 hm2,對應的漁業統計年鑒面積分別為490 hm2、571 hm2和805 hm2,驗證結果誤差均≤±10%,達到全國水產養殖水體資源遙感監測項目相關技術要求[33-37],滿足區域級泛化提取條件。
對比分析成都平原兩年間養殖水體面積的變化,結果如圖4所示。

圖4 成都平原養殖水體面積變化
成都平原2018年和2020年養殖水體面積分別為22.3 khm2和28.6 khm2。圖4(a)中部成都市主城區范圍基本上無養殖水體面積變化,而成都平原范圍內其它區域如圖4(d),養殖池塘水體面積發生較多變化。通過對比研究區S2-A和GF-6兩年的養殖水體影像,發現養殖水體面積變化易受人類活動和季節性變化影響,人類活動如政策驅動限制或禁止某一區域水產養殖活動的產生(如城市建成區、大型湖泊和水庫等),而季節性降雨和排灌也對養殖水體面積也有較大影響。
通過驗證表明本研究建立的Deeplabv3+語義分割模型可準確提取水體信息,精度總體優于NDWI及ML方法,且能較好地抑制陰影等背景影響,但受限于S-2A遙感影像的空間分辨率較低、訓練樣本影像波段數少、模型誤差等因素,該方法對部分小面積和細小線狀水體的識別、語義分割等存在不足。對此,通過深度學習方法進一步提高水體信息提取的精度有待更多相關工作的改進,包括測試更多類型的高分辨率遙感數據、通過改進數據接口使用3個以上波段的遙感影像訓練及分割、優化模型結構及參數等。
由于文中定義的養殖水體不包括河流、進排水渠等流動性水體及公園內觀賞水體,這些非養殖水體與內陸養殖水體有著共同的紋理和光譜信息,深度學習模型提取水體信息是基于像素特征而得,因此無法判斷水體像元是屬于哪一類水體。海水養殖有網箱養殖、灘涂插養、浮筏養殖等,在遙感影像上有其明顯的空間紋理特征,其影像光譜在淺海養殖與深海區域也有明顯的區別,已有相關研究取得了不錯的海水養殖水體信息自動化提取效果,而內陸淡水養殖水體信息提取自動化程度也有待進一步提升和挖掘。
1)基于Deeplabv3+模型的水體信息提取總體精度為94.14%,Kappa系數為0.88,相比于其他方法,Deeplabv3+語義分割模型能有效抑制陰影、建筑物等背景噪聲,提高了水體信息提取精細化程度,具有水體信息提取的適用性。
2)基于深度學習平臺PaddlPaddle的PaddleSeg建立的水體信息提取模型,通過較少樣本數據、參數微調、簡易腳本命令,可遷移模型實現水體信息區域級泛化提取能力,提高了水體信息提取自動化程度,具有水體信息提取的便利性。
3)對研究區的養殖水體面積提取結果表明,2018年和2020年成都平原養殖水體面積分別為22.3 khm2和28.6 khm2,驗證區結果誤差≤±10%,達到全國水產養殖水體資源遙感監測項目相關技術要求。