(57)【特許請求の範囲】
【請求項１】
入力パターンと、予め登録されているパターンとしての登録パターンと、で対応する部分特徴を抽出する抽出手段と、
前記部分特徴の組み合わせを合成部分特徴として複数、生成する合成手段と、
前記複数の合成部分特徴を用いて、前記入力パターンが、それぞれの登録パターンが属するクラスの、どのクラスに対応するかを識別する識別手段と
を備え、
前記識別手段は、
前記合成部分特徴に属し且つ前記入力パターンと前記登録パターンとで対応する前記部分特徴を評価する評価手段を備え、
前記評価手段は、前記合成部分特徴の尤度を算出する算出手段を備え、
前記算出手段は、前記尤度を、前記合成部分特徴に含まれる、前記部分特徴間の統計量を基準に算出し、
前記識別手段は、前記評価手段による評価結果としての前記尤度に基づいて前記識別を行う
ことを特徴とする画像処理装置。
【請求項２】
前記基準は、前記入力パターンと前記登録パターンとで対応する部分特徴間の類似性における基準であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記統計量は、前記抽出手段が抽出した前記部分特徴の少なくとも空間的な位置、空間的な大きさを示すパラメータの分散であることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
更に、
前記入力パターンおよび前記登録パターンの属性を推定する推定手段を備え、
少なくとも、前記抽出手段、前記合成手段、前記評価手段、のいずれか１つは、前記推定手段が推定した属性を用いて処理を行うことを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記入力パターン、前記登録パターンは何れも、画像中のオブジェクトであって、前記推定手段が推定する属性は、前記オブジェクトの大きさ、向き、照明条件、の何れかを含むことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記合成手段は、前記部分特徴の空間的な位置、空間的な大きさ、のいずれかを基準にして、前記複数の合成部分特徴を生成することを特徴とする請求項１乃至５の何れか１項に記載の画像処理装置。
【請求項７】
前記識別手段は、異なるクラスに属するパターン間の差異を表す特徴のクラスと、同じクラスに属するパターンの変動による差異を表す特徴のクラスとを識別する方法を用いることによって、前記入力パターンの属するクラスを識別することを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
前記オブジェクトは人物の顔であり、前記推定手段が推定する属性は、当該人物の性別、年齢、表情、のうち少なくとも１つを含むことを特徴とする請求項５に記載の画像処理装置。
【請求項９】
前記オブジェクトは人物の顔であり、前記推定手段が推定する属性は、当該人物の顔器官の位置情報を含み、前記抽出手段は、前記顔器官の位置情報に基づいて前記部分特徴を抽出することを特徴とする請求項５に記載の画像処理装置。
【請求項１０】
前記合成手段は、前記部分特徴の組み合わせ方に関するパラメータを用いて前記複数の合成部分特徴を生成し、
前記部分特徴の組み合わせ方に関するパラメータは、予め用意された画像のサンプルから、異なるクラスに属するオブジェクトの間の差異を表す特徴のクラスに属する学習サンプルと、同じクラスに属するオブジェクトの変動による差異を表すクラスに属する学習のサンプルと、を生成し、前記学習サンプルに対して、予め用意した部分特徴の組み合わせを機械学習によって選択することによって定められる
ことを特徴とする請求項１乃至９の何れか１項に記載の画像処理装置。
【請求項１１】
前記学習は、AdaBoostによって行うことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記推定手段は、前記オブジェクトを撮像した際のカメラパラメータを用いて前記オブジェクトの属性を推定することを特徴とする、請求項５に記載の画像処理装置。
【請求項１３】
前記カメラパラメータは、自動露出、自動焦点、の何れかに係るパラメータであることを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の抽出手段が、入力パターンと、予め登録されているパターンとしての登録パターンと、で対応する部分特徴を抽出する抽出工程と、
前記画像処理装置の合成手段が、前記部分特徴の組み合わせを合成部分特徴として複数、生成する合成工程と、
前記画像処理装置の識別手段が、前記複数の合成部分特徴を用いて、前記入力パターンが、それぞれの登録パターンが属するクラスの、どのクラスに対応するかを識別する識別工程と
を備え、
前記識別工程は、
前記合成部分特徴に属し且つ前記入力パターンと前記登録パターンとで対応する前記部分特徴を評価する評価工程を備え、
前記評価工程は、前記合成部分特徴の尤度を算出する算出工程を備え、
前記算出工程では、前記尤度を、前記合成部分特徴に含まれる、前記部分特徴間の統計量を基準に算出し、
前記識別工程では、前記評価工程での評価結果としての前記尤度に基づいて前記識別を行う
ことを特徴とする画像処理方法。
【請求項１５】
コンピュータを、請求項１乃至１３の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パターン識別技術に関するものである。
【背景技術】
【０００２】
パターン認識における識別技術、典型的には、画像データ中の被写体であるオブジェクトが、別の画像中の被写体であるオブジェクトと同一のものであると識別する技術として、例えば、個人の顔を識別する顔識別技術がある。以下、本明細書では、パターンの識別とは、パターンの個体の違い（例えば、個人としての人物の違い）を判定することを意味する。一方、パターンの検出は、個体を区別せず同じ範疇に入るものを判定する（例えば、個人を区別せず、顔を検出する）ことを意味するものとする。
【０００３】
顔識別技術として、例えば、非特許文献１に開示されているような方法がある。これは、顔による個人の識別問題を、差分顔と呼ばれる特徴クラスの２クラス識別問題に置き換えることによって、顔の登録・追加学習をリアルタイムに行うことを可能にしたアルゴリズムである。
【０００４】
例えば、一般によく知られているサポートベクターマシン（SVM）を用いた顔識別では、ｎ人分の人物の顔を識別するために、登録された人物の顔とそれ以外の顔とを識別するｎ個のSVM識別器が必要になる。人物の顔を登録する際には、SVMの学習が必要となる。SVMの学習には、登録したい人物の顔と、既に登録されている人物とその他の人物の顔データが大量に必要で、非常に計算時間がかかるため、予め計算しておく手法が一般的であった。しかし、非特許文献１の方法によれば、個人識別の問題を、次に挙げる２クラスの識別問題に置き換えることよって、追加学習を実質的に不要にすることが出来る。
【０００５】
・  intra-personal class：同一人物の画像間の、照明変動、表情・向きなどの変動特徴クラス
・  extra-personal class：異なる人物の画像間の、変動特徴クラス
上記２クラスの分布は、特定の個人によらず一定であると仮定して、個人の顔識別問題を、上記２クラスの識別問題に帰着させて識別器を構成する。予め、大量の画像を準備して、同一人物間の変動特徴クラスと、異なる人物間の変動特徴クラスの識別を行う識別器について学習を行う。新たな登録者は、顔の画像（若しくは必要な特徴を抽出した結果）のみを保持すればよい。識別する際には、２枚の画像から差分特徴を取り出し、上記識別器で、同一人物なのか異なる人物なのかを判定する。これにより、個人の顔登録の際にSVMなどの学習が不要になり、リアルタイムで登録を行うことが出来る。
【０００６】
上記のような、パターン（具体的には画像中のオブジェクト、より具体的には、人物の顔）の識別を行う装置および方法において、識別性能を低下させる要因として、登録用パターンと認証用パターンとの間の変動が挙げられる。即ち、識別対象であるオブジェクト（人物の顔）の変動、具体的には、照明条件、向き・姿勢、他のオブジェクトによる隠れや、表情による変動などである。上記のような変動が大きくなると、識別性能が大幅に低下してしまう。
【０００７】
この問題に対して、特許文献１では、部分領域ごとのパターンマッチングを複数回行い、それらの結果のうち、外れ値を取り除いて、各部分領域のマッチ度を統合することによって、変動に対するロバスト性を確保している。
【０００８】
また、特許文献２では、部分領域ごとの特徴量を量子化し、それらを幾つかのサブグループに分割し、サブグループ内での量子化された特徴量の重み付き和をとって、新たな部分特徴量とし、それらを統合して判別している。このようすることで、複数の部分領域が一致していることを重視して、判定を行うことができる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００３−３２３６２２号公報
【特許文献２】特開２００６−２６８８２５号公報
【非特許文献】
【００１０】
【非特許文献１】Baback Moghaddam, Beyond Eigenfaces :Probabilistic Matching for Face Recognition(M.I.T Media Laboratory Perceptual Computing Section Technical Report No.433), ProbabilisticVisual Learning for Object Representation(IEEE Transactions on PatternAnalysis and Machine Intelligence, Vol. 19, No. 7, JULY 1997)
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、複数の部分領域の類似度に対する単純な外れ値の除去や、その重み付き平均などを取るだけでは、性能的な改善の余地があると考えられる。例えば、上記複数の部分領域の設定に誤りがあった場合、上記処理だけでは、誤りを十分に訂正できる可能性は低いと考えられる。特に、部分領域間の類似度の重み付き平均は、重みの大きい部分領域の類似度が変動によって影響を受けると、識別性能への影響も大きくなってしまい、変動に対して十分にロバストとは言い難い。
【００１２】
人間の顔のように変動が大きく、さらに撮影条件がさまざまな環境においても識別性能を維持するためには、上記複数の部分領域の設定に誤りがあった場合に、その誤りをある程度吸収できる処理を組み込むことが有効であると考えられる。
【００１３】
デジタルカメラやWebカメラなどへの応用を想定すると、画像の撮影条件およびパターンの変動（大きさ、向き、表情など）が、大きい場合にも識別性能が劣化しないことが望まれる。部分領域ごとの類似度から識別を行う方法において、部分領域の設定に多少の誤りがある場合にも、識別性能を劣化させない方法を考えることが、大きな問題点であった。
【００１４】
本発明は以上の問題に鑑みてなされたものであり、識別対象のパターンやその周辺環境など変動に対してロバスト、且つ高精度なパターン識別技術を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。即ち、入力パターンと、予め登録されているパターンとしての登録パターンと、で対応する部分特徴を抽出する抽出手段と、
前記部分特徴の組み合わせを合成部分特徴として複数、生成する合成手段と、
前記複数の合成部分特徴を用いて、前記入力パターンが、それぞれの登録パターンが属するクラスの、どのクラスに対応するかを識別する識別手段と
を備え、
前記識別手段は、
前記合成部分特徴に属し且つ前記入力パターンと前記登録パターンとで対応する前記部分特徴を評価する評価手段を備え、
前記評価手段は、前記合成部分特徴の尤度を算出する算出手段を備え、
前記算出手段は、前記尤度を、前記合成部分特徴に含まれる、前記部分特徴間の統計量を基準に算出し、
前記識別手段は、前記評価手段による評価結果としての前記尤度に基づいて前記識別を行う
ことを特徴とする。
【発明の効果】
【００１６】
本発明の構成によれば、識別対象のパターンやその周辺環境など変動に対してロバスト、且つ高精度なパターン識別技術を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】（ａ）はパターン識別装置１００、（ｂ）はパターン登録部５、（ｃ）は登録パターン辞書データ生成部２１の機能構成例を示すブロック図。
【図２】パターン識別装置１００が行う全体処理のフローチャート。
【図３】（ａ）は特徴ベクトル抽出部３２、特徴ベクトル変換部３３が行う処理のフローチャート、（ｂ）は入力パターン識別部６が行う処理のフローチャート。
【図４】（ａ）は入力パターン識別部６、（ｂ）は入力パターン識別用データ生成部４１、（ｃ）は入力パターン識別演算部４３、（ｄ）は部分特徴合成部６３の機能構成例を示すブロック図。
【図５】（ａ）は入力パターン識別演算部４３、（ｂ）は部分特徴合成部６３が行う処理のフローチャート。
【図６】（ａ）は合成部分特徴評価部６４、（ｂ）は合成部分特徴尤度算出部８４の機能構成例を示すブロック図。
【図７】（ａ）は合成部分特徴評価部６４、（ｂ）はステップＳ１４０３における処理の詳細を示すフローチャート。
【図８】（ａ）は合成部分特徴尤度算出部８４、（ｂ）は合成部分特徴評価値算出部８５、（ｃ）は部分領域の学習処理の一例としてのフローチャート。
【図９】（ａ）はパターン登録部１０５、（ｂ）は入力パターン識別部１０６の機能構成例を示すブロック図。
【図１０】（ａ）は登録パターン辞書データ生成部２１、（ｂ）は部分特徴合成部１３３が行う処理のフローチャート。
【図１１】入力パターン識別演算部１２３の機能構成例を示すブロック図。
【発明を実施するための形態】
【００１８】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１９】
［第１の実施形態］
＜パターン識別装置１００の機能構成例について＞
先ず、図１（ａ）を用いて、本実施形態に係る画像処理装置としてのパターン識別装置１００の機能構成例について説明する。なお、図１（ａ）において、撮像制御部３、パターン登録部５、入力パターン識別部６のそれぞれは、本実施形態では、専用回路（ＡＳＩＣ）、プロセッサ（リコンフィギュラブルプロセッサ、ＤＳＰ、ＣＰＵなど）であるとする。しかし、これら各部は専用回路として実現されることに限定するものではなく、単一の専用回路および汎用回路（PC用CPU）内部において実行されるコンピュータプログラムとして実装しても良い。
【００２０】
その場合、係るコンピュータプログラムは、ＲＡＭやＲＯＭなどのコンピュータ読み取り可能な記憶媒体に格納され、ＣＰＵがこれを実行することで、以下に説明する画像処理装置が行う各種の処理を実行することになる。
【００２１】
結像光学系１は、ズーム機構を備えた光学レンズにより構成されており、必要に応じて、パン・チルト軸方向の駆動機構を備えてもよい。撮像部２は、結像光学系１を介して入力される外界の光を、その光量に応じた電気信号に変換して出力する映像センサにより構成されており、不図示のセンサ駆動回路によって駆動制御される。撮像部２は、このセンサ駆動回路からの読み出し制御信号を受けると、変換した電気信号（映像信号）、例えば、サブサンプリング、ブロック読み出しして得られる信号を、画像データとして出力する。
【００２２】
撮像制御部３は、本装置の操作者からの操作指示（画角調整指示、シャッター押下、など）、パターン登録部５や入力パターン識別部６から指示、に基づいて、撮像を行うタイミングを制御する。
【００２３】
画像記録部４は、半導体メモリ等で構成されており、撮像部２から出力された画像データを一時的に保持し、パターン登録部５、入力パターン識別部６からの要求に応じて、この画像データを転送する。
【００２４】
パターン登録部５は、画像記録部４に保持されている画像データを取得し、取得した画像データから識別対象のオブジェクトの情報を抽出し、記録・保持する。パターン登録部５については、後で詳しく説明する。
【００２５】
入力パターン識別部６は、画像記録部４に保持されている画像データを取得し、取得した画像データと、パターン登録部５が保持している情報と、を用いて、この画像データからパターン、より典型的には、オブジェクトの識別を行う。入力パターン識別部６については、後で詳しく説明する。
【００２６】
外部出力部７は、典型的には、CRTやTFT液晶等のモニタであり、撮像部２や画像記録部４から取得した画像データに基づく画像を表示したり、この画像に更に、パターン登録部５や入力パターン識別部６により抽出、識別された情報を重畳表示する。なお、外部出力部７はモニタ以外にも、例えば、外部機器との接続を行うためのインターフェースとしても良い。その場合、外部出力部７は、本装置で扱う様々なデータ（画像データ、パターン登録部５や入力パターン識別部６による抽出、識別された情報）を外部機器に送出してもよい。
【００２７】
以上説明した撮像部２、撮像制御部３、画像記録部４、パターン登録部５、入力パターン識別部６、外部出力部７は何れも、接続バス８に接続されており、各部はこの接続バス８を介して互いに情報の送受信を行うことができる。
【００２８】
＜パターン識別装置１００が行う全体処理について＞
次に、図２を用いて、パターン識別装置１００が行う全体処理、即ち、撮像した画像データ中のパターンの識別処理について説明する。なお、以下では説明上、この識別対象パターンを人物の顔として説明するが、識別対象パターンが他の如何なるものであっても、以下の処理は同様に適用することができる。
【００２９】
先ず、ステップＳ２００では、パターン登録部５は、結像光学系１、撮像部２を介して画像記録部４に記録された画像データを取得する。次に、ステップＳ２０１では、パターン登録部５は、この取得した画像データから、人の顔を検出する処理を実行する。画像データから人の顔を検出する方法は、周知の技術を用いればよい。例えば、「特許３０７８１６６号公報」や「特開２００２−８０３２号公報」にて開示されているような技術を用いればよい。
【００３０】
そしてパターン登録部５が１以上の人の顔を検出したのであれば、処理はステップＳ２０２を介してステップＳ２０３に進むし、１つも人の顔を検出していないのであれば、処理はステップＳ２０２を介して本処理を終了する。
【００３１】
ステップＳ２０３では、入力パターン識別部６は、パターン登録部５が検出した人の顔に係る情報を用いて、この顔の識別処理を実行する。ステップＳ２０３における処理の詳細については後述する。
【００３２】
次に、ステップＳ２０４では、入力パターン識別部６は、ステップＳ２０３で識別した顔が、過去に識別した顔の何れかに該当するか否かを判断する。係る判断の結果、ステップＳ２０３で識別した顔が、過去に識別した顔の何れかに該当する場合には、処理はステップＳ２０５に進むし、何れにも該当しない場合には、処理はステップＳ２０７に進む。
【００３３】
ステップＳ２０５では、入力パターン識別部６は、ステップＳ２０３において識別のために用いた情報（ステップＳ２０１で検出した顔に係る情報）を画像記録部４等の記憶装置に記録するか否かを判断する。記録するか否かは、予め設定しておいても良いし、ユーザが外部インターフェースやGUIなどを操作することで指定しても良い。
【００３４】
何れにせよ、ステップＳ２０３において識別のために用いた情報（ステップＳ２０１で検出した顔に係る情報）を画像記録部４等の記憶装置に記録する場合は、処理はステップＳ２０６に進むし、記録しない場合には、処理はステップＳ２０７に進む。
【００３５】
ステップＳ２０６では、パターン登録部５は、ステップＳ２０３において識別のために用いた情報（ステップＳ２０１で検出した顔に係る情報）を画像記録部４等の記憶装置に記録する。
【００３６】
そして、パターン登録部５が検出した全ての顔について以上の処理を行った場合は、処理はステップＳ２０７を介してステップＳ２０８に進むし、未だ以上の処理の対象となっていない顔がある場合は、処理はステップＳ２０７を介してステップＳ２０３に戻る。
【００３７】
ステップＳ２０８では、外部出力部７は、撮像部２や画像記録部４から取得した画像データに基づく画像を表示したり、この画像に更に、パターン登録部５や入力パターン識別部６により抽出、識別された情報を重畳表示する。
【００３８】
＜パターン登録部５について＞
次に、パターン登録部５について、図１（ｂ）を用いて説明する。登録パターン辞書データ生成部２１は、画像記録部４から取得した画像データから、パターンの個体を識別するために必要な登録パターン辞書データを生成する。例えば、非特許文献１に開示されているようなintra-classおよびextra-classの２クラス問題を判別する場合、典型的には、人物の顔画像を辞書データとすればよい。顔検出処理によって検出された人物の顔画像データを、大きさや向き（面内回転方向）などを正規化したのち、登録パターン辞書データ保持部２２に格納するようにしてもよい。
【００３９】
なお、画像データそのものの代わりに、識別時に必要なデータのみを登録パターン辞書データ保持部２２に格納することによって、辞書データ量を削減することも出来る。パターンの部分領域のベクトル相関をとって識別演算を行う場合には、予めその部分領域のみを切り出しておけばよい。
【００４０】
以上のように、適宜必要な情報を画像から抽出し、後述する所定の変換を行った後、パターンの識別を行うための特徴ベクトルとして、登録パターン辞書データ保持部２２に格納する。登録パターン辞書データ生成部２１で行われる具体的な処理の内容については、後述する。
【００４１】
登録パターン辞書データ選択部２３は、入力パターン識別部６からの要求に応じて、登録パターン辞書データ保持部２２から必要な登録パターン辞書データを読み出し、入力パターン識別部６に転送する。
【００４２】
＜登録パターン辞書データ生成部２１＞
次に、登録パターン辞書データ生成部２１について、図１（ｃ）を用いて説明する。部分領域設定部３１は、画像記録部４から取得した画像データ（登録用パターンの画像データ）に対して、特徴ベクトル抽出部３２が特徴ベクトルを抽出する部分領域の位置と範囲を設定する。設定する位置と範囲は、機械学習の方法を用いて予め決めておくとよい。例えば、部分領域の候補を複数設定しておき、そのうち、AdaBoostを用いて選択するようにしてもよい。また、後述するように、部分領域の組み合わせを多数用意しておき、その組み合わせを１つの候補として、AdaBoostで選択するようにしてもよい。実際にAdaBoostを適用して、部分領域やその組み合わせを決める方法については、後述する入力パターン識別部６の説明で詳しく述べることにする。
【００４３】
また、部分領域の数は、処理時間などに応じて予め所定の数として決めておくとよい。また、予め用意した学習用サンプルに対して、十分な識別性能を得られる数を計測し、これを部分領域の数として設定しても良い。
【００４４】
特徴ベクトル抽出部３２は、画像記録部４から取得した画像データ（登録用パターンの画像データ）から、上記部分領域内の特徴ベクトルを抽出する。パターンが画像中の人物の顔である場合、典型的には、顔を含む画像から、識別に必要なデータを取り出す処理を行う。識別に必要なデータは、部分領域設定部３１によって設定された部分領域から、その輝度値を特徴ベクトルとして抽出する。また、輝度値を直接取得するのではなく、ガボアフィルタなど何らかのフィルタ演算を施した結果から特徴ベクトルを抽出してもよい。特徴ベクトル抽出部３２で行われる処理の内容については後述する。
【００４５】
特徴ベクトル変換部３３は、特徴ベクトル抽出部３２によって抽出された特徴ベクトルに対して、特徴ベクトル変換用データ保持部３４に格納されているデータを用いて、所定の変換を施す。特徴ベクトルの変換には、例えば、主成分分析（ＰＣＡ）による次元圧縮や、独立成分分析（ＩＣＡ）による次元圧縮などがある。また、局所性保存射影（LPP）や、局所フィッシャー判別分析（LＦＤＡ）による次元圧縮を行ってもよい。
【００４６】
特徴ベクトルの変換方法にＰＣＡを用いた場合、その基底数（特徴ベクトルの次元削減数）や、どの基底を用いるか、などのパラメータが存在する。基底数の代わりに、基底ベクトルに対応する固有値の和、すなわち累積寄与率を指標としてもよい。これらのパラメータを、部分領域ごとに異なったものにすることもできる。実際にどのようなパラメータを設定するかは、予め機械学習によって決めることができる。
【００４７】
特徴ベクトル変換用データ保持部３４は、特徴ベクトル変換部３３が特徴ベクトルの変換を行う為に必要とするデータを保持している。ここで、特徴ベクトルの変換に必要なデータとは、上述のような、基底数（次元削減数）などの設定情報や、予め学習によって求めておいた基底ベクトルの数値データなどである。
【００４８】
次に、図３（ａ）を用いて、特徴ベクトル抽出部３２、特徴ベクトル変換部３３が行う処理について説明する。ステップＳ５００では、特徴ベクトル抽出部３２は、部分領域設定部３１が設定した部分領域を示す情報を、部分領域設定部３１から取得する。
【００４９】
次に、ステップＳ５０１では、特徴ベクトル抽出部３２は、画像記録部４から画像データを取得する。次に、ステップＳ５０２では、特徴ベクトル抽出部３２は、この取得した画像データ中の、ステップＳ５００で取得した情報が示す部分領域から、特徴ベクトルを取得する。
【００５０】
ここで、特徴ベクトルは、典型的には部分領域の画像データから取得した輝度データをベクトル化したものであってもよい。また、特徴ベクトルは、LBP（Local Binary Pattern）変換など、所定の変換を施したものから、対応する部分領域を特徴ベクトル化するようにしてもよい。
【００５１】
次に、ステップＳ５０３では、特徴ベクトル変換部３３は、ステップＳ５０２で取得した特徴ベクトルに対して、特徴ベクトル変換用データ保持部３４から取得したデータに基づいた変換処理を行う。すでに述べたように、本ステップでは、典型的には、PCAによる次元削減や、ICAによる次元削減、などを特徴ベクトルに対して行う。その際、取得した特徴ベクトルに対して、所定の統計値、典型的には、平均ベクトルや、要素の最大値などを求めておいてもよい。また、部分特徴として、画像から切り出した位置の情報を記録するようにしてもよい。後述するように、登録パターンと入力パターン間で対応する部分特徴の比較・評価を行うために、対応関係を示す識別子を記録するようにしてもよい。これらの情報は、登録パターン辞書データ生成部２１からの出力として、特徴ベクトルとともに出力するようにするとよい。
【００５２】
以上のような処理を行うことで部分領域を設定し、設定した部分領域から特徴ベクトルを抽出し、抽出した特徴ベクトルを変換し、変換後の特徴ベクトルのデータを、登録パターン辞書データ生成部２１の出力として、パターン辞書データ保持部２２に格納する。
【００５３】
＜入力パターン識別部６＞
次に、入力パターン識別部６について、図４（ａ）を用いて説明する。入力パターン識別用データ生成部４１は、画像記録部４から取得した画像データから、パターンの識別に必要な情報の抽出を行う。登録パターン辞書データ取得部４２は、パターン登録部５より、パターンの識別に必要な辞書データを取得する。入力パターン識別演算部４３は、入力パターン識別用データ生成部４１から取得した情報と、登録パターン辞書データ取得部４２から取得した辞書データとを用いて、パターンの識別処理を行う。係る識別処理について詳しくは、後述する。
【００５４】
次に、入力パターン識別部６が行う処理について、図３（ｂ）を用いて説明する。先ず、ステップＳ７００では、登録パターン辞書データ取得部４２は、パターン登録部５より、パターンの識別に必要な辞書データを取得する。
【００５５】
次に、ステップＳ７０１では、入力パターン識別用データ生成部４１は、画像記録部４から画像データを取得する。そしてステップＳ７０２では、入力パターン識別用データ生成部４１は、この取得した画像データから、パターンの識別に必要な情報の抽出を行う。本ステップにおける処理の詳細については後述する。
【００５６】
次に、ステップＳ７０３では、入力パターン識別演算部４３は、入力パターン識別用データ生成部４１から取得した情報と、登録パターン辞書データ取得部４２から取得した辞書データとを用いて、パターンの識別処理を行う。係る識別処理の結果として出力する情報は、登録済みデータ（辞書データ）との一致／不一致をバイナリ（０若しくは１）で表現する場合と、一致度を正規化した値を（０〜１の実数値）尤度として表現する場合とが考えられる。
【００５７】
さらに、登録パターン（登録者）が複数（複数人）ある場合には、それぞれの登録パターン（登録者）に対して、尤度を出力しても良いが、最も良く一致した登録パターンに対する結果だけを出力しても良い。また、登録パターンに対する尤度ではなく、登録パターンが属するクラスに対しての尤度を出力してもよい。すなわち、人物の場合には、個々の登録顔画像への結果ではなく、人物のID（名前）に対する尤度を出力するようにする。なお、ステップＳ７０３における処理の詳細については後述する。
【００５８】
＜入力パターン識別用データ生成部４１について＞
次に、入力パターン識別用データ生成部４１について、図４（ｂ）を用いて説明する。図４（ｂ）に示した構成は、図１（ｃ）に示した構成とほぼ同じである。即ち、部分領域設定部３１と部分領域設定部５１とはほぼ同じであり、特徴ベクトル抽出部３２と特徴ベクトル抽出部５２とはほぼ同じである。また、特徴ベクトル変換部３３と特徴ベクトル変換部５３とはほぼ同じであり、特徴ベクトル変換用データ保持部３４と特徴ベクトル変換用データ保持部５４とはほぼ同じである。然るに、図４（ｂ）に示した各部については、図１（ｃ）に示した各部についての説明と同じであるので、図４（ｂ）に係る説明は省略する。
【００５９】
＜入力パターン識別演算部４３について＞
次に、入力パターン識別演算部４３について、図４（ｃ）、５（ａ）を用いて説明する。ここでは一例として、入力パターンの識別を、対応する部分特徴間の類似性をもとに判定する場合について説明する。
【００６０】
先ず、ステップＳ１００１では、入力パターン識別用データ取得部６１は、入力パターン識別用データ生成部４１が生成した情報を、入力パターン識別用データとして、入力パターン識別用データ生成部４１から取得する。次に、ステップＳ１００２では、登録パターン辞書データ取得部６２は、登録パターン辞書データ取得部４２から、登録パターンの辞書データを取得する。
【００６１】
ステップＳ１００３で部分特徴合成部６３は、入力パターン識別用データ取得部６１が取得した入力パターン識別用データと、登録パターン辞書データ取得部６２が取得した登録パターンの辞書データとを用いて部分特徴の合成を行い、合成部分特徴を生成する。
【００６２】
ここで、合成部分特徴とは、複数の部分特徴から構成される特徴のことである。合成部分特徴は、登録パターンおよび入力パターンの部分特徴をそれぞれ組み合わせ、登録パターンと入力パターンとで対応が取れるように生成される。典型的には、数個の部分特徴を組み合わせ、複数の合成部分特徴を合成して、出力する。この部分特徴合成処理の詳細については後述する。
【００６３】
次に、ステップＳ１００４では、合成部分特徴評価部６４は、部分特徴合成部６３が生成した合成部分特徴の評価を行う。典型的には、複数の合成部分特徴について、登録パターンと入力パターンとの類似性を表す数値を算出し、それらを統合した１つの値として出力する。この合成部分特徴評価処理の内容についても後述する。
【００６４】
次に、ステップＳ１００５では、評価結果保持部６５は、ステップＳ１００４において評価された結果としての値を自身に格納する。そして、全ての辞書データについてステップＳ１００１〜ステップＳ１００５の処理を行った場合には、処理はステップＳ１００６を介してステップＳ１００７に進むし、行っていないのであれば、処理はステップＳ１００６を介してステップＳ１００２に戻る。
【００６５】
ステップＳ１００７では、評価結果統合部６６は、評価結果保持部６５に記憶保持されている評価結果の統合を行う。係る処理は、例えば、最も単純には、合成部分特徴評価処理の出力値が最も大きかった登録パターン辞書データを、識別結果として出力するような処理が考えられる。また、一致度の高かった上位の登録パターン辞書データの結果をリストとして出力してもよい。
【００６６】
＜部分特徴合成部６３について＞
次に、部分特徴合成部６３について、図４（ｄ）を用いて説明する。特徴ベクトル取得部７１は、入力パターン識別用データ生成部４１から取得した入力パターン識別用データ、登録パターン辞書データ取得部４２から取得した登録パターンの辞書データ、から特徴ベクトルおよびその付帯情報を取得し、一時的に保持する。
【００６７】
付帯情報とは、例えば、特徴ベクトルとして画像から切り出された際の位置情報や、PCAなどの切り出しベクトルに対して行われた変換のパラメータ、もしくはそれらを文字列として表現した識別子などである。
【００６８】
部分特徴合成パラメータ保持部７２は、特徴ベクトル結合部７３によって参照される、合成部分特徴を生成するためのパラメータ（部分特徴合成パラメータ）を保持する。このパラメータは、典型的には、１つの特徴として合成する部分特徴の数や、対象となる特徴ベクトルの切り出し位置の座標情報もしくは前述のような特徴ベクトルの識別子などである。このパラメータの決め方については、機械学習の方法を用いることができる。あとで、AdaBoostの方法を用いた、部分特徴合成パラメータの決定方法について説明する。
【００６９】
特徴ベクトル合成部７３は、部分特徴合成パラメータ保持部７２から部分特徴合成パラメータを取得し、これを参照して特徴ベクトルの結合を行う。係る結合についても詳しくは後述する。
【００７０】
次に、部分特徴合成部６３が行う処理について、図５（ｂ）を用いて説明する。先ず、ステップＳ１２０１では、特徴ベクトル取得部７１は、登録パターン辞書データまたは入力パターン識別用データから、部分特徴ベクトルを取得する。次に、ステップＳ１２０２では、特徴ベクトル結合部７３は、部分特徴合成パラメータ保持部７２から部分特徴合成パラメータを取得する。そしてステップＳ１２０３では、特徴ベクトル結合部７３は、ステップＳ１２０２で取得した部分特徴合成パラメータを参照し、特徴ベクトル取得部７１が取得した部分特徴ベクトルのうち、結合対象の組み合わせを決定する。具体的には、複数ある部分特徴に対応する特徴ベクトルを、上記パラメータに従ってグループ分けする。１つのグループに含まれる部分特徴の数や、全ての部分特徴を幾つのグループに分割するか、等を指定するパラメータは、予め機械学習の方法を用いて決めておくとよい。あとで、AdaBoostを用いた、これらパラメータの決定手順について説明する。
【００７１】
次に、ステップＳ１２０４では、特徴ベクトル結合部７３は、パラメータに基づいてグループ分けされた特徴ベクトルを連結する。係る連結は、複数のベクトルを１つの数値列として結合してもよいし、各特徴ベクトルに同一グループに属することを表すタグ情報を付加することによって行ってもよい。連結された特徴ベクトルは、後段の処理において、１つの数値列として扱われる場合もあるが、個々の部分特徴ベクトルとして評価される場合もあるので、連結点の情報を保持しておくとよい。また、合成部分特徴は、後段の処理で、登録パターンから生成されたものと、入力パターンから生成されたものが対応付けられて処理される場合があるので、その対応がつくように合成部分特徴を識別可能なようにする識別子を付加するとよい。
【００７２】
＜合成部分特徴評価部６４について＞
次に、合成部分特徴評価部６４について、図６（ａ）を用いて説明する。合成部分特徴ベクトル取得部８１は、部分特徴合成部６３から、合成部分特徴を取得する。合成部分特徴評価パラメータ保持部８２は、後述の部分特徴数量計測部８３、合成部分特徴尤度算出部８４で用いるパラメータ群を保持している。パラメータの詳細については、別途説明する。
【００７３】
部分特徴数量計測部８３は、１つの合成部分特徴に含まれる部分特徴が、所定の基準を満たしているか否か判定し、所定の条件を満たしている部分特徴の数量を計測する。部分特徴数量計測部８３が行う処理の詳細については後述する。
【００７４】
合成部分特徴尤度算出部８４は、合成部分特徴の尤度を算出する。この合成部分特徴の尤度を算出するための処理についての詳細は後述する。合成部分特徴評価値算出部８５は、部分特徴数量計測部８３が計測した結果と、合成部分特徴尤度算出部８４が求めた合成部分特徴の尤度と、を用いて、合成部分特徴の評価値を算出する。この評価値を算出するための処理の詳細についても後述する。
【００７５】
合成部分特徴は複数あってもよいので、この評価値を算出する為の処理では、複数ある合成部分特徴のそれぞれに対する評価値を１つの値に統合する処理も行う。例えば、全ての合成部分特徴に対する評価値の平均や、評価値の高い順に上位から所定個数の評価値の平均、等を最終的な評価値として出力する。
【００７６】
次に、合成部分特徴評価部６４が行う処理について、図７（ａ）を用いて説明する。先ず、ステップＳ１４０１では、合成部分特徴ベクトル取得部８１は、部分特徴合成部６３から、合成部分特徴（合成部分特徴ベクトル）を取得する。合成部分特徴ベクトルは、登録パターンから生成されたものと、入力パターンから生成されたものがあるが、ここでは、登録と入力とで対応する合成部分特徴をそれぞれ取得する。
【００７７】
次に、ステップＳ１４０２では、部分特徴数量計測部８３は、合成部分特徴評価パラメータ保持部８２から、評価用のパラメータを取得する。評価用のパラメータは、後段の処理で使われるパラメータであり、例えば、閾値などの数値データや、登録パターンの部分特徴と、対応する入力パターンの部分特徴とを評価するための評価関数などがある。なお、これらパラメータは、部分特徴ごとに設定されていてもよいし、同一の合成部分特徴に属する部分特徴で共通のものであってもよい。
【００７８】
次に、ステップＳ１４０３では、部分特徴数量計測部８３は、ステップＳ１４０２で取得したパラメータを参照して、合成部分特徴ベクトルに属する部分特徴の評価を行い、所定の条件を満たす部分特徴の数量を計測する。本ステップにおける処理の詳細については後述する。
【００７９】
次に、ステップＳ１４０４では、合成部分特徴尤度算出部８４は、合成部分特徴の尤度を算出する。合成部分特徴の尤度については、予め機械学習を用いて定めることもできるが、入力パターンと登録パターンの対応する合成部分特徴に応じて、動的に算出することもできる。この合成部分特徴の尤度を算出するための処理についての詳細は後述する。
【００８０】
次に、ステップＳ１４０５では、合成部分特徴評価値算出部８５は、部分特徴数量計測部８３が計測した結果と、合成部分特徴尤度算出部８４が求めた合成部分特徴の尤度と、を用いて、合成部分特徴の評価値を算出する。この評価値を算出するための処理の詳細についても後述する。
【００８１】
そして、全ての合成部分特徴についてステップＳ１４０１〜ステップＳ１４０５の処理を行ったのであれば、処理はステップＳ１４０６を介して本処理を終了するし、行っていないのであれば、処理はステップＳ１４０６を介してステップＳ１４０１に戻る。
【００８２】
＜ステップＳ１４０３における処理の詳細について＞
次に、ステップＳ１４０３における処理の詳細について、図７（ｂ）を用いて説明する。先ず、ステップＳ１５０１では、部分特徴数量計測部８３は、ステップＳ１４０２で取得したパラメータを参照して、部分特徴の評価を行う。ここでは、評価の一例として、登録パターンの部分特徴と、対応する入力パターンの部分特徴と、の類似度を用いる方法を説明する。ここで類似度θは、例えば、部分特徴ベクトル間の内積によって求めることができる。より具体的には、以下の式で計算することができる。
【００８３】
【数１】
0005424819.tif 000002
【００８４】
ここで、uおよびvは、それぞれ登録パターンおよび入力パターンから生成した部分特徴ベクトルを表わす。ｌは特徴ベクトルの次元数を表わす。なお、類似度については他の求め方も考えられ、例えば、特徴ベクトル間の正規化相関を類似度として用いてもよいし、特徴ベクトル間の距離を類似度として用いてもよい。
【００８５】
次に、ステップＳ１５０２では、部分特徴数量計測部８３は、このようにして求めた類似度を評価する。具体的には、例えば、ステップＳ１５０１で求めた類似度が所定の閾値を超えているか否かを判定する。
【００８６】
同一合成部分特徴に含まれる全ての部分特徴についてステップＳ１５０１，Ｓ１５０２の処理を行った場合、処理はステップＳ１５０３を介してステップＳ１５０４に進み、行っていない場合は、処理はステップＳ１５０３を介してステップＳ１５０１に戻る。
【００８７】
ステップＳ１５０４では、部分特徴数量計測部８３は、類似度が所定の基準を超えた部分特徴の数量を計測する。典型的には、閾値を超えた部分特徴の個数を数えればよい。数量ｎの計測処理において、部分特徴の集計関数を以下のように定義することもできる。
【００８８】
【数２】
0005424819.tif 000003
【００８９】
【数３】
0005424819.tif 000004
【００９０】
ここで、ｍは同一合成部分特徴内にある部分特徴の個数、ωは閾値を示す。このようにすることにより、閾値近傍にある部分特徴を考慮して部分特徴の数量を測定することができる。
【００９１】
＜合成部分特徴尤度算出部８４について＞
次に、合成部分特徴尤度算出部８４について、図６（ｂ）を用いて説明する。部分特徴ベクトル情報取得部９１は、合成部分特徴ベクトルの構成要素である部分特徴ベクトルの情報を、合成部分特徴ベクトル取得部８１から取得する。この取得する情報は、具体的には、部分特徴ベクトルの次元数、切り出しもとのパターン上での空間的な位置や、大きさ、特徴ベクトル変換方法や付随するパラメータ情報などである。パラメータ情報は、特徴ベクトル変換方式がPCAである場合、次元削減数や累積寄与率、PCAの学習に用いたデータ数などがあげられる。この取得する情報は、部分合成特徴のデータと共に合成部分特徴ベクトル取得部８１が取得したものである。
【００９２】
部分特徴ベクトル統計情報取得部９２は、部分特徴ベクトル情報取得部９１が取得した情報を元に、その統計情報を取得する。統計情報を取得するための処理の詳細については後述する。
【００９３】
統計情報保持部９３は、上記統計情報を保持する。なお、統計情報保持部９３は、予め装置外で求められた統計情報を保持するようにしてもよい。尤度算出部９４は、部分特徴ベクトル統計情報取得部９２から得られた情報を元に、合成部分特徴ベクトルの尤度を算出する。具体的な処理の内容は、後述する。
【００９４】
次に、合成部分特徴尤度算出部８４が行う処理について、図８（ａ）を用いて説明する。先ず、ステップＳ１７０１では、部分特徴ベクトル情報取得部９１は、合成部分特徴ベクトルの構成要素である部分特徴ベクトルの情報を、合成部分特徴ベクトル取得部８１から取得する。ここで、部分特徴ベクトルの情報とは、上述したような、部分特徴ベクトルの切り出し元であるパターン上での空間的な位置や、大きさなど様々な情報が考えられる。
【００９５】
次に、ステップＳ１７０２では、部分特徴ベクトル統計情報取得部９２は、部分特徴ベクトル情報取得部９１が取得した情報を元に、その統計情報を取得する。そしてステップＳ１７０３では、尤度算出部９４は、部分特徴ベクトル統計情報取得部９２から得られた統計情報をもとに、合成部分特徴の尤度を算出する。ここでは、一例として、部分特徴ベクトルの情報が、切り出し元のパターン上での空間的な位置と大きさを示し、取得する統計情報がその分散である場合について説明する。部分特徴ベクトルの位置と、大きさについてそれぞれ、以下の式に従って分散を求める。
【００９６】
【数４】
0005424819.tif 000005
【００９７】
【数５】
0005424819.tif 000006
【００９８】
ここでｌは、合成部分特徴に含まれる部分特徴の数、ｖおよびｖ−はそれぞれ部分特徴の切り出し位置とその平均、ｓおよびｓ−はそれぞれ、部分特徴の大きさとその平均、を表す。そして、上記の統計情報から、合成部分特徴の尤度を以下の式で求めることができる。
【００９９】
【数６】
0005424819.tif 000007
【０１００】
このように、部分特徴の位置と大きさの分散の平均を、合成部分特徴の尤度とすることによって、以下のような効果が期待できる。すなわち、合成部分特徴を構成する部分特徴の付帯情報（位置、大きさ）の分散が大きいほど、さまざまな尺度で、識別対象のパターンを観測していることになり、その合成部分特徴の妥当性が高いことを直接的に表現できる。識別対象パターンが画像中の人物の顔である場合、目の近傍だけで判定するよりも、口や鼻などの近傍も同時に判定に用いたほうが、妥当性が高いと考えられる。
【０１０１】
部分特徴ベクトルの空間的な情報ではなく、特徴ベクトルの変換に関するパラメータの分散を、尤度にしてもよい。具体的には、部分特徴ごとに次元圧縮率（PCAの累積寄与率）が異なる場合、その次元圧縮率の分散を尤度にしてもよい。
【０１０２】
また、特徴ベクトルの抽出方法の違いを、尤度にしてもよい。もっとも単純には、抽出方法の種類をそのまま尤度として用いる。例えば、合成部分特徴内の部分特徴がすべて輝度画像から抽出されている場合は、尤度１とし、複数の方法、例えば、輝度画像とガボアフィルタをかけた画像から抽出している場合は、尤度２などとすればよい。
【０１０３】
また、尤度を予め学習データから定めておいてもよい。部分特徴ごとの学習データに対する識別性能を予め計測して統計情報保持部９３に格納し、それらの平均を合成部分特徴の尤度とすることもできる。また、部分特徴の分散から求めた尤度と、学習データから求めた尤度とをあわせて、合成部分特徴の尤度として算出してもよい。
【０１０４】
＜合成部分特徴評価値算出部８５が行う処理について＞
合成部分特徴評価値算出部８５が行う処理について、図８（ｂ）を用いて説明する。先ず、ステップＳ１８０１では、合成部分特徴評価値算出部８５は、部分特徴数量計測部８３から合成部分特徴ベクトルを取得する。次に、ステップＳ１８０２では、合成部分特徴評価値算出部８５は、部分特徴数量計測部８３が計測した結果をこの部分特徴数量計測部８３から取得する。次に、ステップＳ１８０３では、合成部分特徴評価値算出部８５は、合成部分特徴尤度算出部８４が求めた合成部分特徴の尤度を、この合成部分特徴尤度算出部８４から取得する。次に、ステップＳ１８０４では、合成部分特徴評価値算出部８５は、以下の式７に基づいて、合成部分特徴の評価値を算出する。
【０１０５】
【数７】
0005424819.tif 000008
【０１０６】
ここで、ｎは部分特徴数量の計測結果であり、σは合成部分特徴の尤度である。このようにすることにより、合成部分特徴に属する部分特徴が所定の基準を満たす数量の違いで、評価値を大きく変化させることができる。部分特徴の組み合わせで識別を行う効果は、複数の部分特徴が基準を満たしている状態の評価値を、１つだけが満たしている状態の評価値と大きく差をつけることにある。人物の顔を識別する例で説明すると、他人同士でも、照明条件や表情の変動などで偶然に部分特徴が一致する場合は考えられるが、それが同時に複数の部分特徴で一致する確率は低いと考えられる。言い換えると、複数の部分領域が同時に一致している場合は、１つが一致している場合よりも、登録パターンと入力パターンとが同じクラスに属している可能性がより高まる。このような期待から、複数の部分特徴が基準を満たしている状態を、その数量で代表させ、識別に用いる。
【０１０７】
評価に数量を用いることで、より変動に対してロバストな識別が行える可能性がある。例えば、上記式７の代わりに、例えば、以下のような評価関数を用いることもできる。
【０１０８】
【数８】
0005424819.tif 000009
【０１０９】
ここでｒは、登録パターンと入力パターンとで対応する部分特徴の類似度であり、ｗは、重み付き和を取るための各類似度の重みである。このようにした場合、重みの大きい類似度が、照明変動などの影響で、期待される値と異なった場合、評価値への影響も大きくなる。それに対して、式７のように数量で代表させることによって、特定の部分特徴の重みが大きくなることが回避され、結果として、変動に対してロバストになると期待される。また、合成部分特徴の尤度を乗じることで、複数ある合成部分特徴間に重みづけを行うことができる。
【０１１０】
式７や式８による評価値の算出は、あくまでひとつの例であり、これ以外の表現も当然考えられる。例えば、部分特徴の数量ｎの多項式でもよい。また、直接部分特徴の数量ｎを用いるのではなく、合成部分特徴に含まれる部分特徴の数ｌで割ることによって正規化してから用いてもよい。このようにすることにより、複数の合成部分特徴間で、含まれる部分特徴にばらつきがある場合でも、各合成部分特徴の評価値のレベルを一定にすることができる。
【０１１１】
本実施形態の本質は、部分特徴の数量ｎに応じて合成部分特徴の評価値が定められることにある。実際の合成部分特徴の評価関数は、識別したいカテゴリに応じて最適なものを選択すればよく、ここでの説明に用いた関数形に限定するものではない。
【０１１２】
合成部分特徴が複数ある場合は、これらを統合し、１つの値として出力する。統合の方法としては、最も単純には、それらの平均が考えられる。式７や式８などで求められた評価値の平均を最終的な出力値とする。また、尤度の高いものだけを用いるようにしてもよい。また、平均を取る前に、各合成部分特徴の尤度が高いものだけを選択し、それらだけで平均を取るようにしてもよい。
【０１１３】
＜部分特徴および合成部分特徴の学習方法について＞
次に、部分特徴を組み合わせて合成部分特徴を生成するためのパラメータの学習に、AdaBoostを用いた場合の手順について説明する。なお、この処理は予めオフラインで行うことができるので、必ずしも画像処理装置内で行う必要はない。そして何れにせよ、学習されたパラメータは、部分特徴合成パラメータ保持部７２に格納される。また、ここで説明する処理は、概ね公知の技術に関するものなので、本実施形態に係る部分（本質に関連する部分）以外は、適宜省略する。
【０１１４】
先ず、部分領域の学習処理の一例について、図８（ｃ）を用いて説明する。なお、上述の通り、係る処理の主体は画像処理装置であっても良いし、他の装置であっても良い。まず、ステップＳ１９０１では、学習データを取得する。人物の顔を扱う場合は、学習データとして、個人の識別子を表すラベルのついた顔を含む画像を多数用意する。その際、１人あたりの画像数が十分用意されていることが望ましい。照明変動や、表情の変動に頑健な部分特徴および特徴ベクトルの変換方法を学習するためには、学習データに上記変動を十分含んだサンプルを用意することが重要である。これにより、ラベルつきの顔画像から、個人の顔の変動を表すデータ（intra-classに属するデータ）と、他人間の顔の変動を表すデータ（extra-classに属するデータ）の２種類のデータを生成することができる。即ち、同じラベルが付いた顔画像同士からintra-classのデータ、異なるラベルが付いた顔画像同士からは、extra-classのデータを作ることができる。
【０１１５】
次に、ステップＳ１９０２では、弱仮説の選択処理を行う。弱仮説は、本実施形態における部分特徴の組み合わせ（合成部分特徴）に対応付けることができる。即ち、空間的な位置や、大きさ、特徴ベクトルの変換方法、次元削減数等、部分特徴に関するパラメータが異なる部分特徴を予め多数用意しておく。そして、それらパラメータの異なる部分特徴の組み合わせを、弱仮説に対応付け、AdaBoostのフレームワークで選択する。また、部分特徴の組み合わせの他に、合成部分特徴の評価方法も１つのパラメータとして考えることもできる。すなわち、合成部分特徴が同じ部分特徴で構成されていても、式７や式８に代表される評価関数が異なれば、違う弱仮説として扱うこともできる。
【０１１６】
そして、部分特徴と評価に関するパラメータの組み合わせの数だけ、弱仮説を用意しておき、ステップＳ１９０１で取得した学習データに対して、AdaBoostの枠組みに沿って、もっとも性能のよい弱仮説を選択する。すなわち、部分特徴の組み合わせとその評価方法が、学習データに対して最適なものを選択する。性能評価を行うための具体的な手順は、合成部分特徴評価部６４に係る説明で述べた例のようにするとよい。同一ラベルの人物間（画像は異なる）と、異なるラベルの人物間とで、それぞれ正しい識別結果になっているか判定し、学習データの重み付き誤り率を求める。
【０１１７】
そして、ステップＳ１９０３では、もっとも性能のよい弱仮説を選択した後、その弱仮説の学習データに関する識別結果をもとに、学習データの重み付けを更新する。そして次に、弱仮説数が所定数に達しているか否かを判定する。係る判定の結果、所定数に達していると判定した場合、本処理は終了する。一方、所定数に達していないと判定した場合には、処理はステップＳ１９０２に戻り、新たな弱仮説の選択を行う。
【０１１８】
なお、重みつき誤り率の算出や、学習データの重み付けの更新方法など、AdaBoostによる学習の詳細な手順は、下記の文献等に記載されている方法を適宜参照すればよい。
【０１１９】
Viola & Jones (2001) "Rapid Object Detection using a Boosted Cascade of Simple Features", Computer Vision and Pattern Recognition.
また、複数部分特徴の組み合わせを作る際に、遺伝的アルゴリズム（GA）などの最適化手法を適用するようにしてもよい。この場合、弱仮説を、AdaBoostの手続きに入る前に予め全て用意するのではなく、弱仮説を選択しながら、動的に候補を構築していく。すなわち、予め一部用意された弱仮説の候補（例えば、ランダムに部分特徴を組み合わせるなどして生成しておく）から、性能の良いものを選択しておくようにする。そして、その性能の良いもの同士を組み合わせながら、新しい弱仮説の候補を生成し、性能を評価していく。このようにすることにより、弱仮説の候補を効率的に絞り込むことが出来る。以上のようにして、学習時間の増加を抑えるようにするとよい。
【０１２０】
部分特徴のみを弱仮説にして、AdaBoostで選択し、部分特徴の組み合わせは、別の枠組みで選択するようにしてもよい。例えば、部分領域の組み合わせを多数作り、合成部分特徴尤度算出処理の例で説明した方法で尤度を評価し、尤度の高いものを選択するようにするとよい。また、それらを尤度の高いものを、新たな弱仮説として、AdaBoostの枠組みで選択してもよい。このようにすることにより、組み合わせ数の爆発で学習時間が膨大になってしまう問題に対処することができる。これにより、部分特徴に関するパラメータとそれらの組み合わせ、および評価方法に関するパラメータを、学習データを評価して決定することができる。
【０１２１】
［第２の実施形態］
本実施形態は、第１の実施形態と比して、パターン登録部５、入力パターン識別部６のそれぞれにおける処理内容が異なる。具体的には、第１の実施形態では、パターンの属性は考えなかったのに対し、本実施形態では、パターンの属性を推定し、パターンの属性に応じた合成部分特徴の設定を行う。
【０１２２】
なお、以下では、本実施形態が第１の実施形態と異なる点のみについて説明する。本実施形態に係る画像処理装置は、図１（ａ）に示した構成において、パターン登録部５、入力パターン識別部６をそれぞれ、パターン登録部１０５、入力パターン識別部１０６に置き換えた構成を有する。然るに、以下では、このパターン登録部１０５、入力パターン識別部１０６について説明する。また、以下では説明の便宜上、識別対象となるパターンを、画像中の人物の顔としているが、以下の説明が人物の顔以外のパターンに適用可能であることは言うまでもない。
【０１２３】
＜パターン登録部１０５について＞
先ず、本実施形態に係るパターン登録部としてのパターン登録部１０５について、図９（ａ）を用いて説明する。図９（ａ）に示す如く、パターン登録部１０５は、図１（ｂ）に示した構成に、登録パターン属性推定部１１４を加えた構成を有する。
【０１２４】
登録パターン属性推定部１１４は、画像記録部４から取得した画像データから、パターンの属性を推定する処理を行う。推定を行う具体的な属性は、パターンが特定のオブジェクトである場合、そのオブジェクトの大きさ、姿勢・向き、照明条件などが含まれる。パターンが特定のオブジェクト、より具体的には人物の顔である場合、顔の器官位置を検出する。具体的には、目、口、鼻等の構成要素の端点を検出する。端点を検出するアルゴリズムは、例えば、特許第３０７８１６６号に記載の畳み込み神経回路網を用いた方法などを用いることができる。端点は、左右の目、口の両端点、鼻等、個人の特徴を現すと考えられる部位を予め選択しておく。顔器官の端点の位置関係を、その属性として検出する。また、他の属性として、人物の年齢、性別、表情、などの属性を推定してもよい。これらの属性推定には公知の技術を用いることが出来る。例えば、特開２００３−２４２４８６号公報に開示されているような方法を用いることで、人物の属性を推定することができる。
【０１２５】
学習データを変えることによって、上記の方法で、人物だけでなく、一般の物体についても検出することができる。それによって、人物の顔にある顔器官以外の要素、例えば、メガネや、マスク、手など、オクリュージョンとなる物体を検出することもできる。上記のようなオクリュージョンがある人物の顔として、その属性に含めて考えることができる。
【０１２６】
属性推定に、カメラパラメータを用いるようにしても良い。例えば、撮像制御部３から、撮像制御用のAE（自動露出）、AF（自動焦点）に関するパラメータを取得することによって、照明条件などの属性を精度良く推定することが可能になる。ここで、カメラパラメータの具体例として、露出条件、ホワイトバランス、ピント、オブジェクトの大きさなどがあげられる。たとえば、露出条件およびホワイトバランスと、肌色成分領域に対応する色成分の対応表を予め作成し、ルックアップテーブルとして保持しておくことで、撮影条件に影響されないオブジェクトの色属性を推定することができる。また、被写体であるオブジェクトまでの距離をAFなどの距離測定技術を用いることによって測定し、オブジェクトの大きさを推定することが出来る。より詳細には、以下の式に従ってオブジェクトの大きさを推定することができる。
【０１２７】
【数９】
0005424819.tif 000010
【０１２８】
ここで、ｓはオブジェクトの画像上での大きさ（ピクセル数）、ｆは焦点距離、ｄは撮像部２からオブジェクトまでの距離、Ｓはオブジェクトの実際の大きさ、である。ただし、ｄ＞ｆであるとする。このように、撮影条件に影響されないオブジェクトの大きさを属性として推定することが可能になる。
【０１２９】
登録パターン属性推定部１１４で推定されたパターンの属性を示す属性情報は、登録パターン辞書生成部２１から出力される登録パターン辞書データと共に、登録パターン辞書データ保持部２２に格納される。
【０１３０】
登録パターン辞書データ生成部２１が行う処理も、第１の実施形態とは若干異なる。ここで、本実施形態に係る登録パターン辞書データ生成部２１が行う処理について、図１０（ａ）を用いて説明する。
【０１３１】
先ず、ステップＳ２１０１では、登録パターン属性推定部１１４から属性情報を取得する。取得する属性情報は、パターンが人物の顔である場合、典型的には、人物の顔の器官位置およびその端点の情報である。
【０１３２】
次に、ステップＳ２２０２では、ステップＳ２１０１で取得した属性情報を用いて、顔画像に対して、特徴ベクトル取得位置を設定する。特徴ベクトルの取得位置設定は、具体的には以下のようにする。
【０１３３】
まず、属性情報として取得した顔器官の複数端点のうち、所定の１点を基準点として設定する。さらに他の少なくとも２つの端点間の距離を測り、その２点間距離の所定倍の長さだけ基準点から離れた所に部分領域を設定する。基準点からの方向も予め定められた値を用いる。ここで、基準点となる端点、距離の基準となる２点、２点間距離の何倍かを決める定数、基準点からの方向などは、予め学習によって決めることができる。これらのパラメータの学習は、部分特徴のパラメータの中に含めることによって、第１の実施形態で説明したAdaBoostを用いた部分領域の選択方法によって実現することができる。ステップＳ２１０３、Ｓ２１０４はそれぞれ、図３（ａ）に示したステップＳ５０２、Ｓ５０３と同じであるので、係る説明は省略する。
【０１３４】
＜入力パターン識別部１０６について＞
次に、入力パターン識別部１０６について、図９（ｂ）を用いて説明する。図９（ｂ）に示す如く、入力パターン識別部１０６は、図４（ａ）に示した構成において、入力パターン識別演算部４３を入力パターン識別演算部１２３に置き換えると共に、入力パターン属性推定部１２４を加えた構成を有する。入力パターン属性推定部１２４は、登録パターン属性推定部１１４と同様の処理を行う。
【０１３５】
入力パターン識別用データ生成部４１は、画像記録部４から画像データを取得すると共に、入力パターン属性推定部１２４からの推定結果を用いて、特徴ベクトルおよびその変換処理を行う。パターン登録部１０５側での処理とほぼ同じになるので、その説明は省略する。
【０１３６】
入力パターン識別演算部１２３は、入力パターン識別用データ生成部４１、登録パターン辞書データ取得部４２、入力パターン属性推定部１２４、からの入力を元に、入力パターンの識別処理を行う。本実施形態に係る入力パターン識別演算部１２３が行う処理の詳細については後述する。
【０１３７】
登録パターン辞書データ取得部４２は、入力パターン識別演算部４３からのリクエストに基づいて、パターン登録部１０５中の登録パターン辞書データ保持部２２より、登録パターン辞書データを取得する。
【０１３８】
＜入力パターン識別演算部１２３＞
次に、入力パターン識別演算部１２３について、図１１を用いて説明する。入力パターン識別演算部１２３は、図４（ｃ）に示した構成において、部分特徴合成部６３、合成部分特徴評価部６４をそれぞれ部分特徴合成部１３３、合成部分特徴評価部１３４に置き換えると共に、入力パターン属性取得部１３７を加えた構成となっている。入力パターン属性取得部１３７は、入力パターン属性推定部１２４から属性情報を取得する。部分特徴合成部１３３、合成部分特徴評価部１３４のそれぞれの構成については第１の実施形態と同様であるが、実行する処理が若干異なる。
【０１３９】
＜部分特徴合成部１３３が行う処理について＞
次に、部分特徴合成部１３３が行う処理について、図１０（ｂ）を用いて説明する。先ず、ステップＳ２４０１では、第１の実施形態と同様にして、登録パターン辞書データまたは入力パターン識別用データから、部分特徴ベクトルを取得する。
【０１４０】
次に、ステップＳ２４０２では、第１の実施形態と同様にして、部分特徴合成パラメータを取得する。ここで取得するパラメータは、後段の部分特徴ベクトルを連結する処理に関するパラメータと、同じく後段で取得する入力パターンの属性を用いた処理に関するパラメータである。
【０１４１】
次に、ステップＳ２４０３では、属性情報を取得する。この取得する属性情報は、パターンが人物の顔である場合、典型的には、顔の向きや、大きさ、表情、または撮像時の照明条件、などである。
【０１４２】
次に、ステップＳ２４０４では、取得した属性情報を用いて、連結する対象の特徴ベクトルを決定する。そしてステップＳ２４０５では、この決定した特徴ベクトルを連結して最終的な合成部分特徴として出力する。
【０１４３】
連結対象の特徴ベクトルを決定する際に属性情報を用いる方法としては、予めパターンの属性別にパラメータを決めておき、それに応じて決定する方法が挙げられる。例えば、人物の顔の例で説明すると、顔が真横を向いている場合には、片方の目しか見えないので、見えていない部分の切り出し位置に対応する特徴ベクトルは連結対象からはずせばよい。
【０１４４】
入力パターンと登録パターンとで、属性が大きく異なるような場合に対応するため、その属性の変化に影響を受けにくい特徴ベクトルの組み合わせを作るようにするとよい。属性の変化に影響を受けにくい特徴ベクトルは、学習によって予め定めることができる。典型的には、以下のような手順で行う。
【０１４５】
すなわち、第１の実施形態のAdaBoostを用いたパラメータの学習方法において、予め学習データを、属性別、例えば、同じ顔の向きや、同じ表情をしたものに分類しておく。顔の向き別にいくつか学習サンプルを用意し、AdaBoostで特徴ベクトルを選択し、複数の顔向きで共通な特徴ベクトルが選択された場合、その特徴ベクトルは属性変化に影響を受けにくいと言える。また、予め属性別に学習データを用意しておいて、部分特徴の組み合わせをAdaBoostで選択するようにしておいてもよい。
【０１４６】
＜合成部分特徴評価部１３４について＞
次に、合成部分特徴評価部１３４について説明する。合成部分特徴評価部１３４が行う合成部分特徴評価処理は、合成部分特徴尤度算出処理と合成部分特徴評価値算出処理において、パターンの属性情報を用いる点が第１の実施形態と異なる。以下、それぞれの処理について、主に第１の実施形態と異なる点について説明する。
【０１４７】
＜合成部分特徴尤度算出処理について＞
合成部分特徴の尤度を算出する際に、パターンの属性情報を利用する方法について説明する。第１の実施形態では、合成部分特徴の尤度を、合成部分特徴内に含まれる部分特徴の統計量、より具体的には、位置や大きさなどのパラメータの分散を用いた。これに、パターンの属性情報を組み合わせると、より尤度そのものの信頼性を向上できると期待される。
【０１４８】
これを実現する１つの方法として、登録パターンと入力パターンとの属性情報の差異を利用するとよい。より具体的には、例えば人物の顔において、属性として顔の向きがわかった場合、尤度ηを以下の式のように定義する。
【０１４９】
【数１０】
0005424819.tif 000011
【０１５０】
ここで、σは、式６で求められるような、パターンの属性情報以外の情報から求められる尤度である。ＡＲ、ＡＩは、それぞれ登録パターンの顔向き角度、入力パターンの顔向き角度を表わす。式１０に従って尤度を求めることにより、登録パターンと入力パターンとの間の属性の差が大きい場合、合成部分特徴の尤度を低くすることができる。顔向きだけでなく、表情の差を数値化し、式１０のように計算してもよい。
【０１５１】
一般に、登録パターンと入力パターンの条件（属性）が大きく異なると、対応する部分特徴の信頼性は下がると考えられる。属性情報を数値化し、その差が大きくなると尤度が下がるようにすると、より尤度に妥当性を持たせることができる。
【０１５２】
また、属性情報に応じて、部分特徴ごとに尤度を予め求めておき、それら尤度の平均を合成部分特徴の尤度としてもよい。この場合、予め同じ属性をもつ学習サンプルで部分特徴を性能評価し、属性情報と部分特徴の尤度の関係を求めておく。
【０１５３】
＜合成部分特徴評価値算出処理＞
合成部分特徴評価値を算出する際に、パターンの属性情報を利用する方法について説明する。第１の実施形態では、１つの合成部分特徴の評価値を、以下の手順で求めた。即ち、合成部分特徴に属する部分特徴のうち、所定の基準を満たすものの数量を計測し、その数量を所定の評価関数、具体的には、指数関数や多項式などで変換した値を、評価値とした。さらに、複数ある合成部分特徴の評価値を、上記のようにして求めた評価値の平均や、所定の基準を超えたものだけでの平均として、最終的な出力としていた。
【０１５４】
これに対し、本実施形態では、パターンの属性情報に応じて、最終的な評価値の算出に用いる合成部分特徴を変える。どの合成部分特徴の値を使うかは、予め学習で決めておくことができる。パターンの属性別に学習サンプルを分類しておき、判定に有効な合成部分特徴をAdaBoostなどの手法を用いて、選択しておく。このようにすることにより、パターンの属性と判定に有効な合成部分特徴の対応関係を求めることができる。選択するのではなく、重みを求めておいて、合成部分特徴の評価値の重み付き和を求めてもよいが、その際の重みは、合成部分特徴尤度算出部より取得した、パターンの属性による尤度を用いるとよい。
【図１】
0005424819.tif 000012
【図２】
0005424819.tif 000013
【図３】
0005424819.tif 000014
【図４】
0005424819.tif 000015
【図５】
0005424819.tif 000016
【図６】
0005424819.tif 000017
【図７】
0005424819.tif 000018
【図８】
0005424819.tif 000019
【図９】
0005424819.tif 000020
【図１０】
0005424819.tif 000021
【図１１】
0005424819.tif 000022