陳思羽 黃丹 楊莎 匡迎春
(湖南農業大學信息與智能科學技術學院,湖南 長沙 410125)
水稻作為我國主要糧食作物,長期受害蟲侵擾,不僅對水稻的生長和產量造成威脅,甚至影響整個農業生態系統。近年來,由于氣候變遷和種植模式調整,水稻害蟲種類和數量呈上升趨勢。根據多國作物健康專家近期研究表明[1],病原體和害蟲造成水稻損失高達25%~41%,因此,對水稻害蟲及其生命周期的各階段進行準確的識別與檢測,以實現早期干預和控制,對于降低水稻產量損失和保持其質量至關重要。
傳統的害蟲檢測主要依賴于人工和儀器,耗時耗力且易受到主觀和經驗水平的制約,進而引發誤判風險。誤判往往導致農藥的不當使用,可能污染環境和損害作物品質,破壞生態平衡[2]。因此,實現快速而準確的水稻害蟲檢測與識別,對于提升農業生產的效率、保障農業的可持續性以及維護生態平衡具有重大的意義。鑒于昆蟲表型相似且形態多變[3,4],田間作物害蟲檢測較通用目標檢測更具挑戰。因此,基于圖像處理技術[5]和機器學習技術[6]的農田害蟲檢測技術逐漸獲得了農業研究者的廣泛關注和研究。Miranda等[5]使用背景建模、中值濾波等圖像處理技術識別和提取害蟲特征,并有效去除在特征提取過程中因不同光照條件產生的噪聲。Yao等[7]通過結合自適應性增強(AdaBoost)和SVM等機器學習算法,訓練出一種能夠有效檢測稻田中白背蛾子及其不同發育階段的分類器。由于其他類別樣本不足,當前方法只能識別白背蛾子,這限制了其在實際場景中的應用。這些方法都嚴重依賴于人工設定,如顏色、形狀等特征,在處理大規模任務以及識別形態復雜多變的害蟲時,其局限性更為突出。隨著農田害蟲檢測需求的日益增長,傳統方法已難以滿足當代農業和有害生物管理的需求。
近年來,隨著人工智能的發展,深度學習在許多領域都取得了成功應用[8]。相較于傳統的目標檢測方法,基于深度學習的方法無需手動提取特定特征,通過迭代學習(iterative learning)自動找到合適特征,具有強大的魯棒性和更高的識別準確率。越來越多的學者將深度學習技術應用于農作物害蟲識別領域[9],并取得了顯著進展,其中包括以Faster-RCNN[10]為代表的兩階段目標檢測算法,以YOLO[11]系列為代表的單階段目標檢測算法。Wang等[12]提出了一種基于Faster R-CNN的蘋果典型害蟲識別和計數方法——MPest-RCNN,采用小錨點提取特征,從而提高了對小型害蟲的識別準確度。Yunong Tian等[13]提出了一種稱為MD-YOLO的多尺度密集新方法,用于檢測小目標鱗翅目害蟲。傳統的YOLO在處理小目標時存在尺度適應性不足、信息丟失等問題,而MD-YOLO通過在不同尺度下密集地提取特征,并將這些特征進行融合,顯著提升了模型對小目標的檢測性能。Yang S等[14]提出了一種基于YOLOv7的玉米害蟲檢測方法,通過插入CSPResNeXt-50模塊和VoVGSCSP模塊,以提高網絡檢測精度和檢測速度,同時減少了模型的計算量。根據上述研究發現,兩階段算法已經在農作物害蟲識別方面有較優異的表現,但識別速度相對較慢,實時性能受限。相比之下,YOLO系列作為單階段目標檢測算法的代表,將目標框的生成與特征提取合并為一個步驟,大大簡化了檢測流程,提高了識別速度。因此,在需要快速、精確且實時的害蟲識別應用中,YOLO系列通常更具優勢。
本研究采用YOLOv5作為基礎模型,在骨干網絡中引入BiFormer優化特征提取能力。引入坐標注意力機制,增強模型對于目標的空間定位能力,由于其足夠靈活和輕量,能夠簡單地插入到YOLOv5網絡的核心結構中,而不會引入過多的計算負擔,有利于在農作物害蟲識別的實際應用。
YOLOv5作為當前主流的單階段目標檢測模型,在YOLO系列算法基礎上進行了多項關鍵性改進。該模型不僅提供了實時目標檢測所需的高速度,還保持了出色的準確性,使其在眾多應用場景中脫穎而出。YOLOv5采用了一系列先進的輕量化技術,有效減小了模型體積,使其在資源受限的設備上也能發揮出強大的性能,成為農作物病蟲害監測等快速且準確目標檢測應用的理想選擇。本文基于YOLOv5最新的6.0版本進行改進,其采用了CSPDarkNet53結構,在保證高精度的同時,減少了計算量和參數量,并有助于實現模型的輕量化。此外,該版本還引入了SPPF模塊,以取代5.0版本中的SPP模塊。這一改動在保持精度的同時,進一步加快了模型的推理速度。在Neck部分,YOLOv5 6.0采用了FPN加PAN結構,通過融合不同層次的特征,提高特征的利用率,進一步提升了模型的檢測速度。綜上所述,YOLOv5 6.0通過一系列優化和創新,在保持高精度的同時,實現了模型的高效和輕量化,為害蟲識別等應用場景提供了更強大的支持。
針對水稻害蟲體積小、形態特征多變以及背景環境復雜等難題,本文對YOLOv5進行2個方面的改進,提出一種名為YOLO-BiCa的水稻害蟲識別模型。采用新型通用視覺網絡架構BiFormer[15]替換YOLOv5骨干網絡中傳統的卷積層和C3模塊,優化特征提取能力;利用BiFormer中的動態稀疏注意力機制,使網絡能力機制,使網絡能夠同時關注不同層次的特征,顯著提升模型對小目標的檢測性能;同時精簡網絡結構,從而實現更高的計算效率。為了進一步提升模型的檢測精度,在YOLOv5的檢測頭引入坐標注意力機制(Coordinate Attention,CA)[16]增強模型對于目標的空間定位能力以及對目標關鍵區域的感知。同時CA能夠自適應地關注重要的特征,使模型在復雜的農田背景中仍然能夠保持較高的精確度。通過上述優化,為水稻害蟲識別的實際應用場景提供強大的技術支持。改進的YOLOv5模型結構如圖1所示。
圖1 YOLO-BiCa模型結構圖
1.2.1 BiFormer
Transformer[17]模型利用自注意力(Self-Attention)機制賦予其更卓越的長距離依賴捕捉能力,因此被廣泛應用到目標檢測領域中。然而,這種結構不可避免的帶來了2大挑戰:內存占用龐大,計算成本高。為了克服這些問題,研究者通過引入具有多種手工設計的稀疏注意力模式來降低模型的復雜度[18-21]。盡管這些方法在一定程度上緩解了計算壓力,但在無法全面捕捉長距離關系方面仍存在局限性。針對上述問題,Lei Zhu等[15]提出了一種名為雙層路由注意力機制BRA(Bi-level routing attention)的動態稀疏注意力(Dynamic sparse attention)方法,利用雙層路由更有效地解決長距離依賴捕捉的問題。以BRA為核心組件,Li進一步設計了一種可視化通用視覺網絡架構——BiFormer,其核心設計思路在于利用BRA模塊在粗略的區域級別預選過濾掉無關的鍵值對,在剩余的候選區域(即路由區域)中應用精細化的token-to-token注意力機制。這一策略不僅賦予了模型自適應性,還顯著提高了計算效率且大幅度降低了內存占用。因此,Biformer在繼承Transformer模型優勢的同時,實現了更為靈活的內容感知和計算資源分配,成為當前視覺研究的一大創新亮點。BiFormer和BiFormer Block的模型結構見圖2。
圖2 BiFormer整體結構
BRA的運行流程主要分為3步。
區域劃分和線性映射。假設輸入1張二維特征圖X∈H×W×C,將其分割成S×S個不重疊的區域,每個區域包含個特征向量。通過重塑X可為進行區域劃分,經過線性映射獲得Q、K、V張量,其線性投影:
Q=XrWq,K=XrWk,V=XrWv
(1)
式中,Wq、Wk、Wv∈C×C,分別為張量Q、K、V的投影權重。
基于有向圖實現區域到區域的路由。在區域級別上,通過對Q和K計算平均值,得到區域級Qr、Kr∈S2×C,通過對Qr、Kr進行矩陣乘法,構建區域到區域親和圖的領接矩陣:
Ar=Qr(Kr)T
(2)
Ar中的每個條目,表示2個區域之間的語義相關性。保留每個區域前k個最相關連接修剪親和圖,得到路由索引矩陣Ir:
Ir=topkIndex(Ar)
(3)
式中,Ir的第i行包含第i個區域最相關的k個索引。
Token-to-token的注意力。使用區域到區域路由索引矩陣Ir,可以在選定的k個路由區域內應用Token-to-token的細粒度注意力。由于這些路由區域可能分散在整個特征圖中,因此收集鍵Kg和值Vg張量:
Kg=gather(K,Ir),Vg=gather(V,Ir)
(4)
在收集的鍵值對上應用注意力機制計算輸出O:
O=Attention(Q,Kg,Vg)+LCE(V)
(5)
式中,LCE(V)是一個局部上下文增強項,可以有效增強局部上下文特征表示能力,同時確保計算效率不受影響,這一設計為后續的害蟲檢測任務提供了更為精準且豐富的特征表示。
1.2.2 坐標注意力機制
注意力機制的核心優勢在于通過賦予不同部分差異化的權重,使模型在處理輸入數據時能夠聚焦于重要信息,抑制無用信息,進而提升模型的性能[22]。目前被廣泛應用的SE(Squeeze-and Excitation)注意力機制[23]僅關注通道信息,而沒有考慮位置信息,因此限制了其在一些場景中的應用。卷積塊注意模塊(Convolutional Block Attention Module,CBAM)[24]雖然通過卷積操作和全局池化加權捕獲了局部信息,但忽略了遠程信息的相關性。而本文引用的坐標注意力機制(Coordinate Attention,CA)[16]在通道注意力中引入位置信息,并將其分解為沿著水平和垂直2個方向的一維特征編碼操作,以確保模型不會丟失位置信息,以及更好地捕獲遠程依賴關系,同時,CA的另一大優勢在于能夠兼顧位置信息和通道之間的關聯性,更精準的定位感興趣區域。因此,在YOLOV5中引入CA可以使模型更加有效地應對在復雜環境下的害蟲小目標任務。CA的具體結構圖如圖3所示。
圖3 Coordinate Attention結構
CA機制的運作分為2步:坐標信息的嵌入,坐標注意力的生成。
坐標信息嵌入。對輸入的特征圖進行操作,利用池化核在水平坐標和垂直坐標方向上的2個空間范圍(H,1)或(1,W)對每個通道進行編碼。高度h和寬度w在第C個通道的輸出表示:
(6)
(7)
式中,xc(h,i)和xc(j,w)分別表示在水平方向上和垂直方向上第c通道的輸入。
坐標注意力生成。將高度和寬度2個方向上的特征圖進行拼接,發送至共享的1×1的卷積變換函數F1,將通道降維至C/r,將F1送入Sigmoid激活函數,獲得一個合成的C/r×(H+W)的特征圖f,公式:
f=δ(F1([zh,zw]))
(8)
同時,利用1×1卷積分別對特征圖f進行維度提升至C,得到特征圖Fh和Fw,并使用Sigmoid激活函數進行非線性激活。
得到特征圖在高度和寬度上的注意力權重g^h和在寬度方向的注意力權重g^w。公式:
gh=σ[Fh(fh)]
(9)
gw=σ[Fw(fw)]
(10)
對得到的gh和gw進行加權融合,公式:
(11)
目前網絡上存在一些農作物昆蟲鑒定的公開數據集,但針對水稻害蟲的專用數據集稀缺。因此,本文使用的數據集主要來源于實地采集和相關文獻調研。本文構建的數據集共7839張水稻害蟲圖像,包括8種水稻害蟲,具體為稻縱卷葉螟、二化螟、稻大螟、稻螟蛉、稻綠蝽、稻蝽象、稻蝗和蝽卵,將數據集按9∶1的比例劃分為訓練集和驗證集。采集的部分水稻害蟲圖像見圖4。
圖4 采集的部分水稻害蟲圖像
在查找大量文獻和農業專家的指導下,對獲取到的水稻害蟲圖像進行標注。圖像標注工具使用麻省理工學院(MIT)計算機科學與人工智能實驗室(CSAIL)開發的LabelMe,將數據集整理成標準的YOLO數據標注格式。
為了增加訓練數據的多樣性,平衡類別數量分布,從而提高模型的識別效率與泛化能力,本文從旋轉、翻轉、隨機剪裁以及添加噪聲4個方面進行數據增強。
本試驗在Windows 10(64位)系統環境上運行,CPU為AMD Ryzen 97950X 16-Core Processor 4.50GHz,內存64GB;GPU為NVIDIA GeForce RTX 4090 24G顯存;深度學習框架Pytorch版本為2.0.1;cuda版本為11.8。
本試驗主要使用準確率Precison、召回率Recall和平均準確率mAP來評價模型的各項性能。Precison和Recall的表達式:
(12)
(13)
式中,TP表示分類正確的樣本;FP表示分類錯誤的負樣本;FN表示分類錯誤的正樣本。
平均準確率(Average Precision,AP)通過計算模型在不同置信度閾值下的P-R曲線下的面積來評估模型的準確性。mAP是指所有類別AP的平均值。提供了對模型在整個數據集上檢測性能的綜合評估。計算mAP的過程是將每個類別的AP值相加,除以類別總數,得到平均值AP和mAP的表達式:
(14)
(15)
式中,QR代表類別數。
為了驗證YOLO-BiCa的檢測性能,將其與常用的目標檢測算法SSD、Faster RCNN、YOLOv3、YOLOv4、YOLOv5l在相同試驗環境下,使用本文自建的水稻害蟲數據集與YOLO-BiCa進行對比試驗,驗證各項指標。最終試驗結果見表1。
表1 不同算法對比結果
由表1可以看出,與其他算法相比,針對水稻小目標害蟲數據集所提出的YOLO-BiCa能夠相對準確地識別出圖像中的害蟲,YOLO-BiCa的mAP和Recall達到86.2%和81.3%,相較于基礎模型YOLOv5l提高了4.5%和2.5%。YOLO-BiCa與SSD、Faster RCNN、YOLOv3、YOLOv4相比,mAP分別高出20.8%、15.3%、14.1%、33.9%。除了評估模型的平均準確率以外,模型參數量也是影響模型復雜度和訓練時間的重要指標。YOLO-BiCa模型參數量最小,僅為基礎模型YOLOV5l的1/2,更方便模型在實際應用中移動端的部署。總的來說,改進的模型YOLO-BiCa能較好地滿足水稻害蟲識別的要求。YOLO-BiCa訓練輸出的指標結果圖和識別效果圖如圖5、圖6所示。
圖5 YOLO-BiCa訓練結果
圖6 YOLO-BiCa識別結果
為了評估模塊的有效性,本文使用YOLOv5l作為基準模型,在自建的水稻害蟲數據集以及相同的環境參數設置上,通過分別添加不同模塊來驗證各項模塊的有效性,具體結果見表2。
表2 消融實驗
由表2可以看出,以YOLOv5l為基礎模型,分別優化骨干網絡引入BiFormer和添加CA,在僅優化骨干網絡和僅添加注意力機制時,mAP均有提升。通過消融實驗對比發現,對YOLOv5l同時進行2個模塊的改進時,各項指標提升最為明顯,mAP和Recall分別提高了4.7%和2.5%,參數量減少1/2,證明了各個模塊優化效果的有效性。
為解決傳統算法在識別水稻小目標害蟲時遇到的特征提取困難和識別精度不足等問題,本文選取8種常見的水稻害蟲構建數據集,提出了一種名為YOLO-BiCa的水稻害蟲檢測模型。該模型在YOLOv5的基礎上融入了BiFormer視覺網絡架構,優化特征提取能力,提升其在害蟲小目標識別方面的性能;引入坐標注意力機制,增強模型對于目標的空間定位能力以及對目標關鍵區域的感知。同時在自建的水稻害蟲數據集上進行試驗,相較于基線模型YOLOv5l,YOLO-BiCa的mAP提高了4.5%。在精確度、召回率2個指標上都占有一定優勢,能滿足水稻害蟲精準識別的需求,為水稻害蟲識別研究中的難題提供了新的解決路徑。