(57)【要約】【課題】  測定環境に制限を設けることなく、実物体の反射特性の推定精度を向上させる。【解決手段】  画像処理装置に、実物体上の視点から、前記実物体に対して照射される直接光と間接光とを含む複数の光源方向について得られる複数の光源パターンを、複数の環境マップとして取得する第１の取得手段と、前記第１の取得手段によって取得された前記光源パターンのそれぞれについて、前記光源パターンにより照射された前記実物体を、複数の視線方向からそれぞれ撮像した複数の撮像画像を取得する第２の取得手段と、前記第１の取得手段によって取得された前記環境マップと、前記第２の取得手段によって取得された複数の前記撮像画像に基づいて、前記実物体の反射特性を推定する推定手段と、を備える。【選択図】  図５
2018141653.tif 000002
【特許請求の範囲】
【請求項１】
実物体上の視点から、前記実物体に対して照射される直接光と間接光とを含む複数の光源方向について得られる複数の光源パターンを、複数の環境マップとして取得する第１の取得手段と、
前記第１の取得手段によって取得された前記光源パターンのそれぞれについて、前記光源パターンにより照射された前記実物体を、複数の視線方向からそれぞれ撮像した複数の撮像画像を取得する第２の取得手段と、
前記第１の取得手段によって取得された前記環境マップと、前記第２の取得手段によって取得された複数の前記撮像画像に基づいて、前記実物体の反射特性を推定する推定手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記第１の取得手段は、前記実物体上の視点から全方位を撮像することにより、前記光源パターンを取得する、ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
複数の前記環境マップのそれぞれを複数の立体角に分割する分割手段をさらに備え、
前記推定手段は、複数の前記立体角のそれぞれについて、光源方向および光源輝度を決定することにより、前記実物体の前記反射特性を推定する、ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記分割手段は、前記環境マップの複数の前記立体角への分割を、前記環境マップ内の輝度が所定値より大きくなる点を母点としてボノロイ図による領域分割によって行う、
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記実物体の形状情報を取得する第３の取得手段と、
前記第３の取得手段によって取得した形状情報に基づいて、前記実物体への入射光が遮蔽されるか否かを示す遮蔽マップを生成する生成手段と、をさらに備え、
前記推定手段は、前記生成手段によって生成された遮蔽マップを前記環境マップに適用することにより、前記実物体の前記反射特性を推定する、
ことを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記遮蔽マップは、前記実物体上の点における自己陰影または自己遮蔽を示す情報を含む、ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記推定手段は、
前記遮蔽マップに基づいて、前記実物体の反射特性が遮蔽によって欠落する場合には周囲の類似する反射特性によって補完することを特徴とする請求項５または６のいずれか１項に記載の画像処理装置。
【請求項８】
前記遮蔽マップには、可視領域を示す情報が含まれ、
前記推定手段は、
前記遮蔽マップの可視領域を示す情報に基づいて、仮想位置における仮想環境マップおよび仮想視線マップを生成する、
ことを特徴とする請求項５から７のいずれか１項に記載の画像処理装置。
【請求項９】
前記推定手段は、
前記可視領域を示す情報に基づいて、前記環境マップを分割立体角に分割して前記実物体の反射特性を推定する、
ことを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記第１の取得手段は、前記複数の環境マップを、前記実物体上の複数の位置を視点として夫々取得する、
ことを特徴とする請求項１から９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記推定手段は、
前記実物体上に設定した点において法線ベクトルに基づいた座標系を定義し、当該座標系により前記反射特性を記述する、
ことを特徴とする請求項１から１０のいずれか１項に記載の画像処理装置。
【請求項１２】
実物体上の視点から、前記実物体に対して照射される直接光と間接光とを含む複数の光源方向について得られる複数の光源パターンを、複数の環境マップとして取得する第１のステップと、
前記取得された前記光源パターンのそれぞれについて、前記光源パターンにより照射された前記実物体を、複数の視線方向からそれぞれ撮像した複数の撮像画像を取得する第２のステップと、
前記ステップによって取得された前記環境マップと、前記第２のステップによって取得された複数の前記撮像画像に基づいて、前記実物体の反射特性を推定する第３のステップと、
を有することを特徴とする画像処理方法。
【請求項１３】
コンピュータを、請求項１から１１のいずれか１項に記載された画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実物体の反射特性を推定する画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
従来、実物体の反射特性などの表面属性を推定する方法として、ゴニオフォトメータを利用して実物体の双方向反射率分布関数（ＢＲＤＦ）を測定する方法が知られている。ＢＲＤＦは、Ｂｉｄｉｒｅｃｔｉｏｎａｌ  Ｒｅｆｌｅｃｔａｎｃｅ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｆｕｎｃｔｉｏｎの略である。
特許文献１は、２次元の広がりを持つ輝度分布を有する光源から照明光が照射された実物体の撮影画像の輝度変化を、照明光の輝度分布でデコンボリューション演算することによって実物体のＢＲＤＦを推定する技術を開示する。
また、特許文献２は、ウィーナー（Ｗｉｅｎｅｒ）推定を用いて、計測時の照明の配光分布を考慮して、画素値ベクトルから実物体のＢＲＤＦを推定する推定行列を作成し、実物体のＢＲＤＦを推定する技術を開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２０３２２０号公報
【特許文献２】特開２００５−２５９００９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１や特許文献２に開示された技術は、照明光以外の外光や周囲光は実物体の反射特性推定において考慮されなかった。具体的には、特許文献１に開示された技術では、照明光の輝度分布を光源中心方向からの外れ角の関数で表していた。また、特許文献２に開示された技術では、光源面を構成する近接する複数の点光源からの光線の実物体への入射角を異なるものとみなすことで計測時の照明の配光分布を考慮するものであった。このため、いずれも、外光の影響や周囲フレーム等による反射光の影響を受けるような測定環境では、ＢＲＤＦの測定精度が悪化するという課題があった。すなわち、従来技術による測定では外光や間接光の影響を排除するために、暗室内で測定したり、反射光を抑制する黒塗りフレームを採用したりする等、測定環境に制限を設ける必要があった。
【０００５】
また、従来技術においては、簡単化のため、光源からの照明光が実物体上の全ての点に対して平行に照射されているという仮定があった。このため、実際の光源が無限遠点にない場合には、ＢＲＤＦの測定に誤差が生じていた。特に、三次元の実物体では光源までの距離に対して実物体のサイズが相対的に大きいほど誤差が顕著になる。この誤差を小さくするために、三次元の実物体上の各点に対して光源方向や視線方向を制御しながら光源の照射と撮影を繰り返す方法もあるが、膨大な時間を要するため実用的ではなかった。
本発明は、上記課題を鑑みてなされたものであり、測定環境に制限を設けることなく、実物体の反射特性の推定精度を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様に係る画像処理装置は、実物体上の視点から、前記実物体に対して照射される直接光と間接光とを含む複数の光源方向について得られる複数の光源パターンを、複数の環境マップとして取得する第１の取得手段と、前記第１の取得手段によって取得された前記光源パターンのそれぞれについて、前記光源パターンにより照射された前記実物体を、複数の視線方向からそれぞれ撮像した複数の撮像画像を取得する第２の取得手段と、前記第１の取得手段によって取得された前記環境マップと、前記第２の取得手段によって取得された複数の前記撮像画像に基づいて、前記実物体の反射特性を推定する推定手段と、を備える。
【発明の効果】
【０００７】
本発明によれば、測定環境に制限を設けることなく、実物体の反射特性の推定精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態１に係る画像処理装置の構成例を示すブロック図。
【図２】実施形態１の画像入力デバイスの構成例を示す概念図。
【図３】実施形態１の環境マップ情報と撮像画像情報の取得処理の例を示す概念図。
【図４】実施形態１の環境マップ情報と撮像画像情報の関係と分割立体角の例を示す図。
【図５】実施形態１の実物体の反射特性推定処理を示すフローチャート。
【図６】実施形態１の環境マップ情報から分割立体角を自動的に決定する例を示す図。
【図７】実施形態２における環境マップ情報と撮像画像情報の関係を示す概念図。
【図８】実施形態２における仮想環境マップ情報の生成の例を示す概念図。
【図９】実施形態２の複数の環境マップ情報の三次元最適配置の例を示す図。
【図１０】実施形態２の三次元の実物体の反射特性推定処理のフローチャート。
【図１１】実施形態２の遮蔽マップの生成例を示す概念図。
【図１２】実施形態２の法線ベクトルと仮想環境マップの関係を示す概念図。
【図１３】実施形態２の法線ベクトルと仮想環境マップおよび遮蔽マップの関係を示す概念図。
【図１４】実施形態２の遮蔽マップを考慮した仮想環境マップおよび仮想視線マップの概念図を示す図。
【図１５】実施形態２の仮想視線マップの生成の例を示す図。
【図１６】実施形態２の仮想視線マップの生成の例を示す図。
【図１７】実施形態２の遮蔽マップを考慮した仮想環境マップおよび仮想視線マップの概念図を示す図。
【図１８】実施形態２のグローバル座標系とＵＶＷ座標系の関係を示す図。
【図１９】実施形態２の三次元の実物体の反射特性推定処理のフローチャート。
【図２０】実施形態３の遮蔽を考慮した分割立体角の決定方法の例を示す図。
【図２１】実施形態３の遮蔽を考慮した三次元の実物体の反射特性推定処理を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本発明を実施するための実施形態について詳細に説明する。なお、以下に説明する各実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は、以下の実施形態に限定されるものではない。また、各実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成または処理等については、同じ符号を付して説明する。
【００１０】
実施形態１
（画像処理装置の構成）
図１は、本発明を適用した実施形態１に係る画像処理装置の構成例を示すブロック図である。
この画像処理装置は、ＣＰＵ１、メインメモリ２、シリアルＡＴＡ（ＳＡＴＡ）インタフェイス（Ｉ／Ｆ）３、ネットワークＩ／Ｆ４、ＨＤＤ５、グラフィックアクセラレータ６、モニタ７、シリアルバスＩ／Ｆ８、プリンタ９、シリアルバス１０を備えている。また、この画像処理装置は、キーボード１１、マウス１２、画像入力デバイス１３、システムバス１４を備えている。
【００１１】
メインメモリ２は、ＲＡＭとＲＯＭ等を備えている。ＣＰＵ１は、メインメモリ２のＲＡＭをワークメモリとして、メインメモリ２のＲＯＭおよびハードディスクドライブ（ＨＤＤ）５に格納されたオペレーティングシステム（ＯＳ）や各種プログラムを実行する。そして、ＣＰＵ１は、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス等のシステムバス１４を介して各構成を制御する。さらに、ＣＰＵ１は、後述する画像処理を含む各種プログラムを実行する。
ＣＰＵ１は、システムバス１４およびＳＡＴＡ  Ｉ／Ｆ３を介してＨＤＤ５にアクセスする。また、ネットワークＩ／Ｆ４を介してローカルエリアネットワーク（ＬＡＮ）等のネットワーク１５にアクセスする。
【００１２】
また、ＣＰＵ１は、シリアルバスＩ／Ｆ８とＵＳＢやＩＥＥＥ１３９４等のシリアルバス１０に接続されたデバイスと通信を行う。ＣＰＵ１は、画像処理対象の画像データや３Ｄデータをカードリーダを含む画像入力デバイス１３から取得したり、後述する制御パラメータを含む画像データや３Ｄデータをプリンタ９に出力したりして、例えばユーザが指示する画像の印刷や３Ｄ物体の造形を行う。なお、画像処理対象の画像データや３Ｄデータは、ＨＤＤ５やネットワーク１５上のサーバ等から読み出してもよい。
また、ＣＰＵ１は、後述する処理のユーザインタフェイスや処理結果を、グラフィックアクセラレータ６を介してモニタ７に表示し、ユーザからの指示をシリアルバス１０に接続されたキーボード１１、マウス１２を介して入力する。
【００１３】
なお、本実施形態においては、以下に示す画像処理の各処理は、ソフトウェアプログラムとして機能が実現されるものとして説明するが、本機能ブロックに含まれる一部または全部をハードウェアで構成してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのプログラムからＦＰＧＡ上に自動的に専用回路を生成すればよい。ＦＰＧＡとは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略である。また、ＦＰＧＡと同様にしてＧａｔｅ  Ａｒｒａｙ回路を形成し、ハードウェアとして実現するようにしてもよい。また、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）により実現するようにしてもよい。
【００１４】
（画像入力デバイスの構成）
図２は、本実施形態における画像入力デバイス１３の構成例を示す概念図である。
画像入力デバイス１３は、例えば図２（ａ）に示すように、実物体２１に照明光を照射する光源２２と、光源２２によって照明光が照射された実物体２１を撮像するデジタルカメラ２３とを備えている。
光源２２は、実物体２１を任意の角度から照射することができ、光源方向は、（θｉ，φｉ）によって定義される。また、デジタルカメラ２３は、実物体２１を任意の角度から撮像することができ、視線方向は、（θｏ，φｏ）によって定義される。ここで、（θ，φ）は、実物体２１上の点Ｘを原点とし、θは表面法線（ｎ）に対する極角、φは基準方向（ｔ）に対する方位角を示している。なお、光源２２とデジタルカメラ２３は、各々１台に限定される必要はなく、複数が同時に存在していても構わない。
【００１５】
図２（ｂ）は、光源用半円弧状アーム２４に異なる光源方向の光源２２を配置させ、撮像用半円弧状アーム２５に異なる視線方向のデジタルカメラ２３を配置させた画像入力デバイス１３の構成例である。光源用半円弧状アーム２４と撮像用半円弧状アーム２５は、実物体２１上の点Ｘを中心にして、各々独立に方位角方向へ回転させることができるため、異なる方向から照明光が照射された実物体２１を複数方向から同時に撮像することができる。また、ターンテーブル等を併用して実物体２１を回転させるようにしてもよい。
また、図２（ｃ）は、半球ドーム２６に複数の光源２２と複数のデジタルカメラ２３を配置させた構成例である。なお、ドーム形状は、半球に限定される必要はなく、全球であってもよい。このように構成することにより、光源用半円弧状アーム２４や撮像用半円弧状アーム２５を回転させたり、実物体２１をターンテーブル上で回転させたりする必要がないため、撮像時間をさらに短縮させることができる。
【００１６】
（動作概要）
以下、本実施形態の画像処理装置の動作を説明する。
まず、画像処理装置は、画像入力デバイス１３により、実物体２１を撮像した画像情報（撮像画像情報）と、環境マップ情報とを取得して、ＣＰＵ１に供給する。さらに、画像処理装置は、ＣＰＵ１による処理により、実物体２１の反射特性を推定する。
（環境マップ情報の取得）
図３（ａ）は、本実施形態における環境マップ情報の取得処理の例を示す概念図である。
画像入力デバイス１３は、実物体２１を照射する直接光と間接光からなる光源のパターン（以下、「光源パターン」という。）を変化させると共に、光源からの光が照射された実物体２１を任意の角度から撮像することができるようになっている。
この画像入力デバイス１３は、直接光と間接光からなる光源パターンと、光源が照射された実物体２１の撮像画像情報を関連付けるために、直接光と間接光からなる光源パターンを環境マップ情報として取得し、ＣＰＵ１に供給する。この環境マップ情報の取得は、光源の複数のパターン毎に行う。すなわち、光源の複数のパターン毎に複数の環境マップ情報として取得する。
【００１７】
環境マップ情報は、例えば図３（ａ）に示されるように、全方位カメラ３１を利用して取得することができる。すなわち、実物体上の視点から全方位を撮像することにより、光源パターンを取得する。あるいは、全方位カメラ３１の代わりに魚眼レンズ付きカメラやミラーボール等を利用して環境マップ情報を取得することもできる。ここで、環境マップ情報は、全球または半球の光源パターンであり、環境マップ情報の視点は実物体２１上の点Ｘと一致させるものとする。
なお、全方位カメラ３１とデジタルカメラ２３は、ダイナミックレンジの高いＨＤＲ（Ｈｉｇｈ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ）カメラを用いることが望ましい。
【００１８】
（環境マップ情報と撮像画像情報）
図３（ｂ）は、本実施形態における撮像画像情報の取得処理の例を示す概念図である。
図３（ｂ）は、光源パターンが照射された実物体２１の撮像画像４０を示している。画像入力デバイス１３は、光源２２による直接光と間接光からなる光源パターンの照明条件が変わる毎に、デジタルカメラ２３によって実物体２１の撮像画像４０を取得する。
すなわち、光源の複数のパターン毎に、光源によって照射された実物体２１を複数の視線から撮像した画像情報を取得する。
【００１９】
図４は、本実施形態における環境マップ情報（環境マップ）と撮像画像情報の関係と分割立体角の例を示す概念図である。
図４（ａ）は、９通りの光源方向の光源パターンに対して全方位カメラ３１を利用して取得された環境マップ４１〜４９の環境マップ情報と、各光源パターンに対して９通りの視線方向から実物体２１を撮像した撮像画像４１１〜４９９の関係を示している。なお、光源方向や視線方向は９通りに限定される必要はなく、光源パターンの数をＮｉ、視線方向の数をＮｖとすれば、環境マップの数はＮｉ、撮像画像の数はＮｉ×Ｎｖとなる。ここで、環境マップは全方位画像であり、例えば、縦軸θｉ（極角）、横軸φｉ（方位角）の正距円筒図法（ｅｑｕｉｒｅｃｔａｎｇｕｌａｒ  ｐｒｏｊｅｃｔｉｏｎ）形式で表現される。一方、撮像画像情報は横軸ｘｖ［ｐｉｘｅｌ］、縦軸ｙｖ［ｐｉｘｅｌ］で表現され、デジタルカメラ２３の光軸が実物体２１上の点Ｘと一致するなら、撮像画像情報の中心画素は（θｏ，φｏ）で示される。
【００２０】
（実物体の反射特性の推定）
次に、画像処理装置は、ＣＰＵ１により、環境マップ情報と撮像画像情報に基づいて実物体２１の反射特性を推定する。
一般に、双方向反射率分布関数ＢＲＤＦは、式（１）によって定義される。
【００２１】
【数１】
2018141653.tif 000003
【００２２】
ここで、ｆｒはＢＲＤＦ［１／ｓｒ］、Ｌｏは視線方向の放射輝度［Ｗ／ｓｒ／ｍ２］、Ｅｉは放射照度［Ｗ／ｍ２］、Ｌｉは光源方向の放射輝度［Ｗ／ｓｒ／ｍ２］、θｉは光源方向と実物体２１の表面法線のなす角（極角）を示している。また、ｘは点Ｘの位置座標、ωｉは光源方向（立体角［ｓｒ］）、ωｒは視線方向（立体角［ｓｒ］）を示している。
式（１）を視線方向の放射輝度Ｌｏについて解けば、式（２）のレンダリング方程式に変形される。
【００２３】
【数２】
2018141653.tif 000004
【００２４】
ここで、Ｌｅは自発光の放射輝度［Ｗ／ｓｒ／ｍ２］、Ωは全立体角の全球（４π）［ｓｒ］または半球（２π）［ｓｒ］を示す。
簡単化のため、自発光を伴わない実物体２１を例とすれば、式（３）が成立する。
【００２５】
【数３】
2018141653.tif 000005
【００２６】
式（３）を離散化し、全方向から照射される直接光と間接光の光源パターンをｍ個の分割立体角Δωｊ（ｊ＝１〜ｍ）に分割する方法を、Ｎｉ個の各光源パターンについて適用すると、視線方向ｋ∈［１，Ｎｖ］に対して、式（４）の連立一次方程式が成立する。ここで、全方位の立体角Ωと分割立体角Δωｊ（ｊ＝１〜ｍ）の間には、式（５）の関係がある。
【００２７】
【数４】
2018141653.tif 000006
【００２８】
式（４）の連立一次方程式は、行列を用いると、式（６）のように表現および変形できる。式（６）をｍ個のＢＲＤＦであるｆｒ（ｘ，１，ｋ）〜ｆｒ（ｘ，ｍ，ｋ）について解けば、式（７）によってｍ個の光源方向（１〜ｍ）と１つの視線方向（ｋ∈［１，Ｎｖ］）に対するＢＲＤＦを求めることができる。
【００２９】
【数５】
2018141653.tif 000007
【００３０】
このように、実物体２１の反射特性は、環境マップ情報の光源パターンの数Ｎｉと環境マップ情報を分割した分割立体角の数ｍに基づいて決まる光源マトリクス（Ｎｉ×ｍ）と、各光源パターンが照射された実物体２１の撮像情報Ｌｏ（１〜Ｎｉ）から推定できる。ここで、Ｎｉ＝ｍならば正方行列となり、光源マトリクスの逆行列によってＢＲＤＦの厳密解を求めることができる。他方、正方行列でなくても、特異値分解（Ｓｉｎｇｕｌａｒ  Ｖａｌｕｅ  Ｄｅｃｏｍｐｏｓｉｔｉｏｎ：ＳＶＤ）等を用いて擬似逆行列を計算することができる。Ｎｉ＞ｍならば過決定となり、ＢＲＤＦの最小二乗解が求められる。Ｎｉ＜ｍならば劣決定となり、最小ノルム解が求められる。
【００３１】
図４（ｂ）は、本実施形態における分割立体角の例を示す概念図である。
図４（ｂ）において、環境マップ４１は、ｍ個の分割立体角Δωｊ（ｊ＝１〜ｍ）に分割される。ここで、分割立体角Δωｊ（ｊ＝１〜ｍ）の大きさは全て同じである必要はない。式（６）において、環境マップ４１が行列Ａの１行目のレンダリング方程式である場合、Ｌｉ（ｘ，１，１）は、図４（ｂ）のＬｉ（１）に対応し、同様にＬｉ（ｘ，ｍ，１）は、図４（ｂ）のＬｉ（ｍ）に対応する。つまり、Ｌｉ（ｘ，１，１）は、分割立体角Δω１の光源方向（θ１，φ１）から実物体２１上の点Ｘへ入射する光の放射輝度に相当する。なお、図４（ｂ）では、環境マップを正距円筒図法形式で示しているが、環境マップは等立体角射影等の他の形式であっても構わない。
【００３２】
（動作詳細）
以下、本実施形態の画像処理装置における画像処理の詳細を説明する。
なお、以下の処理は、ＣＰＵ１が、画像処理プログラムを実行することによって実行される。
［実物体の反射特性推定の処理］
図５は、本実施形態における実物体の反射特性推定処理を示すフローチャートである。
まず、ＣＰＵ１は、ＨＤＲカメラキャリブレーション処理Ｓ１により、環境マップ情報を取得する全方位カメラ３１と、撮像画像情報を取得するデジタルカメラ２３とのキャリブレーションを行う。光源２２からの直接光や実物体２１からの鏡面反射光は、高輝度であるため、全方位カメラ３１やデジタルカメラ２３にはＨＤＲカメラを用いてよい。ＨＤＲカメラによって撮像された撮像画像情報（ＨＤＲ画像）のピクセル値は、キャリブレーションによって放射輝度［Ｗ／ｓｒ／ｍ２］（放射量）や輝度［ｃｄ／ｍ２］または三刺激値ＸＹＺ［ｃｄ／ｍ２］（測光量）と対応付けられる。
【００３３】
ＨＤＲ画像のピクセル値と放射量や測光量との対応付けには、例えば「DEBEVEC P.E.,MALIK J.『Recovering high dynamic range radiance maps from photographs』,In Proc.ACM SIGGRAPH 97(Aug.1997),pp.369-378」に開示された技術を用いることができる。また、「Kim,M.,Kautz,J.『Characterization for high dynamic range imaging』,Eurographics 27(2),pp.691-697(2008)」に開示された技術を用いることができる。
【００３４】
次に、ＣＰＵ１は、環境マップ情報取得処理Ｓ２により、Ｎｉ個の光源パターンの環境マップを取得する。環境マップは、実物体２１上の点Ｘの位置を視点として、全方位カメラ３１でＮｉ個の光源パターンをＨＤＲ撮像することによって取得される。なお、環境マップを直接取得する代わりに、予め撮像してＨＤＤ５等にファイルとして格納しておいた全方位ＨＤＲ画像を読み込んでもよい。
次に、ＣＰＵ１は、分割立体角決定処理Ｓ３により、環境マップをｍ個の分割立体角Δωｊ（ｊ＝１〜ｍ）に分割する。すなわち、ＣＰＵ１は、複数の環境マップのそれぞれを複数の立体角に分割し、複数の立体角のそれぞれについて、光源方向および光源輝度を決定することにより、実物体の反射特性を推定する。ここで、分割立体角の割当方法は、光源の配置等から予め決定している場合と、Ｎｉ個の光源パターンの環境マップから自動的に決定される場合がある。
【００３５】
図２（ｃ）の例は、分割立体角を光源の配置から予め決定している例である。半球ドーム（Ｇｅｏｄｅｓｉｃ  Ｄｏｍｅ）２６の各三角形（または多角形）の中心に光源２２を配置することにより、光源２２が全方位にわたって均等に配置されるようになっている。半球ドーム２６の各三角形は厳密には等立体角ではないが、分割立体角は全立体角の全球（４π）または半球（２π）を三角形の個数ｍで割ることによって近似することができる（Δωｊ＝４π／ｍ［または  ２π／ｍ］  ［ｓｒ］）。この割当方法による分割立体角の計算は容易であるが、光源２２を設置する際に位置決めを正確に行う必要がある。
【００３６】
図６は、Ｎｉ個の光源パターンの環境マップから分割立体角を自動的に決定する例を示している。本実施形態では簡単化のため、Ｎｉ個の光源パターンに対してＮｉ（＝ｍ）個の分割立体角Δωｊ（ｊ＝１〜Ｎｉ）を決定する例を示す。ＣＰＵ１は、光源パターンの各環境マップにおいて放射輝度（または輝度）が最大となる点５０の方向（θｉ，φｉ）を求め、図６（ａ）のように放射輝度（または輝度）が所定値より大きくなる点（Ｎｉ個）を１つの全方位画像５１上にプロットする。
【００３７】
次に、ＣＰＵ１は、図６（ｂ）のように放射輝度（または輝度）が所定値より大きくなる点（Ｎｉ）を母点としてボロノイ図による領域分割を行い、分割された領域５２を分割立体角Δωｊ（ｊ＝１〜Ｎｉ）とする。すなわち、ＣＰＵ１は、環境マップの複数の立体角への分割を、環境マップ内の輝度が所定値より大きくなる点を母点としてボノロイ図による領域分割によって行う。ここで、ボロノイ図は、ある距離空間上の任意の位置に配置された複数個の点（母点）に対して、同一距離空間上の他の点がどの母点に近いかによって領域分割された図である。
【００３８】
図６（ｃ）は、全方位画像上で決定された分割立体角を３次元表示したものである。全方位画像が異なる大きさの分割立体角Δω５３で構成されていることがわかる。なお、本実施形態では、簡単化のため、正距円筒図法形式の全方位画像５１を用いているが、分割立体角の面積計算や領域分割の精度を考慮すると等立体角射影（ｅｑｕｉｓｏｌｉｄ  ａｎｇｌｅ  ｐｒｏｊｅｃｔｉｏｎ）形式の全方位画像上で行う方がよい。等立体角射影形式では画像上の面積が立体角に比例しているため、分割立体角Δωの大きさは全方位画像の面積を全立体角の全球（４π）または半球（２π）として分割された領域５２の面積を求めるだけでよい。
【００３９】
また、図６（ｂ）のボロノイ図では、各母点から等距離の位置にボロノイ境界を設定しているが、各母点の放射輝度（または輝度）が大きいほどボロノイ境界までの距離が短くなるように距離空間上の重み付けを変えてもよい。この割当方法による分割立体角の計算では、全方位画像上で分割領域の面積を求める必要があるが、光源２２の位置は規則的に配置されていなくてもよい。
次に、ＣＰＵ１は、光源方向決定処理Ｓ４により、各分割立体角Δωｊ（ｊ＝１〜ｍ）の光源方向（θｉ，φｉ）を決定する。光源方向の決定方法には、面積中心（重心）を用いる方法と輝度重心を用いる方法がある。
面積中心（重心）は、式（８）で示される。
【００４０】
【数６】
2018141653.tif 000008
【００４１】
ここで、Ｌｉ（ｘ，ｄωｉ）は分割立体角内の各画素の放射輝度（または輝度）である。
次に、ＣＰＵ１は、光源輝度決定処理Ｓ５により、各分割立体角Δωｊ（ｊ＝１〜ｍ）の平均放射輝度（または平均輝度）を求める。平均放射輝度（または平均輝度）は、式（１０）で示される。
【００４２】
【数７】
2018141653.tif 000009
【００４３】
次に、ＣＰＵ１は、光源マトリクス決定処理Ｓ６により、式（７）の行列Ａの各要素を決定する。
行列Ａの要素Ｌｉ（ｘ，１，１）ｃｏｓ（θ１）Δω１において、Ｌｉ（ｘ，１，１）は分割立体角Δω１の光源方向（θ１，φ１）から実物体２１上の点Ｘへ入射する光の放射輝度（または輝度）に相当する。また、θ１は分割立体角Δω１の光源方向、Δω１は分割立体角に相当する。Δω１は、分割立体角決定処理Ｓ３で得られたΔω１の立体角の大きさ［ｓｒ］、θ１は光源方向決定処理Ｓ４の式（８）または式（９）で得られた光源方向（θｉ，φｉ）の極角を代入する。また、Ｌｉ（ｘ，１，１）は、光源輝度決定処理Ｓ５の式（１０）で得られた平均放射輝度［Ｗ／ｓｒ／ｍ２］（または平均輝度［ｃｄ／ｍ２］）を代入する。Ｌｉ（ｘ，１，１）ｃｏｓ（θ１）Δω１以外の他の要素も同様に求め、行列Ａの光源マトリクスを決定する。このように分割立体角に分割することにより、反射特性の推定のための演算量を低減させることができる。
【００４４】
次に、ＣＰＵ１は、撮像画像情報取得処理Ｓ７により、Ｎｉ個の光源パターンが照射された実物体２１を撮像し、ＢＴＦ（Ｂｉｄｉｒｅｃｔｉｏｎａｌ  Ｔｅｘｔｕｒｅ  Ｆｕｎｃｔｉｏｎ）画像を取得する。このＢＴＦ画像は、Ｎｉ個の光源パターンが照射された実物体２１をデジタルカメラ２３でＨＤＲ撮像することによって取得できる。全ステップでＮｖ個の視線方向からのＢＴＦ画像を取得するが、本ステップでは、１つの視線方向（ｋ∈［１，Ｎｖ］）に対するＮｉ個のＢＴＦ画像を取得する。
本実施形態では簡単化のため、デジタルカメラ２３の光軸が実物体２１上の点Ｘと一致し、ＢＴＦ画像の中心画素が視線方向（θｏ，φｏ）の画素となっていることを前提とする。視線方向（θｏ，φｏ）の画素としてＢＴＦ画像の中心画素の放射輝度［Ｗ／ｓｒ／ｍ２］（または輝度［ｃｄ／ｍ２］）を取得し、式（７）の撮像情報Ｌｏ（１〜Ｎｉ）とする。なお、ＢＴＦ画像を直接取得する代わりに、予め撮像してＨＤＤ５等にファイルとして格納しておいたＨＤＲ画像を読み込んでもよい。
【００４５】
次に、ＣＰＵ１は、反射特性推定処理Ｓ８により、反射特性ｆｒ（ｘ，１，ｋ）〜ｆｒ（ｘ，ｍ，ｋ）［１／ｓｒ］を推定する。具体的には、ＣＰＵ１は、光源マトリクス決定処理Ｓ６で決定した光源マトリクス（Ｎｉ×ｍ）と、撮像画像情報取得処理Ｓ７で取得した視線方向（θｏ，φｏ）の撮像情報Ｌｏ（１〜Ｎｉ）を式（７）へ代入する。ここで、反射特性ｆｒ（ｘ，１，ｋ）〜ｆｒ（ｘ，ｍ，ｋ）はｍ個の光源方向（１〜ｍ）と１つの視線方向（ｋ∈［１，Ｎｖ］）に対する反射特性を示す。また、反射特性ｆｒ（ｘ，１，ｋ）〜ｆｒ（ｘ，ｍ，ｋ）は、光源方向のＬｉおよび視線方向のＬｏの単位によって異なる反射特性を示す。単位が放射量（放射輝度［Ｗ／ｓｒ／ｍ２］）の場合には、ＢＲＤＦ［１／ｓｒ］となり、測光量（輝度［ｃｄ／ｍ２］）の場合には、一般のＢＲＤＦと定義が異なる測光量ベースの反射特性［１／ｓｒ］となる。ここでは、後者の反射特性をルミノス（Ｌｕｍｉｎｏｕｓ）ＢＲＤＦ［１／ｓｒ］と呼ぶ。
【００４６】
次に、ＣＰＵ１は、全視線方向（Ｎｖ）のＢＴＦ画像（Ｎｉ×Ｎｖ）に対してステップＳ７からＳ８の処理を施したか否かを判定し（Ｓ９）、終了していない場合には、ステップＳ７からステップＳ８の処理を繰り返す。また、終了している場合には、ＣＰＵ１は、反射モデルパラメータ推定処理Ｓ１０に進む。
次に、ＣＰＵ１は、反射モデルパラメータ推定処理Ｓ１０により、実物体２１の反射モデルのパラメータ推定を行う。Ｓ１０の前までの処理により、全光源方向（ｍ）と全視線方向（Ｎｖ）に対する反射特性は離散的に求められているが、任意の光源方向／視線方向に対する反射特性は求められていない。
このため、ＣＰＵ１は、Ｂｌｉｎｎ−Ｐｈｏｎｇ反射モデル、Ｃｏｏｋ−Ｔｏｒｒａｎｃｅ反射モデル、Ｗａｒｄ反射モデル、Ｌａｆｏｒｔｕｎｅ反射モデル等のパラメータで離散的な反射特性をフィッティングさせる。これにより、反射モデルによる任意の光源方向／視線方向に対する反射特性の推定が可能となり、反射特性のデータ量削減にも効果がある。
【００４７】
次に、ＣＰＵ１は、実物体２１上に設定した全ての点の位置に対してステップＳ７からＳ１０の処理を施したか否かを判定し（Ｓ１１）、終了していない場合はＸＹＺステージ等で実物体２１上の点Ｘを移動させてステップ７からステップＳ１０の処理を繰り返す。点Ｘを移動させる方法は、実物体２１を移動させる方法と、光源２２やデジタルカメラ２３を移動させる方法がある。また、終了している場合には、ＣＰＵ１は、図５に示す処理を終了する。
【００４８】
（本実施形態の効果）
以上説明したように、本実施形態では、実物体上の視点から、実物体に対して照射される直接光と間接光とを含む複数の光源方向について得られる複数の光源パターンを、複数の環境マップとして取得している。さらに、複数の光源パターン毎に、光源パターンにより照射された実物体を複数の視線方向からそれぞれ撮像した撮像画像を取得し、これらに基づいて実物体の反射特性を推定している。これにより、直接光以外の外光や間接光の影響も考慮し、測定環境に制限を設けることなく、実物体の反射特性の推定精度を向上させることができる。
【００４９】
実施形態２
実施形態１では、実物体２１自体による自己陰影や自己遮蔽については考慮せずに、反射特性を推定していた。しかしながら、実物体２１の形状によっては自己陰影や自己遮蔽を生じる場合があるため、反射特性の推定に誤差を生じる場合がある。なお、自己陰影とは入射光が遮られる部分であり、自己遮蔽とは反射光が遮られる部分である。このため、本実施形態では、自己陰影や自己遮蔽を考慮して反射特性を推定するようにしている。
また、実施形態１では、実物体２１上の点Ｘの反射特性を推定する場合に、実物体２１をＸＹＺステージ等で移動させたり、実物体２１を固定した状態で光源２２やデジタルカメラ２３を移動させたりする方法について説明した。これは、実物体２１上の点Ｘを測定点に合わせる、または測定点を実物体２１上の点Ｘに合わせる必要があったためである。なお、環境マップの視点、およびデジタルカメラ２３の光軸方向は、測定点と物理的に一致していることを前提としている。
【００５０】
本実施形態では、実物体２１、光源２２、およびデジタルカメラ２３を固定したまま、測定点を仮想的に移動させ、実物体２１上の点Ｘの反射特性を推定する方法について説明する。
図７および図８は、実施形態２における環境マップ情報と撮像画像情報の関係、および仮想環境マップの生成の例を示す概念図である。なお、画像入力デバイス１３の構成例（図２）は、実施形態１と同一であるため説明を省略し、実施形態１と異なる点を中心に簡潔に説明する。
【００５１】
（環境マップ情報と撮像画像情報）
まず、実施形態２の環境マップ情報と撮像画像情報の関係について説明する。
図７（ａ）は、実施形態２の環境マップ情報の取得例を示す概念図である。
本実施形態では、画像入力デバイス１３は、三次元の実物体６１に照射される直接光と間接光からなる光源パターンを変化させると共に、光源パターンが照射された三次元の実物体６１を任意の角度から撮像することができるようになっている。なお、図７（ａ）では、実物体６１としてウサギ形状のモデルを用いた例を示している。このような複雑な形状の実物体６１では、表面上の点の位置によっては、自己陰影や自己遮蔽を生じる場合がある。
【００５２】
環境マップ情報は、実施形態１と同様に、全方位カメラ３１（図３（ａ））を利用し、空間上の複数の位置を視点とする環境マップ情報６２および６３として取得されてよい。すなわち、複数の環境マップを、実物体上の複数の位置を視点として夫々取得する。ここで、環境マップは全球または半球の光源パターンであり、全方位カメラ３１の代わりに魚眼レンズ付きカメラやミラーボール等を利用して取得しても構わない。取得された環境マップ情報６２および６３を利用して、三次元の実物体６１上の点Ｘの位置を視点とした仮想環境マップ情報６４を生成する（その詳細は後述する）。ここで、空間上の複数の位置を視点とする環境マップ情報は２つに限定される必要はなく、３つ以上であっても構わない。
【００５３】
本実施形態では、９通りの光源方向の光源パターンに対して、環境マップ情報６２の位置で環境マップ７１１〜７１９を取得し、環境マップ情報６３の位置で環境マップ７２１〜７２９を取得している。
図８は、環境マップ情報６２の位置で取得された環境マップ７１１〜７１９および環境マップ情報６３の位置で取得された環境マップ７２１〜７２９と、各光源パターンに対して９通りの視線方向から撮像した撮像画像８１１〜８９９の対応関係を示している。
【００５４】
なお、光源方向や視線方向は９通りに限定される必要はなく、光源パターンの数をＮｉ、視線方向の数をＮｖとすれば、環境マップ情報６２および６３の位置で取得された各環境マップの数はＮｉ、撮像画像の数はＮｉ×Ｎｖとなる。ここで、環境マップは全方位画像であり、例えば、環境マップ情報６２の位置で取得された環境マップは縦軸θｉ１、横軸φｉ１の正距円筒図法形式、環境マップ情報６３の位置で取得された環境マップは縦軸θｉ２、横軸φｉ２の正距円筒図法形式で表現される。なお、θｉ１およびθｉ２は極角であり、φｉ１およびφｉ２は方位角である。一方、撮像画像は横軸ｘｖ［ｐｉｘｅｌ］、縦軸ｙｖ［ｐｉｘｅｌ］で表現される。例えば、デジタルカメラ２３の光軸が、実物体６１や実物体６１が置かれているステージの三次元のグローバル座標（またはワールド座標）系の原点と一致するなら、撮像画像の中心画素は（θｃ，φｃ）で示される。
【００５５】
（仮想環境マップの生成）
以下、実施形態２の仮想環境マップの生成の例について説明する。
ＣＰＵ１は、図７（ａ）に示すように、空間上の複数の位置を視点とする環境マップ情報６２および６３から、三次元の実物体６１上の点Ｘの位置を視点とした仮想環境マップ情報６４を生成する。
まず、ＣＰＵ１は、ｘ軸方向へ距離Ｄｘ［ｍ］離れた環境マップ情報６２および６３の位置において、環境マップ７１１および７２１をそれぞれ取得する。
次に、ＣＰＵ１は、環境マップ情報６２の位置で取得された環境マップ７１１と環境マップ情報６３の位置で取得された環境マップ７２１の２枚の全方位画像において、対応点の探索を行う。対応点の探索にはＳＩＦＴ（Ｓｃａｌｅ−Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ）等の公知技術を用いることができる。
【００５６】
次に、ＣＰＵ１は、２枚の全方位画像の対応点の情報から仮想環境マップ情報６４の位置（仮想位置）における仮想環境マップを生成する。
例えば、環境マップ７１１と環境マップ７２１において光源２２に対する対応点が見つかった場合、環境マップ７１１上の対応点の座標は（θ１，φ１）、環境マップ７２１上の対応点の座標は（θ２，φ２）となる。環境マップ情報６２の位置を基準（０，０，０）とした場合、仮想環境マップ情報６４の位置（ｘ，ｙ，ｚ）を視点とした仮想環境マップにおける対応点の座標（θｘｙｚ，φｘｙｚ）は、以下のように求めることができる。
環境マップ情報６３の位置を（Ｄｘ，０，０）、光源２２の位置を（Ｌｘ，Ｌｙ，Ｌｚ）とすると、各環境マップの方位角φ１，φ２，φｘｙｚは、式（１１）のように表すことができる。
【００５７】
【数８】
2018141653.tif 000010
【００５８】
式（１３）から、位置（ｘ，ｙ，ｚ）を視点とした仮想環境マップにおける対応点の方位角φｘｙｚは、環境マップ７１１上の対応点の方位角φ１と環境マップ７２１上の対応点の方位角φ２および環境マップ情報６２と６３の間隔距離Ｄｘ［ｍ］から決定できる。
一方、各環境マップの極角θ１，θ２，θｘｙｚは、式（１１）を用いて変形すると、式（１４）のように表すことができる。
【００５９】
【数９】
2018141653.tif 000011
式（１４）の第１式と第２式および式（１１）を用いて、Ｌｘ、ＬｙおよびＬｚについて解けば、式（１５）が得られる。
【００６０】
【数１０】
2018141653.tif 000012
式（１６）から、位置（ｘ，ｙ，ｚ）を視点とした仮想環境マップにおける対応点の極角θｘｙｚは、環境マップ７１１上の対応点の座標（θ１，φ１）と環境マップ７２１上の対応点の座標（θ２，φ２）および上記間隔距離Ｄｘ［ｍ］から決定できる。
【００６１】
次に、ＣＰＵ１は、式（１３）および式（１６）を用いて仮想環境マップにおける対応点の座標（θｘｙｚ，φｘｙｚ）を決定する。さらにＣＰＵ１は、環境マップ７１１上の対応点（θ１，φ１）の画素値、および環境マップ７２１上の対応点（θ２，φ２）の画素値から、例えば、平均画素値を求めれば、仮想環境マップ上の対応点（θｘｙｚ，φｘｙｚ）の画素値を決定する。
環境マップ情報６２と６３に対して全ての対応点を仮想環境マップ上にプロットすれば、空間上の位置（ｘ，ｙ，ｚ）を視点とした仮想環境マップを作成することができる。つまり、三次元の実物体６１上の任意の点Ｘの位置を視点とした仮想環境マップが作成できる。
【００６２】
しかし、実際にはオクルージョン（ｏｃｃｌｕｓｉｏｎ）が発生するため、対応点が見つからない場合も発生する。このような場合には、環境マップ情報の位置を変更することによってオクルージョンを回避することができる。
すなわち、オクルージョンを回避する際には、ＣＰＵ１は、図７（ｂ）に示すように、図７（ａ）とは異なる空間上の複数の位置を視点とする環境マップ情報６５および６６から三次元の実物体６１上の点Ｘの位置を視点とした仮想環境マップ情報６７を生成する。
より詳細には、まず、ＣＰＵ１は、ｚ軸方向へ距離Ｄｚ［ｍ］離れた環境マップ情報６５および６６の位置において環境マップ７１１および７２１を取得する。
【００６３】
次に、ＣＰＵ１は、環境マップ情報６５の位置で取得された環境マップ７１１と環境マップ情報６６の位置で取得された環境マップ７２１の２枚の全方位画像において対応点の探索を行う。
次に、ＣＰＵ１は、２枚の全方位画像の対応点の情報から仮想環境マップ情報６７の位置の仮想環境マップを生成する。
例えば、環境マップ７１１と環境マップ７２１において光源２２に対する対応点が見つかった場合、環境マップ７１１上の対応点の座標は（θ１，φ１）、環境マップ７２１上の対応点の座標は（θ２，φ２）となる。環境マップ情報６５の位置を基準（０，０，０）とした場合、仮想環境マップ情報６７の位置（ｘ，ｙ，ｚ）を視点とした仮想環境マップにおける対応点の座標（θｘｙｚ，φｘｙｚ）は、以下のように求めることができる。
環境マップ情報６６の位置を（０，０，Ｄｚ）、光源２２の位置を（Ｌｘ，Ｌｙ，Ｌｚ）とすると、各環境マップの方位角φ１，φ２，φｘｙｚは、式（１７）のように表すことができる。
【００６４】
【数１１】
2018141653.tif 000013
式（１８）の第１式および式（１７）の第１式を用いてＬｘ、Ｌｙを求め、式（１８）の第２式へ代入してＬｚについて解けば、式（１９）が得られる。
【００６５】
【数１２】
2018141653.tif 000014
式（２０）および式（２１）から、位置（ｘ，ｙ，ｚ）を視点とした仮想環境マップにおける対応点の座標（θｘｙｚ，φｘｙｚ）は、当該対応点の環境マップ７１１および７２１上の座標（θ１，φ１）、（θ２，φ２）および間隔距離Ｄｚ［ｍ］から決定できる。
【００６６】
次に、ＣＰＵ１は、環境マップ７１１上の対応点（θ１，φ１）の画素値、および環境マップ７２１上の対応点（θ２，φ２）の画素値から、例えば、平均画素値を求め、仮想環境マップ上の対応点（θｘｙｚ，φｘｙｚ）の画素値を決定する。
さらに、ＣＰＵ１は、環境マップ情報６２と６３を用いた場合と同様に、環境マップ情報６５と６６に対して全ての対応点を仮想環境マップ上にプロットして、空間上の位置（ｘ，ｙ，ｚ）を視点とした仮想環境マップを作成する。すなわち、複数の環境マップ情報の位置を最適に配置することにより、オクルージョンを回避しながら、三次元の実物体６１上の任意の点Ｘの位置を視点とした仮想環境マップを作成できる。
【００６７】
図９は、実施形態２の複数の環境マップ情報の三次元最適配置の例である。
図９（ａ）は、三次元の実物体６１を包含する４点の環境マップ情報９１〜９４によって仮想環境マップ情報９５を生成する例である。４点の環境マップ情報のうち、少なくとも２点で対応点が見つかれば、仮想環境マップにおける対応点の座標を決定できる。３点以上で対応点が見つかる場合には、複数の対応点の関係からさらに信頼性を向上させることができる。
同様に、図９（ｂ）に示すように、三次元の実物体６１を包含する８点の環境マップ９１１〜９１８によって仮想環境マップ情報９１９を生成するようにしてもよい。
【００６８】
（実物体の反射特性推定の処理）
図１０は、本実施形態における三次元の実物体の反射特性推定処理を示すフローチャートである。なお、以下、実施形態１と異なる点を中心に簡潔に説明する。
図１０は、三次元の実物体の反射特性を推定する処理の一例を示す。
まず、ＣＰＵ１は、図５のＳ１と同様に、ＨＤＲカメラキャリブレーション処理Ｓ２１により、環境マップ情報を取得する全方位カメラ３１と撮像画像情報を取得するデジタルカメラ２３のキャリブレーションを行う。
次に、ＣＰＵ１は、環境マップ情報取得処理Ｓ２２により、Ｐ個の点（Ｐ点）の環境マップ情報の位置からＮｉ個の光源パターンの環境マップを取得する。環境マップは、Ｐ点の位置を視点として、全方位カメラ３１でＮｉ個の光源パターンをＨＤＲ撮像することによって取得される。なお、環境マップを直接取得する代わりに、予め撮像した全方位ＨＤＲ画像をＨＤＤ５等から読み込んでもよい。
【００６９】
次に、ＣＰＵ１は、撮像画像情報取得処理Ｓ２３により、Ｎｉ個の光源パターンが照射された三次元の実物体６１を撮像し、ＢＴＦ画像を取得する。このＢＴＦ画像はＮｉ個の光源パターンが照射された実物体６１を、デジタルカメラ２３でＮｖ個の視線方向からＨＤＲ撮像（Ｎｉ×Ｎｖ）することによって取得する。本実施形態では、簡単化のため、Ｎｖ個の視線方向から撮像するデジタルカメラ２３の光軸が三次元の実物体６１の置かれているステージのグローバル座標系の原点と一致しており、撮像画像の中心画素が視線方向（θｃ，φｃ）の画素となることを前提とする。なお、ＢＴＦ画像を直接取得する代わりに、予め撮像したＨＤＲ画像をＨＤＤ５等から読み込んでもよい。
【００７０】
次に、ＣＰＵ１は、形状情報取得処理Ｓ２４により、三次元の実物体６１のポリゴンメッシュを取得する。三次元の実物体６１の形状は、３Ｄレーザースキャナ、照度差ステレオ、ステレオ視、視体積交差等の公知技術によって計測され、点群またはポリゴンメッシュの三次元座標として表現されている。なお、以下、簡単化のため、点群の場合にはポリゴンメッシュに再構成されているものとする。また、三次元形状を直接取得する代わりに、予め計測したポリゴンメッシュをＨＤＤ５等から読み込んでもよい。ここで、三次元の実物体６１の形状の三次元座標はローカル座標（またはオブジェクト座標、ボディ座標）系なので、三次元の実物体６１の置かれているステージのグローバル座標系へ変換されるものとする。
【００７１】
次に、ＣＰＵ１は、法線ベクトル生成処理Ｓ２５により、ポリゴンメッシュから三次元の実物体６１上の点Ｘにおける面法線ベクトルまたは頂点法線ベクトルを生成する。面法線ベクトルは、三次元の実物体６１上の点Ｘを含むポリゴンの頂点の三次元座標と外積を利用して求めることができ、ポリゴン平面の表面に垂直な単位ベクトルである。一方、頂点法線ベクトルは、三次元の実物体６１上の点Ｘを含む頂点を共有するポリゴンの面法線ベクトルを全て加算して正規化することによって求めることができる。
ここで、グローバル座標系における各法線ベクトルは、（ｎｘ，ｎｙ，ｎｚ）として表すことができる。
【００７２】
次に、ＣＰＵ１は、遮蔽マップ生成処理Ｓ２６により、三次元の実物体６１上の点Ｘにおける遮蔽マップを生成する。遮蔽マップ生成処理Ｓ２６は、この遮蔽マップに代えて可視マップを生成してもよい。以下、遮蔽マップにつき説明する。
実施形態１の実物体２１のように、表面凹凸が無視できる場合には自己陰影や自己遮蔽の影響は大きくないが、三次元の実物体６１のように幾何学的な表面凹凸が無視できない場合には自己陰影や自己遮蔽の影響を考慮して反射特性を推定する必要がある。なぜなら、ＢＲＤＦのような反射特性の定義は入射光と反射光の関係に自己陰影や自己遮蔽が存在しないことが前提となっているからである。このため、本実施形態では、実物体６１の形状情報に基づいて、実物体への入射光が遮蔽されるか否かを示す遮蔽マップを生成し、生成された遮蔽マップを環境マップに適用することにより、実物体の反射特性を推定する。
【００７３】
図１１は、遮蔽マップの生成例を示す概念図である。遮蔽マップは、入射光が遮られるか否かを三次元の実物体６１上の点Ｘの位置を視点とした全方位画像の形式で表したものである。
三次元の実物体６１上の点Ｘにおける反射特性を推定する場合には、ＣＰＵ１は、図１１（ａ）に示されるように、三次元の実物体６１上の点Ｘの位置を視点とした半球の遮蔽マップ１４２を利用する。ここで、半球は法線ベクトル上の天頂点と接平面によって決定される。さらに、三次元の実物体６１上の点Ｘにおける透過特性も含めて推定する場合には、三次元の実物体６１上の点Ｘの位置を視点とした全球の遮蔽マップを利用する。この遮蔽マップは、実物体上の点における自己陰影または自己遮蔽を示す情報を含む。
【００７４】
遮蔽マップの生成は、ＣＰＵ１が、三次元の実物体６１上の点Ｘから光源方向ωｉへ向かう直線と、三次元の実物体６１のポリゴンメッシュが交わるかどうかを判定して行う。ＣＰＵ１は、これらが交わる場合（＝遮蔽されている場合）は０、交わらない場合（＝遮蔽されていない場合）は１を全方位画像の画素値として設定する。図１１（ａ）では、実物体６１（ウサギ）の耳の部分によって遮蔽されている部分（不可視領域）１１３と遮蔽されていない部分１４１（可視領域）に分けられる。すなわち、遮蔽マップには、可視領域を示す情報が含まれる。透過特性の場合には、遮蔽されている部分１１３が透過している部分となる。
遮蔽マップを可視関数Ｖ（ｘ，ωｉ）として表現すると、式（２２）のように表すことができる。
【００７５】
【数１３】
2018141653.tif 000015
【００７６】
ここで、光源方向ωｉに対するＶ（ｘ，ωｉ）は自己陰影、視線方向ωｒに対するＶ（ｘ，ωｒ）は自己遮蔽を表す。
図１１（ｂ）は、生成された半球の遮蔽マップの一例を示している。三次元の実物体６１上の点Ｘの位置を視点とした全方位画像１４２に、ウサギ（実物体６１）の耳の部分が自己陰影１１３として表現されている。
次に、ＣＰＵ１は、仮想環境マップ生成処理Ｓ２７により、三次元の実物体６１上の点Ｘの位置を視点とした仮想環境マップを生成する。
図１２及び図１３は、実施形態２の法線ベクトルと仮想環境マップ、および遮蔽マップの関係を示す概念図である。三次元の実物体６１上の点Ｘにおける反射特性を推定する場合には、ＣＰＵ１は、遮蔽マップの場合と同様に、三次元の実物体６１上の点Ｘの位置を視点とした半球の仮想環境マップを用いる。すなわち、ＣＰＵ１は、遮蔽マップの可視領域を示す情報に基づいて、仮想位置における仮想環境マップおよび仮想視線マップを生成する。
【００７７】
ここで、半球は法線ベクトル上の天頂点と接平面によって決定される。さらに、三次元の実物体６１上の点Ｘにおける透過特性も含めて推定する場合には、ＣＰＵ１は、三次元の実物体６１上の点Ｘの位置を視点とした全球の仮想環境マップを用いる。三次元の実物体６１上の点Ｘの位置を視点とした全球または半球の仮想環境マップは、ＣＰＵ１が、環境マップ情報取得処理Ｓ２２で取得したＰ点の環境マップ情報を用い、先述した仮想環境マップの生成方法に従って作成する。
【００７８】
図１２（ａ）は、三次元の実物体６１の点Ｘの座標（ｘ，ｙ，ｚ）に対する法線ベクトルと仮想環境マップの関係を示す概念図である。三次元の実物体６１のポリゴンメッシュの三次元座標はグローバル座標系で定義され、三次元の実物体６１上の点Ｘの座標（ｘ，ｙ，ｚ）における法線ベクトルは（ｎｘ，ｎｙ，ｎｚ）で表現される。三次元の実物体６１上の点Ｘにおける反射特性は、座標（ｘ，ｙ，ｚ）を視点とした半球の仮想環境マップ１１１を利用して求めることができる。半球の仮想環境マップ１１２は、三次元の実物体６１上の他の点Ｘの位置を視点とした半球の仮想環境マップの例である。
図１２（ｂ）はグローバル座標系における法線ベクトル（ｎｘ，ｎｙ，ｎｚ）を示している。法線ベクトル（ｎｘ，ｎｙ，ｎｚ）の極角θｎ、および方位角φｎは、式（２３）のように表すことができる。
【００７９】
【数１４】
2018141653.tif 000016
【００８０】
反射特性は、法線ベクトルがＸＹＺ座標系におけるｚ軸方向と一致するような座標系で定義されているため、グローバル座標系（またはＸＹＺ座標系）から法線ベクトルを基準としたＵＶＷ座標系へ変換する必要がある。なお、ＸＹＺ座標系からＵＶＷ座標系への変換は後述する。図１３（ａ）はグローバル座標系における法線ベクトルと半球の仮想環境マップ１１１の関係、図１３（ｂ）は法線ベクトルを基準としたＵＶＷ座標系における法線ベクトルと半球の仮想環境マップ１１１の関係を示している。
【００８１】
図１３（ｃ）はグローバル座標系における半球の仮想環境マップ１１１と遮蔽マップの関係を示している。半球の仮想環境マップ１１１が生成できたとしても、仮想環境マップの全ての光源方向からの光が三次元の実物体６１上の点Ｘに入射しているとは限らない。自己陰影１１３によって入射光が遮られた場合には、遮蔽を考慮して反射特性を推定する必要がある。
式（２２）で定義される可視関数Ｖ（ｘ，ωｉ）およびＶ（ｘ，ωｒ）を、式（２）のレンダリング方程式に適用すると、式（２４）のようになる。
【００８２】
【数１５】
2018141653.tif 000017
式（２５）を離散化し、全方向から照射される直接光と間接光の光源パターンをｍ個の分割立体角Δωｊ（ｊ＝１〜ｍ）に分割し、Ｎｉ個の各光源パターンについて適用すると、視線方向ｋ∈［１，Ｎｖ］に対して式（２６）の連立一次方程式が成立する。ここで、全方位の立体角Ωと分割立体角Δωｊ（ｊ＝１〜ｍ）の間には、式（２７）の関係がある。
【００８３】
【数１６】
2018141653.tif 000018
式（２６）の連立一次方程式は、行列を用いると、式（２８）のように表現および変形できる。式（２８）を、ｍ個のＢＲＤＦであるｆｒ（ｘ，１，ｋ）〜ｆｒ（ｘ，ｍ，ｋ）について解けば、式（２９）によってｍ個の光源方向（１〜ｍ）と１つの視線方向（ｋ∈［１，Ｎｖ］）に対するＢＲＤＦを求めることができる。
【００８４】
【数１７】
2018141653.tif 000019
【００８５】
但し、Ｖ（ｘ，ｋ）＝０である視線方向（ｋ∈［１，Ｎｖ］）については、自己遮蔽により三次元の実物体６１上の点Ｘが視線方向から撮像できないため、ＢＲＤＦを求めることはできない。また、自己陰影によって光源方向（ｊ∈［１，ｍ］）がＶ（ｘ，ｊ）＝０となる場合には、式（２８）の行列Ａの列成分が０になるため、Ｖ（ｘ，ｊ）＝０である光源方向（ｊ∈［１，ｍ］）に対するＢＲＤＦを求めることはできない。
つまり、自己遮蔽や自己陰影が存在する場合には、遮蔽された部分の情報が欠落するため、ｍ個の光源方向とＮｖ個の視線方向に対する全てのＢＲＤＦ（ｍ×Ｎｖ）を求めることができるわけではない。
【００８６】
一方、遮蔽を考慮した反射特性の推定は、遮蔽を考慮しない反射特性の推定に対して推定精度を高めるだけでなく、処理時間を短縮させることもできる。図１３（ｃ）に示されるように、半球の仮想環境マップ１１１には、ウサギの耳の部分による自己陰影１１３が存在する。
図１４（ａ）、（ｂ）、（ｃ）に、遮蔽マップを考慮した仮想環境マップ１１１の概念図を示す。遮蔽マップを考慮した仮想環境マップ１１１を生成する方法には、遮蔽マップを考慮していない仮想環境マップ情報６４に対して遮蔽マップ１４２をマスクとして適用する方法と、遮蔽マップ１４２の可視領域１４１に基づいて逐次処理する方法がある。半球の仮想環境マップ１１１を生成する際に遮蔽マップの可視領域１４１に基づいて逐次処理すれば、遮蔽された部分１１３について対応点探索等の処理（複数の環境マップから仮想環境マップ１１１上の対応点の画素値を決定する処理）を省略することができる。
【００８７】
次に、ＣＰＵ１は、仮想視線マップ生成処理Ｓ２８により、撮像画像情報取得処理Ｓ２３で取得したＢＴＦ画像から三次元の実物体６１上の点Ｘに対する仮想視線マップを生成する。仮想視線マップは、三次元の実物体６１上の点Ｘに対するＮｖ個の視線方向の放射輝度（または輝度）Ｌｏを示すマップである。
図１５及び図１６は、実施形態２の仮想視線マップの生成の例を示す図である。
図１５は、光源２２によって照射された三次元の実物体６１をＮｖ個のデジタルカメラ２３でＨＤＲ撮像し、ＢＴＦ画像（撮像画像）１２１〜１２３を取得する撮像画像情報取得処理Ｓ２３の様子を示している。先述したように、Ｎｖ個の各デジタルカメラ２３の光軸は三次元の実物体６１が置かれているステージのグローバル座標系の原点と一致している。このため、撮像画像１２１〜１２３の各中心画素は、グローバル座標系の原点に対する視線方向（θｃ，φｃ）によって表される。
【００８８】
三次元の実物体６１上の全ての点Ｘに対する視線方向（θｏ，φｏ）は、グローバル座標系の原点に対する各デジタルカメラ２３の視線方向（θｃ，φｃ）と同じではない。すなわち、グローバル座標系の原点からデジタルカメラ２３までの距離に対する実物体のサイズが相対的に大きくなるほど、視線方向（θｃ，φｃ）との誤差が顕著になってくる。
図１６（ａ）は撮像画像１２１についてグローバル座標系（またはＸＹＺ座標系）の原点に対する視線方向（θｃ，φｃ）と三次元の実物体６１上の点Ｘに対する視線方向（θｏ，φｏ）の関係を示した図である。図１６（ａ）の上（ＸＺ平面）が正面図、図１６（ａ）の下（ＸＹ平面）が上面図であり、本実施形態では簡単化のためピンホールカメラモデルを用いる。正面図において、垂直画角をαｖ、イメージセンサ垂直幅をｄｖ、焦点距離をｆとすると、式（３０）の関係が成立する。
【００８９】
【数１８】
2018141653.tif 000020
式（３１）および式（３３）を用いることにより、イメージセンサのサイズ（垂直幅ｄｖと水平幅ｄｈ）および焦点距離ｆから、垂直画角αｖと水平画角αｈを求めることができる。
【００９０】
図１６（ｂ）は垂直画角αｖと水平画角αｈによって撮像されたデジタルカメラ２３の撮像画像を示す図である。垂直画角αｖと水平画角αｈは撮像画像の高さと幅にそれぞれ対応する。三次元の実物体６１上の点Ｘは、撮像画像上の座標（θ，φ）に対応する。三次元の実物体６１上の点Ｘに対する視線方向（θｏ，φｏ）は、グローバル座標系（またはＸＹＺ座標系）の原点に対する視線方向（θｃ，φｃ）と撮像画像上の座標（θ，φ）を用いると、式（３４）と式（３５）によって表すことができる。
【００９１】
【数１９】
2018141653.tif 000021
【００９２】
ここで、撮像画像上の座標（θ，φ）が中心画素（θ，φ）＝（０，０）の場合、視線方向（θｏ，φｏ）は先述したようにグローバル座標系の原点に対する視線方向（θｃ，φｃ）となる。
つまり、Ｎｖ個のデジタルカメラ２３によるＢＴＦ画像１２１〜１２３において、三次元の実物体６１上の点Ｘに対する対応点探索を行って各撮像画像上の座標（θ，φ）を特定する。さらに、特定した各撮像画像上の座標（θ，φ）に、式（３４）および式（３５）を適用すれば、三次元の実物体６１上の点Ｘに対する仮想視線マップを生成することができる。
【００９３】
仮想視線マップは三次元の実物体６１上の点Ｘに対するＮｖ個の視線方向の放射輝度（または輝度）Ｌｏを示している。Ｎｉ個の光源パターンが照射されている場合、三次元の実物体６１上の点Ｘに対して仮想視線マップの数はＮｉ×Ｎｖとなる。なお、対応点探索にはＳＩＦＴ（Ｓｃａｌｅ−Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ）等の公知技術を用いることができる。
仮想視線マップは、全方位画像上の各視線座標に放射輝度（または輝度）Ｌｏをプロットした形式でも、各視線方向に対する放射輝度（または輝度）Ｌｏをリストとして格納した形式でもよい。また、仮想視線マップを生成する際に遮蔽マップを考慮することにより、自己遮蔽される視線方向を予め検知できるため、処理時間を短縮させることができる。
【００９４】
図１７（ａ）、（ｂ）、（ｃ）は、遮蔽マップを考慮した仮想視線マップ１５４の概念図を示す。遮蔽マップを考慮した仮想視線マップ１５４を生成する方法には、遮蔽マップを考慮していない仮想視線マップ１５１に対して遮蔽マップ１４２をマスクとして適用する方法と、遮蔽マップ１４２の可視領域１４１に基づいて逐次処理する方法がある。半球の仮想視線マップ１５４を生成する際に、遮蔽マップの可視領域１４１に基づいて逐次処理すれば、遮蔽された部分１１３について対応点探索等の処理（各撮像画像から対応点の画素値を決定する処理）を省略することができる。
【００９５】
次に、ＣＰＵ１は、座標変換処理Ｓ２９により、三次元の実物体６１上の点Ｘに対する仮想環境マップおよび仮想視線マップをグローバル座標系（またはＸＹＺ座標系）からＵＶＷ座標系へ変換する。具体的には、グローバル座標系で定義された三次元の実物体６１上の点Ｘに対する仮想環境マップ（光源方向）および仮想視線マップ（視線方向）を、三次元の実物体６１上の点Ｘに対する法線ベクトル（ｎｘ，ｎｙ，ｎｚ）を基準としたＵＶＷ座標系へ変換する。
反射特性は、法線ベクトルの方向が、ＸＹＺ座標系におけるｚ軸方向と一致するように定義されているため、ＣＰＵ１は、ＵＶＷ座標系を、三次元の実物体６１上の点Ｘに対する法線ベクトルの方向がｗ軸と一致するように定義する。
図１８は、グローバル座標系（またはＸＹＺ座標系）とＵＶＷ座標系の関係を示す図である。ＵＶＷ座標系のｗ軸の方向は、三次元の実物体６１上の点Ｘに対する法線ベクトルの方向と一致させるので一意に決定できるが、ｕ軸とｖ軸の方向は反射特性で定義されていないため一意に決定できない。
【００９６】
本実施形態では、法線ベクトル（ｗ軸）の方向に応じて、ＵＶＷ座標系のｕ軸とｖ軸の方向が連続的に変化するようにＵＶＷ座標系を定義する。
図１８に示されるように、法線ベクトル（ｗ軸）がｚ軸と同じ方向であるならば、接平面１３１におけるｕ軸とｖ軸の方向は、ｘ軸とｙ軸の方向と同じであるとする。法線ベクトルがｙ軸周りに回転した場合、接平面１３２におけるｕ軸とｖ軸の方向は、接平面１３１をｙ軸周りに回転させた場合と同じであるとする。また、法線ベクトルがｘ軸周りに回転した場合、接平面１３３や接平面１３４におけるｕ軸とｖ軸の方向は、接平面１３１をｘ軸周りに回転させた場合と同じであるとする。
グローバル座標系（またはＸＹＺ座標系）で定義された実物体６１上の点Ｘに対する仮想環境マップおよび仮想視線マップは、球座標で表されるので、ＸＹＺ座標系における球座標（ｒ，θ，φ）を直交座標（ｘ，ｙ，ｚ）で表すと、式（３６）のようになる。
【００９７】
【数２０】
2018141653.tif 000022
【００９８】
グローバル座標系で定義された三次元の実物体６１上の点Ｘに対する仮想環境マップ（光源方向）および仮想視線マップ（視線方向）を、三次元の実物体６１上の点Ｘに対する法線ベクトル（ｎｘ，ｎｙ，ｎｚ）を基準としたＵＶＷ座標系へ変換する。このためには、法線ベクトル（ｎｘ，ｎｙ，ｎｚ）の極角θｎ、および方位角φｎを求めるために式（２３）を利用し、ＸＹＺ座標系からＵＶＷ座標系へ変換する三次元の回転行列である式（３９）を適用する。グローバル座標系に代えてＸＹＺ座標系を用いてもよい。
【００９９】
【数２１】
2018141653.tif 000023
【０１００】
ここで、Ｒｚは、ｚ軸周りの回転を表す回転行列、Ｒｙはｙ軸周りの回転を表す回転行列を表す。また、回転の方向は、Ｒｚがｘ軸をｙ軸に向ける方向、Ｒｙがｚ軸をｘ軸に向ける方向である。
ＣＰＵ１は、グローバル座標系（またはＸＹＺ座標系）で定義された三次元の実物体６１上の点Ｘに対する仮想環境マップの各光源方向（θｉ，φｉ）に対して、式（３６）、式（３９）、および式（３８）を適用する。そして、三次元の実物体６１上の点Ｘに対する法線ベクトル（ｎｘ，ｎｙ，ｎｚ）を基準としたＵＶＷ座標系の仮想環境マップへ変換する。
同様に、ＣＰＵ１は、グローバル座標系（またはＸＹＺ座標系）で定義された三次元の実物体６１上の点Ｘに対する仮想視線マップの各視線方向（θｏ，φｏ）に対して、式（３６）、式（３９）、および式（３８）を適用する。そして、三次元の実物体６１上の点Ｘに対する法線ベクトル（ｎｘ，ｎｙ，ｎｚ）を基準としたＵＶＷ座標系の仮想視線マップへ変換する。
【０１０１】
以上の処理により、三次元の実物体６１上の点Ｘに対するＵＶＷ座標系において、環境マップ情報と撮像画像情報の関係を実施形態１と同一にすることができる。このため、ＣＰＵ１は、三次元の実物体６１上の点Ｘに対して、実施形態１と同等の処理を実行し、三次元の実物体６１上の点Ｘに対する反射特性を推定すればよい。
具体的には、ＣＰＵ１は、まず、光源マトリクス生成処理Ｓ３０により、環境マップ情報の光源パターンの数Ｎｉと環境マップ情報を分割した分割立体角の数ｍに基づいて決定される光源マトリクス（Ｎｉ×ｍ）を生成する。
【０１０２】
図１９は、実施形態２の光源マトリクス生成処理Ｓ３０の処理の詳細を示すフローチャートである。光源マトリクス生成処理Ｓ３０では、ＣＰＵ１は、実施形態１の分割立体角決定処理Ｓ３、光源方向決定処理Ｓ４、光源輝度決定処理Ｓ５、および光源マトリクス決定処理Ｓ６と同一の処理（Ｓ４１、Ｓ４２、Ｓ４３、Ｓ４４）を実行する。具体的には、ＣＰＵ１は、Ｎｉ個の光源パターンに対するＵＶＷ座標系上の各仮想環境マップをｍ個の分割立体角に分割し、三次元の実物体６１上の点Ｘに対する光源マトリクス（Ｎｉ×ｍ）を決定する。
【０１０３】
次に、ＣＰＵ１は、反射特性推定処理Ｓ３１により、三次元の実物体６１上の点Ｘに対する反射特性を推定する。反射特性の推定は、実物体６１上の点Ｘに対する光源マトリクス（Ｎｉ×ｍ）と、ＵＶＷ座標系上の仮想視線マップから得られた実物体６１上の点Ｘに対するＮｖ個の視線方向の放射輝度（または輝度）Ｌｏ（１〜Ｎｉ）を式（７）または式（２９）に適用して行う。
次に、ＣＰＵ１は、反射モデルパラメータ推定処理Ｓ３２により、三次元の実物体６１上の点Ｘに対する離散的な反射特性を、反射モデルのパラメータでフィッティングする。
次に、ＣＰＵ１は、三次元の実物体６１上に設定した全ての点Ｘに対して、ステップＳ２５からＳ３２の処理を施したか否かを判定する（Ｓ３３）。終了していない場合は、ＣＰＵ１は、三次元の実物体６１上の点Ｘを仮想的に移動させて、ステップＳ２５からの処理を実行する。また、終了している場合には、ＣＰＵ１は、図１０に示す処理を終了する。
【０１０４】
（実施形態２の効果）
以上説明したように、本実施形態では、三次元の実物体上の各点において仮想環境マップおよび仮想視線マップを生成することにより、実物体、光源、デジタルカメラを固定したまま、三次元の実物体上の反射特性を高精度で高速に推定することができる。
また、本実施形態では、三次元の実物体上に設定した各点において法線ベクトルに基づいたＵＶＷ座標系を定義し、当該座標系により反射特性を記述する。すなわち、実物体上に設定した点において法線ベクトルに基づいた座標系を定義し、当該座標系により反射特性を記述することにより、三次元の実物体上の各点における反射特性を一意に記述することができる。
【０１０５】
実施形態３
実施形態２では、三次元の実物体６１上の点Ｘの反射特性を推定する場合に、遮蔽マップ１４２を考慮しながら測定点Ｘを仮想的に移動させる方法について説明した。遮蔽マップ１４２を考慮した反射特性の推定では、遮蔽された部分１１３に対する処理をスキップすることにより高速化が可能となる。しかしながら、ｍ個の光源方向とＮｖ個の視線方向に対するＢＲＤＦ（ｍ×Ｎｖ）の組み合わせのうち、遮蔽された部分に対するＢＲＤＦが情報の欠落によって推定できないという課題が生じる。
本実施形態では、遮蔽マップ１４２を考慮しつつ、遮蔽によるＢＲＤＦ推定精度低下を抑制すると共に、遮蔽による情報欠落を補完する方法について説明する。
以下、実施形態１および実施形態２と同一である点の説明は省略し、実施形態１および実施形態２と異なる点を中心に簡潔に説明する。
【０１０６】
（遮蔽によるＢＲＤＦ推定精度低下の抑制）
図２０は、実施形態３の遮蔽を考慮した分割立体角の決定方法の一例を示している。
図２０（ａ）は、図４（ｂ）の環境マップ情報４１の代わりに、三次元の実物体６１上の点Ｘの位置を視点とした仮想環境マップ情報６４を利用して分割立体角１６１を決定したものである。
図２０（ｂ）は、式（２６）および式（２７）に従って、図２０（ａ）で決定した分割立体角１６１を、遮蔽を考慮した仮想環境マップ１１１に適用した例である。分割立体角１６１は、遮蔽を考慮していない仮想環境マップ情報６４に基づいて決定されているため、遮蔽されている部分１１３と遮蔽されていない部分１４１が分割立体角１６１内で混在する場合がある。
【０１０７】
ここで、実施形態１の光源方向決定処理Ｓ４で先述したように、各分割立体角Δωｊ（ｊ＝１〜ｍ）の光源方向（θｉ，φｉ）を決定する方法には、面積中心（重心）を用いる方法と輝度重心を用いる方法がある。上記のような遮蔽部分と非遮蔽部分の混在がある場合には、輝度重心を用いる方法の方が精度良くＢＲＤＦを推定することができる。面積中心（重心）を用いる方法では遮蔽と無関係に光源方向が決定されるのに対し、輝度重心を用いる方法では、分割立体角１６１内の各画素の放射輝度（または輝度）Ｌｉを考慮して光源方向を決定するからである
しかし、元々遮蔽と無関係に決定された分割立体角１６１は、遮蔽を考慮した仮想環境マップ１１１の半球に対して均一に分布している。この半面、分割立体角１６１内の遮蔽されている部分１１３と遮蔽されていない部分１４１の混在比率が不均一となるため、遮蔽が混在する分割立体角１６１から決定される光線方向の分布も不均一となり、ＢＲＤＦ推定精度が低下する。
【０１０８】
図２０（ｃ）は、遮蔽が混在する分割立体角１６１から決定される光線方向の分布が不均一になるのを防ぐために、遮蔽を考慮した仮想環境マップ１１１の遮蔽されていない部分１４１だけを利用して分割立体角１６２を決定した例である。例えば、図６と同様の方法によって、遮蔽されていない部分１４１に対してボロノイ図による領域分割を行い、分割された領域を分割立体角１６２とすればよい。ボロノイ図によって分割された分割立体角１６２は遮蔽が混在しない分割立体角のみとなるため、遮蔽の混在によるＢＲＤＦ推定精度の低下が抑制される。すなわち、可視領域を示す情報に基づいて、環境マップを分割立体角に分割して実物体の反射特性を推定する。
【０１０９】
（遮蔽による情報欠落の補完）
先述したように、実施形態２（図１０）の遮蔽マップ１４２を考慮した反射特性の推定では、反射特性推定処理Ｓ３１によって、三次元の実物体６１上の点Ｘに対する離散的な反射特性を得ることができる。しかし、ｍ個の光源方向とＮｖ個の視線方向に対するＢＲＤＦ（ｍ×Ｎｖ）の組み合わせのうち、遮蔽された部分に対するＢＲＤＦは推定することができない。
このため、実施形態２では、遮蔽による情報欠落を含む不完全なＢＲＤＦに対して、反射モデルパラメータ推定処理Ｓ３２により、反射モデルのフィッティングを試みている。この結果、推定された反射モデルのパラメータは、遮蔽による情報欠落部分において大きな誤差を含むことになる。
【０１１０】
図２１は、実施形態３の遮蔽を考慮した三次元の実物体の反射特性推定処理のフローチャートである。なお、実施形態１および実施形態２と同一の処理については同じ符号を付して説明を省略し、実施形態１や実施形態２と異なる点を中心に簡潔に説明する。
ＣＰＵ１は、反射特性推定処理Ｓ３１までの処理により、三次元の実物体６１上の点Ｘに対する離散的な反射特性を得る。ここで、離散的な反射特性は遮蔽による情報欠落を含む不完全なＢＲＤＦである。なお、Ｓ３２の反射モデルパラメータ推定処理は、Ｓ３３、以下に説明するＳ５１およびＳ５２の処理のＢＲＤＦ補完処理の後に実行される。
【０１１１】
次に、ＣＰＵ１は、判定処理Ｓ３３により、三次元の実物体６１上の全ての点Ｘに対する離散的な反射特性が得られると、各点Ｘに対する離散的な反射特性が不完全なＢＲＤＦであるか否かの判定を行う（Ｓ５１）。各点Ｘに対する離散的な反射特性が、不完全なＢＲＤＦであるか否かは、反射特性推定処理Ｓ３１において式（２９）を適用する際に、判定することができる。
具体的には、Ｖ（ｘ，ｊ）＝０となる光源方向（ｊ∈［１，ｍ］）や、Ｖ（ｘ，ｋ）＝０となる視線方向（ｋ∈［１，Ｎｖ］）が存在するか否かによって判定することができる。例えば、反射特性推定処理Ｓ３１において、Ｖ（ｘ，ｊ）＝０となる光源方向（ｊ∈［１，ｍ］）や、Ｖ（ｘ，ｋ）＝０となる視線方向（ｋ∈［１，Ｎｖ］）が存在する場合がある。このような場合に、各点Ｘに対するフラグが予め設定されるようにしておけば、不完全ＢＲＤＦの判定処理Ｓ５１を簡単、かつ高速に行うことができる。
【０１１２】
次に、ＣＰＵ１は、不完全ＢＲＤＦ補完処理Ｓ５２により、不完全なＢＲＤＦの情報欠落を補完する。一般に、三次元の実物体６１上の点Ｘの近傍は、点Ｘと同じ材質である場合が多い。ＢＲＤＦは表面の材質のみを反映する関数であるため、表面凹凸と切り離して考えることができる。反射特性推定処理Ｓ３１によって推定された全てのＢＲＤＦは、座標変換Ｓ２９によって表面の法線ベクトルの方向がｗ軸と一致するように変換されたＵＶＷ座標系で表現されている。このため、反射特性が等方性反射の場合には、三次元の実物体６１上の点Ｘに対するＢＲＤＦと近傍の点に対するＢＲＤＦをＵＶＷ座標上で直接比較できる。一方、反射特性が異方性反射の場合には、三次元の実物体６１上の点Ｘに対するＢＲＤＦと近傍の点に対するＢＲＤＦをｗ軸のまわりに回転させることによって比較することができる。
【０１１３】
三次元の実物体６１上の点Ｘと近傍の点が同じ材質の場合には、前者と後者のＢＲＤＦは一致するはずである。三次元の実物体６１上の点Ｘに対する不完全なＢＲＤＦと近傍の点に対するＢＲＤＦが、部分的に一致、または相関が高ければ、同じ材質である可能性が高くなる。このため、ＣＰＵ１は、三次元の実物体６１上の点Ｘに対する不完全なＢＲＤＦの遮蔽による欠落部分を、近傍の点に対するＢＲＤＦの値で補完する。すなわち、ＣＰＵ１は、遮蔽マップに基づいて、実物体の反射特性が遮蔽によって欠落する場合には周囲の類似する反射特性によって補完する。
【０１１４】
（実施形態３の効果）
以上説明したように、本実施形態では、仮想環境マップの遮蔽されていない部分だけを利用して分割立体角を決定することにより、遮蔽によるＢＲＤＦ推定精度低下を抑制することができる。
また、本実施形態では、周囲の類似する反射特性によって遮蔽による情報欠落を補うことにより、遮蔽による情報欠落を補完することができる。これにより、遮蔽によるＢＲＤＦ推定精度低下を抑制することができる。
【０１１５】
他の実施形態
なお、本発明は、複数の機器（例えばコンピュータ、インタフェイス機器、リーダ、プリンタ等）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置、制御装置等）に適用してもよい。
また、本発明は、各実施形態の機能を実現するコンピュータプログラムを記録した記録媒体または記憶媒体をシステムまたは装置に供給し、システムまたは装置のコンピュータ（ＣＰＵやＭＰＵ）が前記コンピュータプログラムを実行することでも達成される。この場合、記録媒体から読み出されたソフトウェア自体が上記実施形態の機能を実現することになり、そのコンピュータプログラムと、そのコンピュータプログラムを記憶する、コンピュータが読み取り可能な記録媒体は本発明を構成する。
【０１１６】
また、本発明においては、コンピュータプログラムの実行により上記機能が実現されるだけではない。すなわち、そのコンピュータプログラムの指示により、コンピュータ上で稼働するオペレーティングシステム（ＯＳ）および／または第一の、第二の、第三の、…プログラム等が実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
また、コンピュータプログラムがコンピュータに接続された機能拡張カードやユニット等のデバイスのメモリに書き込まれていてもよい。すなわち、そのコンピュータプログラムの指示により、複数のデバイスのＣＰＵ等が実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
本発明を記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応または関連するコンピュータプログラムが格納される。
【符号の説明】
【０１１７】
１…ＣＰＵ、２…メインメモリ、５…ＨＤＤ、１３…画像入力デバイス
【図１】
2018141653.tif 000024
【図２】
2018141653.tif 000025
【図３】
2018141653.tif 000026
【図４】
2018141653.tif 000027
【図５】
2018141653.tif 000028
【図６】
2018141653.tif 000029
【図７】
2018141653.tif 000030
【図８】
2018141653.tif 000031
【図９】
2018141653.tif 000032
【図１０】
2018141653.tif 000033
【図１１】
2018141653.tif 000034
【図１２】
2018141653.tif 000035
【図１３】
2018141653.tif 000036
【図１４】
2018141653.tif 000037
【図１５】
2018141653.tif 000038
【図１６】
2018141653.tif 000039
【図１７】
2018141653.tif 000040
【図１８】
2018141653.tif 000041
【図１９】
2018141653.tif 000042
【図２０】
2018141653.tif 000043
【図２１】
2018141653.tif 000044