いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

写真から立体を再現(4) カメラ、座標軸、透視投影行列

 写真から立体を再現する準備です。用語、記号や基本的な考え方など、まとめておきます。

 空間に図のような座標軸を考えます。座標軸にカメラをセットすることもあります。カメラは原点oの位置に、z軸の正の向きに向けることにします。カメラをセットしたときにはこの座標を「カメラ座標」と呼びます。

f:id:Inuosann:20200223145323p:plain

z軸の座標がfの点を通る、xy平面と平行な平面(画像面)を考えます。画像面の原点は図の通りo'です。 カメラに写るのはこの画像面です。

f:id:Inuosann:20200223150611p:plain

画像面にも座標軸を図のように取ります。

f:id:Inuosann:20200223151000p:plain

 画像面上の点、空間内の点はそれぞれ、通常の成分に1を付け加えたベクトル(拡張ベクトルと言います)、

f:id:Inuosann:20200223155523p:plain

で表します。最後の成分の1は、これを追加しておくことによって平行移動と回転をいっぺんに行列のかけ算で表せるようになり、都合がよいのです。なお、色々なテキストでは拡張ベクトルは文字の上に”~”をつけて表すようですが、こちらの都合でアッパーライン” ̄”にしました。

  今、座標系αにカメラをセットします。座標系αを空間の中の平行移動Tと、空間の中の回転Rによって座標軸βに一致させることができるとします。

f:id:Inuosann:20200223154629p:plain

 このとき、

f:id:Inuosann:20200223161719p:plain

が成立します。sは定数で、相手にする点によって様々に変わります。β系の空間点をα系のカメラで見ると画像面のどこに写るかを計算できる式です。Pは3×4の行列です。この式を行列の成分が分かる式で書くと

f:id:Inuosann:20200223162232p:plain

となります。行列Pは、座標軸の平行移動、回転移動と、カメラの様々なパラメータ(f、その他いろいろ)からできあがっており、透視投影行列、カメラ行列などと呼ばれます。今回記事にする「写真から立体を再現」では上のような関係式が成立するということだけ理解していればよいのでPの詳細については書きません。

 

 記事「写真から立体を再現」の目標は

構造物を違う角度で撮影した2枚の写真から、その構造物をPC内で再現する

ということです。これに向け、あと何回か書く予定です。

 

 参考にしているテキストは以下の通りです。 

3次元ビジョン

3次元ビジョン

 
コンピュータビジョン―視覚の幾何学

コンピュータビジョン―視覚の幾何学

 
3次元コンピュータビジョン計算ハンドブック

3次元コンピュータビジョン計算ハンドブック