(57)【特許請求の範囲】
【請求項１】
画像の投影を行うプロジェクタと、画像の撮像を行うカメラとに用いられる投影型３次元形状復元装置であって、
前記プロジェクタによって投影されるべき物体の画像に対して、前記物体の３次元形状と、該物体を照明する照明の方向情報とから照度差ステレオの原理に基づき生成した前記物体の陰影画像を重畳した陰影重畳画像を生成する陰影画像生成手段と、
前記陰影重畳画像が投影された際に、前記陰影画像が視覚によって認識されない程度に前記投影される陰影重畳画像の輝度を制御して、前記陰影重畳画像を前記プロジェクタに投影させる投影制御手段と、
投影された前記陰影重畳画像を前記カメラによって撮像された撮像画像に対して画像処理を施すことにより前記陰影画像を復元し、復元した前記陰影画像に基づき前記物体の３次元形状を復元する３次元形状復元手段と
を備えたことを特徴とする投影型３次元形状復元装置。
【請求項２】
前記プロジェクタと前記カメラとの間の平面射影を用いて、前記撮像画像の幾何歪みを補正する平面射影補正手段をさらに備えたことを特徴とする請求項１に記載の投影型３次元形状復元装置。
【請求項３】
画像の投影を行うプロジェクタと、画像の撮像を行うカメラとに用いられる投影型３次元形状復元装置が行う投影型３次元形状復元方法であって、
前記プロジェクタによって投影されるべき物体の画像に対して、前記物体の３次元形状と、該物体を照明する照明の方向情報とから照度差ステレオの原理に基づき生成した前記物体の陰影画像を重畳した陰影重畳画像を生成する陰影画像生成ステップと、
前記陰影重畳画像が投影された際に、前記陰影画像が視覚によって認識されない程度に前記投影される陰影重畳画像の輝度を制御して、前記陰影重畳画像を前記プロジェクタに投影させる投影制御ステップと、
投影された前記陰影重畳画像を前記カメラによって撮像された撮像画像に対して画像処理を施すことにより前記陰影画像を復元し、復元した前記陰影画像に基づき前記物体の３次元形状を復元する３次元形状復元ステップと
を有することを特徴とする投影型３次元形状復元方法。
【請求項４】
コンピュータを、請求項１または２に記載の投影型３次元形状復元装置として機能させるための投影型３次元形状復元プログラム。
【請求項５】
請求項４に記載の投影型３次元形状復元プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロジェクタの投影画像をカメラで観測し、その複数の観測画像から、投影画像に重畳されている元の３次元形状を復元する投影型３次元形状復元装置、投影型３次元形状復元方法、投影型３次元形状復元プログラムおよびそのプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
従来から、プロジェクタ・カメラシステムは、様々な用途に利用されている。例えば、会議や学会発表でのプレゼンテーションにプロジェクタを利用する以外に、ヒューマンインタラクションや拡張現実感の表示システムとしても利用でき、近年ではＨＤＲ（High Dynamic Range）画像を表示するアプリケーションとしても期待されている。
【０００３】
プロジェクタにより画像を投影して、カメラによりその投影画像を観測するとき、そのカメラが所定の輝度を観測するように原画像を調整する必要がある。これは輝度補正と呼ばれており、非特許文献１、２において公知である。この方法では、プロジェクタからのＲＧＢ輝度値とカメラで観測されたＲＧＢ輝度値間の相関関係に着目し、カラー混合行列（Color Mixing Matrix）と呼ばれる３×３の行列Ｖを使って、所定のＲＧＢ輝度値Ｃ＝（ＣＲ，ＣＧ，ＣＢ）をカメラが観測するようにプロジェクタからのＲＧＢ出力値Ｐ＝（ＰＲ，ＰＧ，ＰＢ）を補正する。
【０００４】
このシステムにおいて観測した画像の輝度値Ｃと各プロジェクタからの出力輝度Ｐは、
【数１】
0005841495.tif 000002
が成り立つ。ここで、Ｖはプロジェクタのカラー混合行列であり、Ｆ＝（Ｆｒ，Ｆｇ，Ｆｂ）はプロジェクタ以外の光源からの照明を含む環境光である。式（１）では、物体表面の反射率は一定としている。非特許文献２によれば、４枚のサンプル画像が用意できればカラー混合行列と環境光を求めることができる。
【０００５】
一方、ある被写体を照明して得た陰影画像から元の３次元形状を復元する技術は照度差ステレオ（photometric stereo）として知られている。この照度差ステレオの原理を簡単に説明する。図６は、照度差ステレオの原理を示す図であり、３次元物体の表面法線と照明の方向を表す方向ベクトルの関係を示している。図６において、物体の表面はＬａｍｂｅｒｔｉａｎ面（任意の方向からの照明に対して等方的に反射する面）であるとし、無限遠に設置した光源によって照明されており（すなわち、平行光が被写体を照明している）、カメラは正射影によって物体表面の反射光を観測して画像を得ると仮定する。被写体表面のその点からの反射光は、画像上の画素値として観測されるため、便宜上、画像上の座標を指すためのサフィックスとしてｊを使う。
【０００６】
図６に示す観測画像は横×縦のサイズがＭ×Ｎ画素であるとし、画像上の１画素はｊによって順番ｊ＝１，２，・・・，Ｐ（＝ＭＮ）が付与され、ｊ番目の画素に対応する被写体上の表面の法線ベクトルをｎｊとする。この物体に対して、それぞれ異なる照明によって被写体を照らす。照明の方向を表すサフィックスとしてｉ∈｛１，２，・・・，Ｆ｝を使い、ｉ番目の光源からの照明を方向ベクトルｌｉで表現する。ｉ番目の照明によってｊ番目の法線の箇所が照らされるとき、正射影のカメラによって、画像上では、
【数２】
0005841495.tif 000003
を観測する。ここで、ρｊ（λ）はｊ番目の画素に対応する物体表面の反射分布であり、λは波長を表す。ω（λ）は入射光のスペクトル分布を表し、￣ν（λ）（￣はνの上に付く、以下同様）はカメラのνチャネルのスペクトル感度分布を表す。
【０００７】
式（２）において、括弧で囲んだ積分項は表面法線と照明の方向ベクトルとは無関係なのでνｊで表すことにする。νｊはアルベド（ａｌｂｅｄｏ）と呼ばれており、通常、被写体は一定のアルベドを有するものとして、νｊ＝νとおく。
【０００８】
従来の照度差ステレオにおいて、式（２）に基づき、カメラ観測値Ｃνｉｊから、被写体の表面を表す法線ベクトルｎｊを復元する代表的な方法を簡単に説明する。複数の陰影画像を観測し、例えば緑チャネル（ν＝ｇ）の画像のみを対象とし、各画素を画像データ行列（image data matrix）と呼ばれる行列形式に並べて、
【数３】
0005841495.tif 000004
を用意する。
【０００９】
被写体のアルベドは一定とし、簡単のためν＝１とする。元々、式（２）が意味することは、被写体の表面法線と照明の方向ベクトルの内積によって各表面の輝度値を観測することであるので、式（３）の行列は、
【数４】
0005841495.tif 000005
【数５】
0005841495.tif 000006
【数６】
0005841495.tif 000007
と書ける。
【００１０】
行列ＮはＰ×３の行列、行列Ｌは３×Ｆの行列であるため、Ｐ×Ｆの行列Ｉのランクは３である。非特許文献３では、画像データ行列Ｉから法線を集めた行列Ｎと照明の方向ベクトルを集めた行列Ｌを同時に推定する方法が公開されている。通常、それぞれの法線から経路積分計算によって物体表面の３次元形状を復元するので、照度差ステレオでは、陰影画像から法線ベクトルを求めることが主な処理対象になる。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】S. K. Nayar, H. Peri, M. D. Grossberg, and P. N. Belhumeur:“A Projection System with Radiometric Compensation for Screen Imperfections", Proc. of ICCV Workshop on Projector-Camera Systems (PROCAMS), 2003.
【非特許文献２】K. Fujii, M. D. Grossberg, and S. K. Nayar: “A Projector-Camera System with Real-Time Photometric Adaptation for Dynamic Environments", Proc. of IEEE Computer Vision and Pattern Recognition (CVPR), vol.1, pp.814-821, 2005.
【非特許文献３】H. Hayakawa:“Photometric stereo under a light source with arbitrary motion", Journal of the Optical Society of America A vol.11, no.11, pp.3079-3089, 1994.
【発明の概要】
【発明が解決しようとする課題】
【００１２】
一般に、従来の照度差ステレオにおいては、環境光は雑音となるため暗室の中で被写体を照明しなければならないという制約がある。したがって、環境光の下でのプロジェクタ・カメラシステムを使ってコンテンツ画像に陰影情報を重畳したとき、元の被写体の物体表面の３次元形状を復元することができないという問題がある。
【００１３】
本発明は、このような事情に鑑みてなされたもので、環境光の下でのプロジェクタ・カメラシステムを使って物体画像に陰影情報を重畳した画像から元の被写体の３次元形状を復元することができる投影型３次元形状復元装置、投影型３次元形状復元方法、投影型３次元形状復元プログラムおよびそのプログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明は、画像の投影を行うプロジェクタと、画像の撮像を行うカメラとに用いられる投影型３次元形状復元装置であって、前記プロジェクタによって投影されるべき物体の画像に対して、前記物体の３次元形状と、該物体を照明する照明の方向情報とから照度差ステレオの原理に基づき生成した前記物体の陰影画像を重畳した陰影重畳画像を生成する陰影画像生成手段と、前記陰影重畳画像が投影された際に、前記陰影画像が視覚によって認識されない程度に前記投影される陰影重畳画像の輝度を制御して、前記陰影重畳画像を前記プロジェクタに投影させる投影制御手段と、投影された前記陰影重畳画像を前記カメラによって撮像された撮像画像に対して画像処理を施すことにより前記陰影画像を復元し、復元した前記陰影画像に基づき前記物体の３次元形状を復元する３次元形状復元手段とを備えたことを特徴とする。
【００１５】
本発明は、前記プロジェクタと前記カメラとの間の平面射影を用いて、前記撮像画像の幾何歪みを補正する平面射影補正手段をさらに備えたことを特徴とする。
【００１６】
本発明は、画像の投影を行うプロジェクタと、画像の撮像を行うカメラとに用いられる投影型３次元形状復元装置が行う投影型３次元形状復元方法であって、前記プロジェクタによって投影されるべき物体の画像に対して、前記物体の３次元形状と、該物体を照明する照明の方向情報とから照度差ステレオの原理に基づき生成した前記物体の陰影画像を重畳した陰影重畳画像を生成する陰影画像生成ステップと、前記陰影重畳画像が投影された際に、前記陰影画像が視覚によって認識されない程度に前記投影される陰影重畳画像の輝度を制御して、前記陰影重畳画像を前記プロジェクタに投影させる投影制御ステップと、投影された前記陰影重畳画像を前記カメラによって撮像された撮像画像に対して画像処理を施すことにより前記陰影画像を復元し、復元した前記陰影画像に基づき前記物体の３次元形状を復元する３次元形状復元ステップとを有することを特徴とする。
【００１７】
本発明は、コンピュータを、前記投影型３次元形状復元装置として機能させるための投影型３次元形状復元プログラムである。
【００１８】
前記投影型３次元形状復元プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１９】
本発明によれば、プロジェクタ・カメラシステムを使った映像投影において、閲覧者に物体画像を提示するだけではなく、カメラ観測により得た陰影情報から物体の３次元形状を復元することができる。そのため、復元した３次元形状情報を使った拡張現実や映像コミュニケーションを実現することが可能になるという効果が得られる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態による投影型３次元形状復元装置の構成を示すブロック図である。
【図２】図１に示す投影型３次元形状復元装置３の処理動作を示すフローチャートである。
【図３】図１に示す陰影画像生成部３２の処理動作を示すフローチャートである。
【図４】図１に示す投影制御部３４の処理動作を示すフローチャートである。
【図５】図１に示す３次元形状復元部３５の処理動作を示すフローチャートである。
【図６】照度差ステレオの原理を示す図である。
【図７】環境光下でのプロジェクタ・カメラシステムを使った陰影投影を示す図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照して、本発明の一実施形態による投影型３次元形状復元装置を説明する。図１は同実施形態の構成を示すブロック図である。ここでは、１台のプロジェクタ１と１台のカメラ２のプロジェクタ・カメラシステムの例を示している。図１に示す投影型３次元形状復元装置３は、画像入力部３１と、陰影画像生成部３２と、平面射影補正部３３と、投影制御部３４と、３次元形状復元部３５とを備える。画像入力部３１は、カメラ２から画像データを取得する。陰影画像生成部３２は、オリジナルのコンテンツ画像に、３次元形状と照明の方向情報から照度差ステレオの原理に基づいた陰影画像を重畳して、新たな画像列を生成する。平面射影補正部３３は、プロジェクタ１とカメラ２間の平面射影を使って、用途に応じて観測画像の幾何歪みを補正する。投影制御部３４は、陰影画像を観測するようにプロジェクタ１から出力する投影画像の輝度を制御する。３次元形状復元部３５は、画像系列からオリジナルのコンテンツ画像と、その画像列に重畳されている物体の３次元データを復元する。図１に示す構成において、プロジェクタ１とカメラ２は必ずしも構成要素として接続している必要はなく、処理に必要なデータを取得する構成であってもよい。
【００２２】
次に、図２を参照して、図１に示す投影型３次元形状復元装置３全体の処理動作を説明する。まず、陰影画像生成部３２は、照明データの入力を行う（ステップＳ１）。そして、この照明データに基づき、陰影画像を生成して出力する（ステップＳ２）。投影制御部３４は、この陰影画像をオリジナルのコンテンツ画像に重畳し、プロジェクタ１によって画像をスクリーン等に投影する（ステップＳ３）。
【００２３】
次に、画像入力部３１は、スクリーン等に投影された画像をカメラ２によって撮像した撮像画像を得る（ステップＳ４）。そして、平面射影補正部３３は、プロジェクタ１とカメラ２間の平面射影を使って、用途に応じて観測画像の幾何歪みを補正する（ステップＳ５）。続いて、この補正が完了したか否かを判定し（ステップＳ６）、完了していなければ、投影制御部３４は、投影する画像の輝度を補正する処理を行う（ステップＳ７）。この補正処理を補正が完了するまで続行する。
【００２４】
次に、時系列に生成した順番でそれぞれの陰影画像を処理し、ある一定の画像列を得たか否かを判定し（ステップＳ８）、ある一定の画像列を得た時点で３次元形状復元部３５は、照明データと画像列から３次元形状の復元を行い（ステップＳ９）、処理を終了する。
【００２５】
次に、図１に示す画像入力部の処理動作の詳細を説明する。画像入力部３１は画像を取得する手段であり、カメラ等で撮像された画像データを平面射影補正部３３へ転送する。画像入力部３１で取得する画像の例としては、スクリーン全体が隠れることなく写された画像、または、所定の領域を撮影した画像である。
【００２６】
次に、図１に示す陰影画像生成部３２の処理動作を説明する。陰影画像生成部３２は、オリジナルのコンテンツ画像から、式（２）の画像照度の式に基づいて陰影画像を生成する。図３は図１に示す陰影画像生成部３２の処理動作を示すフローチャートである。処理を開始すると、カウンタ値ｉを０にリセットする（ステップＳ１１）。このカウンタ値は生成した陰影画像が指定の枚数を数えるために設定され、その最大枚数をＦ＝１０またはＦ＝２０とする。Ｆの値を大きく設定すると、３次元形状復元部３５において計算コストが高くなる可能性があるので、あまり大きい値を設定しないようにする。そして、現時点でのカウンタ値がＦを超えていないならば（ステップＳ１２：ＮＯ）、次の処理へ移行する。３次元データのデータベースには陰影画像に射影するデータが格納されており、３次元データはＰ個の３次元座標値（Ｘｊ，Ｙｊ，Ｚｊ），ｊ＝１，２，・・・，Ｐである。一般的に、Ｚ方向の値がＺｊ＝ｆ（Ｘｊ，Ｙｊ）の関数形であるとき、法線ベクトルｎｊは、
【数７】
0005841495.tif 000008
で表されるので、「法線ベクトルの計算（ステップＳ１３）」では、３次元データからＸ軸方向とＹ軸方向の偏微分値を求め、式（７）を使って各座標（ｊ＝１，２，・・・，Ｐ）の法線ベクトルｎｊを算出する。
【００２７】
ここでは、任意の３次元データを前提とするので、関数形ｆ（Ｘｊ，Ｙｊ）は解析関数の形式で表すことはできない。この計算では、次の差分計算により、
【数８】
0005841495.tif 000009
【数９】
0005841495.tif 000010
偏微分値∂ｆ／∂Ｘｊと、∂ｆ／∂Ｙｊとを得る。なお、データの端では、例えば、ｊ＝Ｐのときは、∂ｆ／∂ＸＰ＝∂ｆ／∂ＸＰ−１，∂ｆ／∂ＹＰ＝∂ｆ／∂ＹＰ−１としてデータの整合性をとっておく。
【００２８】
一方、各カウンタ値ｉに関して照明の方向ベクトルｌｉを与える（ステップＳ１４）。方向ベクトルは半球面座標の１点で表現できるため、そのベクトルを、
【数１０】
0005841495.tif 000011
とする。ここで、θｉ，φｉは球面座標を表現する２つの角度であり、例えば、乱数を使ってランダムに選んでよい。あるいは、角θｉをθｉ＝θｏ（≠０）と固定し、角φｉをランダムに選択してもよい。これで得た方向ベクトルと先に得た法線ベクトルから内積ｎＴｊｌｉを計算する。方向ベクトルｌｉは３次元形状復元部３５でも使用するため、一時的に保持する。
【００２９】
次に、コンテンツ画像のデータベースからプロジェクタに投影する画像を取り出し、ｊ番目の画素に対応する画素値（ｒｊ，ｇｊ，ｂｊ）を取り出す。この画素値に、方向ベクトルと法線ベクトルの内積をかけて（ステップＳ１５）、
【数１１】
0005841495.tif 000012
【数１２】
0005841495.tif 000013
【数１３】
0005841495.tif 000014
を陰影画像の新たな画素値（Ｃｒｉｊ，Ｃｇｉｊ，Ｃｂｉｊ）とする（ステップＳ１６）。３次元データの各点とコンテンツ画像の各画素は１対１に対応しているとし、全ての画素の新たな画素値を式（１１）〜式（１３）により計算して陰影画像を得る（ステップＳ１７）。以上の処理を、カウンタ値ｉを更新しながら（ステップＳ１８）、カウンタ値ｉ＞Ｆを満たすまで続け、陰影画像の画像系列を生成する。以降では、その画像系列の各陰影画像を「所定の画像」と呼ぶ。
【００３０】
次に、図１に示す平面射影補正部３３の処理動作の詳細を説明する。投影型３次元形状復元装置３は、プロジェクタ１が平面へ画像を投影し、その像をカメラ２が観測（撮影）するという形態で動作する。この形態において、平面射影補正部３３では、画像を観測すると、その観測画像上の画素と陰影画像上の画素を対応付けるための射影変換を行う。この射影変換方法を以下に説明する。
【００３１】
プロジェクタ画面の点の２次元座標を（ｕ，ｖ）、その点がＺ＝０のＸＹ平面（スクリーン）上に投影されたときの３次元座標を（Ｘ，Ｙ，０）、その投影点をカメラで観測したときの点の２次元座標を（ｘ，ｙ）とすると、プロジェクタ１と平面間の平面射影変換Ｈｐｓ、並びに平面とカメラ間の平面射影変換Ｈｓｃによって、
【数１４】
0005841495.tif 000015
【数１５】
0005841495.tif 000016
の計算により各画素をそれぞれ対応付けることができる。
【００３２】
さらに、プロジェクタから出力する画像の２次元座標（ｕ，ｖ）と陰影画像上の点の２次元座標（ｕ’，ｖ’）と、
【数１６】
0005841495.tif 000017
の計算により両画素を対応付ける。Ｈｉｐは陰影画像とプロジェクタ画面間の平面射影変換である。よって、目標とする所定画像の２次元座標（ｕ’，ｖ’）とカメラで観測した２次元座標（ｘ，ｙ）の間、並びに、プロジェクタ画面上の２次元座標（ｕ，ｖ）とカメラで観測した２次元座標（ｘ，ｙ）の間を結び付けることができる。これらの平面射影変換は事前のキャリブレーション作業によって得られており、そのデータが平面射影補正部３３において保持されており、平面射影計算の際には必要に応じて利用する。なお、このキャリブレーションでは公知の平面射影変換推定方法を利用して、平面射影変換Ｈｐｓ，Ｈｓｃ，Ｈｉｐ求める。
【００３３】
次に、画像入力部３１から観測画像を得ると、平面射影補正部３３において平面射影変換のデータをロードして、式（１４）〜式（１６）を使って、陰影画像の各画素の２次元座標値（ｕ’，ｖ’）から、必要に応じてプロジェクタ画面の２次元座標値、あるいはカメラ画面の２次元座標値を算出する。
【００３４】
次に、図１に示す投影制御部３４の処理動作の詳細を説明する。投影制御部３４では、陰影画像生成部３２で得た画像系列をプロジェクタで投影して陰影画像と同じ輝度値を有する画像をカメラ２で観測するため、プロジェクタ１から出力するＲＧＢ輝度値を、式（１）を利用して制御する。図４は、図１に示す投影制御部３４の処理動作を示すフローチャートである。陰影画像生成部３２から出力される画像のある画素のＲＧＢ値をＣとすると、プロジェクタ１へ入力するＲＧＢ輝度値Ｐを、
【数１７】
0005841495.tif 000018
により計算する（ステップＳ２１）。
【００３５】
各画素に対応するカラー混合行列Ｖと環境ベクトルＦは、非特許文献２で公開されている方法で事前に得ておけばよい。通常、式（１７）を使って、投影画像の輝度を調整するときは、プロジェクタのへの入力輝度と出力輝度の間で線形化作業が行われていることを前提とする。これに対して、そのような作業が行われていない場合には、次のフィードバック制御によって、プロジェクタに入力するための適切なＲＧＢ輝度値を算出する。
【００３６】
この処理では、停止のトリガーがかからない限り、カメラ観測による画像が平面射影補正部３３で幾何補正されて、随時、投影制御部３４へ転送されるとする。その画像の各画素は、陰影画像生成部３２から取り出した画像上の各画素に対応付けられているので、観測画像の画素値Ｃ’とに対応する陰影画像上の画素値をＣとする。各画素の輝度変化ΔＣを
【数１８】
0005841495.tif 000019
の計算によって算出する（ステップＳ２２）。全画素について式（１８）の輝度変化値を算出し、その平均値（輝度誤差）を計算する。輝度誤差が許容値ε（例えば、ε＝１０に設定しておく）より小さい場合（ステップＳ２３：ＹＥＳ）は、現時点で処理を停止し、次の所定画像の輝度補正を進める。そうでない場合（ステップＳ２３：ＮＯ）は、輝度補正する画像の全ての画素について、プロジェクタへの入力輝度値を
【数１９】
0005841495.tif 000020
により更新する（ステップＳ２４）。ここで、Ｐ（ｔ）は状態ｔでのプロジェクタへの入力値であり、状態ｔはフィードバックによる反復回数を表す。ΔＣ（ｔ−１）は状態ｔ−１の時点での式（１８）で得られる輝度変化値である。また、Ｋは３×３の行列であり、フィードバック・ゲインとしての役割を担っている。
【００３７】
ここでは、
【数２０】
0005841495.tif 000021
とするが、パラメータκは自由に設定してもよい。例えば、プロジェクタ１台を輝度補正する形態ではκ＝１．０にセットする。全ての画素の輝度を補正した後、所定の領域に画像を投影するため平面射影変換を使って変換画像を得て、プロジェクタからその画像を投影する（ステップＳ２５）。プロジェクタが補正画像を投影すると、カメラで画像を観測し、上記の処理を繰り返す。このフィードバック制御による輝度補正を、輝度誤差が許容誤差ε以下になるまで繰り返すことにより、プロジェクタの輝度を線形化せずに、陰影画像に応じた適切な輝度補正が可能となる。
【００３８】
次に、図１に示す３次元形状復元部３５の処理動作の詳細を説明する。図５は、図１に示す３次元形状復元部３５の処理動作を示すフローチャートである。投影制御部３４で用意した陰影画像を全て輝度補正した後、その画像系列を入力とする。この処理を説明する前に、画像データ行列とそのランクに基づいた行列分解について補足する。
【００３９】
ｉ番目の照明に関する画像上のｊ番目の画素のＲＧＢ値を（Ｃｒｉｊ，Ｃｇｉｊ，Ｃｂｉｊ）とすると、縦方向に画素順に、横方向に時系列の順に並べて、画像データ行列Ｉは
【数２１】
0005841495.tif 000022
を得る。そもそも、各ＲＧＢ値（Ｃｒｉｊ，Ｃｇｉｊ，Ｃｂｉｊ）は、式（２）で与えられているので、式（２１）は、次に示す行列Ｎと行列Ｌの積として、
【数２２】
0005841495.tif 000023
【数２３】
0005841495.tif 000024
【数２４】
0005841495.tif 000025
と表現できる。
【００４０】
行列Ｎは各要素がコンテンツ画像の画素値（ｒｊ，ｇｊ，ｂｊ）でスケール倍された表面法線行列であり、行列Ｌはカラーチャネルに拡張された光源方向行列となる。式（２２）〜式（２４）により、Ｐ×３Ｆの行列ＩはＰ×９の行列Ｎと９×３Ｆの行列Ｌに分解でき、行列Ｉのランクはたかだか９であることを示している。図５の処理は、式（２２）〜式（２４）に示した行列分解に基づいて処理を行う。
【００４１】
まず、３次元形状法復元部３５が処理を開始すると、平面射影補正部３３から転送されたＦ枚の陰影画像から、式（２１）のデータフォーマットに従った画像データ行列Ｉを生成する（ステップＳ３１）。この行列を特異値分解（ステップＳ３２）により、
【数２５】
0005841495.tif 000026
【数２６】
0005841495.tif 000027
と行列分解を行う（Ｐ’は便宜上Ｐ−９と置換している）。特異値分解は公知の数学ライブラリを使用すればよい。
【００４２】
次に、式（２２）〜式（２４）において行列Ｉのランクはたかだか９であるので、それ以上の高次の行列要素は雑音と見なして、
【数２７】
0005841495.tif 000028
のランク９の近似を得る（ステップＳ３３）。ここで、仮の表面法線行列〜Ｎ（〜はＮの上に付く、以下同様）と仮の光源方向行列〜Ｌ（〜はＬの上に付く、以下同様）を、それぞれ、
【数２８】
0005841495.tif 000029
とする。ここで仮の行列としたのは、例えば、式（２８）の〜Ｌは必ずしも式（２４）の行列Ｌと一致しないからである。そこで、９×９の線形変換Ｑによって、
【数２９】
0005841495.tif 000030
【数３０】
0005841495.tif 000031
の変換を行って、表面法線行列Ｎと光源方向行列Ｌを得る（ステップＳ３４，Ｓ３５）。
【００４３】
本処理では、陰影画像生成部３２において各照明の方向ベクトルｌｉを保持しているので、これを式（２４）に代入して行列Ｌを得る。これに付随して、式（３０）から、
【数３１】
0005841495.tif 000032
で変換行列Ｑを求める（ステップＳ３６）。変換行列Ｑを得ると、式（２９）を使って、表面法線行列Ｎを算出する（ステップＳ３７）。そして、カウンタ値ｊに１をセットし（ステップＳ３８）、ｊ≦Ｐ（全画素数の値）を満たしたか否かを判定する（ステップＳ３９）。この判定の結果、ｊ≦Ｐを満たしていなければ、表面法線行列Ｎから、表面法線ｎｊとそれに対応する画素値（ｒｊ，ｇｊ，ｂｊ）を復元する（ステップＳ４０、Ｓ４１）。説明の便宜上、式（３１）で得た表面法線行列Ｎを、
【数３２】
0005841495.tif 000033
とする。各画素に対する表面法線ｎｊは式（７）で表すことができるので、行列Ｎのｊ番目の３つの行ベクトル：＾ｎＴｒｊ，＾ｎＴｇｊ，＾ｎＴｂｊ（＾はｎの上に付く、以下同様）の第３番目の要素は、そのまま画素値（ｒｊ，ｇｊ，ｂｊ）に対応することが明らかである。そこで、この処理では、ｍ＝［０，０，１］Ｔのベクトルを用意して、
【数３３】
0005841495.tif 000034
の内積計算より、画素値（ｒｊ，ｇｊ，ｂｊ）を得る。さらに、式（２３）が示しているように、行列Ｎのｊ番目の３つの行ベクトル＾ｎＴｒｊ，＾ｎＴｇｊ，＾ｎＴｂｊはそれぞれの輝度値ｒｊ，ｇｊ，ｂｊでスケール倍されていることを利用して、
【数３４】
0005841495.tif 000035
の計算により、それぞれの画素の表面法線ベクトルｎｊを計算する。
【００４４】
次に、カウンタ値ｊを更新（ステップＳ４２）しながら上記計算を全ての画素に対して行い、全ての点の表面法線ベクトルを得る。続いて、テクスチャ画像の復元を行う（ステップＳ４３）とともに、表面法線のデータを入力し（ステップＳ４４）、経路積分によって、元の３次元点（Ｘｊ，Ｙｊ，Ｚｊ）を復元する（ステップＳ４５）。この計算は一般に公知であるため、ここでは詳細を省略する。
【００４５】
任意の凸形状の３次元データをコンテンツ画像と合わせて陰影画像を生成し、それをプロジェクタ・カメラシステムで観測すると、視覚にはコンテンツ画像を認識できるだけで、陰影情報から何の立体形状が重畳されているのか分からないが、上記の処理を行うことにより、カメラ２で観測した画像列から重畳されている３次元データと元のコンテンツ画像を取り出すことができる。
【００４６】
以上説明したように、本実施形態では、図６に示す無限遠光源を使った照明ではなく、図７に示すようにプロジェクタ・カメラシステムにおいて、蛍光灯などのプロジェクタ投影光以外の環境光を用いるようにした。図７は、環境光下でのプロジェクタ・カメラシステムを使った陰影投影を示す図である。スクリーンの前には被写体が存在しないが、図６でのカメラ観測と同様の陰影画像をプロジェクタ・カメラシステムを使って観測する。投影されている画像は単なる濃淡の陰影画像ではなく、３次元形状とは無関係なコンテンツ画像が投影されてもよい。
【００４７】
すなわち、コンテンツ画像のＲＧＢ値に加えて、被写体の表面法線と照明方向ベクトルから算出される陰影画像を重畳投影する。コンテンツ画像の投影画像に対して邪魔しない程度に陰影情報が重畳されていれば、視覚的にはその陰影画像をほとんど認識できない。これにより、投影画像から視覚的には３次元形状を認識しないが、カメラ観測によって得た画像から演算によって元の物体の３次元形状を得ることができる。
【００４８】
なお、図１における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより投影型の３次元形状復元処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００４９】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【００５０】
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行っても良い。
【産業上の利用可能性】
【００５１】
プロジェクタの投影画像をカメラで観測し、その複数の観測画像から、投影画像に重畳されている元の３次元形状を復元することが不可欠な用途に適用できる。
【符号の説明】
【００５２】
１・・・プロジェクタ、２・・・カメラ、３・・・投影型３次元形状復元装置、３１・・・画像入力部、３２・・・陰影画像生成部、３３・・・平面射影補正部、３４・・・投影制御部、３５・・・３次元形状復元部
【図１】
0005841495.tif 000036
【図２】
0005841495.tif 000037
【図３】
0005841495.tif 000038
【図４】
0005841495.tif 000039
【図５】
0005841495.tif 000040
【図６】
0005841495.tif 000041
【図７】
0005841495.tif 000042