韋 為 ,謝聲揚(yáng) ,陸俊帆 ,寧志朋 ,何桂尖 ,隋明君 ,盧羅芳
(1.桂林航天工業(yè)學(xué)院,廣西 桂林 541004;2.廣西大學(xué),廣西 南寧 530004)
目前我國在果樹的農(nóng)藥噴灑領(lǐng)域主要是用人工作業(yè)的方式進(jìn)行噴灑,該方法不僅耗費(fèi)大量人力物力,而且效率也極為低下。基于果樹圖像識別的無人機(jī)農(nóng)藥噴灑空間定位研究仍然較少[1-2]。農(nóng)作物的圖像識別方法主要是采用在RGB顏色空間內(nèi),目標(biāo)圖像與背景顏色的區(qū)別,設(shè)定一個顏色閾值將農(nóng)作物所占的顏色像素與背景物的顏色像素相分離,最終達(dá)到農(nóng)作物圖像識別的目的[3]。但針對果樹的圖像識別方法目前還不是特別成熟[4-7]。
果園會根據(jù)果樹的種類不同而采用不同的種植間隔,不同果樹的樹冠直徑也不同,其空間分布的復(fù)雜程度將會對無人機(jī)進(jìn)行精確農(nóng)藥噴灑造成較大影響。本文以芒果樹為研究對象,通過CCD攝像頭拍照,然后應(yīng)用圖像識別的方法,獲得無人機(jī)噴灑農(nóng)藥的理想空間位置。對提高果樹的農(nóng)藥噴灑效率有較高的實(shí)際應(yīng)用價(jià)值。
圖像識別的基本過程為:將CCD攝像頭安裝在植保無人機(jī)下方懸掛點(diǎn)處。開啟圖像識別程序,開啟CCD攝像頭,操控植保無人機(jī)飛往芒果樹上方。用LABVIEW軟件編寫上位機(jī)軟件平臺開始調(diào)用CCD攝像頭拍照的圖像,從高空拍攝若干棵樹的樹冠圖像,并進(jìn)行圖像預(yù)處理,如若圖像的預(yù)處理效果不理想,則輸出相應(yīng)飛行指令,微調(diào)無人機(jī)飛行方位,直至圖像預(yù)處理結(jié)果理想為止。
將預(yù)處理理想的圖像經(jīng)由圖像識別程序進(jìn)行處理,提取圖片內(nèi)若干棵樹的大致輪廓,并通過程序算法去除多余的干擾物,而后標(biāo)記出每棵樹的質(zhì)心。選取其中一棵樹的質(zhì)心點(diǎn),使其與屏幕中心點(diǎn)基本對齊,從而確定無人機(jī)施藥的XY位置。輸入指令,將無人機(jī)調(diào)至施藥高度,系統(tǒng)通過果樹輪廓的面積與世界坐標(biāo)的對應(yīng)比例,判斷出樹頂與植保無人機(jī)的大致高度以及樹冠的大致直徑,實(shí)現(xiàn)自動控制無人機(jī)的路徑規(guī)劃以及施藥高度。具體原理流程如圖1所示。

圖1 定位識別原理流程圖
芒果樹的圖像預(yù)處理是圖像識別最重要的一步,主要目的是為了消除照片的雜亂信息。照片屬于彩色照片,芒果樹的樹葉以綠色為主。在實(shí)際情況中,種植芒果樹的果園通常會以固定的植株距離去種植芒果樹。但是由于果園的地理環(huán)境、天氣因素等外界因素的不同,通過芒果樹照片其樹葉可能受到陰影的干擾從而導(dǎo)致顏色與預(yù)期的綠色有所差異。若果園所確定的種植株距較密,則樹木與樹木之間很可能存在著樹葉的大量交集,并且圖像的背景物顏色也可能與樹葉大致相同。目前的識別方法主要是區(qū)分目標(biāo)物與背景物的顏色,從而進(jìn)行目標(biāo)圖像與背景物圖像的分割。當(dāng)干擾物的綠色分量與樹葉的綠色分量數(shù)值接近的時(shí)候,很可能會產(chǎn)生誤識別,這對圖像預(yù)處理有較大影響。對于部分種植株距大,背景物與芒果樹色差相對較大的果園,采用RGB顏色空間進(jìn)行圖像預(yù)處理是可行的,但是對于存在上述干擾情況的芒果園來說,采用RGB空間的圖像預(yù)處理方法則是不可行的。
嘗試把圖像預(yù)處理的方法從常規(guī)的RGB顏色空間轉(zhuǎn)換為HSV空間。HSV空間的三個分量H(色調(diào))、S(飽和度)、V(亮度)相對于RGB的三個分量來說,相互關(guān)聯(lián)度更小,更有利于芒果樹的圖像預(yù)處理。對芒果樹的預(yù)處理操作主要包括:圖像二值化處理、圖像膨脹處理、圖像較小面積元刪除處理、圖像連通區(qū)域質(zhì)心標(biāo)記處理等。圖像預(yù)處理過程如圖2所示,進(jìn)行小面積元刪除時(shí)可能會忽略某些面積相對較大的孔洞區(qū)域,此時(shí)可用WHITE循環(huán)檢測連通域的數(shù)量,進(jìn)而將其刪除。

圖2 圖像預(yù)處理過程
在圖像預(yù)處理的基礎(chǔ)上,采用質(zhì)心點(diǎn)與屏幕中心點(diǎn)重合的方法,實(shí)現(xiàn)路徑規(guī)劃功能。具體規(guī)劃方法如下:圖像以左下角為原點(diǎn),建立相對坐標(biāo)系。將目標(biāo)圖像質(zhì)心坐標(biāo)與屏幕中心坐標(biāo)提取出來,并利用公式1,將質(zhì)心坐標(biāo)與中心坐標(biāo)的相對距離計(jì)算出來。見圖3.


圖3 果樹中心標(biāo)定與對位流程圖
其中s為兩點(diǎn)之間的距離,x1、y1為中心點(diǎn)的相對坐標(biāo),x2、y2為質(zhì)心點(diǎn)的相對坐標(biāo)。利用LABVIEW軟件編寫條件語句程序:若x1-x2>0,y1-y2>0,則對無人機(jī)輸入向左下方移動的指令;若x1-x2>0,y1-y2<0,則對無人機(jī)輸入向左上方移動的指令;若x1-x2<0,y1-y2>0,則對無人機(jī)輸入向右下方移動的指令;若 x1-x2< 0,y1-y2< 0,則對無人機(jī)輸入向右上方移動的指令。由于攝像機(jī)是逐幀拍攝的,則圖片與圖片之間存在時(shí)間滯后,因此中心點(diǎn)與質(zhì)心點(diǎn)無法完全重合。對此,也為了節(jié)省識別時(shí)間,可以設(shè)定一個距離偏差范圍|δ|,即當(dāng)中心點(diǎn)與質(zhì)心點(diǎn)的距離s處于該偏差|δ|的范圍內(nèi)時(shí),可認(rèn)為中心點(diǎn)與質(zhì)心點(diǎn)基本重合。若s滿足條件,則對無人機(jī)輸入懸停指令。至此,下調(diào)無人機(jī)高度,通過調(diào)用MATLAB程序判斷連通域的面積,若當(dāng)面積達(dá)到預(yù)定值,則再次對無人機(jī)輸入懸停指令。此時(shí)無人機(jī)所在的位置即預(yù)想的施藥位置。
由于果樹種植間隙大致相同,因此可以首先人工將無人機(jī)懸停至適當(dāng)位置,隨后通過識別系統(tǒng)進(jìn)行識別,待識別完成后將無人機(jī)往某一方向固定飛行固定距離,此時(shí)無人機(jī)大致懸停在下一棵樹的上方,對此再利用識別系統(tǒng)進(jìn)行識別,以此不斷重復(fù)即可實(shí)現(xiàn)無人機(jī)施藥位置的路徑規(guī)劃。
芒果樹的樹冠直徑實(shí)際值是通過相機(jī)標(biāo)定的方法獲得的。在實(shí)際測量的過程中,由于受到地理?xiàng)l件約束,果園中的芒果樹之間高度是大致相同的,因此只要大致設(shè)定無人機(jī)與樹冠的高度,就可以不用考慮重新進(jìn)行相機(jī)標(biāo)定和相機(jī)畸變系數(shù)的影響。若想要使得相機(jī)標(biāo)定的精確度越高,則需要處理的圖片數(shù)量就要越多。處理的圖片達(dá)到10張以上便可達(dá)到預(yù)期的效果。
通過圖像預(yù)處理所獲得的芒果樹大致圖像,可以利用LABVIEW軟件進(jìn)行芒果樹實(shí)際直徑的大致標(biāo)定。其中,求取芒果樹實(shí)際直徑的方法如下:設(shè)芒果樹圖像相對面積為S′,絕對面積為S,無人機(jī)絕對高度為H,樹木絕對高度為H′,根據(jù)預(yù)先設(shè)定的拍攝距離為H和H′相減,通過芒果樹樹冠的絕對面積S與相對面積S′確定比例關(guān)系k=S/S′,得到芒果樹絕對面積S=S′×k.由于芒果樹的絕對面積大小大致不變,因此可認(rèn)為k的值也是大致保持不變。通過試驗(yàn)去測出k的值,進(jìn)而確定芒果樹的相對面積閾值范圍,若圖像中連通域的面積達(dá)到了該閾值范圍,即可認(rèn)為無人機(jī)達(dá)到了預(yù)想的施藥高度。
由于客觀因素的限制,本文通過搭建實(shí)驗(yàn)臺的方式進(jìn)行模擬實(shí)驗(yàn),如圖4所示,具體實(shí)驗(yàn)方法如下:用樹木模型代替真實(shí)樹木,使用相機(jī)在適當(dāng)高度拍攝樹木模型的俯視圖,之后將照片輸入電腦中,利用MATLAB軟件進(jìn)行仿真模擬。利用IF語句判斷出樹木中心點(diǎn)與照片中心點(diǎn)的相對位置,然后利用While循環(huán),通過坐標(biāo)點(diǎn)移動代替現(xiàn)實(shí)中的無人機(jī)移動。本實(shí)驗(yàn)中規(guī)定每次移動的距離為圖像橫坐標(biāo)最大值的4%.若兩坐標(biāo)點(diǎn)的相對距離s小于等于某一閾值范圍,則停止循環(huán),并輸出懸停指令。由于每張相片的大小存在差異,其坐標(biāo)的大小也存在著差異。在實(shí)驗(yàn)中規(guī)定s的閾值范圍。通過記錄循環(huán)次數(shù)N來模擬無人機(jī)飛行的次數(shù)。實(shí)驗(yàn)中,可以通過調(diào)整室內(nèi)光線亮度去代替現(xiàn)實(shí)中的光照強(qiáng)度、更換樹葉顏色代替不同季節(jié)的樹葉顏色。

圖4 實(shí)驗(yàn)平臺搭建圖
圖像識別結(jié)果如圖5所示,其中,加號為屏幕中心點(diǎn),乘號為無人機(jī)農(nóng)藥彈投放點(diǎn),黑點(diǎn)為樹冠中心點(diǎn)。

圖5 圖像識別結(jié)果圖
通過對70棵樹木模型進(jìn)行實(shí)驗(yàn)分析,實(shí)驗(yàn)結(jié)果如表1所示。

表1 實(shí)驗(yàn)結(jié)果
在本次實(shí)驗(yàn)過程中,一共選定了70棵芒果樹模型進(jìn)行測定,其中拍攝了420張照片,識別成功的照片有358張,正確率達(dá)到了85%以上。特別是在大種植間隙的情況下,其識別成功率更是高達(dá)97.2%.
從表1可以看出,在進(jìn)行晴天與陰天環(huán)境模擬時(shí),發(fā)現(xiàn)陰天環(huán)境下的識別率較晴天環(huán)境下的高,其原因是因?yàn)殛幪飙h(huán)境下,背景干擾物的顏色較暗,在進(jìn)行預(yù)處理的時(shí)候能較好的分割出來。同時(shí),在進(jìn)行小種植間隙類型果園的識別時(shí),需將H分量的閾值范圍縮小,從而避免圖像在進(jìn)行預(yù)處理時(shí),主樹木與干擾樹木之間形成相同連通域,導(dǎo)致后續(xù)處理時(shí)出現(xiàn)誤差。
通過圖像識別方法,本文完成了芒果樹的無人機(jī)施藥的空間定位分析:
(1)通過HSV空間進(jìn)行H值分割,去除了背景物的干擾,綜合運(yùn)用了多種圖像處理方法,多次運(yùn)用膨脹、刪除面積元、質(zhì)心標(biāo)記等方法實(shí)現(xiàn)了較為理想的圖像預(yù)處理。
(2)利用中心點(diǎn)重合的方法與相機(jī)標(biāo)定的方法確定了無人機(jī)的施藥位置,為實(shí)現(xiàn)無人機(jī)施藥的自動化路徑規(guī)劃提供了可靠的依據(jù)。