(57)【特許請求の範囲】
【請求項１】
画像領域内の複数の事象のうちいずれかの事象に対して、所定の閾値を用いて量子化を行う静的量子化を実行し、前記画像領域に所定の物体が存在する可能性があるか否かを判定する第１量子化処理部と、
前記所定の物体が存在する可能性がある画像領域に対して、該画像領域の画像の特徴に基づいて調整した閾値を用いて量子化を行う動的量子化を実行し、前記画像領域に所定の物体が存在するか否かを判定する第２量子化処理部と
を備えたことを特徴とする物体検出装置。
【請求項２】
前記事象にはそれぞれ重要度が設定されており、前記第１量子化処理部は、前記重要度に基づいて、前記静的量子化を実行する事象を判定することを特徴とする請求項１に記載の物体検出装置。
【請求項３】
前記第２量子化処理部は、前記静的量子化を行った事象を含む画像領域に対して動的量子化を実行する場合に、前記静的量子化を実行した事象に対して再度動的量子化を実行することを特徴とする請求項１または２に記載の物体検出装置。
【請求項４】
コンピュータに、
画像領域内の複数の事象のうちいずれかの事象に対して、所定の閾値を用いて量子化を行う静的量子化を実行し、前記画像領域に所定の物体が存在する可能性があるか否かを判定する第１量子化処理手順と、
前記所定の物体が存在する可能性がある画像領域に対して、該画像領域の画像の特徴に基づいて調整した閾値を用いて量子化を行う動的量子化を実行し、前記画像領域に所定の物体が存在するか否かを判定する第２量子化処理手順と
を実行させることを特徴とする物体検出プログラム。
【請求項５】
前記事象にはそれぞれ重要度が設定されており、前記第１量子化処理手順は、前記重要度に基づいて、前記静的量子化を実行する事象を判定することを特徴とする請求項４に記載の物体検出プログラム。
【請求項６】
前記第２量子化処理手順は、前記静的量子化を行った事象を含む画像領域に対して動的量子化を実行する場合に、前記静的量子化を実行した事象に対して再度動的量子化を実行することを特徴とする請求項４または５に記載の物体検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体検出装置等に関する。
【背景技術】
【０００２】
カメラ等が撮影した画像データから、各種の被写体を検出する被写体検出の技術が提案されている。各種の被写体は、人物の顔や車両等に対応する。この被写体検出の技術では、被写体の特徴を学習させた学習データを作成し、作成した学習データと画像データとを比較することで、画像中に検出対象となる被写体が存在するか否かを判定する。
【０００３】
被写体検出の技術では、検出対象となる被写体が画像中に存在するか否かを判定出来ればよいので、画像データをそのまま利用する必要はない。このため、画像データを量子化し、画像データの情報量を削減することが行われている。
【０００４】
画像データの量子化の技術には、静的量子化と動的量子化とがある。静的量子化は、画像データをウェーブレット（Wavelet）変換した後に、予め定めた閾値と、変換後の画像データとを比較して、画像データを量子化する技術である。動的量子化は、画像データをウェーブレット変換した後に、変換後の画像データを基にして閾値を調整し、調整後の閾値と変換後の画像データとを比較して、画像データを量子化する技術である。
【０００５】
図１１は、動的量子化および静的量子化の特性の違いを説明するための図である。図１１の画像１０ａ〜１０ｃはそれぞれ同一の被写体を含む画像である。なお、各画像の明るさの関係を「画像１０ａの明るさ＜画像１０ｂの明るさ＜画像１０ｃの明るさ」とする。画像１１ａ〜１１ｃは、画像１０ａ〜１０ｃをそれぞれウェーブレット変換した後の画像である。
【０００６】
また、図１１の１ａ、１ｂ、１ｃは、それぞれ画像１１ａ〜１１ｃの周波数特性を示すものである。また、各Ｑ１、Ｑ２は、閾値を示すものであり、この閾値と周波数特性とを基にして、量子化が行われる。すでに説明したように、静的量子化では、予め設定された閾値Ｑ１、Ｑ２を用いて量子化を行う。動的量子化では、閾値Ｑ１、Ｑ２を調整した後に、調整後の閾値Ｑ１、Ｑ２を用いて量子化を行う。例えば、静的量子化および動的量子化では、閾値Ｑ１未満を「０」、閾値Ｑ１以上、Ｑ２未満を「１」、閾値Ｑ２以上を「２」に量子化する。
【０００７】
図１１の（ｂ）に示すように、画像１０ｂに対して静的量子化を行うと画像１２ｂとなり、動的量子化を行うと画像１３ｂとなる。画像１２ｂおよび画像１３ｂを参照すると、静的量子化、動的量子化ともに良好に画像データを量子化することができる。
【０００８】
図１１の（ａ）に示すように、画像１０ａに対して静的量子化を行うと画像１２ａとなり、動的量子化を行うと画像１３ａとなる。画像１０ａは、画像が暗すぎるので、静的量子化を行うと、被写体の特徴が欠落してしまう。一方、動的量子化を行うと、良好に画像データを量子化することができる。
【０００９】
図１１の（ｃ）に示すように、画像１０ｃに対して静的量子化を行うと画像１２ｃとなり、動的量子化を行うと画像１３ｃとなる。画像１０ｃは、画像が明るすぎるので、静的量子化を行うと、被写体にノイズが含まれてしまう。一方、動的量子化を行うと、良好に画像データを量子化することができる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平１１−１９６４１７号公報
【特許文献２】特開２００４−２３２８８号公報
【特許文献３】特開２００７−１８９７０４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
静的量子化により画像データの量子化を行うと、閾値が予め決まっているため、量子化に要する時間を短くできる。しかし、静的量子化では、画像データの明るさ等の影響により、画像データに対する量子化を適切に実行することができない場合がある。このため、適切に量子化出来ていない画像データをもとに被写体検出を行うと、被写体の誤検出を招いてしまう。
【００１２】
これに対して、動的量子化により画像データの量子化を行うと、画像データの特性に合わせて閾値を調整するので、画像データの明るさ等の影響を受けることなく、画像データに対する量子化を適切に実行することができる。このため、被写体検出の検出率を高めることができる。しかし、動的量子化では、画像データ毎に閾値を調整するため、処理が重くなり、量子化に要する時間が長くなってしまう。量子化に要する時間が長くなると、画像データから被写体を検出するまでの時間も長くなってしまう。
【００１３】
開示の技術は、上記に鑑みてなされたものであって、動的量子化の検出率を保ちつつ、高速に被写体を検出することができる物体検出装置および物体検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本願の開示する物体検出装置は、画像領域内の複数の事象のうちいずれかの事象に対して、所定の閾値を用いて量子化を行う静的量子化を実行することで、前記画像領域に所定の物体が存在する可能性があるか否かを判定する第１量子化処理部と、所定の物体が存在する可能性がある画像領域に対して、当該画像領域の画像の特徴に基づいて調整した閾値を用いて量子化を行う動的量子化を実行し、前記画像領域に所定の物体が存在するか否かを判定する第２量子化処理部とを備えたことを要件とする。
【発明の効果】
【００１５】
本願の開示する物体検出装置の一つの態様によれば、動的量子化の検出率を保ちつつ、高速に被写体を検出することができるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】図１は、本実施例１にかかる物体検出装置の構成を示す図である。
【図２】図２は、本実施例２にかかる物体検出装置の構成を示す図である。
【図３】図３は、事象の一例を示す図である。
【図４】図４は、画像分割部の処理を説明するための図である。
【図５】図５は、学習データテーブルのデータ構造を示す図である。
【図６】図６は、静的量子化部の処理を説明するための図である。
【図７】図７は、動的量子化部による閾値調整を説明するための図である。
【図８】図８は、学習データ生成部の処理手順を示すフローチャートである。
【図９】図９は、物体検出装置の処理手順を示すフローチャートである。
【図１０】図１０は、物体検出プログラムを実行するコンピュータの一例を示す図である。
【図１１】図１１は、動的量子化および静的量子化の特性の違いを説明するための図である。
【発明を実施するための形態】
【００１７】
以下に、本願の開示する物体検出装置および物体検出プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１８】
図１は、本実施例１にかかる物体検出装置１００の構成を示す図である。図１に示すように、この物体検出装置１００は、第１量子化部１１０と第２量子化部１２０とを有する。
【００１９】
第１量子化部１１０は、画像領域内の複数の事象のうちいずれかの事象に対して、所定の閾値を用いて量子化を行う静的量子化を実行することで、画像領域に所定の物体が存在する可能性があるか否かを判定する。
【００２０】
第２量子化部１２０は、所定の物体が存在する可能性がある画像領域に対して、この画像領域の画像の特徴に基づいて調整した閾値を用いて量子化を行う動的量子化を実行し、画像領域に所定の物体が存在するか否かを判定する。
【００２１】
本実施例１にかかる物体検出装置１００では、画像領域に所定の物体が存在するか否かを判定するために、この画像領域に対して動的量子化を実行することで、物体の検出率を高めている。しかし、画像領域が複数ある場合には、画像領域に所定の物体が含まれている、いないに関わらず動的量子化をすべての画像領域に対して実行すると時間を要してしまう。このため、物体検出装置１００は、画像領域に含まれる事象のうち、いずれかの事象に対して静的量子化を実行することで、画像領域に所定の物体が含まれている可能性があるか否かを判定する。そして、物体検出装置１００は、所定の物体が含まれている可能性がある画像領域にのみ、動的量子化を実行する。したがって、本実施例１にかかる物体検出装置１００によれば、動的量子化の検出率を保ちつつ、高速に所定の物体を検出することができる。
【実施例２】
【００２２】
次に、本実施例２にかかる物体検出装置の構成について説明する。図２は、本実施例２にかかる物体検出装置２００の構成を示す図である。図２に示すように、物体検出装置２００は、デジタルカメラ等の撮影装置５０に接続される。また、図２に示すように、物体検出装置２００は、入力部２０１、学習データ生成部２０２、記憶部２０３、画像縮小部２０４、周波数変換部２０５、画像分割部２０６を有する。また、物体検出装置２００は、静的量子化部２０７、動的量子化部２０８、物体検出部２０９、補正処理部２１０、出力部２１１を有する。なお、本実施例２にかかる物体検出装置２００は、一例として人物の顔を検出対象とするが、検出対象を車等としてもよい。
【００２３】
入力部２０１は、撮影装置５０から画像データの入力を受け付ける処理部である。入力部２０１は、画像データを学習データ生成部２０２、画像縮小部２０４、補正処理部２１０に出力する。
【００２４】
学習データ生成部２０２は、例えば、人物の顔が含まれる画像データや人物の顔が含まれない画像データを学習データとして取得し、取得した学習データを用いて、学習データテーブルを生成する処理部である。この学習データテーブルは、事象（local  operator）と重要度と係数値とを対応付けたテーブルである。
【００２５】
ここで、事象は、画像データを複数の詳細パターンに分割したものである。図３は、事象の一例を示す図である。図３に示す例では、学習データは、事象１〜事象１２までの１２の領域に分割されている。なお、必ずしも画像データを事象１〜事象１２に分割する必要はなく、事象をどのように分割してもよい。
【００２６】
重要度は、物体検出においてどの事象を選択することが効果的かを判定する尺度となる値である。重要度が大きい事象ほど、物体検出において選択することが効果的である。重要度の算出方法に関しては後述する。
【００２７】
係数値は、学習データが量子化されることで得られる事象の値である。例えば、学習データが量子化されると、学習データの各画素の値は「１」または「０」となる。上記事象に含まれる画素が８個の場合には、この事象に対応する係数値は「０〜２８（２５６）」のうちいずれかの値となる。仮に、事象に含まれる画素が１個の場合には、係数値は「１」または「０」となる。本実施例２では説明の便宜上、事象の係数値を「１」または「０」とする。学習データ生成部２０２は、学習データテーブルを、記憶部２０３に出力する。
【００２８】
記憶部２０３は、学習データテーブル２０３ａを記憶する記憶部である。画像縮小部２０４は、画像データを縮小する処理部である。画像縮小部２０４は、予め定められた縮小回数と縮小率にしたがって画像データを縮小する。画像縮小部２０４は、画像データを縮小した縮小画像データを周波数変換部２０５に出力する。
【００２９】
周波数変換部２０５は、縮小画像データに対してウェーブレット変換を実行する処理部である。以下の説明において、縮小画像データに対してウェーブレット変換を実行することで得られるデータをウェーブレット変換画像と表記する。周波数変換部２０５は、ウェーブレット変換画像を、画像分割部２０６に出力する。
【００３０】
画像分割部２０６は、ウェーブレット変換画像を複数の部分領域に分割する処理部である。部分領域の大きさは予め設定されてある。画像分割部２０６は、複数の部分領域に分割したウェーブレット変換画像を静的量子化部２０７に出力する。図４は、画像分割部２０６の処理を説明するための図である。図４では、大きさの異なるウェーブレット変換画像２０ａ、２０ｂ、２０ｃを示している。画像分割部２０６は、画像の大きさに関わらず部分領域の大きさを同じにする。
【００３１】
静的量子化部２０７は、部分領域の複数の事象のうち、重要度が閾値以上となる事象に対して静的量子化を実行し、部分領域に人物の顔が存在する可能性があるか否かを判定する処理部である。静的量子化部２０７は、学習データテーブル２０３ａを基にして、各事象の重要度を取得し、重要度が閾値以上となる事象を判定する。静的量子化部２０７は、部分領域に人物の顔が含まれている可能性があると判定した場合には、この部分領域のデータを動的量子化部２０８に出力する。静的量子化部２０７の詳細な説明は後述する。
【００３２】
動的量子化部２０８は、部分領域の各事象に対して動的量子化を実行することで、事象毎の係数値を算出する処理部である。動的量子化部２０８は、部分領域のデータと、事象毎の係数値を物体検出部２０９に出力する。動的量子化部２０８の詳細な説明は後述する。
【００３３】
物体検出部２０９は、動的量子化部２０８から取得した事象毎の係数値と、学習データテーブル２０３ａとを比較して、部分領域に人物の顔が存在するか否かを判定する処理部である。物体検出部２０９は、部分領域に人物の顔が存在すると判定した場合には、部分領域のデータを補正処理部２１０に出力する。
【００３４】
補正処理部２１０は、部分領域のデータを取得した場合に、部分画像に対応する画像データの領域を補正する。部分領域には人物の顔が含まれている。このため、補正処理部２１０は、画像データの該当領域のエッジを際立たせる補正や、顔の肌を美しく見せるための肌色補正を実行する。または、補正処理部２１０は、該当領域の顔に対して焦点が合うように、撮影装置５０の焦点距離を調整してもよい。補正処理部２１０は、補正した画像データを出力部２１１に出力する。
【００３５】
出力部２１１は、ディスプレイやモニタ等の表示装置に画像データを出力する処理部である。または、出力部２１１は、画像データを用いて各種の処理を実行する外部装置に、画像データを出力してもよい。
【００３６】
次に、図２に示した学習データテーブル２０３ａのデータ構造の一例について説明する。図５は、学習データテーブル２０３ａのデータ構造を示す図である。図５に示すように、この学習データテーブル２０３ａは、事象と対応付けて、顔学習データ、非顔学習データ、学習辞書、重要度、係数値を記憶する。
【００３７】
このうち、顔学習データは、顔を含む複数の学習データにおいて、各事象に対応する係数値が「１」となる割合ａと、係数値が「０」となる割合ｂとを示すものである。例えば、事象１に対応する割合ａは「０．７」であり、事象１に対応する割合ｂは「０．３」である。
【００３８】
非顔学習データは、顔を含まない複数の学習データにおいて、各事象に対応する係数値が「１」となる割合ｃと、係数値が「０」となる割合ｄとを示すものである。例えば、事象１に対応する割合ｃは「０．５」であり、事象１に対応する割合ｄは「０．５」である。
【００３９】
ここで、顔学習データおよび非顔学習データの生成過程の一例について説明する。学習データ生成部２０２は、同一サイズの複数の学習データを取得し、取得した各学習データをそれぞれウェーブレット変換する。学習データ生成部２０２は、ウェーブレット変換した後に得られるウェーブレット変換画像と所定の閾値とを比較して、事象毎の係数値を決定する。ここでは一例として、事象の係数値を「１」または「０」とする。事象毎の係数値は、学習データ毎に決定される。学習データ生成部２０２は、各学習データから決定した係数値を事象毎に統計し、係数値が「１」となる割合、係数値が「０」となる割合を算出することで、顔学習データおよび非顔学習データを生成する。
【００４０】
続いて、学習データテーブル２０３ａの学習辞書について説明する。学習辞書は、各事象に対応する係数値が「１」である確からしさを示す演算値ｅと、係数値が「０」である確からしさを示す演算値ｆとを示すものである。具体的に、学習データ生成部２０２は、下記の式（１）により演算値ｅを算出する。また、学習データ生成部２０２は、下記の式（２）に演算値ｆを算出する。
【数１】
0005413267.tif 000002
【数２】
0005413267.tif 000003
【００４１】
学習データテーブル２０３ａの係数値について説明する。学習データ生成部２０２は、例えば、顔学習データの割合ａと割合ｂとを比較して係数値を比較して、事象毎の係数値を判定する。例えば、事象１に対応する割合ａと割合ｂとを比較すると、割合ａの方が大きい。この場合には、学習データ生成部２０２は、事象１の係数値を「１」とする。また、事象２に対応する割合ａと割合ｂとを比較すると、割合ｂの方が大きい。この場合には、学習データ生成部２０２は、事象２の係数値を「０」とする。
【００４２】
続いて、学習データテーブル２０３ａの重要度について説明する。学習データ生成部２０２は、下記の式（３）を用いて事象毎の重要度を算出する。事象が顔の検出に効果的なものであれば、重要度は大きくなる傾向がある。これに対して、事象が顔の検出に効果的なものでなければ、重要度は小さくなる傾向がある。
【数３】
0005413267.tif 000004
【００４３】
式（３）の重みＡおよび重みＢは、学習データテーブル２０３ａの学習辞書と、顔を含む画像データと、顔を含まない画像データとを基にして算出される値である。ここでは、「顔を含む画像データ」Ｎｏ１〜５、「顔を含まない画像データ」Ｎｏ６〜１０を用いて重みＡおよび重みＢを算出する場合について説明する。また、説明の便宜上、事象１の重要度を算出する場合について説明する。その他の事象の重要度を算出する手法は、事象１の重要度を算出する場合と同様である。
【００４４】
まず、学習データ生成部２０２は、画像データＮｏ１を事象１〜１２に分割し、各事象の係数値を決定する。係数値の求め方は、上記の方法と同様である。学習データ生成部２０２は、事象１の係数値が「０」の場合には、学習辞書の演算値ｆの値を取得し、事象１の係数値が「１」の場合には、学習辞書の演算値ｅの値を取得する。例えば、事象１の係数値が「１」の場合には、演算値ｅ「０．１４６」を取得し、係数値が「０」の場合には、演算値ｆ「−０．２２２」を取得する。
【００４５】
学習データ生成部２０２は、取得した演算値の符号が「正」の場合には、取得した演算値を重みＡに加算する。重みＡの初期値を０とする。一方、学習データ生成部２０２は、取得した演算値の符号が「負」の場合には、取得した演算値の絶対値を重みＢに加算する。重みＢの初期値を０とする。学習データ生成部２０２は、画像データＮｏ２〜Ｎｏ５に対して、画像データＮｏ１と同様にして、重みＡまたは重みＢに演算値を加算していく。
【００４６】
学習データ生成部２０２は、画像データＮｏ６を事象１〜１２に分割し、各事象の係数値を決定する。係数値の求め方は、上記の方法と同様である。学習データ生成部２０２は、事象１の係数値が「０」の場合には、学習辞書の演算値ｆの値を取得し、事象１の係数値が「１」の場合には、学習辞書の演算値ｅの値を取得する。
【００４７】
学習データ生成部２０２は、取得した演算値の符号が「正」の場合には、取得した演算値を重みＢに加算する。一方、学習データ生成部２０２は、取得した演算値の符号が「負」の場合には、取得した演算値の絶対値を重みＡに加算する。学習データ生成部２０２は、画像データＮｏ７〜Ｎｏ１０に対して、画像データＮｏ６と同様にして、重みＡまたは重みＢに演算値を加算していく。
【００４８】
なお、学習データ生成部２０２は、どのような手法によって各事象の重要度を求めてもかまわない。例えば、学習データ生成部２０２は、各事象の係数値の分散値を求め、かかる分散値を重要度としてもよい。
【００４９】
次に、静的量子化部２０７の処理を具体的に説明する。図６は、静的量子化部２０７の処理を説明するための図である。ここでは、部分領域３０ｃが事象１〜１２を含む場合について説明する。まず、静的量子化部２０７は、学習データテーブル２０３ａの重要度を参照し、所定の閾値以上となる重要度に対応付けられた事象を判定する。ここでは一例として、事象４、６、８の重要度を所定の閾値以上とする。例えば、部分領域３０ｃのほぼいっぱいの大きさに人の顔がある場合、事象４や６の部分には目が存在することが多く、また事象８には、鼻または口が存在することが多い。従って、部分領域３０ｃが人の顔画像であれば、事象４、６、８には周波数特性が現れている可能性が高い。
【００５０】
静的量子化部２０７は、事象４、６、８に対応する周波数特性と閾値Ｑ１、Ｑ２とを比較して、事象４、６、８の係数値と判定する。例えば、静的量子化部２０７は、事象に対応する周波数特性が閾値Ｑ１未満、閾値Ｑ２以上の場合には、係数値を「１」と判定する。これに対して、静的量子化部２０７は、事象に対応する周波数特性が閾値Ｑ１以上、閾値Ｑ２未満の場合には、係数値を「０」と判定する。
【００５１】
静的量子化部２０７は、部分領域から求めた事象４、６、８の係数値と、学習データテーブル２０３ａに記憶された事象４、６、８の係数値とを比較する。例えば、静的量子化部２０７は、部分領域から求めた事象の係数値のうち、学習データテーブル２０３ａの事象の係数値と一つでも一致すれば、部分領域３０ｃに人物の顔が存在する可能性があると判定する。例えば、部分領域から求めた事象４の係数値と、学習データテーブル２０３ａの事象４の係数値が一致する場合には、部分領域３０ｃに人物の顔が存在する可能性があると判定する。
【００５２】
次に、動的量子化部２０８の処理を具体的に説明する。まず、動的量子化部２０８は、部分領域の周波数特性から閾値Ｒ１、Ｒ２を調整する。図７は、動的量子化部２０８による閾値調整を説明するための図である。図７の横軸は変換係数であり周波数に対応する。図７の縦軸は、該当する変換係数の度数である。１Ｂは、曲線１Ａおよび横軸に囲まれた面積を示す。２Ｂは、曲線１Ａと、横軸と、閾値Ｒ１を通る垂線とに囲まれた面積を示す。３Ｂは、曲線１Ａと、横軸と、閾値Ｒ２を通る垂線とに囲まれた面積を示す。
【００５３】
動的量子化部２０８は、式（４）、式（５）の関係を満たすように、閾値Ｒ１、Ｒ２を調整する。
Ｃ１＝２Ｂ／１Ｂ・・・（４）
Ｃ２＝３Ｂ／１Ｂ・・・（５）
式（４）のＣ１は、所定の定数であり、例えば０．１となる。また、式（５）のＣ２は所定の定数であり、例えば０．１となる。
【００５４】
閾値Ｒ１、Ｒ２を調整した後に、動的量子化部２０８は、部分領域３０ｃの事象１〜１２に対応する周波数特性と、閾値Ｒ１、Ｒ２とを比較して事象１〜１２の係数値を判定する。例えば、動的量子化部２０８は、事象に対応する周波数特性が閾値Ｒ１未満、閾値Ｒ２以上の場合には、係数値を「１」と判定する。これに対して、動的量子化部２０８は、事象に対応する周波数特性が閾値Ｒ１以上、閾値Ｒ２未満の場合には、係数値を「０」と判定する。動的量子化部２０８は、各事象１〜１２と係数値とをそれぞれ対応付けて物体検出装置に出力する。また、動的量子化部２０８は、部分領域のデータを物体検出部２０９に出力する。
【００５５】
なお、動的量子化部２０８は、事象１〜１２の係数値を判定してもよいし、静的量子化部２０７により係数値が判定された事象を除く残りの事象に対して、係数値の判定を行ってもよい。
【００５６】
物体検出部２０９は、事象１〜１２の係数値と、学習データテーブル２０３ａの各事象の係数値とを比較する。例えば、物体検出部２０９は、事象１〜１２のうち、所定数の事象の係数値が、学習データテーブル２０３ａの事象の係数値と一致する場合に、部分領域に人物の顔が存在すると判定する。例えば、静的量子化部２０７による処理の結果として、人の顔画像であると判断された部分領域３０ｃであっても、たまたま事象４、６、８のいずれかに周波数特性を有する顔以外の画像である可能性が残る。動的量子化部２０８による処理を行うことで、静的量子化部２０７による処理の結果として、人の顔画像であると判断されたデータから、顔以外の画像を区別することができる。
【００５７】
ところで、図２に示した、上記処理部２０１、２０２、２０４〜２１１は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）や、ＦＰＧＡ（Field  Programmable  Gate  Array）などの集積装置に対応する。または、上記処理部２０１、２０２、２０４〜２１１は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の電子回路に対応する。
【００５８】
また、図２に示した記憶部２０３は、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。
【００５９】
次に、図２に示した学習データ生成部２０２の処理について説明する。図８は、学習データ生成部２０２の処理手順を示すフローチャートである。図８の処理は、例えば、学習データ生成部２０２が、入力部２０１から複数の学習データを取得したことを契機にして実行される。
【００６０】
図８に示すように、学習データ生成部２０２は、複数の学習データを取得し（ステップＳ１０１）、学習データテーブル２０３ａを作成する（ステップＳ１０２）。ステップＳ１０２において、学習データ生成部２０２は、顔学習データ、非顔学習データ、学習辞書を生成する。そして、学習データ生成部２０２は、重要度を算出する（ステップＳ１０３）。
【００６１】
次に、図２に示した物体検出装置２００の処理手順について説明する。図９は、物体検出装置２００の処理手順を示すフローチャートである。例えば図９の処理は、学習データテーブル２０３ａが作成された後に、物体検出装置２００が、撮影装置５０から画像データを取得したことを契機にして実行される。
【００６２】
図９に示すように、物体検出装置２００は画像データを取得し（ステップＳ２０１）、画像縮小部２０４が画像縮小処理を行う（ステップＳ２０２）。周波数変換部２０５は、ウェーブレット変換を実行し（ステップＳ２０３）、画像分割部２０６がウェーブレット変換画像を分割する（ステップＳ２０４）。
【００６３】
静的量子化部２０７は、重要度の高い事象に対して静的量子化処理を実行し（ステップＳ２０５）、静的量子化の結果に基づいて事象の係数値を判定する（ステップＳ２０６）。静的量子化部２０７は、部分領域に顔が存在する可能性がないと判定した場合には（ステップＳ２０７，Ｎｏ）、ステップＳ２１３に移行する。
【００６４】
一方、静的量子化部２０７が、部分領域に顔が存在する可能性があると判定した場合には（ステップＳ２０７，Ｙｅｓ）、動的量子化部２０８が閾値を算出する（ステップＳ２０８）。動的量子化部２０８は、部分領域に対して動的量子化処理を実行し（ステップＳ２０９）、動的量子化の結果に基づいて事象の係数値を判定する（ステップＳ２１０）。
【００６５】
物体検出部２０９は、部分領域の各事象の係数値を基にして、物体検出処理を実行する（ステップＳ２１１）。そして、物体検出装置２００は、未選択の部分領域が存在する場合には（ステップＳ２１２，Ｙｅｓ）、ステップＳ２０５に移行する。一方、物体検出装置２００は、未選択の部分領域が存在しない場合には（ステップＳ２１２，Ｎｏ）、未選択の縮小画像が存在するか否かを判定する（ステップＳ２１３）。物体検出装置２００は、未選択の縮小画像が存在する場合には（ステップＳ２１３，Ｙｅｓ）、ステップＳ２０２に移行する。一方、物体検出装置２００は、未選択の縮小画像が存在しない場合には（ステップＳ２１３，Ｎｏ）、処理を終了する。なお、図９の処理が終了した後に、補正処理部２１０による補正処理が実行される。
【００６６】
次に、本実施例２にかかる物体検出装置２００の効果について説明する。物体検出装置２００は、部分領域に含まれる事象のうち、いずれかの事象に対して静的量子化を実行することで、部分領域に顔が含まれている可能性があるか否かを判定する。そして、物体検出装置２００は、顔が含まれている可能性がある部分領域にのみ、動的量子化を実行する。このため、本実施例２にかかる物体検出装置２００によれば、動的量子化の検出率を保ちつつ、高速に所定の物体を検出することができる。
【００６７】
また、静的量子化部２０７は、重要度が閾値以上となる事象に対してのみ静的量子化を実行し、部分領域内に顔が含まれている可能性があるかを判定する。このため、必要最小限の事象を用いて、顔の存在可否の可能性を判定でき、検出速度を向上させることができる。
【００６８】
また、動的量子化部２０８は、閾値の調整を行った後に、静的量子化を行った事象を含めて、部分領域の事象の係数値を判定する。このため、部分領域に含まれる顔の検出精度を高めることができる。
【００６９】
ところで、上述の実施例で説明した物体検出装置２００等の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。
【００７０】
ここで、図１０を用いて、上記の実施例で説明した物体検出装置２００等による処理と同様の機能を実現する物体検出プログラムを実行するコンピュータの一例を説明する。図１０は、物体検出プログラムを実行するコンピュータの一例を示す図である。
【００７１】
図１０に示すように、物体検出装置２００として機能するコンピュータ３００は、各種演算処理を実行するＣＰＵ（Central  Processing  Unit）３０１と、ユーザからのデータの入力を受け付ける入力装置３０２と、モニタ３０３を有する。
【００７２】
また、コンピュータ３００は、図１０に示すように、記憶媒体からプログラム等を読取る媒体読み取り装置３０４と、ネットワークを介して他のコンピュータとの間でデータの授受を行うネットワークインターフェース装置３０５とを有する。また、コンピュータ３００は、カメラ３０６、各種情報を一時記憶するＲＡＭ（Random  Access  Memory）３０７と、ハードディスク装置３０８を有する。そして、各装置３０１〜３０８は、バス３０９に接続される。
【００７３】
ハードディスク装置３０８には、上述した物体検出装置２００の機能と同様の機能を発揮する物体検出プログラム３０８ａが記憶されている。なお、この物体検出プログラム３０８ａを適宜分散させて、ネットワークを介して通信可能に接続された他のコンピュータの記憶部に記憶させておくこともできる。
【００７４】
そして、ＣＰＵ３０１が、物体検出プログラム３０８ａをハードディスク装置３０８から読み出してＲＡＭ３０７に展開することにより、図１０に示すように、物体検出プログラム３０８ａは物体検出プロセス３０７ａとして機能する。また、ＣＰＵ３０１が、学習データテーブル３０８ｂをハードディスク装置３０８から読み出してＲＡＭ３０７に展開する。物体検出プロセス３０７ａは、例えば、図２に示した各処理部２０１〜２１１に対応する。学習データテーブル３０８ｂは、例えば、図２に示した学習データテーブル２０３ａに対応する。物体検出プロセス３０７ａは、ＲＡＭ３０７に格納された学習データテーブル３０７ｂを用いて、物体検出処理を実行する。
【００７５】
なお、物体検出プログラム３０８ａについては、必ずしも最初からハードディスク装置３０８に記憶させておく必要はない。例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ３００がこれらから各プログラムを読み出して実行するようにしてもよい。
【００７６】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００７７】
（付記１）画像領域内の複数の事象のうちいずれかの事象に対して、所定の閾値を用いて量子化を行う静的量子化を実行し、前記画像領域に所定の物体が存在する可能性があるか否かを判定する第１量子化処理部と、
前記所定の物体が存在する可能性がある画像領域に対して、該画像領域の画像の特徴に基づいて調整した閾値を用いて量子化を行う動的量子化を実行し、前記画像領域に所定の物体が存在するか否かを判定する第２量子化処理部と
を備えたことを特徴とする物体検出装置。
【００７８】
（付記２）前記事象にはそれぞれ重要度が設定されており、前記第１量子化処理部は、前記重要度に基づいて、前記静的量子化を実行する事象を判定することを特徴とする付記１に記載の物体検出装置。
【００７９】
（付記３）前記第２量子化処理部は、前記静的量子化を行った事象を含む画像領域に対して動的量子化を実行する場合に、前記静的量子化を実行した事象に対して再度動的量子化を実行することを特徴とする付記１または２に記載の物体検出装置。
【００８０】
（付記４）コンピュータに、
画像領域内の複数の事象のうちいずれかの事象に対して、所定の閾値を用いて量子化を行う静的量子化を実行し、前記画像領域に所定の物体が存在する可能性があるか否かを判定する第１量子化処理手順と、
前記所定の物体が存在する可能性がある画像領域に対して、該画像領域の画像の特徴に基づいて調整した閾値を用いて量子化を行う動的量子化を実行し、前記画像領域に所定の物体が存在するか否かを判定する第２量子化処理手順と
を実行させることを特徴とする物体検出プログラム。
【００８１】
（付記５）前記事象にはそれぞれ重要度が設定されており、前記第１量子化処理手順は、前記重要度に基づいて、前記静的量子化を実行する事象を判定することを特徴とする付記４に記載の物体検出プログラム。
【００８２】
（付記６）前記第２量子化処理手順は、前記静的量子化を行った事象を含む画像領域に対して動的量子化を実行する場合に、前記静的量子化を実行した事象に対して再度動的量子化を実行することを特徴とする付記４または５に記載の物体検出プログラム。
【００８３】
（付記７）物体検出装置が、
画像領域内の複数の事象のうちいずれかの事象に対して、所定の閾値を用いて量子化を行う静的量子化を実行し、前記画像領域に所定の物体が存在する可能性があるか否かを判定するステップと、
前記所定の物体が存在する可能性がある画像領域に対して、該画像領域の画像の特徴に基づいて調整した閾値を用いて量子化を行う動的量子化を実行し、前記画像領域に所定の物体が存在するか否かを判定するステップと
を含むことを特徴とする物体検出方法。
【符号の説明】
【００８４】
１００  物体検出装置
１１０  第１量子化部
１２０  第２量子化部
【図１】
0005413267.tif 000005
【図２】
0005413267.tif 000006
【図３】
0005413267.tif 000007
【図４】
0005413267.tif 000008
【図５】
0005413267.tif 000009
【図６】
0005413267.tif 000010
【図７】
0005413267.tif 000011
【図８】
0005413267.tif 000012
【図９】
0005413267.tif 000013
【図１０】
0005413267.tif 000014
【図１１】
0005413267.tif 000015