画像を張り合わせる先の「座標系モデル」

パノラマ画像を作るには、入力画像を位置合わせした後に張り合わせる先の表面の座標系モデルを決定する必要があります。例えばデジタル画像と同じで、とにかく広い2次元の平面に各画像を位置合わせして貼付けたり、プラネタリウムのような球面の内側に書く画像を変形して貼付けたりして、最終的なパノラマ画像を作成するわけです。

まず一番単純なモデル2次元平面モデルからどのように入力画像が張り合わされるかを考えてみましょう。例えばカメラを横方向にだけ平行移動させて撮影した画像を用いた場合、各入力画像はカメラによる平行移動を用いた位置合わせになる(と近似できる)ので、各画像に平行移動による変形だけを行えば、その2次元平面モデル上に1つのパノラマとして張り合わせていくことができます。

一方で、先ほどのプラネタリウムのような球面型の座標系や、円柱座標系を張り合わせ先のモデルに採用することも可能です。これらの場合、張り合わせ先が3次元の球面や円柱になるので、ソフトウェアにより3D可視化が可能になり、擬似的に元の3次元空間性を感じることができるという利点があります。つまり、マウスやタッチ操作によりカメラ位置を回転させることで、パノラマ画像上の各領域の様子を回転しながら見ていくことができるわけです。

処理(1)、(2)のレジストレーションにより各入力画像の移動量が求まったあとは、円柱や球面などの座標系モデルに合うように元の各入力画像を変形させて張り合わせます(例:元画像のx,y座標系→球面座標系)。この時、1画素ごとに座標系間の対応関係を決めて詳細な1画素ごとの変形を行ったのちに貼付けてもよいのですが、入力画像の長方形が(この次に説明する)ホモグラフィという変換により台形的に変形するとみなして「画像を位置合わせして座標系モデルに合うように画像を移動・変形」する処理を行います。

レジストレーションによる移動量の計算(処理2)

パノラマ座標系にどのモデルを用いるかを決めたら、処理(1)で計算した対応点を用いて、ソース画像からターゲット画像への「移動量」と「変形量」を求めます。以前、「超解像」の回で紹介した画像同士を位置合わせするために移動量を求めることを「画像のレジストレーション」と呼ぶことを既に紹介しました。

ここではレジストレーション処理を行ってソース画像とターゲット画像を一枚の画像として位置合わせし、その後、円筒座標系や球面座標系などといったパノラマ座標系に位置合わせ済みの一枚の画像を移動・変形させることで、最終的なパノラマ座標系の状態に処理していきます。この時、ソース画像とターゲット画像の変形の方法としては「ホモグラフィ変換」という画像の変換方法がよく用いられます。

画像間の移動・変形モデル:ホモグラフィ

ホモグラフィは、画像の端の4点の座標をそれぞれ独立に移動することができる幾何変換のことです。ホモグラフィは、それぞれ画像の端の隣り合う2点を結んだ直線が、独立して移動されるイメージです(下図を参照)。ここでは、画像間でのSIFTの対応ペア群から「どのようなホモグラフィ変換を行えばソース画像とターゲット画像の各対応ペアに一番フィッティングされたホモグラフィ変換になるか」をRANSACにより推定します。

このホモグラフィ推定の処理は、ソース画像全体とターゲット画像全体を位置合わせすることに相当するので、以前紹介した超解像でも用いられている「レジストレーション処理」に相当します。ここでは超解像の時のように画像を各点ごとに細かく密に対応付けして変形したいわけではなく、あくまで粗な局所特徴量の抽出点だけで全体のホモグラフィを推定するという違いがあります。ホモグラフィによる画像端点の4点変形により、画像の全体の変形・移動を近似的にモデル化しているわけです。