肖 俊,王培俊,李文濤,李保慶,楊 杰
(1.西南交通大學機械工程學院,成都 610031; 2.成都西南交大研究院有限公司,成都 610031)
隨著鐵路運輸的快速發展,列車高速、重載以及高密度運行對鐵路軌道的傷害越來越嚴重[1],及時精確地對軌道參數進行檢測,保證鐵路運輸安全,是列車提速后需解決的問題之一。
目前,軌道檢測主要分為接觸式和非接觸式兩類。接觸式檢測依靠測量頭與軌道直接接觸,常見的如機械接觸式鋼軌磨耗測量儀以及OPTIMESSTM(奧特邁斯)公司研制的MiniProf外形輪廓測量系統[2]。這種方式測量工作強度大、易受人為因素影響,當軌道表面存在油污時,測量不便。非接觸式測量有三維結構光測量法、激光傳感器法等,如美國KLD Labs公司研制的ORIAN光學鋼軌檢測與分析系統以及瑞士OPTIMESSTM激光軌檢系統,能夠測量鋼軌斷面輪廓[3-4]。但二維線激光與軌向的垂直難以保證,影響了檢測精度,并且進口設備費用昂貴、后期維護困難,難以在鐵路工務系統大面積推廣。本文將三維結構光技術用于軌道廓形及磨耗檢測,三維點云采集不存在垂直問題,且單位時間內獲取的數據量大,檢測參數多,有效提高了檢測效率和精度。
點云數據處理是結構光測量的重要環節,而點云配準是點云數據處理中的關鍵步驟。配準的目的在于將不同視角下的點云調整到同一坐標系下[5]。目前,應用最廣泛的點云精確配準方法是迭代最近點算法(ICP)以及其改進算法(如點到面的最近迭代點算法)[5]。Besl等提出的ICP算法能夠基本滿足大多數三維點云的配準要求,但其運行速度和精度主要取決于點云的初始位置和點云的大小[6]。近些年由于提出了許多快速最近點搜索算法(如Mul-KNN[7]和libnabo[8]),從而使ICP算法的效率有了大幅度的提升。但是,當點云初始位置相差較大時,會嚴重影響ICP算法的精度和運行速度。為此,在精確配準之前,需要對點云進行預處理和初始配準,以此來減少點云數據量,為精配提供良好的初始位置。
點云預處理的主要目的是減少點云數據量以及去除噪聲點和離群點等“壞點”。常見的去噪算法有很多,如平滑濾波、最小二乘濾波、雙邊濾波以及卡爾曼濾波等等[9]。LEE等[10]通過擬合二次曲面去噪,效率較高,特征保持較好,但是由于存在法向估計偏差,準確性有待提高;Zhang等[11]在網格去噪中加入全變分和分段常值函數,計算相對復雜。
預處理之后,對點云進行初始配準。初始配準算法大致可分為:基于幾何特征和不變量的全局配準、基于投票法則的全局配準以及其他全局配準算法。典型算法如AIGER等[12]提出的基于共軛向量的Super4PCS算法,此算法對噪聲和雜點有較強的魯棒性,但當曲面對稱性強,或重疊區域較小時,易配準失敗。RADU等[13]提出的快速點特征直方圖特征信息提取算法,通過點云的特征直方圖定義特征向量,以此特征匹配點云,但其配準精度不高。CHEN等[14]改進了RANSAC算法,針對重疊區域較小的點云集時,具有一定的魯棒性,但是當點云集中外點比例較高時,難以同時保證效率、精度和魯棒性。LILIENTHAL提出的使用標準最優化技術確定兩點云間最優匹配的NDT算法[15-16],針對大型點云,其配準速度較快,但對點云初始位置有要求,初始位置差異較大,將配準失敗。
針對上述研究現狀,結合密度聚類與PCA主成分分析算法實現點云初始配準。該方法運行速度快,配準精度較高,提高了三維結構光檢測的精度和效率。
由于人為因素、設備因素以及環境因素等的影響,現場采集到的鋼軌點云往往存在噪聲點、離群點以及背景數據點等干擾數據,這些干擾數據會對最終的配準精度產生很大的影響,進而影響檢測精度,除此以外,還存在著原始點云數據量大的問題[17-18]。因此,對點云進行預處理,將減少后續數據處理用時,提高后續處理的精度。
三維結構光采集的單片點云包含的點數可達百萬級,如果不進行精簡直接使用,不僅占用計算機資源,還會使點云處理時間變長,效率降低。對點云進行采樣的目是在不明顯減少點云信息的基礎上,用盡量少的數據點表示,為后續點云處理節約時間和空間[19]。本文采用三維體素柵格的采樣方式,用所有體素的中心點近似體素中包含的點集,完成對原始點云數據集下的采樣[20],如圖1所示。

圖1 劃分三維體素柵格
聚類的目的在于將集中的數據樣本點劃分為若干個不相交的子集,每個子集稱為一個“簇”。通常情況下,密度聚類算法從樣本點密度的角度來考察樣本點之間的連續性,并基于可連續性不斷擴展聚類簇以獲得最終的聚類結果[21]。DBSCAN密度聚類算法將簇定義為密度可達的點的最大集合。它本身對噪聲不敏感,能發現任意形狀、大小的類簇,將該算法用于去除噪聲和離群點,能將密度分布連續的樣本點進行聚類,從中提取出目標點云[22-23],以提高后續數據處理的精度。
首先,讀入點云集P,將其狀態設置為未訪問,設定初始鄰域參數ε(鄰域半徑)和MinPts(最小鄰域點數);然后尋找點云集P中的核心點,即在ε鄰域內至少包含MinPts個點的數據點;最后以任一未被訪問的核心點為出發點,找出由其密度可達的所有數據點生成聚類簇,狀態設為已訪問,迭代執行該步驟直到所有核心點均被訪問完為止。聚類完成之后,查看聚類結果,若能分離,則停止聚類,否則根據本次聚類情況,重新選擇新的鄰域參數進行聚類。
圖2為一個三維點云聚類效果圖。

圖2 聚類效果
DBSCAN算法需要輸入兩個自定義參數ε(鄰域半徑)和MinPts(最小鄰域點數),參數設置將直接影響聚類的效果。這兩個參數需要根據采樣后點云中點與點之間的間隔距離來設置。采樣選擇的是三維體素柵格下采樣的方式,對于采樣后的點云,點與點之間的間隔距離與設置的體素柵格尺寸基本一致,因此,鄰域半徑ε的大小設置為略大于體素柵格尺寸即可,而最小鄰域點數MinPts設置為理論上一核心點周圍的點數,即3或者4,如圖3所示。

圖3 鄰域參數設置示意
點云初始配準采用的是主成分分析法(Principal Component Analysis,簡稱PCA)。PCA是使數據簡化的算法,通過揭露數據內部的主要分布方向,減少了數據集的維數,從而保留了點云集中貢獻最大的特征,更好地解釋數據的變化規律[24]。PCA算法進行點云配準是以主軸方向為依據。首先求得源點云和目標點云的點云質心,以此作為點云主坐標系的坐標原點,然后通過計算兩點云主軸的對應關系,即可大致對齊兩點云數據[25]。
將點云數據看成由點的X、Y和Z坐標值構建的矩陣,如點云集P
(1)
通過求X、Y、Z三個方向的變量均值即可得點云的質心c,也就是PCA坐標系的坐標原點,其計算如下

(2)
計算點云的協方差矩陣,可求得該點云集對應的特征向量,分別對應點云坐標系的3個主要分布方向。協方差矩陣為實對稱矩陣且實對稱矩陣的特征向量是相互垂直正交的,因此點云集的特征向量可作為PCA坐標系的3個坐標軸方向。點云協方差矩陣的計算如下
Pcov=(P-c)(P-c)T
(3)
對上述協方差矩陣Pcov的特征進行求解
Pcov=USVT
(4)
其中,U和V是協方差矩陣Pcov經過奇異值分解所得的左右兩組正交矩陣,S是一個對角線上元素為奇異值,其他元素為0的對角矩陣。左正交矩陣U內的3個單位列向量,即是點云PCA坐標系3個坐標軸的方向向量。以鋼軌點云為例,計算其PCA坐標系,如圖4所示。

圖4 鋼軌模型點云自身PCA坐標系
假設需要配準的源點云和目標點云的對應點集分別為P和T。由式(2)可求得點云集各自的質心坐標cp和cT,中心化點集
(5)
由中心化點集得到協方差矩陣,根據式(4)進行奇異值分解
[U,S,V]=SVD(T′T·P′)
(6)
計算旋轉矩陣R和平移向量T
R=U·VT
(7)
T=cT-R·cP
(8)
依據旋轉矩陣R和平移向量T即可對源點云進行旋轉平移變換,將源點云變換到目標點云的坐標系下,實現點云的初始配準。完成之后,采用經典的ICP算法完成對源點云和目標點云的精確配準。
為驗證上述方法的效率與精度,在成雅高鐵成蒲段和成都鐵路局工務大修段分別進行了現場試驗,如圖5所示。對60 kg/m鋼軌(以下簡稱“60軌”)點云進行了多次配準試驗,檢測鋼軌磨耗值,并與當前常見的兩種全局配準算法SAC-IA和NDT進行對比分析。在Windows7系統下采用C++編寫程序,計算機配置為Intel Core i3-4150 3.5 GHz CPU,4 G內存。

圖5 成雅高速鐵路成蒲段現場試驗
自行研制的測量平臺由測量小車、控制箱、結構光掃描系統、計算機及測量軟件系統組成。高速列車行駛時車輪僅與鋼軌內側接觸,在夜晚天窗期間測量時,沿軌道推行檢測小車,轉動掃描儀采集左右股鋼軌內側點云即可。檢測軟件將采集的鋼軌點云與標準鋼軌模型點云進行對比,即可實現鋼軌磨耗的測量。
鋼軌磨耗高精度測量的關鍵在于鋼軌點云與模型點云之間的良好配準。配準之前,對60軌點云進行預處理,試驗結果見圖6。預處理結果表明,運用密度聚類可以有效去除噪聲和離群點,從原始點云中提取出目標點云。

圖6 點云預處理
為解決點云不完整而導致配準效果不理想的情況,首先對源點云進行分割,然后提取出完整的局部點云進行配準。此處提取了60軌軌頂弧面點云,效果如圖7中紅色所示。

圖7 60軌軌頂點云分割
在預處理的基礎上,對60軌點云進行初始配準,配準結果如圖8所示。

圖8 60軌初始配準
3種算法都成功實現了60軌的初始配準,配準時間與歐式適合度評分(從源點云到目標點云的距離平方和)見表1。

表1 3種算法配準結果對比
上述結果表明,對于點云初始配準,PCA算法在相同條件下的配準速度和配準精度均高于其余兩種算法。NDT算法對點云初始位置有較高要求,并且需要人工設置搜索步長和網格分辨率,若初始位置偏差較大或初始參數設置不恰當,配準將失敗。而SAC-IA算法需進行特征計算,特征計算也受到初始參數設定的影響,并且需要較大的迭代次數來使點云的初始配準達到一個較好的結果,故其配準較為耗時,配準精度不高。PCA算法不需要人工設置初始參數及迭代次數,僅需進行矩陣的運算,故其速度快、配準時間短,并且歐式適合度評分最小,配準精度相對較高。
在PCA配準的基礎上,利用60軌的軌腰部分進行ICP精確配準,獲得鋼軌測試點云和模型點云的最終配準結果,利用此結果可對鋼軌磨耗進行檢測。由于PCA初配精度較高,從而提升了60軌整體配準的精度。以成雅高鐵成蒲段為例,提取出待測截面的二維平面圖,如圖9所示。測量軟件可自動得出垂磨、側磨以及總磨耗值。選取同一段60軌的兩個截面進行測量試驗,避免測量時的隨機誤差。為與光學檢測結果對比,同時使用JTMH-B數顯式鋼軌磨耗尺手動測量上述位置的兩個截面,結果見表2、表3。為保證鋼軌磨耗尺測量的準確性,測量前對其進行了標定。接觸式測量的鋼軌磨耗尺操作簡便,但測量頭隨著測量次數的增加會產生磨損,若不及時標定將影響測量精度,只有在及時標定后才能保證精度,測量效率低。此外,測量底座與鋼軌頭下面的貼合程度、鋼軌側面變形等因素均會給測量帶來一定的誤差。而結構光為非接觸式測量,完全避免了上述問題,從表2和表3可以看出,結構光測量結果與標定后的磨耗尺測量結果相近。因此,結構光測量結果準確、可信。

圖9 60軌點云二維截面

表2 成雅高鐵成蒲段60軌磨耗檢測結果 mm

表3 成都鐵路局工務大修段60軌磨耗檢測結果 mm
綜合利用密度聚類與PCA算法進行點云數據處理。該方法去除了源點云中的“壞點”,消除了其對配準的影響,避免了人工設置配準參數帶來的隨機性與不確定性。與同類方法相比,該方法提升了配準精度,配準效率提高了近百倍,在保證配準精度的同時,大大縮短了配準時間。對兩組相似的點云,該方法均能實現其任意位姿上的初始配準,具有普遍適用性。在三維結構光軌道檢測中,應用此方法配準軌道測試點云和模型點云,可提高檢測精度和效率。