儲(chǔ)鑫 李祥 羅斌 王曉冬 黃碩
摘要:為快速準(zhǔn)確識(shí)別自然環(huán)境下的番茄葉片病害,提出一種基于改進(jìn)YOLOv4算法的輕量化番茄葉部病害識(shí)別方法。該方法根據(jù)番茄病害特征采用K均值聚類算法調(diào)整先驗(yàn)框的維度,并使用寬度因子為0.25的MobileNetv1代替YOLOv4原有的主干網(wǎng)絡(luò)CSPDarknet53進(jìn)行特征提取,并在特征融合網(wǎng)絡(luò)PANet中引入深度可分離卷積代替原有的3×3標(biāo)準(zhǔn)卷積,同時(shí)在主干網(wǎng)絡(luò)的2個(gè)輸出特征層和空間金字塔池化輸出層分別嵌入卷積塊注意力模塊(CBAM),提高模型識(shí)別精度。試驗(yàn)結(jié)果表明,改進(jìn)后的模型對(duì)8類番茄葉片整體檢測(cè)精準(zhǔn)性(mAP)為98.76%,參數(shù)量為12.64 M,傳輸幀數(shù)為1 s 101.76幀,相較于原YOLOv4模型,模型參數(shù)量減少80%,每秒傳輸幀數(shù)比原始YOLOv4模型提高了130%。
關(guān)鍵詞:YOLOv4;MobileNet;輕量化;注意力機(jī)制;病害
中圖分類號(hào):S436.412文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1000-4440(2023)05-1199-10
Identification method of tomato leaf diseases based on improved YOLOv4 algorithmCHU Xin LI Xiang LUO Bin WANG Xiao-dong HUANG Shuo
(1.College of Information Engineering, East China University of Technology, Nanchang 330013, China;2.National Engineering Technology Research Center for Agricultural Informatization, Beijing 100097, China;3.Research Center of Intelligent Equipment Technology, Beijing Academy of Agriculture and Forestry, Beijing 100097, China)
Abstract:In order to identify tomato leaf diseases in natural environment quickly and accurately, a lightweight tomato leaf disease identification method based on improved YOLOv4 algorithm was proposed. The method used K-means clustering algorithm to adjust the dimensions of the prior box according to the characteristics of tomato disease, and used MobileNetv1 with a width factor of 0.25 instead of the original backbone network CSPDarknet53 of YOLOv4 for feature extraction, and introduced deep separable convolution in place of the original 3×3 standard convolution in the feature fusion network PANet. At the same time, the convolutional block attention module (CBAM) was embedded in the two output feature layers and the spatial pyramid pooling output layer of the backbone network to improve the model recognition accuracy. The results showed that, the overall detection accuracy (mAP) of the improved model for eight types of tomato leaves was 98.76%, the parameter quantity was 12.64 M, and the transmission frame number was 101.76 f/s, which was 80% lower than that of the original YOLOv4 model, and the number of transmitted frames per second was 130% higher than that of the original YOLOv4 model.
Key words:YOLOv4;MobileNet;light weight;attentional mechanism;diseases
番茄是重要的經(jīng)濟(jì)作物之一,其營(yíng)養(yǎng)價(jià)值和經(jīng)濟(jì)價(jià)值非常高。隨著番茄植株的生長(zhǎng),大多數(shù)番茄葉部病害的發(fā)生也呈上升趨勢(shì)[1]。因此,及時(shí)防治番茄葉部病害是提高番茄質(zhì)量和產(chǎn)量的關(guān)鍵舉措,而精準(zhǔn)識(shí)別番茄葉部病害種類是番茄病蟲(chóng)害精準(zhǔn)防控的前提。現(xiàn)階段,中國(guó)大部分地區(qū)主要還是依賴人工排查番茄葉部病害,這不僅耗時(shí)耗力,而且僅僅通過(guò)肉眼分辨葉部病害種類,難免產(chǎn)生錯(cuò)誤,從而不利于病害的及時(shí)防治[2]。對(duì)此,需要研究高效率、低成本的病害圖像智能識(shí)別算法,為番茄葉部病害精準(zhǔn)識(shí)別提供技術(shù)支撐。
隨著深度學(xué)習(xí)的不斷發(fā)展和其在農(nóng)業(yè)方面越來(lái)越多的應(yīng)用[3],有學(xué)者針對(duì)作物葉片病害檢測(cè)識(shí)別進(jìn)行了深入研究。劉文波等[4]將改進(jìn)后的SOLOv2算法應(yīng)用于番茄葉部病害檢測(cè),平均精度達(dá)42.3%,與其他文獻(xiàn)的模型相比,精度不太理想。文斌等[5]在YOLOv3的基礎(chǔ)上采用注意力特征金字塔和雙瓶頸層構(gòu)建新的網(wǎng)絡(luò),實(shí)現(xiàn)對(duì)三七葉片病害的識(shí)別,但檢測(cè)速度僅為23 fps。Hu等[6]提出將多卷積神經(jīng)網(wǎng)絡(luò)集成用于茶樹(shù)葉部病害的識(shí)別,結(jié)果顯示,該算法可以有效區(qū)分病葉與健康葉,但檢測(cè)類別較少。Qi 等[7]在YOLOv5模型中增加了1個(gè)擠壓-激發(fā)( SE )模塊,構(gòu)建新的模型,實(shí)現(xiàn)對(duì)番茄病害的識(shí)別,平均檢測(cè)精度為91.07%,但模型參數(shù)量較大,高達(dá)42.796 M。劉延鑫等[8]構(gòu)建5種煙草葉部病害數(shù)據(jù)集,選用YOLOv3模型對(duì)煙草葉部病害進(jìn)行識(shí)別檢測(cè),采用K-means++聚類方法對(duì)錨框(Anchor box)的寬和高進(jìn)行計(jì)算,提高了模型檢測(cè)精度,得到整體檢測(cè)精準(zhǔn)性(mAP)為0.77,算法結(jié)果優(yōu)于SSD(單步多框目標(biāo)檢測(cè))算法檢測(cè)的mAP值(0.69),但模型單樣本耗時(shí)比SSD算法多2 s。王超學(xué)等[9]分別以一張葡萄葉片和一串葡萄果實(shí)為單位做標(biāo)注,將YOLOv3算法中的主干網(wǎng)絡(luò)DarkNet-53替換為EfficientNet-B3作為模型的主干特征提取網(wǎng)絡(luò),對(duì)12種葡萄病害、健康葡萄葉片和健康葡萄果實(shí)進(jìn)行識(shí)別,識(shí)別精度為98.60%,B3網(wǎng)絡(luò)結(jié)構(gòu)模型與其他以EfficientNet作為主干特征提取網(wǎng)絡(luò)的模型訓(xùn)練時(shí)間和模型體積相近,且相對(duì)于YOLOv3網(wǎng)絡(luò)模型,參數(shù)量縮減50%,模型體積縮減2/3的同時(shí),模型平均識(shí)別精度提升3%,最終參數(shù)量仍然較大,約為29 M。周維等[10]利用GhostNet網(wǎng)絡(luò)代替YOLOv4中主干網(wǎng)絡(luò)CSPDarkNet-53,并以深度可分離卷積代替普通卷積的方式改進(jìn)路徑聚合網(wǎng)絡(luò)(PANet),對(duì)網(wǎng)上獲取的6種水稻病蟲(chóng)害數(shù)據(jù)集進(jìn)行檢測(cè)識(shí)別,識(shí)別準(zhǔn)確率為79.36%。王權(quán)順等[11]利用PlantVillage中蘋(píng)果葉部黑星病圖片與網(wǎng)上另外3種蘋(píng)果葉部病害圖片構(gòu)建數(shù)據(jù)集,通過(guò)將YOLOv4中主干網(wǎng)絡(luò)CSPdarknet53替換為DenseNet121網(wǎng)絡(luò),在保證特征提取能力的同時(shí)減少計(jì)算量,針對(duì)YOLOv4的預(yù)設(shè)錨框不適合應(yīng)用于病斑檢測(cè)的情況,采用二分K均值聚類算法得到一組新的錨框優(yōu)化算法,相較于原YOLOv4算法mAP值提高0.89%,模型權(quán)重大小為62.71 MB,相較于其他文獻(xiàn)報(bào)道,該算法識(shí)別病害種類較少,僅有4種。
考慮到上述國(guó)內(nèi)外學(xué)者對(duì)作物葉片病害檢測(cè)識(shí)別的研究中存在的一些問(wèn)題,例如,精確度低、檢測(cè)速度慢、模型參數(shù)大等,本研究針對(duì)番茄葉片多類病害病斑差別較小、病斑形狀復(fù)雜且無(wú)規(guī)律、檢測(cè)識(shí)別方法的檢測(cè)速率低和模型參數(shù)大等問(wèn)題,提出一種改進(jìn)的YOLOv4輕量化番茄葉部病害識(shí)別方法,使用K均值聚類算法得到9個(gè)新的先驗(yàn)框,同時(shí)利用遷移學(xué)習(xí),將預(yù)訓(xùn)練YOLOv4算法得到的最優(yōu)參數(shù)與在COCO數(shù)據(jù)集訓(xùn)練得到的MobileNetv1權(quán)重進(jìn)行融合,并對(duì)主干網(wǎng)絡(luò)、路徑聚合網(wǎng)絡(luò)進(jìn)行改進(jìn),達(dá)到降低模型參數(shù)和減小計(jì)算量的目的。在主干網(wǎng)絡(luò)的2個(gè)輸出特征層和空間金字塔池化輸出層分別嵌入坐標(biāo)注意力機(jī)制CBAM(卷積塊注意力模塊),以此避免改進(jìn)網(wǎng)絡(luò)后減少模型參數(shù)帶來(lái)的精度損失。
1YOLOv4模型改進(jìn)
1.1YOLOv4模型
YOLOv4[12-13]作為YOLO系列第4代單階段目標(biāo)檢測(cè)算法,相較于YOLOv3算法,其在檢測(cè)精度與檢測(cè)速度方面均有較大的提升。YOLOv4模型主要包括4個(gè)方面:輸入端、主干網(wǎng)絡(luò)(Backbone)、頸部網(wǎng)絡(luò)(Neck)以及頭部網(wǎng)絡(luò)(Head)。YOLOv4在輸入端采用Mosaic數(shù)據(jù)增強(qiáng)[14],豐富了數(shù)據(jù)的多樣性,提高了模型的泛化能力。主干網(wǎng)絡(luò)在DarkNet53的基礎(chǔ)上融合了跨階段局部網(wǎng)絡(luò)的思想,形成特征提取效果更強(qiáng)的CSPDarkNet53結(jié)構(gòu)。CSPDarkNet53主干網(wǎng)絡(luò)主要由5層殘差網(wǎng)絡(luò)Resblock_Body組成,同時(shí)通過(guò)下采樣輸出3個(gè)有效特征層,以此保證提取更完備的圖像語(yǔ)義信息。頸部網(wǎng)絡(luò)主要由空間金字塔池化(Space pyramid pool,SPP)[15]和PANet[16]組成,空間金字塔池化通過(guò)5個(gè)大小為5×5、9×9和13×13的最大池化層來(lái)融合尺度大小不同的特征圖,起到增加感受野的作用。路徑聚合網(wǎng)絡(luò)可以提高信息流在網(wǎng)絡(luò)中的傳遞效率[17],其對(duì)特征圖進(jìn)行上采樣與下采樣,借此融合網(wǎng)絡(luò)提取到的特征信息。最后YOLOv4生成3個(gè)檢測(cè)頭用于檢測(cè)目標(biāo)[18]。YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。為提高模型檢測(cè)效率,降低模型參數(shù)量,本研究提出一種改進(jìn)的YOLOv4算法的番茄葉部病害識(shí)別方法。
1.2改進(jìn)YOLOv4模型
1.2.1運(yùn)用遷移學(xué)習(xí)在原先的YOLOv4模型中,輸入圖片尺寸大小為416×416,凍結(jié)層與非凍結(jié)層批次大?。˙atch size)均為16,模型檢測(cè)番茄葉片的mAP為98.16%。由于本研究采用的番茄葉部病害數(shù)據(jù)集尺寸大小為256×256,因此,在模型輸入端將尺寸改為256×256,并將凍結(jié)層與非凍結(jié)層batch size均改為8,最終得到模型檢測(cè)番茄葉片的mAP為98.58%。因此,在下文其他模型訓(xùn)練時(shí)均采用上述參數(shù)進(jìn)行訓(xùn)練。由于COCO數(shù)據(jù)集包含的數(shù)據(jù)特征豐富,因此,本研究用到的所有模型的訓(xùn)練權(quán)重均為對(duì)應(yīng)模型在COCO數(shù)據(jù)集訓(xùn)練所得,利用這些訓(xùn)練權(quán)重有利于得到更高精度的結(jié)果。由此可見(jiàn),運(yùn)用遷移學(xué)習(xí)有利于檢測(cè)精度的提升,遷移學(xué)習(xí)改進(jìn)后參數(shù)量由64.36 M降低為63.79 M,圖2為參數(shù)改進(jìn)前后mAP的對(duì)比。
1.2.2使用MobileNetv1為主干網(wǎng)絡(luò)MobileNetv1是2017年由谷歌公司提出的一種輕量化深層神經(jīng)網(wǎng)絡(luò),與傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)模型相比,該模型需要的計(jì)算工作量相對(duì)較少[19],主要是用于嵌入各類硬件和軟件設(shè)備,其最大優(yōu)勢(shì)是提出了深度可分離卷積(Depthwise separable convolution),并且MobileNetv1采用ReLU6代替ReLU作為激活函數(shù)。圖3為普通卷積和深度可分離卷積結(jié)構(gòu)的對(duì)比。采用多個(gè)ReLU6激活函數(shù),可以在減少計(jì)算量的同時(shí)避免帶來(lái)精度損失。
為了使模型參數(shù)量更小,檢測(cè)速度更快,MobileNetv1在輸入通道上引入可以使每一層網(wǎng)絡(luò)均勻細(xì)化的寬度因子(a),其取值為0.25、0.50、0.75、1.00。當(dāng)a取1.00時(shí),代表原始的網(wǎng)絡(luò),只有當(dāng)a<1.00時(shí),才有細(xì)化網(wǎng)絡(luò)層的功能。本研究選取a為0.25的MobileNetv1網(wǎng)絡(luò)作為主干網(wǎng)絡(luò)對(duì)YOLOv4模型進(jìn)一步壓縮,在只給精度僅帶來(lái)0.01%的損失的同時(shí)減少了23.23 M參數(shù)量,因此,選取a為0.25的MobileNetv1網(wǎng)絡(luò)代替YOLOv4的主干網(wǎng)絡(luò)CSPDarkNet-53,大大地減少了模型參數(shù)量且?guī)缀醪粠?lái)識(shí)別精度的損失。
1.2.3改進(jìn)PANet深度可分離卷積的核心思想是將普通卷積運(yùn)算分為逐深度卷積(Depthwise convolution)與逐點(diǎn)1×1卷積(Pointwise convolution)2步進(jìn)行[20]。逐深度卷積不同于普通卷積的是1個(gè)通道由1個(gè)卷積核負(fù)責(zé),每個(gè)通道獨(dú)立進(jìn)行空間卷積運(yùn)算。不同深度卷積的輸出由逐點(diǎn)1×1卷積重新組合輸出,從而得到新的特征圖。圖 4A為普通卷積運(yùn)算,圖4B為逐深度卷積運(yùn)算,圖4C為逐點(diǎn)卷積運(yùn)算。
1.2.4改進(jìn)Anchor boxYOLOv4是一種根據(jù)錨框?qū)δ繕?biāo)物體進(jìn)行預(yù)測(cè)回歸的算法,其原先Anchor box是根據(jù)COCO數(shù)據(jù)集訓(xùn)練得到的固定數(shù)值。而本研究的對(duì)象是COCO數(shù)據(jù)集中鮮少出現(xiàn)的番茄葉片病害,并且數(shù)據(jù)集中番茄葉片病害種類繁多,導(dǎo)致數(shù)據(jù)集標(biāo)注邊界框尺寸相差甚遠(yuǎn)。為了使Anchor box更接近數(shù)據(jù)集標(biāo)注尺寸,本研究采用K均值聚類算法對(duì)本研究數(shù)據(jù)集的Anchor box進(jìn)行聚類分析,得到合適的錨框尺寸。K均值聚類算法具有計(jì)算復(fù)雜度低、收斂速度快和可解釋性強(qiáng)等特點(diǎn)。根據(jù)K均值聚類算法隨機(jī)初始化得到9個(gè)中心點(diǎn),計(jì)算每個(gè)坐標(biāo)到中心點(diǎn)的歐式距離,將每個(gè)樣本分配給離它最近的中心點(diǎn),不斷重復(fù)此步驟直到9個(gè)中心點(diǎn)不再移動(dòng),從而得到9個(gè)新的Anchor box,分別為(132,198)、(162,222)、(182,200)、(186,234)、(203,224)、(226,212)、(209,240)、(223,237)、(237,242),將新的Anchor box運(yùn)用到算法中,并采用mAP值和GFLOPs值(每秒浮點(diǎn)運(yùn)算次數(shù))作為優(yōu)化前后的評(píng)價(jià)指標(biāo)。最終結(jié)果表明,優(yōu)化后的mAP值增長(zhǎng)了0.02%,GFLOPs值也比優(yōu)化前高出1.36 G。圖5是K均值聚類分布。
1.2.5添加CBAM注意力機(jī)制CBAM模塊是一種在通道和空間2個(gè)維度上對(duì)特征圖像進(jìn)行權(quán)重分配,從而提取到更有用的特征信息的模塊。特征圖像首先進(jìn)入通道注意力模塊,通過(guò)平均池化和最大池化得到各個(gè)通道的信息,并將得到的參數(shù)通過(guò)多層感知進(jìn)行疊加,再經(jīng)過(guò)激活函數(shù)處理,從而得到通道注意力特征圖[21]??臻g注意力模塊主要關(guān)注空間層面上特征圖的內(nèi)在聯(lián)系,將通道注意力模塊的輸出作為空間注意力模塊的輸入,經(jīng)過(guò)卷積和激活操作后獲得空間注意力模塊的特征圖[22]。
為提取到番茄病害更豐富的有效特征信息,本研究在YOLOv4改進(jìn)后的主干特征提取網(wǎng)絡(luò)MobileNetv1的2個(gè)輸出特征層以及加強(qiáng)特征提取網(wǎng)絡(luò)SPP的輸出特征層上添加CBAM模塊,以CBAM模塊輸出的有效特征圖作為PANet的輸入,傳入PANet結(jié)構(gòu)中進(jìn)行卷積和上采樣,最終提取到包含更多關(guān)鍵信息的特征圖。改進(jìn)后YOLOv4的網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。
2結(jié)果與分析
為驗(yàn)證本研究算法在多類番茄病害識(shí)別與分類方面的性能,首先構(gòu)建數(shù)據(jù)集,然后分別對(duì)YOLOv4不同主干網(wǎng)絡(luò)和在主干網(wǎng)絡(luò)輸出層加入的不同注意力機(jī)制模塊進(jìn)行訓(xùn)練,并選取經(jīng)典的單階段目標(biāo)檢測(cè)算法與本研究改進(jìn)的YOLOv4算法進(jìn)行對(duì)比。試驗(yàn)的硬件配置為Intel CoreTMi7-10700K處理器和NVIDIA GeForce RTX 3060顯卡。操作系統(tǒng)是Ubuntu 20.04.2 LTS 64位系統(tǒng)。Python的版本為3.8.5,Pytorch的版本為1.8.1。在訓(xùn)練過(guò)程中,首先對(duì)輸入的圖片進(jìn)行Mosaic(馬賽克)數(shù)據(jù)增強(qiáng),并使用余弦退火算法對(duì)學(xué)習(xí)率進(jìn)行調(diào)整, 每輪共設(shè)置300次迭代,凍結(jié)層和非凍結(jié)層batch size設(shè)置為8。
2.1數(shù)據(jù)集的構(gòu)建
本研究所用數(shù)據(jù)集選自Plant Village公開(kāi)數(shù)據(jù)集中的番茄葉片集,其中包括細(xì)菌性斑點(diǎn)病、葉霉病、晚疫病、葉斑病、二斑葉螨病、黃曲葉病、早疫病葉片以及健康葉片,共8個(gè)類別。由于樣本分布不均勻會(huì)影響模型訓(xùn)練結(jié)果,因此,每個(gè)類別的葉片選取相同的數(shù)量,均為1 250張。數(shù)據(jù)集中早疫病圖片僅有1 000張,通過(guò)編寫(xiě)程序?qū)⑵渲?50張圖片旋轉(zhuǎn)270°后與原有圖像整合,使其與其他類別圖像達(dá)到相同數(shù)量,最終得到所有數(shù)據(jù)集10 000張,數(shù)據(jù)集如圖7所示。使用Make Sense工具對(duì)上述10 000張番茄葉片病害圖像進(jìn)行標(biāo)注,標(biāo)注時(shí)利用最小外接矩形框標(biāo)記出葉片位置并選擇對(duì)應(yīng)的類別標(biāo)簽。標(biāo)注完成后,每張圖片會(huì)產(chǎn)生1個(gè)對(duì)應(yīng)的包含病害類別標(biāo)簽和矩形框坐標(biāo)信息的txt文件,圖8為數(shù)據(jù)集標(biāo)注示例。通過(guò)編寫(xiě)隨機(jī)抽樣的程序,從10 000張圖片中隨機(jī)選擇8 001張作為訓(xùn)練集,隨機(jī)選擇999張圖片作為驗(yàn)證集,隨機(jī)選擇1 000張圖片作為測(cè)試集。
2.2評(píng)價(jià)指標(biāo)
為了評(píng)估算法的性能優(yōu)劣,本研究以對(duì)所有類別的番茄葉片整體檢測(cè)精準(zhǔn)性(mAP)、 每秒所執(zhí)行的浮點(diǎn)運(yùn)算次數(shù)、每秒幀數(shù)(FPS)、平均每張圖片檢測(cè)時(shí)間以及模型參數(shù)量作為評(píng)價(jià)模型大小、檢測(cè)速度和精度的指標(biāo)。mAP由所有類別的平均精度(AP)取平均值得到,AP是精確度(P)和召回率(R)組成的曲線的面積。P、R的計(jì)算方法分別見(jiàn)公式(5)、公式(6),mAP的計(jì)算公式如公式(7)所示。GFLOPs用于衡量模型的計(jì)算量,其值越大,表明模型計(jì)算速度越高。FPS用于衡量模型的實(shí)時(shí)性能,其值越大,表明模型實(shí)時(shí)檢測(cè)的性能越好。
2.3不同主干網(wǎng)絡(luò)的性能比較
針對(duì)YOLOv4參數(shù)量多和網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜等問(wèn)題,分別選取不同的輕量化主干網(wǎng)絡(luò)代替原來(lái)的CSPDarknet網(wǎng)絡(luò),對(duì)8 001張訓(xùn)練集進(jìn)行訓(xùn)練后,得到相應(yīng)權(quán)重再分別檢測(cè)驗(yàn)證集和測(cè)試集。為驗(yàn)證MobileNetv1輕量化網(wǎng)絡(luò)檢測(cè)番茄病害的優(yōu)越性,選取的網(wǎng)絡(luò)分別是MobileNetv2、MobileNetv3以及CSPDarknet,預(yù)測(cè)結(jié)果如表1所示。
由表1可以看出,MobileNetv2和MobileNetv3雖然檢測(cè)時(shí)間優(yōu)于原YOLOv4模型,但識(shí)別精度(整體檢測(cè)精準(zhǔn)性)卻低于原YOLOv4模型。MobileNetv1不僅比其他輕量化網(wǎng)絡(luò)識(shí)別模型的整體檢測(cè)精準(zhǔn)性高,檢測(cè)速度也具有較大的優(yōu)勢(shì),檢測(cè)每張圖片平均僅需9 ms,比原YOLOv4模型快了13 ms,滿足實(shí)時(shí)檢測(cè)的條件。
2.4不同注意力機(jī)制的比較
為驗(yàn)證本研究在主干網(wǎng)絡(luò)2個(gè)輸出層和SPP結(jié)構(gòu)的輸出層添加CBAM模塊的有效性,本研究設(shè)計(jì)了在同等條件下添加不同注意力模塊的對(duì)比試驗(yàn),結(jié)果如表2所示。由表2可以看出,在設(shè)定參數(shù)以及其他改進(jìn)均相同的情況下,添加CBAM模塊比添加CA模塊和ECA模塊的平均檢測(cè)精度都具有優(yōu)勢(shì),并且沒(méi)有帶來(lái)檢測(cè)速度方面的損失。原因可能是CBAM模塊屬于輕量級(jí)模塊,其插入網(wǎng)絡(luò)層后并不會(huì)給網(wǎng)絡(luò)帶來(lái)運(yùn)行負(fù)擔(dān),并且相較于ECA模塊與CA模塊只關(guān)注通道注意力,CBAM模塊可以在關(guān)注通道注意力的同時(shí)又關(guān)注空間注意力,而空間注意力對(duì)圖像中的有效語(yǔ)義信息更為敏感,因此,添加CBAM模塊使得空間注意力與通道注意力相輔相成,從而有效地提高網(wǎng)絡(luò)的特征提取能力。
2.5消融試驗(yàn)
為驗(yàn)證本研究提出的每個(gè)改進(jìn)對(duì)試驗(yàn)結(jié)果的積極影響,本研究設(shè)計(jì)了消融對(duì)比試驗(yàn),試驗(yàn)內(nèi)容包括運(yùn)用遷移學(xué)習(xí),以MobileNetv1為主干網(wǎng)絡(luò),改進(jìn)PANet,采用K均值聚類Anchor box和添加CBAM模塊,試驗(yàn)結(jié)果如表3所示。由表3可知,采用參數(shù)遷移學(xué)習(xí)后,番茄病害平均檢測(cè)精度有所提高,而在采用MobileNetv1替換主干網(wǎng)絡(luò)后,模型參數(shù)量減少了23.23 M,在此基礎(chǔ)上,進(jìn)一步對(duì)PANet進(jìn)行改進(jìn),使得模型參數(shù)量大幅度減少了28.26 M。由此可以看出,對(duì)YOLOv4算法主干網(wǎng)絡(luò)和路徑聚合網(wǎng)絡(luò)的改進(jìn),有效地減少了模型參數(shù)量。并且在網(wǎng)絡(luò)中添加CBAM模塊后,使得mAP有所提升的同時(shí)參數(shù)量?jī)H有微小提升。因此,改進(jìn)后的YOLOv4算法在保障精度有所提升的前提下,大大提高了模型檢測(cè)病害的速度。
2.6與其他單階段目標(biāo)檢測(cè)算法比較
當(dāng)前的目標(biāo)檢測(cè)算法分為2類,一類是以Faster R-CNN[23]為代表的Two-stage檢測(cè)算法,Two-stage檢測(cè)算法識(shí)別精度較高,但對(duì)檢測(cè)速度有所限制,顯然不適用于實(shí)時(shí)檢測(cè)場(chǎng)景。另一類是One-stage檢測(cè)算法,這類算法直接使用網(wǎng)絡(luò)檢測(cè)目標(biāo)邊界框和類概率分?jǐn)?shù),檢測(cè)速度高,識(shí)別準(zhǔn)確率較高,適用于農(nóng)業(yè)病害實(shí)時(shí)檢測(cè)場(chǎng)景。因此,本研究選擇對(duì)以SSD[24]和YOLO為代表的One-stage目標(biāo)檢測(cè)算法與改進(jìn)的YOLOv4輕量化算法進(jìn)行對(duì)比,表4為不同單階段算法對(duì)比。由表4可以看出,本研究提出的算法平均每張圖片檢測(cè)速度分別比SSD和RetinaNet算法快6 ms和5 ms,mAP比SSD和RetinaNet算法高。本研究提出的算法模型參數(shù)量更是遠(yuǎn)遠(yuǎn)小于SSD、RetinaNet以及原YOLOv4模型,分別比SSD、RetinaNet以及原YOLOv4模型小9.64 M、9.77 M和51.33 M。因此,本研究提出的算法在不影響識(shí)別精度的前提下大大減少了模型大小,更適合在嵌入式系統(tǒng)上部署。
為驗(yàn)證改進(jìn)后的YOLOv4算法是否可以較好地應(yīng)用于自然場(chǎng)景,選擇現(xiàn)實(shí)場(chǎng)景里番茄相對(duì)感染較多的4種病害,分別是早疫病、晚疫病、細(xì)菌性斑點(diǎn)病和黃曲葉病,使用改進(jìn)后的YOLOv4算法對(duì)4種病害進(jìn)行檢測(cè)識(shí)別。圖9為使用改進(jìn)后的YOLOv4算法對(duì)病害識(shí)別的結(jié)果,可以看出該算法可以準(zhǔn)確識(shí)別自然環(huán)境下的番茄葉部病害。
3結(jié)論
針對(duì)不同種類番茄葉片病害誤檢率高、實(shí)時(shí)檢測(cè)速度低等問(wèn)題[25-26],本研究提出一種改進(jìn)的YOLOv4輕量化檢測(cè)算法,應(yīng)用于8種番茄病害識(shí)別,改進(jìn)后的模型在平均識(shí)別精確度、檢測(cè)速度以及參數(shù)內(nèi)存大小方面均取得了良好的效果。將YOLOv4的主干網(wǎng)絡(luò)CSPDarkNet替換成輕量化的MobileNetv1網(wǎng)絡(luò),并采用深度可分離卷積取代PANet加強(qiáng)特征提取網(wǎng)絡(luò)中的3×3普通卷積,使得模型的計(jì)算量得到進(jìn)一步壓縮。通過(guò)有效調(diào)整YOLOv4原始模型參數(shù),結(jié)合遷移學(xué)習(xí)策略,將MobileNetv1在COCO數(shù)據(jù)集上訓(xùn)練的權(quán)重運(yùn)用到改進(jìn)的YOLOv4模型,并在主干網(wǎng)絡(luò)的2個(gè)輸出特征層和空間金字塔池化輸出層分別嵌入坐標(biāo)注意力機(jī)制,以此避免減小模型參數(shù)帶來(lái)精度損失。應(yīng)用K均值聚類算法對(duì)Anchor box進(jìn)行重新優(yōu)化,得到新的Anchor box值,取代原始YOLOv4的盲目搜索方法,從而提升了模型檢測(cè)能力。本研究提出的模型傳輸幀數(shù)為101.76 f/s,比原始YOLOv4模型提高了130%,而模型參數(shù)量?jī)H為12.64 M,比原YOLOv4模型參數(shù)量減少了80%,在1 000張測(cè)試集圖片上整體檢測(cè)精準(zhǔn)性為98.76%,比原始YOLOv4模型提高了0.6個(gè)百分點(diǎn),平均每張病害圖片檢測(cè)時(shí)間為9 ms。因此,改進(jìn)后的輕量化YOLOv4模型實(shí)時(shí)檢測(cè)性能更好,精確度更高并且更適合在硬件上部署。下一步的研究重點(diǎn)是將本研究算法應(yīng)用到各種復(fù)雜的自然場(chǎng)景,將深度學(xué)習(xí)應(yīng)用到更廣泛的農(nóng)業(yè)工程中。
參考文獻(xiàn):
[1]WANG X W,LIU J, ZHU X N. Early real-time detection algorithm of tomato diseases and pests in the natural environment[J]. Plant Methods,2021,17(1):1-17.
[2]XU C,DING J Q,QIAO Y,et al. Tomato disease and pest diagnosis method based on the Stacking of prescription data[J]. Computers and Electronics in Agriculture,2022,197:106997.
[3]呂盛坪,李燈輝,冼榮亨. 深度學(xué)習(xí)在我國(guó)農(nóng)業(yè)中的應(yīng)用研究現(xiàn)狀[J].計(jì)算機(jī)工程與應(yīng)用,2019,55(20):24-33,51.
[4]劉文波,葉濤,李頎. 基于改進(jìn)SOLO v2的番茄葉部病害檢測(cè)方法[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2021,52(8):213-220.
[5]文斌,曹仁軒,楊啟良,等. 改進(jìn)YOLOv3算法檢測(cè)三七葉片病害[J].農(nóng)業(yè)工程學(xué)報(bào),2022,38(3):164-172.
[6]HU G S,YANG X W,ZHANG Y,et al. Identification of tea leaf diseases by using an improved deep convolutional neural network[J]. Sustainable Computing: Informatics and Systems,2019,24: 100353.
[7]QI J T,LIU X N,LIU K,et al. An improved YOLOv5 model based on visual attention mechanism: application to recognition of tomato virus disease[J]. Computers and Electronics in Agriculture,2022,194:106780.
[8]劉延鑫,王俊峰,杜傳印,等. 基于YOLOv3的多類煙草葉部病害檢測(cè)研究[J].中國(guó)煙草科學(xué),2022,43(2):94-100.
[9]王超學(xué),祁昕,馬罡,等. 基于YOLOv3的葡萄病害人工智能識(shí)別系統(tǒng)[J].植物保護(hù),2022,48(6):278-288.
[10]周維,牛永真,王亞煒,等. 基于改進(jìn)的YOLOv4-GhostNet水稻病蟲(chóng)害識(shí)別方法[J].江蘇農(nóng)業(yè)學(xué)報(bào),2022,38(3):685-695.
[11]王權(quán)順,呂蕾,黃德豐,等. 基于改進(jìn)YOLOv4算法的蘋(píng)果葉部病害缺陷檢測(cè)研究[J].中國(guó)農(nóng)機(jī)化學(xué)報(bào),2022,43(11):182-187.
[12]REDMON J,DIVVALA S,GIRSHICK R,et al. You only look once:unified,real-time object detection[C].LasVegas:IEEE Computer Society,2016.
[13]BOCHKOVSKIY A,WANG C Y ,LIAO H Y. YOLOv4:optimal speed and accuracy of object detection[J/OL].arXiv,2020.
[14]胡文駿,楊莉瓊,肖宇峰,等.識(shí)別安全帽佩戴的輕量化網(wǎng)絡(luò)模型[J/OL].計(jì)算機(jī)工程與應(yīng)用:1-9.[2023-03-15].http://kns.cnki.net/kcms/detail/11.2127.TP.20220524.1106.011.html.
[15]HE K ,ZHANG X , REN S ,et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE transactions on pattern analysis and machine intelligence, 2015, 37(9):1904-1916.
[16]LIU S, QI L, QIN H F, et al. Path aggregation network for instance segmentation[C]. Salt Lake City,UT,USA:IEEE Press, 2018: 8759-8768.
[17]陳道懷,汪杭軍. 基于改進(jìn)YOLOv4的林業(yè)害蟲(chóng)檢測(cè)[J].浙江農(nóng)業(yè)學(xué)報(bào),2022,34(6):1306-1315.
[18]裴瑞景,王碩,王華英. 基于改進(jìn)YOLOv4算法的水果識(shí)別檢測(cè)研究[J/OL].激光技術(shù):1-11[2023-03-15].http://kns.cnki.net/kcms/detail/51.1125.TN.20220518.1135.004.html.
[19]SRINIVASU P N,SIVASAI J G,IJAZ M F,et al. Classification of skin disease using deep learning neural networks with MobileNet V2 and LSTM[J]. Sensors,2021,21(8):2852.
[20]WANG H T,LU F Y,TONG X,et al. A model for detecting safety hazards in key electrical sites based on hybrid attention mechanisms and lightweight Mobilenet[J]. Energy Reports,2021,7(S7):716-724.
[21]郝帥,張旭,馬旭,等. 基于CBAM-YOLOv5的煤礦輸送帶異物檢測(cè)[J].煤炭學(xué)報(bào),2022,47(11):4149-4158.
[22]姚齊水,別帥帥,余江鴻. 一種結(jié)合改進(jìn)Inception V2模塊和CBAM的軸承故障診斷方法[J].振動(dòng)工程學(xué)報(bào),2022,35(4):949-957.
[23]REN S Q,HE K M,GIRSHICK R, et al. FasterR-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]LIU W, ANGUELOV D, ERHAN D, et al. SSD: single shot multibox detector [M].? Amsterdam,The Netherland:Proceedings of the European Conference on Computer Vision,2016.
[25]胡政,張艷,尚靜,等. 高光譜圖像在農(nóng)作物病害檢測(cè)識(shí)別中的研究進(jìn)展[J].江蘇農(nóng)業(yè)科學(xué),2022,50(8):49-55.
[26]牛學(xué)德,高丙朋,南新元,等. 基于改進(jìn)DenseNet卷積神經(jīng)網(wǎng)絡(luò)的番茄葉片病害檢測(cè)[J].江蘇農(nóng)業(yè)學(xué)報(bào),2022,38(1):129-134.
(責(zé)任編輯:陳海霞)