パノラマ画像生成

近年、デジタルカメラに高速連射機能と連携して搭載されていることも多くなってきたのが「パノラマ画像撮影」機能です。撮影者が立ち位置を固定したまま少しずつカメラの撮影範囲を横にずらして(もしくは回転をさせて)写真を撮影し、それらの連続的に撮影した複数の写真を自然な1枚の画像につなぎ合わせたものが、いわゆる「パノラマ画像」です。

以下の画像は、私が渋谷駅の歩道橋の上に立って、iPhoneのアプリ「Auto Stitch」により少しずつiPhoneを回転させて撮影した9枚の画像から作成したパノラマ画像です。パノラマ画像は、この例のように長方形の上に各入力画像を変形させてつなぎ合わせることもできれば、円筒や球面の表面上に各画像をつなぎ合わせることで3D表示により視点を自由に変えて表示することも可能です。

画像:典型的なパノラマ画像

パノラマ画像の作成のように、お互いに重なる部分のある複数の画像を入力とし、それらをお互いの間でのカメラの移動量を計算して、その移動量を元に1つの座標系(平面や球面など)上にパノラマとして合成することを、コンピュータビジョンでは「画像の張り合わせ(Image Stitching:イメージスティッチング)」と呼びます。

いま紹介したAutoStichはカナダのブリティッシュ・コロンビア大学の研究の成果をもとに研究チームが自ら公開したアプリケーションです。以下の公式サイトにパノラマ処理の簡単な説明が論文中と同じ画像で説明されています。

AutoStitch : a new dimension in automatic image stitching

このAutoStitchで使われているパノラマ技術に対応する論文は、リンク先最下部のPublicationsにPDFでアップロードされてあります。このあと紹介するパノラマ画像生成の処理は、このAutoStich(および論文)により提案された仕組みが基本的なところを形成しています。

以下の図では、このサイト・論文の画像を元に57枚の入力画像がどのように位置合わせされたあと変形・移動・合成して、一枚のパノラマに合成される流れを示しました。