(57)【要約】【課題】  高い検出性能のパターン検出器を現実的な学習時間で構築できるようにしたパターン検出器の学習装置、学習方法及びプログラムを提供する。【解決手段】  複数の弱判別器から構成され、複数の弱判別器による判別により入力データから特定パターンを検出するパターン検出器の学習装置であって、特定パターンを含むか否かが既知であるデータから構成される複数の学習用データに基づいて弱判別器の基礎となる弱判別器モデルを生成し、当該生成された弱判別器モデルを元にして生成された弱判別器が所定の性能を満たすまで該弱判別器の状態パラメータを更新し、当該更新された各段階における弱判別器の状態パラメータの更新履歴を管理する。そして、弱判別器の状態パラメータの更新に際して、弱判別器の性能評価結果に基づいて更新履歴から弱判別器の更新対象となる段階の状態パラメータを選択する。【選択図】  図１
2010009517.tif 000002
【特許請求の範囲】
【請求項１】
複数の弱判別器から構成され、該複数の弱判別器による判別により入力データから特定パターンを検出するパターン検出器の学習装置であって、
前記特定パターンを含むか否かが既知であるデータから構成される複数の学習用データに基づいて弱判別器の基礎となる弱判別器モデルを生成するモデル生成手段と、
前記モデル生成手段により生成された弱判別器モデルを元にして生成された弱判別器が所定の性能を満たすまで該弱判別器の状態パラメータを更新する更新手段と、
前記更新手段により更新された各段階における前記弱判別器の状態パラメータの更新履歴を管理する管理手段と
を具備し、
前記更新手段は、
前記弱判別器の状態パラメータの更新に際して、該弱判別器の性能評価結果に基づいて前記管理手段により管理された更新履歴から該弱判別器の更新対象となる段階の状態パラメータを選択する
ことを特徴とするパターン検出器の学習装置。
【請求項２】
前記学習用データは画像であり、
前記モデル生成手段は、
画像である前記学習用データの統計的性質を求める統計処理手段
を更に具備し、
前記統計処理手段により求められた統計的性質に基づいて前記弱判別器モデルを生成する
ことを特徴とする請求項１記載のパターン検出器の学習装置。
【請求項３】
前記モデル生成手段は、
前記統計処理手段により画像である前記学習用データの統計的性質を求める際に、該学習用データに対して次元圧縮処理を行なう
ことを特徴とする請求項２記載のパターン検出器の学習装置。
【請求項４】
前記学習用データは画像であり、
前記弱判別器は、
前記画像である学習用データの所定領域から特徴量を抽出し、該抽出した特徴量に基づいて該所定領域が検出すべき特定パターンの候補であるか判定し、
前記更新手段は、
前記弱判別器の状態パラメータとして、前記画像である学習用データ内の前記所定領域を示すパラメータを更新する
ことを特徴とする請求項１乃至３のいずれか１項に記載のパターン検出器の学習装置。
【請求項５】
前記更新手段は、
前記弱判別器の状態パラメータの更新に際して、前記モデル生成手段により生成された弱判別器モデルとの類似度、検出性能、演算速度のいずれか、又はそれら要素を含んで統合的に弱判別器の性能を評価する評価関数の計算結果に基づいて前記更新履歴から弱判別器の更新対象となる段階の状態パラメータを選択する
ことを特徴とする請求項１に記載のパターン検出器の学習装置。
【請求項６】
前記類似度は、
弱判別器の矩形フィルタをベクトルとして表現したときの内積によって求められる
ことを特徴とする請求項５に記載のパターン検出器の学習装置。
【請求項７】
前記類似度は、
弱判別器の矩形フィルタをベクトルとして表現したときに該ベクトルに所定の変換を施した後の内積によって求められる
ことを特徴とする請求項５に記載のパターン検出器の学習装置。
【請求項８】
前記更新手段は、
前記弱判別器の状態パラメータの更新に際して、前記モデル生成手段により生成された弱判別器モデルと該弱判別器との状態との差が所定範囲内になった場合に最も低い値を示す評価関数、前記弱判別器の検出性能、演算速度のいずれか、又はそれら要素を含んで統合的に弱判別器の性能を評価する評価関数の計算結果に基づいて前記更新履歴から弱判別器の更新対象となる段階の状態パラメータを選択する
ことを特徴とする請求項１に記載のパターン検出器の学習装置。
【請求項９】
前記更新手段は、
前記弱判別器の状態パラメータの更新に際して、現時点の弱判別器の性能が以前よりも低い場合であっても一定の割合で該現時点の弱判別器の状態パラメータを更新対象として選択する
ことを特徴とする請求項１乃至８いずれか１項に記載のパターン検出器の学習装置。
【請求項１０】
前記更新手段は、
マルコフ連鎖モンテカルロ法を用いて前記更新対象となる段階の弱判別器の状態パラメータを選択する
ことを特徴とする請求項１乃至９のいずれか１項に記載のパターン検出器の学習装置。
【請求項１１】
複数の弱判別器から構成され、該複数の弱判別器による判別により入力データから特定パターンを検出するパターン検出器の学習方法であって、
前記特定パターンを含むか否かが既知であるデータから構成される複数の学習用データに基づいて弱判別器の基礎となる弱判別器モデルを生成するモデル生成工程と、
前記生成された弱判別器モデルを元にして生成された弱判別器が所定の性能を満たすまで該弱判別器の状態パラメータを更新する更新工程と、
前記更新された各段階における前記弱判別器の状態パラメータの更新履歴を管理する管理工程と
を含み、
前記更新工程は、
前記弱判別器の状態パラメータの更新に際して、該弱判別器の性能評価結果に基づいて前記管理工程で管理された更新履歴から該弱判別器の更新対象となる段階の状態パラメータを選択する
ことを特徴とするパターン検出器の学習方法。
【請求項１２】
複数の弱判別器から構成され、該複数の弱判別器による判別により入力データから特定パターンを検出するパターン検出器の学習装置に内蔵されたコンピュータを、
前記特定パターンを含むか否かが既知であるデータから構成される複数の学習用データに基づいて弱判別器の基礎となる弱判別器モデルを生成するモデル生成手段、
前記モデル生成手段により生成された弱判別器モデルを元にして生成された弱判別器が所定の性能を満たすまで該弱判別器の状態パラメータを更新する更新手段、
前記更新手段により更新された各段階における前記弱判別器の状態パラメータの更新履歴を管理する管理手段
として機能させ、
前記更新手段は、
前記弱判別器の状態パラメータの更新に際して、該弱判別器の性能評価結果に基づいて前記管理手段により管理された更新履歴から該弱判別器の更新対象となる段階の状態パラメータを選択する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の判別器による判別により入力データから特定パターンを検出するパターン検出器の学習装置、学習方法及びプログラムに関する。
【背景技術】
【０００２】
従来、入力されたデータから特定パターン（例えば、文字や人間の顔など）を検出するパターン検出手法が提案されている。また、処理の高速化や検出精度の向上を目的とした手法も数多く提案されている。
【０００３】
このような技術に関連して、非特許文献１では、短時間で演算が可能な弱判別器を多数カスケード接続し、Ａｄａｂｏｏｓｔに代表される集団学習（アンサンブル学習）法と組み合わせてパターン検出を行なう技術が提案されている。非特許文献１の弱判別器は、Ｈａａｒ基底に基づいた矩形フィルタと呼ばれる、矩形内領域の平均輝度値の差を求めるフィルタを内部に持つ。そして、この矩形フィルタによって求めた矩形領域内の平均輝度差を特徴量として、所定の閾値と比較することにより対象が検出すべきパターンであるか判定する。
【０００４】
最終的なパターン検出器は、上述した弱判別器を多数組み合わせて構成される。非特許文献１では、複数の弱判別器出力の重み付き総和をその出力としている。その構成方法には、アンサンブル学習（集団学習）と呼ばれる学習アルゴリズムが用いられる。アンサンブル学習の代表的なアルゴリズムがＡｄａｂｏｏｓｔである。Ａｄａｂｏｏｓｔは、学習用サンプルに重みを設定し、１つの弱判別器の学習が終わると、次の弱判別器の学習を行なう。この次の弱判別器の学習では、前の弱判別器では判別が難しかったサンプルの重みが大きくなるように、データの重みを逐次更新していく。また、各弱判別器には、それぞれその判別能力を示す信頼度が定義されている。この信頼度は、例えば、学習時における学習用サンプルに対する誤り率などに基づき決定される。
【非特許文献１】Viola & Jones (2001) "Rapid Object Detection using a Boosted Cascade of Simple Features", Computer Vision and Pattern Recognition.
【非特許文献２】C. Huang, H. Ai, Y. Li, S. Lao (2006) "Learning Sparse Features in Granular Space for Multi-View Face Detection", Proceedings of the IEEE International Conference of Automatic Face and Gesture Recognition, pp. 401-406.
【特許文献１】特開２００５−４４３３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のような、多数の弱判別器により構成されるパターン検出器を構築する場合、その学習に膨大な時間がかかってしまう。上述した通り、弱判別器が学習する際には、学習用サンプルに対してパターン検出を行ない、その検出性能を評価するプロセスが存在する。高性能な検出器を構築しようとすると、弱判別器の表現を複雑にする必要があり、評価する弱判別器候補の数が膨大になる。従って、上記プロセスを繰り返す回数も膨大となってしまう。
【０００６】
このような問題に対して、特許文献１では、予め用意した弱判別器候補を評価しておき、その中で高い性能を示した候補の中から、いくつかを所定の方法で更新し、最も高い性能を示したものを弱判別器として採用する方法が提案される。
【０００７】
また、非特許文献２では、弱判別器の初期候補として、Ｈａａｒ基底を与えている。これに３種類（展開、付加、消滅）の規定された発展演算子を定義し、これを弱判別器に作用させることで弱判別器を発展させている。すなわち、非特許文献２では、評価関数として、検出性能と弱判別器の複雑度を考慮した関数とを採用し、検出性能だけでなく、検出時間をも考慮した上で総合的に高い性能を示す弱判別器を探索する方法が提案される。
【０００８】
本発明は、上記課題に鑑みてなされたものであり、高い検出性能のパターン検出器を現実的な学習時間で構築できるようにしたパターン検出器の学習装置、学習方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の一態様は、複数の弱判別器から構成され、該複数の弱判別器による判別により入力データから特定パターンを検出するパターン検出器の学習装置であって、前記特定パターンを含むか否かが既知であるデータから構成される複数の学習用データに基づいて弱判別器の基礎となる弱判別器モデルを生成するモデル生成手段と、前記モデル生成手段により生成された弱判別器モデルを元にして生成された弱判別器が所定の性能を満たすまで該弱判別器の状態パラメータを更新する更新手段と、前記更新手段により更新された各段階における前記弱判別器の状態パラメータの更新履歴を管理する管理手段とを具備し、前記更新手段は、前記弱判別器の状態パラメータの更新に際して、該弱判別器の性能評価結果に基づいて前記管理手段により管理された更新履歴から該弱判別器の更新対象となる段階の状態パラメータを選択することを特徴とする。
【００１０】
また、本発明の一態様は、複数の弱判別器から構成され、該複数の弱判別器による判別により入力データから特定パターンを検出するパターン検出器の学習方法であって、前記特定パターンを含むか否かが既知であるデータから構成される複数の学習用データに基づいて弱判別器の基礎となる弱判別器モデルを生成するモデル生成工程と、前記生成された弱判別器モデルを元にして生成された弱判別器が所定の性能を満たすまで該弱判別器の状態パラメータを更新する更新工程と、前記更新された各段階における前記弱判別器の状態パラメータの更新履歴を管理する管理工程とを含み、前記更新工程は、前記弱判別器の状態パラメータの更新に際して、該弱判別器の性能評価結果に基づいて前記管理工程で管理された更新履歴から該弱判別器の更新対象となる段階の状態パラメータを選択することを特徴とする。
【００１１】
また、本発明の一態様は、複数の弱判別器から構成され、該複数の弱判別器による判別により入力データから特定パターンを検出するパターン検出器の学習装置に内蔵されたコンピュータを、前記特定パターンを含むか否かが既知であるデータから構成される複数の学習用データに基づいて弱判別器の基礎となる弱判別器モデルを生成するモデル生成手段、前記モデル生成手段により生成された弱判別器モデルを元にして生成された弱判別器が所定の性能を満たすまで該弱判別器の状態パラメータを更新する更新手段、前記更新手段により更新された各段階における前記弱判別器の状態パラメータの更新履歴を管理する管理手段として機能させ、前記更新手段は、前記弱判別器の状態パラメータの更新に際して、該弱判別器の性能評価結果に基づいて前記管理手段により管理された更新履歴から該弱判別器の更新対象となる段階の状態パラメータを選択することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、弱判別器の取り得る表現を複雑にしても、弱判別器の学習を高速に行なえる。これにより、高い検出性能のパターン検出器を現実的な学習時間で構築できることになる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明に係わるパターン検出器の学習装置、学習方法及びプログラムの実施形態について添付図面を参照して詳細に説明する。
【００１４】
（実施形態１）
図１は、本実施形態に係わるパターン検出器の学習装置１００の構成の一例を示すブロック図である。
【００１５】
パターン検出器は、１又は複数の弱判別器から構成される。弱判別器各々は、入力データから特定パターン（例えば、文字や人間の顔など）を検出する。特定パターンの検出は、例えば、入力データの所定領域から特徴量を抽出し、当該抽出した特徴量に基づき当該所定領域が検出すべき特定パターンであるか判定することにより行なわれる。
【００１６】
ここで、学習装置１００は、学習用データを用いて弱判別器を学習させ、その結果として１又は複数の弱判別器から構成されるパターン検出器を構築する。学習装置１００は、学習用データ取得部１、モデル生成部２、状態更新部３、性能評価部４、重み更新部５を含んで構成される。また、学習装置１００には、各構成要素の制御・データ接続を行なうためのバス６、学習の状態をモニタリングするためのモニタリング部７を含む。学習用データ取得部１、モデル生成部２、状態更新部３、性能評価部４、重み更新部５は、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）等の専用回路群で構成される。また、これら構成要素は、例えば、プロセッサ（リコンフィギュラブルプロセッサ、ＤＳＰ（Digital Signal Processor）、ＣＰＵなど）で構成されてもよい。更に、単一の専用回路や汎用回路（例えば、ＣＰＵ）により実行されるプログラムとして実現されてもよい。
【００１７】
学習用データ取得部１は、学習用データを取得する。学習用データには、例えば、検出すべき特定パターンであるか否か等を示すラベルが予め付与されている。すなわち、学習用データは、特定パターンを含むか否かが既知であるデータから構成される。学習用データ取得部１は、例えば、不図示であるＨＤＤ（Hard Disk Drive）やＤＶＤ、ＣＤ−ＲＯＭ等の光学メディアなどのメモリ上から学習用データを読み出し、所定のタイミングで学習用データを必要とする構成要素に供給する。
【００１８】
モデル生成部２は、弱判別器のモデルの生成処理を行なう。ここで、弱判別器は、非特許文献１に記載されているようなＨａａｒ基底をベースとするタイプの弱判別器であってもよいし、より複雑な表現や内部状態値を持つものであってもよい。生成されるモデルの詳細及びその処理の詳細については後述する。
【００１９】
状態更新部３は、弱判別器の状態更新処理を行なう。弱判別器の状態の詳細及び状態更新で行なわれる処理の詳細については後述する。
【００２０】
性能評価部４は、状態更新部３によって更新された新規弱判別器の性能評価を行なう。性能評価は、学習用データ取得部１により取得された学習用データを用いて行なわれる。具体的な評価処理、評価関数の詳細については後述する。
【００２１】
重み更新部５は、学習用データ取得部１により取得された学習用データの比率の更新を行なう。比率の更新基準は、性能評価部４における評価結果に依存して行なわれる。なお、詳細については後述する。
【００２２】
接続バス６は、上述した構成要素間の制御・データ接続を行なうためのバスである。また、モニタリング部７は、学習の予想終了時刻などを示す進行状態や、その時点での検出性能などを示すステータス等を含む情報の表示を行なう。モニタリング部７は、例えば、ＣＲＴ（Cathode Ray Tube）やＴＦＴ（Thin Film Transistor）液晶などのモニタで構成される。
【００２３】
以上が、学習装置１００の構成の一例についての説明である。なお、上記説明した、学習装置１００には、１又は複数のコンピュータが組み込まれている。コンピュータには、ＣＰＵ等の主制御手段、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disk Drive）等の記憶手段が具備される。また、コンピュータにはその他、キーボード、マウス、ディスプレイ又はタッチパネル等の入出力手段、ネットワークカード等の通信手段等も具備される。なお、これら各構成手段は、バス等により接続され、主制御手段が記憶手段に記憶されたプログラムを実行することで制御される。
【００２４】
＜全体フロー＞
図２は、図１に示す学習装置１００における全体処理の一例を示すフロー図である。図２を参照しながら、学習装置１００が学習用データから特定パターンを検出する検出器を構築する際の処理の流れについて説明する。なお、以下では、学習用データが画像であり、検出する特定パターンが人物の顔である場合を例に挙げて説明する。
【００２５】
学習装置１００は、まず、学習用データの重みを初期化する（ステップＳ００）。重みの初期値は、例えば、全ての学習用データが均等に選択されるように、一様な値を割り当ててやればよい。また、検出が困難だと思われる学習用データを予め選別しておいて、初期化段階ではこれらが選択される確率が低くなるようにしておいてもよい。学習用データは、複数のデータから構成され、そのデータには、特定パターンを含むデータもあれば、含まないデータもある。より具体的には、人物の顔（正解データ）や、人物の顔以外のデータ（非正解データ）を含む複数のデータである。学習用データにはそれぞれ、予め顔であるか否か（正解・不正解）のラベル付けがなされている。なお、ラベルには、その属性を示す値、例えば、大きさや向きなどの情報が保持されていてもよい。
【００２６】
続いて、学習装置１００は、弱判別器生成処理を行なう（ステップＳ０１）。ここで、弱判別器の候補選択から弱判別器の閾値決定までの一連の処理が行なわれ、１つの弱判別器が生成されることになる。
【００２７】
続いて、学習装置１００は、ステップＳ０１で生成された弱判別器を性能評価する（ステップＳ０２）。典型的には、弱判別器に学習用データを検出させ、その検出結果に基づいて弱判別器の評価を行なう。この評価では、学習用データの正解・不正解ラベルに基づいて顔画像に対する正解率や非顔画像に対する誤検出率の評価を行なうことになる。評価に使われる学習用データは、学習用データの重み付けに基づいて選択される。ここでは、正解率・誤検出率の他、検出時間の評価を行なってもよい。
【００２８】
弱判別器の生成及びその評価が済むと、学習装置１００は、弱判別器の性能評価結果に基づいて学習用データの重み付けを更新する（ステップＳ０３）。更新方法としては、例えば、非特許文献１に記載されるような方法に従えばよい。典型的には、ステップＳ０２での性能評価において、未検出となった顔画像や、誤って顔と判定された非顔画像の重みを大きくし、正しく検出された顔画像、顔と判定されなかった非顔画像については、重みを相対的に小さくするような処理が行なわれる。このようにすることで、次に学習する弱判別器は、前の弱判別器が苦手とする画像を重点的に学習することができ、全体として高い検出性能を有する検出器を構成することが可能となる。
【００２９】
重み付け更新処理が済むと、学習装置１００は、所定条件を満たすか否かの判定を行なう（ステップＳ０４）。所定条件としては、例えば、生成された弱判別器の個数が所定数に達したか否か、学習用データに対する検出性能が所定の基準に達したか否か、などが挙げられる。以上が、本実施形態に係わる学習装置１００における全体処理フローである。
【００３０】
＜弱判別器生成処理＞
ここでは、図２に示すステップＳ０１における弱判別器生成処理について説明する。図３は、弱判別器生成処理の一例を示すフロー図である。
【００３１】
学習装置１００は、まず、学習用データ取得部１において、学習用データを取得する（ステップＳ１０）。学習用データは、前述したように、重み付けされており、これによって学習用データの内容が学習する弱判別器ごとに変化することになる。
【００３２】
続いて、学習装置１００は、モデル生成部２において、弱判別器モデル生成処理を実施する（ステップＳ１１）。弱判別器のモデルは、学習用データの統計的性質や構造を用いて生成する。学習用データを元に弱判別器モデルを生成すると、新しい弱判別器が学習するたびに、学習用データの重み付けが替わるので、弱判別器モデルも変化することになる。弱判別器モデル生成の具体的な処理の内容については後述する。
【００３３】
弱判別器モデルの生成が済むと、学習装置１００は、状態更新部３において、弱判別器の状態更新処理を行なう（ステップＳ１２）。弱判別器の状態とは、例えば、非特許文献１に記載された弱判別器の場合、その矩形フィルタの数、位置、サイズ、形状、係数や判定閾値、打ち切り閾値、投票比率など、弱判別器を特徴付ける状態パラメータの組み合わせのことを指す。この状態パラメータは、学習用データ内から特定パターンを検出するために、演算の対象となる演算領域に係わるパラメータである。また、弱判別器の状態の更新に際しては、後段の処理である弱判別器性能評価処理（後述するステップＳ１３）の結果を用いる。なお、モデル生成処理後、弱判別器の状態更新を初めて行なう場合には（性能評価が１度も行なわれていない場合）、モデル生成処理から得られた弱判別器モデルとまったく同一の状態として更新してもよい。勿論、それに所定の変形を加えて更新してもよい。なお、所定の変形とは、例えば、フィルタの形状に乱数による変形を加えたものなどが挙げられる。
【００３４】
弱判別器の状態更新を行なった後、学習装置１００は、性能評価部４において、更新された弱判別器を用いた性能評価を行なう（ステップＳ１３）。性能評価では、学習用データを用いて実際の検出処理が実行され、その検出性能や処理時間などの評価が行なわれる。検出性能は、単純な検出率ではなく、学習用データに対して予め与えられている重みを用いて重み付き検出率を求めるようにしてもよい。このようにすることで検出が難しい（例えば、重み付けが大きい）データを重視した検出性能評価を行なうことができる。検出時間についても、同様に重み付け検出時間を求めるようにしてもよい。
【００３５】
性能評価の後、学習装置１００は、その弱判別器の性能が所定条件を満たしているか判定を行なう（ステップＳ１４）。所定条件を満たしていない場合には（ステップＳ１４でＮｏ）、弱判別器の状態を更新するため、ステップＳ１２の弱判別器状態更新処理に戻る。所定条件を満たしている場合には（ステップＳ１４でＹｅｓ）、ステップＳ１０で取得された学習用データに対して好適な弱判別器が生成されたものとして弱判別器生成処理を終了する。ここで、ステップＳ１４における所定の条件としては、弱判別器単体の学習用データに対する検出性能や検出時間などが挙げられる。なお、後述する弱判別器状態更新処理に際して導入される、弱判別器単体が満たすべき評価関数の値を用いてもよい。以上が、弱判別器生成処理のフローについての説明である。
【００３６】
＜弱判別器モデル生成処理＞
ここでは、図３に示すステップＳ１１における弱判別器モデル生成処理について説明する。図４は、モデル生成部２の構成の一例を示すブロック図である。
【００３７】
モデル生成部２は、バッファ２１、統計処理部２２、粗視化処理部２３、マッピング処理部２４を含んで構成される。バッファ２１は、学習用データを一時的に保持するためのメモリ領域である。統計処理部２２は、学習用データ（本実施形態においては、画像）についての統計処理を行なう。粗視化処理部２３は、画像を粗視化する処理を行なう。マッピング処理部２４は、粗視化された画像データに対して弱判別器モデルへの写像を行なう。
【００３８】
図５は、図３に示すステップＳ１１における弱判別器モデル生成処理の一例を示すフロー図である。この処理は主に、モデル生成部２で行なわれる。
【００３９】
モデル生成部２は、まず、バッファ２１上に存在する学習用データ、すなわち、検出対象となるパターン（本実施形態においては、顔画像）を有する画像を選択する。そして、それら画像（正解画像）について平均処理を行った画像（以下、平均顔画像と呼ぶ）を作成する（ステップＳ２０）。平均顔画像の作成に際しては、学習用データの重みに従って平均を採るようにすればよい。学習用データの重みに従って平均化した平均顔画像を作成することにより、学習用データの重要度に従った弱判別器モデルの生成が可能になる。
【００４０】
次に、モデル生成部２は、その平均顔画像を粗視化する処理を行なう（ステップＳ２１）。ここで言う、粗視化とは、例えば、画像に対するモザイク処理のことである。例えば、あるブロック内の画素を、そのブロック内の画素の平均値や、代表値で全て置き換える。
【００４１】
平均顔画像の粗視化が済むと、モデル生成部２は、マッピング処理を行なう（ステップＳ２２）。マッピング処理では、ステップＳ２１で生成された学習用データ、すなわち、粗視化された平均顔画像を、弱判別器のフィルタ値にマッピングする。この処理は、粗視化された平均顔画像は、典型的には階調数が１６〜２５６程度であるが、一般に弱判別器のフィルタ値は、これよりも自由度が小さいので、高階調である粗視化平均顔画像の階調数を所定の値（所定の階調数）まで減らすために行なう。ここで、所定の階調数は、弱判別器の設計事項と関連する。本実施形態に係わる学習装置１００における弱判別器では、この弱判別器モデル生成処理で生成された弱判別器モデルを基礎にして学習が実行される。既に述べたように、弱判別器のフィルタ値の自由度が、この階調数に対応する。従って、階調数が大きければ、弱判別器の表現力が上がり、より高精度な検出を行なえる可能性が高まる。一方、学習においては、表現力が上がった分だけ組み合わせの数が増え、探索すべきパラメータ空間が広がるので、学習時間が増えることになる。非特許文献１に記載された弱判別器は、階調数が３の場合に相当する。弱判別器へのマッピングに用いられる階調数が決まれば、階調低減処理を行えばよい。この処理には、公知の画像処理技術を用いることができる。例えば、減色処理のアルゴリズムなどが適用できる。
【００４２】
ここで、マッピングされた弱判別器フィルタの一例を図６に示す。マッピング処理そのものは、画像である２次元データから２次元の矩形フィルタへの写像であるので、比較的単純な処理であってもよい。例えば、粗視化平均顔画像のサイズを矩形フィルタのサイズに正規化する際に、もう一度モザイク処理を施し、対応する矩形領域の画素について、その画素値を弱判別器のフィルタ値とすればよい。また、マッピング処理を自己組織化マップ（Self-Organizing Map, SOM）を用いた手法で行なってもよい。以上が、弱判別器モデル生成処理の説明である。
【００４３】
＜弱判別器状態更新処理＞
次に、図３に示すステップＳ１２における弱判別器状態更新処理について説明する。図７は、状態更新部３の構成の一例を示すブロック図である。
【００４４】
状態更新部３は、性能情報バッファ３１、更新評価部３２、状態履歴管理部３３、フィルタ更新部３４を含んで構成される。
【００４５】
性能情報バッファ３１には、後述の性能評価部４からの出力として、弱判別器の学習用データに対する検出性能情報が入力される。更新評価部３２は、性能情報バッファ３１から弱判別器の検出性能情報を取り出して、当該情報に基づいて後述する履歴からどの段階における弱判別器の状態を更新対象とするか否かの評価を行なう。状態履歴管理部３３は、弱判別器の状態更新がどのようにして行なわれたかを示す履歴情報が保持される。具体的には、弱判別器のフィルタ値、閾値等が更新されるたびに、その履歴が保持される。また、弱判別器の状態（例えば、後述する弱判別器の状態更新を判定する際に用いる評価値など）とそれに付随する情報とを一緒に保持するようにしてもよい。フィルタ更新部３４は、弱判別器の状態パラメータ、例えば、フィルタ値や閾値の更新を行なう。フィルタ値と閾値とは、例えば、非特許文献１に記載されているような方法を用いて決定すればよい。
【００４６】
図８は、図３に示すステップＳ１２における弱判別器状態更新処理の一例を示すフロー図である。この処理は主に、状態更新部３で行なわれる。
【００４７】
状態更新部３は、まず、現時点の弱判別器が既に性能評価を終えているか判定する（ステップＳ３０）。未だ性能評価を終えていない場合（ステップＳ３０でＮｏ）、弱判別器の初期化処理を行なう（ステップＳ３１）。初期化処理では、例えば、弱判別器のフィルタ値を、前述のモデル生成部２によって取得されたモデルのフィルタ値と同じにする。閾値は、所定の値（例えば、０など）で初期化する。一方、性能評価を終えている場合（ステップＳ３０でＹｅｓ）、弱判別器の性能情報を取得し（ステップＳ３２）、状態を更新するか評価を行なう（ステップＳ３３）。ここで行なわれる評価内容の詳細については後述する。ステップＳ３３での評価結果により現時点の弱判別器が条件を満足する場合（ステップＳ３４でＹｅｓ）、状態更新部３は、現時点の弱判別器のフィルタを更新する（ステップＳ３６）。フィルタの更新方法としては、いくつかの方法が挙げられるが、典型的な方法としては、ランダムな更新方法を用いることができる。以下、具体的に説明する。
【００４８】
状態更新部３は、上記図６に示したような、弱判別器の矩形フィルタから更新対象となるフィルタの位置を選択する。この選択もランダムでよい。図６の場合、１２×１２の格子の中から更新すべき位置をランダムに選択する。
【００４９】
更新位置を選択した後、状態更新部３は、その位置の矩形フィルタの値を更新する。フィルタの採り得る値が２値である場合は、単純にもう一方の値に設定すればよい。フィルタが３値以上の整数値をとりえる場合には、ランダムに更新する。例えば、フィルタがＮ値を取り得て、更新前のフィルタの値がｎである場合、ｎ以外の、Ｎ−１通りの値の中から更新後の値をランダムに選択する。フィルタの値が整数値ではなく、実数値である場合も同様に乱数を用いた更新方法を適用できる。この場合には、フィルタの上限値と下限値の間の一様乱数を発生させて、更新後のフィルタの値として採用すればよい。なお、フィルタの更新をより大きな粒度で行なってもよい。すなわち、ランダムに選択された更新位置の近傍にあるフィルタの値も同時に更新するようにしてもよい。この際、同時に更新するフィルタの範囲は任意であるが、弱判別器性能評価の結果を反映させるようにしてもよい。すなわち、性能がある程度高い場合は、同時に更新するフィルタの範囲を小さくし、性能が低い場合には、同時に更新するフィルタの範囲を大きくする。
【００５０】
さて、ステップＳ３４における判定の結果、現時点の弱判別器が更新条件を満足しない場合（ステップＳ３４でＮｏ）、状態更新部３は、弱判別器の状態を１ステップ前の状態に戻す（ステップＳ３５）。この処理は、状態履歴管理部３３に保持された弱判別器の状態更新履歴の参照に基づき行なわれる。状態更新部３は、弱判別器の状態を１ステップ前に戻した後、フィルタ値・閾値更新処理に進む（ステップＳ３６）。このように現時点の弱判別器が更新条件を満たさない場合には、更新条件を満たした状態に戻してから状態更新を行なうことになる。
【００５１】
フィルタ値・閾値更新処理が行なわれた後、状態更新部３は、状態更新履歴を保持するために情報の記憶を行なう（ステップＳ３７）。この際、性能評価部４の評価結果及び、後述する更新評価処理における評価値も一緒に記憶するようにしてもよい。
【００５２】
＜更新評価処理＞
次に、図８に示すステップＳ３３における更新評価処理について説明する。この方法は、マルコフ連鎖モンテカルロ法の一種である。状態更新条件の判定に際して、弱判別器の直前の状態のみを参照することが特徴である。
【００５３】
図９は、更新評価処理の一例を示すフロー図である。
【００５４】
学習装置１００は、更新評価部３２において、まず、直前の弱判別器の状態及びその性能情報を取得する（ステップＳ４０）。そして、学習装置１００は、更新評価部３２において、直前の弱判別器状態（Ｅ１とする）と現時点の弱判別器状態（Ｅ２とする）とを計算する（ステップＳ４１）。ここで、直前の弱判別器状態については、性能情報バッファ３１に性能情報として評価関数Ｅの値を格納しておいて、ステップＳ４０の処理でそれを取得するようにしてもよい。評価関数Ｅは、以下の（数式１）で与えられる。
【００５５】
【数１】
2010009517.tif 000003
【００５６】
ここで、Ｓは弱判別器モデルのフィルタ形状と弱判別器候補のフィルタ形状の類似度とを表している。Ｃは性能評価部４の評価結果である検出時間の逆数であり、Ｐは性能評価部４の評価結果である検出性能である。α、βはそれぞれ正の値をとる係数であり、所定の値を用いる。類似度の計算は、弱判別器モデル及び弱判別器のフィルタ形状を、それぞれ特徴ベクトルＶ１、Ｖ２として（数式２）を計算すれば求められる。
【００５７】
【数２】
2010009517.tif 000004
【００５８】
例えば、上記図６に示した矩形フィルタの場合は、フィルタ形状を１４４（＝１２×１２）次元の特徴ベクトルとして表すことができる。（数式２）により計算されるベクトルの内積、すなわち、Ｓの値が１に近ければ、弱判別器モデルと弱判別器とのフィルタ形状が略一致、すなわち、両者の差が所定範囲内となっていることを表している。Ｓの値が大きくなると、（数式１）で表されるＥの値は小さくなる。すなわち、弱判別器が弱判別器モデルと近い状態になると、Ｅの値は小さくなる。一方、Ｃ及びＰは、弱判別器の性能を表している（これらは、正の値しかとりえない）。これらが、それぞれ正の係数α、βを乗じてＥから減じられているので、検出時間の逆数Ｃが大きいほど（検出時間が短い）、また、検出性能Ｐが高いほど（大きい）、Ｅの値は小さくなる。すなわち、弱判別器が、弱判別器モデルとの類似度が大きく、かつ検出性能が高く、検出時間が短いほど、Ｅの値を小さくすることができる。
【００５９】
（数式２）で与えられる類似度の他、特徴ベクトルＶ１、Ｖ２に所定の変換を施した後、類似度を求める方法もある。例えば、特徴ベクトルの次元を削減する次元圧縮処理や、（特徴ベクトルの要素が実数であれば）量子化により特徴ベクトルの表現に制限を与える。また、カーネル関数を適用してもよい。このような変換を取り入れることによって、（数式１）で与えられる評価関数が最適化容易になる可能性がある。
【００６０】
次に、学習装置１００は、更新評価部３２において、このＥの値が、直前の状態と現時点の状態とでどちらが小さくなるか判定する（ステップＳ４２）。現時点の弱判別器の状態が、直前の状態よりもＥの値を小さくしている場合（ステップＳ４２でＹｅｓ）、現時点の弱判別器状態が選択される。反対に、現時点の弱判別器の状態が、直前よりもＥの値を大きくしてしまう場合（ステップＳ４２でＮｏ）、直前の状態ではなく、現時点の状態を一定の確率で選択するための遷移確率Ｔを計算する（ステップＳ４３）。遷移確率Ｔは以下の（数式３）で与えられる。
【００６１】
【数３】
2010009517.tif 000005
【００６２】
ここで、Ｅ１は直前の状態での評価関数の値、Ｅ２は現時点の状態での評価関数の値を表す。また、ｔは弱判別器の状態遷移をコントロールするパラメータであり０より大きい任意の値をとる。
【００６３】
続いて、学習装置１００は、更新評価部３２において、範囲が［０，１］の一様乱数Ｘを取得し（ステップＳ４４）、ステップＳ４３で求めた遷移確率ＴとステップＳ４４で取得した一様乱数Ｘの値とを比較する（ステップＳ４５）。この結果、Ｔの値がＸよりも大きければ（ステップＳ４５でＹｅｓ）、現時点の弱判別器状態を選択する（ステップＳ４６）。一方、Ｔの値がＸよりも小さいか同じであれば（ステップＳ４５でＮｏ）、直前の弱判別器状態を選択する（ステップＳ４７）。最後に、学習装置１００は、更新評価部３２において、直前と現時点のどちらの弱判別器状態を選択するか結果を出力する（ステップＳ４８）。
【００６４】
以上のようにすることで、直前の弱判別器状態よりも評価関数Ｅの値が悪い弱判別器状態を一定の割合で受け入れることになる。割合をコントロールするパラメータｔは、値が大きいと、評価関数Ｅが直前の状態よりも悪い場合であっても、現時点の状態を受け入れる確率が高くなり、状態遷移が起き易くなる。反対に、ｔの値が小さいと、評価関数Ｅの値が直前の状態よりも悪い場合、状態遷移が起こりにくくなる。評価関数Ｅの値が大きい場合でも、ある程度状態変化を受け入れることによって、評価関数Ｅの値がローカルミニマムから脱出する機会を持つことができる。
【００６５】
また、ｔの値を順次変化させながら、最適な弱判別器を探すようにしてもよい。典型的には、始めにｔの値を大きくしておいて、徐々にｔの値を小さくしていきながら、評価を繰り返すようにする。これは、所謂シミュレーテッドアニーリング（焼き鈍し法）といわれる手法であり、最適値探索問題に有効であることが知られている。
【００６６】
なお、図８では、評価関数の計算結果を用いて更新対象となる弱判別器の段階を判定していたが、このような評価関数（弱判別器のモデルとの類似度、弱判別器の検出性能や演算速度を含んで統合的に弱判別器の性能を評価する）を必ずしも用いる必要はない。例えば、弱判別器のモデルとの類似度、弱判別器の検出性能、弱判別器の演算速度のいずれかを基準としてこの判定を行うようにしてもよい。
【００６７】
以上説明したように実施形態１によれば、弱判別器における学習に際してその基礎となる弱判別器モデルを生成し、当該生成した弱判別器モデルを元にして生成した弱判別器が所定の性能を満たすまで状態更新する。この状態更新に際しては、弱判別器の性能評価結果に基づいて更新履歴から更新対象となる段階における弱判別器の状態（状態パラメータ）を選択し、当該選択した弱判別器の状態を更新する。これにより、弱判別器の取り得る表現を複雑にしても、弱判別器の学習を高速に行なえる。
【００６８】
また、弱判別器の状態更新に際して、現時点の弱判別器の性能が以前の弱判別器の性能よりも劣る場合であっても、一定の割合でその状態変化を受け入れるため、ローカルミニマムに陥ることを抑制できる。
【００６９】
（実施形態２）
次に、実施形態２について説明する。ここでは、実施形態１との相違点についてのみ説明する。相違点としては、実施形態１では、弱判別器モデルを学習用データから生成していたが、実施形態２では、この点が異なる。すなわち、実施形態２では、弱判別器モデルの基本となる部分を学習用データから生成した後、後述する弱判別器要素間の相互作用と外場、及び弱判別器状態の基底状態という概念を導入し、これを求める工程を有する。上述した弱判別器モデルの基本部分とともに、相互作用と基底状態を含めて弱判別器モデルとする。
【００７０】
また、実施形態１における弱判別器状態更新処理では、弱判別器モデルとの類似度を基準のひとつとして用いていたが、実施形態２では、上記の弱判別器要素間の相互作用及び外場から求められる評価関数を基準のひとつとして採用する。
【００７１】
なお、重複を避けるため、以下の説明において、実施形態１と同じ部分についての説明は省略する。実施形態２に係わる学習装置１００の構成は、実施形態１を説明した図１と同様である。
【００７２】
＜弱判別器モデル生成処理＞
図１０は、実施形態２に係わるモデル生成部２（以下、実施形態１と区別してモデル生成部Ａ２と言う）の構成の一例を示すブロック図である。モデル生成部Ａ２は、バッファＡ２１、統計処理部Ａ２２、フィルタ基底状態取得部Ａ２３、相互作用取得部Ａ２４、を含む。バッファＡ２１は、学習用データを一時的に保持するためのメモリ領域である。統計処理部Ａ２２は、学習用データである画像についての統計処理を行なう。フィルタ基底状態取得部Ａ２３は、統計処理部Ａ２２から得られたデータをもとに、後述する弱判別器の基底状態を取得する処理を行なう。相互作用取得部Ａ２４は、後述する弱判別器フィルタ要素間の相互作用を取得する処理を行なう。
【００７３】
図１１は、実施形態２に係わる弱判別器モデル生成処理の一例を示すフロー図である。この処理は主に、モデル生成部Ａ２で行なわれる。
【００７４】
モデル生成部Ａ２は、まず、バッファＡ２１上に存在する学習用データ、すなわち、検出対象となるパターン（本実施形態においては、顔画像）を有する画像を選択し、それら正解画像について統計処理を行なう（ステップＳ５０）。具体的には、ＰＣＡ（Principal Components Analysis）や、ＩＣＡ（Independent Components Analysis）等に代表される次元圧縮処理を実行する。この他、ＮＭＦ（Non-Negative Matrix Factorization）を用いてもよい。これらの処理は、それぞれ学習用データに付与された重み付けに従って行なわれる。これにより、判別が困難とされる学習用データがより重視された次元圧縮処理が実現される。
【００７５】
次に、モデル生成部Ａ２は、弱判別器の基底状態を取得する処理を行なう（Ｓ５１）。ここで言う、弱判別器の基底状態とは、後述する弱判別器の評価関数において、フィルタ形状に関わる部分が、最も低い値となる状態のことである。基底状態ついては、弱判別器の評価関数の説明で改めて述べることにする。典型的には、ステップＳ５０で取得した、次元圧縮された学習用データを弱判別器のフィルタ形状に読み替える処理を行なう。例えば、ＰＣＡによって処理された学習用データを用いる場合には、最も大きい固有値に対応する固有ベクトルを画像化（いわゆる、固有顔）して、実施形態１における粗視化処理と同様の手法によって、基底状態となる弱判別器のフィルタ形状を求めるとよい。また、複数の固有ベクトルを用いて基底状態を求めてもよい。所定の数の固有ベクトルを、それぞれ対応する固有値の大きさによって重み付け和をとったものを画像化して、基底状態を求めてもよい。ＩＣＡやＮＭＦを用いる場合に、検出対象であるパターンの局所特徴が現れるような分解を施すようにしてもよい。この場合は、例えば、局所特徴（顔の場合は、目や口など）に対応するデータを複数集めて、画像化することによって、基底状態を構築するようにするとよい。また、単純に１つの局所特徴だけを検出するための弱判別器基底状態を構築してもよい。
【００７６】
続いて、モデル生成部Ａ２は、相互作用取得処理を行なう（ステップＳ５２）。ここで、相互作用とは、弱判別器のフィルタ形状を構成するフィルタ要素間における相互作用である。図１２は、弱判別器のフィルタ形状を表した図である。図中Ａ３１、Ａ３２、Ａ３３はそれぞれ、ｉ番目、ｊ番目、ｋ番目のフィルタ要素を表している。図中Ａ３４、はｉ番目とｊ番目のフィルタ要素間の相互作用を表している。同様に、図中Ａ３５、Ａ３６は、それぞれｊ番目とｋ番目、ｋ番目とｉ番目のフィルタ要素間の相互作用を表している。これらは、それぞれ２つのフィルタ要素間の相互作用であるが、これ以外にも例えば、３つのフィルタ要素間の相互作用なども挙げられる。ここでは、上記相互作用の全フィルタ要素についてのセットを、ステップＳ５１で取得した弱判別器の基底状態を実現するように決定する処理が行なわれる。具体的には、以下のように行なう。
【００７７】
まず、所定の相互作用を用いて定義された評価関数Ｅ０に、ステップＳ５１で取得した基底状態のフィルタ形状を代入して値を求める。評価関数Ｅ０は、フィルタ要素間に２体相互作用のみを考慮した場合、以下の（数式４）のように定義される。
【００７８】
【数４】
2010009517.tif 000006
【００７９】
ここで、Ｓｉはｉ番目のフィルタ要素の値であり、Ｊｉｊはｉ番目とｊ番目のフィルタ要素間の相互作用である。第１項の和記号は、ｉ≠ｊである全てのｉとｊの組み合わせについて行なわれる。第２項におけるＨｉは、ｉ番目のフィルタ要素に作用する外場を表し、和は、全てのフィルタ要素について行なわれる。２対以上の相互作用を取り入れた場合、例えば３対相互作用を含んだ評価関数は、以下の（数式５）で与えられる。
【００８０】
【数５】
2010009517.tif 000007
【００８１】
第２項の和記号の＜ｉｊｋ＞は、互いに全て異なるｉ、ｊ、ｋの組み合わせについて和を採ると言う意味である。相互作用の意味は、以下の通りである。ここでは、説明を簡略化するために２対相互作用のみ考える。また、フィルタ要素の値が±１の２値を取りえるとする。（数式４）における相互作用Ｊｉｊが正の値である場合、ＳｉとＳｊは符号が同じ方が評価関数Ｅ０の値は小さくなる。また、Ｊｉｊが負の値である場合には、先ほどの場合とは反対にＳｉとＳｊの符号が逆である方が評価関数Ｅ０の値は小さくなる。このように相互作用Ｊｉｊの符合によって、ｉ番目のフィルタ要素とｊ番目のフィルタ要素の符号がそろった方が良いのか、反対の方が良いのかが異なってくる。また、同様に、外場の項Ｈｉについては、ＨｉとＳｉが同じ符号の場合に評価関数Ｅ０の値は小さくなる。ＪｉｊとＨｉが異なる符合である場合には、競合関係が生まれる。評価関数の値を左右するのは、ＪｉｊとＨｉの絶対値の大きさによる。絶対値の大きい方が、評価関数に対して寄与が大きくなるので、フィルタ要素の符号をコントロールするのに重要な変数となる。
【００８２】
上記のような評価関数Ｅ０に対して、フィルタ要素の値Ｓｉに、ステップＳ５１で取得した基底状態におけるフィルタ要素の値を代入し、Ｅ０の値が最も小さくなる相互作用のセット（以下、２体相互作用のみの場合｛Ｊｉｊ；Ｈｉ｝と表す）を探す。実際には、フィルタ要素の値の全ての組み合わせについて｛Ｊｉｊ；Ｈｉ｝を変化させてＥ０の最小値を探すのは困難である。この｛Ｊｉｊ；Ｈｉ｝の決定には、公知の最適化手法を用いることができる。例えば、遺伝的アルゴリズム（GA：Genetic Algorithm）や、遺伝的プログラミング（GP：Genetic Programming）、ＰＳＯ（Particle Swarm Optimization）などの手法を用いることができる。また、ヒューリスティックな情報を用いてもよい。例えば、人間の顔を検出する場合、目の位置にあるフィルタ要素は、ほぼ同符号となるはずである。また、眉間にあるフィルタ要素は、口や目の位置のフィルタ要素と異符号となる確率が高いなどである。以上のようにして、フィルタ要素間の相互作用を決定することができる。以上が、弱判別器モデル生成処理の説明である。
【００８３】
＜弱判別器状態更新処理＞
状態更新部の処理内容について説明する。実施形態１と異なる点は、（数式１）に示された評価関数の定義である。実施形態２では、（数式１）に替わって、以下で与えられる（数式６）を採用する。
【００８４】
【数６】
2010009517.tif 000008
【００８５】
ここでＥ０は、モデル生成部Ａ２で用いられた評価関数である。すなわち、（数式４）や（数式５）で与えられる関数である。後の更新処理は、実施形態１で説明したマルコフ連鎖モンテカルロ法を応用した方法を適用することができる。マルコフ連鎖モンテカルロ法を用いることによって、（数式６）で与えられる評価関数に対して、大域的な最小値を効率的に探索することができる。
【００８６】
以上が本発明の代表的な実施形態の一例であるが、本発明は、上記及び図面に示す実施形態に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。
【００８７】
なお、本発明は、例えば、システム、装置、方法、プログラム若しくは記録媒体等としての実施態様を採ることもできる。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００８８】
また、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置に内蔵されたコンピュータが該供給されたプログラムコードを読み出して実行することにより実施形態の機能が達成される場合をも含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【００８９】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳ（Operating System）に供給するスクリプトデータ等の形態であってもよい。
【００９０】
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記録媒体としては以下が挙げられる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【００９１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００９２】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記録媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【００９３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部又は全部を行ない、その処理によって前述した実施形態の機能が実現される。
【００９４】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ（Central Processing Unit）などが実際の処理の一部又は全部を行なう。
【図面の簡単な説明】
【００９５】
【図１】本実施形態に係わるパターン検出器の学習装置１００の構成の一例を示すブロック図である。
【図２】図１に示す学習装置１００における全体処理の一例を示すフロー図である。
【図３】図２に示すステップＳ０１における弱判別器生成処理の一例を示すフロー図である。
【図４】図１に示すモデル生成部２の構成の一例を示すブロック図である。
【図５】図３に示すステップＳ１１における弱判別器モデル生成処理の一例を示すフロー図である。
【図６】弱判別器モデル（フィルタ）の一例を示す模式図である。
【図７】図１に示す状態更新部３の構成の一例を示すブロック図である。
【図８】図３に示すステップＳ１２における弱判別器状態更新処理の一例を示すフロー図である。
【図９】図８に示すステップＳ３３における更新評価処理の一例を示すフロー図である。
【図１０】実施形態２に係わるモデル生成部２の構成の一例を示すブロック図である。
【図１１】実施形態２に係わる弱判別器モデル生成処理の一例を示すフロー図である。
【図１２】弱判別器のフィルタ要素間の相互作用の一例を示す模式図である。
【符号の説明】
【００９６】
１    学習用データ取得部
２、Ａ２    モデル生成部
３    状態更新部
４    性能評価部
５    重み更新部
６    接続バス
７    モニタリング部
２１、Ａ２１    バッファ
２２、Ａ２２    統計処理部
２３    粗視化処理部
２４    マッピング処理部
３１    性能情報バッファ
３２    更新評価部
３３    状態履歴管理部
３４    フィルタ更新部
Ａ２３    フィルタ基底状態取得部
Ａ２４    相互作用取得部
【図１】
2010009517.tif 000009
【図２】
2010009517.tif 000010
【図３】
2010009517.tif 000011
【図４】
2010009517.tif 000012
【図５】
2010009517.tif 000013
【図６】
2010009517.tif 000014
【図７】
2010009517.tif 000015
【図８】
2010009517.tif 000016
【図９】
2010009517.tif 000017
【図１０】
2010009517.tif 000018
【図１１】
2010009517.tif 000019
【図１２】
2010009517.tif 000020