禹鑫燚 何偉琪 崔朱帆 歐林林
(浙江工業(yè)大學(xué)信息工程學(xué)院 杭州 310023)
近年來,我國軌道交通的運輸量不斷增加,列車運行速度也越來越快,據(jù)國家鐵路局公布的數(shù)據(jù)顯示,鐵路客貨運量持續(xù)增長[1]。鐵道交通運輸?shù)陌l(fā)展給人們的生活帶來便利的同時,對列車運行的安全性提出了更高的要求。軌道列車非接觸式障礙物檢測,在列車安全行駛的過程中顯得極為重要[2]。列車運行時依靠駕駛員的人為判斷前方是否存在障礙物,但無法避免人為因素導(dǎo)致潛在的危險。因此,鑒于行車安全需要智能化保障的背景下,列車前方障礙物檢測是必要的。但是鐵路交通運行環(huán)境封閉,使用傳感器采集真實軌道運行時的數(shù)據(jù)十分困難。
基于仿真平臺進行算法仿真測試,不僅可以提高研究測試效率,還可以將列車與自然環(huán)境的交互考慮在算法內(nèi)。軌道列車仿真系統(tǒng)對于軌道列車的障礙物檢測研究具有重要的意義。Koh[3]基于Sim-Mobility 模擬平臺設(shè)計了一個鐵路仿真系統(tǒng),可以根據(jù)配置文件靈活地對多種場景和策略進行建模。郭彥宏[4]基于微軟的列車模擬器(microsoft train simulate,MSTS)搭建了仿真平臺并研究了列車控制算法和列車自動駕駛仿真實驗等,但缺少對軌道障礙物檢測的仿真研究。Tang[5]基于LabVIEW 軟件創(chuàng)建了一個火車檢測和物體檢測的仿真環(huán)境,并在鐵路站臺的2D 圖像中檢測障礙物實現(xiàn)列車進站安全預(yù)警系統(tǒng),對軌道交通安全起到有效的作用。目前主流的軌道仿真系統(tǒng)過于理想化,未充分考慮真實場景中的問題,尤其是在軌道障礙物實時檢測方面。
根據(jù)上述分析,為滿足軌道列車障礙物檢測仿真系統(tǒng)的模擬真實列車場景的需求,本文設(shè)計了軌道列車障礙物檢測仿真系統(tǒng)。首先,基于虛幻引擎構(gòu)建了仿真系統(tǒng)的虛擬仿真環(huán)境。通過3D 建模技術(shù),使用建模軟件在虛幻引擎構(gòu)建的場景中創(chuàng)建了地形地貌并覆蓋植被,在場景中搭建軌道和列車。其次,根據(jù)真實傳感器原理設(shè)計虛擬激光雷達傳感器并采集環(huán)境的實驗數(shù)據(jù)。
針對列車行駛安全系統(tǒng)中的軌道障礙物檢測問題,現(xiàn)有的研究[6-10]主要通過安裝在列車頭部的傳感器(如相機和激光雷達)獲取環(huán)境數(shù)據(jù)進行障礙物檢測?;趫D像的方法因數(shù)據(jù)獲取便利和物體辨識度高等優(yōu)點被用于障礙物檢測[6-8],但是容易受到極端天氣與光照變化的影響,在雨、雪、光強瞬變(進出隧道時)等情況下存在魯棒性不足的問題。激光雷達主動發(fā)射射線獲取環(huán)境點云,不受天氣與光照影響,同時包含精確的目標物體的三維空間信息,因此不斷地被應(yīng)用于環(huán)境感知領(lǐng)域[9-11]。郭雙全[9]提出采用雷達傳感器實現(xiàn)鐵路線路異物侵限檢測,通過構(gòu)建軌道地圖和設(shè)計檢測區(qū)域模型來檢測障礙物,但不能滿足實時障礙物檢測的需求。蔚增巖[10]提出一種適用于鐵路環(huán)境的地面濾除方法用于分離目標范圍內(nèi)的地面與障礙物,通過建立物體模型庫匹配障礙物類別,但只能用于近距離障礙物檢測。
傳統(tǒng)的點云處理方法主要是通過人工設(shè)計的特征來制定各個類別點云的統(tǒng)計規(guī)則和幾何模型約束,通常只適用于三維物體模型。深度學(xué)習技術(shù)的發(fā)展[12]為點云語義分割領(lǐng)域提供了新的技術(shù)路線,可以分為基于體素和基于點的方法。PointNet[13]是一個開創(chuàng)性的網(wǎng)絡(luò)框架,它直接對每個點執(zhí)行全連接操作,利用全連接網(wǎng)絡(luò)和最大池化層來近似函數(shù)的置換不變特性,解決了點云數(shù)據(jù)的排列順序問題,但忽略了點云局部特征的提取而導(dǎo)致復(fù)雜場景下精度不高。Hu 等人[14]提出了RandLA-Net,其中隨機降采樣有效地提高模型計算速度,但也容易受到噪聲點云影響?;隗w素的方法將體素與3D 卷積網(wǎng)絡(luò)相結(jié)合,VoxNet[15]首先被用于點云的目標檢測任務(wù)中,它使用固定體積的立方體分割點云,但此方法較難適應(yīng)室外場景點云的稀疏性和密度易變等特點。因此,Zhou 等人[16]提出了圓柱形體素分割,將公路場景的雷達點云根據(jù)距離動態(tài)劃分到扇形體素中,從而產(chǎn)生更均衡的體素與點云分布的關(guān)系,在語義分割任務(wù)中獲得了更高的精度。
針對圖像傳感器對光照條件敏感與圖像數(shù)據(jù)在空間信息檢測上的缺陷,本文研究了基于三維點云的軌道檢測方法。首先,根據(jù)鐵路場景雷達掃描視角與點云數(shù)據(jù)稀疏性和密度易變的特點,分別設(shè)計了錐形體素分割和點云局部特征聚合方法來提取鐵軌的高階幾何特征,提出了基于稀疏3D 卷積的點云語義分割網(wǎng)絡(luò)模型對每個體素分類,根據(jù)體素與點的索引關(guān)系將體素類別映射到對應(yīng)的點云,實現(xiàn)軌道點云分割。最后,通過擬合離散的軌道點云獲得連續(xù)的安全行車3D 區(qū)域,基于隨機抽樣一致性算法[17]分割軌道平面,對區(qū)域內(nèi)剩余點云聚類得到障礙物的三維位置。
本節(jié)基于虛幻引擎(unreal engine,UE) 開發(fā)系統(tǒng)仿真環(huán)境,如圖1 所示,包括地形地貌、軌道列車和障礙物,通過虛擬激光雷達傳感器獲取鐵路環(huán)境數(shù)據(jù)。地行地貌中有地形、植被等自然環(huán)境的元素,還有軌道和運行的列車。構(gòu)建仿真系統(tǒng)的目的是驗證軌道列車障礙物檢測方法,需要獲得仿真環(huán)境的三維點云數(shù)據(jù),因此設(shè)計了虛擬激光雷達傳感器。傳感器被安裝在列車運行的頭部,獲取列車運行時環(huán)境中的三維點云,用來檢測列車運行前方的環(huán)境中是否有障礙物。
圖1 鐵路仿真環(huán)境及三維點云獲取框架圖
環(huán)境地形地貌承載整個虛擬仿真場景,是環(huán)境的基礎(chǔ)。其包括山坡、草坪、巖壁、樹林等自然環(huán)境元素。地形地貌構(gòu)建如圖2 所示,將建模軟件制作的高度圖、實物模型、材質(zhì)資源導(dǎo)入到環(huán)境中,使用World Machine 制作基礎(chǔ)地形,基于UE 地形編輯系統(tǒng)Land Scape 進一步優(yōu)化地形細節(jié),并利用Speed Tree 工具編輯樹木模型并批量地添加到虛擬仿真環(huán)境中,完成地形地貌的構(gòu)建?;赨E 提供的材質(zhì)庫為地表設(shè)計添加草坪的材質(zhì)紋理,通過Land Scape 的地形修改組件去優(yōu)化地形,雕刻和繪制山坡和溝塹,對地形高度圖生成的地形進行平滑處理。
圖2 地形地貌構(gòu)建
在Speed Tree 軟件中為仿真環(huán)境設(shè)計制作綠植。Speed Tree 使用節(jié)點編程模式,依次添加樹干、樹枝、樹葉并調(diào)整大小、節(jié)點數(shù)量、位姿等參數(shù)。給樹添加材質(zhì)貼圖,樹干需要顏色貼圖、法線貼圖,樹葉另外需要透明貼圖。將模型導(dǎo)出并添加到UE 的Land Scape 地形編輯器中,批量的設(shè)置添加樹木到仿真環(huán)境中,效果如圖3 所示,環(huán)境表現(xiàn)接近自然環(huán)境。
圖3 地形地貌
除了自然環(huán)境,仿真環(huán)境中還包含軌道、電桿、站臺等靜物以及在軌道上運行的列車。使用3D Max 三維建模軟件搭建軌道、列車、電線桿、站臺等模型,將模型按照要求轉(zhuǎn)換為靜態(tài)網(wǎng)格體導(dǎo)入到UE中,并布置在場景中。仿真環(huán)境中的障礙物模型有人體、石頭、正方體和圓柱體等。圖4 給出了導(dǎo)入完成后的列車、枕木、鐵軌、電桿和障礙物等模型。
以單軌道的實際鐵路場景為參考,仿真環(huán)境構(gòu)建結(jié)果如圖5 所示,左轉(zhuǎn)軌道包含人、圓球和石塊等障礙物。
圖5 鐵路仿真環(huán)境
根據(jù)激光雷達掃描單元的結(jié)構(gòu)不同,激光雷達分為機械式、混合式和純固態(tài)激光雷達。機械式激光雷達因原理簡單、360 °掃描的特點,被廣泛應(yīng)用于智能駕駛實驗測試中。
混合式激光雷達把機械結(jié)構(gòu)集成到體積較小的硅基芯片上,激光發(fā)射元件在豎直方向上排布成激光光源線陣,在豎直面內(nèi)產(chǎn)生不同指向的激光光束,通過微振鏡改變單個發(fā)射器的發(fā)射角度,豎直面內(nèi)的激光不斷旋轉(zhuǎn)由“線”掃描形成“面”,實現(xiàn)對被測對象、環(huán)境的三維掃描。以innovusion Jaguar Gen-1激光雷達的參數(shù)為依據(jù),其參數(shù)如表1,基于混合式激光雷達的原理,使用UE 的光線追蹤性能設(shè)計仿真環(huán)境中獲取數(shù)據(jù)的虛擬激光雷達傳感器。
表1 激光雷達硬件參數(shù)
虛擬激光雷達感知基于虛幻引擎的光線渲染系統(tǒng),用于射擊游戲中獲取被射擊目標。其原理如圖6所示,射線發(fā)出后會去在指定范圍內(nèi)對碰撞體(三角形)求交,依據(jù)著色表對交點判斷,如果交點有效則觸發(fā)碰撞(圓點)返回最近交點的距離。
圖6 射線追蹤
以雷達的位置作為射線的起點,若觸發(fā)碰撞則得到原點到物體交點的距離,如圖7 所示,根據(jù)已知的射線垂直角度α和水平角度β,可以得到交點的x、y和z坐標值如式(1)所示。
圖7 交點坐標轉(zhuǎn)換圖
針對鐵路場景列車運行的安全性問題,本節(jié)提出的基于三維點云障礙物檢測方法分為2 個部分:軌道點云分割和列車安全行駛區(qū)域的障礙物判定。
本節(jié)提出一種基于深度學(xué)習的三維點云語義分割網(wǎng)絡(luò)與障礙物判定的方法,可以精確地檢測出軌道障礙物。方法組成如圖8 所示,包括軌道點云分割和障礙物判定。首先對不同的鐵路場景(例如直軌道、彎軌道)分割出軌道點云;然后基于離散的軌道點云和列車尺寸信息擬合出列車前方的安全行駛3D 區(qū)域,對區(qū)域內(nèi)的軌面點云進行地面分割;最后對剩余的點云聚類并根據(jù)每個類別中點的數(shù)量判斷是否存在障礙物,若存在,則計算障礙物的3D 位置,完成障礙物檢測。
圖8 障礙物檢測方法流程圖
點云語義分割網(wǎng)絡(luò)分為基于體素的三維卷積方法和基于投影的二維語義分割方法。投影法通常是將點云投影到特定的平面或曲面上,再基于圖像中的語義分割網(wǎng)絡(luò)得到點云分割結(jié)果。這類方法的最終性能通常要低于基于體素的方法,因為經(jīng)過投影之后的點云會丟失三維空間的幾何結(jié)構(gòu)信息。傳統(tǒng)的三維卷積屬于密集計算,復(fù)雜度達到O(n3),而點云在三維空間中的稀疏性導(dǎo)致三維卷積計算量大,包含大量無效計算。基于稀疏3D 卷積的方法只對非空體素執(zhí)行卷積,避免了對無效體素的計算,從而加速整體卷積運算速度。
本文創(chuàng)建的仿真激光雷達安裝在列車頭部,有一個固定的探測范圍。如圖9 所示,激光雷達的掃描區(qū)域為四棱錐形,水平和俯仰角度由仿真雷達的參數(shù)決定。在點云采集過程中,由于距離、遮擋和相對位置等因素,近距離的點云密度要比遠區(qū)的大得多。在相關(guān)的工作中,點云被劃分為立方體體素[15],這將導(dǎo)致體素的點密度的非均衡性?;谏刃蔚捏w素劃分思想[16],將點云在極坐標系下表示為
圖9 雷達探測范圍示意圖
式中α、β、r分別為點在極坐標系下的垂直角、水平角和距離。然后進行體素劃分,使得每個區(qū)域中都包含相同數(shù)量的雷達射線。如圖10 所示,經(jīng)過分割后,在笛卡爾坐標系中顯示為錐形的體素,隨著掃描范圍內(nèi)物體距離變遠,每個體素覆蓋的體積更廣。
圖10 體素分割示意圖
最后將每個點劃分到對應(yīng)的體素中,即給每個點配對體素編號,具體步驟如下2 步所述。
(1)給定一幀點云P={pn|n=1,…,N},設(shè)定體素分割的網(wǎng)格大小為Δα、Δβ和Δr,它們分別表示垂直、水平和距離維度。假設(shè)雷達三維掃描的范圍是αmin、αmax、βmin、βmax、rmin和rmax,點云被分割到體素為
其中,H、W和L是體素總的個數(shù)。
(2)對于點云中的每個點,體素編號為
其中,αn、βn、rn為點pn在極坐標系下的坐標值,h、w、l為點pn劃分到體素的位置坐標。
在3D 卷積中,每個體素包含的信息用一個向量表示,此時需要將各個體素中包含的點云特征聚合到這個向量。仿真環(huán)境采集的一幀點云的點個數(shù)高達10 萬個,過多的點云數(shù)量聚集到體素中會帶來很多的計算量,因此在體素分割的基礎(chǔ)上進行降采樣,被去除的點不參與后續(xù)的卷積網(wǎng)絡(luò)計算,減少了計算量。同時,為了減少降采樣帶來的物體幾何信息丟失,將點云的局部特征進行編碼,聚合到體素的向量中。點云的局部特征聚合的步驟如下4 步所示。
(1)一幀點云經(jīng)過扇形體素分割并降采樣后,留下一個點作為該體素的代表。基于最近鄰算法(k-nearest neighbor,KNN),對每個非空體素中的點pn(查詢點)查找它附近的K個最近鄰點集其中是距離pn的第k個最近點。然后為pn最近的K個點進行相對位置編碼操作,其中第k個最近點特征信息表示為
其中pn和是點的x、y和z坐標值,-pn表示2個點的相對空間位置。
(2)經(jīng)過上述步驟后,點的幾何信息和相鄰點間的關(guān)系被編碼到對應(yīng)的查詢點,特征Fn可以表示為
(3)采用多層感知機(multilayer perceptron,MLP)來提取查詢點幾何的高維特征,對于K個最相鄰點的C個特征維度,基于最大池化層(max)保留特征各個維度中最大特征值:
(4)每個體素經(jīng)過特征提取步驟得到高階的、帶有最顯著的局部幾何特征。點云通過錐形體素集合表示為R ∈C×H×W×L,其中C表示特征維度,H、W和L分別是垂直、水平和距離維度。
考慮鐵路場景是由軌道床、供電桿和線纜等組成的固定結(jié)構(gòu)。在列車轉(zhuǎn)彎或變軌時,軌道在激光雷達視角中不斷變化,需要結(jié)合多層語義信息提取特征。本文提出了基于稀疏3D 卷積算子[18]的多尺度點云語義分割網(wǎng)絡(luò),網(wǎng)絡(luò)的核心是將高維軌道環(huán)境信息作為有效的先驗條件,基于mobilenet[19]的可分離卷積結(jié)構(gòu),構(gòu)建輕量化的三維卷積升維下采樣模塊和降采樣模塊,此外利用上采樣和下采樣模塊構(gòu)建基于U-Net[20]語義分割的網(wǎng)絡(luò)結(jié)構(gòu),最后通過邏輯回歸分類器給每個體素預(yù)測類別。
點云語義分割網(wǎng)絡(luò)模型結(jié)構(gòu)如圖11所示,網(wǎng)絡(luò)采用編碼和解碼結(jié)構(gòu),由4 個D 模塊組成,共經(jīng)過3次下采樣;解碼部分由4 個U 模塊組成,共經(jīng)過3 次上采樣。編碼部分屬于收縮路徑,用于獲取上下文信息即局部特征,每一次下采樣,卷積的感受域會擴大一倍;解碼部分屬于擴張路徑,用于精確定位語義分割的位置,同時收縮路徑和擴張路徑是相互對稱的。
圖11 語義分割網(wǎng)絡(luò)模型框架圖
網(wǎng)絡(luò)模型中的D 和U 模塊是可分離結(jié)構(gòu)的三維稀疏卷積模塊。如圖12 所示,方塊表示輸入與輸出的體素特征向量,spconv 是稀疏3D 卷積算子,deconv 是反卷積算子。D 模塊的輸入是低階的體素特征,經(jīng)過一個[1 ×1 ×1,stride=1]的稀疏卷積核對每個特征通道數(shù)進行卷積操作,再經(jīng)過[3 ×3 ×3,stride=1]的深度稀疏卷積和實現(xiàn)特征融合,并將此時的特征圖傳給上采樣模塊,最后通過[1 ×1 ×1,stride=2]對體素進行逐點卷積與下采樣,得到高階小尺寸的輸出特征圖。U 模塊的輸入是低階的體素特征,經(jīng)過一個[1 ×1 ×1,stride=2]的反卷積核對特征圖進行反卷積操作并恢復(fù)其尺寸,然后聚合與U 模塊對稱結(jié)構(gòu)的D 模塊的特征圖,再進行深度可分離稀疏卷積操作得到低階的特征圖。
圖12 下采樣編碼與上采樣解碼模塊
在軌道點云分割的任務(wù)中,D 和U 模塊基于深度可分離結(jié)構(gòu),通過減少[3 ×3 ×3]卷積核中的通道數(shù)核增加[1 ×1 ×1]卷積核的通道數(shù),目的是在保持模型性能(點云分割精度)的前提下降低模型大小和計算量。以輸入特征圖大小Cin×H×W×L和輸出特征圖大小Cout×H×W×L為例,對于標準卷積D×D,其計算量為Cin×Cout×H×W×L×D×D;而對于深度卷積[3 ×3 ×3],其計算量為Cin×H×W×L×D×D,逐點卷積[1 ×1 ×1]的計算量為Cin×Cout×H×W×L;標準卷積核深度可分離卷積的計算量比值為
當輸出特征圖的通道數(shù)Cout很大時,深度可分離卷積可以大約降低D2倍的計算量,同時網(wǎng)絡(luò)模型的參數(shù)量也會降低。
算法1 是本節(jié)方法的具體實現(xiàn)過程。
激光雷達實時采集環(huán)境點云,軌道部分點云在每幀的點云中都是近距離密集和遠距離稀疏的特點,軌道形狀包括直軌道、彎軌道和直軌道與彎軌道相接等。離散的三維軌道點云需要擬合出軌道中心線,基于中心線推算出列車前方的安全行駛空間。
面對直軌道和彎軌道場景,在軌道線擬合時忽略z軸,將軌道點云看作二維平面上的點。用直線表示軌道線是一種簡化的方法,但是在彎軌道的近似結(jié)果與真實曲線偏差較大。二次函數(shù)可以同時表示直線與彎曲曲線,因此本文基于最小二乘法擬合二次函數(shù)來表示軌道的中心線。根據(jù)列車安全行車區(qū)域的寬和高,平移曲線得到三維矩形盒體范圍,即列車前方安全行車區(qū)域。
在鐵路環(huán)境中,障礙物大多數(shù)是未知物體,落在軌道上時有可能被識別為軌道,所以要分割出列車行駛區(qū)域內(nèi)的路面點云,才能進一步對障礙物點云聚類以及定位。本文基于隨機采樣一致(random sample consensus,RANSAC)[17]算法對安全區(qū)域內(nèi)的點云進行去地面處理。RANSAC 是一種在包含離群點的數(shù)據(jù)集合中,通過迭代的方式估計模型的參數(shù),例如三維空間中的平面。相比于最小二乘法,在密度不均勻的軌道點云中,基于RANSAC 的平面擬合可以緩解點云分布不均勻的問題。假設(shè)鐵路的地平面模型為α,本文采用基于RANSAC 擬合平面方法的步驟如下。
(1)在點云P中隨機選擇3 個不共線的點計算出平面α,其方程為
其中,A、B、C、D是3D 空間中確定平面α的參數(shù),x、y、z表示三維坐標系下的值。
(2)依次計算P中所有點到平面α的距離,把距離小于閾值d的點歸為內(nèi)點,得到內(nèi)點集合In,記錄集合In中點的數(shù)量N。
(3)迭代步驟(1)和(2),對應(yīng)于N最大的平面方程即為最優(yōu)模型;當滿足設(shè)定條件時退出迭代,例如達到設(shè)定的迭代次數(shù)。
在列車安全行駛的3D 區(qū)域內(nèi),去除地面點云后,剩下的都屬于地面以上的點,然后對這些點進行聚類,形成多類物體的集合。依次統(tǒng)計集合中點的數(shù)量,若數(shù)量未超過設(shè)定的閾值,則認為無障礙物,反之則判定為存在障礙物。
基于密度的聚類算法(density-based spatial clustering of applications with noise,DBSCAN)[21],與層次和劃分聚類方法不同,它將類定義為密度相連點的最大集合,能夠把具有足夠高密度的點云劃分為同一類,并且能抑制離群點的影響。本節(jié)基于DBSCAN 算法對點云聚類,如圖13 所示,根據(jù)ε(在一個點周圍鄰近區(qū)域的半徑)、k(鄰近區(qū)域內(nèi)至少包含點的個數(shù))2 個參數(shù),把樣本點云中的點分成3種:(1)核心點(A 點):以當前點為球心半徑為ε的領(lǐng)域內(nèi)含有不小于k個點云。(2)邊緣點(B、C點):當前點云為球心半徑為ε的領(lǐng)域內(nèi)含有小于k且大于0 個點。(3)離群點(D 點):不是核點也不是邊緣點。
圖13 基于DBSCAN 算法的點云聚類
通過DBSCAN 聚類后,再統(tǒng)計每個聚類結(jié)果中的點云,將點的數(shù)量超過設(shè)定閾值的類別判定為障礙物,并將該類中點的最大和最小坐標值作為障礙物的具體位置,完成列車安全行車區(qū)間內(nèi)障礙物的定位。
算法2 是障礙物判定算法的具體實現(xiàn)過程。
本文的實驗首先使用設(shè)計的虛擬激光雷達從鐵路仿真環(huán)境中采集點三維云數(shù)據(jù)并制作數(shù)據(jù)集,然后訓(xùn)練點云語義分割網(wǎng)絡(luò)模型并評估模型準確率。將障礙物隨機地放置在軌道附近重新采集點云數(shù)據(jù),使用訓(xùn)練的模型分割出軌道點云,再擬合連續(xù)的列車安全行車區(qū)域并得到區(qū)域內(nèi)的點云。最后對安全區(qū)域內(nèi)的點云進行地面分割和障礙物點云聚類等步驟實現(xiàn)障礙物檢測。
在仿真環(huán)境中采集點云數(shù)據(jù),如圖14 所示,3種軌道場景包括直軌道、左轉(zhuǎn)和右轉(zhuǎn)軌道,其中紋狀線條表示雷達射線與物體的交點,這些交點的集合即點云。
圖14 直軌道、左轉(zhuǎn)軌道和右轉(zhuǎn)軌道的點云采集
如圖15 所示,在軌道點云橫截面中,軌道枕木和鐵軌組成的區(qū)域具有明顯的幾何特征。因此將這個區(qū)域作為軌道標記區(qū)域,然后手動標注數(shù)據(jù)中的軌道點云,其余的點云標注為背景,標注完成后的可視化如圖16 所示,其中虛線框內(nèi)的點表示標注為軌道點云。
圖15 軌道標記區(qū)域
圖16 標注結(jié)果可視化圖
在仿真環(huán)境中,一共采集180 幀點云數(shù)據(jù)并劃分訓(xùn)練集和測試集,統(tǒng)計信息如表2 所示,包括60幀直線軌道、60 幀左轉(zhuǎn)彎軌道和60 幀右轉(zhuǎn)彎軌道。數(shù)據(jù)集包含大約452 萬個點,其中軌道大約31.2 萬個點。因為場景的空曠程度不一致,點云幀中點的數(shù)量范圍是2 萬~5 萬,每個點包含x、y和z值,表示物體在3D 坐標系下被激光雷達掃描到的坐標值。根據(jù)鐵路場景和軌道的排布類型,分為3 類場景,分別是直軌道,左轉(zhuǎn)軌道和右轉(zhuǎn)軌道。場景1、2、3 作為訓(xùn)練集,共150 幀;場景4、5、6 作為測試集,共30 幀。
表2 軌道環(huán)境仿真數(shù)據(jù)集具體信息
本實驗的硬件設(shè)備是一個6 核3.4 GHz 的AMD CPU 與一張Nvidia 2080Ti 顯卡。深度學(xué)習環(huán)境由Ubuntu-18.04 系統(tǒng),Pytorch-1.6,Spconv-1.2.1等組成。錐形體素分割、相對位置編碼和模型訓(xùn)練的主要參數(shù)如表3 所示。為了防止模型參數(shù)過擬合,在±5°范圍內(nèi)將點云隨機繞z軸旋轉(zhuǎn),并且在點云上加入高斯噪聲。模型訓(xùn)練過程中,動態(tài)學(xué)習速率設(shè)定為每10 個迭代(epoch)減小10 倍,并使用交叉熵損失函數(shù)來計算網(wǎng)絡(luò)輸出與真值標簽的誤差。
表3 網(wǎng)絡(luò)模型訓(xùn)練的參數(shù)
實驗結(jié)果評估方法使用通用的點云語義分割網(wǎng)絡(luò)評價指標,分別是交并比(intersection over union,IoU),精度(precision),召回率(recall),表達式為
其中,TP表示真陽性,即正確識別軌道點的數(shù)量;FP表示假陽性,即真實背景點被識別為軌道點的數(shù)量;FN表示假陰性,即真實軌道點被識別為背景點的數(shù)量。
模型首先經(jīng)過20 個epoch 訓(xùn)練,達到收斂;然后在場景4、5、6 中測試,測試結(jié)果如表4 所示,軌道識別的平均IoU達到93.2%。
表4 測試集上的軌道分割結(jié)果
軌道點云分割結(jié)果的可視化樣例如圖17 所示,其中虛線框內(nèi)的點代表預(yù)測的TP點,圓形框內(nèi)的點代表FN點,方形框內(nèi)的點代表FP點。無論是在近距離密度高軌道還是在遠距離點云稀疏的軌道,除了邊緣部分有少許識別錯誤的點,帶狀的軌道點云基本上被完整分割。
圖17 直軌道、左轉(zhuǎn)軌道和右轉(zhuǎn)軌道分割結(jié)果
在對比實驗中,使用2 個有代表性的語義分割網(wǎng)絡(luò)模型PointNet 和RandLA-Net 作為對比網(wǎng)絡(luò)模型,在同樣的數(shù)據(jù)集上訓(xùn)練和調(diào)參。對比實驗的結(jié)果如表5 所示,本文提出的網(wǎng)絡(luò)模型具有最高的IoU,并且遠高于其他2 個對比網(wǎng)絡(luò)。
表5 軌道點云分割對比實驗結(jié)果
使用仿真環(huán)境中的障礙物元素,在軌道附近放置1 至2 個障礙物,然后采集有障礙物的點云數(shù)據(jù),如圖18 所示。為了檢驗方法的魯棒性能,在直軌道、左轉(zhuǎn)和右轉(zhuǎn)軌道上分別采樣20 幀帶有隨機放置障礙物的點云,在60 幀點云中手動標注出障礙物的三維位置。
圖18 放置圓球障礙物
在標注障礙物時,障礙物的3D 目標框位置使用一個六維向量表示為
其中,[xl,yl,zl] 和[xr,yr,zr] 表示目標框的左下角坐標和右上角坐標,若存在多個障礙物則在標簽中有多個對應(yīng)的位置向量。
將采集的數(shù)據(jù)輸入到訓(xùn)練好的軌道點云分割網(wǎng)絡(luò)模型中,得到軌道點云。忽略z軸,使用點云的x和y軸坐標值進行二次函數(shù)擬合,軌道中心線擬合結(jié)果如圖19 所示。
圖19 軌道中心線擬合
仿真環(huán)境列車的寬和高分別為3 m 和4 m,以人與列車的安全距離1 m 為限制,列車的安全行車區(qū)域?qū)挼臑? m,向四周平移軌道中心線得到連續(xù)的3D 區(qū)域,即列車前方安全行車區(qū)域,如圖20 所示,分別是直軌道、左轉(zhuǎn)和右轉(zhuǎn)軌道,其中安全行車區(qū)域由實線框表示,虛線框內(nèi)的點表示區(qū)域內(nèi)的點云。
圖20 列車安全行駛區(qū)域
安全行車區(qū)域內(nèi)的點云通常包括軌道、部分軌道床和障礙物等。基于RANSAC 算法分離地面,它的迭代次數(shù)設(shè)置為1000,距離閾值d取為20 cm,如圖21 所示,在3 種軌道場景中均達到較好的分離效果,在地面點云,框內(nèi)的點包括障礙物與離散的地面點(未被正確分離的地面點云)。
圖21 地面點云分割結(jié)果
安全區(qū)域內(nèi)的點云分離地面后,會有未被分離的地面點和噪聲點,它們都是稀疏地分布在邊緣位置,而障礙物則呈現(xiàn)密集的點云。在DBSCAN 對剩余點云聚類時,將鄰近區(qū)域的半徑ε取值為50 cm,鄰近區(qū)域最小點個數(shù)k取值為10 時取得最佳效果且有較好的魯棒性,過大和過小的鄰域半徑和不合適的最小包含點取值都會導(dǎo)致障礙物無法被精準地聚類或識別失敗。圖21 直軌道的聚類結(jié)果如圖22所示,其中三角框內(nèi)的是無效點,方形和橢圓形分別為2 類障礙物點云。
圖22 直軌道障礙物點云聚類結(jié)果
障礙物判定的點云數(shù)量閾值為30,即同類點云數(shù)量大于30 則被判定為障礙物,然后計算該類所有點的邊界值得到3D 物體框,完成障礙物檢測。如圖23 所示,分別是直軌道、左轉(zhuǎn)軌道和右轉(zhuǎn)軌道的障礙物檢測結(jié)果,其中灰色的是背景點,虛線框是列車前方安全行駛區(qū)域,實線框內(nèi)的點云分別是障礙物。
圖23 直軌道、左轉(zhuǎn)軌道和右轉(zhuǎn)軌道障礙物檢測結(jié)果
本文實驗使用的主機配置包括1 塊6 核3.4 GHz的CPU,1 張NVIDIA 2080TI 顯卡。圖24 是點的數(shù)量與算法耗時的關(guān)系圖,仿真環(huán)境中一幀點云包含2.5~5.5 萬個點,算法耗時與點的數(shù)量呈正比關(guān)系,耗時大約在70~90 ms/幀。雷達采集點云的頻率為10 Hz,即100 ms/幀,本文算法平均耗時小于雷達采集速度,因此達到實時性。
圖24 算法耗時
針對鐵路場景列車運行的安全性問題,本文設(shè)計了一種基于虛幻引擎與三維點云的列車前方障礙物檢測仿真系統(tǒng)。首先,本文構(gòu)建的鐵路環(huán)境仿真系統(tǒng)和虛擬激光雷達傳感器彌補了真實場景采集障
礙物數(shù)據(jù)困難的缺陷。然后,軌道分割方法中的錐形體素點云分割方法實現(xiàn)了體素隨距離增大而包含更多的點,緩解了點云密度對局部特征聚合的影響。最后,提出了一種基于三維點云數(shù)據(jù)的列車前方障礙物判定方法用于檢測障礙物。實驗結(jié)果表明,點云語義分割網(wǎng)絡(luò)在仿真環(huán)境采集的數(shù)據(jù)中分割軌道點云的平均IoU達到93.2%,擬合的列車安全行駛區(qū)域與鐵軌方向一致,障礙物判定方法可以準確地識別障礙物的位置。與傳統(tǒng)軌道障礙物檢測系統(tǒng)相比,本系統(tǒng)可以高效地構(gòu)建環(huán)境、采集數(shù)據(jù)和驗證方法的有效性。