宋建熙,李興科,于哲,李西兵
(福建農林大學機電工程學院,福州市,350002)
伴隨著我國城市化進程的加速,綠地草坪對景觀和生態環境的作用貢獻,得到了廣大市民朋友的認可,但是草坪雜草的肆意生長嚴重破壞草坪整齊美觀的外貌。現階段除雜草方法主要為人工持械除草和化學除草。在人工除草中,人力成本日益攀升,除草支出逐漸加高,同時在搜尋雜草過程中,人為踐踏會對草坪造成二次損傷?;瘜W除草成本較低,但化學藥劑存在土壤污染,破壞生態環境的風險[1]。因此區分草坪雜草與觀賞草種,有助于定位雜草生長位置,指引除草工人快速到達雜草生長區域進行除草,并根據不同雜草的生物學特性,噴灑對應除草劑[2]。
在計算機視覺的分支學科深度學習中,已有多種神經網絡框架用于檢測田間雜草目標。樊湘鵬等[3]將Faster R-CNN目標檢測模型與VGG16特征提取結構[4]、Dropout優化算法相結合,針對單一雜草識別精度達86.67%。但美中不足的是,Dropout算法雖避免模型過擬合,但自身篩選機制易導致關鍵特征遺失,損失識別精確度。
逯杉婷[5]在FasterR-CNN模型的池化層上增加GAN噪聲層。此舉優化數據特征,增強網絡魯棒性。但其優化模型存在部分小目標雜草漏檢的局限性。
權龍澤等[6]在Mask R-CNN模型中,用Soft-NMS算法替代非極大值抑制法,并將RoI Pooling替換為RoIAlign算法。使改進后的模型擁有出色的魯棒性,完成雜草分割、識別葉齡等任務。但該模型較為復雜,易因過擬合造成雜草部分重要特征被忽略、權重配置為零等問題。
Retina-Net模型作為一階目標檢測算法,目標檢測的精確度首次超越同時代的二階目標檢測算法。在COCO數據集上的平均查準率為39.1%,遠高于同時期其他一階目標檢測網絡,小幅度領先二階目標檢測網絡[7]。Retina-Net模型自提出后便應用于眾多領域,網絡兼容性強,并具備種類齊全的遷移學習數據庫,權重參數模型的可選擇性高?;谝陨咸匦裕舜窝芯窟x擇對Retina-Net模型進行相應改進,致力于提高特定草坪雜草目標的檢測精度。
本次研究擬解決兩個難點,首先是雜草多與觀賞草種混合生長,部分觀賞草種會被模型誤認為目標雜草,最終影響網絡模型對目標雜草的檢測精度。其次草坪雜草生長大小不一,部分雜草遮掩生長,傳統網絡模型存在小目標雜草漏檢、遮掩雜草漏檢的問題將影響雜草種類識別的準確性。
為提高模型的雜草檢測精度,擬從兩方面著手改良:首先是對雜草圖像數據進行預處理,因為雜草與觀賞草種連結生長,因此采集的雜草圖像中存在大量觀賞草種,通過圖像預處理,濾除觀賞草種,保留目標雜草。其次是改進Retina-Net基線模型,通過堆疊和共享空洞卷積的方式,增設多尺度感受野,提升模型對不同尺度目標的檢測能力;通過改進池化層防止模型過擬合,在保留最大池化層優點的基礎上,增設軟池化層,實現局部空間的不變性。
本次試驗圖像采集時間為2021年4—6月。地點在福建農林大學試驗田,中華園以及春暉橋附近的觀賞草坪。收集了積雪草,酢漿草,犁頭草,阿拉伯婆婆納,含羞草,紫爵床草等六種常見雜草的原始圖像。部分圖像樣本如圖1所示。此次試驗采集積雪草236幅,紫爵床草220幅,犁頭草218幅,阿拉伯婆婆納232幅,含羞草220幅,酢漿草200幅,總計1 326幅。



(a) 積雪草 (b) 犁頭草 (c) 阿拉伯婆婆納



(d) 紫爵床草 (e) 含羞草 (f) 酢漿草
由于此次研究對象是自然環境下的草坪雜草,因而雜草圖像易受光照強度和大氣濕度影響,同時考慮到雜草多與景觀草連結生長,景觀草與目標雜草差異較小等因素,因此采用圖像預處理目的是分離雜草目標。本次預處理軟件使用OpenCV。預處理流程圖如圖2所示。

圖2 雜草圖像預處理流程圖
第一步,將原始雜草樣本圖像按照9∶1的比例,隨機分為訓練集圖像和測試集圖像。訓練集用于算法迭代學習,從而幫助算法確定雜草識別時的權重與偏置數值。測試集用于檢測算法的識別成功率。部分訓練集圖像如圖3(a)所示。
第二步,將彩色圖像轉換為灰度圖像。使用高斯濾波濾除相機長時間使用而產生的高斯噪聲[8]。運用Canny()函數的雙閾值法檢測目標圖像的輪廓邊界,不同的圖像根據自身特點設置不同閾值,劃分強弱邊緣[9]。成果如圖3(b)所示。
第三步,對上一步獲得的邊緣二值圖像進行形態學開運算與閉運算處理,消除背景中觀賞草種細小輪廓,消除目標雜草葉片輪廓間的縫隙,讓野草輪廓更加簡潔明了。成果如圖3(c)所示。
第四步,獲取圖像中不同連通域的位置與面積信息。保留雜草所在位置的連通域,同時消除景觀草中面積較小的連通域[10]。成果如圖3(d)所示。
第五步,應用圖像掩膜技術以及邏輯運算和運算,在RGB彩色圖像中,分割出目標野草的圖像數據信息。成果如圖3(e)所示。
第六步,對圖像進行邊緣平整化處理,濾除多余背景信息,保留關鍵目標信息。部分野草圖像處理結果如圖3(f)所示。
出于避免因訓練集數量不足而產生過擬合現象和提高圖像利用率的目的。此次研究對所收集的圖像數據進行數據增強處理。通過旋轉、翻轉、添加噪聲等方法,擴充數據集數量,提高野草識別模型的穩定性與準確性,如圖4所示。



(a) 原始野草圖像 (b) 邊緣檢測圖像 (c) 形態學處理后的圖像



(d) 去除部分連通域后圖像 (e) 分割后的目標圖像 (f) 最終目標圖像


(a) 原始圖像 (b) 順時針旋轉90°


(c) 上下翻轉 (d) 椒鹽噪聲
Retina-Net的結構原理模型如圖5所示。其中A是以深度殘差網絡(Residual Network, Res-Net)為基礎構建的殘差神經模塊,目的是提取樣本圖像的低緯度特征;B為特征金字塔模塊(Feature Pyramid Network, FPN),將A中提取的低緯度特征進行數據融合,便于更好的表達目標圖像信息;C為卷積預測模塊,依照B中的目標圖像信息,對待檢測的圖像進行目標定位和目標分類。

圖5 Retina-Net簡化模型原理圖
伴隨著網絡層數的不斷加深,下采樣倍率的穩步增長,以及網絡感受野范圍逐漸擴大,網絡擁有更強大的語義表征能力,能更好地處理與保存大尺度目標自身的語義信息。但是由于特征圖像分辨率的降低,導致小尺度目標在下采樣倍率較高的特征圖中有效信息銳減,降低了網絡對小尺度目標的檢測能力,產生了目標檢測的多尺度問題。
為解決此問題,在三叉戟網絡(Trident Net)[11]模型中,使用膨脹率分別為1,2,3空洞卷積(Dilated Convolution)[12],采用并行分支的網絡結構組成了三叉戟塊(Trident Block),替換原有網絡中的常規卷積,同時生成多種可供選擇的感受野。本次試驗在原有的三叉戟塊上加以改進,構造四個并行的分支結構,卷積核使用膨脹率分別為1,2,4,6的3×3空洞卷積。并行網絡模塊結構如圖6所示。

圖6 并行網絡模塊結構圖
為簡化網絡模塊結構,減少網絡參數量,提升模塊的泛用能力。兩個膨脹率為2的3×3空洞卷積所生成的感受野,可以覆蓋一個膨脹率為4的3×3空洞卷積所生成的感受野;三個膨脹率為2的3×3空洞卷積所生成的感受野,可以覆蓋一個膨脹率為6的3×3空洞卷積所生成的感受野。此方法減少了模塊中卷積核的種類,使感受野中更多的像素值,參與到卷積計算中,增強了淺層網絡對幾何細節信息的表征能力,也提高了深層網絡的語義信息表征能力。改進后的模塊結構圖如圖7所示。

圖7 改進的并行網絡模塊結構圖
卷積神經網絡通過架設池化層縮減特征圖尺寸。此步驟對于實現局部空間不變性意義重大,因此,池化操作應在減輕計算量的同時保留主體特征,防止模型過擬合,降低特征的冗余度;保持變換不變形,保持旋轉、平移以及尺度不變性。
Retina-Net使用最大池化層,即輸出特定區域中的最大激活值。最大池化計算量少,但舍棄非極大激活又造成圖像中多數信息的遺失,降低網絡整體性能。因此,為減少池化操作中的特征信息損失,在模型中引用軟池化(Soft Pooling)[13]操作。其相應的計算公式
(1)
式中:R——池化區域;
i,j——池化區域的激活個數;
ai——區域R內的各個激活值。
多次試驗后發現,由于軟池化需對區域R內所有特征數值進行自然對數計算,相較于最大池化僅保留最大特征數值的做法,計算量較大,較為耗時;當區域中存在某一激活明顯大于其他激活時,軟池化所得結果與最大池化結果近乎一致。
有鑒于此,對池化算法做出改進,在池化層中引入超參數m,當區域R最大激活Pmax與區域內第二大激活Psec_lar的差值超過m時,選用最大池化層進行池化;反之則使用軟池化層進行池化。具體公式如式(2)所示。

(2)
在Retina-Net基線模型的基礎上,增加改進的軟池化模塊和基于空洞卷積堆疊的多尺度感受野模塊,最終的模型原理圖如圖8所示。
本次試驗使用PASCAL VOC數據集對網絡檢測精度與泛用性進行測試,PASCAL VOC數據集是世界級計算機視覺挑戰賽的專用數據集,該數據集常用于驗證算法的目標檢測能力。本次試驗以平均精度均值(mean Average Precision,mAP)[14]為網絡精度的評估標準,mAP是用于衡量神經網絡模型檢測精度的公用指標。
本次試驗采用Nadam作為優化器,Nadam近似于帶有Nesterov動量項[15]的Adam[16],對學習率有更強的約束。輸入圖像的尺寸設置為600×600。先驗框設置為[32, 64, 128, 256, 512]。
訓練過程分為凍結階段和解凍階段。在凍結階段,將模型主干ResNet50凍結,對網絡進行微調,特征提取網絡的參數不變。此階段占用顯存較小,因此單批次訓練樣本數(batch_size)設置為8個,迭代次數(epoch)為50次。由于訓練參數較少,所以將學習率(learning rate)設置為0.000 1。在解凍階段,模型主干部分解凍參與訓練,特征提取網絡發生變化。此階段占用顯存較大,因此將單批次訓練樣本數定為4個,迭代次數為50次。由于解凍階段所有參數均參與訓練,所以將學習率調小,設置為0.000 01。

圖8 改進的Retina-Net模型原理圖
表1展示了此次試驗所提出的神經網絡與其他主流神經網絡的平均精度均值。Retina-Net基線模型在融合多尺度感受野以及增設軟池化層后,平均精度均值提升1.8%,相比SSD,DSSD,YOLOv3,FCOS等主流神經網絡,分別高出6.4%,6.1%,4.5%,3.2%。
圖9展示了Retina-Net改進模型與Retina-Net基線模型在PASCAL VOC各個類別上的平均精確度(Average Precision,AP)[17]對比。改進模型面對20個不同類別的目標檢測任務,在16個類別中提升了基線模型的平均精確度。因此改進的Retina-Net模型具有較好的泛用性。

表1 不同神經網絡在PASCAL VOC中的檢測結果對比Tab. 1 Comparison of detection results of different neural networks in PASCAL VOC

圖9 改進的Retina-Net與Retina-Net基線模型在PASCAL VOC各個類別上的平均精確度對比
在Retina-Net的基線模型中分別單獨加入改進的多尺度感受野融合模塊,改進的軟池層模塊,對比PASCAL VOC數據集上目標檢測的平均精度均值。結果如表2所示。

表2 PASCAL VOC上的消融試驗Tab. 2 Ablation experiments on PASCAL VOC
在Retina-Net的基線模型中分別單獨加入改進的多尺度感受野融合模塊,改進的軟池層模塊后,平均精度均值較原有模型分別提高1.3%,0.9%。證明本試驗所提出的兩項網絡改動方案,均對網絡識別精度有增益作用。
本次試驗為訓練Retina-Net改進模型對特定種類雜草的檢測能力,自制雜草數據集。共收集六類雜草原始圖像1 326幅。通過數據增強將數據集擴容為7 956 幅圖像。將所有圖像依據訓練集∶驗證集∶測試集為8∶1∶1的比例進行隨機劃分。最終生成6 366 幅訓練集圖像,795幅測試集圖像,795幅驗證集圖像。使用Labelimg軟件添加標簽,Labelimg標注雜草的工作界面如圖10所示。各類雜草標注名稱分別為hanxiu(含羞草),zijuechuan(紫爵床草),litou(犁頭草),zuojian(酢漿草),popona(婆婆納),jixue(積雪草)。

圖10 框選檢測目標設置圖像標簽
將自制的雜草數據集投入Retina-Net改進模型中訓練,沿用PASCAL VOC對比試驗時的模型訓練參數,但為增強小目標雜草檢測能力,將模型淺層的先驗框大小調整為[16, 32, 128, 256, 512]。雜草訓練集與驗證集的損失函數如圖11、圖12所示。

圖11 改進的Retina-Net模型中

圖12 改進的Retina-Net模型中六種雜草驗證集的損失函數
在圖11中,經過約50次迭代訓練后,雜草訓練集損失函數趨于穩定,因此改進模型具有較好的魯棒性。在圖12中,經過約80次迭代訓練后,雜草數值平穩收斂且數值接近訓練集損失函數,因此改進模型較好地抑制了網絡模型的過擬合現象。
使用五種常見的神經網絡和本文改進的神經網絡模型,一起訓練雜草數據集,各個神經網絡針對每一種雜草的準確率(Precision),召回率(Recall),F1值[18]如表3所示。Retina-Net改進模型對測試集數據中積雪草,犁頭草,婆婆納,紫爵床,含羞草,酢漿草的平均識別準確率(mean Precision,mP)[19]分別為85.3%,84%,89.6%,86.7%,95.1%,91.5%。六類雜草的總平均識別率為88.7%.相較于Retina-Net基線模型,各種類識別率均有0.2%~3.6%提高;平均識別率相較其他主流神經網絡模型高出2.2%~9.3%。
在自然環境下,不同圖像中存在的雜草數量、種類、大小都大相徑庭,因此圖13展示了改進Retina-Net自然環境下的雜草識別效果。圖13(a)是單種類雜草目標檢測;圖13(b)是多種類雜草目標檢測;圖13(c)是多種類高密度雜草目標檢測。

表3 六類雜草在不同模型中的檢測結果Tab. 3 Detection results of six kinds of weeds in different models %

(a) 單種類雜草目標檢測

(b) 多種類雜草目標檢測

(c) 多種類高密度雜草目標檢測
面對草坪雜草中野生雜草與觀賞草種混合生長,不利于提取雜草特征信息的難點,本文利用OpenCV軟件對訓練集圖像進行預處理,分離出目標雜草,有助于改進Retina-Net針對雜草特征,生成權重與偏置。
面對雜草外觀不完整或體積較小而導致的漏檢問題,通過堆疊、共享相同膨脹倍率的空洞卷積,生成改進的多尺度感受野融合模塊,提高網絡的小目標檢測能力;在原有的最大池化層中增設軟池化層,提升各激活值之間的區域關聯性,提升了雜草的目標檢測精度。
經過多次試驗驗證,本文提出的網絡模型對積雪草平均識別準確率85.3%,犁頭草84%,阿拉伯婆婆納89.6%,紫爵床草86.7%,含羞草95.1%,酢漿草91.5%,高于當前大多數目標檢測模型。