使用事例
- 物体はその中心をさまざまな速度で回転しています
- 固定カメラがオブジェクトを見ている
- 与えられた 2D イメージ ポイントの対応関係から 3D ポイント クラウドを再構築します
- オブジェクトが回転すると、その異なる部分がカメラに表示されるため、異なる点と対応が検出されます。
シーン
a. N 画像
b. N-1 画像ペア
c.N-1 2D Point 対応 ( 2D Points 配列 2 つ )
実装
(N-1) 個の 2D ポイント対応のそれぞれについて
- カメラ相対ポーズの計算
- 三角測量して 3D ポイントを作成します
- 2 つの 3D ポイント配列ごとに、[c] で与えられた 2D 対応を使用して対応を導出します。
- 3D 対応派生 @ [3] を使用して、オブジェクトの 3D ポイントのそれぞれのトラックを導き出し、オブジェクト ポイント/頂点のそれぞれに対して 1 つのトラックを生成します。
結果:
(N–2) 3D ポイント配列、コレスポンデンス、カメラ ポーズ、およびトラック (オブジェクト ポイントごとに 1 つのトラック)
問題を解決するために考えられるアプローチ:
三角測量の結果が一定の縮尺まで正確であることを前提として、点群を計算します。
A. 三角測量の結果とカメラ相対移動のそれぞれは
、非同次座標で表されます (各結果は異なるスケールを持ちます)。
B. オブジェクト構造が固体であり、変化しないという仮定の下では、
各 3D ポイントからその中心までの距離は、すべてのカメラ ポーズで同じである必要があります。
C. [B] を念頭に置いて、[A] と Cameras Translations のすべての三角測量 3D ポイントを
同次座標系に変換できます。
D. カメラ ポーズの 1 つを選択し、各トラックの最初のポイントを変換します (@ [4] で定義)。
その Camera Pose (蓄積された Camera Pose の逆数による Transform
) に、その結果、期待されるポイントができました。