(第1の実施形態)
図1は、本実施形態に係る位置推定システム1Aの構成の一例を示す図である。本実施形態に係る位置推定システム1Aは、位置推定装置2A、移動履歴データベース3、および位置情報マスタデータベース4等を備える。移動履歴データベース3と位置情報マスタデータベース4は、それぞれ位置推定装置2Aと接続されている。また位置推定システム1は、ネットワーク5を介し、移動履歴データベース3と無線にて通信可能に接続される1以上の端末6を備える。当該ネットワーク5は、有線又は無線のネットワークである。また位置推定システム1Aは、ネットワーク5を介し、各端末6と無線にて通信可能な、それぞれが1以上のセンサ7とビーコン8とを備える。このようなセンサ7又はビーコン8を、発信機とも記載する。センサ7又はビーコン8は、移動履歴データベース3と有線又は無線にて通信可能に接続されていてもよい。
なお、図1に示す例においては、位置推定装置2Aと移動履歴データベース3と位置情報マスタデータベース4とは互いに別個のものとして表されるが、位置推定装置2Aは、移動履歴データベース3又は位置情報マスタデータベース4を含んでいてもよい。
位置推定装置2Aは、図1に示すようにデータ取得部20、軌跡抽出部21、および位置推定部22等の機能ブロックを備える。これらの機能ブロックについては後述する。
移動履歴データベース3は、例えばクラウドコンピューティングにおけるストレージ等に記憶されているものである。移動履歴データベース3に記録されているデータは、本実施形態においては移動履歴データベース3が各端末6から受信した情報であるとし、この情報には、これらの各端末6がセンサ7やビーコン8から受信したデータが含まれる。ただしこれに限定されず、センサ7又はビーコン8が、端末6から受信したデータを含む情報を移動履歴データベース3に送信してもよい。
位置情報マスタデータベース4は、位置情報を管理し記憶するための記憶装置等に保存されているものである。位置情報マスタデータベース4には、センサ7やビーコン8などの広義的なセンサの配置されている位置の座標、あるいは配置されていると推測される位置の座標が記録されている。
端末6は、例えば携帯電話やスマートフォンやタブレット、カーナビゲーションシステム、電車における運転士支援システム等である。各端末6には、固有のID(IDentification)が与えられている。端末6は、ネットワーク5を介し、センサ7やビーコン8からの信号を受信し、移動履歴データベース3にデータを送信する。また端末6は、センサ7又はビーコン8に対し適宜信号を送信する。なお、ここでの信号とは、無線での情報の授受のために変調された電波である。
センサ7は、本実施形態においては、その取り付けられた位置の座標がわかっているものとする。センサ7は、当該座標の情報に対応する信号を送信する。そして端末6は、センサ7からの信号を受信することでセンサ7の設置位置の座標の情報を得る。なお、センサ7の設置位置が特定されていない場合は、センサ7が以下に記載する位置推定の対象となってもよい。
ビーコン8は、本実施形態においては、それが取り付けられている位置がどこであるかの推定の対象となるものとする。ただしビーコン8は、取り付けられている位置が特定されているものでもよい。この場合、例えばビーコンの取り付け位置の確認のために、後述するような位置の推定が行われてもよい。各ビーコン8には固有の識別子が与えられている。そしてビーコン8は、自己の識別子に対応する信号を送信し、当該信号を受信した端末6は、当該ビーコン8の識別子を取得する。
端末6は、センサ7からその設置位置の座標を取得すると、その座標およびこれを取得した時刻の情報を含む情報(位置時刻情報とも記載する)を、自己のIDと共に移動履歴データベース3へと送信する。なお、位置時刻情報にIDを組み合わせたものも、以下では位置時刻情報と記載する。
ここで、端末6がセンサ7からその座標を取得した時刻に代わり、端末6は次のような時刻の情報を移動履歴データベース3へ送信してもよい。例えば、センサ7が、その座標の情報の送信の際の時刻に係る情報を座標の情報と共に端末6へ送信し、端末6は、この際に受信する当該時刻に係る情報を移動履歴データベース3に送信してもよい。なお、このような時刻と座標の情報、又はこれに端末6のIDが組み合わされた情報も、位置時刻情報と記載する。
端末6は、ビーコン8から、その電波が届く範囲で、そのビーコン8の識別子を取得できる。端末6は、自己のID、ビーコン8の識別子、ビーコン8の識別子の取得の際の当該ビーコン8からの電波の強度(信号の強度とも記載する)、およびビーコン8から信号を受信した時刻に係る情報を移動履歴データベース3へ送信する。ここでビーコン8からの識別子を含む、端末6から移動履歴データベース3へ送信される情報を受信情報とも記載する。
ここで、端末6が受信するビーコン8からの電波の強度は、ビーコン8と端末6とが近いほど大きくなるため、ビーコン8からの端末6の近さを示す指標となる。このため端末6は、ビーコン8からの信号の強度に代わり、ビーコン8からの近さを数値化したものを移動履歴データベース3に送信してもよい。
端末6は、同一のビーコン8から連続して信号を受信した場合には、この中の1つの信号に対応する情報を保持し、それ以外の信号に対応する情報を削除する。端末6において余分なデータが蓄積されるのを防ぐためである。本実施形態に係る端末6が、同一のビーコン8から受信した複数の信号に対応する情報のうち保持するものは、当該ビーコン8から最初に受信した信号に対応する情報であるとする。ただしこれに限定されず、例えば、端末6は、同一のビーコン8から連続して受信した複数の信号に対応する情報のうち、最後の信号に対応する情報や、任意に選択した信号に対応する情報を残し、それ以外の信号に対応する情報を削除してもよい。端末6は、同一のビーコン8から連続して受信した複数の信号に対応する情報のうち、このようにして残したものを受信情報に含ませ、移動履歴データベース3に送信する。移動履歴データベース3に余分なデータが蓄積されるのを防ぎ、ネットワーク上に多量のデータが送信されてトラヒックが増大するのを防止するためである。本実施形態に係る端末6が、同一のビーコン8から連続して複数の信号を受信した際に、移動履歴データベース3に送信する受信情報は、当該ビーコン8から最初に受信した信号に対応する情報を含むものである。
図2は、本実施形態に係る位置推定装置2Aの機能ブロックの機能と処理内容を説明するための図である。位置推定装置2Aが備えるデータ取得部20は、位置の推定の対象となるビーコン8の識別子を含む受信情報を移動履歴データベース3から読み込む。位置の推定の対象となるビーコン8は、例えば位置情報マスタデータベース4において位置が登録されていないビーコン8や、位置が登録されていても位置の再確認を行ったほうが好ましいと判断されるようなビーコン8である。後者は、例えば、位置の再確認の度に、推定された位置に変化があるようなビーコン8である。また位置の推定の対象となるビーコン8は、上述したようなビーコン8に限定されず、任意のビーコン8であってもよい。例えば、定期的に任意のビーコン8の位置の確認を行うこともあり得るためである。
データ取得部20は、ユーザから、位置の推定対象となるビーコン8の識別子等の入力を受け、位置情報マスタデータベース4から当該識別子等を含む受信情報を読み込んでもよい。あるいはデータ取得部20は、位置情報マスタデータベース4においてビーコン8の座標の情報が記録されているか、またビーコン8の座標が更新毎にどれほど変化しているか等を参照し、これに基づき位置の推定対象のビーコン8を選択してもよい。
データ取得部20は、移動履歴データベース3から読み込んだ受信情報を軌跡抽出部21へ出力する。
またデータ取得部20は、移動履歴データベース3から読み込んだ受信情報における端末6のIDが含まれる位置時刻情報を、移動履歴データベース3から読み込む。
図2に示す一例では、位置推定装置2Aは、識別子がp1とp2の各ビーコン8の位置の推定を行う。このためデータ取得部20は、移動履歴データベース3から、識別子がp1とp2の各受信情報を読み込む。当該受信情報は、図2の中間部分より左に示される。なお、ここでは受信情報を表形式で表しているが、受信情報は、端末6のID、当該端末6がビーコン8から信号を受信した時刻、当該ビーコン8の識別子、および当該ビーコン8からの当該信号の強度が互いに関連付けられていればよい。
データ取得部20は、読み込んだ受信情報におけるIDを参照し、このIDを含む位置時刻情報を移動履歴データベース3から読み込む。このIDは、位置の推定の対象となるビーコン8からの信号を受信した端末6のIDである。図2に例示される、識別子がp1の受信情報には、IDがid1とid3のものがある。このため、データ取得部20は、IDがid1とid3の各位置時刻情報を移動履歴データベース3から読み込む。同様にデータ取得部20は、識別子がp2である受信情報におけるIDがid2とid3であることから、これらのIDの各々が含まれる位置時刻情報を移動履歴データベース3から読み出す。
図2に例示される位置時刻情報は表形式で表されているが、位置時刻情報は、端末6のID、当該端末6がセンサ7から信号を受信した時刻、および当該センサ7の設置位置の座標が互いに関連付けられていればよい。図2の位置時刻情報を参照すると、IDがid1の端末6は、時刻t11において、センサ7より、座標x11を取得していることがわかる。
軌跡抽出部21は、データ取得部20により読み込まれた受信情報と位置時刻情報とをID毎にまとめ、時刻順にソートする。図2の右側には、軌跡抽出部21が、受信情報と位置時刻情報をID毎にまとめ、時刻順にソートしたデータが示される。当該データを参照すると、例えばIDがid2である端末6は、時刻t21において、座標x21に設置されているセンサ7から、当該座標x21を含む情報に係る信号を受信していることがわかる。そして当該端末6は、その後の時刻t22において識別子がp2のビーコン8から強度v22の信号を受信し、さらにその後の時刻t23において座標x23に設置されているセンサ7より信号を受信していることがわかる。当該端末6は、続いて時刻t24において座標x24に設置されているセンサ7より信号を受信していることがわかる。
軌跡抽出部21は、さらにこのデータをビーコン8毎にまとめる。なお、この処理はID毎に受信情報と位置時刻情報をまとめる処理に先立ち行われてもよい。1つの端末6が2つ以上のビーコン8から信号を受信している場合には、これらのビーコン8に係る受信情報の各々に対し、当該端末6のIDを含む位置時刻情報がまとめられてもよい。
軌跡抽出部21は、受信情報と位置時刻情報がID毎にまとめられ時刻順にソートされたデータにおいて、受信情報に基づく情報と、当該受信情報における時刻の直前および直後の各時刻を含む位置時刻情報に基づく情報を抽出する。例えば図2の右側に示される当該データにおいて、IDがid2の場合、軌跡抽出部21は、時刻がt22の行と、時刻t22の直前の時刻t21の行と、時刻t22の直後の時刻t23の行に、それぞれ対応する情報を抽出する。このように、軌跡抽出部21により抽出された情報を軌跡抽出情報とも記載する。
位置推定部22は、軌跡抽出部21より生成された軌跡抽出情報から各ビーコン8の設置位置の座標を算出して推定する。位置推定部22による詳細な処理については後述する。
図3は、端末6の移動の軌跡と軌跡抽出情報との対応を説明するための図である。図3に示す本実施形態におけるビーコン8は固定設置されている。また図3に示すように、端末6は、実線で示された通路に沿って移動可能である。図3に示すように各端末6は、破線によって示される移動に伴いセンサ7やビーコン8からの信号を受信する。なお、破線の矢印の方向が端末の移動方向を示す。以下、具体的に軌跡抽出情報と端末6の移動とを対応付けて説明する。
図3の左の図において、例えばIDが4の端末6について参照すると、当該端末6は、地点A又はその近傍においてセンサ7から信号を受信し、当該センサ7の設置位置である地点Aの座標を取得していることがわかる。軌跡抽出情報を参照すると、ID4の端末6は、時刻が0且つ地点Aで、センサ7から地点Aの座標(10、10)を取得していることがわかる。なお時刻の単位は、例えば秒や分である。続いて当該端末6は、その移動経路において時刻が40のときにビーコン8から強度が100の信号を受信している。そしてまた当該端末6は、時刻が90且つ地点Bで、センサ7から地点Bの座標(80、30)を取得している。IDが1、2、3、5、6の他の各端末についても同様に、図3から移動経路、取得した情報、および当該情報を取得した時刻等がわかる。なお、本実施形態では、端末6が或る地点でセンサ7から信号を受信する場合、当該センサ7の座標は、当該地点の座標と等しいか、当該地点との距離が十分小さい位置の座標であるとする。
図3に例示されるように軌跡抽出情報は、端末6毎に、ビーコン8からの信号の受信を示すデータと、当該ビーコン8からの信号の受信の前後におけるセンサ7からの信号の受信を示すデータとが抽出されていることがわかる。このため或る端末6のこれらのデータを、当該端末6の軌跡抽出情報と記載する。
図4は、座標と時間間隔とを用いた位置推定方法の一例を示す図である。ここでは、図3に示されている、ID3の端末6の移動経路と受信状況と軌跡抽出情報とを参照して、当該位置推定方法の説明を行う。当該端末6は、時刻0で地点Cにおいて、或るセンサ7から座標(80、70)の情報を取得する。その後、当該端末6は、時刻40において識別子がp1のビーコン8から、強度が90の信号を受信する。この信号は、当該ビーコン8の識別子p1の情報に係る信号である。その後、当該端末6は、時刻70で地点Dにおいて、別の或るセンサ7から座標(10、0)の情報を取得する。
ここで、図4に示されるようなID3の端末6の軌跡抽出情報を参照しても、当該端末6の時刻0と時刻70における各位置に関する情報以外の移動経路の情報は得られるとは限らない。このように位置推定装置2Aは、各端末6の移動経路の情報を取得できるとは限らない。本実施形態に係る位置推定装置2Aは、ビーコン8の位置の推定を行うために、端末6が当該ビーコン8から電波を受信した時点における当該端末6の位置の推定を行う。しかし、端末6がビーコン8からの電波を受信した位置の推定のため、位置推定装置2Aが、当該端末6の移動経路の情報を取得するには、センサ7を増加しなければならず、これにより通信量が増加してしまいかねない。このようなことを避けるため、本実施形態に係る位置推定装置2Aは、図3、4等に示されるような軌跡抽出情報を用いつつ、適宜、補正等を行って端末6がビーコン8から信号を受信した位置の推定を行う。ここからの処理は、上述した位置推定部22により行われる。
図4に示す場合において、位置推定部22は、軌跡抽出情報を参照し、地点Cと地点Dとを結ぶ線分によりID3の端末6の移動経路を近似する。そして位置推定部22は、当該端末6が識別子p1のビーコン8から信号を受信した時刻40が、当該端末6が地点Cに存在した時刻0と地点Dに存在した時刻70の間の時間の中でどこに位置するかを算出する。軌跡抽出情報から、端末6が地点Cから移動してビーコン8の信号を受信するまでの時間間隔は40であることがわかり、端末6がビーコン8の信号を受信してから地点Dに到達するまでの時間間隔は30であることがわかる。ビーコン8の位置、又は端末6が当該ビーコン8からの信号を受信したと考えられる位置として、一般的には線形補間を用いて、地点Cと地点Dを結ぶ線分を時間間隔の比、すなわち4対3で内分する点が考えられる。しかし、このような内分点は図4における例示により明らかなように、実際のビーコン8の設置位置にも、当該ビーコン8から端末6が信号を受信した位置にも等しいとは限らない。
以下において、ビーコン8からの信号の受信の前後において端末6がセンサ7より座標の情報を取得する各地点を、第1の地点、第2の地点とも記載する。また以下において、端末6が第1の地点においてセンサ7から座標に係る情報を取得した時刻を、第1の時刻とも記載する。同様に、当該端末6が第2の地点においてセンサ7から座標に係る情報を取得した時刻を、第2の時刻とも記載する。同様に端末6がビーコン8から信号を受信した時刻を受信時刻とも記載する。そして、第1の時刻と受信時刻との間の時間間隔を第1の時間間隔とも記載する。同様に、受信時刻と第2の時刻との間の時間間隔を第2の時間間隔とも記載する。また以下において内分点とは、第1の時間間隔と第2の時間間隔との比により、第1の地点と第2の地点とを結ぶ線分を内分する点を意味するものとする。
ここで本実施形態では、端末6の受信時刻における位置を正確に推定するため、以下に説明する滞留について考慮する。図5は、端末6の滞留の一例を示す図である。ここではID5の端末6の滞留について説明する。図5における左の図には、ID5の端末6の実際の移動経路が示される。ここでの実線と破線は、図3、4の場合と同様、それぞれ通路と端末6の移動経路を示す。またビーコン8や、端末6がセンサ7から情報を受信した位置等の各図形も、上記図3、4の場合と同様である。
端末6が、ビーコン8からの電波を受信できる範囲からしばらく移動しない場合、当該端末6は、当該ビーコン8から複数の信号を受信し得る。理解を容易にするために、端末6が、これら複数の信号の各々に対応する受信情報を移動履歴データベース3に送信した場合を仮定する。ここでは、ID5の端末6が、同一のビーコン8から連続して複数の信号を受信し、これらに対応する複数の受信情報を移動履歴データベース3に送信した場合を考える。このとき軌跡抽出部21は、当該端末6からの当該受信情報と位置時刻情報を時刻順に並べ、図5の中間部分に示されるようなデータを生成する。ただし、本実施形態における端末6が、移動履歴データベース3に送信する受信情報は、あくまでもビーコン8から最初に受信した信号に対応するものであり、上述した仮定は滞留について説明するためのものである。
図5における左の図と中間部分のデータから、ID5の端末6は、時刻0で地点Eにおいてセンサ7から情報を取得した後、時刻40までの間、図5の破線で示す経路に沿い移動していることがわかる。続いて当該端末6は、時刻40においてビーコン8からの信号を受信した後、時刻80までの間において、時刻40までの速度よりも低い速度で移動、又は同じ地点もしくはその近傍に留まっていることがわかる。そして当該端末6は、時刻80から時刻90において、時刻40から時刻80までの速度より高い速度で移動し、時刻90においてセンサ7から座標の情報を取得していることがわかる。このような端末6の移動に対し抽出される軌跡抽出情報は、図5の右下に示されるものとなる。
この軌跡抽出情報から、端末6の移動経路として導き出される経路は、図5の右上に示される、第1の地点(E)と第2の地点(F)とを結ぶ線分に沿う経路となる。そしてビーコン8の設置位置として認識され得る地点は、当該線分により表される経路を、第1の時間間隔40と第2の時間間隔50の比(4:5)に応じて内分した点である地点Gとなる。しかし、実際のビーコン8の位置は地点Fに近い。地点Eと地点Fとの間の距離が小さくない場合、又は端末6が地点Eから地点Fまでの移動に費やした時間が小さくない場合には、地点Gは実際のビーコン8の設置位置からは離れた地点となり得る。このように端末6の移動速度の影響により、ビーコン8の位置の推定の精度の劣化が生じ得る。
本実施形態においては、端末6の平均移動速度が所定値以下の場合を滞留とする。なお、この所定値は、ユーザにより予め設定されている値である。この所定値は、端末6の種類毎に予め定められている。例えば、端末6がカーナビゲーションシステムや携帯電話等の場合があるが、所定値はこれらの各場合に応じ予め定められている。
本実施形態における位置推定部22は、ビーコン8の位置推定に用いられる端末6について軌跡抽出情報を参照し、当該端末6の第1の地点と第2の地点との間における平均移動速度を算出する。次に位置推定部22は、当該平均移動速度から、当該端末6が滞留しているか否かを判定する。位置推定部22は、当該端末6が滞留していると判定される場合であって、第1の地点と第2の地点との間の距離が所定の距離以上の場合に、第2の時間間隔を補正する。この補正は、例えば、滞留が無かった場合に、端末6が移動に実際にかかったと推定される時間間隔等への変換を行うものである。この変換のために予め移動履歴データベース3、位置情報マスタデータベース4、又は他のデータベースには、ビーコン8の設置位置として想定される範囲や第2の地点付近において、どれ程の時間、不特定の端末6が位置し続けるか等のデータが保持されている。このデータは、第2の地点の付近やビーコン8が設置されていると見積もられる範囲において、設置場所が特定されている他のビーコン8やセンサ7から情報を取得した端末6を介し蓄積されたものでもよい。また当該データは、設置位置が特定されていないが当該範囲内に存在すると見込まれるビーコン8からの信号を受信した多数の端末6を介して蓄積されたものでもよい。位置推定部22、又は位置推定装置2Aに対し設定を行う者は、このデータを用いて、滞留により、本来の移動にかかるはずの時間間隔がどのように変化するのかを事前に調べ、どのように補正するのかを決定する。例えば、移動に10分程の距離の或る範囲において平均100分の間、不特定多数の端末6が位置し続けるという統計データがある場合、位置推定部22は、滞留する端末6の第2の時間間隔を1/10倍するなどする。あるいは、或る範囲の端から端の距離が大きくないのに、不特定多数の端末6が当該範囲に平均1時間は留まっているような統計データがある場合、位置推定部22は、第2の時間間隔から1時間を差し引くなどする。
ここで第2の時間間隔を補正する理由は、以下の理由による。まずビーコン8が備え付けられる場所は、飲食店等の、端末6の滞留があると考えられる場所である場合が多い。また端末6は、同一のビーコン8から複数の信号を連続して受信した場合、最初の信号に係る受信情報を移動履歴データベース3に送信し、他の信号に係る受信情報を送信しない。このため、同一のビーコン8から最後に信号を受信してから、次にセンサ7から座標の情報を取得するまでの時間間隔については不明である。この時間間隔は、滞留がなかった場合の第2の時間間隔とほぼ等しいと考えられる。このため位置推定部22は、当該地点の滞留時間等の統計を用いて、第2の時間間隔を補正する。
逆に、端末6が、同一のビーコン8から連続して受信した複数の信号のうち最後の信号に係る受信情報を移動履歴データベース3に送信する場合には、位置推定部22は、第1の時間間隔を補正する。なおこれら以外に、位置推定部22は、第1の時間間隔と第2の時間間隔の両方を補正してもよい。また、受信情報がビーコン8から受信した複数の信号のうちの任意のものに係る場合には、これに応じた補正がされてもよい。
なお本実施形態においては、滞留があっても第1の地点と第2の地点との距離が小さい場合、例えば当該距離が所定の距離未満の場合には、第2の時間間隔の補正は行われない。なぜならこの場合には、ビーコン8の設置位置として推定される範囲がそれほど広範ではないためである。そして補正を行わないことで、位置推定部22の計算量を増加させないためである。第2の時間間隔への補正の要否の境目となる、上記所定の距離は、ユーザにより適宜設定される。例えば、所定の距離として設定されるものは、ビーコン8の実際の設置位置と、推定されたビーコン8の位置との間の距離を誤差とした場合に、許容する誤差の例えば2倍、または当該誤差に一定値を足したものとなる。
本実施形態に係る位置推定装置2Aは、第2の時間間隔に対し補正を行った場合に、補正後の第2の時間間隔と第1の時間間隔との比を用いた線形補間により得られる内分点の座標を、受信時刻における端末6の位置として推定する。一方、第2の時間間隔に対し補正を行わなかった場合には、位置推定装置2Aは、元の第1の時間間隔と第2の時間間隔との比を用いた線形補間により得られる内分点の座標を、受信時刻における端末6の位置として推定する。なお、このような線形補間により得られた内分点の座標を補間座標又は線形補間座標とも記載する。この線形補間座標は、端末6毎に得られるため、端末6の線形補間座標、端末6の補間座標とも記載する。
端末6が滞留する場合もある一方、端末6の平均移動速度が高いために、ビーコン8の位置の推定の精度が劣化する場合もある。このような場合を、通過と記載する。図6は、端末6の通過の一例を示す図である。図6における左の図には、ID3の端末6の実際の移動経路が示される。ここでの実線と破線は、図3、4の場合と同様、それぞれ通路と端末6の移動経路を示す。またビーコン8や、端末6がセンサ7から情報を受信した位置等の各図形も上記図3、4の場合と同様とする。図6の真ん中には、ID3の端末6の軌跡抽出情報が示される。図6の左の図と軌跡抽出情報から、ID3の端末6は、時刻0で地点Hにおいてセンサ7から座標の情報を取得していることがわかる。そして当該端末6は、図6の左において破線で示される移動経路に従って移動し、時刻40においてビーコン8から強度90の信号を受信していることがわかる。次に当該端末6は、時刻70においてセンサ7から座標の情報を取得していることがわかる。ここで、当該端末6の移動速度が高い場合、時刻5から時刻40までの間に進む距離と、時刻40から時刻70までの間に進む距離の少なくとも一方は大きくなると考えられる。ここでは、これらの距離はどちらも大きいとする。
軌跡抽出情報から当該端末6の移動経路として導き出される経路は、図6の右の図において示される破線により表される経路となる。この場合、地点Hと地点Iとを結ぶ線分で表される経路と、ビーコン8の実際の設置位置との距離は大きくなり得る。そしてこの場合、ビーコン8の設置位置として推定される地点は、地点Hと地点Iとを結ぶ経路上の地点Jとなり、これは実際のビーコン8の設置位置から離れた位置となり得る。このように端末6の移動速度が高い場合には、線形補間によるビーコン8の位置の推定の精度が落ちてしまう可能性が高くなる。
ビーコン8の設置位置のより正確な推定のために、位置推定装置2Aは、ビーコン8からの信号を受信した1以上の端末6の各内分点の座標に対し、以下に説明する重みを付与する。そして位置推定装置2Aは、これらの内分点の座標の重み付き平均を算出することで、ビーコン8の位置を推定する。
まずビーコン8の信号の強度は、ビーコン8からの近さに対応する。そのため、当該強度が高いほど、端末6がビーコン8から信号を受信した位置は、ビーコン8の設置位置に近い。このため本実施形態における重みは、ビーコン8からの信号の強度をパラメータとして含む。
また第1の地点と第2の地点との間の距離が小さいほど、ビーコン8の設置位置としての推定対象となる範囲は狭まるので、本実施形態における重みは、当該距離の逆数をパラメータとして含む。
また、複数の端末6の移動速度が互いに同じ場合、第1の時刻と第2の時刻との間の時間間隔が小さい端末6ほど移動距離は小さくなるため、当該時間間隔を本実施形態における重みのパラメータとして考慮に入れることができる。ただし、本実施形態においては、第1の時間間隔と第2の時間間隔(補正された場合は補正後の第2の時間間隔)のうち、より短い時間間隔(短時間間隔とも記載する)の逆数をパラメータとして重みに含ませる。その理由は、以下の通りである。第1、2の時間間隔のうち、例えば第2の時間間隔が小さい場合には、内分点は第2の地点により近い。また逆に第1の時間間隔が第2の時間間隔より小さい場合には、内分点は第1の地点により近い。平均移動速度が等しい1以上の端末6の各々の短時間間隔を第2の時間間隔とすると、これらの各端末6の受信時刻における位置として推定される内分点は、短時間間隔が小さいほど各々の第2の地点に近い。そしてまた第2の地点の座標は特定されている。一方、端末6の移動経路において第1、2の各地点以外の座標は特定されていない。このため、1以上の端末6の線形補間座標のうち、短時間間隔がより短い補間座標に対し大きい重みを持たせるほうが、ビーコン8の設置位置として想定される範囲が狭まり、より正確な座標が求まると考えられる。このため、上記重みに短時間間隔の逆数をパラメータとして含ませる。ただし、これに限定されない。
これらのことより、本実施形態では、線形補間座標に付加する重みを次のように定義する。
重み=(x×1/y×1/z)
ここで、x、y、zは、それぞれビーコン8からの信号の強度、第1の地点と第2の地点との間の距離、短時間間隔を表す。
なお、本実施形態に係る位置推定装置2Aは、通過の場合については補正を行わない。理由は以下の通りである。端末6の平均移動速度が高いために移動距離が大きくなることが位置推定の精度の劣化の原因となる。ここで上述した重みにおいて、第1の地点と第2の地点との間の距離の逆数がパラメータとして用いられ、精度の劣化の原因となる移動距離の大きさについて既に考慮されている。このため本実施形態に係る位置推定装置2Aは、通過の場合には、滞留の場合のような補正を行わない。ただしこれに限定されず、例えば第1の時間間隔と第2の時間間隔の少なくとも一方に対し、補正を行ってもよい。
以下、本実施形態に係る位置推定装置2Aの動作について説明する。図7は、本実施形態に係る位置推定装置2Aによる処理のフローチャートである。位置推定装置2Aのデータ取得部20は、位置の推定の対象となるビーコン8の識別子を含む受信情報と、当該受信情報に含まれるIDを含む位置時刻情報を、移動履歴データベース3より取得する(ステップS100)。
図8は、データ取得部20により取得された受信情報と位置時刻情報を例示する図である。ステップS100においてデータ取得部20は、図8に例示されるような受信情報と位置時刻情報を移動履歴データベース3より取得する。図8に示される受信情報と位置時刻情報は、それぞれ図2に示される受信情報と位置時刻情報に具体的な数値を代入したものに対応する。
図8に示される受信情報から、ここでは位置推定装置2Aは、識別子p1とp2の各ビーコン8の設置位置の推定を行うことがわかる。また図8に示される受信情報から、例えばID1の端末6は、時刻0において識別子p1のビーコン8から強度70の信号を受信していることがわかる。
また図8に示される位置時刻情報から、例えばID1の端末6は、時刻0においてセンサ7より当該センサの座標である(10、80)の情報を取得していることがわかる。
図7を再度参照する。軌跡抽出部21は、データ取得部20により取得された受信情報と位置時刻情報とを用いて、軌跡抽出情報を生成する(ステップS101)。
図9は、軌跡抽出部21により生成された軌跡抽出情報を例示する図である。図9に示される軌跡抽出情報は、軌跡抽出部21により、図8に示される受信情報と位置時刻情報から生成されたものである。ここでは、受信情報と位置時刻情報とがまとめられた情報が、端末6のID毎に分けられ、時刻が昇順となるよう並び替えられている。これにより、端末6毎の軌跡抽出情報が生成される。またこの端末6毎の軌跡抽出情報においては、ビーコン8からの信号を受信した直前と直後の位置時刻情報からのデータが使用されている。ここで例えばID1の端末6の軌跡抽出情報を参照すると、上述した受信情報から読み取られたように、当該端末6は、時刻0においてセンサ7から当該センサ7の設置位置の座標である(10、80)の情報を取得していることがわかる。また当該端末6は、時刻7において識別子p1のビーコン8から強度が70の信号を受信していることがわかる。さらに当該端末6は、時刻60においてセンサ7から、当該センサ7の座標である(0、60)の情報を取得していることがわかる。次にステップS102における位置推定部22による処理を、図10と11を参照して説明する。
図10は、本実施形態における位置推定部22による処理のフローチャートである。また図11は位置推定部22の処理に基づき生成される軌跡情報を例示する図である。位置推定部22は、軌跡抽出情報に基づいて、端末6毎の、第1の時間間隔、第2の時間間隔、および第1の地点と第2の地点との間の距離を算出する。また位置推定部22は、第1の地点と第2の地点との間の時間間隔を算出し、これにより第1の地点と第2の地点との間の距離を除算し、端末6の平均移動速度を算出する。位置推定部22は、当該端末6の平均移動速度が所定値より大きい場合には、当該端末6は滞留していないと判定する。一方、端末6の平均移動速度が所定値以下の場合には、位置推定部22は、当該端末6が滞留していると判定する。そして位置推定部22は、滞留の場合であって、第1の地点と第2の地点との距離が所定の距離以上の場合に、第2の時間間隔の補正を行うこととし(ステップS200)、これ以外の場合に、当該補正を行わないこととする(ステップS200)。
なお本実施形態では、位置推定部22は、第1の地点と第2の地点との間の距離にかかわらず、当該2点間における端末6の平均移動速度を算出している。しかしこれに限定されず、位置推定部22は、当該距離が所定の距離より小さい場合に、当該2点間における平均移動速度の算出を行わないものとしてもよい。
図11を参照し、位置推定部22により行われるステップS200の処理について具体的に説明する。なお、図11における時間の単位は秒である。また図11における座標は、緯度と経度のように、地面に対し平行で、互いに直交する2つの座標軸上の座標とし、単位はメートルであるとする。また図11における距離の単位は、メートルとなる。また、本実施形態に係る位置推定部22は、軌跡抽出情報を拡張した情報であって、当該軌跡抽出情報を用いて算出した値を含む軌跡情報を生成する。ただし、位置推定部22は、軌跡情報を生成せずに軌跡抽出情報を用いて、ステップS200、ステップS201、又はステップS203の処理を行ってもよい。
なおここでは、軌跡抽出情報と軌跡情報は共に表形式で表されるとする。ただし、軌跡抽出情報又は軌跡情報の各列の項目におけるデータが、ID毎に関連付けられて記憶されていれば、軌跡抽出情報又は軌跡情報は表形式でなくともよい。また軌跡情報は、図11に示す列の項目の全てを有さなくともよく、これらの項目のうちの一部を有するものでもよい。あるいは軌跡情報は、図11に示す列の項目以外の項目を有するものでもよい。本実施形態における軌跡情報と軌跡抽出情報は、位置推定装置2Aに一時的に記憶されるとする。記憶される軌跡情報や軌跡抽出情報は、ユーザが認識可能なデータとして記憶されなくともよく、位置推定装置2Aがこれを用いて処理を行うことが可能に記憶されればよい。また軌跡情報は、位置推定装置2Aによる処理に応じて、記憶される内容が更新されていってもよい。例えば、或る処理の後に、軌跡情報においてそれまで用いられていた情報を位置推定装置2Aが用いなくなった場合に、当該情報が消去され新たな情報が軌跡情報に付加されてもよい。
図11を参照し、ID1の場合について説明する。軌跡抽出情報において、ID1の端末6の、第1の時刻は0、受信時刻は7、第2の時刻は60である。ここでは位置推定部2Aは、第1の時間間隔を7、第2の時間間隔を53と求める。ここではこれらは、軌跡情報の時間間隔の列に記録される。また軌跡抽出情報において、ID1の端末6の第1の地点の座標は(10、80)、第2の地点の座標は(0、60)である。ここから位置推定部2Aは、第1の地点と第2の地点との間の距離を算出し、22.36(22.36≒{(0−10)2+(60−80)2}1/2)を得る。ここでは当該値は、軌跡情報の距離の列に記録される。次に位置推定部22は、第1の地点と第2の地点との間の距離を、第1の時間間隔と第2の時間間隔の和により除算するなどし、ID1の端末6の平均移動速度を算出する。ここでは当該平均移動速度は0.37(22.36/60≒0.37)となる。ここでは当該平均移動速度は、軌跡情報の平均移動速度の列に記録される。
ここで、端末6が、滞留しているか否かの判定条件を、平均移動速度が1以下であるか否かとする。すなわち平均移動速度が1以下の場合、滞留となる。ここでID1の端末6の平均移動速度は0.37であることから、位置推定部22は、当該端末6が滞留していると判定する。
また位置推定部22は、ID1の端末6の第1の地点と第2の地点との間の距離22.36が、所定の距離より小さいことから、当該端末6の第2の時間間隔の補正を行わないこととする。なお、ここでは、第2の時間間隔に対し補正を行うための第1の地点と第2の地点との間の距離についての判定条件に係る所定の距離を25とする。
位置推定部22は、同様にして、ID毎に、第1の地点と第2の地点との間の距離を算出する。また位置推定部22は、ID毎に、平均移動速度を算出する。ここで図11において、ID2の端末6について軌跡情報を参照すると、平均移動速度は所定値以下の0.37であることから、当該ID2の端末6に滞留があったことがわかる。同様にID2の端末6における第1の地点と第2の地点との間の距離は、所定の距離以上の67.08である。これらより、位置推定部22は、ID2の端末6の第2の時間間隔の補正を行う。ここでの補正は、第2の時間間隔を1/10倍し、これにより得られたものを新たな第2の時間間隔とするものである。これにより、ID2の端末6の、補正前に150であった第2の時間間隔は、15になる。図11に示す例においては、補正処理の後に得られた第1の時間間隔と第2の時間間隔は、補正時間間隔の列に示される。
図10を再度参照する。位置推定部22は、線形補間により、第1の時間間隔と第2の時間間隔との比を用いて、第1の地点と第2の地点とを結ぶ線分上の内分点を算出する(ステップS201)。ここで用いられる第2の時間間隔は、上記補正があった場合には、補正後のものとなる。図11を参照すると、第2の時間間隔に補正が行われていないID1の場合の線形補間座標は(8.8、77.7)、当該補正がされたID2の場合の線形補間座標は(30、40)である。
図10を参照すると、位置推定部22は、ステップS201に続き、各IDの場合における重みを算出する(ステップS202)。この重みの計算には、上述したように、端末6がビーコン8から受信した信号の強度と、第1の地点と第2の地点との間の距離と、短時間間隔が用いられる。
図11を参照して具体的にステップS202の処理を説明する。図11に示す例では、重みの計算に用いるための、短時間間隔、および第1の地点と第2の地点との間の距離は、それぞれID毎に、取得間隔/時間の列と取得間隔/距離の列に記録される。なお、この「取得間隔/時間」は、取得間隔のうちの時間を示すものであり、同様に、「取得間隔/距離」は、取得間隔のうちの距離を示すものである。ID1の場合、第1の時間間隔は7で第2の時間間隔は53であるため、短時間間隔は7となる。また図11において、ID1の場合の第1の地点と第2の地点との間の距離は22.36であるため、当該値の小数点以下2桁目を四捨五入した22.4が取得間隔/距離の列に示されている。
同様に図11の軌跡情報におけるID2の場合には、取得間隔/時間の列には、短時間間隔である補正後の第2の時間間隔15が示され、取得間隔/距離の列には67.1が示される。
図11を用いて、位置推定部22による重みの計算について説明する。位置推定部22は、ID毎に、上述した重みを算出するための式におけるx、y、zのそれぞれに対し、強度と取得間隔/距離と取得間隔/時間の各値を代入し、重みを算出する。例えばID1の場合、重みは0.45(0.45≒70×1/22.4×1/10)となる。その他のIDの場合についても同様である。
図10を再び参照すると、位置推定部22は、各IDにおける線形補間座標と重みとを用いて、ビーコン8の識別子毎に、ビーコン8の設置位置として推定される位置の座標(ビーコン8の推定座標、又は推定座標とも記載する)の算出を行う(ステップS203)。なお、ビーコン8の設置位置として推定される位置を推定位置とも記載する。また同様に、端末6の線形補間座標における位置を端末の推定位置とも記載する。位置推定部22は、ステップS203において得られたビーコン8の推定座標を位置情報マスタデータベース4に記憶する。
図11を参照すると、位置推定部22は、識別子p1のビーコン8の推定座標の算出において、ID1、2、3のそれぞれにおける補間座標と重みとを用いて重み付き平均を算出することにより、当該ビーコン8の推定座標を得ている。図11では、当該推定座標は(9.4、63)と示されている。識別子p2のビーコン8の推定座標の算出においても同様である。
なお、位置推定装置2Aは、位置情報マスタデータベース4に出力したビーコン8の座標を、位置の特定されていない他のビーコン8の位置の推定に用いてもよい。例えば、位置推定装置2Aは、或るビーコン8の位置の推定において、その際に用いられる位置時刻情報に示されるセンサ7の設置位置から或る一定の範囲に、その推定位置が含まれるビーコン8の推定座標を用いてもよい。この場合、位置の推定の対象となるビーコン8からの信号を受信した端末6は、当該推定に用いられるセンサ7からの信号と共に、当該センサ7の近傍に位置していると推定されるビーコン8からの信号を受信している可能性が高い。このため、位置推定装置2Aは、このような推定座標が得られているビーコン8からの受信情報を、当該ビーコン8の推定座標と併せて、位置時刻情報として用いて、他のビーコン8の位置の推定を行ってもよい。この場合、データ取得部20は、位置情報マスタデータベース4より、ビーコン8の推定位置を取得する。またこの場合、データ取得部20又は軌跡抽出部21は、位置情報マスタデータベース4からのビーコン8の推定座標と、当該ビーコン8に係る受信情報から位置時刻情報又は軌跡抽出情報を生成する。なお、位置情報マスタデータベース4に記録されているビーコン8の推定座標が信頼できるものか否かの判断のため、当該ビーコン8の一定回数以上の位置推定の結果、その座標に変化がないこと等を示す情報が当該データベースに記録されていてもよい。
図12は、従来技術を用いて位置推定を行った場合と、本実施形態における位置推定を行った場合の各精度の比較例を示す図である。図12は、図9に示される軌跡抽出情報を用い、識別子p1とp2の各ビーコン8の設置位置の座標の推定を行った結果を表したものである。図12において、第2の時間間隔を補正しない従来技術を用いた場合が左に、第2の時間間隔を補正する本実施形態に係る位置推定方法を用いた場合が右に示されている。なお、ここでの従来技術には、上記線形補間による端末6の補間座標の算出と、当該補間座標の重み付き平均によるビーコン8の推定座標の算出が含まれていると仮定している。ただし、この仮定は第2の時間間隔の補正を行った場合の効果を示すためのものであり、実際の従来技術にこれらが含まれているとは限らない。
図12の上段の左右には、ビーコン8の位置推定に用いられた各端末6の推定位置が示されている。なお、従来技術を用いた場合における端末6の推定位置は、時間間隔に補正を行わずに得られた内分点に対応する。図12においては図3等の場合と同様、各端末6の第1の地点および第2の地点は小円で表され、各端末6の推定に係る移動経路は破線で表される。これらの各破線に付されたIDn(nは自然数)は、当該破線が示す移動経路を移動したと推測される端末6のIDを示す。また当該移動経路上には、ビーコン8からの信号(電波)を示すマークであって、破線で輪郭が縁取られたマークが記されるが、このマークのある地点が端末6の推定位置となる。
図12の下段の左右の図には、各ビーコン8の実際の位置と推定位置が、それぞれ実線と破線のビーコン8を表すマークにて示される。また図12の下段の左右の図におけるビーコン8の推定位置を示すマークを囲むように記載される実線と破線の楕円は、ビーコン8の推定位置から、ビーコン8の設置位置がどれ位離れているかを示すために記載されたものである。またこれらの楕円は、ビーコン8の推定位置に基づき、ビーコン8の設置位置としてさらに推測され得る範囲を示す。また図12の下段の図において、ビーコン8からの信号を表す、波線で輪郭が縁取られたマークと共に数字が記載されているが、これは重みを示す。
図12において、識別子p2のビーコン8と、当該ビーコン8の位置推定に用いられるID4、5、6の端末6に着目する。図12の左上段、すなわち従来技術を用いて得られた、各端末6の推定位置が示された図を参照すると、第2の時間間隔について補正はされていない。図11に示した通り、ID4、5、6の端末6にはいずれも滞留がある。しかしこのような滞留は、図12の左上段に示す従来技術の場合における各端末6の推定位置には反映されていない。このため従来技術を用いて得られた端末6の推定位置は、実際の受信時刻における当該端末6の位置とは大きく異なる可能性がある。このように、従来技術における場合では、ビーコン8の推定座標を算出する前の、端末6の推定位置を求める段階から誤差が生じ得る。そして、これによりビーコン8の設置位置の推定対象となる範囲が狭められていない。そして滞留を考慮に入れずに求めた端末6の推定位置の座標から算出されるビーコン8の推定座標は、実際のビーコン8の設置位置の座標とは異なる可能性が高いと同時に、その誤差も無視できないと考えられる。図12に示す一例においては、この従来技術を用いた場合の誤差(ビーコン8の設置位置と推定位置との間の距離)は13.7mとなる。
一方、本実施形態に係る位置推定方法を用いた場合、ID4、5、6の端末6に滞留があったことが、これらの各補間座標に反映されている。これにより、端末6の受信時刻における推定位置が実際の位置により近いものとなる可能性が高い。またこれにより、図12の左上段と右上段の各図における破線の楕円に示される、ビーコン8が存在すると見込まれる範囲が、本実施形態における補正を用いた場合では、従来技術における場合より狭い範囲に特定されている。そして、この補正を用いて算出された補間座標に対し重み付き平均を行うことで、ビーコン8の設置位置の推定における誤差が小さくなると考えられる。図12の右下に示すように、本実施形態に係る位置推定方法を用いると、ビーコン8の推定位置は、従来の場合よりもビーコン8の実際の設置位置に近いものとなった。そしてこの場合の誤差は、従来技術を用いた場合よりも小さく、6.1mとなった。
本実施形態によれば、ビーコン8からの信号の受信の前後における端末6の移動が滞留を含む場合であっても、位置の推定の精度の劣化を防止することができる。
(第2の実施形態)
第1の実施形態では、位置の推定の対象となるビーコン8に与えられている識別子が、ビーコン8毎に一意的に決められている場合について説明した。しかし、或るビーコン8と同一の識別子を不正に有する他のビーコン8(なりすましビーコン8Fとも記載する)が存在する場合もある。このように或る識別子を有するなりすましビーコン8Fが存在する場合、正当に当該識別子を有するビーコン8(正当なビーコン8Tとも記載する)の設置位置の推定において、次のような問題が生じ得る。当該推定において、位置推定装置2Aは、正当なビーコン8Tから信号を受けた端末6と、なりすましビーコン8Fから信号を受けた端末6からの各受信情報を取得し得る。そして位置推定装置2Aは、これらの端末6のIDを含む位置時刻情報を取得し得る。これにより位置推定装置2Aは、正当なビーコン8Tとなりすましビーコン8Fに関する各受信情報に基づいて、軌跡抽出情報を生成する可能性がある。そして位置推定装置2Aは、これらのビーコン8の各々から信号を受信した端末6が同一のビーコン8から信号を受信したものとして、各端末6の補間座標を一緒くたにして重み付き平均を行ってしまう可能性がある。そしてこのような重み付き平均の結果、正当なビーコン8Tの推定位置が、実際の設置位置より、なりすましビーコン8Fの設置位置の側へずれてしまう可能性がある。
本実施形態に係る位置推定装置2Bは、或る識別子を有するビーコン8の設置位置の推定において、同じ識別子を有する他のビーコン8がある場合において、推定されたビーコン8の位置に誤りがあると判定することができる。
図13は、本実施形態に係る位置推定システム1Bの構成の一例を示す図である。図13における位置推定システム1Bに含まれる位置推定装置1B以外の要素は、上記第1の実施形態におけるものと同様であるため説明を省略する。ただし図13におけるビーコン8は、正当なビーコン8T、又はなりすましビーコン8Fである。また本実施形態に係る位置情報マスタデータベース4は、上記実施形態の場合において記憶する情報に加え、ビーコン8の推定位置が誤っているものか否かの情報を記憶する。当該システムに含まれる装置等の間の接続関係も、付されている符号に関係なく上記実施形態における接続関係と同様とする。
位置推定装置2Bは、上述した機能ブロックに加え、誤り判定部23を備える。誤り判定部23は、位置推定部22に接続され、位置推定部22により算出されたビーコン8の推定座標と端末6の補間座標と重みとを取得する。誤り判定部23は、ビーコン8の推定位置と端末6の推定位置との間の距離(差分距離とも記載する)を算出し、当該距離と重みを用いて誤りスコアを算出する。ここで誤りスコアは、本実施形態では以下のように定義される。
誤りスコア=重み×差分距離
誤りスコアについて説明する。なお、この誤りスコアは、端末6毎に算出されるものであるため、或る端末6の補間座標を用いて算出された誤りスコアを、当該端末6の誤りスコアとも記載する。或る識別子を有するビーコン8の設置位置の推定に用いられる、或るIDの端末6の補間座標に付与される重みが大きい場合、当該端末6の推定位置は、通常の場合、当該ビーコン8の設置位置に近いと考えられる。しかし重みが大きいにも関わらず、差分距離が大きい場合、当該端末6は、当該ビーコン8と同一の識別子を有するなりすましビーコン8Fからの信号を受信したと考えられる。このため誤り判定部23は、或る識別子のビーコン8の設置位置の推定において、或る端末6の誤りスコアが閾値より大きい場合、当該ビーコン8の推定位置は誤っていると判定する機能を有する。
なおこの閾値は、例えば、設置位置が特定された任意の複数のビーコン8のうちの2つのビーコン8の距離の平均値等に基づき、ユーザにより適宜設定される値であるとする。
またなお、誤りスコアは上記の定義に限定されず、例えば、互いに桁数を合わせた重みと差分距離との和であってもよいし、桁数を互いに合わせた重みと差分距離のうち小さい値でもよい。
位置推定装置2Bは、位置推定部22により算出されたビーコン8の推定座標と共に、誤り判定部23により判定された結果を位置情報マスタデータベース4に記録する。
図14は、本実施形態に係る位置推定装置2Bの各機能ブロックの処理内容を説明するための図である。ここで、データ取得部20と軌跡抽出部21と位置推定部22による処理とこれらにより収集又は導出される情報は、上記第1の実施形態における場合と同様であるため、説明を省略する。
誤り判定部23は、上述したようにビーコン8の推定座標と端末6の補間座標と重みとを取得し、これらに基づき誤りスコアを算出し、当該誤りスコアが閾値より大きいか否かを判定する。誤り判定部23は、或る識別子のビーコン8の設置位置の推定において、少なくとも1つの端末6の誤りスコアが閾値より大きい場合、位置推定部22により算出された当該ビーコン8の推定座標は不正確であると判定する。また誤り判定部23は、このような判定の結果を含む誤り判定情報を生成する。図14に示す誤り判定情報を参照すると、識別子p1のビーコン8の推定座標は誤りがあると判定されていることがわかる。また識別子p2のビーコン8の場合における判定結果「-」は、当該ビーコン8の位置の推定に誤りがないことを示している。なお、ビーコン8の位置の推定に誤りがないとする判定結果として誤り判定情報に格納されるデータは、例えば初期値やNill値など、誤りなしを示すデータであれば特に限定されない。
図15は、本実施形態に係る位置推定装置2Bによる処理のフローチャートである。当該フローチャートにおいて、ステップS100からステップS102までの各処理の主体および処理内容は、図7を参照して説明した上記第1の実施形態の場合と同様であるため、説明を省略する。ステップS103において、位置推定装置2Bの誤り判定部23による処理が実行される。
図16は、本実施形態における誤り判定部23による処理のフローチャートである。誤り判定部23は、ステップS102において位置推定部22により得られたビーコン8の推定位置と、当該ビーコン8の設置位置の推定に用いられた端末6の推定位置との間の距離である差分距離を算出する(ステップS300)。続いて誤り判定部23は、ステップS300で算出した差分距離と、ステップS102におけるステップS202(図10)において位置推定部22が算出した重みとを用いて、誤りスコアを算出する(ステップS301)。誤り判定部23は、算出した誤りスコアを閾値と比較する。誤り判定部23は、誤りスコアが閾値よりも大きい場合には、ステップS102におけるステップS203で算出したビーコン8の推定座標が誤っていると判定し、そうでない場合にはビーコン8の位置の推定が誤っていないと判定する(ステップS303)。誤り判定部23は、ステップS303における処理による誤り判定結果を位置情報マスタデータベース4に記憶する。
図17は、本実施形態に係る位置推定装置2Bによる誤り判定処理の一例を説明するための図である。ここでは、位置推定装置2Bが移動履歴データベース3より、図17の左に示される位置時刻情報と受信情報とを取得した場合を考える。ここでの位置時刻情報は、第1の実施形態に係る位置推定装置2Aによる処理の説明のために、図8に例示した位置時刻情報と等しい。またここでの受信情報は、識別子以外、位置推定装置2Aによる処理の説明のために、図8で例示した受信情報と等しい。図17における受信情報において、ID1から6の端末6が受信した、ビーコン8からの信号に係る情報に含まれる識別子は、p1であるとする。
位置推定装置2Bのデータ取得部20は、第1の実施形態におけるステップS100(図7)における処理により、図17の左に示される位置時刻情報と受信情報を移動履歴データベース3から読み込む。軌跡抽出部21は、ステップS101において、位置時刻情報と受信情報とから軌跡抽出情報を生成する。位置推定部22は、上述したステップS200(図10)における処理により、補正を行うかの判定結果を導出する。また位置推定部22は、当該判定結果に基づき、上述したステップS201において、各端末6の第2の時間間隔を適宜補正する。そして位置推定部22は、補正を行った場合には補正後の第1、2の時間間隔、補正を行わない場合には元の第1、2の時間間隔を用いて、各端末6の線形補間座標を算出する。また位置推定部22は、ステップS202において、第1の地点と第2の地点との間の距離、短時間間隔、およびビーコン8から受信した信号の強度を用いて、各端末6の線形補間座標に付加する重みを算出する。そして位置推定部22は、ステップS203において、識別子p1のビーコン8に用いるID1から6の端末6の線形補間座標の重み付き平均を算出し、これを当該ビーコン8の推定座標とする。
図17に例示される場合においては、識別子p1のビーコン8の推定座標は(55.4、39.6)と算出されている。
図18は、本実施形態に係る位置推定装置2Bによる誤り判定処理の一例を説明するための図である。誤り判定部23は、識別子p1のビーコン8の推定座標(55.4、39.6)と、ID1からID6の各端末6の線形補間座標を取得し、これらの間の差分距離を算出する(ステップS300)。図18に示される例においては、ID1の場合の差分距離の値は60.2、ID2の場合の差分距離は25.4である。
算出した差分距離を用いて、誤り判定部23は、各IDについて誤りスコアを算出する(ステップS301)。図18においては、ID1の場合の誤りスコアは26.9であり、ID2の場合の誤りスコアは2.5である。
次に誤り判定部23は、ステップS301において算出した、各IDにおける誤りスコアが閾値より大きいか否かを判定する。同一の識別子の場合における誤りスコアのうち、少なくとも1つが閾値より大きい場合、誤り判定部23は、位置推定部22が算出した当該識別子のビーコン8の推定座標が誤っていると判定する(ステップS302)。
図18の場合において、閾値を7とすると、ID1の場合の誤りスコア26.9は閾値7より大きい。これにより、ID1の端末6の線形補間座標を用いて重み付き計算を行うことによって得られた識別子p1のビーコン8の推定座標は、誤っている可能性が高いことがわかる。誤り判定部23は、図18の右下に例示されるような誤り判定情報を生成し、これを位置情報マスタデータベース4に記憶する。
図19は、本実施形態における誤り判定処理を行うことによる効果の一例を示す図である。ここでは、図17に示す受信情報と位置時刻情報に基づいて、位置推定処理と誤り判定処理が行われた結果が示される。図19における線や円やマーク等は、それぞれ上述の場合と同様のものを示す。
図19の左上段には、各端末6の推定位置が示される。またここには、同一の識別子p1を有する2つのビーコン8が示される。
図19の右上段には、重み付き平均により得られた識別子p1のビーコン8の推定位置が示される。なお、各端末6が推定位置において受信したと推定されるビーコン8からの信号を示すマークの傍らの数字は、重みを表す。例えばID1の場合では、重みは0.45である。ここで、ID1の場合の重みは、ID1の端末6の推定位置がビーコン8の推定位置から離れているにも関わらず、他のIDの場合の重みより大きい。重みは、ビーコン8から近いほど大きくなるはずであり、これによりID1の端末6が受信した信号が、位置推定部22により算出された推定座標に位置するビーコン8からのものなのか疑問が生じる。
さらに図19の下段の図を参照し、誤り判定処理について説明する。ここで、ビーコン8からの信号を示すマークの傍らの数字のうち、[]の外のものは重み、[]の中のものは誤りスコアを表す。例えばID1の場合では、重みは0.45、誤りスコアは26.9である。ID1の場合の誤りスコアは、閾値25より大きい。同様にID5、6の場合の各誤りスコアも閾値より大きい。このため、位置推定部22により得られたビーコン8の推定位置は誤っている可能性があると認識できる。これにより位置推定装置2Bは、誤った情報を正しい情報として位置情報マスタデータベース4に蓄積することを防ぐことができる。
(第3の実施形態)
上記第2の実施形態に係る位置推定装置2Bは、同一の識別子を持つ2以上のビーコン8が存在する場合を考慮に入れ、自己が推定したビーコン8の位置が正しいか否かの判定を行うことができる。しかし当該位置推定装置2Bは、ビーコン8の推定位置に誤りがあると判定できても、同一の識別子を持つ2以上のビーコン8の各設置位置の推定を行えない。本実施形態に係る位置推定装置2Cは、ビーコン8の推定位置が正しいものか否かの判定を行える以外に、同一の識別子を持つ2以上のビーコン8の各々の設置位置を推定することができる。
図20は、本実施形態に係る位置推定システム1Cの構成の一例を示す図である。位置推定システム1Cは、上述した第1、2の実施形態における端末6、センサ7、ビーコン8、移動履歴データベース3、および位置情報マスタでエータベース4を備える。これらについては上記実施形態における場合と同様なので説明を省略する。なおビーコン8は、正当なビーコン8T又はなりすましビーコン8Fである。また位置推定システム1Cは、位置推定装置2Cを備える。当該システムに含まれる装置等の間の接続関係は、付されている符号に関係なく上記実施形態における接続関係と同様とする。
位置推定装置2Cは、上記実施形態における位置推定装置2A、2Bと同様に、データ取得部20、軌跡抽出部21、および位置推定部22を備える。位置推定装置2Cは、これらに加え、誤り位置推定部24を備える。ここで、位置推定装置2Cにおける誤り位置推定部24以外の機能ブロックは、上記実施形態の場合と同様であるため説明を省略する。ただし、上記実施形態における位置推定部22は、位置情報マスタデータベース4に接続されているが、本実施形態における位置推定部22は位置情報マスタデータベース4に接続されていなくともよい。誤り位置推定部24は、位置推定部22と位置情報マスタデータベース4とに接続されている。
誤り位置推定部24は、位置推定部22により算出された、ビーコン8の推定座標、端末6の補間座標、および各補間座標への重みを取得する。そして誤り位置推定部24は、これらに基づいて後述するように同一の識別子を有する複数のビーコン8の各推定座標を算出する。誤り位置推定部24は、位置情報マスタデータベース4と接続され、算出したビーコン8の推定座標を位置情報マスタデータベース4に出力する。
図21は、本実施形態に係る位置推定装置2Cの各機能ブロックの処理内容を説明するための図である。ここで、データ取得部20と軌跡抽出部21と位置推定部22による各処理とこれらの機能ブロックにより収集又は導出される情報は、上記第1、2の実施形態における場合と同様であるため、説明を省略する。
誤り位置推定部24は、位置推定部22により算出された、ビーコン8と端末6の各推定位置、および端末6の補間座標に付与する重みを取得する。誤り位置推定部24は、取得したこれらの情報を用いて、同一の識別子を有するビーコン8が複数存在する場合に、これらのビーコン8の各々の推定座標を算出する。図21の右下には、誤り位置推定部24により算出されたビーコン8の推定座標が示される。識別子p1のビーコン8は2つあることがわかり、これらの各推定座標は、X’1―1、X’1―2であることがわかる。
図22は、本実施形態に係る位置推定装置2Cによる処理のフローチャートである。ここでは、ステップS100からステップS102までの処理は、上記実施形態の場合と同様であるので説明を省略する。ただし、ステップS102において上記実施形態における位置推定部22は、位置情報マスタデータベース4にビーコン8の推定座標の出力を行っていたが、本実施形態に係る位置推定部22から位置情報マスタデータベース4への当該出力はない。しかしこれに限定はされず、位置推定部22から、位置情報マスタデータベース4にビーコン8の推定座標が出力されてもよい。この場合、位置推定部22による当該出力の後に、誤り位置推定部24がビーコン8の推定座標を位置情報マスタデータベース4に出力し、位置情報マスタデータベース4がこれに基づきビーコン8の推定座標を更新してもよい。あるいは、誤り位置推定部24は、或る識別子のビーコン8の位置の推定に用いられた端末6の誤りスコアが閾値より大きい場合に、算出した当該識別子のビーコン8の推定座標を、位置情報マスタデータベース4に出力してもよい。
図23は、本実施形態における誤り位置推定部24による処理(図22におけるステップS104)のフローチャートである。また図24、25、26、27は、本実施形態における誤り位置推定処理の例を示す図である。以下、図23、および図24から図27を参照しながら誤り位置推定処理について説明する。なお図24から27は、位置推定装置2Cが、図21の左に示される位置時刻情報と受信情報を読み込んだ場合における誤り位置推定処理についてのものである。
誤り位置推定部24は、位置推定部22が軌跡情報を用いて算出したビーコン8と端末6の各推定座標から差分距離を算出する(ステップS400)。図24を参照すると、例えばID1の場合の差分距離は60.2と求められ、ID2の場合の差分距離は25.4と求められていることがわかる。
図23に戻る。ステップS400に続き、誤り位置推定部24は誤りスコアを算出する(ステップS401)。図24を参照すると、誤り位置推定部24により、ID1の場合の誤りスコアは26.9、ID2の場合の誤りスコアは2.5と算出されていることがわかる。
図23に戻る。ステップS401に続き、誤り位置推定部24は、各端末6の誤りスコアが閾値より大きいか判定する(ステップS402)。
図24を参照すると、ID1の場合には誤りスコアが26.9であるが、これは閾値である7より大きい。このため誤り位置推定部24は、ID1の端末6が受信した信号は、座標(55.4、39.5)に対応する位置に設置されていると推定されるビーコン8からのものとするのは誤りである可能性があると判定する。これにより、図24に例示される軌跡情報において、ID1の場合の判定結果は「誤り」となっている。同様に、ID2の場合には、誤りスコアは、閾値の7より小さい2.5となる。このため、ID2の端末6が受信した信号は、座標(55.4、39.5)に対応する位置にあると推定されるビーコン8からのものである可能性が高いと判定される。このため図24に例示される軌跡情報において、ID2の場合の判定結果は、「-」で示されている。
図23に戻る。ステップS402に続き、誤り位置推定部24は、或る識別子のビーコン8に対し、誤りスコアが閾値より大きい端末6がある場合には(ステップS403:Yes)、誤りスコアが最高となる端末6の推定位置(補間座標)を別のクラスタへと分類する(ステップS404)。続いて誤り位置推定部24は、クラスタ毎に、端末6の補間座標の重み付き平均を計算する。当該計算によって得られた座標に対応する位置を重心とも記載する。誤り位置推定部24は、各端末6の推定位置と各クラスタの重心との間の距離(当該距離も差分距離とも記載する)を算出する。そして誤り位置推定部24は、端末6の推定位置と重心との間の差分距離が最も小さいクラスタへ、当該端末6の推定位置を再分類する(ステップS406)。誤り位置推定部24は、各端末6の推定位置の分類先がステップS406の前後で変化しているか否かを判定し、変化していれば(ステップS407:Yes)、ステップS405の処理に戻る。一方、各端末6の補間座標の分類先がステップS406の前後で変化していなければ(ステップS407:No)、誤り位置推定部24は、ステップS400の処理に戻る。なお、誤り位置推定部24は、ここでステップS400の処理に戻る代わりにステップS401の処理に戻ってもよい。
図25を参照してステップS404の処理について説明する。図25は、図24に具体的に例示した処理に続く処理を示す。図25の上に示す軌跡情報の判定結果を参照すると、「誤り」が存在する(ステップS403:Yes)。これにより、誤り位置推定部24は、誤りスコアが最高の26.9であるID1の端末6の補間座標(8.8、77.7)を別のクラスタへ分類する(ステップS404)。図25の場合においては、クラスタ名をビーコン8の識別子と対応させているが、補間座標(8.8、77.7)が分類されたクラスタをp1−2とし、これ以外の補間座標を含むクラスタをp1−1としている。次に誤り位置推定部24は、クラスタp1−1とp1−2の各々における補間座標の重み付き平均を算出し、クラスタp1−1の重心の座標(76.1、22.5)と、クラスタp1−2の重心の座標(8.8、77.7)を得る(ステップS405)。
図25において、更に誤り位置推定部24は、各線形補間座標に対応する端末6の推定位置と各クラスタの重心との間の差分距離を算出し、各端末6の推定位置を差分距離がより小さいクラスタへ再分類する。図25の下段に示される軌跡情報には、各端末6の推定位置と各重心との間の差分距離が示され、例えば補間座標(30、40)に対応する端末6の推定位置と、クラスタp1−1の重心との間の差分距離は49.3である。また当該端末6の推定位置とクラスタp1−2の重心との間の距離は43.2である。ここから当該端末6の推定位置は、クラスタp1−1の重心よりもクラスタp1−2の重心に近いことがわかる。このため誤り位置推定部24は、当該端末6の推定位置をクラスタp1−2へ再分類する(ステップS406)。図25の上下段の各軌跡情報における、補間座標(30、40)の分類先のクラスタについて参照すると、ステップS405の前後のそれぞれにおいてクラスタp1−1、クラスタp1−2に分類され、分類結果に変化が生じていることがわかる(ステップS407)。
図26には、図25に示す誤り位置推定部24による処理の続きであって、ステップS407の処理からステップS405へ処理が移行した場合(図23におけるステップS407:Yes)の誤り位置推定部24による処理の内容が示される。誤り位置推定部24は、図26の上段に示される再分類後の軌跡情報を用いて、クラスタp1−1、p1−2のそれぞれにおける各補間座標の重み付き平均を再度算出する(ステップS405)。これによりクラスタp1−1、p1−2の各々の重心の座標は、図26の中段に示されるように(81.2、20.6)、(12.7、70.8)となる。誤り位置推定部24は、各補間座標に対応する端末6の推定位置と各重心との間の距離を再度算出する。これにより例えば、補間座標(30、40)に対応する端末6の推定位置と、クラスタp1−1の重心との間の差分距離は54.8、当該端末6の推定位置とクラスタp1−2の重心との間の差分距離は35.4と求まる。誤り位置推定部24は、各補間座標を、その重心との間の差分距離が小さくなるクラスタへ再度分類する。図26の下段には、各補間座標に対し再度分類を行った場合の結果を格納した軌跡情報が示されている。ここでは、直前のステップS405の処理後、補間座標の分類結果に変化はないことがわかる(図23におけるステップS407:No)。これにより、誤り位置推定部24は、ステップS400へ処理を戻す。
図27は、図26に示す誤り位置推定部24による処理の続きが示される。誤り位置推定部24は、図27の中段に示される各クラスタの重心の座標を用いて、端末6の推定位置と、当該端末6の補間座標が分類されるクラスタの重心との間の差分距離を算出する(ステップS400)。誤り位置推定部24は、このステップS400における差分距離の算出に代わり、ステップS406において算出した差分距離のうち短いものを用い、これにより軌跡情報における差分距離を更新してもよい。またこの際に誤り位置推定部24は、ステップS406において算出した差分距離のうち長いものを削除してもよい。図27の上段に示される軌跡情報における例えばID1の場合には、差分距離7.9が示される。
誤り位置推定部24は、直前のステップS400の処理で得た、各IDにおける差分距離と重みから誤りスコアを算出する(ステップS401)。図27において、ID1の場合には、誤りスコアは3.5となることがわかる。当該誤りスコアは閾値である7よりも小さい。同様に、ID2、3、4、5、6の各場合についても、誤りスコアは閾値以下となっていることがわかる。これにより誤り位置判定部24は、誤りスコアが閾値より大きいものが存在しないと判定する(ステップS403:No)。このとき直前のステップS405において算出された各クラスタの重心の座標(81.2、20.6)、(12.7、70.8)を、識別子がp1の2つのビーコン8の各推定座標と見なすことができる。これにより、端末6が受信した信号を発したとされるビーコン8が、重みが大きいにも関わらず遠くに存在しているという矛盾が解消される。
またここでは、ステップS404において、誤りスコアが閾値より大きい2以上の端末6の各推定位置を一まとめに別のクラスタへ分類するよりも、誤りスコアが最高の1つの端末6の補間座標を別のクラスタに分類している。この理由は、2以上の端末6の各推定位置をまとめて別の1つのクラスタへ分類しても、これらの端末6が同じビーコン8から信号を受信したとは限らないからである。そして、ステップS404において1つの補間座標を、ステップS403の処理毎に別のクラスタへ分類し、後続の処理を行うことにより、閾値以上となる誤りスコアが生じるような事態が収集され、各補間座標は分類されるべきクラスタへとまとめられていく。
閾値より大きい誤りスコアが存在しない場合(ステップS403:No)、誤り位置推定部24は、算出したビーコン6の推定位置を位置情報マスタデータベース4に出力し、処理を終える。これに伴い、位置推定装置2Cは、図22に示すように一連の処理を終了する。
図28は、本実施形態に係る位置推定装置2Cによる位置推定において得られる効果の一例を示す図である。図28の左の図に示される各端末6の重みや誤りスコアや推定される移動経路や、推定されるビーコンの位置等は、図19等と同様である。また図28において例示される処理は、誤り位置推定部24が図24から図27における軌跡情報を用いて処理を行った場合を示す。図28の左に示す図は、誤り位置推定部24が処理を開始してから、最初に各端末6の誤りスコアが算出された状態を表している。ID1の場合、誤りスコアは26.9であり、これは、閾値7よりも大きく且つID1からID6までにおける各誤りスコアの中で最高値である。これにより、図28の真ん中に示されるように、ID1の場合の推定位置は、他のIDの端末6の推定位置とは別のクラスタに分けられる。この時点でクラスタ毎の重心をビーコン8の推定位置として考えると、図28の真ん中の図のうち、クラスタp1−2におけるビーコン8の推定位置は、ID1の端末6の推定位置と等しくなる。そしてクラスタp1−1におけるビーコン8の推定位置は、図28の真ん中の図において、もう一方のビーコン8の推定位置を示す図形により示される位置となる。この場合において、誤りスコアを算出すると、図28の真ん中の図における[]の中の数字となる。例えば線形座標(30、40)のID2の場合の誤りスコアは、図25の下段に示す軌跡情報から、クラスタp1−1の重心とID2の端末6の推定位置との間の差分距離49.3と、重み0.1との積の4.9となる。
誤り位置推定部24は、各IDの端末6の推定位置が、重心との間の距離がより小さくなるよう更に分類を行う。当該分類に基づいて算出された各クラスタの重心は、図28の右の図におけるビーコン8の推定位置のマークにより示される。またこの図における[]内に、各端末6の誤りスコアが示されるが、誤りスコアはどれも閾値以下であることがわかる。そしてこれにより、各クラスタの重心の位置が、識別子を同じくする2つのビーコン8の各々の推定位置に対応することがわかる。
このように本実施形態に係る位置推定装置2Cによれば、識別子が同一の2以上のビーコン8が存在する場合でも、これらのビーコン8の各々の位置を、精度を劣化させることなく推定することができる。
(その他の実施形態1)
上記実施形態に係る位置推定装置2A、2B、2Cは、ビーコン8やセンサ7から信号を受信した端末6からの受信情報や位置時刻情報に基づいて、ビーコン8の位置を推定した。本実施形態に係る位置推定装置2Dは、ビーコン8からの信号に基づく受信情報に代わり、キーワードとなる単語を含む、SNS(social networking service)等におけるデータを用いる。ここでキーワードとなる単語は、例えば「ラーメン」や「パスタ」等の料理名や、「背広」、「シューズ」等の商品名などである。このような単語を含むデータをここではSNSデータと記載する。
図29は、その他の実施形態に係る位置推定方法を示す図である。ここでは位置推定装置2Dは、上述した受信情報に代わり、SNSデータをクラウド等から読み込む。図29に示すSNSデータには、当該SNSデータに含まれる単語の入力に用いられた端末6のIDと、当該単語がSNSのホームページ上に書き込まれた時刻と、当該単語の文字データと、当該入力内容の信頼度が含まれる。この入力内容の信頼度とは、端末6からの書き込みの内容がどれだけ信頼できるかを数値で表したものである。信頼度は、端末6によっても変化し得るし、その書き込み内容によっても変化し得る。信頼度は上記実施形態におけるビーコン8からの信号の強度に対応し、このため以下では信頼度を強度とも記載する。
上記実施形態では、端末6がビーコン8等の発信機から信号を受信した時刻を受信時刻としたが、ここでは単語がSNSのホームページ上に書き込まれた時刻、又は書き込みを行った人物が書き込みを行うきっかけとなった情報を取得した時刻がこれに対応する。そのため、これらの時刻をまとめて受信時刻とも記載する。
また上記実施形態におけるビーコン8からの信号は、SNSに対し書き込みを行った人物が移動中などに見つけた店舗の情報等に対応する。また本実施形態においては店舗等が、上記実施形態におけるビーコン8等に対応する。
図29に示されるSNSデータを参照すると、ID1、2、3の端末6から、それぞれ時刻7、30、40に単語「ラーメン」がSNSのホームページ上に書き込まれていることがわかる。またID1、2、3の端末6からの当該書き込みについての信頼度は、それぞれ70、100、90であることがわかる。位置推定装置2Dは、これらのSNSデータと位置時刻情報を用いて、例えばラーメン店の場所を推定する。
まず位置推定装置2Dは、上述した軌跡抽出情報に対応する情報であって、ID毎に、位置時刻情報とSNSデータとをまとめ、これを時刻の昇順に並べた情報を生成する。この際において位置推定装置2Dは、SNSデータの時刻の直前と直後の時刻に係る位置時刻情報と当該SNSデータとを組み合わせる。このように生成された情報もまた軌跡抽出情報を記載する。
位置推定装置2Dは、上記実施形態と同様に、各IDの端末6の移動経路と、受信時刻における端末6の推定位置、すなわち単語がSNSのホームページ上に書き込まれたと推定される位置(書込推定位置とも記載する)を導出する。図29の上段の真ん中より左に示す図に、当該導出された各端末6の移動経路と、各端末6の書込推定位置が示される。ここでは、ハッチングが施されていない雲のマークの地点において、「ラーメン」がSNSのホームページ上に書き込まれたと推定され、ハッチングが施された雲のマークの地点において、「パスタ」がSNSのホームページ上に書き込まれたと推定される。
位置推定装置2Dは、これらの書込推定位置に対し、単語毎に重み付き平均を算出し、当該単語に関係する店舗等の位置を推定する。本実施形態における重みは、上記実施形態の場合と同様に定義される。ここでの単語は、上記実施形態におけるビーコン8の識別子に対応する。
図29の右上には、当該推定結果の具体例が示される。ここでは、ラーメン店の推定位置の座標として(14.1、68.7)が得られている。
図30は、本実施形態に係る位置推定装置2Dの機能ブロックを示す図である。本実施形態に係る位置推定装置2Dの各機能ブロックは、第1の実施形態に係る位置推定装置2Aの機能ブロックと同様である。ただし本実施形態におけるデータ取得部20は、移動履歴データベース3と位置情報マスタデータベース4の他に、クラウド等に接続されているか、又はネットワーク5に直接接続されている。
また位置推定部22は、位置情報マスタデータベース4以外にも、クラウド等に接続されているか、又はネットワーク5に直接接続されていてもよい。あるいは位置情報マスタデータベース4は、ネットワーク5に接続されていてもよく、例えばクラウドにおけるデータベースであってもよい。
本実施形態に係る位置推定装置2Dによる位置推定に係る処理は、図7および図10に示したものと同様である。ただしデータ取得部20は、ステップS100において受信情報に代わり、SNSデータを取得する。また位置推定部20は、図10のステップS203の処理に代わり、単語が意味する物等の提供等を行う店舗等の位置を推定し、その座標を算出する。またステップS203において位置推定部22は、推定した店舗等の位置を、位置情報マスタデータベース4に代わり、クラウド等に記憶してもよい。
本実施形態に係る位置推定装置2Dによれば、端末6のユーザが、店舗等からの提供品等を移動中に目にしてSNSのホームページに書き込んだデータを、当該提供品等を扱う場所や当該店舗等の位置の推定に有効利用することができる。これにより目的の店の位置や、目的の提供品がどこに行けば手に入るかの情報を、ネットワーク5に接続される端末6を有するユーザに提供することができる。
(その他の実施形態2)
上記その他の実施形態1では、同一の商品等を提供する複数の店舗等があるような場合に次のような問題がある。複数の店舗等の前を通りかかるなどした1以上の端末6の各ユーザによりSNSのホームページに同じような単語が書き込まれた結果、複数の店舗等に関するはずのSNSデータが1つの店舗等に関するものと扱われかねなくなる。そしてこのようなSNSデータを用いて位置推定装置2Dが算出した店舗等の推定座標は、実際の位置とは異なる可能性がある。
本実施形態に係る位置推定装置2Eは、同一の商品等を提供する複数の店舗等の各々の位置の推定を行う。
本実施形態に係る位置推定装置2Eは、上述したその他の実施形態1に係る位置推定装置2Dが取得する位置時刻情報やSNSデータを取得する。そして、位置推定装置2Eは、これらを元に軌跡抽出情報を作成し、上記実施形態と同様に店舗等の位置を推定する。この際に、店舗等の位置の推定に用いられる端末6の受信時刻における推定位置と、当該店舗等の推定位置との間の距離(当該距離も差分距離とも記載する)、および重みから第2、3の実施形態における場合と同様の誤りスコアを算出する。そして第3の実施形態と同様に、同一の単語に対応付けられる複数の店舗等の位置を推定する。
図31は、本実施形態に係る位置推定装置2Eの機能ブロックを示す図である。本実施形態に係る位置推定装置2Eの各機能ブロックは、第3の実施形態に係る位置推定装置2Cの機能ブロックと同様である。ただし本実施形態におけるデータ取得部20は、移動履歴データベース3と位置情報マスタデータベース4の他に、クラウド等に接続されているか、又はネットワーク4に直接接続されていてもよい。
また本実施形態における誤り位置推定部24は、位置情報マスタデータベース4以外にも、クラウド等に接続されているか、又はネットワーク5に直接接続されていてもよい。あるいは位置情報マスタデータベース4は、ネットワーク5に接続されていてもよく、例えばクラウドにおけるデータベースであってもよい。
本実施形態に係る位置推定装置2Eによる位置推定に係る処理は、図22および図23に示したものと同様である。ただし本実施形態におけるデータ取得部20は、ステップS100において受信情報に代わり、SNSデータを取得する。また本実施形態における位置推定部22は、ステップS102の処理に代わり、ビーコン8の推定位置の座標を得る代わりに、単語が意味する物等の提供等を行う店舗等の推定位置の座標を算出する。本実施形態における誤り位置推定部24によるステップS104における処理は、上記実施形態において算出したビーコン8の推定位置の座標に代わり、同一の単語に対応付けられる複数の店舗等の各推定位置の座標を算出する。また本実施形態における誤り位置推定部24は、ステップS403において閾値より大きい誤りスコアがない場合、ビーコン8の推定位置の座標に代わり、推定した店舗等の位置を位置情報マスタデータベース4又はクラウド等に記憶する。
図32は、本実施形態に係る位置推定装置2Eによる処理の一例を示す図である。位置推定装置2Eは、図32の左に示される位置時刻情報とSNSデータを取得する。この位置時刻情報は、上記実施形態におけるものと同様である。またSNSデータは上記実施形態におけるSNSデータと単語以外は同一であり、単語は全て「ラーメン」となっている。
図32における上段の中央から左寄りの図には、上記その他の実施形態1の場合と同様である。図32の右上の図には、誤り位置推定部24により導出された複数のラーメン店の各々の推定位置が示されている。ここでは、SNSのホームページ上に「ラーメン」の単語が書き込まれるきっかけとなったラーメン店は2つあることがわかる。そしてこれらのラーメン店のうちの、一方の推定座標として(82.2、20.6)、他方の推定座標として(12.7、70.8)が算出されたことがわかる。
本実施形態に係る位置推定装置2Eによれば、同一の商品等を提供する複数の店舗等がある場合でも、SNSデータにおける短い単語を用いて、これら複数の店舗の各々の位置の推定を行うことができる。
(その他の実施形態3)
上記実施形態においては、移動する端末6からの受信情報等に基づいて固定されたビーコン8や店舗等の位置の推定が行われた。しかし位置推定装置2A等は、上記端末6に代わり、固定されたゲートウェイ等の受信機を用いて、固定されたビーコン8に代わり移動体端末の位置を推定してもよい。この場合、固定されたゲートウェイ等の受信機が上記実施形態における端末6に対応し、移動体端末が上記実施形態におけるビーコン8等の発信機に対応する。なお、このときに用いられるセンサ7は、位置が特定されていれば固定されていてもいなくてもよい。
(その他の実施形態4)
上記実施形態においては端末6の平均移動速度が算出され、当該端末6に滞留があるかないか等が判定された。しかし、センサ7又はビーコン8が、端末6との間の相対速度や相対的な方向等の情報を取得できる場合には、このような情報を当該センサ7又はビーコン8から端末6は取得してもよい。そして当該端末6から相対速度等の情報を取得した位置推定装置2A等は、これをビーコン8の位置の推定に用いてもよい。
図33は、第1、2、3の実施形態とその他の実施形態1、2、3、4に係る各位置推定装置の各機能を実現するためのハードウェア構成の一例を示す図である。なおここでは、各位置推定装置は、一般的なコンピュータとしてハードウェアを有し、各位置推定装置による処理は、以下に示すハードウェア9を具体的に利用することにより実行される。ハードウェア9は、互いにバス90によって接続されたプロセッサ91、メモリ92、記憶装置93、ネットワークインタフェース回路94、および入力装置95を備える。
プロセッサ91は、例えばシングルコア、デュアルコア、またはマルチコアのプロセッサである。
メモリ92は、例えばROM(Read Only Memory)、RAM(Random Access Memory)、半導体メモリである。
プロセッサ91が、メモリ92に記憶された情報、または記憶装置93からメモリ92に読み込んだ情報を用いて、メモリ92に記憶された各種プログラムを実行することにより、軌跡抽出部21、位置推定部22の機能が実現される。同様に、プロセッサ91とメモリ92、又はプロセッサ91とメモリ92と記憶装置93により、第2の実施形態等における誤り判定部23、第3の実施形態等における誤り位置推定部24の機能が実現されることができる。
記憶装置93は、例えばハードディスクドライブ、光ディスク装置等であり、外部記憶装置や可搬型記憶媒体でもよい。なお、移動履歴データベース3や位置情報マスタデータベース4が、当該記憶装置93により実現されてもよい。
ネットワークインタフェース回路84は、LAN(Local Area Network)、インターネット、またはイントラネット等を介して、位置推定装置が他のノードと通信を行えるようにするためのインタフェースである。移動履歴データベース3や位置情報マスタデータベース4が位置推定装置の外部に存在する場合や、位置推定装置がクラウド等から情報を収集する場合等において、ネットワークインタフェース回路23により上記データ取得部20のデータ収集機能が実現される。また、データ取得部20が位置の推定の対象となるビーコン8の選択等を行うような場合には、当該データ取得部20の機能は、上記プロセッサ91とメモリ92等により実現される。
入力装置95は、例えばキーボードやタッチパネル等であり、位置の推定の対象となるビーコン8の選択をユーザが行い、当該ビーコン8の識別子等を入力するためのものである。なお、位置推定装置により、位置の推定の対象となるビーコン8が自動的に線tなくされるような場合等には、当該入力装置95はなくともよい。
なお、上述した場合以外にも、図1、13、20、30、31の各々の機能ブロックの全て、又はその一部の機能は、適宜、専用のハードウェアにより実現されることもできる。
上述の実施形態1〜nを含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
端末が発信機からの信号を受信した受信時刻と、前記端末が受信した前記信号の強度と、前記端末が前記受信時刻よりも前の第1の時刻において第1の地点で取得した第1の位置時刻情報と、前記端末が前記受信時刻よりも後の第2の時刻において第2の地点で取得した第2の位置時刻情報と、を取得する取得部と、
前記第1の位置時刻情報および前記第2の位置時刻情報より、前記端末の前記第1の地点と前記第2の地点の間の平均移動速度を算出し、前記平均移動速度が所定値以下であり、且つ前記第1の地点と前記第2の地点との間の距離が所定の距離以上である場合に、前記第1の時刻と前記受信時刻との間の第1の時間間隔と、前記受信時刻と前記第2の時刻との間の第2の時間間隔のうちの少なくとも一方に対し補正を行い、該補正の後の第1の時間間隔と第2の時間間隔のうちの少なくとも一方に基づき、前記受信時刻における前記端末の位置の推定を行い、該推定に基づいて前記発信機の位置の推定を行う位置推定部と、
を備えることを特徴とする位置推定装置。
(付記2)
前記位置推定部は、前記補正を前記第2の時間間隔に対し行うことを特徴とする付記1に記載の位置推定装置。
(付記3)
前記位置推定部は、
前記平均移動速度が所定値以下であり、且つ前記第1の地点と前記第2の地点との間の距離が所定の距離未満である場合に、前記補正を行い、該補正の後の第1の時間間隔と第2の時間間隔のうちの少なくとも一方に基づき、前記受信時刻における前記端末(6)の位置の推定を行う、
ことを特徴とする付記1又は2に記載の位置推定装置。
(付記4)
前記位置推定部は、
前記平均移動速度が所定値以下であり、且つ前記第1の地点と前記第2の地点との間の距離が所定の距離未満である場合には、前記補正を行わず、前記第1の時間間隔と前記第2の時間間隔のうちの少なくとも一方に基づき、前記受信時刻における前記端末の位置の推定を行う、
ことを特徴とする付記1又は2に記載の位置推定装置。
(付記5)
前記位置推定部は、
前記補正を行う場合には、前記補正の後の第1の時刻と第2の時刻のうちの少なくとも一方を用いて線形補間を行うことにより前記受信時刻における前記端末の位置の推定を行い、
前記補正を行わない場合には、前記第1の時刻と前記第2の時刻のうちの少なくとも一方を用いて線形補間を行うことにより前記受信時刻における前記端末の位置の推定を行う、
ことを特徴とする付記1から4のいずれかに記載の位置推定装置。
(付記6)
前記位置推定部は、
前記補正を行う場合には、前記補正の後の第1の時間間隔と第2の時間間隔のうち、より短い時間間隔に基づき前記受信時刻における前記端末の位置の推定を行い、
前記補正を行わない場合には、前記第1の時間間隔と前記第2の時間間隔のうち、より短い時間間隔に基づき前記受信時刻における前記端末の位置の推定を行う、
ことを特徴とする付記1から5のいずれかに記載の位置推定装置。
(付記7)
前記位置推定部は、
推定された前記端末の位置の座標に重みを付与して前記発信機の位置の座標を算出し、
前記重みは、
前記位置推定部により前記補正が行われる場合には、前記補正の後の第1の時間間隔と第2の時間間隔のうちの少なくとも一方を用いて算出され、
前記位置推定部により前記補正が行われない場合には、前記第1の時間間隔と前記第2の時間間隔のうちの少なくとも一方を用いて算出される、
ことを特徴とする付記1から6のいずれかに記載の位置推定装置。
(付記8)
前記重みの算出には、さらに、前記信号の強度と、前記第1の地点と前記第2の地点との間の距離のうちの少なくとも1つが用いられることを特徴とする付記7に記載の位置推定装置。
(付記9)
前記位置推定装置は、さらに、
前記発信機の推定位置と、前記発信機の位置の推定に用いられた前記端末の推定位置との間の差分距離を算出し、
前記差分距離と前記重みとに基づいて誤りスコアを算出し、前記誤りスコアが閾値より大きい場合に、前記信号が前記発信機から発信されたものではないと判定する誤り判定部、
を備えることを特徴とする付記7又は8に記載の位置推定装置。
(付記10)
前記位置推定装置は、さらに誤り位置推定部を備え、
前記誤り位置推定部は、
前記発信機の推定位置と、前記発信機の位置の推定に用いられた1以上の前記端末の各推定位置との間の差分距離を算出し、
前記端末毎に、前記差分距離と前記重みとに基づいて誤りスコアを算出し、
前記1以上の端末の誤りスコアのうち少なくとも1つが閾値よりも大きい場合に、前記誤りスコアが前記1以上の端末の誤りスコアのうちで最高の前記端末により受信された前記信号は、前記発信機とは別の発信機から発信されたものと判定し、
前記1以上の端末のうち、前記発信機から発信された信号を受信したと判定された前記端末の推定位置に基づき、前記発信機の推定位置を再度導出し、
前記1以上の端末のうち、前記別の発信機から発信された信号を受信したと判定された前記端末の推定位置に基づき、前記別の発信機の推定位置を導出する、
ことを特徴とする付記7又は8に記載の位置推定装置。
(付記11)
前記誤り位置推定部は、
前記1以上の端末の各推定位置と、前記発信機の推定位置との間の差分距離を算出し、
前記1以上の端末の各推定位置と、前記別の発信機の推定位置との間の差分距離を算出し、
前記端末の推定位置と前記発信機の推定位置との間の差分距離が、前記端末の推定位置と前記別の発信機の推定位置との間の差分距離以下の場合、前記端末は前記受信時刻において前記発信機より信号を受信したと判定し、
前記端末の推定位置と前記発信機の推定位置との間の差分距離が、前記端末の推定位置と前記別の発信機の推定位置との間の差分距離より大きい場合、前記端末は前記受信時刻において前記別の発信機より信号を受信したと判定し、
前記1以上の端末のうち、前記発信機から発信された信号を受信したと判定された前記端末の推定位置に基づき、前記発信機の推定位置の導出し、
前記1以上の端末のうち、前記別の発信機から発信された信号を受信したと判定された前記端末の推定位置に基づき、前記別の発信機の推定位置を導出する、
ことを特徴とする付記10に記載の位置推定装置。
(付記12)
前記誤り位置推定部は、
前記発信機から発信された信号を受信したと判定された前記端末を第1のクラスタへ分類し、前記別の発信機から発信された信号を受信したと判定された前記端末を第2のクラスタへ分類し、
前記第1のクラスタにおける前記端末の推定位置に基づいて前記発信機の推定位置を導出し、
前記第2のクラスタにおける前記端末の推定位置に基づいて前記別の発信機の推定位置を導出する、
ことを特徴とする付記10又は11に記載の位置推定装置。
(付記13)
前記発信機は、ビーコンであることを特徴とする付記1から12のいずれか1つに記載の位置推定装置。
(付記14)
端末が発信機からの信号を受信した受信時刻と、前記端末が受信した前記信号の強度と、前記端末が前記受信時刻よりも前の第1の時刻において第1の地点で取得した第1の位置時刻情報と、前記端末が前記受信時刻よりも後の第2の時刻において第2の地点で取得した第2の位置時刻情報と、を取得し、
前記第1の位置時刻情報および前記第2の位置時刻情報より、前記端末の前記第1の地点と前記第2の地点の間の平均移動速度を算出し、
前記平均移動速度が所定値以下であり、且つ前記第1の地点と前記第2の地点との間の距離が所定の距離以上である場合に、前記第1の時刻と前記受信時刻との間の第1の時間間隔と、前記受信時刻と前記第2の時刻との間の第2の時間間隔のうちの少なくとも一方に対し補正を行い、該補正の後の第1の時間間隔と第2の時間間隔のうちの少なくとも一方に基づき、前記受信時刻における前記端末の位置の推定を行い、該推定に基づいて前記発信機の位置の推定を行う、
処理を位置推定装置に実行させる位置推定プログラム。
(付記15)
端末が発信機からの信号を受信した受信時刻と、前記端末が受信した前記信号の強度と、前記端末が前記受信時刻よりも前の第1の時刻において第1の地点で取得した第1の位置時刻情報と、前記端末が前記受信時刻よりも後の第2の時刻において第2の地点で取得した第2の位置時刻情報と、を取得し、
前記第1の位置時刻情報および前記第2の位置時刻情報より、前記端末の前記第1の地点と前記第2の地点の間の平均移動速度を算出し、
前記平均移動速度が所定値以下であり、且つ前記第1の地点と前記第2の地点との間の距離が所定の距離以上である場合に、前記第1の時刻と前記受信時刻との間の第1の時間間隔と、前記受信時刻と前記第2の時刻との間の第2の時間間隔のうちの少なくとも一方に対し補正を行い、該補正の後の第1の時間間隔と第2の時間間隔のうちの少なくとも一方に基づき、前記受信時刻における前記端末の位置の推定を行い、該推定に基づいて前記発信機の位置の推定を行う、
位置推定装置が実行する位置推定方法。