(57)【要約】【課題】複数の画像から取得した形状情報を基に光源推定に適した領域のみを計算処理に使用することで、高速に撮影シーン内の光源を推定すること。【解決手段】点群データ算出部４０６は、多視点で撮影した画像から被写体の点群データを算出する。点群データは、被写体の表面形状を表す多数の３次元座標の集合で構成される。算出した点群データは、ポリゴン生成部４０７および計算ポイント抽出部４０８へ出力する。ポリゴン生成部４０７は、点群データ算出部４０６で算出した点群データから被写体のポリゴンデータを生成する。生成したポリゴンデータは、計算ポイント抽出部４０８および画素値推定部４１０へ出力する。計算ポイント抽出部４０８は、点群データ内の各点について遮蔽の度合いを算出し、遮蔽の度合いが設定した閾値より大きい点を、光源推定に用いる点として抽出する。抽出した計算ポイントは反射特性取得部４０９、画素値推定部４１０および光源推定部４１１へ出力する。【選択図】図４
2013218583.tif 000002
【特許請求の範囲】
【請求項１】
複数の視点について取得した撮影画像データから算出した被写体の点群データに基づいて、光源推定に用いる点である計算ポイントの３次元座標を算出する計算ポイント抽出手段と、
前記計算ポイント抽出手段で算出した計算ポイントの３次元座標と前記計算ポイントの各画素の反射特性とから、複数の参照光源下における画素値を推定し、前記取得した撮影画像データと、前記推定した画素値とに基づいて、撮影シーン内の光源を推定する光源推定手段と
を備えたことを特徴とする画像処理装置。
【請求項２】
前記計算ポイント抽出手段は、前記被写体の3次元の形状に応じて、前記算出した点群データ内の各点について遮蔽の度合いを算出し、遮蔽の度合いが閾値より大きい点の３次元座標を、計算ポイントの３次元座標として算出することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記光源推定手段は、撮影シーン内の光源が各参照光源の線形和で表される光源環境下において、１つの参照光源のみが被写体に照射されている場合に、計算ポイントが前記撮影画像上で取る画素値を推定することを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
複数の視点について取得した撮影画像データから算出した被写体の点群データに基づいて光源推定に用いる点である計算ポイントの３次元座標を算出する計算ポイント抽出工程と、
前記計算ポイント抽出工程で算出した計算ポイントの３次元座標と前記計算ポイントの各画素の反射特性とから、複数の参照光源下における画素値を推定し前記取得した撮影画像データと、前記推定した画素値とに基づいて、撮影シーン内の光源を推定する光源推定工程と
を備えたことを特徴とする画像処理方法。
【請求項５】
コンピュータを請求項１乃至３のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、その方法およびプログラムに関し、特に複数の撮影画像の画像処理装置、その方法およびプログラムに関する。
【背景技術】
【０００２】
撮影画像に対して撮影者の意図に沿った効果を与えるために、画像加工ソフトウェアなどによる加工処理を行う場合がある。例えば、撮影画像の光源の種類や方向を変えたり、仮想物体を合成したりするなどの加工処理が考えられる。従来、このような処理を行っても見るものに不自然さを感じさせ無い加工画像を作成するためには、熟練者が時間をかけ種々の調整を行って加工処理を行う必要があった。しかし、撮影画像内の被写体形状、質感あるいは撮影シーン内の光源などの情報が分かっている場合は一般的に加工を熟練者に頼らず自動化することが可能であり、また、撮影画像からこれらの情報を推定する種々の技術が提案されている。したがって、撮影画像から光源などの情報を推定することができれば、様々な加工処理を熟練者に頼らず自動化することができる。
【０００３】
情報を推定する技術のうち光源を推定する技術に関しては、従来から鏡面球等の特殊な装置を撮影シーン内に配置することで光源を推定する技術がある。このような光源推定技術では、カメラの位置と光源が写り込んだ鏡面球の撮影画像とを計算処理することにより光源を推定することができる。しかし、光源を推定する為に撮影シーン内に鏡面球を配置・撮影しなければならないという問題があり、全周囲画像を取得して光源を推定する手法が提案されている（特許文献１）。すなわち、特許文献1の技術では、ビデオカメラを付けたヘッドマウントディスプレイをユーザが装着して動いたり周囲を見ましたりすることにより全周囲画像を取得し、光源を推定することができる。また、撮像画像内に写っている影を抽出し、抽出された影から光源を推定する手法も提案されている（非特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−３３５３１号公報
【非特許文献】
【０００５】
【非特許文献１】T. Okabe, I. Sato, and Y. Sato. “Spherical Harmonics vs. Haar Wavelets: Basis for Recovering Illumination from Cast Shadows”, CVPR, 50-57, 2004.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の技術では全周囲画像を取得する為にユーザが全周囲方向に動き回る必要がある。
【０００７】
また、非特許文献１の手法を用いた場合、影を高精度に推定する為に撮影画像内の全画素の画素値を用いて推定すると、影を推定する計算処理に時間が掛かるという課題がある。
【０００８】
そこで本発明では、複数の画像から取得した形状情報を基に光源推定に適した領域のみを計算処理に使用することで、高速に撮影シーン内の光源を推定することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の画像処理装置は、複数の視点について取得した撮影画像データから算出した被写体の点群データに基づいて、光源推定に用いる点である計算ポイントの３次元座標を算出する計算ポイント抽出手段と、計算ポイント抽出手段で算出した計算ポイントの３次元座標と計算ポイントの各画素の反射特性とから、複数の参照光源下における画素値を推定し、取得した撮影画像データと、推定した画素値とに基づいて、撮影シーン内の光源を推定する光源推定手段とを備えたことを特徴とする。
【発明の効果】
【００１０】
本発明は、複数の画像から取得した形状情報を基に光源推定に適した領域のみを計算処理に使用することで、高速に撮影シーン内の光源を推定することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施例にかかる多眼方式の撮影装置のイメージ図である。
【図２】実施例１のシステム構成図である。
【図３】本実施例の撮像部のシステム構成図である。
【図４】実施例１の画像処理部のブロック図である。
【図５】実施例１の画像処理の原理を説明するための図である。
【図６】実施例１の画像処理で用いる影の様子を示す図である。
【図７】実施例１の画像処理で用いる影の状態から計算に用いる領域を抽出する処理を説明するための図である。
【図８】実施例１の画像処理で用いる影の様子を示す図である。
【図９】実施例１の動作を示すフローチャートである。
【図１０】本実施例の画像処理部の計算ポイント抽出部の動作を示すフローチャートである。
【図１１】本実施例の一般的なレンダリング方程式を説明するための図である。
【図１２】本字指令の点群データ算出部で算出する点群の様子を示す図である。
【図１３】本実施例の全周囲画像の撮影条件を説明するための図である。
【図１４】本実施例の画像処理部の計算ポイント抽出部で生成する全周囲画像を説明するための図である。
【図１５】本実施例の画像処理部の計算ポイント抽出部で抽出した計算ポイントおよび番号データを説明するための図である。
【図１６】本実施例の画像処理部の計算ポイント抽出部で抽出した計算ポイントおよび番号データを説明するための図である。
【図１７】本実施例の画像処理部の光源推定部の動作を示すフローチャートである。
【発明を実施するための形態】
【００１２】
［実施例１］
本実施例では、撮像部をＮ個（本実施例ではＮ＝９）配置した多眼方式の撮像装置を用いるが、これに限られず複数の画像データを取得できるものであれば、通常の撮像装置を含むいずれの画像取得装置を用いることもできる。図１は、複数のカメラで構成される多眼方式の撮像装置の一例を示す図である。図１に示すように、９個のカメラ１０１〜１０９は、３行３列の正方格子上に配置され、すべて筺体１１１の同一平面上に配置されているため、その光軸はすべて平行、かつ配置された平面に垂直である。シャッターボタン１１０は、画像撮影を制御するボタンであり、ユーザがシャッターボタン１１０を押すことで画像撮影が開始される。
【００１３】
本実施例のシステム構成を、図２を参照して説明する。撮像部１０１〜１０９は、被写体の光情報をセンサーで受光し、Ａ／Ｄ変換を施してデータ転送経路であるバス２１４にデジタルデータを出力する。フラッシュ２０１は、被写体に光を照射する。ＲＯＭ２０２とＲＡＭ２０３は、撮像や画像処理に必要なプログラム、データ、作業領域など本実施例で実行する処理のための種々の領域をＣＰＵ２０４に提供する。ＣＰＵ２０４は、ＲＡＭ２０３をワークメモリとして、ＲＯＭ２０２やＲＡＭ２０３に格納されたプログラムを実行し、バス２１４を介して各構成を制御する。これにより、後述する様々な処理が実行される。撮像装置制御部２０５は、フォーカスを合わせる、シャッターを開く、絞りを調節するなど、ＣＰＵ２０４から指示により撮像系の制御を行う。
【００１４】
操作部２０６は、入力されたユーザ指示を受け取ってＣＰＵ２０４などに送るが、通常はカメラに設けられたボタンやモードダイヤルなどである。ＣＧ生成部２０７は、文字やグラフィックなどを生成する。表示部２０８は、一般的には液晶ディスプレイが広く用いられており、ＣＧ生成部２０７や後述のデジタル信号処理部２０９、画像処理部２１３から受け取った撮影画像や文字の表示を行う。また、表示部２０８は、タッチスクリーン機能を有していても良く、その場合は、ユーザ指示を受け取る操作部２０６として扱うことも可能である。デジタル信号処理部２０９は、デジタル信号にホワイトバランス処理、ガンマ処理、ノイズ低減処理などを行い、デジタル画像を生成する。圧縮・伸張部２１０は、上記デジタル信号をＪｐｅｇやＭｐｅｇなどのファイルフォーマットに変換する処理を行う。外部メモリ制御部２１１は、ＰＣその他メディア２１２、例えばハードディスク、メモリーカード、ＣＦカード、ＳＤカード、ＵＳＢメモリなどに接続するためのインターフェースである。画像処理部２１３は、撮像部１０１〜１０９から得られたデジタル画像或いは、デジタル信号処理部から出力されるデジタル画像を利用して新たな画像を生成し、その結果をバス２１４などへ出力する。
【００１５】
図３を参照して、撮像部１０１〜１０９の詳細を説明する。撮像部１０１〜１０９は、装着フィルター３０１、レンズ３０２、絞り３０３、シャッター３０４、光学フィルター３０５およびセンサー３０６などから構成され、被写体の光量を検知する。Ａ／Ｄ変換部３０７は被写体の光量をデジタル信号に変換し、バス２１４にデジタルデータを出力する。ここで一般には、装置の構成要素は上記以外にも存在するが、本件発明の主眼ではないので説明を省略する。
【００１６】
図４は、本発明を適用できる画像処理部の一例を示すブロック図である。本実施例では、画像処理部２１３は撮像部も含む撮影システム内にあるように説明しているが、これに限られることなく、単独の画像処理装置として、あるいはＰＣ等の装置に組み込む形態で提供することができる。すなわち、単独のが図処理装置または画像処理部に、別途撮影された複数の画像を入力して、本実施例の処理を実行することもできる。
【００１７】
入力端子４０１から多視点で撮影した画像が、撮影画像取得部４０４へ入力される。同様に、個々の撮像部のカメラパラメータは、入力端子４０２からカメラパラメータ取得部４０５へ入力される。取得した撮影画像及びカメラパラメータは点群データ算出部４０６、反射特性取得部４０９、光源推定部４１１へ入力される。点群データ算出部４０６は、多視点で撮影した画像から被写体の点群データを算出する。点群データは、被写体の表面形状を表す多数の３次元座標の集合で構成される。算出した点群データは、ポリゴン生成部４０７および計算ポイント抽出部４０８へ出力する。ポリゴン生成部４０７は、点群データ算出部４０６で算出した点群データから被写体のポリゴンデータを生成する。生成したポリゴンデータは、計算ポイント抽出部４０８および画素値推定部４１０へ出力する。
【００１８】
計算ポイント抽出部４０８は、点群データ内の各点について遮蔽の度合いを算出し、遮蔽の度合いが設定した閾値より大きい点を、光源推定に用いる点（以下、計算ポイントと呼ぶ）として抽出する。すなわち、本発明では光源推定にあまり影響のない点を光源推定処理に用いないようにして計算処理負荷を低減して処理の高速化を図るものであることから、本計算ポイント抽出部４０８で光源推定処理の用いる点である計算ポイントを抽出する。抽出した計算ポイントは反射特性取得部４０９、画素値推定部４１０および光源推定部４１１へ出力する。
【００１９】
反射特性取得部４０９は、予め取得しておいた反射特性データの中から各計算ポイントに対応する反射特性を、入力端子４０３から取得する。取得した反射特性は、画素値推定部４１０へ出力する。画素値推定部４１０は、ポリゴンデータと反射特性とを用いて、各計算ポイントが撮影画像上で取る画素値を推定する。推定した各計算ポイントの画素値は、光源推定部４１１へ出力する。光源推定部４１１は、撮影画像から取得した各計算ポイントの画素値と、画素値推定部４１０で推定した計算ポイントの画素値から、撮影シーン内の光源を推定する。推定した光源データはＣＧ画像生成部４１２へ出力する。ＣＧ画像生成部４１２は、光源推定部４１１で推定した撮影シーン内の光源データから、撮影画像を合成・加工処理したＣＧ画像、すなわちあたかも推定された光源の下撮影されたような画像を生成する。生成したＣＧ画像は出力端子４１３から出力される。
【００２０】
本実施例の原理について説明する。図５のように半球面５１０を２×８に均等分割、すなわち反球面を縦に２分割し周囲方向に３６０度を８分割し、各分割領域から光が反面球の中心に向けて照射された場合の光源マップを考える。図６なし８の光源マップ（２）は、反面球の分割された各領域を２×８のマップとして配列し、対応する領域の光源強度を示したものである。本実施例では、図５に示すように反面球５１０内に直方体５０１と平面板５０２を配置し、図６の光源マップ（２）の環境で撮影装置５０３で撮影した画像（図６の画像（１））を用いて説明する。図５を参照すると、画像（１）の中心付近には直方体５０１が写されており、その周囲に光源からの光が直方体５０１に当たって影が形成されている。
【００２１】
従来技術の光源推定では、図８の画像（１）に示すように撮影装置５０３が撮影した画像全体について推定処理を実行する。これに対し、本実施例の光源推定では図７の画像（１）の計算ポイントの領域７０１内でのみ推定処理の計算を行う。すなわち、図６の画像（１）を参照すると理解できるように光源マップ（２）の環境では、直方体５０１により形成される影は画像全体には現れていない。影が形成されない領域は光源の影響が極めて少ない領域であるから、そのような領域は光源推定の計算に使用しなくても精度の高い光源推定が可能である。本実施例では、そのような光源推定の計算結果に影響を与えることの少ない領域を計算対象から除外して、例えば図７の計算ポイント領域７０１内でのみ光源推定を行うことにより効率のいい光源推定を行うことができる。実際に、光源推定にメモリ４ＧＢ、Ｉｎｔｅｌ Ｘｅｏｎ３．１７ＧＨｚのＣＰＵを搭載したＰＣを用いて、図７に示す限定した領域のみの使用した場合と、従来の全領域をした場合との比較をした。その結果は、図７に示す撮影画像上の斜線で囲まれた領域７０１内の画素から光源を推定する場合、計算時間は１３．６秒となる。一方、図８に示すように、撮影画像上の全画素（２５６×２５６ｐｉｘｅｌ）を用いる従来手法で光源を推定する場合計算時間は２０．３秒となる。以上より、本実施例を用いると従来手法に比べて高速な光源推定が可能となることが理解できる。
【００２２】
［画像処理部２１３の動作］
図９は、本実施例の画像処理方法を示すフローチャートである。詳細には、図９のフローチャートに示す手順を記述したコンピュータで実行可能なプログラムをＲＯＭ２０２からＲＡＭ２０３上に読み込んだ後に、ＣＰＵ２０４によってプログラムを実行することによって本処理が実行される。
【００２３】
以下、図９に示す各処理について説明する。撮影画像取得部４０４は、撮影画像データをＲＯＭ２０２またはＲＡＭ２０３等の記憶領域に入力する（Ｓ６０１）。カメラパラメータ取得部４０５は、撮像部に対応するカメラパラメータを取得して所定の記憶領域に入力する（Ｓ６０２）。カメラパラメータは、各カメラの焦点距離および光軸ずれを表す内部パラメータ並びに各カメラの３次元座標を表す外部パラメータ等を含む。点群データ算出部４０６は、ステップＳ６０１で入力した撮影画像データとステップＳ６０２で入力したカメラパラメータとから、被写体の点群データを算出する（Ｓ６０３）。点群データは、Ｐａｔｃｈ−ｂａｓｅｄ Ｍｕｌｔｉｖｉｅｗ ＳｔｅｒｅｏやＳｔｒｕｃｔｕｒｅ Ｆｒｏｍ Ｍｏｔｉｏｎ等の形状推定アルゴリズムを用いて算出し、所定の記憶領域に記憶する。ポリゴン生成部４０７は、ステップＳ６０３で算出した点群データから、ドロネー分割による領域分割や、ポアソン関数を用いた表面構成手法等を用いてポリゴンデータを生成する（Ｓ６０４）。生成したポリゴンデータは、所定の記憶領域に記憶する。
【００２４】
計算ポイント抽出部４０８は、ステップＳ６０３で算出した点群データと、ステップＳ６０４で生成したポリゴンデータとから、点群データ内の各点について遮蔽の度合い、すなわち光源から発せられた光を遮蔽する程度を算出する。遮蔽の度合いが設定した閾値より大きい点は、より強く光源からの光が当たっていると考えられるので光源推定に用いる点（計算ポイント）として抽出する（Ｓ６０５）。計算ポイントの抽出方法の詳細は図１０を用いて後述する。抽出した計算ポイントは、点群データと対応付けて所定の記憶領域に記憶する。反射特性取得部４０９は、ステップＳ６０５で抽出した計算ポイントに対応する反射特性を、予め所定の記憶領域に記憶しておいた反射特性データの中から取得する（Ｓ６０６）。ステップＳ６０１で取得した撮影画像データに対して、本技術分野で知られた既存の物体認識技術を用いることにより、各計算ポイントに対応した反射特性データを取得する。取得した反射特性データは、各計算ポイントに対応付けて所定の記憶領域に記憶する。
【００２５】
本実施例では計算ポイントとなる平面板の反射特性は、反射光の輝度が出射方向に対して一様なLambert反射とし、反射率は１とする。尚、カラー画像を用いる場合は同様の処理をＲ, Ｇ, Ｂの３チャンネルそれぞれについて行う。本実施例では簡単の為、白黒画像の１チャンネルの場合で説明する。画素値推定部４１０は、ステップＳ６０４で生成したポリゴンデータ、ステップＳ６０５で抽出した計算ポイント、ステップＳ６０６で取得した各計算ポイントの反射特性から、複数の参照光源下における各計算ポイントの画素値を推定する（Ｓ６０７）。本実施例では、図６等に示すように、光源環境が半球面を２×８に均等分割した１６個の参照光源からなる無限遠光源マップを使用する。各参照光源は光源１, 光源２, 光源３, ・・・, 光源１６と各参照光源に対応した番号が割り振られており、輝度値は１とする。１６個中１つの参照光源のみが被写体を照射している光源環境下で撮影した場合に、各計算ポイントが取る画素値を、以下のレンダリング方程式（１）を用いて推定する。
【００２６】
【数１】
2013218583.tif 000003
【００２７】
ここで、Ｉ（ｒ, θr, φr）は推定する画素値、fr（r, θr, φr, θL, φL）は計算ポイントの反射特性、ＩL（r, θL, φL）は入射光源の輝度である。本実施例では計算ポイント（平面板）の反射特性が反射率１のLambert反射なので、fr（r, θr, φr, θL, φL）＝1／πである。また、入射光源は輝度値１の参照光源なのでＩL（r, θL, φL）＝１である。kは反射光の輝度を画素値へ変換する、撮影装置固有の変換係数である。ｒは推定する計算ポイントの３次元座標を表す３×１ベクトルである（図８）。θL, φLは計算ポイントにおけるポリゴンの面法線（ｎr）を基準にした時の光源の入射方向に対する緯度、経度方向の角度である。θr, φrは光源の出射方向に対する緯度、経度方向の角度である。本実施例では、出射方向は撮像装置の真ん中に配置された撮像部１０５の光学中心とする。ＳLは光源Ｌ（Ｌ＝１〜１６）の入射方向θL, φLの範囲を表す。
【００２８】
上式（１）を用いて参照光源Ｌ下における各計算ポイントの画素値を推定し、所定の記憶領域に記憶する。光源推定部４１１は、ステップＳ６０１で取得した撮影画像データと、ステップＳ６０５で抽出した計算ポイントとから、各計算ポイントに対応した撮影画像の画素値を取得する。撮影画像データから取得した各計算ポイントの画素値と、ステップＳ６０７で推定した各参照光源下における画素値とから、撮影シーン内の光源を推定する（Ｓ６０８）。光源の推定方法の詳細は、図１７を用いて後述する。推定した光源データは、所定の記憶領域に記憶する。ＣＧ画像生成部４１２は、ステップＳ６０８で推定した光源データと、所定の記憶領域に記憶しておいた形状・反射特性が既知の仮想物体データとから、撮影シーン内に仮想物体を配置した場合の画素値を式（１）を用いて算出する。算出した仮想物体の画素値データを用いて、撮影画像内に仮想物体を合成したＣＧ画像を生成し、処理を終了する（Ｓ６０９）。
【００２９】
［計算ポイント抽出部４０８の動作］
以下では、ステップＳ６０５の計算ポイント抽出処理の詳細について、図１０のフローチャートを用いて説明する。ここでは図１２のように、撮像部１０５で撮影した画像内に、ステップＳ６０３で算出したＭ個の点から成る点群があり、各点は左上から右下に向かって順に点１, 点２, 点３, ・・・, 点Ｍと各点に対応した番号が割り振られているものとする。この各点について以下の処理を実行し、計算ポイントとするか否かを判定する。すなわち、図１４に示す直方体５０１と光源からの光とにより形成される影の部分である遮蔽部分１４０１の全体の画像に対する比を求め、一定の式一以上の点は光源推定に影響を及ぼすものとして計算ポイントと判定する。具体的に処理を説明すると、ステップＳ７０１では、点の番号ｉに対してｉ＝１に初期化する。計算ポイント抽出部４０８は、点ｉの３次元座標を光学中心とする全周囲画像の生成に必要な射影変換行列Ｐを式（２）、（３）に従い算出する（Ｓ７０２）。
【００３０】
【数２】
2013218583.tif 000004
【００３１】
【数３】
2013218583.tif 000005
【００３２】
ｐiは撮像部１０５の光学中心Ｏを原点とするｘｙｚ空間上における点ｉの３次元座標を表す３×１ベクトルである（図１３）。ｗ、ｈはそれぞれ全周囲画像の横、縦方向の画素サイズである。本実施例ではｗ＝２５６ｐｉｘｅｌ、ｈ＝２５６ｐｉｘｅｌとする。また、図１３に示すようにｎviewは、点ｉを光学中心とする全周囲画像を撮影する際の光軸の向きを表す３×１ベクトルである。ここでは、点ｉを含むポリゴン領域の面法線と同じ向きで大きさ１のベクトルとする。ｎupは全周囲画像の上方向を表す３×１ベクトルである。ここでは、撮像部１０５のｙｚ平面と平行かつｎviewと直交する向きで、大きさ１のベクトルとする。ｎleftは全周囲画像の左方向を表す、大きさ１の３×１ベクトルである。本実施例では、ｎupとｎviewの外積から求める（式（４））。
【００３３】
【数４】
2013218583.tif 000006
【００３４】
角度φ、θはそれぞれ全周囲画像を生成する際の縦（ｎup）、横（ｎleft）方向の画角である。本実施例ではφ＝１７９°、θ＝１７９°とする。算出した射影変換行列Ｐは、点ｉと対応付けて所定の記憶領域に記憶する。計算ポイント抽出部４０８は、ステップＳ７０２で算出した射影変換行列Ｐを式（５）に入力し、点ｉを光学中心とした全周囲画像内における、Ｍ−１個の点の画素位置を算出する。算出した画素位置を基に、各点を繋ぎ合わせてポリゴン化した全周囲画像を生成する（Ｓ７０３）。
【００３５】
【数５】
2013218583.tif 000007
【００３６】
ｋは式（５）右辺の（３, １）成分を１にする規格化係数である。また、図１４に示すようにｕ、ｖは全周囲画像の光学中心（ｐi）を原点とした横方向、縦方向の画素位置である。ｕ軸の向きはｎleftの向き、ｖ軸の向きはｎupの向きと一致する。Ｘ，Ｙ，Ｚは各点の３次元座標である。生成した全周囲画像は、点ｉと対応付けて所定の記憶領域に記憶する。計算ポイント抽出部４０８は、ステップＳ７０３で生成した全周囲画像を用いて、点ｉにおける遮蔽の度合いを算出する（Ｓ７０４）。遮蔽の度合いは、全周囲画像内に写っているＭ−１個の点から成るポリゴン領域内に含まれる画素数、すなわち遮蔽部分１４０１に含まれる画素数を、全周囲画像全体の画素数（２５６×２５６ｐｉｘｅｌ）で割り算する事により算出する。算出した遮蔽の度合いは、点ｉに対応付けて所定の記憶領域に記憶する。
【００３７】
計算ポイント抽出部４０８は、ステップＳ７０４で算出した遮蔽の度合いＳがＳ≧Ｓth（本実施例ではＳth＝０．３）を満たすかどうかを判定する（Ｓ７０５）。Ｓ≧Ｓthを満たす場合は、点ｉを光源推定に用いる点（計算ポイント）と判定し、ステップＳ７０６へ移行する。Ｓ≧Ｓthを満たさない場合は、光源推定に用いない点と判定し、ステップＳ７０７へ移行する。判定の結果、計算ポイントと判定された点の番号ｉに対して新たに計算ポイントの番号を割り振り、所定の記憶領域へ記憶する（Ｓ７０６）。ステップＳ７０７では、点の番号ｉに対して、ｉ＝ｉ＋１に更新する。計算ポイント抽出部４０８は、点の番号ｉがｉ≧Ｍを満たすかどうかを判定する（Ｓ７０８）。ｉ≧Ｍを満たす場合は、Ｍ個全ての点について処理を終了したと判定し、計算ポイント抽出処理を終了する。ｉ≧Ｍを満たさない場合は、ステップＳ７０２に戻る。
【００３８】
計算ポイント抽出処理で抽出した計算ポイントおよび番号データのイメージ図を図１５および１６に示す。図１５は撮像部１０５で撮影した画像から抽出された、計算ポイントの領域を示すイメージ図である。Ｍ個の点の内、遮蔽の度合いが設定した閾値以上の点（Ｔ1〜ＴT）を計算ポイントとして抽出している。本実施例では、計算ポイントはＴ個抽出されているとした。図１６に示すように、計算ポイントが抽出されると、計算ポイントとして抽出された計算ポイントの番号データが点の番号ｉと対応付けて記憶領域に記憶され、計算ポイントとして抽出されなかった計算ポイントの番号データは空になる。
【００３９】
［光源推定部４１１の動作］
以下では、ステップＳ６０８の光源推定処理の詳細について、図１７のフローチャートを用いて説明する。光源推定部４１１は、ステップＳ６０１で取得した画像データ、ステップＳ６０２で取得したカメラパラメータおよびステップＳ６０５で抽出した計算ポイントから、各計算ポイント番号ｉに対応した撮影画像の画素値ｑiを取得する（Ｓ１３０１）。本実施例では、式（６）に示すように撮像部１０５で取得した撮影画像内にある計算ポイントｉの画素値ｑiを取得する。取得した画素値ｑiは、各計算ポイントの番号ｉに対して昇順に並べたＴ×１ベクトルとして記憶する。
【００４０】
【数６】
2013218583.tif 000008
【００４１】
光源推定部４１１は、ステップＳ６０７で推定した参照光源Ｌ（Ｌ＝１〜１６）下における各計算ポイントｉの画素値Ｒi（ＩL）を、所定の記憶領域から取得する（Ｓ１３０２）。取得した各参照光源下における計算ポイントの画素値は、式（７）のように並べたＴ×ＬMAX行列Ｒ（本実施例では、ＬMAX＝１６）として記憶する。
【００４２】
【数７】
2013218583.tif 000009
【００４３】
ここで、光源推定の基本的性質である明るさの線形性について説明する。明るさの線形性とは、複数の光源下で観察される物体の明るさが各光源下の物体の明るさの線形和で表されるという性質のことである。この性質を用いると、２×８無限遠光源マップで表される任意の光源環境は、各参照光源Ｌの線形和で表すことができる。従って、ステップＳ１３０１で取得した画素値と、ステップＳ１３０２で取得した推定画素値との間に以下の式（８）が成り立つ。
【００４４】
【数８】
2013218583.tif 000010
【００４５】
ここで、α1, α2, α3, ・・・, αLMAXは、各参照光源Ｌの輝度を表す係数である。光源推定部４１１は、式（８）の左辺と右辺の差分で表される評価関数ｆ（α1, α2, α3, ・・・, αLMAX）に対し、最急降下法や共役勾配法等を用いて評価関数が最小となる参照光源係数α1〜αLMAXを算出する（Ｓ１３０３）。算出した参照光源係数αLは、撮影シーン内の光源データとして所定の記憶領域に記憶し、処理を終了する。
【００４６】
多眼方式の撮影装置で取得した被写体の点群データに対し、以上説明した光源推定に用いる点の抽出処理を行うことで、光源推定処理の高速化が可能となる。本実施例では多眼方式の撮影装置を用いて多視点の画像データを取得したが、被写体を囲むように配置した複数台の撮影装置や、撮影装置又は被写体を動かしながら動画撮影する撮影装置で多視点の画像データを取得しても良い。
【００４７】
また、反射特性を取得する際に既存の物体認識技術を用いて被写体に対応する反射特性を記憶領域から取得する方法を用いたが、多視点画像を用いて反射特性を推定しても良い。例えば、被写体がLambert反射であると仮定し、多視点の撮影画像で取得したＲＧＢ画素値の平均から各点の反射特性を求めても良い。光沢性を持つ被写体に対してはPhongモデルや、Torrance-Sparrowモデル等の光沢性を持つ反射モデルを用いて反射特性を推定しても良い。
【００４８】
本実施例では推定する光源データとして半球面を２×８に均等分割した無限遠光源マップを用いたが、撮影シーン内の光源環境を表現する光源データであれば良く、分割数、分割方法や、無限遠光源であることを限定するものではない。
【００４９】
尚、本実施例ではＣＧ画像として、撮影画像に形状・反射特性が既知の仮想物体を合成したが、撮影シーン内の光源データを用いた画像処理であれば良く、特に仮想物体の合成処理に限定するものではない。例えば、撮影画像の光源環境を変化させたＣＧ画像を生成しても良い。
【００５０】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。すなわち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、本発明は、複数のプロセッサが連携して処理を行うことによっても実現できるものである。
【図１】
2013218583.tif 000011
【図２】
2013218583.tif 000012
【図３】
2013218583.tif 000013
【図４】
2013218583.tif 000014
【図５】
2013218583.tif 000015
【図９】
2013218583.tif 000016
【図１０】
2013218583.tif 000017
【図１１】
2013218583.tif 000018
【図１２】
2013218583.tif 000019
【図１５】
2013218583.tif 000020
【図１６】
2013218583.tif 000021
【図１７】
2013218583.tif 000022
【図６】
2013218583.tif 000023
【図７】
2013218583.tif 000024
【図８】
2013218583.tif 000025
【図１３】
2013218583.tif 000026
【図１４】
2013218583.tif 000027