(57)【要約】      （修正有）【課題】一次記憶装置の規模を抑制しつつ、処理の高速化を実現する情報処理技術を提供する。【解決手段】複数の参照データを順次用いて入力データの処理を行う情報処理装置が提供される。情報処理装置は、複数の参照データを保持する二次記憶部１０１と、二次記憶部よりも高速にアクセス可能な一次記憶部１０２と、処理に用いられる参照データを二次記憶部から一次記憶部に読み出す読出し部１０３と、一次記憶部に読み出された参照データを用いて入力データの処理を行う実行部１０４と、実行部により用いられる予定の参照データが変更される確率と該予定の参照データのデータ量との少なくとも何れかに基づいて、該予定の参照データを先読みするか否かを判定する判定部１０５とを備える。読出し部は、判定部により先読みすると判定された場合に、予定の参照データを先読みし、判定部により先読しないと判定された場合に、予定の参照データを先読みしない。【選択図】図１
2011086207.tif 000002
【特許請求の範囲】
【請求項１】
複数の参照データを順次用いて入力データの処理を行う情報処理装置であって、
前記複数の参照データを保持する二次記憶手段と、
前記二次記憶手段よりも高速にアクセス可能な一次記憶手段と、
前記処理に用いられる前記参照データを前記二次記憶手段から前記一次記憶手段に読み出す読出し手段と、
前記一次記憶手段に読み出された参照データを用いて前記入力データの処理を行う実行手段と、
前記実行手段により用いられる予定の参照データが変更される確率と該予定の参照データのデータ量との少なくとも何れかに基づいて、該予定の参照データを先読みするか否かを判定する判定手段と
を備え、
前記読出し手段は、
前記判定手段により先読みすると判定された場合に、前記予定の参照データを先読みし、
前記判定手段により先読しないと判定された場合に、前記予定の参照データを先読みしない
ことを特徴とする情報処理装置。
【請求項２】
前記判定手段は、前記予定の参照データが変更される確率に関して増加し、かつ前記予定の参照データのデータ量に関して増加する関数の関数値が所定の値よりも小さい場合に先読みすると判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記関数値は前記予定の参照データが変更される確率と前記予定の参照データのデータ量との積であることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記判定手段は、前記予定の参照データのデータ量が所定のデータ量よりも少ない場合に先読みすると判定することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記判定手段は、前記予定の参照データが変更される確率が所定の確率よりも低い場合に先読みすると判定することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記読出し手段は、前記一次記憶手段に保持されている参照データを前記二次記憶手段から読み出さないことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記入力データは、画像データであり、
前記処理は、前記画像データの被写体の認識を行うための照合処理であり、
前記参照データは、前記照合処理に用いる辞書パラメータであり、
前記予定の参照データが変更される確率は、前記辞書パラメータを用いて事前に行われた学習の結果に基づいて規定される
ことを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
複数の参照データを保持する二次記憶手段と、前記二次記憶手段よりも高速にアクセス可能な一次記憶手段とを備える情報処理装置において、前記複数の参照データを順次用いて入力データの処理を行う情報処理方法であって、
読出し手段が、前記処理に用いられる前記参照データを前記二次記憶手段から前記一次記憶手段に読み出す読出し工程と、
実行手段が、前記一次記憶手段に読み出された参照データを用いて前記入力データの処理を行う実行工程と、
判定手段が、前記実行工程において用いられる予定の参照データが変更される確率と該予定の参照データのデータ量との少なくとも何れかに基づいて、該予定の参照データを先読みするか否かを判定する判定工程と
を備え、
前記判定工程において先読みすると判定された場合に、前記予定の参照データを先読みし、
前記判定工程において先読しないと判定された場合に、前記予定の参照データを先読みしない
ことを特徴とする情報処理方法。
【請求項９】
コンピュータを請求項１乃至７の何れか１項に記載の情報処理装置として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、デジタルカメラやプリンタなどの情報処理装置において、入力画像データ中の特定の被写体を検出し、検出された被写体に適した処理を施すことが行われている。この特定の被写体を検出する処理の一例として、顔検出処理がある。顔検出処理を行うためにさまざまな手法が提案されており、そのうちの一つが非特許文献１に記載される手法である。以下、非特許文献１に記載の手法をＶｉｏｌａ＆Ｊｏｎｅｓ手法と呼ぶ。Ｖｉｏｌａ＆Ｊｏｎｅｓ手法の概要を図６を用いて説明する。Ｖｉｏｌａ＆Ｊｏｎｅｓ手法では、入力された画像データ６００に対して、複数の照合処理が行われる。ここでは、照合処理Ａ６１０、照合処理Ｂ６１１、および照合処理Ｃ６１２の三つの処理が行われるとする。それぞれの照合処理において、画像データ６００が顔であるか非顔であるが判定される。何れかの照合処理において偽と判定された画像データ６００は、後続の処理が行われることなく、非顔と判定される。一方、すべての照合処理において真と判定された画像データ６００は、顔と判定される。それぞれの照合処理は、辞書パラメータを用いて行われる。辞書パラメータとは、照合処理に必要な特徴量や真偽判定の基準として用いられる閾値などのパラメータである。例えば、画像データ６００が顔である場合には、両目部分の小矩形とその下の小矩形を比較した場合に、前者の輝度の方が黒っぽいという特徴を有する。そのため、両矩形領域を指定するための値と、輝度の差と比較される閾値が辞書パラメータとして与えられる。
【０００３】
Ｖｉｏｌａ＆Ｊｏｎｅｓ手法を用いて顔検出処理を行う場合に、処理を高速に実行したいという要望が高まっている。近年の情報処理装置は、一般に、高速・高価な一次記憶装置と低速・安価な二次記憶装置とを備える。照合処理に用いるすべての辞書パラメータを一次記憶装置に保持しておけば、非常に高速に顔検出処理を行うことができる。しかしながら、一方で、デジタルカメラのようなコストセンシティブな情報処理装置においては、顔検出処理を安価に実装するために、一次記憶装置を使用する容量を減らしたいという要望もある。そのために、二次記憶装置に保持されている辞書パラメータを必要に応じて一次記憶装置に読み出す手法が用いられている。この際に、参照データを順次用いて処理が行われる場合には、次の処理に用いられる予定の参照データを事前に一次記憶装置に読み出す先読み（プリフェッチ）を行うのが一般的である。先読みにより、一次記憶装置の規模を抑制しつつ、照合処理の高速化を実現することが出来る。例えば、照合処理Ｂ６１１が終了する前に辞書パラメータＣ６２２を一次記憶装置に先読みすることによって、顔検出処理全体の処理速度を高速化することができる。
【０００４】
しかしながら、前述のように、顔検出処理においては、照合処理の結果によっては、次の処理に用いられる予定の辞書パラメータが変更されることになる。例えば、照合処理Ｂ６１１が終了する前に、辞書パラメータＣ６２２の先読みを開始していたとする。この場合に、照合処理Ｂ６１１の結果が偽であった場合には、その画像データの顔検出処理は終了し、次の画像データの処理を開始することになる。次の照合処理に必要な辞書パラメータは辞書パラメータＡ６２０であるため、辞書パラメータＣ６２２の先読みを強制終了できない場合には、辞書パラメータＣ６２２の読出しが完了するまでの時間が無駄になってしまう。また、先読みを強制終了出来る場合であっても、辞書パラメータＣ６２２によって、一次記憶装置に保持されている他の辞書パラメータが上書きされてしまう場合もある。つまり、常に先読みを行う場合には、、照合処理の結果が偽になる回数が多いほど、無駄な辞書パラメータの読出し回数と、無駄な辞書パラメータの読出しのために上書きされた辞書パラメータの再ロード回数が増えることになる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】P. Viola and M. Jones, “Robust Real-time Object Detection", SECOND INTERNATIONAL WORKSHOP ON STATISTICAL AND COMPUTATIONAL THEORIES OF VISION, July 13 2001.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、一次記憶装置の規模を抑制しつつ、処理の高速化を実現する情報処理技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明に係る情報処理装置は、複数の参照データを順次用いて入力データの処理を行う情報処理装置であって、前記複数の参照データを保持する二次記憶手段と、前記二次記憶手段よりも高速にアクセス可能な一次記憶手段と、前記処理に用いられる前記参照データを前記二次記憶手段から前記一次記憶手段に読み出す読出し手段と、前記一次記憶手段に読み出された参照データを用いて前記入力データの処理を行う実行手段と、前記実行手段により用いられる予定の参照データが変更される確率と該予定の参照データのデータ量との少なくとも何れかに基づいて、該予定の参照データを先読みするか否かを判定する判定手段とを備え、前記読出し手段は、前記判定手段により先読みすると判定された場合に、前記予定の参照データを先読みし、前記判定手段により先読しないと判定された場合に、前記予定の参照データを先読みしないことを特徴とする。
【発明の効果】
【０００８】
本発明により、一次記憶装置の規模を抑制しつつ、処理の高速化を実現する情報処理技術が提供される。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態の機能ブロック図の一例。
【図２】本発明の実施形態のハードウェア・ブロック図の一例。
【図３】本発明の実施形態の動作の一例を説明するフローチャート。
【図４】本発明の実施形態のリスクテーブル１１２の一例を説明する図。
【図５】本発明の実施形態の処理時間のタイムチャートの一例。
【図６】Ｖｉｏｌａ＆Ｊｏｎｅｓ手法の概要を説明する図。
【発明を実施するための形態】
【００１０】
添付の図面を参照しつつ、本発明に係る実施形態を以下に説明する。本発明は、複数の参照データを順次用いて入力データの処理を行う情報処理装置に適用可能である。以下の実施形態では、そのような情報処理装置として、複数の画像データが入力データとして与えられ、それぞれの画像データの被写体に対してＶｉｏｌａ＆Ｊｏｎｅｓ手法を用いて顔検出処理を行う情報処理装置１００を扱う。従って、参照データとして辞書パラメータを扱い、入力データの処理として画像データの照合処理を扱う。照合処理の結果が真であれば、次の辞書パラメータが順番どおりに用いられる。しかし、照合処理の結果が偽となった場合には、次の辞書パラメータが用いられる代わりに、次の画像データに対して先頭の辞書パラメータが用いられる。
【００１１】
＜第１の実施形態＞
〔情報処理装置１００の機能ブロック図〕
図１を用いて本実施形態における情報処理装置１００の機能ブロック図について説明する。情報処理装置１００は、二次記憶部１０１、一次記憶部１０２、読出し部１０３、実行部１０４、および判定部１０５を備える。
【００１２】
二次記憶部１０１は、辞書パラメータ１１０、画像データ１１１、リスクテーブル１１２、およびリスク閾値１１３を保持する。辞書パラメータ１１０とは、前述の通り、画像データ１１１の照合処理に用いられるデータであり、例えば特徴量と閾値とを含む。例えば、特徴量として、画像データにおいて上下に隣り合っている二つの矩形領域の座標値が与えられ、閾値として両領域の輝度差と比較される閾値が与えられる。辞書パラメータ１１０は、典型的には照合処理ごとに異なるが、重複する辞書パラメータ１１０が含まれていても本発明を適用可能である。二次記憶部１０１は、一般に複数の辞書パラメータ１１０を保持する。一次記憶部１０２は、二次記憶部１０１よりも高速にアクセス可能な記憶部である。読出し部１０３は、画像データ１１１の顔検出処理のために、辞書パラメータ１１０と画像データ１１１とを二次記憶部１０１から一次記憶部１０２に読み出す。読出し部１０３は、照合処理の終了後に、次の照合処理に用いられる辞書パラメータ１１０を読み出す場合もあるし、照合処理の終了前に、次の照合処理に用いられる予定の辞書パラメータ１１０を先読みする場合もある。読出し部１０３は、辞書パラメータ１１０の読出しの完了を実行部１０４に報告する。読出し部１０３は、読み出される辞書パラメータ１１０がすでに一次記憶部１０２に保持されている場合に、重複して辞書パラメータ１１０を読み出さなくてもよい。また、読出し部１０３は、一次記憶部１０２に保持されている辞書パラメータ１１０の総データ量が事前に設定された閾値を超える場合に、新たに読み出す辞書パラメータ１１０を過去に読み出した辞書パラメータ１１０に上書きする。
【００１３】
実行部１０４は、一次記憶部１０２に読み出された辞書パラメータ１１０を用いて、入力された画像データの照合処理を実行し、処理結果を読出し部１０３に出力する。先程の例では、実行部１０４はそれぞれの領域内の画素値の総和を計算して、差分を演算する。これを閾値と比較して、閾値よりも大きい場合には処理結果として真を出力する。読出し部１０３は処理結果に基づいて次に読み出すべき辞書パラメータ１１０を判定する。判定部１０５は、読出し部１０３からの要求を受けて、次の処理に用いられる予定の辞書パラメータ１１０を先読みするか否かの判定を行う。判定部１０５は、判定結果を読出し部１０３に返す。判定部１０５は、リスクテーブル１１２とリスク閾値１１３とに基づいて先読みを行うか否かの判定を行う。リスクテーブル１１２およびリスク閾値１１３の詳細は後述する。顔検出処理を高速化するために、読出し部１０３は、リスクテーブル１１２とリスク閾値１１３とを二次記憶部１０１から一次記憶部１０２に読み出してもよい。
【００１４】
〔情報処理装置１００のハードウェア・ブロック図〕
図２は情報処理装置１００のハードウェア・ブロック図の一例である。なお、図２は、本発明の実施形態に対応する情報処理装置１００の構成を実現するための構成の一例を示しており、情報処理装置１００に係わるその他の機構については説明の簡単のために省略している。図２においては、情報処理装置１００としてＰＣを想定しているが、デジタルカメラやプリンタ等であってもよい。
【００１５】
マイクロプロセッサであるＣＰＵ２０１は、ＲＯＭ２０３、ハードディスク（ＨＤ）２１２、外部メモリドライブ２１１にセットされた記憶メディアに記憶されたコンピュータプログラムやデータなどに基づき、情報処理装置１００を制御する。ＲＡＭ２０２は、ＣＰＵ２０１のワークエリアとして機能し、ＲＯＭ２０３やＨＤ２１２等に格納されたプログラムを保持する。ＲＡＭ２０２は、例えば一次記憶部１０２として機能する。ＲＯＭ２０３、外部メモリドライブ２１１にセットされた記憶メディア或いは、ＨＤ２１２には、後述するフローチャートに示されるような、ＣＰＵ２０１により実行されるコンピュータプログラムなどが記憶されている。
【００１６】
キーボードコントローラ（ＫＢＣ）２０５は、キーボード（ＫＢ）２０９や図示しないマウスなどのポインティングデバイスからの入力を制御する。ディスプレイコントローラ（ＤＰＣ）２０６は、ディスプレイ２１０の表示を制御する。ディスクコントローラ（ＤＫＣ）２０７は、ＨＤ２１２および外部メモリドライブ２１１のアクセスを制御し、それらの記憶メディアに対して各種プログラム、並びに、フォントデータ、ユーザファイルおよび編集ファイルなどの各種データを読み書きする。ＨＤ２１２は、例えば二次記憶部１０１として機能する。ネットワークコントローラ（ＮＣ）２０８は、ネットワーク２２０との間の通信を行う。画像データ１１１はネットワーク２２０を介して取得されてもよい。
【００１７】
〔情報処理装置１００の動作〕
図３に記載のフローチャートを用いて、情報処理装置１００の動作について説明する。このフローチャートの動作は、例えばＲＯＭ２０３に書き込まれたコンピュータプログラムをＣＰＵ２０１が処理することによって実行される。
【００１８】
Ｓ３０１で、読出し部１０３は、二次記憶部１０１に保持された入力データである複数の画像データ１１１のうち、１枚を一次記憶部１０２に読み出す。実行部１０４は、読み出された画像データ１１１に対して複数の辞書パラメータ１１０を順次用いて照合処理を行い、顔であるか否かを判定する。本実施形態では、辞書パラメータＡ、辞書パラメータＢ、および辞書パラメータＣの三つがこの順番で用いられるとするが、これに限られない。
【００１９】
Ｓ３０２で、読出し部１０３は、一次記憶部１０２に次の照合処理に用いられる辞書パラメータ１１０が記憶されているか否かを判定する。記憶されている場合（Ｓ３０２で「ＹＥＳ」）に、処理はＳ３０６に移行する。記憶されていない場合（Ｓ３０２で「ＮＯ」）に、処理はＳ３０３に移行し、読出し部１０３は対象の辞書パラメータ１１０が先読み中であるか否かを判定する。先読み中である場合（Ｓ３０３で「ＹＥＳ」）に、処理はＳ３０５に移行し、読出し部１０３は読出しが完了するまで待機する。先読み中でない場合（Ｓ３０３で「ＮＯ」）に、処理はＳ３０４に移行する。Ｓ３０４で、読出し部１０３は、次の照合処理に用いられる辞書パラメータ１１０を二次記憶部１０１から一次記憶部１０２に読み出す。Ｓ３０４の読出しは先読みではなく、次の照合処理に用いられることが確定した辞書パラメータ１１０を読み出す通常の読出しである。Ｓ３０５で、読出し部１０３は辞書パラメータ１１０の読出しが完了したか否かを判定し、完了していない場合（Ｓ３０５で「ＮＯ」）にＳ３０５を繰り返し、完了した場合（Ｓ３０５で「ＹＥＳ」）に処理はＳ３０６に移行する。このように、辞書パラメータ１１０がすでに一次記憶部１０２に記憶されているや先読みがすでに開始されている場合に読出しを省略することによって、顔検出に係る処理時間を短縮することができる。
【００２０】
Ｓ３０６で、実行部１０４は画像データ１１１に対して辞書パラメータ１１０を用いて照合処理を開始する。Ｓ３０７で、判定部１０５は辞書パラメータ１１０を先読みするか否かを判定する。この処理の詳細については後述する。先読みすると判定された場合（Ｓ３０７で「ＹＥＳ」）に、処理はＳ３０８に移行し、読出し部１０３は先読みを行う。先読みしないと判定された場合（Ｓ３０７で「ＮＯ」）に、処理はＳ３０９に移行し、読出し部１０３は先読みを行わない。先読みを行う場合に、読出し部１０３は、次の照合処理に用いられる予定の参照データの二次記憶部１０１から一次記憶部１０２への読出しを開始する。例えば、Ｓ３０６において実行部１０４が辞書パラメータＡを用いて照合処理を開始した場合には、Ｓ３０８において読出し部１０３は辞書パラメータＢを読み出す。また、Ｓ３０６において実行部１０４が辞書パラメータＣを用いて照合処理を開始した場合には、Ｓ３０８において読出し部１０３は辞書パラメータＡを先読みしてもよい。順番が最後である辞書パラメータＣを用いた照合処理の終了後には、順番が最初である辞書パラメータＡを用いた照合処理が次の画像データ１１１に対して行われるからである。先読みは実行部１０４による照合処理が終了する前に開始される。
【００２１】
照合処理の終了後、Ｓ３０９で読出し部１０３は照合処理の結果が真であるか否かを判定する。処理結果が真である場合（Ｓ３０９で「ＹＥＳ」）に処理はＳ３１０に移行し、読出し部１０３は処理中の画像データ１１１に対して順番が最後の辞書パラメータ１１０の処理が終了したか否かを判定する。順番が最後の辞書パラメータ１１０の処理が終了していない場合（Ｓ３１０で「ＮＯ」）に、順番が次の辞書パラメータ１１０を用いて照合処理を行うために、処理はＳ３０２に戻る。例えば、辞書パラメータＡの処理が終了した場合には、順番が次の辞書パラメータＢを用いた照合処理が行われる。順番が最後の辞書パラメータ１１０の処理が終了した場合（Ｓ３１０で「ＹＥＳ」）に、すべての辞書パラメータ１１０に対して照合結果が真であることになるため、読出し部１０３は画像データ１１１を顔であると判定する。そして、処理はＳ３１１に移行する。一方、処理結果が偽である場合（Ｓ３０９で「ＮＯ」）に、読出し部１０３は画像データ１１１を非顔であると判定し、処理はＳ３１１に移行する。
【００２２】
Ｓ３１１で、読出し部１０３は、未判定の画像データが二次記憶部１０１に保持されているか否かを判定する。保持されている場合（Ｓ３１１で「ＹＥＳ」）に、処理はＳ３０２に戻り、読出し部１０３は未判定の画像データを一次記憶部１０２に読み出す。保持されていない場合（Ｓ３１１で「ＮＯ」）に、処理は終了する。
【００２３】
〔先読み判定の詳細〕
図４に記載したリスクテーブル１１２の例を用いて、図３のＳ３０７の先読み判定の詳細について説明する。辞書名４０１は照合処理に用いられる辞書パラメータ１１０の名称である。変更確率４０２は、辞書名４０１の辞書パラメータ１１０を用いて照合処理を行った結果、次の照合処理に用いられる予定の辞書パラメータ１１０が変更される確率である。データ量４０３は辞書パラメータ１１０のデータ量である。
【００２４】
辞書パラメータ１１０の先読みを開始した後に照合結果が偽となった場合、すなわち、次の照合処理に用いられる余地得の辞書パラメータ１１０が変更される場合に、画像データ１１１の顔検出処理にかかる時間が長くなる場合がある。例えば、読出し部１０３が辞書パラメータ１１０の読出しを強制終了できない場合には、次の照合処理では必要のない辞書パラメータ１１０をすべて読み出すまでの時間が無駄になってしまう。また、読出し部１０３は、すでに一次記憶部１０２に保持されていた辞書パラメータ１１０を上書きしてしまう場合もある。変更確率４０２が高いほど、先読みをした辞書パラメータ１１０が無駄になる可能性が高い。また、先読みされる辞書パラメータ１１０のデータ量４０３が大きいほど、読出しにかかる時間も長く、また上書きされる一次記憶部１０２の領域も広くなる。そこで、本実施形態において、判定部１０５は、変更確率４０２とデータ量４０３との少なくとも何れかに基づいて、先読み判定を行う。これらの値は、例えば事前の学習によって規定され、顔検出処理に先立ってリスクテーブル１１２として二次記憶部１０１に記憶される。顔検出処理においては、辞書パラメータ１１０のそれぞれを用いた照合処理が真となる確率が事前に学習される。
【００２５】
判定部１０５は、図３のＳ３０６において開始された照合処理に使用中の辞書パラメータ１１０の変更確率４０２と、次の照合処理に用いられる辞書パラメータ１１０のデータ量４０３の積をリスク値として定義する。このリスク値がリスク閾値１１３より小さい場合に、判定部１０５は先読みすると判定する。例えば、リスク閾値１１３が２００に設定されていると仮定する。この場合に、図３のＳ３０６において実行部１０４が辞書パラメータＡを用いた照合処理を開始した場合に、Ｓ３０７において判定部１０５は辞書パラメータＢを先読みすると判定する。なぜならば、この場合のリスク値は０．３×４０＝１２０であり、リスク閾値１１３よりも小さいからである。一方、図３のＳ３０６において実行部１０４が辞書パラメータＢを用いて照合処理を開始した場合に、Ｓ３０７において判定部１０５は辞書パラメータＣを先読みしないと判定する。なぜならば、この場合のリスク値は０．５×６０＝３００であり、リスク閾値１１３よりも大きいからである。なお、リスク値の定義は変更確率４０２とデータ量４０３との積に限られない。一般的に、リスク値は、変更確率４０２に関して増加し、かつデータ量４０３に関して増加する関数の関数値として定義される。
【００２６】
図４に示した例では、変更確率４０２とデータ量４０３との両方に基づいて先読み判定が行われる例を説明したが、変更確率４０２だけに基づいて、またはデータ量４０３だけに基づいて先読み判定が行われてもよい。変更確率４０２に基づく場合には、判定部１０５は、変更確率４０２をリスク閾値１１３と比較し、リスク閾値１１３よりも小さい場合に先読みすると判定する。データ量４０３に基づく場合には、判定部１０５は、データ量４０３をリスク閾値１１３と比較し、リスク閾値１１３よりも小さい場合に先読みすると判定する。
【００２７】
なお、情報処理装置１００のユーザ又は販売者などは、二次記憶部１０１にリスクテーブル１１２とリスク閾値１１３とを記憶する変わりに、先読みを行うか否かを示す二値を辞書パラメータ１１０のそれぞれに対応付けて記憶してもよい。また、ユーザ又は販売者などは、リスク値が昇順に並んでいる場合には、リスク閾値１１３よりもリスク値が小さい辞書パラメータ１１０のうち順番が最も遅いものの順番を二次記憶部１０１に記憶してもよい。また、情報処理装置１００は、画像データ１１１の顔検出処理の進行に伴って、変更確率４０２を更新してもよい。さらに、辞書パラメータ１１０が複数の二次記憶部１０１に記憶され、それぞれの辞書パラメータ１１０を一次記憶部１０２に読み出す時間が異なる場合に、読出し時間をデータ量４０３に加味してもかまわない。また、認識対象が複数ある場合や画像データ１１１を取得した際のモードなどがある場合に、それぞれに対して異なるリスクテーブル１１２およびリスク閾値１１３が設定されてもよい。判定部１０５は、認識対象やモード等に基づいて、利用するリスクテーブル１１２およびリスク閾値１１３を切り替えてもよい。
【００２８】
〔情報処理装置１００による処理時間〕
先読みを行った場合の処理にかかる時間を図５と図６とを用いて説明する。情報処理装置１００において、画像データＡ５００、画像データＢ５０１、および画像データＣ５０２の３枚の画像データについて顔検出処理が順次行われるとする。顔検出処理では、照合処理Ａ６１０、照合処理Ｂ６１１、および照合処理Ｃ６１２が順次行われ、それぞれにおいて辞書パラメータＡ６２０、辞書パラメータＢ６２１、および辞書パラメータＣ６２２が用いられるとする。画像データＡ５００は照合処理Ａ６１０で偽となり、画像データＢ５０１は照合処理Ｂ６１１で偽となり、画像データＣ５０２はすべての照合処理で真となるデータであるとする。また、各照合処理は１サイクル長で終了し、辞書パラメータＡ６２０、辞書パラメータＢ６２１、および辞書パラメータＣ６２２の一次記憶部１０２への読出しはそれぞれ２サイクル長、３サイクル長、および４サイクル長を要するとする。説明のため、一次記憶部１０２は二つまでの辞書パラメータ１１０を保持でき、それ以上の辞書パラメータ１１０を保持する場合に読出し部１０３は最も古く呼び出された辞書パラメータ１１０を上書きするものとする。なお、読出し部１０３は、一次記憶部１０２に読み出された辞書パラメータ１１０の総データ量が所定の閾値を超えた場合に古い辞書パラメータ１１０を上書きしてもよい。
【００２９】
図５（ａ）は本実施形態に従って先読みを行った場合のタイムチャートの一例である。例えば、Ｃ＿Ａは辞書パラメータＡ６２０を用いた照合処理を表し、Ｌ＿Ａは辞書パラメータＡ６２０の読出し処理を表し、Ｐ＿Ａは一次記憶部１０２に辞書パラメータＡ６２０が保持されていることを表す。画像データＡ５００の顔検出処理の開始に伴って、読出し部１０３は、１サイクル目で辞書パラメータＡ６２０の読出しを開始する。２サイクル目で辞書パラメータＡ６２０の読出しが完了し、実行部１０４は、３サイクル目の一次記憶部１０２に読み出された辞書パラメータＡ６２０を用いて照合処理Ａ６１０を実行する。前述のように、この場合のリスク値はリスク閾値１１３よりも小さいので、読出し部１０３は次に用いられる予定の辞書パラメータである辞書パラメータＢ６２１の先読みを開始する。照合処理Ａ６１０の結果は偽となるため、実行部１０４は画像データＡ５００を非顔と判定し、次の画像データＢ５０１の処理を開始する。一方、６サイクル目では、前述の通り、リスク値がリスク閾値１１３よりも大きいので、読出し部１０３は辞書パラメータＣ６２２の先読みを行わない。その結果、一次記憶部１０２に保持されている辞書パラメータＡ６２０が上書きされないため、７サイクル目で画像データＣ５０２に対する照合処理Ａ６１０を開始することが出来る。
【００３０】
図５（ｂ）はすべての照合処理において先読みを行った場合のタイムチャートの一例である。６サイクル目で辞書パラメータＣ６２２の読出しを開始しているため、一次記憶部１０２に記憶された辞書パラメータＡ６２０が上書きされてしまう。そのため、７サイクル目で辞書パラメータＡ６２０を読み出す必要があり、画像データＣ５０２の顔検出処理が終了するまでに１５サイクルかかる。
【００３１】
以上のように、本実施形態によれば、一次記憶部１０２の規模を抑制しつつ、顔検出処理を高速に処理することが可能となる。
【図１】
2011086207.tif 000003
【図２】
2011086207.tif 000004
【図３】
2011086207.tif 000005
【図４】
2011086207.tif 000006
【図５】
2011086207.tif 000007
【図６】
2011086207.tif 000008