目次ページ  前ページ   次ページ

13. 透視図と射影変換

13.2 平面図形の射影変換


13.2.4 カメラの方を移動させるとした場合の変換手順

図13.5:二次元の射影変換を透視図の原理で説明する図
 平面図形の射影変換の手順は、元の平面図形が描かれた切り紙を三次元的な被写体と考えます。図13.1の直方体の正面にこの切り紙が貼ってあると考えればよいでしょう。図13.1では、世界座標系の原点位置と座標軸の約束が曖昧ですが、これを明確にすることから始めます。カメラは、移動させますが、カメラは図形を視野に納めながら、世界座標の中で移動するとします。そうすると、座標軸を表す補助線の見え方が変わります。これが図13.2と図13.3の表し方です。変換手順は、図13.5を使って説明します。
図13.6:カメラ座標系の定義
 平面図形が載っている切り紙は、世界座標の原点に垂直におきます。世界座標系の座標軸の約束と合わせるように、その平面座標系の記号に(y,z)を当てます。したがって、平面図形の世界座標は、(0,y,z)です。x軸は、切り紙から手前向きが正の向きです。この切り紙の表側を視野に納める仮想のカメラを考え、その位置を世界座標の(xc,yc,zc)とし、そこから世界座標の原点、つまり、図形の座標の原点を狙います。代数的に扱うときは、カメラも対象物扱いをして、最初のカメラ位置を世界座標の原点に置きます。カメラも固有のカメラ座標系を持たせ(図13.6)、カメラの座標軸回りに回転をさせてから(xc,yc,zc)の位置に平行移動をさせます。カメラ座標系は、レンズ位置(視点)を原点とした世界座標系のコピーを使います。x軸の向きを視軸に取り、その正の向きは、被写体からレンズを向く方向と約束します。カメラの回転は、カメラの座標軸回りに、パン(z軸回り)・スイング(y軸回り)・ティルト(x軸回り)の順を守って操作します。ただし、通常は、ティルトの回転を省きます。カメラ本体の回転と移動を代数式で表すときには、3×4の変換マトリックスで扱います。カメラ本来の目的である、被写体を狙うように位置決めをするときは、カメラの視軸(x軸)が世界座標の原点を通るように決めると、変換マトリックスが簡単に計算できます。変換マトリックスの成分から、逆に回転角度を求めることもできますが、この角度は、特に必要とするパラメータではありません。変換マトリックスの演算目的は、カメラ座標系で表されているカメラの各部の座標値を、世界座標系の座標値に変換することです。ここで必要な透視変換は、カメラで見た世界座標系の座標値を、カメラの座標系で測り直すことです。これを視点座標系への変換と言い、代数的には逆変換マトリックスを求めて演算させます。そうしておいて、視点座標系の奥行きを考えた中心投影変換を行わせ、フイルム面(投影面)の像の座標値が計算されます。言葉で説明したここまでの変換手順を、以下に代数式の形で説明します。
 変換マトリックスと、その演算の表しかたでは、(x,y,z)を世界座標、(x',y',z')をカメラ座標の記号として使います。ただし、カメラ座標は、投影の用語では視点座標と言い換えます。
式13.1の上の式は3×4の変換マトリックスの形式、下の式は3×3の回転マトリックスTの演算と平行移動とを分けた表し方です。回転マトリックスの三つの縦ベクトルは、カメラの三つの座標軸が世界座標の中で向く方向余弦を与える単位ベクトルであって、互いに直交し、右手系の関係です。参考のため、回転を角度で指定するとき、パン(γ)、スイング(β)を使った表現式を示します。
回転マトリックスTの第1列の縦ベクトルは、カメラのx軸の向きを表す単位ベクトルですが、カメラの位置ベクトル(xc,yc,zc)を単位長さに変換して得られます。また、カメラのy軸は水平に保たれています。したがって、Tの残りの成分は、式13.2の右辺の関係を使って計算できます。また、必要があれば、パンとスイングの角度も計算できます。Tの逆マトリックスは、単純に行と列とを入れ替えるだけですので、3×4の形の逆変換マトリックスを使う表現が簡単に得られます。
ここに、(d,0,0)は、は、世界座標の原点の位置を視点座標系で見た値であって、カメラ座標系の定義では、x'軸の負の側にあります。視点座標上の図形の座標(x',y',z')から、フイルム上の座標(y",z")を求めることが中心投影変換です。投影面は、擬似カメラのフイルム面です。これも三次元空間に在る面です。この面の法線ベクトルは(1,0,0)です。フイルム面の位置はx'軸の負の側、x'=fの位置です。fの絶対値は画像の拡大係数の性質があります。中心投影によって、図形がフイルム面上に投影する (y",z")座標は、x'座標を奥行き情報として下のように計算します。射影変換の場合は、被写体の図形の世界座標は、x=0です。なお、x'の符号は負になりますので、dとfとは共に負の符号を持つ数です。
2009.1 橋梁&都市PROJECT

前ページ  次ページ