(57)【要約】【課題】画像から特徴点の位置を高速に検出することを可能とする。【解決手段】学習画像を用いて、各ノードが特徴点の正しい位置に配置された正解モデルと、いずれかのノードが誤った位置に配置された誤差モデルとの差、及び誤差モデルに基づいて取得されたノード特徴量、についての相関関係の情報を予め取得しておく。入力画像から特徴点を検出する際には、複数のノードの３次元位置を定めた３次元モデルを作成し、各ノードを入力画像上に投影し、投影点からノード特徴量を取得し、このノード特徴量と学習した相関関係の情報に基づいて、現在の各ノードの位置と対応する特徴点の位置とのずれを示す誤差推定量を取得し、この誤差推定量と現在の各ノードの位置に基づいて、入力画像における各特徴点の３次元位置を推定する。【選択図】図５
2007249280.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像から、所定の対象物の画像における複数の特徴点の３次元位置を推定する特徴点検出装置であって、
前記複数の特徴点にそれぞれ対応する複数のノードの３次元位置を定めた３次元モデルを作成するモデル作成手段と、
前記３次元モデルによって定められた各ノードを前記画像上に射影する射影手段と、
前記３次元モデルの各ノードのノード特徴量として、前記射影手段によって射影された各ノードの射影点の周囲の複数のサンプリング点から特徴量を取得する特徴量取得手段と、
学習用の画像において、複数のノードがそれぞれ対応する特徴点の正しい位置に３次元配置された正解モデルと、複数のノードのうちの少なくともいずれかが対応する特徴点の正しい位置からずれた位置に３次元配置された誤差モデルとの差、及び、前記誤差モデルを学習用の画像に射影した射影点から取得されるノード特徴量、についての相関関係の情報を予め記憶している記憶手段と、
前記記憶手段に記憶される前記相関関係の情報と、前記特徴量取得手段によって取得された各ノードのノード特徴量とに基づいて、現在の３次元モデルとそれぞれに対応する特徴点の位置のずれを示す誤差推定量を取得する誤差推定量取得手段と、
前記誤差推定量取得手段によって得られた誤差推定量と、現在の３次元モデルとに基づいて、入力された画像における各特徴点の３次元位置を推定する推定手段とを備える特徴点検出装置。
【請求項２】
繰り返し処理の終了を判定する終了判定手段をさらに備え、
前記モデル作成手段は、前記誤差推定量が得られた場合は、この誤差推定量に基づいて現在の各ノードの位置を移動させて新たな３次元モデルを作成し、
前記モデル作成手段と前記誤差推定量取得手段とは、繰り返して処理を実行し、
前記推定手段は、前記終了判定手段によって終了が判定された時点での誤差推定量と、この時点での３次元モデルとに基づいて、入力された画像における各特徴点の３次元位置を推定する請求項１に記載の特徴点検出装置。
【請求項３】
前記終了判定手段は、前記誤差推定量取得手段によって得られた誤差推定量が閾値以下になった場合に、繰り返し処理の終了と判定する請求項２に記載の特徴点検出装置。
【請求項４】
前記モデル作成手段は、
繰り返し処理の初期段階においては、前記誤差推定量に基づいて、現在の各ノードの相対位置関係を保ったまま移動及び／又は回転させて姿勢を変化させた新たな３次元モデルを作成し、
３次元モデルの姿勢に関する誤差が所定の閾値以下になった後は、前記誤差推定量に基づいて、現在の各ノードの相対位置も変化させて新たな３次元モデルを作成する
請求項２又は３に記載の特徴点検出装置。
【請求項５】
前記対象物は人の顔である請求項１〜４のいずれかに記載の特徴点検出装置。
【請求項６】
前記入力された画像から少なくとも人の顔又は人の顔の要素の位置を検出する顔検出手段をさらに備え、
前記配置手段は、前記検出された人の顔又は人の顔の要素の位置に基づいて、前記３次元モデルにおける各ノードの３次元位置を決定する請求項５に記載の特徴点検出装置。
【請求項７】
前記顔検出手段は、人の顔の向きをさらに検出し、
前記モデル作成手段は、３次元モデルにおける各ノードの３次元位置を定めた３次元ノ
ードモデルを有しており、前記顔検出手段によって検出された顔の向きに基づいて、前記３次元ノードモデルを変形させて使用する請求項６に記載の特徴点検出装置。
【請求項８】
前記顔検出手段は、人の顔の大きさをさらに検出し、
前記モデル作成手段は、３次元モデルにおける各ノードの３次元位置を定めた３次元ノードモデルを有しており、前記顔検出手段によって検出された顔の大きさに基づいて、前記３次元ノードモデルを変形させて使用する請求項６に記載の特徴点検出装置。
【請求項９】
前記顔検出手段は、人の顔の向きをさらに検出し、
前記モデル作成手段は、３次元モデルにおける各ノードの３次元位置を定めた３次元ノードモデルを、顔の向きに応じて複数有しており、
前記記憶手段は、それぞれに対応する向きの顔が撮像された前記学習用画像を用いて予め得られた各３次元ノードモデルに対応する前記相関関係の情報を記憶し、
前記モデル作成手段は、前記顔検出手段によって検出された顔の向きに基づいて、使用する３次元ノードモデルを選択し、
前記誤差推定量取得手段は、前記モデル作成手段によって選択された３次元ノードモデルに対応する前記相関関係の情報を前記記憶手段から読み出し使用する
請求項６に記載の特徴点検出装置。
【請求項１０】
前記顔検出手段は、人の顔の大きさをさらに検出し、
前記モデル作成手段は、３次元モデルにおける各ノードの３次元位置を定めた３次元ノードモデルを、顔の大きさに応じて複数有しており、
前記記憶手段は、それぞれに対応する大きさの顔が撮像された前記学習用画像を用いて予め得られた各３次元ノードモデルに対応する前記相関関係の情報を記憶し、
前記モデル作成手段は、前記顔検出手段によって検出された顔の大きさに基づいて、使用する３次元ノードモデルを選択し、
前記誤差推定量取得手段は、前記モデル作成手段によって選択された３次元ノードモデルに対応する前記相関関係の情報を前記記憶手段から読み出し使用する
請求項６に記載の特徴点検出装置。
【請求項１１】
前記複数のサンプリング点は、ノードの射影点の周囲に離散的に配置している請求項１〜１０のいずれかに記載の特徴点検出装置。
【請求項１２】
人の顔における複数の特徴点の３次元配置を表す３次元顔形状モデルを用いて、入力画像における顔の特徴点の３次元位置を推定する特徴点検出装置であって、
前記３次元顔形状モデルを作成するモデル作成手段と、
前記モデル作成手段によって作成された３次元顔形状モデルの各ノードを入力された画像平面上に射影する射影手段と、
前記射影手段によって射影された各ノードの射影点の位置の周囲で離散的に複数の特徴量を取得し、一つの射影点に基づいて取得された複数の特徴量を一つのノード特徴量として取得する特徴量取得手段と、
各ノードが正しい位置に配置された正解３次元顔形状モデルと、少なくともいずれかのノードが正しい位置からずれて配置された誤差３次元顔形状モデルとにおける各ノードの位置の差を示すベクトルの集合、及び、前記誤差３次元顔形状モデルを学習用の画像に射影した射影点から取得されるノード特徴量の集合、を入力とした正準相関分析により予め取得された変換ベクトル行列を誤差推定行列として記憶する記憶手段と、
前記記憶手段に記憶される誤差推定行列と、前記特徴量取得手段によって取得されたノード特徴量の集合とに基づいて、３次元顔形状モデルの各ノードの現在位置と顔の特徴点の位置とのずれを示す誤差推定量を取得する誤差推定量取得手段と、
前記誤差推定量取得手段によって得られた前記誤差推定量に基づいて、現在の３次元顔
形状モデルの各ノード位置を変更する変更手段と、
前記変更手段によって位置が変更された後の各ノード位置を特徴点の３次元位置として推定する推定手段と
を備える特徴点検出装置。
【請求項１３】
入力された画像から、所定の対象物の画像における複数の特徴点の３次元位置を推定する特徴点検出方法であって、
情報処理装置が、
前記複数の特徴点にそれぞれ対応する複数のノードの３次元位置を定めた３次元モデルを作成するステップと、
前記３次元モデルによって定められた各ノードを前記画像上に射影するステップと、
前記３次元モデルの各ノードのノード特徴量として、前記射影手段によって射影された各ノードの射影点の周囲の複数のサンプリング点から特徴量を取得するステップと、
学習用の画像に基づいて予め取得されている、複数のノードがそれぞれ対応する特徴点の正しい位置に３次元配置された正解モデルと、複数のノードのうちの少なくともいずれかが対応する特徴点の正しい位置からずれた位置に３次元配置された誤差モデルとの差、及び、前記誤差モデルを学習用の画像に射影した射影点から取得されるノード特徴量、についての相関関係の情報と、前記特徴量を取得するステップにおいて取得された各ノードのノード特徴量とに基づいて、現在の３次元モデルとそれぞれに対応する特徴点の位置のずれを示す誤差推定量を取得するステップと、
前記誤差推定量と、現在の３次元モデルとに基づいて、入力された画像における各特徴点の３次元位置を推定するステップと
を実行する特徴点検出方法。
【請求項１４】
情報処理装置に、入力された画像から、所定の対象物の画像における複数の特徴点の３次元位置を推定させるための特徴点検出プログラムであって、
情報処理装置に対して、
前記複数の特徴点にそれぞれ対応する複数のノードの３次元位置を定めた３次元モデルを作成するステップと、
前記３次元モデルによって定められた各ノードを前記画像上に射影するステップと、
前記３次元モデルの各ノードのノード特徴量として、前記射影手段によって射影された各ノードの射影点の周囲の複数のサンプリング点から特徴量を取得するステップと、
学習用の画像に基づいて予め取得されている、複数のノードがそれぞれ対応する特徴点の正しい位置に３次元配置された正解モデルと、複数のノードのうちの少なくともいずれかが対応する特徴点の正しい位置からずれた位置に３次元配置された誤差モデルとの差、及び、前記誤差モデルを学習用の画像に射影した射影点から取得されるノード特徴量、についての相関関係の情報と、前記特徴量を取得するステップにおいて取得された各ノードのノード特徴量とに基づいて、現在の３次元モデルとそれぞれに対応する特徴点の位置のずれを示す誤差推定量を取得するステップと、
前記誤差推定量と、現在の３次元モデルとに基づいて、入力された画像における各特徴点の３次元位置を推定するステップと
を実行させる特徴点検出プログラム。
【請求項１５】
人の顔における複数の特徴点の３次元配置を表す３次元顔形状モデルを用いて、入力画像における顔の特徴点の３次元位置を推定する特徴点検出方法であって、
情報処理装置が、
前記３次元顔形状モデルを作成するステップと、
作成された３次元顔形状モデルの各ノードを入力された画像平面上に射影するステップと、
射影された各ノードの射影点の周囲で離散的に複数の特徴量を取得し、一つの射影点に
基づいて取得された複数の特徴量を一つのノード特徴量として取得するステップと、
学習用の画像に基づいて予め取得されている、各ノードが正しい位置に配置された正解３次元顔形状モデルと、少なくともいずれかのノードが正しい位置からずれて配置された誤差３次元顔形状モデルとにおける各ノードの位置の差を示すベクトルの集合、及び、前記誤差３次元顔形状モデルを学習用の画像に射影した射影点から取得されるノード特徴量の集合、を入力とした正準相関分析により予め取得される変換ベクトル行列と、前記特徴量を取得するステップにおいて取得されたノード特徴量の集合とに基づいて、３次元顔形状モデルの各ノードの現在位置と顔の特徴点の位置とのずれを示す誤差推定量を取得するステップと、
取得された前記誤差推定量に基づいて、現在の３次元顔形状モデルの各ノード位置を変更するステップと、
位置が変更された後の各ノード位置を特徴点の３次元位置として推定するステップと
を実行する特徴点検出方法。
【請求項１６】
情報処理装置に、人の顔における複数の特徴点の３次元配置を表す３次元顔形状モデルを用いて、入力画像における顔の特徴点の３次元位置を推定させる特徴点検出プログラムであって、
情報処理装置に対して、
前記３次元顔形状モデルを作成するステップと、
作成された３次元顔形状モデルの各ノードを入力された画像平面上に射影するステップと、
射影された各ノードの射影点の周囲で離散的に複数の特徴量を取得し、一つの射影点に基づいて取得された複数の特徴量を一つのノード特徴量として取得するステップと、
学習用の画像に基づいて予め取得されている、各ノードが正しい位置に配置された正解３次元顔形状モデルと、少なくともいずれかのノードが正しい位置からずれて配置された誤差３次元顔形状モデルとにおける各ノードの位置の差を示すベクトルの集合、及び、前記誤差３次元顔形状モデルを学習用の画像に射影した射影点から取得されるノード特徴量の集合、を入力とした正準相関分析により予め取得される変換ベクトル行列と、前記特徴量を取得するステップにおいて取得されたノード特徴量の集合とに基づいて、３次元顔形状モデルの各ノードの現在位置と顔の特徴点の位置とのずれを示す誤差推定量を取得するステップと、
取得された前記誤差推定量に基づいて、現在の３次元顔形状モデルの各ノード位置を変更するステップと、
位置が変更された後の各ノード位置を特徴点の３次元位置として推定するステップと
を実行させる特徴点検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の中から対象物の特徴点を検出するための装置や方法やプログラム等に適用されて有効な技術に関する。
【背景技術】
【０００２】
画像の中から対象物の特徴点を検出する技術として、顔の特徴点を検出する技術がある。以下、顔を対象物とした場合の背景技術について述べる。
【０００３】
人物が撮像された画像から顔の特徴点位置を得ることにより、例えば、その人物の目の開閉情報、顔姿勢、視線方向、顔の表情などを推定することができる。また、これらの推定結果から、その人物の状態をより詳細に知ることが可能となる。そして、人物の状態を詳細に把握することにより、マン・マシン・インタフェースの性能向上や新たなサービスの提供等を図ることができる。このように、顔の特徴点位置を正確に知ることは、マン・マシン・インタフェースの開発の上で重要な課題となっている。
【０００４】
このようなマン・マシン・インタフェースの例として、運転者モニタリングシステムがある。このシステムでは、運転者の目の開閉、顔姿勢、視線方向などが逐次観察される。そして、この観察結果に基づいて運転者の疲労度合い等が判断され、状況に応じた的確なアドバイスが可能となる。
【０００５】
また、他のマン・マシン・インタフェースの例として、動画ビデオカメラや静止画カメラなどへの応用がある。これらの装置において、被撮影者の顔姿勢を知ることにより、撮影条件を変化させるなど、多彩な処理が可能となる。この他、目や口などの特徴点の画像を詳細に解析することで、個人の識別を高い精度で行うことも可能となる。
【０００６】
画像から特徴点位置を得る方法（以下、「特徴点検出方法」と呼ぶ）としては、テンプレートマッチングによるもの、及びその応用によるものが一般的である。これらの方法では、各特徴点の一般的な情報（以下、「特徴量」と呼ぶ）が予め保存される。そして、画像内の一部の領域から得られる特徴量と、保存されている特徴量とが比較されることにより、取得すべき特徴点であるか否かが判断される。このとき使用される特徴量の具体例としては、画像の輝度値ベクトルがある。また、両特徴量の比較手段としては、正規化相関やユークリッド距離を使用するものが一般的である。
【０００７】
このような特徴点検出技術の例として、分離度フィルタによって予め探索点数を減らした後、パターンマッチングにより特徴点候補を検出する技術が提案されている（特許文献１参照）。この技術では、特徴点候補が検出された後、幾何的な拘束条件を適用し、最も人間の顔らしいと判断される候補点の組み合わせが出力される。
【０００８】
しかしこの技術では、ほぼ正面を向いた、撮影条件のよい人物画像の特徴点しか検出することができない。従って、特徴点の一部が遮蔽物によって隠れてしまった画像や、予め保存されている特徴点の取得時と撮影条件（例えば照明条件）が大きく異なる画像からは、特徴点を正確に検出することは困難であった。
【０００９】
また、顔の特徴点位置を得ることにより顔姿勢を推定する技術もある（特許文献２，３参照）。このような技術では、顔の特徴点位置が取得された後、その全体配置や特徴量を用いて推定する手法が一般的である。例えば、目や口や眉や鼻を示す特徴点の座標と顔姿勢との関係が予めルックアップテーブルとして保存されている。そして、画像から取得さ
れた特徴点の座標に対応する顔姿勢が、このルックアップテーブルから判断され、推定結果として出力される。この他にも、顔全体又は顔の特徴量のテンプレートを複数の顔の向きに対応して用意し、これらのテンプレートとマッチングをとることによって顔姿勢を求める手法もある。しかしながら、これらの手法においても、顔姿勢の推定が正確に実行できるか否かは、顔の特徴点位置の精度に依存する。従って、顔の特徴点位置の取得を正確に実行できなければ、顔姿勢の推定も正確に行うことができなかった。
【００１０】
このような問題を解決する技術として、ＡＳＭ（Ａｃｔｉｖｅ  Ｓｈａｐｅ  Ｍｏｄｅｌ）と呼ばれる技術がある（非特許文献１参照）。ＡＳＭでは、予め、学習用の多数の顔画像について特徴点の位置が取得され、顔形状モデルが作成され保持される。顔形状モデルは、各特徴点に対応するノードによって構成される。なお、顔形状モデルの詳細については、発明を実施するための最良の形態の欄で説明する。
【００１１】
次に、ＡＳＭにより画像から特徴点の位置を検出する処理について説明する。まず、処理対象となる画像の適当な初期位置に、この顔形状モデルが配置される。次に、顔形状モデルの各ノードについて、ノード周辺の複数の特徴量の取得が行われる。取得された複数の特徴量と予めそのノードに対応づけて保持されている特徴量とが比較される。これら複数の特徴量取得位置のうち、各ノードに対応する特徴量に最も近い特徴量が取得された位置（即ち、各ノードに対応する特徴点である可能性が最も高いと判断される位置）に各ノードが移動される。この時点で、顔形状モデルの各ノードの位置は、初期の位置からずれている。そこで、変形されたノード集合が、顔形状モデルに射影されることにより整形される。各ノード周りにおける特徴量の取得以降の処理が、所定の回数、又は一定の条件（収束条件）が満たされるまで繰り返し実行される。そして、各ノードの最終的な位置が、各特徴点の位置と判断される。
【００１２】
ＡＳＭでは、上記のように、各ノードの位置が移動した後に、顔形状モデルへの射影が行われる。この処理により、各ノードの位置関係が顔らしい形状を保ったまま、特徴点の正確な位置を検出することができる。即ち、一般の人の顔の形状からは到底ありえない位置に偶然的に特徴点と似た特徴量を有する部分が存在した場合にも、このような点を特徴点として誤検出することが防止される。
【００１３】
しかしながら、従来のＡＳＭでは、各ノードにおいて周囲の探索処理（特徴量の取得と、その比較）を行う必要があった。このため、多くの計算時間を必要とするという欠点があった。また、従来のＡＳＭには、ロバスト性が低いという問題があった。即ち、処理対象となる画像中の顔の向きが、初期位置に配置された顔形状モデルにおいて想定されている顔の向きと大きく異なる場合、特徴点の検出に失敗する場合が多いという問題があった。
【００１４】
ＡＳＭのこのような問題を解決するための技術として、ＡＡＭ（Ａｃｔｉｖｅ  Ａｐｐｅａｒａｎｃｅ  Ｍｏｄｅｌ）がある（非特許文献２参照）。ＡＡＭでは、以下のようにして特徴点の位置が求められる。まず、ＡＳＭの場合と同様に、学習用の多数の顔画像について特徴点の位置が取得され、顔形状モデルが作成される。次に、各ノード位置の平均値が取得され、平均位置のノードの集合により構成される平均形状モデルが作成される。次に、学習用の顔画像において各特徴点により構成される複数のパッチが作成され、各パッチが平均形状モデルに射影され、シェイプフリーイメージが作成される（この処理を「形状修正処理」と呼ぶ）。そして、シェイプフリーイメージの集合について主成分分析が実施されることにより、顔輝度値モデル（シェイプフリー顔輝度値モデル）が作成される。次に、顔形状モデルを正解位置から一定ずつ各方向に微小にずらした際のシェイプフリー顔輝度値ベクトルが求められる。これらの集合について線形回帰計算が行われる。これにより、微小にずれた顔輝度値ベクトルから顔形状モデルの正解点への移動・変形方向、
量を推定することが可能になる。ＡＡＭでは、以上の処理が学習処理として、予め実行される。
【００１５】
次に、ＡＡＭにより画像から特徴点の位置を検出する処理について説明する。まず、処理対象となる画像の適当な初期位置に、顔形状モデルが配置される。次に、配置された顔形状モデルのノード位置に基づいてパッチが作成され、各パッチにおける輝度分布がサンプリングされる。そして、サンプリングされた輝度分布が射影されることにより、シェイプフリー顔輝度値モデルが作成される。
【００１６】
次に、このシェイプフリー顔輝度値モデルから、予め求められている回帰式により、顔形状モデルの移動・変形量が推定される。顔形状モデルは、この推定結果に従って移動・変形される。以上の処理が、所定の回数、又は一定の条件（収束条件）が満たされるまで繰り返し実行される。そして、各ノードの最終的な位置が、各特徴点の位置と判断される。
【００１７】
ＡＡＭによれば、上記のように、各ノード周りの探索処理を行うことなく各特徴点の位置を検出することができる。このため、ＡＳＭの場合と異なり、各ノード周りの探索処理に時間を要することが無く、計算時間を削減できる。また、形状モデルを変形させることにより探索を行うため、ＡＳＭの場合と同様に、各ノードの位置関係が顔らしい形状を保ったまま、特徴点の正確な位置を検出することが可能となる。
【特許文献１】特開平９−２５１５３４号公報
【特許文献２】特開２０００−９７６７６号公報
【特許文献３】特開２００３−１４１５５１号公報
【非特許文献１】Ａ．  Ｌａｎｉｔｉｓ，  Ｃ．  Ｊ．Ｔａｙｌｏｒ，  Ｔ．  Ｆ．  Ｃｏｏｔｅｓ，  “Ａｕｔｏｍａｔｉｃ  Ｉｎｔｅｒｐｒｅｔａｔｉｏｎ  ａｎｄ  Ｃｏｄｉｎｇ  ｏｆ  Ｆａｃｅ  Ｉｍａｇｅｓ  Ｕｓｉｎｇ  Ｆｌｅｘｉｂｌｅ  Ｍｏｄｅｌｓ．  ＩＥＥＥ  ＰＡＭＩ  Ｖｏｌ．１９  Ｎｏ．７  ｐｐ．７４３−７５６，  Ｊｕｌｙ  １９９７．
【非特許文献２】Ｔ．Ｆ．Ｃｏｏｔｅｓ，  Ｇ．  Ｊ．  Ｅｄｗａｒｄｓ  ａｎｄ  Ｃ．Ｊ．Ｔａｙｌｏｒ．  “Ａｃｔｉｖｅ  Ａｐｐｅａｒａｎｃｅ  Ｍｏｄｅｌｓ”，  ＩＥＥＥ  ＰＡＭＩ，Ｖｏｌ．２３，  Ｎｏ．６，  ｐｐ．６８１−６８５，  ２００１
【発明の開示】
【発明が解決しようとする課題】
【００１８】
しかしながら、ＡＡＭには以下のような問題点がある。
【００１９】
ＡＡＭによって各特徴点の位置検出の精度を維持するためには、各パッチの輝度分布を取得する際に均質で密度の高いサンプリングを行う必要がある。このため、そのサンプリングや、輝度分布を平均形状モデルへ射影する際の計算量が多大となり、多くの計算時間を要してしまう。さらに、ＡＡＭでは、正解点周りの微小なずれによる線形回帰に基づいて、顔形状モデルの移動量や変形量が推定される。このため、大きなずれに対しては正しい推定を行うことができず、正しい結果を得ることができない。
【００２０】
このように、従来のＡＳＭやＡＡＭを用いた処理では、探索処理や、均質且つ高密度なサンプリングによる輝度分布の形状修正処理などにおいて多くの計算量を必要とするため、高速に特徴点の検出を行うことができなかった。しかしながら、上記したように、特徴点の検出結果はマン・マシン・インタフェース等において入力データとして利用されるため、応答性が求められる場合が多い。このため、高速に特徴点の検出を行う事への要求が高まっていることも事実である。
【００２１】
そこで本発明はこれらの問題を解決し、画像から特徴点の位置を高速に検出することを可能とする装置やプログラム等を提供することを目的とする。
【課題を解決するための手段】
【００２２】
従来は、ＡＡＭのように、形状修正処理を行うことによって、誤差推定（形状モデルにおける各ノードの正解点への移動方向や移動量を推定すること）を行うことが一般であった。従って、これまで、誤差推定を行うにあたり形状修正処理を省くことは検討されてこなかった。しかし、従来のＡＡＭにおいて、計算量の増大を招いていた要因を検討すると、必要とされている形状修正処理がその要因として挙げられる。そこで、本発明者は、このような形状修正処理を行うことなく特徴点の検出を可能とする装置について検討した。
【００２３】
また、従来は、誤差推定の精度を高く維持するため、各ノードの周囲で高密度なサンプリングが実施されることが一般であった。例えば、従来のＡＡＭでは、各ノードによって構成されるパッチ内において均質且つ高密度なサンプリング（具体的には、通常１万点以上のサンプリング）が必要とされていた。従って、これまで、誤差推定を行うにあたり低密度なサンプリングを実施することは検討されてこなかった。しかし、従来のＡＡＭにおいて、計算量の増大を招いていた要因の一つとして、このような均質で高密度なサンプリングも挙げることができる。そこで、本発明者は、このような均質且つ高密度なサンプリングを行うことなく特徴点の検出を可能とする装置について検討した。
【００２４】
また、従来は特徴点の位置を画像平面（２次元）上で捉えていた。したがって、対象物（例えば、人の顔）の姿勢を得るためには、画像平面上での特徴点の位置が決定された後に、この特徴点の位置に基づいて対象物の姿勢を推定する必要があった。形状モデルを３次元で表すことは検討されてこなかった。しかし、形状モデルとして３次元モデルを用いた場合は、検出された特徴点の位置から直接対象物の姿勢を求めることができる。そこで、本発明者は、３次元形状モデルを用いて特徴点の検出を行う装置について検討した。
【００２５】
これらの検討の結果、本発明者は以下のような考えに至った。まず、従来のＡＡＭにおける誤差推定では、各ノードにより構成されるパッチにおいてサンプリングが実施されていた。このため、パッチのように面としてサンプリングの結果を捉えると、誤差推定の結果に基づくノードの移動に伴う形状変形を形状修正処理によって修正しなければ処理の精度を維持することが難しかった。しかし、各ノードの周囲の複数の点について非均質且つ低密度のサンプリングを行う場合、形状が変形しても点は変形しないため、またサンプリング点が低密度であるため、ノードの移動に伴う形状変形の影響を受けにくい。このため、形状修正処理を特に実施することなく処理の精度を維持することが可能となる。このような検討結果に基づき、本発明者は以下のような特徴点検出装置を提案する。
【００２６】
本発明の第一の態様は、入力された画像から、所定の対象物の画像における複数の特徴点の３次元位置を推定する特徴点検出装置である。ここでいう対象物は、形状モデルを設定できるものであればどのような対象物であっても良い。例えば、対象物は、人の顔、人の全体（全身）、レントゲン画像やＣＴ（Ｃｏｍｐｕｔｅｄ  Ｔｏｍｏｇｒａｐｈｙ）画像における臓器であっても良い。言い換えれば、大きさの個人差がある対象物や基本的な形が変わらずに変形する対象物について本技術は適用可能である。また、他の例として、自動車などの工業製品のように変形しない剛体の対象物であっても、形状モデルを設定することができるため本技術を適用することができる。
【００２７】
本発明の第一の態様に係る特徴点検出装置は、モデル作成手段，射影手段，特徴量取得手段，記憶手段，誤差推定量取得手段，及び推定手段を備える。モデル作成手段は、複数の特徴点にそれぞれ対応する複数のノードの３次元位置を定めた３次元モデルを作成する。各ノードは、検出の対象となる特徴点各々に対応づけられている。また、作成される３
次元モデルは、３次元モデルの各ノードを入力画像上に射影した射影点が、各ノードの対応する特徴点に近いと想定される位置であることが望ましい。従って、このような基準に基づいて作成される３次元モデルの初期位置及び姿勢が予め定められると良い。例えば、対象物は画面中央に正面向きに撮像されることが多いという経験に基づいて、画面中央を初期位置とし、正面向きとすることができる。
【００２８】
射影手段は、３次元モデルによって定められた各ノードを入力画像に射影し、その射影点の画像平面における位置を算出する。
【００２９】
特徴量取得手段は、射影手段によって射影された各ノードの射影点の周囲に複数のサンプリング点から特徴量を３次元モデルの各ノードのノード特徴量として取得する。特徴量の具体例として、画素の輝度値，Ｓｏｂｅｌフィルタ特徴量，ＨａｒｒＷａｖｅｌｅｔ特徴量，ＧａｂｏｒＷａｖｅｌｅｔ特徴量やこれらを複合した値がある。また、サンプリング点の配置は、非均質で低密度であっても良い。
【００３０】
記憶手段は、予め実行されている学習結果を記憶する。この学習結果は、複数の学習用の画像について学習処理を行うことにより取得される。具体的には、以下に示す二つの値についての相関関係の情報が、予め学習結果として取得される。一方の値は、複数のノードがそれぞれに対応する特徴点の正しい３次元位置に配置された３次元モデルである正解モデルと、複数のノードのうちの少なくともいずれかが対応する特徴点の正しい位置からずれた位置に配置された３次元モデルである誤差モデルとの差である。他方の値は、誤差モデルを学習用の画像に射影した射影点に基づいて取得された上述のノード特徴量である。このような二つの値についての相関関係の情報は、例えば正準相関分析や、線形回帰，線形重回帰，非線形重回帰などの分析手法によって取得される。
【００３１】
誤差推定量取得手段は、記憶手段に記憶される相関関係の情報と、特徴量取得手段によって取得された各ノードのノード特徴量とに基づいて、現在の３次元モデルの各ノードの位置とそれぞれに対応する特徴点の位置とのずれを示す誤差推定量を取得する。
【００３２】
推定手段は、誤差推定量取得手段によって得られた誤差推定量と、現在の３次元モデルの各ノードの位置とに基づいて、入力された画像における各特徴点の３次元位置を推定する。即ち、特徴点検出装置は、推定手段によって推定された各３次元位置において各特徴点を検出したこととなる。
【００３３】
本発明の第一の態様によれば、第一に、形状修正処理が必要とされない。言い換えれば、本発明の第一の態様によれば、形状修正処理が実施されない。このため、これまで形状修正処理に費やされていた多くの処理を省き、処理の高速化を図ることが可能となる。
【００３４】
本発明の第一の態様によれば、第二に、各ノードの周囲において探索処理をする必要はなく、各ノードによって構成されるパッチにおいて面としての高密度なサンプリングを行う必要もない。このため、従来技術によるこのようなサンプリングによって必要とされていた多くの計算量を削減することが可能となる。
【００３５】
特徴点の検出処理が高速化されることにより、上記したマン・マシン・インタフェースを高速に動作させることが可能となる。例えば、運転手モニタリングシステムはその性質から応答性が要求されるが、従来実現されていなかったこの要求を解決することが可能となる。
【００３６】
本発明の第一の態様は、繰り返し処理の終了を判定する終了判定手段をさらに備えても良い。終了判定手段は、例えば繰り返し処理が実行された回数をカウントし、所定の回数
に達した場合に終了を判定するように構成されても良い。終了判定手段がさらに備えられる場合、モデル作成手段は、誤差推定量が得られた場合は、この誤差推定量に基づいて現在の各ノードの位置を移動させて新たな３次元モデルを作成する。そして、モデル作成手段と誤差推定量取得手段とは、繰り返して処理を実行し、推定手段は、終了判定手段によって終了が判定された時点での誤差推定量と、この時点での３次元モデルとに基づいて、入力された画像における各特徴点の３次元位置を推定する。
【００３７】
このように構成された本発明の第一の態様によれば、誤差推定量に基づいて各ノードの３次元位置が移動された新たな３次元モデルに基づいて、再び誤差推定量が求められ、この処理が繰り返される。そして、終了判定手段によって、この繰り返し処理の終了が判定された時点での誤差推定量と、この時点での３次元モデルとに基づいて、各特徴点の３次元位置が推定される。従って、３次元モデルに基づいた一度の誤差推定量の取得により各特徴点の３次元位置が推定される場合に比べて、その精度が向上する。
【００３８】
本発明の第一の態様における終了判定手段は、誤差推定量取得手段によって得られた誤差推定量が閾値以下になった場合に、繰り返し処理の終了と判定するように構成されても良い。このように構成されることにより、各特徴点の位置をより正確に検出することが可能となる。
【００３９】
また、本発明の第一の態様におけるモデル作成手段は、上記の繰り返し処理を行う場合には、繰り返し回数によって、誤差推定量に基づいて新たな３次元モデルを作成する処理を変更しても良い。例えば、モデル作成手段は、繰り返し処理の初期段階においては、誤差推定量に基づいて、現在の各ノードの相対位置関係を保ったまま各ノードを移動及び／又は回転させて、３次元モデルの姿勢を変化させて新たな３次元モデルを作成する。そして、３次元モデルの姿勢に関する誤差が所定の閾値以下になった後は、誤差推定量に基づいて、現在の各ノードの相対位置も変化させて新たな３次元モデルを作成するようにしても良い。このような構成をとることによって、入力画像中に現れる対象物の向きの変化に対してロバストな特徴点検出を行うことができる。
【００４０】
本発明の第一の態様は、所定の対象物として人の顔を対象とすることが好適である。そして、本発明の第一の態様は、入力された画像から少なくとも人の顔又は人の顔の要素（顔に含まれる器官や部分を指し、例えば目，鼻，口，額などである）の位置を検出する顔検出手段をさらに備えても良い。この場合、モデル作成手段は、検出された人の顔又は人の顔の要素の位置に基づいて、３次元モデルにおける各ノードの３次元位置を決定する。このように構成されることにより、各ノードの初期位置が適切な位置、即ちそれぞれが対応する特徴点に近い位置となる。このため、各特徴点の位置をより正確に検出することが可能となる。
【００４１】
本発明の第一の態様における顔検出手段は、人の顔の向きをさらに検出するように構成されても良い。この場合、モデル作成手段は、各ノードの３次元位置を定めた３次元ノードモデルを有しており、顔検出手段によって検出された顔の向きに基づいて、３次元ノードモデルを変形させて使用するように構成されても良い。例えば、モデル作成手段は、顔検出手段によって顔の向きが左向きとして検出された場合には、３次元ノードモデルの各ノードを、左向きの顔にマッチするように回転させればよい。モデル作成手段は、他の方向の顔が検出された場合にも、それぞれの方向について上記のような回転処理を行うように構成されても良い。このように構成されることにより、予め用意された３次元ノードモデルを変形せずに使用する場合に比べて、各特徴点の位置をより正確に検出することが可能となる。
【００４２】
本発明の第一の態様における顔検出手段は、人の顔の大きさをさらに検出するように構
成されても良い。この場合、モデル作成手段は、３次元モデルにおける各ノードの３次元位置を定めた３次元ノードモデルを有しており、顔検出手段によって検出された顔の大きさに基づいて、３次元ノードモデルを変形させて使用するように構成されても良い。例えば、モデル作成手段は、顔検出手段によって検出された顔の大きさに基づいて、３次元ノードモデルを拡大又は縮小して使用するように構成されても良い。このように構成されることにより、予め用意された３次元ノードモデルを変形せずに使用する場合に比べて、各特徴点の位置をより正確に検出することが可能となる。
【００４３】
本発明の第一の態様における顔検出手段は、人の顔の向きをさらに検出するように構成されても良い。この場合、モデル作成手段は、３次元モデルにおける各ノードの３次元位置を定めた３次元ノードモデルを、顔の向きに応じて複数有するように構成されても良い。例えば、モデル作成手段は、右向きの顔，正面向きの顔，左向きの顔，上向きの顔，下向きの顔それぞれに対応する３次元ノードモデルを有するように構成されても良い。また、記憶手段は、それぞれに対応する向きの顔が撮像された学習用画像を用いて予め得られた各３次元ノードモデルに対応する相関関係の情報を記憶するように構成されても良い。また、モデル作成手段は、顔検出手段によって検出された顔の向きに基づいて、使用する３次元ノードモデルを選択するように構成されても良い。そして、誤差推定量取得手段は、モデル作成手段によって選択された３次元ノードモデルに対応する相関関係の情報を記憶手段から読み出し使用するように構成されても良い。
【００４４】
このように構成された本発明の第一の態様では、顔検出手段によって検出された顔の向きに特化した３次元ノードモデル及びこの３次元ノードモデルに対応する相関関係の情報を用いて特徴点検出が行われる。従って、常に一つの３次元ノードモデルが使用される場合に比べて、各特徴点の位置をより正確に検出することが可能となる。
【００４５】
本発明の第一の態様における顔検出手段は、人の顔の大きさをさらに検出するように構成されても良い。この場合、モデル作成手段は、３次元モデルにおける各ノードの３次元位置を定めた３次元ノードモデルを、顔の大きさに応じて複数有するように構成されても良い。また、記憶手段は、それぞれに対応する大きさの顔が撮像された学習用画像を用いて予め得られた各３次元ノードモデルに対応する相関関係の情報を記憶するように構成されても良い。また、モデル作成手段は、顔検出手段によって検出された顔の大きさに基づいて、使用する３次元ノードモデルを選択するように構成されても良い。また、誤差推定量取得手段は、モデル作成手段によって選択された３次元ノードモデルに対応する相関関係の情報を記憶手段から読み出し使用するように構成されても良い。
【００４６】
このように構成された本発明の第一の態様では、顔検出手段によって検出された顔の大きさに特化した３次元ノードモデル及びこの３次元ノードモデルに対応する相関関係の情報を用いて特徴点検出が行われる。従って、常に一つの３次元ノードモデルが使用される場合に比べて、各特徴点の位置をより正確に検出することが可能となる。
【００４７】
本発明の第一の態様における特徴量取得手段がノード特徴量を取得するサンプリング点は、ノードの射影点の周囲に離散的に配置されても良い。本発明の第一の態様における特徴量取得手段がノード特徴量を取得するサンプリング点は、ノードの射影点に近いほど密であり、ノードの射影点から遠いほど疎であるように構成されても良い。また、本発明の第一の態様における特徴量取得手段がノード特徴量を取得するサンプリング点は、レティナ構造を有するように構成されても良い。また、本発明の第一の態様における特徴量取得手段は、複数の異なるレティナ構造を記憶し、各ノードの射影点に応じたレティナ構造に従って複数のサンプリング点を決定するように構成されても良い。
【００４８】
本発明の第二の態様は、人の顔における複数の特徴点の３次元配置を表す３次元顔形状
モデルを用いて、入力画像における顔の特徴点の３次元配置を推定する特徴点検出装置である。本発明の第二の態様に係る特徴点検出装置は、モデル作成手段，射影手段，特徴量取得手段，記憶手段，誤差推定量取得手段，変更手段，及び推定手段を備える。
【００４９】
モデル作成手段は、人の顔における複数の特徴点の３次元配置を表す３次元顔形状モデルを作成する。
【００５０】
射影手段は、モデル作成手段によって作成された３次元顔形状モデルの各ノードを入力された画像平面上に射影し、射影点の画像平面における位置を決定する。
【００５１】
特徴量取得手段は、射影手段によって射影された３次元顔形状モデルの各ノードの射影点の位置の周囲で離散的に複数の特徴量を取得し、一つの射影点に基づいて取得された複数の特徴量を一つのノード特徴量として取得する。
【００５２】
記憶手段は、各ノードが正しい位置に配置された３次元顔形状モデルである正解３次元顔形状モデルと、少なくともいずれかのノードが正しい位置からずれて配置された３次元顔形状モデルである誤差３次元顔形状モデルとにおける各ノードの位置の差を示すベクトルの集合、及び、誤差３次元顔形状モデルを学習用の画像に射影して得られるノード特徴量の集合、を入力とした正準相関分析により予め取得された変換ベクトル行列を誤差推定行列として記憶する。
【００５３】
誤差推定量取得手段は、記憶手段に記憶される誤差推定行列と、特徴量取得手段によって取得されたノード特徴量の集合とに基づいて、３次元顔形状モデルの各ノードの現在位置と顔の特徴点の位置とのずれを示す誤差推定量を取得する。
【００５４】
変更手段は、誤差推定量取得手段によって得られた誤差推定量に基づいて、現在の３次元顔形状モデルの各ノード位置を変更する。
【００５５】
そして、推定手段は、変更手段によって位置が変更された後の各ノード位置を特徴点の位置として推定する。
【００５６】
このように構成された本発明の第二の態様によっても、本発明の第一の態様と同様の作用や効果を奏することができる。
【００５７】
第一〜第二の態様は、プログラムが情報処理装置によって実行されることによって実現されても良い。即ち、本発明は、上記した第一〜第二の態様における各手段が実行する処理を、情報処理装置に対して実行させるためのプログラム、或いは当該プログラムを記録した記録媒体として特定することができる。また、本発明は、上記した各手段が実行する処理を情報処理装置が実行する方法をもって特定されても良い。また、ここに示す情報処理装置とは、パーソナルコンピュータ，デジタルカメラ，デジタルビデオカメラ，防犯カメラ，デジタルカメラを搭載した携帯電話機，デジタルビデオレコーダ，画像処理を行うサーバ（ネットワークに接続されたサーバであっても良い），デジタルフォトプリンタ，ミニラボ機などである。
【発明の効果】
【００５８】
本発明によれば、画像から対象物の特徴点の位置を検出する際に、形状修正処理や高密度なサンプリングを必要としない。このため、特徴点の検出処理をより高速に実現することが可能となる。
【発明を実施するための最良の形態】
【００５９】
以下では、対象物を人の顔とし、人の顔の特徴点の３次元位置を推定する特徴点検出装置について説明する。以下の説明において、顔画像とは、少なくとも人物の顔の一部または全部の画像を含む画像である。従って、顔画像とは、人物全体の画像を含んでも良いし、人物の顔だけや上半身だけの画像を含んでも良い。また、顔画像は、複数の人物についての画像を含んでも良い。さらに、顔画像は、その背景に人物以外の風景（背景：被写体として注目された物も含む）や模様などのいかなるパターンを含んでも良い。
【００６０】
本発明者は、ＡＳＭにおいて形状モデルとして３次元形状モデルを用い、さらに可変レティナ構造による特徴量サンプリングと、正準相関分析による誤差推定行列学習とを組み合わせることにより、高速な特徴点検出を実現した。また、この組み合わせにより、ロバスト性の高い特徴点検出も実現することができる。また、この組み合わせにより、特徴点の検出と同時に顔姿勢の推定まで行うことができる。以下、本発明者の提案する技術について説明する。
【００６１】
まず、特徴点の検出に必要となる学習処理について説明する。次に、この学習処理の結果に基づいて、本発明者が提案する特徴点検出を実施する特徴点検出装置１について、構成例や動作例などを説明する。次に、特徴点検出装置１の構成に当たり採用可能な変形例について説明する。
【００６２】
〔学習処理〕
まず、特徴点検出装置１を動作させるために必要となる学習処理について説明する。この学習処理は、特徴点検出装置１によって顔画像から特徴点の位置を検出するために予め実施しておく必要のある処理である。まず、本学習処理のフローを説明するにあたって必要となる処理、３次元顔形状モデルの取得、３次元顔形状モデルの画像平面への射影、レティナサンプリング、及び誤差推定行列の取得について説明する。その後、学習処理の具体的なフローの例について説明する。
【００６３】
〈３次元顔形状モデルの取得〉
学習処理では、まず、複数の学習用顔画像（以下、学習処理の説明において「顔画像」と呼ぶ）と、各顔画像における特徴点の３次元座標を用意する。特徴点は、例えば、レーザスキャナやステレオカメラなどの技術によって取得することができるが、その他どのような技術を用いても良い。この特徴点抽出処理は、学習処理の精度を高めるためにも、人間によって実施されることが望ましい。図１（ａ）は、顔画像から抽出された特徴点の例を示す図である。図１（ａ）において、斜線を含む円の中心位置が特徴点となる。具体的には、両目の両端（目頭と目尻）及び中心部分、左右のほお骨部分（眼窩底部分）、鼻の頂点、左右の口角、口の中心、鼻の左右端点と左右の口角の中間点などを特徴点とすることができる。なお、図１（ａ）は特徴点の位置を説明するために平面的な図として示しているが、実際には図１（ｂ）に示すように３次元座標として特徴点が抽出される。各特徴点ｐｉの座標を、ｐｉ（ｘｉ，ｙｉ，ｚｉ）とする。このとき、ｉは、１からｎ（ｎは特徴点の数を示す）の値を示す。
【００６４】
次に、各顔画像についての特徴点配置ベクトルＸを数１のように定義する。ある顔画像ｊについての特徴点配置ベクトルは、Ｘｊと記す。なお、Ｘの次元数は３ｎである。
【００６５】
【数１】
2007249280.tif 000003
【００６６】
次に、取得された全ての特徴点配置ベクトルＸを、適当な基準に基づき正規化する。このときの正規化の基準は、設計者によって適宜決定されて良い。以下、正規化の具体例に
ついて説明する。例えば、ある顔画像ｊについての特徴点配置ベクトルＸｊについて、点ｐ１〜ｐｎの重心座標をｐＧとするとき、重心ｐＧを原点とする座標系に各点を移動させた後、数２によって定義されるＬｍを用いて、その大きさを正規化することができる。具体的には、Ｌｍによって移動後の座標値を割ることにより、大きさを正規化することができる。ここで、Ｌｍは、重心から各点までの直線距離の平均値である。
【００６７】
【数２】
2007249280.tif 000004
【００６８】
また、回転に対しては、例えば両目の中心を結ぶ直線が一定方向を向くように特徴点座標に対して回転変換を行うことにより、正規化することができる。以上の処理は、回転、拡大・縮小の組み合わせで表現できるため、正規化後の特徴点配置ベクトルｘは数３のように表すことができる（相似変換）。
【００６９】
【数３】
2007249280.tif 000005
【００７０】
次に、この正規化特徴点配置ベクトルの集合に対し、主成分分析を行う。主成分分析は例えば以下のように行うことができる。まず、数４に示される式に従って平均ベクトル（平均ベクトルはｘの上部に水平線を記すことにより示される）を取得する。なお、数４において、Ｎは、顔画像の数、即ち特徴点配置ベクトルの数を示す。
【００７１】
【数４】
2007249280.tif 000006
【００７２】
そして、数５に示されるように、全ての正規化特徴点配置ベクトルから平均ベクトルを差し引くことにより、差分ベクトルｘ’を取得する。画像ｊについての差分ベクトルは、ｘ’ｊと示される
【００７３】
【数５】
2007249280.tif 000007
【００７４】
上記した主成分分析の結果、固有ベクトルと固有値との組が３ｎ個得られる。任意の正規化特徴点配置ベクトルは、数６に示される式によって表すことができる。
【００７５】
【数６】
2007249280.tif 000008
【００７６】
ここで、Ｐは固有ベクトル行列を示し、ｂは形状パラメタベクトルを示す。それぞれの値は数７に示される通りである。なお、ｅｉは、固有ベクトルを示す。
【００７７】
【数７】
2007249280.tif 000009
【００７８】
実際には、固有値の大きい上位ｋ次元までの値を用いることにより、任意の正規化特徴点配置ベクトルｘは数８のように近似して表すことができる。以下、固有値の大きい順に、ｅｉを第ｉ主成分と呼ぶ。
【００７９】
【数８】
2007249280.tif 000010
【００８０】
なお、実際の顔画像に顔形状モデルをあてはめる（フィッティングさせる）際には、正規化特徴点配置ベクトルｘに対して相似変換（平行移動，回転）を行う。相似変換のパラメタをｓｘ，ｓｙ，ｓｚ，ｓθ，ｓφ，ｓψとすると、形状パラメタとあわせて、モデルパラメタｋを数９のように表すことができる。
【００８１】
【数９】
2007249280.tif 000011
【００８２】
このモデルパラメタｋによって表される３次元顔形状モデルが、ある顔画像上の特徴点位置にほぼ正確に一致する場合に、そのパラメタをその顔画像における３次元正解モデルパラメタと呼ぶ。正確に一致しているか否かは、設計者により設定される閾値や基準に基づいて判断される。
【００８３】
〈射影処理〉
３次元形状モデルは、２次元平面に射影することにより２次元画像上での処理が可能になる。３次元形状を２次元平面に射影する方法としては、平行投影法、透視投影法などの各種の手法が存在する。ここでは、透視投影法のうち単点透視投影を例に説明する。もっとも、他のどのような手法を使用しても同様の効果を得ることができる。ｚ＝０平面への単点透視投影行列は、数１０に示すとおりである。
【００８４】
【数１０】
2007249280.tif 000012
【００８５】
ここで、ｒ＝−１／ｚであり、ｚｃはｚ軸上の投影中心を表す。これにより、３次元座標［ｘ，ｙ，ｚ］は数１１に示すように変換され、ｚ＝０平面上の座標系で数１２のように表される。
【００８６】
【数１１】
2007249280.tif 000013
【００８７】
【数１２】
2007249280.tif 000014
【００８８】
以上の処理により、３次元形状モデルは２次元平面に射影される。
【００８９】
〈レティナサンプリング〉
次に、特徴量のサンプリングについて説明する。特徴量のサンプリングは、画像上に射影された顔形状モデルに対し可変レティナ構造を組み合わせることによって行う。レティナ構造とは、ある着目したい特徴点（ノード）の周囲に放射状に離散的に配置されたサンプリング点の構造のことである。図２は、レティナ構造の例を示す図である。図２では、注目したい特徴点の座標は原点であり、その他の座標に位置する各点がレティナ構造におけるサンプリング点を示す。レティナ構造によるサンプリングを実施することにより、特徴点周りの情報を、低次元で効率的にサンプリングすることが可能となる。本学習処理では、３次元顔形状モデルから２次元平面に射影された顔形状モデル（以下、２次元顔形状モデルという）の各ノードの射影点（各点ｐ）においてレティナ構造によるサンプリングを実施する。なお、レティナ構造によるサンプリングとは、レティナ構造に従って定められたサンプリング点においてサンプリングを実施することを言う。
【００９０】
図３は、２次元顔形状モデルのある一つのノードに対してレティナ構造を適用した場合のサンプリング点の分布例を示す図である。図３において、斜線を含む円は顔形状モデルのノードを示し、黒丸はレティナ構造におけるサンプリング点を示す。
【００９１】
レティナ構造は、ｉ番目のサンプリング点の座標をｑｉ（ｘｉ，ｙｉ）とすると、数１３のように表すことができる。
【００９２】
【数１３】
2007249280.tif 000015
【００９３】
従って、例えばある点ｐ（ｘｐ，ｙｐ）について、レティナ構造によるサンプリングを行うことにより得られるレティナ特徴量ｆｐは、数１４のように表すことができる。
【００９４】
【数１４】
2007249280.tif 000016
【００９５】
ただし、ｆ（ｐ）は、点ｐ（サンプリング点ｐ）での特徴量を示す。また、レティナ構造における各サンプリング点では、画像の輝度値，Ｓｏｂｅｌフィルタ特徴量，ＨａｒｒＷａｖｅｌｅｔ特徴量，ＧａｂｏｒＷａｖｅｌｅｔ特徴量やこれらを複合した値が、そのサンプリング点における特徴量として取得される。特徴量が多次元の場合、レティナ特徴量は数１５のように表すことができる。
【００９６】
【数１５】
2007249280.tif 000017
【００９７】
ここで、Ｄは特徴量の次元数、ｆｄ（ｐ）は、点ｐでの第ｄ次元の特徴量を表す。また、ｑｉ（ｄ）は第ｄ次元に対するレティナ構造の、ｉ番目のサンプリング座標を示す。
【００９８】
なお、レティナ構造は、顔形状モデルのスケールに応じてその大きさを変化させることができる。例えば、平行移動パラメタｓｚに反比例させて、レティナ構造の大きさを変化させることができる。このとき、レティナ構造ｒは数１６のように表すことができる。なお、αは適当な固定値である。また、レティナ構造は、顔形状モデルにおける他のパラメタに応じて回転や形状変化させても良い。また、レティナ構造は、顔形状モデルの各ノードによってその形状（構造）が異なるように設定されても良い。また、レティナ構造は中心点一点のみの構造であっても良い。すなわち、特徴点（ノード）のみをサンプリング点とする構造もレティナ構造に含まれる。
【００９９】
【数１６】
2007249280.tif 000018
【０１００】
あるモデルパラメタによって定まる３次元顔形状モデルにおいて、射影平面上に射影された各ノードの射影点ごとに上記のサンプリングを行って得られたレティナ特徴量を一列に並べたベクトルを、その３次元顔形状モデルにおけるサンプリング特徴量ｆと呼ぶ。サンプリング特徴量ｆは数１７のように表すことができる。数１７において、ｎは顔形状モデルにおけるノードの数を示す。
【０１０１】
【数１７】
2007249280.tif 000019
【０１０２】
なお、サンプリング時に、各ノードにおいて正規化を行う。例えば、特徴量が０から１の範囲に収まるようにスケール変換を行うことにより正規化を行っても良い。また、一定の平均や分散をとるように変換を行うことによって正規化を行っても良い。また、特徴量によっては正規化を行わなくても良い場合がある。
【０１０３】
〈誤差推定行列の取得〉
次に、本学習処理において実行する誤差推定行列の取得について説明する。誤差推定行列の取得は、正準相関分析（Ｃａｎｏｎｉｃａｌ  Ｃｏｒｒｅｌａｔｉｏｎ  Ａｎａｌｙｓｉｓ）を用いることにより実施する。正準相関分析は、二つの次元の異なる変量間の相関関係を求める手法の一つである。正準相関分析により、顔形状モデルの各ノードが誤った位置（検出すべき特徴点と異なる位置）に配置されてしまった際にどの方向に修正すべきかの相関関係について学習結果を得ることができる。
【０１０４】
まず、学習用の顔画像の特徴点の３次元位置情報から３次元顔形状モデルを作成する。または、学習用の顔画像の２次元正解座標点から３次元顔形状モデルを作成する。そして、３次元顔形状モデルから正解モデルパラメタを作成する。この正解モデルパラメタを、乱数などにより一定範囲内でずらすことにより、少なくともいずれかのノードが特徴点の３次元位置からずれているずれ配置モデルを作成する。図４は、ずれ配置モデルを学習用顔画像に射影したときの各ノードの射影点の例を示す図である。図４において、斜線を含む円が射影点の位置を示す。図４（ａ）は、ある顔画像における正解モデルパラメタを学習用顔画像に射影することによって得られる各ノードの射影点の位置を示す図である。図４（ｂ）は、図４（ａ）に示された正解モデル（正解モデルパラメタによって表される３次元顔形状モデル）をずらすことによって作成されたずれ配置モデルを学習用顔画像に射影することによって得られる各ノードの射影点の位置を示す図である。そして、ずれ配置モデルに基づいて取得したサンプリング特徴量と、ずれ配置モデルと正解モデルとの差と、を組として、相関関係についての学習結果を取得する。以下、具体的な処理を説明する。
【０１０５】
まず、二組の変量ベクトルｘとｙを数１８のように定義する。ｘは、ずれ配置モデルに対するサンプリング特徴量を示す。ｙは、正解モデルパラメタ（ｋｏｐｔ）とずれ配置モデルパラメタ（ずれ配置モデルを示すパラメタ：ｋｄｉｆ）との差を示す。
【０１０６】
【数１８】
2007249280.tif 000020
【０１０７】
二組の変量ベクトルは、予め各次元ごとに平均０、分散１に正規化する。正規化するために用いたパラメタ（各次元の平均、分散）は、後述する特徴点の検出処理において必要となる。以下、それぞれをｘａｖｅ，ｘｖａｒ，ｙａｖｅ，ｙｖａｒとし、正規化パラメタと呼ぶ。
【０１０８】
次に、二つの変量に対する線形変換を数１９のように定義した場合、ｕ，ｖ間の相関を最大にするようなａ，ｂを求める。
【０１０９】
【数１９】
2007249280.tif 000021
【０１１０】
上記ａとｂとは、ｘ，ｙの同時分布を考え、その分散共分散行列Σを数２０のように定義した場合に、数２１に示す一般固有値問題を解いたときの最大固有値に対する固有ベクトルとして得られる。
【０１１１】
【数２０】
2007249280.tif 000022
【０１１２】
【数２１】
2007249280.tif 000023
【０１１３】
これらのうち、次元の低い方の固有値問題を先に解く。例えば、１番目の式を解いて得られる最大固有値がλ１、対応する固有ベクトルがａ１であった場合、ベクトルｂ１は、数２２に表される式によって得られる。
【０１１４】
【数２２】
2007249280.tif 000024
【０１１５】
このようにして求められたλ１を第一正準相関係数と呼ぶ。また、数２３によって表されるｕ１，ｖ１を第一正準変量と呼ぶ。
【０１１６】
【数２３】
2007249280.tif 000025
【０１１７】
以下、２番目に大きい固有値に対応する第二正準変量、３番目に大きい固有値に対応する第三正準変量というように、固有値の大きさに基づいて順に求めていく。なお、後述する特徴点の検出処理に用いるベクトルは、固有値がある一定以上の値（閾値）を有する第Ｍ正準変量までのベクトルとする。このときの閾値は、設計者によって適宜決定されて良い。以下、第Ｍ正準変量までの変換ベクトル行列を、Ａ’，Ｂ’とし、誤差推定行列と呼ぶ。Ａ’，Ｂ’は、数２４のように表すことができる。
【０１１８】
【数２４】
2007249280.tif 000026
【０１１９】
Ｂ’は、一般に正方行列とはならない。しかし、特徴点の検出処理において逆行列が必要となるため、Ｂ’に対し擬似的に０ベクトルを追加し、正方行列Ｂ’’とする。正方行列Ｂ’’は数２５のように表すことができる。
【０１２０】
【数２５】
2007249280.tif 000027
【０１２１】
なお、誤差推定行列を求めることは、線形回帰，線形重回帰，非線形重回帰などの分析手法によっても可能である。しかし、正準相関分析を用いることにより、小さな固有値に
対応する変量の影響を無視することが可能となる。従って、誤差推定に影響しない要素の影響を排除することが可能となり、より安定した誤差推定が可能となる。よって、係る効果を必要としないのであれば、正準相関分析ではなく上記した他の分析手法を用いて誤差推定行列の取得を実施することも可能である。また、誤差推定行列は、ＳＶＭ、ＲＶＭなどの手法によって取得することも可能である。
【０１２２】
〈学習処理の流れ〉
以上、本学習処理に必要となる三つの処理、即ち顔形状モデルの取得、レティナサンプリング、及び誤差推定行列の取得について説明した。次に、これらの処理を用いて学習処理を行う際のフローについて説明する。図５は、学習処理のフローの例を示すフローチャートである。以下、図５を用いて学習処理の流れの例について説明する。なお、以下に説明する処理は、学習処理プログラムがインストールされた情報処理装置によって実行される。この情報処理装置は、接続された記憶装置から学習用の顔画像及び各顔画像において予め抽出されている各特徴点の３次元座標位置（特徴点の正解座標）を読み出すことが可能に構成される。この情報処理装置は、上記した記憶装置からのみならず、ネットワークを介することにより、又は記録媒体にアクセスすること等によって、上記データを読み出すことが可能に構成されても良い。
【０１２３】
まず、変数ｉを定義し、１を代入する（Ｓ０１）。次に、予め特徴点の３次元位置が取得されている学習用の顔画像のうち、ｉ番目の顔画像（Ｉｍｇ＿ｉ）を読み込む（Ｓ０２）。ここでは、ｉに１が代入されているため１番目の顔画像（Ｉｍｇ＿１）が読み込まれる。次に、顔画像Ｉｍｇ＿ｉの特徴点の正解座標の集合を読み出し、正解モデルパラメタｋｏｐｔを取得し３次元顔形状モデル（正解モデル）を作成する（Ｓ０３）。次に、正解モデルパラメタｋｏｐｔに基づいてずれ配置モデルパラメタｋｄｉｆを作成し、ずれ配置モデルを作成する（Ｓ０４）。このずれ配置モデルの作成は乱数を発生させて所定の範囲内で正解モデルからずらすことが好ましい。次に、ずれ配置モデルを学習画像上に射影する（Ｓ０５）。そして、ずれ配置モデルが射影された２次元形状モデルに基づいて、レティナ構造を用いたサンプリングを実行し、サンプリング特徴量ｆ＿ｉを取得する（Ｓ０６）。また、正解モデルパラメタｋｏｐｔとずれ配置モデルパラメタｋｄｉｆとに基づいて形状モデルの誤差（ずれ）ｄｐ＿ｉを取得する（Ｓ０７）。ここで、全ての学習用の顔画像について処理が完了したか否か判断する（Ｓ０８）。例えば、ｉの値と、学習用の顔画像の数を示すｎとを比較することにより判断することができる。処理していない顔画像がある場合には（Ｓ０８−Ｎｏ）、ｉの値をインクリメントし（Ｓ０９）、新たなｉの値に基づいてＳ０２以降の処理を実行する。一方、全ての顔画像について処理が完了したと判断した場合（Ｓ０８−Ｙｅｓ）、各顔画像について得られたサンプリング特徴量ｆ＿ｉと形状モデルの誤差ｄｐ＿ｉとの集合について正準相関分析を実行する（Ｓ１０）。そして、予め定められた閾値よりも小さい固定値に対応する不要な相関行列を削除し（Ｓ１１）、最終的に誤差推定行列を取得する（Ｓ１２）。
【０１２４】
上記の処理では、各学習用画像に対してずれ配置モデルを１つしか作成していないが、複数個のずれ配置モデルを作成しても良い。すなわち、学習用の画像に対してＳ０３からＳ０７の処理を複数回（例えば１０〜１００回）実行しても良い。
【０１２５】
〔特徴点検出装置〕
次に、特徴点検出装置１について説明する。特徴点検出装置１は、上記した学習処理によって得られる誤差推定行列や正規化パラメタ等に基づいて、入力された顔画像から特徴点を検出する。まず、特徴点検出装置１の装置構成について説明する。
【０１２６】
〈装置構成〉
例えば、特徴点検出装置１は、ハードウェア的には、バスを介して接続されたＣＰＵ（
中央演算処理装置），主記憶装置（ＲＡＭ），補助記憶装置などを備えるように構成されても良い。この場合は、プログラムがＣＰＵによって実行されることにより、特徴点検出装置１が実現される。ここで言う補助記憶装置は、不揮発性記憶装置を用いて構成される。不揮発瀬記憶装置とは、いわゆるＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ：ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ），マスクＲＯＭ等を含む），ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  ＲＡＭ），ハードディスク等を指す。
【０１２７】
図６は、特徴点検出装置１の機能ブロック例を示す図である。特徴点検出装置１は、補助記憶装置に記憶された各種のプログラム（ＯＳ，アプリケーション等）が主記憶装置にロードされＣＰＵにより実行されることによって、画像入力部２，顔検出部３，特徴量取得部４，学習結果記憶部５，及び誤差推定部６等を含む装置として機能する。また、特徴点検出装置１の全部又は一部は、専用のチップとして構成されても良い。次に、特徴点検出装置１が含む各機能部について説明する。
【０１２８】
画像入力部２は、顔画像のデータを特徴点検出装置１へ入力するためのインタフェースとして機能する。画像入力部２によって、顔画像のデータが特徴点検出装置１へ入力される。画像入力部２は、特徴点検出装置１へ顔画像のデータを入力するためのどのような既存技術を用いて構成されても良い。
【０１２９】
例えば、ネットワーク（例えばローカル・エリア・ネットワークやインターネット）を介して顔画像のデータが特徴点検出装置１へ入力されても良い。この場合、画像入力部２はネットワークインタフェースを用いて構成される。また、デジタルカメラやスキャナやパーソナルコンピュータや記録装置（例えばハードディスクドライブ）等から顔画像のデータが特徴点検出装置１へ入力されても良い。この場合、画像入力部２は、デジタルカメラやパーソナルコンピュータや記録装置などと特徴点検出装置１とをデータ通信可能に接続する規格（例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）やＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）等の有線接続やｂｌｕｅｔｏｏｔｈ（登録商標）等の無線接続の規格）に応じて構成される。また、記録媒体（例えば各種フラッシュメモリやフロッピー（登録商標）ディスクやＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）やＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ、Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｄｉｓｃ））に記録された顔画像のデータが特徴点検出装置１へ入力されても良い。この場合、画像入力部２は、記録媒体からデータを読み出す装置（例えばフラッシュメモリリーダやフロッピー（登録商標）ディスクドライブやＣＤドライブやＤＶＤドライブ）を用いて構成される。
【０１３０】
また、特徴点検出装置１がデジタルカメラ等の撮像装置又はデジタルカメラ等の撮像装置を備える各種装置（例えばＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）や携帯電話機）の内部に含まれ、撮像された画像が顔画像のデータとして特徴点検出装置１へ入力されても良い。この場合、画像入力部２は、ＣＣＤ（Ｃｈａｒｇｅ−Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅｓ）やＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ−Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）センサ等を用いて構成されても良いし、ＣＣＤやＣＭＯＳセンサなどによって撮像された顔画像のデータを特徴点検出装置１に入力させるためのインタフェースとして構成されても良い。また、特徴点検出装置１が、プリンタやディスプレイ等の画像出力装置の内部に含まれ、出力データとしてこれらの画像出力装置に入力された画像が顔画像のデータとして特徴点検出装置１へ入力されても良い。この場合、画像入力部２は、これらの画像出力装置に入力された顔画像のデータを特徴点検出装置１において取り扱い可能なデータに変換する装置などを用いて構成される。
【０１３１】
また、画像入力部２は上記された複数の場合に応じることが可能となるように構成されても良い。
【０１３２】
顔検出部３は、画像入力部２を介して入力された顔画像から、人の顔を検出する。顔検出部３は、例えば、顔全体の輪郭に対応した基準テンプレートを用いたテンプレートマッチングによって顔を検出するように構成されても良い。また、顔検出部３は、顔の構成要素（目，鼻，耳など）に基づくテンプレートマッチングによって顔を検出するように構成されても良い。また、顔検出部３は、クロマキー処理によって頭部などの頂点を検出し、この頂点に基づいて顔を検出するように構成されても良い。また、顔検出部３は、肌の色に近い領域を検出し、その領域を顔として検出するように構成されても良い。また、顔検出部３は、ニューラルネットワークを使って教師信号による学習を行い、顔らしい領域を顔として検出するように構成されても良い。また、顔検出部３による顔検出処理は、その他、既存のどのような技術が適用されることによって実現されても良い。
【０１３３】
顔検出部３は、検出された顔の位置を特定し、その位置を特徴量取得部４へ渡す。このとき、顔検出部３は、顔の傾きや顔の大きさを取得して、その値を特徴量取得部４にさらに渡すように構成されても良い。
【０１３４】
特徴量取得部４は、顔検出部３によって検出された人の顔の画像からサンプリング特徴量を取得する。以下、特徴量取得部４の具体的な処理について説明する。
【０１３５】
特徴量取得部４は、顔検出部３によって検出された顔について初めてサンプリング特徴量を取得する場合には、まず、３次元顔形状モデルにおける各ノードの３次元位置を決定し、その形状モデルのパラメタ（初期パラメタ）ｋｉｎｉｔを取得する。この３次元形状モデルは、例えば検出された顔の中心と３次元顔形状モデルの中心とが一致するような形状であっても良い。また、３次元形状モデルは、例えば顔検出部３によって顔矩形（検出された顔を囲む矩形）が取得される場合には、この顔矩形のある頂点（例えば左上のかど）から所定の位置に顔形状モデルの所定のノードが配置されるような形状であっても良い。特徴量取得部４が作成する３次元顔形状モデルは、検出された顔に対し適当にノードが配置されるのであれば、その他どのように設計者によって定義されても良い。
【０１３６】
また、初期パラメタｋｉｎｉｔとは、数９によって表されるモデルパラメタｋのうち、初期値によって表されるモデルパラメタをいう。初期パラメタｋｉｎｉｔには、適当な値が設定されて良い。ただし、一般的な顔画像から得られる平均的な値を初期パラメタｋｉｎｉｔに設定することにより、様々な顔の向きや表情変化などに対応することが可能となる。従って、例えば、相似変換のパラメタｓｘ，ｓｙ，ｓｚ，ｓθ，ｓφ，ｓψについては、学習処理の際に用いた顔画像の正解モデルパラメタの平均値を用いても良い。また、例えば、形状パラメタｂについては、ゼロとしても良い。また、顔検出部３によって顔の向きの情報が得られる場合には、この情報を用いて初期パラメタを設定しても良い。この他、設計者が経験的に得た他の値をもって初期パラメタとしても良い。
【０１３７】
次に、特徴量取得部４は、設定された初期パラメタによって表される顔形状モデルを入力された顔画像に射影する。そして、特徴量取得部４は、射影された形状モデルを用いて、レティナ構造に基づいたサンプリングを実施し、サンプリング特徴量ｆを取得する。そして、特徴量取得部４は、得られたサンプリング特徴量ｆを、誤差推定部６へ渡す。
【０１３８】
一方、特徴量取得部４は、顔検出部３によって検出された顔についてサンプリング特徴量を取得するのが二度目以降の場合には、誤差推定部６によって得られた新たなモデルパラメタｋ（即ち、正解モデルパラメタの推定値ｋｉ＋１）によって表される顔形状モデルについて、サンプリング特徴量ｆを取得する。そして、この場合も、特徴量取得部４は、
得られたサンプリング特徴量ｆを、誤差推定部６へ渡す。
【０１３９】
学習結果記憶部５は、不揮発性記憶装置を用いて構成され、上記した学習処理によって得られる学習結果を記憶している。具体的には、学習結果記憶部５は、誤差推定行列，正規化パラメタなどを記憶している。また、必要に応じて、学習結果記憶部５は、初期パラメタｋｉｎｉｔ又は初期パラメタｋｉｎｉｔを構成する値の一部（例えば、学習処理の際に用いた顔画像の正解モデルパラメタにおける相似変換パラメタの平均値など）をさらに記憶しても良い。
【０１４０】
誤差推定部６は、特徴量取得部４によって取得されたサンプリング特徴量ｆ、及び学習結果記憶部５に記憶される誤差推定行列や正規化パラメタなどに基づいて、誤差量を推定し新たなモデルパラメタｋを取得する。以下、誤差推定部６の具体的な処理例について説明する。
【０１４１】
まず、誤差推定部６は、正規化パラメタ（ｘａｖｅ，ｘｖａｒ）を用いて、特徴量取得部４により取得されたサンプリング特徴量ｆを正規化し、正準相関分析を行うためのベクトルｘを取得する。そして、誤差推定部６は、数２６により表される式に基づいて第一〜第Ｍ正準変量を算出することにより、変量ｕを取得する。
【０１４２】
【数２６】
2007249280.tif 000028
【０１４３】
次に、誤差推定部６は、数２７に表される式を用いて、正規化誤差推定量ｙを取得する。なお、数２７において、Ｂ’が正方行列でない場合には、Ｂ’Ｔ−１はＢ’の擬似逆行列である。
【０１４４】
【数２７】
2007249280.tif 000029
【０１４５】
次に、誤差推定部６は、正規化誤差推定量ｙに対し、正規化パラメタ（ｙａｖｅ，ｙｖａｒ）を用いて復元処理を行い、誤差推定量ｋｅｒｒを取得する。ｋｅｒｒは、現在のモデルパラメタｋｉから正解モデルパラメタｋｏｐｔまでの誤差推定量である。従って、正解モデルパラメタの推定値ｋｉ＋１は、現在のモデルパラメタｋｉに誤差推定量ｋｅｒｒを加算することにより取得できる。ただし、ｋｅｒｒは誤差を含んでいる可能性がある。このため、より安定した検出を行うために、数２８に表される式によって正解モデルパラメタの推定値ｋｉ＋１を取得することができる。数２８において、σは適当な固定値であり、設計者によって適宜決定されて良い。また、σは、例えばｉの変化に従って変化しても良い。
【０１４６】
【数２８】
2007249280.tif 000030
【０１４７】
誤差推定部６は、上記のサンプリング、誤差推定を繰り返し正解モデルパラメタの推定値ｋｉを正解パラメタに近づけていくことが好ましい。このような繰り返し処理を行う場合には、誤差推定部６は、推定値ｋｉを得る度に、終了判定を行う。例えば、誤差推定部６は、ｉの値が閾値を超えた場合に、処理を終了すると判定しても良い。また、例えば誤
差推定部６は、数２９によって表されるΔｋの値が閾値以下になった場合に、処理を終了すると判定しても良い。また、誤差推定部６は、取得されたｋｉ＋１の値が正常範囲内であるか否かに基づいて終了判定を行っても良い。例えば、誤差推定部６は、取得されたｋｉ＋１の値が、明らかに人の顔の画像における正解位置を示すものでない場合には、エラーを出力することにより終了することを決定しても良い。また、誤差推定部６は、取得されたｋｉ＋１によって表されるノードの一部が、処理対象の画像からはみでてしまった場合にも、エラーを出力することにより終了することを決定しても良い。
【０１４８】
【数２９】
2007249280.tif 000031
【０１４９】
誤差推定部６は、処理を続行すると判定した場合、取得された正解モデルパラメタの推定値ｋｉ＋１を特徴量取得部４へ渡す。一方、誤差推定部６は、処理を終了すると判定した場合、その時点で得られている正解モデルパラメタの推定値ｋｉ（又はｋｉ＋１であっても良い）を、最終推定パラメタｋｅｓｔとして出力する。
【０１５０】
〈動作例〉
図７は、特徴点検出装置１の動作例を示すフローチャートである。以下、図７を用いて特徴点検出装置１の動作例について説明する。まず、特徴点検出装置１は、画像入力部２を介して、処理対象となる画像を読み込む（Ｓ２０）。次に、顔検出部３は、処理対象となる画像から人の顔を検出する。次に、特徴量取得部４は、初期パラメタｋｉｎｉｔに基づいた３次元顔形状モデルを、顔検出部３による顔検出処理の結果に従って得られる初期位置に配置する（Ｓ２１）。次に、特徴量取得部４は、変数ｉを定義し１を代入する。また、特徴量取得部４は、ｋｉを定義し、初期パラメタｋｉｎｉｔを代入する（Ｓ２２）。そして、特徴量取得部４はｋｉで表される３次元顔形状モデルを処理対象の画像上に射影する（Ｓ２３）。特徴量取得部４は、射影された２次元形状モデルに従って、レティナ構造に基づき、サンプリング特徴量ｆを取得する（Ｓ２４）。
【０１５１】
次に、誤差推定部６は、取得されたサンプリング特徴量ｆや学習結果記憶部５に記憶される誤差推定式などにより、３次元形状モデルｋｉと正解モデルパラメタとの推定誤差ｋｅｒｒを取得する（Ｓ２５）。誤差推定部６は、推定誤差に基づいて正解モデルパラメタの推定値ｋｉ＋１を数２８にしたがって算出する（Ｓ２６）。次に、誤差推定部６は、Δｋをｋｉ＋１とｋｉとの差として算出し（Ｓ２７）、ＥをΔｋの二乗として算出する（Ｓ２８）。そして、誤差推定部６は終了判定を行う。
【０１５２】
終了判定において、誤差推定部６は、まず取得されたｋｉ＋１の値が正常範囲内であるか否か判断する（Ｓ２９）。ｋｉ＋１の値が正常範囲内でない場合（Ｓ２９−Ｎｏ）、誤差推定部６は、不図示の出力装置などにエラーを出力し（Ｓ３０）、特徴点検出装置１としての処理を終了する。一方、ｋｉ＋１の値が正常範囲内である場合（Ｓ２９−Ｙｅｓ）、Ｓ２８の処理で取得されたＥの値が閾値（ε）を超えているか否か判断する（Ｓ３１）。Ｅが閾値を超えていない場合（Ｓ３１−Ｙｅｓ）、誤差推定部６は、処理が収束したとして、ｋｅｓｔを出力し（Ｓ３２）、特徴点検出装置１としての処理を終了する。
【０１５３】
一方、Ｅが閾値を超えている場合（Ｓ３１−Ｎｏ）、誤差推定部６は、ｋｉ＋１の値を特徴量取得部４に渡す。そして、特徴量取得部４は、このｋｉ＋１の値に基づいて新たな３次元顔形状モデルを作成する（Ｓ３３）。この後、誤差推定部６は、ｉの値をインクリメントする（Ｓ３４）。特徴量取得部４は、新たな３次元顔形状モデルを処理対象画像に射影してサンプリング特徴量ｆの取得などを行う。即ち、この場合、新たな３次元顔形状モデルに基づいてＳ２３以降の処理が繰り返される。
【０１５４】
〈作用／効果〉
従来のＡＳＭでは、顔形状モデルの各ノード周囲において探索処理を繰り返す必要があった。また、従来のＡＡＭでは、各ノードによって構成されるパッチ内で均質且つ高密度なサンプリングを行い、さらにこの結果に対し形状修正処理を行う必要があった。具体的には、従来のＡＡＭでは通常１万点以上のサンプリングが必要とされていた。即ち、特徴点の検出処理には処理速度や応答性が要求されているにも関わらず、従来のこれらの技術では、計算量を削減することが十分には実現されていなかった。
【０１５５】
一方、特徴点検出装置１では、第一に、形状修正処理を必要としない。さらに、特徴点検出装置１では、レティナ構造に基づく非均質且つ低密度なサンプリングによって、特徴点の検出処理が行われる。具体的には、通常数百点程度のサンプリングで検出処理が可能である。このように、特徴点検出装置１によれば、特徴点の検出に要する計算量を従来に比べて大幅に削減することが可能となる。また、サンプリング点が少なくなるため、学習結果として保存しておくデータ量を抑制することも可能となる。
【０１５６】
また、特徴点検出装置１では、誤差推定行列を正準相関分析によって求めるため、予測誤差の原因となる余分な要素の影響を予め排除することができる。また、線形演算のみによって誤差推定を行うことができるため、高速に誤差推定処理を行うことができる。
【０１５７】
また、特徴点検出装置１は顔形状モデルを使用して特徴点の探索を行うため、処理対象の顔画像において、一部の特徴点が隠れていたり、学習画像の顔と大きく異なっていた場合でも安定して特徴点検出を行うことができる。さらに、顔形状モデルとして３次元顔形状モデルを用いているため、より精度良く安定した結果を得ることができる。
【０１５８】
また、３次元顔形状モデルを用いているため、検出過程もしくは検出結果から顔姿勢（顔が向いている方向やその角度）を直接求めることができる。すなわち、特徴点検出装置１が出力した顔形状モデルパラメタに含まれるパラメタｓθ，ｓφ，ｓψから顔の姿勢を求めることが可能である。
【０１５９】
〈変形例〉
学習結果記憶部５は、予め複数の顔の状態を示す初期パラメタｋｉｎｉｔを記憶していても良い。例えば、学習結果記憶部５は、横を向いた顔や上を向いた顔などに対応する初期パラメタｋｉｎｉｔの値を記憶していても良い。そして、特徴量取得部４は、取得されるｋｉ＋１の値によっては、使用する顔形状モデルを変更しても良い。具体的には、まず、各初期パラメタが担当する顔形状モデルの範囲を予め定めておく。特徴量取得部４は、誤差推定部６によって新たに取得されたｋｉ＋１の値が採用した初期パラメタの担当範囲からずれた場合には、このｋｉ＋１の値を破棄して、採用された初期パラメタｋとは異なる別の初期パラメタを学習結果記憶部５から読み出し、その値に基づいてＳ２１以降の処理を再度実行するように構成されても良い。
【０１６０】
また、特徴量取得部４は、例えば、特徴点の検出処理が繰り返し実行される場合には、ある時点で得られたｋｉ＋１の値に応じて次に入力される顔画像に対する検出処理で用いる顔形状モデルを変更しても良い。処理対象となっている画像に含まれる顔が横を向いている場合などには、ｋｉ＋１で表されるモデルを用いて処理を続行するよりも、横を向いた顔の顔形状モデルを示す初期パラメタを用いて処理を行った方がより精度の高い結果を得られる場合がある。従って、このような場合には、上記の変形例に従って構成することが有効である。
【０１６１】
このような構成により、より大きな顔姿勢の変化に対応することができるようになる。
【０１６２】
また、特徴量取得部４は、初期パラメタｋｉｎｉｔではなく、レティナ構造や、誤差推定行列などを切り替えるように構成されても良い。例えば、初期の正解モデルパラメタ推定は形状パラメタを固定して移動・回転のパラメタだけを変化させて行い、移動・回転パラメタがほぼ決定した後に形状パラメタの推定を行う処理を行うことが考えられる。すなわち、初期のモデルパラメタ推定においては、誤差推定量ｋｅｒｒのうちから移動と回転に関するパラメタｓｘ，ｓｙ，ｓｚ，ｓθ，ｓφ，ｓψを利用してモデルパラメタを正解パラメタに近づけていく。そして、移動と回転に関するパラメタが収束したら誤差推定量ｋｅｒｒから形状パラメタｂ１，ｂ２，．．．，ｂｋを利用してモデルパラメタを正解パラメタに近づけていく。このような構成により、より顔向きの変化にロバストな特徴点検出・顔姿勢推定が可能となる。また、一度に使用するパラメタの次元数を減らすことができるので処理を高速化することができる。なお、上記のように移動と回転に関するパラメタが修正してから初めて形状パラメタを近似させる構成以外も、繰り返し処理の回数に応じて形状パラメタの変化を大きくしていく構成をとることができる。
【０１６３】
また、誤差推定部６は、終了判定を行うことなく、その時点で得られたｋｉ＋１の値をｋｅｓｔとして出力しても良い。
【０１６４】
また、特徴点検出装置１は、顔検出部３を備えることなく構成されても良い。この場合、特徴量取得部４は、例えば画面中央を初期位置とすることにより処理を行うように構成されても良い。また、顔検出部３が特徴点検出装置１の外部に設けられ、顔画像とともに検出された顔の位置情報が特徴点検出装置１に入力されても良い。
【０１６５】
また、顔検出部３は、人の顔そのものではなく、人の目や口や他の特徴点を検出するように構成されても良い。この場合、特徴量取得部４は、これらの特徴点の位置に基づいて初期位置を決定するように構成されても良い。
【０１６６】
また、特徴量取得部４は、レティナ構造以外の構造に基づいてサンプリング点の配置を行っても良い。例えば、特徴量取得部４は、ノードの射影点の周囲に離散的に配置された複数の点から特徴量を取得しても良い。
【０１６７】
また、特徴点検出装置１は、人の顔を対象物として人の顔の特徴点の位置を推定するものとして説明したが、対象物は人の顔以外のものであっても良い。例えば、特徴点検出装置は１、人の全体（全身）やレントゲン画像やＣＴ画像における臓器など、大きさに個人差がある対象物や基本的な形が変わらずに変形する対象物を対象として、特徴点の位置を推定しても良い。また、特徴点検出装置１は、自動車などの工業製品のように変形しない剛体に対しても形状モデルを設定することができるため、このような剛体を対象物としてその特徴点の位置を推定しても良い。
【図面の簡単な説明】
【０１６８】
【図１】顔画像から抽出された特徴点の例を示す図である。
【図２】レティナ構造の例を示す図である。
【図３】顔形状モデルのある一つのノードに対してレティナ構造を適用した場合のサンプリング点の分布例を示す図である。
【図４】ずれ配置モデルの例を示す図である。
【図５】学習処理の処理例を示すフローチャートである。
【図６】特徴点検出装置の機能ブロックの例を示す図である。
【図７】特徴点検出装置の動作例を示すフローチャートである。
【符号の説明】
【０１６９】
１          特徴点検出装置
２          画像入力部
３          顔検出部
４          特徴量取得部
５          学習結果記憶部
６          誤差推定部
【図１】
2007249280.tif 000032
【図２】
2007249280.tif 000033
【図３】
2007249280.tif 000034
【図４】
2007249280.tif 000035
【図５】
2007249280.tif 000036
【図６】
2007249280.tif 000037
【図７】
2007249280.tif 000038