(57)【要約】【課題】特徴点ごとに特徴点の位置候補の補正の程度を変化させることができるようにする。【解決手段】複数の特徴点の位置候補の座標を連結したベクトルデータを次元削減した固有空間に射影し、逆射影の際に特徴点毎に逆射影する次元数を変更可能にする。例えば、特徴点の位置候補を決定する処理の性能が低い場合に、特徴点の逆射影を行う時は、使用する射影ベクトルの数を削減して逆射影するようにして、特徴点毎に好適な補正を行うことができ、特徴点の位置を検出する性能を向上させるようにする。【選択図】図１
2014130526.tif 000002
【特許請求の範囲】
【請求項１】
物体領域の中から複数の特徴点の位置候補を求める位置候補決定手段と、
前記位置候補決定手段によって求められた複数の位置候補の座標を連結して特徴点ベクトルを生成する生成手段と、
前記生成手段によって生成された特徴点ベクトルを所定の次元の空間に射影して射影ベクトルを得る射影手段と、
前記射影手段により得られた射影ベクトルの要素の全て或いは一部を特徴点毎に用いて逆射影する逆射影手段と、
前記逆射影手段の結果を用いて前記複数の特徴点の位置候補を補正した複数の特徴点の位置を決定する決定手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記逆射影手段は、前記射影ベクトルの要素の数を特徴点毎に選択することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記射影手段は、射影行列を用いて前記特徴点ベクトルを射影し、前記逆射影手段は、前記射影ベクトルを、前記射影手段が用いた射影行列とは異なる射影行列を用いて逆射影することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記逆射影手段が用いる射影行列は、前記射影手段が用いる射影行列の要素の中で、逆射影を行う時に用いない射影ベクトルの要素に対応する行列の要素を０とした行列であることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記複数の特徴点の位置候補の信頼度を判定する判定手段をさらに有し、
前記逆射影手段は、前記判定手段によって判定された信頼度に基づいて、特徴点毎に逆射影に用いる射影ベクトルの数を決定することを特徴とする請求項１から４の何れか１項に記載の情報処理装置。
【請求項６】
前記射影手段が用いる射影行列は、学習用として複数の特徴点の位置の座標から得られる特徴点ベクトルの主成分分析により生成される行列であることを特徴とする請求項１から５の何れか１項に記載の情報処理装置。
【請求項７】
物体領域の中から複数の特徴点の位置候補を求める位置候補決定工程と、
前記位置候補決定工程において求められた複数の位置候補の座標を連結して特徴点ベクトルを生成する生成工程と、
前記生成工程において生成された特徴点ベクトルを所定の次元の空間に射影して射影ベクトルを得る射影工程と、
前記射影工程において得られた射影ベクトルの要素の全て或いは一部を特徴点毎に用いて逆射影する逆射影工程と、
前記逆射影工程における結果を用いて前記複数の特徴点の位置候補を補正した複数の特徴点の位置を決定する決定工程と、
を有することを特徴とする情報処理方法。
【請求項８】
物体領域の中から複数の特徴点の位置候補を求める位置候補決定工程と、
前記位置候補決定工程において求められた複数の位置候補の座標を連結して特徴点ベクトルを生成する生成工程と、
前記生成工程において生成された特徴点ベクトルを所定の次元の空間に射影して射影ベクトルを得る射影工程と、
前記射影工程において得られた射影ベクトルの要素の全て或いは一部を特徴点毎に用いて逆射影する逆射影工程と、
前記逆射影工程における結果を用いて前記複数の特徴点の位置候補を補正した複数の特徴点の位置を決定する決定工程と、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に、物体の認識性能を向上させるために用いて好適な情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
顔画像データを用いて個人の認識等を行う際に、顔器官或いはそれに準ずる複数の特徴的な部位（以下、特徴点とする）の位置を画像上で決定することは重要なタスクであり、認識性能に大きく影響を及ぼす。
【０００３】
複数の特徴点の位置を決定する手法としては、特徴点毎に位置候補を決定する手段と、対象とする例えば顔などの物体に特有な特徴点の配置関係に基づいて特徴点の位置候補を補正する手段とにより構成されていることが多い。例えば、非特許文献１及び２には、統計量に基づく幾何学的な拘束手法に従って複数の顔器官の特徴点の位置を決定する方法が開示されている。ここで拘束とは、特徴点の位置を、対象とする物体に特有の配置関係に基づいて制限することである。
【０００４】
非特許文献１に開示されている手法では、ＰＤＭ（Ｐｏｉｎｔ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｍｏｄｅｌ）と呼ばれる特徴点の位置座標の関係モデルを用いて、特徴点の配置の幾何学的な補正を行う。ＰＤＭでは、複数の特徴点の位置座標を連結したベクトルを主成分分析により生成した固有空間へ射影し、その射影ベクトルを特徴点の位置座標の空間へ逆射影することにより補正後の特徴点の位置座標を得る。その際、射影ベクトルの振幅を制限することにより統計的な配置関係に基づく特徴点の位置の拘束効果が得られる。
【０００５】
一方、非特許文献２に開示されている手法も、主成分分析を利用して特徴点の位置座標の補正を行う手法である。ところが、当該手法では射影ベクトルの次元数を制限するによって特徴点の位置の拘束効果を得ている。これらの手法は固有空間上に射影されたベクトルの変動を値域や次元数で制限することにより特徴点の位置の配置に幾何学的な拘束を与えている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ｔ．Ｆ．Ｃｏｏｔｅｓ，  Ｃ．Ｊ．Ｔａｙｌｏｒ，  Ａｃｔｉｖｅ  Ｓｈａｐｅ  Ｍｏｄｅｌｓ  −  'Ｓｍａｒｔ  Ｓｎａｋｅｓ'．  ｉｎ  Ｐｒｏｃ．  Ｂｒｉｔｉｓｈ  Ｍａｃｈｉｎｅ  Ｖｉｓｉｏｎ  Ｃｏｎｆｅｒｅｎｃｅ．  Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ，  １９９２，  ｐｐ．２６６−２７５
【非特許文献２】Ｂｅｕｍｅｒ，  Ｇ．Ｍ．；  Ｔａｏ，  Ｑ．；  Ｂａｚｅｎ，  Ａ．Ｍ．；  Ｖｅｌｄｈｕｉｓ，  Ｒ．Ｎ．Ｊ．"Ａ  ｌａｎｄｍａｒｋ  ｐａｐｅｒ  ｉｎ  ｆａｃｅ  ｒｅｃｏｇｎｉｔｉｏｎ"Ａｕｔｏｍａｔｉｃ  Ｆａｃｅ  ａｎｄ  Ｇｅｓｔｕｒｅ  Ｒｅｃｏｇｎｉｔｉｏｎ，  ２００６．  ＦＧＲ  ２００６．  ７ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ、ｐｐ．  ７３−７８
【非特許文献３】Ｙ．  ＬｅＣｕｎ，  Ｌ．  Ｂｏｔｔｏｕ，  Ｇ．  Ｏｒｒ  ａｎｄ  Ｋ．  Ｍｕｌｌｅｒ：  "Ｅｆｆｉｃｉｅｎｔ  ＢａｃｋＰｒｏｐ"，  ｉｎ  Ｏｒｒ，  Ｇ．  ａｎｄ  Ｍｕｌｌｅｒ  Ｋ．  （Ｅｄｓ），  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ：  Ｔｒｉｃｋｓ  ｏｆ  ｔｈｅ  ｔｒａｄｅ，  Ｓｐｒｉｎｇｅｒ，  １９９８
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記何れの手法も統計的な処理（主成分分析を利用）に基づいて効率良く特徴点の位置を補正（外れ値の補正）する優れた方式であるが、補正の程度（以下、拘束力とする）を特徴点毎に制御することはできなかった。例えば、特徴点の位置候補を決定する精度が特徴点毎に異なる場合、特徴点毎に補正の程度を変えることが望ましいが、上記従来例による手法では補正程度を変えることができない。
【０００８】
本発明は前述の問題点に鑑み、特徴点ごとに特徴点の位置候補の補正の程度を変化させることができるようにすることを目的としている。
【課題を解決するための手段】
【０００９】
本発明の情報処理装置は、物体領域の中から複数の特徴点の位置候補を求める位置候補決定手段と、前記位置候補決定手段によって求められた複数の位置候補の座標を連結して特徴点ベクトルを生成する生成手段と、前記生成手段によって生成された特徴点ベクトルを所定の次元の空間に射影して射影ベクトルを得る射影手段と、前記射影手段により得られた射影ベクトルの要素の全て或いは一部を特徴点毎に用いて逆射影する逆射影手段と、前記逆射影手段の結果を用いて前記複数の特徴点の位置候補を補正した複数の特徴点の位置を決定する決定手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、特徴点毎に特徴点の位置候補の補正の程度を制御することができ、特徴点の位置をより高精度に決定することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態において、特徴点の位置を決定する処理手順の一例を示すフローチャートである。
【図２】実施形態において特徴点の位置を決定するための情報処理装置の構成例を示すブロック図である。
【図３】顔画像の切り出し処理の一例を説明する図である。
【図４】顔器官に関連する特徴点位置候補を説明する図である。
【図５】図１のステップＳ１０１の処理の概要を説明する図である。
【図６】幾何学的な補正処理の例を説明する図である。
【図７】本発明の第１の実施形態による射影処理と逆射影処理とを模式的に説明する図である。
【図８】逆射影次元数のテーブル情報の例を示す図である。
【図９】本発明の第２の実施形態において、特徴点の位置を決定する処理手順の一例を示すフローチャートである。
【図１０】本発明の第２の実施形態による射影処理と逆射影処理とを模式的に説明する図である。
【図１１】逆射影用の射影行列の例を説明する図である。
【発明を実施するための形態】
【００１２】
（第１の実施形態）
以下、本発明の第１の実施形態の動作について説明する。
図２は、本実施形態において特徴点の位置を決定するための情報処理装置２００の構成例を示すブロック図である。本実施形態の情報処理装置２００は先ず、画像データから顔を含む領域を抽出する。以下、抽出した領域を顔画像データと呼ぶ。そして、得られた顔画像データから複数の特徴点位置（ここでは顔の器官に関連する特徴の位置）を決定する。
【００１３】
図２において、画像入力部２０１は、光学系デバイス、光電変換デバイス及びセンサーを制御するドライバー回路、ＡＤコンバーター、各種画像補正を司る信号処理回路、フレームバッファ等により構成されている。前処理部２０２は、後段の各種処理を効果的に行うために各種前処理を実行する。具体的には、画像入力部２０１で取得した画像データに対して色変換処理、コントラスト補正処理等の補正をハードウェアで処理する。
【００１４】
顔画像データ切り出し処理部２０３は、前処理部２０２で補正した画像データに対して顔検出処理を実行する。顔検出の手法は、従来提案されている様々な手法を適用可能である。また、顔画像データ切り出し処理部２０３は、検出された顔毎に顔画像を所定のサイズに正規化して切り出す。
【００１５】
図３は、顔画像の切り出し処理の一例を説明する図である。前処理部２０２で補正された画像３０１から顔領域３０２を検出し、予め定めるサイズに正規化した正立の顔画像３０３を切り出す。従って、顔画像３０３の大きさは顔によらず一定である。切り出した顔画像のデータは、ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）２０５を介してＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０９に格納される。以後、特徴点の位置とは顔画像３０３内の特徴点の座標と定義する。また、座標は顔画像３０３の左上端を原点とする座標系（ｘ座標、ｙ座標）で表現するものとする。
【００１６】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０７は、本実施形態に係る主要な処理を実行すると共に本装置全体の動作を制御する。ブリッジ２０４は、画像バス２１０とＣＰＵバス２０６との間のバスブリッジ機能を提供する。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０８は、ＣＰＵ２０７の動作を規定するプログラムを格納する。ＲＡＭ２０９は、ＣＰＵ２０７の動作に必要な作業メモリである。ＣＰＵ２０７は、ＲＡＭ２０９に格納された顔画像のデータに対して処理を実行する。
【００１７】
図１は、本実施形態において、特徴点の位置を決定する処理手順の一例を示すフローチャートである。当該フローチャートはＣＰＵ２０７の動作を示し、正規化された顔画像３０３に対して特徴点の位置を決定する処理について説明するものである。
まず、ステップＳ１０１において、ＣＰＵ２０７は位置候補決定手段として機能し、予め定める特徴点の位置候補を決定する。この処理では、例えば図４に示すような１５個の顔器官に関連する特徴点４０１〜４１５の位置候補を決定する。
【００１８】
図５は、図１のステップＳ１０１の処理の概要を説明する図である。なお、図５は説明のために２つの特徴点の位置候補を決定する場合の処理構成を示している。本実施形態では、ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ）により特徴点の位置候補を決定する。ＣＮＮは階層的な特徴抽出処理により構成されており、図５では、第１階層５０６の特徴数が３、第２階層５１０の特徴数が２の２層ＣＮＮの例を示している。
【００１９】
図５において、顔画像５０１は、前述の図３に示す顔画像３０３に相当するものである。特徴面５０３ａ〜５０３ｃは第１階層５０６の特徴面を示す。特徴面とは、所定の特徴抽出フィルタ（コンボリューション演算の累積和及び非線形処理）で前階層のデータを走査しながら演算した結果を格納する画像データ面である。特徴面は、ラスタスキャンされた画像データに対する検出結果であるため、検出結果も面で表される。
【００２０】
この特徴面５０３ａ〜５０３ｃは、顔画像５０１を参照して、異なる特徴抽出フィルタにより算出される。特徴面５０３ａ〜５０３ｃはそれぞれ模式的にコンボリューションフィルタ５０４ａ〜５０４ｃに対応する２次元のコンボリューションフィルタ演算と演算結果の非線形変換（シグモイド関数等）とにより生成される。なお、参照画像領域５０２はコンボリューション演算に必要な領域を示す。例えば、フィルタサイズ（水平方向の長さと垂直方向の高さ）が１１×１１のコンボリューションフィルタ演算では、以下の式（１）に示すような積和演算により処理する。
【００２１】
【数１】
2014130526.tif 000003
【００２２】
ここで、ｉｎｐｕｔ（ｘ，ｙ）は座標（ｘ，ｙ）での参照画素値を表し、ｏｕｔｐｕｔ（ｘ，ｙ）は座標（ｘ，ｙ）での演算結果を表す。また、ｗｅｉｇｈｔ（ｃｏｌｕｍｎ，  ｒｏｗ）は座標（ｘ＋ｃｏｌｕｍｎ，ｙ＋ｒｏｗ）での重み係数を表し、ｃｏｌｕｍｎＳｉｚｅ＝１１，ｒｏｗＳｉｚｅ＝１１はフィルタサイズ（フィルタタップ数）を表す。
【００２３】
コンボリューションフィルタ５０４ａ〜５０４ｃは夫々異なる係数のフィルタであり、特徴面によってコンボリューションフィルタ５０４ａ〜５０４ｃのサイズも異なる。ＣＮＮ演算では、複数のフィルタを画素単位で走査しながら積和演算を繰り返し、最終的な積和結果を非線形変換することにより特徴面を生成する。例えば特徴面５０３ａを算出する場合は、前階層との結合数が１であるため、コンボリューションフィルタ５０４ａが用いられる。一方、特徴面５０７ａ、５０７ｂを算出する場合は、前階層との結合数が３であるため、３つのコンボリューションフィルタの演算結果を累積加算する。つまり、特徴面５０７ａは、コンボリューションフィルタ５０８ａ〜５０８ｃの全ての出力を累積加算し、最後に非線形変換処理することによって得られる。
【００２４】
参照画像領域５０５ａ〜５０５ｃはそれぞれ第２階層５１０のコンボリューション演算に必要な領域を示す。コンボリューションフィルタの係数はバックプロパゲーション等従来知られているニューラルネットワークの学習手法によって予め決定しておく。ＣＮＮの学習に関しては、例えば非特許文献３に開示されている方法を用いる。
【００２５】
ＣＮＮ演算によって得られる特徴面５０７ａ、５０７ｂは、対象とする特徴点の存在可能性を示す画像マップに相当する。即ち、特徴点が存在する位置に高い値を有する画像マップである。ステップＳ１０１では、更に特徴面５０７ａ、５０７ｂの重心を算出し、その座標値を特徴点の位置候補の座標とする。
【００２６】
ステップＳ１０２〜ステップＳ１０６では、ステップＳ１０１で得られた１５個の特徴点の位置候補に対して幾何学的な補正処理（ステップＳ１０１の性能に起因する外れ値の補正）を実行する。
【００２７】
図６は、幾何学的な補正処理の例を説明する図である。図６に示す例では、特徴点４０２ａは目尻を特徴とする特徴点であるが、誤って眉毛端の位置に判定されている。本実施形態では、人の顔の特徴の配置関係に基づいて統計的な処理によりその位置を補正する。即ち学習（主成分分析等）によって得られる知見に基づいて、特徴点４０２ａが示す位置候補を特徴点４０２ｂが示す位置に補正する。以下、本実施形態による補正処理の具体例について順番に説明する。
【００２８】
まず、ステップＳ１０２において、ＣＰＵ２０７は生成手段として機能し、ステップＳ１０１で得られた複数の特徴点の位置候補の座標を単純に連結して１つの特徴点ベクトルを生成する。本実施形態の場合、１５個の特徴点位置座標から３０次元の特徴ベクトルＶを生成する。各特徴点の位置座標（ｘi，ｙi）（ｉ：特徴点の番号１〜１５）を単純に連結したデータ列を特徴点ベクトルＶ（要素ｖj：ｊ＝１〜３０）とする。特徴点の番号１〜１５は、本実施形態では特徴点４０１〜４１５に対応する。したがって、例えば、特徴点ベクトルの要素ｖ1、ｖ2はそれぞれ特徴点４０１のｘ座標値、ｙ座標値に対応する。また、特徴ベクトルＶは以下の式（２）により定義する。
【００２９】
【数２】
2014130526.tif 000004
【００３０】
式中、ｆは特徴点の数を表し、Ｔは転置を表す。
【００３１】
次に、ステップＳ１０３において、ＣＰＵ２０７は射影手段として機能し、平均ベクトルＡ、射影行列Ｅを用いて射影ベクトルＰを算出する。射影ベクトルＰは、特徴点ベクトルＶから平均ベクトルＡを減じたベクトルデータと射影行列Ｅとを使用して以下の式（３）により算出する。なお、射影行列Ｅ及び平均ベクトルＡは、予め多数の顔画像に対する特徴点ベクトル（学習用特徴点ベクトル）を用いて、主成分分析により算出した行列である。ここで、学習用特徴点とベクトルとは、顔画像の正しい特徴点位置座標を全て同様に連結して生成したベクトルである。平均ベクトルＡは、以下の式（４）により定義され、射影行列Ｅは、以下の式（５）により定義される。
【００３２】
Ｐ＝ＥT（Ｖ−Ａ）                      ・・・（３）
Ａ＝（ａ1，ａ2，ａ3，‥，ａ2×f）T    ・・・（４）
Ｅ＝（ｕ1，ｕ2，‥，ｕp）              ・・・（５）
【００３３】
式中、ｕ1，ｕ2，‥，ｕpは主成分分析によって得られたそれぞれ２×ｆ次元の正規直交ベクトル（固有ベクトル）である。本実施形態の場合、３０次元のベクトルとなる。ｐは射影ベクトルの次元を表しており、２×ｆ次元より少ない値として、例えば、８に設定する。この場合、射影行列Ｅは主成分分析によって得られる直交ベクトルのうち、対応する固有値が大きい方から順に８個の固有ベクトルを使用する。なお、射影行列Ｅ及び平均ベクトルＡの情報はＲＯＭ２０８或いはＲＡＭ２０９等に予め格納されているものとする。
【００３４】
以上のようにステップＳ１０３では、式（３）の演算により２×ｆ次元の特徴点ベクトルをｐ次元の射影ベクトルに次元削減する。即ちｐ次元の固有空間に射影する。また、非特許文献２に記載の方法では、射影ベクトルＰから元の特徴点ベクトル次元のデータ、即ち座標位置を復元する。ここで、復元ベクトルＶ'は、前述した射影行列Ｅと平均ベクトルＡとを用いて以下の式（６）により算出する。以下、式（６）の第１項の処理（ＥＰ）を逆射影処理と呼ぶ。
Ｖ'＝ＥＰ＋Ａ                        ・・・（６）
【００３５】
一方、本実施形態では、ステップＳ１０４〜Ｓ１０６でＣＰＵ２０７は逆射影手段として機能し、特徴点毎に異なる個数の射影ベクトルの要素を用いて特徴点ベクトルを復元する。図７は、本実施形態による射影処理と逆射影処理とを模式的に説明する図である。ここでは説明のために３つの特徴点に対応する特徴点ベクトルに対して処理する場合について説明する。
【００３６】
図７において、特徴点ベクトル７０１は特徴点の座標データに対応するベクトルである。即ち、ステップＳ１０１で決定した特徴点の位置候補の座標（ｘ1，ｙ1）、（ｘ2，ｙ2）、（ｘ3，ｙ3）から生成した特徴点ベクトル（ｖ1，ｖ2，ｖ3，ｖ4，ｖ5，ｖ6）である。なお、説明のため、ここでの特徴点ベクトルは既に平均ベクトルＡが減算されているものとする。即ち、式（３）のＶ−Ａが処理された状態であるとする。７０２ａ〜７０２ｃは射影行列Ｅであり、ここでは３次元の射影ベクトルを算出するために３つの固有ベクトルを使用する。射影行列７０２ａ、７０２ｂ、７０２ｃは、主成分分析による固有ベクトルが大きい順に３つの固有ベクトル（ｅ1i，ｅ2i，ｅ3i：  ｉ＝１〜６）により構成されている。射影ベクトル７０３ａ〜７０３ｃは、特徴点ベクトル７０１と対応する射影行列７０２ａ、７０２ｂ、７０２ｃの固有ベクトルの内積により算出される。即ち、射影ベクトルの要素ｐnは、ステップＳ１０３で以下の式（７）により算出される。
【００３７】
【数３】
2014130526.tif 000005
【００３８】
次に、ステップＳ１０４において、特徴点毎に逆射影する特徴点の次元（逆射影時に使用する射影ベクトルの要素数）を決定する。この処理では、予めＲＡＭ２０９やＲＯＭ２０８に格納されているテーブル情報等を参照して決定する。図８は、テーブル情報の例を示す図であり、特徴点１、２、３毎に逆射影次元数（逆射影時に使用する射影ベクトルの要素数）を指定する。図７に示す例の場合は、特徴点の位置候補の座標（ｘ1，ｙ1）、（ｘ3，ｙ3）に対応する特徴点は２次元で逆射影処理し、座標（ｘ2，ｙ2）は３次元で逆射影処理する。
【００３９】
ステップＳ１０５においては、射影ベクトル７０３ａ〜７０３ｃと射影行列７０２ａ〜７０２ｃとを用いて補正後の特徴点ベクトル７０４（ｖ1'，ｖ2'，ｖ3'，ｖ4'，ｖ5'，ｖ6'）を生成する。例えば、特徴点（ｘ1，ｙ1）に対応する補正後の特徴点ベクトルｖ1'、ｖ2'は、射影ベクトル要素ｐ1、ｐ2を用いて以下の式（８）により算出される。
ｖ1'＝（ｐ1×ｅ11）＋（ｐ2×ｅ21）
ｖ2'＝（ｐ1×ｅ12）＋（ｐ2×ｅ22）        ・・・（８）
【００４０】
一方、座標（ｘ2，ｙ2）に対応する補正後の特徴点ベクトルｖ3'、ｖ4'は、以下の式（９）により算出される。
ｖ3'＝（ｐ1×ｅ13）＋（ｐ2×ｅ23）＋（ｐ3×ｅ33）
ｖ4'＝（ｐ1×ｅ14）＋（ｐ2×ｅ24）＋（ｐ3×ｅ34）    ・・・（９）
【００４１】
補正後の特徴点ベクトル（ｖ1'，ｖ2'）は、ステップＳ１０４で次元数２が選択され、２つの射影ベクトル要素を用いてステップＳ１０５で逆射影処理される。なお、射影ベクトルの要素は、対応する固有値の大きな固有ベクトルによって射影された要素から順に選択する。つまり、対応する固有値の小さな固有ベクトルによって射影された要素を使用しない。一方、補正後の特徴点ベクトル（ｖ3'，ｖ4'）は、ステップＳ１０４で次元数３が選択され、全ての射影ベクトル要素を用いてステップＳ１０５で逆射影処理される。
【００４２】
ステップＳ１０６においては、以上の処理を全ての特徴点に対応して処理したか否かを判定する。この判定の結果、処理していない特徴点がある場合はステップＳ１０４へ戻り、全ての特徴点に対応した処理した場合はステップＳ１０７に進む。そして、ステップＳ１０７において、ＣＰＵ２０７は決定手段として機能し、逆射影した復元ベクトルＶ'に平均ベクトルＡを加算し、特徴点に対応する位置の補正後の座標のデータを取り出し、ＲＡＭ２０９等に格納する。
【００４３】
以上のように、ステップＳ１０２からステップ１０６の処理により、複数の特徴点の位置候補の座標を連結した特徴点ベクトルを次元削減した固有空間に射影し、その後逆射影することにより、統計的な外れ値を補正することができる。つまり、特徴点の位置候補の座標を決定する時に誤検出によって生じる、射影した空間で表現できない外れ値が統計的に補正される。
【００４４】
ここで、射影次元数が高い場合は、射影行列で射影された固有空間の自由度が高く、射影次元数が低い場合は、当該射影行列で射影された固有空間の自由度が低い。即ち、射影次元数が高い場合は幾何学的な配置関係の拘束力が弱く、射影次元数が低い場合は拘束力が強まる。本実施形態では、逆射影の際に特徴点毎に逆射影する次元数を変更可能にすることにより、例えば、特徴点の位置候補を決定する処理の性能が低い場合に、特徴点の逆射影を行う時は、使用する射影ベクトルの数を削減して逆射影する。これにより、拘束力を高める等の制御が簡単な処理で実現できる。
【００４５】
なお、特徴点毎に必要な逆射影次元数については、予め複数の評価用データを用いて決定しておく。例えば、正解となる特徴点の位置情報を有するデータを用いて、補正後の特徴点ベクトルの正解とのずれ量の統計値等に基づいて決定する。例えば、その分散が大きい特徴点に対する逆射影の次元数を少なくしておく。
【００４６】
以上のように本実施形態によれば、固有空間を利用して特徴点の位置を補正する処理において、特徴点毎に固有空間からの逆射影に使用する射影ベクトルの要素数を制御するようにした。これにより、乗除算を含む複雑な処理が不要となり、簡単な処理によって特徴点毎に好適な補正を行うことができ、特徴点の位置を検出する性能が向上する。
【００４７】
（第２の実施形態）
図９は、本実施形態における特徴点の位置を決定する処理手順の一例を示すフローチャートである。なお、本実施形態に係る情報処理装置の構成については図２と同様であるため、説明は省略する。また、図９に示す各処理も、図２のＣＰＵ２０７の動作により行われる。
先ず、ステップＳ９０１において、特徴点の位置候補を決定する。この処理では、第１の実施形態で説明した図１のステップＳ１０１と同様に、複数の特徴点の位置候補をＣＮＮ演算とその結果に対する重心探索とにより特徴点の位置候補を求める。
【００４８】
次のステップＳ９０２においては、ステップＳ１０２と同様に複数の特徴点の位置候補座標を連結して特徴点ベクトルを生成する。そして、ステップＳ９０３において、特徴点ベクトルを固有空間に射影するための射影行列を選択する。ここで選択される射影行列はステップＳ１０３で使用する射影行列と同じであり、ＲＯＭ２０８やＲＡＭ２０９に予め格納されている射影用の射影行列を選択する。次に、ステップＳ９０４において、選択した射影行列を用いて特徴点ベクトルを固有空間に射影する。ここでの処理もステップＳ１０３に記載の処理内容と同一である。
【００４９】
次に、ステップＳ９０５において、固有空間から元の空間への逆射影用の射影行列を選択する。ここで、使用する射影行列について、図１０を参照しながら第１の実施形態と同様に３つの特徴点に対応する特徴点ベクトルに対して処理する場合について説明する。
【００５０】
図１０において、特徴点ベクトル１００１、射影行列１００２ａ〜１００２ｃ、射影ベクトル１００３ａ〜１００３ｃ、及び補正後の特徴点ベクトル１００４はそれぞれ、図７に示す例と同様である。一方、図１０に示す例では、逆射影行列１００５ａ〜１００５ｃの一部が図７に示す例と異なっている。
【００５１】
第１の実施形態では、射影用の射影行列及び逆射影用の射影行列は共通のデータを使用し、逆射影処理時に使用する射影ベクトルの要素数を選択することにより特徴点毎に拘束力を制御している。一方、本実施形態では、前述の式（６）の演算に従って、全ての特徴点に対して３つの射影ベクトルを用いて逆射影処理を実行する。但し、本実施形態では、射影時に使用した射影行列と異なる逆射影行列を使用することにより特徴点毎に拘束力を制御する。
【００５２】
図１０に示す例では、逆射影行列１００５ｃは、一部が射影行列１００２ｃと異なる。具体的には値ｅ21、ｅ22、ｅ21、ｅ22が全て０である。これにより、補正後の特徴点ベクトルｖ1'、ｖ2'、ｖ5'、ｖ6'は、２つの射影ベクトルｐ1、ｐ2を用いて逆射影したことに等価となる。また、補正後の特徴点ベクトルｖ3'、ｖ4'は、３つの射影ベクトルｐ1、ｐ2、ｐ3を用いて逆射影したことと等価になる。例えば、補正後の特徴点ベクトルｖ1'については、以下の式（１０）により算出され、前述した式（８）と等価である。
ｖ1'＝（ｐ1×ｅ11）＋（ｐ2×ｅ21）＋（ｐ3×０）    ・・・（１０）
【００５３】
このように、逆射影用の射影行列の一部を０にしておくことにより、特徴点毎の処理内容を変えることなく第１の実施形態と等価の結果を得ることができる。
【００５４】
次のステップＳ９０６においては、ステップＳ９０５で選択した逆射影行列を用いて射影ベクトルから実空間における補正後の特徴点ベクトルを生成する。そして、ステップＳ９０７において、補正後の特徴点ベクトルから対応する特徴点の位置を抽出し、その情報をＲＡＭ２０９等に格納する。
【００５５】
以上のように本実施形態によれば、逆射影用の射影行列を予め生成しておくことにより、逆射影の処理を行う時に、ステップＳ１０４のように、使用する射影ベクトルの要素の数を判定する処理を不要にすることができる。これにより、より簡便な処理で特徴点毎の幾何学的な拘束力を制御することができる。即ち、非特許文献２に記載の従来例等と比べて、逆射影時に当該逆射影用の行列を選択するだけの簡単な変更により特徴点毎に補正力の異なる幾何学的な補正を処理することができる。
【００５６】
（その他の実施形態）
第１及び第２の実施形態では、特徴点毎に予め定める数（逆射影次元数）の射影ベクトル要素を用いて逆射影する場合について説明したが、実行時に特徴点毎に使用する射影ベクトルの要素数を変更してもよい。例えば、ステップＳ１０１またはＳ９０１で特徴点の位置候補を決定する処理においてその検出信頼度に相当する値を出力する場合、当該値に基づいて逆射影次元数を設定する。
【００５７】
また、各実施形態において、ＣＮＮにより特徴点の候補を決定する際に、ＣＮＮの出力値を利用して信頼度を判定してもよい。例えば、ＣＮＮの出力値が高い場合、対象とする特徴点の可能性が高いと判断し、逆射影次元数を大きくする。当該処理では、信頼度と逆射影次元数との関係を示すテーブル情報を予めＲＯＭ２０８やＲＡＭ２０９に格納しておき、ステップＳ１０４で逆射影次元数を決定することにより容易に実現可能である。
【００５８】
また、第２の実施形態の構成においては、逆射影のための射影行列を複数用意しておき、ステップＳ９０１において出力する信頼度に応じて当該射影行列を選択する。その場合、信頼度と射影行列との関係を示すテーブル情報を予めＲＯＭ２０８やＲＡＭ２０９に格納しておく。この場合も、射影行列毎に所定の要素を０に設定しておくことにより特徴点毎に異なる次元（異なる数の射影ベクトルの要素）で逆射影処理することができる。
【００５９】
図１１は、逆射影用の射影行列の例を説明する図である。図１１（ａ）〜図１１（ｃ）はそれぞれ、特徴点ベクトル（ｖ1，ｖ2）、（ｖ3，ｖ4）、（ｖ5，ｖ6）の逆射影次元数を削減する場合の射影行列である。例えば、特徴点ベクトル（ｖ1，ｖ2）に対応する位置候補の検出の信頼度が低い場合は、逆射影時に図１１（ａ）に示す射影行列を選択する。なお、第１及び第２の実施形態では、ＣＮＮにより特徴点の位置候補を決定する場合について説明したが、これに限るわけではなくどの様な手法にも適用できる。
【００６０】
また、第１及び第２の実施形態では、画像中の顔画像から特定の器官位置に対応する特徴点の位置を検出する場合について説明したが、本発明はこれに限るわけではない。様々な物体領域の特徴点の検出に適用することが可能である。
【００６１】
また、第１及び第２の実施形態では、２次元データ上の特徴点の位置を決定する場合について説明したが、これに限るわけではない。例えば３次元データに基づいた処理の場合、３次元空間上の特徴点の位置決定に適用することも可能である。この場合、３次元の座標値を連結して特徴点ベクトルＶを作成する。
【００６２】
また、第１及び第２の実施形態では、補正後の特徴点の位置を算出する方法についてのみ説明した。実際には、補正後の特徴点を最終的な特徴点の位置とするわけではなく、説明しない他の処理と組み合わせて最終的な特徴点の位置を決定するものとする。
【００６３】
さらに、第２の実施形態では、射影ベクトルの要素の一部を０に書き換えることにより、逆射影に用いる射影ベクトルを生成する場合について説明したが、０に限るわけではなく、１より小さな値であれば第２の実施形態と類似の効果を得ることができる。
【００６４】
また、第１及び第２の実施形態では、主成分分析により算出した射影行列を用いて幾何学的な配置関係に拘束を与える場合につて説明した。主成分分析による手法は簡易な方法で本発明の効果を最も良く引き出すことができるが、他の手法により生成した射影行列を用いてもよい。
【００６５】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６６】
２０７  ＣＰＵ
２０８  ＲＯＭ
２０９  ＲＡＭ
【図１】
2014130526.tif 000006
【図２】
2014130526.tif 000007
【図３】
2014130526.tif 000008
【図４】
2014130526.tif 000009
【図５】
2014130526.tif 000010
【図６】
2014130526.tif 000011
【図７】
2014130526.tif 000012
【図８】
2014130526.tif 000013
【図９】
2014130526.tif 000014
【図１０】
2014130526.tif 000015
【図１１】
2014130526.tif 000016