(57)【要約】【課題】  簡略かつ安価な方法でリアルタイムに顔画像アニメーションを生成するための装置及びアニメーション生成に使用するパラメータを生成するための装置を提供する。【解決手段】  顔画像駆動装置用データ生成装置は、２つのカメラによって同時に撮像された顔画像に基づいて、顔画像の特徴点の３次元的な位置を算出する３次元的位置算出装置と、基準となる位置にいる被写体が存在している際の、被写体の９種類の表情の顔画像から算出される所定の特徴量の変動を説明する主成分ベクトルを準備する準備処理部２００と、各フレームにおいて、３次元的位置算出装置を使用して計測された顔画像の特徴点の３次元的な位置から算出される特徴量を、準備処理部２００により準備された主成分ベクトルの線形和で近似する係数系列を算出するフレームごとの処理部２０２とを含む。【選択図】        図９
2007133449.tif 000002
【特許請求の範囲】
【請求項１】
第１及び第２のカメラにより撮像される、一対のフレームシーケンスからなるある被写体の顔画像の表情に基づき、あらかじめ合成された顔画像を前記顔画像の表情の変化に追従する様に駆動するために必要なパラメータを算出するための顔画像駆動装置用データ生成装置であって、
前記第１及び第２のカメラによって同時に撮像された一対のフレームの前記顔画像に基づいて、前記一対のフレームの撮像時における前記顔画像の特徴点の３次元的な位置を算出するための３次元的位置算出手段と、
基準となる位置に前記被写体が存在している際の、前記被写体の予め定められる複数種類の表情の顔画像から、前記顔画像の特徴点の３次元的な位置より算出される所定の特徴量の変動を説明する主成分ベクトルを準備するための準備手段と、
前記一対のフレームシーケンスの各フレームにおいて、前記３次元的位置算出手段を使用して計測された前記顔画像の特徴点の３次元的な位置から算出される前記特徴量を、前記準備手段により準備された主成分ベクトルの線形和で近似するための係数系列を算出し、前記パラメータとして出力するためのフレームごとの処理手段とを含む、顔画像駆動装置用データ生成装置。
【請求項２】
前記準備手段は、前記複数種類の表情の画像に含まれる口の変形量から前記主成分ベクトルを算出するための主成分ベクトル算出手段を含む、請求項１に記載の顔画像駆動装置用データ生成装置。
【請求項３】
前記フレームごとの処理手段は、前記パラメータとして、頭部の回転及び並進で表される頭部の相対的な運動を算出するための手段をさらに含む、請求項２に記載の顔画像駆動装置用データ生成装置。
【請求項４】
請求項１〜請求項３のいずれかに記載の顔画像駆動装置用データ生成装置によって生成されたパラメータを用いて、あらかじめ合成された顔画像を駆動するための顔画像駆動装置であって、
前記準備手段によって算出された前記主成分ベクトルを前記あらかじめ合成された顔画像の既知の主成分ベクトルに線型変換するための線型変換を算出するための線型変換算出手段と、
前記線型変換を使用して、前記フレームごとの処理手段で得られたユーザに固有の前記パラメータを前記あらかじめ合成された顔画像のパラメータに変換するための変換手段と、
前記変換手段によって得られたパラメータを用いて、前記合成された顔画像の表情を作成するための表情作成手段とを含む、顔画像駆動装置。
【請求項５】
コンピュータによって実行されると、当該コンピュータを請求項１〜４のいずれかに記載の装置として動作させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、顔画像のアニメーションを駆動するための顔画像駆動装置及び顔画像駆動装置用データ生成装置に関し、特に、実際の顔画像における表情等を表す特徴量により、元になる顔画像と同様の表情が得られる様に、合成された顔画像を駆動するための顔画像駆動装置、顔画像駆動装置用データ生成装置、及びそのためのコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、ＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）によって作られたキャラクタを使用したアニメーションの製作が盛んになっている。そのようなアニメーション製作に関する技術の需要は年々高まり、その技術の進歩も大いに期待されている。
【０００３】
ＣＧによって作られたキャラクタの表情を変化させる場合、通常は、顔、目、及び口等の動きをアニメータが手動で生成及び調整するという方法が採られている。手動でキャラクタの表情の生成及び調整を行なうためのエディタを製品化したものも存在する。
【０００４】
しかし、この様な方法によると、キャラクタの一つ一つの表情をアニメータが手動で生成・調整しなければならない。従って、アニメーションの生成に時間がかかる。また、この方法は、手動生成及び調整によってキャラクタの表情を動かすので、表情の変化が、実際の人間の顔の動きと比較して、不自然なものになってしまうおそれもある。また、アニメータにより、得られる結果が異なってしまうという問題もある。
【０００５】
これらの問題を解決する手段として、非特許文献１に開示の技術がある。これは、実際の人間の顔等の動きを使用して、発話の際の顔アニメーションをリアルタイムに生成する装置に関する。この装置によると、例えば、人間であるＡさんの発話時の顔の表情をキャラクタであるＢさんの顔の表情にリアルタイムで変換できる。
【０００６】
この装置で採用された手法は以下のとおりである。まず、準備作業として、あらかじめＢさんの基本９表情と呼ばれる顔表情の３次元的な動きを計測する。この９表情の組合せにより、通常の人間の表情を表現できるものとされている。人間の顔の基本９表情を計測するためには、３次元位置計測装置を用いて、赤外線マーカを装着した人間の顔の複数の点の３次元的な位置を計測する。次に、計測された３次元的な位置のデータを主成分分析する。この主成分分析により、Ｂさんに固有の主成分ベクトルが用意される。
【０００７】
実際の動作時には、最初にＡさんの基本９表情についてＢさんの場合と同様に測定し、Ａさんに固有の主成分ベクトルを用意する。
【０００８】
それぞれの人物Ａ及びＢに固有の主成分ベクトルを使用して、Ａさんの主成分を線型変換してＢさんの主成分が求められる様な線型変換を計算する事ができる。この線型変換を使用すると、計測されたＡさんの顔の表情からＢさんの顔の表情を合成する事が可能である。非特許文献１では、この様にして発話アニメーション（トーキングヘッド）を駆動している。
【非特許文献１】「主成分分析によるリアルタイムトーキングヘッドシステム」倉立尚明、木下敬介．画像電子学会誌Ｖｏｌ．３４  Ｎｏ．４  ２００５年７月
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、上述した装置を使用してトーキングヘッドを駆動するためには、ユーザの顔面に複数の赤外線マーカを装着する必要がある。この様にマーカを装着しなければならないと、手順が煩雑になり、ユーザにとって負担になる。さらに、この従来技術によると、顔の動きを測定するために、高価な３次元測定装置が必要である。
【００１０】
以上より、従来技術によると、トーキングヘッド駆動に必要なユーザの頭部の動きを計測するための手順が煩雑になり、コストが高くなってしまう。それゆえ、簡略かつ安価な方法で、ユーザの頭部の動きを計測する必要がある。
【００１１】
それ故に、本発明の目的は、簡略かつ安価な方法でリアルタイムに顔画像アニメーションを生成するための装置及びアニメーション生成に使用するパラメータを生成するための装置を提供する事である。
【課題を解決するための手段】
【００１２】
本発明の第１の局面に係る顔画像駆動装置用データ生成装置は、第１及び第２のカメラにより撮像される、一対のフレームシーケンスからなるある被写体の顔画像の表情に基づき、あらかじめ合成された顔画像を顔画像の表情の変化に追従する様に駆動するために必要なパラメータを算出するための装置であって、第１及び第２のカメラによって同時に撮像された一対のフレームの顔画像に基づいて、一対のフレームの撮像時における顔画像の特徴点の３次元的な位置を算出するための３次元的位置算出手段と、基準となる位置に被写体が存在している際の、被写体の予め定められる複数種類の表情の顔画像から、顔画像の特徴点の３次元的な位置より算出される所定の特徴量の変動を説明する主成分ベクトルを準備するための準備手段と、一対のフレームシーケンスの各フレームにおいて、３次元的位置算出手段を使用して計測された顔画像の特徴点の３次元的な位置から算出される特徴量を、準備手段により準備された主成分ベクトルの線形和で近似するための係数系列を算出し、パラメータとして出力するためのフレームごとの処理手段とを含む。
【００１３】
好ましくは、準備手段は、複数種類の表情の画像に含まれる口の変形量から主成分ベクトルを算出するための主成分ベクトル算出手段を含む。
【００１４】
さらに好ましくは、フレームごとの処理手段は、パラメータとして、頭部の回転及び並進で表される頭部の相対的な運動を算出するための手段をさらに含む。
【００１５】
さらに好ましくは、準備手段は、頭部の相対的な運動を算出する際に用いる、基準となる頭部位置を準備するための手段をさらに含む。
【００１６】
本発明の第２の局面に係る顔画像駆動装置は、顔画像駆動装置用データ生成装置によって生成されたパラメータを用いて、あらかじめ合成された顔画像を駆動するための装置であって、準備手段によって算出された主成分ベクトルをあらかじめ合成された顔画像の既知の主成分ベクトルに線型変換するための線型変換を算出するための線型変換算出手段と、線型変換を使用して、フレームごとの処理手段で得られたユーザに固有のパラメータをあらかじめ合成された顔画像のパラメータに変換するための変換手段と、変換手段によって得られたパラメータを用いて、合成された顔画像の表情を作成するための表情作成手段とを含む。
【００１７】
本発明の第３の局面に係るコンピュータプログラムは、コンピュータによって実行されると、当該コンピュータを上記したいずれかの装置として動作させるものである。
【発明を実施するための最良の形態】
【００１８】
本発明は、実際の人間の口の動きを使って、トーキングヘッドの発話アニメーションをリアルタイムで生成する装置及びその装置で使用されるパラメータを生成する装置に関するものである。本実施の形態の詳細を説明する前に、まず、この発話アニメーション生成の原理について説明する。なお、本実施の形態で使用する発話アニメーションの生成の原理自体は、非特許文献１に開示のものと同様である。
【００１９】
非特許文献１に開示の様に、発話時の口の形状は、人間の顔の表情を主成分分析した結果の上位３主成分でほぼ記述できる。そして、人間の顔の表情のうちで、この上位３主成分に影響を与えるのは、上述した基本９表情のみである。それゆえ、トーキングヘッドを駆動するためには、まず、トーキングヘッド固有の基本９表情の特徴量を主成分分析し、主成分ベクトルをあらかじめ計算し、さらに、所望の表情を得るための各主成分の大きさである主成分係数を求めればよい。
【００２０】
さらに、トーキングヘッドを駆動するためには、非特許文献１でも述べられている通り、ユーザの基本９表情から得られる３主要成分をトーキングヘッドの３主要成分に変換する必要がある。そこで、この変換時に必要な線型変換のための関数をあらかじめ得ておく必要がある。
【００２１】
以下ではまず、基本９表情について述べた後に、ユーザの顔からキャラクタの顔に変換する際に用いる線型変換Ｆの決定方法について説明する。
【００２２】
＜線型変換の決定方法＞
図１は基本９表情の具体例を示す図である。図１を参照して、表情２０は無表情、表情２２は／ｉ／を発話する際の表情、表情２４は／ｏ／を発話する際の表情、表情２６は／ｕ／を発話する際の表情、表情２８は口を大きく開ける際の表情、表情３０は歯を噛締めて口を開ける際の表情、表情３２は唇を突出す際の表情、表情３４は口を開けて笑う際の表情、及び表情３６は口を閉じて笑う際の表情をそれぞれ表す。この９つの基本表情のみを計測の対象とするのは、この他の表情は後の主成分分析で得られる上位主成分に大きな影響を与えないためである。
【００２３】
次に、これら基本９表情の特徴量を主成分分析し、主成分ベクトルを計算する。その方法は以下の通りである。
【００２４】
まず、基本９表情で表わされるユーザの口が占める領域（以下「口領域」と呼ぶ。）の特徴量ベクトルをｆ1，・・・，ｆ9とし、これらを主成分分析し、主成分ベクトルＡ1，・・・，Ａ9を得る。また、これら主成分ベクトルＡ1，・・・，Ａ9の張る空間での特徴量ベクトルｆ1，・・・，ｆ9の座標α1，・・・，α9を計算する。
【００２５】
トーキングヘッドの場合も同様である。ただしトーキングヘッドの場合には、そのトーキングヘッドの３次元データベースから基本９表情に対応する表情をまず取出す。そしてその表情を用いて、トーキングヘッドに固有の主成分Ｂ1，・・・，Ｂ9を求める。これら主成分ベクトルが張る空間での、基本９表情に対応する口領域の特徴量ベクトルの座標β1，・・・，β9をあらかじめ算出しておく。なお、ユーザの口領域の特徴量の抽出方法については、後述する。
【００２６】
次に、トーキングヘッドを駆動するためには、ユーザに固有の座標であるα1，・・・，α9からトーキングヘッドに固有の座標であるβ1，・・・，β9への変換が必要となる。ここで、線形変換Ｆを仮定すれば、
β1・・・β9＝Ｆ（α1・・・α9）・・・（１）
という関係が成立つ。この線型変換Ｆは、最小二乗法により決定できる。この線型変換Ｆは、任意の特徴量ベクトルαをトーキングヘッドの特徴量ベクトルβに変換するものである。したがって、ある時刻ｔにおけるユーザの特徴量ベクトルをα（ｔ）とすれば、線形変換Ｆにより、ユーザであるＡさんの連続的な顔の動きα(t)をキャラクタであるＢさんの連続的な顔の変形β(t)に変換できる（式（２）参照）。
β（ｔ）＝Ｆα（ｔ）・・・（２）
ただし、発話における顔の動きや顔の変形は、上位３主成分だけで９割以上記述できる。従って、実際には、式（２）においても、上位３主成分のみを使用する。
【００２７】
図２は、上位３主成分の具体例の一つを示す図である。図２を参照して、この例では、主成分４０は、第１主成分で、あごの上下運動に該当する動作を示す成分である。主成分４２は、第２主成分で、唇の丸め及び突き出し又は横方向への唇の広げに該当する動作を示す成分である。主成分４４は、第３主成分であるが、この主成分に対応する動作については第１主成分及び第２主成分ほどには明らかでない。この例と同様、ほとんどのユーザで第１主成分４０が顎の上下運動、第２主成分４２が唇の丸め及び突き出し又は横方向への唇の広げとなる。ただし、ユーザによっては、まれに、第１成分と第２成分とが入れ替わる場合もある。
【００２８】
これら上位２主成分（４０及び４２）で約８割の口の変形を表現する事ができる。第３主成分４４も含めると、９割を超える口の変形が表現できる。従って、発話時の顔形状変化は、各人の上位３主成分の主成分ベクトルとそれらの線形結合とでほぼ記述できる。
【００２９】
＜口の変形と頭部運動の抽出方法＞
次に、ユーザから得られる口の変形によって表わされる口の特徴量の抽出方法と頭部運動の抽出方法とについて説明する。
【００３０】
図３に、ステレオカメラの座標系ＯS５０、頭部動作の中心の座標系ＯC７８、及び頭部動作の座標系ＯH６２の例を示す。ここで、ステレオカメラの座標系ＯS５０は、ステレオカメラの左カメラの光学中心を原点とする座標系である。頭部動作の中心の座標系ＯC７８は、頭部の回転及び並進等で表わされる頭部運動量を記述するために、固定された頭部位置を参考にして、あらかじめ決定される座標系である。頭部動作の座標系ＯH６２は、口の変形を記述するために、目及び鼻の位置を基準にして決定される座標系である。
【００３１】
図３を参照して、頭部動作の中心の座標系ＯC７８は頭部の運動量を算出するために、測定の始めの校正処理により定められる。この頭部動作の中心の座標系ＯC７８を基準として頭部の位置及び姿勢を３次元座標で表す。この座標系は、お互いに直交するＸC軸８０、ＹC軸８２、及びＺC軸８４で構成されている。
【００３２】
ステレオカメラの座標系ＯS５０において、原点は左カメラ５８の光学中心に設定されている。この座標系を構成する３軸は、それぞれ、以下の様に定義される。まず、左カメラ５８の光学中心と右カメラ６０の光学中心とを通る直線によりＸS軸５２が定義される。ＸS軸５２に垂直に下方に向かう直線によりＹS軸５４が定義される。ＸS軸５２及びＹS軸５４と直交し前方に向かう直線によりＺS軸５６が定義される。このステレオカメラにおいては、左右のカメラ（５６及び５８）が精密に位置合わせされている。したがって、画像間の相関を用いて左カメラの画像中の点と、右カメラの画像中の点とを対応付ける事ができる。この様な対応付けができれば、三角測量の原理で、その点の３次元座標を計算する事ができる。
【００３３】
このステレオカメラにより、左目ＥL７２及び右目ＥR７０、ｎ個の鼻筋の点Ｎ1，・・・，Ｎnで表わされる鼻領域７４、及びｍ個の点Ｍ1，・・・，Ｍmで表される口領域７６の、ステレオカメラの座標系ＯS５０における３次元座標を得る事ができる。ステレオカメラの座標系ＯS５０における上記した各点の３次元座標は、それぞれ
【００３４】
【数１】
2007133449.tif 000003
と表す事ができる。
【００３５】
頭部動作の座標系ＯH６２は、ＸH軸６４、ＹH軸６６、及びＺH軸６８で構成されている。この頭部動作の座標系ＯH６２は、ＥR７０（右目）、ＥL（左目）７２、及び鼻領域７４を構成する各点の３次元座標から得る事ができる。頭部動作の座標系ＯH６２の決定方法については後述する。この頭部動作の座標系ＯH６２の決定に必要なＥR７０及びＥL７２、鼻領域７４、及び口領域７６の検出方法については、本発明の発明者等による特願2005-230162に開示の方法を採用する事ができる。以下、この方法について簡単に説明する。
【００３６】
図４に、顔の画像から鼻領域７４を検出する方法を示す。図４を参照して、公知のトラッキングアルゴリズムにより、各フレームの画像１００において、目の位置１０２及び１０４が検出される。目の位置１０２及び１０４を基準にして、両目を含む様な矩形で表わされる顔の対象領域１０６が画像１００から規定される。
【００３７】
画像１００から規定された対象領域画像１０６を切出し、矩形の一辺がフレームの横方向と一致する様に回転する事により、右側に示した対象領域画像１０６が得られる。対象領域画像１０６を用いて以下の様に鼻領域を検出する。
【００３８】
鼻領域の検出には、光の強度の性質を使用する。一般に、ある測定点での光の強度の測定値は、その点と光源との距離が近くなるにつれて大きくなる。そして、鼻は人間の顔の中で高くなっている。光源がカメラ後方に存在すると仮定すると、鼻領域は顔の他の部分に比べて光源との距離が近くなる。従って鼻領域では光の強度が強くなる。この光の強度の性質を用いて、鼻領域を検出する事ができる。
【００３９】
次に、口領域の検出方法について、以下で説明する。口領域を検出するためにはまず、上述した対象領域画像１０６から、鼻先端の位置を基準にして、それより下の、目を含まず口を確実に含むと思われる位置及び大きさの矩形を新たに特定する。この矩形を口周辺領域矩形と呼ぶ。その新たに特定された口周辺領域矩形から、鼻領域同様、光の強度の性質を利用して、唇の上端と下端とを検出する。人間の顔では、唇の上端と下端とが少し高くなっている。したがって、鼻の場合と同様の理由により、唇の上端と下端とでは光の強度が強くなる。この唇の上端と下端とを通る横方向の２本の直線によって、画像中の口領域を囲む矩形の上端と下端とが規定される。すなわち、口領域を囲む矩形の上辺と下辺が決定される。口領域を囲む矩形の左端及び右端は、両目の位置から対象領域画像の縦方向に下ろした二つの直線により決定する。以上より、唇の上端と下端とを通る２本の直線及び両目の位置から垂直に下ろした２本の直線によって囲まれる矩形の内部が口領域を囲む矩形として規定される。
【００４０】
この口領域を囲む矩形中の各画素を、その画素の色に基づいて唇画素と非唇画素とに分類する。この結果、唇画素に分類された画素の集合体が得られる。次に、ノイズの影響などを除去して、これらの画素の集合体の輪郭を求める。そこで、この輪郭が唇の輪郭にあたる。この輪郭内部が口領域となる。
【００４１】
頭部の運動を推定し、口領域の３次元的な変形を獲得するために、ユーザの頭部に固定された頭部動作の座標系ＯH６２（図３参照）を決定する必要がある。この決定には、頭部の中で相対位置が変化しない左右の目及び鼻筋を使用する。口領域は発話に伴い変形するので、頭部動作の座標系ＯH６２の決定には利用できない。
【００４２】
図５に、頭部に固定された頭部動作の座標系ＯH６２を構成する３軸の決定方法について示す。図５を参照して、ＸH軸６４は、ＥL７２とＥR７０（図３参照）とを結ぶ直線により定義する。ＹH軸６６は、鼻領域１２４を構成する鼻筋の点Ｎ1,・・・,Ｎnを上から下に通る直線により定義する。必然的にＺH６８は、ＸH６４及びＹH６６に直交する直線となる。実際には、鼻の形状や測定誤差の影響で、Ｎ1, ・・・,Ｎnは一直線上に乗る事は少ない。また、乗ったとしても、ＸH６４と直交するとは限らない。そこで、ＸH６４とＹH６６とが直交するという条件の下、ＥL１２２及びＥR１２０がＸH６４に近づく様に、かつ、Ｎ1,・・・，ＮnがＹH６６に乗る様に頭部動作の座標系ＯH６２の位置と向きとを決定する必要がある。
【００４３】
そこで、ステレオカメラの座標系ＯS５０で計測された３次元座標
【００４４】
【数２】
2007133449.tif 000004
を使って、ステレオカメラの座標系ＯS５０から頭部動作の座標系ＯH６２への変換
【００４５】
【数３】
2007133449.tif 000005
を計算する必要がある。ξは、座標系の回転と並進とを表し、ξ＝(θx，θy，θz，ｔx，ｔy，ｔz)Tである。なお、ここで、θx、θy、及びθzは、それぞれｘ軸、ｙ軸、及びｚ軸周りの回転角を表す。また、ｔx、ｔy、及びｔzは、それぞれ、ｘ軸、ｙ軸、及びｚ軸方向の移動量を表す。
【００４６】
【数４】
2007133449.tif 000006
は式（３）で表す事ができる。
【００４７】
【数５】
2007133449.tif 000007
ＸH６４及びＹH７４はステレオカメラの座標系ＯS６０の座標系におけるＸS５２及びＹS５４を
【００４８】
【数６】
2007133449.tif 000008
で変換したものになる。なお、ここで、Ｒx（θx）はｘ軸回りに角θxだけ回転したときの座標変換行列を、Ｒy（θy）はｙ軸回りに角θyだけ回転したときの座標変換行列を、Ｒz（θz）はｚ軸回りに角θzだけ回転したときの座標変換行列をそれぞれ表す。
【００４９】
式（４）は各点をＸH６４及びＹH６６に近づけるための評価関数である。
【００５０】
【数７】
2007133449.tif 000009
ｄ（・，・）は、点と直線の間のユークリッド距離を表す。よって、式(４)を最小にするξ*＝ａｒｇｍｉｎＤ(ξ)が最適なＯH６２を与えると推定する事ができる。なお、ここで、
【００５１】
【数８】
2007133449.tif 000010
はステレオカメラの座標系ＯS５０におけるＥL７２の３次元座標を、
【００５２】
【数９】
2007133449.tif 000011
はステレオカメラの座標系ＯS５０におけるＥR７０の３次元座標を、
【００５３】
【数１０】
2007133449.tif 000012
はステレオカメラの座標系ＯS５０における鼻領域７４を構成するｉ番目の点の３次元座標を、それぞれ表す。
【００５４】
これにより、ステレオカメラの座標系ＯS５０から、頭部動作の座標系ＯH６２への変換
【００５５】
【数１１】
2007133449.tif 000013
が得られる。また、点Ｐの頭部の頭部動作の座標系ＯH６２における座標は式（５）によって表わされる
【００５６】
【数１２】
2007133449.tif 000014
なお、ここで、ＰHは点Ｐの頭部動作の座標系ＯH６２における座標を、ＰSは点Ｐのステレオカメラの座標系ＯS５０における座標を、それぞれ表す。
【００５７】
なお、以下に説明する様に、本実施の形態では、鼻筋の点の数ｎと口領域の点の数ｍとは、撮影したフレームごとに変化してもよい。また、フレーム間で必ずしも同じ点を追跡する必要もない。
【００５８】
＜口領域の特徴量の計算＞
次に、口領域の特徴量を計算する。口領域７６を構成するｍ個の点Ｍ1，・・・，Ｍmの頭部動作の座標系ＯH６２における座標は式(５)によりステレオカメラの座標系ＯS５０における座標に変換できる。しかし、点の個数ｍは、撮影するフレームごとに変化する。そこで、これらの座標自体を口領域の特徴量として利用する事はできない。本発明では、口領域を構成する点の座標のモーメントを特徴量として使用する。顔の特定の点の３次元座標を直接用いる方法と比較して、モーメントは、点の数が増減しても大きな影響を受けない。また、同じ点を追跡する必要がない。そこで、動き方によって形状及び大きさが変化する口領域の特徴量を計算するのに適している。具体的には、１次モーメントである平均値
【００５９】
【数１３】
2007133449.tif 000015
（後述する式（６）により得られる）と２次モーメントである共分散行列Ｃの上三角部分の６要素を用いた特徴量とを使用する。
【００６０】
【数１４】
2007133449.tif 000016
なお、ここで、
【００６１】
【数１５】
2007133449.tif 000017
は、頭部の座標系ＯH６２における口領域７６を構成するｊ番目の点の３次元座標を表す。
【００６２】
【数１６】
2007133449.tif 000018
Ｃは対称行列であり、行列の要素のうち、上三角部分の６要素であるＣk（＝Ｃ1〜Ｃ6）を特徴量とする。各要素Ｃkをそのまま特徴量として使用してもよいし、
【００６３】
【数１７】
2007133449.tif 000019
を特徴量として使用してもよい。
【００６４】
【数１８】
2007133449.tif 000020
の３要素と、Ｃから導出される６要素とを合計して、口領域の特徴量ベクトルｆの要素の総数は９個となる。なお、さらに高次のモーメントを加えたり、他の特徴量を追加したりして、より高次元の特徴量ベクトルを使用する事も可能である。
【００６５】
＜トーキングヘッドの駆動＞
上記の方法により求められたフレームごとの頭部の運動と口領域の特徴量とを使用して、トーキングヘッドを駆動する。頭部の運動は、あらかじめ決定した頭部動作の中心の座標系ＯC７８を基準にして、各フレームの頭部の座標系ＯH６２の運動から算出する。ステレオカメラの座標系ＯS５０から頭部動作の中心の座標系ＯC７８への変換を
【００６６】
【数１９】
2007133449.tif 000021
とし、各フレームのステレオカメラの座標系ＯS５０から頭部動作の座標系ＯH６２への変換を
【００６７】
【数２０】
2007133449.tif 000022
とするなら、頭部の運動は、頭部動作の中心の座標系ＯC７８の座標系で、
【００６８】
【数２１】
2007133449.tif 000023
と表わされる。また、トーキングヘッドの口領域の主成分係数は、以下の様にして計算される。まず、各フレームごとに特徴量を計算する。そして、特徴量とユーザより得られた主成分ベクトルとの内積をとる事により、ユーザの主成分ベクトルの張る空間内における当該フレームでの表情の位置ベクトルα（ｔ）が得られる。このベクトルα（ｔ）を上述したＦで線型変換すると、トーキングヘッドの主成分ベクトルの張る空間におけるα（ｔ）に対応する点のベクトルβ（ｔ）が得られる。こうして得られたベクトルβ（ｔ）の上位３要素がトーキングヘッドの口領域の主成分係数である。
【００６９】
頭部運動Ｔに対応するξと、こうして得られた３要素の合計９パラメータとでトーキングヘッドを駆動する事ができる。
【００７０】
図６に、ユーザの主成分係数をトーキングヘッドの主成分係数へと線型変換した一例を示す。図６を参照して、ユーザの主成分ベクトルＡ1〜Ａ9の張る空間におけるユーザの連続的な顔の動きα（ｔ）をＦで線型変換する。その結果、トーキングヘッドの主成分ベクトルＢ1〜Ｂ9の張る空間におけるトーキングヘッドの連続的な顔の動きβ（ｔ）が得られる。図６では、模式的に、Ａ1〜Ａ3及びＢ1〜Ｂ3の３次元空間で示している。このβ（ｔ）の上位３要素を用いて、トーキングヘッドの顔画像を合成する。
【００７１】
＜第１の実施の形態＞
［構成］
本発明の一実施の形態にかかる顔画像駆動装置及び顔画像駆動装置用データ生成装置は、コンピュータと、当該コンピュータ上で実行されるコンピュータプログラムとにより実現できる。図７に、顔画像駆動装置及び顔画像駆動装置用データ生成装置を実現するコンピュータシステムの外観の一例を示す。
【００７２】
図７を参照して、コンピュータシステム１５０は、ＦＤ（フレキシブルディスク）ドライブ１８２及びＣＤ−ＲＯＭ（コンパクトディスク読出専用メモリ）ドライブ１８０を有するコンピュータ１７０と、キーボード１７４と、マウス１７６と、モニタ１７２とを含む。ステレオカメラ１６０はコンピュータ１７０に接続される。
【００７３】
図８に、図７で示されたコンピュータのブロック図を示す。図８を参照して、コンピュータ１５０は、ＦＤドライブ１８２及びＣＤ−ＲＯＭドライブ１８０に加えて、ＣＰＵ（中央処理装置）１８６と、ＣＰＵ１８６、ＦＤドライブ１８２及びＣＤ−ＲＯＭドライブ１８０に接続されたバス１９６と、ブートアッププログラム等を記憶する読出専用メモリ（ＲＯＭ）１８８と、ＣＰＵ１８６に接続され、プログラム命令、システムプログラム、及びデータを記憶するランダムアクセスメモリ（ＲＡＭ）１９０とを含む。
【００７４】
ここでは示さないが、コンピュータ１７０はさらにローカルエリアネットワーク（ＬＡＮ）への接続を提供するネットワークアダプタボードを含んでもよい。
【００７５】
コンピュータシステム１５０に顔画像駆動装置及び顔画像駆動装置用データ生成装置として動作させるためのプログラムは、ＣＤ−ＲＯＭドライブ１８０又はＦＤドライブ１８２に挿入されるＣＤ−ＲＯＭ１９２又はＦＤ１９４に記憶されさらにハードディスク１８４に転送される。これに代えて、プログラムは図示しないネットワークを通じてコンピュータ１７０に送信されハードディスク１８４に記憶されてもよい。プログラムは実行の際にＲＡＭ１９０にロードされる。プログラムはＣＤ−ＲＯＭ１９２、ＦＤ１９４、又はネットワークを介してＲＡＭ１９０に直接ロードされてもよい。
【００７６】
以下に説明するプログラムは、コンピュータ１７０にこの実施の形態に係る顔画像駆動装置及び顔画像駆動装置用データ生成装置としての動作を行なわせるいくつかの命令を含む。この動作を行なわせるのに必要な基本的機能のいくつかはコンピュータ１７０のオペレーティングシステム（ＯＳ）又はサードパーティのプログラム、もしくはコンピュータ１７０にインストールされるツールボックス等のモジュールにより提供されるので、このプログラムはこの実施の形態に係る装置を実現するのに必要な機能全てを必ずしも含まなくてよい。プログラムが含む必要があるのは、命令のうち、所望の結果が得られる様に制御された態様で適切な機能又は「ツール」を呼出す事によって上記したプロセスを行なう部分のみである。コンピュータシステム１５０の動作は周知であるので、ここでは繰返さない。
【００７７】
［コンピュータプログラムのフローチャート］
図９に、ユーザの表情に応じてトーキングヘッドを駆動するための処理プロセスのフローチャートを示す。図９を参照して、ステップ２００では、校正処理が行なわれる。校正処理では、まず、基準となる頭部動作の中心の座標系ＯＣ７８（図３参照）及び頭部動作の座標系ＯH６２が決定される。さらに、ユーザに基本９表情をしてもらい、顔表情の３次元的な動きを計測する。これらの座標系を用いて、計測されたユーザの頭部運動量とユーザの顔表情の３次元的な動きとから、そのユーザに固有の主成分ベクトルがあらかじめ計算される。ステップ２０２で、ステレオカメラ１６０で撮影された画像の各フレームに対し、頭部運動量と口領域の特徴量との計算が行なわれ、頭部運動量の主成分係数が出力される。ステップ２０４では、算出されたユーザの頭部運動量の主成分係数を用いてトーキングヘッドの主成分係数を算出して作成された画像が画面に表示される。以降は必要に応じて、ステップ２０２からステップ２０４の動作が各フレームに対して行なわれる。
【００７８】
図１０に、校正処理の処理プロセス（ステップ２００）のフローチャートを示す。図１０を参照して、ステップ２１０では、ステレオカメラを用いて、基準の姿勢をとっているユーザの頭部運動を計測する処理が行なわれる。ステップ２１２で、計測された頭部運動を基準にして、ユーザの頭部動作の中心の座標系ＯC７８が決定される。
【００７９】
ステップ２１４ではまず、両目の位置及び鼻の位置を基準にして、頭部動作の座標系ＯH６２が決定される。さらに、両目の位置及び鼻の位置を基準にして、口領域が抽出される。次に、ユーザに基本９表情と同様の表情をさせ、基本９表情から得られる口領域を構成する複数の点の動きから、口領域の３次元的な動きである特徴量が計測される。ステップ２１６では、計測された口領域の特徴量が主成分分析され、ユーザに固有の主成分ベクトルが計算される。
【００８０】
図１１に、フレームごとの処理プロセス（ステップ２０２）のフローチャートを示す。図１１を参照して、ステップ２２０ではまず、ステレオカメラ１６０の左カメラ画像からユーザの両目の位置が計測される。次に、計測された両目の位置を基準にして、鼻筋と口領域とを含む矩形領域が抽出される。抽出された矩形領域中から光の強度の性質を用い、まず、鼻筋と鼻の先端との位置が検出される。次に検出された鼻の先端を基準に、両目は含まないが、口領域は含まれていると考えられる大まかな口周辺領域が決定される。この口周辺領域中から、鼻の場合と同様に光の強度の変化を用い、唇の上端と下端とが検出される。検出された唇の上端、下端、及び両目の位置から、より厳密な口を含む領域が新たに抽出される。この口を含む領域内の画素がその色に基づいて、唇画素とそれ以外に分類される。こうして得られた唇画素の集合の周囲に滑らかな輪郭線を当てはめる事により、最終的な口の部分が検出される。これを口領域と呼ぶ。
【００８１】
ステップ２２２では、ステレオカメラ１６０の右カメラの画像から、ステップ２２０での処理と同様に、両目、鼻筋、及び口領域が抽出される。そして、右カメラの画像から抽出された顔パーツと左カメラから抽出された顔パーツとがそれぞれ対応付けられる。ステップ２２４では、三角測量の原理により、対応付けられた両目及び鼻筋を構成する各点と口領域の位置との３次元座標が算出される。ステップ２２６では、左目１２２と右目１２０とを結ぶ直線を算出してＸH軸６４（図５参照）とし、鼻筋の点を上から下に通る直線を算出してＹH軸６６とする処理を行なう。ＸH軸６４及びＹH軸６６と直交するＺH軸６８を算出する処理も行なわれる。ステップ２２６ではさらに、算出されたＸH軸６４、ＹH軸６６、及びＺH軸６８からなる頭部動作の座標系ＯH６２を最適な位置及び向きで固定するための調整処理も行なわれる。
【００８２】
ステップ２２８では、まず、ステップ２２６で算出・決定された頭部動作の座標系ＯH６２での両目と鼻筋との座標計測が行なわれる。次に、計測された座標から両目及び鼻筋の回転量及び移動量が計算される。これら両目及び鼻筋は、顔面のある場所からある場所へと移動する事はない。そこで、両目及び鼻筋の位置が変化するという事は、顔面の位置が変化するという事を表す。そして、顔面の位置が変化するという事は、頭部の位置が変化するという事を表す。従って、計算された両目及び鼻筋の運動量を頭部運動量とみなす事ができる。
【００８３】
ステップ２３０では、ステップ２２４で算出された口領域を構成する複数の点の座標が算出される。ステップ２３２では、ステップ２３０で算出された口領域を構成する複数の座標から、これらの座標のモーメントとして表わされる口領域の特徴量が計算される。ステップ２３４では、計算された口領域の特徴量が、校正処理によって得られた上位３主成分をどの様な割合で合成して表わせるかという事が計算される。
【００８４】
ステップ２３６では、ステップ２２８で得られた頭部運動量とステップ２３４で得られた口領域の特徴量の主成分係数とから、トーキングヘッドを動作させるためのパラメータが抽出される。
【００８５】
図１２に、アニメーション作成処理プロセス（ステップ２０４）のフローチャートを示す。図１２を参照して、ステップ２４０では、まず、最小二乗法によって、校正処理によって得られたユーザの主成分空間の座標を、あらかじめ定義されているトーキングヘッドの主成分空間の座標に変換するための、線型変換が求められる。そしてこの線型変換を用いて、ユーザ固有の口領域の特徴量の主成分係数及び頭部運動量から得られたパラメータを用いて、トーキングヘッドの口領域の特徴量の主成分係数及び頭部運動量を表すパラメータが算出される。
【００８６】
ステップ２４２では、このトーキングヘッドの主成分係数から、連続的な頭部の動作をするトーキングヘッドの画像が作成される。ステップ２４４では、作成されたトーキングヘッドの画像が画面に表示される。
【００８７】
なお、本実施の形態では示さなかったが、トーキングヘッドのアニメーション生成部は、遠隔地にある計算機でもよい。そして、この場合には、アニメーション生成部と校正処理及びフレームごとの処理を行なう計算機とは、ネットワークを介して接続されていればよい。また、こうして生成されたトーキングヘッド駆動用のパラメータを記憶しておき、後刻、アニメーションを再生する事もできる。
【００８８】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内でのすべての変更を含む。
【図面の簡単な説明】
【００８９】
【図１】基本９表情の具体例を示す図である。
【図２】上位３主成分の具体例の一つを示す図である。
【図３】ステレオカメラの座標系ＯS５０、頭部動作の中心の座標系ＯC７８、及び頭部動作の座標系ＯH６２の例を示す図である。
【図４】顔の画像から鼻領域７４を検出する方法を示す図である。
【図５】頭部に固定された座標系ＯH６６を構成する３軸の決定方法を示す図である。
【図６】ユーザの主成分係数をトーキングヘッドの主成分係数へと線型変換した一例を示す図である。
【図７】顔画像駆動装置及び顔画像駆動装置用データ生成装置を実現するコンピュータシステムの外観の一例を示す図である。
【図８】図７で示されたコンピュータのブロック図を示す図である。
【図９】トーキングヘッドを駆動させるための処理プロセスを示すフローチャートである。
【図１０】校正処理の処理プロセスを示すフローチャートである。
【図１１】フレームごとの処理プロセスを示すフローチャートである。
【図１２】アニメーション作成処理プロセスを示すフローチャートである。
【符号の説明】
【００９０】
２０〜３６  基本９表情
４０〜４４  上位３主成分
５０  ステレオカメラの座標系
６２  頭部動作の座標系
７６  口領域
７８  頭部動作の中心の座標系
１６０  ステレオカメラ
【図１】
2007133449.tif 000024
【図２】
2007133449.tif 000025
【図３】
2007133449.tif 000026
【図４】
2007133449.tif 000027
【図５】
2007133449.tif 000028
【図６】
2007133449.tif 000029
【図７】
2007133449.tif 000030
【図８】
2007133449.tif 000031
【図９】
2007133449.tif 000032
【図１０】
2007133449.tif 000033
【図１１】
2007133449.tif 000034
【図１２】
2007133449.tif 000035