(57)【要約】【課題】フィッティング精度に優れる３ＤＭＭの特徴を維持しつつ処理時間を短縮する。【解決手段】３次元データ生成装置は、複数の人の３次元顔データを学習データとして、人の顔を投影空間に投影したときの３次元形状を視点を変えながら複数生成して、３次元形状の各点の３次元座標を求め、顔の３次元座標と描画輝度のそれぞれについて主成分分析を行い、平均ベクトルと基底ベクトルとを求め、３次元形状と描画輝度のそれぞれが平均ベクトルおよび基底ベクトルとモデルパラメータとの線形和で表現される、人の顔のモデルを作成するモデル作成部１と、モデル作成部１が作成したモデルを入力画像中の人の顔と合うように変形させてフィッティングを行い、入力画像中の人の顔の３次元データを生成するフィッティング部２とを有する。【選択図】  図２
2012008685.tif 000002
【特許請求の範囲】
【請求項１】
複数の人の３次元顔データを学習データとして、このデータに基づいて人の顔を投影空間に投影したときの３次元形状を視点を変えながら複数生成して、この３次元形状の各点の３次元座標を、視点を変えた３次元形状毎および人の顔毎に求める投影３次元座標算出手段と、
この投影３次元座標算出手段によって得られた顔の３次元座標と描画輝度のそれぞれについて主成分分析を行い、平均ベクトルと基底ベクトルとを求め、３次元形状と描画輝度のそれぞれが平均ベクトルおよび基底ベクトルとモデルパラメータとの線形和で表現される、人の顔のモデルを作成するモデル作成手段と、
形状に関するモデルパラメータであるシェープパラメータにシェープパラメータ誤差を与えて変形させたモデルの各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成手段が作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記シェープパラメータ誤差との組み合わせから、前記誤差パターンと前記シェープパラメータの修正量との関係を表す回帰行列を求めるフィッティング学習手段と、
シェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成手段が作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記回帰行列を用いて前記シェープパラメータの修正量を求めて前記シェープパラメータを更新し、更新後のシェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この輝度パターンを用いて濃淡に関するモデルパラメータであるテクスチャパラメータを計算し、更新後のシェープパラメータとテクスチャパラメータとによって決定されるモデルから前記入力画像中の人の顔の３次元データを生成するフィッティング実行手段とを備えることを特徴とする３次元データ生成装置。
【請求項２】
請求項１記載の３次元データ生成装置において、
前記モデル作成手段は、
全ての顔の３次元座標に対して主成分分析を行い、形状の平均ベクトルＳp,0と基底ベクトルＳp,iとを求める第１のベクトル算出手段と、
全ての顔の描画輝度に対して主成分分析を行い、描画輝度の平均ベクトルＴp,0と基底ベクトルＴp,iとを求める第２のベクトル算出手段とを備え、
前記モデルの３次元形状は、前記平均ベクトルＳp,0および前記基底ベクトルＳp,iと前記シェープパラメータαp,iとの線形和で表現され、
前記モデルの描画輝度は、前記平均ベクトルＴp,0および前記基底ベクトルＴp,iと前記テクスチャパラメータβp,iとの線形和で表現されることを特徴とする３次元データ生成装置。
【請求項３】
請求項１または２記載の３次元データ生成装置において、
前記フィッティング学習手段は、
前記シェープパラメータにシェープパラメータ誤差を与えて変形させたモデルの各点から輝度パターンを抽出する学習用抽出輝度パターン取得手段と、
この抽出輝度パターンから、濃淡に関するモデルパラメータであるテクスチャパラメータを求める学習用テクスチャパラメータ算出手段と、
このテクスチャパラメータによって決定されるモデルを用いて復元輝度パターンを求める学習用復元輝度パターン算出手段と、
前記抽出輝度パターンと前記復元輝度パターンとの差である誤差パターンを求める学習用誤差パターン算出手段と、
この誤差パターンと前記シェープパラメータ誤差との組み合わせから前記回帰行列を求める回帰行列算出手段とを備え、
前記学習用抽出輝度パターン取得手段と前記学習用テクスチャパラメータ算出手段と前記学習用復元輝度パターン算出手段と前記学習用誤差パターン算出手段とは、前記シェープパラメータを変更しながら複数回処理を繰り返して、前記誤差パターンと前記シェープパラメータ誤差との組み合わせを複数求め、
前記回帰行列算出手段は、この複数の組み合わせから前記回帰行列を求めることを特徴とする３次元データ生成装置。
【請求項４】
請求項１乃至３のいずれか１項に記載の３次元データ生成装置において、
前記フィッティング実行手段は、
シェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出するフィッティング実行用抽出輝度パターン取得手段と、
この抽出輝度パターンから、濃淡に関するモデルパラメータであるテクスチャパラメータを求めるフィッティング実行用テクスチャパラメータ算出手段と、
このテクスチャパラメータによって決定されるモデルを用いて復元輝度パターンを求めるフィッティング実行用復元輝度パターン算出手段と、
前記抽出輝度パターンと前記復元輝度パターンとの差である誤差パターンを求めるフィッティング実行用誤差パターン算出手段と、
この誤差パターンと前記回帰行列とを用いて前記シェープパラメータの修正量を求めて前記シェープパラメータを更新するシェープパラメータ更新手段と、
更新後のシェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この輝度パターンを用いて前記テクスチャパラメータを再計算するテクスチャパラメータ再計算手段と、
更新後のシェープパラメータと前記テクスチャパラメータ再計算手段が計算したテクスチャパラメータとによって決定されるモデルから前記入力画像中の人の顔の３次元データを生成する３次元データ生成手段とを備え、
前記フィッティング実行用抽出輝度パターン取得手段と前記フィッティング実行用テクスチャパラメータ算出手段と前記フィッティング実行用復元輝度パターン算出手段と前記フィッティング実行用誤差パターン算出手段と前記シェープパラメータ更新手段とは、前記シェープパラメータを更新しながら複数回処理を繰り返すことを特徴とする３次元データ生成装置。
【請求項５】
請求項１乃至４のいずれか１項に記載の３次元データ生成装置において、
さらに、前記投影３次元座標算出手段が前記３次元座標を求める前に、前記３次元顔データで表される各人の顔が所定の基準となる参照顔に近づくように各人の顔を拡大縮小、回転、平行移動したときの３次元座標を求め、この３次元座標を、前記投影３次元座標算出手段が前記３次元形状を生成する際の入力とする登録３次元座標取得手段を備えることを特徴とする３次元データ生成装置。
【請求項６】
請求項１乃至５のいずれか１項に記載の３次元データ生成装置において、
さらに、前記モデル作成手段がモデルを作成する前に、前記３次元顔データから顔の各点の描画輝度を求める描画輝度算出手段を備えることを特徴とする３次元データ生成装置。
【請求項７】
複数の人の３次元顔データを学習データとして、このデータに基づいて人の顔を投影空間に投影したときの３次元形状を視点を変えながら複数生成して、この３次元形状の各点の３次元座標を、視点を変えた３次元形状毎および人の顔毎に求める投影３次元座標算出ステップと、
この投影３次元座標算出ステップで得られた顔の３次元座標と描画輝度のそれぞれについて主成分分析を行い、平均ベクトルと基底ベクトルとを求め、３次元形状と描画輝度のそれぞれが平均ベクトルおよび基底ベクトルとモデルパラメータとの線形和で表現される、人の顔のモデルを作成するモデル作成ステップと、
形状に関するモデルパラメータであるシェープパラメータにシェープパラメータ誤差を与えて変形させたモデルの各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成ステップで作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記シェープパラメータ誤差との組み合わせから、前記誤差パターンと前記シェープパラメータの修正量との関係を表す回帰行列を求めるフィッティング学習ステップと、
シェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成ステップで作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記回帰行列を用いて前記シェープパラメータの修正量を求めて前記シェープパラメータを更新し、更新後のシェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この輝度パターンを用いて濃淡に関するモデルパラメータであるテクスチャパラメータを計算し、更新後のシェープパラメータとテクスチャパラメータとによって決定されるモデルから前記入力画像中の人の顔の３次元データを生成するフィッティング実行ステップとを備えることを特徴とする３次元データ生成方法。
【請求項８】
請求項７記載の３次元データ生成方法において、
前記モデル作成ステップは、
全ての顔の３次元座標に対して主成分分析を行い、形状の平均ベクトルＳp,0と基底ベクトルＳp,iとを求める第１のベクトル算出ステップと、
全ての顔の描画輝度に対して主成分分析を行い、描画輝度の平均ベクトルＴp,0と基底ベクトルＴp,iとを求める第２のベクトル算出ステップとからなり、
前記モデルの３次元形状は、前記平均ベクトルＳp,0および前記基底ベクトルＳp,iと前記シェープパラメータαp,iとの線形和で表現され、
前記モデルの描画輝度は、前記平均ベクトルＴp,0および前記基底ベクトルＴp,iと前記テクスチャパラメータβp,iとの線形和で表現されることを特徴とする３次元データ生成方法。
【請求項９】
請求項７または８記載の３次元データ生成方法において、
前記フィッティング学習ステップは、
前記シェープパラメータにシェープパラメータ誤差を与えて変形させたモデルの各点から輝度パターンを抽出する学習用抽出輝度パターン取得ステップと、
この抽出輝度パターンから、濃淡に関するモデルパラメータであるテクスチャパラメータを求める学習用テクスチャパラメータ算出ステップと、
このテクスチャパラメータによって決定されるモデルを用いて復元輝度パターンを求める学習用復元輝度パターン算出ステップと、
前記抽出輝度パターンと前記復元輝度パターンとの差である誤差パターンを求める学習用誤差パターン算出ステップと、
この誤差パターンと前記シェープパラメータ誤差との組み合わせから前記回帰行列を求める回帰行列算出ステップとからなり、
前記学習用抽出輝度パターン取得ステップと前記学習用テクスチャパラメータ算出ステップと前記学習用復元輝度パターン算出ステップと前記学習用誤差パターン算出ステップとを、前記シェープパラメータを変更しながら複数回繰り返して、前記誤差パターンと前記シェープパラメータ誤差との組み合わせを複数求め、
前記回帰行列算出ステップは、この複数の組み合わせから前記回帰行列を求めることを特徴とする３次元データ生成方法。
【請求項１０】
請求項７乃至９のいずれか１項に記載の３次元データ生成方法において、
前記フィッティング実行ステップは、
シェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出するフィッティング実行用抽出輝度パターン取得ステップと、
この抽出輝度パターンから、濃淡に関するモデルパラメータであるテクスチャパラメータを求めるフィッティング実行用テクスチャパラメータ算出ステップと、
このテクスチャパラメータによって決定されるモデルを用いて復元輝度パターンを求めるフィッティング実行用復元輝度パターン算出ステップと、
前記抽出輝度パターンと前記復元輝度パターンとの差である誤差パターンを求めるフィッティング実行用誤差パターン算出ステップと、
この誤差パターンと前記回帰行列とを用いて前記シェープパラメータの修正量を求めて前記シェープパラメータを更新するシェープパラメータ更新ステップと、
更新後のシェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この輝度パターンを用いて前記テクスチャパラメータを再計算するテクスチャパラメータ再計算ステップと、
更新後のシェープパラメータと前記テクスチャパラメータ再計算ステップで計算したテクスチャパラメータとによって決定されるモデルから前記入力画像中の人の顔の３次元データを生成する３次元データ生成ステップとからなり、
前記フィッティング実行用抽出輝度パターン取得ステップと前記フィッティング実行用テクスチャパラメータ算出ステップと前記フィッティング実行用復元輝度パターン算出ステップと前記フィッティング実行用誤差パターン算出ステップと前記シェープパラメータ更新ステップとを、前記シェープパラメータを更新しながら複数回繰り返すことを特徴とする３次元データ生成方法。
【請求項１１】
請求項７乃至１０のいずれか１項に記載の３次元データ生成方法において、
さらに、前記投影３次元座標算出ステップの前に、前記３次元顔データで表される各人の顔が所定の基準となる参照顔に近づくように各人の顔を拡大縮小、回転、平行移動したときの３次元座標を求め、この３次元座標を、前記投影３次元座標算出ステップで前記３次元形状を生成する際の入力とする登録３次元座標取得ステップを備えることを特徴とする３次元データ生成方法。
【請求項１２】
請求項７乃至１１のいずれか１項に記載の３次元データ生成方法において、
さらに、前記モデル作成ステップの前に、前記３次元顔データから顔の各点の描画輝度を求める描画輝度算出ステップを備えることを特徴とする３次元データ生成方法。
【請求項１３】
複数の人の３次元顔データを学習データとして、このデータに基づいて人の顔を投影空間に投影したときの３次元形状を視点を変えながら複数生成して、この３次元形状の各点の３次元座標を、視点を変えた３次元形状毎および人の顔毎に求める投影３次元座標算出ステップと、
この投影３次元座標算出ステップで得られた顔の３次元座標と描画輝度のそれぞれについて主成分分析を行い、平均ベクトルと基底ベクトルとを求め、３次元形状と描画輝度のそれぞれが平均ベクトルおよび基底ベクトルとモデルパラメータとの線形和で表現される、人の顔のモデルを作成するモデル作成ステップと、
形状に関するモデルパラメータであるシェープパラメータにシェープパラメータ誤差を与えて変形させたモデルの各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成ステップで作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記シェープパラメータ誤差との組み合わせから、前記誤差パターンと前記シェープパラメータの修正量との関係を表す回帰行列を求めるフィッティング学習ステップと、
シェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成ステップで作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記回帰行列を用いて前記シェープパラメータの修正量を求めて前記シェープパラメータを更新し、更新後のシェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この輝度パターンを用いて濃淡に関するモデルパラメータであるテクスチャパラメータを計算し、更新後のシェープパラメータとテクスチャパラメータとによって決定されるモデルから前記入力画像中の人の顔の３次元データを生成するフィッティング実行ステップとを、コンピュータに実行させることを特徴とする３次元データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像中の人の顔の３次元データを生成する３次元データ生成装置、生成方法およびプログラムに関するものである。
【背景技術】
【０００２】
従来より、カメラで撮影した人の画像から人の顔を認識したいという要求がある。人の顔は球面上に凹凸のある部品（目、鼻、口など）が配置された構造なので、カメラの向きや照明の向きによって見え方が大きく異なる。したがって、カメラの向きや照明の向きに影響を受け難い顔認識を実現する必要がある。
【０００３】
カメラの向きや照明の向きに影響を受け難い顔認識を実現する技術として、３ＤＤＭ（3D Morphable Model）がある（非特許文献１、非特許文献２参照）。３ＤＤＭは、１枚の画像データから対象の３次元データを推定する技術である。３ＤＤＭによって人の顔の３次元データを生成することができれば、カメラの向きや照明の向きに影響を受け難い顔認識を実現することができる。
【０００４】
３ＤＭＭは、人の顔の３次元形状とテクスチャ情報とを主成分分析（Principle Component Analysis：ＰＣＡ）によって効率的に表現できる手法であり、２次元の顔モデルと比べて人の顔を写実的に表現できることが知られている。しかし、監視カメラに映っている人物の個人認証などのようなリアルタイムアプリケーションにおいては、実用上、克服しなければならない課題がいくつかある。以下、３ＤＤＭについて説明する。
【０００５】
［モデル表現］
まず、人の顔の３次元データについて説明する。ここでは、人の顔の表面を構成するＮV個の点について、空間上の３次元座標（登録３次元座標）をＳW、表面反射率をＴWとする。
ＳW＝［ｘW,1  ｙW,1  ｚW,1  ・・・  ｘW,Nv  ｙW,Nv  ｚW,Nv］T    ・・・（１）
ＴW＝［ｒW,1  ｇW,1  ｂW,1  ・・・  ｒW,Nv  ｇW,Nv  ｂW,Nv］T    ・・・（２）
【０００６】
式（１）、式（２）において、ｘW,i，ｙW,i，ｚW,i（ｉ＝１〜ＮV）はそれぞれｘ座標、ｙ座標、ｚ座標、ｒW,i，ｇW,i，ｂW,iはそれぞれ赤色成分、緑色成分、青色成分の反射率である。
３ＤＭＭにおいて、人の顔のモデルは、多数の学習データ（多数の人の顔の３次元データ）からＰＣＡにより得られた平均ベクトルや各基底ベクトルと、モデルパラメータ（シェープパラメータαWとテクスチャパラメータβW）との線形和で次式のように構成できる。
【０００７】
【数１】
2012008685.tif 000003
【０００８】
【数２】
2012008685.tif 000004
【０００９】
［レンダリング］
３ＤＭＭのモデルのレンダリングは、モデルパラメータαW，βWとレンダリングパラメータ（投影パラメータρと光源パラメータτ）を用いて行う。レンダリング時には、対象を画像上に投影した際の座標と描画輝度を求める必要がある。
【００１０】
［フィッティング］
３ＤＭＭでは、作成したモデルを入力画像中の人の顔と合うように変形させてフィッティングすることが可能である。非特許文献１、非特許文献２で提案されている技術では、コスト関数の各パラメータ（シェープパラメータαW、テクスチャパラメータβW、投影パラメータρ、光源パラメータτ）に関する偏微分係数を求め、勾配法の一つである確率的ニュートン法を用いて各パラメータを繰り返し推定するため、１回のフィッティングに数分の時間を要する。
【００１１】
このように非特許文献１、非特許文献２で提案されている３ＤＭＭでは、勾配法に基づいて各パラメータを最適化しており、対象となる画像中の人の顔の３次元データの生成精度に優れているが、フィッティング時の繰り返し処理で、毎回、勾配計算を行うため、処理時間がかかるという問題点があった。
【００１２】
一方、１枚の静止画像から自動的に顔の特徴点を探索する技術としてＡＡＭ（Active Appearance Model）が提案されている（非特許文献３参照）。ＡＡＭは、顔の疎な２次元形状情報やテクスチャ情報にＰＣＡを適用して、顔の形状とテクスチャを効率的に表現する技術である。ＡＡＭでは、画像上の高々数十点の特徴点からモデルを構築するため、３ＤＭＭほどの精度の高い表現をするのには適さない。しかし、モデルをフィッティングするために、あらかじめ回帰行列を計算しておくだけでよいので、３ＤＭＭと比べて高速にフィッティングできることが可能である。以下、ＡＡＭについて説明する。
【００１３】
［モデル表現］
まず、人の顔の表面を構成するＮＶ個の点について、画像座標（投影２次元座標）をＳa、描画輝度をＴaとする。
Ｓa＝［ｘP,1  ｙP,1  ・・・  ｘP,Nv  ｙP,Nv］T                  ・・・（５）
Ｔa＝［ｒP,1  ｇP,1  ｂP,1  ・・・  ｒP,Nv  ｇP,Nv  ｂP,Nv］T   ・・・（６）
【００１４】
式（５）、式（６）において、ｘP,i，ｙP,i（ｉ＝１〜ＮV）はそれぞれｘ座標、ｙ座標、ｒP,i，ｇP,i，ｂP,iはそれぞれ赤色成分、緑色成分、青色成分の輝度である。
ＡＡＭにおいて、人の顔のモデルは、３ＤＭＭと同様に、平均ベクトルや基底ベクトルとモデルパラメータとの線形和で次式のように再構成できる。平均ベクトルや各基底ベクトルは、モデル構築時に学習データ（多数の人の顔の２次元データ）にＰＣＡを適用することで求めることができる。
【００１５】
【数３】
2012008685.tif 000005
【００１６】
【数４】
2012008685.tif 000006
【００１７】
［フィッティング］
ＡＡＭを用いることで、入力画像から顔画像上の特徴点の位置を高速に特定できることが知られている。ＡＡＭのフィッティング手法が数多く提案されているが、近年は、回帰行列を用いる手法が一般的である。具体的には、入力画像上で、シェープパラメータに基づいてモデルを変形して誤差パターンを抽出し、あらかじめ誤差パターンから求めておいた回帰行列を用いて、シェープパラメータの修正量を推定し、シェープパラメータを更新することで、モデルをフィッティングする。回帰行列の算出方法としては、非特許文献３に開示されているように、学習データから線形回帰分析により求める方法などが提案されている。
【先行技術文献】
【非特許文献】
【００１８】
【非特許文献１】V.Blanz and T.Vetter，“A morphable medel for the synthesis of 3D faces”，Proc. SIGGRAPH，p.187-194，1999
【非特許文献２】V.Blanz and T.Vetter，“Face recognition based on fitting a 3D morphable model”，IEEE Trans. Pattern Anal.Mach.Intell.，vol.25，no.9，p.1063-1074，2003
【非特許文献３】T.F.Cootes,G.J.Edwards and C.J.Taylor，“Active appearance models”，Proc.European Conf.Comp.Vision，vol.2，p.484-498，1998
【発明の概要】
【発明が解決しようとする課題】
【００１９】
以上のように、３ＤＭＭの手法では、人の顔の３次元データの生成精度に優れているが、例えば５分程度の処理時間がかかるという問題点があった。そのため、実用化のためには、処理時間の短縮化が必要である。
一方、ＡＡＭの手法では、あらかじめ回帰行列を計算しておけばよいため、３ＤＭＭと比べて人の顔の２次元データの生成を高速に行うことができる。従来より、ＡＡＭと３ＤＭＭとの類似性が注目され、ＡＡＭフィッティングの技術を３ＤＭＭフィッティングに応用することが試みられているが、３ＤＭＭのリアルタイムフィッティングを実現した例は未だ報告されていない。
【００２０】
本発明は、上記課題を解決するためになされたもので、フィッティング精度に優れる３ＤＭＭの特徴を維持しつつ、処理時間を短縮することができ、３ＤＭＭのリアルタイムフィッティングを実現することができる３次元データ生成装置、生成方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２１】
本発明の３次元データ生成装置は、複数の人の３次元顔データを学習データとして、このデータに基づいて人の顔を投影空間に投影したときの３次元形状を視点を変えながら複数生成して、この３次元形状の各点の３次元座標を、視点を変えた３次元形状毎および人の顔毎に求める投影３次元座標算出手段と、この投影３次元座標算出手段によって得られた顔の３次元座標と描画輝度のそれぞれについて主成分分析を行い、平均ベクトルと基底ベクトルとを求め、３次元形状と描画輝度のそれぞれが平均ベクトルおよび基底ベクトルとモデルパラメータとの線形和で表現される、人の顔のモデルを作成するモデル作成手段と、形状に関するモデルパラメータであるシェープパラメータにシェープパラメータ誤差を与えて変形させたモデルの各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成手段が作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記シェープパラメータ誤差との組み合わせから、前記誤差パターンと前記シェープパラメータの修正量との関係を表す回帰行列を求めるフィッティング学習手段と、シェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成手段が作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記回帰行列を用いて前記シェープパラメータの修正量を求めて前記シェープパラメータを更新し、更新後のシェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この輝度パターンを用いて濃淡に関するモデルパラメータであるテクスチャパラメータを計算し、更新後のシェープパラメータとテクスチャパラメータとによって決定されるモデルから前記入力画像中の人の顔の３次元データを生成するフィッティング実行手段とを備えることを特徴とするものである。
【００２２】
また、本発明の３次元データ生成装置の１構成例において、前記モデル作成手段は、全ての顔の３次元座標に対して主成分分析を行い、形状の平均ベクトルＳp,0と基底ベクトルＳp,iとを求める第１のベクトル算出手段と、全ての顔の描画輝度に対して主成分分析を行い、描画輝度の平均ベクトルＴp,0と基底ベクトルＴp,iとを求める第２のベクトル算出手段とを備え、前記モデルの３次元形状は、前記平均ベクトルＳp,0および前記基底ベクトルＳp,iと前記シェープパラメータαp,iとの線形和で表現され、前記モデルの描画輝度は、前記平均ベクトルＴp,0および前記基底ベクトルＴp,iと前記テクスチャパラメータβp,iとの線形和で表現されることを特徴とするものである。
【００２３】
また、本発明の３次元データ生成装置の１構成例において、前記フィッティング学習手段は、前記シェープパラメータにシェープパラメータ誤差を与えて変形させたモデルの各点から輝度パターンを抽出する学習用抽出輝度パターン取得手段と、この抽出輝度パターンから、濃淡に関するモデルパラメータであるテクスチャパラメータを求める学習用テクスチャパラメータ算出手段と、このテクスチャパラメータによって決定されるモデルを用いて復元輝度パターンを求める学習用復元輝度パターン算出手段と、前記抽出輝度パターンと前記復元輝度パターンとの差である誤差パターンを求める学習用誤差パターン算出手段と、この誤差パターンと前記シェープパラメータ誤差との組み合わせから前記回帰行列を求める回帰行列算出手段とを備え、前記学習用抽出輝度パターン取得手段と前記学習用テクスチャパラメータ算出手段と前記学習用復元輝度パターン算出手段と前記学習用誤差パターン算出手段とは、前記シェープパラメータを変更しながら複数回処理を繰り返して、前記誤差パターンと前記シェープパラメータ誤差との組み合わせを複数求め、前記回帰行列算出手段は、この複数の組み合わせから前記回帰行列を求めることを特徴とするものである。
【００２４】
また、本発明の３次元データ生成装置の１構成例において、前記フィッティング実行手段は、シェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出するフィッティング実行用抽出輝度パターン取得手段と、この抽出輝度パターンから、濃淡に関するモデルパラメータであるテクスチャパラメータを求めるフィッティング実行用テクスチャパラメータ算出手段と、このテクスチャパラメータによって決定されるモデルを用いて復元輝度パターンを求めるフィッティング実行用復元輝度パターン算出手段と、前記抽出輝度パターンと前記復元輝度パターンとの差である誤差パターンを求めるフィッティング実行用誤差パターン算出手段と、この誤差パターンと前記回帰行列とを用いて前記シェープパラメータの修正量を求めて前記シェープパラメータを更新するシェープパラメータ更新手段と、更新後のシェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この輝度パターンを用いて前記テクスチャパラメータを再計算するテクスチャパラメータ再計算手段と、更新後のシェープパラメータと前記テクスチャパラメータ再計算手段が計算したテクスチャパラメータとによって決定されるモデルから前記入力画像中の人の顔の３次元データを生成する３次元データ生成手段とを備え、前記フィッティング実行用抽出輝度パターン取得手段と前記フィッティング実行用テクスチャパラメータ算出手段と前記フィッティング実行用復元輝度パターン算出手段と前記フィッティング実行用誤差パターン算出手段と前記シェープパラメータ更新手段とは、前記シェープパラメータを更新しながら複数回処理を繰り返すことを特徴とするものである。
【００２５】
また、本発明の３次元データ生成装置の１構成例は、さらに、前記投影３次元座標算出手段が前記３次元座標を求める前に、前記３次元顔データで表される各人の顔が所定の基準となる参照顔に近づくように各人の顔を拡大縮小、回転、平行移動したときの３次元座標を求め、この３次元座標を、前記投影３次元座標算出手段が前記３次元形状を生成する際の入力とする登録３次元座標取得手段を備えることを特徴とするものである。
また、本発明の３次元データ生成装置の１構成例は、さらに、前記モデル作成手段がモデルを作成する前に、前記３次元顔データから顔の各点の描画輝度を求める描画輝度算出手段を備えることを特徴とするものである。
【００２６】
また、本発明の３次元データ生成方法は、複数の人の３次元顔データを学習データとして、このデータに基づいて人の顔を投影空間に投影したときの３次元形状を視点を変えながら複数生成して、この３次元形状の各点の３次元座標を、視点を変えた３次元形状毎および人の顔毎に求める投影３次元座標算出ステップと、この投影３次元座標算出ステップで得られた顔の３次元座標と描画輝度のそれぞれについて主成分分析を行い、平均ベクトルと基底ベクトルとを求め、３次元形状と描画輝度のそれぞれが平均ベクトルおよび基底ベクトルとモデルパラメータとの線形和で表現される、人の顔のモデルを作成するモデル作成ステップと、形状に関するモデルパラメータであるシェープパラメータにシェープパラメータ誤差を与えて変形させたモデルの各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成ステップで作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記シェープパラメータ誤差との組み合わせから、前記誤差パターンと前記シェープパラメータの修正量との関係を表す回帰行列を求めるフィッティング学習ステップと、シェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成ステップで作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記回帰行列を用いて前記シェープパラメータの修正量を求めて前記シェープパラメータを更新し、更新後のシェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この輝度パターンを用いて濃淡に関するモデルパラメータであるテクスチャパラメータを計算し、更新後のシェープパラメータとテクスチャパラメータとによって決定されるモデルから前記入力画像中の人の顔の３次元データを生成するフィッティング実行ステップとを備えることを特徴とするものである。
【００２７】
また、本発明の３次元データ生成プログラムは、複数の人の３次元顔データを学習データとして、このデータに基づいて人の顔を投影空間に投影したときの３次元形状を視点を変えながら複数生成して、この３次元形状の各点の３次元座標を、視点を変えた３次元形状毎および人の顔毎に求める投影３次元座標算出ステップと、この投影３次元座標算出ステップで得られた顔の３次元座標と描画輝度のそれぞれについて主成分分析を行い、平均ベクトルと基底ベクトルとを求め、３次元形状と描画輝度のそれぞれが平均ベクトルおよび基底ベクトルとモデルパラメータとの線形和で表現される、人の顔のモデルを作成するモデル作成ステップと、形状に関するモデルパラメータであるシェープパラメータにシェープパラメータ誤差を与えて変形させたモデルの各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成ステップで作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記シェープパラメータ誤差との組み合わせから、前記誤差パターンと前記シェープパラメータの修正量との関係を表す回帰行列を求めるフィッティング学習ステップと、シェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この抽出輝度パターンおよび前記モデル作成ステップで作成したモデルを用いて輝度パターンを計算し、前記抽出輝度パターンと前記計算した復元輝度パターンとの差である誤差パターンを求め、この誤差パターンと前記回帰行列を用いて前記シェープパラメータの修正量を求めて前記シェープパラメータを更新し、更新後のシェープパラメータから得られるモデルの各点に対応する入力画像の各点から輝度パターンを抽出し、この輝度パターンを用いて濃淡に関するモデルパラメータであるテクスチャパラメータを計算し、更新後のシェープパラメータとテクスチャパラメータとによって決定されるモデルから前記入力画像中の人の顔の３次元データを生成するフィッティング実行ステップとを、コンピュータに実行させることを特徴とするものである。
【発明の効果】
【００２８】
本発明によれば、投影３次元座標算出手段と、モデル作成手段と、フィッティング学習手段と、フィッティング実行手段とを設け、投影空間上のデータを扱うモデルを構築して、３次元空間に拡張したＡＡＭフィッティングを適用することにより、高速な３ＤＭＭフィッティング手法を実現することができ、１枚の静止画像から人の顔の３次元データを高速かつ高精度に生成することができる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施の形態に係る３次元データ生成装置の構成を示すブロック図である。
【図２】本発明の実施の形態に係る３次元データ生成装置の動作を示すフローチャートである。
【図３】本発明の実施の形態に係る３次元データ生成装置のモデル作成部の構成を示すブロック図である。
【図４】本発明の実施の形態に係るモデル作成部の対応点探索部の動作を示すフローチャートである。
【図５】本発明の実施の形態における対象顔画像および参照顔画像の１例を示す図である。
【図６】本発明の実施の形態に係るモデル作成部の登録３次元座標算出部の動作を示すフローチャートである。
【図７】本発明の実施の形態に係るモデル作成部の投影３次元座標算出部の動作を示すフローチャートである。
【図８】本発明の実施の形態に係るモデル作成部のベクトル算出部の動作を示すフローチャートである。
【図９】本発明の実施の形態における人の顔のモデルの構築を模式的に説明する図である。
【図１０】本発明の実施の形態に係るフィッティング学習部の動作を示すフローチャートである。
【図１１】本発明の実施の形態に係るフィッティング実行部の動作を示すフローチャートである。
【図１２】本発明の実施の形態に係る３次元データ生成装置の後処理部の構成を示すブロック図である。
【図１３】本発明の実施の形態に係る３次元データ生成装置によるフィッティング結果の例を示す図である。
【発明を実施するための形態】
【００３０】
以下、本発明の実施の形態について図面を参照して説明する。図１は本発明の実施の形態に係る３次元データ生成装置の構成を示すブロック図である。
３次元データ生成装置は、学習データから人の顔のモデルを作成するモデル作成部１と、誤差パターンと、形状に関するモデルパラメータであるシェープパラメータの修正量との関係について学習するフィッティング学習部２と、モデル作成部１が作成したモデルを入力画像中の人の顔と合うように変形させてフィッティングを行い、入力画像中の人の顔の３次元データを生成するフィッティング実行部３と、モデルパラメータの推定値から、レンダリングパラメータの影響を除去する後処理部４と、学習データや、モデル作成部１が算出したデータ、フィッティング学習部２が算出したデータ、およびフィッティング実行部３が算出したデータ等を記憶する記憶部５とを備えている。
【００３１】
モデル作成部１は、学習データとして人の顔を登録した際のデータ（登録３次元座標、表面反射率）ではなく、顔を画像に描画した際のデータ（投影３次元座標、描画輝度）を扱うようなモデルを作成する。フィッティング学習部２およびフィッティング実行部３は、ＡＡＭと同様な回帰行列を用いたフィッティングを３次元空間に拡張して適用し、従来行われていたレンダリングパラメータの推定は行わず、３ＤＭＭのモデルパラメータのみを推定する。
以下、本実施の形態の３次元データ生成装置の動作についてより詳細に説明する。図２は本実施の形態の３次元データ生成装置の動作を示すフローチャートである。
【００３２】
［モデル作成］
まず、モデル作成部１の動作について説明する。以下、学習データとして与えられる処理対象の３次元顔データを対象顔データと呼び、基準となる３次元顔データを参照顔データと呼ぶ。これらの顔データは、人の顔の表面を構成する各点のデータ（画素毎の３次元座標と画素毎の表面反射率）を含む。本実施の形態では、全対象顔データの平均３次元顔データを参照顔データとする。また、本実施の形態では、互いに直交する３軸（ｘ軸、ｙ軸、ｚ軸）上の座標で３次元座標を表現する。
【００３３】
モデル作成部１によるモデルの作成は、以下の手順で行われる。
（Ａ）学習データ中にある全ての対象顔データについて、対象顔データで表される対象顔と参照顔データで表される参照顔との各点の対応点探索を行う（図２ステップＳ１）。
（Ｂ）対象顔の各点の登録３次元座標を求める（図２ステップＳ２）。
（Ｃ）対象顔の各点の投影３次元座標を求める（図２ステップＳ３）。
（Ｄ）対象顔の各点の描画輝度を求める（図２ステップＳ４）。
（Ｅ）ステップＳ１〜Ｓ４の処理で得られた全ての対象顔の投影３次元座標と描画輝度に対して主成分分析（ＰＣＡ）を行い、モデルの平均ベクトルと基底ベクトルとを求める（図２ステップＳ５）。
【００３４】
以下、モデル作成部１における各処理について述べる。図３はモデル作成部１の構成を示すブロック図である。モデル作成部１は、対応点探索部１０と、登録３次元座標算出部１１と、投影３次元座標算出部１２と、描画輝度算出部１３と、ベクトル算出部１４とから構成される。ベクトル算出部１４は、形状の平均ベクトルと基底ベクトルとを求める第１のベクトル算出手段と、描画輝度の平均ベクトルと基底ベクトルとを求める第２のベクトル算出手段とを構成している。
【００３５】
［対応点探索］
対応点探索とは、対象顔データで表される対象顔の各点をＰＣＡの入力とするために、対象顔の各点が参照顔データで表される参照顔のどの点に対応するかを求める処理である。図４は対応点探索部１０の動作を示すフローチャートである。まず、対応点探索部１０は、対象顔データと参照顔データからそれぞれ対象顔と参照顔の正面顔画像を生成する（図４ステップＳ１００）。
【００３６】
続いて、対応点探索部１０は、ＡＡＭの手法を用いて、対象顔の正面顔画像と参照顔の正面顔画像のそれぞれから数十個の特徴点を抽出する。対応点探索部１０は、対象顔の特徴点とこれに対応する参照顔の特徴点とが重なるように、対象顔の正面顔画像を変形する（図４ステップＳ１０１）。さらに、対応点探索部１０は、オプティカルフローの手法により、対象顔の各点と参照顔の各点とをピクセルレベルで対応付け、ステップＳ１０１で変形した対象顔の正面顔画像を参照顔の正面顔画像に合わせるようにピクセルレベルで更に変形する（図４ステップＳ１０２）。
【００３７】
図５（Ａ）にステップＳ１００で生成した対象顔の正面顔画像の１例を示し、図５（Ｂ）にステップＳ１０１，Ｓ１０２で変形した後の対象顔の正面顔画像を示し、図５（Ｃ）にステップＳ１００で生成した参照顔の正面顔画像の１例を示す。
【００３８】
最後に、対応点探索部１０は、ステップＳ１０２で変形した対象顔の正面顔画像の画素の投影元である３次元の対象顔上の点と、参照顔の正面顔画像の各画素のうち、対象顔の正面顔画像の画素と同じ位置にある画素の投影元である３次元の参照顔上の点とを対応付ける（図４ステップＳ１０３）。すなわち、対応点探索部１０は、対象顔の各点と参照顔の各点とを３次元座標上で対応付ける。対応点探索部１０は、このような対応点探索処理を対象顔の正面顔画像中の有効画素の全てについて画素毎に行う。
【００３９】
以上で、対応点探索部１０の処理（図２ステップＳ１）が終了する。対応点探索部１０は、ステップＳ１００〜Ｓ１０３の処理を全ての対象顔データについて行う。なお、このような対応点探索部１０の処理は、従来の３ＤＭＭと同じであり、例えば非特許文献２に開示されている。
【００４０】
［登録３次元座標算出］
次に、登録３次元座標算出部１１は、対象顔の各点の登録３次元座標を求める（図２ステップＳ２）。登録３次元座標算出部１１は、対象顔の参照顔に対する大きさ、回転角度、位置を３次元で求め、対象顔の形状を補正する。図６は登録３次元座標算出部１１の動作を示すフローチャートである。
【００４１】
まず、登録３次元座標算出部１１は、対象顔上の点の３次元座標とこれに対応する参照顔上の点の３次元座標との組から、対象顔を参照顔に近づけるための３次元アフィン変換行列を最小二乗法により推定する（図６ステップＳ１１０）。対象顔上の点と参照顔上の点との対応関係は、前述の対応点探索部１０の処理によって得られている。
【００４２】
【数５】
2012008685.tif 000007
【００４３】
式（９）において、ｘO,*，ｙO,*，ｚO,*は対象顔上の任意の点のｘ座標、ｙ座標、ｚ座標、ｘr,*，ｙr,*，ｚr,*は参照顔上の任意の点のｘ座標、ｙ座標、ｚ座標、ｃは３次元アフィン変換行列の要素である。
続いて、登録３次元座標算出部１１は、式（９）の３次元アフィン変換行列から、対象顔を変換するための座標変換パラメータを以下のように求める（図６ステップＳ１１１）。
【００４４】
【数６】
2012008685.tif 000008
【００４５】
θwx＝ｔａｎ-1（−ｃw33／ｃw23）                              ・・・（１１）
θwy＝ｓｉｎ-1（−ｃw12／Ｓw）                                ・・・（１２）
θwz＝ｔａｎ-1（−ｃw12／ｃw11）                              ・・・（１３）
ｔwx＝ｃw14                                                   ・・・（１４）
ｔwy＝ｃw24                                                   ・・・（１５）
ｔwz＝ｃw34                                                   ・・・（１６）
【００４６】
Ｓwは対象顔の大きさを変換するためのパラメータ、θwx，θwy，θwzは対象顔のｘ軸回りの回転角度、ｙ軸回りの回転角度、ｚ軸回りの回転角度を変換するためのパラメータ、ｔwx，ｔwy，ｔwzは対象顔のｚ軸上の位置、ｙ軸上の位置、ｚ軸上の位置を変換するためのパラメータである。
【００４７】
次に、登録３次元座標算出部１１は、式（１０）〜式（１６）の座標変換パラメータから次式のように座標変換行列Ｗwを求める（図６ステップＳ１１２）。
Ｗw＝ＳwＲθwxＲθwyＲθwz＋ｔtwx,twy,twz                    ・・・（１７）
【００４８】
Ｒθwx，Ｒθwy，Ｒθwz，ｔtwx,twy,twzはそれぞれ行列である。最後に、登録３次元座標算出部１１は、座標変換行列Ｗwを用いて、対応点探索部１０の処理によって得られた対象顔上の点の３次元座標［ｘO,i，ｙO,i，ｚO,i］から登録３次元座標［ｘw,i，ｙw,i，ｚw,i］を求める（図６ステップＳ１１３）。
【００４９】
【数７】
2012008685.tif 000009
【００５０】
つまり、登録３次元座標［ｘw,i，ｙw,i，ｚw,i］は、参照顔に近づくように対象顔を拡大縮小、回転、平行移動したときの対象顔上の点の３次元座標である。登録３次元座標算出部１１は、このような登録３次元座標算出処理を、対応点探索部１０の処理によって得られた対象顔上の各点について実行する。
【００５１】
以上で、登録３次元座標算出部１１の処理（図２ステップＳ２）が終了する。登録３次元座標算出部１１は、ステップＳ１１０〜Ｓ１１３の処理を全ての対象顔データについて行う。登録３次元座標算出処理の結果は、記憶部５に格納される。
【００５２】
［投影３次元座標算出］
次に、投影３次元座標算出部１２は、対象顔の各点の投影３次元座標を求める（図２ステップＳ３）。具体的には、投影３次元座標算出部１２は、画像から３次元形状を推測するためのＰＣＡを行うために、対象顔から、視点を変えた３次元形状を複数生成する。図７は投影３次元座標算出部１２の動作を示すフローチャートである。
【００５３】
まず、投影３次元座標算出部１２は、投影パラメータρ＝［ｓp  θpx  θpy  θpz  ｔpx  ｔpy  ｔpz］から、座標変換行列Ｗpを次式のように求める（図７ステップＳ１２０）。
Ｗp＝ｓpＲθpxＲθpyＲθpz＋ｔtpx,tpy,tpz                    ・・・（１９）
【００５４】
投影パラメータρにおいて、ｓpは３次元データ生成装置に学習データ（対象顔データ）を登録する際に３次元の顔形状の定義に使用されるｍｍ単位の登録空間から、画素単位の投影空間へ対象顔を投影するための倍率、θpx，θpy，θpzはそれぞれｘ軸回りの回転角度、ｙ軸回りの回転角度、ｚ軸回りの回転角度、ｔpx，ｔpy，ｔpzはそれぞれｘ軸に沿った画素単位の移動量、ｙ軸に沿った画素単位の移動量、ｚ軸に沿った画素単位の移動量である。また、式（１９）におけるＲθpx，Ｒθpy，Ｒθpz，ｔtpx,tpy,tpzはそれぞれ行列である。
【００５５】
続いて、投影３次元座標算出部１２は、座標変換行列Ｗpを用いて、登録３次元座標［ｘw,i，ｙw,i，ｚw,i］から投影３次元座標［ｘp,i，ｙp,i，ｚp,i］を求める（図７ステップＳ１２１）。
【００５６】
【数８】
2012008685.tif 000010
【００５７】
つまり、投影３次元座標［ｘp,i，ｙp,i，ｚp,i］は、登録３次元座標［ｘw,i，ｙw,i，ｚw,i］で表される対象顔を見る視点を変えたときの対象顔上の点の３次元座標である。投影３次元座標算出部１２は、このような投影３次元座標算出処理を、登録３次元座標算出部１１の処理によって座標が算出された対象顔上の各点について実行する。
さらに、投影３次元座標算出部１２は、投影パラメータを変更、すなわち対象顔を見る視点を変更して（図７ステップＳ１２３）、ステップＳ１２０に戻る。
【００５８】
こうして、投影パラメータを変更しながらステップＳ１２０，Ｓ１２１の処理を繰り返し実行して、１つの対象顔について視点を変えた顔形状を複数生成する。投影３次元座標算出部１２は、予め設定された範囲内の全ての投影パラメータについてステップＳ１２０，Ｓ１２１の処理を終えた時点で（図７ステップＳ１２２においてＹＥＳ）、投影３次元座標算出処理（図２ステップＳ３）を終える。投影３次元座標算出部１２は、ステップＳ１２０〜Ｓ１２３の処理を全ての対象顔データについて行う。投影３次元座標算出処理の結果は、記憶部５に格納される。
【００５９】
［描画輝度算出］
次に、描画輝度算出部１３は、対象顔の各点の描画輝度を求める（図２ステップＳ４）。本実施の形態では、対象顔の描画輝度をモデル作成のための入力として扱う。具体的には、描画輝度算出部１３は、学習データとして与えられる対象顔データのテクスチャ情報が描画輝度ではなく、表面反射率で与えられている場合には、以下で説明する手順により、対象顔データの表面反射率から描画輝度を求めて、ＰＣＡを実施するためのデータを求める。
【００６０】
描画輝度算出部１３は、３次元データ生成装置に学習データ（対象顔データ）を登録する際に対象顔の各点の表面反射率を定義するために使用される光源のパラメータτ＝［ｌx  ｌy  ｌz  ｒl  ｂl  ｇl］を用いて、対象顔の任意の点の単位法線ベクトル［ｎx,i  ｎy,i  ｎz,i］及びこの点の表面反射率（本実施の形態では拡散反射率）［ｒw,i  ｇw,i  ｂw,i］から、対象顔上の点の描画輝度［ｒp,i  ｇp,i  ｂp,i］を次式のように求める。
【００６１】
【数９】
2012008685.tif 000011
【００６２】
ｌx，ｌy，ｌzはそれぞれｘ軸、ｙ軸、ｚ軸に沿った単位光源方向ベクトル、ｒl，ｇl，ｂlは光源の赤色成分、緑色成分、青色成分の光強度である。また、ｎx,i，ｎy,i，ｎz,iはそれぞれｘ軸、ｙ軸、ｚ軸に沿った単位法線ベクトル、ｒw,i，ｇw,i，ｂw,iは赤色成分、緑色成分、青色成分の表面反射率、ｒp,i，ｇp,i，ｂp,iは赤色成分、緑色成分、青色成分の描画輝度である。描画輝度算出部１３は、このような描画輝度算出処理を、投影３次元座標算出部１２の処理によって座標が算出された対象顔上の各点について実行する。
【００６３】
以上で、描画輝度算出部１３の処理（図２ステップＳ４）が終了する。描画輝度算出部１３は、描画輝度算出処理を全ての対象顔データについて行う。この描画輝度算出処理の結果は、記憶部５に格納される。なお、描画輝度算出部１３は本発明において必須の構成要件ではなく、学習データとして与えられる対象顔データのテクスチャ情報が描画輝度で与えられている場合には、描画輝度算出処理を実施する必要はない。
【００６４】
［ベクトル算出］
次に、ベクトル算出部１４は、ステップＳ１〜Ｓ４の処理で得られた全ての対象顔の投影３次元座標と描画輝度に対してＰＣＡを行い、モデルの平均ベクトルと基底ベクトルとを求める（図２ステップＳ５）。図８はベクトル算出部１４の動作を示すフローチャートである。
【００６５】
人の顔のモデルの表面を構成するＮV個の点の、投影空間上の３次元座標（投影３次元座標）をＳp、描画輝度をＴpとすると、投影３次元座標Ｓp、描画輝度Ｔpは次式で表される。
Ｓp＝［ｘp,1  ｙp,1  ｚp,1  ・・・  ｘp,Nv  ｙp,Nv  ｚp,Nv］T   ・・（２２）
Ｔp＝［ｒp,1  ｇp,1  ｂp,1  ・・・  ｒp,Nv  ｇp,Nv  ｂp,Nv］T   ・・（２３）
【００６６】
ベクトル算出部１４は、ステップＳ３の処理で得られた全ての対象顔の投影３次元座標に対してＰＣＡを行い、モデルの形状の平均ベクトルＳp,0とモデルの形状の基底ベクトルＳp,i（ｉ＝１〜Ｎs）とを求める（図８ステップＳ１３０）。ここで、Ｎsはシェープパラメータ数であり、所定値である。平均ベクトルＳp,0と基底ベクトルＳp,iとは、記憶部５に格納される。
【００６７】
また、ベクトル算出部１４は、ステップＳ４の処理で得られた全ての対象顔の描画輝度に対してＰＣＡを行い、モデルの描画輝度の平均ベクトルＴp,0とモデルの描画輝度の基底ベクトルＴp,i（ｉ＝１〜Ｎt）とを求める（図８ステップＳ１３１）。ここで、Ｎtはテクスチャパラメータ数であり、所定値である。平均ベクトルＴp,0と基底ベクトルＴp,iとは、記憶部５に格納される。
【００６８】
人の顔のモデルは、以上の平均ベクトル（Ｓp,0，Ｔp,0）と基底ベクトル（Ｓp,i，Ｔp,i）と、モデルパラメータ（αp,i，βp,i）との線形和により次式のように構成できる。
【００６９】
【数１０】
2012008685.tif 000012
【００７０】
【数１１】
2012008685.tif 000013
【００７１】
モデルの形状に関するモデルパラメータであるシェープパラメータαp,i（ｉ＝１〜Ｎs）は、次式のように算出できる。
αp,i＝Ｓp,i・（Ｓp−Ｓp,0）                                  ・・・（２６）
【００７２】
すなわち、シェープパラメータαp,iは、対象顔の投影３次元座標Ｓpから平均ベクトルＳp,0を減算し、基底ベクトルＳp,iとの内積をとることにより求められる。また、モデルの濃淡に関するモデルパラメータであるテクスチャパラメータβp,i（ｉ＝１〜Ｎt）は、次式のように算出できる。
βp,i＝Ｔp,i・（Ｔp−Ｔp,0）                                  ・・・（２７）
【００７３】
シェープパラメータαp,iの場合と同様に、テクスチャパラメータβp,iは、対象顔の描画輝度Ｔpから平均ベクトルＴp,0を減算し、基底ベクトルＴp,iとの内積をとることにより求められる。
【００７４】
図９（Ａ）、図９（Ｂ）は、モデルの構築を模式的に説明する図である。図９（Ａ）、図９（Ｂ）において、９０はモデルの形状の平均ベクトルＳp,0を表し、９１は形状の第１主成分Ｓp,1を表し、９２は形状の第２主成分Ｓp,2を表している。式（２６）および図９０（Ａ）から分かるように、モデルの形状は、平均ベクトルＳp,0と基底ベクトルＳp,iと、モデルパラメータαp,iとの線形和により構成できる。また、９３はモデルの描画輝度の平均ベクトルＴp,0を表し、９４は描画輝度の第１主成分Ｔp,1を表し、９５は描画輝度の第２主成分Ｔp,2を表している。式（２７）および図９０（Ｂ）から分かるように、モデルの濃淡は、平均ベクトルＴp,0と基底ベクトルＴp,iと、モデルパラメータβp,iとの線形和により構成できる。
以上で、ベクトル算出部１４の処理（図２ステップＳ５）が終了し、モデル作成部１の処理が終了する。
【００７５】
［フィッティング］
次に、フィッティング学習部２は、あらかじめ誤差パターンとシェープパラメータの修正量との関係について学習し（図２ステップＳ６）、フィッティング実行部３は、入力画像から誤差パターンを求め、フィッティング学習部２の学習結果に基づいてシェープパラメータを繰り返し処理により更新することで、モデルを入力画像中の人の顔と合うように変形させてフィッティングを行い、入力画像中の人の顔の３次元データを生成する（図２ステップＳ７）。
【００７６】
以下、フィッティング学習部２とフィッティング実行部３における各処理について述べる。フィッティング学習部２は、学習用抽出輝度パターン取得手段と、学習用テクスチャパラメータ算出手段と、学習用復元輝度パターン算出手段と、学習用誤差パターン算出手段と、回帰行列算出手段とを構成している。フィッティング実行部３は、フィッティング実行用抽出輝度パターン取得手段と、フィッティング実行用テクスチャパラメータ算出手段と、フィッティング実行用復元輝度パターン算出手段と、フィッティング実行用誤差パターン算出手段と、シェープパラメータ更新手段と、テクスチャパラメータ再計算手段と、３次元データ生成手段とを構成している。
【００７７】
［フィッティング学習］
フィッティング学習部２は、誤差パターンとシェープパラメータの修正量との関係を表す回帰行列を求める（図２ステップＳ６）。図１０はフィッティング学習部２の動作を示すフローチャートである。まず、フィッティング学習部２は、計算量を削減するために、モデルの表面を構成するＮV個の点を、誤差パターンを生成するためのＮf個の点に間引きする（図１０ステップＳ２００）。
【００７８】
Ｎfは、元のデータの点数ＮVと等しくてもよいが、後述するフィッティング実行時の計算量はＮfに比例するので、モデルの表面上の点を適切に選択することによって、フィッティングを高速化することができる。本実施の形態では、参照顔画像上でＸＹ方向に４画素おきに間引きした画素に対応する点を選択した。
【００７９】
次に、フィッティング学習部２は、シェープパラメータαpを±１σの範囲内でランダムに設定し、式（２４）、式（２５）によりモデルのレンダリング画像を作成する（図１０ステップＳ２０１）。なお、シェープパラメータαpは１番目の主成分からＮs番目の主成分までの基底ベクトル毎に存在するので、このステップＳ２０１の処理は基底ベクトル毎の各シェープパラメータαpに対して行われる。
【００８０】
続いて、フィッティング学習部２は、ステップＳ２０１で設定したシェープパラメータαpに対して所定の誤差Δαpを加え、モデルのレンダリング画像を変形させる（図１０ステップＳ２０２）。この誤差Δαpの加算も、基底ベクトル毎の各シェープパラメータαpに対して行われる。
【００８１】
フィッティング学習部２は、ステップＳ２０２で変形させたモデルより、モデル表面のＮf個の点の画像座標を求めて、変形後のレンダリング画像からこれらＮf個の点の輝度ＩO（αp＋Δαp）を得る（図１０ステップＳ２０３）。ここでは、Ｎf個の点の輝度の集まりを抽出輝度パターンと呼ぶ。言うまでもなく、Ｎf個の点とは、ステップＳ２００で選択した点のことである。この抽出輝度パターンＩO（αp＋Δαp）は、記憶部５に格納される。
【００８２】
次に、フィッティング学習部２は、ステップＳ２０３で求めた抽出輝度パターンＩO（αp＋Δαp）を用いて、テクスチャパラメータβpを求める（図１０ステップＳ２０４）。本来、テクスチャパラメータβpを求めるには、式（２７）により、ＮV個の点の輝度から求める必要があるが、ＢＰＬＰの技術を利用することにより、抽出輝度パターンを構成するＮf個の点の輝度からテクスチャパラメータを算出することができるようになり、さらなる計算量の削減を行うことができる。
【００８３】
以下、ＢＰＬＰの概略について説明する。ＢＰＬＰは、固有空間を用いた補間手法である。学習により得られた固有ベクトル列Ｅを用いて、ベクトルｘiを固有空間へ投影すれば、主成分得点ｐiが取得される。
ｐi＝ＥTｘi                                                   ・・・（２８）
もしも、ベクトルｘiに欠損データがある場合、欠損データの部分を０で表現すれば、次式のようになる。
【００８４】
【数１２】
2012008685.tif 000014
【００８５】
Ｆは欠損データの有無を示す行列である。ハットｘiはベクトルである。以下、同様に文字上に付した「∧」をハットと呼ぶ。ハットｘiを固有空間Ｅへ投影すると、次式のようになる。
【００８６】
【数１３】
2012008685.tif 000015
【００８７】
一方、欠損データを含まないベクトルは１次結合により、次式で近似することができる。
【００８８】
【数１４】
2012008685.tif 000016
【００８９】
式（２８）〜式（３１）より、欠損データを含む場合の主成分得点と含まない場合の主成分得点は次式で求めることができる。
【００９０】
【数１５】
2012008685.tif 000017
【００９１】
これにより、欠損データを含むハットｘiから、欠損データを含まない主成分得点ｐiを以下の式で推定することができる。
【００９２】
【数１６】
2012008685.tif 000018
【００９３】
上記において、ベクトルｘiがＮV個の値で構成され、そのうちデータ欠損のない値がＮf個、ｐiがＮt個の値で構成されるとすると、上記の行列ＧのサイズはＮt×ＮVとなる。
ここで、行列Ｇを構成する列ベクトルのうち、ゼロベクトル列を削除した行列Ｇ’を作成すると、行列Ｇ’のサイズはＮt×Ｎfとなる。さらにｘiからデータ欠損のない値のみ抜き出して、Ｎf個の値で構成されるベクトルｘi’を作成すると、欠損データを含むハットｘiから、欠損データを含まない主成分得点ｐiの推定は、式（３４）によりさらに高速化することができる。
【００９４】
【数１７】
2012008685.tif 000019
【００９５】
以上のようなＢＰＬＰについては、例えば文献「天野敏之，佐藤幸男，“固有空間法を用いたＢＰＬＰによる画像補間”，電子情報通信学会論文誌Ｄ−ＩＩ，ｖｏｌ．Ｊ８５−Ｄ−ＩＩ，Ｎｏ．３，ｐ．４５７−４６５，２００２」に開示されている。
フィッティング学習部２は、このようなＢＰＬＰの技術を利用することにより、テクスチャパラメータβpを算出する。具体的には、フィッティング学習部２は、式（２９）における有無行列Ｆを設定し、式（３３）における行列Ｇを求め、Ｇの０列を削除し、式（３４）における行列Ｇ’を求め、Ｎf個の輝度パターンからＮt個のテクスチャパラメータβpを算出するためのＮt行Ｎf列の行列Ｇpを求める。これによりテクスチャパラメータβpは、以下のように計算できる。
βp＝ＧpＩO（αp＋Δαp）                                     ・・・（３５）
【００９６】
フィッティング学習部２は、抽出輝度パターンＩO（αp＋Δαp）を式（３５）に代入して、テクスチャパラメータβpを、１番目の主成分からＮt番目の主成分まで基底ベクトル毎に算出する。テクスチャパラメータβpは、記憶部５に格納される。
【００９７】
続いて、フィッティング学習部２は、ステップＳ２０４で求めたテクスチャパラメータβpを用いて、式（２５）によりモデルの描画輝度Ｔp＝Ｉr（αp＋Δαp）を求める（図１０ステップＳ２０５）。ここでは、モデル表面のＮf個の点の描画輝度の集まりを復元輝度パターンと呼ぶ。復元輝度パターンＩr（αp＋Δαp）は、記憶部５に格納される。
【００９８】
次に、フィッティング学習部２は、ステップＳ２０３で求めた抽出輝度パターンＩO（αp＋Δαp）とステップＳ２０５で求めた復元輝度パターンＩr（αp＋Δαp）との誤差パターンＩe（αp＋Δαp）を次式のように求める（図１０ステップＳ２０６）。
Ｉe（αp＋Δαp）＝ＩO（αp＋Δαp）−Ｉr（αp＋Δαp）       ・・・（３６）
式（３６）の処理は、抽出輝度パターンＩO（αp＋Δαp）と復元輝度パターンＩr（αp＋Δαp）の対応する点毎に行われる。誤差パターンＩe（αp＋Δαp）は、記憶部５に格納される。
【００９９】
フィッティング学習部２は、ステップＳ２０６で求めた誤差パターンＩe（αp＋Δαp）を、平均０、長さ１の単位ベクトルに正規化する（図１０ステップＳ２０７）。この正規化された誤差パターンは、記憶部５に格納される。
そして、フィッティング学習部２は、ステップＳ２０２に戻る。こうして、フィッティング学習部２は、ステップＳ２０２〜Ｓ２０７の処理を所定の誤差発生回数Ｎo回だけ繰り返す。
【０１００】
フィッティング学習部２は、ステップＳ２０２〜Ｓ２０７の処理をＮo回繰り返した後（図１０ステップＳ２０８においてＹＥＳ）、ステップＳ２０１に戻る。こうして、フィッティング学習部２は、ステップＳ２０１〜Ｓ２０８の処理を所定のレンダリング回数Ｎr回だけ繰り返す。この処理により、正規化した誤差パターンとシェープパラメータ誤差Δαpとの組み合わせが、Ｎo×Ｎr個得られることになる。
【０１０１】
最後に、フィッティング学習部２は、ステップＳ２０１〜Ｓ２０８の処理をＮr回繰り返した後（図１０ステップＳ２０９においてＹＥＳ）、ステップＳ２０１〜Ｓ２０８の処理で得られた、誤差パターンとシェープパラメータ誤差Δαpとの複数の組み合わせを用いて、回帰分析により回帰行列Ａpを求める（図１０ステップＳ２１０）。回帰行列Ａpは、現在のシェープパラメータαpcurrentにより得られた誤差パターンＩe（αpcurrent）から次のシェープパラメータの修正量Δαpを推定するために用いられる。
Δαp＝ＡpＩe（αpcurrent）                                   ・・・（３７）
【０１０２】
フィッティング学習部２は、式（３７）を回帰式として用い、この回帰式と、ステップＳ２０１〜Ｓ２０８の処理で得られた、誤差パターンとシェープパラメータ誤差Δαpとの複数の組み合わせを用いた回帰分析により、回帰行列Ａpを求めればよい。この回帰行列Ａpは、記憶部５に格納される。以上で、フィッティング学習部２の処理（図２ステップＳ６）が終了する。
【０１０３】
［フィッティング実行］
次に、フィッティング実行部３は、入力画像中の人の顔の３次元データを生成する（図２ステップＳ７）。図１１はフィッティング実行部３の動作を示すフローチャートである。まず、フィッティング実行部３は、シェープパラメータαpを０に初期化する（図１１ステップＳ２２０）。前述のとおり、シェープパラメータαpは基底ベクトル毎に存在するので、このステップＳ２２０の処理は基底ベクトル毎の各シェープパラメータαpに対して行われる。
続いて、フィッティング実行部３は、現在のシェープパラメータαpを用いて、モデルを変形させる（図１１ステップＳ２２１）。
【０１０４】
フィッティング実行部３は、ステップＳ２２１で変形させたモデルより、モデル表面のＮf個の点の画像座標を求め、外部から３次元データ生成装置に入力された入力画像からこれらＮf個の点の輝度ＩO（αp）を得る（図１１ステップＳ２２２）。本実施の形態における投影空間は、入力画像の座標を表現するのと同じｘｙ軸と、画像に対して垂直なｚ軸を使っている。したがって、式（２４）によってモデルの投影３次元座標が求まると、その時のｘｙ座標をそのまま画像のｘｙ座標として用いることができるので、モデル表面のＮf個の点のｘｙ座標を求めて、これらのｘｙ座標に相当する位置にある入力画像上の画素の輝度値を取り出せばよい。ここでは、Ｎf個の点の輝度の集まりを抽出輝度パターンと呼ぶ。言うまでもなく、Ｎf個の点とは、ステップＳ２００で選択した点のことである。抽出輝度パターンＩO（αp）は、記憶部５に格納される。
【０１０５】
次に、フィッティング実行部３は、ステップＳ２２２で求めた抽出輝度パターンＩO（αp）を用いて、テクスチャパラメータβpを求める（図１１ステップＳ２２３）。フィッティング実行部３は、上記ＢＰＬＰの技術を利用して行列Ｇpを求め、ＩO（αp＋Δαp）の代わりに、抽出輝度パターンＩO（αp）を式（３５）に代入して、テクスチャパラメータβpを、１番目の主成分からＮt番目の主成分まで基底ベクトル毎に算出する。テクスチャパラメータβpは、記憶部５に格納される。
【０１０６】
続いて、フィッティング実行部３は、ステップＳ２２３で求めたテクスチャパラメータβpを用いて、式（２５）によりモデルの描画輝度Ｔp＝Ｉr（αp）を求める（図１１ステップＳ２２４）。ここでは、モデル表面のＮf個の点の描画輝度の集まりを復元輝度パターンと呼ぶ。復元輝度パターンＩr（αp）は、記憶部５に格納される。
【０１０７】
次に、フィッティング実行部３は、ステップＳ２２２で求めた抽出輝度パターンＩO（αp）とステップＳ２２４で求めた復元輝度パターンＩr（αp）との誤差パターンＩe（αp）を次式のように求める（図１１ステップＳ２２５）。
Ｉe（αp）＝ＩO（αp）−Ｉr（αp）                            ・・・（３８）
式（３８）の処理は、抽出輝度パターンＩO（αp）と復元輝度パターンＩr（αp）の対応する点毎に行われる。誤差パターンＩe（αp）は、記憶部５に格納される。
【０１０８】
フィッティング実行部３は、ステップＳ２２５で求めた誤差パターンＩe（αp）を、平均０、長さ１の単位ベクトルに正規化する（図１１ステップＳ２２６）。この正規化された誤差パターンは、記憶部５に格納される。
次に、フィッティング実行部３は、回帰行列ＡpとステップＳ２２６で求めた正規化後の誤差パターンＩe（αp）とから、シェープパラメータの修正量Δαpを次式のように推定する（図１１ステップＳ２２７）
Δαp＝ＡpＩe（αp）                                          ・・・（３９）
シェープパラメータの修正量Δαpは、記憶部５に格納される。
【０１０９】
フィッティング実行部３は、ステップＳ２２７で求めたシェープパラメータの修正量Δαpを用いて、シェープパラメータαpを次式のように更新する（図１１ステップＳ２２８）。
αp→αp＋Δαp                                               ・・・（４０）
このステップＳ２２８の更新処理は、基底ベクトル毎の各シェープパラメータαpに対して行われる。更新後のシェープパラメータαpは、記憶部５に格納される。
【０１１０】
そして、フィッティング実行部３は、ステップＳ２２１に戻る。こうして、フィッティング実行部３は、ステップＳ２２１〜Ｓ２２８の処理を所定の探索回数Ｎr回だけ繰り返す。以上のように、シェープパラメータαpを更新することで、モデルを入力画像中の人の顔と合うように変形させることができる。
【０１１１】
フィッティング実行部３は、ステップＳ２２１〜Ｓ２２８の処理をＮr回繰り返した後（図１１ステップＳ２２９においてＹＥＳ）、テクスチャパラメータβpを再度計算する（図１１ステップＳ２３０）。すなわち、フィッティング実行部３は、更新後のシェープパラメータαpを用いて式（２４）によりモデルの投影３次元座標を計算し、ステップＳ２２２で説明した方法により入力画像からＮf個の輝度の集まりである輝度パターンを求める。そして、フィッティング実行部３は、この輝度パターンを式（２７）のＴpに代入して、テクスチャパラメータβpを、１番目の主成分からＮt番目の主成分まで基底ベクトル毎に算出すればよい。テクスチャパラメータβpは、記憶部５に格納される。
【０１１２】
最後に、フィッティング実行部３は、入力画像中の人の顔の３次元データを生成する（ステップＳ２３１）。フィッティング実行部３は、更新後のシェープパラメータαpと、ステップＳ２３０で算出したテクスチャパラメータβpと、ステップＳ１３０で算出された形状の平均ベクトルＳp,0と形状の基底ベクトルＳp,iと、ステップＳ１３１で算出された描画輝度の平均ベクトルＴp,0と描画輝度の基底ベクトルＴp,iとから、式（２４）、式（２５）により人の顔の３次元形状を構築することができ、この３次元形状から入力画像中の人の顔の３次元データ（投影３次元座標Ｓp、描画輝度Ｔp）を取得する。
以上で、フィッティング実行部３の処理（図２ステップＳ７）が終了する。
【０１１３】
［後処理部］
次に、後処理部４は、登録３次元座標と表面反射率を計算する（ステップＳ８，Ｓ９）。図１２は後処理部４の構成を示すブロック図である。後処理部４は、登録３次元座標算出部４０と、表面反射率算出部４１とから構成される。
【０１１４】
［登録３次元座標算出］
登録３次元座標算出部４０は、フィッティング実行部３が推定した人の顔の形状情報を個体情報として扱う場合、図２のステップＳ２と同様の処理を行うことにより、人の顔の投影３次元座標から投影パラメータの影響を除去し、登録３次元座標を求めることができる。
【０１１５】
［表面反射率算出］
表面反射率算出部４１は、フィッティング実行部３が推定した人の顔のテクスチャ情報を個体情報として扱う場合、テクスチャ情報から光源の影響を除去して、人の顔の表面反射率を求める。以下に、本実施の形態における表面反射率の求め方について説明する。
【０１１６】
まず、表面反射率算出部４１は、人の顔の表面を構成する各点のうち、表面反射率が均一（すなわち１）と仮定できるＮd個の点における単位法線ベクトルと描画輝度から、最小二乗法を用いて光源ベクトルＬを次式のように求める。
【０１１７】
【数１８】
2012008685.tif 000020
【０１１８】
Ｌ＝［ｌx  ｌx  ｌx］T＝（ＮTＮ）-1ＮTＩ                      ・・・（４２）
ここで、ｇp,j（ｊ＝１〜Ｎd）は緑色成分の描画輝度、ｎx,j，ｎy,j，ｎz,jはそれぞれｘ軸、ｙ軸、ｚ軸に沿った単位法線ベクトル、ｌx，ｌy，ｌzはそれぞれｘ軸、ｙ軸、ｚ軸に沿った単位光源方向ベクトルである。また、式（４１）、（４２）におけるＮ，Ｉは行列である。表面反射率算出部４１は、光源ベクトルＬと入力画像の輝度から、人の顔の表面を構成する各点の表面反射率ｇw,iを次式のように推定する。
【０１１９】
【数１９】
2012008685.tif 000021
【０１２０】
式（４１）〜式（４３）では、赤色成分、緑色成分、青色成分のうち緑色成分の処理についてのみ記載しているが、他の成分についても同様に処理できる。
以上で、後処理部４の処理（ステップＳ８，Ｓ９）が終了する。なお、後処理部４は本発明において必須の構成要件ではない。
【０１２１】
次に、本実施の形態の効果について例を挙げて説明する。ここでは、以下の条件を満たす入力画像に対して、本実施の形態のフィッティングを実行し、その精度や速度を評価した。入力画像のサイズを２５６×２５６画素とし、入力画像の濃淡を２５６階調に正規化した。また、入力画像は、ほぼ正面顔の画像で、回転許容範囲はｘ軸、ｙ軸、ｚ軸の各軸で±１５°、並進許容範囲は１０画素とした。
【０１２２】
次に、ＮＩＳＴ（National Institute of Standards and Technology）が提供しているＦＲＧＣ２．０データベースから５００人分の対象顔データを学習データとして取得した。１人あたりの学習データは、６４０×４８０画素のＲＧＢ画像と、各画素の３次元座標と有効画素フラグとで構成される。
【０１２３】
次に、学習データ中の３次元形状が入力画像に適切に投影されるようにスケーリングを行った。そして、モデル作成部１にモデルの作成処理（図２ステップＳ１〜Ｓ５）を行わせた。このとき、モデルが扱う範囲は、眼鼻口の周辺までで、顔の輪郭は含まないものとする。モデルの顔表面を構成する点の数をＮV＝１６３８４点とする。シェープパラメータ数Ｎsとテクスチャパラメータ数Ｎtとを、Ｎs＝Ｎt＝６４とする。入力画像の条件に従って、投影パラメータを変動させて、投影形状を求め、ＰＣＡを適用し、モデルを構築した。
【０１２４】
次に、学習データを用い、フィッティング学習部２に回帰行列を算出させた（図２ステップＳ６）。ここでは、フィッティングの入力点数をＮf＝９７０点とし、シェープパラメータαpの誤差変動幅を±１σとした。
【０１２５】
次に、フィッティング実行部３により、入力画像に対してフィッティング処理（図２ステップＳ７）を行わせた。ここでは、探索回数Ｎrをフィッティングの終了条件とする。フィッティング終了時のグレイスケール画像のテクスチャ平均誤差振幅をフィッティングスコアとした。
【０１２６】
本実施の形態によるフィッティング結果の例を図１３に示す。図１３において、１４０，１４１，１４２，１４３，１４４，１４５，１４６，１４７は入力画像、１４８，１４９，１５０，１５１，１５２，１５３，１５４，１５５はそれぞれ画像１４０，１４１，１４２，１４３，１４４，１４５，１４６，１４７を入力として本実施の形態の３次元データ生成装置が生成した３次元データに基づいて空間に投影した形状を描画した顔画像、１５６，１５７，１５８，１５９，１６０，１６１，１６２，１６３はそれぞれ１４８，１４９，１５０，１５１，１５２，１５３，１５４，１５５の投影形状を３０°回転させた形状を描画した顔画像である。
【０１２７】
顔画像１４８，１４９，１５０，１５１，１５２，１５３，１５４，１５５の場合のフィッティングスコアは、それぞれ１２．０８，１２．０２，９．３１，１６．１２，１０．８４，１１．２６，１２．５１，１７．１５であった。フィッティングスコアは、値が低いほど、入力画像とのフィッティング精度が高いことを意味する。図１３に示した例によると、毛髪や眼鏡等の遮蔽物がない入力画像においては概ね良好なフィッティング結果が得られた。
【０１２８】
また、本実施の形態では、３次元データ生成装置として市販のＰＣ（Personal Computer）を使った場合で、数十〜数百ｍｓ程度で３次元データの生成が完了した。したがって、本実施の形態の３次元データ生成装置を、高速性が求められるアプリケーションに適用できることを実証できた。
【０１２９】
従来、３ＤＭＭフィッティングの多くは、シェープパラメータと投影パラメータとを独立に、かつ同時に推定しているが、本来は、投影パラメータがほぼ既知の状態でなければシェープパラメータの推定は困難である。たとえＡＡＭフィッティングの手法を適用しても、シェープパラメータと投影パラメータとを同時に推定している限り、推定値は効率的に収束しないと考えられる。
【０１３０】
これに対して、本実施の形態では、投影座標からシェープパラメータを作成して、フィッティング実行時にシェープパラメータのみを推定している。シェープパラメータそれぞれの要素は独立であるため、シェープパラメータの推定値が効率的に収束するので、本実施の形態によるフィッティングが効率的に収束したと考えられる。以上のように、本実施の形態では、投影空間上のデータを扱うモデルを構築して、３次元空間に拡張したＡＡＭフィッティングを適用することで、高速な３ＤＭＭフィッティング手法を実現することができ、１枚の静止画像から人の顔の３次元データを高速かつ高精度に生成することができる。
【０１３１】
なお、本実施の形態の３次元データ生成装置は、例えばＣＰＵ、記憶装置およびインタフェースを備えたコンピュータとこれらのハードウェア資源を制御するプログラムによって実現することができる。このようなコンピュータを動作させるためのプログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、メモリカードなどの記録媒体に記録された状態で提供される。ＣＰＵは、読み込んだプログラムを記憶装置に書き込み、このプログラムに従って本実施の形態で説明した処理を実行する。
【産業上の利用可能性】
【０１３２】
本発明は、入力画像中の人の顔の３次元データを生成する技術に適用することができる。
【符号の説明】
【０１３３】
１…モデル作成部、２…フィッティング学習部、３…フィッティング実行部、４…後処理部、５…記憶部、１０…対応点探索部、１１…登録３次元座標算出部、１２…投影３次元座標算出部、１３…描画輝度算出部、１４…ベクトル算出部、４０…登録３次元座標算出部、４１…表面反射率算出部。
【図１】
2012008685.tif 000022
【図２】
2012008685.tif 000023
【図３】
2012008685.tif 000024
【図４】
2012008685.tif 000025
【図６】
2012008685.tif 000026
【図７】
2012008685.tif 000027
【図８】
2012008685.tif 000028
【図１０】
2012008685.tif 000029
【図１１】
2012008685.tif 000030
【図１２】
2012008685.tif 000031
【図５】
2012008685.tif 000032
【図９】
2012008685.tif 000033
【図１３】
2012008685.tif 000034