以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。図面の説明において、同一又は同等の要素には同一符号を用い、重複する説明を省略する。
図1は、本実施形態に係る位置推定装置の機能構成を示す図である。図1に示されるように、位置推定装置10は、位置推定システム1に含まれている。位置推定システム1は、位置推定装置10と、位置推定装置10と通信可能な携帯端末20(ユーザ端末)と、無線電波装置30と、表示装置40とを備えている。位置推定システム1は、例えば、スーパーマーケット等の店舗(商業施設)内における携帯端末20の位置推定に用いられる。推定された携帯端末20の位置は、例えば、携帯端末20の位置に応じたコンテンツの配信に利用される。
位置推定装置10は、携帯端末20において取得された位置情報に基づき携帯端末20の位置を推定するサーバである。位置推定装置10の詳細については後述する。表示装置40は、位置推定装置10によって出力された情報を表示するディスプレイである。表示装置40の詳細については後述する。
無線電波装置30は、携帯端末20によって受信可能な電波を送出する無線電波装置である。無線電波装置30は、受信可能な電波として、例えば、BLE(Bluetooth(登録商標)Low Energy)信号、光ビーコン信号、又はWiFi(Wireless Fidelity)(登録商標)信号を送出する。以下では、無線電波装置30がBLE信号を送出するとして説明する。無線電波装置30は、予め、携帯端末20がBLE信号を受信することができる範囲に、固定されて複数設けられている。例えばスーパーマーケット等であれば、無線電波装置30は、携帯端末20を所持するユーザが通過する箇所の近傍である、商品陳列棚等に複数設けられる。無線電波装置30により送出されるBLE信号には、無線電波装置30を一意に特定する情報、及び電波の受信強度を示す情報が含まれている。無線電波装置30を一意に特定する情報としては、各無線電波装置30に予め設定されたBSSID(Basic Service Set Identifier)を用いることができる。なお、BSSIDは、一般的にはMACアドレスとも呼ばれている。また、電波の受信強度を示す情報としては、RSSI(Received Signal Strength Indication,ReceivedSignal Strength Indicator)を用いることができる。
携帯端末20は、無線電波装置30からの電波に基づき携帯端末20の位置情報を取得する装置である。携帯端末20はユーザに所持(携帯)されて用いられる。携帯端末20は、例えばスマートホン等の携帯電話機、又は、タブレット端末等である。携帯端末20は、継続的(連続的)に、繰り返し位置情報を取得する。具体的には、携帯端末20は、無線電波装置30からBLE信号を受信することにより自端末の位置情報を取得する。携帯端末20は、例えば、BLE信号に含まれている、BSSIDを、自端末の位置情報(位置を示す情報)として取得する。すなわち、携帯端末20は、BSSIDを取得することにより、当該BSSIDで特定される無線電波装置30の位置を、自端末の位置情報として取得することができる。なお、携帯端末20は、同時(或いは短い時間間隔において連続的)に複数の無線電波装置30からBLE信号を受信することがある。この場合、携帯端末20は、例えばRSSIが最も大きいBLE信号に係るBSSIDを、自端末の位置情報としてもよい。携帯端末20は、取得した位置情報(すなわち、BSSID)を、当該位置情報が取得された日時を示す情報、及び、携帯端末20の所持者であるユーザを一意に特定するユーザIDと共に、位置推定装置10に送信する。当該送信は、位置情報が取得される度に行われてもよいし、所定の時間間隔で行われてもよい。
また、携帯端末20は、所持者であるユーザのデモグラ(デモグラフィック)情報(ユーザ属性情報)を記憶している。デモグラ情報とは、人口統計学的属性を示す情報であり、性別、年齢、住んでいる地域、所得、職業、学歴、家族構成等の、ユーザの持つ社会経済的な特質データである。携帯端末20は、上述した位置情報とともに、ユーザのデモグラ情報を位置推定装置10に送信する。より詳細には、携帯端末20は、デモグラ情報を示すデモグラ情報を一意に特定するためのID番号であるデモグラIDを、位置推定装置10に送信する。
次に、位置推定装置10の機能の詳細について図1を参照して説明する。図1に示されるように、位置推定装置10は、ノードリンクデータ記憶部11(ノードリンクデータ記憶手段)と、補正部12(補正手段)と、履歴記憶部13(履歴記憶手段)と、ユーザ情報取得部14(取得手段)と、位置推定部15(位置推定手段)と、導出部16(導出手段)と、判定部17(判定手段)と、表示部18(表示手段)と、を備えている。
図2は、図1に示した位置推定装置10のハードウェア構成を示す図である。位置推定装置10は、物理的には、図2に示すように、1又は複数のCPU101、主記憶装置であるRAM102及びROM103、入力デバイスであるキーボード及びマウス等の入力装置104、ディスプレイ等の出力装置105、ネットワークカード等のデータ送受信デバイスである通信モジュール106、半導体メモリ等の補助記憶装置107等を含むコンピュータとして構成されている。
位置推定装置10の各機能は、図2に示すCPU101、RAM102等のハードウェア上に1又は複数の所定のコンピュータソフトウェアを読み込ませることにより、CPU101の制御のもとで入力装置104、出力装置105、通信モジュール106を動作させるとともに、RAM102や補助記憶装置107におけるデータの読み出し及び書き込みを行うことで実現される。
図1に戻り、ノードリンクデータ記憶部11は、抽象化された位置を示すノードの位置情報、及び、ノード間をつなぐリンクに関する情報をそれぞれ複数記憶するデータベースである。ノードとは、ある範囲をもった建物内の位置や屋外の位置を抽象化したものである。例えば図5に示されるような店舗内において、各商品コーナーの棚の前の領域が1つのノードNである。1つのノードNは、例えば1つの無線電波装置の位置に対応付いた位置である。そして、各ノードN間にはリンク(接続関係、繋がり)Lが設定される。リンクLは、例えばユーザが移動できるか否かに基づいて設定される。すなわち、ノードN間の通路であって、ユーザが移動することができる通路が、リンクLとして設定される。
図3は、ノードリンクデータ記憶部11において記憶されている情報の一例を示す図であり、図3(a)はノードデータ111の一例を、図3(b)はリンクデータ112の一例をそれぞれ示している。図3(a)に示されるように、ノードデータ111においては、ノード毎に、ノードID、中心緯度経度、半径(m)、及びBSSIDが対応付けられている。ノードIDは、ノードを一意に特定するためのID番号である。中心緯度経度は、当該ノードの中心の位置の緯度及び経度を示す情報(ノードの位置情報)である。半径(m)は、当該ノードの範囲を示す当該ノードの中心からの半径を示す情報である。BSSIDは、当該ノードに対応付けられる無線電波装置のBSSIDである。なお、必ずしも、ノードに対して無線電波装置が対応付けられて設けられていなくてもよい。この場合、ノードデータ111においては、BSSIDと対応付けられていないノードIDが存在することとなる。
図3(b)に示されるように、リンクデータ112においては、リンク毎に、リンクID、ノードID、隣接ノードID、デモグラID、ユークリッド距離(m)、相関性重み、及びリンクコストが対応付けられている。リンクIDは、リンクを一意に特定するためのID番号である。ノードIDは、当該リンクに係る一方のノードを一意に特定するためのID番号である。隣接ノードIDは、ノードIDで示されるノードに隣接するノードであって当該リンクに係る他方のノードを一意に特定するためのID番号である。デモグラIDは、デモグラ情報を一意に特定するためのID番号である。ユークリッド距離(m)は、リンクIDで示されるリンクの距離、すなわち、ノードID及び隣接ノードIDによって示される2つのノードの中心緯度経度間の距離(m)を示す情報である。相関性重みは、リンクIDで示されるリンクとデモグラIDで示されるデモグラ情報との相関性を示す値である。相関性重みは、リンクとデモグラ情報との相関性が高いほど大きな値とされる。リンクコストは、ユークリッド距離及び相関性重みに応じて定まる、リンクの選択されにくさを示す値である(詳細は後述)。
上述したように、ユークリッド距離に応じて、各リンクそれぞれのデモグラ情報毎のリンクコストが定まる。より詳細には、ユークリッド距離及び相関性重みに応じて、各リンクそれぞれのデモグラ情報毎のリンクコストが定まる。リンクコストは、リンクの選択されにくさを示す値である。リンクコストは、ユークリッド距離が大きいほど高くなる。これは、ユークリッド距離が大きいすなわちリンクの長さが長いほど、連続的に位置情報が取得される環境下において、当該リンクに係るノードID及び隣接ノードIDで示されるノードが携帯端末20の連続する位置となりにくいとの考えに基づくものである。また、リンクコストは、相関性重みが小さいほど高くなる。これは、相関性重みが小さい、すなわちリンクとデモグラ情報との相関性が低いほど、該デモグラ情報に係るユーザが該リンクを選択する確率が低いとの考えに基づくものである。このように、ノードリンクデータ記憶部11は、リンクに関する情報として、リンクのユークリッド距離及び相関性重みに応じて定まるリンクコストを、各リンクそれぞれについてデモグラ情報毎に記憶している。
図1に戻り、補正部12は、ノードリンクデータ記憶部11に記憶されている各リンクコストを、リンク及びデモグラ情報の相関性に基づき補正する。具体的には、補正部12は、各リンクコストについて、リンクとの相関性が低いデモグラ情報のリンクコストほど高くなるように補正する。具体的には、補正部12は、履歴記憶部13に記憶された移動履歴から、各リンクのデモグラ情報毎の移動数(移動総数)を導出する。更に、補正部12は、該移動数が少ないリンク及びデモグラ情報の組合せほど、互いの相関性が低いとみなし、ノードリンクデータ記憶部11に記憶されている相関性重みを小さくする。これにより、各リンクコストについて、リンクとの相関性が低いデモグラ情報のリンクコストほど高くなるように補正される。補正部12は、例えば履歴記憶部13の移動履歴が更新される度に、上記補正を行う。なお、補正部12は、所定の時間間隔で上記補正を行ってもよい。
履歴記憶部13は、各リンクにおける複数の携帯端末20の移動履歴を記憶している。履歴記憶部13は、上記移動履歴に含まれる情報として、各携帯端末20に係るデモグラ情報を示すデモグラIDを記憶している。履歴記憶部13は、位置推定部15によって格納された、携帯端末20が存在するノードに関する情報を、上記移動履歴として記憶している(詳細は後述)。
図4は、履歴記憶部13において記憶されている移動履歴データ131の一例を示す図である。図4に示されるように、移動履歴データ131においては、移動履歴毎に、ユーザID、デモグラID、ノードID、直前ノードID、リンクID、日時、及び異常値フラグが対応付けられている。ユーザIDは、ユーザを一意に特定するためのID番号である。デモグラIDは、ユーザIDで示されるユーザに係るデモグラ情報を一意に特定するためのID番号である。ノードIDは、携帯端末20が存在するノードとして位置推定部15に推定されたノード(詳細は後述)を一意に特定するためのID番号である。直前ノードIDは、携帯端末20が存在するノードとして、直前(1つ前)に位置推定部15に推定されたノードを一意に特定するためのID番号である。リンクIDは、ノードID及び直前ノードIDによって示されるノード間のリンクを一意に特定するためのID番号である。日時は、位置推定部15によるノードの推定に用いられた、携帯端末20の位置情報が取得された日時である。異常値フラグは、ノードIDによって示された、位置推定部15が推定したノードが、誤って推定されたノードであるか否かを示すフラグである。ノードの推定が誤りであるとは、当該ノードの推定に用いられた、携帯端末20の位置情報が、実際の携帯端末20の位置ではないことをいう。異常値フラグは、ノードが誤推定である場合に「1」が入力される。当該異常値フラグは、判定部17によって更新される(詳細は後述)。
上述したように、補正部12は、履歴記憶部13に記憶された移動履歴から、各リンクのデモグラ情報毎の移動数を導出し、該移動数が少ないリンク及びデモグラ情報の組合せほど、ノードリンクデータ記憶部11に記憶されている相関性重みを小さくする。例えば、図4に示す移動履歴データ131においては、リンクID「15」、デモグラID「3」の組合せについて、移動数(移動履歴数)が「3」である。また、リンクID「16」、デモグラID「3」の組合せについて、移動数が「2」である。この場合、補正部12は、移動数が「2」であるリンクID「16」、デモグラID「3」の組合せの相関性重みを、移動数が「3」であるリンクID「15」、デモグラID「3」の組合せの相関性重みよりも小さくする。具体的には、補正部12は、下記(1)式により、相関性重みを導出する。なお、下記(1)式において、hはあるリンク及びデモグラ情報の組合せの相関性重みを、Tyは図4の移動履歴データ131において日時が所定の期間(例えば3ヶ月)内である全移動数を、LDyは上記リンク及びデモグラ情報の組合せの移動数を、αは任意に変更可能な重み付け係数を、それぞれ示している。
h=1+Ty/LDy*α…(1)
補正部12は、上述した(1)式により導出した相関性重みを、図3(b)のリンクデータ112に入力する。更に、補正部12は、図3(b)に示すユークリッド距離と相関性重みとから、各リンクのデモグラ情報毎のリンクコストを更新する。具体的には、補正部12は、下記(2)式により、リンクコストを更新する。なお、下記(2)式において、Lcはあるリンク及びデモグラ情報の組合せのリンクコストを、Edは上記リンクのユークリッド距離を、hはあるリンク及びデモグラ情報の組合せの相関性重みを、それぞれ示している。
Lc=Ed*h…(2)
ユーザ情報取得部14は、携帯端末20において取得された携帯端末20の位置情報(すなわち、BSSID)、及び、携帯端末20に係るデモグラ情報(すなわち、デモグラID)を、携帯端末20から連続的に取得する。より詳細には、ユーザ情報取得部14は、携帯端末20の所持者であるユーザの情報(ユーザ情報)として、上記位置情報及びデモグラ情報に加えて、位置情報が取得された日時を示す情報及びユーザIDを連続的に取得する。ユーザ情報取得部14は、当該ユーザ情報を位置推定部15に出力する。
位置推定部15は、ユーザ情報取得部14により連続的に取得される携帯端末20のユーザ情報、並びに、ノードリンクデータ記憶部11に記憶されているノードデータ111及びリンクデータ112に基づき、携帯端末20が位置する(存在する)ノードを連続的に推定する。位置推定部15は、ユーザ情報取得部14からユーザ情報を入力されるたびにノードの推定を行ってもよいし、所定の時間間隔で複数のノードの推定をまとめて行ってもよい。以下では、位置推定部15は、ユーザ情報が入力されるたびにノードの推定を行うとして説明する。
位置推定部15は、ユーザ情報取得部14からユーザ情報の入力を受けると、ノードリンクデータ記憶部11のノードデータ111を参照する。そして、位置推定部15は、ノードデータ111において、ユーザ情報に含まれているBSSIDと一致するBSSIDが対応付いたノードIDを特定する。更に、位置推定部15は、履歴記憶部13の移動履歴データ131を参照し、ユーザ情報に含まれているユーザID及び日時を示す情報に基づいて、当該ユーザIDで示されるユーザのノードIDとして直近(直前)に特定されたノードを示す直前ノードIDを特定する。そして、位置推定部15は、ノードリンクデータ記憶部11のリンクデータ112を参照し、上述したノードID及び直前ノードIDの組合せと一致する、ノードID及び隣接ノードIDの組合せに係るリンクを示すリンクIDを特定する。位置推定部15は、ユーザ情報に含まれたユーザID、デモグラID、及び日時を示す情報と、特定したノードID、直前ノードID、及びリンクIDとを対応付けた移動履歴を、履歴記憶部13の移動履歴データ131に格納する。なお、移動履歴データ131においては、異常値フラグがリンクID等と対応付けられているが、位置推定部15によって移動履歴が格納される段階においては、当該異常値フラグは空値とされている。上記処理後、位置推定部15は、特定したリンクID、及び、ユーザ情報に含まれたデモグラIDを導出部16に出力する。
導出部16は、位置推定部15により連続的に推定されたノード間のリンクのリンクコストであってユーザ情報取得部14によって取得されたデモグラ情報に応じたリンクコストを、ノードリンクデータ記憶部11のリンクデータ112に基づき導出する。すなわち、導出部16は、位置推定部15からリンクID及びデモグラIDの入力を受けると、リンクデータ112を参照し、該リンクID及びデモグラIDの組合せに対応付けられた、リンクコストを特定する。導出部16は、リンクID及びデモグラIDの組合せから特定されたリンクコストを、判定部17に出力する。
判定部17は、導出部16により特定(導出)されたリンクコストが、所定の閾値以上である場合に、該リンクコストに係るノードの推定が誤りであると判定する。すなわち、判定部17は、導出部16からリンクコストの入力を受けると、当該リンクコストが、予め定められた所定の閾値以上であるか否かを判定する。リンクコストが所定の閾値以上である場合、判定部17は、履歴記憶部13の移動履歴データ131を参照し、日時が最新である移動履歴の異常値フラグを「1」とする(異常値フラグを立てる)。なお、判定部17は、位置推定部15から異常値フラグを更新する移動履歴を特定する情報(例えば日時)の入力を受け、異常値フラグを更新してもよい。判定部17は、異常値フラグを「1」とした移動履歴に関する各情報(ユーザID、デモグラID、ノードID、直前ノードID、リンクID、及び日時)、及び、当該移動履歴におけるノードIDで示されたノードの推定が誤りである旨の情報を、携帯端末20及び外部装置(図示せず)に送信する。当該外部装置は、例えば携帯端末20の位置に応じたコンテンツを配信する装置である。ノードの推定が誤りであるとされた場合には、携帯端末20では、例えば、ノードの推定が誤りでないと判定された直近のノードが、携帯端末20の位置とされる。一方で、リンクコストが所定の閾値以上でない場合、判定部17は、日時が最新である移動履歴の異常値フラグを更新しない。そして、判定部17は、当該移動履歴に関する各情報(ユーザID、デモグラID、ノードID、直前ノードID、リンクID、及び日時)を携帯端末20及び外部装置(図示せず)に送信する。これにより、例えば当該外部装置では、ノードIDで示されるノードに対応付けられたコンテンツが配信される。
表示部18は、位置推定部15により連続的に推定されたノード、及び、ノード間のリンクを、マップ(地図情報)と対応付けて表示装置40に表示する。表示部18は、例えば、店舗内の各商品コーナーのマップをマップDB(図示せず)から取得し、該マップに、ノード及びリンクの位置を対応付けて表示する。表示部18は、マップにノードを対応付けて表示する際、判定部17によって誤推定であると判定されたノードを、その他のノードと区別して表示してもよい。表示部18は、当該区別した表示を、履歴記憶部13の移動履歴データ131を参照することにより行う。
図5は、表示部18によって出力された情報の表示装置40における表示イメージを示す図である。表示部18は、例えば位置推定装置10のオペレータから、ノードの始点、終点、及びデモグラ情報(デモグラID)の指定を受ける。当該指定を受けた表示部18は、履歴記憶部13の移動履歴データ131を参照し、指定を受けたデモグラIDに係るユーザが、指定を受けたノードの始点から終点に至るまでに経由するノードとして最も高頻度なノードの組合せを特定する。例えば、図5では、ノードの始点としてノードN3、ノードの終点としてノードN9、デモグラIDとして30代男性が指定された例を示している。表示部18は、移動履歴データ131を参照することにより、30代男性を示すデモグラIDのユーザがノードN3からノードN9に至るまでに最も高頻度に経由するノードとして、ノードN4,N5,N6,N7,N8を特定している。この場合、表示部18は、ノードN3,N4,N5,N6,N7,N8,N9と、各ノード間のリンクであるリンクL15,L16,L17,L18,L19,L20とを、マップMi上にハイライト表示する。
また、表示部18は、移動履歴データ131を参照し、ノードN3からノードN9に向かう30代男性の移動履歴のうち、異常値フラグが立っている移動履歴に係るノードを特定する。更に、表示部18は、異常値フラグが立っている移動履歴のユーザの前後の移動履歴から、異常値フラグが立っている移動履歴に対応した、当該ユーザが実際に存在したと想定されるノードを特定する。そして、表示部18は、上述した、ユーザが実際に存在したと想定されるノードがオペレータによって選択された際に、当該ノードを他のノードと区別して表示するとともに、異常値フラグが立っている移動履歴に係るノードを、更に区別して表示する。これにより、ユーザがあるノードに位置する際に、誤った位置情報として推定され易いノードを区別して表示することができる。図5に示す例では、オペレータによってノードN4が選択された際に、当該ノードN4が、他のノードN3,N5,N6,N7,N8,N9と区別して表示されるとともに、ノードN4にユーザが位置する際に誤った位置情報として推定され易いノードである、ノードN12,N15が更に区別して表示されている。ノードN12は、化粧品コーナーのノードであり、30代男性が通過すると考えにくいノードである。ノードN15は、前後のノードからのユークリッド距離を考慮するとユーザが通過すると考えにくいノードである。なお、ノードN12,N15は、それぞれ誤推定の頻度に応じて、更に区別して表示されてもよい。
次に、位置推定装置10の位置推定処理を説明する。図6は、位置推定装置10の位置推定処理を示すフローチャートである。
位置推定処理では、最初に、ユーザ情報取得部14により、携帯端末20からユーザ情報が取得される(ステップS1)。当該ユーザ情報には、携帯端末20の位置情報、ユーザのデモグラ情報、位置情報が取得された日時を示す情報、及びユーザIDが含まれている。
つづいて、位置推定部15により、携帯端末20の位置(ノード)が推定される(ステップS2)。位置推定部15は、ユーザ情報取得部14により連続的に取得される携帯端末20のユーザ情報、並びに、ノードリンクデータ記憶部11に記憶されているノードデータ111及びリンクデータ112に基づき、携帯端末20が位置する(存在する)ノードを連続的に推定する。
つづいて、導出部16により位置推定部15により連続的に推定されたノード間のリンクのリンクコストであってユーザ情報取得部14によって取得されたデモグラ情報に応じたリンクコストが導出される(ステップS3)。そして、判定部17により、リンクコストが所定の閾値以上であるか否かが判定される(ステップS4)。
ステップS4において、リンクコストが所定の閾値以上であると判定された場合には、当該リンクコストに係るノードの推定が誤りである旨の情報が携帯端末20及び外部装置に出力(送信)される(ステップS5)。一方で、ステップS4において、リンクコストが所定の閾値以上でないと判定された場合には、当該リンクコストに係るノードを示すノードIDが携帯端末20及び外部装置に出力(送信)される(ステップS6)。以上が位置推定処理である。
次に、位置推定装置10のリンクコスト更新処理を説明する。図7は、リンクコスト更新処理の一例を示すフローチャートである。
リンクコスト更新処理では、最初に、ノードリンクデータ記憶部11において記憶されるノードデータ111及びリンクデータ112が作成される(ステップS11)。当該ノードデータ111及びリンクデータ112は、例えばオペレータが各データを手入力することにより作成される。リンクデータ112においては、相関性重みは例えば「1」とされ、ユークリッド距離に応じてリンクコストが設定される(ステップS12)。
つづいて、補正部12は、移動履歴データ131の移動履歴が更新されたか否かを判定する(ステップS13)。ステップS13において移動履歴が更新されていない場合には、所定の時間が経過した後に、再度ステップS13の判定が行われる。一方で、ステップS13において移動履歴が更新されている場合には、補正部12により、移動履歴に基づいて各リンクのデモグラ情報毎の移動数が導出される(ステップS14)。そして、補正部12により、該移動数に基づいて、各リンクのデモグラ情報毎のリンクコストが更新される(ステップS15)。すなわち、補正部12は、移動数が少ないリンク及びデモグラ情報の組合せほどリンクデータ112の相関性重みを小さくし、リンクデータ112のユークリッド距離と相関性重みとから、各リンクのデモグラ情報毎のリンクコストを導出する。ステップS15の処理が完了すると、再度ステップS13の処理が行われる。以上がリンクコスト更新処理である。
次に、上述した位置推定装置10の作用効果について説明する。
この位置推定装置10では、リンクのユークリッド距離に応じて定まるリンクコストが、各リンクそれぞれについてユーザの属性情報毎に、ノードリンクデータ記憶部11に記憶されている。そして、当該記憶されている情報と、携帯端末20から取得された位置情報に基づき推定されたノードに係るリンクと、携帯端末20から取得されたデモグラ情報とに応じて、リンクコストが導出される。すなわち、ノードリンクデータ記憶部11に記憶されている当該リンクのリンクコストのうち、携帯端末20から取得されたデモグラ情報に応じたリンクコストが、リンクコストとして導出される。
ここで、この位置推定装置10では、補正部12により、リンクとの相関性が低いデモグラ情報のリンクコストほど高くなるように、各リンクコストが補正されている。そして、判定部17により、導出部16が導出したリンクコストが所定の閾値以上である場合に、リンクコストに係るノードの推定が誤りであると判定される。すなわち、デモグラ情報との相関性が低いリンクに係るノードほど、誤推定であると判定され易くなる。これにより、デモグラ情報を考慮すると、ユーザが選択しにくいと考えられる経路(リンク)に係るノードを誤推定であると判定することができる。すなわち、デモグラ情報を考慮することによって、推定された位置が実際の携帯端末20の位置であるか否かを高確率で判別することができ、携帯端末20の位置を高精度に推定することができる。
また、各リンクにおける複数の携帯端末20の移動履歴を記憶する履歴記憶部13を更に備え、履歴記憶部13は、移動履歴に含まれる情報として各携帯端末20に係るデモグラ情報を記憶しており、補正部12は、履歴記憶部13の移動履歴データ131に記憶された移動履歴から、各リンクのデモグラ情報毎の移動数を導出し、該移動数が少ないリンク及びデモグラ情報の組合せほど、互いの相関性が低いとみなす。これにより、移動数が少ないリンク及びデモグラ情報の組合せに係るリンクコストほど高くなり、過去の実データに応じて、ユーザが選択しにくいリンクに係るノードを誤推定であると判定することができる。このことで、携帯端末20の位置をより高精度に推定することができる。
また、位置推定部15により連続的に推定されたノード、及び、ノード間のリンクを、マップ(地図情報)と対応付けて表示する表示部18を更に備え、表示部18は、判定部17によって誤推定であると判定されたノードを、その他のノードと区別して表示する。これにより、誤推定として判定されたノードが視覚的に把握しやすくなる。また、誤推定として判定され易いノードを把握することによって、無線電波装置30(例えばビーコン)の再設置及び再チューニングを適切且つ簡易に行うことができる。
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されない。例えば、補正部12は、履歴記憶部13の移動履歴データ131に記憶された移動履歴から、各リンクのデモグラ情報毎の移動数を導出し、該移動数が少ないリンク及びデモグラ情報の組合せほど、互いの相関性が低いとみなすとして説明したが、リンク及びデモグラ情報の相関性は、予め設定されていてもよい。
また、携帯端末20は無線電波装置30からの無線電波に基づいて位置情報を取得するとして説明したがこれに限定されず、GPS(Global Positioning System)又は基地局測位等の他の測位方法により、位置情報を取得してもよい。
また、補正部12により、リンクとの相関性が低いデモグラ情報のリンクコストほど高くなるように補正するとして説明したが、別の基準に沿って、リンクコストが更に補正(更新)されてもよい。すなわち、補正部12は、ノードリンクデータ記憶部11のリンクデータ112に記憶されている各リンクコストについて、直近所定時間(例えば10分〜1時間)内の移動数が多く混雑していると想定されるリンクのリンクコストほど高くなるように、更に補正してもよい。混雑しているリンクでは、ユーザは移動しにくいと考えられる。このため、混雑していると想定されるリンクのリンクコストが高くされることにより、混雑しているリンクであるにもかかわらず当該リンクを短期間で通過しているような場合に、当該リンクに係るノードが誤推定であると判定することができる。このことで、携帯端末20の位置をより高精度に推定することができる。なお、混雑を考慮してリンクコストが補正されている場合において、判定部17は、リンクコストが所定の閾値以上であっても、例えば所定の時間以上同一のノードから移動していない(つまり、混雑の影響により短期間でリンクを移動することができでいない)ケースにおいては、当該リンクに係るノードが誤推定ではないと判定してもよい。
上記のように混雑を考慮する場合においては、補正部12は、履歴記憶部13の移動履歴データ131に記憶された移動履歴から、直近所定時間(例えば10分〜1時間)内の各リンクの移動数を導出し、該移動数が多いリンクのリンクコストほど高くなるように補正してもよい。直近所定間内の各リンクの移動数を考慮することにより、リンクの混雑状況を適切に把握することができる。このことで、携帯端末20の位置をより高精度に推定することができる。なお、混雑を考慮する場合において、各リンクの混雑状態に応じた補正の度合いは予め設定されていてもよい。
図8は、混雑を考慮する場合の、リンクコスト更新処理を示すフローチャートである。図8におけるステップS111〜S115の処理は、上述した図7のステップS11〜S15の処理と同様である。混雑を考慮する場合には、ステップS115において各リンクのデモグラ情報毎のリンクコストが更新された後に、直近所定時間(例えば10分間)の移動履歴に基づき、リンクコストが更新される(ステップS200)。ステップS200の処理が完了すると、再度ステップS113の処理が行われる。以上が混雑を考慮する場合の、リンクコスト更新処理である。
また、ノードリンクデータ記憶部11が、リンクに関する情報としてリンクデータ112においてリンクの道幅を記憶し、補正部12が、ノードリンクデータ記憶部11に記憶されている各リンクのリンクコストについて、道幅が狭いリンクのリンクコストほど高くなるように、更に補正してもよい。道幅が狭いリンクでは、ユーザは移動しにくい。このため、道幅が狭いリンクのリンクコストが高くされることにより、道幅が狭いリンクであるにもかかわらず当該リンクを短期間で通過しているような場合に、当該リンクに係るノードを誤推定であると判定することができる。このことで、携帯端末20の位置をより高精度に推定することができる。
次に、携帯端末20の位置をより高精度に推定するために、位置補正の必要性を判断し、必要と判断した時のみ所定の位置補正手法による位置補正を実施する変形例について述べる。図9は、変形例に係る位置推定システム1Aの位置推定装置10Aの機能構成を示す図である。図9に示されるように、位置推定装置10Aは、上記実施形態において説明した位置推定装置10の構成に加えて、位置補正部31及び信頼度算出部32を備える。
位置補正部31は、判定部17によりリンクコストに係るノードの推定が誤りであると判定された場合に、当該推定が誤りであると判定されたノードが示す位置を、履歴記憶部13に記憶された移動履歴データ131に応じて補正し、当該補正した位置を携帯端末20の位置とする。
具体的には、位置補正部31は、移動履歴データ131を参照し、判定部17によって推定が誤りであると判定されたノードの前に携帯端末20が位置したノード(直近のノード)を特定する。そして、位置補正部31は、推定が誤りであると判定されたノードに代えて、上記直近のノードを携帯端末20の位置として特定する。最後に、位置補正部31は、特定した補正後の携帯端末20の位置を、携帯端末20及び外部装置(図示せず)に送信する。
このように、推定されたノードが誤りであると考えられる場合に、携帯端末20の移動履歴に基づき補正した位置(具体的には、直近の位置)を携帯端末20等に出力することにより、現在の携帯端末20の位置に近いと思われる位置を、携帯端末20に出力することができる。
ここで、携帯端末20の直近の位置を用いることにより、上述した利点があるものの、所定の条件下においては、上述した位置補正を適切に行うことができない場合がある。すなわち、上記位置補正部31による位置補正では、移動履歴データ131に記憶された直近の携帯端末20の位置(ノード)に基づいて位置補正が実施されるため、直近の携帯端末20の位置が誤りであり、且つ、直近の携帯端末20の位置と位置推定部15により新たに推定された携帯端末20の位置とが大きく離れている場合には、位置推定部15により新たに推定された位置が正しい位置であるにもかかわらず、誤った直近の位置に携帯端末20の位置が位置補正されるおそれがある。このような事情から、位置推定装置10Aは、信頼度算出部32を備えている。
信頼度算出部32は、位置推定部15により推定されたノードの信頼度を算出する。信頼度算出部32は、例えば、ノード推定に用いられるRSSI値を変数として持つ関数を用いて、ノードの信頼度を算出する。例えば、推定されたノードに設置された無線電波装置から発信された電波強度がxであった場合、その推定信頼度f(x)は下記関数によって算出可能である。
なお、上記(3)式で示される関数は一例であり、信頼度算出のために用いる関数はこれに限定されない。また、推定結果のノードに設置された無線電波装置から発信された電波強度のみを変数として持つ関数を例に挙げたが、他の値を変数として用いてもよい。
そして、信頼度が所定の値以上である場合には、導出部16によるリンクコストの導出が行われることなく、位置推定部15により推定されたノードが携帯端末20の位置として携帯端末20及び外部装置に送信される。一方、信頼度が所定の値以上でない場合には、導出部16によるリンクコストの導出及び判定部17による判定が行われる。
このように、信頼度が所定の値以上である場合には、導出部16によるリンクコストの導出が行われず、上述した位置補正部31による位置補正も行われない。すなわち、位置推定部15によって推定された位置が正しい位置である可能性が高い場合には、位置補正部31による移動履歴に応じた位置補正が行われないので、移動履歴における携帯端末20の過去の位置の不正確さに影響されずに、正しい位置を携帯端末20の位置として出力することができる。例えば、直近に記憶された誤った携帯端末20の位置情報に基づいて、誤った位置補正が実施されることを防止することが可能となり、携帯端末20の位置をより高精度に推定することができる。
最後に、図10を参照して、上記変形例に係る位置推定処理のフローについて説明する。
位置推定処理では、最初に、ユーザ情報取得部14により、携帯端末20からユーザ情報が取得される(ステップS201)。当該ユーザ情報には、携帯端末20の位置情報、ユーザのデモグラ情報、位置情報が取得された日時を示す情報、及びユーザIDが含まれている。
つづいて、位置推定部15により、携帯端末20の位置(ノード)が推定される(ステップS202)。位置推定部15は、ユーザ情報取得部14により連続的に取得される携帯端末20のユーザ情報、並びに、ノードリンクデータ記憶部11に記憶されているノードデータ111及びリンクデータ112に基づき、携帯端末20が位置する(存在する)ノードを連続的に推定する。
つづいて、信頼度算出部32により、位置推定部15が推定したノードの信頼度が算出される(ステップS203)。信頼度算出は、上述したように例えばRSSI値を変数として持つ関数により算出される。
つづいて、信頼度算出部32により、上記信頼度が所定値以上であるか否かが判定される(ステップS204)。S204において信頼度が所定値以上であると判定された場合には、後述する導出部16、判定部17、及び位置補正部31による処理は行われず、信頼度算出部32によって、位置推定部15が推定したノードIDが携帯端末20の位置として携帯端末20等に出力(送信)される(ステップS205)。
一方、S204において信頼度が所定値以上でないと判定された場合には、導出部16により、位置推定部15が連続的に推定したノード間のリンクのリンクコストであってユーザ情報取得部14によって取得されたデモグラ情報に応じたリンクコストが導出される(ステップS206)。そして、判定部17により、リンクコストが所定の閾値以上であるか否かが判定される(ステップS207)。
S207においてリンクコストが所定の閾値以上でないと判定された場合には、当該リンクコストに係るノードを示すノードIDが携帯端末20等に出力(送信)される(ステップS205)。
一方、S207においてリンクコストが所定の閾値以上であると判定された場合には、当該リンクコストに係るノードの推定が誤りである旨の情報が、判定部17から位置補正部31に出力される(ステップS208)。そして、位置補正部31により、推定が誤りであると判定されたノードが示す位置が、履歴記憶部13に記憶された移動履歴データ131に応じて補正され、当該補正された位置が携帯端末20の位置とされる。
具体的には、位置補正部31は、移動履歴データ131を参照し、判定部17によって推定が誤りであると判定されたノードの前に携帯端末20が位置したノード(直近のノード)を特定する。そして、位置補正部31は、推定が誤りであると判定されたノードに代えて、上記直近のノードを携帯端末20の位置として特定する。最後に、位置補正部31は、特定した補正後の携帯端末20の位置を、携帯端末20及び外部装置(図示せず)に出力(送信)する。以上が変形例に係る位置推定処理である。
なお、上記変形例では、位置補正部31による補正の有無を決定するに際し信頼度を算出し、該信頼度が閾値を超過しながった場合にのみ位置補正を行うこととしたが、推定結果のノードに設置された無線電波装置から発信された電波強度に対する閾値を設定し、電波強度が当該閾値を超過しなかった場合にのみ補正を行うこととしてもよい。