(57)【要約】【課題】  個人の顔骨格モデルに基づき他人の顔の任意の表情を有する顔モデルを生成するための変動モデルを生成する。【解決手段】  汎用の顔骨格モデル100を個人の顔骨格モデル101に変換するための骨格モデル102、103を生成する。個人の顔骨格モデル101と骨格モデル103を用いて表情の個人差を吸収した変動モデル104を算出する。変動モデル104を所定の表情カテゴリごとに分類し、分類した変動モデル104をデータベース105に登録する。【選択図】  図1
2014211719.tif 000002
【特許請求の範囲】
【請求項１】
汎用の顔骨格モデルを個人の顔骨格モデルに変換するための骨格モデルを生成する骨格モデル生成手段と、
前記個人の顔骨格モデルと前記骨格モデルとを用いて表情の個人差を吸収した変動モデルを算出する算出手段と、
前記変動モデルを所定の表情カテゴリごとに分類し、前記分類した変動モデルをデータベースに登録する登録手段とを有する情報処理装置。
【請求項２】
前記骨格モデル生成手段は、個人の基準表情の顔骨格モデルから骨格モデルを生成し、前記個人の表情付き顔骨格モデルから前記骨格モデルの各頂点の変動分を表す表情付き骨格モデルを生成する請求項1に記載された情報処理装置。
【請求項３】
前記算出手段は、前記個人の基準表情の顔骨格モデルを用いて、前記表情付き骨格モデルから個人差を吸収した前記変動モデルを算出する請求項2に記載された情報処理装置。
【請求項４】
さらに、前記骨格モデル生成手段によって個人の前記基準表情の顔骨格モデルから生成された骨格モデルにユーザが選択した表情カテゴリに対応する前記変動モデルを適用して、前記個人の表情付き顔モデルを生成する顔モデル生成手段を有する請求項1から請求項3の何れか一項に記載された情報処理装置。
【請求項５】
個人の無表情の骨格モデルおよび表情付きの骨格モデルを生成する骨格モデル生成手段と、
前記無表情の骨格モデルおよび前記表情付きの骨格モデルから変動モデルを算出する算出手段と、
前記変動モデルを所定の表情カテゴリごとに分類し、前記分類した変動モデルをデータベースに登録する登録手段とを有する情報処理装置。
【請求項６】
前記骨格モデル生成手段は、個人の基準表情の顔骨格モデルから前記無表情の骨格モデルを生成し、前記個人の表情付き顔骨格モデルから前記表情付きの骨格モデルを生成する請求項5に記載された情報処理装置。
【請求項７】
前記算出手段は、前記無表情の骨格モデルから前記表情付きの骨格モデルへ形状変化する際の各頂点の移動を相対座標系で記述した前記変動モデルを算出する請求項5または請求項6に記載された情報処理装置。
【請求項８】
さらに、前記骨格モデル生成手段によって個人の前記基準表情の顔骨格モデルから生成された無表情の骨格モデルにユーザが選択した表情カテゴリに対応する前記変動モデルを適用して、前記個人の表情付き顔モデルを生成する顔モデル生成手段を有する請求項6または請求項7に記載された情報処理装置。
【請求項９】
前記算出手段は、前記変動モデルとして、三次元形状成分の変動モデルおよび顔面上のテクスチャ成分の変動モデルを算出する請求項5から請求項8の何れか一項に記載された情報処理装置。
【請求項１０】
前記三次元形状成分の変動モデルは、対応がとれた各頂点の変位ベクトル、または、対応がとれたポリゴン内の法線の変位ベクトルとして表される請求項9に記載された情報処理装置。
【請求項１１】
前記三次元形状成分の変動モデルは、複数フレームにおける各頂点の変動を考慮した変位ベクトルとして表される請求項9に記載された情報処理装置。
【請求項１２】
前記三次元形状成分の変動モデルは、予め用意された複数のターゲットシェイプの重み付き線形和として表される請求項9に記載された情報処理装置。
【請求項１３】
前記ターゲットシェイプの重みは、擬似逆行列によって算出される請求項12に記載された情報処理装置。
【請求項１４】
前記三次元形状成分の変動モデルおよび前記テクスチャ成分の変動モデルは、顔の局所領域ごとに算出される請求項9に記載された情報処理装置。
【請求項１５】
前記顔モデル生成手段は、前記表情カテゴリが異なる複数の変動モデルの重み付き線形和により各頂点の三次元形状の変位量を求め、当該変位量を前記基準表情に適用することにより、任意の表情の顔モデルを生成する請求項4または請求項8に記載された情報処理装置。
【請求項１６】
生成手段、算出手段、登録手段を有する情報処理装置の情報処理方法であって、
前記生成手段が、汎用の顔骨格モデルを個人の顔骨格モデルに変換するための骨格モデルを生成し、
前記算出手段が、前記個人の顔骨格モデルと前記骨格モデルを用いて表情の個人差を吸収した変動モデルを算出し、
前記登録手段が、前記変動モデルを所定の表情カテゴリごとに分類し、前記分類した変動モデルをデータベースに登録する情報処理方法。
【請求項１７】
生成手段、算出手段、登録手段を有する情報処理装置の情報処理方法であって、
前記生成手段が、個人の無表情の骨格モデルおよび表情付きの骨格モデルを生成し、
前記算出手段が、前記無表情の骨格モデルおよび前記表情付きの骨格モデルから変動モデルを算出し、
前記登録手段が、前記変動モデルを所定の表情カテゴリごとに分類し、前記分類した変動モデルをデータベースに登録する情報処理方法。
【請求項１８】
コンピュータを請求項1から請求項15の何れか一項に記載された情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、任意の表情の顔モデルを生成する情報処理に関する。
【背景技術】
【０００２】
映画の制作現場やエンタテイメントの分野において、アクタの表情を撮影して、仮想キャラクタにアクタと同じような表情をさせるパフォーマンスキャプチャと呼ばれる技術が盛んに研究されている。
【０００３】
近年、イメージセンサの高解像度化と計算機の高速化が相俟って、特定人物の毛穴や皺などの微細な凸凹まで計算機に取り込み、後に、その人物の表情を任意に変更する手法が提案されている（特許文献1参照）。
【０００４】
特許文献1に開示される表情生成方法は、顔の大まかな変形に伴う、毛穴や皺などの微細な変形も忠実に再現することが可能である。特許文献1の技術は、まず、大まかな変形と微細な変形をそれぞれ異なるデータ取得方法で取得する。
【０００５】
大まかな変形のデータは、被撮影者の顔にマーカを付けて、一般的なモーションキャプチャ技術を利用して取得される。この時の大まかな顔の変形は、マーカ点を使って計測した疎な三次元点群、および、それら点をつないだポリゴンメッシュで表される。
【０００６】
一方、微細な変形は、フォトメトリックステレオと密なオプティカルフローの手法を利用して取得される。このとき取得した微細な変形は、ディスプレイスメントマップ(displacement map)として表される。
【０００７】
ディスプレイスメントマップは、グレイスケール画像またはRGB画像によって、元形状に対する高低を定義し、少ないポリゴンで細かな凹凸を表現するための手法である。また、ディスプレイスメントマップは、3Dモデルの頂点を実際の表面に対して上下に移動させて凹凸を表現する特徴を有する。
【０００８】
そして、被撮影者が表出し得る表情の最大強度をシステムに登録する必要がある。そのため、撮影時、被撮影者が基本的な七つの感情（喜び、悲しみ、怒り、諦め、驚き、嫌悪、恐怖）を最大限表出した表情が撮影される。
【０００９】
特許文献1が開示する表情生成装置において、データ取得後、システム利用者は、被撮影者のCGオブジェクトに対して任意の変形を加える。表情生成装置は、加えられた変形に応じて、複数枚のディスプレイスメントマップから微細な凹凸形状の変動を推定し、任意の表情を作り出す。
【００１０】
特許文献1が開示する表情生成方法では、被撮影者に限り、被撮影者の微細凹凸の変動を含む任意の表情を生成可能である。しかし、キャプチャした被撮影者の顔の大まかな変形と微細な変形（以下、表情変動）に関する情報を他人のCGオブジェクトに与えて、他人の顔の任意の表情を作り出すことまではできない。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】米国特許出願公開第2009/0195545号明細書
【特許文献２】米国特許第7,548,272号明細書
【特許文献３】特開2001-076177号公報
【非特許文献】
【００１２】
【非特許文献１】Yang Chen、Gerard Medioni「Object modelling by registration of multiple range images」Image and Vision Computing、Vol. 10、No. 3、145-155頁、1992年4月
【非特許文献２】Thibaut Weise、Sofien Bouaziz、Hao Li、Mark Pauly「Realtime Performance-Based Facial Animation」ACM Transactions on Graphics、Proceedings of the 38th ACM SIGGRAPH 2011、2011年8月
【非特許文献３】J. Ahlberg「CANDIDE-3 -- an updated parameterized face」Report No. LiTH-ISY-R-2326、Dept. of Electrical Engineering、Linkoping University、Sweden、2001年
【非特許文献４】Yeongho Seol et al.「Spacetime Expression Cloning for Blendshapes」ACM Transaction On Graphics、31(2)、14:1-14:12頁、2012年
【非特許文献５】Z. Deng、P. Y. Chiang、P. Fox、U. Neumann「Animating Blendshape Faces by Cross-Mapping Motion Capture Data」ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2006 (I3DG)
【非特許文献６】Richard S. Sutton、Andrew G. Barto「Reinforcement Learning: An Introduction」The MIT Press、1998年
【非特許文献７】Masatoshi Okutomi、Takeo Kanade「A Multiple-Baseline Stereo」IEEE Transactions on Pattern Analysis and Machine Intelligence、Vol. 15、No. 4、1993年4月
【非特許文献８】Iain Matthews、Simon Baker「Active Appearance Models Revisited」International Journal of Computer Vision、Vol. 60、No. 2、135-164頁、2004年11月
【非特許文献９】Beier T.、Neely S.「Feature-based image metamorphosis」Computer Graphics 1992、Vol. 26(2)、35-42頁
【非特許文献１０】J. Daugman「Entropy reduction and decorrelation in visual coding by oriented neural receptive fields」Trans. on Biomedical Engineering、Vol. 36、No. 1、107-114頁、1989年
【非特許文献１１】T. Ojala、M. Pietikainen、D. Harwood「Performance evaluation of texture measures with classification based on Kullback discrimination of distributions」Proceedings of the 12th IAPR International Conference on Pattern Recognition (ICPR 1994)、Vol. 1、582-585頁
【非特許文献１２】P. Viola、M. Jones「Rapid Object Detection using a Boosted Cascade of Simple Features」IEEE Conference on Computer Vision and Pattern Recognition、2001年
【非特許文献１３】「コンピュータグラフィックス」CG-ARTS協会発行、146-149頁、2004年
【非特許文献１４】M オローク著、袋谷賢吉、大久保篤志共訳「三次元コンピュータ・アニメーションの原理」近代科学社、94-98頁、1997年
【非特許文献１５】David J. Fleet、Yair Weiss「Optical Flow Estimation」In Paragios et al.、Handbook of Mathematical Models in Computer Vision、Springer、2006年
【発明の概要】
【発明が解決しようとする課題】
【００１３】
本発明は、個人の顔骨格モデルに基づき他人の顔の任意の表情を有する顔モデルを生成するための変動モデルを生成することを目的とする。
【課題を解決するための手段】
【００１４】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１５】
本発明にかかる情報処理は、汎用の顔骨格モデルを個人の顔骨格モデルに変換するための骨格モデルを生成し、前記個人の顔骨格モデルと前記骨格モデルを用いて表情の個人差を吸収した変動モデルを算出し、前記変動モデルを所定の表情カテゴリごとに分類し、前記分類した変動モデルをデータベースに登録する。
【発明の効果】
【００１６】
本発明によれば、個人の顔骨格モデルに基づき他人の顔の任意の表情を有する顔モデルを生成するための変動モデルを生成することができる。
【図面の簡単な説明】
【００１７】
【図１】前段処理を実行する表情生成装置の構成例を示すブロック図。
【図２】汎用顔モデルの描画例を示す図。
【図３】後段処理を実行する表情生成装置の構成例を示すブロック図。
【図４】実施例の処理構成例を説明するブロック図。
【図５】変動モデルデータベース生成部の構成例を示すブロック図。
【図６】変動モデルデータベース生成部の処理を説明するフローチャート。
【図７】任意表情生成部の処理を説明するフローチャート。
【図８】実施例2の表情生成装置の構成例を示すブロック図。
【図９】実施例2の変動モデルデータベース生成部および任意表情生成部の構成例を示すブロック図。
【図１０】変動モデルデータベース生成部の処理を説明するフローチャート。
【図１１】実施例2の任意表情生成部の処理を説明するフローチャート。
【図１２】実施例3の変動モデルデータベース生成部および任意表情生成部の構成例を示すブロック図。
【発明を実施するための形態】
【００１８】
以下、本発明にかかる実施例の表情生成に関する情報処理を図面を参照して詳細に説明する。
【実施例１】
【００１９】
実施例1では、個体ごとに骨格モデルを定義して、個体に依存しない表情変動モデルを作成し、任意の顔に対して所望の表情を加える例を説明する。
【００２０】
実施例1の処理は大きく前段後段の二部構成に分かれる。前段の処理は、特定個人の顔から表情の個人差を除いた、万人に適応可能な表情の汎用変動モデルを算出し、汎用変動モデルをデータベース(DB)に蓄積する。後段の処理は、特定人物の顔に汎用変動モデルを適用し、任意の顔における任意の表情を作り出す。
【００２１】
［汎用変動モデルの算出］
以下、前段処理に相当する、表情の汎用変動モデルを算出し、汎用変動モデルをDBに登録するまでの方法を説明する。
【００２２】
図1のブロック図により前段処理を実行する表情生成装置の構成例を示す。
【００２３】
表情生成装置は、まず、汎用の顔骨格モデルである汎用顔モデル100を準備する。汎用顔モデル100は、一般的なコンピュータグラフィクス(CG)ソフトウェアによって描画される。図2により汎用顔モデル100の描画例を示す。図2に示す描画例は、三次元の頂点（XYZ座標）と、隣接する頂点を結んで得られるポリゴンメッシュによって構成されている。
【００２４】
一般に、汎用顔モデル100の形状には、デファクトスタンダードになる、決まった形状が存在しない。そのため、システム利用者（ユーザ）が手作業で汎用顔モデル100を作成してもよいし、DBに登録された複数の人物の顔形状から平均的な顔形状を表す汎用顔モデル100を作り出すこともできる。
【００２５】
ただし、DBから平均的な顔形状を作成する場合、当然ながら、DBに登録された人物の個人情報（人種、性別、年齢等）の影響を受けるため、汎用顔モデル100は、構築したいシステムの特性に合わせて作成することが望ましい。例えば、本システムを利用して欧米人の顔に表情を加える場合を想定すると、汎用顔モデル100は、欧米人の顔の特徴を多く含む顔モデルであることが望まれる。
【００２６】
次に、汎用顔モデル100に人物Aの顔骨格モデルである骨格モデル101を適用して、汎用顔モデル100を人物Aの個人顔モデル102に変形する。具体的には、汎用顔モデル100の各頂点を骨格モデル101が指定する座標へ移動する処理である。従って、骨格モデル101は、行列または汎用顔モデル100の各頂点を移動するためのベクトルの集合として表される。
【００２７】
式(1)は、汎用顔モデル100に骨格モデル101を適用して個人顔モデル102に変形する方法を示す。
Characterized GM = Mc・GM      …(1)
【００２８】
式(1)の左辺のCharacterized GM（GMはGeneric Modelの略）は、入力として得られる無表情（以下、基準表情）の顔（以下、無表情顔）の個人顔モデルである。Characterized GMは、入力データとして得られる奥行き画像の各頂点をポリゴンメッシュなどで再構成したものである。ここで取得する無表情顔の各頂点の位置は、表情変化がない状態の連続した複数フレームの平均値や中央値を用いて決定してもよい。また、リラックスした状態の被撮影者の顔をレンジスキャナなどを利用し取得した3Dデータを採用してもよい。
【００２９】
右辺のGMは、汎用顔モデル100を構成する三次元空間中の全頂点座標を格納する行列である。Mcは、骨格モデル101であり、GMの全頂点を移動して（この場合は人物Aの）個人顔に変形させるための行列である。骨格モデル101として定義される行列Mcは、表情の変動に依存しない目、口、鼻といった各部位の位置とサイズを示す情報を含む。
【００３０】
●骨格モデルの計算と個人顔モデルの生成
骨格モデル101を計算する手法は幾つか存在する。
【００３１】
例えば、特許文献1の技術は、RGB画像と奥行き画像を同時に取得可能な装置を用いて、顔の三次元形状を取得する。そして、取得した顔の三次元形状に対して、汎用顔モデルにICP (Iterative Closest Point)アルゴリズムによる形状の当て嵌めを行って、汎用顔モデルの位置と傾きを調整する。なお、汎用顔モデルは非特許文献3参照、ICP (Iterative Closest Point)アルゴリズムは非特許文献1参照、汎用顔モデルの位置と傾きの調整は非特許文献2参照。例えば汎用顔モデルは、非特許文献3に記載されるような顔の形状を示す頂点群と、それらの頂点で構成されるトポロジ情報である。
【００３２】
汎用顔モデルを利用した被撮影者の顔の位置と傾きの調整は、被撮影者の顔の位置と傾きを固定せずに撮影を行うことを想定したためである。言い換えれば、被撮影者の顔の位置と傾きを充分に固定することができ、汎用顔モデルを当て嵌められる場合、位置と傾きを調整する処理は不要である。
【００３３】
一般に、ICPアルゴリズムにより形状を当て嵌める場合、剛体オブジェクトを対象として形状全体で位置合わせを行う。しかし、顔を対象とする場合、顔には表情変化による形状変形があるため、ICPアルゴリズムを適用することができない部位も存在する。例えば、顎が動く場合など顔の形状が大きく変化するため、ICPアルゴリズムによる位置合わせが困難になる。
【００３４】
そこで、本実施例においては、顔全体で位置合わせを行わずに、顔の上半分（目の周辺や額）を剛体と見なし、ポイントツープレーン(point-to-plane)の対応付けにより形状の当て嵌めを行う。これは、一般に、目の周辺や額部分は、顔骨格の構造上、顎のように大きな変動が生じないためである。
【００３５】
そして、汎用顔モデルの各頂点が実際に取得した顔の形状に合うよう、汎用顔モデルの各頂点を移動する。当然ながら、汎用顔モデルの各頂点と、入力信号から取得した顔の形状に合わせて変形した汎用顔モデルの各頂点は対応がとれている。従って、頂点ごとにその移動量を計算して、骨格モデル101を表す行列Mcを求めることができる。
【００３６】
上記のようにして取得した骨格モデル101により、汎用顔モデル100を変形して、人物Aの個人顔モデル102を生成する。なお、骨格モデル101の算出に当り、個人顔モデル102に貼るテクスチャは同時に取得しておくものとする。
【００３７】
個人顔モデル102は、汎用顔モデル100を骨格モデル101によって変形しただけなので、個人顔モデル102には表情の情報が含まれない。ただし、必要に応じて、人物Aの肌の色を表現するテクスチャを個人顔モデル102に貼ることができる。
【００３８】
また、特許文献1の技術は、RGB画像と奥行き画像をリアルタイムに取得するセンサを利用するが、必ずしも、このような特殊なセンサを用いる必要はない。RGB信号を取得することができる複数台（二台以上）の一般的なカメラを利用して、人物の顔の皺や毛穴と言った微細な凹凸形状を取得・再現することが可能である。また、市販の三次元レンジスキャナなどを利用して個人の高精細な顔形状を取得してもよい。
【００３９】
特定個人の骨格モデル101の行列Mcの具体的な取得方法は、まず、レンジファインダや市販のカメラなどで、デプスデータとテクスチャデータを取得する。その際、被撮影者の顔と、汎用顔モデル100の同位置（目尻や口端と言ったランドマーク点）にマーカ点を付け、マーカ点の移動から骨格モデル101の行列Mcを記述することができる。
【００４０】
あるいは、レンジファインダなどで取得したデプスデータと汎用顔モデル101の行列GMがぴったり合うように、汎用顔モデル101を変形する。このとき、汎用顔モデル101に与えた変形量（各頂点の変位ベクトル）を骨格モデル101の行列Mcとしてもよい。
【００４１】
●汎用変動モデルの生成
次に、汎用変動モデル104を生成するために、表情付き個人顔モデル103がシステムに入力される。
【００４２】
人物Aの個人顔モデル102の形状の取得と同一の撮影手段・方法を利用して、人物Aの顔の形状を表情付き個人顔モデル103として取得する。当然ながら、表情付き個人顔モデル103には、個人顔モデル102を基準とする、個人顔モデル102の各頂点の変動分が表情として加えられている。
【００４３】
汎用変動モデル104は、表情付き個人顔モデル103から、個人差を吸収し、表情の変動分のみを算出したものである。以下では、表情の変動分を算出する方法について説明する。
【００４４】
まず、表情付き個人顔モデル103は、Characterized Expression GMとすると式(2)に示すように表される。
Characterized Expression GM = Mc・Me・GM      …(2)
ここで、Mcは特定個人（この例では人物A）の骨格モデル101を表す行列、
Meは表情の変動を示す汎用変動モデル104を表す行列、
GMは汎用顔モデル100の形状を表す行列。
【００４５】
式(2)において、人物Aの骨格モデル101の行列Mcは、上述したように、三次元計測によって得られた人物Aの顔の三次元形状データと、汎用顔モデル100の三次元形状の差異に基き取得される変動成分をベクトルで表した行列である。
【００４６】
骨格モデル101の行列Mcを、汎用顔モデル100の行列GMの各頂点の変位ベクトル群として表すとすると、行列Mcは一般的に正則行列になる。従って、行列Mcの逆行列を求めることが可能である。そこで、式(2)の両辺に左から行列Mcの逆行列Mc-1を掛け、表情付き汎用顔モデルを表すMe・GMを算出する。つまり、骨格モデル101を表す行列Mcの逆行列Mc-1を実測値に掛けることで、個人差を吸収する。
【００４７】
ここで求めたいのは、汎用変動モデル104を表す行列Meである。しかし、行列Meを直接的に求めるのは数学的に困難である。
【００４８】
非特許文献4は、汎用変動モデル104を表す行列Meを直接的に算出する代わりに「ターゲットシェイプ」と呼ばれる顔形状を複数用意し、複数のターゲットシェイプを所定の混合比で加算する重み付き線形和で表すことで、所定の中間的な表情を再現する。
【００４９】
ターゲットシェイプは、顔の部位（左眼、右眼、左眉、右眉など）ごとに最も変形した状態の形状（頂点群）を定義したものである。例えば、眉を最大限上げた時の顔の形状（頂点群）をターゲットシェイプとして定義し、ターゲットシェイプに近付けるように汎用顔モデル100の各頂点を移動させると、眉を上げる表情を擬似的に作り出すことができる。
【００５０】
また、複数のターゲットシェイプを混合して中間的な表情を作り出すことができる。例えば、左右の口角が上がった状態のターゲットシェイプ1と、眉の外側が下がったターゲットシェイプ2をそれぞれ用意し、ターゲットシェイプ1と2の重み付き線形和により汎用顔モデル100の各頂点を移動することで、「笑顔」を作り出すことができる。そして、ターゲットシェイプの混合に用いる重みを調節することで、各ターゲットシェイプの影響度を制御し、表情の表出強度を変更することができる。
【００５１】
このように、複数のターゲットシェイプを重み付き線形和で混合する処理は、一般に「ブレンドシェイプ」と呼ばれる（非特許文献5参照）。
【００５２】
ただし、ブレンドシェイプによる表情の表現には限界がある。ターゲットシェイプで定義される最大限変形した状態の形状を超える変形や、予め用意したターゲットシェイプの形状に含まれない変形を表現することができない。
【００５３】
本実施例においては、この手法を利用し、顔の部位ごとにターゲットシェイプを30から40個程度、予め用意し、それらの形状の混合比を行列計算により求める。これにより、間接的に表情付き汎用顔モデルを表すMe・GMを求め、その際の重みwを汎用変動モデル104として変動モデルデータベース(DB)105に登録する。
【００５４】
表情付き汎用顔モデルを表すMe・GMは、n個のターゲットシェイプTkに重みwkの係数を掛けた重み付き線形和で表すことができる。なお、ターゲットシェイプTkには、予め定義された頂点群の座標値が格納されている。
Me・GM = Σk=1nwkTk      …(3)
ここで、nはターゲットシェイプの数。
【００５５】
なお、ターゲットシェイプの数nは、顔筋による変動を表現するために充分な数でよく。上記ではnを30から40個と説明したが、40個を超えるターゲットシェイプを用意してもよい。ただし、ターゲットシェイプによる顔の変形は、ターゲットシェイプの重み付き線形和などで計算されるため、個々のターゲットシェイプの変形は、互いに独立した変形になることが望ましい。
【００５６】
また、被撮影者の表情サンプルから、ターゲットシェイプの混合比を、主成分分析(Principal Component Analysis)などにより基底分解して、基本的な七つの感情に起因する表情のパラメータを算出する。そして、当該パラメータからターゲットシェイプの混合比を自動的に計算することもできる。
【００５７】
なお、ターゲットシェイプの混合比（重み）は、擬似逆行列を求めることで算出してもよいし、ラグランジュ未定乗数法によって解析的に算出してもよい。
【００５８】
ここでは、説明を簡単にするため、同一の方法を用いて顔の形状を取得する例を説明したが、構築するシステムによっては、別の手法を用いて顔の形状を取得してもよい。何故なら、個人顔モデル102の形状を高精度に取得しようとすると、その精度に応じて形状取得装置が肥大化してしまう上、取得時の光源環境にも制約が生じることが多い。
【００５９】
表情付き個人顔モデル103として、普段の何気ない自然な表情を撮影しようとすると、高精度に形状を取得する装置が必ずしも利用できないことは容易に想像される。そのため、個人顔モデル102に利用する形状取得方法と、表情付き個人顔モデル103の形状取得方法が異なる場合も想定される。その場合は、別途、表情付き個人顔モデル103の実測値と個人顔モデル102の対応点を逐次求めることで、同一の方法を用いて顔の形状を取得する方法において説明した条件と等しくすることができる。
【００６０】
形状取得方法が同一でも異なる場合でも、汎用変動モデルの精度は骨格モデル101の精度に依存するため、骨格モデル101は高精度に取得する必要がある。
【００６１】
重みwは、それぞれ後段で生成したい表情ごとにカテゴリ分けして変動モデルDB105に登録する。分類に使用するカテゴリ（以下、表情カテゴリ）は、基本的な七つの感情（驚き、喜び、怒り、恐怖、悲しみ、嫌悪、恐怖）である。さらに、感情が混ざり合った表情、作り笑いのように目の周辺領域に表れる意味と口周辺に表れる意味が異なる表情なども表情カテゴリとして用意することができる。
【００６２】
ここで、汎用変動モデル104として算出した重みwをパラメータとして、表情カテゴリごとに分類して変動モデルDB105に登録する方法を説明する。なお、上記では重みwを汎用変動モデル104のパラメータとして登録する例を説明したが、登録するパラメータは、その限りではない。
【００６３】
汎用変動モデル104として算出したパラメータは、パーセプトロン、ニューラルネットワーク、サポートベクタマシンと言った一般的な機械学習の枠組みを利用することで表情のカテゴリに分類することができる。
【００６４】
分類方法の一例は、汎用顔モデル100に対して、システムの利用者が設定した表情でターゲットシェイプの重みwを算出し、その重みwを表情カテゴリを代表するパラメータとして識別に用いる方法である。
【００６５】
そして、様々な表情が入力サンプルとして入力された場合、k-meansクラスタリングや、マルチクラスSVMなどを使って表情カテゴリのクラスタを更新する。クラスタの更新方法に関しては、種々の方法が知られているので、構築するシステムによって好適な更新方法を選べばよい。
【００６６】
また、喜怒哀楽がはっきりした表情は、表情の変動が大きいため、表情の変動が小さい場合に比べてクラスタリングは容易である。一方で、微細な表情は、表情の変動が小さいため、無表情カテゴリのクラスタに分類するか、それ以外の表情カテゴリとして分類するかの判断が難しくなる。その場合、汎用顔モデル100に汎用変動モデル104のパラメータを適用して生成した表情付き汎用顔モデルを数人の被験者に観察させ、主観評価による分類結果を基に、強化学習の枠組みを使って表情カテゴリを更新する（非特許文献6参照）。
【００６７】
以上のようにして、個人差を吸収した後、表情の汎用変動モデル104をパラメータとして算出し、予め決めた表情カテゴリごとにパラメータを変動モデルDB105に登録・蓄積する。
【００６８】
なお、変動モデルDB105に登録する表情カテゴリは、年齢、性別、人種、国籍などの属性情報を用いた階層的な構造を有してもよい。
【００６９】
［表情の付加］
次に、後段処理に相当する、任意の顔に任意の表情を付加する方法を説明する。
【００７０】
図3のブロック図により後段処理を実行する表情生成装置の構成例を示す。なお、図3は、図1に示す前段処理の構成に、後段処理の構成を加えた構成を示す。従って、前段処理の構成の説明は省略する。
【００７１】
人物Bは、人物Aと異なる人物であり、汎用変動モデル104の算出に無関係の人物である。人物Bの骨格モデル301は、人物Aの骨格モデル101を取得した方法と同じ方法で取得することができる。また、人物Bの個人顔モデル302は、人物Bの骨格モデル301によって汎用顔モデル100を変形した顔モデルであり、その形状は、理論的に表情が全くない状態（基準表情）の入力信号から構成される三次元形状と等価である。
【００７２】
ここでは、人物Aの表情付き個人顔モデル103から算出し、変動モデルDB105に蓄積した汎用変動モデル104（パラメータ）を人物Bの顔画像に適用して、人物Bの顔画像を任意の表情に変形する。
【００７３】
このとき、システムの利用者には、画面を介して、人物Bの基準表情（無表情）の顔画像が提示され、同時に、変動モデルDB105に登録された表情カテゴリの代表パラメータを汎用顔モデル100に適用した表情を有する複数の顔画像が提示される。以下、表情を有する顔を「有表情顔」と呼ぶ。
【００７４】
利用者は、複数の有表情顔の画像から所望する表情の顔画像を選び、人物Bの顔画像への適用を指示する。もしくは、利用者に表情カテゴリのリストを提示し、利用者がリストから選択した表情カテゴリに基づき人物Bの顔画像に表情を加えててもよい。表情カテゴリが選択された場合、変動モデルDB105に登録されている代表パラメータ（クラスタの重心に最も近いパラメータ）から順に人物Bの顔画像に適用する。適用の結果、利用者が望む場合は、同一の表情カテゴリの他のパラメータを人物Bの顔画像に適用する。
【００７５】
汎用変動モデル104の算出に人物Bが関与し、汎用変動モデル104を、人物Bの骨格モデル301、人物Bの個人顔モデル302、人物Bの表情付き個人顔モデル303から生成することもできる。この場合、変動モデルDB105から適切なパラメータを選択すれば、汎用顔モデル100、人物Bの骨格モデル301、汎用変動モデル104から生成される表情と人物Bの実際の表情は一致する。
【００７６】
図4のブロック図により実施例の処理構成例を説明する。なお、表情生成装置は、ネットワークを介して、または、各種記録媒体から取得したソフトウェア（プログラム）をコンピュータ機器において実行することで実現される。コンピュータ機器は、CPU、メモリ、ストレージデバイス、入出力装置、システムバス、表示装置などにより構成されるパーソナルコンピュータなどの汎用機器でよい。あるいは、表情生成用のソフトウェアの実行に最適化されたハードウェアを有する専用機器を利用してもよい。
【００７７】
図4において、データベース生成部400は上述した前段処理を実行する部分に相当し、任意表情生成部401は後段処理を実行する部分に相当する。データベース生成部400は、入力データ取得部402、変動モデルデータベース生成部403、変動モデルDB105を有する。
【００７８】
入力データ取得部402は、例えば、市販の複数のRGBカメラからRGB画像を取得し、マルチベースラインステレオ法などを用いてRGB画像から奥行き情報を取得する（例えば、非特許文献7参照）。そして、取得したRGB画像と奥行き情報を変動モデルデータベース生成部403に入力する。奥行き情報の取得は、種々の方法が提案されていて、上記ステレオ法による取得方法のほかに、デプスカメラやレンジセンサを用いて奥行き情報を取得する方法がある。奥行き情報の取得方法は、構築するシステムごとに好適な手段を選択すればよい。
【００７９】
●変動モデルデータベース生成部
図5のブロック図により変動モデルデータベース生成部403の構成例を示す。
【００８０】
骨格モデル生成部500は、入力データ取得部401から入力された被撮影者（例えば人物A）の情報に基づき、被撮影者の骨格モデルが骨格モデルデータベース(DB)501に登録されているか否かを検索する。検索の結果、該当する骨格モデルが見付かれば、当該骨格モデルを汎用顔モデルに適用するための設定を行う。また、該当する骨格モデルが見付からなかった場合は、入力データ取得部401から入力された奥行き情報を用いて、上述した方法によって被撮影者の骨格モデルを生成し、生成した骨格モデルを骨格モデルDB501に登録する。
【００８１】
骨格モデル適用部502は、骨格モデルDB501に登録された骨格モデルを利用して、入力データ取得部402から入力された奥行き情報に含まれる個人差を吸収する。つまり、式(2)に示すように、表情付き個人顔モデル(Characterized Expression GM)に、特定個人の骨格モデルMcの逆行列Mc-1を掛けることで個人差を打ち消した表情付き汎用顔モデルMe・GMを生成する。
【００８２】
変動モデル算出部503は、骨格モデル適用部502が生成した表情付き汎用顔モデルMe・GMについて、ターゲットシェイプの重みwをパラメータとする変動モデルを算出する。表情カテゴリ分類部504は、変動モデルDB105の表情カテゴリに合わせて、変動モデル算出部503が算出した変動モデルを分類する。
【００８３】
変動モデルをターゲットシェイプの重みwをパラメータとして表現する場合、そのパラメータでクラスタリングを行い、クラスタに表情のラベルを付加する。例えば、笑顔の表情は、下瞼を上方に動かすターゲットシェイプTA、目尻を下げるターゲットシェイプTB、口角を上方に動かすターゲットシェイプTC、および、重みwによって式(4)のように表される。なお、ターゲットシェイプTA、TB、TCには予め定義された頂点群の座標値が格納されている。
Smile = wATA・wBTB・wCTC
例えば、(wA, wB, wC) = (1.0, 0.5, 0.7)
【００８４】
このように、表情カテゴリごとに重みwを算出してパラメータのクラスタリングを行う。クラスタリングには、例えばk-meansのような一般的なクラスタリング手法を用いればよい。そして、変動モデル算出部503が算出したパラメータ（変動モデル）がどのクラスタ（表情カテゴリ）に属すかを計算し、計算結果に従い、変動モデルを変動モデルDB105に登録する。
【００８５】
図6のフローチャートにより変動モデルデータベース生成部403の処理を説明する。
【００８６】
骨格モデル生成部500は、入力データ取得部401から入力データ（被撮影者の顔を撮影して得られた画像と形状情報（奥行き情報）および被撮影者の情報）を取得する(S601)。そして、被撮影者に該当する骨格モデルが骨格モデルDB501に登録されているか否かを検索する(S602)。被撮影者の骨格モデルが骨格モデルDB501に登録されている場合、処理はステップ605に進む。また、被撮影者の骨格モデルが未登録の場合、処理はステップS603に進む。
【００８７】
最も簡単な検索方法は、骨格モデルの登録時に被撮影者の氏名など被撮影者に固有の情報を骨格モデルのラベルとして登録し、検索時に被撮影者の氏名と骨格モデルのラベルを照合するなどが考えられる。また、被撮影者の無表情の顔画像が入力される場合は、入力された画像が示す顔の形状と、骨格モデルに基づき汎用顔モデル100を変形した形状のマッチングから、被撮影者の特定または被撮影者の骨格モデルの有無を判定することもできる。
【００８８】
被撮影者の骨格モデルが未登録の場合、骨格モデル生成部500は、被撮影者の骨格モデルを生成し(S603)、被撮影者に固有の情報をラベルとして付加した骨格モデルを骨格モデルDB501に登録する(S604)。
【００８９】
骨格モデルは、入力データに含まれる奥行き情報の位置と、汎用顔モデル100の位置を合わせた後、奥行き情報に基づき汎用顔モデル100の各頂点を移動する生成される。入力データとして、毛穴や皺と言った微細な凹凸の奥行き情報が取得できる場合がある。その場合、汎用顔モデル100の各頂点の移動後、汎用顔モデル100の各メッシュ（平面）の法線方向の高低差を示すディスプレイスメントマップとして、奥行き情報の微細な凹凸を保存することが可能である。もしくは、各メッシュからZ軸（奥行き）方向に高低差を取り、ディスプレイスメントマップを生成してもよい。生成したディスプレイスメントマップは、骨格モデルと一緒に骨格モデルDB501に格納される。
【００９０】
次に、骨格モデル適用部502は、骨格モデルDB501から被撮影者の骨格モデルを読み込む(S605)。骨格モデルは、汎用顔モデル100の各頂点を移動するためのベクトルまたは行列である。そして、読み込んだ骨格モデルに基づき、汎用顔モデル100の全頂点を移動して被撮影者の個人顔モデルを生成する(S606)。個人顔モデルは、骨格モデルに基づき汎用顔モデル100を変形した無表情の顔である。
【００９１】
次に、変動モデル算出部503は、入力データに含まれる奥行き情報に基づき、ステップS606で生成された個人顔モデルの各頂点をさらに移動し、各頂点の移動量を表情変動による変動モデルとして記録する(S607)。また、この時の表情に合わせて、ディスプレイスメントマップも再度取得し直す。
【００９２】
次に、表情カテゴリ分類部504は、変動モデルの登録先の表情カテゴリを識別する(S608)。つまり、ステップS607で生成された変動モデルとディスプレイスメントマップに、該当する表情カテゴリのラベルを付与する。そして、変動モデルとディスプレイスメントマップを変動モデルデータベース105に登録する(S609)。
【００９３】
以上の処理により、骨格モデルDB501と変動モデルDB105が構築される。つまり、骨格モデルを生成し、骨格モデルを適用した汎用顔モデルから、表情による変動を変動モデルとして算出することで、個人差を吸収した汎用変動モデルを変動モデルDB105に登録することができる。
【００９４】
●任意表情生成部
任意表情生成部401は、変動モデルDB105を利用して、表情を付加したい人物の個人顔モデルに仮想的に表情を付加する。
【００９５】
任意表情生成部401は、骨格モデルDB501と変動モデルDB105に蓄積されたデータを利用し、任意の人物の顔形状に適切な表情変形を施す。
【００９６】
個人顔モデル設定部405は、骨格モデルDB501から、システムの利用者が所望する人物の顔の骨格モデルを取得する。
【００９７】
表情付き顔モデル生成部406は、取得された骨格モデルに基づき、汎用顔モデル100を変形して個人顔モデルを生成する。ここで得られる顔モデルは常に無表情である。さらに、生成した個人顔モデルに、汎用変動モデルに基づく表情を付加する。
【００９８】
図7のフローチャートにより任意表情生成部401の処理を説明する。
【００９９】
個人顔モデル設定部405は、表情を付加する人物の個人顔モデルを設定するために、人物プロファイルを取得する(S701)。人物プロファイルは、例えば、氏名、顔写真など当該人物に固有の情報を含み、骨格モデルDB501から骨格モデルを読み込むために利用される。
【０１００】
次に、個人顔モデル設定部405は、骨格モデルの有無の判定(S702)、骨格モデルの生成(S703)、骨格モデルの登録(S704)、骨格モデルの読み込み(S705)を行う。これら処理は、変動モデルデータベース生成部403におけるステップS602からS605の処理と同様であり、詳細説明を省略する。
【０１０１】
次に、個人顔モデル設定部405は、変動モデルDB105に設定されている表情カテゴリの中から、システムの利用者に所望する表情カテゴリを選択させ、その選択情報を取得する(S706)。
【０１０２】
各表情カテゴリについて複数の表情サンプルが登録されている場合、それら表情サンプルからランダムにパラメータを取り出し、汎用顔モデル100に表情を付加する。つまり、表情カテゴリごとに一つ以上の表情付き汎用顔モデルを表示して、システムの利用者に所望する表情付き汎用顔モデルを選択させる。もし、システムの利用者が所望する表情がない場合は、再度、表情サンプルからパラメータを取り出して、システムの利用者に提示する表情付き汎用顔モデルを変更する。
【０１０３】
次に、表情付き顔モデル生成部406は、選択情報が示す表情サンプルのパラメータを汎用顔モデル100に適用して、表情付き汎用顔モデルを生成する(S707)。そして、骨格モデルを表情付き汎用顔モデルに適用して、任意の顔に任意の表情を付加する(S708)。
【０１０４】
なお、ステップS707とS708は、この順に実行する必要がある。実行順を変更すると、所望の変形が行えなくなる。また、骨格モデルが読み込まれている状態であれば、表情を付加する処理は二回の行列演算で実行することができる。そのため、ビデオカメラで取得した人物の顔に対して、リアルタイムに表情を加えた仮想的な表情を作り出すことも可能である。
【０１０５】
以上のように、入力されたデータ（特定個人の画像と奥行き情報）から個人差を吸収した表情の汎用変動モデルを生成し、所望する顔の汎用変動モデルを利用して、所望する顔の任意の表情を作り出すことができる。
【０１０６】
このように、個人ごとの骨格モデル表現により個人差を吸収し、表情による変動を汎用変動モデルとして算出して、万人に適用可能な表情の汎用変動モデルを登録した変動モデルデータベースを構築することができる。また、人物が変更されても、骨格モデルを再定義することで、汎用変動モデルを利用して、特定人物の個人顔モデルに所望の表情変化を付加することができる。
【実施例２】
【０１０７】
以下、本発明にかかる実施例2の情報処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１０８】
実施例1では、人物Aの骨格モデル101に基づき汎用顔モデル100を変形した個人顔モデル102を作成し、人物Aの表情付き個人顔モデル103（表情による三次元形状の変動モデル）を取得しする。そして、骨格モデル101を利用して表情付き個人顔モデル103から万人に適用可能な汎用変動モデル104を生成して、汎用変動モデル104利用して任意の表情の付加を行う方法を説明した。
【０１０９】
実施例2では、実施例1と同様に入力データに含まれる奥行き情報から、表情による三次元形状の変動モデルを抽出し、人物Aの表情変動を人物Bの個人顔モデルに適用する方法を説明する。ただし、実施例2においては、骨格モデルを利用した個人差の吸収は行わず、人物Aの表情変動を直接人物Bの個人顔モデルに適用する。勿論、実施例2においても、実施例1と同様、人物Aの表情から表情による変動モデルデータベース105を構築し、人物Bの個人顔モデルに当て嵌めて所望の表情を作り出すことを目的とする。
【０１１０】
図8のブロック図により実施例2の表情生成装置の構成例を示す。
【０１１１】
実施例1では、人物Aと人物Bの骨格モデルを精度よく算出することで個人差を吸収し、汎用変動モデル104を作成する例を説明した。実施例2は、同一人物の無表情顔と有表情顔の差分から変動モデルを生成する。
【０１１２】
実施例1の汎用変動モデル104は、汎用顔モデル100からの表情変動をモデル化したものである。一方で、実施例2の変動モデル802は、人物Aの無表情顔モデル800から有表情顔モデル801へ形状変化する際の各頂点の移動を相対座標系で記述したものである。ここで、相対座標系は、例えば顔にマーカを装着し、そのマーカによって定まる点を基準点（原点）として、形状変化後のマーカ位置を二次元座標または三次元座標によって表現する座標系である。各マーカは、装着した顔の位置に応じたIDが設定されている。言い換えれば、相対座標系の変動モデル（以下、相対座標変動モデル）には、マーカIDごとに、無表情顔モデル800のマーカ位置を原点として、有表情顔モデル801のマーカ位置を示す座標が記述されている。
【０１１３】
なお、マーカにより相対座標系の原点を設定する例を説明したが、マーカの代わりに顔のランドマーク（目尻や口端など位置をユニークに特定することができる箇所）を基準点（原点）に採用してもよい。
【０１１４】
そして、基準表情に相当する人物Bの無表情顔モデル804を用意して、人物Bの無表情顔モデル804の各頂点に相対座標変動モデル802を適用することで、任意の表情を有する人物Bの表情付き顔モデル805を生成する。
【０１１５】
具体的には、人物Aがリラックスした状態（できるだけ表情変化が起きない状態）の、顔の三次元形状を複数フレームに亘って取得する。取得した複数フレームにおける頂点の変動を考慮して、平均的な頂点を算出し、当該頂点によって構成される顔の形状を無表情顔モデル800とする。このとき、複数フレームの間で、顔の三次元形状を構成する全頂点の対応が取れていることが望まれる。
【０１１６】
特許文献2は、複数フレームの間で、顔の各頂点の対応を密に取る取得方法を開示する。特許文献2の方法は、被撮影者の顔にマーカの代わりに蛍光塗料を塗り、タイミングを制御しながらストロボを発光させ、蛍光塗料の塗りむらによって生じる粗密パターンを利用して、高精度な奥行き画像を取得する。この手法の利点は、顔に塗った蛍光塗料の塗りむらによって生じる微細パターンにより、パターンマッチングで顔の密な形状を再現することができる点にある。さらに、顔から蛍光塗料を落すまで、フレーム間の対応点探索を精度よく行うことができる。
【０１１７】
実施例2では、特許文献2に開示された技術などを利用して、人物Aの無表情顔モデル800を生成する。そして、複数フレームの間での全頂点の対応が取れるという前提に基づき、人物Aに幾つかの表情を作ってもらい、表情サンプルを取得する。
【０１１８】
このように、人物Aの表情付き顔モデル801は、人物Aの無表情顔モデル800を生成した状態、または、同じ撮影環境で取得された表情付き顔モデルである。なお、特許文献2に開示された技術は、顔から蛍光塗料を落とした時点で、フレーム間の対応点探索が困難になる。
【０１１９】
相対座標変動モデル802は、このようにして得られた人物Aの無表情顔モデル800と表情付き顔モデル801の全対応点の変動（3D空間における移動量またはベクトルで表される）を記録したものである。
【０１２０】
変動モデルデータベース105には、実施例1と同様、表情カテゴリが予め設定されている。相対座標変動モデル802の登録時、実際にシステムの利用者が人物Aの表情付き顔モデル801を確認して、適切な表情カテゴリを表す表情ラベルを付加する。
【０１２１】
人物Bの無表情顔モデル804は、人物Aの無表情顔モデル800と同様に生成する。ここで、人物Bの無表情顔モデル804に、人物Aの表情から生成した相対座標変動モデル802を適用するには、人物Aと人物Bの顔モデルの各頂点の対応が取れている必要がある。しかし、人物Aと人物Bは、顔の骨格や表面積が大きく異なる上、蛍光塗料の塗り方（塗りむらのパターン）が異なり、人物Aの顔モデルの全頂点と人物Bの顔モデルの全頂点の間で対応点を探索することは困難である。
【０１２２】
特許文献3は、詳細なポリゴンモデルのフレーム間の対応を求める処理を開示する。
【０１２３】
異なる形状のCGオブジェクト同士を対応付ける特許文献3に開示される方法は、ポリゴンリダクション処理によりオブジェクトAとBの密な形状（高階層ポリゴンモデル）からポリゴン数を低減して、疎な形状（低階層ポリゴンモデル）を生成する。その際、ポリゴン数の低減過程をメタデータとして保存する。そして、低階層ポリゴンモデルの各頂点の対応付けを行った後、前述したメタデータを用い各ポリゴンモデルを高階層ポリゴンモデルへ復元処理する。以上の処理により、高精細ポリゴンのオブジェクトAとBの対応付けを行うことができる。
【０１２４】
ただし、特許文献3の方法により、顔の形状を構成するポリゴンに一様にポリゴンリダクション処理を施すと、他の部位に比べて情報量が多い目、眉、口と言った部位の情報が消失する。そのため、一様にポリゴンリダクション処理せずに、非特許文献3のように、人物Aの無表情モデル800の各頂点に相当する人物Bの無表情顔モデル804の頂点には重みを付けて削減を抑制する必要がある。
【０１２５】
また、低階層ポリゴンモデルの頂点同士の対応付けは、例えば、システムの利用者が手作業で顔の重要部分である目、口、鼻周辺の頂点を指定してもよい。また、Active Appearance Model（非特許文献8参照）などの方法を用いて、顔の特徴部位の頂点の対応を取ってもよい。
【０１２６】
このように、頂点の対応付ける処理を行うことで、人物Aの無表情顔モデル800と人物Bの無表情顔モデル804の対応を取る。そして、人物Aの表情から算出した相対座標変動モデル802を人物Bの無表情顔モデル804を構成する各頂点に適用することで、人物Aの表情変動を人物Bの顔モデルに適用することができる。
【０１２７】
実施例2では、骨格モデルを用いる代わりに、個人の無表情顔モデル800を利用して、表情による形状変動をモデル化した相対座標変動モデル802を生成する。表情の「笑顔」を例にすると、笑顔はどの人種や性別にも共通して、目尻が下がり口角が上がるといった顔の形状変動が見られる。万人に共通する形状変動は、骨格モデルを用いなくとも、無表情顔モデル800を基準とする変動モデルで充分に記述することが可能である。
【０１２８】
●変動モデルデータベース生成部
図9のブロック図により実施例2の変動モデルデータベース生成部403および任意表情生成部401の構成例を示す。
【０１２９】
入力データ取得部402は、実施例1と同様に、被撮影者（例えば人物A）の顔のRGB画像と高精細な奥行き情報を入力する。
【０１３０】
表情顔モデル生成部900は、入力データ取得部402から入力された高精細ポリゴンモデルの各頂点の微小変動を取り除くために、複数フレームの間の平均値または中央値を取り、無表情顔モデル800および表情付き顔モデル801を生成する。
【０１３１】
相対座標変動モデル算出部901は、高精細ポリゴンモデルである無表情顔モデル800と表情付き顔モデル801の間の各頂点の移動量を相対座標変動モデル802として算出する。
【０１３２】
表情カテゴリ分類部504は、実施例1と同様の処理を行い、相対座標変動モデル算出部901が算出した相対座標変動モデル802に表情カテゴリのラベルを付加し、相対座標変動モデル802を変動モデルDB105に登録する。勿論、必要があれば、表情カテゴリのラベルに加え、人物の氏名などの属性情報を同時に変動モデルDB105に登録する。
【０１３３】
任意表情生成部401の対応点探索部902は、上述した対応付け処理を行い、人物Aの無表情顔モデル800と人物Bの無表情顔モデル804の全頂点を対応付ける。
【０１３４】
表情付き顔モデル生成部406は、システムの利用者が選択した表情カテゴリに対応する、変動モデルデータベース105に蓄積された相対座標変動モデル802を適用して、対応付け処理が完了した人物Bの無表情顔モデル804に表情変動を付加する。
【０１３５】
図10のフローチャートにより変動モデルデータベース生成部403の処理を説明する。
【０１３６】
表情顔モデル生成部900は、入力データ取得部401から入力データ（被撮影者の顔を撮影して得られた画像と形状情報（奥行き情報）および被撮影者の情報）を取得する(S1001)。そして、被撮影者の無表情顔モデル800が存在するか否か（システムのメモリに格納されているか否か）を検索する(S1002)。被撮影者の無表情顔モデル800が存在する場合、処理はステップ1004に進む。
【０１３７】
被撮影者の無表情顔モデル800が存在しない場合、表情顔モデル生成部900は、無表情顔モデル800を生成する(S1003)。無表情顔モデル800の生成は、時系列的に連続する複数フレームに亘る入力データが必要になる。そのため、表情顔モデル生成部900は、充分な入力データ（サンプル）が集まるまで、処理をステップS1001に戻して入力データを取得する。
【０１３８】
次に、表情顔モデル生成部900は、入力データ取得部401から入力データ（被撮影者の顔を撮影して得られた画像と形状情報（奥行き情報）および被撮影者の情報）を取得する(S1004)。そして、被撮影者の表情付き顔モデルが存在するか否か（システムのメモリに格納されているか否か）を検索する(S1005)。被撮影者の無表情顔モデルが存在する場合、処理はステップ1007に進む。
【０１３９】
被撮影者の表情付き顔モデルが存在しない場合、表情顔モデル生成部900は、表情付き顔モデルを生成する(S1006)。表情付き顔モデルの生成は、時系列的に連続する複数フレームに亘る入力データが必要になる。そのため、表情顔モデル生成部900は、充分な入力データ（サンプル）が集まるまで、処理をステップS1004に戻して入力データを取得する。
【０１４０】
また、被撮影者の無表情顔モデル800と表情付き顔モデル801は、そのときの肌の状態やその日の気分、さらには経年変化など様々な要因で微妙に変化すると予想される。そのため、本実施例においては、無表情顔モデル800と表情付き顔モデル801をその場限りのデータとして生成することを想定し、ストレージデバイスなどに保存しない。ただし、構築するシステムによっては、一度、無表情顔モデル800と表情付き顔モデル801を生成した後、被撮影者の属性情報とともに無表情顔モデル800と表情付き顔モデル801をシステムのストレージデバイスに保存してもよい。
【０１４１】
次に、相対座標変動モデル算出部901は、無表情顔モデル800と表情付き顔モデル801の間の各頂点の移動量を相対座標変動モデル802として算出する(S1007)。
【０１４２】
次に、表情カテゴリ分類部504は、算出された相対座標変動モデル802に表情カテゴリのラベルを付加し、相対座標変動モデル802を変動モデルDB105に登録する(S1008)。
【０１４３】
図11のフローチャートにより実施例2の任意表情生成部401の処理を説明する。
【０１４４】
表情顔モデル生成部900は、入力データ取得部401から入力データ（被撮影者の顔を撮影して得られた画像と形状情報（奥行き情報）および被撮影者の情報）を取得する(S1101)。そして、被撮影者の無表情顔モデル804が存在するか否か（システムのメモリに格納されているか否か）を検索する(S1102)。被撮影者の無表情顔モデル804が存在する場合、処理はステップ1104に進む。
【０１４５】
被撮影者の無表情顔モデル804が存在しない場合、表情顔モデル生成部900は、無表情顔モデル804を生成する(S1103)。無表情顔モデル804の生成は、時系列的に連続する複数フレームに亘る入力データが必要になる。そのため、表情顔モデル生成部900は、充分な入力データ（サンプル）が集まるまで、処理をステップS1101に戻して入力データを取得する。
【０１４６】
次に、対応点探索部902は、無表情顔モデル800と無表情顔モデル804の各頂点の間の対応が取れているか否かを判定し(S1104)、対応が取れていない場合は上述した対応点を探索する処理を行う(S1105)。
【０１４７】
頂点の対応がとれている場合、または、対応点探索が終了すると、表情付き顔モデル生成部406は、ステップS706と同様、変動モデルDB105に設定された表情カテゴリからシステムの利用者に所望する表情カテゴリを選択させる。そして、その選択情報を取得する(S1106)。そして、頂点の対応が取れた、人物Bの無表情顔モデル804の各頂点に、選択情報に対応する相対座標変動モデル802を適用して、各頂点を移動した人物Bの表情付き顔モデル805を生成する(S1107)。
【０１４８】
以上のように、実施例2の表情生成装置は、デプスデータ（奥行き情報）を利用して、個々の人物の無表情顔モデルを生成し、表情変化に起因する無表情顔モデルからの変動分を相対座標変動モデル802として変動モデルDB105に蓄積する。これにより、任意の顔モデルに対して表情を付加することができる。
【０１４９】
なお、実施例2の表情生成装置は、デプスデータを利用せずに、二次元画像処理によって表情による変動モデルを記述することが可能である。例えば、非特許文献8に記載されたActive Appearance Model (AAM)を利用して、顔の特徴点群の座標値を算出することができる。そして、顔の特徴点群の座標値から、無表情顔モデルと表情付き顔モデルを生成することでき、実施例2で説明した方法を用いれば、二次元の画像特徴量からでも表情の変動モデルを生成することが可能である。そして、二次元モーフィングの手法（非特許文献9参照）を用いて、任意の顔モデルに表情を付加する。
【実施例３】
【０１５０】
以下、本発明にかかる実施例3の情報処理を説明する。なお、実施例3において、実施例1、2と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１５１】
実施例3では、二次元または三次元の変動モデルに加え、テクスチャの変動モデルを利用する方法を説明する。以下では、実施例3として、実施例1の構成にテクスチャの変動モデルを加えた例を説明する。勿論、実施例2の構成にテクスチャの変動モデルを加えた実施例も実現可能である。
【０１５２】
図12のブロック図により実施例3の変動モデルデータベース生成部403および任意表情生成部401の構成例を示す。
【０１５３】
テクスチャ情報算出部1200は、入力データ取得部402から入力されるRGB画像を画像処理して、顔のテクスチャ情報を算出する。テクスチャ情報は、例えば皺、毛穴、瞳の色、唇の色、眉の形、一様光源環境下における肌の色などの情報、顔のランドマーク付近（目尻、口端、眉の端など）の画像特徴を有する領域パターン情報（テクストン、textone）などである。テクストンは、あるルールに従い画像をクラスタ化することにより、当該画像がもつ際立った特徴を把握し易くするものである。テクストンは、Gabor特徴（非特許文献10参照）やLBP特徴（非特許文献11参照）など様々な特徴量を用いて記述される。
【０１５４】
テクスチャ情報は、一般に、次の二種類の方法で算出することができる。
【０１５５】
一つ目の方法は、前述したActive Appearance Model (AAM)や、Haar-like特徴量を使った顔検出（非特許文献12参照）などにより二次元の入力画像から顔領域を特定する。そして、フレーム間において顔の位置をレジストレーションした上、顔のテクスチャ変動を取得する。この方法によるテクスチャ変動モデルは、フレーム間の二次元画像の各座標における輝度変化または色変化を時系列信号として記述したモデルである。
【０１５６】
二つ目の方法は、三次元復元した顔形状の各頂点の色を入力画像から取得し、三次元顔モデルの各頂点の色をテクスチャ座標に展開して、テクスチャ情報を算出する（非特許文献13参照）。
【０１５７】
非特許文献13に記載された標準的なCG技術において、顔の表面形状のようなパラメトリック曲面にテクスチャをマッピングする際、三次元空間の曲面上の点(x, y, z)は、二つのパラメータ(u, v)で表すのが一般的である。これらのパラメータを、0≦u≦1、0≦v≦1の範囲で変化させて、曲面上の点の三次元座標値およびテクスチャの画素値を得ることができる。このテクスチャマッピングの手法を利用すれば、パラメータ(u, v)をテクスチャ座標として定義することができる。
【０１５８】
そして、三次元オブジェクトの頂点座標(x, y, z)とテクスチャ座標(u, v)の変換行列を予め求め、三次元復元した顔形状の各頂点の色を、テクスチャ座標(u, v)に投影することが可能になる。テクスチャ情報を取得する手法は、構築するシステムにおいて好適な手法を用いればよい。
【０１５９】
テクスチャ変動モデル生成部1201は、骨格モデルを利用して、テクスチャ情報算出部1200が算出したテクスチャ情報から個人差を吸収し、表情変動によるテクスチャ変動成分をモデル化する。
【０１６０】
この処理は、テクスチャ座標に展開されたテクスチャ画像を画像全体から、または、局所領域ごとにテクスチャ情報（テクストンなどの特徴量）を抽出することによって行われる。復元した三次元形状からテクスチャ情報を取り出す場合を想定すると、テクスチャ座標に展開されたテクスチャの目、鼻、口の各周辺領域は、テクスチャ座標において一意に決まったポリゴンの座標にマッピングされる。このマッピング方法は、一般にパラメータ化テクスチャマッピングまたはUVマッピング（非特許文献14参照）と呼ばれる。ただし、これは異なる三次元顔形状において、各頂点の対応がすべて取れていることが前提になる。
【０１６１】
入力データから取得できる人物Aの三次元顔形状は、人物Aの骨格モデル101を利用して、一旦、汎用顔モデル100に変形される。一度、汎用顔モデル100に変換することで、各表情の三次元顔形状同士の対応付けが可能になる。そして、対応付けられた各頂点のテクスチャ情報をテクスチャ座標に展開し、テクスチャ画像を生成する。実施例3では、生成されたテクスチャ画像をテクスチャ変動モデルとして、変動モデルDB105に登録する。
【０１６２】
なお、テクスチャ変動モデルは、一つのテクスチャ画像で構成してもよいし、得られたテクスチャ画像の時系列的な変動をオプティカルフロー推定処理（非特許文献15参照）を利用して算出し、変動モデルを構成してもよい。
【０１６３】
テクスチャ変動モデルを変動モデルDB105に登録する際は、表情カテゴリのラベルを付加した三次元形状成分の変動モデル（3D形状変動モデル）と対になる顔面上のテクスチャ成分の変動モデル（テクスチャ変動モデル）を登録する。なお、3D形状変動モデルは、対応がとれた各頂点の変位ベクトル、または、対応がとれたポリゴン内の法線の変位ベクトルとして表される。また、3D形状変動モデルおよびテクスチャ変動モデルは、顔の局所領域ごとに算出され、登録されてもよい。
【０１６４】
表情付き顔モデル生成部505は、システムの利用者が選択した表情カテゴリに登録されている3D形状変動モデルおよびテクスチャ変動モデルをランダムに選択し、汎用顔モデル100に適用する。そして、変動モデルを適用後の汎用顔モデルを骨格モデルDB501に登録された人物Aまたは人物Bの顔に変形することで、任意の顔モデルに任意の表情を付加することができる。
【０１６５】
なお、3D形状変動モデルがターゲットシェイプの重みwで定義付けられている場合、テクスチャも3D形状変動モデルと同様の重みwを利用してテクスチャをブレンド処理した上で汎用顔モデル101に適用してもよい。あるいは、顔の局所領域（部位）ごとにテクスチャを切り替えるなども可能である。
【０１６６】
また、複数の表情カテゴリに属する変動モデル、言い換えれば、表情カテゴリが異なる複数の変動モデルの重み付き線形和により、各頂点の3D形状の変位量を求め、当該変位量を基準表情に当て嵌めて、任意の表情の顔モデルを生成してもよい。
【０１６７】
実施例3の処理は、実施例1の処理と略同様であり、詳細な説明を省略する。
【０１６８】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ（又はCPUやMPU等）がプログラムを読み出して実行する処理である。
【図１】
2014211719.tif 000003
【図３】
2014211719.tif 000004
【図４】
2014211719.tif 000005
【図５】
2014211719.tif 000006
【図６】
2014211719.tif 000007
【図７】
2014211719.tif 000008
【図８】
2014211719.tif 000009
【図９】
2014211719.tif 000010
【図１０】
2014211719.tif 000011
【図１１】
2014211719.tif 000012
【図１２】
2014211719.tif 000013
【図２】
2014211719.tif 000014