王 輝 韓娜娜 呂程序 毛文華 李沐桐 李 林
(1.中國農業機械化科學研究院土壤植物機器系統技術國家重點實驗室,北京 100083;2.廣東省現代農業裝備研究所,廣州 510630;3.江蘇大學農業工程學院,鎮江 212013)
精準管理是現代果業發展的必然趨勢,其關鍵在于根據果園的果樹個體差異,定位、定時、定量開展農事作業。冠層尺寸或三維體積是精準管理中非常重要的參數,可為對靶噴藥、病蟲害防護、作物長勢識別與預估等提供重要依據,對管控化學藥品過量投入、高效利用農業資源、提高果園生產效益具有重要意義[1]。
我國大多數果園處于非標準化經營狀態,同一果園中果樹的冠形、間距、樹齡、樹高等均不相同[2],果園地形多變、種植密度不確定,這些都增加了在復雜果園背景中快速識別并分割單株果樹冠層的難度。目前,果樹樹冠識別與分割包括超聲波[3-4]、激光雷達[5-6]、多光譜[7-8]、機器視覺和圖像處理[9-10]等方法。雖然這些方法可精準識別分割單株樹冠,但是超聲波的識別結果易受到地形的影響,激光雷達和多光譜方法的硬件成本較高,因此一些學者嘗試利用低成本的機器視覺和圖像處理方法來進行果樹樹冠的識別和分割。傳統圖像處理方法分割復雜果園背景中目標的識別精度不能滿足精準果園作業需求,研究表明,深度學習方法可高精度識別果園復雜環境中的樹枝和果實[11-15]。但目前對單株果樹冠層相關分割方法的研究較少。
Mask R-CNN是文獻[16]提出的對復雜背景中目標進行檢測與分割的卷積神經網絡模型,該模型采用特征金字塔網絡(Feature pyramid networks, FPN)[17]與Anchor技術優化不同尺度目標的檢測效果,并結合全卷積網絡(Fully convolutional networks, FCN)[18],從而實現目標的精準分割。Mask R-CNN是先由區域推薦網絡產生興趣區域,而后進行對象檢測和分割的兩步探測器。該方法檢測準確率高、分割速度快,在復雜果園環境下具有準確檢測目標樹冠、精準分割冠層的潛力。
本文構建單株樹冠的Mask R-CNN識別與分割模型,并從預測準確率、精確率、召回率、平均精度、擴展性等方面對模型進行評估,分析影響模型性能的關鍵因素,提出模型改進及應用建議,以期實現柑橘單株樹冠的精準識別。
本文設計的圖像采集平臺如圖1a所示,將ZED stereo(Stereolabs)相機搭載在手推車上,離地高度為80 cm,與地面平行,采集的圖像存儲于計算機中。相機參數為視頻模式720P、60 f/s、單目分辨率1 280像素×720像素、深度范圍0.5~20 m,計算機配置為Windows 10、CORE i7、8 GB內存、NVIDIA GeForce 940MX。圖像采集于廣東省廣州市從化區和江門市新會區2個柑橘種植園,采集時間為2019年11月,采集距離保持在90~130 cm,采集天氣晴朗,采集場景如圖1b所示。廣州市從化區的柑橘品種為玫瑰柑,果園地形為丘陵,樹形為自然圓頭形;江門市新會區柑橘品種為新會柑,果園地形為坡地,樹形為自然開心形。
從化區果園(果園1)地形復雜、雜草茂密,單株樹冠識別難度較大,共采集柑橘圖像1 700幅,構建了數據集D1,其中1 200幅圖像用于模型訓練,200幅用于模型驗證,300 幅用于模型測試。為了測試模型的適應性,在新會區果園(果園2)采集了柑橘圖像500幅,構建了數據集D2,只用于模型測試,未參與模型訓練。為了對比數據集參與建模與未參與建模對識別結果的影響,構建了數據集D3,訓練集1 400幅圖像,包含果園1圖像1 200幅、果園2圖像200幅;驗證集只包含果園1圖像200幅;測試集只包含果園2圖像300幅。數據集結構如表1所示。

表1 數據集結構
柑橘圖像采用 LabelMe[19]進行人工手動標注,生成json標簽文件。本文主要針對當前作業的柑橘樹冠(目標樹冠)進行識別分割,因此在標簽制作時只考慮將柑橘圖像分為目標樹冠與背景兩類,只需標注目標樹冠即可,圖像其他部分LabelMe自動標注為背景。標記結果如圖2所示。
基于Mask R-CNN的柑橘樹冠識別與分割算法主要由兩部分組成:①利用Mask R-CNN網絡識別分割圖像中的樹冠;由于單株樹冠背景復雜,圖像中不止一株樹冠,模型可能會識別出多株樹冠。②過濾多余的非目標樹冠,計算每株樹冠的面積,面積最大的樹冠即為目標樹冠。算法流程如圖3所示。
1.3.1Mask R-CNN網絡
Mask R-CNN由特征提取網絡、區域推薦網絡(Region proposal network, RPN)、感興趣對齊層(RoIAlign)、目標檢測和分割4部分組成。將采集的柑橘園圖像數據,首先利用卷積神經網絡提取特征,然后RPN推薦可能存在目標的候選框(Region of interest, RoI),RoIAlign將RoI映射成固定尺寸的特征圖,特征圖通過檢測分支的全連接層進行分類和邊界框回歸,通過分割分支的FCN進行上采樣得到分割圖。
特征提取網絡利用卷積神經網絡進行單株樹冠特征提取和組合。特征提取選用ResNet101[20-21],特征深度分為5個階段,得到特征圖C1~C5,并輸入特征組合階段。特征組合選用FPN,特征C1~C5組合生成特征圖P2~P6。組合方式如圖4所示。
RPN利用Anchor技術在P2~P6每層中產生不同尺度和長寬比的多個RoI,輸出每個RoI的目標與背景的置信度、邊界框的4個坐標修正值,完成一次邊界框修正。根據置信度和非極大值抑制算法(Non-maximum suppression, NMS)[22]選出較為精準的RoI輸入到RoIAlign。
RoIAlign主要作用是將特征圖中的RoI池化為固定尺寸的特征圖。RoIAlign將RoI劃分為7×7個單元,每個單元的像素由原圖四周真實像素利用雙線性插值計算該點像素。整個過程中沒有用到量化操作,原圖像素和特征圖像素是完全對齊的,與Faster R-CNN[23]中的RoIPooling相比,避免了兩次量化導致RoI與原位置產生偏差,提高了目標檢測和分割準確率。
目標檢測與分割是對RoIAlign輸出的固定尺寸的特征圖進行分類、回歸和分割。檢測分支產生每個RoI的類別和邊界框坐標信息;分割分支針對每個RoI產生K個分辨率為m×m的二值掩膜,K為分類物體的種類數目。Mask R-CNN損失函數Lloss表示為
Lloss=Lcls+Lbox+Lmask
(1)
式中,Lcls為分類損失值,Lbox為邊界框回歸損失值,Lmask為分割損失值,只計算分類結果所屬類的損失。
1.3.2模型訓練
試驗平臺操作系統為Ubuntu 19.04,GPU型號為GTX 1060、運行內存為8 GB,顯存容量為6 GB。本文所有模型訓練及測試都在此環境下運行。采用隨機梯度下降(Stochastic gradient descent, SGD)訓練Mask R-CNN模型(數據集為D1),模型訓練具體流程如下:①加載訓練集和驗證集圖像數據,建立原圖像和標簽的對應關系。②修改模型配置參數,包括圖像分類數目、圖像輸入尺寸、RPN的Anchor尺度、學習率、步長等參數。③加載Microsoft COCO數據集預訓練模型。④設置迭代次數,訓練模型并利用驗證集驗證模型的損失值。⑤根據訓練集和驗證集損失值,重復步驟②~④,得到最優模型。⑥利用最優模型對測試集中的柑橘樹冠進行預測,計算樹冠的面積,過濾非目標樹冠。⑦根據目標樹冠計算評價指標,評估模型性能。
最優模型的參數設置為:學習率為0.001、權重衰減率為0.000 1、動量值為0.9、IoU為0.7、迭代輪數為100(每輪100次),RPN的Anchor尺度為48、96、192、384、768。
為了研究預測樹冠與標注樹冠之間的匹配程度,采用準確率(Accuracy,A)、精確率(Precision,P)、召回率(Recall,R)、調和平均數(F1score)作為評價指標[24],計算公式為
(2)
(3)
(4)
(5)
式中Tc——圖像中預測樹冠與標注樹冠匹配像素數
Tb——圖像中預測背景與真實背景匹配像素數
N——圖像像素總數
Np——圖像中預測樹冠像素數
Nt——圖像中標注樹冠像素數
用構建的模型對數據集D1和D2測試集中的柑橘樹冠進行預測,根據樹冠面積過濾非目標樹冠,過濾前后對比如圖5所示。由圖5可以看出,過濾前圖像中識別出多個樹冠,過濾后可以得到目標樹冠。根據目標樹冠的識別和分割結果計算準確率、精確率、召回率和調和平均數,如表2所示。由表2可以得出,D1測試集的準確率、精確率和召回率均達到91%以上,表明模型可實現參與建模果園的單株樹冠的精準識別與分割;數據集D2未參與建模,并且與D1在地理位置、地形、柑橘品種和樹形等方面存在一定的差異,但是D2測試集的單株樹冠準確率、精確率和召回率均在84%~89%之間,略低于D1,本測試集結果表明模型對于不同果園環境的單株樹冠識別分割具有一定的適應性,可實現未參與建模果園的單株樹冠的精準識別與分割。模型對D1和D2測試集中的單幅圖像識別時間均為0.26 s,因此可滿足對靶噴藥、病蟲害防護、作物長勢識別等作業的實時性要求。

表2 參與建模和未參與建模果園的預測結果
為了進一步對比參與建模與未參與建模果園圖像的識別結果,利用數據集D3重新訓練模型,模型參數與最優模型保持一致。用構建的新模型對D3的300幅測試集圖像中的柑橘樹冠進行預測,結果如表2所示,相較于數據集D2的準確率提高了4個百分點,精確率和調和平均數提高了3個百分點,召回率提高了2個百分點。此結果表明果園參與建??色@得更好的識別效果,應使模型訓練集盡可能包含不同的果園,增加數據多樣性。
綜上所述,參與建模果園與未參與建模果園相比,單株樹冠預測結果的準確率、精確率和召回率高,識別分割效果更好。因此,后續研究中將增加模型訓練集數據多樣性,包括品種、季節、高度、樹齡、采集時間、相機角度等,盡可能使類似預測的數據存在于數據集中。針對模型用于指定果園作業的情況,后續在建模過程中增加作業果園圖像,以提高模型識別和分割性能。
SegNet[25]與Mask R-CNN同樣是基于FCN的語義分割網絡,結構簡單,在道路場景分割、行人檢測和工件缺陷檢測等任務中有較高的準確率,因此將SegNet模型對樹冠識別效果與本文對比。SegNet主要包括編碼(Encoder)和解碼(Decoder)2個過程。在Encoder過程中,利用卷積進行下采樣提取特征;在Decoder過程中,利用卷積進行上采樣,變大圖像豐富信息,使得在Pooling過程丟失的信息可以通過學習在Decoder中得到。SegNet中的卷積與傳統CNN的卷積并沒有區別。2種模型識別結果如圖6所示,SegNet模型背景的誤識別區域更多。
表3為本文模型和SegNet模型在數據集D1和D2測試集上的評價指標結果,SegNet模型的召回率高于精確率,進一步說明SegNet模型更容易將背景誤識別為目標樹冠;并且與本文模型相比準確率、精確率、召回率低約5個百分點,識別分割效果略差,表明本文模型相較于SegNet模型有更好的識別分割效果。

表3 2種模型評價指標結果對比
通過對準確率和調和平均數較低圖像的共性分析,確定模型的影響因素。準確率和調和平均數較低圖像(圖7)的共性主要有2點:①圖像樹冠中樹枝暴露、葉片較少,健康狀態欠佳。②非目標樹冠占比較多,目標樹冠邊緣不明顯,且由于圖像光線暗、飽和度低,人工標注目標樹冠難度已較大。因此,模型的影響因素為樹冠形態、非目標樹冠占比、光線強度。圖像中目標樹冠和非目標樹冠深度信息有所不同,在接下來的研究中將嘗試利用3D相機,結合圖像深度信息,提高單株樹冠識別準確率。
(1)構建的基于Mask R-CNN單株樹冠的識別與分割模型,能精準快速識別并分割復雜環境下的單株柑橘樹冠,基本上可滿足果園精準作業過程中的樹冠識別要求。分割參與建模的果園樹冠,準確率為97%,識別時間為0.26 s。該模型對不同品種、不同環境的果園具有一定的適應性,對未參與建模的新柑橘品種和不同地貌環境的果園預測準確率為89%。
(2)與SegNet模型相比,本文模型準確率、精確率和召回率均高約5個百分點,說明在非目標樹冠較多的復雜果園圖像中具有較好的識別分割效果。
(3)所建模型的影響因素為樹冠形態、非目標樹冠占比以及光線強度。在后續研究中將利用3D相機,結合圖像深度信息,進一步提高單株樹冠識別準確率。