(57)【特許請求の範囲】
【請求項１】
複数の領域を有する入力情報のパターンを認識するパターン認識方法であって、
前記入力情報の各領域において前記パターンを含んでいる確度を求める確度抽出ステップと、
前記確度抽出ステップにより求めた確度に係る確度分布に基づいて当該確度の閾値を決定する閾値決定ステップと、
前記確度抽出ステップにより求めた確度において前記閾値以上の確度を有する領域を選択する上位選択ステップと、
前記上位選択ステップにより選択された領域に対して、前記パターンの検出処理を行う検出ステップと
を含むことを特徴とするパターン認識方法。
【請求項２】
入力情報のパターンを認識するパターン認識方法であって、
前記入力情報が、第１の分類のパターンから第ｎ（ｎは２以上の自然数）の分類のパターンまでのそれぞれの分類のパターンを含んでいる確度を求める確度抽出ステップと、
前記確度抽出ステップにより求めた確度に係る確度分布に基づいて当該確度の閾値を決定する閾値決定ステップと、
前記確度抽出ステップにより求めた確度において前記閾値以上の確度を有する分類を選択する上位選択ステップと、
前記上位選択ステップにより選択された分類に基づいて、前記入力情報のパターンの検出処理を行う検出ステップと
を含むことを特徴とするパターン認識方法。
【請求項３】
複数の領域を有する入力情報のパターンを識別するパターン認識方法であって、
前記入力情報の各領域が、第１の分類のパターンから第ｎ（ｎは２以上の自然数）の分類のパターンまでのそれぞれの分類のパターンを含んでいる確度を求める確度抽出ステップと、
前記確度抽出ステップにより求めた確度に係る確度分布に基づいて当該確度の閾値を決定する閾値決定ステップと、
前記確度抽出ステップにより求めた確度において前記閾値以上の確度を有する領域と分類との組を選択する上位選択ステップと、
前記上位選択ステップにより選択された、領域と分類との組の組み合わせに応じて、前記入力情報のパターンの検出処理を行う検出ステップと
を含むことを特徴とするパターン認識方法。
【請求項４】
前記確度抽出ステップでは、前記入力情報をｎ通りの方法で変換することによって、前記確度を求めることを特徴とする請求項２又は３に記載のパターン認識方法。
【請求項５】
前記入力情報は、画像データであり、
前記確度抽出ステップでは、前記第１の分類のパターンを第１の画像パターンとし、前記第ｎの分類のパターンを第ｎの画像パターンとして、前記確度を求めることを特徴とする請求項２乃至４のいずれか１項に記載のパターン認識方法。
【請求項６】
前記確度抽出ステップでは、前記第１の画像パターンを第１の傾きの画像パターンとし、前記第ｎの画像パターンを第ｎの傾きの画像パターンとして、前記確度を求めることを特徴とする請求項５に記載のパターン認識方法。
【請求項７】
前記上位選択ステップでは、前記確度抽出ステップにより求めた確度のうちの有効な確度を用いて前記閾値以上の確度に基づく選択を行うことを特徴とする請求項１乃至６のいずれか１項に記載のパターン認識方法。
【請求項８】
複数の領域を有する入力情報のパターンを認識するパターン認識装置であって、
前記入力情報の各領域において前記パターンを含んでいる確度を求める確度抽出手段と、
前記確度抽出手段により求めた確度に係る確度分布に基づいて当該確度の閾値を決定する閾値決定手段と、
前記確度抽出手段により求めた確度において前記閾値以上の確度を有する領域を選択する上位選択手段と、
前記上位選択手段により選択された領域に対して、前記パターンの検出処理を行う検出手段と
を含むことを特徴とするパターン認識装置。
【請求項９】
入力情報のパターンを認識するパターン認識装置であって、
前記入力情報が、第１の分類のパターンから第ｎ（ｎは２以上の自然数）の分類のパターンまでのそれぞれの分類のパターンを含んでいる確度を求める確度抽出手段と、
前記確度抽出手段により求めた確度に係る確度分布に基づいて当該確度の閾値を決定する閾値決定手段と、
前記確度抽出手段により求めた確度において前記閾値以上の確度を有する分類を選択する上位選択手段と、
前記上位選択手段により選択された分類に基づいて、前記入力情報のパターンの検出処理を行う検出手段と
を含むことを特徴とするパターン認識装置。
【請求項１０】
複数の領域を有する入力情報のパターンを識別するパターン認識装置であって、
前記入力情報の各領域が、第１の分類のパターンから第ｎ（ｎは２以上の自然数）の分類のパターンまでのそれぞれの分類のパターンを含んでいる確度を求める確度抽出手段と、
前記確度抽出手段により求めた確度に係る確度分布に基づいて当該確度の閾値を決定する閾値決定手段と、
前記確度抽出手段により求めた確度において前記閾値以上の確度を有する領域と分類との組を選択する上位選択手段と、
前記上位選択手段により選択された、領域と分類との組の組み合わせに応じて、前記入力情報のパターンの検出処理を行う検出手段と
を含むことを特徴とするパターン認識装置。
【請求項１１】
前記確度抽出手段は、前記入力情報をｎ通りの方法で変換することによって、前記確度を求めることを特徴とする請求項９又は１０に記載のパターン認識装置。
【請求項１２】
前記入力情報は、画像データであり、
前記確度抽出手段は、前記第１の分類のパターンを第１の画像パターンとし、前記第ｎの分類のパターンを第ｎの画像パターンとして、前記確度を求めることを特徴とする請求項９乃至１１のいずれか１項に記載のパターン認識装置。
【請求項１３】
前記確度抽出手段は、前記第１の画像パターンを第１の傾きの画像パターンとし、前記第ｎの画像パターンを第ｎの傾きの画像パターンとして、前記確度を求めることを特徴とする請求項１２に記載のパターン認識装置。
【請求項１４】
前記上位選択手段は、前記確度抽出手段により求めた確度のうちの有効な確度を用いて前記閾値以上の確度に基づく選択を行うことを特徴とする請求項８乃至１３のいずれか１項に記載のパターン認識装置。
【請求項１５】
複数の領域を有する入力情報のパターンを認識するパターン認識方法をコンピュータに実行させるためのプログラムであって、
前記入力情報の各領域において前記パターンを含んでいる確度を求める確度抽出ステップと、
前記確度抽出ステップにより求めた確度に係る確度分布に基づいて当該確度の閾値を決定する閾値決定ステップと、
前記確度抽出ステップにより求めた確度において前記閾値以上の確度を有する領域を選択する上位選択ステップと、
前記上位選択ステップにより選択された領域に対して、前記パターンの検出処理を行う検出ステップと
をコンピュータに実行させるためのプログラム。
【請求項１６】
入力情報のパターンを認識するパターン認識方法をコンピュータに実行させるためのプログラムであって、
前記入力情報が、第１の分類のパターンから第ｎ（ｎは２以上の自然数）の分類のパターンまでのそれぞれの分類のパターンを含んでいる確度を求める確度抽出ステップと、
前記確度抽出ステップにより求めた確度に係る確度分布に基づいて当該確度の閾値を決定する閾値決定ステップと、
前記確度抽出ステップにより求めた確度において前記閾値以上の確度を有する分類を選択する上位選択ステップと、
前記上位選択ステップにより選択された分類に基づいて、前記入力情報のパターンの検出処理を行う検出ステップと
をコンピュータに実行させるためのプログラム。
【請求項１７】
複数の領域を有する入力情報のパターンを識別するパターン認識方法をコンピュータに実行させるためのプログラムであって、
前記入力情報の各領域が、第１の分類のパターンから第ｎ（ｎは２以上の自然数）の分類のパターンまでのそれぞれの分類のパターンを含んでいる確度を求める確度抽出ステップと、
前記確度抽出ステップにより求めた確度に係る確度分布に基づいて当該確度の閾値を決定する閾値決定ステップと、
前記確度抽出ステップにより求めた確度において前記閾値以上の確度を有する領域と分類との組を選択する上位選択ステップと、
前記上位選択ステップにより選択された、領域と分類との組の組み合わせに応じて、前記入力情報のパターンの検出処理を行う検出ステップと
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像認識や音声認識などを含むパターン認識方法及びパターン認識装置、並びに、当該パターン認識方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
画像認識や音声認識などを含むパターン認識を目的とした従来のパターン認識方法では、識別精度（認識精度）を向上させると処理速度が犠牲になり、処理速度を上げようとすると識別精度が犠牲になるという傾向がある。そのため、従来のパターン認識方法では、処理速度と識別精度の両立を図るために、処理速度の高い第１の識別器と識別精度の高い第２の識別器を連結する方法が取られている（例えば、下記の非特許文献１参照）。このようなパターン認識方法においては、第１の識別器によって高速に候補領域を絞り込み、第２の識別器によってより厳密な評価を行う。
【０００３】
しかしながら、第１の識別器や第２の識別器として使う多くの識別器においては、明確な識別結果が得られることは少なく、確度と呼ばれる多値の出力値しか得られない。そして、従来では、この確度と呼ばれる多値の出力値を閾値で分離することによって２値化して、パターンの有無を判定するということが行われている（例えば、下記の特許文献１の［発明の実施の形態］参照）。
【０００４】
また、入力情報を複数の分類に識別する場合には、複数の識別器（判別関数）を利用して、その中で最も出力値の高い識別器に対応する分類を採用することが典型的である。例えばパーセプトロンと呼ばれる識別器は、入力情報の線形和が最大となる線形関数を選び、その線形関数に対応する分類を識別結果とする。あるいは、例えば、下記の非特許文献２に示されるrouter networkように、各識別器の出力値を重み係数とした線形和を求めて、分類（この文献の場合には顔の回転角度）を一意に求めることもできる。
【０００５】
【非特許文献１】御手洗裕輔、森克彦、真継優和、「選択的モジュール起動を用いたConvolutional Neural Networks による変動にロバストな顔検出システム」、第２回 情報科学技術フォーラム、2003．
【非特許文献２】Rowley, Henry A., Baluja, Shumeet, & Kanade, Takeo,"Rotation Invariant Neural Network-Based Face Detection", Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 1998.
【特許文献１】特開２００１−３０９２２５号公報
【特許文献２】特許第３０７８１６６号公報
【特許文献３】特開２００２−８０３２号公報
【特許文献４】特開２００２−８０３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来のように複数の識別器における出力の確度を固定の閾値で２値化する場合、この閾値の選択を適正に行うことは困難であった。これは、各識別器の出力の範囲が入力情報の取得条件によって異なるためである。例えば、入力情報が画像データであり、各識別器が顔を検出するようなものであった場合、当該画像データに係る画像を撮影した条件によっては顔の検出が難しくなり、識別器の出力が弱くなる。このような状況で、高すぎる閾値を適用すると、画像の中に顔があるにもかかわらず、出力値が弱いために、候補からふるい落とされてしまうことになる。逆に、低すぎる閾値を適用すると、数多くの候補が第２の識別器に入力されることになり、処理速度の低下を招く。つまり、この場合、固定の閾値を利用して、様々な撮影条件に対応するのは難しかった。
【０００７】
一方、複数の識別器の出力から最大の出力値を採用するなどして候補を１つだけに絞る方法を採用する場合、第１の識別器の識別精度が低いような構成においては、正しい候補を見落としてしまう危険性が高い。これは、第１の識別器の識別精度が低い場合には、正解に対応する識別器の出力が最大値を取るとは限らないためである。また、正解が２つ以上あるような状況においては、候補を１つに絞ってしまうこの方法は適用できない。
【０００８】
さらに、複数の識別器から構成される複合的な識別器において、それぞれの識別器を直列と並列の両方式で連結しようとする場合は、直列に連結した識別器群を並列に並べるのがメモリ使用量の点からは望ましい。しかしながら、このような構造を採用する場合、直列に連結した識別器群の内、後段の識別器が無駄に実行されることが多く、処理時間が長くかったり、誤識別が起きやすかったりするといった問題が起きる。これは直列に連結した識別器群がそれぞれ独立に実行されていることが原因である。実際には、１つの識別器群の中で後段の識別器を実行するべきかどうかは、他の識別器群の後段の識別器が実行されるかどうかによる。
【０００９】
本発明は上述した問題点に鑑みてなされたものであり、入力情報に対してパターン認識を行う際の閾値の選択を容易に行えるようにすると共に、その処理速度と認識精度とを両立させることができるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明のパターン認識方法は、複数の領域を有する入力情報のパターンを認識するパターン認識方法であって、前記入力情報の各領域において前記パターンを含んでいる確度を求める確度抽出ステップと、前記確度抽出ステップにより求めた確度に係る確度分布に基づいて当該確度の閾値を決定する閾値決定ステップと、前記確度抽出ステップにより求めた確度において前記閾値以上の確度を有する領域を選択する上位選択ステップと、前記上位選択ステップにより選択された領域に対して、前記パターンの検出処理を行う検出ステップとを含む。
【００１１】
本発明のパターン認識方法における他の態様は、入力情報のパターンを認識するパターン認識方法であって、前記入力情報が、第１の分類のパターンから第ｎ（ｎは２以上の自然数）の分類のパターンまでのそれぞれの分類のパターンを含んでいる確度を求める確度抽出ステップと、前記確度抽出ステップにより求めた確度に係る確度分布に基づいて当該確度の閾値を決定する閾値決定ステップと、前記確度抽出ステップにより求めた確度において前記閾値以上の確度を有する分類を選択する上位選択ステップと、前記上位選択ステップにより選択された分類に基づいて、前記入力情報のパターンの検出処理を行う検出ステップとを含む。
【００１２】
また、本発明のパターン認識方法におけるその他の態様は、複数の領域を有する入力情報のパターンを識別するパターン認識方法であって、前記入力情報の各領域が、第１の分類のパターンから第ｎ（ｎは２以上の自然数）の分類のパターンまでのそれぞれの分類のパターンを含んでいる確度を求める確度抽出ステップと、前記確度抽出ステップにより求めた確度に係る確度分布に基づいて当該確度の閾値を決定する閾値決定ステップと、前記確度抽出ステップにより求めた確度において前記閾値以上の確度を有する領域と分類との組を選択する上位選択ステップと、前記上位選択ステップにより選択された、領域と分類との組の組み合わせに応じて、前記入力情報のパターンの検出処理を行う検出ステップとを含む。
【００１３】
本発明のパターン認識装置は、複数の領域を有する入力情報のパターンを認識するパターン認識装置であって、前記入力情報の各領域において前記パターンを含んでいる確度を求める確度抽出手段と、前記確度抽出手段により求めた確度に係る確度分布に基づいて当該確度の閾値を決定する閾値決定手段と、前記確度抽出手段により求めた確度において前記閾値以上の確度を有する領域を選択する上位選択手段と、前記上位選択手段により選択された領域に対して、前記パターンの検出処理を行う検出手段とを含む。
【００１４】
本発明のパターン認識装置における他の態様は、入力情報のパターンを認識するパターン認識装置であって、前記入力情報が、第１の分類のパターンから第ｎ（ｎは２以上の自然数）の分類のパターンまでのそれぞれの分類のパターンを含んでいる確度を求める確度抽出手段と、前記確度抽出手段により求めた確度に係る確度分布に基づいて当該確度の閾値を決定する閾値決定手段と、前記確度抽出手段により求めた確度において前記閾値以上の確度を有する分類を選択する上位選択手段と、前記上位選択手段により選択された分類に基づいて、前記入力情報のパターンの検出処理を行う検出手段とを含む。
【００１５】
また、本発明のパターン認識装置におけるその他の態様は、複数の領域を有する入力情報のパターンを識別するパターン認識装置であって、前記入力情報の各領域が、第１の分類のパターンから第ｎ（ｎは２以上の自然数）の分類のパターンまでのそれぞれの分類のパターンを含んでいる確度を求める確度抽出手段と、前記確度抽出手段により求めた確度に係る確度分布に基づいて当該確度の閾値を決定する閾値決定手段と、前記確度抽出手段により求めた確度において前記閾値以上の確度を有する領域と分類との組を選択する上位選択手段と、前記上位選択手段により選択された、領域と分類との組の組み合わせに応じて、前記入力情報のパターンの検出処理を行う検出手段とを含む。
【００１６】
本発明のプログラムは、複数の領域を有する入力情報のパターンを認識するパターン認識方法をコンピュータに実行させるためのプログラムであって、前記入力情報の各領域において前記パターンを含んでいる確度を求める確度抽出ステップと、前記確度抽出ステップにより求めた確度に係る確度分布に基づいて当該確度の閾値を決定する閾値決定ステップと、前記確度抽出ステップにより求めた確度において前記閾値以上の確度を有する領域を選択する上位選択ステップと、前記上位選択ステップにより選択された領域に対して、前記パターンの検出処理を行う検出ステップとをコンピュータに実行させるためのものである。
【００１７】
本発明のプログラムにおける他の態様は、入力情報のパターンを認識するパターン認識方法をコンピュータに実行させるためのプログラムであって、前記入力情報が、第１の分類のパターンから第ｎ（ｎは２以上の自然数）の分類のパターンまでのそれぞれの分類のパターンを含んでいる確度を求める確度抽出ステップと、前記確度抽出ステップにより求めた確度に係る確度分布に基づいて当該確度の閾値を決定する閾値決定ステップと、前記確度抽出ステップにより求めた確度において前記閾値以上の確度を有する分類を選択する上位選択ステップと、前記上位選択ステップにより選択された分類に基づいて、前記入力情報のパターンの検出処理を行う検出ステップとをコンピュータに実行させるためのものである。
【００１８】
また、本発明のプログラムにおけるその他の態様は、複数の領域を有する入力情報のパターンを識別するパターン認識方法をコンピュータに実行させるためのプログラムであって、前記入力情報の各領域が、第１の分類のパターンから第ｎ（ｎは２以上の自然数）の分類のパターンまでのそれぞれの分類のパターンを含んでいる確度を求める確度抽出ステップと、前記確度抽出ステップにより求めた確度に係る確度分布に基づいて当該確度の閾値を決定する閾値決定ステップと、前記確度抽出ステップにより求めた確度において前記閾値以上の確度を有する領域と分類との組を選択する上位選択ステップと、前記上位選択ステップにより選択された、領域と分類との組の組み合わせに応じて、前記入力情報のパターンの検出処理を行う検出ステップとをコンピュータに実行させるためのものである。
【発明の効果】
【００１９】
本発明によれば、入力情報に対してパターン認識を行う際の閾値の選択を容易に行うことができると共に、その処理速度と認識精度とを両立させることができる。
【発明を実施するための最良の形態】
【００２０】
以下、添付図面を参照しながら、本発明の各実施形態を説明する。
【００２１】
（第１の実施形態）
図１は、本発明の第１の実施形態に係るパターン認識装置のハードウェア構成の一例を示すブロック図である。ここで、第１の実施形態に係るパターン認識装置１００は、例えば、情報処理装置で構成されている。また、本実施形態では、複数の領域を有する入力情報として画像データを適用し、認識する画像データのパターンとして顔を適用した例を示す。
【００２２】
図１に示すように、第１の実施形態のパターン認識装置１００は、ＣＰＵ１０１、プログラムメモリ１０２、ＲＡＭ１０３、ハードディスク（画像データベース）１０４、フラッシュメモリ１０５、及び、制御バス・データバス１１０を有して構成されている。
【００２３】
ＣＰＵ（中央演算装置）１０１は、パターン認識装置１００における動作を統括的に制御するものであり、特に、本実施形態で説明する画像処理方法をプログラムに従って実行する。
【００２４】
プログラムメモリ１０２は、ＣＰＵ１０１により実行されるプログラムを記憶する。ＲＡＭ１０３は、ＣＰＵ１０１によるプログラムの実行時に、各種の情報や各種のデータを一時的に記憶するためのメモリである。
【００２５】
ハードディスク１０４は、例えば、外部装置から入力された入力情報である画像データ（画像ファイル）などの各種のデータを保存する。フラッシュメモリ１０５は、ＣＰＵ１０１が、各種の情報や各種のデータを読み取ったり書き込んだりできるようになっている。このフラッシュメモリ１０５は、パターン認識装置１００に対して脱着可能となっており、書き込まれた各種の情報や各種のデータをユーザが持ち歩くことができるようになっている。
【００２６】
制御バス・データバス１１０は、１０２〜１０５の各構成部とＣＰＵ１０１とを接続しているバスである。なお、パターン認識装置１００には、これ以外にも、キーボードやポインティングデバイスなどの入力機器や、表示デバイスなどを備えていても良い。
【００２７】
図２は、本発明の第１の実施形態に係るパターン認識装置の機能構成の一例を示すブロック図である。ここで、図２に示す２０１〜２０３の各機能構成部は、ＣＰＵ１０１がプログラムメモリ１０２に記憶されているプログラムを実行することにより実現される。
【００２８】
図２に示すハードディスク１０４は、図１に示すハードディスクと同じものであり、画像データ（画像ファイル）などが保存されている。画像読み込み部２０１は、ハードディスク１０４に保存されている画像データをＲＡＭ１０３に読み出し、記憶する。
【００２９】
顔検出部２０２は、ＲＡＭ１０３に書き込まれた画像データに、顔があるかどうかを検出する。画像書き込み部２０３は、ＲＡＭ１０３に書き込まれた画像データをフラッシュメモリ１０５に書き込む。フラッシュメモリ１０５は、図１に示すフラッシュメモリと同じものである。
【００３０】
図３は、本発明の第１の実施形態に係るパターン認識装置の処理手順の一例を示すフローチャートである。より具体的には、図２に示す各機能構成における処理手順の一例を示すフローチャートである。
【００３１】
まず、ステップＳ３０１において、画像読み込み部２０１は、画像ポインタが最初の画像データを指し示すように、当該画像ポインタを初期化する。ここで、画像ポインタは、ハードディスク１０４に保存されている画像データ（画像ファイル）を順に指し示す変数である。
【００３２】
続いて、ステップＳ３０２において、画像読み込み部２０１は、ハードディスク１０４内に、処理するべき画像データが残っているか否かを判断する。この判断の結果、処理するべき画像データが残っていない場合、即ち、全ての画像データの処理が終了した場合には、当該フローチャートにおける処理を終了する。
【００３３】
一方、ステップＳ３０２の判断の結果、処理するべき画像データが残っている場合には、ステップＳ３０３に進む。ステップＳ３０３に進むと、画像読み込み部２０１は、その時点で画像ポインタが指す画像データをハードディスク１０４からＲＡＭ１０３に読み込む。
【００３４】
続いて、ステップＳ３０４において、顔検出部２０２は、ステップＳ３０３でＲＡＭ１０３に読み込まれた画像データに顔が含まれているか否かを判断する。この際の判断の方法は後述する。
【００３５】
ステップＳ３０４の判断の結果、画像データに顔が含まれている場合には、ステップＳ３０５に進む。ステップＳ３０５に進むと、画像書き込み部２０３は、ＲＡＭ１０３に読み込まれた当該画像データをフラッシュメモリ１０５に書き込む。
【００３６】
ステップＳ３０５の処理が終了した場合、或いは、ステップＳ３０４で画像データに顔が含まれていないと判断された場合には、ステップＳ３０６に進む。ステップＳ３０６に進むと、画像読み込み部２０１は、画像ポインタを１つ進めて、ハードディスク１０４に保存されている次の画像データ（画像ファイル）を指し示すようにする。その後、ステップＳ３０２に戻る。
【００３７】
以上のステップＳ３０１〜ステップＳ３０６の処理を経ることにより、ハードディスク１０４に保存されている全ての画像データに対して、顔検出部２０２による顔検出処理がなされる。
【００３８】
図４は、図３のステップＳ３０４において顔検出処理を行う際の処理手順の一例を示す模式図である。ここで、図３のステップＳ３０４における顔検出処理を行う顔検出部２０２内には、図４の○で示す、第１の識別器４０２、振り分け処理部４０４、閾値決定処理部４０６、２値化処理部４０７、第２の識別器４０９及び閾値判定処理部４１１が設けられている。
【００３９】
画像データ４０１は、ステップＳ３０３で画像読み込み部２０１によりＲＡＭ１０３に記憶された画像データである。
【００４０】
第１の識別器４０２は、画像データ４０１の各画像領域において第１の分類の顔パターンから第ｎ（ｎは２以上の自然数）の分類のパターンまでのそれぞれの分類のパターンを含んでいる確度を求める確度抽出手段を構成する。この第１の識別器４０２の詳細については、図７を参照して後述する。
【００４１】
第１の確度情報４０３は、第１の識別器４０２から出力される情報であって、複数の２次元配列の情報である。この第１の確度情報４０３は、例えば、ＲＡＭ１０３に記憶される。また、第１の確度情報４０３におけるフォーマットに関しては、図５を用いて後で簡単に説明する。
【００４２】
振り分け処理部４０４は、第１の確度情報４０３を厳密にソートすると処理時間がかかるので、その確度をその値の範囲に応じたビンに振り分ける処理を行う。ここで、振り分け処理部４０４は、例えば、第１の識別器４０２より求めた確度を確度分布として第１の確度情報の集計結果情報４０５を生成する。即ち、振り分け処理部４０４は、確度分布生成手段を構成する。
【００４３】
第１の確度情報の集計結果情報４０５は、振り分け処理部４０４によって処理された結果を示す情報である。この第１の確度情報の集計結果情報４０５は、例えば、ＲＡＭ１０３に記憶される。また、第１の確度情報の集計結果情報４０５におけるフォーマットに関しては、図６を参照して後述する。
【００４４】
閾値決定処理部（閾値決定手段）４０６は、第１の確度情報の集計結果情報４０５に基づいて、第１の確度情報４０３に適用するべき閾値を決定する。この閾値決定処理部４０６の処理の詳細については、図８を参照して後述する。
【００４５】
２値化処理部４０７は、閾値決定処理部４０６によって決定された閾値を第１の確度情報４０３に適用して、第１の確度情報４０３を２値化処理する。ここで、２値化処理部４０７は、確度抽出手段である第１の識別器４０２により求めた確度の中で相対的に上位の確度を有する画像領域、分類（本実施形態では、顔の傾きとサイズ）、或いは、画像領域と分類との組を１つ以上選択する上位選択手段を構成する。より具体的に、２値化処理部（上位選択手段）４０７は、閾値決定処理部４０６により決定された閾値以上の確度を有する領域または分類等を選択する。
【００４６】
第１の検出結果情報４０８は、２値化処理部４０７によって２値化処理された結果得られた情報である。この第１の検出結果情報４０８は、第２の識別器４０９で処理するべき候補を並べたものとなっている。具体的には、第１の検出結果情報４０８は、画像データ４０１中の各画像領域のうちのどの領域を、どのような回転角度と縮小率で処理するべきかという情報を示すものである。この第１の検出結果情報４０８は、例えば、ＲＡＭ１０３に記憶される。また、第１の検出結果情報４０８におけるフォーマットに関しては、第１の確度情報４０３と同じであるが、２次元配列の要素は２値となっている。
【００４７】
第２の識別器４０９は、第１の検出結果情報４０８に基づいて、画像データ４０１に対して、顔検出処理を施すものである。
【００４８】
第２の確度情報４１０は、第２の識別器４０９によって処理された結果を示す情報である。この第２の確度情報４１０は、例えば、ＲＡＭ１０３に記憶される。
【００４９】
閾値判定処理部４１１は、第２の確度情報４１０が多値の情報であるため、閾値を超える値がないか否かを走査し、判定処理を行う。
【００５０】
顔検出結果情報４１２は、閾値判定処理部４１１によって判定処理された結果を示す情報である。ここで、顔検出結果情報４１２は、閾値判定処理部４１１で閾値を超えた値があると判定された場合には、画像データ４０１に、顔が存在する（顔が含まれる）ことを示す情報となる。この顔検出結果情報４１２は、例えば、ＲＡＭ１０３に記憶される。そして、この顔検出結果情報４１２が、図３のステップＳ３０４における顔検出処理に利用される。
【００５１】
ここで、第２の識別器４０９及び閾値判定処理部４１１は、上位選択手段である２値化処理部４０７により選択された画像領域、分類、或いは、画像領域と分類との組の組み合わせ等に応じて、画像データ４０１の顔の検出処理を行う検出手段を構成する。
【００５２】
図５は、図４に示す第１の確度情報４０３のフォーマットの一例を示す概念図である。この図５では、第１の識別器４０２が、０度、９０度、１８０度及び２７０度の顔の傾きと１倍、２倍及び４倍の顔サイズに対応しているものとしている。
【００５３】
ここで、顔サイズが１倍とは、最小顔サイズのことであり、実際には顔幅が、例えば３０ピクセルであることを指すものである。このとき、顔サイズが２倍とは、顔幅が６０ピクセルであるという意味である。本明細書では、具体的な顔サイズについては、発明の本質とは関係がないので、サイズ比が分かりやすいように、顔サイズを倍率で表すことにする。
【００５４】
図５に示す画像データ４０１は、図４に示す画像データ４０１と同じものである。図５に示す各確度情報５００〜５０３、５１０〜５１３、５２０〜５２３が、第１の確度情報４０３の内容を示したものである。
【００５５】
０度１倍の確度情報５００は、顔の傾きが０度で、顔サイズが１倍である顔に関する確度情報であり、２次元配列の各要素に、画像データ４０１の対応する領域に傾きが０度でサイズが１倍の顔があることを示す確度の情報である。同様に、９０度１倍の確度情報５０１は、傾きが９０度でサイズが１倍の顔に関する確度情報である。また、１８０度１倍の確度情報５０２は、傾きが１８０度でサイズが１倍の顔に関する確度情報である。また、２７０度１倍の確度情報５０３は、傾きが２７０度でサイズが１倍の顔に関する確度情報である。
【００５６】
０度２倍の確度情報５１０は、傾きが０度でサイズが２倍の顔に関する確度情報である。同様に、９０度２倍の確度情報５１１は、傾きが９０度でサイズが２倍の顔に関する確度情報である。また、１８０度２倍の確度情報５１２は、傾きが１８０度でサイズが２倍の顔に関する確度情報である。また、２７０度２倍の確度情報５１３は、傾きが２７０度でサイズが２倍の顔に関する確度情報である。
【００５７】
０度４倍の確度情報５２０は、傾きが０度でサイズが４倍の顔に関する確度情報である。同様に、９０度４倍の確度情報５２１は、傾きが９０度でサイズが４倍の顔に関する確度情報である。また、１８０度４倍の確度情報５２２は、傾きが１８０度でサイズが４倍の顔に関する確度情報である。また、２７０度４倍の確度情報５２３は、傾きが２７０度でサイズが４倍の顔に関する確度情報である。
【００５８】
即ち、図４に示す第１の確度情報４０３は、顔の傾きとサイズを分類とすると、第１の分類の顔を含んでいる確度情報から第ｎの分類の顔を含んでいる確度情報の複数の確度情報を有している。ここで、第１の分類の顔を含んでいるものは第１の画像パターンであり、第ｎの分類の顔を含んでいるものは第ｎの画像パターンである。図５に示す例では、確度情報５００〜５０３、５１０〜５１３、５２０〜５２３が示されているため、第１の分類の顔を含んでいる確度情報から第１２の分類の顔を含んでいる確度情報を有していることになる。また、図５に示す例では、顔の傾きが、０度、９０度、１８０度及び２７度の４つの傾きの場合を示しているが、本実施形態では、第１の傾きから第ｎの傾き（ｎは２以上の自然数）の複数の傾きが設定されていれば良い。同様に、図５に示す例では、顔のサイズが、１倍、２倍及び４倍の３つのサイズの場合を示しているが、本実施形態では、第１のサイズから第ｎのサイズ（ｎは２以上の自然数）の複数のサイズが設定されていれば良い。
【００５９】
この図５では、サイズが２倍や４倍の顔に関する確度情報（５１０〜５１３、５２０〜５２３）の寸法を、サイズが１倍の顔に関する確度情報（５００〜５０３）の寸法に対して、１／２倍や１／４倍にして図示している。これは、画像データ４０１を縮小することによって、サイズが２倍や４倍の顔を同じ識別器を使って識別しているためである。本実施形態では、縮小された画像データが入力されると、識別器はその分小さい確度情報を出力する。
【００６０】
図５に示す各確度情報５００〜５０３、５１０〜５１３、５２０〜５２３は、それぞれ２次元配列の情報であり、図１のＲＡＭ１０３に展開される。それぞれの確度情報の２次元配列上の１点は、画像データ４０１上の領域に対応しており、その領域に、所定の傾き及び所定のサイズの顔がある確度を表している。
【００６１】
例えば、０度１倍の確度情報５００上の１点（ｘ，ｙ）は、画像データ４０１上で、（ｘ−ｗ／２，ｙ−ｈ／２）と（ｘ＋ｗ／２，ｙ＋ｈ／２）を対角線とする長方形の領域内に、０度１倍の顔がある確度を表している。ここで、ｗは最小顔幅のことであり、ｈは最小顔高さのことである。
【００６２】
また、例えば、９０度ｎ倍の確度情報上の１点（ｘ，ｙ）は、画像データ４０１上で、（ｎ（ｙ−ｈ／２），Ｈ−ｎ（ｘ＋ｗ／２））と（ｎ（ｙ＋ｈ／２，Ｈ−ｎ（ｘ−ｗ／２））を対角線とする長方形の領域内に、９０度ｎ倍の顔がある確度を表している。ここで、Ｗは画像データ４０１の幅を示し、また、Ｈはその高さを示すものとする。同様に、１８０度ｎ倍の確度情報上の１点（ｘ，ｙ）は、画像データ４０１上で、（Ｗ−ｎ（ｘ＋ｗ／２），Ｈ−ｎ（ｙ＋ｈ／２））と（Ｗ−ｎ（ｘ−ｗ／２），Ｈ−ｎ（ｙ−ｈ／２））を対角線とする長方形の領域内に、１８０度ｎ倍の顔がある確度を表している。２７０度ｎ倍の確度情報の場合も、上述した例に倣って同様に表される。
【００６３】
図４に示す第２の確度情報４１０についても、第１の確度情報４０３と同じフォーマットである。ただし、後述するように、第２の識別器４０９は、第１の識別器４０２よりも、その数を多くすることができる。この場合には、第２の確度情報４１０の２次元配列の個数は、第１の確度情報４０３の２次元配列の個数よりも多くなる。
【００６４】
図６は、図４に示す第１の確度情報の集計結果情報４０５のフォーマットの一例を示す概念図である。この図６に示す、第１の確度情報の集計結果情報４０５のフォーマットは、例えば、ＲＡＭ１０３上に展開される。また、図６に示す例では、第１の確度情報４０３における確度の最大値が、１．０であるものとしている。また、図６に示す符号は、ビンの番号を示している。
【００６５】
ビン１０には、第１の確度情報４０３における２次元配列の情報のうち、確度が０．９より大きく１．０以下の個数が収められる。ビン９には、第１の確度情報４０３における２次元配列の情報のうち、確度が０．８より大きく０．９以下の個数が収められる。ビン８には、第１の確度情報４０３における２次元配列の情報のうち、確度が０．７より大きく０．８以下の個数が収められる。ビン７には、第１の確度情報４０３における２次元配列の情報のうち、確度が０．６より大きく０．７以下の確度値の個数が収められる。ビン６には、第１の確度情報４０３における２次元配列の情報のうち、確度が０．５より大きく０．６以下の確度値の個数が収められる。ビン５以下についても同様である。
【００６６】
このように、振り分け処理部４０４は、第１の確度情報４０３における２次元配列の情報として、その確度の大きさに基づいて、各ビンに分類することにより、第１の確度情報４０３に格納されている２次元配列の情報に係る確度値に係る確度分布を生成する。ここで、振り分け処理部４０４は、例えば、確度分布としてヒストグラムを生成する。なお、当然のことながら、ここでの具体的な数字はあくまでも一例を示すために用意したものであって、ビンの数を含めたこれらの数字には特に必然性はない。
【００６７】
図７は、図４に示す第１の識別器４０２による、より詳細な処理手順の一例を示す模式図である。この第１の識別器４０２内には、図７の○で示す、肌色抽出処理部７０１、アフィン変換処理部７０３及び第１の顔検出器７０６が設けられている。
【００６８】
図７に示す画像データ４０１は、図４に示す画像データ４０１と同じものである。肌色抽出処理部７０１は、画像データ４０１に対して、肌色画素の抽出処理を行う。具体的に、肌色抽出処理部７０１は、画像データ４０１の肌色画素に対応する箇所には「１」、肌色でない画素に対応する箇所には「０」を書き込み、肌色マスク７０２を生成する。この肌色マスク７０２は、例えば、ＲＡＭ１０３に記憶される。
【００６９】
アフィン変換処理部７０３は、画像データ４０１と肌色マスク７０２の回転・縮小を行うアフィン変換処理をするものである。即ち、アフィン変換処理部７０３は、当該第１の識別器４０２で第１の分類の画像パターンから第ｎの分類の画像パターンまでの各分類の画像パターンを含んでいる確度を求める場合には、画像データ４０１をｎ通りの方法で変換する。
【００７０】
このアフィン変換処理部７０３により画像データ４０１を回転・縮小をした結果は、アフィン変換後画像データ７０４として、例えば、ＲＡＭ１０３に記憶される。また、アフィン変換処理部７０３により肌色マスク７０２を回転・縮小した結果は、アフィン変換後肌色マスク７０５として、例えば、ＲＡＭ１０３に記憶される。
【００７１】
ここで、回転の角度によっては、配列が長方形である方が、計算上都合が良いため、アフィン変換後画像データ７０４とアフィン変換後肌色マスク７０５には、それぞれ、画像データ４０１と肌色マスク７０２には対応しない無効な画素が含まれることもある。このような無効な画素は、以降の処理では無視される。
【００７２】
第１の顔検出器７０６は、アフィン変換後肌色マスク７０５において「１」が書き込まれている位置に対応するアフィン変換後画像データ７０４上の位置に、顔が存在する確度を求めるものである。図７には図示していないが、アフィン変換処理部７０３と第１の顔検出器７０６の処理は、必要な回数だけループして実行される。
【００７３】
例えば、０度、９０度、１８０度及び２７０度の顔の傾きと１倍、２倍及び４倍の顔サイズを検出する必要がある場合には、合わせて１２回ループを実行する。その結果、第１の確度情報４０３としては、確度情報が１２枚分用意される。ループの実行方法については、図１０を用いて後述する。ここで、限定はしないが、第１の顔検出器７０６には、例えば、上記の特許文献２に記載の物体認識方法を適用することができる。また、第１の顔検出器７０６には、例えば、上記の特許文献３や上記の特許文献４に記載のニューラルネットワーク、或いは他のパターン認識方法なども適用することができる。
【００７４】
図８は、図４に示す閾値決定処理部４０６による、より詳細な処理手順の一例を示すフローチャートである。
【００７５】
まず、ステップＳ８０１において、閾値決定処理部４０６は、総和を表す変数である総和変数ｓを０に初期化する。
【００７６】
続いて、ステップＳ８０２において、閾値決定処理部４０６は、注目しているビンの番号を表す変数であるビン番号ｉを最大値の１０に設定する。即ち、ここでは、図６に示すビン１０が、注目しているビンの番号として設定される。
【００７７】
続いて、ステップＳ８０３において、閾値決定処理部４０６は、注目しているビン番号ｉのビンに入っている確度値の数を示す数値を、総和変数ｓに加算する。
【００７８】
続いて、ステップＳ８０４において、閾値決定処理部４０６は、これまでの総和変数ｓが、第１の確度情報４０３の全有効画素数の５％以上であるか否かを判断する。ここで、有効画素とは、アフィン変換後画像データ７０４の無効な画素に対応する画素以外の画素のことである。
【００７９】
ステップＳ８０４の判断の結果、これまでの総和変数ｓが、第１の確度情報４０３の全有効画素数の５％以上でない（即ち、５％未満である）場合には、ステップＳ８０５に進む。ステップＳ８０５に進むと、閾値決定処理部４０６は、ビン番号ｉを１つ減算して、注目しているビンを変更し、ステップＳ８０３に戻る。その後、ステップＳ８０４で、これまでの総和変数ｓが、第１の確度情報４０３の全有効画素数の５％以上であると判断されるまで、ステップＳ８０３〜ステップＳ８０５の処理をループして行う。
【００８０】
一方、ステップＳ８０４の判断の結果、これまでの総和変数ｓが、第１の確度情報４０３の全有効画素数の５％以上である場合には、ステップＳ８０６に進む。ステップＳ８０６に進むと、閾値決定処理部４０６は、閾値を確定（決定）する。具体的に、ステップＳ８０６では、閾値を（ｉ−１）／１０として決定する。
【００８１】
以上のステップＳ８０１〜ステップＳ８０６の処理を経ることにより、図６に示す第１の確度情報の集計結果情報４０５に基づく、閾値決定処理部４０６による閾値の決定処理がなされる。
【００８２】
なお、ステップＳ８０４における５％や、ステップＳ８０２における１０などの数字は、その一例を示したものであり、実状に合わせて、適宜変更することが可能であることは言うまでもない。
【００８３】
図９は、図４に示す第２の識別器４０９による、より詳細な処理手順の一例を示す模式図である。この第２の識別器４０９内には、図９の○で示す、切り出しアフィン変換処理部９０１及び第２の顔検出器９０３が設けられている。
【００８４】
図９に示す画像データ４０１は、図４に示す画像データ４０１と同じものである。また、図９に示す第１の検出結果情報４０８は、図４に示す第１の検出結果情報４０８と同じものである。切り出しアフィン変換処理部９０１は、第１の検出結果情報４０８の内容に応じて、画像データ４０１中の対応する領域を切り出して回転・縮小を行うアフィン変換処理をするものである。この切り出しアフィン変換処理部９０１によるアフィン変換処理の結果は、切り出しアフィン変換後画像データ９０２として、例えば、ＲＡＭ１０３に記憶される。
【００８５】
第２の顔検出器９０３は、切り出しアフィン変換後画像データ９０２の中に、顔が存在するかどうか検出し、顔が存在する確度を第２の確度情報４１０として、例えば、ＲＡＭ１０３に記憶する。図９に示す第２の確度情報４１０は、図４に示す第２の確度情報４１０と同じものである。
【００８６】
第２の顔検出器９０３は、顔検出処理を行うものであれば、第１の顔検出器７０６と同じ構成であっても、異なる構成であっても良い。ただし、同じ場合でも、パラメータが異なることが望ましい。より具体的に説明すると、第１の顔検出器７０６の方が、第２の顔検出器９０３よりもロバスト性が高い方が処理速度の観点から効果的である。
【００８７】
例えば、第１の顔検出器７０６は、顔の傾きとして±４５度の範囲を検出できるように設定し、第２の顔検出器９０３は、顔の傾きとして±１５度の範囲を検出できるように設定する。この際、アフィン変換処理部７０３の処理と第１の顔検出器７０６による処理を含むループでは、０度、９０度、１８０度及び２７０度の回転に対応させるようにする。
また、切り出しアフィン変換処理部９０１の処理では、０度、３０度、６０度、９０度、１２０度、１５０度、１８０度、２１０度、２４０度、２７０度、３００度及び３３０度の回転に対応させるようにする。このようにすることで、より精度の高い顔検出処理を実現できる。
【００８８】
ここで、縮小を考えない場合、第１の検出結果情報４０８において、例えば、９０度の角度で顔の候補がある場合、切り出しアフィン変換処理部９０１の処理では、６０度と９０度と１２０度の３角度分が行われる。他の角度についても同様であり、また、縮小率についても同様の考え方を適用できる。
【００８９】
図１０は、図３のステップＳ３０４における、より詳細な処理手順の一例を示すフローチャートである。この図１０は、図４、図７及び図９の模式図に示された処理手順をフローチャートとして記述したものである。
【００９０】
まず、ステップＳ１００１において、第１の識別器４０２の図７に示す肌色抽出処理部７０１は、画像データ４０１に対して、肌色画素の抽出処理を行う。そして、具体的に、肌色抽出処理部７０１は、上述したように、画像データ４０１の肌色画素に対応する箇所には「１」、肌色でない画素に対応する箇所には「０」を書き込み、肌色マスク７０２を生成する。そして、肌色抽出処理部７０１は、生成した肌色マスク７０２を、例えば、ＲＡＭ１０３に記憶する。
【００９１】
続いて、ステップＳ１００２において、第１の識別器４０２のアフィン変換処理部７０３は、画像データ４０１の回転・縮小をするアフィン変換処理を行って、当該変換処理の結果をアフィン変換後画像データ７０４として、例えば、ＲＡＭ１０３に記憶する。
【００９２】
続いて、ステップＳ１００３において、アフィン変換処理部７０３は、肌色マスク７０２の回転・縮小をするアフィン変換処理を行って、当該変換処理の結果をアフィン変換後肌色マスク７０５として、例えば、ＲＡＭ１０３に記憶する。
【００９３】
続いて、ステップＳ１００４において、第１の識別器４０２は、アフィン変換後肌色マスク７０５上の全ての候補点について、対応するアフィン変換後画像データ７０４上の各領域において顔が存在する確度を求めたか否かを判断する。
【００９４】
ステップＳ１００４の判断の結果、アフィン変換後肌色マスク７０５上の全ての候補点については顔が存在する確度を求めていない場合には、ステップＳ１００５に進む。ステップＳ１００５に進むと、第１の識別器４０２の第１の顔検出器７０６は、アフィン変換後肌色マスク７０５上の未処理の候補点１点に対応するアフィン変換後画像データ７０４上の領域において顔が存在するかどうかを検出する第１の顔検出処理を行う。具体的に、第１の顔検出器７０６は、アフィン変換後画像データ７０４上の領域において顔が存在するかどうかを確度として求める。そして、第１の顔検出器７０６は、その求めた確度の結果を、第１の確度情報４０３の対応する箇所に記憶する。具体的に、本実施形態では、第１の確度情報４０３は、ＲＡＭ１０３に記憶されるものとする。
【００９５】
ここで、例えば、ステップＳ１００５の処理をニューラルネットワークなどで実現する場合には、ステップＳ１００４とステップＳ１００５のループは、ニューラルネットワークの実装と一体となって実現される。これは、ニューラルネットワークでは、位置が近い候補点同士の演算結果を共有することによって計算の効率を上げることができるからである。
【００９６】
一方、ステップＳ１００４の判断の結果、アフィン変換後肌色マスク７０５上の全ての候補点について顔が存在する確度を求めている場合には、ステップＳ１００６に進む。ステップＳ１００６に進むと、第１の識別器４０２は、全ての回転角度と縮小率のパラメータを使用して、ステップＳ１００２〜ステップＳ１００５までの処理を実行したか否かを判断する。この判断の結果、全ての回転角度と縮小率のパラメータを使用した、ステップＳ１００２〜ステップＳ１００５までの処理を実行していない場合には、ステップＳ１００２に戻る。
【００９７】
一方、ステップＳ１００６の判断の結果、全ての回転角度と縮小率のパラメータを使用した、ステップＳ１００２〜ステップＳ１００５までの処理を実行した場合には、ステップＳ１００７に進む。
【００９８】
ステップＳ１００７に進むと、図４の振り分け処理部４０４は、次のステップＳ１００８で閾値を決定するために、第１の確度情報４０３の内容を集計する。具体的に、振り分け処理部４０４は、図６を用いて上述したように、第１の確度情報４０３における各確度を、その値の範囲に応じて、図６に示すビンに振り分ける処理を行う。そして、振り分け処理部４０４は、振り分け処理によって得られた結果を第１の確度情報の集計結果情報４０５として、例えば、ＲＡＭ１０３に記憶する。
【００９９】
続いて、ステップＳ１００８において、閾値決定処理部４０６は、第１の確度情報の集計結果情報４０５に基づいて、第１の確度情報４０３に適用するべき閾値を決定する。この閾値は、第１の確度情報４０３を２値化処理する際に使用されるものであり、その具体的な決定方法については、図８のフローチャートにつき上述した方法による。
【０１００】
続いて、ステップＳ１００９において、２値化処理部４０７は、ステップＳ１００８で決定された閾値を用いて、第１の確度情報４０３を「０」と「１」の２値データに変換（分離）し、これを第１の検出結果情報４０８として、例えば、ＲＡＭ１０３に記憶する。この２値化処理によって、画像データ４０１の中で最も顔らしい領域が、その顔に対応する回転角度とサイズの組と合わせて、複数選び出されたことになる。そして、この選出結果に基づいて、ステップＳ１０１０以降の処理が実行される。
【０１０１】
続いて、ステップＳ１０１０において、第２の識別器４０９は、第１の検出結果情報４０８の全ての候補点について、ステップＳ１０１１〜ステップＳ１０１３までの処理を実行したか否かを判断する。
【０１０２】
ステップＳ１０１０の判断の結果、第１の検出結果情報４０８の全ての候補点については、ステップＳ１０１１〜ステップＳ１０１３までの処理を実行していない場合には、ステップＳ１０１１に進む。
【０１０３】
ステップＳ１０１１に進むと、第２の識別器４０９の図９に示す切り出しアフィン変換処理部９０１は、第１の検出結果情報４０８の内容に従って、画像データ４０１に対して、切り出しアフィン変換処理を行う。具体的に、切り出しアフィン変換処理部９０１は、画像データ４０１中の領域から、第１の検出結果情報４０８の候補領域に対応する回転角度と縮小率に応じて、画像データ４０１を切り出しながらアフィン変換処理を施す。そして、切り出しアフィン変換処理部９０１は、当該切り出しアフィン変換処理の結果を切り出しアフィン変換後画像データ９０２として、例えば、ＲＡＭ１０３に記憶する。
【０１０４】
続いて、ステップＳ１０１２において、第２の識別器４０９の図９に示す第２の顔検出器９０３は、切り出しアフィン変換後画像データ９０２の中に、顔が存在するかどうかを検出する第２の顔検出処理を行う。具体的に、第２の顔検出器９０３は、切り出しアフィン変換後画像データ９０２の中に顔が存在するかどうかを確度として求める。そして、第２の顔検出器９０３は、その求めた確度の結果を、第２の確度情報４１０の対応する箇所に記憶する。具体的に、本実施形態では、第２の確度情報４１０は、ＲＡＭ１０３に記憶されるものとする。
【０１０５】
続いて、ステップＳ１０１３において、第２の識別器４０９は、第１の検出結果情報４０８の候補点１点に関して、必要な全ての回転と縮小を行ったか否かを判断する。この判断の結果、第１の検出結果情報４０８の候補点１点に関して、必要な全ての回転と縮小を行っていない場合には、ステップＳ１０１１に戻り、再度、ステップＳ１０１１〜ステップＳ１０１３までのループを繰り返す。
【０１０６】
一方、ステップＳ１０１３の判断の結果、第１の検出結果情報４０８の候補点１点に関して、必要な全ての回転と縮小を行っている場合には、ステップＳ１０１０に戻る。
【０１０７】
また、ステップＳ１０１０の判断の結果、第１の検出結果情報４０８の全ての候補点についてステップＳ１０１１〜ステップＳ１０１３までの処理を実行した場合には、ステップＳ１０１４に進む。
【０１０８】
ステップＳ１０１４に進むと、閾値判定処理部４１１は、第２の確度情報４１０の中で顔と思われる箇所を選び出し、これを顔検出結果情報４１２として、例えば、ＲＡＭ１０３に記憶する。
【０１０９】
以上のステップＳ１００１〜ステップＳ１０１４の処理を経ることにより、図３のステップＳ３０４における顔検出処理が行われる。
【０１１０】
これまでの説明のように、複数の検出器（識別器）を利用して第１の識別器４０２を実現する場合には、ループの回し方を工夫することが望ましい。例えば、第１の識別器４０２と第２の識別器４０９を同じループで回して、閾値決定処理部４０６をループ毎に別個に実行すると、第２の識別器４０９が不必要に実行される恐れがある。
【０１１１】
例えば、顔検出処理において、画像データ４０１の中に存在している顔というのは、大体同じ傾きで存在していることが多い。もし、０度の傾きの顔が最も多ければ、１８０度の顔はほとんどないことが多い。それにもかかわらず、ループ毎に閾値決定処理部４０６を実行すると、１８０度の顔がないにもかかわらず閾値を出力値の上位約５％の値として決定してしまい、閾値が不必要に低めに設定されてしまう。この場合、１８０度の顔の存在が期待できない領域について、１８０度の顔に対応した第２の識別器４０９が実行されてしまうことになる。
【０１１２】
このような点を考慮して、本実施形態では、第１の顔検出器７０６による第１の顔検出処理（Ｓ１００５）を必要な回数だけループして全て実行してから、閾値決定処理部４０６による閾値の決定（Ｓ１００８）を実行している。そして、その閾値を利用した第１の検出結果情報４０８に基づいて、第２の顔検出器９０３による第２の顔検出処理（Ｓ１０１２）を実行している。
【０１１３】
以上説明したように、本実施形態によれば、第１の識別器４０２と第２の識別器４０９の間に、閾値の決定を行う閾値決定処理部４０６を入れることにより、閾値処理の閾値調整を自動化できる。そして、本実施形態では、固定の閾値を使うのではなく動的に上位の出力値（閾値）を選択することが重要である。また、ループの回し方の工夫によって適切な範囲での閾値処理が行われ、処理速度と識別精度を両立させることができる。
【０１１４】
即ち、本実施形態では、第１の識別器４０２の全出力値から相対的に上位複数の値を取り出し、これらの出力値に対応する候補点について第２の識別器４０９による処理を実行している。また、本実施形態では、上位の複数の出力値を選択する際に、出力値のソートを実行すると処理負荷が重いので、まず出力値の分布を調べてからこの分布を参考にして閾値を決定することによってソート処理を避けている。
【０１１５】
（第２の実施形態）
第２の実施形態では、本発明に係るパターン認識装置として、トーン信号検出装置を適用した形態であり、添付の図面を参照して以下に説明する。また、本実施形態では、入力情報として後述のＰＣＭ信号を適用し、認識するパターンとしてトーン信号を適用した例を示す。
【０１１６】
第２の実施形態に係るパターン認識装置（トーン信号検出装置）は、公衆電話回線に接続するものであり、通話相手が電話機のボタンを押すと、それを検出できるように設計されている。本実施形態では、通話相手の電話機は、ＩＴＵ−Ｔ勧告Ｑ．２４で規定されているトーン信号を送信することを前提としている。その具体例を、以下の表１に示す。
【０１１７】
【表１】
0004995024.tif 000002
【０１１８】
ここで、表１には、低群の周波数領域と高群の周波数領域の２つの分類（第１の分類及び第２の分類）が示されている。表１に示すように、"１"のボタンが押されると、６９７Ｈｚと１２０９Ｈｚの信号が同時に送信される。また、他のボタンを押さないで、"２"のボタンが押されると、６９７Ｈｚと１３３６Ｈｚの信号が同時に送信される。他のボタンについても、表１に示されるとおりの信号が送信される。
【０１１９】
図１１は、本発明の第２の実施形態に係るパターン認識装置のハードウェア構成の一例を示すブロック図である。
図１１に示すように、第２の実施形態のパターン認識装置１１００は、ＣＰＵ１１０１、プログラムメモリ１１０２、ＲＡＭ１１０３、電話端子１１０４、Ａ／Ｄ変換器１１０５、表示装置１１０６、及び、制御バス・データバス１１１０を有して構成されている。
【０１２０】
ＣＰＵ（中央演算装置）１１０１は、パターン認識装置１１００における動作を統括的に制御するものであり、特に、本実施形態で説明するトーン信号検出方法をプログラムに従って実行する。
【０１２１】
プログラムメモリ１１０２は、ＣＰＵ１１０１により実行されるプログラムを記憶する。ＲＡＭ１１０３は、ＣＰＵ１１０１によるプログラムの実行時に、各種の情報や各種のデータを一時的に記憶するためのメモリである。
【０１２２】
電話端子１１０４は、公衆電話回線に接続するためのインタフェースである。Ａ／Ｄ変換器１１０５は、電話端子１１０４から入力されるアナログ信号をデジタルに変換する。
【０１２３】
表示装置１１０６は、ＣＰＵ１１０１からの指令により、パターン認識装置１１００におけるトーン信号検出処理による検出結果を使用者に表示により提示する。
【０１２４】
制御バス・データバス１１１０は、1１０１〜１１０６の各構成部とＣＰＵ１１０１とを接続しているバスである。
【０１２５】
図１２は、図１１に示す表示装置１１０６の表示画面の一例を示す模式図である。
表示画面１２０１は、表示装置１１０６の画面全体を表している。ボタン１２０２は、通話相手の電話機のボタンを模式的に表したものである。この図１２に示すボタン１２０２には、"０"から"９"までの数字のボタンと、"Ａ"から"Ｄ"までのローマ字のボタンと、"＊"のボタンと、"＃"のボタンとが並べられて設けられている。なお、通常の電話機においては、"Ａ"から"Ｄ"のボタンは、装備されていない。円１２０３は、通話相手がボタンを押したときに現れるものであり、押されたボタンを表す文字の周りに円として表示される。ここで、図１２に示す例では、通話相手が、"１"の数字のボタンを押したことを表している。また、例えば、"＃"のボタンが押された場合には、"＃"の周りに円１２０３が表示され、"１"の数字の周りには表示されない。逆に、ボタンを押していない状態の時には、円１２０３は表示されない。
【０１２６】
図１３は、本発明の第２の実施形態に係るパターン認識装置の機能構成の一例を示すブロック図である。ここで、図１３の○で示す、１３０１、１３０３、１３０５及び１３０７の各機能構成部は、ＣＰＵ１１０１がプログラムメモリ１１０２に記憶されているプログラムを実行することにより実現される。
【０１２７】
図１３に示すＡ／Ｄ変換器１１０５は、図１１に示すＡ／Ｄ変換器と同じものであり、ＣＰＵ１１０１から見ると外部の入力部である。
【０１２８】
離散フーリエ変換処理部１３０１は、まず、公衆電話回線から入力され、Ａ／Ｄ変換器１１０５でデジタル形式に変換された信号を入力情報として取得する。具体的に、この際に取得される入力情報は、音声信号を一定時間間隔でサンプリングしたＰＣＭ信号である。離散フーリエ変換処理部１３０１は、Ａ／Ｄ変換器１１０５により得られた過去Ｔミリ秒間のＰＣＭ信号をＰミリ秒間隔で周波数領域の信号に変換して、これをフーリエ変換結果情報１３０２として、例えば、ＲＡＭ１１０３に記憶する。このフーリエ変換結果情報１３０２におけるフォーマットに関しては、図１４を用いて後述する。
【０１２９】
上位周波数選択処理部１３０３は、フーリエ変換結果情報１３０２の中でエネルギーの最も高い周波数を複数選択する。上位周波数選択処理部１３０３の詳細な処理については、図１５を用いて後述する。
【０１３０】
上位周波数リスト１３０４は、上位周波数選択処理部１３０３によって選択された周波数の情報が並ぶものである。この上位周波数リスト１３０４は、例えば、ＲＡＭ１１０３に記憶される。
【０１３１】
比較演算処理部１３０５は、上位周波数リスト１３０４に並ぶ周波数を含むパターンについて、フーリエ変換結果情報１３０２の比較演算を行い、尤もらしいパターンの情報を検出結果情報１３０６として、例えば、ＲＡＭ１１０３に記憶する。この比較演算処理部１３０５の詳細な処理については、図１６を用いて後述する。
【０１３２】
検出結果表示処理部１３０７は、検出結果情報１３０６に基づいて、検出した信号の内容を、例えば、図１２に示すように表示装置１１０６に表示する。ここで、図１３に示す表示装置１１０６は、図１１に示す表示装置１１０６と同じものである。
【０１３３】
図１４は、図１３に示すフーリエ変換結果情報１３０２のフォーマットの一例を示す模式図である。ここで、図１４に示す表１４０１は、フーリエ変換結果情報１３０２に記憶される２次元配列の情報を表したものである。
【０１３４】
図１４に示すグラフ１４０２は、離散フーリエ変換処理部１３０１が生成するフーリエ変換結果情報１３０２をグラフとして図示したものである。この際、グラフ１４０２の曲線は、個々の周波数に対応するフーリエ係数の大きさを表している。第２の実施形態では、このフーリエ係数の大きさを、その周波数を含むトーン信号が受信された確度として利用する。
【０１３５】
即ち、離散フーリエ変換処理部１３０１は、ＰＣＭ信号を変換した周波数領域において各分類のトーン信号を含んでいる確度（フーリエ係数の大きさ）を求める確度抽出手段を構成する。また、離散フーリエ変換処理部１３０１は、図１４に示すように、確度に係る確度分布を生成する確度分布生成手段を構成する。また、上位周波数選択処理部１３０３は、前記確度分布を用いて閾値を決定する閾値決定手段を構成すると共に、離散フーリエ変換処理部１３０１により求めた確度の中で相対的に上位の確度を有する周波数領域等を１つ以上選択する上位選択手段を構成する。また、比較演算処理部１３０５は、トーン信号の検出処理を行う検出手段を構成する。
【０１３６】
フーリエ変換結果情報１３０２は、離散フーリエ変換の結果に係る情報であるので、その周波数の個数は有限である。図１４に示す点線１４０３は、周波数と２次元配列の情報１４０１の各要素との関係を示すものである。具体的に、２次元配列の情報１４０１の横方向は周波数に対応しており、その縦方向はフーリエ変換を行った時刻に対応している。
【０１３７】
例えば、図１４に示す最大周波数のフーリエ係数の大きさは０．０であるので、この周波数に対応する２次元配列の情報１４０１の要素は０．０である。逆に、図１４に示す最小周波数のフーリエ係数の大きさは０．９２であり、この値が２次元配列の情報１４０１の対応する要素に格納される。
【０１３８】
ここで、フーリエ変換結果情報１３０２が、図１４に示すように、２次元配列の情報１４０１であるのは、過去のフーリエ変換の結果が履歴として残されているからである。具体的に、時刻ｔの行は、最新のフーリエ変換の結果を表しており、時刻ｔ−Ｐの行は、その前のもの、時刻ｔ−２Ｐの行は、さらにその前のものを表している。実際には、メモリ（例えば、ＲＡＭ１１０３）の節約の観点から、一定時間過ぎた情報は、消滅するように処理する必要がある。
【０１３９】
図１５は、図１３に示す上位周波数選択処理部１３０３による、より詳細な処理手順の一例を示すフローチャートである。この図１５のフローチャートにおいて、図１４に示す２次元配列の情報１４０１をＩと表し、Ｉ［ｔ］（ｆｒｅｑ）を時刻ｔにおける周波数ｆｒｅｑのフーリエ係数の大きさとする。この値は０．０以上である。また、図１５のフローチャートにおいて、Ｓ［ｆｒｅｑ］と表されているのは、Ｉ［ｔ］（ｆｒｅｑ）−Ｉ［ｔ−ｋＰ］（ｆｒｅｑ）のことである。この際、ｋＰは任意の時間である。ただし、例外的に、Ｓ［０］＝−２．０とする。このＳ［０］の絶対値は、Ｉのどの要素よりも大きい値である。
【０１４０】
まず、ステップＳ１５０１において、上位周波数選択処理部１３０３は、周波数を指し示す変数ｆｒｅｑ０とｆｒｅｑ１を０で初期化する。
【０１４１】
続いて、ステップＳ１５０２において、上位周波数選択処理部１３０３は、２次元配列の情報Ｉを走査するための添え字ｆｒｅｑを最大周波数に初期化する。
【０１４２】
続いて、ステップＳ１５０３において、上位周波数選択処理部１３０３は、Ｓ［ｆｒｅｑ］とＳ［ｆｒｅｑ０］とを比較し、Ｓ［ｆｒｅｑ］がＳ［ｆｒｅｑ０］よりも大きいか否かを判断する。
【０１４３】
ステップＳ１５０３の判断の結果、Ｓ［ｆｒｅｑ］がＳ［ｆｒｅｑ０］よりも大きくない場合（即ち、Ｓ［ｆｒｅｑ］がＳ［ｆｒｅｑ０］以下である場合）には、ステップＳ１５０４に進む。ステップＳ１５０４に進むと、上位周波数選択処理部１３０３は、Ｓ［ｆｒｅｑ］とＳ［ｆｒｅｑ１］とを比較し、Ｓ［ｆｒｅｑ］がＳ［ｆｒｅｑ１］よりも大きいか否かを判断する。
【０１４４】
ステップＳ１５０４の判断の結果、Ｓ［ｆｒｅｑ］がＳ［ｆｒｅｑ１］よりも大きくない場合（即ち、Ｓ［ｆｒｅｑ］がＳ［ｆｒｅｑ１］以下である場合）には、ステップＳ１５０５に進む。ステップＳ１５０５に進むと、上位周波数選択処理部１３０３は、ｆｒｅｑが最小周波数であるか否かを判断する。
【０１４５】
ステップＳ１５０５の判断の結果、ｆｒｅｑが最小周波数でない場合には、ステップＳ１５０６に進む。ステップＳ１５０６に進むと、上位周波数選択処理部１３０３は、添え字ｆｒｅｑを次に大きい周波数を指すように変更する。その後、ステップＳ１５０３に戻る。
【０１４６】
一方、ステップＳ１５０３の判断の結果、Ｓ［ｆｒｅｑ］がＳ［ｆｒｅｑ０］よりも大きい場合には、ステップＳ１５０７に進む。ステップＳ１５０７に進むと、上位周波数選択処理部１３０３は、Ｓ［ｆｒｅｑ０］とＳ［ｆｒｅｑ１］とを比較し、Ｓ［ｆｒｅｑ０］がＳ［ｆｒｅｑ１］よりも大きいか否かを判断する。
【０１４７】
ステップＳ１５０７でＳ［ｆｒｅｑ０］がＳ［ｆｒｅｑ１］よりも大きいと判断された場合、或いは、ステップＳ１５０４でＳ［ｆｒｅｑ］がＳ［ｆｒｅｑ１］よりも大きいと判断された場合には、ステップＳ１５０８に進む。ステップＳ１５０８に進むと、上位周波数選択処理部１３０３は、ｆｒｅｑ１をｆｒｅｑの値で置き換える。
【０１４８】
一方、ステップＳ１５０７の判断の結果、Ｓ［ｆｒｅｑ０］がＳ［ｆｒｅｑ１］よりも大きくない場合（即ち、Ｓ［ｆｒｅｑ０］がＳ［ｆｒｅｑ１］以下である場合）には、ステップＳ１５０９に進む。ステップＳ１５０９に進むと、上位周波数選択処理部１３０３は、ｆｒｅｑ０をｆｒｅｑの値で置き換える。
【０１４９】
ステップＳ１５０８の処理が終了した場合、或いは、ステップＳ１５０９の処理が終了した場合には、ステップＳ１５０５に進み、上述したステップＳ１５０５の処理が行われる。
【０１５０】
一方、ステップＳ１５０５の判断の結果、ｆｒｅｑが最小周波数である場合には、ステップＳ１５１０に進む。ステップＳ１５１０に進むと、上位周波数選択処理部１３０３は、ｆｒｅｑ０とｆｒｅｑ１を上位周波数として選択し、これを図１３に示す上位周波数リスト１３０４として、例えば、ＲＡＭ１１０３に記憶する。
【０１５１】
以上のステップＳ１５０１〜ステップＳ１５１０の処理を経ることによって、２次元配列の情報ＩよりｋＰミリ秒前からの出力の増大が最も大きい周波数が２つ選ばれる。
【０１５２】
図１６は、図１３に示す比較演算処理部１３０５による、より詳細な処理手順の一例を示すフローチャートである。
【０１５３】
まず、ステップＳ１６０１において、比較演算処理部１３０５は、配列Ｐ［ｆ］を０で初期化する。即ち、全てのｆについて、配列Ｐ［ｆ］＝０に初期化する。この配列Ｐ［ｆ］の添え字は、上述した離散フーリエ変換における個々の周波数に対応する。
【０１５４】
続いて、ステップＳ１６０２において、比較演算処理部１３０５は、図１３の上位周波数選択処理部１３０３によって選択された周波数（本実施形態では、２つの周波数）のうちの１つを変数ｆに代入する。そして、ステップＳ１６０２〜ステップＳ１６１５の処理を、図１３の上位周波数選択処理部１３０３によって選択された周波数の数だけループを繰り返す。
【０１５５】
続いて、ステップＳ１６０３において、比較演算処理部１３０５は、Ｓ［ｆ］と定数Ｃとを比較し、Ｓ［ｆ］が定数Ｃよりも大きいか否かを判断する。
【０１５６】
ステップＳ１６０３の判断の結果、Ｓ［ｆ］が定数Ｃよりも大きい場合には、ステップＳ１６０４に進む。ステップＳ１６０４に進むと、比較演算処理部１３０５は、周波数ｆが高群であるか否かを判断する。
【０１５７】
ステップＳ１６０４の判断の結果、周波数ｆが高群でない場合（即ち、周波数ｆが低群である場合）には、ステップＳ１６０５に進む。ステップＳ１６０５に進むと、比較演算処理部１３０５は、表１より（低群）周波数ｆに一致する行を探す。
【０１５８】
続いて、ステップＳ１６０６〜ステップＳ１６０８までのループの中で、比較演算処理部１３０５は、全ての高群周波数ｇに対して、Ｓ［ｆ］＋Ｓ［ｇ］を求める。
【０１５９】
ステップＳ１６０４の判断の結果、周波数ｆが高群である場合には、ステップＳ１６０９に進む。ステップＳ１６０９に進むと、比較演算処理部１３０５は、表１より（高群）周波数ｆに一致する列を探す。
【０１６０】
続いて、ステップＳ１６１０〜ステップＳ１６１２までのループの中で、比較演算処理部１３０５は、全ての低群周波数ｇに対して、Ｓ［ｆ］＋Ｓ［ｇ］を求める。
【０１６１】
ステップＳ１６０８の処理が終了した場合、或いは、ステップＳ１６１２の処理が終了した場合には、ステップＳ１６１３に進む。ステップＳ１６１３に進むと、比較演算処理部１３０５は、ステップＳ１６０６〜Ｓ１６０８或いはＳ１６１０〜Ｓ１６１２における全ての周波数ｇのうち、Ｓ［ｆ］＋Ｓ［ｇ］が最大値となる組み合わせをＰ［ｆ］として、例えば、ＲＡＭ１１０３に記憶する。
【０１６２】
一方、ステップＳ１６０３の判断の結果、Ｓ［ｆ］が定数Ｃよりも大きくない場合（即ち、Ｓ［ｆ］が定数Ｃ以下である場合）には、ステップＳ１６１４に進む。ステップＳ１６１４に進むと、比較演算処理部１３０５は、設定された周波数ｆを検出しなかったこととして０をＰ［ｆ］として、例えば、ＲＡＭ１１０３に記憶する。この場合は、送信側でボタンが押されなかった場合に対応する。
【０１６３】
ステップＳ１６０２〜ステップＳ１６１５までのループが完了すると、ステップＳ１６１６に進む。ステップＳ１６１６に進むと、比較演算処理部１３０５は、Ｐ［ｆ］として記憶され、今まで求めたＳ［ｆ］＋Ｓ［ｇ］の最大値を与える組み合わせについてＳ［ｆ］とＳ［ｇ］が両方とも、定数Ｃよりも大きいか否かを判断する。即ち、このステップＳ１６１６では、Ｓ［ｆ］とＳ［ｇ］のうち、小さい方の値が、定数Ｃよりも大きいか否かが判断される。ここで、最大値を与える組み合わせは、Ｐ［ｆ］を走査することで得られる。
【０１６４】
ステップＳ１６１６の判断の結果、Ｓ［ｆ］とＳ［ｇ］が両方とも、定数Ｃよりも大きい場合には、ステップＳ１６１７に進む。ステップＳ１６１７に進むと、比較演算処理部１３０５は、Ｓ［ｆ］＋Ｓ［ｇ］の最大値に対応するボタンに係る情報を、図１３の検出結果情報１３０６として、例えば、ＲＡＭ１１０３に記憶する。そして、この検出結果情報１３０６に基づいて、図１３の検出結果表示処理部１３０７は、図１２に示す円１２０３を表示装置１１０６に表示する。
【０１６５】
一方、ステップＳ１６１６の判断の結果、Ｓ［ｆ］とＳ［ｇ］のうちの少なくともいずれか一方の値が定数Ｃよりも大きくない場合（即ち、Ｓ［ｆ］とＳ［ｇ］のうちの少なくともいずれか一方の値が定数Ｃ以下である場合）には、ステップＳ１６１８に進む。ステップＳ１６１８に進むと、比較演算処理部１３０５は、この場合はボタンが押されなかったことに相当するため、図１３の検出結果情報１３０６として情報は記憶しない。なお、図１６に示すフローチャートでは、ステップＳ１６１８の場合には、検出結果情報１３０６として情報は記憶しない形態であるが、例えば、図１３の検出結果情報１３０６として、ボタンは押されなかったことを示す情報を記憶する形態であっても良い。
【０１６６】
以上のステップＳ１６０１〜ステップＳ１６１８の処理を経ることにより、フーリエ変換結果情報１３０２の比較演算処理による結果を、検出結果情報１３０６として記憶することができる。
【０１６７】
以上説明したように、本実施形態によれば、上位周波数選択処理部１３０３において、上位周波数の選択処理を行うので、高群周波数と低群周波数の全ての組み合わせについてボタンが押されたかどうかを判断する必要がない。そのため、トーン信号を負荷の軽い処理で検出することができる。
【０１６８】
また、図１３の上位周波数選択処理部１３０３において複数の周波数を選択することで、例えば外出中に携帯電話を用いて電話をかけてきた場合のように、雑音の多い環境においてもトーン信号を検出することができる。なお、本実施形態では、説明を分かりやすくするために、通話相手の電話機はＩＴＵ−Ｔ勧告Ｑ．２４で規定されている数少ないトーン信号を送信することを前提としている。この場合、より多くの周波数の信号を送信する場合の方が、本実施形態の負荷軽減の効果が顕著となる。
【０１６９】
前述した各実施形態に係るパターン認識装置を構成する図２、図４、図７、図９及び図１３の各構成部は、図１のプログラムメモリ１０２又は図１１のプログラムメモリ１１０２に記憶されたプログラムが動作することによって実現できる。また、各実施形態に係るパターン認識装置によるパターン認識方法を示す図３、図８、図１０、図１５及び図１６の各ステップは、図１のプログラムメモリ１０２又は図１１のプログラムメモリ１１０２に記憶されたプログラムが動作することによって実現できる。このプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
【０１７０】
具体的に、前記プログラムは、例えばＣＤ−ＲＯＭのような記憶媒体に記録し、或いは各種伝送媒体を介し、コンピュータに提供される。前記プログラムを記録する記憶媒体としては、ＣＤ−ＲＯＭ以外に、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。他方、前記プログラムの伝送媒体としては、プログラム情報を搬送波として伝搬させて供給するためのコンピュータネットワーク（ＬＡＮ、インターネットの等のＷＡＮ、無線通信ネットワーク等）システムにおける通信媒体を用いることができる。また、この際の通信媒体としては、光ファイバ等の有線回線や無線回線などが挙げられる。
【０１７１】
また、本発明は、コンピュータが供給されたプログラムを実行することにより各実施形態に係るパターン認識装置の機能が実現される態様に限られない。そのプログラムがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）或いは他のアプリケーションソフト等と共同して各実施形態に係るパターン認識装置の機能が実現される場合も、かかるプログラムは本発明に含まれる。また、供給されたプログラムの処理の全て、或いは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて各実施形態に係るパターン認識装置の機能が実現される場合も、かかるプログラムは本発明に含まれる。
【０１７２】
また、前述した本実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【０１７３】
【図１】本発明の第１の実施形態に係るパターン認識装置のハードウェア構成の一例を示すブロック図である。
【図２】本発明の第１の実施形態に係るパターン認識装置の機能構成の一例を示すブロック図である。
【図３】本発明の第１の実施形態に係るパターン認識装置の処理手順の一例を示すフローチャートである。
【図４】図３のステップＳ３０４において顔検出処理を行う際の処理手順の一例を示す模式図である。
【図５】図４に示す第１の確度情報のフォーマットの一例を示す概念図である。
【図６】図４に示す第１の確度情報の集計結果情報のフォーマットの一例を示す概念図である。
【図７】図４に示す第１の識別器による、より詳細な処理手順の一例を示す模式図である。
【図８】図４に示す閾値決定処理部による、より詳細な処理手順の一例を示すフローチャートである。
【図９】図４に示す第２の識別器による、より詳細な処理手順の一例を示す模式図である。
【図１０】図３のステップＳ３０４における、より詳細な処理手順の一例を示すフローチャートである。
【図１１】本発明の第２の実施形態に係るパターン認識装置のハードウェア構成の一例を示すブロック図である。
【図１２】図１１に示す表示装置の表示画面の一例を示す模式図である。
【図１３】本発明の第２の実施形態に係るパターン認識装置の機能構成の一例を示すブロック図である。
【図１４】図１３に示すフーリエ変換結果情報のフォーマットの一例を示す模式図である。
【図１５】図１３に示す上位周波数選択処理部による、より詳細な処理手順の一例を示すフローチャートである。
【図１６】図１３に示す比較演算処理部による、より詳細な処理手順の一例を示すフローチャートである。
【符号の説明】
【０１７４】
１００  パターン認識装置
１０１  ＣＰＵ
１０２  プログラムメモリ
１０３  ＲＡＭ
１０４  ハードディスク（画像データベース）
１０５  フラッシュメモリ
１１０  制御バス・データバス
２０１  画像読み込み部
２０２  顔検出部
２０３  画像書き込み部
４０１  画像データ
４０２  第１の識別器
４０３  第１の確度情報
４０４  振り分け処理部
４０５  第１の確度情報の集計結果情報
４０６  閾値決定処理部
４０７  ２値化処理部
４０８  第１の検出結果情報
４０９  第２の識別器
４１０  第２の確度情報
４１１  顔検出結果情報
【図１】
0004995024.tif 000003
【図２】
0004995024.tif 000004
【図３】
0004995024.tif 000005
【図４】
0004995024.tif 000006
【図５】
0004995024.tif 000007
【図６】
0004995024.tif 000008
【図７】
0004995024.tif 000009
【図８】
0004995024.tif 000010
【図９】
0004995024.tif 000011
【図１０】
0004995024.tif 000012
【図１１】
0004995024.tif 000013
【図１２】
0004995024.tif 000014
【図１３】
0004995024.tif 000015
【図１４】
0004995024.tif 000016
【図１５】
0004995024.tif 000017
【図１６】
0004995024.tif 000018