"顔を検出する対象となる入力された検出対象画像に対して、画像全体の画素値を該画像における被写体の輝度の対数を表す値に近づける変換曲線にしたがって変換する全体正規化処理を施す全体正規化ステップと、前記全体正規化処理が施された検出対象画像に基づいて該画像の画素値の分布に係る特徴量を算出し、該特徴量を用いて前記検出対象画像における顔画像候補を検出する顔画像候補検出ステップと、前記全体正規化処理が施された検出対象画像における前記顔画像候補に対応する部分画像に対して、画像上の画素値を該画像領域内における所定サイズの局所領域毎の画素値の分散の程度を算出し、該局所領域毎に局所正規化処理を施す局所正規化ステップと、前記局所正規化処理が施された部分画像に基づいて該画像の画素値の分布に係る特徴量を算出し、該特徴量を用いて前記部分画像に対応する顔画像候補が顔画像であるか否かを判別する判別ステップとを有し、前記局所正規化ステップとは、前記局所正規化処理として、前記算出された分散の程度が所定レベル以上である局所領域に対して、画素値の分散の程度を前記所定レベルより高い一定レベルに近づけるよう画素値を変換する第1の輝度階調変換処理を施し、前記算出された分散の程度が前記所定レベル未満である局所領域に対して、画素値の分散の程度を前記一定レベルより低いレベルに抑えるよう画素値を変換する第2の輝度階調変換処理を施すものであり、前記所定レベルとは、輝度を表す画素値の分散の程度が低くコントラストが平坦である画像と他の画像とを区別する境界に相当する値であることを特徴とする顔検出方法。顔を検出する対象となる入力された検出対象画像に対して、画像全体の画素値を該画像における被写体の輝度の対数を表す値に近づける変換曲線にしたがって変換する全体正規化処理を施す全体正規化手段と、前記全体正規化処理が施された検出対象画像に基づいて該画像の画素値の分布に係る特徴量を算出し、該特徴量を用いて前記検出対象画像における顔画像候補を検出する顔画像候補検出手段と、前記全体正規化処理が施された検出対象画像における前記顔画像候補に対応する部分画像に対して、画像上の画素値を該画像領域内における所定サイズの局所領域毎の画素値の分散の程度を算出し、該局所領域毎に局所正規化処理を施す局所正規化手段と、前記局所正規化処理が施された部分画像に基づいて該画像の画素値の分布に係る特徴量を算出し、該特徴量を用いて前記部分画像に対応する顔画像候補が顔画像であるか否かを判別する判別手段とを備え、前記局所正規化手段が、前記局所正規化処理として、前記算出された分散の程度が所定レベル以上である局所領域に対して、画素値の分散の程度を前記所定レベルより高い一定レベルに近づけるよう画素値を変換する第1の輝度階調変換処理を施し、前記算出された分散の程度が前記所定レベル未満である局所領域に対して、画素値の分散の程度を前記一定レベルより低いレベルに抑えるよう画素値を変換する第2の輝度階調変換処理を施すものであり、前記所定レベルとは、輝度を表す画素値の分散の程度が低くコントラストが平坦である画像と他の画像とを区別する境界に相当する値であることを特徴とする顔検出装置。前記判別手段が、互いに異なる複数の顔サンプル画像により顔画像の画素値の分布に係る特徴を予め学習させた判別器であって、前記局所正規化処理が施された部分画像に係る前記特徴量を用いて該部分画像に対応する顔画像候補が顔画像であるか否かを判別する判別器を備えたものであることを特徴とする請求項2記載の顔検出装置。コンピュータを、顔を検出する対象となる入力された検出対象画像に対して、画像全体の画素値を該画像における被写体の輝度の対数を表す値に近づける変換曲線にしたがって変換する全体正規化処理を施す全体正規化手段と、前記全体正規化処理が施された検出対象画像に基づいて該画像の画素値の分布に係る特徴量を算出し、該特徴量を用いて前記検出対象画像における顔画像候補を検出する顔画像候補検出手段と、前記全体正規化処理が施された検出対象画像における前記顔画像候補に対応する部分画像に対して、画像上の画素値を該画像領域内における所定サイズの局所領域毎の画素値の分散を算出し、該局所領域毎に局所正規化処理を施す局所正規化手段と、前記局所正規化処理が施された部分画像に基づいて該画像の画素値の分布に係る特徴量を算出し、該特徴量を用いて前記部分画像に対応する顔画像候補が顔画像であるか否かを判別する判別手段として機能させるためのプログラムであって、前記局所正規化手段が、前記局所正規化処理として、前記算出された分散の程度が所定レベル以上である局所領域に対して、画素値の分散の程度を前記所定レベルより高い一定レベルに近づけるよう画素値を変換する第1の輝度階調変換処理を施し、前記算出された分散の程度が前記所定レベル未満である局所領域に対して、画素値の分散の程度を前記一定レベルより低いレベルに抑えるよう画素値を変換する第2の輝度階調変換処理を施すものであり、前記所定レベルとは、輝度を表す画素値の分散の程度が低くコントラストが平坦である画像と他の画像とを区別する境界に相当する値であることを特徴とするプログラム。しかしながら、第1の手法は、処理時間は短いが、処理結果が検出対象画像中の斜光や背景による影響を受けやすいという特徴があり、第3の手法は、処理結果は検出対象画像中の斜光や背景、入力モダリティの違いによる影響を受けにくいが、処理時間が長いという特徴があり、また、第2の手法は、処理時間、処理結果への検出対象画像中の斜光や背景による影響の大きさについて、共に平均的であるという特徴がある。すなわち、いずれの手法も一長一短であり、これらの各正規化処理の利点をより活かした手法が未だ提案されておらず、このことが、高精度、かつ、効率のよい顔検出を目指す上での障害の一つとなっている。本発明は、上記事情に鑑み、これらの各正規化処理の利点をより活かし、高精度、かつ、効率のよい顔検出が可能な顔検出方法および装置並びにそのためのプログラムを提供することを目的とするものである。本発明の顔検出方法は、顔を検出する対象となる入力された検出対象画像に対して、画像全体の画素値を該画像における被写体の輝度の対数を表す値に近づける変換曲線にしたがって変換する全体正規化処理を施す全体正規化ステップと、前記全体正規化処理が施された検出対象画像に基づいて該画像の画素値の分布に係る特徴量を算出し、該特徴量を用いて前記検出対象画像における顔画像候補を検出する顔画像候補検出ステップと、前記全体正規化処理が施された検出対象画像における前記顔画像候補に対応する部分画像に対して、画像上の画素値を該画像領域内における所定サイズの局所領域毎の画素値の分散の程度が所定レベルに近づくように変換する局所正規化処理を施す局所正規化ステップと、前記局所正規化処理が施された部分画像に基づいて該画像の画素値の分布に係る特徴量を算出し、該特徴量を用いて前記部分画像に対応する顔画像候補が顔画像であるか否かを判別する判別ステップとを有することを特徴とするものである。本発明の顔検出装置は、顔を検出する対象となる入力された検出対象画像に対して、画像全体の画素値を該画像における被写体の輝度の対数を表す値に近づける変換曲線にしたがって変換する全体正規化処理を施す全体正規化手段と、前記全体正規化処理が施された検出対象画像に基づいて該画像の画素値の分布に係る特徴量を算出し、該特徴量を用いて前記検出対象画像における顔画像候補を検出する顔画像候補検出手段と、前記全体正規化処理が施された検出対象画像における前記顔画像候補に対応する部分画像に対して、画像上の画素値を該画像領域内における所定サイズの局所領域毎の画素値の分散の程度が所定レベルに近づくように変換する局所正規化処理を施す局所正規化手段と、前記局所正規化処理が施された部分画像に基づいて該画像の画素値の分布に係る特徴量を算出し、該特徴量を用いて前記部分画像に対応する顔画像候補が顔画像であるか否かを判別する判別手段とを備えたことを特徴とするものである。本発明のプログラムは、コンピュータを、顔を検出する対象となる入力された検出対象画像に対して、画像全体の画素値を該画像における被写体の輝度の対数を表す値に近づける変換曲線にしたがって変換する全体正規化処理を施す全体正規化手段と、前記全体正規化処理が施された検出対象画像に基づいて該画像の画素値の分布に係る特徴量を算出し、該特徴量を用いて前記検出対象画像における顔画像候補を検出する顔画像候補検出手段と、前記全体正規化処理が施された検出対象画像における前記顔画像候補に対応する部分画像に対して、画像上の画素値を該画像領域内における所定サイズの局所領域毎の画素値の分散が所定レベルに近づくように変換する局所正規化処理を施す局所正規化手段と、前記局所正規化処理が施された部分画像に基づいて該画像の画素値の分布に係る特徴量を算出し、該特徴量を用いて前記部分画像に対応する顔画像候補が顔画像であるか否かを判別する判別手段として機能させるためのものである。ここで、全体正規化処理としては、例えば、検出対象画像が、sRGBの色空間、すなわち、画像出力機器のガンマ値γoutが2.2で、画像取得時のガンマ値が0.45=1/γoutとなる規格で取得された画像であることが想定される場合には、検出対象画像の画像全体における画素値を、γout=2.2乗した後にさらに対数をとるような変換曲線図15参照にしたがって変換する処理を考えることができる。なお、全体正規化処理は、常に固定の変換曲線にしたがって画素値の変換を行うものであってもよいが、検出対象画像毎に、画像全体の画素値の分散や画素値のヒストグラムを求め、これらの情報に基づいてより画像のコントラストを顔検出処理に適したレベルに近づけるための変換曲線を選択しもしくは計算により導出し、この変換曲線にしたがって画素値の変換を行うものであってもよい。また、画素値の分散の程度とは、画素値のばらつきの度合を意味するものであり、例えば、画素値のいわゆる数学的な分散値のほか、画素値の最大値と最小値の差分値等とすることができる。また、ここでの所定レベルとは、上記分散値あるいは上記差分値等が取り得る値の一つであり、顔の額や頬、背景となる空等を表すコントラストがもともと平坦である画像とその他の画像とを区別し得る境界に相当する上記分散値あるいは上記差分値等とすることができる。画素値の統計学上の所定の代表値とは、画素値の分布の特徴を代表するこの分布の中心的な値であり、例えば、画素値の、統計学上の平均値、中央値、中間値、最頻値等とすることができる。局所領域は、便宜上、矩形領域であることが好ましいが、真円、楕円等の形状であってもよい。本発明の顔検出装置において、前記判別手段は、互いに異なる複数の顔サンプル画像により顔画像の画素値の分布に係る特徴を予め学習させた判別器であって、前記局所正規化処理が施された部分画像に係る前記特徴量を用いて該部分画像に対応する顔画像候補が顔画像であるか否かを判別する判別器を備えたものであってもよい。また、前記局所正規化手段は、前記部分画像における各局所領域について、画素値の分散の程度を算出し、前記局所正規化処理として、前記算出された分散の程度が所定レベル以上である局所領域に対して、画素値の分散の程度を前記所定レベルより高い一定レベルに近づける第1の輝度階調変換処理を施し、前記算出された分散の程度が前記所定レベル未満である局所領域に対して、画素値の分散の程度を前記一定レベルより低いレベルに抑える第2の輝度階調変換処理を施すものであってもよい。ここで、局所正規化処理としては、前記部分画像における各画素を注目画素として順次設定するとともに、前記注目画素毎に、該注目画素を中心とする所定の大きさの局所領域における画素値の分散を算出し、少なくとも該分散が前記所定レベルに対応する閾値以上のときに、前記第1の輝度階調変換処理として、該分散が前記一定レベルに対応する基準値より大きいほど、前記注目画素の画素値と該注目画素を中心とする前記局所領域における画素値の統計学上の所定の代表値との差を小さくし、該分散が前記基準値より小さいほど、前記注目画素の画素値と前記所定の代表値との差を大きくする階調変換を行う処理とすることができる。なお、ここでの所定レベルは、前記局所領域における全体または一部の輝度に応じて変化させるようにしてもよい。例えば、上記の、注目画素毎に階調変換を行う局所正規化処理において、前記閾値を、前記注目画素の画素値に応じて変化させるようにしてもよい。すなわち、前記所定レベルに対応する閾値を、前記注目画素の輝度が相対的に高いときにはより高く設定し、その輝度が相対的に低いときにはより低く設定するようにしてもよい。このようにすることにより、輝度の低い暗い領域に低いコントラスト小さい分散値で存在している顔も正しく正規化することができる。本発明の顔検出方法および装置並びにそのためのプログラムによれば、検出対象画像に対して比較的ラフな顔検出処理を施して顔候補を抽出する段階、すなわち、処理の対象となる領域が広いため高速性が重視される一方、ここではあくまで顔候補を抽出できればよいことから信頼性がそれほど要求されないという場面においては、画像中の斜光や背景による影響は受けやすいが、その反面、処理時間が短いという利点を有する全体正規化処理を採用し、抽出された顔候補近傍の画像に対して精細な判別処理を施して真の顔であるか否かを判別する絞込み段階、すなわち、顔候補の中から非顔を厳格に排除する必要があるため信頼性が重視される一方、処理の対象となる領域が限定されることから高速性がそれほど要求されないという場面においては、処理時間は長いが、画像中の斜光や背景の違いによる影響を受けにくいという利点を有する局所正規化処理を採用しているので、各処理段階において、要求される処理の信頼性と高速性を満足させるのに適当な特徴を有する正規化処理をそれぞれ適用することができ、各正規化処理の利点をより活かし、高精度、かつ、効率のよい顔検出が可能となる。以下、本発明の実施形態について説明する。図1は本発明の顔検出装置が適用された顔検出システムの構成を示す概略ブロック図である。この顔検出システムは、デジタル画像中に含まれる顔を、顔の位置、大きさ、向き、回転方向によらず検出するものである。図1に示すように、顔検出システム1は、顔を検出する対象となる入力画像S0を多重解像度化して解像度の異なる複数の画像以下、解像度画像というからなる解像度画像群S1=S1_1,S1_2,,S1_nを得る多重解像度化部10と、後に実行される顔検出処理の精度向上を目的とした前処理として、各解像度画像についてコントラストを顔検出処理に適した所定のレベル後述の判別器の性能を引き出すのに適したレベルに近づけるべく、解像度画像群S1の各々対して、画像全体の画素値をこの画像における被写体の輝度の対数を表す値に近づける変換曲線にしたがって変換する全体正規化処理を施し、全体正規化済みの解像度画像群S1′=S1′_1,S1′_2,,S1′_nを得る全体正規化部20と、全体正規化済みの解像度画像群S1′の各々に対して顔検出処理を施すことにより、解像度画像群S1′の各解像度画像に含まれる顔を表す画像以下、顔画像というS2を検出する顔検出部30と、各解像度画像上で検出された顔画像S2の各々について、同一の顔が重複して検出されたものであるか否かをその位置関係から判定して整理し、重複検出のない顔画像S3を得る重複検出判定部40とを備える。多重解像度化部10は、入力画像S0の解像度画像サイズを変換することにより、その解像度を所定の解像度、例えば、短辺が416画素の矩形サイズの画像に規格化し、規格化済みの入力画像S0′を得る。そして、この規格化済みの入力画像S0′を基本としてさらに解像度変換を行うことにより、解像度の異なる複数の解像度画像を生成し、解像度画像群S1を得る。このような解像度画像群を生成する理由は、通常、入力画像に含まれる顔の大きさは不明であるが、一方、検出しようとする顔の大きさ画像サイズは、後述の判別器の生成方法と関連して一定の大きさに固定されるため、大きさの異なる顔を検出するためには、解像度の異なる画像上で位置をずらしながら所定サイズの部分画像をそれぞれ切り出し、その部分画像が顔か非顔かを判別してゆく必要があるためである。具体的には、図2に示すように、規格化済みの入力画像S0′を基本となる解像度画像S1_1とし、解像度画像S1_1に対して2の-1/3乗倍サイズの解像度画像S1_2と、解像度画像S1_2に対して2の-1/3乗倍サイズ基本画像S1_1に対しては2の-2/3乗倍サイズの解像度画像S1_3とを先に生成し、その後、解像度画像S1_1,S1_2,S1_3のそれぞれを1/2倍サイズに縮小した解像度画像を生成し、それら縮小した解像度画像をさらに1/2倍サイズに縮小した解像度画像を生成する、といった処理を繰り返し行い、複数の解像度画像を所定の数だけ生成するようにする。このようにすることで、輝度を表す画素値の補間処理を必要としない1/2倍の縮小処理を主な処理とし、基本となる解像度画像から2の-1/3乗倍ずつサイズが縮小された複数の画像が高速に生成できる。例えば、解像度画像S1_1が短辺416画素の矩形サイズである場合、解像度画像S1_2,S1_3,は、短辺がそれぞれ、330画素,262画素,208画素,165画素,131画素,104画素,82画素,65画素,の矩形サイズとなり、2の-1/3乗倍ずつ縮小された複数の解像度画像を生成することができる。なお、このように画素値を補間しないで生成される画像は、元の画像パターンの特徴をそのまま担持する傾向が強いので、顔検出処理において精度向上が期待できる点で好ましい。全体正規化部20は、解像度画像群S1の各々に対して全体正規化処理を施すものであるが、具体的には、例えば、図15に示すような、画素値をsRGB空間におけるいわゆる逆ガンマ変換=2.2乗するした後にさらに対数をとるような変換曲線ルックアップテーブルにしたがって、画像全体における画素値を変換する処理を考えることができる。これは、次のような理由による。画像として観測される光強度Iは、通常、被写体の反射率Rと光源の強度Lの積として表現されるI=R×L。したがって、光源の強度Lが変化すると、画像として観測される光強度Iも変化することになるが、被写体の反射率Rのみを評価することができれば、光源の強度Lに依存しない、すなわち、画像の明るさの影響を受けない精度の高い顔判別を行うことができる。ここで、光源の強度がLの場合において、被写体上で反射率がR1の部分から観測される光強度をI1、被写体上で反射率がR2の部分から観測される光強度をI2としたとき、それぞれの対数をとった空間では、下記の式が成り立つ。logI1-logI2=logR1×L-logR2×L=logR1logL-logR2logL=logR1-logR2=logR1/R2すなわち、画像における画素値を対数変換することは、反射率の比が差として表現された空間へ変換することとなり、このような空間では、光源の強度Lに依存しない被写体の反射率のみを評価することが可能となる。言い換えると、画像中の明るさによって異なるコントラストここでは画素値の差分そのものを揃えることができる。一方、一般的なデジタルカメラ等の機器で取得された画像の色空間はsRGBである。sRGBとは、機器間の色再現の違いを統一するために、色彩、彩度等を規定統一した国際標準の色空間のことであり、この色空間においては、ガンマ値γoutが2.2の画像出力機器において適正な色再現を可能にするため、画像の画素値は、入力輝度を1/γout=0.45乗して得られる値となっている。そこで、画像全体における画素値を、いわゆる逆ガンマ変換、すなわち、2.2乗した後にさらに対数をとるような変換曲線にしたがって変換することにより、光源の強度に依存しない被写体の反射率のみによる評価を適正に行うことができるようになる。なお、このような全体正規化処理は、別の言い方をすれば、画像全体における画素値を、特定の色空間を別の特性を有する色空間に変換する変換曲線にしたがって変換する処理ということができる。このような処理を検出対象画像に施すことにより、画像中の明るさによって異なるコントラストを揃えることができ、顔検出処理の精度が向上することとなる。なお、この全体正規化処理は、処理結果が検出対象画像中の斜光や背景、入力モダリティの違いによる影響を受けやすい反面、処理時間が短いという特徴を有する。顔検出部30は、全体正規化部20により全体正規化処理がなされた解像度画像群S1′の各々に対して顔検出処理を施し、各解像度画像における顔画像S2を検出するものである。図3は、この顔検出部30の構成を示すブロック図である。顔検出部30は、図3に示すように、後述の各部を制御して顔検出処理におけるシーケンス制御を主に行う検出制御部31と、解像度画像群S1′の中から顔検出処理に供する解像度画像をサイズの小さいものから順に順次選択する解像度画像選択部32と、解像度画像選択部32により選択された解像度画像において、顔画像であるか否かの判別対象となる部分画像Wを切り出すサブウィンドウを、その位置をずらしながら順次設定するサブウィンドウ設定部33と、その切り出された部分画像Wが顔画像であるか否かを判別する第1の判別器群34および第2の判別器群35と、第2の判別器群35に入力される部分画像Wに対して局所正規化処理を施す局所正規化部36とから構成されている。検出制御部31は、解像度画像群S1′の各画像に対して、顔画像の候補となる顔画像候補をラフに検出し、さらにその顔画像候補の中から真の顔画像S2を抽出するという段階的な顔検出処理を行うべく、解像度画像選択部32およびサブウィンドウ設定部33を制御するものである。例えば、適宜、解像度画像選択部32に対して解像度画像の選択を指示したり、サブウィンドウ設定部33に対してサブウィンドウの設定条件を指示したり、また、得られた検出結果を重複検出判定部40に出力したりする。なお、サブウィンドウ設定条件には、サブウィンドウを設定する画像上の範囲、サブウィンドウの移動間隔検出の粗さの他、判別に用いる判別器群の別ラフ/高精度の検出モード等が含まれる。解像度画像選択部32は、検出制御部31の制御により、解像度画像群S1′の中から顔検出処理に供する解像度画像をサイズの小さい順に解像度の粗い順に順次選択するものである。なお、本実施形態における顔検出の手法が、各解像度画像上で順次切り出された同じサイズの部分画像Wについてその部分画像Wが顔画像であるか否かを判別することにより入力画像S0における顔を検出する手法であるから、この解像度画像選択部32は、入力画像S0における検出すべき顔の大きさを毎回変えながら設定するものであって、検出すべき顔の大きさを大から小へ変えながら設定するものと同等なものということができる。サブウィンドウ設定部33は、検出制御部31により設定されたサブウィンドウ設定条件に基づいて、解像度画像選択部32により選択された解像度画像上でサブウィンドウを移動させながら順次設定する。例えば、上記のラフな検出を行う場合には、上記の選択された解像度画像において、所定のサイズすなわち32×32画素サイズの部分画像Wを切り出すサブウィンドウを、所定画素数分、例えば5画素ずつ移動させながら順次設定し、その切り出された部分画像Wを第1の判別器群34へ入力する。判別器群を構成する各判別器は、後述のように、それぞれ所定の向きおよび天地方向にある顔の顔画像を判別するものであるから、このようにすることで、あらゆる向きおよび天地方向にある顔の顔画像を判別することが可能となる。また、上記の顔画像候補の絞込みを行う場合には、その解像度画像のうち顔画像候補を含む所定の大きさの近傍領域内に限定して、またサブウィンドウをより短い間隔で、例えば1画素ずつ移動させながら順次設定し、上記と同様に部分画像Wの切り出しを行い、その切り出された部分画像Wを局所正規化部36を介して第2の判別器群35へ入力する。第1の判別器群34は、部分画像Wが顔画像であるか否かを比較的高速に判別する判別器群であり、解像度画像における顔画像の候補をラフに検出するために用いられる。この第1の判別器群34は、図4に示すように、判別可能な顔の向きがそれぞれ異なる複数種類の判別器群、すなわち、主に正面顔を判別する第1の正面顔判別器群34_F、主に左横顔を判別する第1の左横顔判別器群34_Lおよび主に右横顔を判別する第1の右横顔判別器群34_Rが並列に接続された構成である。さらに、これら3種の判別器群はそれぞれ、判別可能な顔の天地方向が画像の天地方向を基準として30度ずつ異なる計12方向に対応した判別器、すなわち、第1の正面顔判別器群34_Fは、判別器34_F30,34_F60,,34_F330、第1の左横顔判別器群34_Lは、判別器34_L30,34_L60,,34_L330、第1の右横顔判別器群34_Rは、判別器34_R30,34_R60,,34_R330から構成されている。一方、第2の判別器群35は、部分画像W厳密には、局所正規化部36により局所正規化処理がなされた部分画像W′が顔画像であるか否かを比較的高精度に判別する判別器群であり、上記のラフな検出によって検出された顔画像候補についてより細かい検出処理を施し、顔画像候補の中から真の顔画像S2を抽出する絞り込むために用いられる。この第2の判別器群35も、第1の判別器群と同様、図4に示すように、判別可能な顔の向きがそれぞれ異なる複数種類の判別器群、すなわち、主に正面顔を判別する第2の正面顔判別器群35_F、主に左横顔を判別する第2の左横顔判別器群35_Lおよび主に右横顔を判別する第2の右横顔判別器群35_Rが並列に接続された構成である。さらに、これら3種の判別器群は第1の判別器群と同様、それぞれ、判別可能な顔の天地方向が画像の天地方向を基準として30度ずつ異なる計12方向に対応した判別器、すなわち、第2の正面顔判別器群35_Fは、判別器35_F30,35_F60,,35_F330、第2の左横顔判別器群35_Lは、判別器35_L30,35_L60,,35_L330、第2の右横顔判別器群35_Rは、判別器35_R30,35_R60,,35_R330から構成されている。局所正規化部36は、抽出された顔画像候補を絞り込むために、その顔画像候補に対応する部分画像Wを第2の判別器群に入力する際に、前処理として、部分画像Wに対して、画像上の局所的な領域におけるコントラストのばらつきを抑制するための局所正規化処理を施すものである。すなわち、局所正規化部36は、入力された部分画像Wに対して、この部分画像における各局所領域について、輝度を表す画素値の分散の程度が所定レベル以上である局所領域に対して、この分散の程度を上記の所定レベルより高い一定レベルに近づける第1の輝度階調変換処理を施し、画素値の分散の程度が上記の所定レベル未満である局所領域に対して、この分散の程度を上記の一定レベルより低いレベルに抑える第2の輝度階調変換処理を施すものである。なお、この局所正規化処理は、処理時間は長いが、検出対象画像中の斜光や背景、入力モダリティの違いによる判別結果への影響は小さいという特徴を有する。ここで、局所正規化部36における具体的な処理について説明する。図12は局所正規化処理の概念を示した図であり、図13は局所正規化部36における処理フロー示す図である。また、式1,2は、この局所正規化処理のための画素値の階調変換の式である。ここで、Xは注目画素の画素値、X′は注目画素の変換後の画素値、mlocalは注目画素を中心とする局所領域における画素値の平均、Vlocalはこの局所領域における画素値の分散、SDlocalはこの局所領域における画素値の標準偏差、C1×C1は上記の一定レベルに対応する基準値、C2は上記の所定レベルに対応する閾値、SDcは所定の定数である。なお、本実施形態において、輝度の階調数は8bitとし、画素値の取り得る値は0から255とする。局所正規化部36は、図13に示すように、部分画像Wにおける1つの画素を注目画素として設定しステップS31、この注目画素を中心とする所定の大きさ、例えば11×11画素サイズの局所領域における画素値の分散Vlocalを算出しステップS32、分散Vlocalが上記所定のレベルに対応する閾値C2以上であるか否かを判定するステップS33。ステップS33において、分散Vlocalが閾値C2以上であると判定された場合には、上記第1の輝度階調変換処理として、分散Vlocalが上記一定のレベルに対応する基準値C1×C1より大きいほど、注目画素の画素値Xと平均mlocalとの差を小さくし、分散mlocalが基準値C1×C1より小さいほど、注目画素の画素値Xと平均mlocalとの差を大きくする階調変換を式1にしたがって行うステップS34。一方、ステップS33において、分散Vlocalが閾値C2未満であると判定された場合には、上記第2の輝度階調変換処理として、分散Vlocalに依らない線形な階調変換を式2にしたがって行うステップS35。そして、ステップS31で設定した注目画素が最後の画素であるか否かを判定するステップS36。ステップS36において、その注目画素が最後の画素でないと判定された場合には、ステップS31に戻り、同じ部分画像上の次の画素を注目画素として設定する。一方、ステップS36において、その注目画素が最後の画素であると判定された場合には、その部分画像に対する局所正規化を終了する。このように、上記ステップS31からS36の処理を繰り返すことにより、部分画像全体に局所正規化が施された部分画像W′を得る。なお、上記の所定レベルは、局所領域における全体または一部の輝度に応じて変化させるようにしてもよい。例えば、上記の、注目画素毎に階調変換を行う正規化処理において、閾値C2を注目画素の画素値に応じて変化させるようにしてもよい。すなわち、上記の所定レベルに対応する閾値C2を、注目画素の輝度が相対的に高いときにはより高く設定し、その輝度が相対的に低いときにはより低く設定するようにしてもよい。このようにすることで、輝度の低い、いわゆる暗い領域に低いコントラスト画素値の分散が小さい状態で存在している顔も正しく正規化することができる。なお、上記の各判別器は、図4に示すように、複数の弱判別器WCが線形に結合したカスケード構造を有しており、弱判別器は、部分画像Wの画素値輝度の分布に係る少なくとも1つの特徴量を算出し、この特徴量を用いてこの部分画像Wが顔画像であるか否かを判別するものである。また、上記第1および第2の判別器群34,35は、いずれも、判別可能な主な顔の向きを正面顔、左横顔および右横顔の3種としているが、斜め向きの顔の検出精度を上げるため、右斜め顔、左斜め顔をそれぞれ判別する判別器をさらに設けるようにしてもよい。ここで、これら各判別器における具体的な処理について説明する。図5は、各判別器における大局的な処理フローを示したものであり、図6は、その中の各弱判別器による処理フローを示したものである。まず、1番目の弱判別器WCが、所定の解像度画像S1′_i上で切り出された所定サイズの部分画像Wに対してこの部分画像Wが顔であるか否かを判別するステップSS1。具体的には、1番目の弱判別器WCは、図7に示すように、解像度画像S1′_i上で切り出された所定サイズの部分画像W、すなわち、32×32画素サイズの画像に対して、4近傍画素平均画像を2×2画素サイズ毎に複数のブロックに区分し、各ブロックの4画素における画素値の平均値をそのブロックに対応する1つの画素の画素値とする処理を行うことにより、16×16画素サイズの画像と、8×8画素サイズの縮小した画像を得、これら3つの画像の平面内に設定される所定の2点を1ペアとして、複数種類のペアからなる1つのペア群を構成する各ペアにおける2点間の画素値輝度の差分値をそれぞれ計算し、これらの差分値の組合せを特徴量とするステップSS1-1。各ペアの所定の2点は、例えば、画像上の顔の濃淡の特徴が反映されるよう決められた縦方向に並んだ所定の2点や、横方向に並んだ所定の2点とする。そして、特徴量である差分値の組合せに応じて所定のスコアテーブルを参照してスコアを算出しステップSS1-2、直前の弱判別器が算出したスコアに自己の算出したスコアを加算して累積スコアを算出するがステップSS1-3、最初の弱判別器WC1では、直前の弱判別器がないので、自己の算出したスコアをそのまま累積スコアとする。この累積スコアが所定の閾値以上であるか否かによって部分画像が顔であるか否かを判別するステップSS1-4。ここで、上記部分画像Wが顔と判別されたときには、次の弱判別器WC2による判別に移行しステップSS2、部分画像Wが非顔と判別されたときには、部分画像は、即、非顔と断定されステップSSB、処理が終了する。ステップSS2においても、ステップSS1と同様に、2番目の弱判別器WCが部分画像に基づいて画像上の特徴を表す上記のような特徴量を算出しステップSS2-1、スコアテーブルを参照して特徴量からスコアを算出するステップSS2-2。そして、自ら算出したスコアを直前の1番目の弱判別器WCが算出した累積スコアに加算して累積スコアを更新しステップSS2-3、この累積スコアが所定の閾値以上であるか否かによって部分画像Wが顔であるか否かを判別するステップSS2-4。ここでも、部分画像Wが顔と判別されたときには、次の3番目の弱判別器WCによる判別に移行しステップSS3、部分画像Wが非顔と判別されたときには、部分画像Wは、即、非顔と断定されステップSSB、処理が終了する。このようにして、判別器を構成する全N個の弱判別器WCにおいて部分画像Wが顔であると判別されたときには、その部分画像Wを最終的に顔画像候補として抽出するステップSSA。上記の各判別器は、独自の、特徴量の種類、スコアテーブル、および閾値によって定められた複数の弱判別器WCからなる判別器であり、それぞれ所定の向きおよび天地方向にある顔を判別する。重複検出判定部40は、顔検出部30によって検出された真の顔画像S2の位置情報に基づいて、解像度画像群S1′の各解像度画像上で検出された顔画像のうち同一の顔を表す画像、すなわち重複して検出された顔画像をそれぞれ1つの顔画像としてまとめる処理を行い、入力画像S0において検出された真の顔画像S3を出力する。判別器は、学習方法にもよるが、一般的に部分画像Wのサイズに対して検出できる顔の大きさにはある程度幅があるので、解像度レベルが隣接する複数の解像度画像において、同一の顔を表す画像が重複して検出される場合があるからである。なお、本実施形態において、全体正規化部20は本発明の全体正規化手段として機能し、局所正規化部36は本発明の局所正規化手段として機能し、検出制御部31、解像度画像選択部32、サブウィンドウ設定部33および第1の判別器群34は本発明の顔画像候補検出手段として機能し、検出制御部31、サブウィンドウ設定部33および第2の判別器群35は本発明の判別手段として機能する。次に、顔検出システム1における処理の流れについて説明する。図9は、上記顔検出システムにおける処理の流れを示したフローチャートである。図9に示すように、多重解像度化部10に入力画像S0が供給されるとステップS1、この入力画像S0の画像サイズが所定のサイズに変換された画像S0′が生成され、この画像S0′から2の-1/3乗倍ずつサイズ解像度が縮小された複数の解像度画像からなる解像度画像群S1が生成されるステップS2。そして、全体正規化部20において、解像度画像群S1の各々に対し、画像全体のコントラストのばらつきを抑制する全体正規化処理、すなわち、画像全体の画素値をこの画像における被写体の輝度の対数を表す値に近づける変換曲線にしたがって変換する処理を施し、全体正規化済みの解像度画像群S1′が得られるステップS3。顔検出部30においては、検出制御部31からの指示を受けた解像度画像選択部32により、解像度画像群S1′の中から画像サイズの小さい順、すなわち、S1′_n,S1′_n-1,,S1′_1の順に所定の解像度画像S1′_iを選択するステップS4。次に検出制御部31が、サブウィンドウ設定部33に対して、検出モードをラフな検出のモードとするサブウィンドウ設定条件を設定する。これにより、サブウィンドウ設定部33は、解像度画像S1′_i上でサブウィンドウを広めのピッチ、例えば5画素間隔で移動しながら設定して所定サイズの部分画像Wを順次切り出しステップS5、その部分画像Wを第1の判別器群34へ入力するステップS6。第1の判別器群34は、順次入力される部分画像Wに対して、上記の36種類の判別器を用いて判別を行い、検出制御部31がその判別結果Rを取得するステップS7。そして、検出制御部31は、現在切り出された部分画像Wが最後の順番に位置する部分画像であるか否かを判定しステップS8、部分画像Wが最後の部分画像であると判定された場合には、次のステップS9へ移行し、部分画像Wが最後の部分画像でないと判定された場合には、ステップS5に戻って新たな部分画像Wが切り出される。このようにして解像度画像S1′_iについての顔画像候補をラフに検出する。この顔画像候補のラフな検出が終了すると、検出制御部31は、顔画像候補が検出されたか否かを判定し、顔画像候補が検出されていると判定された場合には、さらに絞込みモードの検出を行うためステップS10に移行し、一方、顔画像候補が検出されていないと判定された場合には、絞込みモードでの検出を行わずに現在選択されている解像度画像S1′_iに対する検出は終了し、ステップS14に移行する。ステップS10では、検出制御部31が、サブウィンドウ設定部33に対して、検出対象領域を顔画像候補を含む所定の大きさの領域内に限定し、検出モードを絞込みモードとするサブウィンドウ設定条件を設定する。これにより、サブウィンドウ設定部33は、顔画像候補近傍で、サブウィンドウを狭いピッチ、例えば1画素ずつ移動しながら設定して所定サイズの部分画像Wを順次切り出しステップS10、その部分画像Wを局所正規化部36へ入力する。局所正規化部36は、部分画像Wの画素値の分散が所定の閾値以上の領域に対してはその分散をある一定レベルに近づける輝度階調変換をし、画素値の分散がその所定の閾値を下回る領域に対してはその分散を上記一定レベルより低いレベルに抑える輝度階調変換をする局所正規化を行いステップS11、この局所正規化済みの部分画像W′を第2の判別器群35へ入力するステップS12。第2の判別器群35は、順次入力される部分画像W′に対して、顔の向きについては正面顔、右横顔および左横顔の3種、天地方向については30度ずつ異なる12種、計36種類の顔について各判別器を用いて判別を行い、検出制御部31がその判別結果Rを取得するステップS13。そして、検出制御部31は、現在切り出された部分画像Wが最後の順番に位置する部分画像であるか否かを判定しステップS14、部分画像Wが最後の部分画像であると判定された場合には、次のステップS15へ移行し、部分画像Wが最後の部分画像でないと判定された場合には、ステップS10に戻って新たな部分画像Wが切り出される。このようにして、検出された顔画像候補の絞込みを行い、解像度画像S1′_iにおける真の顔画像S2を抽出する。顔画像候補の近傍領域における絞込みモードの検出が終了すると、検出制御部31は、現在選択されている解像度画像S1′_iが最後の順番に位置する画像であるか否かを判定しステップS15、最後の解像度画像であると判定された場合には、検出処理を終了し、重複検出判定に移行するステップS16。一方、最後の解像度画像ではないと判定された場合には、ステップS10に戻り、解像度画像選択部32により、現在選択されている解像度画像S1′_iより1段階サイズが大きい解像度画像S1′_i-1が選択され、さらに顔画像の検出が実行される。このように、ステップS4からS15までの処理を繰り返すことにより、各解像度画像における顔画像S2を検出することができる。図8は、解像度画像がサイズの小さい順に選択されて顔検出が実施される様子を示した図である。ステップS16では、重複検出判定部40により、真の顔画像S2のうち重複して検出された顔画像をそれぞれ1つの顔画像としてまとめる処理を行い、入力画像S0において検出された真の顔画像S3を出力する。次に、判別器の学習方法生成方法について説明する。なお、学習は、判別器の種類、すなわち、判別すべき顔の向きおよび天地方向の各組合せ毎に行われる。学習の対象となるサンプル画像群は、所定のサイズ、例えば32×32画素サイズで規格化された、顔であることが分かっている複数のサンプル画像顔サンプル画像群と、顔でないことが分かっている複数のサンプル画像非顔サンプル画像群とからなる。顔であることが分かっているサンプル画像としては、顔の向きが判別器の判別すべき顔の向きと同一であって顔の天地方向が揃ったものを用いる。顔であることが分かっているサンプル画像は、1つのサンプル画像につき、縦および/または横を0.7倍から1.2倍の範囲にて0.1倍単位で段階的に拡縮して得られる各サンプル画像に対し、平面上±15度の範囲にて3度単位で段階的に回転させて得られる複数の変形バリエーションを用いる。なおこのとき、顔のサンプル画像は、目の位置が所定の位置に来るように顔のサイズと位置を規格化し、上記の平面上の回転、拡縮は目の位置を基準として行うようにする。例えば、d×dサイズの正面顔のサンプル画像の場合においては、図14に示すように、両目の位置が、サンプル画像の最左上の頂点と最右上の頂点から、それぞれ、内側に1/4d、下側に1/4d移動した各位置とに来るように顔のサイズと位置を規格化し、また、上記の平面上の回転、拡縮は、両目の中間点を中心に行うようにする。このような顔サンプル画像群を、正面顔、右横顔、左横顔のそれぞれについて顔の天地方向が30度ずつ異なる12種類、合計36種類について用意する。これら36種類の顔サンプル画像群の各々と非顔サンプル画像群とを用いて各種類毎に判別器の学習を行い、36種類の判別器を生成する。以下、その具体的な学習手法について説明する。図10は、この判別器の学習方法を示すフローチャートである。なお、顔サンプル画像群および非顔サンプル画像群を構成する各サンプル画像は、前もって、前述のデータ変換処理部20によるデータ変換処理と同等のデータ変換処理が施されているものとする。これら各サンプル画像には、重みすなわち重要度が割り当てられる。まず、すべてのサンプル画像の重みの初期値が等しく1に設定されるステップS21。次に、サンプル画像およびその縮小画像の平面内に設定される所定の2点を1ペアとして複数のペアからなるペア群を複数種類設定したときの、この複数種類のペア群のそれぞれについて弱半別器が作成されるステップS22。ここで、それぞれの弱判別器とは、サブウィンドウWで切り出された部分画像とその縮小画像の平面内に設定される所定の2点を1ペアとして複数のペアからなる1つのペア群を設定したときの、この1つのペア群を構成する各ペアにおける2点間の画素値輝度の差分値の組合せを用いて、顔の画像と顔でない画像とを判別する基準を提供するものである。本実施形態においては、1つのペア群を構成する各ペアにおける2点間の画素値の差分値の組合せについてのヒストグラムを弱判別器のスコアテーブルの基礎として使用する。図11を参照しながらある判別器の作成について説明する。図11の左側のサンプル画像に示すように、この判別器を作成するためのペア群を構成する各ペアの2点は、顔であることが分かっている複数のサンプル画像において、サンプル画像上の右目の中心にある点をP1、右側の頬の部分にある点をP2、眉間の部分にある点をP3、サンプル画像を4近傍画素平均で縮小した16×16画素サイズの縮小画像上の右目の中心にある点をP4、右側の頬の部分にある点をP5、さらに4近傍画素平均で縮小した8×8画素サイズの縮小画像上の額の部分にある点をP6、口の部分にある点をP7として、P1-P2、P1-P3、P4-P5、P4-P6、P6-P7の5ペアである。なお、ある判別器を作成するための1つのペア群を構成する各ペアの2点の座標位置はすべてのサンプル画像において同一である。そして顔であることが分かっているすべてのサンプル画像について上記5ペアを構成する各ペアの2点間の画素値の差分値の組合せが求められ、そのヒストグラムが作成される。ここで、画素値の差分値の組合せとしてとり得る値は、画像の輝度階調数に依存するが、仮に16ビット階調である場合には、1つの画素値の差分値につき65536通りあり、全体では階調数のペア数乗、すなわち65536の5乗通りとなってしまい、学習および検出のために多大なサンプルの数、時間およびメモリを要することとなる。このため、本実施形態においては、画素値の差分値を適当な数値幅で区切って量子化し、n値化する例えばn=100。これにより、画素値の差分値の組合せの数はnの5乗通りとなるため、画素値の差分値の組合せを表すデータ数を低減できる。同様に、顔でないことが分かっている複数のサンプル画像についても、ヒストグラムが作成される。なお、顔でないことが分かっているサンプル画像については、顔であることが分かっているサンプル画像上における上記各ペアの所定の2点の位置に対応する位置同様に参照符号P1からP7を用いるが用いられる。これらの2つのヒストグラムが示す頻度値の比の対数値を取ってヒストグラムで表したものが、図11の一番右側に示す、弱判別器のスコアテーブルの基礎として用いられるヒストグラムである。この弱判別器のヒストグラムが示す各縦軸の値を、以下、判別ポイントと称する。この弱判別器によれば、正の判別ポイントに対応する、画素値の差分値の組合せの分布を示す画像は顔である可能性が高く、判別ポイントの絶対値が大きいほどその可能性は高まると言える。逆に、負の判別ポイントに対応する画素値の差分値の組合せの分布を示す画像は顔でない可能性が高く、やはり判別ポイントの絶対値が大きいほどその可能性は高まる。ステップS22では、判別に使用され得る複数種類のペア群を構成する各ペアの所定の2点間の画素値の差分値の組合せについて、上記のヒストグラム形式の複数の弱判別器が作成される。続いて、ステップS22で作成した複数の弱半別器のうち、画像が顔であるか否かを判別するのに最も有効な弱判別器が選択される。最も有効な弱判別器の選択は、各サンプル画像の重みを考慮して行われる。この例では、各弱判別器の重み付き正答率が比較され、最も高い重み付き正答率を示す弱判別器が選択されるステップS23。すなわち、最初のステップS23では、各サンプル画像の重みは等しく1であるので、単純にその弱判別器によって画像が顔であるか否かが正しく判別されるサンプル画像の数が最も多いものが、最も有効な弱判別器として選択される。一方、後述するステップS25において各サンプル画像の重みが更新された後の2回目のステップS23では、重みが1のサンプル画像、重みが1よりも大きいサンプル画像、および重みが1よりも小さいサンプル画像が混在しており、重みが1よりも大きいサンプル画像は、正答率の評価において、重みが1のサンプル画像よりも重みが大きい分多くカウントされる。これにより、2回目以降のステップS23では、重みが小さいサンプル画像よりも、重みが大きいサンプル画像が正しく判別されることに、より重点が置かれる。次に、それまでに選択した弱判別器の組合せの正答率、すなわち、それまでに選択した弱判別器を組み合わせて使用して学習段階では、弱判別器は必ずしも線形に結合させる必要はない各サンプル画像が顔の画像であるか否かを判別した結果が、実際に顔の画像であるか否かの答えと一致する率が、所定の閾値を超えたか否かが確かめられるステップS24。ここで、弱判別器の組合せの正答率の評価に用いられるのは、現在の重みが付けられたサンプル画像群でも、重みが等しくされたサンプル画像群でもよい。所定の閾値を超えた場合は、それまでに選択した弱判別器を用いれば画像が顔であるか否かを十分に高い確率で判別できるため、学習は終了する。所定の閾値以下である場合は、それまでに選択した弱判別器と組み合わせて用いるための追加の弱判別器を選択するために、ステップS26へと進む。ステップS26では、直近のステップS23で選択された弱判別器が再び選択されないようにするため、その弱判別器が除外される。次に、直近のステップS23で選択された弱判別器では顔であるか否かを正しく判別できなかったサンプル画像の重みが大きくされ、画像が顔であるか否かを正しく判別できたサンプル画像の重みが小さくされるステップS25。このように重みを大小させる理由は、次の弱判別器の選択において、既に選択された弱判別器では正しく判別できなかった画像を重要視し、それらの画像が顔であるか否かを正しく判別できる弱判別器が選択されるようにして、弱判別器の組合せの効果を高めるためである。続いて、ステップS23へと戻り、上記したように重み付き正答率を基準にして次に有効な弱判別器が選択される。以上のステップS23からS26を繰り返して、顔であるか否かを判別するのに適した弱判別器として、特定のペア群を構成する各ペアの所定の2点間の画素値の差分値の組合せに対応する弱判別器が選択されたところで、ステップS24で確認される正答率が閾値を超えたとすると、顔であるか否かの判別に用いる弱判別器の種類と判別条件とが確定されステップS27、これにより学習を終了する。なお、選択された弱判別器は、その重み付き正答率が高い順に線形結合され、1つの判別器が構成される。また、各弱判別器については、それぞれ得られたヒストグラムを基に、画素値の差分値の組合せに応じてスコアを算出するためのスコアテーブルが生成される。なお、ヒストグラム自身をスコアテーブルとして用いることもでき、この場合、ヒストグラムの判別ポイントがそのままスコアとなる。このようにして、各顔サンプル画像群毎に学習を行うことにより、上述の36種類の判別器が生成される。なお、上記の学習手法を採用する場合において、弱判別器は、特定のペア群を構成する各ペアの所定の2点間の画素値の差分値の組合せを用いて顔の画像と顔でない画像とを判別する基準を提供するものであれば、上記のヒストグラムの形式のものに限られずいかなるものであってもよく、例えば2値データ、閾値または関数等であってもよい。また、同じヒストグラムの形式であっても、図11の中央に示した2つのヒストグラムの差分値の分布を示すヒストグラム等を用いてもよい。また、学習の方法としては上記手法に限定されるものではなく、ニューラルネットワーク等他のマシンラーニングの手法を用いることができる。このように、本発明の実施形態に係る顔検出システムによれば、検出対象画像に対して比較的ラフな顔検出処理を施して顔候補を抽出する段階、すなわち、処理の対象となる領域が広いため高速性が重視される一方、ここではあくまで顔候補を抽出できればよいことから信頼性がそれほど要求されないという場面においては、画像中の斜光や背景による影響は受けやすいが、その反面、処理時間が短いという利点を有する全体正規化処理を採用し、抽出された顔候補近傍の画像に対して精細な判別処理を施して真の顔であるか否かを判別する絞込み段階、すなわち、顔候補の中から非顔を厳格に排除する必要があるため信頼性が重視される一方、処理の対象となる領域が限定されることから高速性がそれほど要求されないという場面においては、処理時間は長いが、画像中の斜光や背景の違いによる影響を受けにくいという利点を有する局所正規化処理を採用しているので、各処理段階において、要求される処理の信頼性と高速性を満足させるのに適当な特徴を有する正規化処理をそれぞれ適用することができ、各正規化処理の利点をより活かし、高精度、かつ、効率のよい顔検出が可能となる。以上、本発明の実施形態に係る顔検出システムについて説明したが、この顔検出システムのうちの本発明の顔検出装置に対応する部分における各処理をコンピュータに実行させるためのプログラムも、本発明の実施形態の1つである。また、そのようなプログラムを記録したコンピュータ読取可能な記録媒体も、本発明の実施形態の1つである。"