姜紅花 張傳銀 張 昭 毛文華 王 東 王東偉
(1.山東農(nóng)業(yè)大學信息科學與工程學院, 泰安 271018; 2.寶雞文理學院電子電氣工程學院, 寶雞 721016;3.中國農(nóng)業(yè)機械化科學研究院, 北京 100083; 4.山東農(nóng)業(yè)大學農(nóng)學院, 泰安 271018;5.青島農(nóng)業(yè)大學機電工程學院, 青島 266109)
雜草與作物爭奪養(yǎng)分、陽光、空間和水[1],是作物生長的最大威脅之一。目前,雜草的防治清理以傳統(tǒng)的全淋式噴灑農(nóng)藥為主,即使用相同劑量的除草劑對雜草進行均勻處理。這種均勻噴灑除草劑的方法不能區(qū)分作物和雜草,不但造成大量農(nóng)藥的浪費,還對土壤和水源造成污染,甚至影響農(nóng)田生產(chǎn)力和作物生長。為了減少農(nóng)藥浪費,提高農(nóng)藥的利用率,基于雜草檢測的農(nóng)藥精準變量噴灑[2]研究十分必要。
雜草的準確定位與識別是實現(xiàn)精準除草的重要環(huán)節(jié)[3],對此,國內(nèi)外學者已經(jīng)進行了廣泛研究[4-19]。但這些研究存在以下不足:①單純的雜草定位識別只能確定雜草的具體方位,并進行識別,卻忽略了雜草的輪廓面積,使用相同劑量除草劑可能造成過噴或少噴,既浪費了除草劑,也達不到防治效果。②在實際應用中,作物跟雜草可能會互相遮掩并一同出現(xiàn),普通的分類很難準確識別復雜背景下的雜草。③簡單的作物雜草語義分割,只能區(qū)分不同類別的作物雜草,當多幅相同類別的作物雜草一同出現(xiàn)時,不能對每個作物雜草進行實例化的分割定位,這不利于確定每幅作物雜草的具體方位,對變量噴霧造成一定困擾?;诖?,本文提出基于Mask R-CNN[20]的雜草檢測分割方法,該方法結(jié)合目標檢測和語義分割,可使用ResNet-101[21]網(wǎng)絡(luò)提取復雜背景下的雜草圖像特征,利用區(qū)域建議網(wǎng)絡(luò)(Region proposal network,RPN)提取區(qū)域坐標特征,再利用區(qū)域特征聚集方法(RoIAlign)得到固定尺寸的特征圖,使用輸出模塊對特征圖進行分類回歸分割計算,完成復雜背景下雜草的具體方位、類別及輪廓的計算,根據(jù)雜草的輪廓面積和具體方位進行定位、定量的農(nóng)藥噴灑,以解決上述問題。
本文使用的雜草數(shù)據(jù)采集自陜西省自然環(huán)境下的玉米田間。采用Intel RealSense Depth Camera D435型相機距地面1 m處垂直拍攝,可以減少太陽光反射的影響。如圖1所示,在不同的日照強度、土壤背景(如濕度、麥稈殘茬)條件下,采集4種不同雜草(刺兒草、莎草、灰菜、早熟禾)和玉米幼苗圖像。共采集到6 000幅圖像,每種圖像為1 200幅。試驗中,將原始圖像調(diào)整為224像素×224像素,使用4 200幅圖像(每種為840幅)作為訓練數(shù)據(jù)集,剩下的1800幅圖像作為測試數(shù)據(jù)集。
為實現(xiàn)雜草分割網(wǎng)絡(luò)模型的訓練,本文使用圖像標注工具LabelMe[22]對雜草數(shù)據(jù)集樣本進行分割掩碼標記,完成圖像中雜草的標注,標注生成的json文件轉(zhuǎn)換為8位灰度圖作為樣本標簽,標注后的雜草及玉米掩碼圖像如圖2所示。
圖1 雜草和玉米圖像Fig.1 Images of weeds and corns
圖2 雜草及玉米手工分割掩碼示例Fig.2 Examples of weeds and corns manual segmentation masks
圖3 Mask R-CNN雜草檢測分割模型框架Fig.3 Mask R-CNN weed detection and segmentation model framework
將Mask R-CNN模型與目標檢測算法、FCN[23]分割算法相結(jié)合,可以在檢測目標的同時分割出目標輪廓。為了滿足精準農(nóng)業(yè)變量噴藥的需要,實現(xiàn)雜草的實時精準檢測識別,本文提出了基于Mask R-CNN的玉米田間雜草檢測分割方法,實現(xiàn)對復雜背景下雜草的識別、檢測、分割。該模型的框架如圖3所示。該模型由卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural networks,CNN)、區(qū)域建議網(wǎng)絡(luò)(RPN)、RoIAlign、輸出模塊4部分組成。①CNN:利用基層卷積神經(jīng)網(wǎng)絡(luò)提取包含雜草語義空間信息的特征圖。②RPN:將特征圖按比例映射到原圖像,并根據(jù)錨點在相應區(qū)域產(chǎn)生預選框(Bounding box,BBox),根據(jù)BBox與真實值的交并比(Intersection over union, IoU)[24]選出正、負樣本,進行分類回歸訓練,使用非極大值抑制(Non maximum suppression,NMS)[25]方法篩選BBox,選出雜草的預選區(qū)域。③RoIAlign:取消量化操作造成坐標值的偏差,使用雙線性內(nèi)插法獲得坐標為浮點數(shù)的像素圖像,根據(jù)預選區(qū)域的坐標位置,將特征圖的相應預選區(qū)域池化為固定尺寸的特征圖。④輸出模塊:由分類回歸模塊和FCN模塊構(gòu)成,分類回歸模塊負責特征圖目標的類別分類及目標框回歸,F(xiàn)CN模塊負責計算目標的像素,進行目標輪廓的分割。
ResNet-101網(wǎng)絡(luò)結(jié)構(gòu)有101層網(wǎng)絡(luò),可以充分獲取雜草圖像的語義、空間信息,本文基層卷積神經(jīng)網(wǎng)絡(luò)采用含有5個網(wǎng)絡(luò)模塊層的ResNet-101網(wǎng)絡(luò)結(jié)構(gòu),進行雜草樣本圖像的特征提取。其網(wǎng)絡(luò)結(jié)構(gòu)如表1所示。
RPN的功能是計算圖像目標區(qū)域的預選框,2.1節(jié)中已經(jīng)用卷積神經(jīng)網(wǎng)絡(luò)獲得了雜草圖像的特征圖,RPN在雜草特征圖上用3×3滑動窗口進行全圖的滑動生成,然后生成2個1×1的卷積層。①邊框回歸層(reg-layer):用于計算BBox的中心坐標值x、y以及寬w、高h(BBox坐標是指原圖的坐標偏移)。②目標分類層(cls-layer):用于判斷該區(qū)域是否包含目標。將特征圖的錨點映射到原圖像,計算錨點跟期望區(qū)域的IoU,IoU大于0.7時為正樣本,IoU小于0.3時為負樣本,其余不計算,經(jīng)過迭代訓練產(chǎn)生一定數(shù)量的BBox,使用非極大值抑制方法去除重疊的BBox,得出雜草的預選區(qū)域。其中RPN的損失函數(shù)為
表1 ResNet-101網(wǎng)絡(luò)結(jié)構(gòu)Tab.1 ResNet-101 network architecture
(1)
(2)
(3)
(4)
(5)
(6)
(7)
式中i——錨點的序號Ncls——分類層數(shù)
Nreg——回歸層數(shù)
pi——樣本被預測為包括目標的概率
ti——預測邊界框的4個參數(shù)化坐標
Lcls——樣本分類中的損失函數(shù)
Lreg——樣本回歸損失函數(shù)
λ——平衡參數(shù)
xa、ya、wa、ha——錨點邊界框的中心坐標值及寬、高
x*、y*、w*、h*——真值邊界框的中心坐標值及寬、高
pu——真值類別u的預測概率
smoothL1——魯棒范式損失函數(shù),比范式損失函數(shù)具有更強的適應性
在Fast R-CNN[26]、Faster R-CNN[27]、R-FCN[28]檢測框架中,使用RoI Pooling根據(jù)候選區(qū)域的坐標位置將特征圖的相應預選區(qū)域池化為固定尺寸的特征圖,便于進行后續(xù)分類和預選框回歸操作。RoI Pooling運算過程中存在兩次量化,導致得出的預選框與第一次回歸產(chǎn)生的預選框不匹配,影響檢測與分割精度。為了解決上述問題,提高檢測與分割的精度,本文提出了RoIAlign方法。RoIAlign取消量化操作,遍歷各個預選區(qū)域,保持邊界浮點數(shù)不做量化,將預選區(qū)域分割成f×f個單元,每個單元的邊界不做量化,用雙線性內(nèi)插法計算每個單元4個位置的值,然后進行最大池化操作。結(jié)果表明,RoIAlign可以在小誤差下將RPN產(chǎn)生的預選區(qū)域調(diào)整為固定尺寸的特征圖。
輸出模塊由分類、回歸、FCN等部分組成,RoIAlign層輸出的每一個感興趣區(qū)域(Region of interest,RoI)經(jīng)過卷積核為1×1的兩個卷積層、FCN層后劃分為3個分支,前兩個分支用于分類回歸運算,分類分支計算目標與真實標簽的分類損失,回歸分支計算預測框與真實框的回歸損失,F(xiàn)CN分支用于RoI像素計算。FCN層通過反卷積層對RoI進行上采樣計算,使其恢復到原圖像尺寸,并計算RoI區(qū)域像素值與原圖像區(qū)域像素值的平均二進制交叉熵。輸出模塊的RoI損失函數(shù)為
L=Lcls+Lreg+Lmask
(8)
圖4 玉米及雜草的AP與mAP值隨迭代次數(shù)的變化曲線Fig.4 AP and mAP values change curves of corn and associated weeds with iterations
(9)
式中L——模型總代價損失函數(shù)
Lmask——平均二進制交叉熵損失函數(shù)
s——像素數(shù)量
p(si)——si預測類別的概率
針對每個RoI,Mask分支有Ks2個輸出,并對K個尺寸為s2的Mask編碼,每個Mask有K個類別,然后使用sigmod函數(shù)對每個像素進行分類。
最終,分類分支計算出候選區(qū)域的類別,回歸分支計算出候選區(qū)域的位置邊界框,F(xiàn)CN模塊計算出候選區(qū)域的像素。從而準確地檢測分割出雜草的類別、位置和輪廓。
使用TensorFlow-GPU構(gòu)建了基于Mask R-CNN的雜草檢測分割模型,硬件環(huán)境為GeForceGTX1080Ti GPU,IntelXeonE5-2630@2.20 GHz×20 CPU,使用訓練集對該模型進行訓練。學習率設(shè)為0.001,每次迭代的批處理量(Batch size)設(shè)為32,模型一共迭代20 000次。
使用均值平均精度 (Mean average precision,mAP)作為雜草分割的評估指標,每一個類別都可以根據(jù)召回率(Recall)和精確率(Precision)繪制一條曲線,平均精度(Average precision,AP)是該曲線與坐標軸圍成的面積。mAP是由對全部類別的AP值求平均值得到,其計算公式為
(10)
(11)
(12)
(13)
式中P——精確率R——召回率
TP——被正確預測為正樣本的數(shù)量
FP——負樣本被預測為正樣本的樣本數(shù)量
FN——正樣本被預測為負樣本的樣本數(shù)量
n——類別數(shù)目AP——平均精度
mAP——均值平均精度
在模型訓練過程中記錄各個類別的AP值并計算mAP,統(tǒng)計結(jié)果如圖4所示,隨著模型訓練的不斷深入,各類別的AP值逐步提高并達到較高的穩(wěn)定值。
圖5 3種方法對雜草和玉米數(shù)據(jù)集的分割樣例 Fig.5 Weed dataset segmentation sample of three methods
為了驗證所提出的基于Mask R-CNN的雜草檢測分割方法的有效性,本文將DeepMask[29]、SharpMask[30]方法與本文方法進行試驗對比,DeepMask首先輸出一個與類別無關(guān)的分割掩碼,然后再輸出該圖像補丁在完整對象上居中的概率,DeepMask通過學習實例嵌入,將粗形狀細化為實例級掩碼。SharpMask是DeepMask的擴展,首先在前饋傳遞中生成粗略掩碼編碼,然后使用連續(xù)較低層的特征在自上而下的傳遞中細化此掩碼編碼,讓掩碼更好地粘附到對象邊界。選用1 800幅玉米、雜草圖像對3個方法進行測試比較,其中刺兒草、莎草、灰菜、早熟禾、玉米各360幅,在IoU為0.5時,3種方法的AP、mAP如表2所示,可以得知,本文方法在玉米雜草數(shù)據(jù)集上mAP可達到0.853,優(yōu)于SharpMask、DeepMask的0.816、0.795,3種方法的單樣本耗時分別為280、256、248 ms,可滿足實時田間農(nóng)藥變量噴灑的控制要求。圖5為玉米、雜草數(shù)據(jù)分割樣例。由表2、圖5可知,3種方法對刺兒草、灰菜的分割效果最好,對玉米、莎草的分割效果較差,原因可能是刺兒草、灰菜的圓形葉片比玉米、莎草的條形葉片更易區(qū)分。由圖5可知,本文方法相對于DeepMask、SharpMask,不會出現(xiàn)欠分割、過分割的情況。綜上所述,本文方法的分割效果優(yōu)于DeepMask、SharpMask方法。
表2 3種方法在玉米、雜草數(shù)據(jù)集上的測試結(jié)果Tab.2 Results of three methods on datasets of corn weeds
為測試本文方法在復雜背景下的分割效果,共采集300幅復雜背景下的玉米、雜草圖像進行分割測試,同時,與DeepMask、SharpMask方法進行對比,3種方法的分割測試結(jié)果如圖6所示,圖中橙色表示玉米,綠色表示雜草。在IoU為0.5時,3種方法的AP、mAP如表3所示,Mask R-CNN的mAP為0.785,遠高于SharpMask、DeepMask的0.684、0.462,3種方法在復雜背景下的單樣本耗時分別為285、260、252 ms。由圖6、表3可知,3種方法對玉米的分割效果優(yōu)于雜草,主要原因可能是雜草不夠明顯。由圖6可知,SharpMask方法對玉米及雜草都出現(xiàn)了欠分割現(xiàn)象,DeepMask方法分割效果更差,而本文方法仍有很好的分割效果。因此,本文方法可用于復雜背景下的玉米雜草分割。
圖6 分割樣例 Fig.6 Segmetation samples
表3 3種方法在復雜背景數(shù)據(jù)集上的測試結(jié)果Tab.3 Test results of three methods on complex background datasets
為了驗證本文方法的可行性,采用如圖7所示的變量噴灑裝置進行試驗驗證。該設(shè)備主要由驅(qū)動系統(tǒng)、支架系統(tǒng)、噴藥系統(tǒng)3部分組成。驅(qū)動系統(tǒng)由發(fā)動機、傳動系統(tǒng)、驅(qū)動輪、變速箱等組成。支架系統(tǒng)由方向機、地盤架、藥箱、橫梁、橡膠輪及橡膠輪支撐架組成。噴藥系統(tǒng)由驅(qū)動液壓馬達、高壓噴藥泵、過濾器、電磁閥、噴管支架、攝像頭等組成。
圖7 變量噴灑裝置Fig.7 Spraying device1.電磁閥噴頭 2.左橫向噴桿 3.左桁架 4.中間桁架 5.中間橫向噴桿 6.噴桿折疊機構(gòu) 7.右桁架 8.噴藥管 9.右橫向噴桿 10.橫向噴桿噴頭 11.攝像頭
田間噴藥流程如圖8所示。試驗中,噴灑裝置行走速度為0.2 m/s,共前進25 m,攝像頭每0.5 s采集一幅視場內(nèi)含玉米植株行間隙與玉米植株行的圖像,圖像經(jīng)過本文方法處理,獲取圖像中玉米、雜草目標的位置、標簽和像素。單片機根據(jù)圖像的位置標簽信息,計算出距離雜草最近的噴頭。根據(jù)分割像素,單片機控制電壓,調(diào)節(jié)電磁閥開度,對雜草進行變量噴霧,從獲取圖像到電磁閥噴灑的平均時間為0.98 s。田間試驗如圖9所示。
田間試驗于2019年4月29日(天氣晴、微風、空氣相對濕度78%)在山東省泰安市山東農(nóng)業(yè)大學南校區(qū)玉米試驗田中進行。試驗田玉米植株行間距50 cm,株距10 cm,植株高度20 cm。方案1:在玉米植株行間放置3個電磁閥噴頭,攝像頭在電磁閥噴頭前方30 cm處居中放置,如圖9c所示。 根據(jù)模型分割檢測得出玉米植株行間雜草位置,相應的電磁閥噴頭打開進行噴霧,噴霧效果如圖9e所示。方案2:在玉米植株間及行間各放置一個電磁閥噴頭,攝像頭在電磁閥噴頭前方30 cm處居中放置,如圖9d所示,雜草處于玉米植株行間時,相應的電磁閥噴頭打開噴霧,雜草處于玉米植株間時,控制玉米植株間的電磁閥噴頭打開噴霧,噴霧效果如圖9f~9h所示??紤]到控制系統(tǒng)響應時間造成的延遲噴霧,將攝像頭置于電磁閥噴頭前方30cm處提前探測,攝像頭與地面垂直距離50 cm,視場角30°,攝像頭與單片機連接,單片機連接電磁閥噴頭,用于控制電磁閥的開啟,如圖9a所示。單片機通過WiFi與計算機連接,將獲取的圖像信息通過WiFi傳給單片機,傳輸過程如圖9b所示。試驗同時,在玉米、雜草葉片一側(cè)覆蓋水敏紙,進行噴霧測試,噴灑后的水敏紙如圖9i所示。方案1噴灑靠近玉米一側(cè)的雜草時,容易造成對玉米的誤噴,因此本次試驗采用方案2。
圖8 工作流程圖Fig.8 Working process chart
圖9 田間試驗Fig.9 Field experiment
試驗噴灑過程耗時312 s,共采集玉米、雜草現(xiàn)場圖像608幅,其中包括1 728株玉米, 936株雜草,本文方法對圖像的識別結(jié)果如表4所示。由表4可知,本文方法對田間雜草的識別準確率為91%,識別出雜草并準確噴霧的準確率為85%,識別出雜草但沒有噴霧的主要原因是田間地面顛簸、風力、電磁閥噴頭等因素的影響,電磁閥噴頭對識別的雜草噴灑農(nóng)藥時不能完全覆蓋(霧滴漂移導致部分雜草區(qū)域沒有噴灑)。對玉米的誤噴率為3%,在噴灑過程中玉米被識別為雜草的概率為6%,玉米被識別為雜草并噴霧的概率為4%,在無雜草、無玉米情況下,被誤識別為雜草的概率為2%,噴霧的概率為1%。造成被誤噴的主要原因是某些雜草靠近玉米根部,噴灑時玉米葉片遮蓋了雜草,從而導致玉米被誤噴。
表4 本文方法對現(xiàn)場圖像的識別結(jié)果Tab.4 Identification results of field images by proposed method 株
霧滴覆蓋密度是判斷霧滴變量噴灑效果的重要參數(shù),是指霧滴收集裝置單位面積上所收集的霧滴個數(shù),采用文獻[31]相同的軟件及方法獲取水敏紙上的總霧滴個數(shù)。霧滴覆蓋密度計算公式為
(14)
式中N——霧滴總數(shù),個
M——水敏試紙總面積,cm2
根據(jù)田間實際噴灑的統(tǒng)計結(jié)果,本試驗準確噴霧的雜草農(nóng)藥霧滴覆蓋密度為55個/cm2,根據(jù)袁會珠等[32]關(guān)于霧滴覆蓋密度與農(nóng)藥防治效果的關(guān)系研究可知,農(nóng)藥霧滴覆蓋密度大于28個/cm2時即可達到理想的防治效果。
(1)在IoU為0.5時,本文方法在玉米、雜草數(shù)據(jù)集上的mAP為0.853,優(yōu)于SharpMask、DeepMask的0.816、0.795。本文方法相比SharpMask、DeepMask具有更好的分割效果,本文方法的單樣本耗時為280 ms,滿足田間雜草變量噴灑的實時控制要求。
(2)在玉米、雜草數(shù)據(jù)集上進行分割測試,結(jié)果表明,本文方法可準確檢測出圖像中雜草目標的類別、位置和輪廓,對復雜背景下的雜草仍有良好的分割效果,單樣本耗時285 ms,滿足復雜背景下的雜草識別檢測。
(3)在田間變量噴藥試驗中,雜草識別準確率為91%,識別出雜草并準確噴霧的準確率為85%,準確噴霧的雜草農(nóng)藥霧滴覆蓋密度為55個/cm2,裝置對每幅圖像的平均處理時間為0.98 s,滿足農(nóng)藥變量噴灑的控制要求。