13

MATLABでは、正規化された8点アルゴリズムを使用して(2つの画像の)基本行列を計算しました。それから、3D空間で対応する画像ポイントを三角測量する必要があります。私が理解していることから、これを行うには、画像のカメラの回転と平行移動が必要になります。もちろん、最も簡単な方法は、最初にカメラをキャリブレーションしてから画像を撮影することですが、この余分な手順が必要になるため、これは私のアプリケーションには厳しすぎます。

そのため、自動(自己)カメラキャリブレーションが残ります。バンドル調整についての言及がありますが、3Dビジョンへの招待では、最初の平行移動と回転が必要なようです。そのため、キャリブレーションされたカメラが必要であるか、理解が不十分であると思います。

だから私の質問は、回転/平行移動を自動的に抽出して、画像ポイントを3D空間に再投影/三角測量できるようにする方法です。どんなMATLABコードや擬似コードも素晴らしいでしょう。

4

3 に答える 3

11

基本行列を使用して、カメラマトリックスを復元し、それらの画像から3Dポイントを三角測量することができます。ただし、取得する再構成は射影再構成であり、ユークリッド再構成ではないことに注意する必要があります。これは、複比や線の交点など、元のシーンの投影不変量を測定することが目標であるが、角度や距離を測定するだけでは不十分な場合に役立ちます(そのためにカメラを調整する必要があります)。

Hartley and Zissermanの教科書にアクセスできる場合は、セクション9.5.3を確認して、基本行列から射影再構成を計算できるカメラ行列のペアに移行する必要があるものを見つけることができます(同じだと思います)コンテンツはYiMaの本のセクション6.4に記載されています)。この本のアルゴリズムのソースコードはオンラインで入手できるため、関数vgg_P_from_F、vgg_X_from_xP​​_lin、およびvgg_X_from_xP​​_nonlinを確認することをお勧めします。

于 2010-02-06T13:06:13.197 に答える
5

Peterのmatlabコードは、私が思うに非常に役立ちます。

http://www.csse.uwa.edu.au/~pk/research/matlabfns/

Peterは、いくつかの基本的なマトリックスソリューションを投稿しています。元のアルゴリズムは、ジサーマンの本で言及されていました

http://www.amazon.com/exec/obidos/tg/detail/-/0521540518/qid=1126195435/sr=8-1/ref=pd_bbs_1/103-8055115-0657421?v=glance&s=books&n=507846

また、あなたがそこにいる間、基本的なマトリックスの歌を見ることを忘れないでください:

http://danielwedge.com/fmatrix/

私の正直な意見では1つの素晴らしい構成です!

于 2010-02-05T21:54:56.023 に答える
1

3D空間を任意に選択できる場合は、最初のカメラマトリックスを次のように設定できます。

P = [I | 0]

平行移動も回転もありません。これにより、カメラ1から定義された座標系が残ります。2番目のカメラをキャリブレーションするのはそれほど難しくないはずです。

于 2010-02-03T09:05:52.473 に答える