張宏鳴 陳麗君 劉 雯 韓文霆 張姝茵 張 凡
(1.西北農林科技大學信息工程學院, 陜西楊凌 712100; 2.西北農林科技大學機械與電子工程學院, 陜西楊凌 712100)
玉米是我國重要的糧食作物,為了保證我國玉米產業的快速平穩發展,需要對玉米相關生長參數進行有效監測。植被覆蓋度(Fractional vegetation cover,FVC)通常指植被(包括葉、莖、枝)在地面的垂直投影面積占統計區總面積的百分比[1-2]。植被覆蓋度反映植物進行光合作用的面積以及植被生長的茂盛程度,在一定程度上能夠體現植被的生長狀態和生長趨勢[3-6]。因此,估測玉米覆蓋度對指導生產管理和進行農業生態系統評價具有重要意義[7]。
植被覆蓋度測量主要有地表實測法和遙感監測法[8-9],由于受到人力物力的限制,地表實測法已逐漸被遙感檢測法替代[10-11]。植被覆蓋度的遙感估算方法主要包括混合像元分解法、統計模型法和數據挖掘法[12]。混合像元分解法一般應用于缺乏地面實測數據的情況[13],主要有線性模型、概率模型、幾何光學模型、隨機幾何模型和模糊分析模型等,其中線性模型應用最為廣泛[14],混合像元分解法要求植被具有較為明顯的區域特點,且估測精度不高[15]。統計模型法主要利用遙感數據的某一波段、波段組合或遙感植被指數與地面FVC測量值進行統計分析,建立兩者之間的數值模型,可分為線性回歸模型和非線性回歸模型,前者應用較為廣泛[16-17]。統計模型法簡單、容易實現,但只適用于特定區域與特定植被類型,且精度依賴于地面實測數據,對遙感數據空間分辨率要求高,大區域植被覆蓋度估算可能失效,具有較大的不確定性和局限性,不宜推廣[12]。數據挖掘法是從大量不完整且含有噪聲的隨機觀測數據中估測潛在信息和知識的過程,目前,決策樹、支持向量機和隨機森林等非參數回歸算法已在植被覆蓋度反演中得到應用[12]。支持向量機在解決小樣本、非線性及高維模式識別等問題中表現出很好的泛化能力,近年來也應用于植被覆蓋度的估算中[18];決策樹可避免數據冗余,提高計算能力,有效地挖掘數據潛力;與參數回歸等方法相比,隨機森林模型無需對變量的正態性和獨立性等假設條件進行檢驗,估測效果較好[19]。
大多數研究使用單一機器學習方法估測植被覆蓋度,其中線性回歸對非線性以及特征空間大的數據性能表現不足,傳統的機器學習模型也容易陷入過擬合。過度依賴一種學習模型很難全面考慮覆蓋度變化的特點,從而無法避免估測精度不高、模型魯棒性不強的問題。
基于以上問題,本文建立基于Stacking集成學習的夏玉米覆蓋度估測模型,利用無人機獲取夏玉米的多光譜影像,使用隨機森林算法進行特征選擇,去除冗余特征,集成隨機森林、梯度提升樹、支持向量機、嶺回歸等4種學習器,并與其他集成學習框架以及單一學習器模型進行對比,以驗證模型的有效性。
研究區位于內蒙古自治區鄂爾多斯市達拉特旗昭君鎮,地勢南高北低,南部為丘陵山區,庫布其沙漠沿腹部穿過,北部為肥沃的黃河沖積平原。地塊中心地理坐標為(40°25′N,109°36′E),實驗區面積約為1.13 hm2,屬典型的溫帶大陸性氣候,大陸度指數為75%,干燥少雨,冬寒夏熱,晝夜溫差大,年均日照時數約3 000 h,年均氣溫6.1~7.1℃,無霜期135~150 d,年均降水量240~360 mm。糧食作物主要以小麥、玉米為主,本實驗區域種植作物類型為夏玉米,屬于春播中晚熟期,一年一熟制,播種時間為5月中旬,收獲時間為9月。由于當前的預期量無法滿足玉米生長的需求水量,主要的供水方式為噴灌機灌水。實驗研究區無人機可見光影像示意圖如圖1所示,圓形實驗區域以噴灌機為中心,平均分為5個扇區,并在每個扇區內部等距離處設置3個6 m×6 m的實驗樣方(綠色正方形標記),實驗區域共計15個樣方。
實驗時間為2018年6月26日—8月23日,共采集子空間數據117條。遙感數據的采集包括多光譜影像以及在同一時間內低空拍攝的可見光圖像。多光譜圖像利用六翼無人機搭載五通道多光譜相機RedEdge進行拍攝,無人機軸距900 mm,速度5 m/s,相機質量150 g,焦距5.5 mm,47.2°水平視場,5個譜帶對應的中心波長分別為藍(475 nm)、綠(560 nm)、紅(668 nm)、近紅外(840 nm)以及紅邊(717 nm),其他參數如表1所示。

表1 多光譜相機主要參數
利用大疆精靈4Pro型無人機進行低空高清可見光圖像采集,光圈值為f/5.6,曝光時間為1/1 600 s,焦距為9 mm。為避免光照條件不均勻不一致產生的干擾,實驗天氣需晴朗無云,選取太陽光輻射強度穩定的11:00—13:00,相機鏡頭垂直向下進行數據采集。無人機需按照固定航線飛行。其中多光譜圖像分辨率為1 280像素×960像素,單次采集數據圖像1 780幅,可見光圖像分辨率為5 472像素×3 648像素,單次采集數據圖像15幅,同時配備光強傳感器以及具有固定反射率3 m×3 m的灰板。
將無人機搭載RedEdge采集的TIFF格式圖像,以日期為索引導入到Pix4Dmapper軟件中,導入位置與姿態系統(Position and orientation system,POS)數據,采用CGCS2000_3_Degree_GK_CM_ 111E,D_China_2000坐標系,導入地面控制點(Ground control point,GCP)文件,樣區范圍共布設5個地面控制點,使用實時動態定位(Real-time kinematic,RTK)進行精度檢測。同時用這些點來檢測影像集合定位精度,保證校正影像在作物覆蓋度估測中的基本應用需求。在軟件中進行初始化處理,幾何校正,構建三維模型,提取紋理以及構造地物特征,根據不同要求設置參數進行圖像拼接,得到的多光譜影像空間分辨率為4.731 cm。將生成的高清多光譜影像導入ENVI軟件,利用不同植被指數的計算公式分別生成對應植被指數的灰度圖,并在ENVI中對拼接預處理之后的原始圖像進行裁剪,將根據可見光影像制作的XML實測區域像控點文件導入,每一塊實測區域對應實驗樣地的每一小樣方,取裁剪后每一小樣方內全部像素點的各項植被指數,最終以均值來確定每個小樣方對應的各項植被指數[20-22]。
將同步采集的高清可見光遙感圖像作為夏玉米覆蓋度參考值,且在Photoshop軟件中求算夏玉米覆蓋度,將拍攝的JPG格式圖像導入軟件中,按不同圖像需求人工選擇色彩范圍并不斷調節容差將植株和背景分離開來,最終以夏玉米所占像素數與整個小樣方的總像素數之比作為該小樣方的覆蓋度[23-24]。
植被的反射光譜為植被本身、下墊面(土質、土壤亮度、濕度、顏色等)、陰影和環境等的綜合表現,且其易受大氣和季節等的影響[25]。由于植被和農作物在紅光波段強吸收和在近紅外波段強反射的特性,大量的研究證明這兩個波段與作物覆蓋度有很好的相關關系。因此,在綜合考慮各遙感衛星光譜范圍差異的基礎上,結合本研究所使用的遙感影像以及研究區域的特點,選擇紅光、藍光、綠光和近紅外波段組合出9種植被指數作為特征變量進行植被覆蓋度研究。分別為比值植被指數(RVI)[26]、歸一化差值植被指數(NDVI)[27]、土壤調節植被指數(SAVI)[28]、改進的土壤調節植被指數(MSAVI)[29]、增強植被指數(EVI)[30]、優化土壤調節植被指數(OSAVI)[31]、重歸一化植被指數(RDVI)[32]、差值植被指數(DVI)[33]和三角植被指數(TVI)[34]。
上述特征集可能存在信息冗余或泛化性較差的問題,因此需要進行特征選擇,找出與植被覆蓋度高度相關的特征變量,選出能夠充分估測植被覆蓋度且數目最少的特征變量集。本文綜合考慮皮爾森相關系數與隨機森林反向驗證權重因子,避免單一線性相關評價的局限性,獲得綜合考量重要性指標,提取出精要項特征,并對上述篩選方法最終精簡效果進行回歸驗證。
1.4.1Stacking集成學習模型
Stacking由WOLPERT[35]提出,其實質上是一種串行結構的多層學習系統。Stacking方法前期使用交叉驗證的方式把原始特征轉換為二級特征,然后再對變換得到的二級特征運用元學習器進行常規的訓練和擬合。不同于傳統的集成框架引導聚集算法(Bagging)和提升方法(Boosting),Stacking框架是將不同基礎學習器組合起來進行模型融合。
訓練過程為:①利用Stacking集成學習方法調用不同類型的學習器對數據集進行訓練學習。②將各分類器得到的訓練結果組成一個新的訓練樣例作為元分類器的輸入。③最終第2層模型中元學習器的輸出結果為最終的結果輸出[36-37]。
1.4.2隨機森林
隨機森林(Random forest,RF)是一種監督學習算法,在每棵決策回歸樹進行分支時,從總特征集的子空間中選取最優特征進行分支。該方法保證了各決策樹的獨立性和多樣性,一定程度上避免了過擬合。
1.4.3梯度提升樹
梯度提升樹(Gradient boosting decision tree,GBDT)是基于Booting算法的一種改進。該方法既能處理連續值,也能處理離散值,對各種類型的數據適應能力極強。具有可靈活處理各種數據、估測準確率高、使用損失函數和對異常值具有很強的魯棒性等優點,可有效進行回歸估測。
1.4.4支持向量機
支持向量機(Support vector machine,SVM)可將低維數據映射到高維空間中,使低維空間的數據在高維空間中形成估計函數,實現回歸模型的精度和計算復雜度間的平衡。該方法對于解決小樣本分類、回歸類問題效果理想,特別適用于時間序列等數據分析挖掘,具有較強的泛化性能。
1.4.5嶺回歸
嶺回歸(Ridge regression,RR)實質上是通過改良最小二乘法,放棄最小二乘法的無偏性產生有偏估計,允許以損失部分信息、降低精度為代價獲得更實際更可靠的回歸系數。該方法通過損失無偏性,對最小二乘回歸進行補充,換取較高的數值穩定性,從而得到較高的計算精度,且建模速度快,不需要復雜的計算過程。
1.4.6夏玉米覆蓋度估測模型
Stacking集成方法可以集成多種學習器的估測結果。考慮基學習器的預測能力,本文在Stacking集成學習模型第1層選擇學習能力較強和差異度較大的模型作為基學習器,有助于模型整體的預測效果提升。其中,隨機森林和梯度提升樹分別采用Bagging和Boosting的集成學習方式,具有出色的學習能力和嚴謹的數學理論。支持向量機對于解決小樣本和非線性以及高維度的回歸問題具有優勢。嶺回歸算法因其穩定性強和訓練高效等特點,有著良好的實際應用效果。第2層元學習器選擇泛化能力較強的模型,用于糾正多個學習算法對于訓練集的偏置情況,防止過擬合效應出現。綜上所述,經多次實驗組合,本文最終采用RF_1、RF_2、GBDT、SVM和Ridge等5個模型作為基學習器,利用嶺回歸作為元學習器進行融合得到集成模型。其中RF_1和RF_2均使用RF算法進行訓練,兩者僅參數設置不同。通過對多種算法的結合,克服單個模型缺陷,優化嶺回歸的輸入,提升了估測結果。本文提出的Stacking集成學習夏玉米覆蓋度模型框架(圖2),算法步驟如下:
(1)輸入數據集。獲取初始數據集,并對數據進行特征獲取及選擇,得到數據集T={(yi,xi);i=1,2,…,m},xi為第i個樣本的特征向量,yi為第i個樣本對應的預測值,并按照2∶1的比例隨機抽取訓練集T1和測試集T2,T=T1∪T2,T1∩T2=?。
(2)學習并生成新的數據集。設第1層選用n個基礎學習器,并采用k折交叉驗證來訓練第1層模型,n種模型擴展之后生成第2層訓練集T′1。在基學習器模型進行k折交叉驗證過程中,對測試集進行k次計算,將k次計算得到的結果平均,n種模型擴展之后生成第2層測試集T′2。
使用新訓練集和測試集構成新數據集,T′=T′1∪T′2,T′={(yi,z1i,z2i,…,zni);i=1,2,…,m},zni為第i個樣本新的特征向量。
(3)將得到的T′1用于訓練第2層元學習器模型,并用T′2驗證Stacking模型性能。訓練得到最終Stacking集成學習模型,并對模型進行參數優化。
采用RF_1、RF_2、GBDT、SVM和Ridge等5個模型作為基學習器,利用嶺回歸作為元學習器,并進行5折交叉驗證,步驟(2)中利用每個基礎模型(以模型1為例)進行5折交叉驗證的詳細過程見圖3,即訓練集取其中的4折作為訓練集,另外一折作為測試集,每次交叉驗證都基于測試集訓練生成的模型對其進行估測,這部分估測值合成下一層模型的訓練集。同時每次交叉驗證也對數據集原來的整個測試集進行估測,最后將各部分估測值取算術平均,作為下一層模型測試集。把模型1的訓練集估測值并列合并得到的矩陣作為訓練集,模型1的測試集估測值并列合并得到的矩陣作為測試集,代入下一層的模型,再基于它們進一步訓練。
采用決定系數(Coefficient of determination,R2)、均方根誤差(Root mean squared error,RMSE)、平均絕對誤差(Mean absolute error,MAE)3種常用的評估指標進行模型精度評價,其中R2反映模型擬合優度,越接近1表示所擬合的回歸方程越優;RMSE用來衡量模型估測與實際值之間的偏差,越接近0說明模型越準確;MAE能更好地反映估測值誤差的實際情況,越接近0說明模型越精確。同時平均絕對百分比誤差(Mean absolute percentage error,MAPE)更能直觀反映估測結果和真實值之間的差距,越接近0%說明模型越準確,因此選取MAPE來進一步評價模型評估的準確性。
使用特征變量提取及選擇方法,利用波段組合提取9種植被指數。提取測試樣本9個特征值,并與相應樣方的植被覆蓋度進行相關性分析。從皮爾森相關性分析結果(表2)可以看出,與FVC相關性最高的NDVI相關系數為0.953,相關性最低的DVI相關系數為0.904,FVC與9種植被指數相關系數均在0.90以上,且均在P<0.01水平呈極顯著相關。但TVI、RVI、DVI與植被覆蓋度的相關性與其他特征相比有較明顯偏低,因此利用相關系數選擇特征集后的結果為選用NDVI、OSAVI、EVI、RDVI、SAVI和MSAVI這6種特征變量。隨后基于隨機森林模型默認參數進行實驗,使用全部特征組合進行訓練得分為0.923 2,使用以上6種特征組合進行訓練得分為0.922 4。

表2 測試樣本特征變量與FVC相關性分析結果
隨機森林能夠度量每個特征的重要性,依據重要性指標可進一步選擇最重要的特征(表3),EVI、SAVI和NDVI重要度在0.20~0.25之間,而其他特征重要度在0.12以下,與前3種植被指數差距較大。因此通過重要性分析選取出重要性依次降低的3種特征組合(EVI、SAVI和NDVI)。基于隨機森林模型默認參數進行實驗,使用上述3種特征進行訓練得分為0.921 8。與皮爾森系數法選擇的特征組合相比,得分相差僅為0.000 6,同時利用重要性排序選擇更少的特征變量進行組合訓練,得分在0.90以下,與前者相比得分有明顯下降。最終選定3種特征組合(EVI、SAVI和NDVI)。

表3 植被指數重要度
利用隨機搜索和網格搜索相結合的方法進行參數優化以提高訓練速度和精度。首先利用隨機搜索對在較大范圍內用大步長進行粗搜索選擇出最優點。然后在最優點附近利用較小的步長劃分網格進行搜索,從而選擇出全局最優解。重復以上步驟,直至網格間距或目標函數變化量小于給定值。優化后各基學習器的主要參數見表4。

表4 各基學習器主要參數
利用所構建的Stacking集成學習模型對整個研究區的夏玉米覆蓋度進行估算(圖4)。從整體上來看并不是所有區域長勢都均勻,由于每個區域都進行了不同程度的水分脅迫,影響了夏玉米生長,從而對夏玉米覆蓋度也產生了影響。5個區域真實均值分別為0.412 7、0.551 5、0.543 7、0.638 6、0.561 1,而預測結果也大部分集中在0.36~0.61之間。另外結合夏玉米植被覆蓋度估測結果(圖4a)和當日實拍無人機可見光影像(圖4b)對比發現,估測結果與真實情況基本吻合。
為了驗證模型的性能,將Stacking集成學習的夏玉米覆蓋度估測模型與單一學習器模型作對比。通過對模型構建與調參得到最優的模型,將測試集分別代入建立好的RF模型、GBDT模型、SVM模型、嶺回歸模型、Stacking集成學習模型中估測夏玉米覆蓋度;各算法對夏玉米覆蓋度估測的評價指標對比如表5所示。

表5 單一模型與Stacking模型對比
Stacking決定系數為0.950 9,對比于RF、GBDT、SVM和嶺回歸分別提高了0.029 1、0.047 8、0.023 0和0.047 7,平均提高約0.036 9;Stacking平均絕對誤差為0.033 0,分別降低了0.010 0、0.015 4、0.019 1和0.016 6,平均降低0.013 0;Stacking均方根誤差為0.043 2,分別降低了0.011 3、0.017 5、0.009 1和0.017 4,平均降低0.013 8。即Stacking集成算法的擬合效果明顯好于其他單一模型,具有更高的精度。
Stacking的平均絕對百分比誤差為5.01%,對比于以上模型分別降低了1.59、2.56、1.32、3.11個百分點,平均降低約2.14個百分點;即與4個單一模型相比,Stacking集成效果最好。
同時利用其他集成學習框架及常用其他機器學習模型進行訓練和測試(表6)。對比于決策樹、Xgboost、Adaboost和Bagging模型,Stacking決定系數分別提高了0.042 6、0.051 0、0.030 1和0.042 9,平均提高約0.041 7;Stacking平均絕對誤差分別降低了0.011 9、0.016 2、0.009 9和0.012 4,平均降低約0.012 6,Stacking均方根誤差分別降低了0.027 8、0.018 5、0.011 6和0.015 9,平均降低約0.018 5。平均絕對百分比誤差也分別降低了2.09、2.73、2.71、2.08個百分點,平均降低約2.15個百分點。即相對于其他集成策略的模型,Stacking集成學習模型的精度均有較大提升,結果表現較好。

表6 與其他方法比較
為了驗證Stacking集成學習模型的魯棒性,利用不同年份采集的其他夏玉米數據集進行訓練和測試,實驗結果表明,相對于單一學習器,Stacking集成模型的平均絕對誤差平均降低約0.010 1,均方根誤差降低約0.010 1,絕對系數提高約0.049 9,平均絕對百分比誤差降低約1.21個百分點;相對于上述其他模型,Stacking集成模型的平均絕對誤差平均降低約0.010 9,均方根誤差降低約0.012 6,絕對系數提高約0.063 8,平均絕對百分比誤差降低約1.49個百分點。
(1)利用隨機森林算法與皮爾森相關系數相結合的方法簡單快速地對特征進行篩選,一方面說明植被指數在反演植被覆蓋度中具有重要作用,另一方面可考慮將其他的相關信息加入模型特征集合,以進一步提高模型精度。
(2)基于Stacking集成學習夏玉米覆蓋度估測模型結合了多種學習器的優勢,模型精度較高,僅從RMSE來看,模型誤差為0.043 2,即準確度可達95.68%;僅從MAE來看,模型誤差為0.033,即準確度可以達到96.70%;僅從MAPE來看,模型誤差為5.01%,即準確度可達94.99%。且模型擬合程度較好,R2達0.950 9,該模型集成了多種模型的思想,進一步提高了模型整體效果。