質問

MATLAB で計算しました。 基本的なマトリックス (2 つの画像のうち) 正規化された 8 点アルゴリズム. 。そこから私はする必要があります 三角測量 3D 空間内の対応する画像点。私の理解では、これを行うには画像のカメラの回転と平行移動が必要になります。もちろん最も簡単な方法は カメラを調整する まず画像を取得しますが、この追加の手順が必要になるため、これは私のアプリケーションにとっては制約が多すぎます。

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

したがって、私の質問は、画像点を 3D 空間に再投影/三角形分割できるように、回転/平行移動を自動的に抽出するにはどうすればよいかということです。MATLAB コードまたは疑似コードはどれも素晴らしいものになります。

役に立ちましたか?

解決

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

にアクセスできる場合は、 ハートレーとジサーマンの教科書, セクション 9.5.3 を確認すると、基本行列から射影再構成を計算できる 1 組のカメラ行列に移動するために必要なものが記載されています (同じ内容が Yi Ma の本のセクション 6.4 に記載されていると思います) )。以来、 この本のアルゴリズムのソース コードはオンラインで入手できます, 、関数 vgg_P_from_F、vgg_X_from_xP​​_lin、および vgg_X_from_xP​​_nonlin を確認するとよいでしょう。

他のヒント

Peter の Matlab コードは非常に役立つと思います。

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

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

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/

私の正直な意見としては、素晴らしい作品だと思います!

あなたの3D空間を任意に選択することができる場合は、

は、

のように、あなたの最初のカメラ行列を設定することができます
P = [I | 0]

ノー翻訳、回転なし。すなわち、第2のカメラを校正するために、それはあまりにも難しいことではありませんカメラ1から定義された座標系であなたを残してます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top