權龍哲,吳 冰,毛首人
(東北農業大學工程學院,哈爾濱 150030)
雜草與作物競爭空間、水、養分等資源,作物產量降低,作物生長初期影響更嚴重[1-2]。目前,化學除草因其高效性而成為國內外主要除草方式[3]。但化學除草大面積噴灑除草劑,造成環境污染。精準對靶施藥可提高除草劑利用率,但確定田間雜草尺寸、形狀和生長階段是實施難點[4]。不同葉齡雜草所需除草劑劑量不同[5-6]。因此,根據田間雜草分布和葉齡指導除草劑使用,是有效除草、保護生態重要手段。
減少除草劑使用前提是精準識別雜草[7]。機器視覺在農業領域應用廣泛[8]。相關研究采用小波變換[9]、閾值分割[10]等方法區分農作物和雜草,但普通分類無法獲得雜草種類和位置信息,在田間雜草與作物分布密集、光照不確定以及陰影等因素影響下作業效果不佳。近年,深度學習技術成為新興機器學習領域,其中深度卷積神經網絡(Deep convolutional neural network,DCNN)是一類深度學習方法,適合解決計算機視覺問題,已應用于農業領域[11-12]。Ma 等提出SegNet 方法實現較高分類精度,可有效對圖像中水稻、雜草和背景作像素分類,并獲取位置[13]。Abdalla 等采用卷積神經網絡用于油菜田中雜草分割,獲得96%準確率[14]。上述研究僅獲得雜草位置和種類信息,忽略葉齡,無法確定除草劑劑量。田間復雜環境下,植株之間重疊、光照不確定、土壤背景復雜多變[15],雜草位置和葉齡信息獲取存在難度。
DCNN模型雖能克服農田復雜多變環境,但需大量數據集訓練深度學習模型,提高模型精度[16]。數據增強也是圖像識別領域常用方法,Geethara?mani等使用9層深度卷積神經網絡識別植物葉片疾病,并使用6種數據增強方法提高模型性能,獲得96.4%分類精度[17]??梢姅祿鰪娛秦S富訓練樣本,提高模型精度重要方法。當獲取數據時,攝像頭拍攝角度影響數據集精度,Quan等實現在田間不同生長周期和角度下幼苗檢測,提出在攝像頭與豎直方向夾角為0情況下,檢測精度降低0.95%,可見不同角度數據采集,影響模型性能[16]。綜上,DCNN模型在處理田間復雜環境問題上表現更好適應性。
因此,本文提出基于Mask-R-CNN 農田雜草實例分割與葉齡識別方法。首先構建不同天氣和采集角度數據集,采用遷移學習方法提取Micro?soft COCO 數據集訓練后權重,在此基礎上訓練建立數據集。為提高雜草檢測精度,更換3個特征提取網絡,設計多種區域建議框,將NMS 算法更換為Soft-NMS,RoIAlign 代替RoI Pooling,使目標物體的邊界框更準確,最終選擇7個評價指標評估模型檢測結果和分割結果。
為分割田間雜草和玉米植株,需采集相關圖像,建立雜草和玉米圖像數據集。試驗時間2020年5月20日~2020年6月20日,每隔2~5 d于黑龍江省哈爾濱市東北農業大學向陽試驗示范基地采集數據,采集設備為USB 數碼攝像機(CCD)(6-DZM-12,PHZL CO,LTD),最大分辨率為1 360×1 024像素,幀速度為30 s-1,并以JPG文件格式存儲。向陽農場是玉米、大豆、水稻主要種植區域。所采集樣本圖像為幼苗期玉米以及常見伴生雜草,包括稗草、龍葵、茴麻、刺菜、打碗花等。由于田間雜草數量在2~5葉期居多,所以采集5葉期之前田間植株數據。采集數據時,將樣本種類、葉齡、采集時間、采集天氣、采集溫度標記在樣本數據中。拍攝方式如圖1所示。兩個攝像頭之間距離為L=600 mm,攝像頭與支架距離為Ha=250 mm,支架與地面距離為Hb=650 mm,α為俯視圖角度,分別以俯視、30°斜視、45°斜視3個方向采集自然條件下生長玉米和雜草圖像,如圖2所示。
如圖3 所示,采集圖像天氣條件包括:晴天、陰天、雨后,采集時間段為每日6:00~9:00,12:00~15:00,16:00~19:00。

圖1 圖像采集平臺Fig.1 Image acquisition platform

圖2 不同拍攝角度下數據圖像Fig.2 Data images under different shooting angles

圖3 不同天氣條件下數據圖像Fig.3 Data images under different weather conditions
在訓練網絡時,輸入圖像尺寸需與網絡輸入尺寸匹配,為不改變植物形態,將圖像剪裁為1 024×1 024像素構建DCNN數據集。為增加樣本多樣性,使數據集更具代表性,更準確反映田間數據真實情況,提高模型訓練精度,擴大數據集并減少過度擬合,使DCNN對環境變化引起的光照具有魯棒性。通過數據增強法,對田間采集圖片隨機旋轉、水平翻轉、垂直翻轉、增亮10%、變暗10%加噪聲等6種操作,如圖4所示。

圖4 數據增強Fig.4 Data enhancement
采集圖像同時保留一些模糊、遮擋、不全圖像作為數據集負樣本。正負樣本共得到8 000 張圖片,按照8∶2 隨機選擇劃分為訓練集和驗證集。用VIA(VGG image annotator)標注,通過不規則多邊形標記雜草和玉米葉片。由于在實際環境下,圖片中植株數量不確定,存在包含多種、多株雜草情況,無法用圖片中掩膜葉片數量計算單株植物葉齡,所以用矩形框標記單株植物最外層輪廓,計算矩形框內掩膜葉片數量,即該植株葉齡。為減少計算量和計算時間,對矩形框不作掩膜。
Mask R-CNN是通過在目標檢測算法Faster RCNN 框架后面添加掩膜分支作實例分割的模型,保證目標檢測與分割并行。Mask R-CNN算法流程如圖5所示,輸出包含3個分支,目標邊界框、分類及分割掩膜。Mask R-CNN模型結構由圖像特性提取層、區域建議網絡、ROIAlign 層以及輸出層4部分組成。

圖5 Mask R-CNN框架結構Fig.5 Model structure of Mask R-CNN
其中,為更好檢測小目標,將感興趣區域池化(Region of interest pooling, pooling)更 改 為ROIAlign。采用Soft-NMS算法代替非極大值抑制法(NMS),提高雜草檢測精度。特征提取網絡從輸入圖像中提取特征圖,輸出特征圖被送至RPN 和ROIAlign以生成候選區域,候選區域一方面經卷積層和全連接層預測目標類別和邊界框,另一方面經FCN對目標區域掩膜。最終完成目標實例分割。
Mask R-CNN 可通過設計不同的權重層來建立深度卷積神經網絡模型,目前深度學習網絡模型有 ResNet,MobileNet,AlexNet,GoogleNet,Deep?Mask,VGG 等。網絡層數越深,準確性越高,但隨網絡層數加深,模型訓練速度和檢測速度均降低。但殘差網絡不增加模型參數,可有效降低訓練退化問題,同時提高模型收斂性。MobileNetv2是對MobileNet 作改進,且改進ResNet 殘差結構,提出倒殘差塊及線性瓶頸層,網絡結構相比Mo?bileNet 更深,網絡參數更少,可充分獲取雜草空間信息。本文采用ResNet-50、ResNet-101 和Mo?bileNetv2 結合FPN 作為特征提取網絡來提取雜草圖像多維特征。FPN是在目標檢測過程中檢測不同尺度對象的模塊,有從上向下、從下向上路徑以及橫向連接3種連接方式。
RPN 是目標檢測中滑動窗口,而區域建議網絡則是由RPN 以滑動窗口機制生成。RPN 的結構如圖6 所示,RPN 是將2.1 節中提取的雜草卷積特征圖用作輸入,以固定窗口在特征圖全圖上滑動生成的。但是本研究田間雜草尺寸不一,為提升小葉片檢測精度,本研究設計了32 × 32、64 ×64、128 × 128、256 × 256、512 × 512 等 5 種尺寸不同錨點,長寬比為 1∶1、1∶2、2∶1 共 3 種比例,共15 種錨點,從中挑選最有可能存在目標的區域,對該區域進行檢測和分割。
每個錨點對應一個預測框,根據預測框與真實框的交并比(Intersection over union error,IOU),選出正錨和負錨,傳統方法使用非極大值抑制法(Non-maximum suppression,NMS)消除冗余邊界框,選出合適預測框,NMS 方法對每個類別得分大于閾值的邊界框分數作排序,選擇最高分數邊界框。但NMS 方法使用大量循環,導致模型耗時較多。且在多株雜草互相遮擋時,本屬于2棵雜草邊界框,其中得分低的被抑制,降低模型召回率(Recall),導致相鄰雜草出現漏檢,NMS公式為:

Soft-NMS 算法在NMS 算法基礎上改進,對于IOU大于閾值邊界框未將其直接刪除,而是采用得分衰減方式完成,其公式為:

式中,M-得分最高檢測框;bi-與M 相鄰檢測框;σ-超參數。

圖6 區域建議網絡結構Fig.6 Structure of the regional proposal network
RoI Align是Mask R-CNN重要部分,為更好檢測小目標,將RoI Pooling 更改為RoIAlign。在RCNN、Fast R-CNN、Faster R-CNN 這些目標檢測框架中均采用RoI Pooling將不同候選區域通過池化固定為確定尺寸特征圖,方便后續預選框回歸操作。但RoI Pooling在運算過程中存在2次量化,導致得到的預選框和第一次回歸產生的預選框空間位置錯位,影響模型精度,不適合本研究。為解決傳統RoI Pooling 帶來的問題,本研究采用RoIAlign 代替傳統RoI Pooling 方法,適合處理更小的目標。RoIAlign取消量化操作,首先遍歷每個候選區,同時保持浮點數不變,將候選區分割成k×k 個單元,在每個單元中計算固定的4 個坐標值,用雙線性內插方法計算出這4個位置的值,取消量化操作過程,利用最大池化方法將其匯總,然后調整每個候選區域尺寸滿足全卷積(Fully convolu?tional,FC)需求,最終將其發送到卷積層、全連接層和全卷積神經網絡目標分類、邊界框和掩膜,提高模型檢測精度。RoIAlign為保證池化過程中像素對應關系,采用反向傳播,其公式為:

式中,xi-池化前特征圖上像素點;yrj-池化后第r個區域中第j個坐標點;i(r,j)-yrj對應原圖像像素點坐標;Δh-橫坐標梯度;Δω-縱坐標梯度。
研究采用遷移學習方法引入Microsoft COCO 數據集預訓練模型,提取該模型中訓練好的權重作初始化設置,在此基礎上建立數據集作訓練。Mi?crosoft COCO 數據集是在日常場景中獲取的圖像,用于目標分類和分割的訓練和測試[18]。Microsoft COCO數據集包含超過91類目標[19]。通過遷移學習可減少訓練成本和人力,提高模型效率。
本研究Mask R-CNN 模型在TensorFlow-GPU 1.14.0 和Keras 2.1.5 深度學習框架下展開?;赪indows 10 64位(DirectX 12)版本操作系統,六核英特爾Core i7-8700K@3.70 GHz 處理器,32 G 內存以及由Nvidia GeForce(Santa Clara,CA,USA)制造開發的GPU,顯卡為Nvidia GeForce RTX 2080 Ti,預訓練網絡參數如表1所示。在訓練時將權重衰減系數設置為0.0005,動量因子為0.9,初始學習率為0.0001,訓練每次迭代批處理量(BatchSize)為1。訓練100輪,每輪1 000次。將標記好數據集放在模型中訓練,得到基于改進的Mask R-CNN雜草分割訓練模型。

表1 預訓練網絡特征參數Table 1 Characteristic parameters of the pretraining network
評估目的是測試算法對農田雜草和玉米植株葉片分割以獲取葉齡信息能力,為更好滿足多分類不平衡問題,采用7 個關鍵指標評估,分別為:精度率(Precision)、召回率(Recall)、F1、IOU、平均精度(Average precision,AP)、平均精度均值(Mean average precision,mAP)和mIOU(Mean inter?section over union error),其計算公式為:


式中,TP-陽性并被檢測為陽性數量;FP-陰性并被檢測為陽性數量;FN-陽性并被檢測為陰性數量;F1-Precision 和Recall 度量函數;N-圖像數量;Box(Pred)-預測框;Box(Truth)-真實框。
由于Mask R-CNN 包括目標檢測和分割兩部分,對于目標檢測部分,采用的評估指標為:Preci?sion、Recall、F1、AP、AP50(當IOU≥0.5時的AP50定義為AP50)。對于實例分割部分采用mIOU評估。
IOU 測量2個邊界框之間的重疊,計算雜草或玉米預測框和真實框之間重疊程度。IOU閾值設置為0.5,當IOU≤0.5 為負錨,無需考慮,當IOU≥0.5 為正錨。系統可識別正錨和其邊界框并將其匹配給地面實況框優化模型RPN 輸出,錨與地面真實邊界框重疊最大值將被系統保留。AP50 是模型另一個指標,是多個類別AP 平均值。對于處理目標位置信息和類別時,具有優良評估性能。
為更好驗證改進Mask R-CNN在雜草分割中性能,本文將改進Mask R-CNN 與傳統Mask RCNN、DeepMask、MNC 方法在總測試集上作比較,對比結果如表2 所示,單樣本耗時中MNC 方法最短,DeepMask最長。然而,從分割結果上看,改進 Mask R-CNN 方法F1值可達到 0.918,AP50 值可達到0.730,優于傳統Mask R-CNN、DeepMask和MNC方法,可滿足實例分割應用需求。
為提升雜草分割性能,修改原始Mask R-CNN區域建議網絡,設計 32 × 32、64 × 64、128 ×128、256 × 256、512 × 512 共5 種不同錨點,對比不同尺寸錨點,完成錨點多尺度變換。從中挑選最可能存在目標的區域,檢測和分割該區域,模型性能結果如表3所示。
對比3個特征提取網絡(ResNet50,ResNet101,Mobilenetv2)和不同錨點尺寸可發現,各層錨點尺寸縮小1倍,即為(16,32,64,128,256)時,3個特征提取網絡AP50分別為0.598、0.730、0.507。其中,ResNet-101 作為特征提取網絡的改進Mask R-CNN 取得最高AP50 值。將錨點尺寸擴大1 倍時,3 個特征提取網絡檢測結果均最低。在選擇ResNet-101 作為特征提取網絡情況下,將錨點尺寸縮小1 倍的AP50 值比原始模型高3.4%,比錨點尺寸擴大1倍時高27.8%。

表2 不同分割模型對比Table 2 Comparison of different segmentation models

表3 多尺度變換對比試驗Table 3 Experimental comparison of multi-anchor scale transformation
為選擇更有效分割模型,本文將改進Mask RCNN 模型更換 3 個特征提取網絡(ResNet-50、ResNet-101 和MobileNetv2)作比較,從中選擇在mIOU 和AP50 之間取得最佳平衡網絡。選用1 200張玉米和雜草圖像作測試比較,其中俯視、30°斜視、45°斜視各200張,晴天、陰天、雨后各200張。表4列出不同天氣條件下精度率,召回率,F1值。
如表4所示,以ResNet-101作為特征提取網絡改進Mask R-CNN模型表現良好。陰天檢測效果好于晴天和雨后。陰天條件下,以ResNet-101 作為特征提取網絡的Mask R-CNN 的F1值為0.9407、AP50 值 為 0.7649,F1值 比 ResNet-50 和 Mobile?Netv2 分別高6.53%和13.43%,AP50 值比ResNet-50和MobileNetv2分別高14.97%和24.69%。表明采用ResNet-101 作為特征提取網絡的Mask R-CNN能夠滿足實例分割需求,可準確分割玉米和雜草。在ResNet-101作為特征提取網絡的條件下,陰天的F1值比雨后和晴天分別高出1.99%和3.44%。AP50值比雨后和晴天分別高出2.63%和6.66%。

表4 不同天氣條件下檢測結果Table 4 Test results under different weather conditions
為明確模型對雜草、玉米植株和葉片錯誤識別情況,作出真實標簽與模型預測標簽之間混淆矩陣。如圖7所示,混淆矩陣又稱誤差矩陣,由m行m列矩陣組成,m代表類別數,在本研究中標簽共有雜草、雜草葉子、玉米、玉米葉子4類,將其他類別作背景,得到1 個5×5 方陣。該混淆矩陣對角線數值表示被正確識別情況,非對角線數值表示被錯誤識別情況。
如圖7a 所示,晴天條件下,一部分玉米葉子和雜草被判斷為背景,主要原因是晴天時光照強度大,高強度光照射到植物和土壤表面發生反射,影響檢測結果。如圖7c 所示,雨后條件下存在一部分真實標簽未被識別,如圖7b 所示,陰天分類準確率在3種天氣條件下最佳。
為獲得不同數據采集角度分割結果,使用俯視、30°斜視、45°斜視各測試200 張,不同拍攝角度下精度率、召回率、F1值見表5。
由表5可知,以ResNet-101作為特征提取網絡的Mask R-CNN深度學習模型仍表現良好性能。在以ResNet-101作為特征提取網絡條件下,30°斜視F1值為 0.9439、AP50 值為 0.7548,F1值比俯視和45°斜視分別高4.56%和1.60%,AP50 值比俯視和45°斜視分別高5.59%和3.17%。如圖7e 所示,30°斜視拍攝時,對角線上識別正確標簽數為1 444,在所有角度中分類精度最高。
不同天氣和角度雜草分割結果如圖8所示,對于實例分割階段,評價指標為mIOU(Mean intersec?tion over union error),mIOU 是評估分割結果重要指標[20],常用于評估Mask R-CNN 模型分割性能。表6 為1 200 張含有雜草和玉米圖像測試結果??梢奟esNet-101 在總測試集上mIOU 值為0.624,比ResNet-50高8.8%,比MobileNetv2高16.3%。可見以ResNet-101作為特征提取網絡改進Mask R-CNN深度學習模型仍然表現良好性能。在以ResNet-101 作為特征提取網絡條件下,30°斜視和陰天mIOU 值分別為0.675 和0.663,為不同角度和天氣中最佳,分割效果較好。由圖8可知,玉米葉片識別效果好于雜草,因視野中玉米植株比雜草植株體積大且數量少。但是圖像中部分雜草體積較小,不利于獲得雜草全部葉片,對獲取雜草葉齡存在一定困難。

圖7 以ResNet-101作為特征提取網絡的Mask R-CNN模型混淆矩陣Fig.7 Confusion matrix of Mask R-CNN with ResNet-101 as the feature extraction network

表5 不同拍攝角度下檢測結果Table 5 Test results under different shooting angles

圖8 不同拍攝角度和天氣條件下分割結果Fig.8 Segmentation results under different shooting angles and weather conditions

表6 模型分割結果Table 6 Segmentation results of the model
葉齡是植物重要表型性狀,不同葉齡雜草所需除草劑劑量不同,獲取雜草準確葉齡為精準對靶除草提供技術支持,不同葉齡雜草和玉米分割結果見圖9,可見整株植物葉齡和每個葉片分割情況。
通過計算機計算所得葉齡值與采集數據時標簽上葉齡值作比較得到葉齡識別準確率。由表7可知,ResNet-101作為特征提取網絡的Mask R-CNN深度學習模型性能良好。在選擇ResNet-101 作為特征提取網絡情況下,30°斜視葉齡識別準確率為0.915,比45°斜視和俯視分別高2.6%和4.2%,陰天葉齡識別準確率為0.935,比雨后和晴天分別高2.1%和4.3%。

圖9 不同葉齡分割結果Fig.9 Segmentation results with different leaf ages

表7 葉齡識別準確率Table 7 Accuracy of leaf age recognition
本研究以農田雜草和玉米植株為研究對象,實現在田間復雜環境下識別獲取葉齡,分析不同天氣和拍攝角度對葉齡識別影響。改進Mask RCNN 模型精度顯著提高,在錨點尺寸縮小1 倍時AP50值比原始模型高3.4%,與孔英會等研究結果一致,因本研究中雜草葉片尺寸較小,所以將錨點尺寸縮小一半檢測效果最為理想[21]。以ResNet-101 為特征提取網絡改進的Mask R-CNN 表現最佳分割性能。本文方法單樣本耗時為568.3 ms,與姜紅花等研究結果在單樣本耗時上存在差距,主要是由于在分割之后需計算單株植物葉齡,而自然環境相對復雜,影響因素較多,導致計算時間增加[22]。
在以ResNet-101 作為特征提取網絡基礎上,陰天檢測精度高于晴天和雨后。原因是陰天時光照強度低,土壤反射太陽光較少而晴天時光照強度大,發生大量反射。晴天時由于太陽光直射,導致植株產生倒影,均影響檢測精度。30°斜視檢測精度高于45°斜視角度和俯視角度。主要原因是30°斜視拍攝時,視野中玉米多為2~3 株,玉米苗和雜草大小適中。30°斜視角度包含俯視圖和側視圖雜草和玉米信息,有助于提高模型精度。45°斜視拍攝時,視野中玉米和雜草體積較小,玉米多為3~4株,對于較小玉米和雜草識別較差。俯視時相比于其他2個角度精度較低,因30°和45°斜視均包含俯視圖和側視圖雜草和玉米信息,而俯視拍攝只包含1個角度雜草和玉米信息,導致模型精度降低。該模型在實際應用中表現出良好分割性能,可適應農田復雜環境,但該研究僅獲得雜草葉齡,無法獲取雜草種類,未來研究重點將放在評估涵蓋更大范圍雜草和作物品種圖像數據集上。
a.改進后Mask R-CNN 模型精度顯著提高,以ResNet-101為特征提取網絡的改進Mask R-CNN表現最佳的分割性能。本文方法的單樣本耗時為568.3 ms,滿足田間變量噴灑要求。
b.在以ResNet-101 作為特征提取網絡基礎上,陰天 AP50 和 mIOU 值分別為 0.7649 和 0.663。mIOU 值比晴天提高了7.9%,比雨后提高了4.5%;30°斜視 AP50 和 mIOU 值分別為 0.7548 和 0.675。mIOU 值比45°斜視角度提高6.2%,比俯視角度提高8.2%。
c.該模型在實際應用中表現出良好分割性能,可適應農田復雜環境,對體積小雜草也具有良好分割效果。為后續智能對靶變量噴灑農藥提供技術支持,可減少化學農藥使用,對智能農業發展和生態環境保護具有重要意義。