劉邦繁,張慧源,李 晨,曾 祥
(株洲中車時(shí)代電氣股份有限公司,湖南 株洲 412001)
隨著軌道交通智能化的發(fā)展,自動(dòng)駕駛將成為未來(lái)的發(fā)展方向。自動(dòng)駕駛車輛是利用車載傳感系統(tǒng)來(lái)感知周圍環(huán)境,并自行規(guī)劃行車路線控制車輛成功抵達(dá)目的地的智能化交通,自動(dòng)駕駛車輛一般安裝激光雷達(dá)和攝像頭作為車載傳感器,用于檢測(cè)道路區(qū)域和障礙物區(qū)域[1]。而環(huán)境感知作為自動(dòng)駕駛的核心模塊,通過(guò)激光雷達(dá)獲取周圍環(huán)境的三維點(diǎn)云,再通過(guò)檢測(cè)算法檢測(cè)可通行區(qū)域,為路徑規(guī)劃及行車決策提供依據(jù)[2-3]。
目前三維激光雷達(dá)處理算法主要有基于柵格地圖的分割算法和基于深度圖的分割檢測(cè)[4]。基于柵格地圖的分割算法采用柵格高度差進(jìn)行地面分割,該方法受環(huán)境影響較大,對(duì)結(jié)構(gòu)化的平坦路面分割效果較好;而軌道交通場(chǎng)景中軌道與地面之間有一定的起伏,該方法分割軌道的效果不理想?;谏疃葓D的分割檢測(cè)先將點(diǎn)云映射到深度圖上,再通過(guò)掃描線的角度閾值進(jìn)行地面分割。該算法對(duì)角度的跳變比較敏感,適用于結(jié)構(gòu)化的路面,對(duì)于軌道交通路面平緩變化的場(chǎng)景其分割效果較差。本文基于激光雷達(dá)在汽車自動(dòng)駕駛方面的研究成果,結(jié)合軌道交通行業(yè)特點(diǎn),提出了一種機(jī)車可通行區(qū)域檢測(cè)的算法。該算法首先通過(guò)檢測(cè)當(dāng)前軌道獲得機(jī)車行駛區(qū)域;再通過(guò)檢測(cè)輸電網(wǎng)桿塔獲取警戒區(qū)域;最后將警戒區(qū)域與行駛區(qū)域合并構(gòu)成整個(gè)機(jī)車可通行區(qū)域。
本文提出的基于激光雷達(dá)的軌道檢測(cè)算法首先需對(duì)激光雷達(dá)采集到的三維點(diǎn)云進(jìn)行數(shù)據(jù)預(yù)處理來(lái)提高點(diǎn)云質(zhì)量并降低數(shù)據(jù)量,然后基于局部高度差方法提取出軌道點(diǎn)云,再通過(guò)隨機(jī)采樣一致性算法進(jìn)行軌道擬合,最后進(jìn)行軌道匹配輸出最終的軌道信息。
激光雷達(dá)在發(fā)射激光獲取周圍環(huán)境信息形成三維點(diǎn)云時(shí),由于激光雷達(dá)設(shè)備精度、被測(cè)物體表面性質(zhì)以及電磁波衍射特性等外界干擾和環(huán)境因素的影響,采集到的點(diǎn)云數(shù)據(jù)可能存在噪聲,并且由于激光雷達(dá)視場(chǎng)角大、視野廣,每幀采集到的點(diǎn)云數(shù)據(jù)量較大。因此,為了提高檢測(cè)算法的性能和效率,需對(duì)激光雷達(dá)接收到的數(shù)據(jù)進(jìn)行預(yù)處理。預(yù)處理步驟為:首先通過(guò)直通濾波算法提取感興趣區(qū)域,保留機(jī)車正前方一定范圍內(nèi)的點(diǎn)云;然后通過(guò)統(tǒng)計(jì)離群點(diǎn)濾波算法過(guò)濾稀疏的噪聲點(diǎn)云,并基于激光雷達(dá)的外參標(biāo)定信息將點(diǎn)云坐標(biāo)轉(zhuǎn)換到車體坐標(biāo)系下[5]。
直通濾波算法是通過(guò)設(shè)置一定的參數(shù)范圍,允許該范圍內(nèi)的數(shù)據(jù)通過(guò),從而濾除參數(shù)范圍之外的點(diǎn)云。統(tǒng)計(jì)離群點(diǎn)濾波算法是對(duì)每一個(gè)點(diǎn)的鄰域進(jìn)行統(tǒng)計(jì)分析,剔除不符合標(biāo)準(zhǔn)的離散點(diǎn)云。
激光雷達(dá)接收到的原始點(diǎn)云集記為P={p1,p2, …,pn},其中pi為三維空間中的點(diǎn),即
pi=(xi,yi,zi),xi∈R,yi∈R,zi∈R,,其中R為實(shí)數(shù)集。
給定濾波參數(shù)X1,X2,Y1,Y2,Z1,Z2,直通濾波后的點(diǎn)云集,其中′為三維空間中的點(diǎn),即,滿足
直通濾波結(jié)果如圖1所示,圖中矩形區(qū)域?yàn)榻o定的直通濾波參數(shù)所形成的范圍,落在矩形區(qū)域外的點(diǎn)云將會(huì)被濾除,只留下落在矩形區(qū)域內(nèi)的點(diǎn)。
圖1 直通濾波示意圖Fig. 1 Schematic diagram of through filter
點(diǎn)云提取本質(zhì)上是一個(gè)點(diǎn)云分割的過(guò)程,即通過(guò)點(diǎn)云分割篩選出目標(biāo)點(diǎn)云。目前三維點(diǎn)云分割常用的方法是基于柵格高度差分割的方法。該方法首先將XY平面按照一定的尺寸劃分成二維網(wǎng)格,然后計(jì)算每個(gè)網(wǎng)格內(nèi)Z方向點(diǎn)云的高度差值,再根據(jù)設(shè)定的閾值判斷網(wǎng)格中是否含有障礙物。該算法受地面因素影響較大,適用于在結(jié)構(gòu)化的平坦路面上提取目標(biāo)。然而在軌道交通場(chǎng)景,軌道鋪設(shè)于地面的枕木之上(圖2),有一定的起伏,在局部范圍內(nèi)激光雷達(dá)返回的軌道點(diǎn)云略高于附近的點(diǎn)云,在空間上表現(xiàn)為具有一定高度的連續(xù)跳變。軌道橫截面點(diǎn)云示意如圖3所示,圖中點(diǎn)為地面點(diǎn)云,五角星為軌道上的點(diǎn)云。由于軌道與地面交界部分的點(diǎn)云高度特征不明顯,采用柵格化的方法無(wú)法準(zhǔn)確有效地提取出軌道點(diǎn)云。
圖2 軌道示意圖Fig. 2 Schematic diagram of rail
圖3 軌道橫截面點(diǎn)云示意圖Fig. 3 Schematic diagram of point cloud of rail cross section
基于軌道點(diǎn)云的分布特征,本文采用局部區(qū)域搜索算法提取軌道點(diǎn)云,局部區(qū)域搜索示意如圖 4所示。其具體步驟如下:對(duì)于待分析的點(diǎn)云集,任取其中一個(gè)點(diǎn),該點(diǎn)的局部區(qū)域定義為以該點(diǎn)為中心、半徑為r的范圍;計(jì)算該局部區(qū)域內(nèi)的點(diǎn)集高度特征,然后通過(guò)判別模型判定是否屬于軌道點(diǎn)。判別模型如下:該點(diǎn)是其局部區(qū)域內(nèi)的最高點(diǎn),該局部區(qū)域內(nèi)的高度差等于軌道高度。
圖4 局部區(qū)域搜索示意圖Fig. 4 Schematic diagram of local area search
通過(guò)局部區(qū)域搜索方法提取出離散的軌道點(diǎn)云,再通過(guò)曲線將這些離散的點(diǎn)連起來(lái)就形成了軌道曲線,因此軌道擬合問(wèn)題被轉(zhuǎn)化為曲線擬合問(wèn)題。常見(jiàn)的曲線擬合算法有最小二乘法和隨機(jī)采樣一致性法(random sample consensus, RANSAC)。最小二乘法通過(guò)最小化誤差平方和來(lái)求解參數(shù)的最佳逼近,是基于整體誤差最小的思想,擬合結(jié)果受異常點(diǎn)影響較大,算法魯棒性較差。RANSAC是一種穩(wěn)健估計(jì)的方法,通過(guò)選擇數(shù)據(jù)集的一組隨機(jī)子集來(lái)擬合目標(biāo),經(jīng)過(guò)重復(fù)迭代估計(jì)出模型參數(shù),算法受異常點(diǎn)干擾較小、魯棒性較好。
由于正常軌道是成對(duì)存在的,通過(guò)軌道點(diǎn)云提取過(guò)程提取出來(lái)的點(diǎn)云集包含2條以上的軌道點(diǎn)云,因此在單條軌道擬合中需要排除其他軌道點(diǎn)云的干擾。故本文采用RANSAC算法進(jìn)行軌道擬合。
RANSAC算法最早由Martin A. Fischler和Robert C. Bolles于1981年提出[6],基本假設(shè)是數(shù)據(jù)由“局內(nèi)點(diǎn)”組成,其分布可以用某個(gè)數(shù)學(xué)模型來(lái)解釋,“局外點(diǎn)”是不能適應(yīng)該模型的數(shù)據(jù)。RANSAC算法具體流程如下:
(1) 數(shù)據(jù)集采樣。從數(shù)據(jù)集中隨機(jī)采樣m個(gè)點(diǎn)(m為待估計(jì)模型的自由度)。
(2)模型估計(jì)。用第一步中選擇的點(diǎn)集對(duì)模型進(jìn)行擬合,估計(jì)出模型參數(shù)。
(3)局內(nèi)點(diǎn)統(tǒng)計(jì)。遍歷所有數(shù)據(jù)點(diǎn)集,計(jì)算該點(diǎn)與第二步中估計(jì)出的模型的距離d1,并與設(shè)定閾值ε比較,若d1≤ε,則該點(diǎn)為“局內(nèi)點(diǎn)”,反之為“局外點(diǎn)”,迭代完成后記錄本輪迭代的局內(nèi)點(diǎn)數(shù)量。
(4)多輪迭代。重復(fù)步驟(1)至步驟(3)n次。
(5)模型選擇。經(jīng)過(guò)n輪迭代,估計(jì)出了n組模型參數(shù)及每輪包含的局內(nèi)點(diǎn)數(shù),選擇局內(nèi)點(diǎn)數(shù)量最多的輪數(shù)對(duì)應(yīng)的參數(shù)作為最終的模型參數(shù)。
由于軌道點(diǎn)云是連續(xù)的,因此可以通過(guò)局內(nèi)點(diǎn)的數(shù)據(jù)分布判斷擬合出來(lái)的模型是否滿足軌道要求,從而判斷軌道擬合是否成功。另外,由于提取出的軌道點(diǎn)集可能包含多條軌道,所以需要擬合出多個(gè)模型;而RANSAC算法每次只能擬合出一條曲線,因此需要多次運(yùn)行RANSAC算法,每當(dāng)成功擬合一條軌道時(shí),將其從軌道點(diǎn)集中刪除,直到把所有的軌道曲線全部擬合出來(lái)。
基于軌道的幾何特性,正常情況下軌道是成對(duì)存在的,并且為一對(duì)平行線,我國(guó)標(biāo)準(zhǔn)軌距為1 435 mm,因此本文通過(guò)計(jì)算兩軌道曲線之間的距離進(jìn)行軌道配對(duì),找出屬于同一線路的兩條軌道。如圖5所示,用方向向量表征軌道曲線的方向,軌道1的方向向量為V1,軌道2的方向向量為V2,兩條軌道的距離為d,則將軌道距離與標(biāo)準(zhǔn)軌距偏差不大的軌道線判定為同一對(duì)軌道,即
圖5 軌道距離示意圖Fig. 5 Schematic diagram of rail distance
式中:δ——閾值,根據(jù)實(shí)際應(yīng)用設(shè)定。
由于感興趣區(qū)域中可能存在多條軌道,需要從中確定出當(dāng)前軌道的參數(shù),從而進(jìn)行機(jī)車行駛區(qū)域的劃分。在數(shù)據(jù)預(yù)處理階段,基于激光雷達(dá)的外參標(biāo)定信息對(duì)原始激光點(diǎn)云進(jìn)行了坐標(biāo)變換,得到車體坐標(biāo)系下的激光點(diǎn)云,激光點(diǎn)云以車體中心線向兩側(cè)展開(kāi)掃描?;谏鲜鰳?biāo)定信息,本文通過(guò)軌道方程與車體中心線的偏離程度進(jìn)行當(dāng)前軌道的判定。
通過(guò)軌道檢測(cè)獲得了當(dāng)前軌道信息,而機(jī)車車體有一定的寬度,因此本文將軌道曲線向左右兩側(cè)各外推一定距離形成的區(qū)域定義為機(jī)車行駛區(qū)域。考慮到某些障礙物有運(yùn)動(dòng)屬性,在機(jī)車行駛區(qū)域周圍設(shè)置警戒區(qū)域,當(dāng)有障礙物入侵到警戒區(qū)域時(shí),進(jìn)行預(yù)報(bào)警,避免發(fā)生碰撞。警戒區(qū)域與機(jī)車行駛區(qū)域共同構(gòu)成機(jī)車可通行區(qū)域。
電氣化鐵路沿軌道線鋪設(shè)了電網(wǎng)為機(jī)車供電,輸電網(wǎng)的電線桿塔按照一定的標(biāo)準(zhǔn)矗立在軌道一側(cè),因此可以通過(guò)檢測(cè)電網(wǎng)桿塔獲得警戒區(qū)域,輸電網(wǎng)桿塔及其點(diǎn)云分別如圖6和圖7所示。
圖6 輸電網(wǎng)桿塔圖Fig. 6 Diagram of transmission tower
圖7 輸電網(wǎng)桿塔點(diǎn)云圖Fig. 7 Point cloud diagram of transmission tower
基于激光雷達(dá)的桿塔檢測(cè)流程包括數(shù)據(jù)預(yù)處理、點(diǎn)云分割、點(diǎn)云聚類、點(diǎn)云特征提取及點(diǎn)云識(shí)別。其中,點(diǎn)云數(shù)據(jù)預(yù)處理過(guò)程已在軌道檢測(cè)過(guò)程中進(jìn)行。點(diǎn)云分割過(guò)程是基于軌道檢測(cè)的結(jié)果,在豎直方向上將軌道平面以下的點(diǎn)云進(jìn)行切除,分割出一簇簇障礙物點(diǎn)云。然后,采用基于密度的聚類算法(density-based spatial clustering of applications with noise, DBSCAN)將屬于同一障礙物的點(diǎn)云聚為一簇[7]。點(diǎn)云特征提取過(guò)程是對(duì)聚類后的各簇點(diǎn)云進(jìn)行刻畫(huà)。三維點(diǎn)云表征了物體在三維空間的表面采樣信息,具有尺度、旋轉(zhuǎn)不變性,物體的長(zhǎng)、寬、高等幾何信息可作為描述目標(biāo)點(diǎn)云的特征向量。障礙物類型識(shí)別采用支持向量數(shù)據(jù)描述(support vector data description, SVDD)算法進(jìn)行分類。SVDD是一種單類分類算法,其能夠?qū)崿F(xiàn)目標(biāo)樣本和非目標(biāo)樣本的區(qū)分[8]。該方法通過(guò)對(duì)訓(xùn)練樣本集進(jìn)行超球描述,并檢測(cè)新的數(shù)據(jù)是否與訓(xùn)練樣本集相似,從而達(dá)到分類的目的。SVDD的優(yōu)化目標(biāo)是求一個(gè)中心為o、半徑為R1的最小球面:
這個(gè)球面需滿足
式中:C——常數(shù);xi∈Rn——n維空間的特征向量;T——轉(zhuǎn)置符號(hào);ξi——松弛變量,其使得模型不會(huì)被個(gè)別極端數(shù)據(jù)干擾,確保模型的魯棒性。
簡(jiǎn)單來(lái)說(shuō),SVDD優(yōu)化目標(biāo)就是要把訓(xùn)練集中的數(shù)據(jù)點(diǎn)都包在n維空間的超球內(nèi)。
本文首先通過(guò)提取點(diǎn)云邊界框的質(zhì)心、長(zhǎng)度、寬度以及點(diǎn)云密度和點(diǎn)云強(qiáng)度,組成特征向量并構(gòu)建訓(xùn)練集;然后通過(guò)SVDD算法對(duì)訓(xùn)練集進(jìn)行訓(xùn)練,得到分類模型[9]。應(yīng)用時(shí)判斷一簇點(diǎn)云是否屬于桿塔,需確定該簇點(diǎn)云的特征z是否落在訓(xùn)練出來(lái)的超球內(nèi)。即,如果滿足式(5),則判定為桿塔,其中a,R2為桿塔模型參數(shù)。
桿塔識(shí)別完成后,將屬于當(dāng)前軌道的桿塔連接起來(lái)形成桿塔一側(cè)的警戒區(qū)域,基于軌道信息采用鏡像處理的方式得到軌道另一側(cè)的警戒區(qū)域,并與機(jī)車行駛區(qū)域合并,最終形成整個(gè)可通行區(qū)域。
為了驗(yàn)證本文所提算法的實(shí)時(shí)性和軌道檢測(cè)的準(zhǔn)確性,將算法應(yīng)用到現(xiàn)場(chǎng)進(jìn)行實(shí)驗(yàn)驗(yàn)證。實(shí)驗(yàn)使用的激光雷達(dá)為大疆Horizon,該雷達(dá)采用的激光波長(zhǎng)為905 nm,視場(chǎng)角FOV為81.7°(水平)×25.1°(垂直),每秒可返回240 000個(gè)點(diǎn)。
該激光雷達(dá)被安裝在包神鐵路某電力機(jī)車正前方,激光雷達(dá)通過(guò)發(fā)射激光獲取機(jī)車前方的環(huán)境信息;檢測(cè)算法運(yùn)行于車載電腦上,通過(guò)C++程序?qū)崿F(xiàn)。為了驗(yàn)證本文所提檢測(cè)算法的實(shí)時(shí)性,連續(xù)運(yùn)行10 000幀數(shù)據(jù),統(tǒng)計(jì)算法運(yùn)行時(shí)間分布,算法平均每幀耗時(shí)56 ms,單幀最大耗時(shí)83 ms,最小耗時(shí)39 ms,低于激光雷達(dá)工作周期100 ms,滿足算法檢測(cè)的實(shí)時(shí)性要求。該10 000幀數(shù)據(jù)中,軌道被成功檢測(cè)出的有9 990幀,軌道檢測(cè)成功率大于99%。從算法檢測(cè)效果圖中可看出,該算法能準(zhǔn)確地提取出機(jī)車前方的可通行區(qū)域。圖8為鐵路站場(chǎng)的場(chǎng)景圖,圖像正中間的軌道為機(jī)車當(dāng)前行駛軌道,該軌道左側(cè)架設(shè)有輸電桿為機(jī)車供電,視野前方停放了多輛機(jī)車(車廂)。圖9為該鐵路場(chǎng)景的激光點(diǎn)云圖,從點(diǎn)云圖可清晰地分辨出桿塔、軌道、前方機(jī)車等目標(biāo)。圖10為通過(guò)本文算法檢測(cè)輸出的軌道信息,圖中檢測(cè)出了3條軌道,中間的軌道為機(jī)車當(dāng)前軌道。圖11為檢測(cè)算法輸出的可通行區(qū)域,通過(guò)當(dāng)前軌道檢測(cè)算法確定機(jī)車行駛區(qū)域,通過(guò)軌旁桿塔檢測(cè)算法獲得警戒區(qū)域,二者合并形成機(jī)車可通行區(qū)域。
圖8 鐵路場(chǎng)景圖Fig. 8 Diagram of the railway scene
圖9 鐵路場(chǎng)景點(diǎn)云圖Fig. 9 Point cloud diagram of the railway scene
圖10 軌道檢測(cè)結(jié)果圖Fig. 10 Diagram of rail detect result
圖11 機(jī)車可通行區(qū)域檢測(cè)結(jié)果圖Fig. 11 Diagram of locomotive passable area detect result
本文提出了一種基于激光雷達(dá)的機(jī)車可通行區(qū)域檢測(cè)算法,其通過(guò)局部區(qū)域搜索及隨機(jī)采樣一致性算法實(shí)現(xiàn)軌道檢測(cè)并提取機(jī)車行駛區(qū)域;通過(guò)支持向量數(shù)據(jù)描述算法檢測(cè)輸電網(wǎng)桿塔并提取警戒區(qū)域;警戒區(qū)域與機(jī)車行駛區(qū)域合并,構(gòu)成整個(gè)可通行區(qū)域。實(shí)驗(yàn)結(jié)果表明,本文提出的算法能滿足實(shí)時(shí)性要求且有較高的準(zhǔn)確率,算法魯棒性較好,可實(shí)時(shí)、精確地為機(jī)車提供可通行區(qū)域路面信息,為自動(dòng)駕駛主動(dòng)防撞技術(shù)提供支撐。下一步將研究分析站場(chǎng)內(nèi)外特殊路面的點(diǎn)云特征,以增強(qiáng)該算法對(duì)環(huán)境的適應(yīng)性。