楊振忠 方圣輝 彭 漪 龔 龑 王 東
(武漢大學 遙感信息工程學院,武漢 430079)
精準農業和智慧農業是農業發展的重要方向,農作物物候期識別是精準農業和智慧農業的重要應用[1]。它不僅可以幫助農田管理者及時規劃田間管理活動(如灌溉和施肥等),還可以為作物長勢評估及估產提供重要的時間參考[2-3],此外,長時間的物候期識別還可以從側面反映出環境變化的規律[4]。
水稻是我國的主要糧食作物之一,水稻的生育期監測是根據水稻生育過程中的形態變化,對各生長發育時期進行記載的過程,反映了水稻的生長狀態信息。根據水稻移栽之后在田間的生長形態,水稻生育期分為分蘗期、拔節孕穗期、抽穗揚花期和灌漿成熟期。其中,分蘗期主要以生長根、葉和分蘗等營養器官為主,是水稻一生中根系生長最旺盛和大量發展的時期;拔節孕穗期是水稻由營養生長轉化為生殖生長的過程;抽穗揚花期是指水稻完全發育的幼穗從劍葉鞘內伸出,然后開花授粉受精的過程;灌漿成熟期是指稻穗谷粒開始營養物質的積累,谷粒逐漸變硬,殼色由綠變黃的過程。
傳統的作物生育期觀測方法以野外實地觀察為主,直接在野外對個體或群體生育期進行觀測,這種方法具有客觀準確的特點;但是,該方法費時費力,無法滿足實時、快速的監測需求。遙感近實時、大面積和快速無損的優勢為農作物物候期識別提供了新的技術手段?;谶b感監測農作物的生育期,國內外學者做了大量的研究,常見的方法主要有以下幾種:1)植被指數閾值法,設定植被指數閾值作為生育期的節點,宋春橋等[5]利用動態閾值法提取了藏北高原過去10年間的植被物候信息;2)折點法,將濾波后的時序植被指數曲線的極值點或折點作為生育期節點,Sakamoto等[6]利用增強型植被指數的折點識別水稻的分蘗前期、抽穗期和收割期;3)求導法,對時序植被指數曲線求一階導或二階導,將一階導或二階導的極值點或折點作為生育期節點,孫華生等[7]利用增強型植被指數通過轉折點的方法識別水稻的移栽器和抽穗期,采用植被指數的相對變化閾值法判斷分蘗初期,采用最大變化斜率法識別成熟期;4)機器學習法,機器學習具有自主學習訓練、泛化能力強的特點,Almeida等[8]利用機器學習的分類算法,基于草原植被葉片的數字圖像檢測物候。
植被指數閾值法雖然計算準確,但是閾值存在適用性較差的缺陷;而折點法、求導法都是基于時序植被指數曲線實現的,主要存在2個缺陷:一是時間分辨率較低的數據通過插值的方法構建時間序列,無疑帶來一定的誤差;二是需要時序數據才能對生育期進行劃分,不能滿足實時監測的要求。
機器學習近年來被廣泛應用到分類問題中,也逐漸被用于農作物生育期識別。單一學習器算法包括K近鄰(KNN)[9]、決策樹[10]和支持向量機(SVM)[11],集成學習算法包括隨機森林(RF)[12]和梯度提升決策樹(Gradient boosted decision trees, GBDT)[13]?;谝陨戏治?,本研究首先以四波段輻射計獲取水稻每日冠層反射率為數據源,開展基于K近鄰、決策樹、支持向量機、隨機森林和梯度提升決策樹共5種機器學習方法的水稻生育期識別研究;然后將其推廣至無人機影像,評價模型的泛化能力,進而通過植被指數閾值的方法完善模型。本研究旨在通過地面高時間分辨率的光譜數據對水稻生育期的精準劃分,推廣應用至無人機數據,以期獲得不依賴時序數據針對不同平臺的水稻生育期識別模型。
研究區位于海南省陵水黎族自治縣文官村(110°03′35″E,18°31′47″N),如圖1,為武漢大學陵水多品種雜交水稻實驗基地中的部分試驗田。于2018年1月12日在試驗田不同小區移栽了不同品種水稻,小區面積約30 m2,行列間距40 cm,移栽密度為30萬株/hm2,于2018年4月30日收割,水稻品種為珞優9348、豐兩優4號。
試驗數據包括由四波段輻射計SKYE(SKR 1860, SKYE Instruments Ltd, Llandrindod Wells, UK)獲取的時序的水稻冠層多光譜反射率、由無人機(Unmanned aerial vehicle,UAV)搭載的多光譜相機獲取的水稻冠層多光譜影像,以及地面實地的水稻生育期觀測記錄。其中,SKYE數據用于水稻生育期識別的機器學習模型研究,UAV數據作為測試集,用于評估模型的泛化能力,實地生育期觀測記錄包括分蘗期、拔節孕穗期、抽穗揚花期和灌漿成熟期的實際觀測日期,作為模型訓練和精度評價的標簽。

圖1 研究區域地理位置
Fig.1 Geographical location of the study area
1.2.1SKYE四波段光譜數據
SKYE輻射計有上下2個,每個輻射計測量的4個光譜波段范圍是綠(530.6~569.2 nm)、紅(636.9~672.9 nm)、紅邊(705.8~729.6 nm)和近紅外(850.9~880.5 nm)。上方的輻射計鏡頭帶有余弦矯正器,能夠接收鏡頭上方180°半球的太陽光,對應測量太陽光在4個波段的下行輻照度。下面的輻射計鏡頭測量25°視角的上行輻照度,也就是植被的反射信息。共有3臺SKYE儀器,分別架設在試驗田的不同小區,其中2臺SKYE分別觀測珞優9348的2個施氮肥水平:120 kg/hm2(N120)和240 kg/hm2(N240),另一臺SKYE觀測豐兩優4號的一個施氮肥水平:120 kg/hm2(N120)。每臺SKYE架設高度約距離地面3 m,同時鏡頭指向南方向,保證在測量過程中不受支撐架和太陽能電池板的陰影干擾。3臺SKYE共采集了珞優9348(N120和N240)和豐兩優4號(N120)自1月13日—4月30日共108 d的水稻冠層光譜數據。
SKYE儀器配置安裝了太陽能電池板和蓄電池,能夠采集每一秒的數據,為了消除數據中由于輻照度快速變化和輻射計受污染物(鳥等)影響導致的擾動,4個光譜波段的輻射計響應設計為取30 min內的平均值,設置為每天7:30—18:30分觀測記錄數據。波段i為30 min內的反射率平均值,ρi為下方輻射計測量的上行的30 min輻亮度[RUW(λ)]和上方輻射計測量的下行的30 min輻照度[IDW(λ)]比值,計算式如式(1)。
ρi=[RUW(λ)×CCUW(λ)]/[IDW(λ)×CCDW(λ)]
(1)
式中:CCUW(λ)是在λ波段對于UW(mV)的校準系數,CCDW(λ)是對于DW(mV)的校準系數。
1.2.2UAV多光譜數據
本研究使用大疆創新科技有限公司生產的八旋翼無人機,搭載由12個微型相機組成的MCA相機(MCA12, Terracam Inc., Chatsworth, CA, USA)。相機的中心波長分別為800、490、520、550、570、670、680、700、720、850、900和950 nm,前10個波段每個波段的波段寬度均為10 nm,900 nm波段的波段寬度為20 nm,950 nm波段的波段寬度為40 nm。對MCA相機的鏡頭進行幾何校正,使得12個波段的多光譜影像位于同一坐標系,并消除影像的鏡頭畸變。利用地面標準反射板,采用線性模型對影像進行輻射定標,將影像的像元亮度值(Digital number,DN值)轉化成反射率[14]。在海南水稻試驗田獲取水稻在分蘗期(2018年2月2、7和20日)、拔節孕穗期(2018年3月3、18和25日)、抽穗期(2018年4月1日)和成熟期(2018年4月15和26日)的無人機多光譜影像,利用ENVI軟件在影像上對每塊小區避開邊緣隨機采集2個感興趣區域(Region of Interest,ROI),取每個ROI分別在550、670、720和850 nm的光譜均值作為模型的測試數據集,共計480條光譜數據。
SKYE輻射計觀測記錄了每天7:30—18:30的數據。當太陽的天頂角>70°時,由于更高的鏡面反射率對二向反射系數的貢獻,4個波段的冠層反射率會劇烈的變化,影響反射率的計算,因此需要選擇合適時間段的穩定的光譜反射率數據。按照SKYE數據預處理的慣用方法[15],統計發現冠層反射率在10:30—12:00 趨于穩定,因此,選擇每天10:30—12:00 的反射率作為4個波段冠層反射率的有效數據。在此基礎上,剔除儀器波動異常嚴重的數據,獲得用于機器學習建模的SKYE數據。在水稻完整的生育期內,不同生育期持續天數差別較大,所以不同生育期內的數據量不同,全生育期共 1 200 條光譜數據。
試驗整體設計方案如圖2所示,SKYE儀器只能監測獲取一塊田區的光譜,但是具有高時間分辨率的特點,適合進行生育期識別建模試驗,所以首先通過常見的5種機器學習算法對SKYE數據進行建模,對比分析5種算法模型的精度表現;而無人機拍攝多光譜影像具有范圍大,可輸出影像展示的優勢,適合模型推廣應用,所以進一步將SKYE數據建立的水稻生育期識別模型應用至UAV數據,評價模型算法對UAV數據適用性,如果適用性較差,在機器學習算法的基礎上,通過植被指數閾值的方法對容易混淆的生育期進行區分,最終獲得適用于UAV數據的水稻生育期識別模型。
試驗取SKYE每天10:30—12:00的各個波段的反射率中值作為當天的水稻冠層光譜反射率,根據實地生育期觀測的記錄進行不同時期的劃分,得到SKYE獲取的珞優9348(N240)水稻從分蘗期至灌漿成熟期間4個波段的每日反射率(圖3)。另外2個SKYE獲取的珞優9348(N120)和豐兩優4號(N120)的冠層反射率和變化趨勢與圖3接近。冠層反射率隨日期的變化反映出水稻不同生育期的特征。

圖2 水稻生育期識別研究試驗方案
Fig.2 Experimental plan of rice growth stage recognition

圖3 水稻生育期內每天反射率和冠層變化
Fig.3 Daily reflectance and canopy changes during the whole growing stage of rice
水稻在分蘗期初期時,秧苗小,冠層光譜特征與水接近,4個波段的反射率都較低,隨著水稻不斷分蘗,植株高,葉片增多增大,葉綠素和葉面積指數增加,光譜特征漸漸與植被更加接近,近紅外波段反射率不斷增加,紅邊波段反射率變化不大,綠波段和紅波段反射率在逐漸下降;在拔節孕穗期階段,水稻拔節長高,植株增大,冠層更加茂密,所以近紅外波段反射率略有升高,當水稻進入幼穗分化階段,從營養生長階段過渡到生殖生長階段,水稻葉片大小不會再有明顯變化,近紅外波段反射率略有下降,其他3個波段沒有明顯變化;水稻進入抽穗揚花期時,綠色的稻穗從劍葉的葉鞘中抽出,水稻冠層結構發生變化,對冠層結構比較敏感的紅邊波段反射率逐漸上升,綠波段和紅波段的反射率也有微弱的升高;水稻在抽穗揚花期經過授粉受精過程后,進入灌漿成熟期,稻穗逐漸成熟,逐漸向下彎曲,顏色由綠變黃,部分品種的水稻葉片也會變黃,近紅外波段反射率明顯下降,稻穗向下彎曲導致冠層結構明顯變化,所以紅邊波段反射率呈現上升趨勢,綠波段和紅波段的反射率都略微升高。水稻在不同生育期內4個波段的光譜反射率變化明顯,因此利用水稻生育期內4個波段的光譜反射率數據作為學習數據,探究利用機器學習方法識別水稻生育期的可行性。
基于KNN算法的分類是一種基于實例的學習,它不試圖構建一個通用的內部模型,而是簡單地存儲培訓數據的實例。KNN實際上利用訓練數據集對特征向量空間進行劃分,分類是由距離每個點最近的K個點的種類簡單多數投票計算出來的,也就是一個查詢點被分配到數據類中,這個類在最近的鄰居中擁有最多的代表。
分類決策樹模型是一種描述對實例進行分類的樹形結構。其本質上是從訓練數據集中歸納出一組分類規則,學習的算法通常是一個遞歸地選擇最優特征,并根據該特征對訓練數據進行分割,使得對各個子數據集有一個最好的分類的過程。遞歸結束的條件是直至所有訓練數據子集被基本正確分類或者沒有合適的特征為止。
SVM的基本模型是定義在特征空間上的間隔最大的線性分割器,支持向量機還包括核技巧,這使它成為實質上的非線性分類器,常見的核函數有多項式核函數(Polynomial kernel function)和徑向基核函數(Radial basis function, RBF)等。
隨機森林是在以決策樹為基學習器的基礎上構建的集成學習器,每個基學習器的訓練數據集是在總的訓練數據集中采樣獲得的,獲得若干個訓練數據子集,就對應得到數量相等的基學習器。此外,在決策樹的訓練過程中引入了隨機屬性選擇,當在樹的構造過程中分割一個節點時,所選擇的分割不再是所有特性中最好的分割,而是特性的隨機子集中的最佳分割。隨機森林簡單容易實現,計算開銷小,被譽為“代表集成學習技術水平的方法[16]。
GBDT是一種常見的Boosting算法。算法每次迭代都是在之前模型損失函數的梯度下降方向去建立新的決策樹模型,同時一步一步地修復殘差而靠近最優的模型,最后對弱分類器進行組合得到最終的模型,具有較好的泛化誤差。
將SKYE數據分為訓練集和驗證集,UAV數據作為測試集,基于K近鄰、決策樹、支持向量機、隨機森林和梯度提升決策樹5種機器學習算法,通過10折交叉驗證在訓練集中學習、在驗證集進行最優參數的選擇,通過測試集評估模型的泛化能力。如果模型對于測試集的精度較好,說明模型的泛化能力較好,能夠適用于UAV數據;如果精度較差,統計UAV數據在水稻各個生育期的植被指數的差異,在SKYE數據建立的機器學習水稻生育期識別模型的基礎上,通過植被指數閾值的方法區分在UAV數據識別過程中容易混淆的生育期。
試驗中使用的常見的4種植被指數包括歸一化差值植被指數(Normalized difference vegetation index,NDVI)、綠波段歸一化植被指數(Normalized difference vegetation index green,NDVIgreen)[17]、歸一化差值紅邊指數(Normalized difference red edge index, NDRE)[18]和可見光大氣修正指數(Visible atmospherically resistant index,VARI)[19],4種植被指數的計算方法見式(2)~(5)。
NDVI=(ρNIR-ρred)/(ρNIR+ρred)
(2)
NDVIgreen=(ρNIR-ρgreen)/(ρNIR+ρgreen)
(3)
NDRE=(ρrededge-ρred)/(ρrededge+ρred)
(4)
VARI=(ρgreen-ρred)/(ρgreen+ρred)
(5)
式中:ρNIR,ρred,ρgreen,ρrededge分別表示近紅外波段、紅波段、綠波段和紅邊波段的光譜反射率。
基于SKYE數據通過10折交叉驗證利用KNN、決策樹、SVM、RF和GBDT共5種算法進行學習訓練,在最優參數下,各個算法訓練結果見表1,幾種算法的水稻生育期識別精度比較接近,其中RF算法和GBDT算法識別水稻生育期精度最高,分別為93.00%和92.25%,決策樹算法的精度最低,為90.42%,把簡單的決策樹算法作為基學習器,通過集成學習,RF和GBDT算法的識別精度都得到了提升。

表1 基于SKYE數據的不同算法識別水稻生育期Table 1 Accuracy for recognizing rice growing stage using different classifier model and SKYE data
RF算法識別水稻生育期模型的混淆矩陣見表2,對水稻每個生育期的識別精度均超過70%,試驗建立的水稻生育期識別模型對分蘗期、拔節孕穗期和灌漿成熟期的識別精度較高,而對抽穗揚花期的識別精度偏低。拔節孕穗期和抽穗揚花期互相錯分的情況偏多,這主要是因為在抽穗過程是水稻稻穗從劍葉葉鞘中逐漸抽出,試驗中實地觀察以田間水稻10%抽出稻穗作為抽穗期開始,而剛剛抽出的綠色稻穗對水稻冠層光譜的影響較小,從而水稻在抽穗揚花期初期的冠層光譜與抽穗揚花期之前的冠層光譜相比沒有明顯變化,這一現象從圖4也可以看出,所以這2個時期混淆的情況較多,區分這2個生育期的主要特征波段為紅邊波段,紅邊波段對冠層結構比較敏感,在稻穗抽出后紅邊波段的反射率有逐漸增加的趨勢。原理較為簡單的KNN算法識別水稻生育期的精度表現同樣較好,其混淆矩陣見表3,與表2中展現出的拔節孕穗期和抽穗揚花期更容易互相錯分的情況一致。

表2 基于SKYE數據的RF水稻生育期識別混淆矩陣Table 2 Confusion matrix of rice growing stage recognition using SKYE data and RF algorithm
SKYE光譜數據具有時間分辨率高的特點,建立的生育期識別模型能夠精準的劃分水稻的生育期,但是相比于地面平臺采集數據,無人機獲取數據具有范圍大、方便省時、可輸出影像展示的優點,所以有必要將全部SKYE數據建立的水稻生育期識別機器學習模型推廣至UAV數據,評估模型的泛化能力,獲得能夠適用于UAV數據的水稻生育期識別模型。本研究利用以上算法模型對SKYE全部數據進行訓練,然后利用UAV數據進行測試,不同算法的精度如表4所示。試驗結果表明SVM算法的精度最差,對于無人機平臺數據適用性較差,而KNN算法的表現仍舊較好,精度達到了83.54%,優于其他的幾個算法的表現。通過全部SKYE數據建立的KNN模型對UAV數據識別的混淆矩陣見表5。結果表明,模型對水稻分蘗期和灌漿成熟期的識別準確率非常高,沒有出現混淆的情況,而把抽穗揚花期大部分的數據錯誤地識別為拔節孕穗期。其主要原因有2點:一是水稻抽穗揚花期的冠層光譜與拔節孕穗期相似,不容易區分;另一個原因是2種儀器的傳感器觀測原理不同,同時無人機搭載的多光譜相機的波段范圍和中心波長與SKYE的也不完全一致,所以UAV端的光譜數據與SKYE的光譜數據存在差異。同時,GBDT算法對UAV數據的識別精度也較高,其生育期識別混淆矩陣見表6,錯誤識別的情況相對KNN算法較為復雜,不能依靠單一植被指數進行區分。

表3 基于SKYE數據的KNN水稻生育期識別混淆矩陣Table 3 Confusion matrix of rice growing stage recognition using SKYE data and KNN algorithm

表4 基于UAV數據的不同算法水稻生育期識別Table 4 Accuracy for recognizing rice growing stage using different model and aerial-collected data

表5 基于UAV數據的KNN水稻生育期識別混淆矩陣Table 5 Confusion matrix of KNN algorithm recognizing rice growing stage using aerial-collected data

表6 基于UAV數據的GBDT水稻生育期識別混淆矩陣Table 6 Confusion matrix of GBDT algorithm recognizing rice growing stage using aerial-collected data
雖然水稻在拔節孕穗期和抽穗揚花期的冠層光譜特征較為相似,但是在數值上還是存在差別,在抽穗揚花期,綠波段、紅波段和紅邊波段的冠層反射率逐漸升高。統計UAV數據中水稻在拔節孕穗期和抽穗揚花器的各個指數數值的頻率分布,如圖4所示,結果表明VARI的頻率分布在2個時期具有較好的區分,在水稻的拔節孕穗期有超過90%的VARI>0.73,同時水稻在抽穗揚花期有超過70%的VARI<0.73,于是選定VARI=0.73作為區分水稻拔節孕穗期和抽穗揚花期的閾值,當VARI≥0.73時,認為水稻處于拔節孕穗期;當VARI<0.73時,認為水稻處于抽穗揚花期。
圖4 水稻4種植被指數在2個生育期的頻率分布圖
Fig.4 Frequency distribution of rice four kinds of vegetation index in two growing stages
結合了植被指數VARI的KNN算法對UAV數據的水稻生育期識別混淆矩陣見表7,對比表5發現對水稻抽穗揚花期的識別更加準確,大幅度提高了抽穗揚花期識別的用戶精度,但是使用閾值方法使得拔節孕穗期被錯誤的識別為抽穗揚花期的數據少量的增加,整體來看,KNN算法結合VARI對UAV數據的識別精度達到了86.04%。相比于單獨使用KNN算法對各個生育期的識別精度更加均衡。

表7 基于UAV數據的KNN結合VARI 水稻生育期識別混淆矩陣Table 7 Confusion matrix of KNN combined with VARI recognizing rice growing stage using aerial-collected data
利用機器學習方法識別水稻生育期,基于高時間分辨率的SKYE數據建立了識別水稻生育期的機器學習模型,并將其推廣應用于無人機影像以評價模型的泛化能力。結果表明:各機器學習方法對于SKYE數據均具有較好的識別精度,其中KNN算法精度為91.92%。將其推廣至無人機時,KNN算法的適應性最好,識別準確率為83.54%,但容易將抽穗揚花期誤識別為拔節孕穗期;進而提出了一種KNN算法結合VARI閾值篩選的方法進行無人機平臺的水稻生育期識別,改進后識別準確率為86.04%,相比單獨的KNN算法整體識別精度略有提高,同時對各個生育期的識別精度更加均衡。
本研究基于綠、紅、紅邊、近紅外的冠層光譜反射率數據,最終獲得了針對SKYE平臺的KNN水稻生育期識別模型,以及針對UAV平臺的KNN結合VARI閾值的水稻生育期識別模型,能夠不依賴時序光譜數據識別水稻的關鍵生育期。提出的水稻生育期識別模型能夠輔助精準農業,為水稻的田間管理、長勢評估和估產提供參考依據??蛇M一步將本研究提出的生育期識別模型推廣應用至衛星影像,評估模型泛化能力,獲取大面積水稻的生育期信息,探索更大尺度的農作物物候,有助于分析大范圍內物候的時間波動特征。