(57)【特許請求の範囲】
【請求項１】
移動端末の所持者の位置を判定する、測位システムであって、
前記移動端末よって測定され、前記移動端末から収集された測定データと、
前記移動端末による測定データにおける特徴量と前記移動端末の所持位置との関係を示す、所持位置検出モデルと、
複数の所持位置それぞれに対応し、前記移動端末による測定データにおける特徴量と前記所持者の動作との関係を示す、複数の動作認識モデルと、
複数のパラメータセットを格納する、パラメータテーブルと、
前記所持位置検出モデル及び前記収集された測定データに基づき、前記移動端末の所持位置を判定する、所持位置検出部と、
前記所持位置検出部により判定された所持位置に対応する動作認識モデルを選択するモデル選択部と、
前記選択された動作認識モデル及び前記収集された測定データに基づき、前記移動端末の所持者の動作を判定する、動作認識部と、
前記所持位置検出部に判定された所持位置及び前記動作認識部により判定された動作に基づいて、前記パラメータテーブルからパラメータセットを選択する、調整部と、
前記選択されたパラメータセットを使用して、前記所持者の移動量を計算する、移動量計算部と、
前記計算された移動量に基づいて前記所持者の位置を判定する位置判定部と、
学習処理部と、
フィードバックシステム部と、
訂正部と、を含み、
前記フィードバックシステム部は、前記所持者による実際の所持位置の入力を前記移動端末から受信し、前記実際の所持位置の情報を前記学習処理部に入力し、
前記学習処理部は、前記実際の所持位置、前記収集された測定データ及び前記所持位置検出モデルに基づき、前記所持位置検出モデルを調整し、
前記訂正部は、前記所持者の動作のシーケンスにおける第１の動作の正誤を前記第１の動作の前後の動作に基づいて判定し、前記第１の動作が誤りであると判定すると前記第１の動作を訂正する、測位システム。
【請求項２】
請求項１に記載の測位システムであって、
前記所持位置検出モデルを生成する、学習処理部をさらに含み、
前記学習処理部は、
異なる所持位置における複数の移動端末から、測定データを取得し、
前記異なる所持位置それぞれにおける測定データの特徴量を計算し、
前記異なる所持位置それぞれの特徴量に基づき、前記異なる所持位置それぞれと前記測定データにおける特徴量との関係を判定し、
前記判定の結果に基づき、前記所持位置検出モデルを生成する、測位システム。
【請求項３】
請求項１に記載の測位システムであって、
前記複数の動作認識モデルを生成する、学習処理部をさらに含み、
前記学習処理部は、
異なる所持位置における複数の移動端末から、異なる動作の間の測定データを取得し、
前記異なる所持位置及び前記異なる動作の異なるペアそれぞれにおける測定データの特徴量を計算し、
前記異なるペアそれぞれの特徴量に基づき、前記異なるペアそれぞれと前記測定データにおける特徴量との関係を判定し、
前記判定の結果に基づき、前記複数の動作認識モデルを生成する、測位システム。
【請求項４】
請求項１に記載の測位システムであって、
学習処理部と、フィードバックシステム部と、をさらに含み、
前記フィードバックシステム部は、前記所持者による実際の所持位置及び実際の動作の入力を前記移動端末から受信し、前記実際の所持位置及び前記実際の動作の情報を前記学習処理部に入力し、
前記学習処理部は、前記実際の所持位置、前記実際の動作、前記収集された測定データ及び前記実際の所持位置の動作認識モデルに基づき、前記所持位置の動作認識モデルを調整する、測位システム。
【請求項５】
請求項１に記載の測位システムであって、
訂正部をさらに含み、
前記訂正部は、前記移動端末の所持位置のシーケンスにおける第１の所持位置の正誤を前記第１の所持位置の前後の所持位置に基づいて判定し、前記第１の所持位置が誤りであると判定すると、前記第１の所持位置を訂正する、測位システム。
【請求項６】
請求項１に記載の測位システムであって、
前記位置判定部により判定された前記所持者の位置を、地図情報と共に出力する、測位システム。
【請求項７】
移動端末の所持者の位置を判定する、測位システムによる測位方法であって、
前記測位システムは、
前記移動端末よって測定され、前記移動端末から収集された測定データと、
前記移動端末による測定データにおける特徴量と前記移動端末の所持位置との関係を示す、所持位置検出モデルと、
複数の所持位置それぞれに対応し、前記移動端末による測定データにおける特徴量と前記所持者の動作との関係を示す、複数の動作認識モデルと、
複数のパラメータセットを格納する、パラメータテーブルと、を含み、
前記測位システムが、
前記所持位置検出モデル及び前記収集された測定データに基づき、前記移動端末の所持位置を判定し、
前記判定された所持位置対応する動作認識モデルを選択し、
前記選択された動作認識モデル及び前記収集された測定データに基づき、前記移動端末の所持者の動作を判定し、
前記判定された所持位置及び前記判定された動作に基づいて、前記パラメータテーブルからパラメータセットを選択し、
前記選択されたパラメータセットを使用して、前記所持者の移動量を計算し、
前記計算された移動量に基づいて前記所持者の位置を判定し、
前記所持者による実際の所持位置の入力を前記移動端末から受信し、
前記実際の所持位置、前記収集された測定データ及び前記所持位置検出モデルに基づき、前記所持位置検出モデルを調整し、
前記所持者の動作のシーケンスにおける第１の動作の正誤を前記第１の動作の前後の動作に基づいて判定し、前記第１の動作が誤りであると判定すると、前記第１の動作を訂正する、測位方法。
【請求項８】
請求項７に記載の測位方法であって、
前記測位システムが、
異なる所持位置における複数の移動端末から、測定データを取得し、
前記異なる所持位置それぞれにおける測定データの特徴量を計算し、
前記異なる所持位置それぞれの特徴量に基づき、前記異なる所持位置それぞれと前記測定データにおける特徴量との関係を判定し、
前記判定の結果に基づき、前記所持位置検出モデルを生成する、ことをさらに含む測位方法。
【請求項９】
請求項７に記載の測位方法であって、
異なる所持位置における複数の移動端末から、異なる動作の間の測定データを取得し、
前記異なる所持位置及び前記異なる動作の異なるペアそれぞれにおける測定データの特徴量を計算し、
前記異なるペアそれぞれの特徴量に基づき、前記異なるペアそれぞれと前記測定データにおける特徴量との関係を判定し、
前記判定の結果に基づき、前記複数の動作認識モデルを生成する、ことをさらに含む測位方法。
【請求項１０】
請求項７に記載の測位方法であって、
前記所持者による実際の所持位置及び実際の動作の入力を前記移動端末から受信し、
前記実際の所持位置、前記実際の動作、前記収集された測定データ及び前記実際の所持位置の動作認識モデルに基づき、前記実際の所持位置の動作認識モデルを調整する、ことをさらに含む測位方法。
【請求項１１】
請求項７に記載の測位方法であって、
前記移動端末の所持位置のシーケンスにおける第１の所持位置の正誤を前記第１の所持位置の前後の所持位置に基づいて判定し、前記第１の所持位置が誤りであると判定すると、前記第１の所持位置を訂正する、ことをさらに含む測位方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、測位システムに関する。
【背景技術】
【０００２】
屋外測位技術は、グローバル・ポジショニング・システム（ＧＰＳ）のおかげで、コスト及び測位可能範囲の点で非常に効果的である。しかし、屋内測位技術は、ＧＰＳ信号が届かない場所において多くのインフラを実装することが必要であるため、非常に高コストである。デッドレコニングによる歩行者位置推定（ＰＤＲ）は、屋内測位技術の一つの方法である。ＰＤＲシステムは、加速度計、ジャイロスコープ、磁気計、気圧計等のモバイルセンサを使用することによって、進行方向及び移動速度を推定し、その推定結果に基づき、初期位置からの相対位置を推定できる。ＰＤＲシステムは、固定屋内測位システムと共に利用することが可能であり、それによりコストを低減し測位可能範囲を広げることができる。 
【０００３】
加速度計やジャイロスコープのようなセンサによって収集されるデータは、センサの所持位置が、移動端末の所持者の体の異なる部分にあるとき、異なるものとなる。移動端末の所持者の移動量（移動速度及び方向）を推定するためには、センサの所持位置が重要な情報である。公知の方法は、そのような情報を使用して、移動端末の所持者の移動量の計算を補正する。
【０００４】
例えば、特許文献１は、携帯端末のスイング動作の大きさを判定し、前記スイング動作の大きさが所定の値より大きいか又は同一である場合に、前記携帯端末は、前記スイング動作を行うものと判定し、上記検出された加速度及び角速度のうちの少なくとも１つを用いて前記歩行者の身体における前記携帯端末の携帯位置を判定し、前記判定された前記携帯端末の携帯位置に従って前記歩行者の歩幅を推定する、ことを開示する（要約参照）。
【０００５】
また、特許文献２は、測位装置は、計測データから、自装置が移動体にどのように保持されているかを特定する保持状態推定部と、保持状態推定部が特定した保持状態に応じた演算処理を行い、上記計測データから上記移動体の移動ベクトルを算出する移動量推定部とを備える、ことを開示する（要約参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２０１３−５３３４８１号
【特許文献２】国際公開２０１１／９３４４７号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、移動端末の所持者の移動量の推定においては、センサの所持位置が重要であるのみならず、移動端末の所持者の移動動作の種類も極めて重要である。例えば、歩行、階段上り、及び階段下りという動作は似た加速度データを示すが、歩行おける歩幅と階段の上り下りにおける歩幅とは、全く異なる。したがって、移動端末の所持者の移動量を推定する計算を補正するためには、センサの所持位置と所持者の動作内容の双方が必須の情報である。
【０００８】
例えば、特許文献２に開示されている技術を使用して、センサ装置の所持位置を推定し、その情報を使用して移動端末の所持者の移動量を計算することができる。しかし、所持者の移動動作がわからない場合には、移動端末の所持者の移動量が間違って推定され得る。例えば、歩行と階段下りとは、類似した加速度センサデータを示すが、歩行の歩幅は、階段下りの歩幅よりも長い。さらに、階段下りは、垂直軸における移動を含むが、それは、移動端末の所持者の移動動作が与えられている場合のみ、知ることができる。
【０００９】
したがって、移動端末のセンサによるデータを使用して移動端末の所持者の位置を適切に推定できる技術が望まれる。
【課題を解決するための手段】
【００１０】
本発明の代表的な一例は、移動端末の所持者の位置を判定する、測位システムであって、前記移動端末よって測定され、前記移動端末から収集された測定データと、前記移動端末による測定データにおける特徴量と前記移動端末の所持位置との関係を示す、所持位置検出モデルと、複数の所持位置それぞれに対応し、前記移動端末による測定データにおける特徴量と前記所持者の動作との関係を示す、複数の動作認識モデルと、複数のパラメータセットを格納する、パラメータテーブルと、前記所持位置検出モデル及び前記収集された測定データに基づき、前記移動端末の所持位置を判定する、所持位置検出部と、前記所持位置検出部により判定された所持位置に対応する動作認識モデルを選択するモデル選択部と、前記選択された動作認識モデル及び前記収集された測定データに基づき、前記移動端末の所持者の動作を判定する、動作認識部と、前記所持位置検出部に判定された所持位置及び前記動作認識部により判定された動作に基づいて、前記パラメータテーブルからパラメータセットを選択する、調整部と、前記選択されたパラメータセットを使用して、前記所持者の移動量を計算する、移動量計算部と、前記計算された移動量に基づいて前記所持者の位置を判定する位置判定部と、を含む。
【発明の効果】
【００１１】
本発明の一態様によれば、移動端末のセンサによる測定データを使用して、移動端末所持者の位置を適切に推定することができる。
【図面の簡単な説明】
【００１２】
【図１】実施例１に係る屋内測位システムの構成例を模式的に示す。
【図２】実施例１に係る屋内測位システムの機能ブロックを示す。
【図３】実施例１に係る測定データを模式的に示す。
【図４】実施例１に係る所持位置検出モデルを模式的に示す。
【図５Ａ】実施例１に係る動作認識モデルの例を模式的に示す。
【図５Ｂ】実施例１に係る動作認識モデルの例を模式的に示す。
【図５Ｃ】実施例１に係る動作認識モデルの例を模式的に示す。
【図５Ｄ】実施例１に係る動作認識モデルの例を模式的に示す。
【図６】実施例１に係るパラメータテーブルを模式的に示す。
【図７】実施例１に係る所持位置検出処理のフローチャートを示す。
【図８】実施例１に係るモデル選択処理のフローチャートを示す。
【図９】実施例１に係る動作認識処理のフローチャートを示す。
【図１０】実施例１に係る調整処理のフローチャートを示す。
【図１１】実施例１に係る移動量計算処理のフローチャートを示す。
【図１２】実施例１に係る移動端末の所持者の位置判定処理のフローチャートを示す。
【図１３】実施例２に係る屋内測位システムの機能ブロック図を示す。
【図１４】実施例２に係るデータ収集を説明する模式図を示す。
【図１５】実施例２に係るデータ収集部のフローチャートを示す。
【図１６】実施例２に係る所持位置検出学習部のフローチャートを示す。
【図１７】実施例３に係る屋内測位システム１の機能ブロック図を示す。
【図１８】実施例３に係るフィードバックシステム部のフローチャートを示す。
【図１９】実施例４に係る屋内測位システムの機能ブロック図を示す。
【図２０】実施例４に係るデータ収集部のフローチャートを示す。
【図２１】実施例４に係る動作認識学習部のフローチャートを示す。
【図２２】実施例５に係る屋内測位システムの機能ブロック図を示す。
【図２３】実施例５に係るフィードバックシステム部のフローチャートを示す。
【図２４】実施例６に係る屋内測位システムの機能ブロック図を示す。
【図２５】実施例６に係る訂正部がどのように所持位置検出を訂正するかを模式的に示す。
【図２６】実施例６に係る訂正部がどのように動作認識を訂正するかを模式的に示す。
【図２７】実施例７に係るサーバの入出力装置に表示される画像例を示す。
【図２８】実施例７に係る屋内測位システムのアプリケーションの他の例を示す。
【図２９】実施例７に係る屋内測位システムのアプリケーションの他の例を示す。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付されている。
【００１４】
以下において、移動端末の所持者の位置を推定する屋内測位システムが開示される。屋内測位システムは、移動端末内のセンサによって測定されたデータに基づき移動端末の所持者の位置を推定する。
【００１５】
屋内測位システムは、移動端末の測定データから、所持位置検出モデルを参照して、所持者による移動端末の所持位置を推定する。屋内測位システムは、推定した所持位置に対応する動作認識モデル選択し、選択した動作認識モデルを参照して、測定データから所持者の動作を推定する。
【００１６】
屋内測位システムは、推定した所持位置及び動作に対応するパラメータセットを、パラメータテーブルから選択する。屋内測位システムは、選択したパラメータを使用して、移動端末による測定データから、所持者の移動スピードと進行方向を推定する。屋内測位システムは、推定した移動スピードと進行方向から、所持者の移動量を計算する。
【００１７】
本開示の屋内測位システムは、推定した移動端末の所持位置に対応する動作認識モデルを使用することで、より正確に所持者の動作を推定し、推定した所持位置と動作とから、移動スピードと進行方向から決まる所持者の移動量をより正確に推定することができる。
【実施例１】
【００１８】
図１〜１２を参照して実施例１を説明する。移動端末の所持者の位置が、移動端末に含まれる加速度計、ジャイロスコープ、磁気計、気圧計等の測定センサによって測定された測定データに基づき推定されるとき、調整プログラムは、移動端末の所持者の移動量を定期的に計算するためのパラメータを調整する。移動量は、移動方向の要素を含む。パラメータ調整により、移動端末の所持者の移動量の推定の正確性が改善される。その結果、移動中の移動端末の所持者の位置が、正確に推定され得る。
【００１９】
図１は、実施例１に係る屋内測位システムの構成例を模式的に示す。屋内測位システムは、サーバ１００及び移動端末２００を含む。移動端末２００は、測定センサ群２３０を含む。測定センサ群２３０は、例えば、移動端末２００の所持者の移動による加速度を検出する加速度計、移動端末２００の所持者が向きを変えることによる角速度を検出するジャイロスコープ、移動端末２００の周囲の磁界を検出する磁気計、移動端末２００の周囲の気圧を検出する気圧計等を含む。
【００２０】
移動端末２００は、測定センサ群２３０により測定された測定データ２４１を格納する。サーバ１００は、移動端末２００の測定センサ群２３０によって測定された測定データ２４１を収集し、収集した測定データ２４１に基づいて、所持者の移動量を計算する。
【００２１】
移動端末２００は、プロセッサ２１０、メモリ２２０、測定センサ群２３０、補助記憶２４０、通信インタフェース２５０、及び入出力装置２６０を含む。これら構成要素は、互いにバスによって接続されている。スマートフォンは、移動端末２００の一例である。所持者の移動の測定データが測定センサ群２３０によって測定できれば、移動端末２００は、スマートフォンに限定されない。 
【００２２】
プロセッサ２１０はメモリ２２０を参照して、様々な演算処理を実行する。メモリ２２０は測定データ取得プログラム２２１を格納している。測定データ取得プログラム２２１は、測定センサ群２３０によって収集された測定データを測定時刻と関連づけて格納する。測定時刻と関連づけられた測定データは、測定データ２４１として補助記憶２４０に格納される。測定データは、例えば、移動端末２００の所持者の移動による加速度、移動端末２００の所持者が向きを変えることによる角速度、移動端末２００の周囲の磁界、移動端末２００の周囲の気圧等である。
【００２３】
測定センサ群２３０は、例えば、移動端末２００の加速度、角速度、磁界、気圧等を測定することができる。典型的な加速度計は、互いに直交する３軸、具体的には、移動端末２００のフレームの上下軸、左右軸及び垂直軸の加速度を測定する。典型的なジャイロスコープは、直交する３軸、具体的には、移動端末２００のフレームの上下軸、左右軸及び垂直軸の角速度を測定する。典型的な磁気計は、直交する３軸、具体的には、移動端末２００のフレームの上下軸、左右軸及び垂直軸の磁界を測定する。気圧計は、移動端末２００の周囲の大気圧を測定する。
【００２４】
補助記憶２４０は、測定データ２４１を格納する。補助記憶２４０は、例えば、可搬不気圧記憶媒体である。測定データ２４１の詳細は、図３を参照して後述される。通信インタフェース２５０は、移動端末２００をネットワーク１５０に接続するインタフェースである。入出力装置２６０は、ユーザからの入力を受け付け、また、ユーザに情報を提示するためのデバイスであり、例えば、入力キー、タッチパネル、ディスプレイ等を含む。
【００２５】
サーバ１００は、プロセッサ１１０、メモリ１２０、補助記憶１３０、通信インタフェース１４０、及び入出力装置１６０を含む。これら構成要素はバスによって互いに接続されている。プロセッサ１１０はメモリ１２０を参照して、様々な演算処理を実行する。メモリ１２０は、所持位置検出プログラム１２１、モデル選択プログラム１２２、動作認識プログラム１２３、調整プログラム１２４、移動量計算プログラム１２５、及び位置判定プログラム１２６を格納する。
【００２６】
所持位置検出プログラム１２１は、測定データ１３２に基づいて、移動端末２００が、移動端末２００の所持者の体のどこで所持されているかを検出する。測定データ１３２は、移動端末２００において収集された測定データ２４１に対応し、サーバ１００において補助記憶１３０に格納されている。サーバ１００の不図示の収集プログラムが、移動端末２００から測定データ２４１を収集し、測定データ１３２として格納する。所持位置検出プログラム１２１による処理は、図７を参照して後述される。
【００２７】
モデル選択プログラム１２２は、動作認識プログラム１２３のための適切なモデルを、所持位置検出プログラム１２１により検出された所持位置に基づいて選択する。多くの動作認識モデルが補助記憶１３０に格納されており、各動作認識モデルは、所持者に所持されている移動端末２００の位置に対応する。これら所持位置は、例えば、所持者の手の上、所持者のベルトポーチ内、所持者のサイドポケット内、所持者のフロントポケット内、所持者のフロントポケット内等である。モデル選択プログラム１２２による処理は、図８を参照して後述される。
【００２８】
動作認識プログラム１２３は、移動端末２００の所持者の動作を、測定データ１３２及びモデル選択プログラム１２２に選択された動作認識モデルに基づいて、判定する。動作は、例えば、歩行、走り、静止している、階段上り、階段下り、ドア開け、エレベータによる移動等である。動作認識プログラム１２３による処理は、図９を参照して後述される。
【００２９】
調整プログラム１２４は、歩幅、歩数、進行方向及び階数等を所持位置と動作認識の情報に基づいて推定するためのパラメータを、変更する。調整されるパラメータは、例えば、歩数カウントに使用されるパラメータ、歩幅計算に使用されるパラメータ、ドアを通る進行方向判定に使用されるパラメータ、階数判定に使用されるパラメータ等である。調整プログラム１２４の処理は、図１０を参照して後述される。
【００３０】
移動量計算プログラム１２５は、移動端末２００の所持者の移動スピードと進行方向を計算する。移動量は、移動端末２００の所持者の移動スピードと進行方向をから計算できる。
【００３１】
移動スピードは、単位時間当たりの移動距離であり、移動距離は、例えば、移動端末２００の所持者の歩数及び歩幅から計算できる。歩数は、例えば、加速度信号の周期の数により決定される。歩幅は、例えば、単位時間当たりの歩数と移動端末２００の所持者の基準歩幅から推定できる。
【００３２】
進行方向は、移動端末２００の地球を基準とする方向又は方向の変化に基づいて計算できる。例えば、磁気計は、移動端末２００の東西南北を基準とする方向を示し、ジャイロスコープの測定データから、方向の変化を計算できる。移動量計算プログラム１２５は、後で、図１１を参照して詳述される。
【００３３】
位置判定プログラム１２６は、移動端末２００の所持者の位置を判定する。初期位置、進行方向、及び移動量計算プログラム１２５により計算される移動量から、移動端末２００の所持者の位置を追跡することができる。位置判定プログラム１２６は、ＷＩＦＩアクセスポイントやビーコンアクセスポイントのような、固定アクセスポイントに基づいて、移動端末２００の所持者の位置を判定することもできる。
【００３４】
補助記憶１３０は、動作認識モデル群１３１を格納しており、各動作認識モデルは、移動端末２００の所持者の体における各位置に対応付けられる。補助記憶１３０は、さらに、測定データ１３２、所持位置検出モデル１３３、及びパラメータテーブル１３４を格納している。
【００３５】
多くの動作認識モデルが定義でき、例えば、手の上の動作認識モデル、ベルトポーチ内の動作認識モデル、サイドポケット内の動作認識モデル、フロントポケット内の動作認識モデル等が定義できる。各動作認識モデルは、測定データ１３２に基づき移動端末２００の所持者の動作を認識するための特徴量を格納している。動作認識モデル群１３１に含まれる動作認識モデルの例は、図５Ａ〜５Ｄを参照して後述される。
【００３６】
測定データ１３２は、センサデータであり、移動端末２００内の測定データ２４１に対応する。具体的には、サーバ１００は、定期的に、測定データ取得要求を移動端末２００に対してネットワーク１５０を介して送信する。測定データ取得要求を受信すると、移動端末２００は、収集した測定データ２４１をサーバ１００に対してネットワーク１５０を介して送信する。移動端末２００から測定データ２４１を受信すると、サーバ１００は受信した測定データ２４１を、補助記憶１３０に格納する。測定データ１３２の一例は、図３を参照して後述される。
【００３７】
サーバ１００が移動端末２００の測定データ２４１を収集する方法は、上記方法に限定されない。サーバ１００は、測定データ２４１が格納されている可搬記憶媒体から、測定データ２４１を直接に読み出してもよい。
【００３８】
所持位置検出モデル１３３は、所持者の体における移動端末２００の所持位置を判定するために格納されている。所持位置検出モデル１３３の例は、図４を参照して後述される。パラメータテーブル１３４は、移動端末２００の所持者の移動量を計算するためのパラメータを格納する。パラメータテーブル１３４の例は、図６を参照して後述される。
【００３９】
通信インタフェース１４０は、サーバ１００をネットワーク１５０に接続するためのインタフェースである。入出力装置１６０は、ユーザからの入力を受け付け、また、ユーザに情報を提示するためのデバイスであり、例えば、マウス、入力キー、タッチパネル、ディスプレイ等を含む。
【００４０】
屋内測位システムは、所持位置検出プログラム１２１、モデル選択プログラム１２２、動作認識プログラム１２３、調整プログラム１２４、移動量計算プログラム１２５、及び位置判定プログラム１２６を実行する計算機であって、サーバ１００には限定されない。例えば、移動端末２００が所持位置検出プログラム１２１、モデル選択プログラム１２２、動作認識プログラム１２３、調整プログラム１２４、移動量計算プログラム１２５、及び位置判定プログラム１２６を実行する場合、移動端末２００は、サーバ１００と同様の機能を有し、屋内測位システムとして動作する。
【００４１】
図２は、実施例１に係る屋内測位システムの機能ブロックを示す。屋内測位システム１は、記憶部２及び制御部３を含む。記憶部２は、全てのデータ、具体的には、動作認識モデル群１３１、測定データ１３２、所持位置検出モデル１３３、及びパラメータテーブル１３４を格納する。制御部３は、全ての処理部、具体的には、所持位置検出部１２１０、モデル選択部１２２０、動作認識部１２３０、調整部１２４０、移動量計算部１２５０、及び位置判定部１２６０を含む。
【００４２】
所持位置検出部１２１０は、プロセッサ１１０が所持位置検出プログラム１２１を実行することにより実現される。所持位置検出部１２１０は、測定データ１３２を読み、測定データ１３２から計算される特徴量を、所持位置検出モデル１３３と比較し、移動端末２００の所持者の体における、移動端末２００の所持位置を判定する。測定データ１３２は、不図示の収集プログラムを実行するプロセッサ１１０により実現される収集部により、移動端末２００から収集される。
【００４３】
所持位置検出部１２１０は、測定データ１３２について統計的な数学演算を実行することで、測定データ１３２から特徴量を抽出する。所持位置検出部１２１０は、演算された特徴量を所持位置検出モデル１３３における特徴量と比較して、所持者の体における移動端末２００の所持位置を判定する。所持位置検出部１２１０の処理は、後に、図７を参照して詳述される。
【００４４】
モデル選択部１２２０は、適切な動作認識モデルを、所持位置検出部１２１０からの情報に基づき選択する。モデル選択部１２２０は、プロセッサ１１０がモデル選択プログラム１２２を実行することにより実現される。モデル選択部１２２０の処理は、図８を参照して後述される。
【００４５】
動作認識部１２３０は、移動端末２００の所持者の動作を、測定データ１３２に基づいて判定する。動作認識部１２３０は、プロセッサ１１０が動作認識プログラム１２３を実行することにより実現される。動作認識部１２３０は、統計的かつ算術的計算を測定データに対して行うことで、測定データ１３２から特徴量を抽出する。動作認識部１２３０は、計算された特徴量を、選択された動作認識モデルと比較して、移動端末２００の所持者の動作を判定する。動作認識部１２３０の処理は、図９を参照して後述される。
【００４６】
調整部１２４０は、移動量の計算に使用するパラメータを、パラメータテーブル１３４に応じて変更する。調整部１２４０は、プロセッサ１１０が調整プログラム１２４を実行することにより実現される。調整部１２４０は、所持位置検出部１２１０及び動作認識部１２３０から情報を受信し、パラメータテーブル１３４からパラメータを選択し、前回の移動量計算で使用したパラメータを置き換える。調整部１２４０の処理は、図１０を参照して後述される。
【００４７】
移動量計算部１２５０は、移動端末２００の所持者の移動スピードと進行方向を計算する。移動量計算部１２５０は、プロセッサ１１０が移動量計算プログラム１２５を実行することにより実現される。
【００４８】
移動量計算部１２５０は、所定時間（例えば３秒）毎に、移動量を計算する。所定時間により、サンプリングウィンドウが規定される。移動量計算部１２５０は、サンプリングウィンドウ内において、加速度データの周期によって歩数をカウントし、さらに、各ステップの歩幅を加速度データに基づいて推定する。
【００４９】
加速度データは、測定データ１３２におけるデータタイプの一つである。歩数、歩幅、及びサンプリングウィンドウの時間（所定時間）に基づいて、移動量計算部１２５０は、移動端末２００の所持者の単位時間当たりの移動距離（移動スピード）を推定することができる。
【００５０】
移動量計算部１２５０は、前回の移動量計算における進行方向からの進行方向変化を、角速度データを時間で積分することによって計算できる。角速度データは、測定データ１３２におけるデータタイプの一つである。進行方向は、磁気データから決定することもできる。移動量計算部１２５０の処理は、図１１を参照して後述される。
【００５１】
位置判定部１２６０は、移動端末２００の所持者の位置を判定する。位置判定部１２６０は、プロセッサ１１０が位置判定プログラム１２６を実行することにより実現される。初期位置及び初期進行方向、並びに、移動量計算部１２５０によって計算された経路から、位置判定部１２６０は、移動端末２００の所持者の位置を推定することができる。
【００５２】
しかし、正確な位置が分かっているリセットポイントが存在する場合、位置判定は、推定された位置の代わりに、リセットポイントから決まる正しい位置を使用する。リセットポイントは、例えば、ＷＩＦＩアクセスポイントやビーコンアクセスポイントのような、固定アクセスポイントであり、アクセスポイントからの信号強度により、移動端末２００の所持者の位置をより正確に判定できる。位置判定部１２６０の処理は、図１２を参照して後述される。
【００５３】
図３は、実施例１に係る測定データ１３２を模式的に示す。測定データ１３２は、任意のタイプのセンサデータを含んでよい。センサの例として、加速度計、ジャイロスコープ、磁気計、気圧計等が考えられる。しかし、測定センサ群２３０は、移動端末２００に実装できる限り、上記以外のセンサを含むことができる。
【００５４】
測定データ１３２は、センサタイプ欄３０１、時刻欄３０２、Ｘ軸の値欄３０３、Ｙ軸の値欄３０４、及びＺ軸の値欄３０５を有する。センサタイプ欄３０１は、センサのタイプを示す。各センサは、固有の識別子に対応付けられている。例えば、加速度センサは、「Ａ」識別子、ジャイロスコープは「Ｙ」識別子、磁気センサは「Ｔ」識別子、気圧計は「Ｂ」識別子で示されている。センサは上記センサに限定されない。他のセンサデータは、例えば、ＷＩＦＩアクセスポイント又はＢｌｕｅｔｏｏｔｈアクセスポイント（Ｂｌｕｅｔｏｏｔｈは登録商標、以下同じ。）からの受信信号強度である。
【００５５】
センサデータが測定される時刻は、時刻欄３０２に格納される。センサによって測定されたデータは、Ｘ軸の値欄３０３、Ｙ軸の値欄３０４、及びＺ軸の値欄３０５に格納される。
【００５６】
Ｘ軸、Ｙ軸、Ｚ軸は互いに直行し、例えば、センサのタイプが加速度計である場合、移動端末２００の左右方向の加速度はＸ軸の値欄３０３に格納され、移動端末２００の上下方向のＹ軸の値欄３０４に格納され、移動端末２００に対して垂直方向の加速度は、Ｚ軸の値欄３０５に格納される。他のセンサデータタイプについても同様である。なお、気圧計のデータは、Ｘ軸、Ｙ軸及びＺ軸に共通の値を示す。
【００５７】
図４は、実施例１に係る所持位置検出モデル１３３を模式的に示す。所持位置検出モデル１３３は、移動端末２００の所持位置を判定するために参照される。所持位置検出モデル１３３は、特定の一つの動作、例えば、歩行動作における所持位置を判定するためのデータを格納する。所持位置検出モデル１３３は、位置欄４０１及び検出される特徴量の欄、具体的には、最小加速度欄４０２、最大加速度欄４０３、及び加速度標準偏差欄４０４を有する。
【００５８】
位置欄４０１は、移動端末２００の所持位置、つまり、移動端末２００が配置されている場所を格納する。移動端末２００の所持者は、移動端末２００を、手の上で保持する、ベルトポーチに入れる、フロントポケットに入れる、サイドポケットに入れる、又はバッグに入れることができる。登録される位置はこれらに限定されず、所持者が移動するときに移動端末２００を置くことができるどのような位置でもよい。
【００５９】
最小加速度欄４０２は、サンプリングウィンドウにおける、加速度の大きさの最小値を格納する。下記数１に示すように、加速度の大きさは、同一測定時刻における全軸方向の加速度値の二乗の和を正規化した値として計算される。
【数１】
0006329915.tif 000002
【００６０】
Ａｓは、加速度の大きさである。ＡｘはＸ軸方向における加速度値、ＡｙはＹ軸方向における加速度値、そしてＡｚはＺ軸方向における加速度値である。
【００６１】
最大加速度欄４０３は、サンプリングウィンドウにおける、加速度の大きさの最大値を格納する。加速度標準偏差欄４０４は、サンプリングウィンドウにおける、加速度の大きさの標準偏差を格納する。
【００６２】
全ての特徴量は、移動端末２００の所持位置を判定するために格納されている。本例において、モデルは決定木モデルとして格納され、移動端末２００の所持位置を、加速度データの特徴量を入力として分類する。特徴量欄４０２〜４０４の各セルは、特徴量の範囲又は特徴量の閾値を格納している。所持位置検出部１２１０は、測定データ１３２から加速度データの特徴量を計算し、加速度データの特徴量を所持位置検出モデル１３３と比較し、移動端末２００の所持位置を判定することができる。
【００６３】
例えば、最小加速度欄４０２のセルが、加速度データの最小加速度を含むレコードが選択される。選択されたレコードにおいて、最大加速度欄４０３のセルが、加速度データの最大加速度を含むレコードが選択される。さらに、選択されたレコードにおいて、加速度標準偏差欄４０４のセルが、加速度データ標準偏差を含むレコードが選択される。
【００６４】
なお、移動端末２００の所持位置を検出するための上記特徴量は、一例に過ぎない。移動端末２００の所持位置を検出するための他の種類の特徴量を使用してもよい。所持位置検出モデル１３３は決定木に限定されず、任意の学習モデルを使用できる。決定木又は判定テーブルは、移動端末２００の所持位置を区別することができるモデルの例である。所持位置検出モデル１３３の他の例は、サポートベクトルマシンモデルであり、各特徴量の値の範囲の代わりに、サポートベクトルを格納する。
【００６５】
図５Ａ〜５Ｄは、各所持位置のために格納されている実施例１に係る動作認識モデルの例を模式的に示す。所持位置検出によって区別され検出できる所持位置の数に依存するが、動作認識のための複数のモデルが用意される。各動作認識モデルは、一つの所持位置に対応する。
【００６６】
図５Ａ〜５Ｄは、四つの動作認識モデル１３１Ａ〜１３１Ｄを示し、移動端末２００の各所持位置のために格納されている。具体的には、手の上の動作認識モデル１３１Ａ、ベルトポーチにおける動作認識モデル１３１Ｂ、サイドポケットにおける動作認識モデル１３１Ｃ、そしてフロントポケットにおける動作認識モデル１３１Ｄ、である。例えば、異なるモデルは、異なるデータベース若しくは異なるファイル名の異なるファイルとして格納される、又は異なる識別子を付与されて同一データベースに格納される。
【００６７】
動作認識モデル１３１Ａ〜１３１Ｄは、同一構造を有する。構造の一例は、動作欄５０１と、動作を認識するための特徴量の欄、例えば、加速度標準偏差欄５０２及び気圧変化欄５０３を有する。動作欄５０１は、移動端末２００の所持者の動作を示す。移動端末２００の所持者の移動動作は、例えば、歩行、走り、階段上り、階段下り、エレベータによる上り、エレベータによる下り、ドア開け、等である。
【００６８】
加速度標準偏差欄５０２は、サンプリングウィンドウにおける、加速度の大きさの標準偏差を示す。気圧変化欄５０３は、サンプリングウィンドウにおける、気圧変化量を格納する。
【００６９】
全ての特徴量は、移動端末２００の所持者の動作を判定するために格納されている。本例において、モデルは決定木モデルとして格納され、所持者の動作を、加速度データ及び気圧データの特徴量を入力として分類する。特徴量欄５０２及び５０３の各セルは、特徴量の範囲又は特徴量の閾値を格納している。
【００７０】
例えば、気圧変化欄５０３において、歩行、走り、及び静止の気圧変化は、−０．５から＋０．５の範囲と定義される。階段下り及びエレベータによる下りの気圧変化は、０．５より大きく１以下の範囲と定義される。階段上り及びエレベータによる上りの気圧変化は、−０．５より小さく−１以上の範囲と定義される。気圧変化欄５０３の値（範囲）は、例えば、動作認識モデル１３１Ａ〜１３１Ｄで共通である。
【００７１】
同一動作について、加速度の標準偏差は、動作認識モデルモデルによって異なる値となる。移動端末２００がズボンのポケットに入れられている場合、所持者の足に近いため、移動端末２００のより大きな動きを記録する。
【００７２】
その結果、例えば、手の上の動作認識モデル１３１Ａにおける歩行の加速度標準偏差は、サイドポケットの動作認識モデル１３１Ｄにおける歩行の加速度標準偏差よりも小さくなる。例えば、手の上の動作認識モデル１３１Ａにおける歩行の加速度標準偏差は、０．２から０．４の範囲と定義され、サイドポケットの動作認識モデル１３１Ｄにおける歩行の加速度標準偏差は、０．３から０．５の範囲と定義される。
【００７３】
動作認識部１２３０は、測定データ１３２から加速度データ及び気圧データの特徴量を計算し、計算した特徴量を、移動端末２００の所持位置に対応する動作認識モデルと比較し、移動端末２００の所持者の動作を判定することができる。
【００７４】
図６は、実施例１に係るパラメータテーブル１３４を模式的に示す。パラメータテーブル１３４は、移動端末２００の所持者の移動量を計算するための使用されるパラメータセットを格納している。パラメータテーブル１３４は、移動端末２００の全ての所持位置と所持者の全ての動作との組み合わせそれぞれ対して、一つのパラメータセットを格納している。移動量計算部１２５０は、パラメータテーブル１３４から、推定された所持位置及び動作のパラメータセットを選択し、選択したパラメータセットを使用して移動量を計算する。
【００７５】
図６の例において、パラメータテーブル１３４は、歩幅の推定のために二つのパラメータと、高度変化の推定のための一つパラメータを格納している。パラメータテーブル１３４は、位置欄６０１、動作欄６０２、歩幅の第１パラメータ欄６０３、歩幅の第２パラメータ欄６０４、及び高度変化欄６０５を有する。位置欄６０１は、移動端末２００の所持位置を示し、動作欄６０２は移動端末２００の所持者の動作を示す。
【００７６】
歩幅の第１パラメータ欄６０３及び歩幅の第２パラメータ欄６０４は、歩幅を計算するためのパラメータを格納している。歩幅は、例えば、サンプリングウィンドウにおける加速度データと移動端末２００の所持者の歩幅基本値を使用して計算される。高度変化欄６０５は、１階分の高度変化量を格納し、具体的には、階段又はエレベータによる上り下りのレコードが、１階分の高度変化量を示す。
【００７７】
図７は、実施例１に係る所持位置検出処理のフローチャートを示す。所持位置検出処理は、所持位置検出部１２１０として動作する、サーバ１００のプロセッサ１１０によって実行される。図７は、測定データ１３２を使用して移動端末２００の所持位置を分類する例を説明する。
【００７８】
所持位置検出部１２１０は、他の方法で、移動端末２００の所持位置を判定してもよい。例えば、所持位置検出部１２１０は、移動端末２００の所持者の体に取り付けられた、移動端末２００外のセンサを使用して、最も近い所持位置を検出する。
【００７９】
所持位置検出部１２１０は、測定データ１３２を読み込み、各タイプのデータにフィルタリングする。例えば、加速度データ、ジャイロスコープデータ、磁気計データ、そして気圧計データに分類する（ステップ７０１）。
【００８０】
所持位置検出部１２１０は、測定データ１３２を使用して、所持者が歩行しているか判定する。一つの判定方法は、加速度データにおける周期を検出し、当該周期から所持者が歩行しているか判定する。所持位置検出部１２１０は、自己相関法を使用することで、加速度データが歩行動作を示しているか否か判定できる（ステップ７０２）。
【００８１】
歩行による移動が検出されない場合、所持位置検出部１２１０は、歩行による移動を検出できるまで、他の測定データを読み込む（ステップ７０１）。
【００８２】
一方、歩行が検出される場合、所持位置検出部１２１０は、上記数１で算出される加速度の大きさの特徴量と、所持位置検出モデル１３３とを比較する（ステップ７０３）。所持位置検出部１２１０は、例えば上述のように決定木モデルに従って、測定データ１３２が、いずれの所持位置（例えば、手の上又はサイドポケット内等）を示しているか判定する（ステップ７０４）。
【００８３】
以上により、所持位置検出処理は終了する。なお、所持位置検出モデル１３３が、歩行以外の動作に基づく場合、所持位置検出部１２１０は、歩行に代えて当該動作を検出する。異なる動作に対する複数の所持位置検出モデル１３３が用意されていてもよい。
【００８４】
図８は、実施例１に係るモデル選択処理のフローチャートを示す。モデル選択処理は、モデル選択部１２２０として動作する、サーバ１００のプロセッサ１１０により実行される。モデル選択部１２２０は、所持位置検出部１２１０により判定された所持位置を受信する（ステップ８０１）。
【００８５】
モデル選択部１２２０は、所持位置に応じた動作認識モデルを選択する。例えば、所持位置検出部１２１０が、移動端末２００は所持者の手の上にあると判定する場合、モデル選択部１２２０は、所持位置検出部１２１０から、所持位置は「手」であるとの情報を取得する。モデル選択部１２２０は、動作認識モデル群１３１から手の上の動作認識モデル１３１Ａを選択し、補助記憶１３０から、手の上の動作認識モデル１３１Ａをメモリ１２０にロードする。
【００８６】
しばらくして後、所持者は移動端末２００をサイドポケット中に入れると、所持位置検出部１２１０は、対応するサンプリングウィンドウにおいて、サイドポケット内の所持位置を検出する。モデル選択部１２２０は、所持位置は「サイドポケット」であるとの情報を取得する。モデル選択部１２２０は、補助記憶１３０から、サイドポケット内の動作認識モデル１３１Ｄを、メモリ１２０にロードする（ステップ８０２）。以上により、モデル選択処理が終了する。
【００８７】
図９は、実施例１に係る動作認識処理のフローチャートを示す。動作認識処理は、動作認識部１２３０として動作する、サーバ１００のプロセッサ１１０によって実行される。動作認識部１２３０は、モデル選択処理でロードされた動作認識モデルを取得する（ステップ９０１）。
【００８８】
次に、動作認識部１２３０は、測定データ１３２を読み出し、各タイプのデータに分類するする。例えば、測定データは、加速度データ、角速度データ、磁気データ、そして気圧データに分類される（ステップ９０２）。
【００８９】
動作認識部１２３０は、測定データ１３２の特徴量を計算し、測定データ１３２の特徴量と、選択されている動作認識モデルとを比較する（ステップ９０３）。動作認識部１２３０は、例えば上述のように決定木モデルに従って、測定データ１３２が、移動端末２００の所持者のいずれの動作を示しているか判定する（ステップ９０４）。以上により、処理は終了する。
【００９０】
図１０は、実施例１に係る調整処理のフローチャートを示す。調整処理は、調整部１２４０として動作するサーバ１００のプロセッサ１１０によって実行される。
【００９１】
調整部１２４０は、所持位置検出部１２１０と動作認識部１２３０から、所持位置と所持者の動作についての情報を取得する（ステップ１００１）。次に、調整部１２４０は、所持位置が前回サンプリングウィンドウで決定した状態から変化しているか判定する（ステップ１００２）。
【００９２】
所持位置が前回の状態から変化している場合（ステップ１００２：ＹＥＳ）、調整部１２４０は、新しい所持位置と動作の組み合わせをキーとして、パラメータテーブル１３４を検索し、対応するパラメータセットを取得する（ステップ１００３）。調整部１２４０は、パラメータを新しいパラメータセットで変更する（ステップ１００４）。所持位置が前回状態から変化していない場合（ステップ１００２：ＮＯ）、パラメータの変更は不要である。以上により、処理は終了する。
【００９３】
図１１は、実施例１に係る移動量計算処理のフローチャートを示す。移動量計算処理は、移動量計算部１２５０として動作する、サーバ１００のプロセッサ１１０によって実行される。
【００９４】
移動量計算部１２５０は、測定データ１３２を読み出し、各タイプのデータに分類する。例えば、移動量計算部１２５０は、測定データ１３２を、加速度データ、角速度データ、磁気データ、そして気圧データに分類する（ステップ１１０１）。
【００９５】
次に、移動量計算部１２５０は、測定データ１３２に基づいて、移動端末２００の所持者の移動スピードと、進行方向又はその変化と、を推定することができる。例えば、移動量計算部１２５０は、測定データ１３２における加速度データの周期から、サンプリングウィンドウ内での歩数をカウントする。
【００９６】
さらに、移動量計算部１２５０は、各ステップにおける加速度の大きさに基づいて、各ステップの歩幅を推定できる。移動端末２００の所持位置及び所持者の動作に基づき歩幅を計算するためのパラメータは、パラメータテーブル１３４から調整部１２４０により予め選択されている。移動量計算部１２５０は、歩幅と歩数から、移動端末２００の所持者の移動スピードを計算できる（ステップ１１０２）。
【００９７】
さらに、移動量計算部１２５０は、磁気データ又は角速度データから、移動端末２００の所持者の進行方向又は進行方向における変化を推定できる（ステップ１１０３）。移動量計算部１２５０は、移動スピードと移動方向変化とを時間で積分することで、移動端末２００の所持者の移動経路を計算することができる（ステップ１１０４）。以上により、移動量計算処理が終了する。
【００９８】
図１２は、実施例１に係る、移動端末２００の所持者の位置判定処理のフローチャートを示す。位置判定処理は、位置判定部１２６０として動作する、サーバ１００のプロセッサ１１０により実行される。 
【００９９】
位置判定部１２６０は、移動端末２００の所持者の現在位置が、リセットポイントから直接に推定できるか判定する（ステップ１２０１）。リセットポイントは、正確に知られている位置であり、例えば、固定アクセスポイント（の位置）である。例えば、移動端末２００の所持者が、位置の知られたＷＩＦＩアクセスポイントに近づく場合、移動端末２００の受信信号強度は、移動端末２００の所持者の位置が当該ＷＩＦＩアクセスポインに近い所定範囲内にあることを示すことができる。
【０１００】
他の例において、移動端末２００が屋外ＧＰＳ信号を受信でき、さらに、移動端末２００が屋内への移動を開始するとＧＰＳ信号の受信が止まる場合、初期位置又はリセットポイントはビルの入り口であり、初期進行方向はビルに入る方向である。
【０１０１】
位置判定部１２６０がリセットポイントを見つけた場合（Ｓ１２０１：ＹＥＳ）、位置判定部１２６０は、移動端末２００の所持者の位置をリセットポイントに基づいて判定する（ステップ１２０２）。以上により処理が終了する。
【０１０２】
位置判定部１２６０が、リセットポイントを見付けない場合（Ｓ１２０１：ＮＯ）、位置判定部１２６０、前回サンプリングウィンドウにおいて判定した位置と、当該前回位置からの移動量とに基づいて、移動端末２００の所持者の新しい位置を計算する（ステップ１２０３）。移動量は、上述のように、移動量計算部１２５０により計算される。その後、位置判定部１２６０は、移動端末２００の所持者の新しい位置を入出力装置１６０における表示装置において表示する、又は表示のためのデータを移動端末２００に送信する（ステップ１２０４）。以上で処理が終了する。
【０１０３】
以上のように、本実施例によれば、移動端末２００の所持者の位置を、移動端末２００のセンサデータから適切に推定することができる。
【実施例２】
【０１０４】
図１３から図１５を参照して、実施例２を説明する。実施例１において、所持位置検出モデル１３３が予め用意され、記憶部２に格納されている。本実施例は、所持位置検出モデル１３３の生成方法の一例を説明する。本実施例は、学習処理により、所持位置検出モデル１３３を生成する。
【０１０５】
図１３は、実施例２に係る、拡張された屋内測位システム１の機能ブロック図を示す。学習処理部４が加えられていること以外、構成要素は、実施例１の屋内測位システムの機能ブロックと同様である。学習処理部４は、例えば、プロセッサ１１０が、学習処理プログラムを実行することによって実現される。
【０１０６】
学習処理部４は、データ収集部１２７０及び所持位置検出学習部１２８０を含む。データ収集部１２７０は、移動端末の複数の所持位置での測定データを収集する。データ収集部１２７０は、各所持位置における測定データから、特徴量を算出する。データ収集部１２７０は、特徴量と所持位置とを関連付けて所持位置検出学習部１２８０に入力する。データ収集部１２７０のフローは、図１５を参照して詳細に後述される。
【０１０７】
所持位置検出学習部１２８０は、データ収集部１２７０から入力された、各所持位置での特徴量から、所持位置検出モデル１３３を生成する。所持位置検出学習部１２８０のフローは、図１６を参照して詳細に後述される。
【０１０８】
図１４は、実施例２に係るデータ収集を説明する模式図を示す。データ収集の対象１４１０は、人である。データは多くの対象から収集される。対象のデータ収集を説明する。スマートフォンは、移動端末２００の一例であり、対象に装着されている。図１４において、スマートフォン１４２０は対象１４１０の手の上にある。スマートフォン１４３０は対象のシャツのフロントポケットの中にある。スマートフォン１４４０は対象のベルトポーチの中にある。スマートフォン１４３０は対象１４１０のサイドポケットの中にある。
【０１０９】
対象１４１０の体又は衣服がスマートフォンを保持できる限り、装着されるスマートフォンの位置及び数は限定されない。対象１４１０は、１又は複数のスマートフォンを所持することができる。
【０１１０】
全てのスマートフォンは測定センサ群２３０のセンサデータを収集するソフトウェアがインストールされており、例えば、加速度計、ジャイロスコープ、磁気計、気圧計や、ＷＩＦＩ又はＢｌｕｅｔｏｏｔｈ受信信号強度等のセンサデータを収集する。これらはセンサデータの一例であり、センサデータはこれらに限定されない。スマートフォンがデータを収集する間、対象１４１０は歩いている。
【０１１１】
図１５は、データ収集部１２７０のフローチャートを示す。図１４に示すように、スマートフォン１４２０〜１４５０は、異なる所持位置において、対象１４１０が歩行している間、センサデータを収集する。データ収集部１２７０は、スマートフォン１４２０〜１４５０において収集された測定データ（センサデータ）をスマートフォン１４２０〜１４５０から収集し、当該データをその後の処理のためにメモリ１２０に格納する（ステップ１５０１）。
【０１１２】
データ収集部１２７０は、全ての収集データを、スマートフォン１４２０〜１４５０それぞれの実際の所持位置の測定データに、分類する（ステップ１５０２）。次に、データ収集部１２７０は、実際の所持位置それぞれの測定データを、サンプリングウィンドウに依存する同一サイズのセグメントデータに、分割する（ステップ１５０３）。
【０１１３】
最後に、データ収集部１２７０は、所持位置それぞれの測定データにおいて、各セグメントデータの特徴量を計算する。例えば、加速度の大きさの標準偏差、加速度の大きさの最小値、そして加速度の大きさの最大値が計算される。加速度の大きさは、実施例１に示す数式１に従って計算することができる。以上により処理が終了する。
【０１１４】
図１６は、所持位置検出学習部１２８０のフローチャートを示す。所持位置検出学習部１２８０は、データ収集部１２７０によって計算され、実際の所持位置に関連付けられた特徴量を、データ収集部１２７０から取得する（ステップ１６０１）。
【０１１５】
所持位置検出学習部１２８０は、測定データ１３２から所持位置を分類するための所持位置検出モデル１３３を、機械学習モデルに基づいて計算する（ステップ１６０２）。学習モデルとして、任意タイプの分類モデルを使用することができる。例えば、図４を参照して説明した決定木の他、ｋ近傍法又はサポートベクトルマシンを使用することができる。
【０１１６】
所持位置検出モデル１３３が計算された後、所持位置検出学習部１２８０は、記憶部２（補助記憶１３０）に格納する（ステップ１６０３）。以上により処理が終了する。なお、歩行に代えて又は加えて、歩行以外の動作の所持位置検出モデル１３３が生成されてもよい。各動作において、スマートフォン１４２０〜１４５０によるセンサデータは収集される。
【０１１７】
本実施例によれば、実際の所持位置において測定されたセンサデータから、適切に所持位置検出モデル１３３を生成することができる。
【実施例３】
【０１１８】
実施例３を、図１７及び１８を参照して説明する。実施例２において、移動端末２００の所持位置を検出するために、多くの対象のデータが収集され、所持位置検出モデル１３３が計算される。実施例３は、所持位置検出モデル１３３をフィードバックシステム部５によって調整し、特定の対象における所持位置のより正確な検出を可能とする。
【０１１９】
図１７は、実施例３に係る拡張された屋内測位システム１の機能ブロック図を示す。フィードバックシステム部５以外の構成要素は、実施例２に係る屋内測位システムの機能ブロックと同様である。フィードバックシステム部５は、所持位置検出学習部１２８０を使用して、所持位置検出モデル１３３を移動端末２００のより正確なモデルに更新する。
【０１２０】
図１８は、フィードバックシステム部５のフローチャートを示す。フィードバックシステム部５は、移動端末２００の所持者に実際の所持位置についての情報を入力することを要求し、所持位置についてのフィードバックを所持者から受信する（ステップ１８０１）。
【０１２１】
例えば、フィードバックシステム部５は、情報入力要求を移動端末２００にネットワーク１５０を介して送信し、移動端末２００は入出力装置２６０において、所持者に対する要求を表示する。所持者は、移動端末２００の入出力装置２６０において実際の所持位置の情報を入力し、移動端末２００が当該情報を、ネットワーク１５０を介してサーバ１００に送信する。
【０１２２】
次に、フィードバックシステム部５は、移動端末２００の所持者によって入力された実際の所持位置と、所持位置検出部１２１０によって所持位置検出モデル１３３を使用して検出された所持位置と、を比較する（ステップ１８０２）。所持位置が正確に所持位置検出部１２１０によって検出されている場合（ステップ１８０２：ＹＥＳ）、当該処理は終了する。
【０１２３】
所持位置が正確に所持位置検出部１２１０によって検出されていない場合（ステップ１８０２：ＮＯ）、フィードバックシステム部５は、所持位置検出モデル１３３が正しく更新されるように、所持位置検出学習部１２８０を調整する（ステップ１８０３）。
【０１２４】
例えば、フィードバックシステム部５は、所持者からの正しい所持位置の情報を、所持位置検出学習部１２８０に入力する。所持位置検出学習部１２８０は、測定データ１３２における多数のサンプリングウィンドウにおける特徴量と移動端末２００の所持者からの実際の所持位置の情報とを入力として、所持位置検出モデル１３３における当該所持位置のレコードを更新する。所持位置検出学習部１２８０は、必要に応じて、他の所持位置におけるレコードも更新する。
【０１２５】
より多くの実際の所持位置に対するより多くのサンプリングウィンドウの特徴量測定データをフィードバックとして入力することで、所持位置検出学習部１２８０は、所持位置検出モデル１３３をより正確に計算することができる。所持位置検出モデル１３３の更新は、他の方法により実行されてもよい。例えば、間違った分類にペナルティを与える、ペナルティ法を使用してもよい。
【０１２６】
屋内測位システム１は、所持者に固有の所持位置検出モデル１３３を保持し、フィードバック部５から入力された当該所持者のフィードバックに従って、当該所持者の所持位置検出モデル１３３を調整してもよい。
【０１２７】
以上のように、本実施例によれば、移動端末２００の実際の所持位置の情報を所持者から取得し、実際の所持位置と測定データ１３２によって、所持位置検出モデル１３３をより適切なモデルに更新できる。
【実施例４】
【０１２８】
図１９から図２１を参照して、実施例４を説明する。実施例１において、動作認識モデル群１３１が予め用意され、記憶部２に格納されている。本実施例は、動作認識モデル群１３１の生成方法の一例を説明する。本実施例は、学習処理により、動作認識モデル群１３１を生成する。
【０１２９】
図１９は、実施例４に係る、拡張された屋内測位システム１の機能ブロック図を示す。学習処理部４が加えられていること以外、構成要素は、実施例１の屋内測位システム１の機能ブロックと同様である。学習処理部４は、例えば、プロセッサ１１０が、学習処理プログラムを実行することによって実現される。
【０１３０】
学習処理部４は、データ収集部１２７１及び動作認識学習部１２８１を含む。データ収集部１２７１は、移動端末の複数の所持位置それぞれでの、複数動作の測定データを収集する。データ収集部１２７０は、各所持位置における複数動作それぞれの測定データから、特徴量を算出する。データ収集部１２７１は、特徴量と所持位置及び動作とを関連付けて動作認識学習部１２８１に入力する。データ収集部１２７１のフローは、図２０を参照して詳細に後述される。
【０１３１】
動作認識学習部１２８１は、データ収集部１２７１から入力された、各所持位置での動作それぞれの特徴量から、各所持位置の動作認識モデル１３１Ａ〜１３１Ｄを生成する。動作認識学習部１２８１のフローは、図２１を参照して詳細に後述される。
【０１３２】
図２０は、データ収集部１２７１のフローチャートを示す。実施例２と同様に、スマートフォン１４２０〜１４５０は、対象１４１０の異なる所持位置において所持されている。実施例２と異なり、スマートフォン１４２０〜１４５０は、対象１４１０の異なる動作において、センサデータを収集する。
【０１３３】
データ収集部１２７１は、スマートフォン１４２０〜１４５０において収集された測定データ（センサデータ）をスマートフォン１４２０〜１４５０から収集し、当該データをその後の処理のためにメモリ１２０に格納する（ステップ２００１）。
【０１３４】
データ収集部１２７１は、全ての収集データを、実際の所持位置と動作のペアで分類する。具体的には、データ収集部１２７１は、スマートフォン１４２０〜１４５０それぞれの実際の所持位置の測定データに分類し、さらに、各所持位置の測定データを実際の動作の測定データに分類する（ステップ２００２）。
【０１３５】
次に、データ収集部１２７１は、各実際の所持位置における実際の動作それぞれの測定データを、サンプリングウィンドウに依存する同一サイズのセグメントデータに、分割する（ステップ２００３）。
【０１３６】
最後に、データ収集部１２７１は、各実際の所持位置における実際の動作それぞれの測定データにおいて、各セグメントデータの特徴量を計算する。例えば、加速度の大きさの標準偏差及び気圧変化が計算される。加速度の大きさは、実施例１に示す数式１に従って計算することができる。以上により処理が終了する。
【０１３７】
図２１は、動作認識学習部１２８１のフローチャートを示す。動作認識学習部１２８１は、データ収集部１２７１によって計算され、各実際の所持位置の実際の動作それぞれに関連付けられた特徴量を、データ収集部１２７１から取得する（ステップ２１０１）。
【０１３８】
動作認識学習部１２８１は、測定データ１３２から所持位置を分類するための動作認識モデル群１３１を、機械学習モデルに基づいて計算する。例えば、動作認識学習部１２８１は、スマートフォン１４２０〜１４５０それぞれが測定した異なる動作の特徴量から、動作認識モデル１３１Ａ〜１３１Ｄそれぞれを、機械学習モデルに基づいて生成する（ステップ２１０２）。
【０１３９】
学習モデルとして、任意タイプの分類モデルを使用することができる。例えば、図４を参照して説明した決定木の他、ｋ近傍法又はサポートベクトルマシンを使用することができる。動作認識モデル群１３１が計算された後、動作認識学習部１２８１は、記憶部２（補助記憶１３０）に格納する（ステップ２１０３）。以上により処理が終了する。
【０１４０】
本実施例によれば、実際の所持位置において実際の動作の間に測定されたセンサデータから、適切に動作認識モデル群１３１を生成することができる。
【実施例５】
【０１４１】
実施例５を、図２２及び２３を参照して説明する。実施例４において、移動端末２００の動作を推定するために、多くの対象のデータが収集され、動作認識モデル群１３１が計算される。実施例５は、動作認識モデル群１３１をフィードバックシステム部５によって調整し、特定の対象における所持位置のより正確な検出を可能とする。
【０１４２】
図２２は、実施例５に係る拡張された屋内測位システム１の機能ブロック図を示す。フィードバックシステム部５以外の構成要素は、実施例４に係る屋内測位システム１の機能ブロックと同様である。フィードバックシステム部５は、動作認識学習部１２８１を調整して、動作認識モデル群１３１をより正確なものとする。
【０１４３】
図２３は、フィードバックシステム部５のフローチャートを示す。フィードバックシステム部５は、移動端末２００の所持者に実際の所持位置及び動作についての情報を入力することを要求し、所持位置及び動作についてのフィードバックを所持者から受信する（ステップ２３０１）。
【０１４４】
例えば、フィードバックシステム部５は、情報入力要求を移動端末２００にネットワーク１５０を介して送信し、移動端末２００は入出力装置２６０において、所持者に対する要求を表示する。所持者は、移動端末２００の入出力装置２６０において実際の所持位置及び動作の情報を入力し、移動端末２００が当該情報を、ネットワーク１５０を介してサーバ１００に送信する。
【０１４５】
次に、フィードバックシステム部５は、移動端末２００の所持者によって入力された実際の所持位置及び実際の動作と、動作認識部１２３０によって動作認識モデル群１３１を使用して判定された動作と、を比較する（ステップ２３０２）。動作が正確に動作認識部１２３０によって判定されている場合（ステップ２３０２：ＹＥＳ）、当該処理は終了する。
【０１４６】
動作が正確に動作認識部１２３０によって判定されていない場合（ステップ２３０２：ＮＯ）、フィードバックシステム部５は、当該所持位置の動作認識モデルが正しく更新されるように、所持位置検出学習部１２８０を調整する（ステップ１８０３）。
【０１４７】
例えば、フィードバックシステム部５は、所持者からの正しい所持位置及び動作の情報を、動作認識学習部１２８１に入力する。動作認識学習部１２８１は、測定データ１３２における多数のサンプリングウィンドウにおける特徴量と移動端末２００の所持者からの実際の所持位置及び実際の動作の情報とを入力として、動作認識モデル群１３１における当該所持位置の動作認識モデルの当該動作のレコードを更新する。動作認識学習部１２８１は、必要に応じて、他の動作におけるレコードも更新する。
【０１４８】
より多くの実際の所持位置及び実際の動作に対するより多くのサンプリングウィンドウの特徴量測定データをフィードバックとして入力することで、所持位置検出学習部１２８０は、動作認識モデル群１３１をより正確に計算することができる。動作認識モデル群１３１の更新は、他の方法により実行されてもよい。例えば、間違った分類にペナルティを与える、ペナルティ法を使用してもよい。
【０１４９】
屋内測位システム１は、所持者に固有の動作認識モデル群１３１及び所持位置検出モデル１３３を保持し、フィードバック部５から入力された当該所持者のフィードバックに従って、当該所持者の動作認識モデル群１３１及び所持位置検出モデル１３３を調整してもよい。
【０１５０】
以上のように、本実施例によれば、移動端末２００の実際の所持位置の情報を所持者から取得し、実際の所持位置と測定データ１３２によって、動作認識モデル群１３１をより適切なモデルに更新できる。
【実施例６】
【０１５１】
実施例６を、図２４から２６を参照して説明する。実施例１において、所持位置検出部１２１０及び動作認識部１２３０は、所持位置及び動作を誤って分類する可能性がある。訂正部１２４１は、屋内測位システム１の精度を高める。
【０１５２】
図２４は、実施例６に係る拡張された屋内測位システム１の機能ブロック図を示す。訂正部１２４１を除き、構成要素は実施例１に係る屋内測位システム１と同様である。訂正部１２４１は、例えば、サーバ１００のプロセッサ１１０がプログラムに従って動作することで実現される。
【０１５３】
訂正部１２４１は、所持位置検出部１２１０及び動作認識部１２３０による誤った分類を訂正する。例えば、カルマンフィルタやマルコフモデルを、訂正部１２４１に適用することができる。カルマンフィルタやマルコフモデルを使用したシーケンス内の要素の訂正は広く知られた技術であり、説明を省略する。訂正部１２４１はこれらに限定されず、所持位置検出部１２１０と動作認識部１２３０の誤った分類を訂正できればよい。
【０１５４】
図２５は、訂正部１２４１がどのように所持位置検出を訂正するかを模式的に示す。所持位置の分類結果のシーケンス２５０１は、訂正前のシーケンスを示す。各セルは、サンプリングウィンドウにおいて判定された所持位置を示す。シーケンス２５０１は、誤った判定結果「サイドポケット」を含む。「サイドポケット」の前後の所持位置は「手」と判定されている。
【０１５５】
訂正部１２４１は、マルコフフィルタ又はカルマンフィルタを使用して、誤ったシーケンス２５０１を、正しいシーケンス２５０２に訂正することができる。具体的には、訂正部１２４１は、マルコフフィルタ又はカルマンフィルタを使用して、「サイドポケット」の前後の所持位置から、当該「サイドポケット」を「手」に訂正する。
【０１５６】
図２６は、訂正部１２４１がどのように動作認識を訂正するかを模式的に示す。動作の分類結果のシーケンス２６０１は、訂正前のシーケンスを示す。各セルは、サンプリングウィンドウにおいて判定された動作を示す。シーケンス２６０１は、誤った判定結果「階段上り」を含む。「階段上り」の前後の動作は「歩行」と判定されている。
【０１５７】
訂正部１２４１は、マルコフフィルタ又はカルマンフィルタを使用して、誤ったシーケンス２６０１を、正しいシーケンス２６０２に訂正することができる。具体的には、訂正部１２４１は、マルコフフィルタ又はカルマンフィルタを使用して、「階段上り」の前後の動作から、当該「階段上り」を「歩行」に訂正する。
【０１５８】
訂正部１２４１は、所持位置又は動さの分類結果のシーケンスの訂正結果を、調整部１２４０に渡す。本例において、調整部１２４０は複数サンプリングウィンドウからなるシーケンス毎に、パラメータセットを移動量計算部１２５０に渡し、移動量計算部１２５０は、シーケンス毎に移動量を計算する。パラメータセットは、サンプリングウィンドウ毎に選択される。
【０１５９】
調整部１２４０は、訂正部１２４１から訂正された所持位置のシーケンス又は動作のシーケンスを受け取ると、それに応じたパラメータセットを、シーケンス内の各サンプリングウィンドウのためにパラメータテーブル１３４から選択する。その結果、調整部１２４０は、正しい所持位置に対応するパラメータセットを、移動量計算部１２５０のために選択することができる。
【実施例７】
【０１６０】
実施例７を、図２７から２９を参照して説明する。図２７は、実施例７に係る屋内測位システムのアプリケーション例を示す。当該アプリケーションの目的は、ＧＰＳ信号が届かないフィールドにおいて、労働者を監視することである。例えば、ビル内、トンネル内、又は近いにおいて利用できる。本実施例により、ＧＰＳ信号が届かないフィールドにおいて、移動端末２００の所持者の位置をユーザに提示することができる。
【０１６１】
図２７は、例えば、サーバ１００の入出力装置１６０に表示される画像例２７００を示す。画像２７００は、監視している各階の情報を示す。図２７の例において、１階２７０１の情報と２階２７０２の情報が提示されている。各階において、地図と労働者２７０３の位置とが表示される。画像は、壁や他の障害物２７０４を矩形で示している。
【０１６２】
地図情報は、例えば、サーバ１００の補助記憶１３０に格納される。サーバ１００は、画像２７００において、労働者２７０３の動作を表示している。歩行は「Ｗ」、静止は「Ｓ」、そして走りは「Ｒ」で示されている。さらに、サーバ１００は、画像２７００において、労働者の最近の経路をプロットしている。労働者２７０３の位置、動作及び経路は、上記実施例で説明したように推定される。
【０１６３】
図２８は、実施例７に係る屋内測位システムのアプリケーションの他の例を示す。当該アプリケーションの目的は、スマートフォンユーザのナビゲーションである。スマートフォン２８００は、地図情報及びユーザの位置の情報に基づいて、ユーザを所望の目的地に誘導する。
【０１６４】
スマートフォン２８００の補助記憶２４０は、インストールされたナビゲーションプログラムを格納している。プロセッサ２１０は、当該プログラムに従って動作することで、ユーザにナビゲーションサービスを提供する。サーバ１００は、上記実施例において説明したように、ユーザの現在位置を推定し、その推定結果を地図情報と共に、スマートフォン２８００に送信する。スマートフォン２８００は、地図情報と共に、ユーザ位置を入出力装置内の表示装置において表示する。
【０１６５】
図２９は、実施例７に係る屋内測位システムのアプリケーションの他の例を示す。当該アプリケーションの目的は、スマートフォンユーザ２９１０の声によるナビゲーションである。スマートフォン２９００の入出力装置は、スピーカを含む。スマートフォン２９００は、サーバ１００から取得したユーザの現在位置及び地図情報に基づいて、ユーザ２９１０を所望の目的地に、スピーカからの音声によって誘導する。
【０１６６】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１６７】
また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード等の記録媒体に置くことができる。
【０１６８】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１６９】
４  学習処理部、５  フィードバックシステム部、１３１  動作認識モデル群、１３２  測定データ、１３３  所持位置検出モデル、１３４  パラメータテーブル、２００  移動端末、１２１０  所持位置検出部、１２２０  モデル選択部、１２３０  動作認識部、１２４０  調整部、１２４１  訂正部、１２５０  移動量計算部、１２６０  位置判定部、１２７０、１２７１  データ収集部、１２８０  所持位置検出学習部、１２８１  動作認識学習部
【図１】
0006329915.tif 000003
【図２】
0006329915.tif 000004
【図３】
0006329915.tif 000005
【図４】
0006329915.tif 000006
【図５Ａ】
0006329915.tif 000007
【図５Ｂ】
0006329915.tif 000008
【図５Ｃ】
0006329915.tif 000009
【図５Ｄ】
0006329915.tif 000010
【図６】
0006329915.tif 000011
【図７】
0006329915.tif 000012
【図８】
0006329915.tif 000013
【図９】
0006329915.tif 000014
【図１０】
0006329915.tif 000015
【図１１】
0006329915.tif 000016
【図１２】
0006329915.tif 000017
【図１３】
0006329915.tif 000018
【図１４】
0006329915.tif 000019
【図１５】
0006329915.tif 000020
【図１６】
0006329915.tif 000021
【図１７】
0006329915.tif 000022
【図１８】
0006329915.tif 000023
【図１９】
0006329915.tif 000024
【図２０】
0006329915.tif 000025
【図２１】
0006329915.tif 000026
【図２２】
0006329915.tif 000027
【図２３】
0006329915.tif 000028
【図２４】
0006329915.tif 000029
【図２５】
0006329915.tif 000030
【図２６】
0006329915.tif 000031
【図２７】
0006329915.tif 000032
【図２８】
0006329915.tif 000033
【図２９】
0006329915.tif 000034