簡體   English   中英

通過保持點位置進行三維表面重建

[英]3D surface reconstruction by preserving point position

我有3D點雲,想要重建表面。 我在Meshlab中嘗試了各種技術來找到最適合我特定類型雲的算法。

泊松表面重建是非常有前途的,但它不保留原始點位置。 在雲中的特定位置進行重建和測量之后,結果發現,與現實世界中的物體的測量值相比,測量值偏差超過1.5倍。

球旋轉算法更好。 它保留了點的位置,測量值也在預期范圍內。 然而,這個算法在美國獲得專利,所以我不能將它用於商業項目。

在研究了其他算法之后,我沒有找到任何可以保留像球轉動那樣可以在商業環境中使用的點位置。 您是否知道滿足這兩個標准的算法,我可以嘗試使用我的點雲來查看它們在實現之前是否運行良好?

任何幫助,將不勝感激。

對於插值曲面重建(保持數據點),兩種算法表現得相當好(地殼和共錐)。

地殼算法:

我們的想法是首先計算點集的Voronoi圖,然后從Voronoi頂點選擇那些與中軸很好近似的點(稱為極點),然后計算輸入點+極點的3D Delaunay三角剖分,最后提取連接四面體中三個輸入點的三角形,其中第四個頂點是一個極點。

更多參考:

http://web.cs.ucdavis.edu/~amenta/pubs/crust.pdf

http://web.mit.edu/manoli/crust/www/crust.html

  • 加上:實現起來非常簡單,如果輸入數據是一個很好的采樣,一些理論上的保證

  • 減:需要計算兩個Delaunay三角剖分

共錐算法:

這個想法是計算點集的Voronoi圖,然后在每個Voronoi單元中計算表面法線的良好近似值(作為連接極點的矢量,即距離數據點最遠的兩個Voronoi頂點)。 然后在每個Voronoi單元中,考慮以數據點為中心並以法線為軸的圓錐(共錐)的互補。 如果三個co-cones與Voronoi邊緣具有非空交集,則三個數據點與三角形連接。 注意,共錐對象不需要明確地構造(僅需要比較角度以便測試是否存在交叉)。

更多參考:

http://web.cse.ohio-state.edu/~tamaldey/surfrecon.htm

  • 加:需要單個Delaunay三角剖分(與地殼相比為2),如果輸入數據是“良好采樣”,則需要一些理論保證

  • 減:比地殼復雜一點(但值得我努力的努力)

最后一句話:

如果點集實現良好的采樣(即,與厚度和曲率成比例的密度,稱為“局部特征尺寸”=距中間軸的距離),則這些算法構建良好(即流形)表面。 在實踐中,輸入數據不滿足這個條件,因此該方法的輸出將是“三角形湯”,其將基本上可以,但是這將需要一些后處理來修復一些局部缺陷。

編輯03/21/16您也可以嘗試我自己的算法(Co3Ne),在我的軟件庫Geogram( http://alice.loria.fr/software/geogram/doc/html/index.html )和我的軟件Graphite中實現( http://alice.loria.fr/software/graphite/doc/html/ )。 Graphite可以在那里下載: http ://gforge.inria.fr/frs/?group_id = 1465(可移植源代碼和Windows64可執行文件)。 它是Co-cone的一種形式,具有各種優化和並行實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM