(57)【要約】【課題】リアルなアニメーションを、容易に実現する。【解決手段】特徴点抽出部１３５は、顔が写っている顔画像から、詳細な特徴点を抽出し、顔モデル生成部１３６に供給する。一方、顔モデル生成部１３６は、詳細な特徴点に基づき、顔の３次元モデルである顔モデルを生成し、その周辺部分を、奥行き方向であるＺ方向に拡張する。また、顔モデル生成部１３６は、顔モデルとは別に、頭髪モデルを生成する。そして、顔モデル生成部１３６は、顔モデルに、頭髪モデルを合成する。【選択図】図２
2006163871.tif 000002
【特許請求の範囲】
【請求項１】
３次元の物体が表示された２次元の画像から、前記物体の３次元モデルを生成する画像処理装置において、
前記画像から、その画像に表示されている前記物体の３次元モデルを生成する３次元モデル生成手段と、
前記３次元モデル生成手段において生成された前記３次元モデルの周辺部分を、奥行き方向であるＺ方向に拡張する拡張手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記拡張手段は、前記３次元モデルを、Ｚ方向に、非線形に伸張することにより、前記３次元モデルの周辺部分を、Ｚ方向に拡張する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記３次元モデル生成手段は、１枚の前記画像から前記３次元モデルを生成する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記画像には、顔が表示されており、
前記３次元モデル生成手段は、前記画像に表示されている前記顔の３次元モデルである顔モデルを生成する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記画像に、あらかじめ用意されている頭髪のモデルである頭髪モデルをマッピングするマッピング手段と、
前記画像から、頭髪でない部分である非頭髪部分を検出する非頭髪部分検出手段と、
前記画像にマッピングされた前記頭髪モデルのうちの、前記非頭髪部分にマッピングされた部分の、Ｚ方向の位置を表すＺ値を変更するＺ値変更手段と、
前記Ｚ値変更手段においてＺ値が変更された前記頭髪モデルと、前記顔モデルとを合成する合成手段と
をさらに備えることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記Ｚ値変更手段においてＺ値が変更された前記頭髪モデルのＺ値に対して、ローパスフィルタによるフィルタリングを行うフィルタ手段をさらに備える
ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記Ｚ値変更手段は、前記頭髪モデルと、前記顔モデルとを合成したときに、前記頭髪モデルのうちの、前記非頭髪部分にマッピングされた部分が、前記顔モデルよりも奥側に位置するように、Ｚ値を変更する
ことを特徴とする請求項５に記載の画像処理装置。
【請求項８】
顔の所定の部位のテンプレートの位置とサイズを、前記画像に表示されている顔に適応させる第１の適応手段と、
前記テンプレートの形状を規定する複数のパラメータを、その複数より少ない１以上のパラメータに基づいて変更することにより、位置とサイズが前記画像に表示されている顔に適応した前記テンプレートの形状を、前記所定の部位の形状の範囲内で変形し、前記画像に表示されている顔に適応させる第２の適応手段と
をさらに備え、
前記３次元モデル生成手段は、位置、サイズ、および形状が前記画像に表示されている顔に適応した前記テンプレートから得られる顔の特徴点に基づき、前記画像に表示されている前記顔の顔モデルを生成する
ことを特徴とする請求項４に記載の画像処理装置。
【請求項９】
３次元の物体が表示された２次元の画像から、前記物体の３次元モデルを生成する画像処理方法において、
前記画像から、その画像に表示されている前記物体の３次元モデルを生成する３次元モデル生成ステップと、
前記３次元モデル生成ステップにおいて生成された前記３次元モデルの周辺部分を、奥行き方向であるＺ方向に拡張する拡張ステップと
を含むことを特徴とする画像処理方法。
【請求項１０】
３次元の物体が表示された２次元の画像から、前記物体の３次元モデルを生成する画像処理を、コンピュータに実行させるプログラムにおいて、
前記画像から、その画像に表示されている前記物体の３次元モデルを生成する３次元モデル生成ステップと、
前記３次元モデル生成ステップにおいて生成された前記３次元モデルの周辺部分を、奥行き方向であるＺ方向に拡張する拡張ステップと
を含むことを特徴とするプログラム。
【請求項１１】
３次元の顔が表示された２次元の画像から、前記顔の３次元モデルである顔モデルを生成する画像処理装置において、
前記画像から、その画像に表示されている前記顔の３次元モデルである顔モデルを生成する３次元モデル生成手段と、
前記画像に、あらかじめ用意されている頭髪のモデルである頭髪モデルをマッピングするマッピング手段と、
前記画像から、頭髪でない部分である非頭髪部分を検出する非頭髪部分検出手段と、
前記画像にマッピングされた前記頭髪モデルのうちの、前記非頭髪部分にマッピングされた部分の、奥行き方向であるＺ方向の位置を表すＺ値を変更するＺ値変更手段と、
前記Ｚ値変更手段においてＺ値が変更された前記頭髪モデルと、前記顔モデルとを合成する合成手段と
を備えることを特徴とする画像処理装置。
【請求項１２】
前記３次元モデル生成手段は、１枚の前記画像から前記顔モデルを生成する
ことを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記Ｚ値変更手段においてＺ値が変更された前記頭髪モデルのＺ値に対して、ローパスフィルタによるフィルタリングを行うフィルタ手段をさらに備える
ことを特徴とする請求項１１に記載の画像処理装置。
【請求項１４】
前記Ｚ値変更手段は、前記頭髪モデルと、前記顔モデルとを合成したときに、前記頭髪モデルのうちの、前記非頭髪部分にマッピングされた部分が、前記３次元モデルよりも奥側に位置するように、Ｚ値を変更する
ことを特徴とする請求項１１に記載の画像処理装置。
【請求項１５】
３次元の顔が表示された２次元の画像から、前記顔の３次元モデルである顔モデルを生成する画像処理方法において、
前記画像から、その画像に表示されている前記顔の３次元モデルである顔モデルを生成する３次元モデル生成ステップと、
前記画像に、あらかじめ用意されている頭髪のモデルである頭髪モデルをマッピングするマッピングステップと、
前記画像から、頭髪でない部分である非頭髪部分を検出する非頭髪部分検出ステップと、
前記画像にマッピングされた前記頭髪モデルのうちの、前記非頭髪部分にマッピングされた部分の、奥行き方向であるＺ方向の位置を表すＺ値を変更するＺ値変更ステップと、
前記Ｚ変更ステップにおいてＺ値が変更された前記頭髪モデルと、前記顔モデルとを合成する合成ステップと
を含むことを特徴とする画像処理方法。
【請求項１６】
３次元の顔が表示された２次元の画像から、前記顔の３次元モデルである顔モデルを生成する画像処理を、コンピュータに実行させるプログラムにおいて、
前記画像から、その画像に表示されている前記顔の３次元モデルである顔モデルを生成する３次元モデル生成ステップと、
前記画像に、あらかじめ用意されている頭髪のモデルである頭髪モデルをマッピングするマッピングステップと、
前記画像から、頭髪でない部分である非頭髪部分を検出する非頭髪部分検出ステップと、
前記画像にマッピングされた前記頭髪モデルのうちの、前記非頭髪部分にマッピングされた部分の、奥行き方向であるＺ方向の位置を表すＺ値を変更するＺ値変更ステップと、
前記Ｚ変更ステップにおいてＺ値が変更された前記頭髪モデルと、前記顔モデルとを合成する合成ステップと
を含むことを特徴とするプログラム。
【請求項１７】
３次元の顔が表示された２次元の画像から、前記顔の特徴点を求める画像処理装置において、
顔の所定の部位のテンプレートの位置とサイズを、前記画像に表示されている顔に適応させる第１の適応手段と、
前記テンプレートの形状を規定する複数のパラメータを、その複数より少ない１以上のパラメータに基づいて変更することにより、位置とサイズが前記画像に表示されている顔に適応した前記テンプレートの形状を、前記所定の部位の形状の範囲内で変形し、前記画像に表示されている顔に適応させ、位置、サイズ、および形状が前記画像に表示されている顔に適応した前記テンプレートから、前記顔の所定の部位の特徴点を求める第２の適応手段と
を備えることを特徴とする画像処理装置。
【請求項１８】
前記第１および第２の適応手段は、前記テンプレートを、１枚の前記画像に表示されている顔に適応させる
ことを特徴とする請求項１７に記載の画像処理装置。
【請求項１９】
前記所定の部位は目であり、
前記特徴点は、眼孔から露出している眼球の部分の輪郭上の点と、まぶたと眼孔との境界上の点である
ことを特徴とする請求項１７に記載の画像処理装置。
【請求項２０】
３次元の顔が表示された２次元の画像から、前記顔の特徴点を求める画像処理方法において、
顔の所定の部位のテンプレートの位置とサイズを、前記画像に表示されている顔に適応させる第１の適応ステップと、
前記テンプレートの形状を規定する複数のパラメータを、その複数より少ない１以上のパラメータに基づいて変更することにより、位置とサイズが前記画像に表示されている顔に適応した前記テンプレートの形状を、前記所定の部位の形状の範囲内で変形し、前記画像に表示されている顔に適応させ、位置、サイズ、および形状が前記画像に表示されている顔に適応した前記テンプレートから、前記顔の所定の部位の特徴点を求める第２の適応ステップと
を含むことを特徴とする画像処理方法。
【請求項２１】
３次元の顔が表示された２次元の画像から、前記顔の特徴点を求める画像処理を、コンピュータに実行させるプログラムにおいて、
顔の所定の部位のテンプレートの位置とサイズを、前記画像に表示されている顔に適応させる第１の適応ステップと、
前記テンプレートの形状を規定する複数のパラメータを、その複数より少ない１以上のパラメータに基づいて変更することにより、位置とサイズが前記画像に表示されている顔に適応した前記テンプレートの形状を、前記所定の部位の形状の範囲内で変形し、前記画像に表示されている顔に適応させ、位置、サイズ、および形状が前記画像に表示されている顔に適応した前記テンプレートから、前記顔の所定の部位の特徴点を求める第２の適応ステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、およびプログラムに関し、特に、例えば、リアルなアニメーションを、容易に実現することができるようにする画像処理装置、画像処理方法、およびプログラムに関する。
【背景技術】
【０００２】
例えば、人の顔のリアルなCG(Computer Graphics)を生成するには、顔の忠実な３次元モデル、即ち、３次元形状とテクスチャを得る必要がある。顔の忠実な３次元モデルを得る方法としては、例えば、Cyberware社が行っている方法、即ち、３次元スキャナにより実際の顔をスキャンする方法や、実際の顔の型をとって模型を作成し、３次元ポインタを用いて、模型のデータを入力する方法がある（例えば、非特許文献１参照）。
【０００３】
これらの方法によれば、リアルで高精細な３次元モデルを得ることができるので、精細なCGが必要とされる映画製作や、リアリティが重要なゲーム製作などでよく利用される。しかしながら、３次元スキャナは高価であり、また、３次元スキャナによって顔のすべてをスキャンするのは、多大な時間を要する。同様に、３次元ポインタも高価であり、さらに、３次元ポインタによるデータの入力は、人手によって行わなければならないため、より多大なコスト（時間と労力）を要する。
【０００４】
また、最近では、CPU(Central Processing Unit)やメモリ等の高速化および低価格化により、大容量のディジタルデータとなる画像のデータ処理も比較的容易に可能となってきており、そのようなデータ処理の１つとして、３次元モデルを、撮影方向の異なる複数の画像（２次元の画像）から生成する処理がある。例えば、非特許文献２では、５枚の異なる方向から撮影した顔画像（顔が写されている画像）からリアルな３次元モデルを生成する方法が提案されており、この方法によれば、Cyberware社の方法に比較して、容易に、３次元モデルを生成することができる。
【０００５】
しかしながら、非特許文献２に記載の方法では、顔の特徴点を、複数枚の顔画像それぞれから得て、その特徴点に基づいて、顔の３次元モデルを変形するため、その３次元モデルには、元の顔画像に写し出されている実際の顔と微妙なずれが生じる。即ち、非特許文献２に記載の方法では、複数の顔画像から得られる特徴点の精度がそれほど高くないために、ある方向から撮像された顔画像の特徴点の中から、他の方向から撮像された顔画像の特徴点に正確に対応する特徴点を指定することが困難であり、さらに、ライティングが行われる結果、正面から見た顔の３次元モデルから生成されたCGですら、実物と異なる印象を与えてしまう。
【０００６】
また、３次元モデルを生成する方法として、上述のCyberware社の方法で得られている顔の３次元モデルのサンプルを用い、１枚の顔画像の顔面部分と３次元モデルのレンダリング結果との誤差が最小になるよう、３次元モデルを反復的に修正することで、正確な３次元モデルを再構成する手法がある（例えば、非特許文献３参照）。
【０００７】
しかしながら、この方法では、多数のサンプルを用いて、３次元モデルを反復的に修正するというアルゴリズムの性質上、最終的な３次元モデルを得るまでに多大な時間を要する。
【０００８】
一方、正面から顔を撮影した１枚の顔画像に、適当な３次元形状を付加する（適応させる）ことで、顔の３次元モデルを生成する方法があり（例えば、特許文献１参照）、この方法によれば、顔画像に写っている本人との類似性が高い顔の３次元モデルを、比較的容易に生成することができる。
【０００９】
しかしながら、正面から顔を撮影した１枚の顔画像には、顔の周辺部分（頬から耳にかけての側面、頭頂部、顎の下側）が写っていないため、そのような顔画像から生成される３次元モデルも、正面から見える顔の範囲（顔画像に写っている顔の範囲）のものとなる。従って、例えば、そのような３次元モデルを、斜め方向から見たCG（２次元の画像）を生成するために回転させると、３次元モデルにない顔の周辺部分が正面に現れることにより、斜め方向から見たCGが破綻する（不自然になる）ことがあった。
【００１０】
そこで、正面から顔を撮影した１枚の顔画像から生成された３次元モデルに、他の方法で生成された、顔の周辺部分が存在する３次元モデルを結合することにより、正面から顔を撮影した１枚の顔画像から生成された３次元モデルに、顔の周辺部分を付加することが考えられる。
【００１１】
しかしながら、正面から顔を撮影した１枚の顔画像から３次元モデルを生成する処理の他に、顔の周辺部分が存在する３次元モデルを生成する処理を行うことは、処理全体の簡便性が失われることになる。さらに、正面から顔を撮影した１枚の顔画像から生成された３次元モデルと、他の方法で生成された、顔の周辺部分が存在する３次元モデルとを結合した場合には、その結合部分に、違和感を生じる。
【００１２】
一方、頭髪は細かいために、例えば、３次元スキャナによって頭髪をスキャンしても、正確にキャプチャすることが困難であった。このため、従来の顔の３次元モデルを生成する方法においては、頭髪は、顔の３次元モデルに反映されないことが多い。
【００１３】
また、顔の３次元モデルの生成後に、その３次元モデルに、顔画像の頭髪（のテクスチャ）を合成することにより、頭髪を、顔の３次元モデルに反映する方法があるが、この方法では、本人の頭髪の形状（髪型）や質感を再現することは難しい。即ち、顔の３次元モデルは、その輪郭が顔の輪郭に一致するように生成されるので、３次元モデルにおいて、顔の輪郭からはみ出した部分に対応する位置（部分）に、３次元形状は存在しない。しかしながら、頭髪は、一般に、顔の輪郭からはみ出した範囲にも存在するため、顔の３次元モデルに、単に、顔画像の頭髪を合成しても、顔の３次元モデルには、顔の輪郭からはみ出した範囲の頭髪が反映されず、その結果、顔画像に写っているような頭髪の髪型や質感は得られない。
【００１４】
ところで、例えば、瞬きや、口の開閉、顔（首）を傾けるなどといった、顔のリアルなアニメーション（のCG）を実現することの要請は高い。
【００１５】
顔のリアルなアニメーションを実現するには、例えば、瞬きを行う目や、開閉する口、傾く顔の輪郭などの動かす部位について、局所的に、精度が高い多くの特徴点が必要となる。即ち、例えば、目については、リアルな瞬きを実現するために、眼孔から露出している眼球の部分の輪郭上の正確で多数の点と、まぶたと眼孔との境界上の正確で多数の点を、特徴点として検出する必要がある。
【００１６】
しかしながら、従来においては、特徴点は、例えば、いわゆる顔認識や、顔の３次元モデルの生成に用いられ、それほどの精度や数が要求されていなかった。
【００１７】
即ち、特徴点を検出する方法としては、例えば、顔画像をワーピング（変形貼り付けによる加算）し、主成分分析で次元圧縮をすることにより、顔画像の情報量をある程度削減して、特徴点を検出するAAM(Active Appearance Models)と呼ばれる方法がある（例えば、非特許文献４参照）。AAMによれば、顔画像に写っている顔の特徴点とテクスチャそれぞれに対して主成分分析をかけて情報を抽出し、１つの顔を主成分パラメータで表現し、その主成分パラメータを変化させることによって、新しい顔に対しても特徴点とテクスチャの情報を大まかに復元することができる。
【００１８】
AAMでは、顔画像の情報量をある程度削減することで、元の顔画像をぼけた画像にし、そのぼけた画像を用いて、特徴点を検出するため、大域的（大局的）な特徴点が得られる。従って、AAMによる特徴点の検出方法は、例えば、３次元モデルの生成には用いることができるが、精度が高い特徴点を必要とするリアルなアニメーションには不向きである。
【００１９】
一方、例えば、上述した非特許文献２に記載の方法においては、３次元モデルの生成に、複数枚の顔画像から得た特徴点が用いられるが、この方法において生じる、３次元モデルと、元の顔画像に写し出されている実際の顔と微妙なずれは、複数枚の顔画像それぞれに対して、多数の特徴点を、精度良く指定することにより低減することができる。
【００２０】
しかしながら、撮影方向の異なる複数枚の顔画像それぞれに対して、対応する特徴点を、数多く、しかも高精度に指定することは困難である。また、仮に、そのような特徴点を得ることができたとしても、その結果得られるCGは、３次元モデルの、いわゆる見た目の精度が伴わないため、顔画像に写っている本人を正面から見た画像とは必ずしも一致しない、従来の、いわばCG的な不自然なCGになってしまうことが予想される。
【００２１】
【特許文献１】特開2002-32783号公報
【非特許文献１】"Cyberware"、［online］、Cyberware、［平成16年12月6日検索］、インターネット〈URL：http://www.cyberware.com/〉
【非特許文献２】Frederic Pighin, Jamie Hecker, Dani Lischinski, Richard Szeliski, and David Salesin. Synthesizing Realistic Facial Expressions from Photographs. Proceedings of SIGGRAPH 98, in Computer Graphics Proceedings, Annual Conference Series, 1998.
【非特許文献３】BLANZ, V., AND VETTER, T.  A morphable model for the synthesis of 3D faces. Proceedings of ACM SIGGRAPH 99, in Computer Graphics Proceedings, Annual Conference Series, 1999.
【非特許文献４】T.F. Cootes, G.J.Edwards, and C.J.Taylor, "Active Appearance Models",Proc.Fifth European Conf. Computer Vision, H. Burkhardt and B. Neumann,eds, vol.2, pp.484-498, 1998
【発明の開示】
【発明が解決しようとする課題】
【００２２】
以上のように、従来においては、リアルなアニメーションを、容易に実現する要素技術が提案されていなかった。
【００２３】
本発明は、このような状況に鑑みてなされたものであり、リアルなアニメーションを、容易に実現することができるようにするものである。
【課題を解決するための手段】
【００２４】
本発明の第１の画像処理装置は、画像から、その画像に表示されている物体の３次元モデルを生成する３次元モデル生成手段と、３次元モデル生成手段において生成された３次元モデルの周辺部分を、奥行き方向であるＺ方向に拡張する拡張手段とを備えることを特徴とする。
【００２５】
本発明の第１の画像処理方法は、画像から、その画像に表示されている物体の３次元モデルを生成する３次元モデル生成ステップと、３次元モデル生成ステップにおいて生成された３次元モデルの周辺部分を、奥行き方向であるＺ方向に拡張する拡張ステップとを含むことを特徴とする。
【００２６】
本発明の第１のプログラムは、画像から、その画像に表示されている物体の３次元モデルを生成する３次元モデル生成ステップと、３次元モデル生成ステップにおいて生成された３次元モデルの周辺部分を、奥行き方向であるＺ方向に拡張する拡張ステップとを含むことを特徴とする。
【００２７】
本発明の第２の画像処理装置は、画像から、その画像に表示されている顔の３次元モデルである顔モデルを生成する３次元モデル生成手段と、画像に、あらかじめ用意されている頭髪のモデルである頭髪モデルをマッピングするマッピング手段と、画像から、頭髪でない部分である非頭髪部分を検出する非頭髪部分検出手段と、画像にマッピングされた頭髪モデルのうちの、非頭髪部分にマッピングされた部分の、奥行き方向であるＺ方向の位置を表すＺ値を変更するＺ値変更手段と、Ｚ値変更手段においてＺ値が変更された頭髪モデルと、顔モデルとを合成する合成手段とを備えることを特徴とする。
【００２８】
本発明の第２の画像処理方法は、画像から、その画像に表示されている顔の３次元モデルである顔モデルを生成する３次元モデル生成ステップと、画像に、あらかじめ用意されている頭髪のモデルである頭髪モデルをマッピングするマッピングステップと、画像から、頭髪でない部分である非頭髪部分を検出する非頭髪部分検出ステップと、画像にマッピングされた頭髪モデルのうちの、非頭髪部分にマッピングされた部分の、奥行き方向であるＺ方向の位置を表すＺ値を変更するＺ値変更ステップと、Ｚ変更ステップにおいてＺ値が変更された頭髪モデルと、顔モデルとを合成する合成ステップとを含むことを特徴とする。
【００２９】
本発明の第２のプログラムは、画像から、その画像に表示されている顔の３次元モデルである顔モデルを生成する３次元モデル生成ステップと、画像に、あらかじめ用意されている頭髪のモデルである頭髪モデルをマッピングするマッピングステップと、画像から、頭髪でない部分である非頭髪部分を検出する非頭髪部分検出ステップと、画像にマッピングされた頭髪モデルのうちの、非頭髪部分にマッピングされた部分の、奥行き方向であるＺ方向の位置を表すＺ値を変更するＺ値変更ステップと、Ｚ変更ステップにおいてＺ値が変更された頭髪モデルと、顔モデルとを合成する合成ステップとを含むことを特徴とする。
【００３０】
本発明の第３の画像処理装置は、顔の所定の部位のテンプレートの位置とサイズを、画像に表示されている顔に適応させる第１の適応手段と、テンプレートの形状を規定する複数のパラメータを、その複数より少ない１以上のパラメータに基づいて変更することにより、位置とサイズが画像に表示されている顔に適応したテンプレートの形状を、所定の部位の形状の範囲内で変形し、画像に表示されている顔に適応させ、位置、サイズ、および形状が画像に表示されている顔に適応したテンプレートから、顔の所定の部位の特徴点を求める第２の適応手段とを備えることを特徴とする。
【００３１】
本発明の第３の画像処理方法は、顔の所定の部位のテンプレートの位置とサイズを、画像に表示されている顔に適応させる第１の適応ステップと、テンプレートの形状を規定する複数のパラメータを、その複数より少ない１以上のパラメータに基づいて変更することにより、位置とサイズが画像に表示されている顔に適応したテンプレートの形状を、所定の部位の形状の範囲内で変形し、画像に表示されている顔に適応させ、位置、サイズ、および形状が画像に表示されている顔に適応したテンプレートから、顔の所定の部位の特徴点を求める第２の適応ステップとを含むことを特徴とする。
【００３２】
本発明の第３のプログラムは、顔の所定の部位のテンプレートの位置とサイズを、画像に表示されている顔に適応させる第１の適応ステップと、テンプレートの形状を規定する複数のパラメータを、その複数より少ない１以上のパラメータに基づいて変更することにより、位置とサイズが画像に表示されている顔に適応したテンプレートの形状を、所定の部位の形状の範囲内で変形し、画像に表示されている顔に適応させ、位置、サイズ、および形状が画像に表示されている顔に適応したテンプレートから、顔の所定の部位の特徴点を求める第２の適応ステップとを含むことを特徴とする。
【００３３】
本発明の第１の画像処理装置、画像処理方法、およびプログラムにおいては、画像から、その画像に表示されている物体の３次元モデルが生成され、その３次元モデルの周辺部分が、奥行き方向であるＺ方向に拡張される。
【００３４】
本発明の第２の画像処理装置、画像処理方法、およびプログラムにおいては、画像から、その画像に表示されている顔の顔モデルが生成される。一方、画像に、あらかじめ用意されている頭髪のモデルである頭髪モデルがマッピングされるとともに、画像から、頭髪でない部分である非頭髪部分が検出される。そして、画像にマッピングされた頭髪モデルのうちの、非頭髪部分にマッピングされた部分の、奥行き方向であるＺ方向の位置を表すＺ値が変更され、そのＺ値が変更された頭髪モデルと、顔モデルとが合成される。
【００３５】
本発明の第３の画像処理装置、および画像処理方法、およびプログラムにおいては、顔の所定の部位のテンプレートの位置とサイズが、画像に表示されている顔に適応される。さらに、テンプレートの形状を規定する複数のパラメータを、その複数より少ない１以上のパラメータに基づいて変更することにより、位置とサイズが画像に表示されている顔に適応したテンプレートの形状が、所定の部位の形状の範囲内で変形され、画像に表示されている顔に適応される。そして、位置、サイズ、および形状が画像に表示されている顔に適応したテンプレートから、顔の所定の部位の特徴点が求められる。
【発明の効果】
【００３６】
本発明によれば、画像から、３次元モデルを、容易に得ることができる。また、本発明によれば、画像から、精度の高い特徴点を、容易に得ることができる。その結果、例えば、リアルなアニメーションを、容易に実現することが可能となる。
【発明を実施するための最良の形態】
【００３７】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００３８】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００３９】
請求項１に記載の画像処理装置は、
３次元の物体が表示された２次元の画像から、前記物体の３次元モデルを生成する画像処理装置（例えば、図２の画像処理装置）において、
前記画像から、その画像に表示されている前記物体の３次元モデルを生成する３次元モデル生成手段（例えば、図２５の顔モデル適応部２６１）と、
前記３次元モデル生成手段において生成された前記３次元モデルの周辺部分を、奥行き方向であるＺ方向に拡張する拡張手段（例えば、図２５の拡張部２６４）と
を備えることを特徴とする。
【００４０】
請求項５に記載の画像処理装置は、
前記画像に、あらかじめ用意されている頭髪のモデルである頭髪モデルをマッピングするマッピング手段（例えば、図２５のマッピング部２７１）と、
前記画像から、頭髪でない部分である非頭髪部分を検出する非頭髪部分検出手段（例えば、図２５の非頭髪部分検出部２７２）と、
前記画像にマッピングされた前記頭髪モデルのうちの、前記非頭髪部分にマッピングされた部分の、Ｚ方向の位置を表すＺ値を変更するＺ値変更手段（例えば、図２５のＺ値変更部２７２）と、
前記Ｚ値変更手段においてＺ値が変更された前記頭髪モデルと、前記顔モデルとを合成する合成手段（例えば、図２５の合成部２５４）と
をさらに備えることを特徴とする。
【００４１】
請求項６に記載の画像処理装置は、
前記Ｚ値変更手段においてＺ値が変更された前記頭髪モデルのＺ値に対して、ローパスフィルタによるフィルタリングを行うフィルタ手段（例えば、図２５のフィルタ部２７４）をさらに備える
ことを特徴とする。
【００４２】
請求項８に記載の画像処理装置は、
顔の所定の部位のテンプレートの位置とサイズを、前記画像に表示されている顔に適応させる第１の適応手段（例えば、図１３のステップＳ２０２の処理を行う図１１の目特徴点検出部２０２）と、
前記テンプレートの形状を規定する複数のパラメータを、その複数より少ない１以上のパラメータに基づいて変更することにより、位置とサイズが前記画像に表示されている顔に適応した前記テンプレートの形状を、前記所定の部位の形状の範囲内で変形し、前記画像に表示されている顔に適応させる第２の適応手段（例えば、図１３のステップＳ２０３の処理を行う図１１の目特徴点検出部２０２）と
をさらに備え、
前記３次元モデル生成手段は、位置、サイズ、および形状が前記画像に表示されている顔に適応した前記テンプレートから得られる顔の特徴点に基づき、前記画像に表示されている前記顔の顔モデルを生成する
ことを特徴とする。
【００４３】
請求項９に記載の画像処理方法は、
３次元の物体が表示された２次元の画像から、前記物体の３次元モデルを生成する画像処理方法において、
前記画像から、その画像に表示されている前記物体の３次元モデルを生成する３次元モデル生成ステップ（例えば、図４７のステップＳ２５１）と、
前記３次元モデル生成ステップにおいて生成された前記３次元モデルの周辺部分を、奥行き方向であるＺ方向に拡張する拡張ステップ（例えば、図４７のステップＳ２５２）と
を含むことを特徴とする。
【００４４】
請求項１０に記載のプログラムは、
３次元の物体が表示された２次元の画像から、前記物体の３次元モデルを生成する画像処理を、コンピュータに実行させるプログラムにおいて、
前記画像から、その画像に表示されている前記物体の３次元モデルを生成する３次元モデル生成ステップ（例えば、図４７のステップＳ２５１）と、
前記３次元モデル生成ステップにおいて生成された前記３次元モデルの周辺部分を、奥行き方向であるＺ方向に拡張する拡張ステップ（例えば、図４７のステップＳ２５２）と
を含むことを特徴とする。
【００４５】
請求項１１に記載の画像処理装置は、
３次元の顔が表示された２次元の画像から、前記顔の３次元モデルである顔モデルを生成する画像処理装置（例えば、図２の画像処理装置）において、
前記画像から、その画像に表示されている前記顔の３次元モデルである顔モデルを生成する３次元モデル生成手段（例えば、図２５の顔モデル適応部２６１）と、
前記画像に、あらかじめ用意されている頭髪のモデルである頭髪モデルをマッピングするマッピング手段（例えば、図２５のマッピング部２７１）と、
前記画像から、頭髪でない部分である非頭髪部分を検出する非頭髪部分検出手段（例えば、図２５の非頭髪部分検出部２７２）と、
前記画像にマッピングされた前記頭髪モデルのうちの、前記非頭髪部分にマッピングされた部分の、奥行き方向であるＺ方向の位置を表すＺ値を変更するＺ値変更手段（例えば、図２５のＺ値変更部２７３）と、
前記Ｚ値変更手段においてＺ値が変更された前記頭髪モデルと、前記顔モデルとを合成する合成手段（例えば、図２５の合成部２５４）と
を備えることを特徴とする。
【００４６】
請求項１３に記載の画像処理装置は、
前記Ｚ値変更手段においてＺ値が変更された前記頭髪モデルのＺ値に対して、ローパスフィルタによるフィルタリングを行うフィルタ手段（例えば、図２５のフィルタ部２７４）をさらに備える
ことを特徴とする。
【００４７】
請求項１５に記載の画像処理方法は、
３次元の顔が表示された２次元の画像から、前記顔の３次元モデルである顔モデルを生成する画像処理方法において、
前記画像から、その画像に表示されている前記顔の３次元モデルである顔モデルを生成する３次元モデル生成ステップ（例えば、図４７のステップＳ２５１）と、
前記画像に、あらかじめ用意されている頭髪のモデルである頭髪モデルをマッピングするマッピングステップ（例えば、図４８のステップＳ２７２）と、
前記画像から、頭髪でない部分である非頭髪部分を検出する非頭髪部分検出ステップ（例えば、図４８のステップＳ２７３）と、
前記画像にマッピングされた前記頭髪モデルのうちの、前記非頭髪部分にマッピングされた部分の、奥行き方向であるＺ方向の位置を表すＺ値を変更するＺ値変更ステップ（例えば、図４８のステップ２７４）と、
前記Ｚ変更ステップにおいてＺ値が変更された前記頭髪モデルと、前記顔モデルとを合成する合成ステップ（例えば、図４８のステップＳ２７６）と
を含むことを特徴とする。
【００４８】
請求項１６に記載のプログラムは、
３次元の顔が表示された２次元の画像から、前記顔の３次元モデルである顔モデルを生成する画像処理を、コンピュータに実行させるプログラムにおいて、
前記画像から、その画像に表示されている前記顔の３次元モデルである顔モデルを生成する３次元モデル生成ステップ（例えば、図４７のステップＳ２５１）と、
前記画像に、あらかじめ用意されている頭髪のモデルである頭髪モデルをマッピングするマッピングステップ（例えば、図４８のステップＳ２７２）と、
前記画像から、頭髪でない部分である非頭髪部分を検出する非頭髪部分検出ステップ（例えば、図４８のステップＳ２７３）と、
前記画像にマッピングされた前記頭髪モデルのうちの、前記非頭髪部分にマッピングされた部分の、奥行き方向であるＺ方向の位置を表すＺ値を変更するＺ値変更ステップ（例えば、図４８のステップ２７４）と、
前記Ｚ変更ステップにおいてＺ値が変更された前記頭髪モデルと、前記顔モデルとを合成する合成ステップ（例えば、図４８のステップＳ２７６）と
を含むことを特徴とする。
【００４９】
請求項１７に記載の画像処理装置は、
３次元の顔が表示された２次元の画像から、前記顔の特徴点を求める画像処理装置（例えば、図２の画像処理装置）において、
顔の所定の部位のテンプレートの位置とサイズを、前記画像に表示されている顔に適応させる第１の適応手段（例えば、図１３のステップＳ２０２の処理を行う図１１の目特徴点検出部２０２）と、
前記テンプレートの形状を規定する複数のパラメータを、その複数より少ない１以上のパラメータに基づいて変更することにより、位置とサイズが前記画像に表示されている顔に適応した前記テンプレートの形状を、前記所定の部位の形状の範囲内で変形し、前記画像に表示されている顔に適応させ、位置、サイズ、および形状が前記画像に表示されている顔に適応した前記テンプレートから、前記顔の所定の部位の特徴点を求める第２の適応手段（例えば、図１３のステップＳ２０３の処理を行う図１１の目特徴点検出部２０２）と
を備えることを特徴とする。
【００５０】
請求項２０に記載の画像処理方法は、
３次元の顔が表示された２次元の画像から、前記顔の特徴点を求める画像処理方法において、
顔の所定の部位のテンプレートの位置とサイズを、前記画像に表示されている顔に適応させる第１の適応ステップ（例えば、図１３のステップＳ２０２）と、
前記テンプレートの形状を規定する複数のパラメータを、その複数より少ない１以上のパラメータに基づいて変更することにより、位置とサイズが前記画像に表示されている顔に適応した前記テンプレートの形状を、前記所定の部位の形状の範囲内で変形し、前記画像に表示されている顔に適応させ、位置、サイズ、および形状が前記画像に表示されている顔に適応した前記テンプレートから、前記顔の所定の部位の特徴点を求める第２の適応ステップ（例えば、図１３のステップＳ２０３）と
を含むことを特徴とする。
【００５１】
請求項２１に記載のプログラムは、
３次元の顔が表示された２次元の画像から、前記顔の特徴点を求める画像処理を、コンピュータに実行させるプログラムにおいて、
顔の所定の部位のテンプレートの位置とサイズを、前記画像に表示されている顔に適応させる第１の適応ステップ（例えば、図１３のステップＳ２０２）と、
前記テンプレートの形状を規定する複数のパラメータを、その複数より少ない１以上のパラメータに基づいて変更することにより、位置とサイズが前記画像に表示されている顔に適応した前記テンプレートの形状を、前記所定の部位の形状の範囲内で変形し、前記画像に表示されている顔に適応させ、位置、サイズ、および形状が前記画像に表示されている顔に適応した前記テンプレートから、前記顔の所定の部位の特徴点を求める第２の適応ステップ（例えば、図１３のステップＳ２０３）と
を含むことを特徴とする。
【００５２】
以下、図面を参照して、本発明の実施の形態について説明する。
【００５３】
図１は、本発明を適用した画像処理装置を実現するコンピュータのハードウェアの構成例を示している。
【００５４】
コンピュータは、CPU１０２を内蔵している。CPU１０２には、バス１０１を介して、入出力インタフェース１１０が接続されており、CPU１０２は、入出力インタフェース１１０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部１０７が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)１０３に格納されているプログラムを実行する。あるいは、また、CPU１０２は、ハードディスク１０５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部１０８で受信されてハードディスク１０５にインストールされたプログラム、またはドライブ１０９に装着されたリムーバブル記録媒体１１１から読み出されてハードディスク１０５にインストールされたプログラムを、RAM(Random Access Memory)１０４にロードして実行する。これにより、CPU１０２は、後述するフローチャートにしたがった処理、あるいは後述するブロック図の構成により行われる処理を行う。そして、CPU１０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース１１０を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部１０６から出力、あるいは、通信部１０８から送信、さらには、ハードディスク１０５に記録等させる。
【００５５】
CPU１０２に実行させるプログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク１０５やＲＯＭ１０３に予め記録しておくことができる。
【００５６】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体１１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体１１１は、いわゆるパッケージソフトウエアとして提供することができる。
【００５７】
なお、プログラムは、上述したようなリムーバブル記録媒体１１１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、例えば、NIC（Network Interface Card）や、IEEE（Institute of Electrical and Electronics Engineers）1394またはUSB（Universal Serial Bus）に準拠したインタフェースである通信部１０８で受信し、内蔵するハードディスク１０５にインストールすることができる。
【００５８】
図１の実施の形態においては、コンピュータ（CPU１０２）が、ハードディスク１０５にインストールされている（アプリケーション）プログラムを実行することにより、例えば、３次元の物体としての、例えば、人の顔が表示された（写っている）２次元の画像から、その顔の３次元モデルを生成する処理（モデリング処理）と、その３次元モデルから、顔（の部位）が動くCGを生成して表示する処理（アニメーション処理）とを行う画像処理装置として機能する。
【００５９】
即ち、図２は、図１のコンピュータがプログラムを実行することによって等価的に実現される画像処理装置の一実施の形態の構成例を示している。
【００６０】
記憶部１３１には、人の顔が写っている２次元の画像（の画像データ）が供給されるようになっている。記憶部１３１は、例えば、図１のRAM１０４に相当し、そこに供給される、１枚の、人の顔が写っている画像（以下、適宜、顔画像という）を一時記憶する。
【００６１】
なお、記憶部１３１に記憶させる顔画像は、ディジタル（スチル）カメラで撮影した画像や、写真をスキャナで取り込んで得られる画像などを、通信部１０８からハードディスク１０５に記憶しておき、記憶部１３１に供給することができる。
【００６２】
前処理部１３２は、記憶部１３１に記憶された１枚の顔画像を読み出して、後述する前処理を施す。そして、前処理部１３２は、前処理の結果得られる１枚の画像（以下、適宜、正規化顔画像という）を、正規化顔画像記憶部１３３に供給する。
【００６３】
正規化顔画像記憶部１３３は、例えば、図１のRAM１０４に相当し、前処理部１３２から供給される１枚の正規化顔画像（の画像データ）を一時記憶する。
【００６４】
通常特徴点抽出部１３４は、正規化顔画像記憶部１３３に記憶されている正規化顔画像から、特徴点を抽出（検出）し、さらに、その特徴点から、正規化顔画像に写っている目と口の領域である目領域と口領域を求める。そして、通常特徴点抽出部１３４は、特徴点と、目領域および口領域の情報を、詳細特徴点抽出部１３５に供給する。
【００６５】
詳細特徴点抽出部１３５は、通常特徴点抽出部１３４から供給される特徴点や、目領域、口領域の情報に基づき、正規化顔画像記憶部１３３に記憶されている正規化顔画像から、特徴点を抽出（検出）し、顔モデル生成部１３６に供給する。
【００６６】
ここで、通常特徴点抽出部１３４が正規化顔画像から抽出する特徴点は、例えば、前述のAAMなどによって抽出される大域的な特徴点であり、正規化顔画像に写っている顔の目や、口、顔の輪郭の大雑把な位置等を認識することができれば良く、それほどの精度や数は要求されない。これに対して、詳細特徴点抽出部１３５が正規化顔画像から抽出する特徴点は、後述する顔のCGのアニメーション（CGアニメーション）の生成等に用いられるものであり、通常特徴点抽出部１３４で抽出される特徴点に比較して、数も多く、精度も高いものである。
【００６７】
以下、通常特徴点抽出部１３４で抽出される特徴点と、詳細特徴点抽出部１３５で抽出される特徴点とを区別するために、通常特徴点抽出部１３４で抽出される特徴点を、通常特徴点ともいい、詳細特徴点抽出部１３５で抽出される特徴点を、詳細特徴点ともいう。
【００６８】
顔モデル生成部１３６は、正規化顔画像記憶部１３３に記憶された１枚の正規化顔画像と、詳細特徴点抽出部１３５から供給される特徴点とに基づき、正規化顔画像に写っている顔の３次元モデルである顔モデルを生成し、顔モデル記憶部１３７に供給する。
【００６９】
顔モデル記憶部１３７は、例えば、図１のRAM１０４に相当し、顔モデル生成部１３６から供給される顔モデル（のデータ）を一時記憶する。
【００７０】
アニメーション処理部１３８は、顔モデル記憶部１３７に記憶された顔モデルに基づき、操作部１３９の操作に応じて顔（の部位）が動くCGアニメーション（のデータ）を生成し、表示部１４０に供給する。
【００７１】
操作部１３９は、例えば、図１の入力部１０７に相当し、ユーザによって操作され、その操作に対応した操作信号を、アニメーション処理部１３８に供給する。
【００７２】
表示部１４０は、例えば、図１の出力部１０６に相当し、アニメーション処理部１３８から供給されるCGアニメーションを表示する。
【００７３】
次に、図３のフローチャートを参照して、図２の画像処理装置の動作について説明する。
【００７４】
記憶部１３１には、人の顔を正面から撮像した１枚の顔画像が、既に記憶されており、ステップＳ１０１では、前処理部１３２が、記憶部１３１に記憶された１枚の顔画像を読み出して、前処理を施す。そして、前処理部１３２は、前処理の結果得られる１枚の正規化顔画像を、正規化顔画像記憶部１３３に供給して記憶させ、ステップＳ１０２からＳ１０３に進む。
【００７５】
ステップＳ１０３では、通常特徴点抽出部１３４は、例えば、AAMによって、正規化顔画像記憶部１３３に記憶されている正規化顔画像から、通常特徴点を抽出し、さらに、目領域と口領域を求める。そして、通常特徴点抽出部１３４は、特徴点と、目領域および口領域の情報を、詳細特徴点抽出部１３５に供給して、ステップＳ１０４に進む。
【００７６】
ステップＳ１０４では、詳細特徴点抽出部１３５は、通常特徴点抽出部１３４から供給される通常特徴点や、目領域の情報、口領域の情報と、正規化顔画像記憶部１３３に記憶されている正規化顔画像とに基づき、その正規化顔画像の特定の部位、即ち、例えば、正規化顔画像に写っている顔の目、口、顎等の特徴点を抽出し、顔モデル生成部１３６に供給する。
【００７７】
そして、ステップＳ１０４からＳ１０５に進み、顔モデル生成部１３６は、正規化顔画像記憶部１３３に記憶された１枚の正規化顔画像と、詳細特徴点抽出部１３５から供給される特徴点とに基づき、正規化顔画像に写っている顔の顔モデルを生成して、ステップＳ１０６に進む。ステップＳ１０６では、顔モデル生成部１３６は、正規化顔画像に写っている人の頭髪の３次元モデルである頭髪モデルを生成し、ステップＳ１０５で生成した顔モデルに合成して、ステップＳ１０７に進む。
【００７８】
ステップＳ１０７では、顔モデル生成部１３６は、詳細特徴点抽出部１３５から供給される詳細特徴点に基づき、ステップＳ１０６で頭髪モデルを合成した顔モデルに対して、目（眼球）の３次元モデルである目モデルと、歯（口内）の３次元モデルである歯モデルとを埋め込み（合成し）、その結果得られる顔モデルを顔モデル記憶部１３７に供給して記憶させ、ステップＳ１０８に進む。
【００７９】
ステップＳ１０８では、アニメーション処理部１３８が、顔モデル記憶部１３７に記憶された顔モデルに基づき、操作部１３９の操作に応じて顔（の部位）が動くCGアニメーション（のデータ）を生成し、表示部１４０に供給する。これにより、表示部１４０においては、記憶部１３１に記憶された顔画像に写っている顔のCGが操作部１３９の操作に応じて動くCGアニメーションが表示される。
【００８０】
なお、顔モデル記憶部１３７に記憶された顔モデルは、例えば、図１の通信部１０８を介して、インターネット上のサーバにアップロードし、あるいは、他の装置に送信することができる。また、顔モデル記憶部１３７に記憶された顔モデルは、例えば、ドライブ１０９を介して、リムーバブル記録媒体１１１に記録し、第３者等に配布することができる。
【００８１】
次に、図４のフローチャートを参照して、図３のステップＳ１０２において、図２の前処理部１３２が行う前処理について説明する。
【００８２】
前処理部１３２は、まず最初に、ステップＳ１２１において、記憶部１３１に記憶された１枚の顔画像のサイズを、必要に応じて縮小して、ステップＳ１２２に進む。即ち、記憶部１３１に記憶された顔画像が、例えば、市販のディジタルカメラで撮像された画像である場合、そのままのサイズでは、後の処理の負荷が大になるので、その負荷を低減するため、ステップＳ１２１では、顔画像のサイズが、例えば、画素を間引くローパスフィルタリング等を行うことによって、所定のサイズに縮小される。
【００８３】
なお、記憶部１３１に記憶された顔画像が、所定のサイズ以下である場合には、ステップＳ１２１の処理はスキップされる。
【００８４】
また、記憶部１３１に記憶された顔画像は、そこに写っている人（顔）の部分と他の部分とを識別しやすいように、背景が、例えば、グレー一色などの単一色になっているとする。
【００８５】
ここで、図５に、記憶部１３１に記憶され、前処理部１３２による前処理の対象となる顔画像の例を示す。
【００８６】
ステップＳ１２２では、前処理部１３２は、ステップＳ１２１の処理により所定のサイズに縮小された顔画像に写っている人の顔の部分を含む矩形の領域である顔スケールを推定し、さらに、顔画像に写っている人の肩から下にある服とそれより上の部分との境界（以下、適宜、服境界という）を推定する。
する。
【００８７】
ここで、図６を参照して、顔スケールと服境界を推定する方法を説明する。
【００８８】
図６は、図５の顔画像を、ステップＳ１２１で縮小して得られる顔画像を示している。
【００８９】
例えば、顔画像が、画素値として、RGB(Red, Greeen, Blue)の３値を有しているものとすると、前処理部１３２は、まず、顔画像のRGBの値に基づき、顔画像から、そこに写っている人と背景との境界（以下、適宜、人物境界という）を検出する。
【００９０】
即ち、前処理部１３２は、顔画像の左端と右端のそれぞれから、内側の方向に向かって、エッジとなっているエッジ画素を、顔画像の各行について検出していく。具体的には、前処理部１３２は、顔画像のある行に注目すれば、その行の１つの画素を注目画素として注目して、注目画素と、注目画素に対して顔画像の内側の方向に隣接する画素との、R，G，Bの値それぞれどうしの差分の自乗和（以下、適宜、RGB自乗誤差という）を計算し、そのRGB自乗誤差と固定の閾値（小さい閾値）とを比較することを、顔画像の左端と右端のそれぞれから、内側の方向に向かって順次行うことで、エッジ画素を検出し、そのエッジ画素を、人物境界（を構成する画素）の候補とする。
【００９１】
つまり、前処理部１３２は、顔画像の内側の方向に向かって最初に見つかる、RGB自乗誤差が固定の閾値より大きい画素を、エッジ画素として検出し、そのエッジ画素を、人物境界の候補とする。ここで、エッジ画素は、人物境界（であるエッジとなっている画素）である可能性もあるが、背景内に存在する何らかのエッジ（となっている画素）である可能性もある。
【００９２】
前処理部１３２は、最初の人物境界の候補の検出後、その人物境界の候補よりも外側の顔画像の領域（横方向に並ぶ画素）を背景と仮定し、背景を代表するRGBの値（以下、適宜、背景RGB値という）を求める。ここで、背景RGB値としては、例えば、背景の各画素のRGBの値の平均値や、背景の任意の画素のRGBの値などを採用することができる。
【００９３】
前処理部１３２は、その後、さらに、人物境界の候補から内側の方向に向かって、エッジ画素の検出を続行する。但し、最初に検出された人物境界の候補から内側の画素については、RGB自乗誤差と比較する閾値としては、顔画像の内側の画素ほど値が大きくなる可変の閾値が採用される。
【００９４】
そして、前処理部１３２は、新たなエッジ画素が検出された場合、即ち、ある画素において、そのRGB自乗誤差が可変の閾値よりも大きい場合、現在の人物境界の候補から新たなエッジ画素までの間にある画素（横方向に並ぶ画素）の画素値を代表するRGBの値（以下、適宜、外側代表RGB値という）を求める。ここで、外側代表RGB値としては、例えば、現在の人物境界の候補から新たなエッジ画素までの間にある各画素のRGBの値の平均値や、現在の人物境界の候補から新たなエッジ画素までの間にある任意の画素（例えば、新たなエッジ画素の、顔画像の外側の方向に隣接する画素など）のRGBの値などを採用することができる。
【００９５】
さらに、前処理部１３２は、新たなエッジ画素の、顔画像の内側の方向にある画素のRGBの値（以下、適宜、内側代表RGB値という）を求める。ここで、内側代表RGB値としては、例えば、新たなエッジ画素の、顔画像の内側の方向に隣接する画素のRGBの値などを採用することができる。
【００９６】
そして、前処理部１３２は、内側代表RGB値の背景類似度と、外側RGB値の背景類似度とを求める。ここで、背景類似度とは、背景との類似性を表す値であり、内側代表RGB値の背景類似度としては、例えば、内側代表RGB値のR，G，Bの値それぞれと、背景RGB値のR，G，Bの値それぞれとの差分の自乗和を採用することができる。同様に、外側代表RGB値の背景類似度としては、例えば、外側代表RGB値のR，G，Bの値それぞれと、背景RGB値のR，G，Bの値それぞれとの差分の自乗和を採用することができる。この場合、背景類似度の「値」が小さいほど、背景との類似性が高いことを表す。
【００９７】
前処理部１３２は、内側代表RGB値の背景類似度と、外側RGB値の背景類似度とを求めた後、それらの背景類似度に基づき、内側代表RGB値と外側RGB値のうちのいずれが、背景RGB値との類似性が高いかを判定する。
【００９８】
内側代表RGB値よりも、外側RGB値の方が、背景RGB値との類似性が高い場合、前処理部１３２は、現在の人物境界の候補から新たなエッジ画素までの間が、背景であるとして、人物境界の候補を、新たなエッジ画素に更新する。そして、前処理部１３２は、エッジ画素の検出を続行する。
【００９９】
また、外側代表RGB値よりも、内側RGB値の方が、背景RGB値との類似性が高い場合、前処理部１３２は、エッジ画素の検出を続行する。そして、顔画像の左端または右端のそれぞれから開始したエッジ画素の検出が、他端の画素まで行われた場合、前処理部１３２は、その時点で、人物境界の候補となっている画素を、人物境界として決定（確定）する。
【０１００】
例えば、図５に示した顔画像については、図６に示すように、人物境界が決定される。
【０１０１】
前処理部１３２は、人物境界を決定すると、顔画像を、例えば、上から下方向にスキャンして、人物境界を観測することにより、顔スケールと服境界を推定する。
【０１０２】
ここで、図６に示すように、人物境界は、上方向から下方向に観測していくと、顔画像に写っている人の頭頂部から、幅が拡がっていき、図６において矢印Ａで示すように、こめかみ付近で極大値となって、その後、首の方向にかけて、幅が減少していく。そして、首から肩にかけて、人物境界の幅は、再び拡がっていく。
【０１０３】
従って、顔画像を、上方向から下方向にスキャンして、人物境界を観測した場合、最初に見つかる、人物境界となっている画素の行から、２回目の人物境界の幅の拡がりの開始点となっている画素の行までの縦方向（垂直方向）の部分（図６において矢印Ｂで示す部分）と、最初に見つかる幅の極大値の行の、人物境界の左端から右端までの横方向（水平方向）の部分（図６において矢印Ａで示す部分）には、顔画像に写っている人の顔（顔面）が存在する。さらに、例えば、２回目の人物境界の幅の拡がりの開始点となっている画素の行以下には、人の肩が写っている。
【０１０４】
そこで、前処理部１３２は、顔画像を、上方向から下方向にスキャンして、人物境界を観測していき、最初に見つかる、人物境界となっている画素の行から、２回目の人物境界の幅の拡がりの開始点となっている画素の行までを、縦方向の長さ（図６において矢印Ｂで示す部分）とするとともに、最初に見つかる幅の極大値の行の、人物境界の左端から右端までを、横方向の長さ（図６において矢印Ａで示す部分）とする矩形を検出する。そして、前処理部１３２は、その矩形を所定数倍した矩形の領域、またはその矩形の横と縦を所定サイズだけ拡げた矩形の領域を、顔画像に写っている人の顔の部分を含む矩形の領域である顔スケールとして推定する。
【０１０５】
さらに、前処理部１３２は、２回目の人物境界の幅の拡がりの開始点となっている画素の行を、顔画像に写っている人の肩から下にある服とそれより上の部分との境界である服境界として推定する。
【０１０６】
ここで、以下の処理は、顔画像のうちの顔スケールを対象として、その顔スケールのうちの服境界より上に顔面があるものとして行われる。
【０１０７】
図４に戻り、ステップＳ１２２において、上述のように、顔スケールと服境界が推定された後は、ステップＳ１２３に進み、前処理部１３２は、顔スケール内の顔画像を２値化し、その結果得られる２値化画像を対象として、顔スケールに写っている顔の目と口のテンプレートマッチングを行う。
【０１０８】
即ち、前処理部１３２は、顔スケール内の顔画像の、例えば、色相と彩度に基づき、顔スケール内の肌色の領域の画素値を、例えば１とするとともに、それ以外の色の領域の画素値を、例えば０とする２値化画像を生成する。
【０１０９】
ここで、図７に、図６に示した顔画像から得られる２値化画像を示す。図７の２値化画像において、白い部分は画素値が１の肌色の画素であり、黒い部分は画素値が０の、肌色以外の色の画素である。顔（顔面）のほとんどの部分では、画素値が肌色を表す１となるが、黒色の黒目や、赤みがかった色の唇の部分では、画素値が０となる。
【０１１０】
前処理部１３２は、２値化画像の生成後、その２値化画像を対象として、顔スケールに写っている顔の目と口のテンプレートマッチングを行う。
【０１１１】
即ち、前処理部１３２は、正方形の中に、目と口の矩形の領域が設けられたテンプレートである目口テンプレートを有している。即ち、目口テンプレートは、図７に示すように、正方形状に画素が配置されたテンプレートであり、目と口の領域の画素値が０で、その他の領域の画素値が１になっている。前処理部１３２は、図７に示すように、目口テンプレートを、顔スケール上に配置し、目口テンプレートの各画素と、顔スケールの同一位置の画素との画素値の差分の自乗和を計算することを、目口テンプレートを顔スケール上に配置する位置と、目口テンプレートのサイズを変えながら行うテンプレートマッチングを行う。
【０１１２】
そして、前処理部１３２は、テンプレートマッチングの結果、顔スケールに最もマッチする目口テンプレートの位置とサイズ、即ち、自乗和を最小にする目口テンプレートの位置とサイズを検出する。なお、目口テンプレートを用いたテンプレートマッチングにおいて、目口テンプレートのサイズは、横方向と縦方向の長さを独立に変えても良いし、元の正方形と相似形となるように変えても良い。ここでは、処理を簡単にするため、目口テンプレートのサイズを、元の正方形と相似形となるように変えることとする。
【０１１３】
ここで、位置とサイズが顔スケールに最もマッチした状態の目口テンプレートを、マッチ目口テンプレートという。
【０１１４】
また、目口テンプレートには、顔の中心位置とすべき位置の情報（以下、適宜、中心情報という）が含まれている。顔の中心位置とすべき位置としては、例えば、目口テンプレートの形状である正方形の重心位置などを採用することができる。
【０１１５】
再び、図４に戻り、前処理部１３２は、ステップＳ１２３において、マッチ目口テンプレートが得られると、ステップＳ１２４に進み、前処理部１３２は、マッチ目口テンプレートに基づき、顔画像（ステップＳ１２２で縮小された顔画像）を縮小（または拡大）して、ステップＳ１２５に進む。
【０１１６】
即ち、前処理部１３２は、マッチ目口テンプレートのサイズから、顔画像に写っている顔のサイズを推定し、その顔のサイズが、３次元モデルの生成やCGアニメーションの生成に適したサイズとしてあらかじめ決められたサイズを中心とする所定の範囲内のサイズとなるように、顔画像を縮小する。
【０１１７】
ステップＳ１２５では、前処理部１３２は、ステップＳ１２４で縮小した後の顔画像から、顔の中心位置を中心（重心）とする矩形の領域、即ち、例えば、横×縦が512×512画素の正方形状の領域を切り出す。なお、顔の中心位置は、マッチ目口テンプレートに含まれる中心情報から認識される。
【０１１８】
ここで、ステップＳ１２５において、前処理部１３２が、ステップＳ１２４で縮小した後の顔画像から、上述したような512×512画素の正方形状の領域を切り出す場合には、ステップＳ１２４では、その512×512画素の正方形状の領域に、適切なサイズで顔が含まれるように、顔画像が縮小される。
【０１１９】
ステップＳ１２５において顔画像から切り出される領域の画像（これも、顔画像という）には、適切なサイズで顔が写っており、そのような顔画像が得られた後は、ステップＳ１２５からＳ１２６に進み、前処理部１３２は、ステップＳ１２５で得られた顔画像の色補正を行って、ステップＳ１２７に進む。
【０１２０】
即ち、顔画像の背景が、例えば、上述したように、グレー一色である場合には、前処理部１３２は、顔画像のうちの、ステップＳ１２２で得られた人物境界の外側、つまり背景を構成する画素の画素値としてのRGBの値をサンプリングし、そのサンプリングしたRGBの値を用いて、あらかじめ用意されたグレーのRGBの値からの偏差と、顔画像の背景の画素のRGBの値との関係を近似する１次関数を、R，G，Bそれぞれについて求める。そして、前処理部１３２は、その一次関数に基づき、ステップＳ１２５で得られた画像の全体の色補正を行う。
【０１２１】
ステップＳ１２７では、前処理部１３２は、色補正後の画像の輝度値（輝度レベル）を補正する。
【０１２２】
即ち、前処理部１３２は、色補正後の画像の全体を対象に、輝度値の最小値と最大値とを検出する。いま、輝度値が、例えば、８ビットで表されるものとすると、前処理部１３２は、色補正後の画像における輝度値の最小値が０になり、最大値が２５５(=28-1)となるように、色補正後の画像のすべての画素値に１次変換を施し、これにより、色補正後の画像の輝度値を補正する。
【０１２３】
そして、ステップＳ１２７からＳ１２８に進み、前処理部１３２は、輝度値の補正後の画像を、正規化顔画像として、正規化顔画像記憶部１３３（図２）に供給（出力）して記憶させ、前処理を終了する。なお、前処理部１３２は、正規化顔画像に、人物境界や、服境界、目口テンプレートから得られる顔の中心位置などの情報も適宜含めて、正規化顔画像記憶部１３３に供給して記憶させる。
【０１２４】
ここで、図８は、図５に示した顔画像を対象として前処理を行うことにより得られる正規化顔画像を示している。
【０１２５】
図４のステップＳ１２５において、上述したように、横×縦が512×512画素の正方形状の領域が切り出される場合には、正規化顔画像は、そのような512×512画素の画像となる。
【０１２６】
以上のように、正規化顔画像記憶部１３３に正規化顔画像が記憶されると、図３（のステップＳ１０３）で説明したように、通常特徴点抽出部１３４は、正規化顔画像記憶部１３３に記憶された正規化顔画像から、例えば、AAMによって、通常特徴点を抽出し、さらに、その通常特徴点から、正規化顔画像に写っている目と口それぞれの目領域と口領域を求める。そして、通常特徴点抽出部１３４は、通常特徴点と、目領域および口領域（の情報）を、詳細特徴点抽出部１３５に供給する。
【０１２７】
ここで、図９に、通常特徴点抽出部１３４において、図８に示した正規化顔画像から得られる通常特徴点と、目領域および口領域とを示す。また、図１０に、通常特徴点抽出部１３４において、他の正規化顔画像から得られる通常特徴点と、目領域および口領域とを示す。
【０１２８】
AAMによれば、図９や図１０に○印で示すように、正規化顔画像に写っている顔の目や、口、顔の輪郭等における特徴的な点としての特徴点（通常特徴点）が、大まかに（大域的に）得られる。通常特徴点抽出部１３４は、正規化顔画像から得られた特徴点に基づき、目が位置する矩形の領域である目領域と、口が位置する矩形の領域である口領域を求め、通常特徴点とともに、詳細特徴点抽出部１３５に供給する。
【０１２９】
なお、通常特徴点は、正規化顔画像に写っている顔の目や、口、顔の輪郭等についての、大まかな特徴的な点であり、従って、そのような通常特徴点から求められる目領域や口領域も、目や口の大まかな位置を表す領域である。
【０１３０】
次に、図１１は、図２の詳細特徴点抽出部１３５の構成例を示すブロック図である。
【０１３１】
テンプレート記憶部２０１は、目、口、顎（顔の輪郭）のテンプレートを記憶しており、目のテンプレート（目テンプレート）を目特徴点検出部２０２に、口のテンプレート（口テンプレート）を口特徴点検出部２０３に、顎のテンプレート（顎テンプレート）を顎特徴点検出部２０４に、それぞれ供給する。
【０１３２】
目特徴点検出部２０２には、テンプレート記憶部２０１から目テンプレートが供給される他、正規化顔画像記憶部１３３（図２）から、そこに記憶された正規化顔画像が供給されるとともに、通常特徴点抽出部１３４から、通常特徴点と、目領域および口領域の情報（以下、適宜、すべてをまとめて、領域情報という）が供給されるようになっている。
【０１３３】
目特徴点検出部２０２は、正規化顔画像記憶部１３３からの正規化顔画像、通常特徴点抽出部１３４からの領域情報、およびテンプレート記憶部２０１からの目テンプレートとに基づき、正規化顔画像の目について、詳細特徴点を検出（抽出）し、顎特徴点検出部２０４に供給するとともに、顔モデル生成部１３６（図２）に供給する。
【０１３４】
口特徴点検出部２０３には、テンプレート記憶部２０１から口テンプレートが供給される他、正規化顔画像記憶部１３３（図２）から、そこに記憶された正規化顔画像が供給されるとともに、通常特徴点抽出部１３４から、領域情報が供給されるようになっている。
【０１３５】
口特徴点検出部２０３は、正規化顔画像記憶部１３３からの正規化顔画像、通常特徴点抽出部１３４からの領域情報、およびテンプレート記憶部２０１からの口テンプレートとに基づき、正規化顔画像の口について、詳細特徴点を検出（抽出）し、顎特徴点検出部２０４に供給するとともに、顔モデル生成部１３６（図２）に供給する。
【０１３６】
顎特徴点検出部２０４には、テンプレート記憶部２０１から顎テンプレートが供給されるとともに、目特徴点検出部２０２と口特徴点検出部２０３から、それぞれ、目と口の詳細特徴点が供給される他、正規化顔画像記憶部１３３（図２）から、そこに記憶された正規化顔画像が供給される。
【０１３７】
顎特徴点検出部２０４は、正規化顔画像記憶部１３３からの正規化顔画像、およびテンプレート記憶部２０１からの顎テンプレート、さらには、目特徴点検出部２０２からの目の詳細特徴点、および口特徴点検出部２０３からの口の詳細特徴点に基づき、正規化顔画像の顔の輪郭、特に顎（下顎）について、詳細特徴点を検出（抽出）し、顔モデル生成部１３６（図２）に供給する。
【０１３８】
次に、図１２は、図１１のテンプレート記憶部２０１に記憶されている目のテンプレートの例を示している。
【０１３９】
目テンプレートは、外側から順に、まぶたと眼孔との標準的な境界（以下、適宜、目の外側の輪郭ともいう）上の点、眼孔から露出している眼球の部分の標準的な輪郭（以下、適宜、目の内側の輪郭ともいう）上の点、および瞳の中心の点から構成される。
【０１４０】
ここで、目テンプレートを構成する点を、以下、適宜、制御点ともいう。図１２では、制御点を、□印で示してある。
【０１４１】
目テンプレートにおいて、目の外側の輪郭上の制御点は、まぶたと眼孔との境界（線）を精度良く再現することができる程度の数（多数）だけ設けられており、図１２では、３０個の制御点が設けられている。
【０１４２】
また、目テンプレートにおいて、目の内側の輪郭上の制御点も、眼孔から露出している眼球の部分の輪郭（線）を精度良く再現することができる程度の数（多数）だけ設けられており、図１２では、２０個の制御点が設けられている。
【０１４３】
さらに、目テンプレートにおいて、瞳の中心の制御点は、実際の瞳の中心に相当する位置に１点だけ設けられている。
【０１４４】
なお、目テンプレートの制御点の数は、上述した数に限定されるものではなく、特に、目の内側の輪郭上の制御点は、眼孔から露出している眼球の部分の輪郭を精度良く再現することができる程度の数であれば良く、目の外側の輪郭上の制御点も、まぶたと眼孔との境界を精度良く再現することができる程度の数であれば良い。
【０１４５】
また、図１２に示した目テンプレートは、（正規化顔画像に写っている人の）右目の目テンプレートである。テンプレート記憶部２０１には、右目の目テンプレートと同様の左目の目テンプレートも記憶されている。
【０１４６】
さらに、テンプレート記憶部２０１には、図１２に示した目テンプレートと同様の口テンプレートおよび顎テンプレートも記憶されている。
【０１４７】
ここで、口テンプレートは、例えば、上唇と下唇との標準的な境界（線）としての線分の上に制御点が並んだものであり、その制御点としては、上唇と下唇との境界を精度良く再現することができる程度の数（多数）が設けられている。また、顎テンプレートは、例えば、顔の標準的な輪郭としての楕円（の円周）上に制御点が並んだものであり、その楕円の顎（下顎）に相当する部分には、顎（下顎の輪郭）を精度良く再現することができる程度の多数の制御点が設けられている。
【０１４８】
次に、図１３のフローチャートを参照して、図１１の目特徴点検出部２０２の処理について説明する。
【０１４９】
目特徴点検出部２０２は、まず、ステップＳ２０１において、正規化顔画像記憶部１３３からの正規化顔画像（図２）と、通常特徴点抽出部１３４からの領域情報のうちの目領域の情報に基づき、テンプレート記憶部２０１からの目テンプレートのサイズと位置の初期値を決定する。
【０１５０】
即ち、目特徴点検出部２０２は、例えば、正規化顔画像の、目領域の情報が表す矩形の領域に、目テンプレートが内接するように、目テンプレートを（その形状を保ったまま）拡大または縮小して、正規化顔画像上に配置する。ステップＳ２０１で正規化顔画像上に配置された目テンプレートのサイズと位置が、それぞれの初期値である。ここで、目テンプレートのサイズと位置の初期値を、それぞれ、初期サイズと初期位置という。
【０１５１】
ステップＳ２０１からＳ２０２に進み、目特徴点検出部２０２は、目テンプレートのサイズと位置を、それぞれ、初期サイズと初期位置から徐々に変化させ、正規化顔画像に表示されている（写っている）顔に適応（フィット）させる位置／サイズフィット処理を行う。
【０１５２】
即ち、ステップＳ２０２の位置／サイズフィット処理では、目特徴点検出部２０２は、目テンプレートの形状を保ったまま、そのサイズと位置を変化させ、各サイズと各位置について、目テンプレートが正規化顔画像に写っている顔の目にフィットしている程度を評価する評価関数を演算する。
【０１５３】
ここで、目特徴点検出部２０２は、目テンプレートを拡大または縮小することにより、そのサイズを、形状を保ったまま変化させる。また、目特徴点検出部２０２は、目テンプレートの全体（の制御点）を平行移動することにより、その位置を、形状を保ったまま変化させる。なお、目特徴点検出部２０２では、目テンプレートの平行移動の他、例えば、瞳の中心の制御点を中心とする回転によって、目テンプレートの位置を変化させることも可能である。
【０１５４】
目特徴点検出部２０２は、評価関数が、最もフィットしていることを表している値となるとき、つまり、評価関数が、例えば、最大値または最小値をなるときの目テンプレートのサイズと位置を求める。
【０１５５】
なお、評価関数が、最大値または最小値のいずれとなったときが、最もフィットしていることを表すかは、どのような評価関数を採用するかによって異なる。
【０１５６】
また、ある位置pとサイズsについての評価関数f(p,s)としては、例えば、次式などを採用することができる。
【０１５７】
f(p,s)=(-A1+A2)+(B1-B2)
・・・（１）
【０１５８】
ここで、式（１）において、A1は、瞳の中心の制御点を中心とする半径R0の範囲（例えば、黒目の一部の領域に相当する範囲）の正規化顔画像からサンプリングしたN0個の画素の画素値の総和を表し、A2は、瞳の中心の制御点から左右に距離L1だけ離れた位置をそれぞれ中心とする半径R1の範囲（例えば、白目の一部の領域に相当する範囲）の正規化顔画像からサンプリングしたN1個の画素の画素値の総和を表す。また、B1は、目の外側の輪郭上の上半分の制御点のそれぞれを中心とする半径R2の範囲（例えば、まぶたの一部の領域に相当する範囲）の正規化顔画像からサンプリングしたN2個の画素の画素値の総和を表し、B2は、目の内側の輪郭上の上半分の制御点のそれぞれを中心とする半径R3の範囲（例えば、瞳孔から露出している眼球の輪郭付近の一部の領域に相当する範囲）の正規化顔画像からサンプリングしたN3個の画素の画素値の総和を表す。
【０１５９】
従って、式（１）のf(p,s)=(-A1+A2)+(B1-B2)において、負の符号がついているA1とB2は、暗い（画素値が小さい）ことが期待される画素の総和であり、正の符号がついているA2とB1は、明るい（画素値が大きい）ことが期待される画素値の総和であるから、評価関数f(p,s)が、最大値となるときに、目テンプレートの位置pとサイズsが正規化顔画像に写っている顔の目に最もフィットしていることとなる。
【０１６０】
なお、評価関数f(p,s)を計算するのに必要となるA1およびA2を求めるにあたっては、瞳の中心の制御点を中心とする半径R0の範囲の正規化顔画像からサンプリングする画素の数であるN0個と、瞳の中心の制御点から左右に距離L1だけ離れた位置をそれぞれ中心とする半径R1の範囲の正規化顔画像からサンプリングする画素の数であるN1個とは、同一の数であっても良いし、異なる数であっても良い。また、瞳の中心の制御点を中心とする半径R0の範囲の正規化顔画像の画素すべてと、瞳の中心の制御点から左右に距離L1だけ離れた位置をそれぞれ中心とする半径R1の範囲の正規化顔画像の画素すべてとをサンプリングしても良い。
【０１６１】
同様に、評価関数f(p,s)を計算するのに必要となるB1およびB2を求めるにあたっては、目の外側の輪郭上の上半分の制御点のそれぞれを中心とする半径R2の範囲の正規化顔画像からサンプリングする画素の数であるN2個と、目の内側の輪郭上の上半分の制御点のそれぞれを中心とする半径R2の範囲の正規化顔画像からサンプリングする画素の数であるN3個も、同一の数であっても良いし、異なる数であっても良い。また、目の外側の輪郭上の上半分の制御点のそれぞれを中心とする半径R2の範囲の正規化顔画像の画素すべてと、目の内側の輪郭上の上半分の制御点のそれぞれを中心とする半径R3の範囲の正規化顔画像の画素すべてとをサンプリングしても良い。
【０１６２】
さらに、評価関数f(p,s)を計算するにあたり、正規化顔画像からの画素のサンプリングは、ある規則（例えば、１画素おきにサンプリングするなどの規則）にしたがって行っても良いし、ランダムに行っても良い。
【０１６３】
また、正規化顔画像ごとの輝度値やコントラストの違いの影響を低減するため、例えば、式f(p,s)=(-A1+A2)+(B1-B2)で表される評価関数f(p,s)については、暗いことが期待される画素の画素値は、負の符号がついているA1やB2を求める総和の対象とし、明るいことが期待される画素の画素値は、正の符号がついているA2やB1をを求める総和の対象とすることができる。
【０１６４】
即ち、例えば、上述の場合においては、正の符号がついているB1を、目の外側の輪郭上の上半分の制御点のそれぞれを中心とする半径R2の範囲の正規化顔画像からサンプリングしたN2個の画素の画素値の総和としたが、目の外側の輪郭上の上半分の制御点のうちの、例えば、暗いことが期待される目尻付近の制御点を中心とする半径R2の範囲の正規化顔画像からサンプリングした画素の画素値は、正の符号がついているB1ではなく、負の符号がついているB2を求める総和の対象とすることができる。
【０１６５】
さらに、上述の場合には、評価関数が最大値または最小値をなったときの目テンプレートのサイズと位置を、正規化顔画像に最もフィットしているサイズと位置として求めることとしたが、その他、例えば、評価関数が所定の閾値以下または以上となったときの目テンプレートのサイズと位置を、正規化顔画像に最もフィットしているサイズと位置として求めることができる。また、例えば、前回の評価関数に対する今回の評価関数の変化分が、所定の閾値以下または以上となったときの目テンプレートのサイズと位置を、正規化顔画像に最もフィットしているサイズと位置として求めることもできる。
【０１６６】
ステップＳ２０２の処理後は、ステップＳ２０３に進み、目特徴点検出部２０２は、ステップＳ２０２で求められた位置とサイズの目テンプレートを基準として、その目テンプレートの形状を変形し、目テンプレートの形状を、正規化顔画像に写っている顔の目に適応（フィット）させる形状フィット処理を行う。
【０１６７】
即ち、目特徴点検出部２０２は、ステップＳ２０２においては、目テンプレートの位置とサイズを変化させ、目テンプレートを、正規化顔画像に写っている顔の目にフィットさせたが、ステップＳ２０３では、目テンプレートの形状を変化させ、目テンプレートを、正規化顔画像に写っている顔の目に、さらにフィットさせる形状フィット処理を行う。
【０１６８】
具体的には、例えば、目特徴点検出部２０２は、第１の形状フィット処理として、目テンプレートの外側の輪郭上の制御点のうちの、目尻の部分に相当する複数の制御点の位置を上、下、左、または右に移動させ、その複数の制御点を結んだ線を、正規化顔画像の目尻の輪郭（まぶたと眼孔との境界の目尻側）に（なるべく）一致させる。
【０１６９】
また、目特徴点検出部２０２は、第２の形状フィット処理として、目テンプレートの外側の輪郭上の制御点のうちの、上側の複数の制御点の位置を上または下に移動させ、その複数の制御点を結んだ線を、正規化顔画像のまぶたと眼孔との境界の上側に（なるべく）一致させるとともに、目テンプレートの外側の輪郭上の制御点のうちの、下側の複数の制御点の位置を上または下に移動させ、その複数の制御点を結んだ線を、まぶたと眼孔との境界の下側に（なるべく）一致させる。
【０１７０】
さらに、目特徴点検出部２０２は、第３の形状フィット処理として、目テンプレートの外側の輪郭上の制御点のうちの、鼻に近い側の複数の制御点の位置を上、下、左、または右に移動させ、その複数の制御点を結んだ線を、正規化顔画像のまぶたと眼孔との境界の、鼻に近い側に（なるべく）一致させる。
【０１７１】
また、目特徴点検出部２０２は、第４の形状フィット処理として、目テンプレートの内側の輪郭上の制御点のうちの目尻側の複数の制御点の位置を上、下、左、または右に移動させ、その複数の制御点を結んだ線を、正規化顔画像の眼孔から露出している眼球の目尻側の白目の輪郭に（なるべく）一致させるとともに、目テンプレートの内側の輪郭上の制御点のうちの鼻に近い側の複数の制御点の位置を上、下、左、または右に移動させ、その複数の制御点を結んだ線を、正規化顔画像の眼孔から露出している眼球の白目の鼻に近い側の輪郭に（なるべく）一致させる。
【０１７２】
さらに、目特徴点検出部２０２は、第５の形状フィット処理として、目テンプレートの内側の輪郭上の制御点のうちの上側の複数の制御点の位置を上または下に移動させ、その複数の制御点を結んだ線を、正規化顔画像の眼孔から露出している眼球の上側の輪郭に（なるべく）一致させるとともに、目テンプレートの内側の輪郭上の制御点のうちの下側の複数の制御点の位置を上または下に移動させ、その複数の制御点を結んだ線を、正規化顔画像の眼孔から露出している眼球の下側の輪郭に（なるべく）一致させる。
【０１７３】
第１乃至第５のフィット処理は、ステップＳ２０２の位置／サイズフィット処理と同様に、制御点の移動させた各位置について、目テンプレートが正規化顔画像に写っている顔の目にフィットしている程度を評価する評価関数を演算し、その評価関数が、最もフィットしていることを表している値となるときを検出することによって行われる。
【０１７４】
なお、第１乃至第５の形状フィット処理それぞれで演算する評価関数としては、同一の関数を採用することもできるし、別々の関数を採用することもできる。さらに、例えば、第２の形状フィット処理などでは、目テンプレートの外側の輪郭上の制御点のうちの、上側の複数の制御点と、目テンプレートの外側の輪郭上の制御点のうちの、下側の複数の制御点とを移動するが、この上側の複数の制御点を移動する場合と、下側の複数の制御点を移動する場合とでも、評価関数として、別々の関数を採用することができる。移動対象の制御点（のセット）が異なるごとに、適切な関数を評価関数として採用することにより、目テンプレートの形状を、正規化顔画像に、より高精度にフィットさせることができる。
【０１７５】
また、評価関数の演算には、移動対象の複数の制御点の一部またはすべてを用いても良いし、さらには、移動対象になっていない制御点を用いても良い。即ち、例えば、第１の形状フィット処理として、目テンプレートの外側の輪郭上の制御点のうちの、目尻の部分に相当する複数の制御点を移動させる場合には、その移動対象の、目尻の部分に相当する複数の制御点の一部またはすべての位置付近の正規化顔画像の画素をサンプリングして、評価関数を演算しても良いし、さらに、目テンプレートの、目尻の部分に相当する複数の制御点以外の制御点の位置付近の正規化顔画像の画素をもサンプリングして、評価関数を演算しても良い。
【０１７６】
ステップＳ２０３の形状フィット処理が終了すると、位置、サイズ、および形状が正規化顔画像（の目）にフィット（適応）した目テンプレート（以下、適宜、適応目テンプレートともいう）が得られる。目特徴点検出部２０２は、適応目テンプレートから、正規化顔画像の目の特徴点を求め、詳細特徴点として、顎特徴点検出部２０４（図１１）に供給するとともに、顔モデル生成部１３６（図２）に供給し、処理を終了する。
【０１７７】
ここで、目特徴点検出部２０２では、例えば、適応目テンプレートの制御点のうちの一部またはすべてを、正規化顔画像の目の詳細特徴点として求めることができる。また、目特徴点検出部２０２では、例えば、適応目テンプレートの制御点を結んだ線上の点をサンプリングし、そのサンプリングされた点を、正規化顔画像の目の詳細特徴点として求めることができる。
【０１７８】
以上のように、目特徴点検出部２０２では、目テンプレートの位置とサイズを、正規化顔画像の顔（正規化顔画像に写っている顔）の目にフィットさせ、位置とサイズがフィットした目テンプレートを基準として、その形状を、正規化顔画像の顔の目にフィットさせるようにしたので、正規化顔画像の限定された範囲を対象に処理を行うだけで、多数の詳細特徴点を得ることができる。即ち、多数の、精度が高い特徴点を、容易に得ることができる。
【０１７９】
なお、目特徴点検出部２０２では、ステップＳ２０３において、目テンプレートの形状を正規化顔画像にフィットさせた後、図１３に点線で示すように、ステップＳ２０２に戻り、形状がフィットした目テンプレートを基準として、その目テンプレートの位置とサイズを正規化顔画像にフィットさせ、以下同様にして、ステップＳ２０２およびＳ２０３の処理を１回以上繰り返すようにすることができる。この場合、より精度が高い特徴点を得ることができる。
【０１８０】
次に、図１４は、図１３のステップＳ２０２の位置／サイズフィット処理によって得られる、位置とサイズが正規化顔画像にフィットした目テンプレートを示している。
【０１８１】
即ち、図１４の左側は、ある正規化顔画像を対象に位置／サイズフィット処理が行われることによって得られる、位置とサイズが正規化顔画像にフィットした目テンプレートを示しており、図１４の右側は、他の正規化顔画像を対象に位置／サイズフィット処理が行われることによって得られる、位置とサイズが正規化顔画像にフィットした目テンプレートを示している。
【０１８２】
図１４の左側と右側のいずれにおいても、目テンプレートの位置およびサイズは、正規化顔画像の目にフィット（マッチ）している。即ち、目テンプレートの位置とサイズは、それぞれ、正規化顔画像の目の位置とサイズに（ほぼ）一致している。
【０１８３】
但し、図１４の左側では、目テンプレートの形状が、正規化顔画像の目に、比較的フィットしているのに対して、図１４の右側では、目テンプレートの形状が、正規化顔画像の目にあまりフィットしていない。
【０１８４】
そこで、図１５は、位置とサイズが正規化顔画像にフィットした目テンプレートを基準として、図１３のステップＳ２０３の形状フィット処理を行うことによって得られる、位置、サイズ、および形状が正規化顔画像にフィットした目テンプレートを示している。
【０１８５】
即ち、図１５の左側は、図１４の左側の目テンプレートを基準として、形状フィット処理を行うことによって得られる目テンプレートを示しており、図１５の右側は、図１４の右側の目テンプレートを基準として、形状フィット処理を行うことによって得られる目テンプレートを示している。
【０１８６】
図１５の左側と右側のいずれにおいても、目テンプレートの位置、サイズ、形状は、正規化顔画像の目にフィットしている。即ち、目テンプレートの位置、サイズ、形状は、いずれも、正規化顔画像の目の位置、サイズ、形状に（ほぼ）一致している。
【０１８７】
ところで、目特徴点検出部２０２（図１１）では、ステップＳ２０３（図１３）において、目テンプレートの形状を変化させ、目テンプレートの形状を、正規化顔画像の顔の目にフィットさせる形状フィット処理を行うが、目テンプレートの形状を変化させる方法としては、例えば、目テンプレートを構成する複数の制御点のそれぞれを、独立に移動する方法がある。
【０１８８】
例えば、いま、正規化顔画像上に、左から右方向をx軸とするとともに、下から上方向をy軸とするxy座標系を想定し、制御点の移動を、その移動後の制御点の位置を表す、xy座標系上の座標(x,y)を与えることによって行うこととすると、目テンプレートを構成する複数の制御点それぞれの座標(x,y)のすべてによって、目テンプレートの形状が規定される。従って、この場合、目テンプレートの形状を規定するパラメータは、目テンプレートを構成する複数の制御点それぞれの座標(x,y)のすべてであり、そのパラメータの数は、目テンプレートを構成する制御点の数の２倍（x座標とy座標）である。
【０１８９】
目テンプレートを構成する複数の制御点のそれぞれを、独立に移動する場合には、その複数の制御点それぞれの座標(x,y)を、独立に与える必要がある。
【０１９０】
しかしながら、目テンプレートは（口テンプレートや顎テンプレートも同様）、上述したように、ある程度の数の制御点で構成されるため、そのような数の制御点すべての座標(x,y)を独立に与えるのは面倒であるし、さらに、複数の制御点それぞれの座標(x,y)を、独立に与えると、その座標(x,y)の組み合わせの数は膨大であるから、正規化顔画像の顔の目にフィットする形状の目テンプレートが得られるまでに、膨大な時間を要することになる。また、目テンプレートを構成する複数の制御点のそれぞれを、独立に移動すると、目テンプレートの形状が、目としてとり得る形状の範囲を超え、正規化顔画像の目にフィットし得ない形状になることがあり、そのような、正規化顔画像の目にフィットし得ない目テンプレートの形状について、上述したような評価関数の演算等を行うのは、いわば無駄である。
【０１９１】
そこで、目特徴点検出部２０２（図１１）は、ステップＳ２０３（図１３）の形状フィット処理において、目テンプレートの形状を規定する複数のパラメータとしての、その目テンプレートを構成する複数の制御点それぞれの座標(x,y)を、その複数のパラメータの数（目テンプレートを構成する制御点の数の２倍の数）より少ない１以上の数のパラメータに基づいて変更することにより、目テンプレートの形状を、目としてとり得る形状の範囲内で変化させる（変形する）ようになっている。
【０１９２】
そこで、目テンプレートを構成する複数の制御点それぞれの座標(x,y)を、少ない数のパラメータに基づいて変更する方法について説明する。
【０１９３】
目特徴点検出部２０２は、例えば、図１３のステップＳ２０３で説明した第２の形状フィット処理において、目テンプレートの外側の輪郭上の制御点のうちの、上側または下側の複数の制御点を移動させる場合や、第５の形状フィット処理において、目テンプレートの内側の輪郭上の制御点のうちの上側または下側の複数の制御点の位置を移動させる場合、例えば、式（２）にしたがって、目テンプレートを構成する制御点のうちの、移動対象の制御点の座標(xn,yn)を求める。
【０１９４】
xn=xn'
yn=(1-t)yn'+tymax(n)  但し、t≧0のとき
yn=(1-(-t))yn'+(-t)ymin(n)  但し、t＜0のとき
・・・（２）
【０１９５】
ここで、式（２）において、nは、移動対象の複数の制御点のうちのn番目の制御点を表すインデックスであり、xnとynは、それぞれ、n番目の制御点の、移動後のx座標とy座標を表す。また、xn'とyn'は、それぞれ、n番目の制御点の、移動直前のx座標とy座標を表す。さらに、ymax(n)は、n番目の制御点が取り得るy座標の最大値を表し、ymin(n)は、n番目の制御点が取り得るy座標の最小値を表す。また、tは、移動対象の複数の制御点のうちの複数の制御点それぞれの座標(x,y)を変更するのに与えられる（１つの）パラメータであり、ここでは、-1から+1までの範囲の実数をとるものとする。
【０１９６】
なお、式（２）において、ymax(n)およびymin(n)は、パラメータtが-1から+1までの範囲で変化する限り、式（２）で与えられる座標(xn,yn)に位置する制御点によって形状が表される目テンプレートが、目としてとり得る形状の範囲内の形状となるような値に、あらかじめ設定されている。
【０１９７】
式（２）によれば、移動対象の複数の制御点、即ち、いまの場合、目テンプレートの外側の輪郭上の制御点のうちの、上側または下側の複数の制御点や、目テンプレートの内側の輪郭上の制御点のうちの上側または下側の複数の制御点は、その座標(x,y)が１つのパラメータtに基づいて変更されることにより、図１６に示すように移動し、これにより、目テンプレートの形状が、目としてとり得る形状の範囲内で変化する。
【０１９８】
即ち、図１６の上から１番目は、形状が変化する前の目テンプレート（を構成する制御点）、つまり、位置とサイズが正規化顔画像にフィットした目テンプレートを示している。従って、この目テンプレートの形状は、テンプレート記憶部２０１（図１１）に記憶されている目テンプレートの形状と同一（相似）である。
【０１９９】
図１６の上から２番目は、図１６の上から１番目の目テンプレートを、制御点の移動直前の状態の目テンプレートとするとともに、パラメータtを0として、式（２）により求めた座標(xn,yn)に制御点を移動した目テンプレートを示している。図１６の上から２番目の目テンプレートの形状は、図１６の上から１番目の目テンプレートの形状と同一である。
【０２００】
図１６の上から３番目は、図１６の上から１番目の目テンプレートを、制御点の移動直前の状態の目テンプレートとするとともに、パラメータtを1として、式（２）により求めた座標(xn,yn)に制御点を移動した目テンプレートを示している。図１６の上から３番目の目テンプレートの形状は、図１６の上から１番目の目テンプレートの形状と比較して、目尻の部分がつり上がった形状になっている。
【０２０１】
図１６の上から４番目は、図１６の上から１番目の目テンプレートを、制御点の移動直前の状態の目テンプレートとするとともに、パラメータtを-1として、式（２）により求めた座標(xn,yn)に制御点を移動した目テンプレートを示している。図１６の上から４番目の目テンプレートの形状は、図１６の上から１番目の目テンプレートの形状と比較して、目尻の部分が垂れ下がった形状になっている。
【０２０２】
図１６の上から５番目は、図１６の上から１番目の目テンプレートを、制御点の移動直前の状態の目テンプレートとするとともに、パラメータtを0.45として、式（２）により求めた座標(xn,yn)に制御点を移動した目テンプレートを示している。図１６の上から５番目の目テンプレートの形状は、図１６の上から１番目の目テンプレートの形状と比較して、目尻の部分が、多少上につり上がった形状になっている。
【０２０３】
図１６では、上から５番目の目テンプレートの形状、即ち、パラメータtが0.45であるときの目テンプレートの形状が、正規化顔画像の目に、最もフィットしている。
【０２０４】
ここで、図１６では、n番目の制御点についてのymax(n)は+1で、ymin(n)は-1になっている。
【０２０５】
なお、制御点の座標(xn,yn)を求める式は、式（２）に限定されるものではない。さらに、移動する制御点の単位（セット）も、目テンプレートの外側の輪郭上の制御点のうちの、上側または下側の複数の制御点や、目テンプレートの内側の輪郭上の制御点のうちの上側または下側の複数の制御点に限定されるものではない。
【０２０６】
即ち、目特徴点検出部２０２では、例えば、図１３のステップＳ２０３で説明した第４の形状フィット処理において、目テンプレートの内側の輪郭上の制御点のうちの鼻に近い側の複数の制御点を移動させる場合、例えば、式（３）にしたがって、その鼻に近い側の複数の制御点の座標(xn,yn)を求める。
【０２０７】
xn=(xn'-xmin(n))tx+xmin(n)
yn=(1-t)yn'+tyymax(n)  但し、ty≧0のとき
yn=(1-(-t))yn'+(-t)ymin(n)  但し、ty＜0のとき
・・・（３）
【０２０８】
ここで、式（３）において、n，xn，yn，xn'，yn'，ymax(n)，ymin(n)は、式（２）における場合と同様のものである。また、xmin(n)は、n番目の制御点が取り得るx座標の最小値を表す。さらに、txとtyは、目テンプレートを構成する複数の制御点それぞれの座標(x,y)を変更するのに与えられる（２つの）パラメータであり、パラメータtxは、例えば、0から+1までの範囲の実数をとり、パラメータtyは、例えば、-1から+1までの範囲の実数をとる。
【０２０９】
なお、式（３）において、xmin(n)，ymax(n)およびymin(n)は、パラメータtxが0から+1までの範囲で変化し、かつ、パラメータtyが-1から+1までの範囲で変化する限り、式（３）で与えられる座標(xn,yn)に位置する制御点によって形状が表される目テンプレートが、目としてとり得る形状の範囲内の形状となるような値に、あらかじめ設定されている。
【０２１０】
式（３）によれば、移動対象の複数の制御点、即ち、いまの場合、目テンプレートの内側の輪郭上の制御点のうちの鼻に近い側の複数の制御点は、その座標(x,y)が２つのパラメータtxとtyに基づいて変更されることにより、図１６に示した場合と同様に、目テンプレートの形状が、目としてとり得る形状の範囲内で変化するように移動する。
【０２１１】
具体的には、例えば、図１７の上から１番目に示す目テンプレートの複数の制御点における、内側の輪郭上の制御点のうちの、図中■印で示す、鼻に近い側の複数の制御点は、２つのパラメータtxとtyに基づき、目テンプレートの形状が、目としてとり得る形状の範囲内で変化するように移動する。
【０２１２】
例えば、鼻に近い側の複数の制御点のうちのn番目の制御点は、x方向については、パラメータtxに基づき、図１７の上から２番目に示すように、x座標がxmin(n)以上となる位置に移動する。なお、図１７の上から２番目では、xmin(n)は0になっている。
【０２１３】
さらに、鼻に近い側の複数の制御点のうちのn番目の制御点は、y方向については、パラメータtyに基づき、図１７の上から３番目に示すように、y座標がymin(n)以上でymax(n)以下の範囲内の位置に移動する。なお、図１７の上から３番目では、ymax(n)は+1で、ymin(n)は-1になっている。
【０２１４】
以上のように、目テンプレートの形状を規定する複数のパラメータとしての、複数の制御点のx座標とy座標が、その数より少ない１以上のパラメータとしてのtやtxおよびtyに基づいて変更されることにより、（位置とサイズが正規化顔画像にフィットしている）目テンプレートの形状が、目の形状の範囲内で変化（変形）されるので、つまり、目テンプレートを構成する複数の制御点が、目の形状の範囲を逸脱しないように、幾つかの単位（セット）で、いわば連動して移動するので、少ない数のパラメータの操作によって、目テンプレートの形状を、正規化顔画像にフィットさせることができる。即ち、目テンプレートの形状を、正規化顔画像に、容易にフィットさせることができる。
【０２１５】
なお、形状フィット処理においては、例えば、目テンプレートを構成する制御点のうちの、外側の輪郭上の制御点（を結ぶ線）を、正規化顔画像のまぶたと眼孔との境界に一致させるように移動した後、内側の輪郭上の制御点（を結ぶ線）を、正規化顔画像の眼孔から露出している眼球の部分の輪郭に一致させるように移動することができる。
【０２１６】
このように、外側の輪郭上の制御点（を結ぶ線）を、正規化顔画像のまぶたと眼孔との境界に一致させるように移動した後、内側の輪郭上の制御点を移動することにより、内側の輪郭上の制御点を移動する範囲を制限することができるので、さらなる処理の容易化を図ることができる。
【０２１７】
即ち、内側の輪郭上の制御点が、外側の輪郭上の制御点を結ぶ線で囲まれる範囲の外側に位置することは、目テンプレートの形状が、目の形状の範囲から逸脱することになるから、内側の輪郭上の制御点を移動させることができる位置は、外側の輪郭上の制御点を結ぶ線で囲まれる範囲に制限され、その分、処理量を少なくすることができる。
【０２１８】
次に、図１８のフローチャートを参照して、図１１の口特徴点検出部２０３の処理について説明する。
【０２１９】
口特徴点検出部２０３で行われる処理（の流れ）は、処理の対象となる顔の部位が目ではなく、口になるだけで、巨視的には、目特徴点検出部２０２で行われる、図１３で説明した処理と同様である。
【０２２０】
口特徴点検出部２０３は、まず、ステップＳ２１１において、正規化顔画像記憶部１３３からの正規化顔画像（図２）と、通常特徴点抽出部１３４からの領域情報のうちの口領域の情報に基づき、テンプレート記憶部２０１からの口テンプレートのサイズと位置の初期値を決定する。
【０２２１】
即ち、口テンプレートは、多数の制御点が、横方向に、一直線上に並んだものであり、口特徴点検出部２０３は、例えば、正規化顔画像の、口領域の情報が表す矩形の領域の横方向の長さに、口テンプレートの長さ（横方向の長さ）が一致するように、口テンプレートのサイズを拡大または縮小し、その拡大または縮小後の口テンプレートを、口領域の情報が表す矩形の領域の縦方向の中点の位置に、かつ、その矩形の領域に内接するように、正規化顔画像上に配置する。ステップＳ２１１で正規化顔画像上に配置された口テンプレートのサイズと位置が、それぞれの初期値である。ここで、口テンプレートのサイズと位置の初期値も、それぞれ、初期サイズと初期位置という。
【０２２２】
そして、ステップＳ２１１からＳ２１２に進み、口特徴点検出部２０３は、口テンプレートのサイズと位置を、それぞれ、初期サイズと初期位置から徐々に変化させ、正規化顔画像に表示されている（写っている）顔に適応（フィット）させる位置／サイズフィット処理を行う。
【０２２３】
即ち、ステップＳ２１２の位置／サイズフィット処理では、口特徴点検出部２０３は、口テンプレートの形状を保ったまま、そのサイズと位置を変化させ、各サイズと位置について、口テンプレートが正規化顔画像に写っている顔の口（上唇と下唇との境界）にフィットしている程度を評価する評価関数を演算する。
【０２２４】
ここで、口特徴点検出部２０３は、口テンプレートを拡大または縮小することにより、そのサイズを、形状を保ったまま変化させる。また、口特徴点検出部２０３は、口テンプレートの全体（の制御点）を平行移動することにより、その位置を、形状を保ったまま変化させる。なお、口特徴点検出部２０３では、口テンプレートの平行移動の他、例えば、任意の制御点等を中心とする回転によって、口テンプレートの位置を変化させることも可能である。
【０２２５】
口特徴点検出部２０３は、評価関数が、最もフィットしていることを表している値となるときの口テンプレートのサイズと位置を求める。
【０２２６】
ステップＳ２１２の処理後は、ステップＳ２１３に進み、口特徴点検出部２０３は、ステップＳ２１２で求められた位置とサイズの口テンプレートを基準として、その口テンプレートの形状を変形し、口テンプレートの形状を、正規化顔画像に写っている顔の口に適応（フィット）させる形状フィット処理を行う。
【０２２７】
即ち、口特徴点検出部２０３は、ステップＳ２１２においては、口テンプレートの位置とサイズを変化させ、口テンプレートを、正規化顔画像に写っている顔の口にフィットさせたが、ステップＳ２１３では、口テンプレートの形状を変化させ、口テンプレートを、正規化顔画像に写っている顔の口に、さらにフィットさせる形状フィット処理を行う。
【０２２８】
具体的には、口特徴点検出部２０３は、口テンプレートを構成する制御点の１以上を移動対象として移動させるが、その移動対象とする制御点の数を徐々に少なくしていく。
【０２２９】
即ち、口特徴点検出部２０３は、形状フィット処理において、まず最初に、口テンプレートを構成する制御点のすべてを、移動対象として選択し、その移動対象の制御点すべてを、目特徴点検出部２０２における場合と同様に連動して移動させる。つまり、口特徴点検出部２０３は、口テンプレートの形状を規定する複数のパラメータとしての、複数の制御点のx座標とy座標を、その数より少ない１以上のパラメータに基づいて変更することにより、（位置とサイズが正規化顔画像にフィットしている）口テンプレートの形状を、口の形状の範囲内で変化（変形）し、これにより、少ない数のパラメータの操作によって、口テンプレートの形状を、正規化顔画像の口になるべく一致させる。
【０２３０】
次に、口特徴点検出部２０３は、口テンプレートを構成する制御点のうちの、例えば、左半分の複数の制御点を、移動対象として選択し、その移動対象の制御点すべてを、目特徴点検出部２０２における場合と同様に連動して移動させ、口テンプレートの形状を、正規化顔画像の口にフィットさせる。
【０２３１】
続いて、口特徴点検出部２０３は、口テンプレートを構成する制御点のうちの、例えば、右半分の複数の制御点を、移動対象として選択し、その移動対象の制御点すべてを、目特徴点検出部２０２における場合と同様に連動して移動させ、口テンプレートの形状を、正規化顔画像の口にフィットさせる。
【０２３２】
その後、口特徴点検出部２０３は、口テンプレートを構成する制御点のうちの、中心付近の複数の制御点、左端と中心との中点付近の複数の制御点、右端と中心との中点付近の複数の制御点を、順次、移動対象として選択し、その移動対象の制御点すべてを、目特徴点検出部２０２における場合と同様に連動して移動させ、口テンプレートの形状を、正規化顔画像の口にフィットさせる。
【０２３３】
そして、口特徴点検出部２０３は、最後に、口テンプレートを構成する制御点を１つずつ移動対象として選択して移動させ、口テンプレートの形状を、正規化顔画像の口にフィットさせる。この場合も、制御点の移動は、口テンプレートの形状が、口の形状の範囲内になるように行われる。但し、この場合、制御点は、１つ（１点）ずつ移動されるので、その移動は、移動対象の制御点の座標(x,y)を直接与えることによって行われる。
【０２３４】
なお、口テンプレートの形状を、正規化顔画像の口にフィットさせる処理は、図１３のステップＳ２０２の位置／サイズフィット処理で説明した場合と同様に、制御点を移動させた各位置について、口テンプレートが正規化顔画像に写っている顔の口にフィットしている程度を評価する評価関数を演算することによって行われる。
【０２３５】
ステップＳ２１３の形状フィット処理が終了すると、位置、サイズ、および形状が正規化顔画像（の口）にフィット（適応）した口テンプレート（以下、適宜、適応口テンプレートともいう）が得られる。口特徴点検出部２０３は、適応口テンプレートから、正規化顔画像の口の特徴点を求め、詳細特徴点として、顎特徴点検出部２０４（図１１）に供給するとともに、顔モデル生成部１３６（図２）に供給し、処理を終了する。
【０２３６】
ここで、口特徴点検出部２０３では、例えば、適応口テンプレートの制御点のうちの一部またはすべてを、正規化顔画像の口の詳細特徴点として求めることができる。また、口特徴点検出部２０３では、例えば、適応口テンプレートの制御点を結んだ線上の点をサンプリングし、そのサンプリングされた点を、正規化顔画像の口の詳細特徴点として求めることができる。
【０２３７】
以上のように、口特徴点検出部２０３でも、目特徴点検出部２０２（図１１）と同様に、口テンプレートの位置とサイズを、正規化顔画像の顔（正規化顔画像に写っている顔）の口にフィットさせ、位置とサイズがフィットした口テンプレートを基準として、その形状を、正規化顔画像の顔の口にフィットさせるようにしたので、多数の詳細特徴点を容易に得ることができる。
【０２３８】
さらに、口特徴点検出部２０３において、口テンプレートの複数の制御点を移動する場合には、目特徴点検出部２０２と同様に、口テンプレートの形状を規定する複数のパラメータとしての、複数の制御点のx座標とy座標が、その数より少ない１以上のパラメータに基づいて変更されることにより、（位置とサイズが正規化顔画像にフィットしている）口テンプレートの形状が、目の形状の範囲内で変化（変形）されるので、口テンプレートの形状を、正規化顔画像に、容易にフィットさせることができる。
【０２３９】
また、口特徴点検出部２０３では、口テンプレートの、移動対象とする制御点を徐々に少なくしていくことにより、評価関数の、いわゆる収束性が向上し、さらに、１つの制御点が、他の制御点から極端にはずれた位置に移動することを防止することができる。
【０２４０】
なお、口特徴点検出部２０３において、口テンプレートの、移動対象とする制御点を徐々に少なくしていく場合には、あわせて、移動対象の制御点を移動することができる範囲を、徐々に狭くしていくことができる。
【０２４１】
また、口特徴点検出部２０３でも、目特徴点検出部２０２（図１１）と同様に、ステップＳ２１３において、口テンプレートの形状を正規化顔画像にフィットさせた後、図１８に点線で示すように、ステップＳ２１２に戻り、形状がフィットした口テンプレートを基準として、その口テンプレートの位置とサイズを正規化顔画像にフィットさせ、以下同様にして、ステップＳ２１２およびＳ２１３の処理を１回以上繰り返すようにすることができる。この場合、より精度が高い特徴点を得ることができる。
【０２４２】
さらに、図１８では、口特徴点検出部２０３は、ステップＳ２１１において、通常特徴点抽出部１３４（図２）からの領域情報のうちの口領域の情報に基づき、テンプレート記憶部２０１からの口テンプレートのサイズと位置の初期値である初期サイズと初期位置を決定するようにしたが、口テンプレートの初期サイズと初期位置は、さらに、目特徴点検出部２０２で得られた目の詳細特徴点にも基づいて決定することができる。
【０２４３】
即ち、例えば、左目と右目の詳細特徴点のうちの、瞳の中心の点である特徴点どうしの中点を、正規化顔画像に写っている人の目の中心として、口テンプレートの中心（口テンプレートを左右に２分する点）の横方向の位置を、目の中心の横方向の位置に一致させるとともに、口テンプレートの中心の縦方向の位置を、口領域の情報が表す矩形の領域の縦方向の中点の縦方向の位置に一致させ、さらに、口領域の情報が表す矩形の領域からはみ出さないサイズの口テンプレートのサイズと位置を、それぞれ、初期サイズと初期位置とすることができる。
【０２４４】
なお、目特徴点検出部２０３の処理と、口特徴点検出部２０４の処理とは、基本的には、どちらを先に行ってもかまわないし、同時に行ってもかまわない。但し、口特徴点検出部２０４において、上述したように、口テンプレートの初期サイズと初期位置を、目特徴点検出部２０２で得られた目の詳細特徴点にも基づいて決定する場合には、目特徴点検出部２０３の処理を先に行い、その処理の終了後、つまり、目の詳細特徴点が得られた後に、口特徴点検出部２０４の処理を行う必要がある。
【０２４５】
次に、図１９は、図１８のステップＳ２１２の位置／サイズフィット処理によって得られる、位置とサイズが正規化顔画像にフィットした口テンプレートと、その口テンプレートを基準として、図１８のステップＳ２１３の形状フィット処理を行うことによって得られる、位置、サイズ、および形状が正規化顔画像にフィットした口テンプレートを示している。
【０２４６】
即ち、図１９の左上は、ある正規化顔画像を対象に位置／サイズフィット処理を行うことによって得られる、位置とサイズが正規化顔画像にフィットした口テンプレートを示しており、図１９の右上は、他の正規化顔画像を対象に位置／サイズフィット処理を行うことによって得られる、位置とサイズが正規化顔画像にフィットした口テンプレートを示している。
【０２４７】
図１９の左上と右上のいずれにおいても、口テンプレートの位置およびサイズは、正規化顔画像の口（上唇と下唇との境界）にフィット（マッチ）している。即ち、口テンプレートの位置とサイズは、それぞれ、正規化顔画像の口の位置とサイズに（ほぼ）一致している。
【０２４８】
但し、口テンプレートの形状は、正規化顔画像の口にフィットしていない。
【０２４９】
そこで、図１９の左下は、図１９の左上の口テンプレートを基準として、形状フィット処理を行うことによって得られる口テンプレートを示しており、図１９の右下は、図１９の右上の口テンプレートを基準として、形状フィット処理を行うことによって得られる口テンプレートを示している。
【０２５０】
図１９の左下と右下のいずれにおいても、口テンプレートの位置、サイズ、形状は、正規化顔画像の口にフィットしている。即ち、口テンプレートの位置、サイズ、形状は、いずれも、正規化顔画像の口（上唇と下唇との境界）の位置、サイズ、形状に（ほぼ）一致している。
【０２５１】
次に、図２０のフローチャートを参照して、図１１の顎特徴点検出部２０４の処理について説明する。
【０２５２】
顎特徴点検出部２０４で行われる処理（の流れ）は、処理の対象となる顔の部位が目ではなく、顎になるだけで、巨視的には、目特徴点検出部２０２で行われる、図１３で説明した処理と同様である。
【０２５３】
顎特徴点検出部２０４は、まず、ステップＳ２２１において、正規化顔画像記憶部１３３（図２）からの正規化顔画像、目特徴点検出部２０２（図１１）からの目の詳細特徴点、および口特徴点検出部２０３からの口の詳細特徴点に基づき、テンプレート記憶部２０１からの顎テンプレートのサイズと位置の初期値を決定する。
【０２５４】
即ち、顎特徴点検出部２０４は、例えば、左目と右目の詳細特徴点のうちの、瞳の中心の点である特徴点どうしの中点を、正規化顔画像に写っている人の目の中心とするとともに、口の詳細特徴点のうちの、中心の制御点（例えば、正規化顔画像にフィットさせる前の口テンプレートの中点に位置している制御点）であった詳細特徴点を、正規化顔画像に写っている人の口の中心として、目の中心と口の中心とを結ぶ直線（以下、適宜、中心線という）を求める。
【０２５５】
さらに、顎特徴点検出部２０４は、目の中心と口の中心との間の長さを求め、その長さに応じて、顎テンプレートのサイズを拡大または縮小する。
【０２５６】
そして、顎特徴点検出部２０４は、口の中心から中心線に沿って、目の中心と口の中心との間の長さを所定数倍した長さだけ下方の位置（以下、適宜、下顎標準位置という）を求め、その下顎標準位置に、顎テンプレートの、下顎の中心の制御点が位置するように、顎テンプレートを正規化顔画像上に配置する。
【０２５７】
即ち、顎テンプレートは、上述したように、顔の標準的な輪郭としての楕円（の円周）上に制御点が並んだものであり、顎（下顎）に相当する部分には、顎（下顎の輪郭）を精度良く再現することができる程度の多数の制御点が設けられている。そして、顎テンプレートにおいては、楕円の下顎に相当する部分の最下部に、下顎の中心と呼ばれる制御点が設けられており、顎特徴点検出部２０４は、その制御点の位置が、下顎標準位置に一致するように（かつ、その制御点における接線が中心線と直交するように）、顎テンプレートを正規化顔画像上に配置する。ステップＳ２２１で正規化顔画像上に配置された顎テンプレートのサイズと位置が、それぞれの初期値である。ここで、顎テンプレートのサイズと位置の初期値も、それぞれ、初期サイズと初期位置という。
【０２５８】
そして、ステップＳ２２１からＳ２２２に進み、顎特徴点検出部２０４は、顎テンプレートのサイズと位置を、それぞれ、初期サイズと初期位置から徐々に変化させ、正規化顔画像に表示されている（写っている）顔に適応（フィット）させる位置／サイズフィット処理を行う。
【０２５９】
即ち、ステップＳ２２２の位置／サイズフィット処理では、顎特徴点検出部２０４は、顎テンプレートの形状を保ったまま、そのサイズと位置を変化させ、各サイズと位置について、顎テンプレートが正規化顔画像に写っている顔の輪郭、特に、下顎（顔の下側の輪郭）にフィットしている程度を評価する評価関数を演算する。
【０２６０】
ここで、顎特徴点検出部２０４は、顎テンプレートを拡大または縮小することにより、そのサイズを、形状を保ったまま変化させる。また、顎特徴点検出部２０４は、顎テンプレートの全体（の制御点）を平行移動することにより、その位置を、形状を保ったまま変化させる。なお、顎特徴点検出部２０４では、顎テンプレートの平行移動の他、例えば、任意の制御点等を中心とする回転によって、顎テンプレートの位置を変化させることも可能である。
【０２６１】
顎特徴点検出部２０４は、評価関数が、最もフィットしていることを表している値となるときの顎テンプレートのサイズと位置を求める。
【０２６２】
ステップＳ２２２の処理後は、ステップＳ２２３に進み、顎特徴点検出部２０４は、ステップＳ２２２で求められた位置とサイズの顎テンプレートを基準として、その顎テンプレートの形状を変形し、顎テンプレートの形状を、正規化顔画像に写っている顔の輪郭、特に、下顎に適応（フィット）させる形状フィット処理を行う。
【０２６３】
即ち、顎特徴点検出部２０４は、ステップＳ２２２においては、顎テンプレートの位置とサイズを変化させ、顎テンプレートを、正規化顔画像に写っている顔の下顎にフィットさせたが、ステップＳ２２３では、顎テンプレートの形状を変化させ、顎テンプレートを、正規化顔画像に写っている顔の下顎に、さらにフィットさせる形状フィット処理を行う。
【０２６４】
具体的には、顎特徴点検出部２０４は、口特徴点検出部２０３と同様に、顎テンプレートの複数の制御点を連動して移動させること、つまり、顎テンプレートの形状を規定する複数のパラメータとしての、複数の制御点のx座標とy座標を、その数より少ない１以上のパラメータに基づいて変更することにより、（位置とサイズが正規化顔画像にフィットしている）顎テンプレートの形状を、下顎（顔の輪郭）の形状の範囲内で変化（変形）し、これにより、少ない数のパラメータの操作によって、顎テンプレートの形状を、正規化顔画像の下顎になるべく一致させることを、移動対象とする制御点を徐々に少なくしながら繰り返す。
【０２６５】
そして、顎特徴点検出部２０４において、ステップＳ２２３の形状フィット処理が終了すると、位置、サイズ、および形状が正規化顔画像（の下顎）にフィット（適応）した顎テンプレート（以下、適宜、適応顎テンプレートともいう）が得られる。顎特徴点検出部２０４は、適応顎テンプレートから、正規化顔画像の顔の輪郭、特に、下顎の特徴点を求め、詳細特徴点として、顔モデル生成部１３６（図２）に供給し、処理を終了する。
【０２６６】
ここで、顎特徴点検出部２０４では、例えば、適応顎テンプレートの制御点のうちの一部またはすべてを、正規化顔画像の顎の詳細特徴点として求めることができる。また、顎特徴点検出部２０４では、例えば、適応顎テンプレートの制御点を結んだ線上の点をサンプリングし、そのサンプリングされた点を、正規化顔画像の顎の詳細特徴点として求めることができる。
【０２６７】
顎特徴点検出部２０４でも、目特徴点検出部２０２や口特徴点検出部２０３における場合と同様に、顎テンプレートの形状を、正規化顔画像に、容易にフィットさせることができ、さらに、多数の、精度が高い特徴点を、容易に得ることができる。
【０２６８】
なお、顎特徴点検出部２０４でも、目特徴点検出部２０２（図１１）と同様に、ステップＳ２２３において、顎テンプレートの形状を正規化顔画像にフィットさせた後、図２０に点線で示すように、ステップＳ２２２に戻り、形状がフィットした顎テンプレートを基準として、その顎テンプレートの位置とサイズを正規化顔画像にフィットさせ、以下同様にして、ステップＳ２２２およびＳ２２３の処理を１回以上繰り返すようにすることができる。この場合、より精度が高い特徴点を得ることができる。
【０２６９】
次に、図２１乃至図２４を参照して、図２の通常特徴点抽出部１３４で得られる通常特徴点と、詳細特徴点抽出部１３５で得られる詳細特徴点とについて、さらに説明する。
【０２７０】
図２１および図２２は、通常特徴点抽出部１３４で得られる通常特徴点、即ち、例えば、AAMによって得られる特徴点を示している。
【０２７１】
図２１は、顔全体について得られた通常特徴点を示しており、図２２は、顔のある部位としての目の部分について得られた通常特徴点を示している。
【０２７２】
図２１および図２２から、通常特徴点は、精度が高くなく、また、数も少ないことが分かる。即ち、通常特徴点は、図２１に示すように、目や、口、顎（下顎）、鼻などの位置に、まばらに得られる。さらに、通常特徴点は、例えば、目については、図２２に示すように、目の位置付近において得られ、例えば、眼孔から露出している眼球の部分の輪郭や、まぶたと眼孔との境界の位置を、正確には表さない。
【０２７３】
一方、図２３および図２４は、詳細特徴点抽出部１３５で得られる詳細特徴点を示している。
【０２７４】
即ち、図２３は、目テンプレートの内側の輪郭上の制御点から得られた詳細特徴点を示しており、図２４は、目テンプレートの外側の輪郭上の制御点から得られた詳細特徴点を示している。
【０２７５】
図２３から、目テンプレートの内側の輪郭上の制御点から得られた詳細特徴点は、眼孔から露出している眼球の部分の輪郭の位置を正確に表していることが分かる。さらに、目テンプレートの内側の輪郭上の制御点から得られた詳細特徴点は、それらを結ぶことによって、眼孔から露出している眼球の部分の輪郭を精度良く再現することができる程度の数だけ得られている。
【０２７６】
また、図２４から、目テンプレートの外側の輪郭上の制御点から得られた詳細特徴点は、まぶたと眼孔との境界の位置を正確に表していることが分かる。さらに、目テンプレートの外側の輪郭上の制御点から得られた詳細特徴点は、それらを結ぶことによって、まぶたと眼孔との境界を精度良く再現することができる程度の数だけ得られている。
【０２７７】
次に、図２５は、図２の顔モデル生成部１３６の構成例を示すブロック図である。
【０２７８】
顔モデル生成部１３６は、標準３次元モデル記憶部２５１、顔処理部２５２、頭髪処理部２５３、および合成部２５４から構成されている。
【０２７９】
標準３次元モデル記憶部２５１は、標準的な顔の３次元形状を有する顔モデル、標準的な首の３次元形状を有する首モデル、標準的な耳（左右の耳）の３次元形状を有する耳モデル、および標準的な頭髪の３次元形状を有する頭髪モデルを記憶している。これらの顔モデル、首モデル、耳モデル、および頭髪モデルは、あらかじめ用意され、標準３次元モデル記憶部２５１に記憶される。なお、あらかじめ用意する顔モデル、首モデル、耳モデルは、例えば、実在する人の顔、首、耳を模したものでも良いが、ここでは、仮想的な顔、首、耳を模したものとなっており、例えば、顔モデルは、左右が完全に対称になっている。
【０２８０】
標準３次元モデル記憶部２５１に記憶されている顔モデル、首モデル、および耳モデルは、顔処理部２５２に供給され、頭髪モデルは、頭髪処理部２５３に供給される。
【０２８１】
顔処理部２５２は、顔モデル適応部２６１、首モデル適応部２６２、耳モデル適応部２６３、拡張部２６４、および合成部２６５から構成される。
【０２８２】
顔モデル適応部２６１には、正規化顔画像記憶部１３３（図２）から正規化顔画像が、詳細特徴点抽出部１３５から詳細特徴点が、標準３次元モデル記憶部２５１から顔モデルが、それぞれ供給される。顔モデル適応部２６１は、詳細特徴点抽出部１３５からの詳細特徴点等に基づき、標準３次元モデル記憶部２５１からの顔モデルを、正規化顔画像記憶部１３３からの正規化顔画像に写っている顔（顔面）に適応させ、これにより、正規化顔画像に写っている顔（顔面）の３次元モデルとしての顔モデルを生成し、拡張部２６４に供給する。
【０２８３】
首モデル適応部２６２には、正規化顔画像記憶部１３３から正規化顔画像が、詳細特徴点抽出部１３５から詳細特徴点が、標準３次元モデル記憶部２５１から首モデルが、それぞれ供給される。首モデル適応部２６２は、詳細特徴点抽出部１３５からの詳細特徴点等に基づき、標準３次元モデル記憶部２５１からの首モデルを、正規化顔画像記憶部１３３からの正規化顔画像に写っている首に適応させ、これにより、正規化顔画像に写っている首の３次元モデルとしての首モデルを生成し、合成部２６５に供給する。
【０２８４】
耳モデル適応部２６３には、正規化顔画像記憶部１３３から正規化顔画像が、詳細特徴点抽出部１３５から詳細特徴点が、標準３次元モデル記憶部２５１から耳モデルが、それぞれ供給される。耳モデル適応部２６３は、詳細特徴点抽出部１３５からの詳細特徴点等に基づき、標準３次元モデル記憶部２５１からの耳モデルを、正規化顔画像記憶部１３３からの正規化顔画像に写っている耳（左右の耳）に適応させ、これにより、正規化顔画像に写っている耳の３次元モデルとしての耳モデルを生成し、合成部２６５に供給する。
【０２８５】
拡張部２６４は、顔モデル適応部２６１から供給される顔モデルの周辺部分を、奥行き方向であるＺ方向に拡張し、その結果得られる顔モデルを、合成部２６５に供給する。
【０２８６】
合成部２６５は、拡張部２６４から供給される顔モデルに、首モデル適応部２６２から供給される首モデルと、耳モデル適応部２６３から供給される耳モデルとを合成し、その首モデルと耳モデルとが合成された顔モデルを、合成部２５４に供給する。
【０２８７】
頭髪処理部２５３は、マッピング部２７１、非頭髪部分検出部２７２、Ｚ値変更部２７３、およびフィルタ部２７４から構成される。
【０２８８】
マッピング部２７１には、正規化顔画像記憶部１３３（図２）から正規化顔画像が、詳細特徴点抽出部１３５から詳細特徴点が、標準３次元モデル記憶部２５１から頭髪モデルが、それぞれ供給される。マッピング部２７１は、詳細特徴点抽出部１３５からの詳細特徴点等に基づき、標準３次元モデル記憶部２５１からの頭髪モデルを、正規化顔画像記憶部１３３からの正規化顔画像に写っている頭部にマッピングし、Ｚ値変更部２７３に供給する。
【０２８９】
非頭髪部分検出部２７２には、正規化顔画像記憶部１３３から正規化顔画像が供給される。非頭髪部分検出部２７２は、正規化顔画像記憶部１３３からの正規化顔画像から、頭髪でない部分である非頭髪部分を検出し、その非頭髪部分の情報を、Ｚ値変更部２７３に供給する。
【０２９０】
Ｚ値変更部２７３は、マッピング部２７１から供給される頭髪モデル（正規化顔画像の頭部にマッピングされた頭髪モデル）のうちの、非頭髪部分にマッピングされた部分を、非頭髪部分検出部２７２からの非頭髪部分の情報から検出し、その非頭髪部分にマッピングされた部分のＺ値を変更して、フィルタ部２７４に供給する。
【０２９１】
フィルタ部２７４は、Ｚ値変更部２７３においてＺ値が変更された頭髪モデルのＺ値に対して、ローパスフィルタによるフィルタリングを行い（施し）、そのフィルタリング後の頭髪モデルを、合成部２５４に供給する。
【０２９２】
合成部２５４は、顔処理部２６５（の合成部２６５）から供給される顔モデルに、頭髪処理部２５３（のフィルタ部２７４）から供給される頭髪モデルを合成し、その頭髪モデルが合成された顔モデルを、最終的な顔モデルとして、顔モデル記憶部１３７（図２）に供給して記憶させる。
【０２９３】
次に、図２６乃至図２８を参照して、図２５の顔モデル適応部２６１の処理について説明する。
【０２９４】
図２６は、標準３次元モデル記憶部２５１に記憶されている顔モデルを示している。
【０２９５】
標準３次元モデル記憶部２５１に記憶されている顔モデルは、上述したように、標準的な顔（正面を向いた顔）の３次元形状を有する３次元モデルで、例えば、その３次元形状の各点について、横方向をx軸、縦方向をy軸、奥行き方向をz軸とするxyz座標系上の座標(x,y,z)を有している。座標(x,y,z)のうちの奥行き方向（Ｚ方向）の座標であるz座標は、特に、Ｚ値と呼ばれ、図２６は、横方向をx軸とするとともに、縦方向をy軸として定義されるxy座標系において、座標(x,y)で表される、正面から見た顔モデル上の各点のＺ値を、濃淡によって表している。
【０２９６】
即ち、例えば、いま、z軸を、手前側から奥方向にとるとともに、顔モデルの一番手前側にある点のＺ値を0とするとすると、図２６では、小さいＺ値である点（手前側の点）が明るく、大きいＺ値である点（奥側の点）が暗く、それぞれ表されている。
【０２９７】
標準３次元モデル記憶部２５１に記憶されている顔モデルには、図２６に示すように、その顔モデル（正面から見た顔モデル）の縦方向を、４つの領域Dv1，Dv2，Dv3，Dv4に分割するとともに、横方向を２つの領域Dh1とDh2に分割するために、５つの基準点Dp1，Dp2，Dp3，Dp4，Dp5が設定（記憶）されている。
【０２９８】
ここで、基準点Dp1は、顔の一番上の点、即ち、額と髪の毛との境界上の最も上の点であり、基準点Dp2は、目の中心点（例えば、右目と左目の瞳の中心どうしの中点）である。また、基準点Dp3は、鼻の、上唇側の境界上の点であり、基準点Dp4は、口（上唇と下唇との境界）上の点である。さらに、基準点Dp5は、顔の一番下の点、即ち、下顎と首の境界上の最も下の点である。
【０２９９】
そして、領域Dv1は、基準点Dp1を通る水平線（x軸に平行な直線）と、基準点Dp2を通る水平線とで挟まれる領域であり、領域Dv2は、基準点Dp2を通る水平線と、基準点Dp3を通る水平線とで挟まれる領域である。また、領域Dv3は、基準点Dp3を通る水平線と、基準点Dp4を通る水平線とで挟まれる領域であり、領域Dv4は、基準点Dp4を通る水平線と、基準点Dp5を通る水平線とで挟まれる領域である。
【０３００】
なお、標準３次元モデル記憶部２５１に記憶されている顔モデルは、上述したように、左右対称であり、５つの基準点Dp1，Dp2，Dp3，Dp4，Dp5は、すべて、対称の軸上に存在する。
【０３０１】
そして、５つの基準点Dp1，Dp2，Dp3，Dp4，Dp5を、その順で結ぶ線によって、顔モデルの横方向が、２つの領域Dh1とDh2に分割される。
【０３０２】
ここで、基準点Dp1，Dp2，Dp3，Dp4，Dp5を、その順で結ぶ線は、対称の軸に一致する。従って、顔モデルの２つの領域Dh1とDh2とは、対称な領域である。
【０３０３】
標準３次元モデル記憶部２５１に記憶されている顔モデルは、以上のような５つの基準点Dp1乃至Dp5によって、縦方向が、４つの領域Dv1，Dv2，Dv3，Dv4に分割されるとともに、横方向が２つの領域Dh1とDh2に分割され、その結果、合計で、８つの領域R1，R2，R3，R4，R5，R6，R7，R8に分割されている。
【０３０４】
顔モデル適応部２６１（図２５）は、標準３次元モデル記憶部２５１からの顔モデル（以下、適宜、標準顔モデルという）を、正規化顔画像記憶部１３３からの正規化顔画像に写っている顔（顔面）に適応させるため、詳細特徴点抽出部１３５からの詳細特徴点等に基づき、正規化顔画像に写っている顔を、標準顔モデルの８つの領域R1乃至R8それぞれに対応する８つの領域（対応領域）に分割する。
【０３０５】
即ち、図２７は、正規化顔画像に写っている顔を、標準顔モデルの８つの領域R1乃至R8それぞれの対応領域に分割した状態を示している。
【０３０６】
顔モデル適応部２６１は、まず、正規化顔画像上の、５つの基準点Dp1乃至Dp5（図２６）それぞれに対応する点（対応点）を検出する。
【０３０７】
即ち、顔モデル適応部２６１は、例えば、詳細特徴点抽出部１３５からの詳細特徴点のうちの、顎の詳細特徴点を結ぶことにより、正規化顔画像に写っている顔の輪郭を認識し、その輪郭から、基準点Dp1の対応点、つまり、正規化顔画像に写っている顔の一番上の点（額と髪の毛との境界上の最も上の点）を検出する。
【０３０８】
また、顔モデル適応部２６１は、詳細特徴点抽出部１３５からの詳細特徴点のうちの、目の詳細特徴点に基づき、瞳の中心の点である詳細特徴点どうしの中点を求め、この中点を、基準点Dp2の対応点、つまり、正規化顔画像に写っている顔の目の中心として検出する。
【０３０９】
さらに、顔モデル適応部２６１は、正規化顔画像を対象に、画像処理を行うことにより、その正規化顔画像に写っている顔における鼻の穴、つまり、目と口の間にある、小さく暗い２つの穴（略楕円状の領域）を検出し、例えば、その２つの穴の重心どうしを間の中点を、基準点Dp3の対応点、つまり、正規化顔画像に写っている顔における鼻の、上唇側の境界上の点として検出する。
【０３１０】
また、顔モデル適応部２６１は、詳細特徴点抽出部１３５からの詳細特徴点のうちの、口の詳細特徴点に基づき、その詳細特徴点のうちの、中心の制御点（例えば、正規化顔画像にフィットさせる前の口テンプレートの中点に位置している制御点）であった詳細特徴点を、基準点Dp4の対応点、つまり、正規化顔画像に写っている顔における口（上唇と下唇との境界）上の点として検出する。
【０３１１】
さらに、顔モデル適応部２６１は、詳細特徴点抽出部１３５からの詳細特徴点のうちの、顎の詳細特徴点に基づき、その詳細特徴点のうちの、下顎の中心の制御点であった詳細特徴点を、基準点Dp5の対応点、つまり、正規化顔画像に写っている顔の一番下の点（下顎と首の境界上の最も下の点）として検出する。
【０３１２】
そして、顔モデル適応部２６１は、図２７に示すように、基準点Dp1乃至Dp5それぞれの対応点のそれぞれを通る５つの水平線によって、正規化顔画像を、縦方向に、４つの領域Dv1乃至Dv4（図２６）それぞれに対応する４つの領域に分割する。
【０３１３】
さらに、顔モデル適応部２６１は、図２７に示すように、基準点Dp1乃至Dp5それぞれの対応点の隣接する対応点どうしを直線で結ぶことにより、正規化顔画像を、横方向に、２つの領域Dh1とDv2（図２６）それぞれに対応する２つの領域に分割する。
【０３１４】
以上のように、顔モデル適応部２６１は、正規化顔画像を、縦方向に、４つの領域に分割するとともに、横方向に、２つの領域に分割し、これにより、正規化顔画像（に写っている顔）を、図２７に示すように、合計で、８つの領域R1乃至R8（図２６）それぞれの８つの対応領域に分割する。
【０３１５】
その後、顔モデル適応部２６１は、標準顔モデル（図２６）を、正規化顔画像記憶部１３３からの正規化顔画像に写っている顔に、８つの領域R1乃至R8それぞれごとに適応させる。
【０３１６】
即ち、顔モデル適応部２６１は、基準点Dp1乃至Dp5のうちの、標準顔モデルの領域R1の境界上にある基準点Dp1とDp2（図２６）が、正規化顔画像上の対応点に一致し、かつ、領域R1が、正規化顔画像の対応領域に一致するように、領域R1の各点(x,y,z)のx座標とy座標を変更することにより、領域R1（内の標準顔モデル）を変形（マッピング）する。
【０３１７】
同様に、顔モデル適応部２６１は、他の領域R2乃至R8も変形し、これにより、標準顔モデルの全体を、正規化顔画像に写っている顔の全体に適応させた顔モデルを得て、拡張部２６４に供給する。
【０３１８】
ここで、図２８に、図２６の標準顔モデルを、図２７の正規化顔画像に写っている顔に適応させた顔モデルを示す。図２８でも、図２６における場合と同様に、横方向をx軸とするとともに、縦方向をy軸として定義されるxy座標系において、座標(x,y)で表される顔モデル上の各点のＺ値を、濃淡によって表している。
【０３１９】
正規化顔画像に写っている顔に適応させた顔モデルには、正規化顔画像に写っている顔の各点（画素）に対応する点が存在し、顔モデル適応部２６１は、顔モデルの各点に、その点が対応する正規化顔画像に写っている顔の点における画素値を与える。従って、正規化顔画像に写っている顔に適応させた顔モデルは、xyz座標系上の座標(x,y,z)の他、画素値（色）を有している。
【０３２０】
次に、図２９を参照して、図２５の首モデル適応部２６２の処理について説明する。
【０３２１】
首モデル適応部２６２は、詳細特徴点抽出部１３５からの詳細特徴点のうちの、目の詳細特徴点に基づき、正規化顔画像に写っている顔における左右それぞれの瞳の中心を求める。さらに、首モデル適応部２６２は、詳細特徴点抽出部１３５からの詳細特徴点のうちの、口の詳細特徴点に基づき、正規化顔画像に写っている顔における口の中心を求める。
【０３２２】
そして、首モデル適応部２６２は、図２９に斜線を付して示すように、正規化顔画像において、左右それぞれの瞳の中心それぞれを通る縦方向の２つの直線で挟まれ、口の中心を通る横方向の直線より下側の領域を、首が存在する首領域として決定し、その首領域に、標準３次元モデル記憶部２５１からの首モデルを適応させる。即ち、首モデル適応部２６２は、首領域の各点に、首モデルの各点が対応するように、首モデルを変形（マッピング）する。
【０３２３】
首モデル適応部２６２は、以上のようにして、首領域に適応させた首モデルを、正規化顔画像に写っている首に適応させた首モデルとして、合成部２６５（図２５）に供給する。
【０３２４】
次に、図３０を参照して、図２５の耳モデル適応部２６３の処理について説明する。
【０３２５】
耳モデル適応部２６３は、詳細特徴点抽出部１３５からの詳細特徴点のうちの、目の詳細特徴点に基づき、正規化顔画像に写っている顔における目の中心を求める。さらに、耳モデル適応部２６３は、正規化顔画像から、その正規化顔画像に写っている顔における鼻の穴を求める。また、耳モデル適応部２６３は、詳細特徴点抽出部１３５からの詳細特徴点のうちの、顎の詳細特徴点を結んで得られる、正規化顔画像に写っている顔の輪郭から、その顔の最大の幅を求める。
【０３２６】
そして、耳モデル適応部２６３は、図３０に示すように、目の中心と鼻の穴との間の長さを縦方向の長さとし、顔の幅を横方向の長さとする矩形を所定数倍した矩形内の領域を、耳が存在する耳領域の候補（以下、適宜、耳領域候補という）として求める。
【０３２７】
耳モデル適応部２６３は、耳領域候補を対象に、顔の左右の外側から、顔の輪郭に向かって、横（水平）方向に、正規化顔画像の画素をスキャンし、肌色の画素を検出する。
【０３２８】
そして、耳モデル適応部２６３は、最初に検出された肌色の画素と、正規化顔画像に写っている顔の輪郭までの横方向の距離を求め、その距離が、所定の距離以上である場合、顔の輪郭方向に向かって耳が存在するとして、正規化顔画像の画素のスキャンを、顔の輪郭まで続行して、耳が写っている画素としての肌色の画素を検出する。耳モデル適応部２６３は、矩形の耳領域候補の各行について、上述の処理を行い、これにより、耳が写っている画素でなる耳領域を検出する。
【０３２９】
耳モデル適応部２６３は、耳領域の検出後、その首領域に、標準３次元モデル記憶部２５１からの耳モデルを適応させる。即ち、耳モデル適応部２６３は、耳領域の各点に、耳モデルの各点が対応するように、耳モデルを変形（マッピング）する。
【０３３０】
耳モデル適応部２６３は、以上のようにして、耳領域に適応させた耳モデルを、正規化顔画像に写っている耳に適応させた耳モデルとして、合成部２６５（図２５）に供給する。
【０３３１】
次に、図３１乃至図３７を参照して、図２５の拡張部２６４の処理について説明する。
【０３３２】
拡張部２６４は、顔モデル適応部２６１（図２５）から供給される顔モデルの周辺部分を、奥行き方向であるＺ方向に拡張する。
【０３３３】
即ち、図３１は、顔モデル適応部２６１で得られる顔モデルを模式的に示している。なお、図３１において、横方向には、z軸をとってある。
【０３３４】
顔画像は、人を正面から撮像して得られる画像であるから、顔画像において、その人の顔は、正面から見える範囲しか写っていない。従って、顔画像には勿論、その顔画像から得られる正規化顔画像にも、正面から見えない部分、即ち、例えば、顔の側面部分や頭頂部等は写っていない。
【０３３５】
このため、そのような正規化顔画像に適応させた顔モデルは、図３１に示すように、顔の側面部分や頭頂部が、実質的に存在しないもの、即ち、それほどの奥行きがないものとなる。
【０３３６】
ここで、図３１では、顔モデルの一番手前側のＺ値（z座標）を０とするとともに、z1，z2，z3に、式0＜z1＜z2＜z3で表される関係があるとして、z1，z2，z3のうちの、z2までしか、顔モデルの奥行きが存在しない。なお、Ｚ値が大きいほど、奥側であることを表すものとする。
【０３３７】
拡張部２６４は、顔モデルに、ある程度の奥行きをもたせるために、顔モデルのＺ値（z座標）を、例えば、非線形な関数にしたがって変換して、顔モデルを、Ｚ方向に、非線形に伸張することにより、顔モデルの周辺部分をＺ方向に拡張する。
【０３３８】
即ち、図３２は、拡張部２６４が、顔モデルのＺ値の変換に用いる関数（以下、適宜、Ｚ値変換関数という）の例を示している。
【０３３９】
図３２においては、Ｚ値変換関数の引数となる、顔モデルの元のＺ値であるzinを横軸にとり、Ｚ値変換関数による変換後のＺ値であるzoutを縦軸にとってある。
【０３４０】
図３２のＺ値変換関数によれば、０以上z1以下の値のzinは、同一の値のzoutに変換され、z1を越える値のzinは、そのzinより大きい値のzoutに変換される。例えば、z1より大で、z2以下の値のzinは、z1より大で、z3以下の、元のzinより大きい値のzoutに変換される。
【０３４１】
従って、図３２のＺ値変換関数によれば、図３１に示した顔モデルは、図３３に示すように、Ｚ方向（奥側）に拡張される。
【０３４２】
即ち、図３３は、図３１の顔モデルを、図３２のＺ値変換関数に基づき、Ｚ方向に伸張して得られる顔モデルを、図３１と同様に模式的に示している。
【０３４３】
図３２のＺ値変換関数に基づき、図３１の顔モデルのＺ値を変換することにより、０以上z1以下のＺ値は、同一のＺ値に変換され、z1を越えるＺ値は、それより大きいＺ値に変換される。
【０３４４】
即ち、図３１の顔モデルについては、z1より大で、z2以下の範囲のＺ値が、z1より大で、z3以下の範囲の、元のz値より大きいＺ値に変換され、その結果、０からz2までのＺ値しかとらなかった図３１の顔モデルは、０からz3までのＺ値をとる図３３の顔モデルとなる。
【０３４５】
ここで、図３４および図３５は、顔画像に写っている人（被写体）と、その顔画像から生成された顔モデルを、上方向から見た様子を、模式的に示している。
【０３４６】
図３４および図３５の左から１番目に示すように、顔画像は、人を正面から撮像して得られる画像であり、顔画像には、その人の顔は、正面から見える範囲しか写っていない。従って、顔画像には勿論、その顔画像から得られる正規化顔画像にも、正面から見えない部分、即ち、例えば、顔の側面部分や頭頂部等は写っていない。
【０３４７】
このため、そのような正規化顔画像に適応させた顔モデルは、図３４および図３５の左から２番目に示すように、顔の側面部分等が、実質的に存在しないもの、即ち、それほどの奥行きがないものとなる。
【０３４８】
従って、そのような顔モデルに基づき、顔のCGアニメーションを生成（作成）した場合、図３４の左から３番目に示すように、顔を左右に僅かに回転させるだけで、顔モデルに実質的に存在しない顔の側面部分が、正面方向を向き、その結果、CGアニメーションが破綻する。
【０３４９】
一方、図３５の左から３番目に示すように、それほどの奥行きがない顔モデルの周辺部分をＺ方向に拡張し、顔モデルに、ある程度の奥行きをもたせ、そのような顔モデルに基づき、顔のCGアニメーションを生成した場合には、図３５の左から４番目に示すように、顔を多少左右に回転させても、拡張した周辺部分が存在するので、上述したようなCGアニメーションの破綻を防止することができる。
【０３５０】
即ち、図３６は、周辺部分をＺ方向に拡張していない顔モデルに基づき、顔のCGアニメーションを生成し、向かって左方向に回転させた状態を示している。
【０３５１】
また、図３７は、周辺部分をＺ方向に拡張した顔モデルに基づき、顔のCGアニメーションを生成し、向かって左方向に回転させた状態を示している。
【０３５２】
図３６では、顔モデルの側面部分が存在しないために、左方向に回転した顔が不自然につぶれてしまっているのに対して、図３７では、顔モデルの側面部分が存在しているので、左方向を向いた自然な（リアルな）顔のCGアニメーションが実現されていることが分かる。
【０３５３】
なお、顔モデルのＺ値の変換に用いるＺ値変換関数は、図３２に示した関数に限定されるものではない。また、本実施の形態では、Ｚ値変換関数を、非線形の関数としたが、Ｚ値変換関数は、線形の関数であっても良い。但し、Ｚ値変換関数は、図３２に示したように、小さいＺ値は、同一の値に変換し、大きいＺ値は、より大きいＺ値に変換する関数として、即ち、顔モデルの手前側の点は、そのままの位置に変換し、顔モデルの奥側の点ほど、より奥側に移動させるのが望ましい。
【０３５４】
次に、図３８乃至図４０を参照して、図２５の合成部２６５の処理について説明する。
【０３５５】
合成部２６５は、拡張部２６４から供給される顔モデルに対して、首モデル適応部２６２から供給される首モデルと、耳モデル適応部２６３から供給される耳モデルのうちの、顔モデルよりも手前側の部分を合成する。
【０３５６】
即ち、図３８は、顔モデルに対して、首モデルのうちの、顔モデルよりも手前側の部分を合成する様子を模式的に示している。
【０３５７】
なお、図３８においては、横方向がＺ方向であり、左が手前側で、右が奥側になっている。
【０３５８】
合成部２６５は、首モデルの各点のＺ値を、その点と座標(x,y)が同一の、顔モデルの点（首モデルの点に対応する顔モデルの点）のＺ値とを比較する。そして、首モデルの点のＺ値が、それに対応する顔モデルの点のＺ値未満である場合、つまり、首モデルの点が、図３８において矢印a1で示すように、それに対応する顔モデルの点よりも手前側にある場合（首モデルの点の手前側に、顔モデルが存在しない場合）、その首モデルの点を顔モデルに合成する。
【０３５９】
一方、首モデルの点のＺ値が、それに対応する顔モデルの点のＺ値以上である場合、つまり、首モデルの点が、図３８において矢印a2で示すように、それに対応する顔モデルの点よりも奥側にある場合（または、Ｚ方向について同一位置にある場合）、その首モデルの点は、顔モデルに合成されない。
【０３６０】
合成部２６５は、耳モデルについても、首モデルと同様に、耳モデルのうちの、顔モデルよりも手前側の部分を、顔モデルに合成する。
【０３６１】
例えば、ディジタルカメラ等によって、被写体である人を撮像して、顔画像を得る場合、その顔画像における首や耳の写り具合は、被写体となった人の個性（髪型や、姿形、姿勢など）や、撮像時の角度（撮影方向）の少しのずれなどによって大きく異なる。このため、標準顔モデルを、正規化顔画像に写っている顔に適応させるだけでは、首や耳が不自然な顔モデル、従って、全体としても不自然な顔モデルが得られることがある。
【０３６２】
そこで、顔処理部２５２（図２５）では、顔（顔面）の顔モデル（耳と首の３次元形状がない顔モデル）とは別に、首モデルと耳モデルを生成して顔モデルに合成することで、自然な顔モデルを得るようになっている。
【０３６３】
即ち、図３９は、標準顔モデルを、正規化顔画像に写っている顔に適応させて得られる顔モデルの左側面図であり、図４０は、その顔モデルに、首モデルと耳モデルとを合成して得られる顔モデルの左側面図である。
【０３６４】
図３９では、耳（左耳）が不自然に歪み、首がほとんど存在しない顔モデルになっているのに対して、図４０では、自然な耳と首が存在し、全体として自然な顔モデルになっていることが分かる。
【０３６５】
次に、図４１乃至図４６を参照して、図２５の頭髪処理部２５３の処理について説明する。
【０３６６】
頭髪は、一般に、顔の輪郭の内側にも、顔の輪郭からはみ出した範囲にも存在し、即ち、顔モデルの輪郭からはみ出した範囲にも存在し、また、髪型は、人によって大きく異なる。そこで、頭髪処理部２５３は、顔モデルとは別に、３次元形状を有する頭髪モデルを生成し、これにより、正規化顔画像に写っている人の頭髪の髪型や質感と同様の髪型や質感を有する頭髪の顔モデルを実現する。
【０３６７】
即ち、頭髪処理部２５３のマッピング部２７１（図２５）は、詳細特徴点抽出部１３５（図２）からの詳細特徴点から、正規化顔画像に写っている顔の輪郭を認識し、その顔の輪郭に基づき、正規化顔画像記憶部１３３（図２）からの正規化顔画像上に、頭髪輪郭線で囲まれる頭髪存在領域を設定（決定）する。
【０３６８】
ここで、頭髪輪郭線は、頭髪が存在しうると予想される範囲の輪郭線である。
【０３６９】
マッピング部２７１は、正規化顔画像の頭髪存在領域に、標準３次元モデル記憶部２５１に記憶された頭髪モデル（以下、適宜、標準頭髪モデルという）をマッピングする。
【０３７０】
即ち、例えば、頭髪存在領域には、マッピングに用いられる点としての１以上のマッピング点が設定されており（決められており）、標準頭髪モデルには、各マッピング点に対応する点（対応点）が設定されている。マッピング部２７１は、正規化顔画像上の頭髪存在領域のマッピング点が、標準頭髪モデルの対応点に一致するように、標準頭髪モデルを変形する。
【０３７１】
図４１は、標準頭髪モデルを正規化顔画像（の頭髪存在領域）にマッピングして得られる頭髪モデルを示している。
【０３７２】
なお、図４１の左側は、頭髪モデルの正面図であり、図４１の右側は、頭髪モデルの左側面図である。
【０３７３】
図４１に示すように、頭髪モデルは、頭頂部から額にかけて顔形状の手前側を被い、側頭上部から中部にかけて顔形状より後ろ側（奥側）に向かって下がっていく３次元形状を有する。
【０３７４】
マッピング部２７１は、図４１に示すように頭髪モデルを正規化顔画像にマッピングし、そのマッピング後の頭髪モデルを、Ｚ値変更部２７３（図２５）に供給する。
【０３７５】
一方、頭髪処理部２５３の非頭髪部分検出部２７２（図２５）は、正規化顔画像記憶部１３３に記憶された正規化顔画像において、例えば、黒くない部分（領域）と肌色の部分を、頭髪でない非頭髪領域として検出し、その非頭髪領域の情報を、Ｚ値変更部２７３に供給する。
【０３７６】
Ｚ値変更部２７３は、非頭髪部分検出部２７２から供給される情報から、正規化顔画像上の非頭髪部分を認識し、マッピング部２７１からの頭髪モデルのうちの、非頭髪部分にマッピングされた部分の、Ｚ値を変更する。即ち、Ｚ値変更部２７３は、頭髪モデルと、顔処理部２５２（図２５）で得られる顔モデルとを合成したときに、頭髪モデルのうちの、非頭髪部分にマッピングされた部分が、顔モデルよりも奥側に位置するように、頭髪モデルのＺ値を変更する。具体的には、Ｚ値変更部２７３は、頭髪モデルのうちの、非頭髪部分にマッピングされた部分のＺ値を、例えば、無限大に相当する大きな値に変更する。
【０３７７】
これにより、図４１に示した頭髪モデルは、図４２に示すようになる。
【０３７８】
即ち、図４２は、図４１の頭髪モデルのうちの、非頭髪部分にマッピングされた部分のＺ値を変更して得られる頭髪モデルを示している。
【０３７９】
なお、図４１と同様に、図４２の左側は、頭髪モデルの正面図であり、図４２の右側は、頭髪モデルの左側面図である。
【０３８０】
図４２に示すように、正規化顔画像に写っている人の頭髪の髪型や質感と同様の髪型や質感を有する頭髪モデルを得ることができる。
【０３８１】
ここで、図４３は、ある正規化顔画像から得られた顔モデルに頭髪モデルを合成しないで生成したCGを示しており、図４４は、その顔モデルに頭髪モデルを合成して生成したCGを示している。また、図４５は、他の正規化顔画像から得られた顔モデルに頭髪モデルを合成しないで生成したCGを示しており、図４６は、その顔モデルに頭髪モデルを合成して生成したCGを示している。
【０３８２】
図４３や図４５の、頭髪モデルなしで生成されたCGでは、頭髪が、顔の輪郭（表面）に貼り付いたように不自然につぶれてしまっているのに対して、図４４や図４６の、頭髪モデルを用いて生成されたCGでは、質感等が自然な頭髪になっていることが分かる。
【０３８３】
次に、図４７のフローチャートを参照して、図２の顔モデル生成部１３６が、図３のステップＳ１０５で行う、顔モデルを生成する処理について説明する。
【０３８４】
顔モデル生成部１３６の顔処理部２５２（図２５）における顔モデル適応部２６１が、ステップＳ２５１において、詳細特徴点抽出部１３５から供給される詳細特徴点等に基づき、標準３次元モデル記憶部２５１に記憶された標準顔モデルを、正規化顔画像記憶部１３３に記憶された正規化顔画像に写っている顔（顔面）に適応させ、これにより、正規化顔画像に写っている顔（顔面）の３次元モデルとしての顔モデルを生成し、拡張部２６４に供給して、ステップＳ２５２に進む。
【０３８５】
ステップＳ２５２では、拡張部２６４は、顔モデル適応部２６１から供給される顔モデルの周辺部分をＺ方向に拡張し、その結果得られる顔モデルを、合成部２６５に供給して、ステップＳ２５３に進む。
【０３８６】
ステップＳ２５３では、首モデル適応部２６２が、詳細特徴点抽出部１３５から供給される詳細特徴点等に基づき、標準３次元モデル記憶部２５１に記憶された首モデルを、正規化顔画像記憶部１３３からの正規化顔画像に写っている首に適応させ、これにより、正規化顔画像に写っている首の３次元モデルとしての首モデルを生成し、合成部２６５に供給して、ステップＳ２５４に進む。
【０３８７】
ステップＳ２５４では、耳モデル適応部２６３が、詳細特徴点抽出部１３５からの詳細特徴点等に基づき、標準３次元モデル記憶部２５１からの耳モデルを、正規化顔画像記憶部１３３からの正規化顔画像に写っている耳（左右の耳）に適応させ、これにより、正規化顔画像に写っている耳の３次元モデルとしての耳モデルを生成し、合成部２６５に供給して、ステップＳ２５５に進む。
【０３８８】
ステップＳ２５５では、合成部２６５が、拡張部２６４から供給される顔モデルに対して、首モデル適応部２６２から供給される首モデルと、耳モデル適応部２６３から供給される耳モデルのうちの、顔モデルよりも手前側の部分を合成し、その合成後の顔モデルを、合成部２５４に供給して、リターンする。
【０３８９】
次に、図４８のフローチャートを参照して、図２の顔モデル生成部１３６が、図３のステップＳ１０６で行う、頭髪モデルを生成して顔モデルに合成する処理について説明する。
【０３９０】
顔モデル生成部１３６の頭髪処理部２５３（図２５）におけるマッピング部２７１は、ステップＳ２７１において、詳細特徴点抽出部１３５からの詳細特徴点等に基づき、正規化顔画像記憶部１３３（図２）に記憶された正規化顔画像上に、頭髪輪郭線を設定し（描き）、その頭髪輪郭線で囲まれる頭髪存在領域を認識して、ステップＳ２７２に進む。
【０３９１】
ステップＳ２７２では、マッピング部２７１が、正規化顔画像の頭髪存在領域に、標準３次元モデル記憶部２５１に記憶された標準頭髪モデルをマッピングし、そのマッピングの結果得られる頭髪モデルを、Ｚ値変更部２７３に供給して、ステップＳ２７３に進む。
【０３９２】
ステップＳ２７３では、非頭髪部分検出部２７２が、正規化顔画像記憶部１３３に記憶された正規化顔画像から、頭髪でない部分である非頭髪部分を検出し、その非頭髪部分の情報を、Ｚ値変更部２７３に供給して、ステップＳ２７４に進む。
【０３９３】
ステップＳ２７４では、Ｚ値変更部２７３が、非頭髪部分検出部２７２から供給される情報から、正規化顔画像の非頭髪部分を認識する。さらに、Ｚ値変更部２７３は、マッピング部２７１から供給される頭髪モデルのうちの、非頭髪部分にマッピングされた部分を検出し、その非頭髪部分にマッピングされた部分のＺ値を変更する。そして、Ｚ値変更部２７３は、Ｚ値の変更後の頭髪モデルを、フィルタ部２７４に供給して、ステップＳ２７４からＳ２７５に進む。
【０３９４】
ステップＳ２７５では、フィルタ部２７４は、Ｚ値変更部２７３からの頭髪モデルのＺ値に対して、ローパスフィルタによるフィルタリングを行う。このフィルタリングによって、頭髪モデルの、Ｚ方向について急峻に変化している部分は、滑らかに変化するように変更され、頭髪モデルは、自然な頭髪を表すものとなる。フィルタ部２７４は、Ｚ値のフィルタリングを行った頭髪モデルを、合成部２５４に供給して、ステップＳ２７６に進む。
【０３９５】
ステップＳ２７６では、顔モデル生成部１３６における合成部２５４（図２５）が、顔処理部２６５の合成部２６５から供給される顔モデルに、頭髪処理部２５３のフィルタ部２７４から供給される頭髪モデルのうちの、顔モデルよりも手前側の部分を合成して、リターンする。
【０３９６】
その後、顔モデル生成部１３６（の合成部２５４）は、図３のステップＳ１０７で説明したように、頭髪モデルが合成された顔モデルに対して、詳細特徴点抽出部１３５から供給される詳細特徴点に基づき、目モデルと歯モデルとを埋め込み、その結果得られる顔モデルを、最終的な顔モデルとして、顔モデル記憶部１３７（図２）に供給して記憶させる。
【０３９７】
なお、目モデルが埋め込まれた後の顔モデルが不自然なものにならないように、顔モデルに埋め込まれる目モデルの白目部分の画素値は、正規化顔画像に写っている顔の目の白目部分の画素値に基づき、その画素値と同様の値に補正される。
【０３９８】
以上のようにして、顔モデルが顔モデル記憶部１３７に記憶された後は、図３のステップＳ１０８で説明したように、アニメーション処理部１３８（図２）が、顔モデル記憶部１３７に記憶された顔モデルに基づき、操作部１３９の操作に応じて顔（の部位）が動くCGアニメーション（のデータ）を生成し、表示部１４０に供給する。これにより、表示部１４０においては、記憶部１３１に記憶された顔画像に写っている顔のCGが操作部１３９の操作に応じて動くCGアニメーションが表示される。
【０３９９】
図４９乃至図５２は、以上のようにして、表示部１４０に表示されたCGアニメーションを示している。
【０４００】
即ち、図４９は、元の顔画像（顔モデル、ひいてはCGアニメーションを生成するのに用いた顔画像）に写っている顔と同様の状態のCGアニメーションを示している。
【０４０１】
また、図５０は、目（まぶた）を閉じた状態のCGアニメーションを示しており、図５１は、口を開いた状態のCGアニメーションを示している。図５２は、顔（首）を、向かって左に回転して、瞳も、向かって左に移動した状態のCGアニメーションを示している。
【０４０２】
図４９乃至図５２から、リアルなCGアニメーションが実現されていることが分かる。
【０４０３】
なお、目の開閉（まばたき）は、目の詳細特徴点に基づいて行われ、口の開閉は、口の詳細特徴点に基づいて行われる。また、顔の回転は、顎の詳細特徴点に基づき、顔と首とを分離して行われる。
【０４０４】
以上のように、図２の画像処理装置によれば、非常に写実的なCGアニメーションを容易に（簡単）に生成（作成）することができる。
【０４０５】
また、１枚の顔画像からCGアニメーションを生成することができるので、例えば、俳優や歴史上の人物などの、実際に撮影することが困難な人物であっても、写真等から、その人物のCGアニメーションを生成し、動画（映像）を制作することができる。
【０４０６】
なお、顔のCGアニメーションは、例えば、マウスが操作され、CGアニメーションが表示されている画面の任意の位置がクリックされた場合に、そのクリックされた位置の方向に、視線と首を向けさせるようにすることができる。
【０４０７】
また、顔のCGアニメーションは、例えば、複数のボタンのうちのいずれかのボタンが操作された場合に、その操作されたボタンに応じて、表情（目や口の開き具合や、視線の方向など）を変え、あるいは首（顔）等を動かすようにすることができる。
【０４０８】
さらに、顔のCGアニメーションは、ユーザの身振り等をセンサによって検出し、その身振りに応じて動くようにすることができる。
【０４０９】
また、顔のCGアニメーションは、ユーザの顔をカメラで撮像して特徴点の動きを抽出（検出）し、その動きと同様に動くようにすることができる。
【０４１０】
さらに、顔のCGアニメーションには、CGによる各種の装飾、加工を施すことができる。例えば、顔のCGアニメーションには、任意の背景を合成することができる。さらに、例えば、CGアニメーションには、帽子や、冠、ティアラなどのかぶりものを付加することができる。また、例えば、CGアニメーションには、ネックレスや、イヤリング、ピアスなどの装飾品を付加することができる。さらに、例えば、CGアニメーションには、メガネやカラーコンタクトなどのいわゆるアイウェアを付加することができる。また、例えば、顔のCGアニメーションには、フェイスペイントを施し、あるいは、汗や、血管、青ざめた状態を表すシンボルなどの、いわば漫画的演出を施すことができる。さらに、例えば、様々な髪型の頭髪モデルを用意しておき、そのうちの任意の頭髪モデルを用いて、アニメーションCGを生成するようにすることができる。また、例えば、顔のCGアニメーションには、蝶や蜂などの虫のCGアニメーションを表示し、その虫の動きに追従する動きをさせ、さらには、その虫を食べる動きをさせることができる。
【０４１１】
なお、上述の実施の形態では、図１に示した汎用のコンピュータにおいて、顔モデルを生成するモデリング処理を行い、さらには、その顔モデルから、リアルなCGアニメーションを生成（作成）するアニメーション処理を行うようにしたが、モデリング処理やアニメーション処理は、コンピュータ以外の任意の装置において行うことが可能である。
【０４１２】
特に、画像を撮像する撮像装置と、画像を表示する表示装置を有する、例えば、携帯電話機や、ディジタルカメラ、テレビ電話機などでは、顔画像の撮像、その顔画像を用いてのモデリング処理、およびそのモデリング処理によって得られる顔モデルを用いてのアニメーション処理をすべて行い、さらに、そのアニメーション処理によって得られるCGアニメーションを表示することができる。
【０４１３】
また、モデリング処理およびアニメーション処理を、通信機能を有する装置、即ち、例えば、テレビ電話機などに実装した場合には、電話相手の実際の画像の変わりに、アニメーション処理によって得られるCGアニメーションを表示して、通話（コミュニケーション）を行う、いわゆるキャラ電（キャラクタ電話）を実現することができる。
【０４１４】
この場合、膨大な情報量を非常に低コストで伝達することができる。即ち、テレビ電話機において、実際のユーザの画像を表示する場合には、ある程度短い周期で、ユーザの画像を、電話相手の装置に送信する必要がある。これに対して、CGアニメーションをであれば、そのCGアニメーションのデータを送信し、その後は、そのCGアニメーションを動かすデータだけを送ればよい。さらに、CGアニメーションによれば、ユーザは、現在のユーザの画像を実際に送信しなくても、電話相手に、自身の存在を認識させることができる。また、ユーザは、現在のユーザの画像を実際に送信せずに済むので、現在の状況を、電話相手に知られたくないときに、プライバシが保たれる。さらに、CGアニメーションは、リアルなCGであるため、ユーザの表情も反映される。人は、他人の表情を瞬時に読み取ることができるから、ユーザが、ある意味の表情をしたCGアニメーションを、電話相手に送信することで、ユーザ意図する情報を効果的、効率的に、電話相手に伝達することができる。また、表情を付加することにより、より記憶に残るコミュニケーションが可能になる。
【０４１５】
なお、上述のようなリアルな顔のCGアニメーションは、例えば、携帯電話機おける、いわゆる着アニメや、待受けアニメなどとして使用することができる。また、携帯電話機では、着信時に、CGアニメーションを表示させ、着信音としての歌などにあわせて、歌を歌っているように動かすことができる。さらに、携帯電話機では、持ち主の顔の顔モデル（のデータ）を、電話相手の携帯電話機に送信し、その携帯電話機において、顔モデルに基づいてCGアニメーションを生成して表示することができる。
【０４１６】
また、顔のCGアニメーションは、例えば、ゲームにも利用することができる。即ち、RPG(Role Playing game)において、主人公のCGに、ユーザの顔のCGアニメーションを利用することができる。さらに、いわゆるアクションゲームや、レースゲーム、格闘ゲームなどにおいては、ユーザが操作するキャラクタのCGに、そのユーザの顔のCGアニメーションを利用することができる。
【０４１７】
この場合、ユーザは、ゲームのキャラクタに対する思い入れが非常に強くなり、ゲームの楽しみが増える。
【０４１８】
また、モデリング処理のうちの、詳細特徴点を抽出（検出）する処理は、例えば、ゲームの進行やキャラクタの動き等を、詳細特徴点に基づいて制御するのに利用することができる。即ち、例えば、ユーザの顔をカメラで撮像して得られる顔の画像から、詳細特徴点を抽出し、その特徴点に基づいて、ゲームの進行や、顔のCGアニメーションの動きを制御することができる。
【０４１９】
ユーザの顔をカメラで撮像して得られる顔の画像から抽出した詳細特徴点に基づいて、ゲームの進行等を制御する場合には、ユーザが顔を動かすことにより、顔の筋肉が活性化され、表情が豊かになり、あるいは、いわゆる若返りを促進することが可能となる。
【０４２０】
また、モデリング処理、およびアニメーション処理（ボタンの操作その他の入力に対してインタラクティブにCGアニメーションを動かすインタラクション処理を含む）は、ゲームその他のアプリケーション（ソフトウェア）の開発用ミドルウェアとして提供することができる。即ち、例えば、モデリング処理、およびアニメーション処理を行うプログラムは、アプリケーション開発に利用可能なAPI(Application Programming Interface)として提供することができる。この場合、例えば、カメラ等で撮像された顔画像からの顔モデルの生成、その顔モデルからのCGアニメーションの生成、そのCGアニメーションに対する表情付け、そのCGアニメーションの動きの制御等は、APIを利用することにより、容易に行うことができる。
【０４２１】
さらに、顔のCGアニメーションは、例えば、テレビジョン放送のニュース番組において、いわばバーチャルなニュースキャスタとして利用することができる。また、例えば、テキスト音声合成を利用することで、実際のアナウンサがニュースを読み上げなくても、ニュース番組を編成することが可能となる。
【０４２２】
さらに、顔のCGアニメーションは、Webサイトや、機器、アプリケーションなどにおいて、様々なサービスを提供するエージェントとして利用することができる。即ち、顔のCGアニメーションは、例えば、会社のWebサイトで受付的な存在を果たすエージェントとして利用することができる。また、顔のCGアニメーションは、例えば、Webサイトのコンテンツを案内するエージェントや、オンラインショップのWebサイトで商品を紹介するエージェント、個人のWebページで、その個人の自己紹介を行うエージェントなどとして利用することができる。さらに、顔のCGアニメーションは、例えば、表示機能を有する機器において表示し、その機器の機能を紹介するエージェントとして利用することができる。また、顔のCGアニメーションは、例えば、コンピュータにインストールされ、実行されるアプリケーションにおいて、ヘルプ回答を行うエージェントとして利用することができる。
【０４２３】
この場合、例えば、ユーザが好きな人（例えば、祖父や祖母は孫、その他、好きな有名人など）のCGアニメーションをエージェントにでき、より親しみのあるインタフェースを構築して、クオリティオブライフを向上させることができる。
【０４２４】
さらに、顔のCGアニメーションは、仮想空間において、ユーザを表すキャラクタであるアバタとして利用することができる。また、仮想空間においてチャットの機能が提供されている場合には、アバタとしてのCGアニメーションを、チャットの相手方の装置に表示して会話をさせることができる。
【０４２５】
また、例えば、様々な髪型の頭髪モデルを用意しておき、そのうちの任意の頭髪モデルを用いて、アニメーションCGを生成して表示することにより、例えば、美容室などにおいて、実際に髪をカット等する前に、カット後の髪型を確認することができる。
【０４２６】
さらに、例えば、様々な眼鏡のCGを用意しておき、その眼鏡のCGを、顔のCGアニメーションに付加することにより、ユーザが、実際の眼鏡をかけなくても、かけたときの容姿を確認することができる。
【０４２７】
また、例えば、汎用のコンピュータに、ディジタルカメラで撮像した顔画像を取り込み、その顔画像からCGアニメーションを作成する場合には、例えば、そのようなCGアニメーションによるアルバムを作成することができる。また、例えば、汎用のコンピュータに、様々なストーリのテンプレート（ストーリテンプレート）を用意しておき、そのストーリテンプレートに、ユーザ自身や友人の顔画像を貼り付けて、CGアニメーションによる即席のショートフィルム（映画）を作成し、あるいは、家族の顔画像を貼り付けて、CGアニメーションによる家族ドラマを作成する、といったことが可能となる。
【０４２８】
さらに、例えば、CGアニメーションは、動物や、虫、無生物などが写った他の画像（映像）と合成して、映像を制作するのに利用することができる。
【０４２９】
なお、本実施の形態では、人の顔を対象として、３次元モデルの生成、さらには、CGアニメーションの生成を行ったが、３次元モデルの生成、およびCGアニメーションの生成は、人の顔の他、例えば、動物の顔、さらには、その他の物体を対象として行うことが可能である。
【０４３０】
また、本実施の形態では、１枚の顔画像から顔モデルを生成するようにしたが、顔モデルは、複数枚の顔画像から生成することも可能である。
【図面の簡単な説明】
【０４３１】
【図１】コンピュータのハードウェア構成例を示すブロック図である。
【図２】本発明を適用した画像処理装置の一実施の形態の構成例を示すブロック図である。
【図３】画像処理装置の動作を説明するフローチャートである。
【図４】前処理を説明するフローチャートである。
【図５】顔画像を示す図である。
【図６】顔スケールと服境界を推定する方法を説明するための図である。
【図７】２値化画像を示す図である。
【図８】正規化顔画像を示す図である。
【図９】正規化顔画像を示す図である。
【図１０】正規化顔画像を示す図である。
【図１１】詳細特徴点抽出部１３５の構成例を示すブロック図である。
【図１２】目テンプレートを示す図である。
【図１３】目特徴点検出部２０２の処理を説明するフローチャートである。
【図１４】目テンプレートを示す図である。
【図１５】目テンプレートを示す図である。
【図１６】目テンプレートの制御点の移動を説明するための図である。
【図１７】目テンプレートの制御点の移動を説明するための図である。
【図１８】口特徴点検出部２０３の処理を説明するフローチャートである。
【図１９】口テンプレートを示す図である。
【図２０】顎特徴点検出部２０４の処理を説明するフローチャートである。
【図２１】通常特徴点を示す図である。
【図２２】通常特徴点を示す図である。
【図２３】詳細特徴点を示す図である。
【図２４】詳細特徴点を示す図である。
【図２５】顔モデル生成部１３６の構成例を示すブロック図である。
【図２６】標準顔モデルを示す図である。
【図２７】正規化顔画像を示す図である。
【図２８】顔モデルを示す図である。
【図２９】首モデル適応部２６２の処理を説明するための図である。
【図３０】耳モデル適応部２６３の処理を説明するための図である。
【図３１】顔モデルを示す図である。
【図３２】Ｚ値変換関数を示す図である。
【図３３】顔モデルを示す図である。
【図３４】拡張部２６４の処理を説明するための図である。
【図３５】拡張部２６４の処理を説明するための図である。
【図３６】周辺部分をＺ方向に拡張していない顔モデルから生成されたCGアニメーションを示す図である。
【図３７】周辺部分をＺ方向に拡張した顔モデルから生成されたCGアニメーションを示す図である。
【図３８】合成部２６５を説明するための図である。
【図３９】首モデルと耳モデルとを合成していない顔モデルから生成したCGを示す図である。
【図４０】首モデルと耳モデルとを合成した顔モデルから生成したCGを示す図である。
【図４１】標準頭髪モデルを正規化顔画像にマッピングして得られる頭髪モデルを示す図である。
【図４２】Ｚ値を変更した頭髪モデルを示す図である。
【図４３】頭髪モデルを合成しない顔モデルから生成したCGを示す図である。
【図４４】頭髪モデルを合成した顔モデルから生成したCGを示す図である。
【図４５】頭髪モデルを合成しない顔モデルから生成したCGを示す図である。
【図４６】頭髪モデルを合成した顔モデルから生成したCGを示す図である。
【図４７】顔モデル生成部１３６が顔モデルを生成する処理を説明するフローチャートである。
【図４８】顔モデル生成部１３６が頭髪モデルを生成して顔モデルに合成する処理を説明するフローチャートである。
【図４９】CGを示す図である。
【図５０】CGを示す図である。
【図５１】CGを示す図である。
【図５２】CGを示す図である。
【符号の説明】
【０４３２】
１０１  バス，  １０２  CPU，  １０３  ROM，  １０４  RAM，  １０５  ハードディスク，  １０６  出力部，  １０７  入力部，  １０８  通信部，  １０９  ドライブ，  １１０  入出力インタフェース，  １１１  リムーバブル記録媒体，  １３１  記憶部，  １３２  前処理部，  １３３  正規化顔画像記憶部，  １３４  通常特徴点抽出部，  １３５  詳細特徴点抽出部，  １３６  顔モデル生成部，  １３７  顔モデル記憶部，１３８  アニメーション処理部，  １３９  操作部，  １４０  表示部，  ２０１  テンプレート記憶部，  ２０２  目特徴点検出部，  ２０３  口特徴点検出部，  ２０４  顎特徴点検出部，  ２５１  標準３次元モデル記憶部，  ２５２  顔処理部，  ２５３  頭髪処理部，  ２５４  合成部，  ２６１  顔モデル適応部，  ２６２  首モデル適応部，  ２６３  耳モデル適応部，  ２６４  拡張部，  ２６５  合成部，  ２７１  マッピング部，  ２７２  非頭髪部分検出部，  ２７３  Ｚ値変更部，  ２７４  フィルタ部
【図１】
2006163871.tif 000003
【図２】
2006163871.tif 000004
【図３】
2006163871.tif 000005
【図４】
2006163871.tif 000006
【図５】
2006163871.tif 000007
【図６】
2006163871.tif 000008
【図７】
2006163871.tif 000009
【図８】
2006163871.tif 000010
【図９】
2006163871.tif 000011
【図１０】
2006163871.tif 000012
【図１１】
2006163871.tif 000013
【図１２】
2006163871.tif 000014
【図１３】
2006163871.tif 000015
【図１４】
2006163871.tif 000016
【図１５】
2006163871.tif 000017
【図１６】
2006163871.tif 000018
【図１７】
2006163871.tif 000019
【図１８】
2006163871.tif 000020
【図１９】
2006163871.tif 000021
【図２０】
2006163871.tif 000022
【図２１】
2006163871.tif 000023
【図２２】
2006163871.tif 000024
【図２３】
2006163871.tif 000025
【図２４】
2006163871.tif 000026
【図２５】
2006163871.tif 000027
【図２６】
2006163871.tif 000028
【図２７】
2006163871.tif 000029
【図２８】
2006163871.tif 000030
【図２９】
2006163871.tif 000031
【図３０】
2006163871.tif 000032
【図３１】
2006163871.tif 000033
【図３２】
2006163871.tif 000034
【図３３】
2006163871.tif 000035
【図３４】
2006163871.tif 000036
【図３５】
2006163871.tif 000037
【図３６】
2006163871.tif 000038
【図３７】
2006163871.tif 000039
【図３８】
2006163871.tif 000040
【図３９】
2006163871.tif 000041
【図４０】
2006163871.tif 000042
【図４１】
2006163871.tif 000043
【図４２】
2006163871.tif 000044
【図４３】
2006163871.tif 000045
【図４４】
2006163871.tif 000046
【図４５】
2006163871.tif 000047
【図４６】
2006163871.tif 000048
【図４７】
2006163871.tif 000049
【図４８】
2006163871.tif 000050
【図４９】
2006163871.tif 000051
【図５０】
2006163871.tif 000052
【図５１】
2006163871.tif 000053
【図５２】
2006163871.tif 000054