魏榮琨,馬 榮,趙龍慶,周 沫,魏明洋
(西南林業(yè)大學機械與交通學院,昆明 650224)
隨著科學技術(shù)的發(fā)展,汽車已成為生活中必不可少的交通工具。為此國內(nèi)外科研人員以及各大高校開始以提高汽車的安全性、舒適性、穩(wěn)定性等性能為目的,以減少環(huán)境污染,交通事故等不利影響帶來的財產(chǎn)損失為研究目標,對無人駕駛汽車進行研發(fā)。道路邊界準確可靠的檢測可用于確定自動駕駛車輛可行駛區(qū)域,并為智能車路徑規(guī)劃系統(tǒng)提供關(guān)鍵信息。因此,道路邊界檢測成為近年來的研究熱點之一。
在選取可行駛區(qū)域的實際操作過程中,發(fā)現(xiàn)不同的道路邊界檢測算法所達到的效果存在較大差異,因此選擇一個合適的道路邊界檢測算法是劃分可行駛區(qū)域必不可少的前提條件。
目前,結(jié)構(gòu)化道路邊界的檢測主要有兩種方法:基于道路幾何特征與基于圖像分割的方法。
文獻[1]提出一種采用直方圖均衡和Otsu 二值分割增強道路邊界特征,最終利用分空間的Hough 變換方法實現(xiàn)道路邊界檢測的方法;文獻[2]提出了一種道路邊界檢測方法,首先提取道路圖像的Lab 色度空間中的a與b特征以及Hue特征分別構(gòu)建最近鄰分類器,最終使用軟投票的方法將3 個分類器的結(jié)果進行融合,輸出最終結(jié)果;文獻[3-4]實現(xiàn)道路邊界檢測的思路是首先將圖像進行Canny 邊緣檢測,之后通過Hough 直線檢測從而檢測出道路邊界;文獻[5]使用二維Otsu 算法分割對HSV色度提取道路邊界點,再選擇最小二乘法進行邊界點擬合操作。
基于圖像分割方法易受光照環(huán)境變化的影響,而基于幾何特征方法抗干擾性強,檢測精度高,是目前主要的研究方向。用于道路邊界檢測的傳感器主要有視覺被動傳感器和雷達主動傳感器。視覺被動傳感器包括單目視覺、立體視覺;雷達主動傳感器包括二維、三維激光雷達。二維激光雷達主要應(yīng)用在室內(nèi)場景,如掃地機器人;三維激光雷達主要應(yīng)用于室外場景,比如自動駕駛場景感知等。
在基于激光雷達的檢測方法中,又可以分為對逐層激光雷達數(shù)據(jù)進行數(shù)據(jù)檢測、對感興趣區(qū)域內(nèi)全局激光雷達數(shù)據(jù)點檢測兩種主要方法。比如文獻[6-11]其主要思路是通過對每層激光雷達數(shù)據(jù)進行檢測,從而判斷出道路邊界點,之后通過擬合篩選出可行駛區(qū)域;而文獻[12-15]卻給出了不同的思路:從全局的角度對空間中的激光雷達點云進行整體處理,從而篩選出道路邊界,最終確定可行駛區(qū)域。
文獻[6]提出的算法是首先對激光雷達數(shù)據(jù)點云進行分層與濾波,然后人為設(shè)定道路邊緣的高度閾值,提取各層的左右邊界點,而后利用Ransac算法對左右邊界點集進行直線擬合,最后用卡爾曼濾波算法進行跟蹤。文獻[7]提出的算法首先利用局部均值變點統(tǒng)計對激光雷達數(shù)據(jù)點中檢測發(fā)生突變的z 坐標值,并提取所對應(yīng)的(x,y)點;之后通過分段雙閾值對提取的道路邊界點數(shù)據(jù)濾波處理;最后利用最小二乘法擬合道路邊界點數(shù)據(jù)。文獻[8]基于單線激光雷達的路面所提出的可行區(qū)域提取方法,首先用相鄰掃描點間的歐氏距離對點聚類,然后對聚類產(chǎn)生的每一類激光雷達數(shù)據(jù)點進行平滑濾波,再利用斜率將數(shù)據(jù)點分割成多段近似直線段,用最小二乘法對線段進行擬合,最后從多條線段中選取可行路面。文獻[9]與文獻[7]的思路相同,都是基于道路邊沿存在一定高程跳變的特征,利用非參數(shù)變點統(tǒng)計,對激光雷達數(shù)據(jù)點中z 坐標值進行檢測,若z 值發(fā)生突變,則提取對應(yīng)的(x,y)點;之后利用最大期望(EM)聚類算法對候選道路邊界點進行聚類去噪,最后利用最小二乘法擬合道路邊界。文獻[10]首先對激光雷達數(shù)據(jù)點的高度信號進行濾波處理,以識別道路候選區(qū)域;將地面高度的方差作為一個特征進行特征提取,判斷候選區(qū)域是否為道路段。然后將激光雷達數(shù)據(jù)點通過自上向下視圖下的投影,與簡單道路模型進行比較,確定候選區(qū)域是否為具有路邊的路段。
文獻[7,9-10]在判斷每層激光雷達數(shù)據(jù)點是否為道路邊界的方法和思路大致相同,與文獻[6]手動設(shè)置道路邊界高度閾值的方法相比有很大的先進性;文獻[9]在道路邊界擬合的方法上比文獻[6-7]更加先進,由于其采用高階最小二乘擬合法,能夠適用于更多的場景,而直線屬于特殊的曲線,所以用直線來擬合道路邊界,將會造成更大的誤差。
文獻[12]與文獻[15]擁有相同的思路:首先將RGB圖像通過SLIC 超像素表征,之后將激光點投影在RGB圖像上,通過對每個超像素塊上的激光雷達點進行Delaunay三角剖分,將某個激光雷達點所有相鄰三角形的法向量的均值作為該的法向量,并判斷該點的法向量與地面夾角的關(guān)系,來判斷該點是否為障礙物點;以圖像的中間底部的像素點為起始點,向兩邊延伸,若遇到障礙物邊界,則停止延伸最終得到可行駛區(qū)域。文獻[13]的主要思路是將汽車前方40 m,左右兩側(cè)各20 m的區(qū)域定義為感興趣區(qū)域,將環(huán)境地圖用均勻的網(wǎng)格表示,每個單元格表示環(huán)境中該位置存在障礙物的可能性,計算每個網(wǎng)格內(nèi)的點云密度,每個格的密度數(shù)等于該網(wǎng)格內(nèi)激光雷達數(shù)據(jù)點數(shù);不考慮z值,只考慮x和y分量,將三維立體空間環(huán)境轉(zhuǎn)化為二維圖像,其每個像素塊的坐標是對應(yīng)網(wǎng)格在感興趣區(qū)域內(nèi)的位置,其每個像素值的大小是對應(yīng)網(wǎng)格內(nèi)激光雷達數(shù)據(jù)點的個數(shù),之后通過圖像處理庫中的邊緣檢測算法進行邊緣檢測操作。文獻[14]首先限定感興趣區(qū)域為車前50 m 以及左右各10 m的區(qū)域,通過將激光雷達的點云數(shù)據(jù)進行網(wǎng)格化處理,求出每個網(wǎng)格中最高數(shù)據(jù)點與最低數(shù)據(jù)點之間的高度差,并針對道路邊緣的高度特征,根據(jù)道路邊界的高度值對網(wǎng)格數(shù)據(jù)進行閾值處理;再由近及遠逐個提取左右道路邊緣,利用最小二乘法對左右道路邊緣網(wǎng)格進行曲線擬合平滑處理,得到左右道路邊緣。
文獻[13]與文獻[14]相比有很大的先進性,因為在未知區(qū)域中不能確定是否存在道路邊界,也不能確定道路邊界的高度差具體是多少。文獻[12]和[15]所提出的方法與文獻[13]相比有很大的先進性,采用了激光雷達與視覺圖像融合的方法,使其具有更高的魯棒性。
從以上文獻及其處理方法上可以看出,對逐層激光雷達數(shù)據(jù)進行檢測的方法主要應(yīng)用在線束數(shù)量比較少的激光雷達傳感器上,比如文獻[8]中的1 線激光雷達、文獻[6]中的8 線束激光雷達、文獻[7,9]中的32 線束激光雷達;而對感興趣區(qū)域內(nèi)全局激光雷達數(shù)據(jù)點檢測的方法主要應(yīng)用在線束數(shù)量較多的激光雷達傳感器上,比如文獻[12,14-15]中的使用的64 線束激光雷達。
線束數(shù)量較少的激光雷達傳感器所采用的對逐層激光雷達數(shù)據(jù)進行檢測的方法,同樣可以應(yīng)用到線束數(shù)量較高的激光雷達傳感器上;但是線束數(shù)量較多的激光雷達傳感器所采用的對感興趣區(qū)域內(nèi)全局激光雷達數(shù)據(jù)點進行檢測的方法,是無法應(yīng)用到線束數(shù)量較少的激光雷達傳感器上的。如果使用線束數(shù)量較低的激光雷達傳感器對感興趣區(qū)域內(nèi)全局激光雷達數(shù)據(jù)點進行檢測,就需要通過運動的方式累計統(tǒng)計空間中的激光雷達數(shù)據(jù)點,如文獻[13]中使用的是4 線束激光雷達傳感器,在車輛速度大于或等于50 km/h,算法性能基本保持不變,但是當車輛完全停止,導(dǎo)致路面上激光雷達數(shù)據(jù)點高度集中,沒有激光雷達數(shù)據(jù)點的積累,因此無法重建道路信息。
本文通過對比研究針對道路邊界所提出的激光雷達檢測方法,分析不同檢測方法之間的特點與不足,最終確定選用基于梯度濾波器來實現(xiàn)檢測道路左右邊界。
通過最終的對比實驗可以看出,基于梯度濾波器的道路邊界檢測算法相較于其他檢測算法而言有更高的準確性和實用性。
讀取激光雷達的某一幀數(shù)據(jù),將激光雷達數(shù)據(jù)點按式(1)中所給出的x范圍與y范圍進行截取。
截取之后的激光雷達數(shù)據(jù)點效果如圖1 所示。在空間坐標系下,已知激光點云是由單束窄帶激光器旋轉(zhuǎn)一周產(chǎn)生,效果如圖2 所示。
圖1 感興趣區(qū)域
圖2 單束窄帶激光器旋轉(zhuǎn)
在激光雷達坐標系(圖3)下,令空間中某點與雷達坐標系原點之間的連線為l,令xoy平面為S,令直線l與平面S之間的夾角為θ,則:
圖3 激光雷達坐標
對其中θ=-15°的激光點云數(shù)據(jù)進行提取,其效果如圖4 所示。
圖4 夾角為-15°的點云效果
這里首先選取俯角為-15°的激光雷達數(shù)據(jù)點,并構(gòu)建以Y 方向距離值為X 軸,激光數(shù)據(jù)點Z 方向高度值為Y 軸的折線關(guān)系如圖5 所示。
圖5 距離值與高度值關(guān)系
為了篩選出道路邊緣點,文獻[14]提出一種算法,首先對激光雷達點云數(shù)據(jù)進行網(wǎng)格化處理,求出每個網(wǎng)格中的高度差,通過限制每個網(wǎng)格中高度差閾值,提取出左右道路邊緣,最后利用最小二乘法對左右道路邊緣網(wǎng)格進行曲線擬合,得到左右道路邊緣。
根據(jù)論文中所提到的網(wǎng)格化方法,并根據(jù)16 線程激光雷達點云數(shù)據(jù)的實際情況,將圖5 中的X 軸分成6 個區(qū)間,計算每個區(qū)間中最大Z 值與最小Z 值的高度差,記為ΔZ。統(tǒng)計ΔZmax所處的X區(qū)間,并求出此區(qū)間的中值,記為Ymid。
對激光雷達掃描俯角為-15°的激光雷達數(shù)據(jù)點,計算并篩選出滿足式(3)的激光數(shù)據(jù)點,記為(p1,p2,…,pn)。計算出這些數(shù)據(jù)點的作為某一層某一側(cè)的道路邊緣點。
將激光雷達坐標系中X方向的正方向記為前向,將Y方向的正方向記為左側(cè),將Y方向的負方向記為右側(cè)。將左側(cè)路沿上的候選點記為,將右側(cè)路沿上的候選點記為。同理對激光雷達掃描俯角為-13°、-11°、-9°、-7°、-5°的激光雷達數(shù)據(jù)進行處理,計算出左側(cè)的候選點為,,,,,,),右側(cè)的候選點為(,,,,,,),通過最小二乘法對道路邊緣進行擬合。
試驗結(jié)果如圖6 所示,通過將激光雷達數(shù)據(jù)點網(wǎng)格化劃分,并根據(jù)高度變化來選取道路邊緣點的方法,精度低,效果差。
圖6 基于高度差的道路邊緣擬合
文獻[13]基于點云密度梯度的原理,通過將點云扁平化到2D,并使用傳統(tǒng)的計算機視覺梯度和邊緣檢測技術(shù)來實現(xiàn)的,這也提高了處理速度。其理論依據(jù)是,將3D激光雷達從上而下投影到2D 平面上時,累積在垂直平面上的激光雷達點投影到2D 平面上的點的密度,將比水平面上的激光雷達點投影到2D 平面上的點的密度更加集中。垂直面和水平面的點濃度之間的差異隨著激光雷達掃描俯角|α|的增大而減小,其中|α|值越大,垂直面上的濃度越高,同時保持水平面上點的濃度不變。
采用密度柵格的方法進行道路邊緣。首先將感興趣區(qū)域內(nèi)的激光雷達數(shù)據(jù)點網(wǎng)格化處理,統(tǒng)計每個網(wǎng)格單元的激光點數(shù)量,并將激光點的數(shù)量作為圖像的像素值,構(gòu)建出自上而下的俯視2D圖像,如圖7 所示。
圖7 激光雷達數(shù)據(jù)轉(zhuǎn)化為像素圖像
對像素圖像使用圖像處理中的邊緣檢測算子,每個算子的檢測結(jié)果如圖8所示。從圖中可以看到,越靠近車輛的激光雷達數(shù)據(jù),邊緣檢測的效果越明顯,越遠離車輛的激光雷達數(shù)據(jù),邊緣檢測的效果越差。因為在激光雷達傳感器在測量頻率和掃描頻率不變的情況下,隨著激光雷達掃描俯角增大,兩個相鄰的激光雷達數(shù)據(jù)點之間的距離也隨之增大,導(dǎo)致單位面積內(nèi)的激光雷達點的密度隨之降低。文獻[13]提出的方法適合應(yīng)用車輛處于運動狀態(tài)下的道路邊緣檢測,不適用于車速較慢或靜止車輛的道路邊緣檢測。由于本次實驗處于靜止狀態(tài)下,因此沒有得到較好的結(jié)果,此外,本文所采用的激光雷達傳感器為16 線程,每一層的激光雷達數(shù)據(jù)之間的間隔相較參考文獻采用的激光雷達傳感器每層激光雷達數(shù)據(jù)之間的間隔比較大。不能很好地根據(jù)道路邊緣激光雷達點的數(shù)量,分離出道路邊緣。
圖8 圖像邊緣檢測算子效果
文獻[10]提出了一種基于對高程信號進行濾波處理識別道路候選區(qū)域的檢測方法,為本文提供了很好的思路。首先,將感興趣區(qū)域中的每層激光雷達數(shù)據(jù)作為輸入信號進行局部極值信號檢測濾波器卷積;然后,將梯度濾波器輸出信號中的局部極值峰值識別為輸入信號中的局部極大點和局部極小點。峰值響應(yīng)幅度需要大于一個固定的閾值,以減少噪聲。最后,將局部極小值點(左側(cè))和局部極大值點(右側(cè))分別對應(yīng)道路左側(cè)邊界與道路右側(cè)邊界,如圖9 所示。圖9 是對激光雷達掃描俯角為-15°的激光雷達數(shù)據(jù)點的處理過程,同理對激光雷達掃描俯角為-13°、-11°、-9°、-7°、-5°的激光雷達數(shù)據(jù)進行處理,將激光雷達坐標系中X 方向的正方向記為前向,將Y方向的正方向記為左側(cè),將Y方向的負方向記為右側(cè)。將左側(cè)路沿上的候選點記為,將右側(cè)路沿上的候選點記為。通過上述方法,計算出左側(cè)的候選點為(,,),右側(cè)的候選點為,,)。
圖9 梯度濾波路緣檢測
通過最小二乘法對道路邊緣進行擬合,擬合效果如圖10 所示。
圖10 基于梯度濾波道路邊緣擬合
使用文獻[16]所提出的一種用于道路區(qū)域和自我車道檢測的基準。文章中為了能夠更好地進行評估,且考慮到車輛控制通常發(fā)生在2D 世界中,所以將車輛所行駛的道路通過從上到下的視角,轉(zhuǎn)化為2D 鳥瞰圖(BEV)空間。
將感興趣區(qū)域轉(zhuǎn)化為從上到下視角的2D 視角的平面區(qū)域,并進行網(wǎng)格化處理,如果網(wǎng)格在可行駛區(qū)域內(nèi),則認為它是正的,如果不是,則認為是負的。因此有:真正值(True Positive,TP)為在所有正類中被正確識別為正類的個數(shù);假正值(True Negative,F(xiàn)P)為在所有負類中被正確識別為負類的個數(shù);真負值(False Positive,TN)為將所有負類中被錯誤識別為正類的個數(shù);假負值(False Negative,F(xiàn)N)為將所有正類中被錯誤識別為負類的個數(shù)(漏報)。
在文獻[13]中,TP 值為被正確識別為道路的網(wǎng)格數(shù);FP值為本不是道路網(wǎng)格但被錯誤識別為道路網(wǎng)格的網(wǎng)格數(shù);TN值為指正確識別出超出極限的網(wǎng)格數(shù);FN值為本是道路網(wǎng)格但被錯誤識別為非道路網(wǎng)格的網(wǎng)格數(shù)。
而在本文中,TP值為被正確識別為道路區(qū)域的區(qū)域面積;FP 值為本不是道路區(qū)域但被錯誤識別為道路區(qū)域的區(qū)域面積;TN值為指正確識別出非道路區(qū)域的區(qū)域面積;FN 值為本是道路區(qū)域但被錯誤識別為非道路區(qū)域的區(qū)域面積,實際邊緣與檢測到的邊緣示意圖如圖11所示。
圖11 感興趣區(qū)域中實際邊緣與檢測邊緣示意圖
在本文中,感興趣區(qū)域為圖11 中(S +Sm1+Sm2+SF1+SF2+Sr1+Sr2);正類(真實的道路區(qū)域)為(ST+Sr1+Sr2);負類(感興趣區(qū)域內(nèi)真實道路以外的區(qū)域)為(Sm1+Sm2+SF1+SF2)。
因此:TP值為ST;FP 值為(Sm1+Sm2);TN 值為(SF1+SF2);FN值為(Sr1+Sr2)。
精確率(Precision)是最常見的評價指標,且容易理解,就是被正確分類的樣本數(shù)除以所有的樣本數(shù),通常來說,精確率越高越好。
特異性(Specificity)表示的是所有被識別為負類的樣本中,是真正為負類的比例,特異性衡量了分類器對負類的識別能力。
準確率(Accuracy)表示的是所有被正確識別的樣本(包括正類和負類)占全部樣本的比例。
召回率(Recall)表示的是被識別為正類的的樣本占全部實際正類樣本的比例??梢岳斫鉃椴槿省?/p>
綜合評價指標(FMeasure)有時候會出現(xiàn)準確率(Pr)和召回率(Re)矛盾的情況,這樣就需要綜合考慮他們,最常見的方法就是FMeasure。FMeasure是Precision 和Recall加權(quán)調(diào)和平均:在F 測度中,參數(shù)β決定了精度和靈敏度之間的重要性比,并考慮β取值為1(β=1)。
3.1.1 直線擬合
在基于網(wǎng)格高度差的道路邊緣檢測,并用直線擬合中,擬合直線與道路邊緣線如圖12 所示。將真實的道路邊緣通過運用拉格朗日插值法,得到道路邊界函數(shù)為l1(x)與l2(x)。
圖12 道路邊緣線與擬合直線示意圖
將基于網(wǎng)格高度差的道路邊緣檢測的直線擬合函數(shù)命名為f1(x)與f2(x),有
l1(x)與f1(x)相交于M 點;l2(x)與f2(x)相交于Q點。則Sm1=4.138 43,Sm2=0,Sr1=6.844 67,Sr2=0.801 40,ST=111.147 26,SF1=45.733 33,SF2=31.334 90。
所以有:TP=ST=111.147 26,F(xiàn)P=(Sm1+Sm2)=4.138 43,TN=(SF1+SF2)=77.068 23,F(xiàn)N=(Sr1+Sr2)=7.646 07。
最后可以求出:
3.1.2 曲線擬合
在基于網(wǎng)格高度差的道路邊緣檢測,并用曲線擬合中,擬合曲線與道路邊緣線如圖13所示。
圖13 道路邊緣線與擬合曲線示意圖
將真實的道路邊緣通過運用拉格朗日插值法,得到道路邊界函數(shù)為l1(x)與l2(x)。
將基于網(wǎng)格高度差的道路邊緣檢測的曲線擬合函數(shù)命名為g1(x)與g2(x)。
l1(x)與g1(x)相交于N 點、O 點。則:Sm1=3.58376,Sm2=0.981 06,Sr1=4.310 60,Sr2=0.991 87,ST=100.388 10,SF1=41.091 53,SF2=35.473 33。
所以有:TP=ST=100.388 10,F(xiàn)P=(Sm1+Sm2)=4.564 82,TN=(SF1+SF2)=76.564 86,F(xiàn)N=(Sr1+Sr2)=5.302 47。
最后可以求出:
在基于梯度的道路邊緣檢測,并用曲線擬合中,擬合曲線與道路邊緣線如圖14 所示。將真實的道路邊緣通過運用拉格朗日插值法,得到道路邊界函數(shù)為l1(x)與l2(x)。
圖14 道路邊緣線與擬合曲線示意圖
將基于網(wǎng)格高度差的道路邊緣檢測的曲線擬合函數(shù)命名為h1(x)與h2(x)。
l1(x)與h1(x)相交于M 點,l2(x)與h2(x)相交于N點。則:Sm1=0.728 74,Sm2=0.013 55,Sr1=0.672 90,Sr2=1.243 53,ST=116.879 85,SF1=44.955 89,SF2=35.459 11。
所以有:TP=ST=116.879 85,F(xiàn)P=(Sm1+Sm2)=0.742 99,TN=(SF1+SF2)=80.415,F(xiàn)N=(Sr1+Sr2)=1.916 43。
最后可以求出:
本文在此對相同場景下的不同檢測算法分別進行統(tǒng)計,計算并比較每個檢測算法的精確率(Precision)、特異性(Specificity)、準確率(Accuracy)、召回率(Recall)以及綜合評價指標(Fmeasure),從而能夠量化的比較出算法的優(yōu)點,具體數(shù)據(jù)如表1 所示。
表1 不同檢測算法比較
本文使用PyCharm軟件,基于Python 編程語言對近幾年所提出的基于激光雷達的道路邊界檢測方法進行研究對比分析,根據(jù)表1 中的數(shù)據(jù)可以看出:基于高度差并采用直線擬合的道路邊界檢測算法的精確率、召回率等諸多指標的平均值達到94.12%;基于高度差并采用曲線擬合的道路邊界檢測算法為95.02%;基于圖像邊緣檢測的道路邊界檢測算法為76.20%;而基于梯度濾波器的道路邊界檢測算法最高,達到了98.90%。所以可以認為基于梯度濾波器的道路邊界檢測算法相較于其他算法擁有更好的效果。