(57)【特許請求の範囲】
【請求項１】
入力画像を拡大または縮小して生成される解像度の異なる画像である１つ以上のレイヤを用いて、前記入力画像から特定物体を検出する検出手段と、
前記画像における前記特定物体の検出位置を特定するための情報を示す位置特定情報を生成する位置特定情報生成手段と、
画像特定情報および前記位置特定情報を提示する提示手段と、
前記提示手段によって提示された前記画像特定情報および前記位置特定情報に対応する特定物体の検出結果に対して評価情報を付与する付与手段と、
前記評価情報に基づいて、前記特定物体の検出に用いるレイヤを前記入力画像について設定する設定手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記特定物体の検出に用いられた画像を特定するための情報を示す前記画像特定情報を生成する画像特定情報生成手段をさらに備え、
前記画像特定情報は、前記特定物体の検出に使用した画像そのものを示す情報、当該画像のフレーム識別子情報、または前記特定物体の検出時の時刻情報の少なくとも何れか１つを含むことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記位置特定情報は、前記特定物体が検出された位置を表す座標情報、または前記特定物体が検出された位置を表す情報を前記入力画像に対して重畳した画像情報の少なくとも何れか１つを含むことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記付与手段は、
前記画像特定情報および前記位置特定情報をユーザへ提示する提示手段と、
前記ユーザから前記評価情報を受け付ける受付手段と、を備え、
前記ユーザから受け付けられた前記評価情報を付与することを特徴とする請求項２又は３に記載の画像処理装置。
【請求項５】
前記検出手段よりも検出精度が高い第２の検出手段をさらに備え、
前記付与手段は、前記画像特定情報および前記位置特定情報と、前記第２の検出手段による検出結果とに基づいて前記評価情報を生成し、当該評価情報を付与することを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項６】
前記評価情報は、前記特定物体の検出結果が正しいか否かを示す正誤情報を含むことを特徴とする請求項１乃至５の何れか１項に記載の画像処理装置。
【請求項７】
前記評価情報は、前記特定物体の向きまたは種別の少なくとも何れか１つを含むことを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
前記入力画像を所定領域に分割する分割手段をさらに備え、
前記設定手段は、前記分割された領域ごとに、前記特定物体の検出に用いるレイヤを設定することを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項９】
検出手段と、位置特定情報生成手段と、提示手段と、付与手段と、設定手段とを備える画像処理装置の制御方法であって、
前記検出手段が、入力画像を拡大または縮小して生成される解像度の異なる画像集合であるレイヤを用いて、前記入力画像から特定物体を検出する検出工程と、
前記位置特定情報生成手段が、前記画像における前記特定物体の検出位置を特定するための情報を示す位置特定情報を生成する位置特定情報生成工程と、
前記提示手段が、画像特定情報および前記位置特定情報を提示する提示工程と、
前記付与手段が、前記提示工程において提示された前記画像特定情報および前記位置特定情報に対応する特定物体の検出結果に対して評価情報を付与する付与工程と、
前記設定手段が、前記評価情報に基づいて、前記特定物体の検出に用いるレイヤを前記入力画像について設定する設定工程と、
を有することを特徴とする画像処理装置の制御方法。
【請求項１０】
請求項９に記載の画像処理装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像から特定の物体を検出する画像処理装置、画像処理装置の制御方法、およびプログラムに関し、特に、監視カメラの画像から高速に人体を検出する画像処理装置、画像処理装置の制御方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、監視カメラの画像から顔や人体など特定の物体を検出する場合、パターンマッチング処理により物体の検出を行っていた。
【０００３】
特許文献１では、画像の大きさを変更しながら照合パターンを画像全域に用いて複数の局所パターンを抽出し、それぞれの局所特徴量を算出する。そして、局所特徴量に重み付けを行った結果の総和から人体であるかを判定する手法が記載されている。また、特許文献２では、カメラ本体の姿勢に応じて、顔検出処理の方法を変更する手法が。そして、特許文献３では、パターンマッチングによる追尾手法が記載されている。また、これらの特定物体の検出処理は、ネットワークカメラ機器の高画素化という背景や、監視等で実時間処理を行うために高速に実行できることが必要である。処理の高速化を実現する方法として、特許文献４では、パターンマッチングに用いる縮小画像（レイヤ）の優先度を過去の画像撮影結果に基づいて切り替える手法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２１１３１１号公報
【特許文献２】特開２０１０−０８８０９３号公報
【特許文献３】特開２００２−３７３３３２号公報
【特許文献４】特開２００７−１３５１１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１乃至特許文献４に記載の手法では、特定物体の検出処理が常に正しく行われるとは限らない。そのため、本来は特定物体が出現しない箇所において特定物体が頻繁に誤検出される場合、過去の検出実績に基づいてパターンマッチングに用いるレイヤの優先度を変える手法が有効に働かない可能性があるという課題がある。
【０００６】
上記の課題に鑑み、本発明は、特定物体の検出処理に誤検出が起こる場合においても、パターンマッチングに用いるレイヤの優先度を適切に決定し、高速に特定物体を検出することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成する本発明に係る画像処理装置は、
入力画像を拡大または縮小して生成される解像度の異なる画像である１つ以上のレイヤを用いて、前記入力画像から特定物体を検出する検出手段と、
前記画像における前記特定物体の検出位置を特定するための情報を示す位置特定情報を生成する位置特定情報生成手段と、
画像特定情報および前記位置特定情報を提示する提示手段と、
前記提示手段によって提示された前記画像特定情報および前記位置特定情報に対応する特定物体の検出結果に対して評価情報を付与する付与手段と、
前記評価情報に基づいて、前記特定物体の検出に用いるレイヤを前記入力画像について設定する設定手段と、
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、特定物体の検出処理に誤検出が起こる場合においても、パターンマッチングに用いるレイヤの優先度を適切に決定し、高速に特定物体を検出することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る画像処理装置の構成例を示す図。
【図２】第１実施形態に係る人体検出処理におけるレイヤ処理の説明図。
【図３】第１実施形態に係る記録テーブルの例を示す図。
【図４】第１実施形態に係る評価情報を付与するためのＧＵＩの例を示す図。
【図５】第１実施形態に係る評価情報が付与された記録テーブルの例を示す図。
【図６】第１実施形態に係る対応テーブルの例を示す図。
【図７】第１実施形態に係る全体処理の手順を示すフローチャート。
【図８】第１実施形態に係る人体検出処理の手順を示すフローチャート。
【図９】第２実施形態に係る入力画像を領域で分割した例を示す図。
【図１０】第２実施形態に係る評価情報が付与された記録テーブルの例を示す図。
【図１１】第２実施形態に係る対応テーブルの例を示す図。
【図１２】第２実施形態に係る全体処理の手順を示すフローチャート。
【図１３】第２実施形態に係る人体検出処理の手順を示すフローチャート。
【発明を実施するための形態】
【００１０】
＜第１実施形態＞
図１を参照して、第１実施形態に係る画像処理装置１００の構成例を説明する。画像処理装置１００は、画像取得部１０１と、人体検出部１０２と、画像特定情報生成部１０３と、検出位置特定情報生成部１０４と、評価情報付与部１０５と、レイヤ設定部１０６と、記憶部１０７と、外部出力部１０８とを備える。各処理部は、不図示のＣＰＵにより制御される。
【００１１】
画像取得部１０１は、処理対象の画像を時系列順に外部から取得する。画像を取得する外部の装置はカメラに限定されるものではなく、サーバや外部メモリなどに保存されたものでもよい。また、静止画、動画のいずれをも含む。人体検出部１０２は、異なる大きさの人体を検出するために、入力画像を拡大または縮小して生成される解像度の異なる画像である１つ以上のレイヤ（縮小画像）を用いてパターンマッチング処理を行い、画像から人体を検出する。
【００１２】
画像特定情報生成部１０３は、人体検出部１０２による人体の検出結果に対して、人体検出時に使用した画像を特定するための情報である画像特定情報を生成し、記憶部１０７に保存する。検出位置特定情報生成部１０４は、人体検出部１０２による人体の検出結果に対して、人体検出時の検出位置を特定するための情報である検出位置特定情報を生成し、記憶部１０７に保存する。
【００１３】
評価情報付与部１０５は、画像特定情報生成部１０３により生成された画像特定情報および検出位置特定情報生成部１０４により生成された検出位置特定情報に基づいて、検出結果に対する評価情報を付与する。レイヤ設定部１０６は、評価情報付与部１０５により付与された評価情報に基づいて、画像における所定領域と処理レイヤとを対応付けた対応テーブルを作成する。処理レイヤとは、人体検出部１０２による人体検出にどのレイヤを用いるかという情報のことを指す。
【００１４】
記憶部１０７は、画像特定情報生成部１０３により生成された画像特定情報、検出位置特定情報生成部１０４により生成された検出位置特定情報、およびレイヤ設定部１０６により作成された対応テーブルを記憶する。人体検出部１０２は、この記憶された対応テーブルの設定値に基づいて人体検出処理を行う。また、記憶部１０７は、人体検出処理に用いる人体照合パターンも記憶する。外部出力部１０８は、画像処理装置１００により処理された各種情報を外部の装置へ出力する。
【００１５】
以下、レイヤ、人体検出処理、画像特定情報、検出位置特定情報、評価情報付与、および対応テーブルについて詳細に説明していく。
【００１６】
まずはレイヤおよび人体検出処理について説明する。図２は人体検出処理におけるレイヤ処理を説明した図である。画像２０１は、画像取得部１０１が取得した画像である。ここで、画像２０１をレイヤ０（Ｌ０）と称する。照合パターン２０２は、パターンマッチング処理で人体検出を行う際の照合パターンである。画像２０１については、照合パターン２０２を用いて取得画像の左上部からラスタスキャンし人体を検出する。次に、画像２０１のサイズを所定の倍率だけ縮小した画像２０３を作成し、画像２０３に対して画像２０１と同じ照合パターン２０２を用いてラスタスキャンを行い人体を検出する。ここで、縮小した画像２０３をレイヤ１（Ｌ１）と称する。同様に画像２０３を所定の倍率だけ縮小した画像２０４（レイヤ２（Ｌ２））に対し照合パターン２０２を用いて人体検出処理を行っていく。同じ照合パターン２０２を繰り返し縮小画像に用いることにより、画面中の様々な大きさの人体を検出することが可能となる。ここで、レイヤとは、入力画像を拡大または縮小して生成される、解像度の異なる複数の画像集合である。これまで述べたように、本実施形態におけるレイヤとは、複数のレイヤ０からレイヤＮまでの画像集合であり、元画像をレイヤ０、画像を縮小していく毎にレイヤ１、レイヤ２としている。また、上述したようにレイヤと検出する人体の大きさとは関連している。
【００１７】
これらの処理を繰り返し行い各種大きさの人体を検出し、処理を開始してからの経過時間が閾値に達すると終了する。処理終了条件は、本実施形態においては処理を開始してからの経過時間に基づいて決定しているが、経過時間に限定されるものではない。処理終了条件は、検出した人体の数、人体検出処理を実行した回数などから決定するようにしてもよい。
【００１８】
また縮小画像を作成する際の所定の倍率は１倍未満であれば何倍であってもよい。１に近いほど高精度であるが処理時間は長くなり、倍率が低くなるほど一般的に低精度になるが処理時間は短くなるため、運用条件によって適切な値を設定する。また、本実施形態では元の画像２０１を繰り返し縮小し順次大きな人体を検出しているが、大きな人体から小さな人体を検出するように処理順を変えてもよい。
【００１９】
また、本実施形態においては検出対象を人体としているが、必ずしも人体に限定されるものではない。検出対象としては、顔、自動車（車両）、動物等、入力された画像上に様々な大きさで現れる可能性のある物体であればよい。さらに、複数種類の特定物体を検出する特定物体検出部により、同時に複数の検出が可能であるならば、物体に複数の特定物体検出処理を実施してもよい。また、別途設定した物体の大きさ、アスペクト比などの設定値に用いた物体の属性に応じて、複数の特定物体検出処理から所定の処理のみを選択し処理を実施してもよい。例えば、特定物体検出部として、人体検出部と車検出部と有するものとする。このとき、画面内で出現しうる車の大きさを車両最小サイズとして、ユーザの指示に従って予め設定する。そして、物体の大きさが車両最小サイズより小さい場合、車として検出される可能性は低いため、車検出部での処理は行わず、人体検出部での処理のみ実施する。一方で、物体の大きさが車両最小サイズより大きい場合、車として検出される可能性があるため、車検出部での処理を実施する。また、複数の人が集団で行動し一つの物体として検出された可能性もあるため、人体検出部での処理も実施する。
【００２０】
次に、画像特定情報について説明する。画像特定情報は、人体検出部１０２による人体の検出結果に対し、人体検出時に使用した画像（レイヤ）を特定するための情報のことである。例えば、人体の検出時に使用した画像そのものを示す情報を、画像特定情報として使用する。また、人体検出時に使用した画像のフレーム識別子情報や、人体検出時の時刻情報を、画像特定情報として使用してもよい。この場合は、人体検出時に使用した画像を後で特定することができるように、画像取得部１０１が外部から取得した静止画または動画を、フレーム識別子情報や時刻情報とともに、記憶部１０７または外部の記憶部に記録しておく必要がある。
【００２１】
次に、検出位置特定情報について説明する。検出位置特定情報は、人体検出部１０２による人体の検出結果に対し、人体検出時の検出位置を特定するための情報のことである。例えば、人体検出部１０２が人体を検出した位置を表す座標情報を、検出位置特定情報として使用する。このときの座標は、縮小された画像における座標系を用いてもよいし、縮小された画像における検出位置を、縮小された画像に対応するレイヤ０の画像（元画像）上の検出位置に換算した後の、レイヤ０における座標系を用いてもよい。また、画像特定情報に含まれる画像に、人体が検出された位置を表す情報を重畳した画像情報を、検出位置特定情報として使用してもよい。
【００２２】
本実施形態では、所定の期間を学習期間とし、この学習期間内に入力画像の全レイヤを用いて人体検出処理を実行する。その検出結果に基づいて、画像特定情報生成部１０３が画像特定情報を生成し、検出位置特定情報生成部１０４が検出位置特定情報を生成する。なお、所定の期間を学習期間とする方法以外で検出結果を収集してもよい。例えば、人体検出が一定数行われるまでを学習期間とし、検出結果を収集してもよい。また、あらかじめ用意された検出結果を直接用いてもよい。
【００２３】
この画像特定情報と検出位置特定情報との保持例を、図３の記録テーブルに示す。記録テーブルは、レイヤごとに、人体検出イベントが起こった回数を記録する。ここで人体検出イベントとは、人体検出が任意のレイヤで１回検出されることを指す。図３の例では、学習期間において、Ｌ２で９５回の人体検出イベントが起こったことが分かる。また、学習期間において、Ｌ５で３４回の人体検出イベントが起こったことが分かる。記録テーブルは、検出イベントのそれぞれに対して一意のＩＤ（例えば、Ｌ２−００１、…、Ｌ２−０９５、Ｌ５−００１、…、Ｌ５−０３４）を与え、そのイベントに対応する画像特定情報と検出位置特定情報とを、当該ＩＤと関連付けて記録する。
【００２４】
記録テーブルは記憶部１０７に記憶される。なお、画像特定情報と検出位置特定情報との保持方法はこの方法に限定されるものではなく、各レイヤにおける検出イベントに対応する画像特定情報および検出位置特定情報を取り出せる任意の方法を用いてよい。
【００２５】
次に、評価情報付与について説明する。評価情報付与とは、記録テーブルに記録された過去の人体検出イベントに対し、評価情報を付与することを意味する。図４に、評価情報付与部１０５として機能するユーザインタフェース４０１を示す。このユーザインタフェース４０１は、記録テーブルに記録された、過去の人体検出イベントに対応する画像特定情報および検出位置特定情報を、順々にユーザに提示する。ユーザインタフェース４０１は、人体検出イベントのＩＤ４０２と、画像特定情報を用いて取得した入力画像上に検出位置特定情報を用いて取得した人体検出位置を示す矩形を重畳した入力画像４０３と、をユーザに提示している。矩形の大きさは、人体検出時に使用したレイヤの番号と、パターンマッチング処理で用いる照合パターンの大きさから決まる。
【００２６】
ユーザは、提示された情報に基づいて、その人体検出結果が正しかったか誤りであったかを評価し、その評価結果を、ボタン群４０４を用いて付与する。図４の例では、正しく人体が検出されているとユーザが判断した場合には“はい”を選択し、誤って人体が検出されているとユーザが判断した場合には“いいえ”を選択する。また、判断がつかない場合、あるいは判断をスキップしたい場合、“スキップ”を選択する。ここで付与された、人体検出が正しいか誤りかという正誤情報が評価情報の一例である。このようにして、ユーザからの評価情報の受付が行われる。
【００２７】
評価情報付与部１０５が付与する評価情報は、上述の情報に限定されない。例えば、検出する必要がある物体かどうかという評価情報を付与してもよい。また、検出された人体の向きや、検出された人体の種別などの詳細情報を評価情報として付与してもよい。ここで種別とは、例えば男性か女性か、子供か大人かなど、検出された物体が有する性質のことを指す。また、特定物体の検出が誤りであった場合に、その誤りの原因情報を評価情報として付与してもよい。
【００２８】
また、評価情報付与の方法についても特に限定するものではない。例えば、人体検出部１０２よりも検出精度が高いが計算コストの大きい人体認識エンジン（第２の検出部）を用いて、記録テーブルに記録された入力画像に対して再び人体検出を行う。そしてその人体検出の結果を正解データと仮定して、検出の正否についての評価情報を自動付与するようにしてもよい。
【００２９】
図５は、図３の記録テーブルに、評価情報を追加した記録テーブルである。この例では、検出イベントのそれぞれに対して、検出結果が正しいか誤りかを評価情報として付与する。図５では、検出結果が正しいことを「正」、検出結果が誤りであることを「誤」として表しており、まだ「正」または「誤」のいずれも付与されていないことを「未」として表している。
【００３０】
なお、評価情報の保持方法はこの方法に限定されるものではなく、各レイヤにおける検出イベントに対応する評価情報を取り出せる任意の方法を用いてよい。
【００３１】
また、図５では、各レイヤにおける評価情報の統計を (ｎ,ｐ,ｆ)という形式で記録する。ｎは、図３で示した検出回数と同様に、当該レイヤにおいて人体検出イベントが起こった回数を表す。ｐは、ｎのうち、「正」の評価情報を付与された数を表す。ｆは、ｎのうち、「誤」の評価情報を付与された数を表す。ｎからｆを引いた検出回数を実効検出回数と称する。ただし、実効検出回数の計算は任意の方法でよく、たとえばｐを用いてもよい。
【００３２】
次に、対応テーブルについて説明する。具体的には、評価情報の付与された記録テーブルから対応テーブルを作成する方法について説明する。対応テーブルとは、人体検出処理を行うレイヤを記録したものである。対応テーブルは例えば以下のいずれかの方法により作成する。
【００３３】
・最も実効検出回数の多かったレイヤのみから対応テーブルを作成
・最も実効検出回数の多かったレイヤの前後数レイヤから対応テーブルを作成
・実効検出回数、または単位時間あたりの実効検出回数が閾値以上のレイヤから対応テーブルを作成
・誤検出回数、または単位時間あたりの誤検出回数が閾値以下のレイヤから対応テーブルを作成
ただし、対応テーブルの作成方法は任意の方法でよく、これらの方法に限定されるものではない。
【００３４】
図５の記録テーブルに基づいて作成した対応テーブルの例を図６に示す。この例では、実効検出回数をｎ−ｆと定義し、ｎ−ｆが３０以上であるレイヤから対応テーブルを作成している。図６の対応テーブルは、入力画像の全領域において、レイヤ２およびレイヤ３を用いて人体検出を行うことを示している。この対応テーブルを記憶部１０７に記憶する。
【００３５】
以上、評価情報として検出結果が正しいか誤りかという情報を用いた場合の対応テーブルの作成方法を説明した。同様に、評価情報として、検出された物体の向きや、検出された物体の種別などの詳細を用いる場合や、検出の誤りの原因情報を用いる場合にも、任意の方法で対応テーブルを作成できる。例えば、横向きの男性が検出された回数が閾値以上のレイヤのみから対応テーブルを作成するとしてもよい。
【００３６】
次に図７のフローチャートを参照して、人体検出部１０２による全体処理の手順を説明する。
【００３７】
Ｓ７０１において、人体検出部１０２は、処理を継続するか否かを判定する。処理を継続すると判定された場合（Ｓ７０１；ＹＥＳ）、Ｓ７０２へ進む。一方、処理を終了すると判定された場合（Ｓ７０１；ＮＯ）、処理を終了する。
【００３８】
Ｓ７０２において、人体検出部１０２は、図６に示される対応テーブルを記憶部１０７から取得する。Ｓ７０３において、人体検出部１０２は、画像取得部１０１により外部から取得されたレイヤ０（Ｌ０）の画像を取得する。
【００３９】
Ｓ７０４において、人体検出部１０２は、レイヤ０に対して人体検出を行う必要があるか否かを、対応テーブルを参照して判定する。レイヤ０に対して人体検出を行う必要があると判定された場合（Ｓ７０４；ＹＥＳ）、Ｓ７０５へ進む。一方、レイヤ０に対して人体検出を行う必要がないと判定された場合（Ｓ７０４；ＮＯ）、Ｓ７０６へ進む。Ｓ７０５において、人体検出部１０２は、レイヤ０の全領域に対し人体検出処理を行う。
【００４０】
Ｓ７０６−Ｓ７０９は、レイヤ１からレイヤＮまでの各レイヤについて人体検出を行うためのループ処理である。最初はｎ＝１であり、ループを繰り返すごとにｎが１ずつ大きくなる。ｎ＝Ｎのときの処理が完了すると、ループ処理が終了し、Ｓ７１０へ進む。
【００４１】
Ｓ７０６において、人体検出部１０２は、レイヤｎ以降のレイヤの中に、人体検出を行う必要があるレイヤが少なくとも１つ存在するか否かを、対応テーブルを参照して判定する。人体検出を行う必要があるレイヤが１つでも存在すると判定された場合（Ｓ７０６；ＹＥＳ）、Ｓ７０７へ進む。一方、人体検出を行う必要があるレイヤが存在しないと判定された場合（Ｓ７０６；ＮＯ）、ループを抜けて、Ｓ７１０へ進む。例えばｎ＝１、対応テーブルが｛Ｌ２, Ｌ３｝である場合、Ｓ７０６の処理はＹｅｓと判定されて、Ｓ７０７へ進む。
【００４２】
Ｓ７０７において、人体検出部１０２は、レイヤ（ｎ−１）を縮小して、レイヤｎを生成する。Ｓ７０８において、人体検出部１０２は、レイヤｎに対して人体検出を行う必要があるか否かを、対応テーブルを参照して判定する。レイヤｎに対して人体検出を行う必要があると判定された場合（Ｓ７０８；ＹＥＳ）、Ｓ７０９へ進む。一方、レイヤｎに対して人体検出を行う必要がないと判定された場合（Ｓ７０８；ＮＯ）、Ｓ７０９をスキップして次のループに入る。例えばｎ＝１、対応テーブルが｛Ｌ２, Ｌ３｝である場合、Ｓ７０８の処理はＮｏと判定されて、Ｓ７０９をスキップして次のループに入り、Ｓ７０６へ進む。
【００４３】
Ｓ７０９において、人体検出部１０２は、レイヤｎの全領域に対し人体検出処理を行う。Ｓ７１０において、人体検出部１０２は、各レイヤでの人体検出結果の統合処理を行う。統合処理とは、各レイヤでの人体検出結果の位置やサイズに基づいて、元画像における人体の位置・サイズに換算する処理である。その後、Ｓ７０１へ戻る。以上で図７のフローチャートの各処理が終了する。
【００４４】
次に図８のフローチャートを参照して、図７における一つのレイヤに対する人体検出処理サブルーチンＳ７０５およびＳ７０９での処理手順を説明する。Ｓ８０１において、人体検出部１０２は、スキャン処理を継続するか否かを判定する。スキャン処理を継続すると判定された場合（Ｓ８０１；ＹＥＳ）、Ｓ８０２へ進む。一方、スキャン処理を終了すると判定された場合（Ｓ８０１；ＮＯ）、処理を終了する。ここでは、対象レイヤ画像において人体照合パターンを用いたスキャンを画像内の全位置で終えた場合にスキャン処理終了となる。
【００４５】
Ｓ８０２において、人体検出部１０２は、記憶部１０７に記憶されている人体照合パターンを用いて人体検出処理を行い、人体を検知した位置やサイズを出力する。Ｓ８０３において、人体検出部１０２は、人体照合パターンを用いた人体検出処理を行う位置を、画面のラスタスキャン方向へ数ｐｉｘｅｌ（画素）分移動させて、次のスキャン位置へ進める。その後、Ｓ８０１へ戻る。以上で図８のフローチャートの各処理が終了する。
【００４６】
以上説明したように、本実施形態によれば、特定物体の検出処理に誤検出が起こる場合においても、パターンマッチングに用いるレイヤの優先度を適切に決定し、高速な特定物体検出が可能になる。
【００４７】
＜第２実施形態＞
第２実施形態では、入力画像を領域ごとに分割し、各領域それぞれに対して対応テーブルを別々に設定する構成について説明する。画像処理装置の構成およびその他の処理の手順は第１実施形態と同様である。以下では、第１実施形態と同様の部分については説明を省略し、第１実施形態と異なる点のみについて説明する。
【００４８】
図９は、入力画像を領域分割した例を示す図である。図９において、画像９０１は入力された画像である。領域ＩＤ９０２は、入力された画像９０１を縦３分割、横４分割した領域のうち、左上の領域に割り当てたＩＤ（１，１）である。図９の例では左上（１，１）から右下（３，４）まで領域ＩＤを割り当てている。また図９において、撮像した画像に奥行があるため奥の領域ＩＤ（１，３）に位置する人体９０３は小さく、手前の領域ＩＤ（３，１）に位置する人体９０４は大きく撮像されている。
【００４９】
ここで、本実施形態では、画面全体を等間隔に分割し領域を作成しているが、画面全体でなく画面の一部を領域として割り当ててもよい。あるいは、領域は矩形でなくユーザの設定した多角形等どのような形状であってもよい。
【００５０】
図１０は、第２実施形態に係る記録テーブルの例である。図１０の記録テーブルでは、画像特定情報、検出位置特定情報および評価情報を、領域ごとに分けて記録する。例えば、ＩＤ（１,１）で示される領域Ｒ（１,１）に対して、Ｌ０では評価情報の統計は（ｎ,ｐ,ｆ）＝（５,３,１）である。ただし、画像特定情報、検出位置特定情報等、各検出イベントに対する詳細情報は省略してありその詳細については図３、図５と同様である。
【００５１】
図１１は、第２実施形態に係る対応テーブルの例である。本実施形態では、画面上の領域ごとに、レイヤ設定部１０６を用いて対応テーブルを求める。この例では、領域Ｒ（１,１）ではどのレイヤに対しても人体検出を行わない。また、領域Ｒ（１,２）乃至Ｒ（１,４）ではレイヤ０およびレイヤ１に対して人体検出を行う。領域Ｒ（２,１）乃至Ｒ（２,４）ではレイヤ１およびレイヤ２に対して人体検出を行う。領域Ｒ（３,１）乃至Ｒ（３,４）ではレイヤ３およびレイヤ４に対して人体検出を行う。
【００５２】
次に図１２のフローチャートを参照して、人体検出部１０２による全体処理の手順を説明する。図１２の各処理のうち、Ｓ１２０１、Ｓ１２０３、Ｓ１２０７、Ｓ１２１０の各処理は、図７のＳ７０１、Ｓ７０３、Ｓ７０７、Ｓ７１０の各処理と同様であるため説明を省略する。Ｓ１２０２において、人体検出部１０２は、図１１に示される対応テーブルを記憶部１０７から取得する。
【００５３】
Ｓ１２０４において、人体検出部１０２は、レイヤ０の中に人体検出処理を行うことになっている領域が少なくとも１つ存在するか否かを、図１１に示される対応テーブルを参照して判定する。領域が１つでも存在すると判定された場合（Ｓ１２０４；ＹＥＳ）、１２０５へ進む。一方、領域が存在しないと判定された場合（Ｓ１２０４；ＮＯ）、１２０６へ進む。
【００５４】
Ｓ１２０５において、人体検出部１０２は、レイヤ０に対して人体検出処理を行う。Ｓ１２０６において、人体検出部１０２は、レイヤｎ以降のレイヤの中に、人体検出処理を行う必要のある領域が少なくとも１つ存在するか否かを、対応テーブルを参照して判定する。少なくとも１つ存在すると判定された場合（Ｓ１２０６；ＹＥＳ）、Ｓ１２０７へ進む。一方、存在しないと判定された場合（Ｓ１２０６；ＮＯ）、途中でループを抜けてＳ１２１０へ進む。
【００５５】
Ｓ１２０８において、人体検出部１０２は、レイヤｎについて人体検出処理を行う必要のある領域が少なくとも１つ存在するか否かを、対応テーブルを参照して判定する。領域が１つでも存在すると判定された場合（Ｓ１２０８；ＹＥＳ）、Ｓ１２０９へ進む。一方、領域が存在しないと判定された場合（Ｓ１２０９；ＮＯ）、Ｓ１２０９の処理をスキップして次のループに入る。Ｓ１２０９において、人体検出部１０２は、レイヤｎの人体検出処理を行う必要のある領域に対し人体検出処理を行う。以上で図１２のフローチャートの各処理が終了する。
【００５６】
次に図１３のフローチャートを参照して、図１２における一つのレイヤに対する人体検出処理サブルーチンＳ１２０５およびＳ１２０９での処理手順を説明する。図１３の各処理のうちＳ１３０３の処理は、図８のＳ８０２の処理と同様であるため説明を省略する。
【００５７】
Ｓ１３０１において、人体検出部１０２は、スキャン処理を終了するか否かを判定する。スキャン処理を終了すると判定された場合（Ｓ１３０１；ＹＥＳ）、処理を終了する。一方、スキャン処理を継続すると判定された場合（Ｓ１３０１；ＮＯ）、Ｓ１３０２へ進む。ここでは、対象レイヤ画像について人体検出処理を行うことになっている領域内の全位置において、人体照合パターンを用いた人体検出をすべて終えた場合に終了となる。
【００５８】
Ｓ１３０２において、人体検出部１０２は、現在照合を行っている画面内のスキャン位置が属する領域（図９に示されるような分割領域）が、人体検出を行う対象となっているか否かを、対応テーブルを用いて判定する。現在の領域が人体検出の対象となっていると判定された場合（Ｓ１３０２；ＹＥＳ）、Ｓ１３０３へ進む。一方、人体検出の対象となっていない場合（Ｓ１３０２；ＮＯ）、Ｓ１３０４へ進む。
【００５９】
Ｓ１３０４において、人体検出部１０２は、次のスキャン位置へ進める処理を行い、Ｓ１３０１へ戻る。次のスキャン位置は、Ｓ１３０２でレイヤが検出対象に該当している場合には画面のラスタスキャン方向へ数ｐｉｘｅｌ照合パターンを移動させる。Ｓ１３０２でレイヤが検出対象に該当していなかった場合には該当している場合と同様の処理を行ってもよいが、ラスタスキャン方向の次の分割領域位置まで次スキャン位置を進めるようにしてもよい。このような処理を行うことで、同一分割領域内の人体検出処理を一括して省略することが可能となる。以上で図１３のフローチャートの各処理が終了する。
【００６０】
以上説明したように、本実施形態によれば、画面を領域で分割し、領域ごとにパターンマッチングに用いるレイヤの優先度を適切に決定することによって、高速な特定物体検出が可能になる。
【００６１】
本発明によれば、過去の所定の期間における特定物体検出部の処理レイヤごとの検出結果を保持する検出記録テーブルに対し、評価情報を付与することで、誤検出結果を取り除き、物体検出を行うレイヤを適切に選択できるようになる。従って、監視カメラ等から得た映像において特定物体が頻繁に誤検出される場合であっても、高速に物体検出処理を行うことが可能になる。
【００６２】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005924991.tif 000002
【図２】
0005924991.tif 000003
【図３】
0005924991.tif 000004
【図４】
0005924991.tif 000005
【図５】
0005924991.tif 000006
【図６】
0005924991.tif 000007
【図７】
0005924991.tif 000008
【図８】
0005924991.tif 000009
【図９】
0005924991.tif 000010
【図１０】
0005924991.tif 000011
【図１１】
0005924991.tif 000012
【図１２】
0005924991.tif 000013
【図１３】
0005924991.tif 000014