(57)【特許請求の範囲】
【請求項１】
画像に対して、各特徴点の存在の信頼度の分布を表す信頼度マップを生成する生成工程と、
前記画像中の複数の特徴点の位置を前記信頼度マップに予め設定された第１の探索範囲で探索する第１探索工程と、
前記第１探索工程で探索した前記複数の特徴点の幾何学的な配置関係に基づいて当該複数の特徴点の位置を補正する位置補正工程と、
前記位置補正工程で補正した各特徴点の位置に基づいて第２の探索範囲を設定し、当該第２の探索範囲で各特徴点の位置を探索する第２探索工程と、
前記第２探索工程で探索された各特徴点について位置の信頼性を判定することにより、前記位置補正工程で補正された位置と、前記第２探索工程で探索された位置との一方を決定すべき特徴点の位置として選択する選択工程とを備えることを特徴とする特徴点位置決定方法。
【請求項２】
前記第２探索工程で設定された第２の探索範囲内の信頼度値の分布に基づいて、当該第２の探索範囲から探索された各特徴点の信頼度を算出する信頼度算出工程を更に備え、
前記選択工程では、各特徴点について、前記信頼度算出工程で算出された信頼度に基づいて、前記位置補正工程で補正された位置と、前記第２探索工程で探索された位置との一方を選択することを特徴とする請求項１に記載の特徴点位置決定方法。
【請求項３】
各特徴点について、前記位置補正工程による補正の前後の距離を算出する距離算出工程を更に備え、
前記選択工程では、各特徴点について、前記距離算出工程で算出された距離に基づいて、前記位置補正工程で補正された位置と、前記第２探索工程で探索された位置との一方を選択することを特徴とする請求項１に記載の特徴点位置決定方法。
【請求項４】
前記第２探索工程における前記第２の探索範囲は、前記第１探索工程における前記第１の探索範囲よりも小さいことを特徴とする請求項１乃至３のいずれか１項に記載の特徴点位置決定方法。
【請求項５】
各特徴点について、前記位置補正工程による補正の前後の距離を算出する距離算出工程を更に備え、
前記選択工程では、各特徴点について、前記距離算出工程で算出された距離と前記信頼度算出工程で算出された信頼度とに基づいて、前記位置補正工程で補正された位置と、前記第２探索工程で探索された位置との一方を選択することを特徴とする請求項２に記載の特徴点位置決定方法。
【請求項６】
前記距離算出工程によって算出された距離に基づいて閾値を決定する決定工程を更に備え、
前記選択工程では、前記信頼度算出工程で算出された信頼度と前記決定工程で決定された閾値との比較結果に従って選択を実行することを特徴とする請求項５に記載の特徴点位置決定方法。
【請求項７】
前記第２探索工程では、前記信頼度マップにおいて特徴点の位置を探索することを特徴とする請求項１乃至６のいずれか１項に記載の特徴点位置決定方法。
【請求項８】
前記第２探索工程では、前記画像を用いて特徴点の位置を探索することを特徴とする請求項１乃至６のいずれか１項に記載の特徴点位置決定方法。
【請求項９】
前記距離算出工程で算出された距離に応じて、前記第２探索工程で用いられる第２の探索範囲の大きさを変更する変更工程を更に備えることを特徴とする請求項３または５に記載の特徴点位置決定方法。
【請求項１０】
決定する特徴点の種類毎に、前記第２探索工程で用いられる第２の探索範囲を変更する変更工程を更に備えることを特徴とする請求項１乃至９のいずれか１項に記載の特徴点位置決定方法。
【請求項１１】
前記決定工程では、決定する特徴点の種類毎に設定された条件で前記閾値を決定することを特徴とする請求項６に記載の特徴点位置決定方法。
【請求項１２】
前記位置補正工程では、各特徴点の座標値を要素とするベクトルを入力ベクトルとし、予め生成した固有ベクトルを用いて前記入力ベクトルを固有空間に射影して射影ベクトルを生成し、前記射影ベクトルを前記固有ベクトルを用いて逆射影することによって補正された特徴点位置を取得することを特徴とする請求項１乃至１１のいずれか１項に記載の特徴点位置決定方法。
【請求項１３】
前記固有ベクトルを主成分分析により生成することを特徴とする請求項１２に記載の特徴点位置決定方法。
【請求項１４】
決定する特徴点が生物の顔の器官の位置或いは器官を構成する特徴的な部位の位置であることを特徴とする請求項１乃至１３のいずれか１項に記載の特徴点位置決定方法。
【請求項１５】
画像に対して、各特徴点の存在の信頼度の分布を表す信頼度マップを生成する生成手段と、
前記画像中の複数の特徴点の位置を前記信頼度マップに予め設定された第１の探索範囲で探索する第１探索手段と、
前記第１探索手段で探索した前記複数の特徴点の幾何学的な配置関係に基づいて当該複数の特徴点の位置を補正する位置補正手段と、
前記位置補正手段で補正した各特徴点の位置に基づいて第２の探索範囲を設定し、当該第２の探索範囲で各特徴点の位置を探索する第２探索手段と、
前記第２探索手段で探索された各特徴点について位置の信頼性を判定することにより、前記位置補正手段で補正された位置と、前記第２探索手段で探索された位置との一方を決定すべき特徴点の位置として選択する選択手段とを備えることを特徴とする特徴点位置決定装置。
【請求項１６】
請求項１乃至１４のいずれか１項に記載の特徴点位置決定方法をコンピュータに実行させるためのプログラム。
【請求項１７】
請求項１乃至１４のいずれか１項に記載の特徴点位置決定方法をコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は顔画像の認識等に用いられる特徴点の位置決め方法及び装置に関する。
【背景技術】
【０００２】
画像データを用いた顔認識等に於いて、顔器官或いはそれに準ずる特徴的な部位（以下特徴点とする）の位置決定は重要なタスクであり、認識性能を律する事が多い。
【０００３】
決定した特徴点の位置は、認識対象画像の大きさ・回転の正規化や対象画像から認識に必要な部分領域を抽出する際の基準点等に利用される。認識に好適な特徴量を算出するためには正確な特徴点の位置決定が望まれる。
【０００４】
非特許文献１では、テンプレートマッチングによる器官候補抽出結果の中から候補となる特徴点のセットを抽出し、予めモデル化したグローバルな幾何拘束条件と比較することで特徴点の位置を決定する手法が記載されている。
【０００５】
また、非特許文献２では、幾何拘束となる格子点上に器官候補位置を配置し、当該格子点上の特徴量が検出対象の特徴量に一致する様に格子点を歪ませながら器官位置を探索する手法が記載されている。格子点の変形は特徴量の一致度と格子点の歪量に基づいて所定の評価関数で決定される。
【０００６】
更に、非特許文献３では、特徴点の各座標値を入力ベクトルとし、固有空間を利用して特徴点の位置を補正する手法が記載されている。
【０００７】
図２は非特許文献３に記載された手法の概要を説明する図である。Ｓ２１は特徴点位置候補決定処理のステップであり、特徴点の位置を識別する複数の識別手段により構成される。図３は識別される特徴点の位置の例であり、“×”で示す１４個の特徴点（これを特徴点のセットと定義する）を決定する場合を示している。例えば、特徴点３１は向かって左側の目の目尻に対応する特徴点である。
【０００８】
Ｓ２２は固有空間射影処理のステップであり、特徴点位置候補決定処理（ステップＳ２１）で決定した各特徴点の座標値を入力ベクトルとして、固有空間に射影する。特徴点の数が１４個の場合、２８次元のベクトル（１４個の水平方向座標値及び１４個の垂直方向座標値を要素とするベクトル）が入力データとなる。固有空間は、予め特徴点位置データを用いて学習によって作成した固有ベクトルで構成される。固有ベクトルは、正しい特徴点位置に対応する複数の入力ベクトル（特徴点位置データ）を用いて予め主成分分析により生成される。Ｓ２３は次元削減処理のステップであり、固有値の小さい固有ベクトルに対応する射影値を削除することで次元を削減する。例えば、２８次元の射影ベクトルを数次元に削減する。Ｓ２４は固有空間逆射影処理のステップであり、次元削減処理（ステップＳ２３）で次元削減された射影ベクトルと固有ベクトルを用いて固有空間上に射影された入力ベクトルを実空間のベクトルに逆射影する。ステップＳ２２〜ステップ２４の処理により、固有空間で表現できない外れ値を有する入力ベクトルが投入された場合にも、表現可能なベクトルに補正される。
【０００９】
即ち、ステップＳ２２〜ステップＳ２４の処理により、統計的な幾何拘束条件に基づいて入力ベクトルが補正される。図４は特徴点位置候補決定処理（ステップＳ２１）で誤って特徴点位置が抽出された例を説明する図である。特徴点４１が誤って決定された特徴点であり、眉毛端を誤って目尻と判定した例である。図４に示す特徴点位置からなる入力ベクトルを上記ステップＳ２２〜ステップＳ２４で処理すると、特徴点４１は固有空間で表現可能な位置に補正される。図５は固有空間逆射影処理（ステップＳ２４）を行った後の特徴点位置の例を示す図であり、特徴点４１が特徴点５１に補正される様子を示す図である。Ｓ２５は距離算出処理のステップであり、特徴点位置候補決定処理（ステップＳ２１）の出力である特徴点候補の座標と、ステップＳ２２〜ステップＳ２４の処理により補正した特徴点座標との距離を特徴点毎に算出する。即ち、上記補正の前後における各特徴点の距離が算出される。図４、図５に示す例の場合、特徴点４１と特徴点５１間の画像座標上の距離が算出される。
【００１０】
Ｓ２６は選択処理のステップであり、距離算出処理（ステップＳ２５）で算出した特徴点の距離を閾値と比較してステップＳ２２〜ステップＳ２４の処理による補正前と補正後のどちらか一方の座標を特徴点毎に選択する。選択処理（ステップＳ２５）では、算出された距離が所定の閾値を超える場合には補正後の座標値を選択し、閾値以下の場合には補正前の座標を選択する。２７は特徴点毎に繰り返す処理ステップ郡を示し、２８は特徴点のセット毎に繰り返される処理ステップ群を示す。そして、選択処理（ステップＳ２６）の結果である特徴点のセットを入力ベクトルとして、ステップＳ２２〜ステップＳ２６に示す座標補正処理を複数回繰り返す事で適正な特徴点の位置を決定する。
【非特許文献１】宋欣光，李七雨，徐剛，辻三郎: “部分特徴テンプレートとグローバル制約による顔器官特徴の抽出,”電子情報通信学会論文誌(D-II),Vol.J77-D-II,No.8,pp.1601-1609 (1994).
【非特許文献２】Wiskott, Laurenz; Fellous, Jean-Marc; Kruger, Norbert; Von der Malsburg, Christoph; “Face recognition by elastic bunch graph matching”, IEEE Trans. Pattern Anal. & Machine Intelligence, Vol. 19, No.7, p. 775-779, 1997
【非特許文献３】Beumer, G.M.; Tao, Q.; Bazen, A. M. ;Veldhuis, R.N.J. “A landmark paper in face recognition” Automatic Face and Gesture Recognition, 2006. FGR 2006.7th International Conference on Volume, Issue, 10-12 April 2006 Page(s): 6 pp.
【発明の開示】
【発明が解決しようとする課題】
【００１１】
非特許文献１の様に複数の特徴点のセットを候補として抽出し、各特徴点間の配置関係に基づく幾何拘束条件を利用して最適な特徴点のセットを決定する手法は計算量の観点で問題になる場合がある。非特許文献２に開示されている手法も格子点の変形と特徴量の一致度を繰り返し処理で探索するため計算量が多い。
【００１２】
非特許文献３の場合も、上記のように複数回の繰り返し処理が必要であり、また、特徴点位置候補決定処理（ステップＳ２１）の性能に依存しているため、複数回繰り返しても十分な精度が得られない場合がある。
【００１３】
本発明は、簡単な処理で複数の特徴点位置を高精度に決定可能とする事を目的とする。
【課題を解決するための手段】
【００１４】
上記の目的を達成するための本発明の一態様による特徴点位置検出方法は、
画像に対して、各特徴点の存在の信頼度の分布を表す信頼度マップを生成する生成工程と、
前記画像中の複数の特徴点の位置を前記信頼度マップに予め設定された第１の探索範囲で探索する第１探索工程と、
前記第１探索工程で探索した前記複数の特徴点の幾何学的な配置関係に基づいて当該複数の特徴点の位置を補正する位置補正工程と、
前記位置補正工程で補正した各特徴点の位置に基づいて第２の探索範囲を設定し、当該第２の探索範囲で各特徴点の位置を探索する第２探索工程と、
前記第２探索工程で探索された各特徴点について位置の信頼性を判定することにより、前記位置補正工程で補正された位置と、前記第２探索工程で探索された位置との一方を決定すべき特徴点の位置として選択する選択工程とを備える。
【００１５】
また、上記の目的を達成するための本発明の他の態様による特徴点位置検出装置は、以下の構成を備える。即ち、
画像に対して、各特徴点の存在の信頼度の分布を表す信頼度マップを生成する生成手段と、
前記画像中の複数の特徴点の位置を前記信頼度マップに予め設定された第１の探索範囲で探索する第１探索手段と、
前記第１探索手段で探索した前記複数の特徴点の幾何学的な配置関係に基づいて当該複数の特徴点の位置を補正する位置補正手段と、
前記位置補正手段で補正した各特徴点の位置に基づいて第２の探索範囲を設定し、当該第２の探索範囲で各特徴点の位置を探索する第２探索手段と、
前記第２探索手段で探索された各特徴点について位置の信頼性を判定することにより、前記位置補正手段で補正された位置と、前記第２探索手段で探索された位置との一方を決定すべき特徴点の位置として選択する選択手段とを備える。
【発明の効果】
【００１６】
本発明により、簡単な処理で統計的に所定の配置関係にある複数の特徴点位置を高精度に決定する事ができる。
【発明を実施するための最良の形態】
【００１７】
以下、添付の図面を参照して、本発明の好適な実施形態について説明する。
【００１８】
［第１実施形態］
以下、第１実施形態の動作の詳細について図１、図６を用いて説明する。
【００１９】
図６は第１実施形態に関わる特徴点位置決定装置の構成を示すブロック図である。当該装置は顔画像データ中の複数の特徴点位置を決定する機能を有する。
【００２０】
図６において６０１は画像入力部である。画像入力部６０１は光学系、ＣＣＤ（Charge-CoupledDevices）又はＣＭＯＳ（Complimentary Metal OxideSemiconductor）センサ等の光電変換デバイスを含む。更に、画像入力部６０１は、センサを制御するドライバ回路／ＡＤコンバータ／各種画像補正を司る信号処理回路／フレームバッファ等により構成される。６０２は前処理部であり、後段の各種処理を効果的に行うための各種前処理を実行する。具体的には、前処理部６０２は、画像入力部６０１で取得した画像データに対して色変換処理／コントラスト補正処理等の画像データ変換をハードウェアで処理する。
【００２１】
顔画像データ切り出し処理部６０３は、前処理部６０２で変換された画像データに対して顔検出処理を実行する。顔検出の手法は従来提案されている様々な手法を適用可能である。更に、顔画像データ切り出し処理部６０３は検出された顔毎に顔画像データを所定のサイズに正規化して切り出す。ここでは、顔検出の結果を使用して、大きさ及び面内回転を正規化する。図７は正規化した顔画像データの例を示す図である。顔画像データ切り出し処理部６０３は、正規化した顔画像７１を含む所定の大きさの画像面７２を切り出す。以後、特徴点の位置とはこの画像面７２内の特徴点の座標と定義する。また、座標データは画像面７２の左上端を原点とする座標系（ｘ座標、ｙ座標）で表現するものとする。
【００２２】
特徴位置信頼度算出処理部６１１は特徴点の存在の確からしさを示す情報である特徴位置信頼度マップを算出する処理部であり、その詳細は図１を参照して後述する。６０６はＤＭＡＣ（Direct Memory Access Controller）である。ＤＭＡＣ６０６は、画像バス６０４上の各処理部間、及び画像バス６０４上のデバイスとＣＰＵ（CentralProcessingUnit）バス６０７上のＲＡＭ６１０／ＲＯＭ６０９との間のデータ転送等を司る。６０５はブリッジであり、画像バス６０４とＣＰＵバス６０７間のバスブリッジ機能を提供する。
【００２３】
６０８はＣＰＵであり、本実施形態に係る主要な処理を実行すると共に本装置全体の動作を制御する。６０９はＲＯＭであり、ＣＰＵ６０８の動作を規定する命令を格納する。ＲＡＭ６１０はＣＰＵ６０８の動作に必要な作業メモリである。ＲＡＭ６１０はＤＲＡＭ（Dynamic RAM）等の比較的容量の大きいメモリで構成される。ＣＰＵ６０８はブリッジ６０５を介して画像バス６０４上の各種処理部にアクセスできる。以上のように画像バス６０４とＣＰＵバス６０７を分離する事で、ハードウェアによる各処理部６０１、６０２、６０３、６１１とＣＰＵ６０８は同時に動作する事ができる。
【００２４】
図１は第１実施形態の特徴点位置決定処理の主要な処理フローを説明する図である。図中ステップＳ１０１〜Ｓ１０７はＣＰＵ６０８で処理するステップを示す。以下、図１、図６を用いて第１実施形態の動作について詳細に説明する。
【００２５】
顔画像データ切り出し処理部６０３は、顔検出結果に基づいて所定のサイズに正規化した顔画像データを図示しない内蔵ＲＡＭに格納する。格納されたデータはＤＭＡＣ６０６を介して特徴位置信頼度算出処理部６１１の図示しないＲＡＭに転送される。特徴位置信頼度算出処理部６１１は当該ＲＡＭに格納した画像データに対して、特徴点位置候補の存在の確からしさである信頼度の算出を開始する（図１における特徴位置信頼度算出処理１０に相当）。ここで生成される信頼度画像を特徴位置信頼度マップ１１と定義する。なお、特徴位置信頼度（以下、信頼度という場合もある）を算出するための手法は従来提案されている様々な手法を適用可能である。最も簡単には、対応する特徴点の特徴を表現するテンプレートを学習により準備し、テンプレートと対象位置の画像の一致度を信頼度とする。
【００２６】
図８は特徴位置信頼度マップの生成の様子を模式的に説明する図である。８２はテンプレートマッチングのためのテンプレートである。８３はテンプレートマッチングする重心算出領域（探索範囲という）を示す。当該テンプレート８２を探索範囲８３内でスキャンし、対象位置におけるテンプレートの一致度を記録する事で特徴位置信頼度マップを生成する。即ち、特徴位置信頼度マップとは、画像データの代わりに信頼度が記録されたバッファメモリである。ここで探索範囲８３には、個人差、表情、向き、顔画像データ切り出し処理部６０３での正規化の誤差、等を考慮して所望の端点を含む十分に広い領域が設定される。
【００２７】
８４は特徴位置信頼度マップの例を模式的に説明する図である。８５、８６は対象とする特徴点位置の信頼度が高い（この場合、テンプレートに一致度が高い）位置を示す。濃い部分ほど信頼度が高いことを表す。この場合、向かって左の目尻の端点を検出するテンプレート８２マッチングの結果を示している。また、８５は眉毛の左端部に生じる誤検出に相当する。
【００２８】
特徴位置信頼度算出処理部６１１は特徴点毎に上記のような特徴位置信頼度マップを生成する。例えば図３に示すような１４個の特徴点を決定する場合、１４種類の特徴点検出テンプレートを使用して、１４枚の特徴位置信頼度マップ１１を生成する。なお、特徴位置信頼度マップ１１は画像８１に対応する領域８４として保持するのではなく、探索範囲８３のサイズのみをメモリに保持するようにしても良い。また、ここではテンプレートマッチングにより信頼度を算出する手法について説明したが、ニューラルネットによる方法、カスケード型フィルタによる方法等従来提案されている様々な手法を利用可能である。
【００２９】
生成された特徴位置信頼度マップ１１はＤＭＡＣ６０６を介してＲＡＭ６１０に転送される。ＣＰＵ６０８は当該転送が終了すると特徴点決定のためのプログラム（ステップＳ１０１〜ステップＳ１０７）の実行を開始する。
【００３０】
図１において、１２及び１３で囲んだステップは特徴点毎に繰り返されるステップを示している。第１重心探索処理（ステップＳ１０１）では、特徴点毎に対応する特徴位置信頼度マップ１１の探索範囲８３内における特徴点位置信頼度値の重心を算出する。ここで得られた重心値を特徴点位置候補座標とする。重心探索の手法は一般的に知られている手法を適用することができる。また、重心の替わりに、探索範囲８３内の特徴点位置信頼度値の最大値を利用する等の他の手法でも良い。以上のように、特徴位置信頼度算出処理１０及び第１重心探索処理（ステップＳ１０１）は、画像中（本実施形態では正規化された顔画像中）の複数の特徴点の位置を予め設定された探索範囲で探索する処理（第１探索処理）を行う。
【００３１】
幾何拘束補正処理（ステップＳ１０２）では、第１重心探索処理（ステップＳ１０１）で得られた全ての特徴点位置候補座標を、特徴点の幾何学的な配置に関する拘束条件に従ってまとめて補正する。本実施形態の幾何拘束補正処理（ステップＳ１０２）においては、図２に示す固有空間を利用した補正処理（ステップＳ２２〜ステップＳ２４）を用いて座標位置の補正が行われる。即ち、ＣＰＵ６０８は、第１重心探索処理（ステップＳ１０１）で生成した座標データ（ｘi,ｙi）：i＝０〜１３を、vj：j＝０〜２７を要素と見なした入力ベクトルとして固有空間に射影する（ステップＳ２２）。なお、固有空間に射影するための固有ベクトルＥは予め、複数の顔画像に対する正しい特徴点の位置を示すデータセットを使用して主成分分析により生成しておく。また、生成に使用するデータセットとしては、目的に応じた変動（顔のサイズ、向き、表情）を含む多様なデータが用いられる。
【００３２】
図９は座標データ（ｘi,ｙi）(i：０〜１３)と入力ベクトルＶ（vj：j=０〜２７）の関係を説明する図である。座標データを１列に並べた座標データ列９１をそのまま入力ベクトル９２としている。例えば、ベクトル要素ｖ０は座標値ｘ０に対応する。固有空間射影処理（ステップＳ２２）では、入力ベクトルＶから固有ベクトル生成時に生成した平均ベクトルＡｖを減じたベクトルと固有ベクトルＥを使用して、（１）式により射影ベクトルＰを算出する。
【００３３】
Ｐ＝ＥT (Ｖ−Ａｖ)      …（１）
【００３４】
（１）式の演算結果が固有空間に対する射影ベクトルに相当する。次元削減処理（ステップＳ２３）では射影ベクトルの次元を削減する。そして、固有空間逆射影処理（ステップＳ２４）で、次元削減した射影ベクトルから入力ベクトルに対する補正ベクトルを生成する。補正ベクトルＸ’は（２）式により固有ベクトルＥと平均ベクトルＡｖを用いて算出される。
【００３５】
Ｘ’＝ＥＰ ＋ Ａｖ      …（２）
【００３６】
逆射影した補正ベクトルＸ’は図９に示す９２の形式であるため、入力ベクトルと同様に座標データ列９１に対応付ける事が可能である。尚、ステップＳ２２〜Ｓ２４の処理は線形なマトリクス演算であるため、固有空間に対するマトリクス演算を１回のマトリクス演算に合成する事が可能である。このように、固有空間を利用する事で、簡単な処理で特徴点の配置関係に基づく位置の補正を実現する事ができる。
【００３７】
以上のように、幾何拘束補正処理（ステップＳ１０２）では、ＣＰＵ６０８は、固有空間を利用した統計的な幾何拘束処理で特徴点位置候補座標をその配置関係に基づいて補正する。第２重心探索処理（ステップＳ１０３）では、ＣＰＵ６０８は、幾何拘束補正処理によって得られた補正後特徴点位置座標を利用して特徴位置信頼度マップ１１を再探索する。即ち、第２重心探索処理（ステップＳ１０３）では、幾何拘束補正処理（ステップＳ１０２）において位置補正した各特徴点の位置に基づいて新たに探索範囲が設定され、当該探索範囲で各特徴点の位置が探索される（第２探索処理）。新たに設定される探索範囲は、例えば幾何拘束補正処理（ステップＳ１０２）において補正された特徴点の位置を中心とした所定サイズの探索範囲である。この新たな探索範囲は、第１重心探索処理（ステップＳ１０１）で用いられた探索範囲よりも小さくすることが好ましい。
【００３８】
図１０において、１０１は１つの特徴位置信頼度マップの例であり、１０２、１０３は信頼度の高い位置の分布の状態を模式的に示している。１０３は所望の特徴点付近の信頼度の分布、１０２は誤った点付近の信頼度の分布であるとする。１０４は第１重心探索処理（ステップＳ１０１）で使用した探索範囲（探索範囲８３に相当する）であり、１０５は第２重心探索処理（ステップＳ１０３）で使用される重心算出領域（探索範囲）である。第１重心探索処理（ステップＳ１０１）では探索範囲１０４は前述した様に十分に広い範囲が設定される。しかしながら、第２重心探索処理（ステップＳ１０３）では、補正後特徴点位置座標を中心とした狭い探索範囲１０５で重心を算出する。即ち、第２重心探索処理（ステップＳ１０３）では、幾何拘束補正処理による幾何拘束条件に基づいた特徴点位置の補正により候補点の信頼性が高まったとの前提に基づき探索範囲を狭い範囲に限定している。
【００３９】
図１０の場合、探索範囲１０４の範囲内の重心を算出すると誤検出の信頼度分布１０２の影響を受ける。これに対して、狭い探索範囲１０５内の重心を算出した場合、誤検出による信頼度分布１０２の影響を除いて、正解となる特徴点の位置をより正確に求める事ができる。更に、図１２は特徴位置信頼度マップ１１の別の例を示す図である。ここでは１２３が所望の特徴点の付近の信頼度の分布、１２２は誤った位置付近の信頼度の分布であるであるとする。この場合、誤った位置付近での信頼度の方が高いため、第１重心探索処理（ステップＳ１０１）が広い探索範囲１２４で重心を探索した場合、所望の点に対する誤差が大きくなる。然しながら、幾何拘束補正処理（ステップＳ１０２）で補正された座標を使用して狭い探索範囲１２５で重心を探索する事で、誤検出による信頼度の分布１２２の影響を軽減してより正確な特徴点位置を決定する事が可能になる。
【００４０】
ステップＳ１０７は特徴点位置座標を選択する選択処理のステップである。選択処理（ステップＳ１０７）において、ＣＰＵ６０８は、選択条件に応じて、補正後特徴点位置座標と第２重心探索処理（ステップＳ１０３）の結果の座標のいずれかを選択する。本実施形態において、ＣＰＵ６０８は、特徴位置信頼度マップ１１上の探索範囲１０５や探索範囲１２５内の特徴点位置信頼度値の総和を正規化した値を閾値と比較することで選択を行う。以下、探索範囲内の特徴点位置信頼度値の総和を探索位置信頼度と定義する。即ち、探索位置信頼度は、再探索後の特徴点の位置の信頼度を表す。ＣＰＵ６０８は、第２重心探索処理（ステップＳ１０３）で重心算出の際に算出した総和値を重心算出領域（探索範囲１０５）の面積で除する事により探索位置信頼度を算出する。
【００４１】
選択処理（ステップＳ１０７）において、探索位置信頼度が閾値より低い場合、ＣＰＵ６０８は、特徴位置信頼度算出処理１０における特徴点位置の検出信頼度が低いと判断し、幾何拘束補正処理（ステップＳ１０２）の結果を最終結果座標として出力する。即ち、幾何学的な配置関係に基づいて補正された特徴点位置をより信用する。これは、例えば、オクルージョンやセルフシャドーの影響により特徴点の位置抽出が正しく行われなかった場合に相当する。一方、探索位置信頼度が閾値より高い場合、選択処理（ステップＳ１０７）において、ＣＰＵ６０８は、特徴点位置の検出信頼度が高いと判断して第２重心探索処理（ステップＳ１０３）の結果を最終結果座標として出力する。なお、ここでは簡単のため特徴点位置信頼度値の総和を用いて探索位置信頼度を算出したが、再探索後の特徴点の位置の信頼度を表現する値であれば他のどの様な手法でも良い。
【００４２】
閾値判定処理（ステップＳ１０４）において、ＣＰＵ６０８は、閾値決定処理（ステップＳ１０６）で決定された閾値に従って探索位置信頼度を閾値処理する。また閾値決定処理（ステップＳ１０６）において、ＣＰＵ６０８は、距離算出処理（ステップＳ１０５）の結果に従って閾値を決定する。距離算出処理（ステップＳ１０５）において、ＣＰＵ６０８は、第１重心探索処理（ステップＳ１０１）により求めた特徴点の座標と幾何拘束補正処理（ステップＳ１０２）で補正した特徴点の座標との距離を算出する。例えば、幾何拘束補正処理（ステップＳ１０２）による補正の前後における各特徴点の距離が算出される。
【００４３】
図１１は幾何拘束補正処理（ステップＳ１０２）による位置補正前後における特徴点の位置の例を説明する図である。補正の対象となった特徴点は向かって左の目尻であるとする。特徴点１１１の位置は第１重心探索処理（ステップＳ１０１）で求めた特徴点の座標であり、眉毛の左端を誤って検出している。特徴点１１２の位置は、特徴点１１１の位置が幾何拘束補正処理（ステップＳ１０２）によって補正された位置であり、正解である目尻により近い位置に補正されている。距離算出処理（ステップＳ１０５）はこれらの２つの特徴点に関して座標間の距離Ｌを算出する。距離Ｌの値としてはユークリッド距離でもマンハッタン距離でもどちらでも良い（図１１ではユークリッド距離の場合を示す）。
【００４４】
閾値決定処理（ステップＳ１０６）は、距離算出処理（ステップＳ１０５）の結果に従って閾値判定処理（ステップＳ１０４）における判定に使用される閾値を決定する。例えば、閾値決定処理（ステップＳ１０６）においてＣＰＵ６０８は、予め用意された大小２つの閾値の何れかを上記座標間の距離Ｌに応じて選択する。例えば、距離Ｌが予め定める値より大きい場合には大きな閾値が選択され、小さい場合には小さな閾値が選択される（（３）式）。
【００４５】
Ｌ＞距離閾値 ：  探索位置信頼度閾値大
Ｌ≦ 距離閾値：  探索位置信頼度閾値小              …（３）
【００４６】
閾値判定処理（ステップＳ１０４）では、閾値決定処理（ステップＳ１０６）で選択した信頼度閾値を用いて閾値判定する。座標間距離Ｌが大きい特徴点は幾何拘束補正処理（ステップＳ１０２）で大幅に補正された点であり、特徴位置信頼度算出処理１０の結果の信頼度が低い可能性が高い。この場合、閾値判定処理ステップＳ１０４の閾値を大きくする事で補正後特徴点位置座標が選択されやすくする。一方、座標間距離Ｌが小さい場合は、特徴位置信頼度算出処理１０の結果の信頼度が高いと認められるので、閾値判定処理ステップＳ１０４の閾値を小さくする事で第２重心探索処理（ステップＳ１０３）の結果が選択されやすくする。
【００４７】
以上のように、幾何拘束補正処理（ステップＳ１０２）の補正量に応じて特徴位置信頼度算出処理１０の結果の信憑性が判断され、それに応じて探索位置信頼度閾値が制御される。このため、より好適な特徴点位置の検出結果を選択する事が可能になる。
【００４８】
なお、１３で示すステップ群は特徴点毎に繰り返すステップであり、ステップＳ１０３〜ステップＳ１０７は全ての特徴点に対して繰り返される。
【００４９】
以上の処理により各特徴点の位置が決定される。ＣＰＵ６０８は決定した各特徴点の位置をＲＡＭ６１０等に格納する。本実施形態を人（或いは生物）の顔画像認識装置に適用した場合、ＣＰＵ６０８は格納した特徴点の位置を利用して、顔画像データを正確に再正規化し、格納した特徴点の位置を利用して識別に必要な特徴量の抽出を実行する。例えば、ＣＰＵ６０８は、特徴点位置を基準にした複数の領域、部位から特徴量を算出し、局所特徴毎に登録データとの比較を行う等の処理を実行する。
【００５０】
以上、第１実施形態によれば、幾何拘束補正後の特徴点位置を利用して最終的な特徴点の位置が再探索される。これにより、固有空間による幾何拘束能力を利用した上で、特徴位置信頼度算出処理１０の性能を十分に活かした精度の高い位置決定を実現する事ができる。また、探索位置信頼度に基づいて幾何拘束補正処理（ステップＳ１０２）の結果と第２重心探索処理（ステップＳ１０３）の結果のいずれかを選択する事でコントラストやオクルージョン等の影響を抑えた位置決定を実現する事ができる。更に、幾何拘束補正処理（ステップＳ１０２）の補正量を基準にして特徴位置信頼度算出処理１０の信頼性を加味した判断を行う事で大きな誤検出の可能性を低減する事ができる。
【００５１】
［第２実施形態］
次に、第２実施形態による特徴点位置決定装置について説明する。図１３は第２実施形態による特徴点位置決定処理の主要な処理フローを説明する図である。図１３において、ステップＳ１３０１〜Ｓ１３０７はＣＰＵ６０８で処理するステップを示す。
【００５２】
なお、第２実施形態による特徴点位置決定装置の構成は第１実施形態（図６）と同様である。以下では、第１実施形態と相違する点を主として説明する。
【００５３】
図１３の特徴位置信頼度算出処理１３０及び特徴位置信頼度マップ１３１は第１実施形態の特徴位置信頼度算出処理１０及び特徴位置信頼度マップ１１と同様である。また、図１３の第１重心探索処理（ステップＳ１３０１）及び幾何拘束補正処理（ステップＳ１３０２）は、第１実施形態の第１重心探索処理（ステップＳ１０１）及び幾何拘束補正処理（ステップＳ１０２）と同様である。即ち、第１重心探索処理（ステップＳ１３０１）と幾何拘束補正処理（ステップＳ１３０２）はそれぞれ特徴点位置候補座標と補正後特徴点位置座標を算出する。１３２は第１実施形態同様に特徴点毎に繰り返される処理（ステップ群）を示す。
【００５４】
特徴点位置探索処理（ステップＳ１３０３）では、ＣＰＵ６０８は、補正後特徴点位置座標を用いて正規化顔画像から新たに各特徴点位置を抽出する。ここでは、特徴位置信頼度算出処理１３０とは異なる特徴位置抽出方式が使用される。また、特徴点位置探索処理（ステップＳ１３０３）における特徴位置の探索範囲は、第１重心探索処理（ステップＳ１３０１）の探索範囲とは異なる。
【００５５】
図１０に示す例を用いて説明すると、第１重心探索処理（ステップＳ１３０１）は探索範囲１０４で示す広い領域を探索し、特徴点位置探索処理（ステップＳ１３０３）は狭い探索範囲１０５内から特徴点を抽出する。特徴点位置探索処理（ステップＳ１３０３）では、探索範囲を十分に狭い範囲とするため、処理負荷の増大を抑えてより高度な特徴位置抽出方式を適用する事が可能である。具体的な処理内容としては、第１実施形態同様、従来提案されている様々なパターン識別手法を利用することができる。システムとして要求される処理負荷を考慮して、特徴点位置探索処理（ステップＳ１３０３）には、特徴位置信頼度算出処理１３０に適用する方式に対してより性能の高い方式が選択される。例えば単純なテンプレートマッチングではなく、複雑なニューラルネットによる高精度な抽出手法が適用される。
【００５６】
以上のように、特徴点位置探索処理（ステップＳ１３０３）において、ＣＰＵ６０８は、補正後特徴点位置座標を基準にして正規化顔画像内の所定の狭領域内から所望の特徴点を検出しその座標値を出力する。また、同時に、探索位置信頼度を閾値判定処理（ステップＳ１３０４）に対して出力する。ここでの探索位置信頼度も一般的なパターン識別手法の識別出力に相当する値を利用すれば良い。
【００５７】
閾値判定処理（ステップＳ１３０４）において、ＣＰＵ６０８は、閾値決定処理（ステップＳ１３０６）で決定された閾値に従って閾値判定を行い、判定結果を選択処理（ステップＳ１３０７）に提供する。また、閾値決定処理（ステップＳ１３０６）において、ＣＰＵ６０８は、距離算出処理（ステップＳ１３０５）の結果に従って閾値を決定する。ステップＳ１３０４〜ステップＳ１３０７の内容は第１実施形態のステップＳ１０４〜ステップＳ１０７と同様である。また、第１実施形態と同様、１３３は特徴点毎に繰り返す処理ステップ群を示す。
【００５８】
以上の処理により各特徴点の位置が決定される。ＣＰＵ６０８は決定した各特徴点の位置をＲＡＭ６１０等に格納する。第２実施形態を人（或いは生物）の顔画像認識装置に適用した場合、ＣＰＵ６０８は格納した特徴点の位置を利用して、顔画像データを正確に再正規化し、格納した特徴点の位置を利用して識別に必要な特徴点の抽出を実行する。例えば、特徴点位置を基準にした複数の領域、部位から特徴量を算出し、局所特徴毎に登録データとの比較を行う等の処理を実行する。
【００５９】
以上、第２実施形態によれば、幾何拘束補正後の特徴点位置を利用して、正規化された画像（顔画像）から特徴点の位置を狭い探索範囲で再探索する。このため、固有空間による幾何拘束能力を利用した上で、特徴点位置探索処理（ステップＳ１３０３）の性能を活かした精度の高い位置決定を実現する事ができる。また、探索位置信頼度に基づいて幾何拘束補正処理（ステップＳ１３０２）の結果と特徴点位置探索処理（ステップＳ１３０３）による再探索結果のいずれかを選択する事で、コントラストやオクルージョン等の影響を抑えた位置決定を実現する事ができる。また、幾何拘束補正処理（ステップＳ１３０２）の補正量を基準にして特徴点位置探索処理（ステップＳ１３０３）の信頼性を判断するので大きな誤検出の可能性を低減する事ができる。
【００６０】
［第３実施形態］
次に、第３実施形態による特徴点位置決定装置について説明する。図１４は第３実施形態による特徴点位置決定処理の主要な処理フローを説明する図である。図１４において、ステップＳ１４０１〜Ｓ１４０７はＣＰＵ６０８で処理するステップを示す。
【００６１】
なお、第３実施形態による特徴点位置決定装置の構成は第１実施形態（図６）と同様である。以下では、第１実施形態と相違する点を主として説明する。
【００６２】
図１４の特徴位置信頼度算出処理１４０及び特徴位置信頼度マップ１４１は第１実施形態の特徴位置信頼度算出処理１０及び特徴位置信頼度マップ１１と同様である。また、図１４の第１重心探索処理（ステップＳ１４０１）及び幾何拘束補正処理（ステップＳ１４０２）は第１実施形態の第１重心探索処理（ステップＳ１０１）及び幾何拘束補正処理（ステップＳ１０２）と同様である。第１重心探索処理（ステップＳ１４０１）と幾何拘束補正処理（ステップＳ１４０２）はそれぞれ特徴点位置候補座標と補正後特徴点位置座標を算出する。１４２は第１実施形態同様に特徴点毎に繰り返される処理である。
【００６３】
第２重心探索処理（ステップＳ１４０３）では、補正後特徴点位置座標と領域決定処理（ステップＳ１４０６）で決定した探索範囲とから、対応する特徴位置信頼度マップを探索して特徴位置を出力する。なお、本実施形態では、領域決定処理（ステップＳ１４０６）による探索範囲の決定を第２重心探索処理（ステップＳ１４０３）に適用したが、第２実施形態おける特徴点位置探索処理（ステップＳ１３０３）に適用してもよい。
【００６４】
閾値判定処理（ステップＳ１４０４）において、ＣＰＵ６０８は、予め定められた閾値に従って第２重心探索処理（ステップＳ１４０３）における探索位置信頼度を閾値処理する。領域決定処理（ステップＳ１４０６）において、ＣＰＵ６０８は、距離算出処理（ステップＳ１４０５）の結果に従って、第２重心探索処理（ステップＳ１４０３）における探索範囲（重心算出領域）を決定する。距離算出処理（ステップＳ１４０５）において、ＣＰＵ６０８は、第１重心探索処理（ステップＳ１４０１）により求めた特徴点位置候補座標と幾何拘束補正処理（ステップＳ１４０２）で得られた補正後特徴点位置座標との距離を算出する。距離算出処理（ステップＳ１４０５）の処理内容は第１実施形態（ステップＳ１０５）と同様である。領域決定処理（ステップＳ１４０６）の一例としては、距離を判定する距離閾値と２種類の探索範囲が用意され、距離が閾値を超える場合には広い探索範囲を選択し、閾値以下の場合には狭い探索範囲を選択することが挙げられる。即ち、ＣＰＵ６０８は、幾何拘束補正の補正量に応じて特徴位置信頼度算出処理１４０の結果の信憑性を判断し、信憑性が高い場合は第２重心探索処理（ステップＳ１４０３）においてより狭い探索範囲を探索する。これにより、正確に特徴点の位置を確定することができる。
【００６５】
図１８は探索範囲の例を説明する図であり、ある信頼度マップ１８１における狭い探索範囲１８３と広い探索範囲１８２の２種類を示す。領域決定処理（Ｓ１４０６）では、これら２種類の探索範囲の何れか一方が、距離算出処理（ステップＳ１４０５）によって算出された距離に基づいて選択され、第２重心探索処理（ステップＳ１４０３）に提供される。２種類の探索範囲は、特徴点の種類毎に用意されており、領域決定処理（ステップＳ１４０６）では、特徴点の種類毎に対応する探索範囲が選択されることになる。なお、上記例では探索範囲は２段階としたが、３段階以上として構成することも可能であることはいうまでもない。
【００６６】
閾値判定処理（ステップＳ１４０４）における探索位置信頼度と閾値との比較結果を選択処理（ステップＳ１４０７）に提供する。選択処理（ステップＳ１４０７）は、この比較結果に応じて、即ち、探索位置信頼度に応じて第２重心探索処理（ステップＳ１４０３）の結果と幾何拘束補正処理（ステップＳ１４０２）の結果のいずれか一方を選択することになる。なお、閾値判定処理ステップ(ステップＳ１４０４)は閾値が固定である点を除いては第１実施形態の閾値判定処理（ステップＳ１０４）と同様である。
【００６７】
１４３で示すステップ群は特徴点毎に繰り返すステップであり、ステップＳ１４０３〜ステップＳ１４０７の処理は全ての特徴点に対して繰り返される。以上の処理により各特徴点の位置が決定される。
【００６８】
ＣＰＵ６０８は決定した各特徴点の位置をＲＡＭ６１０等に格納する。第３実施形態を人（或いは生物）の顔画像認識装置に適用した場合、ＣＰＵ６０８は格納した特徴点の位置を利用して、顔画像データを正確に再正規化し、格納した特徴点の位置を利用して識別に必要な特徴点の抽出を実行する。例えば、特徴点位置を基準にした複数の領域、部位から特徴量を算出し、局所特徴毎に登録データとの比較を行う等の処理を実行する。
【００６９】
以上、第３実施形態によれば、幾何拘束補正後の特徴点位置を利用して最終的な特徴点の位置が再探索される。このため、固有空間による幾何拘束能力を利用した上で、特徴位置信頼度算出処理１４０の性能を十分に活かした精度の高い位置決定を実現する事ができる。また、探索位置信頼度に基づいて幾何拘束補正処理（ステップＳ１４０２）の結果と再探索結果のいずれかを選択する事でコントラストやオクルージョン等の影響を抑えた位置決定を実現する事ができる。また、幾何拘束補正処理（ステップＳ１４０２）の補正量を基準にして、第２重心探索処理（ステップＳ１４０３）の領域を変えて判断を行う事で精度の高い位置決定を実現できる。
【００７０】
［第４実施形態］
次に、第４実施形態による特徴点位置決定装置について説明する。図１５は第４実施形態による特徴点位置決定処理の主要な処理フローを説明する図である。図１５において、ステップＳ１５０１〜Ｓ１５０７はＣＰＵ６０８で処理するステップを示す。
【００７１】
なお、第４実施形態による特徴点位置決定装置の構成は第１実施形態（図６）と同様である。以下では、第１実施形態と相違する点を主として説明する。
【００７２】
正規化顔画像の転送が終了すると、特徴位置信頼度算出処理部６１１は当該ＲＡＭに格納した画像データに対して、特徴点位置候補の存在の確からしさである信頼度の算出を開始する（図１５における特徴位置信頼度算出処理１５０に相当）。ここで生成する信頼度画像が特徴位置信頼度マップ１５１である。生成された特徴位置信頼度マップ１５１はＤＭＡＣ６０６を介してＲＡＭ６１０に転送される。ＣＰＵ６０８は当該転送が終了すると特徴点決定のためのプログラム（ステップＳ１５０１〜ステップＳ１５０７）の実行を開始する。１５２及び１５３で囲んだステップ群は特徴点毎に繰り返すステップを示している。
【００７３】
第１重心探索処理（ステップＳ１５０１）では特徴点毎に対応する特徴位置信頼度マップ１５１に規定されている探索範囲８３内の特徴点位置信頼度値の重心を算出する。第４実施形態では位置を決定する特徴点の種別に応じて異なる大きさの領域を探索する。図１６は第１重心探索処理（ステップＳ１５０１）と第２重心探索処理（ステップＳ１５０３）が特徴位置信頼度マップを探索する際の領域の例を説明する図である。ここでは説明のため２つの特徴位置信頼度マップの探索領域が１つにまとめて示されている。第１重心探索処理（ステップＳ１５０１）では検出する特徴点に応じて探索範囲１６２や探索範囲１６４に示す領域が探索される。探索範囲１６４は、顔画像中の口の上部のエッジを特徴点とする場合の探索範囲であり、探索範囲１６２は向かって左の目頭を探索する場合の探索範囲の例を示している。口の上部エッジは表情などにより特徴点の位置変動が大きいため、目尻を特徴点とする場合に比べてより広い範囲を探索する。第４実施形態において、各探索範囲は図１９に示す様な特徴点（特徴識別子）に対応するテーブルを参照して決定される。第１重心探索処理（ステップＳ１５０１）に対応するデータは図１９における探索領域１で示すデータである。Ar_1_n（n:０〜１３）は、実際には領域の幅と高さを示す情報を含む。なお、当該テーブルはＲＯＭ６０９に格納されているものとする。
【００７４】
ここで得られた重心値を特徴点位置候補座標とする。幾何拘束補正処理（ステップＳ１５０２）では、第１重心探索処理（ステップＳ１５０１）で得られた特徴点候補位置を特徴点の幾何学的な配置に関する拘束条件に従って補正する。第４実施形態でも第１実施形態と同様に幾何拘束補正処理（ステップＳ１５０２）では固有空間を利用した幾何拘束処理で特徴点位置候補座標をその統計的な配置関係に基づいて補正する。
【００７５】
第２重心探索処理（ステップＳ１５０３）では補正後の特徴点位置座標を利用して特徴位置信頼度マップ１５１を再探索する。第２重心探索処理（ステップＳ１５０３）においても、特徴点の位置に応じて異なる大きさの探索範囲を探索する。図１６において、探索範囲１６３及び探索範囲１６５は第２重心探索処理（ステップＳ１５０３）の探索範囲を示す。ここでも図１９に示すテーブルを参照して領域サイズ情報Ar_２_n（n:０〜１３）を参照して処理を行う。そのため、特徴識別子が第２重心探索処理（ステップＳ１５０３）に提供される。第２重心探索処理（ステップＳ１５０３）の探索範囲は第１重心探索処理（ステップＳ１５０１）の探索範囲より狭い範囲であり、更に、特徴点の特徴（動きが多い特徴である等）に応じて異なる範囲を探索する。
【００７６】
選択処理（ステップＳ１５０７）において、ＣＰＵ６０８は、特徴点位置座標として使用すべき検出結果を選択する。ＣＰＵ６０８は、閾値判定処理（ステップＳ１５０４）における閾値判定結果に基づいて、２つの座標（幾何拘束補正処理（ステップＳ１５０２）の結果と第２重心探索処理（ステップＳ１５０３）の結果）のいずれかを選択する。閾値判定処理（ステップＳ１５０４）では、第２重心探索処理（ステップＳ１５０３）からの探索位置信頼度を閾値と比較する事で閾値判定結果を生成する。
【００７７】
閾値判定処理（ステップＳ１５０４）は閾値決定処理（ステップＳ１５０６）で決定する閾値に従って閾値処理する。閾値決定処理（ステップＳ１５０６）は距離算出処理（ステップＳ１５０５）の結果に従って閾値を決定が、第４実施形態の閾値決定処理（ステップＳ１５０６）では、特徴点毎に閾値を変えている。図１９に示されるテーブルにおける信頼度閾値１（Th_C_1_n:０〜１３）、信頼度閾値２（Th_C_2_n:０〜１３）は特徴点毎の閾値である。閾値決定処理（ステップＳ１５０６）では、当該テーブルを参照して閾値を決定する。例えば、特徴識別子がｎの特徴点に対しては、距離算出処理（ステップＳ１５０５）によって算出された距離に従って、Th_C_1_n又はTh_C_2_nが選択される。閾値判定処理（ステップＳ１５０４）は閾値決定処理（ステップＳ１５０６）で選択した閾値に従って閾値処理する。
【００７８】
特徴位置信頼度算出処理１５０の生成する特徴位置信頼度マップ１５１は、特徴によってその値の分布状況が異なる場合がある。第４実施形態では、正解となる複数の学習データセットを用いて、予め特徴点毎に最適な信頼度閾値１、信頼度閾値２を決定し、図１９に示すようにテーブルとして保持しておく。第４実施形態によれば、特徴毎に最適な信頼度閾値が選択されるため、選択処理（ステップＳ１５０７）では抽出する特徴点の性質に応じた好適な選択を実現できる。
【００７９】
距離算出処理（ステップＳ１５０５）は、第１実施形態と同様に、第１重心探索処理（ステップＳ１５０１）により求めた特徴点の座標と幾何拘束補正処理（ステップＳ１５０２）で補正した特徴点の座標との距離を算出する。閾値決定処理（ステップＳ１５０６）は距離算出処理（ステップＳ１５０５）の結果に従って閾値判定処理（ステップＳ１５０４）で判定に使用する閾値を決定する。第４実施形態において閾値決定処理（ステップＳ１５０６）は特徴毎に異なる距離閾値で距離を判定する。図１９の距離閾値Th_D_n（n:0〜１３）は距離閾値であり、距離判定処理ステップＳ１５０６は当該テーブルを参照して距離を判定する閾値を決定する。ここでは、目頭等の変動の少ない特徴点に対しては小さい距離閾値を設定し、口のエッジ特徴点等のように変動の大きい特徴点では大きい距離閾値を設定する。従って、変動の大きい特徴点に関しては、閾値決定処理（ステップＳ１５０６）で低い信頼度閾値が選択されやすくなる。これにより、選択処理（ステップＳ１５０７）では、第２重心探索処理（ステップＳ１５０３）の結果を選択する可能性が高まる。つまり、変動の大きい特徴点に対しては、幾何拘束補正による補正量が大きい場合であっても、再探索後の結果を信用するように傾向付けることができる。
【００８０】
１５３で示すステップ群は特徴点毎に繰り返されるステップであり、ステップＳ１５０３〜ステップＳ１５０７は全ての特徴点に対して繰り返される。
【００８１】
以上の処理により各特徴点の位置が決定される。ＣＰＵ６０８は決定した各特徴点の位置をＲＡＭ６１０等に格納する。第４実施形態を人（或いは生物）の顔画像認識装置に適用した場合、ＣＰＵ６０８は格納した特徴点の位置を利用して、顔画像データを正確に再正規化し、格納した特徴点の位置を利用して識別に必要な特徴点の抽出を実行する。例えば、特徴点位置を基準にした複数の領域、部位から特徴量を算出し、局所特徴毎に登録データとの比較を行う等の処理を実行する。
【００８２】
以上、第４実施形態によれば、第１実施形態に記載の効果に加えて、特徴点毎に領域や各種閾値を変更する事で、特徴点の性質（変動の大きい小さいなど）に応じたより精度の高い特徴点位置検出が可能になる。
【００８３】
[第５実施形態]
次に、第５実施形態による特徴点位置決定装置について説明する。図１７は第５実施形態による特徴点位置決定処理の主要な処理フローを説明する図である。図１７においてステップＳ１７０１〜Ｓ１７０５はＣＰＵ６０８で処理するステップを示す。
【００８４】
なお、第５実施形態による特徴点位置決定装置の構成は第１実施形態（図６）と同様である。以下では、第１実施形態と相違する点を主として説明する。
【００８５】
正規化顔画像の転送が終了すると、特徴位置信頼度算出処理部６１１は当該ＲＡＭに格納した画像データに対して、特徴点位置候補の存在の確からしさである信頼度の算出を開始する（図１７における特徴位置信頼度算出処理１７０に相当）。ここで生成される信頼度画像が特徴位置信頼度マップ１７１である。生成された特徴位置信頼度マップ１７１はＤＭＡＣ６０６を介してＲＡＭ６１０に転送される。ＣＰＵ６０８は当該転送が終了すると特徴点決定のためのプログラム（ステップＳ１７０１〜ステップＳ１７０５）の実行を開始する。１７２及び１７３で囲んだステップは特徴点毎に繰り返すステップ群を示している。
【００８６】
第１重心探索処理（ステップＳ１７０１）において、ＣＰＵ６０８は、特徴点毎に対応する特徴位置信頼度マップ１７１の探索範囲８３において、特徴点位置信頼度値の重心を算出する。ここで得られた重心値を特徴点位置候補座標とする。幾何拘束補正処理（ステップＳ１７０２）において、ＣＰＵ６０８は、第１重心探索処理（ステップＳ１７０１）で得られた特徴点候補位置を特徴点の幾何学的な配置に関する拘束条件に従って補正する。第５実施形態でも、第１実施形態と同様に、幾何拘束補正処理（ステップＳ１７０２）では固有空間を利用した幾何拘束処理で特徴点位置候補座標がその配置関係に基づいて補正される。
【００８７】
第２重心探索処理（ステップＳ１７０３）において、ＣＰＵ６０８は、幾何拘束補正処理（ステップＳ１７０２）による補正後の特徴点位置座標を利用して特徴位置信頼度マップ１７１を再探索する。
【００８８】
選択処理（ステップＳ１７０５）において、ＣＰＵ６０８は、所定の条件で補正後特徴点位置座標と第２重心探索処理（ステップＳ１７０３）の結果のいずれかを選択する。第５実施形態における選択処理（ステップＳ１７０５）では、距離判定処理（ステップＳ１７０４）の判定結果に従って選択がおこなわれる。
【００８９】
距離判定処理（ステップＳ１７０４）は、第１重心探索処理（ステップＳ１７０１）により求めた特徴点の座標と幾何拘束補正処理（ステップＳ１７０２）で補正した特徴点の座標との距離を算出する。距離の算出処理は第１実施形態で説明したとおりである。距離判定処理（ステップＳ１７０４）では、例えば算出された距離と閾値を比較することにより、幾何拘束補正処理（ステップＳ１７０２）の前後の座標のずれが大きいかどうかを判断する。距離判定処理（ステップＳ１７０４）は、ずれが大きいと判断した場合、補正後特徴点位置座標を選択するよう選択処理（ステップＳ１７０５）に指示する。一方、幾何拘束補正処理（ステップＳ１７０２）の前後の座標のずれが小さい場合は、第２重心探索処理（ステップＳ１７０３）の結果を選択するよう選択処理（ステップＳ１７０５）を指示する。
【００９０】
以上の処理により各特徴点の位置を決定する。ＣＰＵ６０８は決定した各特徴点の位置をＲＡＭ６１０等に格納する。第５実施形態を人（或いは生物）の顔画像認識装置に適用した場合、ＣＰＵ６０８は格納した特徴点の位置を利用して、顔画像データを正確に再正規化し、格納した特徴点の位置を利用して識別に必要な特徴点の抽出を実行する。例えば、特徴点位置を基準にした複数の領域、部位から特徴量を算出し、局所特徴毎に登録データとの比較を行う等の処理を実行する。
【００９１】
以上、第５実施形態では、幾何拘束補正処理前後の座標のずれ量に基づいて特徴位置信頼度算出処理１７０の信頼性を判定し、信頼性が高い場合に当該処理部の結果を利用した再探索結果を利用する。これにより、簡単な処理で精度の高く特徴点の位置を決定する事ができる。
【００９２】
［その他の実施形態］
上記各実施形態ではＣＰＵを利用した装置について説明したが、全ての処理をハードウェアにより構成しても良い。或いは、画像バス６０４に接続された構成をＣＰＵ６０８とソフトウェアにより構成しても良い。
【００９３】
また、上記実施形態では顔器官を特徴点としてその位置を判定する場合について説明したが、本発明はこれに限るわけでではなく、その配置関係に何らかの幾何学的な拘束条件を有する様々な物体内の特徴的な位置を確定する手法に適用可能である。また、顔の器官に適用する場合であっても、顔全体の器官の位置決定に適用するだけでなく、部分的な器官、例えば口の周辺の複数の特徴点の位置を決定する様な場合に適用しても良い。
【００９４】
また、上記各実施形態では画像中の特徴点の位置を決定する場合について説明したが、１次元或いは２次元を超える多次元のデータに対する処理に適用する事も可能である。
【００９５】
また、上記各実施形態では、低処理負荷な手法として、探索位置信頼度を所定の閾値と比較し、更に幾何拘束補正処理前後の距離のずれに基づいて当該閾値を変更する等の手法について説明したが、この様な手法に限るわけではない。例えば、探索位置信頼度と補正前後の距離のずれを学習によって生成した評価関数に投入して補正後特徴点位置座標と再探索後の特徴点位置を選択する等の手法でも良い。
【００９６】
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００９７】
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【００９８】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００９９】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１００】
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては以下が挙げられる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【０１０１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１０２】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【０１０３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【０１０４】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行なう。
【図面の簡単な説明】
【０１０５】
【図１】第１実施形態における特徴点位置決定処理のフローを示す図である。
【図２】一般的な特徴点位置決定処理のフローを示す図である。
【図３】特徴点の例を示す図である。
【図４】誤判定を含む特徴点の例を示す図である。
【図５】誤判定を補正した特徴点を含む特徴点の例を示す図である。
【図６】第１〜第５実施形態における特徴点位置決定処理装置の構成例を示すブロック図である。
【図７】正規化された顔画像データの例を示す図である。
【図８】特徴点の探索と特徴位置信頼度マップの例を説明する図である。
【図９】特徴点座標と固有空間射影時の入力ベクトルの関係を説明する図である。
【図１０】特徴位置信頼度マップの分布の例を説明する図である。
【図１１】特徴点の補正前後の位置の例を説明する図である。
【図１２】特徴位置信頼度マップの分布の例を説明する図である。
【図１３】第２実施形態における特徴点位置決定処理のフローを示す図である。
【図１４】第３実施形態における特徴点位置決定処理のフローを示す図である。
【図１５】第４実施形態における特徴点位置決定処理のフローを示す図である。
【図１６】探索範囲の例を説明する図である。
【図１７】第５実施形態における特徴点位置決定処理のフローを示す図である。
【図１８】第３実施形態における探索領域の例を説明する図である。
【図１９】特徴点毎に探索領域、距離閾値、信頼度閾値を設定したテーブルのデータ構成例を示す図である。
【図１】
0005202037.tif 000002
【図２】
0005202037.tif 000003
【図３】
0005202037.tif 000004
【図４】
0005202037.tif 000005
【図５】
0005202037.tif 000006
【図６】
0005202037.tif 000007
【図７】
0005202037.tif 000008
【図９】
0005202037.tif 000009
【図１１】
0005202037.tif 000010
【図１３】
0005202037.tif 000011
【図１４】
0005202037.tif 000012
【図１５】
0005202037.tif 000013
【図１６】
0005202037.tif 000014
【図１７】
0005202037.tif 000015
【図１８】
0005202037.tif 000016
【図１９】
0005202037.tif 000017
【図８】
0005202037.tif 000018
【図１０】
0005202037.tif 000019
【図１２】
0005202037.tif 000020