胡智豪, 杜嘉豪
(上海工程技術大學機械與汽車工程學院, 上海 201620)
目前,作為現代主要運輸方式之一,鐵路運輸不僅安全,而且也最具成本效益。 隨著人們對鐵路網絡運輸速度及安全性要求的不斷提高,列車運行自動化技術也在不斷發展,包括:列車車載定位技術,判斷列車行駛方向和占用股道;鐵路軌道中基礎設施的維護及保養的數據記錄和處理,為后期維護提供數據支持等;而軌道空間數據信息采集、軌道檢測,對于上述自動化技術改進及增強具有重要意義。 傳統的鐵路檢測方法包括:現場檢測和半自動化圖像和視頻數據分析,既耗時又低效。 而在時下的自動化提取方式中,應用于檢測的多種傳感器,主要基于點云及影像兩種數據類型。 Stein 等學者[1]從基本原理對攝像頭及激光雷達等傳感器進行了對比分析,認為激光雷達具有的高精度及可靠性是軌道檢測的最優選擇。 近些年移動激光掃描系統(Mobile Laser Scanning, MLS)的發展,使其在城市及鐵路環境中對于各項目標的檢測、提取等方面具有顯著的優勢。 而鐵路網絡本身錯綜復雜,存在道岔等變軌設施,同時運行環境中樹木及山體等大量環境點云及許多細長的物體靠近軌道(如電纜溝、護軌等)或在軌道之上(如懸鏈線、桅桿臂、交叉電力線、跨越橋梁、接觸軌等),對于要實現實時軌道檢測且具有足夠高的靈敏度及準確性的要求同樣具有一定的挑戰性。
現如今,在點云數據中實現鐵軌檢測相關工作主要分為:數據驅動和模型驅動方法、基于機器學習的方法、基于多源數據融合方法,包括RGB 相機、激光雷達等[2]。 數據驅動和模型驅動方法主要基于點的高程跳變特征和幾何關系的局部特征和全局特征。 Hackel 等學者[3]以軌道截面的幾何特征為基礎,在單幀激光雷達點云數據中進行鐵軌關鍵點的檢測,后采用模型匹配算法對檢測結果中的剔除誤檢關鍵點實現鐵軌點云提取。 Yang 等學者[4]主要通過滑動窗口內點云高程差波動和相對幾何關系初步提取鐵軌點,隨后根據研究中所提出的點云線條形狀參數值進行線性軌跡的篩選。 上述算法在提取過程中需要大規模的鄰域計算,較難應用于實時場景[2]。 而Lou 等學者[2]在Yang 等學者[4]的算法流程上分析討論了采集數據的鐵軌數據分布特征,進一步簡化提取流程,有效地減少搜索計算量,提高了提取速度。 以上方法都假設軌道鋪設在相對平坦的區域,因此不同路段下的鐵軌提取便難以提供統一的閾值。
同時,也有研究人員將點云數據轉化為圖像并使用圖像相關算法對軌道進行分類和提取。 Zhu 等學者[5]直接將LiDAR 點云數據轉換成圖像,利用圖像處理技術直接對其進行分類。 Demja'n[6]利用各點協方差矩陣,分析點高度方向分布情況后將三維數據投影為圖像,使用霍夫變換進行線段提取和配對后再轉為3D 數據完成軌道點云提取。 該方法為激光雷達數據處理提供了一種新的思路,將其他數據源與MLS 點數據相結合,可以提高鐵路提取的準確性和速度。
當前,鐵路基礎設施點云檢測表現最好、運用最多的是知識驅動方法。 在知識驅動方法中,模型驅動與數據驅動各有優勢。 其中,模型驅動在低采樣數據上的表現優于數據驅動,但需要依賴先驗知識;數據驅動則不需要依賴先驗知識,且相對于模型驅動,數據驅動的計算復雜度較小,這是因為數據驅動的方法通常會檢測局部屬性,從而僅需要處理少量點。 本文采用知識驅動的思路,基于鐵路點云的幾何關系特征,提出一種路基提取、軌面提取、枕木提取的新方法,本文研究旨在綜合鐵軌點云數據的點特征、線特征、平行性特征的幾何關系特征展開分析,提出一種具有一定實時性、易于實現的軌跡檢測方法。
本文所提出的軌道檢測算法流程如圖1 所示,其主要內容包括:路基區域軌跡點的提取與線性軌跡篩選及連接配對。 由于軌道本身為一對在相對平坦路面上凸起、具有固定軌距的連續平行線。 首先根據鐵軌點云的幾何特征及總體點云的數據分布特性, 使用最低點代表算法 ( Lowest Point Representative, LPR)進行路基的選取并以鐵軌點沿高度方向連續的高程差特征檢測鐵軌點云,聚類輸出各點簇后,利用單條軌跡具有的線性形狀在主成分分析(Principal Component Analysis, PCA)中的特征值特點,篩選出軌跡點簇并以距離閾值及向量角度閾值連接同一軌跡的點簇,最終輸出軌道對對象級別的檢測。

圖1 整體流程圖Fig. 1 Overall flow chart
在用于軌道檢測采集的點云數據中,包含了樹木、周邊山體等無關數據點,其中包含軌道的路基區域點云占據絕大多數,同時還具有相對變化小的高程信息。 統計采集的單幀數據中各高度范圍內點云數量如圖2 所示,其中路基區域的點云高度范圍為(-0.61 m, -1.57 m)。 由圖2 可看到,該區域點云數量最多。

圖2 單幀點云高度數量圖Fig. 2 Number of point cloud heights in a single frame
因此對于路基區域的數據,引入了LPR 進行提取,其定義鐵軌接地點高度為一定占比的最低高度值的平均值hlpr, 并通過軌高h以設定高度區間在(hlpr,hlpr+h) 來保留有效的路基區域。 不同于其他根據聚類處理得到最大連通區域[2]或重復獲取點云高度求平均值[7]的處理,LPR 不僅能快速且有效地去除軌道上方的樹木、建筑物等無關點,同時能篩選出主要包含軌道的路基點云,減少后續處理的數據量。
軌道區域數據視圖見圖3(a)。 鐵軌在相對平坦的路基上具有凸起的形狀特征形成遮擋效果,使得其點云具有連續的高程變化且與周邊路基點云存在不同程度的間隔,利用該高程跳變特征與距離間隔對路基點云逐點進行高程判斷,提取鐵軌點云。

圖3 鐵軌點判定Fig. 3 Railway point determination
鐵軌點判定細節見圖3(b)。 利用k-d 樹搜索點p鄰域ε內的點集為T,計算T內各點與搜索點p的最大高程差絕對值Δzmax。 軌道點應滿足鄰域ε內的高程差條件,同時為避免偶然性造成的檢測誤差,增加對ε內滿足高程差條件點的統計。 定義軌道點prail應滿足:
其中,、分別表示搜索點pi及鄰域中的第i個點pi在z軸高度方向的值;γ表示軌道點高程差閾值;N(T) 、eth分別表示鄰域中滿足高程差的點數及鐵軌點判定閾值。 在提取過程中,確定γ對于避免對軌道與路基過分割至關重要,該部分可根據當搜索點為鐵軌接地點時,ε內最高的鐵軌點高程差而確定。
經過上述篩選所得的鐵軌點來自不同軌道,仍是混合離散化的。 為正確地區分鐵軌點所屬軌道,利用同一軌跡點云相近的特點,按照歐氏距離分析規則將其進行密度聚類為點簇集C,但數據中可能仍存在成團的游離噪聲數據,如圖4 所示。 圖4 中的C1及C2, 以及因遮擋等因素導致其緊密程度不同,在聚類成簇過程中出現同一軌跡點云點不同簇的情況。 為保證算法最終的提取目標是對象級的識別,對所有點簇進行主成分分析(PCA),綜合分析點簇在三維空間的分布情況,提取具有明顯線性特征的軌跡點簇,并將同一軌道的軌跡進行連接。

圖4 去除假陽性軌跡點簇示意圖Fig. 4 Schematic diagram of removing the false positive trajectory point cluster
各個點簇Ci中可由PCA 得到對稱半正定的局部協方差矩陣Mi,Mi的具體公式為:
Mi的3 個特征值均為正,排列為λ1>λ2>λ3。 對于散亂的點簇,各點的特征值滿足λ1≈λ2≈λ3,而對于有主導方向的線性軌跡點簇,相應的特征值則滿足λ1>>λ2≈λ3的線性特征[8]。為獲得更精確的線性點簇判斷,參考文獻[4]中用于判定鄰域點具有線性形狀特性的維度特征α1D=當其滿足以下要求時,將該點簇標記為軌跡點簇:
其中,β1,β2,β3分別為判定線性軌跡點簇的閾值。
由此過濾去離散的假陽性點簇,余下點簇根據距離閾值和向量角度,將屬于同一軌跡的點簇進行連接。 以前點簇Ci與后點簇Cj分別對應的最后點pi與最前點pj來計算對應的向量角度及歐式距離,見圖4,同時滿足:
其中,η為判定同一軌跡點簇的最大距離閾值;μ為判定同一軌跡點簇的最大角度閾值。
在獲得數據中完整連續的各單條軌跡點簇后,可利用軌道對平行、具有固定軌距的特性,將間隔距離在軌距范圍內的軌跡分為同一軌,最終提取出各軌道對點云。
本文采用的軌道場景數據以雙軌場景為主,分別為窄軌(G=1 m)、標準軌距軌道(G=1.435 m)的混合軌距軌道,在不同區域共采集2 份250 幀數據。 實驗中,激光雷達傳感器安裝于鐵路實驗車輛前端頂部,距離地面高度為1.5 m,原始數據每幀點云數量約為10 萬個。 本算法所有參數具體數值見表1。

表1 本軌道檢測算法相關參數Tab. 1 Related parameters of the orbit detection algorithm
為有效評估軌道檢測準確性,手動提取測試區域的鐵軌點云作為數據正樣本,將其與本文算法提取出的鐵軌點云結果進行對比。 利用召回率r、 準確率p兩個精度指標評估算法性能[7]。 研究推得的精度指標公式為:
其中,NTP表示提取的正確點數量;NFN為漏提取的正確點數量;NFP為錯誤提取點的數量。
測試場景數據如圖5(a)、(b)所示。 采集的點云數據中的鐵路周邊場景設施,如:樹木、電力設施、建筑,通過LPR 被有效去除,提取出路基區域,有效減少信息的損失。

圖5 數據處理過程細節Fig. 5 Process details of data processing
在鐵軌點提取部分,左側標準軌距的軌道存在的同樣具有連續高程變化及線性特征的接觸軌被一同提取出,且其左側軌道同一軌的點簇在聚類過程中由于點云稀疏性及遮擋等因素影響,被判定為不同類,此處用不同顏色直觀展示點簇,細節如圖5(c)所示;而在后續PCA 過濾及軌跡點簇連接中,該軌道的點簇在算法符合角度與距離閾值,被成功判定為同一軌跡,且有效去除兩側不符合軌距的接觸軌,最終實現雙軌道對的識別,結果如圖5(d)所示,綜上說明,本文所提出的軌道提取算法具有一定的魯棒性。
為更好證明本文算法優勢,將本文算法與Demja'n[6]提取的軌道提取算法進行對比實驗。 該算法的主要思路為利用鐵軌突出的形狀特征,根據協方差矩陣判斷在高度方向點的離散程度篩選關鍵鐵軌點后將其投影至2D 圖像,根據霍夫變換進行鐵軌線段提取后再投影至3D 空間,最終提取出鐵軌對。 將上述算法內容與本文算法內容在同一份混合雙軌數據中進行處理,提取結果見表2。

表2 2 種鐵軌提取算法結果對比Tab. 2 Comparison of the results of two railway track extraction algorithms%
由表2 可看出,本文算法在鐵軌提取整體效果上均優于Demja'n[6]提取的利用霍夫變換進行鐵軌提取的算法。 值得注意的是,由于霍夫變換線段提取準確度受閾值影響較大, Demja'n[6]于是將閾值設置為較高數值不斷降低至提取出軌道對線段,導致該算法穩定性較差且容易丟失軌道數據導致欠分割,而本文基于PCA 濾波及角度于距離閾值連接軌跡點簇則具有較好的穩定性,在2 份不同數據內,召回率及準確率均高于基于霍夫變換的提取算法,說明本文算法對不同數據適應性更優,有一定研究價值。
為有效測試本文算法的實時性,在基于ROS(Robot Operation System)平臺上完成各傳感器的數據發布及接收處理等過程,將記錄有原始軌道點云數據的ROS bag 進行回放,設置數據以10 Hz 的速度發布,測試數據在Ubuntu16. 04 系統及i5 -7300HQ CPU@2.50 GHz,運行內存為4 GB 的計算機上進行處理。
為更好地評估鐵軌提取過程中每步驟的所需時間及算法流程的實時性,將算法提取過程分為2 部分。 第一部分處理內容為路基區域點云提取,另一部分處理內容包括:聚類、PCA 處理及同軌點簇合并,分別統計上述2 部分的每幀處理時間及點數,繪制為雙y 軸圖。 仿真后得到的路基提取時間與處理點數變化曲線如圖6 所示,軌跡提取及合并時間與處理點數變化曲線如圖7 所示。

圖6 路基提取時間與處理點數變化曲線Fig. 6 Curve of subgrade extraction time and number of treatment points

圖7 軌跡提取及合并時間與處理點數變化曲線Fig. 7 Curve of trajectory extraction and merging time and processing points change
由圖6、圖7 的數據變化情況可知,算法在路基區域提取過程處理約9 000 個點,平均處理時長為16.8 ms;在軌跡提取過程處理約3 000 個點,平均處理時長為56.4 ms,算法總處理時間小于每次掃描間隔時間100 ms。 因此從上述數據可得,本文算法能實現10 Hz 的軌道提取速度,具有良好的實時性。
本文提出了一種基于車載點云數據,具有一定實時性的多軌道提取算法。 利用原始數據特征使用LPR 快速提取出路基區域,而后利用鐵軌在路基上連續的高程差異特征提取鐵軌點云,并利用PCA 過濾掉離散的假陽性非線性點簇,利用點簇距離及角度閾值實現同一軌跡點簇的連接,進一步簡化提取流程,有效提高檢測準確性。 在多軌道測試數據集中進行實驗驗證,結果顯示檢測的平均召回率及準確率分別為94%、93.7%。 此外,統計算法運行各主要步驟運行時間及對應處理點數,其每幀數據平均總處理時間小于80 ms,實際運行可達10 Hz,說明本算法具有良好實時性。