張瑞森,萬興鴻,陳子穎,高 昕,唐亞南
(成都工業學院自動化與電氣工程學院,四川 成都 611730)
農業農村部種植業司的調查統計顯示,我國蔬菜和糧食作物的產量平穩增長,但每年雜草都會造成糧食和蔬菜的減產,雜草是影響農作物產量和食品安全的主要因素之一[1]。但目前田地里清除雜草常用的方式是人工、畜力、農藥,這些方式存在效率低、污染大、耗時耗力、使用有局限等問題[2]。所以,利用機器視覺發展的先進成果,結合人工智能機器人的發展趨勢,精準有效地對農田里的雜草進行識別與防治,從而提高農業的智能裝備水平,是農業未來發展的一條重要改革路徑。
為了使除草的效率更高,首先需要提高雜草的識別度。近年來,深度學習作為圖像識別和目標檢測的先進技術手段被廣泛使用,它具有學習能力強、覆蓋范圍廣、適應力好等優點,但是直接用于雜草識別存在著訓練樣本缺乏的問題[3]。由于雜草的種類繁多,需要使機器人對雜草的識別率更高,減少機器人在除草過程中對農作物的傷害,所以本課題采用循環一致性生成對抗網絡(cycle-generative adversarial networks,Cycle-GAN)的方法對較容易取得的植株樣本進行樣本擴增,再結合快速區域卷積神經網絡(Faster R-CNN)算法訓練初始化模型,在提升農作物識別的過程中實現了雜草的反向識別。由于新的混合算法同時提升了識別速度和識別率,所以可用于實時檢測,在農田除草、園林雜草清理等方面具有應用價值。
除草機器人是基于麥弗遜式懸架結構搭建的四輪移動平臺,該結構可以使機器人在凹凸不平的地形里較平穩地行進以保護平臺上搭載的精密器件。平臺上搭載有視覺模組、主控模塊、機械臂等設備。視覺模組位于機器人的上方,它能俯視地面,對農田的環境進行實時圖像采集傳送到主控模塊。主控模塊采用ARDUINO UNO R3芯片對接收到的實時視頻進行分析處理,在識別到雜草后將除草信號傳至機械臂,機械臂進行除草作業,在雜草被切除后機械臂又將信息反饋給主控模塊,此時,主控模塊進入下一輪的雜草檢測,機械臂便進入除草等待狀態。
機器人移動平臺的運動控制過程是通過主控模塊發送行進或停止信號給輔助控制模塊STM32芯片來實現的。在檢測到雜草時主控模塊會向輔助模塊發出停止信號,機器人原地等待;在主控模塊接收到機械臂的反饋后又會發出行進信號,輔助模塊控制機器人繼續行進。整個過程中機器人的多個控制模塊協同工作,大大提高了工作效率,可適用于多種場景的工作。該除草機器人的系統結構如圖1所示,3D結構設計圖如圖2所示[4]。

圖1 除草機器人的系統結構圖

圖2 除草機器人3D結構設計圖
生成式對抗網絡(GAN)是一種無監督學習的深度學習模型[5],由生成器和判別器兩個模型組成[6]。生成器主要通過風格遷移、物體變形等方式生成更多的圖像數據,然后由判別器去判斷圖像是否為真實存在的,最后通過反復的固定判別器訓練生成器、固定生成器訓練判別器的方式對網絡進行訓練,直至判別器不能區分圖片的真實性時完成訓練。Cycle-GAN網絡則是包含了兩個相互對稱的GAN網絡,并通過共用兩個生成器和兩個判別器來實現圖像之間的端到端的相互映射[7]。在文獻[8]中使用了一個對抗損失函數學習映射G:X→Y,使判別器不能將圖片G(X)和圖片Y準確地區分開來,又為映射G添加一個相反映射F:Y→X,使之成對,同時還加入了一個循環一致性損失函數,以確保F(G(X))≈X。其對抗損失函數為:

式(1)、式(2)中,DX、DY分別為X和Y的判別器,Pdata為真實圖像的分布,~為服從關系,(·)為期望。
循環一致性損失函數為:

式(3)中,‖·‖表示l1范數。
本課題將Cycle-GAN的圖像生成能力與Faster RCNN訓練網絡結合,訓練流程大致可分為樣本擴增、特征圖提取、區域生成網絡、ROI池化層、邊界分類與邊界框回歸五部分[9],其流程圖如圖3所示。

圖3 改進的Faster R-CNN流程圖
1)將采集到的圖像輸入到Cycle-GAN中,通過把圖像風格轉換的方式進行擴增,綜合兩者所得的樣本作為數據集進行圖像分類,然后將每張完整的圖片輸入到卷積層中進行特征提取,獲取特征圖。由于卷積殘差網絡ResNet 101只學習輸入和輸出有差別的部分,可以保護信息的完整性[10],在一定程度上可以解決很深的網絡無法訓練、梯度爆炸等問題。所以在文中采用ResNet 101作為特征圖像提取的網絡。
2)將經過卷積層提取到的特征圖片發送到RPN網絡中生成候選區域。通過非極大值抑制網絡提取置信度高的檢測框,采用二分類函數對目標和背景進行裁定,獲取區域候選框的精確位置。
3)通過池化層將輸入的特征圖像轉換成固定尺寸的輸出。
4)將固定大小的特征圖進行全連接操作,訓練其分類概率和邊框回歸,最后輸出候選區域所屬的類和在圖像中的精確位置。
由于實際環境中種植的植株種類遠少于生長在該環境下的雜草種類,所以本課題通過識別農田中種植的農作物的方式來反向識別雜草。在當地蠶豆種植地調查得知,蠶豆的種植間距為40 cm左右,有足夠的空間供除草機器人正常工作,所以文中以蠶豆為例進行試驗。采集圖像樣本為蠶豆開花前、花期時在不同光線下的照片以及生長在其周圍的雜草和其他農作物,每次圖像采集均在晴天、陰天不同光線狀態下進行,代表田間除草作業時可能的環境條件[11]。采集的圖像均為實際種植環境中獲得,分辨率為1 920×1 080像素,其中大部分圖像除蠶豆外還含豌豆等多種其他農作物與多種類型的雜草,如圖4所示。由Cycle-GAN網絡擴增生成的圖像樣本如圖5所示,從圖5也可看出本課題所使用的Cycle-GAN網絡可以增加樣本的數目,達到增強樣本的效果。

圖4 不同光線下采集的蠶豆圖(左:陰天,右:晴天)

圖5 Cycle-GAN網絡生成的圖像樣本
將Cycle-GAN網絡擴增的樣本和在自然環境下采集的樣本通過MATLAB中的標注工具Image Labeler進行人工分類和標記,構建數據庫,圖片標注界面如圖6所示。

圖6 Image Labeler標注界面
本課題采用MATLAB作為訓練平臺,在訓練集訓練過程中,設置訓練輪數為20輪,每輪迭代50次,學習效率均為1×10-4,訓練時將數據集中的圖片隨機不重復地[12]輸入到Faster R-CNN或改進的Faster R-CNN網絡中,得到訓練時的小批量損失曲線如圖7所示,從曲線圖可看出在改進的網絡中訓練的小批量損失更小,學習效率更高。

圖7 小批量損失曲線
為了進一步探究改進的Faster R-CNN網絡在雜草識別方面的可靠性,接下來對兩種網絡的實時訓練準確率進行了試驗,結果如圖8所示。從圖8可以看出,改進的Faster R-CNN網絡在樣本量缺少的環境下訓練結果更好,準確率更高。

圖8 實時識別準確率曲線
為了檢測本課題提出的改進的Faster R-CNN網絡在農田雜草識別中的適用性,在相同條件下對同一數據集處于不同的網絡中進行訓練,得到結果如表1所示。

表1 不同R-CNN網絡試驗結果對比
表1結果表明,在訓練樣本稀缺時三種網絡都能夠識別出農田中的農作物從而確定出雜草的位置,但是每種網絡的識別能力不同[12]。Fast R-CNN和Faster R-CNN在缺少訓練樣本時的訓練結果分別為83.56%與87.59%,而文中提出的將循環一致性生成對抗網絡置于Faster R-CNN網絡結構前的新網絡識別率可以達95.06%。由此可見,本課題提出的雜草識別方法在樣本稀缺的條件下有更高的容錯率,雜草識別度更高,可以適用于農田雜草的識別處理。
針對農作物中雜草識別問題的研究,本課題采用基于Cycle-GAN的圖像生成技術解決樣本不足的問題,文中還采用反向識別農作物的方法加快雜草識別速度,大大減小了訓練樣本的時間和種類。現階段平均目標的識別準確率為95.06%,后續將繼續探索提高初始化模型的訓練速度,提高檢測精度的研究。
由于知識、技術有限,且受農作物種植季節的影響,本課題僅針對蠶豆種植地出現有較多雜草的樣本進行訓練識別,接下來將會在更多的農作物中進行識別精度的訓練,并將該雜草算法應用到硬件系統進行實操訓練。