説明

動線表示装置及び方法並びにプログラム

【課題】移動体が撮影されているカメラ画像を探し出すのにユーザが要する手間と時間を削減する。
【解決手段】動線表示装置は、動線データベースから表示対象として選択された移動体の動線データを取得し、取得した動線データで移動体の始点から終点まで移動経路を示す動線を表示する。また、動線表示装置は、表示される動線の先端の位置情報を基準に複数のカメラのなかからそのカメラ台数より少ない一定数以下のカメラを選択する。そして、選択されたカメラの撮影画像を、動線と同期させて表示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、監視領域内を移動する移動体の始点から終点までの移動経路を示す動線を表示する技術に関する。
【背景技術】
【0002】
監視領域内を移動する人物等の移動体の移動経路を動線として表示するシステムは、既に実用化されている。このシステムは、移動体を認識して追跡する仕組みが必要となる。この仕組みの1つに、監視領域を撮影対象として配置された複数のカメラの画像データを利用する方法がある。カメラ画像を利用する方法は、移動体の動線だけでなく、カメラで撮影された画像から移動体を目視により確認できる利点がある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009-10734号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
カメラ画像を利用するシステムの場合、監視領域が拡大すればするほど、必要なカメラの台数が増加する。カメラの台数が増加すると、ユーザがカメラ画像から移動体を確認する際の画像数が増加する。画像数が増加すると、移動体が撮影されているカメラ画像を探し出すのに大きな手間と時間を要する。
【課題を解決するための手段】
【0005】
一実施形態によれば、動線表示装置は、動線データ取得手段と、動線表示手段と、カメラ選択手段と、カメラ画像表示手段とを備える。動線データ取得手段は、監視領域を撮影対象として配置された複数のカメラの各撮影画像から生成される移動体毎の動線データを記憶する動線データベースから表示対象として選択された移動体の動線データを取得する。動線表示手段は、動線データ取得手段により取得した動線データで移動体の始点から終点まで移動経路を示す動線を表示する。カメラ選択手段は、動線表示手段により表示される動線の先端の位置情報を基準に複数のカメラのなかからそのカメラ台数より少ない一定数以下のカメラを選択する。カメラ画像表示手段は、カメラ選択手段により選択されたカメラの撮影画像を動線表示手段により表示される動線と同期させて表示する。
【図面の簡単な説明】
【0006】
【図1】実施形態のシステム構成図。
【図2】実施形態の売場レイアウト図。
【図3】図1の画像データベースに保存される画像データのデータ構造図。
【図4】図1の動線データベースに保存される動線データのデータ構造図。
【図5】第1の実施形態において、テーブル記憶部で記憶するエリア設定テーブルの構成図。
【図6】第1の実施形態において、テーブル記憶部で記憶するエリア別表示カメラ定義テーブルの構成図。
【図7】第1の実施形態において、動線表示プログラムにしたがって制御部が実行する主要な処理手順を示す流れ図。
【図8】動線表示画面の一例を示す図。
【図9】第2の実施形態において、テーブル記憶部で記憶するカメラ位置設定テーブルの構成図。
【図10】第2の実施形態において、データ記憶部に形成する順位ワークメモリの構成図。
【図11】第2の実施形態において、動線表示プログラムにしたがって制御部が実行する主要な処理手順を示す流れ図。
【図12】第3の実施形態において、テーブル記憶部で記憶するカメラ画像座標テーブルの構成図。
【図13】第3の実施形態において、動線表示プログラムにしたがって制御部が実行する主要な処理手順を示す流れ図。
【発明を実施するための形態】
【0007】
以下、図面を用いて、複数の実施形態を説明する。なお、各実施形態は、いずれもコンビニエンスストア等の小売店の売場Sを監視領域とし、この売場S内を移動する買物客を移動体として認識して、買物客の移動経路を動線として表示する場合である。
【0008】
(第1の実施形態)
はじめに、第1の実施形態について、図1〜図8を用いて説明する。
図1は、本実施形態のシステム構成図であり、図2は、売場Sのレイアウトを示す平面図である。本実施形態は、カメラを用いた画像処理方式の動線認識システムを採用する。このシステムは、複数台のカメラCA1,CA2,CA4,CA4,CA5,CA6と、動線認識装置1を使用する。各カメラCA1〜CA6は、いずれも売場Sを撮影対象として、売場Sの天井部等に分散して取り付けられる。本実施形態では、説明の便宜上、6台のカメラCA1〜CA6が図2に示すレイアウトで取り付けられているものとする。
【0009】
各カメラCA1〜CA6は、魚眼レンズを用いたカメラや全方位ミラー付のカメラ等の広角レンズカメラである。これらのカメラCA1〜CA6は、視体積交差法により、売場S内を移動する買物客の軌跡、すなわち人物動線を追跡するために用いられる。視体積交差法は、例えば客の頭部を複数の方向から撮影し、各画像の頭部の位置から頭部の店内空間に適宜設置された3次元座標系内の座標値を算出する方法である。1つの監視領域に配置されるカメラの台数は特に制限されないが、視体積交差法による位置検出精度を高めるためには少なくとも3台のカメラで撮影した画像が必要である。
【0010】
各カメラCA1〜CA6は、動線認識装置1が備えるカメラコントロール部11の一元制御により一定の周期(例えば1/15秒)で撮影動作を繰り返し、その撮影画像(フレーム画像)を動線認識装置1に送信する。動線認識装置1は、カメラコントロール部11の他、カメラ画像データベース12、動線生成部13及び動線データベース14を備えている。
【0011】
カメラ画像データベース12は、各カメラCA1〜CA6で撮影されたフレーム画像データを順次蓄積する。カメラ画像データベース12に蓄積されるフレーム画像データの構造を、図3の模式図で示す。図3に示すように、カメラ画像データベース12は、フレーム画像データを、カメラID、フレーム番号及び撮影時刻とともに記憶する。
【0012】
カメラIDは、当該画像データを撮影したカメラCA1〜CA6の識別コードである。各カメラCA1〜CA6は、それぞれ固有のカメラID“CA1”,“CA2”,“CA3”,“CA4”,“CA5”,“CA6”を予め設定する。フレーム番号は、各カメラCA1〜CA6でフレーム画像が撮影される毎にカウントアップされる“1”からの連続番号である。カメラコントロール部11の制御により、各カメラCA1〜CA6のフレーム番号は同期している。撮影日時は、当該画像データが撮影された時点の日時(年月日時分秒)である。
【0013】
動線生成部13は、カメラ画像データベース12に蓄積されたフレーム画像データの画像処理により監視領域である売場内を移動する買物客を認識し、この買物客が売場Sに進入した地点である始点から退出した地点である終点までの売場S内での移動経路を示す動線データを作成する。
【0014】
動線データベース14は、動線生成部13により買物客毎に生成される動線データを蓄積する。動線データベース14に蓄積される動線データの構造を、図4の模式図で示す。図4に示すように、動線データベース14は、動線データを、動線IDとともに記憶する。動線IDは、当該動線データを個々に特定するための動線特定情報である。動線生成部13は、買物客1名の動線データを生成する毎に、その動線データに固有の動線IDを付して、動線データベース14に格納する。
【0015】
動線データは、始点フレーム“1”のフレーム番号、及び、終点フレーム“n”(n>1の整数)のフレーム番号と、始点フレーム“1”から終点フレーム“n”までのフレーム毎のインデックスデータとを含む。インデックスデータは、少なくとも売場S内の位置を特定する三次元座標(X,Y,H)とフレーム撮影時刻Tとを含む。
【0016】
始点フレーム“1”番号は、当該動線データの買物客が売場Sで最初に認識されたフレーム画像のフレーム番号であり、このフレーム画像の撮影時刻が始点フレーム“1”に対するインデックスデータのフレーム撮影時刻T1となる。終点フレーム“n”番号は、当該買物客が売場Sで最後に認識されたフレーム画像のフレーム番号であり、このフレーム画像の撮影時刻が終点フレーム“n”に対するインデックスデータのフレーム撮影時刻Tnとなる。フレーム番号毎の店内座標は、対応するフレーム番号のフレーム画像から認識された当該買物客の位置を、三次元の世界座標系(X,Y,H)で特定したものである。本実施形態では、図2において、売場Sの左上の角をX軸及びY軸の原点O(0,0)とし、その床面をH(Height)軸の原点としている。
【0017】
かかる構成の動線認識装置1は、パーソナルコンピュータ等を主体に構成される動線表示装置2と通信ケーブルで接続する。動線表示装置2は、入力部21、表示部22、データベースアクセス部23、プログラム記憶部24、データ記憶部25、テーブル記憶部26及び制御部27を備える。
【0018】
入力部21は、キーボード,マウス等の入力デバイスからなる。表示部22は、液晶ディスプレイ,CRTディスプレイ等の表示デバイスからなる。タッチパネル付のディスプレイを用いることで、入力部と表示部を兼用してもよい。
【0019】
データベースアクセス部23は、通信ケーブルを介して動線認識装置1にアクセスして、動線データベース14及びカメラ画像データベース12から動線データ及びフレーム画像データを読取る。
【0020】
例えばROM(Read Only Memory)で構成されるプログラム記憶部24は、当該動線表示装置2の処理動作を制御するための動線表示プログラムを記憶する。例えばRAM(Random Access Memory)で構成されるデータ記憶部25は、動線データベース14及びカメラ画像データベース12から読み取った動線データ及びフレーム画像データを一時的に記憶する。例えばHDD(Hard Disk Drive)で構成されるテーブル記憶部26は、エリア設定テーブル31とエリア別表示カメラ定義テーブル32とを記憶する。
【0021】
図5は、エリア設定テーブル31のデータ構造を示す模式図である。図5に示すように、このテーブル31は、複数のエリアIDを記述するための領域31-1と、各エリアIDに結び付けて左上座標データと右上座標データとをそれぞれ記述するための領域31-2,31-3を備える。
【0022】
エリアIDは、監視領域である売場SのX−Y平面を、2以上の区画に区切った際の各区画に割り当てられる固有のIDである。本実施形態では、図2に示すように、売場SのX−Y平面を区画A,B,C,D,Eの5つに区分し、各区画A,B,C,D,Eに対してそれぞれ“Ar”,“Br”,“Cr”,“Dr”,“Er”のエリアIDを設定する。
【0023】
左上座標データと右上座標データは、対応するエリアIDによって特定される区画の床面の左上角と右下角の二次元座標(x,y)である。座標(x,y)は、前記原点O(0,0)を基準としたときの世界座標系である。
【0024】
動線表示装置2のユーザは、各エリアID“Ar”,“Br”,“Cr”,“Dr”,“Er”を領域31-1に記述する。またユーザは、対応するエリアIDに結び付けて、そのIDによって特定される区画A,B,C,D,Eの左上座標(xa1,ya1),(xb1,yb1),(xc1,yc1),(xd1,yd1),(xe1,ye1)と、右上座標(xa2,ya2),(xb2,yb2),(xc2,yc2),(xd2,yd2),(xe2,ye2)とを領域31-2,32-3に記述して、エリア設定テーブル31を事前に作成する。
【0025】
図6は、エリア別表示カメラ定義テーブル32のデータ構造を示す模式図である。図6に示すように、このテーブル32は、複数のエリアIDを記述する領域32-1と、各エリアIDに結び付けて3種類のカメラIDをそれぞれ記述する領域32-2,32-3,32-4とを備える。
【0026】
前記ユーザは、各エリアID“Ar”,“Br”,“Cr”,“Dr”,“Er”を領域32-1に記述する。またユーザは、対応するエリアIDに結び付けて、そのIDによって特定される区画A,B,C,D,Eを撮影可能なカメラのうち、その区画を撮影した画像の例えば鮮明度が高い順に上位3位まで選択する。そして、選択したカメラのIDを領域32-2,32-3,32-4に順に記述して、エリア別表示カメラ定義テーブル32を事前に作成する。
【0027】
因みに、図2のレイアウトを適用する本実施形態では、区画Aに対してはカメラCA1,CA6,CA3のカメラIDを定義し、区画Bに対してはカメラCA6,CA3,CA5のカメラIDを定義し、区画Cに対してはカメラCA5,CA6,CA4のカメラIDを定義し、区画Dに対してはカメラCA4,CA3,CA2のカメラIDを定義し、区画Eに対してはカメラCA1,CA2,CA3のカメラIDを定義する。
【0028】
例えばCPU(Central Processing Unit)で構成される制御部27は、前記動線表示プログラムに従い、少なくとも以下の機能1〜4を実現する。
【0029】
1.表示対象として選択された移動体すなわち買物客の動線データを、前記動線データベース14から取得する機能(動線データ取得手段)。
【0030】
2.動線データ取得手段により取得した動線データで前記買物客の始点から終点まで移動経路を示す動線を表示する機能(動線表示手段)。
【0031】
3.動線表示手段により表示される動線の先端、すなわち表示対象である買物客が居る場所の位置情報を基準に6台のカメラCA1〜CA6のなかから3台のカメラを選択する機能(カメラ選択手段)。
【0032】
4.カメラ選択手段により選択された3台のカメラの各撮影画像を前記動線表示手段により表示される動線と同期させて表示する機能(カメラ画像表示手段)。なお、同期とは、動線として表示される移動体(買物客)の動きに合わせて、同一時刻のカメラ画像を表示させるということである。
【0033】
以下、これらの機能1〜4について、図7の流れ図を用いて説明する。動線表示装置2のユーザが、入力部21を操作して、動線表示業務の開始を指令すると、動線表示プログラムが起動する。このプログラムの起動を受けて、制御部27は、図7の流れ図に示す処理手順を開始する。
【0034】
先ず、制御部27は、表示部22に動線リスト画面を表示させる(ST1)。すなわち制御部27は、データベースアクセス部23を介して動線認識装置1にアクセスし、動線データベース14に保存されている全ての動線データの動線IDを読み込む。そして、動線IDを一覧にした動線リスト画面を編集し、表示部22に表示させる。なお、動線認識装置1が動線リスト画面の編集機能を有しており、動線認識装置1で編集された動線リスト画面を動線表示装置2が読み込んで表示部22に表示させるようにしてもよい。
【0035】
前記ユーザは、入力部21を操作して、動線リスト画面のなかから所望の動線IDを1つ選択する。なお、動線リスト画面には、業務終了のボタンが表示されており、動線表示業務を終了させたいユーザは、入力部21を操作してこのボタンを入力する。
【0036】
制御部27は、動線IDが選択されるか(ST2)、業務終了のボタンが入力されるのを待機する(ST3)。動線IDが選択されると(ST2のYES)、制御部27は、再度、動線認識装置1にアクセスして、選択された動線IDに関連付けて動線データベース14に記憶されている動線データを読み込み、データ記憶部25で記憶する(ST4:動線データ取得手段)。
【0037】
制御部27は、記憶した動線データ(以下、表示動線データと称する)を解析して、始点フレーム1番号と終点フレーム番号nを検出する。そして再度、動線認識装置1にアクセスして、画像データベース12に保存されている各カメラCA1〜CA6のフレーム画像データのうち、始点フレーム1番号から終点フレームn番号までのフレーム画像データを全て読み込み、データ記憶部25でカメラID別に記憶する(ST5)。
【0038】
制御部27は、表示部22の画面を動線表示画面40に切換える(ST6)。
動線表示画面40の一例を図8に示す。図8に示すように、動線表示画面40は、売場のレイアウト図が表示された動線表示エリア41と、3つのカメラ画像エリア42,43,44とを含む。また、再表示ボタン45と完了ボタン46の画像を含む。
【0039】
制御部27は、フレームカウンタfを一旦“0”にリセットする(ST7)。次いで、制御部27は、このカウンタfを“1”だけカウントアップする(ST8)。そして制御部27は、このカウンタfが、表示動線データのフレーム数nを超えたか否かを判断する(ST9)。
【0040】
カウンタfがフレーム数nを超えていない場合(ST9のNO)、制御部27は、表示動線データから、カウンタfの値であるf番目のフレームのインデックスデータ(以下、フレームfインデックスデータと称する)を検出する。そして制御部27は、エリア設定テーブル31を参照して、このフレームfインデックスデータの二次元座標(Xf,Yf)で特定される売場S内の位置が属する区画を検索する(ST10)。
【0041】
例えば、フレームfインデックスデータのX座標Xfが[xa1≦Xf≦xa2]の関係を満足し、かつ、Y座標Yfが[ya1≦Yf≦ya2]の関係を満足する場合には、エリアID“Ar”で特定される区画Aを検出する。X座標Xfが[xb1≦Xf≦xb2]の関係を満足し、かつ、Y座標Yfが[yb1≦Yf≦yb2]の関係を満足する場合には、エリアID“Br”で特定される区画Bを検出する。区画C,D,Eについても同様である。
【0042】
区画が検出されたならば、制御部27は、エリア別表示カメラ定義テーブル32を参照して、検出された区画に対して定義されている3台のカメラを表示カメラとして選択する(ST11:カメラ選択手段)。
【0043】
例えば、区画Aが検出された場合には、制御部27は、この区画AのエリアID“Ar”に結び付けられた3つのカメラID“CA1”、“CA6”、“CA3”でそれぞれ特定されるカメラCA1,CA6,CA3を選択する。区画Bが検出された場合には、この区画BのエリアID“Br”に結び付けられた3つのカメラID“CA6”、“CA3”、“CA5”でそれぞれ特定されるカメラCA6,CA3,CA5を選択する。区画C,D,Eについても同様である。
【0044】
制御部27は、フレームfインデックスデータからフレーム撮影時刻Tfを取得する。そして、3つの表示カメラについて、それぞれデータ記憶部25から撮影時刻Tfのフレーム画像データを抽出する(ST12)。しかる後、制御部27は、動線表示画面40の各カメラ画像エリア42,43,44に、それぞれ抽出したフレーム画像データのカメラ画像を表示させる(ST13:カメラ画像表示手段)。例えば、制御部27は、エリア別表示カメラ定義テーブル32の領域32-2に設定されたカメラIDのカメラ画像を表示エリア42に表示させ、領域32-3に設定されたカメラIDのカメラ画像を表示エリア43に表示させ、領域32-4に設定されたカメラIDのカメラ画像を表示エリア44に表示させる。
【0045】
また、制御部27は、表示動線データの始点フレームからf番目のフレームまでの各インデックスデータにより、動線表示画面40の動線表示エリア41に動線を表示させる(ST14:動線表示手段)。
【0046】
しかる後、制御部27は、ステップST8の処理に戻る。すなわち、制御部27は、カウンタfをさらに“1”だけカウントアップする。そして、ステップST9以降の処理を再度実行する。
【0047】
こうして、カウンタfがフレーム数nを超えるまでは、カウンタfがカウントアップされる毎に、ステップST10〜ST14の処理が繰り返される。カウンタfがフレーム数nを超えたならば(ST9のYES)、制御部27は、再表示が指令されるか(ST15)、完了が指令されるのを待機する(ST16)。入力部21を介して再表示ボタン45が入力されると(ST15のYES)、制御部27は、ステップST7の処理に戻る。そして、フレームカウンタfを”0”にリセとした後、ステップST8〜ST14の処理を再度実行する。
【0048】
完了ボタン46が入力された場合には(ST16のYES)、制御部27は、ステップ1の処理に戻る。すなわち、表示部22の画面を動線リスト画面に戻す。ここで、次の動線IDが選択されたならば(ST2のYES)、制御部27は、ステップST3以降の処理を再度実行する。業務終了のボタンが入力された場合には(ST3のYES)、制御部27は、今回の処理を終了する。
【0049】
本実施形態では、動線表示画面40に表示されるカメラ画像の数は、動線認識システムで用いられるカメラの台数より少ない。本実施形態では、6台のカメラCA1〜CA6に対してカメラ画像を表示するためのエリアは3つである。
【0050】
動線表示装置2は、動線表示エリア41に表示される買物客の動線に同期して、カメラ画像エリア42,43,44に表示されるカメラ画像を切換える。具体的には、図2の売場レイアウトにおいて、買物客が区画Aに滞在している間は、カメラCA1とカメラCA6とカメラCA3で撮影される画像を表示する。買物客が区画Bに移動すると、カメラCA6とカメラCA3とカメラCA5の画像に切り換える。さらに、買物客が区画Eに移動すると、カメラCA1とカメラCA2とカメラCA3の画像に切り換える。
【0051】
カメラCA1,カメラCA6及びカメラCA3で撮影される区画Aの画像は、他のカメラCA2,CA4,CA5で撮影される区画Aの画像よりも鮮明である。したがって、ユーザは、動線表示エリア41に動線が表示されている買物客の売場Sでの行動を目視により確実に確認することができる。すなわち、この買物客の動向解析を容易に行うことができる。
【0052】
仮に、動線表示画面40に6台全てのカメラCA1〜CA6の画像を表示させた場合、カメラCA2,CA4,CA5の画像はその時点における買物客の動向解析には役立たない。それにも係わらず画面上に表示されてユーザの目に留まるため、ユーザの負担が増加する。したがって、買物客の動向解析に無駄な時間を要する。本実施形態によれば、このような不具合を解消することができる。
【0053】
(第2の実施形態)
次に、第2の実施形態について、図9〜図11を用いて説明する。なお、本実施形態も、システム構成は第1の実施形態と同一であり、図1を用いて詳細な説明は省略する。
【0054】
第2の実施形態では、動線表示装置2は、テーブル記憶部26でカメラ位置設定テーブル51を記憶する。図9は、カメラ位置設定テーブル51のデータ構造を示す模式図である。図9に示すように、カメラIDを記述するための領域51-1と、カメラ位置座標データを記述するための領域51-2とを備える。
【0055】
カメラ位置座標データは、対応するカメラIDによって特定されるカメラが取り付けられている地点から床面に垂線を下ろした地点の二次元座標(Cx,Cy)である。座標(Cx,Cy)は、前記原点O(0,0)を基準としたときの世界座標系である。
【0056】
動線表示装置2のユーザは、各カメラCA1〜CA6のカメラIDを領域51-1に記述する。またユーザは、対応するカメラIDに結び付けて、そのIDによって特定されるカメラCA1〜CA6の取付位置に対する二次元座標(Cx1,Cy1),(Cx2,Cy2),(Cx3,Cy3),(Cx4,Cy4),(Cx5,Cy5),(Cx6,Cy6)を領域51-2に記述して、カメラ位置設定テーブル51を事前に作成する。
【0057】
また、第2の実施形態では、データ記憶部25に、図2に示す構成の順位ワークメモリ52を形成する。順位ワークメモリ52は、カメラCA1〜CA6の台数分の順位別に、カメラIDと距離データdrとを対にして記憶する。
【0058】
しかして、制御部27は、第1の実施形態と同様に、前記動線表示プログラムに従い、動線データ取得手段、動線表示手段、カメラ選択手段、カメラ画像表示手段としての機能を実現する。ここで、第1の実施形態と異なるのは、カメラ選択手段である。
【0059】
図11は、動線表示プログラムの起動を受けて、制御部27が実行する処理手順を示す流れ図である。図7に示した第1の実施形態と共通する手順には同一のステップ符号(STx)を付している。図7と図11とを比較すれば明らかなように、第2の実施形態が第1の実施形態と異なる部分は、ステップST9の処理にて“NO”と判定された場合、すなわち、カウンタfがフレーム数nを超えていない場合である。
【0060】
カウンタfがフレーム数nを超えていないと(ST9のNO)、制御部27は、表示動線データからフレームfインデックスデータを検出する。そして制御部27は、このインデックスデータの二次元座標(Xf,Yf)を取得する(ST21)。
【0061】
次に、制御部27は、カメラ位置設定テーブル51から各カメラCA1〜CA6の位置座標(Cx1,Cy1),(Cx2,Cy2),(Cx3,Cy3),(Cx4,Cy4),(Cx5,Cy5),(Cx6,Cy6)を読み込む。そして、これらの位置座標とフレームfインデックスデータの二次元座標(Xf,Yf)とから、次の演算式(1)〜(6)により、各カメラCA1〜CA6の取付地点から二次元座標(Xf,Yf)で特定される地点までの距離dr1〜dr6を算出する(ST22)。
【0062】
dr1=sqrt[(Xf-Cx1)*(Xf-Cx1)+(Yf-Cy1)*(Yf-Cy1)] …(1)
dr2=sqrt[(Xf-Cx2)*(Xf-Cx2)+(Yf-Cy2)*(Yf-Cy2)] …(2)
dr3=sqrt[(Xf-Cx3)*(Xf-Cx3)+(Yf-Cy3)*(Yf-Cy3)] …(3)
dr4=sqrt[(Xf-Cx4)*(Xf-Cx4)+(Yf-Cy4)*(Yf-Cy4)] …(4)
dr5=sqrt[(Xf-Cx5)*(Xf-Cx5)+(Yf-Cy5)*(Yf-Cy5)] …(5)
dr6=sqrt[(Xf-Cx6)*(Xf-Cx6)+(Yf-Cy6)*(Yf-Cy6)] …(6)
なお、式(1)〜(6)において、“sqrt[ ]”は、[ ]内のルート(平方根)を示す。
【0063】
距離dr1〜dr6が算出されると、制御部27は、この距離dr1〜dr6を、該当するカメラIDと結び付けて順位ワークメモリ52に書き込む。すなわち、カメラCA1の取付地点から二次元座標(Xf,Yf)の地点までの距離dr1は、カメラCA1のカメラID“CA1”を結び付けて記憶する。他の距離dr2〜dr6についても同様である。制御部27は、順位ワークメモリ52に記憶されたデータを、距離が短いほど順位が上位となるように並べ替える(ST23)。
【0064】
制御部27は、順位ワークメモリ52から、上位3位までのカメラIDを読み出す。そして、これらのカメラIDでそれぞれ特定される3つのカメラを表示カメラとして選択する(ST24:カメラ選択手段)。
【0065】
以後の処理手順は、第1の実施形態と同様である。すなわち、制御部27は、フレームfインデックスデータからフレーム撮影時刻Tfを取得する。そして、3つの表示カメラについて、それぞれデータ記憶部25から撮影時刻Tfのフレーム画像データを抽出する(ST12)。しかる後、制御部27は、動線表示画面40の各カメラ画像エリア42,43,44に、それぞれ抽出したフレーム画像データのカメラ画像を表示させる(ST13:カメラ画像表示手段)。また、制御部27は、表示動線データの始点フレームからf番目のフレームまでの各インデックスデータにより、動線表示画面40の動線表示エリア41に動線を表示させる(ST14:動線表示手段)。その後、制御部27は、ステップST8の処理に戻る。
【0066】
第2の実施形態では、動線表示装置2は、動線表示エリア41に表示される買物客の動線に同期して、その動線の先端、すなわち買物客が居る地点に対して距離の近い順に3つのカメラを自動的に選択し、その選択したカメラの画像をカメラ画像エリア42,43,44に表示させる。
【0067】
動線の先端となる地点からカメラまでの距離が短ければ短いほど、動線先端付近の画像は鮮明となる。したがって、第1の実施形態と同様の作用効果を奏することができる。
【0068】
(第3の実施形態)
次に、第3の実施形態について、図12〜図13を用いて説明する。本実施形態は、第2の実施形態の変形例である。第2の実施形態では、テーブル記憶部26でカメラ位置設定テーブル51を記憶する。第3の実施形態では、図12に示すデータ構造のカメラ画像座標テーブル61を記憶する。図12に示すように、カメラ画像座標テーブル61は、カメラIDを記述するための領域61-1と、カメラ画像の中心座標データを記述するための領域61-2とを備える。
【0069】
動線表示装置2のユーザは、各カメラCA1〜CA6のカメラIDを領域61-1に記述する。またユーザは、対応するカメラIDに結び付けて、そのIDによって特定されるカメラCA1〜CA6で撮影される画像の中心に位置する床面の二次元座標(Sx1,Sy1),(Sx2,Sy2),(Sx3,Sy3),(Sx4,Sy4),(Sx5,Sy5),(Sx6,Sy6)を領域61-2に記述して、カメラ画像座標テーブル61を事前に作成する。
【0070】
しかして、制御部27は、第2の実施形態と同様に、前記動線表示プログラムに従い、動線データ取得手段、動線表示手段、カメラ選択手段、カメラ画像表示手段としての機能を実現する。ここで、第2の実施形態と異なるのは、カメラ選択手段の一部である。
【0071】
図13は、動線表示プログラムの起動を受けて、制御部27が実行する処理手順を示す流れ図である。図11に示した第2の実施形態と共通する手順には同一のステップ符号(STx)を付している。図11と図13とを比較すれば明らかなように、第3の実施形態が第2の実施形態と異なる部分は、ステップST21の処理にて表示動線データからフレームfインデックスデータを検出し、このインデックスデータの二次元座標(Xf,Yf)を取得した後に、ステップST31として、この二次元座標(Xf,Yf)を世界座標系からカメラ座標系に変換する処理を追加した点である。
【0072】
ここで、世界座標系からカメラ座標系への変換処理の原理について説明する。この変換処理では、以下のパラメータを使用する。
・世界座標系の動線座標:x,y,h
・世界座標系のカメラの位置:Wx,Wy,Wz
・画像中心の座標:Cx,Cy
・世界座標系の座標軸周りのカメラ回転角:Rx,Ry,Rz
・全方位カメラのパラメータ:b,c,f
・魚眼カメラのパラメータ:k1,k3,k5,scale
先ず、制御部27は、変換対象の動線座標(x,y,h)を、カメラ位置を原点とした座標系(X0,Y0,Z0)に平行移動する。この処理は、次の演算式により実行される。
【数1】

【0073】
次に、制御部27は、平行移動した動線座標(X0,Y0,Z0)について、世界座標系の座標軸周りのカメラ回転角を使って回転処理し、世界座標系とカメラ座標系の軸を合せる。この処理は、次の演算式により実行される。
【0074】
[X軸周りの回転]
【数2】

【0075】
[Y軸周りの回転]
【数3】

【0076】
[Z軸周りの回転]
【数4】

【0077】
次に、制御部27は、処理対象のカメラの種類を判別する。カメラが魚眼カメラの場合、制御部27は、魚眼カメラのパラメータを使って、動線座標(Xz,Yz,Zz)を世界座標系からカメラ画像座標系に変換する。この処理は、次の演算により実行される。
【0078】
先ず、Xd=rcost:Yd=rsintとする。
【0079】
ただし、Yz≧0のとき、
【数5】

【0080】
Yz<0のとき、
【数6】

【0081】
である。ここで、上記rの値を、下記数式のニュートン法を用いて求める。
【数7】

【0082】
なお、この数式において、初期値r0を0.0、目標値をθとする。また、|rn+1−r|<0.01で収束したとみなす。その時点でのrの値を使用する。
【0083】
一方、カメラが全方位カメラの場合は、制御部27は、全方位カメラのパラメータを使って、動線座標(Xz,Yz,Zz)を世界座標系からカメラ画像座標系に変換する。この処理は、次の演算式により実行される。
【数8】

【0084】
こうして、動線座標を世界座標系からカメラ画像座標系に変換したならば、制御部27は、変換後の座標(Xd,Yd)をカメラ画像座標系の原点に平行移動する。この処理は、次の演算式により実行される。
【数9】

【0085】
以上の処理を実行することにより、動線座標がカメラ画像系の座標に変換される。
【0086】
上記変換処理にしたがって、二次元座標(Xf,Yf)がカメラ画像系の座標に変換されたならば、制御部27は、カメラ画像座標テーブル61から各カメラCA1〜CA6の画像中心座標(Sx1,Sy1),(Sx2,Sy2),(Sx3,Sy3),(Sx4,Sy4),(Sx5,Sy5),(Sx6,Sy6)を読み込む。そして、これらの画像中心座標とカメラ画像系の二次元座標とから、第2の実施形態と同様の演算式で各カメラCA1〜CA6の画像中心地点から二次元座標(Xf,Yf)の地点までの距離dr1〜dr6を算出する(ST22)。
【0087】
以後の処理手順は、第2の実施形態と同様である。すなわち制御部27は、距離dr1〜dr6を、該当するカメラIDと結び付けて順位ワークメモリ52に書き込む。そして制御部27は、順位ワークメモリ52に記憶されたデータを、距離が短いほど順位が上位となるように並べ替える(ST23)。
【0088】
制御部27は、順位ワークメモリ52から、上位3位までのカメラIDを読み出して、これらのカメラIDでそれぞれ特定される3つのカメラを表示カメラとして選択する(ST24:カメラ選択手段)。そして、選択された3つの表示カメラについて、それぞれデータ記憶部25から撮影時刻Tfのフレーム画像データを抽出する(ST12)。しかる後、制御部27は、動線表示画面40の各カメラ画像エリア42,43,44に、それぞれ抽出したフレーム画像データのカメラ画像を表示させる(ST13:カメラ画像表示手段)。また、制御部27は、表示動線データの始点フレームからf番目のフレームまでの各インデックスデータにより、動線表示画面40の動線表示エリア41に動線を表示させる(ST14:動線表示手段)。その後、制御部27は、ステップST8の処理に戻る。
【0089】
第3の実施形態においても、動線表示装置2は、動線表示エリア41に表示される買物客の動線に同期して、その動線の先端、すなわち買物客が居る地点に対して距離の近い順に3つのカメラを自動的に選択し、その選択したカメラの画像をカメラ画像エリア42,43,44に表示させる。したがって、第1及び第2の実施形態と同様の作用効果を奏し得る。
【0090】
因みに、第2の実施形態では、動線の先端地点を示す世界座標系の二次元座標とカメラの取付位置を示す世界座標系のカメラ位置座標とから、カメラ取付地点から動線先端地点までの距離を計測し、表示カメラを選択している。したがって、レンズを天井から真下に向けてカメラを取り付ける直下設置方式の場合に好適である。
【0091】
これに対して、レンズを斜め方向に向けてカメラを取り付ける斜視設置方式の場合は、世界座標系による距離計算では信憑性が落ちる。このような場合には、第3の実施形態のように、動線の先端位置を示す二次元座標を世界座標系からカメラ画像座標系に変換してから、カメラ画像座標系による距離計算を行う。そして、距離の短いカメラを表示カメラとして選択することによって、動線先端地点について鮮明度の高い画像を得ることができる。
【0092】
以上説明したように各実施形態によれば、移動体が撮影されているカメラ画像を探し出すのにユーザが要する手間と時間を、大幅に軽減することができる。この効果は、監視領域が拡大されてカメラの台数が増加すればするほど顕著なものとなる。
【0093】
なお、この発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
【0094】
例えば、前記第1の実施形態では、エリア別表示カメラ定義テーブル32を作成する際に、該当する区画を撮影した画像の例えば鮮明度が高い順に上位3位までのカメラを選択してテーブル32に設定したが、カメラの選択条件は、鮮明度に限定されるものではない。例えば、該当する区画までの距離が短いカメラを選択してもよい。また、カメラの選択数は、動線表示画面40に確保されているカメラ画像エリアの数に一致していなくてもよい。例えば鮮明度の高いカメラが2つしか存在しない場合には、その2つのカメラのカメラIDをエリア別表示カメラ定義テーブル32設定して、該当する区画に動線先端が位置しているときにはその2つのカメラの画像をカメラ画像エリアに表示させるようにしてもよい。
【0095】
また、第2及び第3の実施形態では、距離drが短い上位3位までのカメラを表示カメラとして選択したが、予めしきい値を設定し、距離drがしきい値より長い場合は、たとえ上位3位に入っていても選択しないようにしてもよい。
【0096】
また、各実施形態では、発明を実施する機能を実現させるためのプログラムが装置内部に予め記録されている場合で説明をしたが、これに限らず同様のプログラムをネットワークから装置にダウンロードしても良いし、同様のプログラムを記録媒体に記憶させたものを装置にインストールしてもよい。記録媒体としては、CD−ROM等プログラムを記憶でき、かつ装置が読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。またこのように予めインストールやダウンロードにより得る機能は装置内部のOS(オペレーティング・システム)等と協働してその機能を実現させるものであってもよい。
【0097】
この他、前記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を組合わせてもよい。
【符号の説明】
【0098】
1…動線認識装置、2…動線表示装置、11…カメラコントロール部、12…カメラ画像データベース、13…動線生成部、14…動線データベース、21…入力部、22…表示部、23…データベースアクセス部、24…プログラム記憶部、25…データ記憶部、26…テーブル記憶部、27…制御部、31…エリア設定テーブル、32…エリア別表示カメラ定義テーブル、40…動線表示画面、51…カメラ位置設定テーブル、52…順位ワークメモリ、61…カメラ画像座標テーブル。

【特許請求の範囲】
【請求項1】
監視領域を撮影対象として配置された複数のカメラの各撮影画像から生成される移動体毎の動線データを記憶する動線データベースから表示対象として選択された移動体の前記動線データを取得する動線データ取得手段と、
この動線データ取得手段により取得した動線データで前記移動体の始点から終点まで移動経路を示す動線を表示する動線表示手段と、
この動線表示手段により表示される動線の先端の位置情報を基準に前記複数のカメラのなかからそのカメラ台数より少ない一定数以下のカメラを選択するカメラ選択手段と、
このカメラ選択手段により選択されたカメラの撮影画像を前記動線表示手段により表示される動線と同期させて表示するカメラ画像表示手段と、
を具備したことを特徴とする動線表示装置。
【請求項2】
前記監視領域を区分した区分領域毎に、少なくともその区分領域を撮影可能な前記一定数以下のカメラの識別情報を記憶するエリア別表示カメラ定義テーブル、をさらに具備し、
前記カメラ選択手段は、前記位置情報から前記動線の先端が位置する前記区分領域を検出し、この検出された区分領域に結び付けられて前記領域別カメラ定義テーブルで記憶される前記一定数以下の識別情報で識別されるカメラを選択することを特徴とする請求項1記載の動線表示装置。
【請求項3】
前記複数のカメラ毎に、そのカメラが配置されている各位置の世界座標系の座標情報を記憶するカメラ位置設定テーブル、をさらに具備し、
前記カメラ選択手段は、前記位置情報から前記動線の先端が位置する世界座標系の座標情報を取得し、この動線先端の座標情報と前記カメラ位置設定テーブルに記憶されている各カメラの座標情報とからカメラ毎にその配置位置から前記動線の先端地点までの距離を算出し、距離の短い順に前記一定数以下のカメラを選択することを特徴とする請求項1記載の動線表示装置。
【請求項4】
前記複数のカメラ毎に、そのカメラの画像中心座標の情報を記憶するカメラ画像座標テーブル、をさらに具備し、
前記カメラ選択手段は、前記位置情報から前記動線の先端が位置する世界座標系の座標情報を取得し、この座標情報を前記世界座標系から前記カメラの画像座標系に変換し、画像座標系に変換された動線先端の座標情報と前記カメラ画像座標テーブルに記憶されている各カメラの画像中心座標の情報とからカメラ毎にその画像中心地点から前記動線の先端地点までの距離を算出し、距離の短い順に前記一定数以下のカメラを選択することを特徴とする請求項1記載の動線表示装置。
【請求項5】
監視領域を撮影対象として配置された複数のカメラの各撮影画像から生成される移動体の動線データにより、前記移動体の始点から終点まで移動経路を示す動線を表示装置が表示する方法であって、
前記表示装置が、前記監視領域を区分した区分領域毎に、少なくともその区分領域を撮影可能な一定数以下のカメラの識別情報を予め記憶し、
前記表示装置が、表示する動線の先端の位置情報から当該先端が位置する前記区分領域を検出し、
前記表示装置が、この検出された区分領域に結び付けられて記憶される前記一定数以下の識別情報で識別されるカメラを選択し、
前記表示装置が、この選択されたカメラの撮影画像を前記動線と同期させて表示することを特徴とする動線表示方法。
【請求項6】
監視領域を撮影対象として配置された複数のカメラの各撮影画像から生成される移動体の動線データにより、前記移動体の始点から終点まで移動経路を示す動線を表示装置が表示する方法であって、
前記表示装置が、前記複数のカメラ毎に、そのカメラが配置されている各位置の世界座標系の座標情報を予め記憶し、
前記表示装置が、表示する動線の先端の位置情報から前記動線の先端が位置する世界座標系の座標情報を取得し、
前記表示装置が、前記動線の先端の座標情報と予め記憶している各カメラの座標情報とから、カメラ毎にその配置位置から前記動線の先端地点までの距離を算出して、距離の短い順に前記一定数以下のカメラを選択し、
前記表示装置が、この選択されたカメラの撮影画像を前記動線と同期させて表示することを特徴とする動線表示方法。
【請求項7】
監視領域を撮影対象として配置された複数のカメラの各撮影画像から生成される移動体の動線データにより、前記移動体の始点から終点まで移動経路を示す動線を表示装置が表示する方法であって、
前記表示装置が、複数のカメラ毎に、そのカメラの画像中心座標の情報を予め記憶し、
前記表示装置が、表示する動線の先端の位置情報から前記動線の先端が位置する世界座標系の座標情報を取得し、
前記表示装置が、前記動線の先端が位置する座標情報を前記世界座標系から前記カメラの画像座標系に変換し、
前記表示装置が、前記画像座標系に変換された動線先端の座標情報と予め記憶している各カメラの画像中心座標の情報とから、カメラ毎にその画像中心地点から前記動線の先端地点までの距離を算出して、距離の短い順に前記一定数以下のカメラを選択し、
前記表示装置が、この選択されたカメラの撮影画像を前記動線と同期させて表示することを特徴とする動線表示方法。
【請求項8】
移動体の始点から終点まで移動経路を示す動線を表示するコンピュータに、
監視領域を撮影対象として配置された複数のカメラの各撮影画像から生成される移動体毎の動線データを記憶する動線データベースから表示対象として選択された移動体の前記動線データを取得させる機能、
取得した動線データで前記移動体の始点から終点まで移動経路を示す動線を表示部に表示させる機能、
前記表示部に表示される動線の先端の位置情報を基準に前記複数のカメラのなかからそのカメラ台数より少ない一定数以下のカメラを選択させる機能、及び
選択されたカメラの撮影画像を前記動線と同期させて表示部に表示させる機能、
を実現させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate