朱逸航, 張延寧, 張小敏, 林洋洋, 耿金鳳, 應義斌, 饒秀勤*
(1.浙江大學 生物系統工程與食品科學學院,浙江 杭州 310058; 2.農業農村部農產品產地處理裝備重點實驗室,浙江 杭州 310058;3.棗莊學院機電工程學院,山東 棗莊 277101; 4.新多集團有限公司,浙江 永康 321300)
農機在田間作業時的道路識別與導航控制是我國農業從機械化向智能化發展過程中不可或缺的一部分[1],目前智能農機在田間的路徑導航以使用衛星定位系統導航以及機器視覺導航為主[2]。目前基于衛星定位系統的導航技術精度有限,適用于農機行走路徑確定、行走方式以直線為主的場景,以大田路徑規劃為主[3]。而在棉花田中實際作業時,存在種植行間距窄、作物實際種植行并不完全是直線等情況,以及田間先遣路徑難以保持穩定等問題,因此,智能農機的導航需要在實際情況下進行調整[4-6]。
基于機器視覺的導航可以較好地解決此問題,對棉花壟間路徑進行識別,為智能作業機械提供導航信息。但目前基于機器視覺的導航方案依舊面臨田間光照環境變化和非結構化道路自身特征過于復雜的挑戰[7-10]。同時基于視覺的導航方案主要任務是對行進中農機的路徑進行實時調整,而圖像數據有信息量大、計算設備處理較慢的固有特征,所以實時性也是機器視覺導航方案的另一大挑戰[11-12]。
近年來,深度學習在機器視覺領域發展迅速[13],其中的卷積神經網絡算法更是被廣泛應用于各類農業的視覺任務場景[14],并取得較好的效果。在常規道路識別方面,卷積神經網絡已被廣泛應用于結構化道路下的汽車自動駕駛[15]。同時,使用基于深度學習的機器視覺技術可以避免因人為選擇圖像特征而產生的局限性[9],使視覺算法擁有更好的魯棒性和精確性。
基于深度學習算法的非結構化道路識別領域,宋廣虎等[16]使用FCN在葡萄種植園中實現準確導航檢測行間道路,李云伍等[17]使用FCN實現丘陵山區田間道路場景像素級的預測,Lin等[11]在FCN的基礎上提出Enet對茶葉種植場景進行語義分割,得到茶行輪廓,為騎式采茶機的茶葉采收提供實時導航。
本文采用卷積神經網絡對單目相機采集的田間道路圖像數據進行分割,獲取棉花壟間的主要道路。本監測使用自然光照下拍攝的棉花行間道路圖像,對2種主流的分割網絡FCN[18]和Unet[19]分別進行語義分割試驗和性能對比,并對Unet網絡進行了優化,降低深度學習算法的資源消耗,為其在嵌入式設備的部署提供支持。
1.1 試驗數據集構建
本文使用VisionDatum公司的Mars2000-50gc相機在安徽省安慶市望江縣棉花試驗田采集試驗圖像數據,采集時相機安裝于移動平臺上,在移動平臺移動時不斷對當前的棉花壟間狀態進行采集。本試驗共選取800幅分辨率為1 900×1 180像素的圖片進行標注,并生成數據集。圖1展現了數據集中所包含的多種場景,包括光照的變化、圖片成像模糊、道路上有較多陰影、作物高密度生長遮擋壟間道路等,這些場景對于模型的魯棒性提出較高的要求。

圖1 環境復雜的棉花壟間道路

圖2 數據標注
1.2 數據增強
本文所構建的數據集較小,為提高模型的魯棒性,本文在模型訓練過程中采用隨機旋轉90°、隨機進行水平或者垂直翻轉和隨機調整圖像色相飽和度(HSV)的方法進行數據增強。如圖3所示,在每次迭代訓練進行讀取圖片數據時,圖像都會有50%的概率發生上述步驟的變化。在色相飽和度中,色調(H)的變化在20°以內,飽和度(S)的變化在30%以內,明度V的變化在20%以內。

圖3 數據增強的流程
隨機旋轉和翻轉圖像為數據集中壟間道路的方向增加了多樣性,而對于圖片色相飽和度的隨機調整則為模型適應不同的光照環境提供了進一步的保障。
1.3 語義分割
語義分割時對于圖像進行像素級的分類。輸入圖片在通過深度神經網絡處理時會被卷積層和池化層編碼[20]。編碼器的輸出經過解碼器進行解碼,生成輸出圖像。解碼器由雙線性差值進行上采樣確保輸出圖像大小與輸入圖像相同,并提供了每個像素的預測類別。
本文選擇VGG16[21]作為全卷積網絡FCN和U-net的編碼器主干。VGG16由13個卷積層和3個全連接層構成。其通過5次最大池化下采樣32倍來獲取不同尺度的特征。
碑帖學屬于書法史范疇,是具有學科交叉性的課題,需要史學理論和書法藝術素養兼備的人才。目前在碑帖學的研究人員中,有影響的多是具有書法、美術素養的學者,如曹建、金丹等,他們的研究范圍廣泛且提出了許多新的觀點,值得思考。但應注意的是,對于碑帖學的相關課題研究需要有一定的歷史理論作指導,所以培養具有歷史理論基礎的書法史人才迫在眉睫。
當使用FCN進行像素級分類時,VGG16需要被調整為端到端模型,其全連接層需要被改為W/32×H/32卷積層,當輸入圖像像素為96×96時,編碼器的輸出特征映射為3×3×4 096像素。在FCN的解碼器部分,VGG16輸出的Conv7被反卷積上采樣32倍,上采樣的輸出為每個像素的分類,與原圖分辨率一致。模型下采樣次數越多,就能檢測到更多不同的尺度。但在FCN網絡結構中,不同尺度的特征之間的聯系有限,而Unet網絡是針對醫學圖像分析中數據量少、邊際模糊及灰度范圍大等問題而提出的[22]。Unet網絡通過跳躍連接,將網絡下采樣時的高分辨率信息與上采樣時的低分辨率信息通過特征疊加的方式進行整合,改善網絡上采樣信息不足的現狀,可提高圖像的分割精度(圖4)。

圖4 Unet網絡的架構
考慮到農機導航對實時性提出了較高的要求,對Unet的網絡主干進行剪枝壓縮,縮小模型尺度,為實時性提供更大的保障,提出Half-Unet和Quarter-Unet兩種新的訓練模型。本文采取的模型剪枝策略是縮減VGG16主干中的卷積核數量,進而縮減前向傳遞過程中的特征圖數量,用較少的特征圖來保留更多的信息,具體數量如表1所式。

表1 Unet模型剪枝
2.1 試驗平臺
試驗所用平臺為運算服務器,處理器為Intel(R)Xeon(R)Gold 6147M,基準頻率為2.50 GHz,內存為256 GB,圖形處理器(GPU)為NVIDIA TITAN RTX,操作系統為Ubuntu 18.04.1。
2.2 模型訓練
本文使用pytorch深度學習框架實現了基于VGG16主干的FCN和UNet網絡,以及基于UNet網絡的改進模型,并通過預先劃分的640幅圖像的訓練集和160幅圖像的驗證集對模型進行訓練與驗證。
本文的訓練網絡所采用的超參數。迭代次數(Epochs)為100次,最小批處理大小(MiniBatch Size)為32,并采用學習率衰減訓練策略中的學習率調整策略,分別在0~4、4~30、31~70、71~100次迭代過程中,采取0.1、0.01、0.001、0.000 1的學習率。
本文在訓練過程中使用BCEDiceLoss作為損失函數,該損失函數是二分類交叉熵損失(Binary Cross EntropyLoss)BCELoss和DiceLoss的組合,損失函數公式如下:
(1)
(2)
(3)
BCEDiceLoss=0.5×BCELoss+DiceLoss。
(4)

BCELoss從像素級別上考察分類的效果,而DiceLoss是從整張圖片的全局出發對分類效果進行考察。本文對于棉花壟間道路的識別更注重于全局判斷的準確性,所以在BCEDiceLoss的計算中,賦予DiceLoss更高的權重。訓練過程中FCN模型及U-Net模型的損失函數值曲線見圖5。

圖5 FCN與Unet的損失函數曲線
由圖5可以看出,在迭代次數到達30次左右時,2種模型的驗證集損失函數都逐漸趨于穩定,但訓練集損失函數值還在繼續下降,且與驗證集的損失函數值逐漸拉開差距,說明模型訓練到后期可能出現過擬合的現象。本文訓練數據集相對較小,在模型過于復雜的情況容易發生過擬合,因此,對模型進行剪枝可以在有效降低模型復雜度的情況下,降低模型過擬合的程度。實現在基本不損害模型精度的情況下,提高模型的效率。
2.3 評價指標
在語義分割任務中,評價指標一般從運算速度、內存占用和精度3個方面進行考量。運算速度說明模型在部署后的實時性水平,內存占用說明模型在資源有限的嵌入式設備上部署的可行性。本文采取平均交并比對MIoU進行精度估算。
本文的運算速度采取每秒處理幀數(FPS)來表示。為了模擬智能農機工作場景中的嵌入式環境,本文限制了部署模型的運算算力,算力資源限制為Intel(R)Xeon(R)Gold 6147M,基準頻率為2.50 GHz CPU的單一核心。內存占用是算法在運行時實際占用計算機內存資源的數值。
平均交并比(Mean IoU)是在語義分割任務中的一種標準度量,計算真實值與預測值2個集合的交集和并集之比,其公式如下:

(5)
式中,pii表示真實值為i且被預測為i的數量,為真值數量;pij表示真實值為i,被預測為j的數量,是假正的數量;pji表示真實值為j,被預測為i的數量,是假負的數量;k+1表示包含空類的類別數量,本研究k=1。
2.4 試驗結果分析
由基礎模型Unet與FCN性能對比可知(表2),Unet網絡的性能在精度、運算速度、內存占用3個方面較FCN具有一定的優勢,故將Unet選作基準模型進行后續的剪枝與優化。

表2 模型性能對比
本文首先對于Unet進行剪枝,設計了Half-Unet,Half-Unet的卷積核數量為Unet網絡的一半。Half-Unet的MIoU為0.793,與Unet相當,但內存占用量為Unet的42.6%,處理速度高29.3%。
本文在Half-Unet的基礎上做進一步剪枝,設計了Quarter-Unet,使其卷積核數量為Unet網絡的25%,其MIoU相較于Unet下降0.014,但仍比FCN高0.018。Quarter-Unet在基本保障精度的前提下,其運算速度和內存占用具有絕對的優勢。單核CPU計算下達到19.14FPS,較Unet高55%,在普通嵌入式設備的環境下可達到實時運算水平。Quarter-Unet的內存占用為19.44 MB,為Unet內存占用量的19.5%。
道路分割的實際效果如圖6所示。各模型的分割精度指標MIoU的水平差異不明顯,且模型在完成道路識別的任務時,與實際識別效果基本相似。因此,計算速度最快、占用存儲資源最少的Quarter-Unet模型相比于其他模型擁有更大的應用價值。

圖6 棉花壟間道路識別效果對比
本文提出了一種基于深度學習語義分割的棉花壟間道路識別的方法,實現了在田間自然光照及作物遮擋道路條件下棉花壟間道路的有效識別。比較了深度學習語義分割模型FCN和Unet自動識別棉花壟間道路的性能,發現了Unet模型識別棉花壟間道路精度更高,且處理時間更短。對Unet模型的VGG16主干進行優化,建立了Half-Unet和Quarter-Unet識別模型。試驗結果表明,在MioU相當的情況下,Quarter-Unet模型的內存量僅為Unet的19.5%,而處理速度較其高55%,這為后續研發棉花田間智能農機導航設備提供了技術基礎,也為其他作物壟間道路的識別與導航提供了技術思路。