(57)【要約】【課題】  人物顔が含まれているか否かが判明しない画像の中から人の顔画像が存在する可能性が高い領域を高速、かつ精度良く検出することができる新規な顔画像検出方法及び検出システム並びに検出プログラムの提供。【解決手段】検出対象領域内を複数のブロックに分割して次元圧縮を行ってから、各ブロック毎の代表値で構成する特徴ベクトルを算出し、その特徴ベクトルを用いて前記検出対象領域内に顔画像が存在するか否かを識別器によって識別する。つまり、顔画像の特徴を損なわない程度まで画像特徴量の次元圧縮を行ってからように識別するようにしたものである。これによって、識別に利用する画像特徴量は検出対象領域内の画素の数からブロックの数にまで大幅に減少するため、演算量が激減して高速な顔画像検出を達成できる。【選択図】        図１
2005190400.tif 000002
【特許請求の範囲】
【請求項１】
顔画像が含まれているか否かが判明しない検出対象画像中に顔画像が存在するか否かを検出する方法であって、
前記検出対象画像内の所定の領域を検出対象領域として選択し、選択された検出対象領域内のエッジの強度を算出すると共に、算出されたエッジ強度に基づいて当該検出対象領域内を複数のブロックに分割した後、各ブロック毎の代表値で構成する特徴ベクトルを算出し、しかる後、それら特徴ベクトルを識別器に入力して前記検出対象領域内に顔画像が存在するか否かを検出するようにしたことを特徴とする顔画像検出方法。
【請求項２】
請求項１に記載の顔画像検出方法において、
前記ブロックの大きさは、自己相関係数に基づいて決定するようにしたことを特徴とする顔画像検出方法。
【請求項３】
請求項１又は２に記載の顔画像検出方法において、
前記エッジの強度に代わり、あるいはエッジの強度と共に、前記検出対象領域内の輝度値を求め、当該輝度値に基づいて前記各ブロック毎の代表値で構成する特徴ベクトルを算出するようにしたことを特徴とする顔画像検出方法。
【請求項４】
請求項１〜３のいずれかに記載の顔画像検出方法において、
前記各ブロック毎の代表値として、前記各ブロックを構成する画素の画像特徴量の分散値または平均値を用いるようにしたことを特徴とする顔画像検出方法。
【請求項５】
請求項１〜４のいずれかに記載の顔画像検出方法において、
前記識別器として、予め複数の学習用のサンプル顔画像とサンプル非顔画像とを学習したサポートベクタマシンを用いるようにしたことを特徴とする顔画像検出方法。
【請求項６】
請求項５に記載の顔画像検出方法において、
前記サポートベクタマシンの識別関数として、非線形のカーネル関数を使用するようにしたことを特徴とする顔画像検出方法。
【請求項７】
請求項１〜４のいずれかに記載の顔画像検出方法において、
前記識別器として、予め複数の学習用のサンプル顔画像とサンプル非顔画像を学習したニューラルネットを用いるようにしたことを特徴とする顔画像検出方法。
【請求項８】
請求項１〜７のいずれかに記載の顔画像検出方法において、
前記検出対象領域内のエッジ強度は、各画素におけるＳｏｂｅｌのオペレータを用いて算出するようにしたことを特徴とする顔画像検出方法。
【請求項９】
顔画像が含まれているか否かが判明しない検出対象画像中に顔画像が存在するか否かを検出するシステムであって、
前記検出対象画像及び当該検出対象画像内の所定の領域を検出対象領域として読み取る画像読取手段と、
前記画像読取手段で読み取った検出対象領域内をさらに複数のブロックに分割してそのブロック毎の代表値で構成する特徴ベクトルを算出する特徴ベクトル算出手段と、
前記特徴ベクトル算出手段で得られた各ブロック毎の代表値で構成する特徴ベクトルに基づいて前記検出対象領域内に顔画像が存在するか否かを識別する識別手段と、を備えたことを特徴とする顔画像検出システム。
【請求項１０】
請求項９に記載の顔画像検出システムにおいて、
前記特徴ベクトル算出手段は、前記画像読取手段で読み取った検出対象領域内の各画素における輝度値を算出する輝度算出部と、前記検出対象領域内のエッジの強度を算出するエッジ算出部と、前記輝度算出部で得られた輝度値又は前記エッジ算出部で得られたエッジの強度、あるいは両方の値の平均値又は分散値を算出する平均・分散値算出部とからなることを特徴とする顔画像検出システム。
【請求項１１】
請求項９又は１０に記載の顔画像検出システムにおいて、
前記識別手段は、予め複数の学習用のサンプル顔画像とサンプル非顔画像を学習したサポートベクタマシンからなることを特徴とする顔画像検出システム。
【請求項１２】
顔画像が含まれているか否かが判明しない検出対象画像中に顔画像が存在するか否かを検出するプログラムであって、コンピュータを、
前記検出対象画像及び当該検出対象画像内の所定の領域を検出対象領域として読み取る画像読取手段と、
前記画像読取手段で読み取った検出対象領域内をさらに複数のブロックに分割してそのブロック毎の代表値で構成する特徴ベクトルを算出する特徴ベクトル算出手段と、
前記特徴ベクトル算出手段で得られた各ブロック毎の代表値で構成する特徴ベクトルに基づいて前記検出対象領域内に顔画像が存在するか否かを識別する識別手段と、して機能させることを特徴とする顔画像検出プログラム。
【請求項１３】
請求項１２に記載の顔画像検出プログラムにおいて、
前記特徴ベクトル算出手段は、前記画像読取手段で読み取った検出対象領域内の各画素における輝度値を算出する輝度算出部と、前記検出対象領域内のエッジの強度を算出するエッジ算出部と、前記輝度算出部で得られた輝度値又は前記エッジ算出部で得られたエッジの強度、あるいは両方の値の平均値又は分散値を算出する平均・分散値算出部とからなることを特徴とする顔画像検出プログラム。
【請求項１４】
請求項１２又は１３に記載の顔画像検出プログラムにおいて、
前記識別手段は、予め複数の学習用のサンプル顔画像とサンプル非顔画像を学習したサポートベクタマシンからなることを特徴とする顔画像検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パターン認識（Ｐａｔｔｅｒｎ  ｒｅｃｏｇｎｉｔｉｏｎ）やオブジェクト認識技術に係り、特に人物顔が含まれているか否かが判明しない画像中から当該人物顔が含まれているか否かを高速に検出するための顔画像検出方法及び検出システム並びに検出プログラムに関するものである。
【背景技術】
【０００２】
近年のパターン認識技術やコンピュータ等の情報処理システムの高性能化に伴って文字や音声の認識精度は飛躍的に向上してきているが、人物や物体・景色等が映っている画像、例えば、ディジタルカメラ等によって取り込まれた画像のパターン認識のうち、特にその画像中に人の顔が映っているか否かを正確かつ高速に識別するといった点に関しては未だに極めて困難な作業であることが知られている。
【０００３】
しかしながら、このように画像中に人の顔が映っているか否か、さらにはその人物が誰であるのかをコンピュータ等によって自動的に正確に識別することは、生体認識技術の確立やセキュリティの向上、犯罪捜査の迅速化、画像データの整理・検索作業の高速化等を実現する上で極めて重要なテーマとなってきており、このようなテーマに関しては従来から多くの提案がなされている。
【０００４】
例えば、以下の特許文献１等では、ある入力画像について、先ず、人物肌色領域の有無を判定し、人物肌色領域に対して自動的にモザイクサイズを決定し、候補領域をモザイク化し、人物顔辞書との距離を計算することにより人物顔の有無を判定し、人物顔の切り出しを行うことによって、背景等の影響による誤抽出を減らし、効率的に画像中から人間の顔を自動的に見つけるようにしている。
【特許文献１】特開平９−５０５２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記従来技術では、「肌色」を元に画像中から人間の顔を検出するようにしているが、この「肌色」は照明等の影響により、色範囲が異なることがあり、顔画像の検出漏れや逆に背景によっては絞り込みが効率的に行えない等の問題がある。
そこで、本発明はこのような課題を有効に解決するために案出されたものであり、その目的は、人物顔が含まれているか否かが判明しない画像の中から人の顔画像が存在する可能性が高い領域を高速、かつ精度良く検出することができる新規な顔画像検出方法及び検出システム並びに検出プログラムを提供するものである。
【課題を解決するための手段】
【０００６】
〔発明１〕
上記課題を解決するために発明１の顔画像検出方法は、
顔画像が含まれているか否かが判明しない検出対象画像中に顔画像が存在するか否かを検出する方法であって、前記検出対象画像内の所定の領域を検出対象領域として選択し、選択された検出対象領域内のエッジの強度を算出すると共に、算出されたエッジ強度に基づいて当該検出対象領域内を複数のブロックに分割した後、各ブロック毎の代表値で構成する特徴ベクトルを算出し、しかる後、それら特徴ベクトルを識別器に入力して前記検出対象領域内に顔画像が存在するか否かを識別するようにしたことを特徴とするものである。
【０００７】
すなわち、顔画像が含まれているかどうか分からない、又は含まれている位置についての知識もない画像から顔画像を抽出する技術としては、前述したように肌色領域を利用する方法の他に、輝度などから算出される顔画像特有の特徴ベクトルに基づいて検出する方法がある。
しかしながら、通常の特徴ベクトルを用いた方法では、例えば、僅か２４×２４画素の顔画像を検出する場合でも、５７６（２４×２４）次元の膨大な量の特徴ベクトル（ベクトルの要素が５７６個）を使った演算を行わなければならないため、高速な顔画像検出を行うことができない。
【０００８】
そこで、本発明は前記の通り、当該検出対象領域内を複数のブロックに分割してから、各ブロック毎の代表値で構成する特徴ベクトルを算出し、その特徴ベクトルを用いて前記検出対象領域内に顔画像が存在するか否かを識別器によって識別するようにしたものである。つまり、顔画像の特徴を損なわない程度まで画像特徴量の次元圧縮を行ってからように識別するようにしたものである。
【０００９】
これによって、識別に利用する画像特徴量は検出対象領域内の画素の数からブロックの数にまで大幅に減少するため、演算量が激減して高速な顔画像検出を達成することが可能となる。さらにエッジを使っているため、照明変動に強い顔画像の検出が可能になる。
〔発明２〕
発明２の顔画像検出方法は、
発明１に記載の顔画像検出方法において、前記ブロックの大きさは、自己相関係数に基づいて決定するようにしたことを特徴とするものである。
【００１０】
すなわち、後に詳述するが、自己相関係数を用い、その係数に基づいて顔画像本来の特徴を大きく損なわない程度までブロック化による次元圧縮を行うことが可能となるため、より高速かつ高精度な顔画像検出を実施することができる。
〔発明３〕
発明３の顔画像検出方法は、
発明１又は２に記載の顔画像検出方法において、前記エッジの強度に代わり、あるいはエッジの強度と共に、前記検出対象領域内の輝度値を求め、その輝度値に基づいて前記各ブロック毎の代表値で構成する特徴ベクトルを算出するようにしたことを特徴とするものである。
【００１１】
これによって、検出対象領域内に顔画像が存在する場合はその顔画像を精度良く、高速に識別することが可能となる。
〔発明４〕
発明４の顔画像検出方法は、
発明１〜３のいずれかに記載の顔画像検出方法において、前記各ブロック毎の代表値として、前記各ブロックを構成する画素の画像特徴量の分散値または平均値を用いるようにしたことを特徴とするものである。
【００１２】
これによって、識別手段に入力するための前記特徴ベクトルを的確に算出することができる。
〔発明５〕
発明５の顔画像検出方法は、
発明１〜４のいずれかに記載の顔画像検出方法において、前記識別器として、予め複数の学習用のサンプル顔画像とサンプル非顔画像を学習したサポートベクタマシンを用いるようにしたことを特徴とするものである。
【００１３】
すなわち、本発明では生成された特徴ベクトルの識別手段として、サポートベクタマシンを利用するようにしたものであり、これによって、選択された検出対象領域内に人の顔画像が存在するか否かを高速、かつ精度良く識別することが可能となる。
ここで本発明で用いる、「サポートベクタマシン（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ：以下、適宜「ＳＶＭ」と称する）」とは、後に詳述するが、１９９５年にＡＴ＆ＴのＶ．Ｖａｐｎｉｋによって統計的学習理論の枠組みで提案され、マージンという指標を用いて全ての２クラスの入力データを線形分離するのに最適な超平面を求めることができる学習機械のことであり、パターン認識の能力において最も優秀な学習モデルの一つであることが知られている。また、後述するように、線形分離不可能な場合でもカーネルトリックというテクニックを用いることにより、高い識別能力を発揮することが可能となっている。
【００１４】
〔発明６〕
発明６の顔画像検出方法は、
発明５に記載の顔画像検出方法において、前記サポートベクタマシンの識別関数として、非線形のカーネル関数を使用するようにしたことを特徴とするものである。
すなわち、このサポートベクタマシンの基本的な構造は、線形しきい素子であるが、これでは原則として線形分離不可能なデータである高次元の画像特徴ベクトルに適用することができない。
【００１５】
一方、このサポートベクタマシンによって非線形な分類を可能とする方法として高次元化が挙げられる。これは、非線形写像によって元の入力データを高次元特徴空間に写像して特徴空間において線形分離を行うという方法であり、これによって、結果的に元の入力空間においては非線形な識別を行う結果となるものである。
しかし、この非線形写像を得るためには膨大な計算を必要とするため、実際にはこの非線形写像の計算は行わずに「カーネル関数」という識別関数の計算に置き換えることができる。これをカーネルトリックといい、このカーネルトリックによって非線形写像を直接計算することを避け、計算上の困難を克服することが可能となっている。
【００１６】
従って、本発明で用いるサポートベクタマシンの識別関数として、この非線形な「カーネル関数」を用いれば、本来線形分離不可能なデータである高次元の画像特徴ベクトルでも容易に分離することができる。
〔発明７〕
発明７の顔画像検出方法は、
発明１〜４のいずれかに記載の顔画像検出方法において、前記識別器として、予め複数の学習用のサンプル顔画像とサンプル非顔画像を学習したニューラルネットワークを用いるようにしたことを特徴とするものである。
【００１７】
このニューラルネットワークとは、生物の脳の神経回路網を模倣したコンピュータのモデルであり、特に多層型のニューラルネットワークであるＰＤＰ（Ｐａｒａｌｌｅｌ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｐｒｏｃｅｓｓｉｎｇ）モデルは、線形分離不可能なパターン学習が可能であってパターン認識技術の分類手法の代表的なものとなっている。但し、一般的に高次の特徴量を使用した場合、ニューラルネットでは識別能力が低下するといわれている。本発明では画像特徴量の次元が圧縮されているために、このような問題は発生しない。
【００１８】
従って、前記識別器として前記ＳＶＭに変えてこのようなニューラルネットワークを用いても高速かつ高精度な識別を実施することが可能となる。
〔発明８〕
発明８の顔画像検出方法は、
発明１〜７のいずれかに記載の顔画像検出方法において、前記検出対象領域内のエッジ強度は、各画素におけるＳｏｂｅｌのオペレータを用いて算出するようにしたことを特徴とするものである。
【００１９】
すなわち、この「Ｓｏｂｅｌのオペレータ」とは、画像中のエッジや線のように濃淡が急激に変化している箇所を検出するための差分型のエッジ検出オペレータの一つである。
従って、このような「Ｓｏｂｅｌのオペレータ」を用いて各画素におけるエッジの強さ、又はエッジの分散値を生成することにより、画像特徴ベクトルを生成することができる。
【００２０】
尚、この「Ｓｏｂｅｌのオペレータ」の形状は、図９（ａ：横方向のエッジ）、（ｂ：横方向のエッジ）に示す通りであり、それぞれのオペレータで生成した結果を二乗和した後、平方根をとることでエッジの強度を求めることができる。
〔発明９〕
発明９の顔画像検出システムは、
顔画像が含まれているか否かが判明しない検出対象画像中に顔画像が存在するか否かを検出するシステムであって、前記検出対象画像及び当該検出対象画像内の所定の領域を検出対象領域として読み取る画像読取手段と、前記画像読取手段で読み取った検出対象領域内をさらに複数のブロックに分割してそのブロック毎の代表値で構成する特徴ベクトルを算出する特徴ベクトル算出手段と、前記特徴ベクトル算出手段で得られた各ブロック毎の代表値で構成する特徴ベクトルに基づいて前記検出対象領域内に顔画像が存在するか否かを識別する識別手段と、を備えたことを特徴とするものである。
【００２１】
これによって、発明１と同様に、識別手段の識別に利用する画像特徴量が検出対象領域内の画素の数からブロックの数にまで大幅に減少するため、顔画像検出を高速、かつ自動的に達成することが可能となる。
〔発明１０〕
発明１０の顔画像検出システムは、
発明９に記載の顔画像検出システムにおいて、前記特徴ベクトル算出手段は、前記画像読取手段で読み取った検出対象領域内の各画素における輝度値を算出する輝度算出部と、前記検出対象領域内のエッジの強度を算出するエッジ算出部と、前記輝度算出部で得られた輝度値又は前記エッジ算出部で得られたエッジの強度、あるいは両方の値の平均値又は分散値を算出する平均・分散値算出部とからなることを特徴とするものである。
【００２２】
これによって、発明４と同様に、識別手段に入力するための前記特徴ベクトルを的確に算出することができる。
〔発明１１〕
発明１１の顔画像検出システムは、
発明９又は１０に記載の顔画像検出システムにおいて、前記識別手段は、予め複数の学習用のサンプル顔画像とサンプル非顔画像を学習したサポートベクタマシンからなることを特徴とするものである。
【００２３】
これによって、発明５と同様に選択された検出対象領域内に人の顔画像が存在するか否かを高速、かつ精度良く識別することが可能となる。
〔発明１２〕
発明１２の顔画像検出プログラムは、
顔画像が含まれているか否かが判明しない検出対象画像中に顔画像が存在するか否かを検出するプログラムであって、コンピュータを、前記検出対象画像及び当該検出対象画像内の所定の領域を検出対象領域として読み取る画像読取手段と、前記画像読取手段で読み取った検出対象領域内をさらに複数のブロックに分割してそのブロック毎の代表値で構成する特徴ベクトルを算出する特徴ベクトル算出手段と、前記特徴ベクトル算出手段で得られた各ブロック毎の代表値で構成する特徴ベクトルに基づいて前記検出対象領域内に顔画像が存在するか否かを識別する識別手段と、して機能させることを特徴とするものである。
【００２４】
これによって、発明１と同様な効果が得られると共に、パソコン等の汎用のコンピュータシステムを用いてソフトウェア上でそれらの各機能を実現することができるため、それぞれ専用のハードウェアを製作して実現する場合に比べて、経済的かつ容易に実現することが可能となる。また、プログラムの書き換えだけでそれら各機能の改良も容易に行うことができる。
【００２５】
〔発明１３〕
発明１３の顔画像検出プログラムは、
発明１２に記載の顔画像検出プログラムにおいて、前記特徴ベクトル算出手段は、前記画像読取手段で読み取った検出対象領域内の各画素における輝度値を算出する輝度算出部と、前記検出対象領域内のエッジの強度を算出するエッジ算出部と、前記輝度算出部で得られた輝度値又は前記エッジ算出部で得られたエッジの強度、あるいは両方の値の平均値又は分散値を算出する平均・分散値算出部とからなることを特徴とするものである。
【００２６】
これによって、発明４と同様に識別手段に入力するための最適な画像特徴ベクトルを的確に算出することができ、また、発明１２と同様に、パソコン等の汎用のコンピュータシステムを用いてソフトウェア上でそれらの各機能を実現することができるため、経済的かつ容易に実現することが可能となる。
〔発明１４〕
発明１４の顔画像検出プログラムは、
発明１２又は１３に記載の顔画像検出プログラムにおいて、前記識別手段は、予め複数の学習用のサンプル顔画像とサンプル非顔画像を学習したサポートベクタマシンからなることを特徴とするものである。
【００２７】
これによって、発明５と同様に選択された検出対象領域内に人の顔画像が存在するか否かを高速、かつ精度良く識別することが可能となり、また、発明１２と同様にパソコン等の汎用のコンピュータシステムを用いてソフトウェア上でそれらの各機能を実現することができるため、経済的かつ容易に実現することが可能となる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明を実施するための最良の形態を添付図面を参照しながら詳述する。
図１は、本発明に係る顔画像検出システム１００の実施の一形態を示したものである。
図示するように、この顔画像検出システム１００は、学習用のサンプル画像と検出対象画像を読み取るための画像読取手段１０と、この画像読取手段１０で読み取った画像の特徴ベクトルを生成する特徴ベクトル算出手段２０と、この特徴ベクトル算出手段２０で生成した特徴ベクトルから前記検索対象画像が顔画像候補領域であるか否かを識別する識別手段３０であるＳＶＭ（サポートベクタマシン）とから主に構成されている。
【００２９】
この画像読取手段１０は、具体的には、ディジタルスチルカメラやディジタルビデオカメラ等のＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ：電荷結合素子）カメラやビジコンカメラ、イメージスキャナ、ドラムスキャナ等であり、読み込んだ検出対象画像内の所定の領域、及び学習用のサンプル画像となる複数の顔画像と非顔画像とをＡ／Ｄ変換してそのディジタルデータを特徴ベクトル算出手段２０へ順次送る機能を提供するようになっている。
【００３０】
特徴ベクトル算出手段２０は、さらに、画像中の輝度（Ｙ）を算出する輝度算出部２２と、画像中のエッジの強度を算出するエッジ算出部２４と、このエッジ算出部２４で生成されたエッジの強度又は前記輝度算出部２２で生成された輝度の平均又はエッジの強度の分散値を求める平均・分散値算出部２６とから構成されており、この平均・分散値生成部２６でサンプリングされる画素値からサンプル画像及び検索対象画像毎の画像特徴ベクトルを生成してこれをＳＶＭ３０に順次送る機能を提供するようになっている。
【００３１】
ＳＶＭ３０は、前記特徴ベクトル算出手段２０で生成した学習用のサンプルとなる複数の顔画像及び非顔画像の画像特徴ベクトルを学習すると共に、その学習結果から特徴ベクトル算出手段２０で生成した検索対象画像内の所定の領域が顔像候補領域であるか否かを識別する機能を提供するようになっている。
このＳＶＭ３０は、前述したようにマージンという指標を用いて全ての入力データを線形分離するのに最適な超平面を求めることができる学習機械のことであり、線形分離不可能な場合でもカーネルトリックというテクニックを用いることにより、高い識別能力を発揮できることが知られている。
【００３２】
そして、本実施の形態で用いるＳＶＭ３０は、１．学習を行うステップと、２．識別を行うステップに分かれる。
先ず、１．学習を行うステップは、図１に示すように学習用のサンプル画像となる多数の顔画像及び非顔画像を画像読取手段１０で読み取った後、特徴ベクトル生成部２０で各画像の特徴ベクトルを生成し、これを画像特徴ベクトルとして学習するものである。
【００３３】
その後、２．識別を行うステップでは、検索対象画像内の所定の選択領域を順次読み込んでこれを同じく特徴ベクトル算出部２０でその画像特徴ベクトルを生成し、これを特徴ベクトルとして入力し、入力された画像特徴ベクトルがその識別超平面に対していずれの領域に該当するかで顔画像が存在する可能性が高い領域か否かを検出するものである。
ここで、学習に用いられるサンプル用の顔画像及び非顔画像の大きさについては後に詳述するが、例えば２４×２４ｐｉｘｅｌ（画素）のものを所定数にブロック化したものであって、検出対象となる領域のブロック化後の大きさと同じ大きさの領域について行われることになる。
【００３４】
さらに、このＳＶＭについて「パターン認識と学習の統計学」（岩波書店、麻生英樹、津田宏治、村田昇著）ｐｐ．１０７〜１１８の記述に基づいて多少詳しく説明すると、識別する問題が非線形である場合、ＳＶＭでは非線形なカーネル関数を用いることができ、この場合の識別関数は以下の数式１で示される。
すなわち、数式１の値が「０」の場合に識別超平面になり、「０」以外の場合は与えられた画像特徴ベクトルから計算した識別超平面からの距離の距離となる。また、数式１の結果が非負の場合は、顔画像、負の場合は非顔画像である。
【００３５】
【数１】
2005190400.tif 000003
【００３６】
ｘは特徴ベクトル、ｘｉはサポートベクトルであり、特徴ベクトル算出部２０で生成された値を用いる。Ｋはカーネル関数であり、本実施の形態では以下の数式２の関数を用いる。
【００３７】
【数２】
2005190400.tif 000004
【００３８】
尚、この顔画像検出システム１００を構成する特徴ベクトル算出手段２０、ＳＶＭ３０並びに画像読取手段１０等は、実際には、ＣＰＵやＲＡＭ等からなるハードウェアと、専用のコンピュータプログラム（ソフトウェア）とからなるパソコン（ＰＣ）等のコンピュータシステムによって実現されるようになっている。
すなわち、この顔画像検出システム１００を実現するためのコンピュータシステムは、例えば図２に示すように、各種制御や演算処理を担う中央演算処理装置であるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０と、主記憶装置（Ｍａｉｎ  Ｓｔｏｒａｇｅ）に用いられるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４１と、読み出し専用の記憶装置であるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）４２と、ハードディスクドライブ装置（ＨＤＤ）や半導体メモリ等の補助記憶装置（Ｓｅｃｏｎｄａｒｙ  Ｓｔｏｒａｇｅ）４３、及びモニタ（ＬＣＤ（液晶ディスプレイ）やＣＲＴ（陰極線管））等からなる出力装置４４、イメージスキャナやキーボード、マウス、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）やＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）等の撮像センサ等からなる入力装置４５と、これらの入出力インターフェース（Ｉ／Ｆ）４６等との間を、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスやＩＳＡ（Ｉｎｄｕｓｔｒｉａｌ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ；アイサ）バス等からなるプロセッサバス、メモリバス、システムバス、入出力バス等の各種内外バス４７によってバス接続したものである。
【００３９】
そして、例えば、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）等の記憶媒体、あるいは通信ネットワーク（ＬＡＮ、ＷＡＮ、インターネット等）Ｎを介して供給される各種制御用プログラムやデータを補助記憶装置４３等にインストールすると共にそのプログラムやデータを必要に応じて主記憶装置４４にロードし、その主記憶装置４１にロードされたプログラムに従ってＣＰＵ４４が各種リソースを駆使して所定の制御及び演算処理を行い、その処理結果（処理データ）をバス４７を介して出力装置４４に出力して表示すると共に、そのデータを必要に応じて補助記憶装置４３によって形成されるデータベースに適宜記憶、保存（更新）処理するようにしたものである。
【００４０】
次に、このような構成を顔画像検出システム１００を用いた顔画像検出方法の一例を説明する。
図３は、実際に検索対象となる画像に対する顔画像検出方法の一例を示すフローチャートであるが、実際の検出対象画像を用いて識別を実施する前には、前述したように識別に用いるＳＶＭ３０に対する学習用のサンプル画像となる顔画像及び非顔画像を学習させるステップを経る必要がある。
【００４１】
この学習ステップは、従来通り、サンプル画像となる顔画像及び非顔画像毎の特徴ベクトルを生成してその特徴ベクトルを顔画像であるか非顔画像であるかの情報と共に入力するものである。尚、ここで学習に用いる学習画像は、実際の検出対象画像の選択領域と同じ処理が成された画像を用いることが望ましい。すなわち、後に詳述するが、本発明の識別対象となる画像領域は、次元圧縮されていることから、それと同じ次元まで予め圧縮した画像を用いることで、より高速かつ高精度な識別を行うことが可能となる。
【００４２】
そして、このようにしてＳＶＭ３０に対してサンプル画像の特徴ベクトルの学習が行われたならば、図３のステップＳ１０１に示すように、先ず検出対象画像内の検出対象となる領域を決定（選択）する。尚、この検出対象領域の決定方法としては、特に限定されるものではなく、他の顔画像識別手段で得られた領域をそのまま採用したり、又は本システムの利用者等が検出対象画像内で任意に指定した領域を採用しても良いが、この検出対象画像については、原則としてどの位置に顔画像が含まれているかは勿論、顔画像が含まれているか否かも分かっていないことが殆どであると考えられるため、例えば、検出対象画像の左上の角を始点とした一定の領域から始めて順次水平及び垂直方向に一定の画素毎にずらしながら全ての領域をしらみ潰しに探索するようにその領域を選択することが望ましい。また、その領域の大きさは一定である必要はなく、適宜大きさを変えながら選択するようにしても良い。
【００４３】
その後、このようにして顔画像の検出対象となる最初の領域が選択されたならば、図３に示すように、次のステップＳ１０３に移行してその最初の検出対象領域の大きさを所定のサイズ、例えば２４×２４画素に正規化（リサイズ）する。すなわち、原則として検出対象となる画像には顔画像が含まれている否かは勿論、その大きさも不明であるため、選択される領域の顔画像の大きさによってはその画素数が大幅に異なることから、取り敢えず選択された領域については基準となる大きさ（２４×２４画素）の大きさにリサイズ（正規化）する。
【００４４】
次に、このようにして選択領域の正規化が終了したならば、次のステップＳ１０５に移行して正規化した領域のエッジの強度を各画素について求めた後、その領域内を複数のブロックに分割して各ブロック内のエッジの強度の平均値、又は分散値を算出する。
図４は、このように正規化した後のエッジ強度の変化を示した図（画像）であり、算出されたエッジ強度が２４×２４画素（ｐｉｘｅｌ）として表示されている。また、図５は、この領域内をさらに６×８にブロック化して各ブロック内のエッジ強度の平均値を各ブロックの代表値として表示したものであり、さらに、図６は同じく、この領域内をさらに６×８にブロック化して各ブロック内のエッジ強度の分散値を各ブロックの代表値として表示したものである。尚、図中上段両端のエッジ部分は人物顔の「両目」を、図中中央中段部分のエッジ部分は「鼻」を、図中中央下段部分のエッジ部分は人物顔の「唇部分」を示したものである。本発明のように次元を圧縮しても、顔画像の特徴をそのまま残していることが明白である。
【００４５】
ここで、領域内のブロック化数としては、自己相関係数に基づいて画像の特徴量を大きく損なわない程度までブロック化することが肝要であり、ブロック化数が多くなり過ぎると算出される画像特徴ベクトルの数も多くなって処理負荷が増大し、検出の高速化が達成できなくなるからである。すなわち、自己相関係数が閾値以上であれば、ブロック内での画像特徴量の値、あるいは変動パターンが一定範囲に収まっていると考えることができる。
【００４６】
この自己相関係数の算出方法としては、以下の式３及び式４を利用することで容易に求めることができる。式３は検索対象画像に対する水平（幅）方向（Ｈ）の自己相関係数を算出するための式であり、式４は、検索対象画像に対する垂直（高さ）方向（Ｖ）の自己相関係数を算出するための式である。
【００４７】
【数３】
2005190400.tif 000005
【００４８】
【数４】
2005190400.tif 000006
【００４９】
そして、図７及び図８はこのような式３、式４を用いて得られた画像の水平方向（Ｈ）及び垂直方向（Ｖ）のそれぞれの相関係数の一例を示したものである。
図７に示すように、基準となる画像に対して一方の画像のズレが水平方向に「０」、すなわち、両画像が完全に重なり合っているときの両画像間の相関関係は最大の「１．０」であるが、一方の画像が基準となる画像に対して水平方向に「１」画素分だけズレると、両画像間の相関関係は、約「０．９」、また、「２」画素分だけズレると、両画像間の相関関係は、約「０．７５」といったように、両画像間の相関関係は、水平方向に対してそのズレ量（画素数）が増えるに従って徐々に低下することがわかる。
【００５０】
また、図８に示すように、基準となる画像に対して一方の画像のズレが垂直方向に「０」、すなわち、両画像が完全に重なり合っているときの両画像間の相関関係は同じく最大の「１．０」であるが、一方の画像が基準となる画像に対して垂直方向に「１」画素分だけズレると、両画像間の相関関係は、約「０．８」、また、「２」画素分だけズレると、両画像間の相関関係は、約「０．６５」といったように、両画像間の相関関係は、垂直方向に対してもそのズレ量（画素数）が増えるに従って徐々に低下することがわかる。
【００５１】
この結果、そのズレ量が比較的少ない場合、すなわち、一定の画素数の範囲内では、両画像間の画像特徴量に大きな差はなく、ほぼ同じものと考えることができる。
このように画像特徴量の値あるいは変動パターンが一定と考える範囲（閾値）は、検出速度や検出の信頼性等によって異なってくるが、本実施の形態では、図中矢印に示すように水平方向については「４」画素まで、垂直方向に対しては「３」画素までとした。すなわち、この範囲内のズレ量の画像であれば画像特徴量の変化が少なく、一定範囲の変動の範囲として取り扱っても良い。この結果、本実施の形態では、元の選択領域の特徴を大きく損なわずに、１／１２（６×８＝４８次元／２４×２４＝５７６次元）まで次元圧縮することが可能となる。
【００５２】
本発明はこのように画像特徴量に一定の幅がある点に着目して案出されたものであり、自己相関係数が一定値を下回らない範囲内を一つのブロックとして扱い、そのブロック内の代表値で構成する画像特徴ベクトルを採用するようにしたものである。
そして、このようにして検出対象となる領域の次元圧縮を行ったならば、各ブロック毎の代表値で構成する画像特徴ベクトルを算出した後、得られた画像特徴ベクトルを識別器（ＳＶＭ）３０に入力することで当該領域に顔画像が存在するか否かを判別することになる（ステップＳ１０９）。
【００５３】
その後、その判別結果は、その判定が終了する都度、あるいは他の判別結果と共に纏めて利用者に示されると共に、次のステップＳ１１０に移行して全ての領域について判定処理が実行されるのを待って処理が終了することになる。
すなわち、図４〜図６の例では、各ブロックは、自己相関係数が一定値を下回らない、それぞれ縦横に隣接する１２個の画素（３×４）からなっており、この１２個の画素の画像特徴量（エッジ強度）の平均値（図５）及び分散値（図６）が各ブロックの代表値として算出され、その代表値から得られた画像特徴ベクトルを識別器（ＳＶＭ）３０に入力して判定処理を行うことになる。
【００５４】
このように本発明は検出対象の領域の全ての画素の特徴量をそのまま利用するのではなく、画像本来の特徴量を損なわない程度まで次元圧縮してから識別するようにしたため、計算量が大幅に削減することが可能となり、選択された領域に顔画像が存在するか否かを高速、かつ精度良く識別することができる。
尚、本実施の形態では、エッジの強度に基づく画像特徴量を採用したが、画像の種類によってはエッジの強度よりも、画素の輝度値を用いた方がより効率的に次元圧縮できる場合があり、この場合は、輝度値単独で、あるいはエッジの強度を併用した画像特徴量を用いても良い。
【００５５】
また、本発明では、検出対象画像として将来極めて有望な「人間の顔」を対象としたものであるが、「人間の顔」のみならず、「人間の体型」や「動物の顔、姿態」、「自動車等の乗り物」、「建造物」、「植物」、「地形」等といった他のあらゆるオブジェクトへの適用も可能である。
また、図９は、本発明で適用可能な差分型エッジ検出オペレータの一つである「Ｓｏｂｅｌのオペレータ」を示したものである。
【００５６】
図９（ａ）に示すオペレータ（フィルタ）は、注目画素を囲む８つの画素値のうち、左列及び右列に位置するそれぞれ３つの画素値を調整することで横方向のエッジを強調し、図９（ｂ）に示すオペレータは、注目画素を囲む８つの画素値のうち、上行及び下列に位置するそれぞれ３つの画素値を調整して縦方向のエッジを強調することで縦横のエッジを検出するものである。
【００５７】
そして、このようなオペレータで生成した結果を二乗和した後、平方根をとることでエッジの強度を求め、各画素におけるエッジの強さ、又はエッジの分散値を生成することにより、画像特徴ベクトルを精度良く検出することができる。尚、前述したように、この「Ｓｏｂｅｌのオペレータ」に代えて「Ｒｏｂｅｒｔｓ」や「Ｐｒｅｗｉｔｔ」等の他の差分型エッジ検出オペレータや、テンプレート型エッジ検出オペレータ等を適用することも可能である。
【００５８】
また、前記識別器３０としてＳＶＭに変えてニューラルネットワークを用いても高速かつ高精度な識別を実施することが可能となる。
【図面の簡単な説明】
【００５９】
【図１】顔画像検出システムの実施の一形態を示すブロック図である。
【図２】顔画像検出システムを実現するハードウェア構成を示す図である。
【図３】顔画像検出方法の実施の一形態を示すフローチャート図である。
【図４】エッジ強度の変化を示す図である。
【図５】エッジ強度の平均値を示す図である。
【図６】エッジ強度の分散値を示す図である。
【図７】画像の水平方向に対するズレ量と相関係数との関係を示すグラフ図である。
【図８】画像の垂直方向に対するズレ量と相関係数との関係を示すグラフ図である。
【図９】Ｓｏｂｅｌのフィルタの形状を示す図である。
【符号の説明】
【００６０】
１０…画像読取手段、２０…特徴ベクトル算出手段、２２…輝度算出部、２４…エッジ算出部、２６…平均・分散値生成部、３０…識別手段（ＳＶＭ（サポートベクタマシン））、１００…顔画像検出システム、４０…ＣＰＵ、４１…ＲＡＭ、４２…ＲＯＭ、４３…補助記憶装置、４４…出力装置、４５…入力装置、４６…入出力インターフェース（Ｉ／Ｆ）、４７…バス。
【図１】
2005190400.tif 000007
【図２】
2005190400.tif 000008
【図３】
2005190400.tif 000009
【図４】
2005190400.tif 000010
【図５】
2005190400.tif 000011
【図６】
2005190400.tif 000012
【図７】
2005190400.tif 000013
【図８】
2005190400.tif 000014
【図９】
2005190400.tif 000015