BundlerのSFMでお聞きしたいことがあります

BundlerのSFMでお聞きしたいことがあります 先日は丁寧な回答ありがとうございました。 現在自分は http://phototour.cs.washington.edu/ModelingTheWorld_ijcv07.pdf の論文で4.2のSFMのところを理解しようとしているのですがこのSFMのおおまかな流れとして Ⅰ、まずカメラのパラメータを推定するために1組みのペアのカメラ(多くの対応点をもちベースラインが広いもの)を選択する。 Ⅱ、RANSACを用いて外れ値を除去し、5点アルゴリズムを用いてカメラパラメータを算出しバンドル調整で最適化し初期値とする Ⅲ、次にカメラを追加するが、そのカメラは最初のペアと特徴点の一致しているのが最も多く、さらに3次元位置が既知のカメラを選択 Ⅳ、RANSACのなの中で行われている手順のDLT法を用いてカメラの外部パラメータ、さらに内部パラメータを算出 Ⅴ、Ⅳで求めたカメラパラメータを初期値としてバンドル調整をする Ⅵ、最後にⅢで追加したカメラに、適当な条件でさらにカメラを追加し、新しい点が追加される毎に全体の精度を上げるために全体をバンドル調整で最適化 Ⅶ、適当な条件を満たすカメラがなくなるまでⅥの操作を繰り返す というような流れになっていると思うのですが、各々の段階で疑問や確認したいことがあるのでお聞きしたいです。 まずⅡの段階で5点アルゴリズムでカメラパラメータを推定とありますが、これは5点アルゴリズムでエッセンシャル行列を算出しバンドル調整で最適化してから回転要素と並進要素のカメラパラメータに分解するということでしょうか? 次にⅢでカメラの3次元位置が既知のものを選択とありますが、これは4.1説で画像のペアをいくつかもとめてその画像間でファンダメンタル行列を算出しているので、記述がないのでわかりませんが、各々のペアのカメラ位置はこのファンダメンタル行列を分解することで求められている。ということでしょうか? 次にⅣでここでのDLTは特徴点カメラ座標と3次元位置が既知なので、カメラの内部パラメータと外部パラメータを11以上の点の対応で算出し最小2乗解をもとめるということですか? 最後に新しい点が追加される毎に全体をバンドル調整ですが観測量や変数がどのように指定するのかというか、この操作をどのように行なっているかが全然わかりません。 手順や質問でおかしいところもあると思いますが回答よろしくお願い致します。

C言語関連4,810閲覧xmlns="http://www.w3.org/2000/svg">25

ベストアンサー

0

リクエストは結構だが、これが最後だよ。 学術論文の解読を匿名で、しかも無料でやらせようとか、あまり他人の専門知識と学問を舐めるんじゃない。 身分を明らかにして大学の教授にでも聞きなさい。 大体あってるが、所々致命的な読み違いや読み落としがあるように思う。 >Ⅰ、まずカメラのパラメータを推定するために… 重要な点を読み落としてる。 ここには方程式の退化を避けるために、点の集合が同一平面に乗らないようにデータを選択する工夫が入っている。 このために候補となる対応点集合を平面射影変換の方程式に当てはめて支持されるかどうかを調べている。 平面射影変換の方程式を満たしている場合は点の集合が同一平面に乗ってるってこと。 だからできるだけ平面射影変換の方程式が満たされないような点を選ぶ、とある。 > まずⅡの段階で5点アルゴリズムでカメラパラメータを推定とありますが、これは5点アルゴリズムでエッセンシャル行列を算出しバンドル調整で最適化してから回転要素と並進要素のカメラパラメータに分解するということでしょうか? 恐らくRANSACの手続きを誤解している。 ここでのRANSACをnaiveに行うと (i) 基本行列の推定をランダムにとった最小セット(5点)で推定 (ii) その基本行列を支持するかどうか全データで検証 (iii) 最も多くの支持を得た基本行列に関して、支持したデータセットから線型解法で基本行列を推定 となるはず。 (iii) で推定した基本行列は線型解法由来だからまだ最適化の余地がある。 これを分解して作ったカメラの姿勢を二視点のバンドル調整で最適化するのだと思う。 ちなみに「基本行列」や「基礎行列」の推定でバンドル調整に踏み込む必要があるかどうかは散々議論されている。 詳しくは金谷の基礎行列推定の論文とかを当たるのが正しい。 ここでは古典的にして確実な方法として特徴点の三次元復元とカメラ校正を同時にやっているのだろう。 > 次にⅢでカメラの3次元位置が既知のものを選択とありますが… まったく違う。ここで選択するのは「既知の三次元座標を持つ特徴点」を観測するカメラ。 既知の三次元座標ってのは要するに復元済みの三次元点ってこと。 おそらくはここから伝統的な線型解法でcamera resectioning をするものと思われる。 この推定手続きもまたRANSAC化されている。 で、基礎行列で求まるのはあくまでの二視点の相対的な姿勢であって、ここで欲しい大域的な復元と整合性のある姿勢じゃない。 より専門的には「局所的な射影復元」しか得られない。 > 次にⅣでここでのDLTは特徴点カメラ座標と3次元位置が既知なので、 ここは既に書いた。 > 最後に新しい点が追加される毎に全体をバンドル調整ですが観測量や変数がどのように指定するのかというか、この操作をどのように行なっているかが全然わかりません。 これはその筋の古典にして必ず引用される "bundle adjustment a modern synthesis" を当たること。 日本語なら情処研報チュートリアルの「バンドルアジャストメント,岡谷貴之」がいいかな。 そもそも bundler はオープンソースなんだからソースを読みな。 あと色んなデータセットについて試すのも面白いかもね。 JPEGをBMPとかにしてEXIFを潰すと途端にうまくいかなくなるデータとかがあってとても面白い。

ThanksImg質問者からのお礼コメント

とてもわかりやすく回答して頂けたのでつい頼ってしましました。 英語の読解や基礎知識も足りていないものですから誤った理解をしていないか不安で聞いてしまいました。実際間違ってましたが・・・。 今回も丁寧に教えていただきありがとうございました。

お礼日時:2012/1/29 23:04