問題タブ [projective-geometry]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
401 参照

opencv - カメラの動きを考慮して、2 つの画像から 3D 点を再構築します。

同じカメラから撮影した 2 つの画像から 3D ポイントの実世界の座標を再構築しようとしています。カメラは調整されていませんが、動き (平行移動と回転) はわかっています。要するに:

要件:

  • キャリブレーションなし

画像点の対応以外の追加の制約:

  • 既知のカメラの移動と回転
  • すべてのビューで同じカメラを使用

像点対応のみからは、射影変換までしか情景を再構成できないことを理解しています。より多くの制約を使用すると、アフィンまたは類似性の再構築が行われる場合があります。私の場合、類似性の再構築が必要です。

上記の制約を考えると、類似性の再構成は可能ですか? 可能であれば、どのようにすればよいですか?

私はいくつかの角度から問題を攻撃しようとしました。私は数学に堪能ではないので、できる限り opencv を使用するようにしています。

  1. findFundamentalMat()2 つの画像から、うまくいけば 2 つのカメラ マトリックスを抽出しtriangulatePoints()ます。ご想像のとおり、基本行列からカメラ行列を取得できず、途中で行き詰まりました。

    教科書「Multiple View Geometry in Computer Vision」(Hartley と Zisserman 著) は、基本行列とエピポールの 1 つを使ってカメラ行列を表現する式 (p.256、結果 9.14) を提供します。ただし、カメラの固有パラメーター (要件: キャリブレーションなし) を知らなければ、エピポールを取得する方法がわかりません。

  2. また、問題をステレオ システムとして扱い、opencv のstereo***機能を使用しようとしています。しかし、それらはすべて、キャリブレーションに人間の介入が必要なようで、これは私の要件に違反しています。

ですから、今日ここで質問します。重要なのは、これらの追加の制約が与えられた場合でも、類似性の再構築が可能かどうかです。私はそこにある豊富な知識を理解するほど賢くなく、自分で解決策を考え出すことができません. どんな助けでも大歓迎です。