doi:10.15889/j.issn.1002-1302.2024.20.027
摘要:針對圖像背景噪聲干擾大、有限標注信息利用不充分所導致的對玉米葉片病蟲害目標檢測效果不佳的問題,利用支持分支和查詢分支的雙分支網絡構建了一種基于原型自適應對齊網絡的小樣本玉米病蟲害檢測方法。該方法首先對傳統的VGG-16網絡進行改進,并在玉米病蟲害檢測數據集上進行微調,增強模型對特定任務的泛化性能;其次,利用交叉注意力機制建立雙分支間信息的交互,挖掘分支間的共有語義;再次,借助支持圖片的真實掩碼將交互特征細粒度的分離為支持前景和背景,并在前景和背景特征上生成前景指導原型和背景輔助原型;最后,通過計算查詢混合特征和每一原型的相似度值,并根據相似度值給出預測結果。在自建的玉米病蟲害檢測數據集上進行測試,所提出方法的精準率、召回率、F1和交并比(IoU)分別達到96.49%、96.03%、96.50%和83.19%,此外前景和背景的二分類評價指標前景背景交并比(FB-IoU)也達到93.62%,結果驗證了本研究方法的優(yōu)越性。
關鍵詞:玉米;病蟲害;小樣本;自適應對齊;原型;交互特征;雙分支網絡
中圖分類號:TP391.41;S126" 文獻標志碼:A
文章編號:1002-1302(2024)20-0228-08
收稿日期:2024-07-15
基金項目:河南省高等學校重點科研項目(編號:22B520039);河南省本科高校研究性教學改革研究與實踐項目(編號:2022SYJXLX134);河南省本科高等學校智慧教學專項研究項目(編號:83)。
作者簡介:郝惠惠 (1989—),女,河南開封人,碩士,講師,主要從事農業(yè)信息化研究。E-mail:haohuhui@163.com。
玉米作為全球主要糧食作物之一,其產量和品質直接關系到糧食安全和農業(yè)經濟的可持續(xù)發(fā)展。然而,玉米葉片病蟲害嚴重威脅著玉米的健康生長和產量,每年造成的經濟損失巨大[1-2]。據統計,全球因玉米病蟲害導致的產量損失高達20%~30%,在某些嚴重發(fā)病年份甚至可達50%以上[3]。因此,及時、準確地檢測和識別玉米葉片病蟲害對于制定有效的防控措施、減少經濟損失具有重要的意義。
傳統的病蟲害檢測方法主要依賴于農業(yè)專家的經驗判斷,這不僅耗時耗力,而且在面對大規(guī)模種植區(qū)域時往往力不從心[4]。隨著計算機視覺和人工智能技術的快速發(fā)展,基于圖像識別的自動化病蟲害檢測方法逐漸成為研究熱點[5-7]。這些方法不僅能夠提高檢測的效率和準確性,還可以實現大規(guī)模、實時的監(jiān)測,為精準農業(yè)提供有力支持。例如,施杰等利用輕量級模塊對YOLO v5s網絡進行改進,并在層間引入注意力機制,增強模型對目標區(qū)域的聚焦能力[8]。李英輝等利用主成分分析方法對不同尺度的特征進行加權組合,并在重組的特征上構建決策模型,有效提高了模型對病蟲害的定位性能[9]。蘭玉彬等在原始的YOLO v5s網絡中引入輕量級模塊Ghost,有效降低了模型在推演階段的時間開銷,此外為了增強模型對小目標區(qū)域的定位性能,引入注意力機制[10]。周一帆等利用作物病害的文本標注和視覺圖片信息,建立了一種多模態(tài)特征對齊網絡,并在馬鈴薯、番茄、蘋果等多種作物上驗證了有效性[11]。張家瑜等針對復雜環(huán)境對檢測性能的影響,提出了一種選擇性注意力網絡,通過多重注意力機制對不同的特征進行加權融合,提升模型對關鍵信息的捕獲能力[12]。
雖然上述基于深度學習方法的作物病蟲害葉片檢測方法可以提升檢測效率和檢測精度,然而現有的深度學習方法通常需要大量標注樣本進行訓練,這在實際應用中面臨著樣本獲取困難、標注成本高等挑戰(zhàn)。雖然鄭旭康等等利用半監(jiān)督的方法降低了標注樣本費時費力的問題[13],然而該類方法對未見過的病害類型或和已見過病害類型差異性較大的病害泛化性不強,仍難以應對實際生活中農作物的病蟲害檢測。因此,本研究提出一種基于原型自適應對齊網絡的小樣本玉米作物病蟲害檢測新方法。一方面利用小樣本學習網絡來解決玉米病蟲害樣本稀缺條件下,檢測模型的性能過度依賴數據集的問題,另一方面通過建立分支間信息的交互,以及細粒度挖掘病害區(qū)域、非病害區(qū)域的原型表示,增強模型對未知作物病蟲害的泛化性和魯棒性。
1" 數據集介紹
本研究自建了一個玉米葉片病蟲害數據集,包含5 000張高質量的玉米葉片圖像,并選擇對玉米產量和品質影響較大的6種常見病蟲害黏蟲、草地貪夜蛾、灰飛虱、銹病、斑病、葉枯病。不同類型的病蟲害如圖1所示。
所拍攝圖片的質量直接影響模型的識別性能,本研究的所有圖片來源于網絡圖片和實際田間拍攝2個部分,其中田間拍攝照片采用高分辨率數碼相機(Canon EOS 5D Mark IV),拍攝地點為河南開封通許縣,圖像的采集時間在7—9月。拍攝過程中采用了多角度、多光照條件的采集方法,以模擬實際應用場景中可能遇到的各種情況。此外,采用LabelImg軟件對采集的4 600張圖像進行人工標注。為了進一步提高數據集的質量和可用性,筆者還進行了數據增強處理,包括隨機旋轉、翻轉、亮度調整和對比度調整等,最終將數據集的規(guī)模擴充到 13 800 張圖像,表1給出了數據集的詳細信息。
2" 原型自適應對齊網絡
2.1" 任務定義
本研究利用支持分支和查詢分支的雙分支網絡結構構建了小樣本玉米作物病蟲害檢測模型,旨在利用少量帶標注的支持集指導查詢圖片中未知目標的定位與識別,其中支持分支的輸入是玉米作物病蟲害圖片和對應的標注信息,查詢分支的輸入是待測試的圖片。該任務涉及到2個數據集,即Base類和Novel類,其中Base類用于模型的訓練,Novel類用于模型的測試,并且Base類和Novel類沒有交集,即CBase∩CNovel=Φ。
此處采用現有小樣本學習的基本流程[14-15],即將Base類和Novel劃分為多個子任務,在每個子任務中建立支持集指導查詢分支中未知目標的定位與識別的學習任務。具體地,給定支持集S={(Imsi,Msi)ki=1},其中:Imsi和Msi分別表示第i張支持圖片和對應的支持掩碼;k表示支持樣本的個數。小樣本玉米作物病蟲害檢測模型在支持集S上學習定位與識別能力,并將其遷移到查詢集Q={(Imq,Mq)}未知目標的定位與識別任務上,其中:Imq和Mq分別表示查詢圖片及對應的查詢掩碼,并且查詢掩碼僅在訓練階段可見,在測試階段不可用。
2.2" 模型結構
圖2為本研究提出的基于原型自適應對齊網絡的小樣本玉米病蟲害檢測模型的結構圖,包括特征編碼與交互、原型自適應生成、病害檢測等部分。首先,利用ImageNet數據集預訓練的 VGG-16 網絡作為基礎編碼器,并在該編碼器末端新添加2層卷積層和注意力層,旨在增強模型對特定任務的自適應能力。其次,建立雙分支編碼特征間的信息交互,并借助支持圖片的真實掩碼將交互特征分離為目標前景和背景特征。再次,在分離后的前景特征上以粗粒度方式生成前景原型,以細粒度方式生成背景原型。最后,通過計算查詢圖片在每個位置處的編碼特征與每一原型的相似度值,給出對應的預測結果。
2.3" 特征編碼與交互
利用特征編碼器來提取圖片在深度特征空間中的抽象表示,是計算機視覺任務中的基礎步驟,此處以ImageNet數據集上預訓練的VGG-16網絡為基礎編碼器,并借助遷移學習將預訓練的模型參數遷移至小樣本玉米病蟲害檢測特定任務中,充分利用VGG-16網絡在大規(guī)模圖像分類任務中對通用特征的提取能力[16-17]。
首先,考慮到病蟲害的多變性,包括生長階段、尺寸、形體等的變化,僅采用預訓練的VGG-16網絡作為編碼器,很難適應小樣本玉米病蟲害檢測的特定任務,為此在VGG-16網絡的末端添加2層卷積層,其中第1層卷積層使用256個3×3的卷積核,第2層使用128個3×3的卷積核,2層的步長均設置為1且均采用ReLU激活函數。此外,在新增加的每層卷積層后添加注意力層,旨在學習不同空間位置的重要性,使模型更好地關注病蟲害癥狀的關鍵區(qū)域。
其次在自建數據集上對新添加的卷積層和注意力層進行微調,以增強模型對特定任務的泛化性。改進的模型結構如圖3所示。改進后VGG-16網絡的前13層卷積層參數是凍結的,即仍然使用ImaeNet數據集上預訓練的部分,新添加的2層卷積層和注意力層的參數是在自建的玉米病蟲害數據集上進行微調。然后,用改進后的VGG-16網絡作為特征編碼器,將支持分支和查詢分支的輸入圖片映射到深度特征空間,即Fs和Fq。最后,為了挖掘分支間的共有語義,利用交叉注意力機制建立分支間信息的交互與對齊,交互特征可表示為公式(1)。
Fsq=Fs·(Fq)Td(FsFq)。(1)
式中:Fsq表示交互特征;d表示特征矩陣維度;表示特征拼接。
2.4" 原型自適應生成
在雙分支網絡中,只有支持分支的輸入包含真實的標注,此處以支持圖片的真實標注作為監(jiān)督信號,將分支間的交互特征進行特征分離,即分離為目標前景區(qū)域和背景區(qū)域特征,分離特征可表示為公式(2)。
Fsqf=Fsq·ζ(Fsq,Ms)
Fsqb=Fsq·ζ(Fsq,Lc-Ms)。(2)
式中:Fsqf和Fsqb分別表示分離后的前景和背景特征;ζ(·)表示維度轉換函數,即將標注圖片的維度下采樣至和Fsq相同的維度;Ms表示支持圖片的真實標注;Lc表示當前類的類標簽值。分離后的前景特征區(qū)域中更多的是玉米作物病蟲害的相關信息,是完整的目標, 因此采用粗粒度的編碼方式生成原
型,即將全局平均特征作為前景區(qū)域的原型。采用全局平均池化生成前景區(qū)域原型的好處在于:細粒度編碼方式更多采用的是局部編碼特征,這種編碼方式極易造成上下文語義的丟失以及目標區(qū)域語義的破壞,另外目標前景區(qū)域主要是完整的作物病蟲害,利用全局編碼特征可以防止無關噪聲信息的引入。前景原型可表示為公式(3)。
Pf=1K×∑Kk=1Fsqfλ[Ms∈c]∑Kk=1λ[Ms∈c],c∈C。(3)
式中:Pf表示前景原型;k表示支持樣本個數;λ(·) 表示真實函數。背景區(qū)域較為復雜,一方面目標較多,另一方面無關噪聲干擾較大,僅利用粗粒度的編碼方式極易造成信息混亂。因此,本研究采用細粒度的編碼方式生成背景原型,此處采用超像素聚類算法,將整張背景特征圖劃分為多個區(qū)域,并且滿足區(qū)域內具有強相關性、區(qū)域間具有明確的強區(qū)分性的條件。超像素聚類的原理如圖4所示。
超像素聚類算法根據周圍像素間的相似性,將整張圖片劃分為多個區(qū)域[18-19],在每個超像素區(qū)域中利用平均池化技術生成原型,即整張圖片包含多個原型。這樣做是因為背景區(qū)域相比前景區(qū)域更復雜,目標也更多,利用多個原型表示背景區(qū)域有助于降低因全局平均池化造成語義空間破壞的問題;另外,相比單一原型表示多個目標,多個原型攜帶的語義信息更全,更具有代表性。此處在超像素區(qū)域中生成的原型可表示為公式(4)。
Pb(xi)=1K×∑Kk=1∑NxiFsqb(xi)·λ[Msc]∑Kk=1λ[Msc]。(4)
式中:Pb(xi)表示在超像素區(qū)域xi上生成的背景原型;N表示超像素的數量,個。將所有超像素拼接起來,得到背景特征圖中的原型集,即Pb={Pb(x1),Pb(x2),…,Pb(xN)}。將前景原型和背景原型合并,得到最終的原型集P={Pf,Pb}。
2.5" 病蟲害檢測
為了定位與識別查詢圖片中的病蟲害區(qū)域,以常見的無參數度量方法逐位置計算查詢混合特征與原型集上每一原型間的相似度值,并根據相似度值給出匹配結果。匹配流程如圖5所示。
考慮到實際場景中對于硬件設備和成本的要求,此處采用無參數度量方法,即利用余弦相似度函數計算查詢特征Fq與原型P={Pf,Pb}上每一原型間的相似度值,并將每一位置處的最大相似度值對應的像素值作為當前位置的定位和分類信息,具體計算如公式(5)所示。
Mq=argmax[cossim(Fq,pj)],
mqx,y=∑h,wx,y(Fq)T×pj‖Fq‖‖pj‖。(5)
式中:mqx,y表示位置(x,y)處的相似度值;Mq表示查詢圖片Imq對應的預測掩碼;h和w表示特征圖的長和寬。通過計算預測標簽和真實標簽之間的交叉熵損失函數,實現模型端到端的優(yōu)化。
3" 結果與分析
3.1" 試驗環(huán)境與評價指標
采用Python 3.8編程語言,深度學習框架選擇PyTorch 1.9.0,模型在NVIDIA GeForce RTX 3080 12 GB上訓練,CUDA版本為11.1,cuDNN版本為8.0.5,CPU環(huán)境為Intel Core i9-10900K RAM: 64 GB DDR4。選擇Adam作為優(yōu)化器,設定初始學習率為1×10-4,權重衰減項設定為1×10-3。batch大小設定為8,模型迭代次數設定為200,模型訓練與測試階段的損失曲線和精準率曲線如圖6所示。
選擇當前主流的評價指標精準率(P)、召回率(R)、F1分數、交并比(IoU)和前景背景交并比(FB-IoU)來評估本研究模型的優(yōu)越性[20],具體計算如公式(6)和公式(7)所示。
P=TPTP+FP
R=TPTP+FN
F1分數=2×P×RP+R。(6)
IoU=TPTP+FP+FN
FB-IoU=12∑2c=1IoUc。(7)
式中:TP表示預測正確的像素總數;FP表示模型預測的標簽是前景區(qū)域,但真是類別是背景的像素總數;FN表示模型預測的標簽是背景區(qū)域,但真是類別是目標前景的像素總數;c表示類別。
3.2" 模型性能分析
3.2.1" 對比試驗" 為了驗證本研究提出的基于原型自適應對齊網絡的小樣本玉米作物病蟲害檢測模型的優(yōu)越性,選擇當前主流的目標檢測方法進行對比試驗,包括Yolo v5s、Faster R-CNN、Inception v4、DeepLab v3+、Mask-RCNN。對比結果如表2所示,表中的結果是模型在6種病蟲害上的平均檢測結果。
從表2可以看出,本研究方法分別獲得了96.49%的P、96.03%的R、96.50%的F1分數、83.19%的IoU以及93.62%的FB-IoU。與當前經典的5種目標檢測方法相比,本研究方法性能優(yōu)勢明顯。特別是相比所有對比方法中表現最好的Inception v4,這5個指標分別提升了2.73、2.32、2.96、4.13、2.39百分點。以上結果驗證了本研究方法在玉米病蟲害檢測任務的綜合性能更優(yōu),具有一定的實際應用價值。
3.2.2" 細粒度的檢測試驗" 為了分析不同模型在小樣本玉米病蟲害測試集上的性能,利用圖7所示的混淆矩陣反映不同模型對每種病蟲害的識別性能。結果顯示,本研究方法對玉米病蟲害的識別效果最佳,誤報和漏報的病蟲害數量最少,尤其是在銹病、灰飛虱的識別性能上尤為明顯。部分黏蟲會誤報為草地貪夜蛾和銹病,斑病會誤報為銹病和灰飛虱,這主要是因為早期階段的黏蟲和草地貪夜蛾、銹病以及斑病和灰飛虱在顏色、形狀以及紋理方面具有高度的相似性,易于混淆;且所采用的數據集可能沒有充分覆蓋黏蟲與銹病、草地貪夜蛾的特征變化,導致已訓練模型在特定情況下無法準確區(qū)分。為了進一步驗證本研究模型對不同病蟲害的識別性能,分別在各病蟲害的測試集上進行試驗,詳細結果如表3所示。
從表3可以看出,本模型對6種病蟲害的整體檢測效果較好,尤其是在銹病、灰飛虱、黏蟲等作物病害上結果較佳。主要原因是銹病、灰飛虱、黏蟲等作物病蟲害發(fā)病癥狀較為明顯,與背景目標的區(qū)分性較大,FB-IoU指標也驗證了該發(fā)現,即目標前景和背景的區(qū)分性較為明顯,同時也說明了外觀、發(fā)病癥狀相似的不同病蟲害的區(qū)分性是影響模型整體性能的關鍵因素。
3.3" 消融試驗
為了分析本研究提出的基于原型自適應對齊網絡的小樣本玉米病蟲害檢測模型中不同模塊的性能(包括主干網絡中新添加卷積塊和注意力機制的作用、前景區(qū)域和背景區(qū)域的粗粒度和細粒度編碼模塊的作用),分別設計了3組消融試驗,詳細結果如表4所示。
本研究選擇的基線模型為VGG-16網絡,并使用ImageNet數據集上預訓練過的網絡參數,此外,在前景區(qū)域采用平均池化生成原型。變體方法一:主干網絡VGG-16的編碼層新添加2層卷積層和注意力層,并且在小樣本玉米病蟲害數據集上進行新添加層的微調;變體方法二:在“變體方法一”的基礎上,在背景區(qū)域中采用超像素聚類算法,以細粒度的方式生成多個原型。
從表4可以獲得以下發(fā)現:(1)基線模型的識別精準率為84.72%,IoU為60.34%,整體性能不佳,主要原因是基線模型僅采用了目標前景區(qū)域特征,并且主干網絡是在ImageNet數據集上預訓練的模型,很難泛化到特定任務中。(2)在主干網絡中新添加卷積層和注意力層,可以顯著提升模型的識別性能,尤其是在前景和背景的二分類定位任務上提升效果顯著,主要原因是在主干網絡的末端新添加可學習的卷積層可以提高模型對特定任務的自適應能力,增強模型的泛化性,另外注意力機制的引入可以提高模型對目標關鍵信息的捕獲能力,提升特征表達的可靠性。(3)背景區(qū)域的細粒度挖掘策略是有效的,尤其是在目標前景的定位,以及前景和背景二分類定位任務上提升效果較為明顯,主要原因是背景區(qū)域較為復雜,目標類型以及數量較多,僅用平均特征表示多個目標的信息,極易造成信息的破壞、混亂以及語義歧義,不利于目標的定位與識別。
綜上,通過聯合使用上述模塊,本研究模型的性能得到了顯著的提升,綜合性能表現最佳,驗證了本研究模型的有效性。此外,為了直觀展示本研究不同變體模型對目標區(qū)域的定位能力,將高維特征圖進行可視化,可視化結果如圖8所示??梢钥闯?,變體方法二(本研究模型)在病蟲害區(qū)域定位和識別方面的性能優(yōu)于基線模型和變體方法一, 進一
步驗證了本研究模型的優(yōu)越性。
4" 結論
本研究基于支持分支和查詢分支的雙分支網絡結構,提出了一種新的小樣本玉米病蟲害檢測方法,并通過對比試驗和消融試驗驗證了模型的優(yōu)越性,主要結論如下:(1)在主干網絡中引入新的卷積層和注意力層有助于增強模型對特定任務的泛化性,與原始基線模型相比,精準率、召回率、F1分數、IoU和FB-IoU指標均顯著提升。(2)前景區(qū)域的
粗粒度編碼策略能夠緩解因局部特征破壞導致上下文信息丟失的問題。(3)背景區(qū)域的細粒度挖掘有助于降低無關背景信息的干擾,增強模型對前景和背景區(qū)域的定位能力。
未來工作中,將該項研究擴展到蘋果、番茄、馬鈴薯等作物病蟲害檢測任務中,并嘗試在田間實際場景中應用,提高農作物的品質和產量,為農戶增加經濟收益助力。
參考文獻:
[1]吳葉輝,李汝嘉,季榮彪,等. 基于隨機增強Swin-Tiny Transformer的玉米病害識別及應用[J]. 吉林大學學報(理學版),2024,62(2):381-390.
[2]李名博,任東悅,郭俊旺,等. 基于改進YOLOX-S的玉米病害識別[J]. 江蘇農業(yè)科學,2024,52(3):237-246.
[3]Xu W,Li W,Wang L,et al. Enhancing corn pest and disease recognition through deep learning: a comprehensive analysis[J]. Agronomy,2023,13(9): 2242-2251.
[4]張彥通,蘇前敏. 基于遷移學習的玉米病害圖像識別[J]. 中國農業(yè)科技導報,2023,25(10):119-125.
[5]zden C. Corn disease detection using transfer learning[J]. Black Sea Journal of Engineering and Science,2023,6(4): 387-393.
[6]蘇俊楷,段先華,葉趙兵. 改進YOLO v5算法的玉米病害檢測研究[J]. 計算機科學與探索,2023,17(4):933-941.
[7]張友為,王鑫鑫,范曉飛. 基于深度學習的玉米和番茄病蟲害檢測技術研究進展[J]. 江蘇農業(yè)科學,2024,52(10):10-20.
[8]施" 杰,林雙雙,張" 威,等. 基于輕量化改進型YOLO v5s的玉米病蟲害檢測方法[J]. 江蘇農業(yè)學報,2024,40(3):427-437.
[9]李英輝,王曉寰,趙翠儉. 多特征融合方法在馬鈴薯圖像快速檢測中的應用[J]. 機械設計與制造,2024(8):54-58.
[10]蘭玉彬,孫斌書,張樂春,等. 基于改進YOLO v5s的自然場景下生姜葉片病蟲害識別[J]. 農業(yè)工程學報,2024,40(1):210-216.
[11]周一帆,劉東洋,周宇平. 基于多模態(tài)特征對齊的作物病害葉片檢測[J]. 中國農機化學報,2024,45(7):180-187.
[12]張家瑜,朱" 銳,邱" 威,等. 基于選擇性注意力神經網絡的木薯葉病害檢測算法[J]. 農業(yè)機械學報,2024,55(5):254-262,272.
[13]鄭旭康,李志忠,秦俊豪. 基于半監(jiān)督學習的梨葉病害檢測[J]. 江蘇農業(yè)科學,2024,52(5):192-201.
[14]Song Y,Zhang H,Li J,et al. High-accuracy maize disease detection based on attention generative adversarial network and few-
shot learning[J]. Plants,2023,12(17):1-8.
[15]Rezaei M,Diepeveen D,Iaga H,et al. Plant disease recognition in a low data scenario using few-shot learning[J].Computers and Electronics in Agriculture,2024,219:1-9.
[16]趙恒謙,楊屹峰,劉澤龍,等. 農作物葉片病害遷移學習分步識別方法[J].測繪通報,2021(7):34-38.
[17]Shahoveisi F,Taheri Gorji H,Shahabi S,et al. Application of image processing and transfer learning for the detection of rust disease[J]. Scientific Reports,2023,13(1):14-26.
[18]Abbas A,Zhang Z,Zheng H,et al. Drones in plant disease assessment,efficient monitoring,and detection: a way forward to smart agriculture[J]. Agronomy,2023,13(6):15-24.
[19]尚增強,楊東福,馬質璞. 基于深度卷積神經網絡的大豆葉片多種病害分類識別[J].大豆科學,2021,40(5):662-668.
[20]Ahmad A,Saraswat D,El Gamal A. A survey on using deep learning techniques for plant disease diagnosis and recommendations for development of appropriate tools[J].Smart Agricultural Technology,2023,3:1-9.