鄧泓,楊瀅婷, 2,劉兆朋,劉木華,陳雄飛,劉鑫
(1. 江西農業大學軟件學院,南昌市,330045; 2. 江西省現代農業裝備重點實驗室,南昌市,330045;3. 江西農業大學工學院,南昌市,330045)
獲取準確的水田信息是開展精準農業實踐的重要基礎,對指導智能農機實施田間自主作業及準確測算農田面積等十分重要[1-3]。當前,水田信息獲取主要通過人工攜帶專門設備到田塊邊界特征點進行位置數據采集,該方式工作效率低、時效性差。面向區域性、大面積場景下的水田信息獲取,亟需一種快速、準確的獲取方法。近年來,隨著無人機產業的迅速發展,因其可通過掛接高分辨率相機實現較大區域圖像信息的快速獲取[4-6],已成為區域性土地覆蓋劃分[7]、農作物識別與分類[8]和地塊邊界提取及面積測算[9]等研究中圖像采集的重要手段。
在圖像分割領域中,將邊界與其他區域區分開是關鍵,目前的主流方法有面向對象的圖像分割算法和基于深度學習的語義分割算法兩大類[10-11]。面向對象的圖像分割算法是基于邊界區域與其他區域的顏色差異進行分割,應用在作物行檢測[12]、田間道路檢測[13]和地塊邊界檢測[14]等方面獲得了較好效果,但對光照變化敏感。為降低光照對圖像分割的干擾,研究人員通過分析圖像顏色在值域、空間域和頻域的差異,研究了通過增強農作物顏色特征[15]、轉換顏色空間[16]和提取光照不變特征[17]等方法增強邊界特征,提高了光照適用性及準確性。
面向對象的圖像分割算法有著嚴格的模型和知識融合步驟,相比而言,基于深度學習的圖像語義分割算法是以邊界特征數據集為輸入的網絡訓練模型,通過將神經網絡與概率模型相結合,能夠在更廣泛環境的數據集中獲得更豐富的特征分類推理能力,具有更好的環境適應性和抗干擾能力[18-20]。近年來,基于全卷積神經網絡框架的DeepLabv3+模型在Pascal VOC 2012通用圖像數據集測試中表現優異,成為當前最為成熟的語義分割模型之一[21]。但在應用中,與通用圖像數據集相比,實際場景圖像存在圖像類間差異小、類內差異大和噪聲大等特點,直接應用DeepLabv3+模型不能獲得高精度的分割結果,需要結合圖像結構特點改進原有網絡結構[22]。一些研究人員將此應用于無人機農田圖像,通過改進的語義分割模型實現了田間農作物[23]、地膜和溫室大棚[24]等對象的識別和分類,精度指標顯著優于傳統的圖像分割算法。
因此,為準確獲取水田信息,本文提出一種基于改進DeepLabv3+模型的無人機水田圖像語義分割方法。在采集無人機水田圖像和分析水田形態多樣性與復雜性基礎上,通過調整DeepLabv3+編碼器和解碼器結構融合更多淺層特征并采用深度可分離卷積解耦圖像深度信息及空間信息,獲得改進網絡結構的DeepLabv3+模型,最后通過數據集訓練模型并與原有模型及常用語義分割模型分割結果對比,驗證本文改進模型的有效性。
本研究選用大疆精靈4-RTK專業版無人機進行水田圖像采集,其主要性能參數為:搭載3軸云臺,角度抖動量±0.02°,相機鏡頭FOV84°,8.8 mm/24 mm(35 mm格式等效),光圈f/2.8~f/11,照片格式JPEG。為獲取不同水田結構的圖像數據集,本研究在2020年6—7月,分別于江西省南昌市成新農場采集標準化水田圖像300幅,于江西省南昌市新建縣珂里村采集非標準化水田圖像600幅,如圖1所示。采集時間段為7:00~9:00、16:00~18:00之間,天氣陰、晴各有,設置相機鏡頭-90°俯仰角正拍,飛行離地高度60~70 m。
(a) 標準化水田
(b) 非標準化水田圖1 無人機水田圖像樣本示例Fig. 1 Aerial image of paddy field
為擴大數據集以減輕模型的過擬合并增強模型的泛化能力,采用數據增強方法對900幅圖像隨機水平、垂直鏡像和隨機裁剪、縮放、旋轉及噪聲添加,將水田圖像擴充至6 000幅。根據DeepLabv3+語義分割模型對輸入數據的格式要求將田塊區域命名為“field”,利用Labelme標注工具對圖像樣本進行標簽制作并采用人工目視打點方法對水田邊界進行像素級標注。為滿足本研究模型訓練、參數調優和相關的評估要求,參考POSCAL VOC 2012數據集格式制作樣本標簽,并隨機選取90%(5 400幅)圖像作為訓練集,其余10%(600幅)作為測試集。
對原始圖像實施降噪預處理可提高模型的分割準確度[25]。在本研究中,插秧前后水田泥層高低不平、積水深淺不一且附著物多樣,無人機水田圖像噪聲較大會影響水田分割精度。為消減噪聲而不消損邊界特征信息,本文采用去噪保邊性能良好的雙邊濾波器[26],其表達式為
(1)
式中: (i,j)——圖像某區域的中心坐標;
S(i,j)——以(i,j)為中心的(2N+1)(2N+1)大小的鄰域;
N——雙邊濾波器邊長;
f(k,l)——S(i,j)區域內坐標(k,l)處的像素值;
w(i,j,k,l)——坐標(k,l)處像素值的權重系數,是關于空間域信息和像素域信息的函數;
g(i,j)——濾波后的中心點像素值。
其中,權重系數w(i,j,k,l)是空間臨近因子d(i,j,k,l)和灰度相似度因子r(i,j,k,l)的乘積,分別是S(i,j)區域內各點相對中心點(i,j)的空間距離及像素差值的函數,表達式如式(2)所示。
w(i,j,k,l)=d(i,j,k,l)·r(i,j,k,l)
(2)
(3)
(4)
式中:σd——空間域標準差;
σr——值域標準差,是雙邊濾波器的重要調試參數。
在本研究中,由于插秧前后不同水田的地塊環境相似,無人機采樣高度在60~70 m較小變動范圍,這決定了本研究中雙邊濾波器的最優參數應處于較小范圍。為確保水田邊界、邊壟信息能更好地被保留,本文將水田壟寬在圖像中所占像素個數的1/3確定雙邊濾波器邊長,即N=30;在此基礎上,在OpenCV雙邊濾波模塊上通過對比不同σd和σr參數組合的濾波效果優選了數值,結果顯示當σd=10、σr=30時,雙邊濾波去噪保邊效果較好。由于本文水田數據集為高分辨率圖像,濾波后效果需圖像放大后觀察,在本文中截取了代表性較強的局部特征區域進行展示,如圖2所示。
(a) 裁剪圖像
(b) 雙邊濾波去噪圖像圖2 水田圖像去噪處理對比Fig. 2 Comparison of paddy field image after denoising
DeepLabv3+是語義分割領域中典型的網絡模型之一,由Encoder-Decoder架構組成,如圖3所示。其中,Encoder模塊主要完成對多種采樣率和多個感受野的濾波和池化,探查傳入特征并對多尺度的上下文信息進行編碼;Decoder模塊主要通過逐漸恢復特征空間信息,實現更清晰的對象邊界捕獲。工作過程可描述為:在Encoder部分,原始圖像首先經過Xception主干網絡提取特征圖輸入ASPP架構,隨后分別以采樣率為1、6、12、18的并行空洞卷積提取多尺度特征空間信息,之后進行1×1卷積通道融合。在Decoder部分,一方面引入Xception中降采樣系數為1/4的淺層特征圖,另一方面將ASPP架構中融合后的多尺度特征信息進行4倍雙線性插值上采樣,然后將兩方面信息通過3×3卷積和4倍上采樣返回獲得與原始輸入圖像尺寸相同的分割掩碼圖,即語義分割結果。
圖3 Deeplabv3+模型框架圖Fig. 3 Framework diagram of DeepLabv3+
將本文水田數據集輸入DeepLabv3+模型進行圖像分割,結果如圖4所示。
(a) 標準化水田
(b) 非標準化水田圖4 DeepLabv3+分割結果Fig. 4 DeepLabv3+ model segmentation results
從圖4可以看出該模型能夠較好地獲取水田塊區域,但在田塊邊界存在模糊分割、在水田局部區域存在不完全分割問題。結合原始模型中各模塊功能和水田圖像形態特征進行分析,認為在ASPP模塊中,原始采樣率較大而水田邊壟細窄,在多尺度特征提取過程中丟失了邊界信息;在水田圖像結構上,周邊環境復雜、光照反射不均、田間雜草和車轍印雜亂,在原始Encoder中表現為淺層信息融合不充分,造成田塊局部區域分割不完全。為此,本文對以上兩個方面提出了改進。
改進后的DeepLabv3+網絡結構如圖5所示。
2.2.1 ASPP模塊調整
DeepLabv3+網絡模型中ASPP模塊由擴張率分別為1、6、12、18的3×3空洞卷積以及全局平均池化層并行組成,由于本文無人機高分辨率數據集中不同地物間尺度變化較小,過大的擴張率無法有效地提取小尺度地物特征,同時也不能準確地捕獲大尺度目標局部特征間的聯系。因此,本文將并行空洞卷積采樣率降低為1、2、6、10進行空間金字塔平均池化以提取高分辨率水田圖像的多尺度特征空間信息,獲取細窄邊壟特征信息。
圖5 改進后的DeepLabv3+模型框架圖Fig. 5 Framework diagram of improved DeepLabv3+
2.2.2 Decoder模塊
由于DeepLabv3+網絡中解碼部分未充分利用編碼模塊不同階段的輸出特征信息,因此本文對骨干網絡中輸出的1/4和1/8大小的特征圖以及ASPP模塊生成的特征圖進行特征融合。以1/4大小特征圖為基準,將1/8大小的特征圖進行2倍雙線性插值上采樣,對ASPP模塊生成的特征圖進行4倍上采樣。將得到的3個尺寸和通道數都相同的特征圖以等比例系數進行融合得到輸出結果。然后,將結果特征圖采用深度可分離卷積[27]進行處理,以減少田塊細窄邊壟特征在上采樣過程中的信息丟失問題。最后通過4倍上采樣完成解碼過程,輸出語義分割結果。
深度可分離卷積過程如圖6所示,輸入特征首先通過逐個通道獨立執行3×3卷積使各通道分離,隨后進行1×1逐點卷積,之后在深度方向上通過對多個特征圖進行加權實現圖像深度信息與空間信息分開映射和通道間相關性與空間相關性解耦,以減少上采樣過程中的信息損失。
圖6 深度可分離卷積過程示意圖Fig. 6 Schematic diagram of depthwise separable convolution
在改進DeepLabv3+模型的訓練中,平臺系統為Ubuntu 16.04,框架為Tensorflow-gpu 1.13.1,編程環境為Python 3.7,顯卡為NVIDIA GTX 2080(顯存16 G)。采用動量為0.9的隨機梯度下降算法進行參數優化,設置網絡模型初始學習率為0.001,權重衰減系數為0.000 4,學習策略選用“poly”;以2幅圖像為一個批次進行100次完整迭代,并使用交叉熵損失函數作為分割模型的損失函數。
為量化分析改進DeepLabv3+模型在水田圖像數據集的分割性能,本文選用平均交并比MIoU、像素準確率PA作為模型分割性能的評判標準。其中MIoU為語義分割的標準度量值,表示的是圖像真實值和預測值兩個集合之間交集和并集的比例,其計算公式為
(5)
式中:k+1——類別數,包含背景類(其中k=1,表示水田類);
pii——預測類i正確的像素數量;
pij——被預測為類i的像素數量;
pji——錯誤正例和錯誤負例。
PA表示正確分類的像素數量與總像素數量的比值,其計算公式為
(6)
式中:TP——正確分割水田內區域的像素數量;
FP——錯誤分割為水田內區域的背景像素數量。
將原始未處理圖像、雙邊濾波去噪圖像和DeepLabv3+網絡、改進DeepLabv3+網絡進行分別組合,形成4種處理方法并進行試驗,結果對比如表1所示。從表1可以看出,本文方法(雙邊濾波去噪圖像+改進網絡)的PA和MIoU值分別為96.04%和85.90%,優于其他組合方法,與方法1相比分別提升了2.09%和4.66%;本文方法的單張圖片預測時間為0.125 s,與其他組合方法相比均有不同程度提升。結果顯示,采用雙邊濾波去噪方法和減小ASPP采樣率組合、改進Decoder模塊均不同程度地提升了分割效率和分割準確度,部分分割結果如圖7所示。
表1 不同處理方法結果對比Tab. 1 Comparison of results with different methods
(a) 原始圖像
(b) 標記圖像
(c) 方法1分割
(d) 本文算法分割圖7 部分語義分割結果Fig. 7 Results of partial semantic segmentation
為進一步驗證本文所提網絡模型對水田區域的分割性能,將已有的PSPNet[28]、SegNet[29]和UNet[30]3種典型語義分割網絡模型相比較,獲得分割效果如圖8所示,不同模型分割結果見表2。
由圖8可以看出,本文方法相比UNet模型能夠更完整地分割水田區域,相比SegNet模型能夠獲得完整水田區域和連續邊界,相比PSPNet模型能獲得完整水田區域和準確的田塊邊界。由表2可以看出,與UNet、SegNet和PSPNet語義分割模型相比,本文方法的PA值依次提高了1.88%、2.15%和3.13%,MIoU值依次提高了4.03%、4.83%和6.21%。在預測時間上,本文方法相比于PSPNet和UNet模型分別提高了0.021 s和0.195 s,但與SegNet模型相比預測時間較長。綜上所述,本文方法具有較高的分割效率和分割準確率。
盡管本文提出的方法相比于其他常用方法取得了較好的效果,但是試驗中也出現了一些分割不準確的情況,主要表現為田塊邊界斷裂、錯誤分割和分割不完全等情況,如圖9所示。
(a) 原始圖像
(b) PSPNet結果
(c) SegNet結果
(d) UNet結果
(e) 本文算法結果圖8 不同分割算法對比結果Fig. 8 Comparison of different segmentation algorithms
表2 不同模型分割結果對比Tab. 2 Comparison of different algorithms segmentation results
(a) 原始圖像
(b) 標記圖像
(c) 本文算法結果圖9 低質量的模型分割結果Fig. 9 Segmentation results of proposed model with low quality
通過圖9可以發現,田塊邊界斷裂區域出現在極為細窄的田壟區域,錯誤分割現象出現在非水田的水溝區域,分割不完全現象出現在水田區域內部較集中的雜草區域。進一步分析認為,本文無人機拍攝高度在60~70 m,而細窄田壟僅0.3 m左右,拍攝高度與田壟寬度比例過大造成田壟所占像素低于特征提取網絡卷積核大小,是導致細窄田壟邊界斷裂的主要原因,另外本文采用的雙邊濾波去噪也有可能造成細窄田壟邊界的特征損失。對于非水田區域的水溝處出現的錯誤分割現象,分析認為其顏色和紋理與水田區域相近,本文網絡對其進行了無區別有效分割。對于田間較集中雜草區域分割不完全現象,分析認為其構成的孤島其所占像素個數超過了特征提取網絡的卷積核大小,本文網絡對其也進行了有效分割。
本文通過無人機采集水田區域圖像,針對水田環境復雜性和田塊形態多樣性導致的分割準確度較低的問題,提出了一種基于改進DeepLabv3+模型的無人機水田圖像分割方法。首先在圖像預處理部分采用雙邊濾波去噪,然后在DeepLabv3+網絡結構部分通過減小ASPP采樣率組合和改進Decoder模塊獲得改進模型,最后通過試驗得到改進模型的性能指標值。結果表明,本文方法在田塊內部區域、田壟邊界等細節部分能夠獲得較高的語義分割準確性,水田邊界輪廓更趨完整。
1) 本文改進模型分割結果的PA和MIoU值分別為96.04%和85.90%,相比于原始模型分別提升了2.09%和4.66%;與PSPNet、SegNet和UNet等典型語義分割網絡模型相比較,分割指標均有明顯提高。
2) 采用雙邊濾波預處理方法進行圖像去噪能夠提升水田圖像的分割準確度,幅度在0.73%左右,但可能會導致特別細窄田壟的邊界特征損失,表現為分割斷裂。
3) 采用無人機圖像實現高精度的水田區域分割,為高效獲取農田邊界定位信息和構建大區域農田地圖提供了重要基礎。但由于田間環境復雜,本文方法對非水田小水域和田內強干擾等場景還存在分割不準確情況,數據集場景結構還需進一步完善,算法還需要進一步優化。