[実施の形態1]
図1に、監視システムの適用例を示す。カメラ105は、赤外線によって室内を撮影する。撮影された動画のフレーム画像には、室内にいる人物101a乃至cが写っている。
図示したように、人物101a乃至cは、それぞれ携帯型の端末103a乃至cを1台ずつ保持している。端末103a乃至cは、慣性センサ(例えば加速度センサ又は地磁気センサ)を有している。端末103a乃至cは、端末103を識別するID(端末ID)と慣性センサで計測した慣性データとを含む無線信号を発信する。アクセスポイント107は、端末103a乃至cから送られる無線信号を受信する。
図2に、監視システムの構成例を示す。人物イベント装置201は、カメラ105に接続している。人物イベント装置201は、カメラ105によって撮影されたフレーム画像に基づいて、室内における人物101a乃至cの各位置を特定する。人物イベント装置201は、時間の経過と共に人物101の位置を追跡する。このようにして得られる人物の軌跡を動線ということもある。
そして、人物イベント装置201は、人物101が移動状態であるか停止状態であるかを判別する。人物イベント装置201は、移動状態から停止状態へ切り替わった時点で、「停止開始」のイベントを監視装置205へ送る。また、人物イベント装置201は、停止状態から移動状態へ切り替わった時点で、「移動開始」のイベントを監視装置205へ送る。人物イベント装置201において、一連のフレーム画像に基づいて人物101に関するイベントを生成する方法は、従来技術であってもよい。
監視装置205は、人物イベント装置201から送られる人物101に関するイベントを受信する。人物101に関するイベントには、人物101を識別するID(人物ID)が付されている。人物イベント装置201は、人物101に関するイベントに当該イベントに関する信頼の程度を示す値を付するようにしてもよい。
端末イベント装置203は、アクセスポイント107に接続している。端末イベント装置203は、アクセスポイント107から、端末103が発信した無線信号に含まれる端末IDと慣性データを受信する。端末イベント装置203は、慣性データに基づいて、発信元の端末103が移動状態であるか停止状態であるかを判定する。そして、端末イベント装置203は、移動状態から停止状態へ切り替わった時点で、「停止開始」のイベントを監視装置205へ送る。また、端末イベント装置203は、停止状態から移動状態へ切り替わった時点で、「移動開始」のイベントを監視装置205へ送る。端末イベント装置203において、慣性データに基づいて端末103に関するイベントを生成する方法は、従来技術であってもよい。
監視装置205は、端末イベント装置203から送られる端末103に関するイベントを受信する。端末103に関するイベントには、端末103を識別するID(端末ID)が付されている。端末イベント装置203は、端末103に関するイベントに当該イベントに関する信頼の程度を示す値を付するようにしてもよい。
監視装置205は、受信した人物101に関するイベントを、自ら保持する人物イベントテーブルに格納する。図3に、人物イベントテーブルの例を示す。この例における人物イベントテーブルは、人物101に関するイベントに対応するレコードを有している。人物イベントテーブルのレコードは、日付時刻が格納されるフィールドと、人物IDが格納されるフィールドと、人物101に関するイベントが格納されるフィールドとを有している。
日付時刻は、人物101に関するイベントを受信した時点、つまり当該イベントが発生した時点を特定する。人物IDは、追跡対象の人物101を識別する。人物101に関するイベントのフィールドには、実イベントである「停止開始」又は「移動開始」が格納される。また、後述する実施例では、実イベントの他に、擬似イベントである「停止中」又は「移動中」も格納される。擬似イベントについては、後述する。
また、監視装置205は、受信した端末103に関するイベントを、自ら保持する端末イベントテーブルに格納する。図4に、端末イベントテーブルの例を示す。この例における端末イベントテーブルは、端末103に関するイベントに対応するレコードを有している。端末イベントテーブルのレコードは、日付時刻が格納されるフィールドと、端末IDが格納されるフィールドと、端末103に関するイベントが格納されるフィールドとを有している。
日付時刻は、端末103に関するイベントを受信した時点、つまり当該イベントが発生した時点を特定する。端末IDは、アクセスポイント107によって検出された端末103を識別する。端末103に関するイベントのフィールドには、実イベントである「停止開始」又は「移動開始」が格納される。後述する実施例では、実イベントの他に、擬似イベントである「停止中」又は「移動中」も格納される。
上述した人物イベントテーブルにおける人物IDと、端末イベントテーブルにおける端末IDとの対応は不明である。監視装置205は、人物101に関するイベントと端末103に関するイベントとに基づいて、人物IDと端末IDとの紐付けを行う。
各人物101がそれぞれ異なる端末103を1台ずつ保持していることを前提とすれば、人物IDと端末IDとを漏れなく組み合わせるパターンは、限定される。図5に、監視装置205によって生成されるパターンテーブルの例を示す。人物IDの数及び端末IDの数が共に3である場合には、人物IDと端末IDとの組合せの数が3である。また、人物IDと端末IDとを重複無く組み合わせるパターンの数は、6である。
この例におけるパターンテーブルは、パターンに対応するレコードを有している。パターンテーブルのレコードは、パターンIDが格納されるフィールドと、第1組合せに係る人物IDと端末IDとが格納されるフィールドと、第2組合せに係る人物IDと端末IDとが格納されるフィールドと、第3組合せに係る人物IDと端末IDとが格納されるフィールドとを有している。
監視装置205は、正しい紐付けを行うために各パターンについて尤度を算出する。パターンの尤度(以下、パターン尤度という。)は、パターンの各組合せについての尤度の合計である。図6に、パターン尤度を集計するためのパターン尤度テーブルの例を示す。
この例におけるパターン尤度テーブルは、パターンに対応するレコードを有している。パターン尤度テーブルのレコードは、パターンIDが格納されるフィールドと、第1組合せの尤度が格納されるフィールドと、第2組合せの尤度が格納されるフィールドと、第3組合せの尤度が格納されるフィールドと、パターン尤度が格納されるフィールドとを有している。
最大のパターン尤度が閾値を超えている場合に、監視装置205は、当該パターン尤度を有するパターンの各組合せによって、人物IDと端末IDとの紐付けを行う。
図7に、紐付けの結果として生成される紐付けテーブルの例を示す。この例における紐付けテーブルは、人物IDと端末IDとの組に対応するレコードを有している。紐付けテーブルのレコードは、人物IDが格納されるフィールドと、端末IDが格納されるフィールドとを有している。同じレコードに格納されている人物IDと端末IDとが紐付けられていることを示している。図7は、パターンID:P1に係るパターン尤度:R1が最大であって、閾値を超えていた場合の例を示している。
図6に示した人物IDと端末IDとの組合せに関する尤度は、同じ時期に発生した人物101に関するイベントと端末103に関するイベントとに基づいて算出される。
図8に、実イベントの発生タイミングを示す。この例では、人物ID:H1で特定される人物101が、端末ID:M1で特定される端末103を保持することを想定する。当該人物101が立ち止まった場合、つまり移動状態から停止状態に移った場合に、監視装置205は、近いタイミングで人物ID:H1を含む「停止開始」のイベントと端末ID:M1を含む「停止開始」のイベントとを受信する。この事象が生じたときに、人物ID:H1と端末ID:M1との組合せに係る尤度が高まるようにする。
また、当該人物101が歩き始めた場合、つまり停止状態から移動状態に移った場合に、監視装置205は、近いタイミングで、人物ID:H1を含む「移動開始」のイベントと端末ID:M1を含む「移動開始」のイベントとを受信する。この事象が生じたときに、人物ID:H1と端末ID:M1との組合せに係る尤度が高まるようにする。
この例における監視装置205は、同じ時間長を有する複数の期間を連続して設定し、同じ期間内に生じたイベントの組に基づいて、当該組で特定される人物IDと端末IDとの組合せに係る尤度を更新する。図8に示した例で、まず期間T1が経過した時点で、人物ID:H1と端末ID:M1との組合せに係る尤度が更新され、その後、期間T5が経過した時点で、当該尤度が更に更新される。実イベントが発生したタイミングに限って尤度の更新を行うようにした場合には、実イベントが発生しない期間(この例では、T2乃至T4)において、当該組合せに係る尤度が更新されない。
上述した通り、いずれかの組合せに係る尤度が更新されたタイミングで、紐付けも更新されるので、図8に示した例では紐付けの更新機会が疎らになりやすい。その結果、紐付けが行われるタイミングが遅れやすくなるという問題がある。
尚、各組合せに係る尤度は、監視装置205で保持する組合せ尤度テーブルに格納される。図9に、組合せ尤度テーブルの例を示す。この例における組合せ尤度テーブルは、人物IDに対応するレコードを有している。組合せ尤度テーブルのレコードは、端末(M1)との組合せの尤度が格納されるフィールドと、端末(M2)との組合せの尤度が格納されるフィールドと、端末(M3)との組合せの尤度が格納されるフィールドとを有している。
組合せ尤度テーブルに格納される各組合せに係る尤度は、当該組合せにおける停止状態スコア及び移動状態スコアに基づいて算出される。
停止状態スコアは、当該組合せに係る人物101の静止状態と同じく端末103の静止状態との関連を示す値である。つまり、停止状態スコアが大きければ、人物101の静止状態と端末103の静止状態との同期の程度が高いことを意味する。各組合せにおける停止状態スコアは、監視装置205で保持する第1スコアテーブルに格納される。
図10に、第1スコアテーブルの例を示す。この例における第1スコアテーブルは、人物IDに対応するレコードを有している。第1スコアテーブルのレコードは、端末(M1)との組合せにおける停止状態スコアが格納されるフィールドと、端末(M2)との組合せにおける停止状態スコアが格納されるフィールドと、端末(M3)との組合せにおける停止状態スコアが格納されるフィールドとを有している。
一方、移動状態スコアは、当該組合せに係る人物101の移動状態と同じく端末103の移動状態との関連を示す値である。つまり、移動状態スコアが大きければ、人物101の移動状態と端末103の移動状態との同期の程度が高いことを意味する。各組合せにおける移動状態スコアは、監視装置205で保持する第2スコアテーブルに格納される。
図11に、第2スコアテーブルの例を示す。この例における第2スコアテーブルは、人物IDに対応するレコードを有している。第2スコアテーブルのレコードは、端末(M1)との組合せにおける移動状態スコアが格納されるフィールドと、端末(M2)との組合せにおける移動状態スコアが格納されるフィールドと、端末(M3)との組合せにおける移動状態スコアが格納されるフィールドとを有している。
上述した組合せに係る尤度、組合せにおける停止状態スコア及び移動状態スコアの算出方法については、後に詳述する。
ここで、パターン尤度の変化について説明する。図12に、パターン尤度の変化例を示す。t1乃至t5は、パターン尤度が更新されるタイミングを示している。図12に示すように、パターン尤度は、段階的に増加を繰り返して、累積の結果として閾値を超えるようになる。従って、組合せの尤度に関する更新を或る程度繰り返さなければ、紐付けが行われない。
しかし、図8に示したように「停止開始」及び「移動開始」による実イベントだけに基づけば、組合せの尤度に関する更新の頻度が低い。従って、紐付けの結果が得られるまでに時間がかかる。
本実施の形態では、図13に示すように、監視装置205が擬似イベントを発生させるようにする。「停止開始」の実イベントを受信した場合には、監視装置205は、その後一定間隔で「停止中」の擬似イベントを内部的に発生させる。また、「移動開始」の実イベントを受信した場合には、監視装置205は、その後一定間隔で「移動中」の擬似イベントを内部的に発生させる。
このようにすれば、イベントの発生頻度が高まるので、各組合せに係る尤度の算出機会が増える。その結果、パターン尤度の増加に関する累積速度が高くなる。従って、比較的早い段階で、紐付けの結果が得られるようになる。以上で本実施の形態における概要の説明を終える。
以下、監視装置205の動作について説明する。図14に、監視装置205のモジュール構成例を示す。監視装置205は、受信部1401、送信部1403、第1受付部1405、第1生成部1407、第2受付部1409、第2生成部1411、算出部1413、紐付け部1415及び出力部1417を有する。
受信部1401は、人物イベント装置201及び端末イベント装置203から実イベントを受信する。送信部1403は、人物イベント装置201、端末イベント装置203或いは他のサーバ装置宛に、紐付けテーブルを送信する。第1受付部1405は、人物101に関する実イベントを受け付ける。第1生成部1407は、人物101に関する擬似イベントを生成する。第2受付部1409は、端末103に関する実イベントを受け付ける。第2生成部1411は、端末103に関する擬似イベントを生成する。算出部1413は、周期的に組合せ尤度算出処理を実行する。組合せ尤度算出処理については、図19を用いて後述する。紐付け部1415は、紐付け処理を実行する。紐付け処理については、図34を用いて後述する。出力部1417は、紐付けテーブルを出力する。
監視装置205は、更に人物イベント記憶部1431、端末イベント記憶部1433、パターン記憶部1435、パターン尤度記憶部1437、紐付け記憶部1439、組合せ尤度記憶部1441、第1スコア記憶部1443、第2スコア記憶部1445及び確率記憶部1447を有する。
人物イベント記憶部1431は、図3を用いて説明した人物イベントテーブルを記憶する。端末イベント記憶部1433は、図4を用いて説明した端末イベントテーブルを記憶する。パターン記憶部1435は、図5を用いて説明したパターンテーブルを記憶する。パターン尤度記憶部1437は、図6を用いて説明したパターン尤度テーブルを記憶する。紐付け記憶部1439は、図7を用いて説明した紐付けテーブルを記憶する。組合せ尤度記憶部1441は、図9を用いて説明した組合せ尤度テーブルを記憶する。第1スコア記憶部1443は、図10を用いて説明した第1スコアテーブルを記憶する。第2スコア記憶部1445は、図11を用いて説明した第2スコアテーブルを記憶する。確率記憶部1447は、基礎確率テーブル、第1確率テーブル乃至第8確率テーブルを記憶する。基礎確率テーブル、第1確率テーブル乃至第8確率テーブルについては、後述する。
上述した受信部1401、送信部1403、第1受付部1405、第1生成部1407、第2受付部1409、第2生成部1411、算出部1413、紐付け部1415及び出力部1417は、ハードウエア資源(例えば、図42)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述した人物イベント記憶部1431、端末イベント記憶部1433、パターン記憶部1435、パターン尤度記憶部1437、紐付け記憶部1439、組合せ尤度記憶部1441、第1スコア記憶部1443、第2スコア記憶部1445及び確率記憶部1447は、ハードウエア資源(例えば、図42)を用いて実現される。
監視装置205における処理の説明に移る。まず、第1ルーチン処理について説明する。第1ルーチン処理は、人物101に関するイベント及び端末103に関するイベントを蓄えるための処理である。第1ルーチン処理は、後述する人物イベント処理、同じく端末イベント処理及び第2ルーチン処理と並行に実行される。
図15に、第1ルーチン処理フローを示す。第1受付部1405は、受信部1401において、新しい人物101に関する実イベントを受信したか否かを判定する(S1501)。人物101に関する実イベントに未知の人物IDが付加されている場合に、第1受付部1405は、新しい人物101に関する実イベントであると判定する。
新しい人物101に関する実イベントを受信していないと判定した場合には、S1505に示した処理に移る。一方、新しい人物101に関する実イベントを受信したと判定した場合には、第1受付部1405は、人物イベント処理を起動する(S1503)。人物イベント処理は、当該人物IDに関するイベントの処理を行う。人物イベント処理は、第1ルーチン処理、後述する第2ルーチン処理、他の人物IDに係る人物イベント処理及び端末イベント処理と並行に実行される。従って、人物イベント処理を起動した後、当該人物イベント処理の終了を待たずに、S1505の処理に移る。
図16に、人物イベント処理(A)フローを示す。第1受付部1405は、人物イベントテーブルに新しいレコードを設ける(S1601)。第1受付部1405は、新しいレコードに、当日日付と現在時刻、人物ID及び実イベントを格納する(S1603)。
第1生成部1407は、経過時間の計測を開始する(S1605)。経過時間は、擬似イベントを発生させるタイミングを特定するために用いられる。既に、経過時間の計測を行っている場合には、改めて経過時間の計測を開始する。
第1受付部1405は、受信部1401において、当該人物IDに関する実イベントを受信したか否かを判定する(S1607)。当該人物IDに関する実イベントを受信したと判定した場合には、S1601に示した処理に戻って、上述した処理を繰り返す。
一方、当該人物IDに関する実イベントを受信していないと判定した場合には、第1生成部1407は、経過時間が閾値を超えたか否かを判定する(S1609)。閾値は、擬似イベントを発生させる間隔に相当する。経過時間が閾値を超えていないと判定した場合には、S1607に示した処理に戻って、上述した処理を繰り返す。
一方、経過時間が閾値を超えたと判定した場合には、第1生成部1407は、直近の実イベントに従って、擬似イベントを決定する(S1611)。直近の実イベントが「移動開始」である場合には、擬似イベントは「移動中」である。直近の実イベントが「停止開始」である場合には、擬似イベントは「停止中」である。
第1生成部1407は、人物イベントテーブルに新しいレコードを設ける(S1613)。そして、第1生成部1407は、当日日付と現在時刻、人物ID及び擬似イベントを格納する(S1615)。
第1生成部1407は、経過時間の計測を開始する(S1617)。既に、経過時間の計測を行っている場合には、改めて経過時間の計測を開始する。そして、S1607に示した処理に戻って、上述した処理を繰り返す。
図15の説明に戻る。第2受付部1409は、受信部1401において、新しい端末103に関する実イベントを受信したか否かを判定する(S1505)。端末103に関する実イベントに、未知の端末IDが付加されている場合に、第2受付部1409は、新しい端末103に関する実イベントであると判定する。
新しい端末103に関する実イベントを受信していないと判定した場合には、S1501に示した処理に戻って、上述した処理を繰り返す。一方、新しい端末103に関する実イベントを受信したと判定した場合には、第2受付部1409は、端末イベント処理を起動する(S1507)。端末イベント処理は、第1ルーチン処理、後述する第2ルーチン処理、人物イベント処理及び他の端末IDに係る端末イベント処理と並行に実行される。従って、端末イベント処理を起動した後、当該端末イベント処理の終了を待たずに、S1501に示した処理に戻って、上述した処理を繰り返す。
図17に、端末イベント処理(A)フローを示す。第2受付部1409は、端末イベントテーブルに新しいレコードを設ける(S1701)。第2受付部1409は、当日日付と現在時刻、端末ID及び実イベントを格納する(S1703)。
第2生成部1411は、経過時間の計測を開始する(S1705)。経過時間は、擬似イベントを発生させるタイミングを特定するために用いられる。既に、経過時間の計測を行っている場合には、改めて経過時間の計測を開始する。
そして、第2受付部1409は、受信部1401において、当該端末IDに関する実イベントを受信したか否かを判定する(S1707)。当該端末IDに関する実イベントを受信したと判定した場合には、S1701に示した処理に戻って、上述した処理を繰り返す。
一方、当該端末IDに関する実イベントを受信していないと判定した場合には、第2生成部1411は、経過時間が閾値を超えたか否かを判定する(S1709)。閾値は、上述の通り、擬似イベントを発生させる間隔に相当する。経過時間が閾値を超えていないと判定した場合には、S1707に示した処理に戻って、上述した処理を繰り返す。
一方、経過時間が閾値を超えたと判定した場合には、第2生成部1411は、擬似イベントを決定する(S1711)。上述の通り、直近の実イベントが「移動開始」である場合には、擬似イベントは「移動中」である。同じく、直近の実イベントが「停止開始」である場合には、擬似イベントは「停止中」である。
第2生成部1411は、端末イベントテーブルに新しいレコードを設ける(S1713)。そして、第2生成部1411は、当日日付と現在時刻、端末ID及び擬似イベントを格納する(S1715)。
第2生成部1411は、経過時間の計測を開始する(S1717)。既に、経過時間の計測を行っている場合には、改めて経過時間の計測を開始する。そして、S1707に示した処理に戻って、上述した処理を繰り返す。以上で、第1ルーチン処理とそれに関連する処理の説明を終える。
続いて、第2ルーチン処理について説明する。第2ルーチン処理では、周期的にパターン尤度を算出し、紐付けを行う。第2ルーチン処理は、第1ルーチン処理、人物イベント処理及び端末イベント処理と並行に実行される。
図18に、第2ルーチン処理フローを示す。算出部1413は、新しい期間の経過を待つ(S1801)。期間は、所定長の周期である。新しい期間の終了時点に至ると、算出部1413は、当該期間に含まれる、人物101に関するイベントを特定する(S1803)。更に、算出部1413は、当該期間に含まれる、端末103に関するイベントを特定する(S1805)。
算出部1413は、S1803で特定した人物101に関するイベントとS1805で特定した端末103に関するイベントとの組合せを1つ特定する(S1807)。算出部1413は、当該イベントの組合せに基づいて、組合せ尤度算出処理を実行する(S1809)。算出部1413は、組合せ尤度算出処理において、人物IDと端末IDとの組合せの尤度を算出する。
図19に、組合せ尤度算出処理フローを示す。算出部1413は、人物イベントテーブルのレコードで、人物101に関する当該イベントに対応する人物IDを特定する(S1901)。算出部1413は、端末イベントテーブルのレコードで、端末103に関する当該イベントに対応する端末IDを特定する(S1903)。
算出部1413は、第1スコア算出処理を実行する(S1905)。算出部1413は、第1スコア算出処理において、人物IDと端末IDとの組合せにおける停止状態の継続に関する第1スコアを算出する。第1スコアは、人物IDの人物101と端末IDの端末103とが、同じタイミングで停止状態を継続させる見込みを示す値である。
図20に、第1スコア算出処理フローを示す。算出部1413は、基礎確率テーブルに基づいて、停止状態が継続される基礎確率を特定する(S2001)。基礎確率は、人物の行動傾向を基準として定められた、状態移行に関する確率である。
図21に、基礎確率テーブルの例を示す。この例における基礎確率テーブルは、前回の状態に対応するレコードを有している。前回の状態は、停止状態又は移動状態である。基礎確率テーブルのレコードは、今回の状態が停止状態である基礎確率が格納されるフィールドと、今回の状態が移動状態である基礎確率が格納されるフィールドとを有している。
この例は、前回の判定時点において人物101が停止状態であった場合に、今回の判定時点において当該人物101が再び停止状態である確率、つまり停止状態を継続させる確率が0.5であることを示している。また、前回の判定時点において人物101が停止状態であった場合に、今回の判定時点において当該人物101が移動状態に移る確率が0.5であることを示している。また、前回の判定時点において人物101が移動状態であった場合に、今回の判定時点において当該人物101が停止状態に移る確率が0.5であることを示している。また、前回の判定時点において人物101が移動状態であった場合に、今回の判定時点において当該人物101が再び停止状態である確率、つまり移動状態を継続させる確率が0.5であることを示している。
基礎確率の値は、例えば監視システムが適用される場所や人物の特性に応じて、予め定められているものとする。
図20の説明に戻る。算出部1413は、第1確率テーブルに基づいて、停止状態が継続されるときに、人物101に関する当該イベントが発生する第1確率を特定する(S2003)。
図22に、第1確率テーブルの例を示す。この例における第1確率テーブルは、人物101に関するイベントに対応するレコードを有している。人物101に関するイベントは、「停止中」、「移動中」、「停止開始」及び「移動開始」のいずれかである。
第1確率テーブルのレコードは、停止状態が継続されるときに、人物101に関する当該イベントが発生する第1確率が格納されるフィールドを有している。
この例は、停止状態が継続されるときに、人物101に関するイベントとして「停止中」が発生する確率が0.97であることを示している。また、停止状態が継続されるときに、人物101に関するイベントとして「移動中」が発生する確率が0.01であることを示している。また、停止状態が継続されるときに、人物101に関するイベントとして「停止開始」が発生する確率が0.01であることを示している。また、停止状態が継続されるときに、人物101に関するイベントとして「移動開始」が発生する確率が0.01であることを示している。
図20の説明に戻る。算出部1413は、第2確率テーブルに基づいて、停止状態が継続されるときに、端末103に関する当該イベントが発生する第2確率を特定する(S2005)。
図23に、第2確率テーブルの例を示す。この例における第2確率テーブルは、端末103に関するイベントに対応するレコードを有している。端末103に関するイベントは、「停止中」、「移動中」、「停止開始」及び「移動開始」のいずれかである。
第3確率テーブルのレコードは、停止状態が継続されるときに、端末103に関する当該イベントが発生する第2確率が格納されるフィールドを有している。
この例は、停止状態が継続されるときに、端末103に関するイベントとして「停止中」が発生する確率が0.97であることを示している。また、停止状態が継続されるときに、端末103に関するイベントとして「移動中」が発生する確率が0.01であることを示している。また、停止状態が継続されるときに、端末103に関するイベントとして「停止開始」が発生する確率が0.01であることを示している。また、停止状態が継続されるときに、端末103に関するイベントとして「移動開始」が発生する確率が0.01であることを示している。
図20の説明に戻る。算出部1413は、第1スコアテーブルにおいて、当該人物IDと当該端末IDとの組合せに係る前回の停止状態スコアを特定する(S2007)。そして、算出部1413は、第1スコアを算出する(S2009)。この例における第1スコアは、前回の停止状態スコア、基礎確率、第1確率及び第2確率の積である。そして、第1スコアテーブルにおいて、当該停止状態スコアが更新される。第1スコア算出処理を終えると、呼び出し元の組合せ尤度算出処理に復帰する。
図19の説明に戻る。第1スコア算出処理を終えると、算出部1413は、第2スコア算出処理を実行する(S1907)。算出部1413は、第2スコア算出処理において、人物IDと端末IDとの組合せにおける移動状態から停止状態への遷移に関する第2スコアを算出する。第2スコアは、人物IDの人物101と端末IDの端末103とが、同じタイミングで移動状態から停止状態へ遷移する見込みを示す値である。
図24に、第2スコア算出処理フローを示す。算出部1413は、基礎確率テーブルに基づいて、移動状態から停止状態へ遷移する基礎確率を特定する(S2401)。
算出部1413は、第3確率テーブルに基づいて、移動状態から停止状態へ遷移するときに、人物101に関する当該イベントが発生する第3確率を特定する(S2403)。
図25に、第3確率テーブルの例を示す。この例における第3確率テーブルは、人物101に関するイベントに対応するレコードを有している。
第3確率テーブルのレコードは、移動状態から停止状態へ遷移するときに、人物101に関する当該イベントが発生する第3確率が格納されるフィールドを有している。
この例は、移動状態から停止状態へ遷移するときに、人物101に関するイベントとして「停止中」が発生する確率が0.1であることを示している。また、移動状態から停止状態へ遷移するときに、人物101に関するイベントとして「移動中」が発生する確率が0.1であることを示している。また、移動状態から停止状態へ遷移するときに、人物101に関するイベントとして「停止開始」が発生する確率が0.7であることを示している。また、移動状態から停止状態へ遷移するときに、人物101に関するイベントとして「移動開始」が発生する確率が0.1であることを示している。
図24の説明に戻る。算出部1413は、第4確率テーブルに基づいて、移動状態から停止状態へ遷移するときに、端末103に関する当該イベントが発生する第4確率を特定する(S2405)。
図26に、第4確率テーブルの例を示す。この例における第4確率テーブルは、端末103に関するイベントに対応するレコードを有している。
第4確率テーブルのレコードは、移動状態から停止状態へ遷移するときに、端末103に関する当該イベントが発生する第4確率が格納されるフィールドを有している。
この例は、移動状態から停止状態へ遷移するときに、端末103に関するイベントとして「停止中」が発生する確率が0.1であることを示している。また、移動状態から停止状態へ遷移するときに、端末103に関するイベントとして「移動中」が発生する確率が0.1であることを示している。また、移動状態から停止状態へ遷移するときに、端末103に関するイベントとして「停止開始」が発生する確率が0.7であることを示している。また、移動状態から停止状態へ遷移するときに、端末103に関するイベントとして「移動開始」が発生する確率が0.1であることを示している。
図24の説明に戻る。算出部1413は、第2スコアテーブルにおいて、当該人物IDと当該端末IDとの組合せに係る前回の移動状態スコアを特定する(S2407)。
算出部1413は、第2スコアを算出する(S2409)。この例における第2スコアは、前回の移動状態スコア、基礎確率、第3確率及び第4確率の積である。そして、第2スコアテーブルにおいて、当該移動状態スコアが更新される。第2スコア算出処理を終えると、呼び出し元の組合せ尤度算出処理に復帰する。
図19の説明に戻る。算出部1413は、人物IDと端末IDとの組合せに係る今回の停止状態スコアを算出し、第1スコアテーブルにおける当該停止状態スコアを更新する(S1909)。尚、この例で、今回の停止状態スコアは、第1スコアと第2スコアとの合計である。端子Aを介して、図27に示したS2701の処理に移る。
図27の説明に移る。算出部1413は、第3スコア算出処理を実行する(S2701)。算出部1413は、第3スコア算出処理において、人物IDと端末IDとの組合せにおける移動状態の継続に関する第3スコアを算出する。第3スコアは、人物IDの人物101と端末IDの端末103とが、同じタイミングで移動状態を継続させる見込みを示す値である。
図28に、第3スコア算出処理フローを示す。算出部1413は、基礎確率テーブルに基づいて、移動状態が継続される基礎確率を特定する(S2801)。
算出部1413は、第5確率テーブルに基づいて、移動状態が継続されるときに、人物101に関する当該イベントが発生する第5確率を特定する(S2803)。
図29に、第5確率テーブルの例を示す。この例における第5確率テーブルは、人物101に関するイベントに対応するレコードを有している。
第5確率テーブルのレコードは、移動状態が継続されるときに、人物101に関する当該イベントが発生する第5確率が格納されるフィールドを有している。
この例は、移動状態が継続されるときに、人物101に関するイベントとして「停止中」が発生する確率が0.01であることを示している。また、移動状態が継続されるときに、人物101に関するイベントとして「移動中」が発生する確率が0.97であることを示している。また、移動状態が継続されるときに、人物101に関するイベントとして「停止開始」が発生する確率が0.01であることを示している。また、移動状態が継続されるときに、人物101に関するイベントとして「移動開始」が発生する確率が0.01であることを示している。
図28の説明に戻る。算出部1413は、第6確率テーブルに基づいて、移動状態が継続されるときに、端末103に関する当該イベントが発生する第6確率を特定する(S2805)。
図30に、第6確率テーブルの例を示す。この例における第6確率テーブルは、端末103に関するイベントに対応するレコードを有している。
第6確率テーブルのレコードは、移動状態が継続されるときに、端末103に関する当該イベントが発生する第6確率が格納されるフィールドを有している。
この例は、移動状態が継続されるときに、端末103に関するイベントとして「停止中」が発生する確率が0.01であることを示している。また、移動状態が継続されるときに、端末103に関するイベントとして「移動中」が発生する確率が0.97であることを示している。また、移動状態が継続されるときに、端末103に関するイベントとして「停止開始」が発生する確率が0.01であることを示している。また、移動状態が継続されるときに、端末103に関するイベントとして「移動開始」が発生する確率が0.01であることを示している。
図28の説明に戻る。算出部1413は、第2スコアテーブルにおいて、当該人物IDと当該端末IDとの組合せに係る前回の移動状態スコアを特定する(S2807)。算出部1413は、第3スコアを算出する(S2809)。この例における第3スコアは、前回の移動状態スコア、基礎確率、第5確率及び第6確率の積である。そして、第2スコアテーブルにおいて、当該移動状態スコアが更新される。第3スコア算出処理を終えると、呼び出し元の組合せ尤度算出処理に復帰する。
図27の説明に戻る。第3スコア算出処理を終えると、算出部1413は、第4スコア算出処理を実行する(S2703)。算出部1413は、第4スコア算出処理において、人物IDと端末IDとの組合せにおける停止状態から移動状態への遷移に関する第4スコアを算出する。第4スコアは、人物IDの人物101と端末IDの端末103とが、同じタイミングで停止状態から移動状態へ遷移する見込みを示す値である。
図31に、第4スコア算出処理フローを示す。算出部1413は、基礎確率テーブルに基づいて、停止状態から移動状態へ遷移する基礎確率を特定する(S3101)。
算出部1413は、第7確率テーブルに基づいて、停止状態から移動状態へ遷移するときに、人物101に関する当該イベントが発生する第7確率を特定する(S3103)。
図32に、第7確率テーブルの例を示す。この例における第7確率テーブルは、人物101に関するイベントに対応するレコードを有している。
第7確率テーブルのレコードは、停止状態から移動状態へ遷移するときに、人物101に関する当該イベントが発生する第7確率が格納されるフィールドを有している。
この例は、停止状態から移動状態へ遷移するときに、人物101に関するイベントとして「停止中」が発生する確率が0.1であることを示している。また、停止状態から移動状態へ遷移するときに、人物101に関するイベントとして「移動中」が発生する確率が0.1であることを示している。また、停止状態から移動状態へ遷移するときに、人物101に関するイベントとして「停止開始」が発生する確率が0.1であることを示している。また、停止状態から移動状態へ遷移するときに、人物101に関するイベントとして「移動開始」が発生する確率が0.7であることを示している。
図31の説明に戻る。算出部1413は、第8確率テーブルに基づいて、停止状態から移動状態へ遷移するときに、端末103に関する当該イベントが発生する第8確率を特定する(S3105)。
図33に、第8確率テーブルの例を示す。この例における第8確率テーブルは、端末103に関するイベントに対応するレコードを有している。
第8確率テーブルのレコードは、停止状態から移動状態へ遷移するときに、端末103に関する当該イベントが発生する第8確率が格納されるフィールドを有している。
この例は、停止状態から移動状態へ遷移するときに、端末103に関するイベントとして「停止中」が発生する確率が0.1であることを示している。また、停止状態から移動状態へ遷移するときに、端末103に関するイベントとして「移動中」が発生する確率が0.1であることを示している。また、停止状態から移動状態へ遷移するときに、端末103に関するイベントとして「停止開始」が発生する確率が0.1であることを示している。また、停止状態から移動状態へ遷移するときに、端末103に関するイベントとして「移動開始」が発生する確率が0.7であることを示している。
図31の説明に戻る。算出部1413は、第1スコアテーブルにおいて、当該人物IDと当該端末IDとの組合せに係る前回の停止状態スコアを特定する(S3107)。算出部1413は、第4スコアを算出する(S3109)。この例における第4スコアは、前回の停止状態スコア、基礎確率、第7確率及び第8確率の積である。そして、第1スコアテーブルにおいて、当該停止状態スコアが更新される。第4スコア算出処理を終えると、呼び出し元の組合せ尤度算出処理に復帰する。
図27の説明に戻る。算出部1413は、人物IDと端末IDとの組合せに係る今回の移動状態スコアを算出し、第2スコアテーブルにおける当該移動状態スコアを更新する(S2705)。尚、この例で、今回の移動状態スコアは、第3スコアと第4スコアとの合計である。
算出部1413は、今回の停止状態スコアと今回の移動状態スコアとのうち、大きい方のスコアを選択する(S2707)。算出部1413は、組合せ尤度テーブルにおいて、人物IDと端末IDとの組合せの尤度を更新する(S2709)。この例で、新しい尤度は、S2707で選択された大きい方のスコアである。但し、今回の停止状態スコアと今回の移動状態スコアとの合計を、組合せの尤度としてもよい。組合せ尤度算出処理を終えると、呼び出し元の第2ルーチン処理に復帰する。
図18の説明に戻る。組合せ尤度算出処理を終えると、算出部1413は、未特定の組合せがあるか否かを判定する(S1811)。未特定の組合せがあると判定した場合には、S1807に示した処理に戻って、上述した処理を繰り返す。
一方、未特定の組合せがないと判定した場合には、紐付け部1415は、紐付け処理を実行する(S1813)。紐付け部1415は、紐付け処理において、更新された組合せ尤度テーブルに基づいて、人物IDと端末IDとの紐付けを更新する。
図34に、紐付け処理フロー例を示す。紐付け部1415は、人物IDと端末IDとの組合せに係るパターンを1つ特定する(S3401)。具体的には、紐付け部1415は、上述したパターンテーブルを生成し、当該パターンテーブルにおけるレコードを順次処理対象とする。
紐付け部1415は、組合せ尤度テーブルに基づいて、当該パターンにおける各組合せの尤度を特定する(S3403)。そして、紐付け部1415は、パターン尤度を算出する(S3405)。上述した通り、パターン尤度は、当該パターンにおける各組合せの尤度の合計である。
紐付け部1415は、未特定のパターンがあるか否かを判定する(S3407)。未特定のパターンがあると判定した場合には、S3401に示した処理に戻って、上述した処理を繰り返す。
一方、未特定のパターンがないと判定した場合には、紐付け部1415は、各組合せにおけるパターン尤度のうち、最大のパターン尤度を特定する(S3409)。そして、紐付け部1415は、最大のパターン尤度が閾値を超えているか否かを判定する(S3411)。
最大のパターン尤度が閾値を超えていないと判定した場合には、紐付けを更新せずに、そのまま紐付け処理を終える。つまり、現在の紐付けテーブルが維持される。
一方、最大のパターン尤度が閾値を超えていると判定した場合には、紐付け部1415は、最大のパターン尤度を有するパターンに係る各組合せによって、人物IDと端末IDとの紐付けを特定する(S3413)。具体的には、各組合せに係る人物IDと端末IDとを紐付けた紐付けテーブルが生成される。紐付け処理を終えると、呼び出し元の第2ルーチン処理に復帰する。
図18の説明に戻る。紐付け処理を終えると、出力部1417は、紐付けテーブルを出力する(S1815)。出力部1417は、例えば送信部1403を介して紐付けテーブルを人物イベント装置201、端末イベント装置203或いはその他のサーバ装置へ送信する。但し、S1815の処理を省くようにしてもよい。そして、S3905に示した処理に戻って、上述した処理を繰り返す。
本実施の形態によれば、実イベントの伝送だけで、人物101と端末103とに関して対応関係をより早く判別できる。
[実施の形態2]
本実施の形態では、実イベントを受け付けた後の一定期間に限って、擬似イベントの生成を繰り返す例について説明する。
実イベントが誤りであれば、擬似イベントも誤りとなる。従って、実イベントが誤りである率が比較的高い人物イベント装置201及び端末イベント装置203を用いる場合には、実イベントが誤りである場合を考慮して、尤度の精度が低くならないようにする。
具体的には、図35の破線枠に示した、実イベントを受け付けた後の一定期間を経過した後は、擬似イベントが生成されないようにする。このようにすれば、擬似イベントに基づく尤度の算出機会を制限できるので、誤りである実イベントによる悪影響の拡大を防げる。
本実施の形態では、人物イベント処理(A)に代えて、人物イベント処理(B)を実行する。図36Aに、人物イベント処理(B)フローを示す。S1601及びS1603の処理は、図16の場合と同様である。
第1生成部1407は、第1経過時間の計測を開始する(S3601)。第1経過時間は、擬似イベントを発生させるタイミングを特定するために用いられる。既に、第1経過時間の計測を行っている場合には、改めて第1経過時間の計測を開始する。更に、第1生成部1407は、第2経過時間の計測を開始する(S3603)。第2経過時間は、擬似イベントの発生を終わらせるタイミングを特定するために用いられる。既に、第2経過時間の計測を行っている場合には、改めて第2経過時間の計測を開始する。
第1受付部1405は、受信部1401において、当該人物IDに関する実イベントを受信したか否かを判定する(S3605)。当該人物IDに関する実イベントを受信したと判定した場合には、S1601に示した処理に戻って、上述した処理を繰り返す。
一方、当該人物IDに関する実イベントを受信していないと判定した場合には、第1生成部1407は、第2経過時間が閾値を超えたか否かを判定する(S3607)。第2経過時間が閾値を超えたと判定した場合には、擬似イベントを発生させないので、S3605に示した処理に戻って、上述した処理を繰り返す。
一方、第2経過時間が閾値を超えていないと判定した場合には、第1生成部1407は、第1経過時間が閾値を超えたか否かを判定する(S3609)。第1経過時間が閾値を超えていないと判定した場合には、擬似イベントを発生させるタイミングに至っていないので、S3605に示した処理に戻って、上述した処理を繰り返す。
一方、第1経過時間が閾値を超えたと判定した場合には、端子Bを介して、図36Bに示したS1611の処理に移る。
図36Bに示したS1611乃至S1615の処理は、図16の場合と同様である。第1生成部1407は、第1経過時間の計測を開始する(S3611)。既に、第1経過時間の計測を行っている場合には、改めて第1経過時間の計測を開始する。そして、端子Cを介して、図36Aに示したS3605の処理に戻る。
また、本実施の形態では、端末イベント処理(A)に代えて、端末イベント処理(B)を実行する。図37Aに、端末イベント処理(B)フローを示す。S1701及びS1703の処理は、図17の場合と同様である。
第2生成部1411は、第1経過時間の計測を開始する(S3701)。第1経過時間は、上述の通り、擬似イベントを発生させるタイミングを特定するために用いられる。第2生成部1411は、第2経過時間の計測を開始する(S3703)。第2経過時間は、上述の通り、擬似イベントの発生を終わらせるタイミングを特定するために用いられる。
第2受付部1409は、受信部1401において、当該端末IDに関する実イベントを受信したか否かを判定する(S3705)。当該端末IDに関する実イベントを受信したと判定した場合には、S1701に示した処理に戻って、上述した処理を繰り返す。
一方、当該端末IDに関する実イベントを受信していないと判定した場合には、第2生成部1411は、第2経過時間が閾値を超えたか否かを判定する(S3707)。第2経過時間が閾値を超えたと判定した場合には、擬似イベントを発生させないので、S3705に示した処理に戻って、上述した処理を繰り返す。
一方、第2経過時間が閾値を超えていないと判定した場合には、第2生成部1411は、第1経過時間が閾値を超えたか否かを判定する(S3709)。第1経過時間が閾値を超えていないと判定した場合には、擬似イベントを発生させるタイミングに至っていないので、S3705に示した処理に戻って、上述した処理を繰り返す。
一方、第1経過時間が閾値を超えたと判定した場合には、端子Dを介して、図37Bに示したS1711の処理に移る。
図37Bに示したS1711乃至S1715の処理は、図17の場合と同様である。第2生成部1411は、第1経過時間の計測を開始する(S3711)。既に、第1経過時間の計測を行っている場合には、改めて第1経過時間の計測を開始する。そして、端子Eを介して、図37Aに示したS3705の処理に戻る。
本実施の形態によれば、実イベントが誤りである場合に、その影響による尤度の誤差を抑制し、紐付けの精度を高めることができる。
[実施の形態3]
本実施の形態では、擬似イベントを生成する間隔を都度増しつつ、擬似イベントの生成を繰り返す例について説明する。
直近の実イベントが切り替わらなければ、当該実イベントに基づく擬似イベントは同一である。従って、擬似イベントが発生するタイミングを前倒しすれば、紐付けの結果が早く得られるようになる。実イベントが誤りである可能性が低い人物イベント装置201及び端末イベント装置203を用いる場合には、擬似イベントが発生するタイミングを早めても、尤度の精度が低くなるリスクは少ない。
図38に、実施の形態3における擬似イベントの発生タイミングを示す。図示したように、本実施の形態では、実イベントが発生した直後が最も間隔が狭く、段階的に間隔を広げるようにする。
本実施の形態では、人物イベント処理(A)に代えて、人物イベント処理(C)を実行する。図39に、人物イベント処理(C)フローを示す。S1601及びS1603の処理は、図16の場合と同様である。
第1生成部1407は、第1経過時間の計測を開始する(S3901)。第1経過時間は、擬似イベントを発生させるタイミングの候補を特定するために用いられる。既に、第1経過時間の計測を行っている場合には、改めて第1経過時間の計測を開始する。第1生成部1407は、第2経過時間の計測を開始する(S3903)。第2経過時間は、後述する非発生確率を算出するために用いられる。既に、第2経過時間の計測を行っている場合には、改めて第2経過時間の計測を開始する。
第1受付部1405は、受信部1401において、当該人物IDに関する実イベントを受信したか否かを判定する(S3905)。当該人物IDに関する実イベントを受信したと判定した場合には、S1601に示した処理に戻って、上述した処理を繰り返す。
一方、当該人物IDに関する実イベントを受信していないと判定した場合には、第1生成部1407は、第1経過時間が閾値を超えたか否かを判定する(S3907)。第1経過時間が閾値を超えていないと判定した場合には、擬似イベントを発生させるタイミングに至っていないので、S3905に示した処理に戻って、上述した処理を繰り返す。
一方、第1経過時間が閾値を超えたと判定した場合には、第1生成部1407は、非発生確率を算出する(S3909)。非発生確率は、擬似イベントを発生させない確率である。非発生確率は、以下の式に従って算出される。
tは、当日の現在時刻である。t0は、直近の実イベントを取得した日付時刻である。つまり、t−t0は、第2経過時間に相当する。Tは、擬似イベントを発生させる期間長である。γは、直近の実イベントに関する信頼の程度を示す値である。当該値は、実イベントに付加されているものとする。
第1生成部1407は、非発生確率に基づいて、擬似イベントを発生させるか否かを判定する(S3911)。
擬似イベントを発生させないと判定した場合には、第1生成部1407は、第1経過時間の計測を開始する(S3913)。既に、第1経過時間の計測を行っている場合には、改めて第1経過時間の計測を開始する。そして、S3905に示した処理に戻って、上述した処理を繰り返す。
一方、擬似イベントを発生させると判定した場合には、端子Bを介して、図36Bに示したS1611の処理に移る。図36Bに示した処理については、実施の形態2の場合と同様である。
本実施の形態では、端末イベント処理(A)に代えて、端末イベント処理(C)を実行する。図40に、端末イベント処理(C)フローを示す。S1701及びS1703の処理は、図17の場合と同様である。
第2生成部1411は、第1経過時間の計測を開始する(S4001)。第1経過時間は、上述の通り、イベント発生させるタイミングの候補を特定するために用いられる。既に、第1経過時間の計測を行っている場合には、改めて第1経過時間の計測を開始する。第2生成部1411は、第2経過時間の計測を開始する(S4003)。第2経過時間は、上述の通り、非発生確率を算出するために用いられる。既に、第2経過時間の計測を行っている場合には、改めて第2経過時間の計測を開始する。
第2受付部1409は、受信部1401において、当該端末IDに関する実イベントを受信したか否かを判定する(S4005)。当該端末IDに関する実イベントを受信したと判定した場合には、S1701に示した処理に戻って、上述した処理を繰り返す。
一方、当該端末IDに関する実イベントを受信していないと判定した場合には、第2生成部1411は、第1経過時間が閾値を超えたか否かを判定する(S4007)。第1経過時間が閾値を超えていないと判定した場合には、擬似イベントを発生させるタイミングに至っていないので、S4005に示した処理に戻って、上述した処理を繰り返す。
一方、第1経過時間が閾値を超えたと判定した場合には、第2生成部1411は、非発生確率を算出する(S4009)。非発生確率の算出については、図39のS3909に示した処理の場合と同様である。
第2生成部1411は、非発生確率に基づいて、擬似イベントを発生させるか否かを判定する(S4011)。
擬似イベントを発生させないと判定した場合には、第2生成部1411は、第1経過時間の計測を開始する(S4013)。既に、第1経過時間の計測を行っている場合には、改めて第1経過時間の計測を開始する。そして、S4005に示した処理に戻って、上述した処理を繰り返す。
一方、擬似イベントを発生させると判定した場合には、端子Dを介して、図37Bに示したS1711の処理に移る。図37Bに示した処理については、実施の形態2の場合と同様である。
本実施の形態によれば、擬似イベントの生成タイミングを前倒しすることによって、尤度の累積的な変化を早め、より早く紐付けが行われるようにできる。
[実施の形態4]
本実施の形態では、擬似イベントを生成する間隔を都度減じつつ、擬似イベントの生成を繰り返した後に、擬似イベントを生成する間隔を都度増しつつ、擬似イベントの生成を繰り返す例について説明する。
実施の形態3に示したように、擬似イベントの生成タイミングを前倒しすれば、誤りの実イベントの影響によって尤度の精度が低くなるリスクがある。実イベントが誤りである可能性がある人物イベント装置201及び端末イベント装置203を用いる場合には、誤りの実イベントが訂正されやすい期間を過ぎた時点で、擬似イベントの生成タイミングが蜜になるようにする。
この例では、誤りである実イベントが発生した場合には、その後に別の実イベントが連続的に発生することが多いことに着目し、実イベントが発生した後の所定期間は、誤りの実イベントが訂正されやすいと想定する。
図41に、実施の形態4における擬似イベントの発生タイミングを示す。本実施の形態では、実イベントが発生した直後から段階的に間隔を狭めるようにする。また、或る時点から段階的に間隔を広げるようにする。
実施の形態3における図39に示したS3909の処理及び図40に示したS4009の処理において、以下の式に従って非発生確率が算出される。
各パラメータは、実施の形態3の場合と同様である。この式は、poisson分布に基づいている。尚、他の分布(例えば、gamma分布)に基づく式を用いるようにしてもよい。その他の処理は、実施の形態3の場合と同様である。
本実施の形態によれば、実イベントが訂正される可能性が低くなった時期に擬似イベントの生成を集中させ、尤度の累積的な変化を的確に早め、正しい紐付けがより早く行われるようにできる。
尚、上述した人物は移動体の例であって、人物以外の移動体(例えば、動物や自動車)に本実施の形態を適用するようにしてもよい。また、上述した端末は、移動体における慣性を計測する装置の例であって、端末以外の装置(例えば、自動車や家電機器)に、本実施の形態を適用するようにしてもよい。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
なお、上で述べた監視装置205は、コンピュータ装置であって、図42に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態に係る情報処理方法は、(A)第1センサによる計測結果に基づいて生成され、第1状態への遷移を示す第1イベントを受け付けた後に、遷移後の第1状態の継続を示す第2イベントを生成し、(B)第2センサによる計測結果に基づいて生成され、第2状態への遷移を示す第3イベントを受け付けた後に、遷移後の第2状態の継続を示す第4イベントを生成し、(C)第1イベント及び第2イベントの一方と、第3イベント及び第4イベントの一方とが同期する場合に、第1状態の対象と第2状態の対象とが共通である尤度を算出し、(D)尤度に基づいて、第1センサの計測対象と第2センサの計測対象とを紐付ける処理を含む。
このようにすれば、少ないイベントの伝送で、異なるセンサの計測対象に関して対応関係をより早く判別できる。
更に、第1イベントを受け付けた後の一定期間に限って、第2イベントの生成を繰り返すようにしてもよい。また、第3イベントを受け付けた後の一定期間に限って、第4イベントの生成を繰り返すようにしてもよい。
このようにすれば、第1イベント又は第3イベントが誤りである場合に、その影響による尤度の誤差を抑制し、紐付けの精度を高めることができる。
更に、第2イベントを生成する間隔を都度増しつつ、第2イベントの生成を繰り返すようにしてもよい。また、第4イベントを生成する間隔を都度増しつつ、第4イベントの生成を繰り返すようにしてもよい。
このようにすれば、第2イベント及び第4イベントの生成タイミングを前倒しすることによって、尤度の累積的な変化を早め、より早く紐付けが行われるようにできる。
更に、第2イベントを生成する間隔を都度減じつつ、第2イベントの生成を繰り返した後に、第2イベントを生成する間隔を都度増しつつ、第2イベントの生成を繰り返すようにしてもよい。また、第4イベントを生成する間隔を都度減じつつ、第4イベントの生成を繰り返した後に、第4イベントを生成する間隔を都度増しつつ、第4イベントの生成を繰り返すようにしてもよい。
このようにすれば、第1イベント又は第3イベントが訂正される可能性が低くなった時期に第2イベント及び第4イベントの生成を集中させ、尤度の累積的な変化を的確に早め、正しい紐付けがより早く行われるようにできる。
なお、上記方法による処理をコンピュータ行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1センサによる計測結果に基づいて生成され、第1状態への遷移を示す第1イベントを受け付けた後に、前記遷移後の前記第1状態の継続を示す第2イベントを生成し、
第2センサによる計測結果に基づいて生成され、第2状態への遷移を示す第3イベントを受け付けた後に、前記遷移後の前記第2状態の継続を示す第4イベントを生成し、
前記第1イベント及び前記第2イベントの一方と、前記第3イベント及び前記第4イベントの一方とが同期する場合に、前記第1状態の対象と前記第2状態の対象とが共通である尤度を算出し、
前記尤度に基づいて、前記第1センサの計測対象と前記第2センサの計測対象とを紐付ける
処理を含み、コンピュータにより実行される情報処理方法。
(付記2)
前記第1イベントを受け付けた後の一定期間に限って、前記第2イベントの生成を繰り返し、
前記第3イベントを受け付けた後の一定期間に限って、前記第4イベントの生成を繰り返す
付記1記載の情報処理方法。
(付記3)
前記第2イベントを生成する間隔を都度増しつつ、前記第2イベントの生成を繰り返し、
前記第4イベントを生成する間隔を都度増しつつ、前記第4イベントの生成を繰り返す
付記1記載の情報処理方法。
(付記4)
前記第2イベントを生成する間隔を都度減じつつ、前記第2イベントの生成を繰り返した後に、前記第2イベントを生成する間隔を都度増しつつ、前記第2イベントの生成を繰り返し、
前記第4イベントを生成する間隔を都度減じつつ、前記第4イベントの生成を繰り返した後に、前記第4イベントを生成する間隔を都度増しつつ、前記第4イベントの生成を繰り返す
付記1記載の情報処理方法。
(付記5)
第1センサによる計測結果に基づいて生成され、第1状態への遷移を示す第1イベントを受け付けた後に、前記遷移後の前記第1状態の継続を示す第2イベントを生成し、
第2センサによる計測結果に基づいて生成され、第2状態への遷移を示す第3イベントを受け付けた後に、前記遷移後の前記第2状態の継続を示す第4イベントを生成し、
前記第1イベント及び前記第2イベントの一方と、前記第3イベント及び前記第4イベントの一方とが同期する場合に、前記第1状態の対象と前記第2状態の対象とが共通である尤度を算出し、
前記尤度に基づいて、前記第1センサの計測対象と前記第2センサの計測対象とを紐付ける
処理をコンピュータに実行させる情報処理プログラム。
(付記6)
第1センサによる計測結果に基づいて生成され、第1状態への遷移を示す第1イベントを受け付けた後に、前記遷移後の前記第1状態の継続を示す第2イベントを生成する第1生成部と、
第2センサによる計測結果に基づいて生成され、第2状態への遷移を示す第3イベントを受け付けた後に、前記遷移後の前記第2状態の継続を示す第4イベントを生成する第2生成部と
前記第1イベント及び前記第2イベントの一方と、前記第3イベント及び前記第4イベントの一方とが同期する場合に、前記第1状態の対象と前記第2状態の対象とが共通である尤度を算出する算出部と、
前記尤度に基づいて、前記第1センサの計測対象と前記第2センサの計測対象とを紐付ける紐付け部と
を有する情報処理装置。