孟慶寬 張 漫 楊曉霞 劉 易 張振儀
(1.天津職業技術師范大學自動化與電氣工程學院, 天津 300222; 2.天津市信息傳感與智能控制重點實驗室, 天津 300222;3.中國農業大學現代精細農業系統集成研究教育部重點實驗室, 北京 100083)
雜草與作物爭奪水分、養分和光照,阻礙了作物正常生長,對農業生產造成不利影響[1-3]。雜草控制是農業生產中的一個重要環節,對提高作物產量與品質起著重要作用?;瘜W除草是當前廣泛采用的一種除草方式,具有實施成本低、適合大面積作業等特點。然而,粗放式大規模藥劑噴灑將產生環境污染和食品農藥殘留等一系列問題[4-6]。隨著精準農業技術的發展,自動化機械除草逐漸成為雜草防控領域的研究熱點。在自動化機械除草作業過程中,實時、準確地對作物與雜草進行檢測識別是實現精準高效除草的關鍵。
目前,國內外學者進行作物與雜草識別的方法主要包括全球衛星導航定位、接近式傳感器和機器視覺技術[7-9]。由于機器視覺具有信息完整豐富、非接觸測量、價格成本低等優點,在田間作物與雜草識別中得到廣泛應用。傳統的作物與雜草檢測方法通過提取作物與雜草的顏色、紋理、形狀、高度等特征信息,將一種或多種特征的組合輸入到特征分類器,實現分類檢測[10-14]。此類方法需要人工進行特征選取標定,選取特征依賴于設計者的經驗,而且由于光照變化、背景噪聲、目標形態多樣性等因素的影響,難以設計出適應性好、穩定性高的特征提取模型。
隨著深度學習技術的發展,卷積神經網絡在機器視覺領域逐漸得到廣泛應用,并取得良好效果[15-18]。卷積神經網絡利用一系列線性和非線性變換對輸入圖像進行層層抽象,由淺入深提取圖像不同層次特征,將不同層次特征進行組合,形成表征能力強、魯棒性好、歧義性少的高層次特征,實現對圖像本質特征的有效表達。在作物與雜草識別領域,文獻[19]通過超像素分割法對獲取的大豆與雜草圖像進行預處理,基于Caffe框架訓練深度卷積神經網絡實現了作物與雜草的有效檢測。文獻[20]提出了基于卷積神經網絡提取多尺度分層特征的玉米雜草識別方法,通過將多尺度分層特征與超像素分割相結合,提高了目標識別的準確性。文獻[21]在多層卷積神經網絡中引入二進制哈希層構建雜草識別模型,并利用提取到的全連接層特征碼和哈希特征碼進行分類,相比于無哈希層的普通模型,該模型的準確率和收斂速度都有所提高。文獻[22]對AlexNet模型進行改進,構建了一種空洞卷積與全局池化相結合的卷積神經網絡模型,使用更寬的網絡結構,增加了特征圖的多尺度融合,對不同作物幼苗與雜草具有較強的識別能力。文獻[23]提出一種基于Faster R-CNN模型的作物檢測方法,利用ResetNet101網絡代替原始的VGG16網絡,提高了作物檢測精度。上述研究普遍采用多層深度卷積神經網絡進行特征提取,通過增加網絡的深度與寬度實現更高的準確率,但導致識別模型復雜度升高、檢測速度降低。
為提高作物與雜草檢測實時性,并降低識別模型的參數規模,本文在現有SSD模型的基礎上進行優化,提出基于輕量卷積神經網絡結合特征層信息融合機制的改進SSD目標檢測框架。首先,采用深度可分離卷積結合SENet模塊構建輕量型特征提取單元,通過密集化連接構成輕量前置網絡,以減少網絡模型參數計算量,提高圖像特征提取速度和精度;然后,引入不同分類特征層信息融合機制,將擴展網絡中深層語義信息與淺層細節信息進行融合,豐富預測回歸位置框和分類任務輸入的多尺度特征圖,增強識別模型對小尺寸目標以及作物與雜草葉片相互遮擋情況的檢測準確性。
SSD算法的本質是選擇不同尺度和長寬比的先驗框均勻地對圖像不同位置進行密集抽樣,利用卷積神經網絡提取特征后直接進行分類回歸并通過非極大值抑制操作得到檢測結果,整個過程只需要一步,具有良好的實時性[24-25]。同時,由于采用不同尺寸的特征圖進行預測,使目標檢測精度得到較大提升。
SSD檢測模型由前置基礎網絡和擴展網絡組成,前置基礎網絡用于圖像特征提取,擴展網絡由多尺度特征圖構成,負責目標分類檢測。在特征圖的每個單元位置設置多個不同尺度和長寬比的先驗框,輸出各類別在該位置的置信度評分與物體真實位置相對于先驗框的轉換值,如果檢測目標共有C個類別,SSD需預測C+1個置信度,第1個置信度指的是不含目標或者屬于背景的評分。物體真實位置相對于先驗框的轉換值包括4個量,分別為位置偏移量Δx、Δy和長寬比例量Δw、Δh。
SSD算法的前置基礎網絡主要用于對輸入圖像重要特征進行提取,為后續網絡層提供信息輸入。為實現復雜應用場景下特征提取的低延遲與高準確性,本文將深度可分離卷積與SENet網絡結構相結合設計了輕量特征提取基本單元,通過密集化連接構成輕量化前置基礎網絡,在保證識別精度的基礎上,降低網絡參數數量,提高網絡運行速度。
1.1.1輕量化特征提取單元設計
深度可分離卷積是一種可分解的卷積結構,能夠將標準化卷積分解為深度卷積(Depwise convolution)和逐點卷積(Pointwise convolution)[26]。運算時先通過深度卷積操作對每一個輸入特征通道進行卷積,然后利用逐點卷積對深度卷積的輸出進行組合,這種將卷積分解的過程可以有效降低網絡模型參數規模與計算量。深度可分離卷積與標準卷積的計算量比例公式定義為
(1)
式中K——深度可分離卷積的卷積核尺寸
M——輸入特征圖數量
O——輸出特征圖數量
一般情況下,網絡結構中O?K2,因此深度可分離卷積的計算量約為標準卷積的1/K2。深度可分離卷積通過對特征通道進行分組計算,使網絡模型輕量化,具有更快的計算速度,但在進行圖像特征提取時沒有對特征通道的相關性加以利用,造成通道間信息相互獨立,準確率低于常規卷積網絡。
不同特征通道對特征圖的重要程度不一樣,如果通過學習的方式使每個通道獲取一個權重,根據權重強化重要通道特征,抑制非重要通道特征,則可以提高網絡模型的準確率。SENet網絡模塊即基于上述思路設計而成,SENet模塊由Squeeze、Exiciation、Reweight 3部分構成,顯式地構建了特征通道間的相關性[27]。Sequeeze利用全局平均池化法(Global average pooling)將空間維度上每個二維通道特征圖壓縮為一個實數,使其具有全局感受野,在輸出維度上與輸入通道數相同;Exiciation建模特征通道間的相關性,為每個特征通道生成權重;Reweight將生成的權重與先前對應通道特征相乘,在通道維度上對原始特征重新標定。
為使前置基礎網絡在快速提取特征的同時也具有較高的準確性,本文將深度可分離卷積與SENet模塊相結合,構成輕量化特征提取基本單元,其結構如圖1所示。首先對輸入信息的每個通道采用尺寸為3×3的卷積核進行深度卷積,獲取每個通道空間特征;然后利用1×1逐點卷積對深度卷積的輸出進行組合,得到一系列新的特征輸出。為加快訓練過程和解決梯度消失問題,在深度卷積與逐點卷積之后分別進行了批量歸一化處理(Batch normalization, BN)和ReLU非線性激活操作。SENet作為輸出特征的旁路單元,經過全局平均池化、2個全連接層(Full connection, FC)、修正線性單元(Rectified linear unit, ReLU)和Sigmoid歸一化等一系列操作,得到各特征通道權重,然后將權重與原特征信息對應通道的每個元素相乘,完成通道信息強度重標定。圖1中,X為輸入特征圖,X′為輸出特征圖,W、H、C分別為特征圖長度、寬度和通道數,r為壓縮系數用來降低計算量,Scale為通道權重設定。

圖1 輕量化特征提取單元Fig.1 Feature extraction unit based on light weight convolution
1.1.2特征提取單元密集化連接
將輕量化特征提取單元作為前置網絡的基本組成元素,為最大化網絡中所有單元的信息流,將網絡中的每一個單元以前饋方式與其他單元進行連接,即每個單元的輸入為前面所有單元的輸出并集,而這個單元的輸出又作為后面所有單元的輸入。這種單元間的密集化連接,能夠增加每個單元輸入多樣性,最大程度實現特征重復利用,使得網絡參數更少且計算效率更高。卷積神經網絡經過下采樣降低特征圖尺寸,輕量特征提取單元間的密集連接需要特征圖尺寸保持一致,為此密集連接網絡由密集塊(Dense block)和連接塊(Connection block)構成。密集塊包含若干個輕量特征提取單元,每個單元輸出特征圖的尺寸相同,各單元之間采用密集連接方式進行信息傳遞;連接塊用于連接相鄰的2個密集塊,由一個1×1卷積核與2×2池化層(Pooling)構成,起到降低特征圖尺寸與壓縮模型的作用。圖2為密集連接輕量前置基礎網絡示意圖,密集塊中的彩色模塊代表輕量化特征提取單元,C1、C2表示特征通道數量,圖中包含了3個密集塊,每個密集塊包括一定數量的輕量化特征提取單元,在實際應用中可根據需要進行調整。

圖2 基于密集連接的輕量前置基礎網絡示意圖Fig.2 Diagram of light weight base network based on dense connection
卷積神經網絡中,淺層特征圖分辨率較高、感受野較小,紋理細節信息豐富,但語義信息表征能力弱;深層次特征圖分辨率較低,感受野較大,語義信息豐富,但紋理細節信息表征能力不足。標準SSD模型采用多尺度特征圖以回歸的方式預測物體類別和位置偏差,通過具有較大感受野的深層特征圖預測大物體,具有較小感受野的淺層特征圖預測小物體,由于淺層特征圖缺乏全局語義信息,導致SSD對小尺寸目標的檢測效果不佳。為提高SSD對小尺寸物體的檢測能力,本文引入逆卷積運算將SSD模型深層語義信息與淺層細節信息進行融合,融合后的特征圖具有足夠的分辨率和更強的語義信息。
逆卷積相當于卷積在神經網絡結構的正向和反向傳播中做相反運算,這里的相反是指矩陣的轉置,因此逆卷積也稱為轉置卷積[28]。逆卷積能夠對特征圖進行上采樣(Up sampling),從而提升特征圖尺度,使具有不同尺度的2個或者多個特征圖連接在一起。SSD模型中深層特征圖與淺層特征圖具有不同的分辨率和通道數,進行特征信息融合前先利用逆卷積對深層特征圖進行上采樣提高分辨率,使其與淺層特征圖保持一致;然后采用1×1卷積將深層特征圖通道數轉換到與淺層特征圖相同的維數;最后將兩者特征圖在對應通道上進行加法運算,實現特征融合。融合后的特征圖可以重復上述操作繼續與淺層特征圖進行融合,本文所設計的特征融合結構可以表示為
Sij=Xi+δc{Tc(Yj)} (i≠j;i,j∈Fs)
(2)
式中Sij——融合后的特征圖
Xi——淺層特征圖
Yj——深層特征圖或前一次融合的特征圖
Tc——逆卷積變換
δc——通道變換
Fs——特征圖集合
特征融合后的網絡結構中,淺層高分辨率特征圖將具備更豐富的語義信息與更強的擬合能力,可以有效提高對小尺寸物體的檢測能力。
標準SSD模型用于目標類別判定和位置回歸時多尺度卷積層共有6層,前3層尺寸較大,感受野較小,全局語義信息缺乏,屬于淺層特征圖,可以從后面更深層特征圖中獲取高級語義信息進行融合;后面3層尺寸較小,感受野較大,語義信息豐富程度較高,屬于深層特征圖,進行特征融合后在小目標檢測效果上提升程度有限,為避免過多的引入逆卷積增加計算量,不對這3個層進行特征融合處理。圖3為基于特征融合的SSD網絡結構模型。

圖3 基于特征融合的SSD網絡結構模型Fig.3 SSD network model based on feature fusion
本文訓練過程中采用多任務損失函數完成目標種類置信度判別和位置回歸,損失函數定義為位置損失(Localization loss)與類別置信度損失(Confidence loss)的加權和,定義式為
(3)
式中Nnum——與標注框相匹配的先驗框數量
x——標注框與先驗框是否匹配,x∈{0,1},x=1表示匹配,x=0表示不匹配
c——目標類別置信度,c∈[0,1]
l——預測邊界框位置參數
g——標注邊界框位置參數
λ——權重因子,通常設置為1
Lconf——物體類別置信度損失函數,利用Softmax多分類誤差函數計算類別置信度損失
Lloc——物體位置損失函數,為預測框與標注框參數之間損失
試驗硬件平臺采用Dell XPS8930型臺式計算機,CPU型號為Intel Core i7 8700,16 GB內存,NVIDA GTX1070顯卡,統一計算設備架構為CUDA 10.0,深度神經網絡加速庫選擇CUDNN V10.0,操作系統為Windows 10,利用Python語言基于TensorFlow深度學習框架對本文算法模型進行程序設計與性能驗證。
選擇自然環境下玉米及其常見伴生雜草為試驗對象,利用改進SSD深度學習模型進行目標識別和定位,通過試驗結果對本文識別檢測模型進行性能分析評估。圖像樣本數據采集于天津市寧河農場,選用BasleracA2440-20gc型相機進行拍攝,圖像分辨率為480像素×720像素。采集圖像包括3~6葉期玉米幼苗和刺菜、藜、打碗花、田旋花等雜草。為提高樣本圖像的豐富程度,本文在不同種植地塊、不同光照強度、不同生長階段共采集2 000幅圖像,以期數據集能較好地反映自然環境下玉米及伴生雜草的真實特點。
采用分層抽樣法對經過數據增廣處理的玉米與雜草圖像(4 000幅),按照8∶1∶1比例劃分為訓練集、驗證集和測試集。基于分層抽樣法進行數據劃分,可以使訓練集、驗證集和測試集中各檢測對象類別在本集合中所占比例與總體數據中各檢測對象類別所占比例保持一致,避免因樣本類別分配不均衡而造成檢測模型泛化誤差較大。
采用端到端的學習方式基于訓練集樣本數據構建深度學習模型。將測試集數據輸入到訓練好的網絡模型,對作物與雜草的種類和位置進行預測,如果目標類別和位置預測正確,則認為檢測成功,否則認為檢測失敗。將檢測結果進行整理記錄,為模型性能評價提供數據支撐。檢測模型預測得到的目標對象置信度大于設定置信度閾值則標定為正樣本P,小于設定置信度閾值標定為負樣本N,預測邊界框與真實標注框的交集與并集的比值(Intersection over union,IOU)大于設置閾值認為檢測正確,檢測結果設為T,否則認為檢測結果錯誤設為F。
分別將基于VGG16網絡的標準SSD模型與本文提出的深度學習檢測模型進行分析對比,選擇平均精度均值(Mean average precision, MAP)、檢測速度、網絡參數規模作為性能量度指標,以驗證本文方法的有效性。平均精度均值為多類別平均精度的平均值,是多類別目標檢測算法中常用的精度衡量指標,即在給定IOU閾值下計算所有類別平均精度(Average precision,AP)然后求平均,作為這個IOU閾值下的檢測精度指標。平均精度與精準率(Precision)、召回率(Recall)有關,在本文應用場景中,精準率P表示在測試集樣本中網絡模型正確檢測出的玉米和雜草目標與預測為玉米和雜草目標的比值,召回率R表示在測試集樣本中所有的玉米與雜草目標被正確預測的比例。精準率與召回率計算式為
(4)
(5)
式中TP——正確檢測出的目標對象數量
FP——錯誤檢測的目標對象數量
FN——未檢測出的目標對象數量
P——精準率,%
R——召回率,%
通過對精準率與召回率曲線進行積分計算得到P-R曲線與坐標軸構成的面積即為平均精度,模型檢測效果越好,平均精度越高,計算式為

(6)
式中Ap——平均精度
本文使用隨機梯度下降法將檢測模型基于NVIDA GTX1070顯卡進行訓練,為降低系統硬件在深度學習模型構建和特征提取時的壓力,訓練集圖像進一步縮放至300像素×300像素。根據現有硬件設備可承載的運算能力,設置圖像批處理數量為8,學習動量為0.9,權值衰減為0.000 5,衰減率為0.9,每經過5 000次迭代衰減一次,每間隔10 000次迭代進行一次模型保存,以避免長時間訓練過程中出現斷電、宕機、異常退出等情況導致訓練模型出現損失。
基于測試集樣本數據分別對本文提出的輕量型SSD推理模型與基于VGG16特征提取網絡的標準SSD模型進行性能測試,IOU設定為0.5,表1為2種算法模型性能參數對比結果。由表1可以看出,本文深度學習推理模型對玉米及其伴生雜草的平均精度均值比標準模型高2.66個百分點,由于對前置特征提取網絡進行輕量化設計使得目標檢測速度比標準模型高33.86%,網絡參數降低66.21%左右,具有實時性高、參數規模小的特點,適合應用于硬件系統資源有限且對檢測速度具有較高要求的農業移動設備。

表1 標準SSD模型與本文模型作物與雜草檢測結果比較Tab.1 Comparison of detection results between improved SSD and original SSD
圖4為2種模型的P-R對比曲線,曲線上的一個點代表某一置信度閾值下,模型將大于該閾值的結果判定為正樣本,小于該閾值的結果判定為負樣本,此時按照式(4)、(5)計算的結果即為對應的召回率與精準率。由圖4可以看出,隨著召回率的增加2個模型的精準率整體呈下降趨勢,當召回率在0~40%區間時,本文模型精準率與標準SSD模型精準率近似相同;當召回率在40%~100%區間時本文模型精準率高于標準SSD模型,說明在這個區間內本文模型錯誤檢測出的目標數量低于標準SSD模型。同時,本文模型P-R曲線與坐標軸合圍形成的面積大于標準SSD模型,表明本文模型檢測效果更佳。

圖4 不同檢測模型P-R曲線Fig.4 P-R curves of different detection models
為驗證不同農田環境下目標推理檢測模型的有效性以及適應性,本文選擇不同光照條件、不同土壤背景、不同生長階段的玉米幼苗及雜草,利用本文模型和標準SSD模型進行對比檢測試驗,為區別2種檢測模型效果,本文方法在回歸邊框左上角的目標名稱和置信度區域加入背景顏色,試驗結果如圖5~9所示。從試驗圖像可以看出,不同環境條件下本文方法均可以正確檢測出作物與雜草對象,但標準SSD模型存在漏檢和類別預測錯誤的情況(圖7a、圖9a)。此外,本文算法對于大多數目標對象的預測置信度高于標準SSD模型,預測邊框能夠準確覆蓋目標對象投影區域,沒有出現邊框過大包含較多背景或者邊框過小導致部分目標區域沒有被包括的情況。試驗表明在復雜環境下本文算法對檢測目標具有更強的特征提取能力和更準確的位置預測性能。

圖5 晴天棕色土壤4葉期玉米識別檢測Fig.5 Identification results of maize with four leaves under brown soil back ground on sunny day

圖6 陰天灰色土壤6葉期玉米識別檢測Fig.6 Identification results of maize with six leaves under gray soil back ground on cloudy day

圖7 高密度雜草(藜)環境識別檢測Fig.7 Identification results under high density weed condition

圖8 成株期田旋花識別檢測Fig.8 Identification results of convolvulus in maturation period

圖9 幼苗期打碗花識別檢測Fig.9 Identification results of bowl flower in seedling period
自然農業環境中,作物與雜草葉片分散生長,植株位置具有隨機性,當生長位置距離較近時會出現葉片交疊遮擋的情況,要對不同類別對象進行準確識別定位是目前作物與雜草檢測研究中的一個難點。此外,雜草生長階段具有多樣性,存在萌芽期、幼苗期、成株期共存的情況,對于小尺寸萌芽期雜草準確識別是提高自動化除草作業質量的一個重要保證。實際上葉片交疊與小尺寸目標均會減少檢測對象的有效識別面積,兩者對于識別模型特征提取所產生的困難具有相似性。圖10、11為2種檢測模型對于葉片交疊情況的識別效果,可以看出本文模型能夠準確檢測定位出作物和雜草信息,而標準SSD模型則存在將2株作物預測為1株以及雜草沒有被檢測到的情況。圖12為小尺寸雜草檢測對比結果,與本文模型相比,標準SSD模型存在2個萌芽期雜草沒有識別出的情況。通過試驗結果可以得出,相比于標準SSD模型,本文模型采用不同分類特征層信息融合機制使淺層特征圖的高級語義信息豐富程度增加,具有更強的多尺度識別能力,對小尺寸目標和葉片交疊情況下的作物與雜草檢測具有良好的泛化能力和魯棒性。

圖10 玉米葉片交疊檢測對比Fig.10 Identification results of maize with leaves overlapping

圖11 玉米與雜草葉片交疊檢測對比Fig.11 Identification results of maize and weed with leaves overlapping

圖12 小尺寸雜草(刺菜)識別檢測對比Fig.12 Identification results of weed in germination period
(1)利用深度可分離卷積與SENet模塊相結合設計了輕量化特征提取單元,通過對各特征提取單元以前饋方式進行密集化網絡連接,構成輕量前置網絡,有效降低了深度學習檢測模型復雜程度,并提高了特征提取精度,與標準SSD模型相比,檢測精度提高了2.66個百分點,檢測速度提高了33.86%,參數規模降低了66.21%。
(2)引入逆卷積運算將SSD模型深層語義信息與淺層細節信息進行融合,融合后的高分辨率淺層特征圖具有豐富的語義信息與更強的擬合能力,有效提高了對小尺寸作物雜草以及葉片交疊情況的檢測能力。