稅 文,王培俊,屈仁飛,趙 瑞,賴宸宇,羅 鑫
(西南交通大學機械工程學院,成都 610031)
近年來,我國高鐵在路網建設、科技創新、產業化能力等方面取得了巨大的成就。鐵路提速的同時,對安全性的要求也日益嚴格,鋼軌廓形參數和磨耗參數的精準檢測成為鐵路日常維護的重要工作之一[1]。
目前,我國的軌道檢測方式仍以傳統的手工檢測為主,檢測參數單一、檢測精度與效率較低,檢測結果不便于數字化管理,同時檢測勞動強度大,難以滿足軌道檢測多參數、高精度、高效率的要求。結構光三維成像技術是一種非接觸式的輪廓點云獲取技術[2],它能夠快速、精確、完整地采集鋼軌表面輪廓點云,單幅點云采集幅面寬,能夠同時檢測多種鋼軌參數,極大地提升了鋼軌檢測的精度與效率。
三維結構光掃描幅面寬以及魚尾板、扣件、連接螺栓等鐵路現場軌道連接件的存在,導致現場掃描獲得的原始鋼軌點云除目標點云外,還存在大量噪聲點與離群點。這些雜點的存在極大地影響后續點云處理的精度與效率,因此必須對原始點云進行精簡濾波。目前常見的點云濾波算法有直通濾波、體素濾波、統計濾波、條件濾波和半徑濾波等[3]。郭進[4]提出了基于密度k-means和改進雙邊濾波相結合的點云去噪算法。柳赟[5]采用基于主成分分析與曲面擬合對點云進行去噪,曲面擬合的精度對濾波的結果影響較大。周煜[6]在不借助任何擬合曲面的前提下,提出一種基于遞歸分層聚類的線掃描點云采樣算法。針對含邊界的噪聲點云,李國俊[7]提出了一種基于Delaunay三角化的噪聲點云非均勻采樣算法。肖俊[8]提出通過密度聚類的方法去除原始點云中的離群點,但是主要依據最小聚類點數進行去噪,當離群點云和目標點云的聚類規模一致時,該方法的濾波效果不佳。除此之外,還有基于曲率[9]、法矢[10-11]等點云特征的濾波算法,但是計算較為復雜。
針對鐵路現場點云中雜點的多樣性與不確定性,綜合利用鋼軌點云的幾何特征與分布特征對其濾波,有效地去除噪聲點與離群點,同時自適應精簡點云,為后續的點云處理奠定基礎。
點云精簡中采用的常規算法如密度聚類算法、平面分割算法與體素濾波中的相關參數均需人為設定,降低了檢測效率。為了提升算法的魯棒性,排除人為因素的影響,滿足不同分辨率下點云的處理需求,本文實現了相關參數的設定與點距自適應。在點云均勻分布的情況下,計算每一個點和距它最近點之間的距離作為該點的點距,然后對所有點的點距求均值作為整個點云的點距,如圖1(a)所示。鐵路現場掃描的點云分布并不均勻,如圖1(b)所示,如果仍采用最近點距作為整個點云點距的計算基礎,將會導致點距計算結果偏小。

圖1 點云分布
為了保證點距計算更加符合實際,取每個點和距它最近的4個點之間的距離均值作為該點的點距,保證每個點四周的臨近點均參與點距計算,然后以該點距作為基礎計算整個點云的點距。首先對整個點云建立k-d搜索樹,該數據結構能夠對每個點的鄰近點進行快速搜索,查詢出最近的4個點后,求出查詢點與它們之間的距離均值,計算公式如下

(1)
式中,p為查詢點;qi(i=1,2,3,4)為p的4個最鄰近點。
然后對所有點的平均點距求均值,得到整個點云的點距,計算如下

(2)
1.2.1 密度聚類算法
具有噪聲的基于密度的聚類(Density-Based Spatial Clustering of Applications with Noise,簡稱DBSCAN)方法是一種經典的密度聚類算法[12],該算法基于一組鄰域參數(ε,MinPts)來描述樣本分布的緊密程度,其中ε描述了某一樣本的鄰域距離閾值,MinPts描述了某一樣本的距離為ε的鄰域中樣本個數的閾值[13]。DBSCAN算法將簇定義為密度相連的樣本的最大集合,能夠將密度足夠高的區域劃分為簇,不需要提前給定簇的數目,并可在有噪聲的空間數據集中發現任意形狀的簇,同時對樣本的輸入順序不敏感。
如圖2所示,設MinPts=4,紅色的點在ε鄰域內的點數均≥MinPts,稱為核心點。圖中用綠色箭頭連起來的核心點組成了密度可達的樣本序列。

圖2 密度聚類示意
1.2.2 平面分割算法
隨機采樣一致性(Random Sample Consensus,簡稱RANSAC)算法是一種用于數據處理的經典方法[14],將該算法運用于平面分割中,其基本思想是從一組給定的包含噪聲點和外點的點云中,估計出點云的平面模型參數[15]。該算法主要有τ和max兩個輸入參數,τ是判斷某個點是否為內點的誤差閾值,該參數對平面點云數據的波動性具有較大影響;max是平面迭代的最大次數,作為終止條件,該參數直接影響RANSAN算法參與模型參數的檢驗次數,從而影響算法的效率。
1.2.3 鋼軌點云擺正算法設計
鐵路現場掃描鋼軌點云時,三維結構光掃描儀拍攝角度的不同以及是否使用全局坐標點進行拼接等,都會影響原始點云的空間位姿。為了使原始點云的空間位姿明晰,需要將其按照統一的標準進行擺正,便于后續進行除雜等操作。
點云擺正就是使全局坐標軸在點云中的位置和姿態明晰,結合鋼軌的布置方向與鋼軌點云的幾何特征和分布特征,可將點云擺正。
(1)將坐標原點移至軌頂平面點云中心點處。
(2)使Z軸正方向與軌頂平面點云的最大主成分方向一致。
(3)使Y軸正方向與軌頂平面點云中心點的法線方向一致。
(4)使點云質心的x坐標為正值,以固定X軸正方向。
上述擺正方法的前提是找出軌頭平面點云,在原始點云空間位姿不明晰的情況下,無法提取出軌頭平面點云,因此需要對原始點云進行密度聚類,確保軌頭點云單獨聚成一類。對每一片聚類點云單獨擺正,提取聚類點云擺正后的z=0截面,與標準鋼軌軌頭截面點云進行相似度評價,找出軌頭點云。
截面點云的相似度評價可以用Hausdorff距離衡量,Hausdorff距離是描述兩組點集之間相似程度的一種量度[16],給定歐式空間中的兩點集A={a1,a2,…},B={b1,b2,…},定義公式如下
H(A,B)=max[h(A,B),h(B,A)]
(3)

(4)

(5)
式中,‖ · ‖為點集A和點集B之間的距離范式;h(A,B)為從點集A到點集B的單向Hausdorff距離,描述了點集A中的點到點集B中點最小距離的最大值,h(B,A)同理。H(A,B)為單向距離h(A,B)和h(B,A)兩者中的最大值,稱為雙向Hausdorff距離,它度量了兩個點集間的最大不匹配程度,該值越小,表明兩個點集越相似[17]。因此,計算聚類點云截面與標準軌頭截面之間的Hausdorff距離,找出其中的最小值,便可提取出軌頭平面點云。
將各聚類點云截面與標準軌頭截面之間的Hausdorff距離升序排列,依次對原始點云進行擺正,具體擺正流程見圖3。擺正效果如圖4所示。

圖3 鋼軌點云擺正流程

圖4 鋼軌點云擺正效果
由鐵路現場鋼軌點云采集環境和采集設備的放置位置及角度可知,原始鋼軌點云中的離群點全部位于軌底附近,其聚類點云的最大y坐標值均不超過軌頭聚類點云和軌腰聚類點云的最大y坐標值,因此可以按照空間位置去除離群點。對擺正后的原始點云進行歐式聚類分割,將分割后的點云按最大y坐標值由大到小排序,保留最大y坐標值前兩片聚類點云,即可完成離群點的去除。
直通濾波器可以根據實際需求,在X、Y、Z三個方向維度上設置一個閾值范圍,快速裁剪掉閾值范圍以內或者以外的點[18]。該濾波器對原始點云的位姿要求較高,如果原始點云的位姿不明確或者不規則,將導致濾波效果不明顯,甚至將所需要的點云濾掉。鋼軌點云在擺正后,其位姿已經明確,故而可以采用直通濾波器。鐵路現場采集的鋼軌點云中,除了可以分割出來的離群點,還存在與軌腰聚類點云底部粘連的噪聲點,針對此類噪聲點,無法通過歐密度聚類分割將其去除。根據圖5所示的60 kg/m鋼軌的截面尺寸,可以利用直通濾波器,以軌腰側面為基準,濾掉x坐標值大于66.75 mm的點。

圖5 60 kg/m鋼軌截面尺寸(單位:mm)
原始鋼軌點云在完成雜點去除后,仍然存在點云數據量龐大的問題,需要對點云進行精簡。為了保證點云最終檢測結果的真實性,精簡后的點云應該與原始點云保持一致的形貌特征及重要細節信息,同時數據規模有所精簡。體素濾波是點云處理中一種常見的濾波方法,該方法通過AABB包圍盒對點云進行網格化處理,將整個點云劃分為一個個的三維體素柵格,然后將每個體素柵格內的所有點都用它們的重心點表示,大大降低了原始點云的數據規模,同時保留了原始的形貌特征[19]。
2.3.1 位姿對濾波結果的影響
針對鐵路現場點云的不同位姿,使用相同的三維體素柵格對其濾波。從圖6及表1可以看出,在不同的位姿下,精簡后點云的數量和分布情況都有較大不同。分析原因得知,三維體素柵格的每一條邊都和坐標軸平行,點云的位姿不同,其在不同坐標軸方向上的分布情況不一致,導致每個包圍盒中的點數不一樣,影響濾波的效果。

圖6 不同位姿下相同三維體素柵格的濾波效果

表1 不同位姿下點云濾波精簡比
2.3.2 分層濾波
擺正后的點云位姿以及其在各個坐標軸方向上的分布情況已經明確,因此可以很好的規避點云位姿對濾波結果造成的影響。將擺正點云分成三部分:主要分布在X軸和Z軸兩個維度的紅色水平平面點云,主要分布在Y軸和Z軸兩個維度的綠色豎直平面點云以及在X、Y、Z三個維度上均勻分布的黑色曲面點云,如圖7(a)所示。分層濾波后的結果如圖7(b)所示,點云分布較均勻,曲面點云的細節信息也保留更加完整,點云數量由486 867精簡至86 654,精簡比為82.2%,耗時低于1 s。

圖7 點云分層濾波
鐵路現場環境復雜多變,鋼軌點云中的雜點形式也多種多樣,為了測試上述點云精簡方法在鐵路現場條件下的有效性與普適性,在成都鐵路局工務大型養路機械運用檢修段進行了現場試驗。
使用自制的軌道測量平臺對現場鋼軌進行掃描,如圖8所示。測量平臺包括軌道檢測小車、集成了4臺相機和1臺藍光投影儀的結構光掃描系統、筆記本電腦以及自行研發的檢測軟件。

圖8 鐵路現場試驗
將掃描得到的鋼軌點云導入檢測軟件進行數據精簡,精簡結果如圖9所示。

圖9 鐵路現場條件下的鋼軌點云精簡情況
點云配準的目的是找出源點云和目標點云之間的旋轉平移矩陣,將其統一到相同的坐標系下,方便源點云和目標點云之間的評估。采用Besl等[20]提出的迭代最近點算法(Iterative Closest Point,簡稱ICP)對點云進行精確配準,但是該算法對兩片點云的初始位姿要求較高,否則很容易陷入局部最優,導致配準失敗[21]。在點云擺正的基礎上,只需將檢測點云軌頭質心與標準點云軌頭質心重合,即可為ICP配準提供一個良好的初始位置,然后提取檢測點云的軌腰點云和標準模型點云完成精配。在配置為Intel Core i5-9300H,CPU主頻2.40 GHz,內存32 G的計算機上,在Window10系統下編寫C++程序進行配準測試。
計算兩片軌腰點云之間的點對均方根誤差,可以表示配準效果的好壞,但是無法衡量ICP配準的精度。為了分析配準精度,需要對軌腰點云進行平面擬合,分別擬合出軌道豎直平面和軌底平面,然后計算出檢測點云和模型點云中對應點云到這兩個平面的平均距離。為了消除平面擬合誤差,將檢測點云與模型點云對應的平均距離相減,以該差值作為點云的配準精度,如表2所示。
濾波后的點云與濾波前相比,在配準效果方面沒有明顯差距,兩者點對均方根誤差約為0.4 mm,配準精度約為0.1 mm,但是濾波后的點云配準時間更短,處理效率提高了近4倍。

表2 配準精度分析
鋼軌點云配準完畢后,可根據檢測需求,提取出測量截面,檢測軟件通過測量截面與標準鋼軌截面的對比,即可計算出該截面的側磨值、垂磨值以及總磨值。選取其中兩個截面,將軟件測量結果與接觸式JTMH-B鋼軌磨耗尺手工測量結果進行對比,如表3所示。

表3 鋼軌磨耗測量結果 mm
從表3可以看出,結構光與磨耗尺的測量結果基本相近,均滿足《鐵路線路修理規則》[22]中對鋼軌傷損程度的檢測要求。
(1)根據鋼軌點云的幾何特征和分布特征對鋼軌點云進行擺正,消除了原始點云的位姿對點云除雜、濾波的影響。在此基礎上采用密度聚類和直通濾波實現了對雜點的完全去除,針對不同部位的點云實現了分層濾波,在精簡點云的同時,最大程度地保留了點云的重要細節特征。上述處理算法的相關參數均實現了點距自適應,提高了算法的魯棒性。
(2)現場試驗結果表明,本文的點云精簡算法,在復雜多變的鐵路現場環境下具有普遍適用性;精簡后的點云在數據規模降低的同時,也為精確配準提供了良好的初始位置,提高了處理效率。