(57)【要約】【課題】判別器の数を多くすることなく、精度よく顔等のオブジェクトを検出する。【解決手段】判別可能な顔の向きが異なる複数の判別器により顔を判別する。判別器は複数の弱判別器からなる。各判別器を、顔の向きを判別する前段の弱判別器群ＷＣ−Ｆ、および各判別器が判別可能な向きの顔を判別する後段の弱判別器群ＷＣ−Ｂに分割する。前段の弱判別器群ＷＣ−Ｆにおいて第１のスコアを、後段の弱判別器群ＷＣ−Ｂにおいて第２のスコアを取得し、判別器のそれぞれにおける第１のスコアおよび第２のスコアの乗算値の、すべての判別器についての和に基づいて、顔を検出する。【選択図】図１
2011128916.tif 000002
【特許請求の範囲】
【請求項１】
判別対象のオブジェクトから抽出した特徴量をあらかじめ学習させた複数の弱判別器からなる、判別可能な前記オブジェクトの向きがそれぞれ異なる複数の判別器を有し、検出対象画像から抽出した特徴量を用いて、該検出対象画像から前記オブジェクトを検出する判別手段を備えたオブジェクト検出装置において、
前記各判別器の複数の弱判別器が前段の弱判別器群および後段の弱判別器群に分割されてなり、前記前段の弱判別器群が、前記オブジェクトの向きを判別する学習がなされ、前記後段の弱判別器群が、該各後段の弱判別器が属する判別器が判別可能な前記オブジェクトの向きに対応したオブジェクトを検出する学習がなされてなり、
前記判別手段は、前記前段の弱判別器群の出力である第１のスコア、および前記後段の弱判別器の出力である第２のスコアを取得し、前記複数の判別器のそれぞれにおける前記第１のスコアおよび前記第２のスコアの乗算値の、すべての前記判別器についての和に基づいて、前記オブジェクトを検出する手段であることを特徴とするオブジェクト検出装置。
【請求項２】
前記前段の弱判別器群が、前記複数の判別器における少なくとも一部において前記特徴量を共有してなることを特徴とする請求項１記載のオブジェクト検出装置。
【請求項３】
前記前段の弱判別器群と前記後段の弱判別器群とが連続して接続されてなることを特徴とする請求項１または２記載のオブジェクト検出装置。
【請求項４】
前記判別器が、前記オブジェクトが所定の方向を向いた基準サンプル画像、並びに該基準サンプル画像の前記判別対象を該基準サンプル画像の平面において回転させた、回転角度が異なる複数の面内回転サンプル画像、および前記基準サンプル画像内の前記判別対象の向きを回転させた、回転角度が異なる複数の面外回転サンプル画像の少なくとも一方を用いて学習されたものであることを特徴とする請求項１から３のいずれか１項記載のオブジェクト検出装置。
【請求項５】
判別対象のオブジェクトから抽出した特徴量をあらかじめ学習させた複数の弱判別器からなる、判別可能な前記オブジェクトの向きがそれぞれ異なる複数の判別器を有し、検出対象画像から抽出した特徴量を用いて、該検出対象画像から前記オブジェクトを検出するオブジェクト検出方法において、
前記各判別器の複数の弱判別器が前段の弱判別器群および後段の弱判別器群に分割されてなり、前記前段の弱判別器群が、前記オブジェクトの向きを判別する学習がなされ、前記後段の弱判別器群が、該各後段の弱判別器が属する判別器が判別可能な前記オブジェクトの向きに対応したオブジェクトを検出する学習がなされてなり、
前記前段の弱判別器群の出力である第１のスコア、および前記後段の弱判別器の出力である第２のスコアを取得し、
前記複数の判別器のそれぞれにおける前記第１のスコアおよび前記第２のスコアの乗算値の、すべての前記判別器についての和に基づいて、前記オブジェクトを検出することを特徴とするオブジェクト検出方法。
【請求項６】
判別対象のオブジェクトから抽出した特徴量をあらかじめ学習させた複数の弱判別器からなる、判別可能な前記オブジェクトの向きがそれぞれ異なる複数の判別器を有し、検出対象画像から抽出した特徴量を用いて、該検出対象画像から前記オブジェクトを検出するオブジェクト検出方法をコンピュータに実行させるためのプログラムにおいて、
前記各判別器の複数の弱判別器が前段の弱判別器群および後段の弱判別器群に分割されてなり、前記前段の弱判別器群が、前記オブジェクトの向きを判別する学習がなされ、前記後段の弱判別器群が、該各後段の弱判別器が属する判別器が判別可能な前記オブジェクトの向きに対応したオブジェクトを検出する学習がなされてなり、
前記プログラムは、前記前段の弱判別器群の出力である第１のスコア、および前記後段の弱判別器の出力である第２のスコアを取得する手順と、
前記複数の判別器のそれぞれにおける前記第１のスコアおよび前記第２のスコアの乗算値の、すべての前記判別器についての和に基づいて、前記オブジェクトを検出する手順とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出対象画像から人物の顔等のオブジェクトを検出するオブジェクト検出装置および方法並びにオブジェクト検出方法をコンピュータに実行させるためのプログラムに関するものである。
【背景技術】
【０００２】
従来、デジタルカメラによって撮影されたスナップ写真における人物の顔領域の色分布を調べてその肌色を補正したり、監視システムのデジタルビデオカメラで撮影されたデジタル映像中の人物を認識したりすることが行われている。このような場合、デジタル画像中の人物の顔に対応する顔領域を検出する必要があるため、これまでに、デジタル画像中の顔を検出する手法が種々提案されている。その中でもとくに検出精度、ロバスト性が優れているとされる顔検出の手法として、サンプル画像を用いたマシンラーニングの学習により生成された、複数の弱い判別器（弱判別器）を結合した判別器を用いる手法が知られている。
【０００３】
この手法は、複数の異なる顔のサンプル画像からなる顔サンプル画像群と、顔でないことが分かっている複数の異なる非顔サンプル画像とからなる非顔サンプル画像群とを用いて、顔であることの特徴を学習させ、ある画像が顔の画像であるか否かを判別できる判別器を生成して用意しておき、顔の検出対象となる画像（以下、検出対象画像という）において部分画像を順次切り出し、その部分画像が顔であるか否かを上記の判別器を用いて判別し、顔であると判別した部分画像の領域を抽出することにより、検出対象画像上の顔を検出する手法である。
【０００４】
ところで、上述した判別器に入力される画像には、顔が正面を向いた画像のみならず、顔が画像平面上において回転している（以下「面内回転」という）画像や、顔が画像平面内において回転している（以下、「面外回転」という）画像が入力される。ここで、１つの判別器が判別可能な顔の回転範囲は限られており、面内回転している画像では３０度程度、面外回転している画像では３０度〜６０度程度の回転であれば顔か非顔かを判別することができる。このため、より広い範囲の顔の向きに対応するために、それぞれの向きの画像を判別可能な複数の判別器を用意し、すべての判別器に、特定の向きの顔であるか否かの判別を行わせ、最終的な各判別器の出力から顔であるか否かを判定する、マルチクラス判別手法が提案されている。
【０００５】
また、マルチクラス判別手法において、各判別器を構成する複数の弱判別器（弱判別器群）の前段にて顔が含まれるか否かを判別し、最も大きいスコアが得られた判別器においてのみ、後段の弱判別器群にて顔のであるか否かの判別を行うことにより、判別のための処理を低減させる手法が提案されている（特許文献１、非特許文献１参照）。さらに、すべての判別器について判別を行い、すべての判別器の出力を加算して、検出対象画像に顔が含まれるか否かを判別する手法も提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−６６０１０号公報
【非特許文献１】Paul Viola and Michael Jones, Rapid object detection using a boosted cascade of features, IEEE CVPR, 2001
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したマルチクラス判別手法においては、判別可能な顔の向きが異なる複数の判別器は、それぞれが判別する向きの顔の画像を学習しているため、判別可能な向きの顔については、判別を精度良く行うことができる。しかしながら、あらゆる向きの顔を検出できるように判別器を用意するとなると、１つの判別器において広い角度に亘る向きの顔を判別できるように判別器を構成する必要がある。具体的には、正面を向いた顔の角度を０度とした場合、左右にそれぞれ０度±１５度、３０度±１５度、６０度±１５度、および９０度±１５度を向いた顔の画像を学習のためのサンプル画像として用意し、０度±１５度のサンプル画像により正面顔を判別可能な判別器を、３０度±１５度のサンプル画像により左右３０度を向いた顔を判別可能な判別器を、６０度±１５度のサンプル画像により左右６０度を向いた顔を判別可能な判別器を、９０度±１５度のサンプル画像により左右９０度を向いた顔を判別可能な判別器をそれぞれ学習する必要がある。
【０００８】
しかしながら、このように広い角度範囲の顔を判別できるようにすると、１つの判別器における弱判別器の数が非常に多くなり、その結果、顔の検出を高速に行うことができなくなってしまう。また、このように判別器を構成した場合は、３０度単位で向きが異なる顔を精度良く検出できるが、対応する角度の間の角度（例えば１５度、４５度）を向いた顔の検出精度はやはり低下してしまう。
【０００９】
本発明は上記事情に鑑みなされたものであり、判別器の数を多くすることなく、精度よく顔等の特定種類のオブジェクトを検出することを目的とする。
【課題を解決するための手段】
【００１０】
本発明によるオブジェクト検出装置は、判別対象のオブジェクトから抽出した特徴量をあらかじめ学習させた複数の弱判別器からなる、判別可能な前記オブジェクトの向きがそれぞれ異なる複数の判別器を有し、検出対象画像から抽出した特徴量を用いて、該検出対象画像から前記オブジェクトを検出する判別手段を備えたオブジェクト検出装置において、
前記各判別器の複数の弱判別器が前段の弱判別器群および後段の弱判別器群に分割されてなり、前記前段の弱判別器群が、前記オブジェクトの向きを判別する学習がなされ、前記後段の弱判別器群が、該各後段の弱判別器が属する判別器が判別可能な前記オブジェクトの向きに対応したオブジェクトを検出する学習がなされてなり、
前記判別手段は、前記前段の弱判別器群の出力である第１のスコア、および前記後段の弱判別器の出力である第２のスコアを取得し、前記複数の判別器のそれぞれにおける前記第１のスコアおよび前記第２のスコアの乗算値の、すべての前記判別器についての和に基づいて、前記オブジェクトを検出する手段であることを特徴とするものである。
【００１１】
なお、本発明によるオブジェクト検出装置においては、前記前段の弱判別器群が、前記複数の判別器における少なくとも一部において前記特徴量を共有してなることが好ましい。
【００１２】
弱判別器群は、複数の弱判別器が線形に結合した構造を有しており、弱判別器は、検出対象画像における少なくとも１つの特徴量を算出し、この特徴量を用いてオブジェクトを判別するものである。このため、各弱判別器は、複数のサンプル画像における特徴量を用いてオブジェクトを判別するための学習がなされる。「前段の弱判別器群が、前記複数の判別器群の少なくとも一部において特徴量を共有してなる」とは、複数の判別器間における対応する弱判別器が、同一の特徴量を用いて学習がなされていることを意味する。このように同一の特徴量を用いて学習がなされた弱判別器は、検出対象画像における同一の特徴量を用いてオブジェクトを判別するものとなる。なお、複数の判別器群間における対応する弱判別器のすべてについて、共通する特徴量により学習がなされている必要はなく、少なくとも一部の弱判別器が共通する特徴量により学習がなされていればよい。
【００１３】
また、複数の弱判別器は前段の弱判別器群および後段の弱判別器群に分割されているが、とくに前段の弱判別器群を、各判別器群間において特徴量を共有させる場合には、前段の弱判別器群を後段の弱判別器群よりも多くすることが好ましい。
【００１４】
また、本発明によるオブジェクト検出装置においては、前記前段の弱判別器群と前記後段の弱判別器群とが連続して接続されてなるものとしてもよい。
【００１５】
また、本発明によるオブジェクト検出装置においては、前記判別器を、前記オブジェクトが所定の方向を向いた基準サンプル画像、並びに該基準サンプル画像の前記判別対象を該基準サンプル画像の平面において回転させた、回転角度が異なる複数の面内回転サンプル画像、および前記基準サンプル画像内の前記判別対象の向きを回転させた、回転角度が異なる複数の面外回転サンプル画像の少なくとも一方を用いて学習されてもよい。
【００１６】
本発明によるオブジェクト検出方法は、判別対象のオブジェクトから抽出した特徴量をあらかじめ学習させた複数の弱判別器からなる、判別可能な前記オブジェクトの向きがそれぞれ異なる複数の判別器を有し、検出対象画像から抽出した特徴量を用いて、該検出対象画像から前記オブジェクトを検出するオブジェクト検出方法において、
前記各判別器の複数の弱判別器が前段の弱判別器群および後段の弱判別器群に分割されてなり、前記前段の弱判別器群が、前記オブジェクトの向きを判別する学習がなされ、前記後段の弱判別器群が、該各後段の弱判別器が属する判別器が判別可能な前記オブジェクトの向きに対応したオブジェクトを検出する学習がなされてなり、
前記前段の弱判別器群の出力である第１のスコア、および前記後段の弱判別器の出力である第２のスコアを取得し、
前記複数の判別器のそれぞれにおける前記第１のスコアおよび前記第２のスコアの乗算値の、すべての前記判別器についての和に基づいて、前記オブジェクトを検出することを特徴とするものである。
【００１７】
なお、本発明によるオブジェクト検出方法をコンピュータに実行させるためのプログラムとして提供してもよい。
【発明の効果】
【００１８】
本発明によれば、前段の弱判別器群によりオブジェクトの向きを表す第１のスコアが取得され、後段の弱判別器群により各判別器が判別可能なオブジェクトの向きに対応したオブジェクトであることを表す第２のスコアが取得される。そして、複数の判別器のそれぞれにおける第１のスコアおよび第２のスコアの乗算値の、すべての判別器についての和に基づいて、オブジェクトが検出される。このため、判別可能なオブジェクトの向きがそれぞれ異なる複数の判別器による判別結果を統合して、オブジェクトの検出を行うことができ、その結果、特許文献１および非特許文献１の手法のように特定の向きのみのオブジェクトを検出するものと比較して、向きが異なるオブジェクトを柔軟に検出できることとなる。したがって、弱判別器の数を増加させることなく、オブジェクトの検出精度を向上させることができる。
【００１９】
また、前段の弱判別器群を、複数の判別器の少なくとも一部において特徴量を共有させることにより、複数の判別器の少なくとも一部における１つの判別処理を１つの弱判別器において行うことができることとなる。したがって、複数の判別器において、前段の弱判別器群の数を少なくすることができ、その結果、前段の弱判別器群における弱判別器の数を少なくすることができる。
【００２０】
また、前段の弱判別器群と前記後段の弱判別器群とを連続して接続されてなるものとすることにより、前段の弱判別器群と前記後段の弱判別器群とを連続して行うことができるため、処理速度を向上させることができる。
【図面の簡単な説明】
【００２１】
【図１】本実施形態における顔検出システムの構成を示すブロック図
【図２】ウィンドウが走査される様子を示す模式図
【図３】顔検出部の構成を示す概略ブロック図
【図４】候補検出部の構成を示す概略ブロック図
【図５】判別部の構成を示すブロック図
【図６】特徴量の共有を説明するための図
【図７】判別器が行う処理を示すフローチャート
【図８】本実施形態による顔検出システムにおける処理の流れを示すフローチャート
【図９】詳細な検出処理のフローチャート
【図１０】顔サンプル画像の例を示す図
【図１１】判別器の学習方法を示すフローチャート
【図１２】弱判別器のヒストグラムを導出する方法を示す図
【図１３】前段の弱判別器群により顔であると判別されたサンプル画像の例を示す図
【発明を実施するための形態】
【００２２】
以下、図面を参照して本発明の実施形態について説明する。図１は本発明のオブジェクト検出装置を適用した顔検出システムの構成を示す概略ブロック図である。この顔検出システムは、デジタル画像中に含まれる顔を検出するものである。図１に示すように、顔検出システム１は、顔を検出する対象となる検出対象画像Ｓ０を多重解像度化して解像度が異なる複数の画像（以下、解像度画像という）を生成する多重解像度化部１０と、検出対象画像Ｓ０に含まれる顔を表す画像（以下顔画像とする）Ｆ０を検出する顔検出部２０とを備える。
【００２３】
多重解像度化部１０は、検出対象画像Ｓ０の解像度（画像サイズ）を変換することにより、その解像度を所定の解像度、例えば、ＶＧＡサイズ（６４０×４８０画素）の矩形サイズの画像に規格化する。そして、多重解像度化部１０は、規格化された検出対象画像Ｓ０を基本として、解像度変換を行うことにより、図２に示すように、解像度の異なる複数の解像度画像Ｓ１〜Ｓ３…を生成する。なお、規格化された検出対象画像Ｓ０も解像度画像に含めるものとする。
【００２４】
なお、本実施形態においては、図２に示すように、設定された画素数（例えば３２画素×３２画素）を有するウィンドウＷを、解像度画像Ｓｋ（ｋ＝０〜ｍ））において走査させ、ウィンドウＷにより囲まれた領域を切り出すことにより設定画素数からなる部分画像Ｂを生成するようになっている。これにより、高解像度の解像度画像においてウィンドウＷ内に顔（判別対象）が収まらなかった場合であっても、低解像度画像上においてはウィンドウＷ内に収めることが可能となり、各種サイズの顔の検出を確実に行うことができる。
【００２５】
顔検出部２０は、多重解像度化部１０が生成した複数の解像度画像Ｓｋ（以下、解像度画像群Ｓｇとする）のそれぞれに対して顔検出処理を施し、各解像度画像Ｓｋにおける顔画像Ｆ０を検出するものである。図３は顔検出部２０の構成を示す概略ブロック図である。図３に示すように、顔検出部２０は、後述の各部を制御して顔検出処理におけるシーケンス制御を主に行う検出制御部２１と、解像度画像群Ｓｇの中から顔検出処理に供する解像度画像Ｓｋをサイズの大きいものから順に順次選択する解像度画像選択部２２と、解像度画像選択部２２により選択された解像度画像Ｓｋにおいて、顔画像であるか否かの判別対象となる部分画像Ｂを切り出すウィンドウＷを、その位置をずらしながら順次設定するウィンドウ設定部２３と、その切り出された部分画像Ｂが顔画像であるか否かを判別する候補判別部２４と、顔画像であると判別された部分画像（以下候補画像ＣＰとする）が顔画像であるか否かをさらに判別する判別部２５とから構成されている。
【００２６】
検出制御部２１は、解像度画像群Ｓｇの各解像度画像Ｓｋに対して、顔画像Ｆ０を検出するという顔検出処理を行うべく、解像度画像選択部２２およびウィンドウ設定部２３を制御するものである。例えば、適宜、解像度画像選択部２２に対して解像度画像Ｓｋの選択を指示したり、ウィンドウ設定部２３に対してウィンドウＷの設定条件を指示したり、得られた検出結果を出力したりする。なお、ウィンドウ設定条件には、ウィンドウＷを設定する画像上の範囲、ウィンドウＷの移動間隔（検出の粗さ）等が含まれる。
【００２７】
解像度画像選択部２２は、検出制御部２１の制御により、解像度画像群Ｓｇの中から顔検出処理に供する解像度画像Ｓｋをサイズの大きい順に（解像度の細かい順に）順次選択するものである。なお、本実施形態における顔検出の手法が、各解像度画像上で順次切り出された部分画像Ｂについてその部分画像Ｂが顔画像であるか否かを判別し、顔画像であると判別した部分画像Ｂの領域を抽出することにより、検出対象画像Ｓ０における顔画像を検出する手法であるから、この解像度画像選択部２２は、検出対象画像Ｓ０における検出すべき顔の大きさを毎回変えながら設定するものであって、検出すべき顔の大きさを小から大へ変えながら設定するものと同等なものということができる。
【００２８】
ウィンドウ設定部２３は、検出制御部２１により設定されたウィンドウ設定条件に基づいて、解像度画像選択部２２により選択された解像度画像Ｓｋ上でウィンドウＷを移動させながら順次設定する。
【００２９】
候補判別部２４は、部分画像Ｂが顔画像である否かの２値判別を行う機能を有し、図４に示すように複数の弱判別器ＷＣを有する候補判別器３０を有する。ここで、候補判別器３０は、画像平面上において判別対象が回転している面内回転画像と、画像内の判別対象の向きが回転している面外回転画像との双方を顔であると判別するようになっている。
【００３０】
候補判別器３０は、複数の弱判別器ＷＣが線形に結合したカスケード構造を有しており、弱判別器ＷＣは、部分画像Ｂの画素値（輝度）の分布に係る少なくとも１つの特徴量を算出することにより部分画像Ｂから特徴量を抽出し、この特徴量を用いて部分画像Ｂが顔画像であるか否かを判別するものである。なお、候補判別器２４は弱判別器ＷＣおける判別結果を用いて顔画像であるか否かの判別を行うようになっている。本実施形態においては、各弱判別器ＷＣがそれぞれ算出する判定のためのスコアの総和により、部分画像Ｂが顔画像であるか否かの判別結果ＣＲを出力するものとなっている。
【００３１】
判別部２５は、候補判別部２４により部分画像Ｂが顔画像であると判別された場合に、顔画像であると判別された部分画像Ｂ、すなわち候補画像ＣＰが、顔画像であるか否かをさらに判別する判別器である。図５は判別部２５の構成を示す図である。図５に示すように判別部３４は、判別可能な顔の向きが異なるｎクラスの判別器２５−１〜２５−ｎ、および判別結果出力部２５−Ｌを有する。ここで、ｎクラスの判別器２５−ｉ（ｉ＝１〜ｎ）は、画像平面上における顔の向きを判別可能な面内回転判別器と、画像内の顔の向きを判別可能な面外回転判別器とを有する。面内回転判別器は、画像の縦方向と顔の中心線との角度が０度の顔を判別可能な０度面内回転判別器、および３０度の顔を判別可能な３０度面内回転判別器等、例えば３０度〜３３０度の範囲で面内回転角度が３０度ずつ異なる向きの顔を判別可能な複数の判別器からなる。なお、例えば０度面内回転判別器は回転角度が０度を中心に−１５度（＝３４５度）〜＋１５度の範囲内にある顔を判別できるようになっている。
【００３２】
同様に、面外回転判別器は、画像内の顔の向き（角度）が０度の顔、すなわち正面顔を判別可能な０度面外回転判別器、および３０度の顔を判別可能な３０度面外回転判別器等、例えば−９０度〜＋９０度の範囲で面外回転角度が３０度ずつ異なる向きの顔を判別可能な判別器からなる。なお、例えば０度面外回転判別器は回転角度が０度を中心に−１５度〜＋１５度の範囲内にある顔を判別できるようになっている。
【００３３】
また、各判別器２５−ｉは、図５に示すように、複数の弱判別器ＷＣが線形に結合したカスケード構造を有しており、弱判別器ＷＣは、候補画像ＣＰの画素値（輝度）の分布に係る少なくとも１つの特徴量を算出し、この特徴量を用いて候補画像ＣＰが顔画像であるか否かを判別するものである。
【００３４】
また、各判別器２５−ｉに含まれる複数の弱判別器ＷＣは、前段の弱判別器群ＷＣ−Ｆおよび後段の弱判別器群ＷＣ−Ｂに分割されている。前段の弱判別器群ＷＣ−Ｆは、候補画像ＣＰについての面内および面外の向きを判別するためのものであり、後段の弱判別器群ＷＣ−Ｂは、弱判別器群ＷＣが属する判別器２５−ｉが判別可能な顔の向きに対応した顔であるか否かを判別するためのものである。このため、本実施形態においては、前段の弱判別器群ＷＣ−Ｆと後段の弱判別器群ＷＣ−Ｂとにおいて、学習に使用するサンプル画像が若干異なるものとなっている。なお、弱判別器の学習については後述する。そして、本実施形態においては、すべての判別器２５−ｉの前段の弱判別器群ＷＣ−Ｆにおいて最終的に得られるスコアを出力し、さらにすべての判別器２５−ｉの後段の弱判別器群ＷＣ−Ｂにおいて最終的に得られるスコアを出力する。なお、前段の弱判別器群ＷＣ−Ｆが出力するスコアを第１のスコア、後段の弱判別器群ＷＣ−Ｂが出力するスコアを第２のスコアと称する。
【００３５】
なお、各判別器２５−ｉを構成する前段の弱判別器群ＷＣ−Ｆに含まれる少なくとも一部の弱判別器ＷＣは、判別器２５−ｉ間において特徴量を共有している。すなわち、少なくとも一部の弱判別器ＷＣが同一の特徴量を用いて学習がなされており、候補画像ＣＰにおける同一の特徴量を用いて顔の向きの判別を行うものとなっている。なお、図５においては、特徴量を共有していることを、弱判別器ＷＣに斜線を付与して示すものとする。
【００３６】
ここで、図５においては、説明のために各判別器２５−ｉの特徴量を共有している弱判別器ＷＣに斜線を付与して示しているが、各判別器２５−ｉにおいて、特徴量を共有している弱判別器は１つ作成すれよいこととなる。図６は特徴量の共有を説明するための図である。なお、図６においては、説明のために、４つの判別器２５−１〜２５−４のみを示し、さらに各判別器２５−１〜２５−４の前段の４つの弱判別器ＷＣのみを示している。なお、各判別器２５−１〜２５−４における１〜４段目の弱判別器をそれぞれ弱判別器２５−１−１，２５−１−２のように示す。
【００３７】
図６の上側に示すよう、１段目の弱判別器が判別器２５−１〜２５−４のすべてにおいて特徴量を共有し、２段目の弱判別器が、弱判別器２５−１−２，２５−２−２，２５−３−２において特徴量を共有し、３段目の弱判別器が、弱判別器２５−１−３，２５−４−３において特徴量を共有し、４段目の弱判別器が、弱判別器２５−２−４，２５−３−４，２５−３−４において特徴量を共有しているものとする。この場合、特徴量を共有している弱判別器は１つの判別器のみ作成すればよいことから、判別器２５−１〜２５−４における１〜４段目までの弱判別器は図６の下側に示すように結合されることとなる。したがって、弱判別器の数を１６から８に減少させることができる。
【００３８】
次いで、判別部２５における具体的な処理について説明する。図７は判別部２５に含まれる各判別器２５−ｉが行う処理を示すフローチャートである。なお、以下の説明においては、各判別器２５−ｉにおける処理を並列に行っているが、各判別器２５−ｉにおける処理を順次行うようにしてもよいことはもちろんである。
【００３９】
まず、各判別器２５−ｉにおける前段の弱判別器群ＷＣ−Ｆにおいて、１番目の弱判別器ＷＣが、候補画像ＣＰに対してこの候補画像ＣＰにおける顔の方向を判別するために、候補画像ＣＰから特徴量を算出し（ステップＳＴ１）、特徴量に応じて後述するスコアテーブルを参照してスコアを算出し（ステップＳＴ２）、直前の弱判別器が算出したスコアに自己の算出したスコアを加算して累積スコアを算出する（ステップＳＴ３）。なお、最初の弱判別器では、直前の弱判別器がないので、自己の算出したスコアをそのまま累積スコアとする。次いで、前段の弱判別器群ＷＣ−Ｆのすべてについての累積スコアを算出したか否かを判定し（ステップＳＴ４）、ステップＳＴ４が否定されると、次の弱判別器による判別に移行し（ステップＳＴ５）、ステップＳＴ１に戻る。これにより、前段の弱判別器群ＷＣ−Ｆを構成するすべての弱判別器についての累積スコアが算出される。ステップＳＴ５が肯定されると、累積スコアを第１のスコアＰ１−ｉ（ｉ＝１〜ｎ）として出力する（ステップＳＴ６）。
【００４０】
続いて、後段の弱判別器群ＷＣ−Ｂによる処理に進む。ステップＳＴ６に引き続き、後段の弱判別器群ＷＣ−Ｂにおける１番目の弱判別器ＷＣが、候補画像ＣＰから特徴量を算出し（ステップＳＴ７）、特徴量に応じてスコアテーブルを参照してスコアを算出し（ステップＳＴ８）、直前の弱判別器が算出したスコアに自己の算出したスコアを加算して累積スコアを算出する（ステップＳＴ９）。なお、後段の弱判別器群ＷＣ−Ｂにおける最初の弱判別器では、直前の弱判別器がないので、自己の算出したスコアを第１のスコアＰ１−ｉに加算して累積スコアとする。次いで、後段の弱判別器群ＷＣ−Ｂのすべてについての累積スコアを算出したか否かを判定し（ステップＳＴ１０）、ステップＳＴ１０が否定されると、次の弱判別器による判別に移行し（ステップＳＴ１１）、ステップＳＴ７に戻る。これにより、前段の弱判別器群ＷＣ−Ｆを構成するすべての弱判別器についての累積スコアが算出される。ステップＳＴ１０が肯定されると、後段の弱判別器群ＷＣ−Ｂについての累積スコアを第２のスコアＰ２−ｉ（ｉ＝１〜ｎ）として出力する（ステップＳＴ１２）。
【００４１】
次いで、判別結果出力部２５−Ｌが、第１のスコアＰ１−ｉおよび第２のスコアＰ２−ｉを乗算し、乗算した結果をすべての判別器２５−ｉについて加算して、候補画像ＣＰについての最終スコアＰＬを算出する（ステップＳＴ１３）。最終スコアＰＬは下記の式（１）により算出される。なお、Σはｉ＝１〜ｎまでの（Ｐ１−ｉ）×（Ｐ２−ｉ）の値を加算することを表す
ＰＬ＝Σ（Ｐ１−ｉ）×（Ｐ２−ｉ）      （１）
そして、判別結果出力部２５−Ｌが、最終スコアＰＬが所定の閾値以上であるか否かによって候補画像ＣＰが顔画像であるか否かを判別し、判別結果Ｒを出力する（ステップＳＴ１４）。
【００４２】
なお、本実施形態において、検出制御部２１、解像度画像選択部２２、ウィンドウ設定部２３、候補判別部２４および判別部２５が、本発明の判定手段として機能する。
【００４３】
次に、顔検出システム１における処理の流れについて説明する。図８は本実施形態による顔検出システムにおける処理の流れを示すフローチャートである。図８に示すように、多重解像度化部１０に検出対象画像Ｓ０が入力されると（ステップＳＴ２１）、多重解像度化部１０が検出対象画像Ｓ０を多重解像度化して複数の解像度画像Ｓｋからなる解像度画像群Ｓｇを生成する（ステップＳＴ２２）。顔検出部２０は、検出制御部２１からの指示を受けた解像度画像選択部２２により、解像度画像群Ｓｇの中から画像サイズの大きい順に解像度画像Ｓｋを選択する（ステップＳＴ２３）。次に検出制御部２１が、ウィンドウ設定部２３に対して、ウィンドウＷを初期位置に、すなわち選択された解像度画像上の最初の注目画素にウィンドウＷを設定する指示を行う（ステップＳＴ２４）。ウィンドウ設定部２３は、選択された解像度画像上にウィンドウＷを設定し、設定したウィンドウＷにより部分画像Ｂを切り出し（ステップＳＴ２５）、部分画像Ｂを候補判別部２４に入力する（ステップＳＴ２６）。
【００４４】
候補判別部２４は、入力される部分画像Ｂに対して、部分画像Ｂが顔画像であるか否かの判別を行い、検出制御部２１がその判別結果ＣＲを取得し（ステップＳＴ２７）、判別結果ＣＲが部分画像Ｂが顔画像であるというものであるか否かを判定する（ステップＳＴ２８）。判別結果ＣＲが部分画像Ｂが顔画像でないというものであった場合（ステップＳＴ２８否定）、検出制御部２１は、現在切り出された部分画像Ｂが最後の注目画素に位置する部分画像、すなわち最後の部分画像であるか否かを判定し（ステップＳＴ２９）、部分画像Ｂが最後の部分画像でないと判定された場合には、ウィンドウＷを設定する位置を次の注目画素の位置（すなわち次の位置）に設定し（ステップＳＴ３０）、ステップＳＴ２５に戻って、ウィンドウ設定部２３が新たな部分画像Ｂを切り出す。
【００４５】
なお、部分画像Ｂが最後の部分画像であると判定された場合には、検出制御部２１は、現在選択されている解像度画像Ｓｋが最後に判別される画像、すなわち最後の解像度画像Ｓｍであるか否かを判定し（ステップＳＴ３１）、最後の解像度画像Ｓｍであると判定された場合には検出処理を終了し、検出結果を出力する（ステップＳＴ３２）。一方、最後の解像度画像ではないと判定された場合には、ステップＳＴ２３に戻り、解像度画像選択部２２により、現在選択されている解像度画像より１段階サイズが小さい解像度画像が選択され、さらに顔画像の検出が実行される。
【００４６】
一方、判別結果ＣＲが部分画像Ｂが顔画像であるというものであった場合、候補判別部２４は部分画像Ｂを候補画像ＣＰと判別し、さらに詳細な検出処理を行う（ステップＳＴ３３）。図９は詳細な検出処理のフローチャートである。詳細な検出処理においては、候補判別部２４において部分画像Ｂが候補画像ＣＰであると判別されていることから、検出制御部２１が候補画像ＣＰを判別部２５に入力する（ステップＳＴ４１）。判別部２５は、入力される候補画像ＣＰが顔画像であるか否かの判別を行い、検出制御部２１がその判別結果Ｒを取得し（ステップＳＴ４２）、図８に示すフローチャートのステップＳＴ２９に進む。以上の処理を行うことにより、検出対象画像Ｓ０から種々の方向を向いた顔を含む画像を検出することができる。
【００４７】
なお、検出結果の出力は、検出対象画像Ｓ０から顔が検出できなかった場合にはその旨を出力し、検出対象画像Ｓ０に顔が検出できた場合には、検出対象画像Ｓ０上における顔が検出された部分画像の位置の座標を出力する。
【００４８】
次に、判別器の学習方法（生成方法）について説明する。なお、学習は、判別器の種類、すなわち、判別すべき顔の向き毎に行われる。
【００４９】
学習の対象となるサンプル画像群は、ウィンドウＷのサイズで規格化された、顔であることが分かっている複数のサンプル画像（顔サンプル画像群）と、顔でないことが分かっている複数のサンプル画像（非顔サンプル画像群）とからなる。
【００５０】
顔サンプル画像は、判別器２５−ｉのクラス数に応じた顔の向きを有するものとなっている。具体的には、図１０（ａ）に示すように設定位置（例えば中央）に配置された顔が３０°ずつ回転した１２種類の画像からなる面内回転サンプル画像、および図１０（ｂ）に示すように設定位置（例えば中央）に配置された顔の向きが±３０°ずつ回転した７種類の画像からなる面外回転サンプル画像からなる。なお、各顔サンプル画像は、顔の位置およびサイズが規格化されている。
【００５１】
そして、このような顔サンプル画像群と非顔サンプル画像群とを用いて顔の向き毎に判別器２５−ｉの学習を行い、１９種類の判別器を生成する。以下、具体的な学習手法について説明する。
【００５２】
図１１は判別器の学習方法を示すフローチャートである。なお、本実施形態においては、前段の弱判別器群ＷＣ−Ｆは、判別器２５−ｉ間において特徴量を共有するものであり、いずれの特徴量を共有させるかは、ユーザが学習時に適宜選択すればよいものである。まず、各サンプル画像には、重みすなわち重要度が割り当てられる。まず、すべてのサンプル画像の重みの初期値が等しく１に設定される（ステップＳＴ５１）。次に、サンプル画像から特徴量を取得し、その特徴量について弱半別器が作成される（ステップＳＴ５２）。なお、特徴量としては、サンプル画像におけるあらかじめ定められた２点間における画素値（輝度値）の差分値等を用いることができる。本実施形態においては、特徴量についてのヒストグラムを弱判別器のスコアテーブルの基礎として使用する。
【００５３】
図１２を参照しながらある弱判別器の作成について説明する。図１２の左側のサンプル画像に示すように、この弱判別器を作成するための特徴量は、顔サンプル画像において、サンプル画像上の右目の中心にある点Ｏ１、および右側の頬の部分にある点Ｏ２の画素値の差分値とする。なお、ある弱判別器を作成するための特徴量を得るための座標位置はすべてのサンプル画像において同一である。そして顔サンプル画像について特徴量が求められ、そのヒストグラムが作成される。ここで、特徴量がとり得る値は、画像の輝度階調数に依存するが、仮に１６ビット階調である場合には、１つの画素値の差分値につき６５５３６通りとなってしまい、学習および検出のために多大なサンプルの数、時間およびメモリを要することとなる。このため、本実施形態においては、特徴量を適当な数値幅で区切って量子化し、ｎ値化する（例えばｎ＝１００）。これにより、特徴量の組合せの数はｎ通りとなるため、特徴量を表すデータ数を低減できる。
【００５４】
同様に、非顔サンプル画像についてもヒストグラムが作成される。なお、非顔サンプル画像については、顔サンプル画像上における特徴量を取得する画素に対応する位置の画素値が用いられる。これらの２つのヒストグラムが示す頻度値の比の対数値をとってヒストグラムで表したものを、図１２の一番右側に示す、弱判別器のスコアテーブルの基礎として用いられるヒストグラムである。この弱判別器のヒストグラムが示す各縦軸の値を、以下スコアと称する。この弱判別器によれば、正のスコアに対応する、特徴量の組合せの分布を示す画像は顔である可能性が高く、スコアの絶対値が大きいほどその可能性は高まると言える。逆に、負のスコアに対応する特徴量の組合せの分布を示す画像は顔でない可能性が高く、やはりスコアの絶対値が大きいほどその可能性は高まる。ステップＳＴ５２では、判別に使用され得る特徴量の組合せについて、上記のヒストグラム形式の複数の弱判別器が作成される。
【００５５】
続いて、ステップＳＴ５２で作成した複数の弱半別器のうち、画像が特定方向を向いた顔であるか否かを判別するのに最も有効な弱判別器が選択される。最も有効な弱判別器の選択は、各サンプル画像の重みを考慮して行われる。この例では、各弱判別器の重み付き正答率が比較され、最も高い重み付き正答率を示す弱判別器が選択される（ステップＳＴ５３）。すなわち、最初のステップＳＴ５３では、各サンプル画像の重みは等しく１であるので、単純にその弱判別器によって画像が特定方向を向いた顔であるか否かが正しく判別されるサンプル画像の数が最も多いものが、最も有効な弱判別器として選択される。一方、後述するステップＳＴ５５において各サンプル画像の重みが更新された後の２回目のステップＳＴ５３では、重みが１のサンプル画像、重みが１よりも大きいサンプル画像、および重みが１よりも小さいサンプル画像が混在しており、重みが１よりも大きいサンプル画像は、正答率の評価において、重みが１のサンプル画像よりも重みが大きい分多くカウントされる。これにより、２回目以降のステップＳＴ５３では、重みが小さいサンプル画像よりも、重みが大きいサンプル画像が正しく判別されることに、より重点が置かれる。
【００５６】
次に、それまでに選択した弱判別器の組合せの正答率、すなわち、それまでに選択した弱判別器を組み合せて使用して（学習段階では、弱判別器は必ずしも線形に結合させる必要はない）各サンプル画像が特定方向を向いた顔の画像であるか否かを判別した結果が、実際に顔の画像であるか否かの答えと一致する率が、所定の閾値を超えたか否かが確かめられる（ステップＳＴ５４）。ここで、弱判別器の組合せの正答率の評価に用いられるのは、現在の重みが付けられたサンプル画像群でも、重みが等しくされたサンプル画像群でもよい。所定の閾値を超えた場合は、それまでに選択した弱判別器を用いれば画像が顔であるか否かを十分に高いスコアで判別できるため、学習は終了する。所定の閾値以下である場合は、それまでに選択した弱判別器と組み合せて用いるための追加の弱判別器を選択するために、ステップＳＴ５６へと進む。ステップＳＴ５６では、直近のステップＳＴ５３で選択された弱判別器が再び選択されないようにするため、その弱判別器が除外される。
【００５７】
次に、直近のステップＳＴ５３で選択された弱判別器では特定方向を向いた顔であるか否かを正しく判別できなかったサンプル画像の重みが大きくされ、画像が顔であるか否かを正しく判別できたサンプル画像の重みが小さくされる（ステップＳＴ５５）。このように重みを大小させる理由は、次の弱判別器の選択において、既に選択された弱判別器では正しく判別できなかった画像を重要視し、それらの画像が顔であるか否かを正しく判別できる弱判別器が選択されるようにして、弱判別器の組合せの効果を高めるためである。続いて、ステップＳＴ５３へと戻り、上記したように重み付き正答率を基準にして次に有効な弱判別器が選択される。
【００５８】
以上のステップＳＴ５３からＳ５６を繰り返して、特定方向を向いた顔であるか否かを判別するのに適した弱判別器として、特徴量の組合せに対応する弱判別器が選択されたところで、ステップＳＴ５４で確認される正答率が閾値を超えたとすると、特定方向を向いた顔であるか否かの判別に用いる弱判別器の種類と判別条件とが確定され（ステップＳＴ５７）、これにより学習を終了する。なお、選択された弱判別器は、その重み付き正答率が高い順に線形結合され、１つの判別器が構成される。また、各弱判別器については、それぞれ得られたヒストグラムを基に、特徴量の組合せに応じてスコアを算出するためのスコアテーブルが生成される。なお、ヒストグラム自身をスコアテーブルとして用いることもでき、この場合、ヒストグラムの判別ポイントがそのままスコアとなる。このようにして、各顔サンプル画像群毎に学習を行うことにより、上述の１９種類の判別器が生成される。
【００５９】
ここで、本実施形態においては、前段の弱判別器群ＷＣ−Ｆは、候補画像ＣＰについての顔の向きを判別するためのものであり、後段の弱判別器群ＷＣ−Ｂは、弱判別器群ＷＣが属する判別器２５−ｉが判別可能な顔の向きに対応した顔であるか否かを判別するためのものである。このため、本実施形態においては、あらかじめ定められた数の弱判別器が選択された時点で、それまでに選択された弱判別器から前段の弱判別器群ＷＣ−Ｆを構成する。そして、前段の弱判別器群ＷＣ−Ｆを用いて、顔サンプル画像群および非顔サンプル画像群についての顔の判別を行う。ここで、前段の弱判別器群ＷＣ−Ｆのみでは、判別器２５−ｉの学習の途中の段階であることから、精度良く特定方向の顔を判別できないため、特定方向の顔と見間違えるような非顔サンプル画像を特定方向の顔と判別してしまう場合がある。
【００６０】
図１３は正面を向いた顔を判別可能な判別器における前段の弱判別器群ＷＣ−Ｆにより顔であると判別されたサンプル画像の例を示す図である。図１３に示す４つのサンプル画像のうち、サンプル画像ＳＰ１〜ＳＰ３は正面を向いた顔であることが明らかであるが、サンプル画像ＳＰ４は明らかに顔ではないことが分かる。このため、本実施形態においては、前段の弱判別器群ＷＣ−Ｆによって特定方向の顔であると判別されたサンプル画像のうち、明らかに顔でないサンプル画像を、非顔サンプル画像として後段の弱判別器群ＷＣ−Ｂの学習には使用しないようにする。このようにして、学習に使用するサンプル画像を選択した後、前段の弱判別器群ＷＣ−Ｆから続けて、後段の弱判別器群ＷＣ−Ｂを構成する弱判別器の学習を行う。なお、後段の弱判別器群ＷＣ−Ｂの学習時においては、ステップＳＴ５４において使用する閾値を、前段の弱判別器群ＷＣ−Ｆの学習に使用した閾値よりも高くすることにより、後段の弱判別器群ＷＣ−Ｂにより精度の高い判別を行うことが可能となる。
【００６１】
なお、上記の学習手法を採用する場合において、弱判別器は、特徴量の組合せを用いて顔の画像と顔でない画像とを判別する基準を提供するものであれば、上記のヒストグラムの形式のものに限られずいかなるものであってもよく、例えば２値データ、閾値または関数等であってもよい。また、同じヒストグラムの形式であっても、図１２の中央に示した２つのヒストグラムの差分値の分布を示すヒストグラム等を用いてもよい。また、学習の方法としては上記手法に限定されるものではなく、ニューラルネットワーク等他のマシンラーニングの手法を用いることができる。
【００６２】
このように、本実施形態によれば、前段の弱判別器群ＷＣ−Ｆにより顔の向きを表す第１のスコアＰ１−ｉを取得し、後段の弱判別器群ＷＣ−Ｂにより各判別器２５−ｉが判別可能な顔の向きに対応した顔であることを表す第２のスコアＰ２−ｉを取得する。そして、各判別器２５−ｉのそれぞれにおける第１のスコアＰ１−ｉおよび第２のスコアＰ２−ｉの乗算値の、すべての判別器２５−ｉの和に基づいて、顔を検出するようにしたものである。このため、判別可能な顔の向きがそれぞれ異なる複数の判別器２５−ｉによる判別結果を統合して、顔の検出を行うことができるため、特許文献１および非特許文献１の手法のように、特定の向きのみの顔を検出するものと比較して、向きが異なる顔を柔軟に検出できることとなる。したがって、弱判別器の数を増加させることなく、顔の検出精度を向上させることができる。
【００６３】
また、前段の弱判別器群ＷＣ−Ｆを、複数の判別器２５−ｉの少なくとも一部において特徴量を共有させることにより、複数の判別器２５−ｉの少なくとも一部における複数の判別処理を１つの弱判別器ＷＣにおいて行うことができることとなる。したがって、前段の弱判別器群ＷＣ−Ｆの数を少なくすることができ、その結果、前段の弱判別器群ＷＣ−Ｆにおける弱判別器ＷＣの数を少なくすることができる。
【００６４】
なお、上記実施形態においては、検出対象を人物の顔としているが、人物の手等の他のオブジェクトを検出するようにしてもよい。この場合、判別器はオブジェクトを含むサンプル画像群とオブジェクトを含まないサンプル画像群とを用いて学習を行えばよい
以上、本発明の実施形態に係る顔検出システムについて説明したが、この顔検出システムのうちの本発明のオブジェクト検出装置に対応する部分における各処理をコンピュータに実行させるためのプログラムも、本発明の実施形態の１つである。また、そのようなプログラムを記録したコンピュータ読取可能な記録媒体も、本発明の実施形態の１つである。
【符号の説明】
【００６５】
１    顔検出システム
１０    多重解像度化部
２０    顔検出部
２１    検出制御部
２２    解像度画像選択部
２３    ウィンドウ設定部
２４    候補判別部
２５    判別部
【図１】
2011128916.tif 000003
【図２】
2011128916.tif 000004
【図３】
2011128916.tif 000005
【図４】
2011128916.tif 000006
【図５】
2011128916.tif 000007
【図６】
2011128916.tif 000008
【図７】
2011128916.tif 000009
【図８】
2011128916.tif 000010
【図９】
2011128916.tif 000011
【図１０】
2011128916.tif 000012
【図１１】
2011128916.tif 000013
【図１２】
2011128916.tif 000014
【図１３】
2011128916.tif 000015