Paper2:Fast 3D Line Segment Detection From Unorganized Point Cloud

文獻下載鏈接:https://download.csdn.net/download/m0_37957160/12543541

摘要:

        本文提出了一種非常簡單有效的算法,從大規模無序點雲中進行3維線段的分割檢測算法。與傳統的方法先提取3D邊緣點,然後再擬合三維線段的算法不同,我們提出了一種基於點雲分割和2維線段檢測爲基礎的能夠快速實現3D線段檢測的算法。在輸入無序點雲的情況下,對三維線段進行三步檢測。首先,通過區域生長和區域合併將點雲分割成3D平面。其次,對於每一個三維平面,將其自身所屬的所有點投影到自身平面上形成二維圖像,然後進行二維輪廓提取和最小二乘擬合得到二維線段。然後將這些二維線段重新投影到三維平面上,以獲得相應的三維線段。最後,提出了一種剔除異常點和合並相鄰三維線段的後處理方法,在多個公共數據集上的實驗證明了該方法的有效性和魯棒性。更多的結果和C++源代碼的公開在https://github.com/xiaohulugo/3DLineDetection

I. INTRODUCTION 

        線段可以很好地代表場景,尤其是在城市中,那裏有許多規則形狀的人造結構。在過去的十年中,對2D圖像的線段檢測進行了深入研究,並提出了幾種有效的算法[1] – [3],包括廣泛使用的LSD [1]。但是,解決3D線段檢測的工作仍然不足,一般可分爲三類:基於點,基於平面和基於圖像。

        基於點的方法通常先檢測最小邊界點,然後通過最小二乘擬合法確定3D線段的邊界點。給定輸入點雲,我們可以通過凸包方法[4],[5]獲得邊界點,或通過設計特徵將整個點雲分類爲邊界/非邊界類別。原始的凸包算法可以有效地找到凸的邊界點,但不適合提取凹輪廓。[6]改進了凸包,允許在提取的形狀中有一些凹陷。但是,基於凸包的方法仍然“由於點雲中的點分佈不均勻而未被發現特別有用” [5]。另一方面,邊界/非邊界點雲的分類具有多種特徵,包括曲率或表面變化[7],高斯圖[8],多尺度正態差異[9],基於特徵值和特徵向量[10]。在[9]的工作中,每個點的法線以不同的比例來計算,然後將法線差較大的法線歸類爲邊界點。在最近的工作[10]中,使用二值分類器使用從該點的鄰域中提取的一組特徵來預測每個點的輪廓分數。給定提取的邊界點,我們可以構建八叉樹,然後通過區域增長和最小二乘擬合來擬合3D線段。這些基於點的方法的最大問題在於特徵點本身,該特徵點對噪聲魯棒性不強。

        基於平面的方法也是合理的選擇,因爲3D線段也可以視爲兩個3D平面的交點。然而,基於平面的方法更常用於機載LiDAR [11]的建築建模中,其中點通常不是很密集。例如,在[11]的工作中,首先將平面點與非平面點區分開,然後根據其法線將其聚集成單個屋頂段,最後檢測相鄰的段並將其與頂點和邊界線段相交。在另一項工作中[12],將通過平面相交從點雲中提取的3D線段與它們的2D對應線段組合起來,用來校準距離和圖像傳感器的外部參數。基於平面的方法的一個常見缺點是,通常很難確定相交線的端點,此外,這種方法不適用於小平面。

        基於圖像的方法首先將輸入點雲轉換爲圖像,然後應用線段檢測器提取圖像上的2D線段,最後將這些2D線段重新投影到點雲上來獲得最終3D線段。將點雲轉換爲圖像是點雲處理中經常使用的一種策略,例如,在最近的工作[13]中,將點雲分割爲多個橫截面,然後將每個橫截面中的點雲投影到 特定平面,然後從不同的2D圖像中提取特徵點。在最近的工作[14]中,輸入點雲被轉換爲具有不同視點的投影圖像的集合,這些具有不同視點的圖像均勻地放置在圍繞點雲的球體上。然後,應用LSD算法[1]在這些投影圖像的每一個上提取2D線段,再將其反投影到原始點雲中以獲得初始3D線段。這些基於圖像的方法的關鍵問題在於圖像生成策略,難以確定這些投影圖像的數量,分辨率和視點。

        本文提出的方法屬於基於圖像的類別。爲了克服傳統基於圖像的方法的不足,我們提出了一種簡單而有效的3D線段檢測方法,該方法包含以下三個步驟: 

        (1)點雲分割:通過區域生成的和區域合併的方法,將輸入的點雲分割成三維平面。

       (2)基於平面的三維直線的檢測:對於每個點雲平面,所有屬於該平面的點雲投影到平面上形成二維圖像,然後基於二維圖像進行輪廓提取和最小二乘擬合,得到每個平面的二維線段。最後將這些二維線段重影映射到三維平面上,就可以獲得三維線段點雲數據。

       (3)通過場景的三維結構信息,去除三維平面和三維線段的異常點雲,最後合併所有三維線段點雲數據。

II. ALGORITHM 

A. Point Cloud Segmentation

        分割是自動處理點雲的最重要的預處理步驟之一,在過去的幾十年中已經進行了深入研究。通常,所提出的點雲分割方法可以分爲三大類:基於邊緣/邊界,基於區域增長和混合(請參閱[15]以進行閱讀)。爲了從點雲中獲得平面分割,像[16]這樣的傳統方法僅在點雲水平上執行區域增長會對參數過於敏感。(新的方法)一種魯棒性很好的方法是先提取小的緊湊區域,然後合併這些區域以獲得最終結果。基於此,我們的方法分三個步驟將輸入點雲分割成多個平面:法線計算,區域增長和區域合併。

(明天繼續)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章