(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）２０９に格納される。以後、特徴点の位置とは、顔画像３３内の特徴点の座標と定義し、ここでの座標は顔画像３３の左上端を原点とする座標系（ｘ座標、ｙ座標）で表現するものとする。
【００２２】
２０７はＣＰＵ（Central Processing Unit）であり、本実施形態に係る主要な処理を実行するとともに、画像認識装置全体の動作を制御する。２０４はブリッジであり、画像バス２１０とＣＰＵバス２０６との間のバスブリッジ機能を提供する。２０８はＲＯＭであり、ＣＰＵ２０７の動作を規定する命令を格納する。ＲＡＭ２０９はＣＰＵ２０７の動作に必要な作業メモリである。ＲＡＭ２０９はＤＲＡＭ（Dynamic RAM）等の比較的容量の大きいメモリで構成し、図示しないメモリコントローラを介して、ＣＰＵバス２０６に接続する。画像バス２１０上のデバイス及びＣＰＵバス２０６上のデバイスは同時に動作する。
【００２３】
２１１はユーザーインターフェース部であり、ユーザーが処理モードを入力するための物理的なインターフェース（スイッチ、タッチパネル等）を提供する。ＣＰＵ２０７はＲＡＭ２０９に格納した顔画像３３に対して認識処理を実行する。
【００２４】
図８は、本実施形態の顔認識処理の動作手順の一例を示すフローチャートである。当該フローチャートはＣＰＵ２０７の動作を示す図である。
まず、ＣＰＵ２０７はステップＳ８００で処理モードを判定する。ここでの処理モードとは認識処理又は登録処理であり、ユーザーインターフェース部２１１の設定情報に基づいて判定する。なお、以下の説明において、顔画像データはＲＡＭ２０９に既に格納されているものとする。
【００２５】
最初に、認識処理について説明する。ステップＳ８０１では、認識動作モードを判定する。ここでの認識動作モードとは高精度モード及び高速モードである。高精度モードでは、処理速度より認識精度を優先してに顔認識を行う。一方、高速モードでは精度の低下を許容して高速な認識処理を実行する。例えば、高精度モードか高速モードかの判断は、前フレームで認識対象人物（認識対象として登録されている人物）が認識されたか否かによって判断する。すなわち、ＣＰＵ２０７はＲＡＭ２０９に格納された前フレームの認識結果を参照して認識動作モードを判定する。具体的には、前フレームで認識対象として登録されている人物が認識された場合、現フレームは高速モードで処理を行う。
【００２６】
ＣＰＵ２０７は、ステップＳ８０１の判定結果に従って、対応する特徴点位置の検出処理を選択して実行する。高速モードが選択された場合、ステップＳ８０２で高速な特徴点位置検出処理を実行する。高精度モードが選択された場合、ステップＳ８０３で高精度な特徴点位置検出処理を実行する。
【００２７】
ここで、高速モードと高精度モードとで検出する特徴点の数が異なる場合について説明する。図４は、検出する特徴点の位置の例を説明する図である。図４（ａ）は、高精度モード時に検出する特徴点の位置を示しており、顔器官に関連する１５個の特徴点４０１〜４１５を検出する。一方、図４（ｂ）は高速モード時に検出する特徴点の位置を示しており、６個の特徴点位置４１７〜４２１を検出する。多数の特徴点を検出すると、後述する特徴量の算出位置を決定するステップＳ８０４で得られる位置データの信頼度が向上し、複数の特徴点の位置情報を利用することで誤検出の影響が緩和される。
【００２８】
図５は、特徴点位置検出処理であるステップＳ８０２及びＳ８０３の具体例を説明する図である。本実施形態では、ＣＮＮ（Convolutional Neural Networks）により特徴点位置を検出する。なお、図５には、説明のために２つの特徴点位置を検出する場合の構成を示している。
【００２９】
ＣＮＮは階層的な特徴抽出処理により構成され、図５に示す例では、１層５０６の特徴数が３、２層５１０の特徴数が２の２階層ＣＮＮの例を示している。５０１は顔画像データであり、前述の顔画像３３に相当する。５０３ａ〜５０３ｃは１層５０６の特徴面を示す。特徴面とは、所定の特徴抽出フィルタ（コンボリューション演算の累積和及び非線形処理）で前階層のデータを走査しながら演算した結果を格納する画像データ面である。特徴面はラスタスキャンされた画像データに対する検出結果であるため検出結果も面で表す。特徴面５０３ａ〜５０３ｃは、５０１を参照して、異なる特徴抽出フィルタにより算出する。特徴面５０３ａ〜５０３ｃはそれぞれ模式的に２次元のコンボリューションフィルタ５０４ａ〜５０４ｃに対応する演算と演算結果の非線形変換とにより生成される。なお、５０２はコンボリューション演算に必要な参照画像領域を示す。例えば、フィルタサイズ（水平方向の長さと垂直方向の高さ）が１１×１１のコンボリューションフィルタ演算は、以下に示す式（１）のような積和演算により処理する。
【００３０】
【数１】
0005836724.tif 000002
【００３１】
ここで、input（ｘ，ｙ）は、座標（ｘ、ｙ）での参照画素値を示し、output（ｘ，ｙ）は、座標（ｘ，ｙ）での演算結果を示す。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は主成分分析によって得られたそれぞれ２×ｆ次元の正規直交ベクトル（固有ベクトル）である。本実施形態の場合、３０次元のベクトルとなる。ｐは射影ベクトルの次元であり本実施形態では８とする。即ち主成分分析によって得られる直交ベクトルのうち、対応する固有値が大きい８個のベクトルを選択した行列が射影行列Ｅである。射影行列Ｅ及び平均ベクトルＡはＲＯＭ２０８或いはＲＡＭ２０９等に予め格納されているものとする。ステップＳ７０２及びＳ７０３では式（３）〜式（５）の演算により、２×ｆ次元の特徴点ベクトルをｐ次元の射影ベクトルに次元削減する。即ちｐ次元の部分空間に射影する。
【００４１】
次元を復元するステップＳ７０４及びＳ７０５では、射影ベクトルＰから元の特徴点ベクトル次元のデータ（即ち座標位置）を復元する。復元ベクトルＶ'は前記射影行列Ｅと前記平均ベクトルＡを用いて（６）式により算出する。
Ｖ'＝ＥＰ＋Ａ          ・・・（６）
【００４２】
ステップＳ７０６では、逆射影した復元ベクトルＶ'から補正後の座標データを取り出す。以上のステップＳ７０１からステップ７０６の処理により、全ての特徴点位置データを連結したベクトルを次元削減した部分空間に射影した後逆射影することによって、統計的な外れ値を補正することができる。つまり、射影した部分空間で表現できない外れ値（誤検出）が補正される。これによって、各特徴点の配置関係に基づいて幾何学的な配置関係を補正し、図６に示すような誤検出を補正する。なお、当該処理に関しては非特許文献１等にも開示されている。
【００４３】
以上のように、特徴量の算出位置を決定するステップＳ８０４で、特徴点位置検出処理の内容の違いを吸収する。即ち入力特徴点数によらず、後段の処理に対して共通となる位置基準を提供する。
【００４４】
次に、ステップＳ８０５〜ステップＳ８０７では、ステップＳ８０４で得られた位置に基づいて顔認識処理を実行する。認識処理は従来提案されている様々な手法を適用してよい。まず、ステップＳ８０５では、ステップＳ８０４の処理結果を基準にして複数の局所的な領域を切り出し、直交変換等により次元圧縮し、次元圧縮したデータを特徴量とする。例えば目尻や目頭等を中心とした局所領域から複数の特徴量を算出する。
【００４５】
次に、ステップＳ８０６では、複数の登録データをＲＡＭ２０９から読み出し、ステップＳ８０７で登録データとステップＳ８０５で得られた特徴量との相関演算により登録者に対する類似度を算出する。なお、特徴量は特徴点の位置を基準にして複数算出される。そして、特徴量毎に得られる複数の相関値を統合することにより最終的な類似度を算出し、当該最終類似度を閾値処理することにより処理対象の画像データが登録者であるか否かを判定する。
【００４６】
なお、ステップＳ８０７では、ステップＳ８０６で読み出した複数の登録データ（登録データ群）をステップＳ８０５の処理結果と比較し、その最終類似度が最も高くかつ予め定める閾値以上の場合、認識対象画像の顔が当該登録者であると判定する。そのため、登録データ群の中に信頼性の低い（特徴点位置の信頼度が低い場合等）登録データが１個でも混入した場合、全体的な認識精度が低下する可能性がある。
【００４７】
そして、ステップＳ８０８では、判定結果をＲＡＭ２０９に記録する。本実施形態の場合、特徴量を算出する局所領域の数や種類は認識動作モードが異なる場合でも同一である。つまり、ステップＳ８０５〜ステップＳ８０７は認識動作モードによらず常に同じ処理で認識を実行する。
【００４８】
次に、登録処理について説明する。ステップＳ８００により登録処理が選択された場合、ＣＰＵ２０７はステップＳ８０９で高精度特徴点位置検出処理を実行する。当該処理ステップは認識処理時のステップＳ８０３と同じであり、顔画像から１５個の特徴点位置を検出する。以下、ステップＳ８１０、ステップＳ８１１はそれぞれ、認識処理時のステップＳ８０４、ステップＳ８０５と同じである。
【００４９】
ステップＳ８１２では、処理対象の顔画像データに対応する個人情報（名前など）と共に得られた特徴量をＲＡＭ２０９等に格納する。或いは図示しないハードディスク等の記録装置に格納する。以上のように、登録処理時は処理時間の制約が少ない（リアルタイムに処理する必然性が少ない場合が多い）ことから常に高精度の特徴点位置検出処理により多数の特徴点位置を検出する。前述した様に多数の特徴点を検出することによりステップＳ８０４で得られる位置データの信頼度が向上し、それに伴い登録データの信頼度も向上する。
【００５０】
本実施形態では、認識動作モードに応じて処理負荷の異なる特徴点位置検出処理で特徴点位置を検出し、認識動作モードによらず共通の基準で算出した特徴量と高精度な特徴点位置から生成した登録データを用いて認識処理を実行する。即ち、特徴点位置検出処理の違いを特徴量算出位置決定処理で吸収させることにより、常に高精度に登録データを生成する。
【００５１】
以上のように本実施形態によれば、登録時は常に高精度に特徴点位置を検出することにより、認識処理を簡易な特徴点位置検出処理で高速化した場合の認識性能の低下が軽減される。
【００５２】
（第２の実施形態）
図９は、本実施形態の動作を説明するフローチャートである。本実施例も図２で示す装置で動作し、図９に示すフローチャートはＣＰＵ２０７の動作を示すものとする。また、以下の説明において、顔画像データはＲＡＭ２０９に既に格納されているものとする。
【００５３】
本実施形態では処理モードに応じて特徴点位置検出方法が異なっており、ＣＰＵ２０７はステップＳ９００で処理モードを判定する。そして、認識処理時は、ステップＳ９０１で高速特徴点位置検出処理を実行する。即ち、認識処理は常に高速に動作させる。なお、ステップＳ９０１の内容は図８のステップＳ８０２と同じである。ここでは６個の特徴点の位置を検出する。
【００５４】
次に、ステップＳ９０２では、ステップＳ９０１の処理結果に従って特徴量算出位置を決定する。以降、特徴量算出処理（ステップＳ９０３）、登録データ読み出し処理（ステップＳ９０４）、判定処理（ステップＳ９０５）、認識結果記録処理（ステップＳ９０６）を順次実行する。ここでのステップＳ９０２〜ステップＳ９０６はそれぞれステップＳ８０４〜ステップＳ８０８と同じである。即ち検出された６個の特徴点からステップＳ９０２で１５個の特徴点位置を決定し、当該位置に基づいて認識処理を実行する。即ち、ステップＳ９０２で検出した特徴点の数の違いを吸収する。
【００５５】
一方、登録処理時は、ステップＳ９０７で１５個の特徴点位置を検出し、以後、特徴量算出処理（ステップＳ９０８）、登録データ読み出し処理（ステップＳ９０９）、及び登録データ生成処理（ステップＳ９１０）を実行する。ここでのステップＳ９０８〜ステップＳ９１０はそれぞれステップＳ８１０〜ステップＳ８１２と同じである。
【００５６】
以上のように本実施形態によれば、処理モードに応じて処理負荷の異なる特徴点位置決定処理で特徴点を検出し、共通の特徴量・登録データで認識処理を実行する。登録時はより高精度に特徴点位置を検出することにより認識性能が向上する。
【００５７】
（第３の実施形態）
図１０は、本実施形態の動作を説明するフローチャートである。本実施例は図１１に示す画像認識装置で動作し、図１０に示すフローチャートはＣＰＵ２０７の動作を示すものとする。図１１に示す画像認識装置は、図２で示す画像認識装置にネットワークインターフェース２１２が付加されている。更に、ネットワークを介してネットワーク上のサーバー装置２１３と接続される。なお、図１１の２０１〜２１１は図２と同じである。
【００５８】
本実施形態では、認識動作は画像認識装置で処理され、登録データの生成はサーバー装置２１３で処理される。なお、以下の説明において、顔画像データはＲＡＭ２０９に既に格納されているものとする。
【００５９】
以下、図１０に従って本実施形態の動作について説明する。本実施形態では処理モードに応じて特徴点位置検出方法が異なる。まず、ＣＰＵ２０７はステップＳ１０００で処理モードを判定する。認識処理時は、ステップＳ１００１で、高速特徴点位置検出処理を実行する。当該処理ステップの内容は図９のステップＳ８０２と同じであり、６個の特徴点の位置を検出する。
【００６０】
次に、ステップＳ１００２では、ステップＳ１００１の処理結果に従って特徴量算出位置を決定する。以降、特徴量算出処理（ステップＳ１００３）、登録データ読み出し処理（ステップＳ１００４）、判定処理（ステップＳ１１０５）、及び認識結果記録処理（ステップＳ１００６）を実行する。ここでのステップＳ１００２〜ステップＳ１００６はそれぞれ、ステップＳ８０４〜ステップＳ８０８と同じである。即ち検出された６個の特徴点からステップＳ１００２で１５個の特徴点位置を決定し、当該位置を基準にして認識処理を実行する。即ち、ステップＳ１００２で検出した特徴点の数の違いを吸収する。
【００６１】
一方、登録処理時は、ステップＳ１００７で顔画像データ及び当該顔画像に対する個人を識別する情報を、ネットワークインターフェース２１２を介してサーバー装置２１３に転送する。サーバー装置２１３は、ステップＳ１００８で顔画像データを受信すると、ステップＳ１００９で当該データに対して高精度な特徴点位置検出処理を開始する。ここではステップＳ８０９と同様に１５個の特徴点に対して検出処理を実行する。
【００６２】
次に、ステップＳ１０１０では、ステップＳ１００９で得られた特徴点位置から特徴量算出のための基準位置決定処理を実行する。ステップＳ１０１０〜ステップＳ１０１１の処理内容はステップＳ８１０〜Ｓ８１１の処理内容と同じである。そして、ステップＳ１０１２では得られた特徴量を登録データとして画像認識装置へ送信する。画像認識装置は、ステップＳ１０１３でネットワークインターフェース２１２を介してサーバー装置２１３が生成した登録データを受信する。そして、ステップＳ１０１４で登録データとしてＲＡＭ２０９に格納する。認識処理時はここで格納した登録データを用いて判定処理（ステップＳ１００５）を実行する。
【００６３】
本実施形態では、処理モードに応じて処理負荷の異なる特徴点位置検出処理で特徴点位置を検出する。その際、処理負荷の高い特徴点位置検出処理をサーバー装置２１３で処理する。このように本実施形態によれば、登録時はより高精度に特徴点位置を検出処理することにより認識性能が向上する。更にその場合も、登録時の処理負荷が増大しないようにすることができる。
【００６４】
（第４の実施形態）
図１２は、本実施形態の動作を説明するフローチャートである。本実施形態では図１１に示す画像認識装置で動作する。本実施形態では第３の実施形態との違いのみについて説明する。認識処理動作は第３の実施形態と同じである。即ちステップＳ１２０１〜ステップＳ１２０６はステップＳ１００１〜ステップＳ１００６と同じである。
【００６５】
登録処理時では、ステップＳ１２０７で顔画像データを、ネットワークインターフェース２１２を介してサーバー装置２１３に転送する。サーバー装置２１３は、ステップＳ１２０８で顔画像データを受信すると、ステップＳ１２０９で当該データに対して高精度な特徴点位置検出処理を開始する。ここではステップＳ８０９と同様に１５個の特徴点に対して検出処理を実行する。そして、ステップＳ１２１０では、検出した１５個の特徴点データを、ネットワークを介して画像認識装置に送信する。
【００６６】
画像認識装置は、ステップＳ１２１１でネットワークインターフェース２１２を介してサーバー装置２１３が検出して特徴点位置を受信する。そして、ステップＳ１２１２では、ステップＳ１２０９で得られた特徴点位置から特徴量算出のための位置決定処理を実行する。ステップＳ１２１２〜ステップＳ１２１３はステップＳ８１０〜Ｓ８１１と同じである。そして、ステップＳ１２０４では、得られた特徴量を登録データとしてＲＡＭ２０９に格納する。認識処理時はここで格納した登録データを用いて判定処理（ステップＳ１２０５）を実行する。
【００６７】
本実施形態では、処理モードに応じて処理負荷の異なる特徴点位置検出処理で特徴点位置を検出する。その際、処理負荷の高い特徴点位置検出処理をサーバー装置２１３で処理する。更に、本実施形態では特徴量の算出を端末装置側で処理することによりサーバー装置２１３の処理負荷を軽減する。このように本実施形態によれば、登録時はより高精度に特徴点位置を検出処理することにより認識性能が向上する。更にその場合も、登録時の処理負荷が増大しないようにすることができる。
【００６８】
（その他の実施形態）
第１の実施形態では、前フレームの認識結果にしたがって認識動作モード（高速モード・高精度モード）を選択する場合について説明したが、この様な場合に限るわけではない。例えば、対象とする画像３１中の顔の数によって高精度モードと高速モードを切り替える。ユーザーが所定のユーザーインターフェースを介して高精度モードと高速モードを設定する等様々なケースが考えられる。例えばユーザーインターフェースを介して設定する場合、ステップＳ８０１はユーザーの指定する情報に基づいて認識動作モードを判定する。
【００６９】
前述した実施形態では画像中の顔画像から特定の人物を認識する場合について説明したが、本発明はこれに限るわけではない。特徴点の位置に基づいて所定の物体を識別する様々な画像認識装置に利用することが可能である。また、前述した実施形態では特徴点位置検出処理で検出する特徴点の数が異なる場合について説明したが、その検出方法が異なる場合でも良い。さらに、前述した実施形態では本発明に関する処理をソフトウェアにより実現する場合について説明したが、専用ハードウェアで構成することも可能である。
【００７０】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００７１】
１００  顔画像データ取得処理
１０２  第１の特徴点位置検出処理
１０３  第２の特徴点位置検出処理
１０４  選択処理
１０５  特徴量算出位置決定処理
１０６  特徴量算出処理
１１１  処理モード判定処理
【図１】
0005836724.tif 000003
【図２】
0005836724.tif 000004
【図３】
0005836724.tif 000005
【図４】
0005836724.tif 000006
【図５】
0005836724.tif 000007
【図６】
0005836724.tif 000008
【図７】
0005836724.tif 000009
【図８】
0005836724.tif 000010
【図９】
0005836724.tif 000011
【図１０】
0005836724.tif 000012
【図１１】
0005836724.tif 000013
【図１２】
0005836724.tif 000014