動体検出装置と動体検出方法およびプログラム
【課題】動体までの距離や動体の移動速度にかかわらず安定して動体を検出できるようにする。
【解決手段】検出処理部34で、現画像と過去画像を用いて算出した動きベクトルに基づき動体検出を行う。検出結果処理部35は、検出処理部34の動体検出処理部34S,34M,34Lのいずれかで動体が検出されたとき、動体が検出されたことを出力する。動体検出処理部34S,34M,34Lは、現画像と過去画像の解像度と、現画像と過去画像との時間間隔と、動きベクトルの探索範囲の少なくともいずれかを相違させることで、動体の遠近状態や移動速度に対する動体検出特性を互いに異なる特性とする。検出処理部34は、動体までの距離や動体の移動速度にかかわらず安定して動体を検出できるようになる。
【解決手段】検出処理部34で、現画像と過去画像を用いて算出した動きベクトルに基づき動体検出を行う。検出結果処理部35は、検出処理部34の動体検出処理部34S,34M,34Lのいずれかで動体が検出されたとき、動体が検出されたことを出力する。動体検出処理部34S,34M,34Lは、現画像と過去画像の解像度と、現画像と過去画像との時間間隔と、動きベクトルの探索範囲の少なくともいずれかを相違させることで、動体の遠近状態や移動速度に対する動体検出特性を互いに異なる特性とする。検出処理部34は、動体までの距離や動体の移動速度にかかわらず安定して動体を検出できるようになる。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、動体検出装置と動体検出方法とプログラムに関する。詳しくは、動体までの距離や動体の移動速度にかかわらず安定して動体を検出できるようにする。
【背景技術】
【0002】
従来の監視カメラにおける侵入検知システムでは動体検出が行われている。例えば特許文献1は、撮像した画像データが複数エリアのブロックに分割される。また、各画像ブロックの平滑化された画像データについて状態変化の有無が検出される。この検出された状態変化有無ブロックのマップと、既に検出されている状態変化有無ブロックのマップを比較して、状態変化有りブロックの移動に伴う誤差発生ブロック数が算出されて、算出された誤差発生ブロック数が予め設定した数値を超えたときに動きを検知したと判断されている。
【0003】
また、特許文献2の発明では、過去の複数枚の画像データが参照画像データとして保存される。この保存されている複数枚の参照画像データと撮影された画像データとで画素あるいは小領域での各々の差異が検出される。さらに、検出された差異の連続性あるいは出現性を元に画像データ中の移動物体が検出されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−102556号公報
【特許文献2】特開2006−107457号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、状態変化有りブロックの移動に伴う誤差発生ブロックの数が予め設定した数値を超えたとき動きを検知したと判別する場合、動体が遠方に位置していると、動き検知の精度低下を招くおそれがある。すなわち、動体が遠方であると、撮影画像における動体の画像サイズが小さい。したがって、動体が遠方であると誤差発生ブロックの数は大きくならず、動きを検知することができない。
【0006】
また、撮影された画像データと参照画像データとで画素あるいは小領域での各々の差異から動体を検出する場合においても、動体が遠方であるか近接した位置であるかに応じて、差異の連続性や出現性が大きく変化する。したがって、動体が遠方であるときと近接した位置にあるときで、動体の検知精度が大きく変化してしまうおそれがある。
【0007】
そこで、この発明では、動体までの距離や動体の移動速度にかかわらず安定して動体を検出できる動体検出装置と動体検出方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
この発明の第1の側面は、現画像と過去画像を用いて算出した動きベクトルに基づいて動体の検出を行う複数の動体検出処理部を備え、前記動体検出処理部は、前記現画像と過去画像の解像度と、前記現画像と過去画像との時間間隔と、前記動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部と相違させて動体の検出を行う動体検出装置にある。
【0009】
この発明において、複数の動体検出処理部では、指定した複数の位置において、動き量が所定量以上となる位置を特徴点として、時間の経過に伴い特徴点がいずれの位置に移動するか追跡する。さらに、予め設定した判定基準を用いて特徴点の追跡結果から、特徴点の移動方向と移動速度と位置および追跡期間の少なくともいずれかを用いて不要な特徴点の判定を行い、不要とされた特徴点を削除して、残った特徴点に基づいて動体が検出されたか否かの判定が行われる。
【0010】
また、動体検出処理部では、他の動体検出処理部で行われる動体検出の設定情報に基づき、他の動体検出処理部で検出される動体を重複して検出することが少なくなるように動きベクトルの探索範囲が設定される。
【0011】
この発明の第2の側面は、複数の動体検出処理部のそれぞれで、現画像と過去画像を用いて算出した動きベクトルに基づいて動体の検出を行う動体検出ステップを有し、前記動体検出ステップでは、前記現画像と過去画像の解像度と、前記現画像と過去画像との時間間隔と、前記動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部で行われる動体検出ステップと相違させて動体の検出を行う動体検出方法にある。
【0012】
この発明の第3の側面は、コンピュータを、現画像と過去画像を用いて算出した動きベクトルに基づいて動体の検出を行う複数の動体検出機能手段として機能させて、前記動体検出機能手段では、前記現画像と過去画像の解像度と、前記現画像と過去画像との時間間隔と、前記動きベクトルの探索範囲の少なくともいずれかを他の動体検出機能手段と相違させて動体の検出を行われるためのプログラムにある。
【0013】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【発明の効果】
【0014】
この発明によれば、複数の動体検出処理部で、現画像と過去画像を用いて算出した動きベクトルに基づき動体検出が行われる。動体検出処理部では、現画像と過去画像の解像度と、現画像と過去画像との時間間隔と、動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部と相違させて動体の検出が行われる。したがって、複数の動体検出処理部は、動体までの距離や動体の移動速度にかかわらず安定して動体を検出できるようになる。
【図面の簡単な説明】
【0015】
【図1】動体検出装置を撮像装置と一体に構成した場合の機能ブロック図である。
【図2】カメラヘッド部と別個に構成されている画像処理装置に動体検出装置を設けた場合を示す機能ブロック図である。
【図3】動体検出部の構成を示す図である。
【図4】動体検出処理部の構成を示す図である。
【図5】動きベクトルの算出方法を説明するための図である。
【図6】テンプレートマッチング方法を用いる場合の動作を説明するための図である。
【図7】特徴点を例示した図である。
【図8】特徴点の追跡状態を例示した図である。
【図9】削除対象の特徴点を説明するための図である。
【図10】動体が近距離にある場合を説明するための図である。
【図11】動体が中距離にある場合を説明するための図である。
【図12】動体が遠距離にある場合を説明するための図である。
【図13】動体検出部の他の構成を示す図である。
【図14】探索範囲を示す情報を利用する場合の動作を説明するための図である。
【図15】コンピュータの構成を例示した図である。
【発明を実施するための形態】
【0016】
以下、発明を実施するための形態について説明する。この発明では、複数の動体検出処理部を設けて動体検出を行い、動体検出処理部は、現画像と過去画像の解像度と、現画像と過去画像との時間間隔と、動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部と相違させることで、動体までの距離や動体の移動速度にかかわらず安定して動体を検出できるようにする。なお、説明は以下の順序で行う。
1.第1の実施の形態
1−1.動体検出装置の構成
1−2.動体検出方法
2.第2の実施の形態
2−1.動体検出部の他の構成
2−2.動体検出方法
3.ソフトウェア処理で動体検出を行う場合の構成
【0017】
<1.第1の実施の形態>
「1−1.動体検出装置の構成」
図1は、動体検出装置を撮像装置と一体に構成した場合を示す機能ブロック図である。撮像装置10は、撮像部11、信号処理部12、符号化処理部13、動体検出部30、伝送部40を備えている。
【0018】
撮像部11は、CCD(Charge Coupled Device)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等の固体撮像素子を用いて構成されている。撮像部11は、例えば監視対象領域を撮像して画像信号を出力する。
【0019】
信号処理部12は、撮像部11から出力された画像信号に対して、ノイズ除去やカラー処理、適切な諧調へ圧縮する等を行う処理である。
【0020】
符号化処理部13は、信号処理部12で処理された画像信号に対して所定の符号化方式で画像信号の圧縮処理を行う。例えばJPEG(Joint Photographic Experts Group)やMPEG4(Moving Picture Experts Group phase 4)等の方式で画像信号の符号化処理を行う。また、符号化処理部13は、符号化処理を行って得られた符号化信号を伝送部40に出力する。
【0021】
動体検出部30は、信号処理部12から出力された画像信号に基づいて動体検出を行う。また、動体検出部30は、動体検出結果を伝送部40に出力する。
【0022】
伝送部40は、動体検出部30からの動体検出結果、および符号化処理部13で得られた符号化信号を、ネットワーク等を介して外部機器例えば監視制御を行う監視制御装置に供給する。
【0023】
図2は、カメラヘッド部と別個に構成されている画像処理装置に動体検出装置を設けた場合を示す機能ブロック図である。画像処理装置20は、画像入力部21、信号処理部22、符号化処理部23、動体検出部30、伝送部40を備えている。
【0024】
画像入力部21は、カメラヘッド部(図示せず)を画像処理装置に接続するためのインタフェースである。画像入力部21は、例えばカメラヘッド部からアナログの画像信号が供給されたとき、アナログの画像信号をディジタルの画像信号に変換する処理を行う。
【0025】
信号処理部22は、カメラヘッド部から供給された画像信号に対して、ノイズ除去やカラー処理、適切な諧調へ圧縮する等を行う。
【0026】
符号化処理部23は、信号処理部22で処理された画像信号に対して所定の圧縮符号化方式で圧縮符号化を行う。例えばJPEGやMPEG4等の方式で画像信号の圧縮符号化処理を行う。また、符号化処理部23は、圧縮符号化処理を行って得られた符号化信号を伝送部40に出力する。
【0027】
動体検出部30は、信号処理部22から出力された画像信号に基づいて動体検出を行う。また、動体検出部30は、動体検出結果を伝送部40に出力する。
【0028】
伝送部40は、動体検出部30からの動体検出結果、および符号化処理部23で得られた符号化信号を、ネットワーク等を介して外部機器例えば監視制御を行う監視制御装置に供給する。
【0029】
図3は、動体検出部の構成を示している。動体検出部30は、解像度変換部31、過去画像保持部32、座標指定部33、検出処理部34、検出結果処理部35を備えている。
【0030】
解像度変換部31は、信号処理部22から出力された画像信号を用いて解像度変換を行い、高解像度画像の画像信号と低解像度画像の画像信号を生成する。例えば、解像度変換部31は、信号処理部22から出力された画像信号が低解像度画像の画像信号であるとき、解像度変換を行い高解像度画像の画像信号を生成する。また、解像度変換部31は、信号処理部22から出力された画像信号が高解像度画像の画像信号であるとき、解像度変換を行い低解像度画像の画像信号を生成する。解像度変換部31は、低解像度画像の画像信号を過去画像保持部32と検出処理部34の近距離動体検出処理部34Sに出力する。解像度変換部31は、高解像度画像の画像信号を過去画像保持部32と検出処理部34の中距離動体検出処理部34Mと遠距離動体検出処理部34Lに出力する。
【0031】
過去画像保持部32は、解像度変換部31から出力された画像信号を記憶する。また、過去画像保持部32は、記憶している画像信号を近距離動体検出処理部34Sと中距離動体検出処理部34Mおよび遠距離動体検出処理部34Lに出力する。すなわち過去画像保持部32は、解像度変換部31から近距離動体検出処理部34Sと中距離動体検出処理部34Mおよび遠距離動体検出処理部34Lに供給される現画像の画像信号よりも過去の画像の画像信号を出力する。さらに、過去画像保持部32は、保持している画像信号を解像度変換部31から出力される画像信号で古い順から更新して、現画像から所定期間前までの過去画像の画像信号を記憶しておく。
【0032】
座標指定部33は、検出処理部34で動体検出を行う位置を、ユーザ操作に応じて設定する。例えば、座標指定部33は、ユーザが指定した位置を動体検出位置として、検出処理部34に通知する。
【0033】
検出処理部34は、現画像と過去画像を用いて動体検出を行う複数の動体検出処理部で構成されている。複数の動体検出処理部は、等しい構成とされている。動体検出処理部は、現画像と過去画像の解像度と、現画像と過去画像との時間間隔と、動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部と相違させる。すなわち、複数の動体検出処理部は、動体までの距離にかかわらず、いずれかの動体検出処理部で動体が検出できるように、動体検出特性が各動体検出処理部で異なる特性とされている。
【0034】
例えば、検出処理部34は、複数の動体検出処理部として近距離動体検出処理部34Sと中距離動体検出処理部34M、遠距離動体検出処理部34Lを有している。近距離動体検出処理部34Sと中距離動体検出処理部34Mおよび遠距離動体検出処理部34Lは、過去画像保持部32に保持されている過去画像の画像信号と、解像度変換部31から供給された現画像の画像信号を用いて動体検出を行う。ここで、近距離動体検出処理部34Sは、近接している動体の検出を行うことができるように動体検出の設定を行う。また、遠距離動体検出処理部34Lは、離れている動体の検出を行うことができるように動体検出の設定を行う。さらに、中距離動体検出処理部34Mは、近距離動体検出処理部34Sで検出する近接した動体と、遠距離動体検出処理部34Lで検出する離れた動体との中間に位置する動体の検出を行うことができるように動体検出の設定を行う。さらに、近距離動体検出処理部34Sと中距離動体検出処理部34Mおよび遠距離動体検出処理部34Lは、座標指定部33で指定された位置で動体検出を行う。
【0035】
図4は、検出処理部34における1つの動体検出処理部の構成を示している。動体検出処理部は、特徴点検出部341、特徴点登録部342、特徴点追跡部343、特徴点削除部344、判定部345を有している。
【0036】
特徴点検出部341は、特徴点の検出を行い、検出した特徴点を特徴点登録部342に登録する処理を行う。特徴点検出部341は、予め指定した複数の位置で動きベクトルの算出を行い、動き量が所定量以上となる位置を特徴点として特徴点登録部342に登録する。また、特徴点検出部341は、指定されている位置の動き量が所定量未満であるとき、静止点である可能性が高いとして登録を行わないようにする。
【0037】
特徴点登録部342は、特徴点検出部341で検出された特徴点を登録する。また、特徴点登録部342は、後述する特徴点削除部344で削除指示がなされた特徴点を、登録されている特徴点から削除する。
【0038】
特徴点追跡部343は、特徴点登録部342に登録されている特徴点に対し、追跡処理を行う。追跡処理とは、時間の経過に伴い特徴点がいずれの位置に移動するか追跡する処理である。特徴点追跡部343は、特徴点の追跡を行い、追跡結果を特徴点削除部344に出力する。
【0039】
特徴点削除部344は、特徴点追跡部343から出力された追跡結果に基づき、人や車などの動体の動きとは異なる動きを示す不要な特徴点を判別して削除する。特徴点削除部344は、不要な特徴点を判別するための判定基準が予め設定されている。特徴点削除部344は、特徴点の追跡結果に対して判定基準を適用して、動体の動きとは異なる動きを示す不要な特徴点の削除を行い、削除されていない特徴点を判定部345に出力する。また、特徴点削除部344は、特徴点の移動方向と移動速度と位置および追跡期間の少なくともいずれかを判定基準として用いて判定を行い、不要な特徴点を削除する。さらに、特徴点削除部344は、特徴点削除部344で削除した特徴点の削除指示を特徴点登録部342に対して行い、特徴点登録部342に登録されている特徴点から特徴点削除部344で削除した特徴点を削除させる。
【0040】
判定部345は、特徴点削除部344で削除されなかった特徴点に基づいて動体が検出されたか否かの判定を行う。撮像画像に動体が含まれると、動体部分では多数の特徴点が近い位置となり、かつ各特徴点の移動方向は同様な方向となる。したがって、判定部345は、特徴点の数と追跡後の位置と移動方向に基づいて、動体を検出したか否か判定する。具体的には、判定部345は、近接している特徴点の数が予め設定されている動体判別閾値以上であって、各特徴点の移動方向が同様な方向であったとき、動体を検出したと判別して検出結果を出力する。
【0041】
図3に戻り、検出結果処理部35は、検出処理部34における複数の動体検出処理部の検出結果を統合処理して、伝送部40に出力する。例えば、検出結果処理部35は、複数の動体検出処理部のいずれかで動体が検出されたとき、動体が検出されたとして、動体検出結果を伝送部40に出力する。また、検出結果処理部35は、動体検出結果に、複数の動体検出処理部のいずれで動体が検出されたかを示す情報を含めるようにしてもよい。複数の動体検出処理部のいずれで動体が検出されたかを示す情報を動体検出結果に含めれば、検出された動体が近接した位置であるか離れた位置であるか判別できるようになる。
【0042】
「1−2.動体検出方法」
次に、動体検出方法について説明する。動体検出処理部は、現画像と過去画像を用いた動体検出方法として、指定された複数の位置例えば座標指定部33で指定された位置で所定量以上の動きが生じたとき特徴点として、特徴点の追跡を行う。さらに、特徴点の追跡では、人や車などの動きとは異なる動き、例えば木々の揺らぎなどのように振動に近い動きや1フレームで急激に速度が変更されるような動きを行っている特徴点を削除して追跡を行う。さらに、多数の特徴点が同じ方向に移動しているか判定することにより、外乱に強い動体の検知を行う。
【0043】
特徴点検出部341は、座標指定部33で指定された複数の位置の動きベクトルを算出して、算出した動きベクトルの動き量に基づき特徴点の検出を行う。
【0044】
動きベクトルの算出方法は、テンプレートマッチング方法や勾配法など様々な方法を用いることができるが、以下の説明では比較的外乱に強いテンプレートマッチング方法を用いた場合について説明する。
【0045】
図5は、動きベクトルの算出方法を説明するための図である。テンプレートマッチング方法では、動きベクトルを求めたい位置を基準とした周辺の画像、例えば図5の(A)において破線で示すように、頭付近の画像をテンプレートTPとして切り出す。その切り出しを行ったテンプレートTPが図5の(B)において一点鎖線で示す探索範囲SAのどこに移動したかを探索することにより、動きベクトルMVを算出する。この場合、画面全体を探索すると他の類似物が見つかる可能性があり、おかしな動きベクトルを求めてしまう可能性や、探索範囲が大きくなると計算量が増えてしまうという問題があるため、一般的には一定範囲の中で探索範囲を設定して一致する箇所を探索する。
【0046】
探索している箇所と、テンプレートが一致しているかの判定方法としては様々な手法が提案されている。例えばSAD(Sum of Absolute Differences)と呼ばれる手法や正規化相互相関と呼ばれる手法が一般的には用いられる。なお、テンプレート自体を何らかの特徴量(例えばヒストグラムや周波数等)に変換してから一致する箇所を求める場合もある。
【0047】
テンプレートマッチング方法を用いた場合、特徴点検出部341は、図6に示すように、座標指定部33で指定された位置(白丸で示す位置)を基準とした画像をテンプレートTPとして、テンプレート毎に動きベクトルを算出する。なお、図6では9つの位置が指定されて、9個のテンプレートTP(破線で示す)が設定された場合を例示している。
【0048】
テンプレートは、検出する動体のサイズおよび画像の解像度に応じて適切なサイズに設定する。例えば、画像が低解像度で検出する動体のサイズが小さいとき、テンプレートが大きすぎると動体の画像部分がテンプレートで少なくなってしまう。このため、特徴点検出部341は、テンプレートマッチングを行ったときに、動体の動きベクトルを正しく算出することができないおそれがある。また、検出する動体のサイズが大きく画像が高解像度であるとき、テンプレートが小さすぎると動体の特徴がテンプレートに現れなくなってしまう。このため、特徴点検出部341は、テンプレートマッチングを行ったときに、テンプレートに類似した画像が複数検出されて、動きベクトルを正しく算出することができないおそれがある。したがって、テンプレートは、検出する動体のサイズおよび画像の解像度に応じて適切なサイズに設定することで、動体が指定された位置となったとき、テンプレートマッチングによって動体の動きベクトルを正しく算出できるようにする。
【0049】
また、図6では、複数のテンプレートが連続して設けられている場合を示しているが、テンプレートは離れて設けられてもよい。
【0050】
特徴点検出部341は、各テンプレートについて、過去画像を用いてテンプレートマッチングを行い、テンプレート毎に動きベクトルを算出する。特徴点検出部341は、テンプレートの動き量が予め設定した所定量以上のとき、指定された位置を特徴点として特徴点登録部342に登録する。また、特徴点検出部341は、テンプレートの動き量が所定量未満であるときは、特徴点の登録を行わないようにする。
【0051】
図7は、画像内に動体が含まれたときの特徴点を例示している。なお、図7では動体OBが図の右から左に移動する場合を示している。また、図7では、指定された位置を白丸、特徴点として登録された場合を黒丸で示している。
【0052】
図7の(A)に示すように時点t0で動体OBが指定された位置に到達していないときは、特徴点の登録が行われない。次に、図7の(B)に示すように、時点t1で動体OBが、指定された位置における右側の3つの位置に達すると、右側の3つの位置のテンプレートは、動体OBの画像となる。したがって、指定された位置における右側の3つの位置が特徴点として登録される。図7の(C)に示すように時点t2で動体OBが、指定された9つの位置となると、9つの位置のテンプレートは、動体OBの画像となる。したがって、指定された9つの位置が特徴点として登録される。図7の(D)に示すように示すように時点t3で動体OBが、指定された位置における左側の3つの位置に残っていると、左側の3つの位置のテンプレートは、動体OBの画像となる。したがって、指定された位置における左側の3つの位置が特徴点として登録される。また、図7の(E)に示すように時点t4で動体OBが指定された位置を通過して、指定された位置に動体OBが残っていないときは、特徴点の登録が行われない。
【0053】
このように、特徴点検出部341は、指定された位置の動き量に基づき特徴点を検出して、検出した特徴点を特徴点登録部342に登録する。例えば特徴点検出部341は、フレーム毎に現画像上の指定された位置の動きベクトルを求めて、特徴点の検出および登録を行う。したがって、特徴点登録部342には、フレーム毎に検出された特徴点が順次登録されることになる。
【0054】
特徴点追跡部343は、特徴点登録部342に登録されている特徴点についてテンプレートマッチング方法を用いて追跡を行う。すなわち、特徴点追跡部343は、登録されている特徴点について、動きベクトルを算出する。図8は、特徴点の追跡状態を例示している。特徴点追跡部343は、図8の(A)に示すように、例えば時点t1で検出された特徴点FPaについて、時点t2における位置(三角印で示す)、時点t3における位置(四角印で示す位置)、時点t3以降の位置を追跡する。また、特徴点追跡部343は、図8の(B)に示すように、例えば時点t2で検出された特徴点FPbについて、時点t3における位置(四角印で示す位置)、時点t3以降の位置を追跡する。さらに、特徴点追跡部343は、図示せずも、時点t3以降で検出された特徴点についても同様に追跡を行う。
【0055】
特徴点削除部344は、特徴点追跡部343から出力された追跡結果に対して判定基準を適用して、動体の動きとは異なる動きを示す不要な特徴点の削除を行う。特徴点削除部344は、特徴点の移動方向と移動速度と位置および追跡期間の少なくともいずれかを判定基準として用いて判定を行う。例えば、特徴点削除部344は、以下の判定基準を用いて不要な特徴点を削除する。なお、図9は、削除対象の特徴点を説明するための図である。
【0056】
削除対象の特徴点を判定する判定基準
・図9の(A)に示すように、1フレーム間において急激に移動速度が変化する特徴点FPD
・図9の(B)に示すように、急激に移動方向が変化する特徴点FPD
・図9の(C)に示すように、一定距離以内に他の特徴点がない特徴点FPD
また、特徴点を例えばフレーム毎に検出して登録すると、特徴点登録部342に登録されている特徴点の数が多くなり、特徴点を追跡するための演算量も多くなってしまう。そこで、特徴点削除部344は、一定時間以上追跡している特徴点を削除対象に含めることで、演算量が多くなってしまうことを防止する。
【0057】
特徴点削除部344は、削除対象と判定された特徴点を削除して、削除されていない特徴点を判定部345に出力する。また、特徴点削除部344は、特徴点削除部344で削除した特徴点の削除指示を特徴点登録部342に対して行い、特徴点登録部342に登録されている特徴点から特徴点削除部344で削除した特徴点を削除させる。特徴点削除部344は、このように特徴点の削除を行い、動体を示す可能性の高い特徴点を判定部345に出力する。
【0058】
判定部345は、特徴点削除部344で削除されなかった特徴点のデータを参照し通過判定を行う。ここで、例えば物体の通過の場合、多数の特徴点が近い位置となり、かつ各特徴点の移動方向は同様な方向となる。したがって、判定部345は、近接している特徴点の数が予め設定されている通過判別閾値以上であって、各特徴点の移動方向が同様な方向であったとき、動体を検出したとして検出結果を出力する。なお、動体を示す特徴点は、近接した位置であって複数フレームで同様な方向となることから、判定部345は、特徴点削除部344から出力された特徴点のデータを複数フレーム期間分用いて判定を行うようにしてもよい。
【0059】
動体検出処理部は、現画像と過去画像の解像度と、現画像と過去画像との時間間隔と、動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部と相違させて、複数の動体検出処理部において、動体の遠近状態に対する動体検出特性が互いに異なるようにする。
【0060】
ここで、例えば3つの動体検出処理部を設けて、近距離動体検出処理部34Sと中距離動体検出処理部34Mと遠距離動体検出処理部34Lとして動作させる場合、例えば、表1に示すように設定する。
【0061】
【表1】
【0062】
近距離動体検出処理部34Sは、低解像度の画像と、過去画像として近い過去の画像(例えば1フレーム前)を用いて動体検出を行う。
【0063】
中距離動体検出処理部34Mは、近距離動体検出処理部34Sで用いる画像よりも高解像度(例えば近距離動体検出処理部34Sで用いる画像の2倍の解像度)の画像と、過去画像として近い過去の画像(例えば1フレーム前)を用いて動体検出を行う。
【0064】
遠距離動体検出処理部34Lは、中距離動体検出処理部34Mで用いる画像と等しい高解像度の画像と、過去画像として遠い過去の画像(例えば5フレーム前)を用いて動体検出を行う。
【0065】
図10は、動体が近距離である場合を説明するための図である。なお、図10において、実線は現画像における動体OB、破線は過去画像における動体OBをそれぞれ示しており、動体OBの移動後の位置を現画像から検出して動きベクトルを算出する場合を示している。また、後述する図11、図12も同様である。
【0066】
図10の(A)に示すように、低解像度の画像を用いて動体検出を行う場合、一点鎖線で示す領域をテンプレートマッチングの探索範囲SAとすれば、動体検出処理部は、動体OBの動きベクトルを求めることができる。しかし、図10の(B)に示すように、高解像度の画像を用いて、低解像度の画像を用いた場合と等しいサイズである一点鎖線で示す領域をテンプレートマッチングの探索範囲SAとすると、動体検出処理部は、動体の動きベクトルを求めることができない。このため、高解像度の画像を用いる場合、特徴点検出部341や特徴点追跡部343は、例えば二点鎖線で示す広い探索範囲SBを設けなければ動体の動きベクトルを算出できないことから、動きベクトルの算出に時間を要してしまう。また、通過する動体が近距離である場合、動体の画像は動体が離れている場合に比べて大きい。したがって、近距離動体検出処理部34Sは、低解像度の画像を用いて近距離の動体の検出を行う。
【0067】
図11は、動体が中距離である場合を説明するための図である。図11の(A)に示すように、低解像度の画像を用いて動体検出を行う場合、中距離の動体は、現画像と過去画像との間で低解像度の画像における移動距離が少ない。このため、動体検出処理部は、動体の動きベクトルを精度よく求めることが困難となる。しかし、図11の(B)に示すように、高解像度の画像を用いると、現画像と過去画像との間で高解像度の画像における動体の移動距離は、低解像度の画像における移動距離よりも大きくなる。このため、動体検出処理部は、動体の動きベクトルを精度よく求めることができるようになる。したがって、中距離動体検出処理部34Mは、高解像度の画像を用いて中距離の動体の検出を行う。
【0068】
図12は、動体が遠距離である場合を説明するための図である。図12の(A)に示すように、低解像度の画像を用いて動体検出を行う場合、遠距離の動体は、現画像と過去画像との間で低解像度の画像における移動距離が少ない。また、動体の画像サイズは、動体が中距離である場合に比べて小さくなる。このため、動体検出処理部は、動体の動きベクトルを精度よく求めることが困難となる。また、図12の(B)に示すように、高解像度の画像を用いると、現画像と過去画像との間で高解像度の画像における動体の移動距離は、低解像度の画像における移動距離よりも大きくなる。しかし、現画像と近い過去画像との間では、高解像度の画像を用いても移動距離が少ない。このため、図12の(C)に示すように、過去画像として遠い過去画像すなわち現画像と過去画像との時間間隔を長くして移動距離を大きくすれば、動体検出処理部は、動体の動きベクトルを精度よく求めることができる。したがって、遠距離動体検出処理部34Lは、高解像度の画像を用いるだけでなく、遠い過去画像を用いて遠距離の動体の検出を行う。
【0069】
このように、検出処理部34は、近距離動体検出処理部34Sと中距離動体検出処理部34Mと遠距離動体検出処理部34Lで上述のように動体検出を行うことから、動体が近距離であるか中距離であるか遠距離であるかにかかわらず動体を安定して検出できる。
【0070】
さらに、近距離動体検出処理部34Sと中距離動体検出処理部34Mと遠距離動体検出処理部34Lは、それぞれ特徴点を検出して、検出した特徴点の追跡結果に基づいて動体検出を行うことから、安定して動体の検出を行うことができる。
【0071】
なお、第1の実施の形態では近距離、中距離、遠距離という3段階で処理を行っているが、解像度や時間間隔をさらに細かく区分ことで、4段階や5段階等のように段階を増やすことができる。この段階を増やすという処理により、広い範囲速度に対応して検知が可能な処理を行うことができるようになる。
【0072】
また、画像上における動き量は、動体が近接しているとき大きく、動体が遠方であるとき小さい。したがって、動体検出処理部は、動きベクトルの探索範囲を制御して、動体の遠近状態に対する動体検出特性を異なるようにしてもよい。
【0073】
さらに、動体検出処理部は、現画像と過去画像の解像度と、現画像と過去画像との時間間隔と、動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部と相違させることで、動体の移動速度にかかわらず安定して動体を検出できる。例えば、動体の移動速度が速いと、特徴点が探索範囲を超えて移動してしまい、動体検出処理部は、特徴点を追跡できなくなってしまう。しかし、現画像と過去画像との時間間隔を短くすれば、特徴点が移動しても探索範囲内となり、動体検出処理部は、追跡結果に基づいて動体を検出できるようになる。また、動体の移動速度が遅いと、低解像度の画像から動きベクトルを精度よく算出することが困難となり、動体検出処理部は、特徴点の登録や追跡を安定して行うことができない。しかし、高解像度の画像を用いれば、低解像度の画像から動きベクトルを算出する場合に比べて精度よく動きベクトルを算出すること可能となるので、動体検出処理部は、特徴点の登録や追跡を安定して行うことができる。さらに、探索範囲を広くすれば、動体検出処理部は、移動速度の速い動体を検出できるようになる。すなわち、動体検出処理部は、現画像と過去画像の解像度と、現画像と過去画像との時間間隔と、動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部と相違させることで、動体の移動速度にかかわらず安定して動体を検出できるようになる。
【0074】
<2.第2の実施の形態>
次に、第2の実施の形態について説明する。上述の動体検出部30は、検出処理部34の近距離動体検出処理部34Sと中距離動体検出処理部34Mと遠距離動体検出処理部34Lが個々に動体検出を行っている。このため、例えば中距離動体検出処理部34Mで検出できる動体を近距離動体検出処理部34Sでも検出したり、遠距離動体検出処理部34Lで検出できる動体を中距離動体検出処理部34Mでも検出したり、検出動作が重複してしまう場合ある。そこで、第2の実施の形態では、他の動体検出部で行われる動体検出の設定情報を利用して、他の動体検出処理部で検出される動体が重複して検出されることが少なくなり、効率よく動体検出を行うことができる動体検出部について説明する。
【0075】
「2−1.動体検出部の他の構成」
図13は、動体検出部の他の構成を示している。なお、図13において、図3と対応する部分については同一符号を付し、詳細な説明は省略する。
【0076】
動体検出部30aの検出処理部34aは、例えば近距離動体検出処理部34Saと中距離動体検出処理部34Maおよび遠距離動体検出処理部34Laを有している。近距離動体検出処理部34Saと中距離動体検出処理部34Maおよび遠距離動体検出処理部34Laは、過去画像保持部32に保持されている過去画像の画像信号と、信号処理部12,22から供給された現画像の画像信号を用いて動体検出を行う。近距離動体検出処理部34Saは、近接している動体の検出を行うことができるように動体検出の設定を行う。遠距離動体検出処理部34Laは、離れている動体の検出を行うことができるように動体検出の設定を行う。また、中距離動体検出処理部34Maは、近距離動体検出処理部34Saで検出する近接した動体と、遠距離動体検出処理部34Laで検出する離れた動体との中間に位置する動体の検出を行うことができるように動体検出の設定を行う。
【0077】
さらに、近距離動体検出処理部34Saと中距離動体検出処理部34Maおよび遠距離動体検出処理部34Laは、他の動体検出処理部で行われる動体検出の設定情報を利用して、他の動体検出部と重複しないように動体検出を行う。他の動体検出処理部で行われる動体検出の設定情報としては、例えば検出可能な動きに関する情報や探索範囲に関する情報や過去画像の情報を用いる。
【0078】
「2−2.動体検出方法」
次に、特徴点検出部341で他の動体検出処理部から供給された検出可能な動きに関する情報を利用する場合について説明する。高解像度の画像を用いる動体検出処理部と低解像度の画像を用いる動体検出処理部において、例えば画像のフレームレートが等しく、高解像度の画像は低解像度の画像に対して2倍の解像度とする。この場合、高解像度の画像を用いる動体検出処理部において動き量がNピクセルの動きを検出する処理は、低解像度の画像を用いる動体検出処理部において動き量が(N/2)ピクセルの動きを検出する処理に相当する。したがって、高解像度の画像を用いる動体検出処理部において、Nピクセルまでの動き量が検出可能である場合、低解像度の画像を用いる動体検出処理部は、(N/2)ピクセルのまでの動き量を示す位置は特徴点として登録しないようにする。
【0079】
このようにすれば、特徴点登録部342に登録される特徴点を削減できるので、特徴点追跡部343の演算を削減することが可能となり、動体検出を高速に行うことができる。
【0080】
また、低解像度の画像を用いる動体検出処理部は、(N/2)ピクセルよりも少ない動き量を基準として、この基準よりも動き量が大きい位置を特徴点として登録してもよい。この場合、高解像度の画像を用いる動体検出処理部と低解像度の画像を用いる動体検出処理部とで、動体検出を一部重複させることが可能となり、動体検出部30aは、安定した動体検出を行うことができる。
【0081】
次に、特徴点追跡部343で他の動体検出処理部から供給された探索範囲を示す情報を利用する場合について図14を用いて説明する。高解像度の画像を用いる動体検出処理部と低解像度の画像を用いる動体検出処理部において、画像フレームレートが等しく、高解像度の画像は例えば低解像度の画像に対して2倍の解像度とする。また、図14に示すように、高解像度の画像を用いる動体検出処理部と低解像度の画像を用いる動体検出処理部における特徴点追跡部の探索範囲SAをそれぞれ(J×K)ピクセルとする。この場合、図14の(B)に示す高解像度の画像に対する探索範囲SAは、図14の(A)に示すように低解像度の画像に対する探索範囲SAに含まれる斜線で示す範囲SCに相当する。すなわち、中解像度の画像に対する探索範囲は、(J×K)ピクセルの探索範囲SAから高解像度の画像に対する探索範囲((J/2)×(K/2))相当する範囲SCを除外した範囲(J×K−((J/2)×(K/2)))で行えばよい。このように探索範囲を設定すると、探索範囲を削減できることから、動体検出部30aは、特徴点の追跡を高速に行うことができるようになる。
【0082】
また、低解像度の画像を用いる動体検出処理部は、範囲SCよりも小さい範囲を除外してもよい。この場合、高解像度の画像を用いる動体検出処理部と低解像度の画像を用いる動体検出処理部とで、動体検出を一部重複させることが可能となり、動体検出部30aは、安定した動体検出を行うことができる。
【0083】
次に、特徴点追跡部343で他の動体検出処理部から供給された過去画像の情報を利用する場合について説明する。近い過去画像を用いる動体検出処理部と遠い過去画像を用いる動体検出処理部において、近い過去画像がHフレーム前の画像であり遠い過去画像が例えば5Hフレーム前の画像とする。
【0084】
この場合、遠い過去画像の探索範囲が(J×K)ピクセルであるとすると、近い過去画像は、遠い過去画像に対してフレーム間隔が(1/5)の期間であり、動きを(1/5)と考えると、遠い過去画像を用いるときの探索範囲は、近い過去画像を用いるとき、((J/5)×(K/5))ピクセルの範囲に相当する。したがって、近い過去画像を用いる特徴点追跡部は、(J×K)ピクセルの探索範囲から近い過去画像の時間間隔に対応する((J/5)×(K/5))の範囲を除外した((J−J/5)×(K−K/5))の範囲で行えばよい。このように探索範囲を設定すると、探索範囲を削減できることから、動体検出部30aは、特徴点の追跡を高速に行うことができるようになる。
【0085】
また、近い過去画像を用いる動体検出処理部は、((J/5)×(K/5))ピクセルの範囲よりも小さい範囲を除外すれば、近い過去画像を用いる動体検出処理部と遠い過去画像を用いる動体検出処理部とで、動体検出を一部重複させることが可能となり、安定した動体検出を行うことができる。
【0086】
<3.ソフトウェア処理で動体検出を行う場合の構成>
また、上述した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、プログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させる。あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させる。
【0087】
図15は、上述した処理をプログラムにより実行するコンピュータの構成を例示した図である。コンピュータ装置60のCPU61(Central Processing Unit)は、ROM(Read Only Memory)62、または記録部69に記録されているプログラムにしたがって各種の処理を実行する。
【0088】
RAM63(Random Access Memory)には、CPU61が実行するプログラムやデータなどが適宜記憶される。これらのCPU61、ROM62、およびRAM63は、バス64により相互に接続されている。
【0089】
CPU61にはまた、バス64を介して入出力インタフェース65が接続されている。入出力インタフェース65には、タッチパネルやキーボード、マウス、マイクロフォンなどのユーザインタフェース部66、画像信号を入力するための入力部67、ディスプレイなどよりなる出力部68が接続されている。CPU61は、ユーザインタフェース部66から入力される指令に対応して、入力部67から入力された画像信号を用いて各種の処理を実行する。そして、CPU61は、処理の結果を出力部68に出力する。
【0090】
入出力インタフェース65に接続されている記録部69は、例えばハードディスクからなり、CPU61が実行するプログラムや各種のデータを記録する。通信部70は、インターネットやローカルエリアネットワークなどのネットワークやディジタル放送といった有線または無線の通信媒体を介して外部の装置と通信する。
【0091】
ドライブ71は、リムーバブルメディア72が装着されたとき、それらを駆動して、記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じてROM62やRAM63または記録部69に転送される。
【0092】
なお、プログラムは、例えばハードディスクやROM(Read Only Memory)に予め記録しておく。または、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブルメディア72に、一時的あるいは永続的に格納(記録)しておき、ドライブ71で読み出すようにする。さらに、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送する。コンピュータでは、通信部70を介して転送されてきたプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールするようにしてもよい。
【0093】
CPU61は、プログラムを実行して、コンピュータ装置60を、現画像と過去画像を用いて算出した動きベクトルに基づいて動体の検出を行う複数の動体検出機能手段として機能させる。また、動体検出機能手段では、現画像と過去画像の解像度と、現画像と過去画像との時間間隔と、動きベクトルの探索範囲の少なくともいずれかを他の動体検出機能手段と相違させて動体の検出を行う。
【0094】
このようにすれば、入力部67から入力された画像信号や、通信部70を介して供給された画像信号に基づいて、動体までの距離や動体の移動速度にかかわらず安定して動体検出を行うことができる。
【0095】
なお、本発明は、上述した発明の実施の形態に限定して解釈されるべきではない。例えば、座標指定部33で指定される位置は、図6に示すように画像の中央部分だけでなく、例えば左右に移動する動体を検出する場合には、画像の左右の端部側に設定してもよい。この発明の実施の形態は、例示という形態で本発明を開示しており、本発明の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【産業上の利用可能性】
【0096】
この発明の動体検出装置と動体検出方法およびプログラムでは、複数の動体検出処理部で、現画像と過去画像を用いて算出した動きベクトルに基づき動体検出が行われる。動体検出処理部では、現画像と過去画像の解像度と、現画像と過去画像との時間間隔と、動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部と相違させて動体の検出が行われる。したがって、複数の動体検出処理部は、動体の遠近状態や移動速度に対する動体検出特性が互いに異なる特性となる。このため、動体までの距離や動体の移動速度にかかわらず安定して動体を検出できるようになるので、監視装置や侵入検知システム等に適している。
【符号の説明】
【0097】
10・・・撮像装置、11・・・撮像部、12,22・・・信号処理部、13,23・・・符号化処理部、20・・・画像処理装置、21・・・画像入力部、23・・・符号化処理部、30,30a・・・動体検出部、31・・・解像度変換部、32・・・過去画像保持部、33・・・座標指定部、34,34a・・・検出処理部、34L,34La・・・遠距離動体検出処理部、34M,34Ma・・・中距離動体検出処理部、34S,34Sa・・・近距離動体検出処理部、35・・・検出結果処理部、40・・・伝送部、60・・・コンピュータ装置、61・・・CPU、62・・・ROM、63・・・RAM、64・・・バス、65・・・入出力インタフェース、66・・・ユーザインタフェース部、67・・・入力部、68・・・出力部、69・・・記録部、70・・・通信部、71・・・ドライブ、72・・・リムーバブルメディア、341・・・特徴点検出部、342・・・特徴点登録部、343・・・特徴点追跡部、344・・・特徴点削除部、345・・・判定部
【技術分野】
【0001】
この発明は、動体検出装置と動体検出方法とプログラムに関する。詳しくは、動体までの距離や動体の移動速度にかかわらず安定して動体を検出できるようにする。
【背景技術】
【0002】
従来の監視カメラにおける侵入検知システムでは動体検出が行われている。例えば特許文献1は、撮像した画像データが複数エリアのブロックに分割される。また、各画像ブロックの平滑化された画像データについて状態変化の有無が検出される。この検出された状態変化有無ブロックのマップと、既に検出されている状態変化有無ブロックのマップを比較して、状態変化有りブロックの移動に伴う誤差発生ブロック数が算出されて、算出された誤差発生ブロック数が予め設定した数値を超えたときに動きを検知したと判断されている。
【0003】
また、特許文献2の発明では、過去の複数枚の画像データが参照画像データとして保存される。この保存されている複数枚の参照画像データと撮影された画像データとで画素あるいは小領域での各々の差異が検出される。さらに、検出された差異の連続性あるいは出現性を元に画像データ中の移動物体が検出されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−102556号公報
【特許文献2】特開2006−107457号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、状態変化有りブロックの移動に伴う誤差発生ブロックの数が予め設定した数値を超えたとき動きを検知したと判別する場合、動体が遠方に位置していると、動き検知の精度低下を招くおそれがある。すなわち、動体が遠方であると、撮影画像における動体の画像サイズが小さい。したがって、動体が遠方であると誤差発生ブロックの数は大きくならず、動きを検知することができない。
【0006】
また、撮影された画像データと参照画像データとで画素あるいは小領域での各々の差異から動体を検出する場合においても、動体が遠方であるか近接した位置であるかに応じて、差異の連続性や出現性が大きく変化する。したがって、動体が遠方であるときと近接した位置にあるときで、動体の検知精度が大きく変化してしまうおそれがある。
【0007】
そこで、この発明では、動体までの距離や動体の移動速度にかかわらず安定して動体を検出できる動体検出装置と動体検出方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
この発明の第1の側面は、現画像と過去画像を用いて算出した動きベクトルに基づいて動体の検出を行う複数の動体検出処理部を備え、前記動体検出処理部は、前記現画像と過去画像の解像度と、前記現画像と過去画像との時間間隔と、前記動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部と相違させて動体の検出を行う動体検出装置にある。
【0009】
この発明において、複数の動体検出処理部では、指定した複数の位置において、動き量が所定量以上となる位置を特徴点として、時間の経過に伴い特徴点がいずれの位置に移動するか追跡する。さらに、予め設定した判定基準を用いて特徴点の追跡結果から、特徴点の移動方向と移動速度と位置および追跡期間の少なくともいずれかを用いて不要な特徴点の判定を行い、不要とされた特徴点を削除して、残った特徴点に基づいて動体が検出されたか否かの判定が行われる。
【0010】
また、動体検出処理部では、他の動体検出処理部で行われる動体検出の設定情報に基づき、他の動体検出処理部で検出される動体を重複して検出することが少なくなるように動きベクトルの探索範囲が設定される。
【0011】
この発明の第2の側面は、複数の動体検出処理部のそれぞれで、現画像と過去画像を用いて算出した動きベクトルに基づいて動体の検出を行う動体検出ステップを有し、前記動体検出ステップでは、前記現画像と過去画像の解像度と、前記現画像と過去画像との時間間隔と、前記動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部で行われる動体検出ステップと相違させて動体の検出を行う動体検出方法にある。
【0012】
この発明の第3の側面は、コンピュータを、現画像と過去画像を用いて算出した動きベクトルに基づいて動体の検出を行う複数の動体検出機能手段として機能させて、前記動体検出機能手段では、前記現画像と過去画像の解像度と、前記現画像と過去画像との時間間隔と、前記動きベクトルの探索範囲の少なくともいずれかを他の動体検出機能手段と相違させて動体の検出を行われるためのプログラムにある。
【0013】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【発明の効果】
【0014】
この発明によれば、複数の動体検出処理部で、現画像と過去画像を用いて算出した動きベクトルに基づき動体検出が行われる。動体検出処理部では、現画像と過去画像の解像度と、現画像と過去画像との時間間隔と、動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部と相違させて動体の検出が行われる。したがって、複数の動体検出処理部は、動体までの距離や動体の移動速度にかかわらず安定して動体を検出できるようになる。
【図面の簡単な説明】
【0015】
【図1】動体検出装置を撮像装置と一体に構成した場合の機能ブロック図である。
【図2】カメラヘッド部と別個に構成されている画像処理装置に動体検出装置を設けた場合を示す機能ブロック図である。
【図3】動体検出部の構成を示す図である。
【図4】動体検出処理部の構成を示す図である。
【図5】動きベクトルの算出方法を説明するための図である。
【図6】テンプレートマッチング方法を用いる場合の動作を説明するための図である。
【図7】特徴点を例示した図である。
【図8】特徴点の追跡状態を例示した図である。
【図9】削除対象の特徴点を説明するための図である。
【図10】動体が近距離にある場合を説明するための図である。
【図11】動体が中距離にある場合を説明するための図である。
【図12】動体が遠距離にある場合を説明するための図である。
【図13】動体検出部の他の構成を示す図である。
【図14】探索範囲を示す情報を利用する場合の動作を説明するための図である。
【図15】コンピュータの構成を例示した図である。
【発明を実施するための形態】
【0016】
以下、発明を実施するための形態について説明する。この発明では、複数の動体検出処理部を設けて動体検出を行い、動体検出処理部は、現画像と過去画像の解像度と、現画像と過去画像との時間間隔と、動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部と相違させることで、動体までの距離や動体の移動速度にかかわらず安定して動体を検出できるようにする。なお、説明は以下の順序で行う。
1.第1の実施の形態
1−1.動体検出装置の構成
1−2.動体検出方法
2.第2の実施の形態
2−1.動体検出部の他の構成
2−2.動体検出方法
3.ソフトウェア処理で動体検出を行う場合の構成
【0017】
<1.第1の実施の形態>
「1−1.動体検出装置の構成」
図1は、動体検出装置を撮像装置と一体に構成した場合を示す機能ブロック図である。撮像装置10は、撮像部11、信号処理部12、符号化処理部13、動体検出部30、伝送部40を備えている。
【0018】
撮像部11は、CCD(Charge Coupled Device)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等の固体撮像素子を用いて構成されている。撮像部11は、例えば監視対象領域を撮像して画像信号を出力する。
【0019】
信号処理部12は、撮像部11から出力された画像信号に対して、ノイズ除去やカラー処理、適切な諧調へ圧縮する等を行う処理である。
【0020】
符号化処理部13は、信号処理部12で処理された画像信号に対して所定の符号化方式で画像信号の圧縮処理を行う。例えばJPEG(Joint Photographic Experts Group)やMPEG4(Moving Picture Experts Group phase 4)等の方式で画像信号の符号化処理を行う。また、符号化処理部13は、符号化処理を行って得られた符号化信号を伝送部40に出力する。
【0021】
動体検出部30は、信号処理部12から出力された画像信号に基づいて動体検出を行う。また、動体検出部30は、動体検出結果を伝送部40に出力する。
【0022】
伝送部40は、動体検出部30からの動体検出結果、および符号化処理部13で得られた符号化信号を、ネットワーク等を介して外部機器例えば監視制御を行う監視制御装置に供給する。
【0023】
図2は、カメラヘッド部と別個に構成されている画像処理装置に動体検出装置を設けた場合を示す機能ブロック図である。画像処理装置20は、画像入力部21、信号処理部22、符号化処理部23、動体検出部30、伝送部40を備えている。
【0024】
画像入力部21は、カメラヘッド部(図示せず)を画像処理装置に接続するためのインタフェースである。画像入力部21は、例えばカメラヘッド部からアナログの画像信号が供給されたとき、アナログの画像信号をディジタルの画像信号に変換する処理を行う。
【0025】
信号処理部22は、カメラヘッド部から供給された画像信号に対して、ノイズ除去やカラー処理、適切な諧調へ圧縮する等を行う。
【0026】
符号化処理部23は、信号処理部22で処理された画像信号に対して所定の圧縮符号化方式で圧縮符号化を行う。例えばJPEGやMPEG4等の方式で画像信号の圧縮符号化処理を行う。また、符号化処理部23は、圧縮符号化処理を行って得られた符号化信号を伝送部40に出力する。
【0027】
動体検出部30は、信号処理部22から出力された画像信号に基づいて動体検出を行う。また、動体検出部30は、動体検出結果を伝送部40に出力する。
【0028】
伝送部40は、動体検出部30からの動体検出結果、および符号化処理部23で得られた符号化信号を、ネットワーク等を介して外部機器例えば監視制御を行う監視制御装置に供給する。
【0029】
図3は、動体検出部の構成を示している。動体検出部30は、解像度変換部31、過去画像保持部32、座標指定部33、検出処理部34、検出結果処理部35を備えている。
【0030】
解像度変換部31は、信号処理部22から出力された画像信号を用いて解像度変換を行い、高解像度画像の画像信号と低解像度画像の画像信号を生成する。例えば、解像度変換部31は、信号処理部22から出力された画像信号が低解像度画像の画像信号であるとき、解像度変換を行い高解像度画像の画像信号を生成する。また、解像度変換部31は、信号処理部22から出力された画像信号が高解像度画像の画像信号であるとき、解像度変換を行い低解像度画像の画像信号を生成する。解像度変換部31は、低解像度画像の画像信号を過去画像保持部32と検出処理部34の近距離動体検出処理部34Sに出力する。解像度変換部31は、高解像度画像の画像信号を過去画像保持部32と検出処理部34の中距離動体検出処理部34Mと遠距離動体検出処理部34Lに出力する。
【0031】
過去画像保持部32は、解像度変換部31から出力された画像信号を記憶する。また、過去画像保持部32は、記憶している画像信号を近距離動体検出処理部34Sと中距離動体検出処理部34Mおよび遠距離動体検出処理部34Lに出力する。すなわち過去画像保持部32は、解像度変換部31から近距離動体検出処理部34Sと中距離動体検出処理部34Mおよび遠距離動体検出処理部34Lに供給される現画像の画像信号よりも過去の画像の画像信号を出力する。さらに、過去画像保持部32は、保持している画像信号を解像度変換部31から出力される画像信号で古い順から更新して、現画像から所定期間前までの過去画像の画像信号を記憶しておく。
【0032】
座標指定部33は、検出処理部34で動体検出を行う位置を、ユーザ操作に応じて設定する。例えば、座標指定部33は、ユーザが指定した位置を動体検出位置として、検出処理部34に通知する。
【0033】
検出処理部34は、現画像と過去画像を用いて動体検出を行う複数の動体検出処理部で構成されている。複数の動体検出処理部は、等しい構成とされている。動体検出処理部は、現画像と過去画像の解像度と、現画像と過去画像との時間間隔と、動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部と相違させる。すなわち、複数の動体検出処理部は、動体までの距離にかかわらず、いずれかの動体検出処理部で動体が検出できるように、動体検出特性が各動体検出処理部で異なる特性とされている。
【0034】
例えば、検出処理部34は、複数の動体検出処理部として近距離動体検出処理部34Sと中距離動体検出処理部34M、遠距離動体検出処理部34Lを有している。近距離動体検出処理部34Sと中距離動体検出処理部34Mおよび遠距離動体検出処理部34Lは、過去画像保持部32に保持されている過去画像の画像信号と、解像度変換部31から供給された現画像の画像信号を用いて動体検出を行う。ここで、近距離動体検出処理部34Sは、近接している動体の検出を行うことができるように動体検出の設定を行う。また、遠距離動体検出処理部34Lは、離れている動体の検出を行うことができるように動体検出の設定を行う。さらに、中距離動体検出処理部34Mは、近距離動体検出処理部34Sで検出する近接した動体と、遠距離動体検出処理部34Lで検出する離れた動体との中間に位置する動体の検出を行うことができるように動体検出の設定を行う。さらに、近距離動体検出処理部34Sと中距離動体検出処理部34Mおよび遠距離動体検出処理部34Lは、座標指定部33で指定された位置で動体検出を行う。
【0035】
図4は、検出処理部34における1つの動体検出処理部の構成を示している。動体検出処理部は、特徴点検出部341、特徴点登録部342、特徴点追跡部343、特徴点削除部344、判定部345を有している。
【0036】
特徴点検出部341は、特徴点の検出を行い、検出した特徴点を特徴点登録部342に登録する処理を行う。特徴点検出部341は、予め指定した複数の位置で動きベクトルの算出を行い、動き量が所定量以上となる位置を特徴点として特徴点登録部342に登録する。また、特徴点検出部341は、指定されている位置の動き量が所定量未満であるとき、静止点である可能性が高いとして登録を行わないようにする。
【0037】
特徴点登録部342は、特徴点検出部341で検出された特徴点を登録する。また、特徴点登録部342は、後述する特徴点削除部344で削除指示がなされた特徴点を、登録されている特徴点から削除する。
【0038】
特徴点追跡部343は、特徴点登録部342に登録されている特徴点に対し、追跡処理を行う。追跡処理とは、時間の経過に伴い特徴点がいずれの位置に移動するか追跡する処理である。特徴点追跡部343は、特徴点の追跡を行い、追跡結果を特徴点削除部344に出力する。
【0039】
特徴点削除部344は、特徴点追跡部343から出力された追跡結果に基づき、人や車などの動体の動きとは異なる動きを示す不要な特徴点を判別して削除する。特徴点削除部344は、不要な特徴点を判別するための判定基準が予め設定されている。特徴点削除部344は、特徴点の追跡結果に対して判定基準を適用して、動体の動きとは異なる動きを示す不要な特徴点の削除を行い、削除されていない特徴点を判定部345に出力する。また、特徴点削除部344は、特徴点の移動方向と移動速度と位置および追跡期間の少なくともいずれかを判定基準として用いて判定を行い、不要な特徴点を削除する。さらに、特徴点削除部344は、特徴点削除部344で削除した特徴点の削除指示を特徴点登録部342に対して行い、特徴点登録部342に登録されている特徴点から特徴点削除部344で削除した特徴点を削除させる。
【0040】
判定部345は、特徴点削除部344で削除されなかった特徴点に基づいて動体が検出されたか否かの判定を行う。撮像画像に動体が含まれると、動体部分では多数の特徴点が近い位置となり、かつ各特徴点の移動方向は同様な方向となる。したがって、判定部345は、特徴点の数と追跡後の位置と移動方向に基づいて、動体を検出したか否か判定する。具体的には、判定部345は、近接している特徴点の数が予め設定されている動体判別閾値以上であって、各特徴点の移動方向が同様な方向であったとき、動体を検出したと判別して検出結果を出力する。
【0041】
図3に戻り、検出結果処理部35は、検出処理部34における複数の動体検出処理部の検出結果を統合処理して、伝送部40に出力する。例えば、検出結果処理部35は、複数の動体検出処理部のいずれかで動体が検出されたとき、動体が検出されたとして、動体検出結果を伝送部40に出力する。また、検出結果処理部35は、動体検出結果に、複数の動体検出処理部のいずれで動体が検出されたかを示す情報を含めるようにしてもよい。複数の動体検出処理部のいずれで動体が検出されたかを示す情報を動体検出結果に含めれば、検出された動体が近接した位置であるか離れた位置であるか判別できるようになる。
【0042】
「1−2.動体検出方法」
次に、動体検出方法について説明する。動体検出処理部は、現画像と過去画像を用いた動体検出方法として、指定された複数の位置例えば座標指定部33で指定された位置で所定量以上の動きが生じたとき特徴点として、特徴点の追跡を行う。さらに、特徴点の追跡では、人や車などの動きとは異なる動き、例えば木々の揺らぎなどのように振動に近い動きや1フレームで急激に速度が変更されるような動きを行っている特徴点を削除して追跡を行う。さらに、多数の特徴点が同じ方向に移動しているか判定することにより、外乱に強い動体の検知を行う。
【0043】
特徴点検出部341は、座標指定部33で指定された複数の位置の動きベクトルを算出して、算出した動きベクトルの動き量に基づき特徴点の検出を行う。
【0044】
動きベクトルの算出方法は、テンプレートマッチング方法や勾配法など様々な方法を用いることができるが、以下の説明では比較的外乱に強いテンプレートマッチング方法を用いた場合について説明する。
【0045】
図5は、動きベクトルの算出方法を説明するための図である。テンプレートマッチング方法では、動きベクトルを求めたい位置を基準とした周辺の画像、例えば図5の(A)において破線で示すように、頭付近の画像をテンプレートTPとして切り出す。その切り出しを行ったテンプレートTPが図5の(B)において一点鎖線で示す探索範囲SAのどこに移動したかを探索することにより、動きベクトルMVを算出する。この場合、画面全体を探索すると他の類似物が見つかる可能性があり、おかしな動きベクトルを求めてしまう可能性や、探索範囲が大きくなると計算量が増えてしまうという問題があるため、一般的には一定範囲の中で探索範囲を設定して一致する箇所を探索する。
【0046】
探索している箇所と、テンプレートが一致しているかの判定方法としては様々な手法が提案されている。例えばSAD(Sum of Absolute Differences)と呼ばれる手法や正規化相互相関と呼ばれる手法が一般的には用いられる。なお、テンプレート自体を何らかの特徴量(例えばヒストグラムや周波数等)に変換してから一致する箇所を求める場合もある。
【0047】
テンプレートマッチング方法を用いた場合、特徴点検出部341は、図6に示すように、座標指定部33で指定された位置(白丸で示す位置)を基準とした画像をテンプレートTPとして、テンプレート毎に動きベクトルを算出する。なお、図6では9つの位置が指定されて、9個のテンプレートTP(破線で示す)が設定された場合を例示している。
【0048】
テンプレートは、検出する動体のサイズおよび画像の解像度に応じて適切なサイズに設定する。例えば、画像が低解像度で検出する動体のサイズが小さいとき、テンプレートが大きすぎると動体の画像部分がテンプレートで少なくなってしまう。このため、特徴点検出部341は、テンプレートマッチングを行ったときに、動体の動きベクトルを正しく算出することができないおそれがある。また、検出する動体のサイズが大きく画像が高解像度であるとき、テンプレートが小さすぎると動体の特徴がテンプレートに現れなくなってしまう。このため、特徴点検出部341は、テンプレートマッチングを行ったときに、テンプレートに類似した画像が複数検出されて、動きベクトルを正しく算出することができないおそれがある。したがって、テンプレートは、検出する動体のサイズおよび画像の解像度に応じて適切なサイズに設定することで、動体が指定された位置となったとき、テンプレートマッチングによって動体の動きベクトルを正しく算出できるようにする。
【0049】
また、図6では、複数のテンプレートが連続して設けられている場合を示しているが、テンプレートは離れて設けられてもよい。
【0050】
特徴点検出部341は、各テンプレートについて、過去画像を用いてテンプレートマッチングを行い、テンプレート毎に動きベクトルを算出する。特徴点検出部341は、テンプレートの動き量が予め設定した所定量以上のとき、指定された位置を特徴点として特徴点登録部342に登録する。また、特徴点検出部341は、テンプレートの動き量が所定量未満であるときは、特徴点の登録を行わないようにする。
【0051】
図7は、画像内に動体が含まれたときの特徴点を例示している。なお、図7では動体OBが図の右から左に移動する場合を示している。また、図7では、指定された位置を白丸、特徴点として登録された場合を黒丸で示している。
【0052】
図7の(A)に示すように時点t0で動体OBが指定された位置に到達していないときは、特徴点の登録が行われない。次に、図7の(B)に示すように、時点t1で動体OBが、指定された位置における右側の3つの位置に達すると、右側の3つの位置のテンプレートは、動体OBの画像となる。したがって、指定された位置における右側の3つの位置が特徴点として登録される。図7の(C)に示すように時点t2で動体OBが、指定された9つの位置となると、9つの位置のテンプレートは、動体OBの画像となる。したがって、指定された9つの位置が特徴点として登録される。図7の(D)に示すように示すように時点t3で動体OBが、指定された位置における左側の3つの位置に残っていると、左側の3つの位置のテンプレートは、動体OBの画像となる。したがって、指定された位置における左側の3つの位置が特徴点として登録される。また、図7の(E)に示すように時点t4で動体OBが指定された位置を通過して、指定された位置に動体OBが残っていないときは、特徴点の登録が行われない。
【0053】
このように、特徴点検出部341は、指定された位置の動き量に基づき特徴点を検出して、検出した特徴点を特徴点登録部342に登録する。例えば特徴点検出部341は、フレーム毎に現画像上の指定された位置の動きベクトルを求めて、特徴点の検出および登録を行う。したがって、特徴点登録部342には、フレーム毎に検出された特徴点が順次登録されることになる。
【0054】
特徴点追跡部343は、特徴点登録部342に登録されている特徴点についてテンプレートマッチング方法を用いて追跡を行う。すなわち、特徴点追跡部343は、登録されている特徴点について、動きベクトルを算出する。図8は、特徴点の追跡状態を例示している。特徴点追跡部343は、図8の(A)に示すように、例えば時点t1で検出された特徴点FPaについて、時点t2における位置(三角印で示す)、時点t3における位置(四角印で示す位置)、時点t3以降の位置を追跡する。また、特徴点追跡部343は、図8の(B)に示すように、例えば時点t2で検出された特徴点FPbについて、時点t3における位置(四角印で示す位置)、時点t3以降の位置を追跡する。さらに、特徴点追跡部343は、図示せずも、時点t3以降で検出された特徴点についても同様に追跡を行う。
【0055】
特徴点削除部344は、特徴点追跡部343から出力された追跡結果に対して判定基準を適用して、動体の動きとは異なる動きを示す不要な特徴点の削除を行う。特徴点削除部344は、特徴点の移動方向と移動速度と位置および追跡期間の少なくともいずれかを判定基準として用いて判定を行う。例えば、特徴点削除部344は、以下の判定基準を用いて不要な特徴点を削除する。なお、図9は、削除対象の特徴点を説明するための図である。
【0056】
削除対象の特徴点を判定する判定基準
・図9の(A)に示すように、1フレーム間において急激に移動速度が変化する特徴点FPD
・図9の(B)に示すように、急激に移動方向が変化する特徴点FPD
・図9の(C)に示すように、一定距離以内に他の特徴点がない特徴点FPD
また、特徴点を例えばフレーム毎に検出して登録すると、特徴点登録部342に登録されている特徴点の数が多くなり、特徴点を追跡するための演算量も多くなってしまう。そこで、特徴点削除部344は、一定時間以上追跡している特徴点を削除対象に含めることで、演算量が多くなってしまうことを防止する。
【0057】
特徴点削除部344は、削除対象と判定された特徴点を削除して、削除されていない特徴点を判定部345に出力する。また、特徴点削除部344は、特徴点削除部344で削除した特徴点の削除指示を特徴点登録部342に対して行い、特徴点登録部342に登録されている特徴点から特徴点削除部344で削除した特徴点を削除させる。特徴点削除部344は、このように特徴点の削除を行い、動体を示す可能性の高い特徴点を判定部345に出力する。
【0058】
判定部345は、特徴点削除部344で削除されなかった特徴点のデータを参照し通過判定を行う。ここで、例えば物体の通過の場合、多数の特徴点が近い位置となり、かつ各特徴点の移動方向は同様な方向となる。したがって、判定部345は、近接している特徴点の数が予め設定されている通過判別閾値以上であって、各特徴点の移動方向が同様な方向であったとき、動体を検出したとして検出結果を出力する。なお、動体を示す特徴点は、近接した位置であって複数フレームで同様な方向となることから、判定部345は、特徴点削除部344から出力された特徴点のデータを複数フレーム期間分用いて判定を行うようにしてもよい。
【0059】
動体検出処理部は、現画像と過去画像の解像度と、現画像と過去画像との時間間隔と、動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部と相違させて、複数の動体検出処理部において、動体の遠近状態に対する動体検出特性が互いに異なるようにする。
【0060】
ここで、例えば3つの動体検出処理部を設けて、近距離動体検出処理部34Sと中距離動体検出処理部34Mと遠距離動体検出処理部34Lとして動作させる場合、例えば、表1に示すように設定する。
【0061】
【表1】
【0062】
近距離動体検出処理部34Sは、低解像度の画像と、過去画像として近い過去の画像(例えば1フレーム前)を用いて動体検出を行う。
【0063】
中距離動体検出処理部34Mは、近距離動体検出処理部34Sで用いる画像よりも高解像度(例えば近距離動体検出処理部34Sで用いる画像の2倍の解像度)の画像と、過去画像として近い過去の画像(例えば1フレーム前)を用いて動体検出を行う。
【0064】
遠距離動体検出処理部34Lは、中距離動体検出処理部34Mで用いる画像と等しい高解像度の画像と、過去画像として遠い過去の画像(例えば5フレーム前)を用いて動体検出を行う。
【0065】
図10は、動体が近距離である場合を説明するための図である。なお、図10において、実線は現画像における動体OB、破線は過去画像における動体OBをそれぞれ示しており、動体OBの移動後の位置を現画像から検出して動きベクトルを算出する場合を示している。また、後述する図11、図12も同様である。
【0066】
図10の(A)に示すように、低解像度の画像を用いて動体検出を行う場合、一点鎖線で示す領域をテンプレートマッチングの探索範囲SAとすれば、動体検出処理部は、動体OBの動きベクトルを求めることができる。しかし、図10の(B)に示すように、高解像度の画像を用いて、低解像度の画像を用いた場合と等しいサイズである一点鎖線で示す領域をテンプレートマッチングの探索範囲SAとすると、動体検出処理部は、動体の動きベクトルを求めることができない。このため、高解像度の画像を用いる場合、特徴点検出部341や特徴点追跡部343は、例えば二点鎖線で示す広い探索範囲SBを設けなければ動体の動きベクトルを算出できないことから、動きベクトルの算出に時間を要してしまう。また、通過する動体が近距離である場合、動体の画像は動体が離れている場合に比べて大きい。したがって、近距離動体検出処理部34Sは、低解像度の画像を用いて近距離の動体の検出を行う。
【0067】
図11は、動体が中距離である場合を説明するための図である。図11の(A)に示すように、低解像度の画像を用いて動体検出を行う場合、中距離の動体は、現画像と過去画像との間で低解像度の画像における移動距離が少ない。このため、動体検出処理部は、動体の動きベクトルを精度よく求めることが困難となる。しかし、図11の(B)に示すように、高解像度の画像を用いると、現画像と過去画像との間で高解像度の画像における動体の移動距離は、低解像度の画像における移動距離よりも大きくなる。このため、動体検出処理部は、動体の動きベクトルを精度よく求めることができるようになる。したがって、中距離動体検出処理部34Mは、高解像度の画像を用いて中距離の動体の検出を行う。
【0068】
図12は、動体が遠距離である場合を説明するための図である。図12の(A)に示すように、低解像度の画像を用いて動体検出を行う場合、遠距離の動体は、現画像と過去画像との間で低解像度の画像における移動距離が少ない。また、動体の画像サイズは、動体が中距離である場合に比べて小さくなる。このため、動体検出処理部は、動体の動きベクトルを精度よく求めることが困難となる。また、図12の(B)に示すように、高解像度の画像を用いると、現画像と過去画像との間で高解像度の画像における動体の移動距離は、低解像度の画像における移動距離よりも大きくなる。しかし、現画像と近い過去画像との間では、高解像度の画像を用いても移動距離が少ない。このため、図12の(C)に示すように、過去画像として遠い過去画像すなわち現画像と過去画像との時間間隔を長くして移動距離を大きくすれば、動体検出処理部は、動体の動きベクトルを精度よく求めることができる。したがって、遠距離動体検出処理部34Lは、高解像度の画像を用いるだけでなく、遠い過去画像を用いて遠距離の動体の検出を行う。
【0069】
このように、検出処理部34は、近距離動体検出処理部34Sと中距離動体検出処理部34Mと遠距離動体検出処理部34Lで上述のように動体検出を行うことから、動体が近距離であるか中距離であるか遠距離であるかにかかわらず動体を安定して検出できる。
【0070】
さらに、近距離動体検出処理部34Sと中距離動体検出処理部34Mと遠距離動体検出処理部34Lは、それぞれ特徴点を検出して、検出した特徴点の追跡結果に基づいて動体検出を行うことから、安定して動体の検出を行うことができる。
【0071】
なお、第1の実施の形態では近距離、中距離、遠距離という3段階で処理を行っているが、解像度や時間間隔をさらに細かく区分ことで、4段階や5段階等のように段階を増やすことができる。この段階を増やすという処理により、広い範囲速度に対応して検知が可能な処理を行うことができるようになる。
【0072】
また、画像上における動き量は、動体が近接しているとき大きく、動体が遠方であるとき小さい。したがって、動体検出処理部は、動きベクトルの探索範囲を制御して、動体の遠近状態に対する動体検出特性を異なるようにしてもよい。
【0073】
さらに、動体検出処理部は、現画像と過去画像の解像度と、現画像と過去画像との時間間隔と、動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部と相違させることで、動体の移動速度にかかわらず安定して動体を検出できる。例えば、動体の移動速度が速いと、特徴点が探索範囲を超えて移動してしまい、動体検出処理部は、特徴点を追跡できなくなってしまう。しかし、現画像と過去画像との時間間隔を短くすれば、特徴点が移動しても探索範囲内となり、動体検出処理部は、追跡結果に基づいて動体を検出できるようになる。また、動体の移動速度が遅いと、低解像度の画像から動きベクトルを精度よく算出することが困難となり、動体検出処理部は、特徴点の登録や追跡を安定して行うことができない。しかし、高解像度の画像を用いれば、低解像度の画像から動きベクトルを算出する場合に比べて精度よく動きベクトルを算出すること可能となるので、動体検出処理部は、特徴点の登録や追跡を安定して行うことができる。さらに、探索範囲を広くすれば、動体検出処理部は、移動速度の速い動体を検出できるようになる。すなわち、動体検出処理部は、現画像と過去画像の解像度と、現画像と過去画像との時間間隔と、動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部と相違させることで、動体の移動速度にかかわらず安定して動体を検出できるようになる。
【0074】
<2.第2の実施の形態>
次に、第2の実施の形態について説明する。上述の動体検出部30は、検出処理部34の近距離動体検出処理部34Sと中距離動体検出処理部34Mと遠距離動体検出処理部34Lが個々に動体検出を行っている。このため、例えば中距離動体検出処理部34Mで検出できる動体を近距離動体検出処理部34Sでも検出したり、遠距離動体検出処理部34Lで検出できる動体を中距離動体検出処理部34Mでも検出したり、検出動作が重複してしまう場合ある。そこで、第2の実施の形態では、他の動体検出部で行われる動体検出の設定情報を利用して、他の動体検出処理部で検出される動体が重複して検出されることが少なくなり、効率よく動体検出を行うことができる動体検出部について説明する。
【0075】
「2−1.動体検出部の他の構成」
図13は、動体検出部の他の構成を示している。なお、図13において、図3と対応する部分については同一符号を付し、詳細な説明は省略する。
【0076】
動体検出部30aの検出処理部34aは、例えば近距離動体検出処理部34Saと中距離動体検出処理部34Maおよび遠距離動体検出処理部34Laを有している。近距離動体検出処理部34Saと中距離動体検出処理部34Maおよび遠距離動体検出処理部34Laは、過去画像保持部32に保持されている過去画像の画像信号と、信号処理部12,22から供給された現画像の画像信号を用いて動体検出を行う。近距離動体検出処理部34Saは、近接している動体の検出を行うことができるように動体検出の設定を行う。遠距離動体検出処理部34Laは、離れている動体の検出を行うことができるように動体検出の設定を行う。また、中距離動体検出処理部34Maは、近距離動体検出処理部34Saで検出する近接した動体と、遠距離動体検出処理部34Laで検出する離れた動体との中間に位置する動体の検出を行うことができるように動体検出の設定を行う。
【0077】
さらに、近距離動体検出処理部34Saと中距離動体検出処理部34Maおよび遠距離動体検出処理部34Laは、他の動体検出処理部で行われる動体検出の設定情報を利用して、他の動体検出部と重複しないように動体検出を行う。他の動体検出処理部で行われる動体検出の設定情報としては、例えば検出可能な動きに関する情報や探索範囲に関する情報や過去画像の情報を用いる。
【0078】
「2−2.動体検出方法」
次に、特徴点検出部341で他の動体検出処理部から供給された検出可能な動きに関する情報を利用する場合について説明する。高解像度の画像を用いる動体検出処理部と低解像度の画像を用いる動体検出処理部において、例えば画像のフレームレートが等しく、高解像度の画像は低解像度の画像に対して2倍の解像度とする。この場合、高解像度の画像を用いる動体検出処理部において動き量がNピクセルの動きを検出する処理は、低解像度の画像を用いる動体検出処理部において動き量が(N/2)ピクセルの動きを検出する処理に相当する。したがって、高解像度の画像を用いる動体検出処理部において、Nピクセルまでの動き量が検出可能である場合、低解像度の画像を用いる動体検出処理部は、(N/2)ピクセルのまでの動き量を示す位置は特徴点として登録しないようにする。
【0079】
このようにすれば、特徴点登録部342に登録される特徴点を削減できるので、特徴点追跡部343の演算を削減することが可能となり、動体検出を高速に行うことができる。
【0080】
また、低解像度の画像を用いる動体検出処理部は、(N/2)ピクセルよりも少ない動き量を基準として、この基準よりも動き量が大きい位置を特徴点として登録してもよい。この場合、高解像度の画像を用いる動体検出処理部と低解像度の画像を用いる動体検出処理部とで、動体検出を一部重複させることが可能となり、動体検出部30aは、安定した動体検出を行うことができる。
【0081】
次に、特徴点追跡部343で他の動体検出処理部から供給された探索範囲を示す情報を利用する場合について図14を用いて説明する。高解像度の画像を用いる動体検出処理部と低解像度の画像を用いる動体検出処理部において、画像フレームレートが等しく、高解像度の画像は例えば低解像度の画像に対して2倍の解像度とする。また、図14に示すように、高解像度の画像を用いる動体検出処理部と低解像度の画像を用いる動体検出処理部における特徴点追跡部の探索範囲SAをそれぞれ(J×K)ピクセルとする。この場合、図14の(B)に示す高解像度の画像に対する探索範囲SAは、図14の(A)に示すように低解像度の画像に対する探索範囲SAに含まれる斜線で示す範囲SCに相当する。すなわち、中解像度の画像に対する探索範囲は、(J×K)ピクセルの探索範囲SAから高解像度の画像に対する探索範囲((J/2)×(K/2))相当する範囲SCを除外した範囲(J×K−((J/2)×(K/2)))で行えばよい。このように探索範囲を設定すると、探索範囲を削減できることから、動体検出部30aは、特徴点の追跡を高速に行うことができるようになる。
【0082】
また、低解像度の画像を用いる動体検出処理部は、範囲SCよりも小さい範囲を除外してもよい。この場合、高解像度の画像を用いる動体検出処理部と低解像度の画像を用いる動体検出処理部とで、動体検出を一部重複させることが可能となり、動体検出部30aは、安定した動体検出を行うことができる。
【0083】
次に、特徴点追跡部343で他の動体検出処理部から供給された過去画像の情報を利用する場合について説明する。近い過去画像を用いる動体検出処理部と遠い過去画像を用いる動体検出処理部において、近い過去画像がHフレーム前の画像であり遠い過去画像が例えば5Hフレーム前の画像とする。
【0084】
この場合、遠い過去画像の探索範囲が(J×K)ピクセルであるとすると、近い過去画像は、遠い過去画像に対してフレーム間隔が(1/5)の期間であり、動きを(1/5)と考えると、遠い過去画像を用いるときの探索範囲は、近い過去画像を用いるとき、((J/5)×(K/5))ピクセルの範囲に相当する。したがって、近い過去画像を用いる特徴点追跡部は、(J×K)ピクセルの探索範囲から近い過去画像の時間間隔に対応する((J/5)×(K/5))の範囲を除外した((J−J/5)×(K−K/5))の範囲で行えばよい。このように探索範囲を設定すると、探索範囲を削減できることから、動体検出部30aは、特徴点の追跡を高速に行うことができるようになる。
【0085】
また、近い過去画像を用いる動体検出処理部は、((J/5)×(K/5))ピクセルの範囲よりも小さい範囲を除外すれば、近い過去画像を用いる動体検出処理部と遠い過去画像を用いる動体検出処理部とで、動体検出を一部重複させることが可能となり、安定した動体検出を行うことができる。
【0086】
<3.ソフトウェア処理で動体検出を行う場合の構成>
また、上述した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、プログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させる。あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させる。
【0087】
図15は、上述した処理をプログラムにより実行するコンピュータの構成を例示した図である。コンピュータ装置60のCPU61(Central Processing Unit)は、ROM(Read Only Memory)62、または記録部69に記録されているプログラムにしたがって各種の処理を実行する。
【0088】
RAM63(Random Access Memory)には、CPU61が実行するプログラムやデータなどが適宜記憶される。これらのCPU61、ROM62、およびRAM63は、バス64により相互に接続されている。
【0089】
CPU61にはまた、バス64を介して入出力インタフェース65が接続されている。入出力インタフェース65には、タッチパネルやキーボード、マウス、マイクロフォンなどのユーザインタフェース部66、画像信号を入力するための入力部67、ディスプレイなどよりなる出力部68が接続されている。CPU61は、ユーザインタフェース部66から入力される指令に対応して、入力部67から入力された画像信号を用いて各種の処理を実行する。そして、CPU61は、処理の結果を出力部68に出力する。
【0090】
入出力インタフェース65に接続されている記録部69は、例えばハードディスクからなり、CPU61が実行するプログラムや各種のデータを記録する。通信部70は、インターネットやローカルエリアネットワークなどのネットワークやディジタル放送といった有線または無線の通信媒体を介して外部の装置と通信する。
【0091】
ドライブ71は、リムーバブルメディア72が装着されたとき、それらを駆動して、記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じてROM62やRAM63または記録部69に転送される。
【0092】
なお、プログラムは、例えばハードディスクやROM(Read Only Memory)に予め記録しておく。または、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブルメディア72に、一時的あるいは永続的に格納(記録)しておき、ドライブ71で読み出すようにする。さらに、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送する。コンピュータでは、通信部70を介して転送されてきたプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールするようにしてもよい。
【0093】
CPU61は、プログラムを実行して、コンピュータ装置60を、現画像と過去画像を用いて算出した動きベクトルに基づいて動体の検出を行う複数の動体検出機能手段として機能させる。また、動体検出機能手段では、現画像と過去画像の解像度と、現画像と過去画像との時間間隔と、動きベクトルの探索範囲の少なくともいずれかを他の動体検出機能手段と相違させて動体の検出を行う。
【0094】
このようにすれば、入力部67から入力された画像信号や、通信部70を介して供給された画像信号に基づいて、動体までの距離や動体の移動速度にかかわらず安定して動体検出を行うことができる。
【0095】
なお、本発明は、上述した発明の実施の形態に限定して解釈されるべきではない。例えば、座標指定部33で指定される位置は、図6に示すように画像の中央部分だけでなく、例えば左右に移動する動体を検出する場合には、画像の左右の端部側に設定してもよい。この発明の実施の形態は、例示という形態で本発明を開示しており、本発明の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【産業上の利用可能性】
【0096】
この発明の動体検出装置と動体検出方法およびプログラムでは、複数の動体検出処理部で、現画像と過去画像を用いて算出した動きベクトルに基づき動体検出が行われる。動体検出処理部では、現画像と過去画像の解像度と、現画像と過去画像との時間間隔と、動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部と相違させて動体の検出が行われる。したがって、複数の動体検出処理部は、動体の遠近状態や移動速度に対する動体検出特性が互いに異なる特性となる。このため、動体までの距離や動体の移動速度にかかわらず安定して動体を検出できるようになるので、監視装置や侵入検知システム等に適している。
【符号の説明】
【0097】
10・・・撮像装置、11・・・撮像部、12,22・・・信号処理部、13,23・・・符号化処理部、20・・・画像処理装置、21・・・画像入力部、23・・・符号化処理部、30,30a・・・動体検出部、31・・・解像度変換部、32・・・過去画像保持部、33・・・座標指定部、34,34a・・・検出処理部、34L,34La・・・遠距離動体検出処理部、34M,34Ma・・・中距離動体検出処理部、34S,34Sa・・・近距離動体検出処理部、35・・・検出結果処理部、40・・・伝送部、60・・・コンピュータ装置、61・・・CPU、62・・・ROM、63・・・RAM、64・・・バス、65・・・入出力インタフェース、66・・・ユーザインタフェース部、67・・・入力部、68・・・出力部、69・・・記録部、70・・・通信部、71・・・ドライブ、72・・・リムーバブルメディア、341・・・特徴点検出部、342・・・特徴点登録部、343・・・特徴点追跡部、344・・・特徴点削除部、345・・・判定部
【特許請求の範囲】
【請求項1】
現画像と過去画像を用いて算出した動きベクトルに基づいて動体の検出を行う複数の動体検出処理部を備え、
前記動体検出処理部は、前記現画像と過去画像の解像度と、前記現画像と過去画像との時間間隔と、前記動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部と相違させて動体の検出を行う動体検出装置。
【請求項2】
前記動体検出処理部は、
指定した複数の位置において、動き量が所定量以上となる位置を特徴点とする特徴点検出部と、
時間の経過に伴い前記特徴点がいずれの位置に移動するか追跡する特徴点追跡部と、
予め設定した判定基準を用いて前記特徴点の追跡結果から不要な特徴点を削除する特徴点削除部と、
削除されていない前記特徴点に基づき動体を検出したか否か判定する判定部とを備える
請求項1記載の動体検出装置。
【請求項3】
前記特徴点削除部は、特徴点の移動方向と移動速度と位置および追跡期間の少なくともいずれかを用いて判定を行い不要な特徴点を削除する
請求項2記載の動体検出装置。
【請求項4】
前記判定部は、前記特徴点の数と追跡後の位置と移動方向に基づいて、動体を検出したか否か判定する
請求項2記載の動体検出装置。
【請求項5】
前記動体検出処理部は、他の動体検出処理部で行われる動体検出の設定情報に基づき、前記動きベクトルの探索範囲を設定する
請求項1記載の動体検出装置。
【請求項6】
前記動体検出処理部は、前記動体検出の設定情報に基づき前記動きベクトルの探索範囲を調整して、前記他の動体検出処理部で検出される動体が重複して検出されることを少なくする
請求項5記載の動体検出装置。
【請求項7】
前記複数の動体検出処理部の検出結果と統合して、前記複数の動体検出処理部のいずれかで動体が検出されたとき、動体が検出されたことを出力する検出結果処理部をさらに備える
請求項1記載の動体検出装置。
【請求項8】
複数の動体検出処理部のそれぞれで、現画像と過去画像を用いて算出した動きベクトルに基づいて動体の検出を行う動体検出ステップを有し、
前記動体検出ステップでは、前記現画像と過去画像の解像度と、前記現画像と過去画像との時間間隔と、前記動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部で行われる動体検出ステップと相違させて動体の検出を行う動体検出方法。
【請求項9】
コンピュータを、
現画像と過去画像を用いて算出した動きベクトルに基づいて動体の検出を行う複数の動体検出機能手段として機能させて、
前記動体検出機能手段では、前記現画像と過去画像の解像度と、前記現画像と過去画像との時間間隔と、前記動きベクトルの探索範囲の少なくともいずれかを他の動体検出機能手段と相違させて動体の検出を行われるためのプログラム。
【請求項1】
現画像と過去画像を用いて算出した動きベクトルに基づいて動体の検出を行う複数の動体検出処理部を備え、
前記動体検出処理部は、前記現画像と過去画像の解像度と、前記現画像と過去画像との時間間隔と、前記動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部と相違させて動体の検出を行う動体検出装置。
【請求項2】
前記動体検出処理部は、
指定した複数の位置において、動き量が所定量以上となる位置を特徴点とする特徴点検出部と、
時間の経過に伴い前記特徴点がいずれの位置に移動するか追跡する特徴点追跡部と、
予め設定した判定基準を用いて前記特徴点の追跡結果から不要な特徴点を削除する特徴点削除部と、
削除されていない前記特徴点に基づき動体を検出したか否か判定する判定部とを備える
請求項1記載の動体検出装置。
【請求項3】
前記特徴点削除部は、特徴点の移動方向と移動速度と位置および追跡期間の少なくともいずれかを用いて判定を行い不要な特徴点を削除する
請求項2記載の動体検出装置。
【請求項4】
前記判定部は、前記特徴点の数と追跡後の位置と移動方向に基づいて、動体を検出したか否か判定する
請求項2記載の動体検出装置。
【請求項5】
前記動体検出処理部は、他の動体検出処理部で行われる動体検出の設定情報に基づき、前記動きベクトルの探索範囲を設定する
請求項1記載の動体検出装置。
【請求項6】
前記動体検出処理部は、前記動体検出の設定情報に基づき前記動きベクトルの探索範囲を調整して、前記他の動体検出処理部で検出される動体が重複して検出されることを少なくする
請求項5記載の動体検出装置。
【請求項7】
前記複数の動体検出処理部の検出結果と統合して、前記複数の動体検出処理部のいずれかで動体が検出されたとき、動体が検出されたことを出力する検出結果処理部をさらに備える
請求項1記載の動体検出装置。
【請求項8】
複数の動体検出処理部のそれぞれで、現画像と過去画像を用いて算出した動きベクトルに基づいて動体の検出を行う動体検出ステップを有し、
前記動体検出ステップでは、前記現画像と過去画像の解像度と、前記現画像と過去画像との時間間隔と、前記動きベクトルの探索範囲の少なくともいずれかを他の動体検出処理部で行われる動体検出ステップと相違させて動体の検出を行う動体検出方法。
【請求項9】
コンピュータを、
現画像と過去画像を用いて算出した動きベクトルに基づいて動体の検出を行う複数の動体検出機能手段として機能させて、
前記動体検出機能手段では、前記現画像と過去画像の解像度と、前記現画像と過去画像との時間間隔と、前記動きベクトルの探索範囲の少なくともいずれかを他の動体検出機能手段と相違させて動体の検出を行われるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2011−192141(P2011−192141A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−59116(P2010−59116)
【出願日】平成22年3月16日(2010.3.16)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願日】平成22年3月16日(2010.3.16)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]