[連載] プロジェクションマッピング技術の変遷 #4「色補償」岩井大輔

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

 連載「プロジェクションマッピング技術の変遷」、今回は、色補償についてご紹介します。プロジェクションマッピングでは、身の回りの多様な実物を投影の対象とします。前回は、平面に限らず様々な形状をした投影対象上に、所望の映像を歪みなく表示する幾何補正技術をご紹介しました。一方、投影対象の多様性は形状だけにとどまりません。私達を取り囲む現実空間は、様々な模様のある面で埋め尽くされており、プレゼンテーション等で利用される通常のプロジェクションスクリーンのような単一白色な面はむしろまれです。このような面へのプロジェクションマッピングでは、その模様が投影映像に混ざってしまうため、画質の劣化は避けられません(図1)。今回ご紹介する色補償は、投影対象面の模様を視覚的にキャンセルすることでこのような問題を解決する技術です。実装の容易な簡易手法から、より精度高く補償可能な最新の手法までを解説します。

図1:模様のある対象面(左)への投影結果(右上)と色補償結果(右下)([1]より)

 なお、前回の最後に「次回は、対象が動く場合の幾何補正技術についてご紹介する予定です」と書いていましたが、予告と異なる内容となってしまい申し訳ありません。動的対象に対する幾何補正については、次回以降に機会を見つけてご紹介したいと思います。

1 準備

 ここではまず、色補償手法全てに共通する前提および技術的背景について述べます。最初に、面の模様について考えます。模様があるというのは、面上の反射特性が空間的に一様ではないことを意味します。例えば、面上で反射率の高い箇所と低い箇所が交互に繰り返されると、一様な照明下では明暗の縞模様になります(図2)。反射率の高いところと低いところに同じ照度の光を投影すると、前者よりも後者の方の反射光の輝度は低くなるため、投影映像に縞模様が混ざってしまいます。そこで、反射率の高い箇所への投影照度を低くする/反射率の低い箇所への投影照度を高くすることが、模様を視覚的にキャンセルする色補償の基本戦略となります(図2)。


図2:色補償投影概念図

 このように、対象面の各箇所で適切な投影照度を計算する必要がありますので、プロジェクタの画素毎に独立に色補償処理を行うことになります。このため、プロジェクタの各画素が対象面のどこに照射しているのか、その対応を知る必要があります。そこで、対象面を撮影するカメラを用意してプロカム系を構成し、前回(第3回目)にご紹介した空間コード投影法を用いて対応を求めます。今回ご紹介する色補償では、このカメラで撮影される画像を、人が観察する見えと仮定します。また、対象面は拡散反射するものとし、プロジェクタ・カメラと対象面の位置姿勢関係は固定であり、環境照明も変動しないものと仮定します。以降では、これらの背景を踏まえ、代表的な色補償手法についてご説明していきます。

2 簡易手法


図3:プロジェクションマッピングにおける反射モデル

 これまでに提案されてきた色補償手法の中で、最も簡易なモデルを採用した手法[1]をご紹介します。このモデルは、以降で説明する、より複雑なモデルの基礎にもなります。一つのプロジェクタ画素に着目し、その画素が投影している対象面上の点の明るさを記述するモデルを図3に示します。プロジェクタに入力する画素値(一般的に0〜255ですが、正規化して0〜1とします)を\(p%0\)、プロジェクタから対象面までの距離や入射角による減衰を考慮した減衰項を\(f%0\)、対象点での環境光の照度を\(e%0\)、対象点の反射率を\(r%0\)とします。このとき、カメラで観察される明るさ\(c%0\)は、対象点に照射される照度にその反射率をかけたものになりますので、

\(c=frp+er%0\)… (1)

と表すことができます。先に述べたように、プロジェクタと環境は変化しないという前提においては、プロジェクタと対象面との位置姿勢関係によって決まる\(f%0\)、反射率\(r%0\)および環境光の明るさ\(e%0\)は、定数とみなすことができます。これら定数の値は、以下のようにして較正できます。まず、プロジェクタに0(つまり黒色)を入力して観測した明るさの値が、\(er%0\)となります。\(er%0\)には、環境光だけでなく、プロジェクタに0を入力したときでもレンズから漏れ出てしまうブラックオフセットも含まれます。次に、プロジェクタに1(白色)を入力し、その観測値から先ほど求めた\(er%0\)を引くことで\(fr%0\)を求めることができます。今、表示したい明るさを\(c_t%0\)とすると、プロジェクタに入力すべき画素値\(p_t%0\)は、式(1)を変形した以下の式で求めることができます。

\(p_t=\frac{c_t-er}{fr}%00\)…(2)

この式をプロジェクタ画素毎に計算することで、空間的に一様ではない模様を視覚的にキャンセルするような投影画像を生成することができます。なお、RGBの3チャンネルで独立にこの式を解くことで、このモデルをカラーに拡張することができます。

 このモデルは、カメラとプロジェクタそれぞれの入出力特性が線形(リニア)であることが前提となっています。例えば、実空間中の2点をカメラで観測することを考えます。1点の輝度がもう1点の輝度の2倍である場合、対応するカメラ画素値も\(c%0\)と\(2c%0\)のように2倍となるような特性をもつカメラを用いる必要があります。また同様に、プロジェクタから環境中の2点を、\(p%0\)と\(2p%0\)の画素値で照射するとき、それらの照度が2倍となるようなプロジェクタを用いる必要があります。一般的に、映像を扱うデバイスの入出力特性は、ガンマ特性と呼ばれる非線形性を有しています。カメラについては、一眼レフカメラのような上位機種や産業用カメラには、ガンマ特性をオフにして入力特性を線形化できるものが存在します。一方、プロジェクタの既製品には、ガンマ特性をオフにできるものはほぼありません。このため、プロジェクタの出力特性については線形化を行う必要があります。具体的には、白色の対象面に、様々な画素値をプロジェクタに入力して投影し、その反射光の輝度を、入力特性が線形なカメラを用いて撮影します。これをRGB各チャンネルについて行います。入力画素値を横軸にしたグラフに撮影輝度値をプロットすると、そのプロジェクタのガンマ特性を確認することができます(図4)。このようにして取得した関係の逆テーブルを参照することで、プロジェクタの出力特性を線形化します。

図4:ガンマ特性を表すデータの例(概念図)

 図5の3行目に、この簡易手法を用いて色補償を行った結果を示します。色補償無しで目標画像をそのまま投影した場合(同図2行目)と比べて、投影対象の模様の影響が軽減されていることが確認できます。一方で、模様は完全にキャンセルできておらず、視認できてしまいます。このように、色補償の精度はそこまで高くありませんが、実装は容易ですので、まずはこちらの手法を試してみて、画質に満足しない場合はより複雑で高度な手法を用いることを検討する、という方略が良いのではないかと考えます。次章では、そのような、より複雑だが精度良く色補償できる技術を紹介します。

図5:色補償による投影結果の比較([3]より改変)

3 色変換行列手法

 上で述べた簡易手法の色補償精度を低下させている要因の一つに、プロジェクタのRGB各チャンネルとカメラの各チャンネルとが一対一に対応していない、ということが挙げられます。例えば、赤のみの光を投影すべく、プロジェクタに(R,G,B)=(1,0,0)を入力して、その投影光の反射をカメラで撮影することを考えます。このとき、その反射光はカメラのRチャンネルでのみ観測できるはずですが、実際はGBの2チャンネルでも観測できてしまいます。これは、図6に示すように、プロジェクタとカメラそれぞれの分光特性がブロードである(幅広い)ことによるものです。つまり、プロジェクタに(R,G,B)=(1,0,0)を入力しても、その投影光には緑そして青の帯域の成分を含んでいます。同様に、カメラのGチャンネル・Bチャンネルも、赤の帯域の光にも感度を持っています。2章で述べた簡易手法では、このような色のクロストークが生じてしまうにもかかわらず、RGB各チャンネル独立に色補償処理をしてしまっていたことが、色補償精度を低下させた原因でした。近年では、プロジェクタの光源としてLEDやレーザーといった狭帯域の光源が利用されつつありますが、カメラ、ひいては人の目の分光特性がブロードである以上、同じ問題が生じます。


図6:プロジェクタとカメラの分光特性の例

 この、色のクロストーク問題に対して、カラーマネジメント等における色空間の変換技術を利用した手法が提案されています[2]。この手法では、カメラ画素のRGB値、プロジェクタ画素のRGB値、そして環境光下での投影面のRGB値をそれぞれ、\(C=[c_r\ c_g\ c_b]^t,\ P=[p_r\ p_g\ p_b]^t,\ E=[e_r\ e_g\ e_b]^t%0\)とベクトルで表し、それらの関係を以下の式でモデル化しました。

\(C=FP+E%0\)… (3)

ここで\(F%0\)は3×3の行列で、色変換行列と呼びます。式(1)と比べつつ式(3)について理解を深めたいと思います。まず、式(3)のベクトル\(E%0\)は、式(1)の\(er%0\)に該当します。次に、式(3)の行列\(F%0\)の対角成分は、式(1)の\(fr%0\)に該当します。そして、式(1)にはない、\(F%0\)の非対角成分が、色のクロストークをモデル化しています。行列\(F%0\)とベクトル\(E%0\)の各パラメータ(合計12個)は、簡易手法と同様、プロジェクタから白色や黒色を投影したときの撮影された輝度情報から較正します。一度の色パターン投影・撮影で式(3)から3つの方程式が得られますので、色パターンを4つ投影することで、解析的にパラメータを求めることができます。過去の研究では、精度良く色補償するため、投影する色数を増やし、最小二乗法を用いてパラメータを求める例が多いです。多くの場合、RGB色空間の頂点(計8点)を使います。パラメータが求まれば、目標色を\(C_t%0\)としたときに、それを再現するプロジェクタ色\(P_t%0\)は、式(3)を変形して以下の式で求めることができます。

\(P_t=F^{-1}(C_t-E)%0\)

 図5の4行目に、この色変換手法を用いて色補償を行った結果を示します。簡易手法の結果(同図3行目)と比べて、投影対象の模様の影響がより軽減されていることが確認できます。一方、この手法を用いた場合でも模様は完全にキャンセルできていません。より精度良い色補償を実現するためには、実は、ここまでに述べてきた線形モデルでは限界があります。

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


残りの目次
4 非線形補間手法
5 ダイナミックレンジ制約の解消法

6 まとめ

 今回は、投影対象面に模様がある場合でも、それを視覚的にキャンセルしてプロジェクションマッピングの画質低下を抑える色補償技術についてご紹介しました。最近では、モデル関数をあらかじめ設定するのではなく、Deep Neural Networkを用いて非線形補間する手法も提案され、より精度の良い色補償が可能となりつつあります[6]。一方、これらの手法を用いても色補償できない場合も存在します。今回、拡散反射する対象面のみ考慮していましたが、鏡面反射成分を多く含むような対象面では、ここでご紹介した手法が正しく動作しないケースが多くあります。また、対象もしくはプロジェクタが動く場合や、環境照明が変化していくような場合では、これらの変化に適応して補償していく必要があります。このような、今回想定していなかったようなケースでも色補償する手法も提案されていますので、また機会がありましたらご紹介したいと思います。

参考文献

  1. O. Bimber, A. Emmerling, and T. Klemmer, “Embedded entertainment with smart projectors,” IEEE Computer, Vol. 38, No. 1, pp. 48-55, 2005.
  2. T. Yoshida, C. Horii, and K. Sato, “A Virtual Color Reconstruction System for Real Heritage with Light Projection,” In Proceedings of International Conference on Visual System and MultiMedia, pp.161-168, 2003.
  3. A. Grundhöfer and D. Iwai, “Robust, Error-Tolerant Photometric Projector Compensation,” IEEE Transactions on Image Processing, Vol. 24, No. 12, pp. 5086-5099, 2015.
  4. D. Wang, I. Sato, T. Okabe, and Y. Sato, “Radiometric Compensation in a Projector-Camera System Based Properties of Human Vision System,” In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition Workshops, 2005.
  5. A. Grundhöfer and O. Bimber, “Real-Time Adaptive Radiometric Compensation,” IEEE Transactions on Visualization and Computer Graphics, Vol. 14, No. 1, pp. 97-108, 2008.
  6. B. Huang and H. Ling, “End-to-end Projector Photometric Compensation,” In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, pp. 6810-6819, 2019.

#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 自動較正アプローチ
3 まとめ

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