JP6383678B2 - リライティング画像生成装置、方法、及びプログラム - Google Patents

リライティング画像生成装置、方法、及びプログラム Download PDF

Info

Publication number
JP6383678B2
JP6383678B2 JP2015024609A JP2015024609A JP6383678B2 JP 6383678 B2 JP6383678 B2 JP 6383678B2 JP 2015024609 A JP2015024609 A JP 2015024609A JP 2015024609 A JP2015024609 A JP 2015024609A JP 6383678 B2 JP6383678 B2 JP 6383678B2
Authority
JP
Japan
Prior art keywords
image
illumination
orthogonal
camera
relighting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015024609A
Other languages
English (en)
Other versions
JP2016148737A (ja
Inventor
宮川 勲
勲 宮川
新井 啓之
啓之 新井
行信 谷口
行信 谷口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015024609A priority Critical patent/JP6383678B2/ja
Publication of JP2016148737A publication Critical patent/JP2016148737A/ja
Application granted granted Critical
Publication of JP6383678B2 publication Critical patent/JP6383678B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Transforming Electric Information Into Light Information (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Projection Apparatus (AREA)

Description

本発明は、リライティング画像生成装置、方法、及びプログラムに係り、特に、照明画像をプロジェクタから出力したときに得られるリライティング画像を生成するリライティング画像生成装置、方法、及びプログラムに関する。
プロジェクタは極めてフレキシブルな画像出力デバイスであり、投影仕様の範囲内であればパーソナルスペース、会議ホール、巨大パブリックビューイング、及びビルの壁面などに合わせて自由サイズの映像表示を提供する。プロジェクタを使って平面スクリーンではない任意の構造物(以下、被写体と称する)へ投影するとき、被写体の形状を事前に計測して、その形状に合わせて所定画像が空間歪みの無いように投影する技術は、プロジェクション・マッピング(projection mapping)として知られている。任意スケールの映像投影のメリットを活かしたプロジェクション・マッピングは、エンターテインメント志向のイベントやイルミネーションによる広告表示などに利用されている。
プロジェクション・マッピングでは、所定画像を正確に投影するために、目視確認と手動操作によって、画素単位での位置合わせが行われている。これに対して、プロジェクタ投影の状態をカメラによって把握し、所定画像を指定された位置に投影するために、プロジェクタ・カメラシステムが利用されている。プロジェクタ・カメラシステムは、プロジェクタとカメラが連動して、カメラからのフィードバック画像に応じて、プロジェクタから投影出力する画像を処理する。通常、平面なスクリーンにプロジェクション・マッピングする場合には、プロジェクタ画面上の点とカメラ画面上の点を、キャリブレーション作業で得た平面射影変換(plane-homography)を使い、スクリーン面を介して対応付ける。この対応関係を利用して、所定画像をスクリーン面の決められた場所に投影する。もし、空間構造に凹凸があったり曲がった構造である場合には、その空間構造を事前に把握しなければならない。
例えば、レーザ計測を利用して、被写体の空間構造、あるいは凹凸形状を得る方法が知られている(非特許文献1)。その形状に合わせて所定画像を幾何的に変形させて、平面スクリーンと同様の状態で指定個所に所定画像を投影する。あるいは、構造光(structured light)と呼ばれる幾何パターンをプロジェクタから投影し、カメラで観測した歪み画像から空間構造の凹凸形状あるいは奥行きを計測する方式も利用できる。このように、外界または被写体の空間構造をレーザ計測またはプロジェクタ・カメラシステムを利用して空間構造を把握し、その凹凸形状または奥行きに合わせて指定個所へ所定画像を投影する。
これに対して、外界の空間構造を計測せずに、ライト・トランスポートを利用したプロジェクション・マッピングが知られている(非特許文献2)。ライト・トランスポート(light transport)とは、プロジェクタ・カメラシステムを使ったとき、プロジェクタ照明の各画素とカメラ応答の各画素間の幾何的、光学的対応関係を表現したデータである。説明の都合上、プロジェクタから投影する画像のサイズをN×N画素、カメラで観測する画像のサイズをM×M画素とするが、縦横のサイズが同じサイズである必要はない。ライト・トランスポートを獲得するには、プロジェクタから何らかの照明パターンを投影して、カメラによりその応答を観測する。通常、図18に示すように、複数の照明パターン:P(1),P(2),...,P(L)が使われ、それに応じてカメラ応答:C(1),C(2),...,C(L)を得る。この例では、L種類の照明パターンが使われているが、ライト・トランスポートを獲得するときの条件として、それぞれ異なった照明パターンでなければならない。例えば、プロジェクタ画素の1点1点を単色光で順番に点灯させる。この方式は、brute-force scanning(以下、BFSと記載する。)と呼ばれており、全てのプロジェクタ画素と全てのカメラ画素間の直接反射光と間接反射光を計測することができる。各点光源の画像系列:P(1),P(2),...,P(L)と、そのカメラ応答の画像系列:C(1),C(2),...,C(L)を列ベクトル化して並べると、ライト・トランスポート行列(light transport matrix)と呼ばれるM×Nの行列T^が得られる。なお、文字の後ろに^がついている文字は行列又はベクトル表記を表すものとする。
また、臨場感の高い映像演出のためには、プロジェクション・マッピングのセットアップにおいて、実空間における被写体の照明状態を事前に把握する必要がある。このとき、映像演出の現場において、適宜、被写体に照明を投影してその状態をセンシングするのではなく、計算機シミュレーションによって、被写体の形状に応じてその照明状態をシミュレーションする。このシミュレーションはリライティング(relighting)として知られている。一般的に、ライト・トランスポートは、プロジェクタから放射する光が物体表面で反射した直接反射光、物体表面からそれ以外の表面で反射した間接反射光、並びに、これらの複数の反射光を含む多重反射光を扱うことができる。このため、ライト・トランスポート行列T^を利用すれば、全てのプロジェクタ画素と全てのカメラ画素間の対応付けに基づいた高精度なリライティングを可能とする(非特許文献2)。なお、以降では、ライト・トランスポートをLT、ライト・トランスポート行列をLT行列と略する。
J. Shimamuraand K. Arakawa:"Location-Aware Projection with Robust 3-D Viewing Point Detection and Fast Image Deformation", Proc. ACM International Conference on Multimedia,pp.296-299, 2004. P. Sen, B. Chen, G. Garg, S.R. Marschner, M. Horowitz, M. Levoy, and H.P.A. Lensch: "Dual Photography",ACM Transactions on Graphics, vol.23, no.3, pp.745-755, 2005.
実環境を反映した臨場感の高いリライティングのためには、直接反射光と間接反射光だけではなく、グローバル反射光を使う必要がある。グローバル反射光とは、いわゆる、照明をオフにしたときの環境光ではなく、被写体を照明したとき、その環境全体から照明される反射光である。プロジェクタ・カメラシステムを使った例を、図19に示す。図19左はプロジェクタからの照明をオフにして、蛍光灯の下で取得したカメラ画像である。図19右は蛍光灯をオフにして、図19左の枠で囲んだ部分にプロジェクタから白色照明を投影したときのカメラ画像である。BFSは原理的に点光源を使ってライト・トランスポートを獲得するため、カメラはその画面において局所的なインパルス性の強い応答を得る。図19右に示したように、グローバル反射光は被写体あるいは空間全体を大局的に照明して得られる反射光であるため、プロジェクタ・カメラシステムにおける光学的なパラメータ、カメラ設定(例:シャッタースピード、カメラの絞り)を調整したとしても、BFSはグローバル反射光に相当するライト・トランスポートを検出することは困難である。
本発明は、上記問題点を解決するために成されたものであり、照明画像をプロジェクタから出力したときに得られるリライティング画像を精度よく生成することができるリライティング画像生成装置、方法、及びプログラムを提供することを目的とする。
上記目的を達成するために、第1の発明に係るリライティング画像生成装置は、各々が異なる複数の直交行列P^に基づいて、前記直交行列P^毎に、前記直交行列P^を用いて、プロジェクタから出力するための正照明画像及び負照明画像を生成する直交照明生成部と、前記プロジェクタから、前記直交行列P^毎に生成された正照明画像及び負照明画像の各々を出力させ、前記出力された正照明画像又は負照明画像をカメラにより撮影するように制御する同期制御部と、前記複数の直交行列P^に対する正照明画像及び負照明画像の各々に対して、前記カメラにより撮影した観測画像から、予め定められた閾値よりも大きい輝度値を有する画素をカメラ応答の画素として検出して応答画像を生成するカメラ応答観測部と、前記複数の直交行列P^の各々について、前記直交行列P^を表す列ベクトルと、与えられた照明画像を表す列ベクトルとの内積を計算する照明成分解析部と、前記複数の直交行列P^の各々についての、前記カメラ応答観測部によって生成された、前記直交行列P^に対応する正照明画像及び負照明画像の各々に対する応答画像の差分と、前記照明成分解析部によって前記直交行列P^kについて計算された前記内積とに基づいて、リライティング画像を生成するリライティング画像生成部と、を含んで構成されている。
また、第1の発明に係るリライティング画像生成装置において、前記照明成分解析部は、前記与えられた照明画像を、複数の色成分に分離し、前記複数の色成分毎に、前記複数の直交行列P^の各々について、前記直交行列P^を表す列ベクトルと、前記色成分の照明画像を表す列ベクトルとの内積を計算し、前記リライティング画像生成部は、前記複数の色成分毎に、前記複数の直交行列P^の各々についての、前記カメラ応答観測部によって生成された、前記直交行列P^に対応する正照明画像及び負照明画像の各々に対する前記色成分の応答画像の差分と、前記照明成分解析部によって前記直交行列P^について計算された前記色成分の前記内積とに基づいて、前記色成分のリライティング画像を生成するようにしてもよい。
また、第1の発明に係るリライティング画像生成装置において、前記直交照明生成部は、複数の色成分αの各々に対し、前記複数の直交行列P^に基づいて、前記直交行列P^毎に、前記色成分αの正照明画像及び負照明画像を生成し、前記カメラ応答観測部は、前記複数の色成分α及び前記複数の直交行列P^の組み合わせに対する正照明画像及び負照明画像の各々に対して、前記カメラにより撮影した観測画像から、前記複数の色成分β毎に、前記カメラ応答の画素を検出して前記色成分βの応答画像を生成し、前記照明成分解析部は、前記与えられた照明画像を、複数の色成分βに分離し、前記複数の色成分β毎に、前記複数の直交行列P^の各々について、前記直交行列P^を表す列ベクトルと、前記色成分βの照明画像を表す列ベクトルとの内積を計算し、前記リライティング画像生成部は、前記複数の色成分α毎に、前記複数の直交行列P^の各々に対して、前記カメラ応答観測部によって生成された、前記色成分α及び前記直交行列P^の組み合わせに対応する正照明画像及び負照明画像の各々に対する前記色成分βの各々の応答画像の差分と、前記照明成分解析部によって前記直交行列P^について計算された前記色成分βの各々の前記内積とに基づいて、前記色成分βのリライティング画像を生成するようにしてもよい。
また、第1の発明に係るリライティング画像生成装置において、出力するプロジェクタを、複数のプロジェクタのうちの何れかに切り替える切替部を更に含み、前記直交照明生成部は、前記切替部によって切り換えられたプロジェクタから出力するための前記正照明画像及び負照明画像を生成し、前記同期制御部は、前記切替部によって切り替えられたプロジェクタから正照明画像又は負照明画像を出力させ、前記出力された正照明画像又は負照明画像をカメラにより撮影するように制御し、前記リライティング画像生成部は、前記切替部によって切り換えられたプロジェクタについて、前記リライティング画像を生成するようにしてもよい。
第2の発明に係るリライティング画像生成方法は、直交照明生成部と、同期制御部と、カメラ応答観測部と、照明成分解析部と、リライティング画像生成部とを含むリライティング画像生成装置においけるリライティング画像生成方法であって、前記直交照明生成部が、各々が異なる複数の直交行列P^に基づいて、前記直交行列P^毎に、前記直交行列P^を用いて、プロジェクタから出力するための正照明画像及び負照明画像を生成するステップと、前記同期制御部が、前記プロジェクタから、前記直交行列P^毎に生成された正照明画像及び負照明画像の各々を出力させ、前記出力された正照明画像又は負照明画像をカメラにより撮影するように制御するステップと、前記カメラ応答観測部が、前記複数の直交行列P^に対する正照明画像及び負照明画像の各々に対して、前記カメラにより撮影した観測画像から、予め定められた閾値よりも大きい輝度値を有する画素をカメラ応答の画素として検出して応答画像を生成するステップと、前記照明成分解析部が、前記複数の直交行列P^の各々について、前記直交行列P^を表す列ベクトルと、与えられた照明画像を表す列ベクトルとの内積を計算するステップと、前記リライティング画像生成部が、前記複数の直交行列P^の各々についての、前記カメラ応答観測部によって生成された、前記直交行列P^に対応する正照明画像及び負照明画像の各々に対する応答画像の差分と、前記照明成分解析部によって前記直交行列P^について計算された前記内積とに基づいて、リライティング画像を生成するステップと、を含んで実行することを特徴とする。
また、第2の発明に係るリライティング画像生成方法において、前記照明成分解析部が計算するステップは、前記与えられた照明画像を、複数の色成分に分離し、前記複数の色成分毎に、前記複数の直交行列P^の各々について、前記直交行列P^を表す列ベクトルと、前記色成分の照明画像を表す列ベクトルとの内積を計算し、前記リライティング画像生成部が生成するステップは、前記複数の色成分毎に、前記複数の直交行列P^の各々についての、前記カメラ応答観測部によって生成された、前記直交行列P^に対応する正照明画像及び負照明画像の各々に対する前記色成分の応答画像の差分と、前記照明成分解析部によって前記直交行列P^について計算された前記色成分の前記内積とに基づいて、前記色成分のリライティング画像を生成するようにしてもよい。
また、第2の発明に係るリライティング画像生成方法において、前記直交照明生成部が生成するステップは、複数の色成分αの各々に対し、前記複数の直交行列P^に基づいて、前記直交行列P^毎に、前記色成分αの正照明画像及び負照明画像を生成し、前記カメラ応答観測部が生成するステップは、前記複数の色成分α及び前記複数の直交行列P^の組み合わせに対する正照明画像及び負照明画像の各々に対して、前記カメラにより撮影した観測画像から、前記複数の色成分β毎に、前記カメラ応答の画素を検出して前記色成分βの応答画像を生成し、前記照明成分解析部が計算するステップは、前記与えられた照明画像を、複数の色成分βに分離し、前記複数の色成分β毎に、前記複数の直交行列P^の各々について、前記直交行列P^を表す列ベクトルと、前記色成分βの照明画像を表す列ベクトルとの内積を計算し、前記リライティング画像生成部が生成するステップは、前記複数の色成分α毎に、前記複数の直交行列P^の各々に対して、前記カメラ応答観測部によって生成された、前記色成分α及び前記直交行列P^の組み合わせに対応する正照明画像及び負照明画像の各々に対する前記色成分βの各々の応答画像の差分と、前記照明成分解析部によって前記直交行列P^について計算された前記色成分βの各々の前記内積とに基づいて、前記色成分βのリライティング画像を生成するようにしてもよい。
また、第3の発明に係るプログラムは、コンピュータを、上記第1の発明に係るリライティング画像生成装置を構成する各部として機能させるためのプログラムである。
本発明のリライティング画像生成装置、方法、及びプログラムによれば、各々が異なる複数の直交行列P^に基づいて、直交行列P^毎に、正照明画像及び負照明画像を生成し、プロジェクタから、正照明画像及び負照明画像の各々を出力させ、出力された正照明画像又は負照明画像をカメラにより撮影するように制御し、直交行列P^に対する正照明画像及び負照明画像の各々に対して、カメラにより撮影した観測画像から、予め定められた閾値よりも大きい輝度値を有する画素をカメラ応答の画素として検出して応答画像を生成し、直交行列P^の各々について、直交行列P^を表す列ベクトルと、与えられた照明画像を表す列ベクトルとの内積を計算し、直交行列P^の各々についての、正照明画像及び負照明画像の各々に対する応答画像の差分と、計算された内積とに基づいて、リライティング画像を生成することにより、照明画像をプロジェクタから出力したときに得られるリライティング画像を精度よく生成することができる、という効果が得られる。
本発明の第1の実施の形態に係るリライティング画像生成装置の構成を示すブロック図である。 行列P^の例を示す概念図である。 直交行列P^k+の1要素から照明画像の画素への割り当ての例を示す概念図である。 行列要素を、走査により縦方向に並べ替えて列ベクトルを得る例を示す概念図である。 本発明の第1の実施の形態に係るリライティング画像生成装置における同期制御処理ルーチンを示すフローチャートである。 本発明の第1の実施の形態に係るリライティング画像生成装置における直交照明生成処理ルーチンを示すフローチャートである。 本発明の第1の実施の形態に係るリライティング画像生成装置における直交行列算出処理ルーチンを示すフローチャートである。 本発明の第1の実施の形態に係るリライティング画像生成装置におけるカメラ応答観測処理ルーチンを示すフローチャートである。 本発明の第1の実施の形態に係るリライティング画像生成装置における照明成分解析処理ルーチンを示すフローチャートである。 本発明の第1の実施の形態に係るリライティング画像生成装置におけるリライティング画像生成処理ルーチンを示すフローチャートである。 本発明の第2の実施の形態に係るリライティング画像生成装置の構成を示すブロック図である。 M×M画素領域を、走査により画素の並びを縦方向に並べ替えて、列ベクトルを得る例を示す概念図である。 本発明の第2の実施の形態に係るリライティング画像生成装置における同期制御処理ルーチンを示すフローチャートである。 本発明の第2の実施の形態に係るリライティング画像生成装置における直交照明生成処理ルーチンを示すフローチャートである。 本発明の第2の実施の形態に係るリライティング画像生成装置におけるカメラ応答観測処理ルーチンを示すフローチャートである。 本発明の第3の実施の形態に係るリライティング画像生成装置の構成を示すブロック図である。 本発明の第4の実施の形態に係るリライティング画像生成装置の構成を示すブロック図である。 未公正なプロジェクタ・カメラシステム(単色照明)を使ったLT行列の測定例を示す概念図である。 グローバル反射光を捉えた例を示す概念図である。 未公正なプロジェクタ・カメラシステム(カラー照明)を使ったLT行列の測定例を示す概念図である。
以下、図面を参照して本発明の実施の形態を詳細に説明する。
<本発明の第1の実施の形態に係るリライティング画像生成装置の構成>
まず、本発明の第1の実施の形態に係るリライティング画像生成装置の構成について説明する。図1に示すように、リライティング画像生成装置100は、カメラ10と、プロジェクタ12と、演算部20と、出力部90と、を含んで構成されている。なお、第1の実施の形態においては、1台のプロジェクタと1台のカメラのプロジェクタ・カメラシステムを用いる。
カメラ10は、プロジェクタ12により投影された正照明画像及び負照明画像を観測し、明るさを示す濃淡画像を取得し、カメラ応答観測部26に出力する。なお、第1の実施の形態においては、プロジェクタ12から出力する単色照明として、例えば、白色照明を用いる。
プロジェクタ12は、単色照明を用いて、直交照明生成部24による出力指示に従って被写体を投影する。
演算部20は、同期制御部22と、直交照明生成部24と、カメラ応答観測部26と、照明成分解析部28と、リライティング画像生成部30と、画像データベース40とを含んで構成されている。
同期制御部22は、フレーム番号毎に、プロジェクタ12から、後述する直交照明生成部24により直交行列P^毎に生成された正照明画像又は負照明画像を出力させ、出力された正照明画像又は負照明画像をカメラ10により撮影するように制御する。具体的には、まず、プロジェクタ12から投影される特定の照明パターンを表すフレーム番号fをf=1に初期化する。次に、カメラ応答観測部26からの応答信号を待ち、当該応答信号を受信すると、直交照明生成部24と、カメラ応答観測部26とへフレーム番号fを送出する。フレーム番号fを送出することにより、同じフレーム番号においてプロジェクタ12からの照明と、カメラ10の観測との同期をとる。次に、フレーム番号fをf=f+1とカウントアップし、再び、カメラ応答観測部26からの応答信号を待つ。以降、プロジェクタ12からの照明とカメラ10における観測とをフレーム番号fで同期をとりながら、上述の処理と同様にフレーム番号fを直交照明生成部24と、カメラ応答観測部26とへの送出を繰り返す。そして、フレーム番号fの値が、直交照明生成部24において投影する全ての照明パターンの数の値2Lとなるフレーム番号fを直交照明生成部24とカメラ応答観測部26とに送出した時点で、同期制御部22は、上述の繰り返し処理を停止する。
直交照明生成部24は、各々が異なる複数の直交行列P^を生成し、生成した複数の直交行列P^に基づいて、直交行列P^毎に、直交行列P^を用いて、プロジェクタ12から出力するための正照明画像及び負照明画像を生成する。
直交照明生成部24は、具体的には、以下に説明するように、直交行列P^を生成する第1の処理、及び正照明画像及び負照明画像を生成する第2の処理を行う。
まず、プロジェクタ照明で投影する範囲を、N×N画素と設定する。説明の便宜上、プロジェクタ画素領域をN×N画素とするが、縦横の画素数は任意に設定できる。次に、パラメータnが設定される。パラメータnはプロジェクタサイズのNに応じて設定すればよいが、任意の数を設定すればよい。そして、パラメータnが設定された後、直交照明生成部24は、第1の処理において、アダマール行列H^を、
の計算により求める。行列H^,(n≧1)は縦横2サイズの対称行列である。続いて、行列H^の各列ベクトルについて、1から−1、あるいは−1から1へ符号が反転したときの回数をカウントする。符号反転の回数に応じて、左から右へ列ベクトルを並べなおし、以下(2)式の行列W^を得る。
(2)式では、左から右へ符号反転の回数が1ずつ増加するように列ベクトルが並べられる。列ベクトルh^の符号反転数は0回(全ての要素が1であるため)、列ベクトルh^の符号反転数がL−1回(最も反転回数が多い)となる。続いて、カウンタiをi=1に初期化して、行列W^の第i番目の列ベクトルh^を取り出す。次に、もう一つのカウンタjを用意して、j=1に初期化する。カウンタjが設定されると、行列W^の第j番目の列ベクトルh^を取り出す。次に、列ベクトルh^と列ベクトルh^から、以下(3)式の行列積によってL×Lサイズの行列P^
を得る。ただし、列ベクトルの肩の添え字Tは転置を表す。図2にn=2の場合の行列P^の例を示す。白は行列要素1に、黒は行列要素−1に対応する。行列P^の任意の列ベクトルは直交系を構成し、本実施の形態では直交行列と呼ぶ。行列P^はプロジェクタ12から実際に投影するときの照明画像とリライティング画像生成部30の処理に利用されるため、行列P^を算出するたびに画像データベース40に保存する。なお、直交照明生成部24において算出せずに、予め算出しておいた行列P^を画像データベース40に格納しておいてもよい。
さらに、カウンタjをj=j+1とカウントアップする。次に、行列W^の第j番目の列ベクトルh^を取り出し、上記(3)式の行列積によって直交行列P^を算出する。この処理をj>Lになるまで続ける。そして、カウンタjがj=Lとなったとき直交行列P^を保存した後、カウンタiをi=i+1とカウントアップし、かつ、カウンタjをj=1に初期化して、同様の処理を繰り返す。最終的に、i>Lになるまで直交行列P^を生成し、そのデータを画像データベース40に保存する。以上の第1の処理によって、直交行列はP^から
までのL種類の行列が生成される。ここで、直交行列P^,k=1,2,・・・,Lは1または−1の要素から成り立っている。
次に、直交照明生成部24の第2の処理について説明する。第2の処理では、直交行列P^に基づいて、直交行列P^の正の値をもつ要素から正照明画像を、直交行列P^の負の値をもつ要素から負照明画像を生成する。上記L種類の直交行列P^が得られているため、合計2L種類の照明画像(正照明画像又は負照明画像)を生成する。また、第2の処理が、同期制御部22からのフレーム番号で制御される。具体的には、同期制御部22からフレーム番号fを受信すると、その値が偶数または奇数を判定する。フレーム番号fが奇数のとき直交行列P^の正の要素から正照明画像を生成し、フレーム番号fが偶数のとき直交行列P^の負の要素から負照明画像を生成する。
以下、フレーム番号fが奇数の場合とフレーム番号fが偶数の場合について説明する。
直交照明生成部24の第2の処理において、判定されたフレーム番号fが奇数の場合は、k=(f+1)/2によりカウンタkを設定し、フレーム番号fが偶数の場合はk=f/2によりカウンタkを設定する。カウンタkが設定されると、直交行列P^を取り出す。フレーム番号fが奇数と判定されているならば、直交行列P^から、以下(4)式に従って、要素−1を0に置き換えて、要素が1又は0からなる行列P^k+を算出する。
ここで、|P^|はP^の各要素の絶対値をとることを表す。(4)式で得た行列P^k+から正照明画像を生成する。説明の都合上、照明画像に使う画素数をN×N=2×2(mは正の整数)とする。直交行列P^k+の1要素を照明画像の画素に割り当てる。図3に、直交行列P^k+の1要素から照明画像の画素への割り当ての例を示す。直交行列P^k+の要素を左から右へ下から上へ走査して、各要素の値を2×2(pは正の整数であり、m=n+pとする)画素へコピーする。要素1の場合は照明画像の画素値にはR=G=B=255を代入し、要素0の場合は照明画像の画素値にはR=G=B=0を代入する。理想的には、p=0と設定してもよいが、照明が微弱なために十分なカメラ応答が得られない場合がある。そのような状況を考慮して、例えば、p=2に設定する。一般的には、pは使用するプロジェクタ、カメラ、あるいは環境に依存するため、システムパラメータとして事前テストにより十分なカメラ応答が得られる範囲で設定値pを決定してもよい。正照明画像を生成するとプロジェクタ12から出力し、カメラ10で画像を取得する。
一方、直交照明生成部24の第2の処理において、判定されたフレーム番号fが偶数の場合は、負照明画像を生成する。負照明画像は、直交行列P^から、以下(5)式に従って、要素1を0に置き換えて、要素−1を要素1に反転した行列P^k−を算出する。
以降、正照明画像を生成したときと同様に、直交行列P^の1要素の値を2×2画素へコピーする。要素1に対応する画素値にはR=G=B=255を代入し、要素0に対応する画素値にはR=G=B=0を代入する。あるいは、正照明行列P^k+の0と1の要素を1と0に反転すると負照明行列P^k−になるため、正照明画像を反転して負照明画像を生成してもよい。負照明画像を生成するとプロジェクタ12から出力する。このように、同期制御部22からのフレーム番号を受信するたびに、直交行列をから正照明画像又は負照明画像を生成する。全ての直交行列から生成した照明画像をプロジェクタ12から投影し終わるまで繰り返す。このように、以上の第2の処理によって生成された、正照明画像及び負照明画像のペアが順番にプロジェクタ12から投影される。
カメラ応答観測部26は、プロジェクタ12から投影された複数の直交行列P^に対する正照明画像及び負照明画像の各々に対して、カメラ10により撮影した観測画像から、予め定められた閾値よりも大きい輝度値を有する画素をカメラ応答の画素として検出して応答画像を生成する。
具体的には、まず、観測範囲が設定される。第1の実施の形態においては、カメラ10において観測された画像全体を処理対象とせず、当該設定により指定された範囲のカメラ応答を検出するように設定される。例えば、画像内でのM×M(本実施の形態では、1,000×1,000とするが、縦横サイズは任意に設定しても構わない)画素の範囲が設定される。また、カメラ応答を検出するための閾値が設定される。当該閾値は、カメラ応答を検出する範囲の画素の各々について用いられ、当該閾値以上の輝度値である画素がカメラ応答として検出される。
そして、カメラ応答観測部26は、同期制御部22からフレーム番号fを受信すると、カメラ10が正照明画像又は負照明画像の照明に対する画像を取得することができる状態かのチェックを行い、撮影可能状態ならばカメラ10から観測画像を取得する。次に、画像データベース40に記憶されているプロジェクタ12によるプロジェクタ照明を投影していない状態の観測画像である背景画像を取得し、観測画像と背景画像との背景差分を処理する。当該背景差分において、蛍光灯などの環境光の下では画像雑音が多く混入するため、設定した閾値として例えば10階調に設定しておき、当該値よりも大きい画素の各々をカメラ応答の画素として検出する。続いて、検出されたカメラ応答を含むM×M画素を応答画像として画像データベース40に保存する。そして、カメラ10による次のカメラ観測に備えて、同期制御部22へ応答信号を送信し、フレーム番号を受信するまで待機する。以上の処理を繰り返し、全ての正照明画像及び負照明画像の各々についての応答画像を画像データベース40に記憶した時点で終了する。なお、初回に、カメラ観測を行う場合には、カメラ応答観測部26から応答信号を同期制御部22へ送信する。また、観測画像と同じサイズの応答画像を、画像データベース40に保存するようにしてもよい。
照明成分解析部28は、与えられた照明画像を、複数の色成分に分離し、複数の色成分毎に、複数の直交行列P^の各々について、直交行列と、色成分の照明画像を表す列ベクトルとの内積を計算する。
照明成分解析部28は、具体的には、以下に説明する第1の処理によって、直交行列P^を表す列ベクトルの各々からなる行列P^を用意し、第2の処理によって、行列P^の列ベクトルと、与えられた任意の照明画像の色成分毎の列ベクトルの内積とを計算することにより、照明成分の解析を行う。以下、第1の処理について説明する。第1の処理では、まず、カウンタkを初期化してk=1と与える。カウンタkに従って、画像データベース40に記憶されている直交行列P^,k=1,2,・・・,Lを取り出す。この直交行列P^について、図4に示すように、左から右へ下から上へ走査し、右端まで走査した後は1つ行を上げてまた左端に戻り、同様に左から右へ走査する。この走査により行列要素を縦方向に並べ替えた列ベクトルを得る。その列ベクトルを正規化(ベクトルの大きさを1とする)し、行列P^の第k番目の列に格納する。図4では、x=Lと置換している。以上の処理をk=Lになるまで続け、正規直交ベクトルP^,P^,・・・,P^を列ベクトルにもつ行列P^を用意する。
また、リライティングに使う照明画像が設定される。照明成分解析部28は、次に、第2の処理を行う。第2の処理では、まず、設定された照明画像を成分分離して、赤色成分の画像、緑色成分の画像、及び青色成分の画像に分ける。各色の画像を列ベクトル化し、赤照明ベクトルをP^、緑照明ベクトルをP^、青照明ベクトルをP^とする。それぞれのベクトルを正規化して単位ベクトルにする。次に、行列P^の列と行を入れ替えた転置行列P^を使って、以下(6)〜(8)式の計算により、
赤照明ベクトルP^との内積[r,r,・・・,r、緑照明ベクトルP^との内積[g,g,・・・,g、及び青照明ベクトルP^との内積[b1,b2,・・・,bを得る。得られた色成分毎の内積の値(r,g,b),k=1,2,・・・,Lは、リライティング画像生成部30で使うため一時的に画像データベース40に保存される。以上の第2の処理により、行列P^の各列ベクトルと各照明ベクトルとの内積を計算することで、リライティング画像の生成に必要な成分を得る。
画像データベース40は、直交照明生成部24で生成されたフレーム番号fの各々に対応した直交行列P^と、カメラ応答観測部26で生成されたフレーム番号fの各々に対応した応答画像と、照明成分解析部28で計算された色成分毎の内積の値とが記憶されている。
リライティング画像生成部30は、照明成分解析部28で分けられた複数の色成分毎に、複数の直交行列P^の各々についての、カメラ応答観測部26によって生成された、直交行列P^に対応する正照明画像及び負照明画像の各々に対する当該色成分の応答画像の差分と、照明成分解析部28によって直交行列P^について計算された当該色成分の内積とに基づいて、当該色成分のリライティング画像を生成する。
ここで、リライティング画像生成部30におけるリライティング画像の生成の原理について説明する。白色照明の直交照明を使ってカメラ10により撮影された応答画像が保存されている場合、照明画像をプロジェクタから出力したときに得られるシミュレーション結果を表す各色成分のリライティング画像C^、C^、C^は以下(9)〜(11)式に従って計算される。
ここで、k番目の正照明画像に対する応答画像C^k+の赤、緑、及び青成分の画像をそれぞれr^k+、g^k+、及びb^k+とし、負照明画像に対する応答画像C^k−の赤、緑、及び青成分の画像をそれぞれr^k−、g^k−、b^k−とする。すると、(9)〜(11)式におけるC^rk、C^gk、C^bkは、それぞれ以下(12)〜(14)式により得られる。
なお、プロジェクタ12から出力した正照明画像及び負照明画像以外の環境光の成分画像をそれぞれF^、F^、F^として、カメラ応答観測部26で得られた背景画像が環境光成分に該当する。例えば、上記(9)〜(11)式において、内積値q(qはr、g、又はbのいずれかを表す)がほぼ0の場合、式(9)から式(11)の計算には全く寄与しないことになるので、内積値qと応答画像C^qkをこのリライティング計算から除外してもよい。
以上の原理に従って、本実施の形態では、リライティング画像生成部30は、以下の処理を行う。
まず、閾値が設定される(赤、緑、及び青成分ごとに閾値を変更することもできる)。閾値は照明成分解析部28で算出した各内積値において有効な成分のみを抽出するために設定するパラメータであり、通常はγ=0.001以下に設定される。次に、リライティング画像生成部30は、色成分β毎に、kの順番に色成分βの内積値q(画像データベース40に記憶されている色成分βの内積値(β=rであればr,β=gであればg,β=bであればb))を読み込む。q<γの場合はその係数を0と判断して、応答画像C^におけるq^k+及びq^k−を読み込まずに、内積値qを破棄する。q≧γの場合は応答画像C^におけるqk+及びqk−を画像データベース40から読み込み、上記(12)〜(14)式に従って、応答差分C^qkを計算する。以上の処理を全てのkについて行い、上記(9)〜(11)式に従ってリライティング画像を計算する。そして、計算されたリライティング画像の各成分である赤画像C^、緑画像C^g、及び青画像C^を、それぞれの画像フォーマットで出力部90により出力あるいは表示をする。以上の処理によって、図18に示した状況において、未校正なプロジェクタ・カメラシステムを使って未知の被写体にプロジェクタからの直交照明を投影したとき、それぞれのカメラ応答画像を使って、任意の照明に対するリライティング画像を効率的に生成することができる。
<本発明の実施の第1の形態に係るリライティング画像生成装置の作用>
次に、本発明の第1の実施の形態に係るリライティング画像生成装置100の作用について説明する。まず、同期制御処理ルーチンについて説明する。
図5に示す、ステップS100では、フレーム番号fの値を1に初期化する。
次に、ステップS102では、カメラ応答観測部26から応答信号を受信したか否かを判定する。応答信号を受信した場合には、ステップS104へ移行し、応答信号を受信しない場合には、ステップS102の処理を繰り返す。
ステップS104では、ステップS100又はステップS108において取得したフレーム番号fを直交照明生成部24及びカメラ応答観測部26に送出する。
ステップS106では、フレーム番号fの値が2Lの値か否かを判定する。フレーム番号fの値が2Lである場合には、同期制御処理ルーチンを終了し、フレーム番号fの値が2Lよりも小さい場合には、ステップS108へ移行する。
ステップS108では、フレーム番号fの値に1を加えた値をフレーム番号fの値として設定し、ステップS102へ移行して、ステップS102〜ステップS106の処理を繰り返す。
次に、図6に示す、直交照明生成処理ルーチンについて説明する。
まず、ステップS200では、プロジェクタ照明で投影する照明対象領域をN×N画素と設定する。
次に、ステップS202では、上記(3)式の行列積によって直交行列H^を算出する。
次に、ステップS204では、同期制御部22からフレーム番号fを受信したか否かを判定する。フレーム番号fを受信した場合には、フレーム番号fを取得してステップS206へ移行し、フレーム番号fを受信していない場合には、ステップS204の処理を繰り返す。
次に、ステップS206では、ステップS204において取得したフレーム番号fの値が偶数であるか奇数であるかを判定する。フレーム番号fが奇数である場合には、ステップS208へ移行し、フレーム番号fが偶数である場合には、ステップS214へ移行する。
次に、ステップS208では、ステップS204において取得したフレーム番号fに対応するk=(f+1)/2を算出して、カウンタkを設定する。
ステップS210では、ステップS208において設定したカウンタkの値に基づいて、直交行列P^を取り出し、取り出した直交行列P^から、上記(4)式に従って、行列P^k+を算出する。
ステップS212では、ステップS210で算出された行列P^k+に基づいて、正照明画像を生成し、生成した正照明画像をプロジェクタ12から出力して、カメラ10で画像を取得する。
次に、ステップS214では、ステップS204において取得したフレーム番号fに対応するk=f/2を算出して、カウンタkを設定する。
ステップS216では、ステップS214において設定したカウンタkの値に基づいて、直交行列P^を取り出し、取り出した直交行列P^から、上記(5)式に従って、行列P^k−を算出する。
ステップS218では、ステップS210で算出された行列P^k−に基づいて、負照明画像を生成し、生成した負照明画像をプロジェクタ12から出力して、カメラ10で画像を取得する。
次に、ステップS220では、ステップS204において取得したフレーム番号fの値が2Lであるか否かを判定する。フレーム番号fの値が2Lである場合には、直交照明生成処理ルーチンを終了し、フレーム番号fの値が2Lより小さい場合には、ステップS204へ移行し、ステップS204〜ステップS220の処理を繰り返す。
上記ステップS202の直交行列の算出処理ルーチンについて、図7において詳細に説明する。
図7のステップS2200では、プロジェクタサイズのNに応じてパラメータnが設定される。
次に、ステップS2202では、アダマール行列H^を上記(1)式の計算により求める。
ステップS2204では、ステップS2202で求めた行列H^の符号反転の回数に応じて、左から右へ符号反転の回数が1ずつ増加するように左から右へ列ベクトルを並び替える。
ステップS2206では、ステップS2206で並び替えられた列ベクトルに基づいて、上記(2)式の行列W^を算出する。
次に、ステップS2208では、カウンタiをi=1に初期化する。
ステップS2210では、カウンタiの値に基づいて、行列W^の第i番目の列ベクトルh^を取り出す。
次に、ステップS2212では、カウンタjをj=1に初期化する。
ステップS2214では、カウンタjの値に基づいて、行列W^の第j番目の列ベクトルh^を取り出す。
ステップS2216では、ステップS2210で取り出した列ベクトルh^と、ステップS2214で取り出した列ベクトルh^に基づいて、上記(3)式の行列積によってL×Lサイズの直交行列P^を算出する。
ステップS2220では、カウンタjをj=j+1とカウントアップする。
ステップS2222では、jがLより大きいか否かを判定する。jがLより大きければ、ステップS2224へ移行し、jがL以下であればステップS2214へ移行し、ステップS2214〜ステップS2222の処理を繰り返す。
ステップS2224では、カウンタiをi=i+1とカウントアップする。
ステップS2226では、iがLより大きいか否かを判定する。iがLより大きければ、直交行列算出処理ルーチンを終了し、iがL以下であればステップS2214へ移行し、ステップS2214〜ステップS2226の処理を繰り返す。
次に、図8に示す、カメラ応答観測処理ルーチンについて説明する。
まず、ステップS300では、カメラ10において観測する範囲をM×M画素の範囲に設定する。
次に、ステップS302では、カメラ応答に対する所定の閾値を設定する。
次に、ステップS304では、画像データベース40に記憶されている背景画像を読み込む。
次に、ステップS306では、同期制御部22へ応答信号を送信する。
次に、ステップS308では、同期制御部22からフレーム番号fを受信したか否かを判定する。フレーム番号fを受信した場合には、ステップS310へ移行し、フレーム番号fを受信していない場合には、ステップS308の処理を繰り返す。
次に、ステップS310では、カメラ10の状態をチェックする。
次に、ステップS312では、ステップS310において取得したカメラ10の状態が、撮影可能状態であるか否かを判定する。カメラ10が撮影可能状態である場合には、ステップS314へ移行し、カメラ10が撮影可能状態でない場合には、ステップS310へ移行する。
次に、ステップS314では、カメラ10から観測画像を取得する。
次に、ステップS316では、ステップS304において取得した背景画像と、ステップS314において取得した観測画像との背景差分を取得する。
次に、ステップS318では、ステップS302において取得した閾値と、ステップS316において取得した背景差分とから、カメラ応答の画素の各々を検出する。
次に、ステップS320では、ステップS318において取得したカメラ応答の画素の各々の輝度値を応答画像として、ステップS308において取得したフレーム番号fと対応づけて画像データベース40に記憶する。
次に、ステップS322では、ステップS308において取得したフレーム番号fの値が2Lであるか否かを判定する。フレーム番号fの値が2Lである場合には、カメラ応答観測処理ルーチンを終了し、フレーム番号fの値が2Lよりも小さい場合には、ステップS306へ移行し、ステップS306〜ステップS322の処理を繰り返す。
次に、図9に示す、照明成分解析処理ルーチンについて説明する。
まず、ステップS400では、カウンタkをk=1と初期化する。
次に、ステップS402では、カウンタkの値に基づいて、画像データベース40に記憶されている直交行列P^を取り出す。
ステップS404では、ステップS402で取り出した直交行列P^から、走査により行列要素を縦方向に並べ替えた列ベクトルを得る。
ステップS406では、ステップS404で得た列ベクトルを正規化する。
ステップS408では、ステップS406で正規化した列ベクトルを行列P^の第k番目の列に格納する。
ステップS410では、カウンタkをk=k+1とカウントアップする。
ステップS412では、kがLかを判定する。kがLであればステップS402へ移行してステップS402〜ステップS412の処理を繰り返し、kがLでなければステップS414へ移行する。
次に、ステップS414では、リライティングに使う照明画像が設定される。
ステップS416では、ステップS414で設定された照明画像を成分分離して、赤色成分の画像、緑色成分の画像、及び青色成分の画像に分ける。
ステップS418では、ステップS416で成分分離された各色の画像を列ベクトル化し、赤照明ベクトルをP^、緑照明ベクトルをP^、青照明ベクトルをP^とする。
ステップS420では、ステップS418で列ベクトル化したそれぞれのベクトルを正規化して単位ベクトルにする。
ステップS422では、ステップS402〜ステップS412の処理で得られた行列P^の転置行列P^を使って、上記(6)〜(8)式の計算により、ステップS420で単位ベクトルとした、赤照明ベクトルP^と正規化した列ベクトルとの内積、緑照明ベクトルP^と正規化した列ベクトルとの内積、及び青照明ベクトルP^と正規化した列ベクトルとの内積を得る。
ステップS424では、ステップS422で得られた色成分毎の内積の値を画像データベース40に保存し、処理を終了する。
次に、図10に示す、リライティング画像生成処理ルーチンについて説明する。リライティング画像処理ルーチンは、色成分β毎に実行される。
まず、ステップS500では、閾値γ及びカウンタkの初期値(k=1)が設定される。
次に、ステップS502では、kに基づいて、色成分βの内積値qを読み込む。
ステップS504では、qがγより大きいかを判定する。qがγより大きければ、ステップS506へ移行し、qがγ以下であれば、ステップS508へ移行する。
ステップS506では、ステップS502で読み込んだ内積値qを破棄してステップS514へ移行する。
ステップS508では、応答画像C^におけるqk+及びqk−を画像データベース40から読み込む。
ステップS510では、ステップS508で読み込んだ応答画像C^におけるqk+及びqk−を用いて、上記(12)〜(14)式に従って、応答差分C^qkを計算する。
ステップS512では、ステップS510で計算された応答差分C^qkを用いて、上記(9)〜(11)式の何れかに従って、色成分βのリライティング画像を計算する。
ステップS514では、kがLであるか否かを判定する。kがLであればステップS518へ移行し、kがLでなければステップS516へ移行する。
ステップS516では、カウンタkをk=k+1とカウントアップして、ステップS502へ移行し、ステップS502〜ステップS514の処理を繰り返す。
ステップS518では、ステップS512で計算された色成分βのリライティング画像(赤画像C^、緑画像C^g、又は青画像C^)を、画像フォーマットで出力部90により出力あるいは表示をして処理を終了する。
以上説明したように、第1の実施の形態に係るリライティング画像生成装置によれば、各々が異なる複数の直交行列P^に基づいて、直交行列P^毎に、正照明画像及び負照明画像を生成し、プロジェクタから、正照明画像及び負照明画像の各々を出力させ、出力された正照明画像又は負照明画像をカメラにより撮影するように制御し、直交行列P^に対する正照明画像及び負照明画像の各々に対して、カメラにより撮影した観測画像から、予め定められた閾値よりも大きい輝度値を有する画素をカメラ応答の画素として検出して応答画像を生成し、直交行列P^の各々について、上記(6)〜(8)式により、直交行列P^を表す列ベクトルと、与えられた照明画像を表す列ベクトルとの内積を計算し、直交行列P^の各々についての、正照明画像及び負照明画像の各々に対する応答画像の差分と、計算された内積とに基づいて、上記(9)〜(11)式に従って各色成分のリライティング画像C^、C^、C^を計算して、リライティング画像を生成することにより、照明画像をプロジェクタから出力したときに得られるシミュレーション結果を表すリライティング画像を精度よく生成することができる。
<第2の実施の形態に係るリライティング画像生成装置の概要>
まず、第2の実施の形態に係るリライティング画像生成装置200の概要について説明する。第2の実施の形態では、図20に示すように、色成分αの照明をプロジェクタから投影し、色成分βのカメラ応答を観測して、LT行列T^を獲得する。ただし、αはプロジェクタのRGBのいずれかの色を指し、βはカメラのRGBのいずれかの色を指し、その組み合わせによりLT行列T^αβは9種類ある。本来、赤、緑、及び青のスペクトルは、可視光の波長帯において分布しているため、プロジェクタ・カメラシステムでは、プロジェクタとカメラ間のカラー混合(color mixing あるいはcrosstalk)が発生する。そのため、第2の実施形態は、カラー照明を使って被写体を投影し、カラー混合を考慮したリライティング画像を生成する。
<本発明の第2の実施の形態に係るリライティング画像生成装置の構成>
次に、本発明の第2の実施の形態に係るリライティング画像生成装置の構成について説明する。図11に示すように、リライティング画像生成装置200は、カメラ210と、プロジェクタ212と、演算部220と、出力部90と、を含んで構成されている。
カメラ210は、プロジェクタ212により投影された、正照明画像及び負照明画像に対する赤照明画像、緑照明画像、及び青照明画像の各々を観測し、色値を表すRGB値を取得し、カメラ応答観測部226に出力する。
プロジェクタ212は、正照明画像及び負照明画像に対する赤照明画像、緑照明画像、及び青照明画像の各々を用いて、直交照明生成部224による出力指示に従って被写体を投影する。
演算部220は、同期制御部222と、直交照明生成部224と、カメラ応答観測部226と、画像データベース240と、リライティング画像生成部230とを含んで構成されている。
同期制御部222は、フレーム番号毎に、プロジェクタ12から、後述する直交照明生成部24により複数の色成分αの各々に対し、直交行列P^毎に生成された色成分αの正照明画像及び負照明画像を出力させ、出力された正照明画像又は負照明画像をカメラ10により撮影するように制御する。具体的には、まず、プロジェクタ212から投影される特定の照明パターンを表すフレーム番号fをf=1に初期化する。次に、カメラ応答観測部226からの応答信号を待ち、当該応答信号を受信すると、直交照明生成部224と、カメラ応答観測部226とへフレーム番号fを送出する。フレーム番号fを送出することにより、同じフレーム番号においてプロジェクタ212からの照明と、カメラの観測との同期をとる。次に、フレーム番号fをf=f+1とカウントアップし、再び、カメラ応答観測部226からの応答信号を待つ。以降、プロジェクタ212からの照明とカメラ210における観測の同期をフレーム番号fで同期をとりながら、同様にフレーム番号fを直交照明生成部224と、カメラ応答観測部226とに送出することを繰り返す。そして、直交照明生成部224において投影する正照明画像及び負照明画像の全ての照明パターンの数の値2Lであるフレーム番号fを、直交照明生成部224とカメラ応答観測部226とに送出した時点で、フレーム番号fをf=1に初期化する。以降同様に繰り返し処理を行い、さらに、正照明画像及び負照明画像の全ての照明パターンの数の値2Lであるフレーム番号fを直交照明生成部224とカメラ応答観測部226とに送出した時点で、フレーム番号fをf=1に初期化する。また、以降同様に繰り返し処理を行い、次の、フレーム番号fの値が2Lとなるフレーム番号fを送出した時点で、同期制御部222は、繰り返し処理を停止する。
直交照明生成部224は、複数の色成分αの各々に対し、複数の直交行列P^に基づいて、直交行列P^毎に、当該色成分αの正照明画像及び負照明画像を生成する。ここで、α=rのとき赤照明、α=gのとき緑照明、α=bのとき青照明を意味する。
直交照明生成部224は、具体的には、同期制御部から受け取ったフレーム番号がf=kのとき、上記第1の実施の形態の直交照明生成部24と同様の処理をして算出した直交行列P^k+及びP^k−を用いて、直交行列の要素1に対応する画素値をR=255,G=B=0に、要素0に対応する画素値をR=G=B=0に設定した赤照明の正照明画像及び負照明画像を生成する。同期制御部22からのフレーム番号を受信するたびに、赤色の照明を設定し、全ての照明を投影し終わるまで繰り返す。以上の処理によって。2L種類の赤色の正照明画像及び負照明画像をフレーム番号に従って順番にプロジェクタ212から投影する。直交照明生成部224は、続いて、同期信号のフレーム番号を1にリセットし、緑照明及び青照明について同様の処理を繰り返す。以上のように、直交照明生成部224は、赤照明、緑照明、及び青照明の正照明画像及び負照明画像の各々をプロジェクタ212から投影する。
カメラ応答観測部226は、複数の色成分α及び複数の直交行列P^の組み合わせに対する正照明画像及び負照明画像の各々に対して、カメラ210により撮影した観測画像から、複数の色成分β毎に、カメラ応答の画素を検出して色成分βの応答画像を生成する。ここで、β=rのとき赤成分、β=gのとき緑成分、β=bのとき青成分を意味する。
具体的には、同期制御部222からフレーム番号fを受信すると、カメラ210から赤成分の正照明画像及び負照明画像に対する観測画像を取得する。次に、画像データベース240に記憶されているプロジェクタ212によるプロジェクタ照明を投影していない状態の観測画像である背景画像を取得し、赤成分に対する観測画像と背景画像との背景差分を処理し、観測画像の各画素のRGB値の各々に基づいて、R値の輝度値が予め定められた閾値よりも大きい場合に、当該画素のR値を赤成分に対するカメラ応答の赤の画素のR値として検出し、G値の輝度値が予め定められた閾値よりも大きい場合に、当該画素のG値を赤成分に対するカメラ応答の緑の画素のG値として検出し、B値の輝度値が予め定められた閾値よりも大きい場合に、当該画素のB値を赤成分に対するカメラ応答の青の画素のB値として検出する。次に、各色成分βについて、検出された赤成分に対するカメラ応答の当該色成分βの画素の値の各々の輝度値を、赤成分に対する当該色成分βの応答画像として画像データベース240に記憶する。なお、カメラ応答観測部226の処理は、プロジェクタ212から投影される赤成分の正照明画像及び負照明画像を観測したカメラ210における赤成分に対するカメラ画像から赤照明に対する各色成分βの応答画像を画像データベース240に記憶し、全ての赤成分に対する正照明画像及び負照明画像の各々についての赤成分に対する各色成分βの応答画像を画像データベース240に記憶した時点で赤成分に対する処理は、終了する。
カメラ応答観測部226は、2回目のフレーム番号fの値が1であるフレーム番号fを受信すると、緑成分に対して、上記赤成分に対する処理と同様に、緑成分に対する各色成分βの応答データを画像データベース240に記憶し、全ての緑成分に対する正照明画像及び負照明画像の各々についての緑成分に対する各色成分βの応答画像を画像データベース240に記憶した時点で緑成分に対する処理は終了する。また、カメラ応答観測部226は、3回目のフレーム番号fの値が1であるフレーム番号fを受信すると、青成分に対して、上記赤成分に対する処理と同様に、青成分に対する各色成分βの応答画像を画像データベース240に記憶し、全ての青成分に対する正照明画像及び負照明画像の各々についての青成分に対する各色成分βの応答画像を画像データベース240に記憶した時点で青成分に対する処理は終了する。
照明成分解析部228は、与えられた照明画像を、複数の色成分βに分離し、複数の色成分β毎に、複数の直交行列P^の各々について、直交行列P^を表す列ベクトルと、色成分βの照明画像を表す列ベクトルとの内積を計算する。具体的な処理は、第1の実施の形態の照明成分解析部28と同様である。
画像データベース240には、直交照明生成部224で生成された直交行列P^と、カメラ応答観測部26で生成された赤成分、緑成分、及び青成分の各々に対応する各色成分βの応答画像の各々と、照明成分解析部28で計算された色成分β毎の内積の値とが記憶されている。
リライティング画像生成部230は、複数の色成分β毎に、複数の直交行列P^の各々に対して、カメラ応答観測部226によって生成された、色成分α及び直交行列P^の組み合わせに対応する正照明画像及び負照明画像の各々に対する色成分βの各々の応答画像の差分と、照明成分解析部28によって直交行列P^について計算された色成分βの各々の内積とに基づいて、当該色成分βのリライティング画像を生成する。
ここで、リライティング画像生成部230におけるリライティング画像の生成の原理について説明する。カラー照明の直交照明を使ってカメラ応答データを保存する場合、
を使って、リライティング画像(C^,C^,C^)を算出する。リライティングは暗室で観測したLT行列を使うため、通常は(F^,F^,F^)=(0,0,0)としても画像生成に支障はない。さらに、任意の照明画像が与えられたとき、上記(6)〜(8)式で得られる赤照明ベクトルP^との内積[r,r,・・・,r、緑照明ベクトルP^との内積[g,g,・・・,g、及び青照明ベクトルP^との内積[b,b,・・・,bを、それぞれ
と置換した。
また、(15)式において、k番目の直交行列P^に基づく色成分αの正照明画像及び負照明画像の各々に対応するカメラ応答画像の色成分βの成分画像をそれぞれC^αβ+ (k)とC^αβ− (k)とするとき、差分画像C^αβ (k)は、
で与えられる。これをベクトル化するため、M×M画素領域について、図12に示すように、左から右に走査し、右端まで走査した後は1画素上に上がり、また左端に戻り、同様に左から右へ走査する。この走査により画素の並びを縦方向に並べ替える。上記(15)式のC^αβ(αとβはr,g,bのいずれかを指す)は、列ベクトルC^αβ (k)が第k番目の列に代入され、
に従って、全てのkについて列ベクトルを並べることにより得られる行列である。以上は、カメラ応答観測部26で生成された、各成分αの照明画像に対応する各色成分βの応答画像の各々に基づいて算出する。なお、上記(15)式に従ってリライティング画像を生成してもよいが、本処理ではリライティング計算に寄与しない成分を事前に削除することにより、計算用のメモリの使用コストを低減させることができる。例えば、照明成分q(q=r,g,b)がほぼ0の場合は、(15)式のリライティング計算には全く寄与しないことになる。よって、第1の実施の形態と同様に、照明成分がほぼ0に該当するカメラ応答画像をリライティング計算から除外する。
以上の原理に従って、本実施の形態では、リライティング画像生成部230は、以下の処理を行う。
まず、閾値が設定される。閾値は照明成分解析部28で算出した各内積値において有効な成分のみを抽出するために設定するパラメータであり、通常はγ=0.001以下に設定される。次に、リライティング画像生成部230は、色成分βについて、kの順番に、色成分βの内積値qを読み込む。q<γの場合はその係数を0と判断して、応答画像C^αβ+ (k)及びC^αβ− (k)を読み込まずに、内積値qを破棄する。q≧γの場合は応答画像C^αβ+ (k)及びC^αβ− (k)を画像データベース240から読み込み、上記(19)式に従って、差分を計算して得た応答画像C^αβ (k)を左詰めにして行列C^αβに代入する。これを全てのkについて処理を行い、リライティング計算に寄与しない成分を除去したカメラ応答行列C^を得る。これをβ=r,g,bの色成分の順番に処理をして、(15)式に従って、リライティング画像を計算する。そして、計算されたリライティング画像の各色成分である赤画像C^、緑画像C^、及び青画像C^を、それぞれの画像フォーマットで出力部90により出力あるいは表示をする。以上の処理によって、図20に示した状況において、未校正なプロジェクタ・カメラシステムを使って未知の被写体にプロジェクタからの直交照明を投影したとき、それぞれのカメラ応答画像を使って、任意の照明に対するリライティング画像を効率的に生成することができる。
<本発明の実施の第2の形態に係るリライティング画像生成装置の作用>
次に、本発明の第2の実施の形態に係るリライティング画像生成装置200の作用について説明する。なお、第1の実施の形態のリライティング画像生成装置100と同一の作用となる箇所については同一符号を付して説明を省略する。
まず、同期制御処理ルーチンについて説明する。
図13に示す、ステップS700では、ステップS100〜ステップS106までの処理を3回行ったか否かを判定する。ステップS100〜ステップS106までの処理回数が3回よりも少ない場合、ステップS100へ移行し、ステップS100〜ステップS700までの処理を繰り返す。ステップS100〜ステップS106までの処理回数が3回である場合には、同期制御処理ルーチンを終了する。
次に、図14に示す、直交照明生成処理ルーチンについて説明する。第2の実施の形態においては、赤色成分についての処理から開始されるものとする。
ステップS804では、ステップS210で算出された行列P^k+に基づいて、対象となる色成分αの正照明画像を生成し、生成した正照明画像をプロジェクタ212から出力して、カメラ210で画像を取得する。
ステップS810では、ステップS216で算出された行列P^k−に基づいて、対象となる色成分αの負照明画像を生成し、生成した負照明画像をプロジェクタ212から出力して、カメラ210で画像を取得する。
ステップS812では、全ての色成分αについてステップS204〜ステップS220までの処理を終了したか否かを判定する。全ての色成分αについてステップS204〜ステップS220までの処理を終了している場合には、直交照明生成処理ルーチンを終了し、全ての色成分αについてステップS204〜ステップS220までの処理を終了していない場合には、対象となる色成分αを変更し、ステップS204へ移行する。なお、対象となる色成分αは、赤色、緑色、青色の順に変更される。
次に、図15に示す、カメラ応答観測処理ルーチンについて説明する。第2の実施の形態においては、赤色成分についての処理から開始されるものとする。
図15に示す、ステップS900では、カメラ応答に対するRGB値の各々の所定の閾値を設定する。
次に、ステップS902では、ステップS304において取得した画像と、ステップS314において取得した観測画像との背景差分を取得する。
次に、ステップS904では、ステップS304において取得した背景画像と、ステップS314において取得した観測画像との背景差分から、ステップS900において取得した閾値を用いて、RGBの各色成分βについて、カメラ応答の画素の各々を検出し、当該色成分βの輝度値の各々を取得する。
次に、ステップS906では、RGBの各色成分βについて、ステップS902において取得したカメラ応答の画素の各々の当該色成分βの輝度値の各々を、当該色成分βの応答データとして、ステップS308において取得したフレーム番号fと対応づけて画像データベース240に記憶する。
ステップS904では、全ての色成分αについてステップS306〜ステップS322までの処理を終了したか否かを判定する。全ての色成分αについてステップS306〜ステップS322までの処理を終了している場合には、カメラ応答観測処理ルーチンを終了し、全ての色成分αについてステップS306〜ステップS322までの処理を終了していない場合には、対象となる色成分αを変更し、ステップS306へ移行する。なお、対象となる色成分αは、赤色、緑色、青色の順に変更される。
第2の実施の形態に係る照明成分解析処理ルーチンについては、第1の実施の形態の照明成分解析処理ルーチンと同様の流れとなるため詳細な説明を省略する。
次に、上記図10に示す、第2の実施の形態に係るリライティング画像生成処理ルーチンについて説明する。リライティング画像処理ルーチンは、色成分β毎に実行される。
第2の実施の形態に係るステップS508では、各色成分αに対する応答画像C^αβ+ (k)及びC^αβ− (k)を画像データベース240から読み込む。
ステップS510では、ステップS508で読み込んだ各色成分αに対する応答画像C^αβ+ (k)及びC^αβ− (k)を用いて、各色成分αに対して、上記(19)式に従って、応答差分C^αβ (k)を計算する。
ステップS512では、ステップS510で計算された各色成分αに対する応答差分C^αβ (k)を用いて、上記(15)式に従って色成分βのリライティング画像を計算する。
以上説明したように、第2の実施の形態に係るリライティング画像生成装置によれば、プロジェクタから各色成分の正照明画像及び負照明画像を被写体に投影する場合において、各々が異なる複数の直交行列P^に基づいて、直交行列P^毎に、正照明画像及び負照明画像を生成し、プロジェクタから、正照明画像及び負照明画像の各々を出力させ、出力された正照明画像又は負照明画像をカメラにより撮影するように制御し、直交行列P^に対する正照明画像及び負照明画像の各々に対して、カメラにより撮影した観測画像から、予め定められた閾値よりも大きい輝度値を有する画素をカメラ応答の画素として検出して応答画像を生成し、直交行列P^の各々について、上記(6)〜(8)式により、直交行列P^を表す列ベクトルと、与えられた照明画像を表す列ベクトルとの内積を計算し、直交行列P^の各々についての、正照明画像及び負照明画像の各々に対する応答画像の差分と、計算された内積とに基づいて、上記(19)式に従って各色成分のリライティング画像C^、C^、C^を計算して、リライティング画像を生成することにより、各色成分の照明画像をプロジェクタから出力したときに得られるシミュレーション結果を表すリライティング画像を精度よく生成することができる。
<第3の実施の形態に係るリライティング画像生成装置の概要>
まず、第3の実施の形態に係るリライティング画像生成装置の概要について説明する。
第3の実施の形態においては、N台のプロジェクタと1台のカメラのマルチプロジェクタ・システムを用いている点が第1の実施の形態と異なる。なお、第1の実施の形態に係るリライティング画像生成装置100と同様の構成及び作用については、同一の符号を付して説明を省略する。また、プロジェクタが切り替えられた場合、当該切り替え先のプロジェクタについて、第1の実施の形態と同様の処理を行う。
<本発明の第3の実施の形態に係るリライティング画像生成装置の構成>
次に、本発明の第3の実施の形態に係るリライティング画像生成装置の構成について説明する。図16に示すように、本発明の第3の実施の形態に係るリライティング画像生成装置300は、カメラ10と、N台のプロジェクタ12A〜プロジェクタ12Nと、演算部320と、出力部90と、を含んで構成されている。
カメラ10は、切替部332において切り替えられたプロジェクタ12A〜プロジェクタ12Nのうちの何れか1つのプロジェクタにより投影された正照明画像及び負照明画像を観測し、明るさを示す濃淡画像を取得し、カメラ応答観測部326に出力する。
演算部320は、切替部332と、同期制御部322と、直交照明生成部324と、カメラ応答観測部326と、照明成分解析部28と、画像データベース340と、リライティング画像生成部330とを含んで構成されている。
切替部332は、同期制御部322の切り替え指示により、処理対象となるプロジェクタをプロジェクタ12A〜プロジェクタ12Nのうちの1つに切り替える。なお、第3の実施の形態においては、1番初めの処理対象のプロジェクタとしてプロジェクタ12Aが選択されているものとする。また、第3の実施の形態においては、切替部332は、スイッチや分岐装置などを利用する。また、第3の実施の形態においては、終了条件である全てのプロジェクタについて処理が終了するまで、同期制御部322の切り替え指示により処理対象となるプロジェクタを切り替える。
同期制御部322は、フレーム番号毎に、切替部332において切り替えられたプロジェクタ12A〜プロジェクタ12Nのうちの1つのプロジェクタから正照明画像又は負照明画像を出力させ、出力された正照明画像又は負照明画像をカメラ10により撮影するように制御する。また、同期制御部322は、フレーム番号fの値が、直交照明生成部324において投影する全ての照明パターンの数の値2Lであるフレーム番号fを直交照明生成部324とカメラ応答観測部326とに送出した時点で繰り返し処理を停止し、切替部332に処理対象となるプロジェクタを切り替える切り替え指示を出力し、切替部332において処理対象となるプロジェクタが切り替えられた後に、フレーム番号fの値を1に初期化し、上記処理を繰り返す。
直交照明生成部324は、切替部332において切り替えられているプロジェクタ12A〜プロジェクタ12Nのうちの1つのプロジェクタから投影する正照明画像及び負照明画像を生成する。
カメラ応答観測部326は、カメラ10において観測した、切替部332において切り替えられているプロジェクタ12A〜プロジェクタ12Nのうちの1つのプロジェクタから投影された正照明画像及び負照明画像に対するカメラ応答を検出し、フレーム番号fと対応づけて正照明画像及び負照明画像に対する応答画像を作成し、画像データベース340に記憶する。
画像データベース340には、直交照明生成部24で生成されたフレーム番号fの各々に対応した直交行列P^と、照明成分解析部28で計算された色成分β毎の内積の値と、プロジェクタ毎の、カメラ応答観測部26で生成されたフレーム番号fの各々に対応した応答画像と、が記憶されている。
リライティング画像生成部330は、プロジェクタ毎に、第1の実施の形態と同様の処理を行って、リライティング画像を生成する。
なお、第3の実施の形態に係るリライティング画像生成装置の他の構成及び作用については、第1の実施の形態と同様であるため、説明を省略する。
以上説明したように、第3の実施の形態に係るリライティング画像生成装置によれば、複数のプロジェクタを用いる場合において、各々が異なる複数の直交行列P^に基づいて、直交行列P^毎に、正照明画像及び負照明画像を生成し、何れかのプロジェクタから、正照明画像及び負照明画像の各々を出力させ、出力された正照明画像又は負照明画像をカメラにより撮影するように制御し、直交行列P^に対する正照明画像及び負照明画像の各々に対して、カメラにより撮影した観測画像から、予め定められた閾値よりも大きい輝度値を有する画素をカメラ応答の画素として検出して応答画像を生成し、直交行列P^の各々について、上記(6)〜(8)式により、直交行列P^を表す列ベクトルと、与えられた照明画像を表す列ベクトルとの内積を計算し、直交行列P^の各々についての、正照明画像及び負照明画像の各々に対する応答画像の差分と、計算された内積とに基づいて、上記(9)〜(11)式に従って照明画像を何れかのプロジェクタから出力したときに得られる各色成分のリライティング画像C^、C^、C^を計算して、リライティング画像を生成することにより、照明画像をプロジェクタから出力したときに得られるリライティング画像を精度よく生成することができる。
<第4の実施の形態に係るリライティング画像生成装置の概要>
まず、第4の実施の形態に係るリライティング画像生成装置について説明する。
第4の実施の形態においては、N台のプロジェクタと1台のカメラのマルチプロジェクタ・システムを用いている点が第2の実施の形態と異なる。なお、第1及び第2の実施の形態に係るリライティング画像生成装置100及びリライティング画像生成装置200と同様の構成及び作用については、同一の符号を付して説明を省略する。また、プロジェクタが選択された場合、当該プロジェクタについて、第2の実施の形態と同様の処理を行って、リライティング画像を生成する。
<本発明の第4の実施の形態に係るリライティング画像生成装置の構成>
次に、本発明の第4の実施の形態に係るリライティング画像生成装置の構成について説明する。図17に示すように、本発明の第4の実施の形態に係るリライティング画像生成装置400は、カメラ210と、N台のプロジェクタ212A〜プロジェクタ212Nと、演算部420と、出力部90と、を含んで構成されている。
カメラ210は、切替部432において切り替えられたプロジェクタ212A〜プロジェクタ212Nのうちの何れか1つのプロジェクタにより投影された各色成分αの正照明画像及び負照明画像を観測し、色値を表すRGB値を取得し、カメラ応答観測部426に出力する。
演算部420は、切替部432と、同期制御部422と、直交照明生成部424と、カメラ応答観測部426と、照明成分解析部228と、画像データベース440と、リライティング画像生成部430とを含んで構成されている。
切替部432は、同期制御部422の切り替え指示により、処理対象となるプロジェクタをプロジェクタ212A〜プロジェクタ212Nのうちの1つに切り替える。なお、第4の実施の形態においては、1番初めの処理対象のプロジェクタとしてプロジェクタ212Aが選択されているものとする。また、第4の実施の形態においては、切替部432は、スイッチや分岐装置などを利用する。また、第4の実施の形態においては、終了条件である全てのプロジェクタを選択するまで、同期制御部422の選択指示により処理対象となるプロジェクタを選択する。
同期制御部422は、フレーム番号毎に、切替部432において切り替えられたプロジェクタ212A〜プロジェクタ212Nのうちの1つのプロジェクタから色成分βの正照明画像又は負照明画像を出力させ、出力された色成分βの正照明画像又は負照明画像をカメラ210により撮影するように制御する。
直交照明生成部424は、切替部432において切り替えられたプロジェクタ212A〜プロジェクタ212Nのうちの1つのプロジェクタから投影する正照明画像及び負照明画像を生成する。
カメラ応答観測部426は、カメラ210において観測した、切替部432において切り替えられているプロジェクタ212A〜プロジェクタ212Nのうちの1つのプロジェクタから投影された正照明画像及び負照明画像に対するカメラ応答を検出し、フレーム番号fの各々と対応づけて正照明画像及び負照明画像に対する応答画像を生成し、画像データベース440に記憶する。
画像データベース440には、直交照明生成部424で生成された直交行列P^と、照明成分解析部228で計算された色成分β毎の内積の値と、プロジェクタ毎の、カメラ応答観測部426で生成された、赤成分、緑成分、及び青成分の各々に対応する各色成分βの応答画像の各々と、が記憶されている。
リライティング画像生成部430は、プロジェクタ毎に、第2の実施の形態と同様の処理を行って、リライティング画像を生成する。
なお、第4の実施の形態に係るリライティング画像生成装置の他の構成及び作用については、第2の実施の形態と同様であるため、説明を省略する。
以上説明したように、第4の実施の形態に係るリライティング画像生成装置によれば、複数のプロジェクタを用いて、各色成分の正照明画像及び負照明画像を被写体に投影する場合において、各々が異なる複数の直交行列P^に基づいて、直交行列P^毎に、正照明画像及び負照明画像を生成し、何れかのプロジェクタから、正照明画像及び負照明画像の各々を出力させ、出力された正照明画像又は負照明画像をカメラにより撮影するように制御し、直交行列P^に対する正照明画像及び負照明画像の各々に対して、カメラにより撮影した観測画像から、予め定められた閾値よりも大きい輝度値を有する画素をカメラ応答の画素として検出して応答画像を生成し、直交行列P^の各々について、上記(6)〜(8)式により、直交行列P^を表す列ベクトルと、与えられた照明画像を表す列ベクトルとの内積を計算し、直交行列P^の各々についての、正照明画像及び負照明画像の各々に対する応答画像の差分と、計算された内積とに基づいて、上記(19)式に従って各色成分のリライティング画像C^、C^、C^を計算して、リライティング画像を生成することにより、照明画像をプロジェクタから出力したときに得られるリライティング画像を精度よく生成することができる。
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。
10、210 カメラ
12、212 プロジェクタ
20、220、320、440 演算部
22、222、322、422 同期制御部
24、224、324、424 直交照明生成部
26、226、326、426 カメラ応答観測部
28、228、328、428 照明成分解析部
30、230、330、430 リライティング画像生成部
40、240、340、440 画像データベース
90 出力部
100、200、300、400 リライティング画像生成装置
332、432 切替部

Claims (8)

  1. 各々が異なる複数の直交行列P^に基づいて、前記直交行列P^毎に、前記直交行列P^を用いて、プロジェクタから出力するための正照明画像及び負照明画像を生成する直交照明生成部と、
    前記プロジェクタから、前記直交行列P^毎に生成された正照明画像及び負照明画像の各々を出力させ、前記出力された正照明画像又は負照明画像をカメラにより撮影するように制御する同期制御部と、
    前記複数の直交行列P^に対する正照明画像及び負照明画像の各々に対して、前記カメラにより撮影した観測画像から、予め定められた閾値よりも大きい輝度値を有する画素をカメラ応答の画素として検出して応答画像を生成するカメラ応答観測部と、
    前記複数の直交行列P^の各々について、前記直交行列P^を表す列ベクトルと、与えられた照明画像を表す列ベクトルとの内積を計算する照明成分解析部と、
    前記複数の直交行列P^の各々についての、前記カメラ応答観測部によって生成された、前記直交行列P^に対応する正照明画像及び負照明画像の各々に対する応答画像の差分と、前記照明成分解析部によって前記直交行列P^について計算された前記内積とに基づいて、リライティング画像を生成するリライティング画像生成部と、
    を含む、リライティング画像生成装置。
  2. 前記照明成分解析部は、前記与えられた照明画像を、複数の色成分に分離し、前記複数の色成分毎に、前記複数の直交行列P^の各々について、前記直交行列P^を表す列ベクトルと、前記色成分の照明画像を表す列ベクトルとの内積を計算し、
    前記リライティング画像生成部は、前記複数の色成分毎に、前記複数の直交行列P^の各々についての、前記カメラ応答観測部によって生成された、前記直交行列P^に対応する正照明画像及び負照明画像の各々に対する前記色成分の応答画像の差分と、前記照明成分解析部によって前記直交行列P^について計算された前記色成分の前記内積とに基づいて、前記色成分のリライティング画像を生成する請求項1記載のリライティング画像生成装置。
  3. 前記直交照明生成部は、複数の色成分αの各々に対し、前記複数の直交行列P^に基づいて、前記直交行列P^毎に、前記色成分αの正照明画像及び負照明画像を生成し、
    前記カメラ応答観測部は、前記複数の色成分α及び前記複数の直交行列P^の組み合わせに対する正照明画像及び負照明画像の各々に対して、前記カメラにより撮影した観測画像から、複数の色成分β毎に、前記カメラ応答の画素を検出して前記色成分βの応答画像を生成し、
    前記照明成分解析部は、前記与えられた照明画像を、前記複数の色成分βに分離し、前記複数の色成分β毎に、前記複数の直交行列P^の各々について、前記直交行列P^を表す列ベクトルと、前記色成分βの照明画像を表す列ベクトルとの内積を計算し、
    前記リライティング画像生成部は、前記複数の色成分α毎に、前記複数の直交行列P^の各々に対して、前記カメラ応答観測部によって生成された、前記色成分α及び前記直交行列P^の組み合わせに対応する正照明画像及び負照明画像の各々に対する前記色成分βの各々の応答画像の差分と、前記照明成分解析部によって前記直交行列P^について計算された前記色成分βの各々の前記内積とに基づいて、前記色成分βのリライティング画像を生成する請求項1記載のリライティング画像生成装置。
  4. 出力するプロジェクタを、複数のプロジェクタのうちの何れかに切り替える切替部を更に含み、
    前記直交照明生成部は、前記切替部によって切り換えられたプロジェクタから出力するための前記正照明画像及び負照明画像を生成し、
    前記同期制御部は、前記切替部によって切り替えられたプロジェクタから正照明画像又は負照明画像を出力させ、前記出力された正照明画像又は負照明画像をカメラにより撮影するように制御し、
    前記リライティング画像生成部は、前記切替部によって切り換えられたプロジェクタについて、前記リライティング画像を生成する請求項1〜請求項3の何れか1項記載のリライティング画像生成装置。
  5. 直交照明生成部と、同期制御部と、カメラ応答観測部と、照明成分解析部と、リライティング画像生成部とを含むリライティング画像生成装置においけるリライティング画像生成方法であって、
    前記直交照明生成部が、各々が異なる複数の直交行列P^に基づいて、前記直交行列P^毎に、前記直交行列P^を用いて、プロジェクタから出力するための正照明画像及び負照明画像を生成するステップと、
    前記同期制御部が、前記プロジェクタから、前記直交行列P^毎に生成された正照明画像及び負照明画像の各々を出力させ、前記出力された正照明画像又は負照明画像をカメラにより撮影するように制御するステップと、
    前記カメラ応答観測部が、前記複数の直交行列P^に対する正照明画像及び負照明画像の各々に対して、前記カメラにより撮影した観測画像から、予め定められた閾値よりも大きい輝度値を有する画素をカメラ応答の画素として検出して応答画像を生成するステップと、
    前記照明成分解析部が前記複数の直交行列P^の各々について、前記直交行列P^kを表す列ベクトルと、与えられた照明画像を表す列ベクトルとの内積を計算するステップと、
    前記リライティング画像生成部が、前記複数の直交行列P^の各々についての、前記カメラ応答観測部によって生成された、前記直交行列P^に対応する正照明画像及び負照明画像の各々に対する応答画像の差分と、前記照明成分解析部によって前記直交行列P^について計算された前記内積とに基づいて、リライティング画像を生成するステップと、
    を含む、リライティング画像生成方法。
  6. 前記照明成分解析部が計算するステップは、前記与えられた照明画像を、複数の色成分に分離し、前記複数の色成分毎に、前記複数の直交行列P^の各々について、前記直交行列P^を表す列ベクトルと、前記色成分の照明画像を表す列ベクトルとの内積を計算し、
    前記リライティング画像生成部が生成するステップは、前記複数の色成分毎に、前記複数の直交行列P^の各々についての、前記カメラ応答観測部によって生成された、前記直交行列P^に対応する正照明画像及び負照明画像の各々に対する前記色成分の応答画像の差分と、前記照明成分解析部によって前記直交行列P^について計算された前記色成分の前記内積とに基づいて、前記色成分のリライティング画像を生成する請求項5記載のリライティング画像生成方法。
  7. 前記直交照明生成部が生成するステップは、複数の色成分αの各々に対し、前記複数の直交行列P^に基づいて、前記直交行列P^毎に、前記色成分αの正照明画像及び負照明画像を生成し、
    前記カメラ応答観測部が生成するステップは、前記複数の色成分α及び前記複数の直交行列P^の組み合わせに対する正照明画像及び負照明画像の各々に対して、前記カメラにより撮影した観測画像から、複数の色成分β毎に、前記カメラ応答の画素を検出して前記色成分βの応答画像を生成し、
    前記照明成分解析部が計算するステップは、前記与えられた照明画像を、前記複数の色成分βに分離し、前記複数の色成分β毎に、前記複数の直交行列P^の各々について、前記直交行列P^を表す列ベクトルと、前記色成分βの照明画像を表す列ベクトルとの内積を計算し、
    前記リライティング画像生成部が生成するステップは、前記複数の色成分α毎に、前記複数の直交行列P^の各々に対して、前記カメラ応答観測部によって生成された、前記色成分α及び前記直交行列P^の組み合わせに対応する正照明画像及び負照明画像の各々に対する前記色成分βの各々の応答画像の差分と、前記照明成分解析部によって前記直交行列P^について計算された前記色成分βの各々の前記内積とに基づいて、前記色成分βのリライティング画像を生成する請求項5記載のリライティング画像生成方法。
  8. コンピュータを、請求項1〜請求項4の何れか1項記載のリライティング画像生成装置を構成する各部として機能させるためのプログラム。
JP2015024609A 2015-02-10 2015-02-10 リライティング画像生成装置、方法、及びプログラム Active JP6383678B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015024609A JP6383678B2 (ja) 2015-02-10 2015-02-10 リライティング画像生成装置、方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015024609A JP6383678B2 (ja) 2015-02-10 2015-02-10 リライティング画像生成装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2016148737A JP2016148737A (ja) 2016-08-18
JP6383678B2 true JP6383678B2 (ja) 2018-08-29

Family

ID=56687878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015024609A Active JP6383678B2 (ja) 2015-02-10 2015-02-10 リライティング画像生成装置、方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6383678B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112235554B (zh) * 2020-10-15 2022-05-13 上海交通大学医学院附属第九人民医院 一种实现投影仪和摄像机软件同步的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4335589B2 (ja) * 2002-06-27 2009-09-30 ミツビシ・エレクトリック・リサーチ・ラボラトリーズ・インコーポレイテッド 3dオブジェクトをモデル化する方法
JP2008171431A (ja) * 2007-01-12 2008-07-24 Seiko Epson Corp 基準行列の推定逆行列を生成する方法、第2のプロジェクタからの第2の投影画像を用いて第1のプロジェクタからの第1の投影画像をシミュレートする方法、投影画像を生成する方法および投影システム
US8243144B2 (en) * 2009-07-31 2012-08-14 Seiko Epson Corporation Light transport matrix from homography
JP5973368B2 (ja) * 2013-03-13 2016-08-23 日本電信電話株式会社 空間投影装置、空間投影方法及び空間投影プログラム

Also Published As

Publication number Publication date
JP2016148737A (ja) 2016-08-18

Similar Documents

Publication Publication Date Title
US10750141B2 (en) Automatic calibration projection system and method
US7532766B2 (en) Method and system for producing formatted data related to geometric distortions
CN100361153C (zh) 用于产生与装置的缺陷相关的信息的方法和系统
CN102314259A (zh) 一种在显示区域内检测物体的方法和设备
JP2005189542A (ja) 表示システム、表示プログラム、表示方法
JP2010217645A (ja) 画像表示装置の補正値作成方法、画像表示装置の補正値作成装置、及び画像表示装置の補正値作成プログラム
JP6383678B2 (ja) リライティング画像生成装置、方法、及びプログラム
KR20170128739A (ko) 몰입형 콘텐츠 제작 지원용 영상 제공 장치 및 방법
JP5973368B2 (ja) 空間投影装置、空間投影方法及び空間投影プログラム
CN109900223B (zh) 用于投影光栅建模的成像方法及装置
JP2010217644A (ja) 画像表示装置の補正値作成方法、画像表示装置の補正値作成装置、及び画像表示装置の補正値作成プログラム
KR101099844B1 (ko) 이미지 캡쳐 시스템
KR101653649B1 (ko) 균일도 보상 패턴광을 이용한 3차원 형상 측정 방법
JP2017183903A (ja) 空間映像再現装置、方法、及びプログラム
JP2011002401A (ja) 輝度測定装置における補正係数算出方法および輝度測定装置
JP2007329591A (ja) 輝度及び色度測定における校正方法
JP2009147431A (ja) 投射型画像表示装置、画像表示システム、および色むら補正方法
JP4615430B2 (ja) 画像生成装置、画像生成方法および画像生成プログラム
JP5592834B2 (ja) 光学投影制御装置、光学投影制御方法、及びプログラム
JP6291382B2 (ja) Lt行列生成装置、方法、プログラム、及び記録媒体
JP6069241B2 (ja) 空間投影装置及び空間投影プログラム
JP6897291B2 (ja) 画像評価装置及び画像評価方法
JP6600609B2 (ja) 空間映像再現装置、方法、及びプログラム
JP6373221B2 (ja) 画像投影装置、方法、及びプログラム
CN108377383B (zh) 一种多投影3d系统光场对比度调整方法及其系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180323

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180731

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180806

R150 Certificate of patent or registration of utility model

Ref document number: 6383678

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150