摘要:煙青蟲、斜紋夜蛾、斑須蝽和甜菜夜蛾是煙草上重要的食葉性害蟲,它們的準確識別是蟲情預(yù)報和防治的基礎(chǔ)。提出了基于改進的YOLO v8模型的煙青蟲、斜紋夜蛾、斑須蝽和甜菜夜蛾的識別方法,首先在YOLO v8的C2f模塊中加入了EMA注意力機制,提高了YOLO v8模型對于煙草害蟲的關(guān)注度;其次使用SIoU Loss改進YOLO v8的邊界框損失函數(shù),提高模型定位的準確性并加速模型收斂;最后利用AFPN漸近特征金字塔網(wǎng)絡(luò)改進了YOLO v8對非相鄰特征的融合效果,提高了模型對煙草害蟲特征提取的效率和準確率。與Faster R-CNN、SSD、Retinanet、YOLO v3-tiny、YOLO v4-tiny、YOLO v5s和YOLO v8等目標檢測模型在本研究所構(gòu)建的4種常見煙草害蟲的數(shù)據(jù)集上進行對比,試驗結(jié)果表明,本研究所提出的方法在精確率、召回率和平均精度均值(mAP)上比原有的YOLO v8模型及上述其他目標檢測模型平均提高了6.24、6.53、7.22百分點,為煙草害蟲的精準識別提供了技術(shù)支持。
關(guān)鍵詞:煙草;害蟲;識別技術(shù);YOLO v8改進模型;損失函數(shù);目標識別
中圖分類號:S126;TP391.41 文獻標志碼:A
文章編號:1002-1302(2024)17-0209-09
收稿日期:2024-02-06
基金項目:河南省科技攻關(guān)項目(編號:242102110334);河南省高等學(xué)校重點科研項目(編號:24B520039);中國煙草總公司云南省公司科技計劃(編號:2022530000241022)。
作者簡介:張偉偉(1986—),女,河南正陽人,博士,副教授,碩士生導(dǎo)師,研究方向為智能優(yōu)化、深度學(xué)習(xí)、煙草信息學(xué)、機器視覺。E-mail:anqikeli@126.com。
通信作者:李永亮,碩士,高級農(nóng)藝師,研究方向為煙草病蟲害綠色防控。E-mail:liyongliang257@163.com。
煙草是我國重要的經(jīng)濟作物之一,煙草生長過程中經(jīng)常受到各種害蟲的侵害,尤以取食葉片的煙青蟲、斜紋夜蛾、斑須蝽及甜菜夜蛾等害蟲的危害為甚。害蟲的準確識別是傳統(tǒng)蟲情預(yù)測預(yù)報和防控的基礎(chǔ),也是未來煙草病蟲害綠色防控數(shù)字化、智能化的必備條件[1]。相比于傳統(tǒng)圖像處理方法,深度學(xué)習(xí)模型能夠自動從圖像中提取高層次的特征和語義信息,并且能夠?qū)崿F(xiàn)端到端的檢測和分類任務(wù),無需人工干預(yù)和先驗知識[2]。目前,利用深度學(xué)習(xí)模型進行害蟲識別的方法已取得一些成果[3]。鄭果等提出了一種基于YOLO v7算法的水稻害蟲識別方法,該方法在YOLO v7算法的基礎(chǔ)上,引入了卷積塊注意力和特征金字塔模塊;試驗結(jié)果顯示,水稻蟲害檢測平均準確率為85.46%,檢測速度為92.2幀/s,檢測速度是原始YOLO v7算法的5倍以上;該方法能用于實現(xiàn)水稻蟲害遠程實時自動化識別,但是改進后的YOLO v7模型對低分辨率目標識別精度較低[4]。楊光露等提出了基于 CenterNet 模型和數(shù)據(jù)增強技術(shù)的煙草甲蟲檢測報警系統(tǒng),實現(xiàn)了煙草甲蟲數(shù)量的統(tǒng)計,平均識別精度達到 90%以上,但在煙草甲蟲粘連情況下,CenterNet 算法無法準確識別煙草甲蟲數(shù)量[5]。周維等采用YOLO v4模型作為水稻害蟲的識別模型,使用輕量化神經(jīng)網(wǎng)絡(luò)GhostNet來替換YOLO v4的骨干網(wǎng)絡(luò)CSPDarknet-53從而使網(wǎng)絡(luò)的參數(shù)量和計算量降低,克服了YOLO v4算法延遲高、速率慢等缺點;試驗結(jié)果表明改進后的YOLO v4模型在訓(xùn)練速度和識別率上都優(yōu)于YOLO v4模型[6]。
然而,在害蟲識別方面,目前還面臨著一些挑戰(zhàn),主要包括以下幾個方面:首先是目前公開可用的害蟲圖像數(shù)據(jù)集較少,難以滿足多種多樣的害蟲識別需求;其次是害蟲圖像通常具有背景復(fù)雜、遮擋嚴重、尺度變化大、形態(tài)多樣等特點,嚴重影響害蟲檢測和識別的精度;最后由于大多數(shù)害蟲圖像處理技術(shù)都是基于傳統(tǒng)的機器學(xué)習(xí)或淺層神經(jīng)網(wǎng)絡(luò)模型,缺乏對深層特征和語義信息的挖掘和利用,導(dǎo)致難以適應(yīng)復(fù)雜場景下的害蟲識別任務(wù)[7]。針對上述問題,提出了一種基于改進的YOLO v8模型的煙草害蟲識別方法。YOLO v8是一種基于深度學(xué)習(xí)的端到端的目標檢測算法,相比于其他目標檢測算法,YOLO v8具有速度快、精度高、泛化能力強等優(yōu)點。本研究在原有的YOLO v8算法基礎(chǔ)上,引入了EMA注意力機制,并且用SIoU損失函數(shù)和漸近特征金字塔網(wǎng)絡(luò)(AFPN)對原YOLO v8算法進行改進,進一步提高YOLO v8算法對煙草害蟲檢測和分類的精度和效率。本研究還構(gòu)建了一個包含4種常見煙草害蟲的數(shù)據(jù)集,并在該數(shù)據(jù)集上進行試驗,驗證本研究提出的方法的有效性和優(yōu)越性。
1 材料與方法
1.1 試驗環(huán)境
本試驗基于cuda 11.6+pytorch 1.12.1框架中搭建煙草害蟲的識別模型,Python版本為3.9.13,操作系統(tǒng)為Windows 10,GPU為NVIDIA RTX3070。
1.2 制作數(shù)據(jù)集
選取4種常見的煙草害蟲,分別為煙青蟲(Heliothis assulta)、斜紋夜蛾(Spodoptera litura)、斑須蝽(Dolycoris baccarum)和甜菜夜蛾(Spodoptera exigua)。在網(wǎng)絡(luò)檢索煙草害蟲圖像,并結(jié)合在煙田進行實地煙草害蟲圖像采集,共獲取1 600張圖像樣本。另外,數(shù)據(jù)集中還包含了沒有任何害蟲的煙草圖像作為背景類,目的是為了豐富圖像數(shù)據(jù)集的多樣性,以及降低算法的誤識別率[8],背景類的樣本數(shù)量為400張。4種煙草害蟲的樣本圖像如圖1所示。
1.3 數(shù)據(jù)預(yù)處理
為了減少模型訓(xùn)練所消耗的時間及降低硬件成本,首先需要將煙草害蟲圖像分辨率統(tǒng)一調(diào)整為600像素×600像素。其次采用了標注工具LabelImg對煙草害蟲圖像進行了標注,為每個害蟲圖像畫出了一個邊界框,并給出了其類別標簽,將注釋以PASCAL VOC格式保存為XML文件。
為了提高模型的泛化能力和魯棒性,通過隨機裁剪、隨機縮放和Mixup圖像融合的方法對煙草害蟲樣本圖像進行擴充[9]。將煙草害蟲的圖像樣本擴充到3 500張。為改進的YOLO v8網(wǎng)絡(luò)訓(xùn)練提供了充足有效的樣本。其中隨機裁剪的操作為每個害蟲圖像隨機生成了1個0.5~1之間的比例系數(shù),并根據(jù)該比例系數(shù)在圖像中隨機裁剪出1個子區(qū)域作為新的圖像。Mixup圖像融合是采用線性插值的方式從訓(xùn)練集生成新的數(shù)據(jù)點與標簽的隨機凸組合(convex combinations),將2個樣本-標簽數(shù)據(jù)對按比例相加后生成新的樣本-標簽數(shù)據(jù)。同時,根據(jù)裁剪、縮放和融合后的圖像更新了邊界框和類別標簽的信息,保證了數(shù)據(jù)的一致性。數(shù)據(jù)增強后的煙草害蟲圖像如圖2所示。經(jīng)過以上幾種數(shù)據(jù)預(yù)處理操作后,得到了一個規(guī)范化、多樣化、高質(zhì)量的煙草害蟲圖像數(shù)據(jù)集,為模型的訓(xùn)練和推理提供了良好的基礎(chǔ)。
1.4 改進的YOLO v8網(wǎng)絡(luò)模型
1.4.1 YOLO v8模型及改進 YOLO v8是基于深度學(xué)習(xí)的目標檢測模型,同時也是最新的YOLO模型,目前主要用于對象檢測、圖像分類和實例分割任務(wù)[10]。YOLO v8模型的網(wǎng)絡(luò)結(jié)構(gòu)和YOLO v5基本一致,都是主干網(wǎng)絡(luò)(backbone)+Neck模塊+YOLO Head的結(jié)構(gòu),不同點在于YOLO v8的骨干網(wǎng)絡(luò)和Neck部分參考了YOLO v7 ELAN設(shè)計思想,將CSP結(jié)構(gòu)替換成了有著更多的殘差連接的C2f結(jié)構(gòu),因此有著更豐富的梯度流,不再是一套參數(shù)應(yīng)用所有模型,大幅提升了模型性能。且YOLO v8在Head部分從有錨框(anchor-based)改為了無錨框(ancher-free)檢測頭,不需要預(yù)定義的錨框,而是直接預(yù)測對象的中心點、尺寸和類別,簡化了檢測流程并減少了超參數(shù),同時將原先的耦合頭換成了目前主流的解耦頭結(jié)構(gòu),將分類和檢測用不同的分支
分開處理,這種方法可以有效減少參數(shù)量和計算復(fù)雜度,增強模型的泛化能力和魯棒性。最后 YOLO v8 在損失函數(shù)計算方面,引入了新的對齊分配器(task aligned assigner)正樣本匹配策略,根據(jù)分類與回歸加權(quán)的分數(shù)選擇正樣本,并且取消了損失函數(shù)計算中的置信度損失函數(shù),只使用邊界框損失函數(shù)和分類損失函數(shù)。其中分類損失函數(shù)仍用BCE Loss計算,邊界框損失函數(shù)則使用了分配焦點損失(distribution focal loss,DFL)和CIoU Loss。本研究對原始YOLO v8的模型結(jié)構(gòu)進行了改進,具體為在YOLO v8模型的C2f模塊中引入了EMA注意力機制(圖3);使用AFPN漸近特征金字塔網(wǎng)絡(luò)并且用SIoU損失函數(shù)和AFPN漸近特征金字塔網(wǎng)絡(luò)對原YOLO v8算法進行改進,進一步提高YOLO v8算法對煙草害蟲檢測和分類的精度和效率。
1.4.2 EMA注意力機制 由于煙草害蟲隱蔽性強、身形小,且所處環(huán)境復(fù)雜多變,為了提高算法對煙草害蟲目標的關(guān)注度,本研究將YOLO v8中的C2f模塊中加入期望最大化注意力機制(expectation-maximization attention,EMA)進行改進[11]。作為目前傳統(tǒng)注意力機制的代表,擠壓-激勵注意力模塊(squeeze-and-excitation,SE)明確地模擬了跨維交互作用,用于提取通道注意力[12]。卷積塊注意模塊(convolutional block attention module,CBAM)用特征圖中空間維度和通道維度之間的語義相互依賴關(guān)系建立了跨通道和跨空間的信息[13]。因此,CBAM在將跨維注意力權(quán)重整合到輸入特征中顯示出巨大的潛力。所使用的EMA摒棄了傳統(tǒng)注意力機制中在全圖上計算注意力圖的流程,EMA通過特殊的期望最大化(EM)算法迭代出一組緊湊的基,通過這組基來運行注意力機制,這樣做的好處是大大降低了計算注意力圖時的復(fù)雜度,并且EMA最大的優(yōu)點就是用最少的參數(shù)量來達到有效提高精度的目的。EMA的結(jié)構(gòu)如圖3所示,其中,E步表示更新注意力圖,M步表示更新這組基。E、M交替執(zhí)行,收斂之后用來重建特征圖。EMA算法的主要特點是以保留每個通道上的信息和降低計算開銷為目標,將部分通道重塑為批量維度,并將通道維度分組為多個子特征,使空間語義特征在每個特征組中均勻分布。具體來說,除了對全局信息進行編碼以重新校準每個并行分支中的通道權(quán)重外,還通過跨維度交互進一步聚合2個并行分支的輸出特征,以捕獲像素級成對關(guān)系。本研究把EMA注意力機制加入YOLO v8算法中的C2f模塊中,這種改進在保持最低運算量的情況下提升了算法對煙草害蟲特征信息的理解速度,修改后的C2f模塊在保持小深度和低延遲的同時提高了特征提取的效率[14]。加入EAM注意力機制后的C2f結(jié)構(gòu)如圖3所示。
1.4.3 SIoU損失函數(shù) 損失函數(shù)的準確定義是保證目標檢測算法的準確性和有效性的前提[15-16],YOLO v8模型采用DFL和CIoU Loss作為邊界框損失函數(shù)來判斷樣本的正負[17],其中CIoU Loss在計算真實框和預(yù)測框重疊面積和中心點距離的基礎(chǔ)上,又加入了長寬比的計算,其公式為:
CIoU=IoU-ρ2 (b,bgt )c2+αv。(1)
式中:IoU是預(yù)測框和真實框之間的交并比;b和bgt分別是預(yù)測框和真實框的中心點坐標,ρ2(b,bgt)是預(yù)測框和真實框的中心點之間的歐幾里得距離;c是包圍預(yù)測框和真實框的最小閉包(即外接矩形)的對角線長度;α是平衡因子,確保寬高比的一致性在回歸損失中的權(quán)重;v是一個度量,用于衡量預(yù)測框和真實框之間寬高比的相似性,其公式為:
v=4π2arctanwgthgt-arctanwh2;(2)
α=v(1-IoU)+v。(3)
式中:w、h和wgt、hgt分別代表預(yù)測框的高、寬和真實框的高、寬。
當2個邊界框之間沒有重疊時,梯度回傳消失,此時計算的CIoU為0,2個邊界框之間的距離無法計算;且CIoU無法區(qū)分2個對象之間的對齊方式。為了解決該問題,用SIoU Loss替換CIoU Loss作為YOLO v8算法的邊界損失函數(shù),考慮真實框和預(yù)測框之間的向量角度,重新定義相關(guān)損失函數(shù),能夠更好地優(yōu)化邊界框的具體位置信息[18]。SIoU包含角度損失(angle cost)、距離損失(distance cost)、形狀損失(shape cost)、IoU損失(IoU cost)4個部分。
第1部分是角度損失,其計算方式的示意圖如圖4所示。其中B是目標框,BGT是回歸框,當B到BGT的水平夾角小于45°時,向最小α收斂,反之向β收斂。
實現(xiàn)該功能的損失函數(shù)定義如公式(4)所示。
Λ=1-2×sin2arcsinx-π4。(4)
其中,
x=max(bgtcy,bcy )-min(bgtcx,bcx)(bgtcx-bcx)2+(bgtcy-bcy )2=sinα。(5)
從圖4可以看出,當α為0或π/2時,角度損失為0。在訓(xùn)練過程中,若α<π/4,則在角度損失公式中需要取β值來計算角度損失,反之則取α值。
第2部分是距離損失,為了保證距離與角度的平衡,需要在考慮角度損失的同時考慮到距離損失,距離損失的定義如公式(6)所示。
Δ=∑t=w,h[1-e(Λ-2)ρt]。(6)
其中,
ρx=bgtcx-bcxcw2,ρy=bgtcy-bcych2。(7)
可以看出,當α→0時,距離損失的占比大大降低。相反,α越接近π/4,距離損失占比越大。即隨著角度的增大,距離損失的影響也更大。
第3部分是形狀損失,其定義為:
Ω=∑t=w,h(1-e-ωt)θ。(8)
其中,
ωw=|w-wgt |max(w,wgt),ωh=|h-hgt |max(h,hgt)。(9)
從定義來看,形狀損失主要看回歸框的形狀與標簽框是否相似,在每個數(shù)據(jù)集中形狀損失的值是唯一。θ的值控制著形狀損失的重要程度。本研究中定義的θ的值是4。
最后一個是IoU損失,結(jié)合前3部分得到總體的損失函數(shù)定義如公式(10)所示。
Lbox=1-IoU+Δ+Ω2。(10)
1.4.4 AFPN漸近特征金字塔網(wǎng)絡(luò) 目標檢測方法中,隨著網(wǎng)絡(luò)深度的增加,特征圖的尺寸越來越小,語義信息也越來越抽象。淺層特征圖的語義信息較少,目標位置相對比較準確,深層特征圖的語義信息比較豐富,目標位置則比較粗略,導(dǎo)致了目標大小的不確定性可能導(dǎo)致單尺度特征提取中詳細信息的丟失[19]。因此,目標檢測模型通常引入特征金字塔結(jié)構(gòu)來解決尺度變化的問題[20]。其中,F(xiàn)PN是最常用的特征金字塔結(jié)構(gòu)[21]。FPN使用自上而下的方式將高級特征轉(zhuǎn)移到低級特征,以實現(xiàn)不同級別特征的融合。FPN的功能可以說是融合了淺層到深層的特征圖,從而充分利用各個層次的特征。但是,在這個過程中,非相鄰特征的融合效果被大大削弱。為此,在YOLO v8算法中引入了PAFPN網(wǎng)絡(luò),其特點是在FPN的基礎(chǔ)上增加了一條自下而上的路徑,使高級特征和低級特征得到融合[22]。但同時PAFPN的自下而上的路徑帶來了新的問題:非相鄰特征的直接特征融合,可能會導(dǎo)致部分特征信息在傳輸和交互過程中發(fā)生丟失或退化。因此,本研究使用漸近特征金字塔網(wǎng)絡(luò)(AFPN)來改進YOLO v8的特征金字塔網(wǎng)絡(luò),AFPN支持非相鄰層的直接交互,其原理是AFPN通過融合2個相鄰的低級特征,并漸近地將高級特征納入融合過程中[23]。這樣可以避免非相鄰級別之間較大的語義差距。AFPN的架構(gòu)如圖5所示。
從圖5可以看出,在骨干網(wǎng)絡(luò)自下而上的特征提取過程中,AFPN漸進地集成了高級特征和低級特征。具體來說,AFPN最初融合了低級特征,然后融合了深層特征,最后融合了最高級的特征,即最抽象的特征。非相鄰層次特征之間的語義差距大于相鄰層次特征間的語義差距,尤其是底部和頂部特征。這直接導(dǎo)致了非相鄰層次特征的融合效果較差。為了抑制不同層次特征之間的信息矛盾,AFPN在多層次特征融合過程中引入了自適應(yīng)空間融合操作(圖中的藍線),為不同級別的特征分配不同的空間權(quán)重,增強了關(guān)鍵級別的重要性,并減輕了來自不同目標的矛盾信息的影響。
AFPN中的自適應(yīng)空間融合結(jié)構(gòu)的具體操作為:當融合3個層次的特征時,讓xij(nl)表示從級別n到級別l處的特征向量。用yij(l)表示結(jié)果特征向量,則三級特征的自適應(yīng)空間融合公式為:
yij (l)=αij(l)·xij(1l)+βij(l)·xij(2l)+γij(l)·xij(3l)。(11)
式中:αij(l)、βij(l)和γij(l)分別表示3個級別的特征在級別l處的空間權(quán)重,且其受到αij(l)+βij(l)+γij(l)=1的約束。自適應(yīng)特征融合的操作考慮到了不同階段特征融合數(shù)量的差異,該公式實現(xiàn)了特定階段數(shù)量的自適應(yīng)空間融合模塊。
1.5 模型評價指標
為了驗證改進的YOLO v8模型對煙草害蟲目標檢測的準確性,所使用的評價指標有精確率(precision,P)、召回率(recall,R)、Giga浮點運算(GFLOPs)、平均精度均值(mean average precision,mAP)和檢測速度(frame per second,F(xiàn)PS)。其中,精確率、召回率和平均精度均值用于衡量模型的檢測精度,GFLOPs和FPS分別用于度量模型復(fù)雜度(模型體積)和模型推理速度。
精確率是指在被所有預(yù)測為正的樣本中實際為正樣本的概率,公式如下:
P=TPTP+FP。(12)
召回率指在實際為正的樣本中被預(yù)測為正樣本的概率,公式如下:
R=TPTP+FN。(13)
式中:TP表示正確預(yù)測出來的正樣本數(shù)量,F(xiàn)P表示將負樣本錯誤預(yù)測為正樣本的數(shù)量,F(xiàn)N表示將正樣本錯誤預(yù)測為負樣本的數(shù)量。
平均精度均值指的是各類別平均正確率的平均值,計算出所有類別的平均正確率后除以類別總數(shù)即得到平均精度均值,計算公式如公式(14)所示:
mAP=∑APN(C)。(14)
式中:∑AP表示全部類別的平均精度值之和,N(C)表示全部類別的總數(shù)。mAP的值越高,模型的檢測效果就越好。
2 結(jié)果與分析
2.1 參數(shù)設(shè)置與訓(xùn)練
將經(jīng)過預(yù)處理后得到3 500個經(jīng)過標注的煙草害蟲圖像作為本試驗訓(xùn)練數(shù)據(jù)集,輸入圖片大小設(shè)置為600像素×600像素,隨后通過代碼將數(shù)據(jù)集按照6 ∶2 ∶2劃分為訓(xùn)練集、測試集和驗證集。在訓(xùn)練模型時,初始學(xué)習(xí)率設(shè)置為0.001,總訓(xùn)練輪次(epoch)大小為300,且訓(xùn)練批次(batch_size)設(shè)置為16,為了加快訓(xùn)練速度且不影響識別準確率,本試驗采用凍結(jié)訓(xùn)練,將主干特征提取網(wǎng)絡(luò)凍結(jié)一部分,其中前100輪訓(xùn)練為凍結(jié)訓(xùn)練,隨后將其解凍并將學(xué)習(xí)率設(shè)置為0.000 1,訓(xùn)練批次設(shè)置為32,訓(xùn)練到300輪次[24]。本次試驗周期為 2023年8月至 2023年10月,試驗地點為鄭州輕工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院數(shù)據(jù)智能實驗室。
2.2 消融試驗
針對煙草害蟲身形較小,所處環(huán)境復(fù)雜的問題,首先在YOLO v8算法的基礎(chǔ)上,加入了EMA注意力機制;其次用SIoU Loss改進YOLO v8的邊界框損失函數(shù);最后利用AFPN漸近特征金字塔網(wǎng)絡(luò)改進了YOLO v8的PAFPN網(wǎng)絡(luò)。為了對比各模塊對于YOLO v8算法的影響,驗證改進算法的效果,在相同環(huán)境下進行了消融試驗,試驗結(jié)果如表1所示。
從表1可以看出,引入EMA注意力機制后,僅用少量參數(shù),就能夠有效提高YOLO v8算法的檢測精度, 且對檢測速率的影響較小。SIoU損失函數(shù)和AFPN特征金字塔的改進都使得YOLO v8算法的檢測精度進一步提高,并且AFPN特征金字塔改進YOLO v8的PAFPN網(wǎng)絡(luò)可以降低模型的參數(shù)量,加快了模型檢測速率。試驗結(jié)果表明,3種改進策略在滿足煙草害蟲檢測實時性的同時可有效提升模型對煙草害蟲識別的精度。
2.3 試驗驗證及分析
為了評估改進后的YOLO v8模型在實際應(yīng)用中的表現(xiàn)。訓(xùn)練完成后,使用改進后的 YOLO v8模型對煙草害蟲測試集圖像進行識別,同時也使用原始YOLO v8模型作為對比,得到的預(yù)測效果如圖6所示。
從預(yù)測結(jié)果(圖6)可以看出,改進后的YOLO v8模型在4種不同的煙草害蟲的檢測結(jié)果上均明顯優(yōu)于原始的YOLO v8模型。原始YOLO v8模型在圖像清晰度不高或煙草害蟲處于復(fù)雜背景時,識別結(jié)果會出現(xiàn)漏檢的情況,而改進后的YOLO v8模型則不會出現(xiàn)以上情況。結(jié)合多個圖像的不同煙草害蟲預(yù)測結(jié)果對比分析可知,和原始YOLO v8模型相比,改進后的YOLO v8模型對不同種類的煙草害蟲具有更好的識別效果。
為了進一步驗證改進后的YOLO v8算法的性能,將YOLO v8改進模型與其他主流目標檢測算法Faster R-CNN、單階段多分類檢測器(single shot multibox detector,SSD)、Retinanet 進行比較。除此之外,還將YOLO v3-tiny、YOLO v4-tiny、YOLO v5s、YOLO v8與改進后的YOLO v8模型進行比較,用來驗證改進后的模型在YOLO系列模型中的性能。將上述的模型均采用相同的硬件設(shè)施和相同的數(shù)據(jù)集進行訓(xùn)練,經(jīng)過測試,8種不同的模型在相同的煙草害蟲數(shù)據(jù)集上的精確率、召回率、GFLOPs、平均精度均值和檢測速度如表2所示。
從表2可以看出,改進后的YOLO v8模型與Faster R-CNN、SSD、Retinanet相比,精確率、召回率、mAP值均有小幅提高,并且改進后的YOLO v8模型在計算量方面有大幅下降,分別僅為上述模型的2.1%、2.9%和6.5%,低計算量使得改進的YOLO v8模型具有較低的算法復(fù)雜度,在FPS上對比其他模型也有明顯提升。這說明本研究模型與其他的目標檢測模型相比能夠在檢測準確率保持提升的情況下,大幅降低了模型的復(fù)雜度和計算量,更能夠滿足煙草害蟲檢測的實時性的要求。改進后的YOLO v8模型在與YOLO v3-tiny、YOLO v4-tiny、YOLO v5s和YOLO v8這些輕量級的YOLO模型相比時,精確率分別提高了11.71、15.31、7.50、1.13百分點,召回率和mAP值也均有較大提高。改進后的YOLO v8算法計算量為7.9 G FLOPs,即使在輕量級模型中也處于較低的水準,與輕量化的同系列模型相比較,改進后的YOLO v8模型在滿足快速檢測煙草害蟲的同時也實現(xiàn)了更高的檢測精度。
綜上所述,與其他檢測模型相比較,改進后的YOLO v8模型兼顧精準和高效的要求,以極低的模型體積實現(xiàn)了極高的煙草害蟲檢測精度,且改進后的YOLO v8模型的算法復(fù)雜度低,更容易部署在各類硬件上。改進后的YOLO v8模型在滿足對復(fù)雜環(huán)境下的煙草害蟲進行準確且高效識別的同時,還更容易實現(xiàn)后續(xù)模型的維護和擴展。
3 結(jié)論與討論
本研究針對煙草害蟲檢測存在公開可用的圖像數(shù)據(jù)集少,以及由于各類煙草害蟲圖像背景復(fù)雜、煙草害蟲形態(tài)多樣,導(dǎo)致難以檢測和分類的問題,構(gòu)建了一個包含煙青蟲、斜紋夜蛾、斑須蝽和甜菜夜蛾這4種常見煙草害蟲的數(shù)據(jù)集,并提出了一種基于改進的YOLO v8模型的煙草害蟲識別方法。該方法在YOLO v8模型的基礎(chǔ)上做出了如下創(chuàng)新:(1)在YOLO v8算法的C2f模塊中加入EMA,與CBAM、SA、ECA等傳統(tǒng)的注意力機制相比,EMA除了在不降低通道維數(shù)的情況下在每個并行子網(wǎng)中構(gòu)建本地跨通道交互之外,還通過跨空間學(xué)習(xí)方法融合了2個并行子網(wǎng)的輸出特征映射。這使得加入EMA后不僅算法的特征提取效果更好,而且在所需參數(shù)方面效率更高。(2)使用SIoU損失函數(shù)作為YOLO v8的邊界框損失函數(shù),提高了模型的收斂速度和邊界框的預(yù)測精度。(3)用AFPN漸近特征金字塔網(wǎng)絡(luò)替代YOLO v8的PAFPN網(wǎng)絡(luò),不但降低了模型的參數(shù)量,還改善了原始YOLO v8算法在進行非相鄰特征的特征融合時,會導(dǎo)致部分特征信息在傳輸過程中丟失的問題。利用自制的煙草害蟲數(shù)據(jù)集進行訓(xùn)練和測試,試驗結(jié)果表明改進后的YOLO v8算法比原算法參數(shù)量更少,算法復(fù)雜度更低,模型檢測精度更高。針對各種形態(tài)的煙草害蟲的識別更準確,且滿足煙草害蟲檢測的實時性要求。改進后的模型在4種煙草害蟲數(shù)據(jù)集上的識別精確率、召回率和mAP分別達到了91.26%、89.13%、92.62%,計算量減少到 7.9 G FLOPs,檢測速度為67幀/s。與其他主流目標檢測模型進行對比,改進后的YOLO v8模型在計算量方面相比Faster R-CNN、SSD、Retinanet模型有大幅下降,平均僅為上述模型的3.8%;改進后的YOLO v8模型與YOLO v3-tiny、YOLO v4-tiny、YOLO v5和YOLO v8這些輕量級的YOLO模型相比時,精確率平均提高了8.91百分點;對比上述其他所有模型,改進的YOLO v8模型的識別精確率、召回率和mAP均高于上述其他模型。試驗結(jié)果表明,本研究算法在提高了檢測精度的情況下大幅降低了模型復(fù)雜度,更適合進行煙草害蟲的實時檢測。下一步的研究重點是將改進后的模型實際應(yīng)用于不同種類的煙草害蟲檢測中,在實際應(yīng)用中不斷擴充數(shù)據(jù)集并改善模型結(jié)構(gòu)。
參考文獻:
[1]Yun T,Wang S H,Li E,et al. MD-YOLO:multi-scale dense YOLO for small target pest detection[J]. Computers and Electronics in Agriculture,2023,213(1):108233.
[2]Sharma U,Goel T,Singh J. Real-time image processing using deep learning with Opencv and Python[J]. Journal of Pharmaceutical Negative Results,2023,14(3):1905-1908.
[3]楊光露,魯曉平,李 琪,等. 基于改進輕量化YOLO v5s的卷煙廠煙草粉螟視覺檢測方法[J]. 輕工學(xué)報,2023,38(6):102-109.
[4]鄭 果,姜玉松,沈永林. 基于改進YOLO v7的水稻害蟲識別方法[J]. 華中農(nóng)業(yè)大學(xué)學(xué)報,2023,42(3):143-151.
[5]楊光露,李春松,李愿軍,等. 基于CenterNet模型的煙草甲蟲視覺檢測方法設(shè)計[J]. 中國煙草學(xué)報,2022,28(6):77-84.
[6]周 維,牛永真,王亞煒,等. 基于改進的YOLO v4-GhostNet水稻病蟲害識別方法[J]. 江蘇農(nóng)業(yè)學(xué)報,2022,38(3):685-695.
[7]Luo D H,Xue Y J,Deng X R,et al. Citrus diseases and pests detection model based on self-attention YOLO v8[J]. IEEE Access,2023,11(4):139872-139881.
[8]李偉豪,詹 煒,周 婉,等. 輕量型YOLO v7-TSA 網(wǎng)絡(luò)在茶葉病害檢測識別中的研究與應(yīng)用[J]. 河南農(nóng)業(yè)科學(xué),2023,52(5):162-169.
[9]何卓遜. 圖像識別中數(shù)據(jù)增強方法的理解與改進[D]. 上海:上海交通大學(xué),2020.
[10]Zhu R X,Hao F Q,Ma D X. Research on polygon pest-infected leaf region detection based on YOLO v8[J]. Agriculture,2023,13(12):2253.
[11]Wang L H,Chao R,Meng H,et al. Cattle body detection based on YOLO v5-EMA for precision livestock farming[J]. Animals,2023,13(22):3535.
[12]Kaj S,Cha C. SE-SqueezeNet:SqueezeNet extension with squeeze-and-excitation block[J]. International Journal of Computational Science and Engineering,2021,24(2):185-199.
[13]Ma B,Wang X R,Zhang H,et al. CBAM-GAN:generative adversarial networks based on convolutional block attention module[J]. Artificial Intelligence and Security,2019,11632(2):227-236.
[14]Wu T Y,Dong Y K. YOLO-SE:improved YOLO v8 for remote sensing object detection and recognition[J]. Applied Sciences,2023,13(24):12977.
[15]李利榮,張云良,陳 鵬,等. 基于輕量化YOLO v4的復(fù)雜場景絕緣子缺陷檢測算法[J]. 光電子(激光),2022,33(6):598-606.
[16]周紹發(fā),肖小玲,劉忠意,等. 改進的基于YOLOv5s蘋果樹葉病害檢測[J]. 江蘇農(nóng)業(yè)科學(xué),2023,51(13):212-220.
[17]Zhang G L,Du Z X,Lu W J,et al. Dense pedestrian detection based on YOLO v4 network reconstruction and CIoU loss optimization[J]. Journal of Physics,2022,2171(1):012019.
[18]Sun D L,Zhang L J,Wang J Q,et al. Efficient and accurate detection of herd pigs based on Ghost-YOLO v7-SIoU[J]. Neural Computing & Applications,2023,36(14):2339-2352.
[19]周飛燕,金林鵬,董 軍. 卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J]. 計算機學(xué)報,2017,40(6):1229-1251.
[20]Quan Y,Zhang D,Zhang L,et al. Centralized feature pyramid for object detection[J]. IEEE Transactions on Image Processing,2023,32(1):4341-4354.
[21]劉 穎,劉紅燕,范九倫,等. 基于深度學(xué)習(xí)的小目標檢測研究與應(yīng)用綜述[J]. 電子學(xué)報,2020,48(3):590-601.
[22]Fu L,Wang H Z. Object detection algorithm based on improved FCOS[J]. International Core Journal of Engineering,2022,48(3):507-516.
[23]Liu C H,Lin W R,F(xiàn)eng Y F,et al. ATC-YOLO v5:fruit appearance quality classification algorithm based on the improved YOLO v5 model for passion fruits[J]. Mathematics,2023,11(3615):3615.
[24]邵延華,張 鐸,楚紅雨,等. 基于深度學(xué)習(xí)的YOLO目標檢測綜述[J]. 電子與信息學(xué)報,2022,44(10):3697-3708.