(57)【要約】【課題】短い処理時間で、形状に関する状態を精度よく推定することができるようにする。【解決手段】特徴点検出部３４によって、カメラ１２によって撮像された顔画像から、特徴点を検出する。個人差パラメータ最適化部４０及び個人内変動パラメータ最適化部４２によって、個人差基底と個人内変動基底と混在基底とを含む３種類の基底の線形和を用いて表される形状モデルを用いて、検出された特徴点に基づいて、個人差基底と個人内変動基底と混在基底との各々の係数パラメータを推定する。【選択図】図２
2015046018.tif 000002
【特許請求の範囲】
【請求項１】
推定対象物を撮像する撮像手段によって撮像された前記推定対象物を表す画像から、特徴点を検出する特徴点検出手段と、
推定対象物の形状に関する基準の状態である物体であって、前記推定対象物と同一種類の物体を表す複数の画像に基づいて求められる、物体の個体差を表す個体差基底と、前記推定対象物と同一種類の物体を表す複数の画像に基づいて求められる、物体の個体内の変動を表す個体内変動基底及び前記物体の個体差と個体内変動とが混在した混在基底とを含む少なくとも３種類の基底を用いて表される、前記推定対象物の形状に関する状態を識別するための予め学習された形状モデルを用いて、前記特徴点検出手段によって検出された特徴点に基づいて、前記画像が表す前記推定対象物の形状に関する状態を推定し、又は前記状態を表すパラメータを推定する推定手段と、
を含む形状状態推定装置。
【請求項２】
前記形状モデルは、前記少なくとも３種類の基底の線形和で表わされ、
前記推定手段は、前記特徴点検出手段によって検出された特徴点に基づいて、前記個体差基底の係数パラメータ、前記個体内変動基底の係数パラメータ、及び前記混在基底の係数パラメータを推定することにより、前記画像が表す前記推定対象物の形状に関する状態を推定し、又は前記状態を表すパラメータを推定し、
前記個体差基底の係数パラメータが既に推定された場合には、前記特徴点検出手段によって検出された特徴点、及び推定された前記個体差基底の係数パラメータに基づいて、前記個体内変動基底の係数パラメータ及び前記混在基底の係数パラメータを推定することにより、前記画像が表す前記推定対象物の形状に関する状態を推定し、又は前記状態を表すパラメータを推定する
請求項１記載の形状状態推定装置。
【請求項３】
前記形状モデルは、顔の形状に関する状態を識別するための顔形状モデルであって、
前記特徴点検出手段は、前記撮像手段によって撮像された推定対象者の顔を表す画像から、特徴点を検出し、
前記推定手段は、前記顔形状モデルを用いて、前記特徴点検出手段によって検出された特徴点に基づいて、前記画像が表す前記推定対象者の顔の形状に関する状態を推定し、又は前記状態を表すパラメータを推定する請求項１又は２記載の形状状態推定装置。
【請求項４】
推定対象物の形状に関する複数の状態の何れかが予め付与された、前記推定対象物と同一種類の物体を表す複数の形状データ又は画像の各々のうちの、前記複数の状態の中の基準の状態が付与された形状データ又は画像の各々について検出された特徴点に基づいて、物体の個体差を表す個体差基底を算出する個体差基底算出手段と、
前記個体差基底算出手段によって算出された前記個体差基底と、前記複数の形状データ又は画像の各々について検出された特徴点とに基づいて、物体の個体内の変動を表す個体内変動基底を算出する個体内変動基底算出手段と、
前記個体差基底算出手段によって算出された前記個体差基底と、前記個人内変動基底算出手段によって算出された前記個体内変動基底と、前記複数の形状データ又は画像の各々について検出された特徴点とに基づいて、前記物体の個体差と個体内変動とが混在した混在基底を算出する混在基底算出手段と、
前記個体差基底算出手段によって算出された前記個体差基底と、前記個人内変動基底算出手段によって算出された前記個体内変動基底と、前記混在基底算出手段によって算出された前記混在基底とを含む少なくとも３種類の基底を用いて表される、前記推定対象物の形状に関する状態を識別するための形状モデルを生成するモデル生成手段と、
を含む形状モデル生成装置。
【請求項５】
前記形状モデルは、前記少なくとも３種類の基底の線形和で表わされる請求項４記載の形状モデル生成装置。
【請求項６】
前記形状モデルは、顔の形状に関する状態を識別するための顔形状モデルであって、
前記特徴点検出手段は、顔の形状に関する複数の状態の何れかが予め付与された、複数の顔を表す複数の形状データ又は画像の各々から、特徴点を検出する請求項４又は５記載の形状モデル生成装置。
【請求項７】
コンピュータを、
推定対象物を撮像する撮像手段によって撮像された前記推定対象物を表す画像から、特徴点を検出する特徴点検出手段、及び
推定対象物の形状に関する基準の状態である物体であって、前記推定対象物と同一種類の物体を表す複数の画像に基づいて求められる、物体の個体差を表す個体差基底と、前記推定対象物と同一種類の物体を表す複数の画像に基づいて求められる、物体の個体内の変動を表す個体内変動基底及び前記物体の個体差と個体内変動とが混在した混在基底とを含む少なくとも３種類の基底を用いて表される、前記推定対象物の形状に関する状態を識別するための予め学習された形状モデルを用いて、前記特徴点検出手段によって検出された特徴点に基づいて、前記画像が表す前記推定対象物の形状に関する状態を推定し、又は前記状態を表すパラメータを推定する推定手段
として機能させるためのプログラム。
【請求項８】
コンピュータを、
推定対象物の形状に関する複数の状態の何れかが予め付与された、前記推定対象物と同一種類の物体を表す複数の形状データ又は画像の各々のうちの、前記複数の状態の中の基準の状態が付与された形状データ又は画像の各々について検出された特徴点に基づいて、物体の個体差を表す個体差基底を算出する個体差基底算出手段、
前記個体差基底算出手段によって算出された前記個体差基底と、前記複数の形状データ又は画像の各々について検出された特徴点とに基づいて、物体の個体内の変動を表す個体内変動基底を算出する個体内変動基底算出手段、
前記個体差基底算出手段によって算出された前記個体差基底と、前記個人内変動基底算出手段によって算出された前記個体内変動基底と、前記複数の形状データ又は画像の各々について検出された特徴点とに基づいて、前記物体の個体差と個体内変動とが混在した混在基底を算出する混在基底算出手段、及び
前記個体差基底算出手段によって算出された前記個体差基底と、前記個人内変動基底算出手段によって算出された前記個体内変動基底と、前記混在基底算出手段によって算出された前記混在基底とを含む少なくとも３種類の基底を用いて表される、前記推定対象物の形状に関する状態を識別するための形状モデルを生成するモデル生成手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、形状状態推定装置、形状モデル生成装置、及びプログラムに係り、特に、推定対象物の形状に関する状態を推定するための形状状態推定装置、形状モデル生成装置、及びプログラムに関する。
【背景技術】
【０００２】
従来より、顔画像処理の世界では標準的なActive Appearance Modelの形状モデルを用いる手法が知られている（非特許文献１、２）。非特許文献２では、以下の式を用いることが記載されている。
【０００３】
【数１】
2015046018.tif 000003
【０００４】
また、形状のパラメータyと表情のパラメータaと分離する手法が知られている（非特許文献３）。非特許文献３では、以下の式を用いることが記載されている。
【０００５】
【数２】
2015046018.tif 000004
【０００６】
上記の式で表わされるモデルは、統計的手法で作られたモデルでは無く、手作業で調整されたモデルである（非特許文献４参照）。
【０００７】
また、ｃ＝Ｐbｃb＋Ｐwｃwのように個人間差(between-identity)と個人内差(within-identity)に分離する方法が知られている（非特許文献５、６）。非特許文献６では、正準判別分析で使われる個人差と個人内変動を利用する方法が記載されている。
【０００８】
また、N-mode SVDを使って個人差と個人内変動の基底を分離する方法が知られている（非特許文献７）。
【０００９】
また、上記の方法のように汎用的な形状モデルを事前に用意するのではなく、対象者の3次元顔形状を撮影中の2次元カメラ画像から復元することで特定個人に適合したモデル形状を得る方法が知られている（特許文献１、非特許文献８）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１１−１２８９６６号公報
【非特許文献】
【００１１】
【非特許文献１】T.F.Cootes et al.,“Active Appearance Models", IEEE Transactions on Pattern Analysis and Machine Intelligence, 2001
【非特許文献２】lain Matthews et al.,“Active Appearance Models Revisited", International Journal of Computer Vision, 2004
【非特許文献３】Jorgen Ahlberg,“CANDIDE-3- AN UPDATED PARAMETERISED FACE", Report No. LiTH-ISY-R-2326, Dept. of Electrical Engineering, Linkoping University, Sweden, 2001
【非特許文献４】Jorgen Ahlberg, “An Active Model for Facial Feature Tracking", EURASIP Journal on Applied Signal Processing, 2002
【非特許文献５】Handbook of Face Recognition", p.120, 5.1.3.2 Separating Sources of Variabirity
【非特許文献６】G.J.Edwards et al.,“Statistical Models of Face Images − Improving Specificity", British Machine Vision Conference, 1996
【非特許文献７】菅野裕介他,“顔変形を伴う3次元頭部姿勢の単眼推定",画像の認識・理解シンポジウム(MIRU2007),2007
【非特許文献８】岡兼司他,“頭部変形モデルの自動構築をともなう実時間頭部姿勢推定",情報処理学会論文誌:コンピュータビジョンとイメージメディア,2006
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上記非特許文献１、２に記載の技術では、時間変動するパラメータと時間変動しないパラメータが混合しているために、個人内の表情変化パラメータを変更すると、個人間差パラメータも変更されてしまう。従って、表情変化だけをフィッティングしたいのに、個人差形状も変化してしまうことが避けられないため、フィッティング精度が悪化してしまう、という問題がある。
【００１３】
また、上記非特許文献３、４に記載の技術は、統計モデルではないので本質的に精度が低い。
【００１４】
また、上記非特許文献５に記載の方法を適用したところ、個人間変動と個人内変動の分離が十分ではないことが分かっだ。つまり、表情変化だけをフィッティングしたいのに個人差形状も変化してしまう、という問題がある。
【００１５】
また、上記の非特許文献１、２では、時間変動するパラメータと時間変動しないパラメータが混合しているために、常に全てのパラメータを推定する必要があり、処理時間がかかる、という問題がある。
【００１６】
また、上記の非特許文献５に記載の手法では、パラメータの分離が試みられているが、個人間差が完全に分離できていないために、推定パラメータは多くなってしまう、という問題がある。
【００１７】
上記の非特許文献７に記載の手法では、N-mode SVDを使うためにデータを用意する際に欠落が許されないという制約があるのと、出来上がったモデルが、以下の式に示すように積の形になっているため、扱い難い。
【００１８】
【数３】
2015046018.tif 000005
【００１９】
また、上記の特許文献１及び非特許文献８に記載の技術では、計測中に対象者の３次元顔形状を復元するので処理結果がうまくいくかどうかに不確実性が残り、適用できるアプリケーションが限定される、という問題がある。
【００２０】
本発明は、上記の問題点を解決するためになされたもので、短い処理時間で、形状に関する状態を精度よく推定することができる形状状態推定装置、形状モデル生成装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２１】
上記の目的を達成するために第１の発明に係る形状状態推定装置は、推定対象物を撮像する撮像手段によって撮像された前記推定対象物を表す画像から、特徴点を検出する特徴点検出手段と、推定対象物の形状に関する基準の状態である物体であって、前記推定対象物と同一種類の物体を表す複数の画像に基づいて求められる、物体の個体差を表す個体差基底と、前記推定対象物と同一種類の物体を表す複数の画像に基づいて求められる、物体の個体内の変動を表す個体内変動基底及び前記物体の個体差と個体内変動とが混在した混在基底とを含む少なくとも３種類の基底を用いて表される、前記推定対象物の形状に関する状態を識別するための予め学習された形状モデルを用いて、前記特徴点検出手段によって検出された特徴点に基づいて、前記画像が表す前記推定対象物の形状に関する状態を推定し、又は前記状態を表すパラメータを推定する推定手段と、を含んで構成されている。
【００２２】
また、第２の発明に係るプログラムは、コンピュータを、推定対象物を撮像する撮像手段によって撮像された前記推定対象物を表す画像から、特徴点を検出する特徴点検出手段、及び推定対象物の形状に関する基準の状態である物体であって、前記推定対象物と同一種類の物体を表す複数の画像に基づいて求められる、物体の個体差を表す個体差基底と、前記推定対象物と同一種類の物体を表す複数の画像に基づいて求められる、物体の個体内の変動を表す個体内変動基底及び前記物体の個体差と個体内変動とが混在した混在基底とを含む少なくとも３種類の基底を用いて表される、前記推定対象物の形状に関する状態を識別するための予め学習された形状モデルを用いて、前記特徴点検出手段によって検出された特徴点に基づいて、前記画像が表す前記推定対象物の形状に関する状態を推定し、又は前記状態を表すパラメータを推定する推定手段として機能させるためのプログラムである。
【００２３】
第１の発明及び第２の発明によれば、特徴点検出手段によって、推定対象物を撮像する撮像手段によって撮像された前記推定対象物を表す画像から、特徴点を検出する。そして、推定手段によって、推定対象物の形状に関する基準の状態である物体であって、前記推定対象物と同一種類の物体を表す複数の画像に基づいて求められる、物体の個体差を表す個体差基底と、前記推定対象物と同一種類の物体を表す複数の画像に基づいて求められる、物体の個体内の変動を表す個体内変動基底及び前記物体の個体差と個体内変動とが混在した混在基底とを含む少なくとも３種類の基底を用いて表される、前記推定対象物の形状に関する状態を識別するための予め学習された形状モデルを用いて、前記特徴点検出手段によって検出された特徴点に基づいて、前記画像が表す前記推定対象物の形状に関する状態を推定し、又は前記状態を表すパラメータを推定する。
【００２４】
このように、物体の個体差を表す個体差基底と、物体の個体内の変動を表す個体内変動基底と、物体の個体差と個体内変動とが混在した混在基底とを含む少なくとも３種類の基底を用いて表される、推定対象物の形状に関する状態を識別するための形状モデルを用いて、短い処理時間で、形状に関する状態を精度よく推定することができる。
【００２５】
第３の発明に係る形状モデル生成装置は、推定対象物の形状に関する複数の状態の何れかが予め付与された、前記推定対象物と同一種類の物体を表す複数の形状データ又は画像の各々のうちの、前記複数の状態の中の基準の状態が付与された形状データ又は画像の各々について検出された特徴点に基づいて、物体の個体差を表す個体差基底を算出する個体差基底算出手段と、前記個体差基底算出手段によって算出された前記個体差基底と、前記複数の形状データ又は画像の各々について検出された特徴点とに基づいて、物体の個体内の変動を表す個体内変動基底を算出する個体内変動基底算出手段と、前記個体差基底算出手段によって算出された前記個体差基底と、前記個人内変動基底算出手段によって算出された前記個体内変動基底と、前記複数の形状データ又は画像の各々について検出された特徴点とに基づいて、前記物体の個体差と個体内変動とが混在した混在基底を算出する混在基底算出手段と、前記個体差基底算出手段によって算出された前記個体差基底と、前記個人内変動基底算出手段によって算出された前記個体内変動基底と、前記混在基底算出手段によって算出された前記混在基底とを含む少なくとも３種類の基底を用いて表される、前記推定対象物の形状に関する状態を識別するための形状モデルを生成するモデル生成手段と、を含んで構成されている。
【００２６】
第４の発明に係るプログラムは、コンピュータを、推定対象物の形状に関する複数の状態の何れかが予め付与された、前記推定対象物と同一種類の物体を表す複数の形状データ又は画像の各々のうちの、前記複数の状態の中の基準の状態が付与された形状データ又は画像の各々について検出された特徴点に基づいて、物体の個体差を表す個体差基底を算出する個体差基底算出手段、前記個体差基底算出手段によって算出された前記個体差基底と、前記複数の形状データ又は画像の各々について検出された特徴点とに基づいて、物体の個体内の変動を表す個体内変動基底を算出する個体内変動基底算出手段、前記個体差基底算出手段によって算出された前記個体差基底と、前記個人内変動基底算出手段によって算出された前記個体内変動基底と、前記複数の形状データ又は画像の各々について検出された特徴点とに基づいて、前記物体の個体差と個体内変動とが混在した混在基底を算出する混在基底算出手段、及び前記個体差基底算出手段によって算出された前記個体差基底と、前記個人内変動基底算出手段によって算出された前記個体内変動基底と、前記混在基底算出手段によって算出された前記混在基底とを含む少なくとも３種類の基底を用いて表される、前記推定対象物の形状に関する状態を識別するための形状モデルを生成するモデル生成手段として機能させるためのプログラムである。
【００２７】
第３の発明及び第４の発明によれば、個体差基底算出手段によって、推定対象物の形状に関する複数の状態の何れかが予め付与された、前記推定対象物と同一種類の物体を表す複数の形状データ又は画像の各々のうちの、前記複数の状態の中の基準の状態が付与された形状データ又は画像の各々について検出された特徴点に基づいて、物体の個体差を表す個体差基底を算出する。
【００２８】
そして、個体内変動基底算出手段によって、前記個体差基底算出手段によって算出された前記個体差基底と、前記複数の形状データ又は画像の各々について検出された特徴点とに基づいて、物体の個体内の変動を表す個体内変動基底を算出する。混在基底算出手段によって、前記個体差基底算出手段によって算出された前記個体差基底と、前記個人内変動基底算出手段によって算出された前記個体内変動基底と、前記複数の形状データ又は画像の各々について検出された特徴点とに基づいて、前記物体の個体差と個体内変動とが混在した混在基底を算出する。
【００２９】
そして、モデル生成手段によって、前記個体差基底算出手段によって算出された前記個体差基底と、前記個人内変動基底算出手段によって算出された前記個体内変動基底と、前記混在基底算出手段によって算出された前記混在基底とを含む少なくとも３種類の基底を用いて表される、前記推定対象物の形状に関する状態を識別するための形状モデルを生成する。
【００３０】
このように、基準の状態が付与された形状データ又は画像の各々について検出された特徴点に基づいて、物体の個体差を表す個体差基底を算出すると共に、複数の形状データ又は画像の各々について検出された特徴点に基づいて、個体内変動基底及び混在基底を算出して、算出された少なくとも３種類の基底を用いて表される形状モデルを生成することにより、短い処理時間で形状に関する状態を精度よく推定するための形状モデルを生成することができる。
【発明の効果】
【００３１】
以上説明したように、本発明の形状状態推定装置及びプログラムによれば、物体の個体差を表す個体差基底と、物体の個体内の変動を表す個体内変動基底と、物体の個体差と個体内変動とが混在した混在基底とを含む少なくとも３種類の基底を用いて表される、推定対象物の形状に関する状態を識別するための形状モデルを用いて、短い処理時間で、形状に関する状態を精度よく推定することができる、という効果が得られる。
【００３２】
また、本発明の形状モデル生成装置及びプログラムによれば、基準の状態が付与された形状データ又は画像の各々について検出された特徴点に基づいて、物体の個体差を表す個体差基底を算出すると共に、複数の形状データ又は画像の各々について検出された特徴点に基づいて、個体内変動基底及び混在基底を算出して、算出された少なくとも３種類の基底を用いて表される形状モデルを生成することにより、短い処理時間で形状に関する状態を精度よく推定するための形状モデルを生成することができる、という効果が得られる。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施の形態に係る形状状態推定装置の構成を示すブロック図である。
【図２】本発明の実施の形態に係る形状状態推定装置のコンピュータの構成を示すブロック図である。
【図３】本発明の実施の形態に係るモデル学習装置の構成を示すブロック図である。
【図４】本発明の実施の形態に係るモデル学習装置のコンピュータの構成を示すブロック図である。
【図５】（Ａ）２次元画像の特徴点の例を示す図、及び（Ｂ）３次元形状データの特徴点の例を示す図である。
【図６】Ａ1の影響が取り除ける理由を説明するための図である。
【図７】本発明の実施の形態に係るモデル学習装置におけるモデル学習処理ルーチンの内容を示すフローチャートである。
【図８】本発明の実施の形態に係るモデル学習装置におけるモデル学習処理ルーチンの内容を示すフローチャートである。
【図９】本発明の実施の形態に係る形状状態推定装置における形状状態推定処理ルーチンの内容を示すフローチャートである。
【図１０】（Ａ）ＰＣＡを使う従来手法におけるデータ準備を説明するための図、（Ｂ）ＣＤＡに基づく従来手法におけるデータ準備を説明するための図、（Ｃ）Ｎ−ｍｏｄｅ  ＳＶＤを使う従来手法におけるデータ準備を説明するための図、及び（Ｄ）本実施の形態に係る手法におけるデータ準備を説明するための図である。
【図１１】個人内変動に関するクラス平均、個人差に関するクラス平均を示す図である。
【図１２】個人内変動に関するクラス平均、個人差に関するクラス平均を示す図である。
【図１３】従来手法における個人毎の平均表情位置を示す図である。
【図１４】本実施の形態における個人毎の通常表情位置を示す図である。
【発明を実施するための形態】
【００３４】
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、本実施の形態では、顔画像から、顔の形状に関する状態を推定する形状状態推定装置に本発明を適用した場合を例に説明する。
【００３５】
図１に示すように、本発明の実施の形態に係る形状状態推定装置１０は、対象とする被験者の顔を含む画像を撮像するカメラ１２と、画像処理を行うコンピュータ１４と、ＣＲＴ等で構成された表示装置１６と、外部記憶装置１８とを備えている。
【００３６】
コンピュータ１４は、ＣＰＵ２０、後述する形状状態推定処理ルーチンのプログラムや顔形状モデルを記憶した内部メモリ２２を含んで構成されている。このコンピュータ１４をハードウエアとソフトウエアとに基づいて定まる機能実現手段毎に分割した機能ブロックで説明すると、図２に示すように、コンピュータ１４は、カメラ１２から出力される濃淡画像である顔画像を入力する画像入力部３０と、画像入力部３０の出力である顔画像から、顔領域を検出する顔検出部３２と、顔領域上の特徴点を検出する特徴点検出部３４と、後述するモデル学習装置５０によって予め学習された顔形状モデルのパラメータを記憶したモデルパラメータ記憶部３６と、顔形状モデルのパラメータ及び検出された特徴点に基づいて顔の３次元の回転並進パラメータを最適化する回転並進パラメータ最適化部３８と、顔形状モデルのパラメータ、回転並進パラメータ、及び検出された特徴点に基づいて、個人差基底の係数パラメータを最適化する個人差パラメータ最適化部４０と、顔形状モデルのパラメータ、回転並進パラメータ、個人差基底の係数パラメータ、及び検出された特徴点に基づいて、個人内変動基底の係数パラメータ及び混在基底の係数パラメータを最適化し、個人差基底の係数パラメータ、個人内変動基底の係数パラメータ、及び混在基底の係数パラメータを外部記憶装置１８に出力する個人内変動パラメータ最適化部４２と、個人差基底の係数パラメータ、個人内変動基底の係数パラメータ、及び混在基底の係数パラメータに基づいて、顔形状を算出し、表示装置１６に、顔画像に重畳させて表示させる顔形状算出部４４とを含んで構成されている。なお、個人差パラメータ最適化部４０、個人内変動パラメータ最適化部４２、及び顔形状算出部４４が、推定手段の一例である。また、個人差基底の係数パラメータ、個人内変動基底の係数パラメータ、及び混在基底の係数パラメータが、状態を表すパラメータの一例である。
【００３７】
画像入力部３０は、例えば、Ａ／Ｄコンバータや１画面の画像データを記憶する画像メモリ等で構成される。
【００３８】
顔検出部３２は、顔画像から、パターンマッチングなどの周知の手法を用いて、顔を表す顔領域を検出する。
【００３９】
特徴点検出部３４は、検出された顔領域から、パターンマッチングなどの周知の手法を用いて、予め求められた顔形状モデルで用いる特徴点に対応する特徴点を各々検出する。
【００４０】
特徴点の場所と数は任意であるが、顔形状モデルで用いる特徴点の場所及び数と一致させておく必要がある。
【００４１】
顔形状の場合は目・口・鼻を含むように特徴点を検出するのが一般的であるが必ずしも全て必要と言うわけではなく、アプリケーションに合うように決めればよい。
【００４２】
以下、特徴点の数をNとする。
【００４３】
3次元データから、
【００４４】
【数４】
2015046018.tif 000006
【００４５】
の２Ｎ次元のベクトルが得られる。ただし、Tは転置を表す。
【００４６】
ここで、顔形状モデルの学習について説明する。
【００４７】
顔形状モデルは、図３に示すモデル学習装置５０によって学習される。モデル学習装置５０は、画像処理を行うコンピュータ５２と、学習用のデータが記憶された外部記憶装置５４とを備えている。
【００４８】
コンピュータ５２は、ＣＰＵ６０、後述するモデル学習処理ルーチンのプログラムを記憶した内部メモリ６２を含んで構成されている。このコンピュータ５２をハードウエアとソフトウエアとに基づいて定まる機能実現手段毎に分割した機能ブロックで説明すると、図４に示すように、コンピュータ５２は、外部記憶装置５４から読み込んだ学習用のデータに基づいて、平均形状を計算する平均形状計算部６４と、学習用のデータの座標値を、回転並進パラメータを用いて修正する座標値修正部６６と、座標値が修正された学習用のデータに基づいて、個人差基底を算出する個人差基底算出部６８と、算出された個人差基底及び座標値が修正された学習用のデータに基づいて、個人内変動基底を算出する個人内変動基底算出部７０と、算出された個人内変動基底及び座標値が修正された学習用のデータに基づいて、個人差と個人内変動とが混在した混在基底を算出する混在基底算出部７２と、算出された個人差基底、個人内変動基底、及び混在基底を含む顔形状モデルを生成し、顔形状モデルのパラメータを、外部記憶装置５４へ出力するモデルパラメータ出力部７４とを備えている。なお、モデルパラメータ出力部７４が、モデル生成手段の一例である。また、個人差基底が、個体差基底の一例であり、個人内変動基底が、個体内変動基底の一例である。
【００４９】
外部記憶装置５４には、複数の被験者の顔の３次元顔形状データに基づいて各々求められた、各特徴点の座標を表す３次元データが、学習用データとして記憶されている。
【００５０】
ここで、各特徴点の座標を表す３次元データの求め方について説明する。
【００５１】
まず、元となる顔形状データとして、３元顔形状データを複数(Ｍ個とする)用意する。３次元顔形状データは３次元形状を直接計測する装置で得るか、正面顔を撮影したステレオ画像から３次元復元する方法や、様々な方向を向いた時系列顔画像からShape from Motion技術で３次元復元することで得る方法などがある。
【００５２】
汎用モデルの構築のために、様々な個人形状が含まれていることが望ましい。個人内変動の表情変化は、顔形状モデルを適用するアプリケーションに合うように決める。例えば、閉眼検出のアプリケーションに対しては、個人内変動の表情変化として、目を開閉したときの３次元顔形状データを取得する。また、発話検出のアプリケーションに対しては、個人内変動の表情変化として、口を開閉したときの３次元顔形状データを取得する。また、感情推定のアプリケーションに対しては、個人内変動の表情変化として、基本６感情の表情に変化させたときの３次元顔形状データを取得する。
【００５３】
次に、Ｍ個の３次元顔形状データから、図５（Ｂ）に示すように、顔形状モデルで使う特徴点の座標値(x,y,z)をサンプリングする。なお、座標系は任意に決めて構わない。
【００５４】
サンプリングする特徴点の場所と数は任意であるが、複数用意したデータ間でサンプリングする特徴点の場所と数は一致させておく必要がある。
【００５５】
顔形状の場合は目・口・鼻を含むように特徴点をサンプリングするのが一般的であるが必ずしも全て必要と言うわけではなく、アプリケーションに合うように決めればよい。
【００５６】
以下、サンプリングする点の数をＮとする。
【００５７】
３次元顔形状データから、
【００５８】
【数５】
2015046018.tif 000007
【００５９】
の３Ｎ次元のベクトルが得られる。
【００６０】
また、３次元顔形状データをＭ個用意したので、以下の式に示すように、3Ｎ×Ｍの行列が得られる。
【００６１】
【数６】
2015046018.tif 000008
【００６２】
上記の３Ｎ×Ｍの行列が、学習用のデータとして、外部記憶装置５４に記憶されている。また、学習用のデータには、Ｍ個の3次元顔形状データの各々に対応して、顔形状の状態を識別するための個人内変動ｉｄが付与されている。また、個人内変動ｉｄのうちのデフォルト顔クラスに対応する個人内変動ｉｄが付与されているデータに対しては、個人を識別するための個人差ｉｄが更に付与されている。なお、個人内変動ｉｄが、形状に関する状態の一例であり、デフォルト顔クラスに対応する個人内変動ｉｄが、基準の状態の一例である。
【００６３】
なお、上記では、３次元データを用いる場合を例に説明したが、これに限定されるものではなく、２次元データを用いてもよい。この場合には、図５（Ａ）に示すように、正面から撮影した顔画像を複数(M枚とする)用意して、各特徴点の座標をサンプリングすればよい。また、２次元データからは、以下の式に示すように、２Ｎ次元のベクトルが得られる。
【００６４】
【数７】
2015046018.tif 000009
【００６５】
また、以下の式に示すように、２Ｎ×Ｍの行列が得られる。
【００６６】
【数８】
2015046018.tif 000010
【００６７】
平均形状計算部６４は、外部記憶装置５４に記憶されている学習用のデータ（３Ｎ×Ｍの行列）を読み込み、以下の式のように、学習用のデータを表す行列について、行ごとに平均値を求める。
【００６８】
【数９】
2015046018.tif 000011
【００６９】
これによって、以下の３Ｎ次元のベクトルが得られる。
【００７０】
【数１０】
2015046018.tif 000012
【００７１】
座標値修正部６６は、学習用のデータ（３Ｎ×Ｍの行列）のＭ個の縦ベクトルごとに、以下の式に従って、各座標値と平均値の距離誤差の２乗和を計算する。
【００７２】
【数１１】
2015046018.tif 000013
【００７３】
ここで、x'ij、y' ij、z' ijは、以下のようにxij、y ij、z ijと回転パラメータφｊ,θｊ,ψｊと、並進パラメータt1ｊ、t2ｊ、t3ｊとを用いて表される。
【００７４】
【数１２】
2015046018.tif 000014
【００７５】
座標値修正部６６は、以下の式に示すように、各座標値と平均値の距離誤差の２乗和を最小化するような回転パラメータφｊ,θｊ,ψｊと並進パラメータt1ｊ,t2ｊ,t3ｊを、Ｍ個の縦ベクトルの各々に対して求める。アルゴリズムとしては例えば最急降下法が適用可能である。
【００７６】
【数１３】
2015046018.tif 000015
【００７７】
そして、求めた回転パラメータφｊ,θｊ,ψｊと、並進パラメータt1ｊ,t2ｊ,t3ｊとを使って、xij、y ij、z ijからx'ij、y'ij、z' ijを計算し、以下の式に示すような、各座標値が修正された行列Ｘを作る。
【００７８】
【数１４】
2015046018.tif 000016
【００７９】
個人差基底算出部６８は、各座標値が修正された行列Ｘに基づいて、以下のように、個人差基底を算出する。
【００８０】
まず、個人差クラスのクラス数（すなわち、被験者の人数）をＮbとする。クラスの数はデータの数より少ないのでＮb ≦Ｍである。各座標値が修正された行列Ｘのうちの、デフォルト顔クラスに対応する個人内変動idとｋ番目の個人差idとの両方が付与されたデータ集合Sdを使って、デフォルト顔クラスに対応する個人内変動idとk番目の個人差idを持つデータの平均ベクトル［-ｘ'1k、-ｙ'1k、-ｚ'1k、・・・-ｘ'Nk、-ｙ'Nk、-ｚ'Nk］Tを、以下の式に従って計算する。ここで、k番目の個人差idを持つデータの個数をＮ’wkとする。また、データが欠けている個人差クラスは無いものとする。
【００８１】
【数１５】
2015046018.tif 000017
【００８２】
個人内変動id毎に上記の式に従って計算した平均ベクトルを並べて、以下の3Ｎ×Ｎb行列Ｘ1を生成し、行列Ｘ１で主成分分析を行う。主成分分析で得られた固有ベクトルを大きさが１になるように正規化してから固有値の大きい順に並べた行列をＡall_1とすると、Ａall_1は3Ｎ×3Ｎの行列になる。ただし、3Ｎ＞Ｎbの場合、有効な固有ベクトルはＮb個までになる。
【００８３】
【数１６】
2015046018.tif 000018
【００８４】
行列Ａall_1のうち、固有値の大きい方からｎ1個の固有ベクトルを取り出して並べた３Ｎ×ｎ1の行列を生成し、個人差基底Ａ1とする。
【００８５】
ｎ1の決め方としては、固有値の寄与度累計が一定割合（例えば80%）以上になるように選ぶ方法や、経験的に個数（例えば4個）を決めるやり方がある。
【００８６】
個人内変動基底算出部７０は、各座標値が修正された行列Ｘと、算出された個人差基底Ａ1とに基づいて、以下のように、個人内変動基底Ａ2を算出する。
【００８７】
まず、以下の式に従って計算して得られた行列をＸ2とする。Ｘ2はＸと同じ次元の３Ｎ×Ｍ行列で、Ｘから個人差基底の影響を除いたものになる。
【００８８】
Ｘ2＝Ｘ−Ａ1 Ａ1T Ｘ      ・・・（１）
【００８９】
Ｘ2を次のように表現する。
【００９０】
【数１７】
2015046018.tif 000019
【００９１】
また、個人内変動クラスのクラス数（形状に関する状態数）をＮwとする。クラスの数はデータの数より少ないのでＮw ≦Ｍである。ｋ番目の個人内変動idを持つデータの個数をＮ’bkとして、ｋ番目の個人内変動idを持つ３次元顔形状データについての平均ベクトル［-ｘ"1k、-ｙ"1k、-ｚ"1k、・・・-ｘ"Nk、-ｙ"Nk、-ｚ"Nk、］Tを、以下の式に従って、計算する。
【００９２】
【数１８】
2015046018.tif 000020
【００９３】
上記で計算した平均ベクトルを並べて、以下に示す3Ｎ×Ｎwの行列Ｘ’2を生成し、行列Ｘ’2をについて主成分分析を行う。主成分分析によって得られた固有ベクトルを大きさが１になるように正規化してから固有値の大きい順に並べた行列をＡall_2とすると、Ａall_2は3Ｎ×3Ｎの行列になる。ただし、3Ｎ>Ｎwの場合、有効な固有ベクトルはＮw個までになる。
【００９４】
【数１９】
2015046018.tif 000021
【００９５】
行列Ａall_2うち、固有値の大きい方からｎ2個の固有ベクトルを取り出して並べた３Ｎ×ｎ2の行列を個人差基底Ａ2とする。なお、ｎ2の決め方は、n1と同様である。
【００９６】
ここで、Ｘ2＝Ｘ−Ａ1Ａ1TＸの演算で、Ａ1の影響が取り除ける理由について図６を用いて説明する。
【００９７】
まず、内積の定義から、ａi・ｘ=|ａi||ｘ|cosθであり、|ａi|=1で正規化してあるので、ａi・ｘはベクトルｘをａi軸に投影した点から原点までの距離になる。
【００９８】
そのスカラー値である距離に大きさ1のベクトルａiを掛けるので、ａiａiT・ｘは、ｘをａi軸に投影した点ｘ’を表す。
【００９９】
ｘ-ｘ’は、ｘから、ｘをａi軸に投影した成分ｘ’を引くことになるので、ａi軸に直交したベクトルになる。従って、ａi軸方向の成分は固有ベクトルとして選ばれなくなる。
【０１００】
上述したように、Ｘ2＝Ｘ−Ａ1Ａ1TＸの演算で、Ａ1の影響を取り除くことができる。
【０１０１】
混在基底算出部７２は、各座標値が修正された行列Ｘと、算出された個人差基底Ａ1及び個人差基底Ａ2とに基づいて、以下のように、個人差と個人内変動が混在した混在基底Ａ3を算出する。
【０１０２】
まず、以下の式に従って計算して得られた行列をＸ3とする。
【０１０３】
Ｘ3=Ｘ2 −Ａ2 Ａ2T Ｘ2      ・・・（３）
【０１０４】
行列Ｘ3で主成分分析を行い、得られた固有ベクトルを固有値の大きい順に並べた行列をＡall_3とすると、Ａall_3は3Ｎ×3Ｎの行列になる。
【０１０５】
Ａall_3のうち、固有値の大きい方からｎ3個取り出して並べた3Ｎ×ｎ3の行列を個人差と個人内変動が混在した混在基底Ａ3とする。
【０１０６】
モデルパラメータ出力部７４は、以下のように、形状モデルを表す式を作成する。
【０１０７】
まず、平均値ｘ0を計算する。平均値ｘ0はいくつか選び方があるが、本実施の形態では、以下の式に示すように、個人差基底算出部６８で求めた行列Ｘ1を列方向に平均化したものを、平均値ｘ0として用いることにする。
【０１０８】
【数２０】
2015046018.tif 000022
【０１０９】
また、形状モデルは、以下の式で表わされる。ここで、ｐ1、ｐ2、ｐ3は、それぞれ、個人差基底、個人内変動基底、混在基底の係数パラメータであり、それぞれｎ1、ｎ2、ｎ3個の要素を持つパラメータベクトルである。
【０１１０】
【数２１】
2015046018.tif 000023
【０１１１】
ただし、ｎ1、ｎ2、ｎ3は以下の関係式を満たす。
【０１１２】
ｎ1≦Ｎb≦Ｍ,  ｎ2≦Ｎbw≦Ｍ,  ｎ1+ｎ2+ｎ3≦Ｍ
【０１１３】
モデルパラメータ出力部７４は、各パラメータ（平均ベクトルｘ0、全ての個人差基底Ａall_1、個人差基底Ａ1、使用する個人差基底の数ｎ1、全ての個人内変動基底Ａall_2、個人内変動基底Ａ2、使用する個人内変動基底の数ｎ2、全ての個人差と個人内変動が混在した基底Ａall_3、個人差と個人内変動が混在した基底Ａ3、使用する個人差と個人内変動が混在した基底の数ｎ3）を、外部記憶装置５４へ出力する。
【０１１４】
形状状態推定装置１０のモデルパラメータ記憶部３６には、外部記憶装置５４と同様に、上記の各モデルパラメータが記憶されている。
【０１１５】
回転並進パラメータ最適化部３８は、モデルパラメータ記憶部３６に記憶されている各モデルパラメータと、特徴点検出部３４によって検出された顔画像上の各特徴点の座標とに基づいて、以下に説明するように、回転パラメータ及び並進パラメータを最適化する。
【０１１６】
まず、顔形状モデルの係数パラメータp1,p2t,p3t、回転パラメータφt,θt,ψt、並進パラメータ設定t1t,t2t,t3tに、初期値を設定する。
【０１１７】
そして、顔形状モデルの係数パラメータp1,p2t,p3tと、モデルパラメータ（平均ベクトルｘ0、個人差基底Ａ1、個人内変動基底Ａ2、混在基底Ａ3）とに基づいて、以下の顔形状モデルを表す式に従って、各特徴点の３次元位置を計算する。
【０１１８】
【数２２】
2015046018.tif 000024
【０１１９】
また、上記で計算された各特徴点の３次元位置と、回転パラメータφt,θt,ψtと、並進パラメータ設定t1t,t2t,t3tとに基づいて、回転パラメータ及び並進パラメータを考慮した、各特徴点の３次元位置を計算する。
【０１２０】
【数２３】
2015046018.tif 000025
【０１２１】
そして、上記で計算した各特徴点の３次元位置を、以下の式に従って、２次元投影し、２次元位置を計算する。
【０１２２】
【数２４】
2015046018.tif 000026
【０１２３】
そして、特徴点検出部３４によって検出された各特徴点の座標と、上記の式で計算された各特徴点の２次元位置との距離誤差の２乗和を、以下の式に従って計算する。
【０１２４】
【数２５】
2015046018.tif 000027
【０１２５】
そして、f()を最小化する回転パラメータφt,θt,ψt、及び並進パラメータt1t,t2t,t3tを求める。
【０１２６】
個人差パラメータ最適化部４０は、上記で回転パラメータ及び並進パラメータを考慮して計算した各特徴点の３次元位置を、以下の式に従って、２次元投影し、２次元位置を再計算する。
【０１２７】
【数２６】
2015046018.tif 000028
【０１２８】
そして、以下の式で表わされるf()を最小化する個人差基底の係数パラメータｐ1を求める。
【０１２９】
【数２７】
2015046018.tif 000029
【０１３０】
個人差基底の係数パラメータは、時間変動しないため、一度収束すると、上記の計算処理は行われない。
【０１３１】
個人内変動パラメータ最適化部４２は、上記で回転パラメータ及び並進パラメータを考慮して計算した各特徴点の３次元位置を、以下の式に従って、２次元投影し、２次元位置を再計算する。
【０１３２】
【数２８】
2015046018.tif 000030
【０１３３】
そして、以下の式で表わされるf()を最小化する個人内変動基底の係数パラメータp2t、及び混在基底の係数パラメータp3tを求める。
【０１３４】
【数２９】
2015046018.tif 000031
【０１３５】
個人内変動パラメータ最適化部４２は、最適化された個人内変動基底の係数パラメータp2t、及び混在基底の係数パラメータp3t、個人差基底の係数パラメータp1を、外部記憶装置１８へ出力する。
【０１３６】
顔形状算出部４４は、最適化された個人内変動基底の係数パラメータp2t、及び混在基底の係数パラメータp3t、個人差基底の係数パラメータp1に基づいて、上記で回転パラメータ及び並進パラメータを考慮して計算した各特徴点の３次元位置を、以下の式に従って、２次元投影することにより、２次元位置を再計算し、得られた各特徴点の２次元位置に基づいて、顔形状を生成し、顔形状を表示装置１６に表示させる。
【０１３７】
【数３０】
2015046018.tif 000032
【０１３８】
次に、モデル学習装置５０の動作について説明する。まず、予め用意されたＭ個の３次元顔形状データから得られた３Ｎ×Ｍの行列が、学習用のデータとして、外部記憶装置５４に記憶される。
【０１３９】
そして、コンピュータ５２において、図７、図８に示すモデル学習処理ルーチンが実行される。
【０１４０】
まず、ステップ１００において、外部記憶装置５４から、学習用のデータを読み込む。そして、ステップ１０２において、上記ステップ１００で読み込んだ学習用のデータに基づいて、各特徴点の３次元位置の平均を計算し、３Ｎ次元の平均ベクトルを計算する。
【０１４１】
次に、Ｍ個の３次元顔形状データの各々について、ステップ１０４〜１０６を繰り返し行う。
【０１４２】
ステップ１０４では、ｊ番目の３次元顔形状データについての各特徴点の３次元位置と、上記ステップ１０２で計算された平均ベクトルとに基づいて、ｊ番目の３次元顔形状データに関する回転パラメータ及び並進パラメータを求める。そして、ステップ１０６では、上記ステップ１０４で求めた回転パラメータ及び並進パラメータを用いて、ｊ番目の３次元顔形状データについての各特徴点の３次元位置の座標を修正する。
【０１４３】
ステップ１０８では、Ｍ個の３次元顔形状データの各々について上記ステップ１０６で修正された各特徴点の３次元位置の座標を並べて、３Ｎ×Ｍの行列Ｘを作成する。
【０１４４】
そして、ステップ１１０において、個人差id毎に、上記ステップ１０８で作成した行列Ｘから、デフォルト顔クラスに対応する個人内変動idと当該個人差idとの両方が付与された３次元顔形状データについての各特徴点の３次元位置の座標を表すベクトルを取得し、取得したベクトルの集合Sdに基づいて、デフォルト顔クラスに対応する個人内変動idと当該個人差idを持つ３次元顔形状データの平均ベクトル［-ｘ'1k、-ｙ'1k、-ｚ'1k、・・・-ｘ'Nk、-ｙ'Nk、-ｚ'Nk］Tを計算する。
【０１４５】
そして、ステップ１１２において、上記ステップ１１０で計算された平均ベクトルを並べて、３Ｎ×Ｎbの行列Ｘ1を作成し、行列Ｘ1に対して主成分分析を行う。得られた固有ベクトルを大きさが１になるように正規化してから固有値の大きい順に並べた行列Ａall_1を求める。
【０１４６】
次のステップ１１４では、上記ステップ１１２で求めた行列Ａall_1から、固有値の大きい方からｎ1個の固有ベクトルを取り出して並べた３Ｎ×ｎ1の行列を作成し、個人差基底Ａ1とする。
【０１４７】
そして、ステップ１１６において、上記ステップ１０８で作成された行列Ｘと、上記ステップ１１４で求められた行列Ａ1とに基づいて、上記（１）式に従って、行列Ｘ2を計算する。
【０１４８】
次のステップ１１８では、個人内変動ｉｄ毎に、上記ステップ１１６で計算した行列Ｘ2から、当該個人内変動idが付与されたＮ’bk個の３次元顔形状データについての各特徴点の３次元位置の座標を表すベクトルを取得し、取得したベクトルの集合に基づいて、上記（２）式に従って、当該個人内変動idを持つデータの平均ベクトル［-ｘ"1k、-ｙ"1k、-ｚ"1k、・・・-ｘ"Nk、-ｙ"Nk、-ｚ"Nk、］Tを計算する。
【０１４９】
ステップ１２０では、上記ステップ１１８で個人内変動ｉｄ毎に計算した平均ベクトルを並べて、３Ｎ×Ｎwの行列Ｘ'2を作成し、行列Ｘ'2に対して主成分分析を行う。得られた固有ベクトルを大きさが１になるように正規化してから固有値の大きい順に並べた行列Ａall_2を求める。
【０１５０】
次のステップ１２２では、上記ステップ１２０で求めた行列Ａall_2から、固有値の大きい方からｎ2個取り出して並べた３Ｎ×ｎ2の行列を作成し、個人内変動基底Ａ2とする。
【０１５１】
そして、ステップ１２４において、上記ステップ１１６で作成された行列Ｘ２と、上記ステップ１２２で求められた行列Ａ2とに基づいて、上記（３）式に従って、行列Ｘ3を計算する。
【０１５２】
ステップ１２６では、上記ステップ１２４で計算した行列Ｘ3に対して主成分分析を行う。得られた固有ベクトルを固有値の大きい順に並べた行列Ａall_3を求める。求めた行列Ａall_3から、固有値の大きい方からｎ3個の固有ベクトルを取り出して並べた３Ｎ×ｎ3の行列を作成し、個人差と個人内変動とが混在した混在基底Ａ3とする。
【０１５３】
そして、ステップ１２８において、上記ステップ１１０で計算された平均ベクトルを用いて、形状モデルの平均ベクトルｘ0を計算する。ステップ１３０では、上記ステップ１１４で求められた個人差基底Ａ1、上記ステップ１２２で求められた個人内変動基底Ａ2、上記ステップ１２６で求めた混在基底Ａ3、及び上記ステップ１２８で計算した平均ベクトルｘ0を用いた形状モデルを生成すると共に、個人差基底Ａ1、個人内変動基底Ａ2、混在基底Ａ3、平均ベクトルｘ0、及び変数ｎ1,ｎ2,ｎ3を、モデルパラメータとして、外部記憶装置５４に出力し、モデル学習処理ルーチンを終了する。
【０１５４】
次に、形状状態推定装置１０の動作について説明する。まず、外部記憶装置５４に記憶されているモデルパラメータが、外部記憶装置１８に記憶される。また、カメラ１２によって、被験者の顔画像が逐次撮像されているときに、コンピュータ１４において、図９に示す形状状態推定処理ルーチンが実行される。
【０１５５】
ステップ１５０において、外部記憶装置１８に記憶されているモデルパラメータが読み込まれる。そして、ステップ１５２において、プログラム初期設定として、ｐ1計算スキップフラグを０にセットする。ステップ１５４では、顔形状モデルの係数パラメータp1,p2t,p3t、回転パラメータφt,θt,ψt、並進パラメータ設定t1t,t2t,t3tに、初期値を各々設定する
【０１５６】
そして、ステップ１５６において、カメラ１２によって撮像された画像を読み込む。ステップ１５８では、カメラ１２による画像の撮像が終了したか否かを判定する。上記ステップ１５６で、画像が読み込まれなかった場合には、画像の撮像が終了したと判定し、形状状態推定処理ルーチンを終了する。一方、上記ステップで、画像が読み込まれた場合には、画像の撮像が終了していないと判定し、ステップ１６０へ進む。
【０１５７】
ステップ１６０では、上記ステップ１５６で読み込まれた顔画像から、顔領域を検出する。ステップ１６２では、上記ステップ１６０で検出された顔領域から、形状モデルの各特徴点に対応する特徴点を検出する。
【０１５８】
次のステップ１６４では、上記ステップ１５０で読み込んだモデルパラメータと、上記ステップ１５４で初期設定された顔形状モデルの係数パラメータp1,p2t,p3t、又は後述するステップ１７６、１８２で前回求められた係数パラメータp1,p2t,p3tとに基づいて、上記（４）式を計算し、各特徴点の３次元位置を計算する。
【０１５９】
そして、ステップ１６６において、上記ステップ１６４で計算された各特徴点の３次元位置と、上記ステップ１５４で初期設定された回転パラメータφt,θt,ψt、並進パラメータ設定t1t,t2t,t3t、又は後述するステップ１７２で前回求められた回転パラメータφt,θt,ψt、並進パラメータt1t,t2t,t3tとに基づいて、上記（５）式を計算し、各特徴点の３次元位置を計算する。
【０１６０】
そして、ステップ１６８において、上記ステップ１６６で計算された各特徴点の３次元位置を、上記（６）式に従って、２次元投影し、各特徴点の２次元位置を計算する。次のステップ１７０では、上記ステップ１６２で検出された各特徴点の座標と、上記ステップ１６８で計算された各特徴点の２次元位置とに基づいて、上記（７）式に従って、距離誤差の２乗和を計算する。
【０１６１】
ステップ１７２では、上記ステップ１７０で計算された距離誤差の２乗和を最小化する回転パラメータφt,θt,ψt、並進パラメータ設定t1t,t2t,t3tを求める。
【０１６２】
ステップ１７４では、ｐ1計算スキップフラグが０であるか否かを判定する。ｐ1計算スキップフラグが０である場合には、ステップ１７６へ移行する。一方、ｐ1計算スキップフラグが１である場合には、ステップ１８２へ移行する。
【０１６３】
ステップ１７６では、上記ステップ１６６で計算された各特徴点の３次元位置を、上記（８）式に従って、２次元投影し、各特徴点の２次元位置を再計算する。そして、上記ステップ１６２で検出された各特徴点の座標と、再計算された各特徴点の２次元位置とに基づいて、上記（９）式に従って、距離誤差の２乗和を最小化する、顔形状モデルの係数パラメータp1を求める。
【０１６４】
そして、ステップ１７８において、上記ステップ１７６で求められた係数パラメータｐ1と、前回求められた係数パラメータｐ1とに基づく時間変化量が閾値以下であるか否かを判定する。時間変化量が閾値より大きい場合には、係数パラメータｐ1が収束していないと判断し、ステップ１８２へ移行する。一方、時間変化量が閾値以下である場合には、係数パラメータｐ1が収束していると判断し、ステップ１８０へ移行する。ステップ１８０では、ｐ1計算スキップフラグを１に設定する。
【０１６５】
ステップ１８２では、上記ステップ１６６で計算された各特徴点の３次元位置を、上記（１０）式に従って、２次元投影し、各特徴点の２次元位置を再計算する。そして、上記ステップ１６２で検出された各特徴点の座標と、再計算された各特徴点の２次元位置とに基づいて、上記（１１）式に従って、距離誤差の２乗和を最小化する、顔形状モデルの係数パラメータp2t、ｐ3tを求める。
【０１６６】
次のステップ１８４では、上記ステップ１６６で計算された各特徴点の３次元位置を、上記（１２）式に従って、２次元投影し、各特徴点の２次元位置を再計算する。そして、表示装置１６に、再計算された各特徴点の２次元位置を表示させて、顔形状を表示させる。ステップ１８６では、上記ステップ１７２で求められた回転パラメータφt,θt,ψt、並進パラメータ設定t1t,t2t,t3tと、上記ステップ１７６、１８２で求められた係数パラメータｐ1、ｐ2t、ｐ3tを、外部記憶装置５４に出力する。
【０１６７】
ステップ１８８では、処理を終了するか否かを判定し、終了しない場合には、上記ステップ１５６へ戻り、新たに顔画像を読み込む。一方、処理を終了する場合には、形状状態推定処理ルーチンを終了する。
【０１６８】
以上説明したように、本発明の実施の形態に係る形状状態推定装置によれば、個人差基底と、個人内変動基底と、混在基底とを含む３種類の基底の線形和を用いて表される、顔形状に関する状態を識別するための形状モデルを用いて、短い処理時間で、形状に関する状態を精度よく推定することができる。
【０１６９】
また、時間変動するパラメータ(表情)と時間変動しないパラメータ(個人差)が分離されているために、顔表情にフィッティングさせて係数パラメータを推定する際に、顔形状個人差の部分が変化しないため、形状に関する状態を精度よく推定することができる。
【０１７０】
また、時間変動しない個人差基底の係数パラメータは、一旦収束したら以降は推定不要になる。以降は、時間変動する個人内変動基底の係数パラメータ及び混在基底の係数パラメータのみを推定すれば良いので、処理するパラメータが減る分、処理時間が短縮できる。
【０１７１】
また、表情変化が含まれない通常表情のクラス（デフォルト顔クラス）を導入し、通常表情のみで個人差基底を計算する。これにより、表情変化の影響を含まない個人形状差を取り出すことができる。
【０１７２】
また、本実施の形態に係るモデル学習装置によれば、デフォルト顔クラスの個人内変動ｉｄが付与された３次元形状データの各々について検出された特徴点の３次元座標に基づいて、個人差基底を算出すると共に、複数の３次元形状データの各々について検出された特徴点の３次元座標に基づいて、個人内変動基底及び混在基底を算出して、算出された３種類の基底の線形和を用いて表される形状モデルを生成することにより、短い処理時間で形状に関する状態を精度よく推定するための形状モデルを生成することができる。
【０１７３】
ここで、従来手法と本実施の形態に係る手法の違いを説明する。
【０１７４】
上記の非特許文献１、２に記載のＰＣＡを使う手法では、データ準備の自由度が大きい（図１０（Ａ）参照）。また、上記の非特許文献５、６に記載のＣＤＡに基づく方法では、全てのデータにどちらかの軸でクラスidを付ける（例えば、個人内変動クラスidを付ける）。データの欠けは許容されるため、データ準備の自由度は大きい（図１０（Ｂ）参照）。
【０１７５】
また、上記の非特許文献７に記載のN-mode SVDを使う手法では、個人差クラスidと個人内変動idの両方が必要で、かつ同じidの組み合わせを持つデータは1つのみである。データの欠けは許容されないためデータ準備の自由度が低い（図１０（Ｃ）参照）。
【０１７６】
本実施の形態に係る手法は、CDAに基づく手法と類似だが、デフォルト顔クラスが必須であり、 全てのデータに個人内変動クラスidを付ける（図１０（Ｄ）参照）。また、 デフォルト顔クラスのみ、個人差クラスidと個人内変動idの両方付ける。データの欠けは許容されるため、データ準備の自由度は大きい。
【０１７７】
また、図１１に示すように、個人内変動に関するクラス平均、個人差に関するクラス平均は、理想的には、他の軸に対して直交するため、他の軸の影響を受けない。しかしながら、図１２に示すように、表情を正確に揃えるのは難しいので、個人差クラスの平均は個人内変動軸に対して直交しない。また、データ欠けがある場合は、それ以上に直交しなくなる。
【０１７８】
このように、個人内変動クラスの平均は、データ欠けがあると個人差軸に対して直交しない。
【０１７９】
また、上記の非特許文献５、６に記載の手法では、個々人の平均表情から個人差変動を計算しているため、その平均表情位置が個人毎に異なる（図１３参照）。そのため、平均表情位置の個人毎のばらつきが表情変化という形で個人差基底に含まれてしまう。
【０１８０】
これに対し、本実施の形態に係る手法では、図１４に示すように、表情変化が含まれない通常表情のクラスを導入し、通常表情のみで個人差基底を計算する。これにより、表情変化の影響を含まない個人形状差を取り出すことができる。
【０１８１】
なお、上記の実施の形態では、撮像された顔画像から、逐次、個人内変動基底及び混在基底の係数パラメータを推定する場合を例に説明したが、これに限定されるものではない。例えば、外部記憶装置に記憶されている顔画像から、個人内変動基底及び混在基底の係数パラメータを推定するようにしてもよい。
【０１８２】
また、人の顔の形状に関する形状モデルを生成する場合を例に説明したが、これに限定されるものではない。人以外の生物の形状に関する形状モデルを生成するようにしてもよい。
【０１８３】
また、形状モデルを用いて、個人差基底の係数パラメータ、個人内変動基底の係数パラメータ、及び混在基底の係数パラメータを求めて出力する場合を例に説明したが、これに限定されるものではなく、求められた個人差基底の係数パラメータ、個人内変動基底の係数パラメータ、及び混在基底の係数パラメータに基づいて、顔の形状に関する状態を推定するようにしてもよい。
【符号の説明】
【０１８４】
１０   形状状態推定装置
１２   カメラ
１４、５２    コンピュータ
１８、５４    外部記憶装置
３０   画像入力部
３２   顔検出部
３４   特徴点検出部
３６   モデルパラメータ記憶部
３８   回転並進パラメータ最適化部
４０   個人差パラメータ最適化部
４２   個人内変動パラメータ最適化部
４４   顔形状算出部
５０   モデル学習装置
６４   平均形状計算部
６６   座標値修正部
６８   個人差基底算出部
７０   個人内変動基底算出部
７２   混在基底算出部
７４   モデルパラメータ出力部
【図１】
2015046018.tif 000033
【図２】
2015046018.tif 000034
【図３】
2015046018.tif 000035
【図４】
2015046018.tif 000036
【図６】
2015046018.tif 000037
【図７】
2015046018.tif 000038
【図８】
2015046018.tif 000039
【図９】
2015046018.tif 000040
【図１０】
2015046018.tif 000041
【図５】
2015046018.tif 000042
【図１１】
2015046018.tif 000043
【図１２】
2015046018.tif 000044
【図１３】
2015046018.tif 000045
【図１４】
2015046018.tif 000046