梁俊歡,董 巒,孫宗玖,馬海燕,艾尼玩·艾買爾,阿 仁,魏 鵬,田 聰,阿斯婭·曼力克,鄭逢令*
(1.新疆農業(yè)大學草業(yè)學院,烏魯木齊 830052;2.新疆畜牧科學院草業(yè)研究所,烏魯木齊 830057;3.新疆畜牧科學院天山北坡草地生態(tài)環(huán)境野外定位觀測研究站,烏魯木齊 830057;4.新疆農業(yè)大學計算機與信息工程學院,烏魯木齊 830052)
草原是我國重要的戰(zhàn)略資源之一,近幾年由于載畜量不斷增加,草地植被遭受一定影響,毒害草肆意蔓延。毒害草不僅破壞生態(tài)系統(tǒng)的平衡,而且也制約了畜牧業(yè)的發(fā)展[1]。目前,新疆的毒害草危害面積居全國首位,草地資源受到破壞,加之過度放牧和生態(tài)平衡破壞,毒害草如毒瘤般危害草原生長環(huán)境,因此,毒害草防除檢測工作刻不容緩[2]。白喉烏頭(Aconitum leucostomum)是伊犁的主要毒害草之一,其中伊犁州東部地區(qū)白喉烏頭分布面積達到了1 192.47 km2[3]??焖儆行У谋O(jiān)測白喉烏頭分布和長勢對防治白喉烏頭尤為重要。
傳統(tǒng)的毒害草調查耗時費力,只能獲取點狀數據,應用衛(wèi)星遙感技術,可在大范圍內監(jiān)測草原,但分辨率差、易受天氣影像而且時效性不高[4]。近幾年,隨著無人機技術的不斷發(fā)展,基于無人機搭載傳感器的低空遙感技術在精度、尺度和靈活等方面優(yōu)勢明顯,擁有廣泛的應用前景[5,6]。韓蕊等[7]利用無人機影像結合深度學習的方法準確獲取柑橘樹冠范圍,在調查精度和調查效率上兩者兼得。張瑞杰等[8]利用無人機影像和深度學習技術幫助農業(yè)管理人員有效的完成大范圍油菜作物的長勢情況監(jiān)測。
無人機影像數據空間分辨率較高,結合深度學習提取無人機影像的目標特征進行識別,可以獲得草原毒害草分布情況[9]。近年來,隨著深度學習[10]不斷發(fā)展,卷積神經網絡廣泛運用于目標檢測領域[11]。目前,目標檢測算法有兩類,分別是One-stage目標檢測算法和Two-stage目標檢測算法兩類代表算法。第一類目標檢測算法,采用端到端的檢測方法,速度快,但是精度不高,代表算法有YOLO(you only look once)[12]、SSD[13];第二類目標檢測算法相對于第一類,能實現更高的檢測精度[14],滿足對不同環(huán)境下精度較高的要求,代表算法有Fast R-CNN[15]、Faster R-CNN[16]以及本文所采用的方法Mask-RCNN[17]基于卷積神經網絡和RPN網絡的目標檢測算法。Mask-RCNN在Faster R-CNN基礎上增加了語義分割的分支,不僅能實現目標的具體類別和物體框,而且能對目標實例分割。鐘偉鎮(zhèn)等[18]開展了基于Mask-RCNN深度學習分割和識別植物葉片相關研究,且識別效果良好,表明該算法具有強大的遷移能力。喬虹等[19]利用Mask-RCNN算法對不同天氣下正常的葡萄葉片、病害葉片以及不同品種的葡萄葉片圖像進行分割,證明該方法在不同天氣及復雜背景下的實例分割魯棒性較強。
本研究通過無人機正射影像得到白喉烏頭的影像數據集,通過對數據集裁剪、標注一系列處理,采用Mask-RCNN目標檢測算法,對比研究ResNet50和ResNet101兩種主干網絡的優(yōu)缺點,篩選出檢測精度高的模型應用于白喉烏頭自動檢測,為毒害草監(jiān)測防治毒害草工作提供數據支撐和技術參考。
研究區(qū)位于新疆伊寧縣托乎拉蘇牧場,環(huán)境為山地,地勢崎嶇,海拔高度約在900~1 700 m,平均氣溫10℃左右,氣候類型是溫帶大陸性氣候,光照充足、熱量充沛、晝夜溫差大、降水充沛。
研究區(qū)域為山地,地勢崎嶇。無人機采用的是極俠無人機(Xmission),攜帶正射相機,于2021年6月25日,天氣晴朗無風的環(huán)境下航拍白喉烏頭。獲取地面分辨率為3 cm的正射影像,飛行高度150 m,航拍航向重復50%。無人機數據覆蓋區(qū)域設定為2 km×2 km,影像為TIFF圖片格式。該研究區(qū)白喉烏頭均勻分布,株高50 cm左右,白喉烏頭跟草原背景的顏色相似、但株型較大。
1.2.1 數據集制作
獲取正射影像經初步篩選后,使用Photoshop 2020把影像裁剪為512×512像素大小的樣本200張作為Faster-RCNN的數據集,單株白喉烏頭總計5 600株。采用LabelIme軟件標注數據集,然后將標注好的數據集轉換成網絡訓練所用的COCO數據集格式,最后按照8∶2隨機劃分訓練集和測試集。
計算機的顯存和內存要滿足各個算法的需要,本實驗處理器Intel(R)Core(TM)i7-6700KCPU@4.00GHz,GPU是NVIDIA GeForce GTX 2080Ti,顯存為11G。下載Anaconda3,在此基礎上搭建Pytorch深度學習框架,并用Python語言編程,完成模型的訓練和測試工作。
1.4.1 Mask-RCNN算法
如圖1所示,白喉烏頭數據集圖像經過一系列預處理后輸入到網絡CNN中,首先利用預訓練的模型特征提取網絡ResNet50+FPN或者ResNet101+FPN提取相應的特征信息;其次輸入到區(qū)域建議網絡RPN生成多個對應白喉烏頭圖像候選區(qū)ROI,特征圖feature map和ROI區(qū)域,此時ROI區(qū)域已經將一些多余的信息過濾,這些信息特征共同進入感興趣區(qū)域(Region of Interest Align)RoIAlign層,得到將特征圖和原始圖像像素完全對應,生成像素信息,最后在輸入到全連接層(FCLayers)和全卷積網絡(FCN)對白喉烏頭進行目標分類和實例分割,實現對目標類別、邊界框和掩碼mask。
圖1 Mask-RCNN模型示意圖
由于需要對白喉烏頭的識別結果評價,所以評價指標需要同時考慮準確率和召回率AP(Average Precision)值來衡量,AP可以測試當前訓練模型類別的好壞。AP是由準確率(Precision)和召回率(Recall)組成的,其中準確率代表預測結果有多少是正確的,而召回率表示正確的結果有多少被找到了,AP的值越高,那么模型的識別準確率就越好。
P表示為準確率,R表示為召回率。TP表示為實際為白喉烏頭且被模型預測為白喉烏頭的個數,即正樣本被檢測為正樣本;FP為實際為背景卻被模型預測為白喉烏頭的個數,即負樣本被檢測出為正樣本;FN為實際為白喉烏頭但沒有被識別為白喉烏頭的個數,即正樣本未被檢測出為正樣本。
采用ResNet50和ResNet101預訓練模型進行模型訓練,對預先處理好白喉烏頭的數據集,以單分類進行訓練識別。訓練過程利用Tensorboard繪制兩個訓練的loss曲線圖,通過曲線可以看出訓練模型的損失值是否收斂,模型訓練的好壞和收斂速度的快慢。
2.1.1 訓練誤差
如圖2所示是ResNet50和ResNet101識別白喉烏頭的總體損失值,通過對比可以看到,ResNet50相比ResNet101損失值下降明顯,在迭代36 000次時兩個最終loss值分別為0.245和0.268,兩個loss都小于0.3,兩者之間沒有很大的區(qū)別,在迭代25 000之前訓練平滑且訓練正常,迭代25 000次之后仍能平滑下降,直到下降到0.3以下。模型訓練迭代30 000次時擬合,繼續(xù)訓練會導致過擬合,魯棒性較差。ResNet50相比ResNet101主干網絡更容易收斂。
圖2 ResNet50和ResNet101的訓練損失值
如圖3所示,ResNet50和ResNet101識別白喉烏頭的訓練精度,通過對比,訓練精度在迭代36 000次時精度分別是94.79%和93.88%,隨著迭代次數的不斷增加其精度也在不斷上升,迭代次數在25 000次之前訓練精度在顯著性增加,直到迭代25 000次后精度增加緩慢,當迭代達到一定值精度時不再增加,從整體而言,ResNet50的訓練精度要高于ResNet101。
圖3 ResNet50和ResNet101的訓練精度
2.1.2 訓練精度
如表1所示,模型訓練之后通過測試得到ResNet50和ResNet101的結果分別是66.0%和65.3%,ResNet50主干網絡比ResNet101的mAP值高0.7%。特征提取網絡的深度越深時,對于一些少量數據集在深度較深的網絡中并沒有明顯的提升。實驗證明:少量數據集不適宜深度較深的網絡,數據集較少時訓練采用較深的網絡識別性能并不能得到滿意的結果[20]。
表1 模型性能評價結果
圖4、圖5、圖6、圖7分別為ResNet50和ResNet101不同像素的識別結果,從整體上看兩種不同ResNet網絡不同像素之間識別效果相比,兩者之間差異不明顯。圖4和圖6分別是1024×1024像素的圖像測試識別且識別效果很好,雖然有蓋度較小的白喉烏頭沒有識別出來,但總體識別效果很好;圖5和圖7分別是512×512像素的圖像識別效果,基本上可以實現對白喉烏頭的精準識別。模型訓練和測試時用512×512像素的圖像進行測試識別效果表現好。
圖4 基于主干網絡ResNet50識別效果(1024×1024像素)
圖5 基于主干網絡ResNet50識別效果(512×512像素)
圖6 基于主干網絡ResNet101識別效果(1024×1024像素)
圖7 基于主干網絡ResNet101識別效果(512×512像素)
應用基于ResNet50和ResNet101主干網絡的Mask-RCNN算法進行白喉烏頭的實例分割,識別單株白喉烏頭并得到目標的具體位置,模型在測試集上的識別精度ResNet50和ResNet101分別是66.0%和65.3%,基本上能精準識別白喉烏頭。張磊[21]同樣通過Mask-RCNN算法使用ResNet50作為提取青椒目標檢測模型,訓練識別后mAP值為92.7%,能夠滿足機器人對果實目標實時識別的要求,其mAP值與本文相差較大,主要是因為白喉烏頭在無人機正射影像中的像素大小基本上在20左右,小目標造成識別較困難;成偉[22]在復雜背景下對番茄植株莖稈進行識別,類別為兩類,分別是主莖和分叉莖,以Mask-RCNN算法和主干網絡ResNet50訓練識別后番茄的莖稈的mAP值68%,識別效果與本實驗相差不大;于晨[23]基于Mask-RCNN實例分割的方法同樣利用ResNet殘差網絡對礦山環(huán)境遙感地物識別,基本實現了礦山地物的目標識別和分割。李大軍等[24]也是采用無人機影像獲取建筑物的遙感影像,在Mask-RCNN算法中以ResNet101主干網絡進行識別,實驗結果滿足對建筑物的識別。
本文應用實例分割算法Mask-RCNN以ResNet50和ResNet101主干網絡進行特征提取,在白喉烏頭正射影像數據集上訓練深度學習模型。以mAP為評價指標,ResNet50的識別精度高于ResNet101;從識別效果看,基于兩個主干網絡的Mask-RCNN算法識別模型能夠實現無人機影像中單株白喉烏頭較為準確的實例分割,基本能勝任自動識別和快速監(jiān)測毒害草白喉烏頭的任務。