6

私はカメラマトリックスのことを学んでいます。オブジェクト空間の平面内の 4 点を使用して、カメラ (3*3 行列) のホモグラフィを取得できることは既に知っていました。平面上にない 4 点でホマグラフィーを取得できるかどうか知りたいですか? はいの場合、どうすれば行列を取得できますか? どの式を見ればよいですか?

また、ホモグラフィーを別の概念と混同しました。ある座標の点を別の座標系に変換したい場合、3 つの点を知るだけでよいのです。では、なぜホモグラフィを計算するのに 4 つの点が必要なのでしょうか?

4

4 に答える 4

3

ホモグラフィはポイントをマッピングします 1. 平面上で別の平面のポイントに 2. 純粋なカメラの回転またはズーム中の 3D でのポイントの投影 (同じ平面上にある必要はありません)。

後者は、センサー面が回転している間に点を結ぶ光線を見ると簡単に確認できます。緑は 2 つのセンサー位置、黒は 3D オブジェクトです。カメラ レイは、オブジェクトとカメラ センサー間のマッピングを維持します

ホモグラフィは 3D のオブジェクト間ではなく投影間であるため、これらの投影が何を表しているかは気にしません。しかし、これは紛らわしいかもしれません、私は同意します。たとえば、カメラを 3D シーン (平面ではありません!) に向けてカメラを回転させると、そのシーンの 2 つの結果の写真がホモグラフィーによって関連付けられます。ちなみに、これは画像パノラマの基盤です。

あなたが言及した3点対応は、アフィンと呼ばれる変換(遠近効果が消えるときに大きなズーム中に発生する)または3D空間での剛体回転と平行移動の発見に関連している可能性があります。どちらも 3 点対応が必要ですが、前者は 2D 点のみが必要ですが、後者は 3D 点が必要です。後者の場合は 6DOF (回転に 3、平行移動に 3) ですが、各対応は 2DOF を提供するため、6/2=3 の対応になります。ホモグラフィには 8 つの DOF があるため、8/2=4 の対応があるはずです。

以下は、元の正方形が前方に傾いている場合のアフィン変換とホモグラフ変換の違いを説明する小さな図です。アフィンの場合、遠い側が近い側と同じ長さである遠近効果は無視できます。ホモグラフィの場合は向こう側が短い。ここに画像の説明を入力

于 2014-02-21T06:56:47.020 に答える
1

点が 4 つしかなく、それらが同じ平面上にない場合、ホモグラフィの計算は機能しません。

たくさんのポイントがあり、そのうちの 4 つが平面上にあり、一部が平面上にない場合、平面上にないものを削除するために使用できるフィルターがあります。OpenCV によって実装されるフィルターはRANSACおよびLMeDと呼ばれます。

また、ハンマーがあなたの質問の下のコメントで言っているように-4番目のポイントは、視点を理解することです。

于 2013-01-25T13:43:49.293 に答える
1

ホモグラフィは、8 つの独立した未知数で構成される 3X3 行列です。つまり、これらの未知数を解くには 4 つの方程式が必要です。したがって、ホモグラフィを計算するには、少なくとも 4 つの点が必要です。

ホモグラフィーでは、ワールド シーンで Z=0 を想定しているため、投影される画像は 2D であると想定されます。ORB-SLAM という非常に有名なジャーナルで、著者は、シーン内の運動視差に応じたシーン選択アプローチを定式化しました。

于 2019-09-04T02:36:19.990 に答える
0

ホモグラフィは 2 つの平面間の関係であり、ホモグラフィ変換の自由度は 7 です。したがって、最低 4 つの対応する点が必要です。
4 点で (x,y) の 4 つのペアが得られるため、7 つの変数を計算できます。ホモグラフィはホモジン変換であるため、ホモグラフィ行列の (3,3) 値は常に 1 です。
したがって、平面内の 3 点と平面上ではない 4 点でホモグラフィを計算できる最初の質問: 不可能です。その点を平面に投影する必要があり、ホモグラフィを計算できます。
ホモグラフィ行列の計算方法に関する 2 番目の質問は、opencv でのfindHomography()の実装を確認できます。

于 2015-10-29T14:32:00.940 に答える