76

3D 範囲データから表面再構成を行うためのアルゴリズムを見つけようとしています。一見すると、ボール ピボット アルゴリズム( BPA ) とポアソン曲面再構成がより確立された方法のように見えますか?

  • BPA とポアソン曲面再構成アルゴリズム以外に、この分野で確立された、より堅牢なアルゴリズムは何ですか?
  • 推奨される研究出版物は?
  • 利用可能なソースコードはありますか?
4

9 に答える 9

108

私はこのジレンマに数ヶ月直面しており、徹底的な調査を行いました。

アルゴリズム

主に、計算ジオメトリと陰的曲面の 2 つのアルゴリズム カテゴリがあります。

計算ジオメトリ

それらは、既存の点にメッシュを適合させます。

おそらく、このグループの最も有名なアルゴリズムはpowercrustです。これは、理論的に十分に確立されており、防水メッシュを保証するためです。

ボール ピボットは、IBM が特許を取得しています。また、点密度が変化する点群には適していません。

陰関数

ポイントクラウドに暗黙的な関数を当てはめ、マーチングキューブのようなアルゴリズムを使用して、関数のゼロセットをメッシュに抽出します。

このカテゴリのメソッドは、主に使用されるさまざまな暗黙関数によって異なります。

ポアソンホッペ、およびMPUは、このカテゴリで最も有名なアルゴリズムです。このトピックに慣れていない場合は、ホッペの論文を読むことをお勧めします。非常に説明的です。

このカテゴリのアルゴリズムは通常、大量の入力を非常に効率的に処理できるように実装でき、品質と速度のトレードオフを調整できます。それらは、ノイズ、さまざまな点密度、穴によって妨げられません。それらの欠点は、入力ポイントで一貫した向きのサーフェス法線を必要とすることです。

実装

少数の無料の実装が見つかります。ただし、それをフリー ソフトウェア (この場合は GPL ライセンスが受け入れられます) に統合するか、商用ソフトウェア (この場合はよりリベラルなライセンスが必要) に統合するかによって異なります。後者は非常にまれです。

1つはVTKにあります。統合するのは難しいと思います (無料で入手できるドキュメントはありません)。奇妙で複雑すぎるアーキテクチャを持ち、高性能アプリケーション用に設計されていません。また、許可された入力ポイント クラウドにはいくつかの制限があります。

このポアソンの実装を見て、それについての経験を私と共有してください。

また 、ここにいくつかの高性能アルゴリズムがあり、その中には表面再構成があります。

CGAL は有名な 3d ライブラリですが、無料のプロジェクトのみ無料です。 Meshlabは GPL で有名なアプリケーションです。

また (2013 年 8 月追加): ライブラリPCLにはサーフェス再構成専用のモジュールがあり、活発に開発されています (Google の Summer of Code の一部です)。表面モジュールには、再構成のためのさまざまなアルゴリズムが多数含まれています。PCL には、サーフェス法線を推定する機能もあります。ポイント データに法線が提供されていない場合、この機能は featuresモジュールにあります。PCL は BSD ライセンスの条件に基づいてリリースされたオープン ソース ソフトウェアであり、商用および研究目的での使用は無料です。

于 2009-05-26T20:16:08.130 に答える
14

さまざまな表面再構成アルゴリズムを直接実験したい場合は 、メッシュ処理システムであるMeshLabを試す必要があります。これはオープン ソースであり、前述の表面再構成アルゴリズムの多くの実装が含まれています。

  • ポアソン曲面偵察
  • いくつかのMLSベースのアプローチ、
  • ボールピボットの実装
  • Curless ボリュームベースのアプローチの変形
  • Delaunay ベースの手法 (アルファ形状とボロノイ フィルタリング)
  • 点集合から法線を計算するためのツール
  • 結果のメッシュを比較/測定/クリーニング/単純化するための他の多くのツール。

ソースは GPL によって保護されているため、商用のクローズド ソース プロジェクトでは使用できませんが、さまざまなサーフェス再構成アルゴリズムの特性 (ノイズに対する感度、速度、それらの 1 つを実装する前に、外れ値に対する堅牢性、詳細をどのように保持するかなど)。

于 2010-01-02T02:40:12.757 に答える
4

メッシュ表現ではありませんが、元同僚が薄板スプライン法のソース コードへのリンクを勧めてくれました。

リンク

試した人いる?

于 2009-05-28T13:49:08.430 に答える
3

あなたがそれを省略したのは奇妙に思えるので、それがあなたの場合に正確に当てはまるかどうかはわかりませんが、マーチングキューブはこのような場合によく言及されます.

于 2009-05-08T08:20:07.370 に答える
3

私もこの問題を抱えていたので、独自の点群地殻アルゴリズムを開発して実装しました。ソースとドキュメントは、github.com: https://github.com/meixxi/PointCloudCrustにあります。アルゴリズムは Java で実装されています。

多分、これはあなたを助けることができます。このページには、ライブラリの使用方法を示す短い python スクリプトもあります。楽しむ!

于 2017-01-25T22:56:04.363 に答える
1

ここGitHub には、Dr. Hugues Hoppeによる C++のオープン ソースメッシュ処理ライブラリがあり、表面再構成プログラムReconが問題の適切なオプションです...

于 2016-09-13T13:18:40.397 に答える