譚寶成,嚴 征
(西安工業(yè)大學(xué) 電子信息工程學(xué)院,陜西 西安 710021)
道路檢測是無人駕駛智能車進行自主導(dǎo)航的一個重要研究內(nèi)容,它將道路區(qū)域與周圍環(huán)境進行區(qū)分,為無人車提供道路的可行區(qū)域。在高速公路、市區(qū)環(huán)境下,特殊的道路邊界等已作為一種障礙物成為新的研究內(nèi)。現(xiàn)有的道路檢測方法大部分都基于灰度或彩色圖像[1-2],視覺技術(shù)信息量比較豐富,可以實現(xiàn)對道路邊界的識別。但視覺易受光照條件變化的影響,若環(huán)境復(fù)雜時,當(dāng)?shù)缆穮^(qū)域存在陰影、裂縫、水跡等干擾因素時,對道路邊界的提取將是非常困難的,上述方法將難以得到正確的道路邊界檢測結(jié)果。目前,使用較多的測距傳感器,如雷達傳感器或激光傳感器[3],可以直接給出距離信息,且對環(huán)境和氣候的變化有較強的適應(yīng)能力,我們注意到路與非路區(qū)域的交界處通常存在的道路邊界,例如道路兩側(cè)的道沿、生成的雜草、矮墻等,由于激光測距雷達幾乎不受外界因素影響,為此本文選用UTM-30LX-EW激光雷達進行道路邊界的檢測。c恒定,為3*108m/s,可以通過激光在激光雷達和被測目標(biāo)之間的往返時間來計算被測目標(biāo)的距離。激光雷達由激光發(fā)射器發(fā)出的激光束,設(shè)激光雷達離被測目標(biāo)距離為d,激光脈沖往返經(jīng)過的時間為t,則
激光雷達測距基本原理是:由于激光雷達在空氣中速度
UTM-30LX-EW 2D激光掃描測距產(chǎn)品擁有測量距離30 m,測量范圍 270°,精度 0.1-10 m:±30 mm;10-30 m:±50 mm,角分辨率0.25°,掃描時間25 ms。
與三維激光雷達相比,二維激光測距儀屬于單線型激光雷達,按照一般方法安裝時只能得到測量環(huán)境某個平面上的距離數(shù)據(jù),無法直接采集環(huán)境的三維信息,但可以通過人工手段來彌補。本文主要測量無人車在行駛過程中車體到道路左側(cè)邊界的距離,為無人車在進行左側(cè)超車、避障時,判斷左側(cè)是否有足夠?qū)挼牡缆房尚袇^(qū)域,所以采用的策略是將二維激光測距儀側(cè)著安裝在無人車左側(cè)前車輪上方車架上(如圖1所示),這樣激光雷達掃描的平面就是垂直于地面的,在激光測距儀固定不能轉(zhuǎn)動的情況下,為了得到道路邊界表面輪廓數(shù)據(jù),需要無人車在試驗中前進的配合,這樣無人車在行進過程中不僅可以得到距離道路邊界障礙物信息也可以得到道路邊界障礙物的高度信息。
圖1 激光雷達安裝示意圖Fig.1 Laser radar installation diagram
本文中,我們將UTM-30LX-EW激光雷達設(shè)置為以水平面垂直向下32°為掃描范圍,角分辨率0.25°,激光雷達安裝高度距離地面390 mm,對于一般道路邊界高度大于30 mm小于390 mm的障礙物,都可以準確測得,配合無人車在行進過程中進行道路邊界的檢測。
由于無人車行駛的道路情況復(fù)雜多變,為了簡化處理問題的難度和便于描述算法,本文假設(shè)所處理的道路路面滿足以下幾點要求:
1)道路路面區(qū)域基本平坦,道路區(qū)域的高度一致性高于道路區(qū)域和非道路區(qū)域之間的高度一致性。
2)道路區(qū)域和非道路區(qū)域之間具有一定的高度落差。即道路邊界有人造路沿、圍墻或者種植的綠色植被等。
3)道路的邊界線為直線或規(guī)則的曲線。
本文實驗所選擇的道路場景是城市道路,其道路滿足上述道路要求。無人車在正常運動中,近似呈直線分布,圖2是一個理想的結(jié)構(gòu)化道路模型,在這個模型中,道路區(qū)域即CD表現(xiàn)出典型的呈類直線分布特點,且在無障礙情況下CD段能保持比較穩(wěn)定的連續(xù)寬度,其中線段BC與DE代表道路邊界和路沿的高度。
圖2 道路模型Fig.2 Road model
在城市道路環(huán)境中,路沿、灌木叢良好的幾何特性為道路邊界和形狀提供了重要信息。因此,基于激光雷達檢測出來的障礙信息,再進行道路邊界的檢測較為可行,不會受到陰影的影響。
圖3 激光雷達掃描模型Fig.3 Laser lidar scanning model
如圖3所示路面與非路面邊界存在高度的跳變信息[4-5],激光雷達安裝在固定高度H=390 mm,AB為路沿高度,OA,OB為測量的距離信息,由于激光雷達的掃描范圍設(shè)定為水平向下32°,掃描精度為 0.25°,掃描周期 25 ms,所以在一個掃面周期32°范圍內(nèi)有128條激光束對邊界進行掃描檢測,起始步長412,終止步長540(水平方向),可以通過激光雷達測得的障礙物極坐標(biāo)計算出路沿的高度。
設(shè)障礙物高度為h,激光雷達測得的障礙物返回點有n個,B為第i個點,A為第j個點,則h邊沿的實時高度為:
h=H-sin[0.25*(540-412- j)],
由于道路邊界有明顯的高度差,道路可行區(qū)域靠近道路邊界處可能會存在小石子、小雜草等干擾,這些我們不作為影響無人車正常通行的障礙物考慮,所以我們采取去除h<30 mm的障礙物點,只提取h>30 mm的障礙物點。由于我們需要獲得的是無人車在道路行駛的可行區(qū)域,故我們只需要知道單幀激光雷達數(shù)據(jù)中道路邊界距離無人車最近的點即可,再對大于30 mm的障礙物返回點信息中進行分析篩選,只保留最近的障礙物返回點信息,這樣就去除了非路區(qū)域的障礙物信息,如非路區(qū)域障礙物C點的信息是我們所不需要的,這樣簡化了數(shù)據(jù)量,又滿足無人車對邊界測量信息的要求,提高了數(shù)據(jù)的處理速度。
在復(fù)雜道路中,邊界區(qū)域存在其他因素的干擾,而單幀激光雷達所能獲取的環(huán)境信息很少,因此僅僅依靠單頓激光雷達數(shù)據(jù)提取道路邊界點有時會存在錯誤。無人車在運動過程中采集數(shù)據(jù)是一個持續(xù)的過程,各幀之間的激光雷達數(shù)據(jù)在空間和時間上是關(guān)聯(lián)的,利用多幀激光雷達數(shù)據(jù)之間的關(guān)聯(lián)特性提高道路邊界檢測的準確性。
文中提出了一種基于激光雷達的距離差與角度差雙閾值結(jié)合均值濾波的提取算法[6],該檢測方法只針對無人車感興趣的道路邊界區(qū)域,減少對非道路區(qū)域的檢測時間,減少數(shù)據(jù)點的檢測,提高了系統(tǒng)實時性,同時對檢測出的障礙物點進行均值濾波,再次消除噪聲干擾,提高檢測準確度。用該算法檢測路面時,只要道路邊界和路面具有激光激光雷達能探測出的高度差,無論路邊是規(guī)則的幾何形狀還是不規(guī)則形狀,都可分割出道路區(qū)域與非道路區(qū)域的邊界。
道路邊界具有連續(xù)性,根據(jù)多幀激光雷達數(shù)據(jù)之間的關(guān)聯(lián)性可對相鄰幀間的雷達數(shù)據(jù)建立約束關(guān)系,可以對道路邊界點產(chǎn)生指導(dǎo)作用,排除一些不符合要求的道路邊界點候選點,從而提高邊界檢測的準確性。在使用單幀雷達數(shù)據(jù)檢測道路邊界點時,記錄已檢測過的道路邊界點信息,基于這些邊界點信息對當(dāng)前時刻的邊界點進行約束:
1)相鄰邊界點之間的距離差不能超過一個距離上限。
2)道路邊界線上一段小范圍內(nèi)的3個點之間的斜率基本相同。
假設(shè)第 i幀單線激光雷達的邊界點坐標(biāo)為(xi,yi,zi),x 為無人車前進的方向,y障礙物點到無人車的方向,z障礙物點高度方向,為了加快計算速度,直線特征分析在二維空間進行,將三維空間點投影到XOY平面搜索直線。則該點坐標(biāo)必須滿足以下約束:
公式中,a對表示相鄰兩個點之間的距離閾值,b為角度閾值。
圖4 濾波處理示意圖Fig.4 Diagram of the filtering process
如圖4所示,是無人車行駛過程中激光雷達測得的經(jīng)過閾值處理后的n個邊界數(shù)據(jù)點,將數(shù)據(jù)點的距離信息y存放在數(shù)組 A()中,則:
將每6個數(shù)據(jù)點作為一組進行處理,如圖5所示,處理后的數(shù)據(jù)存放在Y(i)中,公式如下:
Y(i)為均值濾波處理后的數(shù)據(jù),i從 0到 n-5,由于道路邊界在一段距離內(nèi)一般呈直線,經(jīng)過濾波處理后的距離數(shù)據(jù)具有一定線性關(guān)系,去除了噪聲的影響。
下面是對無人車行駛中所采集的一段時間內(nèi)邊界數(shù)據(jù)點,本文僅對道路邊界距離進行數(shù)據(jù)處理,說明該檢測方法的可行性可靠性。處理結(jié)果如圖6所示,*點是無人車行駛過程中的激光雷的所測得原始邊界點數(shù)據(jù),△是經(jīng)過雙閾值處理后的數(shù)據(jù),·點代表均值濾波后數(shù)據(jù),可已看出經(jīng)過處理后邊界點噪聲明顯減少了,更加平滑趨于線性。
圖5 數(shù)據(jù)處理效果Fig.5 Data processing renderings
在基于多頓激光雷達數(shù)據(jù)相關(guān)性分析的基礎(chǔ)上,確定出每一頓單線激光雷達數(shù)據(jù)的道路邊界點之后,然后就可以基于該道路邊界點數(shù)據(jù)檢測出道路邊界的具體位置。本文假設(shè)道路的邊界為常見的直線模型。本文分別采用基于直線的最小二乘法對直線道路邊界進行擬合,以進一步提高道路邊界檢測的準確率和精度。
直線擬合的應(yīng)用非常廣泛,主要完成對給定的若干個目標(biāo)點,找出一條能反映這些點分布規(guī)律的直線方程。為了簡化計算過程,提高道路邊界檢測的速度,本文僅處理平面的直線擬合,計算出的道路邊界點從空間坐標(biāo)映射到XOY面,即去掉高度信息,然后進行平面直線擬合。
直線擬合基本原理如下:
最小二乘法是一種常用的擬合技術(shù),根據(jù)擬合函數(shù)模型,通過計算數(shù)據(jù)的實際值和對應(yīng)的函數(shù)擬合值誤差平方,使該誤差平方和的值最小化來確定待擬合函數(shù)的最合適參數(shù)。 假設(shè)待擬合的數(shù)據(jù)點為(xi,yi),i從 1到 n,擬合后的直線模型為Yi=axi+b,其中a、b為任意實數(shù)。實際觀測值和擬合值之間的誤差平方和可以表示如下:
誤差函數(shù)為:
最小二乘法尋找使公式中的值最小時a、b值作為最佳估計值。當(dāng)e值最小時,可以用e對a、b求偏導(dǎo)數(shù),令這兩個偏導(dǎo)數(shù)等于0,各偏導(dǎo)為:
d e/d a=2∑((yi-axi-b)(-xi)=0
d e/d b=-2∑(yi-axi-b)=0
于是得到關(guān)于a,b的線性方程組:
(∑xi2)a+(∑xi)b=∑yixi
(∑xi)a+nb=∑yi
設(shè) A=∑xi2,B=∑xi,C=∑yixi,D=∑yi,則方程化為:
Aa+Bb=C
Ba+nb=D
解出 a,b 得:
a=(Cn-BD)/(An-BB)
b=(AD-CB)/(An-BB)
根據(jù)閾值濾波處理后的數(shù)據(jù)擬合后得到a=0.000 2,b=3.173 1。
所以邊界點的擬合直線為:
y=-0.000 2*x+3.173 1;如圖6所示。
圖6 直線擬合示意圖Fig.6 Fitting a straight line schematic
文中根據(jù)路面與非路面之間的高度差,提出一種基于激光雷達數(shù)據(jù)的道路邊界檢測方法。首先針對單幀激光雷達數(shù)據(jù),提取出距離無人車的最近道路邊界點,然后再對多幀激光雷達數(shù)據(jù)采取道路邊界點距離、角度雙閾值約束處理,再進行均值濾波提取邊界點,最后進行了邊界擬合等幾個部分。實驗結(jié)果表明,該邊界檢測算法可靠性強,穩(wěn)定性高,能夠準確完成道路邊界檢測任務(wù),為無人車在道路的正常行駛提供安全保障。
[1]Tan C,Hong T,Chang T.Color model-based real-time learning for road following[C]//Proc of the IEEE Intellingent Transportation Systems Conference.Toronto:IEEE,2006:939-944.
[2] dahlkamp H,Kaehler A,Bradski G. Self-supervised monocular road detection in desert terrain[C]//Proc of the Robotics Science and Systems Conference.Philadelphia:MIT Press,2006:115-121.
[3]李斌.智能車輛前方車輛探測及安全車距控制方法的研究[D].長春:吉林大學(xué),2001.
[4]Lalonde J,Vandapel N,Hebert M.Natural terrain classification using three-dimensional ladar data for ground robot mobility[J].Journal of Field Robotics,2006,23(10):839-861.
[5]Sappa A,Devy M.Fast range image segmentation by an edge detection strategy[C]//Proceedings of the 3rd International Conference on 3D Digital Imaging and Modeling.Quebec:IEEE,2001:292-299.
[6]Peter X Liu,Max Q H.Online data-driven fuzzy clustering with applications to real-time robotic tracking [J].IEEE Transactions on Fuzzy System,2004,12(4):516-523.