關(guān)鍵詞:甘蔗葉片病害;目標(biāo)檢測(cè);YOLOv8;LSKA;EIoU
中圖分類號(hào):TP18 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2024)28-0012-05
0 引言
甘蔗是全球主要的糖料作物之一,具有較高的經(jīng)濟(jì)價(jià)值,其糖產(chǎn)量約占全球的80%[1]。在甘蔗的生長(zhǎng)發(fā)育階段,葉片容易受到病害侵染,嚴(yán)重影響產(chǎn)量和質(zhì)量。因此,及時(shí)、準(zhǔn)確地檢測(cè)甘蔗葉片病害具有重要意義。
國(guó)內(nèi)外在基于計(jì)算機(jī)的農(nóng)作物葉片病害檢測(cè)方面已進(jìn)行了大量研究。傳統(tǒng)檢測(cè)方法基于機(jī)器學(xué)習(xí),但存在需要煩瑣的人工特征提取且易受到主觀因素影響等問題。近年來,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)技術(shù)能夠自動(dòng)識(shí)別葉片病害,并標(biāo)記病害區(qū)域,減少了傳統(tǒng)檢測(cè)中因人工特征提取而導(dǎo)致的主觀誤差和成本,對(duì)于及時(shí)發(fā)現(xiàn)和診斷農(nóng)作物病害具有重要意義。根據(jù)檢測(cè)過程中是否生成候選區(qū)域,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法分為單階段目標(biāo)檢測(cè)算法和雙階段目標(biāo)檢測(cè)算法。雙階段目標(biāo)檢測(cè)算法先構(gòu)建候選區(qū)域,再對(duì)每個(gè)候選區(qū)域進(jìn)行更精確的邊界框回歸和對(duì)象類別預(yù)測(cè),盡管精度較高,但檢測(cè)速度較慢。單階段目標(biāo)檢測(cè)算法通過一個(gè)階段完成目標(biāo)的類別預(yù)測(cè)和邊界框回歸,簡(jiǎn)化了檢測(cè)流程,通常能提供更快的推理速度,同時(shí)獲得較高的精度。
在農(nóng)作物葉片病害檢測(cè)領(lǐng)域,單階段目標(biāo)檢測(cè)算法因其高效性和實(shí)時(shí)性而備受關(guān)注,其中YOLO算法被廣泛研究和應(yīng)用。蘇俊楷等[2]以YOLOv5為基線,融合雙向特征金字塔和CA注意力機(jī)制,在玉米葉片病害檢測(cè)中實(shí)現(xiàn)了95.93%的mAP。周邵發(fā)等[3]在YO?LOv5s基礎(chǔ)上,通過簡(jiǎn)化快速金字塔池化、BoNet注意力機(jī)制和SIoU損失函數(shù)進(jìn)行改進(jìn),在蘋果葉片病害檢測(cè)中取得了86.5% 的mAP。公徐路等[4] 基于YO?LOv5s,利用ShuffleNetv2輕量化網(wǎng)絡(luò)、CBAM注意力模塊及SIoU損失函數(shù),設(shè)計(jì)出針對(duì)小目標(biāo)的蘋果葉片病害檢測(cè)方案,mAP 為90.6%。馬超偉等[5] 基于YO?LOv8,通過深度可分離卷積、全局注意力機(jī)制和wise-IoU損失函數(shù),設(shè)計(jì)出輕量化小麥病害檢測(cè)模型,mAP 達(dá)到91.8%。
傳統(tǒng)的甘蔗葉片病害檢測(cè)方法主要依賴專家的人工現(xiàn)場(chǎng)識(shí)別與判斷,存在工作量大、及時(shí)性差和主觀性強(qiáng)等問題。在計(jì)算機(jī)輔助甘蔗葉片病害檢測(cè)的研究中,相關(guān)文獻(xiàn)相對(duì)較少。黃亦其等[6]基于高光譜成像識(shí)別甘蔗葉片早期輪斑病與銹病,雖然取得了較好的準(zhǔn)確率,但識(shí)別種類較少且未對(duì)病害區(qū)域進(jìn)行檢測(cè)。
針對(duì)這些問題,本文設(shè)計(jì)了一種基于YOLOv8n的改進(jìn)算法,引入LSKA(Large Separable Kernel Atten?tion) 注意力機(jī)制和EIoU(Efficient-IoU) 損失函數(shù),以實(shí)現(xiàn)對(duì)多種甘蔗葉片病害的檢測(cè)。該方法在自然環(huán)境下提高了檢測(cè)精度,確保滿足實(shí)時(shí)檢測(cè)要求,為甘蔗葉片病害防治提供了參考,具有重要意義。
1 甘蔗葉片病害檢測(cè)算法
YOLOv8是由Ultralytics公司在開源YOLOv5之后推出的下一個(gè)重大更新版本,具有更優(yōu)越的性能。YOLOv8是一組模型,基于縮放系數(shù)包括N、S、M、L、X 五種不同的檢測(cè)模型,以適應(yīng)多樣化的應(yīng)用場(chǎng)景需求。由于YOLOv8n是YOLOv8中參數(shù)最小的模型,具備較小的模型參數(shù)量和較快的檢測(cè)速度,因此結(jié)合甘蔗葉片病害數(shù)據(jù)集的特點(diǎn),選擇了YOLOv8n作為基線檢測(cè)模型。
YOLOv8n由幾個(gè)主要部分組成:用于輸入圖像并進(jìn)行預(yù)處理的輸入端、對(duì)特征進(jìn)行提取的主干網(wǎng)絡(luò)、將特征融合的頸部網(wǎng)絡(luò),以及用于識(shí)別和檢測(cè)等任務(wù)的輸出端。輸入端主要通過Mosaic和Mixup等技術(shù)對(duì)640×640的圖像進(jìn)行數(shù)據(jù)增強(qiáng),并進(jìn)行自適應(yīng)錨框計(jì)算。主干網(wǎng)絡(luò)由多個(gè)conv和c2f模塊構(gòu)成,其最大的改進(jìn)是借鑒了YOLOv7的ELAN設(shè)計(jì)思想,將YO?LOv5中的C3模塊替換為C2f模塊,引入更多的分支,從而具備更強(qiáng)的特征提取能力。頸部網(wǎng)絡(luò)主要是在YOLOv5中PAN-FPN上采樣階段卷積被去除的基礎(chǔ)上,也將C3模塊替換為C2f模塊。輸出端與YOLOv5 的耦合頭不同,YOLOv8n使用雙檢測(cè)頭,同時(shí),分類任務(wù)采用BCE 損失,回歸任務(wù)采用DFL 損失和CIoU 損失。
為滿足在自然環(huán)境中對(duì)甘蔗葉片病害進(jìn)行高精度實(shí)時(shí)檢測(cè)的需求,設(shè)計(jì)對(duì)YOLOv8n進(jìn)行了改造,網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。首先,在主干網(wǎng)絡(luò)中對(duì)SPPF模塊進(jìn)行了改進(jìn),引入了LSKA注意力機(jī)制,以提升在自然環(huán)境中復(fù)雜背景下的特征提取能力。在輸出端,對(duì)CIoU損失函數(shù)進(jìn)行改進(jìn),引入EIoU損失函數(shù),以加快收斂速度,并進(jìn)一步提高檢測(cè)的精度。
1.1 改進(jìn)SPPF 特征提取模塊
在YOLOv8n的主干網(wǎng)絡(luò)末端,采用了SPPF(Spa?tial Pyramid Pooling Fusion) 模塊進(jìn)行特征提取。SPPF 在SPP(Spatial Pyramid Pooling) 基礎(chǔ)上引入了特征融合的思想。具體而言,它首先對(duì)輸入特征圖進(jìn)行卷積操作,然后通過三個(gè)不同大小的最大池化層和多路徑對(duì)特征進(jìn)行不同程度的融合,最后通過卷積輸出特征圖。SPPF模塊能夠自適應(yīng)不同尺寸的特征信息,從而提升檢測(cè)性能。
然而,在甘蔗葉片自然環(huán)境下的多種病害檢測(cè)中,存在背景復(fù)雜多變的問題,SPPF模塊可能會(huì)提取較多的局部特征,導(dǎo)致全局信息丟失,進(jìn)而造成漏檢和精度不高等問題。為此,設(shè)計(jì)在SPPF模塊中引入LSKA注意力機(jī)制[7],形成SPPF-LSKA模塊。該模塊結(jié)合了大卷積核強(qiáng)特征提取能力與注意力機(jī)制,通過增強(qiáng)局部或全局重要特征的權(quán)重,并降低背景等干擾信息的權(quán)重,提高了在復(fù)雜背景下的檢測(cè)精度,同時(shí)保持了檢測(cè)速度。
2.3 實(shí)驗(yàn)環(huán)境
本實(shí)驗(yàn)的操作系統(tǒng)為Ubuntu 20.04,CPU型號(hào)為Intel(R) Xeon(R) Platinum 8255C @ 2.5 GHz(12個(gè)虛擬CPU) ,GPU型號(hào)為RTX 2080 Ti,具有11GB的顯存和40GB的內(nèi)存。使用了PyTorch 1.11.0框架以及Python3.8。算法的訓(xùn)練持續(xù)進(jìn)行300個(gè)Epoch,每個(gè)Epoch 中Batch-size設(shè)置為16。
2.4 消融實(shí)驗(yàn)結(jié)果與分析
為驗(yàn)證SPPF-LSKA 和EIoU 兩個(gè)改進(jìn)模塊的有效性,設(shè)計(jì)了4組消融實(shí)驗(yàn),包括1組不引入改進(jìn)模塊(即基線模型)的實(shí)驗(yàn),2組分別引入一個(gè)改進(jìn)模塊的實(shí)驗(yàn)以及1組同時(shí)引入兩個(gè)改進(jìn)模塊的實(shí)驗(yàn)。設(shè)計(jì)了5種病害和健康葉片的AP、mAP@0.5、FPS作為對(duì)比指標(biāo),具體數(shù)據(jù)如表1所示。
從表1可以看出,引入SPPF-LSKA 模塊能夠提高算法的精度和FPS,使基線算法的mAP@0.5從79.1%提高到81.3%,F(xiàn)PS 從263.2 fps 提高到277.8 fps。引入EIoU模塊在保持FPS不變的情況下提高了算法的精度,使基線算法的mAP@0.5 從79.1%提高到80.6%。同時(shí)引入SPPFLSKA和EIoU兩個(gè)改進(jìn)模塊時(shí),算法的精度達(dá)到最佳,基線算法的mAP@0.5 從79.1% 提升到84.5%,提高了5.4%。其中,在AP中葉斑病檢測(cè)精度的改進(jìn)最大,從基線模型的78.6 提升到86.1,提高了7.5%。如果僅從最終精度結(jié)果來看,改進(jìn)后的算法在檢測(cè)甘蔗黃葉病的精度表現(xiàn)最佳,AP達(dá)到了92.2%。同時(shí),F(xiàn)PS為250 fps,滿足實(shí)時(shí)檢測(cè)需求。這是因?yàn)槭褂肧PPF-LSKA模塊改進(jìn)了原基線算法中的SPPF模塊,通過改進(jìn)特征提取和關(guān)注關(guān)鍵區(qū)域,在不降低檢測(cè)速度的前提下提高了檢測(cè)精度;使用EIoU 模塊改進(jìn)了原基線算法中的CIoU模塊,通過優(yōu)化邊界框預(yù)測(cè),在不改變FPS情況下提高了檢測(cè)精度;同時(shí)引入SPPF-LSKA和EIoU模塊能夠顯著提高算法的精度,但由于多模塊的處理需要更多的計(jì)算資源,會(huì)降低檢測(cè)速度。
為了更直觀地比較YOLOv8n基線算法與改進(jìn)后算法的檢測(cè)效果,圖3為8張赤腐病的檢測(cè)結(jié)果對(duì)比圖。從圖3中可以看出:改進(jìn)后的算法在對(duì)基線算法檢測(cè)的相同病害目標(biāo)區(qū)域進(jìn)行檢測(cè)時(shí),大多數(shù)區(qū)域的置信度有所提高;在基線算法的檢測(cè)效果圖中,第一行從左到右的最后一個(gè)檢測(cè)圖存在漏檢現(xiàn)象,而改進(jìn)后的算法能夠檢測(cè)到這一區(qū)域。此外,在改進(jìn)后算法的檢測(cè)效果圖中,第二行從左起第二個(gè)圖的檢測(cè)區(qū)域范圍比YOLOv8n基線算法的檢測(cè)范圍更加精細(xì)和準(zhǔn)確。這表明,改進(jìn)后的算法相比基線算法提高了甘蔗病害檢測(cè)的精度。
2.5 對(duì)比實(shí)驗(yàn)結(jié)果和分析
為進(jìn)一步驗(yàn)證改進(jìn)后算法的先進(jìn)性,通過設(shè)計(jì)實(shí)驗(yàn)選擇了5 種具有代表性的目標(biāo)檢測(cè)算法,包括Faster R-CNN、YOLOv5n、YOLOv6n、YOLOv7-Tiny 和YOLOv8n,在mAP@0.5 指標(biāo)上與改進(jìn)后算法進(jìn)行對(duì)比。其中,F(xiàn)aster R-CNN作為雙階段目標(biāo)檢測(cè)算法的代表,具有較強(qiáng)的靈活性和擴(kuò)展性;YOLOv5n、YO?LOv6n、YOLOv7-Tiny則是單階段目標(biāo)檢測(cè)算法的代表,因其高效性和廣泛的應(yīng)用場(chǎng)景,常被用作改進(jìn)算法的對(duì)比基準(zhǔn)。
對(duì)比實(shí)驗(yàn)的數(shù)據(jù)如表2所示。結(jié)果顯示,F(xiàn)asterR-CNN的精度較低,不適合作為甘蔗葉片病害檢測(cè)模型。YOLOv5n、YOLOv6n、YOLOv7-Tiny 和YO?LOv8n的檢測(cè)精度有待進(jìn)一步提高。相比之下,改進(jìn)后的算法在精度上顯示出顯著優(yōu)勢(shì),證明其更適合用于甘蔗葉片病害的檢測(cè)任務(wù)。
3結(jié)論
本文提出了一種基于改進(jìn)YOLOv8n的甘蔗葉片病害檢測(cè)算法,該算法能夠在滿足實(shí)時(shí)檢測(cè)速度要求的同時(shí),在自然環(huán)境下實(shí)現(xiàn)較高的檢測(cè)精度。改進(jìn)主要體現(xiàn)在以下兩方面:首先,通過在主干網(wǎng)絡(luò)的SPPF 模塊中引入LSKA注意力機(jī)制,提高模型在復(fù)雜背景干擾下的檢測(cè)精度;其次,通過在輸出端引入比CIoU更優(yōu)的EIoU損失函數(shù),以提高收斂速度,并進(jìn)一步提升檢測(cè)精度。消融實(shí)驗(yàn)和對(duì)比實(shí)驗(yàn)已驗(yàn)證了該改進(jìn)算法的有效性和先進(jìn)性。
未來的研究工作將集中于繼續(xù)優(yōu)化這一檢測(cè)算法,并擴(kuò)展其應(yīng)用場(chǎng)景。一方面,將進(jìn)一步提升檢測(cè)精度,另一方面,將對(duì)甘蔗病害區(qū)域進(jìn)行統(tǒng)計(jì)計(jì)數(shù),同時(shí)擴(kuò)展甘蔗葉片病害研究的種類。