亢 潔 劉 港 郭國法
(陜西科技大學(xué)電氣與控制工程學(xué)院,西安 710021)
雜草生長迅速、繁殖能力強,與作物爭奪養(yǎng)分、陽光、空間和水,阻礙作物的正常生長,影響作物質(zhì)量和產(chǎn)量,對農(nóng)業(yè)生產(chǎn)造成不利影響[1-3]。連續(xù)噴霧是目前采用的主要施藥方式,但缺乏針對性,農(nóng)藥會均勻覆蓋目標(biāo)區(qū)域,無雜草區(qū)域噴施農(nóng)藥造成了農(nóng)藥的浪費,對環(huán)境造成污染,噴施在作物上的農(nóng)藥影響了作物品質(zhì)。為了減少農(nóng)藥浪費,提高農(nóng)藥的利用率,基于雜草檢測的農(nóng)藥精準(zhǔn)變量噴灑研究變得十分迫切[4-6]。通過選擇性噴灑不僅可以最大限度地減少除草劑的使用,還可以通過使用機器清除雜草來降低勞動力成本。而自動化機械除草作業(yè)過程中,實時、準(zhǔn)確地對作物與雜草進(jìn)行檢測是實現(xiàn)精準(zhǔn)高效除草的關(guān)鍵前提[7-8]。同時,相對于普通連續(xù)噴霧的方式,利用精準(zhǔn)噴灑技術(shù)進(jìn)行除草還可以減少環(huán)境污染,有利于實現(xiàn)農(nóng)業(yè)的可持續(xù)發(fā)展[9]。
隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,其在農(nóng)業(yè)領(lǐng)域越來越廣泛地被應(yīng)用。FAWAKHERJI等[10]提出了將魯棒性強的像素分割與基于卷積神經(jīng)網(wǎng)絡(luò)的有監(jiān)督圖像分類相結(jié)合,應(yīng)用于向日葵田農(nóng)業(yè)機器人獲取的RGB圖像,將圖像中感興趣區(qū)域分類為作物和雜草。FERREIRA等[11]通過超像素分割法預(yù)處理大豆與雜草圖像,基于Caffe框架訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),實現(xiàn)大豆農(nóng)作物與雜草的檢測識別,研究目的是利用卷積神經(jīng)網(wǎng)絡(luò)對大豆作物圖像中的雜草進(jìn)行檢測,并將這些雜草分為禾本科和闊葉雜草,將特定的除草劑應(yīng)用于不同的雜草。但是該模型的泛化性不高,涉及另一種類型的作物,幾乎沒有適應(yīng)性。國內(nèi)在雜草檢測領(lǐng)域雖然起步較晚,研究較少,但也取得了較好的研究成果。孫俊等[12]針對典型的AlexNet網(wǎng)絡(luò)進(jìn)行改進(jìn),采用空洞卷積與全局池化相結(jié)合的方式,減少模型參數(shù),使網(wǎng)絡(luò)結(jié)構(gòu)變得更寬,對不同作物的幼苗與雜草進(jìn)行識別,具有較強的識別能力。王璨等[13]提出了基于卷積神經(jīng)網(wǎng)絡(luò)提取多尺度分層特征的玉米雜草識別方法,通過將多尺度分層特征與超像素分割相結(jié)合,提高了目標(biāo)識別的準(zhǔn)確性,但該特征提取模型所需的訓(xùn)練時間較長。孫哲等[14]提出一種基于Faster R-CNN的田間西蘭花幼苗圖像檢測方法,通過將ResNet50、ResNet101和VGG16網(wǎng)絡(luò)分別作為特征提取網(wǎng)絡(luò),最終確定最優(yōu)的特征提取網(wǎng)絡(luò)ResetNet101,并通過優(yōu)化網(wǎng)絡(luò)超參數(shù),提升檢測效果,為智能除草作業(yè)中的作物識別提供了方向。姜紅花等[15]提出基于Mask R-CNN的玉米田間雜草檢測方法,該方法結(jié)合目標(biāo)檢測和語義分割可檢測出雜草的類別、位置及輪廓面積,從而實現(xiàn)定位、定量的農(nóng)藥噴灑。樊湘鵬等[16]通過優(yōu)化的Faster R-CNN模型對棉花苗期的雜草進(jìn)行識別與定位,優(yōu)化后的模型可對雜草與棉花幼苗伴生、雜草分布稀疏或分布緊密且多目標(biāo)等情況下的雜草進(jìn)行有效識別與定位。
上述研究多采用更深或者更寬的網(wǎng)絡(luò),從而提升模型的檢測精度,但也導(dǎo)致了模型參數(shù)規(guī)模大,且上述研究都未對小尺寸作物與雜草問題進(jìn)行研究。為了解決上述問題,本文在標(biāo)準(zhǔn)SSD網(wǎng)絡(luò)基礎(chǔ)上提出一種基于多尺度融合模塊和特征增強的雜草檢測方法,在甜菜和雜草數(shù)據(jù)集中進(jìn)行驗證,并與標(biāo)準(zhǔn)SSD網(wǎng)絡(luò)方法做對比,以驗證本文方法的有效性。
SSD檢測模型是由LIU等[17]提出的一個模型,它利用不同尺度和長寬比的先驗框檢測圖像中的目標(biāo)對象,并通過非極大值抑制(NMS)達(dá)到較好的檢測效果和速度,整個過程只需要一步,是單階段目標(biāo)檢測網(wǎng)絡(luò)的典型代表。SSD網(wǎng)絡(luò)模型由兩部分組成,第1部分是用于圖像特征提取的VGG16網(wǎng)絡(luò),在SSD網(wǎng)絡(luò)中刪除其全連接層;第2部分是進(jìn)行目標(biāo)分類檢測,使用兩個卷積層替代VGG16中的兩個全連接層,并增加了4個卷積層,還加入了特征金字塔[18]的檢測方式,從而實現(xiàn)多尺度目標(biāo)檢測。
SSD網(wǎng)絡(luò)提取6個不同尺度的特征圖來檢測目標(biāo)對象,其中采用淺層特征圖檢測小目標(biāo),深層特征圖檢測大目標(biāo),與YOLO網(wǎng)絡(luò)只采用單一層預(yù)測的方式相比,SSD網(wǎng)絡(luò)檢測的尺度性更好。但因為SSD網(wǎng)絡(luò)不同層的特征圖之間相互獨立,且SSD的前置基礎(chǔ)網(wǎng)絡(luò)采用VGG16網(wǎng)絡(luò),這導(dǎo)致模型參數(shù)大,收斂速度慢,另外由于淺層的特征圖所含語義信息較少,導(dǎo)致該網(wǎng)絡(luò)對小尺寸物體的檢測效果比較差。
為解決上述SSD網(wǎng)絡(luò)出現(xiàn)的問題,本文提出一種基于多尺度融合模塊和特征增強的雜草檢測模型,如圖1所示,該模型采用輕量網(wǎng)絡(luò)MobileNet作為特征提取網(wǎng)絡(luò),通過設(shè)計多尺度融合模塊(黃色框)提升小目標(biāo)檢測效果,最后通過通道注意力機制SENet(綠色框)進(jìn)行通道權(quán)重重標(biāo)定,對重要圖像特征進(jìn)行特征增強,以提高雜草檢測算法的檢測效果。
圖1 基于多尺度融合模塊和特征增強的雜草檢測模型Fig.1 Weed detection model based on multi-scale fusion module and feature enhancement
淺層特征圖感受野較小,小目標(biāo)細(xì)節(jié)信息較多,但缺少豐富的語義信息;深層特征圖感受野較大,有豐富的語義信息,但包含的小目標(biāo)信息較少。SSD算法使用淺層特征圖檢測小目標(biāo),深層特征圖檢測大目標(biāo),由于淺層特征圖缺乏語義信息,因此,SSD算法對小目標(biāo)的檢測效果較差。
本文設(shè)計一種多尺度融合模塊,通過通道注意力機制逐通道進(jìn)行通道權(quán)重重標(biāo)定,增強圖像中的關(guān)鍵特征,并通過不同膨脹率的擴(kuò)張卷積擴(kuò)大淺層特征圖感受野,充分獲取目標(biāo)的上下文信息,最后將多條分支的輸出進(jìn)行特征融合。融合后的特征圖具有豐富的小目標(biāo)細(xì)節(jié)信息和語義信息,從而達(dá)到提高小目標(biāo)檢測效果的目的。
通道注意力機制SENet(Squeeze-and-excitation networks)[19]的原理是根據(jù)全局信息來學(xué)習(xí)通道特征權(quán)重,增大有效通道特征的權(quán)重,減小無效或效果小的通道特征的權(quán)重,提升模型對通道特征的敏感性,整個操作分為壓縮、激勵和通道權(quán)重重標(biāo)定操作。如圖2所示,首先壓縮操作將用于檢測小目標(biāo)的19×19×512特征圖經(jīng)全局平均池化操作,把每一個通道的特征圖的所有像素值相加求平均,得到一個數(shù)值,即用該數(shù)值表示對應(yīng)通道的特征圖,則該數(shù)值具有全局的感受野,感受區(qū)域更廣,此時特征圖尺寸為1×1×512;然后通過全連接層(FC)和激活函數(shù)(Sigmoid)為每個特征通道生成權(quán)重,此時特征圖尺寸為1×1×512;最后通過乘法運算,將得到的權(quán)重逐通道加權(quán)到先前的特征上,完成在通道維度上對原始特征的重標(biāo)定,得到與原特征圖尺寸相同,經(jīng)通道信息強度重標(biāo)定的19×19×512的特征圖。
圖2 SENet模塊操作示意圖Fig.2 Operation diagram of SENet module
經(jīng)過通道注意力機制對通道信息重標(biāo)定,小目標(biāo)細(xì)節(jié)信息被增強,但還是缺乏豐富的上下文語義信息。為使淺層特征圖也具有豐富的語義信息,采用不同膨脹率的擴(kuò)張卷積進(jìn)行多尺度特征提取,擴(kuò)大感受野,充分獲取目標(biāo)上下文信息。擴(kuò)張卷積[20]是為了解決圖像分割算法中常使用池化層和卷積層組合的方式增加感受野,從而導(dǎo)致圖像分辨率降低、細(xì)節(jié)丟失的問題。而擴(kuò)張卷積操作可以在增加感受野的同時保持特征圖的尺寸不變,從而代替下采樣和上采樣的操作[21]。擴(kuò)張卷積有參數(shù)r,表示卷積核的膨脹系數(shù)。擴(kuò)張卷積能將卷積核擴(kuò)張到膨脹系數(shù)所約束的尺度中,并將原卷積核中未被占用的區(qū)域填充為0,這樣就可在卷積核的參數(shù)個數(shù)保持不變且不降低圖像分辨率的情況下,使感受野隨著參數(shù)r的增加而增加。擴(kuò)張卷積計算方式為:假設(shè)原始的卷積核尺寸為f,膨脹系數(shù)為r,則經(jīng)過膨脹后卷積核尺寸f′為
f′=r(f-1)+1
(1)
卷積核經(jīng)過膨脹后的感受野長×寬為[(f+1)(r-1)+f]×[(f+1)(r-1)+f]。
本文設(shè)計的多尺度融合模塊如圖3所示。融合方式為將19×19的特征圖通過通道注意力機制學(xué)習(xí)的方式,對特征圖進(jìn)行通道權(quán)重重新標(biāo)定,增強重要的關(guān)鍵特征,抑制無效通道特征(如圖像中土壤背景信息),以此突出圖像中重要的目標(biāo)物信息。采用不同膨脹系數(shù)的擴(kuò)張卷積擴(kuò)大感受野,本文采用3×3的卷積核,使用膨脹系數(shù)為2和4的擴(kuò)張卷積對輸入圖像進(jìn)行采樣,得到豐富的圖像上下文信息,并將兩條分支的輸出進(jìn)行特征融合,得到新的特征圖,新特征圖的尺寸保持不變,通道數(shù)從原來的512變?yōu)? 024。
圖3 多尺度融合模塊Fig.3 Multi-scale fusion module
一幅特征圖包含了多個特征通道,而有些特征通道較重要,有些特征通道對目標(biāo)檢測效果貢獻(xiàn)不大。SENet模塊通過學(xué)習(xí)的方式,增強重要的通道特征,抑制不重要通道特征,從而提升目標(biāo)檢測效果。
SSD檢測模型通過提取6個不同尺度的特征圖來檢測目標(biāo)對象,基于此,利用SENet模塊對用于目標(biāo)檢測的6個特征圖進(jìn)行通道特征權(quán)重分配,增強圖像中的關(guān)鍵特征,使提取的特征更具方向性,從而提高作物和雜草模型檢測精度。如圖4所示,分別用SENet模塊增強6個輸出特征圖。
圖4 特征增強結(jié)構(gòu)圖Fig.4 Structure diagram of feature enhancement
實驗操作平臺為Ubuntu 16.04系統(tǒng),采用PyTorch深度學(xué)習(xí)框架,CPU型號為Intel(R)Xeon(R)E5-2678 v3@2.5 GHz,顯卡(GPU)的型號為NVIDIA GeForce RTX 2080 Ti,顯卡內(nèi)存11 GB,編程語言為Python。為降低系統(tǒng)硬件在深度學(xué)習(xí)模型構(gòu)建和特征提取時的壓力,訓(xùn)練集圖像進(jìn)一步壓縮至300像素×300像素。設(shè)置實驗初始學(xué)習(xí)率為0.001,采用隨機梯度下降法SGD更新網(wǎng)絡(luò)參數(shù),學(xué)習(xí)動量為0.9,權(quán)重衰減率為0.000 5。
采用平均精確率(Average precision,AP)、平均精度均值(Mean average precision,mAP)和目標(biāo)檢測速度(Frames per second,F(xiàn)PS)對雜草檢測模型的檢測效果進(jìn)行評估。
平均精確率AP由召回率R(Recall)與精確率P(Precision)決定,是單個類別檢測性能結(jié)果的直觀標(biāo)準(zhǔn)。
除了檢測精度指標(biāo)外,目標(biāo)檢測算法的另一個重要性能指標(biāo)就是檢測速度。FPS表示目標(biāo)網(wǎng)絡(luò)每秒可以處理(檢測)圖像數(shù)量(幀),可以理解為圖像的刷新頻率,用來評估模型檢測速度,F(xiàn)PS越大,說明檢測速度越高。
2.3.1數(shù)據(jù)來源
本文使用的數(shù)據(jù)集為公開的作物雜草數(shù)據(jù)集,該數(shù)據(jù)集選擇自然環(huán)境下甜菜及其伴生雜草為實驗對象,共包含1 930幅圖像,該樣本數(shù)據(jù)由田間農(nóng)業(yè)機器人采集得到,從晴天干燥環(huán)境到陰天潮濕環(huán)境捕捉了不同的天氣和土壤條件下的甜菜及雜草,能較好地反映自然環(huán)境下甜菜及伴生雜草的真實特點。該數(shù)據(jù)集由CHEBROLU等[22]制作,下載地址為 http:∥www.ipb.uni-bonn.de/data/sugarbeets2016/。對數(shù)據(jù)集利用LabelImg圖像標(biāo)注工具進(jìn)行標(biāo)注。
LabelImg的界面如圖5所示,中央?yún)^(qū)域為需要標(biāo)注的圖像,對目標(biāo)物體進(jìn)行標(biāo)注時最后需要形成一個框。當(dāng)標(biāo)注完一個物體后,軟件會自動彈出一個對話框用于標(biāo)識其所屬的類別,所有標(biāo)注的類別會在軟件右側(cè)的上部顯示,并且還可以隨時修改。當(dāng)標(biāo)注完一幅圖像內(nèi)的所有物體時,軟件會將標(biāo)注的信息保存在XML文件中,方便后續(xù)調(diào)整及使用。
圖5 LabelImg標(biāo)注圖Fig.5 LabelImg annotation
2.3.2數(shù)據(jù)增強
訓(xùn)練深層卷積神經(jīng)網(wǎng)絡(luò)需要大量的數(shù)據(jù),如果訓(xùn)練集的數(shù)量級小于模型的復(fù)雜度,可能會造成過擬合的現(xiàn)象。而卷積神經(jīng)網(wǎng)絡(luò)具有不變性的特點,即對于圖像的平移、旋轉(zhuǎn)等操作,卷積神經(jīng)網(wǎng)絡(luò)依然可以識別出圖像中的目標(biāo)。因此為增加數(shù)據(jù)集的數(shù)量及其多樣性,本文通過顏色抖動、隨機噪聲和翻轉(zhuǎn)操作對下載的數(shù)據(jù)集進(jìn)行擴(kuò)充,增強模型的泛化能力,處理后圖像如圖6所示。
圖6 數(shù)據(jù)增強后的圖像Fig.6 Images after data enhancement
通過數(shù)據(jù)增強方法對數(shù)據(jù)集進(jìn)行了擴(kuò)充,擴(kuò)充后的數(shù)據(jù)集數(shù)量為3 321幅。將擴(kuò)展得到的數(shù)據(jù)集的80%作為訓(xùn)練集,20%作為測試集,并將原始圖片壓縮為300像素×300像素的圖像,作為訓(xùn)練模型的輸入。
2.4.1不同檢測模型性能對比
為驗證本文所提方法的檢測性能,對數(shù)據(jù)集中的作物和雜草進(jìn)行檢測,將本文所提方法與標(biāo)準(zhǔn)SSD模型進(jìn)行了對比實驗,表1為數(shù)據(jù)集在不同算法下的檢測結(jié)果對比。
表1 本文模型與標(biāo)準(zhǔn)SSD模型在甜菜與雜草數(shù)據(jù)集上的檢測結(jié)果Tab.1 Detection results of improved model and SSD model on beet and weed data set
從表1看出,標(biāo)準(zhǔn)SSD模型的平均精度均值(mAP)為85.61%,本文所提模型的平均精度均值mAP為88.84%,相比標(biāo)準(zhǔn)SSD模型,本文所提模型的平均精度均值提高了3.23個百分點。標(biāo)準(zhǔn)SSD模型的參數(shù)量為2.61×107,模型檢測速度為20.41 f/s,本文所提模型參數(shù)量為1.12×107,檢測速度為38.46 f/s,由于本文所提模型將輕量網(wǎng)絡(luò)MobileNet作為SSD模型的特征提取網(wǎng)絡(luò),使得模型參數(shù)量較標(biāo)準(zhǔn)SSD模型減少了57.09%,檢測速度提高了88.44%。證明本文所提模型具有檢測精度高、參數(shù)少、檢測速度快的特點,能較好滿足農(nóng)業(yè)作業(yè)中的實時性要求。
圖7為2種模型在甜菜與雜草數(shù)據(jù)集上的訓(xùn)練損失曲線,包括兩種模型的分類損失、回歸損失和總體損失。由圖7可知,在數(shù)據(jù)集訓(xùn)練過程中,各網(wǎng)絡(luò)模型的損失值都隨著迭代次數(shù)的增加不斷收斂,本文所提模型的分類損失和回歸損失均小于標(biāo)準(zhǔn)SSD模型,證明本文模型比標(biāo)準(zhǔn)SSD模型有更好的檢測精度,誤檢和漏檢現(xiàn)象減少。
圖7 2種模型的訓(xùn)練損失曲線Fig.7 Training loss curves of two models
2.4.2葉片交疊與小尺寸目標(biāo)檢測對比實驗
將本文所提模型與標(biāo)準(zhǔn)SSD模型在測試集中的檢測結(jié)果進(jìn)行了對比分析。在檢測結(jié)果中,所有的檢出目標(biāo)都用邊框標(biāo)記其位置,并顯示該目標(biāo)的所屬類別和置信度。小目標(biāo)檢測結(jié)果對比如圖8所示,葉片交疊情況檢測對比如圖9所示。
圖8 小目標(biāo)檢測結(jié)果對比Fig.8 Comparison of small target detection results
圖9 葉片交疊情況檢測結(jié)果對比Fig.9 Comparison of test results for blade overlap
從圖8中看出,當(dāng)圖像中存在尺寸較小的雜草時,標(biāo)準(zhǔn)模型只檢測出了尺寸較大的作物和雜草,無法檢測出細(xì)小雜草。
從圖9中看出,對于圖像中的葉片交疊情況,本文所提方法可以準(zhǔn)確定位和檢測出作物和雜草,而標(biāo)準(zhǔn)模型則將其檢測為同株植物。
由圖8、9可知,相比于標(biāo)準(zhǔn)模型,基于多尺度融合模塊和特征增強的雜草檢測模型檢測結(jié)果更符合實際要求,預(yù)測結(jié)果置信度高,沒有出現(xiàn)檢測框過大,或包裹不全目標(biāo)物的現(xiàn)象。表明本文模型可準(zhǔn)確預(yù)測目標(biāo)物位置及類別信息,具有良好的泛化能力和魯棒性。
將輕量網(wǎng)絡(luò)MobileNet作為SSD模型的特征提取網(wǎng)絡(luò),減少了模型參數(shù)量,提升了模型特征提取速度;設(shè)計了多尺度融合模塊,通過通道注意力機制增強有用的通道信息,抑制無用的信息,通過不同膨脹系數(shù)的擴(kuò)張卷積擴(kuò)大淺層特征圖的感受野;最后利用SENet模塊對6個輸出特征圖做特征增強。本文模型比標(biāo)準(zhǔn)SSD模型檢測精度提高了3.23個百分點,參數(shù)減少了57.09%,檢測速度提高了88.44%,對小目標(biāo)作物和雜草、葉片交疊情況也具有較好的檢測效果,表明本文模型可實現(xiàn)作物與雜草的快速準(zhǔn)確檢測,能夠為精準(zhǔn)農(nóng)業(yè)的發(fā)展提供支持。