何雨霜,王琢,王湘平,肖進,羅友誼,張俊峰
(武漢市農業科學院,武漢市,430345)
農作物病害識別是農業生產活動中的一個重要環節,病害識別的時效性和準確性將直接影響農作物后期的安全。原始的病害檢測方法主要依賴于人類肉眼識別,這意味著觀察員需要具備豐富的農業知識和充沛的體力,才能在大面積農場中準確并及時地判斷出不同種類農作物所患有的不同類型病害,由于專業人才少、種植面積大、種植地形崎嶇等客觀因素的存在,這種高成本低收益的方法,并不適合在全國范圍內進行大規模推廣。
隨著圖像識別技術在各行各業的成功應用,基于機器視覺的農作物病害圖像識別方法得到了越來越多的學者們的青睞,并逐漸取代了原始的人眼識別方法,該方法通過對人工或者機器拍攝得到的農作物圖像進行判斷以確定作物是否患病,具備可移植性強、時效性高、準確率高、成本低、使用簡單等眾多優點。根據使用方法的不同,現有的技術主要可以分為兩種:基于傳統機器學習算法的病害識別和基于深度學習的病害識別,傳統機器學習算法的局限性較大,其模型性能嚴重依賴于人工設計特征的好壞,難以在復雜的真實自然環境中取得良好的檢測結果[1-3]。在互聯網大數據的加持下,基于深度學習的農作物病害識別方法在性能上遠優于傳統機器學習方法,是當前的研究熱點,具有非常高的研究價值和廣闊的應用前景。
因此,本文著眼于深度學習在農作物病害識別中的應用,對深度學習相關知識進行了簡要概述,并介紹了近年來相關研究工作的進展,指出了運用深度學習的病害識別方法所面臨的主要挑戰,提出了可能的解決方案,對未來的發展方向進行了展望。
深度學習這一概念最早于2006年由Hinton等[4]提出,其核心思想是通過構建一個具有多層隱藏層的神經網絡來處理海量的訓練數據,以實現對數據本質特征的提取,從而提升模型檢測或分類性能。伴隨著各種存儲設備和GPU的迭代升級,計算機的數據存儲和處理能力得到增強,極大地推動了深度學習的發展。目前,深度學習技術廣泛地應用計算機視覺、推薦系統、自然語言處理以及語音識別等眾多領域,尤其是在計算機視覺領域取得了相當優異的成果,例如隨處可見的人臉識別、車牌檢測、文字識別、圖文互搜等應用場景。
近年來,在眾多研究者的努力下涌現出了一大批優秀的基于深度學習方法的神經網絡模型,包括深度信念網絡(DBN)[5]、深度玻爾茲曼機(DBM)[6]、卷積神經網絡(CNN)[7]、循環神經網絡(RNN)[8]、生成式對抗網絡(GAN)[9]和膠囊網絡(CapsNet)[10]等。其中,卷積神經網絡是當前最常使用的深度模型之一,具備局部感知和權值共享兩大特點,這也使得卷積神經網絡相較于其他網絡更適合于處理圖像數據,在圖像識別問題上使用十分廣泛。如圖1所示是使用卷積神經網絡識別農作物病害的網絡結構,從圖中可知,卷積神經網絡由輸入層、卷積層、池化層、全連接層和Softmax層五種結構所組成。一張農作物病害圖像經由輸入層輸入后,通過多層卷積和池化操作,由淺層提取出諸如圖像顏色、邊緣等簡單特征,再由后續的深層提取出圖像幾何、語義等復雜的抽象特征,最后由全連接層和Softmax層完成分類功能,實現對作物患病類型的判斷。

圖1 CNN網絡結構圖
眾所周知,深度學習模型普遍通過建立復雜的網絡結構以實現強大的特征學習能力。幾種常用的卷積神經網絡,如VGG[11]、GooLeNet[12]、ResNet[13]和DenseNet[14]等,均包含數十甚至數百層的隱藏層,這意味著需要有足夠多的樣本才能滿足這些深度模型的訓練需求。而農作物病害圖像識別領域面臨著數據量不足的挑戰,在數據采集階段,由于作物生長具有季節性、病害發生具有不確定性等因素的影響,使得采集特定的農作物病害圖像十分困難。在數據處理階段,需要對采集到的大量圖片進行病害類型標記,有些甚至還要詳細地標注出每個病害所發生的準確位置,這是一件非常耗時費錢的工作,并且對標注人員的專業水平要求很高,其必須對不同病害所呈現出的不同特征表現有著充分的了解。
本文調研了多個相關論文和比賽,整理出一些當前公開可用的數據集以供后續研究參考,如表1所示。PlantVillage數據集由Hughes等[15]建立,是當前使用最為廣泛的一個大型植物病害數據集[16-19],該數據集總計有超50 000張的健康或患病植物圖片,涵蓋了14種不同的作物,其中患病樣本包含17種真菌性疾病、4種細菌性疾病、2種病毒性疾病、2種霉菌性疾病和1種由螨蟲導致的疾病。Wiesner-Hanks等[20]針對玉米葉面常見的北方葉枯萎病(NLB)建立了一個玉米田間圖像數據集,是目前為止最大的單一植物疾病公開圖像數據集,研究人員在接種了NLB致病原菌的玉米試驗田中進行數據采集,然后由專家對采集得到的病害圖像進行注釋,總共采集圖片18 222張,標注NLB病變區域105 705個。Singh等[21]發布的一個真實場景下的數據集PlantDoc,總共包含13種植物和多達17種疾病的圖像數據2 598張。Barbedo等[22]建立的PDDB數據庫總計有涉及21種植物的171種疾病的樣本圖像2 326張。在此基礎上,Barbedo根據特定標準對每個圖像進行了細分,將圖像數量擴增至46 513張,這個細分后的數據庫稱為XDB。Prajapati等[23]建立的一個非常小的水稻病害數據集,包含細菌性葉枯病、褐斑病和葉黑穗病三種疾病,每種疾病僅對應有40張樣本圖像。Thapa等[24]在各種不同的拍攝角度、照明、表面和噪聲條件下進行采集,總計3 651張蘋果葉部病害圖像,其中包含1 200張蘋果瘡痂病、1 399張雪松蘋果銹病、187張復雜疾病(即同一葉片上存在一種以上的病害類型)和865張健康葉片。

表1 農作物病害識別公開數據集Tab. 1 Public datasets for crop diseases identification
一些比賽和網站來源的數據集:在2018年舉辦的AI Challenger 2018全球AI挑戰賽中提供了一個大型的多類別農作物病害數據集,其樣本由PlantVillage數據集中的圖像和一些來自真實場景的圖片所構成,標注圖片50 000張,涵蓋10個物種,10個健康類型,27種病害,其中有24種病害又被細分為一般和嚴重兩種病害程度,根據物種、疾病及其發生的嚴重程度來區分,總計有61個不同類別。農業病蟲害研究圖庫(IDADP)是由中國科學院合肥智能機械研究所牽頭、聯合多個其他研究所建立的一個數據庫,整合了大量的農業病蟲害圖像資源,涉及范圍廣泛,包含谷類、豆類、纖維類、蔬菜和果樹等。
本章節對近年來基于深度學習的農作物病害圖像識別方法進行了概述,根據訓練樣本采集環境的不同,可以將這些方法分為兩類:實驗室環境和野外環境下的農作物病害識別。由于卷積神經網絡在圖像識別問題上具有天然優勢,絕大多數的方法都是基于卷積神經網絡或其變種實現的,本文也主要關注于卷積神經網絡相關的識別方法。
龍滿生等[25]采集了藻斑病、軟腐病、煤污病、黃化病和健康葉總計5類的油茶葉片樣本,并將采集的樣本放置于光照充足的室內環境的白色背景下進行拍攝,得到每一類樣本750張,利用遷移學習中的參數遷移方法對AlexNet模型進行訓練以實現油茶葉片病害的自動識別,從學習率、正則化、數據擴充和遷移學習四個方面出發,分別測試每項參數對模型性能的影響,在最優的參數選擇下,模型的分類準確率高達96.53%。Karlekar等[26]基于深度學習技術提出一種用于復雜背景下的大豆葉片病害識別方法,所用的大豆樣本總共有16類,包含14種大豆常見病害、健康葉片及未知種類,針對數據特點,研究者設計了一個圖像處理模塊(IPM),其目的是在訓練CNN網絡前減去圖像中的復雜背景,從而分割出葉子部分,然后將分離出的葉片圖像輸入至由6個卷積層、6個池化層和2個完全連接層組成的SoyNet網絡中進行訓練,模型的識別準確率為98.14%。Liang等[27]基于卷積神經網絡建立了一個植物葉病多功能分類診斷系統,可以同時識別植物物種、分類疾病類型和估計疾病嚴重程度,該系統以ResNet50網絡作為基礎結構,利用ShuffleNet單元提取不同植物種類和疾病的特征圖,再使用3個并列的全連接層結合Softmax函數分別對植物種類、疾病和嚴重程度進行分類,最后在45類植物疾病嚴重程度估計,27種不同的植物疾病分類和9種植物物種識別的實驗中分別取得了91%,98%和99%的總體準確率。
除了上述方法外,對現有深度學習模型的網絡架構進行改進與創新也可以提升病害識別的精度。楊國亮等[28]提出了一種新的可學習的多參數的激活函數——參數指數非線性單元(Parametric Exponential Non-Linear Units, PENLU)來替代原殘差網絡中所使用的ReLU激活函數,用以識別臍橙葉片病變、缺素、正常及非此類物種4種類型病害,PENLU具有左側軟飽和,右側不飽和且參數可調的性質,可以有效地緩解ReLU在訓練過程中常出現的神經元死亡現象,多次實驗結果表明,在相同的訓練條件下,使用PENLU的模型精度相較于其他激活函數(ReLU、PReLU和ELU)更高,模型的識別準確率可達到98.86%。Hassan等[29]使用深度可分離卷積替代原始CNN模型中的標準卷積操作,有效地減少了參數量,降低了計算復雜度,在公開數據集PlantVillage上進行訓練,所使用的InceptionV3,InceptionResNetV2,MobileNetV2和EfficientNetB0模型分別取得了98.42%,99.11%,97.02%和99.56%的識別準確率,與其他深度學習方法相比,該方法所需訓練時間更少,準確率更高。
綜合文獻可以看出,上述研究均取得了突出的病害識別效果,每種方法的優缺點對比如表2所示。

表2 實驗室環境下常用方法的優缺點比較Tab. 2 Comparison of advantages and disadvantages of common methods in laboratory environment
除表中所提及的缺點之外,這些方法存在著一個共同的局限性,正如Mohanty等[30]在研究中所提到的,盡管使用深度卷積神經網絡可以在PlantVillage數據集上取得高達99.35%的識別準確率,但在測試一組來自野外環境的圖像時,模型的表現非常差,準確率驟減,僅略高于31%。這是因為這些研究所使用的樣本數據基本上都拍攝于受控的實驗室環境,在此環境下得到的樣本通常具備充足的照明、簡單統一的背景和同一個拍攝角度等精心設計的條件,再經過農藝專家篩選和標注后,樣本呈現出的病害特征也會更明顯。事實上,在野外環境中采集的圖像非常復雜。受環境地點、天氣狀況和拍攝角度等眾多不可控因素的影響,這些樣本多存在光照不均、陰影遮擋、葉片重疊和背景復雜的情況,這都給農作物病害圖像識別帶來了巨大的挑戰。所以在實驗室條件下訓練得到的深度識別模型,并不適用于野外環境,也不能真正意義上的滿足農戶們的生產需求。
對于野外環境下的農作物病害識別問題,圖像樣本背景更復雜,識別難度更大,需要有大量的樣本數據才能訓練出一個優秀的深度學習病害識別模型,這是一項更具挑戰性的任務,也已成為目前的研究熱點。根據任務解決思路的不同,主要分為以下幾種方法:遷移學習、生成式對抗網絡、注意力機制和一些其他方法。
遷移學習[31]是深度學習領域最常用的方法之一,其原理很簡單,指將處理源領域中的A任務時所學習到的知識遷移至另一個相關但不同的目標領域的B任務中,它可以充分利用源領域大型數據集中的知識來優化目標領域中的任務,減少深度模型對目標領域數據量的需求,減少訓練時間和計算成本,提升泛化性能,在農作物病害識別領域常被用于解決野外環境下采集的病害圖像數據量不足的問題。許景輝等[32]為識別復雜田間背景下玉米常見的大斑病和銹病2種病害,自行搜集建立了一個圖片數量總計為600幅的田間玉米病害數據集,使用遷移學習將事先在ImageNet圖像數據集訓練好的VGG-16模型的卷積層遷移到自己的模型中,最終取得95.33%的平均識別準確率。類似的,陳桂芬等[33]和燕斌等[34]都是使用事先在ImageNet數據集上訓練好的具有良好圖像特征提取能力的Inception V3模型,并保留Inception V3模型中所有卷積層的參數來作為自己模型的特征提取部分,提取出的特征被輸入至一個全新的全連接層,然后僅對全連接層進行參數更新訓練,從而得到對應的農作物病害識別結果。
除此之外,隨著GAN網絡在圖像生成領域的不斷成熟[35-37],其生成的圖像可以達到以假亂真的效果。因此,有部分學者嘗試利用GAN網絡生成新病害圖像,以此滿足深度神經網絡對數據量的需求。Tian等[38]利用密集連接神經網絡(DenseNet)對原始YOLO-V3模型進行優化以減少由多次卷積和降采樣等操作所導致的特征損失問題,針對自然場景下由發病率低而造成的蘋果表面炭疽類病變樣本采集不足的問題,使用CycleGAN在健康蘋果圖像的基礎上生成不同大小、形狀和數量的新的患病蘋果圖像以擴充圖像數據集,實現數據增強,豐富數據的多樣性。盡管CycleGAN方法可以生成新的病變樣本,但實際能帶來的提升效果是有限的,因為其生成的圖像分布接近于原始訓練數據。此外,原始的CycleGAN更傾向于將整幅圖像從源域轉換到目標域,而不是圖像中的某個特定對象,如葉片、果實等,因此,使用該方法生成的圖像質量低、真實性差,不像自然環境下拍攝的圖片。為此,Cap等[39]以CycleGAN為基礎進行改進,提出了一種專門用于植物病害數據增強的圖像生成網絡—LeafGAN,與CycleGAN最大的不同之處在于,LeafGAN中引入了一個新的由弱監督分割網絡組成的無標簽葉片分割模塊,無需昂貴的掩碼標簽數據即可從背景中分割出感興趣區域,類似于注意力機制,該模塊在訓練期間為LeafGAN提供指導,引導模型在進行圖像轉換時關注于葉片區域,同時保留原背景信息,從而生成更真實的高質量圖像,5類黃瓜分類實驗結果表明,使用原始CycleGAN的平均分類準確率僅比baseline提高了0.7%,而LeafGAN將平均分類準確率提升了7.4%,相比之下,LeafGAN更有助于提高模型的泛化能力。
受注意力機制[40]的啟發,Zeng等[41]從特征提取的角度進行改進,提出了一種基于自注意力的卷積神經網絡(SACNN)以解決實際環境下復雜背景的干擾問題,該網絡由一個基本的CNN網絡和一個自注意網絡所組成,分別用于提取圖像的全局特征和病變區域的局部特征,在公共數據集MK-D2和數據集AES-CD9214上的實驗表明,SACNN較其他方法的識別精度更高,抗干擾能力和魯棒性更強,說明引入的自注意力機制使得模型更關注于葉片樣本中的重點區域,能提取更具魯棒性的病斑區域局部特征,從而提升作物病害識別準確率,在此基礎上,還進一步探討了自注意網絡的位置、通道大小和網絡數量對模型性能的影響。Chen等[42]在網絡中使用了結合注意力機制的跳躍連接操作,利用位置注意模塊和通道注意模塊兩種不同的方法,同時添加位置增強和通道增強特征,并采取消融實驗對注意力機制的有效性進行驗證,實驗結果顯示,消融模型的準確率明顯低于初始模型,這說明注意塊的使用有助于處理上下文語義信息和空間信息,能更充分地利用可區分特征,適用于復雜背景下的農作物病害識別。
除了上述常用的幾類方法外,學者們也在嘗試一些其他方法。曹英麗等[43]在不同的水稻品種、不同的施氮水平、不同的水稻生長時期以及不同的天氣條件下共采集了900張水稻紋枯病的植株圖像,綜合借鑒YOLO和Faster R-CNN兩種目標檢測算法的優勢,提出了用于水稻紋枯病檢測的YRSNET網絡,經過多次訓練后,取得84.97%的平均精度和90.21%的查準率,可以準確地輸出含有紋枯病病斑的最佳邊界框,對于一張大小為450×800像素的圖像,其平均檢測時長僅32.26 ms,可以達到實時檢測的需求。為解決田間真實樣本中常存在的光照不均問題,陳善雄等[44]采取余弦相似度計算方法來代替常規卷積運算中所使用的點積計算方法,使用余弦相似度方法所得到的不同光照條件下的特征圖無明顯的光照明暗分界線,色調也更均衡,相較于傳統點積計算方法,基于余弦相似度卷積計算的網絡的收斂速度更快,平均準確率更高,提升了4.14%。為減少背景的負面影響,Saikawa等[45]提出了一種抗過擬合預處理(AOP)的方法,用于在訓練疾病分類網絡前對樣本中的感興趣區域(ROI)進行檢測,從而去除圖片背景,這是一種精細的像素級分割,在5萬多幅真實黃瓜葉片圖像上進行實驗,結果顯示對于包含7類黃瓜病害和健康葉片總計8類的識別任務,引入AOP后模型的識別準確率平均提升了12.2%。劉闐宇等[46]使用目標檢測的方法實現6種葡萄葉片病害的定位和識別,以經典的目標檢測算法Faster R-CNN作為基礎網絡結構,對其原始的區域建議網絡進行優化改進以獲取更緊致貼合的邊界框,從而提升區域建議的質量,實驗結果表明,相較于直接對初始圖像進行檢測,該方法的性能更優,更適用于自然環境下的葡萄葉片病害檢測。野外環境下常用方法的優缺點對比如表3所示。

表3 野外環境下常用方法的優缺點比較Tab. 3 Comparison of the advantages and disadvantages of common methods in field environment
綜上所述,對于農作物病害圖像識別問題,無論是在簡單的實驗室環境還是復雜的野外環境下,各種精心設計的深度模型均已取得了可觀的識別準確率,但真正運用于生產實踐中的卻少之又少,其主要存在有以下幾個方面的問題。
深度學習方法的使用導致對訓練數據量的需求激增,盡管已有一些公開的大型病害數據集如PlantVillage、AI Challenger等,但這些數據集的圖像基本拍攝于受控的實驗室環境,采集難度低、樣本簡單且病害特征突出,在這類數據集上訓練出的模型并不能精準地識別出野外環境中的病害。對于野外環境病害識別任務,目前仍舊缺少大規模、多種類、多類型的公開病害數據庫,研究者們要么自行去田間采集,要么搜集互聯網上的圖片資源,導致數據集的質量參差不齊,且這些數據集往往不對外公開,不利于對不同深度模型的優缺點進行客觀比較,也很難在原模型的基礎上進行優化升級。在野外環境下采集大規模的病害樣本是非常困難的,首先,病害的發生具有隨機性,伴隨著農藥的大規模使用導致病害發生的概率變得更低。其次,不同類型的疾病發生的時期不同,同一疾病在不同的生長階段、不同的發病部位表現出的病害特征也不同,這意味著建立一個全面且多樣性強的野外數據集需要投入大量的人力對作物生長的全過程進行監測并及時拍攝,顯然這是不切實際的。最后,病害還具有地區性差異,不同地區的病害表現可能也會有所不同。
從自身任務特性出發,不同于常見的圖像分類任務,農作物病害圖像之間的差異多體現在細微的局部區域,這主要是由以下幾點原因所造成的:不同類型的疾病所呈現出的病害表現可能相同或者差異很??;病斑面積小,往往只占據葉片中較小的區域;病斑與圖像背景的對比度小,有的甚至用肉眼都難以分辨;縱觀近年來的相關研究會發現他們的識別對象主要是單一葉片上的單一病害,對于多種不同病害共生于同一葉片的情況,識別難度非常大,目前鮮少有人涉足。除了這些病害圖像本身所具備的難點外,由于野外天氣的不確定性和人為因素等原因的影響,采集到的真實病害樣本往往存在光照不均、葉片重疊、陰影遮擋、角度變換、雜物干擾等一系列噪聲,給病害識別帶來極大的挑戰。
為了捕捉不同疾病間的細微差異,達到提升模型病害識別準確率的目的,一種簡單且常用的方法是使用更深的卷積神經網絡來提取圖像特征,更深的網絡層數意味著提取到的特征更抽象,也更具有語義信息,但計算成本和訓練成本也隨之增加,導致模型難以滿足手持移動設備下的實時檢測識別需求。如何對現有模型進行優化升級,在模型性能和實時性之間取得一個合理的平衡點是未來亟待解決的問題。
深度學習作為人工智能的核心技術,是發展智慧農業所必需的關鍵驅動力,對于推動農業農村高質量、現代化發展有著舉足輕重的作用,具有非常廣闊的發展前景。
生成式對抗網絡通常由兩個部分所組成,一個是生成器,另一個是判別器。生成器的作用是利用輸入的隨機噪聲生成以假亂真的圖像,用以欺騙判別器,相應地,判別器的作用是分辨圖像的真假,判斷輸入樣本是生成器生成的“假”圖像還是來自訓練集的“真”圖像,對生成器和判別器采用交替訓練的策略,在相互博弈的狀態下兩個模型的性能同時得到增強,生成器所生成的“假”圖像也更接近于真實圖像。在未來的工作中,針對農作物病害數據樣本量不足的問題,可以考慮采用生成式對抗網絡的方法合成新的野外病害圖像,該方法從數據增強的角度有效解決了數據量不足、各類別樣本數據不平衡等問題。除此之外,還要加強與其他國家和地區的科研院所、企業、種植基地的溝通交流,協作打造農作物種類覆蓋廣、疾病類型多的病害試驗基地,實現資源共享,助力大規模、多種類、多類型病害數據庫的建立。
結合注意力機制、目標檢測算法和ROI分割等方法的優點,對現有的深度學習模型進行優化,設計出符合農作物病害圖像識別任務特點的高性能模型,該模型不僅需要具備強魯棒性和強抗干擾性,能夠有效地解決樣本背景復雜、光照明暗變化明顯、病變區域面積小等問題,還應具備通用性,能夠適用于不同農作物種類、不同疾病類型、不同病害嚴重程度的識別。此外,模型網絡結構的簡潔性也是不可忽視的重點改進方向,在保證模型精度的前提下,進一步對模型網絡進行簡化,減少參數冗余,降低計算復雜度,提升模型效率,達到實時識別的目標。
相較于原始的人眼識別和傳統的機器學習方法,基于深度學習實現農作物病害圖像識別無疑是未來的研究重點,但其面臨著多重挑戰,諸如數據樣本不平衡、數據量不足、光照不均、明暗變化明顯、野外真實圖像背景復雜、病斑特征遮擋嚴重等。未來的研究目標應該著眼于模型在真實野外環境下的實用性問題,建立大規模、多種類、多類型病害數據庫,開發便于部署在移動便攜設備和農業機械設備上的高性能模型,真正地將研究成果應用于生產實踐,幫助農戶快速識別病害,減少損失,這對于保障民生、促進農業綠色可持續發展具有重要意義。