7

最近、ピンホールカメラのモデルを勉強していたのですが、OpenCV で提供されているモデルと「コンピュータービジョンにおける複数ビューの幾何学」の教科書に戸惑いました。

以下の写真は、像面とカメラフレームの位置を入れ替えた単純化したモデルだと思います。説明と理解を深めるために、主点 (u0,v0) を考慮すると、2 つのフレーム間の関係はx=f(X/Z)+u0と になりy=f(Y/Z)+v0ます。

ここに画像の説明を入力

しかし、通常、画像座標は次のように第 4 象限座標の形式になっているため、非常に混乱しました。

次の定義の (x,y) を、実際には説得力のない上記の「同等の」ピンホール モデルに直接置き換えることはできますか?

ここに画像の説明を入力

また、オブジェクトがカメラ座標の領域 (+X,+Y) 象限にある場合 (もちろん、Z>f)、同等のモデルでは、画像座標の右半平面に表示されるはずです。しかし、通常のカメラで撮影した画像では、そのような物体は左半分に位置するはずです。したがって、私にとってこのモデルは合理的ではありません。

最後に、元のモデルに基づいて次のように導出しようとしました。

ここに画像の説明を入力

結果はx1=-f(X/Z)y1=-f(Y/Z)です。

次に、(x2,y2)座標とカメラ座標の関係を調べてみました。結果はx2=-f(X/Z)+u0y2=-f(Y/Z)+v0です。

(x3,y3) 座標とカメラ座標の間で、結果はx3=-f(X/Z)+u0と になりy3=f(Y/Z)+v0ます。

どの座標系を試しても、一部の CV 教科書で提供されているx=f(X/Z)+u0との形式になっているものはありません。y=f(Y/Z)+v0

さらに、(x2,y2) 座標または (x3,y3) 座標の投影結果も、同じ理由で妥当ではありません: カメラ座標の (+X,+Y,+Z) 領域にあるオブジェクトカメラで撮影した画像の左半分の平面に「表示」する必要があります。

誰かが私が誤解したことを指摘できますか?

4

2 に答える 2

8

私は最終的にこの問題を理解し、Z. Zhang の論文「未知の方向から平面を表示することによる柔軟なカメラのキャリブレーション」を実装することで、私の解釈が正しいことを証明しました。コンピュータ ビジョンに関する国際会議 (ICCV'99)、ギリシャ、コルフ、666 ~ 673 ページ、1999 年 9 月

すべてを最初から説明させてください。次の写真は、元のピンホール カメラ モデルとイメージ センサー上の投影結果です。しかし、これは私たちが「イメージ」で見るべきものではありません。

図1

私たちが見るべきものは

図2

図 1 と図 2 を比較すると、この図は上下左右が逆になっていることがわかります。CMOS センサーの会社に勤めている友人は、認識されたイメージを自動的に反転する機能が組み込まれていると教えてくれました。

イメージ座標とワールド座標の関係をモデル化したいので、イメージ センサーを投影面として直接扱う必要があります。以前に私を混乱させたのは、投影が常に投影された側に制限されていることです。これにより、導出を幾何学的に理解することができませんでした。

ここで、イメージ センサーの「背面」から青い (ビュー パースペクティブ) 矢印のように見る必要があります。

結果は図 2 のようになります。x1-y1 座標はそれぞれ右方向と下方向になり、方程式は次のようになります。

x1=-f(X/Z)
y1=-f(Y/Z)

ここで、xy 座標に関して、式は次のようになります。

x=f(X/Z)+u0
y=f(Y/Z)+v0

これは論文が説明したものです。

ここで、現実世界には存在しないが視覚的な解釈に役立つ同等のモデルを見てみましょう。

ここに画像の説明を入力

原理は同じです。投影の中心から像平面に向かって見てください。結果は

図4

投影された「F」は左右です。方程式は

x1=f(X/Z)
y1=f(Y/Z)

ここで、xy 座標に関して、式は次のようになります。

x=f(X/Z)+u0
y=f(Y/Z)+v0

これは論文が説明したものです。

最後になりましたが、世界座標の単位は mm またはインチであり、画像座標の単位はピクセルであるため、一部の本では次のように説明されている倍率があります。

x=a*f(X/Z)+u0 
y=b*f(Y/Z)+v0

また

x=fx(X/Z)+u0
y=fy(Y/Z)+v0

ここでfx=a*ffy=b*f

于 2014-05-14T09:39:06.157 に答える