画像処理装置及びその制御方法
【課題】 監視対象オブジェクトの個数に上限値を設けながらも、オブジェクト数の個数が上限値以上になった場合であっても、監視対象オブジェクトを含まない特定領域が発生することを抑制する。
【解決手段】 撮像して得られた画像内を解析し、許容最大数Nmax以下の個数であって、予め設定された最小検知サイズ以上のサイズを持つオブジェクトを検出する(S102)。そして、認識されたオブジェクトの数が、許容最大数Nmax以上になった場合には前記最小検知サイズをより大きなサイズに変更する(S105)。また、認識されたオブジェクトの数が、目標最小数Nmin以下になった場合には最小検知サイズをより小さな値に変更する(S107)。
【解決手段】 撮像して得られた画像内を解析し、許容最大数Nmax以下の個数であって、予め設定された最小検知サイズ以上のサイズを持つオブジェクトを検出する(S102)。そして、認識されたオブジェクトの数が、許容最大数Nmax以上になった場合には前記最小検知サイズをより大きなサイズに変更する(S105)。また、認識されたオブジェクトの数が、目標最小数Nmin以下になった場合には最小検知サイズをより小さな値に変更する(S107)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理装置及びその制御方法、特に画像上のオブジェクト認識技術に関するものである。
【背景技術】
【0002】
近年、インターネットなどIP(Internet Protocol)ネットワークを利用した配信システムが増加してきており、スキー場や動物園の状況を配信するインターネットサイトや、店舗・ビル監視などにも採用されている。例えば、店舗監視やビル監視においては、撮像した画像を解析して特定の事象を検知し、事象が発生した際の画像を蓄積したり、管理者が閲覧・確認するということが行われている。
【0003】
画像解析する特定の事象としては、例えば、撮像画像上に物体が出現したかどうかを検知する物体検知や、カメラ制御と連動して検知物体を追いかける物体追尾が含まれる。また、不審物等が置かれたことを検知する置き去り検知、監視対象が持ち去られたことを検知する持ち去り検知、または撮像画像からネットワークカメラに対していたずらがされたことを検知するいたずら検知等も含まれる。
【0004】
例えば、特許文献1ではデジタルカメラにおける顔検出方法が開示されている。 特許文献1では顔検出モードを予め2つ設定しておき、ユーザー操作により切り替える、または周期的に別の顔検出モードを実行して自動で切り替える方法が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−289006号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
前提として、常に撮像した画像を解析しながら、画像データを配信するためには、画像解析処理を一定時間内に完了させる必要がある。画像解析処理を一定時間内に抑えるため、画像解析処理量を物体として認識する最小検知サイズと、認識できる最大物体数により制限することはネットワークカメラのような組み込み機器では非常に有効である。ここで、物体の検出は画像中のラスタースキャン順など、予め設定されたスキャン方向に沿って行っていく。それ故、撮影画像上に最大物体数を超えた場合は、スキャンの終端付近には、物体の認識処理されない領域ができてしまう。画像認識処理がされない領域がいつも同じ位置に発生する可能性が高まることは、ネットワークカメラのような監視用途で用いられる機器の場合では特に問題となる。
【0007】
上述の特許文献に開示された従来技術では、2段階で最小検知サイズと最大物体数の組み合わせを変更できるが、最大物体数を超えた場合に物体認識処理ができない領域ができてしまうことは防ぐことはできない。
【0008】
本発明は、監視対象オブジェクトの個数に上限値を設けながらも、オブジェクト数の個数が上限値以上になった場合であっても、監視対象オブジェクトを含まない特定領域が発生することを抑制する技術を提供しようとするものである。
【課題を解決するための手段】
【0009】
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
撮像装置により撮像された画像中の監視対象オブジェクトを検出し、撮像した画像並びに検出した監視対象オブジェクトに関する情報をネットワークを介して配信する画像処理装置であって、
監視対象オブジェクトの許容最大数Nmax、及び、目標最小数Nminを設定する設定手段と、
前記撮像装置で得られた撮像画像内を解析し、前記許容最大数Nmax以下の個数であって、予め設定された最小検知サイズ以上のサイズを持つオブジェクトを検出し、検出したオブジェクトに関する情報を生成するオブジェクト認識手段と、
前記撮像画像と前記オブジェクト認識手段で得られた情報をネットワークに配信する配信手段と、
前記オブジェクト認識手段で認識されたオブジェクトの数が、前記許容最大数Nmax以上になった場合には前記最小検知サイズをより大きなサイズに変更し、前記オブジェクト認識手段で認識されたオブジェクトの数が、前記目標最小数Nmin以下になった場合には前記最小検知サイズをより小さな値に変更する更新手段とを備える。
【発明の効果】
【0010】
本発明によれば、監視対象オブジェクトの個数に上限値を設けながらも、オブジェクト数の個数が上限値以上になった場合であっても、監視対象オブジェクトを含まない特定領域が発生することを抑制することが可能になる。
【図面の簡単な説明】
【0011】
【図1】画像解析プログラムのフローチャート。
【図2】システム構成図。
【図3】カメラサーバのハードウェア構成図。
【図4】カメラサーバのソフトウェア構成図。
【図5】第1の実施形態における撮像画像の例を示す図。
【図6】第1の実施形態における物体認識処理を示すフローチャート。
【図7】第2の実施形態における撮影画像の例を示す図。
【図8】第2の実施形態における物体認識処理を示すフローチャート。
【図9】クライアントのハードウェア構成図。
【図10】クライアントのソフトウェア構成図。
【図11】第3の実施形態における画像解析処理を示すフローチャート。
【図12】第3の実施形態におけるクライアントの処理を示すフローチャート。
【発明を実施するための形態】
【0012】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【0013】
[システム構成]
図2は本発明の実施形態にかかわるシステム構成図である。カメラサーバ200ならびにクライアント220がネットワーク230を介して相互に接続される。カメラサーバ200は撮影画角(パン、チルト、ズーム)が固定されているカメラを備え、撮影した画像データをネットワーク230を介して配信するものである。クライアント220はカメラサーバ200にアクセスし、画像を取得し、表示する。それぞれの詳細については後述する。
【0014】
なお、図2では、説明の簡略化のためにカメラサーバは1台としているが、2台以上であっても構わない。また、カメラサーバが有するカメラは画角固定とするのではなく、画角可変でも構わない。また、またクライアント220以外にもカメラサーバ200にアクセスして画像の受信や蓄積を行う他のクライアントがあっても構わない。更に、ネットワーク203はEthernet(登録商標) 等の通信規格を満足する複数のルータ、スイッチ、ケーブル等から構成される。本発明においては、各サーバ・クライアント間の通信が支障なく行えるものであればその通信規格、規模、構成を問わない。故にインターネットからLAN (Local Area Network)にまで適用可能である。
【0015】
図3は画像処理装置としてのカメラサーバ200のハードウェアブロック構成図である。図示の如く、CPU300。1次記憶装置310、2次記憶装置320、画像キャプチャI/F330、ネットワークI/F360が内部バス301を介して相互に接続されている。ここで1次記憶装置310はRAMに代表される書き込み可能な高速の記憶装置で、OSや各種プログラム及び各種データがロードされ、またOSや各種プログラムの作業領域としても使用される。
【0016】
2次記憶装置320はFDDやHDD、フラッシュメモリ、CD-ROMドライブ等に代表される不揮発性を持った記憶装置である。この2次記憶装置320には、OSや各種プログラム及び各種データの永続的な記憶領域として使用される他に、短期的な各種データの記憶領域としても使用される。カメラサーバ200の1次記憶装置310及び2次記憶装置320に置かれる各種プログラム等の詳細については後述する。
【0017】
画像キャプチャI/F330にはカメラ370が接続され、カメラ370が撮影した画像データを所定のフォーマットに変換して1次記憶装置310に転送し、記憶する。ネットワークI/F360は前述のネットワーク230と接続するためのインタフェースであり、Ethernet等の通信媒体を介してクライアント220等との通信を担う。
【0018】
図4は、1次記憶装置310にロードされ、カメラサーバ200のCPU300が実行するソフトウェア構成を示している。1次記憶装置310上には、OS(オペレーティングシステム)400、撮像処理プログラム410、画像解析プログラム411、配信処理プログラム412、及び一時記憶部413がロードされる。OS400は、カメラサーバ全体を制御する基本プログラムである。撮像処理プログラム410は、カメラ370で生成された画像フレームを画像キャプチャI/F 330を経由して取得し、一時記憶部413に保存する。画像解析プログラム411は、2次記憶装置320に保存されている画像解析に関連する設定情報を一時記憶部413にロードする。また、画像解析プログラム411は、一時記憶部413に保存している画像フレームを解析し、画像上のどこにどんな形の物体がどれぐらいの時間存在しているのか、といった情報を一時記憶部413に保存する。また、予め設定された1つまたは複数の閾値を越えたことにより特定の事象が発生したことを検出した場合にも、一時記憶部413に保存する。なお、画像解析プログラム411が、画像フレームを2次記憶装置320に保存(記録)するとき、その画像フレームを所定の符号化アルゴリズムに従って符号化するものとする。また、画像解析プログラム411は、クライアントから新たな設定情報をネットワークI/F360を通して受信した場合は、一時記憶部413と必要であれば2次記憶装置320に保存し、新しい設定情報を用いて画像解析を開始する。
【0019】
配信処理プログラム412は、各種クライアントからのリクエストに応じ、一時記憶部413に保存されている符号化された画像フレームと画像解析結果を、ネットワークI/F360制御し通信媒体230を介して各種クライアントへ送り届ける。各プログラム同士の連携は、必要に応じてOS400が提供する機能を用いることとする。
【0020】
以下、本発明にかかるカメラサーバ200の処理の詳細を説明する。本実施形態においては、監視対象となるオブジェクト(以下、単に監視対象オブジェクトという)として認定する際の最小下限サイズをSminとする。また、監視対象オブジェクトの許容最大数をNmaxとし、最小でもこれだけの個数を検出しようとする個数(目標最小数)をNminとする条件を持っているものとして説明する。なお、オブジェクトのサイズとは、そのオブジェクトの外接矩形の面積(画素数)とするが、その尺度はどのようなものであっても良い。
【0021】
上記の条件の下、本実施形態では、監視対象として認識すべきオブジェクトの最小検知サイズを、オブジェクトの数に応じて動的に変更させる。この動的に変更させる最小検知サイズをScと表わす。ただし、最小検知サイズScが下限サイズSminより小さくなることはない。
【0022】
通常、撮像画像内に監視対象となるオブジェクトを決定していくとき、何らかの順番に従う。一般的には、ラスタースキャン順であるので、本実施形態でもラスタースキャン順に監視対象オブジェクトを決定するものとして説明する。
【0023】
図5(a)は、上記条件の下で、或る最小検知サイズSc以上のサイズを持つオブジェクトを監視対象オブジェクトとして決定していき、その数が許容最大数Nmaxとなった場合に、それ以降の処理を打ち切った例を示している。
【0024】
実施形態では、許容最大数Nmax=32の例を説明しているので、33個目以降に、仮に十分に大きなサイズのオブジェクトと存在したとしても、それらは監視対象から除外される。従って、許容最大数Nmaxを超える数のオブジェクトが存在する限りは、図5(a)のように、画像フレームの右下の領域501内のオブジェクトが常に監視対象外となってしまう。このような場合は、オブジェクトを認識する最小検知サイズScを大きくし、監視対象オブジェクトの数が少なくなるように制御すると有効である。
【0025】
図5(b)は、最小検知サイズScを所定サイズΔsだけ増加させた場合の例を示している。図示の場合、最小検知サイズScを大きくさせることで、監視対象となるオブジェクトの数が18個となったが、特定の領域(実施形態では、画像の右下の領域)内のオブジェクトが監視対象オブジェクトから排除されることがなくなっている。
【0026】
図1は、本第1の実施形態におけるCPU300が実行する画像解析プログラム411の処理手順を示すフローチャートである。なお、この処理は、電源投入時、或いは、クライアント等からの画像取得要求により起動するものである。
【0027】
CPU300は、画像解析プログラム411を実行すると、撮像処理プログラム410により一時記憶部413に画像フレームを生成、格納されるのを待つ(ステップS101)。画像フレームが生成されると、生成された画像フレーム内のオブジェクトを認識するオブジェクト認識処理を行う(ステップS102)。ステップS102では、最小検知サイズSc以上のオブジェクトの個数を数えていき、許容最大数Nmax以下のオブジェクトについては監視対象のオブジェクトとして決定する。そして、フレーム中の各オブジェクトの大きさ、位置、どのぐらいの期間存在しているのか、といった情報(以下、メタ情報と記載)を一時記憶部413に出力する。ただし、許容最大数Nmaxを超えた分のオブジェクトについては、メタ情報の記憶処理は行なわない。このステップS102の詳細内容は、後述する。
【0028】
なお、最小検知サイズSc以上のオブジェクトの個数のカウント処理が終了するのは、許容最大数Nmaxで示される個数目のオブジェクトが認識できたとき、或いは、許容最大数Nmax未満のまま、画像全体のオブジェクトの認識処理が完了した場合である。いずれの場合であっても、検出した個数は、後述するS104の判断処理で再度判断するので、CPU300は、一時記憶部413内の適当なアドレスにその個数を書き込むものとする。
【0029】
また、個々の監視対象オブジェクトが存在した期間を把握するには、連続するフレーム間で同じオブジェクトとして見なすための条件付けが必要になる。実施形態では、着目フレームと当該着目フレームの直前のフレームとの間において、予め設定された距離以下で、サイズの変化も所定閾値以下のオブジェクトを同一オブジェクトして認定するようにした。そして、監視対象として決定され、同一オブジェクトとして認定され続けている期間を、上記の画像中に存在し続けている期間とした。
【0030】
次に、一時記憶部413上のメタ情報を元にオブジェクト検知、置き去り検知、持ち去り検知、またはいたずら検知等の特定事象が発生していないかを検出する(ステップS103)。特定の事象を検出した場合は、本ステップにおいてクライアントや予め設定された管理者用の端末(不図示)に特定事象を通知する。或いは、一次記憶装置310または二次記憶装置320に本事象が発生したことを保存しておく。ステップS103は必ずしも必須ではないが、本実施形態全体を通してより自然に説明するためにここで記載する。
【0031】
そして、一時記憶部413上のメタ情報を参照し、画像フレーム上のオブジェクト数が許容最大数Nmax超えているかどうかを判定する(ステップS104)。
【0032】
オブジェクト数が許容最大数Nmaxを到達したと判断した場合、オブジェクト認識処理S102で参照する最小検知サイズScを現在の値よりΔS大きく設定する(ステップS105)。このΔSはカメラの性能(撮像解像度、倍率)や、カメラの設置目的に応じて決定すれば良いであろう。ΔSは固定ではなく、その他のアルゴリズムにより動的に変化させるようにしても構わない。これにより、次回の画像解析処理から現在認識している最小オブジェクトを除くことができ、オブジェクト数を減らすことができる。ステップS105の後は、再度画像生成待ちS101に戻る。
【0033】
さて、ステップS104において、オブジェクト数が許容最大数Nmaxより少ないと判断された場合、今度はオブジェクト数が目標最小数Nmin以下であるかどうかを判定する(ステップS106)。目標最小数Nmin以下であると判断した場合、これは撮影画像上にオブジェクトがほとんど存在しない状態を示している。そこで、最小検知サイズScからΔSだけ減じて、その値を小さくし(S107)、画像生成待ち(ステップS101)に戻る(ただし、先に説明したように最小検知サイズScがSminより小さくなることはない)。この結果、より多くのオブジェクトを監視対象として決定し易くすることが可能になる。
【0034】
図6は、画像解析プログラム411のオブジェクト認識処理(ステップS102)のフローチャートである。
【0035】
本実施形態では、オブジェクトの認識処理を背景差分法により実現する。すなわち、管理すべきオブジェクトが無い状態を撮影し、それを背景画像として保持しておく。そして、現実に撮影した画像との背景画像との差分を求め、異なる部分をオブジェクト候補として決定する。ただし、背景差分法以外にも、フレーム間差分等、別のオブジェクト認識アルゴリズムに適用することも可能である。
【0036】
オブジェクト認識処理(ステップS102)を実行する際は、引数として最小検知サイズScと最大オブジェクト数であるNmaxを指定する。
【0037】
オブジェクト認識処理(ステップS102)が実行されると、CPU300は、まずローカル変数の認識オブジェクトを係数するための変数iをゼロに設定(ステップS601)し、一時記憶部413のメタ情報を初期化する(ステップS602)。次に、予め記憶していた背景画像(2次記憶装置320に記憶されているものとする)と、新に生成された画像フレームに差分があるかどうかを判定する(ステップS603)。背景画像との差分があった場合は、その差分領域が最小検知サイズSc以上かどうかを判定する(ステップS604)。
【0038】
最小検知サイズScより小さい場合は、背景画像と次の差分を調べるためステップS603に戻る。この時、画像解析プログラム411が最小検知サイズを変更する際に参照できるように差分領域のサイズを一時記憶部413に保存しておいてもよい。
【0039】
ステップS604において差分領域が最小検知サイズSc以上の場合は、そのオブジェクト情報をメタ情報として保存(ステップS605)し、認識オブジェクト数を1加算する(ステップS606)。そして、認識オブジェクト数が許容最大数Nmax以上になったかを判定する(ステップS607)。許容最大数Nmax以上ではない場合、背景画像と次の差分を調べるためにステップS603に戻る。
【0040】
ステップS607において許容最大数Nmax以上になった、もしくはステップS603において背景画像との差分がないと判定した場合は、認識オブジェクト数をメタ情報として一時記憶部413に保存(ステップS608)する。
【0041】
このように、認識できるオブジェクトの最大数の制限がある場合でも、撮影シーン毎にオブジェクトの最小検知サイズを大きくしていくことによってオブジェクト認識処理ができない領域をなくすことができる。逆に最小検知サイズを小さくしていくことによってオブジェクト認識感度を上げることもできる。
【0042】
以上説明したように本第1の実施形態によれば、監視対象オブジェクトの許容最大数Nmax以上のオブジェクトを検出した場合、監視対象のオブジェクトとして認定するための最小検知サイズを大きくなるように更新する。この結果、画像中の特定領域内のオブジェクトが監視対象外とされることを抑制できるようになる。
【0043】
なお、上記実施形態ではカメラサーバのカメラの画角(パン角、チルト角、ズーム倍率)が固定であるものとして説明したが、その中の一部もしくは全部が可変であっても構わない。各画角で撮影した画像を背景画像として不揮発性メモリ(ハードディスク等)記憶しておき、現在の画角から該当する背景画像を決定し、現画角の画像フレームと背景画像との差分を算出するようにすれば良い。かかる点は、以下に説明する第2の実施形態以降でも同様である。
【0044】
また、実施形態ではフレーム画像を差分からオブジェクトの有無を判定し、その後に符号化してその画像を蓄積するものとして説明した。しかし、符号化データにした後にオブジェクトの有無を判定するものとしても構わない。たとえば、各フレームをJPEG符号化する場合、異なるフレーム間で同じ位置のブロック(8×8画素)の符号化データに違いがある場合には、その領域の画像には何らかの差が生じたと判断できる。すなわち、この場合に現フレームの着目ブロックは動体の一部にあると判断できる。これは以下に説明する他の実施形態でも同じである。
【0045】
[第2の実施形態]
以下、本発明に係る第2の実施形態を詳細に説明する。図7は、監視エリアにオブジェクト検知エリアと置き去り検知エリアを設定した場合の撮影画像である。ここで記載している置き去り検知エリアとは、ユーザーが撮影画面上で予め指定したオブジェクトが置き去りされる可能性がある領域のことである。
【0046】
図7は、監視エリアを撮影した撮影画像700上に、オブジェクト検知エリア701と置き去り検知エリア702が設定されており、各検知エリア上のオブジェクトのみ認識していることを示している。このため、非設定エリア703は、オブジェクト認識対象外エリアとしてオブジェクトの認識は行われない。このように、本第2の実施形態は、特定事象の検出に必要な検知エリア上に存在するオブジェクトを認識対象とするものである。このため、カメラの撮影視野範囲のどの部分を非検知エリアとするか等の設定と、設定した情報(検知エリア、非検知エリアの座標)を2次記憶装置320に格納するエリア設定ソフトウェアを有するものとする。
【0047】
画像解析プログラム411自体のフローチャートは、本第2の実施形態では、図1と同じでもよいし、図1におけるステップS101、ステップS102、及びステップS103だけのループ処理でもよいため省略する。異なる点は、画像解析プログラム411である。
【0048】
図8は、本第2の実施形態における画像解析プログラム411のオブジェクト認識処理(ステップS102)のフローチャートである。図8におけるS801〜S808で示される各処理ステップは、第1の実施形態の図6のS601〜S608の各処理ステップと同じである。異なるのは、オブジェクト情報の保存(S805)、オブジェクト数をカウントアップする処理(S806)に移行する条件を1つ増やした点である。すなわち、対象となるオブジェクトが、監視対象のオブジェクトが存在し得る領域として設定された検知エリア内であるかエリア外であるかの判定ステップS810を追加した。
【0049】
本第2の実施形態では、検知エリア内でなければオブジェクトとして認識しなかったが、検知エリア内でなければ現在の最小検知サイズより大きい第二の最小検知サイズと比較し、第二の最小検知サイズ以上の場合はオブジェクトとして認識してもよい。
【0050】
このように、認識できるオブジェクトの最大数の制限がある場合でも、特定事象の検出に必要な検知エリア上に存在するオブジェクトのみを認識することで、オブジェクト認識処理ができない領域をなくすことができる。また、第1、第2の実施形態は排他的な関係ではなく、第1,第2の実施形態のオブジェクト認識処理を途中で切り替える、または同時に実施してもよい。
【0051】
[第3の実施形態]
以下、本発明の第3の実施形態を詳細に説明する。図9は本第3の実施形態におけるクライアント220のハードウェア構成図である。図示の如く、クライアント220は、CPU900、1次記憶装置910、2次記憶装置920、ユーザー入力I/F 930、ユーザー出力I/F 940、ネットワークI/F 960、及び、各構成要素を接続する内部バス901で構成される。
【0052】
ここで1次記憶装置910はRAMに代表される書き込み可能な高速の記憶装置で、OS(オペレーティングシステム)や各種プログラム及び各種データがロードされ、またOSや各種プログラムの作業領域としても使用される。2次記憶装置920はFDDやHDD、フラッシュメモリ、CD-ROMドライブ等に代表される不揮発性を持った記憶装置で、OSや各種プログラム及び各種データの永続的な記憶領域として使用される他に、短期的な各種データの記憶領域としても使用される。クライアント220の1次記憶装置910及び2次記憶装置920に置かれる各種プログラム等の詳細については後述する。ユーザー入力I/F 930にはキーボード、マウス等で代表されるユーザー入力機器970が接続され、ユーザーからの入力を司る。ユーザー出力I/F 940にはディスプレイ等で代表されるユーザー出力機器980が接続され、ユーザーへ出力を司る。ネットワークI/F 960は前述のネットワーク230と接続するためのI/Fであり、Ethernet等の通信媒体を介してカメラサーバ200等との通信を担う。
【0053】
図10は、本第3の実施形態におけるクライアント220のソフトウェア構成図である。1次記憶装置910上には、クライアント全体を制御する基本プログラムであるOSを始め、入力制御プログラム1010、クライアントプログラム1011、受信処理プログラム1012、出力制御プログラム1013、及び、一時記憶部1014がロードされる。
【0054】
入力制御プログラム1010は、ユーザーがキーボードやマウスなど入力機器930を操作したことにより、クライアントプログラム1011を起動する。本実施形態では、ユーザーがキーボードやマウスなどを直接操作すると説明したが、ネットワーク経由の操作や、自動実行プログラムでも実現可能である。クライアントプログラム1011は、カメラサーバ200から配信される画像フレームや画像解析結果を取得するため受信処理プログラム1012を起動する。また、入力制御プログラム1010を経由してユーザーが決定した情報をカメラサーバ200に送信する。受信処理プログラム1012は、ネットワークI/F960を制御し、通信媒体230を介してカメラサーバ200から画像フレームや画像解析結果を受信し、一時記憶部1014に保存する。出力制御プログラム1013は、受信処理プログラム1012やクライアントプログラム1011の指示に従い、画像フレームや解析領域等の情報をディスプレイ等の出力機器980に表示する。各プログラム同士の連携は、必要に応じてOSが提供する機能を用いることとする。
【0055】
図11は、本第3の実施形態におけるカメラサーバ200における画像解析プログラム411のフローチャートである。なお、カメラサーバ200のハードウェア構成は第1の実施形態と同じとしている。
【0056】
CPU300は、電源投入、またはクライアント等からの画像取得要求により画像解析プログラム411を実行する。画像解析プログラム411が起動すると、CPU300は、撮像処理プログラム410により、一時記憶部413に画像フレームを生成するのを待つ(ステップS1101)。画像フレームが生成されると、生成された画像フレームに対するオブジェクト認識処理を行う(ステップS1102)。ステップS1102において、最小検知サイズSc以上のオブジェクトの個数を許容最大数Nmaxまで数え、オブジェクトの大きさ、位置、どのぐらいの期間存在しているのか、といった情報(以下、メタ情報と記載)を一時記憶部413に出力する。
【0057】
次に、一時記憶部413上のメタ情報を元にオブジェクト検知、置き去り検知、持ち去り検知、またはいたずら検知等の特定事象が発生していないかを検出する(ステップS1103)。特定の事象を検出した場合は、本ステップにおいてクライアントに特定事象を通知する、または、一次記憶装置310または二次記憶装置320に本事象が発生したことを保存しておく。ステップS1103は必ずしも必須ではないが、本代3の実施形態全体を通してより自然に説明するためにここで記載する。
【0058】
そして、一時記憶部413上のメタ情報を参照し、画像フレーム上のオブジェクト数が上限閾値Nmax以上になったかどうかを判定する(ステップS1104)。オブジェクト数が上限閾値Nmax30以上の場合は、クライアント220にオブジェクト数オーバーフロー通知を送信する(ステップS1105)。このステップS1105の後は、再度画像生成待ちS1101に戻る。
【0059】
なお、オブジェクト数オーバーフロー通知には、少なくとも現在のオブジェクト数を含み、その他、上限閾値Nmax、推奨最小検知サイズSc’等を含んでもよい。推奨最小検知サイズSc’は、現在の最小検知サイズScより大きい値である。なお、この推奨最小検知サイズSc’の算出アルゴリズムは、現在の最小検知サイズに固定サイズだけ増加した値、またはその他のアルゴリズムにより動的に増やした値であり、通知に含める推奨最小検知サイズSc’の個数は単数でも複数でもよい。
【0060】
一方、ステップS1104において、オブジェクト数が上限閾値Nmaxより小さい場合、今度はオブジェクト数が下限閾値Nmin以下かどうかを判定する(ステップS1106)。ステップS1106において下限閾値Nmin以下と判定した場合、これは撮影画像上にオブジェクトがほとんど存在しない状態を示している。そこで、クライアント220にオブジェクト数アンダーフロー通知を送信(ステップS1107)し、画像生成待ち(ステップS1101)に戻る。オブジェクト数アンダーフロー通知には、少なくとも現在のオブジェクト数を含み、その他、下限閾値Nmax、推奨最小検知サイズSc’を含んでもよい。
【0061】
なお、オブジェクト数アンダーフロー通知には、少なくとも現在のオブジェクト数を含み、その他、下限値Nmin、推奨最小検知サイズSc’等を含んでもよい。推奨最小検知サイズSc’は、現在の最小検知サイズScより小さい値である。なお、この推奨最小検知サイズSc’の算出アルゴリズムは、現在の最小検知サイズに固定サイズだけ減じた値、またはその他のアルゴリズムにより動的に減じた値であり、通知に含める推奨最小検知サイズSc’の個数は単数でも複数でもよい。
【0062】
図12は、本第3の実施形態におけるクライアント220におけるクライアントプログラム1011のフローチャートである。
【0063】
クライアントプログラム1011はユーザーからのその起動指示があった場合、CPU900が起動することになる。このクライアントプログラム1011は起動すると、受信処理プログラム1012も起動する(ステップS1201)。受信処理プログラム1012は、カメラサーバ200に画像取得要求を送信し、受信した画像フレームをディスプレイ等の出力機器980に出力する。
【0064】
次に、クライアントプログラム1011はイベントが生成されるのを待つ(ステップS1202)。ステップS1202では、カメラサーバ200からオブジェクト数が上限閾値を超えたことを意味するオブジェクト数オーバーフロー通知の受信、オブジェクト数が下限閾値を下回ったことを意味するオブジェクト数アンダーフロー通知の受信、またはユーザーからの入力イベントが発生するのを待つ。
【0065】
カメラサーバ200からのオブジェクト数オーバーフロー通知を受信した場合、通知メッセージに含まれる推奨最小検知サイズSc’を表示する(ステップS1204)。表示する推奨サイズは単数でも複数でもよく、ユーザーが直接サイズを指定できるように表示してもよい。なお、本第3の実施形態では、推奨最小検知サイズSc’はカメラサーバ200から受信するとしたが、クライアントプログラム1011が独自に値を決めて表示してもよい。
【0066】
一方、カメラサーバ200からのオブジェクト数アンダーフロー通知を受信した場合も同様に、通知メッセージに含まれる推奨最小検知サイズSc’を表示する(ステップS1205)。表示する推奨サイズは単数でも複数でもよく、ユーザーが直接サイズを指定できるように表示してもよい。
【0067】
オブジェクト数が上限値Nmax以上になった、或いは、オブジェクト数がNmin以下になったとき、推奨最小検知サイズにするように促す表示がなされる。従って、クライアントのユーザは、キーボードやマウス等の入力機器970を操作して、現在の設定情報(最小検知サイズ)の編集を行うイベントを発生させることができる。この場合、ユーザは、選択、または直接指定した最小検知サイズを設定変更通知としてカメラサーバ200に送信する(ステップS1206)。これにより、ユーザーが指示した最小検知サイズでカメラサーバ200が画像認識処理S102を行うことができる。そして、再度ステップS1202に戻る。
【0068】
本第3の実施形態では、オブジェクト数のオーバーフロー通知とアンダーフロー通知をカメラサーバ200が画像とは別々に送信するとしたが、別々ではなく画像フレーム中に含めてもよい。
【0069】
このように、カメラサーバ200が認識するオブジェクトの最小検知サイズを自動で変更するのではなく、クライアント220と連携しユーザーが最小検知サイズを指定する。これにより、オブジェクト認識処理ができない領域をなくしたり、またはオブジェクト認識感度を上げることができる。
【0070】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【0071】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は画像処理装置及びその制御方法、特に画像上のオブジェクト認識技術に関するものである。
【背景技術】
【0002】
近年、インターネットなどIP(Internet Protocol)ネットワークを利用した配信システムが増加してきており、スキー場や動物園の状況を配信するインターネットサイトや、店舗・ビル監視などにも採用されている。例えば、店舗監視やビル監視においては、撮像した画像を解析して特定の事象を検知し、事象が発生した際の画像を蓄積したり、管理者が閲覧・確認するということが行われている。
【0003】
画像解析する特定の事象としては、例えば、撮像画像上に物体が出現したかどうかを検知する物体検知や、カメラ制御と連動して検知物体を追いかける物体追尾が含まれる。また、不審物等が置かれたことを検知する置き去り検知、監視対象が持ち去られたことを検知する持ち去り検知、または撮像画像からネットワークカメラに対していたずらがされたことを検知するいたずら検知等も含まれる。
【0004】
例えば、特許文献1ではデジタルカメラにおける顔検出方法が開示されている。 特許文献1では顔検出モードを予め2つ設定しておき、ユーザー操作により切り替える、または周期的に別の顔検出モードを実行して自動で切り替える方法が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−289006号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
前提として、常に撮像した画像を解析しながら、画像データを配信するためには、画像解析処理を一定時間内に完了させる必要がある。画像解析処理を一定時間内に抑えるため、画像解析処理量を物体として認識する最小検知サイズと、認識できる最大物体数により制限することはネットワークカメラのような組み込み機器では非常に有効である。ここで、物体の検出は画像中のラスタースキャン順など、予め設定されたスキャン方向に沿って行っていく。それ故、撮影画像上に最大物体数を超えた場合は、スキャンの終端付近には、物体の認識処理されない領域ができてしまう。画像認識処理がされない領域がいつも同じ位置に発生する可能性が高まることは、ネットワークカメラのような監視用途で用いられる機器の場合では特に問題となる。
【0007】
上述の特許文献に開示された従来技術では、2段階で最小検知サイズと最大物体数の組み合わせを変更できるが、最大物体数を超えた場合に物体認識処理ができない領域ができてしまうことは防ぐことはできない。
【0008】
本発明は、監視対象オブジェクトの個数に上限値を設けながらも、オブジェクト数の個数が上限値以上になった場合であっても、監視対象オブジェクトを含まない特定領域が発生することを抑制する技術を提供しようとするものである。
【課題を解決するための手段】
【0009】
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
撮像装置により撮像された画像中の監視対象オブジェクトを検出し、撮像した画像並びに検出した監視対象オブジェクトに関する情報をネットワークを介して配信する画像処理装置であって、
監視対象オブジェクトの許容最大数Nmax、及び、目標最小数Nminを設定する設定手段と、
前記撮像装置で得られた撮像画像内を解析し、前記許容最大数Nmax以下の個数であって、予め設定された最小検知サイズ以上のサイズを持つオブジェクトを検出し、検出したオブジェクトに関する情報を生成するオブジェクト認識手段と、
前記撮像画像と前記オブジェクト認識手段で得られた情報をネットワークに配信する配信手段と、
前記オブジェクト認識手段で認識されたオブジェクトの数が、前記許容最大数Nmax以上になった場合には前記最小検知サイズをより大きなサイズに変更し、前記オブジェクト認識手段で認識されたオブジェクトの数が、前記目標最小数Nmin以下になった場合には前記最小検知サイズをより小さな値に変更する更新手段とを備える。
【発明の効果】
【0010】
本発明によれば、監視対象オブジェクトの個数に上限値を設けながらも、オブジェクト数の個数が上限値以上になった場合であっても、監視対象オブジェクトを含まない特定領域が発生することを抑制することが可能になる。
【図面の簡単な説明】
【0011】
【図1】画像解析プログラムのフローチャート。
【図2】システム構成図。
【図3】カメラサーバのハードウェア構成図。
【図4】カメラサーバのソフトウェア構成図。
【図5】第1の実施形態における撮像画像の例を示す図。
【図6】第1の実施形態における物体認識処理を示すフローチャート。
【図7】第2の実施形態における撮影画像の例を示す図。
【図8】第2の実施形態における物体認識処理を示すフローチャート。
【図9】クライアントのハードウェア構成図。
【図10】クライアントのソフトウェア構成図。
【図11】第3の実施形態における画像解析処理を示すフローチャート。
【図12】第3の実施形態におけるクライアントの処理を示すフローチャート。
【発明を実施するための形態】
【0012】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【0013】
[システム構成]
図2は本発明の実施形態にかかわるシステム構成図である。カメラサーバ200ならびにクライアント220がネットワーク230を介して相互に接続される。カメラサーバ200は撮影画角(パン、チルト、ズーム)が固定されているカメラを備え、撮影した画像データをネットワーク230を介して配信するものである。クライアント220はカメラサーバ200にアクセスし、画像を取得し、表示する。それぞれの詳細については後述する。
【0014】
なお、図2では、説明の簡略化のためにカメラサーバは1台としているが、2台以上であっても構わない。また、カメラサーバが有するカメラは画角固定とするのではなく、画角可変でも構わない。また、またクライアント220以外にもカメラサーバ200にアクセスして画像の受信や蓄積を行う他のクライアントがあっても構わない。更に、ネットワーク203はEthernet(登録商標) 等の通信規格を満足する複数のルータ、スイッチ、ケーブル等から構成される。本発明においては、各サーバ・クライアント間の通信が支障なく行えるものであればその通信規格、規模、構成を問わない。故にインターネットからLAN (Local Area Network)にまで適用可能である。
【0015】
図3は画像処理装置としてのカメラサーバ200のハードウェアブロック構成図である。図示の如く、CPU300。1次記憶装置310、2次記憶装置320、画像キャプチャI/F330、ネットワークI/F360が内部バス301を介して相互に接続されている。ここで1次記憶装置310はRAMに代表される書き込み可能な高速の記憶装置で、OSや各種プログラム及び各種データがロードされ、またOSや各種プログラムの作業領域としても使用される。
【0016】
2次記憶装置320はFDDやHDD、フラッシュメモリ、CD-ROMドライブ等に代表される不揮発性を持った記憶装置である。この2次記憶装置320には、OSや各種プログラム及び各種データの永続的な記憶領域として使用される他に、短期的な各種データの記憶領域としても使用される。カメラサーバ200の1次記憶装置310及び2次記憶装置320に置かれる各種プログラム等の詳細については後述する。
【0017】
画像キャプチャI/F330にはカメラ370が接続され、カメラ370が撮影した画像データを所定のフォーマットに変換して1次記憶装置310に転送し、記憶する。ネットワークI/F360は前述のネットワーク230と接続するためのインタフェースであり、Ethernet等の通信媒体を介してクライアント220等との通信を担う。
【0018】
図4は、1次記憶装置310にロードされ、カメラサーバ200のCPU300が実行するソフトウェア構成を示している。1次記憶装置310上には、OS(オペレーティングシステム)400、撮像処理プログラム410、画像解析プログラム411、配信処理プログラム412、及び一時記憶部413がロードされる。OS400は、カメラサーバ全体を制御する基本プログラムである。撮像処理プログラム410は、カメラ370で生成された画像フレームを画像キャプチャI/F 330を経由して取得し、一時記憶部413に保存する。画像解析プログラム411は、2次記憶装置320に保存されている画像解析に関連する設定情報を一時記憶部413にロードする。また、画像解析プログラム411は、一時記憶部413に保存している画像フレームを解析し、画像上のどこにどんな形の物体がどれぐらいの時間存在しているのか、といった情報を一時記憶部413に保存する。また、予め設定された1つまたは複数の閾値を越えたことにより特定の事象が発生したことを検出した場合にも、一時記憶部413に保存する。なお、画像解析プログラム411が、画像フレームを2次記憶装置320に保存(記録)するとき、その画像フレームを所定の符号化アルゴリズムに従って符号化するものとする。また、画像解析プログラム411は、クライアントから新たな設定情報をネットワークI/F360を通して受信した場合は、一時記憶部413と必要であれば2次記憶装置320に保存し、新しい設定情報を用いて画像解析を開始する。
【0019】
配信処理プログラム412は、各種クライアントからのリクエストに応じ、一時記憶部413に保存されている符号化された画像フレームと画像解析結果を、ネットワークI/F360制御し通信媒体230を介して各種クライアントへ送り届ける。各プログラム同士の連携は、必要に応じてOS400が提供する機能を用いることとする。
【0020】
以下、本発明にかかるカメラサーバ200の処理の詳細を説明する。本実施形態においては、監視対象となるオブジェクト(以下、単に監視対象オブジェクトという)として認定する際の最小下限サイズをSminとする。また、監視対象オブジェクトの許容最大数をNmaxとし、最小でもこれだけの個数を検出しようとする個数(目標最小数)をNminとする条件を持っているものとして説明する。なお、オブジェクトのサイズとは、そのオブジェクトの外接矩形の面積(画素数)とするが、その尺度はどのようなものであっても良い。
【0021】
上記の条件の下、本実施形態では、監視対象として認識すべきオブジェクトの最小検知サイズを、オブジェクトの数に応じて動的に変更させる。この動的に変更させる最小検知サイズをScと表わす。ただし、最小検知サイズScが下限サイズSminより小さくなることはない。
【0022】
通常、撮像画像内に監視対象となるオブジェクトを決定していくとき、何らかの順番に従う。一般的には、ラスタースキャン順であるので、本実施形態でもラスタースキャン順に監視対象オブジェクトを決定するものとして説明する。
【0023】
図5(a)は、上記条件の下で、或る最小検知サイズSc以上のサイズを持つオブジェクトを監視対象オブジェクトとして決定していき、その数が許容最大数Nmaxとなった場合に、それ以降の処理を打ち切った例を示している。
【0024】
実施形態では、許容最大数Nmax=32の例を説明しているので、33個目以降に、仮に十分に大きなサイズのオブジェクトと存在したとしても、それらは監視対象から除外される。従って、許容最大数Nmaxを超える数のオブジェクトが存在する限りは、図5(a)のように、画像フレームの右下の領域501内のオブジェクトが常に監視対象外となってしまう。このような場合は、オブジェクトを認識する最小検知サイズScを大きくし、監視対象オブジェクトの数が少なくなるように制御すると有効である。
【0025】
図5(b)は、最小検知サイズScを所定サイズΔsだけ増加させた場合の例を示している。図示の場合、最小検知サイズScを大きくさせることで、監視対象となるオブジェクトの数が18個となったが、特定の領域(実施形態では、画像の右下の領域)内のオブジェクトが監視対象オブジェクトから排除されることがなくなっている。
【0026】
図1は、本第1の実施形態におけるCPU300が実行する画像解析プログラム411の処理手順を示すフローチャートである。なお、この処理は、電源投入時、或いは、クライアント等からの画像取得要求により起動するものである。
【0027】
CPU300は、画像解析プログラム411を実行すると、撮像処理プログラム410により一時記憶部413に画像フレームを生成、格納されるのを待つ(ステップS101)。画像フレームが生成されると、生成された画像フレーム内のオブジェクトを認識するオブジェクト認識処理を行う(ステップS102)。ステップS102では、最小検知サイズSc以上のオブジェクトの個数を数えていき、許容最大数Nmax以下のオブジェクトについては監視対象のオブジェクトとして決定する。そして、フレーム中の各オブジェクトの大きさ、位置、どのぐらいの期間存在しているのか、といった情報(以下、メタ情報と記載)を一時記憶部413に出力する。ただし、許容最大数Nmaxを超えた分のオブジェクトについては、メタ情報の記憶処理は行なわない。このステップS102の詳細内容は、後述する。
【0028】
なお、最小検知サイズSc以上のオブジェクトの個数のカウント処理が終了するのは、許容最大数Nmaxで示される個数目のオブジェクトが認識できたとき、或いは、許容最大数Nmax未満のまま、画像全体のオブジェクトの認識処理が完了した場合である。いずれの場合であっても、検出した個数は、後述するS104の判断処理で再度判断するので、CPU300は、一時記憶部413内の適当なアドレスにその個数を書き込むものとする。
【0029】
また、個々の監視対象オブジェクトが存在した期間を把握するには、連続するフレーム間で同じオブジェクトとして見なすための条件付けが必要になる。実施形態では、着目フレームと当該着目フレームの直前のフレームとの間において、予め設定された距離以下で、サイズの変化も所定閾値以下のオブジェクトを同一オブジェクトして認定するようにした。そして、監視対象として決定され、同一オブジェクトとして認定され続けている期間を、上記の画像中に存在し続けている期間とした。
【0030】
次に、一時記憶部413上のメタ情報を元にオブジェクト検知、置き去り検知、持ち去り検知、またはいたずら検知等の特定事象が発生していないかを検出する(ステップS103)。特定の事象を検出した場合は、本ステップにおいてクライアントや予め設定された管理者用の端末(不図示)に特定事象を通知する。或いは、一次記憶装置310または二次記憶装置320に本事象が発生したことを保存しておく。ステップS103は必ずしも必須ではないが、本実施形態全体を通してより自然に説明するためにここで記載する。
【0031】
そして、一時記憶部413上のメタ情報を参照し、画像フレーム上のオブジェクト数が許容最大数Nmax超えているかどうかを判定する(ステップS104)。
【0032】
オブジェクト数が許容最大数Nmaxを到達したと判断した場合、オブジェクト認識処理S102で参照する最小検知サイズScを現在の値よりΔS大きく設定する(ステップS105)。このΔSはカメラの性能(撮像解像度、倍率)や、カメラの設置目的に応じて決定すれば良いであろう。ΔSは固定ではなく、その他のアルゴリズムにより動的に変化させるようにしても構わない。これにより、次回の画像解析処理から現在認識している最小オブジェクトを除くことができ、オブジェクト数を減らすことができる。ステップS105の後は、再度画像生成待ちS101に戻る。
【0033】
さて、ステップS104において、オブジェクト数が許容最大数Nmaxより少ないと判断された場合、今度はオブジェクト数が目標最小数Nmin以下であるかどうかを判定する(ステップS106)。目標最小数Nmin以下であると判断した場合、これは撮影画像上にオブジェクトがほとんど存在しない状態を示している。そこで、最小検知サイズScからΔSだけ減じて、その値を小さくし(S107)、画像生成待ち(ステップS101)に戻る(ただし、先に説明したように最小検知サイズScがSminより小さくなることはない)。この結果、より多くのオブジェクトを監視対象として決定し易くすることが可能になる。
【0034】
図6は、画像解析プログラム411のオブジェクト認識処理(ステップS102)のフローチャートである。
【0035】
本実施形態では、オブジェクトの認識処理を背景差分法により実現する。すなわち、管理すべきオブジェクトが無い状態を撮影し、それを背景画像として保持しておく。そして、現実に撮影した画像との背景画像との差分を求め、異なる部分をオブジェクト候補として決定する。ただし、背景差分法以外にも、フレーム間差分等、別のオブジェクト認識アルゴリズムに適用することも可能である。
【0036】
オブジェクト認識処理(ステップS102)を実行する際は、引数として最小検知サイズScと最大オブジェクト数であるNmaxを指定する。
【0037】
オブジェクト認識処理(ステップS102)が実行されると、CPU300は、まずローカル変数の認識オブジェクトを係数するための変数iをゼロに設定(ステップS601)し、一時記憶部413のメタ情報を初期化する(ステップS602)。次に、予め記憶していた背景画像(2次記憶装置320に記憶されているものとする)と、新に生成された画像フレームに差分があるかどうかを判定する(ステップS603)。背景画像との差分があった場合は、その差分領域が最小検知サイズSc以上かどうかを判定する(ステップS604)。
【0038】
最小検知サイズScより小さい場合は、背景画像と次の差分を調べるためステップS603に戻る。この時、画像解析プログラム411が最小検知サイズを変更する際に参照できるように差分領域のサイズを一時記憶部413に保存しておいてもよい。
【0039】
ステップS604において差分領域が最小検知サイズSc以上の場合は、そのオブジェクト情報をメタ情報として保存(ステップS605)し、認識オブジェクト数を1加算する(ステップS606)。そして、認識オブジェクト数が許容最大数Nmax以上になったかを判定する(ステップS607)。許容最大数Nmax以上ではない場合、背景画像と次の差分を調べるためにステップS603に戻る。
【0040】
ステップS607において許容最大数Nmax以上になった、もしくはステップS603において背景画像との差分がないと判定した場合は、認識オブジェクト数をメタ情報として一時記憶部413に保存(ステップS608)する。
【0041】
このように、認識できるオブジェクトの最大数の制限がある場合でも、撮影シーン毎にオブジェクトの最小検知サイズを大きくしていくことによってオブジェクト認識処理ができない領域をなくすことができる。逆に最小検知サイズを小さくしていくことによってオブジェクト認識感度を上げることもできる。
【0042】
以上説明したように本第1の実施形態によれば、監視対象オブジェクトの許容最大数Nmax以上のオブジェクトを検出した場合、監視対象のオブジェクトとして認定するための最小検知サイズを大きくなるように更新する。この結果、画像中の特定領域内のオブジェクトが監視対象外とされることを抑制できるようになる。
【0043】
なお、上記実施形態ではカメラサーバのカメラの画角(パン角、チルト角、ズーム倍率)が固定であるものとして説明したが、その中の一部もしくは全部が可変であっても構わない。各画角で撮影した画像を背景画像として不揮発性メモリ(ハードディスク等)記憶しておき、現在の画角から該当する背景画像を決定し、現画角の画像フレームと背景画像との差分を算出するようにすれば良い。かかる点は、以下に説明する第2の実施形態以降でも同様である。
【0044】
また、実施形態ではフレーム画像を差分からオブジェクトの有無を判定し、その後に符号化してその画像を蓄積するものとして説明した。しかし、符号化データにした後にオブジェクトの有無を判定するものとしても構わない。たとえば、各フレームをJPEG符号化する場合、異なるフレーム間で同じ位置のブロック(8×8画素)の符号化データに違いがある場合には、その領域の画像には何らかの差が生じたと判断できる。すなわち、この場合に現フレームの着目ブロックは動体の一部にあると判断できる。これは以下に説明する他の実施形態でも同じである。
【0045】
[第2の実施形態]
以下、本発明に係る第2の実施形態を詳細に説明する。図7は、監視エリアにオブジェクト検知エリアと置き去り検知エリアを設定した場合の撮影画像である。ここで記載している置き去り検知エリアとは、ユーザーが撮影画面上で予め指定したオブジェクトが置き去りされる可能性がある領域のことである。
【0046】
図7は、監視エリアを撮影した撮影画像700上に、オブジェクト検知エリア701と置き去り検知エリア702が設定されており、各検知エリア上のオブジェクトのみ認識していることを示している。このため、非設定エリア703は、オブジェクト認識対象外エリアとしてオブジェクトの認識は行われない。このように、本第2の実施形態は、特定事象の検出に必要な検知エリア上に存在するオブジェクトを認識対象とするものである。このため、カメラの撮影視野範囲のどの部分を非検知エリアとするか等の設定と、設定した情報(検知エリア、非検知エリアの座標)を2次記憶装置320に格納するエリア設定ソフトウェアを有するものとする。
【0047】
画像解析プログラム411自体のフローチャートは、本第2の実施形態では、図1と同じでもよいし、図1におけるステップS101、ステップS102、及びステップS103だけのループ処理でもよいため省略する。異なる点は、画像解析プログラム411である。
【0048】
図8は、本第2の実施形態における画像解析プログラム411のオブジェクト認識処理(ステップS102)のフローチャートである。図8におけるS801〜S808で示される各処理ステップは、第1の実施形態の図6のS601〜S608の各処理ステップと同じである。異なるのは、オブジェクト情報の保存(S805)、オブジェクト数をカウントアップする処理(S806)に移行する条件を1つ増やした点である。すなわち、対象となるオブジェクトが、監視対象のオブジェクトが存在し得る領域として設定された検知エリア内であるかエリア外であるかの判定ステップS810を追加した。
【0049】
本第2の実施形態では、検知エリア内でなければオブジェクトとして認識しなかったが、検知エリア内でなければ現在の最小検知サイズより大きい第二の最小検知サイズと比較し、第二の最小検知サイズ以上の場合はオブジェクトとして認識してもよい。
【0050】
このように、認識できるオブジェクトの最大数の制限がある場合でも、特定事象の検出に必要な検知エリア上に存在するオブジェクトのみを認識することで、オブジェクト認識処理ができない領域をなくすことができる。また、第1、第2の実施形態は排他的な関係ではなく、第1,第2の実施形態のオブジェクト認識処理を途中で切り替える、または同時に実施してもよい。
【0051】
[第3の実施形態]
以下、本発明の第3の実施形態を詳細に説明する。図9は本第3の実施形態におけるクライアント220のハードウェア構成図である。図示の如く、クライアント220は、CPU900、1次記憶装置910、2次記憶装置920、ユーザー入力I/F 930、ユーザー出力I/F 940、ネットワークI/F 960、及び、各構成要素を接続する内部バス901で構成される。
【0052】
ここで1次記憶装置910はRAMに代表される書き込み可能な高速の記憶装置で、OS(オペレーティングシステム)や各種プログラム及び各種データがロードされ、またOSや各種プログラムの作業領域としても使用される。2次記憶装置920はFDDやHDD、フラッシュメモリ、CD-ROMドライブ等に代表される不揮発性を持った記憶装置で、OSや各種プログラム及び各種データの永続的な記憶領域として使用される他に、短期的な各種データの記憶領域としても使用される。クライアント220の1次記憶装置910及び2次記憶装置920に置かれる各種プログラム等の詳細については後述する。ユーザー入力I/F 930にはキーボード、マウス等で代表されるユーザー入力機器970が接続され、ユーザーからの入力を司る。ユーザー出力I/F 940にはディスプレイ等で代表されるユーザー出力機器980が接続され、ユーザーへ出力を司る。ネットワークI/F 960は前述のネットワーク230と接続するためのI/Fであり、Ethernet等の通信媒体を介してカメラサーバ200等との通信を担う。
【0053】
図10は、本第3の実施形態におけるクライアント220のソフトウェア構成図である。1次記憶装置910上には、クライアント全体を制御する基本プログラムであるOSを始め、入力制御プログラム1010、クライアントプログラム1011、受信処理プログラム1012、出力制御プログラム1013、及び、一時記憶部1014がロードされる。
【0054】
入力制御プログラム1010は、ユーザーがキーボードやマウスなど入力機器930を操作したことにより、クライアントプログラム1011を起動する。本実施形態では、ユーザーがキーボードやマウスなどを直接操作すると説明したが、ネットワーク経由の操作や、自動実行プログラムでも実現可能である。クライアントプログラム1011は、カメラサーバ200から配信される画像フレームや画像解析結果を取得するため受信処理プログラム1012を起動する。また、入力制御プログラム1010を経由してユーザーが決定した情報をカメラサーバ200に送信する。受信処理プログラム1012は、ネットワークI/F960を制御し、通信媒体230を介してカメラサーバ200から画像フレームや画像解析結果を受信し、一時記憶部1014に保存する。出力制御プログラム1013は、受信処理プログラム1012やクライアントプログラム1011の指示に従い、画像フレームや解析領域等の情報をディスプレイ等の出力機器980に表示する。各プログラム同士の連携は、必要に応じてOSが提供する機能を用いることとする。
【0055】
図11は、本第3の実施形態におけるカメラサーバ200における画像解析プログラム411のフローチャートである。なお、カメラサーバ200のハードウェア構成は第1の実施形態と同じとしている。
【0056】
CPU300は、電源投入、またはクライアント等からの画像取得要求により画像解析プログラム411を実行する。画像解析プログラム411が起動すると、CPU300は、撮像処理プログラム410により、一時記憶部413に画像フレームを生成するのを待つ(ステップS1101)。画像フレームが生成されると、生成された画像フレームに対するオブジェクト認識処理を行う(ステップS1102)。ステップS1102において、最小検知サイズSc以上のオブジェクトの個数を許容最大数Nmaxまで数え、オブジェクトの大きさ、位置、どのぐらいの期間存在しているのか、といった情報(以下、メタ情報と記載)を一時記憶部413に出力する。
【0057】
次に、一時記憶部413上のメタ情報を元にオブジェクト検知、置き去り検知、持ち去り検知、またはいたずら検知等の特定事象が発生していないかを検出する(ステップS1103)。特定の事象を検出した場合は、本ステップにおいてクライアントに特定事象を通知する、または、一次記憶装置310または二次記憶装置320に本事象が発生したことを保存しておく。ステップS1103は必ずしも必須ではないが、本代3の実施形態全体を通してより自然に説明するためにここで記載する。
【0058】
そして、一時記憶部413上のメタ情報を参照し、画像フレーム上のオブジェクト数が上限閾値Nmax以上になったかどうかを判定する(ステップS1104)。オブジェクト数が上限閾値Nmax30以上の場合は、クライアント220にオブジェクト数オーバーフロー通知を送信する(ステップS1105)。このステップS1105の後は、再度画像生成待ちS1101に戻る。
【0059】
なお、オブジェクト数オーバーフロー通知には、少なくとも現在のオブジェクト数を含み、その他、上限閾値Nmax、推奨最小検知サイズSc’等を含んでもよい。推奨最小検知サイズSc’は、現在の最小検知サイズScより大きい値である。なお、この推奨最小検知サイズSc’の算出アルゴリズムは、現在の最小検知サイズに固定サイズだけ増加した値、またはその他のアルゴリズムにより動的に増やした値であり、通知に含める推奨最小検知サイズSc’の個数は単数でも複数でもよい。
【0060】
一方、ステップS1104において、オブジェクト数が上限閾値Nmaxより小さい場合、今度はオブジェクト数が下限閾値Nmin以下かどうかを判定する(ステップS1106)。ステップS1106において下限閾値Nmin以下と判定した場合、これは撮影画像上にオブジェクトがほとんど存在しない状態を示している。そこで、クライアント220にオブジェクト数アンダーフロー通知を送信(ステップS1107)し、画像生成待ち(ステップS1101)に戻る。オブジェクト数アンダーフロー通知には、少なくとも現在のオブジェクト数を含み、その他、下限閾値Nmax、推奨最小検知サイズSc’を含んでもよい。
【0061】
なお、オブジェクト数アンダーフロー通知には、少なくとも現在のオブジェクト数を含み、その他、下限値Nmin、推奨最小検知サイズSc’等を含んでもよい。推奨最小検知サイズSc’は、現在の最小検知サイズScより小さい値である。なお、この推奨最小検知サイズSc’の算出アルゴリズムは、現在の最小検知サイズに固定サイズだけ減じた値、またはその他のアルゴリズムにより動的に減じた値であり、通知に含める推奨最小検知サイズSc’の個数は単数でも複数でもよい。
【0062】
図12は、本第3の実施形態におけるクライアント220におけるクライアントプログラム1011のフローチャートである。
【0063】
クライアントプログラム1011はユーザーからのその起動指示があった場合、CPU900が起動することになる。このクライアントプログラム1011は起動すると、受信処理プログラム1012も起動する(ステップS1201)。受信処理プログラム1012は、カメラサーバ200に画像取得要求を送信し、受信した画像フレームをディスプレイ等の出力機器980に出力する。
【0064】
次に、クライアントプログラム1011はイベントが生成されるのを待つ(ステップS1202)。ステップS1202では、カメラサーバ200からオブジェクト数が上限閾値を超えたことを意味するオブジェクト数オーバーフロー通知の受信、オブジェクト数が下限閾値を下回ったことを意味するオブジェクト数アンダーフロー通知の受信、またはユーザーからの入力イベントが発生するのを待つ。
【0065】
カメラサーバ200からのオブジェクト数オーバーフロー通知を受信した場合、通知メッセージに含まれる推奨最小検知サイズSc’を表示する(ステップS1204)。表示する推奨サイズは単数でも複数でもよく、ユーザーが直接サイズを指定できるように表示してもよい。なお、本第3の実施形態では、推奨最小検知サイズSc’はカメラサーバ200から受信するとしたが、クライアントプログラム1011が独自に値を決めて表示してもよい。
【0066】
一方、カメラサーバ200からのオブジェクト数アンダーフロー通知を受信した場合も同様に、通知メッセージに含まれる推奨最小検知サイズSc’を表示する(ステップS1205)。表示する推奨サイズは単数でも複数でもよく、ユーザーが直接サイズを指定できるように表示してもよい。
【0067】
オブジェクト数が上限値Nmax以上になった、或いは、オブジェクト数がNmin以下になったとき、推奨最小検知サイズにするように促す表示がなされる。従って、クライアントのユーザは、キーボードやマウス等の入力機器970を操作して、現在の設定情報(最小検知サイズ)の編集を行うイベントを発生させることができる。この場合、ユーザは、選択、または直接指定した最小検知サイズを設定変更通知としてカメラサーバ200に送信する(ステップS1206)。これにより、ユーザーが指示した最小検知サイズでカメラサーバ200が画像認識処理S102を行うことができる。そして、再度ステップS1202に戻る。
【0068】
本第3の実施形態では、オブジェクト数のオーバーフロー通知とアンダーフロー通知をカメラサーバ200が画像とは別々に送信するとしたが、別々ではなく画像フレーム中に含めてもよい。
【0069】
このように、カメラサーバ200が認識するオブジェクトの最小検知サイズを自動で変更するのではなく、クライアント220と連携しユーザーが最小検知サイズを指定する。これにより、オブジェクト認識処理ができない領域をなくしたり、またはオブジェクト認識感度を上げることができる。
【0070】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【0071】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
撮像装置により撮像された画像中の監視対象オブジェクトを検出し、撮像した画像並びに検出した監視対象オブジェクトに関する情報をネットワークを介して配信する画像処理装置であって、
監視対象オブジェクトの許容最大数Nmax、及び、目標最小数Nminを設定する設定手段と、
前記撮像装置で得られた撮像画像内を解析し、前記許容最大数Nmax以下の個数であって、予め設定された最小検知サイズ以上のサイズを持つオブジェクトを検出し、検出したオブジェクトに関する情報を生成するオブジェクト認識手段と、
前記撮像画像と前記オブジェクト認識手段で得られた情報をネットワークに配信する配信手段と、
前記オブジェクト認識手段で認識されたオブジェクトの数が、前記許容最大数Nmax以上になった場合には前記最小検知サイズをより大きなサイズに変更し、前記オブジェクト認識手段で認識されたオブジェクトの数が、前記目標最小数Nmin以下になった場合には前記最小検知サイズをより小さな値に変更する更新手段と
を備えることを特徴とする画像処理装置。
【請求項2】
前記更新手段は、前記オブジェクト認識手段でオブジェクト認識処理で用いた最小検知サイズに対して、予め設定されたサイズだけ増加、或いは、減じることで更新することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
更に、前記撮像装置で撮像した画像中に、前記オブジェクト認識手段の認識対象外のエリアを設定するエリア設定手段を備え、
前記オブジェクト認識手段は、前記エリア設定手段で設定したエリア外についてオブジェクト認識処理を行うことを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記更新手段は、
前記オブジェクト認識手段で認識されたオブジェクトの数が、前記許容最大数Nmax以上になった場合には、現在よりも所定サイズだけ大きい推奨最小検知サイズを含むオブジェクト数オーバーフローを示す情報を前記ネットワークにおける所定のクライアント装置に通知し、
前記オブジェクト認識手段で認識されたオブジェクトの数が、前記目標最小数Nmin以下になった場合には、現在よりも所定サイズだけ小さい推奨最小検知サイズを含むオブジェクト数アンダーフローを示す情報を前記所定のクライアント装置に通知する通知手段と、
前記所定のクライアントからの要求に応じて、前記最小検知サイズを更新する手段とを含むことを特徴とする請求項1に記載の画像処理装置。
【請求項5】
撮像装置及びネットワークに接続する接続手段を有するコンピュータが読み込み実行することで、前記コンピュータを、前記撮像装置により撮像された画像中の監視対象オブジェクトを検出し、撮像した画像並びに検出した監視対象オブジェクトに関する情報をネットワークを介して配信する画像処理装置として機能させるプログラムであって、
前記コンピュータを、
監視対象オブジェクトの許容最大数Nmax、及び、目標最小数Nminを設定する設定手段、
前記撮像装置で得られた撮像画像内を解析し、前記許容最大数Nmax以下の個数であって、予め設定された最小検知サイズ以上のサイズを持つオブジェクトを検出し、検出したオブジェクトに関する情報を生成するオブジェクト認識手段、
前記撮像画像と前記オブジェクト認識手段で得られた情報をネットワークに配信する配信手段、
前記オブジェクト認識手段で認識されたオブジェクトの数が、前記許容最大数Nmax以上になった場合には前記最小検知サイズをより大きなサイズに変更し、前記オブジェクト認識手段で認識されたオブジェクトの数が、前記目標最小数Nmin以下になった場合には前記最小検知サイズをより小さな値に変更する更新手段
として機能させるためのプログラム。
【請求項6】
請求項5に記載のプログラムを記録したコンピュータが読み取り可能な記憶媒体。
【請求項7】
撮像装置により撮像された画像中の監視対象オブジェクトを検出し、撮像した画像並びに検出した監視対象オブジェクトに関する情報をネットワークを介して配信する画像処理装置の制御方法であって、
設定手段が、監視対象オブジェクトの許容最大数Nmax、及び、目標最小数Nminを設定する設定工程と、
オブジェクト認識手段が、前記撮像装置で得られた撮像画像内を解析し、前記許容最大数Nmax以下の個数であって、予め設定された最小検知サイズ以上のサイズを持つオブジェクトを検出し、検出したオブジェクトに関する情報を生成するオブジェクト認識工程と、
配信手段が、前記撮像画像と前記オブジェクト認識工程で得られた情報をネットワークに配信する配信工程と、
更新手段が、前記オブジェクト認識工程で認識されたオブジェクトの数が、前記許容最大数Nmax以上になった場合には前記最小検知サイズをより大きなサイズに変更し、前記オブジェクト認識工程で認識されたオブジェクトの数が、前記目標最小数Nmin以下になった場合には前記最小検知サイズをより小さな値に変更する更新工程と
を有することを特徴とする画像処理装置の制御方法。
【請求項1】
撮像装置により撮像された画像中の監視対象オブジェクトを検出し、撮像した画像並びに検出した監視対象オブジェクトに関する情報をネットワークを介して配信する画像処理装置であって、
監視対象オブジェクトの許容最大数Nmax、及び、目標最小数Nminを設定する設定手段と、
前記撮像装置で得られた撮像画像内を解析し、前記許容最大数Nmax以下の個数であって、予め設定された最小検知サイズ以上のサイズを持つオブジェクトを検出し、検出したオブジェクトに関する情報を生成するオブジェクト認識手段と、
前記撮像画像と前記オブジェクト認識手段で得られた情報をネットワークに配信する配信手段と、
前記オブジェクト認識手段で認識されたオブジェクトの数が、前記許容最大数Nmax以上になった場合には前記最小検知サイズをより大きなサイズに変更し、前記オブジェクト認識手段で認識されたオブジェクトの数が、前記目標最小数Nmin以下になった場合には前記最小検知サイズをより小さな値に変更する更新手段と
を備えることを特徴とする画像処理装置。
【請求項2】
前記更新手段は、前記オブジェクト認識手段でオブジェクト認識処理で用いた最小検知サイズに対して、予め設定されたサイズだけ増加、或いは、減じることで更新することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
更に、前記撮像装置で撮像した画像中に、前記オブジェクト認識手段の認識対象外のエリアを設定するエリア設定手段を備え、
前記オブジェクト認識手段は、前記エリア設定手段で設定したエリア外についてオブジェクト認識処理を行うことを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記更新手段は、
前記オブジェクト認識手段で認識されたオブジェクトの数が、前記許容最大数Nmax以上になった場合には、現在よりも所定サイズだけ大きい推奨最小検知サイズを含むオブジェクト数オーバーフローを示す情報を前記ネットワークにおける所定のクライアント装置に通知し、
前記オブジェクト認識手段で認識されたオブジェクトの数が、前記目標最小数Nmin以下になった場合には、現在よりも所定サイズだけ小さい推奨最小検知サイズを含むオブジェクト数アンダーフローを示す情報を前記所定のクライアント装置に通知する通知手段と、
前記所定のクライアントからの要求に応じて、前記最小検知サイズを更新する手段とを含むことを特徴とする請求項1に記載の画像処理装置。
【請求項5】
撮像装置及びネットワークに接続する接続手段を有するコンピュータが読み込み実行することで、前記コンピュータを、前記撮像装置により撮像された画像中の監視対象オブジェクトを検出し、撮像した画像並びに検出した監視対象オブジェクトに関する情報をネットワークを介して配信する画像処理装置として機能させるプログラムであって、
前記コンピュータを、
監視対象オブジェクトの許容最大数Nmax、及び、目標最小数Nminを設定する設定手段、
前記撮像装置で得られた撮像画像内を解析し、前記許容最大数Nmax以下の個数であって、予め設定された最小検知サイズ以上のサイズを持つオブジェクトを検出し、検出したオブジェクトに関する情報を生成するオブジェクト認識手段、
前記撮像画像と前記オブジェクト認識手段で得られた情報をネットワークに配信する配信手段、
前記オブジェクト認識手段で認識されたオブジェクトの数が、前記許容最大数Nmax以上になった場合には前記最小検知サイズをより大きなサイズに変更し、前記オブジェクト認識手段で認識されたオブジェクトの数が、前記目標最小数Nmin以下になった場合には前記最小検知サイズをより小さな値に変更する更新手段
として機能させるためのプログラム。
【請求項6】
請求項5に記載のプログラムを記録したコンピュータが読み取り可能な記憶媒体。
【請求項7】
撮像装置により撮像された画像中の監視対象オブジェクトを検出し、撮像した画像並びに検出した監視対象オブジェクトに関する情報をネットワークを介して配信する画像処理装置の制御方法であって、
設定手段が、監視対象オブジェクトの許容最大数Nmax、及び、目標最小数Nminを設定する設定工程と、
オブジェクト認識手段が、前記撮像装置で得られた撮像画像内を解析し、前記許容最大数Nmax以下の個数であって、予め設定された最小検知サイズ以上のサイズを持つオブジェクトを検出し、検出したオブジェクトに関する情報を生成するオブジェクト認識工程と、
配信手段が、前記撮像画像と前記オブジェクト認識工程で得られた情報をネットワークに配信する配信工程と、
更新手段が、前記オブジェクト認識工程で認識されたオブジェクトの数が、前記許容最大数Nmax以上になった場合には前記最小検知サイズをより大きなサイズに変更し、前記オブジェクト認識工程で認識されたオブジェクトの数が、前記目標最小数Nmin以下になった場合には前記最小検知サイズをより小さな値に変更する更新工程と
を有することを特徴とする画像処理装置の制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−242970(P2012−242970A)
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願番号】特願2011−110826(P2011−110826)
【出願日】平成23年5月17日(2011.5.17)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願日】平成23年5月17日(2011.5.17)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]