以下、本発明による自動追尾システムについて、図面を参照して説明する。
[第1の実施の形態]
図1は、本発明の第1の実施の形態にる自動追尾システムを示す概略構成図である。本実施の形態による自動追尾システムは、各々がパン、チルト及びズームの制御が可能な複数のカメラ1A,1B,1Cと、これらのカメラ1A,1B,1Cに対して1対1に設けられた画像処理装置2A,2B,2Cと、上位局装置3とから構成され、これらが通信網4を介して相互に接続されるようになっている。なお、本実施の形態では、カメラ1A,1B,1Cの数は3台とされているが、その数は特に限定されるものではない。
画像処理装置2A,2B,2Cは、全体として、カメラ1A,1B,1Cにより撮像された画像を処理して、カメラ1A,1B,1Cが連携して侵入者又は侵入物体等の追尾対象10(後述する図2参照)を自動追尾して撮像するようにカメラ1A,1B,1Cを制御する画像処理手段を、構成している。本実施の形態では、各カメラ1A,1B,1Cは同じ構成を有しており、隣のカメラや上位局装置3と通信網4を介して通信する通信部(図示せず)を有している。
本実施の形態では、追尾対象10の通路に沿って、カメラ1A,1B,1Cの順に配置されている。隣り合うカメラ同士(カメラ1A,1B同士、及び、カメラ1B,1C同士)は、それらの撮像可能範囲が重複しなくてもよいし部分的に重複してもよい。
上位局装置3は、例えばパーソナルコンピュータ等で構成されて所定の監視場所に設置され、画像処理装置2A,2B,2Cから通信網4を介して送信されてくるカメラ1A,1B,1Cの画像を切り替えて又は並べて表示したり、それらの画像を録画したり、監視者が表示画像を見てのマウス等のポインティングデバイスによって追尾対象10を指定したりできるように構成されている。上位局装置3は、カメラ1A,1B,1Cのいずれかが追尾対象10を追尾している場合は、追尾しているカメラからの画像のみを又はその画像を他の画像よりも大きく拡大して表示するようになっている。
まず、本実施の形態による自動追尾システムの動作の概要を、図2を参照して簡単に説明する。図2は、3台のカメラ1A,1B,1Cのうちの2台のカメラ1A,1Bによる追尾対象10の追尾の様子の例を模式的に示す図である。
例えば、図2(a)に示すように、カメラ1Aで撮像されているエリア内に、追尾対象10が入っているとき、上位局装置3で表示されているカメラ1Aの撮像画像を見た監視者がマウス等のポインティングデバイスによって追尾対象10を指定するか、あるいは、カメラ1Aの画像処理装置2A(カメラ1Aに接続された画像処理装置2A)がカメラ1Aの撮像画像から自動的に追尾対象10を検知する。この指定又は検知によって、追尾対象10がカメラ1Aにより初期的に捕捉される。なお、本発明では、このような指定及び検知のうち、いずれか一方のみを行い得るように構成してもよいし、両方を行い得るように構成してもよい。
そして、カメラ1Aの画像処理装置2Aは、カメラ1Aの撮像画像に基づいて追尾対象10を追跡する追跡処理を行いつつ、前記追跡処理の結果に応じてカメラ1Aが追尾対象10を追尾するように、カメラ1Aのパン、チルト及びズームを制御する(図2(b))。このとき、画像処理装置2Aは、前記追跡処理に関連して得られる追尾対象10に関する情報(例えば、追尾対象10の領域)に基づいて、前記追跡処理においては用いられない追尾対象10の特徴量(例えば、ヒストグラム)を得て、保存しておく。カメラ1Aの画像処理装置2Aは、前記追跡処理において追尾対象10を追尾対象が物陰に隠れるなどして追尾対象10を見失うと、それまでに得た前記特徴量を用いて、カメラ1Aの撮像画像に基づいて追尾対象10を探索し、その探索結果として追尾対象10を検出することで、カメラ1Aに追尾対象10を再度捕捉させる
やがて、追尾対象10は、カメラ1Aの撮像可能範囲の境界付近に移動するかあるいはカメラ1Aの撮像可能範囲を逸脱する(図2(c))。このとき、カメラ1Aの画像処理装置2Aは、追尾対象10の移動先(移動先は、前記追跡処理により得られる追尾対象10の移動履歴から予測し得る。)と予測される隣のカメラ1Bの画像処理装置2B(カメラ1Bに接続された画像処理装置2B)に、追尾対象10の追尾を受け渡す旨の指令である連動指令を、通信網4を介して送出する。また、カメラ1Aの画像処理装置2Aは、この連動指令と共に、追尾対象10の前記特徴量を、例えば追尾対象10の移動履歴と一緒に、カメラ1Bの画像処理装置2Bに送出する。なお、移動履歴は必ずしもカメラ1Aの画像処理装置2Aからカメラ1Bの画像処理装置2Bへ送出する必要はないが、後述する探索を効率良く行うためには、移動履歴も送出することが好ましい。
前記連動指令を受けたカメラ1Bの画像処理装置2Bは、カメラ1Aの画像処理装置2Aから前記連動指令と一緒に受けた前記特徴量を用いて、カメラ1Bの撮像画像に基づいて追尾対象10を探索する。このとき、カメラ1Bの画像処理装置2Bは、カメラ1Aの画像処理装置2Aから受けた移動履歴から、カメラ1Bの撮像可能範囲内に到達する時点及び位置を予測し、この予測された時点及び位置を用いて追尾対象10を探索することで、追尾対象10の探索を効率良く行うことができる。もっとも、探索の効率は低下するが、前記移動履歴を受けることなく前記探索を行うことも可能である。なお、探索時には、必要に応じて、カメラ1Bのパン、チルト及びズームを制御する。
この探索の結果、カメラ1Bの画像処理装置2Bが追尾対象10を発見(検出)することで、カメラ1Bにより追尾対象10が捕捉される。そして、カメラ1Bの画像処理装置2Bは、カメラ1Aにより追尾対象10が捕捉された場合の画像処理装置2Aと同様に動作し、カメラ1Bによる追尾対象10の追尾が継続される(図2(d))。
次に、本実施の形態による自動追尾システムの動作について、図3及び図4を参照してより具体的に説明する。図3及び図4はそれぞれ、本実施の形態による自動追尾システムの各動作例を示すシーケンス図である。
まず、図3に示す動作例について説明する。図3は、追尾対象10が、カメラ1Aの撮像可能範囲からカメラ1Bの撮像可能範囲を経て、カメラ1Cの撮像可能範囲へ移動する場合の動作例を示している。
図3に示す動作例では、プリセットされたパン、チルト及びズームの状態で監視(撮像)している(S−A1)カメラ1Aの撮像エリア内に追尾対象10が入り、監視者が上位局装置3によってカメラ1Aの画像に対して追尾対象10を指定するか、あるいは、カメラ1Aの画像処理装置2Aが自動的に追尾対象10を検知する(S−A2)ものとしている。
すると、カメラ1Aに接続された画像処理装置2Aは、カメラ1Aの撮像画像に基づいて追尾対象10を追跡する追跡処理を行いつつ、前記追跡処理の結果に応じてカメラ1Aが追尾対象10を追尾するように、カメラ1Aのパン、チルト及びズームを制御する(S−A3)。このとき、画像処理装置2Aは、前記追跡処理に関連して得られる追尾対象10に関する情報(例えば、追尾対象10の領域)に基づいて、前記追跡処理においては用いられない追尾対象10の特徴量(例えば、ヒストグラム)を得て、保存しておく。カメラ1Aの画像処理装置2Aは、前記追跡処理において追尾対象10を追尾対象が物陰に隠れるなどして追尾対象10を見失うと、それまでに得た前記特徴量を用いて、カメラ1Aの撮像画像に基づいて追尾対象10を探索し、その探索結果として追尾対象10を検出することで、カメラ1Aに追尾対象10を再度捕捉させる(S−A3)。
カメラ1Aの画像処理装置2Aは、前記追跡処理を開始すると同時に、隣のカメラ1Bの画像処理装置2Bに、カメラ1Aの撮像可能範囲内に追尾対象10が存在する旨の待機指令を送出する。カメラ1Bの画像処理装置2Bは、この待機指令を受けると、カメラ1Bの姿勢を、プリセット状態(S−B1)からカメラ1Aの方向に向けさせて(S−B2)、カメラ1Bをその状態で待機させる(S−B3)。
追尾対象10が、カメラ1Aの撮像可能範囲の境界付近に移動するかあるいはカメラ1Aの撮像可能範囲を逸脱すると、カメラ1Aの画像処理装置2Aは、追尾対象10の移動先と予測される隣のカメラ1Bの画像処理装置2Bに、追尾対象10の追尾を受け渡す旨の指令である連動指令を、通信網4を介して送出する(S−A4)。また、カメラ1Aの画像処理装置2Aは、この連動指令と共に、追尾対象10の前記特徴量を、例えば追尾対象10の移動履歴と一緒に、カメラ1Bの画像処理装置2Bに送出する(S−A4)。カメラ1Aの画像処理装置2Aは、連動指令、特徴量及び移動履歴を送信した後、カメラ1Aを、連動指令を送出した状態のパン、チルト及びズームで待機させる(S−A5)。
カメラ1Aの画像処理装置2Aからの連動指令を受けたカメラ1Bの画像処理装置2Bは、カメラ1Aの画像処理装置2Aから前記連動指令と一緒に受けた前記特徴量を用いて、カメラ1Bの撮像画像に基づいて追尾対象10を探索する。このとき、カメラ1Bの画像処理装置2Bは、カメラ1Aの画像処理装置2Aから受けた移動履歴から、カメラ1Bの撮像可能範囲内に到達する位置を予測し、カメラ1Bの姿勢を補正してカメラ1Bを前記予測された位置に向ける(S−B4)。このとき、カメラ1Bのズームは、カメラ1Bが撮像するエリアを広めになるようにしておく。
同時に、カメラ1Bの画像処理装置2Bは、カメラ1Aとは別の隣のカメラ(ここでは、カメラ1C)の画像処理装置2Cに対して、S−A2からS−B2への待機指令と同様の待機指令を送信する。カメラ1Cの画像処理装置2C(カメラ1Cに接続された画像処理装置2C)は、この待機指令を受けると、カメラ1Bの姿勢を、プリセット状態(S−C1)からカメラ1Bの方向に向けさせて(S−C2)、カメラ1Cをその状態で待機させる(S−C3)。
カメラ1Bの画像処理装置2Bは、カメラ1Bの姿勢を補正させた(S−B4)後、カメラ1Aの画像処理装置2Aから受けた前記特徴量を用いて、カメラ1Bの撮像画像に基づいて追尾対象10を探索する(S−B5)。このとき、カメラ1Bの画像処理装置2Bは、カメラ1Aの画像処理装置2Aから受けた移動履歴から、カメラ1Bの撮像可能範囲内に到達する時点及び位置を予測し、この予測された時点及び位置を用いて追尾対象10を探索することで、追尾対象10の探索を効率良く行うことができる。なお、探索時には、必要に応じて、カメラ1Bのパン、チルト及びズームを制御する。
この探索の結果、カメラ1Bの画像処理装置2Bが追尾対象10を発見(検出)することで、カメラ1Bにより追尾対象10が捕捉される。そして、カメラ1Bの画像処理装置2Bは、カメラ1Aにより追尾対象10が捕捉された場合の画像処理装置2Aの動作(S−A3)と同様の追跡・探索処理を行う(S−B6)。
追尾対象10が、カメラ1Bの撮像可能範囲の境界付近に移動するかあるいはカメラ1Bの撮像可能範囲を逸脱すると、カメラ1Bの画像処理装置2Bは、追尾対象10の移動先と予測される隣のカメラ1Cの画像処理装置2Cに、追尾対象10の追尾を受け渡す旨の指令である連動指令を、通信網4を介して送出する(S−B7)。また、カメラ1Bの画像処理装置2Bは、この連動指令と共に、追尾対象10の特徴量を、例えば追尾対象10の移動履歴と一緒に、カメラ1Cの画像処理装置2Cに送出する(S−B7)。カメラ1Bの画像処理装置2Bは、カメラ1Cの画像処理装置2Cに連動指令、特徴量及び移動履歴を送信した後、追尾対象10の進行方向とは逆にあるカメラ1Aの画像処理装置2Aに復旧指令を送信し、カメラ1Aの画像処理装置2Aは、この復旧指令を受けるとカメラ1Aをプリセット状態に戻す(S−A6)。また、カメラ1Bの画像処理装置2Bは、カメラ1Bを、連動指令を送出した状態のパン、チルト及びズームで待機させる(S−B8)。
以後、カメラCの動作の流れは、S−B4以降と同一であり(S−C4〜S−C6)、本実施の形態による自動追尾システムでは、カメラ1A,1B,1Cの全体の撮像可能範囲内から消滅するまで処理が継続される。消滅した場合は、プリセット状態(S−A1、S−B1、S−C1)に戻る。
次に、図4に示す動作例について説明する。図4は、追尾対象10が、カメラ1Aの撮像可能範囲から一旦カメラ1Bの撮像可能範囲へ入った後に、カメラ1Cの撮像可能範囲へ入ることなくカメラ1Aの撮像可能範囲へ戻る場合の動作例を示している。
図4中のS−A11〜S−A15、S−B11〜S−B16、S−C11〜S−C13の処理は、図3中のS−A1〜S−A5、S−B1〜S−B6、S−C1〜S−C3の処理とそれぞれ同一であるため、ここではその説明は省略する。
S−B16の追跡・探索処理の後、追尾対象10が、カメラ1Bの撮像可能範囲の境界付近に移動するかあるいはカメラ1Bの撮像可能範囲を逸脱すると、カメラ1Bの画像処理装置2Bは、追尾対象10の移動先と予測される隣のカメラ1Aの画像処理装置2Aに、追尾対象10の追尾を受け渡す旨の指令である連動指令を、通信網4を介して送出する(S−B17)。また、カメラ1Bの画像処理装置2Bは、この連動指令と共に、追尾対象10の特徴量を、例えば追尾対象10の移動履歴と一緒に、カメラ1Aの画像処理装置2Aに送出する(S−B17)。カメラ1Bの画像処理装置2Bは、カメラ1Aの画像処理装置2Aに連動指令、特徴量及び移動履歴を送信した後、追尾対象10の進行方向とは逆にあるカメラ1Cの画像処理装置2Cに復旧指令を送信し、カメラ1Cの画像処理装置2Cは、この復旧指令を受けるとカメラ1Cをプリセット状態に戻す(S−C14)。また、カメラ1Bの画像処理装置2Bは、カメラ1Bを、連動指令を送出した状態のパン、チルト及びズームで待機させる(S−B18)。
カメラ1Bの画像処理装置2Bから連動指令、特徴量及び移動履歴を受けた後のカメラ1Aの画像処理装置2Aの処理(S−A16〜S−A18)は、これまでの説明と同様の処理となるため、ここではその説明は省略する。
次に、各画像処理装置2A,2B,2Cの動作の概要を、図5を参照して説明する。図5は、先に説明した画像処理装置2A,2B,2Cのうちの1つの画像処理装置の主たる動作状態を概略的に示す状態遷移図である。これまで説明してきた各画像処理装置2A,2B,2Cの動作状態は、大雑把に分けると、図5に示すように、「待機」、「検索」及び「追跡」の3つの状態があるものを考えられる。
画像処理装置2A,2B,2Cはいずれも同じ動作を行うので、以下の説明では、カメラ1A,1B,1Cのうちの1つのカメラを自カメラ、画像処理装置2A,2B,2Cのうち自カメラに接続された画像処理装置を自カメラの画像処理装置という。
まず、自カメラが、追尾対象10が指定又は初期的に検知されるカメラ(例えば、図3に示す例におけるカメラ1Aに相当)である場合の、自カメラの画像処理装置の動作について、説明する。
自カメラの画像処理装置は、自カメラに関して追尾対象10が指定又は初期的に検知されていない場合は、自カメラをプリセット状態で「待機」させる([1])。
自カメラの画像処理装置は、自カメラが撮像しているエリア内で追尾対象10が指定又は初期的に検知される([2])と、以後、指定又は検知された追尾対象10を「追跡」する([3])。
自カメラの画像処理装置は、画像処理による追跡の結果、追尾対象10の進行方向に応じて自カメラのパン及びチルトを制御する([3])。また、自カメラの画像処理装置は、必要に応じて、自カメラのズームも制御する。「追跡」では、画像処理による追跡処理に関連して得られる追尾対象10に関する情報(例えば、追尾対象10の領域)に基づいて、前記追跡処理においては用いられない追尾対象10の特徴量(例えば、ヒストグラム)を得て、保存しておく。
自カメラの画像処理装置は、追跡の途中で追尾対象10を見失った場合、「追跡」から「探索」に切り替える([4])。ただし、「追跡」の結果、追尾対象10が移動によって自カメラの撮像可能範囲を逸脱したと判断できる場合は、自カメラの画像処理装置は、移動先と予測される隣のカメラに、連動指令、並びに、追尾対象10の特徴量及び移動履歴を送信し([8])、「待機」へ移る。
自カメラの画像処理装置は、「探索」では、「追跡」で得られた追尾対象10の特徴量及び移動履歴から、自カメラの撮像画像に基づいて追尾対象10を探索する([5])。
自カメラの画像処理装置は、「探索」で追尾対象10が発見(検出)された場合は、追尾対象10の位置に合わせて、自カメラのパン、チルト及びズームを制御し、「追跡」に戻る([6])。
自カメラの画像処理装置は、一定時間「探索」をしても追尾対象10が発見されたなかった場合は、「探索」を失敗したと判断し、「待機」に戻る([7])。
自カメラの画像処理装置は、「追跡」の結果、追尾対象10が自カメラの撮像可能範囲の境界付近に移動するか、あるいは、追尾対象10が自カメラの撮像可能範囲を逸脱した(追尾対象10が移動によって自カメラの撮像可能範囲を逸脱した)と判断できる場合は、自カメラの画像処理装置は、移動先と予測される隣のカメラに、連動指令、並びに、「追跡」で得られた追尾対象10の特徴量及び移動履歴を送信し([8])、「待機」へ移る。
次に、自カメラが、その画像処理装置が隣のカメラから連動指令を受けるカメラ(例えば、図3に示す例におけるカメラ1Bに相当)である場合の、自カメラの画像処理装置の動作について、説明する。
自カメラの画像処理装置は、自カメラに関して追尾対象10が指定又は初期的に検知されていない場合は、自カメラをプリセット状態で「待機」させる([1])。ただし、隣のカメラで追尾対象10の「追跡」又は「探索」がなされている場合は、自カメラの画像処理装置は、自カメラを当該隣のカメラの方向に向けて(パン、チルト及びズームを制御して)「待機」させる。
自カメラの画像処理装置は、隣のカメラから連動指令を受けると、自カメラの画像処理装置は、連動指令と一緒に受けた追尾対象10の特徴量及び移動履歴を基に「探索」に移る([9])。
自カメラの画像処理装置は、「探索」で追尾対象10が発見(検出)された場合は、追尾対象10の位置に合わせて、自カメラのパン、チルト及びズームを制御し、「追跡」に移る([6])。
自カメラの画像処理装置は、「追跡」の結果得られる追尾対象10の進行方向に応じて、自カメラのパン及びチルトを制御する([3])。また、自カメラの画像処理装置は、必要に応じて、自カメラのズームも制御する。「追跡」では、画像処理による追跡処理に関連して得られる追尾対象10に関する情報(例えば、追尾対象10の領域)に基づいて、前記追跡処理においては用いられない追尾対象10の特徴量(例えば、ヒストグラム)を得て、保存しておく。
自カメラの画像処理装置は、追跡の途中で追尾対象10を見失った場合、「追跡」から「探索」に切り替える([4])。ただし、「追跡」の結果、追尾対象10が移動によって自カメラの撮像可能範囲を逸脱したと判断できる場合は、自カメラの画像処理装置は、移動先と予測される隣のカメラに、連動指令、並びに、追尾対象10の特徴量及び移動履歴を送信し([8])、「待機」へ移る。
自カメラの画像処理装置は、一定時間「探索」をしても追尾対象10が発見されたなかった場合は、「探索」を失敗したと判断し、「待機」に戻る([7])。
自カメラの画像処理装置は、追跡の途中で追尾対象10を見失った後の「探索」では、「追跡」でそれまでに得られた追尾対象10の特徴量及び移動履歴から、自カメラの撮像画像に基づいて追尾対象10を探索する([5])。
自カメラの画像処理装置は、追跡の途中で追尾対象10を見失った後の「探索」で追尾対象10が発見(検出)された場合にも、追尾対象10の位置に合わせて、自カメラのパン、チルト及びズームを制御し、「追跡」に移る([6])。
自カメラの画像処理装置は、「追跡」の結果、追尾対象10が自カメラの撮像可能範囲の境界付近に移動するか、あるいは、追尾対象10が自カメラの撮像可能範囲を逸脱した(追尾対象10が移動によって自カメラの撮像可能範囲を逸脱した)と判断できる場合は、自カメラの画像処理装置は、移動先と予測される隣のカメラに、連動指令、並びに、「追跡」で得られた追尾対象10の特徴量及び移動履歴を送信し([8])、「待機」へ移る。
以上、本実施の形態による自動追尾システムの動作の概略について、説明した。以下、前述した動作を実現する各画像処理装置2A,2B,2Cのより一層具体的な動作の一例について、図6乃至図9を参照して説明する。図6は、画像処理装置2A,2B,2Cのうちの1つの画像処理装置の動作の一例を示す概略フローチャートである。図7は、図6中の追尾対象検知処理(ステップS3)を詳細に示すフローチャートである。図8は、図6中の追跡動作(ステップS5)を詳細に示すフローチャートである。図9は、図6中の探索動作(ステップS18)を詳細に示すフローチャートである。
画像処理装置2A,2B,2Cはいずれも同じ動作を行うので、以下の説明では、カメラ1A,1B,1Cのうちの1つのカメラを自カメラ、画像処理装置2A,2B,2Cのうち自カメラに接続された画像処理装置を自カメラの画像処理装置という。
図6に示すように、自カメラの画像処理装置は、動作を開始すると、まず、自カメラをプリセット状態にする(ステップS1)。すなわち、自カメラの画像処理装置は、自カメラのパン、チルト及びズームを予め定められたパン、チルト及びズームにする。
次に、自カメラの画像処理装置は、監視者によって上位局装置3により自カメラの撮像画像に関して追尾対象10が指定されたか否かを判定する(ステップS2)。指定されていればステップS5へ移行し、指定されていなければ、追尾対象検知処理を行う(ステップS3)。
ここで、図7を参照して、追尾対象検知処理(ステップS3)の一例について説明する。なお、図6中の追尾対象検知処理(ステップS3)は、図7に示す例に限定されるものではない。
追尾対象検知処理(ステップS3)を開始すると、図7に示すように、自カメラの画像処理装置は、まず、自カメラが撮像した2枚の連続する画像をサンプリングし(ステップS31,S32)、それらの画像の差分画像(フレーム間差分画像)を生成する(ステップS33)。
次いで、自カメラの画像処理装置は、ステップS33で生成した差分画像を2値化する(ステップS34)。この2値化に用いる閾値は、固定閾値でもよいし、判別分析法に大豊されるような可変閾値でもよい。
引き続いて、自カメラの画像処理装置は、ステップS34で2値化された画像をラベリングする(ステップS35)。そして、自カメラの画像処理装置は、ラベリングされたものがあるか否かを判定し(ステップS36)、ラベリングされたものがなければステップS42へ移行する一方、ラベリングされたものがあれば、ステップS37へ移行する。
ステップS37において、自カメラの画像処理装置は、ラベリングされたもの全てについてそれぞれ特徴量を取得する(ステップS37,S38)。ここでいう特徴量は、例えば面積や円形度など、追尾対象10を正確に検出するために必要ものである。
その後、自カメラの画像処理装置は、ステップS37で取得した全てのラベルの特徴量から、追尾対象10の候補となるものが存在するか否かを判定する(ステップS39)。存在しなければステップS42へ移行する一方、存在すればステップS40へ移行する。
ステップS40において、自カメラの画像処理装置は、追尾対象10の候補のうちから追尾対象10を決定する。このとき、追尾対象10の候補が1つであればそれを追尾対象10として決定し、追尾対象10の候補が複数存在すれば、所定の判断基準によって1つに絞り込んで、それを追尾対象10として決定する。
ステップS41の後に、自カメラの画像処理装置は、追尾対象10が検知されたか否かを示す追尾対象検知フラグを1(1は、追尾対象10が検知されたこと示す。)にセットし(ステップS41)、追尾対象検知処理(ステップS3)を終了して、図6中のステップS4へ移行する。
ステップS42において、自カメラの画像処理装置は、追尾対象検知フラグを0(0は、追尾対象10が検知されなかったこと示す。)にセットする。その後、追尾対象検知処理(ステップS3)を終了して、図6中のステップS4へ移行する。
再び図6を参照すると、ステップS4において、自カメラの画像処理装置は、ステップS3で追尾対象10が検知されたか否かを判定する。この判定は、前記追尾対象検知フラグが1であるか0であるかによって行う。追尾対象10が検知された場合は、ステップS5へ移行する一方、追尾対象10が検知されなかった場合は、ステップS11へ移行する。
ここで、図8を参照して、追跡動作(ステップS5)の一例について説明する。なお、図6中の追跡動作(ステップS5)は、図8に示す例に限定されるものではない。
追跡動作(ステップS5)を開始すると、図8に示すように、自カメラの画像処理装置は、まず、自カメラが撮像した画像をサンプリングする(ステップS50)。
次に、自カメラの画像処理装置は、ステップS50でサンプリングされた画像中の追尾対象10の領域について、その特徴点を抽出する(ステップS51)。ただし、図6中のステップS2,S4,S19のいずれかから最初にステップS5へ移行してきた場合には、自カメラの画像処理装置は、ステップS51において、対応するステップS2,S4,S19で処理対象とされていた画像中の追尾対象10の領域についても、その特徴点を抽出する。なお、特徴点は、後述するステップS52で追尾対象10の動きベクトルを算出するために必要なものであり、ステップS52で採用する動きベクトルの算出手法に応じた特徴点を抽出すればよい。なお、ステップS52における動きベクトルの算出手法は何ら限定されるものではない。
次いで、自カメラの画像処理装置は、追尾対象10の動きベクトルを、全ての特徴点について算出する(ステップS52,S53)。次に、自カメラの画像処理装置は、ステップS52,S53によって得られた複数の動きベクトルから、追尾対象10の移動ベクトルを決定する(ステップS54)。引き続いて、自カメラの画像処理装置は、追尾対象10の移動ベクトルの決定ができたか否かを判定する(ステップS55)。動きベクトルのばらつきが大きいなどの理由により追尾対象10の移動ベクトルが決定できない場合は、追跡処理失敗と判断し、追跡処理が成功したか否かを示す追跡成功フラグを0(0は、追跡処理が失敗したことを示す。)にセットし、追跡動作(ステップS5)を終了して、図6中のステップS6へ移行する。
なお、ステップS51〜S54が、自カメラにより撮像された画像に基づいて追尾対象10を追跡する追跡処理に相当している。
ステップS55において移動ベクトルが1つの方向に決定できたと判定されると、自カメラの画像処理装置は、ステップS54で決定された移動ベクトルに基づいて、追尾対象10に動きが生じたか否かを判定する(ステップS56)。動きが生じていればステップS57へ移行する一方、動きが生じていなければステップS57を経ることなくステップS58へ直接に移行する。
ステップS57において、自カメラの画像処理装置は、ステップS54で決定された移動ベクトルに応じて、それに合った方向及び量だけ自カメラのパン及びチルトを制御する。また、自カメラの画像処理装置は、追尾対象10の領域の進行方向や大きさの推移からズーム制御が必要であれば、それに応じた制御を自カメラに対して行う。
ステップS58において、自カメラの画像処理装置は、追跡結果を基に、追尾対象10の領域を更新する。その際、自カメラの画像処理装置は、追尾対象10の位置とその時刻を追尾対象10の移動履歴として更新して保存する(ステップS59)とともに、更新された追尾対象10の領域についてヒストグラムを取得し、追尾対象10の特徴量としてのヒストグラムを更新する(ステップS60)。このヒストグラムは、白黒の濃淡のヒストグラムでもよいし、カラーの各色の濃淡のヒストグラムでもよい。ステップS60で更新されたヒストグラムやステップS59で得た移動履歴は、ステップS51〜S54の追跡処理において用いられるものではなく、後述する図6中の探索動作(ステップS18)において用いられるものである。
ステップS60の後に、自カメラの画像処理装置は、追跡成功フラグを1(1は、追跡処理が成功したことを示す。)にセットし、追跡動作(ステップS5)を終了して、図6中のステップS6へ移行する。
再び図6を参照すると、ステップS6において、自カメラの画像処理装置は、ステップS3で追尾対象10の追跡が成功したか否かを判定する。この判定は、前記追跡成功フラグが1であるか0であるかによって行う。追尾対象10の追跡が成功した場合はステップS7へ移行する一方、追尾対象10の追跡が成功しなかった場合はステップS8へ移行する。
ステップS8において、自カメラの画像処理装置は、これまでステップS5(特に、図8中のステップS59)で得た追尾対象10の移動履歴に基づいて、追尾対象10がその移動により自カメラの撮像可能範囲を逸脱したのか否かを判定する。逸脱したのであればステップS9へ移行する一方、逸脱したのでなければ、追跡処理中に追尾対象10が物陰に隠れるなどして追尾対象10を見失ったと考えられるので、ステップS18へ移行する。
ステップS7において、自カメラの画像処理装置は、ステップS5(特に、図8中のステップS59)で得た追尾対象10の現在位置が自カメラの撮像可能範囲の境界付近か否かを判定する。境界付近でなければステップS5へ戻る一方、境界付近であればステップS9へ移行する。
ステップS9において、自カメラの画像処理装置は、追尾対象10の移動先と予測される隣のカメラの画像処理装置に、連動指令を、ステップS5で得た追尾対象10の移動履歴及び特徴量(本例では、ヒストグラム)と一緒に送出する。
その後、自カメラの画像処理装置は、自カメラと隣り合うカメラの画像処理装置うち、ステップS9で連動指令を送出したカメラの画像処理装置以外の画像処理装置に、復旧指令を送出し(ステップS10)、ステップS13へ移行する。
ステップS11において、自カメラの画像処理装置は、隣のカメラから待機指令を受けたか否かを判定する。待機指令を受けた場合はステップS12へ移行する一方、待機指令を受けていない場合はステップS1へ戻る。
ステップS12において、自カメラの画像処理装置は、自カメラの姿勢を変更させて自カメラをその待機指令を送ってきた画像処理装置のカメラの方向に向かせる。その後、ステップS13へ移行する。
ステップS13において、自カメラの画像処理装置は、自カメラに現在の姿勢を保ったままにさせ、自カメラを待機させる。これは、隣のカメラで何らかの動きがあるためである。
ステップS13の後、自カメラの画像処理装置は、隣のカメラの画像処理装置から復旧指令を受けたか否かを判定する(ステップS14)。復旧指令を受けた場合はステップS1へ戻る一方、復旧指令を受けていない場合はステップS15へ移行する。
ステップS15において、自カメラの画像処理装置は、隣のカメラの画像処理装置から連動指令を受けたか否かを判定する。連動指令を受けた場合(この場合、隣のカメラの画像処理装置から追尾対象10の移動履歴及び特徴量(本例では、ヒストグラム)も受けている。)は、ステップS16へ移行する一方、連動指令をうけていない場合はステップS13へ戻る。
ステップS16において、自カメラの画像処理装置は、隣のカメラの画像処理装置から連動指令と一緒に送られてきた追尾対象10の移動履歴に基づいて、自カメラの撮像可能範囲内に到達する位置を予測し、自カメラの姿勢を補正して自カメラを前記予測された位置に向ける(ステップS16)。このとき、自カメラの画像処理装置は、自カメラのズームを、自カメラが撮像するエリアが広めになるようにしておく。
ステップS16の後に、自カメラの画像処理装置は、自カメラと隣り合うカメラの画像処理装置うち、連動指令を送ってきた隣のカメラの画像処理装置以外の画像処理装置に、待機指令を送出し(ステップS17)、ステップS18へ移行する。
ここで、図9を参照して、図6中の探索動作(ステップS18)の一例について説明する。なお、図6中の探索動作(ステップS18)は、図9に示す例に限定されるものではない。
探索動作(ステップS18)では、ステップS15でYesと判定されて行われる動作(隣のカメラの画像処理装置から連動指令を受けた場合に行われる動作)と、ステップS8でNoと判定されて行われる動作(自カメラに関する追跡処理中に追尾対象10を見失った場合に行われる動作)とは、異なっている。
両者の動作を切り分けるため、探索動作(ステップS18)を開始すると、図9に示すように、自カメラの画像処理装置は、まず、隣のカメラの画像処理装置から連動指令を受けた場合であるかそれとも自カメラに関する追跡処理中に追尾対象10を見失った場合かを判定する(ステップS71)。隣のカメラの画像処理装置から連動指令を受けた場合は、ステップS72へ移行する一方、自カメラに関する追跡処理中に追尾対象10を見失った場合は、ステップS90へ移行する。
ステップS72において、自カメラの画像処理装置は、隣のカメラの画像処理装置から連動指令と一緒に受けた追尾対象10の移動履歴に基づいて、追尾対象10が自カメラの撮像可能範囲に到達する時刻や位置を予測する。
次に、自カメラの画像処理装置は、ステップS72の予測結果に合わせて、自カメラのパン、チルト及びズームを制御する(ステップS73)。
次いで、ステップS72の予測結果から、自カメラの撮像可能範囲に到達すると予測される時刻(到達予測時刻)の頃になったか否かを判定し(ステップS74)、到達予測時刻頃になるまで待つ。
到達時刻頃になると、自カメラの画像処理装置は、自カメラが撮像した2枚の連続する画像をサンプリングし(ステップS75,S76)、それらの画像の差分画像(フレーム間差分画像)を生成する(ステップS77)。
次いで、自カメラの画像処理装置は、ステップS77で生成した差分画像を2値化する(ステップS78)。この2値化に用いる閾値は、固定閾値でもよいし、判別分析法に大豊されるような可変閾値でもよい。
引き続いて、自カメラの画像処理装置は、ステップS78で2値化された画像をラベリングする(ステップS79)。そして、自カメラの画像処理装置は、ラベリングされたものがあるか否かを判定し(ステップS80)、ラベリングされたものがなければステップS88へ移行する一方、ラベリングされたものがあれば、ステップS81へ移行する。
ステップS81において、自カメラの画像処理装置は、ラベリングされた領域について、ヒストグラムを生成する。ただし、ヒストグラムは度数で表さず、各階級の度数を全階級の度数の総和で割り算をし、合計が1となるように正規化する。この点は、前述した図8中のステップS60で取得及び更新したヒストグラムについても同様である。ステップS81で生成するヒストグラムは、白黒の濃淡のヒストグラムでもよいし、カラーの各色の濃淡のヒストグラムでもよいが、隣のカメラの画像処理装置が図8中のステップS60で取得及び更新したヒストグラムに合わせる。その後、自カメラの画像処理装置は、ステップS81で得たヒストグラム(正規化されたヒストグラム)と隣のカメラの画像処理装置から連動指令と一緒に送られてきたヒストグラム(正規化されたヒストグラム)との、マッチングを行う(ステップS82)。
自カメラの画像処理装置は、ステップS81,S82の処理をステップS79でラベリングされた全ての領域について、行う(ステップS83)。
その後、自カメラの画像処理装置は、マッチングの結果に従って、ステップS79でラベリングされた全ての領域のうち、追尾対象10の候補となるものが存在するか否かを判定する(ステップS84)。存在しなければステップS88へ移行する一方、存在すればステップS85へ移行する。
ステップS85において、自カメラの画像処理装置は、追尾対象10の候補のうちから追尾対象10を決定する。このとき、追尾対象10の候補が1つであればそれを追尾対象10として決定し、追尾対象10の候補が複数存在すれば、所定の判断基準によって1つに絞り込んで、それを追尾対象10として決定する。ここで決定された追尾対象10が、探索の結果発見された追尾対象10である。
ステップS85の後、自カメラの画像処理装置は、ステップS85で決定された追尾対象10の位置情報等を取得し、それに合わせて、自カメラのパン、チルト及びズームを制御する(ステップS86)。
次いで、自カメラの画像処理装置は、探索により追尾対象10が発見(検出)されたか否かを示す発見フラグを1(1は、追尾対象10が発見されたこと示す。)にセットする。その後、探索動作(ステップS18)を終了して、図6中のステップS19へ移行する。
ステップS75〜S84の探索の結果、追尾対象10を発見できなかった場合は、ステップS88へ移行することになる。ステップS88において、自カメラの画像処理装置は、ステップS72で得た予測到達時刻から予め設定した時間を経過してしまったか否かを判定する。予め設定した時間を経過していなければ、未だ追尾対象10が自カメラの撮像可能範囲内に到達していない可能性があると判断し、ステップS75へ戻る。一方、予め設定した時間を経過してしまっている場合は、探索処理が失敗したと判断し、自カメラの画像処理装置は、発見フラグを0(0は、追尾対象10が発見されなかったこと示す。)にセットした(ステップS89)後、探索動作(ステップS18)を終了して、図6中のステップS19へ移行する。
自カメラに関する追跡処理中に追尾対象10を見失った場合、ステップS90において、自カメラの画像処理装置は、自カメラのズームを、追跡処理において追尾対象10を見失う直前よりもズームアウトさせる。これは、追尾対象10を一旦見失うと、どこに追尾対象10が移動してしまったか不明であるためである。ズームアウトさせずに例えば自カメラのパン及びチルトを順次スキャンさせることで、追尾対象10を探索することも可能であるが、ズームアウトさせた方がより迅速に追尾対象10を探索し得る。
次に、自カメラの画像処理装置は、自カメラが撮像した画像をサンプリングする(ステップS91)。
次いで、自カメラの画像処理装置は、ステップS91でサンプリングされた画像の全体を探索すべき範囲として、ステップS93,S94の処理対象とする当該範囲内をカバーする複数の探索領域のうち、1つの探索領域を決定する(ステップS92)。このステップS92が、ステップS95でNoとされて順次繰り返されることによって、前記複数の探索領域が順次1つずつ決定されていくことになる。なお、探索すべき範囲は必ずしもステップS91でサンプリングされた画像の全体である必要はなく、処理時間を考慮して、当該画像の一部の領域としてもよい。この場合、当該画像における探索すべき範囲は、例えば、これまでの追跡処理中に取得していた追尾対象10の移動履歴等に基づいて、追尾対象10を見失った位置付近の範囲にしてもよい。
次に、自カメラの画像処理装置は、ステップS92で決定された領域について、ヒストグラムを生成する(ステップS93)。ただし、ヒストグラムは度数で表さず、各階級の度数を全階級の度数の総和で割り算をし、合計が1となるように正規化する。ステップS93で生成するヒストグラムは、白黒の濃淡のヒストグラムでもよいし、カラーの各色の濃淡のヒストグラムでもよいが、図8中のステップS60で取得及び更新したヒストグラムに合わせる。その後、自カメラの画像処理装置は、ステップS93で得たヒストグラム(正規化されたヒストグラム)と、自カメラの画像処理装置がこれまでに図8中のステップS60で取得及び更新したヒストグラム(正規化されたヒストグラム)との、マッチングを行う(ステップS94)。
自カメラの画像処理装置は、ステップS91,S92の処理を、前記探索すべき範囲をカバーする前記複数の探索領域の全てについて、行う(ステップS95)。
その後、自カメラの画像処理装置は、マッチングの結果に従って、前記探索すべき範囲をカバーする前記複数の探索領域の全てのうち、追尾対象10の候補となるものが存在するか否かを判定する(ステップS96)。存在しなければステップS97へ移行する一方、存在すればステップS85へ移行する。
ステップS90〜S96の探索の結果、追尾対象10を発見できなかった場合は、ステップS97へ移行することになる。ステップS97において、自カメラの画像処理装置は、ステップS90の開始から予め設定した時間を経過してしまったか否かを判定する。予め設定した時間を経過していなければ、未だ追尾対象10が物陰等から出ていない可能性があると判断し、ステップS91へ戻る。一方、予め設定した時間を経過してしまっている場合は、探索処理が失敗したと判断し、自カメラの画像処理装置は、発見フラグを0(0は、追尾対象10が発見されなかったこと示す。)にセットした(ステップS98)後、探索動作(ステップS18)を終了して、図6中のステップS19へ移行する。
なお、隣のカメラの画像処理装置から連動指令を受けた場合にはステップS75,S76で撮像された画像の範囲内のみで探索を行い、自カメラに関する追跡処理中に追尾対象10を見失った場合にはステップS91で撮像された画像の範囲内でのみ探索を行っているが、いずれの場合も、その範囲内で追尾対象10を発見し得ない場合には、自カメラのパン及びチルト(必要に応じてズームも)を変えて探索を行うことで、自カメラの撮像可能範囲の全範囲に渡って探索を行うことも可能である。
再び図6を参照すると、ステップS19において、自カメラの画像処理装置は、ステップS18で追尾対象10が探索により発見(検出)されたか否かを判定する。この判定は、前記発見フラグが1であるか0であるかによって行う。追尾対象10が発見された場合は、ステップS5へ移行する一方、追尾対象10が発見されなかった場合は、ステップS1へ戻る。
本実施の形態による自動追尾システムでは、自カメラによる追跡処理(図8中のステップS51〜S54)に関連して得られる追尾対象10に関する情報(移動ベクトル)に基づいて、前記追跡処理においては用いられない追尾対象10の特徴量(図8中のステップS60で更新されるヒストグラム)が取得され、この自カメラによる特徴量(ヒストグラム)を用いて隣のカメラにおける追尾対象10の探索(図9中のステップS72〜S85)が行われることで、自カメラから隣のカメラへの追尾対象10の追尾が受け渡される。したがって、本実施の形態によれば、隣り合うカメラをそれらの撮像可能範囲が部分的に重複するように設置できない場合にも、複数のカメラ1A,1B,1Cを連携させて追尾対象10を自動追尾して撮像することができる。
また、本実施の形態によれば、前記追跡処理(図8中のステップS51〜S54)においては用いられない追尾対象10の特徴量(図8中のステップS60で更新されるヒストグラム)を取得し、これに基づいて隣のカメラの追尾対象10の探索(図8中のステップS51〜S54)が行われるので、前記追跡処理(図8中のステップS51〜S54)における追尾対象10の検出と前記探索(図9中のステップS72〜S85)における追尾対象の検出とを、異なる手法により行うことができる。したがって、それらの手法をそれぞれ別々に設定することができる(本実施の形態では、動きベクトルを用いた手法とヒストグラムマッチングによる手法に設定している)ので、例えば、前記追跡処理では迅速性を重視した手法(本実施の形態では、動きベクトルを用いた手法)を採用する一方、前記探索では検出の確実性を重視した手法(本実施の形態では、ヒストグラムマッチングによる手法)を採用することができ、非常に好ましい。
さらに、本実施の形態では、複数のカメラ1A,1B,1Cに対して画像処理装置2A,2B,2Cが1対1に設けられ、画像処理装置2A,2B,2Cが同じ構成を有しているので、カメラの設置台数を変える場合、それに応じて画像処理装置の数を変えるだけですみ、画像処理装置の構成自体をカメラの設置台数に応じて変更する必要がなくなる。
さらにまた、本実施の形態によれば、自カメラに関する追跡処理中に追尾対象10を見失った場合、自カメラに関して取得された追尾対象10の特徴量(図8中のステップS60で更新されるヒストグラム)を用いて、自カメラにより撮像された画像に基づいて追尾対象10が探索される(ステップS90〜S96,S85)ので、追尾対象10が一旦物陰に隠れるなどした後にも追尾対象10を継続して追尾することができる。
[第2の実施の形態]
図10は、第2の実施の形態によ自動追尾システムを示す概略構成図であり、図1に対応している。図10において、図1中の要素と同一又は対応する要素には同一符号を付し、その重複する説明は省略する。
本実施の形態が前記第1の実施の形態と異なる所は、複数のカメラ1A,1B,1Cに対して1対1に設けられた画像処理装置2A,2B,2Cの代わりに、画像処理装置2A,2B,2Cの機能を併せ持った1つの画像処理装置100が用いられている点のみである。
本実施の形態によっても、前記第1の実施の形態と同様の利点が得られる。
以上、本発明の各実施の形態について説明したが、本発明はこれらの実施の形態に限定されるものではない。