摘要:針對傳統(tǒng)檢測網(wǎng)絡(luò)難以準確、高效地提取農(nóng)作物葉片病蟲害特征信息的問題,通過改進YOLOv8網(wǎng)絡(luò),提出一種多層級多尺度特征融合的農(nóng)作物葉片病蟲害識別算法。通過學習不同層級特征直接的特征關(guān)系,構(gòu)建多層級特征編碼模塊,學習全面的特征表達;在Transformer的基礎(chǔ)上設(shè)計多尺度空間—通道注意力模塊,利用學習細粒度、粗粒度等多尺度全面的特征表達模式,捕獲不同尺度特征之間的互補關(guān)系,并將所有特征表示有效融合起來,構(gòu)成完整的圖像特征表示,進而獲取更佳的識別結(jié)果。在Plant Village公開數(shù)據(jù)集進行試驗驗證,結(jié)果表明:提出的改進方法能夠有效提升配準精度,準確地識別出農(nóng)作物葉片上同時存在的不同病蟲害,對番茄葉片檢測的mAP 0.5達到88.74%,比傳統(tǒng)YOLOv8方法提升8.53%,且計算耗時沒有明顯增加。消融試驗也充分證明所提各個模塊的有效性,能夠更好地實現(xiàn)高精度識別葉片病蟲害,為農(nóng)田智慧化管理提供有力支持和保障。
關(guān)鍵詞:葉片病蟲害識別;多層級特征編碼;多尺度特征融合;通道注意力;特征表達
中圖分類號:TP391.4; S43
文獻標識碼:A
文章編號:20955553 (2024) 070255
06
Recognition algorithm for crop leaf diseases and pests based on improved YOLOv8
Zhang Shugui1, 2, 3, Chen Shuli1, Zhao Zhan1
(1. School of Information Engineering, Kaifeng University, Kaifeng, 475001, China; 2. Research Center of
High-Standard Farmland Intelligent Irrigation Project in Henan, Kaifeng, 475001, China;
3. Kaifeng Agricultural Internet of Things Engineering Technology Center, Kaifeng, 475001, China)
Abstract:
Aiming at the problem that traditional detection networks are difficult to extract the feature information of crop leaf pest and disease accurately and efficiently, a multi-level and multi-scale feature fusion recognition algorithm for crop leaf pest is proposed through the improvement of YOLOv8 network. Firstly, a multi-level feature coding module is constructed to learn the comprehensive feature representation by learning the direct feature relationships of different levels of features. Then, a multi-scale space-channel attention module is designed on the basis of Transformer to capture the complementary relationships between different scales of features by learning the comprehensive multi-scale feature representation patterns such as fine-grained and coarse-grained, and all feature representations are effectively. The whole feature representations are fused, and the better recognition results are obtained.Finally, the experimental validation is conducted on the Plant Village public dataset, and the results show that the proposed improved method can effectively improve the alignment accuracy and accurately recognize different pests and diseases existing on the leaves of crops at the same time, and the mAP 0.5 for tomato leaves detection reaches 88.74%, which is 8.53% higher than the traditional YOLOv8 method, without significant increase in computation time. The ablation experiments also fully demonstrate the effectiveness of the proposed modules, which can better achieve high-precision leaf insect and disease recognition and provide a strong support and guarantee for the intelligent management of farmland.
Keywords:
recognition of leaf disease and pest; multi-level feature coding; multi-scale feature fusion; channel attention; feature expression
0 引言
在實際的農(nóng)田環(huán)境中,農(nóng)作物可能同時受到多種病害的侵襲,導致病害之間存在重疊的情況,加大了識別的難度。近年來,隨著人工智能和計算機視覺技術(shù)的發(fā)展,機器學習和深度學習模型在農(nóng)作物病蟲害檢測系統(tǒng)中展現(xiàn)出卓越的性能[13]。這些先進技術(shù)利用大量的圖像數(shù)據(jù)進行訓練,實現(xiàn)對農(nóng)作物病害更快速、更精準地檢測識別,取得了重要進展。Pramanik等[4]根據(jù)高質(zhì)量圖像色差定位病變區(qū)域,采用袋裝集成樹等先進的機器學習分類器,將患病區(qū)域整體準確率提高到了99%。Zhou等[5]使用Faster R-CNN模型結(jié)合K-Means聚類算法,提出了一種水稻病害檢測模型,利用OTSU算法和多電平中值濾波器,完成了分割和去噪任務(wù),實現(xiàn)了0.52s的推理速度。
YOLO系列算法[6]具有速度更快、實時性更高的優(yōu)勢,在目標識別方面取得了顯著進展,更適合農(nóng)作物病蟲害檢測。YOLOX使用YOLOV3-Darknet作為基線框架,通過加入SPP層來增強特征提取,能從復雜背景中分離出葉片,并結(jié)合DeepLabV3+和UNet進行語義分割。Chen等[7]采用YOLOv5模型對農(nóng)作物病蟲害進行準確識別,并通過使用SE模塊和Involution Bottleneck提高了參數(shù)的準確性和數(shù)量。2023年發(fā)布的YOLOv8[8]更加注重實踐,檢測性能更加優(yōu)異。
本文在YOLOv8的基礎(chǔ)上,提出一種多層級多尺度特征融合的農(nóng)作物病害識別方法(MMF-YOLOv8),通過引入多尺度和多層級特征融合策略進行改進,通過對比試驗和消融試驗,驗證改進模型的準確性,為農(nóng)田智慧化管理提供支持和保障。
1 改進YOLOv8的病害檢測網(wǎng)絡(luò)模型
1.1 YOLOv8網(wǎng)絡(luò)
YOLOv8的主干采用CSPDarknet53結(jié)構(gòu),包含多個受CSP啟發(fā)的C2f模塊,每個C2f模塊前面的卷積核大小為3×3,移動步長為2,用于降低采樣率,YOLOv8的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
由于網(wǎng)絡(luò)優(yōu)化過程中梯度信息會重復出現(xiàn),CSP模塊的設(shè)計是為了減少網(wǎng)絡(luò)推理計算量,該模塊將底層特征圖分成兩部分,通過跨階段的層次結(jié)構(gòu)將它們合并,在保持精度的前提下減少計算量。在骨干網(wǎng)的末端,仍然采用SPPF模塊,通過三次池化進行特征提取,提高網(wǎng)絡(luò)對感受野的感知能力。
在頸部(Neck)仍然使用FPN+PAN的結(jié)構(gòu),增強網(wǎng)絡(luò)的特征融合能力,解決多尺度目標的識別問題。FPN目的是能夠同時識別不同大小的物體,從上往下傳遞強大的語義特征,而PAN從下往上傳遞強大的定位特征。
在預測頭部(Head),采用與YOLOX一致的解耦頭操作,將分類和定位分開,并將基于錨點的分類改為無錨點的分類。分類的關(guān)注點是目標的紋理內(nèi)容,而定位的關(guān)注點是目標的邊緣信息。為了避免計算量的明顯增加,YOLOv8首先進行1×1的降維操作,然后將分類和定位兩個分支連接起來,形成性能和速度的雙重收益。
在YOLOv8中,骨干網(wǎng)絡(luò)和頭部由多個CBS和C2f模塊組成,雖然集合YOLO各版本的優(yōu)點,但在特殊場景的識別中仍然存在很多問題,尤其是對小目標的識別效果不夠理想。由于在農(nóng)作物的識別領(lǐng)域,存在目標干擾、視角不佳、環(huán)境變化等問題,會導致識別效果不佳。同時,在復雜環(huán)境中,農(nóng)作物葉片容易重疊、遮擋,經(jīng)過多次特征提取,容易丟失大量的邊緣信息,會導致識別精度下降。
1.2 基于多層級多尺度特征融合的檢測網(wǎng)絡(luò)
YOLOv8的網(wǎng)絡(luò)模塊的特征提取能力主要由C2f模塊決定。然而,通過持續(xù)的測試后,發(fā)現(xiàn)C2f模塊存在一些問題。
為此,本文提出一種多尺度多層次特征融合的識別方法,在保持YOLOv8基本框架不變的前提下,對C2f模塊進行了改進,以捕獲更多的特征表達,并加強網(wǎng)絡(luò)的學習能力,極大地降低對農(nóng)作物病蟲害的誤檢率和漏檢率。另外,盡管YOLOv8采用FPN+PAN的結(jié)構(gòu),豐富了語義特征和定位信息,但通過逐層特征提取,很多原始信息可能會丟失。為此,本文對特征融合網(wǎng)絡(luò)也進行改進,使淺層信息和深層信息更加完美結(jié)合,提高復雜場景下目標識別的準確性。網(wǎng)絡(luò)整體框架如圖2所示。
1.3 多層級特征編碼
本文提出一種密集連接機制(Convolutional 3D,C3D),相比原始YOLOv8中的C2f模塊,該機制將所有層連接在一起,并在每層的特征提取之后進行串聯(lián)。在C3D中,存在多個模塊層,特征提取后每個模塊層形成的特征圖的大小相同,層與層之間存在著密集連接的關(guān)系。淺層網(wǎng)絡(luò)主要捕捉紋理特征,而深層網(wǎng)絡(luò)則側(cè)重于物體本體特征,因此各層的信息都至關(guān)重要[9]。本文采用密集連接機制拼接各層的信息,使網(wǎng)絡(luò)能夠?qū)W習到更完整的特征信息,提高識別的準確性。結(jié)構(gòu)如圖3所示。通常情況下,每層卷積之后都需要進行一次拼接操作,但是拼接后形成的特征圖的通道數(shù)會大于k,導致下一層卷積的輸入量和計算量增加。因此,在進行卷積之前,本文采用一個1×1的卷積核進行降維,將通道數(shù)減少到k,然后再進行卷積操作,從而改善整個網(wǎng)絡(luò)的梯度反向傳播,使網(wǎng)絡(luò)更容易訓練。各層之間的連接通過拼接操作進行融合,更好地實現(xiàn)特征編碼。
具體的實現(xiàn)方法:首先,使用一個1×1的卷積核進行降維,然后使用一個3×3的卷積核進行卷積操作,最后通過協(xié)程操作將輸出與原始輸入信息進行融合。通過這樣的方式,C3D模塊經(jīng)過3次重復,從而獲得更豐富的特征表示。
1.4 多尺度特征融合
YOLOv8的原始結(jié)構(gòu)在特征提取過程中進行多次下采樣操作,在骨干網(wǎng)絡(luò)特征提取后直接進行預測,導致在特征融合的最后階段出現(xiàn)嚴重的信息損失。隨著特征提取層數(shù)的增加,這個缺陷變得越來越明顯,最終導致識別精度不高。
雖然許多研究者已經(jīng)意識到這個問題,嘗試通過增加第四個檢測層來解決,但這種方法增加了計算量,很難獲得顯著的性能提升[10, 11]。Transformer作為一種自注意力機制,最初在自然語言處理任務(wù)中被引入,并引起廣泛關(guān)注。通過在所有實體之間執(zhí)行信息交換來提取特征,因此具有出色的性能。不同尺度的特征表示具有不同的特性,例如低級特征通常表示物體的輪廓、形態(tài)和顏色等特性,而高級特征則描述物體的語義特性。為提取和融合不同尺度的特征表示,本文考慮到Transformer的注意力機制具有天然的優(yōu)勢,提出多尺度特征融合(MSF-Attention)模塊(圖4),該模塊的主要目標是對單個尺度的特征進行特征提取,并通過融合不同尺度的特征向量來獲取有用的特征表達。
對特征進行提純后,本文采用基于空間注意力機制和基于通道注意力機制的兩種新的Transformer結(jié)構(gòu),并將它們?nèi)诤闲纬啥喑叨忍卣魅诤系腡ransformer結(jié)構(gòu),能夠更好地利用淺層的空間結(jié)構(gòu)信息和深層的語義信息,進一步提高識別的準確率。
首先使用基于空間注意力機制的Transformer結(jié)構(gòu),捕捉不同位置之間的關(guān)聯(lián)信息,以提取空間結(jié)構(gòu)特征。在空間維度上執(zhí)行自注意力操作,更好地捕捉物體的輪廓和形狀等低級特征。其次引入基于通道注意力機制的Transformer結(jié)構(gòu),以提取深層語義特征,在通道維度上執(zhí)行自注意力操作,將不同通道之間的相關(guān)性信息融合到特征表示中,增強物體的語義表達能力。最后融合基于空間注意力和基于通道注意力的Transformer結(jié)構(gòu),形成多尺度特征融合的Transformer結(jié)構(gòu),將淺層空間結(jié)構(gòu)信息和深層語義信息相結(jié)合,以獲取更豐富和完整的特征表示。該結(jié)構(gòu)的優(yōu)勢在于能夠自適應(yīng)地學習特征之間的關(guān)聯(lián)性,更好地捕捉目標的細節(jié)和上下文信息,實現(xiàn)對不同尺度特征的提取和融合,提高農(nóng)作物葉片病蟲害的識別精度。
2 試驗與結(jié)果分析
2.1 數(shù)據(jù)集
為了訓練準確的深度學習模型以進行精確的識別任務(wù),擁有適當和平衡的圖像樣本數(shù)據(jù)集至關(guān)重要。通常情況下,數(shù)據(jù)集規(guī)模越大,所能獲得的深度學習模型準確性也越高。本文選擇Plant Village (PV)數(shù)據(jù)集作為訓練數(shù)據(jù)集,該數(shù)據(jù)集是一個開源的農(nóng)業(yè)疾病數(shù)據(jù)集,包含超過56000張圖像,涵蓋了38個類別,包括19種作物,都是格式為jpeg的高質(zhì)量葉片圖像,寬度為5472像素,高度為3648像素。以番茄類別作為研究對象。從數(shù)據(jù)集中選取9個不同的番茄疾病類別,包括晚疫病、早疫病、葉斑病,黃葉卷曲病,細菌性斑點病,靶斑病,花葉病毒,葉霉病和蛛螨病,共計包含18128張番茄葉片圖像,圖5為部分不同類型的番茄葉片圖像。
由于該數(shù)據(jù)集只提供圖像級別的標注,缺乏邊界框級別的標注信息,為了獲得邊界框級別的標注,使用開源標注軟件Labelimg對這18128張圖像進行標注,能夠構(gòu)建一個有代表性的數(shù)據(jù)集,來訓練和評估基于改進YOLOv8的作物葉片蟲病害檢測模型。
2.2 試驗設(shè)置
試驗在PyTorch框架和兩塊NVIDIA 2080 Ti GPU(11G)的環(huán)境下進行,將所有試驗數(shù)據(jù)按照80%∶10%∶10%的比例進行拆分,其中80%的數(shù)據(jù)用于訓練,10%用于驗證,剩下的10%用于測試。在設(shè)置試驗環(huán)境后,使用表1中提到的超參數(shù)對提出的模型進行訓練,共進行100個epoch,批量大小為32,并保存訓練后獲得的最佳權(quán)重,用來測試本文提出的模型在測試圖像上的性能。為了進行試驗,將數(shù)據(jù)集中的圖像調(diào)整為1024像素×1024像素的尺寸。
在訓練過程中,本文采用數(shù)據(jù)增強策略,使用隨機梯度下降(SGD)算法,初始學習率為0.0001,動量為0.9,權(quán)重衰減為0.0005,以優(yōu)化模型的性能。余弦學習率調(diào)度器被用作默認的學習率調(diào)整策略。對訓練過程進行分析,并根據(jù)多個指標評估模型的性能。為有效地區(qū)分重疊的癥狀,對于分類和目標性,使用二元交叉熵損失。在推理過程中,使用sigmoid激活函數(shù),而不是類別概率,結(jié)果更穩(wěn)定。對于邊界框采用回歸損失,詳細配置信息見表1。
2.3 對比驗證
本文使用mAP指標來評估不同模型的性能,采用不同算法在PV數(shù)據(jù)集上進行測試,得到試驗結(jié)果如表2所示。
從mAP 0.5指標來看,F(xiàn)ast R-CNN在PV數(shù)據(jù)集上達到64.28%的識別精度,而Faster R-CNN、YOLOv3和YOLOv5分別取得更高的mAP值,分別為74.26%、73.81%和75.70%,這表明基于區(qū)域提取的方法和YOLO系列的方法在一定程度上能夠準確地識別出農(nóng)作物葉片疾病。從運算耗時來看,F(xiàn)ast R-CNN和Faster R-CNN需要更多的計算耗時,而基于YOLO系列的方法具有更快的運算速度,且準確率有一定的提升。此外,YOLOv8和MMF-YOLOv8的mAP值分別達到80.21%和88.74%,明顯優(yōu)于其他算法,且計算耗時只有8 ms左右,能夠滿足實時性需求,這表明采用更先進的網(wǎng)絡(luò)結(jié)構(gòu)和特征融合機制能夠提高目標識別的準確性,并且MMF-YOLOv8在融合多尺度特征的基礎(chǔ)上進一步提升了性能。綜合考慮mAP 0.5和mAP 0.5∶0.9指標可知,YOLO系列算法,尤其是本文的MMF-YOLOv8,在PV數(shù)據(jù)集上展現(xiàn)出優(yōu)越的識別性能。采用本文方法得到部分可視化結(jié)果如圖6所示。
2.4 消融試驗
為了測試本文所提各模塊對識別結(jié)果起到的作用,在PV數(shù)據(jù)集上對各模塊進行消融試驗。本文以YOLOv8作為骨干網(wǎng),記為bNet;通過添加多層級編碼模塊,記為bNet-C3D。在此基礎(chǔ)上,通過增加Spatial-Transformer模塊記為bNet_C3D _MSF-Spatial,又增加Channel-Transformer為完整的框架,記為MMF-YOLOv8,得到消融試驗結(jié)果如表3所示。
由表3可以看出,骨干網(wǎng)(bNet)在PV數(shù)據(jù)集上的mAP 0.5為80.21%,mAP 0.5∶0.9為69.50%,這表明bNet作為YOLOv8的基本組成部分,具有一定的識別準確性。加入C3D模塊后,bNet_C3D模型在mAP 0.5和mAP 0.5∶0.9上分別達到82.56%和72.45%,表明多層級編碼模塊對葉片疾病識別的性能有所提升,有助于有效特征表達,提高模型對時間變化的敏感度。
在bNet_C3D的基礎(chǔ)上引入多尺度融合多尺度Transformer模塊,bNet_C3D_MSF-Spatial模型在mAP 0.5和mAP 0.5∶0.9上分別達到85.68%和74.91%,這表明多尺度融合空間特征的引入進一步提高模型的準確性,通過綜合不同尺度的空間特征信息,增強模型對目標的識別和定位能力。本文提出的MMF-YOLOv8模型綜合bNet、C3D和多尺度融合特征模塊的優(yōu)勢,在mAP 0.5和mAP 0.5∶0.9上分別達到88.74%和76.42%,與傳統(tǒng)YOLOv8方法相比分別提升8.53%和6.92%,說明逐步引入多層級編碼模塊和多尺度融合特征模塊可以顯著提高模型的性能,這些模塊的協(xié)同作用對于提高葉片蟲病害識別的準確性至關(guān)重要。
3 結(jié)論
本文在骨干網(wǎng)YOLOv8的基礎(chǔ)上,引入多尺度和多層級特征融合,捕捉不同尺度下的病害特征,并充分利用底層和高層特征的信息,提供更豐富的上下文信息,進一步提高識別的準確性和魯棒性。
1) 相比傳統(tǒng)的目標檢測模型,本文所提出的方法表現(xiàn)出更高的識別精度,mAP 0.5和mAP 0.5∶0.9分別達到88.74%和76.42%,能夠準確地檢測出農(nóng)作物葉片上同時存在的不同病害。
2) 相比傳統(tǒng)的YOLOv8方法,本文所提出的方法在mAP 0.5和mAP 0.5∶0.9上分別提升8.53%和6.92%,且所需運算耗時更低,只有8 ms左右,改進后的計算耗時沒有明顯增加,展現(xiàn)出卓越的性能,能夠滿足實時性需求。
3) 消融試驗的結(jié)果進一步驗證提出的多層級特征編碼和多尺度特征融合機制對于葉片蟲病害檢測的有效性。
在未來的工作中,將在提高模型的效率和魯棒性上深入研究,進一步提升模型在不同場景和環(huán)境下的適應(yīng)能力。同時,結(jié)合更多的數(shù)據(jù)增強策略和先進的優(yōu)化算法,改善模型的訓練效果和推理速度。
參 考 文 獻
[1]李鑫然, 李書琴, 劉斌. 基于改進Faster R-CNN的蘋果葉片病害檢測模型[J]. 計算機工程, 2021, 47(11): 298-304.
Li Xinran, Li Shuqin, Liu Bin. Apple leaf diseases detection model based on improved Faster R-CNN [J]. Computer Engineering, 2021, 47(11): 298-304.
[2]Rehman Z U, Khan M A, Ahmed F, et al. Recognizing apple leaf diseases using a novel parallel real-time processing framework based on MASK RCNN and transfer learning: An application for smart agriculture [J]. IET Image Processing, 2021, 15(10): 2157-2168.
[3]尚文卿, 齊紅波. 基于改進Faster R-CNN與遷移學習的農(nóng)田雜草識別算法[J]. 中國農(nóng)機化學報, 2022, 43(10): 176-182.
Shang Wenqing, Qi Hongbo. Identification algorithm of field weeds based on improved Faster R-CNN and transfer learning [J]. Journal of Chinese Agricultural Mechanization, 2022, 43(10): 176-182.
[4]Pramanik A, Pal S K, Maiti J, et al. Granulated RCNN and multi-class deep sort for multi-object detection and tracking [J]. IEEE Transactions on Emerging Topics in Computational Intelligence, 2021, 6(1): 171-181.
[5]Zhou G, Zhang W, Chen A, et al. Rapid detection of rice disease based on FCM-KM and faster R-CNN fusion [J]. IEEE Access, 2019(7): 143190-143206.
[6]馬馳, 吳華瑞, 于會山. 基于YOLOX的穴盤甘藍病害檢測方法[J]. 江蘇農(nóng)業(yè)科學, 2023, 51(8): 193-202.
Ma Chi, Wu Huarui, Yu Huishan. Detection method of cabbage disease based on YOLOX [J]. Jiangsu Agricultural Sciences, 2023, 51(8): 193-202.
[7]Chen Z, Wu R, Lin Y, et al. Plant disease recognition model based on improved YOLOv5 [J]. Agronomy, 2022, 12(2): 365.
[8]Terven J, Cordova-Esparza D. A comprehensive review of YOLO: From YOLOv1 to YOLOv8 and beyond [J]. ArXiv Preprint ArXiv: 2304. 00501, 2023.
[9]張紅民, 莊旭, 鄭敬添, 等. 優(yōu)化YOLO網(wǎng)絡(luò)的人體異常行為檢測方法[J]. 計算機工程與應(yīng)用, 2023, 59(7): 242-249.
Zhang Hongmin, Zhuang Xu, Zheng Jingtian, et al. Optimizing human abnormal behavior detection method of YOLO network [J]. Computer Engineering and Applications, 2023, 59(7): 242-249.
[10]何斌, 張亦博, 龔健林, 等. 基于改進YOLOv5的夜間溫室番茄果實快速識別[J]. 農(nóng)業(yè)機械學報, 2022, 53(5): 201-208.
He Bin, Zhang Yibo, Gong Jianlin, et al. Fast recognition of tomato fruit in greenhouse at night based on improved YOLOv5 [J]. Transactions of the Chinese Society for Agricultural Machinery, 2022, 53(5): 201-208.
[11]王菁, 范曉飛, 趙智慧, 等. 基于YOLO算法的不同品種棗自然環(huán)境下成熟度識別[J]. 中國農(nóng)機化學報, 2022, 43(11): 165-171.
Wang Jing, Fan Xiaofei, Zhao Zhihui, et al. Maturity identification of different jujube varieties under natural environment based on YOLO algorithm [J]. Journal of Chinese Agricultural Mechanization, 2022, 43(11): 165-171.
[12]文斌, 曹仁軒, 楊啟良, 等. 改進YOLOv3算法檢測三七葉片病害[J]. 農(nóng)業(yè)工程學報, 2022, 38(3): 164-172.
Wen Bin, Cao Renxuan, Yang Qiliang, et al. Detecting leaf disease for Panax notoginseng using an improved YOLOv3 algorithm [J]. Transactions of the Chinese Society of Agricultural Engineering, 2022, 38(3): 164-172.
[13]Soeb M J A, Jubayer M F, Tarin T A, et al. Tea leaf disease detection and identification based on YOLOv7 (YOLO-T) [J]. Scientific reports, 2023, 13(1): 6078.
[14]Kim J H, Kim N, Won C S. High-speed drone detection based on Yolo-v8 [C]. IEEE International Conference on Acoustics, Speech and Signal Processing, Rhodes Island, Greece, 2023: 1-2.