(57)【要約】　　　（修正有）【課題】自律的に動作する複数カメラによる移動体追跡の協調処理、及び複数カメラに分散された情報の効率的な収集・管理が行えるようにする。【解決手段】複数ビデオカメラの毎に分散的に人物追跡するカメラ内追跡手段と、追跡を行うメイン追跡要素と移動体の特徴量をメイン追跡要素に供給するサブ追跡要素とからなり複数のカメラ内追跡手段間で連携して移動体を追跡するカメラ間追跡手段と、複数のカメラ内追跡手段に亙り自律的に移動して移動体を探索する移動体探索手段とを具える。これにより、システム全体にわたる移動体の追跡及び複数のビデオカメラ毎に分散された情報の統括的管理を効率よく行うことができる。【選択図】図１
2004072628.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に接続され追跡環境の画像を撮影する複数のビデオカメラと、前記複数のビデオカメラの各々に接続され、ビデオ撮影した画像を画像処理する複数のプロセッサとを具え、
前記ビデオ撮影した画像から追跡すべき移動体を特定し、前記特定した移動体の特徴量を抽出して、前記ビデオカメラの撮影範囲内において前記特徴量に基づく移動体追跡を、前記複数のビデオカメラの各々毎に分散的に行うカメラ内追跡手段と、
複数の前記カメラ内追跡手段で抽出された複数の特徴量を統合して特定の移動体の追跡処理を行うメイン追跡要素と、個々の前記カメラ内追跡手段毎に抽出される前記特定の移動体の特徴量を前記メイン追跡要素に供給するサブ追跡要素とからなり、複数の前記カメラ内追跡手段間で連携して前記特定の移動体を追跡するカメラ間追跡手段と、
前記カメラ内追跡手段にて抽出した特定の移動体の特徴量に基づき、複数の該カメラ内追跡手段に亙り自律的に移動して、該特徴量によって同定される移動体を探索することで、前記複数のビデオカメラ毎に分散された移動体追跡情報の統括的管理を可能とする移動体探索手段と、
を含むことを特徴とする移動体追跡システム。
【請求項２】
前記カメラ間追跡手段において、前記複数のカメラ内追跡手段間で連携して特定の移動体を追跡するために実施するプログラムであって、
前記メイン追跡要素が前記複数のカメラ内追跡手段で抽出された複数の特徴量を統合して特定の移動体の追跡処理を行う手順と、
前記サブ追跡要素が、自身の担当する前記カメラ内追跡手段毎に抽出される前記特定の移動体の特徴量を、前記メイン追跡要素に供給する手順と、
カメラ内追跡手段における前記移動体の抽出精度に応じて前記メイン追跡要素と前記サブ追跡要素の役割を遷移する手順と
を含むプログラム。
【請求項３】
前記移動体探索手段において、特定の移動体を複数の該カメラ内追跡手段に亙り探索するために実施するプログラムであって、
前記カメラ内追跡手段にて抽出した特定の移動体の特徴量に基づき、該特徴量によって同定される移動体を任意のカメラ内追跡手段にて探索する手順と、
前記特定の移動体が発見されるまで複数のカメラ内追跡手段に亙って自律的に移動して移動体の探索を繰り返す手順と
を含むプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば人物や車両等のような移動体を画像上から認識し、追跡する移動体追跡システム及びその方法に関する。
【０００２】
【従来の技術】
従来から、広域監視や設備監視を行うために、ビデオカメラ（以下単にカメラとも言う）を用いた監視システムが広く利用されている。従来のビデオカメラによる監視システムは、例えば、複数の監視用カメラにて撮影した画像を、人がリアルタイムでモニタリングすることで実現していた。近年、画像処理技術の進展に伴い、ビデオカメラによりビデオ撮影された画像に含まれる特定の移動体（追跡すべき人物像等）の認識、追跡を行う研究が盛んに行われており、単一のビデオカメラによりビデオ撮影された画像中から移動体を抽出し、この抽出された移動体を該単一のビデオカメラを用いて追跡すること自体は可能である。
【０００３】
【発明が解決しようとする課題】
しかし、単一のビデオカメラによって撮影可能な範囲は、比較的狭い範囲に限られてしまう。また、単一視点により得られる画像情報だけは、実際に人物追跡に利用するには、オクルージョン（陰蔽物）や画像解析精度等の点で不十分である。すなわち、比較的広域にわたる環境の監視をビデオカメラを用いて行うためには、複数台のカメラを用いて移動体追跡システムを構築する必要がある。
この複数のカメラを具える移動体追跡システムは、システム全体の制御方式の点から、個々のビデオカメラにて取得した情報を統合するためのサーバコンピュータを具える集中制御型と、個々のビデオカメラが自律分散して動作する処理方式（分散型）の２種類に分類される。集中制御型の場合、各カメラに分散した情報の統合が容易である反面、全ての情報をサーバに集約する必要があるので、判断処理速度が遅く、また、システムの拡張性・柔軟性に乏しい。加えて、システム規模が大きい場合、サーバに対する負担が大きくなってしまうため、比較的大規模なシステムに適用するには、不向きである。
一方、分散型処理方式に基づくシステムは、前記集中制御型に較べて、システムの拡張性・柔軟性に優れ、システム規模が大きい場合も、ネットワークへの負荷が少ないので有利であるが、この場合は、特に、複数のカメラの協調方法並びに複数のカメラに分散された情報の収集・管理方法が課題となる。
【０００４】
本発明は、上述の点に鑑みてなされたもので、システム全体での自律的な移動体追跡を可能とし、また、複数のカメラに分散された情報の収集・管理を効率的に行えるようにした複数カメラを用いた移動体追跡システム及びその方法を提供しようとするものである。
【０００５】
【課題を解決する手段】
本発明は、ネットワーク上に接続され追跡環境の画像を撮影する複数のビデオカメラと、前記複数のビデオカメラの各々に接続され、ビデオ撮影した画像を画像処理する複数のプロセッサとを具え、前記ビデオ撮影した画像から追跡すべき移動体を特定し、前記特定した移動体の特徴量を抽出して、前記ビデオカメラの撮影範囲内において前記特徴量に基づく移動体追跡を、前記複数のビデオカメラの各々毎に分散的に行うカメラ内追跡手段と、複数の前記カメラ内追跡手段で抽出された複数の特徴量を統合して特定の移動体の追跡処理を行うメイン追跡要素と、個々の前記カメラ内追跡手段毎に抽出される前記特定の移動体の特徴量を前記メイン追跡要素に供給するサブ追跡要素とからなり、複数の前記カメラ内追跡手段間で連携して前記特定の移動体を追跡するカメラ間追跡手段と、前記カメラ内追跡手段にて抽出した特定の移動体の特徴量に基づき、複数の該カメラ内追跡手段に亙り自律的に移動して、該特徴量によって同定される移動体を探索することで、前記複数のビデオカメラ毎に分散された移動体追跡情報の統括的管理を可能とする移動体探索手段とを含むことを特徴とする移動体追跡システムである。
【０００６】
前記カメラ間追跡手段は、複数の前記カメラ内追跡手段間で連携して特定の移動体を追跡することにより、各々自律分散的に動作する複数のビデオカメラ間で協調した追跡処理が行われる。これにより、当該システム全体での自律的な移動体追跡が可能となる。また、前記移動体探索手段は、カメラ内追跡手段にて抽出した特定の移動体の特徴量に基づき、複数のカメラ内追跡手段に亙り自律的に移動して、特定の移動体を探索する。これにより、移動体追跡システム全体における、特定の移動体の現在位置等の移動体追跡情報を把握できる。従って、本発明に係る移動体追跡システムは、分散型処理方式によるシステム構成でありながら、複数のビデオカメラ毎に分散された特定の移動体の移動体追跡情報の統括的管理を効率よく行うことができる。
【０００７】
本発明は、方法の発明として構成し実施することができ、また、そのような方法を実行するためのプログラムても実施可能である。
【０００８】
【発明の実施の形態】
以下、添付図面を参照して本発明に係る移動体追跡システムの一実施例について説明する。この実施例では、追跡対象たる移動体の一例として、追跡環境内に侵入した人物を追跡する例について説明する。なお、本発明の実施形態は、これに限定されるものではない。
【０００９】
図１（ａ）は、本発明の一実施例に係る移動体追跡システムの全体構成例を示すブロック図であり、（ｂ）は当該システムにおける追跡処理全体の流れの一例を示すフローチャートである。この移動体追跡システムは、建造物屋内等の追跡環境において、地理的に適宜分散して設置された複数台のビデオカメラ１１により、該追跡環境内を移動する人物（移動体）を追跡環境全域に渡りシームレスに追跡しうるものである。図１（ａ）に示すように、複数のビデオカメラ１１がネットワーク上に接続され、各ビデオカメラ１１に対して、ビデオ撮影された画像を処理して特定人物を検出するためのプロセッサ１２が接続される。カメラエージェント１０は、前記ビデオカメラ１１と、これに接続されたプロセッサ１２とを１組として構成され、該カメラ１１にてビデオ撮影した画像中から特定の人物を検出することで、単一のビデオカメラ１１内での人物追跡（これをカメラ内追跡という）を行う。トラッキングエージェント２０は、前記カメラエージェント１０にて抽出した人物の複数ビデオカメラ間に亙る追跡（これをカメラ間追跡という）を担う。また、サーチエージェント３０は、例えばトラッキングエージェントによる人物追跡が失敗した際等に生成され、当該システム内における特定人物の現在位置を探索するものである。
【００１０】
このシステムによる人物追跡処理全体の流れは、図１（ｂ）に示すように、概ね下記のようである。
１）画像の取得
２）人物（追跡対象）抽出及びその特徴量の抽出
３）カメラ内追跡
４）カメラ間追跡
カメラエージェント１０では、カメラ１１にて撮影した動画像を各フレーム毎にプロセッサ１２に入力（図１（ｂ）に示す「画像の取得」）し、プロセッサ１２により前記フレーム画像を分析して、該画像中の人物領域の抽出及びその特徴量の抽出（図１（ｂ）に示す「人物抽出及びその特徴量の抽出」）して、抽出した特徴量に基づき、時間軸上でフレーム間のマッチングを取ることにより、人物の追跡（図１（ｂ）の「カメラ内追跡」）を行う。この「カメラ内追跡」は、人物像及び特徴量の抽出を実現するための所定の制御プログラムを含むソフトウェアを実行することにより実施される。
【００１１】
前記カメラエージェント１０にて人物が検出されると、その人物に対してカメラエージェント１０上にトラッキングエージェント２０が生成される。トラッキングエージェント２０は、複数カメラ間に亙って特定の人物を追跡するための所定の制御プログラムを含むソフトウェア・アプリケーション（追跡モジュール）である。詳しくは後述するが、本実施例では、或る人物の追跡に際して、複数のトラッキングエージェント２０は、１つのメインと複数のサブからなるグループを形成し、メインとなったトラッキングエージェントが、複数のカメラエージェント１０から得られる人物の特徴量のデータを統合・分析して、当該人物の位置特定を行う。すなわち、メインとなった１つのトラッキングエージェントが、複数視点（ビデオカメラ）からのデータを取り纏めることで、分散配置されたカメラエージェント１０の協調動作が行われるのである。この複数のトラッキングエージェント２０の連携処理により、システム全体でのシームレスな人物追跡（図１（ｂ）のカメラ間追跡）が実現される。
【００１２】
また、サーチエージェント３０は、カメラエージェント１０で抽出した人物の特徴量に基づき、カメラエージェント１０間を自律的に移動して特定人物の現在位置の探索を行うモバイルエージェントとして定義される。この発明に係る人物追跡システムでは、ネットワーク上に分散されたエージェントの協調処理により人物追跡が実現されるため、各エージェント（カメラエージェント及びトラッキングエージェント）から各種情報を集約するサーバを具備せず、システム全体におけるトラッキングエージェント２０の位置把握や、特定の人物の現在位置の探索処理は、このサーチエージェント３０を用いて行う。要するに、サーチエージェント３０は、複数のカメラエージェント（或いはトラッキングエージェント）に分散した各種情報を一括して統合・管理するためのエージェントである。
このように、当該システムは、人物追跡処理をカメラエージェント１０，トラッキングエージェント２０及びサーチエージェント３０の各機能要素別に分担して、必要に応じて各エージェントが適宜協調動作することで、複数カメラによるシステム全体での人物追跡を実現している。
【００１３】
ここで、図２を参照して、ビデオカメラの地理的配置について説明する。図２において、部屋１に設置されたビデオカメラ１１ａ，１１ｂは、部屋１内において適宜分散して配置されており、各々の撮影範囲Ｆａ，Ｆｂを固定的に撮影するもので、各々の撮影範囲Ｆａ，Ｆｂは一部重複（図において斜線で示し、これを重複領域と称する）するようになっている。このビデオカメラ１１ａ，１１ｂのように、同一室内等、物理的に互いに近接して配置されたカメラエージェント同士でグループを形成して、同一グループ内のカメラエージェント１０同士で共有しうる外部環境データ（例えば、後述のキャリブレーションデータやオクルージョンデータ、環境マップ等）等の各種情報の授受が行えるようにするとよい。これは、システムの管理及び拡張の簡便化、ユーザ利便性の向上といった点で有利である。なお、他のビデオカメラも同様に、物理的に近接配置される複数のカメラは、各々の撮影範囲が一部重複するよう設置される。
【００１４】
ところで、カメラエージェント１０から得られる情報（画像処理結果）を、システム全体（複数のカメラエージェント間で）比較・統合するには、各ビデオカメラ１１で撮影した画像上のピクセル位置を、複数カメラで共通の座標系に対応付けする必要がある（これをカメラキャリブレーションという）。このため、カメラエージェント１０には、予め、前記ピクセル位置（以下、画像座標という）を、追跡環境全体における絶対位置（以下、ワールド座標という）に変換するるために必要なキャリブレーションデータが与えられる。また、各カメラエージェントには、各々のビデオカメラ撮影環境（例えば図２に示したような室内）中の障害物（壁、机等）の位置を記述したテーブル（構造データ）もまた予め与えられる。カメラエージェント１０では、このキャリブレーションデータと構造データに基づき、オクルージョンマップと環境マップとを自動生成する。オクルージョンマップとは、単一のカメラ撮影範囲中に存在する机、壁等のオブジェクトの位置を示したデータであり、これを参照することでビデオ画像中における床面（高さ＝０）領域の判別が可能となる。
【００１５】
前記環境マップは、各カメラエージェント１０での撮影範囲の環境を静的情報としてモデリングし、これを記述したテーブルであって、各カメラエージェント１０のカメラ撮影範囲において、自カメラのみで撮影される領域（単一撮影領域）か、他のカメラとの重複領域（複数撮影領域）かを区分けしたものである。各カメラエージェント１０は、各々のビデオカメラ１１で撮影したフレーム画像全体の画像座標をワールド座標に変換し、他のカメラエージェントから得たカメラキャリブレーションにより他カメラ撮影範囲を計算し、これを自身のカメラ１１撮影範囲と重ね合わせることで、複数ビデオカメラ間での重複領域を推定し、各カメラエージェント１０において各自のカメラ撮影領域に関する環境マップを生成する。環境マップの一例として、図２におけるビデオカメラ１１ａの環境マップを図３に示す。環境マップとは、下記の２点を基準として、ビデオカメラ１１ａの撮影範囲を５つの撮影領域区分に分類して示すものである。
（１）単一カメラによる撮影範囲か複数カメラの重複領域か
（２）撮影範囲中の内部か端部か
という２つの基準に従って、ビデオカメラ１１ａの撮影範囲は、カメラ１１ａでのみ撮影する単一撮影領域１３及び単一境界領域１４と、カメラ１１ａ，１１ｂの重複領域である複数撮影領域１５、第１の複数境界領域１６及び第２の複数境界領域１７の、５つに分類される。上記「境界領域」とは、ビデオカメラ撮影範囲の端部付近を指しており、第１の複数境界領域１６はカメラ１１ｂの撮影範囲の端部を含み、第２の複数境界領域１６はカメラ１１ａの撮影範囲の端部を含む領域である。後述のカメラ間追跡の際には、この環境マップを参照して、前記５つの領域の分類に応じて、トラッキングエージェント２０のメイントラッカの権限委譲（カメラ間の移動）タイミングを決定している。
【００１６】
次に、カメラエージェント１０によるカメラ内追跡処理の流れを、図４を参照して簡単に説明する。先ず、ステップＳ１１では、ビデオカメラ１１で撮影された動画像中の各フレーム画像が所定サイクルでプロセッサ１２に入力される。次いで、ステップＳ１２では、入力された前記各フレーム画像から移動体（人物）領域を抽出する。背景差分法をベースに人物領域抽出処理する場合、前処理として、予めフレーム内に移動体等の異物の存在しない背景画像を作成しておき、この背景画像と入力画像との差分処理により、オブジェクト領域（背景以外の領域）を抽出する。なお、ステップＳ１２の処理の後、抽出したオブジェクト領域について、ノイズ除去処理等を含む適切な後処理を行い、人物領域のみが抽出されるようにする。これは、例えば、人物頭部に相当するような頭部楕円モデル等の形状情報や、色情報（頭髪・肌色ピクセル抽出）等を適宜適用／組み合わせて処理することで、前記抽出したオブジェクト領域が人物であるかどうかを判定することにより実施できる。抽出したオブジェクト領域が人物像であった場合は、同時に頭部領域の推定も行い、頭部位置データを得る。
なお、ステップＳ１２のフレーム画像中から人物領域の抽出を行う処理方法としては、前述の背景差分法に限らず、フレーム差分法、テンプレートマッチング法、オプティカルロール法等、適宜の画像処理方法を採用しうる。
【００１７】
次いで、ステップＳ１３では、前記ステップＳ１２にて抽出した人物領域を、複数フレーム間で同定するための特徴量を示すパラメータを抽出する。本実施例では、この特徴量の一例として、該当人物の位置情報と色情報とを抽出する。また、前記位置情報としては、複数カメラエージェント間で情報の比較・統合することに鑑みて、画像上の画像座標からワールド座標に変換した（カメラキャリブレーションした）値を求める。
【００１８】
ここで、位置情報取得処理について簡単に説明する。本実施例では、抽出した人物領域のフレーム画像におけるサイズ（ドット数等）から該当人物の身長を想定し、対象人物の身長情報を生成しておき、この身長情報を利用して位置情報の算出処理を行う。フレーム画像内の人物領域の足元部分は遮蔽物等によりが隠れてしまい易く、精度良く人物立ち位置の画像座標が得られないことが多いが、比較的精度よく抽出できる人物上半身部分に着目することで、高精度の位置情報を得ることができる。位置情報取得処理では、抽出した人物領域の画像座標と、前記頭部位置の画像点と、前記身長情報とを用いて、画像座標上の人物立ち位置の推測処理を行う。すなわち、抽出した人物領域上部の中心点（頭部画像点）から、身長情報に基づく身長の高さ分垂直に下りた位置を画像座標上の人物立ち位置とする。こうして算出した人物立ち位置情報（画像座標）を、ワールド座標に変換して、追跡環境中の人物の位置情報を得ることができる。なお、前記身長想定処理は、所定の制御プログラムを実行することで実施できる。
【００１９】
また、人物の特徴量として抽出される色情報には、例えば、人物領域のＲＧＢ値をＨＳＶ変換した際の色相を、パラメータとして用いることができる。すなわち、抽出した前記人物領域において、特徴的な色の色相範囲を頻出領域としてパラメータ化することで、特定の人物について大まかな色情報が得られるようにする。この色情報は、後述のサーチエージェント２０による人物探索処理等、位置情報を用いない人物同定処理に用いたり、或いは、人物同定処理の際に信頼度を付与すること、異なる色情報を有する複数人物を相対的に比較して個々の人物を特定すること等に利用しうる。
【００２０】
ところで、前記ステップＳ１２で抽出した人物領域の抽出精度は、背景や机等その他のオブジェクトの影響によって、各フレーム毎に差異が生じ、一様ではない。そこで、各フレームにおける人物領域の抽出精度を評価するパラメータ値として、抽出精度の評価値Ｗを各カメラエージェント１０において人物抽出処理の際に算出する。評価値Ｗは、抽出された人物領域の縦横比Ｒと頭部領域のピクセル密度Ｄにより、下記の数１から求める。
【数１】
Ｗ＝｛Ｆ（Ｒ）＋Ｄ｝／２
上記の数１において、Ｆ（Ｒ）は人物領域の縦横比Ｒの評価関数である。この評価関数Ｆ（Ｒ）の一例を図示すると図５のようである。縦横比Ｒの評価関数Ｆ（Ｒ）は、図５において横軸に示す縦横比Ｒが１：３〜３．５である場合に縦横比評価値（図５において縦軸に示す値）が高くなるよう設定されており、このとき抽出された人物領域の抽出精度は高いことになる。この抽出精度評価値Ｗを用いることで複数のカメラエージェント間での同一人物に対する抽出精度の比較が可能となり、これはカメラ間追跡におけるメイントラッカ権限委譲のパラメータの一つとなる。
【００２１】
ステップＳ１４では、ステップＳ１３で抽出した特徴量のパラメータを用いて、抽出した人物領域を、時間軸上でフレーム間のマッチングを取ることにより、同一人物であるか否かの同定処理を行ことで、カメラ内追跡を実現する。すなわち、現在フレームにて抽出された人物を、前述の位置情報や色情報といったパラメータに基づき過去フレームにて既に追跡されてきた人物（つまり、同定済みである人物）と対応付けすることで、フレーム間での同定処理（マッチング）が行われる。
このカメラ内追跡は、基本的にはワールド座標上の対象人物の位置情報をパラメータとして用いて実行されるが、障害物等のオクルージョン（遮蔽）による影響で正確なワールド座標上の位置情報を得ることが困難な場合には、画像座標上の人物位置に基づき追跡を継続できる。また、カメラ内追跡において、色情報を併用することで、複数人物のすれ違いに対応した処理が可能となる。すなわち、フレーム内で複数の人物がすれ違った場合に、カメラエージェントが該複数の人物を１つのオブジェクト（人物領域）であると認識しても、色情報による人物識別を行うことで、人物すれ違い後の個々の人物の特定が可能になる。
【００２２】
次にトラッキングエージェント２０によるカメラ間追跡について説明する。
トラッキングエージェント２０は、上述の通り、或る人物がカメラエージェント１０に検出されると、該人物に対して生成されるもので、その人物が複数のカメラエージェント１０で検出された場合は、各カメラエージェント１０毎に複数のトラッキングエージェント２０が生成されることになる。そのような同一の人物を追跡すべき複数のトラッキングエージェント２０は、一つのメイントラッカＭＴ（以下、単にＭＴと略称する）と、１以上複数のサブトラッカＳＴ（以下単に、ＳＴと略称する）からなるネットワークグループ（トラッキングエージェントグループ）を形成する。
ＳＴは、各自の存在するカメラエージェントにて抽出した該当人物の情報（人物抽出処理結果や位置情報、色情報のような前記特徴量パラメータであり、以降、これらを纏めて抽出データという）を、前記グループのＭＴに送信する。ＭＴでは、自身の存在するカメラエージェントにて取得する抽出データ及び、各ＳＴから送信された抽出データを分析・統合して、該人物の位置特定を行う。このＭＴとＳＴの関係は動的に変化するものであり、同一対象を追跡するトラッキングエージェントグループ内において、追跡対象たる人物の移動に応じて、適切なトラッキングエージェントにＭＴの権限を委譲することで、特定の人物に追従して、ＭＴが複数のカメラエージェント上を遷移する。こうして、複数のカメラ間にわたる特定の人物追跡が実現される。
【００２３】
先ず、複数トラッキングエージェント間の連携処理に際して送受信されるデータパケットについて説明する。トラッキングエージェント間の連携が必要な状況としては、下記の４通りの状況がある。
１）新規トラッキングエージェント生成時のメイン／サブ判断
２）ＭＴの権限委譲
３）ＳＴのグループ離脱
４）複数カメラ重複領域でのグループ再形成確認
送受信される各データ内容はとしては、「位置情報」、「色情報」、「画像取得時刻」、「人物抽出精度」といった抽出データや、「トラッキングエージェントＩＤ」等が含まれる。「トラッキングエージェントＩＤ」は、個々のトラッキングエージェントを識別するＩＤであて、例えば新規生成時に付与されるものであり、また、「要求種別」とは、上記４通りの状況の何れかを表すものである。こうした各種データ内容は、夫々所定のメッセージＩＤにより識別できるようにするとよい。
【００２４】
図６は、それぞれネットワークに接続されたカメラエージェント１０ａ〜１０ｃの撮影範囲内を人物Ｐが移動した際に生成されるトラッキングエージェント２０ａ〜２０ｃからなるネットワークグループにおいて、メイントラッカＭＴとサブトラッカＳＴ関係の遷移を示す概念図である。また、図７は、トラッキングエージェントの状態遷移及び連携処理を説明するためのブロック図である。以下、トラッキングエージェントの状態遷移について、図６及び図７を参照して説明する。
図６に示すように、カメラエージェント１０ａにおいて、カメラ撮影範囲内に侵入した人物Ｐが抽出されると、カメラエージェント１０ａ上には、該人物Ｐに対してトラッキングエージェント２０ａが新規生成される（図７において「Ｅｘｔｒａｃｔ」で示す流れ）。図７に示すように、新規に生成されたトラッキングエージェントは、ネットワーク上に存在する他のＭＴに対して、獲得した人物Ｐの抽出データを通知し（「Ｂｒｏｄｃａｓｔ」）、同一の対象人物を追跡中のＭＴが存在するか否かを問い合わせる。前記通知を受けた他のＭＴは、自身が追跡中の人物と、前記受信した抽出データとの対応付け（同定処理）を行う。これにより、前記新規トラッキングエージェントと同一の対象人物を追跡するトラッキングエージェントが既に存在するか否かの判定が行われる（図７の「Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ」）。このときカメラエージェント（図６ではカメラエージェント１０ａ）上にされた前記新規トラッキングエージェントでは、自身の保持する環境マップを参照し、抽出人物Ｐの存在する撮影領域区分（図３参照）を求めておく。
【００２５】
前記新規トラッキングエージェントが追跡する人物と同一の人物を追跡するトラッキングエージェントが既に存在する場合（図７の「Ｉｄｅｎｔｉｆｉｅｄ」）は、新規トラッキングエージェントには人物同定Ａｃｋ（肯定応答）が送信され、該新規トラッキングエージェントはＳＴとなる（「ＧｅｔＡｃｋ」で示す流れ）。また、人物同定Ａｃｋが送信されなくとも、トラッキングエージェントにて環境マップを参照した結果、人物Ｐが環境マップ上の複数カメラ重複領域（図３に示す複数撮影領域１５、第１の複数境界領域１６及び第２の複数境界領域１７）に位置している場合は、新規トラッキングエージェントは、該当人物を追跡中のトラッキングエージェントが既に存在していると判断し、該当するＭＴと接続して、ＳＴとなる。
【００２６】
トラッキングエージェントが環境マップを参照した結果、人物Ｐが環境マップ上の単一カメラ領域（図３に示す単一撮影領域１３、単一境界領域１４）に位置しており、人物同定Ａｃｋが送信されない場合（「Ｄｏｎ’ｔＧｅｔＡｃｋ」）は、新規トラッキングエージェントは、人物Ｐはシステム全体で新規に発見された（人物Ｐを追跡するトラッキングエージェントが存在しない）ものと判断して、自らが新しいＭＴとして動作する。図６の例では、トラッキングエージェント２０ａは、先ずＭＴとして起動する。人物Ｐがカメラエージェント１０ａ内で移動する間、トラッキングエージェント２０ａは既述のカメラ内追跡により獲得した抽出データを収集する。
【００２７】
図６において、人物Ｐが移動して、カメラエージェント１０ｂの撮影範囲内に侵入すると、カメラエージェント１０ｂ上にはトラッキングエージェント２０ｂが新規生成され、上述したようなメイン／サブの判断（「Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ」）処理が行われる。この場合は、既にトラッキングエージェント２０ａがＭＴの権限を有しているので、トラッキングエージェント２０ｂは、そのＳＴとなる。
ところで、ＭＴ（２０ａ）と新規トラッキングエージェント（２０ｂ）間でなされる同定処理（複数カメラ間での同定処理）に際して、新規トラッキングエージェント２０ｂは人物Ｐの身長情報を持たないので、該人物Ｐの足元部分が抽出できない場合は、正確な位置情報を算出できない。そのため、この場合は楕円状分布による人物立ち位置予測を行い、この予測位置情報を用いて同定処理を行う。すなわち、カメラエージェント１０ｂにて抽出した人物領域の下辺部から求められるワールド座標上の人物立ち位置情報は、実際の人物足元位置から、カメラの光軸方向へずれた位置で算出されてしまう。そのような光軸方向についての誤差を統計的に測定することで、該誤差に基づく所定の幅を持って人物立ち位置を想定した、該人物の楕円状分布位置予測が可能となる。新規トラッキングエージェントは、人物領域の下辺部のワールド座標位置と、前記光軸方向の誤差に基づく楕円状分布位置予測とをＭＴに送信し、これを受信したＭＴは、前記下辺部のワールド座標位置と自身が保有する最新の位置情報との距離を比較して、該楕円状分布位置予測を閾値とした同定処理を行う。人物が同定されがると、トラッキングエージェント２０ｂはＳＴとなり、現時点でのＭＴから人物の身長情報が与えられ、新規エージェントにおいても、身長情報を用いたより正確な位置情報の取得が可能となる。
【００２８】
次に、ＭＴの権限委譲について説明する。追跡対象人物がＭＴたるカメラエージェントの撮影範囲外に出る前に適切なＳＴにメイントラッカＭＴの権限を引き継ぐ処理が行われる。ＭＴ権限の委譲は、▲１▼現時点でのＭＴにおける環境マップの第１の複数境界領域１６（図３参照）に存在し、且つ、▲２▼ＳＴでの人物領域の抽出精度がＭＴを上回った（或いはＭＴでの次期フレーム予測位置が撮影範囲外である）場合、の２条件が満たされたときに実行される。例えば、図６において、追跡対象人物Ｐが、カメラエージェント１０ａの環境マップ中の第１の複数境界領域１６（図３参照）に侵入すると、ＭＴたるトラッキングエージェント２０ａはメイン権限移動判断（図７の「ＭｏｖｅＤｅｃｉｓｉｏｎ」）を行う。そして、ＭＴ（トラッキングエージェント２０ａ）は、人物抽出精度がＭＴよりも優れているＳＴを検索し、該当するＳＴに対してＭＴへの権限委譲要求（図７の「ＭｏｖｅＲｅｑｕｅｓｔ」）を送信し、サブ移行待機状態（図７の「ＷａｉｔｆｏｒＡｃｋ」）になる。また、ＭＴは、このとき同時に、グループ内のその他のＳＴに対してメイントラッカ入れ替わりの通知を行う。前記メイン権限委譲要求を受けたＳＴは、メイン移行待機状態となり（「ＷａｉｔｆｏｒＭｏｖｅ」）、ＭＴに対して権限引継Ａｃｋを送信し、ＭＴからのＡｃｋ受信通知（ＧｅｔＡｃｋ）を受信すると、ＭＴの保持する追跡対象人物データを受け取り、新規にＭＴとなる。一方、旧ＭＴは、前記権限引継Ａｃｋを受信した時点でＳＴへ移行し、新規ＭＴに接続する。
このように、複数のトラッキングエージェント間で、人物追跡を担うＭＴの権限を委譲することで、実質的にトラッキングエージェントによる複数カメラ間での移動が実現される。
【００２９】
追跡対象人物がカメラエージェントの撮影範囲から外れる等して、追跡処理が終了すると、該カメラエージェント上のトラッキングエージェントは消滅する。例えば、図６において、トラッキングエージェント２０ｂがＭＴの権限を引継いで、トラッキングエージェント２０ａがＳＴへ移行した後、更なる人物Ｐの移動に伴い、人物Ｐがカメラエージェント１０ａの撮影範囲から外れて（図７の「Ｃａｎ’ｔＥｘｔｒａｃｔ」）、図６において、トラッキングエージェント２０ｂがＭＴの権限を引継いで、トラッキングエージェント２０ａがＳＴへ移行した後、更なる人物Ｐの移動に伴い、人物Ｐがカメラエージェント１０ａの撮影範囲から外れて、カメラエージェント１０ａでのカメラ内追跡処理が終了すると、トラッキングエージェント２０ａは、ＭＴたるトラッキングエージェント２０ｂに対して消滅する旨を通知した後、消滅する（図７の「Ｖａｎｉｓｈ」）。
なお、ＭＴの時点でトラッキングエージェントが消滅する場合は、適切なＳＴに対してメイン権限委譲をした後に消滅する。但し、ＳＴが存在せず、メイン権限委譲が行われない場合は、追跡対象が当該システムから退出したものと見なして、システム全体での該当人物の追跡を終了する。
【００３０】
ところで、追跡対象の人物が環境マップ上の単一撮影領域（図２において符号１３で示す領域）にいる時に、複数のトラッキングエージェントでネットワークグループを形成していた場合は、該グループ中に異なる人物を追跡しているトラッキングエージェントが含まれている可能性が高い。このような場合、ＭＴは、ＳＴから送信された抽出データと、自身のカメラエージェントで取得した抽出データを比較して、異なる人物を追跡しているトラッキングエージェントを検出でき、そのようなトラッキングエージェントに対して、グループ離脱要求を行う。グループ離脱要求を受けたトラッキングエージェントは、新規トラッキングエージェント生成時と同様の処理を行い、自身と同じ人物を追跡中のＭＴを検索する。
【００３１】
また、追跡対象の人物が環境マップ上の複数撮影領域（図２において符号１５〜１７で示す領域）にいる場合、当該人物を追跡しているトラッキングエージェントがグループ外にも存在する可能性があるため、ＭＴは、自らの存在を通知するパケット（複数カメラ重複領域でのグループ再形成確認）をネットワーク上に配信する。パケットを受信したトラッキングエージェントでは、自身が追跡中の人物と受信したパケットに基づく人物との同定処理を行う。その結果、両者が同一人物であった場合、該トラッキングエージェントは、該当するグループに加わる。これは、新規トラッキングエージェント生成時等における同定処理の失敗を補償する処理である。
【００３２】
次に、サーチエージェント３０による特定人物の現在位置探索処理について説明する。
この実施例に係る追跡システムには、複数のカメラエージェント１０に各種情報が分散しており、分散した該各種情報を一括管理するサーバが存在しない。このため、前述したトラッキングエージェント２０によるカメラ間追跡において、トラッキングエージェントが人物の同定処理に失敗した場合、該人物がどのカメラエージェントの撮影領域に移動したのか判らなくなってしまう。従って、カメラ間追跡に失敗した際の回復処理を行う必要がある。すなわち、該追跡に失敗した人物を当該システム内から探し出す処理を行う必要がある。サーチエージェント３０は、この人物を当該システム内から探し出す処理や、当該システム全体における特定の人物の現在位置、言い換えれば、該人物を追跡中のトラッキングエージェントの現在位置を把握するのに用いる。サーチエージェント３０による特定人物の現在位置探索処理は、サーチエージェント３０が複数のカメラエージェント１０間を移動して、追跡対象人物についての前記抽出データのうち、例えば色情報や、身長情報といった、位置情報以外の特徴量を用いて同定処理を行うことで実現される。
【００３３】
前記サーチエージェント３０による特定人物の現在位置探索処理の一例について図８のフローチャートを参照して説明する。
ステップＳ２０において、ユーザ（システム監視者）や人物追跡中のトラッキングエージェントから発生される特定の人物の探索要求に応じて、該探索要求を受けたカメラエージェントでは、サーチエージェントと、該サーチエージェントに固有の探索ＩＤが生成される。この探索ＩＤは、探索要求を発生したトラッキングエージェントのＩＤ、カメラエージェントのＩＤ、該要求の発生時刻並びに該カメラエージェント内でユニークな乱数を含んで成る。これにより、要求の発生時刻と、探索要求の発生源とを、このサーチエージェントを受け入れたカメラエージェントに通知することができる。次いで、ステップＳ２１では、現在着目しているカメラエージェント内にて探索すべき人物の探索・同定処理を行い、該当する人物が存在するか否かを確認する。前記人物の探索要求が発生された時点では、先ず、該要求を受信したカメラエージェントにて人物探索を行う。該当する人物が発見されれば、ステップＳ２２に分岐して、この人物探索処理を終了する。人物が発見されない場合は、ステップＳ２３に処理を進め、サーチエージェントの移動処理を行う。
【００３４】
ところで、サーチエージェント２０は、ネットワークを移動する性質上、保持する情報量が少なくい方が好ましい。この実施例では、人物探索処理の実行コードは各カメラエージェント１０が所持し、且つ、サーチエージェントによる探索が既に済んだカメラエージェントには、サーチエージェントの移動履歴（探索済み情報）を記憶させることで、サーチエージェント２０が持つ情報量を可及的抑制している。これにより、サーチエージェントの探索処理を効率的に行うことができる。
また、この実施例では、サーチエージェント２０の移動先決定の要素として、カメラエージェントにおける人物の移動ログと、カメラエージェントに対する人物の移動確率（或るカメラエージェントにおける人物存在確率）とを用いる。
サーチエージェント２０には、一定の記憶領域を設けて、人物探索過程で取得する人物の移動確率の高い未探索カメラエージェントのＩＤや、移動元のカメラエージェントＩＤ等を記憶しておく。各カメラエージェントに対する特定人物の移動確率は、該人物の移動統計に基づき算出する。例えば、或る人物が、カメラエージェント（これをＣＡ１とする）から、これと隣接カメラエージェント（ＣＡ２）へ移動した際、該隣接するＣＡ２では、該人物を追跡しているトラッキングエージェント（ＭＴ）が有するＩＤデータを元に移動元たるＣＡ１を特定し、当該人物のＣＡ１からの移動回数を加算すると共に、ＣＡ１に対して当該人物の移動を通知する。ＣＡ１では、ＣＡ２から送信されるメッセージを元に、該人物のＣＡ２への移動回数を加算する。こうして、特定の人物について、カメラエージェント毎の入出に関する移動統計が求められる。各カメラエージェントでは、前記移動統計と共に、人物の移動ログを記憶しておく。移動ログの信頼度は時間経過に連れて低下するので、移動先決定の要素として移動ログを参照するか、移動確率を参照するかは、経過時間に基づき判断される。
【００３５】
ステップＳ２３では、前記ステップＳ２１にて人物探索したカメラエージェントに当該サーチエージェントの探索ＩＤを登録して、該カメラエージェントには当該サーチエージェントの移動履歴（探索済み情報）が記憶される。このとき該カメラエージェントには、サーチエージェントの移動元のカメラエージェントＩＤを記録しておくことで、サーチエージェントは、これらの情報を参照して探索経路のバックトレース（後戻り）ができる。続いて、ステップＳ２４において、前記探索済みのカメラエージェントは、隣接するカメラエージェントに対して、自身の探索済みメッセージと、該サーチエージェントの探索ＩＤとを通知する。サーチエージェントが移動する先は、基本的には移動元カメラエージェントに隣接したカメラエージェントであるため、互いに隣接したカメラエージェントの探索／未探索の情報を把握できれば、サーチエージェントの効率的な移動先決定には十分である。ステップＳ２５では、サーチエージェントの前記記憶領域内を検索して、前記人物移動確率の高いカメラエージェントＩＤとして現在のカメラエージェントＩＤが記録されていれば、これを消去する。こうして、サーチエージェントは、前記カメラエージェントに対する人物探索処理が終了した後、ステップＳ２６以降の次の移動先を決定するための処理を行う。
【００３６】
サーチエージェントが移動先を決定する状況としては、以下の四通りの状況が挙げられる。
１，未探索の隣接カメラエージェントがある。
２，未探索の隣接カメラエージェントなはく、サーチエージェント記憶領域内に未探索カメラエージェントの情報がある。
３，隣接カメラエージェント、記憶領域内共に未探索カメラエージェントの情報なし。
４，移動ログがある。
先ず、ステップＳ２６では、カメラエージェントに記憶された前記移動ログを確認し、経過時間Ｔが所定の閾値Ｔ１より小さい場合は、ステップＳ２７に進み、該移動ログに沿ってカメラエージェントを移動し、移動先のカメラエージェントにて前記ステップＳ２１以降の処理を繰り返す。一方、該当する人物の移動が移動ログにない場合、若しくは、経過時間Ｔが所定の閾値Ｔ１より大きい場合は、ステップＳ２８に処理を進める。ステップＳ２８では、隣接した未探索カメラエージェント（これをＣＡｎとする）の人物移動確率を確認する。また、ステップＳ２９では、前記隣接した未探索カメラエージェント以外（つまり移動予定先以外）の隣接カメラエージェントにおいて、人物移動確率の高いカメラエージェント（これをＣＡｘとする）のＩＤをサーチエージェントの記憶領域内に記憶させる。
【００３７】
ステップＳ３０では、前記カメラエージェントＣＡｎと前記カメラエージェントＣＡｘの移動確率の比較を行い、より確率の高いカメラエージェントに移動先を決定する。カメラエージェントＣＡｎの移動確率をＲｎ、カメラエージェントＣＡｘの移動確率をＲｘとし、ＣＡｘとＣＡｎの距離をＤとすると、ＣＡｘに移動する場合の条件は下記の式（２）で表せる。
【数２】
Ｒｎ＜Ｒｘ＊Ｄ＊α
すなわち、カメラエージェントＣＡｎの移動確率Ｒｎが、ＣＡｘの移動確率Ｒｘの関数より、小さい場合は、移動先はカメラエージェントＣＡｘとされ、その反対に、移動確率Ｒｎが移動確率Ｒｘの関数よりも大きい場合は、カメラエージェントＣＡｎを移動先とする。なお、係数αを適宜変更することで、移動先決定の条件を変更して、サーチエージェントの非効率的移動を抑制することができる。例えば、確率差が小さいとサーチエージェントの移動効率が悪くなる場合等に、係数αを大きくとって、確率差が大きい場合以外は採用しないようにできる。
【００３８】
前記ステップＳ３０における移動確率の比較の結果、移動確率Ｒｎが移動確率Ｒｘの関数よりも大きい（Ｒｎ＞Ｒｘ＊Ｄ＊α）場合は、ステップＳ３１に進み、サーチエージェントは、カメラエージェントＣＡｎへ移動して、カメラエージェントＣＡｎにて前記ステップＳ２１以降の処理を行う。また、移動確率Ｒｎが移動確率Ｒｘより小さい（Ｒｎ＜Ｒｘ＊Ｄ＊α）場合は、ステップＳ３２に進み、サーチエージェントは、カメラエージェントＣＡｘに移動して、カメラエージェントＣＡｘにて前記ステップＳ２１以降の処理を行う。
以上の処理を、目的とする追跡対象人物を発見するまで繰り返すことで、システム全体における人物（現在位置）の探索が実施されるのである。
【００３９】
このようにして、カメラエージェントとトラッキングエージェントとサーチエージェントとが協調動作することで、情報を集約するサーバを備えない分散的システム構成において、複数カメラが連携したシステム全体でのシームレスな人物追跡を行い、また、複数カメラに分散した情報を効率的に統合・管理できる。
【００４０】
なお、上述の実施例で説明した人物（移動体）追跡システムは、例えば老人ホーム内でのカメラ監視等、建造物内等に配備される一般的な人物追跡システムに好適である。また、例えば、商店店舗等において、人物（顧客）の移動を監視・追跡し、該人物の動きを分析することに利用でき、これは、商品の戦略的な陳列・配置位置の検討、及びその改善等に有益である。また、本システムは不特定多数の移動体を追跡できるので、交差点等における交通監視システムでの応用にも好適である。
【００４１】
【発明の効果】
以上説明した通り、本発明によれば、分散配置された複数のカメラが連携動作することで、システム全体での自律的な移動体追跡が可能とされ、また、複数のカメラに分散された情報の収集・管理を効率的に行えるという優れた効果を奏する。
【図面の簡単な説明】
【図１】（ａ）は、本発明の一実施例に係る移動体追跡システムの全体構成を示す概念図、（ｂ）は、同実施例に係る当該システムにおける追跡処理全体の流れの一例を示すフローチャート。
【図２】同実施例に係るビデオカメラの配置例を示す平面図。
【図３】同実施例に係るカメラエージェントにて作成される環境マップの一例を示す図。
【図４】同実施例に係るカメラエージェントにて実施されるカメラ内追跡処理の一例を示すフローチャート。
【図５】図４に示すカメラ内追跡処理において抽出した人物領域の評価関数Ｆ（Ｒ）の一例を示す図。
【図６】同実施例に係るトラッキングエージェントの動作例を説明するための概念図。
【図７】同実施例に係るトラッキングエージェントにおけるメイントッラカとサブトラッカの状態遷移を説明するためのブロック図。
【図８】同実施例に係るサーチエージェントにて実施される人物探索処理の一例を示すフローチャート。
【符号の簡単な説明】
１０　カメラエージェント
１１　ビデオカメラ
１２　プロセッサ
２０　トラッキングエージェント
３０　サーチエージェント
【図１】
2004072628.tif 000003
【図２】
2004072628.tif 000004
【図３】
2004072628.tif 000005
【図４】
2004072628.tif 000006
【図５】
2004072628.tif 000007
【図６】
2004072628.tif 000008
【図７】
2004072628.tif 000009
【図８】
2004072628.tif 000010