2

カメラ画像から抽出した特徴点の 3D 位置を再構築したいプロジェクトに取り組んでいます。アイデアは次のとおりです。

  • カメラ録画 (グレースケール情報、VGA サイズ: 640 x 480)
  • カメラフレームの特徴点を抽出します(これにはSIFTを使用しています)
  • frame[k-1] の機能を frame[k] の機能に対応させます (これには RANSAC を使用する予定です。詳しくは後で説明します...)
  • これらの特徴点間の相対距離情報を計算/推定します (これは (x,y,z) 座標系になります)

RANSAC は再構成に使用されるアルゴリズムであり、最終結果はある種の点群になるという多くの論文を読みました。それだけできるようになりたい。しかし、私はいくつかの問題に遭遇しました。皆さんが私を助けてくれることを願っています.

最初の問題は、RANSAC を使用してこのポイント通信を実行する方法がよくわからないことです。RANSAC がモデル フィッティング ツールであるという概念は理解していますが、対応解決にどのように使用できるかわかりません。

2 番目の問題は、対応情報があると仮定して、これらすべてのポイント間の何らかの距離情報を取得する方法です。透視投影を使用してこれを解決できることを読んだことがあります。次に、基本マトリックスを推定する必要があります。次に、点群を取得できるように数学の魔法を実行します。ポイントは、基本マトリックスの実際の値が何を意味するのか理解できないということです。2台のカメラ(または私の場合、カメラが動いているビデオの2フレーム)の位置の間に数学的な関係があり、エピポーラジオメトリを利用していることを知っています。しかし、これ以外に、ファンダメンタル マトリックスが実際に何を意味するのか、私にはまったくわかりません。この 3x3 マトリックスは、あるカメラと別のカメラの 6DOF をどのように捉えているのでしょうか? また、「数学の魔法」だと思います

したがって、私の質問は次のとおりです。あなたの誰かが私を正しい方向に向けることができますか? これまでに読んだ論文の参考文献を掘り下げてきましたが、これらは「RANSACアルゴリズムを使用してこれを解決する」という行も与えており、間違っていると感じています。方向。おそらく素人の言葉やイラストを使って、これらのことについての良い説明はありますか?要するに、どこを見ればいいのですか、またはこのとらえどころのない情報をどこで見つけることができますか?

前もってありがとう、Xilconic

PS: ウィキペディアをチェックしましたが、あまり役に立ちません。「ファンダメンタル マトリックス ソング」も聴きましたが、同じ話です。

4

3 に答える 3

4

私の論文でもRANSACアルゴリズムを使用して、これに関する私の論文を書きました。

このトピックには、ここでいくつかの段落に収めることができる以上のものがあります。優れた本Multiple View Geometryを入手することを検討してください。

思わぬ障害 1

RANSAC は、膨大な量の外れ値が存在する場合でも、モデル (この場合は基本行列F ) を見つけます。この場合、いくつかの点対応候補が大きく外れています。これは外れ値です。基本的に、ランダムに描画されたポイントからF行列をフィッティングし続けるだけです。最終的に、一貫したモデルを一緒に作成するいくつかの点のセットを見つけます。これらはインライアです。これらを使用して、モデル ( F ) をより正確に推定できるようになりました。

私の論文には、開始するためのライン フィッティングの例と、対応問題に適用される RANSAC の把握しやすい説明を含む簡単な例があります。

思わぬ障害 2

F行列で最も重要なことは、ある画像の点を別の画像のにマッピングすることです。

Fx = l ' ここで、xは一方の画像の点であり、l ' は他方の画像の線です。

F行列には 9 つの要素がありますが、ランク 2 である必要がありスケールも問題にならないため、自由度は 7 しかありません。F行列の要素について簡単に説明することはできません。

点対応x <-> x ' とFを使用して、焦点距離などのカメラの内部パラメーターがわかっている場合、描写された点のワールド 3D 座標Xを抽出できます。

連続したムービー フレームを使用する場合、通常、カメラはほとんど動かず、基礎行列を計算するのが難しい場合があることに注意してください。ただし、回避できます。Marc Pollefeys の作品を調べることをお勧めします。

于 2011-03-02T19:43:33.180 に答える
2

基本マトリックスのウィキペディアエントリの最初の式を見てください。

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

これは、RANSACを使用して解決しようとしている「モデル」です。2つの3xn (n>=7)行列 がxあり、両方の画像の対応するすべての点x'を表します(3番目の座標は常に1番です)。そして、あなたが値を見つけたい未知の行列。ウィキペディアのエントリにあるRANSACの擬似コードアルゴリズムは、かなり良い説明です。x,yx',y'3x3F

さて、基本的なマトリックスは何ですか?画像内のポイントを考える1つの方法は、カメラの位置と3D空間内のそのポイントを結ぶ3Dラインとして考えることです。この線は両方向に無限に伸びています。別のカメラでその線上の3Dポイントを見ると、そのカメラからの画像では、線がそのカメラを横切っているのがわかります。画像内の点の3D線への変換(実際には投影)は、単なる行列演算です。3Dでの線の2D画像への投影も、行列演算です。Fこれらの両方の行列演算を1つの行列にキャプチャします。また、両方のカメラのカメラマトリックスFを決定するために使用することもできます。これは、3D再構成に使用できます。

多分これは少し役立ちますか?そうでなければ、私はこれについて私が知っているほとんどのことをハートリーとジッサーマンから学びました。

于 2011-03-02T13:30:15.413 に答える
1

5 ポイントまたは 8 ポイント アルゴリズムのようなものを使用した基礎行列の堅牢なソリューションは、確かに良い出発点です。とはいえ、基本的なマトリックス ソリューションは外れ値の影響を受けやすいため、実際の 3D ソルビングを行うには、追加の包括的なシステムが必要になる可能性があります。カルマン フィルター タイプのアプローチ (高速、組み込みシステムでリアルタイムで実行可能) またはバンドル調整 (非常に正確ですが、遅くなる可能性があります) を使用できます。

使用したり、インスピレーションを得たりできる優れた SFM ソフトウェアがいくつかあります。

VSLAM (スタンフォード大学の教授であり、OpenCV 関係者である Willow Garage でも働いている Konolige によって開発されました)。おそらく、私が見た中で最速のバンドル調整ソリューションです。

RSLAM (Oxford Mobile Robotics Group によって開発され、いくつかの優れた結果を示しています)

于 2011-03-03T21:40:08.460 に答える