(57)【要約】  所定のオブジェクトを画像から検出する方法（２００、３００、４００）は、画像において、可能性のある所定のオブジェクトを検出すること（２１２、３１４、４１４）を含む。この方法では、画像の少なくとも一部が回転し（２１４、３１８、４２２）、可能性のある所定のオブジェクトが画像の回転された少なくとも一部において検出されるかどうかについて判断される（２１６、３２０、４２４）。さらに、可能性のある所定のオブジェクトが画像の回転された少なくとも一部において検出されるかどうかの判断に応じて、可能性のある所定のオブジェクトが所定のオブジェクトの正確な検出であるかどうかを判断する（２１８、３２６、４３０）。
2008519336.tif 000002
【特許請求の範囲】
【請求項１】
画像において、可能性のある所定のオブジェクトを検出すること（２１２、３１４、４１４）と、
前記画像の少なくとも一部を回転すること（２１４、３１８、４２２）と、
前記可能性のある所定のオブジェクトが前記画像の前記回転された少なくとも一部において検出されるかどうかを判断すること（２１６、３２０、４２４）と、
前記可能性のある所定のオブジェクトが前記画像の前記回転された少なくとも一部において検出されるかどうかの判断に応じて、前記可能性のある所定のオブジェクトが前記所定のオブジェクトの正確な検出であるかどうかを判断すること（２１８、３２６、４３０）と、
を含むことを特徴とする画像において所定のオブジェクトを検出する方法。
【請求項２】
前記可能性のある所定のオブジェクトが前記所定のオブジェクトの正確な検出であるかどうかを判断する前記こと（２１８、３２６、４３０）は、前記画像における前記可能性のある所定のオブジェクトのサイズと、前記画像の前記回転された少なくとも一部において検出された前記可能性のある所定のオブジェクトのサイズとを比較すること（３２６、４３０）を含み、前記画像において所定のオブジェクトを検出する方法はさらに、
前記画像における前記可能性のある所定のオブジェクトのサイズと、前記画像の前記回転された少なくとも一部における前記可能性のある所定のオブジェクトのサイズとの比較がほぼ同様であることを示すことに応じて、前記可能性のある所定のオブジェクトが前記所定のオブジェクトの正確な検出であるとの表示を出力すること（３２８、４３２）と、
前記画像における前記可能性のある所定のオブジェクトのサイズと、前記画像の前記回転された少なくとも一部における前記可能性のある所定のオブジェクトのサイズとの比較が異なることを示すことに応じて、前記可能性のある所定のオブジェクトが誤認であるとの表示を出力すること（３２８、４３２）と、
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記画像の前記少なくとも一部を複数の角度へ回転すること（３１８、４２２）と、
前記可能性のある所定のオブジェクトが、前記画像の前記複数の回転された少なくとも一部の１つ又は２つ以上において検出されるかどうかを検出すること（３２０、４２４）と、
前記可能性のある所定のオブジェクトが、前記画像の前記複数の回転された少なくとも一部の１つ又は２つ以上において検出されるかどうかを検出することに応じて、前記可能性のある所定のオブジェクトが前記所定のオブジェクトの正確な検出であるかどうかを判断すること（３２６、４３０）と、
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記可能性のある所定のオブジェクトを含む前記画像の領域をクロッピングすること（４１８）をさらに含み、前記画像の少なくとも一部を複数の角度へ回転する前記こと（４２２）は、前記画像の前記クロッピング領域を回転することを含むことを特徴とする請求項１ないし３のいずれか１項に記載の方法。
【請求項５】
前記可能性のある所定のオブジェクトが前記所定のオブジェクトの正確な検出であるかどうかを判断する前記こと（４３０）は、前記可能性のある所定のオブジェクトが前記画像の前記回転されたクロッピング領域において検出されるかどうかを判断することをさらに含み、前記画像において所定のオブジェクトを検出する方法はさらに、
前記可能性のある所定のオブジェクトが前記画像の前記回転されたクロッピング領域において検出されたことに応じて、前記可能性のある所定のオブジェクトが前記所定のオブジェクトの正確な検出であるとの表示を出力すること（４３２）
を含むことを特徴とする請求項４に記載の方法。
【請求項６】
画像において、可能性のある所定のオブジェクトを検出するように構成されたオブジェクト検出モジュール（１１４）と、
前記画像の少なくとも一部を回転するように構成された画像回転モジュール（１１２）と、
空間フィルタモジュールとを備え、
前記オブジェクト検出モジュール（１１４）は、前記画像の前記回転された少なくとも一部において前記可能性のある所定のオブジェクトを検出するように構成されており、
前記空間フィルタモジュール（１１６）は、前記画像の前記オブジェクト検出モジュール（１１４）からの検出結果と、前記画像の前記回転された少なくとも一部の前記オブジェクト検出モジュール（１１４）からの検出結果とを比較して、前記オブジェクト検出モジュール（１１４）により検出された前記可能性のある所定のオブジェクトが前記所定のオブジェクトの正確な検出であるかどうかを判断するように構成されていることを特徴とするオブジェクト検出システム。
【請求項７】
前記可能性のある所定のオブジェクトが前記画像の前記回転された少なくとも一部において検出された場合、前記空間フィルタモジュール（１１６）は、前記オブジェクト検出モジュール（１１４）により検出された前記可能性のある所定のオブジェクトが前記所定のオブジェクトの正確な検出であるとの判断を出力するように構成されていることを特徴とする請求項６に記載のオブジェクト検出システム。
【請求項８】
数式：ｓｕｍ＝ｗ1×ｖ1＋ｗ2×ｖ2＋…＋ｗn×ｖn、且つ、ｓｕｍ＞ｔ
が満たされる場合に、前記空間フィルタモジュール（１１６）は、前記オブジェクト検出モジュール（１１４）によって検出された前記可能性のある所定のオブジェクトが前記所定のオブジェクトの正確な検出であるとの表示を出力するように構成され、ここで、ｗ1、ｗ2、…、ｗnは重みであり、ｖ1、ｖ2、…、ｖnは、前記画像の検出結果と前記複数の角度へ回転された前記画像の前記少なくとも一部の検出結果との比較を通じて求められた一致性を示すベクトルであり、ｔは所定のしきい値であり、
前記一致性を示すベクトルｖ1、ｖ2、…、ｖnは、前記複数の角度の１つにおける前記画像の回転された少なくとも一部の検出結果のベクトル成分ｖmについて、前記可能性のある所定のオブジェクトが、前記画像と、前記複数の角度の１つへ回転された前記画像の前記少なくとも一部との双方において検出された場合には１に設定され、そうでない場合には、前記一致性を示すベクトルｖ1、ｖ2、…、ｖnは、ベクトル成分ｖmについて、０に設定されることを特徴とする請求項６及び７のいずれか１項に記載のオブジェクト検出システム。
【請求項９】
画像において、可能性のある所定のオブジェクトを検出するための命令（２１２、３１４、４１４）と、
前記画像の少なくとも一部を回転するための命令（２１４、３１８、４２２）と、
前記可能性のある所定のオブジェクトが前記画像の前記回転された少なくとも一部において検出されるかどうかを検出するための命令（２１６、３２０、４２４）と、
前記可能性のある所定のオブジェクトが前記画像の前記回転された少なくとも一部において検出されたことに応じて、前記画像において検出された前記可能性のある所定のオブジェクトが前記所定のオブジェクトの正確な検出であることの表示を出力するための命令（３２８、４３２）と
を含むことを特徴とする、１つ又は２つ以上のコンピュータプログラムが組み込まれ、前記１つ又は２つ以上のコンピュータプログラムが、前記画像において前記オブジェクトを検出する方法を実施し、前記１つ又は２つ以上のコンピュータプログラムが、一連の命令であるコンピュータ可読記憶媒体。
【請求項１０】
前記１つ又は２つ以上のコンピュータプログラムは、更に一連の命令を備え、
前記画像の前記少なくとも一部を複数の角度へ回転するための命令（２１４、３１８、４２２）と、
前記可能性のある所定のオブジェクトが、前記画像の前記複数の回転された少なくとも一部の１つ又は２つ以上において検出されるかどうかを検出するための命令（２１６、３２０、４２４）と、
前記可能性のある所定のオブジェクトが、前記画像の前記複数の回転された少なくとも一部のうちの少なくとも１つにおいて検出されたことに応じて、前記画像において検出された前記可能性のある所定のオブジェクトが前記所定のオブジェクトの正確な検出であることの表示を出力するための命令（３２８、４３２）と
をさらに含むことを特徴とする、請求項９に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
最先端のオブジェクト検出アルゴリズムでは、さまざまなオブジェクトの直立している正面の図を検出することができる。加えて、これらのアルゴリズムの中には、適度に面内回転しているオブジェクトを検出できるものもある。しかしながら、検出アルゴリズムが一旦決定されると、これらのアルゴリズムの検出性能を改善することは困難或いは実行不可能となる。換言すれば、これらのアルゴリズムを使用する際の誤認率を増加させないで、検出率を改善することはできない。また、これらのオブジェクト検出アルゴリズムの性能は、その分類器の基本的な能力によっても制限される。より詳細には、従来の検出アルゴリズムは、分類器の能力に一旦達すると、そのアルゴリズムの誤認率を増加させることなくそのアルゴリズムの検出率を改善することができず、また、逆も同様である。
【発明の開示】
【発明が解決しようとする課題】
【０００２】
したがって、比較的高い検出率及び比較的低い誤認率でオブジェクトを検出できることが望ましい。
【課題を解決するための手段】
【０００３】
画像における所定のオブジェクトを検出する方法が開示される。この方法では、画像において、可能性のある所定のオブジェクトが検出される。加えて、画像の少なくとも一部が回転し、可能性のある所定のオブジェクトが画像の回転された少なくとも一部で検出されたかどうか判断される。さらに、可能性のある所定のオブジェクトが画像の回転された少なくとも一部で検出されたかどうかの判断に応じて、可能性のある所定のオブジェクトが所定のオブジェクトの正確な検出であるかどうかが判断される。
【０００４】
本発明の特徴は、図面に関する以下の説明から当業者に明らかになるであろう。
【発明を実施するための最良の形態】
【０００５】
簡単且つ例示を目的として、本発明の一例である実施の形態を主として参照しながら本発明を説明する。以下の説明では、本発明が十分に理解されるように、多くについて具体的に詳細を述べる。しかしながら、本発明は、これらの具体的に詳細に説明したものに制限されることなく実施できることは当業者には明らかであろう。別な例の場合には、本発明を不必要に分かりにくくしないように既知の方法及び構造は詳細には説明しない。
【０００６】
さまざまなオブジェクト検出アルゴリズムの性能を改善する空間フィルタリングアルゴリズムを本明細書で説明する。一般に、空間フィルタリングアルゴリズムは、画像の複数の回転バージョン間の空間的冗長性を活用することによってさまざまなオブジェクト検出アルゴリズムの性能を高めるように設計されている。加えて、空間フィルタリングアルゴリズムは、どの特定のタイプのオブジェクト検出アルゴリズムにも結びついておらず、したがって、いくつかの異なるオブジェクト検出アルゴリズムと共に使用することができる。
【０００７】
換言すれば、本明細書で開示する空間フィルタリングアルゴリズムは、１つ又は２つ以上の画像について複数の回転したもの(回転版）を生成及び評価し、たとえば、人間の顔、自動車、家庭用品等のオブジェクトを正確に検出するように設計されている。或る点で、空間フィルタリングアルゴリズムは、回転版のいずれにおいて同じオブジェクトが検出されたかを判断することができる。同じ検出オブジェクトが画像の回転版の複数のものに現れている場合、その可能性のある検出オブジェクトが画像の実際のオブジェクトである確率は比較的高い。或いは、或る可能性のある検出オブジェクトが、複数の回転版の少なくとも１つに現れていない場合、その可能性のある検出オブジェクトは所望のオブジェクトではなく、したがって、無視できる確率は比較的高い。この点に関して、本明細書で開示する空間フィルタリングアルゴリズムを実施することによって、さまざまなオブジェクト検出アルゴリズムの検出率を、それらの誤認率を増加させることなく改善することができる。
【０００８】
本明細書で開示する空間フィルタリングアルゴリズムは、比較的広い範囲に適用することができ、したがって、多種多様なオブジェクト検出アルゴリズムと共に使用することができる。たとえば、これらの空間フィルタリングアルゴリズムは、顔を使うコンテンツ解析、人間識別管理、画質評価、人工知能等に用いられるオブジェクト検出アルゴリズムと共に使用することができる。
【０００９】
まず図１Ａに、オブジェクト検出システム１０２のブロック図１００が示されている。ブロック図１００の以下の説明は、このようなオブジェクト検出システム１０２を構成するさまざまな異なる形態のうちの１つの形態にすぎないと理解すべきである。加えて、オブジェクト検出システム１０２は追加エレメントを含むことができること、及び、本明細書で説明するエレメントのいくつかは、オブジェクト検出システム１０２の範囲から逸脱することなく除去及び／又は変更できることも理解されるべきである。たとえば、オブジェクト検出システム１０２は、追加入力デバイス、追加出力デバイス、追加メモリ、追加モジュール等を含むことができる。
【００１０】
オブジェクト検出システム１０２は、オブジェクト検出システム１０２のさまざまな機能を実行するように構成されているコントローラ１０４を含む。この点に関して、コントローラ１０４は、たとえば、コンピュータシステム、サーバ等のコンピューティングデバイスを備えることができる。加えて、コントローラ１０４は、さまざまな処理機能を実行するように構成されたマイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路（ＡＳＩＣ）等を備えることもできる。
【００１１】
たとえば画像データ等の情報をコントローラ１０４に供給するようにコントローラ１０４は、入力デバイス１０６とインターフェースさせることができる。入力デバイス１０６は、コントローラ１０４が収容されているコンピューティングデバイスに備えることができる。この点に関して、入力デバイス１０６は、ＣＤ−ＲＯＭドライブ、フロッピー（登録商標）ディスケットドライブ、コンパクトフラッシュ（登録商標）メモリリーダ等のストレージデバイスを備えることができる。これに加えて又はこれに代えて、入力デバイス１０６は、図１Ａに示すように、コントローラ１０４とは別個のデバイスを備えることもできる。この点に関して、たとえば、入力デバイス１０６は、外部ドライブ、カメラ、走査マシン、内部ネットワーク又はインターネットとのインターフェース等を備えることができる。
【００１２】
いずれにしても、コントローラ１０４は、入力モジュール１０８を通じて入力デバイス１０６から画像データを受信することができる。入力モジュール１０８は、入力デバイス１０６からコントローラ１０４への通信及びデータ転送を可能にするための１つ又は２つ以上のドライバを備えることができる。加えて、コントローラ１０４は、入力デバイス１０６と通信してデータを返送するように構成され、それによって、入力デバイス１０６の一定のオペレーションを制御することができる。したがって、たとえば、コントローラ１０４は、入力デバイス１０６と通信し、それによって、画像データを受信することができる。コントローラ１０４は、イーサネット（登録商標）タイプの接続を介して、又は、ＩＥＥＥ８０２．３等の有線プロトコル若しくはＩＥＥＥ８０２．１１ｂ、ＩＥＥＥ８０２．１１ｇ、無線シリアル接続、Ｂｌｕｅｔｏｏｔｈ等の無線プロトコル若しくはそれらの組み合わせを通じて入力デバイス１０６と通信することができる。
【００１３】
入力デバイス１０６から受信された画像データは、コントローラ１０４がアクセス可能なメモリ１１０に記憶することができる。メモリ１１０は、ＤＲＡＭ、ＥＥＰＲＯＭ、フラッシュメモリ、それらの組み合わせ等の揮発性メモリ又は不揮発性メモリ等、従来のメモリデバイスとすることができる。本明細書において以下でさらに詳細に開示するが、コントローラ１０４は、将来の操作及び処理のために画像データが取り出せるように、画像データをメモリ１１０に記憶することができる。加えて、メモリ１１０は、コントローラ１０４が、本明細書において以下で説明するようなさまざまなオブジェクト検出アルゴリズムを実行する際にアクセスできるソフトウェア、プログラム、アルゴリズム、及びサブルーチンを記憶することができる。
【００１４】
画像データによって作られる画像が回転されるように画像データを操作するよう構成された画像回転モジュール１１２も図１Ａに示されている。画像回転モジュール１１２は、コントローラ１０４に含まれているものとして示されているが、画像回転モジュール１１２は、メモリ１１０に記憶されたアルゴリズムとすることができ、コントローラ１０４は、このアルゴリズムにアクセスして、このアルゴリズムを実行することができる。加えて、画像回転モジュール１１２は、上述した機能を実行するように構成される他のソフトウェア又はハードウェアとすることもできる。いずれにしても、画像回転モジュール１１２は、画像データによって作られた画像を、元画像に対して１つ又は２つ以上の角度に回転するようにプログラミングすることができる。したがって、たとえば、画像回転モジュール１１２は、時計方向又は反時計方向のいずれかに画像の元の向きから約１〜５°の増分で面に沿った面内方向に画像を回転させるようにできる。画像を回転増分させる数（回転増分数)は、たとえば、オブジェクトを検出する際に所望する正確度のレベルに基づくことができる。したがって、画像の回転増分数が大きいほど、オブジェクトを検出する際の正確度のレベルが大きくなる。一方、ある場合には、比較的高角度へ回転する画像は、オブジェクト検出モジュール１１４がこれらの回転画像においてオブジェクトを正確に検出できない可能性があるために、オブジェクトを検出する際の正確度を実際には減少させる場合がある。この点に関して、画像回転増分数は、基礎となるオブジェクト検出モジュール１１４の具体的な検出機能に基づいて決定することができ、たとえば、約１〜５の増分とすることができる。
【００１５】
オブジェクト検出システム１０２は、オブジェクト検出モジュール１１４を含むものとして示されている。オブジェクト検出モジュール１１４は、画像データによって形成された画像に所定のオブジェクトが検出できるように構成されている。この場合も、オブジェクト検出モジュール１１４は、コントローラ１０４に含まれるものとして示されているが、オブジェクト検出モジュール１１４は、メモリ１１０に記憶されたアルゴリズムにすることができ、コントローラ１０４は、このアルゴリズムにアクセスしてこのアルゴリズムを実行することができる。加えて、オブジェクト検出モジュール１１４は、画像でのオブジェクトが検出できる任意の適切な従来のアルゴリズムを備えることができる。一例として、オブジェクト検出モジュール１１４は、ヴィオラ及びジョーンズのアルゴリズムとすることができる。オブジェクト検出モジュール１１４は、上述した機能を実行するように構成される他のソフトウェア又はハードウェアにすることもできる。
【００１６】
コントローラ１０４は、オブジェクト検出モジュール１１４を使用して、元画像における所定のオブジェクトを検出することができるだけでなく、画像回転モジュール１１２によって回転された画像においても所定のオブジェクトを検出することができる。これに加えて又はこれに代えて、オブジェクト検出モジュール１１４は、同じアルゴリズムの異なるパラメータ構成を使用して、又は異なるアルゴリズムの異なるパラメータ構成を使用しても、異なる角度へ回転された画像を処理することもできる。可能性のあるオブジェクトが検出されたロケーションと共に、画像を空間フィルタモジュール１１６に入力することができる。空間フィルタモジュール１１６は、コントローラ１０４がアクセスして実行できる、メモリ１１０に記憶されたアルゴリズムとすることができる。加えて、空間フィルタモジュール１１６は、本明細書で説明する空間フィルタモジュール１１６の機能を実行するように構成される他のソフトウェア又はハードウェアとすることもできる。
【００１７】
空間フィルタモジュール１１６は、一般に、画像、すなわち、回転画像及び元画像の２つ又は３つ以上を比較して、それら画像のいずれが検出オブジェクトを含むかを判断するように動作する。オブジェクトが、複数の画像、たとえば、元画像と１つの回転画像又は複数の回転画像との双方、において検出された場合、空間フィルタ１１６は、オブジェクトが正確に検出されたことを表示で出力することができる。一方、より正確を期して、空間フィルタモジュール１１６は、複数の回転画像を比較して、所定の場合には元画像も比較して、回転画像及び元画像のいずれが検出オブジェクトを含むかを判断することができる。空間フィルタを動作させることができる形態のいくつかを本明細書において以下でさらに詳細に説明する。
【００１８】
空間フィルタモジュール１１６は、検出画像に関する情報を出力デバイス１１８に出力することができる。出力デバイス１１８は、たとえば、検出オブジェクトのロケーションと共に画像を示すディスプレイを備えることができる。これに加えて又はこれに代えて、出力デバイス１１８は、たとえば、検出オブジェクト情報を使用する別のマシン又はプログラムを備えることもできる。一例として、出力デバイス１１８は、画質評価プログラム、人間識別管理プログラム、ロボットデバイスのガイダンスシステム等のオブジェクト認識プログラムを備えることができる。さらに別の例として、出力デバイス１１８は、入力デバイス１０６について上述したコンポーネントの１つ又は２つ以上を備えることができ、所定の場合には、入力デバイス１０６を備えることができる。
【００１９】
次に図１Ｂに関して、オブジェクト検出システム１５２のブロック図１５０が示されている。ブロック図１５０の以下の説明は、このようなオブジェクト検出システム１５２を構成できるさまざまな異なる形態のうちの１つの形態にすぎないことを理解するべきである。加えて、オブジェクト検出システム１５２は追加エレメントを含むことができること、及び、本明細書で説明するエレメントのいくつかは、オブジェクト検出システム１５２の範囲から逸脱することなく除去及び／又は変更できることも理解されるべきである。たとえば、オブジェクト検出システム１５２は、追加入力デバイス、追加出力デバイス、追加モジュール、追加メモリ等を含むことができる。
【００２０】
オブジェクト検出システム１５２は、本明細書で上述した図１Ａに示すオブジェクト検出システム１０２と多くの同じエレメントを含む。したがって、図１Ａのオブジェクト検出システム１０２に示すそれらエレメントと同じ参照番号を有するエレメントの詳細な説明は、オブジェクト検出システム１５２についてはしないことにする。その代わり、それらのエレメントを十分に理解してもらう十分な説明として、それら共通のエレメントについての上述した説明を利用することにする。
【００２１】
図１Ｂに示すオブジェクト検出システム１５２と図１Ａに示すオブジェクト検出システム１０２との間の主要な差異は、オブジェクト検出システム１５２がクロッピングモジュール１５４を含むということである。クロッピングモジュール１５４は、一般に、オブジェクト検出モジュール１１４によって検出されたどのオブジェクトが、検出対象の可能性のある所定のオブジェクトであるかを表面化させる或いは区別するように構成されている。クロッピングモジュール１５４は、コントローラ１０４に含まれているものとして示されているが、クロッピングモジュール１５４は、メモリ１１０に記憶されたアルゴリズムとすることができ、コントローラ１０４は、このアルゴリズムにアクセスして、このアルゴリズムを実行することができる。加えて、クロッピングモジュール１１４は、さまざまな画像をクロッピング（切り取り)できる任意の適切な従来のアルゴリズムとすることもできる。クロッピングモジュール１５４は、本明細書で説明するさまざまなクロッピング機能を実行するように構成された他のソフトウェア又はハードウェアをさらに備えていてもよい。
【００２２】
オブジェクト検出システム１５２のオブジェクト検出モジュール１１４は、誤認率の増加の可能性を犠牲にする一方で、比較的高い正確度で所定のオブジェクトを検出するように設定することができる。このタイプの設定を行う理由は、空間フィルタモジュール１１６の実施を通じて、誤認が検出結果からフィルタリング除去できることによるものである。
【００２３】
いずれにしても、オブジェクト検出システム１５２では、クロッピングモジュール１５４によってクロッピングされた、可能性のある所定のオブジェクトを含む領域を、画像回転モジュール１１２によって回転させることができる。オブジェクト検出システム１５２の画像回転モジュール１１２は、これらの領域をそれらの元の位置に対して１つ又は２つ以上の角度へ回転するように構成することができる。したがって、たとえば、画像回転モジュール１１２は、時計方向又は反時計方向のいずれかに画像の元の向きから約１〜５°の増分で面内方向に、クロッピング領域を回転するように構成することができる。クロッピング領域の回転増分数は、たとえば、所定のオブジェクトを検出する際に所望する正確度のレベルに基づかせることができる。したがって、クロッピング領域の回転増分数が大きいほど、所定のオブジェクトを検出する際の正確度のレベルは大きくなる。一方、ある例では、比較的高角度へ回転されるクロッピング領域は、オブジェクト検出モジュール１５２がこれらの回転されたクロッピング領域においてオブジェクトを正確に検出できない可能性があるために、オブジェクトを検出する際に正確度が実際には減じられる場合がある。この点に関して、クロッピング領域の回転増分数は、基礎となるオブジェクト検出モジュール１１４の具体的な検出機能に基づいて決定することができ、たとえば、約１〜５の増分とすることができる。
【００２４】
オブジェクト検出システム１０２、１５２間のもう１つの差異は、オブジェクト検出システム１５２が、画像の回転されたクロッピング領域で可能性のあるオブジェクトを検出するように構成された第２のオブジェクト検出モジュール１５６を含むということである。第２のオブジェクト検出モジュール１５６は、オブジェクト検出モジュール１１４を備えることもできる。或いは、第２のオブジェクト検出モジュール１５６は、画像において所定のオブジェクトを検出するように構成される完全に異なるオブジェクト検出モジュールを備えることもできる。第２のオブジェクト検出モジュール１５６がオブジェクト検出モジュール１１４を備える場合に、第２のオブジェクト検出モジュール１５６は、オブジェクト検出モジュール１１４とは異なるパラメータ構成を備えることができる。
【００２５】
コントローラ１０４は、第２のオブジェクト検出モジュール１５６を使用して、画像回転モジュール１１２により回転されたクロッピング領域で所定のオブジェクトを検出することができる。空間フィルタモジュール１１６にクロッピング領域を入力することができる。空間フィルタモジュール１１６は、クロッピング領域、すなわち、回転されたクロッピング領域及び元のクロッピング領域の２つ又は３つ以上、を比較して、それらクロッピング領域のいずれが検出オブジェクトを含むかを判断することができる。オブジェクトが、複数のクロッピング領域、たとえば、元のクロッピング領域及び１つの回転されたクロッピング領域又は複数の回転されたクロッピング領域の双方、において検出された場合、空間フィルタ１１６は、オブジェクトが正確に検出されたことの表示を出力することができる。一方、より正確を期して、空間フィルタモジュール１１６は、複数の回転されたクロッピング領域及び所定の場合には元のクロッピング領域のいずれにおいて、オブジェクトが検出されたかどうかを判断することができる。オブジェクト検出システム１０２について上述したように、空間フィルタモジュール１１６が、検出されたクロッピング領域に関する情報を出力デバイス１１８に出力することができる。
【００２６】
１つの点では、オブジェクト検出システム１５２が、オブジェクト検出システム１０２と比較してより高速に所定のオブジェクトを検出できる可能性がある。これが当てはまるのは、オブジェクト検出システム１５２が、主として画像のクロッピング部分を処理するので、オブジェクト検出システム１５２の処理するデータが、オブジェクト検出システム１０２と比較して少ない可能性があるからである。
【００２７】
次に空間フィルタモジュール１１６をさらに詳細に説明する。一般に、空間フィルタモジュール１１６は、画像又はクロッピング領域の複数の回転版に基づいて、オブジェクト検出モジュール１１４、１５６のいずれかにより検出された結果間で一致性を見つけるように構成されている。第１の例では、空間フィルタモジュール１１６は、元画像（Ｉ）における実際の所定のオブジェクトが、回転画像（Ｒm（Ｉ））において検出される可能性があるという発想に基づいている、ここで、ｍ＝１、２、…、ｎである。また、この例は、所定のオブジェクトの誤認又は偽陽性が、元画像（Ｉ）及び回転画像（Ｒm（Ｉ））において検出されにくいという発想にも基づいている。これが当てはまる理由は、誤認が、複数の回転画像において連続して検出されにくい不規則信号とみなすことができるからである。
【００２８】
図１Ａ及び図１Ｂにおいて、画像、すなわち、元画像及び回転画像の双方、のそれぞれからオブジェクト検出モジュール１１４、１５６によって検出された結果に、複数のオブジェクトを含む場合がある。これらの複数のオブジェクトは、Ｏm＝｛Ｏm（１），Ｏm（２），…，Ｏm（ｎ）｝として分解することができる。この例では、空間フィルタモジュール１１６を実行する前に、検出オブジェクトＯm（ｊ）（ここで、ｍはさまざまな角度の画像を示し、ｊはオブジェクトのそれぞれを示す）のそれぞれは、それらの空間関係を比較できるように、最初に元画像にマッピングされて戻される。各検出オブジェクトＯm（ｊ）に対して、空間フィルタモジュール１１６は、Ｏm（ｊ）で表されるものと同じオブジェクトを示す対応した検出結果を見つけるため、検出結果Ｏk（ｋ≠ｍ）を探索する。このプロセスでは、（各オブジェクト「ｊ」について）一致性ベクトル｛ｖ1，ｖ2，…，ｖn｝が生成される。この一致性ベクトルは、対応した検出結果が回転画像Ｒm（Ｉ）で見つかった場合には、ベクトル成分ｖmが１に設定され、そうでない場合には、ベクトル成分ｖmが０に設定されるように生成される。最終的な空間フィルタモジュール１１６の出力は、重み付け合計
ｓｕｍ＝ｗ1×ｖ1＋ｗ2×ｖ2＋…＋ｗn×ｖn
によって求められる。空間フィルタモジュール１１６のこの最終結果は、「ｓｕｍ」の値がしきい値「ｔ」よりも大きい場合に有効な検出とみなされる。そうではなく、「ｓｕｍ」の値がしきい値「ｔ」よりも小さい場合には、検出は、誤認とみなすことができる。重み｛ｗ1，ｗ2，…，ｗn｝及び対応するしきい値「ｔ」は、任意の適した従来のマシン学習アルゴリズムを使用することによって設定することができる。このマシン学習アルゴリズムは、たとえば、Y. Freund及びR. Schapire著の「A short Introduction to Boosting」（Journal of Japanese Society for Artificial Intelligence, pp. 771-780, September 1999）に開示されたようなアダブースト（Adaboost）等である。この論文の開示は、その全内容が参照によって本明細書に援用される。
【００２９】
これに加えて又はこれに代えて、一致性ベクトル｛ｖ1，ｖ2，…，ｖn｝の各成分は、基礎となるオブジェクト検出モジュール１１４、１５６によって生成された実数値の信頼性指数を備えることができる。加えて、それら成分のそれぞれについての重み付け合計も、基礎となるオブジェクト検出モジュール１１４、１５６によって計算することができる。
【００３０】
第２の例では、空間フィルタモジュール１１６は、さまざまな発見的な設計に基づく。これらの発見的な設計は、「１−ｏｒ」フィルタ、「１−ａｎｄ」フィルタ、及び「２−ｏｒ」フィルタとして特徴付けることができる。「１−ｏｒ」フィルタは、
ＯＤ（Ｒ（Ｉ，ａ））‖ＯＤ（Ｒ（Ｉ，−ａ））
として定義することができる。「１−ａｎｄ」フィルタは、
ＯＤ（Ｒ（Ｉ，ａ））＆＆ＯＤ（Ｒ（Ｉ，−ａ））
として定義することができる。「２−ｏｒ」フィルタは、
［ＯＤ（Ｒ（Ｉ，ａ））＆＆ＯＤ（Ｒ（Ｉ，−ａ））］‖［ＯＤ（Ｒ（Ｉ，−２ａ））＆＆ＯＤ（Ｉ，−ａ）］‖［ＯＤ（Ｒ（Ｉ，２ａ））＆＆ＯＤ（Ｉ，ａ）］
として定義することができる。
【００３１】
上述したフィルタのそれぞれにおいて、画像又は画像のクロッピング領域は「Ｉ」によって表され、「Ｒ（Ｉ，ａ）」は、画像又はクロッピング領域を「ａ」度だけ回転した版を表している。ここで、「ａ」は回転の度合いを決定する所定のパラメータである。「＆＆」は「ａｎｄ」演算子であり、「‖」は「ｏｒ」演算子である。「ＯＤ（）」は、バイナリ出力を返すオブジェクト検出モジュール１１４、１５６を表している。このバイナリ出力は、たとえば、ＯＤ（Ｒ（Ｉ，ａ））＝１を含むことができる。ＯＤ（Ｒ（Ｉ，ａ））＝１は、元の検出オブジェクト領域と同様のサイズを有するオブジェクトが、回転画像において検出されたことを示す。そうではなくＯＤ（Ｒ（Ｉ，ａ））＝０は、元の検出オブジェクトと同様のサイズを有するオブジェクトが、回転画像において検出されなかったことを示す。
【００３２】
「１−ａｎｄ」フィルタについての一例として、ｄ０が、元画像又は元画像のクロッピング領域における可能性のあるオブジェクトであり、ｄ１が、角度「ａ」に回転された画像又はクロッピング領域における可能性のあるオブジェクトであり、ｄ２が、角度「−ａ」に回転された画像又はクロッピング領域における可能性のあるオブジェクトである場合に、ｄ１＝１であるとき又はｄ２＝１であるときに、オブジェクトは正しく検出されたものと判断することができる。より詳細には、ｄ１とｄ０との比較が、ｄ１がｄ０と同様のサイズを有することを示す場合に、ｄ１は１に等しくなり得る。加えて、ｄ２とｄ０との比較が、ｄ２がｄ０と同様のサイズを有することを示す場合に、ｄ２は１に等しくなり得る。そうではなくｄ１及びｄ２が共に０に等しい場合、ｄ０として検出された可能性のあるオブジェクトは、誤認とみなすことができる。
【００３３】
「１−ａｎｄ」フィルタの一例として、ｄ１及びｄ２が共に１に等しい場合に、オブジェクトは、正しく検出されたものと判断することができる。したがって、ｄ１又はｄ２のいずれかが０に等しい場合、ｄ０として検出された可能性のあるオブジェクトは、誤認とみなすことができる。
【００３４】
「２−ｏｒ」フィルタについての一例として、ｄ３は、別の角度「−２ａ」に回転された画像又はクロッピング領域における可能性のあるオブジェクトであり、ｄ４は、別の角度「２ａ」に回転された画像又はクロッピング領域における可能性のあるオブジェクトである。このフィルタでは、ｄ１及びｄ２が１に等しい場合、ｄ３及びｄ２が１に等しい場合、ｄ４及びｄ１が１に等しい場合、ｄ２及びｄ４が１に等しい場合、ｄ３及びｄ４が１に等しい場合、又はｄ３及びｄ１が１に等しい場合に、オブジェクトが正しく検出されたものと判断することができる。
【００３５】
特定の個数の回転画像又は画像の回転されたクロッピング領域と共にさまざまなフィルタを上述したが、これらのフィルタは、任意の適切な個数の回転画像又は画像の回転されたクロッピング領域と共に機能できることが十分理解されるはずである。この点に関して、本明細書で上述したフィルタの例は、説明した回転画像又は画像の回転されたクロッピング領域の個数に限定されるようには意図されておらず、その代わり、任意の適した個数の回転画像又は画像の回転されたクロッピング領域と共に使用することができる。
【００３６】
図２は、画像においてオブジェクトを検出するための一方法の動作モード２００のフロー図を示している。動作モード２００の以下の説明は、この動作モード２００を実施できるさまざまな異なる方法の１つの方法に過ぎないことが理解されよう。また、動作モード２００は一般化された例示を表していること、及び、動作モード２００の範囲から逸脱することなく、他のステップを追加したり、存在するステップを除去、変更、又は再配列したりできることが当業者には明らかなはずである。
【００３７】
動作モード２００の説明を、図１Ａに示すブロック図１００及び図１Ｂに示すブロック図１５０に関して行い、したがって、図１Ａ及び図１Ｂで引用されたエレメントが参照される。しかしながら、動作モード２００は、ブロック図１００及び１５０で述べたエレメントに限定されないことが理解されるべきである。その代わりに、動作モード２００は、ブロック図１００及び１５０で述べたものとは異なる構成を有するオブジェクト検出システムによって実施できることが理解されるべきである。
【００３８】
動作モード２００は、ステップ２１０において、コントローラ１０４により受信される、ユーザからの命令を通じて手動により起動することができる。或いは、動作モード２００は、入力デバイス１０６等の検出を通じて、さまざまな信号の受信に応答して、所定の期間後に起動することもできる。いずれにしても、ステップ２１２において、可能性のあるオブジェクトを画像において検出することができる。可能性のあるオブジェクトは、コントローラ１０４が検出するようにプログラミングされた所定のオブジェクトを含むことができる。
【００３９】
ステップ２１４において、画像の少なくとも一部を回転することができる。より詳細には、１つ又は２つ以上のクロッピング領域又は画像全体をステップ２１４において回転することができる。画像の少なくとも一部を回転させる方法は、画像回転モジュール１１２との関係で既に詳細に説明している。
【００４０】
ステップ２１６において、可能性のあるオブジェクトが、画像の回転された少なくとも一部において検出されるかどうかを判断することができる。本明細書で上述したように、画像の少なくとも一部における可能性のあるオブジェクトの検出は、ステップ２１２において可能性のあるオブジェクトを検出するのに使用されたオブジェクト検出モジュールとは異なるオブジェクト検出モジュールが行うこともできるし、同じオブジェクト検出モジュールが行うこともできる。同じオブジェクト検出モジュールが使用される場合、そのオブジェクト検出モジュールは、画像の回転された少なくとも一部において可能性のあるオブジェクトを検出する別なパラメータ構成を備えるものとしても良い。ステップ２１８に示すように、可能性のあるオブジェクトが画像の回転された少なくとも一部において検出されるかどうかの判断に基づいて、可能性のあるオブジェクトがオブジェクトの正確な検出であるかどうかの判断を行うことができる。
【００４１】
動作モード２００は、ステップ２２０に示すように終了させることができる。この終了条件は、動作モード２００のアイドルモードと同様にもできる。なぜなら、別の画像が処理のために受信された時に、動作モード２００が再起動される場合があるからである。
【００４２】
動作モード２００と共に使用できる追加ステップを図３及び図４を用いて以下で説明する。
【００４３】
図３は、オブジェクトを画像から検出する方法の動作モード３００についてのフロー図を示している。動作モード３００の以下の説明は、この動作モード３００を実施できるさまざまな異なる方法の１つの方法に過ぎないことが理解されよう。また、動作モード３００は一般化された例示を表していること、及び、動作モード３００の範囲から逸脱することなく、他のステップを追加したり、存在するステップを除去、変更、又は再配列したりできることが当業者には明らかなはずである。
【００４４】
動作モード３００の説明を、図１Ａに示すブロック図１００に関して行い、したがって、図１Ａで引用されたエレメントが参照される。しかしながら、動作モード３００は、ブロック図１００で述べたエレメントに限定されないことが理解されるべきである。その代わり、動作モード３００は、ブロック図１００で述べたものとは異なる構成を有するオブジェクト検出システムによって実施できることが理解されるはずである。
【００４５】
動作モード３００は、ステップ３１０において、コントローラ１０４により受信される、ユーザからの命令を通じて手動により起動することができる。或いは、動作モード３００は、入力デバイス１０６等の検出を通じて、さまざまな信号の受信に応答して、所定の期間後に起動することもできる。加えて、ステップ３１２において、コントローラ１０４は、入力デバイス１０６から入力画像データを受信することができる。コントローラ１０４が画像データを受信できるさまざまな方法は、図１Ａについて既に詳細に説明している。
【００４６】
ステップ３１４において、コントローラ１０４は、オブジェクト検出モジュール１１４を実行して、ステップ３１２で受信された画像データにより表される画像において、可能性のある所定のオブジェクトを検出することができる。より詳細には、オブジェクト検出モジュール１１４は、所定のオブジェクトを画像から検出するようにプログラミングすることもできるし、その他の方法で構成することもできる。したがって、オブジェクト検出モジュール１１４は、画像を処理して、可能性のあるオブジェクトが位置する、画像におけるロケーション又は領域を決定することができる。或る点で、オブジェクト検出モジュール１１４は、可能性のあるオブジェクトの周囲にボックス又は他の識別手段を作成して、画像におけるそれらのロケーション又は領域を表示するように動作させることができる。オブジェクト検出モジュール１１４の結果は、ステップ３１６に示すように、空間フィルタモジュール１１６に入力することができる。
【００４７】
入力画像は、ステップ３１８に示すように、画像回転モジュール１１２が回転させることもできる。上述したように、画像回転モジュール１１２は、時計方向又は反時計方向のいずれかに画像の元の向きから約１〜５°の増分で面内方向に画像を回転させることができる。このように、入力画像は、画像回転モジュール１１２が第１の角度へ回転させることができる。加えて、コントローラ１０４は、オブジェクト検出モジュール１１４を実行して、ステップ３２０において、回転画像において可能性のある所定のオブジェクトを検出することができる。ステップ３１４におけるように、オブジェクト検出モジュール１１４又は異なるオブジェクト検出モジュール（図示せず）は、回転画像を処理して、可能性のあるオブジェクトが位置する、回転画像におけるロケーション又は領域を決定するように構成することができる。この場合も、オブジェクト検出モジュール１１４又は異なるオブジェクト検出モジュールは、可能性のあるオブジェクトの周囲にボックス又は他の識別手段を作成して、回転画像におけるそれらのロケーション又は領域を表示することができる。この場合も、オブジェクト検出モジュール１１４の結果は、ステップ３２２において、空間フィルタモジュール１１６に入力される。
【００４８】
後述するように、空間フィルタモジュール１１６が結果にアクセスして画像を処理できるよう、オブジェクト検出モジュールは、結果をメモリ１１０に記憶することができる。この点に関して、ステップ３１６及び３２２において、結果を空間フィルタモジュール１１６に入力する代わりに、結果をメモリ１１０に入力することができる。
【００４９】
ステップ３２４において、コントローラ１０４は、回転画像における追加のオブジェクト検出をするかどうかを判断することができる。この判断は、画像においてオブジェクトを検出する際の所望する正確度のレベルに基づかせることができる。たとえば、所望のオブジェクトを検出する際の正確度を高くするには、所定の制限内で、解析する回転画像の個数を多くすることができる。或いは、オブジェクト検出処理を高速にするには、解析する回転画像の個数を少なくすることができる。コントローラ１０４は、解析される回転画像の個数と共にプログラミングすることができ、したがって、そのプログラミングに基づき追加の画像回転を得るかどうかを判断することができる。加えて、画像回転増分数は、基礎となるオブジェクト検出モジュール１１４の具体的な検出機能に基づいて決定することができ、たとえば、約１〜５の増分とすることができる。
【００５０】
追加の画像回転が必要であるとコントローラ１０４が判断した場合、ステップ３１８〜３２４を繰り返すことができる。加えて、ステップ３１８〜３２４は、コントローラ１０４が、所定の個数の回転画像が処理されたと判断するまで繰り返すこともできる。その時、これは、ステップ３２４における「ｎｏ」条件と等価であるが、空間フィルタ１１６は、ステップ２２６において、１つ又は２つ以上の回転画像についてのオブジェクト検出モジュール１１４の結果を処理することができる。より詳細には、空間フィルタモジュール１１６は、さまざまな結果を比較して、検出結果から、元画像における所定のオブジェクトのロケーションを決定することができ、誤認又は偽陽性を除去することができる。空間フィルタ１１６がこの決定を行うように動作できるさまざまな方法のより詳細な説明は上述している。
【００５１】
空間フィルタモジュール１１６からの結果は、ステップ３２８において出力デバイス１１８に出力することもできる。或る観点から、出力デバイス１１８が、表示デバイスを備えることができ、検出された所定のオブジェクトのロケーションを表示させるのに使用することができる。別の観点から、出力デバイス１１８は、検出された所定のオブジェクト情報を使用するように構成されている別のデバイス又はプログラムを備えることができる。
【００５２】
動作モード３００は、ステップ３３０に示すように終了させることができる。この終了条件は、動作モード３００のアイドルモードと同様にもできる。なぜなら、コントローラ１０４が、処理する別の入力画像を受信した時に、動作モード３００が再起動する場合があるからである。
【００５３】
図４は、画像においてオブジェクトを検出する別の方法の動作モード４００についてのフロー図を示している。動作モード４００の以下の説明は、この動作モード４００を実施できるさまざまな異なる方法の１つの方法に過ぎないことが理解されよう。また、動作モード４００は一般化された例示を表していること、及び、動作モード４００の範囲から逸脱することなく、他のステップを追加したり、存在するステップを除去、変更、又は再配列したりできることが当業者には明らかなはずである。
【００５４】
動作モード４００の説明を、図１Ｂに示すブロック図１５０に関して行い、したがって、図１Ｂで引用されたエレメントが参照される。しかしながら、動作モード４００は、ブロック図１５０で述べたエレメントに限定されないことが理解されるはずである。その代わり、動作モード４００は、ブロック図１５０で述べたものとは異なる構成を有するオブジェクト検出システムによって実施できることが理解されるはずである。
【００５５】
動作モード４００は、ステップ４１０において、コントローラ１０４により受信される、ユーザからの命令を通じて手動により起動することができる。或いは、動作モード４００は、入力デバイス１０６等の検出を通じて、さまざまな信号の受信に応答して、所定の期間後に起動することもできる。加えて、ステップ４１２において、コントローラ１０４は、入力デバイス１０６から入力画像データを受信することができる。コントローラ１０４が画像データを受信できるさまざまな方法は、図１Ａについて既に詳細に説明している。
【００５６】
ステップ４１４において、コントローラ１０４は、オブジェクト検出モジュール１１４を実行して、ステップ４１２で受信した画像データにより表される画像において、可能性のある所定のオブジェクトを検出することができる。より詳細には、オブジェクト検出モジュール１１４は、画像において所定のオブジェクトを検出するようにプログラミングすることもできるし、その他の方法で構成することもできる。したがって、オブジェクト検出モジュール１１４は、画像を処理して、可能性のあるオブジェクトが位置する、画像におけるロケーション又は領域を決定することができる。１つの観点から、オブジェクト検出モジュール１１４は、可能性のあるオブジェクトの周囲にボックス又は他の識別手段を作成して、画像におけるそれらのロケーション又は領域を表示するように動作することができる。オブジェクト検出モジュール１１４の結果は、ステップ４１６に示すように、クロッピングモジュール１５４に入力することができる。
【００５７】
ステップ４１８において、クロッピングモジュール１５４は、可能性のある所定のオブジェクトであるとしてオブジェクト検出モジュール１１４により検出された領域をクロッピングすることができる。加えて、クロッピングモジュールは、ステップ４２０において、クロッピング領域を空間フィルタモジュール１１６に入力することができる。また、クロッピングモジュールは、画像回転モジュール１１２にもクロッピング領域を入力することができる。ステップ４２２において、画像回転モジュール１１２は、クロッピング領域を回転することができる。上述したように、画像回転モジュール１１２は、時計方向又は反時計方向のいずれかにクロッピング領域の元の向きから約１〜５°の増分で面内方向にクロッピング領域を回転することができる。したがって、ステップ４２２において、画像回転モジュール１１２が第１の角度へクロッピング領域を回転させることができる。
【００５８】
回転されたクロッピング領域は、オブジェクト検出モジュール１５６に入力することができる。オブジェクト検出モジュール１５６は、上述したように、オブジェクト検出モジュール１１４又は別個のオブジェクト検出モジュールを備えることができる。加えて、ステップ４２４において、回転されたクロッピング領域が、それぞれ、可能性のある検出オブジェクトを含むかどうかを判断するようにオブジェクト検出モジュール１５６を実行することができる。オブジェクト検出モジュール１５６は、可能性のある所定のオブジェクトがオブジェクト検出モジュール１５６によって検出されないクロッピング領域からボックス又は他の識別手段を除去するように構成することができる。加えて、オブジェクト検出モジュール１５６は、ステップ４２６において、オブジェクト検出の結果を空間フィルタ１１６に入力するように構成することもできる。
【００５９】
後述するように、空間フィルタモジュール１１６が結果にアクセスして画像を処理できるよう、オブジェクト検出モジュール１１４、１５６は、各オブジェクト検出の結果をメモリ１１０に記憶することができる。この点に関して、ステップ４２０及び４２６において、空間フィルタモジュール１１６に結果を入力する代わりに、結果をメモリ１１０に入力することができる。
【００６０】
ステップ４２８において、コントローラ１０４は、回転されたクロッピング領域における追加のオブジェクト検出を得るかどうかを判断することができる。この判断は、画像においてオブジェクトを検出する際に所望する正確度のレベルに基づかせることができる。たとえば、所望のオブジェクトを検出する際の正確度を高くするには、所定の制限内で、解析する回転されたクロッピング領域の個数を多くすることができる。或いは、オブジェクト検出処理を高速にするには、解析する回転されたクロッピング領域の個数を少なくすることができる。コントローラ１０４は、解析する回転されたクロッピング領域の個数と共にプログラミングすることができ、したがって、そのプログラミングに基づき追加のクロッピング領域回転を得るかどうか判断することができる。加えて、画像回転増分数は、基礎となるオブジェクト検出モジュール１１４の具体的な検出機能に基づいて決定することができ、たとえば、約１〜５の増分とすることができる。
【００６１】
追加のクロッピング領域回転が必要であるとコントローラ１０４が判断した場合、ステップ４２２〜４２８を繰り返すことができる。加えて、ステップ４２２〜４２８は、コントローラ１０４が、所定の個数の回転されたクロッピング領域が処理されたと判断するまで繰り返すこともできる。その時、これはステップ４２８における「ｎｏ」条件と等価であるが、空間フィルタ１１６は、ステップ４３０において、１つ又は２つ以上の回転されたクロッピング領域についてのオブジェクト検出モジュール１１４、１５６の結果を処理することができる。より詳細には、空間フィルタモジュール１１６は、さまざまな結果を比較して、検出結果から、元画像における所定のオブジェクトのロケーションを決定することができ、誤認又は偽陽性を除去することができる。空間フィルタ１１６がこの決定を行うように動作できるさまざまな方法のより詳細な説明は上述している。
【００６２】
空間フィルタモジュール１１６からの結果は、ステップ４３２において出力デバイス１１８に出力することもできる。１つの観点から、出力デバイス１１８は、表示デバイスを備えることができ、検出された所定のオブジェクトのロケーションを表示するのに使用することができる。別の観点から、出力デバイス１１８は、検出された所定のオブジェクト情報を使用するように構成された別のデバイス又はプログラムを備えることができる。
【００６３】
動作モード４００は、ステップ４３４に示すように終了させることができる。この終了条件は、動作モード４００のアイドルモードと同様にもできる。なぜなら、コントローラ１０４が、処理する別の入力画像を受信した時に、動作モード４００が再起動する場合があるからである。
【００６４】
動作モード２００、３００、及び４００に示すオペレーションは、任意の所望のコンピュータアクセス可能媒体に、ユーティリティ、プログラム、又はサブプログラムとして収容することができる。加えて、動作モード２００、３００、及び４００は、コンピュータプログラムによって具現することもできる。コンピュータプログラムは、アクティブ及び非アクティブの双方のさまざまな形態で存在させることができる。たとえば、コンピュータプログラムは、ソースコード、オブジェクトコード、実行可能コード、又は他のフォーマットのプログラム命令で構成されるソフトウェアプログラム（複数可）として存在させることができる。上記のいずれも、コンピュータ可読媒体上に具現することができる。コンピュータ可読媒体には、圧縮形態又は非圧縮形態のストレージデバイス及び信号が含まれる。
【００６５】
例示のコンピュータ可読ストレージデバイスには、従来のコンピュータシステムのＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及び磁気ディスク若しくは磁気テープ又は光ディスク若しくは光テープが含まれる。例示のコンピュータ可読信号は、搬送波を使用して変調されていようといまいと、当該信号にアクセスするように、コンピュータプログラムをホスティング又は実行するコンピュータシステムを構成できる信号であり、インターネット又は他のネットワークを通じてダウンロードされる信号が含まれる。上記の具体例には、ＣＤＲＯＭによるプログラムの配信又はインターネットダウンロードを介したプログラムの配信が含まれる。或る意味で、インターネット自体が、抽象的なエンティティとして、コンピュータ可読媒体である。同じことは、一般のコンピュータネットワークにも当てはまる。したがって、上述した機能を実行できるどの電子デバイスも、上記に列挙した機能を実行できることが理解されよう。
【００６６】
図５は、コンピュータシステム５００を示している。コンピュータシステム５００は、上述したオブジェクト検出システム１０２及び１５２のさまざまな機能を実行するのに使用することができる。この点に関して、コンピュータシステム５００は、オブジェクト検出システム１０２及び１５２について上述した機能の１つ又は２つ以上を実行するためのプラットフォームとして使用することができる。
【００６７】
コンピュータシステム５００は、プロセッサ５０２等の１つ又は２つ以上のコントローラを含む。プロセッサ５０２は、動作モード２００、３００、及び４００で説明したステップの一部又は全部を実行するのに使用することができる。この点に関して、プロセッサ５０２は、コントローラ１０４を備えることができる。プロセッサ５０２からのコマンド及びデータは、通信バス５０４上で通信される。また、コンピュータシステム５００は、ランダムアクセスメモリ（ＲＡＭ）等のメインメモリ５０６（メインメモリ５０６では、ランタイム中に、たとえば、オブジェクト検出システム１０２及び１５２のプログラムコードを実行することができる）並びに２次メモリ５０８も含む。メインメモリ５０６は、たとえば、上述したメモリ１１０を備えることができる。
【００６８】
２次メモリ５０８は、たとえば、１つ又は２つ以上のハードディスクドライブ５１０、及び／又は、フロッピー（登録商標）ディスケットドライブ、磁気テープドライブ、コンパクトディスクドライブ等を代表する着脱可能ストレージドライブ５１２を含む。これらのドライブには、オブジェクト検出システム１０２、１５２のプログラムコードのコピーを記憶することができる。２次メモリ５０８は、入力デバイス１０６及び／又は出力デバイス１１８を備えることができる。加えて、図示しないが、入力デバイス１０６は、たとえば、カメラ、スキャナ等の別個の周辺デバイスを備えることもできる。入力デバイス１０６は、インターネット等のネットワークも備えることができる。
【００６９】
着脱可能ストレージドライブ５１２は、既知の方法で着脱可能ストレージユニット５１４から読み出しを行い、且つ／又は、着脱可能ストレージユニット５１４に書き込みを行う。ユーザ入力デバイス及びユーザ出力デバイスは、キーボード５１６、マウス５１８、及びディスプレイ５２０を含むことができる。ディスプレイ５２０は、出力デバイス１１８を備えることもできる。ディスプレイアダプタ５２２は、通信バス５０４及びディスプレイ５２０とインターフェースすることができ、プロセッサ５０２から表示データを受信して、この表示データをディスプレイ５２０の表示コマンドに変換することができる。加えて、プロセッサ５０２は、ネットワークアダプタ５２４を通じて、たとえば、インターネット、ＬＡＮ等のネットワーク上で通信を行うこともできる。
【００７０】
コンピュータシステム５００では、他の既知の電子コンポーネントを追加又は代用できることが当業者には明らかであろう。加えて、コンピュータシステム５００は、データセンターのラック、従来の「ホワイトボックス」サーバ又はコンピューティングデバイス等に使用されるシステムボード又はシステムブレードを含むこともできる。また、図５のコンポーネントの１つ又は２つ以上（たとえば、ユーザ入力デバイス、２次メモリ等）はオプションとすることもできる。
【００７１】
本明細書で説明及び例示したものは、本発明の好ましい実施の形態及びその変形のいくつかである。本明細書で使用された用語、説明、及び図は、単なる例示として述べられているにすぎず、限定として意図されたものではない。当業者は、本発明の精神及び範囲内で多くの変形が可能であることを認識するであろう。本発明の範囲は、添付の特許請求の範囲及びその均等なものによって定められることが意図されている。特許請求の範囲では、すべての用語は、特に指定がない限り、その最も広い妥当な意味を意図している。
【図面の簡単な説明】
【００７２】
【図１Ａ】本発明の一実施の形態によるオブジェクト検出システムのブロック図である。
【図１Ｂ】本発明の別の実施の形態によるオブジェクト検出システムのブロック図である。
【図２】本発明の一実施の形態による、画像においてオブジェクトを検出するための一方法の動作モードのフロー図である。
【図３】本発明の別の実施の形態による、画像においてオブジェクトを検出するための一方法の動作モードのフロー図である。
【図４】本発明のさらに別の実施の形態による、画像においてオブジェクトを検出するための一方法の動作モードのフロー図である。
【図５】本発明の一実施の形態による、上述したオブジェクト検出システムのさまざまな機能を実行するのに使用できるコンピュータシステムを示す図である。
【図１Ａ】
2008519336.tif 000003
【図１Ｂ】
2008519336.tif 000004
【図２】
2008519336.tif 000005
【図３】
2008519336.tif 000006
【図４】
2008519336.tif 000007
【図５】
2008519336.tif 000008
【国際調査報告】
2008519336.tif 000009
2008519336.tif 000010
2008519336.tif 000011