"画像データから複数の特徴点の位置を決定する特徴点位置決定装置であって、特徴点の候補位置を求める候補決定手段と、前記候補決定手段により得られた特徴点位置候補の信頼度を判定する判定手段と、前記候補決定手段による結果を所定の補正条件に基づいて補正する補正手段とを有し、前記判定手段の結果に基づいて前記補正条件を決定することを特徴とする特徴点位置決定装置。前記補正手段の補正条件は、複数の特徴点の配置関係の幾何学的な拘束力であり、前記特徴点位置候補の信頼度が低い場合、高い拘束力を与えることを特徴とする請求項1記載の特徴点位置決定装置。前記補正手段は、複数の特徴点位置候補の座標データを連結し、ベクトルデータとして入力する手段と、前記ベクトルデータを予め定める次元数の部分空間に射影する射影手段と、当該射影手段によって得られた射影ベクトルを逆射影する逆射影手段と、前記逆射影手段の結果から座標データを取り出す手段とを有し、前記補正手段の補正条件が前記次元数であることを特徴とする請求項1記載の特徴点位置決定装置。動作モードを判定する手段を更に有し、前記判定手段は、前記動作モードを判定する手段の結果に応じて信頼度を決定することを特徴とする請求項1記載の特徴点位置決定装置。前記判定手段は、画像データを解析する画像解析手段を有し、前記画像解析手段の結果に基づいて信頼度を決定することを特徴とする請求項1記載の特徴点位置決定装置。前記判定手段は、前記候補決定手段により得られる情報に基づいて信頼度を決定することを特徴とする請求項1記載の特徴点位置決定装置。画像データから複数の特徴点の位置を決定する特徴点位置決定方法であって、特徴点の候補位置を求める候補決定工程と、前記候補決定工程で得られた特徴点位置候補の信頼度を判定する判定工程と、前記候補決定工程の結果を所定の補正条件に基づいて補正する補正工程とを有し、前記判定工程の結果に基づいて前記補正条件を決定することを特徴とする特徴点位置決定方法。請求項7記載の特徴点位置決定方法の各工程をコンピュータに実行させるためのプログラム。しかしながら、特許文献1に開示されている手法は抽出する特徴点の数を削減することによる認識性能の劣化が激しい。また、非特許文献1に開示されている手法は、部分空間を利用して効率よく特徴点の位置を補正する方式であるが、特徴点位置候補の抽出精度が低い場合、効果よく補正できない場合がある。本発明は前述の問題点に鑑み、処理高速化等のために検出された特徴点位置候補の精度が低い場合であっても妥当な特徴点位置補正を実現し、所望の特徴点位置を決定できるようにすることを目的としている。本発明の特徴点位置決定装置は、画像データから複数の特徴点の位置を決定する特徴点位置決定装置であって、特徴点の候補位置を求める候補決定手段と、前記候補決定手段により得られた特徴点位置候補の信頼度を判定する判定手段と、前記候補決定手段による結果を所定の補正条件に基づいて補正する補正手段とを有し、前記判定手段の結果に基づいて前記補正条件を決定することを特徴とする。本発明によれば、特徴点位置候補の検出精度が低い場合であっても、特徴点の位置を妥当に決定することができる。第1の実施形態以下、本発明の第1の実施形態の動作について図1及び図2を参照しながら説明する。図2は、本実施形態に係る画像認識装置200の構成例を示すブロック図である。画像認識装置200はまず、画像データから顔を含む領域を抽出する。以下、抽出した領域を顔画像データと呼ぶ。そして、得られた顔画像データから複数の特徴点位置ここでは顔の器官に関連する特徴の位置を決定し、特徴点位置に基づいて個人を識別する認識機能を有する。図2において、201は画像入力部である。画像入力部201は光学系デバイス、光電変換デバイス及びセンサーを制御するドライバー回路、ADコンバーター、各種画像補正を司る信号処理回路、フレームバッファ等により構成されている。202は前処理部であり、後段の各種処理を効果的に行うために各種前処理を実行する。具体的には、画像入力部201で取得した画像データに対して色変換処理、コントラスト補正処理等の画像データ変換をハードウェアで処理する。顔画像データ切り出し処理部203は、前処理部202で補正した画像データに対して顔検出処理を実行する。顔検出の手法は従来提案されている様々な手法を適用可能である。顔画像データ切り出し処理部203は検出された顔毎に顔画像データを所定のサイズに正規化して切り出す。図3は、顔画像データの切り出し処理例を説明する図である。前処理部202で補正された画像31から顔領域32を判定し、予め定めるサイズに正規化した正立顔画像データ33を切り出す。このように、正立顔画像データ33の大きさは顔によらず一定である。切り出した顔画像データはDMACDirectMemoryAccessController205を介してRAMRandomAccessMemory209に格納される。以後、特徴点の位置とは正立顔画像データ33内の特徴点の座標と定義し、正立顔画像データ33の左上端を原点とする座標系x座標、y座標で表現するものとする。207はCPUCentralProcessingUnitであり、本実施形態に係る主要な処理を実行するとともに画像認識装置200全体の動作を制御する。204はブリッジであり、画像バス210とCPUバス206との間のバスブリッジ機能を提供する。208はROMReadOnlyMemoryであり、CPU207の動作を規定する命令を格納する。RAM209はCPU207の動作に必要な作業メモリである。CPU207はRAM209に格納した顔画像データに対して認識処理を実行する。図1は、本実施形態に関する特徴点位置決定処理及び顔認識処理を説明するフローチャートである。当該フローチャートはCPU207の動作を示す。本実施形態では動作モードに応じて特徴点位置候補決定方法を選択し、選択された特徴点位置候補決定方法に応じて好適な特徴点位置補正処理を実行する。まず、ステップS101で動作モードを判定する。ここでの動作モードとは、通常モードまたは追尾モードである。通常モードでは、処理速度より認識精度を優先して顔認識を行う。一方、追尾モードでは精度の劣化を許容して高速な認識処理を実行する。通常モードか追尾モードかは、前フレームで認識対象人物認識対象として登録されている人物が認識されたか否かによって判定する。例えば、RAM209に格納された前フレームの認識結果を参照して動作モードを判定する。次に、ステップS102では、ステップS101の判定結果にしたがって、特徴点位置候補決定方法を選択するための情報を取得する。特徴毎に特徴点位置候補決定方法を選択するためのテーブル情報の例を以下の表1に示す。通常モード時、ステップS102では通常モード用テーブルを選択し、追尾モード時は追尾モード用テーブルを選択する。表1のテーブルに記載された内容1及び2はそれぞれ第1の特徴点位置候補決定方法、第2の特徴点位置候補決定方法に対応する。図4は、ここで決定する特徴点の位置の例を説明する図である。401~415に示す顔器官に関連する15個の特徴点位置を決定する。ステップS102では選択されたテーブルを参照して特徴点に対応する特徴点位置候補を選択する。例えば、通常モードでは、表1に示すテーブルを参照して、全ての特徴点で第1の特徴点位置候補決定方法を選択する。一方、追尾モードでは特徴点毎に異なる特徴点位置候補決定方法を選択する。例えば、特徴点401ではステップS103に進み、特徴点403ではステップS104に進む。ステップS103では、高精度に特徴点位置候補を決定する。ここでは、処理時間を要するが精度の高い手法を用いて特徴点の位置候補を決定する。一方、第2の特徴点位置候補決定方法では、精度より処理時間を優先する手法で特徴点の位置候補を決定する。表1に示すテーブルの内容は所望の処理速度と性能とを考慮して事前に決定しておく。図5は、ステップS103の処理の例を説明する図である。本実施形態では、CNNConvolutionalNeuralNetworksにより特徴点位置候補を決定する。なお、図5では、説明のために2つの特徴点位置候補を決定する場合の構成を示している。CNNは階層的な特徴抽出処理により構成する。図5では、第1階層506の特徴数が3、第2階層510の特徴数が2の2層CNNの例を示している。501は顔画像データであり、前述の正立顔画像データ33に相当する。503a~503cは第1階層506の特徴面を示す。特徴面とは、所定の特徴抽出フィルタコンボリューション演算の累積和及び非線形処理で前階層のデータを走査しながら演算した結果を格納する画像データ面である。特徴面はラスタスキャンされた画像データに対する検出結果であるため検出結果も面で表す。503a~503cは、顔画像データ501を参照して、異なる特徴抽出フィルタにより算出する。503a~503cはそれぞれ模式的に504a~504cに対応する2次元のコンボリューションフィルタ演算と演算結果の非線形変換により生成する。なお、502はコンボリューション演算に必要な参照画像領域を示す。例えば、カーネルサイズ水平方向の長さと垂直方向の高さが11×11のコンボリューションフィルタ演算は以下に示すような式1の積和演算により処理する。ここで、inputxyは座標x、yでの参照画素値であり、outputxyは座標x、yでの演算結果である。weightcolumnrowは座標xcolumn、yrowでの重み係数であり、columnSize11、rowSize11はフィルタカーネルサイズフィルタタップ数である。504a~504cは夫々異なる係数のコンボリューションフィルタカーネルである。また、特徴面によってコンボリューションカーネルのサイズも異なる。CNN演算では複数のフィルタカーネルを画素単位で走査しながら積和演算を繰り返し、最終的な積和結果を非線形変換することで特徴面を生成する。非線形変換はシグモイド関数等を適用する。503aを算出する場合は前階層との結合数が1であるため、1つのコンボリューションフィルタカーネル504aである。一方、特徴面507a及び特徴面507bを計算する場合、前階層との結合数が3であるため夫々508a~508c及び508d~508eに相当する3つのコンボリューションフィルタの演算結果を累積加算する。つまり、特徴面507aは、コンボリューションフィルタ509a~509cの全ての出力を累積加算し、最後に非線形変換処理することによって得る。505a~505cはそれぞれ第2階層510のコンボリューション演算に必要な参照画像領域を示す。コンボリューションフィルタの係数は学習によって予め決定しておく。ステップS103ではCNN演算結果である特徴面507a、507bの値の重心を特徴点位置候補座標とする。本実施形態の場合、実際には2層の特徴数が15個のCNNを用いて15個の特徴点位置候補を決定可能なネットワークを構成しておく。ステップS102の結果に応じて必要な2層目の特徴面を算出し特徴点位置候補を高精度に決定する。CNN演算は強力な特徴抽出手法として知られているが、この様に高い処理負荷を要する手法である。一方、ステップS104では、処理負荷の低い手法で特徴点位置候補を決定する。本実施形態では、単純なテンプレートマッチングにより特徴点位置を決定する。図6はテンプレートマッチングの例を説明する図である。ここでは図4の鼻409を簡易に検出する場合の例について説明する。まず、予め用意する鼻に対応するテンプレート64と顔画像データ61中の所定の探索領域62内の画素データとの類似度を算出する。類似度の算出はテンプレートと画素値の正規化相関演算等により算出する。テンプレート64を所定の領域内でスキャン63しながら類似度を算出し、類似度のピーク値が現れる座標や類似度の探索領域62内の重心等により鼻の位置候補を決定する。テンプレートマッチング演算は、前述した第1の特徴点位置候補決定方法で説明したCNN演算に比べて少ない処理負荷で特徴点の位置候補を決定することができる。但し、個人差や顔の向き等の変動に対するロバスト性が低く総合的な精度は低い。次に、ステップS105では、全ての特徴点位置候補の決定処理が終了したか否かを判定する。以上の処理により、動作モードに応じて特徴点毎に異なる方法で特徴点位置候補を決定する。CPU207は決定した特徴点位置候補をRAM209に格納する。以上のステップS101~S105により、通常モードでは全ての特徴点をCNN演算により高精度に決定する。一方、追尾モード時は特徴点401、402、405、406、412、415をCNN演算により高精度に決定し、それ以外の特徴点はテンプレートマッチングを使用して高速に決定する。このように、後段の処理で重要度が高い一部の特徴点のみを高精度に算出する。次に、ステップS106では特徴点位置候補の信頼度を判定する。本実施形態では動作モードに応じて信頼度を決定する。即ち、通常モードは高い信頼度、追尾モードは低い信頼度であると判断する。ステップS107では、後述する幾何学的な補正処理に使用する固有ベクトルの射影次元を決定する。ここでは、ステップS106で判定した信頼度に応じて射影次元を選択する。特徴点候補位置の信頼度が高いと判定した場合は高い次元数を選択し、特徴点候補位置の信頼度が低い判定した場合は低い次元を選択する。本実施形態では射影次元を変えることで後述するステップS108の補正条件を変更する。ステップS108では、ステップS103またはステップS104で得られた15個の特徴点位置候補に対して幾何学的な補正処理を実行し、最終的な特徴点の位置を決定する。図7は補正処理の例を説明する図である。402aは目尻を特徴とする特徴点であるが、誤って眉毛端の位置に判定されている。ステップS108では、人の顔の特徴の配置関係に基づいて統計的な処理によりその位置を補正する。図7に示す例では、複数の特徴点候補位置の配置関係に基づいて402aを402bの位置に補正する。図8は、ステップS108の処理内容を説明する図である。ステップS801では、各特徴点位置候補座標を単純に連結して1つのベクトルデータを生成する。本実施形態の場合は、15個の特徴点位置座標から30次元の特徴ベクトルデータVを生成する。各特徴点の位置座標データxi,yii:特徴点の番号1~15を単純に連結したデータ列を特徴点ベクトルデータV要素vj:j=1~30とする。特徴点の番号1~15は実施例では特徴点401~415に対応する。したがって、例えば、特徴点ベクトルデータの要素v1、v2はそれぞれ特徴点401のx座標値、y座標値に対応する。特徴ベクトルデータVは以下の式2で定義する。なお、以降Tは転置を示す。V=v1,v2,v3,v2×fT式2ここで、fは特徴点の数を示している。ステップS802及びS803では、それぞれ平均ベクトルA807、射影行列E808を用いて射影ベクトルを算出する。射影ベクトルPは、特徴点ベクトルデータVから平均ベクトルAを減じたベクトルデータと射影行列Eを使用して以下の式3~5により算出する。なお、射影行列E及び平均ベクトルAは、予め多数の顔画像に対する特徴点ベクトルデータ学習用特徴ベクトルデータを用いて、主成分分析により算出した行列である。学習用特徴ベクトルデータは顔画像の正しい特徴点位置座標を全て同様に連結して生成したベクトルデータである。P=ETV-A式3A=a1,a2,a3,a2×fT式4E=u1,u2,up式5u1,u2,upは主成分分析によって得られたそれぞれ2×f次元の正規直交ベクトル固有ベクトルである。当該実施例の場合、30次元のベクトルとなる。pは射影ベクトルの次元であり特徴点候補位置の信頼度に応じて異なる値が使用される。即ち、ここで使用する射影次元は、射影次元決定処理ステップS107で設定した値である。具体的には、通常動作モード時、即ち特徴点候補の精度が高い場合の8に設定され、追尾モード時、即ち特徴候補の精度が低い場合の6に設定する。この場合、射影行列Eは主成分分析によって得られる直交ベクトルのうち、対応する固有値が大きい8個のベクトルを選択した行列であり、追尾モード時はそのうち固有値の大きい6個のみを使用することになる。射影行列E及び平均ベクトルAはROM208或いはRAM209等に予め格納されているものとする。ステップS802及びS803では、式3~5の演算により、2×f次元の特徴点ベクトルをp次元の射影ベクトルに次元削減する。即ち、p次元の部分空間に射影する。ステップS804及びS805では、射影ベクトルPから元の特徴点ベクトル次元のデータ即ち座標位置を復元する。復元ベクトルVは前記射影行列Eと前記平均ベクトルAとを用いて以下の式6により算出する。V=EPA式6逆射影した復元ベクトルデータVからステップS806で補正後の座標データを取り出す。以上のステップS801からステップ806の処理により、全ての特徴点位置データを連結したベクトルデータを次元削減した部分空間に射影した後逆射影することで、統計的な外れ値を補正することができる。つまり、射影した部分空間で表現できない外れ値誤検出が補正される。これによって、各特徴点の配置関係に基づいて幾何学的な配置関係を補正し、図6の401aに示す様な誤検出を補正する。ここで、射影次元数が高い場合、当該固有ベクトルで射影された空間の自由度が高く、射影次元数が低い場合、当該固有ベクトルで射影された空間の自由度が低い。即ち、射影次元数が高い場合、幾何学的な配置関係の拘束力が弱く、射影次元数が低い場合拘束力が強まる。本実施形態ではこの特徴を利用して、特徴点位置候補決定方法の精度が高い場合、高い射影次元数を選択して弱い拘束で特徴点の位置を補正し、特徴点位置候補決定方法の精度が低い場合、低い射影次元数を選択し、強い拘束で特徴点の位置を補正する。例えば、射影次元を0とした場合、特徴点位置補正処理の結果は平均ベクトルA807となり特徴点位置候補決定方法の結果を全て利用しない全て信頼しないことと等価になる。追尾モード時は、ステップS104で高速に決定する特徴点の数が多いことから信頼度が低いと判断し、強い拘束を与える。図1の説明に戻り、次に、ステップS109では、ステップS108で得られた特徴点の位置に基づいて認識処理を実行する。認識処理は従来提案されている様々な手法を適用してよい。例えば決定した特徴点の位置を基準にして複数の局所的な領域を切り出し、直交変換等により次元圧縮する。そして、次元圧縮したデータを特徴ベクトル特徴量とする。同様にして算出した登録人物の特徴ベクトルとの相関演算により登録者との類似度を算出する。登録人物の特徴ベクトルは認識に先立って、RAM209等に格納しておく。また、特徴ベクトルは特徴点の位置に応じて複数算出する。例えば、目や鼻や口を含む複数の局所的な領域から算出する。算出した複数の特徴ベクトルの相関値を統合することで最終的な類似度を算出する。当該最終類似度を閾値処理することで登録者であるか否かを判定する。使用する局所領域の数や種類は動作モードが異なる場合でも同一である。以上、本実施形態では、動作モードに応じて特徴点候補位置の検出精度を変えて処理し、検出精度特徴点候補位置の信頼度に応じて幾何拘束処理の射影次元を選択する。そして、ステップS110では認識結果をROM208に記録する。本実施形態によれば、追尾モード等精度の劣化を許容して高速処理する場合であっても、特徴点位置を、性能劣化を抑えて妥当に決定することができる。即ち、射影次元の次元数を変えるだけの極めて簡単な手法で、特徴点位置候補決定方法に応じて適切な補正を実現することが可能になる。第2の実施形態第1の実施形態では動作モードに応じて信頼度を判断する場合について説明した。本実施形態では対象とする顔画像データから信頼度を判定する。図9は、本実施形態の動作の手順の一例を示すフローチャートである。ステップS901では特徴点位置候補を決定する。ここでは第1の実施形態のステップS103と同様に複数の特徴点位置候補をCNN演算により求める。ステップS902では特徴点信頼度を判定する。ここでは対象とする顔画像のコントラストや解像度をから特徴点位置候補決定処理の信頼度を推定する。例えば、コントラストが低い場合や、コントラストの傾きが激しい場合、解像度が低くボケの激しい画像である場合等はステップS901の信頼度が低いと判断する。図10aは、コントラストのヒストグラムに基づくステップS902の流れを説明する図である。処理1001では、正立顔画像データ33の画素値のヒストグラムを作成する。そして、処理1002で得られたヒストグラムをベクトルとしてSVMSupportVectorMachine等の判別器で特徴位置候補の信頼度を判定する。SVMは予めヒストグラムの形状と特徴点位置候補の信頼度の関係を学習しておく。図10bは、解像度に基づくステップS902の流れを説明する図である。正立顔画像データ33に対して処理1003でエッジ抽出フィルタ処理を実行し、処理1004でエッジ量の総和を算出する。そして、処理1005で総和値を予め定めるしきい値と比較することで解像度を予測する。解像度が高い場合、特徴点位置候補の信頼度が高いと判定する。図10cは画像データそのものを用いたステップS902の流れを説明する図である。まず、処理1006で正立顔画像データ33を所定のサイズにサブサンプリングし、処理1007でサブサンプリングしたデータをベクトルとしてSVMで判定する。SVMは予めサブサンプリングした画像データと特徴点位置候補の信頼度の関係を学習しておく。図9の説明に戻り、次にステップS903では、ステップS902で判定した信頼度に応じて射影次元を設定する。特徴点位置候補の信頼度が高い場合高い射影次元を設定し、低い場合低い次元を設定する。ステップS904~ステップS906は第1の実施形態で説明した図1のステップS108~ステップS110と同じである。以上のように本実施形態では、対象の画像を解析することで、特徴点位置候補決定処理の信頼度を予測し、その予測に基づいて射影次元を設定する。つまり、信頼度が低いと予想される場合、幾何学的補正処理の拘束力を強め、信頼度が高いと予想される場合、幾何学的補正処理の拘束力を弱める。これにより、対象とする様々な顔画像に応じて、適切な特徴点位置の決定が可能になる。その他の実施形態第1の実施形態では、前フレームの認識結果にしたがって動作モード通常モード追尾モードを選択する場合について説明したが、この様な場合に限るわけではない。例えば、対象とする画像中の顔の数によって高精度モードと高速モードを切り替える。ユーザーが所定のユーザーインターフェースを介して高精度モードと高速モードを設定する等様々なケースに適用可能である。例えばユーザーインターフェースを介して設定する場合、ステップS101はユーザーの指定する情報に基づいて動作モードを決定する。また、第2の実施形態では、対象とする顔画像に対する画像解析により特徴点位置候補の信頼度を予測する場合について説明したが、他の手法でもよい。例えば、ステップS901で得られる情報中間結果に基づいて信頼度を決定する等の方法でもよい。すなわち、実施形態で示すCNNにより特徴点の候補を決定する場合、CNNの出力値を利用して信頼度を判定することができる。CNNの出力値が高い場合対象とする特徴点の可能性が高いことから、全特徴点位置候補のCNN出力値の総和を基準にして信頼度を判定する等の手法で予測することが可能である。特徴点位置候補決定処理を単純なテンプレートマッチングで実現する場合であっても、同様に相関値の総和等を利用して判断することができる。また、前述した実施形態では、部分空間への射影ステップS803と逆射影ステップS804とをそれぞれ独立に処理する場合について説明したが、これは原理的な説明であり、統合して処理することも可能である。当該演算はそれぞれ線形なマトリクス演算であるため、射影演算と逆射影演算を統合する変換行列を予め生成して処理することができる。さらに、前述した実施形態では、画像中の顔画像から特定の人物を認識する場合について説明したが、本発明はこれに限るわけではない。特徴点の配置に基づいて所定の物体を認識或いは検出する様々な画像認識装置に利用することが可能である。更には、対象物体の姿勢や表情等の状態を認識する手法に適用することも可能である。また、前述した実施形態では、特徴点の位置として2次元座標上の位置の場合について説明したが、これに限るわけではなく、3次元データに基づいた処理の場合、3次元座標に適用してもよい。この場合、3つの座標値を連結して特徴ベクトルデータVを作成する。さらに、実施形態では画像認識装置に適用した場合について説明したが、これに限るわけではなく、決定した特徴点の座標を利用して画像を補整変形する装置等にも利用可能である。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。"