(57)【要約】【課題】顔画像を迅速に判定できるようにする。【解決手段】  ｙi＝１で表されるポジティブサンプルと、ｙi＝−１で表されるネガティブサンプルとをＫ個の弱判別器で学習する。各弱判別器の学習時において、弱判別器の判別結果と、重みの積和により、重み付き多数決の値F(x)が演算される。弱判別器の判別結果f(x)と、重みαtの積和により、重み付き多数決の値F(x)が演算され、学習閾値ＲLが演算される。ネガティブサンプルの数がポジティブサンプルの数の１／２以上である場合、学習閾値ＲLより小さい重み付き多数決の値F(x)の値が得られたとき、そのネガティブサンプルが削除される。本発明は、画像処理装置に適用できる。【選択図】図１８
2005284348.tif 000002
【特許請求の範囲】
【請求項１】
データ重みを利用して弱判別器を選択する選択手段と、
選択された前記弱判別器による学習サンプルの判別結果を、信頼度により重み付けした値の累積和に基づいて基準値を演算する基準値演算手段と、
演算された前記基準値に基づいて前記学習サンプルの一部を削除する削除手段と、
削除されなかった前記学習サンプルに基づいて前記データ重みを演算する重み演算手段と、
前記重み演算手段により演算された前記データ重みを、前記選択手段による次の前記弱判別器の選択に反映する反映手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記基準値演算手段は、前記弱判別器の正の判別結果を前記信頼度により重み付けして累積する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記基準値演算手段は、前記累積和の演算を並列的に行う
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記基準値演算手段は、学習した前記弱判別器を利用して識別処理を行う場合に使用される識別基準値を演算するとともに、前記識別基準値より小さい学習基準値を演算し、
前記削除手段は、前記学習基準値を基準値として前記学習サンプルを削除する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記弱判別器は、前記学習サンプルの画像データの２画素の値の差と閾値との差に基づいて前記判別結果を演算する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
データ重みを利用して弱判別器を選択する選択ステップと、
選択された前記弱判別器による学習サンプルの判別結果を、信頼度により重み付けした値の累積和に基づいて基準値を演算する基準値演算ステップと、
演算された前記基準値に基づいて前記学習サンプルの一部を削除する削除ステップと、
削除されなかった前記学習サンプルに基づいて前記データ重みを演算する重み演算ステップと、
前記重み演算ステップの処理により演算された前記データ重みを、前記選択ステップの処理による次の前記弱判別器の選択に反映する反映ステップと
を含むことを特徴とする情報処理方法。
【請求項７】
データ重みを利用して弱判別器を選択する選択ステップと、
選択された前記弱判別器による学習サンプルの判別結果を、信頼度により重み付けした値の累積和に基づいて基準値を演算する基準値演算ステップと、
演算された前記基準値に基づいて前記学習サンプルの一部を削除する削除ステップと、
削除されなかった前記学習サンプルに基づいて前記データ重みを演算する重み演算ステップと、
前記重み演算ステップの処理により演算された前記データ重みを、前記選択ステップの処理による次の前記弱判別器の選択に反映する反映ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項８】
データ重みを利用して弱判別器を選択する選択ステップと、
選択された前記弱判別器による学習サンプルの判別結果を、信頼度により重み付けした値の累積和に基づいて基準値を演算する基準値演算ステップと、
演算された前記基準値に基づいて前記学習サンプルの一部を削除する削除ステップと、
削除されなかった前記学習サンプルに基づいて前記データ重みを演算する重み演算ステップと、
前記重み演算ステップの処理により演算された前記データ重みを、前記選択ステップの処理による次の前記弱判別器の選択に反映する反映ステップと
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、高速に顔画像などの対象物を検出することができるようにした情報処理装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
従来、複雑な画像シーンの中から動きを使わないで画像信号の濃淡パターンのみを使った顔検出手法は数多く提案されている。例えば下記特許文献１に記載の顔検出器は、ハール（Haar）基底のようなフィルタを弱判別器（弱学習機）（weak learner）に用いたアダブースト（AdaBoost）を使用したもので、後述する積分画像（インテグラルイメージ：Integral image）とよばれる画像と矩形特徴（rectangle feature）とを使用することで、高速に弱仮説（weak hypothesis）を計算することができる。
【０００３】
図１は、特許文献１に記載の矩形特徴を示す模式図である。図１に示されるように、特許文献１に記載の技術においては、入力画像１４２Ａ乃至１４２Ｄにおいて、同一サイズの隣り合う矩形領域の輝度値の総和が求められ、一方の矩形領域の輝度値の総和と他方の矩形領域の輝度値の総和との差を出力するようなフィルタ（弱仮説）が複数用意される。例えば、入力画像１４２Ａにおいては、矩形領域（rectangular box）１５４Ａ−１の輝度値の総和から、影を付けて示す矩形領域１５４Ａ−２の輝度値の総和を減算するフィルタ１５４Ａが構成されている。このような２つの矩形領域からなるフィルタを２矩形特徴（2 rectangle feature）という。
【０００４】
また、入力画像１４２Ｃにおいては、１つの矩形領域が３分割された３つの矩形領域１５４Ｃ−１乃至１５４Ｃ−３からなり、矩形領域１５４Ｃ−１、１５４Ｃ−３の輝度値の総和から影を付けて示す中央の矩形領域１５４Ｃ−２の輝度値の総和を減算するフィルタ１５４Ｃが構成されている。このような３つの矩形領域からなるフィルタを３矩形特徴（3 rectangle feature）という。更に、入力画像１４２Ｄにおいては、１つの矩形領域が上下左右に分割された４つの矩形領域１５４Ｄ−１乃至１５４Ｄ−４からなり、矩形領域１５４Ｄ−１、１５４Ｄ−３の輝度値の総和から、影を付けて示す矩形領域１５４Ｄ−２、１５４Ｄ−４の輝度値の総和を減算するフィルタ１５４Ｄが構成されている。このような４つの矩形領域からなるフィルタを４矩形特徴（4 rectangle feature）という。
【０００５】
例えば、図２に示される顔画像を、図１に示される例えば矩形特徴１５４Ｂを使用して顔であることを判定する場合について説明する。２矩形特徴１５４Ｂは、１つの矩形領域が上下（垂直方向）に２分割された２つの矩形領域１５４Ｂ−１、１５４Ｂ−２からなり、矩形領域１５４Ｂ−２の輝度値の総和から、影を付けて示す矩形領域１５４Ｂ−１の輝度値の総和が減算される。人間の顔（対象物）１３８は、頬の領域より眼の領域の方が輝度値が低いことを利用すると、矩形特徴１５４Ｂの出力値から入力画像が顔か否か（正解または不正解）をある程度の確率で推定することができる。これがアダブーストにおける弱判別器の１つとして利用され。
【０００６】
検出時において、入力画像に含まれる様々な大きさの顔領域を検出するため、様々なサイズの領域（以下、探索ウィンドウという。）を切り出して顔か否かを判定する必要がある。しかしながら例えば３２０×２４０画素からなる入力画像には、およそ５００００種類のサイズの顔領域（探索ウィンドウ）が含まれており、これら全てのウィンドウサイズについての演算を行うと極めて時間がかかる。そこで、特許文献１においては、積分画像とよばれる画像が使用される。積分画像とは、図３に示されるように、入力画像１４４において、（ｘ、ｙ）番目の画素１６２が、下記式（１）に示されるように、その画素１６２より左上の画素の輝度値の総和になっている画像である。即ち、画素１６２の値は、画素１６２の左上の矩形領域１６０に含まれる画素の輝度値の総和となっている。以下、各画素値が下記式（１）に示す値の画像を積分画像という。
【０００７】
【数１】
2005284348.tif 000003
【０００８】
この積分画像を使用すると、任意の大きさの矩形領域の演算を高速に行うことができる。すなわち、図４に示されるように、左上の矩形領域１７０、矩形領域１７０の右横、下、右下のそれぞれの領域を矩形領域１７２、１７４、１７６とし、矩形領域１７６の４頂点を左上から時計周りにｐ1，ｐ2，ｐ3，ｐ4とし、その積分画像をＰ１，Ｐ２，Ｐ３，Ｐ４とする。Ｐ１は矩形領域１７０の輝度値の総和Ａ（Ｐ１＝Ａ）、Ｐ２はＡ＋矩形領域１７２の輝度値の総和Ｂ（Ｐ２＝Ａ＋Ｂ）、Ｐ３はＡ＋矩形領域１７４の輝度値の総和Ｃ（Ｐ３＝Ａ＋Ｃ）、Ｐ４はＡ＋Ｂ＋Ｃ＋矩形領域１７６の輝度値の総和Ｄ（Ｐ４＝Ａ＋Ｂ＋Ｃ＋Ｄ）となっている。このとき、矩形領域１７６の輝度値の総和Ｄは、Ｐ４−（Ｐ２＋Ｐ３）−Ｐ１として算出することができ、矩形領域の四隅の画素値を加減算することで矩形領域の輝度値の総和を高速に算出することができる。通常、入力画像をスケール変換し、スケール変換された各画像から、学習に使用する学習サンプルと同一サイズのウィンドウ（探索ウィンドウ）を切り出すことで、異なるサイズの探索ウィンドウを探索することが可能になる。しかしながら上述したように、全てのサイズの探索ウィンドウを設定可能なように入力画像をスケール変換すると極めて演算量が膨大になってしまう。そこで、特許文献１に記載の技術においては、矩形領域の輝度値の総和の演算を高速に行うことができる積分画像を用い、矩形特徴を使用することにより演算量が低減される。
【０００９】
【特許文献１】米国特許出願公開第２００２／０１０２０２４号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記特許文献１に記載の顔検出器は、学習時に使用した学習サンプルのサイズの整数倍の大きさの対象物体しか検出することができない。これは、上記特許文献１が入力画像をスケール変換することで探索ウィンドウの大きさを変更するのではなく、入力画像を積分画像に変換し、これを利用して異なる探索ウィンドウの顔領域を検出するためである。すなわち、積分画像はピクセル単位に離散化されているため、例えば２０×２０のウィンドウサイズを使用する場合、３０×３０のサイズを探索ウィンドウに設定することができず、従ってウィンドウサイズこのウィンドウサイズの顔検出を行うことができない。
【００１１】
また、上記矩形特徴として、演算の高速化のため隣り合った矩形領域間の輝度値の差分のみを利用している。そのため、離れた矩形領域間の輝度変化をとらえることができず、物体検出の性能に制限がある。
【００１２】
例えば積分画像をスケール変換すれば任意のサイズのウィンドウの探索が可能になり、また離れた位置の矩形領域間の輝度値の差分を利用することも可能ではあるが、積分画像をスケール変換すると演算量が増大し、積分画像を使用して処理を高速化する効果を相殺することになり、また離れた矩形領域間の輝度値の差分をも含めようとするとフィルタの種類が膨大になり、同じく処理量が増大してしまう。
【００１３】
本発明は、このような状況に鑑みて提案されたものであり、集団学習により対象とする物体を検出する際に、学習時および検出時の演算処理をより高速化できるようにするものである。
【課題を解決するための手段】
【００１４】
請求項１の情報処理装置は、データ重みを利用して弱判別器を選択する選択手段と、選択された前記弱判別器による学習サンプルの判別結果を、信頼度により重み付けした値の累積和に基づいて基準値を演算する基準値演算手段と、演算された前記基準値に基づいて前記学習サンプルの一部を削除する削除手段と、削除されなかった前記学習サンプルに基づいて前記データ重みを演算する重み演算手段と、前記重み演算手段により演算された前記データ重みを、前記選択手段による次の前記弱判別器の選択に反映する反映手段とを備えることを特徴とする。
【００１５】
前記基準値演算手段は、弱判別器の正の判別結果を信頼度により重み付けして累積するようにすることができる。
【００１６】
前記基準値演算手段は、累積和の演算を並列的に行うようにすることができる。
【００１７】
前記基準値演算手段は、学習した弱判別器を利用して識別処理を行う場合に使用される識別基準値を演算するとともに、識別基準値より小さい学習基準値を演算し、削除手段は、学習基準値を基準値として学習サンプルを削除するようにすることができる。
【００１８】
前記弱判別器は、学習サンプルの画像データの２画素の値の差と閾値との差に基づいて判別結果を演算するようにすることができる。
【００１９】
請求項６の情報処理方法は、データ重みを利用して弱判別器を選択する選択ステップと、選択された前記弱判別器による学習サンプルの判別結果を、信頼度により重み付けした値の累積和に基づいて基準値を演算する基準値演算ステップと、演算された前記基準値に基づいて前記学習サンプルの一部を削除する削除ステップと、削除されなかった前記学習サンプルに基づいて前記データ重みを演算する重み演算ステップと、前記重み演算ステップの処理により演算された前記データ重みを、前記選択ステップの処理による次の前記弱判別器の選択に反映する反映ステップとを含むことを特徴とする。
【００２０】
請求項７の記録媒体のプログラムは、データ重みを利用して弱判別器を選択する選択ステップと、選択された前記弱判別器による学習サンプルの判別結果を、信頼度により重み付けした値の累積和に基づいて基準値を演算する基準値演算ステップと、演算された前記基準値に基づいて前記学習サンプルの一部を削除する削除ステップと、削除されなかった前記学習サンプルに基づいて前記データ重みを演算する重み演算ステップと、前記重み演算ステップの処理により演算された前記データ重みを、前記選択ステップの処理による次の前記弱判別器の選択に反映する反映ステップとを含むことを特徴とする。
【００２１】
請求項８のプログラムは、データ重みを利用して弱判別器を選択する選択ステップと、選択された前記弱判別器による学習サンプルの判別結果を、信頼度により重み付けした値の累積和に基づいて基準値を演算する基準値演算ステップと、演算された前記基準値に基づいて前記学習サンプルの一部を削除する削除ステップと、削除されなかった前記学習サンプルに基づいて前記データ重みを演算する重み演算ステップと、前記重み演算ステップの処理により演算された前記データ重みを、前記選択ステップの処理による次の前記弱判別器の選択に反映する反映ステップとをコンピュータに実行させることを特徴とする。
【００２２】
本発明においては、データ重みを利用して弱判別器が選択され、選択された弱判別器による学習サンプルの判別結果を信頼度により重み付けした判別結果の累積和に基づいて基準値が演算され、その基準値に基づいて学習サンプルの一部が削除される。そして、削除されなかった学習サンプルに基づいて演算されたデータ重みが、次の弱判別器の選択に反映される。
【発明の効果】
【００２３】
本発明によれば、リアルタイムで顔検出することができる。特に、本発明によれば、学習または検出処理を、高速化することができる。
【発明を実施するための最良の形態】
【００２４】
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２５】
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加される発明の存在を否定するものではない。
【００２６】
請求項１の情報処理装置は、データ重み（例えば、式（９）、式（１３）、式（１４）のデータ重みDt）を利用して弱判別器（例えば、図９の弱判別器211乃至21K）を選択する選択手段（例えば、図１６のステップS2の処理を実行する図１５の選択部102）と、選択された前記弱判別器による学習サンプルの判別結果を、信頼度（例えば、式（１１）のαt）により重み付けした値の累積和（例えば、式（７）のF(x)）に基づいて基準値（例えば、図１６のステップS5，S6における識別閾値RM，学習閾値RL）を演算する基準値演算手段（例えば、図１５の閾値演算部105）と、演算された前記基準値に基づいて前記学習サンプルの一部を削除する削除手段（例えば、図１６のステップS8の処理を実行する図１５の削除部107）と、削除されなかった前記学習サンプルに基づいて前記データ重みを演算する重み演算手段（例えば、図１６のステップS9の処理を実行する図１５の更新部108）と、前記重み演算手段により演算された前記データ重みを、前記選択手段による次の前記弱判別器の選択に反映する反映手段（例えば、図１６のステップS10の処理を実行する図１５の反映部109）とを備えることを特徴とする。
【００２７】
前記基準値演算手段は、弱判別器の正の判別結果を信頼度により重み付けして累積する（例えば、図２４のステップS104の処理）。
【００２８】
前記基準値演算手段は、累積和の演算を並列的に行う（例えば、図２８のステップS203乃至S218の処理）。
【００２９】
前記基準値演算手段は、学習した弱判別器を利用して識別処理を行う場合に使用される識別基準値（例えば、図１６のステップS5における識別閾値RM）を演算するとともに、識別基準値より小さい学習基準値（例えば、図１６のステップS6における学習閾値RL）を演算し、削除手段は、学習基準値を基準値として学習サンプルを削除する（例えば、図１６のステップS8の処理）。
【００３０】
前記弱判別器は、学習サンプルの画像データの２画素の値の差（例えば、式（２）のピクセル間差分特徴d）と閾値（例えば、図２０のステップS34における閾値Th）との差に基づいて判別結果を演算する（例えば、図２０のステップS34の処理）。
【００３１】
請求項６の情報処理方法、請求項７の記録媒体のプログラム、並びに請求項８のプログラムは、データ重み（例えば、式（９）、式（１３）、式（１４）のデータ重みDt）を利用して弱判別器（例えば、図９の弱判別器211乃至21K）を選択する選択ステップ（例えば、図１６のステップS2）と、選択された前記弱判別器による学習サンプルの判別結果を、信頼度（例えば、式（１１）のαt）により重み付けした値の累積和（例えば、式（７）のF(x)）に基づいて基準値（例えば、図１６のステップS5，S6における識別閾値RM、学習閾値RL）を演算する基準値演算ステップ（例えば、（例えば、図１６のステップS5，S6）と、演算された前記基準値に基づいて前記学習サンプルの一部を削除する削除ステップ（例えば、図１６のステップS8）と、削除されなかった前記学習サンプルに基づいて前記データ重みを演算する重み演算ステップ（例えば、図１６のステップS9）と、前記重み演算ステップの処理により演算された前記データ重みを、前記選択ステップの処理による次の前記弱判別器の選択に反映する反映ステップ（例えば、図１６のステップS10）とを含むことを特徴とする。
【００３２】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、アンサンブル学習（集団学習）を利用して画像から対象物を検出する情報処理装置を対象物検出装置に適用したものである。
【００３３】
集団学習によって得られる学習機械は、多数の弱仮説と、これらを組み合わせる結合機（combiner）とからなる。入力によらず、固定した重みで弱仮説の出力を統合する結合機の一例としてブースティングがある。ブースティングにおいては、前に生成した弱仮説の学習結果を使用して、間違いが発生した学習サンプル（例題）の重みを増すように、学習サンプルが従う分布が加工され、この分布に基づき新たな弱仮説の学習が行われる。これにより不正解が多く対象物として判別が難しい学習サンプルの重みが相対的に上昇し、結果的に重みが大きい、即ち判別が難しい学習サンプルを正解させるような弱判別器が逐次選択される。この場合、学習における弱仮説の生成は逐次的に行われ、後から生成された弱仮説はその前に生成された弱仮説に依存することになる。
【００３４】
対象物を検出する際には、上述のようにして学習により逐次生成された多数の弱仮説の判別結果が使用される。例えばAdaBoost（アダブースト）の場合は、この学習により生成された弱仮説（以下、弱判別器という。）全ての判別結果（対象物であれば１、非対象物であれば−１）が結合機に供給され、結合機は、全判別結果に対して、対応する弱判別器毎に学習時に算出された信頼度を重み付け加算し、その重み付き多数決の結果を出力し、結合機の出力値を評価することで、入力された画像が対象物か否かを選択する。
【００３５】
弱判別器は、なんらかの特徴量を使用して、対象物かまたは非対象物であるかの判定を行うものである。なお、後述するように、弱判別器の出力は対象物か否かを確定的に出力してもよく、対象物らしさを確率密度などで確率的に出力してもよい。本実施の形態においては、２つのピクセル間の輝度値の差という極めて簡単な特徴量（以下、ピクセル間差分特徴という。）を使用して対象物か否かを判別する弱判別器を使用した集団学習装置を利用することで、対象物の検出処理を高速化する。
【００３６】
（１）対象物検出装置
図５は、本実施の形態における対象物検出装置の処理機能を示す機能ブロック図である。図５に示されるように、対象物検出装置１は、入力画像として濃淡画像（輝度画像）を出力する画像出力部２、入力画像の拡大または縮小、すなわちスケーリングを行うスケーリング部３、スケーリングされた入力画像を、所定サイズのウィンドウで、例えば左上から右下に向けて順次スキャンして、ウィンドウ内の画像をウインドウ画像として出力する走査部４、並びに走査部４にて順次スキャンされた各ウィンドウ画像が対象物か非対象物かを判別する判別器５を有し、与えられる画像（入力画像）の中から対象物体の領域を示す対象物の位置および大きさを出力する。
【００３７】
すなわち、スケーリング部３は、入力画像を指定された全てのスケールに拡大または縮小したスケーリング画像を出力する。走査部４は、各スケーリング画像について、検出したい対象物の大きさとなるウィンドウを順次スキャンしてウィンドウ画像を切り出し、判別器５は、各ウィンドウ画像が顔か否かを判別する。
【００３８】
判別器５は、集団学習により判別器５を構成する複数の弱判別器の集団学習を実行する集団学習機６の学習結果を参照して、現在のウィンドウ画像が、例えば顔画像などの対象物であるか、または非対象物（顔画像以外の画像）であるかを判別する。
【００３９】
また、対象物検出装置１は、入力画像から複数の対象物が検出された場合は、複数の領域情報を出力する。更に、複数の領域情報のうち領域が重なりあっている領域が存在する場合は、後述する方法で最も対象物とされる評価が高い領域を選択する処理も行うことができる。
【００４０】
画像出力部２から出力された画像（濃淡画像）は、先ずスケーリング部３に入る。スケーリング部３では、バイリニア補完を用いた画像の縮小が行われる。本実施の形態においては、スケーリング部３で最初に複数の縮小画像を生成するのではなく、必要とされる画像を走査部４に対して出力し、その画像の処理を終えた後で、次の更に小さな縮小画像を生成するという処理が繰り返される。
【００４１】
すなわち、図６に示されるように、スケーリング部３は、先ず、入力画像１０Ａをそのまま走査部４へ出力する。そして、スケーリング部３は、入力画像１０Ａについて走査部４および判別器５の処理が終了するのを待った後、入力画像１０Ａのサイズを縮小した入力画像１０Ｂを生成する。さらに、スケーリング部３は、この入力画像１０Ｂにおける走査部４および判別器５の処理が終了するのを待って、入力画像１０Ｂのサイズを更に縮小した入力画像１０Ｃを走査部４に出力するというように、より小さく縮小した縮小画像１０Ｄ、１０Ｅなどを順次生成していき、縮小画像の画像サイズが、走査部４にて走査するウィンドウサイズより小さくなった時点で処理を終了する。この処理の終了をまって、画像出力部２は、次の入力画像をスケーリング部３に出力する。
【００４２】
走査部４では、図７に示されるように、与えられた例えば画像１０Ａに対して、後段の判別器５が受け付けるウィンドウサイズＳと同じ大きさのウィンドウ１１を画像（画面）の全体に対して順次当てはめていき、各位置におけるウィンドウ１１内の画像（以下、切り取り画像またはウィンドウ画像という）を判別器５に出力する。
【００４３】
ウィンドウ１１の走査は、図８に示されるように、１画素単位で行われる。すなわち、所定の位置におけるウィンドウ１１内の切り取り画像が走査部４から出力された後、次の走査においては、ウィンドウ１１が１画素分右方向に移動され、その位置におけるウィンドウ１１内の切り取り画像が判別器５に供給される。
【００４４】
なお、ウィンドウサイズＳは一定であるが、上述したように、スケーリング部３により入力画像が順次縮小され、入力画像の画像サイズが様々なスケールに変換されるため、任意の大きさの対象物体を検出することが可能となる。
【００４５】
すなわち、画像上の顔の大きさが、どのような大きさであったとしても、画像サイズが順次縮小されることで、いつかはウィンドウサイズＳとほぼ同じ大きさの画像となる。その結果、そのウィンドウ１１内の画像が、人の顔の画像であるか否かを検出することができる。
【００４６】
判別器５は、前段から与えられた切り取り画像が、例えば顔などの対象物体であるか否かを判定する。判別器５は、図９に示されるように、アンサンブル学習（Ensemble learning）により得られた複数の弱判別器２１i（ｉ＝１，２，３，・・・，Ｋ）と、これらの出力（判別結果）に、それぞれ対応する重みαi（ｉ＝１，２，３，・・・，Ｋ）を乗算し、重み付き多数決F(x)を求める加算器２２とを有する。
【００４７】
弱判別器２１1乃至２１Kは、それぞれウィンドウ１１内の画素のうちの任意の位置の２つの画素に基づき、そのウィンドウ１１内の画像が、人の顔の画像であるか否かを判別する。Ｋは、ウィンドウ１１内の画像から抽出可能な２個の画素の組合せの数に対応する。
【００４８】
判別器５は、入力されるウィンドウ画像に対し、各弱判別器２１iが対象物である否かの推定値f(x)を逐次出力し、加算器２２が重み付き多数決F(x)を算出して出力する。この重み付き多数決F(x)の値に応じ、図示せぬ判定手段が、ウィンドウ画像が対象物か否かを最終的に判定する。
【００４９】
集団学習機６は、後述する方法にて、弱判別器２１iと、それらの出力（推定値）に乗算する重みを集団学習により予め学習する。集団学習としては、複数の判別器の結果を多数決にて求めることができるものであれば、具体的にはどんな手法でも適用可能である。例えば、データの重み付けを行って重み付き多数決行うアダブースト（AdaBoost）などのブースティングを用いた集団学習を適用することができる。
【００５０】
判別器５を構成する各弱判別器２１iは、判別のための特徴量として、２つの画素間の輝度値の差分（ピクセル間差分特徴）を使用する。そして、各弱判別器２１iは、対象物か非対象物であるかのラベリングが予め施された複数の濃淡画像からなる学習サンプルにより学習された特徴量と、ウィンドウ画像の特徴量とを比較し、ウィンドウ画像が対象物であるか否かを推定するための推定値を確定的または確率的に出力する。
【００５１】
加算器２２は、弱判別器２１iの推定値に、各弱判別器２１iに対する信頼度となる重みを乗算し、これを加算した値（重み付き多数決の値）を出力する。AdaBoostでは、複数の弱判別器２１iは、順次推定値を算出し、これに伴い重み付き多数決の値が逐次更新されていく。これら複数の弱判別器は、集団学習機６により後述するアルゴリズムに従い、上述の学習サンプルを使用して集団学習により逐次的に生成されたものであり、例えばその生成順に上記推定値を算出する。また、重み付き多数決の重み（信頼度）は、弱判別器を生成する後述する学習工程にて学習される。
【００５２】
弱判別器２１iは、例えばAdaBoostのように、弱判別器が２値出力を行う場合は、ピクセル間差分特徴を閾値で二分することで、対象物体であるかどうかの判別を行う。閾値により判別を行う場合、複数の閾値を用いてもよい。また、弱判別器は、例えばReal-AdaBoostのように、ピクセル間差分特徴から対象物体かどうかを表す度合いの連続値を確率的に出力してもよい。これら弱判別器２１iが必要とする判別のための特徴量（閾値）なども学習時に上記アルゴリズムに従って学習される。
【００５３】
更に、本実施の形態では、重み付き多数決の際、全ての弱判別器の計算結果を待たず、計算途中であっても、その値によっては対象物体でないと判断して計算を打ち切るため、打ち切りの閾値（基準値）が学習工程で学習される。この打ち切り処理によって、検出処理における演算量を大幅に削減することが可能となる。これにより、全ての弱判別器の計算結果を待たず、計算途中で次のウィンドウ画像の判別処理に移ることができ、迅速な処理が可能となる。
【００５４】
このように、判別器５は、ウィンドウ画像が対象物か否かを判定するための評価値として重み付き多数決を算出し、その評価値に基づきウィンドウ画像が対象物か否かを判定する判定手段として機能する。更に判別器５は、予め学習により生成された複数の弱判別器が推定値を出力する毎に、その推定値に対して学習により得られた各弱判別器に対する重みを乗算して加算した重み付き多数決の値を更新し、この重み付き多数決の値（評価値）を更新する毎に、上記打ち切り閾値を利用して推定値の算出を打ち切るか否かをも制御する。
【００５５】
この判別器５は、集団学習機６において、学習サンプルを使用し、所定のアルゴリズムに従って集団学習することにより生成される。ここでは先ず、集団学習機６における集団学習方法について説明し、次に、その集団学習により得られた判別器５を使用し、入力画像から対象物を判別する方法について説明する。
【００５６】
（２）集団学習機
ブースティングアルゴリズムを用いて集団学習する集団学習機６は、上述したように複数の弱判別器を複数個組み合わせ、結果的に強い判別結果が得られるよう学習する。弱判別器は、１つ１つは、極めて簡単な構成とされ、１つでは顔か顔でないかの判別能力も低いものであるが、これを例えば数百乃至数千個組み合わせることで、高い判別能力を持たせることができる。この集団学習機６は、例えば数千の学習サンプルといわれる予め正解付け（ラベリング）された対象物と非対象物、例えば顔画像と非顔画像とからならなるサンプル画像を使用し、多数の学習モデル（仮説の組み合わせ）から所定の学習アルゴリズムに従って１つの仮説を選択（学習）することで弱判別器を生成し、この弱判別器の組み合わせ方を決定していく。弱判別器はそれ自体では判別性能が低いものであるが、これらの選別、組み合わせ方により、結果的に判別能力が高い判別器を得ることができるため、集団学習機６では、弱判別器の組み合わせ方、即ち弱判別器の選別およびそれらの出力値を重み付き多数決する際の重みなどの学習をする。
【００５７】
次に、適切な弱判別器を学習アルゴリズムに従って多数組み合わせた判別器を得るための集団学習機６の学習方法について説明するが、集団学習機６の学習方法の説明に先立ち、集団学習にて学習する学習データのうちで、本実施の形態において特徴となる学習データ、具体的には、弱判別器を構成するためのピクセル間差分特徴、並びに判別工程（検出工程）において、検出を途中で打ち切るための打ち切り閾値（基準値）について説明しておく。
【００５８】
（３）弱判別器の構成
本実施の形態における判別器５は、複数の弱判別器で構成される。この弱判別器は、入力される画像に含まれる全画素の中から選択された２つの画素の輝度値の差分（ピクセル間差分特徴）により顔か否かを判別する極めて簡単な構成とされる。これにより、判別工程において、弱判別器の判別結果の算出が高速化される。弱判別器に入力される画像は、学習工程では、学習サンプルであり、判別工程では、スケーリング画像から切り出されたウィンドウ画像である。
【００５９】
図１０は、ピクセル間差分特徴を説明するための画像を示す模式図である。画像３０において、本実施の形態においては、任意の２つの画素の輝度値の差、例えば画素３１の輝度値Ｉ1と、画素３２の輝度値Ｉ2との差、即ち下記式（２）で得られる値ｄがピクセル間差分特徴と定義される。
【００６０】
【数２】
2005284348.tif 000004
【００６１】
どのピクセル間差分特徴ｄを顔検出に使用するかが弱判別器の能力となる。従って、サンプル画像またはウィンドウ画像に含まれる任意の２画素の組み合わせ（フィルタまたは弱仮説ともいう。）から、弱判別器に使用するピクセル位置の組を選択する必要がある。
【００６２】
例えばAdaBoostでは、弱判別器に、＋１（対象物体である）か、または−１（非対象物体）であるかの確定的な出力を要求する。そこで、AdaBoostにおいては、ある任意のピクセル位置において、そのピクセル間差分特徴ｄを、１または複数の閾値を利用して２分割（＋１または−１）することをもって弱判別器とすることができる。
【００６３】
また、このような２値出力ではなく、学習サンプルの確率分布を示す連続値（実数値）を確率的に出力するような例えばReal-AdaBoostまたはGentle Boostなどのブースティングアルゴリズムの場合、弱判別器は、入力された画像が対象物である確からしさ（確率）を出力する。弱判別器の出力は、このように確定的であっても確率的であってもよい。先ず、これら２種類の弱判別器について説明する。
【００６４】
（３−１）２値出力の弱判別器
確定的な出力をする弱判別器は、ピクセル間差分特徴ｄの値に応じて、対象物か否かの２クラス判別を行う。対象画像領域中のある２つのピクセルの輝度値をＩ1、Ｉ2とし、ピクセル間差分特徴ｄにより対象物か否かを判別するための閾値をTh1とすると、下記式（３）を満たすか否かで、いずれのクラスに属するかを決定することができる。
【００６５】
【数３】
2005284348.tif 000005
【００６６】
ここで、弱判別器を構成するには、２つのピクセル位置と、その閾値を決定する必要があるが、その決定方法については後述する。上記式（３）の閾値判定は最も単純な場合である。また、閾値判定には、次の下記式（４）または式（５）に示す２つの閾値を用いることもできる。
【００６７】
【数４】
2005284348.tif 000006
【００６８】
【数５】
2005284348.tif 000007
【００６９】
図１１Ａ乃至図１１Ｃは、縦軸に頻度をとり、横軸にピクセル間差分特徴ｄをとって、それぞれ上記式（３）乃至式（５）に示す３つの判別方法を、データの頻度分布の特徴的なケースに合わせて示す模式図である。図１１Ａ乃至図１１Ｃにおいては、ｙiは弱判別器の出力を示し、破線が、ｙi＝−１（非対象物）であると判定された学習サンプルの分布を示し、実線が、ｙi＝１（対象物）であると判定された学習サンプルの分布を示す。多数の顔画像と非顔画像からなる学習サンプルに対し、同一のピクセル間差分特徴ｄに対する頻度を取ると、図１１Ａ乃至図１１Ｃに示されるヒストグラムが得られる。
【００７０】
なお、実線と破線は、それぞれ、ｙi＝１、またはｙi＝−１と判定された頻度を独立に表している。従って、そのピクセル間差分特徴ｄの合計した分布は、図１２に示されるようになる。
【００７１】
図１１Ａに示されるように、ヒストグラムが、例えば、非対象物を示す破線の分布と、対象物を示す実線の分布が、同様な正規曲線のように分布し、そのピーク位置が左右にずれているような場合は、その境界部に閾値Th1を設定し、上記式（３）にて対象物か否かを判別することができる。例えばAdaBoostにおいては、弱判別器の出力（判別結果）をf(x)としたとき、出力f(x)＝１（対象物）またはf(x)＝−１（非対象物）となる。図１１Ａは、ピクセル間差分特徴ｄが閾値Th1より大きい場合に対象物であると判定され、弱判別器の出力がf(x)＝１となる例を示している。
【００７２】
また、２つのヒストグラムのピーク位置が同じような位置にあって、その分布の幅が異なるような場合、分布が狭い方のピクセル間差分特徴ｄの上限値近傍および下限値近傍を閾値として、上記式（４）または式（５）により、対象物か否かを判別することができる。図１１Ｂは、分布の幅が狭い方が対象物と判定され、弱判別器の出力がf(x)＝１となる例を、図１１Ｃは、分布の幅が広い方から分布の幅が狭い方を除いたものが対象物と判定され、弱判別器の出力がf(x)＝１となる例を、それぞれ示している。
【００７３】
弱判別器は、あるピクセル間差分特徴ｄとその閾値とを決定することにより構成されるが、その判定によって誤り率ができるだけ小さくなるような、即ち判別率が高いピクセル間差分特徴ｄを選択する必要がある。例えば、閾値は、２つの画素位置を決め、正解付けされた学習サンプルに対して、図１１に示されるようなヒストグラムを求め、最も正解率が高くなる閾値、換言すれば、非正解率（誤り率）が最も小さくなるような閾値を検索することで決定される。また、２つの画素位置は、閾値と共に得られる誤り率が最も小さいものを選択するなどすればよい。但し、AdaBoostにおいては、判別の難易度を反映した重み（データ重み）が各学習サンプルに付けられており、適切なピクセル間差分特徴ｄ（どの位置の２つのピクセルの輝度値を特徴値とするか）が後述する重み付き誤り率を最小にするように学習される。
【００７４】
（３−２）連続値出力の弱判別器
確率的な出力をする弱判別器としては、上述した如く、例えばReal-AdaBoostまたはGentle Boostなどのように弱判別器が連続値を出力するものがある。この場合、弱判別器は、ある決められた一定値（閾値）により判別問題を解き、２値出力（f(x)＝１または−１）する上述の場合と異なり、入力された画像が対象物である度合いを、例えば確率密度関数として出力する。
【００７５】
このような、対象物体である度合い（確率）を示す確率的な出力は、ピクセル間差分特徴ｄを入力としたときPP(x)を学習サンプルの対象物の確率密度関数、Pn(x)を学習サンプルの非対象物の確率密度関数とすると、下記式（６）に示す関数f(x)とすることができる。
【００７６】
【数６】
2005284348.tif 000008
【００７７】
図１３Ａは、縦軸に確率密度をとり、横軸にピクセル間差分特徴ｄをとって、データの頻度分布の特徴的なケースを示す図であり、図１３Ｂは、縦軸に関数f(x)の値をとり、横軸にピクセル間差分特徴ｄをとって、図１３Ａに示すデータ分布における関数f(x)を示すグラフ図である。図１３Ａにおいて、破線が非対象物体であることを示す確率密度、実線が対象物体であることを示す確率密度を、それぞれ示す。上記式（６）から関数f(x)を求めると、図１３Ｂに示すグラフが得られる。弱判別器は、学習工程または判別工程において、入力される学習サンプルまたはウィンドウ画像から得られた上記式（２）に示すピクセル間差分特徴ｄに対応する関数f(x)を出力する。この関数f(x)は、対象物らしさの度合いを示すものであって、例えば非対象物を−１、対象物を１としたとき、−１乃至１までの連続値を取るものとすることができる。例えばピクセル間差分特徴ｄとそれに対応するf(x)とからなるテーブルを記憶し、入力に応じてテーブルからf(x)を読出し出力する。従って、一定値である閾値Th1またはTh11，Th12，Th21，Th22より若干記憶量が大きくなるが判別性能が向上する。
【００７８】
これら複数の推定方法（判別方法）は、アンサンブル学習中に組み合わせて使用することで、判別性能が向上することが期待できる。また、いずれか単一の判別方法のみを利用すれば、実行速度性能を引き出すことができる。
【００７９】
本実施の形態において使用する弱判別器は、使用する特徴量（ピクセル間差分特徴ｄ）が非常に単純であるために、上述したように極めて高速に対象物の判別を行うことができる点が特長である。このように対象物として顔検出する場合には、ピクセル間差分特徴ｄを上述の判別方法のうち最も単純な式（３）に示す閾値判定によっても極めてよい判別結果が得られるが、どのような判別方法により弱判別器が有効に機能するかは、対象とする問題によって異なり、その閾値設定方法などを適宜選択すればよい。また、問題によっては、２つの画素の輝度値の差ではなく、３個以上の画素の輝度値の差を特徴量としてもよい。
【００８０】
（４）打ち切り閾値
次に、打ち切り閾値について説明する。ブースティングを用いた集団学習機においては、通常は、上述したように判別器５を構成する全弱判別器の出力の重み付き多数決によりウィンドウ画像が対象物か否かを判別する。重み付き多数決は、弱判別器の判別結果（推定値）を逐次足し合わせていくことで算出される。例えば、弱判別器の個数をｔ（＝１，・・・，Ｋ）、各弱判別器に対応する多数決の重み（信頼度）をαt、各弱判別器の出力をft(x)としたとき、AdaBoostにおける重み付き多数決の値F(x)は、下記式（７）により求めることができる。
【００８１】
【数７】
2005284348.tif 000009
【００８２】
図１４は、横軸に弱判別器の数をとり、縦軸に上記式（７）に示す重み付き多数決の値F(ｘ)をとって、入力される画像が対象物か否かに応じた重み付き多数決の値F(x)の変化を示すグラフ図である。図１４において、破線で示すデータＶ1乃至Ｖ4は、対象物としてラベリングされている画像（学習サンプル）を入力として、弱判別器により推定値f(x)を逐次算出し、その重み付き多数決の値F(x)を逐次求めたものである。このデータＶ1乃至Ｖ4に示されるように、対象物を入力画像とすると、ある程度の個数の弱判別器の判別によりその重み付き多数決の値F(x)はプラス（正）になる。
【００８３】
本実施の形態においては、通常のブースティングアルゴリズムとは異なる手法が導入される。すなわち、弱判別器の判別結果を逐次足し合わせていく過程において、全ての弱判別器の結果を得る前であっても、明らかに対象物ではないと判別できる学習サンプルまたはウィンドウ画像については、その学習または判別が中止される。判別を中止するか否かを決定する打ち切り閾値（基準値）は、学習工程にて学習される。
【００８４】
この打ち切り閾値により、全弱判別器の出力結果を用いなくとも、非対象物であることが確実に推定できる場合、弱判別器の推定値f(x)の演算を途中で中止することができ、これにより、全ての弱判別器を使用した重み付き多数決を行うのに比して、格段に演算量を低減し、処理の迅速化が可能となる。
【００８５】
この打ち切り閾値は、ラベリングされている学習サンプルのうち、検出対象物を示す学習サンプルの判別結果の重み付き多数決の値が取りえる最小値とすることができる。学習工程または判別工程において、学習サンプルまたはウィンドウ画像の弱判別器による判別結果が、逐次重み付きされて出力される、即ち、重み付き多数決の値が逐次更新されていくが、この更新されていく値と、上記打ち切り閾値とを更新の度、即ち１つの弱判別器が判別結果を出力する毎に比較し、更新された重み付き多数決の値が打ち切り閾値を下まわる場合には、当該学習サンプルまたはウィンドウ画像は対象物ではないとし、計算を打ち切ることができ、これにより無駄な演算を省いて、学習処理または判別処理を高速化することができる。
【００８６】
すなわち、Ｍ番目の弱判別器の出力fM(x)の打ち切り閾値ＲMは、学習サンプルｘi（ｉ＝１乃至Ｎ）のうち、対象物である学習サンプル（ポジティブサンプル）ｘj（ｊ＝１乃至Ｊ）を使用したときの重み付き多数決の値F(x)の最小値とされ、下記式（８）のように定義される。
【００８７】
【数８】
2005284348.tif 000010
【００８８】
この式（８）に示されるように、対象物である学習サンプルｘ1乃至ｘJの重み付き多数決の値F(x)の最小値が０を上回る場合には打ち切り閾値ＲMには０が設定される。なお、０を上回らないようにするのは、０を閾値にして判別を行うAdaBoostの場合であり、ここは集団学習の手法により異なる場合がありうる。AdaBoostの場合においては、打ち切り閾値ＲMは図１４の実線で示されるように、入力画像として対象物を入力した場合の全データＶ1乃至Ｖ4の重み付き多数決の値F(x)のうち、取りうる最小値に設定され、全てのデータＶ1乃至Ｖ4の重み付き多数決の値F(x)の最小値が０を超えた場合は、打ち切り閾値ＲMが０に設定される。
【００８９】
本実施の形態においては、弱判別器が生成される毎の打ち切り閾値ＲM（Ｒ1乃至ＲK）を学習しておくことで、後述する判別工程において、例えばデータＶ5のように、複数の弱判別器により推定値が逐次出力され、重み付き多数決の値が逐次更新されていくが、この値が上記打ち切り閾値ＲMを下まわった時点で、後段の弱判別器による判別の処理が終了され。すなわち、この打ち切り閾値ＲMを学習しておくことにより、弱判別器の推定値を計算する毎に次の弱判別器の計算を行うか否かを決定でき、明らかに対象物ではないと判断される場合には、全ての弱判別器の判別結果を待たずに非対象物であることが判定でき、演算を途中で打ち切りことで検出処理を高速化することができる。
【００９０】
（５）学習方法
次に、集団学習機６の学習方法について説明する。与えられたデータが、例えば顔か否かを判別する問題など、一般的な２クラス判別のパターン認識問題の前提として、予め人手によりラベリング（正解付け）された学習サンプルとなる画像（訓練データ）が用意される。学習サンプルは、検出したい対象物体の領域を切り出した画像群（ポジティブサンプル）と、全く関係のない、例えば風景画などを切り出したランダムな画像群（ネガティブサンプル）とからなる。
【００９１】
これらの学習サンプルを基に学習アルゴリズムを適用し、判別時に用いる学習データを生成する。判別時に用いる学習データとは、本実施の形態においては、上述した学習データを含む以下の４つの学習データである。すなわち、
（Ａ）２つのピクセル位置の組（Ｋ個）
（Ｂ）弱判別器の閾値（Ｋ個）
（Ｃ）重み付き多数決の重み（弱判別器の信頼度）（Ｋ個）
（Ｄ）打ち切り閾値（Ｋ個）
【００９２】
（５−１）判別器の生成
以下に、上述したような多数の学習サンプルから、上記（Ａ）乃至（Ｄ）に示す４種類の学習データを学習するアルゴリズムを説明する。
【００９３】
この学習処理を実施するため、集団学習機６は、図１５に示されるような機能的構成を有している。すなわち、集団学習機６は、初期化部１０１、選択部１０２、誤り率演算部１０３、信頼度演算部１０４、閾値演算部１０５、判定部１０６、削除部１０７、更新部１０８、および反映部１０９を有する。これらの各部は、図示はされていないが、相互に適宜データを授受することが可能とされる。
【００９４】
初期化部１０１は、学習サンプルのデータ重みを初期化する処理を実行する。選択部１０２は、弱判別器の選択処理を行う。誤り率演算部１０３は、重み付き誤り率ｅtを演算する。信頼度演算部１０４は、信頼度αtを演算する。閾値演算部１０５は、識別閾値ＲMと学習閾値ＲLを演算する。判定部１０６は、サンプル数が充分であるか否かを判定する。削除部１０７は、サンプル数が充分である場合に、ネガティブサンプル、すなわち、非対象物としてラベリングされた学習サンプルを削除する。更新部１０８は、学習サンプルのデータ重みＤtを更新する。反映部１０９は、学習処理の回数を管理する。
【００９５】
図１６は、集団学習機６の学習方法を示すフローチャートである。なお、ここでは、学習アルゴリズムとして、弱判別の際の閾値として一定の値を使用するアルゴリズム（AdaBoost）に従った学習について説明するが、閾値として正解の確からしさ（確率）を示す連続値を使用する例えばReal-AdaBoostなど、弱判別器を複数結合するために集団学習するものであれば、学習アルゴリズムはAdaBoostに限らない。
【００９６】
上述したように、最初に、予め対象物または非対象物であることがラベリングされたＮ個の学習サンプル（ｘi，ｙi）が用意される。
【００９７】
この学習サンプルは、例えば、図１７に示されるように、Ｎ個の画像とされ、１個の画像は、２４×２４画像で構成される。各学習サンプルは、人の顔の画像とされる。
【００９８】
なお、ｘi，ｙi，Ｘ，Ｙ，Ｎは、それぞれ次の意味を有する。
【００９９】
学習サンプル（ｘi，ｙi）：（ｘ1，ｙ1），・・・，（ｘN，ｙN）
ｘi∈Ｘ，ｙi∈{−１，１}
Ｘ：学習サンプルのデータ
Ｙ：学習サンプルのラベル（正解）
Ｎ：学習サンプル数
【０１００】
即ち、ｘiは、学習サンプル画像の全輝度値からなる特徴ベクトルを示す。また、ｙi＝−１は、学習サンプルが非対象物としてラベリングされている場合を意味し、ｙi＝１は、学習サンプルが対象物としてラベリングされていることを意味する。
【０１０１】
ステップＳ１において、初期化部１０１は、学習サンプルのデータ重みを初期化する。ブースティングにおいては、各学習サンプルの重み（データ重み）を異ならせ、判別が難しい学習サンプルに対するデータ重みが相対的に次第に大きくされる。判別結果は、弱判別器を評価する誤り率（エラー）の算出に使用されるが、判別結果にデータ重みを乗算することで、より難しい学習サンプルの判別を誤った弱判別器の評価が実際の判別率より下まわることになる。後述するステップＳ９でデータ重みは逐次更新されるが、先ず最初にこの学習サンプルのデータ重みの初期化が行われる。学習サンプルのデータ重みの初期化は、全学習サンプルの重みを一定にすることにより行われ、下記式（９）のように定義される。
【０１０２】
【数９】
2005284348.tif 000011
【０１０３】
学習サンプルのデータ重みＤ1,iは、繰り返し回数ｔ＝１回目の学習サンプルｘi（＝ｘ1乃至ｘN）のデータ重みを示す。Ｎは学習サンプル数である。
【０１０４】
選択部１０２は、ステップＳ２で、弱判別器の選択処理（生成）を行う。この選択処理の詳細については図２０を参照して後述するが、この処理により、ステップＳ２乃至Ｓ９までの１回の繰り返し処理毎に、１つの弱判別器が生成される。
【０１０５】
ステップＳ３において、誤り率演算部１０３は、重み付き誤り率ｅtを演算する。具体的には、ステップＳ２にて生成された弱判別器の重み付き誤り率ｅtが下記式（１０）により演算される。
【０１０６】
【数１０】
2005284348.tif 000012
【０１０７】
上記式（１０）に示されるように、重み付き誤り率ｅtは、学習サンプルのうち、弱判別器の判別結果が誤った（ｆt（ｘi）≠ｙi）学習サンプル（ｙi＝１とラベリングされた学習サンプルであって、ｆt（ｘi）＝−１と判定された学習サンプル、およびｙi＝−１とラベリングされた学習サンプルであって、ｆt（ｘi）＝１と判定された学習サンプル）のデータ重みのみを加算したものとなる。上述したように、データ重みＤt,iが大きい（判別が難しい）学習サンプルの判別を間違えると重み付き誤り率ｅtが大きくなる。なお、重み付き誤り率ｅtは０．５未満となるが、この理由は後述する。
【０１０８】
ステップＳ４において、信頼度演算部１０４は、弱判別器の信頼度αtを演算する。具体的には、上述の式（１０）に示す重み付き誤り率ｅtに基づき、重み付き多数決の重みである信頼度αtが、下記式（１１）により算出される。この、信頼度αtは、繰り返し回数ｔ回目に生成された弱判別器の信頼度を示す。
【０１０９】
【数１１】
2005284348.tif 000013
【０１１０】
上記式（１１）から明らかなように、重み付き誤り率ｅtが小さいほど、その弱判別器の信頼度αtが大きくなる。
【０１１１】
ステップＳ５において、閾値演算部１０５は、識別閾値ＲMを演算する。この識別閾値ＲMは、上述したように、判別工程にて判別を打ち切るための打ち切り閾値（基準値）である。この識別閾値ＲMは、上述の式（８）に従って、対象物である学習サンプル（ポジディブなサンプル）ｘ1乃至ｘJの重み付き多数決の値または０のうち、最も小さい値が選択される。なお、上述したように、最小値または０を打ち切り閾値に設定するのは、０を閾値にして判別を行うAdaBoostの場合である。いずれにせよ、打ち切り閾値ＲMは、少なくとも全てのポジティブなサンプルが通過できる最大の値となるよう設定される。
【０１１２】
次に、ステップＳ６において、閾値演算部１０５は、学習閾値ＲLを演算する。この学習閾値ＲLは、次の式（１２）に基づいて演算される。
【０１１３】
【数１２】
2005284348.tif 000014
【０１１４】
なお、上記式において、ｍは正の値であり、マージンを表す。すなわち、学習閾値ＲLは、識別閾値ＲMよりマージンｍだけ小さい値に設定される。
【０１１５】
次に、ステップＳ７において、判定部１０６は学習サンプル数が充分か否かを判定する。具体的には、ネガティブサンプルの数がポジティブサンプルの１／２以上である場合には、ネガティブサンプルの数は充分であると判定される。ネガティブサンプル数がポジティブサンプル数の１／２以上である場合には、ステップＳ８において、削除部１０７は、ネガティブサンプルを削除する。具体的には、式（７）で表される重み付け多数決の値F(x)が、ステップＳ６で演算された学習閾値ＲLより小さいネガティブサンプルが削除される。ステップＳ７において、ネガティブサンプルの数がポジティブサンプルの数の１／２未満であると判定された場合、ステップＳ８のネガティブサンプルを削除する処理はスキップされる。
【０１１６】
このことを、図１８を参照してさらに説明すると次のようになる。すなわち、図１８は、ある程度学習が進んだ場合における（ｔ回目の学習が行われた場合の）学習サンプル数（縦軸）に対する重み付き多数決の値F(x)の分布を表している。実線が、ポジティブサンプル（ｙi＝１にラベリングされた学習サンプル）の分布を表し、破線がネガティブサンプル（ｙi＝−１にラベリングされた学習サンプル）の分布を表している。後述する図２３の判別工程における処理（対象物検出処理）においては、重み付き多数決の値F(x)の値が、打ち切り閾値ＲMに重なった場合、その弱判別器による判別処理は以後中止される（後述する図２３のステップＳ６５）。
【０１１７】
学習時においても、この識別閾値ＲMを基準にして、重み付き多数決F(x)の値が、識別閾値ＲMより小さくなった場合には、ネガティブサンプルの一部を削除することが可能である。
【０１１８】
すなわち、判別工程においては、図１８に示されるように、ネガティブサンプルのうち、重み付き多数決の値F(x)が識別閾値ＲMより小さい領域Ｒ１のサンプルは、実質的に判断対象から削除される（リジェクトされる）。
【０１１９】
このように、識別時に判断対象から削除（リジェクト）されるサンプルを、学習時においても、削除（リジェクト）することで、重み付き誤り率ｅtを無くすように学習することが可能である。しかしながら、サンプル数を減らしてしまうと統計学習の性質上、弱判別器の汎化能力（１データに対する識別能力）が低下してしまうことが知られている。また、ブースティング学習は、学習サンプルの重み付き誤り率ｅtが０になっても学習を続けることで、さらに汎化性能を向上させることが期待できることが知られている。この場合、全てのネガティブサンプルは、識別閾値ＲMより小さくなっているので、ネガティブサンプルがなくなってしまうか、あるいはネガティブサンプルがなくなってしまわないにしても、ポジティブサンプルとネガティブサンプルの数に隔たりがあると、弱判別器の出力が隔たりやすくなることがある。
【０１２０】
そこで、本実施の形態においては、判別工程における識別閾値ＲMから一定のマージンｍを減算した学習閾値ＲLを設定することで、極端な出力をする一部の学習サンプルを少しずつ減少させていき、汎化性を保持しつつ、学習を早く収束させることが可能となる。
【０１２１】
従って、ステップＳ８の処理では、重み付き多数決F(x)が演算され、ネガティブサンプルのうち、図１８における学習閾値ＲLより、重み付き多数決F(x)の値が小さい領域Ｒ2のネガティブサンプルが削除される。
【０１２２】
ステップＳ９において、更新部１０８は、学習サンプルのデータ重みＤt,iを更新する。すなわち、上記式（１１）にて得られた信頼度αtを使用して、下記式（１３）により学習サンプルのデータ重みＤt,iが更新される。データ重みＤt,iは、通常全部足し合わせると１になるよう正規化する必要がある。そこでデータ重みＤt,iは、式（１４）に示されるように正規化される。
【０１２３】
【数１３】
2005284348.tif 000015
【０１２４】
そして、ステップＳ１０において、反映部１０９は、所定回数Ｋの学習が終了したか（ブースティングＫ回が行われたか）否かを判定し、まだＫ回行われていない場合は、処理をステップＳ２に戻し、それ以降の処理を繰り返す。
【０１２５】
Ｋは、１個の学習サンプルの画素データから、２個の画素データを抽出することが可能な組合せの数を表す。例えば、１個の学習サンプルが２４×２４画素で構成されている場合、Ｋは242×（242−1）＝576×575＝331200となる。
【０１２６】
１組の画素の組合せに対して１個の弱判別器が構成されるため、ステップＳ２乃至ステップＳ９の処理を１回行うことで、１個の弱判別器が生成される。従って、ステップＳ２乃至ステップＳ９の処理をＫ回繰り返すことで、Ｋ個の弱判別器が生成される（学習される）ことになる。
【０１２７】
Ｋ回の学習が終了した場合、学習処理は終了される。
【０１２８】
（５−２）弱判別器の生成
次に、上述したステップＳ２における弱判別器の選択処理（生成方法）について説明する。弱判別器の生成は、弱判別器が２値出力の場合と、上記式（６）に示す関数f(x)として連続値を出力する場合とで異なる。また、２値出力の場合においても、上記式（３）に示されるように１つの閾値Th1で判別する場合と、式（４）または式（５）に示されるように、２つの閾値Th11，Th12，Th21，Th22で判別する場合とで処理が若干異なる。ここでは、１つの閾値Th1で２値出力する弱判別器の学習方法（生成方法）を説明する。
【０１２９】
このため、選択部１０２は、図１９に示されるように、決定部１２１、頻度分布算出部１２２、閾値設定部１２３、弱仮説演算部１２４、重み付き誤り率演算部１２５、判定部１２６、および選定部１２７により構成される。
【０１３０】
決定部１２１は、入力された学習サンプルから、２個の画素をランダムに決定する。頻度分布算出部１２２は、決定部１２１により決定された画素に関するピクセル間差分特徴ｄを収集し、その頻度分布を算出する。閾値設定部１２３は、弱判別器の閾値を設定する。弱仮説演算部１２４は、弱判別器による弱仮説の演算を行い、その判別結果f(x)を出力する。
【０１３１】
重み付き誤り率演算部１２５は、式（１０）に示される重み付き誤り率ｅtを演算する。判定部１２６は、弱判別器の閾値Thと最大のピクセル間差分特徴ｄとの大小関係を判定する。選定部１２７は、最小の重み付き誤り率ｅtに対応する閾値Thに対応する弱判別器を選定する。
【０１３２】
図２０は、１つの閾値Th1で２値出力するステップＳ２の弱判別器の学習方法（生成方法）のフローチャートである。
【０１３３】
ステップＳ３１において、決定部１２１は、１つの学習サンプル（２４×２４画素）中の２つの画素の位置Ｓ１，Ｓ２をランダムに決定する。２４×２４画素の学習サンプルを使用する場合、２つの画素の選択方法は、576×575通りあるが、そのうちの１つが選択される。ここで、２つの画素の位置をＳ１，Ｓ２，その輝度値をそれぞれＩ1，Ｉ2とする。
【０１３４】
ステップＳ３２において、頻度分布算出部１２２は、すべての学習サンプルに対してピクセル間差分特徴を求め、その頻度分布を算出する。すなわち、全ての（Ｎ個の）学習サンプルに対して、ステップＳ３１にて選択した２つの位置Ｓ１，Ｓ２の画素の輝度値Ｉ1，Ｉ2の差（Ｉ1−Ｉ2）であるピクセル間差分特徴ｄが求められ、図１１Ａに示されているようなヒストグラム（頻度分布）が算出される。
【０１３５】
ステップＳ３３において、閾値設定部１２３は、最小のピクセル間差分特徴ｄより小さい閾値Thを設定する。例えば、図２１に示されるように、ピクセル間差分特徴ｄの値が、ｄ１乃至ｄ９に分布する場合、最小のピクセル間差分特徴ｄの値はｄ１となる。従って、このピクセル間差分特徴ｄ１より小さい閾値Th31がここで閾値Thとして設定される。
【０１３６】
次に、ステップＳ３４において、弱仮説演算部１２４は、弱仮説として次式を演算する。なお、sign(Ａ)は、値Ａが正のとき＋１、負のとき−１を出力する関数である。
【０１３７】
f(x)＝sign（ｄ−Th）          ・・・（１５）
【０１３８】
今の場合、Th＝Th31であるため、ピクセル間差分特徴ｄの値がｄ１乃至ｄ９のいずれであっても、ｄ−Thの値は正となる。従って、式（１５）で表される弱仮説の判別結果f(x)は、＋１となる。
【０１３９】
ステップＳ３５において、重み付き誤り率演算部１２５は、重み付き誤り率ｅt１，ｅt２を演算する。重み付き誤り率ｅt１とｅt２とは、次の関係にある。
【０１４０】
ｅt２＝１−ｅt１              ・・・・・（１６）
【０１４１】
重み付き誤り率ｅt１は、式（１０）により求められる値である。重み付き誤り率ｅt１は、位置Ｓ１，Ｓ２の画素値をそれぞれＩ１，Ｉ２とした場合の重み付き誤り率である。これに対して、重み付き誤り率ｅt２は、位置Ｓ１の画素値をＩ２とし、位置Ｓ２の画素値をＩ１とした場合の重み付き誤り率である。すなわち、第１の位置を位置Ｓ１とし、第２の位置を位置Ｓ２とする組合せは、第１の位置を位置Ｓ２とし、第２の位置を位置Ｓ１とする組合せとは異なる組合せとなる。しかしながら、両者の重み付き誤り率ｅtの値は、上記した式（１６）の関係にある。そこで、ステップＳ３５の処理において、２つの組合せの重み付き誤り率ｅtを同時にまとめて演算するのである。これにより、仮にそのようにしなければ、ステップＳ３１乃至ステップＳ４１の処理を、ステップＳ４１において学習サンプルの画素の中から２個の画素を抽出する全組合せの数分（Ｋ回）繰り返したと判定されるまで繰り返すことが必要になるのであるが、ステップＳ３５で、２つの重み付き誤り率ｅt１，ｅt２を演算しておくことで、その繰り返し回数を全組合せ回数Ｋの１／２とすることができる。
【０１４２】
そこで、ステップＳ３６において、重み付き誤り率演算部１２５は、ステップＳ３５の処理で演算した重み付き誤り率ｅt１とｅt２のうち、小さい方を選択する。
【０１４３】
ステップＳ３７において、判定部１２６は、閾値が最大のピクセル間差分特徴より大きいか否かを判定する。すなわち、いま設定されている閾値Thが、最大のピクセル間差分特徴ｄ（例えば、図２１に示されている例の場合、ｄ９）より大きいか否かを判定する。いまの場合、閾値Thは、図２１における閾値Th31であるので、最大のピクセル間差分特徴ｄ９より小さいと判定され、処理はステップＳ３８に進む。
【０１４４】
ステップＳ３８において、閾値設定部１２３は、現在の閾値に最も近い次の大きさのピクセル間差分特徴と、さらにその次の大きさのピクセル間差分特徴の中間の大きさの閾値Thを設定する。いまの場合、図２１の例において、現在の閾値Th31に最も近い次の大きさのピクセル間差分特徴ｄ１と、さらに次の大きさのピクセル間差分特徴ｄ２の中間の値の閾値Th32が設定される。
【０１４５】
その後、処理はステップＳ３４に戻り、弱仮説演算部１２４は、上記した式（１５）に従って、弱仮説の判定出力f(x)を演算する。この場合、図２１に示されるように、ピクセル間差分特徴ｄの値がｄ２乃至ｄ９のとき、f(x)の値は＋１となり、ｄ１のときは−１となる。
【０１４６】
ステップＳ３５において、式（１０）に従って、重み付き誤り率ｅt１が演算され、式（１６）に従って重み付き誤り率ｅt２が演算される。そして、ステップＳ３６において、重み付き誤り率ｅt１とｅt２のうち、小さい方が選択される。
【０１４７】
ステップＳ３７において、再び閾値が最大のピクセル間差分特徴より大きいか否かが判定される。いまの場合、閾値Th32は、最大のピクセル間差分特徴ｄ９より小さいので、処理はステップＳ３８に進み、閾値Thは、ピクセル間差分特徴ｄ２とｄ３の間の閾値Th33に設定される。
【０１４８】
以上のようにして、閾値Thが順次大きい値に更新される。ステップＳ３４においては、閾値Thが、例えば、ピクセル間差分特徴ｄ３とｄ４の間のTh34である場合には、ピクセル間差分特徴ｄの値がｄ４以上である場合には＋１、ｄ３以下である場合には−１となる。以下同様に、ピクセル間差分特徴ｄの値が閾値Thi以上である場合には、弱仮説の判別結果f(x)の値が＋１となり、閾値Thi以下である場合には−１となる。
【０１４９】
以上の処理が、ステップＳ３７において、閾値Thが最大のピクセル間差分特徴より大きいと判定されるまで繰り返し実行される。図２１の例においては、閾値が最大のピクセル間差分特徴ｄ９より大きい値Th40となるまで繰り返される。すなわち、ステップＳ３４乃至ステップＳ３８の処理を繰り返し実行することで、１つの画素の組合せを選択した場合における、各閾値Thを設定したときの重み付き誤り率ｅtが求められることになる。そこで、ステップＳ３９において、選択部１２７は、それまでに求めた重み付き誤り率ｅtの中から、最小の重み付き誤り率を求める。そして、ステップＳ４０において、選定部１２７は、最小の重み付き誤り率に対応する閾値を現在の弱仮説の閾値とする。すなわち、ステップＳ３９で選定された最小の重み付き誤り率ｅtが得られる閾値Thiが、その弱判別器（１組の画素の組合せにより生成される弱判別器）の閾値とされる。
【０１５０】
ステップＳ４１において、判定部１２６は、処理を全組合せ分繰り返したか否かを判定する。全組合せ分の処理がまだ実行されていない場合には、処理はステップＳ３１に戻り、それ以降の処理が繰り返し実行される。すなわち、２４×２４個の画素の中から、再び２つの画素の位置Ｓ１，Ｓ２（但し、前回とは異なる位置）がランダムに決定され、その位置Ｓ１，Ｓ２の画素Ｉ１，Ｉ２に関して同様の処理が実行される。
【０１５１】
以上の処理は、ステップＳ４１において、学習サンプルから２個の画素を抽出可能な全組合せの数分（Ｋ回）繰り返されたと判定されるまで繰り返し実行される。ただし、上述したように、この実施の形態においては、ステップＳ３５において、位置Ｓ１，Ｓ２が逆の場合における処理を実質的に実行しているため、ステップＳ４１における処理は、全組合せの数Ｋの１／２でよいことになる。
【０１５２】
ステップＳ４１において、全ての組合せの処理が完了したと判定された場合、ステップＳ４２において、選定部１２７は、生成した弱判別器の中で最も重み付き誤り率の小さいものを選択する。すなわち、これにより、Ｋ個の弱判別器のうちの１つの弱判別器（例えば、図９の弱判別器２１1）が学習され、生成されたことになる。
【０１５３】
その後、処理は図１６のステップＳ２に戻り、ステップＳ３以降の処理が実行される。そして、ステップＳ１０において、Ｋ回の学習が終了したと判定されるまで、図１６の処理が繰り返し実行されることになる。すなわち、図１６の２回目の処理で、図９の弱判別器２１2の生成学習が行れ、３回目の処理で弱判別器２１3の生成学習が行われる。そして、Ｋ回目の処理で、弱判別器２１Kの生成学習が行われることになる。
【０１５４】
なお、本実施の形態においては、前回の繰り返し処理においてステップＳ９にて求めたデータ重みＤt,iを使用し、複数の弱判別器の特徴量を学習し、これらの弱判別器（弱判別器候補）の中から上記式（１０）に示す重み付き誤り率ｅtが最も小さいものを選択することで、１つの弱判別器を生成する場合について説明したが、上述のステップＳ２において、例えば予め用意または学習した複数の画素位置から任意の画素位置を選択して弱判別器を生成するようにしてもよい。また、上述のステップＳ２乃至ステップＳ９までの繰り返し処理に使用する学習サンプルとは異なる学習サンプルを使用して弱判別器を生成してもよい。さらに、cross-validation（交差検定）法またはjack-knife法の評価のように、学習サンプルとは別のサンプルを用意して、生成された弱判別器や判別器の評価を行うようにしてもよい。交差検定とは、学習サンプルを均等にＩ個に分割し、その中から１つ以外を使用して学習を行い、当該１つを使用して学習結果を評価する作業をＩ回繰り返して学習結果の評価を行う手法である。
【０１５５】
一方、上記式（４）または式（５）に示されるように、弱判別器が２つの閾値Th11，Th12，Th21，Th22を有するような場合、図２０に示すステップＳ３４乃至ステップＳ３８の処理が若干異なる。上記式（３）に示されるように、閾値Thが１つの場合は、１から減算することにより、重み付き誤り率ｅtを演算することができたが、式（４）に示されるように、ピクセル間差分特徴が閾値Th12より大きく、かつ閾値Th11より小さい場合が正解の判別結果であるとき、これを１から減算すると、式（５）に示されるように、閾値Th22より小さいか、閾値Th21より大きい場合が正解の判別結果になる。即ち、式（４）の反転は式（５）となり、式（５）の反転は式（４）となる。
【０１５６】
弱判別器が２つの閾値Th11，Th12，Th21，Th22を有して判別結果を出力するような場合は、図２０に示すステップＳ３２において、ピクセル間差分特徴における頻度分布が求められ、重み付き誤り率ｅtを最小にする閾値Th11，Th12，Th21，Th22が求められる。そして、ステップＳ４１で所定回数繰り返されたか否かが判定され、所定回数繰り返され、生成された弱判別器の中で最も誤り率が小さい弱判別器が採用される。
【０１５７】
また、上記式（６）に示されるように、連続値を出力する弱判別器の場合、図２０のステップＳ３１と同様、先ず２つの画素がランダムに選択される。そして、ステップＳ３２と同様、全学習サンプルにおける頻度分布が求められる。さらに、得られた頻度分布に基づき上記式（６）に示す関数f(x)が求められる。そして、弱判別器の出力として対象物である度合い（正解である度合い）を出力するような所定の学習アルゴリズムに従って誤り率を算出するという一連の処理を所定回数繰り返し、最も誤り率が小さい（正答率が高い）パラメータを選択することで弱判別器が生成される。
【０１５８】
図２０の弱判別器の生成において、例えば２４×２４画素の学習サンプルを使用する場合、２つの画素の選択方法は、331200（＝576×575）通りあり、最大331200回、上記繰り返し処理を行った中で最も誤り率が小さいものを弱判別器として採用することができる。このように、繰り返し回数の最大数繰り返す、即ち生成し得る最大数の弱判別器を生成し、それらの中から最も誤り率が小さいものを弱判別器として採用すると性能が高い弱判別器を生成することができるが、最大回数未満の例えば数百回繰り返し処理を行って、その中から最も誤り率が小さいものを採用してもよい。
【０１５９】
（６）対象物検出方法
次に、図５に示す対象物検出装置１の対象物検出方法について説明する。
【０１６０】
この処理を行うため、判別器５は、図２２に示されるように、特徴算出部２０１、評価部２０２、判定部２０３、抽出部２０４、および選択部２０５により構成される。
【０１６１】
特徴算出部２０１は、ピクセル間差分特徴を算出する。評価部２０２は、式（７）で示される重み付き多数決F(x)を評価値ｓとして演算する。判定部２０３は、評価部２０２が演算した評価値ｓと識別閾値ＲMを比較することで、その弱判別器による判定処理を中止するか否かを判定する。
【０１６２】
抽出部２０４は、対象物領域が重複する場合、互いに重複する２つの抽出領域を抽出する。選択部２０５は、抽出部２０４により抽出された領域から、評価値ｓが大きい方の領域を選択する。
【０１６３】
検出時（判別工程）においては、上述のようにして学習工程で生成された弱判別器群を利用した判別器５を使用し、所定のアルゴリズムに従って画像中から対象物体を検出する。この処理が図２３のフローチャートに示されている。
【０１６４】
ステップＳ６１において、スケーリング部３は、画像出力部２より入力された濃淡画像を所定の割合で縮小スケーリングする処理を実行する。
【０１６５】
画像出力部２には、入力画像として濃淡画像が直接入力されてもよく、また画像出力部２にてカラーの入力画像を濃淡画像に変換してもよい。スケーリング部３は、当初、画像出力部２から与えられた画像をスケール変換せずにそのまま出力し、次のタイミング以降で縮小スケーリングしたスケーリング画像を出力するが、便宜上、スケーリング部３から出力する画像は全てスケーリング画像という。スケーリング画像が生成されるタイミングは、前に出力されたスケーリング画像の全領域の顔検出が終了した時点であり、スケーリング画像がウィンドウ画像より小さくなった時点で、次のフレームの入力画像の処理が開始される。
【０１６６】
ステップＳ６２において、走査部４は、探索ウィンドウを走査し、画像を切り出す処理を実行する。すなわち、走査部４は、スケーリングされた画像上で探索ウィンドウを所定の位置に配置し、そのウィンドウ内の画像をウィンドウ画像として切り出し、判別器５に出力する。
【０１６７】
ステップＳ６３において、判別器５の特徴算出部２０１は、切り出されたウィンドウ画像（２４×２４画素の画像）からＫ個の弱判別器のうちの最初の弱判別器の２個の画素を抽出し、そのピクセル間差分特徴ｄを算出する、
【０１６８】
ステップＳ６４において、評価部２０２は、現在の弱判別器の推定値に信頼度を乗算し、これまでの評価を加算して評価値ｓを更新する。すなわち、評価部２０２は、最初にその評価値ｓを０に初期化する。そして、式（１５）に基づいて演算された弱判別器２１1の判別結果としての推定値f(x)を演算し、評価値ｓの推定値f(x)を式（７）に基づいて、重みαtで重み付けし、重み付け多数決の値F(x)を評価値ｓとして演算する。
【０１６９】
ここで、上述した式（３）乃至（５）により、２値の推定値を出力する弱判別器と、式（６）に示す関数f(x)を推定値として出力する弱判別器とでは、その推定値の評価値ｓへの反映の仕方が異なる。
【０１７０】
先ず、上記式（２）を弱判別器に利用し、２値の値を推定値として出力する場合、評価
値ｓは下記式（１７）のようになる。
【０１７１】
【数１４】
2005284348.tif 000016
【０１７２】
すなわち、弱判別器の判別結果ft(x)の値は、ピクセル間差分特徴ｄの値が閾値Thtより大きい場合には＋１、そうでない、その他の場合には−１となる。その結果、推定値ft(x)と重みαtを乗算した値は、ピクセル間差分特徴ｄの値が閾値より大きい場合には、αtとなり、その他の場合には、−αtとなる。そこで、これらの値が式（７）に従って、それまでの評価値ｓに加算され、式（７）に従った重み付き多数決の値F(x)である評価値ｓが更新される。
【０１７３】
また、上記式（３）を弱判別器に利用し、２値の値を推定値として出力する場合、評価値ｓは下記式（１８）のようになる。
【０１７４】
【数１５】
2005284348.tif 000017
【０１７５】
また、上記式（４）を弱判別器に利用し、２値の値を推定値として出力する場合、評価値ｓは下記式（１９）のようになる。
【０１７６】
【数１６】
2005284348.tif 000018
【０１７７】
さらに、上記式（５）を弱判別器に利用し、関数ｆを推定値として出力する場合、評価値ｓは下記式（２０）のようになる。
【０１７８】
【数１７】
2005284348.tif 000019
【０１７９】
ステップＳ６５において、判定部２０３は、評価値ｓと打ち切り閾値ＲMとを比較し、評価値ｓが打ち切り閾値ＲMより大きいか否かを判定する。ステップＳ６４の処理で更新された評価値ｓが打ち切り閾値ＲMより大きい場合には、ステップＳ６６で、判定部２０３は、処理をＫ回繰り返したか否かを判定する。繰り返し回数がまだＫ回に達していない場合、処理はステップＳ６３に戻り、特徴算出部２０１により選択された次の弱判別器２１2の画素に関するピクセル間差分特徴ｄが算出される。そして、ステップＳ６４で、弱判別器２１2の推定値f(x)に信頼度αtを乗算し、評価値ｓが更新される。
【０１８０】
ステップＳ６５において、その評価値ｓが再び打ち切り閾値ＲMより大きいか否かが判定され、大きい場合、繰り返し回数がまだＫ回に達していなければ、処理はステップＳ６６から再びステップＳ６３に戻り、同様の処理が繰り返し実行される。ステップＳ６３乃至ステップＳ６５の処理がＫ回繰り返された場合、結局、図９の弱判別器２１1から弱判別器２１Kまでの判別が行われたことになり、いずれも各弱判別器２１iは、この探索ウィンドウの画像は人の顔であると判定したことになる。
【０１８１】
これに対して、ステップＳ６５において、評価値ｓの値が打ち切り閾値ＲM以下であると判定された場合、上述したように、この探索ウィンドウの画像は人の顔の画像ではないということになる。そこで、この場合には、ステップＳ６６の処理はスキップされ、弱判別器２１i+1以降の処理は実行されないことになる。これにより、より迅速な処理が可能となる。
【０１８２】
処理がＫ回繰り返されたか、または、評価値ｓが打ち切り閾値ＲM以下になった場合、ステップＳ６７において、判定部２０３は、次の探索ウィンドウがあるか否かを判定する。次の探索ウィンドウがある場合には、処理はステップＳ６２に戻り、走査部４は、現在のスケーリングの画像の探索ウィンドウを１画素分右方向に移動し、その画像を切り出して判別器５に出力する。そして、判別器５は、ステップＳ６３乃至ステップＳ６６の処理を繰り返し実行することで、そのウィンドウ画像が人の顔の画像であるか否かを判定する。
【０１８３】
以上のようにして、探索ウィンドウが、図７に示されるように、右下方向に順次１画素分ずつずらされ、各探索ウィンドウの画像が人の顔の画像であるか否かが判定され、探索ウィンドウの位置がスケーリング画像の右下の位置まで移動したとき、ステップＳ６７において、次の探索ウィンドウが存在しないと判定され、処理はステップＳ６８に進む。
【０１８４】
ステップＳ６８において、スケーリング部３は、次のスケーリング画像があるか否かを判定する。次のスケーリング画像がある場合には、ステップＳ６１において、スケーリング部３は、さらに、縮小率を上げた（より縮小された）スケーリング画像を生成し、走査部４に出力する。そして、そのスケーリング画像について、上述した場合と同様の処理が実行される。
【０１８５】
以上の処理が、ステップＳ６８において、次のスケーリング画像が存在しないと判定されるまで繰り返し実行される。すなわち、スケーリング画像がウィンドウ画像より小さくなるまで上述した処理が繰り返し実行される。
【０１８６】
上述したように、探索ウィンドウは、１画素分ずつ右下方向に順次移動される。従って、例えば、１つの探索ウィンドウの画像が人の顔であると判定された場合、その探索ウィンドウを１画素分右方向または下方向にずらしたウィンドウの画像も、多くの場合、人の顔の画像と判定される。このようなことから、同一の顔の画像が、複数のウィンドウ画像で、人の顔の画像であるとして検出されることになる。そこで、全てのスケーリング画像の処理が終了した場合、探索ウィンドウの重なりを削除する処理が実行される。
【０１８７】
このため、ステップＳ６９において、判定部２０３は、２つ以上の対象物領域が重複するか否かを判定する。２つ以上の対象物領域が重複する場合には、ステップＳ７０において、抽出部２０４は、互いに重複する２つの領域を抽出する処理を実行する。例えば、１つの探索ウィンドウの画像が対象物領域で得られたと判定された場合、１画素分右方向にずれた探索ウィンドウの画像も人の顔の画像であると判定されるため、この２つのウィンドウの領域が抽出される。ステップＳ７１において、選択部２０５は、ステップＳ７０で抽出された２つの領域のうち、評価値ｓが大きい方の領域を選択する。
【０１８８】
その後、処理はステップＳ６９に戻り、それ以降の処理が繰り返し実行される。
【０１８９】
以上のようにして、評価値ｓが小さい領域は信頼度が低いとみなして無視し、最も評価値ｓが高い領域が選択される。以上の処理は、ステップＳ６９において、２つ以上の対象物領域が重複しないと判定されるまで繰り返され、重複しないと判定された場合、そのフレームにおける処理は終了される。そして、必要に応じてさらに次のフレームの処理が実行される。
【０１９０】
このように、本実施の形態における対象物検出方法によれば、ピクセル間差分特徴により弱判別する弱判別器を集団学習により学習した判別器を使用して対象物を検出するため、ウィンドウ画像において、対応する２つの画素の輝度値を読出し、その差を算出するのみで、上記ステップＳ６３における対象物の特徴量の算出工程が終了する。このため極めて高速に顔検出処理することができるため、リアルタイムな顔検出が可能である。
【０１９１】
また、その特徴量から判別した判別結果（推定値）と判別に使用した弱判別器に対する信頼度とを乗算した値を加算して評価値ｓを逐次更新する毎に打ち切り閾値ＲMと比較し、弱判別器の推定値の演算を続けるか否かが判定される。そして、打ち切り閾値ＲMを評価値ｓが下まわった場合に弱判別器の演算を打ち切り、次のウィンドウ画像の処理に移ることにより、無駄な演算を飛躍的に低減して更に高速に顔検出が可能となる。
【０１９２】
すなわち、入力画像およびそれを縮小スケーリングしたスケーリング画像の全ての領域を走査してウィンドウ画像を切り出した場合、それらのウィンドウ画像のうち対象物である確率は小さく、ほとんどが非対象物である。この非対象物であるウィンドウ画像の判別を途中で打ち切ることで、判別工程を極めて高効率化することができる。なお、逆に検出すべき対象物が多数含まれるような場合、上述した打ち切り閾値と同様の手法にて、対象物であることが明らかとなったウィンドウ画像の演算を途中で打ち切るような閾値も設けてもよい。更に、入力画像をスケーリング部にてスケーリングすることで、任意の大きさの探索ウィンドウを設定し、任意の大きさの対象物を検出することができる。
【０１９３】
図２３のステップＳ６３乃至ステップＳ６６においては、実質的に図２４に示される打ち切り閾値による処理が実行されていることになる。すなわち、ステップＳ１０１において、評価値ｓに０が初期設定され、ステップＳ１０２において、繰り返し回数を表す変数ｔに１が初期設定される。そして、ステップＳ１０３において、ピクセル間差分特徴量ｄが取得される（d_t(x)がｄに設定される）。ステップＳ１０４において、評価値ｓを更新する処理が実行される。この更新は次の式により行われる。
【０１９４】
ｓ＝ｓ＋（ｄ＞０）・αt        ・・・・・・・・・・・・（２１）
【０１９５】
上記式における関数（ｄ＞０）は、ｄの値が０より大きければ＋１、０以下であれば−１を出力する。
【０１９６】
ステップＳ１０５において、ステップＳ１０４で得られた評価値ｓが、打ち切り閾値ＲMより大きいか否かが判定される。評価値ｓが打ち切り閾値ＲMより大きい場合には、ステップＳ１０６において、変数ｔがＫと等しいか否かが判定され、等しくない場合には、ステップＳ１０７において、変数ｔが１だけインクリメントされ、処理は再びステップＳ１０３に戻り、それ以降の処理が繰り返し実行される。
【０１９７】
ステップＳ１０５において、評価値ｓが打ち切り閾値ＲM以下であると判定された場合には、ステップＳ１０６の処理はスキップされる。
【０１９８】
この処理では、弱化説の判定が負であった場合には、弱化説の出力を加えずに、判定が正であったときだけ、結果に重みを加えて足しこむようにする。このため、ステップＳ１０５における打ち切り閾値ＲMは、式（２２）で演算される。
【０１９９】
【数１８】
2005284348.tif 000020
【０２００】
このようにすることで、ステップＳ１０４の処理を分岐を用いずに行うことが可能となる。その結果、迅速な処理が可能となる。
【０２０１】
図２４の処理をコードを用いて表現すると、図２５に示されるようになる。
【０２０２】
比較の為に、図２４のステップＳ１０４の打ち切り閾値による処理を分岐を含む処理で表現すると、図２６のフローチャートで示されるようになる。
【０２０３】
すなわち、図２６のステップＳ１３１乃至ステップＳ１３３の処理は、図２４のステップＳ１０１乃至ステップＳ１０３の処理に対応し、図２６のステップＳ１３７乃至ステップＳ１３９の処理は、図２４のステップＳ１０５乃至ステップＳ１０７の処理に対応する。そして、図２６のステップＳ１３４乃至ステップＳ１３６の処理が、図２４のステップＳ１０４の処理に対応する。
【０２０４】
ステップＳ１３４においては、ステップＳ１３３で取得されたｄの値が、正であるか否かが判定される。ピクセル間差分特徴ｄの値が正である場合には、ステップＳ１３５において、次式に従って評価値ｓが更新される。
【０２０５】
ｓ＝ｓ＋αt・ｄ      ・・・・（２３）
【０２０６】
これに対して、ステップＳ１４４において、ピクセル間差分特徴ｄの値が０以下であると判定された場合には、ステップＳ１３６において、次式に従って評価値ｓが更新される。
【０２０７】
ｓ＝ｓ−αt・ｄ      ・・・・（２４）
【０２０８】
この図２６の処理をコードで表すと、図２７に示されるようになる。
【０２０９】
このような分岐を含む処理が含まれていると、その処理が遅くなる。そこで、図２４および図２５に示されるような処理を行うことが好ましい。
【０２１０】
なお、この図２４のステップＳ１０４の評価値ｓの演算処理は、学習時における図１６のステップＳ８のネガティブサンプルを削除する処理で、式（７）の演算を行う場合においても同様に適用することができる。
【０２１１】
さらに、図２４の処理は図２８のフローチャートに示されるように、重み付き多数決の値F(x)の演算を、４個のピクセル間差分特徴について、並列処理するようにすることができる。
【０２１２】
すなわち、この処理では、ステップＳ２０１において、評価値ｓが０に初期設定され、ステップＳ２０２において、繰り返し回数を表す変数ｔに１が初期設定される。
【０２１３】
そして、ステップＳ２０３，Ｓ２０７，Ｓ２１１，Ｓ２１５において、それぞれピクセル間差分特徴ｄ１，ｄ２，ｄ３，ｄ４に、取得された値d_t(x)が、それぞれ設定される。
【０２１４】
ステップＳ２０４，Ｓ２０８，Ｓ２１２，Ｓ２１６において、ピクセル間差分特徴ｄ１が正であれば、その値が変数ｃ１に設定され、ピクセル間差分特徴ｄ２が正であれば、その値が変数ｃ２に設定され、ピクセル間差分特徴ｄ３が正であれば、その値が変数ｃ３に設定され、ピクセル間差分特徴ｄ４が正であれば、その値が変数ｃ４に設定される。
【０２１５】
そして、ステップＳ２０５，Ｓ２０９，Ｓ２１３，Ｓ２１７において、重みα1とステップＳ２０３で取得されたピクセル間差分特徴ｄ１との積が変数ｍ１に、重みα2にステップＳ２０７で取得されたピクセル間差分特徴ｄ２との積が変数ｍ２に、重みα3とステップＳ２１１で取得されたピクセル間差分特徴ｄ３との積が変数ｍ３に、そして、重みα4とステップＳ２１５で取得されたピクセル間差分特徴ｄ４との積が変数ｍ４に、それぞれ設定される。
【０２１６】
さらに、ステップＳ２０６，Ｓ２１０，Ｓ２１４，Ｓ２１８において、ステップＳ２０４で得られた変数ｃ１とステップＳ２０５で得られた変数ｍ１との論理積が変数ａ１に、ステップＳ２０８で得られた変数ｃ２と、ステップＳ２０９で得られた変数ｍ２の論理積が変数ａ２に、ステップＳ２１２で得られた変数ｃ３と、ステップＳ２１３で得られたｍ３との論理積が変数ａ３に、またステップＳ２１６で得られた変数ｃ４と、ステップＳ２１７の処理で得られた変数ｍ４との論理積が変数ａ４に、それぞれ設定される。
【０２１７】
そして、ステップＳ２１９において、評価値ｓがステップＳ２０６，Ｓ２１０，Ｓ２１４，Ｓ２１８で得られた変数ａ１，ａ２，ａ３，ａ４と加算され、更新される。
【０２１８】
ステップＳ２２０において、変数ｓが打ち切り閾値Ｒt（ｔ＋３）より小さいか否かが判定され、小さくない場合には、ステップＳ２２１において、変数ｔ＋３の値がＫ以下であるか否かが判定される。ｔ＋３の値が、Ｋ以下でない場合には、ステップＳ２２２において、ｔの値が４だけインクリメントされ、処理は、ステップＳ２０３，Ｓ２０７，Ｓ２１１，Ｓ２１５に戻り、それ以降の処理が繰り返し実行される。
【０２１９】
ステップＳ２２０において、評価値ｓが打ち切り閾値Ｒt（ｔ＋３）より小さいと判定された場合には、ステップＳ２２１の処理はスキップされ、処理は終了される。
【０２２０】
このように、この処理において、ステップＳ２０３乃至ステップＳ２０６の処理、ステップＳ２０７乃至ステップＳ２１０の処理、ステップＳ２１１乃至ステップＳ２１４の処理、並びにステップＳ２１５乃至ステップＳ２１８の処理が、例えば、SIMD（Single Instruction Multiple Data）命令などにより並列処理される。
【０２２１】
これにより、より迅速な処理が可能となる。
【０２２２】
図２８の処理の具体的な値の例が、図２９に模式的に示されている。
【０２２３】
図２９Ａは、ステップＳ２０４，Ｓ２０８，Ｓ２１２，Ｓ２１６の処理を表している。すなわち、ピクセル間差分特徴ｄ１乃至ｄ４が０と比較され、０より大きければ0xffffとされ、０以下であれば０とされる。これらの値がｃ１乃至ｃ４の値となる。
【０２２４】
図２９Ｂは、ステップＳ２０５，Ｓ２０９，Ｓ２１３，Ｓ２１７の処理を表している。重みα1乃至α4と、ピクセル間差分ｄ１乃至ｄ４がそれぞれ乗算され、α1×ｄ１，α2×ｄ２，α3×ｄ３，α4×ｄ４が得られる。これらの値が、ｍ１乃至ｍ４の値となる。
【０２２５】
図２９Ｃは、ステップＳ２０６，Ｓ２１０，Ｓ２１４，Ｓ２１８の処理を表している。α1×ｄ１と0xffffとの論理積、α2×ｄ２と０との論理積、α3×ｄ３と０の論理積、並びにα4×ｄ４と0xffffとの論理積が、それぞれ演算され、α1×ｄ１,０，０，α4×ｄ４が得られている。これらの値は、それぞれａ１乃至ａ４の値である。
【０２２６】
図２９Ｄは、ステップＳ２１９のうちのａ１乃至ａ４の加算の処理を表している。この例では、α1×ｄ１，０，０，α4×ｄ４の和が、ａ１乃至ａ４の和として演算されている。
【０２２７】
次に、対象物として実際に顔を検出した本発明の実施例について説明する。なお、対象物は顔に限らず、例えばロゴタイプや模様または人間の顔以外の対象物画像など、２次元的な平面での特徴を有するものであって、上記ピクセル間差分特徴によりある程度の判別ができる（弱判別器を構成できる）ものであれば、どのような対象物でも検出できることはいうまでもない。
【０２２８】
図３０Ａおよび図３０Ｂは、本実施例の学習サンプルの一部を示す図である。学習サンプルは、対象物としてラベリングされた図３０Ａに示す顔画像群（ポジティブサンプル）と、非対象物としてラベリングされた図３０Ｂに示す非顔画像群（ネガティブサンプル）を使用する。図３０Ａおよび図３０Ｂは、学習サンプルとして使用した画像の一部を示すが、学習サンプルとしては、例えば数千枚の顔画像と、数万枚の非顔画像とが用いられる。画像サイズは例えば２４×２４ピクセルとされる。
【０２２９】
本実施例では、これら学習サンプルから、図１６および図２０に示すアルゴリズムに従って、上述の式（３）のみを利用した顔判別問題が学習された。このような学習により、最初に生成された１番目乃至６番目までの弱判別器が、それぞれ図３１Ａ乃至図３１Ｆに示されている。これらは顔の特徴をよく表していると考えられる。定性的には、図３１Ａの弱判別器ｆ1は、額（Ｓ１）は目（Ｓ２）より明るい（閾値：１８．５）ことを示し、図３１Ｂの弱判別器ｆ2は、頬（Ｓ１）は目（Ｓ２）より明るい（閾値：１７．５）ことを示す。また、図３１Ｃの弱判別器ｆ3は、額（Ｓ１）は髪の毛（Ｓ２）より明るい（閾値：２６．５）ことを示し、図３１Ｄの弱判別器ｆ4は、鼻の下（Ｓ１）は鼻腔（Ｓ２）より明るい（閾値：５．５）ことを示す。更に、図３１Ｅの弱判別器ｆ5は、頬（Ｓ１）は髪の毛（Ｓ２）より明るい（閾値：２２．５）ことを示し、図３１Ｆの弱判別器ｆ6は、顎（Ｓ１）は唇（Ｓ２）より明るい（閾値：４．５）ことを示している。
【０２３０】
本実施例においては、最初の１つの弱判別器ｆ1により７０％の正答率（学習サンプルに対する性能）を得ることができ、弱判別器ｆ1乃至ｆ6を全て利用することで８０％の正答率に達することができた。そして、４０個の弱判別器を組み合わせることで９０％の正答率に達し、７６５個の弱判別器を組み合わせることにより９９％の正答率に達することができた。
【０２３１】
図３２は、１枚の入力画像から検出された顔検出結果を示す図であって、図３２Ａと図３２Ｂは、それぞれ重なり領域を取り除く前後を示す。図３２Ａに示す複数の枠が、検出された顔（対象物）であり、１枚の画像から図２３に示すステップＳ６１乃至ステップＳ６８までの処理にて複数の顔（領域）が検出される。これをステップＳ６９乃至ステップＳ７１に示す重なり領域除去処理を行うことで、１つの顔として検出することができる。なお、画像内に複数の顔が存在する場合には、複数の顔を同時に検出することができる。上述したように、本実施例の顔検出処理は、極めて高速に処理可能であって、通常のパーソナルコンピュータ等を利用しても、１秒間に３０枚程度の入力画像から顔検出することができ、従って動画から顔検出することも可能である。
【０２３２】
次に、アダブーストによる識別、アダブーストカスケードによる識別、並びにアダブーストリジェクト学習による識別（図１６に示されるように、不要なネガティブサンプルを削除することで学習した弱判別器を用いた識別）の識別結果を説明する。
【０２３３】
図３３は、この３つの方法による識別実験に利用した学習サンプルを表している。横軸と縦軸は、それぞれ画素値Ｉ１，Ｉ２を表し、図中×印はネガティブサンプルを表し、図中○印はポジティブサンプルを表す。
【０２３４】
図３４は、アダブーストリジェクト学習による識別結果を表し、図３５はアダブーストによる識別結果を表し、図３６はアダブーストカスケードによる識別結果を表す。図中に表れる線は、各弱判別器で順次判別された閾値（ポジティブサンプルとネガティブサンプルとの境界）を表す。また、より明るく表現されている領域が、より重み付き多数決の値F(x)が大きいことを表す。図３４に示されるアダブーストリジェクト学習による識別結果が、最も明るい領域が広く、より確実に識別処理が行われていることを表している。
【０２３５】
図３７は、アダブースト、アダブーストカスケード、およびアダブーストリジェクト学習の３つの方法の実験の結果の比較を表す。全弱仮説数は、識別を完了するまでに要した弱判別器の数を表し、アダブーストの場合が４０５個、アダブーストカスケードの場合が２５３個、アダブーストリジェクト学習の場合が１１７個であるので、アダブーストリジェクト学習の場合が最も小さいことが分かる。すなわち、より少ない数の弱判別器により識別が可能であることが分かる。
【０２３６】
正判定率（トゥルーポジティブ）は、ポジティブサンプルに対する正解率を表し、その値が大きい方が好ましい。誤判定率（フォールスポジティブ）は、ネガティブサンプルをポジティブサンプルと誤判定した割合を表し、その値は小さい方が好ましい。アダブーストリジェクト学習は、正判定率は、アダブーストカスケードより若干劣るが、殆ど同じであり、誤判定率は優れていることがわかる。
【０２３７】
弱仮説の評価回数は、左側に記載されている値が、ネガティブサンプルに対する評価回数の平均値を表し、右側の数字が、ポジティブサンプルに対する評価回数の平均値を表す。
【０２３８】
アダブーストの場合、打ち切り閾値による処理はないので、評価回数は全弱仮説数と同じである。これに対して、アダブーストリジェクト学習の場合、ネガティブサンプルであると判定できるまでの評価回数の平均値は、１７．９回であり、ポジティブサンプルであると判定できるまでの評価回数の平均値は、１１５．６回である。アダブーストリジェクト学習の場合、より少ない数の弱判別器によりネガティブサンプルであることの結論を出すことができることがわかる。アダブーストカスケードの場合、ネガティブサンプルであると判定できるまでの評価回数の平均値は、３１．６回であり、ポジティブサンプルであると判定できるまでの評価回数の平均値は、２５１．２回である。
【０２３９】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。そして本発明は、静止画像はもとより、動画像を受信し、表示する各種の画像処理装置を含む情報処理装置に適用することができる。
【０２４０】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、対象物検出装置は、図３８に示されるようなパーソナルコンピュータにより構成される。
【０２４１】
図３８において、CPU（Central  Processing  Unit）３２１は、ROM（Read  Only  Memory）３２２に記憶されているプログラム、または記憶部３２８からRAM（Random  Access  Memory）３２３にロードされたプログラムに従って各種の処理を実行する。RAM３２３にはまた、CPU３２１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０２４２】
CPU３２１、ROM３２２、およびRAM３２３は、バス３２４を介して相互に接続されている。このバス３２４にはまた、入出力インタフェース３２５も接続されている。
【０２４３】
入出力インタフェース３２５には、キーボード、マウスなどよりなる入力部３２６、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部３２７、ハードディスクなどより構成される記憶部３２８、モデムなどより構成される通信部３２９が接続されている。通信部３２９は、インターネットを含むネットワークを介しての通信処理を行う。
【０２４４】
入出力インタフェース３２５にはまた、必要に応じてドライブ３３０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア３３１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部３２８にインストールされる。
【０２４５】
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０２４６】
この記録媒体は、図３８に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フロッピディスクを含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク（MD（Mini-Disk）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア３３１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM３２２や、記憶部３２８に含まれるハードディスクなどで構成される。
【０２４７】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２４８】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０２４９】
【図１】特許文献１に記載の矩形特徴を示す模式図である。
【図２】特許文献１に記載の矩形特徴を使用して顔画像を判別する方法を説明する図である。
【図３】特許文献１に記載の積分画像を示す模式図である。
【図４】特許文献１に記載の積分画像を使用して矩形領域の輝度値の総和を算出する方法を説明する図である。
【図５】本発明の実施の形態における対象物検出装置の処理機能を示す機能ブロック図である。
【図６】スケール変換を説明する図である。
【図７】探索ウィンドウの走査を説明する図である。
【図８】探索ウィンドウの移動を説明する図である。
【図９】判別器の構成を示す図である。
【図１０】ピクセル間差分特徴を説明する図である
【図１１】ピクセル間差分特徴と閾値の関係を説明する図である。
【図１２】頻度分布を説明する図である。
【図１３】確率密度に基づくピクセル間差分特徴を説明する図である。
【図１４】重み付き多数決の値F(ｘ)の変化を示す図である。
【図１５】集団学習機の機能的構成例を示すブロック図である。
【図１６】集団学習機の学習方法を説明するフローチャートである。
【図１７】学習サンプルを説明する図である。
【図１８】識別閾値と学習閾値とを説明する図である。
【図１９】選択部の機能的構成例を示すブロック図である。
【図２０】弱判別器の選択処理を説明するフローチャートである。
【図２１】閾値の移動を説明する図である。
【図２２】判別器の機能的構成例を示すブロック図である。
【図２３】対象物検出処理を説明するフローチャートである。
【図２４】打ち切り閾値による処理を説明するフローチャートである。
【図２５】図２４の処理に対応するコードを表す図である。
【図２６】図２４と比較される打ち切り閾値による処理を説明するフローチャートである。
【図２７】図２６の処理に対応するコードを表す図である。
【図２８】打ち切り閾値による並列処理を説明するフローチャートである。
【図２９】並列処置の具体例を説明する図である。
【図３０】対象物としてラベリングされた顔の画像群と、非対象物としてラベリングされた非顔画像群を示す図である。
【図３１】判別器の具体例を説明する図である。
【図３２】重なり領域を説明する図である。
【図３３】学習サンプルを説明する図である。
【図３４】アダブーストリジェクト学習による識別結果の例を示す図である。
【図３５】アダブーストによるよる識別結果の例を示す図である。
【図３６】アダブーストカスケードによる識別結果の例を示す図である。
【図３７】アダブースト、アダブーストカスケード、およびアダブーストリジェクト学習の識別結果を比較する図である。
【図３８】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０２５０】
１  対象物検出装置，  ２  画像出力部，  ３  スケーリング部，  ４  走査部，  ５  判別器，  ６  集団学習機，  ２１1乃至２１K  弱判別器，  ２２  加算器，  １０１  初期化部，  １０２  選択部，  １０３  誤り率演算部，  １０４  信頼度演算部，  １０５  閾値演算部，  １０６  判定部，  １０７  削除部，  １０８  更新部，  １０９  反映部，  １２１  決定部，  １２２  頻度分布算出部，  １２３  閾値設定部，  １２４  弱仮説演算部，  １２５  重み付き誤り率演算部，  １２６  判定部，  １２７  選定部
【図１】
2005284348.tif 000021
【図２】
2005284348.tif 000022
【図３】
2005284348.tif 000023
【図４】
2005284348.tif 000024
【図５】
2005284348.tif 000025
【図６】
2005284348.tif 000026
【図７】
2005284348.tif 000027
【図８】
2005284348.tif 000028
【図９】
2005284348.tif 000029
【図１０】
2005284348.tif 000030
【図１１】
2005284348.tif 000031
【図１２】
2005284348.tif 000032
【図１３】
2005284348.tif 000033
【図１４】
2005284348.tif 000034
【図１５】
2005284348.tif 000035
【図１６】
2005284348.tif 000036
【図１７】
2005284348.tif 000037
【図１８】
2005284348.tif 000038
【図１９】
2005284348.tif 000039
【図２０】
2005284348.tif 000040
【図２１】
2005284348.tif 000041
【図２２】
2005284348.tif 000042
【図２３】
2005284348.tif 000043
【図２４】
2005284348.tif 000044
【図２５】
2005284348.tif 000045
【図２６】
2005284348.tif 000046
【図２７】
2005284348.tif 000047
【図２８】
2005284348.tif 000048
【図２９】
2005284348.tif 000049
【図３０】
2005284348.tif 000050
【図３１】
2005284348.tif 000051
【図３２】
2005284348.tif 000052
【図３３】
2005284348.tif 000053
【図３４】
2005284348.tif 000054
【図３５】
2005284348.tif 000055
【図３６】
2005284348.tif 000056
【図３７】
2005284348.tif 000057
【図３８】
2005284348.tif 000058