(57)【特許請求の範囲】
【請求項１】
類似した複数の物体の３次元形状データとテクスチャデータとに基づいて求めた汎用３次元物体モデルを用いて、３次元形状パラメータとテクスチャパラメータとに基づいて、個別の物体の３次元形状を示す個別３次元形状データと、前記個別の物体のテクスチャを示す個別テクスチャデータとを生成する個別データ生成手段と、
前記個別データ生成手段が生成した個別３次元形状データと個別テクスチャデータとに基づいて、複数の異なる照明条件における個別の物体の３次元表面各部位の輝度値の変動を示す個別照明基底をそれぞれ求める第１の照明基底計算手段と、
前記第１の照明基底計算手段が求めた個別照明基底群を用いて、入力画像と同じ照明条件を再現する画像である再現画像を生成する再現画像生成手段と、
前記再現画像生成手段が生成した再現画像と入力画像との誤差のコストを示すコスト関数を計算し、確率的降下法によって当該コスト関数を最小化するように、前記汎用３次元物体モデルに与える３次元形状パラメータ及びテクスチャパラメータを探索して更新し、更新後の各パラメータと更新前の各パラメータとの差が予め定めた閾値より小さくなる収束条件が成立するまで繰り返し更新するパラメータ更新手段とを備えたことを特徴とする画像処理システム。
【請求項２】
前記第１の照明基底計算手段は、前記個別データ生成手段が生成した個別３次元形状データに基づいて、球面調和関数を用いて前記個別照明基底を求める請求項１記載の画像処理システム。
【請求項３】
前記第１の照明基底計算手段は、
複数の異なる照明条件を設定する照明条件設定手段と、
前記照明条件設定手段が設定した各照明条件における物体表面各部位の輝度値をそれぞれ求める輝度計算手段と、
前記輝度計算手段が求めた輝度値に基づいて、前記個別照明基底群を求める計算手段とを含む請求項１記載の画像処理システム。
【請求項４】
類似した複数の物体の３次元形状データとテクスチャデータとに基づいて求めた汎用３次元物体モデルを用いて、３次元形状パラメータとテクスチャパラメータとに基づいて、個別の物体の３次元形状を示す個別３次元形状データと、前記個別の物体のテクスチャを示す個別テクスチャデータとを生成する個別データ生成手段と、
前記汎用３次元物体モデルに対応する、個別の物体にあてられた照明の方向及び強度の違いによる反射の具合の基本的な変動を示すデータである照明基底を生成するための汎用照明基底モデルを生成する汎用照明基底モデル生成手段と、
前記汎用照明基底モデル生成手段が生成した汎用照明基底モデルを用いて、複数の異なる照明条件における個別の物体の３次元表面各部位の輝度値の変動を示す個別照明基底をそれぞれ求める第２の照明基底計算手段とを備えたことを特徴とする画像処理システム。
【請求項５】
前記個別データ生成手段が生成した個別３次元形状データと、前記第２の照明基底計算手段が生成した個別照明基底とを出力する出力手段をさらに備えた請求項４記載の画像処理システム。
【請求項６】
前記第２の照明基底計算手段が求めた個別照明基底群を用いて、入力画像と同じ照明条件を再現する画像である再現画像を生成する再現画像生成手段と、
前記再現画像生成手段が生成した再現画像と入力画像との誤差のコストを示すコスト関数を計算し、確率的降下法によって当該コスト関数を最小化するように、前記汎用３次元物体モデルに与える３次元形状パラメータ及びテクスチャパラメータを探索して更新し、更新後の各パラメータと更新前の各パラメータとの差が予め定めた閾値より小さくなる収束条件が成立するまで繰り返し更新するパラメータ更新手段とをさらに備えた請求項４又は請求項５記載の画像処理システム。
【請求項７】
前記第２の照明基底計算手段は、前記汎用照明基底モデル生成手段が汎用３次元物体モデルを用いて生成する個別３次元形状データに対応する個別照明基底を、前記汎用３次元物体モデルに与える３次元形状パラメータと同一のパラメータを用いて求める請求項６記載の画像処理システム。
【請求項８】
前記汎用照明基底モデル生成手段は、
前記汎用３次元物体モデルに与えるためのランダムな３次元形状パラメータを設定するパラメータ設定手段と、
前記パラメータ設定手段が設定したパラメータ群を前記汎用３次元物体モデルに与えることによって生成されるサンプル３次元形状群に基づいて、各パラメータそれぞれに対応する照明基底群を求める第３の照明基底計算手段と、
前記第３の照明基底計算手段が求めた照明基底群と、前記汎用３次元物体モデルの基底ベクトル及び固有値とを用いて、前記汎用照明基底モデルの基底ベクトルを求める基底計算手段とを含む請求項７記載の画像処理システム。
【請求項９】
前記第３の照明基底計算手段は、前記個別３次元形状データに基づいて、球面調和関数を用いて前記個別照明基底を求める請求項８記載の画像処理システム。
【請求項１０】
前記第３の照明基底計算手段は、
複数の異なる照明条件を設定する照明条件設定手段と、
前記照明条件設定手段が設定した各照明条件における物体表面各部位の輝度値をそれぞれ求める輝度計算手段と、
前記輝度計算手段が求めた輝度値に基づいて、主成分分析によって前記個別照明基底群を求める計算手段とを含む請求項８記載の画像処理システム。
【請求項１１】
請求項１又は請求項４記載の画像処理システムを用いた、物体の３次元形状を推定する３次元形状推定システムであって、
前記収束条件が成立すると、前記収束した時点における３次元形状パラメータ及びテクスチャパラメータに基づいて、前記汎用３次元物体モデルによって生成される３次元形状を出力する形状出力手段を備えたことを特徴とする３次元形状推定システム。
【請求項１２】
請求項１又は請求項４記載の画像処理システムを用いた、物体の位置及び姿勢を推定する物体位置姿勢推定システムであって、
前記収束条件が成立すると、前記収束した時点における、物体の位置及び姿勢を示す位置姿勢パラメータを出力する位置姿勢出力手段を備えたことを特徴とする物体位置姿勢推定システム。
【請求項１３】
請求項１又は請求項４記載の画像処理システムを用いた、入力画像と同じ照明条件を再現する画像である再現画像を生成する画像生成システムであって、
前記収束条件が成立すると、前記収束した時点における再現画像を出力する画像出力手段を備えたことを特徴とする画像生成システム。
【請求項１４】
個別データ生成手段が、類似した複数の物体の３次元形状データとテクスチャデータとに基づいて求めた汎用３次元物体モデルを用いて、３次元形状パラメータとテクスチャパラメータとに基づいて、個別の物体の３次元形状を示す個別３次元形状データと、前記個別の物体のテクスチャを示す個別テクスチャデータとを生成し、
第１の照明基底計算手段が、生成した前記個別３次元形状データと前記個別テクスチャデータとに基づいて、複数の異なる照明条件における個別の物体の３次元表面各部位の輝度値の変動を示す個別照明基底をそれぞれ求め、
再現画像生成手段が、求めた前記個別照明基底群を用いて、入力画像と同じ照明条件を再現する画像である再現画像を生成し、
パラメータ更新手段が、生成した前記再現画像と入力画像との誤差のコストを示すコスト関数を計算し、確率的降下法によって当該コスト関数を最小化するように、前記汎用３次元物体モデルに与える３次元形状パラメータ及びテクスチャパラメータを探索して更新し、更新後の各パラメータと更新前の各パラメータとの差が予め定めた閾値より小さくなる収束条件が成立するまで繰り返し更新することを特徴とする画像処理方法。
【請求項１５】
前記第１の照明基底計算手段が、前記個別データ生成手段で生成した個別３次元形状データに基づいて、球面調和関数を用いて前記個別照明基底を求める請求項１４記載の画像処理方法。
【請求項１６】
前記第１の照明基底計算手段が、複数の異なる照明条件を設定し、設定した前記各照明条件における物体表面各部位の輝度値をそれぞれ求め、求めた前記輝度値に基づいて、前記個別照明基底群を求める請求項１４記載の画像処理方法。
【請求項１７】
個別データ生成手段が、類似した複数の物体の３次元形状データとテクスチャデータとに基づいて求めた汎用３次元物体モデルを用いて、３次元形状パラメータとテクスチャパラメータとに基づいて、個別の物体の３次元形状を示す個別３次元形状データと、前記個別の物体のテクスチャを示す個別テクスチャデータとを生成し、
汎用照明基底モデル生成手段が、前記汎用３次元物体モデルに対応する、個別の物体にあてられた照明の方向及び強度の違いによる反射の具合の基本的な変動を示すデータである照明基底を生成するための汎用照明基底モデルを生成し、
第２の照明基底計算手段が、生成した前記汎用照明基底モデルを用いて、複数の異なる照明条件における個別の物体の３次元表面各部位の輝度値の変動を示す個別照明基底をそれぞれ求めることを特徴とする画像処理方法。
【請求項１８】
出力手段が、前記個別データ生成手段が生成した個別３次元形状データと、前記第２の照明基底計算手段が生成した個別照明基底とを出力することを特徴とする請求項１７記載の画像処理方法。
【請求項１９】
再現画像生成手段が、前記第２の照明基底計算手段が求めた個別照明基底群を用いて、入力画像と同じ照明条件を再現する画像である再現画像を生成し、
パラメータ更新手段が、生成した前記再現画像と入力画像との誤差のコストを示すコスト関数を計算し、確率的降下法によって当該コスト関数を最小化するように、前記汎用３次元物体モデルに与える３次元形状パラメータ及びテクスチャパラメータを探索して更新し、更新後の各パラメータと更新前の各パラメータとの差が予め定めた閾値より小さくなる収束条件が成立するまで繰り返し更新することを特徴とする請求項１７又は請求項１８記載の画像処理方法。
【請求項２０】
前記第２の照明基底計算手段が、前記汎用照明基底モデル生成手段が汎用３次元物体モデルを用いて生成する個別３次元形状データに対応する個別照明基底を、前記汎用３次元物体モデルに与える３次元形状パラメータと同一のパラメータを用いて求める請求項１９記載の画像処理方法。
【請求項２１】
パラメータ設定手段が、前記汎用３次元物体モデルに与えるためのランダムな３次元形状パラメータを設定し、
第３の照明基底計算手段が、設定したパラメータ群を前記汎用３次元物体モデルに与えることによって生成されるサンプル３次元形状群に基づいて、各パラメータそれぞれに対応する照明基底群を求め、
基底計算手段が、求めた前記照明基底群と、前記汎用３次元物体モデルの基底ベクトル及び固有値とを用いて、汎用照明基底モデルの基底ベクトルを求めることを特徴とする請求項２０記載の画像処理方法。
【請求項２２】
前記第３の照明基底計算手段が、前記個別３次元形状データに基づいて、球面調和関数を用いて前記個別照明基底を求める請求項２１記載の画像処理方法。
【請求項２３】
前記第３の照明基底計算手段が、複数の異なる照明条件を設定し、設定した前記各照明条件における物体表面各部位の輝度値をそれぞれ求め、求めた前記輝度値に基づいて、主成分分析によって前記個別照明基底群を求める請求項２１記載の画像処理方法。
【請求項２４】
請求項１４又は請求項１７記載の画像処理方法を用いた、物体の３次元形状を推定する３次元形状推定方法であって、
形状出力手段が、前記収束条件が成立すると、前記収束した時点における３次元形状パラメータ及びテクスチャパラメータに基づいて、前記汎用３次元物体モデルによって生成される３次元形状を出力することを特徴とする３次元形状推定方法。
【請求項２５】
請求項１４又は請求項１７記載の画像処理方法を用いた、物体の位置及び姿勢を推定する物体位置姿勢推定方法であって、
位置姿勢出力手段が、前記収束条件が成立すると、前記収束した時点における、物体の位置及び姿勢を示す位置姿勢パラメータを出力することを特徴とする物体位置姿勢推定方法。
【請求項２６】
請求項１４又は請求項１７記載の画像処理方法を用いた、入力画像と同じ照明条件を再現する画像である再現画像を生成する画像生成方法であって、
画像出力手段が、前記収束条件が成立すると、前記収束した時点における再現画像を出力することを特徴とする画像生成方法。
【請求項２７】
コンピュータを、
類似した複数の物体の３次元形状データとテクスチャデータとに基づいて求めた汎用３次元物体モデルを用いて、３次元形状パラメータとテクスチャパラメータとに基づいて、個別の物体の３次元形状を示す個別３次元形状データと、前記個別の物体のテクスチャを示す個別テクスチャデータとを生成する個別データ手段と、
生成した前記個別３次元形状データと前記個別テクスチャデータとに基づいて、複数の異なる照明条件における個別の物体の３次元表面各部位の輝度値の変動を示す個別照明基底をそれぞれ求める第１の照明基底計算手段と、
求めた前記個別照明基底群を用いて、入力画像と同じ照明条件を再現する画像である再現画像を生成する再現画像生成手段と、
生成した前記再現画像と入力画像との誤差のコストを示すコスト関数を計算し、確率的降下法によって当該コスト関数を最小化するように、前記汎用３次元物体モデルに与える３次元形状パラメータ及びテクスチャパラメータを探索して更新し、更新後の各パラメータと更新前の各パラメータとの差が予め定めた閾値より小さくなる収束条件が成立するまで繰り返し更新するパラメータ更新手段として機能させるための画像処理プログラム。
【請求項２８】
コンピュータを、
類似した複数の物体の３次元形状データとテクスチャデータとに基づいて求めた汎用３次元物体モデルを用いて、３次元形状パラメータとテクスチャパラメータとに基づいて、個別の物体の３次元形状を示す個別３次元形状データと、前記個別の物体のテクスチャを示す個別テクスチャデータとを生成する個別データ生成手段と、
前記汎用３次元物体モデルに対応する、個別の物体にあてられた照明の方向及び強度の違いによる反射の具合の基本的な変動を示すデータである照明基底を生成するための汎用照明基底モデルを生成する汎用照明基底モデル生成手段と、
生成した前記汎用照明基底モデルを用いて、複数の異なる照明条件における個別の物体の３次元表面各部位の輝度値の変動を示す個別照明基底をそれぞれ求める第２の照明基底計算手段として機能させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力した画像を処理する画像処理システム、画像処理方法及び画像処理プログラムに関する。特に、本発明は、位置姿勢や照明条件の分からない入力画像から、その入力画像に写っており且つ形状やテクスチャが分かっていない物体の３次元形状、又はその物体の位置／姿勢を推定する３次元形状推定システム、物体位置姿勢推定システム、３次元形状推定方法及び物体位置姿勢推定方法に関する。また、本発明は、入力画像を再現した再現画像を生成する画像生成システム及び画像生成方法に関する。
【背景技術】
【０００２】
近年、３次元形状データを用いて画像を生成するコンピュータグラフィクス（ＣＧ）の技術が発展し、実際の画像に近いリアルな画像を生成することが行われている（例えば、非特許文献１参照）。例えば、非特許文献１に記載されたＣＧ技術を用いる場合、個別の物体の３次元形状データ（３Ｄ形状ともいう）と表面の色情報（テクスチャ）とを用意する。そして、カメラに対する位置姿勢を指定し、撮影環境に存在する照明の位置や種類、強度を指定すれば、実際の画像に近いリアルな画像を生成することができる。【０００３】
一般に、人間の顔等の設計図のない物体の場合、個別の物体の３Ｄ形状とテクスチャとを得るために、特殊な計測装置を用いる必要がある。そこで、予め所定の変形モデルを用意し、３Ｄ形状とテクスチャとを生成する方法が開発されている。この場合、様々な人物の顔等に類似した物体の集合に対して、予めある程度の数の物体について計測を行い汎用の変形モデルを用意する。そして、用意した汎用の変形モデルに適当な数値パラメータを与えることによって、計測していない個別の物体の３Ｄ形状とテクスチャとを生成する。【０００４】
例えば、所定の変形モデルを用いて３Ｄ形状とテクスチャとを推定する技術の一例が非特許文献２に記載されている。非特許文献２に記載された技術では、予め多数の人物の顔の３Ｄ形状とテクスチャとを３次元形状計測装置を用いて計測し、計測したデータ群から計測していない任意の人物の顔の３次元形状とテクスチャとを生成できる汎用３次元顔モデルを生成する。この汎用顔モデルは、多数の人物の顔の３Ｄ形状とテクスチャとのそれぞれの平均値と、それら平均値からの変化量を表す基底ベクトル群とを記憶しておき、基底ベクトル群に係数パラメータをかけたものをそれら平均値に加算することによって、任意の人物の顔の３Ｄ形状とテクスチャとを近似するものである。すなわち、形状及びテクスチャそれぞれのパラメータを指定すれば、個別の人物の顔の３Ｄ形状データとテクスチャとが得られる。【０００５】
この非特許文献２に記載された汎用顔モデルと、非特許文献１に記載されたＣＧ技術とを組み合わせると、所望の画像を再現できることになる。この場合、ある個別の物体について、その３Ｄ形状、テクスチャ、位置姿勢及び照明条件のそれぞれのパラメータ群を指定すると、所望の画像を再現できる。【０００６】
また、非特許文献２に記載された技術を利用して、ある個別物体の１枚の入力画像からその個別物体の３次元形状とテクスチャとを推定することもできる。図１１は、汎用顔モデルに基づいて物体の３次元形状を推定する３次元形状推定システムの構成の一例を示すブロック図である。図１１に示すように、従来の汎用顔モデルに基づく３次元形状推定システムは、汎用顔モデル生成手段９００、照明条件初期値入力手段９０１、位置姿勢初期値入力手段９０２、顔モデル生成手段９０３、透視変換手段９０４、陰影シャドウ生成手段９０５及びパラメータ更新手段９０６を含む。このような構成を有する従来の３次元形状推定システムは、以下のように動作する。【０００７】
汎用顔モデル生成手段９００は、予め汎用顔モデル（汎用３Ｄ顔モデルともいう）を生成する。また、汎用顔モデル生成手段９００は、生成した汎用３Ｄ顔モデルを顔モデル生成手段９０３に出力する。【０００８】
照明条件初期値入力手段９０１は、３次元形状を推定しようとする物体が写っている入力画像について、その入力画像を撮影したときの照明の状態を示す照明パラメータの概略値を初期値として入力する。例えば、照明条件初期値入力手段９０１は、一例として、１個の無限遠方にある点光源の方向を（ｌθ，ｌφ）とし、その点光源の３次元方向ベクトルｌ、強度Ｌ及び拡散光の強度を示す値ａを、照明パラメータとして入力する。【０００９】
また、照明条件初期値入力手段９０１を用いた入力方法の例として、例えば、入力画像と、非特許文献１に記載されたＣＧ技術によって生成した３次元画像とをコンピュータ端末に並べて表示させる。そして、コンピュータ端末の画面を見ながら、入力画像にできるだけ近い陰影とシャドウとが表示されるように、利用者（例えば、オペレータ）が手動で調整することによって、照明パラメータを入力することができる。【００１０】
位置姿勢初期値入力手段９０２は、入力画像に写っている物体の位置と姿勢とを示すパラメータ（位置姿勢パラメータという）の概略値を初期値として入力する。例えば、位置姿勢初期値入力手段９０２は、一例として、物体の位置を３次元座標ベクトルｏとし、物体の向きをｘ、ｙ、ｚ軸周りの回転角γ、θ、φで表した場合に、それら回転角の回転を示す行列Ｒを、位置姿勢パラメータとして入力する。【００１１】
また、顔モデル生成手段９０３を用いた入力方法の一例として、例えば、非特許文献１に記載されたＣＧ技術によって生成した３次元画像を入力画像と並べてコンピュータ端末に表示させる。そして、コンピュータ端末の画面を見ながら、入力画像にできるだけ近い向きで物体が表示されるように、利用者が手動で調整することによって、位置姿勢パラメータを入力することができる。また、他の入力方法の例として、例えば、利用者は、物体の特徴的な部位の位置を選択して、その選択した部位の画像上の位置を入力する。そして、予め各部位の３次元座標データを記憶しておき、予め記憶する３次元座標データのうち、入力位置に該当する部位の３次元座標データを用いて、物体の位置姿勢パラメータを計算することも可能である。【００１２】
顔モデル生成手段９０３は、汎用顔モデル生成手段９００が予め計算した汎用３Ｄ顔モデルを記憶する。また、顔モデル生成手段９０３は、３次元形状パラメータとテクスチャパラメータとを入力し、汎用３Ｄ顔モデルを用いて、入力したパラメータに記述される人物固有の個別３次元形状と個別テクスチャデータとを算出して出力する。【００１３】
汎用３Ｄ顔モデルは、予め計測を行った多数（例えば、２００名程度）の人物の３次元形状｛Ｓｉ’｝とテクスチャデータ｛Ｔｉ’｝とから計算された平均値｛バーＳ，バーＴ｝と、それら平均値からのずれを示す基底ベクトル群｛Ｓｊ，Ｔｊ｝とからなる。汎用顔モデル生成手段９００は、まず、平均値を引いた３次元形状ベクトルを並べた行列（共分散行列）Ｓを、式（１）を用いて作成する。【００１４】
【数１】
0004793698.tif 000002
【００１５】
また、汎用顔モデル生成手段９００は、その共分散行列Ｓの固有値及び固有ベクトルを求め、求めた固有値σＳ，ｉ２が大きいものからｎｐ個（例えば、１００個程度）分、対応する基底ベクトル群｛Ｓｊ｝を記憶しておく。すると、ｎｐ個の固有値を対角成分にもつ行列をΣＳとし、基底ベクトル群｛Ｓｊ｝を並べた行列をＶＳとして、汎用顔モデル生成手段９００は、式（２）に示す近似を行ったことになる。【００１６】
【数２】
0004793698.tif 000003
【００１７】
また、汎用顔モデル生成手段９００は、テクスチャについても３次元形状データと全く同様に計算することによって、１００個程度の固有値σＴ，ｉ２と基底ベクトル｛Ｔｊ｝とを計算し記憶しておく。【００１８】
以上に示す計算によって、汎用顔モデル生成手段９００が求めた基底ベクトルと固有値データとが、汎用３Ｄ顔モデルとなる。【００１９】
ある個別の人物の顔の３次元形状データは、顔表面の各点ｉの３次元座標値（ｘｉ，ｙｉ，ｚｉ）を並べたベクトルＳ＝［ｘ０，ｙ０，ｚ０，ｘ１，ｙ１，ｚ１，．．．，ｘｎ，ｙｎ，ｚｎ］Ｔとテクスチャの輝度値ｔｉとを並べたベクトルを、Ｔ＝［ｔ０，ｔ１，．．．，ｔｎ］とすると、式（３）で表される。【００２０】
【数３】
0004793698.tif 000004
【００２１】
ここで、式（３）において、｛ｓｊ｝は形状パラメータであり、｛ｔｊ｝はテクスチャパラメータである。すなわち、顔モデル生成手段１０３は、形状パラメータ｛ｓｊ｝及びテクスチャパラメータ｛ｔｊ｝を入力し、式（３）を用いて、個別３次元形状Ｓ及び個別テクスチャＴを算出し出力する。なお、図１１に示す３次元形状推定システムは、後述するように、繰り返し各パラメータの更新処理を行い、所定の収束条件が成立した場合の各パラメータ値を３次元形状の推定結果として出力する。この場合、顔モデル生成手段９０３は、繰り返し処理の初回の処理時には、形状パラメ−タとテクスチャパラメータとの初期値として値０を用いて、個別３次元形状Ｓ及び個別テクスチャＴを算出する。【００２２】
透視変換手段９０４は、個別３次元形状Ｓ、個別テクスチャＴ及び物体の位置姿勢パラメータを入力とし、３次元形状の各データ点が、生成する再現画像中のどの画素に見えるかを示す対応テーブルを計算する。入力画像を撮影したカメラの焦点距離をｆとし、画像中心を（ｃｕ，ｃｖ）とすると、透視変換手段９０４は、３次元顔モデルの点ｉの画像座標（ｕｉ，ｖｉ）を、式（４）を用いて計算する。【００２３】
【数４】
0004793698.tif 000005
【００２４】
透視変換手段９０４は、３次元形状の表面全体を三角形のポリゴンに分割し、ポリゴンの各頂点について（ｕｉ，ｖｉ）を計算し、ポリゴン内部の点を埋めてＺの値を用いた陰面消去処理を行う。この陰面消去処理はＣＧ技術の標準的手法であり、様々なグラフィクスライブラリプログラムを利用して行うことができる。この陰面消去処理の結果、透視変換手段９０４は、再現画像の各画素ｉに対応するポリゴンｊの対応関係を示す対応テーブルを求めることができる。【００２５】
陰影シャドウ生成手段９０５は、個別３次元形状、対応テーブル及び個別テクスチャを入力とし、再現画像の各画素の輝度値を計算する。陰影シャドウ生成手段９０５は、例えば、一例として、非特許文献１に記載されたＣＧ技術の標準的手法を利用して、陰影の生成処理を行うことが可能である。まず、陰影シャドウ生成手段９０５は、個別３次元形状Ｓの各データ点ｉについて法線ベクトルｎｉを計算する。また、物体表面上で点ｉの属する３角ポリゴンの他の２頂点のデータ点を反時計回りに（ｊ，ｋ）とし、点（ｉ，ｊ，ｋ）の３次元座標を表す３次元ベクトルをｐｉ、ｐｊ、ｐｋとすると、陰影シャドウ生成手段９０５は、式（５）を用いて、法線ベクトルｎｉを計算できる。【００２６】
【数５】
0004793698.tif 000006
【００２７】
また、陰影シャドウ生成手段９０５は、全てのデータ点について法線ベクトルを求めると、画素ｉの輝度値Ｉｉを、Ｐｈｏｎｇの反射モデルを用いて式（６）によって計算する（非特許文献１参照）。【００２８】
Ｉｉ＝（ａ＋Ｌｎｊｌ）Ｔ（ｊ）＋ｃｊｋＬ（ｒｊｖｊ）ｖ
ｒｊ＝２（ｎｊｌ）ｎｊ−ｌ                                  式（６）【００２９】
ただし、式（６）において、Ｔ（ｊ）は、対応テーブルによって示される画素ｉに対応するポリゴンｊのテクスチャ輝度値である。また、ｋは鏡面反射定数（固定値）であり、ｖは鏡面反射特性（固定値）である。また、ｃｊは、ポリゴンｊが光源方向ｌに対してシャドウに覆われるか否かを示す値であり、０又は１の値をとる。陰影シャドウ生成手段９０５は、光線追跡法等ＣＧ技術の標準的手法を用いて計算することによって、キャストシャドウの判定を行うことができる。【００３０】
以上の処理によって、陰影シャドウ生成手段９０５は、再現画像の各画素について輝度値を計算し、計算結果に基づいて再現画像を生成する。以下、対応する形状データ点が存在する画素の輝度値を並べたベクトルを、Ｉｍｏｄｅｌ＝（Ｉ０，Ｉ１，．．．，Ｉｎ）とする。また、各画素に対応する入力画像の輝度値を並べたベクトルをＩｉｎｐｕｔとする。【００３１】
パラメータ更新手段９０６は、入力画像と陰影シャドウ生成手段９０５が生成した再現画像とを比較し、再現画像が入力画像に近くなるように、位置姿勢、照明、３次元形状及びテクスチャの各パラメータを変化させる。３次元形状推定システムは、上記に示す顔モデル生成手段９０３、透視変換手段９０４、陰影シャドウ生成手段９０５及びパラメータ更新手段９０６を用いた処理を繰り返し実行することによって、最適なパラメータ値を探索する。【００３２】
パラメータ更新手段９０６は、まず、画像の類似度に関するコスト関数ＥＩを、式（７）を用いて求める。【００３３】
ＥＩ＝｜Ｉｍｏｄｅｌ−Ｉｉｎｐｕｔ｜２                            式（７）【００３４】
次に、パラメータ更新手段９０６は、モデルの事前確率分布に従った形状パラメータとテクスチャパラメータとに対するコスト関数Ｅを、式（８）を用いて求める。【００３５】
【数６】
0004793698.tif 000007
【００３６】
パラメータ更新手段９０６は、確率的降下法によって、コスト関数Ｅを最小化するようなパラメータを探索する。そのため、パラメータ更新手段９０６は、形状、テクスチャ、照明及び位置姿勢のそれぞれのパラメータに対するＥの微分値Ｊを、式（９）を用いて計算する。【００３７】
【数７】
0004793698.tif 000008
【００３８】
全パラメータを並べたベクトルをα＝［ｓｉ，ｔｉ，ｌθ，ｌφ，ａ，ｐ，θ，γ，φ］とすると、パラメータ更新手段９０６は、式（１０）を用いてパラメータを新しい値α＊に更新する。【００３９】
α＊＝α−（ＪＴＪ）−１ＪＥ                                式（１０）【００４０】
パラメータ更新手段９０６は、計算したパラメータの更新量が予め定めた閾値より小さい場合、繰り返し処理が収束したと判定し処理を終了する。また、例えば、パラメータ更新手段９０６は、更新前のパラメータを用いて生成した再現画像と入力画像との誤差より、更新後のパラメータを用いて生成した再現画像と入力画像との誤差が小さくならない場合、繰り返し処理が収束したと判定し処理を終了する。そして、３次元形状推定システムは、繰り返し処理の過程で最も入力画像に近い画像を生成できた時の個別３次元形状を、３次元形状推定結果として出力する。【００４１】
【非特許文献１】Manson Woo, Jackie Neider, Tom Davis, ”ＯｐｅｎＧＬプログラミングガイド（原著第２版）”，アジソン・ウェスレイ・パブリッシャーズ・ジャパン株式会社，ｐ．１６９−１９５
【非特許文献２】Volker Blanz, Thomas Vetter, "Face Recognition Based on Fitting a 3D Morphable Model", PAMI, 2003, vol. 25, No. 9, pp.1063-1074
【発明の開示】
【発明が解決しようとする課題】
【００４２】
図１１に示す従来の３次元形状推定システムでは、第１の課題として、照明条件のパラメータの初期値が必要であり、照明パラメータの初期値の入力負担が大きいという課題がある。また、照明パラメータは、拡散光源の強度や点光源の方向及び強度を表す物理的なパラメータであることによって、入力画像が撮影された現実の照明環境を記述するものでなければならない。一般に、物体の位置姿勢のパラメータは感覚的に理解しやすいので、位置姿勢パラメータの初期値を入力することは困難ではない。しかし、現実の撮影環境では多数の位置に多様な種類の光源が存在しているので、この撮影環境を近似する照明パラメータの値を、利用者（例えば、オペレータ）が人手によって決定するのは困難で手間のかかる作業である。【００４３】
また、従来の３次元形状推定システムでは、第２の課題として、生成する画像の輝度値と照明パラメータとの関係が非線形であり、処理負担が大きいという課題がある。すなわち、非線形なモデルに対して最適なパラメータを探索するために多くの繰り返し処理を要するので、処理時間がかかり処理負担が大きい。また、非線形なモデルに対して多くの繰り返し処理を要するので、局所解に陥りやすく、パラメータの正確な推定が困難である。【００４４】
また、従来の３次元形状推定システムでは、第３の課題として、ＣＧ技術によって陰影を再現するために法線ベクトルの計算処理が必要となり、またシャドウの生成のために光線追跡処理が必要となるので、処理負担が大きいという課題がある。すなわち、これら法線ベクトルの計算処理や光線追跡処理は極めて計算量が多いので、処理時間がかかり処理負担が大きい。また、図１１に示す３次元形状推定システムの場合、確率的降下法によって３次元形状のパラメータを変化させながら画像の生成を繰り返す。そのため、繰り返しの度に画像生成を行う３次元形状が変化し、法線ベクトルやシャドウの状態が変化する。【００４５】
そこで、本発明は、照明条件のパラメータの初期値を事前に調べたり、利用者が手動で入力したりしなくても、画像を処理できる画像処理システム、３次元形状推定システム、物体位置姿勢推定システム、画像生成システム、画像処理方法、３次元形状推定方法、物体位置姿勢推定方法、画像生成方法及び画像処理プログラムを提供することを目的とする。【００４６】
また、本発明は、繰り返し処理の回数を少なくして処理を高速化するとともに、局所解を回避し正確なパラメータを推定できる画像処理システム、３次元形状推定システム、物体位置姿勢推定システム、画像生成システム、画像処理方法、３次元形状推定方法、物体位置姿勢推定方法、画像生成方法及び画像処理プログラムを提供することを目的とする。【００４７】
また、本発明は、画像生成における陰影やシャドウの計算処理を高速化できる画像処理システム、３次元形状推定システム、物体位置姿勢推定システム、画像生成システム、画像処理方法、３次元形状推定方法、物体位置姿勢推定方法、画像生成方法及び画像処理プログラムを提供することを目的とする。さらに、本発明は、線形照明モデルを用いる際に必要となる照明基底の計算を高速に行うことができる画像処理システム、３次元形状推定システム、物体位置姿勢推定システム、画像生成システム、画像処理方法、３次元形状推定方法、物体位置姿勢推定方法、画像生成方法及び画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００４８】
本発明による画像処理システムは、類似した複数の物体の３次元形状データとテクスチャデータとに基づいて求めた汎用３次元物体モデルを用いて、３次元形状パラメータとテクスチャパラメータとに基づいて、個別の物体の３次元形状を示す個別３次元形状データと、個別の物体のテクスチャを示す個別テクスチャデータとを生成する個別データ生成手段（例えば、顔モデル生成手段１０３によって実現される）と、個別データ生成手段が生成した個別３次元形状データと個別テクスチャデータとに基づいて、複数の異なる照明条件における個別の物体の３次元表面各部位の輝度値の変動を示す個別照明基底をそれぞれ求める第１の照明基底計算手段（例えば、照明基底計算手段２０１によって実現される）と、第１の照明基底計算手段が求めた個別照明基底群を用いて、入力画像と同じ照明条件を再現する画像である再現画像を生成する再現画像生成手段（例えば、照明補正手段２０３によって実現される）と、再現画像生成手段が生成した再現画像と入力画像との誤差のコストを示すコスト関数を計算し、確率的降下法によって当該コスト関数を最小化するように、汎用３次元物体モデルに与える３次元形状パラメータ及びテクスチャパラメータを探索して更新し、更新後の各パラメータと更新前の各パラメータとの差が予め定めた閾値より小さくなる所定の収束条件（例えば、各パラメータの更新量が所定の閾値より小さくなること）が成立するまで繰り返し更新するパラメータ更新手段（例えば、パラメータ更新手段２０４によって実現される）とを備えたことを特徴とする。なお、「３次元形状パラメータ」とは、標準的な形状データとテクスチャデータとに、どのような変形を与えると物体の３次元形状になるかを示すパラメータである。また、「テクスチャパラメータ」とは、標準的な形状データとテクスチャデータとに、どのような変動を与えると物体のテクスチャになるかを示すパラメータである。
【００４９】
また、画像処理システムにおいて、第１の照明基底計算手段は、個別データ生成手段が生成した個別３次元形状データに基づいて、球面調和関数を用いて個別照明基底を求めるものであってもよい。【００５０】
また、画像処理システムにおいて、第１の照明基底計算手段は、複数の異なる照明条件を設定する照明条件設定手段（例えば、プログラムに従って動作する情報処理装置のＣＰＵによって実現される）と、照明条件設定手段が設定した各照明条件における物体表面各部位の輝度値をそれぞれ求める輝度計算手段（例えば、プログラムに従って動作する情報処理装置のＣＰＵによって実現される）と、輝度計算手段が求めた輝度値に基づいて、個別照明基底群を求める計算手段（例えば、プログラムに従って動作する情報処理装置のＣＰＵによって実現される）とを含むものであってもよい。【００５１】
また、画像処理システムは、類似した複数の物体の３次元形状データとテクスチャデータとに基づいて求めた汎用３次元物体モデルを用いて、３次元形状パラメータとテクスチャパラメータとに基づいて、個別の物体の３次元形状を示す個別３次元形状データと、個別の物体のテクスチャを示す個別テクスチャデータとを生成する個別データ生成手段と、汎用３次元物体モデルに対応する、個別の物体にあてられた照明の方向及び強度の違いによる反射の具合の基本的な変動を示すデータである照明基底を生成するための汎用照明基底モデルを生成する汎用照明基底モデル生成手段（例えば、汎用照明基底モデル生成手段３００によって実現される）と、汎用照明基底モデル生成手段が生成した汎用照明基底モデルを用いて、複数の異なる照明条件における個別の物体の３次元表面各部位の輝度値の変動を示す個別照明基底をそれぞれ求める第２の照明基底計算手段（例えば、照明基底モデル計算手段３０１によって実現される）とを備えたものであってもよい。【００５２】
また、画像処理システムは、個別データ生成手段が生成した個別３次元形状データと、第２の照明基底計算手段が生成した個別照明基底とを出力する出力手段を備えたものであってもよい。【００５３】
また、画像処理システムは、第２の照明基底計算手段が求めた個別照明基底群を用いて、入力画像と同じ照明条件を再現する画像である再現画像を生成する再現画像生成手段と、再現画像生成手段が生成した再現画像と入力画像との誤差のコストを示すコスト関数を計算し、確率的降下法によって当該コスト関数を最小化するように、汎用３次元物体モデルに与える３次元形状パラメータ及びテクスチャパラメータを探索して更新し、更新後の各パラメータと更新前の各パラメータとの差が予め定めた閾値より小さくなる所定の収束条件が成立するまで繰り返し更新するパラメータ更新手段とを備えたものであってもよい。
【００５４】
また、画像処理システムにおいて、第２の照明基底計算手段は、汎用照明基底モデル生成手段が汎用３次元物体モデルを用いて生成する個別３次元形状データに対応する個別照明基底を、汎用３次元物体形状モデルに与える３次元形状パラメータと同一のパラメータを用いて求めるものであってもよい。【００５５】
また、画像処理システムにおいて、汎用照明基底モデル生成手段は、汎用３次元物体モデルに与えるためのランダムな３次元形状パラメータを設定するパラメータ設定手段（例えば、サンプルパラメータ設定手段３００１によって実現される）と、パラメータ設定手段が設定したパラメータ群を汎用３次元物体モデルに与えることによって生成されるサンプル３次元形状群に基づいて、各パラメータそれぞれに対応する照明基底群を求める第３の照明基底計算手段（例えば、照明基底計算手段３００２によって実現される）と、第３の照明基底計算手段が求めた照明基底群と、汎用３次元物体モデルの基底ベクトル及び固有値とを用いて、汎用照明基底モデルの基底ベクトルを求める基底計算手段（例えば、基底モデル計算手段３００３によって実現される）とを含むものであってもよい。【００５６】
また、画像処理システムにおいて、第３の照明基底計算手段は、個別３次元形状データに基づいて、球面調和関数を用いて個別照明基底を求めるものであってもよい。【００５７】
また、画像処理システムにおいて、第３の照明基底計算手段は、複数の異なる照明条件を設定する照明条件設定手段（例えば、プログラムに従って動作する情報処理装置のＣＰＵによって実現される）と、照明条件設定手段が設定した各照明条件における物体表面各部位の輝度値をそれぞれ求める輝度計算手段（例えば、プログラムに従って動作する情報処理装置のＣＰＵによって実現される）と、輝度計算手段が求めた輝度値に基づいて、主成分分析によって個別照明基底群を求める計算手段（例えば、プログラムに従って動作する情報処理装置のＣＰＵによって実現される）とを含むものであってもよい。【００５８】
本発明による３次元形状推定システムは、画像処理システムを用いた、物体の３次元形状を推定する３次元形状推定システムであって、所定の収束条件が成立すると、収束した時点における３次元形状パラメータ及びテクスチャパラメータに基づいて、汎用３次元物体モデルによって生成される３次元形状を出力する形状出力手段（例えば、画像処理システムを実現する情報処理装置が備える出力手段）を備えたことを特徴とする。【００５９】
本発明による物体位置姿勢推定システムは、画像処理システムを用いた、物体の位置及び姿勢を推定する物体位置姿勢推定システムであって、所定の収束条件が成立すると、収束した時点における、物体の位置及び姿勢を示す位置姿勢パラメータを出力する位置姿勢出力手段（例えば、画像処理システムを実現する情報処理装置が備える出力手段）を備えたことを特徴とする。【００６０】
本発明による画像生成システムは、画像処理システムを用いた、入力画像と同じ照明条件を再現する画像である再現画像を生成する画像生成システムであって、所定の収束条件が成立すると、収束した時点における再現画像を出力する画像出力手段（例えば、画像処理システムを実現する情報処理装置が備える出力手段）を備えたことを特徴とする。【００６１】
本発明による画像処理方法は、個別データ生成手段が、類似した複数の物体の３次元形状データとテクスチャデータとに基づいて求めた汎用３次元物体モデルを用いて、３次元形状パラメータとテクスチャパラメータとに基づいて、個別の物体の３次元形状を示す個別３次元形状データと、個別の物体のテクスチャを示す個別テクスチャデータとを生成する個別データ生成し、第１の照明基底計算手段が、生成した個別３次元形状データと個別テクスチャデータとに基づいて、複数の異なる照明条件における個別の物体の３次元表面各部位の輝度値の変動を示す個別照明基底をそれぞれ求め、再現画像生成手段が、求めた個別照明基底群を用いて、入力画像と同じ照明条件を再現する画像である再現画像を生成し、パラメータ更新手段が、生成した再現画像と入力画像との誤差のコストを示すコスト関数を計算し、確率的降下法によって当該コスト関数を最小化するように、汎用３次元物体モデルに与える３次元形状パラメータ及びテクスチャパラメータを探索して更新し、更新後の各パラメータと更新前の各パラメータとの差が予め定めた閾値より小さくなる所定の収束条件が成立するまで繰り返し更新することを特徴とする。
【００６２】
また、画像処理方法は、第１の照明基底計算手段が、個別データ生成ステップで生成した個別３次元形状データに基づいて、球面調和関数を用いて個別照明基底を求めるものであってもよい。
【００６３】
また、画像処理方法は、第１の照明基底計算手段が、複数の異なる照明条件を設定し、設定した各照明条件における物体表面各部位の輝度値をそれぞれ求め、求めた輝度値に基づいて、個別照明基底群を求めるものであってもよい。
【００６４】
また、本発明による画像処理方法は、個別データ生成手段が、類似した複数の物体の３次元形状データとテクスチャデータとに基づいて求めた汎用３次元物体モデルを用いて、３次元形状パラメータとテクスチャパラメータとに基づいて、個別の物体の３次元形状を示す個別３次元形状データと、個別の物体のテクスチャを示す個別テクスチャデータとを生成し、汎用照明基底モデル生成手段が、汎用３次元物体モデルに対応する、個別の物体にあてられた照明の方向及び強度の違いによる反射の具合の基本的な変動を示すデータである照明基底を生成するための汎用照明基底モデルを生成し、第２の照明基底計算手段が、生成した汎用照明基底モデルを用いて、複数の異なる照明条件における個別の物体の３次元表面各部位の輝度値の変動を示す個別照明基底をそれぞれ求めることを特徴とする。
【００６５】
また、画像処理方法は、出力手段が、個別データ生成手段が生成した個別３次元形状データと、第２の照明基底計算手段が生成した個別照明基底とを出力するものであってもよい。
【００６６】
また、画像処理方法は、再現画像生成手段が、第２の照明基底計算手段が求めた個別照明基底群を用いて、入力画像と同じ照明条件を再現する画像である再現画像を生成し、パラメータ更新手段が、生成した再現画像と入力画像との誤差のコストを示すコスト関数を計算し、確率的降下法によって当該コスト関数を最小化するように、汎用３次元物体モデルに与える３次元形状パラメータ及びテクスチャパラメータを探索して更新し、更新後の各パラメータと更新前の各パラメータとの差が予め定めた閾値より小さくなる所定の収束条件が成立するまで繰り返し更新するパラメータ更新ステップとを含むものであってもよい。
【００６７】
また、画像処理方法は、第２の照明基底計算手段が、汎用照明基底モデル生成手段が汎用３次元物体モデルを用いて生成する個別３次元形状データに対応する個別照明基底を、汎用３次元物体形状モデルに与える３次元形状パラメータと同一のパラメータを用いて求めるものであってもよい。
【００６８】
また、画像処理方法は、パラメータ設定手段が、汎用３次元物体モデルに与えるためのランダムな３次元形状パラメータを設定し、第３の照明基底計算手段が、設定したパラメータ群を汎用３次元物体モデルに与えることによって生成されるサンプル３次元形状群に基づいて、各パラメータそれぞれに対応する照明基底群を求め、基底計算手段が、求めた照明基底群と、汎用３次元物体モデルの基底ベクトル及び固有値とを用いて、汎用照明基底モデルの基底ベクトルを求めるものであってもよい。
【００６９】
また、画像処理方法は、第３の照明基底計算手段が、個別３次元形状データに基づいて、球面調和関数を用いて個別照明基底を求めるものであってもよい。
【００７０】
また、画像処理方法は、第３の照明基底計算手段が、複数の異なる照明条件を設定し、設定した各照明条件における物体表面各部位の輝度値をそれぞれ求め、求めた輝度値に基づいて、主成分分析によって個別照明基底群を求めるものであってもよい。
【００７１】
本発明による３次元形状推定方法は、画像処理方法を用いた、物体の３次元形状を推定する３次元形状推定方法であって、形状出力手段が、所定の収束条件が成立すると、収束した時点における３次元形状パラメータ及びテクスチャパラメータに基づいて、汎用３次元物体モデルによって生成される３次元形状を出力する形状出力ステップを含むことを特徴とする。
【００７２】
本発明による物体位置姿勢推定方法は、画像処理方法を用いた、物体の位置及び姿勢を推定する物体位置姿勢推定方法であって、位置姿勢出力手段が、所定の収束条件が成立すると、収束した時点における、物体の位置及び姿勢を示す位置姿勢パラメータを出力することを特徴とする。
【００７３】
本発明による画像生成方法は、画像処理方法を用いた、入力画像と同じ照明条件を再現する画像である再現画像を生成する画像生成方法であって、画像出力手段が、所定の収束条件が成立すると、収束した時点における再現画像を出力することを特徴とする。
【００７４】
本発明による画像処理プログラムは、コンピュータを、類似した複数の物体の３次元形状データとテクスチャデータとに基づいて求めた汎用３次元物体モデルを用いて、３次元形状パラメータとテクスチャパラメータとに基づいて、個別の物体の３次元形状を示す個別３次元形状データと、個別の物体のテクスチャを示す個別テクスチャデータとを生成する個別データ手段と、生成した個別３次元形状データと個別テクスチャデータとに基づいて、複数の異なる照明条件における個別の物体の３次元表面各部位の輝度値の変動を示す個別照明基底をそれぞれ求める第１の照明基底計算手段と、求めた個別照明基底群を用いて、入力画像と同じ照明条件を再現する画像である再現画像を生成する再現画像生成手段と、生成した再現画像と入力画像との誤差のコストを示すコスト関数を計算し、確率的降下法によって当該コスト関数を最小化するように、汎用３次元物体モデルに与える３次元形状パラメータ及びテクスチャパラメータを探索して更新し、更新後の各パラメータと更新前の各パラメータとの差が予め定めた閾値より小さくなる所定の収束条件が成立するまで繰り返し更新するパラメータ更新手段として機能させるためのものである。
【００７５】
また、本発明による画像処理プログラムは、コンピュータを、類似した複数の物体の３次元形状データとテクスチャデータとに基づいて求めた汎用３次元物体モデルを用いて、３次元形状パラメータとテクスチャパラメータとに基づいて、個別の物体の３次元形状を示す個別３次元形状データと、個別の物体のテクスチャを示す個別テクスチャデータとを生成する個別データ生成手段と、汎用３次元物体モデルに対応する、個別の物体にあてられた照明の方向及び強度の違いによる反射の具合の基本的な変動を示すデータである照明基底を生成するための汎用照明基底モデルを生成する汎用照明基底モデル生成手段と、生成した汎用照明基底モデルを用いて、複数の異なる照明条件における個別の物体の３次元表面各部位の輝度値の変動を示す個別照明基底をそれぞれ求める第２の照明基底計算手段として機能させるためのものである。
【発明の効果】
【００７６】
本発明によれば、照明基底を用いて再現画像の輝度値を計算する。照明による画像輝度値の変動を照明基底の線形和で示す線形照明モデルを利用して処理を実行するので、照明パラメータの初期値を必要とせず、任意の照明条件の画像の輝度値を再現することができる。従って、照明条件のパラメータの初期値を事前に調べたり、利用者が手動で入力したりしなくても、画像を処理することができる。【００７７】
例えば、一般に、現実の撮影環境では多数の位置に多様な種類の光源が存在しているので、位置姿勢パラメータの値を入力する場合と比較して、撮影環境を近似する照明パラメータの値を利用者（例えば、オペレータ）が入力することは難しい。本発明によれば、照明パラメータの初期値を入力しなくても入力画像を処理できるので、利用者の操作負担を低減することができる。【００７８】
また、本発明によれば、線形照明モデルを用いることによって、照明パラメータを確率的降下法によって探索する必要がなくなる。そのため、照明パラメータに関して画像生成を繰り返す非線形最適化処理を行う必要をなくすことができる。従って、３次元形状パラメータ及びテクスチャパラメータの推定のための繰り返し処理の回数を少なくして処理を高速化するとともに、局所解を回避し正確なパラメータを推定することができる。【００７９】
また、本発明において、予め汎用照明基底モデルを計算するように構成すれば、汎用照明基底モデルを用いて、３次元形状パラメータから簡単な線形演算のみを行うことによって照明基底を得ることができる。そのため、汎用照明基底モデルを用いて個別照明基底の計算を行うことによって、法線ベクトルの計算や、シャドウを含めた個別照明基底の計算に必要な学習画像の生成処理を不要とすることができる。従って、画像生成における陰影やシャドウの計算処理を高速化でき、線形照明モデルを用いる際に必要となる照明基底の計算を高速に行うことができる。
【図面の簡単な説明】
【００８０】
【図１】本発明による画像処理システムの構成の一例を示すブロック図である。
【図２】照明基底計算手段の構成の一例を示すブロック図である。
【図３】画像処理システムが入力画像を処理し各パラメータを求める処理の一例を示す流れ図である。
【図４】画像処理システムの他の構成例を示すブロック図である。
【図５】汎用照明基底モデル生成手段の構成の一例を示すブロック図である。
【図６】画像処理システムが予め汎用照明基底モデルを生成する処理の一例を示す流れ図である。
【図７】画像処理システムが入力画像を処理し各パラメータを求める処理の他の例を示す流れ図である。
【図８】画像処理システムのさらに他の構成例を示すブロック図である。
【図９】画像処理システムの一具体例を示す説明図である。
【図１０】入力画像、及び入力画像をＣＧ技術によって生成した再現画像の例を示す説明図である。
【図１１】従来の３次元形状推定システムの構成例を示すブロック図である。
【符号の説明】
【００８１】
１０２  位置姿勢初期値入力手段
１０３  顔モデル生成手段
２０１  照明基底計算手段
２０２  透視変換手段
２０３  照明補正手段
２０４  パラメータ更新手段
３００  汎用照明基底モデル生成手段
３０１  照明基底モデル計算手段
４０１  画像入力装置
４０２  処理用コンピュータ
４０３  記憶装置
４０４  記憶媒体
２０１１  法線ベクトル計算手段
２０１２  調和関数計算手段
３００１  サンプルパラメータ設定手段
３００２  照明基底計算手段
３００３  基底モデル計算手段
【発明を実施するための最良の形態】
【００８２】
（実施の形態１）
以下、本発明の第１の実施の形態について図面を参照して説明する。図１は、本発明による画像処理システムの構成の一例を示すブロック図である。図１に示すように、画像処理システムは、位置姿勢初期値入力手段１０２と、顔モデル生成手段１０３と、照明基底計算手段２０１と、透視変換手段２０２と、照明補正手段２０３と、パラメータ更新手段２０４とを含む。【００８３】
画像処理システムは、具体的には、ワークステーションやパーソナルコンピュータ等の情報処理装置によって実現される。また、本実施の形態において、画像処理システムは、例えば、物体の３次元形状及びテクスチャを推定する３次元形状推定システムの用途に用いられる。また、画像処理システムは、例えば、物体の位置や姿勢を推定する物体位置姿勢推定システムの用途に用いられる。また、画像処理システムは、例えば、入力画像を再現した所定の再現画像（例えば、ＣＧ画像）を生成する画像生成システムの用途に用いられる。【００８４】
位置姿勢初期値入力手段１０２は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵ、及びマウスやキーボード等の入力装置によって実現される。位置姿勢初期値入力手段１０２は、入力画像中の物体の位置及び姿勢を示すパラメータである位置姿勢パラメータの初期値を入力する機能を備える。例えば、物体の位置を３次元座標ベクトルｏとし、物体の向きをｘ、ｙ、ｚ軸周りの回転角γ、θ、φで表すとする。この場合に、位置姿勢初期値入力手段１０２は、回転角γ、θ、φの回転を示す行列Ｒを、位置姿勢パラメータとして入力する。【００８５】
また、例えば、位置姿勢パラメータの初期値の入力の際に、位置姿勢初期値入力手段１０２は、ＣＧ技術を用いて生成した３次元画像（ＣＧ画面ともいう）を入力画像と並べて、ディスプレイ装置等の表示装置に表示させる。この場合、利用者（例えば、オペレータ）は、表示画面を見ながら、キーボードやマウス等の入力装置を操作して、入力画像中の物体の向きに近くなるようにＣＧ画面中の物体の向きを調整することによって、位置姿勢パラメータの初期値を入力指示する。そして、位置姿勢初期値入力手段１０２は、利用者の入力指示に従って、位置姿勢パラメータの初期値を入力する。【００８６】
顔モデル生成手段１０３は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。顔モデル生成手段１０３は、３次元形状パラメータとテクスチャパラメータを入力とし、汎用３次元顔モデルを用いて、個別の物体（人物）の３次元形状を示す個別３次元形状と、個別の物体のテクスチャを示す個別テクスチャとを計算する機能を備える。【００８７】
「３次元形状パラメータ」とは、標準的な形状データとテクスチャデータとに、どのような変形を与えると物体の３次元形状になるかを示すパラメータである。本実施の形態では、「３次元形状パラメータ」は、汎用３次元顔モデルに示される平均的な形状に対して、どのような変形を与えるとその人物の顔の３次元形状になるかを示す数値パラメータである。また、「３次元形状パラメータ」は、汎用３次元顔モデルを用いて、個人の顔の３次元形状を記述するためのパラメータである。【００８８】
また、「テクスチャパラメータ」とは、標準的な形状データとテクスチャデータとに、どのような変動を与えると物体のテクスチャになるかを示すパラメータである。本実施の形態では、「テクスチャパラメータ」は、汎用３次元顔モデルに示される平均的なテクスチャに対して、どのような変動を与えるとその人物の顔のテクスチャになるかを示す数値パラメータである。また、「テクスチャパラメータ」は、汎用3次元顔モデルを用いて、個人の顔の表面のテクスチャを記述するためのパラメータである。【００８９】
「汎用３次元顔モデル（汎用３Ｄ顔モデル）」とは、様々な人物の顔の３次元形状と顔表面のテクスチャとを、パラメータによって記述したモデルである。また、「汎用３次元モデル」は、基本的な人の顔の３次元形状及び顔表面のテクスチャ（反射率又は色）と、それら３次元形状やテクスチャの変形を示すデータとからなる。本実施の形態では、「汎用３次元モデル」は、予め計測を行った複数の人物（例えば、２００名程度）の３次元形状とテクスチャデータとから計算された平均値と、それら平均値からのずれを示す基底ベクトル群とからなる。【００９０】
本実施の形態では、個別の人物に対する３次元形状パラメータとテクスチャパラメータとが分かれば、３次元形状パラメータ及びテクスチャデータを汎用３次元顔モデルに当てはめることによって、個別の人物の顔モデルを求めることができる。以下、３次元形状パラメータ及びテクスチャデータを汎用３次元顔モデルに当てはめることによって、個別の人物の顔モデルを求めることを、「汎用３次元顔モデルに３次元形状パラメータ及びテクスチャパラメータを与える」とも表現する。【００９１】
例えば、画像処理システムは、予め汎用３次元顔モデルを生成する汎用顔モデル生成手段（図示せず）を備える。汎用顔モデル生成手段は、式（１）及び式（２）を用いて、図１１に示した汎用顔モデル生成手段９００と同様の処理に従って、予め汎用３次元顔モデルを生成する。また、画像処理システムは、例えば、汎用顔モデル生成手段が生成した汎用３次元顔モデルを蓄積する顔モデル蓄積手段（図示せず）を備える。なお、汎用顔モデル生成手段は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。また、顔モデル蓄積手段は、具体的には、磁気ディスク装置や光ディスク装置等のデータベース装置によって実現される。【００９２】
本実施の形態では、顔モデル生成手段１０３は、顔モデル蓄積手段が予め蓄積する汎用３次元顔モデルを用いて、個別の人物の顔モデル（具体的には、個別３次元形状及び個別テクスチャ）を求める。この場合、顔モデル生成手段１０３は、図１１に示した顔モデル生成手段９０３と同様の処理に従って、式（３）を用いて個別３次元形状及び個別テクスチャを算出する。【００９３】
なお、画像処理システムは、後述するように、所定の収束条件が成立するまで、繰り返し各パラメータの更新処理を行うことによって、各パラメータ（３次元形状パラメータ、テクスチャパラメータ及び位置姿勢パラメータ）の値の推定値を求める。本実施の形態では、顔モデル生成手段１０３は、繰り返し処理の初回の処理時には、３次元形状パラメ−タとテクスチャパラメータとの初期値として値０（ゼロ）を用いて、個別３次元形状及び個別テクスチャを算出する。【００９４】
照明基底計算手段２０１は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。照明基底計算手段２０１は、顔モデル生成手段１０３が求めた個別３次元形状と個別テクスチャとを入力とし、様々な照明条件における個別物体表面の各位置（ポリゴン）の輝度値の変動を記述する個別照明基底を計算する機能を備える。なお、「照明基底」とは、顔にあてられた照明の方向や強度の違いによる反射の具合（輝度値）の基本的な変動を記述するデータである。【００９５】
ここで、照明基底の計算方法について説明する。一般に、物体の表面反射特性がLambertian（完全散乱）に近い場合、高々９次元程度の照明基底の線形和で任意の照明条件下の画像の輝度値を近似できる。本実施の形態では、物体の表面の反射特性が完全散乱（Lambertian）で近似できる場合には、任意の照明条件下での画像輝度値の変動が、少数の照明基底の線形和で表すことができることを利用する。照明基底計算手段２０１は、個別の物体の個別３次元形状が既知である場合には、個別３次元形状データから法線ベクトルを計算し、さらに個別テクスチャを用いることにより、照明基底を解析的に計算する。なお、上記の照明基底の計算方法は、例えば、「Ronen Basri, David W. Jacobs, "Lambertian Reflectance and Linear Subspaces", IEEE Trans. PAMI, 2003, Vol. 25, No. 2, pp.218-233 （文献Ａ）」に記載されている。【００９６】
ただし、文献Ａに記載された照明基底計算方法の技術では、シャドウを生成することが無視されている。照明基底を生成する場合に、個別３次元形状と個別テクスチャとが既知であれば、シャドウを再現可能で任意の姿勢の画像に対応できる照明基底を計算することができる。なお、上記のシャドウを再現可能な照明基底の計算方法は、例えば、「Rui Ishiyama, Shizuo Sakamoto, "Geodesic Illumination Basis: Compensating for Illumination Variations in any Pose for Face Recognition", Proc. of ICPR 2002, vol.4, pp.297-301（文献Ｂ）」に記載されている。【００９７】
本実施の形態では、照明基底計算手段２０１は、これら文献Ａ及び文献Ｂに記載された照明基底算出技術を画像処理システム（例えば、３次元形状推定システム）に用いることにより、汎用顔モデルに３次元形状パラメータとテクスチャパラメータとを与えて生成した個別３次元形状データ及び個別テクスチャから、個別照明基底を計算する。【００９８】
図２は、照明基底計算手段２０１の構成の一例を示すブロック図である。図２に示すように、照明基底計算手段２０１は、法線ベクトル計算手段２０１１と、調和関数計算手段２０１２とを備える。【００９９】
法線ベクトル計算手段２０１１は、顔モデル生成手段１０３が求めた個別３次元形状に基づいて、法線ベクトルを求める機能を備える。本実施の形態では、法線ベクトル計算手段２０１１は、個別３次元形状の各ポリゴンｉについて、式（１１）を用いて法線ベクトルｎｉを計算する。【０１００】
【数８】
0004793698.tif 000009
【０１０１】
調和関数計算手段２０１２は、個別３次元形状及び個別テクスチャに基づいて、所定の球面調和関数を用いて個別照明基底を求める機能を備える。本実施の形態では、調和関数計算手段２０１２は、法線ベクトル計算手段２０１１が求めた法線ベクトル、及び顔モデル生成手段１０３が求めた個別テクスチャに基づいて、所定の球面調和関数を用いて個別照明基底を求める。本実施の形態では、第ｊ次元目の個別照明基底のポリゴンｉの成分をｂｊｉとし、法線ベクトルの要素をｎｉ＝（ｘ，ｙ，ｚ）とし、テクスチャ輝度をｔ（ｉ）とすると、調和関数計算手段２０１２は、式（１２）を用いて照明基底を計算できる。【０１０２】
【数９】
0004793698.tif 000010
【０１０３】
ここで、式（１２）において、次元数を９次元として照明基底を求めたのはあくまで一例であり、例えば、調和関数計算手段２０１２は、計算の高速化のために次元数を減らして照明基底を求めてもよい。また、調和関数計算手段２０１２は、精度を向上させるために、次元数を増やして照明基底を求めることも可能である。【０１０４】
なお、照明基底計算手段２０１は、個別照明基底を算出する際に、まず、様々な照明条件を設定する。また、照明基底計算手段２０１は、設定した各照明条件における物体表面各部位の輝度値をそれぞれ求める。そして、照明基底計算手段２０１は、求めた輝度値に基づいて、個別照明基底群を求める。【０１０５】
透視変換手段２０２は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。透視変換手段２０２は、３形状データの３次元座標と、顔の位置／姿勢や、カメラ（入力画像の撮像手段）のパラメータとを用いて、３次元表面上の位置と画像上での座標との対応関係を決定する機能を備える。例えば、透視変換手段２０２は、３次元形状の各データ点が再現画像中のどの画素に見えるかを示す対応テーブルを求める。なお、「再現画像」とは、推定した３次元顔形状、テクスチャ、照明条件及び位置姿勢を用いて、入力画像と同じになるようにコンピュータが計算処理によって再現した画像である。また、「透視変換手段２０２」は、さらに照明基底ベクトルｂの要素を並べ替える機能を備える。【０１０６】
本実施の形態では、透視変換手段２０２は、個別３次元形状、個別テクスチャ及び物体の位置姿勢パラメータを入力する。そして、透視変換手段２０２は、図１１に示した透視変換手段９０４と同様の処理に従って、式（４）を用いた計算により、再現画像中の各画素ｉに対応する個別３次元形状のポリゴンｊを決定する。すなわち、透視変換手段２０２は、３次元顔モデルの点ｉの画像座標（ｕｉ，ｖｉ）を、式（４）を用いて計算する。また、透視変換手段２０２は、再現画像の各画素に対応するポリゴンの照明基底要素を並べたベクトルｂｊ＝［ｂ１０，ｂ１１，．．．，ｂ１ｍ］をｊ次元目の照明基底ベクトルとし、照明基底群｛ｂｊ｝を出力する。【０１０７】
照明補正手段２０３は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。照明補正手段２０３は、照明基底の線形和によって画像における顔表面の輝度値を計算する際に、入力画像の陰影と同じになるように線形和の係数を補正する機能を備える。また、照明補正手段２０３は、照明基底計算手段２０１が求めた個別照明基底群を用いて、入力画像と同じ照明条件を再現する画像である再現画像を生成する機能を備える。本実施の形態では、照明補正手段２０３は、個別照明基底群｛ｂｊ｝と入力画像Ｉｉｎｐｕｔとを入力とし、再現画像Ｉｍｏｄｅｌの輝度値を、式（１３）に示す線形モデルによって計算する。【０１０８】
Ｉｍｏｄｅｌ＝Σｊλｊｂｊ
λｊ＝ａｒｇｍｉｎ（｜Ｉｍｏｄｅｌ−Ｉｉｎｐｕｔ｜２）          式（１３）【０１０９】
ここで、式（１３）において、｛λｊ｝は照明を示す係数であり、照明補正手段２０３は、線形最小二乗法により繰り返し探索を必要とせずに一意に係数｛λｊ｝値を求めることができる。【０１１０】
パラメータ更新手段２０４は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。パラメータ更新手段２０４は、入力画像及び照明補正手段２０３が生成した再現画像に基づいて、各パラメータ（３次元形状パラメータ、テクスチャパラメータ及び位置姿勢パラメータ）を更新する機能を備える。本実施の形態では、パラメータ更新手段２０４は、再現画像Ｉｍｏｄｅｌと入力画像Ｉｉｎｐｕｔとを比較し、再現画像が入力画像に近くなるように、位置姿勢、３次元形状及びテクスチャの各パラメータを変化させる。そして、画像処理システムは、所定の収束条件が成立するまで、顔モデル生成手段１０３以降の各手段が実行する処理を繰り返し、最適なパラメータ値を探索する。【０１１１】
パラメータ更新手段２０４は、まず、図１１に示すパラメータ更新手段９０６と同様の処理に従って、式（７）を用いて、画像の類似度に関するコスト関数ＥＩを計算する。なお、「コスト関数」とは、再現画像と入力画像との誤差のコストを示す関数である。本実施の形態では、「コスト関数」は、推定した３次元顔形状、テクスチャ、照明条件及び位置姿勢が、入力画像に対してどの程度符合しているかを示す。【０１１２】
また、パラメータ更新手段２０４は、確率的降下法によって、コスト関数Ｅを最小化するようなパラメータを探索する。そのため、パラメータ更新手段２０４は、３次元形状、テクスチャ及び位置姿勢のそれぞれのパラメータに対するＥの微分値を、式（１４）を用いて計算する。【０１１３】
【数１０】
0004793698.tif 000011
【０１１４】
パラメータ更新手段２０４は、求めた各パラメータ（３次元形状パラメータ、テクスチャパラメータ及び位置姿勢パラメータ）の更新量が、予め定めた閾値より大きいか否かを判断する。パラメータ更新手段２０４は、計算したパラメータの更新量が予め定めた閾値より小さい場合、繰り返し処理が収束したと判定し処理を終了する。また、例えば、パラメータ更新手段２０４は、更新前のパラメータを用いて生成した再現画像と入力画像との誤差より、更新後のパラメータを用いて生成した再現画像と入力画像との誤差が小さくならない場合、繰り返し処理が収束したと判定し処理を終了する。【０１１５】
なお、画像処理システムを３次元形状推定システムに適用する場合、画像処理システムは、繰り返し処理の過程で最も入力画像に近い画像を生成できたとき（処理が収束したとき）の個別３次元形状及び個別テクスチャを、３次元形状推定結果として出力する。この場合、パラメータ更新手段２０４は、繰り返し処理が収束したと判定すると、更新後の３次元形状パラメータ及びテクスチャパラメータを、３次元形状推定結果として出力する。【０１１６】
また、画像処理システムを物体位置姿勢推定システムに適用する場合、画像処理システムは、繰り返し処理の過程で最も入力画像に近い画像を生成できたときの位置／姿勢を、位置姿勢推定結果として出力する。この場合、パラメータ更新手段２０４は、繰り返し処理が収束したと判定すると、更新後の位置姿勢パラメータを、位置姿勢推定結果として出力する。【０１１７】
また、画像処理システムを画像生成システムに適用する場合、画像処理システムは、繰り返し処理の過程で最も入力画像に近い画像を生成できたときの再現画像を出力する。この場合、パラメータ更新手段２０４が繰り返し処理が収束したと判定すると、照明補正手段２０３は、生成した再現画像を出力する。【０１１８】
また、画像処理システムを実現する情報処理装置は、３次元形状推定結果や位置姿勢推定結果、再現画像を、例えば、ＣＤ−ＲＯＭ等の記憶媒体に出力する出力手段（プログラムに従って動作する情報処理装置のＣＰＵ及び入出力部によって実現される）を備える。また、画像処理システムを実現する情報処理装置は、３次元形状推定結果や位置姿勢推定結果、再現画像を、例えば、ディスプレイ装置等の表示装置に表示させてもよい。【０１１９】
また、本実施の形態において、画像処理システムを実現する情報処理装置の記憶装置（図示せず）は、入力した画像を処理するための各種プログラムを記憶している。例えば、情報処理装置の記憶装置は、コンピュータに、類似した複数の物体の３次元形状データとテクスチャデータとに基づいて求めた汎用３次元物体モデルを用いて、３次元形状パラメータとテクスチャパラメータとに基づいて、個別の物体の３次元形状を示す個別３次元形状データと、個別の物体のテクスチャを示す個別テクスチャデータとを生成する個別データ処理と、生成した個別３次元形状データと個別テクスチャデータとに基づいて、様々な照明条件における個別の物体の３次元表面各部位の輝度値の変動を示す個別照明基底をそれぞれ求める第１の照明基底計算処理と、求めた個別照明基底群を用いて、入力画像と同じ照明条件を再現する画像である再現画像を生成する再現画像生成処理と、生成した再現画像が入力画像に近くなるように、汎用３次元顔モデルに与える３次元形状パラメータ及びテクスチャパラメータを、所定の収束条件が成立するまで繰り返し更新するパラメータ更新処理とを実行させるための画像処理プログラムを記憶している。【０１２０】
次に、動作について説明する。図３は、画像処理システムが入力画像を処理し各パラメータを求める処理の一例を示す流れ図である。本実施の形態において、画像処理システムは、例えば、カメラ等の撮像手段を備える。そして、画像処理システムは、例えば、利用者の撮影操作に従って、撮像手段を用いて入力画像を撮影すると、入力画像の処理を開始し各パラメータの値を求める。まず、画像処理システムの位置姿勢初期値入力手段１０２は、利用者の入力指示に従って、位置姿勢パラメータ｛ｐ，γ，θ，φ｝の初期値を入力する（ステップＳ１１）。【０１２１】
顔モデル生成手段１０３は、現在の３次元形状パラメータ｛ｓｉ｝及びテクスチャパラメータ｛ｔｉ｝の値を用いて、式（３）に示す汎用顔モデルを用いて、個別３次元形状及び個別テクスチャを計算する（ステップＳ１２）。この場合、顔モデル生成手段１０３は、繰り返し処理の最初の処理を行う場合、各パラメータ｛ｓｉ｝及び｛ｔｉ｝の初期値として値０（ゼロ）を用いて、個別３次元形状及び個別テクスチャを求める。【０１２２】
照明基底計算手段２０１は、顔モデル生成手段１０３が求めた個別３次元形状と個別テクスチャとを用いて、式（１１）を用いて法線ベクトルを求める。また、照明基底計算手段２０１は、式（１２）を用いて個別照明基底群を計算する（ステップＳ１３）。【０１２３】
透視変換手段２０２は、顔モデル生成手段１０３が求めた個別３次元形状と、現在の位置姿勢パラメータとを用いて、式（４）に示す関係に基づいて、再現画像の画素と個別３次元形状のポリゴンとの対応関係を求める（ステップＳ１４）。この場合、透視変換手段２０２は、繰り返し処理の最初の処理を行う場合、位置姿勢初期値入力手段１０２が入力した位置姿勢パラメータの初期値を用いて、再現画像の画素と個別３次元形状のポリゴンとの関係を求める。さらに、透視変換手段２０２は、再現画像の各画素に対応するポリゴンの個別照明基底の値を並べたベクトル群｛ｂｊ｝を求め、個別照明基底画像群として生成する。【０１２４】
照明補正手段２０３は、入力画像Ｉｉｎｐｕｔと、照明基底計算手段２０１が生成した個別照明基底群とを用いて、式（１３）を用いて再現画像の輝度値Ｉｍｏｄｅｌを計算する（ステップＳ１５）。【０１２５】
パラメータ更新手段２０４は、入力画像Ｉｉｎｐｕｔ、照明補正手段２０３が生成した再現画像Ｉｍｏｄｅｌ、及び汎用顔モデルの固有値σｓｉ、σｔｉを用いて、コスト関数Ｅを計算する。また、パラメータ更新手段２０４は、コスト関数を最小化するように、確率的降下法を用いて、３次元形状、テクスチャ及び位置姿勢の各パラメータを更新する（ステップＳ１６）。【０１２６】
また、パラメータ更新手段２０４は、確率的降下法によるパラメータ探索が収束したか否かを判定する（ステップＳ１７）。パラメータ更新手段２０４は、ステップＳ１６で計算した新しい更新後のパラメータと更新前の元のパラメータとの差が、予め定めた閾値より小さい場合、繰り返し処理が収束したと判定し、処理を終了する。また、パラメータ更新手段２０４は、コスト関数Ｅがパラメータ更新前の値より小さくない場合、繰り返し処理が収束したと判定し、処理を終了する。収束しない場合には、ステップＳ１２に戻り、画像処理システムは、更新後のパラメータα＊を用いて、ステップＳ１２以降の処理を繰り返し行う。【０１２７】
また、繰り返し処理が収束したと判定すると、画像処理システムは、各推定結果として更新後の各パラメータ（３次元形状パラメータやテクスチャパラメータ、位置姿勢パラメータ）や、再現画像を出力する（ステップＳ１８）。例えば、画像処理システムは、更新後の各パラメータや再現画像をＣＤ−ＲＯＭ等の記憶媒体に出力する。また、例えば、画像処理システムは、更新後の各パラメータや再現画像を表示装置に表示させる。【０１２８】
以上のように、本実施の形態によれば、画像処理システムは、照明基底計算手段２０１と照明補正手段２０３とを備え、照明基底を用いて再現画像の輝度値を計算する。照明パラメータを用いずに再現画像の輝度値を計算できるように構成されているので、利用者が照明パラメータの初期値を入力する必要がない。従って、照明条件のパラメータの初期値を事前に調べたり、利用者が手動で入力したりしなくても、画像を処理することができる。【０１２９】
また、本実施の形態によれば、照明パラメータを確率的降下法によって探索する必要がなく、繰り返し処理の回数を少なくし、局所解を回避することができ、各パラメータの推定精度を向上させることができる。従って、繰り返し処理の回数を少なくして処理を高速化するとともに、局所解を回避し正確なパラメータを推定することができる。【０１３０】
（実施の形態２）
次に、本発明の第２の実施の形態について図面を参照して説明する。図４は、画像処理システムの他の構成例を示すブロック図である。図４に示すように、本実施の形態では、画像処理システムは、汎用照明基底モデル生成手段３００と、位置姿勢初期値入力手段１０２と、顔モデル生成手段１０３と、照明基底モデル計算手段３０１と、透視変換手段２０２と、照明補正手段２０３と、パラメータ更新手段２０４とを含む。【０１３１】
図４に示すように、本実施の形態では、画像処理システムが、第１の実施の形態で示した構成要素に加えて照明基底モデル生成手段３００を備える。また、本実施の形態では、画像処理システムが照明基底計算手段２０１に代えて照明基底モデル計算手段３０１を備える点で、第１の実施の形態と異なる。【０１３２】
汎用照明基底モデル生成手段３００は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。照明基底モデル生成手段３００は、画像処理システムを使用して各パラメータや再現画像を生成する前の準備段階として、予め汎用３Ｄ顔モデルを用いて汎用照明基底モデルを生成する処理を行う機能を備える。【０１３３】
「照明基底モデル」とは、各個人の個別照明基底を所定のパラメータを用いて記述するモデルである。また、「照明基底モデル」は、平均的な個別照明基底と、顔の形状によって異なる各個人の顔の個別照明基底が平均的な個別照明基底からどのように変化するかを示すデータとを含む。本実施の形態において、汎用照明基底モデルは、汎用３次元物体形状モデルに対応し、個別の物体にあてられた照明の方向や強度の違いによる反射の具合の基本的な変動を示す照明基底を生成するために用いられる。【０１３４】
例えば、汎用照明基底モデル生成手段３００は、画像処理システムが備える顔モデル蓄積手段が蓄積する汎用３次元モデルを用いて、予め汎用照明基底モデルを生成する。また、画像処理システムは、汎用照明基底モデル生成手段３００が生成した汎用照明基底モデルを蓄積する照明基底モデル蓄積手段（図示せず）を備える。なお、照明基底モデル蓄積手段は、具体的には、磁気ディスク装置や光ディスク装置等のデータベース装置によって実現される。【０１３５】
図５は、汎用照明基底モデル生成手段３００の構成の一例を示すブロック図である。図５に示すように、照明基底モデル生成手段３００は、サンプルパラメータ設定手段３００１と、照明基底計算手段３００２と、基底モデル計算手段３００３とを備える。【０１３６】
サンプルパラメータ設定手段３００１は、汎用３次元物体形状モデルに与えるためのランダムな３次元形状パラメータを設定する機能を備える。本実施の形態では、サンプルパラメータ設定手段３００１は、汎用３Ｄ顔モデルに対して、様々な形状パラメータを設定して、多数のサンプル３次元形状とサンプルテクスチャとの組を生成する。サンプルパラメータ設定手段３００１は、様々な決定方法を利用してこれらのパラメータを決定することが可能である。本実施の形態では、サンプルパラメータ設定手段３００１は、一例として、３次元形状パラメータ｛ｓｉ｝を、平均がゼロであり、分散が固有値σｓｉ、σｔｉのガウス分布に従う乱数であるとして、それぞれ値を決定する。また、サンプルパラメータ設定手段３００１は、ｎｓセットの３次元形状パラメータ｛ｓｋｉ｝（ｋ＝１，２，．．．，ｎｓ）を決定し、式（４）を用いてｎｓ個のサンプル３次元形状データを生成する。【０１３７】
照明基底計算手段３００２は、サンプルパラメータ設定手段３００１が設定したパラメータ群を汎用３次元物体モデルに与えることによって生成されるサンプル３次元形状群に基づいて、各パラメータそれぞれに対応する照明基底群を求める機能を備える。本実施の形態では、照明基底計算手段３００２は、サンプルパラメータ設定手段３００１が生成したサンプル３次元形状データそれぞれについて、式（１２）を用いてサンプル照明基底群｛ｂｋｊ｝（ｋ＝１，．．．，ｎｓ）を計算する。【０１３８】
また、照明基底計算手段３００２は、個別３次元形状に基づいて、所定の球面調和関数を用いて個別照明基底を求める。ただし、本実施の形態では、照明基底計算手段３００２は、テクスチャデータを用いずに、式（１２）においてｔ（ｉ）の値を１としてサンプル照明基底群を計算する点で、第１の実施の形態で示した調和関数計算手段２０１２と異なる。すなわち、照明基底計算手段３００２がサンプル照明基底群は、画像の輝度変動のうち、３次元形状によって変化する成分のみをもっている。【０１３９】
また、照明基底計算手段３００２は、個別照明基底を算出する際に、まず、様々な照明条件を設定する。また、照明基底計算手段３００２は、設定した各照明条件における物体表面各部位の輝度値をそれぞれ求める。そして、照明基底計算手段３００２は、求めた輝度値に基づいて、個別照明基底群を求める。【０１４０】
基底モデル計算手段３００３は、照明基底計算手段３００２が求めた照明基底群と、汎用３次元物体モデルの基底ベクトル及び固有値とを用いて、汎用照明基底モデルの基底ベクトルを求める機能を備える。本実施の形態では、基底モデル計算手段３００３は、基底モデル計算手段３００３が生成したサンプル照明基底群｛ｂｋｊ｝を、線形モデルによって表す基底ベクトルを計算する。ここで、サンプル３次元形状データｋの照明基底群｛ｂｋｊ｝の要素を並べたベクトルをＢｋとし、その平均ベクトルをバーＢとする。また、所定の行列Ｂを式（１５）で定義する。【０１４１】
【数１１】
0004793698.tif 000012
【０１４２】
基底モデル計算手段３００３は、所定の行列ＵＳ、ΣＳ（汎用３次元顔モデルの計算に用いる式（２）に示す行列ＵＳ、ΣＳ）の値を用いて、式（１６）を用いて行列Ｃを計算する。【０１４３】
ＣＴ＝ΣＳ−１ＵＳ−１ＢＴ                                    式（１６）【０１４４】
そして、基底モデル計算手段３００３は、行列Ｃの列ベクトルを汎用照明基底モデルの基底ベクトル群｛ｃｉ｝として、照明基底モデル蓄積手段に記憶させる。【０１４５】
この汎用照明基底モデル生成手段３００が生成した汎用照明基底モデルを用いることによって、サンプル形状を汎用３Ｄ顔モデルから生成した時の形状パラメータ｛ｓｉ｝を係数とした｛ｃｉ｝の線形和により、サンプル形状の顔の照明基底（ただし、テクスチャを１とした場合）の値を計算できる。従って、照明基底モデル計算手段３０１は、３次元形状パラメータが｛ｓｉ｝であり、個別テクスチャが｛Ｔ｝である物体の個別照明基底群｛ｂｊ｝を、式（１７）を用いて計算できる。【０１４６】
【数１２】
0004793698.tif 000013
【０１４７】
ここで、式（１７）において、（ｋ）は、ｋ番目の要素の値であることを示す。【０１４８】
照明基底モデル計算手段３０１は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。照明基底モデル計算手段３０１は、現在の３次元形状パラメータ｛ｓｉ｝と、顔モデル生成手段１０３が求めた個別テクスチャ｛Ｔ｝とを入力とし、汎用照明基底モデル生成手段３００が生成した汎用照明基底モデルを用いて照明基底を計算する機能を備える。この場合、照明基底モデル計算手段３０１は、式（１７）を用いて個別照明基底群を求める。本実施の形態では、第１の実施の形態で示した照明基底計算手段２０１と異なり、照明基底モデル計算手段３０１は、個別３次元形状から法線ベクトルを計算する必要がなく、式（１７）を用いた簡単な線形演算のみで個別照明基底群｛ｂｊ｝を求めることができる。【０１４９】
なお、照明基底モデル計算手段３０１は、汎用照明基底モデル生成手段３００が汎用３次元物体形状モデルを用いて生成する個別３次元形状に対応する個別照明基底を、汎用３次元物体形状モデルに与える３次元形状パラメータと同一のパラメータを用いて求める。【０１５０】
位置姿勢初期値入力手段１０２、顔モデル生成手段１０３、透視変換手段１０４、照明補正手段２０３及びパラメータ更新手段２０４の機能は、第１の実施の形態で示したそれらの機能と同様である。【０１５１】
次に、動作について説明する。まず、画像処理システムが、各パラメータや再現画像を生成する処理を実行する前に、予め汎用照明基底モデルを計算する処理を事前に行う動作を説明する。図６は、画像処理システムが予め汎用照明基底モデルを生成する処理の一例を示す流れ図である。【０１５２】
汎用照明基底モデル生成手段３００は、汎用３次元顔モデルに対して、適当な数のセットのランダムな３次元形状パラメータを決定する（ステップＳ２１）。また、汎用照明基底モデル生成手段３００は、決定した３次元形状パラメータの各セットから、汎用３次元顔モデルを用いて個別３次元形状を計算し、求めた個別３次元形状の法線ベクトルを計算する。また、汎用照明基底モデル生成手段３００は、テクスチャの輝度が全て１であるとして、照明基底ベクトル群を計算する（ステップＳ２２）。【０１５３】
汎用照明基底モデル生成手段３００は、求めた照明基底ベクトル群に対して、式（１６）を用いて汎用照明基底モデルの基底ベクトル群を計算する（ステップＳ２３）。また、汎用照明基底モデル生成手段３００は、求めた汎用照明基底モデルの基底ベクトル群を、照明基底モデル蓄積手段に記憶させる。【０１５４】
以上の処理が実行されることによって、予め汎用照明基底モデルが生成され照明基底モデル蓄積手段に蓄積される。画像処理システムは、以上に示す照明基底モデル生成処理を行った上で、以下の処理を行う。【０１５５】
図７は、画像処理システムが入力画像を処理し各パラメータを求める処理の他の例を示す流れ図である。画像処理システムは、第１の実施の形態と同様に、例えば、利用者の撮影操作に従って、撮像手段を用いて入力画像を撮影すると、入力画像の処理を開始し各パラメータの値を求める。まず、画像処理システムの位置姿勢初期値入力手段１０２は、利用者の入力指示に従って、入力画像から位置姿勢パラメータ｛ｐ，γ，θ，φ｝の初期値を入力する（ステップＳ３１）。【０１５６】
顔モデル生成手段１０３は、現在の３次元形状パラメータ｛ｓｉ｝及びテクスチャパラメータ｛ｔｉ｝の値を用いて、式（３）に示す汎用顔モデルを用いて、個別３次元形状及び個別テクスチャを計算する（ステップＳ３２）。この場合、顔モデル生成手段１０３は、繰り返し処理の最初の処理を行う場合、各パラメータ｛ｓｉ｝及び｛ｔｉ｝の初期値として値０（ゼロ）を用いて、個別３次元形状及び個別テクスチャを求める。【０１５７】
照明基底モデル計算手段３０１は、顔モデル生成手段１０３が求めた３次元形状パラメータ｛ｓｉ｝と、照明基底モデル蓄積手段が蓄積する汎用照明基底モデルとに基づいて、式（１７）を用いて個別照明基底群を計算する（ステップＳ３３）。【０１５８】
透視変換手段２０２は、顔モデル生成手段１０３が求めた個別３次元形状と、現在の位置姿勢パラメータとを用いて、式（４）に示す関係に基づいて、再現画像の画素と個別３次元形状のポリゴンとの対応関係を求める（ステップＳ３４）。この場合、透視変換手段２０２は、繰り返し処理の最初の処理を行う場合、位置姿勢初期値入力手段１０２が入力した位置姿勢パラメータの初期値を用いて、再現画像の画素と個別３次元形状のポリゴンとの関係を求める。さらに、透視変換手段２０２は、再現画像の各画素に対応するポリゴンの個別照明基底の値を並べたベクトル群｛ｂｊ｝を求め、個別照明基底画像群として生成する。【０１５９】
照明補正手段２０３は、入力画像Ｉｉｎｐｕｔと、照明基底モデル計算手段３０１が生成した個別照明基底群とを用いて、式（１３）を用いて再現画像の輝度値Ｉｍｏｄｅｌを計算する（ステップＳ３５）。【０１６０】
パラメータ更新手段２０４は、入力画像Ｉｉｎｐｕｔ、照明補正手段２０３が生成した再現画像Ｉｍｏｄｅｌ、及び汎用顔モデルの固有値σｓｉ、σｔｉを用いて、コスト関数Ｅを計算する。また、パラメータ更新手段２０４は、コスト関数を最小化するように、確率的降下法を用いて、３次元形状、テクスチャ及び位置姿勢の各パラメータを更新する（ステップＳ３６）。【０１６１】
パラメータ更新手段２０４は、確率的降下法によるパラメータ探索が収束したか否かを判定する（ステップＳ３７）。パラメータ更新手段２０４は、ステップＳ３６で計算した新しい更新後のパラメータと更新前の元のパラメータとの差が、予め定めた閾値より小さい場合、繰り返し処理が収束したと判定し、処理を終了する。また、パラメータ更新手段２０４は、コスト関数Ｅがパラメータ更新前の値より小さくない場合、繰り返し処理が収束したと判定し、処理を終了する。収束しない場合には、ステップＳ３２に戻り、画像処理システムは、更新後のパラメータα＊を用いて、ステップＳ３２以降の処理を繰り返し行う。【０１６２】
また、繰り返し処理が収束したと判定すると、画像処理システムは、各推定結果として更新後の各パラメータ（３次元形状パラメータやテクスチャパラメータ、位置姿勢パラメータ）や、再現画像を出力する（ステップＳ３８）。例えば、画像処理システムは、更新後の各パラメータや再現画像をＣＤ−ＲＯＭ等の記憶媒体に出力する。また、例えば、画像処理システムは、更新後の各パラメータや再現画像を表示装置に表示させる。【０１６３】
以上のように、本実施の形態によれば、画像処理システムは、汎用照明基底モデル生成手段３００を備え、予め汎用照明基底モデルを計算する。そして、汎用照明基底モデルを用いて、３次元形状パラメータから簡単な線形演算のみを行うことによって照明基底を得ることができる。そのため、３次元形状データから法線ベクトルの計算等を行う必要がなく、高速に処理を行うことができる。従って、第１の実施の形態で示した効果に加え、画像生成における陰影やシャドウの計算処理を高速化でき、線形照明モデルを用いる際に必要となる照明基底の計算を高速に行うことができる。【０１６４】
（実施の形態３）
次に、本発明の第３の実施の形態について図面を参照して説明する。図８は、画像処理システムのさらに他の構成例を示すブロック図である。図８に示すように、本実施の形態では、画像処理システムは、第２の実施の形態で示した各構成要素のうち、顔モデル生成手段１０３と、汎用照明基底モデル生成手段３００と、照明基底モデル計算手段３０１とを含む。また、画像処理システムは、ある人物の顔の３次元形状パラメータとテクスチャパラメータとを入力とし、個別３次元形状と個別照明基底群とを出力する。【０１６５】
まず、汎用照明基底モデル生成手段３００は、第２の実施の形態と同様の処理に従って、予め汎用３Ｄ顔モデルに対応する汎用照明基底モデルを生成する。また、顔モデル生成手段１０３は、第２の実施の形態と同様の処理に従って、処理目的とする個人の顔の３次元形状パラメータとテクスチャパラメータとを入力とし、汎用３Ｄ顔モデルを用いて、個別３次元形状と個別テクスチャとを計算する。また、照明基底モデル計算手段３０１は、第２の実施の形態と同様の処理に従って、３次元形状パラメータと汎用照明基底モデルとを入力とし、個別照明基底群を計算する。【０１６６】
本実施の形態では、画像処理システムは、顔モデル生成手段１０３が生成した個別３次元形状と、照明基底モデル計算手段３０１が生成した個別照明基底群とを出力する出力手段（プログラムに従って動作する情報処理装置のＣＰＵ及び入出力部によって実現される）を備える。【０１６７】
以上のように、本実施の形態によれば、３次元形状パラメータとテクスチャパラメータとに基づいて、個別３次元形状と個別照明基底をと計算する。そのため、多様な位置姿勢／照明条件にある顔画像を生成可能な３次元顔モデル（３次元形状データと照明基底群とのセット）を、高速に計算することができる。【０１６８】
個別３次元形状と個別照明基底群とは、例えば、文献Ｂに記載された顔照合システムにおいて、処理に必要とされるものである。本実施の形態では、画像処理システムは、個人の顔の３次元形状データと照明基底とを、各パラメータから高速に生成して提供する３次元顔モデル生成システムとしての機能を備える。【０１６９】
文献Ｂに記載された顔照合システムでは、様々な人物について計測した個別３次元形状データと個別照明基底とをデータベースに記憶しておき、入力した画像に対して各人物のデータを用いて再現画像を生成する。そして、入力画像に最も近い再現画像を生成できたときの人物を本人と判定する。この場合、本実施の形態で示した画像処理システムを、文献Ｂに記載された顔照合システムのデータベースの代わりに用いることができる。すなわち、顔照合システムにおいて、個別３次元形状データと個別照明基底との代わりに、各人物の３次元形状パラメータとテクスチャパラメータとをデータベースに記憶しておく。そして、本実施の形態で示した画像処理システムを用いることによって、各個人の個別３次元形状データと個別照明基底とを計算すれば、文献Ｂに記載された顔照合システムを運営できる。
【実施例１】
【０１７０】
次に、本発明の第１の実施例を図面を参照して説明する。本実施例では、具体的な例を用いて、画像処理システムの動作を説明する。また、本実施例では、画像処理システムを、顔画像に基づいて、その顔画像に写っている人物の顔の３次元形状を推定する３次元形状推定システムに適用する場合について説明する。なお、本実施例で示す画像処理システムの構成は、本発明の第１の実施形態で示した構成（すなわち、図１に示した構成）に相当する。【０１７１】
図９は、画像処理システムの一具体例を示す説明図である。図９に示すように、本実施例では、画像処理システムは、入力画像を撮影し入力する画像入力装置４０１と、各種処理を実行するコンピュータ４０２と、各種データを記憶する記憶装置４０３と、推定結果のデータを記録し出力する記憶媒体４０４とを含む。【０１７２】
コンピュータ４０２は、第１の実施の形態で示した位置姿勢初期値入力手段１０２、顔モデル生成手段１０３、照明基底計算手段２０１、透視変換手段２０２、照明補正手段２０３及びパラメータ更新手段２０４を備える。【０１７３】
記憶装置４０３は、汎用３次元顔モデルを予め記憶する。一例として、記憶装置４０３は、汎用３次元顔モデルのデータとして、１００個の形状基底ベクトルと１００個のテクスチャ基底ベクトルと、形状基底ベクトル及びテクスチャ基底ベクトルそれぞれに対応する固有値とを記憶する。なお、画像処理システムは、１００個より多くの基底を用いることによって、推定精度を向上させてもよい。また、画像処理システムは、基底数を１００個より減らすことによって、処理速度を向上させることも可能である。【０１７４】
まず、画像入力装置４０１は、利用者の入力指示に従って、人物の顔画像を撮影し、コンピュータ４０２に入力画像４１１を出力する。すると、コンピュータ４０２は、画像入力装置４０１から入力画像４１１を入力する。一例として、コンピュータ４０２は、人物の顔の向きが左４０度（姿勢パラメータθ＝４０）、下１０度（γ＝１０）及び水平向き（φ＝０）で、人物がカメラから１７０ｃｍ離れた位置で中央に写っている入力画像４１１を入力する。また、コンピュータ４０２は、１つのライトが顔に対して右６０度及び上８０度の角度から当たっていて、部屋全体の明るさの強度が、このライトの半分程度の強度である入力画像４１１を入力したとする。もちろん、入力画像４１１を入力した段階では、顔の正確な向きや照明の配置は、画像処理システムにとって未知である。【０１７５】
コンピュータ４０２の位置姿勢初期値入力手段１０２は、画像処理システムの利用者の入力指示に従って、入力画像４１１の位置姿勢パラメータ｛ｐ，γ，θ，φ｝の初期値を入力する。位置姿勢パラメータの初期値を入力するには様々な方法があるが、位置姿勢初期値入力手段１０２は、一例として、コンピュータ４０２の表示装置の画面に、図１０に示すように、平均３次元顔形状と平均テクスチャとを用いてＣＧ技術によって生成した画像を表示させる。この場合、位置姿勢初期値入力手段１０２は、図１０に示すように、表示装置の表示画面に、入力画像４１１とＣＧ画像４１２とを並べて表示させる。利用者は、ＣＧ画像４１２を入力画像４１１と見比べながら位置姿勢パラメータ｛ｐ，γ，θ，φ｝の値を変化させ、入力画像４１１に近くなる値を手動で入力指示する。そして、位置姿勢初期値入力手段１０２は、利用者の入力指示に従って、位置姿勢パラメータ｛ｐ，γ，θ，φ｝の初期値を入力する。本実施例では、一例として、位置姿勢初期値入力手段１０２は、位置姿勢パラメータの初期値として、ｐ＝［１０，５，１５０］、γ＝５、θ＝４５及びφ＝５を入力したとする。【０１７６】
次に、顔モデル生成手段１０３は、現在の３次元形状パラメータ｛ｓｉ｝及びテクスチャパラメータ｛ｔｉ｝の値を用いて、式（３）に示す汎用３次元顔モデルを用いて、個別３次元形状及び個別テクスチャを計算する。この場合、顔モデル生成手段１０３は、予め記憶装置４０３が記憶する汎用３次元顔モデルを、記憶装置４０３から読み出して用いて個別３次元形状及び個別テクスチャを計算する。また、顔モデル生成手段１０３は、繰り返し処理の最初の処理を行う場合、各パラメータ｛ｓｉ｝及び｛ｔｉ｝の初期値として値０（ゼロ）を用いて、個別３次元形状及び個別テクスチャを求める。【０１７７】
照明基底計算手段２０１は、顔モデル生成手段１０３が求めた個別３次元形状と個別テクスチャとを用いて、式（１１）を用いて法線ベクトルを求める。また、照明基底計算手段２０１は、式（１２）を用いて個別照明基底群を計算する。本実施例では、照明基底計算手段２０１は、照明基底の数を９個として個別照明基底群を求める。なお、照明基底計算手段２０１が求める照明基底の数は様々な値に変更可能であり、処理速度を向上させるために、求める照明基底の数を減らしてもよい。また、パラメータの推定精度を向上させるために、求める照明基底の数を大きくすることもできる。【０１７８】
透視変換手段２０２は、個別３次元形状と位置姿勢パラメータとを用いて、式（４）に示す関係に基づいて、再現画像の画素と個別３次元形状のポリゴンとの対応関係を求める。さらに、透視変換手段２０２は、再現画像の各画素に対応するポリゴンの個別照明基底の値を並べたベクトル群｛ｂｊ｝を、個別照明基底画像群として生成する。一例として、個別３次元形状に対応する入力画像の画素数が１００である場合、透視変換手段２０２は、１００次元のベクトルを含むベクトル群｛ｂｊ｝を生成する。【０１７９】
照明補正手段２０３は、入力画像Ｉｉｎｐｕｔと、照明基底計算手段２０１が生成した個別照明基底群とを用いて、式（１３）を用いて再現画像の輝度値Ｉｍｏｄｅｌを計算する。【０１８０】
パラメータ更新手段２０４は、入力画像Ｉｉｎｐｕｔ、照明補正手段２０３が生成した再現画像Ｉｍｏｄｅｌ、及び汎用顔モデルの固有値σｓｉ，σｔｉを用いて、コスト関数Ｅを計算する。また、パラメータ更新手段２０４は、コスト関数を最小化するように、確率的降下法を用いて、３次元形状、テクスチャ及び位置姿勢の各パラメータを更新する。【０１８１】
また、パラメータ更新手段２０４は、確率的降下法によるパラメータ探索が収束したか否かを判定する。パラメータ更新手段２０４は、計算した新しい更新後のパラメータと更新前の元のパラメータとの差が、予め定めた閾値より小さい場合、繰り返し処理が収束したと判定し、処理を終了する。また、パラメータ更新手段２０４は、コスト関数Ｅがパラメータ更新前の値より小さくない場合、繰り返し処理が収束したと判定し、処理を終了する。一例として、パラメータ更新手段２０４は、例えば、パラメータ更新量に対する閾値として、要素ｐの閾値「１ｃｍ」、及び顔の角度γ、θ、φの閾値「１°」をそれぞれ用いて、パラメータ探索が収束したか否かを判定する。パラメータ更新手段２０４は、これらの閾値より変化量が小さい場合には、パラメータ探索が収束したとして判定する。収束しない場合には、画像処理システムは、更新後のパラメータを用いて、顔モデル生成手段１０３、照明基底計算手段２０１、透視変換手段２０２、照明補正手段２０３及びパラメータ更新手段２０４が実行する各処理を繰り返し行う。【０１８２】
パラメータが収束すると、画像処理システムは、収束したときの３次元形状パラメータとテクスチャパラメータとから顔モデル生成手段１０３によって生成された個別３次元顔形状及び個別テクスチャを、記憶媒体４０４に記録して出力する。なお、画像処理システムは、個別３次元形状及び個別テクスチャを用いてＣＧ画像を生成し、生成したＣＧ画像を記憶媒体４０４に出力してもよい。また、画像処理システムを顔の向きを推定する顔姿勢推定システムに適用する場合には、画像処理システムは、収束した時の位置姿勢パラメータを出力してもよい。
【実施例２】
【０１８３】
次に、本発明の第２の実施例を図面を参照して説明する。本実施例では、画像処理システムを、顔画像に基づいて、その顔画像に写っている人物の顔の位置や姿勢を推定する物体位置姿勢推定システムに適用する場合について説明する。なお、本実施例で示す画像処理システムの構成は、本発明の第２の実施の形態で示した構成（すなわち、図４に示した構成）に相当する。【０１８４】
本実施例では、コンピュータ４０２は、第２の実施の形態で示した汎用照明基底モデル生成手段３００、位置姿勢初期値入力手段１０２、顔モデル生成手段１０３、照明基底モデル計算手段３０１、透視変換手段２０２、照明補正手段２０３及びパラメータ更新手段２０４を備える。【０１８５】
記憶装置４０３は、汎用３次元顔モデルを予め記憶する。なお、第１の実施例では汎用顔モデルの基底ベクトルと固有値のみを使用したが、本実施例では、汎用３次元顔モデルを構築する際に、行列ＵＳ（すなわち、式（２）に示す行列ＵＳ）の値も合わせて、記憶手段４０３に記憶させる。【０１８６】
まず、画像処理システムを各パラメータや再現画像を生成する処理に使用する前に、コンピュータ４０２の汎用照明基底モデル生成手段３００は、準備として汎用照明基底モデルを計算する処理を事前に行う。【０１８７】
まず、サンプルパラメータ設定手段３００１は、汎用３次元顔モデルに対して、適当な数のセットのランダムな３次元形状パラメータを決定する。本実施例では、一例として、サンプルパラメータ設定手段３００１は、１００セットのパラメータをランダムに設定する。なお、このパラメータの数は、様々に変更可能である。【０１８８】
また、照明基底計算手段３００２は、サンプルパラメータ設定手段３００１が決定した３次元形状パラメータの各セットから、汎用３次元顔モデルを用いて個別３次元形状を計算し、求めた個別３次元形状の法線ベクトルを計算する。さらに、照明基底計算手段３００２は、テクスチャの輝度が全て１であるとして、照明基底ベクトル群を計算する。【０１８９】
基底ベクトル計算手段３００３は、照明基底計算手段３００２が求めた照明基底ベクトル群に対して、式（１６）を用いて汎用照明基底モデルの基底ベクトル群を計算する。また、基底モデル計算手段３００３は、求めた汎用照明基底モデルの基底ベクトル群を、記憶装置４０３に記憶させる。本実施例では、３次元形状パラメータの数が１００であるので、基底モデル計算手段３００３は、１００個の基底ベクトルを含む基底ベクトル群を計算する。【０１９０】
画像処理システムは、以上に示す処理を予め行った上で、以下の処理を行う。【０１９１】
まず、コンピュータ４０２の位置姿勢初期値入力手段１０２は、利用者の入力指示に従って、入力画像から位置姿勢パラメータ｛ｐ，γ，θ，φ｝の初期値を入力する。この場合、第１の実施例と同様に、ＣＧ画像を見ながら利用者が手動で入力する方法もあるが、本実施例では、一例として、入力画像４１１に対して両目や口の端の位置等を画面を見ながら利用者が入力指示する場合を説明する。本実施例では、予め平均３次元形状データに対しても対応する点の位置を付与しておく（例えば、記憶装置４０３に、予め対応する点の位置情報を記憶しておく）。そして、位置姿勢初期値入力手段１０２は、予め記憶する３次元座標と、利用者の操作に従って入力した点の位置データとを用いて、顔の姿勢を計算する。【０１９２】
また、顔モデル生成手段１０３は、現在の形状パラメータ｛ｓｉ｝及びテクスチャパラメータ｛ｔｉ｝の値を用いて、式（３）に示す汎用顔モデルを用いて、個別３次元形状及び個別テクスチャを計算する。この場合、顔モデル生成手段１０３は、繰り返し処理の最初の処理の場合、各パラメータ｛ｓｉ｝及び｛ｔｉ｝の初期値として値０（ゼロ）を用いて、個別３次元形状及び個別テクスチャを求める。【０１９３】
照明基底モデル計算手段３０１は、顔モデル生成手段１０３が求めた３次元形状パラメータ｛ｓｉ｝と、記憶装置４０３が蓄積する汎用照明基底モデルとに基づいて、式（１７）を用いて個別照明基底群を計算する。【０１９４】
透視変換手段２０２は、顔モデル生成手段１０３が求めた個別３次元形状と、現在の位置姿勢パラメータとを用いて、式（４）に示す関係に基づいて、再現画像の画素と個別３次元形状のポリゴンとの対応関係を求める。さらに、透視変換手段２０２は、再現画像の各画素に対応するポリゴンの個別照明基底の値を並べたベクトル群｛ｂｊ｝を求め、個別照明基底画像群として生成する。【０１９５】
照明補正手段２０３は、入力画像Ｉｉｎｐｕｔと、照明基底モデル計算手段３０１が生成した個別照明基底群とを用いて、式（１３）を用いて再現画像の輝度値Ｉｍｏｄｅｌを計算する。【０１９６】
また、パラメータ更新手段２０４は、入力画像Ｉｉｎｐｕｔ、照明補正手段２０３が生成した再現画像Ｉｍｏｄｅｌ、及び汎用顔モデルの固有値σｓｉ，σｔｉを用いて、コスト関数Ｅを計算する。また、パラメータ更新手段２０４は、コスト関数を最小化するように、確率的降下法を用いて、３次元形状、テクスチャ及び位置姿勢の各パラメータを更新する。【０１９７】
さらに、パラメータ更新手段２０４は、確率的降下法によるパラメータ探索が収束したか否かを判定する。パラメータ更新手段２０４は、図７に示すステップＳ３６で計算した新しい更新後のパラメータと更新前の元のパラメータとの差が、予め定めた閾値より小さい場合、繰り返し処理が収束したと判定し、処理を終了する。また、パラメータ更新手段２０４は、コスト関数Ｅがパラメータ更新前の値より小さくない場合、繰り返し処理が収束したと判定し、処理を終了する。収束しない場合には、更新後のパラメータを用いて、顔モデル生成手段１０３、照明基底モデル計算手段３０１、透視変換手段２０２、照明補正手段２０３及びパラメータ更新手段２０４が実行する各処理を繰り返し行う。【０１９８】
また、繰り返し処理が収束したと判定すると、画像処理システムは、収束したときの位置姿勢パラメータの値を、入力画像中の顔の位置姿勢の推定値として出力する。一例として、画像処理システムは、例えば、記憶媒体４０４に、位置と姿勢とを示すデータ（位置姿勢パラメータ）を記録して出力する。【０１９９】
以上、本発明の各実施例を詳細に説明したが、本発明は、代表的に例示した上述の各実施例に限定されるものではなく、当業者であれば、請求の範囲の記載内容に基づき、本発明の要旨を逸脱しない範囲内で種々の態様に変形、変更することができる。これらの変形例や変更例も、本発明の権利範囲に属する。【０２００】
例えば、前述した各実施例を構成する各手段の少なくとも一部の機能をプログラムコードを用いて実現する場合、かかるプログラムコードと、これを記録する記録媒体とは、本発明の範疇に含まれる。この場合のプログラムコードは、オペレーティングシステムや他のアプリケーションソフトウェア等と共同して上記機能が実現される場合は、それらのプログラムコードも含まれる。また、記録媒体としては、例えばディスク型（光ディスク、光磁気ディスク、磁気ディスク等）、テープ型（磁気テープ等）、カード型（メモリカード等）等、いずれのタイプでも用いることができる。
【産業上の利用可能性】
【０２０１】
本発明は、１又は複数の顔画像から、写っている人物の顔の３次元形状を推定する３次元形状推定システムの用途に適用できる。また、本発明は、推定した姿勢パラメータを出力することによって、写っている人物の顔の向きを推定する物体位置姿勢推定システムの用途にも適用可能である。さらに、本発明は、入力画像を再現した再現画像（例えば、ＣＧ画像）を生成する画像生成システムの用途に適用できる。
【図１】
0004793698.tif 000014
【図２】
0004793698.tif 000015
【図３】
0004793698.tif 000016
【図４】
0004793698.tif 000017
【図５】
0004793698.tif 000018
【図６】
0004793698.tif 000019
【図７】
0004793698.tif 000020
【図８】
0004793698.tif 000021
【図９】
0004793698.tif 000022
【図１０】
0004793698.tif 000023
【図１１】
0004793698.tif 000024