沈蔚,饒亞麗,3,紀茜,3,孟然,3,欒奎峰
(1.上海海洋大學 海洋科學學院,上海 201306;2.上海河口海洋測繪工程技術研究中心,上海 201306;3.南通智能感知研究院,江蘇 南通 226009)
水深測量是繪制水下地形不可或缺的工作。地球表面約71%為海洋,無論是軍事、國防還是資源開發等方面,測量水深意義重大。當前水深測量以船載聲吶測深為主,但對于船只無法到達或是存在主權爭議的海區,則難以開展工作。近年來,隨著遙感技術的進步和發展,越來越多的衛星數據被應用于水深反演中,其高空間分辨率、高光譜分辨率、高時間分辨率的特點為淺水水深獲取提供了更高效靈活和低成本的方法手段。
20世紀70年代,國外學者利用遙感數據反演水深,Stumpf等[1]提出了波段比值模型,其只含兩個未知參數,適用于低反照率特征的水域;Lyzenga[2]提出雙層流理論模型,首次利用多光譜航拍影像對淺海地區進行了水深估算。
進入本世紀,國內相關研究日益增多,陸天啟等[3]基于SPOT 6遙感影像和實測水深值之間建立比值模型,顯示綠-紅波段的比值模型精度最高,但是對于已有的遙感水深反演方法波段選取較難,不易得到較好的模型參數。針對該問題,盛琳等[4]基于WorldView-2多光譜影像對非線性模型進行研究,引入逐步回歸算法,可以快速解算模型參數;黨福星等[5]基于TM影像,對底質類型進行分區和潮汐改正,構建淺海島礁水深反演模型,取得了較好的應用價值。
當前,機器學習算法日益成熟,為遙感水深反演提供了有效手段。王艷姣等[6]引入動量BP神經網絡模型,反演長江口南港河段的水深,發現模型在淺水域反演精度較高;王錦錦等[7]將多核支持向量機引入多光譜遙感水深探測,表明反演精度較高;Friedman[8]在2001年對梯度提升決策樹(gradient boosting decision tree,GBDT)模型展開研究;Chen等[9]推出了改進版本的極限梯度提升(extreme gradient boosting,XGBoost)模型,XGBoost是在GBDT的基礎上對boosting算法進行改進,用于樹的增強;溫開祥等[10]綜合多種機器學習算法,通過建立隨機森林、XGBoost和支持向量機三種不同的機器學習模型對水深進行反演,反演精度有明顯提高,得到廣泛認可。
近年來,國內外學者通過多種與水深相關的因素建立回歸預測模型并取得顯著成果,但仍然存在模型參數過多、性能不佳等問題。
本文在水深反演相關模型研究的基礎上,利用XGBoost算法結合網格搜索,自動耦合多個參數,確定其最佳參數組合,降低人為調試參數的不確定性,提高了模型性能和運行效率,以啟東恒大淺海為實驗區域,獲得了較理想的水深反演結果。本文研究方法與成果,適用于淺海水深的反演,隨著遙感數據的不斷豐富,未來可以在更大范圍推廣應用。
多光譜遙感水深反演模型可分為理論解析模型和經驗模型[11]兩大類。理論解析模型利用輻射傳輸方程推導水深信息,該過程涉及較多光學參數,難以在實際工作中應用[12];經驗模型需借助水深控制點,建立遙感影像數據與水深值之間的關系,從而推導算出研究區域水深值。
經驗模型又可分為半分析算法和統計相關算法。半分析算法借助理論公式,基于實測水深解算水體參數,反推未知區域的水深信息,常見的半分析算法以比值模型為主;統計相關算法是將影像波段的輻射亮度值作為自變量,對應實測水深值作為因變量,建立數據模型,解算模型參數,其中神經網絡模型具有較好的模擬能力,常用的有BP人工神經網絡、隨機森林、支持向量機反演模型等。
本文利用波段比值模型、GBDT模型和網絡搜索+XGBoost模型進行水深反演研究的實驗對比。
在遙感水深反演領域,單波段模型可用于水質清澈的理想淺海環境,水質較差時,反演精度較低。由單波段模型過渡到波段比值模型,根據波段組合與水深值之間的相關性,選取相關性較大的藍、綠兩個波段,帶入式(1)計算得出水深值。
(1)
式中:H為水深值;L(λi)為傳感器接收藍波段的輻射亮度;L(λj)為傳感器接收綠波段的輻射亮度;n、a、b為可調參數。
GBDT是以CART分類回歸樹為基模型的一種集成學習算法,采用加法模型,不斷迭代減小訓練過程產生的殘差,利用損失函數(loss)作為準確度指標,從而達到分類或者回歸的效果[13]。算法過程如下。
步驟1:初始化弱學習器,如式(2)所示。
(2)
式中:L為損失函數;yi為第i個訓練數據;c為常數。
步驟2:進行迭代訓練,計算殘差,如式(3)所示。
(3)
步驟3:計算得到的殘差訓練回歸樹,根據權重更新得出強學習器,如式(4)所示。
(4)
步驟4:為了防止過擬合現象,加入學習率參數v,得到最終模型,如式(5)所示。
FM(x)=FM-1(x)+vfm(x)
(5)
該算法的訓練過程如圖1所示。

圖1 GBDT訓練過程
XGBoost是一種常用的boosting集成學習算法[14],該算法是一個加法模型,基于GBDT算法的改進,對目標函數進行二階泰勒展開,從而保留更多目標函數的信息。為避免過擬合現象,添加正則化項[15],有利于模型獲得更低的方差。
本文引入網格搜索法,當面臨小數據集時,可以自動進行排列組合,從而篩選出最佳參數組合。其原理是:首先選擇當前對模型影響最大的參數進行調優,通過給定取值區間,按照順序進行搜索,直到最優再對下一個影響較大的參數進行調優,以此類推,直至所有的參數調優結束,選出最佳參數組合。其中參數max_depth用來防止模型陷入過度擬合狀態,同時加快收斂速度,參數eta控制模型的學習效率,提高模型適應能力。XGBoost算法相對于其他機器學習算法而言,有著更多的自由度優勢[16],通過不斷尋找新的目標函數,自動處理缺失值特征,從而提高預測精度。算法過程如下。
(6)
式中:K為樹的總個數;fk為樹模型。
步驟2:經過t次迭代后的目標函數由兩部分組成(式(7)、式(8))。
(7)
(8)

式(3)對式(7)目標函數進行泰勒公式展開,整理可得式(9)。
(9)

(10)

(11)
步驟3:對葉子結點的輸出值求導并且令導函數等于零,得到XGBoost最終目標函數,如式(12)所示。
(12)
該算法的訓練過程如圖2所示。

圖2 XGBoost訓練過程
選取位于長江入海口的南通市啟東恒大海上威尼斯內湖作為研究區,該水域水體透明度高,水質條件好,適合開展水深反演實驗。影像數據來源于GF-1衛星多光譜WFV相機,有藍(B)、綠(G)、紅(R)和近紅外(NIR)四個波段,影像獲取時間為2020年3月21日,研究區如圖3所示。

圖3 啟東恒大海上威尼斯內海位置與對應遙感影像圖【審圖號:GS(2022)2235號】
該區域實測水深由船載單波束采集,時間為2020年5月7日至2020年5月13日,研究水域最深處可達10 m,近岸水深則在0.3 m左右。由于遙感影像和實測數據采集存在時間差,故通過現場水文站的水位數據,對實測水深進行改正。為獲取更高精度的訓練效果,將實測水深數據做以下處理:首先,將實測水深點與GF-1衛星影像的投影統一(本文為UTM投影);其次,按照像素單元進行劃分,計算單個像素單元中每個水深的標準差,剔除標準差較大的水深點;再次,通過將噪音大、有耀斑的水深點進一步剔除,保留846個水深點用于建模,181個水深點用于檢驗;然后,利用ArcGIS軟件提取遙感影像上對應實測水深點的像素值,結合吃水改正后的水深值,在Python編程環境中搭建網格搜索+XGBoost模型、GBDT模型和雙波段比值回歸模型,開展水深反演實驗。
建立回歸模型之前,需對衛星遙感影像進行預處理,影像反射率數據受到大氣、光照等因素的影響,會導致反演模型的精度下降,因此需要通過大氣校正降低水蒸氣、二氧化碳等物質造成的影響[17]。本文采用FLAASH模塊對衛星影像進行大氣校正,在一定程度上消除大氣帶來的影響。為了提高反演精度,還需進行正射校正和幾何校正,此過程均在ENVI軟件中實現。
為了獲取更好的反演效果,對遙感影像進行水陸分離。無論是航線設計還是水深反演,對遙感影像進行水體和陸地分離都極其重要。本文基于提取指數進行水陸分離,減少非水體部分對回歸模型造成的影響,從而更加精確地提取水深值。
通過篩選剔除,將原始數據集劃分成訓練集和測試集,其中測試集用作調整參數和評定模型的好壞。通過網格搜索對模型重要參數進行調優:首先,將eta設置為0.1,其他參數為默認值,使用Grid Search CV函數確定最佳迭代次數;其次,使用Grid Search CV函數對最大深度進行自動尋優,減小(增大)學習率,同時增大(減小)迭代次數,直至找到最佳的學習率和迭代次數,使得誤差最小;然后,經網格搜索得出的最佳參數組合(表1),并將其帶入模型進行預測,使得模型反演效果最好。

表1 網格搜索+XGBoost結果
將網格搜索得到的最佳參數組合帶入模型進行預測,得到表2結果。
使用相關系數(R2)、均方根誤差(RMSE)和平均絕對誤差(MAE)三個參數作為本文實驗的評價指標。R2越大表明擬合效果越好;RMSE和MAE越小,表明誤差越小,回歸效果越好。
為對比網格搜索+XGBoost模型與其他模型的反演精度,計算各模型的預測值與實測值之間的R2、RMSE和MAE,結果如表2所示。

表2 三個模型精度對比
由表2可知,對于本文所選的三種模型,水深反演結果最優的是網格搜索+XGBoost模型。與常用的比值模型和GBDT模型進行比較,網格搜索+XGBoost模型的R2較高,RMSE和MAE指數較小,表現出較強的相關性,反演精度更高。
對啟東恒大海上威尼斯區域GF-1遙感影像應用網格搜索+XGBoost回歸模型進行水深反演,結果如圖4所示。反演結果顯示,其在5 m以淺水域精度較高,優于當前遙感水深反演的精度要求。

圖4 恒大威尼斯內海水深反演結果【審圖號:GS(2022)2235號】
本文在國內外水深遙感反演研究的基礎上,以GF-1衛星遙感影像為實驗數據,首次將網格搜索+XGBoost模型用于啟東恒大威尼斯淺海區域水深遙感反演。通過提取地物的光譜信息,結合實測水深點,構建網格搜索+XGBoost反演模型、GBDT反演模型和雙波段比值模型進行水深反演,有以下結論。
1)在對研究區域進行水深反演時,傳統的波段比值模型算法簡單,過程易實現,但精度低,不能很好地反演復雜的水下地形。
2)GBDT模型通過對多個參數進行調試,能取得較好的反演效果,但其結果更多的取決于操作人員的主觀選擇。
3)使用網格搜索調整參數后的XGBoost模型預測精度更高,效率更快,其評價指標R2為0.820,RMSE為0.247,MAE為0.134,精度均高于其他兩種算法,具有較好反演效果和使用價值。并且,該模型的諸多訓練參數不需要人為設置,減少了人為因素的干預,提高了反演精度。但其耗時較長,需要遍歷所有的參數組合,直至找到最佳參數組合。
在遙感水深反演領域,對于不同研究區域的輸入層特征向量沒有特定的參考依據。本文結合傳統波段比值線性回歸模型中的輸入參數,將GF-1遙感影像多光譜的四個波段以及四個波段之間的比值作為輸入層,具有一定經驗性和主觀性。因此,后續工作將考慮增加其他相關因子參與模型的建立,比如懸沙參數因子和葉綠素參數因子,從而提高反演精度,為探測海底地形和軍事安全等方面提供有力參考。