雷 琦,周建軍 ,邵 陽
(北京石油化工學(xué)院信息工程學(xué)院,北京 102617)
我國是水果生產(chǎn)大國,對水果的需求量也在不斷增長,近幾年來保持每年5%以上的增長速度,因此提高果園的農(nóng)業(yè)智能化水平是現(xiàn)階段的研究重點(diǎn)[1]。在果園環(huán)境中主要由果園機(jī)器人來實(shí)現(xiàn)采摘、噴藥等日常工作。其中,大部分果園機(jī)器人的導(dǎo)航路線是果樹行中心線,因此提取到的果園機(jī)器人導(dǎo)航中心線的優(yōu)劣直接影響到果園機(jī)器人主要作業(yè)功能。
目前,一些學(xué)者基于色彩、激光、雷達(dá)、霍夫變換等[2-3]提出較為成熟的導(dǎo)航中心線提取的算法,然而這些算法更適合用于邊界清晰的結(jié)構(gòu)化道路,在路面與環(huán)境顏色差異較小的果園跟蹤環(huán)境下不容易準(zhǔn)確得到道路邊界。在處理環(huán)境復(fù)雜的果園道路時(shí),基于紋理特征的算法具有優(yōu)良的光照魯棒性、實(shí)時(shí)性和準(zhǔn)確性,因此該方法可以很好的應(yīng)用于果園道路的識別。Rasmussen C等[4-5]率先提出通過2D Gabor濾波器計(jì)算紋理方向后采用全局硬投票算法獲取道路消失點(diǎn)位置,但是通過這種方法找到的消失點(diǎn)的準(zhǔn)確率不高。Kong等[6-7]根據(jù)Rasmussen C等的算法也提出一種新的投票方法,雖然提高了檢測結(jié)果的精度,但是該算法計(jì)算量較大且存在計(jì)算時(shí)間較長,從而導(dǎo)致實(shí)時(shí)性不高的問題。為了降低計(jì)算量,Bui等[8]提出了一種局部自適應(yīng)軟投票方法來獲取消失點(diǎn),該方法雖然比現(xiàn)有的算法計(jì)算速度更快,但正確率也相應(yīng)的有所下降。
為了從采集的果園道路圖像中計(jì)算出在樹行線中果園機(jī)器人行走路徑,筆者提出了一種基于紋理方向估計(jì)和消失點(diǎn)檢測的新道路區(qū)域檢測方法,在得到果樹樹行線之間的道路區(qū)域后通過算法計(jì)算得到果園道路的樹行中心線[9]。
針對果園的環(huán)境特點(diǎn),設(shè)計(jì)了一種新的基于紋理的果樹行消失點(diǎn)檢測算法。該算法是在通過紋理分析獲取像素點(diǎn)的紋理主方向后,設(shè)置置信區(qū)間和置信度篩選消失點(diǎn),最后通過投票算法選出最終的果樹行消失點(diǎn),并以檢測到的消失點(diǎn)為基礎(chǔ)獲取果園機(jī)器人導(dǎo)航中心線。果樹行中心線獲取流程如圖1所示。
圖1 果樹行中心線獲取流程Fig.1 Fruit tree row centerline acquisition process
基于紋理方向估計(jì)的消失點(diǎn)檢測的方法,使用Gabor濾波器得到果園圖片像素的紋理方向,然后根據(jù)消失點(diǎn)的置信度與置信區(qū)間篩選消失點(diǎn),將置信區(qū)間和置信度在一定范圍內(nèi)的像素保留為剩余消失點(diǎn),最后投票得出最終消失點(diǎn)。果園道路消失點(diǎn)檢測流程如圖2所示。
圖2 果園道路消失點(diǎn)檢測流程Fig.2 Orchard Road vanishing point detection process
圖像采集是獲取果園導(dǎo)航中心線的第1步,也是獲取果園路徑中心線的依據(jù)。通過搭載在小車上的工業(yè)相機(jī)Intel RealSense Depth Camera D435i進(jìn)行圖像采集,采集圖像之前,首先將D435i相機(jī)放置在智能小車的頂部位置。小車在果園環(huán)境中采集圖片的方式及采集到的圖片如圖3所示。
圖3 圖片采集Fig.3 Image capture
紋理是自然界中廣泛存在的一種物體表面特征,是圖像的固有屬性之一。紋理方向是通過計(jì)算的方法獲取物體固有的紋理特性,與其他顏色特征算法相比,基于紋理特征的算法能夠更有效地提取果園這種道路環(huán)境圖像像素的特征和方向,便于后續(xù)消失點(diǎn)的投票選擇和果園路徑提取[10]。
基于Gabor濾波器的紋理分析法可以很好地提取目標(biāo)的局部空間和頻域信息,是一種信號變換的空域-頻域分析方法。Gabor小波可以敏感地識別圖片的邊緣,適應(yīng)光照變化,而且可以進(jìn)行方向選擇和尺度選擇,上述特點(diǎn)使Gabor小波被廣泛應(yīng)用于圖形處理[11]。Gabor函數(shù)表達(dá)式為:
(1)
其中:x′=xcosθ+ysinθ;y′=-xsinθ+ycosθ,(x,y)為像素坐標(biāo)位置;φ為方向角;ω為徑向頻率;c為倍頻常數(shù)。
利用Gabor濾波器具有方向選擇和尺度選擇的特點(diǎn)分析圖像,從而提取圖像的紋理方向。紋理主方向提取主要步驟如下:
(1)建立Gabor濾波器:在估計(jì)紋理主方向時(shí),使用36個(gè)方向、5個(gè)尺度和c=2.2的Gabor濾波器,即選擇φ從0~175°,角度間隔為5°,而選擇ω從1~5,尺度間隔為1。選擇濾波器方向和尺度是根據(jù)實(shí)驗(yàn)證明的,方向和尺度在一定數(shù)量上的增多會(huì)增加檢測效果的精確度,但會(huì)增加計(jì)算量和檢測時(shí)間。
(2)定義果園道路圖像像素點(diǎn)z=(x,y)的灰度值為I(z),計(jì)算得到I(z)與Gabor濾波器的卷積結(jié)果Gω,φ(Z):
Gω,φ(Z)=I(Z)?Ψω,φ(Z)
(2)
(3)計(jì)算像素點(diǎn)z=(x,y)在不同方向下的平均紋理響應(yīng)值Rφ(z),其中Gω,φ(Z)的虛部與實(shí)部的平方和為方向φ為像素z=(x,y)的局部紋理特征;
(3)
(4)計(jì)算像素點(diǎn)z=(x,y)在紋理方向角θ(z)下的最大平均響應(yīng)值,并將其設(shè)定為像素z=(x,y)在的紋理主方向:
θ(z)=argmaxφRφ(z)
(4)
2.3.1 置信度選擇
確定消失點(diǎn)的最終位置對果園樹行中心線的提取有很大影響,因此精確地找到最終消失點(diǎn)位置非常重要。但是并不是計(jì)算得到的果園圖像中每個(gè)像素的紋理方向都是有效的。置信度概念由此被H.Kong提出,通過定義置信度函數(shù)篩選投票點(diǎn),并考慮投票點(diǎn)與其余消失點(diǎn)之間的距離,這種方法大大提高了消失點(diǎn)檢測的準(zhǔn)確率。
首先將36個(gè)方向的紋理響應(yīng)值排序r1(z)>…>r36(z),其中r1(z)=Rθ(z),響應(yīng)值通常在r5(z)~r15(z)之間,局部最大紋理響應(yīng)值為r5(z)~r15(z)的均值,因此定義像素z=(x,y)的置信水平函數(shù)為:
(5)
計(jì)算果園圖像像素的置信度后,歸一化處理所有置信度至[0,1],然后設(shè)1個(gè)閾值δ×(maxConf(z)-minConf(z)),當(dāng)該像素的置信度高于閾值,才能作為投票點(diǎn)參與之后的投票算法。換言之,置信水平大于閾值的像素點(diǎn)才有機(jī)會(huì)成為消失點(diǎn),通過實(shí)驗(yàn)選擇閾值為0.5。
2.3.2 置信區(qū)間選擇
通過設(shè)置置信度篩選消失點(diǎn)的方法可以篩選一部分紋理特征較弱的像素點(diǎn),但這種方法對特征較強(qiáng)干擾點(diǎn)的篩選能力較弱。實(shí)際上,如果干擾點(diǎn)具有較強(qiáng)紋理特征,那么他們對檢測結(jié)果的干擾能力更強(qiáng)。
通過對消失點(diǎn)檢測誤差較大的圖像統(tǒng)計(jì)研究發(fā)現(xiàn),干擾點(diǎn)的紋理方向一般是混亂的,這些干擾點(diǎn)通常出現(xiàn)在果園圖像的果樹的上半部分以及天空與道路的交界處。而果園道路區(qū)域大多數(shù)像素點(diǎn)的紋理方向在某個(gè)區(qū)間內(nèi)是有序的,這個(gè)范圍就是果園路徑的大致方向。
為了解決這些問題,提出置信區(qū)間概念,即比較每個(gè)像素的紋理方向與設(shè)定的置信區(qū)間,從而濾掉紋理特征強(qiáng)的干擾點(diǎn)。在實(shí)驗(yàn)過程中,選擇紋理方向上區(qū)間為[20°,160°]的像素作為投票消失點(diǎn),篩選后的像素可以對選中的投票點(diǎn)進(jìn)行投票。設(shè)置置信區(qū)間可以濾掉果園道路圖像中大多數(shù)干擾點(diǎn),有效降低了運(yùn)算量,同時(shí)也提高了消失點(diǎn)投票的準(zhǔn)確率。
2.3.3 篩選消失點(diǎn)的步驟
(1)首先采用Gabor濾波器提取出果園道路圖像像素點(diǎn)的紋理方向;
(2)降序排列36個(gè)方向的紋理響應(yīng)值;
(3)設(shè)置投票點(diǎn)的紋理方向?yàn)閇20°,160°],在紋理方向上篩除像素點(diǎn),只有滿足道路主方向定義的像素保留為投票點(diǎn);
(4)對篩選出來的像素計(jì)算置信度,最后得到有效投票點(diǎn)。
篩選掉無效消失點(diǎn)后,可以通過投票算法得到最終消失點(diǎn)。Kong等[6]提出的局部軟投票算法(LASV投票算法)如圖4所示。
圖4 局部軟投票的投票區(qū)域Fig.4 Voting area for local softballot
Vote(P,V)=
(6)
道路區(qū)域被定義為2個(gè)檢測到的道路邊界之間和估計(jì)的消失點(diǎn)以下的區(qū)域。提出以消失點(diǎn)為約束條件得到果園路徑邊界。
定義斜率分別為k1、k2且通過消失點(diǎn)V的2條直線,將他們作為果園路徑的邊界線,邊界方程式為:
(7)
設(shè)消失點(diǎn)p0的坐標(biāo)為(x0,y0),則方程的截距b1、b2表達(dá)式為:
(8)
將式(8)代入式(7)中,得到有1個(gè)末知變量的方程式:
(9)
問題最終轉(zhuǎn)化為求解式(9)中的斜率k1、k2,只要得到k1、k2的值,就可以得到一個(gè)形狀為三角形的果園路徑邊界。
從紋理分析中可以看出,大多數(shù)的像素紋理方向與路徑方向一致,即道路區(qū)域內(nèi)的路徑邊界、車轍等直線信息與果樹行邊界位置大致相同,由此可以推斷,像素紋理方向最多的方向即為道路邊界。因此,提出了一種基于紋理方向的果園路徑檢測算法,即果園路徑方向?yàn)榧y理分析中像素點(diǎn)紋理方向最多的方向。
為了減少運(yùn)算量,以檢測到的消失點(diǎn)位置進(jìn)行區(qū)域選擇,去除與果園道路區(qū)域無關(guān)的區(qū)域干擾。通過采集到的圖片分析可知,圖片上半部分基本上是與果園路徑無關(guān)的樹冠或天空等背景信息。因此將道路消失點(diǎn)所在位置以下部分作為有效道路區(qū)域。
得到果園有效道路區(qū)域后,路徑邊界分為左右邊界兩個(gè)方向,根據(jù)實(shí)際情況分析定義果園路徑左邊界的有效區(qū)間為20~90°,果園路徑右邊界的有效區(qū)間為90~160°。由于設(shè)計(jì)的算法中進(jìn)行紋理分析的濾波器有36個(gè)方向,因此定義36個(gè)累加器用于路徑方向的統(tǒng)計(jì)。對每個(gè)紋理方向上的有效投票點(diǎn)數(shù)量進(jìn)行統(tǒng)計(jì)后,在左右邊界線的取值區(qū)間內(nèi),定義果園路徑方向?yàn)橛行镀秉c(diǎn)數(shù)量最多即累加器值最大的方向作為果園路徑方向。
對定義的有效區(qū)域和范圍內(nèi)的每個(gè)紋理方向上的有效投票點(diǎn)數(shù)量進(jìn)行統(tǒng)計(jì)后,得到果園路徑的最大可能方向。在此基礎(chǔ)上,直線方程的斜率k1、k2可以由公式(10)確定:
k=tanθ
(10)
將式(10)代入到式(9)中,就可以得到果園路徑的左右2條邊界線。
在得到果園路徑左右兩邊的直線路徑之后,通過以下步驟求取中線:①定義其中1條果園路徑直線上的任意2個(gè)坐標(biāo)(x1,y1)和(x2,y2);②將y1和y2分別帶入另一條路徑直線方程中以求出對應(yīng)的2個(gè)橫坐標(biāo)x3和x4,得到左右兩邊果園路徑上的4個(gè)坐標(biāo)點(diǎn):(x1,y1),(x2,y2),(x3,y1),(x4,y2);③果園路徑的中心線2個(gè)新的坐標(biāo)為(x5,y1),(x6,y2),其中,
x5=(x1+x3)/2
(11)
x6=(x2+x4)/2
(12)
④利用(x5,y1),(x6,y2)可求出果園路徑的中心線,果園道路中心線的表達(dá)式為:
y=ax+b
(13)
在實(shí)驗(yàn)過程中,第1部分實(shí)驗(yàn)對H kong消失點(diǎn)檢測方法和筆者提出的消失點(diǎn)檢測方法進(jìn)行性能比較。第2部分實(shí)驗(yàn)檢驗(yàn)了獲取果園路徑邊界線以及導(dǎo)航中心線的準(zhǔn)確性。實(shí)驗(yàn)果園圖片數(shù)據(jù)集是通過采集北京市大興區(qū)龐各莊多個(gè)果園在各種光照及環(huán)境下的圖片形成,共有500幅。使用matlab2017a進(jìn)行程序編寫工作。實(shí)驗(yàn)的部分結(jié)果如圖5所示。
圖5 部分實(shí)驗(yàn)結(jié)果Fig.5 Partial experimental results
從圖5(a)與圖5(d)中可以看出,人工標(biāo)注的道路消失點(diǎn)位置與消失點(diǎn)檢測方法檢測到的消失點(diǎn)位置幾乎相同。從圖5(d)與圖5(e)中可以看出,所提出的消失點(diǎn)檢測方法相較于沒有設(shè)置置信區(qū)間的H kong檢測方法準(zhǔn)確率有所提高,所以以消失點(diǎn)為約束獲取的道路區(qū)域也更加精確。從圖5(f)中可以看出,提出的果樹行中線的提取方法在果園環(huán)境中應(yīng)用良好。
測試500幅采集的果園道路圖像后得出的算法性能參數(shù)如表1所示。從表1中可以看出,H Kong算法的運(yùn)算時(shí)間遠(yuǎn)超筆者所提出算法的運(yùn)算時(shí)間,且所提算法相較于H Kong算法準(zhǔn)確率也提高了6.6%,說明所提的置信區(qū)間的設(shè)置大大降低了算法的運(yùn)算量,同時(shí)提高了算法準(zhǔn)確率。
表1 算法性能比較
為了更加準(zhǔn)確地獲取果園機(jī)器人導(dǎo)航路徑以提高果園作業(yè)效率,筆者對果樹行導(dǎo)航中心線的提取方法進(jìn)行研究;提出了基于紋理分析的果樹行消失點(diǎn)檢測算法,然后以檢測到的消失點(diǎn)為約束獲取較準(zhǔn)確的果園道路邊界線,最后通過計(jì)算提取果樹行導(dǎo)航中心線。實(shí)驗(yàn)以500幅果園道路圖像為數(shù)據(jù)集,測試H Kong算法和提出的算法提取果樹行消失點(diǎn)的準(zhǔn)確率,結(jié)果表明:相較于H Kong算法,提出的算法準(zhǔn)確率提高了6.6%,且能夠準(zhǔn)確快速地獲取果樹行導(dǎo)航中心線。下一步筆者將會(huì)著重研究果園機(jī)器人在果樹行轉(zhuǎn)彎處的導(dǎo)航路徑提取方法。