(57)【特許請求の範囲】
【請求項１】
環境における移動物の状態の遷移とともに、各状態から他の状態に遷移する確率である状態遷移確率と、各状態において前記移動物の検知または未検知を示す複数の検知情報それぞれが出力される確率である出力確率とを対応付けて記憶する記憶部と、
前記移動物について複数の検知情報が順に出力された場合に、前記記憶部に記憶された状態遷移確率及び出力確率を用いて、前記移動物が到達した状態を推定すると共に、イベントを機に自己の状態に戻る自己ループと２つの状態間を双方向に遷移可能な経路とを有する状態遷移図を用いて、前記移動物の検知をイベントとする状態遷移により、前記移動物の状態を推定する推定部と、
前記推定部により推定された状態に基づき、前記移動物の通過を判定する判定部と、
を有することを特徴とする状態判定装置。
【請求項２】
前記判定部は、前記推定部により推定された状態に基づき、前記移動物の引返し、停滞を判定することを特徴とする請求項１に記載の状態判定装置。
【請求項３】
前記環境の変化に応じて、前記状態遷移確率と前記出力確率とを調整する調整部を更に有することを特徴とする請求項１または２に記載の状態判定装置。
【請求項４】
コンピュータが実行する状態判定方法であって、
環境における移動物について、各状態において前記移動物の検知または未検知を示す複数の検知情報が順に出力された場合に、前記移動物の状態の遷移とともに、各状態から他の状態に遷移する確率である状態遷移確率と、各状態において前記複数の検知情報それぞれが出力される確率である出力確率とを用いて、前記移動物が到達した状態を推定すると共に、イベントを機に自己の状態に戻る自己ループと２つの状態間を双方向に遷移可能な経路とを有する状態遷移図を用いて、前記移動物の検知をイベントとする状態遷移により、前記移動物の状態を推定し、
推定された状態に基づき、前記移動物の通過を判定する
ことを特徴とする状態判定方法。
【請求項５】
コンピュータに、
環境における移動物について、各状態において前記移動物の検知または未検知を示す複数の検知情報が順に出力された場合に、前記移動物の状態の遷移とともに、各状態から他の状態に遷移する確率である状態遷移確率と、各状態において前記複数の検知情報それぞれが出力される確率である出力確率とを用いて、前記移動物が到達した状態を推定すると共に、イベントを機に自己の状態に戻る自己ループと２つの状態間を双方向に遷移可能な経路とを有する状態遷移図を用いて、前記移動物の検知をイベントとする状態遷移により、前記移動物の状態を推定し、
推定された状態に基づき、前記移動物の通過を判定する
処理を実行させることを特徴とする状態判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、状態判定装置、状態判定方法、及び状態判定プログラムに関する。
【背景技術】
【０００２】
近年、人や物の位置を検知する技術として、ＲＴＬＳ（Real  Time  Location  System）が普及しつつある。ＲＴＬＳは、ＲＦＩＤ（Radio  Frequency  IDentification）やＧＰＳ（Global  Positioning  System）の技術を利用して、リアルタイムに対象物の所在を把握するシステムである。ＲＴＬＳには、「移動体がどの部屋に居る（在る）か」がわかるもの、あるいは「移動体がどの場所を通過したか」がわかるもの等、様々な方式のものがある。
【０００３】
ＲＴＬＳに関する技術としては、例えば、人体から放出される赤外線を検知する赤外線センサを店舗の出入り口に設置し、検知された情報を用いて、顧客の入店退店を判別する店舗管理システムが知られている。また、ＲＦＩＤを用いて、物の所在を把握する技術も知られている。この技術では、ＲＦＩＤタグを移動体に貼付するとともに、環境側にタグ読取装置を設置し、ＲＦＩＤタグがタグ読取装置の前を通過したか否かを判別することで、移動体の所在を把握する。更に、環境側に質問器を設置するとともに、人等の移動体に応答器を持たせ、応答器が質問器に反応したか否かに基づき、移動体を検出する移動体検出方式が知られている。また、ドア等の人が通過する場所に赤外線通信の受信装置を複数設置するとともに、赤外線通信の送信機を人に携行させ、人がドアを通過した際、受信機が複数のＩＤ情報を受信する技術が知られている。この技術では、それら複数のＩＤ情報の受信時刻から人の行動態様（歩行や走行）が識別される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１３３５８３号公報
【特許文献２】特開２００９−７１５７号公報
【特許文献３】特開２００６−２６０２５４号公報
【特許文献４】特開平８−１９４０１１号公報
【特許文献５】特開２００７−５２４７４号公報
【特許文献６】国際公開第２００７／０５８３０２号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した技術では、ＲＦＩＤや赤外線通信により、受信機が送信機から情報を受信する。すなわち、上述の技術は、受信機をセンサとして利用することで、検知対象の移動を捉える。しかしながら、センサには、センサ自体の特性あるいは環境要因により、誤動作が発生する場合がある。
【０００６】
例えば、ＲＦＩＤを利用する場合、タグ読取装置のアンテナの指向性や電波の到達距離によって、検知エリアが決定される。このため、検知エリア内にタグが在るにも拘らず、タグを検知しなかったり（未検知）、反対に、検知エリア内にタグが無いにも拘らず、タグを検知してしまったり（誤検知）することがある。検知しない例としては、環境側に設置されたタグ読取装置のアンテナの向きに対して、移動体の有するタグが直角の状態にあるため、タグが読み取り難くなる場合がある。一方、誤って検知してしまう例としては、タグからの信号が、環境中にある何らかの物体に反射することで、本来検出すべき読取装置とは異なる別のタグ読取装置がこの信号を検知してしまう場合がある。
【０００７】
開示の技術は、上記に鑑みてなされたものであって、移動体の状態を精度良く判定することのできる状態判定装置、状態判定方法、及び状態判定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本願の開示する状態判定装置は、一つの態様において、記憶部と推定部と判定部とを備えた。前記記憶部は、環境における移動物の状態の遷移とともに、各状態から他の状態に遷移する確率である状態遷移確率と、各状態において前記移動物の検知または未検知を示す複数の検知情報それぞれが出力される確率である出力確率とを対応付けて記憶する。前記推定部は、前記移動物について複数の検知情報が順に出力された場合に、前記記憶部に記憶された状態遷移確率及び出力確率を用いて、前記移動物が到達した状態を推定する。前記判定部は、前記推定部により推定された状態に基づき、前記移動物の通過を判定する。
【発明の効果】
【０００９】
本願の開示する状態判定装置の一つの態様によれば、移動体の状態を精度良く判定することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１における状態判定の概要を説明するための図である。
【図２】図２は、実施例１における状態判定ユニットの機能的構成を示す図である。
【図３】図３は、タグの状態を説明するための状態遷移図である。
【図４】図４は、実施例１における推定部の動作を示すフローチャートである。
【図５】図５は、実施例１における通過判定処理を説明するためのフローチャートである。
【図６】図６は、実施例１における引返し判定処理を説明するためのフローチャートである。
【図７】図７は、実施例１における引返し判定処理におけるサブルーチン１を説明するためのフローチャートである。
【図８】図８は、実施例１における引返し判定処理におけるサブルーチン２を説明するためのフローチャートである。
【図９】図９は、実施例１における停滞判定処理を説明するためのフローチャートである。
【図１０】図１０は、実施例１における停滞判定処理におけるサブルーチン３の前半部分を説明するためのフローチャートである。
【図１１】図１１は、実施例１における停滞判定処理におけるサブルーチン３の後半部分を説明するためのフローチャートである。
【図１２】図１２は、実施例１における停滞判定処理におけるサブルーチン３のサブルーチンＡを説明するためのフローチャートである。
【図１３】図１３は、実施例１における停滞判定処理におけるサブルーチン４の前半部分を説明するためのフローチャートである。
【図１４】図１４は、実施例１における停滞判定処理におけるサブルーチン４の後半部分を説明するためのフローチャートである。
【図１５】図１５は、実施例１における停滞判定処理におけるサブルーチン４のサブルーチンＢを説明するためのフローチャートである。
【図１６】図１６は、実施例１において適用される確率オートマトンを説明するための図である。
【図１７】図１７は、実施例１において適用される確率オートマトンの具体例を示す図である。
【図１８】図１８は、実施例２における状態判定ユニットの機能的構成を示す図である。
【図１９】図１９は、実施例１及び２における状態判定ユニットを有する状態判定システムの構成例を示す図である。
【図２０】図２０は、状態判定システムにおいて、位置管理サーバの有する状態遷移図の一例である。
【図２１】図２１は、状態判定システムにおいて、複数の状態判定ユニットが設置された環境の地図の一例である。
【図２２】図２２は、状態判定プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する状態判定装置、状態判定方法、及び状態判定プログラムの実施例を、図面を参照しながら詳細に説明する。なお、以下の実施例により本願の開示する状態判定装置及び状態判定方法が限定されるものではない。
【実施例１】
【００１２】
以下、本願の開示する状態判定装置の実施例について、図面を参照しながら説明する。以下では、本願の開示する状態判定装置をＲＦＩＤにより実現する例について説明する。図１は、実施例１における状態判定の概要を説明するための図である。環境１には、アンテナ固定用のポールＰ１が設置されている。ポールＰ１は、タグ読取装置のアンテナＡ１を所定位置に備える。アンテナＡ１は、検知エリアＢ１におけるタグ読取りを可能とする。同様に、環境１のポールＰ１近傍には、アンテナ固定用のポールＰ２が、ポールＰ１に隣接するように設置されている。ポールＰ２は、上記タグ読取装置のアンテナＡ２を所定位置に備える。アンテナＡ２は、検知エリアＢ２におけるタグ読取りを可能とする。また、アンテナＡ１，Ａ２の間に位置する境界線Ｃ周辺には、検知エリアＢ１，Ｂ２が重なり合う領域Ｂ３が形成されている。環境１内に所在する人等の移動体Ｍには、ＲＦＩＤのタグ１０が貼付されている。
【００１３】
まず、本願の開示する一実施例に係る状態判定ユニットの構成を説明する。図２は、本実施例に係る状態判定ユニット１００の機能的構成を示す図である。図２に示すように、状態判定ユニット１００は、上述のアンテナＡ１，Ａ２と、アンテナ切替装置１０１と、読取装置１０２と、状態判定装置１０３と、出力部１０４とを有する。これら各構成部分は、一方向又は双方向に、信号やデータの入出力が可能なように接続されている。
【００１４】
アンテナＡ１，Ａ２は、図１に示した環境１に併設され、同一の周波数帯域を有する。アンテナ切替装置１０１は、これら周波数帯域の等しいアンテナＡ１，Ａ２による、異なるエリアでのタグ検知を可能とするため、所定の時間間隔でアンテナＡ１，Ａ２を切り替える。時間間隔は、例えば５０ｍｓである。
【００１５】
読取装置１０２は、アンテナＡ１，Ａ２が検知したタグのＩＤを、検知したアンテナのＩＤと併せて、アンテナ切替装置１０１経由で入力する。そして、読取装置１０２は、対応付けられたこれらのＩＤを検知結果として、後段の状態判定装置１０３に出力する。この出力は、アンテナＡ１，Ａ２の切替え周期の２倍の時間間隔（例えば、１００ｍｓ）で行われる。
【００１６】
状態判定装置１０３は、読取装置１０２から入力されるタグ検知結果を基に、環境１に存在する移動体Ｍの状態を判定し、判定結果を出力部１０４に出力する。状態判定装置１０３は、図２に示すように、取得部１１３と、記憶部１２３と、推定部１３３と、判定部１４３とを有する。
【００１７】
取得部１１３は、読取装置１０２の出力したタグ検知結果を取得する。タグ検知結果には、例えば、“Ａ１：タグ１０、Ａ２：タグ２０”というように、アンテナのＩＤと、アンテナの検知したタグのＩＤとが対応付けられている。取得部１１３は、このタグ検知結果を、推定部１３３に出力する。
【００１８】
記憶部１２３には、状態遷移確率１２３ａと出力確率１２３ｂとが対応付けて記憶されている。状態遷移確率１２３ａは、環境１におけるタグ１０の状態の遷移とともに、各状態から他の状態に遷移する確率である。出力確率１２３ｂは、各状態においてタグ１０の検知または未検知を示す複数の検知情報（出力シンボルｋ）それぞれが出力される確率である。
【００１９】
推定部１３３は、取得部１１３から入力されたタグ検知結果を基に、タグ１０が現在到達している状態を推定する。すなわち、推定部１３３は、タグ１０について複数の検知情報が順に出力された場合に、記憶部１２３に記憶された状態遷移確率１２３ａ及び出力確率１２３ｂの規定された確率オートマトンを用いて、タグ１０が到達した状態を推定する。推定部１３３は、検知情報が検知される度に、タグ１０の現在の状態を逐次推定する。推定部１３３は、状態の推定結果（例えば、後述のＳ１，Ｓ５）を、例えば１００ｍｓ間隔で、判定部１４３に出力する。なお、推定部１３３は、タグ１０が別の状態に遷移しなかった場合にも、所定時間の経過に伴い、上記推定結果を出力する。
【００２０】
判定部１４３は、推定部１３３から入力された検知状態推定結果を基に、対応するタグの付された移動体Ｍの状態を判定する。判定部１４３は、通過判定部１４３ａ、引返し判定部１４３ｂ、及び停滞判定部１４３ｃを有する。判定部１４３は、状態種別毎に３つの判定部から構成される。通過判定部１４３ａは、環境１において、移動体Ｍが通過したか否かの判定を行う。また、引返し判定部１４３ｂは、環境１において、移動体Ｍが引返しをしたか否かの判定を行う。更に、停滞判定部１４３ｃは、環境１において、移動体Ｍが停滞したか否かの判定を行う。停滞判定部１４３ｃは、移動体Ｍが任意の状態に停滞しているか否かを判断するための指標として、カウンタ１４４ｃを有する。停滞判定部１４３ｃは、カウンタ１４４ｃの値が閾値Ｔ以上になると、移動体Ｍが停滞していると判定する。
【００２１】
図３は、タグの状態を説明するための状態遷移図である。図３に示すように、環境１におけるタグの状態として、Ｓ０〜Ｓ８の９つの状態がある。以下、９つの状態が如何なる状態であるか説明する。Ｓ０は、タグが未検知の状態である。Ｓ１は、タグが検知エリアＢ１（図１参照）で検知された状態である。Ｓ２は、タグが検知エリアＢ３（図１参照）で検知された状態である。なお、検知エリアＢ３は、検知エリアＢ１と検知エリアＢ２とが重なり合う領域である。Ｓ３は、タグが検知エリアＢ２（図１参照）で検知された状態である。Ｓ４は、タグが検知エリアＢ２を抜けて未検知となった状態である。Ｓ５は、Ｓ３同様、タグが検知エリアＢ２（図１参照）で検知された状態である。Ｓ６は、Ｓ２同様、タグが検知エリアＢ３（図１参照）で検知された状態である。Ｓ７は、Ｓ１同様、タグが検知エリアＢ１（図１参照）で検知された状態である。Ｓ８は、タグが検知エリアＢ１を抜けて未検知となった状態である。
【００２２】
図３中の矢印は、状態が遷移する様子を示す。例えば、図３の矢印Ｄ１は、タグが状態Ｓ１から状態Ｓ２に遷移したことを示す。また、矢印Ｄ２は、タグが状態Ｓ２から状態Ｓ１に遷移したことを示す。また、矢印Ｄ３は、タグが状態Ｓ１に留まっていたこと、すなわち、図１に示したアンテナＡ１のエリア内にタグが停止していたことを示す。更に、矢印Ｄ４，Ｄ５は、状態Ｓ４，Ｓ８がそれぞれタグ未検知の初期状態Ｓ０に自動的にリセットされたことを示す。
【００２３】
図３において、読取装置１０２に誤動作が生じない場合、読取装置１０２によるタグ検知をイベントとして、タグの状態は遷移する。しかし、移動体Ｍが検知エリアＢ１に留まっていると、読取装置１０２からタグ検知結果が取得される度に、「アンテナＡ１が同一ＩＤのタグを検知している」というイベントが繰り返し発生する。このような状況にも対応するため、状態Ｓｎ（ｎは０〜８の整数）は、イベントを機に自己の状態に戻る自己ループ（例えば、上記矢印Ｄ３）を有する。また、移動体ＭがアンテナＡ１とアンテナＡ２との間を往復したり、途中で引き返したりする場合を想定し、各状態Ｓｎ（ｎ＝０，１，２，３，５，６，７）は、異なる２つの状態間を双方向に遷移可能な経路を有する。
【００２４】
出力部１０４は、判定部１４３から入力された、移動体Ｍの状態（通過、引返し、停滞）を判定結果として出力する。
【００２５】
なお、図２に示した状態判定装置１０３は、物理的には、例えばパーソナルコンピュータによって実現される。また、取得部１１３、推定部１３３、判定部１４３は、物理的には、例えばＣＰＵ（Central  Processing  Unit）、あるいはＡＳＩＣ（Application  Specific  Integrated  Circuit）等の集積回路によって実現される。記憶部１２３は、物理的には、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory)、フラッシュメモリ等の半導体メモリ素子によって実現される。また、出力部１０４は、物理的には、例えば液晶ディスプレイ等の表示装置によって実現される。
【００２６】
次に、実施例１における状態判定装置１０３の動作を説明する。
【００２７】
まず、図４を参照しながら、推定部１３３により実行される一連の処理を説明する。図４は、実施例１における推定部１３３の動作を示すフローチャートである。
【００２８】
まず、推定部１３３は、読取装置１０２の出力するタグ検知結果を取得する（ステップＳ１）。このタグ検知結果には、検知されたタグのＩＤと、これを検知したアンテナのＩＤとが、少なくとも含まれている。次に、推定部１３３は、検知されたタグＩＤについて、タグの状態を推定する（ステップＳ２）。この推定は、環境におけるタグの状態遷移に対して、状態遷移確率と出力確率とを適用することにより行われる。そして、推定部１３３は、この推定結果を判定部１４３に出力する（ステップＳ３）。
【００２９】
ステップＳ１〜Ｓ３の一連のサイクルは、例えば１００ｍｓ周期等、一定の間隔で繰り返し実行される。
【００３０】
続いて、図５〜図１５を参照しながら、判定部１４３の動作を説明する。
【００３１】
まず、通過判定処理について説明する。図５は、実施例１における通過判定処理を説明するためのフローチャートである。ステップＳ１０では、判定部１４３の通過判定部１４３ａは、推定部１３３から新たな推定結果が入力されるまで待機する。通過判定の対象となるＩＤのタグが検知されると（ステップＳ１１；Ｙｅｓ）、通過判定部１４３ａは、タグの状態が状態Ｓ４に遷移したか否かを判定する（ステップＳ１２）。当該判定の結果、状態Ｓ４に遷移した場合（ステップＳ１２；Ｙｅｓ）、通過判定部１４３ａは、環境１において、移動体ＭがアンテナＡ１からアンテナＡ２の方向に「通過」したと判定する（ステップＳ１３）。そして、ステップＳ１０に戻り、それ以降の処理を実行する。
【００３２】
一方、ステップＳ１２における判定の結果、状態Ｓ４に遷移していない場合（ステップＳ１２；Ｎｏ）、通過判定部１４３ａは、タグが状態Ｓ８に遷移したか否かを判定する（ステップＳ１４）。当該判定の結果、状態Ｓ８に遷移した場合（ステップＳ１４；Ｙｅｓ）には、通過判定部１４３ａは、環境１において、移動体ＭがアンテナＡ２からアンテナＡ１の方向に「通過」したと判定する（ステップＳ１５）。そして、ステップＳ１０に戻り、それ以降の処理を実行する。
【００３３】
また、ステップＳ１４における判定の結果、状態Ｓ８に遷移していない場合（ステップＳ１４；Ｎｏ）、通過判定部１４３ａは、環境１において、移動体Ｍが何れの方向にも通過していない（未通過状態）と判定する（ステップＳ１６）。そして、ステップＳ１０に戻り、それ以降の処理を実行する。なお、ステップＳ１１において、通過判定の対象となるＩＤのタグが検知されない場合にも（ステップＳ１１；Ｎｏ）、ステップＳ１０に戻り、それ以降の処理を実行する。
【００３４】
次に、図６〜図８を参照しながら、引返し判定処理について説明する。図６は、実施例１における引返し判定処理を説明するためのフローチャートである。ステップＳ２０では、判定部１４３の引返し判定部１４３ｂは、推定部１３３から新たな推定結果が入力されるまで待機する。引返し判定部１４３ｂは、タグの状態が状態Ｓ０から状態Ｓ１に遷移したか否かを判定する（ステップＳ２１）。当該判定の結果、状態Ｓ１に遷移した場合（ステップＳ２１；Ｙｅｓ）には、引返し判定部１４３ｂは、後述するサブルーチン１を実行する（ステップＳ２２）。
【００３５】
一方、ステップＳ２１における判定の結果、タグが状態Ｓ０から状態Ｓ１に遷移していない場合（ステップＳ２１；Ｎｏ）、引返し判定部１４３ｂは、タグが状態Ｓ０（Ｓ４がリセットされた状態）から状態Ｓ５に遷移したか否かを判定する（ステップＳ２３）。当該判定の結果、状態Ｓ５に遷移した場合（ステップＳ２３；Ｙｅｓ）には、引返し判定部１４３ｂは、後述するサブルーチン２を実行する（ステップＳ２４）。なお、上記ステップＳ２３における判定の結果、状態Ｓ５に遷移していない場合（ステップＳ２３；Ｎｏ）には、ステップＳ２０に戻り、それ以降の処理を実行する。
【００３６】
続いて、図７を参照しながら、上述のサブルーチン１（ステップＳ２２）について詳述する。図７は、実施例１における引返し判定処理におけるサブルーチン１を説明するためのフローチャートである。
【００３７】
ステップＳ３０では、判定部１４３の引返し判定部１４３ｂは、推定部１３３から新たな推定結果が入力されるまで待機する。引返し判定部１４３ｂは、タグの状態が状態Ｓ１から状態Ｓ２に遷移したか否かを判定する（ステップＳ３１）。当該判定の結果、状態Ｓ２に遷移した場合（ステップＳ３１；Ｙｅｓ）には、引返し判定部１４３ｂは、推定部１３３から新たな推定結果が入力されるまで待機する（ステップＳ３２）。引返し判定部１４３ｂは、タグの状態が状態Ｓ２から状態Ｓ１に遷移したか否かを判定する（ステップＳ３３）。当該判定の結果、状態Ｓ１に遷移した場合（ステップＳ３３；Ｙｅｓ）には、引返し判定部１４３ｂは、推定部１３３から新たな推定結果が入力されるまで待機する（ステップＳ３４）。引返し判定部１４３ｂは、タグの状態が状態Ｓ１から状態Ｓ０に遷移したか否かを判定する（ステップＳ３５）。当該判定の結果、状態Ｓ０に遷移した場合（ステップＳ３５；Ｙｅｓ）には、引返し判定部１４３ｂは、移動体Ｍの状態を「引返し」と判定する（ステップＳ３６）。そして、サブルーチン１は終了する。サブルーチン１の終了後は、ステップＳ２０に戻る（図７のリターン）。
【００３８】
なお、ステップＳ３１における判定の結果、状態Ｓ１から状態Ｓ２に遷移していない場合（ステップＳ３１；Ｎｏ）には、引返し判定部１４３ｂは、上述したステップＳ３２〜Ｓ３４の処理を省略して、ステップＳ３５の処理を実行する。また、ステップＳ３５における判定の結果、状態Ｓ１から状態Ｓ０に遷移していない場合（ステップＳ３５；Ｎｏ）には、引返し判定部１４３ｂは、再びステップＳ３０以降の処理を実行する。
【００３９】
また、ステップＳ３３における判定の結果、状態Ｓ１に遷移していない場合（ステップＳ３３；Ｎｏ）には、引返し判定部１４３ｂは、引き続き、タグの状態が状態Ｓ２から状態Ｓ３に遷移したか否かを判定する（ステップＳ３７）。当該判定の結果、状態Ｓ３に遷移した場合（ステップＳ３７；Ｙｅｓ）には、引返し判定部１４３ｂは更に、推定部１３３から新たな推定結果が入力されるまで待機する（ステップＳ３８）。引返し判定部１４３ｂは、タグの状態が状態Ｓ３から状態Ｓ２に遷移したか否かを判定する（ステップＳ３９）。当該判定の結果、状態Ｓ２に遷移していない場合（ステップＳ３９；Ｎｏ）には、引返し判定部１４３ｂは更に、タグの状態が状態Ｓ３から状態Ｓ４に遷移したか否かを判定する（ステップＳ４０）。当該判定の結果、状態Ｓ４に遷移した場合（ステップＳ４０；Ｙｅｓ）には、引返し判定部１４３ｂは、移動体Ｍが、検知エリアＢ１側から検知エリアＢ２側に「通過」したと判定する（ステップＳ４１）。そして、サブルーチン１は終了する。
【００４０】
なお、ステップＳ３７における判定の結果、状態Ｓ２から状態Ｓ３に遷移していない場合（ステップＳ３７；Ｎｏ）には、引返し判定部１４３ｂは、再びステップＳ３２以降の処理を実行する。また、ステップＳ３９における判定の結果、状態Ｓ３から状態Ｓ２に遷移した場合（ステップＳ３９；Ｙｅｓ）には、引返し判定部１４３ｂは、再びステップＳ３２以降の処理を実行する。更に、ステップＳ４０における判定の結果、状態Ｓ３から状態Ｓ４に遷移していない場合（ステップＳ４０；Ｎｏ）には、引返し判定部１４３ｂは、再びステップＳ３８以降の処理を実行する。
【００４１】
次に、上述のサブルーチン２（図６に示したステップＳ２４）について説明する。図８は、実施例１における引返し判定処理におけるサブルーチン２を説明するためのフローチャートである。図７では、状態Ｓ１〜Ｓ４（図３参照）における引返し判定処理を想定したが、図８では、状態Ｓ５〜Ｓ８（図３参照）における引返し判定処理を想定している。図７及び図８は、状態遷移の方向が反対方向となっている点を除き同一であるため、詳細な説明は省略するが、図８のステップＳ５０〜Ｓ５６は、図７のステップＳ３０〜Ｓ３６にそれぞれ対応する。また、図８のステップＳ５７〜Ｓ６１は、図７のステップＳ３７〜Ｓ４１にそれぞれ対応する。更に、状態Ｓ５〜Ｓ８は、状態Ｓ１〜Ｓ４にそれぞれ対応する。サブルーチン１では、引返し判定部１４３ｂは、検知エリアＢ１側から検知エリアＢ２側への通過を判定したが（図７のステップＳ４１）、サブルーチン２では、引返し判定部１４３ｂは、これとは逆方向の通過を判定する（図８のステップＳ６１）。なお、図８のステップＳ５５における状態Ｓ０は、状態Ｓ４がリセットされた結果である。
【００４２】
次に、図９〜図１５を参照しながら、停滞判定処理について説明する。図９は、実施例１における停滞判定処理を説明するためのフローチャートである。ステップＳ７０では、判定部１４３の停滞判定部１４３ｃは、停滞判定用のカウンタ１４４ｃを初期化し“Ｃ＝０”とする。停滞判定部１４３ｃは、推定部１３３から新たな推定結果が入力されるまで待機する（ステップＳ７１）。停滞判定部１４３ｃは、タグの状態が状態Ｓ０から状態Ｓ１に遷移したか否かを判定する（ステップＳ７２）。当該判定の結果、状態Ｓ１に遷移した場合（ステップＳ７２；Ｙｅｓ）には、停滞判定部１４３ｃは、後述するサブルーチン３を実行する（ステップＳ７３）。
【００４３】
一方、ステップＳ７２における判定の結果、タグが状態Ｓ０から状態Ｓ１に遷移していない場合（ステップＳ７２；Ｎｏ）、停滞判定部１４３ｃは、タグが状態Ｓ０（Ｓ４がリセットされた状態）から状態Ｓ５に遷移したか否かを判定する（ステップＳ７４）。当該判定の結果、状態Ｓ５に遷移した場合（ステップＳ７４；Ｙｅｓ）には、停滞判定部１４３ｃは、後述するサブルーチン４を実行する（ステップＳ７５）。なお、上記ステップＳ７４における判定の結果、状態Ｓ５に遷移していない場合（ステップＳ７４；Ｎｏ）には、ステップＳ７１に戻り、それ以降の処理を実行する。
【００４４】
続いて、図１０〜図１２を参照しながら、上述のサブルーチン３（ステップＳ７３）について詳述する。図１０は、実施例１における停滞判定処理におけるサブルーチン３の前半部分を説明するためのフローチャートである。
【００４５】
ステップＳ８０では、判定部１４３の停滞判定部１４３ｃは、推定部１３３から新たな推定結果が入力されるまで待機する。停滞判定部１４３ｃは、タグの状態が状態Ｓ１から状態Ｓ２に遷移したか否かを判定する（ステップＳ８１）。当該判定の結果、状態Ｓ２に遷移した場合（ステップＳ８１；Ｙｅｓ）には、停滞判定部１４３ｃは、推定部１３３から新たな推定結果が入力されるまで待機する（ステップＳ８２）。停滞判定部１４３ｃは、タグの状態が状態Ｓ２から状態Ｓ１に遷移したか否かを判定する（ステップＳ８３）。当該判定の結果、状態Ｓ１に遷移した場合（ステップＳ８３；Ｙｅｓ）には、停滞判定部１４３ｃは更に、後述のサブルーチンＡを実行する（ステップＳ８４）。
【００４６】
また、ステップＳ８１における判定の結果、状態Ｓ２に遷移していない場合（ステップＳ８１；Ｎｏ）には、停滞判定部１４３ｃは、引き続き、タグの状態が状態Ｓ１から状態Ｓ０に遷移したか否かを判定する（ステップＳ８５）。当該判定の結果、状態Ｓ０に遷移した場合（ステップＳ８５；Ｙｅｓ）には、サブルーチン３は終了する。このサブルーチン３の終了に伴い、一連の停滞判定処理は終了する（図９のエンド）。一方、状態Ｓ０に遷移していない場合（ステップＳ８５；Ｎｏ）には、停滞判定部１４３ｃは、移動体Ｍが状態Ｓ１に停滞していると判定し、後述のサブルーチンＡを実行する（ステップＳ８６）。
【００４７】
図１１は、実施例１における停滞判定処理におけるサブルーチン３の後半部分を説明するためのフローチャートである。上記ステップＳ８３における判定の結果、状態Ｓ１に遷移していない場合（ステップＳ８３；Ｎｏ）には、停滞判定部１４３ｃは、移動体Ｍが状態Ｓ２に停滞していると判定し、図１１のステップＳ９０以降の処理を実行する。ステップＳ９０では、停滞判定部１４３ｃは、タグの状態が状態Ｓ２から状態Ｓ３に遷移したか否かを判定する。当該判定の結果、状態Ｓ３に遷移した場合（ステップＳ９０；Ｙｅｓ）には、停滞判定部１４３ｃは、推定部１３３から新たな推定結果が入力されるまで待機する（ステップＳ９１）。停滞判定部１４３ｃは、タグの状態が状態Ｓ３から状態Ｓ２に遷移したか否かを判定する（ステップＳ９２）。当該判定の結果、状態Ｓ２に遷移していない場合（ステップＳ９２；Ｎｏ）には、停滞判定部１４３ｃは更に、移動体Ｍが状態Ｓ３に停滞していると判定し、タグの状態が状態Ｓ３から状態Ｓ４に遷移したか否かを判定する（ステップＳ９３）。当該判定の結果、状態Ｓ４に遷移した場合（ステップＳ９３；Ｙｅｓ）には、停滞判定部１４３ｃは、移動体Ｍが、検知エリアＢ１側から検知エリアＢ２側に「通過」したと判定する（ステップＳ９４）。そして、サブルーチン３を終了する。このサブルーチン３の終了に伴い、一連の停滞判定処理は終了する（図９のエンド）。
【００４８】
また、ステップＳ９０における判定の結果、状態Ｓ３に遷移していない場合（ステップＳ９０；Ｎｏ）には、停滞判定部１４３ｃは、引き続き、タグの状態が状態Ｓ２から状態Ｓ１に遷移したか否かを判定する（ステップＳ９５）。当該判定の結果、状態Ｓ１に遷移した場合（ステップＳ９５；Ｙｅｓ）には、停滞判定部１４３ｃは、後述のサブルーチンＡを実行する（ステップＳ９６）。実行後、停滞判定部１４３ｃは、図１０のステップＳ８０以降の処理を再び実行する。一方、上記ステップＳ９５における判定の結果、状態Ｓ１に遷移していない場合（ステップＳ９５；Ｎｏ）には、移動体Ｍが状態Ｓ２に停滞していると判定し、停滞判定部１４３ｃは、後述のサブルーチンＡを実行する（ステップＳ９７）。そして、停滞判定部１４３ｃは、図１０のステップＳ８２以降の処理を再び実行する。
【００４９】
上記ステップＳ９２における判定の結果、状態Ｓ３から状態Ｓ２に遷移した場合（ステップＳ９２；Ｙｅｓ）には、停滞判定部１４３ｃは、後述のサブルーチンＡを実行する（ステップＳ９８）。実行後は、上述のステップＳ９７と同様、停滞判定部１４３ｃは、図１０のステップＳ８２以降の処理を再び実行する。
【００５０】
更に、ステップＳ９３における判定の結果、状態Ｓ４に遷移していない場合（ステップＳ９３；Ｎｏ）には、停滞判定部１４３ｃは、引き続き、タグの状態が状態Ｓ３から状態Ｓ２に遷移したか否かを判定する（ステップＳ９９）。当該判定の結果、状態Ｓ２に遷移した場合（ステップＳ９９；Ｙｅｓ）には、停滞判定部１４３ｃは、後述のサブルーチンＡを実行する（ステップＳ１００）。そして、上述のステップＳ９７及びＳ９８と同様、停滞判定部１４３ｃは、図１０のステップＳ８２以降の処理を再び実行する。一方、上記ステップＳ９９における判定の結果、状態Ｓ２に遷移していない場合（ステップＳ９９；Ｎｏ）には、移動体Ｍが状態Ｓ３に停滞していると判定し、停滞判定部１４３ｃは、後述のサブルーチンＡを実行する（ステップＳ１０１）。そして、停滞判定部１４３ｃは、上述のステップＳ９１以降の処理を再び実行する。
【００５１】
図１２は、実施例１における停滞判定処理におけるサブルーチン３のサブルーチンＡを説明するためのフローチャートである。図１２のステップＳ１１０では、判定部１４３の停滞判定部１４３ｃは、停滞判定用のカウンタ１４４ｃの値を１つインクリメントする。停滞判定部１４３ｃは、カウンタ１４４ｃと閾値Ｔとの大小を比較し（ステップＳ１１１）、Ｃ≧閾値Ｔである場合（ステップＳ１１１；Ｙｅｓ）には、停滞判定部１４３ｃは、移動体Ｍの状態を「停滞」と判定する（ステップＳ１１２）。そして、サブルーチンＡは終了する。一方、ステップＳ１１１における比較の結果、Ｃ＜閾値Ｔである場合（ステップＳ１１１；Ｎｏ）には、そのままサブルーチンＡを終了する（ステップＳ１１３）。
【００５２】
次に、上述のサブルーチン４（図９に示したステップＳ７５）について説明する。図１３は、実施例１における停滞判定処理におけるサブルーチン４の前半部分を説明するためのフローチャートである。図１０では、状態Ｓ１〜Ｓ４（図３参照）における停滞判定処理を想定したが、図１３では、状態Ｓ５〜Ｓ８（図３参照）における停滞判定処理を想定している。図１０及び図１３は、状態遷移の方向が反対方向となっている点を除き同一であるため、詳細な説明は省略するが、図１３のステップＳ１２０〜Ｓ１２６は、図１０のステップＳ８０〜Ｓ８６にそれぞれ対応する。また、状態Ｓ５〜Ｓ８は、状態Ｓ１〜Ｓ４にそれぞれ対応する。更に、サブルーチンＢは、サブルーチンＡと同様の処理である。
【００５３】
同様に、図１４は図１１に対応し、図１５は図１２に対応する。図１４は、実施例１における停滞判定処理におけるサブルーチン４の後半部分を説明するためのフローチャートである。図１４のステップＳ１３０〜Ｓ１４１は、図１１のステップＳ９０〜Ｓ１０１にそれぞれ対応する。サブルーチン３では、停滞判定部１４３ｃは、検知エリアＢ１側から検知エリアＢ２側への通過を判定したが（図１１のステップＳ９４）、サブルーチン４では、停滞判定部１４３ｃは、これとは逆方向の通過を判定する（図１４のステップＳ１３４）。また、図１５は、実施例１における停滞判定処理におけるサブルーチン４のサブルーチンＢを説明するためのフローチャートである。図１５のステップＳ１５０〜Ｓ１５３は、図１２のステップＳ１１０〜Ｓ１１３にそれぞれ対応する。
【００５４】
上述したように、状態判定装置１０３は、一連の引返し判定処理を実行することで、移動体Ｍが、図３に示した状態Ｓ１，Ｓ２，Ｓ３の何れの状態から引き返した場合にも、引返しの判定を行うことができる。これと同様に、状態判定装置１０３は、一連の停滞判定処理を実行することで、移動体Ｍが状態Ｓ１，Ｓ２，Ｓ３の何れの状態に停滞した場合にも対応することができる。
【００５５】
以上、動作を説明したが、本実施例における状態判定装置１０３は、環境１において、読取装置１０２による誤動作（タグ１０の未検知や誤検知）に対応すべく、図１６に示す確率オートマトンを用いる。確率オートマトンは、例えば、隠れマルコフモデル（ＨＭＭ:Hidden  Markov  Model）である。図１６は、実施例１において適用される確率オートマトンを説明するための図である。図１６において、“ａｉｊ”は、状態Ｓｉから状態Ｓｊへの遷移確率を表す。また、“ｂｉ（ｋ）”は、状態Ｓｉにおいてシンボルｋを出力する確率を表す。また、“ｋ”は、対応する検知エリア内においてタグが検知されたという出力シンボルを表す。例えば、検知エリアＢ１内にタグ１０が検知されたときの出力シンボルは“ｋ＝Ａ１”であり、検知エリアＢ２内にタグ１０が検知されたときの出力シンボルは“ｋ＝Ａ２”である。また、検知エリアＢ３内にタグ１０が検知されたときの出力シンボルは“ｋ＝Ａ１２”であり、何れの検知エリアにおいてもタグ１０が検知されないとき（未検知）の出力シンボルは“ｋ＝Ｎｏｎ”である。したがって、例えば、ｂ１（Ａ１）は、状態Ｓ１において、検知エリアＢ１内でタグが検知されたと出力する確率を示し、ｂ２（Ａ１２）は、状態Ｓ２において、検知エリアＢ３内でタグが検知されたと出力する確率を示す。また、ｂ３（Ｎｏｎ）は、状態Ｓ３において、何れの検知エリアにもタグが検知されていないと出力する確率を示す。
【００５６】
上記確率オートマトンを用いることで、例えば、状態Ｓ１において、それぞれの検知エリア内でタグが検知されたというシンボルを出力確率は、“ｂ１（Ａ１）＝０．８”、“ｂ１（Ａ２）＝０．０５”、“ｂ１（Ａ１２）＝０．０５”、“ｂ１（Ｎｏｎ）＝０．１”のように表される。これにより、アンテナＡ１の検知エリアＢ１内にタグがあるにも拘らず、検知エリアＢ３内にタグがあると検知（誤検知）される確率ｂ１（Ａ１２）が、０．０５と定義される。同様に、アンテナＡ１の検知エリアＢ１内にタグがあるにも拘らず、検知されない（未検知の）確率ｂ１（Ｎｏｎ）は、０．１と定義される。
【００５７】
確率オートマトンを用いることで、以下に説明するような状態推定が可能となる。読取装置１０２による、あるＩＤのタグの初回検知から最新検知までの時系列の検知データを「観測シンボルｙ」と表す。例えば、タグ１０について、読取装置１０２が「未検知」、「アンテナＡ１で検知」、「アンテナＡ１で検知」、「アンテナＡ２で検知」の順に検知した場合、観測シンボルは、ｙ＝Ｎｏｎ  Ａ１  Ａ１  Ａ２という時系列データとなる。図１６に示した確率オートマトンにおいて、このような観測シンボルｙが与えられたときに状態Ｓｉ（ｉは０〜８の整数）となる確率は、ｐ（Ｓｉ│ｙ）によって表される。状態判定装置１０３の推定部１３３は、タグ１０について、ある観測シンボルｙが与えられたとき、全ての状態Ｓｉについてｐ（Ｓｉ│ｙ）を算出し、最も確率の高い状態Ｓｉを求めることで、タグ１０の現在の状態を推定する。例えば、ｐ（Ｓｉ│ｙ）のうち、ｐ（Ｓ４│ｙ）が最大となった場合、推定部１３３は、タグ１０が状態Ｓ４に到達したと推定する。そして、判定部１４３は、上述した通過判定処理を実行することにより、タグ１０の付された移動体Ｍが、検知エリアＢ１から検知エリアＢ２に向かう方向に通過したと判定する。
【００５８】
図１７は、各状態Ｓ０〜Ｓ４について、実施例１において適用される確率オートマトンの具体例を示す図である。図１７において、状態Ｓ１〜Ｓ３内に示す数値は、各状態におけるシンボルｋの出力確率である。例えば、状態Ｓ１では、Ａ１，Ａ２，Ａ１２，Ｎｏｎ（未検知）を出力する確率はそれぞれ０．５，０．１，０．３，０．１である。また、各状態Ｓ０〜Ｓ４間を結ぶ矢印に付された数値は、状態遷移確率を表す。例えば、状態Ｓ１から状態Ｓ１に遷移（自己ループ）する確率は０．４、状態Ｓ１から状態Ｓ０に遷移する確率は０．３、状態Ｓ１から状態Ｓ２に遷移する確率は０．３である。
【００５９】
以下、推定部１３３が、タグ１０に関する特徴ベクトル（Ａ１，Ａ１２，Ａ２，Ｎｏｎ）を観測した場合を想定し、タグ１０の到達した状態（遷移先）を推定する方法について説明する。タグ１０の到達状態として最も確率の高い状態は、以下のように算出される。特徴ベクトルが入力されてＳ０に到達した状態をω０とする。同様に、Ｓ１に到達した状態をω１、Ｓ２に到達した状態をω２、Ｓ３に到達した状態をω３、Ｓ４に到達した状態をω４とする。初期状態がＳ０のとき、特徴ベクトルが観測されてＳ１→Ｓ１→Ｓ１→Ｓ０と遷移した場合における確率は、以下のように算出される。
【００６０】
ｐ（Ａ１│Ｓ１）×ｐ（Ｓ１→Ｓ１）×ｐ（Ａ１２│Ｓ１）×ｐ（Ｓ１→Ｓ１）×ｐ（Ａ２│Ｓ１）×ｐ（Ｓ１→Ｓ０）＝０．５×０．４×０．３×０．４×０．１×０．３＝０．０００７２
【００６１】
ここで、ｐ（Ａ１│Ｓ１）は、状態Ｓ１においてＡ１を観測したと出力される確率（出力確率）であり、ｐ（Ｓ１→Ｓ１）は、状態Ｓ１から状態Ｓ１に遷移する確率（状態遷移確率）である。
【００６２】
Ｓ１→Ｓ１→Ｓ１→Ｓ０以外の状態遷移についても同様に、特徴ベクトル（Ａ１，Ａ１２，Ａ２，Ｎｏｎ）が観測されたときに到達する可能性のある全ての状態について、上記確率を算出すると、以下のようになる。
【００６３】
Ｓ１→Ｓ２→Ｓ１→Ｓ０と遷移した場合の確率は０．０００６７５
Ｓ１→Ｓ１→Ｓ１→Ｓ１と遷移した場合の確率は０．００００９６
Ｓ１→Ｓ１→Ｓ２→Ｓ１と遷移した場合の確率は０．０００１３５
Ｓ１→Ｓ２→Ｓ１→Ｓ１と遷移した場合の確率は０．００００９
Ｓ１→Ｓ２→Ｓ２→Ｓ１と遷移した場合の確率は０．０００２２５
Ｓ１→Ｓ１→Ｓ１→Ｓ２と遷移した場合の確率は０．０００７２
Ｓ１→Ｓ１→Ｓ２→Ｓ２と遷移した場合の確率は０．０００１８
Ｓ１→Ｓ２→Ｓ１→Ｓ２と遷移した場合の確率は０．００００６７５
Ｓ１→Ｓ２→Ｓ２→Ｓ２と遷移した場合の確率は０．０００３
Ｓ１→Ｓ２→Ｓ３→Ｓ２と遷移した場合の確率は０．０００３３７５
Ｓ１→Ｓ１→Ｓ２→Ｓ３と遷移した場合の確率は０．０００１３５
Ｓ１→Ｓ２→Ｓ２→Ｓ３と遷移した場合の確率は０．０００２２５
Ｓ１→Ｓ２→Ｓ３→Ｓ３と遷移した場合の確率は０．０００４５
Ｓ１→Ｓ２→Ｓ３→Ｓ４と遷移した場合の確率は０．００３３７５
【００６４】
これらは、同時に起こり得ない独立事象であるので、ω０〜ω４となる確率は、それぞれ以下のように算出される。
【００６５】
ｐ（Ａ１，Ａ１２，Ａ２，Ｎｏｎ│ω０）＝０．０００７２＋０．０００６７５＝０．００１３９５
ｐ（Ａ１，Ａ１２，Ａ２，Ｎｏｎ│ω１）＝０．０００９６＋０．０００１３５＋０．００００９＋０．０００２２５＝０．０００５４６
ｐ（Ａ１，Ａ１２，Ａ２，Ｎｏｎ│ω２）＝０．００００７２＋０．０００１８＋０．００００６７５＋０．０００３＋０．０００３３７５＝０．０００９５７
ｐ（Ａ１，Ａ１２，Ａ２，Ｎｏｎ│ω３）＝０．０００１３５＋０．０００２２５＋０．０００４５＝０．０００８１
ｐ（Ａ１，Ａ１２，Ａ２，Ｎｏｎ│ω４）＝０．００３３７５
【００６６】
上記ω０〜ω４の事前確率は等しいことから、ｐ（ω０）＝ｐ（ω１）＝ｐ（ω２）＝ｐ（ω３）＝ｐ（ω４）＝０．２となる。
【００６７】
したがって、特徴ベクトル（Ａ１，Ａ１２，Ａ２，Ｎｏｎ）が観測された場合における最も確率の高い到達状態は、ベイズの定理より、以下のように求められる。
【００６８】
ｐ（ω０│Ａ１，Ａ１２，Ａ２，Ｎｏｎ）＝ｐ（Ａ１，Ａ１２，Ａ２，Ｎｏｎ│ω０）×ｐ（ω０）＝０．０００２７９
ｐ（ω１│Ａ１，Ａ１２，Ａ２，Ｎｏｎ）＝ｐ（Ａ１，Ａ１２，Ａ２，Ｎｏｎ│ω１）×ｐ（ω１）＝０．０００１０９
ｐ（ω２│Ａ１，Ａ１２，Ａ２，Ｎｏｎ）＝ｐ（Ａ１，Ａ１２，Ａ２，Ｎｏｎ│ω２）×ｐ（ω２）＝０．０００１９１
ｐ（ω３│Ａ１，Ａ１２，Ａ２，Ｎｏｎ）＝ｐ（Ａ１，Ａ１２，Ａ２，Ｎｏｎ│ω３）×ｐ（ω３）＝０．０００１６２
ｐ（ω４│Ａ１，Ａ１２，Ａ２，Ｎｏｎ）＝ｐ（Ａ１，Ａ１２，Ａ２，Ｎｏｎ│ω４）×ｐ（ω４）＝０．０００６７５
【００６９】
以上より、推定部１３３は、図１７の確率オートマトンにおいて、特徴ベクトル（Ａ１，Ａ１２，Ａ２，Ｎｏｎ）が観測された際、タグ１０が最も到達する確率の高い状態を、状態Ｓ４と推定する。
【００７０】
なお、上記説明では、状態Ｓ０〜Ｓ４（図３の上側）について、確率オートマトンを用いた推定方法について説明したが、推定部１３３は、状態Ｓ０及び状態Ｓ５〜Ｓ８（図３の下側）についても同様の算出手法により、タグ１０の到達状態を推定することができる。
【００７１】
上述してきたように、本実施例における状態判定装置１０３は、記憶部１２３と推定部１３３と判定部１４３とを有する。記憶部１２３には、状態遷移確率１２３ａと出力確率１２３ｂとが対応付けて記憶される。状態遷移確率１２３ａは、環境１におけるタグ１０の状態の遷移とともに、各状態Ｓ０〜Ｓ８から他の状態に遷移する確率である。出力確率１２３ｂは、各状態Ｓ０〜Ｓ８においてタグ１０の検知または未検知を示す複数のシンボルｋそれぞれが出力される確率である。推定部１３３は、タグ１０について複数のシンボルｋが順に出力された場合に、記憶部１２３に記憶された状態遷移確率１２３ａ及び出力確率１２３ｂを用いて、タグ１０が到達した状態を推定する。判定部１４３は、推定部１３３により推定された状態に基づき、タグ１０の通過を判定する。状態判定装置１０３は、状態遷移確率１２３ａと出力確率１２３ｂとが規定された確率オートマトンを用いて、状態Ｓ０〜Ｓ８の中から、人が到達した確率が最も高い状態を求め、その状態から人の通過を判定する。換言すれば、状態判定装置１０３は、タグ１０の未検知や誤検知といった誤動作までも考慮して、状態の推定を行う。したがって、状態判定装置１０３は、誤動作が生じた場合でも最も高い確率で、タグ１０を所持する移動体Ｍの状態推定を行うことができる。その結果、状態判定の精度が向上する。
【００７２】
本実施例における状態判定装置１０３は、図３、図１６あるいは図１７に示したような、自己ループと２つの状態間を双方向に遷移可能な経路とを有する状態遷移図を用いて、タグの検知をイベントとする状態遷移により、タグの状態を推定する。このため、状態判定装置１０３は、読取装置１０２の誤動作の発生パターンに合わせて、タグの状態を判別するためのパターンテーブルを無数に用意する必要がない。つまり、状態判定装置１０３は、確率オートマトンを用いることにより、タグが到達した状態の推定を簡易な構成で行うことができる。
【００７３】
更に、本実施例における状態判定装置１０３によれば、判定部１４３は、推定部１３３により推定された状態に基づき、タグ１０の引返し、停滞を判定する。これにより、状態判定装置１０３は、タグ１０の到達状態ひいては移動体Ｍの状態として、通過のみならず、引返しや停滞をも判定することができる。したがって、状態判定装置１０３は、移動体Ｍが検知エリアを通過することなく途中で戻った場合、あるいは、移動体Ｍが検知エリア近傍に立ち止っている場合にも、その事を精度良く判定することができる。その結果、移動体Ｍの挙動を、より詳細かつ高精度に把握することが可能となる。
【実施例２】
【００７４】
次に、実施例２における状態判定ユニットの構成について説明する。図１８は、実施例２における状態判定ユニットの機能的構成を示す図である。図１８は、本実施例に係る状態判定ユニット２００の機能的構成を示す図である。図１８に示すように、状態判定ユニット２００は、上述のアンテナＡ１，Ａ２と、アンテナ切替装置２０１と、読取装置２０２と、状態判定装置２０３と、出力部２０４とを有する。これら各構成部分は、一方向又は双方向に、信号やデータの入出力が可能なように接続されている。
【００７５】
状態判定装置２０３は、読取装置２０２から入力されるタグ検知結果を基に、環境１に属する移動体Ｍの状態を判定し、判定結果を出力部２０４に出力する。状態判定装置２０３は、図１８に示すように、取得部２１３と、記憶部２２３と、推定部２３３と、判定部２４３と、調整部２５３とを有する。記憶部２２３は、状態遷移確率２２３ａ及び出力確率２２３ｂを記憶する。判定部２４３は更に、通過判定部２４３ａと、引返し判定部２４３ｂと、カウンタ２４４ｃを有する停滞判定部２４３ｃとを有する。
【００７６】
状態判定ユニット２００は、調整部２５３を更に有する点を除き、実施例１における状態判定ユニット１００と同様の構成を有する。したがって、同様の構成要素には、末尾が同一の参照符号を付すとともに、その詳細な説明は省略する。具体的には、実施例２におけるアンテナ切替装置２０１と、読取装置２０２と、状態判定装置２０３と、出力部２０４とは、実施例１におけるアンテナ切替装置１０１と、読取装置１０２と、状態判定装置１０３と、出力部１０４とにそれぞれ対応する構成要素である。また、実施例２における取得部２１３と、記憶部２２３と、推定部２３３と、判定部２４３とは、実施例１における取得部１１３と、記憶部１２３と、推定部１３３と、判定部１４３とにそれぞれ対応する。更に、実施例２における記憶部２２３の状態遷移確率２２３ａ及び出力確率２２３ｂは、実施例１における状態遷移確率１２３ａ及び出力確率１２３ｂにそれぞれ対応する。また、実施例２における判定部２４３の通過判定部２４３ａと、引返し判定部２４３ｂとは、実施例１における判定部１４３の通過判定部１４３ａと、引返し判定部１４３ｂとにそれぞれ対応する構成要素である。そして、実施例２におけるカウンタ２４４ｃを有する停滞判定部２４３ｃは、実施例１におけるカウンタ１４４ｃを有する停滞判定部１４３ｃに対応する構成要素である。
【００７７】
以下、実施例１との主要な差異である調整部２５３について説明する。調整部２５３は、確率オートマトン（図１６、図１７参照）におけるパラメータを学習する。調整部２５３は、環境１の変化に対応して、上述の状態遷移確率と上述の出力確率とを、環境１に適した値（パラメータ）に自動的に調整する。パラメータの学習には、例えば、隠れマルコフモデルのパラメータ学習法であるBaumWelchアルゴリズムを用いることができる。
【００７８】
実施例２における状態判定ユニット２００は、実施例１における状態判定ユニット１００の奏する効果に加えて、更に以下のような効果を奏する。すなわち、環境１に設置されたアンテナＡ１，Ａ２付近に新たな物が置かれたり、既存の物の置かれ方が変わったりすると、電波の遮蔽やマルチパスの影響により、読取装置２０２に誤動作が生じる場合がある。実施例２における状態判定ユニット２００によれば、状態判定装置２０３の調整部２５３は、このような環境１の変化に合わせて、既存の状態遷移確率、出力確率といったパラメータを適宜更新する。これにより、パラメータが常に最適な値にチューニングされる。したがって、状態判定装置２０３は、環境１が変化しても、タグ１０の到達する状態を精度良く推定することができる。その結果、環境の変化に対してロバストな状態判定が実現される。
【００７９】
実施例２における状態判定ユニット２００によれば、調整部２５３は、初期値として設定された状態遷移確率及び出力確率の値（パラメータ）を、観測シンボルｙの付与により、その観測結果が反映された値に修正していく。パラメータは、到達状態として最も確率の高い状態が推定される度に、自律的に随時更新される。状態遷移確率や出力確率は、事前に統計的な予測が可能であるが、例えば、アンテナの周辺に遮蔽物が置かれて電波反射の仕方が変わったときには、これに伴い、状態遷移確率や出力確率も変動する。調整部２５３は、隠れマルコフモデルによる学習効果で、これらの確率の値を環境に合わせて自動的に調整する。この調整に際しては、例えば、上記のBaumWelchのアルゴリズムを適用することができる。これにより、タグの到達した状態について、環境の変化によらず、最適な推定が可能となる。
【００８０】
続いて、実施例１及び２における状態判定ユニット１００，２００を有して構成される状態判定システムＥについて説明する。図１９は、実施例１及び２における状態判定ユニットを有する状態判定システムの構成例を示す図である。図１９に示すように、状態判定システムＥは、状態判定ユニット１００，２００と、これと同様の構成を有する状態判定ユニット１００，２００−２〜状態判定ユニット１００，２００−ｎ（ｎは自然数）とを有する。これらの状態判定ユニット１００，２００及び１００，２００−２〜ｎは、ネットワークＮを介して相互に情報の送受信が可能なように接続されている。同じネットワークＮには、位置管理サーバＥ１、タグデータベースＥ２、地図データベースＥ３、及び位置表示装置Ｅ４が接続されている。
【００８１】
状態判定システムＥでは、状態判定ユニット１００，２００及び１００，２００−２〜ｎは、所定の環境において、タグを介した人の状態判定を行うのに適した場所に設置される。状態判定ユニット１００，２００及び１００，２００−２〜ｎによる状態判定結果は、位置管理サーバＥ１に収集される。
【００８２】
図２０は、状態判定システムＥにおいて、位置管理サーバＥ１の有する状態遷移図の一例である。位置管理サーバＥ１は、状態判定ユニット１００，２００及び１００，２００−２〜ｎから送信された状態判定結果の受信をイベントして、図２０に示すような状態遷移図から、タグの付された移動体の所在を判定する。タグデータベースＥ２には、タグのＩＤと、対応するタグの貼付された移動体の情報（識別番号、氏名など）とが対応付けられている。この対応付けにより、移動物としてのタグの状態判定を行うことで、移動体の状態判定が可能となる。
【００８３】
地図データベースＥ３には、図２０に示した状態遷移図に対応する地図データが格納されている。図２１は、状態判定システムＥにおいて、９つの状態判定ユニット１００，２００及び１００，２００−２〜９が設置された環境の地図Ｆである。図２１に示すように、例えば、部屋Ｒ１，Ｒ２との境界上のドアには、状態判定ユニット１００，２００が設置されている。なお、図２１の部屋Ｒ１，Ｒ２はそれぞれ、図１に示した検知エリアＢ２，Ｂ１に対応する。これにより、状態判定システムＥは、部屋Ｒ１と部屋Ｒ２との間を行き来する人の状態（通過、引返し、停滞）を判定することができる。また、階段と廊下との境界に位置する状態判定ユニット１００，２００−７により、階段を上がり終わって廊下に着いた人、あるいはこれから階段を下る人の状態判定が可能となる。更に、エレベータの出入り口付近には、状態判定ユニット１００，２００−８が設置されているため、エレベータを昇降する人の状態（一旦降りて再び乗る、エレベータを待っている等）を判定することができる。
【００８４】
位置表示装置Ｅ４は、位置管理サーバＥ１、タグデータベースＥ２、及び地図データベースＥ３のそれぞれから送信される情報を基に、誰が何処にいるかを可視化する。すなわち、位置表示装置Ｅ４は、位置管理サーバＥ１からタグの状態判定結果を受信すると、タグデータベースＥ２を参照して当該タグの付された人物を特定し、その状態を、地図データベースＥ３から読み出した地図Ｆ上に表示する。地図Ｆ上には、移動体の状態と併せて、人物を識別可能な氏名や番号、記号等が表示されるため、利用者は、判定対象の誰がいま何処に所在するのか（現在地）を一目で把握することができる。上記状態判定結果は、環境に適応した確率オートマトンにより得られたものであるため、表示情報は、未検知や誤検知の影響の少ない正確な情報となる。
【００８５】
同じ環境内でも、場所によって、物の置かれ方やアンテナの電波強度は異なるが、上述のように、１つの環境に複数の状態判定ユニットを設置することで、同じ環境内における周辺状況の相違にも木目細やかに対応することができる。また、確率オートマトンを用いずに状態判定を行うと、アンテナの設置箇所によって、状態判定の精度にバラつきが生じ易いが、本実施例では、状態遷移確率と出力確率とを用いた演算により、相対的に最も確率の高い状態が到達状態と推定される。したがって、複数の状態のうち、少しでも他の状態よりも高確率のものがあれば、その状態が到達状態として浮上することになる。これにより、アンテナの設置箇所による精度のバラつきは低減される。
【００８６】
［状態判定プログラム］
上記実施例で説明した状態判定装置１０３，２０３の各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図２２を用いて、上記の実施例で説明した状態判定装置１０３，２０３と同様の機能を有する状態判定プログラムを実行するコンピュータの一例について説明する。図２２は、状態判定プログラムを実行するコンピュータを示す図である。
【００８７】
図２２に示すように、上記実施例におけるコンピュータ３００は、ＣＰＵ（Central  Processing  Unit）３１０と、ＲＯＭ（Read  Only  Memory）３２０と、ＨＤＤ（Hard  Disk  Drive）３３０と、ＲＡＭ（Random  Access  Memory）３４０とを有する。これら３００〜３４０の各部は、バス４００を介して接続される。
【００８８】
ＲＯＭ３２０には、上記実施例で示す取得部１１３，２１３と、推定部１３３，２３３と、判定部１４３，２４３と、調整部２５３と同様の機能を発揮する状態判定プログラムが予め記憶される。すなわち、ＲＯＭ３２０には、図２２に示すように、状態判定プログラム３２０ａが記憶される。なお、状態判定プログラム３２０ａについては、適宜分離してもよい。
【００８９】
そして、ＣＰＵ３１０が、状態判定プログラム３２０ａをＲＯＭ３２０から読み出して実行する。
【００９０】
そして、ＨＤＤ３３０には、状態遷移確率３３０ａと出力確率３３０ｂとが格納される。状態遷移確率３３０ａ、及び出力確率３３０ｂは、図２に示した状態遷移確率１２３ａ、及び出力確率１２３ｂに、それぞれ対応する。
【００９１】
そして、ＣＰＵ３１０は、状態遷移確率３３０ａ及び出力確率３３０ｂを読み出す。そして、ＣＰＵ３１０は、これらをＲＡＭ３４０に記憶させる。ＣＰＵ３１０は、ＲＡＭ３４０に記憶された状態遷移確率３４０ａ及び出力確率３４０ｂを用いて、状態判定プログラム３２０ａを実行する。また、ＣＰＵ３１０は、ＲＡＭ３４０に記憶された状態遷移確率３４０ａ及び出力確率３４０ｂを用いて、状態判定プログラム３２０ａを実行する。なお、ＲＡＭ３４０に記憶される各データ（状態遷移確率３４０ａ及び出力確率３４０ｂ）は、常に全てのデータがＲＡＭ３４０に記憶される必要はなく、処理に必要なデータのみがＲＡＭ３４０に一時記憶されればよい。
【００９２】
なお、状態判定プログラム３２０ａは、必ずしも最初からＨＤＤ３３０に記憶させておく必要はない。
【００９３】
例えば、コンピュータ３００は、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００が、これらの媒体からプログラムを読み出して実行するようにしてもよい。
【００９４】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【００９５】
なお、上記実施例では、本願の開示する状態判定装置をＲＦＩＤタグにより実現する例について説明したが、通信方式はこれに限定されるものではない。例えば、赤外線通信を用いてもよい。すなわち、環境側に赤外線受光器を設置し、移動体側に赤外線発光器を持たせ、移動体が受光器の検知エリア内に入った時点で、移動物としての発光器の発信するＩＤ信号を受光器が受信するシステムであってもよい。また、通信方式は、無線に限らず、有線通信でもよい。
【００９６】
上記実施例では、環境に設置されるアンテナを２箇所としたが、３箇所以上であってもよい。また、上記実施例では、複数のアンテナの電波到達範囲（検知エリア）が重なることを前提として説明したが、これらは重ならなくてもよい。
【００９７】
以上の実施例１、２を含む実施形態に関し、さらに以下の付記を開示する。
【００９８】
（付記１）環境における移動物の状態の遷移とともに、各状態から他の状態に遷移する確率である状態遷移確率と、各状態において前記移動物の検知または未検知を示す複数の検知情報それぞれが出力される確率である出力確率とを対応付けて記憶する記憶部と、
前記移動物について複数の検知情報が順に出力された場合に、前記記憶部に記憶された状態遷移確率及び出力確率を用いて、前記移動物が到達した状態を推定する推定部と、
前記推定部により推定された状態に基づき、前記移動物の通過を判定する判定部と、
を有することを特徴とする状態判定装置。
【００９９】
（付記２）前記判定部は、前記推定部により推定された状態に基づき、前記移動物の引返し、停滞を判定することを特徴とする付記１に記載の状態判定装置。
【０１００】
（付記３）前記環境の変化に応じて、前記状態遷移確率と前記出力確率とを調整する調整部を更に有することを特徴とする付記１または２に記載の状態判定装置。
【０１０１】
（付記４）コンピュータが実行する状態判定方法であって、
環境における移動物について、各状態において前記移動物の検知または未検知を示す複数の検知情報が順に出力された場合に、前記移動物の状態の遷移とともに、各状態から他の状態に遷移する確率である状態遷移確率と、各状態において前記複数の検知情報それぞれが出力される確率である出力確率とを用いて、前記移動物が到達した状態を推定し、
推定された状態に基づき、前記移動物の通過を判定する
ことを特徴とする状態判定方法。
【０１０２】
（付記５）コンピュータに、
環境における移動物について、各状態において前記移動物の検知または未検知を示す複数の検知情報が順に出力された場合に、前記移動物の状態の遷移とともに、各状態から他の状態に遷移する確率である状態遷移確率と、各状態において前記複数の検知情報それぞれが出力される確率である出力確率とを用いて、前記移動物が到達した状態を推定し、
推定された状態に基づき、前記移動物の通過を判定する
処理を実行させることを特徴とする状態判定プログラム。
【符号の説明】
【０１０３】
１  環境
１０  タグ
１００，２００  状態判定ユニット
１００，２００−２〜ｎ  状態判定ユニット
１０２，２０２  読取装置
１０３，２０３  状態判定装置
１１３，２１３  取得部
１２３  記憶部
１２３ａ，２２３ａ  状態遷移確率
１２３ｂ，２２３ｂ  出力確率
１３３，２３３  推定部
１４３，２４３  判定部
１４３ａ，２４３ａ  通過判定部
１４３ｂ，２４３ｂ  引返し判定部
１４３ｃ，２４３ｃ  停滞判定部
１４４ｃ，２４４ｃ  カウンタ
１０４，２０４  出力部
２５３  調整部
３００  コンピュータ
３１０  ＣＰＵ
３２０  ＲＯＭ
３２０ａ  状態判定プログラム
３３０  ＨＤＤ
３４０  ＲＡＭ
３３０ａ，３４０ａ  状態遷移確率
３３０ｂ，３４０ｂ  出力確率
４００  バス
Ａ１，Ａ２  アンテナ
Ｂ１，Ｂ２，Ｂ３  検知エリア
Ｅ  状態判定システム
Ｅ１  位置管理サーバ
Ｅ２  タグデータベース
Ｅ３  地図データベース
Ｅ４  位置表示装置
Ｍ  移動体
Ｎ  ネットワーク
Ｓ０，Ｓ１，Ｓ２，Ｓ３，Ｓ４，Ｓ５，Ｓ６，Ｓ７，Ｓ８  状態
【図１】
0005696455.tif 000002
【図２】
0005696455.tif 000003
【図３】
0005696455.tif 000004
【図４】
0005696455.tif 000005
【図５】
0005696455.tif 000006
【図６】
0005696455.tif 000007
【図７】
0005696455.tif 000008
【図８】
0005696455.tif 000009
【図９】
0005696455.tif 000010
【図１０】
0005696455.tif 000011
【図１１】
0005696455.tif 000012
【図１２】
0005696455.tif 000013
【図１３】
0005696455.tif 000014
【図１４】
0005696455.tif 000015
【図１５】
0005696455.tif 000016
【図１６】
0005696455.tif 000017
【図１７】
0005696455.tif 000018
【図１８】
0005696455.tif 000019
【図１９】
0005696455.tif 000020
【図２０】
0005696455.tif 000021
【図２１】
0005696455.tif 000022
【図２２】
0005696455.tif 000023