(57)【特許請求の範囲】
【請求項１】
入力画像における複数の異なる対象物を検出する複数対象物検出方法であって、
前記入力画像から切り出された所定の大きさの部分画像について輝度分布に係る特徴量を算出し、
Ｎ（Ｎ≧３）種類の異なる所定の対象物の該種類毎に、該所定の対象物を表す複数の異なるサンプル画像の各々について前記特徴量を求めて該特徴量の値のヒストグラムを得、得られたＮ個のヒストグラムの各々と、Ｎ−１次元空間において大きさが同一で等方性を有する所定のＮ個の基底ベクトルの各々とを１つずつ対応させて、各前記ヒストグラムにおける各頻度を該ヒストグラムに対応する基底ベクトルと線形に結合してベクトル化し、前記Ｎ個のヒストグラム間で互いに対応する前記特徴量の値に対する頻度のベクトル同士をそれぞれ合成して得られたＮ−１次元の多次元ヒストグラムに基づいて、前記部分画像について算出された特徴量の値に対する前記多次元ヒストグラム上のベクトルを選択する、複数の弱判別器を用意するステップと、
前記入力画像上の複数の異なる位置において前記所定の大きさの部分画像を切り出すステップと、
前記部分画像の各々に対して、該部分画像に前記複数の弱判別器のうち少なくとも１つを適用して該弱判別器によって選択されたベクトルを合成し、該合成されたベクトルの前記各基底ベクトルの成分を、前記部分画像が該各基底ベクトルに対応する前記対象物である蓋然性を示すスコアとしてそれぞれ抽出し、該各スコアの大小に基づいて、前記部分画像が前記Ｎ種類の対象物のうちのいずれであるかを判別する判別処理を施すステップとを有することを特徴とする複数対象物検出方法。
【請求項２】
前記複数の弱判別器が、該各弱判別器を直列に接続してなるものであり、
前記判別処理を施すステップが、前記部分画像に前記弱判別器を先頭から順次適用して該弱判別器によって選択されたベクトルを累積して合成してゆき、該合成されたベクトルに基づいて抽出されたスコアのうちのいずれかが所定の閾値を超えたときに、前記部分画像が該閾値を超えたスコアに対応する前記対象物であると判別するステップであることを特徴とする請求項１記載の複数対象物検出方法。
【請求項３】
前記複数の弱判別器が、多数の弱判別器の中からブースティングの学習手法により選定されたものであることを特徴とする請求項１または２記載の複数対象物検出方法。
【請求項４】
前記複数の弱判別器が、さらに、ブースティングの学習手法により決定された順番で接続されてなるものであることを特徴とする請求項３記載の複数対象物検出方法。
【請求項５】
入力画像における複数の異なる対象物を検出する複数対象物検出装置であって、
前記入力画像から切り出された所定の大きさの部分画像について輝度分布に係る特徴量を算出し、
Ｎ（Ｎ≧３）種類の異なる所定の対象物の該種類毎に、該所定の対象物を表す複数の異なるサンプル画像の各々について前記特徴量を求めて該特徴量の値のヒストグラムを得、得られたＮ個のヒストグラムの各々と、Ｎ−１次元空間において大きさが同一で等方性を有する所定のＮ個の基底ベクトルの各々とを１つずつ対応させて、各前記ヒストグラムにおける各頻度を該ヒストグラムに対応する基底ベクトルと線形に結合してベクトル化し、前記Ｎ個のヒストグラム間で互いに対応する前記特徴量の値に対する頻度のベクトル同士をそれぞれ合成して得られたＮ−１次元の多次元ヒストグラムに基づいて、前記部分画像について算出された特徴量の値に対する前記多次元ヒストグラム上のベクトルを選択する、複数の弱判別器と、
前記入力画像上の複数の異なる位置において前記所定の大きさの部分画像を切り出す部分画像切出し手段と、
前記部分画像の各々に対して、該部分画像に前記複数の弱判別器のうち少なくとも１つを適用して該弱判別器によって選択されたベクトルを合成し、該合成されたベクトルの前記各基底ベクトルの成分を、前記部分画像が該各基底ベクトルに対応する前記対象物である蓋然性を示すスコアとしてそれぞれ抽出し、該各スコアの大小に基づいて、前記部分画像が前記Ｎ種類の対象物のうちのいずれであるかを判別する判別処理を施す判別手段とを備えたことを特徴とする複数対象物検出装置。
【請求項６】
前記複数の弱判別器が、該各弱判別器を直列に接続してなるものであり、
前記判別手段が、前記部分画像に前記弱判別器を先頭から順次適用して該弱判別器によって選択されたベクトルを累積して合成してゆき、該合成されたベクトルに基づいて抽出されたスコアのうちのいずれかが所定の閾値を超えたときに、前記部分画像が該閾値を超えたスコアに対応する前記対象物であると判別するものであることを特徴とする請求項５記載の複数対象物検出装置。
【請求項７】
前記複数の弱判別器が、多数の弱判別器の中からブースティングの学習手法により選定されたものであることを特徴とする請求項５または６記載の複数対象物検出装置。
【請求項８】
前記複数の弱判別器が、さらに、ブースティングの学習手法により決定された順番で接続されてなるものであることを特徴とする請求項７記載の複数対象物検出装置。
【請求項９】
コンピュータを、入力画像における複数の異なる対象物を検出する複数対象物検出手段として機能させるためのプログラムであって、
該コンピュータを、
前記入力画像から切り出された所定の大きさの部分画像について輝度分布に係る特徴量を算出し、
Ｎ（Ｎ≧３）種類の異なる所定の対象物の該種類毎に、該所定の対象物を表す複数の異なるサンプル画像の各々について前記特徴量を求めて該特徴量の値のヒストグラムを得、得られたＮ個のヒストグラムの各々と、Ｎ−１次元空間において大きさが同一で等方性を有する所定のＮ個の基底ベクトルの各々とを１つずつ対応させて、各前記ヒストグラムにおける各頻度を該ヒストグラムに対応する基底ベクトルと線形に結合してベクトル化し、前記Ｎ個のヒストグラム間で互いに対応する前記特徴量の値に対する頻度のベクトル同士をそれぞれ合成して得られたＮ−１次元の多次元ヒストグラムに基づいて、前記部分画像について算出された特徴量の値に対する前記多次元ヒストグラム上のベクトルを選択する、複数の弱判別器と、
前記入力画像上の複数の異なる位置において前記所定の大きさの部分画像を切り出す部分画像切出し手段と、
前記部分画像の各々に対して、該部分画像に前記複数の弱判別器のうち少なくとも１つを適用して該弱判別器によって選択されたベクトルを合成し、該合成されたベクトルの前記各基底ベクトルの成分を、前記部分画像が該各基底ベクトルに対応する前記対象物である蓋然性を示すスコアとしてそれぞれ抽出し、該各スコアの大小に基づいて、前記部分画像が前記Ｎ種類の対象物のうちのいずれであるかを判別する判別処理を施す判別手段として機能させるためのプログラム。
【請求項１０】
前記複数の弱判別器が、該各弱判別器を直列に接続してなるものであり、
前記判別手段が、前記部分画像に前記弱判別器を先頭から順次適用して該弱判別器によって選択されたベクトルを累積して合成してゆき、該合成されたベクトルに基づいて抽出されたスコアのうちのいずれかが所定の閾値を超えたときに、前記部分画像が該閾値を超えたスコアに対応する前記対象物であると判別するものであることを特徴とする請求項９記載のプログラム。
【請求項１１】
前記複数の弱判別器が、多数の弱判別器の中からブースティングの学習手法により選定されたものであることを特徴とする請求項９または１０記載のプログラム。
【請求項１２】
前記複数の弱判別器が、さらに、ブースティングの学習手法により決定された順番で接続されてなるものであることを特徴とする請求項１１記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像の中から複数の異なる検出対象物を検出する複数対象物検出方法および装置並びにそのためのプログラムに関するものである。
【背景技術】
【０００２】
従来、コンピュータ等の計算機を用いて一般写真等のデジタル画像から顔等の所定の対象物（オブジェクト）を検出する方法が種々提案されている。このような対象物を検出する方法としては、例えば、比較的古くから利用されているテンプレートマッチングによる方法のほか、近年注目されているブースティング（Ｂｏｏｓｔｉｎｇ）と呼ばれる学習手法を用いて実現される方法（特許文献１参照）等が知られている。
【０００３】
このブースティングによる学習手法を用いて実現される方法は、所定の対象物を表す複数の異なるサンプル画像と、所定の対象物でないことが分かっている複数の異なるサンプル画像とを用いて、その対象物の特徴を学習させ、ある画像が所定の対象物を表す画像であるか否かを判別することが可能な判別器を生成して用意しておき、その所定の対象物を検出する対象となる検出対象画像において部分画像を順次切り出し、その部分画像が所定の対象物を表す画像であるか否かを上記の判別器を用いて判別することにより、検出対象画像上で所定の対象物を検出するものである。
【０００４】
上記の判別器は、画像上の特徴量からその画像が所定の対象物であるか否かを判別する複数の弱判別器から構成されており、使用される弱判別器は、多数の弱判別器の中から学習により選定される。弱判別器は、画像上の特徴量を算出する固有のアルゴリズムを有しており、その判別基準の基礎は、図９に示すような、検出対象物を表す複数のサンプル画像について作成された、算出された特徴量の値とその頻度値との関係を示す第１のヒストグラムをＷ1（ｘ）と、非検出対象物を表す複数のサンプル画像について同様に作成された第２のヒストグラムをＷ2（ｘ）であり、判断基準は、図１０に示すような、ｈ（ｘ）＝（Ｗ1（ｘ）−Ｗ2（ｘ））／（Ｗ1（ｘ）＋Ｗ2（ｘ））で表されるヒストグラムである。すなわち、未知の入力画像について特徴量を算出したときに、ヒストグラムｈ（ｘ）のその特徴量の値に対応する頻度値の正負の別とその絶対値の大きさから、その未知の画像が検出対象物である蓋然性を知ることができ、例えば、頻度値が正で絶対値が大きいほど検出対象物である蓋然性が高く、一方、頻度値が負で絶対値が大きいほど非検出対象物である蓋然性が高いということになる。弱判別器は、それぞれ、このヒストグラムに基づいて、入力画像が検出対象物である蓋然性を示すスコアを算出するものであり、複数の判別器により算出されたスコアを総合的に評価することで、その入力画像が検出対象物であるか否かを判別することができる。
【０００５】
これらの方法は、例えば、ある画像が顔と非顔のいずれであるかを判別して顔を検出するような２クラス問題を解決するには有用であり、特に、ブースティングによる学習手法を用いて実現される方法は、高速性と高い検出能が両立しており、これに類似する技術も含め、種々の分野において広く使用されている。
【特許文献１】ＵＳ ２００２／０１０２０２４ Ａ１
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記のブースティングによる学習手法を用いて実現される方法を用いて画像から複数の対象物を検出するためには、ある画像を３つ以上のクラスに分離する必要があり、その対象物の種類と同数の判別器を用意しなければならない。例えば、画像から任意の向きの顔を検出するような場合には、顔の向きを細分化してそれぞれの向きについて顔を検出する必要があり、また、顔の一部が遮蔽された遮蔽顔やアンダー露光で表現されたアンダー顔等も検出しようとすると、それらの顔についても検出する必要があり、判別器の増大が予想される。これは、学習に手間が掛かる上、検出にも時間が掛かり、効率が悪いという問題がある。さらには、判別器間の判別基準の相違の問題も大きくなると思われる。
【０００７】
本発明は、上記事情に鑑み、デジタル画像において複数の対象物を効率よく検出することが可能なデジタル画像の複数対象物検出方法および装置並びにそのためのプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【０００８】
本発明の複数対象物検出方法は、入力画像における複数の異なる対象物を検出する複数対象物検出方法であって、前記入力画像から切り出された所定の大きさの部分画像について輝度分布に係る特徴量を算出し、多次元ヒストグラム（Ｎ（Ｎ≧３）種類の異なる所定の対象物の該種類毎に、該所定の対象物を表す複数の異なるサンプル画像の各々について前記特徴量を求めて該特徴量の値のヒストグラムを得、得られたＮ個のヒストグラムの各々と、Ｎ−１次元空間において大きさが同一で等方性を有する所定のＮ個の基底ベクトルの各々とを１つずつ対応させて、各前記ヒストグラムにおける各頻度を該ヒストグラムに対応する基底ベクトルと線形に結合してベクトル化し、前記Ｎ個のヒストグラム間で互いに対応する前記特徴量の値に対する頻度のベクトル同士をそれぞれ合成して得られたＮ−１次元の多次元ヒストグラム）に基づいて、前記部分画像について算出された特徴量の値に対する前記多次元ヒストグラム上のベクトルを選択する、複数の弱判別器を用意するステップと、前記入力画像上の複数の異なる位置において前記所定の大きさの部分画像を切り出すステップと、前記部分画像の各々に対して、該部分画像に前記複数の弱判別器のうち少なくとも１つを適用して該弱判別器によって選択されたベクトルを合成し、該合成されたベクトルの前記各基底ベクトルの成分を、前記部分画像が該各基底ベクトルに対応する前記対象物である蓋然性を示すスコアとしてそれぞれ抽出し、該各スコアの大小に基づいて、前記部分画像が前記Ｎ種類の対象物のうちのいずれであるかを判別する判別処理を施すステップとを有するものである。
【０００９】
本発明の複数対象物検出方法において、前記複数の弱判別器は、該各弱判別器を直列に接続してなるものであり、前記判別処理を施すステップは、前記部分画像に前記弱判別器を先頭から順次適用して該弱判別器によって選択されたベクトルを累積して合成してゆき、該合成されたベクトルに基づいて抽出されたスコアのうちのいずれかが所定の閾値を超えたときに、前記部分画像が該閾値を超えたスコアに対応する前記対象物であると判別するステップであってもよい。
【００１０】
また、本発明の複数対象物検出方法において、前記複数の弱判別器は、多数の弱判別器の中からブースティングの学習手法により選定されたものであってもよい。
【００１１】
また、本発明の複数対象物検出方法において、前記複数の弱判別器は、さらに、ブースティングの学習手法により決定された順番で接続されてなるものであってもよい。
【００１２】
本発明の複数対象物検出装置は、入力画像における複数の異なる対象物を検出する複数対象物検出装置であって、前記入力画像から切り出された所定の大きさの部分画像について輝度分布に係る特徴量を算出し、多次元ヒストグラム（Ｎ（Ｎ≧３）種類の異なる所定の対象物の該種類毎に、該所定の対象物を表す複数の異なるサンプル画像の各々について前記特徴量を求めて該特徴量の値のヒストグラムを得、得られたＮ個のヒストグラムの各々と、Ｎ−１次元空間において大きさが同一で等方性を有する所定のＮ個の基底ベクトルの各々とを１つずつ対応させて、各前記ヒストグラムにおける各頻度を該ヒストグラムに対応する基底ベクトルと線形に結合してベクトル化し、前記Ｎ個のヒストグラム間で互いに対応する前記特徴量の値に対する頻度のベクトル同士をそれぞれ合成して得られたＮ−１次元の多次元ヒストグラム）に基づいて、前記部分画像について算出された特徴量の値に対する前記多次元ヒストグラム上のベクトルを選択する、複数の弱判別器と、前記入力画像上の複数の異なる位置において前記所定の大きさの部分画像を切り出す部分画像切出し手段と、前記部分画像の各々に対して、該部分画像に前記複数の弱判別器のうち少なくとも１つを適用して該弱判別器によって選択されたベクトルを合成し、該合成されたベクトルの前記各基底ベクトルの成分を、前記部分画像が該各基底ベクトルに対応する前記対象物である蓋然性を示すスコアとしてそれぞれ抽出し、該各スコアの大小に基づいて、前記部分画像が前記Ｎ種類の対象物のうちのいずれであるかを判別する判別処理を施す判別手段とを備えたことを特徴とするものである。
【００１３】
本発明の複数対象物検出装置において、前記複数の弱判別器は、該各弱判別器を直列に接続してなるものであり、前記判別手段は、前記部分画像に前記弱判別器を先頭から順次適用して該弱判別器によって選択されたベクトルを累積して合成してゆき、該合成されたベクトルに基づいて抽出されたスコアのうちのいずれかが所定の閾値を超えたときに、前記部分画像が該閾値を超えたスコアに対応する前記対象物であると判別するものであってもよい。
【００１４】
また、本発明の複数対象物検出装置において、前記複数の弱判別器は、多数の弱判別器の中からブースティングの学習手法により選定されたものであってもよい。
【００１５】
また、本発明の複数対象物検出装置において、前記複数の弱判別器は、さらに、ブースティングの学習手法により決定された順番で接続されてなるものであってもよい。
【００１６】
本発明のプログラムは、コンピュータを、入力画像における複数の異なる対象物を検出する複数対象物検出手段として機能させるためのプログラムであって、該コンピュータを、前記入力画像から切り出された所定の大きさの部分画像について輝度分布に係る特徴量を算出し、多次元ヒストグラム（Ｎ（Ｎ≧３）種類の異なる所定の対象物の該種類毎に、該所定の対象物を表す複数の異なるサンプル画像の各々について前記特徴量を求めて該特徴量の値のヒストグラムを得、得られたＮ個のヒストグラムの各々と、Ｎ−１次元空間において大きさが同一で等方性を有する所定のＮ個の基底ベクトルの各々とを１つずつ対応させて、各前記ヒストグラムにおける各頻度を該ヒストグラムに対応する基底ベクトルと線形に結合してベクトル化し、前記Ｎ個のヒストグラム間で互いに対応する前記特徴量の値に対する頻度のベクトル同士をそれぞれ合成して得られたＮ−１次元の多次元ヒストグラム）に基づいて、前記部分画像について算出された特徴量の値に対する前記多次元ヒストグラム上のベクトルを選択する、複数の弱判別器と、前記入力画像上の複数の異なる位置において前記所定の大きさの部分画像を切り出す部分画像切出し手段と、前記部分画像の各々に対して、該部分画像に前記複数の弱判別器のうち少なくとも１つを適用して該弱判別器によって選択されたベクトルを合成し、該合成されたベクトルの前記各基底ベクトルの成分を、前記部分画像が該各基底ベクトルに対応する前記対象物である蓋然性を示すスコアとしてそれぞれ抽出し、該各スコアの大小に基づいて、前記部分画像が前記Ｎ種類の対象物のうちのいずれであるかを判別する判別処理を施す判別手段として機能させるためのものである。
【００１７】
本発明のプログラムにおいて、前記複数の弱判別器は、該各弱判別器を直列に接続してなるものであり、前記判別手段は、前記部分画像に前記弱判別器を先頭から順次適用して該弱判別器によって選択されたベクトルを累積して合成してゆき、該合成されたベクトルに基づいて抽出されたスコアのうちのいずれかが所定の閾値を超えたときに、前記部分画像が該閾値を超えたスコアに対応する前記対象物であると判別するものであってもよい。
【００１８】
また、本発明のプログラムにおいて、前記複数の弱判別器は、多数の弱判別器の中からブースティングの学習手法により選定されたものであってもよい。
【００１９】
また、本発明のプログラムにおいて、前記複数の弱判別器は、さらに、ブースティングの学習手法により決定された順番で接続されてなるものであってもよい。
【００２０】
本発明は、ＧｅｎｔｌｅＡｄａＢｏｏｓｔの手法を複数のオブジェクトを判別する判別器へ拡張したものであり、以下、弱判別器の現行のヒストグラムの性質の再考と、複数オブジェクトへの拡張について説明する。
【００２１】
まず、対数尤度とＧｅｎｔｌｅＡｄａＢｏｏｓｔとのそれぞれについて、ヒストグラムの重み（点数）の式の性質を調べ、両者の一致点、相違点について考える。
【００２２】
対数尤度を用いる場合、ヒストグラムの重みは次式（１）で与えられる。
【数１】
0004588575.tif 000002
【００２３】
一方、ＧｅｎｔｌｅＡｄａＢｏｏｓｔにおけるヒストグラムの重みは次式（２）で与えられる。
【数２】
0004588575.tif 000003
【００２４】
ここで、式（１）を変形すると次式（１）′を得る。
【数３】
0004588575.tif 000004
【００２５】
また、式（２）を変形すると次式（２）′を得る。
【数４】
0004588575.tif 000005
【００２６】
式（１）′と（２）′とでは、両式とも２項からなる引き算で表される点で一致する。そして、両式は各項が対数がとられるか否かで相違する。各項の取り得る値の範囲は０から１であることから、式（１）′は式（２）′の変動を指数関数的に強調していると捉えることも可能である。
【００２７】
式（１）′と式（２）′とのそれぞれの性質の共通点で特筆すべき点は、両式ともに、Ｗ+＝Ｗ-のとき０となる点である。これは、学習データの判別結果、顔と非顔が同数である場合は判別能力がないということを意味している。対数の有無は、Ｗ+＝Ｗ-でない場合に、点数のつけ方のさじ加減が異なるだけであると捉えることもできる。
【００２８】
上記において、式（１）と式（２）とを比較することで、両式ともに「Ｗ+＝Ｗ-のとき重みが０となる」ことに到達したが、今度は逆に、
【数５】
0004588575.tif 000006
【００２９】
を出発点として、ヒストグラムの概念を、複数オブジェクトを扱えるように拡張することについて述べる。
【００３０】
簡単のため、３つのオブジェクト（例えば、正面顔、横顔、非顔）について考える。このとき、３つの重みをＷ1，Ｗ2，Ｗ3とする。上記（３）を当てはめると、以下のようになる。
【００３１】
「判別の結果、Ｗ1＝Ｗ2＝Ｗ3となったとき０となる量」
このような量は、正三角形の重心を原点としたときの３つの頂点の位置ベクトル（基底ベクトル）を用いて実現することができる（図１４参照）。すなわち、Ｗ1＝Ｗ2＝Ｗ3のとき、Ｗ1〈ｅ1〉＋Ｗ2〈ｅ2〉＋Ｗ3〈ｅ3〉＝（０，０）となる。基底ベクトルは、位置、大きさについて任意性があるが、基底ベクトルの大きさを１とし、ひとつの基底ベクトルをｘ軸上に置いて、それをバックグラウンドのオブジェクト（非顔等）の基底ベクトルとすると、カスケードの際に都合がよいと思われる。基底ベクトル〈ｅ1〉，〈ｅ2〉，〈ｅ3〉は以下に掲げる性質がある。
【数６】
0004588575.tif 000007
【００３２】
式（４−１）は、判別器作成のための条件（式（３））を表している。式（４−２）は、各基底ベクトルの等方性、すなわち、各基底ベクトルは他の基底ベクトルに対して等しい重みとなることを表している。式（４−３）は、２つの基底ベクトルの差（辺に相当）は他の基底ベクトルに直交することを表している。
【００３３】
この方法を用いると、ヒストグラムは２次元的に拡張されることになる。このため、判別スコアも２つの成分を持った２次元のベクトル〈ｓ〉となる（図１５参照）。このとき、各オブジェクトのスコアＳＣiは、スコアベクトル〈ｓ〉と各オブジェクトの基底ベクトル〈ｅi〉との内積によって与えられる（図２，式（５））。
【数７】
0004588575.tif 000008
【００３４】
上記の考え方は、３体以上の問題に対しても容易に拡張できる。すなわち、Ｎ体問題に適用するためには、Ｎ−１次元空間の最も単純な正凸多面体（ｓｉｍｐｌｅｘ）の重心を原点として、各頂点の位置ベクトルを基底ベクトルとすればよい。ここで、ｓｉｍｐｌｅｘとは幾何学的な図形で、Ｎ次元ではＮ＋１個の点（頂点）とそれらを結ぶ辺、面からなる多面体である（Ｎｕｍｅｒｉｃａｌ  Ｒｅｃｉｐｅｓ  ｉｎ  Ｃ  日本語版ｐ．２９５）。これらの基底ベクトルを、〈ｅ1〉，〈ｅ2〉，・・・，〈ｅn〉とすると、式（４−１），（４−２），（４−３）は、下記のように一般化される。
【数８】
0004588575.tif 000009
【００３５】
下記に２体から５体までの基底ベクトルの具体例を示す。なお、次元数が増えても、これらは簡単なアルゴリズムによって機械的に求めることができる。
【数９】
0004588575.tif 000010
【００３６】
以上から、Ｎ種類（Ｎ≧３）の対象物を検出する場合には、Ｎ−１次元空間における頂点数がＮ個の正凸多面体の重心を原点とし、その頂点の位置ベクトルを〈ｅi〉として、次式により弱判別器の判別基準となる多次元ヒストグラム〈ｈ（ｘ）〉を作成すればよい。
【数１０】
0004588575.tif 000011
【００３７】
また、判別器の学習は、以下のように行えばよい。
【００３８】
Ｍ個のサンプル画像の各々における、特徴量ｘiとその正解に対応する基底ベクトル〈ｅi〉の組合せ（ｘ1，〈ｅ1〉），…，（ｘM，〈ｅM〉）が与えられているとする（ただし、〈ｅi〉＝〈ｅ1〉，〈ｅ2〉，…，〈ｅN〉のうちいずれか）。  
まず、次式にしたがって、サンプル画像の重みを初期化する。  
【数１１】
0004588575.tif 000012
【００３９】
次に、下記ルーチン処理を行う。  
【数１２】
0004588575.tif 000013
【発明の効果】
【００４０】
本発明のデジタル画像の複数対象物検出方法および装置並びにそのためのプログラムによれば、入力画像上の異なる位置で切出された部分画像に対して、所定の対象物を表す複数のサンプル画像の各々について算出された特徴量の値のヒストグラムを基準として、対象画像が所定の対象物を表す画像であるか否かを評価する弱判別器を複数用いて、上記部分画像が所定の対象物であるか否かを判別することにより、入力画像における検出対象物を検出する方法において、上記ヒストグラムを多次元に拡張し、弱判別器の上記評価の基準を、複数の異なる対象物に対するヒストグラムをベクトルで表現した多次元ヒストグラムとしているので、部分画像から算出された特徴量の値に対応する上記多次元ヒストグラム上のベクトルの向きと大きさを評価することにより、当該部分画像が上記複数の対象物のうちのいずれであるかを１度に判別することができ、これにより、入力画像からの部分画像の切出しと判別を、入力画像上を１度走査して実施するだけで複数の対象物を検出することができ、効率のよい複数対象物の検出が可能となる。
【発明を実施するための最良の形態】
【００４１】
以下、本発明の実施形態について説明する。ここで説明する実施形態は、本発明の複数対象物検出方法が適用された顔検出システムであり、デジタル画像中に含まれる顔を、その顔の向き（アウトプレーン方向）、画像上の位置、顔の大きさ、顔の回転方向（天地方向；インプレーン方向）によらず検出するものである。
【００４２】
図１は本顔検出システム１の構成を示す概略ブロック図である。顔検出システム１は、図１に示すように、顔を検出する対象となる入力画像Ｓ０を多重解像度化して解像度の異なる複数の画像（以下、解像度画像という）からなる解像度画像群Ｓ１（＝Ｓ１＿１，Ｓ１＿２，・・・，Ｓ１＿ｎ）を得る多重解像度化部１０と、解像度画像群Ｓ１の各々対して、解像度画像が後述の顔検出処理に適した階調の画像となるように画素値を変換する正規化処理を施し、正規化済みの解像度画像群Ｓ１′（＝Ｓ１′＿１，Ｓ１′＿２，・・・，Ｓ１′＿ｎ）を得る正規化部２０と、正規化済みの解像度画像群Ｓ１′の各々に対して顔検出処理を施すことにより、解像度画像群Ｓ１′の各解像度画像に含まれる顔を表す画像（以下、顔画像という）Ｓ２を検出する顔検出部３０と、各解像度画像上で検出された顔画像Ｓ２の各々について、同一の顔が重複して検出されたものであるか否かをその位置関係から判定して整理し、重複検出のない顔画像Ｓ３を得る重複検出判定部４０とを備える。
【００４３】
多重解像度化部１０は、入力画像Ｓ０の解像度（画像サイズ）を変換することにより、その解像度を所定の解像度、例えば、短辺が４１６画素の矩形サイズの画像に規格化し、規格化済みの入力画像Ｓ０′を得る。そして、この規格化済みの入力画像Ｓ０′を基本としてさらに解像度変換を行うことにより、解像度の異なる複数の解像度画像を生成し、解像度画像群Ｓ１を得る。このような解像度画像群を生成する理由は、通常、入力画像に含まれる顔の大きさは不明であるが、一方、検出しようとする顔の大きさ（画像サイズ）は、後述の判別器の生成方法と関連して一定の大きさに固定されるため、大きさの異なる顔を検出するためには、解像度の異なる画像上で位置をずらしながら所定サイズの部分画像をそれぞれ切り出し、その部分画像が顔か非顔かを判別してゆく必要があるためである。具体的には、図２に示すように、規格化済みの入力画像Ｓ０′を基本となる解像度画像Ｓ１＿１とし、解像度画像Ｓ１＿１に対して２の−１／３乗倍サイズの解像度画像Ｓ１＿２と、解像度画像Ｓ１＿２に対して２の−１／３乗倍サイズ（基本画像Ｓ１＿１に対しては２の−２／３乗倍サイズ）の解像度画像Ｓ１＿３とを先に生成し、その後、解像度画像Ｓ１＿１，Ｓ１＿２，Ｓ１＿３のそれぞれを１／２倍サイズに縮小した解像度画像を生成し、それら縮小した解像度画像をさらに１／２倍サイズに縮小した解像度画像を生成する、といった処理を繰り返し行い、複数の解像度画像を所定の数だけ生成するようにする。このようにすることで、輝度を表す画素値の補間処理を必要としない１／２倍の縮小処理を主な処理とし、基本となる解像度画像から２の−１／３乗倍ずつサイズが縮小された複数の画像が高速に生成できる。例えば、解像度画像Ｓ１＿１が短辺４１６画素の矩形サイズである場合、解像度画像Ｓ１＿２，Ｓ１＿３，・・・は、短辺がそれぞれ、３３０画素，２６２画素，２０８画素，１６５画素，１３１画素，１０４画素，８２画素，６５画素，・・・の矩形サイズとなり、２の−１／３乗倍ずつ縮小された複数の解像度画像を生成することができる。なお、このように画素値を補間しないで生成される画像は、元の画像パターンの特徴をそのまま担持する傾向が強いので、顔検出処理において精度向上が期待できる点で好ましい。
【００４４】
正規化部２０は、解像度画像群Ｓ１の各々に対して正規化処理を施すものであるが、具体的には、例えば、画素値をｓＲＧＢ空間におけるいわゆる逆ガンマ変換（＝２．２乗する）した後にさらに対数をとるような変換曲線（ルックアップテーブル）にしたがって、画像全体における画素値を変換する処理を考えることができる。これは、次のような理由による。
【００４５】
画像として観測される光強度Ｉは、通常、被写体の反射率Ｒと光源の強度Ｌの積として表現される（Ｉ＝Ｒ×Ｌ）。したがって、光源の強度Ｌが変化すると、画像として観測される光強度Ｉも変化することになるが、被写体の反射率Ｒのみを評価することができれば、光源の強度Ｌに依存しない、すなわち、画像の明るさの影響を受けない精度の高い顔判別を行うことができる。
【００４６】
ここで、光源の強度がＬの場合において、被写体上で反射率がＲ１の部分から観測される光強度をＩ１、被写体上で反射率がＲ２の部分から観測される光強度をＩ２としたとき、それぞれの対数をとった空間では、下記の式が成り立つ。  
【数１３】
0004588575.tif 000014
【００４７】
すなわち、画像における画素値を対数変換することは、反射率の比が差として表現された空間へ変換することとなり、このような空間では、光源の強度Ｌに依存しない被写体の反射率のみを評価することが可能となる。言い換えると、画像中の明るさによって異なるコントラスト（ここでは画素値の差分そのもの）を揃えることができる。
【００４８】
一方、一般的なデジタルカメラ等の機器で取得された画像の色空間はｓＲＧＢである。ｓＲＧＢとは、機器間の色再現の違いを統一するために、色彩、彩度等を規定・統一した国際標準の色空間のことであり、この色空間においては、ガンマ値（γout）が２．２の画像出力機器において適正な色再現を可能にするため、画像の画素値は、入力輝度を１／γout（＝０．４５）乗して得られる値となっている。
【００４９】
そこで、画像全体における画素値を、いわゆる逆ガンマ変換（すなわち、もとの画素値を２．２乗する）をした後にさらに対数をとるような変換曲線にしたがって変換し、その変換済みの画像において所定の複数点間の画素値の差分を評価することにより、光源の強度に依存しない被写体の反射率のみによる評価を適正に行うことができるようになる。
【００５０】
顔検出部３０は、正規化部２０により正規化処理がなされた解像度画像群Ｓ１′の各々に対して顔検出処理を施し、各解像度画像における顔画像Ｓ２を検出するものであり、さらに複数の要素から構成されている。すなわち、顔検出部３０は、後述の各部を制御して顔検出処理におけるシーケンス制御を主に行う検出制御部３１と、解像度画像群Ｓ１′の中から顔検出処理に供する解像度画像をサイズの小さいものから順に順次選択する解像度画像選択部３２と、解像度画像選択部３２により選択された解像度画像において、顔画像であるか否かの判別対象となる部分画像Ｗを切り出すサブウィンドウを、その位置をずらしながら順次設定するサブウィンドウ設定部３３と、その切り出された部分画像Ｗが顔画像であるか否かを判別する判別器３４から構成されている。
【００５１】
検出制御部３１は、解像度画像群Ｓ１′の各画像に対して顔検出処理を行うべく、解像度画像選択部３２およびサブウィンドウ設定部３３を制御するものである。例えば、適宜、解像度画像選択部３２に対して解像度画像の選択を指示したり、サブウィンドウ設定部３３に対してサブウィンドウの設定条件を指示したり、また、得られた検出結果を重複検出判定部４０に出力したりする。
【００５２】
解像度画像選択部３２は、検出制御部３１の制御により、解像度画像群Ｓ１′の中から顔検出処理に供する解像度画像をサイズの小さい順に（解像度の粗い順に）順次選択するものである。なお、本実施形態における顔検出の手法が、各解像度画像上で順次切り出された同じサイズの部分画像Ｗについてその部分画像Ｗが顔画像であるか否かを判別することにより入力画像Ｓ０における顔を検出する手法であるから、この解像度画像選択部３２は、入力画像Ｓ０における検出すべき顔の大きさを毎回変えながら設定するものであって、検出すべき顔の大きさを大から小へ変えながら設定するものと同等なものということができる。
【００５３】
サブウィンドウ設定部３３は、検出制御部３１により設定されたサブウィンドウ設定条件に基づいて、解像度画像選択部３２により選択された解像度画像上でサブウィンドウを移動させながら順次設定する。例えば、上記の選択された解像度画像において、所定のサイズすなわち３２×３２画素サイズの部分画像Ｗを切り出すサブウィンドウを、この解像度画像上を２次元的に走査するライン上の各位置において解像度画像を画像平面上で３６０度回転させながら順次設定する。そして、その順次切り出された部分画像Ｗを判別器３４へ入力する。
【００５４】
判別器３４は、部分画像Ｗの画素値（輝度）の分布に係る少なくとも１つの特徴量として、所定の複数点間の画素値の差分に係る特徴量を算出し、この特徴量を用いてこの部分画像Ｗが所定のいずれかの向きにある顔であるかもしくは非顔であるかを判別するものであり、例えば、正面顔、左横顔、右横顔、右斜め顔、および左斜め顔の計５種類の向きの顔について判別するものとすることができる。もちろん、この顔の向きはさらに細かく分けることもできる。判別器３４は、このように、任意の向きの顔を表す顔画像を判別するものであるから、あらゆる向きおよび天地方向にある顔の顔画像を判別することが可能となる。
【００５５】
ここで、判別器３４の構成および学習方法、判別器３４における処理の流れついて説明する。なお、ここでは、説明を簡単にするため、判別器３４は、部分画像Ｗを、「正面顔」、「横顔」、「非顔」の３種類の対象物（オブジェクト）に分離・判別する場合、すなわち、３クラス問題として考える。
【００５６】
図３は、判別器３４の構成を示す図である。判別器３４は、図３に示すように、複数の弱判別器ＷＣからなり、判別器３４の後述の学習により多数の弱判別器ＷＣの中から選定された判別に有効な弱判別器ＷＣをその有効な順に接続したものである。
【００５７】
弱判別器ＷＣは、それぞれ、部分画像Ｗから弱判別器毎に固有の所定のアルゴリズムにしたがって特徴量を算出し、その特徴量と後述の自己の２次元ヒストグラムとに基づいて、部分画像Ｗが「正面顔」であることの蓋然性、「横顔」であることの蓋然性、および「非顔」であることの蓋然性をまとめて示す１つのスコアベクトル〈ｓ〉を求めるものである。判別器３４は、これら複数の弱判別器ＷＣの全部または一部から得られたスコアベクトル〈ｓ〉を評価して、部分画像Ｗが「正面顔」「横顔」「非顔」のいずれであるかを判別する。
【００５８】
次に、判別器３４の学習について説明する。
【００５９】
図８は判別器３４の学習方法を示すフローチャートである。判別器３４の学習には、所定のサイズ、例えば３２×３２画素サイズで規格化されたサンプル画像を用いる。サンプル画像の種類は、判別したいクラスの数に応じて用意する必要があるが、本実施形態においては、正面顔を表す複数の正面顔サンプル画像と、横顔を表す複数の横顔サンプル画像と、非顔を表す複数の非顔サンプル画像とを用意する。正面顔サンプル画像と横顔サンプル画像は、それぞれ顔の天地方向が略揃ったものを用いる。なお、これらのサンプル画像は、前もって、前述の正規化部２０による正規化処理と同様の処理が施されている。また、これら各サンプル画像には、重み、すなわち、重要度が割り当てられる。
【００６０】
まず、サンプル画像の数をＭとすると、すべてのサンプル画像の重みｗ1（ｉ）（ここで、ｉ＝１，・・・，Ｍ）の初期値が等しく１／Ｍに設定される（ステップＳ２１）。
【数１４】
0004588575.tif 000015
【００６１】
次に、サンプル画像およびその縮小画像の平面内に設定される所定の２点を１ペアとして複数のペアからなるペア群を複数種類設定したときの、この複数種類のペア群のそれぞれについて弱半別器ＷＣが作成される（ステップＳ２２）。ここで、それぞれの弱判別器ＷＣとは、サブウィンドウＷで切り出された部分画像とその縮小画像の平面内に設定される所定の２点を１ペアとして複数のペアからなる１つのペア群を設定したときの、この１つのペア群を構成する各ペアにおける２点間の画素値（輝度）の差分値の組合せを用いて、部分画像Ｗが正面顔、横顔、非顔のいずれであるかを判別する基準を提供するものである。本実施形態においては、１つのペア群を構成する各ペアにおける２点間の画素値の差分値の組合せについての多次元ヒストグラムを弱判別器のスコアテーブルの基礎として使用する。
【００６２】
ここで、図１１，１２を参照しながらある弱判別器ＷＣの作成方法について説明する。図１１の左側のサンプル画像に示すように、この弱判別器ＷＣを作成するためのペア群を構成する各ペアの２点は、正面顔を表す複数のサンプル画像において、サンプル画像上の右目の中心にある点をＰ１、右側の頬の部分にある点をＰ２、眉間の部分にある点をＰ３、サンプル画像を４近傍画素平均で縮小した１６×１６画素サイズの縮小画像上の右目の中心にある点をＰ４、右側の頬の部分にある点をＰ５、さらに４近傍画素平均で縮小した８×８画素サイズの縮小画像上の額の部分にある点をＰ６、口の部分にある点をＰ７として、Ｐ１−Ｐ２、Ｐ１−Ｐ３、Ｐ４−Ｐ５、Ｐ４−Ｐ６、Ｐ６−Ｐ７の５ペアである。なお、ある弱判別器ＷＣを作成するための１つのペア群を構成する各ペアの２点の座標位置はすべてのサンプル画像において同一である。そして正面顔を表すすべてのサンプル画像について上記５ペアを構成する各ペアの２点間の画素値の差分値の組合せが求められ、そのヒストグラムＷ1（ｘ）が作成される。ここで、ｘは各ペアの２点間の差分値の組合せに対応する値である。画素値の差分値の組合せとしてとり得る値は、画像の輝度階調数に依存するが、仮に１６ビット階調である場合には、１つの画素値の差分値につき６５５３６通りあり、全体では階調数の（ペア数）乗、すなわち６５５３６の５乗通りとなってしまい、学習および検出のために多大なサンプルの数、時間およびメモリを要することとなる。このため、本実施形態においては、画素値の差分値を適当な数値幅で区切って量子化し、ｎ値化する（例えばｎ＝１００）。これにより、画素値の差分値の組合せの数はｎの５乗通りとなるため、画素値の差分値の組合せを表すデータ数を低減できる。
【００６３】
同様に、横顔サンプル画像についてのヒストグラムＷ2（ｘ）と、非顔サンプル画像についてのヒストグラムＷ3（ｘ）が作成される。なお、横顔サンプル画像と非顔サンプル画像については、正面顔サンプル画像上における上記各ペアの所定の２点の位置に対応する位置（同様に参照符号Ｐ１からＰ７を用いる）が用いられる。
【００６４】
これらの３つのヒストグラムＷ1（ｘ），Ｗ2（ｘ），Ｗ3（ｘ）を、次式により合成したものが、図１２に示す２次元ヒストグラムである。
【数１５】
0004588575.tif 000016
【００６５】
ここで、ベクトル〈ｈ（ｘ）〉は２次元ヒストグラム、ベクトル〈ｅ1〉，〈ｅ2〉，〈ｅ3〉は基底ベクトルを表す。
【００６６】
この弱判別器ＷＣの２次元ヒストグラムｈ（ｘ）は、ある画像の特徴量の組合せに対応する値がｘである場合におけるスコアベクトル〈ｓ〉そのものであり、このスコアベクトル〈ｓ〉と基底ベクトル〈ｅ1〉との内積が正面顔である蓋然性を示すスコアＳＣ1、スコアベクトル〈ｓ〉と基底ベクトル〈ｅ2〉との内積が横顔である蓋然性を示すスコアＳＣ2、スコアベクトル〈ｓ〉と基底ベクトル〈ｅ3〉との内積が非顔である蓋然性を示すスコアＳＣ3に対応することとなる。ステップＳ２２では、判別に使用され得る複数種類のペア群を構成する各ペアの所定の２点間の画素値の差分値の組合せについて、上記のヒストグラム形式の複数の弱判別器ＷＣが作成される。
【００６７】
続いて、ステップＳ２２で作成した複数の弱半別器ＷＣのうち、画像の判別に最も有効な弱判別器ＷＣが選択される。最も有効な弱判別器ＷＣの選択は、各サンプル画像の重みを考慮して行われる。この例では、各弱判別器ＷＣの重み付き優位度が比較され、最も高い重み付き優位度を示す弱判別器ＷＣが選択される（ステップＳ２３）。すなわち、１回目のステップ２３では、各サンプル画像の重みが１／Ｍと等しいため、弱判別器ＷＣによって算出される正面顔、横顔、非顔のそれぞれのスコアのうち正解である対象物に対するスコアが、他の不正解である対象物に対するスコアより大きいほど優位性があるとみなし、各サンプル画像についての総合的な優位度が最も高いものが、最も有効な弱判別器ＷＣとして選択される。一方、後述するステップＳ２５において各サンプル画像の重みが更新された後の２回目のステップＳ２３では、重みが１／Ｍのサンプル画像、重みが１／Ｍよりも大きいサンプル画像、および重みが１／Ｍよりも小さいサンプル画像が混在しており、重みが１／Ｍよりも大きいサンプル画像は、優位性の評価において、重みが１／Ｍのサンプル画像よりも重みが大きい分多くカウントされる。これにより、２回目以降のステップＳ２３では、重みが小さいサンプル画像よりも、重みが大きいサンプル画像が正しく判別されることに、より重点が置かれる。具体的には、次式にしたがって、最も優位性の高い弱判別器ＷＣを示す２次元ヒストグラム〈ｈk（ｘ）〉を抽出する。ここで、ｋは、ステップＳ２３を実行する回数目を表す。
【数１６】
0004588575.tif 000017
【００６８】
ここで、Ｘiは、各サンプル画像から求められる特徴量の組合せに対応する値、ベクトル〈ｅi〉は、そのサンプル画像が正面顔、横顔、非顔のうちの正解である対象物に対応する基底ベクトル、ベクトル〈ｅj〉は、その他の不正解である対象物に対応する基底ベクトルを表している。
【００６９】
次に、それまでに選択した弱判別器ＷＣによって算出される、各サンプル画像についての正面顔、横顔、非顔のそれぞれのスコアのうち正解である対象物に対するスコアの合計が、他の不正解である対象物に対するスコアの合計より大きいか否か、あるいは、ステップ２３が所定回数実行されたか否かが確かめられる（ステップＳ２４）。具体的には、次式の条件を満たすか否かを確かめる。
【数１７】
0004588575.tif 000018
【００７０】
ここで、Ｋは現時点でのステップ２３の実行回数目を表す。上記の条件を満たす場合は、それまでに選択した弱判別器ＷＣを用いれば画像が正面顔、横顔、非顔のいずれであるかを十分に高い確率で判別できるため、学習は終了する。上記の条件を満たさない場合は、それまでに選択した弱判別器と組み合わせて用いるための追加の弱判別器ＷＣを選択するために、ステップＳ２６へと進む。
【００７１】
ステップＳ２６では、直近のステップＳ２３で選択された弱判別器ＷＣが再び選択されないようにするため、その弱判別器ＷＣが除外される。
【００７２】
次に、直近のステップＳ２３で選択された弱判別器ＷＣでは正面顔、横顔、非顔のスコアを、優位性を持って算出することができなかったサンプル画像の重みが大きくされ、優位性を持って算出することができたサンプル画像の重みが小さくされる（ステップＳ２５）。具体的には、次式にしたがって、各サンプル画像の重みが更新される。
【数１８】
0004588575.tif 000019
【００７３】
すなわち、正解である対象物のスコア（例えばオブジェクト２が正解の場合、〈ｈk〉・〈ｅ2〉で表される内積）が大きければ、重みは減少することが原則であり、このスコアが負の場合には重みは増加する（上記式における分子の第２項）。しかし、図１３に示すように、正解である対象物（図中のオブジェクト２）のスコアとそれ以外の対象物（図中のオブジェクト１）のスコアが同時に正となることもありうる。そこで、それらの対象物を判別するのに適した方向（〈ｅ1〉−〈ｅ2〉：辺）に射影した量を重みの更新に用いる。このように重みを大小させる理由は、次の弱判別器ＷＣの選択において、既に選択された弱判別器ＷＣでは優位性を持ったスコアが算出できなかった画像を重要視し、それらの画像について優位性を持ったスコアを算出することができる弱判別器ＷＣが選択されるようにして、弱判別器ＷＣの組合せの効果を高めるためである。
【００７４】
続いて、ステップＳ２３へと戻り、上記したように重み付き優位度を基準にして次に有効な弱判別器ＷＣが選択される。
【００７５】
以上のステップＳ２３からＳ２６を繰り返して、正面顔、横顔、非顔のいずれであるかを判別するのに適した弱判別器ＷＣとして、特定のペア群を構成する各ペアの所定の２点間の画素値の差分値の組合せに対応する弱判別器ＷＣが選択されたところで、ステップＳ２４で所定の条件を満たすことが確認されると、判別に用いる弱判別器ＷＣの種類と判別条件とが確定され（ステップＳ２７）、これにより学習を終了する。なお、選択された弱判別器ＷＣは、その重み付き優位度が高い順に線形結合され、判別器３４が構成される。各弱判別器ＷＣについてそれぞれ得られた２次元ヒストグラムは、画素値の差分値の組合せに応じて、正面顔、横顔、非顔それぞれについてのスコアを算出するためのスコアベクトルとなる。
【００７６】
次に、判別器３４における処理の流れについて説明する。
【００７７】
図４は、判別器３４における処理の流れを示すフローチャートである。部分画像Ｗが判別器３４に入力されると、第１番目の弱判別器ＷＣにおいて特徴量ｘが算出される（ステップＳ１）。例えば、図５に示すように、所定のサイズ、例えば、３２×３２画素サイズの部分画像Ｗに対して、４近傍画素平均（画像を２×２画素サイズ毎に複数のブロックに区分し、各ブロックの４画素における画素値の平均値をそのブロックに対応する１つの画素の画素値とする処理）を段階的に行うことにより、１６×１６画素サイズの画像と、８×８画素サイズの縮小した画像を得、もとの画像を含めたこれら３つの画像の平面内に設定される所定の２点を１ペアとして、複数種類のペアからなる１つのペア群を構成する各ペアにおける２点間の画素値（輝度）の差分値をそれぞれ計算し、これらの差分値の組合せを特徴量とする。各ペアの所定の２点は、例えば、画像上の顔の濃淡の特徴が反映されるよう決められた縦方向に並んだ所定の２点や、横方向に並んだ所定の２点とする。そして、特徴量である差分値の組合せに対応する値をｘとして算出する。次に、その値ｘに応じて自己の２次元ヒストグラムからスコアベクトル〈ｓ〉が求められる（ステップＳ２）。次に、１つ前の弱判別器ＷＣから引き渡されたスコアベクトルにそのスコアベクトル〈ｓ〉を加算して累積スコアベクトル〈ｓs〉を算出するのであるが、第１番目の弱判別器ＷＣの場合には、引き渡されるスコアベクトルが存在しないので、この場合には、求めたスコアベクトル〈ｓ〉をそのまま累積スコアベクトル〈ｓs〉とする（ステップＳ３）。次に、その累積スコアベクトル〈ｓs〉と基底ベクトル〈ｅ1〉との内積を、部分画像Ｗが「正面顔」であることの蓋然性を示すスコアＳＣ1として、累積スコアベクトル〈ｓs〉と基底ベクトル〈ｅ2〉との内積を、部分画像Ｗが「横顔」であることの蓋然性を示すスコアＳＣ2として、累積スコアベクトル〈ｓs〉と基底ベクトル〈ｅ3〉との内積を、部分画像Ｗが「非顔」であることの蓋然性を示すスコアＳＣ3として、それぞれ算出する（ステップＳ４）。そして、各スコアＳＣ1、ＳＣ2、ＳＣ3のうちいずれかが予め決められた所定の閾値を超えたか否かを判定する（ステップＳ５）。すなわち、ＳＣ1＞Ｔｈ1、ＳＣ2＞Ｔｈ2、ＳＣ3＞Ｔｈ3のいずれかの条件を満たすか否かを判定する。この条件を満たすと判定された場合には、ＳＣ1＞Ｔｈ1のときに部分画像Ｗが「正面顔」であると判別し、ＳＣ2＞Ｔｈ2のときに部分画像Ｗが「横顔」であると判別し、ＳＣ3＞Ｔｈ3のときには部分画像Ｗが「非顔」であると判別し、処理を終了する（ステップＳ６）。一方、ステップＳ５において、上記の条件を満たさないと判定された場合には、次の弱判別器ＷＣがあるか否かを判定し（ステップＳ７）、ここで、次の弱判別器ＷＣがあると判定されたときには、累積スコアベクトル〈ｓs〉を次の弱判別器ＷＣに引き渡して、その次の弱判別器ＷＣの処理に移行する（ステップＳ９）。一方、ステップＳ７において、次の弱判別器ＷＣがないと判定された場合には、部分画像Ｗは、算出されたスコアの中で最も高いスコアに対応する対象物であると判別して処理を終了する（ステップＳ８）。
【００７８】
重複検出判定部４０は、顔検出部３０によって検出された真の顔画像Ｓ２の位置情報に基づいて、解像度画像群Ｓ１′の各解像度画像上で検出された顔画像のうち同一の顔を表す画像、すなわち重複して検出された顔画像をそれぞれ１つの顔画像としてまとめる処理を行い、入力画像Ｓ０において検出された真の顔画像Ｓ３を出力する。判別器は、学習方法にもよるが、一般的に部分画像Ｗのサイズに対して検出できる顔の大きさにはある程度幅があるので、解像度レベルが隣接する複数の解像度画像において、同一の顔を表す画像が重複して検出される場合があるからである。
【００７９】
なお、本実施形態において、サブウィンドウ設定部３３は本発明の部分画像切出し手段として機能し、判別器３４は本発明の判別手段として機能する。
【００８０】
次に、顔検出システム１における処理の流れについて説明する。  
図７は、上記顔検出システムにおける処理の流れを示したフローチャートである。図７に示すように、多重解像度化部１０に入力画像Ｓ０が供給されると（ステップＳ１１）、この入力画像Ｓ０の画像サイズが所定のサイズに変換された画像Ｓ０′が生成され、この画像Ｓ０′から２の−１／３乗倍ずつサイズ（解像度）が縮小された複数の解像度画像からなる解像度画像群Ｓ１が生成される（ステップＳ１２）。そして、正規化部２０において、解像度画像群Ｓ１の各々に対し、画像全体のコントラストのばらつきを抑制する正規化処理を施し、正規化済みの解像度画像群Ｓ１′が得られる（ステップＳ１３）。顔検出部３０においては、検出制御部３１からの指示を受けた解像度画像選択部３２により、解像度画像群Ｓ１′の中から画像サイズの小さい順、すなわち、Ｓ１′＿ｎ，Ｓ１′＿ｎ−１，・・・，Ｓ１′＿１の順に所定の解像度画像Ｓ１′＿ｉを選択する（ステップＳ１４）。次に検出制御部３１が、サブウィンドウ設定部３３に対して、サブウィンドウ設定条件を設定する。これにより、サブウィンドウ設定部３３は、解像度画像Ｓ１′＿ｉ上でサブウィンドウを走査しながら設定して所定サイズの部分画像Ｗを順次切り出し（ステップＳ１５）、その部分画像Ｗを判別器３４へ入力する（ステップＳ１６）。判別器３４は、入力された部分画像Ｗが上記の５種類の向きの顔のいずれかであるか否かを判別し、検出制御部３１がその判別結果Ｒを取得する（ステップＳ１７）。そして、検出制御部３１は、現在切り出された部分画像Ｗが最後の順番に位置する部分画像であるか否かを判定し（ステップＳ１８）、部分画像Ｗが最後の部分画像であると判定された場合には、次のステップＳ１９へ移行し、部分画像Ｗが最後の部分画像でないと判定された場合には、ステップＳ１５に戻って新たな部分画像Ｗが切り出される。このようにして解像度画像Ｓ１′＿ｉについての顔画像を検出する。
【００８１】
１つの解像度画像における顔画像の検出が終了すると、検出制御部３１は、現在選択されている解像度画像Ｓ１′＿ｉが最後の順番に位置する画像であるか否かを判定し（ステップＳ１８）、最後の解像度画像であると判定された場合には、検出処理を終了し、重複検出判定に移行する（ステップＳ１９）。一方、最後の解像度画像ではないと判定された場合には、ステップＳ４に戻り、解像度画像選択部３２により、現在選択されている解像度画像Ｓ１′＿ｉより１段階サイズが大きい解像度画像Ｓ１′＿ｉ−１が選択され、さらに顔画像の検出が実行される。
【００８２】
このように、ステップＳ１４からＳ１９までの処理を繰り返すことにより、各解像度画像における顔画像Ｓ２を検出することができる。図６は、解像度画像がサイズの小さい順に選択されて顔検出が実施される様子を示した図である。
【００８３】
ステップＳ２０では、重複検出判定部４０により、真の顔画像Ｓ２のうち重複して検出された顔画像をそれぞれ１つの顔画像としてまとめる処理を行い、入力画像Ｓ０において検出された真の顔画像Ｓ３を出力する。
【００８４】
このように、本発明の実施形態に係る顔検出システムによれば、入力画像上の異なる位置で切出された部分画像に対して、所定の対象物、すなわち、所定の顔を表す複数のサンプル画像の各々について算出された特徴量の値のヒストグラムを基準として、対象画像が所定の顔を表す画像であるか否かを評価する弱判別器を複数用いて、上記部分画像が所定の顔であるか否かを判別することにより、入力画像における検出対象となる顔を検出する方法において、上記ヒストグラムを多次元に拡張し、弱判別器の上記評価の基準を、複数の異なる種類の顔に対するヒストグラムをベクトルで表現した多次元ヒストグラムとしているので、部分画像から算出された特徴量の値に対応する上記多次元ヒストグラム上のベクトルの向きと大きさを評価することにより、当該部分画像が上記複数の異なる種類の顔のうちのいずれであるかを１度に判別することができ、これにより、入力画像からの部分画像の切出しと判別を、入力画像上を１度走査して実施するだけで複数の異なる種類の顔を検出することができ、効率のよい複数種類の顔検出が可能となる。
【００８５】
また、判別器の学習に関しても、１度の学習で複数の検出対象、すなわち、複数種類の顔を学習することができ、効率のよい学習作業を行うことができる。
【００８６】
すなわち、例えば、Ａ，Ｂ，Ｃの３つのオブジェクトを完全に判別するためには、２体問題の判別器は、ＡＢ判別用、ＢＣ判別用、ＡＣ判別用の３つが必要である。それぞれは、１次元のヒストグラムであるから、合計３次元分のヒストグラムが必要である。一方、本発明による方法では、ヒストグラムは２次元分で足りる。一般に、Ｎ体問題を２体問題の判別器で完全に対応するには、ヒストグラムは合計コンビネーション（NＣ2）次元分必要である。一方、本発明による方法では、Ｎ−１次元分で充分である。
【００８７】
もちろん、ヒストグラムの総量は次元数だけでなく、弱判別器の数に依存することも考慮しなくてはならない。しかし、コンビネーション（NＣ2）がＮのべき乗に比例して増加するのに対し、Ｎ−１はＮの線形増加であるから、Ｎの数が多い場合には、弱判別器によるヒストグラムの総量の増加分を吸収できると思われる。
【００８８】
以上、本発明の実施形態に係る顔検出システムについて説明したが、この顔検出システムのうちの本発明の顔検出装置に対応する部分における各処理をコンピュータに実行させるためのプログラムも、本発明の実施形態の１つである。また、そのようなプログラムを記録したコンピュータ読取可能な記録媒体も、本発明の実施形態の１つである。
【図面の簡単な説明】
【００８９】
【図１】顔検出システムの構成を示すブロック図
【図２】検出対象画像の多重解像度化の工程を示す図
【図３】判別器の構成を示すブロック図
【図４】判別器における処理フローを示す図
【図５】弱判別器における特徴量の算出を説明するための図
【図６】顔検出対象となる解像度画像の切替えとその画像上でのサブウィンドウの移動を説明するための図
【図７】顔検出システムにおける処理の流れを示すフローチャート
【図８】判別器の学習方法を示すフローチャート
【図９】弱判別器における従来の２クラス問題でのヒストグラムを示す図
【図１０】画像が所定の対象物であるか否かの判別基準と用いるヒストグラムを示す図
【図１１】サンプル画像の種類別にヒストグラムが生成される様子を示す図
【図１２】多次元ヒストグラムを示す図
【図１３】正解の対象物のスコアと非正解の対象物のスコアとが同時に正となる場合を示す図
【図１４】基底ベクトルを示す図
【図１５】スコアベクトルを示す図
【符号の説明】
【００９０】
１  顔検出システム
１０  多重解像度化部
２０  正規化部
３０  顔検出部
３１  検出制御部
３２  解像度画像選択部
３３  サブウィンドウ設定部（部分画像切出し手段）
３４  判別器（判別手段）
４０  重複検出判定部
ＷＣ  弱判別器
【図１】
0004588575.tif 000020
【図２】
0004588575.tif 000021
【図３】
0004588575.tif 000022
【図４】
0004588575.tif 000023
【図５】
0004588575.tif 000024
【図６】
0004588575.tif 000025
【図７】
0004588575.tif 000026
【図８】
0004588575.tif 000027
【図９】
0004588575.tif 000028
【図１０】
0004588575.tif 000029
【図１１】
0004588575.tif 000030
【図１２】
0004588575.tif 000031
【図１３】
0004588575.tif 000032
【図１４】
0004588575.tif 000033
【図１５】
0004588575.tif 000034