この質問はかなり古いものですが、興味深いものであり、誰かにとって役立つかもしれません.
まず、質問で提示された問題をどのように理解したかを次に示します。
2 つの異なる位置で同じデジタル カメラによって取得された2つの画像 I 1と I 2があります。これらの画像は両方とも、共通の平面 p mにある一連のマーカーを示しています。測定されたオブジェクトもあり、その目に見える表面は、マーカーの平面に平行な平面 p oにありますが、小さなオフセットがあります。I 1のマーカー位置を I 2の対応するマーカー位置にマッピングするホモグラフィ H m 12を計算し、平面 p oと p mの間のオフセット d m-oを測定しました。それから、ホモグラフィ H o 12を計算したいと思います。I 1の測定オブジェクト上の点を I 2の対応する点にマッピングします。
この問題に関するいくつかのコメント:
まず、ホモグラフィはイメージ ポイント間の関係であり、マーカーの平面とオブジェクトの平面の間の距離はワールド座標での距離であることに注意してください。後者を使用して前者について何かを推測するには、カメラのポーズのメトリック推定が必要です。つまり、2 つの画像のそれぞれについて、カメラのユークリッドおよび最大スケールの相対位置と向きを決定する必要があります。ユークリッド要件は、デジタル カメラをキャリブレーションする必要があることを意味しますが、これは「光学測定システム」では問題になりません。スケールアップこの要件は、与えられた 2 つの 3D ポイント間の真の 3D 距離を知る必要があることを意味します。たとえば、任意の 2 つのマーカー間の真の距離 l 0を知る必要があります。
各画像のカメラの相対的な姿勢のみが必要なので、I 1のカメラの座標系を中心にして位置合わせされた 3D 座標系を使用することを選択できます。したがって、I 1の射影行列をP 1 = K 1 * [ I | 0]。次に、 (同じ 3D 座標系での) I 2の射影行列をP 2 = K 2 * [ R 2 | t 2 ]。また、I 1およびI2に対するレンズ歪みをモデル化する係数をそれぞれD 1およびD2で表す。
1台のデジタル カメラで I 1とI 2の両方を取得したため、K 1 = K 2 = K および D 1 = D 2 = Dと見なすことができます。 (またはズームが異なる場合など)、2 つの異なるカメラ マトリックスと 2 組の歪み係数が関係していると考える方が正確です。
このような問題にアプローチする方法は次のとおりです。
P 1と P 2を推定する手順は次のとおりです。
デジタルカメラのキャリブレーションにより、 K 1、K 2および D 1、D 2を推定します。
D 1と D 2を使用して、画像 I 1と I 2のレンズ歪みを補正し、補正された画像のマーカー位置を決定します。
対応するマーカー位置から基本行列 F 12 (I 1の点を I 2のエピラインにマッピング) を計算し、基本行列 E 12 = K 2 T * F 12 * K 1を推測します。
E 12と一点対応からR 2と t 2を推測します (関連する質問へのこの回答を参照してください)。この時点で、カメラの姿勢のアフィン推定が得られますが、t 2には単位ノルムがあるため、スケールアップされたものではありません。
2 つの任意のマーカー間の測定距離 l 0を使用して、t 2の正しいノルムを推測します。
最高の精度を得るには、K 1と ||t 2 ||を使用して、バンドル調整を使用して P 1と P 2を調整することができます。I 1と I 2の対応するマーカー位置に基づいて固定されます。
この時点で、カメラの姿勢P 1 = K 1 * [ I | I | 0 ] および P 2 = K 2 * [ R 2 | 0 ] t 2 ]。ここで、H o 12を推定する手順は次のとおりです。
D 1と D 2を使用して画像 I 1と I 2のレンズ歪みを補正し、補正された画像内のマーカー位置を決定し (上記の 2. と同じ。やり直す必要はありません)、これらの対応する画像からH m 12を推定します。ポジション
次の線形方程式を解くことにより、マーカーの平面p mを記述する3x1ベクトル vを計算します。Z は倍率です。原点までの距離を推測 d m = ||v|| 法線 n = v / ||v|| は、マーカーの平面 p mを 3D で表します。
オブジェクト平面 p oは p mに平行であるため、同じ法線 n を持ちます。したがって、次のように、p mの原点までの距離 d mと、測定された平面オフセット d m-oから、 p oの原点までの距離 d oを推測できます。d o = d m ± d m-o (符号は、平面の相対位置: p mがp oよりも I 1のカメラに近い場合は正、そうでない場合は負)。
3D で物体平面を記述するn と d oから、ホモグラフィ H o 12 = K 2 * ( R 2 - t 2 * n T / d o ) * K 1 -1を推測します (HZ00 章 13、方程式 13.2 を参照)。
ホモグラフィ H o 12は、I 1の測定オブジェクト上の点を I 2 の対応する点にマッピングします。ここで、I 1と I 2の両方がレンズ歪みに対して補正されていると想定されます。元の歪んだ画像との間でポイントをマッピングする必要がある場合は、歪み係数 D 1と D 2を使用して H o 12の入力ポイントと出力ポイントを変換することを忘れないでください。
私が使用した参照:
[HZ00] 「コンピュータ ビジョンのための複数ビュー ジオメトリ」、R.Hartley および A.Zisserman、2000 年。