河北農(nóng)業(yè)大學(xué) 韓藝銘 馬志凱 楊舒雅 趙旭東 馮志立
隨著農(nóng)業(yè)現(xiàn)代化的發(fā)展,農(nóng)機(jī)自動(dòng)導(dǎo)航技術(shù)成了提高農(nóng)業(yè)生產(chǎn)效率和質(zhì)量的重要手段。農(nóng)田機(jī)械自主導(dǎo)航技術(shù)先后經(jīng)歷了農(nóng)田觸桿導(dǎo)航、引線電纜導(dǎo)航、地磁導(dǎo)航、無線電導(dǎo)航和激光導(dǎo)航等多種方式[1]。目前,常用的農(nóng)機(jī)自動(dòng)導(dǎo)航技術(shù)有基于北斗衛(wèi)星的導(dǎo)航技術(shù)和基于圖像識(shí)別的導(dǎo)航技術(shù)[2]。
基于北斗的導(dǎo)航技術(shù)是利用衛(wèi)星信號(hào)來確定農(nóng)機(jī)的位置和方向,再通過控制器來調(diào)節(jié)農(nóng)機(jī)的行駛軌跡。需要多個(gè)衛(wèi)星定位,成本較高。且當(dāng)遇到復(fù)雜地形,如被樹木、高大建筑物遮擋時(shí),導(dǎo)航精度和可靠性大大降低。
基于圖像識(shí)別技術(shù)的導(dǎo)航技術(shù)是利用相機(jī)傳感器采集田間圖像信息,然后通過圖像處理、分析和理解算法提取圖像中的特征信息,如顏色、紋理、形狀等[3],并根據(jù)這些特征信息來判斷農(nóng)機(jī)的位置和方向以及田間地頭的位置和形狀。這種技術(shù)具有成本低廉、不受信號(hào)干擾、對(duì)田間地頭識(shí)別能力強(qiáng)等優(yōu)點(diǎn),但也存在一些缺點(diǎn),如光照條件、作物類型、生長期等因素會(huì)影響圖像質(zhì)量和穩(wěn)定性,因此需要設(shè)計(jì)復(fù)雜的算法來處理多樣化且噪聲大的圖像數(shù)據(jù)。
本文旨在設(shè)計(jì)一種基于圖像識(shí)別并結(jié)合地頭路標(biāo)識(shí)別的田間導(dǎo)航車。
國外的科學(xué)家很早便開始了對(duì)機(jī)器視覺與農(nóng)用機(jī)械結(jié)合的相關(guān)試驗(yàn)及設(shè)計(jì)。機(jī)器視覺理論由美國的Marr 教授創(chuàng)立[4],伴隨著計(jì)算機(jī)應(yīng)用領(lǐng)域的擴(kuò)大,機(jī)器視覺逐漸在多個(gè)領(lǐng)域得到應(yīng)用。Gerrish 和Fehr 等利用作物與土壤顏色的差別在拖拉機(jī)上完成了玉米秧苗行視覺導(dǎo)航實(shí)驗(yàn)[5]。
我國的視覺導(dǎo)航技術(shù)發(fā)展迅速,并得到了廣泛應(yīng)用。王榮本等設(shè)計(jì)了一套基于機(jī)器視覺的玉米施肥智能機(jī)器系統(tǒng),該系統(tǒng)通過彩色CCD 攝像機(jī)系統(tǒng)對(duì)拖拉機(jī)實(shí)現(xiàn)了視覺導(dǎo)航[6]。許國瑞等對(duì)農(nóng)業(yè)機(jī)器人行走方向識(shí)別進(jìn)行了研究,采用視覺傳感技術(shù)對(duì)農(nóng)業(yè)智能機(jī)器人在田間壟溝環(huán)境下自主行走的方向及角度進(jìn)行識(shí)別,并運(yùn)用圖像處理及回歸分析擬合的方法指導(dǎo)機(jī)器人運(yùn)動(dòng)[7]。
基于圖像識(shí)別的自走式田間導(dǎo)航車主要由圖像識(shí)別系統(tǒng)、田間壟線保持系統(tǒng)、動(dòng)力驅(qū)動(dòng)系統(tǒng)和自動(dòng)剎車輔助系統(tǒng)組成。當(dāng)采集到圖片信息時(shí),圖像采集系統(tǒng)與圖像處理模塊同時(shí)運(yùn)行進(jìn)行判斷并輸出相應(yīng)信息給驅(qū)動(dòng)電機(jī),驅(qū)動(dòng)車輪做出相應(yīng)的動(dòng)作。小車基本結(jié)構(gòu)如圖1 所示。
圖1 小車整車結(jié)構(gòu)
圖像識(shí)別系統(tǒng)通過相機(jī)傳感器模塊實(shí)現(xiàn)采集田間實(shí)時(shí)圖像數(shù)據(jù);圖像處理模塊實(shí)現(xiàn)將采集到的圖像數(shù)據(jù)進(jìn)行預(yù)處理和特征提??;圖像分析模塊實(shí)現(xiàn)對(duì)提取到的特征信息進(jìn)行分類和匹配;圖像理解模塊實(shí)現(xiàn)根據(jù)分析結(jié)果生成可視化地圖,并判斷當(dāng)前位置和方向。
基于導(dǎo)航車實(shí)現(xiàn)的功能及操作難度,選用K210 開發(fā)板作為圖像處理系統(tǒng),實(shí)現(xiàn)低功耗執(zhí)行卷積神經(jīng)網(wǎng)絡(luò)計(jì)算。芯片針對(duì)邊緣推理場(chǎng)景設(shè)計(jì),用于圖像識(shí)別任務(wù)。內(nèi)置64 位400MHz 雙核RISC-V 處理器,運(yùn)算速度快,特性優(yōu)秀且可捕獲快速移動(dòng)的物體,獲取目標(biāo)大小、坐標(biāo)和種類信息??赏瓿蓪?duì)地頭路標(biāo)進(jìn)行檢測(cè)分類的任務(wù)。
田間壟線保持系統(tǒng)采用紅外循跡模塊,便于程序的編寫及控制。該模塊使用紅外探頭,壽命更長,穩(wěn)定性更高。多達(dá)4 路傳感器,能提前探測(cè)大角度轉(zhuǎn)彎的壟線,可以較好完成設(shè)計(jì)需求,且I2C 輸出不占用I0 口。
能源動(dòng)力采用兩節(jié)18650 電池,該電池容量大,單個(gè)容量達(dá)到1200mAh,使用壽命長,充放電次數(shù)約500次、安全性能高、標(biāo)準(zhǔn)電壓3.7V,充滿電后的電壓約為4.7V 對(duì)比其它電池的電壓較高,沒有記憶效應(yīng),因此不需要把電量放空后再充電,隨充隨用,十分方便。驅(qū)動(dòng)系統(tǒng)采用的減速電機(jī)配有霍爾測(cè)速碼盤,可判斷小車輪胎正反轉(zhuǎn)及速度參數(shù)。該電機(jī)減速比為1:42,扭矩2.3N·m 性能較好,可使小車行駛平穩(wěn),轉(zhuǎn)向靈活。
為了控制的簡潔化,在不影響功能的情況下,自動(dòng)剎車輔助系統(tǒng)采用超聲波模塊作為前車距離檢測(cè)裝置,該模塊工作頻率為40KHz,測(cè)量角度為15 度,可探測(cè)前方20cm~400cm 物體,距離較遠(yuǎn),完全符合本次設(shè)計(jì),需求通信方式為IIC 通信。
在圖像識(shí)別中,構(gòu)建模型十分重要。模型的內(nèi)容,除了核心識(shí)別引擎,也包括各種配置參數(shù)。成熟的識(shí)別引擎,核心內(nèi)容不能經(jīng)常改變,為達(dá)到準(zhǔn)確識(shí)別這一目標(biāo),需要進(jìn)行配置參數(shù)調(diào)整。對(duì)于不同的輸入配置不同參數(shù)值,最后在結(jié)果統(tǒng)計(jì)取一個(gè)各方比較均衡、識(shí)別率較高的一組參數(shù)值。這組參數(shù)值,就是訓(xùn)練后的結(jié)果。
基于圖像識(shí)別的田間導(dǎo)航車需要大量數(shù)據(jù)得到較為精準(zhǔn)模型,可通過手機(jī)、K210 采集、爬蟲爬取等途徑獲取圖片進(jìn)行訓(xùn)練。通過實(shí)踐,爬蟲爬取圖片雖然速度極快,但會(huì)混入大量無用數(shù)據(jù),因此需要進(jìn)行篩選。開發(fā)板采集圖片無須調(diào)整,但像素較低,會(huì)影響模型精度。手機(jī)雖然需要用Image_tool 改動(dòng)格式為224*224 大小,但是拍照照片質(zhì)量極佳,訓(xùn)練模型精度較好。本設(shè)計(jì)采用了手機(jī)獲得數(shù)據(jù)集,訓(xùn)練標(biāo)識(shí)采用圓形圖標(biāo),2000 張圖片,訓(xùn)練100 輪。從而保證訓(xùn)練模型精確,數(shù)據(jù)量足夠大,訓(xùn)練次數(shù)足夠多。
數(shù)據(jù)標(biāo)注是向訓(xùn)練數(shù)據(jù)集添加元數(shù)據(jù)的過程。這種元數(shù)據(jù)通常采用標(biāo)簽的形式,可以添加到任何類型的數(shù)據(jù)中,包括文本、圖像和視頻。數(shù)據(jù)標(biāo)注是數(shù)據(jù)預(yù)處理中不可缺少的階段,因?yàn)楸O(jiān)督式機(jī)器學(xué)習(xí)模型可以學(xué)習(xí)識(shí)別標(biāo)注數(shù)據(jù)中重復(fù)出現(xiàn)的模式。當(dāng)一個(gè)算法處理了大量的標(biāo)注數(shù)據(jù)后,算法可以在新的、未標(biāo)記數(shù)據(jù)出現(xiàn)時(shí)識(shí)別相同的模式。
本次設(shè)計(jì)只需要在獲得數(shù)據(jù)中標(biāo)記出機(jī)器需要辨識(shí)的目標(biāo),不需要判斷目標(biāo)圖像的位置,屬于物體分類,其標(biāo)注方法是較為簡單快捷的圖像標(biāo)注方法,僅將一個(gè)標(biāo)簽應(yīng)用于一張圖像,不用考慮目標(biāo)處于視野范圍的位置,既符合需求又較為簡單。本次設(shè)計(jì)數(shù)據(jù)標(biāo)注使用labelImg 工具進(jìn)行標(biāo)注,該工具使用比較方便。圖片標(biāo)注如圖2 所示。
圖2 使用labelImg 標(biāo)注數(shù)據(jù)集
選用直行、停止、左轉(zhuǎn)、右轉(zhuǎn)以及調(diào)頭作為分類類別。將處理完成的數(shù)據(jù)和標(biāo)注成的xml 文件分別放入相應(yīng)的文件夾進(jìn)行模型訓(xùn)練。為實(shí)現(xiàn)訓(xùn)練好的模型能在機(jī)器未見過的數(shù)據(jù)上表現(xiàn)較好,將可用數(shù)據(jù)分割成3部分。第一部分是較大的數(shù)據(jù)子集,用作訓(xùn)練集,第二部分是較小的子集,用作測(cè)試集。第三部分為驗(yàn)證集。利用訓(xùn)練集建立預(yù)測(cè)模型,將訓(xùn)練好的模型應(yīng)用于測(cè)試集進(jìn)行預(yù)測(cè)。根據(jù)模型在測(cè)試集上的表現(xiàn)來選擇最佳模型,并進(jìn)行超參數(shù)優(yōu)化。該模型訓(xùn)練使用Mx-yolov3進(jìn)行模型訓(xùn)練,實(shí)現(xiàn)準(zhǔn)確識(shí)別不同的路標(biāo)信息并進(jìn)行分類。模型準(zhǔn)確度經(jīng)過實(shí)機(jī)檢測(cè),將模型由yolov2.tflite模型文件轉(zhuǎn)化為kmodel 模型文件,將模型、固件以及檢測(cè)程序燒錄進(jìn)開發(fā)板,實(shí)機(jī)檢測(cè)后,得到較為準(zhǔn)確的識(shí)別結(jié)果。
圖像處理系統(tǒng)利用攝像機(jī)收集田間地頭路標(biāo)圖片并把收集后的數(shù)據(jù)送到開發(fā)板, 再利用開發(fā)板上的KPU 上跑YOLO 目標(biāo)檢測(cè)算法來實(shí)現(xiàn)目標(biāo)檢測(cè)的功能,通過記錄圖像的主要特征,比較所得到的圖片和已記錄的圖像之間的接近度。迅速確定兩幅畫面是否相同,畫面有無變化或做出基本的分類。通過研發(fā)的模型搭建,可對(duì)圖像數(shù)據(jù)進(jìn)行標(biāo)注并賦予含義。導(dǎo)航車將標(biāo)注區(qū)域識(shí)別為一種不同類型的對(duì)象,還可識(shí)別、屏蔽敏感內(nèi)容,引導(dǎo)識(shí)別任務(wù)。當(dāng)識(shí)別到某一田間信息時(shí),經(jīng)過一系列處理向電機(jī)發(fā)送指令,從而使小車做出相應(yīng)動(dòng)作。
壟線保持系統(tǒng)通過紅外檢測(cè)不同顏色的物體表面具有不同的反射強(qiáng)度,對(duì)壟線進(jìn)行識(shí)別和提取。田間作物通常為綠色或者黃色,與棕黑色土壤有明顯差別。當(dāng)紅外線遇到綠色和黃色作物時(shí)發(fā)生反射,反射光被小車的接收管接收。遇到棕黑色土壤時(shí),紅外光被吸收。主控單元根據(jù)是否收到反射回來的紅外光為依據(jù)來確定土壤的位置和小車的行走路線。
自動(dòng)剎車輔助系統(tǒng)使用超聲波傳感器發(fā)射超聲波,而受波器收到了這種反射信號(hào)后,從收到反射信號(hào)的有無、多少以及從發(fā)射超聲波傳感器到接受反射信號(hào)所需要的時(shí)間和超聲速度之間的關(guān)系來測(cè)量對(duì)象物體的有無以及感應(yīng)器和對(duì)象物體之間的距離,以保證田間工作的安全性。
4.2.1 圖像識(shí)別準(zhǔn)確性
小車可通過模擬訓(xùn)練達(dá)到實(shí)現(xiàn)設(shè)施農(nóng)業(yè)廣泛場(chǎng)景的目的。選取抓取樣本數(shù)200,訓(xùn)練次數(shù)100 進(jìn)行訓(xùn)練。采用GPU 進(jìn)行加速訓(xùn)練,經(jīng)測(cè)試,抓取樣本數(shù)200,訓(xùn)練次數(shù)100,置信度為0.75 的情況下,訓(xùn)練完成的tra_acc、val_acc 圖像模型acc 曲線不斷上升后趨于平緩,模型準(zhǔn)確度較好。經(jīng)過實(shí)機(jī)檢測(cè),識(shí)別準(zhǔn)確率均在70%以上。
4.2.2 作業(yè)精準(zhǔn)性
小車通過紅外傳感器保持壟線行駛在電機(jī)轉(zhuǎn)速為25r/min 情況下,直線行駛作業(yè)精度可達(dá)±2cm。確保小車轉(zhuǎn)彎、掉頭后自動(dòng)精準(zhǔn)對(duì)行。提高作業(yè)精度的同時(shí),保證導(dǎo)航的速度。滿足了精細(xì)化設(shè)施農(nóng)業(yè)需求,大大節(jié)省了勞動(dòng)力,提高農(nóng)機(jī)智能化的需求。
此智能田間導(dǎo)航車可以有效、廣泛地適用于設(shè)施農(nóng)業(yè)場(chǎng)景。通過圖像識(shí)別系統(tǒng)采集圖像進(jìn)行導(dǎo)航作業(yè),解決了小型農(nóng)田勞動(dòng)力需求量大和大型農(nóng)田采用衛(wèi)星導(dǎo)航受環(huán)境因素影響較大的問題。田間試驗(yàn)可在復(fù)雜多變的田間環(huán)境下,使導(dǎo)航車穩(wěn)定地沿著路徑自主行駛,并及時(shí)響應(yīng)地頭標(biāo)識(shí)指示或人為干預(yù)信號(hào)。