(57)【特許請求の範囲】
【請求項１】
三次元物体を撮像した複数のフレーム画像に含まれる画素の前記三次元物体の表面における位置を推定して得られる貼り付け画像を取得する貼り付け画像取得部と、
前記貼り付け画像取得部が取得した複数の前記貼り付け画像の和に、所定の解像度によるローパスフィルターをかけることによって当該解像度のリファレンス画像を生成するリファレンス画像生成部と、
前記貼り付け画像と前記リファレンス画像とに基づき前記貼り付け画像に含まれる画素の位置ずれ量を計算し、前記貼り付け画像の前記画素の画素値を、前記位置ずれ量だけ離れた画素の画素値で置き換えるワーピング処理部と、
を具備することを特徴とする画像処理装置。
【請求項２】
前記所定の解像度において前記ワーピング処理部が前記画素の画素値を、前記位置ずれ量だけ離れた画素の画素値で置き換えて得られた前記貼り付け画像を、前記貼り付け画像取得部に取得させ、次の解像度において前記リファレンス画像生成部に前記リファレンス画像を生成させるとともに、低解像度側から高解像度側へ、前記貼り付け画像の前記画素の画素値の置き換えを順次繰り返すように制御する制御部、
をさらに具備することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
三次元物体の表面のテクスチャを表すテクスチャ画像を記憶するテクスチャ画像記憶部と、
前記ワーピング処理部による前記画素値の置き換えにより得られた複数の前記貼り付け画像を合成して得られる前記テクスチャ画像を前記テクスチャ画像記憶部に書き込むテクスチャ画像書き込み部と、
をさらに具備することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記三次元物体は顔であり、
顔の特徴点に対応する二次元座標値データを人物識別情報と頭部姿勢を表わす角度データに関連付けて記憶する顔特徴データベース部と、
前記顔特徴データベース部から読み出した前記特徴点に対応する二次元座標値データに基づいて、読み込んだ画像フレームに含まれる顔の特徴点の二次元座標値データを推定する顔領域検出照合部と、
予め定められたジェネリックモデルにおけるメッシュ頂点に対応する三次元座標値データを記憶する顔モデル記憶部と、
前記顔領域検出照合部によって推定された前記特徴点の二次元座標値データと、前記顔モデル記憶部から読み出した前記メッシュ頂点に対応する三次元座標値データとに基づいて、前記画像フレームに含まれる前記特徴点の三次元座標値データと前記画像フレームについての頭部姿勢を表わす角度データとを推定する位置・姿勢推定部と、
前記位置・姿勢推定部によって推定された前記特徴点の三次元座標値データと前記角度データとに基づき、前記ジェネリックモデルにおける前記メッシュ頂点をワーピングさせることによって修正顔モデルを生成し、前記メッシュ頂点に対応して前記修正顔モデルにおけるメッシュ頂点の三次元座標値データを算出するメッシュワーピング部と、
前記メッシュワーピング部によって生成された修正顔モデルに基づき、頭部姿勢を表わす前記角度データを変えたときのレンダリング処理を行って複数の合成顔画像モデルを生成し、前記特徴点の二次元座標値データを算出するレンダリング部と、
前記レンダリング部が算出した前記特徴点の二次元座標値データを、対応する前記角度データと関連付けて前記顔特徴データベース部に登録するデータベース登録部と、
を備え、
前記顔特徴データベース部は、前記人物識別情報と頭部姿勢の前記角度データとに関連付けて、少なくとも前記特徴点の近傍の画像特徴情報を記憶するものであり、
前記レンダリング部は、前記テクスチャ画像書き込み部が書き込んだテクスチャ画像を前記テクスチャ画像記憶部から読み出し、このテクスチャ画像に基づくレンダリング処理を行うものであり、
前記データベース登録部は、前記レンダリング部が行なったレンダリング処理の結果に基づく前記画像特徴情報を、対応する前記角度データと関連付けて前記顔特徴データベース部に登録する、
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
三次元物体を撮像した複数のフレーム画像に含まれる画素の前記三次元物体の表面における位置を推定して得られる貼り付け画像を取得する貼り付け画像取得部と、
前記貼り付け画像取得部が取得した複数の前記貼り付け画像の和に、所定の解像度によるローパスフィルターをかけることによって当該解像度のリファレンス画像を生成するリファレンス画像生成部と、
前記貼り付け画像と前記リファレンス画像とに基づき前記貼り付け画像に含まれる画素の位置ずれ量を計算し、得られた前記位置ずれ量により前記貼り付け画像の前記画素の画素値を、前記位置ずれ量だけ離れた画素の画素値で置き換えるワーピング処理部と、
を具備する画像処理装置としてコンピュータを機能させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置およびそのコンピュータプログラムに関する。特に、複数の画像間で対応する点の位置を対応付ける画像処理装置およびそのコンピュータプログラムに関する。
【背景技術】
【０００２】
三次元形状を有する被写体を撮像した複数の画像間において、被写体上のある特徴点がそれら複数の画像上のどの位置に対応するかを算出することが求められる。
例えば、非特許文献１には、２枚の画像間における被写体の位置ずれと、被写体の回転の中心および回転角度と、被写体の拡大または縮小の中心と拡大率（または縮小率）とを推定する手法が記載されている。同文献に記載された技術では、２枚の画像にそれぞれ含まれるパッチのフーリエ変換を計算して、２つの最大のフーリエ成分により、両パッチ間のアフィン変換を推定する。
【０００３】
また、非特許文献２には、２つの画像パッチに含まれる特徴点で計測したガボールウェーブレット（Gabor wavelet）係数の比較により、特徴点同士の間での位置ずれを推定する技術が記載されている。非特許文献２に記載されたシステムは、１枚の入力顔画像と顔テンプレートとを照合し、その結果に基づいて入力された顔の認識を行なう。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Stefan Kruger，Andrew Calway，“Image Registration using Multiresolution Frequency Domain Correlation”，Proceedings of the British Machine Vision Conference BMVC98，１９９８年，ｐｐ．３１６−３２５
【非特許文献２】Laurenz Wiskott，Jean-Marc Fellous，Norbert Kruger，Christoph von der Malsburg，“Face Recognition by Elastic Bunch Graph Matching”，TR96-08，Institut fur Neuroinformatik，Ruhr-Universitat Bochum，１９９６年
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献１に記載された技術は、パッチ全体(つまり両パッチの全画素)の間のグローバルなアフィン変換を推定するのみである。現実には被写体を撮像した複数の画像間では、そのようなグローバルなアフィン変換だけでなく、局所的なパッチ間の非線形的歪み（warping）が存在するが、非特許文献１に記載された技術ではそのような非線形的歪みに対応した点を画像間で対応付けることはできない。
【０００６】
また、非特許文献１または２に記載された技術では、同一の被写体を撮影した２枚の画像が与えられ、それら２枚の画像のうちの片方をリファレンスとし、他方をテストとして、テストの画像をリファレンスの画像にあわせるようにワーピング（warping）する。しかしながら、一般に多数（３枚以上）の画像（画像パッチ）が与えられ、それらの画像内に含まれる点の位置の対応付けをする場合には、どの画像をリファレンスとして使用すればよいかが不明である。
【０００７】
本発明は、上記のような事情を考慮してなされたものであり、三次元形状を有する被写体を撮影した画像を元に画像上の画素の位置を被写体表面の位置に対応させる場合に、非線形的歪みにも対応してアラインメントを行なえる画像処理装置を提供する。
【課題を解決するための手段】
【０００８】
［１］上記の課題を解決するため、本発明の一態様による画像処理装置は、三次元物体を撮像した複数のフレーム画像に含まれる画素の前記三次元物体の表面における位置を推定して得られる貼り付け画像を取得する貼り付け画像取得部と、前記貼り付け画像取得部が取得した複数の前記貼り付け画像の和に、所定の解像度によるローパスフィルターをかけることによって当該解像度のリファレンス画像を生成するリファレンス画像生成部と、前記貼り付け画像と前記リファレンス画像とに基づき前記貼り付け画像に含まれる画素の位置ずれ量を計算し、得られた前記位置ずれ量により前記貼り付け画像の前記画素の位置をアライン（align）するワーピング処理部とを具備する。
【０００９】
画像取得部が取得する貼り付け画像は、三次元物体を撮像したものであり、それぞれの画素に対応する三次元物体上での位置が推定されている。但し、この推定は、所定の精度を有しているものの、位置ずれを含んでいる可能性がある。リファレンス画像生成部は、これら複数の貼り付け画像を元に、所定の解像度でのリファレンス画像を生成する。つまり、リファレンス画像を別に与えたり、何をリファレンスとすべきかを指定したりすることなく、貼り付け画像を元にリファレンス画像を構築できる。上記において、画像の和とは、単純な和であってもよく、また画像ごとに重み付けして得られる画素値と重み値との積和（sum of products）等であってもよい。一例としては、重み値としては、撮像方向と三次元物体の表面法線とがなす角度によって定まる重み値を用いるが、これに限られない。ワーピング処理部は、得られたリファレンス画像と各貼り付け画像とに基づき、貼り付け画像の画素ごとに位置ずれ量を算出する。言い換えれば、一枚の貼り付け画像についての各画素の位置ずれ量は、アフィン変換に相当するものに限定されず、非線形歪みに対応するものであり得る。
【００１０】
［２］また、本発明の一態様は、上記の画像処理装置において、前記所定の解像度において前記ワーピング処理部が前記画素の位置をアラインして得られた前記貼り付け画像を、前記貼り付け画像取得部に取得させ、次の解像度において前記リファレンス画像生成部に前記リファレンス画像を生成させるとともに、低解像度側から高解像度側へ、前記貼り付け画像の前記画素の位置のアラインを順次繰り返すように制御する制御部をさらに具備する。
【００１１】
上記の構成により、まず低解像度側で位置ずれのアラインメントを行い、次に上の段階の解像度で位置ずれのアラインメントを行い、順次解像度を上げながら徐々に位置ずれのアラインメントを行い、これを最高解像度まで繰り返すこととなる。
【００１２】
［３］また、本発明の一態様は、上記の画像処理装置において、三次元物体の表面のテクスチャを表すテクスチャ画像を記憶するテクスチャ画像記憶部と、前記ワーピング処理部によってアライン済みの複数の前記貼り付け画像を合成して得られる前記テクスチャ画像を前記テクスチャ画像記憶部に書き込むテクスチャ画像書き込み部とをさらに具備する。
【００１３】
上記の構成により、複数の貼り付け画像を合成してテクスチャ画像を得ることができる。このとき、複数の貼り付け画像を、重み値によって重みを付けて合成する（加算する）ようにしても良い。
【００１４】
［４］また、本発明の一態様は、前記三次元物体として人の顔（頭部）を対象として、上記の画像処理装置において、顔の特徴点に対応する二次元座標値データを人物識別情報と頭部姿勢を表わす角度データに関連付けて記憶する顔特徴データベース部と、前記顔特徴データベース部から読み出した前記特徴点に対応する二次元座標値データに基づいて、読み込んだ画像フレームに含まれる顔の特徴点の二次元座標値データを推定する顔領域検出照合部と、予め定められたジェネリックモデルにおけるメッシュ頂点に対応する三次元座標値データを記憶する顔モデル記憶部と、前記顔領域検出照合部によって推定された前記特徴点の二次元座標値データと、前記顔モデル記憶部から読み出した前記メッシュ頂点に対応する三次元座標値データとに基づいて、前記画像フレームに含まれる前記特徴点の三次元座標値データと前記画像フレームについての頭部姿勢を表わす角度データとを推定する位置・姿勢推定部と、前記位置・姿勢推定部によって推定された前記特徴点の三次元座標値データと前記角度データとに基づき、前記ジェネリックモデルにおける前記メッシュ頂点をワーピングさせることによって修正顔モデルを生成し、前記メッシュ頂点に対応して前記修正顔モデルにおけるメッシュ頂点の三次元座標値データを算出するメッシュワーピング部と、前記メッシュワーピング部によって生成された修正顔モデルに基づき、頭部姿勢を表わす前記角度データを変えたときのレンダリング処理を行って複数の合成顔画像モデルを生成し、前記特徴点の二次元座標値データを算出するレンダリング部と、前記レンダリング部が算出した前記特徴点の二次元座標値データを、対応する前記角度データと関連付けて前記顔特徴データベース部に登録するデータベース登録部とを備え、前記顔特徴データベース部は、前記人物識別情報と頭部姿勢の前記角度データとに関連付けて、少なくとも前記特徴点の近傍の画像特徴情報を記憶するものであり、前記レンダリング部は、前記テクスチャ画像書き込み部が書き込んだテクスチャ画像を前記テクスチャ画像記憶部から読み出し、このテクスチャ画像に基づくレンダリング処理を行うものであり、前記データベース登録部は、前記レンダリング部が行なったレンダリング処理の結果に基づく前記画像特徴情報を、対応する前記角度データと関連付けて前記顔特徴データベース部に登録することを特徴とする。
【００１５】
［４Ａ］また、本発明の一態様は、上記［４］の画像処理装置において、前記テクスチャマッピング部は、前記修正顔モデルに対する視線の光軸と前記修正顔モデルの表面法線との角度に基づき、前記画像フレームに含まれる前記濃淡・色彩情報を前記二次元顔テクスチャ画像にマッピングする際の方向の重みを調整する。
［４Ｂ］また、本発明の一態様は、上記［４］の画像処理装置において、前記テクスチャマッピング部は、前記二次元顔テクスチャ画像において前記修正顔モデルにおける前記特徴点に対応する位置からの距離に基づき、前記画像フレームに含まれる前記濃淡・色彩情報を前記二次元顔テクスチャ画像にマッピングする際の距離の重みを調整するものであり、前記距離に対する前記距離の重みの変化度合いを第１のパラメータにより可変とするとともに、前記視線の光軸と前記表面法線との前記角度に対する前記方向の重みの変化度合いを第２のパラメータにより可変としたものである。
【００１６】
［５］また、本発明の一態様は、三次元物体を撮像した複数のフレーム画像に含まれる画素の前記三次元物体の表面における位置を推定して得られる貼り付け画像を取得する貼り付け画像取得部と、前記貼り付け画像取得部が取得した複数の前記貼り付け画像の和に、所定の解像度によるローパスフィルターをかけることによって当該解像度のリファレンス画像を生成するリファレンス画像生成部と、前記貼り付け画像と前記リファレンス画像とに基づき前記貼り付け画像に含まれる画素の位置ずれ量を計算し、得られた前記位置ずれ量により前記貼り付け画像の前記画素の位置をアラインするワーピング処理部とを具備する画像処理装置としてコンピュータを機能させるコンピュータプログラムである。
【発明の効果】
【００１７】
本発明によれば、三次元形状を有する被写体を撮影した画像を元に、画像上の画素の位置を被写体表面の位置に対応させる場合に、非線形的歪みにも対応して位置ずれ量を算出し、アラインメントを行なうことができる。
また、本発明によれば、リファレンスとすべき画像を特定できない場合も、撮影した画像を元にリファレンス画像を構築し、そのリファレンス画像との関係によって画素の位置ずれ量を算出することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態による画像処理装置の機能構成を示すブロック図である。
【図２】同実施形態によるテクスチャマッピング部のより詳細な機能構成を示すブロック図である。
【図３】同実施形態によるテクスチャ画像記憶部が記憶するテクスチャ画像と、被写体の三次元モデルとの関係を示した概略図である。
【図４】同実施形態による処理手順を示したフローチャートである。
【図５】本発明の第２の実施形態による顔画像処理装置の機能構成を示すブロック図である。
【図６】同実施形態において、顔領域検出照合部が顔画像領域から推定した特徴点位置を模式的に示した図である。
【図７】同実施形態において、メッシュ頂点割当情報記憶部に記憶される対応関係に関する情報のデータ構造を示した図である。
【図８】同実施形態において、画素割当情報記憶部に記憶される対応関係に関する情報のデータ構造を示した図である。
【図９】同実施形態において、データベース登録部が生成する可変テンプレート構造体のデータ構造を示す図である。
【図１０】同実施形態において、顔領域検出照合部が映像データの各画像フレームから顔画像領域を検出して顔特徴データと照合し、追跡結果または認識結果を出力する手順を示すフローチャートである。
【図１１】同実施形態において、映像データの各画像フレームにおける二次元の特徴点位置から、三次元の特徴点位置と画像フレームごとの頭部姿勢とを対応付けて推定する処理の手順を示すフローチャートである。
【図１２】同実施形態において、メッシュワーピング部が実行するメッシュワーピング処理の手順を示したフローチャートである。
【図１３】同実施形態において、三次元ＣＧ顔モデルのメッシュを示す図である。
【図１４】同実施形態において、三次元ＣＧ顔モデルのメッシュ頂点のワーピング処理を説明するための図である。
【図１５】同実施形態において、ＵＶテクスチャ画像の修正処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、図面を参照しながら、本発明の実施形態について説明する。
［第１の実施形態］
図１は、第１の実施形態による画像処理装置の機能構成を示すブロック図である。図示するように、画像処理装置１は、画像データ記憶部１１と逆ポーズ変換処理部１２とテクスチャマッピング処理部１４とテクスチャ画像記憶部１５とを含んで構成される。
画像データ記憶部１１は、カメラ等を用いて、ある被写体を撮影して得られた画像データを記憶する。画像データは、ある被写体について複数の画像フレームを含む。個々の画像フレームのデータは、各画素の色値（例えば、ＲＧＢ値）を含む。ここで各々の画像フレームは、時間間隔をおいて撮影された静止画であっても良いし、映像（動画）に含まれる１枚の画像フレームであっても良い。ここで、複数の画像フレームは、被写体を撮像する際の位置や方向や距離や画角等が異なっていても良い。
テクスチャ画像記憶部１５は、上記被写体の全表面、または少なくとも一部表面のテクスチャを表すテクスチャ画像を含む。テクスチャ画像は、被写体表面の色彩や濃淡や模様のパターンや質感を表す。テクスチャ画像記憶部１５に記憶されるテクスチャ画像は、ｕ座標およびｖ座標で表される２次元直交座標系平面の画像であり、当該平面が上記被写体の表面に対応する。言い換えれば、当該平面画像上の１画素（座標（ｕ，ｖ）で特定される）が、被写体の表面におけるある点に対応する。テクスチャ画像のデータは、各画素の色値（例えば、ＲＧＢ値）で表される。
【００２０】
逆ポーズ変換処理部１２は、画像データ記憶部１１から読み出したフレーム画像に基づき、フレーム画像上に撮影されている被写体のポーズを推定する。ここで、ポーズとは、フレーム画像を撮影したカメラとの関係における、被写体の位置や向きや拡大／縮小の度合いである。ポーズとは、空間における被写体の平行移動と、回転量（例えば互いに直交する３軸を中心とする、それぞれの軸についての回転量）と、拡大／縮小の量との組み合わせによって表される量である。拡大／縮小を決める要素は、カメラと被写体との間の距離と、撮影に用いたレンズの画角である。逆ポーズ変換処理部１２は、フレーム画像に写された複数の特徴点を認識し、それらの特徴点の関係に基づいて上記のポーズを推定する。そして、逆ポーズ変換処理部１２は、各々のフレーム画像に、上で推定されたポーズの逆変換をかけることによって、被写体の位置、向き、および拡大／縮小を正規化することができる。また、逆ポーズ変換処理部１２は、不図示の三次元形状モデル記憶部から、被写体の三次元形状の情報を読み出す。この被写体の三次元形状の情報とは、例えば、被写体をメッシュで表現したときの各々のメッシュ頂点の三次元座標値である。逆ポーズ変換処理部１２は、ポーズの逆変換をしたフレーム画像と、この三次元形状の情報とから、フレーム画像上の画素と、テクスチャ画像上の画素との間の対応関係（写像関係）を推定する。逆ポーズ変換処理部１２は、この写像関係を用いてフレーム画像を展開することにより、貼り付け画像を得る。つまり、逆ポーズ変換処理部１２は、第k番目（０≦ｋ＜Ｎｆｒａｍｅｓ）のフレーム画像から、第ｋ番目の貼り付け画像ｓｋ（ｕ，ｖ）を得る。なお、Ｎｆｒａｍｅｓは画像フレームの枚数である。
【００２１】
逆ポーズ変換処理部１２は、また、貼り付け画像の各画素における方向の重みαｋ（ｕ，ｖ）を算出する。ここで、方向の重みとは、例えば、αｋ（ｕ，ｖ）＝ｃｏｓｍ（θｋ（ｕ，ｖ））で与えられる重み値である。ここで、ｍは適宜定められる１以上の整数である。また、θｋ（ｕ，ｖ）は、ｋ番目の貼り付け画像上の座標（ｕ，ｖ）における画素に対応する、フレーム画像撮影時の被写体の表面法線と視線の光軸（カメラの光軸）とがなす角度であり、−（π／２）≦θｋ（ｕ，ｖ）≦（π／２）である。既に上でｋ番目のフレーム画像における被写体のポーズが計算されており、また、貼り付け画像上の座標（ｕ，ｖ）に対応する被写体表面における表面法線の方向を前記の三次元形状の情報から求めることができるため、逆ポーズ変換処理部１２はθｋ（ｕ，ｖ）を計算することができる。なお、逆ポーズ変換処理部１２は、ここで計算された角画素における方向の重みαｋ（ｕ，ｖ）を、不図示のメモリに書き込むことにより、後で参照できるようにしておく。
【００２２】
テクスチャマッピング部１４は、画像データ記憶部１１に記憶されているフレーム画像から、テクスチャ画像記憶部１５に記憶されているテクスチャ画像へのマッピングを行なう。言い換えれば、テクスチャマッピング部１４は、個々のフレーム画像に撮像された被写体表面に対応する画素に対応する、テクスチャ画像上の１画素を特定する。さらに、テクスチャマッピング部１４は、このマッピング結果を利用して、単数または複数のフレーム画像から、テクスチャ画像を作成して、テクスチャ画像記憶部１５に書き込むことができる。
【００２３】
つまり、テクスチャマッピング部１４は、テクスチャマッピングにより、テクスチャ画像に、各フレーム画像からの貢献分の和を貼り付ける。フレーム画像の枚数に関する正規化の項をのぞくと、座標（ｕ，ｖ）における和は、次の式（１）のｆ（ｕ，ｖ）の通りである。
【００２４】
【数１】
0005460499.tif 000002
【００２５】
ここで、αｋ（ｕ，ｖ）は座標（ｕ，ｖ）における方向の重みであり、ｒ（ハット）ｋ（ｕ，ｖ）は座標（ｕ，ｖ）におけるテクスチャ画像がｋ番目の画像フレームにおいて映ると推定された位置であり、ｓｋ（ｕ，ｖ）＝ｐｋ（ｒ（ハット）ｋ（ｕ，ｖ））はその推定された位置におけるＲＧＢ値である。方向の重みの値は、既に逆ポーズ変換処理部１２によって得られている。
【００２６】
テクスチャマッピング部１４は、ｓｋ（ｕ,ｖ）,０≦ｋ＜ＮｆｒａｍｅｓのＮｆｒａｍｅｓ枚の貼り付け画像をアラインする。つまり、ｋ番目の貼り付け画像におけるｓｋ（ｕ,ｖ）をｓｋ（ｕ＋ｍｋ（ｕ，ｖ）,ｖ＋ｎｋ（ｕ，ｖ））に置き換える。ここで、（ｍｋ（ｕ，ｖ）,ｎｋ（ｕ，ｖ））が、ｋ枚目の貼り付け画像を他の貼り付け画像にアラインさせるための最適位置ずれ量である。
なお、テクスチャマッピング部１４による、位置ずれ量の算出、およびその補正の方法については、後述する。
【００２７】
図２は、テクスチャマッピング部１４内部のより詳細な機能構成を示すブロック図である。図示するように、テクスチャマッピング部１４は、貼り付け画像取得部５１−０，５１−１，５１−２，・・・と、ワーピング処理部５２−０，５２−１，・・・と、リファレンス画像生成部５３と、制御部５４と、テクスチャ画像書き込み部５５とを含んで構成される。また、リファレンス画像生成部５３は、内部に、画像加算部６１−０，６１−１，・・・、およびガウシアンウィンドウ（Gaussian window）処理部６２−０，６２−１，・・・を含んでいる。
なお、同図には、ｋ−１番目とｋ番目とｋ＋１番目のフレーム画像に関する構成のみを示して他を省略しているが、実際には、テクスチャマッピング部１４は、第０番目から第（Ｎｆｒａｍｅｓ−１）番目までのフレーム画像に対応した構成を備えている。また、同図には、第２の解像度の貼り付け画像を記憶する貼り付け画像取得部５１−２までを示してその後の段階の構成を省略しているが、実際には、テクスチャマッピング部１４は、その後段（より高い解像度に対応）のワーピング処理部および貼り付け画像取得部を備えている。
【００２８】
また、同図では記載を省略しているが、テクスチャマッピング部１４は、画像データ記憶部１１から読み出したデータ、および逆ポーズ変換処理部１２から取得したデータを用いて、以下に述べる処理を行なう。
【００２９】
貼り付け画像取得部５１−０，５１−１，５１−２，・・・は、テクスチャ画像に貼り付ける画像を生成するための処理過程の画像データを取得し、記憶する。具体的には、貼り付け画像取得部５１−０，５１−１，５１−２，・・・は、三次元物体を撮像した複数のフレーム画像に含まれる画素の三次元物体の表面における位置を推定して得られる貼り付け画像を取得する。貼り付け画像取得部５１−０は、第０番目の解像度（解像度等については後述する）の貼り付け画像を取得する。貼り付け画像取得部５１−１は、第１番目の解像度の貼り付け画像を取得する。以下同様に、最高解像度（Ｎｒｅｓ−１）まで、各解像度に応じた貼り付け画像取得部が貼り付け画像を取得し、保持する。
【００３０】
リファレンス画像生成部５３は、貼り付け画像取得部５１−０，５１−１，５１−２，・・・から読み出した各解像度の貼り付け画像に基づき、各解像度のリファレンス画像ｑ０（ｕ，ｖ），ｑ１（ｕ，ｖ），・・・を生成する。具体的には、リファレンス画像生成部５３は、複数の貼り付け画像の和に、所定の解像度によるローパスフィルターをかけることによって当該解像度のリファレンス画像を生成する。リファレンス画像生成の詳細な手順については、後述する。
画像加算部６１−０，６１−１，・・・は、それぞれの解像度における第０番目から第（Ｎｆｒａｍｅｓ−１）番目までのフレーム画像に対応する貼り付け画像を、重み付けして加算する。なお、ここで用いる重み値α（ｕ，ｖ）は、前述の方向の重みである。
ガウシアンウィンドウ処理部６２−０，６２−１，・・・は、それぞれの解像度における画像加算部６１−０，６１−１，・・・の出力に、当該解像度のガボールウェーブレットが持つ二次元ガウシアンウィンドウ（窓関数）によるローパスフィルターをかける処理を行なう。
【００３１】
ワーピング処理部５２−０，５２−１，・・・は、それぞれ、貼り付け画像取得部５１−０，５１−１，・・・から読み出した当該解像度における貼り付け画像と、当該解像度のリファレンス画像ｑ０（ｕ，ｖ），ｑ１（ｕ，ｖ），・・・とに基づき、貼り付け画像の各画素における位置ずれ量を推定するとともに、推定された位置ずれ量を用いて次の（一段階高い）解像度の貼り付け画像を生成する。言い換えれば、ワーピング処理部５２−０，５２−１，・・・は、貼り付け画像とリファレンス画像とに基づき貼り付け画像に含まれる画素の位置ずれ量を計算し、得られた位置ずれ量により貼り付け画像の画素の位置をアラインする。このアラインメントの結果により、位置ずれをアラインされた貼り付け画像が得られる。そして、生成された貼り付け画像は、当該解像度用の貼り付け画像取得部５１に渡される。
【００３２】
制御部５４は、所定の解像度においてワーピング処理部が画素の位置をアラインして得られた貼り付け画像を、貼り付け画像取得部に取得させ、次の解像度においてリファレンス画像生成部にリファレンス画像を生成させるとともに、低解像度側から高解像度側へ、貼り付け画像の画素の位置のアラインを順次繰り返すように制御する。制御部５４の制御による繰り返しを含む具体的処理手順については後述する。
【００３３】
テクスチャ画像書き込み部５５は、ワーピング処理部５２−０，５２−１，・・・によって順次、位置ずれをアラインされたの複数の貼り付け画像を合成して得られるテクスチャ画像をテクスチャ画像記憶部１５に書き込む。
【００３４】
ここで、上記の解像度について説明する。解像度は、第０番目の解像度（低解像度）から、第（Ｎｒｅｓ−１）番目の解像度（最高解像度）まで、Ｎｒｅｓ個の段階を有する。Ｎｒｅｓの値は、対象とする画像の解像度に応じて適宜設定される。
そして、一例として、第ｉ番目（０≦ｉ＜Ｎｒｅｓ）の解像度がｂｉとなるようにする。ここで、ｂは適宜定められる整数である。例えば、ｂ＝２とするとき、第ｉ番目の解像度は２ｉである。つまり、第０番目から順に、解像度は１，２，４，８，１６，・・・という系列となる。そして、対象とする画像の解像度をフルに利用できるようにＮｒｅｓの値を定める。一例として、対象とする画像の解像度が２０４８（縦）×２０４８（横）である場合、ｂ＝２、Ｎｒｅｓ＝１２とすれば、第０番目から第１１番目まで、１，２，４，８，１６，３２、６４、１２８，２５６，５１２，１０２４，２０４８という系列の解像度を用いることとなる。
【００３５】
図３は、撮像される被写体と、テクスチャ画像記憶部１５が保持するテクスチャ画像との関係を示す図である。同図（ａ）は、被写体を表した三次元物体ＣＧ（コンピュータグラフィクス）モデルにテクスチャマッピングを施した状態を示すものであり、同図（ｂ）は、テクスチャ画像に三次元物体ＣＧモデルのメッシュを重ね合わせた状態を示す。図示するように、被写体の表面上の一つの点（ｎ番目のメッシュ頂点ｘｎ（三次元座標値に対応するベクトル）と、テクスチャ画像上の画素位置である座標値（ｕｎ，ｖｎ）（０≦ｕｎ≦１，０≦ｖｎ≦１，０≦ｎ＜ＮＶＴ）とが関係付けられる。なお、ＮＶＴは、ここで用いるメッシュ頂点の総数である。具体的には、画像処理装置１は、ｎごとに、ｘｎの三次元座標値とＵＶテクスチャ画像上の画素の座標値（ｕｎ，ｖｎ）とを関連付けて保持するテーブルのデータ（不図示）を記憶している。
なお、ここでは被写体である三次元物体として、人の顔（頭部）の例を示したが、実際にはこれに限らず、被写体となり得る全ての三次元物体を扱うことができる。
【００３６】
図４は、画像処理装置１の処理手順を示すフローチャートである。以下、このフローチャートに沿って処理手順を説明する。
まず、ステップＳ１において、貼り付け画像取得部５１−０は、初期の貼り付け画像ｓ０（ｕ，ｖ），ｓ１（ｕ，ｖ），・・・，ｓｋ（ｕ，ｖ），・・・，ｓＮｆｒａｍｅｓ（ｕ，ｖ）を取得し、記憶する。第ｋ番目（０≦ｋ＜Ｎｆｒａｍｅｓ）のフレームの初期の貼り付け画像は、第ｋ番目のフレーム画像に基づくものであり、逆ポーズ変換処理部１２の処理に基づいてｕｖ直交座標系に変換されている画像である。
そして、ステップＳ２において、テクスチャマッピング部１４は、変数ｉの値を０に初期化する。この変数ｉは、解像度の段階を表すものである。
【００３７】
（ａ０）リファレンス画像の構築
次にステップＳ３において、リファレンス画像生成部５３が、既に得られている貼り付け画像を元に、第ｉ番目の解像度のリファレンス画像を構築する。ｉ＝０であるので、リファレンス画像生成部５３は、貼り付け画像取得部５１−０から貼り付け画像を読み出す。そして、リファレンス画像生成部５３は、低解像度（第０番目の解像度）でリファレンス画像ｑ０（ｕ，ｖ）を構築する。この画像は、各映像フレームからの貼り付け画像の重み付きの和に、低解像度のガボールウェーブレットが持つ二次元ガウシアンウィンドウによりローパスフィルターを掛けたものである。リファレンス画像生成部５３は、次の式（２）で表される計算によりリファレンス画像ｑ０（ｕ，ｖ）を生成する。
【００３８】
【数２】
0005460499.tif 000003
【００３９】
なおこのとき、画像加算部６１−０が貼り付け画像の重み付きの和の計算を行い、ガウシアンウィンドウ処理部６２−０が当該解像度の二次元ガウシアンウィンドウの畳み込み計算を行なう。
【００４０】
（ｂ０）リファレンス画像とのワーピングの算出
次にステップＳ４において、ワーピング処理部５２−０が、低解像度のガボールウェーブレットにより、各貼り付け画像ｓｋ（ｕ,ｖ）の各画素において、リファレンス画像ｑ０（ｕ，ｖ）との位置ずれを推定する。なお、ｉ＝０である。
位置ずれ量を推定するための具体的な計算方法については、後述する。
そして、この計算により、（ｍｋ０（ｕ，ｖ）,ｎｋ０（ｕ，ｖ））という、低解像度の（第０番目の解像度の）画像成分のみから推定した位置ずれ量が得られる。
そして、ステップＳ５において、ワーピング処理部５２−０が、上のステップで得られた位置ずれ量を用いて、貼り付け画像をワーピングする。これは、即ち、各々のｋについて、ｓｋ（ｕ＋ｍｋ０（ｕ，ｖ）,ｖ＋ｎｋ０（ｕ，ｖ））という貼り付け画像を得ることである。そして、ワーピング処理部５２−０は、ワーピングによって得られた貼り付け画像を、貼り付け画像取得部５１−１に供給する。
【００４１】
次にステップＳ６において、テクスチャマッピング部１４は、最高解像度の処理を完了したか否かを判断する。最高解像度までの処理を完了した場合（ステップＳ６：ＹＥＳ）にはこのフローチャート全体の処理を終了し、未完了の場合（ステップＳ６：ＮＯ）にはステップＳ７に進む。
ステップＳ７に進んだ場合、同ステップでは、テクスチャマッピング部１４は、変数ｉに１を加算する。これにより、変数ｉの値は、次の解像度の段階を表すことになる。ここでは、ｉ＝１となる。このステップの処理を終えると、ステップＳ３に移る。
【００４２】
（ａ１）次の解像度でのリファレンス画像の構築
次にステップＳ３において、リファレンス画像生成部５３が、既に得られている貼り付け画像を元に、第ｉ番目の解像度のリファレンス画像を構築する。ｉ＝１となったので、次に高い解像度（第１番目の解像度）でリファレンス画像ｑ１（ｕ，ｖ）を構築する。このリファレンス画像ｑ１（ｕ，ｖ）は、低解像度（第０番目の解像度）で得られた位置ずれ量を反映させた後、各映像フレームからの貼り付け画像の重み付きの和に、第１番目の解像度のガボールウェーブレットが持つ二次元ガウシアンウィンドウによりローパスフィルターをかけたものである。リファレンス画像生成部５３は、次の式（３）で表される計算によりリファレンス画像ｑ１（ｕ，ｖ）を生成する。
【００４３】
【数３】
0005460499.tif 000004
【００４４】
なおこのとき、画像加算部６１−１が貼り付け画像の重み付きの和の計算を行い、ガウシアンウィンドウ処理部６２−１が当該解像度の二次元ガウシアンウィンドウの畳み込み計算を行なう。
【００４５】
（ｂ１）リファレンス画像とのワープの算出
次にステップＳ４において、ワーピング処理部５２−１が、第１番目のガボールウェーブレットにより、各貼り付け画像ｓｋ（ｕ,ｖ）の各画素において、リファレンス画像ｑ０（ｕ，ｖ）との位置ずれを推定する。なお、ｉ＝０である。
つまり、ワーピング処理部５２−１は、低解像度（第０番目の解像度）でワープされた各貼り付け画像ｓｋ（ｕ＋ｍｋ０（ｕ，ｖ）,ｖ＋ｎｋ０（ｕ，ｖ））の各画素において、リファレンス画像ｑ１（ｕ，ｖ）との位置ずれ量を推定する。位置ずれ量を計算する方法は、第０番目の解像度の場合と同様である。この計算により、（ｍｋ１（ｕ，ｖ）,ｎｋ１（ｕ，ｖ））という、第１番目の解像度の画像成分のみから推定した位置ずれ量が得られる。
【００４６】
そして、ステップＳ５において、ワーピング処理部５２−１が、上のステップで得られた位置ずれ量を用いて、貼り付け画像をワーピングする。これは、即ち、各々のｋについて、ｓｋ（ｕ＋ｍｋ０（ｕ，ｖ）＋ｍｋ１（ｕ，ｖ）,ｖ＋ｎｋ０（ｕ，ｖ）＋ｎｋ１（ｕ，ｖ））という貼り付け画像を得ることである。そして、ワーピング処理部５２−１は、ワーピングによって得られた貼り付け画像を、貼り付け画像取得部５１−２に供給する。
【００４７】
そして、ステップＳ６およびＳ７では、テクスチャマッピング部１４は、再び、変数ｉに１を加算し、即ちｉ＝２として、次の解像度の処理に移る。
以上、（ａ０），（ｂ０），（ａ１），（ｂ１）と、第０番目および第１番目の解像度において、それぞれ、位置ずれ量を計算し、その位置ずれ量によるワーピングを行なった。そして、その後、第２番目以降の解像度についても同様に処理を行なう。
第ｉ番目の解像度（ｉ＝０，１，２，・・・，Ｎｒｅｓ−１）における一般的な処理は次の通りである。
【００４８】
（ａ）第ｉ番目の解像度でリファレンス画像の構築
ステップＳ３において、リファレンス画像生成部５３が、既に得られている貼り付け画像を元に、第ｉ番目の解像度のリファレンス画像ｑｉ（ｕ，ｖ）を構築する。この画像は、各映像フレームからの貼り付け画像の重み付きの和に、低解像度のガボールウェーブレットが持つ二次元ガウシアンウィンドウによりローパスフィルターを掛けたものである。ｑｉ（ｕ，ｖ）は、下の式（４）で表される。
【００４９】
【数４】
0005460499.tif 000005
【００５０】
但し、ここでｕｋｉ（ｕ，ｖ）およびｖｋｉ（ｕ，ｖ）は、それぞれ、第０番目の解像度から第ｉ番目の解像度までの位置ずれ量をアラインした座標値であり、下の式（５）および式（６）の通りである。
【００５１】
【数５】
0005460499.tif 000006
【００５２】
【数６】
0005460499.tif 000007
【００５３】
（ｂ）リファレンス画像とのワープの算出
ステップＳ４において、ワーピング処理部（５２−ｉ）が、第ｉ番目の解像度でのガボールウェーブレットにより、第ｉ番目より前の解像度においてワープされた貼り付け画像の各画素における、リファレンス画像と間の位置ずれ量を、推定する。０＜ｉのとき、第（ｉ−１）番目の解像度においてワープされた貼り付け画像は、ｓｋ（ｕｋｉ−１（ｕ，ｖ）,ｖｋｉ−１（ｕ，ｖ））である。
位置ずれ量を計算する方法は、第０番目および第１番目の解像度の場合について述べた方法と同様である。この計算により、（ｍｋｉ（ｕ，ｖ）,ｎｋｉ（ｕ，ｖ））という、第ｉ番目の解像度の画像成分のみから推定した位置ずれ量が得られる。
この位置ずれ量をアラインすることにより、第ｉ番目の解像度においてワープされた貼り付け画像ｓｋ（ｕｋｉ（ｕ，ｖ）,ｖｋｉ（ｕ，ｖ））が得られる。
【００５４】
ステップＳ５において、ワーピング処理部（５２−ｉ）が、ステップＳ４で得られた位置ずれ量を用いて、貼り付け画像をワーピングする。そして、ワーピング処理部（５２−ｉ）は、ワーピングによって得られた貼り付け画像を、次の解像度に対応する貼り付け画像取得部に供給する。
【００５５】
第ｉ番目の解像度における（ａ）リファレンス画像の構築および（ｂ）リファレンス画像とのワープの算出については上に説明したとおりである。この処理を、第０番目の解像度から最高解像度Ｎｒｅｓ−１まで繰り返すことにより、正確に非線形的アラインメントを計算することができる。
【００５６】
なお、ベクトルｘ（矢印）で表される座標における上記のガボールウェーブレットｇｒ，φ（ｘ（矢印））は、式（７）および式（８）に示す通りである。
【００５７】
【数７】
0005460499.tif 000008
【００５８】
【数８】
0005460499.tif 000009
【００５９】
また、それをもつガウシアンｇｒ（ｘ（矢印））は、式（９）に示す通りである（ｒ＝１，２，・・・）。
【００６０】
【数９】
0005460499.tif 000010
【００６１】
そして、テクスチャマッピング部１４は、位置ずれのアライン済みの貼り付け画像をテクスチャ画像に貼り付ける。下の式（１０）は、貼り付け画像を貼り付けた後のテクスチャ画像の例を表す。
【００６２】
【数１０】
0005460499.tif 000011
【００６３】
式（１０）において、ｔ（ｕ，ｖ）は、貼り付け画像を貼り付けた後のテクスチャ画像の座標（ｕ，ｖ）における色値である。αｋ´（ｕ，ｖ）は、位置ずれをアラインした後の座標（ｕ，ｖ）におけるフレーム画像ｋ（０≦ｋ＜Ｎｆｒａｍｅｓ）に対応した方向の重みである。ｓｋ´（ｕ，ｖ）は、位置ずれをアラインした後の、フレーム画像ｋに対応した貼り付け画像である。ｔ０（ｕ，ｖ）は、テクスチャ画像の初期値である。テクスチャ画像の初期値を用いない場合は、一律にｔ０（ｕ，ｖ）＝０として式（１０）を用いればよい。そして、γは、テクスチャ画像の初期値の重みを調整するためのパラメータ値である。
このように、テクスチャマッピング部１４は、位置ずれをアラインした後の貼り付け画像を、適宜重み付けして加算し、テクスチャ画像に貼り付ける（合成する）計算を行なう。そして、テクスチャマッピング部１４内のテクスチャ画像書き込み部５５は、得られたテクスチャ画像をテクスチャ画像記憶部１５に書き込む。
【００６４】
［位置ずれ量を推定する方法］
次に、図４のステップＳ４において説明した、位置ずれを推定する計算方法の詳細について説明する。
ここで、まず「ジェット」（ｊｅｔ）について説明する。ジェットとは、ｕ−ｖ座標における画像上の１画素に対応する量である。座標（ｕ，ｖ）におけるジェットＪ（ｕ，ｖ）は、４０個の値Ｊｊ（ｕ，ｖ）  （但し、０≦ｊ＜４０，ｊは整数）の集合体である。
ここで、ｊは指標値であり、ｊは別の指標値μ（但し、０≦μ＜８，μは整数）およびν（但し、０≦ν＜５，νは整数）を用いて、ｊ＝μ＋８ν、と表される。
なお、νは、ガボールウェーブレットの周波数に関する指標値である。また、μは、ガボールウェーブレットの方向に関する指標値である。
【００６５】
ジェットを構成する上記のＪｊ（ｕ，ｖ）は、次の式（１１）で表される。
【００６６】
【数１１】
0005460499.tif 000012
【００６７】
なお、ベクトルｘ（矢印）は、座標（ｕ，ｖ）を示す。また、ψｊ（ｘ（矢印））は、次の式（１２）で表されるガボールカーネルである。
【００６８】
【数１２】
0005460499.tif 000013
【００６９】
上の式（１２）で表されるガボール関数は、ガウス包絡関数によって制約されており、またベクトルｋ（矢印）はウェーブベクトルである。このウェーブベクトルｋ（矢印）は、次の式（１３）で表される。
【００７０】
【数１３】
0005460499.tif 000014
【００７１】
なお、前記の指標値νを用いて表されるｋνは、次の式（１４）の通りである。
【００７２】
【数１４】
0005460499.tif 000015
【００７３】
また、前記の指標値μを用いて表されるθμは、次の式（１５）の通りである。
【００７４】
【数１５】
0005460499.tif 000016
【００７５】
上記のように定義されるＪｊ（ｕ，ｖ）は、次の式（１６）のように表すことができる。
【００７６】
【数１６】
0005460499.tif 000017
【００７７】
そして、上記のように定義されるジェットを用いて位置のずれ量を推定する。２つのジェット（ＪおよびＪ´）の間の類似度ＳΦは、次の近似式（１７）で表される。
【００７８】
【数１７】
0005460499.tif 000018
【００７９】
ここで、上記のジェット間の類似度ＳΦが最大となるように、ずれ量ベクトルｄ（矢印）＝（ｄｘ，ｄｙ）を求める。そのために式（１８）の条件を設定する。
【００８０】
【数１８】
0005460499.tif 000019
【００８１】
この条件を満たすようにずれ量ベクトルｄ（矢印）（Ｊ，Ｊ´）を解くと、次の式（１９）による解が得られる（但し、ΓｘｘΓｙｙ−ΓｘｙΓｙｘ≠０  の場合）。
【００８２】
【数１９】
0005460499.tif 000020
【００８３】
ここで得られたずれ量ベクトルが、当該解像度における位置ずれ量である。なお、上の式において、それぞれ、次の式（２０）〜（２４）の通りである。
【００８４】
【数２０】
0005460499.tif 000021
【００８５】
【数２１】
0005460499.tif 000022
【００８６】
【数２２】
0005460499.tif 000023
【００８７】
【数２３】
0005460499.tif 000024
【００８８】
【数２４】
0005460499.tif 000025
【００８９】
［第２の実施形態］
次に第２の実施形態について説明する。第２の実施形態は、第１の実施形態による画像処理装置の応用であり、顔画像をモデル化してデータベースに登録する顔画像処理装置である。以下では、本実施形態特有の事項を記載し、第１の実施形態と共通する事項については記載を省略する。
【００９０】
図５は、同実施形態による顔画像処理装置の機能構成を示すブロック図である。同図に示すように、顔画像処理装置１００（画像処理装置）は、画像データ記憶部１１０と、顔領域検出照合部１２０と、三次元推定部１３０と、レンダリング部１４０と、データベース登録部１５０と、顔特徴データベース部１６０とを含んで構成される。
同図における顔画像処理装置１００は、登録モードまたは認識モードいずれかのモードに設定されて動作する。顔画像処理装置１００は、人物の顔画像が含まれた、映像データの画像フレームまたは複数の静止画像データ（静止画像データも、以下では画像フレームと呼ぶ。）を入力ソースとして、画像フレームから顔画像領域を検出し、この顔画像領域から顔特徴データを生成して登録する処理（登録モード）または照合する処理（認識モード）を実行する。また、顔画像処理装置１００は、画像フレームに含まれない頭部姿勢の顔画像に対応する顔特徴データを近似合成して登録または照合する処理を実行する。
【００９１】
なお、入力ソースが映像データであるか複数の静止画像データであるかによって、本実施形態の処理に大きな差異は生じない。よって、本実施形態の以下の記載では、映像データの各画像フレームに含まれた人物の顔画像に基づいて顔特徴データを生成し、近似合成して、登録または照合する処理について説明する。入力ソースが静止画像データである場合における処理は、本質的には入力ソースが映像データである場合と同様である。
【００９２】
画像データ記憶部１１０は、登録対象人物の顔画像が含まれた映像データを記憶する。顔領域検出照合部１２０は、画像データ記憶部１１０から映像データを読み込み、画像フレームごとに顔画像領域を検出して複数の特徴点の位置を推定する。この推定処理は、時間的に連続した画像フレームについて行われるものである。そして、顔領域検出照合部１２０は、推定した位置の特徴点と顔特徴データベース部１６０に記憶された顔特徴データである可変テンプレート構造体（詳細は後述）とを照合し、特徴点の追跡結果または認識結果を出力する。つまり、顔領域検出照合部１２０は、特徴点ベースの顔画像照合アルゴリズムによって特徴点の追跡または認識を行うものであり、特徴点の追跡および顔領域の検出自体は既存技術を用いて行なえる。例えば、参考文献［Clippingdale, S., 伊藤崇之，“動画像の顔検出・追跡・認識への統一されたアプローチ，”電子情報通信学会技術研究報告，PRMU98-200，大阪大学，1999.］や、参考文献［Clippingdale, S., Ito, T., “A Unified Approach to Video Face Detection, Tracking and Recognition,” Proc. ICIP’99, Kobe, Japan, 1999.］などに記載されたＦＡＶＲＥＴシステムを適用することができる。ＦＡＶＲＥＴシステムは、映像（動画）にも対応でき、時間経過に伴って変化する頭部姿勢にも対応できる。ＦＡＶＲＥＴシステムにおけるデータ表現は、ＥＢＧＭアルゴリズムにおけるデータ表現（つまり、各特徴点の位置、およびその位置で計測されたガボールウェーブレット特徴）に基づいている。ＦＡＶＲＥＴシステムでは、複数の頭部姿勢への対応と、リアルタイム映像における動作とを実現するために、複数の頭部姿勢についての認識対象顔画像を顔画像データベースに登録し、各画像フレームでの特徴点の探索を、前画像フレームで推定した位置から開始するようにしている。つまり、ＦＡＶＲＥＴシステムは、特徴点の追跡処理を実行することによって探索範囲を削減している。
【００９３】
顔領域検出照合部１２０は、登録モードまたは認識モードいずれのモードに設定されている場合でも、画像フレームごとに顔画像領域から複数の特徴点の位置を推定してそれらの特徴点位置（画像における二次元座標値）を照合の結果として出力する。また、認識モードに設定されている場合は、顔領域検出照合部１２０は、顔特徴データベース部１６０に記憶された登録済人物ごとの顔特徴データとの類似度を計算し、類似度の最も高い顔特徴データに関するマッチスコアを出力する。このマッチスコアは、例えば、登録済人物の氏名又は登録済人物を特定するための名称（ニックネーム等）と、同人物の識別情報（識別番号等）と、計算された類似度とを関連付けた情報である。
【００９４】
図６は、顔領域検出照合部１２０が顔画像領域から推定した特徴点位置を模式的に示した図である。同図において、顔領域検出照合部１２０が推定する特徴点位置は、顔画像領域における目頭、目尻、および口元に相当する位置（それぞれ２箇所ずつ）、ならびに鼻元、鼻先、唇先に相当する位置（それぞれ1箇所ずつ）である。なお、顔領域検出照合部１２０は、上記の特徴点位置のうち、人物の頭部姿勢に応じて可視である部分の特徴点位置のみを推定する。
【００９５】
図５に戻り、三次元推定部１３０は、各特徴点の三次元位置を推定し、この推定位置に、ジェネリック（人物不特定）な三次元コンピュータグラフィックス顔メッシュモデル（三次元ＣＧ顔モデル，ジェネリックモデル）のメッシュ形状をワーピングさせる。このワーピングは、三次元推定部１３０が、推定された各特徴点の三次元位置に、三次元ＣＧ顔モデルにおけるこれら特徴点に相当するメッシュ頂点の三次元位置を合わせ、メッシュ形状を合わせ込んで修正三次元ＣＧ顔モデル（修正顔モデル）を生成する処理のことをいう。三次元ＣＧ顔モデルおよび修正三次元ＣＧ顔モデルは、メッシュで構成される多角形からなる立体を表わすモデルである。それらの多角形が、このモデルにおける頭部形状の表面を構成する。人の頭部形状によりこのモデルが表わす立体は、頭部全体にわたって大まかにはほぼ単調に凸状である。そして、三次元推定部１３０は、映像データから修正三次元ＣＧ顔モデルにテクスチャを貼り付けて、映像データに含まれた顔が適用されたＣＧ顔モデルを出力する。
【００９６】
同図に示すように、三次元推定部１３０は、位置・姿勢推定部１３１と、メッシュワーピング部１３２と、テクスチャマッピング部１３３と、顔モデル記憶部１３４と、メッシュ頂点割当情報記憶部１３５と、テクスチャ画像記憶部１３６と、画素割当情報記憶部１３７とを含んで構成される。
【００９７】
位置・姿勢推定部１３１は、顔領域検出照合部１２０で推定された、映像データの各画像フレームにおける特徴点位置である特徴点二次元座標値から、各特徴点の三次元位置である特徴点三次元座標値と画像フレームごとの頭部姿勢の角度データ（鉛直方向の軸を中心とする回転位置（角度）、もしくは水平方向の軸を中心とする回転位置（角度）、またはそれらの組み合わせ）とを対応付けて推定する。
【００９８】
メッシュワーピング部１３２は、位置・姿勢推定部１３１で推定された各特徴点の特徴点三次元座標値位置に、顔モデル記憶部１３４に記憶された三次元ＣＧ顔モデルのメッシュ頂点をワーピングさせて、修正三次元ＣＧ顔モデルを生成する。
【００９９】
メッシュ頂点割当情報記憶部１３５は、メッシュワーピング部１３２が三次元ＣＧ顔モデルのメッシュ頂点をワーピングさせる際に、各メッシュ頂点と、メッシュ頂点を頂点とする三角形との割当ての対応関係であるメッシュ頂点割当情報を記憶する。
図７は、メッシュ頂点割当情報記憶部１３５が記憶するメッシュ頂点割当情報のデータ構造を示した概略図である。同図に示すように、メッシュ頂点割当情報記憶部１３５は、表形式のデータであり、メッシュ頂点の三次元座標値と、そのメッシュ頂点が割当てられる三角形（メッシュが三角形以外の多角形を含んで構成される場合にも、後述するようにそれら多角形を適宜三角形に分割する）の識別情報とを関連付けて記憶する。この表における主キーは、メッシュ頂点の三次元座標値である。
【０１００】
テクスチャマッピング部１３３は、画像データ記憶部１１０に記憶された映像データの濃淡・色等の画像情報を含むテクスチャを、後述する重みの比率で、テクスチャ画像記憶部１３６に記憶されたＵＶテクスチャ画像（二次元顔テクスチャ画像）における顔の特徴点に対応する位置および少なくともその近傍部分のＵＶテクスチャ画像に合成して、修正三次元ＣＧ顔モデルに貼り付けることによりＣＧ顔モデルを生成する。ＵＶテクスチャ画像は、直交するＵ軸およびＶ軸による二次元平面における顔画像データである。ＵＶテクスチャ画像は、画素の位置（ｕ，ｖ）（但し、０≦ｕ≦１，０≦ｖ≦１）と三次元ＣＧ顔モデルのメッシュ頂点とが対応付けられて三次元ＣＧ顔モデルにマッピングされる。このマッピング処理の結果、修正三次元ＣＧ顔モデルのテクスチャ表面にはＲＧＢ各色による色彩および濃淡が表現される。
なお、テクスチャマッピング部１３３は、第１の実施形態で説明したテクスチャマッピング部１４と同等の構成および機能を内部に有している。そしてテクスチャマッピング部１３３は、後述するように、貼り付け画像をＵＶテクスチャ画像に貼り付ける際に、画素の位置ずれ量を算出して、算出された位置ずれ量を用いて画素位置をアラインする。
【０１０１】
画素割当情報記憶部１３７は、テクスチャマッピング部１３３がＵＶテクスチャ画像を貼り付ける際の、特徴点近傍のＵＶテクスチャ画像の画素位置と割り当てられる三角形との対応関係を表わす画素割当情報を記憶する。
図８は、画素割当情報記憶部１３７が記憶する画素割当情報のデータ構造を示した概略図である。同図に示すように、この画素割当情報は、表形式のデータであり、ＵＶテクスチャ画像上の画素の画素位置（ｕ，ｖ）と、当該画素が割当てられる三角形（メッシュが三角形以外の多角形を含んで構成される場合にも、後述するようにそれら多角形を適宜三角形に分割する）の識別情報とを関連付けて記憶する。なお、この表における主キーは、ＵＶ画像の画素位置である。
【０１０２】
レンダリング部１４０は、三次元推定部１３０から出力されたＣＧ顔モデルを所定の頭部姿勢に回転させ、レンダリング処理を行って合成顔画像モデルを生成する。レンダリング部１４０は、登録に必要な全ての頭部姿勢の合成顔画像モデルを生成する。この登録に必要な頭部姿勢の数は、例えば、登録対象人物の左右方向に０度から１８０度まで（顔正面が９０度の位置である。）を１０度刻みとした１９パターンそれぞれについて、水平方向を０度として、上下方向にそれぞれ０度，±１５度，±３０度の５パターンで、合計９５パターンである。
【０１０３】
データベース登録部１５０は、レンダリング部１４０でレンダリング処理した各合成顔画像モデルにおいて、可視である特徴点を中心にして、ガボールウェーブレット特徴（画像特徴情報）を所定数の解像度と所定数の方位とによって畳み込む処理を行う。そして、データベース登録部１５０は、登録人物を認識するために必要な顔特徴データである可変テンプレート構造体を生成して顔特徴データベース部１６０に記憶する。
図９は、データベース登録部１５０が生成する可変テンプレート構造体のデータ構造を示す概略図である。同図に示す可変テンプレート構造体は、登録人物ごとに、登録人物の氏名または登録人物を特定するための名称、および識別情報を含む人物識別情報を有する。また、各人物ごとに、頭部姿勢の個数分の頭部姿勢インデックス（角度データ）を有する。さらに、この頭部姿勢インデックスごとに、特徴点の個数分の特徴点情報を有する。  この特徴点情報は、特徴点番号（０から始まる整数）をキーとして、当該特徴点番号に対応する特徴点が可視であるか非可視であるかを示す可視性フラグと、その特徴点の特徴点二次元座標値（但し、可視性フラグが可視である場合にのみこの二次元座標値が示される。）と、所定数の解像度（ウェーブレットサイズ）×所定数の方位におけるガボールウェーブレット特徴（画像情報）の値とを関連付けて保持するものである。
なお、頭部姿勢インデックスは、例えば、頭部の鉛直方向（ｙ方向）の軸を中心とする回転位置（角度）および水平方向（ｘ方向）の軸を中心とする回転位置（角度）の組み合わせを表わす指標データである。但し、頭部姿勢インデックスがそれらの角度そのもののデータであってもよい。
【０１０４】
例えば、データベース登録部１５０は、登録人物一人あたり、１個の人物識別情報と、例として前述した９５種類の頭部姿勢に対応する頭部姿勢インデックスとを可変テンプレート構造体のメンバとして作成する。さらに、各頭部姿勢に対して、図６に示した９個の特徴点（特徴点番号が、０から８まで）ごとの特徴点情報をメンバとして作成する。さらに、それら特徴点の各々に対して、可視性フラグと特徴点二次元座標値の各メンバを作成するとともに、５種類の解像度×８方向（２２．５度ごと）で４０個のガボールウェーブレット特徴の値のデータをとのメンバをとして作成する。
【０１０５】
次に、顔画像処理装置１００の各部の動作について説明する。
［顔領域検出・照合処理］
図１０は、顔領域検出照合部１２０が映像データの各画像フレームから顔画像領域を検出して顔特徴データと照合し、追跡結果または認識結果を出力する手順を示すフローチャートである。ステップＳ６０１において、顔領域検出照合部１２０は、モードを登録モードまたは認識モードいずれかに設定する。このモード設定は、例えば、顔画像処理装置１００の操作部（不図示）の操作による指定によって行われる。
【０１０６】
次に、ステップＳ６０２において、顔領域検出照合部１２０は、画像データ記憶部１１０に記憶された映像データの画像フレームを時刻情報の古い順に読み込む。
次に、ステップＳ６０３において、顔領域検出照合部１２０は、画像フレームを読み込んだとき（Ｓ６０３：ＹＥＳ）はステップＳ６０４の処理に移り、画像フレームを読み込まなかったとき（Ｓ６０３：ＮＯ）はこのフローチャートの処理を終了する。
【０１０７】
ステップＳ６０４において、顔領域検出照合部１２０は、読み込んだ画像フレームから顔画像領域を検出する。このとき顔領域検出照合部１２０は、例えば、画像フレームをスキャンして色情報を取得し、人間の身体の色に対応する特定の色の画素を抽出することによって顔画像領域を検出する方法や、目、鼻、口等の顔の部位を形状として認識する周知の顔認識アルゴリズムを用いて顔画像領域を検出する方法、またはこれらを組み合わせて用いる方法を使用する。
【０１０８】
次に、ステップＳ６０５において、顔領域検出照合部１２０は、顔画像領域から特徴点位置を推定する。特徴点は図６に示したものである。なお、特徴点位置の部位が非可視である場合は、顔画像領域検出照合部１２０はその特徴点位置を推定しない。顔領域検出照合部１２０による特徴点位置の推定処理は、例えば次のようにして行う。顔領域検出照合部１２０は、現画像フレームにおける特徴点が前画像フレームにおける特徴点と同位置またはその近傍に存在するとの仮定に基づき、同位置を初期位置として、その初期位置を中心とした所定範囲内の近傍を探索する。過去の画像フレームにおいて推定された特徴点位置は、顔特徴データベース部１６０の可変テンプレート構造体に特徴点時次元座標値として登録されているため、顔画像領域検出照合部１２０は、その可変テンプレート構造体から前フレームの特徴点二次元座標値を読み出すことにより初期位置を設定することができる。顔画像領域検出照合部１２０は、ガボールウェーブレット特徴を解像度の低い領域から高い領域まで計測することによって探索を行う。ガボールウェーブレット特徴は複素数であり、実部のコサイン波形と虚部のサイン波形とは位相が９０度ずれたものである。そこで、顔領域検出照合部１２０は、実部および虚部のそれぞれについての係数を用いて位置ずれを推定し、位置をずらしながら繰り返し探索処理を行う。そして、位置ずれが収束した時点で探索処理を終了させる。このときの位置が、類似度が最大となる特徴点位置であると推定され、すなわち推定された特徴点二次元座標値である。１画像フレームあたりの顔画像領域中に推定された特徴点の個数をＮＦＰ個とする。
【０１０９】
次に、ステップＳ６０６において、顔領域検出照合部１２０は、ステップＳ６０１の処理において設定されたモードに応じて処理を分ける。設定モードが登録モードである場合（Ｓ６０６：登録モード）はステップＳ６０７の処理に移り、設定モードが認識モードである場合（Ｓ６０６：認識モード）はステップＳ６０８の処理に移る。
【０１１０】
ステップＳ６０７において、登録モードの顔領域検出照合部１２０は、ステップＳ６０５の処理で推定されたＮＦＰ個の特徴点位置である特徴点二次元座標値を出力してステップＳ６０２の処理に戻る。一方、ステップＳ６０８において、認識モードの顔領域検出照合部１２０は、ステップＳ６０５の処理で推定されたＮＦＰ個の特徴点二次元座標値を出力するとともに、類似度の最も高い顔特徴データに関するマッチスコアを生成して出力し、ステップＳ６０２の処理に戻る。
【０１１１】
［特徴点の三次元位置・頭部姿勢推定処理］
図１１は、映像データの各画像フレームにおける二次元の特徴点位置（特徴点二次元座標値）から、三次元の特徴点位置と画像フレームごとの頭部姿勢とを対応付けて推定する処理の手順を示すフローチャートである。ステップＳ７０１において、位置・姿勢推定部１３１は、顔領域検出照合部１２０から、Ｎｆｒａｍｅｓ枚の画像フレームそれぞれについてのＮＦＰ個の特徴点二次元座標値を取り込む。このとき、ｋ枚目（０≦ｋ＜Ｎｆｒａｍｅｓ）の画像フレームにおけるｊ番目（０≦ｊ＜ＮＦＰ）の特徴点二次元座標値は、下の式（２５）に示す要素（ｘｋｊ，ｙｋｊ）を有するベクトルｙ（ボールド体）ｋｊ（ハット）で示される。ここで、要素（ｘｋｊ，ｙｋｊ）は、ｋ枚目の画像フレームを直交するｘ軸およびｙ軸による二次元平面で表したときのｊ番目の特徴点のｘ座標推定値，ｙ座標推定値に相当する。すなわち、式（２５）におけるｙ（ボールド体）ｋｊは実数（Ｒ）の二次元ベクトルである。なおここで、「（ボールド体）」という記載は、その記載直前の文字がボールド体の書体であることを指し、当該表現が行列またはベクトルであることを意味している。また、「（ハット）」という記載は、同様に、当該表現の値が推定値であることを意味している。
【０１１２】
【数２５】
0005460499.tif 000026
【０１１３】
次に、ステップＳ７０２において、位置・姿勢推定部１３１は、ｋ枚目（０≦ｋ＜Ｎｆｒａｍｅｓ）の画像フレームにおけるｊ番目（０≦ｊ＜ＮＦＰ）の特徴点が可視であるかまたは非可視であるかを推定した可視性ｖｋｊ（ハット）∈｛０，１｝を取得する。値は、非可視が０であり可視が１である。登録モードにおいては、画像フレームごとの可視性ｖｋｊ（ハット）は、特徴点位置が見えるか否かにより外部から入力される。
【０１１４】
次に、ステップＳ７０３において、位置・姿勢推定部１３１は、顔モデル記憶部１３４から、三次元ＣＧ顔モデルにおけるｊ番目（０≦ｊ＜ＮＦＰ）特徴点に対応するメッシュ頂点の位置であるメッシュ頂点三次元座標値ｍ（ボールド体）ｊ∈Ｒ３（但し、０≦ｊ＜ＮＦＰ）を読み込む。
【０１１５】
次に、ステップＳ７０４において、位置・姿勢推定部１３１は、ステップＳ７０１からＳ７０３までの処理で得られたデータに基づいて、映像データにおける各特徴点の三次元位置である特徴点三次元座標値と画像フレームごとの頭部姿勢とを対応付けて推定する。この推定処理は、公知文献である「サイモン  クリピングデル、藤井真人、八木伸行、“遮蔽とノイズのある二次元観測データから三次元顔特徴点推定の一検討”、電子情報通信学会技術研究報告、ＰＲＭＵ２００８−４２、２００８／０６、ｐｐ．１３３−１３８．」に記載された二次元特徴データから三次元特徴データの推定処理を適用する。または、後に記載する「顔の三次元モデル推定処理」を適用する。
【０１１６】
次に、ステップＳ７０５において、位置・姿勢推定部１３１は、映像データにおけるＮＦＰ個の特徴点三次元座標値ｍ（ボールド体）ｊ（ハット）∈Ｒ３（但し、０≦ｊ＜ＮＦＰ）と、ｋ枚目の画像フレームにおける頭部姿勢Ｑ（ボールド体）ｋ（ハット）∈Ｒ２×３（但し、０≦ｋ＜Ｎｆｒａｍｅｓ）と、ｋ枚目の画像フレームにおける二次元の特徴点の重心ｙ（ボールド体）ｋ（バー）∈Ｒ２（但し、０≦ｋ＜Ｎｆｒａｍｅｓ）とを出力する。
【０１１７】
ステップＳ７０４の処理における推定アルゴリズムは、非線形条件付最小自乗法推定クラスに属するものであり、式（２６）に示す自乗誤差を式（２７）に示す直交性条件下で最小化するものである。
【０１１８】
【数２６】
0005460499.tif 000027
【０１１９】
【数２７】
0005460499.tif 000028
【０１２０】
なお、式（２７）において、Ｉ２は二次元単位行列であり、λは定数である。
【０１２１】
［メッシュワーピング処理］
次に、メッシュワーピング部１３２は、推定された各特徴点の特徴点三次元座標値ｍ（ボールド体）ｊ（ハット）∈Ｒ３（但し、０≦ｊ＜ＮＦＰ）で示される位置に、顔モデル記憶部１３４に記憶された三次元ＣＧ顔モデルのメッシュ頂点三次元座標値ｘ（ボールド体）ｎ∈Ｒ３（但し、０≦ｎ＜ＮＶＴ）で示されるメッシュ頂点をワーピングさせることによって修正三次元ＣＧ顔モデルを生成する。
図１２は、メッシュワーピング部１３２が実行するメッシュワーピング処理の手順を示したフローチャートである。また、図１３は、三次元ＣＧ顔モデルのメッシュを示す図である。以下、図１２のフローチャートの手順に沿って説明する。
【０１２２】
ステップＳ８０１において、メッシュワーピング部１３２は、特徴点に対応する三次元ＣＧ顔モデルのメッシュ頂点（特徴点頂点と呼ぶ。）と、三次元ＣＧ顔モデルと外界との境界部分に位置する所定数のメッシュ頂点（固定頂点と呼ぶ。）とを指定する。そして、メッシュワーピング部１３２は、これらのメッシュ頂点を頂点とするＮｔｒｉ個の三角形ｉ（但し、０≦ｉ＜Ｎｔｒｉ）を設定する。これらの三角形の頂点の座標はｘ（ボールド体）ｉ，ｌ，（但し、０≦ｉ＜Ｎｔｒｉ，０≦ｌ（エル）＜３）である。
図１３は、特徴点頂点（色抜きの丸印）と、固定頂点（ハッチングの丸印）と、これらを頂点とする三角形とを、模式的に示している。
【０１２３】
次に、ステップＳ８０２において、メッシュワーピング部１３２は、下の式（２８）により、三次元ＣＧ顔モデルのｎ番目のメッシュ頂点三次元座標値ｘ（ボールド体）ｎ∈Ｒ３，０≦ｎ＜ＮＶＴを、ステップＳ８０１の処理において設定した三角形ｉ（０≦ｉ＜Ｎｔｒｉ）のうちのｉｍｉｎ（ｎ）番目（但し、０≦ｎ＜Ｎｖｔ）の三角形に割当てる。そして、メッシュワーピング部１３２は、メッシュ頂点三次元座標値とそれが割当てられる三角形の識別情報とを、メッシュ頂点割当情報記憶部１３５に記憶されたメッシュ頂点割当情報に書き込む。メッシュワーピング部１３２は、２回目以降の処理において既に計算されたメッシュ頂点が再度選択された場合にメッシュ頂点割当情報記憶部１３５を参照するようにすれば、再度計算処理を行う必要がなく効率的な処理を行うことができる。
【０１２４】
【数２８】
0005460499.tif 000029
【０１２５】
なお、式（２８）における関数ｆ（ｘ）はペナルティ関数であり、メッシュ頂点が三角形内に含まれる場合にはこのペナルティ関数の値は０である。
【０１２６】
次に、ステップＳ８０３において、メッシュワーピング部１３２は、ｎ番目のメッシュ頂点三次元座標値ｘ（ボールド体）ｎ，０≦ｎ＜ＮＶＴを、下の式（２９）で示すｎ番目の修正メッシュ頂点三次元座標値ｘ（ボールド体）ｎ（ハット）（０≦ｎ＜ＮＶＴ）に置き換える。
【０１２７】
【数２９】
0005460499.tif 000030
【０１２８】
式（２９）において、ｐ＝ｉｍｉｎ（ｎ）であり、ｘ（ボールド体）ｐ，ｌ（ハット），０≦ｌ（エル）＜３は、前述した特徴点の三次元位置・頭部姿勢推定処理において推定した特徴点三次元座標値ｍ（ボールド体）ｊ（ハット），０≦ｊ＜ＮＦＰに対応するメッシュ頂点および固定頂点の三次元座標値である。
【０１２９】
図１４は、三次元ＣＧ顔モデルのメッシュ頂点のワーピング処理を説明するための図である。同図は、前述した特徴点の三次元位置・頭部姿勢推定処理において推定した特徴点および固定頂点のうち３個のメッシュ頂点三次元座標値ｘ（ボールド体）ｐ，ｌ（ｌ（エル）∈｛０，１，２｝）が、映像データから推定された修正メッシュ頂点三次元座標値ｘ（ボールド体）ｐ，ｌ（ハット），ｌ（エル）∈｛０，１，２｝に置き換えられ、さらに、これら置き換えられた特徴点頂点および固定頂点に合わせて、一般メッシュ頂点のメッシュ頂点三次元座標値ｘ（ボールド体）ｎが修正メッシュ頂点三次元座標値ｘ（ボールド体）ｎ（ハット）に置き換えられた様子を示す。同図において、メッシュ頂点三次元座標値ｘ（ボールド体）ｐ，１は固定頂点であり、メッシュ頂点三次元座標値ｘ（ボールド体）ｐ，ｌ，ｌ（エル）∈｛０，２｝は特徴点に対応するメッシュ頂点である。
【０１３０】
［テクスチャマッピング処理］
映像データの顔画像を三次元ＣＧ顔モデルに合わせてワーピングして生成した修正三次元ＣＧ顔モデルにテクスチャを貼り付ける（マッピングする）と、そのマッピング後の修正三次元ＣＧ顔モデルを任意の頭部姿勢でレンダリングしたときに、登録対象人物の顔テクスチャがその頭部姿勢で映ることになる。レンダリングされた修正三次元ＣＧ顔モデルの表面に映るテクスチャの質感は、頭部姿勢や照明条件等の他、ＵＶテクスチャ画像により定められるため、特定の人物の顔にモデルを合わせるためには、以下のようにしてＵＶテクスチャ画像の修正を行う。
【０１３１】
テクスチャマッピングされた三次元ＣＧ顔モデルとＵＶテクスチャ画像との関係は、既に図３に示した通りである。同図（ａ）は、三次元ＣＧ顔モデルにテクスチャマッピングを施した状態を示すものであり、同図（ｂ）は、ＵＶテクスチャ画像にメッシュを重ね合わせた図である。同図が示すように、ＵＶテクスチャ画像にメッシュを重ね合わせると、ｎ番目のメッシュ頂点三次元座標値ｘ（ボールド体）ｎ（０≦ｎ＜ＮＶＴ）とＵＶテクスチャ画像上の画素位置である座標値（ｕｎ，ｖｎ）（０≦ｕｎ≦１，０≦ｖｎ≦１，０≦ｎ＜ＮＶＴ）とが関係付けられる。具体的には、ｎ番目のメッシュ頂点三次元座標値ｘ（ボールド体）ｎのデータが、ＵＶテクスチャ画像上の画素の座標値（ｕｎ，ｖｎ）を、ＵＶテクスチャ画像上へのポインタとして関連付けて有していることによって、これら両者が関係付けられる。
【０１３２】
図１５は、ＵＶテクスチャ画像の修正処理の手順を示すフローチャートである。ステップＳ１２０１において、テクスチャマッピング部１３３は、三次元ＣＧ顔モデルのメッシュを構成する四角形以上の多角形を三角形に分割する。つまり、テクスチャマッピング部１３３は、三次元ＣＧ顔モデルのメッシュ頂点三次元座標値ｘ（ボールド体）ｊ（０≦ｊ＜Ｎ）に対応する頂点によって構成されるＮ角形を、｛ｘ０，ｘ１，ｘ２｝，｛ｘ０，ｘ２，ｘ３｝，・・・，｛ｘ０，ｘＮ−２，ｘＮ−１｝（ｘはそれぞれボールド体）を頂点とした（Ｎ−２）個の三角形に分割する。これによって、テクスチャマッピング部１３３が三次元ＣＧ顔モデル上に設ける三角形の個数をＮｕｖｔｒｉ個としたとき、ｉ番目の三角形｛ｘｉ，０，ｘｉ，１，ｘｉ，２｝（ｘはそれぞれボールド体）（０≦ｉ＜Ｎｕｖｔｒｉ）に、ＵＶテクスチャ画像におけるｉ番目の三角形｛（ｕｉ，０，ｖｉ，０），（ｕｉ，１，ｖｉ，１），（ｕｉ，２，ｖｉ，２）｝が対応付けられる。
【０１３３】
次に、ステップＳ１２０２において、テクスチャマッピング部１３３は、ＵＶテクスチャ画像において、特徴点に対応するメッシュ頂点のうちの、１つのメッシュ頂点に対応する画素およびその近傍（半径＝Ｒ画素の範囲内）にある画素を選択する（それらの画素の座標を（ｕ，ｖ）で表わす）。
次に、ステップＳ１２０３において、画素（ｕ，ｖ）が選択されている場合（ステップＳ１２０３：ＹＥＳ）は、ステップＳ１２０４の処理に移る。一方、画素（ｕ，ｖ）が選択されていない場合（ステップＳ１２０３：ＮＯ）は、ステップＳ１２１０の処理に移る。
【０１３４】
ステップＳ１２０４において、テクスチャマッピング部１３３は、選択された画素（ｕ，ｖ）を、式（３０）によってＵＶテクスチャ画像上のｉｍｉｎ（ｕ，ｖ）番目の三角形に割当てる。
【０１３５】
【数３０】
0005460499.tif 000031
【０１３６】
テクスチャマッピング部１３３は、これらの各画素（ｕ，ｖ）と、その画素に割当てられた三角形の番号ｉｍｉｎ（ｕ，ｖ）とを、画素割当情報記憶部１３７に記憶される画素割当情報に書き込む。テクスチャマッピング部１３３は、２回目以降の処理において既に計算された画素（ｕ，ｖ）が再度選択された場合に画素割当情報記憶部１３７を参照するようにすれば、再度計算処理を行う必要がなく効率的な処理を行うことができる。
【０１３７】
ここで、ｉｍｉｎ（ｕ，ｖ）を「ｉｍｉｎ」と表記する（以後において同様）。ステップＳ１２０４の処理で画素（ｕ，ｖ）が割り当てられたｉｍｉｎ番目の三角形の頂点を（ｕｉｍｉｎ，ｌ，ｖｉｍｉｎ，ｌ）（ｌ（エル）＝０，１，２）とし、これらが対応付けられた修正メッシュ頂点三次元座標値をｘ（ボールド体）ｉｍｉｎ，ｌ（ハット）（ｌ（エル）＝０，１，２）とし、それらに対応する三次元ＣＧ顔モデルの頂点における表面法線をｎ（ボールド体）ｉｍｉｎ，ｌ（ｌ（エル）＝０，１，２）とする。
【０１３８】
次に、ステップＳ１２０５において、テクスチャマッピング部１３３は、映像データの各画像フレームにおける射影位置を推定する。具体的には、テクスチャマッピング部１３３は、式（３１）により、修正メッシュ頂点三次元座標値ｘ（ボールド体）ｉｍｉｎ，ｌ（ハット）（ｌ（エル）＝０，１，２）を、前述した特徴点の三次元位置・頭部姿勢推定処理のステップＳ７０５の処理において推定した頭部姿勢Ｑ（ボールド体）ｋ（ハット），０≦ｋ＜Ｎｆｒａｍｅｓに基づいて変換し、これに映像データのｋ枚目の画像フレームにおける二次元の特徴点の重心ｙ（ボールド体）ｋ（バー），０≦ｋ＜Ｎｆｒａｍｅｓを加算して射影位置ｒ（ボールド体）ｉｍｉｎ，ｌｋ（ハット）を求める。
【０１３９】
【数３１】
0005460499.tif 000032
【０１４０】
この射影位置ｒ（ボールド体）ｉｍｉｎ，ｌｋ（ハット）は、遮蔽されない（可視である）場合の、映像データのｋ枚目の画像フレームに当該頂点が射影される位置の推定値である。
【０１４１】
次に、ステップＳ１２０６において、テクスチャマッピング部１３３は、ＵＶテクスチャ画像上の画素の、映像データの各画像フレームにおける射影位置を推定する。具体的には、テクスチャマッピング部１３３は、ステップＳ１２０５の処理で求めた射影位置ｒ（ボールド体）ｉｍｉｎ，ｌｋ（ハット）の、ステップＳ１２０４の処理で求めたｂ（ボールド体）ｉｍｉｎ＝ｂ（ボールド体）ｉｍｉｎ（ｕ，ｖ）による重み付組み合わせｒ（ボールド体）ｋ（ｕ，ｖ）（ハット）を下の式（３２）のように計算し、ＵＶテクスチャ画像上の画素（ｕ，ｖ）に対応する、映像データのｋ枚目の画像フレームにおけるＲＧＢ値ｐ（ボールド体）ｋ（ｒ（ボールド体）ｋ（ｕ，ｖ）（ハット））（０≦ｋ＜Ｎｆｒａｍｅｓ）を求める。このＲＧＢ値ｐ（ボールド体）ｋ（ｒ（ボールド体）ｋ（ｕ，ｖ）（ハット））は、元の画像フレームに含まれていた濃淡・色彩情報である。
【０１４２】
【数３２】
0005460499.tif 000033
【０１４３】
次に、ステップＳ１２０７において、テクスチャマッピング部１３３は、三次元ＣＧ顔モデルにおけるＵＶテクスチャ画像の画素（ｕ，ｖ）に対応する位置での表面法線を推定する。具体的には、テクスチャマッピング部１３３は、表面法線ｎ（ボールド体）ｉｍｉｎ，ｌ（ｌ（エル）＝０，１，２）の、ステップＳ１２０４の処理で求めたｂ（ボールド体）ｉｍｉｎ＝ｂ（ボールド体）ｉｍｉｎ（ｕ，ｖ）による重み付組み合わせｎ（ボールド体）（ｕ，ｖ）（ハット）を下の式（３３）のように計算する。
【０１４４】
【数３３】
0005460499.tif 000034
【０１４５】
次に、ステップＳ１２０８において、テクスチャマッピング部１３３は、映像データのｋ枚目の画像フレームにおける頭部姿勢Ｑ（ボールド体）ｋ（ハット）に基づいて回転された表面法線であるＱ（ボールド体）ｋ（ハット）ｎ（ボールド体）（ｕ，ｖ）（ハット）と視線の光軸（カメラの光軸）［００１］Ｔとの間の角度であるθｋ（ｕ，ｖ）（ハット）を用いて、下の式（３４）によって方向の重みαｋ（ｕ，ｖ）を計算する。なお、視線の光軸とは、画像フレームに映る頭部姿勢Ｑ（ボールド体）ｋ（ハット）を見る仮想的な観察者の視線、または頭部姿勢Ｑ（ボールド体）ｋ（ハット）を撮像する仮想的なカメラの撮像レンズの光軸のことである。
【０１４６】
【数３４】
0005460499.tif 000035
【０１４７】
方向の重みαｋ（ｕ，ｖ）は、式（３４）のｍの値をパラメータ（第２のパラメータ）設定によって調整できるようにする。このパラメータの調整により、映像データのｋ枚目の画像フレームにＵＶテクスチャ画像の画素（ｕ，ｖ）が映る位置における表面法線Ｑ（ボールド体）ｋ（ハット）ｎ（ボールド体）（ｕ，ｖ）（ハット）と視線の光軸（カメラの光軸）との、角度に対する方向の重みαｋ（ｕ，ｖ）の変化度合いを可変にすることができる。
【０１４８】
一般的に、三次元コンピュータグラフィックスのレンダリング処理において、三次元モデルの表面のある箇所が遮蔽されているか否かを判定するためのＺバッファ計算の負担は大きい。しかしながら、本実施形態におけるテクスチャマッピング処理においては、人物の顔の形状がおおよそ凸面形状を有していることにより、上記の方向の重みαｋ（ｕ，ｖ）を用いることによって、ＵＶテクスチャ画像上の画素（ｕ，ｖ）の映像データの各画像フレームに映る位置ｒ（ボールド体）ｋ（ｕ，ｖ）（ハット）（０≦ｋ＜Ｎｆｒａｍｅｓ）が遮蔽されているか否かの計算を省略することができる。すなわち、方向の重みαｋ（ｕ，ｖ）が大きい程、当該頭部姿勢における当該位置ｒ（ボールド体）ｋ（ｕ，ｖ）（ハット）がより正対に近い形でカメラに向いており、よって当該位置が遮蔽されていない確率が高い。また、その方向からずれるに従って、方向の重みαｋ（ｕ，ｖ）の値が単調に減少していく。
方向の重みのこのような性質上、テクスチャマッピング部１３３は、三次元ＣＧ顔モデルに対する視線の光軸と三次元ＣＧ顔モデルの表面法線との角度に基づき、画像フレームに含まれるテクスチャをＵＶテクスチャ画像にマッピングする際の方向の重みαｋ（ｕ，ｖ）を調整することが好ましい。このようにすることにより、テクスチャの解像度を高く維持することができる。
【０１４９】
次に、ステップＳ１２０９において、テクスチャマッピング部１３３は、前述した特徴点の三次元位置・頭部姿勢推定処理のステップＳ７０４の処理において推定した特徴点三次元座標値ｍ（ボールド体）ｊ（ハット），０≦ｊ＜ＮＦＰに対応するメッシュ頂点に対応付けられたＵＶテクスチャ画像上の画素位置（ｕｊ，ｖｊ），０≦ｊ＜ＮＦＰへの、ＵＶテクスチャ画像におけるユークリッド距離による距離の重みδ（ｕ，ｖ）を下の式（３５）により計算する。
【０１５０】
【数３５】
0005460499.tif 000036
【０１５１】
距離の重みδ（ｕ，ｖ）は、式（３５）のｎの値をパラメータ（第１のパラメータ）設定によって調整できるようにする。このパラメータの調整により、ＵＶテクスチャ画像上の特徴点からの距離が遠いほど距離の重みδ（ｕ，ｖ）が小さくなるときに、距離に対する距離の重みδ（ｕ，ｖ）の変化度合いを可変にすることができる。
なお、三次元推定部１３０は、各々の画素についてステップＳ１２０２からＳ１２０９までの処理で計算した結果のデータをメモリに記憶させておく。そして、ステップＳ１２０９の処理が終了すると、ステップＳ１２０２に戻る。
【０１５２】
ステップＳ１２０３からステップＳ１２１０に進んだ場合には、ステップＳ１２１０において、テクスチャマッピング部１３３は、距離の重みδ（ｕ，ｖ）および方向の重みαｋ（ｕ，ｖ）を用いてＵＶテクスチャ画像上の画素（ｕ，ｖ）におけるＲＧＢベクトル値を更新する。具体的には、テクスチャマッピング部１３３は、画素（ｕ，ｖ）におけるＲＧＢベクトルｔ（ボールド体）（ｕ，ｖ）を式（３６）によって計算（合成）し、画素（ｕ，ｖ）における初期のテクスチャ値ｔ（ボールド体）０（ｕ，ｖ）をｔ（ボールド体）（ｕ，ｖ）で更新する。
【０１５３】
このとき、テクスチャマッピング部１３３（テクスチャ画像書き込み部）は、既に第１の実施形態において述べた方法と同様の方法で、低解像度から高解像度に順次、既に得られている貼り付け画像ｒ（ボールド体）ｋ（ｕ，ｖ）（ハット）を用いて所定の解像度によるリファレンス画像を生成し、そのリファレンス画像と各貼り付け画像とに基づき、貼り付け画像の画素の位置ずれ量を算出し、そして、得られた位置ずれ量を用いて画素の位置をアラインする。このとき、既に計算されている重み値、つまりフレーム画像ごとの各画素における方向の重みαｋ（ｕ，ｖ）を適宜、用いる。そして低解像度から最高解像度まで順次上記のアラインメント処理を行なうことは、つまり、貼り付け画像ｒ（ボールド体）ｋ（ｕ，ｖ）（ハット）の画素（ｕ，ｖ）の各画素を、ｒ（ボールド体）ｋ（ｕ＋ｍｋ（ｕ，ｖ），ｖ＋ｎｋ（ｕ，ｖ））（ハット）にアラインすることである。以下の、テクスチャ画像への貼り付けの処理では、アラインされた後の位置を再び（ｕ，ｖ）として表しながら説明する。
【０１５４】
【数３６】
0005460499.tif 000037
【０１５５】
式（３６）おいて、ｔ（ボールド体）０（ｕ，ｖ）は、三次元ＣＧ顔モデル上のＵＶテクスチャ画像の画素（ｕ，ｖ）における初期ＲＧＢベクトル値（テクスチャ値）である。定数γは、このｔ（ボールド体）０（ｕ，ｖ）と、映像データから三次元ＣＧ顔モデルに貼り付けるテクスチャとのバランスを調整するものである。ｗ（ボールド体）（ｕ，ｖ）は、映像データの平均輝度をｔ（ボールド体）０（ｕ，ｖ）の平均輝度に合わせるための調整量である。この調整は、例えば、ヒストグラムイコライゼーション等の前処理によって、映像データの輝度を三次元ＣＧ顔モデルのテクスチャの輝度に合わせるようにする。
【０１５６】
また、式（３６）に示すように、テクスチャマッピング部１３３は、ｋ番目の画像フレームにおけるＲＧＢ値ｐ（ボールド体）ｋ（ｒ（ボールド体）ｋ（ｕ，ｖ）（ハット））に、方向の重みαｋ（ｕ，ｖ）を乗じる計算を行っている。つまり、テクスチャマッピング部１３３は、元の画像フレームに含まれる濃淡・色彩情報を二次元顔テクスチャ画像にマッピングする際に、この方向の重みによる調整を行なっている。
同じく、テクスチャマッピング部１３３は、Ｎｆｒａｍｅｓ枚の画像フレームについてのＲＧＢ値の総和（但し、上記の方向の重みで調整したもの）に、距離の重みδ（ｕ，ｖ）を乗じる計算を行っている。つまり、テクスチャマッピング部１３３は、元の画像フレームに含まれる濃淡・色彩情報を二次元顔テクスチャ画像にマッピングする際に、この距離の重みによる調整を行なっている。
前述の通り、式（３４）のｍの値をパラメータ（第２のパラメータ）設定によって調整可能としており、これにより、三次元ＣＧ顔モデルの表面法線と視線の光軸（カメラの光軸）とがなす角度に対する方向の重みαｋ（ｕ，ｖ）の変化度合いを可変としている。また、式（３５）のｎの値をパラメータ（第１のパラメータ）設定によって調整可能としており、これにより、ＵＶテクスチャ画像上の特徴点からの距離に対する距離の重みδ（ｕ，ｖ）の変化度合いを可変としている。このようにｍとｎの両方を可変とした場合に、両者の重みのバランスを調整することができる。例えば、角度に対する方向の重みの変化度合いが比較的なだらかになるように調整した場合、表面法線と視線の光軸がなす角度がある程度大きくても、単なるＵＶテクスチャ画像の値だけではなく、現実に撮像した結果である画像フレームにおけるＲＧＢ値がある程度反映された特徴量をデータベースに登録することができる。
【０１５７】
［レンダリング処理］
レンダリング部１４０は、三次元推定部１３０で修正した修正三次元ＣＧ顔モデルを所定の頭部姿勢（θｙ，θｘ１）に回転させ、レンダリング処理を行って合成顔画像モデルを生成する。なお、θｙは顔の鉛直方向の軸を中心とする角度、θｘ１は顔の水平方向の軸を中心とする角度を示す。レンダリング部１４０は、三次元ＣＧ顔モデルの鉛直方向の軸を中心とした回転、次に水平方向の軸を中心とした回転を行う。よって、鉛直方向の回転軸は三次元ＣＧ顔モデルのｙ軸であり、水平方向の回転軸は水平方向であり且つ顔正面と平行な軸である。即ち、水平方向の回転軸そのものが、鉛直方向の回転軸を中心とする回転によって回転する。
【０１５８】
具体的には、レンダリング部１４０は、特徴点三次元座標値ｍ（ボールド体）ｊ（ハット）∈Ｒ３，０≦ｊ＜ＮＦＰを推定した各特徴点が、頭部姿勢（θｙ，θｘ１）でレンダリングされた画像Ｒθｙ，θｘ１（ｚ（ボールド体）），ｚ（ボールド体）∈Ｒ２に見えるか否かを示す可視性ｖ（ボールド体）θｙ，θｘ１ｊ∈｛０，１｝（０≦ｊ＜ＮＦＰ）と、ｖ（ボールド体）θｙ，θｘ１ｊ＝１（可視）である場合に、その特徴点が画像Ｒθｙ，θｘ１（ｚ（ボールド体））に映る位置ｚ（ボールド体）θｙ，θｘ１ｊとを計算してレンダリング処理を行う。つまり、レンダリング部１４０は、特徴点の二次元座標値データを算出する。
【０１５９】
［データベース登録処理］
データベース登録部１５０は、レンダリング部１４０がレンダリング処理した画像Ｒθｙ，θｘ１（ｚ（ボールド体））上の可視である（ｖ（ボールド体）θｙ，θｘ１ｊ＝１）特徴点の座標ｚ（ボールド体）θｙ，θｘ１ｊにおける、ガボールウェーブレット特徴ｆθｙ，θｘ１ｊ（ｒ，θ）を、Ｎｒｅｓ個の解像度ｒ∈｛ｒ０，ｒ１，・・・，ｒＮｒｅｓ−１｝と、Ｎｏｒｎ個の方位φ∈｛φ０，・・・，φＮｏｒｎ−１｝とによる一点畳み込み計測を式（３７）によって行う。
【０１６０】
【数３７】
0005460499.tif 000038
【０１６１】
次に、データベース登録部１５０は、図９に示す可変テンプレート構造体を生成してデータを各メンバに格納し、顔特徴データベース部１６０に登録する。具体的には、データベース登録部１５０は、登録人物ごとに、登録対象人物の氏名または登録人物を特定するための名称、および識別情報を人物識別情報に格納し、頭部姿勢の個数分の頭部姿勢インデックスと各頭部姿勢における特徴点情報とを格納する。頭部姿勢インデックスは、頭部姿勢（θｙ，θｘ１）である。特徴点情報には、特徴点番号ｊ番目（０≦ｊ＜ＮＦＰ）に対応させて、示す可視性フラグｖθｙ，θｘ１ｊと、その特徴点の特徴点二次元座標値ｚ（ボールド体）θｙ，θｘ１ｊと、Ｎｒｅｓ個の解像度（ウェーブレットサイズ）×Ｎｏｒｎ個の方位におけるガボールウェーブレット特徴ｆθｙ，θｘ１ｊ（ｒ，θ）とを格納する。
【０１６２】
以上述べたように、本実施形態によれば、非線形的な位置ずれに対応したアラインメントを行いながら、複数の頭部姿勢についての特徴点に係る情報の登録の手間を軽減し、登録用の映像または複数の静止画像の画像フレームに含まれていない頭部姿勢についても容易に登録することができる。
【０１６３】
なお、上述した実施形態における画像処理装置あるいは顔画像処理装置の機能の全部または一部を、コンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時刻の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時刻プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０１６４】
以上、複数の実施形態を説明したが、本発明はさらに次のような変形例でも実施することが可能である。
例えば、第２実施形態においては、人の顔（頭部）を対象とした画像を処理する顔画像処理装置について説明したが、被写体はこれに限らず、三次元形状を有する任意の被写体を対象とする画像処理装置としても良い。但し、被写体がある程度の剛体性を有する場合に、特徴点間の位置関係の推定精度が良くなる。また、被写体表面がある程度の非線形的変形をする場合（但し、その場合には限られない）に、特に本発明特有の効果が得られる。
【０１６５】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【０１６６】
本発明は、撮像画像に基づく三次元形状物体のモデリングに、広く利用可能である。また、ヒューマンマシンインタフェースの分野にも利用可能である。
【符号の説明】
【０１６７】
１  画像処理装置
１１  画像データ記憶部
１２  逆ポーズ変換処理部
１４  テクスチャマッピング部
１５  テクスチャ画像記憶部
５１−０，５１−１，５１−２，・・・  貼り付け画像取得部
５２−０，５２−１，・・・  ワーピング処理部
５３  リファレンス画像生成部
５４  制御部
５５  テクスチャ画像書き込み部
６１−０，６１−１，・・・  画像加算部
６２−０，６２−１，・・・  ガウシアンウィンドウ処理部
１００  顔画像処理装置（画像処理装置）
１１０  画像データ記憶部
１２０  顔領域検出照合部
１３０  三次元推定部
１３１  位置・姿勢推定部
１３２  メッシュワーピング部
１３３  テクスチャマッピング部
１３４  顔モデル記憶部
１３５  メッシュ頂点割当情報記憶部
１３６  テクスチャ画像記憶部
１３７  画素割当情報記憶部
１４０  レンダリング部
１５０  データベース登録部
１６０  顔特徴データベース部
【図１】
0005460499.tif 000039
【図２】
0005460499.tif 000040
【図３】
0005460499.tif 000041
【図４】
0005460499.tif 000042
【図５】
0005460499.tif 000043
【図６】
0005460499.tif 000044
【図７】
0005460499.tif 000045
【図８】
0005460499.tif 000046
【図９】
0005460499.tif 000047
【図１０】
0005460499.tif 000048
【図１１】
0005460499.tif 000049
【図１２】
0005460499.tif 000050
【図１３】
0005460499.tif 000051
【図１４】
0005460499.tif 000052
【図１５】
0005460499.tif 000053