凌慕菲,楊冬風
黑龍江八一農墾大學,黑龍江大慶 163711
隨著我國農業領域的快速發展,玉米已成為我國種植面積最大的作物,為我國糧食增產做出了巨大貢獻。然而,隨著玉米產量的逐年增長,玉米病害也隨之加重,其中,玉米葉片病害是影響玉米生產的主要原因之一[1],主要的玉米葉片病害有灰斑病、葉銹病、葉斑病等。玉米葉銹病在侵染時,葉片突起黃褐色或紅褐色斑點,散生或呈橢圓形;玉米葉斑病和灰斑病在侵染時,葉片中央枯白至黃褐色,呈橢圓形。傳統的植物病害識別是依靠肉眼進行觀察來判斷病害種類的,不僅效率和精準度低,而且浪費人力和物力,導致生產效率降低。
近年來,隨著人工智能在農業領域的快速發展,目標檢測在農作物的識別、計數、分類等領域得到了廣泛運用,國內外研究也取得了較多的成果。李冠林等[2]提出了一種基于支持向量機(SVM)和多特征參數的小麥條銹病和葉銹病圖像分類識別方法,對小麥病害進行識別,平均識別率達到98.34%。
孫俊等[3]通過改進傳統的AlexNet模型,提出一種批歸一化與全局池化相結合的卷積神經網絡識別模型,對26類植物病害葉片進行識別,取得了比原始AlexNet模型更好的結果。
張建華等[4]提出了基于改進VGG-16卷積神經網絡的病害識別模型,識別了5種棉花病害。Zhou等[5]在定向碼匹配的方法與支持向量機(SVM)相結合的基礎上,識別了甜菜病害。
目前,很多植物病害識別模型都面臨著訓練時間較長、模型參數龐大等問題,導致其普及性和實時性較差,具有一定的局限性[6]。而YOLOv5s[7]神經網絡模型有更高的檢測速度、準確性和遷移性,并且模型體積較小,占用更少的儲存空間,可以在不同的硬件上運行。因此,為了實現對玉米葉片病害的精準檢測,在輕量級網絡模型YOLOv5s的基礎上進行改進。首先,通過圖像預處理方法進行數據增強,滿足葉片病害識別的準確性和高效性。再將YOLOv5s的主干網絡中的Bottleneck CSP模塊模塊替換為CBAM(Convolutional Block Attention Module)注意力模塊,提高改進后模型的準確率。
YOLOv5是一種快速高效的目標檢測算法,該算法利用深度學習技術實現了端到端的目標檢測,在計算資源有限的情況下能夠獲得出色的表現。YOLOv5共有YOLOv5x、YOLOv5l、YO LOv5m和YOLOv5s 4種網絡模型,其中,YOLOv5s是該系列中深度和寬度最小的模型,對應著參數量、計算量最小,且速度最快的網絡。YOLOv5s網絡主要由Input、Backbone、Neck、Head 4個部分組成。該算法使用CSPDarknet53作為主干網絡,通過采用Bottleneck殘差塊和SPP模塊等技術,可以有效地提高模型的特征提取能力。其中,主干網絡Backbone部分主要由conv模塊、C3模塊(即BottleneckCSP)、SPP組成,其作用是提取圖像特征并傳遞至下一模塊。頸部網絡Neck再對圖像特征進行一定比例的融合,并將其特征傳遞給預測層。最后預測頭Head將頸部融合得到的圖像特征進行預測輸出。
YOLOv5s采用了一種基于初始先驗框(Anchor)的檢測方式,在輸入圖像時,通過預先定義的Anchor尺寸進行目標檢測。相比于傳統的滑動窗口方法,該方法能夠在不同尺度的特征圖上同時進行目標檢測,提升檢測模型的預測精度。
CBAM[8]由通道注意力機制(Channel Attention Module,CAM)和空間注意力機制(Spartial Attention Module,SAM)組成,各部分的主要功能如下:
(1)Channel Attention(CA):CA模塊根據全局空間信息對輸入特征圖的各個通道進行加權。它主要包括2個全局平均池化層(Global Average Pooling,GAP)和全局最大池化層(Global Max Pooling,GMP),用于計算空間域的全局信息。接著使用1個共享的MLP(多層感知器)對GAP和GMP的輸出特征進行非線性變換,最后通過逐元素相加(element-wise addition)和sigmoid激活函數得出通道注意力權重。
(2)Spatial Attention(SA):SA模塊通過對輸入特征圖的各個空間位置進行加權,以捕獲空間依賴性。首先,對輸入特征圖進行通道方向的全局平均池化和全局最大池化。然后,將兩者沿通道方向進行連接。接著使用1個卷積層(通常是1×1的卷積核)對連接后的特征圖進行卷積,最后通過sigmoid激活函數得到空間注意力權重。
由于CBAM模塊具有較好的通用性,因此將其應用于YOLOv5s的C3模塊不僅可以提高網絡性能,還可以為其他類似的卷積網絡架構帶來啟示。
在原始的YOLOv5s算法中,其檢測頭模塊采用了多層級特征融合的方法,此方法雖然能夠將特征信息充分結合,但在連續卷積的過程會產生許多無用的冗余信息,從而淹沒部分目標,導致檢測準確率下降。為了提高玉米葉片病害識別的準確率,在YOLOv5s骨干網絡Backbone引入優化的CBAM(Convolutional Block Attention Module)注意力機制,將YOLOv5s主干網絡部分中的C3模塊替換為CBAMC3模塊,不僅可以加強通道之間信息的融合,還可以減小模型參數、精減網絡模型的結構、提高模型計算效率,捕獲更豐富的通道和空間特征信息。改進后的網絡結構圖見圖1。

圖1 改進后YOLOv5s網絡結構圖
數據集選用Plant Village發布的公開玉米病害數據集,數據集中包括玉米葉片灰斑病、葉銹病、葉斑病和玉米健康4類圖像數據。實驗選用500張玉米葉片病害作為數據集,其中,灰斑病、葉銹病、葉斑病和玉米健康各125張,用于玉米葉片病害的訓練與測試。實驗先通過Labelimg標注軟件對3種玉米病害葉片和健康葉片進行手動標注,并以VOC的格式保存。由于訓練數據集較小,為了提高模型對玉米葉片的識別效果,通過對數據圖像進行隨機翻轉、調節亮度、增加噪聲等方法進行數據增強。擴充后的數據集大小為2 000張,擴充至原始數據的4倍。擴充后的數據集如表1所示。其中,訓練集和測試集比例按9:1隨機劃分。

表1 數據集概述
實驗運行環境與配置見表2。模型共訓練50輪次,初始學習率設為0.01批尺寸(batch size)設置為8。

表2 實驗環境
研究結果采用精準率(Precision)、召回率(Recall),以及目標檢測算法中衡量算法效果的指標全類平均準確率(Mean Average Precision,mAP)作為評價指標。其中,Precision、Recall的計算公式分別如下:
在上述式中,TP為樣本被預測為正樣本,且分類正確的樣本個數;FP為樣本被預測為正樣本,而分類錯誤的樣本個數;FN為被預測為負樣本,而分類錯誤的樣本個數;mAP是所有類別在模型上的平均識別精度。
為了驗證CBAM注意力機制的有效性,在原網絡的基礎上,將添加CBAM注意力機后的模型與原始的YOLOv5s模型進行對比。2種模型在Plant Village數據集、epoch為50、batch-size為8的條件下,得到不同玉米葉片病害類別的準確率對比結果(圖2)。橫軸為訓練輪次,縱坐標為精準度(mAP)。由圖1可以看出,在epoch50次后波動幅度不大。原始的YOLOv5s模型mAP穩定在93.5%。模型在加入CBAMC3注意力機制之后mAP達到95.6%,比傳統的YOLOv5s網絡模型的準確率提高了2.1個百分點,正確類別預測的數量比例明顯提升[9-16]。

圖2 原始YOLOv5s模型與改進后模型結果對比
本論文針對在玉米葉片病害識別過程中浪費人力、肉眼難以區分、檢測情景復雜等問題,設計了一種基于改進YOLOv5s網絡的玉米葉片病害識別模型(YOLOv5_CBAMC3)。在YOLOv5s目標檢測模型的基礎上,引入CBAM注意力機制,完成了對玉米葉片灰斑病、葉銹病、葉斑病3種病害和健康葉片的識別。實驗結果表明:改進后的網絡檢測模型對玉米葉片病害識別精度有較高提升,平均精度達到95.6%,較原始網絡模型的準確率提升了2.1個百分點。該方法能夠降低人力物力的成本、提高對病害識別的效率和準確率,有一定的實用性,能夠促進農業技術的進一步發展。