摘要: 針對(duì)自然環(huán)境下番茄葉片存在的復(fù)雜背景和密集遮擋情況,提出一種改進(jìn)的YOLOv5模型,用于實(shí)時(shí)檢測(cè)自然環(huán)境下番茄葉片的病害。首先,使用RepVGG模塊代替YOLOv5中主干網(wǎng)絡(luò)的卷積層,改善主干網(wǎng)絡(luò)的特征提取能力,減少模型的內(nèi)存占用,加速模型的推理速度;其次,在頸部的C3模塊中引入注意力機(jī)制模塊CBAM,提高模型在復(fù)雜背景下對(duì)番茄患病葉片的檢測(cè)精度以及對(duì)遮擋目標(biāo)的識(shí)別率;最后,引用新的損失函數(shù)SIoU,加速模型的收斂速度并降低模型的損失值。研究結(jié)果表明,相比于原YOLOv5模型,改進(jìn)模型的平均精度提升3.0個(gè)百分點(diǎn),平均精度高達(dá)98.9%,說(shuō)明改進(jìn)模型在自然環(huán)境下對(duì)番茄患病葉片的檢測(cè)更具優(yōu)勢(shì)。
關(guān)鍵詞: 病害檢測(cè);深度學(xué)習(xí);YOLOv5;注意力機(jī)制
中圖分類號(hào): TP391;S641.2"" 文獻(xiàn)標(biāo)識(shí)碼: A"" 文章編號(hào): 1000-4440(2024)06-1028-10
Tomato diseased leaf detection model based on improved YOLOv5 in natural environment
LI Renjie, SONG Tao, GAO Jie, LI Dong, GAO Peng, LI Bingxin, YANG Po
(School of Electronic and Information Engineering, Hebei University of Technology, Tianjin 300000, China)
Abstract: Aiming at the complex background and dense occlusion of tomato leaves in natural environment, an improved YOLOv5 model was proposed for real-time detection of tomato leaf diseases in natural environment. Firstly, the RepVGG module was used to replace the convolutional layer of the backbone network in YOLOv5, which improved the feature extraction capability of the backbone network, reduced the memory occupation of the model and accelerated the reasoning speed of the model. Secondly, the attention mechanism module CBAM was introduced into C3 module in neck part to improve the detection accuracy of tomato diseased leaves and the recognition rate of shielded targets in the complex background. Finally, a new loss function SIoU was introduced to accelerate the convergence speed of the model and reduce the loss value of the model. The research results showed that compared with the original YOLOv5 model, the average precision of the improved model increased by three percentage points, and the average accuracy was as high as 98.9%, indicating that the improved model was more advantageous in the detection of tomato diseased leaves in natural environment.
Key words: disease detection;deep learning;YOLOv5;attention mechanism
番茄營(yíng)養(yǎng)豐富、口感獨(dú)特、種植面積大,是重要的經(jīng)濟(jì)作物之一[1]。番茄種植過(guò)程中常見(jiàn)的病害有早疫病、晚疫病、斑點(diǎn)病等。不同的病害會(huì)導(dǎo)致番茄葉片生理形態(tài)發(fā)生不同的變化,如形變、變色、卷曲、腐爛等,檢測(cè)番茄葉片形態(tài)變化是識(shí)別番茄病害的關(guān)鍵。在實(shí)際生產(chǎn)過(guò)程中,生產(chǎn)者往往采用人工識(shí)別的方法去識(shí)別番茄葉片病害種類,這種識(shí)別方法效率低且效果不佳。因此,如果能夠?qū)崿F(xiàn)對(duì)番茄病害的實(shí)時(shí)檢測(cè),就能夠及時(shí)指導(dǎo)生產(chǎn)者進(jìn)行植物保護(hù),從而達(dá)到提高番茄產(chǎn)量和質(zhì)量的生產(chǎn)目標(biāo)。
針對(duì)作物病害檢測(cè)問(wèn)題,傳統(tǒng)機(jī)器學(xué)習(xí)識(shí)別方法由于具有計(jì)算效率高、魯棒性強(qiáng)等優(yōu)勢(shì)而廣受歡迎。但是傳統(tǒng)機(jī)器學(xué)習(xí)識(shí)別方法需要具有豐富經(jīng)驗(yàn)和專業(yè)知識(shí)的人去設(shè)計(jì)特征提取過(guò)程,且特征提取過(guò)程需要進(jìn)行大量的試驗(yàn)和調(diào)整,會(huì)花費(fèi)大量時(shí)間和精力[2]。
相較于傳統(tǒng)機(jī)器學(xué)習(xí)識(shí)別方法,深度學(xué)習(xí)方法可以使用更深、更復(fù)雜的模型來(lái)自動(dòng)地學(xué)習(xí)特征,從而避免了手動(dòng)設(shè)計(jì)特征的繁瑣過(guò)程[3],因此,深度學(xué)習(xí)方法在農(nóng)業(yè)生產(chǎn)中得到了廣泛的運(yùn)用。Ozguven等[4]通過(guò)改變Faster R-CNN模型的參數(shù)實(shí)現(xiàn)對(duì)甜菜葉斑病的自動(dòng)檢測(cè),獲得了95.48%的總體分類正確率。Waheed等[5]提出一種用于檢測(cè)玉米早期病害的卷積神經(jīng)網(wǎng)絡(luò)模型,該模型的識(shí)別準(zhǔn)確率達(dá)到98.06%。Liu等[6]將Inception結(jié)構(gòu)、深度可分離卷積和稠密連通結(jié)構(gòu)相結(jié)合,構(gòu)建了一個(gè)高效的葡萄葉片害蟲(chóng)檢測(cè)網(wǎng)絡(luò),該模型的準(zhǔn)確率可達(dá)97.22%。
雖然深度學(xué)習(xí)方法在農(nóng)業(yè)病害檢測(cè)方面取得了不錯(cuò)的成果,學(xué)者們構(gòu)建的作物病害檢測(cè)模型有著較高的識(shí)別率,但是大多數(shù)檢測(cè)模型的研究都是基于簡(jiǎn)單的實(shí)驗(yàn)室環(huán)境進(jìn)行的[7],而自然場(chǎng)景下番茄葉片的檢測(cè)過(guò)程中普遍存在背景復(fù)雜、葉片被遮擋等情況,復(fù)雜的背景信息會(huì)引入大量的噪聲信息,而葉片之間的遮擋會(huì)使目標(biāo)區(qū)域的部分信息丟失,這大大增加了誤檢率和漏檢率,從而降低了算法的檢測(cè)精度[8]。因此,本研究擬提出一種改進(jìn)的YOLOv5模型,使用RepVGG模塊代替主干網(wǎng)絡(luò)中的CBS結(jié)構(gòu),以提升模型的檢測(cè)精度,并加速模型的推理;頸部(Neck)中的C3模塊引入注意力機(jī)制模塊CBAM并命名為C3CBAM,以使模型在訓(xùn)練時(shí)加強(qiáng)對(duì)目標(biāo)區(qū)域的關(guān)注,提升對(duì)遮擋目標(biāo)的識(shí)別率和對(duì)復(fù)雜背景的區(qū)分能力,有效減少漏檢和誤檢的情況;使用損失函數(shù)SIoU代替YOLOv5模型原本的損失函數(shù)CIoU,以加速模型的收斂并降低損失值,以期為自然環(huán)境下番茄患病葉片的實(shí)時(shí)、精準(zhǔn)檢測(cè)奠定基礎(chǔ)。
1 材料與方法
1.1 數(shù)據(jù)集
本研究使用的數(shù)據(jù)集來(lái)自于公開(kāi)的PlantDoc[9]數(shù)據(jù)集,數(shù)據(jù)集包括7類番茄葉片,即健康的番茄葉片、患早疫病的番茄葉片、患晚疫病的番茄葉片、患葉斑病的番茄葉片、患葉菌斑病的番茄葉片、患葉黃病的番茄葉片、患花葉病的番茄葉片,一共1 178張。7類番茄葉片的圖像如圖1所示。
本研究使用的番茄患病葉片、健康葉片數(shù)據(jù)集均采用LabelImg標(biāo)簽標(biāo)注工具進(jìn)行手動(dòng)注釋,繪制出葉片邊界框和葉片患病的種類,以數(shù)據(jù)集中部分番茄葉片圖片為例,LabelImg工具標(biāo)注的結(jié)果見(jiàn)圖2。
1.2 數(shù)據(jù)預(yù)處理
為了防止由于訓(xùn)練數(shù)據(jù)太少而導(dǎo)致的過(guò)度擬合和不收斂問(wèn)題,對(duì)數(shù)據(jù)集樣本進(jìn)行數(shù)據(jù)增強(qiáng),數(shù)據(jù)增強(qiáng)的方法包括高斯模糊、水平翻轉(zhuǎn)、隨機(jī)旋轉(zhuǎn)、色彩抖動(dòng)4種方法。擴(kuò)充之后的數(shù)據(jù)集共有3 130張圖片。擴(kuò)充后的數(shù)據(jù)集按8∶1∶1的比例劃分為訓(xùn)練集、測(cè)試集和驗(yàn)證集。本研究原始數(shù)據(jù)集中番茄葉片的種類和數(shù)量見(jiàn)表1。
1.3 試驗(yàn)環(huán)境
試驗(yàn)設(shè)備為臺(tái)式計(jì)算機(jī),選擇Windows10作為操作系統(tǒng),搭載PyTorch深度學(xué)習(xí)框架,編程語(yǔ)言選擇Python 3.8,CUDA版本為11.3。硬件部分:處理器為Intel CoreTM i7-11700KF,主頻為3.60 GHz,內(nèi)存為32 G,顯卡為NVIDIAGeForce RTX3090。模型網(wǎng)絡(luò)的訓(xùn)練輪次設(shè)為200個(gè)周期,批量大小設(shè)置為64,優(yōu)化器默認(rèn)采用隨機(jī)梯度下降(Stochastic gradient descent,SGD),動(dòng)量參數(shù)取值為0.937,初始學(xué)習(xí)率默認(rèn)設(shè)為0.01。
1.4 YOLOv5模型結(jié)構(gòu)
YOLOv5模型具有推理速度快、精度高、體積小等優(yōu)點(diǎn),本研究選取YOLOv5模型作為基線網(wǎng)絡(luò),在此基礎(chǔ)上對(duì)模型進(jìn)行改良。YOLOv5模型結(jié)構(gòu)見(jiàn)圖3,模型主要分為輸入層(Input)、主干網(wǎng)絡(luò)(Backbone)、頸部(Neck)和頭部(Head)4個(gè)部分。
在輸入模塊對(duì)輸入的圖像進(jìn)行預(yù)處理。利用馬賽克(Mosaic)數(shù)據(jù)增強(qiáng)方法增加數(shù)據(jù)集的多樣性;自適應(yīng)錨框運(yùn)用K均值聚類算法計(jì)算出最佳初始錨框值;用自適應(yīng)圖片縮放功能調(diào)整圖像的大小,使得圖像能夠被高效處理,同時(shí)保持較好的目標(biāo)檢測(cè)性能。
主干網(wǎng)絡(luò)由焦點(diǎn)(Foucs)切片、CBS、CSP和空間金字塔池化(SPP)4個(gè)模塊構(gòu)成,輸入圖片采用Foucs進(jìn)行切片操作,然后經(jīng)過(guò)CBS和CSP模塊完成特征提取,最后利用空間金字塔池化模塊對(duì)輸入特征圖進(jìn)行池化操作,實(shí)現(xiàn)圖片自適應(yīng)尺寸的輸出。
頸部采用了特征金字塔網(wǎng)絡(luò)(FPN)結(jié)構(gòu)加路徑聚合網(wǎng)絡(luò)(PANet)結(jié)構(gòu),F(xiàn)PN的作用是將上層的強(qiáng)語(yǔ)義信息融入底層,PANet的作用則是自底向上傳遞特征圖的定位信息[10]。
頭部輸出20×20、40×40、80×80共3個(gè)不同大小的特征圖,每個(gè)特征圖對(duì)應(yīng)不同大小的預(yù)測(cè)框,每個(gè)預(yù)測(cè)框都包含置信度、分類概率和邊界框位置信息,采用非極大值抑制算法(NMS)保留符合閾值的預(yù)測(cè)框。
1.5 YOLOv5模型改進(jìn)方法
1.5.1 引入RepVGG模塊 RepVGG模塊[11]利用結(jié)構(gòu)重參數(shù)化方法設(shè)計(jì)了一種可融合的網(wǎng)絡(luò)結(jié)構(gòu),在訓(xùn)練階段,RepVGG模塊采用由3×3卷積、1×1卷積和恒等映射模塊組成的多分支網(wǎng)絡(luò)結(jié)構(gòu),如圖4A所示,多分支結(jié)構(gòu)可以使模型在訓(xùn)練時(shí)融合不同尺度的特征圖信息,加強(qiáng)網(wǎng)絡(luò)的特征提取能力,但是多分支結(jié)構(gòu)會(huì)增加硬件內(nèi)存消耗,這是因?yàn)槊柯贩种в?jì)算都會(huì)占用硬件的內(nèi)存空間,直到所有分支計(jì)算結(jié)束融合后才釋放內(nèi)存[12]。因此在推理階段,RepVGG模塊通過(guò)結(jié)構(gòu)重參化的方式將多分支的卷積算子融合到主分支結(jié)構(gòu)中,合并成卷積核為3×3的單分支網(wǎng)絡(luò),如圖4B所示,單分支結(jié)構(gòu)可以有效減少內(nèi)存開(kāi)銷,提升模型推理速度。
本研究引入RepVGG模塊來(lái)對(duì)YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行優(yōu)化設(shè)計(jì),將主干網(wǎng)絡(luò)中原有的CBS模塊替換為RepVGG模塊,為了兼顧模型的復(fù)雜度和性能,主干網(wǎng)絡(luò)中的C3模塊的數(shù)量縮減為原來(lái)的1/3。融合RepVGG模塊的主干網(wǎng)絡(luò)(圖5),RepVGG模塊能使網(wǎng)絡(luò)在進(jìn)行番茄患病葉片檢測(cè)時(shí)兼具多分支模型與單路模型的優(yōu)點(diǎn)。在訓(xùn)練階段,多分支結(jié)構(gòu)可以通過(guò)融合不同大小的卷積核來(lái)獲得不同大小的感受野,強(qiáng)化了網(wǎng)絡(luò)的特征表達(dá)能力,從而改善了網(wǎng)絡(luò)模型對(duì)患病葉片的檢測(cè)效果;在推理階段,RepVGG模塊通過(guò)結(jié)構(gòu)重參數(shù)化方式將多分支結(jié)構(gòu)解耦為單路結(jié)構(gòu),提升了推理速度,以滿足模型實(shí)時(shí)檢測(cè)的需求。
1.5.2 CBAM注意力機(jī)制模塊 CBAM[13]模塊融合了通道注意力模塊(CAM)和空間注意力模塊(SAM)。在通道注意力模塊中,輸入尺寸為長(zhǎng)度(C)×高度(H)×寬度(W)的特征圖會(huì)經(jīng)過(guò)上下路并行的平均池化層和全局池化層,輸出大小為C×1×1的特征圖,然后通過(guò)共享網(wǎng)絡(luò)多層感知機(jī)(MLP)將特征圖大小縮小至C/r×1×1,其中r為縮減比,將這2個(gè)輸出結(jié)果進(jìn)行逐元素相加,再經(jīng)過(guò)激活函數(shù)得到大小為C×1×1的特征圖,將最后得到的特征圖與原特征圖相乘,得到大小為C×H×W的通道注意力特征圖傳入空間注意力模塊。
在空間注意力模塊中,輸入特征圖依次經(jīng)過(guò)全局池化層、平均池化層,得到大小為1×H×W的2個(gè)特征圖,將得到的特征圖進(jìn)行通道上的相加,再采用7×7的卷積核進(jìn)行卷積操作,最后通過(guò)激活函數(shù)得到1×H×W大小的特征圖,此時(shí)得到的1×H×W大小的特征圖反映了特征圖上每個(gè)區(qū)域的權(quán)重,數(shù)值越大表明重要性越高。將該反映權(quán)重的特征圖與原特征圖進(jìn)行相乘,使得輸出的特征圖維度變?yōu)樵瓉?lái)的C×H×W,就能通過(guò)不同區(qū)域的加權(quán)值大小來(lái)區(qū)分特征圖中區(qū)域的重要程度高低。CBAM模塊的結(jié)構(gòu)如圖6所示。
自然環(huán)境下采集到的番茄葉片圖像背景復(fù)雜且目標(biāo)對(duì)象多,患病葉片之間存在較嚴(yán)重的遮擋情況,檢測(cè)時(shí)可能會(huì)造成對(duì)遮擋葉片的漏檢和誤檢。因此,在C3模塊上引入了CBAM注意力機(jī)制模塊,目的是希望檢測(cè)模型能夠?qū)D片的重要位置和重要內(nèi)容進(jìn)行關(guān)注,區(qū)分復(fù)雜背景和需要關(guān)注的目標(biāo)對(duì)象區(qū)域,提高對(duì)遮擋目標(biāo)的識(shí)別率進(jìn)而改善模型的檢測(cè)性能。本研究在YOLOv5頸部的C3模塊中加入了CBAM注意力機(jī)制,命名為C3CBAM模塊,頸部原始的C3模塊結(jié)構(gòu)如圖7A所示,改進(jìn)后的C3CBAM模塊結(jié)構(gòu)如圖7B所示。
1.5.3 損失函數(shù)設(shè)計(jì) YOLOv5模型的損失函數(shù)為邊界回歸損失值(Lbox)、目標(biāo)置信度損失值(Lobj)和分類損失值(Lcls)的加權(quán)和,損失值(LOSS)的計(jì)算方法如公式(1)所示:
Loss=λ1Lbox+λ2Lobj+λ3Lcls(1)
式中,λ1~λ3為權(quán)重參數(shù)。
YOLOv5的邊界回歸損失值(Lbox)采用CIoU損失函數(shù)表示[14],計(jì)算方法如公式(2)所示:
CIoU=1-IoU+ρ2(b,bgt)c2+αv(2)
式中,IoU[15]表示預(yù)測(cè)框與真實(shí)框交集和并集的比值;ρ2(b,bgt)表示預(yù)測(cè)框與真實(shí)框中心點(diǎn)的歐氏距離;c表示預(yù)測(cè)框與真實(shí)框最小外接矩形的對(duì)角線長(zhǎng)度;α為權(quán)重參數(shù),計(jì)算方法如公式(3)所示;v表示縱橫比的一致程度,v的計(jì)算方法如公式(4)所示。
α=v(1-IoU)+v(3)
v=4π2(arctanwgthgt-arctanwh)2(4)
式中,w、h分別表示預(yù)測(cè)框的寬度、高度;wgt、hgt分別表示真實(shí)框的寬度、高度。
CIoU損失函數(shù)引入了預(yù)測(cè)框和真實(shí)框的寬高比,但是忽略了預(yù)測(cè)框和真實(shí)框之間的方向性,這樣網(wǎng)絡(luò)在訓(xùn)練過(guò)程中會(huì)發(fā)生預(yù)測(cè)框隨意匹配的問(wèn)題。因此本研究采用SIoU[16]函數(shù)代替CIoU函數(shù),SIoU函數(shù)通過(guò)引入預(yù)測(cè)框和真實(shí)框之間的向量角度信息,重新定義了懲罰標(biāo)準(zhǔn),具體包括以下幾個(gè)部分:
第一,角度損失(Λ),計(jì)算方法如公式(5)所示:
Λ=1-2×sin2arcsin(chσ)-π4(5)
式中,ch表示真實(shí)框和預(yù)測(cè)框中心點(diǎn)的高度差;σ表示真實(shí)框和預(yù)測(cè)框中心點(diǎn)的距離;arcsin(chσ)即表示真實(shí)框和預(yù)測(cè)框中心點(diǎn)坐標(biāo)形成的線段與水平線的夾角。角度損失計(jì)算方法如圖8所示。
第二,距離損失(Δ),計(jì)算方法如公式(6)所示:
Δ=2-e-γρx-e-γρy(6)
其中:
ρx=bgtcx-bcxcw2,ρy=bgtcy-bcych2,γ=2-Λ(7)
式中,Λ表示角度損失值;(bgtcx,bgtcy)、(bcx,bcy)分別表示真實(shí)框、預(yù)測(cè)框的中心點(diǎn)位置坐標(biāo);cw、ch分別表示包含真實(shí)框、預(yù)測(cè)框的最小外接矩形的寬度和高度。距離損失計(jì)算方法如圖9所示。
第三,形狀損失(Ω)的計(jì)算方法如公式(8)所示:
Ω=(1-e-ww)θ+(1-e-wh)θ(8)
其中:
ww=|w-wgt|(w,wgt)max,wh=|h-hgt|(h,hgt)max(9)
式中,w、h分別表示預(yù)測(cè)框的寬度、高度,wgt、hgt分別表示真實(shí)框的寬度、高度;(w,wgt)max表示取w、wgt2個(gè)變量的最大值;(h,hgt)max表示取h、hgt 2個(gè)變量的最大值;參數(shù)θ的大小與模型對(duì)形狀損失的關(guān)注度高低呈正相關(guān),θ值過(guò)大會(huì)影響預(yù)測(cè)框的移動(dòng),本研究通過(guò)遺傳算法計(jì)算得到最佳的θ值接近4,因此設(shè)置θ的范圍為[2,6]。
最后得到SIoU函數(shù),與現(xiàn)有的損失函數(shù)相比,SIoU函數(shù)通過(guò)關(guān)注預(yù)測(cè)框和真實(shí)框之間的方向性,加速了網(wǎng)絡(luò)的收斂并降低了網(wǎng)絡(luò)損失函數(shù)值(LSIoU)。
LSIoU=1-IoU+Δ+Ω2(10)
式中,IoU表示預(yù)測(cè)框與真實(shí)框交集和并集的比值大小;Δ表示距離損失;Ω表示形狀損失。
1.6 評(píng)價(jià)指標(biāo)
采用精度(Precision)、召回率(Recall)、平均精度(mAP)3個(gè)指標(biāo)衡量改進(jìn)的YOLOv5模型的預(yù)測(cè)效果,計(jì)算公式如下:
Precision=TPTP+FP(11)
Recall=TPTP+FN(12)
mAP=∑Ni=1APiN(13)
式中,TP表示實(shí)際為正樣本且被預(yù)測(cè)為正樣本的數(shù)量;FP表示實(shí)際為負(fù)樣本但被預(yù)測(cè)為正樣本的數(shù)量;FN表示實(shí)際為正樣本但被預(yù)測(cè)為負(fù)樣本的樣本數(shù)量;APi表示第i個(gè)樣本的平均準(zhǔn)確度;N表示總的類別數(shù)。
2 結(jié)果與分析
2.1 對(duì)比試驗(yàn)
為了驗(yàn)證CBAM注意力機(jī)制的有效性,選取CA[17]、SE[18]、ECA[19]等注意力機(jī)制進(jìn)行對(duì)比試驗(yàn),不同注意力機(jī)制模塊插入的位置都相同,并且保證網(wǎng)絡(luò)其他結(jié)構(gòu)不變,損失函數(shù)采用的是YOLOv5原本的CIoU損失函數(shù)。表2顯示,C3CBAM注意力機(jī)制模塊對(duì)模型整體性能的提升效果最佳,精度提升了0.2個(gè)百分點(diǎn),召回率提升了1.9個(gè)百分點(diǎn),平均精度相較于原模型提高了1.4個(gè)百分點(diǎn)。
本研究使用了當(dāng)前目標(biāo)檢測(cè)中常用的幾種損失函數(shù)進(jìn)行對(duì)比試驗(yàn),在YOLOv5網(wǎng)絡(luò)的基礎(chǔ)之上,分別采用GIoU[20]、CIoU、EIoU[21]和SIoU作為邊界框回歸損失函數(shù),以此來(lái)驗(yàn)證SIoU損失函數(shù)對(duì)改進(jìn)模型的有效性,將每輪網(wǎng)絡(luò)訓(xùn)練中得到的損失函數(shù)值繪制成損失函數(shù)曲線圖。圖10顯示,模型在100個(gè)周期之后逐漸收斂,其中,EIoU的收斂效果最差,GIoU和CIoU的收斂效果相當(dāng),SIoU不但收斂速度最快,而且模型訓(xùn)練的損失值也小于其他損失函數(shù)。
為了進(jìn)一步驗(yàn)證SIoU對(duì)模型的有效性,對(duì)加入不同損失函數(shù)的模型訓(xùn)練完成之后,分析其損失值和mAP。表3顯示,相較于GIoU、EIoU和CIoU,YOLOv5模型采用SIoU之后的整體效果最好,其損失值為0.039 09,mAP為96.8%,相較于以CIoU為損失函數(shù)的原模型,損失值下降了0.001 58,mAP上升了0.9個(gè)百分點(diǎn)。由此可見(jiàn),SIoU相較于其他損失函數(shù),對(duì)模型性能的改善效果最優(yōu),得到的損失值最低。
2.2 消融試驗(yàn)
本研究對(duì)YOLOv5模型一共提出了3項(xiàng)改進(jìn)措施,為了進(jìn)一步論證改進(jìn)模塊的合理性與有效性,采用消融試驗(yàn)進(jìn)行分析論證。表4顯示,在主干網(wǎng)絡(luò)中引入了RepVGG模塊代替卷積層進(jìn)行特征提取,多分支結(jié)構(gòu)加強(qiáng)了模型對(duì)番茄患病葉片的特征提取能力,提升了模型的性能,其中精度提升1.4個(gè)百分點(diǎn),召回率提升0.4個(gè)百分點(diǎn),平均精度提升0.7個(gè)百分點(diǎn)。對(duì)模型Neck部分增加CBAM注意力機(jī)制模塊后,模型精度提升0.2個(gè)百分點(diǎn),召回率提升1.9個(gè)百分點(diǎn),平均精度提升1.4個(gè)百分點(diǎn),這是因?yàn)槟P驮谝隒BAM注意力機(jī)制模塊后,CBAM注意力機(jī)制強(qiáng)化了對(duì)番茄患病葉片圖像中背景和目標(biāo)的區(qū)分能力,使模型更好地注意到患病葉片的細(xì)節(jié),從而提升了復(fù)雜環(huán)境和目標(biāo)被遮擋情況下的識(shí)別率,降低了誤檢率和漏檢率。模型使用SIoU損失函數(shù)后,精度提升1.2個(gè)百分點(diǎn),召回率提升0.3個(gè)百分點(diǎn),平均精度提升0.9個(gè)百分點(diǎn),相較于原模型,采用SIoU損失函數(shù)后模型關(guān)注了真實(shí)框與預(yù)測(cè)框之間的方向性,從而提升了模型的收斂速度,降低了模型的損失值。完成3項(xiàng)改進(jìn)后,模型的精度上升2.9個(gè)百分點(diǎn),召回率上升4.2個(gè)百分點(diǎn),平均精度上升3.0個(gè)百分點(diǎn)。綜上所述,本研究提出的3項(xiàng)改進(jìn)措施都能有效改善模型的訓(xùn)練效果,進(jìn)一步驗(yàn)證了改進(jìn)模型的有效性。
2.3 不同模型的對(duì)比試驗(yàn)
為了驗(yàn)證改進(jìn)模型的有效性,將本研究構(gòu)建模型與SSD模型[22]、Faster R-CNN模型[23]、YOLOv3模型[24]、YOLOv5模型進(jìn)行對(duì)比試驗(yàn)。表5顯示,雖然Faster R-CNN模型的平均精度達(dá)到了96.5%,比YOLOv5模型高0.6個(gè)百分點(diǎn),但是模型的參數(shù)量為137.1 M,浮點(diǎn)計(jì)算量為370.2,要遠(yuǎn)大于YOLOv5模型。SSD模型和YOLOv3模型的平均精度比YOLOv5模型低,且參數(shù)量和浮點(diǎn)計(jì)算量比YOLOv5模型高。與SSD、Faster R-CNN模型相比,改進(jìn)模型整體更具優(yōu)勢(shì),與原YOLOv5模型相比,雖然改進(jìn)模型檢測(cè)單張圖片的時(shí)間增加了0.002 s,但是平均精度提升了3.0個(gè)百分點(diǎn),且模型的參數(shù)量為5.5 M,浮點(diǎn)計(jì)算量為15.8,較改進(jìn)前都有所降低。
為了更加直觀地反映本研究改進(jìn)模型相對(duì)于原YOLOv5模型在檢測(cè)性能方面的提升效果,以及對(duì)復(fù)雜環(huán)境下密集遮擋的番茄患病葉片識(shí)別率的提高,使用測(cè)試集的樣本圖片進(jìn)行測(cè)試分析,測(cè)試結(jié)果(圖11)表明,改進(jìn)模型可以檢測(cè)出YOLOv5模型漏檢的部分遮擋葉片,并且改進(jìn)模型的平均精度要高于YOLOv5模型。
3 討論
在實(shí)時(shí)檢測(cè)番茄患病葉片的過(guò)程中,為了克服自然環(huán)境下復(fù)雜背景和葉片遮擋對(duì)模型精度的影響,本研究提出了一種改進(jìn)的YOLOv5檢測(cè)模型,改進(jìn)模型對(duì)YOLOv5的網(wǎng)絡(luò)做出了合理的調(diào)整。首先,使用RepVGG模塊代替YOLOv5中主干網(wǎng)絡(luò)的卷積層,RepVGG模塊加強(qiáng)了主干網(wǎng)絡(luò)對(duì)番茄患病葉片的特征提取能力,改善了模型在復(fù)雜背景下對(duì)番茄患病葉片的檢測(cè)效果;其次,在頸部引入了CBAM注意力機(jī)制,CBAM注意力機(jī)制的加入使得網(wǎng)絡(luò)獲得了圖像的全局上下文信息,更加容易區(qū)分復(fù)雜背景和需要關(guān)注的目標(biāo)對(duì)象區(qū)域,從而進(jìn)一步提升了網(wǎng)絡(luò)模型在復(fù)雜背景下對(duì)被遮擋的番茄患病葉片的檢測(cè)效果;最后,本研究采用更加合理的損失函數(shù)SIoU,SIoU通過(guò)關(guān)注真實(shí)框和預(yù)測(cè)框的之間的方向性,使得算法在訓(xùn)練過(guò)程中收斂得更快,且損失函數(shù)值更低,從而改善了模型的推理精度。研究結(jié)果表明,改進(jìn)的YOLOv5模型的平均精度達(dá)到98.9%,模型單張圖片檢測(cè)用時(shí)為0.011 s,滿足實(shí)時(shí)檢測(cè)的要求,解決了自然環(huán)境下番茄病害葉片的檢測(cè)問(wèn)題。
參考文獻(xiàn):
[1] 周 蓉,趙統(tǒng)敏,趙麗萍,等. 高光澤番茄育種及果實(shí)表面光澤度[J]. 江蘇農(nóng)業(yè)學(xué)報(bào),2018,34(6):1437-1440.
[2] LI Y, NIE J, CHAO X. Do we really need deep CNN for plant diseases identification[J]. Computers and Electronics in Agriculture,2020,178:105803.
[3] 周惠汝,吳波明. 深度學(xué)習(xí)在作物病害圖像識(shí)別方面應(yīng)用的研究進(jìn)展[J]. 中國(guó)農(nóng)業(yè)科技導(dǎo)報(bào),2021,23(5):61-68.
[4] OZGUVEN M M, ADEM K. Automatic detection and classification of leaf spot disease in sugar beet using deep learning algorithms[J]. Physica A:Statistical Mechanics and Its Applications,2019,535:122537.
[5] WAHEED A, GOYAL M, GUPTA D, et al. An optimized dense convolutional neural network model for disease recognition and classification in corn leaf[J]. Computers and Electronics in Agriculture,2020,175:105456.
[6] LIU B, DING Z, TIAN L, et al. Grape leaf disease identification using improved deep convolutional neural networks[J]. Frontiers in Plant Science,2020,11:1082.
[7] 邵明月,張建華,馮 全,等. 深度學(xué)習(xí)在植物葉部病害檢測(cè)與識(shí)別的研究進(jìn)展[J]. 智慧農(nóng)業(yè)(中英文),2022,4(1):29-46.
[8] 張志遠(yuǎn),羅銘毅,郭樹(shù)欣,等. 基于改進(jìn)YOLOv5的自然環(huán)境下櫻桃果實(shí)識(shí)別方法[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2022,53(增刊1):232-240.
[9] SINGH D, JAIN N, JAIN P, et al. PlantDoc: a dataset for visual plant disease detection[M]. New York:ACM,2020:249-253.
[10]LIU S, QI L, QIN H, et al. Path aggregation network for instance segmentation[C]. Salt Lake City:IEEE,2018.
[11]DING X, ZHANG X, MA N, et al. RepVGG:making vgg-style convnets great again[C]. Nashville:IEEE,2021.
[12]孫龍清,王泊寧,王嘉煜,等. 基于G-RepVGG和魚(yú)類運(yùn)動(dòng)行為的水質(zhì)監(jiān)測(cè)方法[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2022,53(增刊2):210-218.
[13]WOO S, PARK J, LEE J Y, et al. CBAM:convolutional block attention module[C]. Berlin:Springer,2018.
[14]ZHENG Z, WANG P, LIU W, et al. Distance-IoU loss: faster and better learning for bounding box regression[C]. Menlo Park:AAAI,2020.
[15]YU J, JIANG Y, WANG Z, et al. Unitbox:an advanced object detection network[C]. New York:ACM,2016.
[16]GEVORGYAN Z. SIoU loss:more powerful learning for bounding box regression[J]. ArXiv Preprint ArXiv,2022. DOI:10.48550/arXiv.2205.12740.
[17]HOU Q, ZHOU D, FENG J. Coordinate attention for efficient mobile network design[C]. Nashville:IEEE,2021.
[18]HU J, SHEN L, SUN G. Squeeze-and-excitation networks[C]. Piscataway:IEEE,2018.
[19]WANG Q, WU B, ZHU P, et al. ECA-Net:efficient channel attention for deep convolutional neural networks[C]. Seattle:IEEE,2020.
[20]REZATOFIGHI H, TSOI N, GWAK J Y, et al. Generalized intersection over union: a metric and a loss for bounding box regression[C]. Long Beach:IEEE,2019.
[21]ZHANG Y, REN W, ZHANG Z, et al. Focal and efficient IOU loss for accurate bounding box regression[J]. Neurocomputing,2022,506:146-157.
[22]LIU W, ANGUELOV D, ERHAN D, et al. SSD:single shot multibox detector[C]. Berlin:Springer,2016.
[23]REN S, HE K, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6):1137-1149.
[24]REDMON J, FARHADI A. YOLOv3: an incremental improvement[J]. ArXiv Preprint ArXiv,2018. DOI:10.48550/arXiv.1804.02767.
(責(zé)任編輯:王 妮)
收稿日期:2023-04-24
基金項(xiàng)目:河北省重點(diǎn)研發(fā)計(jì)劃項(xiàng)目(22370701D)
作者簡(jiǎn)介:李仁杰(1997-),男,安徽蕪湖人,碩士研究生,研究方向?yàn)橛?jì)算智能與無(wú)線網(wǎng)絡(luò)。(E-mail)2270464695@qq.com
通訊作者:宋 濤,(E-mail)songtao@hebut.edu.cn