李大華,孔 舒,*,李 棟,于 曉
(1.天津理工大學(xué) 電氣工程與自動化學(xué)院,天津 300380; 2.天津市新能源電力變換傳輸與智能控制重點實驗室,天津 300380)
柑橘作為世界范圍內(nèi)具有重要經(jīng)濟價值的農(nóng)產(chǎn)品,近些年來種植規(guī)模不斷擴大,但柑橘生產(chǎn)容易受到真菌和病菌引起的各種病害的破壞[1]。柑橘病害易發(fā)生于葉部,再逐漸蔓延至枝蔓和果實部位,最終影響柑橘的產(chǎn)量和品質(zhì),因此,柑橘保果的前提是保葉[2]。傳統(tǒng)柑橘病害識別依靠農(nóng)戶經(jīng)驗和大量人工,其識別效率低且易誤判。對植物葉片病害的快速準(zhǔn)確診斷有助于對病害部位精準(zhǔn)施藥,從而提高作物產(chǎn)量[3]。
隨著計算機視覺和深度學(xué)習(xí)技術(shù)越來越廣泛地應(yīng)用于作物病害檢測,病害識別變得更加簡單[4]。Barman等[5]提出了一種自監(jiān)督序列卷積神經(jīng)網(wǎng)絡(luò)(self-supervised sequential CNN, SSCNN),對柑橘葉片病害進行檢測和分類,其準(zhǔn)確率達到98%。樊湘鵬等[6]通過改進的VGG16模型,對6類葡萄葉部病害圖像進行訓(xùn)練,平均精度達98%以上。李鑫然等[7]提出一種改進的Faster R_CNN模型,通過增加特征融合機制和感興趣區(qū)域池化來提高檢測精度,對5種蘋果病害的檢測平均精度達82%以上。Sharif等[8]通過使用多支持向量機對柑橘病害進行區(qū)分,其準(zhǔn)確率達到了90.4%。Dananjayan等[4]建立了CCL’20數(shù)據(jù)集,利用Scaled YOLOv4P7網(wǎng)絡(luò)實現(xiàn)了病害的早期快速預(yù)測,CenterNet2與Res2Net 101 DCN-BiFPN對柑橘葉部病害的早期預(yù)測精度高于其他模型。王云露等[9]利用改進的Faster R_CNN模型,對5種蘋果葉部病害進行識別,模型采用ResNest作為骨架,并增加了特征融合結(jié)構(gòu)(feature pyramid networks, FPN)來進一步提高網(wǎng)絡(luò)精確度,改進后的模型平均精度達到86.2%。雖然上述學(xué)者基于深度學(xué)習(xí)的葉片病害檢測都取得了較高的精度,但是其模型深度較高、運算量較大,對硬件要求高,不易嵌入到移動設(shè)備中。
基于上述問題,本文基于改進SSD(single shot multibox detector)模型設(shè)計了柑橘葉片病害輕量化檢測模型,該模型是在經(jīng)典CNN網(wǎng)絡(luò)SSD模型的基礎(chǔ)上進行改進。SSD[10-11]是單級目標(biāo)檢測模型的典型代表,該模型檢測速度快、精度高;但對柑橘葉片小病斑的檢測效果不理想,且模型體積較大,難以運用到嵌入式平臺中。針對此問題,本文做出了以下3點改進:1)使用MobileNetV2代替SSD模型的VGG16作為SSD的特征提取網(wǎng)絡(luò),并使用倒殘差塊結(jié)構(gòu)搭建SSD的4個額外預(yù)測特征層,減小模型規(guī)模;2)通過引入感受野模塊(receptive field block, RFB)至淺層預(yù)測特征圖,來擴大其感受野使其特征圖具有更多語義信息,進而加強對小病斑目標(biāo)的檢測效果;3)增加CA(coordinate attention)注意力機制,以強化不同深度的特征信息,進一步提升柑橘葉片病害的識別精度。
SSD是Liu等[12]在ECCV2016上提出的一種目標(biāo)檢測模型。SSD模型集合了Faster R_CNN的Anchor Boxes機制,以及YOLO(you only look once)的回歸思想,在保證檢測速度的同時確保了有較高的檢測精度[11]。傳統(tǒng)SSD模型的骨架是VGG16,在SSD模型中是用卷積層來替換VGG16的全連接層,并舍棄了其池化層部分,然后在骨架后面添加一系列卷積層生成4個額外預(yù)測特征層,進一步提高模型特征提取能力[13]。SSD網(wǎng)絡(luò)選取Conv4_3、Conv7等6個不同尺度的特征層作為預(yù)測特征圖,來預(yù)測不同尺度的目標(biāo)[13],利用這些特征回歸得到錨點框(default box)的位置信息和類別置信度,最終通過非極大值抑制(non-maximum suppression, NMS)算法得到最終結(jié)果[13-14]。SSD網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1所示。

Conv,卷積;s,步長。Conv, Convolution; s, Stride.圖1 SSD網(wǎng)絡(luò)模型結(jié)構(gòu)Fig.1 SSD network model structure
SSD網(wǎng)絡(luò)模型規(guī)模較大,對圖形處理器(graphics processing unit, GPU)算力要求較高,不易嵌入到無人機等移動設(shè)備中;且SSD模型主要通過較淺層預(yù)測特征圖來識別小目標(biāo)病斑,但淺層特征的卷積規(guī)模較小,特征提取能力差,語義信息較少。柑橘葉片病害多呈現(xiàn)小目標(biāo),在使用傳統(tǒng)SSD目標(biāo)檢測模型檢測柑橘葉片病害時,由于對葉片細節(jié)的檢測能力不足,容易出現(xiàn)對小目標(biāo)病斑的漏檢和定位不準(zhǔn)確。為改善病斑漏檢等缺點,本研究對傳統(tǒng)SSD模型進行優(yōu)化,提出了MR-CA-SSD網(wǎng)絡(luò)模型。
為改善SSD模型的模型規(guī)模大、對小目標(biāo)的檢測效果較差等問題,本文提出了基于改進SSD的新模型MR-CA-SSD。首先用輕量化網(wǎng)絡(luò)MobileNetV2替換SSD模型的前端特征提取網(wǎng)絡(luò)VGG16,除去MobileNetV2全連接層,以4組倒殘差塊結(jié)構(gòu)(inverted residual)替換SSD網(wǎng)絡(luò)的Conv8_2、Conv9_2、Conv10_2、Conv11_2這4個輸出預(yù)測特征層,構(gòu)建出新檢測模型MobileNetV2-SSD,從而減小模型規(guī)模、提高檢測速度。其次,網(wǎng)絡(luò)的6個不同尺度的預(yù)測特征圖都通過CA注意力機制后輸出,強化特征層對特征信息的表達。最后在Conv14后面添加RFB-s,在Conv19后面添加RFB,以擴大淺層特征層的感受野,增強其語義信息,進一步提高對小病斑目標(biāo)的檢測能力。MR-CA-SSD網(wǎng)絡(luò)模型結(jié)構(gòu)如圖2所示。

Conv,卷積;CA,坐標(biāo)注意力機制;RFB,感受野模塊。Conv, Convolution; CA, Coordinate attention; RFB, Receptive field block.圖2 MR-CA-SSD網(wǎng)絡(luò)模型結(jié)構(gòu)圖Fig.2 MR-CA-SSD network model structure
MobileNetV2是Google于2018年提出的基于MobileNetV1改進的新輕量級網(wǎng)絡(luò),模型更小,準(zhǔn)確率更高,更適合嵌入到移動設(shè)備中進行目標(biāo)檢測[15]。MobileNetV2網(wǎng)絡(luò)主要是通過使用深度可分離卷積(DW卷積)來代替大量標(biāo)準(zhǔn)卷積,從而壓縮模型計算量,實現(xiàn)輕量化處理。DW卷積由深度卷積和逐點卷積2部分組成。使用DW卷積進行訓(xùn)練時,會產(chǎn)生大量訓(xùn)練失敗的卷積核,在輸出的低維度特征圖上通過修正線性單元(rectified linear unit, ReLU)激活函數(shù)時,會造成低維特征信息大量損失。因此,MobileNetV2設(shè)計了與標(biāo)準(zhǔn)殘差結(jié)構(gòu)相反的倒殘差塊結(jié)構(gòu),先通過1×1卷積核進行升維,再通過3×3 DW卷積進行特征提取,隨后通過1×1卷積核進行降維。使用倒殘差塊結(jié)構(gòu)可以使DW卷積在深層特征圖上提取更多特征信息,從而獲取更多語義信息。在倒殘差塊結(jié)構(gòu)中為了解決ReLU激活函數(shù)造成信息丟失的問題,采用其他激活函數(shù)來代替ReLU激活函數(shù)。在經(jīng)過第1個1×1卷積和3×3卷積后使用ReLU6激活函數(shù),增強模型的穩(wěn)定性。在降維后將ReLU激活函數(shù)換成線性激活函數(shù),將低維信息映射到高維中,從而避免了特征信息丟失。倒殘差塊結(jié)構(gòu)如圖3所示。

圖3 倒殘差塊結(jié)構(gòu)Fig.3 Inverted residual block structure
綜合考慮模型適用于柑橘葉片病害數(shù)據(jù)集上的性能和效果,本文選用MobileNet系列網(wǎng)絡(luò)中的MobileNetV2作為SSD模型的特征提取網(wǎng)絡(luò),除去MobileNetV2網(wǎng)絡(luò)的FC層,原SSD網(wǎng)絡(luò)的4個額外預(yù)測特征層由4組倒殘差塊結(jié)構(gòu)代替,其提取默認框的6個預(yù)測特征層分別是主干網(wǎng)絡(luò)中的conv14、conv19,以及額外層conv20、conv21、conv22和conv23。MobileNetV2-SSD的特征圖尺寸分別是19 Pixel×19Pixel、10 Pixel×10 Pixel、5 Pixel×5 Pixel、3 Pixel×3 Pixel、2 Pixel×2 Pixel、1 Pixel×1 Pixel。這6個不同尺度的特征圖生成不同比例的錨點框進行回歸預(yù)測,通過NMS模型得到最終預(yù)測結(jié)果。
目前常用于輕量級網(wǎng)絡(luò)的是傳統(tǒng)通道注意力機制SE(squeeze-and-excitation),其僅考慮了通道間的信息,忽略了位置信息。柑橘葉片的病斑有些位于葉片邊緣,有些位于葉片中央又或者是遍布葉面。對于病斑在柑橘葉片上任意分布的情況,本文選擇將位置信息嵌入到通道注意力中的新型注意力機制——CA,它是Hou等[16]在CVPR 2021上提出的一種用于移動端的高效坐標(biāo)注意力機制。CA注意力機制不僅獲取了通道間信息,還考慮了方向相關(guān)的位置信息,有助于模型更好地定位和識別柑橘葉片病害,繼而提高模型的病害識別精度。
CA注意力機制以中間特征張量X作為輸入,輸出與X相同尺寸的增強特征張量Y。X、Y取值如式(1)和(2)所示。
X=[x1,x2,…,xc]∈RC×H×W;
(1)
Y=[y1,y2,…,yc]∈RC×H×W;
(2)
(3)
yc的取值如公式(3)所示,其中fh∈RC/r×H、fw∈RC/r×W,C為通道數(shù),H為高度,W為寬度。最終得到的增強特征張量Y在寬、高2個方向上均帶有注意力權(quán)重。
通過CA注意力機制的特征圖包含了通道間信息、橫向空間信息和縱向空間信息,對葉片病斑區(qū)域進行特征強化,能夠使網(wǎng)絡(luò)更準(zhǔn)確地定位柑橘葉片病害的信息,增強網(wǎng)絡(luò)識別能力。CA注意力機制結(jié)構(gòu)如圖4所示。

Avg Pool,平均池化;BatchNorm,批量歸一化;Non-linear,非線性分類;Sigmoid,激活函數(shù);C是通道數(shù),H和W分別是高度和寬度。Avg Pool, Average pool; BatchNorm, Batch normalization; Non-linear, Non-linear classification; Sigmoid, Activation function; C, channel number; H, Height; W, Width.圖4 CA注意力機制結(jié)構(gòu)Fig.4 Structure of CA attention mechanism
由于SSD模型對于柑橘葉片病害小目標(biāo)的識別多依靠較淺層預(yù)測特征層,但淺層特征的卷積層數(shù)較少,特征提取不充分,導(dǎo)致識別效果不佳。故本文通過引入RFB來擴大淺層特征感受野,進而加強對小病斑目標(biāo)的檢測效果。RFB是Liu等[17]基于ECCV2018提出的一種新特征提取模塊,它在inception網(wǎng)絡(luò)基礎(chǔ)上加入了膨脹卷積,其內(nèi)部結(jié)構(gòu)主要包括多分支卷積層和膨脹卷積層,通過對初始卷積核設(shè)置不同的膨脹系數(shù)來獲取不同的感受野[18]。在2種RFB結(jié)構(gòu)中,RFB-s通過對RFB中部分卷積層的替換,進一步減少運算量。RFB和RFB-s模型結(jié)構(gòu)如圖5、圖6所示。

圖5 RFB模型結(jié)構(gòu)Fig.5 RFB model structure

圖6 RFB-s模型結(jié)構(gòu)Fig.6 RFB-s model structure
本文通過在第1個輸出預(yù)測特征層(conv14)后面添加RFB-s,在第2個輸出預(yù)測特征層(conv19)后面添加RFB,來擴大淺層特征層的感受野,增強其語義信息,進一步提高對小病斑目標(biāo)的檢測能力。
本實驗在Windows10操作系統(tǒng)下進行,使用CPU處理器為Intel(R) Core(TM) i5-11260H@2.60 GHz、運行內(nèi)存為16 GB、GPU為Nvidia Geforce RTX 3050Ti、顯卡內(nèi)存4 GB的筆記本電腦。使用的深度學(xué)習(xí)框架為Pytorch1.12.1,GPU加速庫為CUDA11.3。
使用隨機梯度下降(stochastic gradient descent, SGD)算法作為優(yōu)化器進行訓(xùn)練,默認權(quán)重衰減系數(shù)為0.000 5,其參數(shù)動量為0.9,初始學(xué)習(xí)率為0.01,訓(xùn)練時采用余弦退火方法動態(tài)調(diào)整學(xué)習(xí)率。其中批大小(batch size)設(shè)置為8,模型一共迭代200次。
選用Dananjayan等[4]建立的CCL’20數(shù)據(jù)集作為實驗數(shù)據(jù),包含3種柑橘葉片病害,共1 895張圖像,其中,炭疽病圖像701張、黑素病圖像663張、細菌性褐斑病圖像531張,分別包含炭疽病病害區(qū)域5 828處、黑素病病害區(qū)域648處、細菌性褐斑病病害區(qū)域1 424處,3種病害的病斑區(qū)域樣本數(shù)量不均衡。本文使用留出法來劃分數(shù)據(jù)集,將數(shù)據(jù)集隨機選擇劃分成訓(xùn)練集、驗證集和測試集,其中(訓(xùn)練集+驗證集)∶測試集=9∶1,訓(xùn)練集∶驗證集=9∶1,訓(xùn)練集、驗證集和測試集分別有1 535張、170張和190張圖片。
在本實驗中,采用平均精度均值(mAP)、每秒檢測幀數(shù)(frames per seconds, FPS)、內(nèi)存大小(MB)和F1值等評價指標(biāo)來評估模型對柑橘葉片病害的綜合檢測性能。其中mAP是由召回率(recall)和精確率(precision)組成的P-R曲線計算得到[18]。針對3種病害區(qū)域樣本不平衡的現(xiàn)象,利用綜合指標(biāo)F1來評估每個類別檢測效果。計算公式如下:
(4)
(5)
(6)
(7)
(8)
式(4)~(8)中:P表示精確率(precision);r表示召回率(recall);TP表示正確識別的病害樣本數(shù);FP表示錯誤識別的病害樣本數(shù);FN表示未識別到的病害樣本;AP表示平均精度;mAP代表mAP的值;APi指一個類別的平均精度;n表示柑橘葉片病害類別數(shù)目。
為驗證模型改進的有效性和實用性,采用2.6節(jié)提到的參數(shù),將MR-CA-SSD模型和原SSD模型進行對比,結(jié)果見表1。與傳統(tǒng)SSD模型相比,本文所提出的MR-CA-SSD模型具有更好的檢測性能,其mAP@0.5和mAP@0.5:0.95分別提高了4.4百分點和7.1百分點,模型減小52.3 MB,每秒檢測幀數(shù)提升了3.15,葉片炭疽病的F1值也有明顯提升。

表1 模型改進前后實驗結(jié)果對比Table 1 Results comparison before and after improvement of algorithm
由圖7可以看出,MR-CA-SSD模型的收斂速度快于SSD模型,并且在迭代200次后,MR-CA-SSD模型的mAP@0.5比SSD的更高。說明Mobile NetV2作為輕量化主干網(wǎng)絡(luò)可以較大程度地減少計算量,提高檢測速度,通過引入RFB和CA注意力機制,彌補了輕量化帶來的不足,提高了模型檢測精度,改進模型整體性能優(yōu)于基線模型SSD,更適合嵌入到無人機等移動設(shè)備中。

圖7 MR-CA-SSD模型和原SSD模型的損失曲線和平均精度均值對比Fig.7 Comparison of loss curve and mean average precision between MR-CA-SSD and original SSD model
圖8為改進前后模型的檢測效果可視化示意圖,其中Disease-A、Disease-B和 Disease-C這3種標(biāo)注名稱分別指柑橘葉片的炭疽病、黑素病和褐斑病。由圖8可看出,改進后的MR-CA-SSD模型對于小目標(biāo)和邊緣不明顯的病害檢測效果較好,提高了檢測準(zhǔn)確率,能夠?qū)Σ『M行有效檢測。

Disease-A、Disease-B和Disease-C分別代表柑橘葉片的炭疽病、黑素病和褐斑病。Disease-A, Disease-B and Disease-C represent anthracnose, melanosis and brown spot disease of citrus leaf, respectively.圖8 MR-CA-SSD模型和原SSD模型的檢測效果Fig.8 Detection effect of MR-CA-SSD and original SSD model
將本文方法與Faster R-CNN 、YOLOv4、CenterNet,以及輕量級模型Efficientnet-YoloV3等模型進行比較,結(jié)果見表2。MR-CA-SSD模型的mAP、模型大小和每秒檢測幀數(shù)均優(yōu)于Faster R-CNN和CenterNet模型。雖然YOLOv4的每秒檢測幀數(shù)比MR-CA-SSD多,但其mAP@0.5和mAP@0.5∶0.95分別比MR-CA-SSD模型低23.6百分點和39.2百分點,其模型大小也是MR-CA-SSD模型的3倍。MR-CA-SSD的mAP、模型大小和每秒檢測幀數(shù)也均優(yōu)于Efficientnet-YoloV3模型;Ghostnet-YoloV4模型的每秒檢測幀數(shù)優(yōu)于MR-CA-SSD模型,但其mAP、模型大小比MR-CA-SSD模型稍差。雖然YoloV4-tiny的每秒檢測幀數(shù)比MR-CA-SSD模型快83.32,模型大小比MR-CA-SSD模型小16.9 MB,但YoloV4-tiny模型的mAP@0.5和mAP@0.5:0.95分別比MR-CA-SSD模型低9.8百分點和23.7百分點。

表2 不同模型結(jié)果對比Table 2 Comparison of results from different models
針對傳統(tǒng)柑橘葉片病害檢測方法存在檢測速度慢、精度低、模型內(nèi)存占比大等問題,提出了一種基于改進SSD模型的柑橘葉片病害輕量化檢測方法。以MobileNetV2作為SSD模型的特征提取網(wǎng)絡(luò),利用MobileNetV2模型的倒殘差塊結(jié)構(gòu)和線性瓶頸結(jié)構(gòu)進而實現(xiàn)網(wǎng)絡(luò)的輕量化,提高模型檢測速度。此外,通過引入RFB來擴大淺層特征感受野,增強其語義信息,以加強網(wǎng)絡(luò)對小目標(biāo)的檢測能力。并將CA注意力機制插入6個輸出預(yù)測特征層后,對葉片病斑區(qū)域進行特征強化,進一步提升柑橘葉片病害的識別能力。結(jié)果表明,所提出SSD改進模型MR-CA-SSD能對3種柑橘葉片病害進行有效檢測,在提高檢測準(zhǔn)確度的同時小幅度提高了檢測速度,減小了內(nèi)存占比,達到了輕量化的目的,也更適用于種類樣本數(shù)量不平衡的數(shù)據(jù)集。MR-CA-SSD模型在CCL’20數(shù)據(jù)集上的mAP@0.5、模型大小和每秒檢測幀數(shù)分別為97.1%、39.3 MB、57.80。該改進模型的綜合性能優(yōu)于SSD、YOLOv4、CenterNet、Efficientnet-YoloV3等模型,可實現(xiàn)對柑橘葉片病害的快速準(zhǔn)確診斷,滿足農(nóng)業(yè)實際使用要求。