李琳璐
摘 要 文章使用斯坦福大學提供開發點云數據庫中的“龍”數據作為模擬測試數據使用。針對模擬測試數據的特點,提出了一種雙向拼接法。并通過測試證明此算法對于提升連續采集的點云之間的拼接效果有很大作用。
關鍵詞 點云數據;點云數據拼接;PCL;雙向拼接算法
中圖分類號 TP3 文獻標識碼 A 文章編號 1674-6708(2018)225-0110-02
通過激光掃描技術可以快速方便地獲取地物的三維點坐標,形成點云數據,導入計算機后制作成虛擬模型。在實際運用中,由于現實條件限制,對一個地物的掃描經常需要分幾次進行,每一次掃描地物的一部分,每次的掃描結果處于不同的坐標系。因此,為了獲得物體最后的三維模型,必須將這些處于不同坐標系的點云數據精確而高效地拼接到同一個坐標系中。
1 點云數據的處理需求分析
1.1 點云數據濾波
由于濾波需要對點云數據進行針對性分析,故在算法分析中不對濾波進行深入討論。
1.2 點云數據精簡
項目對于精簡有兩部分要求,不能影響直接觀察的效果,但也無需保留過多細節,滿足特定分辨率即可。要求去除所有對粗拼接沒有幫助點,僅保留粗拼接過程中可能會用到的點。
1.3 粗拼接
粗拼接需要將不同的坐標系下的點云數據統一到同一坐標系下,使其圖形大致重合,為精確拼接提供良好初值,使其可以設定較低的閾值提高精度,并防止其陷入局部極值。
1.4 精確拼接
精確拼接需要將所有點云數據緊密的拼接在一起,消除粗拼接中的偏差,形成一副完整的三維模型。
2 輸入數據特點分析
2.1 連續性
模擬數據是將物體置于轉臺上由一臺固定位置的掃描儀在物體每轉過一定角度后掃描一次獲得的。由此可知,在時間和空間上具有連續性。
2.2 無序性
模擬數據中,每一分數據中的每個點之間是沒有拓撲關系,即點的分布是無序的,在處理前需要先建立數據結構。
2.3 光滑度
模擬數據的采集條件比較好,數據噪聲點少,曲面較為光滑。
2.4 復雜度
模擬數據數據量小,需要拼接的點云數據份數少,但細節復雜,精確度要求高。
3 整體算法設計
基于上文中所分析得出的點云數據特點,同時考慮到以數據量較大的數據作為源數據往數據量小的數據上進行拼接的效果遠不如使用數據量小的數據作為源數據往數據量較大的數據上進行拼接的效果,本項目提出了一種雙向拼接法,流程圖如圖1所示。
整體算法主要由兩個循環組成,程序首先讀取點云數據并按照時間順序存入數組中,然后進入第一個循環進行正向拼接,只有當當前點云數據包含的點比上一副少時才將當前點云數據拼接到上一副點云數據上,否則不做任何操作。
每一次拼接過后都將獲得的轉換矩陣應用在所有未處理完的矩陣上,以保證未處理完的矩陣之間相對位置不變,防止因為拼接導致相鄰點云數據的距離逐漸變遠影響拼接效果。正向拼接結束后進入第二個循環,第二個循環為從后往前逆向拼接,只有當當前點云數據包含的點比上一副少時才將當前點云數據拼接到上一副點云數據上,否則不做任何操作。
每一次拼接過后都將轉換矩陣應用在所有未處理完的矩陣上,這樣在第一次循環中完成拼接的點云數據就會隨著第二次拼接中點云數據的移動一起移動,拼接到正確的位置。經過兩次循環,就可以得到所有點云數據的拼接結果及其變換矩陣,將其保存后程序結束。
算法合理利用了輸入點云數據的連續性,每次拼接都只在相鄰兩幅點云數據之間進行,避免了間隔點云數據之間重合率不足導致拼接效果降低的情況出現,同時保證了每次拼接結束后,未處理完的點云數據之間相對位置不變,防止了因為拼接的先后順序導致的算法初值變化影響拼接結果。
而每個方向的拼接過程中,只處理當前點云數據包含的點的數量比上一副少的情況,一方面使每次拼接都是小的點云數據拼接向大點云數據,提高了精度,另一方面,避免了增加額外的拼接次數導致程序運行效率降低。
4 結論
通過試驗測試雙向拼接法對拼接結果的作用,觀察到,未使用雙向拼接算法的拼接效果非常差,部分點云數據的位置存在很大誤差,而使用雙向拼接法之后所有的點云數據都很好的拼接在了一起。可以得出結論,雙向拼接法對于提升連續采集的點云之間的拼接效果有很大作用。
參考文獻
[1]王欣,張明明,于曉,等.應用改進迭代最近點方法的點云數據配準[J].光學精密工程,2012(9):2068-2077.
[2]Hyungjun Park,Kwangsoo Kim. An Adaptive Method for Smooth Surface Approx-imation to Scattered3D Points. Computer-Aided Design.2015(27):929-939.
[3]高鳳嬌,宋昌江,費磊,等.基于ICP算法的人體三維點云數據的拼接技術[J].自動化技術與應用,2014(8):39-42,47.
[4]劉尚蔚,朱小超,張永光,等.多片點云數據拼接處理技術的研究[J].水利與建筑工程學報,2014(1):121-124.