[連載] プロジェクションマッピング技術の変遷 #3「幾何補正 (位置合わせ)」岩井大輔

執筆者:岩井 大輔 連載一覧

 連載「プロジェクションマッピング技術の変遷」ではこれまで、プロジェクションマッピング技術に関する総論的なお話が中心でしたが、今回より具体的なトピックを設定し、ご紹介していこうと思います。第3回目の今回は、ほぼあらゆるプロジェクションマッピングにおいて必要となる、幾何補正技術についてご紹介します。

 幾何補正とは、投影対象上の「所望の領域」に「所望の映像」を表示するための処理を指します。このように書くと一見、難解そうという印象を持たれるかもしれませんが、実は、私達がよく行っている作業も該当しています。それは、プレゼンテーションのためにスクリーンとプロジェクタを用意して、まず最初に行うこと、つまり、プロジェクタの位置・姿勢を調整して、投影領域をスクリーン上で矩形かつ望みのサイズにする作業のことです。プロジェクタに搭載されている台形補正機能を使えば、台形に歪んだ投影領域をソフトウェア的に矩形に調整することも可能です。このケースでは、「所望の領域」はスクリーン上の矩形であり、「所望の映像」はプレゼンテーションスライドということになります。

 スクリーンのような床に垂直な平面に投影する場合には、このように比較的単純な作業で幾何補正できます。一方、プロジェクションマッピングの多くのケースで想定されているような、曲面や複数の平面で構成される投影対象に、所望の映像を歪みなく表示する場合には、このような単純な方法では適切に幾何補正することはできません。つまり、投影対象の形状と投影コンテンツに依存して、適用すべき幾何補正は異なります。そこで、様々なケースに対して、どのような幾何補正アプローチを採るべきかをご紹介し、その背景にある原理についても簡単に解説したいと思います。

1 平面を対象とする場合の幾何補正

 幾何補正において最も単純なケースは、投影対象が平面の場合です。このとき、台形補正機能を用いることで簡単に幾何補正できるということは、先に述べたとおりです。しかしながら、台形補正が適切に働くのは、プロジェクタがスクリーンなどの対象平面に対し正対している状態から、ある一軸方向にだけ傾いている場合に限ります。これは例えば、机の上においたプロジェクタを少し上向きに傾けて設置するようなケースです。このとき、投影領域は台形に歪みますので、台形補正によってそれを矩形化することができます。

 一方、プロジェクタ設置の自由度を上げ、このプロジェクタをさらに左右方向に回転させると、対象平面上での投影領域は台形ではなくなります。この歪みを補正するためには、より高次の画像変形が必要となります。そこでここでは、平面を対象とする場合に、プロジェクタの位置・姿勢にかかわらず投影映像を矩形化する幾何補正技術 (ホモグラフィ変換) について紹介します (図1)。ホモグラフィ変換を用いた幾何補正の作業手順は次の通りです。

  1. 対象平面で投影したい矩形領域を決めます
  2. 指定した矩形領域を投影領域がカバーするようにプロジェクタを設置します
  3. 矩形のコーナー点と対応するプロジェクタ画素を見つけます (本質的にはコーナー点である必要はなく、4点の対応関係が得られれば良いです)
  4. 4点の対応関係を用いてホモグラフィ変換を行います

図1: ホモグラフィ変換

 ホモグラフィ変換とは、ある平面Aを射影変換を用いて別の平面aに変形する処理を指します。ここで平面A中のある点の座標をとし、平面a中の対応する(変換後の)点の座標をとします。すると、この2点の関係は次のように表すことができます。

右辺の3×3の行列はホモグラフィ行列と呼ばれ、この中の8つの未知パラメータを適切に求めることができれば、平面A (対象平面上の矩形領域) からa (矩形ではないプロジェクタ投影領域) への変換を行うことができます。この変換は、2つの式へと展開できます。つまり、の対応が4つあれば8つの式が展開できますので、8つの未知パラメータを求めることができます。上記の手順3で、4点の対応関係が必要と書いた理由がここにあります。ホモグラフィ変換によって、対象平面の矩形領域の各点に対応するプロジェクタ投影領域の点が求められるので、投影映像を矩形化することができます。

 このようにホモグラフィ変換による幾何補正で必要なのは、4点の対応のみなので、簡単な手作業で動かすことができます。このため簡易なプロジェクションマッピングアプリには、この原理をベースに動いているものが多くあります (例:Optoma Projection Mapper)。また、プロジェクタ内蔵の機能として搭載されている例もあります (例:Epsonフレームフィット機能)。

2 立体面を対象とする場合の幾何補正

 投影対象が立体面になると、幾何補正のための作業は複雑になります。しかしながらプロジェクションマッピングにおいて立体面を対象とするケースは多くあります。ここではまず、予め何らかの方法で対象面の形状が計測済みである場合を考えます。このケースでは、形状データをUnityUnreal Engineといった3DCG (3次元コンピュータグラフィクス) を作成するソフトで読み込んで、それらに映像を貼り付けることで投影コンテンツを作成するようなワークフローを想定しています。つまり、バーチャルな空間に現実空間と瓜二つのシーンを作成し、その面にプロジェクションマッピングで表現したい模様をつけます。このバーチャル空間から投影画像を生成して現実空間に投影します。

図2: 立体面を対象とする幾何補正の一般的な処理フロー

 投影画像は、現実空間のプロジェクタと同じ位置姿勢に設置したバーチャルなカメラでバーチャル空間を撮影することで生成します (図2)。このとき、プロジェクタの現実空間中での位置姿勢と、画角 (焦点距離) 等の情報が必要となるため較正が必要となります。なお、現実空間の「プロジェクタ」とバーチャル空間の「カメラ」とを同等に扱っていることに違和感のある方がいらっしゃるかもしれませんが、光学的に見ればプロジェクタとカメラはレンズを通る光の向きが逆なだけで、それ以外は同等なものです。つまり、外界の光がレンズを通って画像平面に結像するカメラと、画像平面から放出された光がレンズを通って外界で結像するプロジェクタとは、光学的に双対の関係にあります。このことから、現実空間でのプロジェクタの位置姿勢および画角等の較正には、カメラの較正技術を適用することができます。

図3: カメラの幾何モデル

 カメラ較正では、図3に示すように、現実空間中に規定された世界座標系に対して、カメラの光学中心を原点とするカメラ座標系の位置姿勢関係を表す外部パラメータ (回転行列、並進ベクトル) と、カメラの内部パラメータ (焦点距離、光学的中心、せん断パラメータ) を求めます。これらのパラメータを求めることで、以下の式によって、現実空間中の任意の3次元点 (世界座標系での位置) が、カメラ画像のどの画素 (カメラ画像座標系での位置) に写るのかを計算することができます。

多くの場合、これらにレンズ歪みも考慮したモデルが利用されます。詳細については他の専門文献をご参照ください[1]。以降、このモデルの「カメラ」を「プロジェクタ」に置き換えて説明を進めます。

全文を読むには、Seamless Supporter Program(月額10ドル)に参加する必要があります。詳細はこちらから。参加済みの方はこちらから


残りの目次
2.1 対象面形状が既知の場合の較正
2.2 対象面形状が未知の場合の較正
2.2.1 事前プロカム較正アプローチ
2.2.2 事前カメラ較正アプローチ
2.2.3 自動較正アプローチ 

3 まとめ

 今回は、対象が非平面であっても、歪みなく映像を投影するための幾何補正技術についてご紹介しました。プロジェクションマッピングの利用状況に関わらず、「対象の形状計測」と「プロジェクタ較正」の2点が達成できれば、幾何補正が可能となります。今回の記事が、読者の方々が歪みのないプロジェクションマッピングを実現する一助になりましたら幸いです。なお、今回は投影対象が静止していることを前提にしていました。次回は、対象が動く場合の幾何補正技術についてご紹介する予定です。

次回:#4「色補償」

参考文献

  1. 米谷竜, 斎藤英雄 (編著), “コンピュータビジョン―広がる要素技術と応用― ,” 未来へつなぐ デジタルシリーズ37, 共立出版, 2018.

#1「プロジェクションマッピング作品を通して見る技術課題」
1 建築物へのプロジェクションマッピング
2 インタラクティブなプロジェクションマッピング
3 動的プロジェクションマッピング
4 まとめ

#2「プロジェクションマッピングの多様なアプリケーション」
1 照明の知能化
1.1 リビング照明の知能化
1.2 作業空間の照明の知能化
2 表面質感の編集
3 まとめ

#3 「幾何補正 (位置合わせ)」
1 平面を対象とする場合の幾何補正
2 立体面を対象とする場合の幾何補正
2.1 対象面形状が既知の場合の較正
2.2 対象面形状が未知の場合の較正
2.2.1 事前プロカム較正アプローチ
2.2.2 事前カメラ較正アプローチ
2.2.3 自動較正アプローチ

#4「色補償」
1 準備
2 簡易手法
3 色変換行列手法
4 非線形補間手法
5 ダイナミックレンジ制約の解消法
6 まとめ

About

テクノロジー系の最新論文を紹介しているWebメディアです。山下が個人で運営し、執筆も連載除いて行なっています。yamashita.mailer(a)gmail.com

Seamlessをサポートできるプログラムも行なっています。

連載

ページ上部へ戻る