(57)【要約】【課題】処理速度、制度を向上させた画像認識を行う。【解決手段】識別器を構成する複数の弱識別器を最適な配列とするために、各弱識別器にサンプル学習画像を処理させたときのスコアが取得される。ポジティブ画像が処理されたときのスコアのうち、最小値のスコアが抽出され、その最小値のスコアよりもさらに小さいネガティブ画像が処理されたときのスコアの数が数えられる。その数が多い順に、弱識別器が配置される。弱識別器の並び替えが行われることにより識別器が生成され、この識別器は、演算が早い段階で打ち切られる特徴を有する。本発明は、画像から対象物を認識する認識装置や認識装置のための学習を行う学習装置に適用できる。【選択図】図１４
2011257805.tif 000002
【特許請求の範囲】
【請求項１】
複数の弱識別器を含む識別器の前記弱識別器毎に、識別対象とされる物体の領域があるポジティブ画像と、前記識別対象とされる物体の領域がないネガティブ画像を含むサンプル画像毎のスコアを算出する第１の算出手段と、
前記ポジティブ画像を処理したときのスコアのうちの最小のスコアより小さいスコアである、前記ネガティブ画像を処理したときのスコアの個数を前記弱識別器毎に算出する第２の算出手段と、
前記第２の算出手段により算出された前記個数が最大の前記弱識別器から順に、前記弱識別器を並び替える並び替え手段と
を備える情報処理装置。
【請求項２】
複数の弱識別器を含む識別器の前記弱識別器毎に、識別対象とされる物体の領域があるポジティブ画像と、前記識別対象とされる物体の領域がないネガティブ画像を含むサンプル画像毎のスコアを算出し、
前記ポジティブ画像を処理したときのスコアのうちの最小のスコアより小さいスコアである、前記ネガティブ画像を処理したときのスコアの個数を前記弱識別器毎に算出し、
算出された前記個数が最大の前記弱識別器から順に、前記弱識別器を並び替える
ステップを含む情報処理方法。
【請求項３】
複数の弱識別器を含む識別器の前記弱識別器毎に、識別対象とされる物体の領域があるポジティブ画像と、前記識別対象とされる物体の領域がないネガティブ画像を含むサンプル画像毎のスコアを算出し、
前記ポジティブ画像を処理したときのスコアのうちの最小のスコアより小さいスコアである、前記ネガティブ画像を処理したときのスコアの個数を前記弱識別器毎に算出し、
算出された前記個数が最大の前記弱識別器から順に、前記弱識別器を並び替える
ステップを含む処理を実行するコンピュータが読み取り可能なプログラム。
【請求項４】
複数の弱識別器を含む識別器の前記弱識別器毎に、サンプル画像毎のスコアを算出する第１の算出手段と、
前記第１の算出手段で算出された前記スコアから学習誤差を算出する第２の算出手段と、
前記第２の算出手段により算出された前記学習誤差が最小の前記弱識別器から順に、前記弱識別器を並び替える並び替え手段と
を備える情報処理装置。
【請求項５】
複数の弱識別器を含む識別器の前記弱識別器毎に、サンプル画像毎のスコアを算出し、
算出された前記スコアから学習誤差を算出し、
算出された前記学習誤差が最小の前記弱識別器から順に、前記弱識別器を並び替える
ステップを含む情報処理方法。
【請求項６】
複数の弱識別器を含む識別器の前記弱識別器毎に、サンプル画像毎のスコアを算出し、
算出された前記スコアから学習誤差を算出し、
算出された前記学習誤差が最小の前記弱識別器から順に、前記弱識別器を並び替える
ステップを含む処理を実行するコンピュータが読み取り可能なプログラム。
【請求項７】
複数の弱識別器を含む識別器であり、前記弱識別器の配列が異なる識別器毎に、サンプル画像を処理させたときの演算が打ち切られるときの前記弱識別器の平均個数を算出する算出手段と、
遺伝的アルゴリズムに基づく操作を行うことで、また、前記操作を行うときに、前記算出手段により算出された前記平均個数を用いることで、前記平均個数が最も小さくなる前記識別器を生成する生成手段と
を備える情報処理装置。
【請求項８】
複数の弱識別器を含む識別器であり、前記弱識別器の配列が異なる識別器毎に、サンプル画像を処理させたときの演算が打ち切られるときの前記弱識別器の平均個数を算出し、
遺伝的アルゴリズムに基づく操作を行うことで、また、前記操作を行うときに、前記平均個数を用いることで、前記平均個数が最も小さくなる前記識別器を生成する
ステップを含む情報処理方法。
【請求項９】
複数の弱識別器を含む識別器であり、前記弱識別器の配列が異なる識別器毎に、サンプル画像を処理させたときの演算が打ち切られるときの前記弱識別器の平均個数を算出し、
遺伝的アルゴリズムに基づく操作を行うことで、また、前記操作を行うときに、前記平均個数を用いることで、前記平均個数が最も小さくなる前記識別器を生成する
ステップを含む処理を実行するコンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置および方法、並びにプログラムに関し、特に、画像から、より確実に、より高速に、対象物体を検出できるようにした情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、画像から人を検出する技術は、主にセキュリティや車載用途のために研究開発されてきた。画像から人を検出（認識）するための主な特徴量として、エッジ抽出により得られる特徴量が用いられている。これらの技術においては、エッジ抽出で得られた特徴量の様々な変化形が新たな特徴量として定義されて、人の認識が行われる。また、認識するときの認識器として、ブースティング（Boosting）の統計学習により得られる判別器が用いられることがある。（特許文献1乃至４参照）
【先行技術文献】
【非特許文献】
【０００３】
【特許文献１】Paul Viola & Michael JonesUS20040013304 A1System and method for detecting objects in images
【特許文献２】Paul Viola & Michael JonesUS20020102024 A1Method and system for object detection in digital imagesCOMPAQ INFORMATION TECHNOLOGIE
【特許文献３】Paul Viola & Michael JonesUS7099510 B2Method and system for object detection in digital images HEWLETT PACKARD DEVELOPMENT CO
【特許文献４】Paul Viola & Michael JonesUS7020337 B2System and method for detecting objects in imagesMITSUBISHI ELECTRIC RES LAB
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来、ブースティング統計学習により得られる判別器は、弱識別器は学習された順番に演算していた。特許文献１乃至４では、高速演算を行うために、ブースティングの各カスケードステージで打ち切りを行うことを提案している。しかしながら、打ち切りを行うだけでは、さらなる高速化を期待することができない。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、より精度良く、より高速に人などの対象物を検出できるようにするものである。
【課題を解決するための手段】
【０００６】
本発明の一側面の第１の情報処理装置は、複数の弱識別器を含む識別器の前記弱識別器毎に、識別対象とされる物体の領域があるポジティブ画像と、前記識別対象とされる物体の領域がないネガティブ画像を含むサンプル画像毎のスコアを算出する第１の算出手段と、前記ポジティブ画像を処理したときのスコアのうちの最小のスコアより小さいスコアである、前記ネガティブ画像を処理したときのスコアの個数を前記弱識別器毎に算出する第２の算出手段と、前記第２の算出手段により算出された前記個数が最大の前記弱識別器から順に、前記弱識別器を並び替える並び替え手段とを備える。
【０００７】
本発明の一側面の第１の情報処理方法は、複数の弱識別器を含む識別器の前記弱識別器毎に、識別対象とされる物体の領域があるポジティブ画像と、前記識別対象とされる物体の領域がないネガティブ画像を含むサンプル画像毎のスコアを算出し、前記ポジティブ画像を処理したときのスコアのうちの最小のスコアより小さいスコアである、前記ネガティブ画像を処理したときのスコアの個数を前記弱識別器毎に算出し、算出された前記個数が最大の前記弱識別器から順に、前記弱識別器を並び替えるステップを含む。
【０００８】
本発明の一側面の第１のプログラムは、複数の弱識別器を含む識別器の前記弱識別器毎に、識別対象とされる物体の領域があるポジティブ画像と、前記識別対象とされる物体の領域がないネガティブ画像を含むサンプル画像毎のスコアを算出し、前記ポジティブ画像を処理したときのスコアのうちの最小のスコアより小さいスコアである、前記ネガティブ画像を処理したときのスコアの個数を前記弱識別器毎に算出し、算出された前記個数が最大の前記弱識別器から順に、前記弱識別器を並び替えるステップを含む処理を実行するコンピュータが読み取り可能なプログラムである。
【０００９】
本発明の一側面の第１の情報処理装置および方法、並びにプログラムにおいては、複数の弱識別器を含む識別器の弱識別器毎に、識別対象とされる物体の領域があるポジティブ画像と、識別対象とされる物体の領域がないネガティブ画像を含むサンプル画像毎のスコアが算出され、ポジティブ画像が処理されたときのスコアのうちの最小値より小さい、ネガティブ画像を処理したときのスコアの個数が最大の弱識別器から順に、弱識別器が並び替えられることで、識別器が生成される。
【００１０】
本発明の一側面の第２の情報処理装置は、複数の弱識別器を含む識別器の前記弱識別器毎に、サンプル画像毎のスコアを算出する第１の算出手段と、前記第１の算出手段で算出された前記スコアから学習誤差を算出する第２の算出手段と、前記第２の算出手段により算出された前記学習誤差が最小の前記弱識別器から順に、前記弱識別器を並び替える並び替え手段とを備える。
【００１１】
本発明の一側面の第２の情報処理方法は、複数の弱識別器を含む識別器の前記弱識別器毎に、サンプル画像毎のスコアを算出し、算出された前記スコアから学習誤差を算出し、算出された前記学習誤差が最小の前記弱識別器から順に、前記弱識別器を並び替えるステップを含む。
【００１２】
本発明の一側面の第２のプログラムは、複数の弱識別器を含む識別器の前記弱識別器毎に、サンプル画像毎のスコアを算出し、算出された前記スコアから学習誤差を算出し、算出された前記学習誤差が最小の前記弱識別器から順に、前記弱識別器を並び替えるステップを含む処理を実行するコンピュータが読み取り可能なプログラムである。
【００１３】
本発明の一側面の第２の情報処理装置および方法、並びにプログラムにおいては、複数の弱識別器を含む識別器の弱識別器毎に、サンプル画像毎のスコアが算出され、算出されたスコアから学習誤差が算出され、その学習誤差が最小の弱識別器から順に、弱識別器が並び替えられることで、識別器が生成される。
【００１４】
本発明の一側面の第３の情報処理装置は、複数の弱識別器を含む識別器であり、前記弱識別器の配列が異なる識別器毎に、サンプル画像を処理させたときの演算が打ち切られるときの前記弱識別器の平均個数を算出する算出手段と、遺伝的アルゴリズムに基づく操作を行うことで、また、前記操作を行うときに、前記算出手段により算出された前記平均個数を用いることで、前記平均個数が最も小さくなる前記識別器を生成する生成手段とを備える。
【００１５】
本発明の一側面の第３の情報処理方法は、複数の弱識別器を含む識別器であり、前記弱識別器の配列が異なる識別器毎に、サンプル画像を処理させたときの演算が打ち切られるときの前記弱識別器の平均個数を算出し、遺伝的アルゴリズムに基づく操作を行うことで、また、前記操作を行うときに、前記平均個数を用いることで、前記平均個数が最も小さくなる前記識別器を生成するステップを含む。
【００１６】
本発明の一側面の第３のプログラムは、複数の弱識別器を含む識別器であり、前記弱識別器の配列が異なる識別器毎に、サンプル画像を処理させたときの演算が打ち切られるときの前記弱識別器の平均個数を算出し、遺伝的アルゴリズムに基づく操作を行うことで、また、前記操作を行うときに、前記平均個数を用いることで、前記平均個数が最も小さくなる前記識別器を生成するステップを含む処理を実行するコンピュータが読み取り可能なプログラムである。
【００１７】
本発明の一側面の第３の情報処理装置および方法、並びにプログラムにおいては、複数の弱識別器を含む識別器であり、弱識別器の配列が異なる識別器毎に、サンプル画像を処理させたときの演算が打ち切られるときの弱識別器の平均個数が算出され、その平均個数と、遺伝的アルゴリズムに基づき、平均個数が最も小さくなる識別器が生成される。
【発明の効果】
【００１８】
本発明の一側面によれば、精度良くかつ高速に対象物を検出することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明を適用した識別システムの一実施の形態の構成を示す図である。
【図２】特徴量計算部の詳細な構成例を示す図である。
【図３】ステアラブルフィルタについて説明する図である。
【図４】識別器生成部の詳細な構成例を示す図である。
【図５】学習処理を説明するフローチャートである。
【図６】特徴量計算処理を説明するフローチャートである。
【図７】識別器生成処理を説明するフローチャートである。
【図８】識別器の生成について説明する図である。
【図９】特徴量を説明する図である。
【図１０】特徴点のペア毎の特徴量のサンプリングについて説明する図である。
【図１１】弱識別器の設定について説明する図である。
【図１２】識別器の構成について説明する図である。
【図１３】累積加算値と弱識別器との関係を示した図である。
【図１４】第１の並び替えの処理について説明するフローチャートである。
【図１５】検証結果を示す図である。
【図１６】第２の並び替えの処理について説明するフローチャートである。
【図１７】第３の並び替えの処理について説明するフローチャートである。
【図１８】交叉について説明する図である。
【図１９】認識処理を説明するフローチャートである。
【図２０】記録媒体について説明するための図である。
【発明を実施するための形態】
【００２０】
以下に、本発明の実施の形態について図面を参照して説明する。
【００２１】
［システム構成について］
図１は、本発明を適用した物体識別システムの一実施の形態の構成例を示すブロック図である。この物体識別システムは、学習装置１１、識別器記録部１２、および認識装置１３からなり、入力された画像における、対象物体として例えば人間の画像のある領域を認識させるものである。
【００２２】
学習装置１１は、入力された学習画像に基づいて、認識装置１３において画像上における対象物体の有無を識別する処理を行うときに用いられる識別器を生成し、識別器記録部１２に記録させる。認識装置１３は、識別器記録部１２に記録されている識別用特徴量および識別器を用いて、入力された入力画像に対象物体の画像が存在するか否かを識別し、その識別結果を出力する。
【００２３】
学習装置１１は、画像入力部２１、多重解像度画像生成部２２、特徴点抽出部２３、特徴量計算部２４、および識別器生成部２５から構成される。
【００２４】
多重解像度画像生成部２２は、画像入力部２１により入力された学習画像から、互いに解像度の異なる複数の画像を生成し、それらの画像を多重解像度画像として特徴点抽出部２３に供給する。例えば、レベルＬ１乃至レベルＬ８までの８つの解像度の階層の多重解像度画像が生成される。ここでは、レベルＬ１の多重解像度画像が最も解像度が高く、レベルＬ１からレベルＬ８まで順番に多重解像度画像の解像度が低くなるものとする。
【００２５】
特徴点抽出部２３は、多重解像度画像生成部２２で生成された多重解像度画像を構成する各画像（学習画像）から、その学習画像の画素のいくつかを識別器を生成するときに用いられる特徴点として抽出し、抽出した特徴点と学習画像とを特徴量計算部２４に供給する。ここで、識別器とは、統計学習により生成された、複数の弱識別器からなる強い識別器であり、例えば物体の輪郭を利用して、入力された画像中に物体の画像の領域が存在するか否かを識別するときに用いられる。
【００２６】
特徴量計算部２４は、特徴点抽出部２３からの学習画像に基づいて、例えばステアラブルフィルタ（Steerable Filter）を用いたフィルタ処理により、特徴点毎に、抽出された輪郭を示す特徴量を計算し、求められた特徴量と学習画像とを識別器生成部２５に供給する。識別器生成部２５は、特徴量計算部２４から供給された学習画像および特徴量に基づいて、例えばAdaboostによる統計学習処理を行い、対象物体である例えば人を認識する識別器を生成する。また、識別器生成部２５は、生成した識別器を識別器記憶部１２に供給する。
【００２７】
認識装置１３は、画像入力部３１、多重解像度画像生成部３２、特徴点抽出部３３、特徴量計算部３４、識別計算部３５、および識別結果出力部３６から構成されている。認識装置１３の画像入力部３１乃至特徴量計算部３４のそれぞれは、対象物体を認識しようとする入力画像に対して、学習装置１１の画像入力部２１乃至特徴量計算部２４のそれぞれと同様の処理を行うものであるので、その詳細な説明は省略する。
【００２８】
識別計算部３５は、識別器記録部１２に記録されている識別用特徴量および識別器を読み出す。また、識別計算部３５は、特徴量計算部３４からの特徴量のうちの識別用特徴量に対応するものを、読み出した識別器に代入して演算を行う。識別結果出力部３６は、識別計算部３５における演算結果を取得し、その演算結果に基づいて、対象物体が入力画像で認識されたか否かの識別結果を出力する。
【００２９】
図２は、図１の特徴量計算部２４のより詳細な構成例を示す図である。特徴量計算部３４は、特徴量計算部２４と同様の構成を有するため、ここでは、特徴量計算部２４の構成を例にあげて説明する。特徴量計算部２４は、１次フィルタ処理部５１、２次フィルタ処理部５２、３次フィルタ処理部５３、および特徴量生成部５４から構成される。また、特徴点抽出部２３からの学習画像は、１次フィルタ処理部５１乃至特徴量生成部５４に供給され、特徴点は、１次フィルタ処理部５１乃至３次フィルタ処理部５３に供給される。
【００３０】
１次フィルタ処理部５１は、供給された特徴点毎に、特徴点に対してガウス関数Ｇの１次微分関数Ｇ１によりフィルタ処理を施して特徴量を抽出し、特徴量生成部５４に供給する。ここで、ガウス関数Ｇ、および１次微分関数Ｇ１は、次式（１）および式（２）により示される。
【００３１】
【数１】
2011257805.tif 000003
【００３２】
【数２】
2011257805.tif 000004
【００３３】
式（１）において、σはガウス幅を示している。式（２）において、θは任意の角度を示し、計算したいフィルタの方向を示している。
【００３４】
例えば、１次フィルタ処理部５１は、ガウス関数Ｇのガウス幅σを３つの所定値（例えば、ガウス幅σ１，σ２，σ３＝１，２，４）に変化させ、ガウス幅σ毎に所定の４方向（例えば、θ＝θ１，θ２，θ３，θ４）について式（２）を計算する。
【００３５】
なお、方向θは４方向に限らず、８方向、例えばｐｉを８方向に等分したときの各方向などとしてもよい。また、従来は、上記したように、複数のガウス幅を用いて処理を行っていたが、本実施の形態においては、後述するように、ガウス幅は１つだけ用意しておけば良い。換言すれば、ガウス幅を変化させる必要がない。よって、上記では、“ガウス幅を３つの所定値に変化させ、ガウス幅σ毎に所定の４方向について式（２）を計算する”と記載したが、本実施の形態においては、設定されているガウス幅σにおいて所定の方向の４方向について式（２）を計算するだけでよい。
【００３６】
よって、複数のガウス幅毎に計算する必要がないため、計算量を低減させることが可能となる。このようなことは、他のフィルタ、例えば、２次フィルタ処理部５２、３次フィルタ処理部５３においても同様である。
【００３７】
２次フィルタ処理部５２は、供給された特徴点毎に、特徴点に対してガウス関数Ｇの２次微分関数Ｇ２によりフィルタ処理を施して特徴量を抽出し、特徴量生成部５４に供給する。次式（３）は、２次微分関数Ｇ２を示しており、式（３）においてθは任意の角度を示している。
【００３８】
【数３】
2011257805.tif 000005
【００３９】
また、式（３）における係数ｋ２ｉ（θ）（但し、ｉ＝１，２，３）は、次式（４）で示される関数である。
【００４０】
【数４】
2011257805.tif 000006
【００４１】
例えば、２次フィルタ処理部５２は、ガウス関数Ｇの所定のガウス幅σにおいて、所定の４方向（例えば、θ＝θ１，θ２，θ３，θ４）について式（３）を計算する。
【００４２】
３次フィルタ処理部５３は、供給された特徴点毎に、特徴点に対してガウス関数Ｇの３次微分関数Ｇ３によりフィルタ処理を施して特徴量を抽出し、特徴量生成部５４に供給する。次式（５）は、３次微分関数Ｇ３を示しており、式（５）においてθは任意の角度を示している。
【００４３】
【数５】
2011257805.tif 000007
【００４４】
また、式（５）における係数ｋ３ｉ（θ）（但し、ｉ＝１，２，３）は、次式（６）で示される関数である。
【００４５】
【数６】
2011257805.tif 000008
【００４６】
例えば、３次フィルタ処理部５３は、ガウス関数Ｇの所定のガウス幅σにおいて、所定の４方向（例えば、θ＝θ１，θ２，θ３，θ４）について、式（５）を計算する。
【００４７】
特徴量生成部５４は、１次フィルタ処理部５１、２次フィルタ処理部５２、および３次フィルタ処理部５３のそれぞれから供給された、４つの方向θについて計算された各特徴点の特徴量の供給を受け、供給された合計１２個（＝３（次数）×４（方向））の特徴量を並べて特徴点における特徴量とする。
【００４８】
また、各フィルタ処理部には、多重解像度画像生成部２２から異なる解像度の複数の画像が供給されるため、各画像から４つの方向θについて計算された各特徴点の特徴量も供給される。この供給される特徴量は、多重解像度画像生成部２２が生成する画像の枚数に依存し、例えば、レベル１からレベル８までの８枚の画像が生成される場合、８枚分の４つの方向θについて計算された各特徴点の特徴量が供給されることになる。
【００４９】
また、特徴量生成部５４は、生成した特徴量と、供給された学習画像とを識別器生成部２５に供給する。
【００５０】
このように、特徴量計算部２４では、ガウス関数を微分して得られる、方向θに選択性を持つフィルタ（基底関数）が用いられて、微分の次数毎に異なる特徴量（輪郭）が抽出され、特徴量とされている。
【００５１】
特徴量の抽出にステアラブルフィルタを用いる場合、図３に示すように、方向θおよびガウス幅σの異なるフィルタを用意すれば、それらのフィルタの線形結合により、任意の方向θのフィルタ、すなわちガウス関数Ｇの微分関数Ｇｎ（但し、ｎ＝１，２，３）を表現することができる。
【００５２】
図３において、図中、左側の一番上の列の画像は、図中、左から順番にガウス幅σ＝２である場合における１次微分関数Ｇ１（０°）および１次微分関数Ｇ１（９０°）を表している。また、図中、左側の真ん中の列の画像は、図中、左から順番にガウス幅σ＝２である場合における２次微分関数Ｇ２（０°）、２次微分関数Ｇ２（６０°）、２次微分関数Ｇ２（１２０°）、およびラプラシアンを表している。さらに、図中、左側の一番下の列の画像は、図中、左から順番にガウス幅σ＝２である場合における３次微分関数Ｇ３（０°）、３次微分関数Ｇ３（４５°）、３次微分関数Ｇ３（９０°）、および３次微分関数Ｇ３（１３５°）を表している。
【００５３】
また、図中、右側の横方向の列のうちの一番上の列の画像は、図中、左側から順番に、ガウス幅σ＝１である場合における１次微分関数Ｇ１（θ）のθを０，１／８ｐｉ，２／８ｐｉ，３／８ｐｉ，４／８ｐｉ，５／８ｐｉ，６／８ｐｉ，７／８ｐｉとしたものを表している。
【００５４】
同様に、図中、右側の横方向の各列の画像は、図中、上から二番目から下方向に順番に、ガウス幅σ＝２である場合における１次微分関数Ｇ１（θ）、ガウス幅σ＝４である場合における１次微分関数Ｇ１（θ）、ガウス幅σ＝１である場合における２次微分関数Ｇ２（θ）、ガウス幅σ＝２である場合における２次微分関数Ｇ２（θ）、ガウス幅σ＝４である場合における２次微分関数Ｇ２（θ）、ガウス幅σ＝１である場合における３次微分関数Ｇ３（θ）、ガウス幅σ＝２である場合における３次微分関数Ｇ３（θ）、およびガウス幅σ＝４である場合における３次微分関数Ｇ３（θ）を示している。そして、それらの各列の画像は、図中、左側から順番に微分関数の方向θを０，１／８ｐｉ，２／８ｐｉ，３／８ｐｉ，４／８ｐｉ，５／８ｐｉ，６／８ｐｉ，７／８ｐｉとしたものを表している。
【００５５】
例えば、図中、左側のフィルタである１次微分関数Ｇ１（０°）および１次微分関数Ｇ１（９０°）を用いることで、図中、右側の上から二番目の列の各方向θにおける１次微分関数Ｇ１（θ）を表すことができる。同様に、図中、左側の２次微分関数Ｇ２を用いて、図中、右側の上から５番目の列に示す各方向θにおける２次微分関数Ｇ２（θ）を表すことができ、図中、左側の３次微分関数Ｇ３を用いて、図中、右側の上から８番目の列に示す各方向θにおける３次微分関数Ｇ３（θ）を表すことができる。すなわち、各次元の任意の方向の微分関数は、その次元より１だけ多い数の基底関数があれば、それらの基底関数の線形結合により表現することができる。
【００５６】
［識別器生成部の構成について］
図４は、図１の識別器生成部２５のより詳細な構成例を示すブロック図である。識別器生成部２５は、サンプリング部６１、重み設定部６２、並び替え部６３、識別器設定部６４、識別器選択部６５、および重み更新部６６から構成される。
【００５７】
サンプリング部６１は、重み設定部６２により設定される学習画像単位の重みに応じて、特徴点のペア毎に、複数の学習画像のそれぞれの同じ位置の特徴点のペアの特徴量から、Ｍ個の特徴量をサンプリングして並び替え部６３に供給する。
【００５８】
並び替え部６３は、各特徴点のペアについて、サンプリングされたＭ個の特徴量を昇順、または降順に並び替えて識別器設定部６４に供給する。
【００５９】
識別器設定部６４は、特徴量が抽出された学習画像に認識しようとする対象物体が含まれているか否かを示す正誤情報に基づいて、昇順、または降順に並び替えられた各ペアの特徴量のそれぞれについて、閾値を変化させながら誤り率計算部６４ａを制御して、誤り率を計算させ、誤り率が最小となるように閾値を設定する（この閾値が、弱識別器として設定される）。さらに、識別器設定部６４は、弱識別器毎の誤り率を識別器選択部６５に供給する。
【００６０】
学習画像には、その学習画像に対象物体が含まれているか否かを示す正誤情報（ラベル）が付加されており、識別器設定部６４は、特徴量計算部２４から供給された学習画像に付加されている正誤情報に基づいて、弱識別器の設定を行う。
【００６１】
識別器選択部６５は、弱識別器のうち、誤り率が最小となる弱識別器を選択して、弱識別器からなる識別器を更新し、最終的な識別器および各弱識別器に対応する特徴量を識別器記憶部１２に供給する。さらに、識別器選択部６５は、選択した弱識別器の誤り率に基づいて信頼度を計算し、重み更新部６６に供給する。
【００６２】
重み更新部６６は、供給された信頼度に基づいて学習画像毎の重みを再計算するとともに、重みを正規化して更新し、更新結果を重み設定部６２に供給する。重み設定部６２は、重み更新部６６より供給されてくる重みの更新結果に基づいて、学習画像単位の重みを設定する。
【００６３】
［学習処理について］
次に、学習装置１１で行われる学習処理について説明を加える。学習装置１１に学習画像が入力され、識別器の生成が指示されると、学習装置１１は、学習処理を開始して統計学習により識別器を生成する。以下、図５乃至７のフローチャートを参照して、学習装置１１による学習処理について説明する。
【００６４】
ステップＳ１１において、多重解像度画像生成部２２は、入力された学習画像から、多重解像度画像を生成する。上記したように、多重解像度画像生成部２２は、例えば、レベルＬ１乃至レベルＬ８までの８つの解像度の階層の多重解像度画像を生成し、その生成した画像を特徴点抽出部２３に供給する。特徴点抽出部２３は、それぞれ、供給される多重解像度画像（異なる解像度の複数の画像）のうちの１つの画像を、処理対象の学習画像として、ステップＳ１１以下の処理を実行し、複数の画像毎に繰り返しステップＳ１１以下の処理を実行する。
【００６５】
ステップＳ１２において、特徴点抽出部２３は、入力された学習画像から特徴点を抽出する。例えば、特徴点抽出部２３に図８Ａに示す学習画像が入力された場合、特徴点抽出部２３は、図８Ｂに示すように、学習画像において所定の間隔で並んでいる画素を、特徴点として抽出する。なお、図８Ｂにおいて、学習画像上の円は特徴点とされた画素を表している。
【００６６】
図８Ａおよび図８Ｂに示す学習画像は、図中、横方向に３２画素、縦方向に６４画素からなる学習画像であり、特徴点抽出部２３は、学習画像上の画素を、横方向および縦方向に２画素おきに特徴点とする画素として選択する。これにより、学習画像において、図中、横方向に１２画素、縦方向に２８画素、合計３３６（＝１２×２８）画素が特徴点として選択される。
【００６７】
特徴点抽出部２３は、学習画像から特徴点を抽出すると、抽出した特徴点と、入力された学習画像とを特徴量計算部２４に供給する。
【００６８】
ステップＳ１３において、特徴量計算部２４は、特徴量計算処理を行い、特徴点抽出部２３から供給された特徴点および学習画像に基づいて、各特徴点の特徴量を計算する。ここで、図７のフローチャートを参照して、ステップＳ１３の処理に対応する特徴量計算処理について説明する。
【００６９】
ステップＳ５１において、特徴量計算部２４、より詳細には、特徴量計算部２４の１次フィルタ処理部５１、２次フィルタ処理部５２、および３次フィルタ処理部５３は、それぞれ特徴点抽出部２３から供給されてきた特徴点のうち、未処理の特徴点の１つを注目画素として選択する。
【００７０】
ステップＳ５２において、特徴量計算部２４は、方向θｑを示すカウンタｑを１とする。これにより、方向θｑはθ１とされる。
【００７１】
ステップＳ５３において、１次フィルタ処理部５１は、１次フィルタ処理を行う。すなわち、１次フィルタ処理部５１は、処理対象となる注目画素の画素値に基づいて、ガウス幅をσ＝１とし、かつ方向をθｑとして式（２）を演算し、フィルタ処理した結果を特徴量生成部５４に供給する。すなわち、式（２）における方向θがθｑとされて演算が行われ、輪郭が抽出される。
【００７２】
なお、“ガウス幅をσ＝１として”と記述したが、本実施の形態の場合、ガウス幅は、σ＝１と固定されている（予め１つのガウス幅のフィルタが設定されている）ため、この“ガウス幅をσ＝１として”という処理は省略することが可能である。すなわち、本実施の形態においては、ガウス幅σが１のフィルタの方向をθｑとして式（２）を演算するという処理が、ステップＳ５３において実行されることになる。また、ここでは、ガウス幅σをσ＝１として説明を続けるが、予め用意されているフィルタのガウス幅は、σ＝１以外のガウス幅でも勿論良い。
【００７３】
ステップＳ５４において、２次フィルタ処理部５２は、２次フィルタ処理を行う。すなわち、２次フィルタ処理部５２は、注目画素の画素値に基づいて、ガウス幅σ＝１のフィルタの方向をθｑとして式（３）を演算し、フィルタ処理した結果を特徴量生成部５４に供給する。すなわち、式（３）における方向θがθｑとされて演算が行われ、輪郭が抽出される。
【００７４】
ステップＳ５５において、３次フィルタ処理部５３は、３次フィルタ処理を行う。すなわち、３次フィルタ処理部５３は、注目画素の画素値に基づいて、ガウス幅σ＝１のフィルタの方向をθｑとして式（５）を演算し、フィルタ処理した結果を特徴量生成部５４に供給する。すなわち、式（５）における方向θがθｑとされて演算が行われ、輪郭が抽出される。
【００７５】
ステップＳ５６において、特徴量計算部２４は、方向θｑがθ４であるか否か、すなわちカウンタｑ＝４であるか否かを判定する。ステップＳ５６において、方向θｑがθ４でないと判定された場合、ステップＳ５７において、特徴量計算部２４は、カウンタｑをインクリメントする。例えば、カウンタｑ＝１であった場合、カウンタｑがインクリメントされてｑ＝２とされ、これにより方向θｑはθ２とされる。カウンタｑがインクリメントされると、処理はステップＳ５３に戻り、上述した処理が繰り返される。
【００７６】
これに対して、ステップＳ５６において、方向θｑがθ４であると判定された場合、ステップＳ５８において、特徴量生成部５４は、１次フィルタ処理部５１、２次フィルタ処理部５２、および３次フィルタ処理部５３から供給された演算結果を特徴量として合成し、１つの特徴点に対する特徴量を生成する。
【００７７】
特徴量は、以下の式（７）または式（８）で求められる。
【数７】
2011257805.tif 000009
【数８】
2011257805.tif 000010
【００７８】
式（７）、式（８）において、Ｇｄ，θは、式（２）などと同じく、任意の角度θにおけるガウス関数Ｇのｄ次微分関数である。また、Ｉ（ｘｉ，ｙｉ，ｓｉ）のうち、（ｘｉ，ｙｉ）は、処理対象とされている特徴点の画像内での座標を表し、（ｓｉ）は、多重解像度画像を構成する画像のうち、処理対象とされている画像のスケールを表す。
【００７９】
式（７）は、任意の角度θにおけるガウス関数Ｇのｄ次微分関数と特徴量を畳込み演算し、その絶対値をΣで総和を演算する式である。式（８）は、任意の角度θにおけるガウス関数Ｇのｄ次微分関数と特徴量を畳込み演算し、その絶対値をｍａｘで最大値をとる式である。
【００８０】
式（７）と式（８）は、ともに、特徴量を算出する式であるが、式（７）は、局所的なエネルギーを計算する式であり、式（８）は、局所的な最大値を計算する式である。ここで、この式の意味ついて説明を加える。
【００８１】
上記したような処理により、任意の角度における関数とスケールで抽出されたフィルタ係数を特徴量として、教師あり統計学習を行い、人などの対象物を検出する検出識別器を生成できる。しかしながら、この検出識別器では、例えば、人の着ている服装と背景の関係に依存する特徴量となってしまう。また、人のように歪みや変形の大きな認証対象に関しては、特徴量として選択性がありすぎる。よって、これらのことを吸収して処理する必要があり、それぞれの特徴量を不変性のある特徴量にする必要がある。
【００８２】
“人の着ている服装と背景に関係に依存する特徴量”を、不変性のある特徴量にするには、フィルタ処理後の出力値の絶対値を演算することで解決することができる。絶対値を演算することで、人の輪郭に近い特徴量が抽出できる。さらに本実施の形態においては、１次微分関数、２次微分関数、さらに３次微分関数を演算し、それぞれ絶対値の演算を行っている。よって、１次微分関数による絶対値だけで演算を行う場合に比べて、はるかに精度を良くすることができ、不変性を有する特徴量を算出できるようになる。
【００８３】
また、“人のように歪みや変形の大きな認証対象に関しては、特徴量として選択性がありすぎる”といったことに対しては、位置ずれによる不変演算を行うことで、そのようなこと吸収した特徴量を演算できるようになる。位置ずれによる不変演算とは、例えば、人の顔の輪郭を検出したとき、顔の形によらずその輪郭の長さはほぼ同じになるといったことを利用した演算である。換言すれば、輪郭の所定の部分に注目したとき、その部分が位置的にずれても、例えば、ほぼ丸顔の人の輪郭が位置的に移動し、細長い顔の人の輪郭に重なるようにしたときに、位置がずれただけで、その長さなどの値は不変であるとみなせる演算である。
【００８４】
このような演算として、式（７）のように、総和が演算される。総和を演算することにより、例えば、人の顔の輪郭の総和が演算されることになる。または、式（８）のように、最大値が演算される。最大値を演算することにより、例えば、人の顔の輪郭のうちの最大値が演算されることになる。
【００８５】
ここでは、総和と最大値という２つの演算を示した。換言すれば、上記したように、式（７）に基づき、局所的なエネルギーを計算する演算か、式（８）に基づき、局所的な最大値を計算する演算を示した。この他にも、局所的な最大値を有する点の周辺の局所的なエネルギーを計算する演算が行われるようにしても良い。これは、式（８）の演算結果を受けて、式（７）の演算を行うようなイメージである。または、局所的なエネルギーの周辺の最大値を計算する演算が行われるようにしても良い。これは、式（７）の演算結果を受けて、式（８）の演算を行うようなイメージである。具体的な式は示さないが、このような演算で特徴量が算出されるようにしても良い。
【００８６】
図６に示したフローチャートの説明に戻る。ステップＳ５８において、このような演算により、各特徴点から特徴量が算出される。そして、ステップＳ５９において、特徴量計算部２４は、全ての特徴点について処理が終了したか否かを判定する。例えば、特徴点抽出部２３から供給された全ての特徴点について、特徴量が求められた場合、処理が終了したと判定される。
【００８７】
ステップＳ５９において、全ての特徴点について処理が終了していないと判定された場合、処理はステップＳ５１に戻り、次の特徴点が注目画素として選択される。これに対して、ステップＳ５９において、全ての特徴点について処理が終了したと判定された場合、特徴量生成部５４は、特徴点抽出部２３から供給された学習画像と、生成された各特徴点の特徴量とを識別器生成部２５に供給する。そして、その後、処理は図５のステップＳ１４に進む。
【００８８】
なお、学習画像からの特徴量の抽出には、ステアラブルフィルタに限らず、ガボアフィルタなどが用いられるようにしてもよい。
【００８９】
図５のフローチャートの説明に戻り、各特徴点の特徴量が求められると、ステップＳ１４において、識別器生成部２５は、特徴量計算部２４から供給された学習画像および特徴量に基づいて、識別器生成処理を行い、識別器を生成する。このステップＳ１４において実行される識別器生成処理について、図７のフローチャートを参照して説明する。
【００９０】
ステップＳ１０１において、重み設定部６２は、例えば、図９で示される学習画像ＰＩｉ（１≦ｉ≦Ｍ）毎の重みＷｉを全て１／Ｍに初期化し、識別器選択部６５は、カウンタｊを１に、弱識別器の和からなる識別器Ｒ（ｘ）を０にそれぞれ初期化する。
【００９１】
ここで、ｉは、図９における学習画像ＰＩｉを識別するものであり、１≦ｉ≦Ｍである。ステップＳ１０１の処理により、全ての学習画像ＰＩｉの重みＷｉは、いずれも正規化された同一の重み（＝１／Ｍ）とされる。また、カウンタｊは、予め定められた、識別器Ｒ（ｘ）を更新する回数を示している。
【００９２】
ステップＳ１０２において、サンプリング部６１は、各特徴点のペア毎に、複数の学習画像ＰＩｉのそれぞれの同じ位置の特徴点のペアの特徴量から、学習画像ＰＩｉの重みＷｉに応じて、Ｍ個の特徴量を選択し、並び替え部６３に供給する。
【００９３】
例えば、特徴量計算部２４からサンプリング部６１に、図１０に示すように、Ｍ個の学習画像ＰＩ１乃至学習画像ＰＩＭの特徴量が供給されたとする。図１０では、図中、横方向に学習画像ＰＩｉ（但し、１≦ｉ≦Ｍ）から得られた特徴量が並べられており、学習画像を表す文字ＰＩｉの図中、左側の数字「＋１」または「−１」は、その学習画像ＰＩｉに付加されたラベル（正誤情報）を示している。
【００９４】
すなわち、図中、一番上側に横方向に並んでいる（Ａ１，Ａ２，Ａ３，・・・，ＡＮ）は、学習画像ＰＩ１の特徴点の各ペアの特徴量のそれぞれを表しており、学習画像ＰＩ１を示す文字「ＰＩ１」の図中、左側の文字「＋１」は、学習画像ＰＩ１に対象物体が含まれている旨のラベルを表している。
【００９５】
同様に、図中、上から二番目の横方向に並んでいる（Ｂ１，Ｂ２，Ｂ３，・・・，ＢＮ）は、学習画像ＰＩ２の特徴点の各ペアの特徴量のそれぞれを表しており、学習画像ＰＩ２を示す文字「ＰＩ２」の図中、左側の文字「＋１」は、学習画像ＰＩ２に対象物体が含まれている旨のラベルを表している。
【００９６】
また、図中、上から三番目の横方向に並んでいる（Ｃ１，Ｃ２，Ｃ３，・・・，ＣＮ）は、学習画像ＰＩ３の特徴点の各ペアの特徴量のそれぞれを表しており、文字「ＰＩ３」の図中、左側の文字「−１」は、学習画像ＰＩ３に対象物体が含まれていない旨のラベルを表している。さらに、図中、上からＭ番目の横方向に並んでいる（Ｍ１，Ｍ２，Ｍ３，・・・，ＭＮ）は、学習画像ＰＩＭの特徴点の各ペアの特徴量のそれぞれを表しており、文字「ＰＩＭ」の図中、左側の文字「−１」は、学習画像ＰＩＭに対象物体が含まれていない旨のラベルを表している。
【００９７】
このように、図１０の例では、１つの学習画像ＰＩｉからは、特徴点のＮ個のペアのそれぞれの特徴量が得られる。また、図１０では、縦方向に並んだＭ個の特徴量Ａｋ乃至特徴量Ｍｋ（但し、１≦ｋ≦Ｍ）が１つのグループＧｒｋとされており、このグループＧｒｋに属す特徴量は、各学習画像ＰＩｉにおける同じ位置の特徴点のペアの特徴量とされている。
【００９８】
例えば、グループＧｒ１は、縦方向に並んだ特徴量Ａ１乃至特徴量Ｍ１からなり、特徴量Ａ１が求められる学習画像ＰＩ１のペアとなる２つの特徴点と、グループＧｒ１に属す他の特徴量、例えば特徴量Ｍ１が求められる学習画像ＰＩＭのペアとなる２つの特徴点とは、学習画像上の同じ位置にある。なお、以下において、各学習画像ＰＩｉにおける特徴点のペアであって、グループＧｒｋ（１≦ｋ≦Ｎ）に属す特徴量が求まめられるペアをペアｋと称する。
【００９９】
サンプリング部６１に、図１０に示される学習画像ＰＩｉ毎の特徴量が供給された場合、サンプリング部６１は、ペアｋ毎、すなわちグループＧｒｋ毎に、そのグループに属す特徴量から学習画像ＰＩｉの重みＷｉに応じて、Ｍ個の特徴量を抽選で選択する。例えば、サンプリング部６１は、重みＷｉに応じて、グループＧｒ１に属す特徴量Ａ１乃至特徴量Ｍ１から、Ｍ個の特徴量を選択する。なお、最初の処理においては、いずれの重みＷｉも１／Ｍであり、等しいため、Ｍ個が抽選されると、確率的には全ての特徴量が選択されることになる。そのため、ここでは、最初の処理では各グループＧｒｋにおいて、全ての特徴量が選択されたものとする。もちろん、実際には、同一の特徴量が重複して選択されることもある。
【０１００】
なお、重みＷｉは、特徴点のペア毎のエラー計算に用いることもできる。この場合、データ重み係数（重みＷｉ）がエラー値に掛け合わされてエラー計算が行われる。
【０１０１】
ステップＳ１０３において、並び替え部６３は、Ｎ個のグループＧｒｋのそれぞれについて、グループＧｒｋ、すなわちペアｋ毎に選択されたＭ個の特徴量を昇順、または降順に並び替えて、識別器設定部６４に供給する。例えば、図１０のグループＧｒ１に属す特徴量から選択された、Ｍ個の特徴量が順番に並び替えられる。
【０１０２】
ステップＳ１０４において、識別器設定部６４は、特徴量計算部２４から供給された学習画像に付加されている正誤情報（ラベル）に基づいて、グループＧｒｋ毎、すなわち特徴点のペアｋ毎に、閾値を変化させながら誤り率計算部６４ａを制御して、以下の式（１１）で示すように誤り率ｅｊｋを計算させ、誤り率ｅｊｋが最小となるように閾値を設定する。
【０１０３】
ここで、特徴点のペアｋ毎の閾値ｔｈｊｋが、１個の弱識別器ｆｊｋとなる。識別器設定部６４は、弱識別器ｆｊｋごとの誤り率ｅｊｋを識別器選択部６５に供給する。すなわち、Ｎ個のペアｋのそれぞれに対して、Ｎ個の弱識別器ｆｊｋのそれぞれが設定され、Ｎ個の弱識別器ｆｊｋのそれぞれについて誤り率ｅｊｋが求められることになる。なお、弱識別器ｆｊｋは、認識しようとする対象物体を含む場合「＋１」を出力し、認識しようとする対象物体を含まない場合「−１」を出力する関数である。
【０１０４】
例えば、図１１に示すように、ｊ＝１であって、特徴点のペアｋ＝１の特徴量がＬ１，Ａ１，Ｃ１，Ｂ１，・・・，Ｍ１に昇順、または、降順に並べられた場合、閾値ｔｈ１１が特徴量Ａ１とＣ１の間に設定される。そして、閾値ｔｈ１１より小さい範囲では、認識しようとする対象物体がないと認識され（「−１」で示されている範囲）、閾値ｔｈ１１より大きい範囲では、認識しようとする対象物体があると認識される（「＋１」で示されている範囲）とき、図中の点線で囲まれた特徴量Ａ１は、認識しようとする対象物体が含まれた学習画像の特徴量であるので、エラーであるとみなされる。また、特徴量Ｃ１，Ｍ１は、逆に、認識しようとする対象物体が含まれていない学習画像の特徴量であるので、エラーであるとみなされる。
【０１０５】
図１１の例では、閾値ｔｈ１１は、誤り率ｅｊｋが最小となる位置に設定されている。例えば、図１１に示す閾値ｔｈ１１が、誤り率ｅｊｋの最小となる位置ではない場合には、識別器設定部６４は、閾値ｔｈ１１の位置を変化させて、各位置における誤り率ｅｊｋを参照しながら、誤り率ｅｊｋが最小となる閾値ｔｈ１１の位置を探し出し、その位置を閾値ｔｈ１１の位置とする。
【０１０６】
誤り率計算部６４ａは、以下の式（９）で示されるように、学習画像の正誤情報（ラベル）に基づいて、エラーであるとみなされた特徴量が抽出された学習画像の重みＷｉを加算し、誤り率ｅｊｋを計算する。
【０１０７】
【数９】
2011257805.tif 000011
【０１０８】
ここで、ｙ≠ｆｊｋはエラーとなっている特徴点のペアｋの条件を示しており、Ｅｗは、エラーの発生したペアｋにおける重みが加算されることを示している。
【０１０９】
ステップＳ１０５において、識別器選択部６５は、識別器設定部６４から供給されたペアｋ毎のＮ個の誤り率ｅｊｋに基づいて、Ｎ個の弱識別器ｆｊｋのうち、誤り率ｅｊｋが最小となる弱識別器ｆｊｋを選択する。そして、識別器選択部６５は、識別器設定部６４から選択した弱識別器ｆｊｋを取得する。
【０１１０】
ステップＳ１０６において、識別器選択部６５は、選択した弱識別器ｆｊｋの誤り率ｅｊｋに基づいて、以下の式（１０）で示される信頼度ｃｊを計算し、計算結果を重み更新部６６に供給する。
【０１１１】
【数１０】
2011257805.tif 000012
【０１１２】
なお、式（１０）において、ｅｊは、誤り率ｅｊｋのうち、選択された弱識別器ｆｊｋの誤り率ｅｊｋ、すなわちＮ個の誤り率ｅｊｋのうちの最小の誤り率ｅｊｋを示している。また、以下において、ステップＳ１０５の処理において選択されたペアｋの弱識別器を、弱識別器ｆｊとも称し、その弱識別器ｆｊの誤り率ｅｊｋを誤り率ｅｊとも称する。
【０１１３】
ステップＳ１０７において、重み更新部６６は、供給された信頼度ｃｊに基づいて、以下の式（１１）を計算することで、学習画像ＰＩｉ毎に重みＷｉを再計算するとともに、全ての重みＷｉを正規化して更新し、更新結果を重み設定部６２に供給する。重み設定部６２は、重み更新部６６より供給されてくる重みの更新結果に基づいて、学習画像毎の重みを設定する。
【０１１４】
【数１１】
2011257805.tif 000013
式（１１）においては、エラーの発生した特徴量を含む学習画像の重みＷｉが大きくなることが示されている。
【０１１５】
ステップＳ１０８において、識別器選択部６５は、新たに求められた弱識別器ｆｊを用いて、保持している識別器Ｒ（ｘ）を更新する。すなわち、識別器選択部６５は、次式（１２）を計算することで識別器Ｒ（ｘ）を更新する。
【０１１６】
Ｒ（ｘ）＝Ｒ’（ｘ）＋ｃｊ×ｆｊ（ｘ）                        ・・・（１２）
【０１１７】
式（１２）において、Ｒ’（ｘ）は、識別器選択部６５が保持している更新前の識別器を表しており、ｆｊ（ｘ）は、新たに求められた弱識別器ｆｊを表している。すなわち、識別器選択部６５は、保持している識別器に、信頼度ｃｊが乗算されて重み付けされた、新たに求められた弱識別器を加算することで識別器を更新する。
【０１１８】
ステップＳ１０９において、識別器選択部６５は、誤り率ｅｊｋが最小となる弱認識器ｆｊｋに対応する特徴点のペアｋの特徴量を、識別用特徴量として保持する。
【０１１９】
ステップＳ１１０において、識別器選択部６５は、カウンタｊがＬ以上であるか否かを判定する。ステップＳ１１０において、カウンタｊがＬ以上でないと判定された場合、ステップＳ１１１において、識別器選択部６５は、カウンタｊをインクリメントする。そして、その後、処理はステップＳ１０２に戻り、上述した処理が繰り返される。
【０１２０】
すなわち、新たに設定された学習画像毎の重みＷｉが用いられて、Ｎ個のペアｋについて、新たな弱識別器ｆｊｋが設定され、それらの弱識別器ｆｊｋから誤り率ｅｊｋが最小となる弱認識器ｆｊｋが選択される。そして、選択された弱認識器ｆｊｋにより、識別器が更新される。
【０１２１】
これに対して、ステップＳ１１０において、カウンタｊがＬ以上であると判定された場合、ステップＳ１１２において、識別器選択部６５は、保持している識別器および識別用特徴を識別器記憶部１２に出力する。
【０１２２】
以上の処理により、Ｌ個の比較的誤り率の低い弱識別器ｆｊ（１≦ｊ≦Ｌ）からなる識別器が識別器記憶部１２に供給されるとともに、それぞれの弱識別器ｆｊで使用されるべき特徴点のペアｋの特徴量が識別器記憶部１２に供給される。ここでＬは、Ｌ≦Ｎである。
【０１２３】
なお、式（１２）の識別器を用いて、特徴量を代入した識別器が正である場合に「＋１」を出力し、識別器が負である場合に「−１」を出力する識別器（関数）を生成すると、その識別器は、Ｌ個の弱識別器の多数決により、認識しようとする対象物体の有無を出力する関数であると言える。また、図６のフローチャートを参照して説明した弱識別器を学習処理により重み付けしつつ付加することを繰り返し、識別器を生成する学習処理は、Discrete Adaboost Algorithmと呼ばれている。
【０１２４】
すなわち、以上の識別器生成処理により、誤り率の高い学習画像の特徴量の重みが順次大きくなり、誤り率の低い特徴量の重みが小さくなるように、特徴点のペア毎に弱識別器と誤り率が計算される処理が繰り返されることになる。したがって、繰り返し処理（ステップＳ１０２乃至Ｓ１１１の処理）の中で、弱識別器を設定する際に選択される特徴量（ステップＳ１０２で選択される特徴量）は、徐々に誤り率の高いものが選択されやすくなるので、認識し難い特徴量が繰り返されるほどに選択されて学習が繰り返されることになるため、認識し難い学習画像の特徴量がより多く選択されることになり、最終的に高い認識率にすることが可能となる。
【０１２５】
また、繰り返し処理（ステップＳ１０２乃至Ｓ１１１の処理）の中で、識別器選択部６５は、常に誤り率の最も低いペアに対応する弱識別器を選択することになるので、学習処理の繰り返しにより、常に信頼度の最も高い特徴点のペアについての弱識別器が選択されて識別器に加算されることになり、繰り返される毎に精度の高い弱識別器が順次加算されることになる。
【０１２６】
さらに、識別器は、特徴量を用いて画像に対象物体としての人が含まれているか否かを識別する識別器である。そして、識別器を構成する各弱識別器に代入される特徴量に対応する特徴点のペアは、特徴点のペアのうち、入力された画像から対象物体を検出するのに適したペアである。
【０１２７】
上述したように、入力された画像を、異なる解像度の画像にし、その異なる解像度の画像に対してフィルタ処理を施すことにより、計算効率を向上させることが可能となり、処理速度を向上させることが可能となる。よって、例えば、リアルタイムに人などの対象物を認識することが可能となる。
【０１２８】
例えば、複数のスケールの画像に、複数のフィルタを用いた処理を行うと、多くのフィルタ演算を必要とし、処理時間や処理能力が増大してしまう可能性があった。しかしながら本実施の形態のように、複数のスケールの画像に、１つのフィルタを用いた処理を行うため、換言すれば、畳み込みが１スケールですむため、多くの演算を必要とせず処理を行えるため、処理速度を向上させることが可能となる。
【０１２９】
また、マルチスケールフィルタの場合、周波数が低くなる（ガウス幅σが大きくなる）と、畳み込み演算に時間がかかるが、本実施の形態によれば、上記したように、１つのガウス幅でフィルタを構成することが可能であり、複数のガウス幅のフィルタを用意する必要がなく、複数のガウス幅のフィルタで演算する必要がない。よって、本実施の形態によれば、仮に、最も高周波のフィルタを１つだけ用意して処理したとしても、マルチスケールフィルタの場合に比べて、はるかに処理速度を向上させることが可能となる。
【０１３０】
［ブースティングの打ち切り演算の最適化について］
このようにして、識別器が生成されると、さらに最適化が行われる。生成された識別器は、図１２に示すように、複数の弱識別器から構成される。図１２に示した識別器１００は、Ｎ個の弱識別器１０１−１乃至１０１−Ｎから構成されている。識別器１００は、弱識別器１０１−１での処理が終了すると、弱識別器１０１−２での処理が開始され、弱識別器１０１−２での処理が終了すると、弱識別器１０１−３での処理が開始されというように、順次、弱識別器１０１での処理が行われることで、最終的な識別結果が出される構成とされている。
【０１３１】
具体的には、以下の式（１３）に基づく演算が、識別器１００で行われる。
Ｆ（ｘ）＝ｆ１（ｘ）＋ｆ２（ｘ）＋ｆ３（ｘ）＋・・・＋ｆｎ（ｘ）    ・・・（１３）
式（１３）において、Ｆ（ｘ）は、識別器１００から出力される演算結果を示す。ｆ１（ｘ）は、弱識別器１０１−１での演算結果を示し、ｆ２（ｘ）は、弱識別器１０１−２での演算結果を示し、ｆ３（ｘ）は、弱識別器１０１−３での演算結果を示し、ｆｎ（ｘ）は、弱識別器１０１−Ｎでの演算結果を示す。
【０１３２】
識別器１００は、弱識別器１０１からの出力を順次加算する演算を行う。弱識別器１０１からの値を順次加算した値（累積加算値）が、閾値以下になった時点で、式（１３）における演算を停止することで、識別器１００における演算時間を短縮することができる。
【０１３３】
例えば、弱識別器１０１−１における演算結果が、
ｆ１（ｘ）＜ｔｈ１
が満たすとき、弱識別器１０１−１での演算で識別器１００における演算が打ち切られ、弱識別器１０１−２以降の演算は行われない。
【０１３４】
また例えば、弱識別器１０１−２における演算結果が、
ｆ１（ｘ）＋ｆ２（ｘ）＜ｔｈ２
が満たすとき、弱識別器１０１−２での演算で識別器１００における演算が打ち切られ、弱識別器１０１−３以降の演算は行われない。
【０１３５】
このように、各弱識別器１０１における和演算が、所定の閾値以下になった時点で、その弱識別器１０１で演算を停止し、それ以降の弱識別器１０１での演算を行わないことで、識別器１００において高速な演算を行うことが可能となる。各弱識別器１０１において適用される閾値を適切な値とすることで、演算の打ち切りのタイミングを適切なものとすることができる。
【０１３６】
ここで、図１３に、上記した式（１３）に基づく演算が行われたときのスコア（累積加算値）と弱識別器の数との関係を示すグラフを示す。図１３に示したグラフは、所定の個数、例えば１００個の弱識別器１０１−１乃至１０１−１００を用いたときのグラフであり、各弱識別器１０１に、ポジティブ画像とネガティブ画像を識別させたときのスコアをトレースしたグラフである。換言すれば、各弱識別器１０１における式（１３）で示される演算が終了した時点で、その時のＦ（ｘ）の値を弱識別器１０１と対応付けてトレースしたのが、図１３に示したグラフである。
【０１３７】
ポジティブ画像が処理されたときのスコアをトレースしたときの線（以下、適宜、ポジティブ線と記述する）とし、ネガティブ画像が処理されたときの累積加算値をトレースしたときの線（以下、適宜、ネガティブ線と記述する）とする。図１３に示したグラフにおいて、対象物体が写っているポジティブ画像が処理対象とされたときには、順次、弱識別器１０１での処理が終了するごとにスコアは増大する傾向にある。一方、対象物体が写っていないネガティブ画像が処理対象とされたときには、順次、弱識別器１０１での処理が終了するごとにスコアは減少する傾向にある。
【０１３８】
ネガティブ画像が処理されたときの最大値のスコアをトレースした線（以下、適宜、ネガティブ最大値線と記述する）を、図１３中に太い線で示す。また、ポジティブ画像が処理されたときの最小値のスコアをトレースした線（以下、適宜、ポジティブ最小値線と記述する）を、図１３中に太い線で示す。
【０１３９】
このようなグラフが作成されたとき、ポジティブ最小値線の下側に、ネガティブ線が来た時点で、その処理対象とされているサンプル画像に対する演算は打ち切られる。なお、実際の認識時には計算が打ち切られているので、スコアが足されることはない（打ち切られた以降に累積加算値が算出されることはない）が、図１３では、性質を理解するために、全部のサンプルに対して、累積加算値を求めて表示している。
【０１４０】
スコアを累積していくと、一度ポジティブ最小値線を下回ったネガティブなサンプル画像でも、スコアが上昇し、ポジティブ最小値線を越えることがあるが、演算が打ち切られることで、決してポジティブ画像であるという識別結果が出力されることはない。
【０１４１】
上記したポジティブ最小値線の下側に、ネガティブ線が来た時点における状況について説明を加える。例えば、識別器１００が、“手”を識別する識別器であったとする。このような場合、ポジティブ画像は、“手”が写っている画像であり、ネガティブ画像は、“手”が写っていない画像である。ポジティブ最小値線は、ポジティブ画像が処理されたときに、弱識別器１０１の累積加算値が取り得る最小値である。よって、ポジティブ最小値線よりも下側のスコア（最小値よりも小さいスコア）となるのは、ネガティブ画像が処理されたときである。
【０１４２】
よって、ポジティブ最小値線よりも下側のスコアとなったときには、処理対象とされたサンプル画像は、ネガティブ画像であると判断することができる。このことを利用すると、ポジティブ最小値線よりも下側のスコアとなったときには、その画像はネガティブ画像であると判断できるため、その時点で演算を打ち切り、ネガティブ画像であるとの識別結果を出力することができる。
【０１４３】
このように、ポジティブ最小値線よりも下側のスコアになった時点で、演算を打ち切ることで、識別器１００の演算時間を短縮することが可能となる。早い段階で演算を打ち切ることができれば、より高速化をはかることができる。上記したように、識別器１００は、複数の弱識別器１０１から構成され、それらの弱識別器１０１は、演算の順番が規定されている。よって、演算順序における先頭部分に配置された弱識別器１０１で打ち切りが行われれば、識別器１００の演算を高速化することができる。
【０１４４】
このようなことを考慮すると、弱識別器１０１の演算を行う順番を最適な順番とすることで、打ち切りを早い段階で行える識別器１００を生成することができる。例えば、打ち切りを行いやすい特徴を有する弱識別器１０１が先頭部分にあると、演算の打ち切りを先頭部分で行えるようになり、後半部分にある弱識別器１０１まで演算を行わなくても良くなる。このように、弱識別器１０１の最適な配置が、識別器１００の演算効率にかかわってくる。
【０１４５】
［第１の並び替えの処理について］
以下に、先頭部分に打ち切りを行いやすい弱識別器１０１がくるような配置に最適化する際の処理について説明する。第１の並び替えの方法として、ポジティブ最小値線より下側にネガティブ線がより多くくる弱識別器１０１が先頭部分に配置されるように最適化する際の処理について、図１４のフローチャートを参照して説明する。
【０１４６】
ステップＳ２０１において、サンプル学習画像が用意される。サンプル学習画像として、ポジティブ画像とネガティブ画像が用意される。この時点では、既に識別器１００が生成されているが、この識別器１００を生成したときに用いられたポジティブ画像やネガティブ画像がサンプル学習画像として用意されても良い。
【０１４７】
ステップＳ２０２において、識別器１００を構成する各弱識別器１０１の各サンプル学習画像に対するスコアが求められる。例えば、１００個の弱識別器１０１−１乃至１０１−１００で識別器１００が構成され、サンプル学習画像が１０００枚用意された場合、弱識別器１０１−１乃至１０１−１００のそれぞれに対して、１０００枚のサンプル学習画像が入力され、スコアが算出される。
【０１４８】
例えば、弱識別器１０１−１に、１０００枚のサンプル学習画像が入力され、処理されることにより、それぞれのサンプル学習画像に対する弱識別器１０１−１における１０００個のスコアが算出される。すなわち、ｆ１（ｘ）が、サンプル学習画像毎に算出されるため、１０００個のｆ１（ｘ）が存在する。同様に、他の弱識別器１０１も、ｆ（ｘ）を１０００個有することになる。この１０００個のスコアは、ポジティブ画像に対するスコアとネガティブ画像に対するスコアから構成される。後段の処理において、ポジティブ画像が処理されたときのスコアの最小値より小さいネガティブ画像のスコアが数えられ、その数値が、弱識別器１０１を選択する際に参照される数値とされる。
【０１４９】
同様に、弱識別器１０１−２乃至１０１−１００のそれぞれも、１０００個のスコアが算出され、ポジティブ画像が処理されたときのスコアの最小値より小さいネガティブ画像のスコアが数えられ、その数値が、弱識別器１０１を選択する際に参照される数値とされる。
【０１５０】
ステップＳ２０３において、ｉ＝０に初期化が行われる。ｉは、弱識別器１０１の処理した個数を示す値である。よってステップＳ２０３において初期化され、０に設定される。ステップＳ２０４において、ポジティブ画像のスコアの最下限値よりも低いスコアのネガティブ画像の数が、最も多くなる弱識別器１０１が、まだ選択されていない弱識別器１０１の中から選択される。この選択には、上記した数値が参照される。
【０１５１】
上記したように、まず弱識別器１０１−１のポジティブ画像が処理されたときのスコアのうちの最小値が求められ、その最小値よりもスコアが低くなるネガティブ画像の個数が数えられる。次に、弱識別器１０１−２のポジティブ画像が処理されたときのスコアのうちの最小値が求められ、その最小値よりもスコアが低くなるネガティブ画像の個数が数えられる。このような処理、すなわち、ポジティブ画像が処理されたスコアのうちの最小のスコアより小さいスコアのネガティブ画像の数が数えられるという処理が、弱識別器１０１−１００まで順次行われる。よってこの場合、このような処理が１００回繰り返される。
【０１５２】
その結果、各弱識別器１０１において、ポジティブ画像が処理されたスコアのうちの最小のスコアより小さいスコアのネガティブ画像の数（上記した数値）が決定されると、その決定された数のうち、最大値を有する弱識別器１０１が選択される。このようにして、１つの弱識別器１０１が選択されると、ｉの値が１だけインクリメントされ、ステップＳ２０５に処理が進められる。
【０１５３】
ステップＳ２０５において、ｉ＞弱識別器の数であるか否かが判断される。換言すれば、全ての弱識別器１０１に対して処理が終了され、最適化の処理（並び替えの処理）が終了したか否かが判断される。そして、ステップＳ２０５において、まだ処理は終了していないと判断された場合、ステップＳ２０４に処理が戻され、それ以降の処理が繰り返される。
【０１５４】
ステップＳ２０４に処理が戻されたときに処理対象とされる弱識別器１０１は、選択された弱識別器１０１を除く弱識別器１０１である。例えば、１００個の弱識別器１０１が処理対象とされていた場合、その１００個のうちの１個が選択された状態であれば、残りの９９個の弱識別器１０１が、以降の処理対象とされる。
【０１５５】
このような処理が繰り返されることで、識別器１００を構成する弱識別器１０１の演算順序が、先頭部分から順次決定される。このような処理が繰り返されることで、弱識別器１０１の並び替えが行われた識別器１００においては、比較的打ち切りが行われやすい弱識別器１０１が先頭部分に配置されているため、識別器１００として打ち切りが早く行え、演算時間を短縮できる識別器１００とすることが可能となる。
【０１５６】
ここで、並び替えが行われる前の識別器１００と並び替えが行われた後の識別器１００の検証結果を示す。図１５は、並び替えが行われる前の識別器１００におけるポジティブ最小値線（図中、ポジティブ最小値線Ａ）と、並び替えが行われた識別器１００におけるポジティブ最小値線（図中、ポジティブ最小値線Ｂ）とを、同一のグラフに示した図である。
【０１５７】
図１５に示したグラフのうち、丸で囲った部分、すなわち、識別器１００を構成する弱識別器１０１のうち、先頭部分におけるスコアを比較する。ポジティブ最小値線Ａは、先頭部分のスコアが低いのに対し、ポジティブ最小値線Ｂは、先頭部分のスコアが高く、平坦になっていることが図１５から読み取れる。ポジティブ最小値線Ａのようにスコアが低いと、そのスコアよりもさらに低いスコアとなる確率は低いことが読み取れる。よって、ポジティブ最小値線Ａのような特徴を有する識別器１００において、先頭部分に配置された弱識別器１０１で打ち切りが行われる可能性は低いことになる。
【０１５８】
ポジティブ最小値線Ａに対してポジティブ最小値線Ｂは、先頭部分のスコアが高いため、そのスコアより低いスコアが算出される可能性は高いことが読み取れる。また、スコアが平坦であるため、スコアが累積されれば（弱識別器１０１での演算が進めば）、ポジティブ最小値線Ｂよりも下回る確率も高くなることが読み取れる。よって、ポジティブ最小値線Ａよりもポジティブ最小値線Ｂの方が、より早く打ち切りが行われる可能性が高いことが、図１５からも読み取れる。
【０１５９】
このように、弱識別器１０１の並び替えを、上記したように行うことで、打ち切りが早い段階で実行される識別器１００を構成することが可能であることが実証された。
【０１６０】
上述した並び替えは、ポジティブ最小値線、すなわち、ポジティブ画像が処理されたときに取り得る最小値よりも小さいスコアを出すネガティブ画像の数（ネガティブ線の数）を基準として、並び替えを行う例であった。この場合、ポジティブ画像が処理されたときに取り得る最小値よりも小さいスコアであれば、ポジティブ画像ではない、すなわち、ネガティブ画像であるとして、打ち切りを行う例であった。
【０１６１】
ネガティブ最大値線、すなわち、ネガティブ画像が処理されたときに取り得る最大値よりも大きいスコアを出すポジティブ画像の数（ポジティブ線の数）を基準として、並び替えが行われるようにしても良い。この場合、ネガティブ画像が処理されたときに取り得る最大値よりも大きいスコアであれば、ネガティブ画像ではない、すなわち、ポジティブ画像であるとして、打ち切りが行われることを意味する。このように、ネガティブ画像が処理されたときに取り得る最大値が基準とされて、弱識別器１０１の並び替えが行われるようにしても良い。
【０１６２】
またそのようにした場合であっても、上記した処理と同様の処理で弱識別器１０１の並び替えを行うことが可能であるため、その説明は省略する。ただし、ステップＳ２０４においては、ネガティブ画像の最大値よりも大きいスコアのポジティブ画像の数が最も多くなる弱識別器１０１を選択する処理とされる点が、上述した説明の処理とは異なる。
【０１６３】
ポジティブ画像が処理されたときに取り得る最小値を基準とした並び替えの処理と、ネガティブ画像が処理されたときに取り得る最大値を基準として並び替えの処理を同時に行っても良い。この場合、ポジティブ最小値線よりも小さいスコアのネガティブ線の数が算出され、ネガティブ最大値線よりも大きいスコアのポジティブ線の数が算出され、その算出された数が最大の弱識別器１０１から順次配列される。
【０１６４】
［他の並び替えの処理について］
さらに他の並び替えの処理（第２の並び替えの処理）について説明する。上述したようにポジティブ最小値線やネガティブ最大値線を考慮した並び替えではなく、学習誤差を考慮した並び替えが行われるようにしても良い。学習誤差を考慮した並び替えを行う場合について、図１６に示したフローチャートを参照して説明する。
【０１６５】
ステップＳ２５１において、サンプル学習画像が用意され、ステップＳ２５２において、各弱識別器１０１における各サンプル学習画像に対するスコアが算出される。そして、ステップＳ２５３において、ｉが０に初期化される。このステップＳ２５１乃至Ｓ２５３の各ステップにおける処理は、図１４のフローチャートを参照して説明したステップＳ２０１乃至Ｓ２０３の処理と同様に行われるので、その詳細な説明は省略する。
【０１６６】
ステップＳ２５４において、学習誤差が最小となる弱識別器１０１が、まだ選択されていない弱識別器１０１のなかから１つ選択される。学習誤差が小さいということは、ネガティブ画像が入力されたときには、ネガティブ画像であるとの識別結果（スコア）を出し、ポジティブ画像が入力されたときには、ポジティブ画像であるとの識別結果（スコア）を出す可能性が高いことを意味している。よって、そのような弱識別器１０１が先頭部分に配置されるように、ステップＳ２５４の処理が行われる。
【０１６７】
学習誤差は、例えば、以下のように求めることができる。サンプル学習画像の総数がＮ枚であるとする。また、ポジティブ画像を処理したにもかかわらず、ネガティブ画像であると誤った判断がされてしまったサンプル学習画像の数をＡ枚とする。逆に、ネガティブ画像を処理したにもかかわらず、ポジティブ画像であると誤った判断がされてしまったサンプル学習画像の数をＢ枚とする。このような場合、学習誤差は、（Ａ＋Ｂ）／Ｎとされる。
【０１６８】
ステップＳ２５４において、学習誤差が最小となる弱識別器１０１が選択されると、ｉが１だけインクリメントされ、ステップＳ２５５の処理が実行される。ステップＳ２５５において、ｉが弱識別器の数以上になったか否かが判断される。ステップＳ２５５において、ｉが弱識別器の数以上になっていないと判断された場合、ステップＳ２５４に処理が戻され、それ以降の処理が繰り返される。
【０１６９】
このようにして、学習誤差が最小となる順に、弱識別器１０１を並び替えることで、早い段階で打ち切りを行える識別器１００を生成することが可能となる。
【０１７０】
［さらに他の並び替えの処理について］
上述した第１の並び替えの処理と、第２の並び替えの処理においては、弱識別器１０１毎のスコアを基準に並び替えを行う例であったが、次に、識別器１００のスコアを基準に並び替えを行う例を説明する。
【０１７１】
上記した式（１３）を再度記載する。
Ｆ（ｘ）＝ｆ１（ｘ）＋ｆ２（ｘ）＋ｆ３（ｘ）＋・・・＋ｆｎ（ｘ）    ・・・（１３）
上述した第１の並び替えの処理と、第２の並び替えの処理においては、式（１３）において、ｆ１（ｘ）、ｆ２（ｘ）、ｆ３（ｘ）、・・・、ｆｎ（ｘ）を基準に並び替えを行ったが、以下に説明する並び替えは、Ｆ（ｘ）を基準として並び替えが行われる例である。
【０１７２】
早い段階で打ち切りが行われる識別器１００を生成するならば、弱識別器１０１の配列で、考えられる全ての配列を試し、評価することが好ましい。例えば、弱識別器１０１の配列毎に、平均的な打ち切りの数を算出し、最も数が少ない弱識別器１０１の配列が選択されるようにする。しかしながら、例えば、１００個の弱識別器１０１の配列を全て評価する場合、
１００×９９×９８×・・・×１
通りの配列が存在し、それら全ての配列を評価するのは効率的ではない。
【０１７３】
そこで、以下に示すように、遺伝的アルゴリズムを適用して、弱識別器１０１の全ての配列を評価しなくても、全ての配列を評価したときと同等の結果が出せるような処理について説明する。遺伝的アルゴリズムはデータ（解の候補）を遺伝子で表現した「個体」を複数用意し、適応度の高い個体を優先的に選択して交叉（組み換え）・突然変異などの操作を繰り返しながら解を探索するアルゴリズムである。
【０１７４】
遺伝的アルゴリズムでは、主に、選択（淘汰、再生）、交叉（組み換え）、突然変異といった遺伝的操作が用いられる。「選択」は、生物の自然淘汰をモデル化したもので、適応度にもとづいて個体を増やしたり削除したりする操作である。「交叉（組み換え）」は、生物が交配によって子孫を残すことをモデル化したもので、個体の遺伝子の一部を入れ換える操作である。「突然変異」は、生物に見られる遺伝子の突然変異をモデル化したもので、個体の遺伝子の一部を変化させる操作である。
【０１７５】
遺伝的アルゴリズムを適用して弱識別器１０１の並び替えを行う場合の処理について、図１７のフローチャートを参照して説明する。ステップＳ３０１において、初期インデックス列が生成される。ここでは、１００個のインデックスが生成されるとして説明を続ける。インデックスとは、弱識別器１０１の配列が異なる識別器１００である。すなわち、ここでは、弱識別器１０１の配列が異なる識別器１００−１乃至１００−１００が生成される。
【０１７６】
１００個の識別器１００のうち、１つは学習の処理が行われた結果、生成された識別器１００とされる。この識別器１００は、弱識別器１０１の並び替えが行われる前の識別器１００である。残りの９９個は、ランダムに生成された識別器１００とされる。ランダムに生成された識別器１００とは、弱識別器１０１の配列が異なる識別器１００のことである。なお、残りの９９個の弱識別器１０１の１つとして、上記した処理で弱識別器１０１の並び替えが行われた識別器１００が含まれるようにしても良い。
【０１７７】
このようにして生成された１００個の識別器１００は、現世代の個体として扱われる。そして、ステップＳ３０２において、各個体（各識別器１００）に対する評価が行われる。ここでは、各識別器１００に同一のサンプル学習画像を処理させ、その時の演算の平均打ち切り弱識別器１０１の数により評価が行われるとする。平均打ち切り弱識別器１０１の数が少ないほど良い評価が付けられる。また、個数の少ない順にソートされる。
【０１７８】
ステップＳ３０３において、遺伝的アルゴリズムの遺伝的操作である「選択」が実行される。ステップＳ３０３においては、エリートが選択される。ここでのエリートとは、打ち切りの個数が少ない識別器１００（早い段階で打ち切りが行われる識別器１００）のことである。ステップＳ３０２における評価で、打ち切りの個数が少ない順にソートされているため、その上位のＮｅ個が選択される。ここでは、Ｎｅ個は１０個であるとして説明を続ける。
【０１７９】
ステップＳ３０４において、選択確率ｐが求められる。選択確率ｐは、例えば、後段のステップＳ３０５で交叉が行われるときに、処理対象とされる個体（この場合、識別器１００）が選択されるが、この選択のときに、選択されやすい個体と、そうでない個体を設けるために用いられる値である。選択確率ｐは、次式（１４）に基づいて算出される。
【数１４】
2011257805.tif 000014
【０１８０】
式（１４）において、rankとは、ソートされた順（打ち切り個数が少ない順）に付けられた値であり、ここでは、打ち切り個数が少ない順に、１、２・・・１００とのrankが付けられているとする。よって、式（１４）によれば、打ち切り個数が少ない方（rankが上位の方）の識別器１００の選択確率ｐが大きい値となり、選択されやすい識別器１００とされる。
【０１８１】
ステップＳ３０５において、遺伝的アルゴリズムの遺伝的操作である「交叉」が実行される。交叉は、選択確率ｐで選択したＮｃ組を交叉させることで行われる。ここで、Ｎｃ組は、３０組であるとして説明を続ける。３０組の識別器１００が選択されるため、６０個の識別器１００（個体）が選択されることになる。６０個の識別器１００（親の識別器１００）が選択され、交叉が行われた場合、６０個の識別器１００（子の識別器１００）が生成される。
【０１８２】
識別器１００は、複数の弱識別器１０１（ここでは、１００個の弱識別器１０１）から構成されているが、これらの弱識別器１０１は、それぞれ異なる弱識別器１０１である。交叉の結果、生成される識別器１００に、同一の弱識別器１０１が含まれることは好ましくない。よって、同一の識別器１００に、同一の弱識別器１０１が含まれないように交叉が行われる必要がある。
【０１８３】
ここでは、交叉の一例として、Order Based Crossoverという方式が適用されるとする。ここで、Order Based Crossover方式について、図１８を参照して説明する。図１８Ａに示すように、親１と親２が存在し、この親１と親２を交叉し、子１と子２を生成する場合を考える。図１８Ａに示すように、親１は、“２５０３６１４７”との配列であり、親２は、“３４０７２５１６”との配列である。
【０１８４】
まず親１からランダムにいくつかの遺伝子が選択される。ここでは、３個の遺伝子が選択されるとする。図１８Ａに示したように、遺伝子として、“５”、“０”、“１”が選択されたとする。次に、図１８Ｂに示すように、親１から選択された遺伝子を親２から除き、その遺伝子が除かれた親２を、子１に与える。この時点で、子１は、“３４＊７２＊＊６”との配列を有する。＊は、未確定な遺伝子を表す。
【０１８５】
次に、図１８Ｃに示すように、親１から選択した遺伝子を順番を保存したまま、順次、子１に割り当てる。親１から選択した遺伝子を順番を保存すると、その順番は、“５”、“０”、“１”となる。よって、この順で子１の“３４＊７２＊＊６”の＊の部分に、順次“５”、“０”、“１”を割り当てるため、子１は、“３４５７２０１６”となる。このようにすることで、子１が生成される。
【０１８６】
同様な処理が行われることで、図１８Ｄに示すような子２が生成される。子２は、“２４０３６１５７”との配列を有する。このような処理により交叉が行われることで、同一の遺伝子が同一の子に存在するようなことがない交叉を実行することが可能となる。このような処理により交叉が行われることで、同一の弱識別器１０１が同一の識別器１００に存在するようなことがないような交叉を実現することができる。
【０１８７】
図１７のフローチャートの説明に戻り、ステップＳ３０６において、遺伝的アルゴリズムの遺伝的操作である「突然変異」が実行される。突然変異は、選択確率ｐで選択したＮｍ個を突然変異させることで行われる。ここで、Ｎｍ個は、２０個であるとして説明を続ける。突然変異は、例えば、所定の確率で、ランダムに数箇所を入れ替えることで行われる。例えば、２．５％でランダムに２箇所の弱識別器１０１が入れ替えられることで、突然変異後の識別器１００が生成される。
【０１８８】
ステップＳ３０７において、Ｎｒ個の識別器１００がランダムに生成される。ステップＳ３０７においては、ステップＳ３０１において生成された初期インデックス列（この場合、１００個の識別器１００）とは異なる識別器１００が、Ｎｒ個生成される。ここで、Ｎｒ個は、１０個であるとして説明を続ける。
【０１８９】
ステップＳ３０８において、次世代が評価対象とされ、ステップＳ３０２以降の処理が繰り返される。次世代は、ステップＳ３０３で選択された１０個の識別器１００、ステップＳ３０５で交叉により生成された６０個の識別器１００、ステップＳ３０６で突然変異により生成された２０個の識別器１００、およびステップ３０７でランダムに生成された１０個の識別器１００から構成される。すなわち、合計１００個の識別器から次世代の個体が構成される。
【０１９０】
このような現世代の１００個の識別器１００から、次世代の１００個の識別器１００が生成され、その生成された次世代の１００個の識別器１００が新たな現世代の識別器１００とされ、処理が行われるといった処理が繰り返される。このような処理が繰り返されることで、結果が収束したと判断されるときに、図１７に示した第３の並び替えの処理は終了される。結果が収束したと判断されるのは、例えば、ステップＳ３０２における評価が行われた結果、最も打ち切りの個数が少ないとされた識別器１００の、その個数に、変化がなくなった時点とされる。
【０１９１】
このように、遺伝的アルゴリズムを適用して識別器１００を生成するようにした場合、識別器１００を構成する弱識別器１０１の全ての並び替えを評価して、最も良い識別器１００を見つけ出したときと同等の精度で、識別器１００を生成することができる。しかしながら、識別器１００を構成する弱識別器１０１の全ての並び替えを評価して、最も良い識別器１００を見つけ出すときと異なり、効率良く識別器１００を生成することが可能である。
【０１９２】
なお、上述した個数、例えば、Ｎｅ個、Ｎｃ組、Ｎｍ個、Ｎｒ個といった個数は、一例であり、そのような個数に限定されるわけでなく、また、そのような個数の比率に限定されるわけでもない。
【０１９３】
上述した第１の並び替えの処理、第２の並び替えの処理、および第３の並び替えの処理は、学習装置１１（図１）の学習の結果、生成された識別器１００に対して行われる。よって、第１乃至第３の並び替えの処理は、学習装置１１が、一度生成した識別器１００を最適化するために行う処理として、学習装置１１が行うようにしても良い。または、第１乃至第３の並び替えの処理は、認識装置１３が、既存の識別器１００を最適化するために行う処理として、認識装置１３が行うようにしても良い。
【０１９４】
［認識処理について］
次に、学習の結果を用いて、例えば、人などの対象物を検出（認識）するときの処理について説明を加える。認識装置１３に入力画像が入力され、対象物体としての人の検出が指示されると、認識装置１３は、人検出処理を開始して、入力画像から対象物体を検出する。以下、図１９のフローチャートを参照して、認識装置１３による人検出処理について説明する。
【０１９５】
なお、認識装置１３の画像入力部３１乃至特徴量計算部３４は、学習装置１１の画像入力部２１乃至特徴量計算部２４と同様に構成することが可能である。よって、上述した学習装置１１の画像入力部２１乃至特徴量計算部２４に関する説明や、フィルタなどの説明は、認識装置１３に対しても適用できる説明であり、同様の説明となるため、その詳細な説明は省略する。
【０１９６】
ステップＳ５０１において、認識装置１３の画像入力部３１（図１）に認識対象となる画像が入力され、多重解像度画像生成部３２に供給されると、多重解像度画像生成部３２により、多重解像度画像が生成される。この処理は、例えば、上述したステップＳ１１（図５）の処理と同様に行われ、その詳細な説明は既にしたので、ここではその説明を省略する。
【０１９７】
なお、多重解像度画像生成部３２で多重解像度画像を生成するとき、学習装置１１の多重解像度画像生成部２２が生成する多重解像度画像と同じスケール（解像度）の画像を生成するようにする。このように学習時のスケール係数（解像度に関する情報）と、認識時のスケール係数を合わせておくことで、認識時に効率の良いスキャンを行うことが可能となる。
【０１９８】
ステップＳ５０２において、特徴点抽出部３３は、図５のステップＳ１２の処理と同様の処理を行い、入力された入力画像から特徴点を抽出し、入力画像とともに特徴量計算部３４に供給する。よって、どのようなフィルタが用いられているかにより、抽出される特徴点の位置や、個数などは異なる。また、適用される多重解像度画像も、フィルタに適した画像が適用される。
【０１９９】
ステップＳ５０３において、特徴量計算部３４は、特徴点抽出部３３からの入力画像および特徴点に基づいて、特徴量計算処理を行い、各特徴点の特徴量を計算する。そして、特徴量計算部３４は、求められた特徴量を識別計算部３５に供給する。なお、この特徴量計算処理は、図６を参照して説明した特徴量計算処理と同様の処理であるため、その説明は省略する。
【０２００】
ステップＳ５０４において、識別計算部３５は、識別器記録部１２から識別用特徴量および識別器を読み出して、読み出した識別器に特徴量を代入して計算する。すなわち、識別計算部３５は、特徴量計算部３４からの特徴量のうちの識別用特徴量に対応するものを、式（７）または式（８）により示される識別器に代入して演算を行う。
【０２０１】
ここで、識別器を構成する弱識別器に代入される特徴量は、識別用特徴量とされた特徴量が求められた、学習画像の特徴点のペアまたは特徴点と同じ位置にある、入力画像上の特徴点のペアまたは特徴点から求められた特徴量である。また、識別用特徴量とされる特徴量は、統計学習処理時において、識別器を構成する弱識別器の設定に用いられた特徴量である。
【０２０２】
例えば、式（７）の演算が行われると、その演算の結果として、入力画像中に対象物体としての人が存在することを示す「＋１」、または入力画像中に対象物体としての人が存在しないことを示す「−１」が得られる。識別計算部３５は、識別器での演算結果を識別結果出力部３６に供給する。
【０２０３】
ステップＳ５０５において、識別結果出力部３６は、識別計算部３５からの演算結果に基づいて、物体（人）の検出結果を出力し、物体検出処理は終了する。すなわち、対象物体が入力画像で認識されたか否かの識別結果が出力される。
【０２０４】
例えば、対象物体が入力画像で認識されたか否かの識別結果として、対象物体としての人が検出された領域に枠が表示された入力画像などが、識別結果出力部３６に表示されるようにしてもよい。
【０２０５】
このようにして、認識装置１３は、入力画像から特徴点を抽出して、特徴点のペアの特徴量を求めるとともに、入力画像から特徴点を抽出して特徴量を求める。そして、認識装置１３は、求めた特徴量および特徴量と、識別器記録部１２に記録されている識別器とを用いて、入力画像から対象物体を検出する。
【０２０６】
このように、特徴量を用いて入力画像から対象物体を検出することで、より確実に画像から対象物体を検出することができる。
【０２０７】
［記録媒体について］
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０２０８】
図２０は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。コンピュータにおいて、ＣＰＵ（Central Processing Unit）１００１、ＲＯＭ（Read Only Memory）１００２、ＲＡＭ（Random Access Memory）１００３は、バス１００４により相互に接続されている。バス１００４には、さらに、入出力インタフェース１００５が接続されている。入出力インタフェース１００５には、入力部１００６、出力部１００７、記憶部１００８、通信部１００９、及びドライブ１０１０が接続されている。
【０２０９】
入力部１００６は、キーボード、マウス、マイクロフォンなどよりなる。出力部１００７は、ディスプレイ、スピーカなどよりなる。記憶部１００８は、ハードディスクや不揮発性のメモリなどよりなる。通信部１００９は、ネットワークインタフェースなどよりなる。ドライブ１０１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア１０１１を駆動する。
【０２１０】
以上のように構成されるコンピュータでは、ＣＰＵ１００１が、例えば、記憶部１００８に記憶されているプログラムを、入出力インタフェース１００５及びバス１００４を介して、ＲＡＭ１００３にロードして実行することにより、上述した一連の処理が行われる。
【０２１１】
コンピュータ（ＣＰＵ１００１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア１０１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０２１２】
コンピュータでは、プログラムは、リムーバブルメディア１０１１をドライブ１０１０に装着することにより、入出力インタフェース１００５を介して、記憶部１００８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部１００９で受信し、記憶部１００８にインストールすることができる。その他、プログラムは、ＲＯＭ１００２や記憶部１００８に、あらかじめインストールしておくことができる。
【０２１３】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０２１４】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０２１５】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０２１６】
１１  学習装置，  １２  識別器記録部，  １３  認識装置，  ２１  画像入力部，  ２２  多重解像度画像生成部，  ２３  特徴点抽出部，  ２４  特徴量計算部，  ２５  識別器生成部，  ３１  画像入力部，  ３２  多重解像度画像生成部，  ３３  特徴点抽出部，  ３４  特徴量計算部，  ３５  識別計算部，  ３６  識別結果出力部
【図１】
2011257805.tif 000015
【図２】
2011257805.tif 000016
【図３】
2011257805.tif 000017
【図４】
2011257805.tif 000018
【図５】
2011257805.tif 000019
【図６】
2011257805.tif 000020
【図７】
2011257805.tif 000021
【図８】
2011257805.tif 000022
【図９】
2011257805.tif 000023
【図１０】
2011257805.tif 000024
【図１１】
2011257805.tif 000025
【図１２】
2011257805.tif 000026
【図１３】
2011257805.tif 000027
【図１４】
2011257805.tif 000028
【図１５】
2011257805.tif 000029
【図１６】
2011257805.tif 000030
【図１７】
2011257805.tif 000031
【図１８】
2011257805.tif 000032
【図１９】
2011257805.tif 000033
【図２０】
2011257805.tif 000034