李明,丁智歡,趙靖暄,陳思銘,李文勇,楊信廷
(1. 廣西大學(xué)計(jì)算機(jī)與電子信息學(xué)院,南寧市,530004; 2. 北京市農(nóng)林科學(xué)院信息技術(shù)研究中心/國(guó)家農(nóng)業(yè)信息化工程技術(shù)研究中心/農(nóng)產(chǎn)品質(zhì)量安全追溯技術(shù)及應(yīng)用國(guó)家工程研究中心/中國(guó)氣象局—農(nóng)業(yè)農(nóng)村部都市農(nóng)業(yè)氣象服務(wù)中心,北京市,100097)
黃瓜霜霉病由古巴假霜霉菌(Pseudoperonosporacubensis)侵染引起,是導(dǎo)致黃瓜減產(chǎn)甚至絕收的三大病害之一[1-2]。在溫室內(nèi),溫暖濕潤(rùn)的環(huán)境極利于黃瓜霜霉病孢子囊的繁衍,而病原孢子囊的數(shù)量與病害的發(fā)生和流行密不可分,所以監(jiān)測(cè)黃瓜霜霉病的孢子囊數(shù)量顯得尤為重要[3]。傳統(tǒng)的孢子囊數(shù)量統(tǒng)計(jì)主要通過(guò)顯微鏡下的人工目測(cè)方法,由于捕捉到的孢子囊數(shù)量巨大,導(dǎo)致這種方法操作時(shí)間長(zhǎng)、速度慢、成本高、人工勞動(dòng)量大,不能及時(shí)地反映病害發(fā)生程度,容易造成病情延誤。
隨著計(jì)算機(jī)視覺(jué)技術(shù)的發(fā)展,國(guó)內(nèi)外學(xué)者在病原的檢測(cè)方面取得了一定的進(jìn)展[4-5]。齊龍等[6]利用模糊C均值算法確定閾值的Canny算子對(duì)稻瘟病孢子顯微圖像進(jìn)行邊緣檢測(cè),再根據(jù)二值化后的孢子圖像形態(tài)特征進(jìn)行分類,孢子檢測(cè)的平均準(zhǔn)確率達(dá)到98.5%。王震等[7]提出一種基于梯度方向直方圖特征(HOG特征)的加性交叉核支持向量機(jī)(IKSVM)的稻瘟病孢子檢測(cè)方法,檢測(cè)率可達(dá)98.2%。上述研究都是基于傳統(tǒng)的機(jī)器視覺(jué)方法,需先對(duì)孢子的圖像特征進(jìn)行提取,過(guò)程較繁瑣。
隨著深度學(xué)習(xí)的不斷發(fā)展,基于深度學(xué)習(xí)的孢子檢測(cè)方法得到關(guān)注。Liang等[8]在U-Net網(wǎng)絡(luò)中增加金字塔池化模塊以提取不同池化尺寸的特征,以對(duì)小麥白粉病孢子圖像進(jìn)行分割,改進(jìn)后的U-Net網(wǎng)絡(luò)分割率達(dá)到91.4%。雷雨等[9]基于小麥條銹病夏孢子的形態(tài)特征,將原始用于CenterNet訓(xùn)練的目標(biāo)長(zhǎng)寬改進(jìn)為目標(biāo)的橢圓框長(zhǎng)短軸長(zhǎng)度和角度,并使用長(zhǎng)短軸映射矩形來(lái)計(jì)算橢圓框熱圖的高斯核半徑,以減少孢子的漏檢率,識(shí)別精確率達(dá)到98.77%。Zhang等[10]使用Faster R-CNN對(duì)掃描電子顯微鏡下獲得的5種不同曲霉孢子進(jìn)行分類識(shí)別,識(shí)別準(zhǔn)確率達(dá)到85%。
目前使用深度學(xué)習(xí)方法檢測(cè)卵菌孢子的研究較少,所檢測(cè)的孢子多為實(shí)驗(yàn)室培育,孢子圖像采集于干凈的載玻片或血細(xì)胞計(jì)數(shù)板;而孢子采集設(shè)備多放于野外或溫室內(nèi),所采集的圖像中孢子分布密集、粘連堆疊并有雜質(zhì)干擾,因此上述方法如果直接用于孢子捕捉設(shè)備采集的孢子圖像的檢測(cè),效果可能不佳。
YOLO系列算法是一種兼顧速度和精度的單階段檢測(cè)算法,已被廣泛應(yīng)用于農(nóng)業(yè)相關(guān)領(lǐng)域[11-13]。黃少華等[14]使用注意力機(jī)制和空間金字塔池化模塊改進(jìn)YOLOv5網(wǎng)絡(luò),實(shí)現(xiàn)了茶葉雜質(zhì)的檢測(cè)。蘇斐等[15]使用輕量級(jí)網(wǎng)絡(luò)MobilenetV1替換YOLOv3算法的主干特征提取網(wǎng)絡(luò),實(shí)現(xiàn)了對(duì)綠熟期番茄的實(shí)時(shí)檢測(cè)。Shi等[16]削減YOLO算法的通道數(shù)和層數(shù),提出了一種輕量級(jí)可用于移動(dòng)設(shè)備的芒果檢測(cè)模型。張兆國(guó)等[17]使用MobileNetV3和輕量級(jí)注意力機(jī)制改進(jìn)YOLOv4網(wǎng)絡(luò),實(shí)現(xiàn)了復(fù)雜環(huán)境下收獲過(guò)程中馬鈴薯的檢測(cè)。上述研究可知,YOLO系列算法具有良好的靈活性,可以改進(jìn)某些部分以滿足特定檢測(cè)需求。
本文面向孢子捕捉設(shè)備的研發(fā)需求,針對(duì)所采集到的黃瓜霜霉病孢子囊圖像中孢子囊密集、粘連、背景復(fù)雜的特點(diǎn),對(duì)YOLOv5s網(wǎng)絡(luò)進(jìn)行如下改進(jìn):加入注意力機(jī)制的Ghost卷積替代CSP結(jié)構(gòu);改進(jìn)特征融合網(wǎng)絡(luò)并添加更細(xì)粒度的網(wǎng)絡(luò);賦予預(yù)測(cè)頭不同權(quán)重并用DIoU_NMS代替NMS。通過(guò)與YOLOv3、SSD、Faster RCNN和原YOLOv5s網(wǎng)絡(luò)的對(duì)比,評(píng)估模型的性能。
本文使用課題組自研的孢子囊捕捉設(shè)備對(duì)黃瓜霜霉病孢子囊進(jìn)行捕捉,試驗(yàn)地點(diǎn)為北京市小湯山國(guó)家精準(zhǔn)農(nóng)業(yè)研究示范基地。捕捉設(shè)備的拍照箱中的顯微鏡可自動(dòng)對(duì)焦,以對(duì)孢子囊進(jìn)行拍攝,設(shè)備自上而下分別是太陽(yáng)能板、抽風(fēng)裝置、拍照箱,設(shè)備及拍照箱內(nèi)部結(jié)構(gòu)如圖1所示。
(a) 孢子囊捕捉設(shè)備
(b) 拍照箱
設(shè)備工作原理如下:抽風(fēng)裝置以10 L/min的速度將空氣抽入設(shè)備,并在12 V低壓排風(fēng)扇的工作下將空氣送入進(jìn)風(fēng)口。進(jìn)風(fēng)口正下方有2.5 cm寬的粘性膠帶,纏繞在兩個(gè)滾輪上,由步進(jìn)電機(jī)驅(qū)動(dòng)的滾輪可以在單片機(jī)控制下精準(zhǔn)滾動(dòng)25 cm,將進(jìn)風(fēng)口處的膠帶傳輸?shù)斤@微鏡下方。該顯微鏡為研究級(jí)數(shù)字顯微鏡,配備了可調(diào)節(jié)電源以滿足拍攝時(shí)對(duì)穩(wěn)定光源的需求。單片機(jī)設(shè)定每隔1 h驅(qū)動(dòng)電機(jī)1次,并對(duì)傳入顯微鏡下的條帶進(jìn)行拍照,然后通過(guò)移動(dòng)網(wǎng)絡(luò)傳輸圖片至服務(wù)器,實(shí)現(xiàn)無(wú)線遠(yuǎn)程監(jiān)測(cè)。
本文使用孢子囊捕捉設(shè)備采集的黃瓜霜霉病孢子圖像有以下特點(diǎn):密集,霜霉病病原往往在一個(gè)較短的時(shí)間內(nèi)大量繁殖,導(dǎo)致圖像中的孢子囊分布密集,如圖2(a)所示;粘連堆疊,由于數(shù)量過(guò)多,孢子囊在粘附過(guò)程中往往出現(xiàn)粘連、疊加的情況,如圖2(b)所示;背景復(fù)雜,設(shè)備鼓風(fēng)過(guò)程中容易將空氣中的灰塵等雜質(zhì)吸入,或是孢子囊破裂,其中的細(xì)胞物質(zhì)散落,使得圖像背景變得復(fù)雜,如圖2(c)所示。
(a) 密集
(b) 粘連堆疊
(c) 背景復(fù)雜
本文選取了服務(wù)器中的500張黃瓜霜霉病孢子囊圖片,并通過(guò)上下反轉(zhuǎn)、水平鏡像、亮度變化和隨機(jī)對(duì)比度等數(shù)據(jù)增強(qiáng)方法將數(shù)據(jù)集擴(kuò)充到2 000張。接著,使用LabelImg軟件對(duì)所有圖像進(jìn)行標(biāo)注,生成對(duì)應(yīng)的XML文件,形成最終的數(shù)據(jù)集。最后,將數(shù)據(jù)集按照8∶2的比例劃分為訓(xùn)練集和驗(yàn)證集。
YOLOv5檢測(cè)算法由主干層、頸部層和輸出層組成。其中,主干層包含了Focus、CBS(Convolution、Batch Normalization和Silu)、CSP(Cross Stage Partial)[18]和SPP(Spatial Pyramid Pooling)[19]等模塊。Focus模塊將輸入的圖像進(jìn)行切片,并在通道維度上再拼接,以減少運(yùn)算參數(shù),提高訓(xùn)練速度[20-21]。CBS模塊是YOLOv5網(wǎng)絡(luò)的基本卷積模塊,它依次對(duì)輸入的數(shù)據(jù)進(jìn)行卷積、批歸一化和激活函數(shù)的操作。CSP模塊由CBS和殘差結(jié)構(gòu)組成,輸入的數(shù)據(jù)首先通過(guò)CBS進(jìn)行特征提取,再與原始數(shù)據(jù)拼接,以增強(qiáng)網(wǎng)絡(luò)的特征學(xué)習(xí)能力。SPP將不同大小的特征圖轉(zhuǎn)換成相同大小并進(jìn)行拼接,提高了網(wǎng)絡(luò)的感受野,使得網(wǎng)絡(luò)能夠?qū)Σ煌笮〉哪繕?biāo)進(jìn)行檢測(cè)。
頸部層是由FPN網(wǎng)絡(luò)(Feature Pyramid Network)和PAN網(wǎng)絡(luò)(Path Aggregation Network)構(gòu)成的特征融合網(wǎng)絡(luò)[22-23]。FPN網(wǎng)絡(luò)通過(guò)自頂向下進(jìn)行上采樣,將底層特征圖與高層特征圖融合,使得底層特征圖包含更強(qiáng)的語(yǔ)義信息,提高網(wǎng)絡(luò)對(duì)目標(biāo)的感知能力。PAN網(wǎng)絡(luò)則通過(guò)自底向上進(jìn)行下采樣,將高層特征圖與低層特征圖進(jìn)行融合,使得頂層特征包含更強(qiáng)的位置信息,增強(qiáng)網(wǎng)絡(luò)的空間分辨率[24-25]。特征融合網(wǎng)絡(luò)通過(guò)將不同層級(jí)的網(wǎng)絡(luò)進(jìn)行融合,提高了網(wǎng)絡(luò)對(duì)輸入數(shù)據(jù)的表達(dá)能力。
輸出層為3個(gè)不同大小的YOLO預(yù)測(cè)頭,用于接收頸部層的輸出特征圖并生成YOLOv5算法的輸出。
YOLOv5s算法不同版本的區(qū)別僅在于網(wǎng)絡(luò)的深度和寬度,本文針對(duì)孢子囊自動(dòng)捕捉設(shè)備的研發(fā)需要和數(shù)據(jù)集中孢子囊密集、粘連和背景復(fù)雜的特點(diǎn),對(duì)YOLOv5s算法進(jìn)行如下改進(jìn)。
1) 使用加入CBAM注意力機(jī)制的Ghost模塊替代CSP模塊,以提高模型計(jì)算速度并抑制圖片的雜質(zhì)等背景信息。
2) 修改特征融合網(wǎng)絡(luò)的連接方式并使用更細(xì)粒度的網(wǎng)絡(luò),以輸出更高分辨率的特征圖對(duì)密集、粘連的目標(biāo)孢子囊進(jìn)行檢測(cè)。
3) 對(duì)不同檢測(cè)頭輸出的損失值賦予不同的權(quán)重,以引導(dǎo)網(wǎng)絡(luò)訓(xùn)練,并使用DIoU_NMS非極大值抑制方法代替原來(lái)的NMS方法,提高檢測(cè)性能。
改進(jìn)后的YOLOv5s模型如圖3所示。
圖3 改進(jìn)的YOLOv5s結(jié)構(gòu)
2.2.1 加入CBAM注意力機(jī)制的Ghost模塊
Ghost卷積是Han等[26]提出的一種輕量化的卷積模塊,它能用較少的參數(shù)產(chǎn)生豐富的特征圖。Ghost卷積將卷積過(guò)程分為兩部分,首先使用普通卷積來(lái)生成部分主干卷積,然后再對(duì)主干卷積使用低計(jì)算量線性運(yùn)算以生成Ghost卷積,主干卷積與Ghost卷積拼接即得到完整的輸出特征圖。Han指出Ghost卷積可以讓卷積的理論體積和理論計(jì)算量都縮小為原來(lái)的1/s(s表示輸出特征圖數(shù)量與線性運(yùn)算特征圖數(shù)量的比值)。
注意力機(jī)制是一種模仿人類視覺(jué)的機(jī)制,目的是將計(jì)算資源分配給更重要的任務(wù),并解決信息超載的問(wèn)題。在圖像檢測(cè)任務(wù)中引入注意力機(jī)制,有利于聚焦于目標(biāo)區(qū)域,抑制背景信息。Woo等[27]提出的CBAM注意力機(jī)制是一種輕量級(jí)的注意力機(jī)制,可以靈活的嵌入任何卷積塊,它由通道注意力模塊CAM(Channel Attention Module)和空間注意力模塊SAM(Spatial Attention Moduel)組成。
CAM首先對(duì)輸入特征圖分別進(jìn)行最大池化和平均池化,壓縮冗余空間,生成兩個(gè)不同空間上的1×1×C大小的特征圖,然后送入一個(gè)共享權(quán)重的神經(jīng)網(wǎng)絡(luò),對(duì)特征圖進(jìn)行先壓縮再擴(kuò)充處理,并保持通道數(shù)C不變,接著對(duì)兩個(gè)特征圖進(jìn)行相加操作并送入sigmoid函數(shù)生成最終的通道注意力特征圖。CAM計(jì)算公式如式(1)所示。
(1)
式中:MC——通道注意力特征圖;
σ——sigmod函數(shù);
W0、W1——共享感知機(jī);
SAM主要關(guān)注特征圖像在空間維度上的信息,為了適應(yīng)不同位置之間的重要性差異,SAM學(xué)習(xí)每個(gè)空間位置的權(quán)重,并通過(guò)自適應(yīng)縮放空間來(lái)實(shí)現(xiàn)特征圖像的調(diào)整。SAM以CAM的輸出為輸入,依次通過(guò)最大池化層和平均池化層來(lái)對(duì)信息進(jìn)行聚合,然后將這個(gè)特征圖的深度進(jìn)行擴(kuò)展,最終通過(guò)7×7的標(biāo)準(zhǔn)卷積將其降維為一個(gè)通道,生成最終的空間注意力特征圖。
SAM計(jì)算公式如式(2)所示。
(2)
式中:MS——空間注意力特征圖;
f7×7——7×7卷積。
本文使用加入CBAM注意力機(jī)制的Ghost卷積模塊CAGhost替換原始網(wǎng)絡(luò)中的CSP模塊。如圖4所示,CAGhost模塊由第一個(gè)Ghost模塊開(kāi)始,分為兩個(gè)分支。其中一個(gè)分支經(jīng)過(guò)深度可分離卷積,另一個(gè)分支經(jīng)過(guò)深度可分離卷積、CBAM模塊和Ghost模塊,最后這兩個(gè)分支的輸出進(jìn)行相加得到輸出。CAGhost模塊可以在保證產(chǎn)生豐富特征圖的同時(shí),減少計(jì)算量和參數(shù)量。另外,加入的CBAM注意力模塊可以幫助抑制背景特征,提高模型的性能。
圖4 CAGhost結(jié)構(gòu)
2.2.2 特征融合網(wǎng)絡(luò)的改進(jìn)
YOLOv5s算法設(shè)計(jì)了3個(gè)不同層次的特征圖的輸出,目的是檢測(cè)復(fù)雜數(shù)據(jù)集中不同大小的目標(biāo)。但顯微鏡下拍攝的黃瓜霜霉病孢子囊圖像像素低于50×50,為COCO數(shù)據(jù)集所定義的中小尺寸目標(biāo)[28]。因此刪除了用于大目標(biāo)物體檢測(cè)的C3與檢測(cè)頭之間的分支,并額外增加了一個(gè)C1分支與檢測(cè)頭進(jìn)行連接,如圖5所示。
圖5 改進(jìn)的特征融合網(wǎng)絡(luò)
C1輸出的特征圖來(lái)源于淺層的卷積網(wǎng)絡(luò),包含豐富的目標(biāo)位置信息,有利于對(duì)小目標(biāo)物體的檢測(cè)。YOLO算法將圖像分為網(wǎng)格進(jìn)行目標(biāo)的預(yù)測(cè),而黃瓜霜霉病孢子顯微圖像存在密集、粘連、體積小的情況,這代表相同網(wǎng)格下需要檢測(cè)的目標(biāo)變多,挑戰(zhàn)了YOLO算法的極限[29-30],而C1分支的特征圖擁有更高的分辨率,能劃分為更細(xì)粒度的網(wǎng)格,有利于對(duì)重疊、粘連目標(biāo)的檢測(cè)。
2.2.3 損失函數(shù)與極大值抑制方法的改進(jìn)
如圖3所示,改進(jìn)后的YOLOv5s共有3個(gè)不同大小尺度的預(yù)測(cè)結(jié)果:YOLOHead1、YOLOHead2、YOLOHead3,其輸出的特征圖大小分別為160×160、80×80、40×40,這表示一張圖像被等分為160×160、80×80、40×40個(gè)預(yù)測(cè)網(wǎng)格,每個(gè)網(wǎng)格都會(huì)根據(jù)設(shè)定的錨框?qū)δ繕?biāo)進(jìn)行檢測(cè)。據(jù)統(tǒng)計(jì),數(shù)據(jù)集中孢子囊的大小大多為10~50像素,因此增大YOLOHead1和YOLOHead2的損失權(quán)重,能夠引導(dǎo)網(wǎng)絡(luò)的訓(xùn)練,提高網(wǎng)絡(luò)對(duì)小目標(biāo)孢子囊的檢測(cè)精度,為此賦予3個(gè)檢測(cè)頭不同的損失權(quán)重,損失函數(shù)如式(3)所示。
(3)
式中:Lobj——總損失值;
為避免多個(gè)檢測(cè)結(jié)果重疊的情況,目標(biāo)檢測(cè)算法往往需要對(duì)產(chǎn)生的預(yù)測(cè)框進(jìn)行NMS(非極大值抑制)處理,但NMS會(huì)將重疊度超過(guò)一定閾值的低置信度預(yù)測(cè)框刪除,而在孢子囊數(shù)據(jù)集中,孢子囊會(huì)大量產(chǎn)生密集、堆疊的情況,因此NMS不適合用于本數(shù)據(jù)集。DIoU(Distance-Intersection over Un-ion)[31]是一種兼顧重疊度和中心點(diǎn)坐標(biāo)的IoU計(jì)算方式,它將兩個(gè)預(yù)測(cè)框的中心點(diǎn)距離納入考慮,并將兩個(gè)中心點(diǎn)距離遠(yuǎn)的預(yù)測(cè)框判斷為不同的物體并保留它們,這有利于密集、粘連目標(biāo)的預(yù)測(cè)。使用DIoU為評(píng)分標(biāo)準(zhǔn)的非極大值抑制DIoU_NMS計(jì)算方式如式(4)所示。
(4)
式中:Si——預(yù)測(cè)框得分;
b、bgt——預(yù)測(cè)框與真實(shí)框的中心點(diǎn)坐標(biāo);
ε——設(shè)定的閾值;
ρ——?dú)W幾里得距離;
c——兩預(yù)測(cè)框中心點(diǎn)距離。
目標(biāo)檢測(cè)的評(píng)價(jià)指標(biāo)主要為準(zhǔn)確率(Precision,P),召回率(Recall,R),平均準(zhǔn)確率(Average Precision,AP),計(jì)算公式如下。
(5)
(6)
(7)
式中:TP——檢測(cè)正確識(shí)別孢子囊的數(shù)量;
FP——將背景雜質(zhì)識(shí)別為孢子囊的數(shù)量;
FN——將孢子囊識(shí)別為雜質(zhì)的數(shù)量;
r——當(dāng)前準(zhǔn)確率下的召回率值;
AP——準(zhǔn)確率對(duì)召回率的積分,AP值越大即可認(rèn)為算法的檢測(cè)性能越好。
本試驗(yàn)在WIN10系統(tǒng)下,采用Pytorch1.7.1為深度學(xué)習(xí)框架,CUDA版本為11.1.0。GPU為RTX3080,顯存為11 G,CPU為Intel Core I7-10700K,主機(jī)內(nèi)存為32 G。本文使用預(yù)訓(xùn)練的權(quán)重進(jìn)行遷移學(xué)習(xí)訓(xùn)練,使用SGD(Stochastic Gradient Descent)優(yōu)化器對(duì)權(quán)重進(jìn)行優(yōu)化,初始學(xué)習(xí)率設(shè)為0.001,權(quán)重衰減系數(shù)為0.001,動(dòng)量因子為0.937,批大小為8,共迭代200輪。
訓(xùn)練結(jié)果如圖6所示,在前15次迭代中,模型的損失值快速下降,在約50次迭代后模型損失值趨于穩(wěn)定,并最終收斂于0.097附近,證明模型訓(xùn)練結(jié)束并達(dá)到較優(yōu)的訓(xùn)練結(jié)果。與原始YOLOv5s相比,改進(jìn)后的YOLOv5s算法收斂速度更快且損失值更低。
圖6 訓(xùn)練結(jié)果
改進(jìn)前與改進(jìn)后的YOLOv5s算法檢測(cè)結(jié)果對(duì)比如圖7所示。由圖7可以看出,對(duì)于密集區(qū)域的9個(gè)目標(biāo)孢子囊檢測(cè),原始的YOLOv5s漏檢了其中的2個(gè),而改進(jìn)后的YOLOv5s算法檢測(cè)出了所有目標(biāo);對(duì)于粘連區(qū)域,原始的YOLOv5s算法將粘連的2個(gè)孢子囊錯(cuò)誤地檢測(cè)為1個(gè)或漏檢,改進(jìn)后的YOLOv5s算法則檢測(cè)出了粘連的目標(biāo);對(duì)于背景復(fù)雜區(qū)域,原始的YOLOv5s算法將2個(gè)形狀與孢子囊相似的黑色雜質(zhì)錯(cuò)誤地檢測(cè)為目標(biāo),而改進(jìn)后的YOLOv5s算法則沒(méi)有出現(xiàn)這種情況。
圖7 密集、粘連和背景復(fù)雜區(qū)域檢測(cè)結(jié)果對(duì)比
整張圖片的檢測(cè)結(jié)果對(duì)比如圖8所示。圖片中孢子囊的數(shù)量為534,YOLOv5s檢測(cè)出了346個(gè)孢子囊,改進(jìn)后的YOLOv5s檢測(cè)出了484個(gè)孢子囊。原始的YOLOv5s算法漏檢很大一部分孢子囊,漏檢的孢子囊大部分處于密集、粘連和圖像模糊處。改進(jìn)后的YOLOv5s算法擁有更細(xì)粒度的檢測(cè)網(wǎng)格和更好的特征提取能力,對(duì)于密集、粘連和低像素區(qū)域的孢子囊仍能有較好的檢測(cè)效果,從而能高效地檢測(cè)出目標(biāo)。
(a) YOLOv5s
(b) 改進(jìn)的YOLOv5s
為了驗(yàn)證改進(jìn)策略的有效性,通過(guò)控制變量法定量地進(jìn)行對(duì)比研究,結(jié)果如表1所示。
表1 消融試驗(yàn)結(jié)果Tab. 1 Results of ablation experiments
由表1可知,CAGhost卷積使網(wǎng)絡(luò)精準(zhǔn)率提高了0.32%,召回率提高了2.67%,平均精度提高了1.41%,速率提高了10.4幀/s,這表明Ghost卷積在產(chǎn)生豐富特征的同時(shí)降低了模型的參數(shù)和計(jì)算量,CBAM注意力模塊有助于抑制背景,提取關(guān)鍵信息;特征融合網(wǎng)絡(luò)的改進(jìn)對(duì)精度的提升最多,在CAGhost的基礎(chǔ)上,使網(wǎng)絡(luò)精準(zhǔn)率提高了0.69%,召回率提高了2.82%,平均精度提高了2.95%,這表明特征融合網(wǎng)絡(luò)連接方式的修改和細(xì)粒度的網(wǎng)格對(duì)小目標(biāo)檢測(cè)的提升最大,但因?yàn)闇\層的網(wǎng)絡(luò)卷積核數(shù)量較多,也增加了一定的計(jì)算量,使得速度有所下降;loss函數(shù)的改進(jìn)使平均精度提升了0.52%。以上的消融試驗(yàn)證明了本文改進(jìn)策略的有效性。
本文選用Faster RCNN、YOLOv3、SSD、YOLOv5s網(wǎng)絡(luò)與改進(jìn)的YOLOv5s網(wǎng)絡(luò)進(jìn)行對(duì)比,結(jié)果如表2所示。由表2可以看出,二階段網(wǎng)絡(luò)Faster RCNN在檢測(cè)精度上表現(xiàn)最佳,但其檢測(cè)速度遠(yuǎn)遠(yuǎn)低于一階段網(wǎng)絡(luò),無(wú)法應(yīng)用于嵌入式設(shè)備。在其他3種一階段網(wǎng)絡(luò)中,YOLOv3算法的檢測(cè)精度略高于SSD算法,但其檢測(cè)速率低于SSD算法。YOLOv5s算法是YOLOv3算法的改進(jìn)版,其檢測(cè)精度和FPS分別達(dá)到86.3%和58.3幀/s,檢測(cè)精度與速度均優(yōu)于YOLOv3算法,取得了良好的檢測(cè)性能。本文提出的改進(jìn)的YOLOv5s算法檢測(cè)精度和FPS分別達(dá)到91.18%和65.4幀/s,比原始的YOLOv5s算法高4.88%和7.1幀/s,同時(shí)也是一階段網(wǎng)絡(luò)中檢測(cè)精度和速度最高的。
1) 針對(duì)孢子囊捕捉設(shè)備捕捉的黃瓜霜霉病孢子囊圖像存在的密集、粘連和背景復(fù)雜的問(wèn)題,提出了一種改進(jìn)的YOLOv5s算法,改進(jìn)方法如下:加入CBAM注意力機(jī)制的Ghost卷積替代CSP結(jié)構(gòu),在保證網(wǎng)絡(luò)提取能力的同時(shí),提高了速度;改進(jìn)了特征融合網(wǎng)絡(luò),使用更細(xì)粒度的網(wǎng)格對(duì)密集、粘連的小目標(biāo)進(jìn)行檢測(cè);改進(jìn)了損失函數(shù),對(duì)不同的輸出特征圖賦予不同權(quán)重,并使用DIoU_NMS替代NMS。
2) 改進(jìn)后的YOLOv5s檢測(cè)精度和FPS分別為91.18%和65.4幀/s,比原始的YOLOv5s算法高4.88%和7.1幀/s。改進(jìn)后的YOLOv5s算法能準(zhǔn)確檢測(cè)出密集、粘連和背景復(fù)雜區(qū)域的孢子,檢測(cè)效果明顯優(yōu)于原始的YOLOv5s算法。與常見(jiàn)的一階段檢測(cè)算法相比,本文所提出的算法取得了良好的檢測(cè)精度和檢測(cè)速度。相較于Faster RCNN二階段檢測(cè)算法,本文的算法的檢測(cè)精度略低,但是檢測(cè)速度遠(yuǎn)高于Faster RCNN。