摘要:針對(duì)目前玉米害蟲識(shí)別領(lǐng)域中識(shí)別算法參數(shù)量大、計(jì)算量大導(dǎo)致玉米害蟲識(shí)別算法不能部署在移動(dòng)智慧農(nóng)業(yè)設(shè)備中及玉米害蟲識(shí)別算法檢測(cè)精度低等問(wèn)題,基于網(wǎng)絡(luò)復(fù)雜程度最小的YOLO v8n,提出一種輕量化玉米害蟲識(shí)別算法YOLO v8n-ERM。首先,在骨干特征提取網(wǎng)絡(luò)引入EfficientNet-B0輕量化網(wǎng)絡(luò),通過(guò)對(duì)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行縮放,采用深度可分離卷積,有效降低了模型參數(shù)量、計(jì)算量;在頸部網(wǎng)絡(luò)中引入RepVGG結(jié)構(gòu)重參數(shù)化模塊,融合多分支特征以提升模型的檢測(cè)精度,同時(shí)有效降低模型的計(jì)算量;最后,用MPDIoU損失函數(shù)替換原損失函數(shù),使最終預(yù)測(cè)框更接近真實(shí)框。用本研究算法處理數(shù)據(jù)增強(qiáng)后的IP102數(shù)據(jù)集,結(jié)果表明,相較于基線模型YOLO v8n,YOLO v8n-ERM算法的參數(shù)量為2.4 M,計(jì)算量為3.7 GFLOPs,二者分別下降了0.6 M、4.4 GFLOPs,而且YOLO v8n-ERM算法的mAP@0.5、mAP@0.5 ∶0.95分別為91.8%、62.0%,相較于基線模型分別提升了3.6、2.1百分點(diǎn),表明使用更少的參數(shù)量、計(jì)算量得到了更高的精度。另外在黑暗、有遮擋、個(gè)體重疊及害蟲與環(huán)境背景相似的復(fù)雜環(huán)境下的處理結(jié)果表明,YOLO v8n-ERM算法能夠準(zhǔn)確識(shí)別出玉米害蟲個(gè)體,極大降低了復(fù)雜環(huán)境下的漏檢率,具有一定的魯棒性,可為玉米病蟲害的數(shù)字智能防控提供技術(shù)支持。
關(guān)鍵詞:玉米害蟲識(shí)別;YOLO v8;EfficientNet-B0;RepVGG;MPDIoU
中圖分類號(hào):TP391.41" 文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1002-1302(2024)14-0196-11
收稿日期:2024-01-14
基金項(xiàng)目:國(guó)家自然科學(xué)基金(編號(hào):62173049、62273060);湖北省教育廳科學(xué)研究計(jì)劃資助項(xiàng)目(編號(hào):D20211302)。
作者簡(jiǎn)介:李志良(1999—),男,湖北洪湖人,碩士研究生,研究方向?yàn)樯疃葘W(xué)習(xí)與目標(biāo)檢測(cè)。E-mail:2022710652@yangtzeu.edu.cn。
通信作者:李夢(mèng)霞,博士,副教授,碩士生導(dǎo)師,研究方向?yàn)橛蜌馓镘浖_發(fā)、最優(yōu)化理論與算法。E-mail:limengxia@yangtzeu.edu.cn。
當(dāng)前,玉米產(chǎn)業(yè)中面臨多種害蟲威脅,這些害蟲對(duì)玉米的產(chǎn)量、質(zhì)量構(gòu)成了潛在威脅。根據(jù)全國(guó)農(nóng)作物病蟲測(cè)報(bào)網(wǎng)監(jiān)測(cè)及專家會(huì)商,預(yù)計(jì)到2023年,我國(guó)玉米病蟲害呈重發(fā)趨勢(shì),玉米螟、黏蟲等害蟲的發(fā)生面積逐漸增加[1]。作為全球的農(nóng)業(yè)大國(guó),我國(guó)在害蟲監(jiān)測(cè)與預(yù)報(bào)方面的責(zé)任顯得至關(guān)重大。在農(nóng)業(yè)體系中,確保農(nóng)產(chǎn)品產(chǎn)量、質(zhì)量的有效害蟲監(jiān)測(cè)和預(yù)報(bào)機(jī)制具有關(guān)鍵意義[2-3]。傳統(tǒng)的病蟲害鑒別方法主要依賴人工實(shí)地檢查、經(jīng)驗(yàn)識(shí)別以及對(duì)癥狀特征的觀察。然而,這些方式存在主觀性較高、對(duì)經(jīng)驗(yàn)的依賴性強(qiáng)、工作繁雜等諸多問(wèn)題[4]。
隨著深度學(xué)習(xí)的飛速發(fā)展,部分學(xué)者采用基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法進(jìn)行農(nóng)作物病蟲害的識(shí)別研究[5-7]。目前主要的目標(biāo)檢測(cè)算法分為2類,一類是以Fast-RCNN為代表的2階段算法,這種算法雖然檢測(cè)精度較高,但檢測(cè)速度較慢[8]。由于這類算法需要先生成候選框,再進(jìn)行特征提取和目標(biāo)回歸,整個(gè)流程通常較為繁瑣,導(dǎo)致在實(shí)時(shí)應(yīng)用中可能無(wú)法滿足高速處理的要求。另一類是以YOLO系列為主的一階段算法,這類算法的檢測(cè)準(zhǔn)確率相對(duì)2階段算法較低,但是它將定位和分類任務(wù)合并為一個(gè)階段,避免了生成候選框的繁瑣過(guò)程,因而在實(shí)時(shí)檢測(cè)方面表現(xiàn)出明顯優(yōu)勢(shì)[9]。
Teng等提出的害蟲檢測(cè)模型MSR-RCNN采用多尺度超分辨率特征增強(qiáng)模塊,成功在LLPD-26數(shù)據(jù)集上實(shí)現(xiàn)了67.4%的檢測(cè)精度,為害蟲檢測(cè)領(lǐng)域帶來(lái)了新突破[10]。陳峰等采用機(jī)器視覺、卷積神經(jīng)網(wǎng)絡(luò)技術(shù)建立了一種用于辨識(shí)東北寒地玉米害蟲的方法,用于檢測(cè)包括玉米螟、草地貪夜蛾、玉米黏蟲等在內(nèi)的害蟲[11]。Jia等將MobileNet、坐標(biāo)注意力機(jī)制CA整合到Y(jié)OLO v7模型中,通過(guò)自建水稻數(shù)據(jù)集測(cè)試,達(dá)到了92.3%的準(zhǔn)確率[12]。段新濤等設(shè)計(jì)了基于性誘測(cè)報(bào)原理的玉米害蟲誘集裝置,引入SENet模塊、Soft-NMS算法到Y(jié)OLO v4模型中,成功提升了夏季玉米主要害蟲的檢測(cè)精度,為田間害蟲種群監(jiān)測(cè)預(yù)警提供了高效、準(zhǔn)確的解決方案[13]。Zhang等在YOLO v8模型中引入了基于DenseBlock改進(jìn)的C2F模塊和可以更好提取低級(jí)特征的DCF模塊,最后替換CBS激活函數(shù)為Mish激活函數(shù),有效解決了訓(xùn)練過(guò)程中梯度消失的問(wèn)題,改進(jìn)的YOLO v8模型在害蟲檢測(cè)中有更高的準(zhǔn)確性和多功能性[14]。
然而,上述模型所需的計(jì)算資源較為龐大,且在一些復(fù)雜環(huán)境下對(duì)玉米害蟲的漏檢率較高。在玉米害蟲檢測(cè)領(lǐng)域,終端檢測(cè)設(shè)備的計(jì)算能力一般只有幾個(gè)GFLOPs級(jí)別,這樣的計(jì)算需求已經(jīng)超過(guò)了終端檢測(cè)設(shè)備的處理能力。為了保證玉米害蟲識(shí)別算法能夠部署在終端檢測(cè)設(shè)備上,通常需要減少模型的計(jì)算量和一些不必要的參數(shù)量。因此,設(shè)計(jì)一種既能保證檢測(cè)精度又能保證部署在低算力設(shè)備上的算法變得尤為重要[15]。因此,本研究提出了一種基于改進(jìn)的YOLO v8的算法,旨在在更低的計(jì)算量和參數(shù)量的基礎(chǔ)上,實(shí)現(xiàn)對(duì)復(fù)雜環(huán)境下玉米害蟲的高效檢測(cè),以滿足當(dāng)前移動(dòng)農(nóng)業(yè)智慧檢測(cè)設(shè)備的需求。
1 材料與方法
1.1 數(shù)據(jù)集來(lái)源
本研究數(shù)據(jù)以CVPR2019上發(fā)布的大型農(nóng)業(yè)害蟲數(shù)據(jù)集IP102作為基礎(chǔ),IP102是一個(gè)專為圖像分類、目標(biāo)檢測(cè)而設(shè)計(jì)的大型農(nóng)業(yè)害蟲數(shù)據(jù)集,包含水稻、玉米、小麥、甜菜等不同作物在不同生長(zhǎng)周期下的害蟲圖像[16]。最終,從該數(shù)據(jù)集中篩選出了與玉米相關(guān)的6類主要害蟲,分別是金針蟲、小地老虎、玉米螟、黏蟲、白星花金龜和桃蛀螟,收集了 1 149 張圖像。圖1展示了數(shù)據(jù)集中的部分圖像,表1提供了各個(gè)類別害蟲的圖像數(shù)量統(tǒng)計(jì)結(jié)果。
1.2 數(shù)據(jù)預(yù)處理
由于數(shù)據(jù)樣本只包含1 149張,為了防止模型過(guò)擬合,使網(wǎng)絡(luò)模型具有較高的準(zhǔn)確性、魯棒性,對(duì)現(xiàn)有數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng)。為了盡量接近真實(shí)復(fù)雜環(huán)境下的害蟲,采用以下數(shù)據(jù)增強(qiáng)方法:(1)隨機(jī)旋轉(zhuǎn),將圖像進(jìn)行-45°~45°隨機(jī)旋轉(zhuǎn),模擬相機(jī)不同的拍攝角度;(2)隨機(jī)亮度,將圖像進(jìn)行范圍為 -30%~30%的隨機(jī)亮度調(diào)整,以模擬不同光照條件下的圖像;(3)高斯模糊,對(duì)圖像添加高斯模糊,以得到模糊頭像,模擬拍攝抖動(dòng)的情形;(4)高斯噪聲,對(duì)圖像添加高斯噪聲,以得到不同拍攝情況下的圖像,模擬不同場(chǎng)景下的拍攝質(zhì)量;(5)隨機(jī)遮擋,對(duì)圖像進(jìn)行隨機(jī)遮擋,通過(guò)引入隨機(jī)遮擋塊,以模擬圖像中部分區(qū)域的信息缺失。對(duì)原有數(shù)據(jù)集進(jìn)行上述5種數(shù)據(jù)增強(qiáng)處理,將數(shù)據(jù)集擴(kuò)充至 5 383 張圖像。將數(shù)據(jù)集按照8 ∶1 ∶1的比例劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,圖像的部分?jǐn)?shù)據(jù)增強(qiáng)示例見圖2。
1.3 YOLO v8模型
YOLO v8是YOLO系列目標(biāo)檢測(cè)算法發(fā)布的最新版本,YOLO v8已經(jīng)在多個(gè)領(lǐng)域取得顯著的性能提升,集成了輕量化的C2f模塊、解耦頭結(jié)構(gòu)、Anchor-Free思想和新的損失函數(shù)策略,同時(shí)使用mosaic數(shù)據(jù)增強(qiáng),提升了模型的魯棒性。上述關(guān)鍵特點(diǎn),共同使YOLO v8成為一款SOTA模型,在目標(biāo)檢測(cè)、圖像分類和實(shí)例分割等多個(gè)領(lǐng)域具有出色性能。
其中,C2f模塊的引入使得模型更輕量、計(jì)算效率更高,同時(shí)保持了檢測(cè)性能。解耦頭結(jié)構(gòu)的采用將分類、檢測(cè)頭分離,提高了模型的靈活性和可調(diào)性。Anchor-Free思想舍棄了傳統(tǒng)的Anchor-Based思想,使模型更好地適應(yīng)不同尺寸、形狀的目標(biāo)。新的損失函數(shù)策略采用Task-Aligned Assigner正樣本分配策略和Distribution Focal Loss,優(yōu)化了損失函數(shù)的計(jì)算,增強(qiáng)了模型學(xué)習(xí)能力,提高了目標(biāo)框回歸的效果。YOLO v8有YOLO v8n、YOLO v8s、YOLO v8m、YOLO v8l、YOLO v8x等5個(gè)版本,這5種網(wǎng)絡(luò)的參數(shù)量、計(jì)算量隨著模型深度、寬度的增大而增加,能夠根據(jù)不同的場(chǎng)景選擇合適的網(wǎng)絡(luò)。為了保證模型的輕量化,本研究選擇網(wǎng)絡(luò)復(fù)雜程度最小的YOLO v8n版本作為本研究的基線模型。YOLO v8結(jié)構(gòu)如圖3所示。
1.4 改進(jìn)的YOLO v8n-ERM模型
鑒于基線模型 YOLO v8n 具有的計(jì)算量較大、復(fù)雜度較高等不足,導(dǎo)致在玉米害蟲檢測(cè)領(lǐng)域的終端設(shè)備上部署該模型時(shí)遇到計(jì)算能力受限制的問(wèn)題。因此,本研究提出了一種輕量化玉米害蟲檢測(cè)模型 YOLO v8-ERM(YOLO v8-EfficientNet-RepVGG-MPDIoU),其結(jié)構(gòu)如圖4所示。
首先,針對(duì)YOLO v8n的復(fù)雜骨干特征提取網(wǎng)絡(luò),引入輕量級(jí)網(wǎng)絡(luò) EfficientNet-B0以降低模型的復(fù)雜度[17]。接著,在頸部特征融合網(wǎng)絡(luò)中引入RepVGG結(jié)構(gòu)重參數(shù)化模塊,在顯著降低模型計(jì)算復(fù)雜度的同時(shí),提升了模型的檢測(cè)精度[18]。最后,將YOLO v8n原有的損失函數(shù)替換為MPDIoU,提升了復(fù)雜環(huán)境下害蟲邊界框的預(yù)測(cè)精準(zhǔn)度,使得模型能夠更高效、更準(zhǔn)確地預(yù)測(cè)害蟲的位置和形狀,從而進(jìn)一步提升整體性能[19]。通過(guò)這些改進(jìn),YOLO v8n-ERM在滿足終端設(shè)備計(jì)算能力限制要求的同時(shí),實(shí)現(xiàn)了輕量化和高識(shí)別率的害蟲檢測(cè)。
1.4.1 EfficientNet-B0模型 由于在害蟲檢測(cè)領(lǐng)域,終端設(shè)備的計(jì)算能力有限,使得部署計(jì)算量較大的玉米害蟲檢測(cè)模型受到了限制。為此,在基線模型YOLO v8n的骨干特征提取網(wǎng)絡(luò)中,引入了高效、準(zhǔn)確且模型規(guī)模較小的EfficientNe-B0作為基礎(chǔ)特征信息提取模型,以充分提取害蟲圖像的語(yǔ)義信息,通過(guò)對(duì)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行縮放,有效降低了模型參數(shù)量和計(jì)算量,提高了模型的學(xué)習(xí)效率,使其能夠更好地適應(yīng)終端設(shè)備有限的計(jì)算資源。
與傳統(tǒng)方法中對(duì)模型深度、寬度和分辨率的獨(dú)立調(diào)整不同,EfficientNet-B0模型使用復(fù)合系數(shù)來(lái)實(shí)現(xiàn)對(duì)模型深度(d)、寬度(w)與分辨率(r)的同步、協(xié)同縮放,具體縮放公式如下:
d=α,w=β,r=γ;(1)
約束條件:α·β2·γ2≈2
α≥1,β≥1,γ≥1。(2)
式中:α、β、γ是由模型搜索確定的常數(shù)。
EfficientNet-B0模型主要由多個(gè)移動(dòng)翻轉(zhuǎn)卷積模塊(mobile inverted bottleneck convolution,MBConv)堆疊組成,在改進(jìn)模型中,MBConv1、MBConv6中的數(shù)字1、6表示倍率因子,即MBConv中的第1個(gè)1×1卷積層會(huì)將輸入特征矩陣的通道數(shù)擴(kuò)展為n倍(n=1或6)。MBConv模塊包括1×1的逐點(diǎn)卷積、k×k的深度卷積、壓縮和激勵(lì)(squeeza-and-excitation,SE)模塊以及Dropout層,形成了一種類似倒瓶頸結(jié)構(gòu)的設(shè)計(jì),結(jié)構(gòu)如圖5所示。
害蟲圖像的特征信息首先通過(guò)MBConv模塊中的逐點(diǎn)卷積進(jìn)行增強(qiáng),隨后經(jīng)過(guò)深度卷積,有效降低了模型的計(jì)算量、參數(shù)量,降低了模型的計(jì)算性能需求。接下來(lái),通過(guò)SE模塊進(jìn)行自適應(yīng)的注意力操作,獲取不同通道的權(quán)重,通過(guò)權(quán)重與原始特征相乘,以有效地捕捉與害蟲相關(guān)的圖像特征信息,隨后對(duì)特征信息進(jìn)行降維操作。最后,通過(guò)引入隨機(jī)失活層,實(shí)施隨機(jī)失活操作,使得模型能夠?qū)W習(xí)到更為魯棒性的特征表示,從而增強(qiáng)模型的泛化能力。
1.4.2 RepVGG模塊
為了更好地適應(yīng)復(fù)雜環(huán)境下的害蟲,滿足對(duì)害蟲高精度檢測(cè)要求及更好地將其部署在移動(dòng)端檢測(cè)設(shè)備上,本研究在原YOLO v8頸部網(wǎng)絡(luò)中引入了RepVGG模塊,在降低模型計(jì)算量的同時(shí),保持較好的多尺度特征融合能力,極大地提高了模型的檢測(cè)精度,能夠滿足模型低算力、高精度的部署需求。
RepVGG模塊是1種輕量而高效的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),在訓(xùn)練階段,用由3×3卷積、1×1卷積和BN層組成的多分支架構(gòu),增強(qiáng)了網(wǎng)絡(luò)的特征提取能力,有效減輕了梯度消失問(wèn)題。在推理階段,結(jié)構(gòu)重新參數(shù)化技術(shù)將上述模塊轉(zhuǎn)換為3×3 Conv。ReLU激活函數(shù)與后續(xù)層一起構(gòu)成了RepVGG模塊的整個(gè)推理階段,在進(jìn)行多分支結(jié)構(gòu)推理時(shí),需要分別計(jì)算各分支結(jié)果再做進(jìn)一步融合,導(dǎo)致復(fù)雜度不同的分支不能同步完成計(jì)算,使得硬件算力得不到充分利用。因此,在推理時(shí)將多分支結(jié)構(gòu)轉(zhuǎn)換為單路結(jié)構(gòu),能夠獲得更好的計(jì)算效率,同時(shí)減少硬件的內(nèi)存占用。RepVGG模塊的結(jié)構(gòu)如圖6所示。
如圖7所示,結(jié)構(gòu)重參數(shù)化涉及2個(gè)主要階段。在第1階段,卷積層、BN層合并為單個(gè)3×3卷積,僅包含BN的分支也轉(zhuǎn)換為單獨(dú)的3×3卷積。在第2階段,每個(gè)分支上的3×3卷積層合并為單層。
其中,卷積層公式如式(3)所示:
Conv(x)=W×x+b。(3)
式中:W為權(quán)重;b為偏置。
BN層的相關(guān)公式如下:
BN(x)=γ×x-meanσ2+ε+β。(4)
式中:γ與β為學(xué)習(xí)參數(shù);mean為批次樣本數(shù)據(jù)均值;σ為方差;ε為極小但不為零的數(shù)。
將卷積層結(jié)果帶入到BN層公式中,得到融合BN層和卷積層的結(jié)果,如式(5)所示:
BN[Conv(x)]=γ×W×x+b-meanσ2+ε+β。(5)
令BN[Conv(x)]=y,作進(jìn)一步化簡(jiǎn),如式(6)所示:
y=γ×W×xσ2+ε+γ×(b-mean)σ2+ε+β。(6)
得到重參數(shù)化后的卷積核權(quán)重(Wfused)、偏置項(xiàng)(bfused),如式(7)、式(8)所示:
Wfused=γ×W×xσ2+ε;(7)
bfused=γ×(b-mean)σ2+ε+β。(8)
最終得到融合結(jié)果,如式(9)所示:
BN[Conv(x)]=Wfused×x+bfused。(9)
1.4.3 MPDIoU損失函數(shù) 由于害蟲通常具有不規(guī)則的形狀和多樣的尺寸,且容易受到實(shí)際環(huán)境中的遮擋及光照條件等影響,本研究將YOLO v8原損失函數(shù)替換為MPDIoU,以更好地適應(yīng)這些復(fù)雜情況,提高模型對(duì)不同復(fù)雜條件下害蟲的適應(yīng)性。因此,引入MPDIoU損失函數(shù)有助于模型更準(zhǔn)確地捕捉目標(biāo)的位置和形狀信息,解決復(fù)雜環(huán)境下的漏檢問(wèn)題,進(jìn)一步提升復(fù)雜環(huán)境下害蟲檢測(cè)任務(wù)的性能。
原始的YOLO v8使用的是CIoU損失函數(shù),CIoU在度量2個(gè)邊界框相似度時(shí)存在不足,特別是在目標(biāo)存在部分遮擋及重疊的情況下,其無(wú)法準(zhǔn)確預(yù)測(cè)目標(biāo)的實(shí)際情況,容易出現(xiàn)漏檢的情況。MPDIoU是一種基于最小點(diǎn)距離的邊界框相似性比較度量,對(duì)目標(biāo)檢測(cè)任務(wù)的精確性、性能提出了全面的改進(jìn)。MPDIoU通過(guò)考慮目標(biāo)框的局部分布,通過(guò)對(duì)目標(biāo)區(qū)域的分布進(jìn)行交叉比較,能夠更全面地捕捉目標(biāo)的形狀信息,從而更準(zhǔn)確地評(píng)估2個(gè)框之間的相似性。而且它通過(guò)直接最小化預(yù)測(cè)邊界框和實(shí)際標(biāo)記邊界框之間的左上和右下點(diǎn)距離,簡(jiǎn)化了計(jì)算過(guò)程。
MPDIoU的定義式如下:
MPDIoU=IoU-d21h2+w2-d22h2+w2。(10)
d21、d22、IoU的計(jì)算方法如式(11)、(12)、(13)所示:
d21=(xB1-xA1)2+(yB1-yA1)2;(11)
d22=(xB2-xA2)2+(yB2-yA2)2;(12)
IoU=|A∩B||A∪B|。(13)
式中:A、B為任意2個(gè)矩形;w、h分別表示輸入圖像的寬度、高度;(xA1,yA1)、(xA2,yA2)分別表示A的左上角、右下角點(diǎn)坐標(biāo);(xB1,yB1)、(xB2,yB2)分別表示B的左上角、右下角點(diǎn)坐標(biāo);其中d21、d22計(jì)算的分別是A、B左上角、右下角點(diǎn)坐標(biāo)的歐氏距離;IoU為交并比。
MPDIoU作為損失函數(shù),表示方式見公式(14):
LMPDIoU=1-MPDIoU。(14)
1.5 試驗(yàn)平臺(tái)和評(píng)價(jià)指標(biāo)
1.5.1 試驗(yàn)環(huán)境與參數(shù)設(shè)置 本試驗(yàn)的硬件環(huán)境:CPU Intel Xeon Platinum 8 255C CPU@2.50 GHz;內(nèi)存為40 Gb;顯卡為RTX 3080,顯存為10 Gb。軟件試驗(yàn)環(huán)境:操作系統(tǒng)版本為Ubuntu 22.04;編譯環(huán)境為Python 3.8;編程平臺(tái)為Pycharm 2023.2;深度學(xué)習(xí)框架為Pytorch 2.0.0;CUDA版本為11.8。試驗(yàn)時(shí)間為2023年9—12月,試驗(yàn)地點(diǎn)為長(zhǎng)江大學(xué)計(jì)算機(jī)科學(xué)學(xué)院,試驗(yàn)初始參數(shù)的設(shè)置見表2。
1.5.2 評(píng)價(jià)指標(biāo) 利用參數(shù)量(parameters)、模型計(jì)算力(GFLOPs)和平均精度均值(mAP)3個(gè)指標(biāo)來(lái)評(píng)價(jià)網(wǎng)絡(luò)模型的效果。參數(shù)量是指模型中可學(xué)習(xí)的參數(shù)數(shù)量。較小的參數(shù)量通常意味著模型更為簡(jiǎn)潔和輕量,適用于資源受限的環(huán)境。在實(shí)際應(yīng)
用中,特別是在移動(dòng)設(shè)備或嵌入式系統(tǒng)中,小參數(shù)量的模型更容易被部署和維護(hù)。
模型計(jì)算力是指模型在進(jìn)行推理時(shí)執(zhí)行的浮點(diǎn)運(yùn)算的數(shù)量,通常以十億次浮點(diǎn)運(yùn)算(GFLOPs)為單位。較小的模型計(jì)算力表示模型在進(jìn)行推理時(shí)對(duì)計(jì)算資源的要求較低,更適合資源受限的環(huán)境。在對(duì)實(shí)時(shí)性能要求高的場(chǎng)景中,低模型計(jì)算力通常意味著更高的效率。
mAP是衡量模型在各個(gè)目標(biāo)類別上的平均準(zhǔn)確性。高mAP值表示模型在多類別目標(biāo)檢測(cè)中性能出色。在模型性能評(píng)估中,IoU表示預(yù)測(cè)框與真實(shí)標(biāo)注框的重疊程度。目前常用不同IoU閾值來(lái)判定預(yù)測(cè)的準(zhǔn)確性。例如,IoU≥設(shè)定閾值表示為正確,lt;設(shè)定閾值為錯(cuò)誤。本研究采用mAP@0.5、mAP@0.5:0.95作為評(píng)估指標(biāo),分別表示IoU閾值為0.5時(shí)的mAP值和IoU從0.5開始、以步長(zhǎng)為0.05增加到0.95的mAP值。mAP越大,表示模型的整體精度越高,mAP的計(jì)算方法如式(15)所示。AP是對(duì)P-R(Precision-Recall)曲線上的精度值求均值,其計(jì)算方法如公式(16)所示。精確率、召回率的計(jì)算方法如公式(17)、(18)所示。
mAP=∑ni=1APin。(15)
式中:n為數(shù)據(jù)集類別數(shù)量。
AP=∫10=P(r)dr;(16)
Precision=TPTP+FP;(17)
Recall=TPTP+FN。(18)
式中:TP為實(shí)際為正類被預(yù)測(cè)為正類的數(shù)量;FP為實(shí)際為負(fù)類被預(yù)測(cè)為正類的數(shù)量;FN為實(shí)際為正類被預(yù)測(cè)為負(fù)類的數(shù)量。
2 結(jié)果與分析
2.1 不同網(wǎng)絡(luò)骨干改進(jìn)對(duì)比
在對(duì)不同網(wǎng)絡(luò)骨干進(jìn)行改進(jìn)的對(duì)比試驗(yàn)中,MobileNeXt采用一種創(chuàng)新的網(wǎng)絡(luò)結(jié)構(gòu),通過(guò)改變卷積核批歸一化的順序和引入線性瓶頸層,成功減少了計(jì)算、內(nèi)存的使用[20]。然而,替換MobileNeXt為骨干網(wǎng)絡(luò)后,盡管參數(shù)大幅減少,但模型精度相比于基線卻下降了6.9百分點(diǎn)。ShuffleNet v2通過(guò)通道重排和混合處理,降低了計(jì)算量、參數(shù)量[21]。但是,在替換為骨干網(wǎng)絡(luò)后,雖然參數(shù)量較MobileNeXt更小,但精度下降了1.3百分點(diǎn),精度相較于基線模型下降了8.2百分點(diǎn)。MobileNet v3結(jié)合硬件感知網(wǎng)絡(luò)架構(gòu)搜索(NAS)和NetAdapt算法以獲取卷積核和通道的最佳數(shù)量[22]。替換為骨干網(wǎng)絡(luò)后,精度較基線下降了2.8百分點(diǎn),而參數(shù)量略微減少,相較于其他骨干網(wǎng)絡(luò)表現(xiàn)仍可接受,但仍不太理想。而將EfficientNet-B0替換為骨干網(wǎng)絡(luò)之后表現(xiàn)優(yōu)秀,參數(shù)量大幅減少,精度僅下降了1.3百分點(diǎn),且參數(shù)、計(jì)算量分別僅為基線模型的63%、70%,相較于其他網(wǎng)絡(luò)很好地平衡了輕量化和性能。相關(guān)網(wǎng)絡(luò)骨干的對(duì)比結(jié)果見表3。
2.2 與其他模型的對(duì)比
為了驗(yàn)證本研究模型YOLO v8n-ERM輕量化、出色的檢測(cè)性能,將YOLO v8n-ERM與現(xiàn)階段的其他目標(biāo)檢測(cè)算法進(jìn)行對(duì)比。由表4可以看出,YOLO v8n-ERM算法在mAP@0.5、mAP@0.5 ∶0.95、參數(shù)量和計(jì)算量等方面都領(lǐng)先于其他算法。將YOLO v8n-ERM與YOLO v3-Tiny、YOLO v5n、YOLO v6n及YOLO v7-Tiny進(jìn)行對(duì)比發(fā)現(xiàn),mAP@0.5和mAP@0.5 ∶0.95都要高于其他算法,且參數(shù)量、計(jì)算量都最低。YOLO v3-Tiny的精度最低,相較于YOLO v5n,YOLO v8n-ERM的mAP@0.5增長(zhǎng)了11.7百分點(diǎn),mAP@0.5 ∶0.95增長(zhǎng)了24.5百分點(diǎn),且參數(shù)量下降了9.7 M,計(jì)算量下降了15.2 GFLOPs。在其他算法中,YOLO v6n的精度最高,相較于YOLO v6n,YOLO v8n-ERM 的mAP@0.5增長(zhǎng)了5.4百分點(diǎn),mAP@0.5 ∶0.95增長(zhǎng)了2.2百分點(diǎn),且參數(shù)量下降了1.8 M,計(jì)算量下降了8.1 GFLOPs。各模型的mAP@0.5和mAP@0.5 ∶0.95對(duì)比結(jié)果如圖8所示。
2.3 不同尺寸YOLO v8改進(jìn)前后的對(duì)比
為了進(jìn)一步說(shuō)明YOLO v8改進(jìn)模塊的有效性,筆者還進(jìn)行了YOLO v8n、YOLO v8s等2種不同尺寸改進(jìn)前后的對(duì)比試驗(yàn),以展示改進(jìn)后的模型在不同深度網(wǎng)絡(luò)的優(yōu)化效果。由表5可以看出,YOLO v8n、YOLO v8s在改進(jìn)前后都明顯實(shí)現(xiàn)了模型的輕量化,這些改進(jìn)不僅在模型大小、計(jì)算開銷方面取得了顯著降低,而且在精度上也表現(xiàn)出一定的提升。整體對(duì)比結(jié)果顯示,YOLO v8n-ERM在mAP@0.5方面的參數(shù)量及計(jì)算量表現(xiàn)最優(yōu),YOLO v8s-
ERM在mAP@0.5 ∶0.95方面的表現(xiàn)最優(yōu)。
2.4 消融試驗(yàn)
通過(guò)對(duì)比試驗(yàn)可知YOLO v8n-ERM模型相較于其他模型的優(yōu)勢(shì),但是為了驗(yàn)證改進(jìn)模塊的有效性,還需要做消融試驗(yàn)以進(jìn)一步說(shuō)明。在基線模型不變的情況下,每次只添加1個(gè)模塊。由表6中的消融試驗(yàn)結(jié)果可知,在骨干網(wǎng)絡(luò)中引入EfficientNet-B0網(wǎng)絡(luò)后,在mAP@0.5只下降1.3百分點(diǎn)的情況下,參數(shù)量由3.0 M降至1.9 M,降低了1.1 M,計(jì)算量從8.1 GFLOPs降至5.7 GFLOPs,降低了2.4 GFLOPs,參數(shù)量、計(jì)算量都有大幅下降。在骨干網(wǎng)絡(luò)引入EfficientNet-B0后,接著在頸部網(wǎng)絡(luò)引入RepVGG重參數(shù)化模塊,參數(shù)量相較于只引入EfficientNet-B0的條件有略微增長(zhǎng),但mAP@0.5相較于基線模型上升了1.5百分點(diǎn),并且計(jì)算量大量壓縮,比基線模型下降了4.4 GFLOPs。最后,在YOLO v8n模型中同時(shí)引入EfficientNet-B0網(wǎng)絡(luò)、RepVGG重參數(shù)化模塊和MPDIoU損失函數(shù)之后,參數(shù)量、計(jì)算量有了極大壓縮,分別較基線模型下降了0.6 M、4.4 GFLOPs,在這種情況下,mAP@0.5、mAP@0.5 ∶0.95相較于基線模型分別提升了3.6、2.1百分點(diǎn),有大幅度提升。
2.5 檢測(cè)效果及其分析
由圖9可知,YOLO v8n-ERM在各類玉米害蟲上的檢測(cè)精度相較于YOLO v8n都有不同程度的提高,其中白星花金龜、桃蛀螟的提升最明顯,分別提升了5.7、5.5百分點(diǎn)。
由圖10可知,原始圖像1中,在光線較暗的環(huán)境中存在2頭金針蟲,其中1頭被部分遮擋,導(dǎo)致害蟲的部分信息丟失,這導(dǎo)致YOLO v8n對(duì)另一頭金針蟲發(fā)生漏檢的情況。在原始圖像2中,存在7頭白星花金龜,由于個(gè)體重疊,導(dǎo)致,1頭白星花金龜漏檢了,且還有1頭因?yàn)榕c背景相似,也出現(xiàn)了漏檢情況表明。相比之下,YOLO v8n-ERM在這些情況下仍然能夠準(zhǔn)確識(shí)別出害蟲個(gè)體,未出現(xiàn)漏檢的情況。YOLO v8n-ERM在處理遮擋和光線較暗、個(gè)體重疊及害蟲與環(huán)境背景相似的復(fù)雜場(chǎng)景時(shí)表現(xiàn)出了明顯的優(yōu)勢(shì)。
3 討論與結(jié)論
本研究提出了一種高效且輕量的YOLO v8n-ERM模型,旨在更好地識(shí)別玉米害蟲。本研究引入了EfficientNet-B0輕量化網(wǎng)絡(luò),以有效減少模型的參數(shù)量、計(jì)算量。在頸部網(wǎng)絡(luò)中,筆者引入RepVGG結(jié)構(gòu)的重參數(shù)化模塊,以提升模型對(duì)多分支特征的融合能力,同時(shí)顯著減少模型的計(jì)算復(fù)雜性。此外,本研究以MPDIoU作為損失函數(shù),以提升網(wǎng)絡(luò)模型的邊界框回歸性能,更好地適應(yīng)檢測(cè)復(fù)雜環(huán)境下的玉米害蟲,解決復(fù)雜環(huán)境下玉米害蟲的漏檢問(wèn)題,提升模型的檢測(cè)性能。
試驗(yàn)結(jié)果表明,相較于基線模型,YOLO v8n-ERM在mAP@0.5、mAP@0.5 ∶0.95方面分別提升了3.6、2.1百分點(diǎn)。與此同時(shí),模型的參數(shù)量、計(jì)算量分別僅為2.4 M和3.7 GFLOPs,分別較基線模型降低了0.6 M、4.4 GFLOPs。對(duì)于一些復(fù)雜環(huán)境下的玉米害蟲,該模型展現(xiàn)出較高的識(shí)別率,且滿足了部署在智慧農(nóng)業(yè)檢測(cè)設(shè)備的要求,在病蟲害防護(hù)中具備一定應(yīng)用價(jià)值。在后續(xù)工作中,我們將進(jìn)一步擴(kuò)充數(shù)據(jù)集,引入更多多目標(biāo)、小目標(biāo)等復(fù)雜環(huán)境下的數(shù)據(jù),以提升模型在不同復(fù)雜環(huán)境下識(shí)別玉米害蟲的泛化性能。
參考文獻(xiàn):
[1]劉 杰,曾 娟,楊清坡,等." 2023年農(nóng)作物重大病蟲害發(fā)生趨勢(shì)預(yù)報(bào)[J]. 中國(guó)植保導(dǎo)刊,2023,43(1):32-35.
[2]Cheng X,Zhang Y H,Chen Y Q,et al. Pest identification via deep residual learning in complex background[J]. Computers and Electronics in Agriculture,2017,141:351-356.
[3]Zheng L,Shen L Y,Tian L,et al. Scalable person re-identification:a benchmark[C]//2015 IEEE International Conference on Computer Vision (ICCV).Santiago,Chile.IEEE,2015:1116-1124.
[4]翟肇裕,曹益飛,徐煥良,等." 農(nóng)作物病蟲害識(shí)別關(guān)鍵技術(shù)研究綜述[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2021,52(7):1-18.
[5]馬 曉,邢 雪,武青海. 基于改進(jìn)ConvNext的復(fù)雜背景下玉米葉片病害分類[J]. 江蘇農(nóng)業(yè)科學(xué),2023,51(19):190-197.
[6]張 航,程 清,武英潔,等." 一種基于卷積神經(jīng)網(wǎng)絡(luò)的小麥病害識(shí)別方法[J]. 山東農(nóng)業(yè)科學(xué),2018,50(3):137-141.
[7]周紹發(fā),肖小玲,劉忠意,等." 改進(jìn)的基于YOLO v5s蘋果樹葉病害檢測(cè)[J]. 江蘇農(nóng)業(yè)科學(xué),2023,51(13):212-220.
[8]Girshick R. Fast R-CNN[C]//2015 IEEE International Conference on Computer Vision (ICCV).Santiago,Chile.IEEE,2015:1440-1448.
[9]Jiang P Y,Ergu D J,Liu F Y,et al. A review of yolo algorithm developments[J]. Procedia Computer Science,2022,199:1066-1073.
[10]Teng Y,Zhang J,Dong S F,et al. MSR-RCNN:a multi-class crop pest detection network based on a multi-scale super-resolution feature enhancement module[J]. Frontiers in Plant Science,2022,13:810546.
[11]陳 峰,谷俊濤,李玉磊,等." 基于機(jī)器視覺和卷積神經(jīng)網(wǎng)絡(luò)的東北寒地玉米害蟲識(shí)別方法[J]. 江蘇農(nóng)業(yè)科學(xué),2020,48(18):237-244.
[12]Jia L Q,Wang T,Chen Y,et al. MobileNet-CA-YOLO:an improved YOLO v7 based on the MobileNet v3 and attention mechanism for rice pests and diseases detection[J]. Agriculture,2023,13(7):1285.
[13]段新濤,王 伸,趙 晴,等." 基于改進(jìn)YOLO v4的夏玉米主要害蟲檢測(cè)方法研究[J]. 山東農(nóng)業(yè)科學(xué),2023,55(10):167-173.
[14]Zhang L J,Ding G C,Li C R,et al. DCF-YOLO v8:an improved algorithm for aggregating low-level features to detect agricultural pests and diseases[J]. Agronomy,2023,13(8):2012.
[15]慕君林,馬 博,王云飛,等." 基于深度學(xué)習(xí)的農(nóng)作物病蟲害檢測(cè)算法綜述[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2023,54(增刊2):301-313.
[16]Wu X P,Zhan C,Lai Y K,et al. IP102:a large-scale benchmark dataset for insect pest recognition[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Long Beach,CA,USA.IEEE,2019:8779-8788.
[17]Tan M X,Le Q V. EfficientNet:rethinking model scaling for convolutional neural networks[EB/OL]. [2023-11-11]. http://arxiv.org/abs/1905.11946.
[18]Ding X H,Zhang X Y,Ma N N,et al. RepVGG:making VGG-style ConvNets great again[C]//2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).Nashville,TN,USA.IEEE,2021:13728-13737.
[19]Ma S L,Xu Y. MPDIoU:a loss for efficient and accurate bounding box regression[EB/OL]. [2023-11-11]. http://arxiv.org/abs/2307.07662.
[20]Zhou D Q,Hou Q B,Chen Y P,et al. Rethinking bottleneck structure for efficient mobile network design[C]//Vedaldi A,Bischof H,Brox T,et al. European Conference on Computer Vision.Cham:Springer,2020:680-697.
[21]Ma N N,Zhang X Y,Zheng H T,et al. ShuffleNet v2:practical guidelines for efficient CNN architecture design[C]//Computer Vision -ECCV 2018:15th European Conference,Munich,Germany,September 8-14,2018,Proceedings,Part ⅩⅣ. ACM,2018:122-138.
[22]Howard A,Sandler M,Chen B,et al. Searching for MobileNet v3[C]//2019 IEEE/CVF International Conference on Computer Vision (ICCV).Seoul,Korea (South).IEEE,2019:1314-1324.