(57)【要約】【課題】認識対象に適した特徴量抽出器を容易に生成できるようにする。【解決手段】学習装置１３は、認識対象の人に関する特徴量を画像から抽出するために用いられるフィルタセットと、その特徴量を用いて所定の判別を行う判別器との双方を統計学習する。認識装置１１の特徴量抽出部は、学習装置１３により学習されたフィルタセットを用いて、入力画像から特徴量を抽出する。人検出部２２は、抽出された特徴量を用いて、学習装置により学習された前記判別器による判別を行い、その判別結果に基づいて、入力画像に人が含まれているか否かを検出する。本発明は、例えば、人検出に適用できる。【選択図】図１
2010266983.tif 000002
【特許請求の範囲】
【請求項１】
認識対象の物体に関する特徴量を画像から抽出するために用いられるパラメータのセットと、前記特徴量を用いて所定の判別を行う判別器との双方が統計学習されている場合、前記パラメータのセットを用いて、入力画像から前記特徴量を抽出する抽出手段と、
前記抽出手段により抽出された前記特徴量を用いて、前記判別器による判別を行い、その判別結果に基づいて、前記入力画像に前記物体が含まれているか否かを検出する検出手段と
を備える情報処理装置。
【請求項２】
前記特徴量は、たたみ込み演算により得られ、
前記パラメータのセットは、前記たたみ込み演算で用いられるフィルタセットである
請求項１に記載の情報処理装置。
【請求項３】
前記判別器は、Boosting統計学習における弱識別器（weak learner）である
請求項１に記載の情報処理装置。
【請求項４】
前記弱識別器と前記パラメータのセットは、認識対象の前記物体を含む画像が学習サンプルとして与えられ、前記学習サンプルから自己組織的に学習されて得られている
請求項１に記載の情報処理装置。
【請求項５】
前記学習サンプルを用いた学習のアルゴリズムとして、進化的アルゴリズムが採用されている
請求項４に記載の情報処理装置。
【請求項６】
認識対象の物体を画像から認識する情報処理装置が、
前記物体に関する特徴量を画像から抽出するために用いられるパラメータのセットと、前記特徴量を用いて所定の判別を行う判別器との双方が統計学習されている場合、前記パラメータのセットを用いて、入力画像から前記特徴量を抽出し、
抽出された前記特徴量を用いて、前記判別器による判別を行い、その判別結果に基づいて、前記入力画像に前記物体が含まれているか否かを検出する
ステップを含む情報処理方法。
【請求項７】
認識対象の物体を画像から認識する制御を行うコンピュータに、
前記物体に関する特徴量を画像から抽出するために用いられるパラメータのセットと、前記特徴量を用いて所定の判別を行う判別器との双方が統計学習されている場合、前記パラメータのセットを用いて、入力画像から前記特徴量を抽出し、
抽出された前記特徴量を用いて、前記判別器による判別を行い、その判別結果に基づいて、前記入力画像に前記物体が含まれているか否かを検出する
ステップを含む制御処理を実行させるプログラム。
【請求項８】
認識対象の物体に関する特徴量を画像から抽出するために用いられるパラメータのセットと、前記特徴量を用いて所定の判別を行う判別器との双方を統計学習する
学習装置。
【請求項９】
前記特徴量は、たたみ込み演算により得られ、
前記パラメータのセットは、前記たたみ込み演算で用いられるフィルタセットである
請求項８に記載の学習装置。
【請求項１０】
前記判別器は、Boosting統計学習における弱識別器（weak learner）である
請求項８に記載の学習装置。
【請求項１１】
認識対象の前記物体を含む画像を学習サンプルとして入力し、
前記学習サンプルを用いて、前記弱識別器と前記パラメータのセットを自己組織的に学習する
請求項８に記載の学習装置。
【請求項１２】
前記学習サンプルを用いた学習のアルゴリズムとして、進化的アルゴリズムが採用されている
請求項１１に記載の学習装置。
【請求項１３】
学習装置が、
認識対象の物体に関する特徴量を画像から抽出するために用いられるパラメータのセットと、前記特徴量を用いて所定の判別を行う判別器との双方を統計学習する
ステップを含む学習方法。
【請求項１４】
コンピュータに、
認識対象の物体に関する特徴量を画像から抽出するために用いられるパラメータのセットと、前記特徴量を用いて所定の判別を行う判別器との双方を統計学習する
ステップを含む制御処理を実行させるプログラム。
【請求項１５】
認識対象の物体に関する特徴量を画像から抽出するために用いられるパラメータのセットと、前記特徴量を用いて所定の判別を行う判別器との双方を統計学習する学習装置と、
前記学習装置により学習された前記パラメータのセットを用いて、入力画像から前記特徴量を抽出し、抽出された前記特徴量を用いて、前記学習装置により学習された前記判別器による判別を行い、その判別結果に基づいて、前記入力画像に前記物体が含まれているか否かを検出する情報処理装置と
を備える情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び方法、学習装置および方法、プログラム、並びに情報処理システムに関し、認識対象に適した特徴量抽出器を容易に生成できるようになった、情報処理装置及び方法、学習装置および方法、プログラム、並びに情報処理システムに関する。
【背景技術】
【０００２】
従来、画像を用いた人を検出する手法（以下、人検出手法と称する）は、主にセキュリティや車載用途のために研究開発されてきた（例えば非特許文献１乃至６参照）。
【０００３】
これらの人検出手法では、画像から人に関する特徴量が抽出される。
【０００４】
例えば、非特許文献２乃至６の人検出手法では、主となる特徴量としては、エッジ抽出による輪郭特徴量が採用されている。即ち、非特許文献２乃至６の人検出手法では、輪郭特徴量の様々な変化形を新たな特徴量として定義し、これらの新たな特徴量を用いて人が検出される。
【０００５】
具体的には例えば、非特許文献２においては、GaussianDerivativesを用いた輪郭特徴量を用いて、人の体の各パーツが表現されている。例えば、非特許文献３においては、エッジのある小領域内の方向ヒストグラムにより、輪郭特徴量が表現されている。例えば、非特許文献５においては、輪郭特徴量を用いた学習として、エッジの小領域の教師ありの学習と、それらを階層的に教師ありの学習とがなされた結果得られるモデルが用いられている。また例えば、非特許文献６においては、輪郭特徴量のために、エッジのグローバルテンプレートが用いられている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】A General Framework for Object DetectionPapageorgiou, C., M. Oren, and T. Poggio.Proceedings of the Sixth International Conference o Computer Vision (ICCV'98), Bombay, India, 555-562, January 1998.
【非特許文献２】Human detection based on a probabilistic assembly of robust part detectorsK. Mikolajczyk, C. Schmid, and A. ZissermanProc. ECCV, 1:69.81, 2004
【非特許文献３】Histograms of Oriented Gradients for Human DetectionNavneet Dalal and Bill TriggsCVPR2005
【非特許文献４】Detection of multiple, partially occluded humans in a single image by bayesian combination of edgelet part detectorsB. Wu and R. NevatiaIn Proc. 10th Int. Conf. Computer Vision, 2005.
【非特許文献５】Detecting Pedestrians by Learning Shapelet FeaturesPayam Sabzmeydani and Greg MoriCVPR2007
【非特許文献６】An Experimental Study on Pedestrian ClassificationS.Munder and D.Gavrilla
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献１乃至６を含む従来の人検出手法では、自然人が用意した特徴量抽出器が採用されていた。
【０００８】
このため、従来、自然人は、特徴量抽出器のパラメータ設定に多大な労力が必要であった。
【０００９】
さらに、特徴量抽出器の精度は、後段の統計学習器の性能に大きく影響する。このため、従来、自然人が、認識対象（ここでは人）に応じて、特徴量抽出器のパラメータ設定のチューニングをする必要があり、より一段と多大な労力が必要になっていた。
【００１０】
以上まとめると、人検出手法の性能を高めるためには、認識対象に適した特徴量抽出器を用いることが必要である。しかしながら、認識対象に適した特徴量抽出器を生成するためには、特徴量抽出器のパラメータ設定のチューニングが必要になる。従来、そのようなチューニングは自然人の手によって行われていたため、多大な労力が必要であった。その結果、認識対象に適した特徴量抽出器を生成することは非常に困難であるし、仮に生成できたとしても生成するまでの労力は多大なものとなっていた。
【００１１】
本発明は、このような状況に鑑みてなされたものであり、認識対象に適した特徴量抽出器を容易に生成できるようにするものである。
【課題を解決するための手段】
【００１２】
本発明の一側面の情報処理装置は、認識対象の物体に関する特徴量を画像から抽出するために用いられるパラメータのセットと、前記特徴量を用いて所定の判別を行う判別器との双方が統計学習されている場合、前記パラメータのセットを用いて、入力画像から前記特徴量を抽出する抽出手段と、前記抽出手段により抽出された前記特徴量を用いて、前記判別器による判別を行い、その判別結果に基づいて、前記入力画像に前記物体が含まれているか否かを検出する検出手段とを備える。
【００１３】
前記特徴量は、たたみ込み演算により得られ、前記パラメータのセットは、前記たたみ込み演算で用いられるフィルタセットである。
【００１４】
前記判別器は、Boosting統計学習における弱識別器（weak learner）である。
【００１５】
前記弱識別器と前記パラメータのセットは、認識対象の前記物体を含む画像が学習サンプルとして与えられ、前記学習サンプルから自己組織的に学習されて得られている。
【００１６】
前記学習サンプルを用いた学習のアルゴリズムとして、進化的アルゴリズムが採用されている。
【００１７】
本発明の一側面の情報処理方法および第１のプログラムは、上述した本発明の一側面の情報処理装置に対応する方法およびプログラムである。
【００１８】
本発明の一側面の情報処理装置および方法並びに第１のプログラムにおいては、認識対象の物体を画像から認識する情報処理装置またはコンピュータによって、前記物体に関する特徴量を画像から抽出するために用いられるパラメータのセットと、前記特徴量を用いて所定の判別を行う判別器との双方が統計学習されている場合、前記パラメータのセットを用いて、入力画像から前記特徴量が抽出され、抽出された前記特徴量を用いて、前記判別器による判別が行われ、その判別結果に基づいて、前記入力画像に前記物体が含まれているか否かが検出される。
【００１９】
本発明の一側面の学習装置は、認識対象の物体に関する特徴量を画像から抽出するために用いられるパラメータのセットと、前記特徴量を用いて所定の判別を行う判別器との双方を統計学習する。
【００２０】
前記特徴量は、たたみ込み演算により得られ、前記パラメータのセットは、前記たたみ込み演算で用いられるフィルタセットである。
【００２１】
前記判別器は、Boosting統計学習における弱識別器（weak learner）である。
【００２２】
前記学習装置は、認識対象の前記物体を含む画像を学習サンプルとして入力し、前記学習サンプルを用いて、前記弱識別器と前記パラメータのセットを自己組織的に学習する。
【００２３】
前記学習サンプルを用いた学習のアルゴリズムとして、進化的アルゴリズムが採用されている。
【００２４】
本発明の一側面の学習方法および第２のプログラムは、上述した本発明の一側面の学習装置に対応する方法およびプログラムである。
【００２５】
本発明の一側面の学習装置および方法並びに第２のプログラムにおいては、認識対象の物体に関する特徴量を画像から抽出するために用いられるパラメータのセットと、前記特徴量を用いて所定の判別を行う判別器との双方が統計学習される。
【００２６】
本発明の一側面の情報処理システムは、認識対象の物体に関する特徴量を画像から抽出するために用いられるパラメータのセットと、前記特徴量を用いて所定の判別を行う判別器との双方を統計学習する学習装置と、前記学習装置により学習された前記パラメータのセットを用いて、入力画像から前記特徴量を抽出し、抽出された前記特徴量を用いて、前記学習装置により学習された前記判別器による判別を行い、その判別結果に基づいて、前記入力画像に前記物体が含まれているか否かを検出する情報処理装置とを備える。
【００２７】
本発明の一側面の情報処理システムにおいては、学習装置によって、認識対象の物体に関する特徴量を画像から抽出するために用いられるパラメータのセットと、前記特徴量を用いて所定の判別を行う判別器との双方が統計学習される。前記学習装置により学習された前記パラメータのセットを用いて、入力画像から前記特徴量が抽出され、抽出された前記特徴量を用いて、前記学習装置により学習された前記判別器による判別が行われ、その判別結果に基づいて、前記入力画像に前記物体が含まれているか否かが検出される。
【発明の効果】
【００２８】
本発明によれば、認識対象に適した特徴量抽出器を容易に生成できる。
【図面の簡単な説明】
【００２９】
【図１】本発明が適用される情報処理システムの一実施形態としての人検出システムの機能的構成例を示す機能ブロック図である。
【図２】図１の認識装置による認識処理の一例を説明するフローチャートである。
【図３】フィルタの具体例を示す図である。
【図４】図３のフィルタを用いるたたみ込み演算やスコア演算の具体例を示す図である。
【図５】図１の学習装置の機能的構成例を示す機能ブロック図である。
【図６】図１の学習装置による学習処理の一例を説明するフローチャートである。
【図７】学習アルゴリズムの一例としての第１進化的アルゴリズムを説明する図である。
【図８】学習アルゴリズムの一例としての第２進化的アルゴリズムを説明する図である。
【図９】本発明が適用されるコンピュータのハードウェアの構成例を示すブロック図である。
【発明を実施するための形態】
【００３０】
以下、図面を参照して、本発明が適用される情報処理システムの実施形態について説明する。
【００３１】
［情報処理システムの構成例］
【００３２】
図１は、本発明が適用される情報処理システムの一実施形態としての人検出システムの機能的構成例を示している。
【００３３】
なお、検出対象は、図１の例では、従来の比較を容易なものとすべく人とされているが、図１の例に限定されず、画像にオブジェクト（実世界の任意の物体の射影）として含まれる物体であれば足りる。
【００３４】
図１の例の人検出システムは、認識装置１１、学習結果保持部１２、および、学習装置１３から構成されている。
【００３５】
［認識装置の構成例］
【００３６】
認識装置１１は、特徴量抽出部２１と人検出部２２から構成されている。
【００３７】
［認識装置の処理例］
【００３８】
図２は、認識装置１１の処理（以下、認識処理と称する）の一例を説明するフローチャートである。
【００３９】
ステップＳ１１において、認識装置１１の特徴量抽出部２１は、入力画像を入力する。
【００４０】
ステップＳ１２において、特徴量抽出部２１は、入力画像に対して、フィルタセットを用いたフィルタリング処理を施す。フィルタリング処理の結果として、特徴量が検出されることになる。なお、図中のかっこ書きにあるたたみ込み演算については、後述する。
【００４１】
ここで注目すべき点は、フィルタセットとは、特徴量抽出器の各パラメータのセットに相当するものであるが、人が用意したものではなく、予め学習装置１３によって学習され学習結果保持部１２に保持されている点である。即ち、このようなフィルタセットにより抽出された特徴量は、認識装置１１による認識対象（本実施形態では人）にとって適切な特徴量であって、学習装置１３により自己組織的に学習された特徴量であると把握できる点である。
【００４２】
なお、フィルタリング処理の詳細や、フィルタセットの学習の詳細については、後述する。
【００４３】
ステップＳ１３において、人検出部２２は、特徴量抽出部２１から抽出された特徴量と、判別器を用いて、スコア演算を実行する。人検出部２２は、スコア演算の結果に基づいて、入力画像から人を検出する。なお、スコア演算については後述する。
【００４４】
ステップＳ１３の処理が終了すると、認識処理は終了となる。
【００４５】
ここで注目すべき点は、判別器とは、人が用意したものではなく、予め学習装置１３によってフィルタセットともに学習され学習結果保持部１２に保持されている点である。即ち、このような学習により生成された判別器は、認識対象（本実施形態では人）にとって適切な判別器となっているので、かかる判別器を用いることにより検出性能がより一段と向上するという点である。
【００４６】
［フィルタリング処理やスコア演算の具体例］
【００４７】
ここで、フィルタリング処理やスコア演算の具体例について説明する。
【００４８】
この例のスコア演算では、Boostingによる識別器が用いられる。
【００４９】
即ち、「Y. Freund, R. Schapire, “Experiments with a new boosting algorithm”. IEEE Int. Conf. On Machine Learning, pp.148-156, 1996」には、AdaBoostが開示されている。AdaBoostとは、“ランダムよりも少し良い弱い識別器”を多数組み合わせることで、“強い識別器”を構築できるとする理論をいう。なお、以下、“ランダムよりも少し良い弱い識別器”を、弱識別器と称する。弱識別器はWeakLearnerとも称されている。また、“強い識別器”を、強識別器と称する。この強識別器が、Boostingによる識別器である。
【００５０】
ここで、強識別器をF(v)と記述し、ｉ番目（ｉは１乃至N以下の整数値。ただし、Nは１以上の整数値）の弱識別器をfi(v)と記述した場合、次の式（１）の関係が成立する。
【００５１】
【数１】
2010266983.tif 000003
・・・（１）
【００５２】
式（１）に示されるように、N個の弱識別器f1(v)乃至fN(v)を集めることで、強識別器F(v)が構成される。
【００５３】
式（１）において、ｖは、特徴量ベクトルを示している。特徴量ベクトルｖは、特徴量抽出器により画像から抽出される。即ち、従来においては、特徴量ベクトルｖは、人が用意した特徴量セット（特徴量抽出器の各パラメータのセット）により構成される特徴量抽出器によって、画像から抽出されていた。
【００５４】
例えば、非特許文献１には、特徴量ベクトルｖの作り方の手法として、Histogram of Oriented Gradient (HOG)が開示されている。HOGでは、ある決められた局所領域内のエッジの方向ヒストグラムに基づいて、特徴量ベクトルｖが生成される。この特徴量セット（特徴量抽出器の各パラメータのセット）には、局所領域のサイズや、ヒストグラムのビンサイズなど、多くのパラメータが含まれている。これらのパラメータによって、強識別器Ｆ（ｖ）の性能は大きく影響されることになる。従って、これらの各パラメータのセット（特徴量セット）として最適なパラメータセットを人が用意するためには、多大な労力が必要となる。
【００５５】
また例えば、非特許文献２には、特徴量ベクトルｖの作り方の手法として、Haar特徴が開示されている。Haar特徴においては、ある2つの領域の差分が特徴量となる。即ち、これらの２つの領域（領域のサイズや場所）を特定したりするための各パラメータが、特徴量セット（特徴量抽出器の各パラメータのセット）になる。従って、最適な特徴量セットを人が用意するためには、領域のサイズや場所について最適なものを求める必要がある。しかしながら、このようなものを求めるためには、多大な労力が必要となる。
【００５６】
これに対して、本発明が適用される認識装置１１においては、特徴量セット（特徴量抽出器の各パラメータのセット）として、予め学習装置１３によって学習され学習結果保持部１２に保持されたフィルタセットが採用される。
【００５７】
具体的には例えば、特徴量ベクトルｖは、次の式（２）に示されるように、予め用意された関数Ｇ(Ｉ)を用いて、次の式（２）に示されるように抽出される。なお、式（２）において、Iは画像を示すパラメータである。
【００５８】
【数２】
2010266983.tif 000004
・・・（２）
【００５９】
例えばこの例では、関数Ｇ（Ｉ）としては、次の式（３）に示される関数が採用される。
【００６０】
【数３】
2010266983.tif 000005
・・・（３）
【００６１】
式（３）において、右辺は、パラメータK,x,y,sを有する所定の演算式を示している。パラメータKは、画像Ｉに対して適用する、nxnの畳み込みフィルタカーネルを示している。パラメータx,yは、画像Ｉ上の画素点座標(x,y)を示している。パラメータsは、画像Ｉがマルチスケール画像の場合におけるピラミッドレベルを示している。
【００６２】
具体的には例えばこの例では、ｉ番目の弱識別器fi(v)に入力される特徴量viは、次の式（４）に示されるように、関数Giの畳み込みフィルタカーネルKiを用いるたたみ込み演算（積和演算）によって算出される。
【００６３】
【数４】
2010266983.tif 000006
・・・（４）
【００６４】
式（４）において、imgiとは、認識対象の画像のうち、関数Giの画素点座標(x,y)における画素群（ブロック画像）を示している。画素群の数（ブロックの大きさ）は、関数Giのピラミッドレベルsに応じて可変する。
【００６５】
このような式（４）に示されるたたみ込み演算（積和演算）が、図２のステップＳ１２において特徴量抽出部２１によるフィルタリング処理の一例として実行される。即ち、関数Giがフィルタの一例であり、関数GiのパラメータKi,xi,yi,siのセットがフィルタセット（フィルタ係数）の一例である。よって、以下、関数GiをフィルタGiと適宜称する。即ち、フィルタG1乃至GNの各フィルタセットが、学習装置１３によって学習されて学習結果保持部１２に保持されているのである。
【００６６】
また、次の式（５）に示されるように、たたみ込み演算（フィルタリング処理）によって得られた特徴量ベクトルviを用いて、ｉ番目の弱識別器fi(v)の出力が算出される。
【００６７】
【数５】
2010266983.tif 000007
・・・（５）
【００６８】
式（５）において、thiは所定の閾値を示しており、ai,biはそれぞれ所定の係数を示している。
【００６９】
このような式（５）で示される弱識別器f1(v)乃至fN(v)が、判別器の一例である。このような判別器（閾値thiや係数ai,bi）は、学習装置１３によってフィルタセットともに学習されて学習結果保持部１２に保持されているのである。即ち、判別器とは、Boosting統計学習器の一例である。
【００７０】
このような弱識別器f1(v)乃至fN(v)の出力結果を総加算したものが、式（１）で示される強識別器F(v)の出力結果になる。この強識別器F(v)の出力結果が、ステップＳ１３における人検出部２２によるスコア演算の結果の一例である。即ち、上述した式（５）に従って、弱識別器f1(v)乃至fN(v)のそれぞれが演算され、各演算結果の総加算が行われるまでの一連の演算処理が、スコア演算の一例である。
【００７１】
図３と図４を参照して、たたみ込み演算（フィルタリング処理）やスコア演算の具体例についてさらに説明する。
【００７２】
図３は、フィルタGiの具体例を示す図である。
【００７３】
図４は、図３のフィルタGiを用いるたたみ込み演算（フィルタリング処理）やスコア演算の具体例を示す図である。
【００７４】
例えば、図３に示されるフィルタG1乃至G10(N=10)の各フィルタセット（フィルタ係数）が、予め学習装置１３によって学習されて学習結果保持部１２に保持されているとする。
【００７５】
この場合、図２のステップＳ１２の処理として、図４の表の左の列に示されるたたみ込み演算が行われ、特徴量ベクトルv1乃至v10が算出される。
【００７６】
次に、ステップＳ１３の処理として、図４の表の右の列に示されるスコア演算が行われる。即ち、たたみ込み演算の結果得られた特徴量ベクトルv1乃至v10を用いて、上述した式（５）の演算がそれぞれ実行されることで、弱識別器f1(v)乃至fN(v)の出力結果（各スコア）が得られる。弱識別器f1(v)乃至fN(v)の出力結果（各スコア）の総加算が行われ、その総加算値（合計スコア）が強識別器F(v)の出力結果として得られる。この合計スコアに基づいて、入力画像に人が含まれているか否かが検出される。これにより、認識処理は終了となる。
【００７７】
以上、認識装置１１について説明した。次に、学習装置１３について説明する。
【００７８】
［学習装置の構成例］
【００７９】
図５は、学習装置１３の機能的構成例を示している。
【００８０】
学習装置１３は、フィルタセット初期化部３１、フィルタセット評価部３２、フィルタセット更新部３３、および判別器更新部３４から構成されている。
【００８１】
［学習装置の処理例］
【００８２】
図６は、学習装置１３の処理（以下、学習処理と称する）の一例を説明するフローチャートである。
【００８３】
ステップＳ２１において、学習装置１３は、人画像を入力する。人画像とは、人が含まれている画像をいう。
【００８４】
ステップＳ２２において、学習装置１３のフィルタセット初期化部３１は、フィルタセットを初期化する。
【００８５】
例えば、フィルタセット初期化部３１は、各フィルタGi毎に、ランダムの値を各パラメータ値とするフィルタセットを生成することで、フィルタセットを初期化する。
【００８６】
ステップＳ２３において、フィルタセット評価部３２は、フィルタセットを評価する。
【００８７】
具体的には例えば、フィルタセット評価部３２は、現在のフィルタセットを用いて、人画像に対してフィルタリング処理（たたみ込み演算）をする。そして、フィルタセット評価部３２は、フィルタリング処理（たたみ込み演算）の結果を、現在の判別器に代入して演算する。そして、フィルタセット評価部３２は、その演算結果に基づいて、例えば現在の判別器の判別誤差に基づいて、現在のフィルタセットを評価する。
【００８８】
現在のフィルタセットとは、ステップＳ２２の処理の後のステップＳ２３の処理の場合には、ステップＳ２２の処理で初期化されたフィルタセットをいう。また、ステップＳ２６の処理でＮＯであると判定された後のステップＳ２３の処理の場合には、前回のステップＳ２４の処理で更新されたフィルタセットをいう。
【００８９】
また、現在の判別器とは、ステップＳ２２の処理の後のステップＳ２３の処理の場合には、デフォルトとして用意された所定の判別器をいう。また、ステップＳ２６の処理でＮＯであると判定された後のステップＳ２３の処理の場合には、前回のステップＳ２５の処理で更新された判別器をいう。
【００９０】
ステップＳ２４において、フィルタセット更新部３３は、ステップＳ２３の評価結果に基づいて、フィルタセットを更新する。更新されたフィルタセットは、フィルタセット評価部３２に供給され、次の回のステップＳ２３の処理において、現在のフィルタセットとして利用される。
【００９１】
ステップＳ２５において、判別器更新部３４は、ステップＳ２３の評価結果に基づいて、判別器を更新する。更新された判別器は、フィルタセット評価部３２に供給され、次の回のステップＳ２３の処理において、現在の判別器として利用される。
【００９２】
ステップＳ２６において、学習装置１３は、処理の終了が指示されたか否かを判定する。
【００９３】
処理の終了がまだ指示されていない場合、ステップＳ２６においてＮＯであると判定されて、処理はステップＳ２３に戻され、それ以降の処理が繰り返される。即ち、ステップＳ２３乃至Ｓ２６のループ処理が繰り返されることで、フィルタセットの評価が徐々に高くなっていくような学習が行われる。このような学習が進むに連れ、認識対象（本実施形態では人）に適切となっていくように、フィルタセットと判別器が順次更新されていく。
【００９４】
学習が終了した場合、処理の終了が指示されたとして、ステップＳ２６においてＹＥＳであると判定されて、処理はステップＳ２７に進む。
【００９５】
ステップＳ２７において、フィルタセット更新部３３と判別器更新部３４は、学習により認識対象（本実施形態では人）にとって適切となったフィルタセットと判別器を、学習結果保持部１２に保存する。これにより、学習処理は終了となる。
【００９６】
このような学習処理の結果として学習結果保持部１２に保持されたフィルタセットと判別器は、即ち、認識対象（本実施形態では人）にとって適切となったフィルタセットと判別器は、認識装置１１による認識処理において利用される。よって、認識装置１１の認識性能が向上するという効果を奏することができる。
【００９７】
また、このような学習処理は学習装置１３によって自動的に実行される。即ち、自動的に、学習サンプル（ステップＳ２１の処理で入力された人画像）から、認識対象にとって適切なフィルタセット（特徴量抽出器）と判別器が得られる。よって、人にとっては、フィルタセットや判別器のパラメータチューニングが不要となり、労力が大幅に低減するという効果を奏することができる。
【００９８】
次に、かかる学習処理に適用可能な学習アルゴリズムの具体例について説明する。以下の例では、学習アルゴリズムとしては、進化的アルゴリズム（遺伝的アルゴリズム）が採用される。即ち、以下の例とは、進化的アルゴリズムを用いて、フィルタセットや判別器のパラメータを最適化することで求めようとする例である。なお、以下の例では、最適化は、判別誤差による基準が採用される。
【００９９】
［学習アルゴリズムの具体例］
【０１００】
図７は、学習アルゴリズムの一例としての進化的アルゴリズムを説明する図である。
【０１０１】
図７の例では、遺伝子としては、人画像の画素点座標(x,y)におけるフィルタGiの１つが採用される。なお、以下、図７の例の学習アルゴリズムを、第１進化的アルゴリズムと称する。
【０１０２】
図７の１行目のnumWLは、弱識別器f(v)の総数を示している。例えば上述の例にあわせると、numWL＝Nになる。即ち、上述の例でいえば、弱識別器f1(v)乃至fN(v)のそれぞれを求めるために、２行目乃至９行目の処理が繰り返し実行されることになる。
【０１０３】
図７の２行目には、１世代目の遺伝子（初期のフィルタGiの候補）を所定個数だけ生成するため、任意のフィルタセットを所定個数だけ生成する処理が記述されている。即ち、２行目の処理は、図６のステップＳ２２の処理に該当する。
【０１０４】
図７の３行目のnumGenerationsは、最終世代数を示している。即ち、最終世代になるまで、各世代毎に、３行目乃至８行目の処理が繰り返されることになる。
【０１０５】
図７の４行目のnumGenesは、遺伝子の総数であり、ここではとある世代に属するフィルタGiの候補の個数を示している。図７の５行目には、フィルタGiの候補（１つの遺伝子）のフィルタセットについて評価する処理が記述されている。即ち、４行目乃至６行目の処理が繰り返されることで、とある世代に属する各遺伝子（フィルタGiの各候補）のそれぞれについて、それらのフィルタセットの評価が順次行われる。具体的には例えば、とある世代に属する各遺伝子（フィルタGiの各候補）のそれぞれに対して、組となる弱識別器（判別器の候補）が１つずつ存在する。よって、とある遺伝子（フィルタGiの１つの候補）のフィルタセットは、それと組になる弱識別器（判別器の候補）の判別誤差により評価される。換言すると、フィルタGiの各候補は、regression stumpで評価される。即ち、４行目乃至６行目の処理は、図６のステップＳ２３の処理に該当する。
【０１０６】
図７の７行目には、所定の進化戦略に従って、遺伝子の選択、交差、または突然変異をする処理が記述されている。換言すると、図７の７行目の処理として、遺伝子（フィルタGiの１つの候補）が更新され、かつ、それと組になる弱識別器が更新される処理が実行される。即ち、７行目の処理は、図６のステップＳ２４，Ｓ２５の処理に該当する。
【０１０７】
進化戦略としては、任意の戦略が採用できる。例えば、集団から一定数の固体（遺伝子）をランダムに選び、その中から適応度の高い固体を残す、といったトーナメント戦略を採用することができる。なお、このことは、後述する図８の６行目の処理についても同様にあてはまる。
【０１０８】
ここで、適応度の高い個体を残す手法自体は、特に限定されず、例えば次のような手法を採用することができる。
【０１０９】
即ち、かかる手法では、（等）確率により、交差と突然変異とのうちの一方が選択される。
【０１１０】
交差が選択された場合には、３つの固体（遺伝子）がランダムに選択され、適応度の高い２つの固体によって交差が行われ、適応度の最も低い個体と入れ替えられる。具体的には例えば、次の式（６）に示される演算が行われる。
【０１１１】
【数６】
2010266983.tif 000008
・・・（６）
【０１１２】
式（６）において、αは−１乃至＋１の範囲内の一様分布乱数を示している。P1とP2が、ランダムに選択された３つの固体（遺伝子）のうち、適応度の高い２つの固体のそれぞれを示している。P3が、入れ替えられる固体を示している。
【０１１３】
これに対して、突然変異が選択された場合には、２つの固体（遺伝子）がランダムに選択され、そのうちの適応度の高い固体に対して突然変異が行われ、突然変異が行われた固体が、適応度の低い個体と入れ替えられる。具体的には例えば、次の式（７）に示される演算が行われる。
【０１１４】
【数７】
2010266983.tif 000009
・・・（７）
【０１１５】
式（７）において、ｄは−１乃至＋１の範囲内の一様分布乱数を示している。ｖは、初期サーチ範囲の５％程度の値を示している。P1が、ランダムに選択された２つの固体（遺伝子）のうち、適応度の高い個体を示している。P3が、入れ替えられる固体を示している。
【０１１６】
なお、繰り返しになるが、図７の７行目の処理に適用可能な進化戦略は、上述のトーナメント戦略に特に限定されず、その他例えば、ベストな固体を次世代に必ず残す戦略、即ち、エリート戦略を採用することもできる。なお、このことは、後述する図８の６行目の処理についても同様にあてはまる。
【０１１７】
このような図７の３行目乃至８行目の処理が、最終世代までの間、各世代毎に繰り返し実行される。即ち、最終世代となるまでの間の３行目乃至８行目のループ処理が、図６のステップＳ２３乃至２６のループ処理に該当する。
【０１１８】
最終世代についての処理が終了すると、図７の９行目の処理が実行される。９行目の処理とは、最終的な弱識別器fi(G)（学習結果保持部１２に保持される判別器）として、最も良い弱識別器の候補（判別器の候補）を選択するという処理である。ここで、最も良い弱識別器の候補（判別器の候補）が選択されると、結果として、それと組になる遺伝子（フィルタGiの候補）もあわせて選択される。この選択された遺伝子（フィルタGiの候補）のフィルタセットが、最終的なフィルタGiのフィルタセットとして、学習結果保持部１２に保持されるのである。即ち、図７の９行目の処理が、図６のステップＳ２７の処理に該当する。換言すると、図７の９行目の処理の結果、フィルタGiのフィルタセットと、判別器としての弱識別器fi(G)との組が最終的に出力されて、学習結果保持部１２に保持されることになる。
【０１１９】
このように、図７の第１進化的アルゴリズムでは、弱識別器f(G)の数だけフィルタGが必要になる。即ち、例えば弱識別器f(G)が100個存在するならば、フィルタGは100通り学習されることになる。
【０１２０】
図８は、学習アルゴリズムの一例としての進化的アルゴリズムであって、図７の例とは異なる例を説明する図である。
【０１２１】
図８の例では、遺伝子としては、全てのフィルタGのフィルタセットをつなげたもの（以下、フィルタ集団と称する）が採用される。なお、以下、図８の例の学習アルゴリズムを、第２進化的アルゴリズムと称する。
【０１２２】
図８の１行目には、ランダムにそれぞれ生成された全てのフィルタセットをつなげたものを、フィルタ集団の初期集団として生成する処理が記述されている。なお、図８の１行目においては、「全てのフィルタセットをつなげた」ことを表すため、「filter sets」と複数形を示す「s」が記述されているのである。即ち、１行目の処理は、図６のステップＳ２２の処理に該当する。
【０１２３】
なお、初期集団は、上述したランダムに生成されたものに特に限定されない。例えば、GaborFilterやGaussianDerivativesなどの方向フィルタを初期集団として採用してもよい。
【０１２４】
図８の２行目のnumGenerationsは、最終世代数を示している。即ち、最終世代数になるまで、各世代毎に、２行目乃至７行目の処理が繰り返されることになる。即ち、最終世代となるまでの間の２行目乃至７行目のループ処理が、図６のステップＳ２３乃至２６のループ処理に該当する。なお、図８の２行目乃至７行目の処理は、遺伝子が異なっていることを除いて、図７の３行目乃至８行目の処理と基本的に同様である。よって、これらの処理の説明は省略する。
【０１２５】
最終世代についての処理が終了すると、図８の８行目の処理が実行される。８行目の処理とは、最終的な各弱識別器f(G)として、最も良い弱識別器の候補（判別器の候補）を選択するという処理である。即ち、図８の８行目の処理が、図６のステップＳ２７の処理に該当する。換言すると、図８の８行目の処理の結果、弱識別器f(G)とフィルタセットの組が最終的に出力されて、学習結果保持部１２に保持される。ただし、図８の第２進化的アルゴリズムでは、各弱識別器f(G)が固有のフィルタセットを有しているのではなく、全体として最適となるフィルタセットの集合体（例えば４０個のフィルタGからなるフィルタ集団）が出力されて、学習結果保持部１２に保持される。
【０１２６】
ところで、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、プログラム記録媒体からインストールされる。このプログラムは、例えば、専用のハードウェアに組み込まれているコンピュータにインストールされる。または、このプログラムは、各種のプログラムをインストールすることで各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどにインストールされる。
【０１２７】
図９は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０１２８】
コンピュータにおいて、CPU１０１，ROM（Read Only Memory）１０２，RAM（Random Access Memory）１０３は、バス１０４により相互に接続されている。バス１０４には、さらに、入出力インタフェース１０５が接続されている。入出力インタフェース１０５には、キーボード、マウス、マイクロフォンなどよりなる入力部１０６、ディスプレイ、スピーカなどよりなる出力部１０７、ハードディスクや不揮発性のメモリなどよりなる記憶部１０８が接続されている。さらに、入出力インタフェース１０５には、ネットワークインタフェースなどよりなる通信部１０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア１１１を駆動するドライブ１１０が接続されている。
【０１２９】
以上のように構成されるコンピュータでは、CPU１０１が、例えば、記憶部１０８に記憶されているプログラムを、入出力インタフェース１０５及びバス１０４を介して、RAM１０３にロードして実行することにより、上述した一連の処理が行われる。コンピュータ（CPU１０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）であるリムーバブルメディア１１１に記録して提供される。プログラムは、パッケージメディアであるリムーバブルメディア１１１に記録して提供される。なお、パッケージメディアとしては、光ディスク（CD−ROM(Compact Disc−Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどが用いられる。あるいは、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。そして、プログラムは、リムーバブルメディア１１１をドライブ１１０に装着することにより、入出力インタフェース１０５を介して、記憶部１０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部１０９で受信し、記憶部１０８にインストールすることができる。その他、プログラムは、ROM１０２や記憶部１０８に、あらかじめインストールしておくことができる。
【０１３０】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１３１】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【０１３２】
また、本明細書において、システムとは、複数の装置や処理部により構成される装置全体を表すものである。即ち、認識装置１１、学習結果保持部１２、および学習装置１３からなる情報処理システムは、１つの装置として構成することも可能である。
【符号の説明】
【０１３３】
１１  認識装置，  １２  学習結果保持部，  １３  学習装置，  ２１  特徴量抽出部，  ２２  人検出部，  ３１  フィルタセット初期化部，  ３２  フィルタセット評価部，  ３３  フィルタセット更新部，  ３４  判別器更新部，  １０１  CPU，  １０２  ROM，  １０３  RAM，  １０８  記憶部，  １１１  リムーバブルメディア
【図１】
2010266983.tif 000010
【図２】
2010266983.tif 000011
【図３】
2010266983.tif 000012
【図４】
2010266983.tif 000013
【図５】
2010266983.tif 000014
【図６】
2010266983.tif 000015
【図７】
2010266983.tif 000016
【図８】
2010266983.tif 000017
【図９】
2010266983.tif 000018