摘要
本文提出了一種有效的多分辨率方法將 3D 點云分割成平面組件。為了提高效率,本文從粗到精的 3D 分辨率中迭代處理大點云,在每個分辨率下,快速提取表面法線來描述表面元素(面元),將無法與來自較粗分辨率的平面關聯的面元分組為具有霍夫變換的共面簇。然后提取這些集群上的連接組件,并通過 RANSAC 確定最佳平面擬合。最后,合并平面片段并在最佳分辨率上細化分割。在實驗中,展示了該方法的效率和質量,并將其與其他最先進的方法進行了比較。
簡介
我們將 Hough 變換與 RANSAC 相結合以穩健地提取來自 3D 點云的平面片段(圖 1)。為了提高效率,我們采用由粗到細的策略:以多種分辨率提取局部表面法線來描述表面元素(面元)。我們使用八叉樹實現了一種高效的多分辨率法線方法估計。在每個分辨率下,我們確定哪些面元可以用較粗分辨率上擬合的平面來解釋。在剩余的面元上,我們應用霍夫變換將場景預分割為共面面元。為了提高準確性和魯棒性,我們使用 RANSAC 擬合平面段。在最佳分辨率下,我們合并共面連接的平面段并分配剩余的點。
圖1
1、通過多種分辨率進行有效的法線估計
我們用八叉樹表示點云。八叉樹由分支節點和葉節點組成,每個分支節點和葉節點都覆蓋一個 3D 體積。樹的根跨越感興趣的完整 3D 體積。每個分支節點在其中心位置將其體積分成八個大小相等的立方體(稱為八分圓)。對于它的每個八分圓,該節點都包含一個子節點,該子節點本身是一個分支節點,或者是樹中的一片葉子。 八叉樹可以用于以與樹的不同深度中節點的體積大小相對應的采樣分辨率采樣點云。對于采樣深度 d,我們確定采樣深度的所有節點或較粗分辨率的所有葉節點。此外,八叉樹允許有效地計算節點體積中的積分值:在每個節點中,我們維護位于節點體積內的點值的積分。在樹的構建過程中,我們將一個點的值分配給該點訪問的所有節點,同時將它從根遞歸傳遞到它的最終葉節點。
圖2
在第二階段,我們從平行面元簇中確定共面面元。每個面元投票決定平面到坐標系原點(例如,視點)的距離。與方向直方圖類似,我們將選票分配到具有線性衰減的相鄰箱中。
我們在距離直方圖的最大值處再次找到共面面元簇。圖 3 顯示了示例場景中此預分割步驟的結果。為了使這個過程高效,我們保持直方圖的粗分辨率,并將模型參數的準確估計推遲到后期處理階段。然而,距離直方圖的分辨率隨著面元的分辨率而增加。
圖3
3、分割成連通域
霍夫變換不考慮面元的空間連通性。因此,我們從共面元組中提取連通分量。圖 4 舉例說明了這一點。我們在對應于面元的霍夫空間最大值的平面上覆蓋一個網格。網格的分辨率是根據面元的分辨率來選擇的。我們將每個面元位置投射到網格中并標記占用的網格單元。區域增長產生連接的組件,當組件不受最小數量的面元(在我們的實現中設置為 3)支持時,我們將丟棄這些組件。
圖4
4、通過 RANSAC 進行精確分割
我們進一步改進了與共面面元的連接組件的平面擬合。由于方向和距離直方圖的粗分辨率,霍夫變換的平面估計只是對真實底層平面的粗略估計。因此,我們將 RANSAC 直接應用于面元表示的點。圖 5 顯示了異常值檢測的示例。
圖5 RANSAC 從一組隨機的三點樣本中估計平面參數。在固定的迭代次數內,我們確定面元的所有點支持的最好的平面估計。當點到平面的距離低于某個閾值時,點被接受為平面擬合的內點。我們根據面元的分辨率調整此閾值。我們只接受大部分面元點支持的平面擬合。我們還要求提取的平面與霍夫變換確定的初始擬合相似。當平面擬合被接受時,我們重新確定線段的連通分量。
5、由粗到細的分割
在前面的部分中,我們詳細介紹了如何在單一分辨率上分割平面。然而,我們建議使用由粗到細的策略來分割場景。通過這種方式,可以僅從幾個面元中有效地檢測到大平面段。此外,我們的方法固有地適應場景中平面的范圍。它使用盡可能多的上下文來決定共面性。 我們從粗分辨率到精細分辨率處理場景。當在分辨率上找不到更多的平面段時,我們過渡到下一個更精細的分辨率。為了改進已經找到的平面片段的分割,我們將更精細分辨率的面元重新分配到片段上。我們測試面元方向和位置是否適合每個平面段,以及它是否位于其連接組件的邊界內或邊界處。 最終,我們還調整了連接的組件。為此,我們根據新的分辨率增加了占用圖的采樣率。我們將面元投影到平面段中并標記相應的單元格被占用。但是,我們保留了前幾層的較粗略的占用決策。請注意,雖然平面段可能會在此過程中擴展,但不會合并一起增長的段。我們在最后的處理步驟中合并共面連接的段。
6、后處理
在處理完所有分辨率后,我們改進了最精細分辨率的分割。首先,我們合并連接的共面平面段。然后我們在不使用法線信息的情況下將節點分布到平面段上。對于每個節點,我們確定一個平面段候選列表,這些候選平面段與節點體積內的點的均值距離很小。此外,節點需要落在連接的組件內或每個候選節點的邊界。
當平面段的重心位于該平面的不同側時,我們相應地將點分布在等距平面的兩側。否則,我們只是將這些點關聯到最近的平面。
實驗結果
30 幅 ABW 測試圖像的分辨率為 512× 512 像素。該數據集還結合評估工具提供了地面實況分割。表 1 顯示了我們的方法在 SegComp ABW 測試圖像上的結果,對于與地面實況的重疊具有 80% 的容忍度。
表1
雖然我們的方法不是專門為深度圖像設計的,但其分割質量和平面擬合精度位于該數據集結果的上限范圍內。請注意,最好的分割結果是通過利用圖像結構中編碼的連接信息的方法獲得的。這也將這些方法限制在處理單視圖深度圖像。此外,距離圖像包含深度離散化效應形式的強系統噪聲,這對于僅由少數點組成的小片段很難處理。
為了評估我們算法各個階段的貢獻,我們對幾個變體進行了測試。RansacOnly 方法使用貪心法來檢測平面(使用點云庫 PCL 實現)。它在不使用法線信息的情況下迭代地找到適合尚未歸因的點的最佳支持平面。它只能達到平均性能,其運行時間在很大程度上取決于場景的復雜性。HoughOnly 基于我們的多分辨率方法,但不執行 RANSAC 來改進初始 Hough 分割。且與我們的方法相比,HoughOnly 方法分割場景的準確性較低。 圖 6展示了我們的方法在不同重疊公差 SegComp ABW 測試圖像上的結果。
可以看出,我們的方法中的錯誤在很大程度上是由于缺少平面段造成的。對于高噪聲,某些點可能未分配給平面或邊界可能無法正確解析。由于我們的方法不考慮圖像鄰域,因此很難達到 90% 的重疊。圖 5展示了 ABW 數據集的兩個示例性分割。在左圖中,我們的算法遺漏了多個平面片段。我們將一些未命中歸因于八叉樹的離散化。這個問題可以通過在不同的離散化中重新處理未分段的部分來解決。
圖6
總結與展望
本文,我們提出了一種從 3D 點云中提取平面的有效方法。我們將 Hough 變換與RANSAC 相結合,以在多種分辨率下擬合平面。通過使用由粗到精的策略,我們可以有效地利用可用數據。它允許考慮最大可能的上下文來做出共面性的決定。這也使我們的方法數據高效。
在實驗中,將改方法與使用 SegComp 數據庫的最先進方法進行了比較。實驗結果表明,我們以高幀率和高質量處理 3D 激光和深度傳感器(例如 Kinect)的 3D 點云。 在未來的工作中,我們將提取更多類型的幾何形狀圖元,例如圓柱體和球體。我們還計劃調整我們的方法來順序處理來自 Kinect 等高幀率傳感器的深度圖像。
審核編輯:劉清
-
傳感器
+關注
關注
2551文章
51099瀏覽量
753570 -
PCL
+關注
關注
1文章
35瀏覽量
13679 -
RANSAC
+關注
關注
0文章
10瀏覽量
7925
原文標題:3D點云中高效的多分辨率平面分割方法
文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論