(57)【特許請求の範囲】
【請求項１】
画像データから複数の特徴点の位置を決定する特徴点位置決定装置であって、
前記複数の特徴点の位置候補を求める候補決定手段と、
前記候補決定手段により得られた特徴点の位置候補の信頼度を判定する判定手段と、
前記信頼度に基づいて、当該信頼度が低いほど拘束力の高い補正条件を決定する条件決定手段と、
前記複数の特徴点の位置候補を前記補正条件に基づいて補正する補正手段とを有することを特徴とする特徴点位置決定装置。
【請求項２】
前記補正手段の補正条件は、複数の特徴点の配置関係の幾何学的な拘束力であることを特徴とする請求項１記載の特徴点位置決定装置。
【請求項３】
前記補正手段は、複数の特徴点位置候補の座標データを連結し、ベクトルデータとして入力する手段と、前記ベクトルデータを予め定める次元数の部分空間に射影する射影手段と、当該射影手段によって得られた射影ベクトルを逆射影する逆射影手段と、前記逆射影手段の結果から座標データを取り出す手段とを有し、
前記補正手段の補正条件が前記次元数であることを特徴とする請求項１記載の特徴点位置決定装置。
【請求項４】
動作モードを判定する手段を更に有し、
前記判定手段は、前記動作モードを判定する手段の結果に応じて信頼度を決定することを特徴とする請求項１記載の特徴点位置決定装置。
【請求項５】
前記判定手段は、画像データを解析する画像解析手段を有し、
前記画像解析手段の結果に基づいて信頼度を決定することを特徴とする請求項１記載の特徴点位置決定装置。
【請求項６】
前記判定手段は、前記候補決定手段により得られる情報に基づいて信頼度を決定することを特徴とする請求項１記載の特徴点位置決定装置。
【請求項７】
画像データから複数の特徴点の位置を決定する特徴点位置決定方法であって、
前記複数の特徴点の位置候補を求める候補決定工程と、
前記候補決定工程で得られた特徴点の位置候補の信頼度を判定する判定工程と、
前記信頼度に基づいて、当該信頼度が低いほど拘束力の高い補正条件を決定する条件決定工程と、
前記複数の特徴点の位置候補を前記補正条件に基づいて補正する補正工程とを有することを特徴とする特徴点位置決定方法。
【請求項８】
請求項７記載の特徴点位置決定方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像中の複数の特徴点位置を決定する特徴点位置決定装置、特徴点位置決定方法及びプログラムに関する。
【背景技術】
【０００２】
顔画像データを用いた個人の認識（以下、顔認識とする）において、顔器官或いはそれに準ずる特徴的な部位（以下、特徴点とする）の位置決定は重要なタスクであり、認識性能を律することが多い。また、高精度な特徴点の位置決定は高い処理負荷を要し、認識処理全体の時間を律速する場合もある。
【０００３】
そこで、例えば特許文献１では、動画データから個人を認識する場合に、前フレームの認識結果を利用して、現フレームで抽出する特徴点の数を削減することにより処理を高速化する手法が開示されている。複数の特徴点の位置を決定する手法は、特徴点毎の位置候補を抽出する特徴点候補検出器と対象とする物体（例えば顔）に特有な特徴点の配置関係に基づいて特徴点候補を補正する補正処理器により構成することが多い。例えば、非特許文献１では、統計量に基づく幾何学的な拘束にしたがって複数の顔器官特徴位置を決定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−７５９９９号公報
【非特許文献】
【０００５】
【非特許文献１】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、pp. 73-78
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示されている手法は抽出する特徴点の数を削減することによる認識性能の劣化が激しい。また、非特許文献１に開示されている手法は、部分空間を利用して効率よく特徴点の位置を補正する方式であるが、特徴点位置候補の抽出精度が低い場合、効果よく補正できない場合がある。
【０００７】
本発明は前述の問題点に鑑み、処理高速化等のために検出された特徴点位置候補の精度が低い場合であっても妥当な特徴点位置補正を実現し、所望の特徴点位置を決定できるようにすることを目的としている。
【課題を解決するための手段】
【０００８】
本発明の特徴点位置決定装置は、画像データから複数の特徴点の位置を決定する特徴点位置決定装置であって、前記複数の特徴点の位置候補を求める候補決定手段と、前記候補決定手段により得られた特徴点の位置候補の信頼度を判定する判定手段と、前記信頼度に基づいて、当該信頼度が低いほど拘束力の高い補正条件を決定する条件決定手段と、前記複数の特徴点の位置候補を前記補正条件に基づいて補正する補正手段とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、特徴点位置候補の検出精度が低い場合であっても、特徴点の位置を妥当に決定することができる。
【図面の簡単な説明】
【００１０】
【図１】特徴点位置決定処理及び顔認識処理を説明するフローチャートである。
【図２】実施形態に係る画像認識装置の構成例を示すブロック図である。
【図３】顔画像データの切り出し処理例を説明する図である。
【図４】顔器官に関連する１５個の特徴点位置を示す図である。
【図５】図１のステップＳ１０３の処理の例を説明する図である。
【図６】テンプレートマッチングの例を説明する図である。
【図７】補正処理の例を説明する図である。
【図８】図１のステップＳ１０８の処理内容を説明する図である。
【図９】第２の実施形態における動作の手順の一例を示すフローチャートである。
【図１０】図９のステップＳ９０２の流れを説明する図である。
【発明を実施するための形態】
【００１１】
（第１の実施形態）
以下、本発明の第１の実施形態の動作について図１及び図２を参照しながら説明する。
図２は、本実施形態に係る画像認識装置２００の構成例を示すブロック図である。画像認識装置２００はまず、画像データから顔を含む領域を抽出する。以下、抽出した領域を顔画像データと呼ぶ。そして、得られた顔画像データから複数の特徴点位置（ここでは顔の器官に関連する特徴の位置）を決定し、特徴点位置に基づいて個人を識別する認識機能を有する。
【００１２】
図２において、２０１は画像入力部である。画像入力部２０１は光学系デバイス、光電変換デバイス及びセンサーを制御するドライバー回路、ＡＤコンバーター、各種画像補正を司る信号処理回路、フレームバッファ等により構成されている。２０２は前処理部であり、後段の各種処理を効果的に行うために各種前処理を実行する。具体的には、画像入力部２０１で取得した画像データに対して色変換処理、コントラスト補正処理等の画像データ変換をハードウェアで処理する。
【００１３】
顔画像データ切り出し処理部２０３は、前処理部２０２で補正した画像データに対して顔検出処理を実行する。顔検出の手法は従来提案されている様々な手法を適用可能である。顔画像データ切り出し処理部２０３は検出された顔毎に顔画像データを所定のサイズに正規化して切り出す。
【００１４】
図３は、顔画像データの切り出し処理例を説明する図である。前処理部２０２で補正された画像３１から顔領域３２を判定し、予め定めるサイズに正規化した正立顔画像データ３３を切り出す。このように、正立顔画像データ３３の大きさは顔によらず一定である。切り出した顔画像データはＤＭＡＣ（Direct Memory Access Controller）２０５を介してＲＡＭ（Random Access Memory）２０９に格納される。以後、特徴点の位置とは正立顔画像データ３３内の特徴点の座標と定義し、正立顔画像データ３３の左上端を原点とする座標系（x座標、ｙ座標）で表現するものとする。
【００１５】
２０７はＣＰＵ（Central Processing Unit）であり、本実施形態に係る主要な処理を実行するとともに画像認識装置２００全体の動作を制御する。２０４はブリッジであり、画像バス２１０とＣＰＵバス２０６との間のバスブリッジ機能を提供する。２０８はＲＯＭ（Read Only Memory）であり、ＣＰＵ２０７の動作を規定する命令を格納する。ＲＡＭ２０９はＣＰＵ２０７の動作に必要な作業メモリである。ＣＰＵ２０７はＲＡＭ２０９に格納した顔画像データに対して認識処理を実行する。
【００１６】
図１は、本実施形態に関する特徴点位置決定処理及び顔認識処理を説明するフローチャートである。当該フローチャートはＣＰＵ２０７の動作を示す。本実施形態では動作モードに応じて特徴点位置候補決定方法を選択し、選択された特徴点位置候補決定方法に応じて好適な特徴点位置補正処理を実行する。
【００１７】
まず、ステップＳ１０１で動作モードを判定する。ここでの動作モードとは、通常モードまたは追尾モードである。通常モードでは、処理速度より認識精度を優先して顔認識を行う。一方、追尾モードでは精度の劣化を許容して高速な認識処理を実行する。通常モードか追尾モードかは、前フレームで認識対象人物（認識対象として登録されている人物）が認識されたか否かによって判定する。例えば、ＲＡＭ２０９に格納された前フレームの認識結果を参照して動作モードを判定する。
【００１８】
次に、ステップＳ１０２では、ステップＳ１０１の判定結果にしたがって、特徴点位置候補決定方法を選択するための情報を取得する。特徴毎に特徴点位置候補決定方法を選択するためのテーブル情報の例を以下の表１に示す。
【００１９】
【表１】
0005791373.tif 000002
【００２０】
通常モード時、ステップＳ１０２では通常モード用テーブルを選択し、追尾モード時は追尾モード用テーブルを選択する。表１のテーブルに記載された内容１及び２はそれぞれ第１の特徴点位置候補決定方法、第２の特徴点位置候補決定方法に対応する。
【００２１】
図４は、ここで決定する特徴点の位置の例を説明する図である。４０１〜４１５に示す顔器官に関連する１５個の特徴点位置を決定する。ステップＳ１０２では選択されたテーブルを参照して特徴点に対応する特徴点位置候補を選択する。例えば、通常モードでは、表１に示すテーブルを参照して、全ての特徴点で第１の特徴点位置候補決定方法を選択する。一方、追尾モードでは特徴点毎に異なる特徴点位置候補決定方法を選択する。例えば、特徴点４０１ではステップＳ１０３に進み、特徴点４０３ではステップＳ１０４に進む。
【００２２】
ステップＳ１０３では、高精度に特徴点位置候補を決定する。ここでは、処理時間を要するが精度の高い手法を用いて特徴点の位置候補を決定する。一方、第２の特徴点位置候補決定方法では、精度より処理時間を優先する手法で特徴点の位置候補を決定する。表１に示すテーブルの内容は所望の処理速度と性能とを考慮して事前に決定しておく。
【００２３】
図５は、ステップＳ１０３の処理の例を説明する図である。本実施形態では、ＣＮＮ（Convolutional Neural Networks）により特徴点位置候補を決定する。なお、図５では、説明のために２つの特徴点位置候補を決定する場合の構成を示している。ＣＮＮは階層的な特徴抽出処理により構成する。
【００２４】
図５では、第１階層５０６の特徴数が３、第２階層５１０の特徴数が２の２層ＣＮＮの例を示している。５０１は顔画像データであり、前述の正立顔画像データ３３に相当する。５０３ａ〜５０３ｃは第１階層５０６の特徴面を示す。特徴面とは、所定の特徴抽出フィルタ（コンボリューション演算の累積和及び非線形処理）で前階層のデータを走査しながら演算した結果を格納する画像データ面である。特徴面はラスタスキャンされた画像データに対する検出結果であるため検出結果も面で表す。５０３ａ〜５０３ｃは、顔画像データ５０１を参照して、異なる特徴抽出フィルタにより算出する。５０３ａ〜５０３ｃはそれぞれ模式的に５０４ａ〜５０４ｃに対応する２次元のコンボリューションフィルタ演算と演算結果の非線形変換により生成する。なお、５０２はコンボリューション演算に必要な参照画像領域を示す。例えば、カーネルサイズ（水平方向の長さと垂直方向の高さ）が１１×１１のコンボリューションフィルタ演算は以下に示すような式（１）の積和演算により処理する。
【００２５】
【数１】
0005791373.tif 000003
【００２６】
ここで、input（x,y）は座標（ｘ、ｙ）での参照画素値であり、output（x,y）は座標（ｘ、ｙ）での演算結果である。weight（column, row）は座標（ｘ+column、ｙ+row）での重み係数であり、columnSize=１１、rowSize=１１はフィルタカーネルサイズ（フィルタタップ数）である。
【００２７】
５０４ａ〜５０４ｃは夫々異なる係数のコンボリューションフィルタカーネルである。また、特徴面によってコンボリューションカーネルのサイズも異なる。ＣＮＮ演算では複数のフィルタカーネルを画素単位で走査しながら積和演算を繰り返し、最終的な積和結果を非線形変換することで特徴面を生成する。非線形変換はシグモイド関数等を適用する。５０３ａを算出する場合は前階層との結合数が１であるため、１つのコンボリューションフィルタカーネル５０４ａである。一方、特徴面５０７ａ及び特徴面５０７ｂを計算する場合、前階層との結合数が３であるため夫々５０８ａ〜５０８ｃ及び５０８ｄ〜５０８ｅに相当する３つのコンボリューションフィルタの演算結果を累積加算する。つまり、特徴面５０７ａは、コンボリューションフィルタ５０９ａ〜５０９ｃの全ての出力を累積加算し、最後に非線形変換処理することによって得る。５０５ａ〜５０５ｃはそれぞれ第２階層５１０のコンボリューション演算に必要な参照画像領域を示す。コンボリューションフィルタの係数は学習によって予め決定しておく。
【００２８】
ステップＳ１０３ではＣＮＮ演算結果である特徴面５０７ａ、５０７ｂの値の重心を特徴点位置候補座標とする。本実施形態の場合、実際には２層の特徴数が１５個のＣＮＮを用いて１５個の特徴点位置候補を決定可能なネットワークを構成しておく。ステップＳ１０２の結果に応じて必要な２層目の特徴面を算出し特徴点位置候補を高精度に決定する。ＣＮＮ演算は強力な特徴抽出手法として知られているが、この様に高い処理負荷を要する手法である。
【００２９】
一方、ステップＳ１０４では、処理負荷の低い手法で特徴点位置候補を決定する。本実施形態では、単純なテンプレートマッチングにより特徴点位置を決定する。図６はテンプレートマッチングの例を説明する図である。ここでは図４の鼻４０９を簡易に検出する場合の例について説明する。まず、予め用意する鼻に対応するテンプレート６４と顔画像データ６１中の所定の探索領域６２内の画素データとの類似度を算出する。類似度の算出はテンプレートと画素値の正規化相関演算等により算出する。テンプレート６４を所定の領域内でスキャン６３しながら類似度を算出し、類似度のピーク値が現れる座標や類似度の探索領域６２内の重心等により鼻の位置候補を決定する。テンプレートマッチング演算は、前述した第１の特徴点位置候補決定方法で説明したＣＮＮ演算に比べて少ない処理負荷で特徴点の位置候補を決定することができる。但し、個人差や顔の向き等の変動に対するロバスト性が低く総合的な精度は低い。
【００３０】
次に、ステップＳ１０５では、全ての特徴点位置候補の決定処理が終了したか否かを判定する。以上の処理により、動作モードに応じて特徴点毎に異なる方法で特徴点位置候補を決定する。ＣＰＵ２０７は決定した特徴点位置候補をＲＡＭ２０９に格納する。
【００３１】
以上のステップＳ１０１〜Ｓ１０５により、通常モードでは全ての特徴点をＣＮＮ演算により高精度に決定する。一方、追尾モード時は特徴点４０１、４０２、４０５、４０６、４１２、４１５をＣＮＮ演算により高精度に決定し、それ以外の特徴点はテンプレートマッチングを使用して高速に決定する。このように、後段の処理で重要度が高い一部の特徴点のみを高精度に算出する。
【００３２】
次に、ステップＳ１０６では特徴点位置候補の信頼度を判定する。本実施形態では動作モードに応じて信頼度を決定する。即ち、通常モードは高い信頼度、追尾モードは低い信頼度であると判断する。
【００３３】
ステップＳ１０７では、後述する幾何学的な補正処理に使用する固有ベクトルの射影次元を決定する。ここでは、ステップＳ１０６で判定した信頼度に応じて射影次元を選択する。特徴点候補位置の信頼度が高いと判定した場合は高い次元数を選択し、特徴点候補位置の信頼度が低い判定した場合は低い次元を選択する。本実施形態では射影次元を変えることで後述するステップＳ１０８の補正条件を変更する。
【００３４】
ステップＳ１０８では、ステップＳ１０３またはステップＳ１０４で得られた１５個の特徴点位置候補に対して幾何学的な補正処理を実行し、最終的な特徴点の位置を決定する。図７は補正処理の例を説明する図である。４０２ａは目尻を特徴とする特徴点であるが、誤って眉毛端の位置に判定されている。ステップＳ１０８では、人の顔の特徴の配置関係に基づいて統計的な処理によりその位置を補正する。図７に示す例では、複数の特徴点候補位置の配置関係に基づいて４０２ａを４０２ｂの位置に補正する。
【００３５】
図８は、ステップＳ１０８の処理内容を説明する図である。ステップＳ８０１では、各特徴点位置候補座標を単純に連結して１つのベクトルデータを生成する。本実施形態の場合は、１５個の特徴点位置座標から３０次元の特徴ベクトルデータＶを生成する。各特徴点の位置座標データ（ｘi，ｙi）（ｉ：特徴点の番号１〜１５）を単純に連結したデータ列を特徴点ベクトルデータＶ（要素ｖj：ｊ＝１〜３０）とする。特徴点の番号１〜１５は実施例では特徴点４０１〜４１５に対応する。したがって、例えば、特徴点ベクトルデータの要素ｖ1、ｖ2はそれぞれ特徴点４０１のｘ座標値、ｙ座標値に対応する。特徴ベクトルデータＶは以下の式（２）で定義する。なお、以降Ｔは転置を示す。
Ｖ＝（ｖ1，ｖ2，ｖ3，・・・ｖ2×f）T    ・・・式（２）
【００３６】
ここで、ｆは特徴点の数を示している。
【００３７】
ステップＳ８０２及びＳ８０３では、それぞれ平均ベクトルＡ８０７、射影行列Ｅ８０８を用いて射影ベクトルを算出する。射影ベクトルＰは、特徴点ベクトルデータＶから平均ベクトルＡを減じたベクトルデータと射影行列Ｅを使用して以下の式（３）〜（５）により算出する。なお、射影行列Ｅ及び平均ベクトルＡは、予め多数の顔画像に対する特徴点ベクトルデータ（学習用特徴ベクトルデータ）を用いて、主成分分析により算出した行列である。学習用特徴ベクトルデータは顔画像の正しい特徴点位置座標を全て同様に連結して生成したベクトルデータである。
Ｐ＝ＥT（Ｖ−Ａ）    ・・・式（３）
Ａ＝（ａ1，ａ2，ａ3，・・・ａ2×f）T    ・・・式（４）
Ｅ＝（ｕ1，ｕ2，・・・ｕp）    ・・・式（５）
【００３８】
ｕ1，ｕ2，・・・ｕpは主成分分析によって得られたそれぞれ２×ｆ次元の正規直交ベクトル（固有ベクトル）である。当該実施例の場合、３０次元のベクトルとなる。ｐは射影ベクトルの次元であり特徴点候補位置の信頼度に応じて異なる値が使用される。即ち、ここで使用する射影次元は、射影次元決定処理ステップＳ１０７で設定した値である。具体的には、通常動作モード時、即ち特徴点候補の精度が高い場合の８に設定され、追尾モード時、即ち特徴候補の精度が低い場合の６に設定する。この場合、射影行列Ｅは主成分分析によって得られる直交ベクトルのうち、対応する固有値が大きい８個のベクトルを選択した行列であり、追尾モード時はそのうち固有値の大きい６個のみを使用することになる。射影行列Ｅ及び平均ベクトルＡはＲＯＭ２０８或いはＲＡＭ２０９等に予め格納されているものとする。
【００３９】
ステップＳ８０２及びＳ８０３では、式（３）〜（５）の演算により、２×ｆ次元の特徴点ベクトルをｐ次元の射影ベクトルに次元削減する。即ち、ｐ次元の部分空間に射影する。ステップＳ８０４及びＳ８０５では、射影ベクトルＰから元の特徴点ベクトル次元のデータ（即ち座標位置）を復元する。復元ベクトルＶ'は前記射影行列Ｅと前記平均ベクトルＡとを用いて以下の式（６）により算出する。
Ｖ'＝ＥＰ＋Ａ    ・・・式（６）
【００４０】
逆射影した復元ベクトルデータＶ'からステップＳ８０６で補正後の座標データを取り出す。以上のステップＳ８０１からステップ８０６の処理により、全ての特徴点位置データを連結したベクトルデータを次元削減した部分空間に射影した後逆射影することで、統計的な外れ値を補正することができる。つまり、射影した部分空間で表現できない外れ値（誤検出）が補正される。これによって、各特徴点の配置関係に基づいて幾何学的な配置関係を補正し、図６の４０１ａに示す様な誤検出を補正する。
【００４１】
ここで、射影次元数が高い場合、当該固有ベクトルで射影された空間の自由度が高く、射影次元数が低い場合、当該固有ベクトルで射影された空間の自由度が低い。即ち、射影次元数が高い場合、幾何学的な配置関係の拘束力が弱く、射影次元数が低い場合拘束力が強まる。本実施形態ではこの特徴を利用して、特徴点位置候補決定方法の精度が高い場合、高い射影次元数を選択して弱い拘束で特徴点の位置を補正し、特徴点位置候補決定方法の精度が低い場合、低い射影次元数を選択し、強い拘束で特徴点の位置を補正する。例えば、射影次元を０とした場合、特徴点位置補正処理の結果は平均ベクトルＡ８０７となり特徴点位置候補決定方法の結果を全て利用しない（全て信頼しない）ことと等価になる。追尾モード時は、ステップＳ１０４で高速に決定する特徴点の数が多いことから信頼度が低いと判断し、強い拘束を与える。
【００４２】
図１の説明に戻り、次に、ステップＳ１０９では、ステップＳ１０８で得られた特徴点の位置に基づいて認識処理を実行する。認識処理は従来提案されている様々な手法を適用してよい。例えば決定した特徴点の位置を基準にして複数の局所的な領域を切り出し、直交変換等により次元圧縮する。そして、次元圧縮したデータを特徴ベクトル（特徴量）とする。同様にして算出した登録人物の特徴ベクトルとの相関演算により登録者との類似度を算出する。登録人物の特徴ベクトルは認識に先立って、ＲＡＭ２０９等に格納しておく。
【００４３】
また、特徴ベクトルは特徴点の位置に応じて複数算出する。例えば、目や鼻や口を含む複数の局所的な領域から算出する。算出した複数の特徴ベクトルの相関値を統合することで最終的な類似度を算出する。当該最終類似度を閾値処理することで登録者であるか否かを判定する。使用する局所領域の数や種類は動作モードが異なる場合でも同一である。
【００４４】
以上、本実施形態では、動作モードに応じて特徴点候補位置の検出精度を変えて処理し、検出精度（特徴点候補位置の信頼度）に応じて幾何拘束処理の射影次元を選択する。そして、ステップＳ１１０では認識結果をＲＯＭ２０８に記録する。
【００４５】
本実施形態によれば、追尾モード等精度の劣化を許容して高速処理する場合であっても、特徴点位置を、性能劣化を抑えて妥当に決定することができる。即ち、射影次元の次元数を変えるだけの極めて簡単な手法で、特徴点位置候補決定方法に応じて適切な補正を実現することが可能になる。
【００４６】
（第２の実施形態）
第１の実施形態では動作モードに応じて信頼度を判断する場合について説明した。本実施形態では対象とする顔画像データから信頼度を判定する。図９は、本実施形態の動作の手順の一例を示すフローチャートである。
【００４７】
ステップＳ９０１では特徴点位置候補を決定する。ここでは第１の実施形態のステップＳ１０３と同様に複数の特徴点位置候補をＣＮＮ演算により求める。ステップＳ９０２では特徴点信頼度を判定する。ここでは対象とする顔画像のコントラストや解像度をから特徴点位置候補決定処理の信頼度を推定する。例えば、コントラストが低い場合や、コントラストの傾きが激しい場合、解像度が低くボケの激しい画像である場合等はステップＳ９０１の信頼度が低いと判断する。
【００４８】
図１０（ａ）は、コントラストのヒストグラムに基づくステップＳ９０２の流れを説明する図である。処理１００１では、正立顔画像データ３３の画素値のヒストグラムを作成する。そして、処理１００２で得られたヒストグラムをベクトルとしてＳＶＭ（Support Vector Machine）等の判別器で特徴位置候補の信頼度を判定する。ＳＶＭは予めヒストグラムの形状と特徴点位置候補の信頼度の関係を学習しておく。
【００４９】
図１０（ｂ）は、解像度に基づくステップＳ９０２の流れを説明する図である。正立顔画像データ３３に対して処理１００３でエッジ抽出フィルタ処理を実行し、処理１００４でエッジ量の総和を算出する。そして、処理１００５で総和値を予め定めるしきい値と比較することで解像度を予測する。解像度が高い場合、特徴点位置候補の信頼度が高いと判定する。
【００５０】
図１０（ｃ）は画像データそのものを用いたステップＳ９０２の流れを説明する図である。まず、処理１００６で正立顔画像データ３３を所定のサイズにサブサンプリングし、処理１００７でサブサンプリングしたデータをベクトルとしてＳＶＭで判定する。ＳＶＭは予めサブサンプリングした画像データと特徴点位置候補の信頼度の関係を学習しておく。
【００５１】
図９の説明に戻り、次にステップＳ９０３では、ステップＳ９０２で判定した信頼度に応じて射影次元を設定する。特徴点位置候補の信頼度が高い場合高い射影次元を設定し、低い場合低い次元を設定する。ステップＳ９０４〜ステップＳ９０６は第１の実施形態で説明した図１のステップＳ１０８〜ステップＳ１１０と同じである。
【００５２】
以上のように本実施形態では、対象の画像を解析することで、特徴点位置候補決定処理の信頼度を予測し、その予測に基づいて射影次元を設定する。つまり、信頼度が低いと予想される場合、幾何学的補正処理の拘束力を強め、信頼度が高いと予想される場合、幾何学的補正処理の拘束力を弱める。これにより、対象とする様々な顔画像に応じて、適切な特徴点位置の決定が可能になる。
【００５３】
（その他の実施形態）
第１の実施形態では、前フレームの認識結果にしたがって動作モード（通常モード・追尾モード）を選択する場合について説明したが、この様な場合に限るわけではない。例えば、対象とする画像中の顔の数によって高精度モードと高速モードを切り替える。ユーザーが所定のユーザーインターフェースを介して高精度モードと高速モードを設定する等様々なケースに適用可能である。例えばユーザーインターフェースを介して設定する場合、ステップＳ１０１はユーザーの指定する情報に基づいて動作モードを決定する。
【００５４】
また、第２の実施形態では、対象とする顔画像に対する画像解析により特徴点位置候補の信頼度を予測する場合について説明したが、他の手法でもよい。例えば、ステップＳ９０１で得られる情報（中間結果）に基づいて信頼度を決定する等の方法でもよい。すなわち、実施形態で示すＣＮＮにより特徴点の候補を決定する場合、ＣＮＮの出力値を利用して信頼度を判定することができる。ＣＮＮの出力値が高い場合対象とする特徴点の可能性が高いことから、全特徴点位置候補のＣＮＮ出力値の総和を基準にして信頼度を判定する等の手法で予測することが可能である。特徴点位置候補決定処理を単純なテンプレートマッチングで実現する場合であっても、同様に相関値の総和等を利用して判断することができる。
【００５５】
また、前述した実施形態では、部分空間への射影（ステップＳ８０３）と逆射影（ステップＳ８０４）とをそれぞれ独立に処理する場合について説明したが、これは原理的な説明であり、統合して処理することも可能である。当該演算はそれぞれ線形なマトリクス演算であるため、射影演算と逆射影演算を統合する変換行列を予め生成して処理することができる。
【００５６】
さらに、前述した実施形態では、画像中の顔画像から特定の人物を認識する場合について説明したが、本発明はこれに限るわけではない。特徴点の配置に基づいて所定の物体を認識或いは検出する様々な画像認識装置に利用することが可能である。更には、対象物体の姿勢や表情等の状態を認識する手法に適用することも可能である。
【００５７】
また、前述した実施形態では、特徴点の位置として２次元座標上の位置の場合について説明したが、これに限るわけではなく、３次元データに基づいた処理の場合、３次元座標に適用してもよい。この場合、３つの座標値を連結して特徴ベクトルデータＶを作成する。さらに、実施形態では画像認識装置に適用した場合について説明したが、これに限るわけではなく、決定した特徴点の座標を利用して画像を補整・変形する装置等にも利用可能である。
【００５８】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００５９】
２０７  ＣＰＵ
２０８  ＲＯＭ
２０９  ＲＡＭ
【図１】
0005791373.tif 000004
【図２】
0005791373.tif 000005
【図３】
0005791373.tif 000006
【図４】
0005791373.tif 000007
【図５】
0005791373.tif 000008
【図６】
0005791373.tif 000009
【図７】
0005791373.tif 000010
【図８】
0005791373.tif 000011
【図９】
0005791373.tif 000012
【図１０】
0005791373.tif 000013