(57)【要約】【課題】顔の特徴データの登録の手間を軽減し、入力ソースに含まれていない頭部姿勢についても容易に登録する。【解決手段】顔領域検出照合部は、映像データの各フレームから特徴点二次元座標値を推定する。位置・姿勢推定部は、特徴点二次元座標値と三次元顔メッシュモデルにおける特徴点に対応する特徴点頂点三次元座標値とに基づいて、特徴点三次元座標値と頭部姿勢とを推定する。メッシュワーピング部は、特徴点三次元座標値に、三次元顔メッシュモデルのメッシュ頂点三次元座標値をワーピングさせる。テクスチャマッピング部は、修正三次元顔モデルに、映像データのテクスチャを、ＵＶテクスチャ画像を用いてマッピングする。レンダリング部は、頭部姿勢を変位させてレンダリング処理を行う。データベース登録部は、レンダリング結果に基づいて特徴点に対応する顔特徴データを生成して登録する。【選択図】図１
2011039869.tif 000002
【特許請求の範囲】
【請求項１】
顔の特徴点に対応する二次元座標値データを人物識別情報と頭部姿勢を表わす角度データに関連付けて記憶する顔特徴データベース部と、
前記顔特徴データベース部から読み出した前記特徴点に対応する二次元座標値データに基づいて、読み込んだ画像フレームに含まれる顔の特徴点の二次元座標値データを推定する顔領域検出照合部と、
予め定められたジェネリックモデルにおけるメッシュ頂点に対応する三次元座標値データを記憶する顔モデル記憶部と、
前記顔領域検出照合部によって推定された前記特徴点の二次元座標値データと、前記顔モデル記憶部から読み出した前記メッシュ頂点に対応する三次元座標値データとに基づいて、前記画像フレームに含まれる前記特徴点の三次元座標値データと前記画像フレームについての頭部姿勢を表わす角度データとを推定する位置・姿勢推定部と、
前記位置・姿勢推定部によって推定された前記特徴点の三次元座標値データと前記角度データとに基づき、前記ジェネリックモデルにおける前記メッシュ頂点をワーピングさせることによって修正顔モデルを生成し、前記メッシュ頂点に対応して前記修正顔モデルにおけるメッシュ頂点の三次元座標値データを算出するメッシュワーピング部と、
前記メッシュワーピング部によって生成された修正顔モデルに基づき、頭部姿勢を表わす前記角度データを変えたときのレンダリング処理を行って複数の合成顔画像モデルを生成し、前記特徴点の二次元座標値データを算出するレンダリング部と、
前記レンダリング部が算出した前記特徴点の二次元座標値データを、対応する前記角度データと関連付けて前記顔特徴データベース部に登録するデータベース登録部と、
を備えることを特徴とする顔画像処理装置。
【請求項２】
二次元顔テクスチャ画像を予め記憶するテクスチャ画像記憶部と、
前記テクスチャ画像記憶部から読み出した前記二次元顔テクスチャ画像における少なくとも前記特徴点の近傍に、前記画像フレームにおいて対応する位置から得られる濃淡・色彩情報をマッピングするテクスチャマッピング部と、
を更に備え、
前記顔特徴データベース部は、前記人物識別情報と頭部姿勢の前記角度データとに関連付けて、少なくとも前記特徴点の近傍の画像特徴情報を記憶するものであり、
前記レンダリング部は、前記テクスチャマッピング部がマッピングした後の二次元顔テクスチャ画像に基づくレンダリング処理を行うものであり、
前記データベース登録部は、前記レンダリング部が行なったレンダリング処理の結果に基づく前記画像特徴情報を、対応する前記角度データと関連付けて前記顔特徴データベース部に登録する、
ことを特徴とする請求項１に記載の顔画像処理装置。
【請求項３】
前記テクスチャマッピング部は、前記修正顔モデルに対する視線の光軸と前記修正顔モデルの表面法線との角度に基づき、前記画像フレームに含まれる前記濃淡・色彩情報を前記二次元顔テクスチャ画像にマッピングする際の方向の重みを調整する、
ことを特徴とする請求項２に記載の顔画像処理装置。
【請求項４】
前記テクスチャマッピング部は、前記二次元顔テクスチャ画像において前記修正顔モデルにおける前記特徴点に対応する位置からの距離に基づき、前記画像フレームに含まれる前記濃淡・色彩情報を前記二次元顔テクスチャ画像にマッピングする際の距離の重みを調整するものであり、前記距離に対する前記距離の重みの変化度合いを第１のパラメータにより可変とするとともに、前記視線の光軸と前記表面法線との前記角度に対する前記方向の重みの変化度合いを第２のパラメータにより可変としたことを特徴とする請求項３に記載の顔画像処理装置。
【請求項５】
顔の特徴点に対応する二次元座標値データを人物識別情報と頭部姿勢を表わす角度データに関連付けて記憶する顔特徴データベース部と、予め定められたジェネリックモデルにおけるメッシュ頂点に対応する三次元座標値データを記憶する顔モデル記憶部とを備えたコンピュータに、
前記顔特徴データベース部から読み出した前記特徴点に対応する二次元座標値データに基づいて、読み込んだ画像フレームに含まれる顔の特徴点の二次元座標値データを推定する顔領域検出照合過程と、
前記顔領域検出照合過程によって推定された前記特徴点の二次元座標値データと、前記顔モデル記憶部から読み出した前記メッシュ頂点に対応する三次元座標値データとに基づいて、前記画像フレームに含まれる前記特徴点の三次元座標値データと前記画像フレームについての頭部姿勢を表わす角度データとを推定する位置・姿勢推定過程と、
前記位置・姿勢推定過程によって推定された前記特徴点の三次元座標値データと前記角度データとに基づき、前記ジェネリックモデルにおける前記メッシュ頂点をワーピングさせることによって修正顔モデルを生成し、前記メッシュ頂点に対応して前記修正顔モデルにおけるメッシュ頂点の三次元座標値データを算出するメッシュワーピング過程と、
前記メッシュワーピング過程によって生成された修正顔モデルに基づき、頭部姿勢を表わす前記角度データを変えたときのレンダリング処理を行って複数の合成顔画像モデルを生成し、前記特徴点の二次元座標値データを算出するレンダリング過程と、
前記レンダリング過程が算出した前記特徴点の二次元座標値データを、対応する前記角度データと関連付けて前記顔特徴データベース部に登録するデータベース登録過程と、
を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理技術に関し、特に顔画像を処理する画像処理装置およびコンピュータプログラムに関する。
【背景技術】
【０００２】
映像または静止画像に映っている人物の顔画像を、予め顔画像データベースに登録された登録顔画像と照合して画像認識する顔画像認識技術が知られている。この顔画像認識技術を用いると、認識対象人物が登録された本人であるか否かについて判定する個人認証を行うことができる。個人認証処理では、認識対象人物の顔画像とこの認識対象人物の指定した登録人物の登録顔画像とを照合して、認識対象人物が本人であるか否かについて判断する。
また、上記顔画像認識技術は、認識対象人物が登録された複数の登録人物のうちどの人物であるかについて判断する人物特定に用いられることができる。人物特定処理では、認識対象人物の顔画像と登録された全ての登録顔画像とをそれぞれ照合して類似度を計算し、最も類似度の高い登録顔画像を認識対象人物の顔画像であると判断する。
【０００３】
この従来の顔画像認識技術における顔画像照合アルゴリズムは、主に二つのクラスに分けることができる。
第１のクラスは画像ベースのアルゴリズムであり、認識対象顔画像と登録顔画像とについて顔画像領域全体を照合するアルゴリズムである。画像ベースのアルゴリズムとしてよく知られているものとして、Ｅｉｇｅｎｆａｃｅ（固有顔）がある（非特許文献１、非特許文献２参照）。
【０００４】
また、第２のクラスは特徴ベースのアルゴリズムであり、認識対象顔画像と登録顔画像の各画像から複数の特徴を計測し、これらの特徴同士を照合するアルゴリズムである。特徴ベースのアルゴリズムとしてよく知られているものの一つに、Ｅｌａｓｔｉｃ  Ｂｕｎｃｈ  Ｇｒａｐｈ  Ｍａｔｃｈｉｎｇ（ＥＢＧＭ）アルゴリズムがある（非特許文献３、非特許文献４参照）。このＥＢＧＭアルゴリズムでは、顔画像におけるいくつかの特徴点（例えば、鼻先、目頭等）を指定する必要がある。顔画像を登録するときには、登録顔画像における各特徴点の位置（座標）を登録者によるポインティングデバイス等の操作によって指定し、各特徴点を中心とする近傍領域から複数のＧａｂｏｒ  Ｗａｖｅｌｅｔ（ガボールウェーブレット）特徴を計測する。そして、各特徴点の位置とガボールウェーブレット特徴とを、顔特徴データとして顔画像データベースに登録する。
【０００５】
また、顔画像を認識するときには、顔画像データベースから特徴点の位置とガボールウェーブレット特徴とを読み出し、その読み出した特徴点の位置に相当する認識対象顔画像上の位置に基づいてガボールウェーブレット特徴を計測する。そして、顔画像データベースから読み出したガボールウェーブレット特徴と計測したガボールウェーブレット特徴とを比較して類似度を計算する。さらに、認識対象顔画像上の計測位置と、類似度が最大になる位置との位置ずれの推定値を計算する。位置ずれの推定値に基づき特徴点をずらして特徴点の位置を再計測すると、顔画像データベースに登録されたガボールウェーブレット特徴との類似度は高くなる一方、特徴点の配置の歪みによって特徴点の位置の類似度は減少する。ガボールウェーブレット特徴の類似度と特徴点の位置の類似度との２種類の類似度から全体的な類似度を計算し、ある程度の歪みを許容して顔画像を認識する。ＥＢＧＭアルゴリズムに代表される特徴ベースのアルゴリズムと画像ベースのアルゴリズムとの比較においては、特徴ベースのアルゴリズムの方がより柔軟な照合方法である。
【０００６】
ところで、ＥＢＧＭアルゴリズムは静止画像を認識の対象とするため、頭部姿勢（顔の向き）が顔正面に制限される。そこで、映像に対応でき、時間経過に伴って変化する頭部姿勢にも対応できる顔画像認識技術であるＦＡｃｅ  Ｖｉｄｅｏ  ＲＥｃｏｇｎｉｔｉｏｎ  ａｎｄ  Ｔｒａｃｋｉｎｇ（ＦＡＶＲＥＴ）システムが開発された（非特許文献５、非特許文献６参照）。ＦＡＶＲＥＴシステムにおけるデータ表現は、ＥＢＧＭアルゴリズムにおけるデータ表現（つまり、各特徴点の位置、およびその位置で計測されたガボールウェーブレット特徴）に基づいている。しかし、ＦＡＶＲＥＴシステムでは、複数の頭部姿勢への対応と、リアルタイム映像における動作とを実現するために、複数の頭部姿勢についての認識対象顔画像を顔画像データベースに登録し、各画像フレームでの特徴点の探索を、前画像フレームで推定した位置から開始するようにしている。つまり、ＦＡＶＲＥＴシステムは、特徴点の追跡処理を実行することによって探索範囲を削減するものである。このように、ＦＡＶＲＥＴシステムでは特徴点の追跡に相応しいデータ表現が必要であるため、特徴点の数、位置、およびガボールウェーブレット特徴のパラメータが、ＥＢＧＭアルゴリズムのものと違う設定となっている（非特許文献７参照）。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】L. Sirovich, M. Kirby, Low-dimensional Procedure for the Characterization of Human Faces, Journal of the Optical Society of America A-Optics, Image Science and Vision, Vol. 4, No. 3, March 1987, pp. 519-524.
【非特許文献２】Turk, M., Pentland, A. Eigenfaces for Recognition. J. Cognitive Neuroscience, 3 (1), 71-86, 1991.
【非特許文献３】Wiskott, L., Fellous, J-M., Kruger, N., von der Malsburg, C., “Face Recognition by Elastic Bunch Graph Matching”, TR96-08, Institut fur Neuroinformatik, Ruhr-Universitat Bochum, 1996.
【非特許文献４】K. Okada, J. Steffens, T. Maurer, H. Hong, E. Elagin, H. Neven and C. von der Malsburg, “The Bochum/USC Face Recognition System And How it Fared in the FERET Phase III Test,” Face Recognition: From Theory to Applications, eds. H. Wechsler, P.J. Phillips, V. Bruce, F. Fogelman-Sulie and T.S. Huang, Springer-Verlag, 1998.
【非特許文献５】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.
【非特許文献７】Clippingdale, S., 伊藤崇之，“動画像の顔追跡・認識システム「ＦＡＶＲＥＴ」の特徴選択実験，”信学技報，PRMU99-109，琉球大学，November 1999.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記のとおり、ＦＡＶＲＥＴシステムでは、映像データに映っている認識対象人物の様々な頭部姿勢に基づいて、認識対象人物ごとに複数の頭部姿勢を登録する。例えば、顔正面を中心として左横向きから右横向きまでの１８０度の範囲における１０度ごとの頭部姿勢（鉛直方向の軸を中心とする回転による計１９個の頭部姿勢）で登録する場合、各頭部姿勢の映った１９枚の画像フレームが必要である。さらに、上記それぞれの頭部姿勢について水平方向を中心として上に２段階の角度と下に２段階の角度の頭部姿勢（水平方向であり且つ顔正面と平行な軸を中心とする回転による計５個の頭部姿勢）で登録する場合、各頭部姿勢の映った９５枚（＝１９×５）の画像フレームが必要である。従来は、登録用の映像または複数の静止画像から、所望の角度の頭部姿勢が映っている画像フレームまたは静止画像を登録作業者の操作によって選出し、これら選出された画像フレームそれぞれについて特徴点の位置を操作によって指定する作業が必要であった。この登録作業は煩雑であり、非常に手間のかかるものであった。
【０００９】
また、新規登録のために用いる映像または複数の静止画像に、登録に必要な頭部姿勢の画像が映っていないことがあり、そのような場合には１９個又は９５個全ての頭部姿勢を登録することができない。また、登録用の映像または複数の静止画像に、様々な角度の頭部姿勢が多数映っている場合がある。その場合には、どの画像フレームまたは静止画像を登録用に使用すべきかを登録者が判断することが必要となり、登録作業は非常に煩雑で大きな手間のかかるものであった。
【００１０】
そこで本発明は、上記の課題認識に基づいてなされたものであり、複数の頭部姿勢での特徴点の位置などの特徴データを登録する際に、登録の手間を軽減することと、登録用の映像または複数の静止画像に含まれていない頭部姿勢についても容易に登録することのできる顔画像処理装置およびコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
［１］上記の課題を解決するために、本発明の一態様による顔画像処理装置は、顔の特徴点に対応する二次元座標値データを人物識別情報と頭部姿勢を表わす角度データに関連付けて記憶する顔特徴データベース部と、前記顔特徴データベース部から読み出した前記特徴点に対応する二次元座標値データに基づいて、読み込んだ画像フレームに含まれる顔の特徴点の二次元座標値データを推定する顔領域検出照合部と、予め定められたジェネリックモデルにおけるメッシュ頂点に対応する三次元座標値データを記憶する顔モデル記憶部と、前記顔領域検出照合部によって推定された前記特徴点の二次元座標値データと、前記顔モデル記憶部から読み出した前記メッシュ頂点に対応する三次元座標値データとに基づいて、前記画像フレームに含まれる前記特徴点の三次元座標値データと前記画像フレームについての頭部姿勢を表わす角度データとを推定する位置・姿勢推定部と、前記位置・姿勢推定部によって推定された前記特徴点の三次元座標値データと前記角度データとに基づき、前記ジェネリックモデルにおける前記メッシュ頂点をワーピングさせることによって修正顔モデルを生成し、前記メッシュ頂点に対応して前記修正顔モデルにおけるメッシュ頂点の三次元座標値データを算出するメッシュワーピング部と、前記メッシュワーピング部によって生成された修正顔モデルに基づき、頭部姿勢を表わす前記角度データを変えたときのレンダリング処理を行って複数の合成顔画像モデルを生成し、前記特徴点の二次元座標値データを算出するレンダリング部と、前記レンダリング部が算出した前記特徴点の二次元座標値データを、対応する前記角度データと関連付けて前記顔特徴データベース部に登録するデータベース登録部とを備えることを特徴とする。
【００１２】
［２］また、本発明の一態様は、上記の顔画像処理装置において、二次元顔テクスチャ画像を予め記憶するテクスチャ画像記憶部と、前記テクスチャ画像記憶部から読み出した前記二次元顔テクスチャ画像における少なくとも前記特徴点の近傍に、前記画像フレームにおいて対応する位置から得られる濃淡・色彩情報をマッピングするテクスチャマッピング部と、を更に備え、前記顔特徴データベース部は、前記人物識別情報と頭部姿勢の前記角度データとに関連付けて、少なくとも前記特徴点の近傍の画像特徴情報を記憶するものであり、前記レンダリング部は、前記テクスチャマッピング部がマッピングした後の二次元顔テクスチャ画像に基づくレンダリング処理を行うものであり、前記データベース登録部は、前記レンダリング部が行なったレンダリング処理の結果に基づく前記画像特徴情報を、対応する前記角度データと関連付けて前記顔特徴データベース部に登録することを特徴とする。
ここで、画像特徴情報は、空間領域の画像データそのものでも良いし、その画像データから抽出した特徴情報でも良い。例えば、画像特徴情報を、周波数領域の画像情報であるガボールウェーブレット特徴としても良い。また、テクスチャマッピング部は、二次元顔テクスチャ画像上で対応する点について、複数の頭部姿勢の画像フレームから、それぞれ得られる濃淡・色彩情報を適宜混合させてマッピングしても良い。
【００１３】
［３］また、本発明の一態様は、上記の顔画像処理装置において、前記テクスチャマッピング部は、前記修正顔モデルに対する視線の光軸と前記修正顔モデルの表面法線との角度に基づき、前記画像フレームに含まれる前記濃淡・色彩情報を前記二次元顔テクスチャ画像にマッピングする際の方向の重みを調整することを特徴とする。
角度が小さいほど、重みが相対的により大きくなり、つまり、そのように視線の角度の小さい画像フレームから得られる濃淡・色彩情報がより大きなファクタでモデルのテクスチャ（二次元顔テクスチャ画像）に貼り付けられる。よって、本発明の一態様により、画素（ｕ，ｖ）に対応する画像フレーム上の位置が隠蔽されているか否かを求める計算を省くことができる。
【００１４】
［４］また、本発明の一態様は、上記の顔画像処理装置において、前記テクスチャマッピング部は、前記二次元顔テクスチャ画像において前記修正顔モデルにおける前記特徴点に対応する位置からの距離に基づき、前記画像フレームに含まれる前記濃淡・色彩情報を前記二次元顔テクスチャ画像にマッピングする際の距離の重みを調整するものであり、前記距離に対する前記距離の重みの変化度合いを第１のパラメータにより可変とするとともに、前記視線の光軸と前記表面法線との前記角度に対する前記方向の重みの変化度合いを第２のパラメータにより可変としたことを特徴とする。
例えば、上記の距離ｄに対する距離の重みδの値を、δ＝ｆ（ｄ）２ｎとする(但し、０≦ｆ（ｄ）≦１であり、且つｆ（ｄ）はｄに関して単調減少する関数)など、距離ｄが大きくなればなるほど距離の重みδの値が小さくなるときに、ｎ（ｎ＝１，２，３，・・・）をパラメータとして設定可能とすることにより、距離ｄに対する距離の重みδの変化度合いを可変とすることができる。
また、例えば、上記の角度θ（０≦θ≦π／２）に対する方向の重みαの値を、α＝ｆ（θ）２ｍとする(但し、０≦ｆ（θ）≦１であり、且つｆ（θ）はθに関して単調減少する関数)など、角度θが大きくなればなるほど方向の重みαの値が小さくなるときに、ｍ（ｍ＝１，２，３，・・・）をパラメータとして設定可能とすることにより、角度θに対する方向の重みαの変化度合いを可変とすることが出来る。これにより、角度θが比較的大きい画像フレームしか得られない場合についても、画像フレームの濃淡・色彩情報を取り入れる度合いを比較的大きくするなど、柔軟なデータ登録が可能となる。
【００１５】
［５］また、本発明のコンピュータプログラムは、顔の特徴点に対応する二次元座標値データを人物識別情報と頭部姿勢を表わす角度データに関連付けて記憶する顔特徴データベース部と、予め定められたジェネリックモデルにおけるメッシュ頂点に対応する三次元座標値データを記憶する顔モデル記憶部とを備えたコンピュータに、前記顔特徴データベース部から読み出した前記特徴点に対応する二次元座標値データに基づいて、読み込んだ画像フレームに含まれる顔の特徴点の二次元座標値データを推定する顔領域検出照合過程と、前記顔領域検出照合過程によって推定された前記特徴点の二次元座標値データと、前記顔モデル記憶部から読み出した前記メッシュ頂点に対応する三次元座標値データとに基づいて、前記画像フレームに含まれる前記特徴点の三次元座標値データと前記画像フレームについての頭部姿勢を表わす角度データとを推定する位置・姿勢推定過程と、前記位置・姿勢推定過程によって推定された前記特徴点の三次元座標値データと前記角度データとに基づき、前記ジェネリックモデルにおける前記メッシュ頂点をワーピングさせることによって修正顔モデルを生成し、前記メッシュ頂点に対応して前記修正顔モデルにおけるメッシュ頂点の三次元座標値データを算出するメッシュワーピング過程と、前記メッシュワーピング過程によって生成された修正顔モデルに基づき、頭部姿勢を表わす前記角度データを変えたときのレンダリング処理を行って複数の合成顔画像モデルを生成し、前記特徴点の二次元座標値データを算出するレンダリング過程と、前記レンダリング過程が算出した前記特徴点の二次元座標値データを、対応する前記角度データと関連付けて前記顔特徴データベース部に登録するデータベース登録過程との処理を実行させる。
【発明の効果】
【００１６】
本発明によれば、複数の頭部姿勢についての特徴点に係る情報の登録の手間を軽減し、登録用の映像または複数の静止画像の画像フレームに含まれていない頭部姿勢についても容易に登録することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態による顔画像処理装置の機能構成を示すブロック図である。
【図２】同実施形態において、顔領域検出照合部が顔画像領域から推定した特徴点位置を模式的に示した図である。
【図３】同実施形態において、メッシュ頂点割当情報記憶部に記憶される対応関係に関する情報のデータ構造を示した図である。
【図４】同実施形態において、画素割当情報記憶部に記憶される対応関係に関する情報のデータ構造を示した図である。
【図５】同実施形態において、データベース登録部が生成する可変テンプレート構造体のデータ構造を示す図である。
【図６】同実施形態において、顔領域検出照合部が映像データの各画像フレームから顔画像領域を検出して顔特徴データと照合し、追跡結果または認識結果を出力する手順を示すフローチャートである。
【図７】同実施形態において、映像データの各画像フレームにおける二次元の特徴点位置から、三次元の特徴点位置と画像フレームごとの頭部姿勢とを対応付けて推定する処理の手順を示すフローチャートである。
【図８】同実施形態において、メッシュワーピング部が実行するメッシュワーピング処理の手順を示したフローチャートである。
【図９】同実施形態において、三次元ＣＧ顔モデルのメッシュを示す図である。
【図１０】同実施形態において、三次元ＣＧ顔モデルのメッシュ頂点のワーピング処理を説明するための図である。
【図１１】同実施形態において、テクスチャマッピングされた三次元ＣＧ顔モデルとＵＶテクスチャ画像との関係を示す図である。
【図１２】同実施形態において、ＵＶテクスチャ画像の修正処理の手順を示すフローチャートである。
【図１３】第１の形態による三次元形状推定装置のブロック図である。
【図１４】同形態において、顔のジェネリックな三次元モデルにおける特徴点と、特徴点の三次元座標値を示すデータの例を示す図である。
【図１５】同形態において、複数の画像に写っている被写体の顔上の特徴点と、特徴点観測データの例を示す図である。
【図１６】同形態による三次元形状推定装置の処理手順を示すフローチャートである。
【図１７】第２の形態による三次元形状推定装置のブロック図である。
【図１８】同形態による三次元形状推定装置の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明を実施するための形態について、図面を参照して説明する。
図１は、本発明の実施形態による顔画像処理装置の機能構成を示すブロック図である。同図に示すように、顔画像処理装置１００は、画像データ記憶部１１０と、顔領域検出照合部１２０と、三次元推定部１３０と、レンダリング部１４０と、データベース登録部１５０と、顔特徴データベース部１６０とを含んで構成される。
同図における顔画像処理装置１００は、登録モードまたは認識モードいずれかのモードに設定されて動作する。顔画像処理装置１００は、人物の顔画像が含まれた、映像データの画像フレームまたは複数の静止画像データ（静止画像データも、以下では画像フレームと呼ぶ。）を入力ソースとして、画像フレームから顔画像領域を検出し、この顔画像領域から顔特徴データを生成して登録する処理（登録モード）または照合する処理（認識モード）を実行する。また、顔画像処理装置１００は、画像フレームに含まれない頭部姿勢の顔画像に対応する顔特徴データを近似合成して登録または照合する処理を実行する。
【００１９】
なお、入力ソースが映像データであるか複数の静止画像データであるかによって、本実施形態の処理に大きな差異は生じない。よって、本実施形態の以下の記載では、映像データの各画像フレームに含まれた人物の顔画像に基づいて顔特徴データを生成し、近似合成して、登録または照合する処理について説明する。入力ソースが静止画像データである場合における処理は、本質的には入力ソースが映像データである場合と同様である。
【００２０】
画像データ記憶部１１０は、登録対象人物の顔画像が含まれた映像データを記憶する。顔領域検出照合部１２０は、画像データ記憶部１１０から映像データを読み込み、画像フレームごとに顔画像領域を検出して複数の特徴点の位置を推定する。この推定処理は、時間的に連続した画像フレームについて行われるものである。そして、顔領域検出照合部１２０は、推定した位置の特徴点と顔特徴データベース部１６０に記憶された顔特徴データである可変テンプレート構造体（詳細は後述）とを照合し、特徴点の追跡結果または認識結果を出力する。つまり、顔領域検出照合部１２０は、特徴点ベースの顔画像照合アルゴリズムによって特徴点の追跡または認識を行うものであり、例えば、前述のＦＡＶＲＥＴシステムを適用して構成される。
【００２１】
顔領域検出照合部１２０は、登録モードまたは認識モードいずれのモードに設定されている場合でも、画像フレームごとに顔画像領域から複数の特徴点の位置を推定してそれらの特徴点位置（画像における二次元座標値）を照合の結果として出力する。また、認識モードに設定されている場合は、顔領域検出照合部１２０は、顔特徴データベース部１６０に記憶された登録済人物ごとの顔特徴データとの類似度を計算し、類似度の最も高い顔特徴データに関するマッチスコアを出力する。このマッチスコアは、例えば、登録済人物の氏名又は登録済人物を特定するための名称（ニックネーム等）と、同人物の識別情報（識別番号等）と、計算された類似度とを関連付けた情報である。
【００２２】
図２は、顔領域検出照合部１２０が顔画像領域から推定した特徴点位置を模式的に示した図である。同図において、顔領域検出照合部１２０が推定する特徴点位置は、顔画像領域における目頭、目尻、および口元に相当する位置（それぞれ２箇所ずつ）、ならびに鼻元、鼻先、唇先に相当する位置（それぞれ1箇所ずつ）である。なお、顔領域検出照合部１２０は、上記の特徴点位置のうち、人物の頭部姿勢に応じて可視である部分の特徴点位置のみを推定する。
【００２３】
図１に戻り、三次元推定部１３０は、各特徴点の三次元位置を推定し、この推定位置に、ジェネリック（人物不特定）な三次元コンピュータグラフィックス顔メッシュモデル（三次元ＣＧ顔モデル，ジェネリックモデル）のメッシュ形状をワーピングさせる。このワーピングは、三次元推定部１３０が、推定された各特徴点の三次元位置に、三次元ＣＧ顔モデルにおけるこれら特徴点に相当するメッシュ頂点の三次元位置を合わせ、メッシュ形状を合わせ込んで修正三次元ＣＧ顔モデル（修正顔モデル）を生成する処理のことをいう。三次元ＣＧ顔モデルおよび修正三次元ＣＧ顔モデルは、メッシュで構成される多角形からなる立体を表わすモデルである。それらの多角形が、このモデルにおける頭部形状の表面を構成する。人の頭部形状によりこのモデルが表わす立体は、頭部全体にわたって大まかにはほぼ単調に凸状である。そして、三次元推定部１３０は、映像データから修正三次元ＣＧ顔モデルにテクスチャを貼り付けて、映像データに含まれた顔が適用されたＣＧ顔モデルを出力する。
【００２４】
同図に示すように、三次元推定部１３０は、位置・姿勢推定部１３１と、メッシュワーピング部１３２と、テクスチャマッピング部１３３と、顔モデル記憶部１３４と、メッシュ頂点割当情報記憶部１３５と、テクスチャ画像記憶部１３６と、画素割当情報記憶部１３７とを含んで構成される。
【００２５】
位置・姿勢推定部１３１は、顔領域検出照合部１２０で推定された、映像データの各画像フレームにおける特徴点位置である特徴点二次元座標値から、各特徴点の三次元位置である特徴点三次元座標値と画像フレームごとの頭部姿勢の角度データ（鉛直方向の軸を中心とする回転位置（角度）、もしくは水平方向の軸を中心とする回転位置（角度）、またはそれらの組み合わせ）とを対応付けて推定する。
【００２６】
メッシュワーピング部１３２は、位置・姿勢推定部１３１で推定された各特徴点の特徴点三次元座標値位置に、顔モデル記憶部１３４に記憶された三次元ＣＧ顔モデルのメッシュ頂点をワーピングさせて、修正三次元ＣＧ顔モデルを生成する。
【００２７】
メッシュ頂点割当情報記憶部１３５は、メッシュワーピング部１３２が三次元ＣＧ顔モデルのメッシュ頂点をワーピングさせる際に、各メッシュ頂点と、メッシュ頂点を頂点とする三角形との割当ての対応関係であるメッシュ頂点割当情報を記憶する。
図３は、メッシュ頂点割当情報記憶部１３５が記憶するメッシュ頂点割当情報のデータ構造を示した概略図である。同図に示すように、メッシュ頂点割当情報記憶部１３５は、表形式のデータであり、メッシュ頂点の三次元座標値と、そのメッシュ頂点が割当てられる三角形（メッシュが三角形以外の多角形を含んで構成される場合にも、後述するようにそれら多角形を適宜三角形に分割する）の識別情報とを関連付けて記憶する。この表における主キーは、メッシュ頂点の三次元座標値である。
【００２８】
テクスチャマッピング部１３３は、画像データ記憶部１１０に記憶された映像データの濃淡・色等の画像情報を含むテクスチャを、後述する重みの比率で、テクスチャ画像記憶部１３６に記憶されたＵＶテクスチャ画像（二次元顔テクスチャ画像）における顔の特徴点に対応する位置および少なくともその近傍部分のＵＶテクスチャ画像に合成して、修正三次元ＣＧ顔モデルに貼り付けることによりＣＧ顔モデルを生成する。ＵＶテクスチャ画像は、直交するＵ軸およびＶ軸による二次元平面における顔画像データである。ＵＶテクスチャ画像は、画素の位置（ｕ，ｖ）（但し、０≦ｕ≦１，０≦ｖ≦１）と三次元ＣＧ顔モデルのメッシュ頂点とが対応付けられて三次元ＣＧ顔モデルにマッピングされる。このマッピング処理の結果、修正三次元ＣＧ顔モデルのテクスチャ表面にはＲＧＢ各色による色彩および濃淡が表現される。
【００２９】
画素割当情報記憶部１３７は、テクスチャマッピング部１３３がＵＶテクスチャ画像を貼り付ける際の、特徴点近傍のＵＶテクスチャ画像の画素位置と割り当てられる三角形との対応関係を表わす画素割当情報を記憶する。
図４は、画素割当情報記憶部１３７が記憶する画素割当情報のデータ構造を示した概略図である。同図に示すように、この画素割当情報は、表形式のデータであり、ＵＶテクスチャ画像上の画素の画素位置（ｕ，ｖ）と、当該画素が割当てられる三角形（メッシュが三角形以外の多角形を含んで構成される場合にも、後述するようにそれら多角形を適宜三角形に分割する）の識別情報とを関連付けて記憶する。なお、この表における主キーは、ＵＶ画像の画素位置である。
【００３０】
レンダリング部１４０は、三次元推定部１３０から出力されたＣＧ顔モデルを所定の頭部姿勢に回転させ、レンダリング処理を行って合成顔画像モデルを生成する。レンダリング部１４０は、登録に必要な全ての頭部姿勢の合成顔画像モデルを生成する。この登録に必要な頭部姿勢の数は、例えば、登録対象人物の左右方向に０度から１８０度まで（顔正面が９０度の位置である。）を１０度刻みとした１９パターンそれぞれについて、水平方向を０度として、上下方向にそれぞれ０度，±１５度，±３０度の５パターンで、合計９５パターンである。
【００３１】
データベース登録部１５０は、レンダリング部１４０でレンダリング処理した各合成顔画像モデルにおいて、可視である特徴点を中心にして、ガボールウェーブレット特徴（画像特徴情報）を所定数の解像度と所定数の方位とによって畳み込む処理を行う。そして、データベース登録部１５０は、登録人物を認識するために必要な顔特徴データである可変テンプレート構造体を生成して顔特徴データベース部１６０に記憶する。
図５は、データベース登録部１５０が生成する可変テンプレート構造体のデータ構造を示す概略図である。同図に示す可変テンプレート構造体は、登録人物ごとに、登録人物の氏名または登録人物を特定するための名称、および識別情報を含む人物識別情報を有する。また、各人物ごとに、頭部姿勢の個数分の頭部姿勢インデックス（角度データ）を有する。さらに、この頭部姿勢インデックスごとに、特徴点の個数分の特徴点情報を有する。
この特徴点情報は、特徴点番号（０から始まる整数）をキーとして、当該特徴点番号に対応する特徴点が可視であるか非可視であるかを示す可視性フラグと、その特徴点の特徴点二次元座標値（但し、可視性フラグが可視である場合にのみこの二次元座標値が示される。）と、所定数の解像度（ウェーブレットサイズ）×所定数の方位におけるガボールウェーブレット特徴（画像情報）の値とを関連付けて保持するものである。
なお、頭部姿勢インデックスは、例えば、頭部の鉛直方向（ｙ方向）の軸を中心とする回転位置（角度）および水平方向（ｘ方向）の軸を中心とする回転位置（角度）の組み合わせを表わす指標データである。但し、頭部姿勢インデックスがそれらの角度そのもののデータであってもよい。
【００３２】
例えば、データベース登録部１５０は、登録人物一人あたり、１個の人物識別情報と、例として前述した９５種類の頭部姿勢に対応する頭部姿勢インデックスとを可変テンプレート構造体のメンバとして作成する。さらに、各頭部姿勢に対して、図２に示した９個の特徴点（特徴点番号が、０から８まで）ごとの特徴点情報をメンバとして作成する。さらに、それら特徴点の各々に対して、可視性フラグと特徴点二次元座標値の各メンバを作成するとともに、５種類の解像度×８方向（２２．５度ごと）で４０個のガボールウェーブレット特徴の値のデータをとのメンバをとして作成する。
【００３３】
次に、顔画像処理装置１００の各部の動作について説明する。
［顔領域検出・照合処理］
図６は、顔領域検出照合部１２０が映像データの各画像フレームから顔画像領域を検出して顔特徴データと照合し、追跡結果または認識結果を出力する手順を示すフローチャートである。ステップＳ６０１において、顔領域検出照合部１２０は、モードを登録モードまたは認識モードいずれかに設定する。このモード設定は、例えば、顔画像処理装置１００の操作部（不図示）の操作による指定によって行われる。
【００３４】
次に、ステップＳ６０２において、顔領域検出照合部１２０は、画像データ記憶部１１０に記憶された映像データの画像フレームを時刻情報の古い順に読み込む。
次に、ステップＳ６０３において、顔領域検出照合部１２０は、画像フレームを読み込んだとき（Ｓ６０３：ＹＥＳ）はステップＳ６０４の処理に移り、画像フレームを読み込まなかったとき（Ｓ６０３：ＮＯ）はこのフローチャートの処理を終了する。
【００３５】
ステップＳ６０４において、顔領域検出照合部１２０は、読み込んだ画像フレームから顔画像領域を検出する。このとき顔領域検出照合部１２０は、例えば、画像フレームをスキャンして色情報を取得し、人間の身体の色に対応する特定の色の画素を抽出することによって顔画像領域を検出する方法や、目、鼻、口等の顔の部位を形状として認識する周知の顔認識アルゴリズムを用いて顔画像領域を検出する方法、またはこれらを組み合わせて用いる方法を使用する。
【００３６】
次に、ステップＳ６０５において、顔領域検出照合部１２０は、顔画像領域から特徴点位置を推定する。特徴点は図２に示したものである。なお、特徴点位置の部位が非可視である場合は、顔画像領域検出照合部１２０はその特徴点位置を推定しない。顔領域検出照合部１２０による特徴点位置の推定処理は、例えば次のようにして行う。顔領域検出照合部１２０は、現画像フレームにおける特徴点が前画像フレームにおける特徴点と同位置またはその近傍に存在するとの仮定に基づき、同位置を初期位置として、その初期位置を中心とした所定範囲内の近傍を探索する。過去の画像フレームにおいて推定された特徴点位置は、顔特徴データベース部１６０の可変テンプレート構造体に特徴点時次元座標値として登録されているため、顔画像領域検出照合部１２０は、その可変テンプレート構造体から前フレームの特徴点二次元座標値を読み出すことにより初期位置を設定することができる。顔画像領域検出照合部１２０は、ガボールウェーブレット特徴を解像度の低い領域から高い領域まで計測することによって探索を行う。ガボールウェーブレット特徴は複素数であり、実部のコサイン波形と虚部のサイン波形とは位相が９０度ずれたものである。そこで、顔領域検出照合部１２０は、実部および虚部のそれぞれについての係数を用いて位置ずれを推定し、位置をずらしながら繰り返し探索処理を行う。そして、位置ずれが収束した時点で探索処理を終了させる。このときの位置が、類似度が最大となる特徴点位置であると推定され、すなわち推定された特徴点二次元座標値である。１画像フレームあたりの顔画像領域中に推定された特徴点の個数をＮＦＰ個とする。
【００３７】
次に、ステップＳ６０６において、顔領域検出照合部１２０は、ステップＳ６０１の処理において設定されたモードに応じて処理を分ける。設定モードが登録モードである場合（Ｓ６０６：登録モード）はステップＳ６０７の処理に移り、設定モードが認識モードである場合（Ｓ６０６：認識モード）はステップＳ６０８の処理に移る。
【００３８】
ステップＳ６０７において、登録モードの顔領域検出照合部１２０は、ステップＳ６０５の処理で推定されたＮＦＰ個の特徴点位置である特徴点二次元座標値を出力してステップＳ６０２の処理に戻る。一方、ステップＳ６０８において、認識モードの顔領域検出照合部１２０は、ステップＳ６０５の処理で推定されたＮＦＰ個の特徴点二次元座標値を出力するとともに、類似度の最も高い顔特徴データに関するマッチスコアを生成して出力し、ステップＳ６０２の処理に戻る。
【００３９】
［特徴点の三次元位置・頭部姿勢推定処理］
図７は、映像データの各画像フレームにおける二次元の特徴点位置（特徴点二次元座標値）から、三次元の特徴点位置と画像フレームごとの頭部姿勢とを対応付けて推定する処理の手順を示すフローチャートである。ステップＳ７０１において、位置・姿勢推定部１３１は、顔領域検出照合部１２０から、Ｎｆｒａｍｅｓ枚の画像フレームそれぞれについてのＮＦＰ個の特徴点二次元座標値を取り込む。このとき、ｋ枚目（０≦ｋ＜Ｎｆｒａｍｅｓ）の画像フレームにおけるｊ番目（０≦ｊ＜ＮＦＰ）の特徴点二次元座標値は、下の式（１）に示す要素（ｘｋｊ，ｙｋｊ）を有するベクトルｙ（ボールド体）ｋｊ（ハット）で示される。ここで、要素（ｘｋｊ，ｙｋｊ）は、ｋ枚目の画像フレームを直交するｘ軸およびｙ軸による二次元平面で表したときのｊ番目の特徴点のｘ座標推定値，ｙ座標推定値に相当する。すなわち、式（１）におけるｙ（ボールド体）ｋｊは実数（Ｒ）の二次元ベクトルである。なおここで、「（ボールド体）」という記載は、その記載直前の文字がボールド体の書体であることを指し、当該表現が行列またはベクトルであることを意味している。また、「（ハット）」という記載は、同様に、当該表現の値が推定値であることを意味している。
【００４０】
【数１】
2011039869.tif 000003
【００４１】
次に、ステップＳ７０２において、位置・姿勢推定部１３１は、ｋ枚目（０≦ｋ＜Ｎｆｒａｍｅｓ）の画像フレームにおけるｊ番目（０≦ｊ＜ＮＦＰ）の特徴点が可視であるかまたは非可視であるかを推定した可視性ｖｋｊ（ハット）∈｛０，１｝を取得する。値は、非可視が０であり可視が１である。登録モードにおいては、画像フレームごとの可視性ｖｋｊ（ハット）は、特徴点位置が見えるか否かにより外部から入力される。
【００４２】
次に、ステップＳ７０３において、位置・姿勢推定部１３１は、顔モデル記憶部１３４から、三次元ＣＧ顔モデルにおけるｊ番目（０≦ｊ＜ＮＦＰ）特徴点に対応するメッシュ頂点の位置であるメッシュ頂点三次元座標値ｍ（ボールド体）ｊ∈Ｒ３（但し、０≦ｊ＜ＮＦＰ）を読み込む。
【００４３】
次に、ステップＳ７０４において、位置・姿勢推定部１３１は、ステップＳ７０１からＳ７０３までの処理で得られたデータに基づいて、映像データにおける各特徴点の三次元位置である特徴点三次元座標値と画像フレームごとの頭部姿勢とを対応付けて推定する。この推定処理は、公知文献である「サイモン  クリピングデル、藤井真人、八木伸行、“遮蔽とノイズのある二次元観測データから三次元顔特徴点推定の一検討”、電子情報通信学会技術研究報告、ＰＲＭＵ２００８−４２、２００８／０６、ｐｐ．１３３−１３８．」に記載された二次元特徴データから三次元特徴データの推定処理を適用する。または、後に記載する「顔の三次元モデル推定処理」を適用する。
【００４４】
次に、ステップＳ７０５において、位置・姿勢推定部１３１は、映像データにおけるＮＦＰ個の特徴点三次元座標値ｍ（ボールド体）ｊ（ハット）∈Ｒ３（但し、０≦ｊ＜ＮＦＰ）と、ｋ枚目の画像フレームにおける頭部姿勢Ｑ（ボールド体）ｋ（ハット）∈Ｒ２×３（但し、０≦ｋ＜Ｎｆｒａｍｅｓ）と、ｋ枚目の画像フレームにおける二次元の特徴点の重心ｙ（ボールド体）ｋ（バー）∈Ｒ２（但し、０≦ｋ＜Ｎｆｒａｍｅｓ）とを出力する。
【００４５】
ステップＳ７０４の処理における推定アルゴリズムは、非線形条件付最小自乗法推定クラスに属するものであり、式（２）に示す自乗誤差を式（３）に示す直交性条件化で最小化するものである。
【００４６】
【数２】
2011039869.tif 000004
【００４７】
【数３】
2011039869.tif 000005
【００４８】
なお、式（３）において、Ｉ２は二次元単位行列であり、λは定数である。
【００４９】
［メッシュワーピング処理］
次に、メッシュワーピング部１３２は、推定された各特徴点の特徴点三次元座標値ｍ（ボールド体）ｊ（ハット）∈Ｒ３（但し、０≦ｊ＜ＮＦＰ）で示される位置に、顔モデル記憶部１３４に記憶された三次元ＣＧ顔モデルのメッシュ頂点三次元座標値ｘ（ボールド体）ｎ∈Ｒ３（但し、０≦ｎ＜ＮＶＴ）で示されるメッシュ頂点をワーピングさせることによって修正三次元ＣＧ顔モデルを生成する。
図８は、メッシュワーピング部１３２が実行するメッシュワーピング処理の手順を示したフローチャートである。また、図９は、三次元ＣＧ顔モデルのメッシュを示す図である。以下、図８のフローチャートの手順に沿って説明する。
【００５０】
ステップＳ８０１において、メッシュワーピング部１３２は、特徴点に対応する三次元ＣＧ顔モデルのメッシュ頂点（特徴点頂点と呼ぶ。）と、三次元ＣＧ顔モデルと外界との境界部分に位置する所定数のメッシュ頂点（固定頂点と呼ぶ。）とを指定する。そして、メッシュワーピング部１３２は、これらのメッシュ頂点を頂点とするＮｔｒｉ個の三角形ｉ（但し、０≦ｉ＜Ｎｔｒｉ）を設定する。これらの三角形の頂点の座標はｘ（ボールド体）ｉ，ｌ，（但し、０≦ｉ＜Ｎｔｒｉ，０≦ｌ（エル）＜３）である。
図９は、特徴点頂点（色抜きの丸印）と、固定頂点（ハッチングの丸印）と、これらを頂点とする三角形とを、模式的に示している。
【００５１】
次に、ステップＳ８０２において、メッシュワーピング部１３２は、下の式（４）により、三次元ＣＧ顔モデルのｎ番目のメッシュ頂点三次元座標値ｘ（ボールド体）ｎ∈Ｒ３，０≦ｎ＜ＮＶＴを、ステップＳ８０１の処理において設定した三角形ｉ（０≦ｉ＜Ｎｔｒｉ）のうちのｉｍｉｎ（ｎ）番目（但し、０≦ｎ＜Ｎｖｔ）の三角形に割当てる。そして、メッシュワーピング部１３２は、メッシュ頂点三次元座標値とそれが割当てられる三角形の識別情報とを、メッシュ頂点割当情報記憶部１３５に記憶されたメッシュ頂点割当情報に書き込む。メッシュワーピング部１３２は、２回目以降の処理において既に計算されたメッシュ頂点が再度選択された場合にメッシュ頂点割当情報記憶部１３５を参照するようにすれば、再度計算処理を行う必要がなく効率的な処理を行うことができる。
【００５２】
【数４】
2011039869.tif 000006
【００５３】
なお、式（４）における関数ｆ（ｘ）はペナルティ関数であり、メッシュ頂点が三角形内に含まれる場合にはこのペナルティ関数の値は０である。
【００５４】
次に、ステップＳ８０３において、メッシュワーピング部１３２は、ｎ番目のメッシュ頂点三次元座標値ｘ（ボールド体）ｎ，０≦ｎ＜ＮＶＴを、下の式（５）で示すｎ番目の修正メッシュ頂点三次元座標値ｘ（ボールド体）ｎ（ハット）（０≦ｎ＜ＮＶＴ）に置き換える。
【００５５】
【数５】
2011039869.tif 000007
【００５６】
式（５）において、ｐ＝ｉｍｉｎ（ｎ）であり、ｘ（ボールド体）ｐ，ｌ（ハット），０≦ｌ（エル）＜３は、前述した特徴点の三次元位置・頭部姿勢推定処理において推定した特徴点三次元座標値ｍ（ボールド体）ｊ（ハット），０≦ｊ＜ＮＦＰに対応するメッシュ頂点および固定頂点の三次元座標値である。
【００５７】
図１０は、三次元ＣＧ顔モデルのメッシュ頂点のワーピング処理を説明するための図である。同図は、前述した特徴点の三次元位置・頭部姿勢推定処理において推定した特徴点および固定頂点のうち３個のメッシュ頂点三次元座標値ｘ（ボールド体）ｐ，ｌ（ｌ（エル）∈｛０，１，２｝）が、映像データから推定された修正メッシュ頂点三次元座標値ｘ（ボールド体）ｐ，ｌ（ハット），ｌ（エル）∈｛０，１，２｝に置き換えられ、さらに、これら置き換えられた特徴点頂点および固定頂点に合わせて、一般メッシュ頂点のメッシュ頂点三次元座標値ｘ（ボールド体）ｎが修正メッシュ頂点三次元座標値ｘ（ボールド体）ｎ（ハット）に置き換えられた様子を示す。同図において、メッシュ頂点三次元座標値ｘ（ボールド体）ｐ，１は固定頂点であり、メッシュ頂点三次元座標値ｘ（ボールド体）ｐ，ｌ，ｌ（エル）∈｛０，２｝は特徴点に対応するメッシュ頂点である。
【００５８】
［テクスチャマッピング処理］
映像データの顔画像を三次元ＣＧ顔モデルに合わせてワーピングして生成した修正三次元ＣＧ顔モデルにテクスチャを貼り付ける（マッピングする）と、そのマッピング後の修正三次元ＣＧ顔モデルを任意の頭部姿勢でレンダリングしたときに、登録対象人物の顔テクスチャがその頭部姿勢で映ることになる。レンダリングされた修正三次元ＣＧ顔モデルの表面に映るテクスチャの質感は、頭部姿勢や照明条件等の他、ＵＶテクスチャ画像により定められるため、特定の人物の顔にモデルを合わせるためには、以下のようにしてＵＶテクスチャ画像の修正を行う。
【００５９】
図１１は、テクスチャマッピングされた三次元ＣＧ顔モデルとＵＶテクスチャ画像との関係を示す図である。同図（ａ）は、三次元ＣＧ顔モデルにテクスチャマッピングを施した状態を示すものであり、同図（ｂ）は、ＵＶテクスチャ画像にメッシュを重ね合わせた図である。同図が示すように、ＵＶテクスチャ画像にメッシュを重ね合わせると、ｎ番目のメッシュ頂点三次元座標値ｘ（ボールド体）ｎ（０≦ｎ＜ＮＶＴ）とＵＶテクスチャ画像上の画素位置である座標値（ｕｎ，ｖｎ）（０≦ｕｎ≦１，０≦ｖｎ≦１，０≦ｎ＜ＮＶＴ）とが関係付けられる。具体的には、ｎ番目のメッシュ頂点三次元座標値ｘ（ボールド体）ｎのデータが、ＵＶテクスチャ画像上の画素の座標値（ｕｎ，ｖｎ）を、ＵＶテクスチャ画像上へのポインタとして関連付けて有していることによって、これら両者が関係付けられる。
【００６０】
図１２は、ＵＶテクスチャ画像の修正処理の手順を示すフローチャートである。ステップＳ１２０１において、テクスチャマッピング部１３３は、三次元ＣＧ顔モデルのメッシュを構成する四角形以上の多角形を三角形に分割する。つまり、テクスチャマッピング部１３３は、三次元ＣＧ顔モデルのメッシュ頂点三次元座標値ｘ（ボールド体）ｊ（０≦ｊ＜Ｎ）に対応する頂点によって構成されるＮ角形を、｛ｘ０，ｘ１，ｘ２｝，｛ｘ０，ｘ２，ｘ３｝，・・・，｛ｘ０，ｘＮ−２，ｘＮ−１｝（ｘはそれぞれボールド体）を頂点とした（Ｎ−２）個の三角形に分割する。これによって、テクスチャマッピング部１３３が三次元ＣＧ顔モデル上に設ける三角形の個数をＮｕｖｔｒｉ個としたとき、ｉ番目の三角形｛ｘｉ，０，ｘｉ，１，ｘｉ，２｝（ｘはそれぞれボールド体）（０≦ｉ＜Ｎｕｖｔｒｉ）に、ＵＶテクスチャ画像におけるｉ番目の三角形｛（ｕｉ，０，ｖｉ，０），（ｕｉ，１，ｖｉ，１），（ｕｉ，２，ｖｉ，２）｝が対応付けられる。
【００６１】
次に、ステップＳ１２０２において、テクスチャマッピング部１３３は、ＵＶテクスチャ画像において、特徴点に対応するメッシュ頂点のうちの、１つのメッシュ頂点に対応する画素およびその近傍（半径＝Ｒ画素の範囲内）にある画素を選択する（それらの画素の座標を（ｕ，ｖ）で表わす）。
次に、ステップＳ１２０３において、画素（ｕ，ｖ）が選択されている場合（ステップＳ１２０３：ＹＥＳ）は、ステップＳ１２０４の処理に移る。一方、画素（ｕ，ｖ）が選択されていない場合（ステップＳ１２０３：ＮＯ）は、このフローチャートの処理を終了する。
【００６２】
ステップＳ１２０４において、テクスチャマッピング部１３３は、選択された画素（ｕ，ｖ）を、式（６）によってＵＶテクスチャ画像上のｉｍｉｎ（ｕ，ｖ）番目の三角形に割当てる。
【００６３】
【数６】
2011039869.tif 000008
【００６４】
テクスチャマッピング部１３３は、これらの各画素（ｕ，ｖ）と、その画素に割当てられた三角形の番号ｉｍｉｎ（ｕ，ｖ）とを、画素割当情報記憶部１３７に記憶される画素割当情報に書き込む。テクスチャマッピング部１３３は、２回目以降の処理において既に計算された画素（ｕ，ｖ）が再度選択された場合に画素割当情報記憶部１３７を参照するようにすれば、再度計算処理を行う必要がなく効率的な処理を行うことができる。
【００６５】
ここで、ｉｍｉｎ（ｕ，ｖ）を「ｉｍｉｎ」と表記する（以後において同様）。ステップＳ１２０４の処理で画素（ｕ，ｖ）が割り当てられたｉｍｉｎ番目の三角形の頂点を（ｕｉｍｉｎ，ｌ，ｖｉｍｉｎ，ｌ）（ｌ（エル）＝０，１，２）とし、これらが対応付けられた修正メッシュ頂点三次元座標値をｘ（ボールド体）ｉｍｉｎ，ｌ（ハット）（ｌ（エル）＝０，１，２）とし、それらに対応する三次元ＣＧ顔モデルの頂点における表面法線をｎ（ボールド体）ｉｍｉｎ，ｌ（ｌ（エル）＝０，１，２）とする。
【００６６】
次に、ステップＳ１２０５において、テクスチャマッピング部１３３は、映像データの各画像フレームにおける射影位置を推定する。具体的には、テクスチャマッピング部１３３は、式（７）により、修正メッシュ頂点三次元座標値ｘ（ボールド体）ｉｍｉｎ，ｌ（ハット）（ｌ（エル）＝０，１，２）を、前述した特徴点の三次元位置・頭部姿勢推定処理のステップＳ７０５の処理において推定した頭部姿勢Ｑ（ボールド体）ｋ（ハット），０≦ｋ＜Ｎｆｒａｍｅｓに基づいて変換し、これに映像データのｋ枚目の画像フレームにおける二次元の特徴点の重心ｙ（ボールド体）ｋ（バー），０≦ｋ＜Ｎｆｒａｍｅｓを加算して射影位置ｒ（ボールド体）ｉｍｉｎ，ｌｋ（ハット）を求める。
【００６７】
【数７】
2011039869.tif 000009
【００６８】
この射影位置ｒ（ボールド体）ｉｍｉｎ，ｌｋ（ハット）は、遮蔽されない（可視である）場合の、映像データのｋ枚目の画像フレームに当該頂点が射影される位置の推定値である。
【００６９】
次に、ステップＳ１２０６において、テクスチャマッピング部１３３は、ＵＶテクスチャ画像上の画素の、映像データの各画像フレームにおける射影位置を推定する。具体的には、テクスチャマッピング部１３３は、ステップＳ１２０５の処理で求めた射影位置ｒ（ボールド体）ｉｍｉｎ，ｌｋ（ハット）の、ステップＳ１２０４の処理で求めたｂ（ボールド体）ｉｍｉｎ＝ｂ（ボールド体）ｉｍｉｎ（ｕ，ｖ）による重み付組み合わせｒ（ボールド体）ｋ（ｕ，ｖ）（ハット）を下の式（８）のように計算し、ＵＶテクスチャ画像上の画素（ｕ，ｖ）に対応する、映像データのｋ枚目の画像フレームにおけるＲＧＢ値ｐ（ボールド体）ｋ（ｒ（ボールド体）ｋ（ｕ，ｖ）（ハット））（０≦ｋ＜Ｎｆｒａｍｅｓ）を求める。このＲＧＢ値ｐ（ボールド体）ｋ（ｒ（ボールド体）ｋ（ｕ，ｖ）（ハット））は、元の画像フレームに含まれていた濃淡・色彩情報である。
【００７０】
【数８】
2011039869.tif 000010
【００７１】
次に、ステップＳ１２０７において、テクスチャマッピング部１３３は、三次元ＣＧ顔モデルにおけるＵＶテクスチャ画像の画素（ｕ，ｖ）に対応する位置での表面法線を推定する。具体的には、テクスチャマッピング部１３３は、表面法線ｎ（ボールド体）ｉｍｉｎ，ｌ（ｌ（エル）＝０，１，２）の、ステップＳ１２０４の処理で求めたｂ（ボールド体）ｉｍｉｎ＝ｂ（ボールド体）ｉｍｉｎ（ｕ，ｖ）による重み付組み合わせｎ（ボールド体）（ｕ，ｖ）（ハット）を下の式（９）のように計算する。
【００７２】
【数９】
2011039869.tif 000011
【００７３】
次に、ステップＳ１２０８において、テクスチャマッピング部１３３は、映像データのｋ枚目の画像フレームにおける頭部姿勢Ｑ（ボールド体）ｋ（ハット）に基づいて回転された表面法線であるＱ（ボールド体）ｋ（ハット）ｎ（ボールド体）（ｕ，ｖ）（ハット）と視線の光軸（カメラの光軸）［００１］Ｔとの間の角度であるθｋ（ｕ，ｖ）（ハット）を用いて、下の式（１０）によって方向の重みαｋ（ｕ，ｖ）を計算する。なお、視線の光軸とは、画像フレームに映る頭部姿勢Ｑ（ボールド体）ｋ（ハット）を見る仮想的な観察者の視線、または頭部姿勢Ｑ（ボールド体）ｋ（ハット）を撮像する仮想的なカメラの撮像レンズの光軸のことである。
【００７４】
【数１０】
2011039869.tif 000012
【００７５】
方向の重みαｋ（ｕ，ｖ）は、式（１０）のｍの値をパラメータ（第２のパラメータ）設定によって調整できるようにする。このパラメータの調整により、映像データのｋ枚目の画像フレームにＵＶテクスチャ画像の画素（ｕ，ｖ）が映る位置における表面法線Ｑ（ボールド体）ｋ（ハット）ｎ（ボールド体）（ｕ，ｖ）（ハット）と視線の光軸（カメラの光軸）との、角度に対する方向の重みαｋ（ｕ，ｖ）の変化度合いを可変にすることができる。
【００７６】
一般的に、三次元コンピュータグラフィックスのレンダリング処理において、三次元モデルの表面のある箇所が遮蔽されているか否かを判定するためのＺバッファ計算の負担は大きい。しかしながら、本実施形態におけるテクスチャマッピング処理においては、人物の顔の形状がおおよそ凸面形状を有していることにより、上記の方向の重みαｋ（ｕ，ｖ）を用いることによって、ＵＶテクスチャ画像上の画素（ｕ，ｖ）の映像データの各画像フレームに映る位置ｒ（ボールド体）ｋ（ｕ，ｖ）（ハット）（０≦ｋ＜Ｎｆｒａｍｅｓ）が遮蔽されているか否かの計算を省略することができる。すなわち、方向の重みαｋ（ｕ，ｖ）が大きい程、当該頭部姿勢における当該位置ｒ（ボールド体）ｋ（ｕ，ｖ）（ハット）がより正対に近い形でカメラに向いており、よって当該位置が遮蔽されていない確率が高い。また、その方向からずれるに従って、方向の重みαｋ（ｕ，ｖ）の値が単調に減少していく。
方向の重みのこのような性質上、テクスチャマッピング部１３３は、三次元ＣＧ顔モデルに対する視線の光軸と三次元ＣＧ顔モデルの表面法線との角度に基づき、画像フレームに含まれるテクスチャをＵＶテクスチャ画像にマッピングする際の方向の重みαｋ（ｕ，ｖ）を調整することが好ましい。このようにすることにより、テクスチャの解像度を高く維持することができる。
【００７７】
次に、ステップＳ１２０９において、テクスチャマッピング部１３３は、前述した特徴点の三次元位置・頭部姿勢推定処理のステップＳ７０４の処理において推定した特徴点三次元座標値ｍ（ボールド体）ｊ（ハット），０≦ｊ＜ＮＦＰに対応するメッシュ頂点に対応付けられたＵＶテクスチャ画像上の画素位置（ｕｊ，ｖｊ），０≦ｊ＜ＮＦＰへの、ＵＶテクスチャ画像におけるユークリッド距離による距離の重みδ（ｕ，ｖ）を下の式（１１）により計算する。
【００７８】
【数１１】
2011039869.tif 000013
【００７９】
距離の重みδ（ｕ，ｖ）は、式（１１）のｎの値をパラメータ（第１のパラメータ）設定によって調整できるようにする。このパラメータの調整により、ＵＶテクスチャ画像上の特徴点からの距離が遠いほど距離の重みδ（ｕ，ｖ）が小さくなるときに、距離に対する距離の重みδ（ｕ，ｖ）の変化度合いを可変にすることができる。
【００８０】
次に、ステップＳ１２１０において、テクスチャマッピング部１３３は、距離の重みδ（ｕ，ｖ）および方向の重みαｋ（ｕ，ｖ）を用いてＵＶテクスチャ画像上の画素（ｕ，ｖ）におけるＲＧＢベクトル値を更新する。具体的には、テクスチャマッピング部１３３は、画素（ｕ，ｖ）におけるＲＧＢベクトルｔ（ボールド体）（ｕ，ｖ）を式（１２）によって計算し、画素（ｕ，ｖ）における初期のテクスチャ値ｔ（ボールド体）０（ｕ，ｖ）をｔ（ボールド体）（ｕ，ｖ）で更新する。
【００８１】
【数１２】
2011039869.tif 000014
【００８２】
式（１２）おいて、ｔ（ボールド体）０（ｕ，ｖ）は、三次元ＣＧ顔モデル上のＵＶテクスチャ画像の画素（ｕ，ｖ）における初期ＲＧＢベクトル値（テクスチャ値）である。定数γは、このｔ（ボールド体）０（ｕ，ｖ）と、映像データから三次元ＣＧ顔モデルに貼り付けるテクスチャとのバランスを調整するものである。ｗ（ボールド体）（ｕ，ｖ）は、映像データの平均輝度をｔ（ボールド体）０（ｕ，ｖ）の平均輝度に合わせるための調整量である。この調整は、例えば、ヒストグラムイコライゼーション等の前処理によって、映像データの輝度を三次元ＣＧ顔モデルのテクスチャの輝度に合わせるようにする。
【００８３】
また、式（１２）に示すように、テクスチャマッピング部１３３は、ｋ番目の画像フレームにおけるＲＧＢ値ｐ（ボールド体）ｋ（ｒ（ボールド体）ｋ（ｕ，ｖ）（ハット））に、方向の重みαｋ（ｕ，ｖ）を乗じる計算を行っている。つまり、テクスチャマッピング部１３３は、元の画像フレームに含まれる濃淡・色彩情報を二次元顔テクスチャ画像にマッピングする際に、この方向の重みによる調整を行なっている。
同じく、テクスチャマッピング部１３３は、Ｎｆｒａｍｅｓ枚の画像フレームについてのＲＧＢ値の総和（但し、上記の方向の重みで調整したもの）に、距離の重みδ（ｕ，ｖ）を乗じる計算を行っている。つまり、テクスチャマッピング部１３３は、元の画像フレームに含まれる濃淡・色彩情報を二次元顔テクスチャ画像にマッピングする際に、この距離の重みによる調整を行なっている。
前述の通り、式（１０）のｍの値をパラメータ（第２のパラメータ）設定によって調整可能としており、これにより、三次元ＣＧ顔モデルの表面法線と視線の光軸（カメラの光軸）とがなす角度に対する方向の重みαｋ（ｕ，ｖ）の変化度合いを可変としている。また、式（１１）のｎの値をパラメータ（第１のパラメータ）設定によって調整可能としており、これにより、ＵＶテクスチャ画像上の特徴点からの距離に対する距離の重みδ（ｕ，ｖ）の変化度合いを可変としている。このようにｍとｎの両方を可変とした場合に、両者の重みのバランスを調整することができる。例えば、角度に対する方向の重みの変化度合いが比較的なだらかになるように調整した場合、表面法線と視線の光軸がなす角度がある程度大きくても、単なるＵＶテクスチャ画像の値だけではなく、現実に撮像した結果である画像フレームにおけるＲＧＢ値がある程度反映された特徴量をデータベースに登録することができる。
【００８４】
［レンダリング処理］
レンダリング部１４０は、三次元推定部１３０で修正した修正三次元ＣＧ顔モデルを所定の頭部姿勢（θｙ，θｘ１）に回転させ、レンダリング処理を行って合成顔画像モデルを生成する。なお、θｙは顔の鉛直方向の軸を中心とする角度、θｘ１は顔の水平方向の軸を中心とする角度を示す。レンダリング部１４０は、三次元ＣＧ顔モデルの鉛直方向の軸を中心とした回転、次に水平方向の軸を中心とした回転を行う。よって、鉛直方向の回転軸は三次元ＣＧ顔モデルのｙ軸であり、水平方向の回転軸は水平方向であり且つ顔正面と平行な軸である。即ち、水平方向の回転軸そのものが、鉛直方向の回転軸を中心とする回転によって回転する。
【００８５】
具体的には、レンダリング部１４０は、特徴点三次元座標値ｍ（ボールド体）ｊ（ハット）∈Ｒ３，０≦ｊ＜ＮＦＰを推定した各特徴点が、頭部姿勢（θｙ，θｘ１）でレンダリングされた画像Ｒθｙ，θｘ１（ｚ（ボールド体）），ｚ（ボールド体）∈Ｒ２に見えるか否かを示す可視性ｖ（ボールド体）θｙ，θｘ１ｊ∈｛０，１｝（０≦ｊ＜ＮＦＰ）と、ｖ（ボールド体）θｙ，θｘ１ｊ＝１（可視）である場合に、その特徴点が画像Ｒθｙ，θｘ１（ｚ（ボールド体））に映る位置ｚ（ボールド体）θｙ，θｘ１ｊとを計算してレンダリング処理を行う。つまり、レンダリング部１４０は、特徴点の二次元座標値データを算出する。
【００８６】
［データベース登録処理］
データベース登録部１５０は、レンダリング部１４０がレンダリング処理した画像Ｒθｙ，θｘ１（ｚ（ボールド体））上の可視である（ｖ（ボールド体）θｙ，θｘ１ｊ＝１）特徴点の座標ｚ（ボールド体）θｙ，θｘ１ｊにおける、ガボールウェーブレット特徴ｆθｙ，θｘ１ｊ（ｒ，θ）を、Ｎｒｅｓ個の解像度ｒ∈｛ｒ０，ｒ１，・・・，ｒＮｒｅｓ−１｝と、Ｎｏｒｎ個の方位φ∈｛φ０，・・・，φＮｏｒｎ−１｝とによる一点畳み込み計測を式（１３）によって行う。
【００８７】
【数１３】
2011039869.tif 000015
【００８８】
次に、データベース登録部１５０は、図５に示す可変テンプレート構造体を生成してデータを各メンバに格納し、顔特徴データベース部１６０に登録する。具体的には、データベース登録部１５０は、登録人物ごとに、登録対象人物の氏名または登録人物を特定するための名称、および識別情報を人物識別情報に格納し、頭部姿勢の個数分の頭部姿勢インデックスと各頭部姿勢における特徴点情報とを格納する。頭部姿勢インデックスは、頭部姿勢（θｙ，θｘ１）である。特徴点情報には、特徴点番号ｊ番目（０≦ｊ＜ＮＦＰ）に対応させて、示す可視性フラグｖθｙ，θｘ１ｊと、その特徴点の特徴点二次元座標値ｚ（ボールド体）θｙ，θｘ１ｊと、Ｎｒｅｓ個の解像度（ウェーブレットサイズ）×Ｎｏｒｎ個の方位におけるガボールウェーブレット特徴ｆθｙ，θｘ１ｊ（ｒ，θ）とを格納する。
【００８９】
［顔の三次元モデル推定処理］
図１に示す三次元推定部１３０の位置・姿勢推定部１３１による、各特徴点の三次元座標値と画像フレームごとの頭部姿勢との推定処理の具体例を以下に示す。以下の説明においては、位置・姿勢推定部を三次元形状推定装置として説明する。
【００９０】
従来、コンピュータビジョンにおいて、動画または静止画の集合に写った物体（被写体）の表面に複数の特徴点を見つけ、当該動画の各フレーム上または当該静止画の集合中の各静止画上に映っているそれらの各特徴点の二次元位置を推定し、その結果によりさらに物体の三次元形状（つまり、物体の表面上における各特徴点の三次元位置）を推定する問題がよく知られている。特に、対象が動画である場合、「Shape from motion」（動きより形状）または「Structure from motion」と呼ばれ、隣接した動画フレーム同士に同じ特徴点を見つけ（「correspondence problem」、対応点問題）、そしてその物体の三次元形状を推定する問題である。
【００９１】
ここで、対応点問題が解決済みであるとし、Ｋ枚の動画フレームまたは静止画ごとに、最大Ｊ個の特徴点の観測（位置）データが手動により、または、特徴点追跡システム等の他の装置により入力されたとする。このとき、ｋ枚目（０≦ｋ＜Ｋ）の画像における、ｊ番目（０≦ｊ＜Ｊ）の特徴点の観測データは、以下の要素ｘｋｊ、ｙｋｊからなる行列ｘｋｊにより示される。ここで、行列ｘｋｊの要素ｘｋｊ、要素ｙｋｊは、ｋ枚目の画像をｘ軸、ｙ軸からなる座標平面で表したときのｊ番目の特徴点のｘ座標値、ｙ座標値に相当する。
【００９２】
【数１４】
2011039869.tif 000016
【００９３】
このデータは以下の式（１５）により生成されたとする。
【００９４】
【数１５】
2011039869.tif 000017
【００９５】
ここで行列ｍｊ∈Ｒ３は被写体の表面上のｊ番目の特徴点の三次元位置、行列Ｓｋ∈Ｒ２×３はｋ枚目の画像で示された被写体の向き（三次元位置からｋ枚目の画像への線形的変換）、行列ｕｋｊは観測ノイズであるとする（Ｒは、行列のランク（階数）を示し、列ベクトルの一次独立なものの最大個数を示す）。つまり、行列ｘｋｊで示されるｋ枚目の画像におけるｊ番目の特徴点の位置は、元の被写体における当該ｊ番目の特徴点の三次元位置を示す三次元形状モデルｍｊに、ｋ枚目の画像が得られたときの被写体の向きを示す形状変換Ｓｋを作用させて二次元座標値への線形的変換を行ない、その後、ｋ枚目の画像におけるｊ番目の特徴点についての二次元の観測ノイズｕｋｊを加えたものである。
【００９６】
すべての動画フレームまたは静止画に、すべての特徴点が見えている場合には問題が解決しやすくなる（文献１：Tomasi, C., Kanade, T.，”Shape and Motion from Image Streams: a Factorization Method.”，Carnegie-Mellon Univ. ，(CMU) CS-92-104，1992年.）。式（１５）について、ｋ（０≦ｋ＜Ｋ）を行に対して順に、かつ、ｊ（０≦ｊ＜Ｊ）を列に対して順に並べると以下が得られる。
【００９７】
【数１６】
2011039869.tif 000018
【００９８】
ここで、Ｘ，Ｕ∈Ｒ２Ｋ×Ｊ、Ｓ∈Ｒ２Ｋ×３、Ｍ∈Ｒ３×Ｊである。
上記文献１、及び（文献２：Tomasi, C., Kanade, T. ，”Shape and motion from image streams under orthography: a factorization method”，Int. Journal of Computer Vision，vol. 9, no. 2，1992年.）によれば、式（１６）に現れるＳＭのランクが３であることから、Ｘの特異値分解（Singular Value Decomposition, SVD）により求められる最大の３つの固有値がＳＭ＋Ｕの固有値であり、残りがＵだけの固有値である。そこで、該当する３つの固有ベクトルから、ＳＭの因数行列であるＳＦとＦ−１Ｍ（Ｆ∈Ｒ３×３）を推定する。
【００９９】
三次元形状推定装置は、人物不特定（ジェネリック）な三次元の顔モデルにより顔特徴点の三次元形状の推定値を初期化した後、（１）動画を構成する各フレームまたは複数の各静止画における人物の顔の向きの推定値の計算、（２）顔特徴点の三次元形状の推定値の計算、の２つの計算処理を交互に繰り返して修正していくことにより、顔の三次元形状を推定した結果を取得する。この三次元形状推定手順は、被写体、すなわち、三次元形状の推定対象が顔であり、被写体が異なっても特徴点の位置に極端な差がなく、また、同じ被写体についてはどの画像（顔の向き）でも三次元における特徴点間の位置関係がほぼ変化しないことを利用したものである。なお、以下、顔特徴点を単に「特徴点」とも記載する。
【０１００】
［１．  三次元形状推定装置の第１の形態］
第１の形態による三次元形状推定装置は、動画を構成する各フレームまたは複数の各静止画全てにおいて被写体の顔上の全ての特徴点が見えているときの、当該被写体の顔の三次元モデルを推定する。
【０１０１】
［１．１  装置構成］
図１３は、第１の形態による三次元形状推定装置の内部機能を示すブロック図であり、本形態に関係する機能ブロックのみ抽出してある。同図に示す三次元形状推定装置１は、例えば、パーソナルコンピュータやワークステーションなどのコンピュータ装置により実現され、入力部２、記憶部３、初期化部４、変換推定部５、形状推定部６、制御部７、及び、出力部８を含む。
【０１０２】
入力部２は、顔のジェネリックな三次元モデルにおける特徴点の三次元座標値のデータ、及び、被写体の特徴点観測データの入力を受ける。特徴点観測データは、動画を構成する各フレームまたは複数の各静止画における、複数の向きから撮像された被写体の顔上の各特徴点の二次元座標値を示す。入力部２は、例えば、キーボードなどにより、ユーザが入力したデータを受けることでもよく、三次元形状推定装置１に接続される他のコンピュータ装置からデータを受信することでもよく、コンピュータ読み取り可能な記録媒体からデータを読み出したりすることでもよい。
【０１０３】
記憶部３は、観測情報記憶部３１、推定三次元形状モデル記憶部３２、推定形状変換行列記憶部３３を備える。観測情報記憶部３１は、特徴点観測データを記憶する。推定三次元形状モデル記憶部３２は、被写体の顔の三次元モデルの推定値を記憶する。推定形状変換行列記憶部３３は、形状変換の推定値、すなわち、カメラに対する顔の向きの推定値を記憶する。
【０１０４】
初期化部４は、入力部２により入力された、顔のジェネリックな三次元モデルにおける特徴点の三次元座標値により、被写体の顔の三次元モデルの推定値を初期化する。変換推定部５は、現在の顔の三次元モデルの推定値を固定したときの形状変換の推定値を算出する。形状推定部６は、現在の形状変換の推定値を固定した場合の、被写体の顔の三次元モデルの推定値を算出する。制御部７は、変換推定部５及び形状推定部６を繰り返し動作させる。出力部８は、被写体の顔の三次元モデルの推定値をディスプレイに表示させたり、プリンタなどにより印刷させたりする。あるいは、三次元形状推定装置１に接続される他のコンピュータ装置に当該推定値のデータを送信したり、コンピュータ読み取り可能な記録媒体に該推定値のデータを書き込むことでもよい。
【０１０５】
また、図１４（ａ）は、顔のジェネリックな三次元モデルにおける特徴点を示し、図１４（ｂ）は、図１４（ａ）に示される三次元モデルにおける顔上のＪ個の各特徴点の三次元座標値のデータの例を示す。
図１５（ａ）は、Ｋ枚のフレームまたは静止画に写っている被写体の顔上の特徴点を示し、図１５（ｂ）は、図１５（ａ）に示されるＫ枚の各フレームまたは静止画それぞれにおける被写体の顔上のＪ個の各特徴点の二次元座標値を示す特徴点観測データの例を示す。
【０１０６】
［１．２  アルゴリズム］
次に、本形態の三次元形状推定装置１が実行するアルゴリズムを説明する。
【０１０７】
（ａ）初期化；
まず、人物不特定（ジェネリック）な三次元の顔特徴点配置モデルであるＭ（０）により、被写体の顔上の特徴点の三次元位置を示す三次元形状モデルＭの推定値を初期化する。この、三次元形状モデルＭの推定値を推定三次元形状モデルＭ＾と表す（「＾」（ハット）は、推定値であることを示す）。なお、三次元をｘ軸、ｙ軸、ｚ軸で表し、ｊ番目の特徴点のｘ座標を座標ｘｊ，ｙ座標を座標ｙｊ，ｚ座標を座標ｚｊとすると、三次元形状モデルＭは、以下の式（１７）のような行列である。また、Ｍ（０）も三次元形状モデルＭと同様の行列であるが、各要素として、ジェネリックな三次元の顔特徴点配置モデルにおける各特徴点のｘ座標値，ｙ座標値，ｚ座標値が設定される。
【０１０８】
【数１７】
2011039869.tif 000019
【０１０９】
（ｂ）変換形状の推定；
次に、現在の推定三次元形状モデルＭ＾が、正しい特徴点の三次元配置（モデル）であると仮定し、この推定三次元形状モデルＭ＾から、各入力画像における特徴点観測データＸへの変換を示す形状変換Ｓを推定する。
【０１１０】
ここで、ｋ番目の画像におけるｊ番目の特徴点のｘ座標を座標ｘｋｊ，ｙ座標を座標ｙｋｊとすると、ｋ番目の画像における特徴点観測データを示す行列Ｘｋは以下の式（１８）で表され、全画像において計測された特徴点の位置を示す特徴点観測データＸは、行列Ｘ０〜Ｘ（Ｋ−１）を１行目から順に並べた行列となる。
【０１１１】
【数１８】
2011039869.tif 000020
【０１１２】
また、形状変換Ｓは、拡大／縮小、回転、ｘ−ｙ平面への直交射影を示し、ｋ番目の画像における形状変換Ｓｋは以下の式（１９）で表され、全画像における形状変換Ｓは、各画像についての形状変換Ｓ０〜Ｓ（Ｋ−１）を１行目から順に並べた行列となる。
【０１１３】
【数１９】
2011039869.tif 000021
【０１１４】
式（１６）において、観測ノイズが無視できると考えた場合、Ｘ＝ＳＭとなる。このとき、再射影(reprojection)エラー‖Ｘ−Ｓ＾Ｍ＾‖２が小さいほど、推定形状変換Ｓ＾，推定三次元形状モデルＭ＾がより正しい値に近いといえる。特徴点観測データＸ，推定三次元形状モデルＭ＾が与えられた場合、再射影エラー‖Ｘ−Ｓ＾Ｍ＾‖２を最小とする推定形状変換Ｓ＾は、最小自乗法（ＬＳ；least squares）により、以下の式（２０）により算出できる。
【０１１５】
【数２０】
2011039869.tif 000022
【０１１６】
（ｃ）被写体の三次元モデルの推定；
次に、手順（ｂ）により推定した推定形状変換Ｓ＾が正しい変換であると仮定し、推定形状変換Ｓ＾により変換された三次元形状モデルの特徴点が、各入力画像における特徴点観測データＸに成るべく近づく様に、推定三次元形状モデルＭ＾自体を変形させる。特徴点観測データＸ，推定形状変換Ｓ＾が与えられた場合、再射影エラー‖Ｘ−Ｓ＾Ｍ＾‖２を最小とする推定三次元形状モデルＭ＾は、最小自乗法により、以下の式で算出できる。
【０１１７】
【数２１】
2011039869.tif 000023
【０１１８】
（ｄ）繰り返し処理；
手順（ｂ）に戻り、手順（ｂ）及び手順（ｃ）を繰り返す。つまり、推定形状変換Ｓ＾の１、２、…回目の推定値をＳ＾（１）、Ｓ＾（２）、…と表し、推定三次元形状モデルＭ＾の１、２、…回目の推定値をＭ＾（１）、Ｍ＾（２）、…と表すと、以下のような順で算出が行なわれる。
【０１１９】
【数２２】
2011039869.tif 000024
【０１２０】
上記の繰り返しが終了したときの推定三次元形状モデルＭ＾を、被写体における特徴点の三次元位置を示す推定値とする。
【０１２１】
［１．３  三次元形状推定装置１の処理手順］
次に、上記のアルゴリズムを用いた三次元形状推定装置１の処理手順について説明する。図１６は、三次元形状推定装置１の処理手順を示すフローチャートである。
【０１２２】
（ステップＳ１１）三次元形状推定装置１の入力部２は、特徴点観測データ（図１５（ｂ）参照）の入力を受け、観測情報記憶部３１に書き込む。具体的には、Ｋ枚の各フレームまたは各静止画に登場する人物の顔における複数（Ｊ個）の特徴点それぞれの二次元座標置が特徴点観測データＸとして入力される。これは、例えば、三次元形状推定装置１に接続される他のコンピュータ装置、例えば、顔特徴点追跡システムから入力を受けることでもよく、キーボードなどによりユーザが手入力した情報を受けることでもよい。
【０１２３】
（ステップＳ１２）次に、人物不特定（ジェネリック）な顔特徴点配置モデルにより形状変換の推定値を初期化する。入力部２は、ジェネリックな顔の三次元モデルにおけるＪ個の特徴点それぞれの三次元位置のデータ、すなわち、三次元形状モデルＭ（０）（図１４（ｂ）参照）のデータの入力を受ける。初期化部４は、入力された三次元形状モデルＭ（０）を、被写体の推定三次元形状モデルＭ＾の初期値として、推定三次元形状モデル記憶部３２に書き込む。
【０１２４】
（ステップＳ１３）変換推定部５は、推定三次元形状モデル記憶部３２に記憶されている現在の推定三次元形状モデルＭ＾が、実際の特徴点の三次元配置（モデル）であると仮定し、この推定三次元形状モデルＭ＾から、各入力画像における特徴点観測データＸへの変換を示す形状変換Ｓを推定する。つまり、変換推定部５は、推定三次元形状モデル記憶部３２に記憶されている現在の推定三次元形状モデルＭ＾、及び、観測情報記憶部３１に記憶されている特徴点観測データＸの値を読み出して上記式（２０）に代入し、推定形状変換Ｓ＾を算出する。変換推定部５は、この算出結果により、推定形状変換行列記憶部３３に保持している現在の推定形状変換Ｓ＾を更新する。
【０１２５】
（ステップＳ１４）形状推定部６は、ステップＳ１３において推定した推定形状変換Ｓ＾が正しい変換であると仮定し、推定形状変換Ｓ＾により変換された三次元モデルの特徴点が、各入力画像における特徴点観測データＸになるべく近づく様に推定三次元形状モデルＭ＾自体を変形させる。つまり、形状推定部６は、推定形状変換行列記憶部３３に記憶されている現在の推定形状変換Ｓ＾、及び、観測情報記憶部３１に記憶されている特徴点観測データＸの値を読み出して上記式（２１）に代入し、推定三次元形状モデルＭ＾を算出する。形状推定部６は、この算出結果により、推定三次元形状モデル記憶部３２に保持されている現在の推定三次元形状モデルＭ＾を更新する。
【０１２６】
（ステップＳ１５）制御部７は、ステップＳ１３における変換推定部５による推定形状変換Ｓ＾の更新と、ステップＳ１４における形状推定部６による推定三次元形状モデルＭ＾の更新とを交互に繰り返すよう制御する。制御部７は、所定の終了条件に合致したと判断した場合、例えば、‖Ｘ−Ｓ＾Ｍ＾‖２について、前回算出したときの値との差分を算出し、その差分が所定の閾値以下になった場合に繰り返し処理を終了する。出力部８は、繰り返し処理を終了したときに推定三次元形状モデル記憶部３２に記憶されている推定三次元形状モデルＭ＾を、被写体における特徴点の三次元位置の推定結果として出力する。
【０１２７】
［２．  三次元形状推定装置の第２の形態］
第２の形態による三次元形状推定装置は、動画を構成する各フレームまたは複数の各静止画において被写体の顔上の全ての特徴点が見えていない場合が含まれるときの、当該被写体の顔の三次元モデルを推定する。本形態では、特徴点が動画のフレームまたは静止画によっては可視・不可視となっている場合に対応するために、問題を画像ごと、及び、特徴点ごとに分割する。つまり、（１）画像ごとに分割したそれぞれについて、動画を構成する各フレームまたは複数の各静止画における人物の顔の向きの推定値を計算、（２）特徴点毎に分割したそれぞれについて、顔特徴点の三次元形状の推定値を計算、の２つの計算処理を交互に繰り返して推定値を修正していく。これにより、問題を画像ごと、及び、特徴点ごとに分割しても、だんだんと安定した解に近づいていく。
【０１２８】
［２．１  装置構成］
図１７は、第２の形態による三次元形状推定装置の内部機能を示すブロック図であり、本形態に関係する機能ブロックのみ抽出してある。同図において、図１３に示す第１の形態の三次元形状推定装置１と同じ構成には同じ符号を付し、その説明を省略する。
【０１２９】
変換推定部５ａは、画像単位分割部５１、画像別変換推定部５２、直交拘束部５３及び形状変換行列統合部５４を備える。画像単位分割部５１は、三次元モデルにおける各特徴点の推定位置、及び、特徴点観測データを画像毎に分割する。画像別変換推定部５２は、画像別に形状変換の部分行列の推定値を算出する。直交拘束部５３は、推定された形状変換の部分行列に対して直交拘束を施す。形状変換行列統合部５４は、画像別に推定され、直交変換が施された形状変換の部分行列を統合する。
【０１３０】
形状推定部６ａは、特徴点単位分割部６１、特徴点別形状推定部６２、及び、三次元形状モデル統合部６３を備える。特徴点単位分割部６１は、形状変換の推定値、及び、特徴点観測データを特徴点毎に分割する。特徴点別形状推定部６２は、特徴点別に、被写体の顔の三次元モデル推定値を算出する。三次元形状モデル統合部６３は、特徴点別に推定された三次元モデルの推定値を統合する。
【０１３１】
［２．２  アルゴリズム］
次に、本形態の三次元形状推定装置１ａが実行するアルゴリズムを説明する。
【０１３２】
（ａ）画像毎の変換形状の推定；
まず、画像毎に問題を分割して変換形状を推定する。そこで、ｋ（０≦ｋ＜Ｋ）枚目の入力動画フレームまたは静止画について、新しい画像別推定三次元形状モデルＭ＾ｋを定義する。これは元の推定三次元形状モデルＭ＾に、ｋ枚目の画像で遮蔽されている特徴点をゼロに置き換えたものである。
【０１３３】
【数２３】
2011039869.tif 000025
【０１３４】
一方、以下の式（２４）により、式（１６）を水平方向、つまり、画像単位に分割することが出来る。ここで、画像別特徴点観測データＸｋ、画像別形状変換ＳＫ、画像別ノイズＵＫは、特徴点観測データＸ、形状変換Ｓ、ノイズＵを画像ｋの要素の行について抽出した行列である。
【０１３５】
【数２４】
2011039869.tif 000026
【０１３６】
同様に、以下の式（２５）により、式（２０）を画像単位に分割することができる。
【０１３７】
【数２５】
2011039869.tif 000027
【０１３８】
式（２５）を用いて、最小自乗法により、各画像ｋについての画像別推定形状変換Ｓ＾ｋが得られる。この段階で、推定した形状変換が直交となるよう拘束するために、式（２６）により、画像別推定形状変換Ｓ＾ｋを直交化させたものに置き換える。これは、同じ被写体については顔の向きに関わらず、同じ被写体についてはどの画像（顔の向き）でも三次元における特徴点間の位置関係がほぼ変化しないため、形状変換が、拡大・縮小を行わず、上下方向の回転及び左右方向の回転の組み合わせのみを行うものと仮定できることによる。
【０１３９】
【数２６】
2011039869.tif 000028
【０１４０】
なお、式（２６）における画像別推定直交化形状変換Ｑ＾ｋが、直交化した画像別推定形状変換Ｓ＾ｋである。画像別推定直交化形状変換Ｑ＾ｋは、直交であるため、以下の式（２７）が成り立つ。
【０１４１】
【数２７】
2011039869.tif 000029
【０１４２】
ここでは、Ｉ２は２×２の単位行列である。また、画像別推定直交化形状変換Ｑ＾Ｋの拡大縮小率は、画像別推定形状変換Ｓ＾Ｋのものと等しいため、以下の式（２８）が成り立つ。
【０１４３】
【数２８】
2011039869.tif 000030
【０１４４】
上記により推定された各画像ｋに対する画像別推定直交化形状変換Ｑ＾ｋを行列の列方向に並べることにより、式（１６）における形状変換Ｓに置き換えることが可能な推定直交化形状変換Ｑ＾を、以下の式（２９）により求める。なお、行列Ｖはノイズである。
【０１４５】
【数２９】
2011039869.tif 000031
【０１４６】
（ｂ）特徴点毎の三次元モデルの推定；
次に、特徴点ごとに問題を分割して、三次元モデルを推定する。そこで、ｊ番目の特徴点について、新しい特徴点別推定直交化形状変換Ｑ＾ｊを定義する。これは、以下の式（３０）のように、元の推定直交化形状変換Ｑ＾に、j番目の特徴点が遮蔽されている画像ｋのデータをゼロに置き換えたものである。
【０１４７】
【数３０】
2011039869.tif 000032
【０１４８】
ここで、ｍ∈｛２ｋ，２ｋ＋１｝である。そして式（２９）を、以下の式（３１）を垂直方向、つまり、特徴点毎に分割することが出来る。ここで、特徴点別特徴点観測データＸｊ、特徴点別推定三次元形状モデルＭ＾ｊ、特徴点別ノイズＵｊは、特徴点観測データＸ、推定三次元形状モデルＭ＾、ノイズＵを特徴点ｊの列の要素について抽出した行列である。
【０１４９】
【数３１】
2011039869.tif 000033
【０１５０】
同様に式（２１）を以下の式（３２）のように分割することが出来る。
【０１５１】
【数３２】
2011039869.tif 000034
【０１５２】
式（３２）を用いて、最小自乗法により、各特徴点ｊについての特徴点別推定三次元形状モデルＭ＾ｊが得られる。こうして得られた各特徴点ｊについて特徴点別推定三次元形状モデルＭ＾ｊを行方向に並べることができる。すると式（２９）が以下の式（３３）のようになる。ここで行列Ｗもまたノイズである。
【０１５３】
【数３３】
2011039869.tif 000035
【０１５４】
（ｃ）繰り返し処理；
手順（ａ）に戻り、手順（ａ）及び手順（ｂ）を繰り返し、繰り返しが終了したときの推定三次元形状モデルＭ＾を、被写体における特徴点の三次元位置を示す推定値とする。
【０１５５】
［２．３  三次元形状推定装置１ａの処理手順］
次に、上記のアルゴリズムを用いた三次元形状推定装置１ａの動作について説明する。図１８は、三次元形状推定装置１ａの処理手順を示すフローチャートである。
【０１５６】
（ステップＳ２１）上述した第１の形態におけるステップＳ１１と同様に、三次元形状推定装置１ａの入力部２は、特徴点観測データ（図１５（ｂ）参照）の入力を受け、観測情報記憶部３１に書き込む。ただし、動画を構成する各フレームまたは複数の各静止画における複数の特徴点はすべて見えていない場合があり、見えていない特徴点については、例えば、データが入力されないか、あるいは、０等の特徴点が見えないことを示す情報が入力される。つまり、Ｋ枚の各フレームまたは各静止画に登場する人物の顔における複数（最大Ｊ個）の特徴点それぞれの二次元座標値が特徴点観測データＸとして入力される。
【０１５７】
（ステップＳ２２）次に、入力部２は、ジェネリックな顔の三次元モデルにおけるＪ個の特徴点それぞれの三次元座標値のデータ、すなわち、三次元形状モデルＭ＾（０）のデータ（図１４（ｂ）参照）の入力を受ける。初期化部４は、入力された三次元形状モデルＭ＾（０）を、被写体の推定三次元形状モデルＭ＾の初期値として、推定三次元形状モデル記憶部３２に書き込む。
【０１５８】
（ステップＳ２３）変換推定部５ａの画像単位分割部５１は、推定三次元形状モデル記憶部３２に記憶されている推定三次元形状モデルＭ＾と、観測情報記憶部３１に記憶されている特徴点観測データＸを読み出す。そして、式（３２）を用いて、ｋ（０≦ｋ＜Ｋ）枚目の入力動画フレームまたは静止画それぞれについて、読み出した推定三次元形状モデルＭ＾から、ｋ枚目の画像で遮蔽されている特徴点をゼロに置き換えた新しい推定三次元形状モデルＭ＾０〜Ｍ＾（Ｋ−１）を生成する。どの画像において、どの特徴点が遮蔽されているかについては、特徴点観測データＸとしてデータが入力されなかったか、あるいは、入力された特徴点観測データＸに、特徴点が見えないことを示す情報が設定されていることから判断することができる。さらに、画像単位分割部５１は、特徴点観測データＸから、各画像ｋ（０≦ｋ＜Ｋ）についての行を抽出した特徴点観測データＸ０〜Ｘ（Ｋ−１）を生成する。
【０１５９】
（ステップＳ２４）変換推定部５ａは、以下のステップＳ２４−１〜Ｓ２４−３により、各画像について推定した形状変換を算出する。
【０１６０】
（ステップＳ２４−１）画像別変換推定部５２は、各画像ｋ（０≦ｋ＜Ｋ）について、ステップＳ２３において生成した画像別推定三次元形状モデルＭ＾ｋと、画像別特徴点観測データＸｋを用い、式（２５）に従って、最小自乗法より画像別推定形状変換Ｓ＾ｋを算出する。
（ステップＳ２４−２）続いて、直交拘束部５３は、式（２６）に従って、ステップＳ２４−１により算出された画像別推定形状変換Ｓ＾ｋを直交拘束し、画像別推定直交化形状変換Ｑ＾ｋを算出する。
【０１６１】
（ステップＳ２５）形状変換行列統合部５４は、ステップＳ２４−２により算出された各画像毎の画像別推定直交化形状変換Ｑ＾０〜Ｑ＾（Ｋ−１）を、行方向に順に並べて生成した行列により、推定形状変換行列記憶部３３に保持されている推定直交化形状変換Ｑ＾を更新する。
【０１６２】
（ステップＳ２６）形状推定部６ａの特徴点単位分割部６１は、推定三次元形状モデル記憶部３２からステップＳ２５において更新された推定直交化形状変換Ｑ＾と、観測情報記憶部３１に記憶されている特徴点観測データＸを読み出す。そして、特徴点観測データＸを参照して、どの画像において、どの特徴点が遮蔽されているかを判断すると、式（２１）を用い、読み出した推定直交化形状変換Ｑ＾から、ｊ番目の特徴点が遮蔽している画像ｋのデータをゼロに置き換えた新しい特徴点別推定直交化形状変換Ｑ＾０〜Ｑ＾（Ｊ−１）を生成する。さらに、特徴点単位分割部６１は、特徴点観測データＸから、各特徴点ｊ（０≦ｊ＜Ｊ）について抽出した特徴点別特徴点観測データＸ０〜Ｘ（Ｊ−１）を生成する。
【０１６３】
（ステップＳ２７）特徴点別形状推定部６２は、各特徴点ｊ（０≦ｊ＜Ｊ）について、ステップＳ２６において生成した特徴点別推定三次元形状モデルＭ＾ｊと、特徴点別特徴点観測データＸｊを用い、式（３２）に従って、最小自乗法より特徴点別推定三次元形状モデルＭ＾ｊを算出する。
【０１６４】
（ステップＳ２８）三次元形状モデル統合部６３は、ステップＳ２７により算出された特徴点別推定三次元形状モデルＭ＾０〜Ｍ＾（Ｊ−１）を、列方向に順に並べて生成した行列により、推定三次元形状モデル記憶部３２に保持されている推定三次元形状モデルＭ＾を更新する。
【０１６５】
制御部７は、は、ステップＳ２３〜ステップＳ２８の処理を繰り返すよう制御する。そして、所定の終了条件に合致したと判断した場合、例えば、‖Ｘ−Ｑ＾Ｍ＾‖２について、前回算出したときの値との差分を算出し、その差分が所定の閾値以下になった場合に繰り返し処理を終了する。出力部８は、繰り返し処理を終了したときに推定三次元形状モデル記憶部３２に記憶されている推定三次元形状モデルＭ＾を、被写体における特徴点の三次元位置の推定結果として出力する。
【０１６６】
［３．形態による効果］
上述した形態による三次元形状推定装置は、動画または静止画の集合から観測された二次元の特徴点データを示す行列の因数行列を推定することにより、(１)カメラに対する被写体の顔の向きと（変換形状）、(２)当該被写体の顔上の特徴点の三次元位置とを交互に推定する。
従来の技術では、特徴点データ行列の特異値分解（ＳＶＤ）により（１）と（２）を同時に推定していたが、一部の動画フレームまたは静止画に、一部の特徴点が遮蔽されている（観測データが無い）場合には、ＳＶＤをそのまま使えず、同一特徴点が可視であるデータの一部のみからＳＶＤを計算し、残りのデータまで段々解を拡張する必要があったため、画像を選択した順序によって結果が若干異なり、後処理にて修正する必要があった。
一方、本形態による三次元形状推定装置では、（１）と（２）を交互に繰り返して推定する。そして、計算を動画フレームまたは静止画ごとに分割して変換形状を、そして特徴点ごとに分割して被写体の顔上の特徴点の三次元位置を算出することにより、毎回すべての入力特徴点データを一括に使用することが出来、唯一の解に収束する。そのため、解を後処理で修正する必要が無い。また、実験の結果、ノイズがある場合でも、少ない繰り返し回数で解が収束することがわかった。
【０１６７】
このように、本形態によれば、手入力された、または特徴点追跡システム等の他のシステムにより入力された、動画または静止画の集合に複数の顔の向きにより登場した人物の顔における複数の特徴点の二次元座標値のデータから、ノイズと特徴点の遮蔽に対して頑健かつ精確に、当該登場人物の顔上の特徴点の三次元形状モデルを推定することができる。また、変換の推定にあたっては画像毎に分割して推定を行い、三次元形状モデルの推定にあたっては特徴点毎に分割して推定を行なうため、計算処理が簡易であり、また、繰り返し回数が多くなくとも解が収束する。
【０１６８】
以上説明したとおり、本実施形態による顔画像処理装置は、映像データまたは複数の静止画像データに含まれる人物の顔画像を新規登録する場合に、ジェネリックな三次元ＣＧ顔モデルの形状およびテクスチャを、映像データの複数のフレームまたは複数の静止画像データの入力ソースを反映させて修正する。そして、顔画像処理装置は、横方向および縦方向の所定角度の組み合わせによる複数の頭部姿勢の顔画像を生成して各顔画像から顔特徴データを生成する。
これにより、本実施形態による顔画像処理装置によれば、登録作業者の登録作業を、極めて負担の軽いものとすることができる。
また、本実施形態による顔画像処理装置によれば、入力ソースに様々な角度の頭部姿勢が多数映っている場合であっても、どのフレームまたは静止画像データを登録用に使用すべきかの判断を登録作業者に委ねる必要がない。
また、本実施形態による顔画像処理装置によれば、瞬きをした顔の映ったフレームまたは静止画像データが入力ソースに含まれている場合であっても、当該瞬き等によって発生する短時間のエラーは平滑化されるため影響を抑えることができる。
【０１６９】
また、本実施形態による顔画像処理装置は、各頭部姿勢の表面法線と視線の光軸（カメラの光軸）との角度に基づいて「方向の重み」を求めることができる。これにより、本実施形態による顔画像処理装置は、光軸に直交する部分、すなわち登録用のデータが十分可視状態である箇所について、三次元ＣＧ顔モデルのテクスチャを修正することができる。
【０１７０】
また、本実施形態による顔画像処理装置は、「距離の重み」によって特徴点のより近傍のテクスチャを修正して貼り付けることができる。これにより、三次元ＣＧ顔モデルの修正処理の計算量を極めて少なくすることができる。
【０１７１】
なお、上述した実施形態である顔画像処理装置の機能をコンピュータで実現するようにしてもよい。この場合、その機能を実現するための顔画像処理プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された顔画像処理プログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や周辺機器のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、光ディスク、メモリカード等の可搬型記録媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持するものを含んでもよい。また上記のプログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせにより実現するものであってもよい。
【０１７２】
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０１７３】
１００  顔画像処理装置
１１０  画像データ記憶部
１２０  顔領域検出照合部
１３０  三次元推定部
１３１  位置・姿勢推定部
１３２  メッシュワーピング部
１３３  テクスチャマッピング部
１３４  顔モデル記憶部
１３５  メッシュ頂点割当情報記憶部
１３６  テクスチャ画像記憶部
１３７  画素割当情報記憶部
１４０  レンダリング部
１５０  データベース登録部
１６０  顔特徴データベース部
【図１】
2011039869.tif 000036
【図２】
2011039869.tif 000037
【図３】
2011039869.tif 000038
【図４】
2011039869.tif 000039
【図５】
2011039869.tif 000040
【図６】
2011039869.tif 000041
【図７】
2011039869.tif 000042
【図８】
2011039869.tif 000043
【図９】
2011039869.tif 000044
【図１０】
2011039869.tif 000045
【図１２】
2011039869.tif 000046
【図１３】
2011039869.tif 000047
【図１４】
2011039869.tif 000048
【図１５】
2011039869.tif 000049
【図１６】
2011039869.tif 000050
【図１７】
2011039869.tif 000051
【図１８】
2011039869.tif 000052
【図１１】
2011039869.tif 000053