3次元点群からの表面再構成のためのロバストアルゴリズム?
質問
3Dレンジデータからサーフェス再構成を行うために、どのようなアルゴリズムがあるのかを把握しようとしています。一見したところ ボールピボッティングアルゴリズム ( BPA ) と ポアソン表面再構成 がより確立された方法なのでしょうか?
- BPAとポアソン表面再構成アルゴリズム以外で、この分野で確立された、よりロバストなアルゴリズムは何でしょうか?
どのように解決するのですか?
私は数ヶ月前からこのジレンマに直面し、徹底的に調査しました。
アルゴリズム
主に、計算幾何学と陰解法表面の2種類のアルゴリズムがあります。
計算ジオメトリ
既存のポイントにメッシュをフィットさせるのです。
このグループのアルゴリズムで最も有名なものは パワークラスト であり、理論的に確立されているため、水密メッシュを保証します。
Ball PivotingはIBMが特許を取得しています。また、点の密度が変化するような点群には適していません。
暗黙の関数
点群に陰関数を当てはめ、マーチングキューブのようなアルゴリズムで関数のゼロ集合をメッシュに抽出します。
このカテゴリのメソッドは、主に使用される陰関数の違いによって異なります。
ポアソン , ホッペの と MPU はこのカテゴリで最も有名なアルゴリズムです。もしあなたがこの話題に初めて触れるのであれば、Hoppeの論文を読むことをお勧めします。
このカテゴリのアルゴリズムは、通常、非常に効率的に巨大な入力を処理できるように実装することができ、その品質<->速度のトレードオフをスケーリングすることができます。これらは、ノイズ、変化する点密度、穴によって妨害されません。これらの欠点は、入力点での一貫した指向性サーフェス法線を必要とすることです。
実装
少数のフリーな実装を見つけることができます。しかし、それはあなたがそれをフリーソフトウェアに統合しようとしているのか(この場合、GPLライセンスはあなたにとって許容可能です)、それとも商業ソフトウェアに統合しようとしているのか(この場合、より自由なライセンスが必要です)に依存します。後者は非常に稀です。
ひとつは VTK . これは統合するのが難しく(無料で利用できるドキュメントがない)、奇妙で複雑すぎるアーキテクチャを持ち、高性能なアプリケーションのために設計されていないと思われます。また、許可された入力ポイント クラウドにいくつかの制限があります。
を見てみましょう。 この ポアソン実装をご覧になって、あなたの経験を私に教えてください。
また ここで は、いくつかの高性能なアルゴリズムがあり、その中に表面再構成があります。
CGALは有名な3Dライブラリですが、フリープロジェクトに限って無料で利用することができます。 メッシュラボ はGPLの有名なアプリケーションです。
もあります(2013年8月追記)。 ライブラリ PCL には モジュール は、表面再構成に特化したモジュールで、現在活発に開発されています(Google's Summer of Code の一部でもあります)。surfaceモジュールには、再構成のためのさまざまなアルゴリズムが含まれています。PCLはまた という機能も持っています。 を持ち、点データから法線を推定することができます。 モジュールにあります。 . PCLはBSDライセンスのもとでリリースされているオープンソースソフトウェアで、商用および研究用に無料で使用できます。
関連
-
[解決済み] どのようにすれば、ほとんどすべてのアルゴリズムを修正して、最良の場合の実行時間を持つようにできるか?
-
[解決済み] このHeld-Karp TSP Pseudocodeの説明をお願いします。
-
[解決済み] 放物線を点の集合にフィットさせる最速の方法?
-
[解決済み] 隣接リスト表現の時間複雑性?
-
[解決済み] 線形時間でのソート?[クローズド]
-
[解決済み] ゲーム「2048」の最適なアルゴリズムとは?
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み] スペルチェッカーで候補を出すアルゴリズムとは?
-
[解決済み] あるアルゴリズムの計算量がO(log n)になる原因は何でしょうか?
-
[解決済み] 浮動小数点数を読みやすい分数に変換するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 2進数が3で割れているかどうかを知るには?
-
[解決済み] CLRSの相対的漸近成長に関する問題(表)の解き方について教えてください。
-
[解決済み] 解いてみてください。T(n) = T(n-1) + n [重複] とする。
-
[解決済み] グラフが半連結であるか否かを判定する
-
[解決済み] クイックソートとマージソートの比較 [重複]。
-
[解決済み] 二分探索木におけるk番目の最小要素を最適な方法で探す
-
[解決済み] 旧経度+nmから新経度、新緯度を算出する。
-
[解決済み] アルゴリズムで見慣れない記号:∀は何を意味するのか?[クローズド]
-
[解決済み] ダイクストラアルゴリズムの時間複雑性計算の理解
-
[解決済み] 円内の点の位置の計算