黃奇瑞, 閆朝華
(南陽(yáng)理工學(xué)院 河南 南陽(yáng) 473004)
溫室農(nóng)作物由于生長(zhǎng)環(huán)境的局限性,存在換季連作、重茬、施肥施藥不規(guī)范等問(wèn)題,造成溫室作物更容易發(fā)生病害,且病害種類(lèi)繁多、不易識(shí)別,對(duì)溫室作物的生長(zhǎng)和產(chǎn)量造成了很大的損害。傳統(tǒng)的農(nóng)作物病害識(shí)別通常需要經(jīng)驗(yàn)豐富的專(zhuān)業(yè)人員進(jìn)行人工目視檢測(cè),耗力費(fèi)時(shí)且易出現(xiàn)誤判,因此對(duì)農(nóng)作物病害識(shí)別工作進(jìn)行科學(xué)的探索和研究勢(shì)在必行。
近年來(lái),隨著深度神經(jīng)網(wǎng)絡(luò)在圖像處理領(lǐng)域的廣泛應(yīng)用,國(guó)內(nèi)外學(xué)者對(duì)深度學(xué)習(xí)算法在農(nóng)作物病害檢測(cè)中的應(yīng)用展開(kāi)了研究[1-2]。Mohanty[3]等使用AlexNet和GoogLeNet兩種不同的深度卷積神經(jīng)網(wǎng)絡(luò)來(lái)識(shí)別14種作物物種和26種疾病,通過(guò)設(shè)置不同的參數(shù)訓(xùn)練模型,取得了較高的識(shí)別準(zhǔn)確率。Sun[4]等通過(guò)對(duì)深度神經(jīng)網(wǎng)絡(luò)卷積層的輸入數(shù)據(jù)進(jìn)行批歸一化處理,從而加速網(wǎng)絡(luò)收斂、提高識(shí)別精度。Ferentions 等[5]利用深度神經(jīng)網(wǎng)絡(luò)的多層級(jí)網(wǎng)絡(luò)結(jié)構(gòu)來(lái)檢測(cè)25種不同作物的患病及健康概率,取得了較好的效果。趙春霞[6]使用Pytorch框架搭建Res Net18網(wǎng)絡(luò)模型成功實(shí)現(xiàn)了海量圖像的高級(jí)抽象特征自動(dòng)提取功能,在番茄數(shù)據(jù)集上準(zhǔn)確率達(dá)到92.7%。楊英茹等[7]提出一種結(jié)合顏色紋理特征的CCL-SVM方法對(duì)復(fù)雜環(huán)境下的番茄葉片圖像進(jìn)行病害識(shí)別,測(cè)試識(shí)別率達(dá)到97.5%。溫釗發(fā)等[8]針對(duì)現(xiàn)有病害識(shí)別模型參數(shù)量大、魯棒性低、泛化性弱等問(wèn)題,在MobileNetV2網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上,提出了輕量級(jí)MIE_Net網(wǎng)絡(luò),以復(fù)雜環(huán)境中兩種作物11種病害類(lèi)別為實(shí)驗(yàn)對(duì)象,總體識(shí)別率達(dá)到95.79%。
以上文獻(xiàn)利用不同的神經(jīng)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)對(duì)植物病害的檢測(cè)并取得了較好的效果,但實(shí)際上由于溫室作物病害種類(lèi)繁多、識(shí)別困難,針對(duì)溫室作物病害檢測(cè)的研究甚少。因此,本文設(shè)計(jì)了一種融合卷積塊注意力機(jī)制(CBAM)的YOLOv5s植物病害檢測(cè)模型,以常見(jiàn)的溫室作物馬鈴薯為實(shí)驗(yàn)對(duì)象,通過(guò)圖像增強(qiáng)和標(biāo)注技術(shù)構(gòu)建葉片病害數(shù)據(jù)集,利用K-means算法調(diào)整初始錨框,在此基礎(chǔ)上通過(guò)引入CBAM機(jī)制來(lái)增強(qiáng)YOLOv5s模型對(duì)病害目標(biāo)的特征表達(dá)能力,進(jìn)而提高對(duì)溫室馬鈴薯葉片病害的檢測(cè)精度。
YOLOv5(You Only Look Once version 5)是一種基于深度學(xué)習(xí)的端到端的目標(biāo)檢測(cè)模型,可以直接從原始視頻或者圖像中檢測(cè)和定位目標(biāo)[9]。它使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)來(lái)學(xué)習(xí)圖像中物體的特征,并使用多尺度預(yù)測(cè)和網(wǎng)格分割來(lái)檢測(cè)和定位目標(biāo)。YOLOv5的優(yōu)勢(shì)在于其高效的檢測(cè)速度和較低的計(jì)算資源消耗,并且在不同分辨率的圖像上均能較好地工作。通過(guò)結(jié)合深度卷積神經(jīng)網(wǎng)絡(luò)和目標(biāo)檢測(cè)技術(shù),YOLOv5能夠在單個(gè)前向傳遞中實(shí)現(xiàn)實(shí)時(shí)的葉片病害檢測(cè),并能夠在各種復(fù)雜的農(nóng)田環(huán)境中進(jìn)行準(zhǔn)確的識(shí)別和分類(lèi),為農(nóng)作物葉片病害檢測(cè)提供了一種快速準(zhǔn)確的解決方案。
本文采用的YOLOv5s模型由4部分組成,分別為Input、Backbone、Neck和Prediction,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)圖
Input使用的數(shù)據(jù)增強(qiáng)方式是Mosaic方式,對(duì)輸入的數(shù)據(jù)集進(jìn)行隨機(jī)縮放、隨機(jī)剪裁和隨機(jī)拼接,可以極大地豐富輸入的數(shù)據(jù)集,從而提高訓(xùn)練模型的魯棒性。
Backbone作為主干網(wǎng)絡(luò)其主要功能是提取特征,也就是提取視頻或者圖片中的信息,供后面的網(wǎng)絡(luò)使用。特征提取的能力會(huì)直接影響整個(gè)網(wǎng)絡(luò)的性能,YOLOv5s的Backbone相比于之前的版本提出了新的Focus結(jié)構(gòu),Focus結(jié)構(gòu)通過(guò)切片操作將4×4×3的特征圖進(jìn)行切片處理,變成2×2×12的特征圖,輸入通道擴(kuò)充了4倍,最后將得到的新圖片再進(jìn)行卷積操作。
Neck一般采用FPN+PAN結(jié)構(gòu),其作用是更好地融合或提取Backbone給出的特征,從而提高網(wǎng)絡(luò)的性能。FPN是自頂向下將強(qiáng)語(yǔ)義特征傳遞下來(lái),而PAN則是將淺層的定位信息傳遞給深層,增強(qiáng)多尺度定位能力。
Prediction是網(wǎng)絡(luò)輸出端,其作用是利用前面網(wǎng)絡(luò)提取的特征,做出預(yù)測(cè)。
YOLOv5s模型在引入CBAM注意力機(jī)制模塊[10]后其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 CBAM-YOLOv5s模型網(wǎng)絡(luò)結(jié)構(gòu)圖
錨框(anchor boxes)是一組寬高比固定的初始候選框,其大小設(shè)定直接影響YOLOv5s模型的檢測(cè)效果。YOLOv5s模型的初始錨框是根據(jù)COCO數(shù)據(jù)集中物體真實(shí)框的大小進(jìn)行聚類(lèi)后得到的,由于本文實(shí)驗(yàn)所用葉片數(shù)據(jù)集目標(biāo)尺寸較小,初始錨框大小并不適合,為了提高錨框與對(duì)象框的匹配概率,本文利用K均值聚類(lèi)算法(K-means)重新生成錨框。首先隨機(jī)設(shè)置9個(gè)初始聚類(lèi)中心,通過(guò)K-means算法對(duì)數(shù)據(jù)集進(jìn)行聚類(lèi),重新生成小、中、大3個(gè)尺度的預(yù)設(shè)錨框。初始錨框和重設(shè)錨框的大小對(duì)比如表1所示。
表1 實(shí)驗(yàn)數(shù)據(jù)集錨框大小對(duì)比
在溫室采集圖像數(shù)據(jù)時(shí)由于背景的復(fù)雜性,葉片圖像中的病害目標(biāo)往往不太顯著,為此,本文通過(guò)在YOLOv5s模型中融入CBAM注意力機(jī)制模塊來(lái)提升模型的特征提取能力。CBAM模塊包含通道注意力模塊(CAM)和空間注意力模塊(SAM)兩個(gè)子模塊,可以在通道和空間兩個(gè)維度上進(jìn)行注意力運(yùn)算,增強(qiáng)這兩個(gè)維度上的關(guān)鍵特征,其結(jié)構(gòu)如圖3所示。其中,F和FS分別表示原始特征圖和經(jīng)過(guò)CBAM模塊增強(qiáng)后的特征圖。
圖3 CBAM模塊結(jié)構(gòu)圖
首先將輸入特征圖F分別送入平均池化層(Average Pooling)和最大池化層(Max Pooling)來(lái)聚合F的空間信息,得到F的平均池化特征和最大池化特征,然后送入一個(gè)多層感知機(jī)網(wǎng)絡(luò)(MLP),將輸出的特征做逐元素求和并通過(guò)sigmoid函數(shù)激活,生成特征圖F的通道注意力一維卷積Mc(F),最后將其和特征圖F做逐元素相乘,得到經(jīng)CAM模塊增強(qiáng)的特征圖Fc。
接下來(lái)再將特征圖Fc分別送入平均池化層和最大池化層來(lái)聚合Fc的通道信息,得到Fc的平均池化特征和最大池化特征,然后再通過(guò)7×7的卷積和sigmoid函數(shù)激活,生成特征圖Fc的空間注意力二維卷積Ms(Fc),最后將其和Fc做逐元素相乘,得到經(jīng)CBAM模塊增強(qiáng)的最終特征圖Fs。
CBAM注意力機(jī)制的整體過(guò)程可用式(1)表示為
(1)
本實(shí)驗(yàn)所有網(wǎng)絡(luò)模型均采用相同的實(shí)驗(yàn)環(huán)境在本地進(jìn)行訓(xùn)練。在硬件配置方面:CPU處理器采用Intel(R) Core(TM) i7-9700K @3.60 GHz,GPU圖形處理器使用NVIDIA GeForce RTX 3070 Ti,顯存為8 G,RAM為16 G;在軟件配置方面:系統(tǒng)采用Microsoft Windows 10 專(zhuān)業(yè)版 (64位),使用深度學(xué)習(xí)框架pytorch 1.7,CUDA v10.1,CUDNN v7.6,Numpy==1.19.5,Pandas==1.1.5完成實(shí)驗(yàn)。
本實(shí)驗(yàn)數(shù)據(jù)集來(lái)源于相機(jī)采集的溫室大棚下的馬鈴薯病害葉片圖像。其中包含早疫病、晚疫病以及健康葉片,共計(jì)5736張圖像。采用Labeling工具對(duì)葉片圖像進(jìn)行標(biāo)注,標(biāo)注后的圖像如圖4所示。然后通過(guò)亮度調(diào)整、高斯濾波、旋轉(zhuǎn)、縮放和平移等數(shù)據(jù)增強(qiáng)方式,進(jìn)一步提高實(shí)驗(yàn)數(shù)據(jù)集的多樣性,進(jìn)而獲得更好的訓(xùn)練效果。再按照8:1:1的比例劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。
圖4 標(biāo)注后的數(shù)據(jù)集圖像
為了評(píng)價(jià)改進(jìn)后的CBAM-YOLOv5s模型的有效性,采用P(Precision)、R(Recall)、mAP(mean of Average Precision)指標(biāo)來(lái)進(jìn)行綜合評(píng)價(jià)。P是預(yù)測(cè)為正的樣本中,實(shí)際為正的樣本占比,即查準(zhǔn)率;R是實(shí)際為正的樣本中,預(yù)測(cè)為正的樣本占比,即查全率;mAP是所有類(lèi)別的平均準(zhǔn)確率。其表達(dá)式分別為
(2)
(3)
(4)
式中:TP是預(yù)測(cè)為正的正樣本;FP是預(yù)測(cè)為負(fù)的負(fù)樣本;FN是預(yù)測(cè)為正的負(fù)樣本。
為了驗(yàn)證本文設(shè)計(jì)模型對(duì)馬鈴薯葉片病害檢測(cè)的有效性,選擇原始YOLOv5、SSD以及FasterRcnn共3個(gè)模型進(jìn)行實(shí)驗(yàn)對(duì)比。在制作好的數(shù)據(jù)集上對(duì)上述4個(gè)模型分別進(jìn)行訓(xùn)練,然后對(duì)其中的每一種病害類(lèi)型分別進(jìn)行測(cè)試,結(jié)果如表2所示。由表2可以明顯看出,改進(jìn)后的CBAM-YOLOv5s模型在檢測(cè)馬鈴薯葉片單一類(lèi)型病害時(shí),P、R、AP評(píng)價(jià)指標(biāo)均高于原始YOLOv5、SSD和FasterRcnn模型,說(shuō)明改進(jìn)后模型可以用于馬鈴薯病害葉片的檢測(cè)。
表2 不同類(lèi)型病害識(shí)精度對(duì)比
為了進(jìn)一步驗(yàn)證改進(jìn)后的CBAM-YOLOv5s模型的檢測(cè)性能,利用訓(xùn)練好的4個(gè)模型對(duì)實(shí)驗(yàn)數(shù)據(jù)集中所有病害類(lèi)別同時(shí)進(jìn)行檢測(cè),4種模型的識(shí)別精度分別如表3所示。
表3 不同模型的識(shí)別精度
由表3可知,改進(jìn)后的CBAM-YOLOv5s模型和原始YOLOv5模型相比,P、R以及mAP指標(biāo)分別提高了3.25%、2.42%以及2.3%,說(shuō)明YOLOv5s模型利用CBAM模塊的通道注意力使網(wǎng)絡(luò)自動(dòng)計(jì)算出每個(gè)通道的重要程度,然后與權(quán)重共享的多層感知機(jī)(MLP)進(jìn)行疊加,使每個(gè)通道獲得不同的權(quán)重進(jìn)而強(qiáng)化了目標(biāo)特征,即讓檢測(cè)網(wǎng)絡(luò)的注意力偏向葉片圖像病害區(qū)域,在增強(qiáng)葉片圖像病害區(qū)域的同時(shí)弱化無(wú)關(guān)的背景區(qū)域,進(jìn)而能夠更準(zhǔn)確地檢測(cè)出病害目標(biāo),較好地解決了漏檢問(wèn)題。相比SSD模型和FasterRcnn模型,評(píng)價(jià)指標(biāo)也有較大程度的提高,充分說(shuō)明了改進(jìn)后CBAM-YOLOv5s模型在馬鈴薯葉片病害檢測(cè)方面的優(yōu)越性。
本文利用改進(jìn)的CBAM-YOLOv5s網(wǎng)絡(luò)模型,對(duì)溫室馬鈴薯常見(jiàn)的葉片病害進(jìn)行檢測(cè)和識(shí)別。通過(guò)數(shù)據(jù)增強(qiáng)和圖像標(biāo)注技術(shù)構(gòu)建實(shí)驗(yàn)數(shù)據(jù)集,利用K-means算法對(duì)初始錨框進(jìn)行調(diào)整,在此基礎(chǔ)上引入CBAM注意力機(jī)制來(lái)提高模型對(duì)葉片病害區(qū)域的識(shí)別精度。實(shí)驗(yàn)表明,相較于YOLOv5、SSD和FasterRcnn模型,改進(jìn)后的CBAM-YOLOv5s模型檢測(cè)精度均得到了一定程度的提高,充分驗(yàn)證了改進(jìn)后模型對(duì)馬鈴薯葉片病害檢測(cè)的有效性,為其他農(nóng)作物的病害檢測(cè)也提供了有益的借鑒。在接下來(lái)的研究中,考慮溫室作物種類(lèi)的多樣性和溫室環(huán)境的復(fù)雜性,可以采集不同溫室作物葉片擴(kuò)充實(shí)驗(yàn)數(shù)據(jù)集,同時(shí)采用更加高效的網(wǎng)絡(luò)結(jié)構(gòu),進(jìn)一步提高檢測(cè)模型的魯棒性和泛化能力。