1. カメラモデルと 透視投影とsは [概要]
この記事では,カメラモデル(Camera Model) と 透視投影 (Perspective Projection) について,コンピュータビジョンの視点から説明を行なう.
3次元シーン中の点
そして,ピンホールモデルの画像投影平面を,光学中心のピンホールを対称に上下左右反転させたモデルである,透視投影カメラモデル(Perspective Projection Camera Model)が,「3Dシーンの各点から出る光の,画像平面上の2D点への投影モデル」として,カメラ撮像系のモデル化で標準的に用いられる.
ただし,透視投影モデルだけでは,レンズ歪みのモデル化がされていない.そこで,画像平面上での放射状歪み(radial distortion)も,透視投影モデルに付け加えたモデルを,最終的なカメラモデルとして使用することが標準的である.
1.1 記事の構成
2節以降の記事の構成を述べる:
- 2節:カメラ幾何表現(同次座標系を用いた計算・活用方法).
- 2.1 ピンホールカメラモデル
- 2.2 透視投影カメラモデル
- 3節:「内部パラメータ」と「外部パラメータ」
- 3.1- 3.3節: カメラモデルを構成するパラメータを3つの部品に分解して説明.
- 3.1節:外部パラメータ: 「ワールド座標系(3D) 」から 「カメラ中心座標系(3D)」への剛体変換3.2節:内部パラメータ1 「透視投影」3.3節:内部パラメータ2「画像平面上での標本化 」
- 3.4節: 3パラメータを合成した最終モデル (※ [1]のモデル化にならっている).
- 3.1- 3.3節: カメラモデルを構成するパラメータを3つの部品に分解して説明.
- 4節:放射状歪み(radial distortion)に伴う,「画像のレンズ歪み」のモデル化.
カメラモデルの各パラメータは,カメラキャリブレーションやエピポーラ幾何などを通して推定することができ,推定されて以降は,画像からの3次元復元問題を解くためにカメラモデルの幾何を利用できる.
2. 透視投影モデルによるカメラ幾何表現
コンピュータビジョンのカメラモデルには,撮影シーンの3次元点が,2次元の画像平面に透視投影 (perspective projection)されたことを模擬したカメラモデルである「透視投影モデル」を標準的に用いる.
透視投影モデルでは,実際のカメラを簡素に近似したピンホールカメラモデル (pinhole camera model)を元にして,そのモデルの投影面に投影されたシーン実像を,カメラ中心を基準に反転した画像平面が存在すると仮想的にみなす.
この2節では,まずピンホールカメラモデルを紹介したのち,それを元にした透視投影に基づくカメラモデルを3節で紹介する.
2.1 ピンホールカメラモデル (簡易的な実カメラの撮像モデル)
ピンホールカメラモデルは,カメラを単純な四角形の箱とみなし,レンズ無しで光の入ってくる穴(ピンホール,光学中心)が,点である(Apertureが極小である)とみなし,カメラによる撮像過程を簡素な形として抽象化したモデルである(図1).
このモデルでは,ピンホールを通った光が,カメラ箱内の焦点
2.2 透視投影によるカメラモデル
前節のピンホールモデルは,投影画像が上下左右反対になって投影されているので,我々人間としては直感的に少しわかりづらい.そこで,実際の計算機におけるカメラ幾何では,ピンホールモデルにおける仮想画像平面を,真の画像平面であるとみなすようにした透視投影カメラモデルが用いられる (図2).
図2の
透視投影カメラモデルを用いる1番の利点は,透視投影に基づいたカメラ幾何モデルが使用でき,なおかつ「カメラ中心
3. 「内部パラメータ」と「外部パラメータ」
図2の透視投影カメラモデルにおいては,光線
- 3.1節 (3D-3D) 回転行列
と並進ベクトル により,ワールド座標系の点を,カメラ座標系の画像平面上の点へ剛体変換. - 3.2節 (3D-2D) カメラ原点を中心とした座標系で,3次元点から画像平面上の2次元点へ透視投影.
- 3.3節 (2D-2D) 連続的な画像座標系を,離散的な画素に(標本化して)割り当てる写像.
以降,3つの変換を順に紹介し,その後3.4節でそれらを1つの変換式にまとめて,透視投影モデルの一般形として示す.
3.1 外部パラメータ: 「ワールド座標系(3D) 」から 「カメラ中心座標系(3D)」への剛体変換
3.1節では,ワールド座標系を,カメラ中心を原点としたカメラ中心座標系に変換する「外部パラメータによる座標系変換」について述べる(図3).
図3のように,カメラ座標系(Camera Coordinate)上から観測している任意の3Dシーンは,毎回異なる任意の座標が,ワールド座標系(World Coordinate)の原点となっている.
シーン上の3D点から画像上の2D点への透視投影変換が実行できるのは,この3Dカメラ座標系である.
3.1.1 カメラ座標へ変換する動機
カメラ座標
理想的には,正規化された画像平面(normalized image plane)上の点
3.1.2 ワールド座標系からカメラ座標系への変換
カメラ座標系は,図3のように,カメラ中心
ワールド座標系からカメラ座標系への,(非同次座標における)線形変換式は,以下の式のように書ける:
ここで
しかし,この剛体変換も同次座標で表現しておくほうが,このあと計算が楽になる.非同次座標の式である(2.1)は,同次座標では,線形写像を用いて以下のように書くことができる:
3.2 内部パラメータその1: 透視投影
3.1節の変換を通して,まずワールド座標形からカメラ座標系に,座標系が変換された.次に3.2節では,透視投影変換を用いた光線の投影について定式化する.
焦点距離
式(3.3)の,2つの式を1つの式でまとめると以下のようにも記述できる:
ここで
ちなみに
3.3 内部パラメータその2: 画像平面上での標本化
現在のデジタルカメラでは,CMOSなどの撮像素子(イメージセンサー)上の2次元画素配列に沿って取得したアナログの画素値が,標本化によってデジタル値化される機構が標準的である.
まず変換に用いる各パラメータについて述べる.画像センサーごとに,縦横単位長や幅と高さの長さは違うので,それを表現するための縦横のスケール比率をそれぞれ
以上のパラメータを元に,3.1節と3.2節の2つの変換,式(3.2)と式(3.4)を経て得られる2D投影点
3.4 カメラモデルの最終形:3つの射影を結合
以上の3.1~3.3節の3つの変換を,同次座標系の行列による変換として順に適用する様子を,シーン上の3D点
この式で,
この行列
カメラ行列は,以下のように内部パラメータ(Intrinsic Parameters) 行列
行列
ここで,
最後に,式(2.3)を,再度個別のパラメータとして展開表示した形式として,以下にまとめておく:
※ ちなみにOpenCVでは,内部パラメータ行列
4. レンズの放射状歪みモデル
3節までの基本的なカメラモデルはまだ表現されていない「画像のレンズ歪み」のモデル化について,この4節でまとめる.
レンズ歪みによく用いられるのは,放射状歪みを以下の多項式によりモデル化したものである:
ここで
スキューがゼロであると仮定できる場合,上の正規化座標系における関係式だったものが以下のように通常の画素位置でも表現できる:
スキュー変換については以下の記事を参照:
5. まとめ
コンピュータビジョンに用いられるデジタル画像撮影むけのカメラモデルは,透視投影カメラモデル (3節) と 放射状歪みモデル(4節) の2つのモデルから構成される.
実用においては,(透視投影)カメラモデルは,同次座標系において 外部パラメータ(3.1節)と内部パラメータ(3.2節 + 3.3節)の,2つのパラメトリックモデルの合成として構成される.つまりは,3つの変換の行列積「剛体変換(3.1節) × 透視投影(3.2節) × 標本化(3.3節)」として,3要素に分解したパラメータ行列の積を,「外部パラメータと内部パラメータの合成変換」として使用する(3.4節).
また,最後に,画像のレンズ歪みの「放射状歪み」をモデル化する部分のパラメータ化(4節)についても説明した.
参考書籍
- ディジタル画像処理 [改訂第二版] (📖紹介記事)
- Concise Computer Vision: An Introduction into Theory and Algorithms (Undergraduate Topics in Computer Science) , Reinhard Klette, 2014.
References
- [1] N. Pears, L. Yonghuai, and B. Peter, 3D Imaging, Analysis and Applications, Springer, 2012

