以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
図1は、本発明の動線検出処理データ分散システムの第1の実施形態を示すブロック図である。本発明の動線検出処理データ分散システムは、データ入力部1と、動線検出処理データ分散部2とを備える。また、動線検出処理データ分散部2には、複数の動線検出部3が接続される。動線検出処理データ分散システムに、各動線検出部3が備えられていてもよい。
本発明の動線検出処理データ分散システムは、追跡領域50内に存在する移動体Pから検出した大量のデータを入力データとして得る。具体的には、移動体の軌跡に関する情報である軌跡情報と、移動体のIDに関する情報である移動体ID情報とを得る。以下、軌跡情報と移動体ID情報とを合わせて、センサデータと記す場合がある。追跡領域50は、広範囲の領域であってもよく、追跡領域50内の移動体Pの数も多数であってもよい。そして、動線検出処理データ分散システムが入力データとして得るセンサデータは、大量であってよい。本発明の動線検出処理データ分散システムは、追跡領域50に属する単位エリアの組合せに対して、同一の移動体に関するセンサデータが検出されている度合いを示す相関度を計算する。さらに、動線検出処理データ分散システムは、単位エリアの組合せに対して計算した相関度に基づいて、追跡領域50を分割して得られる分割領域を決定し、分割領域毎に、検出したセンサデータをそれぞれ別々の動線検出部3に分散させる。なお、単位エリアについては後述する。
この結果、個々の動線検出部3には、動線検出処理可能なセンサデータのみ入力され、そのセンサデータ(軌跡情報および移動体ID情報)を用いて、それぞれの移動体が追跡範囲50内におけるどの位置に存在するかを判定する際に(換言すれば、移動体のIDと、軌跡とを対応付ける際に)、処理負荷が大きくなることを防止でき、また、判定精度を高くすることができる。
追跡範囲50は予め定められている。移動体Pは、追跡範囲50内を自由に移動する。また、移動体Pが追跡領域50の外側に出ることがあってもよい。移動体Pの種類は、特に限定されず、人間、動物、あるいは物であってもよい。
データ入力部1は、追跡領域50内における移動体の軌跡情報と、移動体ID情報とを検出し、動線検出処理分散部2に入力する装置である。軌跡情報は、軌跡情報を一意に識別するためのIDである軌跡IDと、移動体の位置座標とその位置座標の検出時刻のリストとを含む。また、移動体ID情報は、検出した移動体のIDである移動体IDと、移動体IDの検出位置座標と、その移動体IDの検出時刻とを含む。このように、本発明の説明では、「移動体ID情報」と、「移動体ID」とを区別する。「移動体ID」が移動体のIDそのものであり、「移動体ID情報」は、移動体IDと、その検出位置座標および検出時刻とを含む情報である。
データ入力部1は、例えば、軌跡情報を検出する装置(以下、軌跡情報検出装置と記す。)と、移動体ID情報を検出する装置(以下、移動体ID情報検出装置と記す。)とによって実現される。また、同一の装置が軌跡情報と移動体ID情報とを検出するようにデータ入力部1が構成されていてもよい。また、上記の軌跡情報検出装置や、移動体ID情報検出装置は、複数台設けられていてもよい。
移動体IDの検出位置座標は、追跡領域50内のどの位置で移動体IDが検出されたかを判別できればよく、例えば、2次元座標を用いればよい。あるいは、データ入力部1の一部として用いられる移動体ID情報検出装置を追跡領域50内に複数台設置する場合には、移動体ID情報に含まれる検出位置座標として、その移動体ID情報を検出した移動体ID情報検出装置のID(例えば、装置番号)を用いてもよい。この場合、移動体ID情報検出装置のIDとその設置位置との対応関係を示す対応表を、動線検出処理データ分散部2が記憶しておき、その対応表を参照して、移動体ID情報に含まれる移動体ID情報検出装置のIDから、移動体IDの検出位置を特定してもよい。なお、この場合、移動体ID情報検出装置の設置位置を移動体IDの検出位置とみなすことになる。
軌跡情報検出装置は、追跡領域50内の移動体の位置座標を検出し、検出時刻を特定できる装置であればよい。軌跡情報検出装置は、例えば、カメラ、床圧力センサ、レーザレンジファインダ、あるいはレーザを用いた移動体追跡システムで実現されていてもよい。軌跡情報検出装置がこのような態様で実現される場合には、移動体は、自身が検出されるために必要な機器を保持していなくてよい。また、軌跡情報検出装置は、座標検出に必要な機器を移動体に保持させる態様で、移動体の位置座標を検出してもよい。例えば、軌跡情報検出装置は、GPS(Global Positioning System )等の無線通信機器や超音波送受信機を用いた移動体追跡システム等によって実現されていてもよい。
また、軌跡情報検出装置は、新しく現れたと判断される移動体の位置座標を検出した場合、新たに軌跡IDを割り当てて、その軌跡IDと、検出した位置座標と、その位置座標の検出時刻とを対応づけて軌跡情報を新たに生成する。その後、軌跡情報検出装置が引き続きその移動体の位置座標を検出すると、その軌跡情報に、移動体の位置座標およびその位置座標の検出時刻を追加していく。この結果、軌跡情報には、軌跡IDと、位置座標およびその検出時刻のリストが含まれることになる。このリストに含まれる位置座標群が、移動体の軌跡を表す。また、移動体の位置座標が検出できなくなったならば、その軌跡情報に対する位置座標および検出時刻の追加を停止する。新しく現れたと判断される移動体の位置座標を再度検出した場合には、軌跡情報検出装置は、また新たに軌跡IDを割り当て、新たな軌跡情報を生成する。
また、軌跡情報は、追跡領域50全体から死角なく検出できることが望ましいが、軌跡情報を検出できない死角となる領域が部分的に存在していてもよい。死角により軌跡情報が途切れてしまい、1つの移動体の軌跡に関して、軌跡IDが異なる複数の軌跡情報に分かれてしまっていても、動線検出部3が、各移動体のIDと、各軌跡情報とを対応付けることで、一連の動線を特定することが可能であるからである。
移動体ID情報検出装置は、追跡領域内50における各移動体に固有の移動体IDを検出し、移動体IDを検出した位置の座標およびその検出時刻を特定できる装置であればよい。例えば、移動体がアクティブRFID(Radio Frequency IDentification)タグを所有し、そのタグIDを移動体IDとして用いる場合、移動体ID情報検出装置としてRFIDリーダを用いればよい。また、移動体がICカードを所有し、そのICカードの識別情報を移動体IDとして用いる場合、移動体ID情報検出装置としてICカードリーダを用いればよい。また、移動体が無線LAN(Local Area Network)端末を所有し、その無線LAN端末のMACアドレス(Media Access Control address)を移動体IDとして用いる場合、移動体ID情報検出装置としてアクセスポイントを用いればよい。また、移動体毎に固有のバーコードが印刷されている場合、移動体ID情報検出装置としてバーコードリーダを用いればよい。また、移動体が人物である場合には、人物の顔、指紋、静脈等を人物の移動体IDとして用いてもよく、これらの移動体IDの読み取り装置を移動体ID情報検出装置とすればよい。また、顔認証装置とRFIDリーダのように、検出対象が異なる移動体ID情報検出装置を併用してもよい。
ただし、移動体IDを検出できるかどうかは、追跡領域内50における移動体の位置により異なる。そのため、追跡領域50内では、移動体が存在する場所で常に移動体IDを検出できるとは限らない。例えば、移動体ID情報検出装置の近くに移動体が存在する場合、移動体IDの検出確率は高く、移動体ID情報検出装置から離れた場所に移動体が存在する場合、移動体IDの検出確率は低い。
また、移動体ID情報検出装置を追跡領域50内に複数設置する場合、移動体IDを検出できる範囲が互いに重なるように各移動体ID情報検出装置を設置してもよく、あるいは、互いに重なり合わないように設置してもよい。
データ入力部1に属する軌跡情報検出装置は、軌跡情報を生成すると、その軌跡情報を動線検出処理データ分散部2に入力する。軌跡情報検出装置は、移動体の位置座標検出が途切れたときに、軌跡情報を動線検出処理データ分散部2に入力してもよい。あるいは、最初に軌跡IDを割り当てた時点で、軌跡情報を動線検出処理データ分散部2に入力し、その後、同じ移動体の位置座標を検出する毎に、その位置座標およびその検出時刻を、動線検出処理データ分散部2に入力して、軌跡情報に追加させてもよい。
また、データ入力部1に属する移動体ID情報検出装置は、検出した移動体のIDと、その検出位置座標と、その検出時刻とを合わせて、移動体ID情報として、動線検出処理データ分散部2に入力する。移動体ID情報検出装置は、移動体IDの検出を試みて、移動体IDを検出できなかった場合には、移動体IDを「なし」として、その検出位置座標(例えば、移動体ID情報検出装置の設置位置座標)、およびその検出時刻とともに、動線検出処理データ分散部2に入力してもよい。また、移動体ID情報検出装置が動線検出処理データ分散部2に移動体ID情報を入力しないことで、動線検出処理データ分散部2が、その時刻に移動体IDが何も検出されなかったと判定してもよい。
ここでは、データ入力部1として軌跡情報検出装置と移動体ID情報検出装置とが設けられる場合を例に説明したが、既に説明したように、軌跡情報検出装置と移動体ID情報検出装置が同一の装置で実現されていてもよい。以下の説明においては、データ入力部1として軌跡情報検出装置と移動体ID情報検出装置とが設けられる場合を例にして説明する。
図2は、第1の実施形態における動線検出処理データ分散部2の構成例を示すブロック図である。なお、データ入力部1および動線検出部3も合わせて図示している。動線検出処理データ分散部2は、データ保持手段21と、分割ルール適用手段22と、データ分散手段23とを備える。
データ保持手段21は、データ入力部1から入力されるセンサデータ(すなわち、軌跡情報および移動体ID情報)を、現時刻から過去一定時間分、保持する。データ保持手段21は、データ入力部1から軌跡情報や移動体ID情報が入力されると、保持するセンサデータとして新しく入力された軌跡情報や移動体ID情報を追加し、現時刻よりも過去一定時間以上前の古いセンサデータを削除することで、センサデータを更新する。ここで、「現時刻」とは、データ入力部1からセンサデータが入力された最新時刻である。データ保持手段21は、更新後のセンサデータを分割ルール適用手段22およびデータ分散手段23に入力する。なお、データ保持手段21が、分割ルール適用手段22およびデータ分散手段23にセンサデータを入力するのではなく、分割ルール適用手段22およびデータ分散手段23がそれぞれ、データ保持手段21に保持されている更新後のセンサデータを読み込んでもよい。
分割ルール適用手段22は、データ保持手段21から、現時刻から過去一定時間分のセンサデータ(軌跡情報および移動体ID情報)を取得し、そのセンサデータを用い、分割ルールに従って追跡領域50を分割領域に分割する。分割ルールは、分割ルール適用手段22(より具体的には、分割ルール適用手段22に含まれる各手段。図3参照。)の動作を規定するルールであり、換言すれば、追跡領域50を分割領域に分割するアルゴリズムであると言うことができる。分割ルール適用手段22は、現時刻から過去一定時間分のセンサデータのうち例えば移動体ID情報を用いて、追跡領域50に属する単位エリアの組合せに対して、同一の移動体に関するセンサデータが検出されている度合いを示す相関度を計算する。さらに、動線検出処理データ分散システムは、単位エリアの組合せに対して計算した相関度に基づいて、追跡領域50を分割して得られる分割領域を決定する。
データ分散手段23は、データ保持手段21から取得したセンサデータを、センサデータが検出された分割領域毎に分類し、分類されたセンサデータをそれぞれ別々の動線検出部3に出力する。
図3は、分割ルール適用手段22の構成例を示すブロック図である。分割ルール適用手段22は、環境情報記憶部226と、単位エリア決定手段221と、相関度算出手段222と、相関グラフ作成手段223と、相関グラフ分割手段224と、分割領域決定手段225とを備える。
環境情報記憶部226は、追跡領域50内の単位エリアを定めた情報(以下、単位エリア設定情報と記す。)、または、追跡領域50内の単位エリアを決定するための情報を記憶する記憶装置である。単位エリアとは、個々の領域に少なくとも一つの移動体ID検出装置が存在しているという条件を満たすように、追跡領域50を分割して得られる個々の領域である。単位エリアは、現時刻から過去一定時間分のセンサデータを動線検出部3に分散させる基準となる分割領域の構成単位として用いられる。なお、1つの単位エリアには、1つの移動体ID検出装置が存在していても、あるいは、複数の移動体ID検出装置が存在していてもよいが、少なくとも1つの移動体ID検出装置が存在するという条件を満足するように、各単位エリアを定める。
また、追跡領域50をなす単位エリア群は、各単位エリアに少なくとも一つの移動体ID検出装置が存在するという条件を満たすように、移動体ID検出装置に基づいて、予め人が決定しておき、その各単位エリアを規定する座標および各単位エリアのIDとを単位エリア設定情報として環境情報記憶部226に記憶させておいてもよい。このとき、個々の単位エリアと、各単位エリア内の移動体ID検出装置との対応関係までは、環境情報記憶部226に記憶させておかなくてもよい。
また、単位エリアを人手で決定するのではなく、分割ルール適用手段22の単位エリア決定手段221が決定してもよい。この場合、環境情報記憶部226には、追跡領域50内の単位エリアを決定するための情報として、追跡領域50内に設置された各移動体ID検出装置の識別情報と設置位置(例えば、設置位置座標)との対応関係を示す対応表、および追跡領域50の範囲を示す情報を記憶させておけばよい。この対応表に基づいて、単位エリア決定手段221が、各単位エリアに少なくとも一つの移動体ID検出装置が存在するという条件を満たすように追跡領域50全体から各単位エリアを決定すればよい。また、環境情報記憶部226は、各移動体ID検出装置の識別情報と設置位置との対応関係を示す対応表だけでなく、追跡領域50内に設置された各軌跡情報検出装置の識別情報と設置位置との対応関係を示す対応表も合わせて記憶していてもよい。
以下の説明では、単位エリア決定手段221が単位エリアを決定する場合を例にして説明する。
単位エリア決定手段221は、環境情報記憶部226に記憶されている、各移動体ID検出装置の識別情報と設置位置との対応関係を示す対応表に基づいて、追跡領域50を単位エリアに分割する。このとき、各単位エリアにそれぞれ少なくとも1つの移動体ID検出装置が存在するという条件を満たすように、追跡領域50を複数の単位エリアに分割すればよい。この条件が満たされていれば、各単位エリアの大きさが一定であっても、あるいは、異なっていてもよい。
なお、単位エリア設定情報が環境情報記憶部226に予め記憶されている場合、単位エリア決定手段221は、その設定情報を読み込んで、相関度算出手段222に送ればよい。あるいは、この場合、単位エリア決定手段221が設けられずに、相関度算出手段222が環境情報記憶部226から単位エリア設定情報を読み込んでもよい。
相関度算出手段222は、データ保持手段21から取得した現時点から過去一定時間前までのセンサデータのうち、移動体ID情報を用いて、単位エリアの組合せに対して、同一の移動体に関するセンサデータが検出されている度合いを示す相関度を計算する。相関度は、単位エリアの組合せにおいて、同一の移動体に関するセンサデータが検出されている度合いを示す値であるので、ここで述べた「センサデータ」は、移動体の同一性を判断できるデータである必要があり、ここでは、移動体ID情報を用いる。軌跡情報が、軌跡ID、移動体の位置座標および位置座標の検出時刻のリストのみを含んでいる場合には、軌跡情報だけでは、互いに異なる軌跡情報が同一の移動体の軌跡を表しているか否かを判定することは困難である。しかし、データ入力部1に属する軌跡情報検出装置が、軌跡情報に、移動体の色、形状、大きさ等の属性情報も含めている場合には、軌跡情報に含まれる属性情報を用いて、相関度を計算してもよい。
以下の説明では、相関度計算手段222が、移動体ID情報を用いて相関度を計算する場合を例にして説明する。相関度計算手段222は、例えば、互いに異なる2つの単位エリアの組合せに対して、ポイントの初期値“0”を定める。そして、データ保持手段21から取得した移動体ID情報を参照して、組をなす2つの単位エリアで共通の移動体IDが検出されている場合、その単位エリアの組のポイントに“1”を加算する。データ保持手段21から取得した移動体ID情報を参照して、このようにポイントを加算していき、単位エリアの組毎に最終的に得られたポイントが、個々の単位エリアの組における相関度である。図4は、単位エリアの組毎に算出した相関度の例を示す図である。図4に示す例では、単位エリアa1〜a4のうち互いに異なる単位エリアの組に対して算出した相関度を示している。例えば、単位エリアa1,a2についての相関度は“2”である。また、例えば、単位エリアa2,a4についての相関度は“7”である。単位エリアa2,a4についての相関度は“7”となっていて、他の相関度と比較して高い値となっているので、単位エリアa2,a4では、同一の移動体に関するセンサデータ(移動体ID情報)が検出される度合いが高いということを表している。
相関グラフ作成手段223は、単位エリア決定手段221で生成された単位エリアをノードとし、追跡領域50内の単位エリアの位置関係に応じてノード間をリンクで接続したグラフを作成する。さらに、相関グラフ作成手段223は、ノード同士を結ぶリンクに対して、両端のノードの組(すなわち、単位エリアの組)について計算された相関度を、重みとして付与する。
相関グラフ分割手段224は、相関グラフ作成手段223が作成したグラフのリンクを、所定の条件が満たされるまで、相関度(重み)の低い順に削除していく。このリンク削除処理によって、相関グラフ作成手段223が作成したグラフは分割される。
例えば、相関グラフ作成手段223に作成されたグラフが所定数のグラフに分割されたことを、上記の所定の終了条件(グラフ分割の終了条件)としてもよい。あるいは、相関グラフ作成手段223に作成されたグラフから分割されたグラフに相当する単位エリア群から検出されたセンサデータの量(例えば、軌跡情報、移動体ID情報の数)が所定数以下になったことを、上記の所定の終了条件としてもよい。分割後のグラフは、センサデータを動線検出部3に分散させる基準となる分割領域を表す。分割後のグラフの各ノード(すなわち、各単位エリア)から検出されたセンサデータが、低い処理負荷で動線検出可能なデータ量になるようにグラフ分割の終了条件を設定することで、各動線検出部3に低負荷で精度よく動線検出を行わせることができる。すなわち、低負荷で精度のよい動線検出の分散処理を実現することができる。
また、相関グラフ分割手段224は、共通の単位エリア群で検出されたセンサデータを複数の動線検出部3にそれぞれ入力させる場合には、相関グラフ作成手段223に作成されたグラフの複製を作成することにより、相関グラフ作成手段223に作成されたグラフと同一のグラフを複数用意する。そして、その各グラフ毎に、共通の単位エリア群に相当するノードを含む別個の分割グラフが得られるように、グラフを分割してもよい。図5は、同一のグラフから得られた分割グラフであって、共通のノードを含む分割グラフの例を示す説明図である。相関グラフ作成手段223によって、図5(a)に示すグラフが作成されたとする。そして、ノードn2,n5に相当する単位エリアで検出されたセンサデータを、複数(本例では2つ)の動線検出部3に出力する。この場合、相関グラフ分割手段224は、図5(a)に示すグラフの複製を作成し、図5(a)に示すグラフを2つ用意する。相関グラフ分割手段224は、そのうち一方のグラフを分割し、例えば、図5(b)に示すように、ノードn1,n2,n5,n4を含む分割グラフを得る。また、もう一方のグラフを分割し、例えば、図5(c)に示すように、ノードn2,n3,n6,n5を含む分割グラフを得る。この2つの分割グラフは、それぞれ共通のノードn2,n5を含む。なお、図5(b),(c)において、破線のリンクは、削除されたリンクを意味する。図5(b),(c)に示す各グラフは、それぞれセンサデータを動線検出部3に分散させる基準となる分割領域に対応する。従って、2つの動線検出処理部3に、ノードn2,n5に相当する単位エリアで検出されたセンサデータをそれぞれ入力することができる。
また、同一の単位エリアで検出されたセンサデータが複数の動線検出部3に重複して入力されないようにする場合には、相関グラフ分割手段224は、相関グラフ作成手段223に作成されたグラフの複製を作成せずに、相関グラフ作成手段223に作成されたグラフを分割していけばよい。
分割領域決定手段225は、相関グラフ分割手段224によって分割されたグラフに含まれるノードに対応する単位エリアに基づいて、追跡エリア50を、分割されたグラフに対応する領域に分割する。分割領域は、二次元座標で表された単位エリアのリストで表現されてもよい。あるいは、二次元座標を用いて、1つの具体的な範囲(例えば、矩形等の範囲)で表されていてもよい。
データ分散手段23(図2参照)は、分割されたグラフから定められた分割領域毎に、データ保持手段21から取得したセンサデータを分類する。すなわち、センサデータがどの分割領域で検出されたかによって、センサデータを分類する。そして、分割領域毎に分類されたセンサデータをそれぞれ別々の動線検出部3に出力する。
動線検出部3(図1、図2参照)は、データ分散手段23によって入力されたセンサデータ(軌跡情報および移動体ID情報)を用いて、軌跡情報が示す軌跡と、移動体ID情報が示す移動体IDとを対応付ける。すなわち、どの軌跡が、どの移動体の軌跡であるのかを判定する動線検出処理を行う。動線検出処理の方法は、特に限定されず、公知の方法で行ってよい。また、個々の動線検出部3は、それぞれ別々の演算器で実現される。
第1の実施形態において、データ保持手段21と、分割ルール適用手段22(環境情報記憶部226、単位エリア決定手段221、相関度算出手段222、相関グラフ作成手段223、相関グラフ分割手段224および分割領域決定手段225)と、データ分散手段23は、例えば、記憶装置を備え、動線検出処理データ分散プログラムに従って動作するコンピュータのCPUによって実現される。この場合、例えば、コンピュータのプログラム記憶装置(図示せず。)が動線検出処理データ分散プログラムを記憶し、CPUがそのプログラムを読み込んで、そのプログラムに従って、データ保持手段21、分割ルール適用手段22(環境情報記憶部226、単位エリア決定手段221、相関度算出手段222、相関グラフ作成手段223、相関グラフ分割手段224および分割領域決定手段225)、およびデータ分散手段23として動作すればよい。
また、データ保持手段21、分割ルール適用手段22およびデータ分散手段23が別々のハードウェアで実現されていてもよい。環境情報記憶部226、単位エリア決定手段221、相関度算出手段222、相関グラフ作成手段223、相関グラフ分割手段224および分割領域決定手段225に関しても、別々のハードウェアで実現されていてもよい。
次に、動作について説明する。図6は、第1の実施形態における処理経過の例を示すフローチャートである。また、図7は、環境情報記憶部226が記憶する、各移動体ID検出装置の識別情報と設置位置座標との対応関係を示す対応表の例を示す説明図である。図7に示す例では、移動体ID検出装置の識別情報として番号(識別番号)を用いているものとする。また、この対応表には、追跡領域50内に存在する全ての移動体ID検出装置について、識別番号と設置位置座標が対応付けられている。また、図8は、環境情報記憶部226が記憶する、追跡領域50の範囲を示す情報の例を示す説明図である。図8に示す例では、追跡領域の各頂点v1〜v4の座標を表すことにより、その各頂点v1〜v4で囲まれた範囲が追跡領域50であることを表している。また、図8に示す例では、追跡領域50は矩形である。以下の説明では、環境情報記憶部226が、図7および図8に示す情報を記憶しているものとする。
まず、データ入力部1は、センサデータを検出すると、そのセンサデータを動線検出処理データ分散部2のデータ保持手段21に入力する(ステップS1)。例えば、データ入力部1に属する軌跡情報検出装置が、移動体の位置座標を検出し、軌跡IDと、位置座標、および位置座標の検出時刻のリストとを含む軌跡情報を生成すると、その軌跡情報をデータ保持手段21に入力する。また、データ入力部1に属する移動体ID検出装置が、移動体から移動体IDを検出し、移動体IDと、移動体IDの検出位置座標と、その移動体IDの検出時刻とを含む移動体ID情報を生成すると、その移動体ID情報をデータ保持手段21に入力する。
次に、データ保持手段21は、現時刻(データ入力部1からセンサデータが入力された最新時刻)から過去一定時間の間にデータ入力部1に検出された軌跡情報および移動体ID情報を保持するように、保持しているデータを更新する(ステップS2)。例えば、データ保持手段21は、ステップS1で最新の軌跡情報および移動体ID情報が入力されると、その軌跡情報および移動体ID情報を最新のセンサデータとして追加記憶し、現時刻から一定時間前の時刻よりも前の時刻に検出された軌跡情報および移動体ID情報を削除する。この結果、データ保持手段21が記憶するセンサデータが更新される。なお、軌跡情報には移動体の位置座標とその位置座標の検出時刻のリストが含まれる。現時刻から過去一定時間遡った時刻よりも前の検出時刻が軌跡情報に含まれている場合、データ保持手段21は、例えば、その検出時刻と、その検出時刻に対応する位置座標を、軌跡情報内から削除すればよい。あるいは、軌跡情報に含まれるリスト内の全ての検出時刻が、現時刻から過去一定時間遡った時刻よりも前の時刻となったときに、軌跡情報全体を削除してもよい。また、軌跡情報に含まれるリスト内のいずれか一つの検出時刻が、現時刻から過去一定時間遡った時刻よりも前の時刻となったときにその軌跡情報全体を削除してもよい。
第1の実施形態では、データ保持手段21がデータ入力部1から最新のセンサデータを取得し、保持しているセンサデータの更新を行う度に、以下のステップS3以降の処理を行う。
次に、単位エリア決定手段221(図3参照)は、環境情報記憶部226が記憶する対応表(図7参照)から、追跡領域50内に存在する全ての移動体ID検出装置に関する識別番号(識別情報)および設置位置座標を読み込み、また、追跡領域50の範囲を示す情報(図8参照)を読み込む。そして、単位エリア決定手段221は、読み込んだ情報に基づいて、個々の単位エリアに少なくとも1つの移動体ID検出装置が存在するという条件を満足するように、各単位エリアを決定する(ステップS3)。
ステップS3における単位エリアの決定方法の一例を具体的に説明する。単位エリア決定手段221は、環境情報記憶部226から読み込んだ移動体ID検出装置r1〜r4の設置位置座標を母点とするボロノイ図を、追跡領域50の範囲内に作成し、追跡領域50内に作成された各ボロノイ領域をそれぞれ単位エリアとして決定すればよい。図9は、作成された単位エリアの例を示す模式図である。図9に示す例において、追跡領域は、頂点v1〜v4で囲まれた領域であり、この頂点の座標は環境情報記憶部226に予め記憶されていた座標である(図8参照)。単位エリア決定手段221は、この追跡領域内に存在する移動体ID検出装置r1〜r4の設置位置座標を母点として、ボロノイ図を作成する。本例では、x=200およびy=100を境界として追跡領域を4分割することで、4つのボロノイ領域a1〜a4が得られる。単位エリア決定手段221は、この4つのボロノイ領域a1〜a4を単位エリアとして決定する。以下の説明では、この4つの単位エリアをそれぞれ符号a1,a2,a3,a4で表す。
ステップS3の次に、相関度算出手段222は、各単位エリア間における相関度を算出する(ステップS4)。すなわち、各単位エリア間で、同一の移動体に関するセンサデータ(ここでは移動体ID情報)が検出されている度合いを算出する。
ステップS4における相関度の算出方法について具体的に説明する。本例では、相関度算出手段222は、ステップS4において、まず、2つの単位エリア同士の各組合せに対して、ポイントの初期値(例えば“0”)を定めておく。そして、任意の2つの単位エリア間で、同じ移動体IDが連続して検出された状態を確認する毎に、相関度算出手段222は、その2つの単位エリアの組のポイントを“1”増加させる。具体的には、相関度算出手段222は、移動体IDが共通である移動体ID情報を、移動体IDの検出時刻順にソートしたときに、隣接する2つの検出時刻において、その移動体IDが検出された単位エリアが異なっていれば、その異なる2つの単位エリアの組のポイントに1を加算する。
図10は、相関度の算出例を示す説明図である。図10に示す検出時刻、移動体IDは、移動体ID情報に含まれる検出時刻、移動体IDである。また、図10に示す移動体ID検出装置の識別番号は、検出位置座標として移動体ID情報に含まれる情報である。さらに、図10では、移動体ID検出装置の識別番号に対応付けて、その移動体ID検出装置が設置されている単位エリアも示している。
図10に示す例では、時刻t1で、移動体ID“u1”が、単位エリアa1内で検出されている。そして、時刻t2になると、その移動体ID“u1”が、単位エリアa2で検出されている。従って、移動体ID“u1”に着目すると、隣接する2つの検出時刻t1,t2において、異なる単位エリアa1,a2で検出されている。よって、相関度算出手段222は、単位エリアa1,a2間の相関度に1を加算する。
また、時刻t3で、移動体ID“u2”が、単位エリアa3内で検出されている。さらに、時刻t4になると、移動体ID“u1”が、単位エリアa1内で検出されている。このとき、移動体ID“u1”に着目すると、“u1”を含む移動体ID情報において、t2,t4は隣接する時刻になっていて、その時刻t2,t4において、“u1”は異なる単位エリアa2,a1で検出されている。よって、相関度算出手段222は、単位エリアa1,a2間の相関度にさらに1を加算する。
また、時刻t5で、移動体ID“u2”が、単位エリアa1内で検出されている。このとき、移動体ID“u2”に着目すると、“u2”を含む移動体ID情報において、t3,t5は隣接する時刻になっていて、その時刻t3,t5において、“u2”は異なるエリアa3,a1で検出されている。よって、相関度算出手段222は、単位エリアa1,a3間の相関度に1を加算する。
相関度算出手段222は、上記のような演算を、ステップS2で更新された現時刻から過去一定時間前までの移動体ID情報を対象に行っていく。
図4は、上記のような演算によって、互いに異なる単位エリアの組合せに対して最終的に得られたポイントの値を例示しており、相関度算出手段222は、この値を相関度としている。
なお、図4に示すように、a1,a1等のように、同一の単位エリアの組合せに対しては、相関度は求めない。すなわち、ある移動体IDに関して検出時刻が連続していても、検出された単位エリアが共通である場合には、相関度算出手段222は、その同一の単位エリアの組合せに対してポイントの加算を行わない。
なお、予め単位エリアが人手で定められ、単位エリア設定情報が環境情報記憶部226に記憶されている場合には、ステップS2の後、その単位エリアを用いてステップS4の処理を行ってよい。
以下、ステップS4で、図4に例示する相関度が得られたものとして、以降の処理について説明する。
ステップS4の後、相関グラフ作成手段223は、単位エリアをノードとし、互いに異なるノード同士をリンクで接続させたグラフを作成する(ステップS5)。例えば、図9に示すように4つの単位エリアa1,a2,a3,a4が決定されているとする。この場合、図11に示すように、相関グラフ作成手段223は、各単位エリアに対応するノードn1,n2,n3,n4を定める。図11において、ノードn1は、単位エリアa1に対応する。ノードn2は、単位エリアa2に対応する。ノードn3は、単位エリアa3に対応する。ノードn4は、単位エリアa4に対応する。各ノードは、それぞれ対応する単位エリアを表している。そして、相関グラフ作成手段223は、この4つのノードn1〜n4において、互いに異なるノード同士をリンクで接続させたグラフ(図11参照)を作成する。
なお、互いに異なるノード同士を接続させるリンクは、互いに異なる2つの単位エリアの組合せを表しているということができる。
ステップS5の後、相関グラフ作成手段223は、ステップS5で作成したグラフ内の各リンクに、相関度を重みとして付与する(ステップS6)。すなわち、相関グラフ作成手段223は、グラフ内のリンクに、そのリンクが表している単位エリア同士の組合せに対して算出した相関度を付与する。例えば、図4に示すように、単位エリアa1,a2の組についての相関度は“2”であるので、相関グラフ作成手段223は、ノードn1,n2を結ぶリンクに対して、重み(相関度)“2”を付与する。本例では、図11に示すグラフに対して、ステップS6を行うことにより、図12に示す重み付きのグラフが生成されたものとする。図12において、各リンクの近傍に示した値が重み(相関度)である。
ステップS6の次に、相関グラフ分割手段224は、現在得られているグラフに関して、予め定められた所定の条件(グラフ分割処理の終了条件)を満たしているか否かを判定する(ステップS7)。ここでは、1つのグラフ内に含まれる各ノード(換言すれば、単位エリア)から検出された軌跡情報の数の合計が30以下になったという条件を、グラフ分割処理の終了条件として用いる場合を例にして説明する。なお、一つの軌跡情報は、一つの軌跡を表しているので、軌跡情報の数の合計が30以下であるということは、軌跡の数が30本以下であるということと同義である。また、上記の終了条件は例示であり、グラフ分割処理の終了条件は、上記の例に限定されない。例えば、上記の終了条件では、軌跡情報の数のみを基準としているが、軌跡情報の数と移動体ID情報の数の両方を基準としてもよい。あるいは、移動体ID情報の数のみを基準としてもよい。また、分割後のグラフの数を基準として、分割後のグラフの数が閾値以上になったことをグラフ分割の終了条件としてもよい。
図13は、現時刻から過去一定時間の間に検出された単位エリア毎の軌跡の例を表した図である。図13に示した個々の軌跡は、それぞれ軌跡情報によって表される。一つの軌跡情報内の移動体の位置座標のリストにおいて、各座標を連ねた線が図13における一つの軌跡となる。図13に示す例では、単位エリアa1から15本の軌跡が検出されている。このことは、単位エリアa1から15個の軌跡情報が得られたことを意味している。また、図13に示す例では、単位エリアa2から17本の軌跡が検出され、単位エリアa3から12本の軌跡が検出され、単位エリアa4から10本の軌跡が検出されている。
ステップS6からステップS7に移行した時には、全てのノード間にリンクが定められているので、グラフは、単位エリアa1〜a4が互いに連結した状態を表している。単位エリアa1〜a4が連結した領域から検出された軌跡情報(軌跡)の合計は54(=15+17+12+10)である。よって、この場合、相関グラフ分割手段224は、現在得られているグラフは、グラフ分割の終了条件を満たしていないと判定する(ステップS7におけるNo)。
ステップS7においてグラフ分割の終了条件を満たしていないを判定した場合、相関グラフ分割手段224は、グラフ内のリンクのうち、重み(相関度)が最も低いリンクを削除し(ステップS8)、ステップS7以降の処理を繰り返す。ステップS7,S8を繰り返すことにより、相関グラフ分割手段224は、グラフ内のリンクを、重みの低い順に削除していくことになる。
また、ステップS8において、重みが最も低いリンクが複数存在する場合には、相関グラフ分割手段224は、その複数のリンクを全て削除してもよい。あるいは、その複数のリンクから一つのリンクを選択し、選択したリンクを削除してもよい。このとき、複数のリンクから一つのリンクを選択する方法は、特に限定されない。本例では、重みが最も低いリンクが複数存在する場合、関グラフ分割手段224が、その複数のリンクを全て削除するものとして説明する。
本例では、最初にステップS8に移行したときにおけるグラフは、図12に示す状態となっている。相関グラフ分割手段224は、図12に示すグラフのリンクから、重みが最低となっているリンクを探索する。図12に示すグラフにおいて、リンクの重みの最低値は1である。そして、重みが1であるリンクは、ノードn1,n4を結ぶリンクと、ノードn2,n3を結ぶリンクである。よって、相関グラフ分割手段224は、この2つのリンクを選択し、その2つのリンクを削除する。このステップS8のリンク削除により、グラフの状態は、更新される。このリンク削除後のグラフの状態を図14に示す。なお、図14、および後述の図15において、破線は、削除されたリンクを表している。
ステップS8の後、相関グラフ分割手段224は、再度、グラフ分割を終了するか否かを判定する(ステップS7)。図14に示すグラフにおいても、ノードn1とn2、ノードn2とn4、ノードn4とn3、ノードn3とn1がそれぞれリンクで接続され、各ノードが表す単位エリアが全て連結した状態を表している。従って、単位エリアa1〜a4が連結した領域から検出された軌跡情報(軌跡)の合計は54であり、終了条件を満たさない(ステップS7におけるNo)。よって、再度、ステップS8に移行する。
次に、相関グラフ分割手段224は、図14に示すグラフから、重みが最低となっているリンクを探索する。図14に示すグラフにおいて、リンクの重みの最低値は2である。そして、重みが2であるリンクは、ノードn1,n2を結ぶリンクと、ノードn3,n4を結ぶリンクである。よって、相関グラフ分割手段224は、この2つのリンクを選択し、削除する。このリンク削除後のグラフの状態を図15に示す。
ステップS8の後、相関グラフ分割手段224は、再度、グラフ分割を終了するか否かを判定する(ステップS7)。図15に示すグラフでは、ノードn1,n3を結ぶリンクと、ノードn2,n4を結ぶリンクのみが残っている。この状態において、ノードn1,n3を含むグラフと、ノードn2,n4を含むグラフとは、互いに結ばれていない。よって、ノードn1,n3を含むグラフと、ノードn2,n4を含むグラフとに分割された状態になっている。この分割後の2つのグラフのうち、ノードn1,n3を含むグラフは、単位エリアa1,a3をひとまとまりにした領域を表している。また、もう一方の、ノードn2,n4を含むグラフは、単位エリアa2,a4をひとまとまりにした領域を表している。そして、単位エリアa1,a3をひとまとまりにした領域から検出された軌跡情報(軌跡)の数は27(=15+12)であり、単位エリアa2,a4をひとまとまりにした領域から検出された軌跡情報の数も27(=17+10)である(図13参照)。従って、相関グラフ分割手段224は、ノードn1,n3を含むグラフ、およびノードn2,n4を含むグラフの両方について、グラフ分割の終了条件を満たしていると判定し(ステップS7におけるYes)、ステップS9に移行する。
なお、本例では、分割後の2つのグラフがそれぞれ終了条件を満たす場合を示したが、分割後の個々のグラフのうち、終了条件を満たしていないグラフが存在する場合には、終了条件を満たしていないグラフに関して、終了条件を満たすまでステップS7,S8を繰り返せばよい。
また、上記の例では、ステップS8でリンクを削除するたびにステップS7に戻る場合を例にして説明したが、ステップS8でリンクを削除しても、グラフが分割されない場合、ステップS8において、グラフが分割されるまでリンクの削除を繰り返してもよい。そして、グラフが分割された時点で、ステップS7に戻ってもよい。
グラフ分割の終了条件が満たされると(ステップS7におけるYes)、分割領域決定手段225は、分割された個々のグラフに基づいて、追跡エリア50(図1参照)を、分割されたグラフに対応する分割領域に分割する(ステップS9)。図15に示すように、ノードn1,n3を含むグラフと、ノードn2,n4を含むグラフの2つのグラフが得られた場合、ノードn1,n3を含むグラフは、単位エリアa1,a3をひとまとまりにした領域を表し、ノードn2,n4を含むグラフは、単位エリアa2,a4をひとまとまりにした領域を表している。従って、分割領域決定手段225は、追跡領域50を、単位エリアa1,a3を統合した領域と、単位エリアa2,a4を統合した領域の2つに分割する。すなわち、単位エリアa1,a3を統合した領域、および、単位エリアa2,a4を統合した領域がそれぞれ追跡領域の分割領域となる。
分割領域決定手段225は、ステップS9で追跡領域50から分割領域を決定すると、その分割結果をデータ分散手段23に入力する。このとき、分割領域の表し方は、特に限定されない。例えば、分割領域を表現する場合に、分割領域内に含まれる各単位エリアのリストとして、分割領域を表現してもよい。個々の単位エリアを、単位エリアの頂点座標を並べて表現するとする。すると、例えば、単位エリアa1,a3を統合した分割領域は、単位エリアa1[左上座標(0,0)、右上座標(200,0)、右下座標(200,100)、左下座標(0,100)]と、単位エリアa3[左上座標(0,100)、右上座標(200,100)、右下座標(200,200)、左下座標(0,200)]のリストによって表される。同様に、単位エリアa2,a4を統合した分割領域は、単位エリアa2[左上座標(200,0)、右上座標(400,0)、右下座標(400,100)、左下座標(200,100)]と、単位エリアa4[左上座標(200,100)、右上座標(400,100)、右下座標(400,200)、左下座標(200,200)]のリストによって表される。
また、例えば、分割領域を表現する場合に、分割領域の頂点を並べて表現してもよい。例えば、単位エリアa1,a3を統合した分割領域は、[左上座標(0,0)、右上座標(200,0)、右下座標(200,200)、左下座標(0,200)]と表してもよい。また、単位エリアa2,a3を統合した分割領域は、[左上座標(200,0)、右上座標(400,0)、右下座標(400,200)、左下座標(200,200)]と表してもよい。
ステップS9の後、データ分散手段23は、分割領域決定手段225によって決定された分割領域に基づいて、ステップS2で更新されたセンサデータ(現時刻から過去一定時間前までの軌跡情報および移動体ID情報)を分類する。すなわち、軌跡情報および移動体ID情報を、どの分割領域で検出されたかによって分類する。そして、データ分散手段23は、分類した軌跡情報および移動体ID情報をそれぞれ別の動線検出部3に出力する(ステップS10)。上記の例では、データ分散手段23は、軌跡情報および移動体ID情報を、単位エリアa1,a3を統合した分割領域で検出された軌跡情報および移動体ID情報と、単位エリアa2,a4を統合した分割領域で検出された軌跡情報および移動体ID情報とに分類する。そして、単位エリアa1,a3を統合した分割領域で検出された軌跡情報および移動体ID情報を一つの動線検出部3に出力し、単位エリアa2,a4を統合した分割領域で検出された軌跡情報および移動体ID情報を別の動線検出部3に出力する。
軌跡情報および移動体ID情報が入力された各動線検出部3は、その軌跡情報および移動体ID情報を用いて、移動体ID情報に含まれる移動体IDと、軌跡情報が表す軌跡とを対応づける。
本実施形態によれば、データ保持手段21が、移動体から検出されるセンサデータを過去一定時間分保持する。そして、分割ルール適用手段22が、追跡領域50に属する単位エリアの組合せに対して、同一の移動体に関するセンサデータが検出されている度合いを示す相関度を計算する。そして、追跡領域50を分割した分割領域を決定するときに、分割領域が相関度の高い単位エリアをまとめた領域になるように分割領域を決定する。従って、各分割領域で検出されたセンサデータは、同一の移動体に関するセンサデータである可能性が高くなる。また、データ分散手段23は、過去一定時間分のセンサデータを、センサデータが検出された分割領域毎に分類し、分類したセンサデータをそれぞれ別々の動線検出部3に出力する。そして、センサデータが入力された各動線検出部3が動線検出を行う。従って、動線検出を分散処理で行うことができ、追跡領域50が広範囲で、移動体が多数存在していても、個々の動線検出部3における処理負荷の増加を防止することができる。そして、同一の移動体に関するセンサデータが検出されやすい分割領域毎にセンサデータを分類しているので、各動線検出部3において、高い精度で動線検出処理を行うことができる。
また、データ入力部1が検出するセンサデータの検出傾向に応じて、動線検出処理を実行させる動線検出部3の数を制御してもよい。その場合、動線検出処理に必要なエネルギーを省力化できる。例えば、広い追跡領域に少数の移動体が存在する場合には、一台の演算器(動線検出部3)に動線検出を実行させ、広い追跡領域に多数の移動体が存在する場合には、複数台の動線検出部3に動線検出を行わせるように制御してもよい。
実施形態2.
第1の実施形態では、データ保持手段21がデータ入力部1から最新のセンサデータを取得し、保持しているセンサデータの更新を行う度にステップS3(図6参照)以降の処理を実行する。ただし、新たなセンサデータの追加に伴ってデータ保持手段21が保持するセンサデータが更新される度に分割領域を決定しなくてもよい。例えば、分割領域を決定してから所定時間以上経過していることを条件に、分割領域を決定するまでの処理(ステップS3〜S9)を実行してもよい。第2の実施形態では、このように、分割領域を決定してから所定時間以上経過している場合に、ステップS3〜S9の処理を実行する。
図16は、第2の実施形態における動線検出処理データ分散部の構成例を示すブロック図である。なお、データ入力部1および動線検出部3も合わせて図示している。また、第1の実施形態の構成要素と同様の構成要素には、図2と同一の符号を付し、説明を省略する。
第2の実施形態における動線検出処理データ分散部2bは、分割領域を決定してから所定時間以上経過している場合に分割領域を決定する処理を行う点で、第1の実施形態の動線検出処理データ分散部2と異なる。動線検出処理データ分散部2bは、データ保持手段21と、分割ルール適用手段22bと、分割領域決定制御手段24と、分割領域記憶部25と、データ分散手段23bとを備える。
分割ルール適用手段22bの構成は、第1の実施形態における分割ルール適用手段22の構成と同様であり、環境情報記憶部226と、単位エリア決定手段221と、相関度算出手段222と、相関グラフ作成手段223と、相関グラフ分割手段224と、分割領域決定手段225とを備える(図3参照)。これらの各手段221〜226の動作や構成は、第1の実施形態における各手段221〜226の動作や構成と同様である。ただし、単位エリア決定手段221が単位エリアを決定する処理を開始するタイミングは、分割領域決定制御手段24から処理開始命令が入力された時である。すなわち、第1の実施形態では、単位エリア決定手段221は、データ保持手段21でセンサデータが更新されたときに、単位エリアを決定する処理を開始するが、第2の実施形態では、単位エリア決定手段221は、分割領域決定制御手段24から命令を受けたタイミングで、単位エリアを決定する処理を開始する。単位エリアを決定してから、分割領域を決定するまでの動作は、第1の実施形態における動作と同様である。
なお、第1の実施形態と同様に、環境情報記憶部226は、単位エリアを決定するための情報(例えば、図7および図8に例示する情報)を記憶していても、あるいは、予め定められた単位エリアを表す単位エリア設定情報を記憶していてもよい。環境情報記憶部226が単位エリア設定情報を記憶している場合には、分割ルール適用手段22bに分割領域決定制御手段24から処理開始命令が入力されたときに、相関度算出手段222がその単位エリアを用いて相関度を算出する処理を開始すればよい。
分割領域記憶部25は、分割ルール適用手段22bによって決定された分割領域を示す情報と、分割ルール適用手段22bによってその分割領域が決定された時刻とを記憶する記憶装置である。分割ルール適用手段22bが備える分割領域決定手段225は、分割領域を決定すると、個々の分割領域を示す情報と、分割領域を決定した時刻とを分割領域記憶部25に記憶させる。
分割領域決定制御手段24は、分割領域記憶部25に記憶された前回の分割領域の決定時刻を参照し、分割領域を再決定するか否かを判定する。分割領域を再決定すると判定した場合には、分割領域決定制御手段24は、分割ルール適用手段22bに処理開始命令を入力する。具体的には、データ保持手段21に新たなセンサデータが追加され、データ保持手段21が保持するセンサデータが更新されたときに、分割領域決定制御手段24は、前回の分割領域の決定時刻から所定時間以上経過しているか否かを判定する。そして、前回の分割領域の決定時刻から所定時間以上経過している場合に、分割領域を再決定すると判定し、分割ルール適用手段22bに処理開始命令を入力する。
データ分散手段23bは、決定された分割領域に基づいて、センサデータ(軌跡情報および移動体ID情報)を分類し、分類したセンサデータをそれぞれ別々の動線検出部3に出力する。ただし、第2の実施形態では、データ分散手段23bは、データ保持手段21に新たなセンサデータが追加されデータ保持手段21が保持するセンサデータが更新された場合、分割領域記憶部25に記憶された情報が示す分割領域に基づいてセンサデータを分類し、動線検出部3に分散させる。
第2の実施形態において、データ保持手段21と、分割ルール適用手段22b、分割領域決定制御手段24およびデータ分散手段23bは、例えば、記憶装置を備え、動線検出処理データ分散プログラムに従って動作するコンピュータのCPUによって実現される。また、データ保持手段21と、分割ルール適用手段22b、分割領域決定制御手段24およびデータ分散手段23bがそれぞれ別々のハードウェアで実現されていてもよい。
図17は、第2の実施形態における処理経過の例を示すフローチャートである。第1の実施形態における動作と同様の動作に関しては、図6と同一の符号を付し、説明を省略する。
ステップS2までの動作は、第1の実施形態におけるステップS2までの動作と同様である。ステップS2において、データ保持手段21が、新たに入力されたセンサデータを追加記憶して、保持しているセンサデータを更新すると、分割領域決定制御手段24は、分割領域記憶部25に記憶された前回の分割領域の決定時刻を参照し、その時刻から所定時間以上経過しているか否かを判定する(ステップS21)。ステップS21において、分割領域決定制御手段24は、前回の分割領域の決定時刻から所定時間以上経過していると判定した場合、分割ルール適用手段22bに処理開始命令を送る。なお、初期状態では、分割領域記憶部25には、分割領域を示す情報や時刻の情報が記憶されていない。この場合には、分割領域決定制御手段24は、分割ルール適用手段22bに処理開始命令を送る。
分割ルール適用手段22bの単位エリア決定手段221(図3参照。)は、この処理開始命令を受けると、環境情報記憶部226が記憶する情報(例えば、図7および図8に例示する情報)を読み込み、各単位エリアを決定する(ステップS3)。そして、分割ルール適用手段22bは、ステップS3に続いて、分割領域を決定するまでの処理を順次行う(ステップS4〜S9)。ステップS3〜S9の動作は、第1の実施形態におけるステップS3〜S9の動作と同様である。
ただし、ステップS9において、分割ルール適用手段22bの分割領域決定手段225は、分割領域を決定すると、その個々の分割領域を示す情報と、分割領域の決定処理を行った時刻とを、分割領域記憶部25に記憶させる。
続いて、データ分散手段23bは、ステップS9で決定された新たな分割領域を示す情報を分割領域記憶部25から読み込み、その分割領域に基づいて、ステップS2で更新されたセンサデータ(軌跡情報および移動体ID情報)を分類する。分割領域に基づくセンサデータの分類方法は、第1の実施形態におけるセンサデータの分類方法と同様である。そして、データ分散手段23bは、分類した軌跡情報および移動体ID情報をそれぞれ別の動線検出部3に出力する(ステップS10)。
また、ステップS2の後のステップS21において、前回の分割領域の決定時刻から所定時間以上経過していないと判定された場合、データ分散手段23bは、その時点で分割領域記憶部25に記憶されている情報(分割領域を示す情報)を読み込み、ステップS2で更新されたセンサデータ(軌跡情報および移動体ID情報)を分類する。そして、データ分散手段23bは、分類した軌跡情報および移動体ID情報をそれぞれ別の動線検出部3に出力する(ステップS10)。
センサデータが入力された個々の動線検出部3は、第1の実施形態における動線検出部3と同様に、動線検出処理を行う。
なお、図17に示す例では、ステップS2の後に、ステップS21の判定を行う場合を例示した。分割領域決定制御手段24は、ステップS2が実行されたか否かによらず、前回の分割領域の決定時刻から所定時間以上経過したか否かを監視し、前回の決定時刻から所定時間以上経過したと判定した場合に、処理開始命令を分割ルール適用手段22bに送ってもよい。このように、ステップS2とは独立して、ステップS21の判定を行う場合には、ステップS9で分割領域を決定した後、続けてステップS10を行わない。この場合には、ステップS2でデータ保持部21が保持するセンサデータが更新されたときに、データ分散手段23bが、その時点で分割領域記憶部25に記憶されている情報が示す分割領域に基づいてセンサデータを分類し、動線検出部3に分散させればよい(ステップS10)。
第2の実施形態においても、分割領域が相関度の高い単位エリアをまとめた領域になるように、分割領域を決定する。同一の移動体に関するセンサデータが検出されやすい単位エリアをまとめて分割領域としていると言える。また、個々の移動体の移動傾向は、あまり変わらないことが多い。例えば、オフィスや大型商業施設等の環境では、パーティションや棚等によってある程度、人の移動経路が制限される。そのため、短時間の間に人物の移動傾向は変わらない場合が多いと考えられる。本実施形態では、新たにセンサデータが追加されて、データ保持手段21が保持するセンサデータを更新する毎に分割領域を決定するのではなく、前回の分割領域の決定時刻から所定時間以上経過しているという条件が満たされる場合に、分割領域を決定する。従って、分割領域を決定するまでの処理(上記の実施形態に示す例ではステップS3〜S9の処理)の回数を抑えて、動線検出処理データ分散部2bの処理時間を短縮することができる。そして、既に説明したように、短時間の間に移動体の移動傾向は変わらないことが多いので、上記のように、分割領域を決定するまでの処理の実行回数を少なくしたとしても、動線検出処理の精度には影響を与えず、動線検出処理の精度を高く維持することができる。
実施形態3.
既に説明したように、第1の実施形態では、相関グラフ分割手段224は、予め定められたグラフ分割の終了条件が満たされるまで、グラフの分割処理を続ける(ステップS7,S8。図6参照。)。例えば、第1の実施形態で例示したように、グラフ分割の終了条件として、1つのグラフ内に含まれる各ノード(換言すれば、単位エリア)から検出された軌跡情報の数の合計が予め定められた数(閾値)以下になったという条件を用いたとする。しかし、瞬間的に、ある1つの単位エリアから軌跡情報が大量に検出された場合、その単位エリアから検出された軌跡情報の数だけで閾値を超えてしまうことが考えられる。この場合、その単位エリアを表すノード1つだけで1つのグラフになるまで、グラフの分割を繰り返していったとしても、そのノードだけを含むグラフは、グラフ分割の条件を満たさない。相関グラフ分割手段224は、このグラフに関してはこれ以上分割できないので、上記の条件を満たしていなくても、グラフの分割を停止する。すると、分割領域決定手段は、その1つのノードが表す1つの単位領域を、1つの分割領域として決定し、その結果、データ分散手段23は、その分割領域から検出されたセンサデータを1つの動線検出部3に出力する。ここで、その分割領域からは瞬間的に大量の軌跡情報が検出されているので、動線検出の計算負荷が大きくなってしまう場合がある。
第3の実施形態では、分割領域に基づいてセンサデータを分類したときに、1つの分割領域から検出されたセンサデータの量が多いときには、そのセンサデータを削減した上で、1つの動線検出部3に出力する。例えば、1つの分割領域から検出されたセンサデータの数が、グラフ分割の終了条件で用いられている閾値よりも大きければ、センサデータ数を削減する。
図18は、第3の実施形態における動線検出処理データ分散部の構成例を示すブロック図である。なお、データ入力部1および動線検出部3も合わせて図示している。また、第1の実施形態の構成要素と同様の構成要素には、図2と同一の符号を付し、説明を省略する。
第3の実施形態における動線検出処理データ分散部2cは、分割領域に基づいて分類したセンサデータ毎に、データ量が動線検出部3で処理可能な量か否かを判定し、データ量が動線検出部3で処理可能な量を超えている場合には、そのセンサデータの量を削減する。この点で、第1の実施形態の動線検出処理データ分散部2と異なる。動線検出処理データ分散部2cは、データ保持手段21と、分割ルール適用手段22と、データ分散手段23と、データ量削減手段26とを備える。
分割ルール適用手段22の構成は、第1の実施形態における分割ルール適用手段22の構成と同様であり、環境情報記憶部226と、単位エリア決定手段221と、相関度算出手段222と、相関グラフ作成手段223と、相関グラフ分割手段224と、分割領域決定手段225とを備える(図3参照)。これらの各手段221〜226の動作や構成は、第1の実施形態における各手段221〜226の動作や構成と同様である。ただし、相関グラフ分割手段224は、グラフ分割の終了条件が満たされていないグラフであっても、他のノードとリンクで接続されていない1つのノードのみ含むグラフに関しては、さらに分割を行えないため、グラフの分割を終了する。すなわち、本実施形態では、分割されたグラフが、他のノードとリンクで接続されていない1つのノードのみ含むグラフになったことも、グラフ分割の終了条件とする。
データ分散手段23は、現時刻から過去一定時間分のセンサデータ(軌跡情報および移動体ID情報)を分割領域に基づいて分類する。そして、データ分散手段23は、分割領域毎に分類したセンサデータのグループを、それぞれ、データ量削減手段26に入力する。
データ量削減手段26は、データ分散手段23によって分割領域毎に分類されたセンサデータのグループ毎に、グループに属するセンサデータの数が、そのグループのセンサデータが入力される予定の動線検出部3で処理可能な量であるか否かを判定し、その動線検出部3で処理可能な量を超えている場合には、その動線検出部3で処理可能な量になるまで、そのグループのセンサデータの数を削減する。データ量削減手段26は、センサデータを削減する場合、例えば、検出時刻が古い順にセンサデータを削減してもよい。また、センサデータに含まれる軌跡情報を削減する場合には、軌跡情報内の検出時刻のリストを参照し、軌跡情報内の一番古い検出時刻から一番新しい検出時刻までの長さが短い順に軌跡情報を削減してもよい。
データ量削減手段26は、分類された個々のグループのセンサデータの量が、それぞれ対応する動線検出部3で処理可能な量になったならば、各グループのセンサデータを、グループ毎にそれぞれ別々の動線検出部3に出力する。
第3の実施形態において、データ保持部21、分割ルール適用手段22、データ分散手段23およびデータ量削減手段26は、例えば、記憶装置を備え、動線検出処理データ分散プログラムに従って動作するコンピュータのCPUによって実現される。また、データ保持部21、分割ルール適用手段22、データ分散手段23およびデータ量削減手段26がそれぞれ別々のハードウェアで実現されていてもよい。
図19および図20は、第3の実施形態における処理経過の例を示すフローチャートである。第1の実施形態における動作と同様の動作に関しては、図6と同一の符号を付し、説明を省略する。以下の説明では、説明を簡単にするために、センサデータの量や、動線検出部で処理可能なセンサデータの量を、センサデータの数で表すことにする。
ステップS1〜S6までの動作は、第1の実施形態におけるステップS1〜S6までの動作と同様である。ステップS6の後、相関グラフ分割手段224は、その時点で得られているグラフに関して、グラフ分割の終了条件を満たしているか否かを判定する(ステップS71)。ステップS71では、得られているグラフに関して、グラフ分割の第1の終了条件を満たしているか、あるいは、グラフ分割の第2の終了条件を満たしているかを判定し、少なくともいずれか一方を満たしている場合には、そのグラフに関してグラフ分割を終了する。ここで、第1の終了条件は、例えば、1つのグラフ内に含まれる各ノード(換言すれば、単位エリア)から検出された軌跡情報の数の合計が閾値以下になったという条件であるが、この条件以外の条件であってもよい。また、第2の条件は、グラフが、他のノードとリンクで接続されていない1つのノードのみ含むグラフに該当するという条件である。
第1の条件と第2の条件のいずれも満足しないグラフが存在する場合には、相関グラフ分割手段224は、そのグラフから、相関度が最も低いリンクを削除し(ステップS8)、ステップS71に戻る。ステップS71,S8では、第1の実施形態におけるステップS7,S8と同様に、終了条件が満たされるまで繰り返し処理を行う。
グラフ分割の終了条件が満たされると(ステップS71におけるYes)、分割領域決定手段225は、分割された個々のグラフに基づいて、追跡エリア50(図1参照)を、分割されたグラフに対応する分割領域に分割する(ステップS9)。この処理は、第1の実施形態におけるステップS9の処理と同様である。
続いて、データ分散手段23は、分割領域決定手段225によって決定された分割領域に基づいて、ステップS2で更新されたセンサデータ(現時刻から過去一定時間前までの軌跡情報および移動体ID情報)を分類する(ステップS11)。ただし、第3の実施形態では、データ分散手段23は、分割領域毎に分類したセンサデータのグループを、それぞれ、データ量削減手段26に入力する。
データ量削減手段26は、分割領域毎に分類されたセンサデータのグループ毎に、グループに属するセンサデータの数が、そのグループのセンサデータが入力される予定の動線検出部3で処理可能な量(数)であるか否かを判定する。そして、全てのグループに関して、対応する動線検出部3で処理可能な量(数)であったか否かを判定する(ステップS12)。
いずれかのグループにおいて、センサデータの数が、対応する動線検出部3で処理可能な量を超えている場合(ステップS12におけるNo)、データ量削減手段26は、そのグループのセンサデータから、検出時刻の最も古いセンサデータを削除し(ステップS13)、ステップS12に戻る。
なお、この場合、ステップS12,S13を繰り返すことにより、センサデータの数が対応する動線検出部3で処理可能な量を超えているグループに関して、検出時刻の古い順にセンサデータを削除していくことになるが、ステップS13では、削除するセンサデータを他の基準で決定してもよい。
分割領域毎に分類されたセンサデータの各グループに関して、センサデータの数が、対応する動線検出部3で処理可能な量になったならば(ステップS12におけるYes)、データ量削減手段26は、各グループのセンサデータを、グループ毎にそれぞれ対応する動線検出部3に出力する(ステップS14)。
センサデータが入力された各動線検出部3は、そのセンサデータを用いて動線検出処理を行う。
本実施形態によれば、センサデータが追跡領域50(図1参照)内の一部の領域で偏って検出される場合でも、分割領域に基づいて分類されたセンサデータの各グループに関して、そのグループが入力される予定の動線検出部3で処理可能なセンサデータ量を超えている場合には、センサデータを削減する。従って、動線検出部3における動線検出処理の負荷の増加を防止することができる。
また、前述の第2の実施形態に、第3の実施形態を適用してもよい。
次に、本発明の最小構成について説明する。図21は、本発明の最小構成の例を示す説明図である。本発明の動線検出処理データ分散システムは、データ記憶手段91と、領域処理手段92と、データ分散手段93とを備える。
データ記憶手段91(例えば、データ保持手段21)は、移動体が移動する所定領域(例えば、追跡領域50)で検出された移動体に関するデータであるセンサデータのうち、最新のセンサデータの入力時から過去一定時間分のセンサデータを記憶する。
領域処理手段92(例えば、分割ルール適用手段22,22b)は、所定領域を分割した分割領域を決定する際に分割領域の構成単位として用いられる単位エリアの組合せであって、互いに異なる2つの単位エリアを組み合わせた各組合せに対して、同一の移動体に関するセンサデータが検出されている度合いを示す相関度を算出し、算出した相関度に基づいて、所定領域を分割した分割領域を決定する。
データ分散手段93(例えば、データ分散手段23,23b)は、データ記憶手段91に記憶されたセンサデータを、どの分割領域で検出されたかによって分類し、分類したセンサデータを、それぞれ別々の動線検出処理部に出力する。
以上のような構成により、動線検出を分散処理で実現するときに、動線検出を精度よく行えるように、移動体から検出されたデータを分散させることができる。
また、領域処理手段92によって決定された分割領域を表す情報と、当該分割領域を決定する処理を行った時刻とを記憶する分割領域記憶手段(例えば、分割領域記憶部25)と、前回、分割領域を決定する処理を行った時刻から所定時間以上経過したことを条件に、領域処理手段92に対して、分割領域を再度決定することを命令する分割領域決定制御手段(例えば、分割領域決定制御手段24)とを備え、領域処理手段92が、分割領域決定制御手段の命令に従って分割領域を決定し、決定した分割領域を表す情報と、当該分割領域を決定する処理を行った時刻とを分割領域記憶手段に記憶させる構成であってもよい。
領域処理手段92が、センサデータとして移動体のIDを検出する移動体ID検出装置(例えば、移動体ID情報検出装置)の配置位置を示す情報と、移動体が移動する所定領域の範囲を示す情報とを記憶する環境情報記憶手段(例えば、環境情報記憶部226)と、移動体ID検出装置の配置位置を示す情報と、所定領域の範囲を示す情報とに基づいて、1つの単位エリアに少なくとも1つの移動体ID検出装置が存在するという条件を満たすようにして単位エリアを決定する単位エリア決定手段(例えば、単位エリア決定手段221)と、互いに異なる2つの単位エリアを組み合わせた各組合せに対して相関度を算出する相関度算出手段(例えば、相関度算出手段222)と、単位エリアをノードとして、互いに異なるノード同士をリンクで結び、各リンクに対して、リンクの両端のノードが表す単位エリアの組合せに対して算出された相関度を付与したグラフを作成するグラフ作成手段(例えば、相関グラフ作成手段223)と、所定のグラフ分割終了条件が満たされるまで、グラフ作成手段に作成されたグラフ内のリンクを相関度の小さい順に削除することによって、グラフ作成手段に作成されたグラフを分割するグラフ分割手段(例えば、相関グラフ分割手段224)と、グラフ作成手段に作成されたグラフから分割された個々のグラフに基づいて、所定領域を分割した分割領域を決定する分割領域決定手段(例えば、分割領域決定手段225)とを含む構成であってもよい。
また、領域処理手段92が、予め定められた各単位領域を示す情報を記憶する環境情報記憶手段(例えば、環境情報記憶部226)と、互いに異なる2つの単位エリアを組み合わせた各組合せに対して相関度を算出する相関度算出手段(例えば、相関度算出手段222)と、単位エリアをノードとして、互いに異なるノード同士をリンクで結び、各リンクに対して、リンクの両端のノードが表す単位エリアの組合せに対して算出された相関度を付与したグラフを作成するグラフ作成手段(例えば、相関グラフ作成手段223)と、所定のグラフ分割終了条件が満たされるまで、グラフ作成手段に作成されたグラフ内のリンクを相関度の小さい順に削除することによって、グラフ作成手段に作成されたグラフを分割するグラフ分割手段(例えば、相関グラフ分割手段224)と、グラフ作成手段に作成されたグラフから分割された個々のグラフに基づいて、所定領域を分割した分割領域を決定する分割領域決定手段(例えば、分割領域決定手段225)とを含む構成であってもよい。
また、データ分散手段93によって分類されたセンサデータのグループのうち、センサデータの量が、当該センサデータの出力先の動線検出処理部で処理可能な量を超えているグループに関して、センサデータを削減するデータ量削減手段(例えば、データ量削減手段26)を備える構成であってもよい。
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)移動体が移動する所定領域で検出された移動体に関するデータであるセンサデータのうち、最新のセンサデータの入力時から過去一定時間分のセンサデータを記憶するデータ記憶部と、前記所定領域を分割した分割領域を決定する際に分割領域の構成単位として用いられる単位エリアの組合せであって、互いに異なる2つの単位エリアを組み合わせた各組合せに対して、同一の移動体に関するセンサデータが検出されている度合いを示す相関度を算出し、算出した相関度に基づいて、前記所定領域を分割した分割領域を決定する領域処理部と、データ記憶部に記憶されたセンサデータを、どの分割領域で検出されたかによって分類し、分類したセンサデータを、それぞれ別々の動線検出処理部に出力するデータ分散部とを備えることを特徴とする動線検出処理データ分散システム。
(付記2)領域処理部によって決定された分割領域を表す情報と、当該分割領域を決定する処理を行った時刻とを記憶する分割領域記憶部と、前回、分割領域を決定する処理を行った時刻から所定時間以上経過したことを条件に、領域処理部に対して、分割領域を再度決定することを命令する分割領域決定制御部とを備え、領域処理部は、分割領域決定制御部の命令に従って分割領域を決定し、決定した分割領域を表す情報と、当該分割領域を決定する処理を行った時刻とを分割領域記憶部に記憶させる付記1に記載の動線検出処理データ分散システム。
(付記3)領域処理部は、センサデータとして移動体のIDを検出する移動体ID検出装置の配置位置を示す情報と、移動体が移動する所定領域の範囲を示す情報とを記憶する環境情報記憶部と、前記移動体ID検出装置の配置位置を示す情報と、前記所定領域の範囲を示す情報とに基づいて、1つの単位エリアに少なくとも1つの移動体ID検出装置が存在するという条件を満たすようにして単位エリアを決定する単位エリア決定部と、互いに異なる2つの単位エリアを組み合わせた各組合せに対して相関度を算出する相関度算出部と、単位エリアをノードとして、互いに異なるノード同士をリンクで結び、各リンクに対して、リンクの両端のノードが表す単位エリアの組合せに対して算出された相関度を付与したグラフを作成するグラフ作成部と、所定のグラフ分割終了条件が満たされるまで、グラフ作成部に作成されたグラフ内のリンクを相関度の小さい順に削除することによって、グラフ作成部に作成されたグラフを分割するグラフ分割部と、グラフ作成部に作成されたグラフから分割された個々のグラフに基づいて、前記所定領域を分割した分割領域を決定する分割領域決定部とを含む付記1または付記2に記載の動線検出処理データ分散システム。
(付記4)領域処理部は、予め定められた各単位領域を示す情報を記憶する環境情報記憶部と、互いに異なる2つの単位エリアを組み合わせた各組合せに対して相関度を算出する相関度算出部と、単位エリアをノードとして、互いに異なるノード同士をリンクで結び、各リンクに対して、リンクの両端のノードが表す単位エリアの組合せに対して算出された相関度を付与したグラフを作成するグラフ作成部と、所定のグラフ分割終了条件が満たされるまで、グラフ作成部に作成されたグラフ内のリンクを相関度の小さい順に削除することによって、グラフ作成部に作成されたグラフを分割するグラフ分割部と、グラフ作成部に作成されたグラフから分割された個々のグラフに基づいて、前記所定領域を分割した分割領域を決定する分割領域決定部とを含む付記1または付記2に記載の動線検出処理データ分散システム。
(付記5)データ分散部によって分類されたセンサデータのグループのうち、センサデータの量が、当該センサデータの出力先の動線検出処理部で処理可能な量を超えているグループに関して、センサデータを削減するデータ量削減部を備える付記1から付記4のうちのいずれかに記載の動線検出処理データ分散システム。
この出願は、2011年1月20日に出願された日本特許出願2011−009836を基礎とする優先権を主張し、その開示の全てをここに取り込む。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
産業上の利用の可能性
本発明は、動線検出処理を複数の計算機で並列分散処理させる場合に、動線検出処理に用いるデータを各計算機に分散させる動線検出処理データ分散システムに好適に適用される。