(57)【特許請求の範囲】
【請求項１】
対象物の画像に関わるデータを補正するデータ補正装置であって、
補正対象のデータを連結したベクトルデータを入力する入力手段と、
前記ベクトルデータを部分空間へ射影して次元削減された射影ベクトルを生成する次元削減処理と、前記射影ベクトルの次元を復元して次元復元されたベクトルデータを生成する次元復元処理とを実行することにより、複数の次元復元されたベクトルデータを前記画像における前記対象物の変動の種類毎に生成する生成手段と、
前記射影ベクトルに基づいて前記対象物の変動を判定する判定手段と、
前記判定手段の判定結果に基づいて前記複数の次元復元されたベクトルデータを統合して、補正後のデータとして出力する統合手段とを備えることを特徴とするデータ補正装置。
【請求項２】
前記生成手段は、変動の種類毎に用意された複数の射影行列を用いて前記ベクトルデータを部分空間へ射影することにより次元削減された複数の射影ベクトルを生成し、前記複数の射影行列を用いて前記複数の射影ベクトルのそれぞれの次元を復元することにより複数の次元復元されたベクトルデータを生成し、
前記判定手段は、前記複数の射影ベクトルに基づいて前記対象物の変動を判定することを特徴とする請求項１に記載のデータ補正装置。
【請求項３】
前記生成手段は、
複数種類の変動にわたるデータを学習することにより生成された第１の射影行列を用いて次元削減処理と次元復元処理を行い、次元削減された第１の射影ベクトルと第１の次元復元されたベクトルデータを生成し、
変動の種類ごとにデータを学習することにより生成された複数の第２の射影行列を用いて前記第１の次元復元されたベクトルデータについて次元削減処理と次元復元処理を行うことにより前記複数の次元復元されたベクトルデータを生成し、
前記判定手段は、前記第１の射影ベクトルに基づいて前記対象物の変動を判定することを特徴とする請求項１に記載のデータ補正装置。
【請求項４】
前記生成手段は、
複数種類の変動にわたるデータを学習することにより生成された第１の射影行列を用いて次元削減処理を行い次元削減された第１の射影ベクトルを生成し、
変動の種類毎にデータを学習することにより生成された複数の第２の射影行列を用いて前記第１の射影ベクトルから前記複数の次元復元されたベクトルデータを生成し、
前記判定手段は、前記第１の射影ベクトルに基づいて前記対象物の変動を判定することを特徴とする請求項３に記載のデータ補正装置。
【請求項５】
前記複数の第２の射影行列の各々は、前記第１の射影ベクトルを前記第１の射影行列を用いて次元復元する演算と、変動の種類毎にデータを学習して得られた射影行列による次元削減及び次元復元の演算とを合成した演算行列であることを特徴とする請求項４に記載のデータ補正装置。
【請求項６】
前記統合手段は、前記判定手段による判定結果に基づいて、前記複数の次元復元されたベクトルデータに対する重みを決定し、前記複数の次元復元されたベクトルデータの重み付き平均を算出することにより前記補正後のデータを得ることを特徴とする請求項１乃至５のいずれか１項に記載のデータ補正装置。
【請求項７】
前記対象物の画像に関わるデータとは、対象物の画像データから抽出された特徴点位置を示す特徴データであることを特徴とする請求項１乃至６のいずれか１項に記載のデータ補正装置。
【請求項８】
前記対象物の画像に関わるデータとは、前記対象物の画像データであることを特徴とする請求項１乃至６のいずれか１項に記載のデータ補正装置。
【請求項９】
請求項１乃至８のいずれか１項に記載のデータ補正装置と、
前記補正後のデータを用いて画像中の対象物を判別する判別手段と備えることを特徴とする画像判別装置。
【請求項１０】
対象物の画像に関わるデータを補正するデータ補正装置の制御方法であって、
入力手段が、補正対象のデータを連結したベクトルデータを入力する入力工程と、
生成手段が、前記ベクトルデータを部分空間へ射影して次元削減された射影ベクトルを生成する次元削減処理と、前記射影ベクトルの次元を復元して次元復元されたベクトルデータを生成する次元復元処理とを実行することにより、複数の次元復元されたベクトルデータを変動の種類毎に生成する生成工程と、
判定手段が、前記射影ベクトルに基づいて前記対象物の変動を判定する判定工程と、
統合手段が、前記判定工程の判定結果に基づいて前記複数の次元復元されたベクトルデータを統合して、補正後のデータとして出力する統合工程とを有することを特徴とするデータ補正装置の制御方法。
【請求項１１】
コンピュータを請求項１乃至９のいずれか１項に記載された装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像の認識等に用いられる特徴点の位置や画像データ等を補正するデータ補正方法及び装置に関する。
【背景技術】
【０００２】
画像データを用いた顔認識等に於いて、顔器官或いはそれに準ずる特徴的な部位（以下特徴点とする）の位置決定は重要なタスクであり、認識性能を律する事が多い。決定した特徴点の位置は、認識対象画像の大きさ・回転の正規化や対象画像から認識に必要な部分領域を抽出する際の基準点等に利用される。識別判定に好適な特徴量を算出するためには正確な特徴点の位置決定が望まれる。
【０００３】
特許文献１ではグラフマッチングによる顔の検出に関する技術が記載されている。特許文献１によれば、顔の向きに対応する複数の弾性バンチグラフと呼ばれる拘束条件を用意して顔検出を実行し、最良の弾性バンチグラフにより得られた検出結果から顔の向きや特徴点の位置を決定している。非特許文献１では複数の特徴点位置座標データを次元削減した部分空間に射影し、当該部分空間上で特徴点の位置を探索する手法が記載されている。特許文献２では顔の器官位置から経験的に求めた算術式に基づいて顔の向きを判定する手法が記載されている。
【０００４】
また、非特許文献２では、特徴点の各座標値を入力ベクトルとし、部分空間を利用して特徴点の位置を補正する手法が記載されている。この手法の概要について説明する。まず、特徴点位置候補決定処理により、図１６の（ａ）に示すような特徴点の位置を識別する。図１６の（ａ）は特徴点の位置の例であり、“×”で示す１４個の特徴点（これを特徴点のセットと定義する）を決定する場合の例を示している。例えば、図１６の（ａ）における特徴点１６０１は向かって左目の目尻に対応する特徴点である。次に、部分空間射影処理により、上記決定処理で決定した各特徴点の座標値を入力ベクトルとして、これを部分空間に射影する。図１６の（ａ）のように特徴点の数が１４個の場合、２８次元のベクトル（１４個の水平方向座標値及び１４個の垂直方向座標値を要素とするベクトル）が入力データとなる。部分空間への射影は、予め複数の学習用特徴点位置データを用いて主成分分析等により作成した射影行列を用いて行われる。
【０００５】
次に、次元圧縮処理において、主成分析により得られた固有値の小さい射影行列に対応する射影値を削除することで次元を削減する。例えば、２８次元の射影ベクトルを数次元に削減する。次に、部分空間逆射影処理において、次元が削減された射影ベクトルと射影行列とを用いて部分空間上に射影した入力ベクトルを実空間のベクトルに逆射影する。以上の処理により、学習用のデータセットを用いて生成した部分空間で表現できない外れ値を有する入力ベクトルが投入された場合でも、当該部分空間で表現可能なベクトルに補正される。即ち、部分空間を利用した統計的な幾何拘束条件に基づいて入力ベクトルが補正される。
【０００６】
図１６の（ｂ）は特徴点位置候補決定処理で誤って特徴点が抽出された例を示している。特徴点１６０２が誤って決定された特徴点であり、眉毛端を誤って目尻と判定した例である。図１６の（ｂ）に示す特徴点位置からなる入力ベクトルに、上述の部分空間射影処理、次元削減処理、部分空間逆射影処理を実行すると、特徴点１６０２は部分空間で表現可能な位置に補正される。図１６の（ｃ）は部分空間逆射影処理後の特徴点位置の例を示す図であり、特徴点１６０２が特徴点１６０３に補正される様子を示している。
【０００７】
続いて、距離算出処理において、特徴点位置候補決定処理の出力である特徴点候補の座標と、部分空間射影処理〜部分空間逆射影処理により補正された特徴点座標との距離を特徴点毎に算出する。図１６の（ｂ）、（ｃ）に示す例の場合、特徴点１６０２と特徴点１７０３との間の画像座標上のユークリッド距離を算出する。次に選択処理において、距離算出処理で算出した特徴点の距離を閾値と比較して、上記補正前の特徴点と補正後の特徴点のどちらかの座標を特徴点毎に選択する。ここでは、特徴点間の距離が所定の閾値を超える場合に補正後の座標値が選択され、閾値以下の場合は補正前の座標が選択される。以上説明した処理は特徴点毎に繰り返される。また、選択処理の結果として得られた特徴点のセットを入力ベクトルとして部分空間射影処理〜選択処理を再実行することを複数回繰り返す事で適正な特徴点の位置を決定する。
【０００８】
更に、非特許文献３では非特許文献２と同様の考え方を画像データを対象として処理し画像データを適切に補正する技術が記載されている。ここでは画像データそのものを低次元の部分空間に射影することで欠損データの補間を統計的に行う方法が記載されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特表２００２−５１１６１７号公報
【特許文献２】特開２００８−１８６２４７号公報
【非特許文献】
【００１０】
【非特許文献１】R. Senaratne； S. Halgamuge. ”Optimized Landmark Model Matching for Face Recognition. ”Automatic Face and Gesture Recognition, 2006. FGR 2006. 7thInternational Conference、・pp. 120-125
【非特許文献２】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
【非特許文献３】天野  敏之, 佐藤  幸男, “固有空間法を用いたBPLPによる画像補間”電子情報通信学会論文誌Vol.J85-D2 No.3 pp.457-465
【発明の概要】
【発明が解決しようとする課題】
【００１１】
特許文献１に記載されている手法は最終的に顔が検出されるまで、顔の向き毎に弾性バンチグラフの変形と特徴量の一致度を繰り返し処理で演算するため計算量が多い。また、非特許文献１は部分空間上でParticle Swarm Optimization手法を利用して特徴点の位置を探索する事により、特許文献１で記載されている手法に比べて少ない演算量で高精度な特徴点の位置決めを実現している。しかしながら、当該手法も器官位置候補の決定と対応する位置での特徴量の抽出を繰り返し処理する必要があるため計算量が多い。また大きな顔の変動に対する対応は考慮されていない。特許文献に２では器官位置の配置関係から経験的に得られるルールに基づいて顔の向きを判定する手法が記載されている。当該技術を応用して器官位置の配置関係から候補として検出された器官位置のエラーを判定し補正する事も可能であるが、ルールベースの判定処理では様々な変動に対する最良のルールを設定する事が困難である。
【００１２】
非特許文献２で記載されている部分空間を利用した幾何学的な補正処理は、少ない演算量で適切な幾何学的拘束処理が可能であり、有効な手法であるが、顔の向き・表情等に大きな変動がある場合について考慮されていない。変動に対応するため、部分空間の学習データに大きな変動を有するデータ群を加えた場合、補正能力が低下する。同様に、非特許文献３においても対象とする画像に大きな変動が有る場合についての考慮はなされていない。
【００１３】
本発明は上述の課題に鑑みてなされたものであり、対象物体が大きな変動を有する場合であっても特徴点の位置や画像データを適切に補正するデータ補正装置及び方法を提供することを目的とする
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明は以下の構成を有する事を特徴とする。すなわち、
対象物の画像に関わるデータを補正するデータ補正装置であって、
補正対象のデータを連結したベクトルデータを入力する入力手段と、
前記ベクトルデータを部分空間へ射影して次元削減された射影ベクトルを生成する次元削減処理と、前記射影ベクトルの次元を復元して次元復元されたベクトルデータを生成する次元復元処理とを実行することにより、複数の次元復元されたベクトルデータを前記画像における前記対象物の変動の種類毎に生成する生成手段と、
前記射影ベクトルに基づいて前記対象物の変動を判定する判定手段と、
前記判定手段の判定結果に基づいて前記複数の次元復元されたベクトルデータを統合して、補正後のデータとして出力する統合手段とを備える。
【発明の効果】
【００１５】
本発明によれば、対象物体に大きな変動が有る場合であっても、簡単な処理で特徴点の位置や画像データを適切に補正する事ができる。
【図面の簡単な説明】
【００１６】
【図１】第１実施形態による位置補正処理を説明するフロー図。
【図２】第１〜第５実施形態の画像処理装置の構成例を示すブロック図。
【図３】顔画像の切り出しを説明する図。
【図４】信頼度マップの生成処理を説明する図。
【図５】特徴データと特徴ベクトルの関係を説明する図。
【図６】第１及び第２重心探索処理を説明する図。
【図７】第１実施形態の変動判定処理と統合処理を説明するフロー図。
【図８】第２実施形態による位置補正処理を説明するフロー図。
【図９】第２実施形態の変動判定処理と統合処理を説明するフロー図。
【図１０】第３実施形態による位置補正処理を説明するフロー図。
【図１１】第３実施形態における逆射影行列の生成を説明する図。
【図１２】第４実施形態による位置補正処理を説明するフロー図。
【図１３】第４実施形態における識別処理を説明するフロー図。
【図１４】第４実施形態における領域切り出し処理を説明する図。
【図１５】第５実施形態による画像補正処理を説明するフロー図。
【図１６】顔画像からの特徴点の検出を説明する図。
【発明を実施するための形態】
【００１７】
以下、添付の図面を参照して、本発明の好適な実施形態を説明する。
【００１８】
［第１実施形態］
第１実施形態による画像処理（データ補正処理）を実行可能な画像処理装置の構成を、図２のブロック図に示す。本実施形態の画像処理装置は顔画像中の複数の特徴点位置（ここでは顔の各器官に関連する特徴の位置）を決定する機能を有する。
【００１９】
画像入力部２０１は、光学系、光電変換デバイス及びそれらを制御するドライバー回路／ADコンバーター／各種画像補正を司る信号処理回路／フレームバッファ等により構成される。光電変換デバイスとしては、CCD（Charge-CoupledDevices）又はCMOS（Complimentary Metal Oxide Semiconductor）センサ等が挙げられる。前処理部２０２は、後段の各種処理を効果的に行うために各種前処理を実行する。具体的には、前処理部２０２は、画像入力部２０１で取得した画像データに対して色変換処理／コントラスト補正処理等の画像データ変換をハードウェアで処理する。顔画像データ切り出し処理部２０３は前処理部２０２で補正した画像データに対して顔検出処理を実行する。顔検出の手法は従来より提案されている様々な手法を適用可能である。更に顔画像データ切り出し処理部２０３は検出された顔毎に顔画像データを所定のサイズに正規化して切り出す。ここでは、顔検出の結果を利用して大きさ及び面内回転を正規化した画像データを生成する。
【００２０】
図３は顔画像データの切り出し処理例を説明する図である。前処理部２０２で補正された画像データ３０１から顔領域３０２を判定し、予め定められたサイズに正規化した顔画像データ３０３を切り出す。顔画像データ３０３の大きさは、正規化により一定となる。以後、特徴点の位置とは顔画像データ３０３の画像面内の特徴点の座標と定義する。また、その座標は、顔画像データ３０３の画像面の左上端を原点とする座標系（ｘ座標、ｙ座標）で表現するものとする。
【００２１】
特徴位置信頼度算出処理部２０４は特徴点の存在の確からしさを示す情報である信頼度マップを算出する処理部である。特徴位置信頼度算出処理部２０４の詳細は後述する。ＤＭＡＣ２０６は画像バス２１１上の各処理部間及び画像バス２１１上のデバイスとＣＰＵバス２０７上のＲＡＭ２１０／ＲＯＭ２０９間のデータ転送等を司る。なお、ＤＭＡＣはDirect Memory Access Controller、ＲＡＭはRandom Access Memory、ＲＯＭはRead Only Memoryである。ブリッジ２０５は、画像バス２１１とＣＰＵバス２０７間のバスブリッジ機能を提供する。ＣＰＵ２０８は、本実施形態に係る主要な処理を実行すると共に本装置全体の動作を制御する。後述する各動作は、ＲＯＭ２０９等のコンピュータ読み取り可能な記憶媒体に格納されたコンピュータプログラムをコンピュータ（ＣＰＵ２０８）が実行することにより実行される。ＲＯＭ２０９は、ＣＰＵ２０８の動作を規定する命令を格納する。ＲＡＭ２１０はＣＰＵ２０８の動作に必要な作業メモリである。ＲＡＭ２１０は、ＤＲＡＭ（DynamicRAM）等を用いて比較的容量の大きいメモリとして構成される。ＣＰＵ２０８（Central Processing Unit）はブリッジ２０５を介して画像バス２１１上の各種処理部にアクセスできる。画像バス２１１とＣＰＵバス２０７を分離する事で、ハードウェアによる各処理部（２０１、２０２、２０３、２０４）とＣＰＵ２０８は同時に動作することが可能である。
【００２２】
以上のような構成を備えた第１実施形態の画像処理装置による画像処理（データ補正処理）について、図１のフロー図を用いて説明する。図中ステップＳ１０１〜Ｓ１０７はＣＰＵ２０８が処理するステップを示す。特徴位置信頼度算出処理１０において、顔画像データ切り出し処理部２０３は、顔検出結果に基づいて所定のサイズに正規化した顔画像データを図示しない内蔵ＲＡＭに格納する。格納された顔画像データはＤＭＡＣ２０６を介して特徴位置信頼度算出処理部２０４の図示しないＲＡＭに転送される。特徴位置信頼度算出処理部２０４は当該ＲＡＭに格納された画像データに対して、特徴点位置候補の存在の確からしさである信頼度を示す信頼度画像の算出を開始する。ここで生成される信頼度画像を特徴位置信頼度マップ１１（以下、信頼度マップとも言う）と定義する。信頼度を算出するための手法は従来より提案されている様々な手法を適用する事ができる。最も簡単には、対応する特徴点の特徴を表現するテンプレートを学習により生成し、テンプレートと対象位置の画像の一致度を信頼度とする。
【００２３】
図４は信頼度マップの生成の様子を模式的に説明する図である。４０２はテンプレートマッチングのためのテンプレートであり、４０３はテンプレートマッチングを実行する範囲を示す。テンプレート４０２を所定の範囲４０３内でスキャンし、対象位置におけるテンプレートの一致度を記録する事で信頼度マップ４０４を生成する。即ち、信頼度マップとは、画像データの代わりに信頼度が記録されたバッファメモリである。所定の範囲４０３には個人差・表情・向き・顔画像データ切り出し処理部２０３の正規化誤差等を考慮して検出対象とする端点を含む十分な広い領域を設定する。
【００２４】
４０４は信頼度マップの例を模式的に示しており、信頼度マップ１１に対応する。４０５、４０６は検出対象とする特徴点位置の信頼度が高い（この場合、テンプレートに一致度が高い）位置を示す。図４では、向かって左目尻の端点を検出するテンプレート４０２とのマッチングの結果を示している。また、４０６は対象とする端点、４０５は眉毛左端に生じる誤検出に相当するもとのする。特徴位置信頼度算出処理部２０４は特徴点毎に信頼度マップを生成する。したがって、例えば、図１６の（ａ）に示す１４個の特徴点を決定する場合、１４種類の特徴点検出テンプレートを使用して、１４枚の信頼度マップ１１が生成される。なお、信頼度マップ１１はスキャン範囲４０３の領域のみをメモリに保持する方法でも良い。また、ここではテンプレートマッチングにより信頼度を算出する手法について説明したが、ニューラルネットによる方法、カスケード型フィルタによる方法等、従来より提案されている様々なパターン識別手法を利用可能である。
【００２５】
生成した信頼度マップ１１はＤＭＡＣ２０６を介してＲＡＭ２１０に転送される。ＣＰＵ２０８は当該転送が終了すると特徴点位置決定のための動作（ステップＳ１０１〜ステップＳ１０７）を開始する。以後、ＣＰＵ２０８はＲＡＭ２１０に格納した信頼度マップ１１を参照して処理を継続する。第１重心探索処理（Ｓ１０１）は、特徴点毎に特徴位置信頼度マップ１１の探索領域４０３内の特徴点位置信頼度値の重心を算出する。ここで得られた重心値を特徴点位置候補座標とする。重心の探索は各特徴点毎に行われる。重心探索の手法は一般的に知られている手法を適用して良い。また、重心の代わりに最大値を利用する等の他の手法でも良い。ＣＰＵ２０８は算出した重心位置座標をＲＡＭ２１０に記録する。
【００２６】
次に、ここで得られた特徴点位置候補座標をより適切な値に補正するための特徴点位置補正処理１２を説明する。本実施形態では顔の向き毎に幾何学的補正処理である特徴点位置補正１４ａ、１４ｂ、１４ｃを用意し、顔向きに関する変動判定処理（Ｓ１０５）の結果に従って各補正結果を統合（Ｓ１０６）する。複数種類の変動（例えば、正面向き、右向き、左向きの３つの変動）に対応する補正処理を統合する。特徴点位置補正処理１４ａ、１４ｂ、１４ｃは部分空間を利用した補正処理部であり、それぞれ正面向き、右向き、左向きの特徴点配置に特化した補正処理である。即ち、射影行列ａ、ｂ、ｃ（１３ａ〜１３ｃ）はそれぞれ正面向き・右向き・左向きの多数の学習用特徴点ベクトルを使用して主成分分析により算出した射影行列である（平均ベクトルも含む）。学習用特徴点ベクトルは正解座標の特徴点から得られる特徴点ベクトルである。尚、以降の説明では広義の射影行列を狭義の射影行列と平均ベクトルを用いて説明する。
【００２７】
先ず特徴点ベクトル取得処理（Ｓ１０２）で重心探索結果である各特徴点の座標データをＲＡＭ２１０から取り出し、特徴点ベクトルデータを生成する。図５は各特徴点の位置座標データ５０１（（xi, yi）  i：１〜１４）と、ここで取り出す特徴点ベクトル５０２（ベクトルＶ（要素vj：j=１〜２８））の関係を説明する図である。iは特徴点の数でありここでは１４である。従って、特徴点ベクトルはi×2の２８次元となる。個のように、補正対象のデータを連結することでベクトル化され、ベクトルデータが生成される。例えば、特徴点ベクトルの要素v1、v2はそれぞれ第１番目の特徴点のｘ座標値、ｙ座標値に対応する。特徴点ベクトルVは（１）式で定義される。なお、以降Tは転置を示す。
V = (v1，v2，v3，‥，v2×ｆ )T      …(1)
ｆ：特徴点の数
【００２８】
次元削減処理（Ｓ１０３ａ）では射影行列ａ（平均ベクトルも含む）（１３ａ）を用いて射影ベクトルを生成する。射影ベクトルＰaは、特徴点ベクトルVから射影行列生成時に生成した平均ベクトルＡa（２８次元のベクトル）を減じたベクトルと射影行列Ｅaを使用して（２）式により算出する。なお、射影行列Ｅa及び平均ベクトルＡaは、正面向きの顔に対応する多数の学習用特徴点ベクトルを用いて、主成分分析により算出した行列である。
Ｐa＝ＥaT(V−Aa)      …(２)
Ａa＝(Aa,1,Aa,2, Aa,3, ‥, Aa,2×f)T      …(３)
Ｅa＝(ua,1,ua,2,‥, ua,p)                 …(４)
【００２９】
ua,1, ua,2,‥, ua,pは主成分分析によって得られたそれぞれ2×f次元の正規直交ベクトルである。当該実施形態の場合それぞれ２８次元のベクトルとなる。ここで、pは射影ベクトルの次元であり当該実施形態では６とする。即ち主成分分析によって得られる直交ベクトルの内、対応する固有値が大きい６個のベクトルを選択した行列が射影行列Ｅaである。射影行列Ｅa及び平均ベクトルＡaはＲＯＭ２０９或いはＲＡＭ２１０等に予め格納されているものとする。
【００３０】
以上のように、次元削減処理（Ｓ１０３ａ）では、式（２）の演算により、2×f次元の特徴点ベクトルをp次元の射影ベクトルに次元削減する。この次元削減処理（Ｓ６０３ａ）により特徴点ベクトルは正面顔を表現する部分空間に射影される事になる。ＣＰＵ２０８は算出した射影ベクトルをＲＡＭ２１０に格納する。
【００３１】
次に、次元復元処理（Ｓ１０４ａ）では、射影ベクトルＰaから元の特徴点ベクトル次元のデータ（即ち座標位置）を復元する。復元ベクトルＶa’は上述の射影行列Ｅaと平均ベクトルＡaを用いて（６）式により算出する。
Ｖa’＝ＥaＰa + Ａa      …（６）
逆射影した復元ベクトルＶa’は図５に示す特徴点ベクトル５０２の形式のデータであるため、特徴点ベクトル取得処理（Ｓ１０２）で取得したベクトルデータと同様に座標データ列５０１に対応付ける事が可能である。
【００３２】
同様にＳ１０３ｂ〜Ｓ１０４ｂでは右向きの顔に対応する複数の学習用特徴点ベクトルから算出した射影行列ｂ（１３ｂ）（射影行列Ｅb及び平均ベクトルＡb）を使用して部分空間への射影（式（２）に相当）と逆射影（式（６）に相当）を実行する。当該処理により右向き顔に対応する幾何学的な補正処理結果Ｖb’が得られる。同様に、Ｓ１０３ｃ〜Ｓ１０４ｃでは左向きの顔に対応する複数の学習用特徴点ベクトルから算出した射影行列ｃ（１３ｃ）（射影行列Ｅｃ及び平均ベクトルＡｃ）を使用して部分空間への射影（式（２）に相当）と逆射影（式（６）に相当）を実行する。当該処理により左向き顔に対応する幾何学的な補正処理結果Ｖc’が得られる。以上のようにして、対象物の変動の種類毎の、複数の次元復元されたベクトルデータが取得される。
【００３３】
変動判定処理（Ｓ１０５）では射影ベクトルから顔向きの変動を推定する。ここでは次元削減処理（Ｓ１０３ａ〜Ｓ１０３ｃ）で算出した射影ベクトルＰa，Ｐb，Ｐcを使用して変動を推定する。即ちＰa，Ｐb，Ｐcの各要素を入力データとして予め学習により構築した識別器で判別を行う。変動の判定はＳＶＭ（Support Vector Machine）により学習した識別器で処理する。識別器は、予め顔の向きに対応する多数の特徴点ベクトルデータを用いて生成した射影ベクトルを教師データとして学習する。例えば、射影行列ａ〜ｃ（１３ａ〜１３ｃ）の生成に使用した学習用特徴点ベクトルデータを教師データとして利用しても良い。当該識別処理は次元圧縮された射影ベクトルに対して処理するため、少ない演算量で識別処理を実現できる。
【００３４】
次に、図７を用いて、変動判定処理（Ｓ１０５）と統合処理（Ｓ１０６）を説明する。７０１は変動判定処理（Ｓ１０５）を示す。Ｓ７０１〜Ｓ７０３はＳＶＭ識別演算処理であり、射影ベクトルＰa，Ｐb，Ｐcを単純に連結したベクトルＤに対して識別処理演算を実行する。すなわち、Ｓ７０１〜Ｓ７０３において、ＣＰＵ２０８は削減処理（Ｓ１０３ａ〜Ｓ１０３ｃ）でＲＡＭ２１０に格納した射影ベクトルを読み出して下記（７）式に示すＳＶＭ演算を実行する。
判別結果ｎ ＝ sign(ＷｎＴＤ− h) （７）
ＷｎＴ ＝ (ｗn,1，ｗn,2，‥，ｗn,p×3)
ｈ：閾値
ｎ：１〜３（ＳＶＭ識別器１〜３に対応）
sign：符号判定器
【００３５】
式（７）は線形のＳＶＭでありＷnが予めＳＶＭにより学習された重み係数である。当該係数は射影ベクトルの「次元数×変動の数」個の要素の係数を有する重み係数ベクトルである。Ｗ1は正面向きか右向きかを判定するための重み係数である。同様にＷ2は右向きか左向きかを判定する重み係数、Ｗ3は左向きか正面かを判定する重み係数である。Ｓ７０１では、Ｗ1を使用して正面向き（ａ）か右向き（ｂ）かの判定を行う。同様に、Ｓ７０２、Ｓ７０３ではそれぞれＷ2、Ｗ3を使用して、右向き（ｂ）か左向き（ｃ）か、左向き（ｃ）か正面か（ａ）の判定を行う。そして、多数決処理（Ｓ７０４）ではＳＶＭ識別演算処理（Ｓ７０１〜Ｓ７０３）の結果から最終的な顔の向きを決定する。なお、変動判定処理（Ｓ１０５）は当該実施形態で説明した方法に限るわけではなく、ＳＶＭ以外の他の識別方法を適用可能である。
【００３６】
７０２は統合処理（Ｓ１０６）を示す。統合処理では、多数決処理（Ｓ７０４）の結果に従って対応する補正後特徴点ベクトルａ〜ｃを選択する。即ち、変動判定処理（Ｓ１０５）で右向きと判定された場合、右向きの逆射影処理、すなわち次元復元処理Ｓ１０４ｂ、の結果を選択する。このように、変動の判定結果に基づいて逆射影結果を統合するので、入力された画像に応じて効率的に且つ適切に統合することができる。
【００３７】
なお、ここでは統合処理（Ｓ１０６）が逆射影結果の一つを選択する場合について説明したが他の方法でも良い。例えばＳＶＭ識別処理（Ｓ７０１〜Ｓ７０３）が判定信頼度を出力する場合、当該信頼度をそれぞれC1〜C３として以下の演算式により最終的な補正後特徴点ベクトルPresult得る等の手法でも良い。
Presult = (C1×Pa+ C2×Pb+ C3×Pc）／（C1+ C2 + C3）     …（８）
即ち信頼度を利用して複数の次元復元結果の重み付き平均手法により最終的な幾何学的補正結果を生成するようにしてもよい。
【００３８】
図１に戻り、第２重心探索処理（Ｓ１０７）では、ＣＰＵ２０８は、得られた幾何学的補正位置座標データに基づいて特徴点位置を再探索する。信頼度マップに対する特徴点位置の探索の例を図６を参照して説明する。図６において、６０１はある特徴点に対する信頼度マップを示す。６０４は第１重心探索処理（Ｓ１０１）における探査範囲の例を示す。第１重心探索処理の探索領域は、個人差や顔の変動等に対応するために、広い領域が設定される。６０３は対象とする特徴に対する信頼度の分布を示し、６０２は誤検出による信頼度の分布を示す。探査範囲６０４で重心を取った場合、特徴点の候補は６０５に示す様に本来の値から外れた座標となる。６０６は幾何学的補正後（統合処理（Ｓ１０６）の出力）の候補点座標位置を示す。第２重心探索処理（Ｓ１０７）では、この補正後の候補点座標位置６０６を中心として６０７に示す狭い範囲で領域内の重心を算出する。この場合、誤検出領域６０２が探索領域から外れる事になり、最終的な器官位置は６０８に示す本来の位置に判定される。
【００３９】
以上のように、第１実施形態によれば、変動毎に用意した部分空間を選択的・統合的に利用する事で、多様な変動を有する場合であっても、幾何学的な配置関係に基づく特徴点位置の補正を実現する事ができる。また、部分空間への射影ベクトルを変動の推定に利用する事で少ない計算量で、効率的且つ効果的に対象物体の変動を推定する事ができる。
【００４０】
［第２実施形態］
以下、第２実施形態について図８、図９を用いて説明する。第２実施形態の画像処理装置の構成は第１実施形態（図２）と同様であり、顔画像中の複数の特徴点位置を決定する機能を提供する。また、図８において第１実施形態（図１）と同様の構成には同一の参照番号を付してある。以下、第２実施形態について第１実施形態との差異を主として説明する。特徴点位置補正処理部８２は第２実施形態による特徴点位置補正処理を実行し、第１重心探索処理（Ｓ１０１）において算出された各特徴点位置候補を補正する。ステップＳ１０１、Ｓ１０２、Ｓ８０３〜Ｓ８０６、Ｓ１０７は全てＣＰＵ２０８が処理する。
【００４１】
本実施形態の特徴点位置補正処理部８２では、先ず、全ての変動を含む部分空間（以下共通部分空間と定義する）への射影に基づく特徴点位置補正処理８４ｄを実行する。次に、その結果に対して変動毎の部分空間への射影に基づく特徴点位置補正処理８４ａ〜８４ｃが実行され、統合処理（Ｓ８０６）によりその結果が統合される。更に、共通部分空間への射影に基づく特徴点位置補正処理８４ｄの演算時に得られる射影ベクトルを用いて変動判定処理（Ｓ８０５）が行われる。統合処理（Ｓ８０６）は、変動判定処理（Ｓ８０５）の判定結果を利用して特徴点位置補正処理８４ａ〜８４ｃの結果を統合処理する。以下、各ステップについて詳細に説明する。
【００４２】
特徴点ベクトル取得処理（Ｓ１０２）において、ＣＰＵ２０８はＲＡＭ２１０に格納した各特徴点の位置座標データを特徴点ベクトルとして取り出す。特徴点ベクトルの構造は第１実施形態と同じである。第１の次元削減処理（Ｓ８０３ｄ）において、ＣＰＵ２０８は、特徴点ベクトルＶに対して射影行列Ｅd及び平均ベクトルＡdを含む第１の射影行列８３ｄを用いて下記の式（９）に示す演算により第１の射影ベクトルＰdを算出する。なお、射影行列Ｅd及び平均ベクトルＡdは、対象とする全ての変動を含む多数の学習用特徴点ベクトルを用いて、予め主成分分析により算出しておく。射影行列の生成手法は学習用特徴点データが異なるだけで、第１実施形態と同じである。ここでは正面・右向き・左向きの変動を含む多数の学習用特徴点位置座標データを使用する。
Ｐd ＝ EdT(V−Ad)      …(９)
Ａd ＝ (Ad,1,Ad,2, Ad,3, ‥, Ad,2×f)T      …（１０） 
Ｅd ＝ (ud,1,ud,2,‥, ud,p)            …（１１）
ud,1, ud,2,‥, ud,pは主成分分析によって得られたそれぞれ2×f次元の正規直交ベクトルである。当該実施形態の場合それぞれ２８次元ベクトルとなる。pは射影ベクトルＰdの次元であり当該実施形態では６とする。主成分分析によって得られる正規直交ベクトルの選択法も第１実施形態と同じである。射影行列Ｅd及び平均ベクトルＡdはＲＯＭ２０９或いはＲＡＭ２１０に予め格納されているものとする。ＣＰＵ２０８は（９）式の演算結果をＲＡＭ２１０に格納する。
【００４３】
次に、上記第１の射影ベクトルを次元復元する第１の次元復元処理（Ｓ８０４ｄ）において、ＣＰＵ２０８は、射影行列Ｅd及び平均ベクトルＡdを用いて式（１２）に示す次元復元処理を実行する。
Ｖd’＝ＥdＰd + Ａd      …（１２）
以上の次元削減処理（Ｓ８０３ｄ）と次元復元処理（ステップＳ８０４ｄ）により共通部分空間への射影に基づく補正後特徴点ベクトルが生成される。ここでの補正処理により大きな外れ値を除去し、後段の特徴点位置補正処理（８４ａ〜８４ｃ）の安定度を高める事ができる。
【００４４】
特徴点位置補正処理ａ〜ｃ（８４ａ〜８４ｃ）は図１の特徴点位置補正処理ａ〜ｃ（１４ａ〜１４ｃ）と等価であり、それぞれ正面顔、右顔、左顔に特化した特徴点の位置補正を実行する。次元削減処理（Ｓ８０３ａ〜Ｓ８０３ｃ）では次元復元処理（Ｓ８０４ｄ）で生成した補正後の特徴点ベクトルデータに対して第２の射影行列８３ａ〜８３ｃを用いて次元削減処理を実行する。ここでは、ＣＰＵ２０８は、射影行列Ｅa〜Ｅc及び平均ベクトルＡa〜Ａcを有する射影行列８３ａ〜８３ｃを用いて式（９）と同等の演算により射影ベクトルＰa〜Ｐcを算出する。射影行列Ｅa、Ｅb、Ｅcはそれぞれ正面顔、右顔、左顔に対応する学習用特徴点ベクトルを用いて主成分分析により生成したベクトルである。また、平均ベクトルＡa，Ａb，Ａcはそれぞれ正面顔、右顔、左顔に対応する特徴点ベクトルを用いて生成したベクトルである。次元復元処理（Ｓ８０４ａ〜Ｓ８０４ｃ）では、第１実施形態の次元復元処理（Ｓ１０４ａ〜Ｓ１０４ｃ）と同様に、射影ベクトルＰa，Ｐb，Ｐcのそれぞれから元の特徴点ベクトル次元のデータ（即ち座標位置）を復元する。こうして、対象物の変動の種類毎の、複数の次元復元されたベクトルデータが取得される。
【００４５】
変動判定処理（Ｓ８０５）においてＣＰＵ２０８は、次元削減処理（Ｓ８０３ｄ）の結果である射影ベクトルＰdをＲＡＭ２１０から読み出し、対象とする顔の変動を推定する。第２実施形態による変動判定処理（Ｓ８０５）と統合処理（Ｓ８０６）について、図９を参照して説明する。９０１は変動判定処理（Ｓ８０５）の処理内容を示している。Ｓ９０１〜Ｓ９０３はＳＶＭ識別演算処理であり、射影ベクトルＰdに対して変動判定演算を実行する。尚、Ｓ９０１〜Ｓ９０５もＣＰＵ２０８の動作を示す。Ｓ９０１〜Ｓ９０３では下記の（１３）式に示すＳＶＭ演算を実行する。
判別結果ｎ ＝ sign(ＷnTＰd−h)      …（１３）
ＷnＴ  =  (ｗn,1，ｗn,2，‥，ｗn,p)
ｈ：閾値
ｎ：１〜３（ＳＶＭ識別器１〜３に対応）
【００４６】
式（１３）は線形のＳＶＭでありＷnは予めＳＶＭにより学習された重み係数である。本実施形態では、Ｗnは射影ベクトルの次元数の要素の係数を有する重み係数ベクトルである。Ｗ1は正面向きか右向きかを判定するための重み係数である。同様にＷ2は右向きか左向きかを判定する重み係数、Ｗ3は左向きか正面かを判定する重み係数である。Ｓ９０１〜Ｓ９０３ではそれぞれＷ１〜Ｗ３を使用して判定が行われる。多数決処理（Ｓ９０４）ではＳＶＭ識別演算処理（Ｓ９０１〜Ｓ９０３）の各判定結果から顔の向きを決定する。なお、変動判定処理（Ｓ８０５）は上記実施形態で説明した方法に限られるわけではなく、ＳＶＭ以外の他の識別方法を適用可能である。
【００４７】
９０２は統合処理（Ｓ８０６）の内容を示しており、選択処理（Ｓ９０５）が、変動の判定結果に従って対応する変動の補正後特徴点ベクトルを選択する。ＣＰＵ２０８は統合結果である最終的な特徴点ベクトルデータから特徴点位置座標データを得てＲＡＭ２１０に記録する。第２重心探索処理（Ｓ１０７）は第１実施形態と同様に、統合結果によって制限された領域内の重心探索を実行し、最終的な特徴点位置を確定する。
【００４８】
以上、第２実施形態で示した様に、統合処理（Ｓ８０６）で特徴点位置補正ａ〜ｃの結果を選択する場合、必要な特徴点位置補正処理だけ（すなわち特徴点位置補正処理８４ａ〜８４ｃの何れか）を実行すれば良い。又、第１実施形態で示したように、変動判定処理（Ｓ８０５）におけるＳＶＭ識別演算処理（Ｓ９０１〜Ｓ９０３）で判定信頼度を出力して各補正結果に重み付けをして統合する様な方法でも良い。
【００４９】
以上のように、第２実施形態によれば、全ての変動を含む部分空間（共通部分空間）への射影ベクトルＰｄを取り出す事が可能になる。これにより、少ない次元数のデータから変動を推定する事が可能になり変動判定の演算量を削減する事ができる。これは、複雑な変動判定手法を適用する場合や変動の種類が多い場合に特に有効である。また、特徴点位置の補正が階層的に処理されることになるので、より安定した補正処理を実現する事が可能になる。
【００５０】
［第３実施形態］
以下、第３実施形態による画像処理装置について図１０、図１１を用いて説明する。第３実施形態の画像処理装置も第１実施形態と同様の構成（図２）を有し、顔画像中の複数の特徴点位置を決定する機能を提供する。以下、第１実施形態との差異を中心に説明する。
【００５１】
第３実施形態の画像処理装置による画像処理について図１０を用いて説明する。図１０において第１実施形態（図１）と同様の構成には、第１実施形態と同一の参照番号を付してある。以下、第３実施形態による特徴点位置補正処理１００２を説明する。本実施形態では、先ず、全ての変動を含む部分空間（共通部分空間）への射影ベクトルを算出する。その結果である射影ベクトルから変動毎に生成した逆射影ベクトルを用いて補正後の特徴点ベクトルを生成する。また、射影ベクトルから変動の判定を行い当該結果を利用して変動毎の補正後特徴点ベクトルを統合処理する。以降、詳細な動作について説明する。なお、以下に説明する各処理はＣＰＵ２０８が実行する処理である。
【００５２】
第１重心探索処理（Ｓ１０１）では、第１実施形態と同様にＲＡＭ２１０に格納する特徴毎の特徴位置信頼度マップ１１を参照して特徴点位置の候補を探索し結果をＲＡＭ２１０に格納する。ＲＡＭ２１０に格納した複数の特徴点候補座標データから特徴点ベクトルを取得する（Ｓ１０２）。特徴点座標データと特徴点ベクトルとの関係は第１実施形態で示した例と同一である。次元削減処理（Ｓ１００３）では全ての変動を含む複数の特徴点ベクトルから生成した射影行列Ｅdを使用して次元削減処理を実行する。ここでの射影行列Ｅdは第２実施形態で示した共通部分空間への射影行列と同一である。即ち、射影行列Ｅdは対象とする全ての変動を含む多量の学習用特徴点ベクトルから主成分分析により予め算出したものである。次元削減処理（Ｓ１００３）は、射影行列１００３ｄ（射影行列Ｅd及び平均ベクトルＡd）を使用して下記の（１４）式に従って次元削減処理を実行する。Ａdも第２実施形態と同一である。
Ｐd ＝ EdT(V−Ad)      …(１４)
【００５３】
次元復元処理（Ｓ１００４ａ〜Ｓ１００４ｃ）では、変動毎に生成した逆射影行列１００３ａ〜１００３ｃを使用して射影ベクトルＰdから補正後の特徴点ベクトルを生成する。逆射影行列１００３ａ〜１００３ｃは、逆射影行列Ｂa〜Ｂc及び平均ベクトルＣa〜Ｃcを含む。以下、逆射影行列Ｂa〜Ｂcの作成方法について説明する。図１１の（ａ）は図８（第２実施形態）に示した特徴点位置補正処理８４ｄ及び８３ａを示している。ここでは次元削減処理（Ｓ８０３ｄ）、次元復元処理（Ｓ８０４ｄ）、次元削減処理（Ｓ８０３ａ）、次元復元処理（Ｓ８０４ａ）を順次処理する事で正面顔に対する特徴点の補正を階層的に処理している。これら各ステップの演算は、式（９）、式（１２）等に示す線形行列演算である。従って、補正後特徴点ベクトルＶa’は以下の式（１５）で表され得る。なお、式（１５）では、全ての変動を含む学習用特徴ベクトルから生成した射影行列、平均ベクトルをそれぞれＥd、Ａdとし、正面顔のみを含む学習用特徴ベクトルから生成した射影行列、平均ベクトルをそれぞれＥa、Ａaとする。
【００５４】
Ｖa’＝ＥaＥaＴ((ＥdＰd+Ａd) -Ａa) + Ａa          …（１５）
Ｅa＝(ua,1,ua,2,‥, ua,p)           …(１６)
Ｅd＝(ud,1,ud,2,‥, ud,p)           …(１７)
Ａa＝(Aa,1,Aa,2,Aa,3,‥, Aa,2×f)T      …(１８)
Ａd＝(Ad,1,Ad,2,Ad,3,‥, Ad,2×f)T      …(１９)
ここで、上記の式（１４）は全て線形行列演算であるため行列の合成により、
Ｖa’＝ＥaＥaＴＥdＰd＋ＥaＥaＴ(Ａd - Ａa)＋Ａa
＝ ＢaＰd＋Ｃa          …（２０）
に整理する事ができる。
【００５５】
ここでＢａは新たに生成した射影行列、
Ｂa＝ＥaＥaTＥd          …（２１）
Ｃaは新たに生成した平均ベクトル
Ｃａ＝ＥaＥaT(Ａd - Ａa)＋Ａa          …（２２）
であり、何れも処理に先だって算出する事ができる。即ち、図１１において１１０１に示す一連の処理ステップ群を１１０２に示す次元復元処理（Ｓ１００４ａ）にまとめる事ができる。以上のように、次元復元処理（Ｓ１０４ａ）では、上記の式（２１）、式（２２）で予め生成した逆射影行列１００３ａ（逆射影行列Ｂaと平均ベクトルＣa）を用いて逆射影処理を行う。以上の処理により変動に特化（ここでは正面顔）した補正を実現することができる。
【００５６】
同様に、特定の変動として右顔に対する学習用特徴点ベクトルを用いて生成した射影行列Ｅbと平均ベクトルＡbとを用いて、（２３）式により逆射影演算を実行する（Ｓ１００４ｂ）。ここで使用する射影行列Ｂb・平均ベクトルＣbは（２４）（２５）式に従って予め算出しておく。
Ｖb’＝BbPd ＋ Ｃb          …（２３）
Ｂb＝ＥbＥbTＥd          …（２４）
Ｃb＝ＥbＥbT(Ａd - Ａb)＋Ａb          …（２５）
【００５７】
更に、同様に特定の変動として左顔に対する学習用特徴点ベクトルを用いて生成した射影行列Ｅc平均ベクトルＡcを用いて（２６）式により逆射影演算を実行する（Ｓ１００４ｃ）。ここで使用する射影行列Ｂc、平均ベクトルＣb算出は、（２７）式、（２８）式に従って予め算出しておく。
Ｖc’＝BcPd ＋ Ｃc          …（２６）
Ｂc＝ＥcＥcTＥｄ            …（２７）
Ｃb＝ＥcＥcT(Ａｄ- Ａc)＋Ａc        …（２８）
【００５８】
以上のようにして、対象物の変動毎の、複数の次元復元されたベクトルデータが取得される。そして、変動判定処理（Ｓ１００５）では、第３実施形態（Ｓ８０５）と同様に射影ベクトルＰdから変動の種類を判定する。統合処理（Ｓ１００６）では、変動判定処理（Ｓ１００５）の判定結果に従って次元復元処理（Ｓ１０４ａ〜Ｓ１０４ｃ）の結果を統合する。統合処理（Ｓ１００６）の処理も第３実施形態に記載の方法と同じで良い。第２重心探索処理（Ｓ１０７）では最終的に決定した特徴点座標に基づいてＲＡＭ２１０上の特徴位置信頼度マップ１１から最終特徴位置を判定する。第２重心探索処理は第１、第２実施形態と同様でよい。
【００５９】
第３実施形態によれば、射影行列１００３ｄを用いて次元復元する演算と、変動の種類毎にデータを学習して得られた射影行列８３ａ、８３ｂ、８３ｃによる次元削減及び次元復元の演算とを合成した演算行列が用いられる。このため、第２実施形態と同じ結果を少ない演算回数で得る事ができる。また、第２実施形態と同様に共通部分空間への射影ベクトルを出力する事ができる。また、第３実施形態によれば、次元圧縮用の射影行列と変動毎に合成した逆射影ベクトルを予め算出しておくことができるので、少ない演算回数で大きな変動に対応する幾何学的補正処理を実現する事ができる。また、変動判定のための共通部分空間への射影ベクトルを生成する事が可能であるため、少ない演算回数で変動を推定する事ができる。
【００６０】
［第４実施形態］
以下、第４実施形態の画像判別装置について図１２〜図１４を用いて説明する。第４実施形態では、特徴点の位置に基づいて特徴抽出を行い当該抽出結果に基づいて識別処理を実行する機能を提供する画像判別装置を説明する。なお、第４実施形態による画像判別装置の構成も第１実施形態（図２）と同様である。第４実施形態による画像判別装置の動作を図１２を用いて説明する。なお、図１２において、特徴位置信頼度算出処理１０、特徴位置信頼度マップ１１、第１重心探索処理（Ｓ１０１）、特徴点位置補正処理１００２は、第３実施形態と同様のものである。
【００６１】
第２重心探索処理（Ｓ１２０１）では補正後の特徴点位置座標データに従ってＲＡＭ２１０に格納した特徴位置信頼度マップを再探索する。本実施形態では変動判定処理（Ｓ１００５）の結果に応じて第２重心探索処理（Ｓ１２０１）の探索パラメータを変更する。例えば変動の大きさに応じて探索領域の幅や高さを変更する。なお、変動に応じた最適な探索領域やパラメータは予め学習により求める事ができる。即ち変動毎に用意した複数の学習用の画像データから補正後の特徴点位置を算出し、探索領域を変更させながら統計的に最も正解の位置を出力可能な探索領域６０７（図６）を求める。ここでの探索パラメータはＲＡＭ２１０又はＲＯＭ２０９にテーブル情報として格納されているものとする。ＣＰＵ２０８は変動判定処理（Ｓ１００５）の結果に応じて所定アドレスのテーブルを参照する事で必要な探索領域を決定する。また、探索領域の大きさ形状だけでなく重心探索時の閾値等のパラメータを変動毎に用意して切り替えても良い。
【００６２】
次に、識別処理（Ｓ１２０２）では求められた特徴点位置座標情報に従って識別処理を実行する。図１３は第３実施形態による識別処理（Ｓ１２０２）の詳細を説明する図である。再正規化処理（Ｓ１３０１）において、ＣＰＵ２０８は、特徴点位置座標に基づいて顔画像を再正規化する。ここでは目の幅や目と口の距離等に基づいて顔画像データを所定のサイズに変換する。領域切り出し処理（Ｓ１３０２）において、ＣＰＵ２０８は、特徴点位置座標に基づいて識別に使用する画像領域を設定する。図１４は再正規化後の顔画像データ１４０１に対する切り出し領域の例を説明する図である。１４０２，１４０３が切り出し領域であり、目・鼻・口の座標位置に基づいて予め定める領域が切り出されている。領域補正処理（Ｓ１３０３）において、ＣＰＵ２０８は、変動判定処理（Ｓ１００５）の結果に従って、切り出した領域の画像データを変形する。ここでは、顔の向き変動に応じて、切り出し処理（Ｓ１３０２）で切り出された部分領域画像をアフィン変換等により変形する。変形のためのパラメータは変動に応じて予め大量のデータを使用して学習により生成しておく。即ち、顔の向き等の変動に応じたアフィンパラメータを予め決定しておき、変動判定処理（Ｓ１００５）の結果に従って切り替える。領域補正処理（Ｓ１３０３）での変形処理により、顔が正面顔とは異なる場合であっても、正面顔に近い部分領域に変形する事ができる。
【００６３】
次元削減処理（Ｓ１３０４）において、ＣＰＵ２０８は、補正された識別用の画像データの次元を削減する。次元削減の手法は、主成分分析を用いた手法等、従来より提案されている手法を適用して良い。相関演算処理（Ｓ１３０５）において、ＣＰＵ２０８は、次元削減された入力顔画像データと予め次元削減し登録しておいた登録データ１３０１との相関演算により入力顔画像が登録データであるか否かや登録データのどれに対応するか等の判定を行う。登録データは識別したい特定の人物の顔画像から生成したデータである。また、複数の部分領域を使用する場合、それぞれ領域毎に相関演算行い、得られた複数の類似度を用いて判定する。以上の処理により、顔画像から特定の個人を識別する。
【００６４】
以上のように第４実施形態によれば、特徴点位置補正処理の変動判定処理（Ｓ１００５）の結果を利用して第２重心探索処理（Ｓ１２０１）の探索パラメータを選択する事でより正確に特徴点の位置を決定する事ができる。更に変動判定処理（Ｓ１００５）の結果を識別処理（Ｓ１２０２）で利用する事でより高い精度で識別を行うことができる。
【００６５】
尚、第４実施形態では、変動判別結果を利用して部分領域の補正パラメータを選択する場合について説明したがこれに限られるものではない。例えば、変動に応じて再正規化処理（Ｓ１３０１）のパラメータや領域切り出し処理（Ｓ１３０２）のパラメータを変えるように構成してもよい。更に変動判別結果に応じて次元削減処理（Ｓ１３０４）の内容を変える等の手法を採用することも可能である。或いは、登録データを変動毎に用意して、変動判定処理（Ｓ１００５）の結果に従って選択する等の構成とすることもできる。また、第４実施形態では、識別処理（Ｓ１２０２）を第３実施形態の特徴点位置補正処理１００２と組み合わせた例を説明したが、第１、第２実施形態の位置補正処理（１２，８２）と識別処理を組み合わせることももちろん可能である。
【００６６】
［第５実施形態］
第１〜第４実施形態では、特徴点の補正に本発明を適用した場合について説明したが、第５実施形態では画像データの補正に適用した場合について説明する。なお、第５実施形態による画像処理装置の構成も第１実施形態（図２）と同様である。ただし、特徴位置信頼度算出処理部２０４は無くてもよい。以下、図１５を用いて本実施形態の動作について説明する。
【００６７】
図１５は図２に示す装置を使用して画像データの補正処理を実現する場合の処理について説明する図である。画像ベクトル取得処理（Ｓ１５０１）において、ＣＰＵ２０８は、ＲＡＭ２１０に格納した切り出し顔画像データを読み出し、画素値を要素とするベクトルデータＩを生成する。
Ｉ＝（i1,i2,i,…  ,in）T
in:画素値、
n:切り出し画像領域内の総画素数
【００６８】
次元削減処理（Ｓ１５０２）において、ＣＰＵ２０８は、射影行列（Ｅｄ及びＡｄ）１５０３ｄを使用して画像ベクトルを部分空間に射影する。ここで、Ｅｄ、Ａｄは様々な変動を含む多量の学習用画像ベクトルを使用して主成分分析により算出した射影ベクトル及び平均ベクトルである。但し、ここで使用する学習用データセットには補正対象となる欠損画像やオクルージョン画像は含まない。射影行列１５０１ｄを用いた射影演算によりｎ次元のベクトルがｐ次元のベクトルに圧縮される(ｎ＞ｐ)。すなわち、次元削減処理（Ｓ１５０２）では、以下に示す式（２９）により次元削減ベクトルＰdが生成される。
Ｐd＝ＥdT(I−Ad)        …(２９)
Ａd＝(Ad,1,Ad,2, Ad,3, ‥, Ad,n)T        …(３０)
Ｅd＝(ud,1,ud,2,‥, ud,p)            …(３１)
ud,1, ud,2,‥, ud,pは主成分分析によって得られたそれぞれn次元の正規直交ベクトルである。
【００６９】
次に次元復元処理（Ｓ１５０３ａ）において、ＣＰＵ２０８は以下の式（３２）に示す行列演算で補正後の画像データベクトルＩａを算出する。
Ｉａ＝ＢaＰd ＋ Ｃa        …（３２）
ここでＢａは予め生成した射影行列、
Ｂa＝ＥaＥaTＥd        …（３３）
Ｃaは予め生成した平均ベクトル、
Ｃa＝ＥaＥaT(Ａd  - Ａa)＋Ａa        …（３４）
でありＥｄ、Ａｄはそれぞれ上述した射影行列１５０１ｄにおける射影行列と平均ベクトルである。一方、Ｅa、Ａaは特定の変動に対応する多量の学習用画像ベクトルを用いて主成分分析により生成した射影行列、平均ベクトルである。ここでは正面向きの顔画像を用いて生成した射影ベクトルを使用する。次元復元処理（Ｓ１５０３ａ）で実際に使用する射影行列Ｂａ及び平均ベクトルＣａの算出式は第３実施形態と同じであり、図１１に示したように２つの補正処理に必要な行列演算の合成である。逆射影行列１５０１ａは、射影行列Ｂａ及び平均ベクトルＣａを含む。
【００７０】
同様に特定の変動として右顔の大量画像データを用いて射影行列Ｅbと平均ベクトルＡbを算出し、（３６）式と（３７）式により次元復元処理（Ｓ１５０３ｂ）で使用する射影行列Ｂb・平均ベクトルＣbを算出しておく。
Ｉb’＝ＢbＰd ＋Ｃb        …（３５）
Ｂb＝ＥbＥbTＥd        …（３６）
Ｃb＝ＥbＥbT(Ａd - Ａb)＋Ａb        …（３７）
復元処理（Ｓ１５０３ｂ）では（３５）式に従って補正画像ベクトルを生成する。
【００７１】
更に、同様に特定の変動として左顔に対する大量の画像データを用いて射影行列Ｅcと平均ベクトルＡcを算出し、（３９）式と（４０）式により次元復元処理（Ｓ１５０３ｃ）で使用する射影行列Ｂc、平均ベクトルＣcを算出しておく。
Ｉc’＝ＢcＰd ＋Ｃc        …（３８）
Ｂc＝ＥcＥcTＥd        …（３９）
Ｃb＝ＥcＥcT(Ａd - Ａc)＋Ａc        …（４０）
復元処理（Ｓ１５０３ｃ）では（３８）式に従って補正画像ベクトルを生成する。
【００７２】
以上、３つの復元処理（Ｓ１５０３ａ〜Ｓ１５０３ｃ）により特定の変動毎に補正された画像ベクトルが得られる。すなわち、対象物の変動毎の、複数の次元復元されたベクトルデータが取得される。なお、Ｅa〜Ｅcの生成の際に使用した射影ベクトルは傷やオクルージョンが無い学習用画像データから生成する。従って、当該射影ベクトルを用いて次元削減した空間では該当する傷やオクルージョンを表現できない。従って、入力する画像データに傷やオクルージョンが有る場合、次元削減処理（Ｓ１５０２）及び次元復元処理（Ｓ１５０３ａ〜Ｓ１５０３ｃ）により統計的に補間された画像データを生成する事ができる。これにより例外的な画像パターンを含む顔画像を適切に補正する事ができる。
【００７３】
変動判定処理（Ｓ１５０４）において、ＣＰＵ２０８は、次元削減処理（Ｓ１５０２）により得られた次元削減データＰdを使用して変動を推定する。ここでは顔の向きを推定する。変動判定処理（Ｓ１５０４）には、第２実施形態（図９）で示した方法を適用可能であり、共通部分空間に対する次元削減データから変動判定を実施する事で、少ない計算量で変動判定処理を実現できる。変動判定処理（Ｓ１５０４）は変動判定結果をＲＡＭ２１０の所定の領域に記録する。当該情報は後段の処理で利用可能である。
【００７４】
ステップＳ１９０５では変動判定結果に従って次元復元処理ステップＳ１９０３a〜Ｓ１９０３ｃの結果を統合する。統合処理ステップＳ１９０５も第１実施形態で示す方法と同様に単純な選択或いは重み付き平均手法等により最終的な画像ベクトルを算出する。統合後の最終結果である補正後画像ベクトルは補正後画像データとしてＲＡＭ２１０に記録する。
【００７５】
以上のように、第５実施形態によれば、大きな変動を有する画像データの補正を統計的に適切に処理可能である。例えば当該補正処理を顔認識の前処理に適用する事で認識精度を向上させる事が出来る。また、補正処理の過程で低次元の共通部分空間への射影ベクトルを生成する事ができる。当該射影ベクトルを利用する事で、少ない演算量で変動の種類を判定する事ができる。なお、第５実施形態における演算の基本的な手法は第３実施形態に示す手法と同様であるが、第３実施形態に比して取り扱うデータの次元が多いため演算量削減の効果がより大きい。なお、第１、第２実施形態で説明した位置補正処理を画像補正に適用することも可能であることは当業者には明らかである。
【００７６】
[その他実施形態]
実施形態では変動判定の手法として線形ＳＶＭによる場合について説明したが、本発明はこれに限るわけではなく様々な手法を適用可能である。例えば、非線形ＳＶＭを適用した場合、演算回数が大幅に増加するため、本発明の特徴である少ないデータ(射影ベクトル)からの変動判定効果の優位性がより高まる。
また、実施形態では主成分分析により生成した射影行列で部分空間へ射影する場合について説明したが、他の手法を用いてもよい。
【００７７】
また、変動判定処理（Ｓ１０６等）の精度を高めるために、従来より提案されているＬＰＰ、ＬＦＤＡ等、射影後のデータに対するクラス判定に有利な手法で生成された射影行列を用いて次元削減を行っても良い。なお、ＬＰＰとは「Locality Preserving Projection」、ＬＦＤＡとは「Local Fisher discriminant analysis」である。第２〜第５実施形態で示す様に、本発明では、任意の共通部分空間に対する射影演算に基づいて補正を行う事から、この様な射影行列を導入する事ができる。これにより、補正精度を向上させる事ができる。
【００７８】
また、上記各実施形態では、変動判定処理（Ｓ１０４等）が判定する変動として顔の向きについて説明したが本発明はこれに限るわけではなく、表情の変動等様々な変動に対応可能である。その場合も対象とする変動を含む学習データを用意して射影行列を算出するだけで同様に処理できる。つまり、変動に対応するための経験的なルールの設定等の必要がない。
【００７９】
実施形態では人物の顔の識別に当該発明を適用した場合について説明したが、これに限るわけではなく、様々な物体の特徴点の決定の際にに利用可能である。例えば、人体・動物・車等の工業製品等、特徴点の配置が対象物のカテゴリ毎に拘束されるあらゆるケースに適用する事が可能である。その場合も、対象とするカテゴリの特徴点配置データを変動毎に複数用意するだけで高精度な幾何拘束処理を実現する事ができる。
【００８０】
また、上記各実施形態では変動毎の部分空間の次元数が共通の場合について説明したが本発明はこれに限るわけではない。変動毎に次元数を変えても良い。これは第３〜第５実施形態で説明した合成によって新たな射影ベクトルを生成する場合であっても同様である。変動によって最適な補正を実現する次元数は異なるため、これにより、補正性能が向上する。また、変動判定に用いる共通部分空間の次元数を他の部分空間の次元数と変える様な構成でも良い。更に、上記各実施形態では一般的な画像データから抽出した特徴点や画像データそのものに対して本発明を適用した場合について説明したが、他のセンシング情報に基づく特徴データに対して幾何学的な拘束処理を施す場合にも適用可能である。
【００８１】
また、次元削減や次元復元のための射影行列の生成手法を変動によって変えることにより、変動に応じて最適な部分空間を生成するように構成することができ、変動推定精度を向上させることができる。また、第２、第３実施形態において、第１の射影行列を変動の推定に好適な次元圧縮手法で生成すれば、効率的・効果的に変動推定用射影行列を生成することができる。また、射影行列を用いた次元削減の結果の次元は変動によって異なるようにしてもよい。これにより、変動に応じて最適な部分空間を生成することができる。
【００８２】
また、対象物（カテゴリ）を人物の顔とし、特徴データを顔の器官に関連する位置座標データとすることにより、顔の向きや変形、表情等にロバストな器官の検出を実現する事ができる。更に、対象物に関連する特徴データを対象物の画素値とすることにより、大きな変動を含む画像データに対して統計的な画像補完を実現する事ができる。
【００８３】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【産業上の利用可能性】
【００８４】
本発明は、特徴点の配置関係を決定する装置や各種の画像処理装置等に幅広く適用する事が可能である。
【図１】
0005406705.tif 000002
【図２】
0005406705.tif 000003
【図３】
0005406705.tif 000004
【図４】
0005406705.tif 000005
【図５】
0005406705.tif 000006
【図６】
0005406705.tif 000007
【図７】
0005406705.tif 000008
【図８】
0005406705.tif 000009
【図９】
0005406705.tif 000010
【図１０】
0005406705.tif 000011
【図１１】
0005406705.tif 000012
【図１２】
0005406705.tif 000013
【図１３】
0005406705.tif 000014
【図１４】
0005406705.tif 000015
【図１５】
0005406705.tif 000016
【図１６】
0005406705.tif 000017