一連の画像から3D構造を再構築するにはどうすればよいですか?


24

次のようにグループ化された輪郭のセット(線分セットのセット)があります。

Si={I0,Iπ4,I2π4,,I7π4}

どこで

  • Siは、1つの具体的なオブジェクトの写真のシーケンスを示します。
  • Ijは視点を持つ画像を表します(は正面図を意味します)。 j = 0jthj=0

(背面図)の例を次に示します。 Iπ

ここに画像の説明を入力してください

与えられたでオブジェクトの3D構造をどのように再構築できますか?Si

誰かが私にいくつかの論文を教えてくれたり、キーワードを教えてもらえますか?ポイントクラウドなどで動作する多くの記事があることは知っていますが、線で動作しているため、それらは機能しません。

回答:


20

実際、それは非常に難しいトピックです。古典的なマルチビュー3D再構成は、そもそもポイントマッチングを扱います。つまり、すべての画像で同じポイントを見つけます。各画像のカメラ(ビュー)パラメーターを指定すると、元の3Dポイントを再構築できます。(レーザーまたはプロジェクターを使用すると、シーンを照らすことができるため、マッチングを比較的簡単に行うことができます。)

この分野の聖書は、HartleyとZissermanによるComputer VisionのMultiple View Geometryです。

この本には、3つのビュー間の多重線形制約である三焦点テンソルに関するセクションがあります。また、ポイントだけでなくライン対応の制約も含まれています。建物の再建に非常によく使用できます。

したがって、そもそも輪郭を一致させる必要があり、カメラのパラメーターを知っていれば再構築できます(カメラのキャリブレーションについても本で説明しています)。次に、3Dの輪郭が表示されますが、それ以上は表示されません。実際の表面では、密な点マッチングを行う必要があります。私が述べたテンソルは見栄えが良いですが、直線に使用されており、現代の車には曲線が全面にあると確信しています。

これらの輪郭をどのように取得したかはわかりませんが、投稿した画像を見ると、そのアルゴリズムの堅牢性について非常に懐疑的であるため、再構築は不十分です。

それが私の頭に浮かんだもう一つの方法は、視覚的な船体または空間彫刻です。輪郭計算も実行する必要があります。各輪郭でメソッドを実行すると、モデルを作成できます。


Cannyを適用してから、いくつかのライン単純化アルゴリズムを使用してこれらの輪郭を取得します。このアルゴリズムでは、バイナリラスタを取得し、一連のエッジを返します。実際には、フィルターなしでプレーンな画像を含めることは可能ですが、この方法でタスクを定式化した理由は、さまざまな角度での輪郭を絶えず計算する必要があるためです(非常に低いデルタ:<)ビューの。3Dでエッジを復元できれば、投影するだけでいいと思いました。たぶん、それは間違いでした(もしそうなら、私に知らせてください)。π/4
om-nom-nom

1
投影によって輪郭から外れた3Dポイントを取得する方法がわかりません。スプライン間で引き伸ばされたNURBSサーフェスを扱う3Dモデリングテクニックがありますが、そのための特徴的なスプラインを提供する必要があります。(たぶん、3Dアーティストはこの文脈で単語の特徴を定義できるかもしれませんが、私ではありません。)繰り返しますが、輪郭からの形状(視覚的な船体と同じ)が大まかなモデルを構築できると思います。その後、画像に基づいて調整できます。しかし、そのための標準的な方法はありません。
バリントフォドール

2

Fodor HartleyとZissermanの本で言及されていますが、実際のアルゴリズムよりも一般的な理解のために読む価値があります。それはかなり時代遅れであり、これらの方法は効率的ではありません。あなたの問題について-問題の定式化自体は非常にまれです。Fodorが言及したように、輪郭の代わりに特徴点を一致させることから始める方がはるかに簡単です。ポイントの場合、利用可能な最新の方法の絶対的な最良の概要はTriggsの論文「Bundle Adjustment — A Modern Synthesis」ですが、バンドル調整を使用する前に、SIFTまたはテンプレートマッチングなどを使用して画像上の対応するポイントを一致させる必要があります。Google for 3D再構築いくつかの完全なメソッドの例。また、オープンソースパッケージを使用することもできます。いくつか使用できます。

輪郭を使用することを主張する場合、問題ははるかに困難ですが、まだ(ほとんど)扱いやすいです。最初に、すべての画像の対応する輪郭を識別して一致させ、その後、各画像のカメラ位置と方向からの関数として、一致した各輪郭グループの再投影誤差の合計のコスト関数を記述します。その後、このコスト関数を最小化するカメラ位置のセットを見つけます。このプロセスの各ステップは非常に難しく、トリガーのような概要はありません。「輪郭」「一致する一致」「バンドル調整」「再投影エラー」「3D再構成」という用語の組み合わせとして、関連する論文をGoogleで検索できます。


SIFTのような機能を扱うのは明確に簡単ですが、私のドメインのSIFTは光沢のある車の表面の影/反射をよくキャッチするという問題があるため、SIFTを使用すると、実際の車の形状のため、精度が低下します。
om-nom-nom

車を見ていることがわかっている場合は、モデルベースのアプローチを試すことができます。一般的な車のモデルをパラメータ化し、すべての画像ピクセルを使用して画像に適合させてください。カメラパラメーターと車のモデルパラメーターの関数としてコスト関数を記述し、最小化します。動作する可能性があります(または動作しない可能性があります)-非常に難しい問題があるようです。
mirror2image

残念ながら、私はあなたが何をすることを提案したか理解できませんでした。いくつかの例を提供してください(外部記事、関連作品、またはこのようなものである可能性があります)。
om-nom-nom

アクティブなシェイプモデルen.wikipedia.org/wiki/Active_shape_modelまたは類似の何か
mirror2image

2

画像からのモデルの再構築を確認してください。これはあなたがやっていることとは少し異なりますが、画像から3Dモデルに移行する方法についてお話します。MeshLabもチェックしてください。これには、データをフィードできる再構築アルゴリズムがいくつかあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.