(57)【特許請求の範囲】
【請求項１】
カメラ画像から検出された移動体の位置座標と時間情報とをその移動体を検出したカメラ画像を特定するデータと関連付けて記憶する動線データベースと、
前記カメラ画像を記憶するカメラ画像データベースと、
前記動線データベースから移動体の位置座標とその移動体を検出したカメラ画像の特定データとを時系列に順次取込むデータ取得手段と、
このデータ取得手段により前記移動体の位置座標を取込む毎にその座標を終点座標とする前記移動体の動線を表示する動線表示手段と、
前記データ取得手段により前記カメラ画像の特定データを取込む毎にそのデータで特定されるカメラ画像を前記カメラ画像データベースから順次取得し表示するカメラ画像表示手段と、
を具備したことを特徴とする動線表示装置。
【請求項２】
前記動線表示手段は、画面を分割した一区画に前記動線を表示する手段であり、
前記カメラ画像表示手段は、前記画面の他の区画に前記カメラ画像を表示する手段であることを特徴とする請求項１記載の動線表示装置。
【請求項３】
前記移動体の位置座標は、三次元の世界座標系であり、
前記位置座標を世界座標系からカメラ画像座標系に変換する座標系変換手段と、
この座標系変換手段により得られたカメラ画像座標系の座標を基に前記移動体の識別子を前記カメラ画像表示手段により表示されるカメラ画像上に表示させる識別子表示処理手段と、
をさらに具備したことを特徴とする請求項１または２記載の動線表示装置。
【請求項４】
カメラ画像から検出された三次元の世界座標系からなる移動体の位置座標をその移動体を検出したカメラ画像を特定するデータと関連付けて記憶する動線データベースと、
前記カメラ画像を記憶するカメラ画像データベースと、
前記動線データベースから移動体の位置座標とその移動体を検出したカメラ画像の特定データとを取込むデータ取得手段と、
このデータ取得手段により前記移動体の位置座標を取込むとその座標を表わす前記移動体の動線を表示する動線表示手段と、
前記データ取得手段により前記カメラ画像の特定データを取込むとそのデータで特定されるカメラ画像を前記カメラ画像データベースから取得し表示するカメラ画像表示手段と、
前記データ取得手段により取り込んだ移動体の位置座標を世界座標系からカメラ画像座標系に変換する座標系変換手段と、
この座標系変換手段により得られたカメラ画像座標系の座標を基に前記移動体の識別子を前記カメラ画像表示手段により表示されるカメラ画像上に表示させる識別子表示処理手段と、
を具備したことを特徴とする動線表示装置。
【請求項５】
前記動線表示手段は、画面を分割した一区画に前記動線を表示する手段であり、
前記カメラ画像表示手段は、前記画面の他の区画に前記カメラ画像を表示する手段であることを特徴とする請求項４記載の動線表示装置。
【請求項６】
動線データベースに、カメラ画像から検出された移動体の位置座標と時間情報とをその移動体を検出したカメラ画像を特定するデータと関連付けて記憶するとともに、カメラ画像データベースに、前記カメラ画像を記憶し、
前記動線データベースから移動体の位置座標とその移動体を検出したカメラ画像の特定データとをデータ取得手段により時系列に順次取込み、
前記移動体の位置座標を取込む毎に、動線表示手段によってその座標を終点座標とする前記移動体の動線を表示し、
前記カメラ画像の特定データを取込む毎に、カメラ画像表示手段によってそのデータで特定されるカメラ画像を前記カメラ画像データベースから順次取得し表示することを特徴とする動線表示方法。
【請求項７】
カメラ画像から検出された移動体の位置座標と時間情報とをその移動体を検出したカメラ画像を特定するデータと関連付けて記憶する動線データベースと、前記カメラ画像を記憶するカメラ画像データベースとを備えたコンピュータに、
前記動線データベースから移動体の位置座標とその移動体を検出したカメラ画像の特定データとを時系列に順次取込む機能と、
前記移動体の位置座標を取込む毎にその座標を終点座標とする前記移動体の動線を表示部に表示させる機能と、
前記カメラ画像の特定データを取込む毎にそのデータで特定されるカメラ画像を前記カメラ画像データベースから順次取得し前記表示部に表示させる機能と、
を実現させることを特徴とする動線表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視対象の施設内等を移動する人物等の移動体の移動経路に沿った動線を表示する動線表示装置及び方法並びにコンピュータ読取り可能なプログラムに関する。
【背景技術】
【０００２】
従来より、複数のカメラでそれぞれ撮影された複数のカメラ画像データを画像処理して人物等の移動体を特定し、この移動体の追跡を行って、移動体の位置座標データに、移動体の識別情報と時間情報とを紐付けした動線データを作成するシステムは、既に知られている。このようなシステムで作成された時系列の動線データをコンピュータが取込み、データ処理を行って、ディスプレイの画面に所望する移動体の動線を再生表示する技術がある。このような動線表示技術をコンビニエンスストア等の店舗に適用することによって、顧客の動線を把握することができる（例えば、特許文献１参照）。
【特許文献１】特開２００６-３５０７５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のこの種の動線表示技術では、顧客等の移動体の動線を把握することはできる。また、カメラ画像を再生表示する技術は一般的である。しかしながら、移動体の動線の動きに同期させてカメラ画像を表示させることはできなかった。このため、動線の正誤を分析するにはカメラ画像を目視して行うことが有効だが、動線の動きとカメラ画像との同期が取られていないため、分析作業を効率よく行うことができなかった。
【０００４】
本発明はこのような事情に基づいてなされたもので、その目的とするところは、動線の動きに同期してカメラ画像を再生表示できる動線表示装置、及びその動線表示方法、並びにコンピュータを本発明の動線表示装置として機能させるための動線表示プログラムを提供しようとするものである。
【課題を解決するための手段】
【０００５】
本発明は、カメラ画像から検出された移動体の位置座標と時間情報とをその移動体を検出したカメラ画像を特定するデータと関連付けて記憶する動線データベースと、カメラ画像を記憶するカメラ画像データベースとを備える。そして、動線データベースから移動体の位置座標とその移動体を検出したカメラ画像の特定データとを時系列に順次取込み、移動体の位置座標を取込む毎に、その座標を終点座標とする移動体の動線を表示し、また、カメラ画像の特定データを取込む毎に、そのデータで特定されるカメラ画像をカメラ画像データベースから順次取得し表示するようにして、上記課題を解決するものである。
【発明の効果】
【０００６】
かかる手段を講じた本発明によれば、動線の動きに同期してカメラ画像を再生表示することができ、動線分析作業の効率向上などの優れた効果を奏することができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明を実施するための最良の形態について、図面を用いて説明する。  
なお、この実施の形態は、コンビニエンスストア等の店舗において、周知の動線データ生成システム１０により生成された動線データ（以下、動線生データと称する）を基に移動体である人物（客）の動線を編集する動線編集装置２０に、本発明を適用した場合である。
【０００８】
図１は本実施の形態のシステム構成を示すブロック図である。このシステムは、動線監視対象の施設、すなわち店舗内を撮影するための複数台（本実施の形態では６台）のカメラＣＡ１〜ＣＡ６と、各カメラＣＡ１〜ＣＡ６によってそれぞれ撮影されたカメラ画像データを画像処理して人物を特定し、この人物の追跡を行って、人物毎の動線データを生成する周知の動線データ生成システム１０と、本発明に関わる動線編集装置２０とから構成されている。
【０００９】
各カメラＣＡ１〜ＣＡ６は、図２の店舗内レイアウト図に示すように、店舗内中央部の天井に１台（ＣＡ１）、ＰＯＳ（Point Of Sales）端末Ｐ１，Ｐ２が置かれている会計カウンタＣＨ近傍の天井に２台（ＣＡ２，ＣＡ３）、会計カウンタＣＨに対して店内奥側及び左右壁側の計３箇所の天井に３台（ＣＡ４，ＣＡ５，ＣＡ６）が取り付けられている。このうち、カメラＣＡ１，ＣＡ２，ＣＡ３は魚眼カメラであり、カメラＣＡ４，Ｃ５，ＣＡ６は全方位カメラである。
【００１０】
このように配置された６台のカメラＣＡ１〜ＣＡ６でそれぞれ撮影されたカメラ画像データにより、動線データ生成システム１０は、店舗の入退場口ＩＮ／ＯＵＴから入店した人物を移動体のターゲットとして検出し、店舗内を移動する各ターゲットを個別に追跡して、そのターゲットの移動経路に沿った動線データを生成するものである。ただし、店舗内には商品陳列棚Ｒ等が置かれているため、人が棚の陰に隠れてしまったり、複数の人が重なってしまったりして、カメラ画像では途中で追跡できなくなる場合がある。
【００１１】
動線データ生成システム１０は、同一時刻に撮影された複数のカメラ画像データから新たなターゲット（移動体）を検出する毎に、そのターゲットに固有の識別子であるターゲットＩＤを付して追跡し、追跡が途絶えるまでを１本の動線データとして生成している。このため、同一人物に対して複数の動線データが生成される場合がある。動線編集装置２０は、同一人物に対して生成された複数の動線データを抽出し、入店から出店までを結んだ完全動線を編集するためのコンピュータ機器である。別の言い方をすると、上記完全動線を編集するためのプログラムを実装したコンピュータである。
【００１２】
なお、本実施の形態では、説明の便宜上、動線データ生成システム１０で検出されたターゲットに付与されるターゲットＩＤは、“０”から１ずつ昇順に繰り上がる連続番号とする。
【００１３】
動線編集装置２０は、図１に示すように、動線データ生成システム１０からデータを受信するインターフェイス機能を有したデータ受信部２１、大容量の記憶部２２、操作入力部２３、画面表示部２４、及びこれらを制御する制御部２５等を備えている。記憶部２２としては、例えばハードディスクやフラッシュメモリ等の不揮発性記憶媒体を用いている。操作入力部２３としては、キーボード，マウス等の入力デバイスを用いている。画面表示部２４としては、液晶ディスプレイ，有機ＥＬディスプレイ等を用いている。制御部２５は、ＣＰＵ，ＲＯＭ及びＲＡＭのコンピュータ部品を主体に構成したものである。
【００１４】
記憶部２２には、特に動線生データベース３１、カメラ画像データベース３２、動線データベース３３、設定データベース３４、カメラパラメータデータベース３５、店内エリア定義データベース３６及び店内マップデータベース３７を形成している。なお、記憶部２２は、動線編集装置２０に内蔵されていてもよいし、外付けされていてもよい。また、例えば後述する動線編集処理を開始する前に予め記憶しておく、もしくは処理の途中で追記される動線データベース３３、設定データベース３４、カメラパラメータデータベース３５及び店内エリア定義データベース３６については内蔵の記憶部で記憶し、動線編集処理を開始するに先立って動線データ生成システム１０から取り込む必要がある動線生データベース３１及びカメラ画像データベース３２は、外付けの記憶部に記憶するようにしてもよい。
【００１５】
動線生データベース３１には、動線データ生成システム１０で順次生成される動線生データが時系列に記憶される。動線生データベース３１に記憶される動線生データのデータ構造を図３に示す。図示するように動線生データベース３１には、動線データ生成システム１０においてカメラ画像の１フレーム毎に生成される動線生データ（フレーム別動線生データ）が順次蓄積される。本実施の形態では１フレーム毎に生成される動線データは１／１５秒毎の動線データとなる。なお、１フレームの間隔は変更が可能であり、より詳細な動線データが必要であれば１フレームの間隔を１／３０秒毎等とすれば良いし、動線生データベース３１のファイル容量を小さくする必要があれば１フレームの間隔を１／１０秒毎等とすれば良い。
【００１６】
ここで、１フレーム単位の動線生データブロックには、６台のカメラＣＡ１〜ＣＡ６で撮影された同時点の各フレーム画像を保存したカメラ画像ファイルのファイル名、各フレーム画像をそれぞれ特定するオフセット値、各フレームの撮影日時情報（時間情報）、各フレーム画像の画像処理によって移動体として検出された人物すなわちターゲットの数及びそのターゲット数分のターゲット情報（ＩＤ，Ｘ，Ｙ，Ｈ）が記憶される。
【００１７】
ターゲット情報には、ターゲットを識別するためのターゲットＩＤ（識別子）と、そのターゲットの店舗内の位置を三次元の世界座標系で示す店舗内座標（Ｘ，Ｙ，Ｈ）とが含まれる。本実施の形態では、図２の店内レイアウト図において、左奥の角をＸ軸及びＹ軸の原点（０，０）とし、その床面をＨ（Height）軸の原点としている。
【００１８】
カメラ画像データベース３２には、６台のカメラＣＡ１〜ＣＡ６で撮影された同時点の各フレーム画像を記憶したカメラ画像ファイルのデータが順次蓄積記憶される。
【００１９】
動線データベース３３には、動線生データベース３１に記憶された動線生データに基づいてターゲット毎に生成される動線データが記憶される。動線データの主要なデータ構造を図４に示す。図示するように、動線データは、固有の動線ＩＤと、この動線ＩＤで特定される動線の開始位置である始点を示す二次元座標（Ｘ０．Ｙ０）と、同動線の終了位置である終点を示す二次元座標（Ｘｎ．Ｙｎ）と、同動線に関わる画像フレーム時間単位のインデックス情報と、状態ステータス，無効化ステータス及び部分動線ステータスと、［起点］，［前連結ＩＤ］，及び［後連結ＩＤ］の各定義情報とで構成される。インデックス情報には、店舗内座標（Ｘ，Ｙ，Ｈ）と、画像フレームの撮影日時情報Ｔと、変化点フラグＦとが含まれる。
【００２０】
なお、状態ステータス，無効化ステータス，部分動線ステータス，各種定義情報及び変化点フラグＦについては後述する。
【００２１】
設定データベース３４には、動線編集作業に必要な種々の設定データが予め格納されている。
【００２２】
カメラパラメータデータベース３５には、魚眼カメラＣＡ１〜ＣＡ３に関する種々のパラメータデータと、全方位カメラＣＡ４〜ＣＡ６に関する種々のパラメータデータとが予め格納されている。
【００２３】
店内エリア定義データベース３６には、店舗内のエリアを定義するためのデータが予め格納されている。本実施の形態では、図２のレイアウト図において、入退場口ＩＮ／ＯＵＴより店内側の図中破線で囲われた矩形の領域を入口エリアと設定し、この入口エリア内の二次元座標（Ｘ，Ｙ）が入口エリア定義データとして記憶されている。また、客が買い回りすることができない店内の商品陳列棚設置エリアと会計カウンタＣＨより内側のエリアを無効エリアと設定し、この無効エリア内の二次元座標（Ｘ，Ｙ）が無効エリア定義データとして記憶されている。さらに、入口エリアと無効エリアとを除く店内のエリア、つまり買物をする客が移動し得るエリアを監視対象の領域である店内エリアと設定し、この店内エリア内の二次元座標（Ｘ，Ｙ）が店内エリア定義データとして記憶されている。因みに、無効エリアに対して残りの入口エリアと店内エリアは、ターゲットである客が存在し得る有効領域として区分される。
【００２４】
店内マップデータベース３７には、図２に示すレイアウト図と同様の店内マップ平面図のイメージデータが予め格納されている。
【００２５】
かかる構成の動線編集装置２０を用いて動線の編集作業を行うオペレータは、作業に先立ち動線データ生成システム１０から作業対象である動線生データとその動線生データを生成するために用いたカメラ画像データとをデータ受信部２１を介して取込む。そして、動線生データベース３１とカメラ画像データベース３２とにそれぞれ保存する。この状態で、操作入力部２３を操作して、動線編集業務の開始を指令する。すると、動線編集プログラムが起動する。動線編集プログラムは、予め記憶部２２にインストールされている。
【００２６】
動線編集プログラムが起動すると、制御部２５は、このプログラムに従い図６の流れ図に示す手順で各部を制御する。先ず、ＳＴ（ステップ）１として動線編集画面４０を画面表示部２４に表示させる。
【００２７】
動線編集画面４０の一レイアウト例を図５に示す。図示するように、動線編集画面４０は、動線編集部４１と、カメラ画像表示部４２と、動線リスト表示部４３と、座標表示部４４とに区分されている。
【００２８】
動線編集部４１には、店内マップデータベース３７に記憶されているイメージデータにより店内マップの平面図が表示される。また、スクロールバー４５を画面に向かって左端から右端にスライドさせることによりカメラ画像の撮影時間が経過し、その時間に撮影されたカメラ画像から検出されたターゲットの動線が該店内マップに重ねて表示される。
【００２９】
カメラ画像表示部４２には、各カメラＣＡ１〜ＣＡ６で撮影された画像が表示される。図示するように、６個のカメラ画像を並べて同時に表示することもできるし、その中から選択された１乃至複数のカメラ画像を拡大して表示することもできる。
【００３０】
動線編集画面４０を表示した後、制御部２５は、ＳＴ２として動線データ作成処理を実行する。この作成処理の処理手順は、図７の流れ図によって示される。すなわち制御部２５は、先ず、ＳＴ３１として動線データベース３３をクリアする。次に、ＳＴ３２として番号カウンタのカウント値Ｎを“０”に初期設定する。この初期設定値“０”は、動線データ生成システム１０において、新たなターゲットを検出する毎に付与されるターゲットＩＤの初期値である。
【００３１】
番号カウンタのカウント値Ｎを“０”に初期設定した後、制御部２５は、ＳＴ３３として動線生データベース３１を検索する。そして、ＳＴ３４として各フレーム別動線生データの中からターゲットＩＤが番号カウンタのカウント値Ｎと一致するターゲット情報（ＩＤ，Ｘ，Ｙ，Ｈ等）を有する動線生データを検出する。
【００３２】
ターゲットＩＤが“Ｎ”のターゲット情報を有するフレーム別動線生データを１つでも検出できた場合には、制御部２５は、ＳＴ３５としてそのターゲットＩＤを動線ＩＤとする動線編集レコード（動線データ）を生成する。そしてこの動線編集レコードに、ターゲットＩＤが“Ｎ”のターゲット情報を有するフレーム別動線生データの中で、フレーム日時情報が最も古い動線生データに記憶されている当該ターゲット情報の店舗内二次元座標（Ｘ，Ｙ）を始点座標（Ｘ０，Ｙ０）としてセットする。また、フレーム日時情報が最も新しいフレーム別動線生データに記憶されている当該ターゲット情報の店舗内二次元座標（Ｘ，Ｙ）を終点座標（Ｘｎ，Ｙｎ）としてセットする。さらに、検出された全てのフレーム別動線生データからターゲットＩＤが“Ｎ”のターゲット情報をすべて抽出し、これらのターゲット情報の店舗内座標（Ｘ，Ｙ，Ｈ）と、フレーム日時情報Ｔとを、動線インデックス情報として日時の古い順に動線編集レコードにセットする。
【００３３】
こうして、動線ＩＤが“Ｎ”の動線編集レコードを作成したならば、制御部２５は、ＳＴ３６としてこの動線編集レコードを動線データベース３３に追加する。しかる後、ＳＴ３７として番号カウンタを“１”だけカウントアップしたならば、ＳＴ３３〜ＳＴ３７の処理を再度実行する。以後、ターゲットＩＤが“Ｎ”のターゲット情報（ＩＤ，Ｘ，Ｙ，Ｈ等）を有する動線生データを検出できなくなるまで、この処理を繰り返す。すなわち、動線生データベース３１のフレーム別動線生データを基に、動線ＩＤが１ずつ昇順する動線編集レコードを順次生成して、動線データベース３３に追加する処理を繰り返す。
【００３４】
ＳＴ３４にてターゲットＩＤが“Ｎ”のターゲット情報を有する動線生データを検出できなかったならば、制御部２５は、ＳＴ３８として番号カウンタのカウント値Ｎから“１”を減算した値（Ｎ−１）を最終動線ＩＤとしてメモリに記憶して、この動線データ作成処理を終了する。
【００３５】
動線データ作成処理を終了すると、制御部２５は、次に、ＳＴ３として動線の状態定義処理を実行する。この状態定義処理の処理手順は、図８の流れ図によって示される。すなわち制御部２５は、動線データベース３３から動線編集レコードを１データずつ抽出する。そして、動線編集レコードを抽出する毎に、以下の処理を実行する。
【００３６】
先ず、ＳＴ４１として抽出した動線編集レコードから動線始点座標を取得する。そして、店内エリア定義データベース３６を参照してこの動線始点座標が入口エリア定義データとして設定された座標であるか否かを判断する。入口エリア定義データの座標であった場合には、制御部２５は、ＳＴ４２として同動線編集レコードから動線終点座標を取得する。そして、店内エリア定義データベース３６を参照してこの動線終点座標も入口エリア定義データとして設定された座標か否かを判断する。
【００３７】
動線終点座標も入口エリア定義データの座標であった場合には、制御部２５は、ＳＴ４３として同動線編集レコードの動線インデックス情報を日時の古い順に調べる。そして、入口エリア定義データとして設定された座標以外の座標を含む動線インデックス情報を検出したならば、この動線編集レコードに対応するターゲットは、入口エリアから少なくとも一度出て、その後、再び入口エリアに戻ったので、この動線編集レコードの状態ステータスを「入口→入口」に設定する。これに対し、入口エリア定義データとして設定された座標以外の座標を含む動線インデックス情報を１つも検出しなかった場合には、この動線編集レコードに対応するターゲットは、入口エリアから一度も出なかったので、この動線編集レコードの状態ステータスを「入口」に設定する。
【００３８】
一方、ＳＴ４２にて動線終点座標が入口エリア定義データの座標でなかった場合、すなわち店内エリア定義データまたは無効エリア定義データの座標である場合には、制御部２５は、この動線編集レコードの状態ステータスを「入口→店内」に設定する。
【００３９】
一方、ＳＴ４１にて動線始点座標が入口エリア定義データとして設定された座標でなかった場合には、制御部２５は、ＳＴ４４としてこの動線始点座標が店内エリア定義データとして設定された座標であるか無効エリア定義データとして設定された座標であるかを判断する。無効エリア定義データの座標であった場合には、ＳＴ４５として同動線編集レコードから動線終点座標を取得する。そして、店内エリア定義データベース３６を参照してこの動線終点座標が無効エリア定義データとして設定された座標か否かを判断する。
【００４０】
動線終点座標が無効エリア定義データの座標であった場合には、制御部２５は、ＳＴ４６として同動線編集レコードの動線インデックス情報を日時の古い順に調べる。そして、無効エリア定義データとして設定された座標以外の座標を含む動線インデックス情報を１つも検出しなかった場合には、この動線編集レコードに対応するターゲットは、無効エリアから一度も出なかったので、この動線編集レコードの状態ステータスを「無効」に設定する。これに対し、無効エリア定義データとして設定された座標以外の座標を含む動線インデックス情報を検出したならば、この動線編集レコードに対応するターゲットは、無効エリアから少なくとも一度出て、その後、再び無効エリアに戻ったので、この動線編集レコードの状態ステータスを「店内→店内」に設定する。
【００４１】
一方、ＳＴ４５にて動線終点座標が無効エリア定義データの座標でなかった場合には、制御部２５は、ＳＴ４７にて店内エリア定義データベース３６を参照してこの動線終点座標が店内エリア定義データとして設定された座標か否かを判断する。
【００４２】
動線終点座標が店内エリア定義データの座標であった場合には、この動線編集レコードの状態ステータスを「店内→店内」に設定する。これに対し、店内エリア定義データの座標でなかった場合、すなわち、入口エリア定義データの座標である場合には、同状態ステータスを「店内→入口」に設定する。
【００４３】
一方、ＳＴ４４にて動線始点座標が無効エリア定義データの座標でなかった場合、すなわち、店内エリア定義データの座標であった場合には、制御部２５は、ＳＴ４８として同動線編集レコードから動線終点座標を取得する。そして、店内エリア定義データベース３６を参照してこの動線終点座標が入口エリア定義データとして設定された座標か否かを判断する。
【００４４】
動線終点座標が入口エリア定義データの座標であった場合には、この動線編集レコードの状態ステータスを「店内→入口」に設定する。これに対し、入口エリア定義データの座標でなかった場合、すなわち、店内エリア定義データまたは無効エリア定義データの座標である場合には、同状態ステータスを「店内→店内」に設定する。
【００４５】
制御部２５は、動線データベース３３の全ての動線編集レコードについて上記処理を実行する。こうして、全ての動線編集レコードに対して、「入口→入口」，「入口」，「入口→店内」，「店内→入口」，「店内→店内」，「無効」のなかのいずれかの状態ステータスを設定したならば、この状態定義処理を終了する（動線状態判定手段）。
【００４６】
動線の状態定義処理を終了すると、制御部２５は、次に、ＳＴ４として動線の無効化処理を実行する。この無効化処理の処理手順は、図９の流れ図によって示される。すなわち制御部２５は、設定データベース３４から無効化条件の設定データを取得する。無効化条件には、動線の開始または終了位置が無効エリアに存在する動線を無効化する条件、いわゆる領域条件と、動線の追跡時間が予め設定された閾値以下の動線を無効化する条件、いわゆる時間条件とがある。そして、これらの条件を有効とするか否かは、予めオペレータによって選択され、設定データベース３４に設定されている。
【００４７】
無効化条件設定データを取得した制御部２５は、先ず、ＳＴ５１として領域条件がオン（有効）かオフ（無効）かを判断する。領域条件がオンの場合には、動線データベース３３の動線編集レコードを１データずつ抽出して、その状態ステータスを調べる。そして、状態ステータスが「無効」であったならば、その動線編集レコードの無効化ステータスを「オン」にして動線データベース３３に戻す。すなわち、当該動線編集レコードを無効化する。因みに、無効化された動線編集レコードは、この後の編集処理において処理されることはない。状態ステータスが「無効」でなかった場合には、無効化ステータスを「オフ」のまま動線データベース３３に戻す。
【００４８】
動線データベース３３の全ての動線編集レコードの状態ステータスを調べ終えるか、領域条件がオフであった場合には、制御部５１は、ＳＴ５２として時間条件がオン（有効）かオフ（無効）かを判断する。時間条件がオンの場合には、動線データベース３３の動線編集レコードを１データずつ抽出して動線追跡時間を算出する。すなわち、この動線編集レコードの先頭の動線インデックス情報のフレーム日時情報Ｔから最終の動線インデックス情報のフレーム日時情報Ｔまでの経過時間を算出する。そして、この動線追跡時間がオペレータによって予め設定データベース３４に設定された閾値以下であるか否かを判断する。そして、動線追跡時間が閾値以下であった場合には、その動線編集レコードの無効化ステータスを「オン」にして動線データベース３３に戻す。閾値より長い場合には、無効化ステータスを「オフ」のまま動線データベース３３に戻す。
【００４９】
動線データベース３３の全ての動線編集レコードの動線追跡時間を調べ終えるか、時間条件がオフであった場合には、この無効化処理を終了する。
【００５０】
動線の無効化処理が終了すると、制御部２５は、次に、ＳＴ５として動線の分割処理を実行する。この分割処理の処理手順は、図１０の流れ図によって示される。すなわち制御部２５は、動線データベース３３から無効化ステータスが「オン」でない動線編集レコードを１データずつ抽出する。そして、抽出する毎に、以下の処理を実行する。
【００５１】
先ず、ＳＴ６１として動線追跡処理を実行する。すなわち、動線インデックス情報をフレーム日時の古い順に取得し、その三次元座標が、店内エリア定義データベース３６において、入口エリア定義データまたは店内エリア定義データとして設定された座標から無効エリア定義データとして設定された座標に変化した動線インデックス情報、または無効エリア定義データとして設定された座標から入口エリア定義データまたは店内エリア定義データとして設定された座標に変化した動線インデックス情報を検出する。そして、該当する動線インデックス情報を検出したならば、制御部２５は、ＳＴ６２としてその動線インデックス情報の変化点フラグＦをセットする。すなわち、変化点を記録する（変化点抽出手段）。
【００５２】
抽出した動線編集レコードの先頭の動線インデックス情報から最終の動線インデックス情報まで変化点をチェックし終えたならば、制御部２５は、ＳＴ６３としてこの動線編集レコードで管理される動線に変化点があるか否か、すなわち、変化点フラグがセットされた動線インデックス情報が存在するか否かを調べる。そして、変化点フラグがセットされた動線インデックス情報を検出したならば、変化点を有する動線編集レコードなので、制御部２５は、ＳＴ６４としてその変化点での動線分割処理を実行する。
【００５３】
すなわち制御部２５は、この動線編集レコードのコピーを動線データベース３３に追加し、このコピーした動線編集レコードの動線ＩＤを、前記最終動線ＩＤに“１”を加算した値に書き換える。このとき、記憶している最終動線ＩＤにも“１”を加算する。また、コピーした動線編集レコードに関して、先頭の動線インデックス情報から変化点フラグがセットされている動線インデックス情報の直前のインデックス情報までを削除し、変化点フラグがセットされている動線インデックス情報を先頭のインデックス情報とする。そして、この先頭のインデックス情報の変化点フラグをリセットするともに、この先頭のインデックス情報の二次元座標を当該動線編集レコードの動線開始位置座標（Ｘ０，Ｙ０）とする。さらに、この動線編集レコードについて前記状態定義処理と同様の処理を実行し、状態ステータスを更新する。しかる後、部分動線ステータスを「オン」して、部分動線編集レコードとする。
【００５４】
一方、コピー元の動線編集レコードについては、変化点フラグがセットされている動線インデックス情報から以後の動線インデックス情報を削除し、残った動線インデックス情報のうち日時が最も新しい動線インデックス情報の二次元座標を、当該動線編集レコードの動線終点座標（Ｘｎ，Ｙｎ）とする。そして、この動線編集レコードについても前記状態定義処理と同様の処理を実行して状態ステータスを更新するとともに、部分動線ステータスを「オン」して、部分動線編集レコードとする。
【００５５】
かくして、変化点を有する動線編集レコードが変化点より前の部分動線レコードと変化点以後の部分動線レコードとに自動的に分割されるので、次に、制御部２５は、コピーした部分動線編集レコード（変化点以後の部分動線レコード）にさらに変化点フラグがセットされている動線インデックス情報が存在するか否かを調べる。そして、変化点フラグがセットされている動線インデックス情報を検出したならば、上記と同様な処理を実行して、変化点より前の部分動線レコードと変化点以後の部分動線レコードとに分割する（部分動線データ生成手段）。
【００５６】
こうして、変化点を有する動線編集レコードを、変化点を有さない複数の部分動線編集レコードに分割し終えたならば、次に、制御部２５は、ＳＴ６５として各部分動線編集レコードから無効エリア内の部分動線に関するレコードを無効化する。
【００５７】
すなわち、部分動線編集レコード毎に状態ステータスを調べ、「無効」であったならば、この部分動線編集レコードの無効化ステータスをセットする（データ無効化手段）。
【００５８】
上記ＳＴ６１〜ＳＴ６５までの処理を、全ての動線編集レコードについて実行したならば、制御部２５は、ＳＴ６６として無効化条件の中の時間条件がオンしているか否かを判断する。時間条件がオンされていない場合には、この分割処理を終了する。
【００５９】
時間条件がオンされていた場合には、動線データベース３３から部分動線ステータスがセットされているレコード、すなわち部分動線編集レコードで、無効化ステータスがセットされていないレコードを順次抽出する。そして、前述した動線無効化処理のときと同様に動線追跡時間を算出して、閾値以下であれば無効化ステータスをセットする。有効な全ての部分動線編集レコードについて上記処理を完了すると、この分割処理を終了する。
【００６０】
上記分割処理を実行することによって、動線データベース３３に記憶されている有効な動線編集レコードは、その定義情報が、「入口」，「入口→入口」，「入口→店内」，「店内→店内」または「店内→入口」のいずれかになる。
【００６１】
動線の分割処理を終了すると、制御部２５は、ＳＴ６として動線データベース３３を検索して、無効化ステータスがセットされていない全ての動線編集レコードを抽出する。そして、抽出したレコードの動線ＩＤ、開始位置座標及び終了位置座標を一覧表にした動線リストを作成し、動線編集画面４０の動線リスト表示部４３に表示する。そして制御部２５は、ＳＴ７としてオペレータにより動線リストからいずれかの動線が選択されるのを待機する。すなわち、動線データベース３３に記憶された動線データの中から連結元となる第１の動線データの選択入力を受付ける（第１の動線選択手段，連結元動線選択手段）。
【００６２】
操作入力部２３の操作入力により動線リストからいずれかの動線ＩＤが選択入力されたならば、制御部２５は、ＳＴ８としてこの選択された動線ＩＤを連結元動線のＩＤとして記憶する。そして、ＳＴ９として連結元動線再生処理を実行する。この再生処理の処理手順は、図１１の流れ図によって示される。
【００６３】
すなわち制御部２５は、先ず、ＳＴ７１として動線生データベース３１を先頭フレームの動線生データから順に検索して、連結元動線ＩＤをターゲットＩＤとするターゲット情報を含む動線生データを全て取込む。次に、ＳＴ７２として取込んだ各動線生データから、それぞれカメラ画像ファイル名を取得する。そして、カメラ画像データベース３２からこのカメラ画像ファイル名が設定されたカメラ画像ファイルを全て取込む。
【００６４】
次に、制御部２５は、ＳＴ７３として取込んだ各動線生データのフレーム日時情報を比較する。そして、フレーム日時情報が古い順に動線生データを選択して、以下の処理を実行する。
【００６５】
すなわち、ＳＴ７４として選択した動線生データから連結元動線ＩＤをターゲットＩＤとするターゲット情報の三次元座標を取得する。また、ＳＴ７５として選択した動線生データのカメラ画像オフセット値で特定されるフレーム画像を、取込んだカメラ画像ファイルから抽出する。さらに、ＳＴ７６として取得した世界座標系の三次元座標を、該当するカメラ画像系の座標に変換する。この変換処理は、カメラＣＡ１〜ＣＡ６毎に、それぞれ図１２の流れ図に示す手順で処理する。なお、この変換処理では、カメラパラメータデータベース３５に予め設定されている以下のパラメータを使用する。
【００６６】
・世界座標系の動線座標：ｘ，ｙ，ｈ
・世界座標系のカメラの位置：Ｗｘ，Ｗｙ，Ｗｚ
・画像中心の座標：Ｃｘ，Ｃｙ
・世界座標系の座標軸周りのカメラ回転角：Ｒｘ，Ｒｙ，Ｒｚ
・全方位カメラのパラメータ：ｂ，ｃ，ｆ
・魚眼カメラのパラメータ：ｋ１，ｋ３，ｋ５，scale
先ず、制御部２５は、ＳＴ８１として変換対象の動線座標（ｘ，ｙ，ｈ）を、カメラ位置を原点とした座標系（Ｘ０，Ｙ０，Ｚ０）に平行移動する。この処理は、次の演算式により実行される。
【数１】
0004445980.tif 000002
【００６７】
次に、制御部２５は、ＳＴ８２として平行移動した動線座標（Ｘ０，Ｙ０，Ｚ０）について、世界座標系の座標軸周りのカメラ回転角を使って回転処理し、世界座標系とカメラ座標系の軸を合せる。この処理は、次の演算式により実行される。
【００６８】
［Ｘ軸周りの回転］
【数２】
0004445980.tif 000003
【００６９】
［Ｙ軸周りの回転］
【数３】
0004445980.tif 000004
【００７０】
［Ｚ軸周りの回転］
【数４】
0004445980.tif 000005
【００７１】
次に、制御部２５は、ＳＴ８３として処理対象のカメラの種類を判別する。魚眼カメラＣＡ１，ＣＡ２，ＣＡ３に対しては、ＳＴ８４として魚眼カメラのパラメータを使って、動線座標（Ｘｚ，Ｙｚ，Ｚｚ）を世界座標系からカメラ画像座標系に変換する。この処理は、次の演算により実行される。
【００７２】
先ず、Ｘｄ＝ｒcosｔ：Ｙｄ＝ｒsinｔとする。
【００７３】
ただし、Ｙｚ≧０のとき、
【数５】
0004445980.tif 000006
【００７４】
Ｙｚ＜０のとき、
【数６】
0004445980.tif 000007
【００７５】
である。ここで、上記ｒの値を、下記数式のニュートン法を用いて求める。
【数７】
0004445980.tif 000008
【００７６】
なお、この数式において、初期値ｒ0を0.0、目標値をθとする。また、｜ｒn+1−ｒｎ｜＜0.01で収束したとみなす。その時点でのｒの値を使用する。
【００７７】
一方、全方位カメラＣＡ４，ＣＡ５，ＣＡ６に対しては、ＳＴ８５として全方位カメラのパラメータを使って、動線座標（Ｘｚ，Ｙｚ，Ｚｚ）を世界座標系からカメラ画像座標系に変換する。この処理は、次の演算式により実行される。
【数８】
0004445980.tif 000009
【００７８】
こうして、動線座標を世界座標系からカメラ画像座標系に変換したならば、制御部２５は、ＳＴ８６として変換後の座標（Ｘｄ，Ｙｄ）をカメラ画像座標系の原点に平行移動する。この処理は、次の演算式により実行される。
【数９】
0004445980.tif 000010
【００７９】
以上、ＳＴ８１〜ＳＴ８６の処理を実行することにより、選択した動線生データから取得したターゲット情報の三次元座標が、各カメラＣＡ１〜ＣＡ６のカメラ画像系の座標に変換される。
【００８０】
かくして、三次元座標、フレーム画像及びカメラ画像系座標を取得したならば、制御部２５は、ＳＴ７７としてその三次元座標に基づいて動線編集画面４０の動線編集部４１に動線を表示する（動線表示手段）。また同時に、動線編集画面４０のカメラ画像表示部４２にフレーム画像を表示し（カメラ画像表示手段）、さらに、カメラ画像系座標に基づいてカメラ画像表示部４２に連結元動線ＩＤを表示する。
【００８１】
しかる後、制御部２５は、ＳＴ７８として処理した動線生データの次に古い動線生データが取り込まれているか否かを判断する。次に古い動線生データが取り込まれている場合には、前記ＳＴ７４〜ＳＴ７８の処理を繰り返す。次に古い動線生データが取り込まれていない場合には、取り込んだフレーム別動線生データについてフレーム日時情報が古い順に前記ＳＴ７４〜ＳＴ７８の処理を実行したので、この再生処理を終了する。
【００８２】
かかる手順の再生処理が実行されることにより、動線編集画面４０の動線編集部４１には、動線リストの中からオペレータが選択した動線ＩＤの動線が表示される。また、この動線表示に同期して、同一時点のカメラ画像が動線編集画面４０のカメラ画像表示部４２に表示される。そして、このカメラ画像には、動線のターゲット位置に動線ＩＤが表示される。
【００８３】
したがってオペレータは、動線の動きとカメラ画像とを見比べて、その動線が１人の人物を追跡したものであるか否かを容易に判別することができる。また、前述したように、同一人物に対する動線は途中で途切れることが一般的であるので、途切れる前の動線と途切れた後の動線とが同一人物に対する動線なのか否かも容易に判別することできる。そして、同一人物に対する動線であると判別できた場合には、その途切れる前の動線と途切れた後の動線とを１つの動線に連結すればよい。そこで次に、この連結作業について述べる。
【００８４】
なお、前述したように、動線データベース３３に記憶されている有効な動線編集レコードは、その定義情報が、「入口」，「入口→入口」，「入口→店内」，「店内→店内」または「店内→入口」のいずれかである。このうち、定義情報が「入口→入口」及び「入口」のレコードは、入店から退店までを追跡した完全動線である。また、定義情報が「店内→入口」のレコードは、退店につながるレコードなので、連結先動線にはなり得るものの連結元動線にはなり得ない。
【００８５】
そこで、前記連結元動線再生処理が終了すると、制御部２５は、ＳＴ１０としてこの再生した連結元動線が完全動線であるか否かを判断する。すなわち、動線データベース３３を検索して、連結元動線ＩＤを動線ＩＤとする動線編集レコードを取得する。そして、この動線編集レコードの状態ステータスを調べる。ここで、状態ステータスが「入口→入口」または「入口」の場合は完全動線と判断し、その他の場合は不完全動線と判断する。
【００８６】
完全動線の場合には、制御部２５は、ＳＴ１５の連結定義処理に進む。  
不完全動線の場合には、制御部２５は、ＳＴ１１として連結先動線候補検索処理を実行する。この検索処理の処理手順は、図１３の流れ図によって示される。すなわち制御部２５は、先ず、ＳＴ９１として設定データベース３４から検索条件を取得する。検索条件には、「時間」と「距離」がある。
【００８７】
検索条件として「時間」が設定されていた場合には、制御部２５は、ＳＴ９２として連結元動線の動線終了時刻を取得する。すなわち、連結元動線ＩＤを動線ＩＤとする動線編集レコードのなかから最終フレームに対応した動線インデックス情報のフレーム日時を動線終了時刻として取得する。
【００８８】
次に、制御部２５は、ＳＴ９３として動線データベース３３を検索して、連結先動線として完全動線以外の動線、すなわち状態ステータスが「入口→店内」，「店内→店内」，「店内→入口」の動線編集レコードを抽出する。そして、この抽出した連結先動線の動線開始時刻、すなわち当該動線編集レコードの先頭フレームに対応した動線インデックス情報のフレーム日時と、前記連結元動線の動線終了時刻との時間差を算出する。そして、この時間差が予め設定された閾値以内であった場合には、この連結先動線を連結先候補の動線として残す。時間差が閾値を超える連結先動線は、連結先候補から外す。
【００８９】
動線データベース３３に設定されている全ての連結先動線について、上記ＳＴ９３以降の処理を実行する。そして、この処理を終了したならば、制御部２５は、ＳＴ９４として連結先候補の動線を時間差の小さい順にリストアップして、動線リスト表示部４３に表示する。
【００９０】
一方、検索条件として「距離」が設定されていた場合には、制御部２５は、ＳＴ９５として連結元動線の動線終点座標を取得する。すなわち、連結元動線ＩＤを動線ＩＤとする動線編集レコードから動線終点座標を取得する。
【００９１】
次に、制御部２５は、ＳＴ９６として動線データベース３３を検索して、連結先動線の動線編集レコードを抽出する。そして、この抽出した連結先動線の動線始点座標、すなわち当該動線編集レコードから動線始点座標を取得し、前記連結元動線の動線終点座標との距離を算出する。そして、この距離が予め設定された閾値以内であった場合には、この連結先動線を連結先候補の動線として残す。距離が閾値を超える連結先動線は、連結先候補から外す。
【００９２】
動線データベース３３に設定されている全ての連結先動線について、上記ＳＴ９６以降の処理を実行する。そして、この処理を終了したならば、制御部２５は、ＳＴ９７として連結先候補の動線を距離の短い順にリストアップして、動線リスト表示部４３に表示する。
【００９３】
こうして、連結先候補処理が終了すると、制御部２５は、ＳＴ１２として動線リスト表示部４３に表示されている候補の中から連結先動線が選択されるのを待機する。すなわち、動線データベース３３に記憶された動線データの中から連結先となる第２の動線データの選択入力を受付ける（第２の動線選択手段，連結先動線選択手段）。そして、操作入力部２３の操作入力により連結先動線が選択されたならば、制御部２５は、ＳＴ１３として連結先動線再生処理を実行する。この再生処理は、図１１に示した連結元動線再生処理と対象となる動線データが異なるだけで、その処理手順は同じである。したがって、ここでの説明は省略する。
【００９４】
この再生処理が実行されることにより、動線編集画面４０の動線編集部４１には、連結先候補リストの中からオペレータが選択した連結先動線ＩＤの動線が表示される。また、この動線表示に同期して、同一時点のカメラ画像が動線編集画面４０のカメラ画像表示部４２に表示される。そして、このカメラ画像には、動線のターゲット位置に動線ＩＤが表示される。
【００９５】
したがってオペレータは、動線の動きとカメラ画像とを見比べて、その動線が先に選択した連結元動線に連結される動線であるか否かを判断する。そして、操作入力部２３を介してその判断結果を入力する。
【００９６】
制御部２５は、ＳＴ１４として連結元動線に連結される動線でない旨の入力を受付けた場合には、ＳＴ１２に戻り、次の連結先動線が選択されるのを待機する。これに対し、連結元動線に連結される動線である旨の入力を受付けた場合には、ＳＴ１５の連結定義処理を実行する。
【００９７】
この連結定義処理の処理手順は、図１４の流れ図によって示される。すなわち制御部２５は、先ず、ＳＴ１０１として連結元動線の状態ステータスを判定する。ここで、状態ステータスが「入口→入口」または「入口」の場合、すなわち完全動線の場合には、この連結元動線に対応した動線編集レコードの連結定義情報［起点］を「連結元動線ＩＤ」とし、連結定義情報［前連結ＩＤ］及び［後連結ＩＤ］をいずれも「設定なし」とする。
【００９８】
これに対し、状態ステータスが「入口→店内」の場合には、ＳＴ１０２として、ＳＴ１２の処理で選択された連結先動線の状態ステータスを判定する。連結先動線の状態ステータスが「店内→店内」であった場合には、この連結先動線及び連結元動線にそれぞれ対応した動線編集レコードの連結定義情報［起点］を「連結元動線ＩＤ」とする。また、連結元動線に対応した動線編集レコードの連結定義情報［前連結ＩＤ］を「設定なし」とし、連結先動線に対応した動線編集レコードの連結定義情報［前連結ＩＤ］を「連結元動線ＩＤ」とし、連結元動線に対応した動線編集レコードの連結定義情報［後連結ＩＤ］を「連結先動線ＩＤ」とする。これに対し、連結先動線の状態ステータスが「店内→入口」または「入口」であった場合には、この連結先動線及び連結元動線にそれぞれ対応した動線編集レコードの連結定義情報［起点］を「連結元動線ＩＤ」とする。また、連結元動線に対応した動線編集レコードの連結定義情報［前連結ＩＤ］を「設定なし」とし、連結先動線に対応した動線編集レコードの連結定義情報［前連結ＩＤ］を「連結元動線ＩＤ」とし、連結元動線に対応した動線編集レコードの連結定義情報［後連結ＩＤ］を「連結先動線ＩＤ」とする。さらに、連結先動線に対応した動線編集レコードの連結定義情報［後連結ＩＤ］を「設定なし」とする。
【００９９】
一方、連結元動線の状態ステータスが「入口→入口」，「入口」及び「入口→店内」でない場合、すなわち「店内→店内」の場合には、ＳＴ１０３として、やはり連結先動線の状態ステータスを判定する。連結先動線の状態ステータスが「店内→店内」であった場合には、この連結先動線に対応した動線編集レコードの連結定義情報［起点］を「連結元動線の起点」とする。また、連結先動線に対応した動線編集レコードの連結定義情報［前連結ＩＤ］を「連結元動線ＩＤ」とし、連結元動線に対応した動線編集レコードの連結定義情報［後連結ＩＤ］を「連結先動線ＩＤ」とする。これに対し、連結先動線の状態ステータスが「店内→入口」であった場合には、この連結先動線に対応した動線編集レコードの連結定義情報［起点］を「連結元動線の起点」とする。また、連結先動線に対応した動線編集レコードの連結定義情報［前連結ＩＤ］を「連結元動線ＩＤ」とし、連結元動線に対応した動線編集レコードの連結定義情報［後連結ＩＤ］を「連結先動線ＩＤ」とする。さらに、連結先動線に対応した動線編集レコードの連結定義情報［後連結ＩＤ］を「設定なし」とする。
【０１００】
こうして、連結定義処理が終了すると、制御部２５は、ＳＴ１６として連結元動線が退店まで定義されたか否かを判断する。連結元動線が完全動線であった場合には、退店まで定義されたと判断する。また、連結先動線として選択された動線の状態ステータスが「店内→入口」であった場合も、退店まで定義されたと判断する。それ以外の場合は、まだ退店まで定義されていないと判断する。そして、その場合は、ＳＴ１７として連結先動線を連結元動線に置き換えて、ＳＴ９以降の処理を再度実行する。
【０１０１】
ＳＴ１６にて、退店まで定義されたと判断した場合には、制御部２５は、ＳＴ１８として動線の選択が完了したか否かを判断する。ここで、操作入力部２３の操作入力により選択継続が指示された場合には、ＳＴ６に戻り、動線リストをリスト表示部４３に表示させて、次の動線が選択されるのを待機する。
【０１０２】
一方、操作入力部２３の操作入力により選択終了が指示された場合には、制御部２５は、ＳＴ１９として連結処理を実行する。この連結処理の処理手順は、図１５の流れ図によって示される。すなわち制御部２５は、先ず、ＳＴ１１１として動線データベース３３を検索して、連結定義情報が設定された動線編集レコードの中から定義情報［前連結ＩＤ］が「設定なし」の動線編集レコードを１つ選択する。この選択した動線編集レコードに対応する動線を動線Ａと認識する。
【０１０３】
次に、制御部２５は、ＳＴ１１２としてこの動線Ａに対応した動線編集レコードの連結定義情報［後連結ＩＤ］が動線ＩＤとして設定された動線編集レコードを動線データベース３３から取得する。そして、この取得した動線編集レコードに対応する動線を動線Ｂと認識する。
【０１０４】
次に、制御部２５は、ＳＴ１１３として動線Ａに対応した動線編集レコードの連結定義情報［起点］と、動線Ｂに対応した動線編集レコードの連結定義情報［起点］とを比較する。その結果、一致していることを確認したならば、次に、制御部２５は、ＳＴ１１４として動線Ａの動線ＩＤと、動線Ｂに対応した動線編集レコードの連結定義情報［前連結ＩＤ］とを比較する。
【０１０５】
その結果、一致していることを確認したならば、次に、制御部２５は、ＳＴ１１５として動線Ａに対応した動線編集レコードの最終フレームに対応した動線インデックス情報のフレーム日時と、動線Ｂに対応した動線編集レコードの先頭フレームに対応した動線インデックス情報のフレーム日時との時間差を算出する。そして、この時間差が、カメラ画像の１フレーム以内であるか否かを判断する（連結点判定手段）。
【０１０６】
１フレーム以内であった場合には、動線Ａの終点位置と動線Ｂの始点位置とが一致していると判断し、制御部２５は、ＳＴ１１６として動線Ａと動線Ｂを連結する。すなわち、動線Ｂに対応した動線編集レコードの先頭フレームに対応した動線インデックス情報から最終フレームに対応した動線インデックス情報を抽出し、動線Ａに対応した動線編集レコードの最終フレームに対応した動線インデックス情報の後に付加する。そして、この動線Ａに対応した動線編集レコードの動線終点座標を、動線Ｂに対応した動線編集レコードから抽出した最終フレーム対応の動線インデックス情報の座標に置換する。さらに、動線Ａに対応した動線編集レコードの状態ステータスを更新する。かくして、連結元となる動線データの始点から連結先となる動線データの終点までの軌跡を示す動線データが生成される（動線データ生成手段）。
【０１０７】
これに対し、時間差が１フレームより長かった場合には、動線Ａの終点と動線Ｂの起点との間を補間処理する（補間手段）。補間処理としては、動線Ａの終点と動線Ｂの起点との間を直線で結ぶ線形補間が挙げられる。店内での客の動きは、ゆったりとした歩行が主であるので、線形補間でも充分に補間処理が可能である。補間処理の後、制御部２５は、ＳＴ１１６の連結処理を行う。
【０１０８】
その後、制御部２５は、ＳＴ１１７として動線Ｂに対応した動線編集レコードの連結定義情報［後連結ＩＤ］を判定する。ここで、連結定義情報［後連結ＩＤ］が「設定なし」以外の場合には、動線Ｂを動線Ａと置き換えて、ＳＴ１１２以降の処理を再度実行する。
【０１０９】
動線Ｂに対応した動線編集レコードの連結定義情報［後連結ＩＤ］が「設定なし」であった場合には、制御部２５は、ＳＴ１１８として連結定義情報が設定された動線編集レコードを検索し終えたか否かを判断する。未だ検索し終えていない場合には、ＳＴ１１１以降の処理を再度実行する。検索し終えたならば、この連結処理を終了する。
【０１１０】
連結処理を終了すると、制御部２５は、ＳＴ２０として動線データベース３３に記憶された動線編集レコードの中から、状態ステータスが「入口→入口」または「入口」の完全動線のレコードを検出する（完全動線検出手段）。そして、この完全動線のレコードを、記憶部２２の出力ファイルに出力する（完全動線出力手段）。データ出力後、動線編集プログラムは終了する。
【０１１１】
このように本実施の形態によれば、動線編集画面４０の動線編集部４１には、動線リストの中からオペレータが選択した動線ＩＤの動線を表示させることができ、また、この動線表示に同期して、同一時点のカメラ画像を動線編集画面４０のカメラ画像表示部４２に表示させることができる。さらに、このカメラ画像に対して動線のターゲット位置に動線ＩＤを表示させることができる。
【０１１２】
したがってオペレータは、動線の動きとカメラ画像とを見比べて、その動線が１人の人物を追跡したものであるか否かを容易に判別することができる。また、同一人物に対する動線は途中で途切れる場合があるが、このような場合に、途切れる前の動線と途切れた後の動線とが同一人物に対する動線なのか否かも容易に判別することできる。
【０１１３】
なお、この発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
【０１１４】
例えば前記実施の形態では、画面表示部２４に表示される動線編集画面４０を、動線編集部４１と、カメラ画像表示部４２とに区分して、動線とそれに同期するカメラ画像とを表示する場合を示したが、画面表示部２４を動線表示用の第１の画面表示部と画像表示用の第２の画面表示部とを設け、それぞれに動線とそれに同期するカメラ画像とを表示するようにしてもよい。
【０１１５】
また、前記実施の形態では、座標を表す動線データとともに、それに同期する動画のカメラ画像とを表示する場合を示したが、動画でなく静止画のカメラ画像を表示するようにしてもよい。
【０１１６】
また、前記実施の形態では、動線編集プログラムにおいて、複数のカメラ画像から検出された移動体の位置座標をその移動体を検出した複数のカメラ画像を特定するデータと関連付けて時系列に記憶する動線データベース３１と、複数のカメラ画像を記憶するカメラ画像データベース３２とを備えたコンピュータに、動線データベース３１から移動体の位置座標とその移動体を検出した複数のカメラ画像の特定データとを時系列に順次取込む機能と、移動体の位置座標を取込む毎にその座標を終点座標とする移動体の動線を画面表示部２４に表示させる機能と、カメラ画像の特定データを取込む毎にそのデータで特定されるカメラ画像をカメラ画像データベース３２から順次取得し画面表示部２４に表示させる機能とを実現させたが、コンピュータに上記機能を実現させる部分だけを抽出したプログラムいわゆる動線表示プログラムをコンピュータ読取り可能なものとして構成し、コンピュータに読み取らせることによって、当該コンピュータを、本発明の動線表示装置として機能させることができる。
【０１１７】
また、この場合において、同様の機能を有するプログラムをネットワークからコンピュータにダウンロードしても良いし、同様の機能を有するプログラムを記録媒体に記憶させたものをコンピュータにインストールしてもよい。記録媒体としては、ＣＤ−ＲＯＭ等プログラムを記憶でき、かつコンピュータが読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。またこのように予めインストールやダウンロードにより得る機能は装置内部のＯＳ（オペレーティング・システム）等と協働してその機能を実現させるものであってもよい。
【０１１８】
この他、前記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を組合わせてもよい。  
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。  
［付記１］カメラ画像から検出された移動体の位置座標をその移動体を検出したカメラ画像を特定するデータと関連付けて記憶する動線データベースと、前記カメラ画像を記憶するカメラ画像データベースと、前記動線データベースから移動体の位置座標とその移動体を検出したカメラ画像の特定データとを取込むデータ取得手段と、このデータ取得手段により前記移動体の位置座標を取込むとその座標を表わす前記移動体の動線を表示する動線表示手段と、前記データ取得手段により前記カメラ画像の特定データを取込むとそのデータで特定されるカメラ画像を前記カメラ画像データベースから取得し表示するカメラ画像表示手段とを具備したことを特徴とする動線表示装置。  
［付記２］前記動線表示手段は、画面を分割した一区画に前記動線を表示する手段であり、前記カメラ画像表示手段は、前記画面の他の区画に前記カメラ画像を表示する手段であることを特徴とする［付記１］記載の動線表示装置。  
［付記３］動線データベースに、カメラ画像から検出された移動体の位置座標をその移動体を検出したカメラ画像を特定するデータと関連付けて記憶するとともに、カメラ画像データベースに、前記カメラ画像を記憶し、前記動線データベースから移動体の位置座標とその移動体を検出したカメラ画像の特定データとをデータ取得手段により取込み、前記移動体の位置座標を取込むと、動線表示手段によりその座標を表わす前記移動体の動線を表示し、前記カメラ画像の特定データを取込むと、カメラ画像表示手段によりそのデータで特定されるカメラ画像を前記カメラ画像データベースから取得し表示することを特徴とする動線表示方法。  
［付記４］カメラ画像から検出された移動体の位置座標をその移動体を検出したカメラ画像を特定するデータと関連付けて記憶する動線データベースと、前記カメラ画像を記憶するカメラ画像データベースとを備えたコンピュータに、前記動線データベースから移動体の位置座標とその移動体を検出したカメラ画像の特定データとを取込む機能と、前記移動体の位置座標を取込むと、その座標を終点座標とする前記移動体の動線を表示部に表示させる機能と、前記カメラ画像の特定データを取込むと、そのデータで特定されるカメラ画像を前記カメラ画像データベースから取得し前記表示部に表示させる機能とを実現させることを特徴とする動線表示プログラム。
【図面の簡単な説明】
【０１１９】
【図１】本発明の一実施の形態におけるシステム構成を示すブロック図。
【図２】同実施の形態における店舗内レイアウトの説明図。
【図３】同実施の形態における動線データのデータ構造を示す模式図。
【図４】同実施の形態における動線編集レコードのデータ構造を示す模式図。
【図５】同実施の形態における動線編集画面の一例を示す模式図。
【図６】同実施の形態において動線編集プログラムによる動線編集装置の処理手順を示す流れ図。
【図７】図６における動線編集データ作成処理の要部処理手順を示す流れ図。
【図８】図６における動線状態定義処理の要部処理手順を示す流れ図。
【図９】図６における動線無効化処理の要部処理手順を示す流れ図。
【図１０】図６における動線分離処理の要部処理手順を示す流れ図。
【図１１】図６における動線再生処理の要部処理手順を示す流れ図。
【図１２】図１１における座標変換処理の要部処理手順を示す流れ図。
【図１３】図６における連結先動線候補検索処理の要部処理手順を示す流れ図。
【図１４】図６における連結定義処理の要部処理手順を示す流れ図。
【図１５】図６における連結処理の要部処理手順を示す流れ図。
【符号の説明】
【０１２０】
１０…動線データ生成システム、２０…動線編集装置、２１…データ主深部、２２…記憶部、２３…操作入力部、２４…画面表示部、２５…制御部、３１…動線データベース、３２…カメラ画像データベース、３３…動線編集データベース、３４…設定データベース、３５…カメラパラメータデータベース、３６…店内エリア定義データベース、３７…店内マップデータベース、４１…動線編集部、４２…カメラ画像表示部、４３…動線リスト表示部。
【図１】
0004445980.tif 000011
【図２】
0004445980.tif 000012
【図３】
0004445980.tif 000013
【図４】
0004445980.tif 000014
【図５】
0004445980.tif 000015
【図６】
0004445980.tif 000016
【図７】
0004445980.tif 000017
【図８】
0004445980.tif 000018
【図９】
0004445980.tif 000019
【図１０】
0004445980.tif 000020
【図１１】
0004445980.tif 000021
【図１２】
0004445980.tif 000022
【図１３】
0004445980.tif 000023
【図１４】
0004445980.tif 000024
【図１５】
0004445980.tif 000025