吳葉蘭 管慧寧 廉小親 于重重 廖 禺
(1.北京工商大學中國輕工業工業互聯網與大數據重點實驗室, 北京 100048;2.江西省農業科學院農業工程研究所, 南昌 330200)
柑橘在我國栽培面積廣泛,優良品種繁多[1],近10年來中國柑橘的產量漲幅達78%,已成為國內第一大水果。然而,柑橘在生長過程中容易受到病蟲藥害感染,嚴重影響柑橘的產量和質量??焖贉蚀_識別柑橘果樹所遭受的病蟲害種類,采取針對性的防治措施,對提高柑橘產量和品質,推動柑橘產業健康發展有著重要意義。傳統的柑橘病蟲藥害檢測方法主要有人工檢測法和病理分析法,存在主觀性強、成本高、破壞試樣、效率低等問題,已無法滿足科學研究和生產的需要。
高光譜成像技術具有圖譜合一、信息量大的特點[2-3],可快速、無損檢測樣品內部結構和外部特征,已在農業工程領域得到廣泛研究[4-8]?,F階段基于高光譜成像技術的植物病蟲害診斷模型大多使用傳統機器學習方法[9]。劉燕德等[10]以柑橘葉片為研究對象,結合極限學習機(Extreme learning machine,ELM)和最小二乘支持向量機(Least squares support vector machine,LS-SVM)構建柑桔黃龍病判別模型,可準確診斷柑橘黃龍病。鄧小玲等[11]為識別柑橘黃龍病植株,分別使用極限梯度提升樹(XGBoost)、邏輯回歸和SVM等機器學習算法搭建模型,識別準確率均在93%以上。吳葉蘭等[12]采用不同預處理和機器學習方法建模,實現了多種類柑橘病蟲害檢測,但除草劑危害和煤煙病葉片識別效果較差?,F有研究證明,高光譜技術是植物病蟲害檢測的有效手段,但大多采用傳統機器學習方法進行檢測,通常需要數據預處理與特征提取,依賴人工經驗,且特征提取后信息量有損失,導致模型精度難以提升。
深度學習是機器學習的分支,能有效提取復雜任務的高階非線性特征,解決復雜的模式識別問題[13],已在農作物目標檢測、產量預測、病蟲害識別及受害程度評估[14-17]中得到廣泛應用。ABDULRIDHA等[18]將神經網絡徑向基函數用于柑橘潰瘍病染病程度的檢測,得到不同階段染病葉片分級模型,結果表明,所建立的網絡模型性能優于SVM等機器學習方法。蘇鴻等[19]為提高柑橘重要病癥分類和病理檢測效率,采用區域卷積神經網絡對柑橘黃龍病、紅蜘蛛感染和潰瘍病等主要病癥圖像進行識別,平均識別準確率分別為95.30%、90.30%、99.10%。BARI等[20]使用Faster-RCNN對水稻患病葉片和健康葉片圖像進行檢測,識別準確率均在98%以上。黃敏等[21]利用高光譜成像技術和深度學習方法,建立了小麥種子品種識別的MS-3DCNN模型,識別準確率優于現有機器學習檢測方法。上述研究表明,采用高光譜技術結合深度學習[22]為多種類柑橘病蟲害識別提供了較好的理論基礎和可行性方案。
本文利用深度學習挖掘光譜信息的深層特征,結合高光譜成像技術提出一種融合注意力機制(Attention mechanism)的編碼器-解碼器(Encoder-Decoder)模型Att-BiGRU-RNN。編解碼器分別利用雙向門控循環單元(Bidirectional gate recurrent unit,BiGRU)和循環神經網絡(Recurrent neural network,RNN),處理光譜序列前后關聯波段的特征,簡化特征提取操作;引入注意力機制對每個光譜通道進行動態加權,加強重要光譜波段的權重,以提高不同種類葉片的分類精度,為多種類柑橘果樹病蟲藥害識別提供理論依據與技術支持。
實驗樣本采自江西省新余市柑橘果園,采摘時間分別為2019年2月、2020年10月、2022年3—4月,共759片葉片。其中,正常葉片102片、潰瘍病葉片115片、除草劑危害葉片156片、紅蜘蛛危害葉片121片、煤煙病葉片158片和缺素病葉片107片。
采用美國SOC公司的SOC710VP高光譜成像系統采集高光譜圖像,參數設置如下:光譜范圍為350~1 050 nm,光譜分辨率為1.3 nm,光譜波段數為128,鏡頭類型為C-Mount,焦距可調。選用4個12 V鹵素燈作為光源,亮度、角度可調。設定高光譜圖像采集曝光時間為150 ms,物距為57.6 cm,掃描速度30行/s,32 s/cube,原始圖像尺寸為696像素×520像素。圖1為6類柑橘葉片高光譜圖像樣例。
圖1 6類柑橘葉片高光譜圖像樣例Fig.1 Hyperspectral images of leaves of six citrus species
在ENVI中導入反射率.float文件,選擇受噪聲影響小的波長478~900 nm間(共81個波段)的高光譜圖像用于后續數據處理與分析,在葉片發病區提取5×5的感興趣區域(Region of interest, ROI),將每個像素點的反射率作為光譜信息,6類柑橘葉片共提取936個ROI,得到23 400×81的柑橘葉片光譜數據集,數據集每1行為1個像素點81個波段的光譜反射率值,共有23 400條樣本數據。
1.4.1柑橘葉片分類網絡模型構建
Encoder-Decoder模型最初用于自然語言處理,近年來被大量用于時間序列預測,是一種典型的序列到序列模型[23]。由于高光譜中不同波段的光譜信息本質上是一種序列數據,本文提出了Att-BiGRU-RNN柑橘葉片分類模型,網絡架構如圖2所示。編碼模塊采用BiGRU單元提取光譜序列X的特征信息,得到特征光譜序列ht;解碼模塊融合注意力機制,獲取不同波段光譜特征序列數據的動態權重,對編碼器各波段的隱藏狀態ht做加權平均,得到動態加權后的光譜特征序列,經過解碼器隱藏層RNN,輸出最終的特征序列S;最后經softmax函數得到預測標簽Y。
圖2 柑橘葉片分類網絡架構圖Fig.2 Citrus leaf classification network architecture
1.4.2編解碼模塊
雙向門控循環單元(Gated recurrent unit,GRU)[24]是一種帶有門控結構的RNN,內含更新門z和重置門r,這種門結構能夠在隱藏層中選擇性地傳遞信息,解決RNN中存在的梯度消失問題,同時克服短時記憶等缺陷,其計算過程為
zt=σ(Wzxt+Uzht′+bz)
(1)
rt=σ(Wrxt+Urht′+br)
(2)
(3)
(4)
式中W、U、b——GRU中更新門和重置門的參數矩陣和偏差,W∈Rk×n、U∈Rk×k、b∈Rk
xt——第t個波段的輸入光譜信息
⊙——Hadamard乘積運算
ht′——第t個波段的前一波段隱藏層狀態信息,計算正向隱藏輸出時為ht-1,計算反向隱藏輸出時為ht+1
zt——更新門向量rt——重置門向量
σ——Sigmoid激活函數
tanh——雙曲正切激活函數
在解碼模塊中,設計了融合注意力機制[25]的RNN結構。注意力機制的本質是對模型中特定部分進行重點關注并賦予高權重,提高重要光譜波段對分類模型的貢獻率,進而實現模型優化和性能提升。圖3為注意力機制結構,根據不同類柑橘病葉光譜信息在不同波段上光譜特征的差異性,注意力機制給每個光譜特征都輸出權值at,i,并自適應地給重要特征波段分配更高權重,提高重要光譜波段對分類模型的貢獻率。
圖3 注意力機制結構示意圖Fig.3 Structure diagram of attention mechanism
將圖3中ht和at,i對應相乘并累加求和,得到動態加權融合后的特征向量kt,經過解碼模塊的隱藏層,得到解碼模塊輸出st,最后經過分類器得到預測標簽Y。計算過程為
et,i=vTtanh(U1hi+U2st-1+bt)
(5)
(6)
(7)
ym=f(st)
(8)
式中et,i——第t個波段和第i個波段的隱藏層相關程度
v、U1、U2——注意力機制權重系數矩陣,v∈Rm、U1∈Rm×k、U2∈Rm×m
bt——偏置系數,bt∈Rm
at,i——編碼器第i個波段對解碼器第t個波段的注意力分配系數
n——光譜波段數
f——分類器softmax分類函數
ym——預測標簽
1.4.3實驗環境及模型評價
本文實驗網絡模型的處理器為Intel(R) Core(TM) i7-6800K CPU,頻率3.40 GHz,內存為16 GB,GPU為NVIDIA GeForce GTX 1080Ti,開發環境為Python 3.6,CUDA 10.0,Windows 10 64位操作系統。表1給出了Att-BiGRU-RNN編碼器解碼器模型網絡結構參數,在固定網絡結構參數的基礎上,使用自動機器學習(AutoML)開源工具包NNI(Neural network intelligence)尋求可變參數的最優值。選擇自適應矩估計(Adam)優化器作為梯度更新規則。
表1 Att-BiGRU-RNN模型網絡結構參數Tab.1 Att-BiGRU-RNN network structure parameters
實驗采用Pytorch深度學習框架,以構建的柑橘葉片高光譜數據集為基礎,按照訓練集和測試集的比例為7∶3劃分樣本集,對本文提出的網絡模型進行訓練及測試,繪制混淆矩陣,并計算反映模型性能的評價指標:準確率(Accuracy)和F1值(F1 score),F1值是精確率(Presion)和召回率(Recall)的加權平均,取值在0~1之間,值越大表明模型越好。每次實驗過程隨機重復5次,將5次實驗結果的平均值作為最終結果。
不同種類的柑橘葉片在各個波段范圍內對光的吸收和反射程度不同,在光譜曲線上呈現出有差異的波峰和波谷。6類葉片樣本的平均光譜曲線如圖4所示。曲線的總體走勢相似,不同類型病葉的吸收峰在相同的波長區間內。由于病蟲藥害對葉片表面顏色和葉綠素含量的影響,所以光譜曲線在波長500 nm和680 nm附近有2個強烈吸收帶,550 nm附近呈現一個反射率峰,720 nm后形成高反射率臺階,利用這些波段區間吸收峰峰值的差異可以診斷柑橘果樹所受脅迫狀態。
圖4 6類葉片平均光譜曲線Fig.4 Average spectral curve of six types of leaves
從圖4可以看出,在波長550~750 nm范圍內,除草劑危害葉片和煤煙病葉片的光譜曲線高度重合,極易造成模型誤判。圖5為經主成分分析后的光譜樣本分布散點圖,可以看出,6類葉片的光譜分布呈現出一定的聚類效果,其中除草劑危害和煤煙病葉片出現大范圍重疊。因此,僅通過光譜分析難以區分不同種類的柑橘病葉,需要進一步建立模型對多種類柑橘病葉進行精準識別。
圖5 6類葉片樣本分布Fig.5 Distribution of six types of leaf samples
設置RNN和BiRNN編碼器-解碼器模型的網絡結構參數與本文模型(Att-BiGRU-RNN)相同,分別建立Att-BiGRU-RNN、BiRNN和RNN的Encoder-Decoder模型,用損失值(Loss)和準確率的變化曲線評估模型性能。由圖6a可知,整個訓練過程中,Att-BiGRU-RNN振蕩幅度較小,曲線較平滑,在開始階段損失值衰減最快,迭代300次后,BiRNN和RNN模型的損失值趨于穩定,而Att-BiGRU-RNN模型的損失值仍有下降趨勢,經500次迭代后趨于穩定,收斂于0.08左右。由圖6b可知,在前150次迭代中,Att-BiGRU-RNN和BiRNN模型的準確率均高于RNN,經過150次迭代后,Att-BiGRU-RNN的準確率高于BiRNN模型,這是由于BiGRU可充分利用光譜序列前后關聯波段的光譜信息,注意力機制可以給關鍵波段分配較大權重,更好地提取了光譜的深層特征,因此,Att-BiGRU-RNN表現出了最佳性能。
圖6 訓練階段損失值和準確率曲線Fig.6 Loss and accuracy curves in training phase
Att-BiGRU-RNN在測試集上生成的混淆矩陣如圖7所示,分析可知,柑橘正常葉、潰瘍病葉、紅蜘蛛危害葉和缺素病葉分類準確率均高于98%。除草劑危害葉和煤煙病葉的分類準確率可達94%以上,優于傳統機器學習方法,但仍有部分葉片被錯分,說明所提深層光譜信息仍有相似性,后續研究需充分利用高光譜圖像的圖像特征信息,進一步提高2類葉片分類準確度。
圖7 本文模型在測試集上生成的混淆矩陣Fig.7 Confusion matrix generated by proposed model on test set
為客觀評估本文所提方法,基于相同數據集,綜合考慮模型總體分類準確率(Overall accuracy,OA)和F1值,將Att-BiGRU-RNN與深度學習模型VGG16和機器學習模型Origin-CARS-SVM、MF-FS-XGBoost的分類效果進行對比,結果如圖8和表2所示,其中Origin-CARS-SVM和MF-FS-XGBoost模型數據來源于文獻[12]。
表2 不同分類方法分類結果對比Tab.2 Comparison of classification results of different classification methods %
圖8 除草劑危害和煤煙病分類結果對比Fig.8 Comparison of classification results of herbicide harm and soot disease
分析可知,相較于機器學習模型SVM和XGBoost,Att-BiGRU-RNN對各類葉片的識別準確率均在94%以上,針對難以區分的除草劑危害和煤煙病葉片,準確率可提升14.31個百分點以上,最高可提升21.81個百分點,Att-BiGRU-RNN的OA最高可提升10.95個百分點,F1值最高可提升10.09個百分點,這是由于機器學習方法的特征提取依賴于人工經驗,模型分類效果主要由人工提取的淺層特征決定,這些特征不能有效表達光譜序列的關聯性和深層信息,使模型分類性能受到限制。深度學習方法不需要對光譜數據進行預處理,可提取深層光譜特征,具有更強的表征和泛化能力。將本文模型與VGG16相比,2種模型對正常葉、潰瘍病葉、紅蜘蛛危害葉和缺素病葉的準確率均在99%以上,但本文模型對于除草劑危害和煤煙病的識別效果明顯優于VGG16,總體識別準確率提高4.71個百分點,召回率提高4.86個百分點。這是因為高光譜數據本質上是一類序列數據,BiGRU適用于分析序列數據,避免了VGG16模型將光譜數據看作是無序高維向量進行處理的問題。
為進一步驗證注意力機制對各類葉片分類準確率的影響,本文進行了消融實驗。訓練集5次實驗結果的平均值如圖9所示??梢钥闯?,引入注意力機制后各類葉片的分類準確率和F1值均有提高。對于光譜曲線重合度較高的除草劑危害和煤煙病葉片,本文模型與RNN相比識別準確率分別提高25.78個百分點和13.19個百分點,與BiRNN相比識別準確率分別提高6.75個百分點和4.34個百分點,F1值也有相同程度提高。BiGRU適用于分析序列數據,可充分利用光譜序列前后關聯波段的光譜信息,促進梯度傳播,解決了RNN和BiRNN中存在的單向傳輸、梯度消失和短時記憶等問題。同時,注意力機制可以給關鍵波段分配較大權重,充分提取光譜信息的深層特征,提高光譜特征相似葉片的分類準確率,提升模型整體性能。
圖9 消融實驗對比結果Fig.9 Ablation experiment comparison results
(1)為解決機器學習方法建立柑橘病葉分類模型時,高光譜數據預處理過程復雜、未有效利用前后關聯波段光譜信息等問題,提出了Att-BiGRU-RNN模型,分別在編解碼模塊采用BiGRU和RNN對光譜序列信息進行處理,引入注意力機制,提高重要光譜波段對分類模型的貢獻率,模型總體分類準確率達98.21%,對各類葉片識別準確率均在94%以上。
(2)在模型中融合注意力機制,根據不同種類柑橘病葉光譜信息在不同波段上光譜特征的差異性,自適應地給重要光譜波段分配更高權重,提高重要光譜波段對分類模型的貢獻率。與VGG16、SVM、XGBoost相比,光譜曲線高度重合的除草劑危害和煤煙病葉片識別準確率得到顯著提升,Att-BiGRU-RNN模型綜合性能最優。
(3)針對卷積神經網絡難以處理光譜序列數據的問題,Att-BiGRU-RNN模型有效利用高光譜數據的序列性,充分提取光譜特征的深層信息,與VGG16相比總體識別準確率提高4.71個百分點。同時解決了傳統機器學習方法因人工特征工程導致的光譜特征相似葉片分類準確率難以提升的問題,總體識別準確率相較于SVM和XGBoost分別提高10.95個百分點和3.89個百分點。