携帯端末装置の移動状態を推定する方法及びシステム
【課題】ユーザの移動状態を推定するためのモデル群を用いて、短時間で精度高くユーザの移動状態を推定するための方法およびシステムを提供する。
【解決手段】本発明は少なくともCPUと、メモリと、環境情報取得装置とを包含する携帯端末装置の移動状態を推定する方法であって、該メモリが、所定の移動状態を代表する少なくとも2以上のシンボル(ID)から構成される第1のシンボル列の群を格納し、該CPUが、環境情報取得装置により所定期間収集された環境情報値をシンボル化するステップと、所定期間を一定期間ずらして前記シンボル化ステップを少なくとも2回以上繰り返し、繰り返し生成された複数のシンボル化された環境情報値からなる第2のシンボル列を生成するステップと、第1のシンボル列の群に対する第2のシンボル列の尤度を求めるステップとを有し、尤度が最大となる前記第1のシンボル列を特定することにより移動状態を推定する方法に関する。
【解決手段】本発明は少なくともCPUと、メモリと、環境情報取得装置とを包含する携帯端末装置の移動状態を推定する方法であって、該メモリが、所定の移動状態を代表する少なくとも2以上のシンボル(ID)から構成される第1のシンボル列の群を格納し、該CPUが、環境情報取得装置により所定期間収集された環境情報値をシンボル化するステップと、所定期間を一定期間ずらして前記シンボル化ステップを少なくとも2回以上繰り返し、繰り返し生成された複数のシンボル化された環境情報値からなる第2のシンボル列を生成するステップと、第1のシンボル列の群に対する第2のシンボル列の尤度を求めるステップとを有し、尤度が最大となる前記第1のシンボル列を特定することにより移動状態を推定する方法に関する。
【発明の詳細な説明】
【発明の属する技術分野】
【0001】
本発明は、ユーザの移動状態を推定する方法及びシステムに関し、特には、ユビキタス環境下におけるユーザの移動状態を携帯端末装置を用いて自動的に推定する方法及びシステムに関する。
【背景技術】
【0002】
近年、ユーザの移動状態を検出し、あるいはユーザの移動状態を正確に自動認識・識別する必要性が生じており、ユーザの移動状態の推定に関する技術が種々提案されている。しかしながら、従来、ユーザの一定の状態、例えば停止している状態、自動車、バス、電車に乗っている状態等を識別することは、ユーザからの情報を長時間にわたって測定しても移動状態の推定精度は低かった。特に、自動車、バス、電車に乗っている状態を推定することは困難であった。従来、ユーザの移動状態を推定する際には、ユーザが有する加速度センサから得られるデータを用いて一定時間毎に1つのパワースペクトルを選定し、当該選定されたパワースペクトルと、代表パワースペクトルとを比較して移動状態を推定していた。従って、選定された1つのパワースペクトルは時系列変化を含まず、突発的に加速度センサの変化が起こると、正しくユーザの状態を推定することができない場合があった。このため、従来のパワースペクトルのパターンマッチングでは突発的なノイズや振動パターンのぶれに対応することは困難であり、移動状態の推定精度の低下を招き、または長時間の時間窓の測定が必要であった。
【0003】
また、従来のシステムでは、加速度センサから得られるデータ群から代表パワースペクトル群を選定する際、加速度データ群から手作業で、または単純にしきい値判定のみにより選定されていた。従って、手作業で、または単純なしきい値判定のみによる代表パワースペクトルの選定は、1つの代表パワースペクトルのみを選定することと同義であり、学習状況に応じた代表パワースペクトルの動的な設定はなされない。
【0004】
また、従来のシステムでは、時系列変化を含まない1つの推定用パワースペクトルと、代表パワースペクトルとを比較してユーザの状態を推定していた。しかし、ユーザの移動状態を推定するために用いるパワースペクトルの形態はユーザ個々によって異なるし、また同じユーザであっても時系列で変化する。従って、ユーザの推定用パワースペクトルが突発的な変化を含む場合は、ユーザの移動状態を正しく推定することはできなかった。
【0005】
さらに、非特許文献1においては、身体の複数箇所に加速度センサを装着し、「座る」「立つ」「歩く」「階段を上る」「階段を下る」「握手」「黒板への書き込み」「キーボードのタイピング」などの動作推定を行っている。非特許文献2においては両手首、両足首、腿の5箇所に加速度センサを装着し20種類の動作推定を行っている。非特許文献3においては、携帯端末装置に複数のセンサ情報を加えることで、「取込中」「活動中」「暇」「ノーマル」の4つの状態に分類して、着信音量をサイレントモードにするアプリケーションなどを実装している。非特許文献4においては、携帯端末装置に複数のセンサを搭載したスマートフォンの研究を行っており、加速度センサとジャイロセンサを用いて、「歩く」「走る」「座る」の状態を推定している。しかしながら、これらは様々なセンサを用いて人間の様々な動作状態を推定可能であるが、センサ装着箇所が複数必要であったり、装着方法が固定化されていたりし、様々な所持状態の存する携帯端末装置においては現実的ではない。非特許文献5においては、1つの加速度センサを用いセンサの装着状態を識別し、「歩く」「立つ」「座る」「走る」の状態を推定する手法を提案しているが、人間の活動状態だけでなく、自転車、自動車、バス等の乗車状態まで含めた移動状態推定を行うことはできなかった。
【非特許文献1】Nicky Kern, "A Model for Human Interruptability: Experimental Evaluation and Automatic Estimation fromWearable Sensors" ISWC'04, pp.158-165(2004).
【非特許文献2】Stephen S.Intille, " Acquiring In Situ Training Data for Context-Aware Ubiquitous Computing Applications" CHI 2004, ACM Press, pp.1-9(2004).
【非特許文献3】Daniel Siewiorek, "SenSay: A Context-Aware Mobile Phone" ISWC'03(2003).
【非特許文献4】Toshiki Iso, "Personal Context Extractor with Multiple Sensor on a Cell Phone" D. 2 C200525(2005).
【非特許文献5】Y. Kawahara, "A Context-Aware Content Delivery Service Using Off-the-shelf Sensors" Mobisys2004(2004).
【非特許文献6】北 研二他著、「確率的言語モデル」、1999年
【非特許文献7】L.E. Baum他著、「A maximization technique occurring in the statistical analysis of probabilistic function of markov chains」、1970年
【非特許文献8】、赤池著、「統計的検定の新しい考え方」、1979年
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、上記の問題点の解決を目的とするものであり、人の手のひらサイズに収まる携帯端末装置に搭載された加速度センサ等の外部環境情報取得装置を用いて、ユーザの移動状態を短時間で精度高く自動的に推定する方法及びシステムを提供するものである。ここで、ユーザの移動状態とは例えば、ユーザの停止、歩行、走行している状態や、ユーザが自転車、自動車、バス及び電車に乗っている状態等を指す。以下、上述した状態をそれぞれ、停止状態、歩行状態、走行状態、自転車状態、自動車状態、バス状態、電車状態と記す。なお、携帯端末装置は人の手のひらサイズに収まる大きさであっても、それよりも小さい大きさであっても良い。
【0007】
本発明は、ユーザの移動状態を推定するためのモデル群を生成し、ユーザの移動状態の時系列データを用いて各モデルに対する評価値を計算し、最も評価値の高いモデルに該当する移動状態を選定することで、ユーザの移動状態を推定することを目的とする。
【0008】
また、加速度センサを用いる場合、単に加速度センサより得られたユーザの加速度データ値をFF変換することにより求められたパワースペクトルは、加速度データの時系列変化に関する情報を有さない。本発明はパワースペクトルの時系列データを用いてユーザの移動状態を推定する。これにより、本発明における推定モデル群においては、ユーザの移動状態を示す時系列のデータを用いてユーザの移動状態推定するため、ユーザ移動状態に突発的な変化を含む場合であっても、ユーザの移動状態を正しく推定することが可能となる。
【0009】
さらに本発明は、学習用パワースペクトル群からランダムに選定されたパワースペクトルを用いて、好ましくは遺伝的アルゴリズム(以下、GA)によりパラメータを設定し、GAを用いて評価値の高い代表パワースペクトルを発見するシステムに関する。すなわち、学習用パワースペクトル群から自動的に評価値の高い代表パワースペクトルを選定する学習システム装置及び方法を提供することを目的とする。
【0010】
さらに、本発明ではユーザの移動状態を推定するために要する時間長を、所定の期間に得られる情報に従って、多段階で変更することでより短時間にユーザの移動状態を推定することでユーザの移動状態の推定に要する平均時間を短縮することを目的とする。
【0011】
さらに、本発明では、移動状態グループを有する移動状態スキーマを生成し、移動状態スキーマを用いてまずユーザの移動状態グループを識別し、次に移動状態グループに含まれるユーザの移動状態を特定することにより、より短時間でユーザの移動状態を推定することを目的とする。
【0012】
さらに、本発明では、携帯端末装置に加速度センサ、マイクセンサ、位置測位システム受信機を搭載し、これらのセンサを複合的に用いてユーザの移動状態を推定する。これにより、携帯端末装置の所持状態に依存せずにユーザの移動状態を推定可能なことを特徴とする。また、各移動状態の推定に適した方式を段階的に適用し、推定候補を絞り込むことによって計算量を低減させ短時間でユーザの移動状態を推定することを目的とする。また、各センサは一つの携帯端末装置にそれぞれ搭載可能なことを特徴とし、これにより各センサの搭載コストやユーザの装着負担を軽減することができる。
【0013】
以上より、本発明は携帯端末装置の所持状態に依存せず、ユーザの置かれている環境に依存せず、ユーザによる操作を必要としないで自動で移動状態を推定することを特徴とする。また、比較的短期間に得られたセンサのデータを用いることで一回の推定処理にかかる負荷を低減すると共に、ユーザの移動状態の変化を短時間で検知することを特徴とする。
【課題を解決するための手段】
【0014】
本発明は、概略的には特定の参照移動状態毎にモデルを生成し、該モデルの集合であるモデル群を用いてユーザの移動状態を推定するものである。当該モデル群は、好ましくは隠れマルコフモデル(Hidden Markov Model、以下、HMM)群である。ここで、HMM群は、各参照状態における学習用のパワースペクトル・リストと、そこから選定される代表パワースペクトル群とを用いて生成される。
【0015】
本発明において、学習用パワースペクトル・リストは、携帯端末装置に搭載されたCPUがヒープメモリにアクセスして加速度センサから学習用の加速度データ・リストを取得し、取得された学習用加速度データ・リストをFF(高速フーリエ)変換することにより求められる。また、代表パワースペクトル・リストは、携帯端末装置に搭載されたCPUが、上記求められた学習用のパワースペクトル・リストからGAを用いて自動的に選定することにより求められる。
【0016】
そして、得られた学習用パワースペクトル・リストのそれぞれ1つの学習用パワースペクトルと、選定された代表パワースペクトルとをパターンマッチングし、最近傍の代表パワースペクトルのIDをシンボル列へ格納する。ここで、最近傍の代表パワースペクトルとは学習用パワースペクトルとの誤差が最も小さい代表パワースペクトルをいう。当該格納処理を、それぞれの学習用パワースペクトルについて行い、複数の代表パワースペクトルのIDが格納されたシンボル列を生成する。シンボル列に格納された代表パワースペクトルのIDを用いてHMM学習を行い、HMMを作成する。CPUにより移動状態毎に上記HMMの作成が行われ、HMM群が作成される。
【0017】
次に、ユーザの移動状態の推定は、ユーザの有する加速度センサから推定用の加速度データ・リストを取得し、取得された推定用加速度データ・リストを高速フーリエ変換(以下、FF変換)して推定用パワースペクトル・リストを取得し、得られた推定用パワースペクトル・リストのそれぞれ1つの推定用パワースペクトルと、代表パワースペクトルとをパターンマッチングし、最近傍の代表パワースペクトルのIDをシンボル列へ格納する。シンボル列に格納された代表パワースペクトルのIDを用いてHMMによりユーザの移動状態が推定される。
【0018】
本発明は少なくとも中央演算処理装置(CPU)と、メモリと、環境情報取得装置とを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上のシンボル(ID)から構成される第1のシンボル列の群を格納し、前記CPUが、前記環境情報取得装置により所定期間収集された環境情報値をシンボル化させるステップと、時間窓を一定期間ずらして前記シンボル化させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数のシンボル化された環境情報値からなる第2のシンボル列を生成するステップと、前記第1のシンボル列の群に対する前記第2のシンボル列の尤度を求めるステップと、を有し前記尤度が最大となる前記第1のシンボル列を特定することにより移動状態を推定する方法を提供する。
【0019】
また、環境情報取得装置は、加速度センサ、マイクセンサ、位置測位システム受信機のうち少なくとも1つを備える環境情報取得装置であることを特徴とする。
また、本発明は、少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群(代表パワースペクトル・リスト群)を格納し、前記CPUが、前記加速度センサにより連続的に加速度値を収集させるステップと、前記収集された連続の加速度値において、所定期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させる時間窓データ生成ステップと、時間窓を一定期間ずらして前記時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させるステップと、前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リスト(推定用パワースペクトル・リスト)を生成させるステップと、前記第1のスペクトル・リストの群に対する、前記第2のスペクトル・リストの尤度を評価するステップと、を有し、前記尤度が最大となる前記第1のスペクトル・リストを特定することにより移動状態を推定する方法を特徴とする。
【0020】
また、本発明は、少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えたマイクセンサとを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上のベクトルから構成される第1のベクトル・リストの群(代表ベクトル・リスト群)を格納し、前記CPUが、前記マイクセンサにより所定期間毎に一定期間連続的に音データを収集させ、該収集された連続の音データから構成されるスペクトルを時間窓データとして生成させる時間窓データ生成ステップと、時間窓を前記所定期間ずらして前記時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させるステップと、前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リスト(推定用ベクトル・リスト)を生成させるステップと、前記生成された第2のスペクトル・リストから一定の周波数毎に第2のスペクトルの振幅の平均値を算出し、第2のベクトル・リストを生成させるステップと、前記第1のベクトル・リストの群に対する、前記第2のベクトル・リストの尤度を求めるステップと、を有し、前記尤度が最大となる前記第1のベクトル・リストを特定することにより移動状態を推定する方法を特徴とする。
【0021】
また、本発明は少なくとも中央演算処理装置と、メモリと、位置測位システム受信機とを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上の速度データから構成される第1の速度データ・リストの群(代表速度データ・リスト群)を格納し、前記CPUが、前記位置測位システム受信機により所定期間毎に位置データを収集させメモリへ蓄積するステップと、前記メモリへ蓄積された位置データのうちn番目の位置データを第nの位置データとし、第Nの位置データまで順次特定するステップであって、nは1からNまでの整数であるステップと、第n番目の位置データと第n+1番目の位置データとを用いて、2地点間の平均速度を生成させる平均速度データ生成ステップと、前記平均速度データを生成するステップを、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均速度データから第2の速度データ・リスト(推定用速度データ・リスト)を生成させるステップと、前記第1の速度データ・リストの群に対する、前記第2の速度データ・リストの尤度を求めるステップと、を有し、前記尤度が最大となる前記第1の速度データ・リストを特定することにより移動状態を推定する方法を特徴とする。
【0022】
また、本発明において、請求項5に記載の第2の速度データ・リストを生成させるステップは、前記平均速度データを生成するステップを、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均速度データから平均速度データ・リストを生成させるステップと、前記生成された平均速度データ・リストから第n番目から第n+m番目の第2の平均速度データを用いて、m個の平均速度データの平均値を算出するステップであって、mは1からMまでの整数であってMはNより小さい値であるステップと、前記平均値を算出するステップを、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均値から第2の速度データ・リストを生成させるステップと、からなる請求項5に記載の方法を特徴とする。
【0023】
また、本発明は請求項3に記載の方法により推定された移動状態が第1または第2の所定の移動状態である場合に、該推定された移動状態を移動状態として特定する第1のステップと、請求項3に記載の方法により推定された移動状態が第1または第2の所定の移動状態でない場合に、さらに請求項4に記載の方法により移動状態を推定し、推定された移動状態が第3の所定の移動状態である場合に、該推定された移動状態を移動状態として特定する第2のステップと、請求項4に記載の方法により推定された移動状態が第3の所定の移動状態でない場合に、さらに請求項5に記載の方法により移動状態を推定し、該推定された移動状態を移動状態として特定する方法を特徴とする。
【0024】
また、本発明は少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群(代表パワースペクトル・リスト群)を格納し、前記CPUが、前記加速度センサにより連続的に加速度値を収集させるステップと、前記収集された連続の加速度値において、所定期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させる時間窓データ生成ステップと、時間窓を一定期間ずらして前記時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させるステップと、前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させるステップと、前記第1のスペクトル・リストの群のうちそれぞれ1のスペクトルと、前記第2のスペクトル・リストのうちそれぞれ1の第2のスペクトルとを比較することにより前記所定期間における前記第2のスペクトルと最近傍の第1のスペクトルを選定するステップと、を有し、前記第1のスペクトルを選定するステップを所定回数繰り返して、最高頻度の第1のスペクトル・リストを特定することにより、移動状態を推定する方法(最小誤差推定方式)を特徴とする。
【0025】
また、本発明は請求項7に記載の第1のステップにおいて、請求項8に記載の方法により推定された移動状態が第1の所定の移動状態である場合に、推定された移動状態を移動状態として特定し、請求項8に記載の方法により推定された移動状態が第1の移動状態でない場合に、請求項3に記載の方法により移動状態を推定し、推定された移動状態が第2の所定の移動状態である場合に、該推定された移動状態を移動状態として特定する、方法を特徴とする。
【0026】
また、本発明は、少なくとも中央演算処理装置と、メモリと、環境情報取得装置とを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上のシンボルから構成される第1のシンボル列の群を格納し、前記CPUが、前記環境情報取得装置により所定期間収集された環境情報値をシンボル化させ、時間窓を一定期間ずらして前記シンボル化させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数のシンボル化された環境情報値からなる第2のシンボル列を生成させ、前記第1のシンボル列の群に対する前記第2のシンボル列の尤度を求める、前記尤度が最大となる前記第1のシンボル列を特定することにより移動状態を推定するシステムに関する。
【0027】
また、環境情報取得装置は、加速度センサ、マイクセンサ、位置測位システム受信機のうち少なくとも1つを備える環境情報取得装置を特徴とする。
また、本発明は、少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群を格納し、前記CPUが、前記加速度センサにより連続的に加速度値を収集させ、前記収集された連続の加速度値において、所定の期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させ、時間窓を一定期間ずらして前記時間窓データの生成を少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させ、前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させ、前記第1のスペクトル・リストの群に対する、前記第2のスペクトル・リストの尤度を評価する、前記尤度が最大となる前記第1のスペクトル・リストを特定することにより移動状態を推定するシステムに関する。
【0028】
また、本発明は、少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えたマイクセンサとを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上のベクトルから構成される第1のベクトル・リストの群を格納し、前記CPUが、前記マイクセンサにより所定期間毎に一定期間連続的に音データを収集させ、該収集された連続の音データから構成されるスペクトルを時間窓データとして生成させ、時間窓を前記所定期間ずらして前記時間窓データの生成を少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させ、前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させ、前記生成された第2のスペクトル・リストから一定の周波数毎に第2のスペクトルの振幅の平均値を算出し、第2のベクトル・リストを生成させ、前記第1のベクトル・リストの群に対する、前記第2のベクトル・リストの尤度を求める、前記尤度が最大となる前記第1のベクトル・リストを特定することにより移動状態を推定するシステムに関する。
【0029】
また、本発明は、少なくとも中央演算処理装置と、メモリと、位置測位システム受信機とを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上の速度データから構成される第1の速度データ・リストの群を格納し、前記CPUが、前記位置測位システム受信機により所定期間毎に位置データを収集させメモリへ蓄積し、前記メモリへ蓄積した位置データのうちn番目の位置データを第nの位置データとし、第Nの位置データまで順次特定させ、ここでnは1からNまでの整数であり、第n番目の位置データと第n+1番目の位置データとを用いて、2地点間の平均速度を生成させ、前記平均速度データの生成を、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均速度データから第2の速度データ・リストを生成させ、前記第1の速度データ・リストの群に対する、前記第2の速度データ・リストの尤度を求める、前記尤度が最大となる前記第1の速度データ・リストを特定することにより移動状態を推定するシステムに関する。
【0030】
また、本発明において、請求項14に記載の第2の速度データ・リストの生成は、前記平均速度データの生成を、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均速度データから平均速度データ・リストを生成させ、前記生成された平均速度データ・リストから第n番目から第n+m番目の平均速度データを用いて、m個の平均速度データの平均値を算出させ、ここでmは1からMまでの整数であってMはNより小さい値であり、前記平均値の算出を、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均値から第2の速度データ・リストを生成させる、請求項14に記載のシステムを特徴とする。
【0031】
また、本発明は、請求項12に記載のシステムにより推定された移動状態が第1または第2の所定の移動状態である場合に、該推定された移動状態を移動状態として特定し、請求項12に記載のシステムにより推定された移動状態が第1または第2の所定の移動状態でない場合に、さらに請求項13に記載のシステムにより移動状態を推定し、推定された移動状態が第3の所定の移動状態である場合に、該推定された移動状態を移動状態として特定し、請求項13に記載のシステムにより推定された移動状態が第3の所定の移動状態でない場合に、さらに請求項14に記載のシステムにより移動状態を推定し、該推定された移動状態を移動状態として特定するシステムを特徴とする。
【0032】
また、本発明は、少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群を格納し、前記CPUが、前記加速度センサにより連続的に加速度値を収集させ、前記収集された連続の加速度値において、所定の期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させ、時間窓を一定期間ずらして前記時間窓データの生成を少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させ、前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させ、前記第1のスペクトル・リストの群のうちそれぞれ1のスペクトルと、前記第2のスペクトル・リストのうちそれぞれ1の第2のスペクトルとを比較することにより前記所定期間における前記第2のスペクトルと最近傍の第1のスペクトルを選定する、前記第1のスペクトルの選定を所定回数繰り返して、最高頻度の第1のスペクトル・リストを特定することにより、移動状態を推定するシステムに関する。
【0033】
また、本発明において、請求項16に記載の推定された移動状態が第1または第2の所定の移動状態である場合に、前記移動状態の特定は、請求項17に記載のシステムにより推定された移動状態が第1の所定の移動状態である場合に、推定された移動状態を移動状態として特定し、請求項17に記載のシステムにより推定された移動状態が第1の移動状態でない場合に、請求項12に記載のシステムにより移動状態を推定し、推定された移動状態が第2の所定の移動状態である場合に、該推定された移動状態を移動状態として特定することにより行われるシステムを特徴とする。
【0034】
また、本発明は、少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定する方法に関し、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群(代表パワースペクトル・リスト群)を格納し、CPUが、加速度センサにより連続的に加速度値を収集させるステップと、収集された連続の加速度値において、所定期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させる時間窓データ生成ステップと、時間窓を一定期間ずらして時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させるステップと、生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リスト(推定用パワースペクトル・リスト)を生成させるステップと、第1のスペクトル・リストの群に対する、前記第2のスペクトル・リストの尤度を評価するステップと、を有し、前記尤度が最大となる前記第1のスペクトル・リストを特定することにより移動状態を推定する方法を特徴とする。
【0035】
また、前記方法において尤度を評価するステップは、CPUにより、第1のスペクトル・リストの群に対して、前記第2のスペクトル・リストを比較適合して、前記第1のスペクトル・リストを構成するスペクトルのうち、前記第2のスペクトル・リストを構成するスペクトルに対して最近傍のスペクトルを各々選択させ、各々選択された第1のスペクトルの集合(シンボル列)をHMMからなる関数を介して、前記HMMの尤度を移動状態毎に評価する方法を特徴とする。
【0036】
また、前記方法において、第1のスペクトル・リストは、CPUが、加速度センサによって連続的に学習用の加速度値を収集させるステップと、収集された連続の学習用の加速度値において、所定期間の前記連続の学習用の加速度値のデータから構成される学習用のスペクトルを学習用の時間窓データとして生成させる学習用時間窓データ生成ステップと、時間窓を一定期間ずらして学習用時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の学習用時間窓データから学習用データ・リストを生成させるステップと、生成された学習用データ・リストを高速フーリエ変換させ、学習用パワースペクトル・リストを生成させるステップと、学習用パワースペクトル・リストに対して遺伝的アルゴリズムを適用し、評価値を計算するステップとを有し、計算された評価値が最も高いリストを第1のスペクトル・リストとすることにより決定されることを特徴とする、請求項19または20に記載の方法を特徴とする。
【0037】
また、請求項20に記載のHMMの尤度を評価するステップにおいて、前記CPUがさらに、前記各々選択された第1のスペクトルの集合を、所定の時間幅で前記HMMからなる関数を介して、前記HMMの尤度を移動状態毎に評価することを含む、方法が提供される。
【0038】
また、本発明において、請求項19に記載した各ステップに加えて、前記CPUがさらに、請求項22に記載の前記HMMの尤度を移動状態毎に評価する第1のステップと、前記尤度が最大である移動状態を特定する第2のステップと、を有し、前記所定の時間幅において得られた最大の尤度に対応するHMMが所定の移動状態でない場合に、前記所定の時間幅より長い所定の時間幅で、前記第1のステップと前記第2のステップとを繰り返して移動状態を順次特定することにより移動状態を推定することを特徴とする請求項20に記載の方法(多段推定方式)を提供する。
【0039】
また、請求項19に記載の加速度値を収集させるステップは、前記CPUがさらに
前記加速度センサにより連続的に単位時間あたりの加速度値を収集させるステップと、を有し、前記尤度が最大となる前記第1のスペクトル・リストを特定することにより推定された移動状態を単位時間あたりの推定データとしてメモリへ蓄積することを特徴とする、請求項19に記載の移動状態を推定する方法であることを特徴とする。
【0040】
また、別の態様において請求項24に記載の方法であって、推定された移動状態と該推定された移動状態と間違える頻度の高い移動状態とを同一グループとしたデータ構造(移動状態スキーマ)は、それぞれ1または複数の移動状態を含む1または複数の移動状態グループを含み、該移動状態グループは1の基本の移動状態を含むデータ構造を用いて移動状態を推定する方法であって、前記CPUが、前記単位時間あたりの推定データを前記メモリから読み出すステップと、前記単位時間あたりの推定データを用いて前記データ構造の移動状態グループの種別を識別するステップと、前記単位時間あたりの推定データを所定期間取得し推定データ・ログを生成するステップと、前記推定データ・ログを用いて、多数決推定方式により前記移動状態グループに包含される1の移動状態を推定するステップと、を有する、移動状態を推定する方法を提供する。
【0041】
また、前記単位時間は前記データ構造の移動状態グループの種別を識別するために要する所定数の推定データの取得に要する時間である、請求項25に記載の方法を特徴とする
また、別の態様において、請求項25に記載の推定データ・ログを用いて多数決推定方式で移動状態を推定するステップは、前記推定データ・ログに含まれる最高頻度の移動状態が前記識別された移動状態グループの種別に属する場合は、該最高頻度の移動状態を推定される移動状態として特定し、前記推定データ・ログに含まれる最高頻度の移動状態が前記識別された移動状態グループの種別に属さない場合は、前記識別された移動状態グループの基本の移動状態を推定される移動状態として特定することにより、移動状態を推定することを特徴とする請求項25または26に記載の方法を提供する。
【0042】
また、本発明は少なくともCPUと、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群を格納し、CPUが、前記加速度センサにより連続的に加速度値を収集させ、前記収集された連続の加速度値において、所定期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させ、時間窓を一定期間ずらして前記時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させ、前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させ、前記第1のスペクトル・リストの群に対する、前記第2のスペクトル・リストの尤度を評価する、前記尤度が最大となる前記第1のスペクトル・リストを特定することにより移動状態を推定するシステムを特徴とする。
【0043】
また、前記システムにおいて、前記尤度の評価は、CPUにより、前記第1のスペクトル・リストの群に対して、前記第2のスペクトル・リストを比較適合して、前記第1のスペクトル・リストを構成するスペクトルのうち、前記第2のスペクトル・リストを構成するスペクトルに対して最近傍のスペクトルを各々選択させ、前記各々選択された第1のスペクトルの集合をHMMからなる関数を介して、前記HMMの尤度を移動状態毎に評価することを特徴とする請求項28に記載のシステムを特徴とする。
【0044】
また、前記システムにおいて、前記第1のスペクトル・リストは、前記CPUが、前記加速度センサによって連続的に学習用の加速度値を収集させ、前記収集された連続の学習用の加速度値において、所定期間の前記連続の学習用の加速度値のデータから構成される学習用のスペクトルを学習用の時間窓データとして生成させ、時間窓を一定期間ずらして前記学習用時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の学習用時間窓データから学習用データ・リストを生成させ、前記生成された学習用データ・リストを高速フーリエ変換させ、学習用パワースペクトル・リストを生成させ、前記学習用パワースペクトル・リストに対して遺伝的アルゴリズムを適用し、評価値を計算し、前記計算された評価値が最も高いリストを第1のスペクトル・リストとすることにより決定することを特徴とする請求項28または29に記載のシステムを特徴とする。
【0045】
また、請求項29に記載のHMMの尤度の評価において、前記CPUがさらに、前記各々選択された第1のスペクトルの集合を、所定の時間幅で前記HMMからなる関数を介して、前記HMMの尤度を移動状態毎に評価することを含む、システムが提供される。
【0046】
また、本発明において、請求項28に記載した前記CPUがさらに、請求項31に記載の前記HMMの尤度を移動状態毎に評価する第1のステップと、前記尤度が最大である移動状態を特定する第2のステップと、を有し、前記所定の時間幅において得られた最大の尤度に対応するHMMが所定の移動状態でない場合に、前記所定の時間幅より長い所定の時間幅で、前記第1のステップと前記第2のステップとを繰り返して移動状態を順次特定することにより移動状態を推定することを特徴とする請求項29に記載のシステムを提供する。
【0047】
また、請求項28に記載の加速度値の収集は、前記CPUがさらに、前記加速度センサにより連続的に単位時間あたりの加速度値を収集させ、前記尤度が最大となる前記第1のスペクトル・リストを特定することにより推定された移動状態を単位時間あたりの推定データとしてメモリへ蓄積することを特徴とする、請求項28に記載の移動状態を推定するシステムであることを特徴とする。
【0048】
また、別の態様において、請求項33に記載のシステムは、推定された移動状態と該推定された移動状態と間違える頻度の高い移動状態とを同一グループとしたデータ構造は、それぞれ1または複数の移動状態を含む1または複数の移動状態グループを含み、該移動状態グループは1の基本の移動状態を含むデータ構造を用いた移動状態の推定であって、前記CPUが、前記単位時間あたりの推定データを前記メモリから読み出し、前記単位時間あたりの推定データを用いて前記データ構造の移動状態グループの種別を識別し、前記単位時間あたりの推定データを所定期間取得し推定データ・ログを生成させ、前記推定データ・ログを用いて、多数決推定方式により前記移動状態グループに包含される1の移動状態を推定すること、を含む、移動状態を推定するシステムを特徴とする。
【0049】
また、前記単位時間は前記データ構造の移動状態グループの種別を識別するために要する所定数の推定データの取得に要する時間である、請求項34に記載のシステムを特徴とする。
【0050】
また、別の態様において、請求項33に記載の推定データ・ログを用いた多数決推定方式の移動状態の推定は、前記推定データ・ログに含まれる最高頻度の移動状態が前記識別された移動状態グループの種別に属する場合は、該最高頻度の移動状態を推定される移動状態として特定し、前記推定データ・ログに含まれる最高頻度の移動状態が前記識別された移動状態グループの種別に属さない場合は、前記識別された移動状態グループの基本の移動状態を推定される移動状態として特定することにより、移動状態を推定することを特徴とする請求項34または35に記載のシステムを提供する。
【発明を実施するための最良の形態】
【0051】
図1は本発明の一態様によるユーザ移動状態推定方式のシステム構成を示した図である。ユーザ移動状態推定方式は、例えば人の手のひらに収まる携帯端末装置に搭載され、携帯端末装置(A1)は少なくとも加速度センサ(A50)、メモリ、中央演算装置(CPU)(A10)、バッテリ(A60)を含む。メモリにはヒープメモリ(A20)、Flashメモリ(A30)があっても良い。各コンポーネントはバッテリにより駆動される。ここで、加速度センサは、加速度データを取得し、センサ内のメモリ空間へ加速度データを格納する。CPUは例えば、プログラムをFlashメモリからロードして、ヒープメモリへ格納するよう命令する。Flashメモリは例えば、データ取得関数等のプログラムを格納する。ヒープメモリは例えば、Flashメモリに格納されているプログラムを一時的に格納する。
【0052】
本発明は、特定の参照状態にて取得された学習用加速度データ・リストから、HMMを作成し、移動状態毎に作成されたHMMを用いて、ユーザの移動状態を推定するものである。
【0053】
図2は、学習用モデル作成処理のフロー図である。特定の参照状態における学習用加速度データを取得し、FF変換により学習用パワースペクトル・リストを生成する(B1)。より詳細には、CPUが、あらかじめ、学習用モデル作成関数(FF変換関数,代表パワースペクトル群選定関数、パターンマッチング関数、シンボル列生成関数、HMM学習処理関数で構成)をFlashメモリから読み込み、ヒープメモリ上にロードする。学習用モデル作成関数内の、FF変換関数により、CPUが学習用パワースペクトル・リストを計算し、算出結果をヒープメモリに蓄積する。
【0054】
次に、生成された学習用パワースペクトル・リストから代表パワースペクトル・リストを選定する(B2)。より詳細には、学習用モデル作成関数内の、代表パワースペクトル・リスト選定関数により、CPUが代表パワースペクトル・リストを選定し、選定結果をFlashメモリ内に書き込む。ステップB1とB2とを移動状態毎に繰り返して行い、代表パワースペクトル群を生成する(B3)。
【0055】
次に、学習用モデル作成関数内の、パターンマッチング関数により、生成された代表パワースペクトル群の内の各代表パワースペクトルと、学習用パワースペクトルとをそれぞれパターンマッチングする(B4)。
【0056】
そして、最近傍の代表パワースペクトルのIDをそれぞれ学習用シンボルとしてヒープメモリへ蓄積し、シンボル列生成関数により、CPUが学習用シンボル列を生成しヒープメモリへ格納する(B5)。
【0057】
HMM学習関数により、CPUがヒープメモリから学習用シンボル列へ読み込み、HMM学習を行い(B6)、HMM学習結果(確率表)を作成し、Flashメモリへ書き込み、HMMを作成する(B7)。以上のB1からB6のステップを学習対象の移動状態毎に行い、HMM群を生成する。
ユーザの移動状態の推定
図3は、ユーザの移動状態の推定処理のフロー図である。ユーザの有する加速度センサから加速度データを取得し、FF変換により推定用パワースペクトル・リストを生成する(C1)。より詳細には、CPUが、あらかじめ、移動状態推定関数(FF変換関数,パターンマッチング関数、シンボル列生成関数、HMM推定関数)をFlashメモリから読み込み、ヒープメモリ上にロードする。そして、FF変換関数により、CPUがヒープメモリから推定用加速度データを読み込み、推定用パワースペクトル・リストを計算し、算出結果をヒープメモリに蓄積する。
【0058】
そして、ステップB3より得られた代表パワースペクトル群のそれぞれ1つの代表パワースペクトルと、推定用パワースペクトルとをパターンマッチング関数によりそれぞれパターンマッチングする(C2)。
【0059】
次に、推定用パワースペクトルに対し最近傍の代表パワースペクトルIDを選定し(ステップC3)、ヒープメモリへ蓄積する。例えばCPUによる演算により、ずらし幅を0.5秒とすると、0.5秒に1つの代表パワースペクトルのIDが蓄積される。そして、CPUは上記蓄積処理を、推定用パワースペクトル・リストの各推定用パワースペクトルについて行う。ここで、加速度データのシンボル化とはステップC1からC3の一連の処理をいう。
【0060】
次に、シンボル列生成関数により、CPUが選定された代表パワースペクトルIDをヒープメモリから読み込み、推定用シンボル列へ順次蓄積して推定用シンボル列を生成する(C4)。
【0061】
次に、生成された推定用シンボル列を用いて、HMMからなる関数を介してHMM推定を行う。ユーザの移動状態の推定は、推定用シンボル列に格納された代表パワースペクトルIDを各移動状態のHMMへ入力し、それぞれのHMMに対する尤度を求める。求められた尤度の内、最高尤度を有するHMMに該当する移動状態種別を特定することにより、移動状態を推定する(HMM推定)。具体的には、HMM推定関数により、CPUが、ヒープメモリから推定用シンボル列にあるシンボル(代表パワースペクトルのID)を順次時系列に読み込みし、各HMMに対する評価値(尤度)計算を行い(C5)、その結果をヒープメモリへ書き込む。最も尤度の高いHMMに該当する移動状態を特定し、推定結果を得る(C6)。
【0062】
従来のパターンマッチングでは、時系列変化を含まない1つの推定用パワースペクトルと代表パワースペクトルとを比較し、最近傍の代表パワースペクトルを選定し、ユーザの移動状態を推定していた。そのため、突発的なユーザの状態変化が起きた場合、選定されたパワースペクトルにノイズが多く含まれていると、誤った移動状態を特定することとなる。従って、従来のパターンマッチングでは正確な移動状態の推定が困難であった。
【0063】
本発明では、代表パワースペクトルのID格納したシンボル列は、時系列のデータを含む。従って、時系列の複数のパワースペクトルの内、1つのパワースペクトルにノイズが含まれていたとしても、その前後のパワースペクトルの状況を考慮して移動状態が推定される。そのため、本発明は、突発的な外部環境に左右されることなく、ユーザの状態をより正確に推定することを可能とする。
【0064】
以上、パワースペクトルの時系列データを用いてユーザの移動状態を推定することにより、従来法に比較して、推定に要する時間に対する推定性能評価の性能が向上した。
以下に各ステップの詳細を個別に説明する。
学習用パワースペクトル・リストの生成
図4は学習用パワースペクトル・リストの生成処理のフロー図である。学習用パワースペクトル・リストは、HMMの学習をするために利用されるデータであり、ある特定の移動状態における参照状態のデータを一定期間取得することにより生成される。
【0065】
まず、加速度センサから参照状態の学習用加速度データ(x,y,z)を取得する(D1)。なお、ここではx,y,zは3軸上の加速度であるが、1軸、または2軸上の加速度でも良い。より詳細には、CPUは、あらかじめ、学習用パワースペクトル・リスト生成関数(加速度値算出、時間間隔判定、加速度値の時間窓データ算出関数、FF変換関数)、及び加速度センサのデバイス・ドライバをFlashメモリから読み込み、ヒープメモリ上にロードする。そして、CPUがデバイス・ドライバにより、加速度センサを起動し、計測を開始する。デバイス・ドライバは、加速度センサの測定値(学習用加速度データ)を読み出し、ヒープメモリに蓄積する。
【0066】
次に、加速度値算出関数により、CPUがヒープメモリから学習用加速度データを読み込み、CPUによる演算により学習用加速度データから加速度値α=(x2+y2+z2)1/2を生成し(D2)、ヒープメモリへ蓄積する。
【0067】
そして、加速度値の時間窓データ算出関数により、CPUは所定期間(例えば2秒間)にわたって加速度値αを生成し、加速度の学習用の時間窓データを生成し(D3)、その結果をヒープメモリへ蓄積する。ここで、例えばサンプリングレートを128Hzとすると、加速度の学習用の時間窓データは2秒間で256個の加速度値αからなる。また、サンプリングレートが256Hzの加速度センサであれば、所定期間は1秒間でも良い。
【0068】
次に、時間間隔判定関数により、CPUが前回の学習用パワースペクトル生成時刻をヒープメモリから読み出し、経過時間を計測し、閾値を超えているか判断し、閾値を超えていない場合は加速度の学習用の時間窓データを生成するステップを繰り返す(D4)。閾値を超えている場合はステップD5に移る。
【0069】
次に、CPUは、FF変換関数により、ヒープメモリから加速度の時間窓データの束(ここで、取得された時間窓データの束を時系列データ・リストという)を読み出し、それぞれの時間窓データをFF変換して学習用パワースペクトルを算出し(D5)、ヒープメモリへそれぞれ蓄積する。なお、時間窓データをFF変換して得られた学習用パワースペクトルのうち、所定の周波数帯域のスペクトル、例えば1〜10Hzのスペクトルを用いることができる。加速度の時間窓データを取得するステップを繰り返す間隔は、前記所定期間であっても良いし、それよりも長いまたは短い間隔でもよい。本実施態様においては、例えば2秒間の時間窓のずらし幅を0.5秒間に設定する。
【0070】
以上により、格納された学習用パワースペクトルのリストを学習用パワースペクトル・リストPa(例えばa=1200)とする。
代表パワースペクトル群の選定
学習用パワースペクトル・リストからの代表パワースペクトル・リストの選定は、好ましい実施態様では、GAを用いて行われる。代表パワースペクトル・リストの選定は、CPUにより学習用パワースペクトル・リストから個体群を生成し、生成された個体群のうち1の個体毎に評価値を計算し、評価値を基に各個体を評価し、世代交代を所定回数行い、評価値の高い個体を選択することにより行われる。すなわち、各個体の評価値を計算し、その評価値を基に評価値順に個体群をソートし、個体群の交叉・継承・突然変異等の操作を所定回数繰り返し、無進化状態が続く場合は、選定されている個体群の内最も高い評価値を有する個体を最適解として選定する。これら一連の処理を含むプロセスを図5に示す。尚、これら一連の処理を行うにあたって、CPUは、あらかじめFlashメモリに格納されている代表パワースペクトル選定プログラムをヒープメモリ上へロードする。そして、CPUは、代表パワースペクトル選定プログラムの命令をCPUレジスタへ登録し、プログラム処理し、得られた値をヒープメモリへ蓄積する。
【0071】
図5は、代表パワースペクトル・リストの選出処理のフロー図である。図5において、まず、初期の代表パワースペクトル・リスト(群ではない)をR(R1, R2, …Rn)(例えばn=32)とする。ここで、R1…Rnはそれぞれ選定処理にて選定される代表パワースペクトルである。また、代表パワースペクトル・リストRには初期値としてNULL値が設定されている。CPUは、あらかじめ、代表パワースペクトル選出関数(GA関数)をFlashメモリから読み込み、ヒープメモリ上にロードする。そして、CPUは、GA関数により学習用パワースペクトル・リストPa(ここでは、a=1200)からランダムにn個のパワースペクトル(遺伝子)を抽出し、本抽出処理をm回繰り返すことにより、n個の遺伝子を有する初期個体を一定数(例えばm=30)生成し、個体群lmを生成し(E1)、ヒープメモリへ蓄積する。
【0072】
次に、CPUはGA関数により、個体群lmから2つの個体をヒープメモリからランダムに読み出し、交叉させ、1つの子個体を生成する。本処理をm回繰り返し、子個体群Cmを生成し(E2)、ヒープメモリへ蓄積する。ここで、交叉とは、2つの個体から1つの個体を生成することを示し、親個体A(Ra1, Ra2, …Ran)と親個体B(Rb1, Rb2, …Rbn)から、ランダムに遺伝子を選択し、子個体C、例えば(Ra1,Rb2, …Rbn-1, Ran)を生成することをいう。
【0073】
次に、CPUはGA関数により、各親個体と各子個体の評価値を計算し(E3)、計算結果をヒープメモリへ格納する。CPUは、学習用パワースペクトル・リストPaのパワースペクトル(遺伝子)毎に、それと最近傍の代表パワースペクトル(遺伝子)を代表パワースペクトル・リストRから選定する。ここで、代表パワースペクトルは、Paを構成する学習用パワースペクトル毎に選定されるので、a個のパワースペクトルから成るパワースペクトル・リストが選定される。選定された最近傍のパワースペクトル・リストのそれぞれのパワースペクトルと、学習用パワースペクトル・リストPaのそれぞれのパワースペクトルとの間の誤差の総和の逆数を評価値として得る。ここで、例えば親個体、子個体それぞれ30個の計60個について評価値を計算する。最近傍のパワースペクトルとは、代表パワースペクトルとの間の距離(誤差)が最も小さいスペクトルをいい、距離とは周波数毎の振幅値の誤差の絶対値の総和である。
【0074】
次に、CPUはGA関数により、親個体、子個体の評価値群をヒープメモリから読み出し、最良評価値を検索し、次世代(子世代)の個体群の最良評価値が前世代(親世代)の最良評価値より進化しているか否か判定し(E4)、その結果をヒープメモリへ格納する。なお、本実施態様においては1つの最良評価値が前世代の最良評価値と比較して進化しているか否かを判定しているが、例えば、個体群全体が前世代より進化しているか否かを判定することもできる。計算された評価値が、前世代の評価値よりも大きい場合、次世代は前世代より進化していることを意味する。ここで、第一回目は、評価値に0が設定されている。
【0075】
そして、次世代の個体群が前世代より進化している場合、各個体の評価値を元に、エリート個体・生き残り個体を所定の数選定し、エリート個体、通常個体、死滅個体に分類し、世代交代を行う。世代交代では、エリート個体は、次世代にそのまま継承され、全く同じ次世代個体が生成される。一方、死滅個体は次世代に継承されず、新たな突然変異の個体が死滅個体に代わって選定される。
【0076】
より詳細には、ステップE4において次世代個体群が進化していると判断された(評価値が大きい)場合、CPUは各個体(親個体、子個体)に対して算出された評価値をヒープメモリから読み出し、上位複数個(例えば9個)の個体をエリート個体として選定し(E5)、その結果をヒープメモリへ蓄積する。選定されたエリート個体は次世代に継承される。
【0077】
そして、CPUは、評価値に比例配分したルーレットを生成し、そこからルーレット戦略により、残りの個体群の一定割合数(例えば、約8割)を選定し、そこから指定数の個体(ここでは18個)を選定し(E6)、ヒープメモリへ蓄積する。ここで選定された個体は次世代に継承される。
【0078】
次に、次世代の個体の残り(ここでは3個)は死滅個体として消滅し、代わりにCPUは突然変異個体をランダムに生成し(E7)、その結果をヒープメモリへ蓄積する。生成された突然変異個体は次世代に組み込まれる。ここで、突然変異は、CPUにより初期個体群生成(ステップE1,E2)と同様の手順で生成され、つまり学習用のパワースペクトル・リストPaよりランダムに選定される。
【0079】
そして、CPUは、ヒープメモリから、ステップE5からE7により選定・生成された個体群を読み出し、次世代の個体群(ここでは、30個)として継承し(E8)、ヒープメモリへ格納する。
【0080】
一方、ステップE4にて判定された結果、次世代の評価値が前世代の評価値と同じかまたは小さい場合、ステップE9へ移行する。これは、次世代の個体群が無進化状態であることを意味する。CPUは、無進化状態数をヒープメモリから読み出し、所定回数以上無進化状態が続いているか判定する(E9)。所定回数以上続いていなければ、無進化状態数に1を足して、結果をヒープメモリへ上書き蓄積する。そして、ステップE5からE8を所定回数、例えば本実施態様では50回(50世代分)を繰り返す。
【0081】
そして、無進化状態数が所定回数に達した場合、CPUは、最終個体群の内、最も評価値が高い個体をヒープメモリから読み出し、その遺伝子情報を代表パワースペクトル・リストRとして選定する(E10)。その結果をFlashメモリへ書き出す。
【0082】
以上、代表パワースペクトル・リストの選定処理を全ての移動状態に対して行い、代表パワースペクトル群を選定する。例えば7つの移動状態毎にそれぞれ代表パワースペクトル・リストRが選定されるとすると、各リストには32の代表パワースペクトルが選定され、計224個の代表パワースペクトルを含む代表パワースペクトル群が選定される。
学習用パワースペクトル・リストのパターンマッチング
選定された代表パワースペクトル群のうち、各々の代表パワースペクトル(ここでは、224個)に対し、個別にIDを付与する。次に、学習用パワースペクトル・リストPaに格納された時系列の学習用パワースペクトル毎に、代表パワースペクトル群の内の各代表パワースペクトルとパターンマッチングを行い、最近傍の代表パワースペクトルのIDを選定し、順次ヒープメモリへ格納し、学習用シンボル列を生成する。ここで、シンボル列とは、所定期間における代表パワースペクトルのIDを時系列に格納したデータ列である。
【0083】
以上、学習用シンボル列を生成する処理を全ての参照状態の移動状態に対して行う。
HMM学習
本発明は、HMMをユーザの移動状態の推定に用いることにより、ユーザの移動状態が大きく変動した場合でも正確にユーザの移動状態を認識できるようにするものである。HMMは、概略的には互いに遷移により接続されている状態の集合であり、いくつかの内部状態から構成され、各遷移のステップ毎に観測可能な出力を生成しながら、初期状態から最終状態まで状態を遷移するものである。HMMの詳細については、例えば北 研二著、1999年、「確率的言語モデル」に記載されている。バウムーウェルチアルゴリズムの詳細については、L.E. Baum他著、「A maximization technique occurring in the statistical analysis of probabilistic function of markov chains」に記載されている。また、AIC(赤池情報量基準)については、赤池著、「統計的検定の新しい考え方」に記載されている。
HMMの作成
図6はHMMの学習処理フローを示す。一実施態様において、HMMは、初期状態確率Xi、状態遷移確率Aij、信号出力確率Bi(k)により構成される。HMMでは、いくつかの状態iを用意し、それぞれの状態から始まる確率を初期状態確率Xi、ある状態iから各々の状態jへの遷移確率を状態遷移確率Aij、及び各々の状態iにおけるシンボルk(ここでは224個の代表スペクトルのID)の出現する確率を信号出力確率Bi(k)とする。HMMは、初期状態確率Xi、状態遷移確率Aij、記号出力確率Bi(k)の値に基づいて確率的に記号列を出力することができる。ユーザの移動状態の推定は、予め移動状態毎にHMMを用意し、各HMMが学習用シンボル列を最も高い確率で出力するようにHMMの確率表、Xi,Aij,bi(k)を学習することにより行われる。
【0084】
より詳細には、まず、HMMを構成する初期状態数と、初期状態確率Xi、状態遷移確率Aij、信号出力確率Bi(k)の初期値を適当に定める(F1)。ここで、例えば初期状態数を3とし、各確率Xi、Aij、Bi(k)の初期値はそれぞれ均等な値を設定する。
【0085】
次に、HMM学習用に生成された学習用シンボル列を用いて、CPUによる演算により初期状態確率Xi、状態遷移確率Aij、信号出力確率Bi(k)の計算を行う(F2)。
次に、ステップF2により得られた値Xi、Aij、Bi(k)を用いてHMMの尤度計算を好ましくは、前向きアルゴリズムにより行う(F3)。
【0086】
次に、得られた尤度の値が前回の尤度の値と比較して一定以上の向上があるかを判定する(F4)。得られた尤度の値に一定以上の向上がある場合、ステップF2に戻る。
尤度に一定以上の向上がない場合、AICを算出する(F5)。ここで、AICとは統計モデルの良さを評価するための指標であり、モデルの複雑さと、データとの適合度とのバランスをとるために使用されるものである。
【0087】
次に、AICの値が前回計算された値よりも一定量以上小さくなっているかを判定する(E6)。前回計算された値よりも一定量以上小さくなっている場合、HMMを構成する状態数を1つ増やし(F7)、ステップE1へ戻る。
【0088】
AICの値が前回計算された値よりも一定量以上小さくなっていない場合、初期状態確率Xi、状態遷移確率Aij、信号出力確率Bi(k)をヒープメモリへ格納し(F8)、HMM学習関数によるHMMの学習処理を終了する。これにより、特定の移動状態における学習用のシンボル列を出力する可能性の最も高い、状態数や状態遷移確率等のHMMの構成が決定される。CPUは、上記ステップF1からF8を学習対象の移動状態毎に行い、個別にHMMを構成する。従って、本実施態様では、学習対象の移動状態である停止状態、歩行状態、走行状態、自転車状態、自動車状態、バス状態及び電車状態毎にHMMが生成され、HMM群が生成される。
推定用パワースペクトル・リストの生成
ある移動状態にいるユーザの移動状態を推定するために用いる推定用パワースペクトル・リストは、学習用パワースペクトル・リストの選定と同様のプロセスにより行われる。すなわち、ある移動状態にいるユーザが有する加速度センサから所定期間(ここでは2秒間)に亘って推定用の加速度データを取得し、得られた推定用加速度データから加速度の時間窓データを生成する。
【0089】
そして、推定用加速度の時間窓データの生成を所定回数繰り返し、推定用加速度の時系列データ・リスト(推定用データ・リスト)を取得する。尚、推定用加速度の時間窓データの生成は、ユーザの移動状態を推定するために必要なデータ数が得られるまで、所定回数繰り返す。そして、CPUによる演算により、複数の推定用加速度の時間窓データはそれぞれFF変換され、複数の推定用パワースペクトルからなる推定用パワースペクトル・リストが算出される。
可変長シンボルを用いた多段推定方式
本発明の更なる態様において、ユーザの移動状態の推定は、移動状態を推定するために要するシンボル長(時間長)を、所定の期間に得られる情報に従って、多段階で変更することでより短時間にユーザの移動状態を推定すること(多段推定方式)に関する。図7は可変長シンボル列を用いた多段推定方式による処理フロー図である。本方式を適用することにより上述した推定方法に要した平均推定時間を更に短縮してユーザの移動状態を推定することが可能となる。
【0090】
詳細には、図7の処理フローを参照して、多段推定方式を用いた移動状態の推定方法について説明する。まず、CPUは、あらかじめ多段推定方式で用いるHMM推定関数をFlashメモリから読み込み、ヒープメモリ上へロードする。そして、ある移動状態にいるユーザの有する加速度センサから、ユーザの移動状態を識別するために要する第1の時間幅(例えば、3秒間)に亘る直前の過去の推定用加速度データを取得し、推定用パワースペクトル・リストに基づいて推定用シンボル列を生成する(G1)。
【0091】
次に、CPUは、HMM推定関数(図3、ステップC5)により、ヒープメモリから推定用シンボル列を読み込みし、移動状態を推定する(G2)。そして、推定結果が走行状態であるか否かを判定し(G3)、走行状態である場合、推定結果をヒープメモリに蓄積し(G4)、推定処理を終了する。ユーザの移動状態の推定に要する推定用シンボル列の長さは、ユーザの移動状態毎に異なる。従って、最短の時間(ここでは、3秒間)で推定可能なユーザの移動状態(例えば、走行状態)を最初に推定する。
【0092】
一方、ステップG3において推定結果が走行状態でないと判定された場合、ユーザの有する加速度センサから、さらにユーザの移動状態の識別に要する、第1の時間幅より長い第2の時間幅(例えば、30秒間)に亘る過去の推定用加速度データを取得し、推定用パワースペクトル・リストを生成し、推定用シンボル列を生成する(G5)。次に、CPUは、HMM推定関数により、ヒープメモリから推定用シンボル列を読み込み、移動状態の推定を行う(G6)。このとき、ステップG1からG3の処理で既に推定された移動状態(ここでは走行状態)のHMMは推定対象から除かれる。このように、多段階推定方式は、移動状態の種別によって、移動状態の識別に要するシンボル列長が異なることを利用して、多段階でユーザの移動状態を推定する。また、多段推定方式は、既に推定された移動状態のHMMを推定対象から除くことで、推定処理にかかるCPUの負荷を軽減すると共に、推定処理速度を高速化することを特徴とする。
【0093】
次に、延長されたシンボル列を用いて、ステップG3と同様にHMM推定関数により推定された結果が第2の時間幅で推定可能な移動状態(例えば、歩行状態、自転車状態)であるか否かを判定する(G7)。推定結果が歩行状態または自転車状態の場合、推定結果をヒープメモリに蓄積し(G8)、推定処理を終了する。推定結果が歩行状態または自転車状態ではない場合、ユーザの有する加速度センサから、さらにユーザの移動状態の識別に要する第2の時間幅より長い第3の時間幅(例えば、180秒間)に亘る過去の推定用加速度データを取得し、推定用パワースペクトル・リストを生成し、推定用シンボル列を生成する(G9)。本実施態様では、第3の時間幅の推定用加速度データは、例えば、停止状態、自動車状態、電車状態、バス状態の識別に必要となる。第3の時間幅とは、ここでは全ての移動状態を推定するために要する時間幅をいう。
【0094】
次に、CPUは、HMM推定関数によりヒープメモリから推定用シンボル列を読み込みし、HMM推定する(G10)。このとき、ステップG1からG6の処理で推定可能な状態(ここでは、走行状態、自転車状態、歩行状態)のHMMは推定対象から除かれる。移動状態(停止状態、自動車状態、バス状態、電車状態)が推定された場合、推定結果をヒープメモリに蓄積し(G11)、推定処理を終了する。
【0095】
このように多段推定方式では、全ての移動状態を推定することができる時間幅を最長として、推定用加速度データを用いてCPUによる演算により移動状態を推定するものである。従って、最長の時間幅より短い時間幅で推定可能な場合、そのような移動状態を先に推定(多段階推定)することにより、平均の移動状態推定に要する時間を短縮するものである。例えば、最短時間で推定可能な移動状態である走行状態の場合、僅か3秒間で推定され、他の移動状態であるかを推定することなく処理を終了するため、移動状態の推定処理に負荷を削減することができる。なお、多段推定方式では、過去の推定用加速度データを用いてユーザの移動状態を推定しており、CPUの処理能力に応じて移動状態の推定時間の短縮をさらに図ることができる。以上により、本実施態様において、本多段推定方式を用いた移動状態の推定に要する時間は、本方式を用いなかった場合と比べ約半分となった。
移動状態スキーマを用いた多数決推定方式
本発明の更なる態様は、前述した多段推定方式による推定精度を落とさずに、移動状態の推定に要する時間を更に短縮する多数決推定方式に関する。多数決推定方式においては、移動状態スキーマを用いることにより、移動状態の推定に要する処理時間を短縮し、一回の推定に必要な処理負荷を軽減することができる。
【0096】
図8は本実施態様における移動状態スキーマを示す。ここで、移動状態スキーマは、HMM推定により推定される移動状態が、ユーザの現実の移動状態と異なる場合に、その異なり易さ(間違えやすさ)から求められる。より詳細には、所定期間における推定用シンボル列を用いて移動状態を推定した結果、推定されたユーザの移動状態と、ユーザの現実の移動状態とが異なる場合がある。移動状態グループ内の各移動状態は、そのような現実の状態と推定された状態との推定誤差に着目して求められる。つまり、HMMからなる関数を用いて移動状態を推定した結果、推定された移動状態と該推定された移動状態と間違える頻度の高い移動状態とを同一グループとして、グループ化する。移動状態スキーマは、このグループ化された1または複数の移動状態グループから構成されたものである。各移動状態グループには、1または複数の移動状態を含む。
【0097】
上述したように、移動状態は、例えば、停止状態、歩行状態、走行状態、自転車状態、自動車状態、バス状態及び電車状態に分けられる。そして、各移動状態グループは1つの基本状態を有し、1または複数の基本状態の集合を基本状態グループとする。一方、各移動状態グループは、1または複数の派生状態を有する場合もあるし、派生状態を有さない場合もある。ここで、派生状態とは、必ず基本状態を経てからそこへ遷移する状態をいう。特定された基本状態以外の移動状態グループ内の移動状態は、派生状態となる。移動状態グループ内に1の移動状態しか含まれない場合は、該移動状態が基本状態となり、派生状態は存在しない。
【0098】
本実施態様においては、例えば、基本状態を歩行状態、停止状態、走行状態とする。また、歩行状態に派生する派生状態を自転車状態としこれらの状態を歩行グループ、停止状態に派生する派生状態をバス状態、電車状態、自動車状態としこれらの状態を停止グループとする。走行状態は走行グループとし、走行状態は派生状態を有しない。また、基本状態である歩行状態、停止状態、走行状態は、基本状態グループに属することとする。
【0099】
以上により、移動状態の遷移を表現した移動状態スキーマが生成される。作成された移動状態スキーマを用いることにより、ユーザの移動状態は、グループ間の識別であれば短期間で識別が可能となる。
【0100】
多数決推定方式は、推定データ・ログを用いた多数決推定処理(図9)、および推定データ・ログの取得処理(図10)により構成され、本方式による多段推定は該各処理を並列処理することにより行われる。なお、多数決推定方式において、本方式による処理に必要となるHMMを作成するため、事前にHMMからなる関数を介してHMM学習(図6)を行う。また、推定データとは、CPUによる演算により、HMMからなる関数を介してHMMの尤度を評価し、最大の尤度を有するHMMを特定し、該HMMに対応する移動状態を示すIDのことである。なお、移動状態のIDは、移動状態毎に1つずつ割り振られている。
【0101】
以下、図9を参照して推定データ・ログを用いた多数決推定処理フローについて説明する。(まず、ヒープメモリに蓄積された推定データ・ログから直前の単位時間における推定データを取得する(H1)。ここで、単位時間は、例えば移動状態グループの種別を識別するために要する、所定数の推定データの取得に要する時間である。また、推定データ・ログは、推定データを所定期間に亘って取得することにより得られる推定データのログである。なお、本実施態様においては、単位時間を3秒間とし、3秒間毎に移動状態の推定結果を推定データ・ログとして蓄積する。従って、直前の推定データとは、直近の過去3秒間分の推定データである。本実施態様では、ずらし幅を0.5秒に設定しており3秒間で6の推定データからなる推定データ・ログが得られる。
【0102】
次に、直前の推定データが、どの移動状態グループに属するかを判定する。ここでは、移動状態グループのうち最短の推定時間で移動状態を推定することができる移動状態グループ(ここでは走行グループ)であるか否かを最初に判定する(H2)。直前の推定データが走行グループに属する場合、移動状態の推定結果を走行状態とし(H3)、推定結果をヒープメモリ上へ蓄積する(H4)。なお、本実施態様においては、走行グループ内には走行状態のみが含まれることから、推定結果は走行状態として蓄積される。
【0103】
次に、直前の推定データが走行グループに属しない場合、走行状態の次に短い推定時間で移動状態を推定することが可能なグループ(ここでは歩行グループ)に直前の推定データが属するか否かを判定する(H5)。ここで、直前の推定データが歩行グループに属するか否かは、推定データが歩行グループ内の歩行状態または自転車状態であるかを判定することにより行う。歩行グループに属すると判定された場合は、過去の第1の所定期間分(例えば、過去30秒間分、10回分)の推定データを取得し、推定結果の多数決をとる(H6)。そして、多数決の結果、最高頻度の移動状態が歩行状態または自転車状態であるか否かを判定し(H7)、歩行状態または自転車状態のいずれかである場合は、当該結果(多数決結果)を推定結果とする(H8)。歩行状態または自転車状態のいずれでもない場合は、歩行状態を推定結果とする(H9)。そして、推定結果をヒープメモリ上へ蓄積する(H4)。
【0104】
ステップH5において直前の推定データが歩行グループであると判定されても、ステップH6においてさらに過去30秒間の推定データ・ログから多数決をとった結果、歩行グループとは異なるグループの移動状態(例えば、バス状態)が第1の所定期間における最高頻度の状態として得られる場合がある。この場合、異なるグループの移動状態が得られたとしても、第1の所定期間における移動状態は、歩行グループの基本状態である歩行状態であるとして推定結果を得る(H9)。移動状態スキーマ(図8)によると、バス状態は、歩行グループには属さないからである。従って、移動状態スキーマを用いることで、直前の推定データを用いて推定された移動状態と、第1の所定期間で推定された移動状態とが同一の移動状態グループに属しない場合に、第1の所定期間で推定された移動状態の推定結果を無視することで、より精度の高い推定結果を短時間で得ることができる。
【0105】
一方、ステップH4において歩行グループに属しないと判断された場合、第2の所定期間分(例えば、過去180秒間分、30回分)の推定データを取得し、推定結果の多数決をとる(H10)。そして、多数決の結果、最高頻度の移動状態が停止状態、自動車状態、またはバス状態であるか否かを判定し(H11)、停止状態、自動車状態、またはバス状態のいずれかである場合は、当該結果(多数決結果)を推定結果とする(H12)。停止状態、自動車状態、またはバス状態のいずれでもない場合は、停止状態を推定結果とする(H13)。そして、推定結果をヒープメモリ上へ蓄積する(H4)。
【0106】
次に、プロセス終了命令があるか否かを判定し(H14)、プロセス終了命令が無い場合は、次の一定時間経過するまで処理待ち(H15)した後に、ステップH1へ戻る。プロセス終了命令がある場合、プロセスは終了する。以上が移動状態スキーマを用いた多数決推定方式による移動状態推定フローである。
【0107】
次に、図10を参照して、推定データ・ログの取得処理フローについて説明する。まず、図3の処理に従って単位時間における、ある移動状態にいるユーザの移動状態をユーザの有する加速度センサから得られた推定用加速度データを用いて、HMMからなる関数を介してHMM推定する(I1)。HMM推定により尤度が最大となるHMMに該当する移動状態を特定する。該移動状態を示す移動状態のIDを推定データとし、ヒープメモリへ蓄積する(I2)。そして、次の単位時間分の加速度データを取得する(I3)。ここで、プロセス終了命令があるか否かを判断し、ない場合はステップI1へ戻り、ある場合は移動状態の推定処理を終了する。ステップI1からI3をプロセス終了命令がなされるまで繰り返し、CPUによる演算により、移動状態の推定データのログ(推定データ・ログ)が取得される。
【0108】
以上により、本多数決推定方式を用いることで、移動状態の推定に要する時間は、多段推定方式を用いた場合と比べさらに短縮された。多数決推定方式は、まず移動状態グループを識別し、次に移動状態グループ内のどの移動状態に属するかを推定する。多数決推定方式では、移動状態スキーマを用いることにより、直前の推定データを用いて推定された移動状態と、第1の所定期間で推定された移動状態とが異なる場合に、第1の所定期間で推定された移動状態の推定結果を無視する。その結果、より精度の高い推定結果を得ることができる。また、計算量を大幅に削減することができ、推定に要する処理時間を短縮することができる。
複数種類の外部環境情報を用いた移動状態推定方式
更なる実施態様は、最小誤差推定方式、及び加速度センサ、マイクセンサ、位置測位システム受信機の3種類のセンサを複合的に用いたHMM推定方式に関する。図11は本発明の一態様によるユーザ移動状態推定方式のシステム構成を示した図である。携帯端末装置(A1)は少なくとも加速度センサ(A50)、メモリ、中央演算装置(CPU)(A10)、バッテリ(A60)を含み、さらにマイクセンサ(A70)、位置測位システム受信機(A80)を含むことができる。これらの各コンポーネントは、好ましくは1つの携帯端末装置に搭載される。1つの携帯端末装置に搭載することにより、ユーザの携帯端末装置を所持する負担を軽減することができる。
【0109】
本実施態様は、各移動状態の推定に適した方式を段階的に適用し、推定される移動状態の候補を絞り込むことにより、推定精度の向上を図ると同時に計算量を低減させるものである。より詳細には、HMM推定を行わなくとも推定可能な移動状態は、計算量の少ない最小誤差推定方式によりユーザの移動状態を推定する。これによりHMMからなる関数を介したHMM推定を行わなくとも、移動状態の種別を推定可能な移動状態、例えば、走行、歩行状態においては、より簡易で計算量の少ない最小誤差推定方式を用いることにより移動状態を推定することができる。そして、最小誤差推定方式では精度の高い推定が困難な移動状態については、携帯端末装置に搭載可能な加速度センサ、マイクセンサ、位置測位システム受信機の3種類のセンサを複合的に用いてHMM推定によりユーザの移動状態を推定する。HMM推定により、センサ・データの時間的な変化を状態遷移モデルとして扱うことにより、他の移動状態と類似する時間帯が存在することによる推定精度の低下を回避することができる。また、これらのセンサを複合的に用いることにより、ある時間帯においてユーザの有する加速度センサから得られるパワースペクトルの形態が、他の移動状態のパワースペクトルの形態と類似する場合に、マイクセンサから得られる音データや位置測位システムから得られる位置データを用いてユーザの移動状態を推定し推定精度の向上を図ることができる。
【0110】
図12は、複数種類の外部環境情報を用いた移動状態の推定処理フローである。複数種類の外部環境情報とは、ユーザの置かれた環境を表す情報であり、例えば、ユーザの有する携帯端末装置を介して得られる速度変化情報、音情報、位置情報である。まず、定期的に加速度センサ、マイクセンサ、位置測位システム受信機により計測を行う(ステップJ1)。次に、加速度センサから取得された加速度値を用いて算出されるパワースペクトルにより、最小誤差推定法を用いて移動状態を推定する(ステップJ2)。最高頻度の移動状態が第1の所定の移動状態(ここでは歩行状態、走行状態)である場合、該移動状態を推定結果として取得する(ステップJ3)。なお、最小誤差推定法は、HMM推定方式に比べ少ない計算量で第1の所定の移動状態を推定する方式であり、本方法を用いずに、ステップJ4およびJ5で述べる加速度センサによるHMM推定により第1の所定の移動状態を推定することも可能である。
【0111】
次に、推定された結果が、第1の所定の移動状態でない場合、加速度センサから取得された加速度値を用いて算出されるパワースペクトルを用いて、HMMからなる関数を介してHMMの尤度を評価する(ステップJ4)。このとき、すでにステップJ2において推定される第1の所定の移動状態は推定対象からは除かれている。このように段階的に推定される移動状態を絞り込みすることにより、推定精度の向上を図ると共に、推定に要する時間の短縮を図ることができる。そして、最大の尤度を有する移動状態が第2の所定の移動状態(ここでは自転車状態、停止状態)である場合、該移動状態を推定結果として取得する(ステップJ5)。
【0112】
次に、推定された結果が第2の所定の移動状態でない場合、マイクセンサから取得された音データを用いて算出されるパワースペクトルを用いて、HMMからなる関数を介してHMMの尤度を評価する(ステップJ6)。このとき、すでにステップJ2、J4において推定可能な状態は推定対象からは除かれている。最大の尤度を有する移動状態が第3の所定の移動状態(ここでは、自動車状態)である場合、該移動状態を推定結果として取得する(ステップJ7)。
【0113】
最後に、推定された結果が第3の所定の移動状態でない場合、位置測位システム受信機から取得された位置データを用いて算出される平均速度データを用いてHMMからなる関数を介してHMMの尤度を評価する(ステップJ8)。このとき、すでにステップJ2、J4、J6において推定可能な状態は推定対象からは除かれている。そして、最大の尤度を有する移動状態を推定結果として取得する(ステップJ9)。
最小誤差推定方式
本実施態様は、推定用パワースペクトルとの誤差が最小の代表パワースペクトルのIDを代表パワースペクトル・リスト群から所定数取得し、取得されたIDの多数決をとることにより最高頻度の移動状態を推定結果として取得してユーザの移動状態を推定するものである。HMMを用いた移動状態推定方式のように、推定用パワースペクトルにより生成される推定用シンボル列を用いて、移動状態毎に尤度の計算を行う必要はないため、計算量を低減することができる。
【0114】
以下、図13を参照して、最小誤差推定方式を用いたユーザの移動状態の推定処理フローについて説明する。まず、前述した加速度に対する学習用パワースペクトル・リストの選定方法(図4)と同様の方法で推定用パワースペクトル・リストを選定する。すなわち、ユーザの有する加速度センサから所定期間(ここでは、2秒間)にわたって推定用の加速度データを取得し、推定用加速度の時間窓データ生成する。生成された推定用加速度の時間窓データをFF変換して推定用パワースペクトルを生成する。該加速度値の生成を一定のずらし幅(例えば、0.5秒間)で繰り返し行い、推定用パワースペクトル・リストを生成する(ステップK1)。
【0115】
次に、ステップB3により得られた代表パワースペクトル群の内の各代表パワースペクトルと推定用パワースペクトルとのパターンマッチングを行う(ステップK2)。例えば、代表パワースペクトル群のそれぞれ1つの代表パワースペクトルと、推定用パワースペクトルとの周波数毎の誤差の総和を算出することによりパターンマッチングを行う。
【0116】
次に、推定用パワースペクトルに対し最近傍の代表パワースペクトルのID(ここでは、周波数毎の誤差の総和が最も小さい代表パワースペクトルのID)を選定し(K3)、ヒープメモリへ蓄積する(ステップK4)。ステップK2〜K4を推定用パワースペクトル・リストのうち各々の推定用パワースペクトルに対し繰り返し行い、選定された代表パワースペクトルIDを所定数取得して、最小誤差推定データ・ログを生成する。ここで、最小誤差推定データとは、ステップK3にて得られた推定用パワースペクトルに対し最近傍の代表パワースペクトルのIDであり、これを所定数取得したものが最小誤差推定データ・ログである。代表パワースペクトルIDは、各移動状態を代表するパワースペクトルのIDであり、選定された代表パワースペクトルIDから、所定期間における移動状態を特定することができる。
【0117】
ここで、1の推定用パワースペクトルのみを用いて移動状態を推定すると、加速度に突発的な変化が含まれる場合に推定精度が低下する。従って、過去一定数の最小誤差推定データ・ログから代表パワースペクトルのIDの多数決をとり、最高頻度の代表パワースペクトルのIDに対応する移動状態を推定結果として取得する(ステップK4)。ここで、過去一定数は、最小誤差推定方式を用いて推定可能な第1の所定の移動状態(ここでは、歩行状態、走行状態)の推定に要する時間に基づいて求められる。本実施態様においては、第1の所定の移動状態の推定に要する時間は30秒間であり、60の最小誤差推定データからなる最小誤差推定データ・ログを取得する。例えば、直近の推定用シンボルに対応する移動状態が自転車であっても、その多数決結果が「歩行状態」であると求められる場合は、推定される移動状態を「歩行状態」とする。
【0118】
本方式は、HMM推定を用いた推定のように加速度値の時間的な変化を状態遷移として扱っていないが、過去一定期間分の推定結果を用いて多数決をとることにより、携帯端末装置が身体に接触する等して生じる突発的な加速度の変化による移動状態の推定精度の低下を防ぐことができる。従って、加速度に対する1のパワースペクトルにより高精度な推定が可能な移動状態の場合、最小誤差推定方式による移動状態の推定が可能である。ここで、1のパワースペクトルにより高精度な推定が可能な移動状態の場合とは、所定期間に得られる加速度のパワースペクトルの形態の特徴が顕著であり1のパワースペクトルで高精度な推定が可能な移動状態をいい、例えば、走行状態、歩行状態をいう。また、突発的な加速度の変化の場合、短時間で元のパワースペクトルの形態に戻るため、単純な最小誤差推定方式を用いて移動状態の高精度な推定が可能である。
【0119】
しかしながら、推定用パワースペクトルの形態が、一定期間以上、他の移動状態を示すパワースペクトルの形態と類似する場合、1つの加速度に対するパワースペクトルで精度高く移動状態を推定することは困難である。この場合、以下の加速度センサを用いたHMM推定による移動状態推定を行うことで更に推定精度を高めることができる。
加速度センサを用いたHMM推定方式
最小誤差推定方式により推定された移動状態が第1の所定の移動状態ではない場合、加速度センサを用いたHMM推定を行う。加速度センサを用いたHMM推定方式は図3に示される処理フローに従って行われる。これにより、所定時間毎(ここでは、2秒間)に最も尤度の高いHMMに該当する移動状態を特定し、加速度に対する推定データを得る。ここで推定データとは、HMMからなる関数を介してHMMの尤度を評価し、最大の尤度を有するHMMを特定し、該HMMに対応する移動状態を示すIDのことであり、推定データ・ログとは、単位時間(例えば、3秒間)に取得された推定データのログのことである。本実施態様では、ずらし幅を0.5秒に設定しており3秒間で6の推定データからなる推定データ・ログが得られる。
【0120】
加速度に突発的な変化が含まれる場合、1つ推定データから移動状態を推定すると突発的な状態の変化により推定精度が低下する。従って、過去一定数の加速度に対する推定データ・ログから推定データの多数決をとり、最高頻度の代表パワースペクトルのIDに対応する移動状態を特定する。特定された移動状態が第2の所定の移動状態(例えば、自転車状態、停止状態)である場合には、該特定結果を推定された移動状態とする。
【0121】
HMM推定方式は、HMMからなる関数を介して、移動状態の状態遷移からユーザの移動状態を推定するものであるため、加速度値による推定用パワースペクトルの形態と他の移動状態における代表パワースペクトルの形態とが類似する一定の期間が存在しても、移動状態の推定精度を高めることが可能である。
マイクセンサを用いたHMM推定方式
加速度センサを用いたHMM推定方式により推定された移動状態が第2の所定の移動状態ではない場合、マイクセンサを用いてHMM推定を行う。例えば、歩行状態、走行状態、停止状態、自転車状態においてはユーザの置かれた環境に応じて、音に対するパワースペクトルの形態に多様な時系列変化が表れる。音に対するパワースペクトルの形態が、環境に応じて多様な時系列変化を有する場合、移動状態毎に得られる音に対するパワースペクトルの時系列変化よりも、その環境に応じたパワースペクトルの時系列変化が顕著に表れると、ユーザの移動状態をHMMを介して推定することが困難な場合がある。例えば、歩行状態と、走行状態では、ユーザの置かれた環境に応じて音に対するパワースペクトルの形態に多様な変化が表れるが、いずれの移動状態も、そのパワースペクトルの形態の時系列変化が類似する場合、移動状態の推定は困難になる。従って、マイクセンサのみを用いて移動状態を推定することが困難な移動状態がある。一方、例えば、電車状態、バス状態、自動車状態においては、ユーザの置かれた環境に応じた音に対するパワースペクトルの形態の時系列変化が、移動状態毎に顕著に表れる。従って、電車状態、バス状態、自動車状態については、音データからパワースペクトルを算出し、その時系列変化に着目することにより移動状態を推定することが可能である。
【0122】
本実施態様では、加速度センサを用いたHMM推定によって十分高精度に移動状態を推定することができない第2の所定の移動状態(例えば、電車状態、バス状態、自動車状態)について、マイクセンサを用いたHMM推定を行う。マイクセンサを用いたHMM推定において、HMM推定処理(図3)及びHMM学習処理(図6)は前述した処理フローに従って行われるが、マイクセンサから得た音データをシンボル化する処理が異なる。以下、図14を参照して推定用音データをシンボル化する処理フローについて説明する。なお、学習用音データも同様の処理によりシンボル化される。
【0123】
まず、ユーザの有するマイクセンサから音データを所定期間(例えば、9秒間)毎に一定期間(例えば、300msec)連続的に取得し、音データの時間窓データを生成し、その結果をヒープメモリへ蓄積する(ステップL1)。ここで、例えばマイクセンサのサンプリングレートを24KHzとすると、音データの時間窓データは、300ミリ秒で7200個の音データからなる。一定期間とは、音データをFF変換した場合に、FF変換されたパワースペクトルに各移動状態の特徴が表れる最短の期間である。当該期間は短い方がCPUの計算負荷を低減させ望ましいが、短すぎるとパワースペクトルに各移動状態の特徴が表れないため、一定の時間幅を有した期間が必要となる。また、所定期間とは取得される音データに一定の変化が表れる最短の期間である。所定期間は、短すぎると音データに一定の変化が表れず、長すぎると処理負荷が大きくなるだけでなく、音データの時間的な変化情報がFF変換によって消失する可能性があるため、一定の期間を要する。
【0124】
次に、時間窓を所定期間ずらして、取得された音データの時間窓データを生成するステップを繰り返し行い、音データの時間窓データの束を生成する。生成された時間窓データの束のそれぞれにつき音データの時間窓データをFF変換し、音データの推定用パワースペクトル・リストを生成する(ステップL2)。次に、移動状態に応じた特徴が音データのパワースペクトルに表れる帯域(ここでは、100から1500Hz)に着目して、一定の周波数(ここでは、100Hz)毎に推定用パワースペクトルの振幅の平均値を算出する(ステップL3)。なお、音データから得られたパワースペクトルの場合、狭小な周波数幅(例えば、1Hz)ではパワースペクトルに特徴が表れないため、一定の周波数毎にパワースペクトルの振幅の平均値を算出する。
【0125】
そして、算出された複数(ここでは、14個)の推定用パワースペクトルの振幅の平均値からなるベクトルを推定用ベクトルとし、該推定用ベクトルの生成を推定用パワースペクトル・リストの推定用パワースペクトル毎に行い、推定用ベクトル・リストを生成する(ステップL4)。
【0126】
次に、ステップL2により生成された推定用ベクトルと、代表ベクトル・リスト群のそれぞれ1の代表ベクトルとを比較し、推定用ベクトルに対し最近傍の代表ベクトルのIDを選定し、ヒープメモリへ蓄積する(ステップL5)。そして、上記蓄積処理を推定用ベクトル・リストの各推定用ベクトルについて行い、選定された代表ベクトルのIDを推定用シンボル列へ順次蓄積して推定用シンボル列を生成する(ステップL6)。ここで、代表ベクトル・リスト群とは、ある特定の移動状態における参照状態の音データを一定期間取得することにより生成された学習用音データを用いて、図5の処理フローに従って移動状態毎に選定される代表ベクトル・リストからなる群である。また、推定用音データのシンボル化とは、上述したステップL1からL5までの一連の処理をいう。
【0127】
次に、シンボル化により得られた音データの推定用シンボル列を用いて、各HMMに対する評価値を計算し(ステップL7)、最高尤度を有するHMMに該当する移動状態を特定し、推定結果を得る(ステップL8)。推定された結果が、第3の移動状態である場合には、該結果を推定された移動状態とする。本方式により、加速度に対する推定用パワースペクトルの形態と、他の移動状態のパワースペクトルの形態とが類似する時間帯の長い移動状態(例えば、自動車状態、バス状態、電車状態)において、マイクセンサから得られる音データを用いることにより、第3の所定の移動状態(ここでは、自動車状態)の音に対するパワースペクトルの時系列変化に特徴的な差を得ることができ、推定精度の向上を図ることができる。
位置測位システムを用いたHMM推定方式
マイクセンサを用いたHMM推定を用いることにより、バス状態及び電車状態においても概ね推定精度の向上が期待できる。しかしながら、例えば、電車内が混雑している場合等、マイクセンサから得られる環境雑音の音量が全体的に小さくなる等すると、バス状態と電車状態における音のパワースペクトルの形態とが類似することがあり、マイクセンサを用いた高精度な移動状態の推定が困難となる。従って、位置測位システムを用いた位置データに対するHMM推定を行うことにより、推定精度の向上を図る。位置測位システムには、GPS(全地球位置測位システム)等のシステムがある。GPSは、地球低軌道にある衛星を用いて地球上のユーザの位置を決定するシステムである。DGPS(差分全地球位置測位システム)は、GPS受信機により受信された位置と真の位置からその誤差を用いて修正することにより、GPSを利用した測位精度を向上させるシステムである。AGPS(支援全地球位置測位システム)は、ネットワーク上のサーバが位置算出を行い、GPS受信機に組み込まれる処理能力を低減し、高速な処理を可能にするシステムである。
【0128】
本実施態様においては、GPSによる位置測位システム受信機により得られた位置データを用いてHMM推定を行う。ここで、GPSを用いた場合、屋内などGPSによる測位不可能な環境においては移動状態の推定が困難であり、また数mから100m前後の測位誤差が発生するため、例えば停止状態、歩行状態、走行状態等、所定の期間における移動距離が測位誤差の範囲内となる移動状態の推定は困難である。しかしながら、例えば、自動車状態、バス状態、電車状態等のように高速移動の場合測位誤差による影響が少なく、特徴的な加減速を行う移動状態については定期的な測位結果から平均速度を算出し、その時系列変化に着目することにより移動状態の推定が可能である。
【0129】
位置測位システムを用いたHMM推定において、HMM推定処理(図3)及びHMM学習処理(図6)は前述した処理フローに従って行われるが、位置測位システムの受信機から得た速度データをシンボル化する一連の処理が異なる。以下、図15を参照して推定用速度データをシンボル化する処理フローについて説明する。なお、学習用速度データも同様の処理によりシンボル化される。
【0130】
まず、ユーザの有する位置測位システム受信機から経度、緯度からなる位置データを所定期間(例えば、20秒間)毎に取得し(ステップM1)、その結果をヒープメモリへ蓄積する。ここで、当該所定期間は、GPSの測位誤差が数mから100m程度生じるため、短すぎると平均速度の測定精度が上がらないため、一方、長すぎると速度の時系列変化の情報が消失してしまうため、一定の期間を要する。
【0131】
次に、メモリへ蓄積された位置データのうちn番目の位置データを第nの位置データとして順次特定する。ここで、nは1からNの整数である。そして、第n番目の位置データと第n+1番目の位置データとの距離、及び該2地点間の移動に要した時間から、2地点間の移動に要した平均速度データを生成する(ステップM2)。そして、該平均速度データの生成を、位置データを特定した順に少なくとも2回以上行い、平均速度データ・リストを生成する。
【0132】
次に、ステップM2により算出された平均速度データを一定の単位毎(例えば、10km/h)に量子化し、推定用速度データを生成する(ステップM3)。ここで、平均速度データの量子化は、HMM推定による計算量を削減するために行う。該推定用速度データの生成を平均速度データ・リストの平均速度データ毎に行い、推定用速度データからなる推定用速度データ・リストを生成する(ステップM4)。なお、推定用速度データ・リストの生成は、ステップM2により得られた平均速度データを移動平均することにより求めても良い。移動平均とは、時系列データを平滑化する手法である。具体的には、まず、平均速度データから平均速度データ・リストを生成する。次に、生成された平均速度データ・リストのうち第n番目から第n+m番目の第2の平均速度データを用いて、m個の平均速度データの平均値を算出する。そして、当該平均値を算出するステップを、位置データを特定した特定順に少なくとも2回以上繰り返し、平均速度データ・リストが生成される。ここでmは1からMの整数であり、MはNより小さい値である。
【0133】
次に、生成された推定用速度データと、代表速度データ・リスト群のそれぞれ1の代表速度データとを比較し、推定用速度データに対し最近傍の代表速度データのIDを選定し、ヒープメモリへ蓄積する(ステップM5)。そして上記蓄積処理を推定用速度データ・リストのうち各推定用速度データについて行い、選定された代表速度データのIDを推定用シンボル列へ順次蓄積して推定用シンボル列を生成する(ステップM6)。ここで、代表速度データ・リスト群とは、ある特定の移動状態における参照状態の位置データを一定期間取得することにより生成された学習用速度データを用いて、図5の処理フローに従って、移動状態毎に選定される代表速度データ・リストからなる群である。また、推定用速度データのシンボル化とは、上述したステップM1からM5までの一連の処理をいう。
【0134】
次に、シンボル化により得られた速度データの推定用シンボル列を用いて、各HMMに対する評価値を計算し(ステップM7)、最高尤度を有するHMMに該当する移動状態を特定し、推定結果を得て(ステップM8)、該結果を推定された移動状態とする。本方法により、音に対するパワースペクトルの形態と、他の移動状態の音に対するパワースペクトルの形態とが類似する時間帯の長い移動状態(ここでは、電車状態、及びバス状態)において、位置測位システム受信機から得られる平均速度データを用いることにより、それぞれ移動速度に対する速度データの時系列変化に特徴的な差を得ることができ、推定精度の向上を図ることができる。
【図面の簡単な説明】
【0135】
【図1】本発明の一実施態様におけるシステム構成図である。
【図2】学習用モデル作成処理のフロー図である。
【図3】移動状態の推定処理のフロー図である。
【図4】学習用パワースペクトル・リストの生成処理のフロー図である。
【図5】代表パワースペクトル・リストの選出処理のフロー図である。
【図6】HMMの学習処理のフロー図である。
【図7】可変長シンボル列を用いた多段推定方式による処理フロー図である。
【図8】移動状態の移動状態スキーマ図である。
【図9】推定データ・ログを用いた多数決推定処理のフロー図である。
【図10】推定データ・ログの取得処理のフロー図である。
【図11】本発明の一実施態様におけるシステム構成図である
【図12】複数種類の外部環境情報を用いた移動状態推定方式による処理フロー図である。
【図13】最小誤差推定方式を用いたユーザの移動状態の推定処理フロー図である
【図14】マイクセンサを用いた移動状態の推定処理フロー図である
【図15】位置測位システムを用いた移動状態の推定処理フロー図である。
【発明の属する技術分野】
【0001】
本発明は、ユーザの移動状態を推定する方法及びシステムに関し、特には、ユビキタス環境下におけるユーザの移動状態を携帯端末装置を用いて自動的に推定する方法及びシステムに関する。
【背景技術】
【0002】
近年、ユーザの移動状態を検出し、あるいはユーザの移動状態を正確に自動認識・識別する必要性が生じており、ユーザの移動状態の推定に関する技術が種々提案されている。しかしながら、従来、ユーザの一定の状態、例えば停止している状態、自動車、バス、電車に乗っている状態等を識別することは、ユーザからの情報を長時間にわたって測定しても移動状態の推定精度は低かった。特に、自動車、バス、電車に乗っている状態を推定することは困難であった。従来、ユーザの移動状態を推定する際には、ユーザが有する加速度センサから得られるデータを用いて一定時間毎に1つのパワースペクトルを選定し、当該選定されたパワースペクトルと、代表パワースペクトルとを比較して移動状態を推定していた。従って、選定された1つのパワースペクトルは時系列変化を含まず、突発的に加速度センサの変化が起こると、正しくユーザの状態を推定することができない場合があった。このため、従来のパワースペクトルのパターンマッチングでは突発的なノイズや振動パターンのぶれに対応することは困難であり、移動状態の推定精度の低下を招き、または長時間の時間窓の測定が必要であった。
【0003】
また、従来のシステムでは、加速度センサから得られるデータ群から代表パワースペクトル群を選定する際、加速度データ群から手作業で、または単純にしきい値判定のみにより選定されていた。従って、手作業で、または単純なしきい値判定のみによる代表パワースペクトルの選定は、1つの代表パワースペクトルのみを選定することと同義であり、学習状況に応じた代表パワースペクトルの動的な設定はなされない。
【0004】
また、従来のシステムでは、時系列変化を含まない1つの推定用パワースペクトルと、代表パワースペクトルとを比較してユーザの状態を推定していた。しかし、ユーザの移動状態を推定するために用いるパワースペクトルの形態はユーザ個々によって異なるし、また同じユーザであっても時系列で変化する。従って、ユーザの推定用パワースペクトルが突発的な変化を含む場合は、ユーザの移動状態を正しく推定することはできなかった。
【0005】
さらに、非特許文献1においては、身体の複数箇所に加速度センサを装着し、「座る」「立つ」「歩く」「階段を上る」「階段を下る」「握手」「黒板への書き込み」「キーボードのタイピング」などの動作推定を行っている。非特許文献2においては両手首、両足首、腿の5箇所に加速度センサを装着し20種類の動作推定を行っている。非特許文献3においては、携帯端末装置に複数のセンサ情報を加えることで、「取込中」「活動中」「暇」「ノーマル」の4つの状態に分類して、着信音量をサイレントモードにするアプリケーションなどを実装している。非特許文献4においては、携帯端末装置に複数のセンサを搭載したスマートフォンの研究を行っており、加速度センサとジャイロセンサを用いて、「歩く」「走る」「座る」の状態を推定している。しかしながら、これらは様々なセンサを用いて人間の様々な動作状態を推定可能であるが、センサ装着箇所が複数必要であったり、装着方法が固定化されていたりし、様々な所持状態の存する携帯端末装置においては現実的ではない。非特許文献5においては、1つの加速度センサを用いセンサの装着状態を識別し、「歩く」「立つ」「座る」「走る」の状態を推定する手法を提案しているが、人間の活動状態だけでなく、自転車、自動車、バス等の乗車状態まで含めた移動状態推定を行うことはできなかった。
【非特許文献1】Nicky Kern, "A Model for Human Interruptability: Experimental Evaluation and Automatic Estimation fromWearable Sensors" ISWC'04, pp.158-165(2004).
【非特許文献2】Stephen S.Intille, " Acquiring In Situ Training Data for Context-Aware Ubiquitous Computing Applications" CHI 2004, ACM Press, pp.1-9(2004).
【非特許文献3】Daniel Siewiorek, "SenSay: A Context-Aware Mobile Phone" ISWC'03(2003).
【非特許文献4】Toshiki Iso, "Personal Context Extractor with Multiple Sensor on a Cell Phone" D. 2 C200525(2005).
【非特許文献5】Y. Kawahara, "A Context-Aware Content Delivery Service Using Off-the-shelf Sensors" Mobisys2004(2004).
【非特許文献6】北 研二他著、「確率的言語モデル」、1999年
【非特許文献7】L.E. Baum他著、「A maximization technique occurring in the statistical analysis of probabilistic function of markov chains」、1970年
【非特許文献8】、赤池著、「統計的検定の新しい考え方」、1979年
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、上記の問題点の解決を目的とするものであり、人の手のひらサイズに収まる携帯端末装置に搭載された加速度センサ等の外部環境情報取得装置を用いて、ユーザの移動状態を短時間で精度高く自動的に推定する方法及びシステムを提供するものである。ここで、ユーザの移動状態とは例えば、ユーザの停止、歩行、走行している状態や、ユーザが自転車、自動車、バス及び電車に乗っている状態等を指す。以下、上述した状態をそれぞれ、停止状態、歩行状態、走行状態、自転車状態、自動車状態、バス状態、電車状態と記す。なお、携帯端末装置は人の手のひらサイズに収まる大きさであっても、それよりも小さい大きさであっても良い。
【0007】
本発明は、ユーザの移動状態を推定するためのモデル群を生成し、ユーザの移動状態の時系列データを用いて各モデルに対する評価値を計算し、最も評価値の高いモデルに該当する移動状態を選定することで、ユーザの移動状態を推定することを目的とする。
【0008】
また、加速度センサを用いる場合、単に加速度センサより得られたユーザの加速度データ値をFF変換することにより求められたパワースペクトルは、加速度データの時系列変化に関する情報を有さない。本発明はパワースペクトルの時系列データを用いてユーザの移動状態を推定する。これにより、本発明における推定モデル群においては、ユーザの移動状態を示す時系列のデータを用いてユーザの移動状態推定するため、ユーザ移動状態に突発的な変化を含む場合であっても、ユーザの移動状態を正しく推定することが可能となる。
【0009】
さらに本発明は、学習用パワースペクトル群からランダムに選定されたパワースペクトルを用いて、好ましくは遺伝的アルゴリズム(以下、GA)によりパラメータを設定し、GAを用いて評価値の高い代表パワースペクトルを発見するシステムに関する。すなわち、学習用パワースペクトル群から自動的に評価値の高い代表パワースペクトルを選定する学習システム装置及び方法を提供することを目的とする。
【0010】
さらに、本発明ではユーザの移動状態を推定するために要する時間長を、所定の期間に得られる情報に従って、多段階で変更することでより短時間にユーザの移動状態を推定することでユーザの移動状態の推定に要する平均時間を短縮することを目的とする。
【0011】
さらに、本発明では、移動状態グループを有する移動状態スキーマを生成し、移動状態スキーマを用いてまずユーザの移動状態グループを識別し、次に移動状態グループに含まれるユーザの移動状態を特定することにより、より短時間でユーザの移動状態を推定することを目的とする。
【0012】
さらに、本発明では、携帯端末装置に加速度センサ、マイクセンサ、位置測位システム受信機を搭載し、これらのセンサを複合的に用いてユーザの移動状態を推定する。これにより、携帯端末装置の所持状態に依存せずにユーザの移動状態を推定可能なことを特徴とする。また、各移動状態の推定に適した方式を段階的に適用し、推定候補を絞り込むことによって計算量を低減させ短時間でユーザの移動状態を推定することを目的とする。また、各センサは一つの携帯端末装置にそれぞれ搭載可能なことを特徴とし、これにより各センサの搭載コストやユーザの装着負担を軽減することができる。
【0013】
以上より、本発明は携帯端末装置の所持状態に依存せず、ユーザの置かれている環境に依存せず、ユーザによる操作を必要としないで自動で移動状態を推定することを特徴とする。また、比較的短期間に得られたセンサのデータを用いることで一回の推定処理にかかる負荷を低減すると共に、ユーザの移動状態の変化を短時間で検知することを特徴とする。
【課題を解決するための手段】
【0014】
本発明は、概略的には特定の参照移動状態毎にモデルを生成し、該モデルの集合であるモデル群を用いてユーザの移動状態を推定するものである。当該モデル群は、好ましくは隠れマルコフモデル(Hidden Markov Model、以下、HMM)群である。ここで、HMM群は、各参照状態における学習用のパワースペクトル・リストと、そこから選定される代表パワースペクトル群とを用いて生成される。
【0015】
本発明において、学習用パワースペクトル・リストは、携帯端末装置に搭載されたCPUがヒープメモリにアクセスして加速度センサから学習用の加速度データ・リストを取得し、取得された学習用加速度データ・リストをFF(高速フーリエ)変換することにより求められる。また、代表パワースペクトル・リストは、携帯端末装置に搭載されたCPUが、上記求められた学習用のパワースペクトル・リストからGAを用いて自動的に選定することにより求められる。
【0016】
そして、得られた学習用パワースペクトル・リストのそれぞれ1つの学習用パワースペクトルと、選定された代表パワースペクトルとをパターンマッチングし、最近傍の代表パワースペクトルのIDをシンボル列へ格納する。ここで、最近傍の代表パワースペクトルとは学習用パワースペクトルとの誤差が最も小さい代表パワースペクトルをいう。当該格納処理を、それぞれの学習用パワースペクトルについて行い、複数の代表パワースペクトルのIDが格納されたシンボル列を生成する。シンボル列に格納された代表パワースペクトルのIDを用いてHMM学習を行い、HMMを作成する。CPUにより移動状態毎に上記HMMの作成が行われ、HMM群が作成される。
【0017】
次に、ユーザの移動状態の推定は、ユーザの有する加速度センサから推定用の加速度データ・リストを取得し、取得された推定用加速度データ・リストを高速フーリエ変換(以下、FF変換)して推定用パワースペクトル・リストを取得し、得られた推定用パワースペクトル・リストのそれぞれ1つの推定用パワースペクトルと、代表パワースペクトルとをパターンマッチングし、最近傍の代表パワースペクトルのIDをシンボル列へ格納する。シンボル列に格納された代表パワースペクトルのIDを用いてHMMによりユーザの移動状態が推定される。
【0018】
本発明は少なくとも中央演算処理装置(CPU)と、メモリと、環境情報取得装置とを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上のシンボル(ID)から構成される第1のシンボル列の群を格納し、前記CPUが、前記環境情報取得装置により所定期間収集された環境情報値をシンボル化させるステップと、時間窓を一定期間ずらして前記シンボル化させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数のシンボル化された環境情報値からなる第2のシンボル列を生成するステップと、前記第1のシンボル列の群に対する前記第2のシンボル列の尤度を求めるステップと、を有し前記尤度が最大となる前記第1のシンボル列を特定することにより移動状態を推定する方法を提供する。
【0019】
また、環境情報取得装置は、加速度センサ、マイクセンサ、位置測位システム受信機のうち少なくとも1つを備える環境情報取得装置であることを特徴とする。
また、本発明は、少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群(代表パワースペクトル・リスト群)を格納し、前記CPUが、前記加速度センサにより連続的に加速度値を収集させるステップと、前記収集された連続の加速度値において、所定期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させる時間窓データ生成ステップと、時間窓を一定期間ずらして前記時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させるステップと、前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リスト(推定用パワースペクトル・リスト)を生成させるステップと、前記第1のスペクトル・リストの群に対する、前記第2のスペクトル・リストの尤度を評価するステップと、を有し、前記尤度が最大となる前記第1のスペクトル・リストを特定することにより移動状態を推定する方法を特徴とする。
【0020】
また、本発明は、少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えたマイクセンサとを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上のベクトルから構成される第1のベクトル・リストの群(代表ベクトル・リスト群)を格納し、前記CPUが、前記マイクセンサにより所定期間毎に一定期間連続的に音データを収集させ、該収集された連続の音データから構成されるスペクトルを時間窓データとして生成させる時間窓データ生成ステップと、時間窓を前記所定期間ずらして前記時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させるステップと、前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リスト(推定用ベクトル・リスト)を生成させるステップと、前記生成された第2のスペクトル・リストから一定の周波数毎に第2のスペクトルの振幅の平均値を算出し、第2のベクトル・リストを生成させるステップと、前記第1のベクトル・リストの群に対する、前記第2のベクトル・リストの尤度を求めるステップと、を有し、前記尤度が最大となる前記第1のベクトル・リストを特定することにより移動状態を推定する方法を特徴とする。
【0021】
また、本発明は少なくとも中央演算処理装置と、メモリと、位置測位システム受信機とを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上の速度データから構成される第1の速度データ・リストの群(代表速度データ・リスト群)を格納し、前記CPUが、前記位置測位システム受信機により所定期間毎に位置データを収集させメモリへ蓄積するステップと、前記メモリへ蓄積された位置データのうちn番目の位置データを第nの位置データとし、第Nの位置データまで順次特定するステップであって、nは1からNまでの整数であるステップと、第n番目の位置データと第n+1番目の位置データとを用いて、2地点間の平均速度を生成させる平均速度データ生成ステップと、前記平均速度データを生成するステップを、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均速度データから第2の速度データ・リスト(推定用速度データ・リスト)を生成させるステップと、前記第1の速度データ・リストの群に対する、前記第2の速度データ・リストの尤度を求めるステップと、を有し、前記尤度が最大となる前記第1の速度データ・リストを特定することにより移動状態を推定する方法を特徴とする。
【0022】
また、本発明において、請求項5に記載の第2の速度データ・リストを生成させるステップは、前記平均速度データを生成するステップを、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均速度データから平均速度データ・リストを生成させるステップと、前記生成された平均速度データ・リストから第n番目から第n+m番目の第2の平均速度データを用いて、m個の平均速度データの平均値を算出するステップであって、mは1からMまでの整数であってMはNより小さい値であるステップと、前記平均値を算出するステップを、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均値から第2の速度データ・リストを生成させるステップと、からなる請求項5に記載の方法を特徴とする。
【0023】
また、本発明は請求項3に記載の方法により推定された移動状態が第1または第2の所定の移動状態である場合に、該推定された移動状態を移動状態として特定する第1のステップと、請求項3に記載の方法により推定された移動状態が第1または第2の所定の移動状態でない場合に、さらに請求項4に記載の方法により移動状態を推定し、推定された移動状態が第3の所定の移動状態である場合に、該推定された移動状態を移動状態として特定する第2のステップと、請求項4に記載の方法により推定された移動状態が第3の所定の移動状態でない場合に、さらに請求項5に記載の方法により移動状態を推定し、該推定された移動状態を移動状態として特定する方法を特徴とする。
【0024】
また、本発明は少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群(代表パワースペクトル・リスト群)を格納し、前記CPUが、前記加速度センサにより連続的に加速度値を収集させるステップと、前記収集された連続の加速度値において、所定期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させる時間窓データ生成ステップと、時間窓を一定期間ずらして前記時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させるステップと、前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させるステップと、前記第1のスペクトル・リストの群のうちそれぞれ1のスペクトルと、前記第2のスペクトル・リストのうちそれぞれ1の第2のスペクトルとを比較することにより前記所定期間における前記第2のスペクトルと最近傍の第1のスペクトルを選定するステップと、を有し、前記第1のスペクトルを選定するステップを所定回数繰り返して、最高頻度の第1のスペクトル・リストを特定することにより、移動状態を推定する方法(最小誤差推定方式)を特徴とする。
【0025】
また、本発明は請求項7に記載の第1のステップにおいて、請求項8に記載の方法により推定された移動状態が第1の所定の移動状態である場合に、推定された移動状態を移動状態として特定し、請求項8に記載の方法により推定された移動状態が第1の移動状態でない場合に、請求項3に記載の方法により移動状態を推定し、推定された移動状態が第2の所定の移動状態である場合に、該推定された移動状態を移動状態として特定する、方法を特徴とする。
【0026】
また、本発明は、少なくとも中央演算処理装置と、メモリと、環境情報取得装置とを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上のシンボルから構成される第1のシンボル列の群を格納し、前記CPUが、前記環境情報取得装置により所定期間収集された環境情報値をシンボル化させ、時間窓を一定期間ずらして前記シンボル化させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数のシンボル化された環境情報値からなる第2のシンボル列を生成させ、前記第1のシンボル列の群に対する前記第2のシンボル列の尤度を求める、前記尤度が最大となる前記第1のシンボル列を特定することにより移動状態を推定するシステムに関する。
【0027】
また、環境情報取得装置は、加速度センサ、マイクセンサ、位置測位システム受信機のうち少なくとも1つを備える環境情報取得装置を特徴とする。
また、本発明は、少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群を格納し、前記CPUが、前記加速度センサにより連続的に加速度値を収集させ、前記収集された連続の加速度値において、所定の期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させ、時間窓を一定期間ずらして前記時間窓データの生成を少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させ、前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させ、前記第1のスペクトル・リストの群に対する、前記第2のスペクトル・リストの尤度を評価する、前記尤度が最大となる前記第1のスペクトル・リストを特定することにより移動状態を推定するシステムに関する。
【0028】
また、本発明は、少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えたマイクセンサとを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上のベクトルから構成される第1のベクトル・リストの群を格納し、前記CPUが、前記マイクセンサにより所定期間毎に一定期間連続的に音データを収集させ、該収集された連続の音データから構成されるスペクトルを時間窓データとして生成させ、時間窓を前記所定期間ずらして前記時間窓データの生成を少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させ、前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させ、前記生成された第2のスペクトル・リストから一定の周波数毎に第2のスペクトルの振幅の平均値を算出し、第2のベクトル・リストを生成させ、前記第1のベクトル・リストの群に対する、前記第2のベクトル・リストの尤度を求める、前記尤度が最大となる前記第1のベクトル・リストを特定することにより移動状態を推定するシステムに関する。
【0029】
また、本発明は、少なくとも中央演算処理装置と、メモリと、位置測位システム受信機とを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上の速度データから構成される第1の速度データ・リストの群を格納し、前記CPUが、前記位置測位システム受信機により所定期間毎に位置データを収集させメモリへ蓄積し、前記メモリへ蓄積した位置データのうちn番目の位置データを第nの位置データとし、第Nの位置データまで順次特定させ、ここでnは1からNまでの整数であり、第n番目の位置データと第n+1番目の位置データとを用いて、2地点間の平均速度を生成させ、前記平均速度データの生成を、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均速度データから第2の速度データ・リストを生成させ、前記第1の速度データ・リストの群に対する、前記第2の速度データ・リストの尤度を求める、前記尤度が最大となる前記第1の速度データ・リストを特定することにより移動状態を推定するシステムに関する。
【0030】
また、本発明において、請求項14に記載の第2の速度データ・リストの生成は、前記平均速度データの生成を、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均速度データから平均速度データ・リストを生成させ、前記生成された平均速度データ・リストから第n番目から第n+m番目の平均速度データを用いて、m個の平均速度データの平均値を算出させ、ここでmは1からMまでの整数であってMはNより小さい値であり、前記平均値の算出を、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均値から第2の速度データ・リストを生成させる、請求項14に記載のシステムを特徴とする。
【0031】
また、本発明は、請求項12に記載のシステムにより推定された移動状態が第1または第2の所定の移動状態である場合に、該推定された移動状態を移動状態として特定し、請求項12に記載のシステムにより推定された移動状態が第1または第2の所定の移動状態でない場合に、さらに請求項13に記載のシステムにより移動状態を推定し、推定された移動状態が第3の所定の移動状態である場合に、該推定された移動状態を移動状態として特定し、請求項13に記載のシステムにより推定された移動状態が第3の所定の移動状態でない場合に、さらに請求項14に記載のシステムにより移動状態を推定し、該推定された移動状態を移動状態として特定するシステムを特徴とする。
【0032】
また、本発明は、少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群を格納し、前記CPUが、前記加速度センサにより連続的に加速度値を収集させ、前記収集された連続の加速度値において、所定の期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させ、時間窓を一定期間ずらして前記時間窓データの生成を少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させ、前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させ、前記第1のスペクトル・リストの群のうちそれぞれ1のスペクトルと、前記第2のスペクトル・リストのうちそれぞれ1の第2のスペクトルとを比較することにより前記所定期間における前記第2のスペクトルと最近傍の第1のスペクトルを選定する、前記第1のスペクトルの選定を所定回数繰り返して、最高頻度の第1のスペクトル・リストを特定することにより、移動状態を推定するシステムに関する。
【0033】
また、本発明において、請求項16に記載の推定された移動状態が第1または第2の所定の移動状態である場合に、前記移動状態の特定は、請求項17に記載のシステムにより推定された移動状態が第1の所定の移動状態である場合に、推定された移動状態を移動状態として特定し、請求項17に記載のシステムにより推定された移動状態が第1の移動状態でない場合に、請求項12に記載のシステムにより移動状態を推定し、推定された移動状態が第2の所定の移動状態である場合に、該推定された移動状態を移動状態として特定することにより行われるシステムを特徴とする。
【0034】
また、本発明は、少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定する方法に関し、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群(代表パワースペクトル・リスト群)を格納し、CPUが、加速度センサにより連続的に加速度値を収集させるステップと、収集された連続の加速度値において、所定期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させる時間窓データ生成ステップと、時間窓を一定期間ずらして時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させるステップと、生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リスト(推定用パワースペクトル・リスト)を生成させるステップと、第1のスペクトル・リストの群に対する、前記第2のスペクトル・リストの尤度を評価するステップと、を有し、前記尤度が最大となる前記第1のスペクトル・リストを特定することにより移動状態を推定する方法を特徴とする。
【0035】
また、前記方法において尤度を評価するステップは、CPUにより、第1のスペクトル・リストの群に対して、前記第2のスペクトル・リストを比較適合して、前記第1のスペクトル・リストを構成するスペクトルのうち、前記第2のスペクトル・リストを構成するスペクトルに対して最近傍のスペクトルを各々選択させ、各々選択された第1のスペクトルの集合(シンボル列)をHMMからなる関数を介して、前記HMMの尤度を移動状態毎に評価する方法を特徴とする。
【0036】
また、前記方法において、第1のスペクトル・リストは、CPUが、加速度センサによって連続的に学習用の加速度値を収集させるステップと、収集された連続の学習用の加速度値において、所定期間の前記連続の学習用の加速度値のデータから構成される学習用のスペクトルを学習用の時間窓データとして生成させる学習用時間窓データ生成ステップと、時間窓を一定期間ずらして学習用時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の学習用時間窓データから学習用データ・リストを生成させるステップと、生成された学習用データ・リストを高速フーリエ変換させ、学習用パワースペクトル・リストを生成させるステップと、学習用パワースペクトル・リストに対して遺伝的アルゴリズムを適用し、評価値を計算するステップとを有し、計算された評価値が最も高いリストを第1のスペクトル・リストとすることにより決定されることを特徴とする、請求項19または20に記載の方法を特徴とする。
【0037】
また、請求項20に記載のHMMの尤度を評価するステップにおいて、前記CPUがさらに、前記各々選択された第1のスペクトルの集合を、所定の時間幅で前記HMMからなる関数を介して、前記HMMの尤度を移動状態毎に評価することを含む、方法が提供される。
【0038】
また、本発明において、請求項19に記載した各ステップに加えて、前記CPUがさらに、請求項22に記載の前記HMMの尤度を移動状態毎に評価する第1のステップと、前記尤度が最大である移動状態を特定する第2のステップと、を有し、前記所定の時間幅において得られた最大の尤度に対応するHMMが所定の移動状態でない場合に、前記所定の時間幅より長い所定の時間幅で、前記第1のステップと前記第2のステップとを繰り返して移動状態を順次特定することにより移動状態を推定することを特徴とする請求項20に記載の方法(多段推定方式)を提供する。
【0039】
また、請求項19に記載の加速度値を収集させるステップは、前記CPUがさらに
前記加速度センサにより連続的に単位時間あたりの加速度値を収集させるステップと、を有し、前記尤度が最大となる前記第1のスペクトル・リストを特定することにより推定された移動状態を単位時間あたりの推定データとしてメモリへ蓄積することを特徴とする、請求項19に記載の移動状態を推定する方法であることを特徴とする。
【0040】
また、別の態様において請求項24に記載の方法であって、推定された移動状態と該推定された移動状態と間違える頻度の高い移動状態とを同一グループとしたデータ構造(移動状態スキーマ)は、それぞれ1または複数の移動状態を含む1または複数の移動状態グループを含み、該移動状態グループは1の基本の移動状態を含むデータ構造を用いて移動状態を推定する方法であって、前記CPUが、前記単位時間あたりの推定データを前記メモリから読み出すステップと、前記単位時間あたりの推定データを用いて前記データ構造の移動状態グループの種別を識別するステップと、前記単位時間あたりの推定データを所定期間取得し推定データ・ログを生成するステップと、前記推定データ・ログを用いて、多数決推定方式により前記移動状態グループに包含される1の移動状態を推定するステップと、を有する、移動状態を推定する方法を提供する。
【0041】
また、前記単位時間は前記データ構造の移動状態グループの種別を識別するために要する所定数の推定データの取得に要する時間である、請求項25に記載の方法を特徴とする
また、別の態様において、請求項25に記載の推定データ・ログを用いて多数決推定方式で移動状態を推定するステップは、前記推定データ・ログに含まれる最高頻度の移動状態が前記識別された移動状態グループの種別に属する場合は、該最高頻度の移動状態を推定される移動状態として特定し、前記推定データ・ログに含まれる最高頻度の移動状態が前記識別された移動状態グループの種別に属さない場合は、前記識別された移動状態グループの基本の移動状態を推定される移動状態として特定することにより、移動状態を推定することを特徴とする請求項25または26に記載の方法を提供する。
【0042】
また、本発明は少なくともCPUと、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群を格納し、CPUが、前記加速度センサにより連続的に加速度値を収集させ、前記収集された連続の加速度値において、所定期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させ、時間窓を一定期間ずらして前記時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させ、前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させ、前記第1のスペクトル・リストの群に対する、前記第2のスペクトル・リストの尤度を評価する、前記尤度が最大となる前記第1のスペクトル・リストを特定することにより移動状態を推定するシステムを特徴とする。
【0043】
また、前記システムにおいて、前記尤度の評価は、CPUにより、前記第1のスペクトル・リストの群に対して、前記第2のスペクトル・リストを比較適合して、前記第1のスペクトル・リストを構成するスペクトルのうち、前記第2のスペクトル・リストを構成するスペクトルに対して最近傍のスペクトルを各々選択させ、前記各々選択された第1のスペクトルの集合をHMMからなる関数を介して、前記HMMの尤度を移動状態毎に評価することを特徴とする請求項28に記載のシステムを特徴とする。
【0044】
また、前記システムにおいて、前記第1のスペクトル・リストは、前記CPUが、前記加速度センサによって連続的に学習用の加速度値を収集させ、前記収集された連続の学習用の加速度値において、所定期間の前記連続の学習用の加速度値のデータから構成される学習用のスペクトルを学習用の時間窓データとして生成させ、時間窓を一定期間ずらして前記学習用時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の学習用時間窓データから学習用データ・リストを生成させ、前記生成された学習用データ・リストを高速フーリエ変換させ、学習用パワースペクトル・リストを生成させ、前記学習用パワースペクトル・リストに対して遺伝的アルゴリズムを適用し、評価値を計算し、前記計算された評価値が最も高いリストを第1のスペクトル・リストとすることにより決定することを特徴とする請求項28または29に記載のシステムを特徴とする。
【0045】
また、請求項29に記載のHMMの尤度の評価において、前記CPUがさらに、前記各々選択された第1のスペクトルの集合を、所定の時間幅で前記HMMからなる関数を介して、前記HMMの尤度を移動状態毎に評価することを含む、システムが提供される。
【0046】
また、本発明において、請求項28に記載した前記CPUがさらに、請求項31に記載の前記HMMの尤度を移動状態毎に評価する第1のステップと、前記尤度が最大である移動状態を特定する第2のステップと、を有し、前記所定の時間幅において得られた最大の尤度に対応するHMMが所定の移動状態でない場合に、前記所定の時間幅より長い所定の時間幅で、前記第1のステップと前記第2のステップとを繰り返して移動状態を順次特定することにより移動状態を推定することを特徴とする請求項29に記載のシステムを提供する。
【0047】
また、請求項28に記載の加速度値の収集は、前記CPUがさらに、前記加速度センサにより連続的に単位時間あたりの加速度値を収集させ、前記尤度が最大となる前記第1のスペクトル・リストを特定することにより推定された移動状態を単位時間あたりの推定データとしてメモリへ蓄積することを特徴とする、請求項28に記載の移動状態を推定するシステムであることを特徴とする。
【0048】
また、別の態様において、請求項33に記載のシステムは、推定された移動状態と該推定された移動状態と間違える頻度の高い移動状態とを同一グループとしたデータ構造は、それぞれ1または複数の移動状態を含む1または複数の移動状態グループを含み、該移動状態グループは1の基本の移動状態を含むデータ構造を用いた移動状態の推定であって、前記CPUが、前記単位時間あたりの推定データを前記メモリから読み出し、前記単位時間あたりの推定データを用いて前記データ構造の移動状態グループの種別を識別し、前記単位時間あたりの推定データを所定期間取得し推定データ・ログを生成させ、前記推定データ・ログを用いて、多数決推定方式により前記移動状態グループに包含される1の移動状態を推定すること、を含む、移動状態を推定するシステムを特徴とする。
【0049】
また、前記単位時間は前記データ構造の移動状態グループの種別を識別するために要する所定数の推定データの取得に要する時間である、請求項34に記載のシステムを特徴とする。
【0050】
また、別の態様において、請求項33に記載の推定データ・ログを用いた多数決推定方式の移動状態の推定は、前記推定データ・ログに含まれる最高頻度の移動状態が前記識別された移動状態グループの種別に属する場合は、該最高頻度の移動状態を推定される移動状態として特定し、前記推定データ・ログに含まれる最高頻度の移動状態が前記識別された移動状態グループの種別に属さない場合は、前記識別された移動状態グループの基本の移動状態を推定される移動状態として特定することにより、移動状態を推定することを特徴とする請求項34または35に記載のシステムを提供する。
【発明を実施するための最良の形態】
【0051】
図1は本発明の一態様によるユーザ移動状態推定方式のシステム構成を示した図である。ユーザ移動状態推定方式は、例えば人の手のひらに収まる携帯端末装置に搭載され、携帯端末装置(A1)は少なくとも加速度センサ(A50)、メモリ、中央演算装置(CPU)(A10)、バッテリ(A60)を含む。メモリにはヒープメモリ(A20)、Flashメモリ(A30)があっても良い。各コンポーネントはバッテリにより駆動される。ここで、加速度センサは、加速度データを取得し、センサ内のメモリ空間へ加速度データを格納する。CPUは例えば、プログラムをFlashメモリからロードして、ヒープメモリへ格納するよう命令する。Flashメモリは例えば、データ取得関数等のプログラムを格納する。ヒープメモリは例えば、Flashメモリに格納されているプログラムを一時的に格納する。
【0052】
本発明は、特定の参照状態にて取得された学習用加速度データ・リストから、HMMを作成し、移動状態毎に作成されたHMMを用いて、ユーザの移動状態を推定するものである。
【0053】
図2は、学習用モデル作成処理のフロー図である。特定の参照状態における学習用加速度データを取得し、FF変換により学習用パワースペクトル・リストを生成する(B1)。より詳細には、CPUが、あらかじめ、学習用モデル作成関数(FF変換関数,代表パワースペクトル群選定関数、パターンマッチング関数、シンボル列生成関数、HMM学習処理関数で構成)をFlashメモリから読み込み、ヒープメモリ上にロードする。学習用モデル作成関数内の、FF変換関数により、CPUが学習用パワースペクトル・リストを計算し、算出結果をヒープメモリに蓄積する。
【0054】
次に、生成された学習用パワースペクトル・リストから代表パワースペクトル・リストを選定する(B2)。より詳細には、学習用モデル作成関数内の、代表パワースペクトル・リスト選定関数により、CPUが代表パワースペクトル・リストを選定し、選定結果をFlashメモリ内に書き込む。ステップB1とB2とを移動状態毎に繰り返して行い、代表パワースペクトル群を生成する(B3)。
【0055】
次に、学習用モデル作成関数内の、パターンマッチング関数により、生成された代表パワースペクトル群の内の各代表パワースペクトルと、学習用パワースペクトルとをそれぞれパターンマッチングする(B4)。
【0056】
そして、最近傍の代表パワースペクトルのIDをそれぞれ学習用シンボルとしてヒープメモリへ蓄積し、シンボル列生成関数により、CPUが学習用シンボル列を生成しヒープメモリへ格納する(B5)。
【0057】
HMM学習関数により、CPUがヒープメモリから学習用シンボル列へ読み込み、HMM学習を行い(B6)、HMM学習結果(確率表)を作成し、Flashメモリへ書き込み、HMMを作成する(B7)。以上のB1からB6のステップを学習対象の移動状態毎に行い、HMM群を生成する。
ユーザの移動状態の推定
図3は、ユーザの移動状態の推定処理のフロー図である。ユーザの有する加速度センサから加速度データを取得し、FF変換により推定用パワースペクトル・リストを生成する(C1)。より詳細には、CPUが、あらかじめ、移動状態推定関数(FF変換関数,パターンマッチング関数、シンボル列生成関数、HMM推定関数)をFlashメモリから読み込み、ヒープメモリ上にロードする。そして、FF変換関数により、CPUがヒープメモリから推定用加速度データを読み込み、推定用パワースペクトル・リストを計算し、算出結果をヒープメモリに蓄積する。
【0058】
そして、ステップB3より得られた代表パワースペクトル群のそれぞれ1つの代表パワースペクトルと、推定用パワースペクトルとをパターンマッチング関数によりそれぞれパターンマッチングする(C2)。
【0059】
次に、推定用パワースペクトルに対し最近傍の代表パワースペクトルIDを選定し(ステップC3)、ヒープメモリへ蓄積する。例えばCPUによる演算により、ずらし幅を0.5秒とすると、0.5秒に1つの代表パワースペクトルのIDが蓄積される。そして、CPUは上記蓄積処理を、推定用パワースペクトル・リストの各推定用パワースペクトルについて行う。ここで、加速度データのシンボル化とはステップC1からC3の一連の処理をいう。
【0060】
次に、シンボル列生成関数により、CPUが選定された代表パワースペクトルIDをヒープメモリから読み込み、推定用シンボル列へ順次蓄積して推定用シンボル列を生成する(C4)。
【0061】
次に、生成された推定用シンボル列を用いて、HMMからなる関数を介してHMM推定を行う。ユーザの移動状態の推定は、推定用シンボル列に格納された代表パワースペクトルIDを各移動状態のHMMへ入力し、それぞれのHMMに対する尤度を求める。求められた尤度の内、最高尤度を有するHMMに該当する移動状態種別を特定することにより、移動状態を推定する(HMM推定)。具体的には、HMM推定関数により、CPUが、ヒープメモリから推定用シンボル列にあるシンボル(代表パワースペクトルのID)を順次時系列に読み込みし、各HMMに対する評価値(尤度)計算を行い(C5)、その結果をヒープメモリへ書き込む。最も尤度の高いHMMに該当する移動状態を特定し、推定結果を得る(C6)。
【0062】
従来のパターンマッチングでは、時系列変化を含まない1つの推定用パワースペクトルと代表パワースペクトルとを比較し、最近傍の代表パワースペクトルを選定し、ユーザの移動状態を推定していた。そのため、突発的なユーザの状態変化が起きた場合、選定されたパワースペクトルにノイズが多く含まれていると、誤った移動状態を特定することとなる。従って、従来のパターンマッチングでは正確な移動状態の推定が困難であった。
【0063】
本発明では、代表パワースペクトルのID格納したシンボル列は、時系列のデータを含む。従って、時系列の複数のパワースペクトルの内、1つのパワースペクトルにノイズが含まれていたとしても、その前後のパワースペクトルの状況を考慮して移動状態が推定される。そのため、本発明は、突発的な外部環境に左右されることなく、ユーザの状態をより正確に推定することを可能とする。
【0064】
以上、パワースペクトルの時系列データを用いてユーザの移動状態を推定することにより、従来法に比較して、推定に要する時間に対する推定性能評価の性能が向上した。
以下に各ステップの詳細を個別に説明する。
学習用パワースペクトル・リストの生成
図4は学習用パワースペクトル・リストの生成処理のフロー図である。学習用パワースペクトル・リストは、HMMの学習をするために利用されるデータであり、ある特定の移動状態における参照状態のデータを一定期間取得することにより生成される。
【0065】
まず、加速度センサから参照状態の学習用加速度データ(x,y,z)を取得する(D1)。なお、ここではx,y,zは3軸上の加速度であるが、1軸、または2軸上の加速度でも良い。より詳細には、CPUは、あらかじめ、学習用パワースペクトル・リスト生成関数(加速度値算出、時間間隔判定、加速度値の時間窓データ算出関数、FF変換関数)、及び加速度センサのデバイス・ドライバをFlashメモリから読み込み、ヒープメモリ上にロードする。そして、CPUがデバイス・ドライバにより、加速度センサを起動し、計測を開始する。デバイス・ドライバは、加速度センサの測定値(学習用加速度データ)を読み出し、ヒープメモリに蓄積する。
【0066】
次に、加速度値算出関数により、CPUがヒープメモリから学習用加速度データを読み込み、CPUによる演算により学習用加速度データから加速度値α=(x2+y2+z2)1/2を生成し(D2)、ヒープメモリへ蓄積する。
【0067】
そして、加速度値の時間窓データ算出関数により、CPUは所定期間(例えば2秒間)にわたって加速度値αを生成し、加速度の学習用の時間窓データを生成し(D3)、その結果をヒープメモリへ蓄積する。ここで、例えばサンプリングレートを128Hzとすると、加速度の学習用の時間窓データは2秒間で256個の加速度値αからなる。また、サンプリングレートが256Hzの加速度センサであれば、所定期間は1秒間でも良い。
【0068】
次に、時間間隔判定関数により、CPUが前回の学習用パワースペクトル生成時刻をヒープメモリから読み出し、経過時間を計測し、閾値を超えているか判断し、閾値を超えていない場合は加速度の学習用の時間窓データを生成するステップを繰り返す(D4)。閾値を超えている場合はステップD5に移る。
【0069】
次に、CPUは、FF変換関数により、ヒープメモリから加速度の時間窓データの束(ここで、取得された時間窓データの束を時系列データ・リストという)を読み出し、それぞれの時間窓データをFF変換して学習用パワースペクトルを算出し(D5)、ヒープメモリへそれぞれ蓄積する。なお、時間窓データをFF変換して得られた学習用パワースペクトルのうち、所定の周波数帯域のスペクトル、例えば1〜10Hzのスペクトルを用いることができる。加速度の時間窓データを取得するステップを繰り返す間隔は、前記所定期間であっても良いし、それよりも長いまたは短い間隔でもよい。本実施態様においては、例えば2秒間の時間窓のずらし幅を0.5秒間に設定する。
【0070】
以上により、格納された学習用パワースペクトルのリストを学習用パワースペクトル・リストPa(例えばa=1200)とする。
代表パワースペクトル群の選定
学習用パワースペクトル・リストからの代表パワースペクトル・リストの選定は、好ましい実施態様では、GAを用いて行われる。代表パワースペクトル・リストの選定は、CPUにより学習用パワースペクトル・リストから個体群を生成し、生成された個体群のうち1の個体毎に評価値を計算し、評価値を基に各個体を評価し、世代交代を所定回数行い、評価値の高い個体を選択することにより行われる。すなわち、各個体の評価値を計算し、その評価値を基に評価値順に個体群をソートし、個体群の交叉・継承・突然変異等の操作を所定回数繰り返し、無進化状態が続く場合は、選定されている個体群の内最も高い評価値を有する個体を最適解として選定する。これら一連の処理を含むプロセスを図5に示す。尚、これら一連の処理を行うにあたって、CPUは、あらかじめFlashメモリに格納されている代表パワースペクトル選定プログラムをヒープメモリ上へロードする。そして、CPUは、代表パワースペクトル選定プログラムの命令をCPUレジスタへ登録し、プログラム処理し、得られた値をヒープメモリへ蓄積する。
【0071】
図5は、代表パワースペクトル・リストの選出処理のフロー図である。図5において、まず、初期の代表パワースペクトル・リスト(群ではない)をR(R1, R2, …Rn)(例えばn=32)とする。ここで、R1…Rnはそれぞれ選定処理にて選定される代表パワースペクトルである。また、代表パワースペクトル・リストRには初期値としてNULL値が設定されている。CPUは、あらかじめ、代表パワースペクトル選出関数(GA関数)をFlashメモリから読み込み、ヒープメモリ上にロードする。そして、CPUは、GA関数により学習用パワースペクトル・リストPa(ここでは、a=1200)からランダムにn個のパワースペクトル(遺伝子)を抽出し、本抽出処理をm回繰り返すことにより、n個の遺伝子を有する初期個体を一定数(例えばm=30)生成し、個体群lmを生成し(E1)、ヒープメモリへ蓄積する。
【0072】
次に、CPUはGA関数により、個体群lmから2つの個体をヒープメモリからランダムに読み出し、交叉させ、1つの子個体を生成する。本処理をm回繰り返し、子個体群Cmを生成し(E2)、ヒープメモリへ蓄積する。ここで、交叉とは、2つの個体から1つの個体を生成することを示し、親個体A(Ra1, Ra2, …Ran)と親個体B(Rb1, Rb2, …Rbn)から、ランダムに遺伝子を選択し、子個体C、例えば(Ra1,Rb2, …Rbn-1, Ran)を生成することをいう。
【0073】
次に、CPUはGA関数により、各親個体と各子個体の評価値を計算し(E3)、計算結果をヒープメモリへ格納する。CPUは、学習用パワースペクトル・リストPaのパワースペクトル(遺伝子)毎に、それと最近傍の代表パワースペクトル(遺伝子)を代表パワースペクトル・リストRから選定する。ここで、代表パワースペクトルは、Paを構成する学習用パワースペクトル毎に選定されるので、a個のパワースペクトルから成るパワースペクトル・リストが選定される。選定された最近傍のパワースペクトル・リストのそれぞれのパワースペクトルと、学習用パワースペクトル・リストPaのそれぞれのパワースペクトルとの間の誤差の総和の逆数を評価値として得る。ここで、例えば親個体、子個体それぞれ30個の計60個について評価値を計算する。最近傍のパワースペクトルとは、代表パワースペクトルとの間の距離(誤差)が最も小さいスペクトルをいい、距離とは周波数毎の振幅値の誤差の絶対値の総和である。
【0074】
次に、CPUはGA関数により、親個体、子個体の評価値群をヒープメモリから読み出し、最良評価値を検索し、次世代(子世代)の個体群の最良評価値が前世代(親世代)の最良評価値より進化しているか否か判定し(E4)、その結果をヒープメモリへ格納する。なお、本実施態様においては1つの最良評価値が前世代の最良評価値と比較して進化しているか否かを判定しているが、例えば、個体群全体が前世代より進化しているか否かを判定することもできる。計算された評価値が、前世代の評価値よりも大きい場合、次世代は前世代より進化していることを意味する。ここで、第一回目は、評価値に0が設定されている。
【0075】
そして、次世代の個体群が前世代より進化している場合、各個体の評価値を元に、エリート個体・生き残り個体を所定の数選定し、エリート個体、通常個体、死滅個体に分類し、世代交代を行う。世代交代では、エリート個体は、次世代にそのまま継承され、全く同じ次世代個体が生成される。一方、死滅個体は次世代に継承されず、新たな突然変異の個体が死滅個体に代わって選定される。
【0076】
より詳細には、ステップE4において次世代個体群が進化していると判断された(評価値が大きい)場合、CPUは各個体(親個体、子個体)に対して算出された評価値をヒープメモリから読み出し、上位複数個(例えば9個)の個体をエリート個体として選定し(E5)、その結果をヒープメモリへ蓄積する。選定されたエリート個体は次世代に継承される。
【0077】
そして、CPUは、評価値に比例配分したルーレットを生成し、そこからルーレット戦略により、残りの個体群の一定割合数(例えば、約8割)を選定し、そこから指定数の個体(ここでは18個)を選定し(E6)、ヒープメモリへ蓄積する。ここで選定された個体は次世代に継承される。
【0078】
次に、次世代の個体の残り(ここでは3個)は死滅個体として消滅し、代わりにCPUは突然変異個体をランダムに生成し(E7)、その結果をヒープメモリへ蓄積する。生成された突然変異個体は次世代に組み込まれる。ここで、突然変異は、CPUにより初期個体群生成(ステップE1,E2)と同様の手順で生成され、つまり学習用のパワースペクトル・リストPaよりランダムに選定される。
【0079】
そして、CPUは、ヒープメモリから、ステップE5からE7により選定・生成された個体群を読み出し、次世代の個体群(ここでは、30個)として継承し(E8)、ヒープメモリへ格納する。
【0080】
一方、ステップE4にて判定された結果、次世代の評価値が前世代の評価値と同じかまたは小さい場合、ステップE9へ移行する。これは、次世代の個体群が無進化状態であることを意味する。CPUは、無進化状態数をヒープメモリから読み出し、所定回数以上無進化状態が続いているか判定する(E9)。所定回数以上続いていなければ、無進化状態数に1を足して、結果をヒープメモリへ上書き蓄積する。そして、ステップE5からE8を所定回数、例えば本実施態様では50回(50世代分)を繰り返す。
【0081】
そして、無進化状態数が所定回数に達した場合、CPUは、最終個体群の内、最も評価値が高い個体をヒープメモリから読み出し、その遺伝子情報を代表パワースペクトル・リストRとして選定する(E10)。その結果をFlashメモリへ書き出す。
【0082】
以上、代表パワースペクトル・リストの選定処理を全ての移動状態に対して行い、代表パワースペクトル群を選定する。例えば7つの移動状態毎にそれぞれ代表パワースペクトル・リストRが選定されるとすると、各リストには32の代表パワースペクトルが選定され、計224個の代表パワースペクトルを含む代表パワースペクトル群が選定される。
学習用パワースペクトル・リストのパターンマッチング
選定された代表パワースペクトル群のうち、各々の代表パワースペクトル(ここでは、224個)に対し、個別にIDを付与する。次に、学習用パワースペクトル・リストPaに格納された時系列の学習用パワースペクトル毎に、代表パワースペクトル群の内の各代表パワースペクトルとパターンマッチングを行い、最近傍の代表パワースペクトルのIDを選定し、順次ヒープメモリへ格納し、学習用シンボル列を生成する。ここで、シンボル列とは、所定期間における代表パワースペクトルのIDを時系列に格納したデータ列である。
【0083】
以上、学習用シンボル列を生成する処理を全ての参照状態の移動状態に対して行う。
HMM学習
本発明は、HMMをユーザの移動状態の推定に用いることにより、ユーザの移動状態が大きく変動した場合でも正確にユーザの移動状態を認識できるようにするものである。HMMは、概略的には互いに遷移により接続されている状態の集合であり、いくつかの内部状態から構成され、各遷移のステップ毎に観測可能な出力を生成しながら、初期状態から最終状態まで状態を遷移するものである。HMMの詳細については、例えば北 研二著、1999年、「確率的言語モデル」に記載されている。バウムーウェルチアルゴリズムの詳細については、L.E. Baum他著、「A maximization technique occurring in the statistical analysis of probabilistic function of markov chains」に記載されている。また、AIC(赤池情報量基準)については、赤池著、「統計的検定の新しい考え方」に記載されている。
HMMの作成
図6はHMMの学習処理フローを示す。一実施態様において、HMMは、初期状態確率Xi、状態遷移確率Aij、信号出力確率Bi(k)により構成される。HMMでは、いくつかの状態iを用意し、それぞれの状態から始まる確率を初期状態確率Xi、ある状態iから各々の状態jへの遷移確率を状態遷移確率Aij、及び各々の状態iにおけるシンボルk(ここでは224個の代表スペクトルのID)の出現する確率を信号出力確率Bi(k)とする。HMMは、初期状態確率Xi、状態遷移確率Aij、記号出力確率Bi(k)の値に基づいて確率的に記号列を出力することができる。ユーザの移動状態の推定は、予め移動状態毎にHMMを用意し、各HMMが学習用シンボル列を最も高い確率で出力するようにHMMの確率表、Xi,Aij,bi(k)を学習することにより行われる。
【0084】
より詳細には、まず、HMMを構成する初期状態数と、初期状態確率Xi、状態遷移確率Aij、信号出力確率Bi(k)の初期値を適当に定める(F1)。ここで、例えば初期状態数を3とし、各確率Xi、Aij、Bi(k)の初期値はそれぞれ均等な値を設定する。
【0085】
次に、HMM学習用に生成された学習用シンボル列を用いて、CPUによる演算により初期状態確率Xi、状態遷移確率Aij、信号出力確率Bi(k)の計算を行う(F2)。
次に、ステップF2により得られた値Xi、Aij、Bi(k)を用いてHMMの尤度計算を好ましくは、前向きアルゴリズムにより行う(F3)。
【0086】
次に、得られた尤度の値が前回の尤度の値と比較して一定以上の向上があるかを判定する(F4)。得られた尤度の値に一定以上の向上がある場合、ステップF2に戻る。
尤度に一定以上の向上がない場合、AICを算出する(F5)。ここで、AICとは統計モデルの良さを評価するための指標であり、モデルの複雑さと、データとの適合度とのバランスをとるために使用されるものである。
【0087】
次に、AICの値が前回計算された値よりも一定量以上小さくなっているかを判定する(E6)。前回計算された値よりも一定量以上小さくなっている場合、HMMを構成する状態数を1つ増やし(F7)、ステップE1へ戻る。
【0088】
AICの値が前回計算された値よりも一定量以上小さくなっていない場合、初期状態確率Xi、状態遷移確率Aij、信号出力確率Bi(k)をヒープメモリへ格納し(F8)、HMM学習関数によるHMMの学習処理を終了する。これにより、特定の移動状態における学習用のシンボル列を出力する可能性の最も高い、状態数や状態遷移確率等のHMMの構成が決定される。CPUは、上記ステップF1からF8を学習対象の移動状態毎に行い、個別にHMMを構成する。従って、本実施態様では、学習対象の移動状態である停止状態、歩行状態、走行状態、自転車状態、自動車状態、バス状態及び電車状態毎にHMMが生成され、HMM群が生成される。
推定用パワースペクトル・リストの生成
ある移動状態にいるユーザの移動状態を推定するために用いる推定用パワースペクトル・リストは、学習用パワースペクトル・リストの選定と同様のプロセスにより行われる。すなわち、ある移動状態にいるユーザが有する加速度センサから所定期間(ここでは2秒間)に亘って推定用の加速度データを取得し、得られた推定用加速度データから加速度の時間窓データを生成する。
【0089】
そして、推定用加速度の時間窓データの生成を所定回数繰り返し、推定用加速度の時系列データ・リスト(推定用データ・リスト)を取得する。尚、推定用加速度の時間窓データの生成は、ユーザの移動状態を推定するために必要なデータ数が得られるまで、所定回数繰り返す。そして、CPUによる演算により、複数の推定用加速度の時間窓データはそれぞれFF変換され、複数の推定用パワースペクトルからなる推定用パワースペクトル・リストが算出される。
可変長シンボルを用いた多段推定方式
本発明の更なる態様において、ユーザの移動状態の推定は、移動状態を推定するために要するシンボル長(時間長)を、所定の期間に得られる情報に従って、多段階で変更することでより短時間にユーザの移動状態を推定すること(多段推定方式)に関する。図7は可変長シンボル列を用いた多段推定方式による処理フロー図である。本方式を適用することにより上述した推定方法に要した平均推定時間を更に短縮してユーザの移動状態を推定することが可能となる。
【0090】
詳細には、図7の処理フローを参照して、多段推定方式を用いた移動状態の推定方法について説明する。まず、CPUは、あらかじめ多段推定方式で用いるHMM推定関数をFlashメモリから読み込み、ヒープメモリ上へロードする。そして、ある移動状態にいるユーザの有する加速度センサから、ユーザの移動状態を識別するために要する第1の時間幅(例えば、3秒間)に亘る直前の過去の推定用加速度データを取得し、推定用パワースペクトル・リストに基づいて推定用シンボル列を生成する(G1)。
【0091】
次に、CPUは、HMM推定関数(図3、ステップC5)により、ヒープメモリから推定用シンボル列を読み込みし、移動状態を推定する(G2)。そして、推定結果が走行状態であるか否かを判定し(G3)、走行状態である場合、推定結果をヒープメモリに蓄積し(G4)、推定処理を終了する。ユーザの移動状態の推定に要する推定用シンボル列の長さは、ユーザの移動状態毎に異なる。従って、最短の時間(ここでは、3秒間)で推定可能なユーザの移動状態(例えば、走行状態)を最初に推定する。
【0092】
一方、ステップG3において推定結果が走行状態でないと判定された場合、ユーザの有する加速度センサから、さらにユーザの移動状態の識別に要する、第1の時間幅より長い第2の時間幅(例えば、30秒間)に亘る過去の推定用加速度データを取得し、推定用パワースペクトル・リストを生成し、推定用シンボル列を生成する(G5)。次に、CPUは、HMM推定関数により、ヒープメモリから推定用シンボル列を読み込み、移動状態の推定を行う(G6)。このとき、ステップG1からG3の処理で既に推定された移動状態(ここでは走行状態)のHMMは推定対象から除かれる。このように、多段階推定方式は、移動状態の種別によって、移動状態の識別に要するシンボル列長が異なることを利用して、多段階でユーザの移動状態を推定する。また、多段推定方式は、既に推定された移動状態のHMMを推定対象から除くことで、推定処理にかかるCPUの負荷を軽減すると共に、推定処理速度を高速化することを特徴とする。
【0093】
次に、延長されたシンボル列を用いて、ステップG3と同様にHMM推定関数により推定された結果が第2の時間幅で推定可能な移動状態(例えば、歩行状態、自転車状態)であるか否かを判定する(G7)。推定結果が歩行状態または自転車状態の場合、推定結果をヒープメモリに蓄積し(G8)、推定処理を終了する。推定結果が歩行状態または自転車状態ではない場合、ユーザの有する加速度センサから、さらにユーザの移動状態の識別に要する第2の時間幅より長い第3の時間幅(例えば、180秒間)に亘る過去の推定用加速度データを取得し、推定用パワースペクトル・リストを生成し、推定用シンボル列を生成する(G9)。本実施態様では、第3の時間幅の推定用加速度データは、例えば、停止状態、自動車状態、電車状態、バス状態の識別に必要となる。第3の時間幅とは、ここでは全ての移動状態を推定するために要する時間幅をいう。
【0094】
次に、CPUは、HMM推定関数によりヒープメモリから推定用シンボル列を読み込みし、HMM推定する(G10)。このとき、ステップG1からG6の処理で推定可能な状態(ここでは、走行状態、自転車状態、歩行状態)のHMMは推定対象から除かれる。移動状態(停止状態、自動車状態、バス状態、電車状態)が推定された場合、推定結果をヒープメモリに蓄積し(G11)、推定処理を終了する。
【0095】
このように多段推定方式では、全ての移動状態を推定することができる時間幅を最長として、推定用加速度データを用いてCPUによる演算により移動状態を推定するものである。従って、最長の時間幅より短い時間幅で推定可能な場合、そのような移動状態を先に推定(多段階推定)することにより、平均の移動状態推定に要する時間を短縮するものである。例えば、最短時間で推定可能な移動状態である走行状態の場合、僅か3秒間で推定され、他の移動状態であるかを推定することなく処理を終了するため、移動状態の推定処理に負荷を削減することができる。なお、多段推定方式では、過去の推定用加速度データを用いてユーザの移動状態を推定しており、CPUの処理能力に応じて移動状態の推定時間の短縮をさらに図ることができる。以上により、本実施態様において、本多段推定方式を用いた移動状態の推定に要する時間は、本方式を用いなかった場合と比べ約半分となった。
移動状態スキーマを用いた多数決推定方式
本発明の更なる態様は、前述した多段推定方式による推定精度を落とさずに、移動状態の推定に要する時間を更に短縮する多数決推定方式に関する。多数決推定方式においては、移動状態スキーマを用いることにより、移動状態の推定に要する処理時間を短縮し、一回の推定に必要な処理負荷を軽減することができる。
【0096】
図8は本実施態様における移動状態スキーマを示す。ここで、移動状態スキーマは、HMM推定により推定される移動状態が、ユーザの現実の移動状態と異なる場合に、その異なり易さ(間違えやすさ)から求められる。より詳細には、所定期間における推定用シンボル列を用いて移動状態を推定した結果、推定されたユーザの移動状態と、ユーザの現実の移動状態とが異なる場合がある。移動状態グループ内の各移動状態は、そのような現実の状態と推定された状態との推定誤差に着目して求められる。つまり、HMMからなる関数を用いて移動状態を推定した結果、推定された移動状態と該推定された移動状態と間違える頻度の高い移動状態とを同一グループとして、グループ化する。移動状態スキーマは、このグループ化された1または複数の移動状態グループから構成されたものである。各移動状態グループには、1または複数の移動状態を含む。
【0097】
上述したように、移動状態は、例えば、停止状態、歩行状態、走行状態、自転車状態、自動車状態、バス状態及び電車状態に分けられる。そして、各移動状態グループは1つの基本状態を有し、1または複数の基本状態の集合を基本状態グループとする。一方、各移動状態グループは、1または複数の派生状態を有する場合もあるし、派生状態を有さない場合もある。ここで、派生状態とは、必ず基本状態を経てからそこへ遷移する状態をいう。特定された基本状態以外の移動状態グループ内の移動状態は、派生状態となる。移動状態グループ内に1の移動状態しか含まれない場合は、該移動状態が基本状態となり、派生状態は存在しない。
【0098】
本実施態様においては、例えば、基本状態を歩行状態、停止状態、走行状態とする。また、歩行状態に派生する派生状態を自転車状態としこれらの状態を歩行グループ、停止状態に派生する派生状態をバス状態、電車状態、自動車状態としこれらの状態を停止グループとする。走行状態は走行グループとし、走行状態は派生状態を有しない。また、基本状態である歩行状態、停止状態、走行状態は、基本状態グループに属することとする。
【0099】
以上により、移動状態の遷移を表現した移動状態スキーマが生成される。作成された移動状態スキーマを用いることにより、ユーザの移動状態は、グループ間の識別であれば短期間で識別が可能となる。
【0100】
多数決推定方式は、推定データ・ログを用いた多数決推定処理(図9)、および推定データ・ログの取得処理(図10)により構成され、本方式による多段推定は該各処理を並列処理することにより行われる。なお、多数決推定方式において、本方式による処理に必要となるHMMを作成するため、事前にHMMからなる関数を介してHMM学習(図6)を行う。また、推定データとは、CPUによる演算により、HMMからなる関数を介してHMMの尤度を評価し、最大の尤度を有するHMMを特定し、該HMMに対応する移動状態を示すIDのことである。なお、移動状態のIDは、移動状態毎に1つずつ割り振られている。
【0101】
以下、図9を参照して推定データ・ログを用いた多数決推定処理フローについて説明する。(まず、ヒープメモリに蓄積された推定データ・ログから直前の単位時間における推定データを取得する(H1)。ここで、単位時間は、例えば移動状態グループの種別を識別するために要する、所定数の推定データの取得に要する時間である。また、推定データ・ログは、推定データを所定期間に亘って取得することにより得られる推定データのログである。なお、本実施態様においては、単位時間を3秒間とし、3秒間毎に移動状態の推定結果を推定データ・ログとして蓄積する。従って、直前の推定データとは、直近の過去3秒間分の推定データである。本実施態様では、ずらし幅を0.5秒に設定しており3秒間で6の推定データからなる推定データ・ログが得られる。
【0102】
次に、直前の推定データが、どの移動状態グループに属するかを判定する。ここでは、移動状態グループのうち最短の推定時間で移動状態を推定することができる移動状態グループ(ここでは走行グループ)であるか否かを最初に判定する(H2)。直前の推定データが走行グループに属する場合、移動状態の推定結果を走行状態とし(H3)、推定結果をヒープメモリ上へ蓄積する(H4)。なお、本実施態様においては、走行グループ内には走行状態のみが含まれることから、推定結果は走行状態として蓄積される。
【0103】
次に、直前の推定データが走行グループに属しない場合、走行状態の次に短い推定時間で移動状態を推定することが可能なグループ(ここでは歩行グループ)に直前の推定データが属するか否かを判定する(H5)。ここで、直前の推定データが歩行グループに属するか否かは、推定データが歩行グループ内の歩行状態または自転車状態であるかを判定することにより行う。歩行グループに属すると判定された場合は、過去の第1の所定期間分(例えば、過去30秒間分、10回分)の推定データを取得し、推定結果の多数決をとる(H6)。そして、多数決の結果、最高頻度の移動状態が歩行状態または自転車状態であるか否かを判定し(H7)、歩行状態または自転車状態のいずれかである場合は、当該結果(多数決結果)を推定結果とする(H8)。歩行状態または自転車状態のいずれでもない場合は、歩行状態を推定結果とする(H9)。そして、推定結果をヒープメモリ上へ蓄積する(H4)。
【0104】
ステップH5において直前の推定データが歩行グループであると判定されても、ステップH6においてさらに過去30秒間の推定データ・ログから多数決をとった結果、歩行グループとは異なるグループの移動状態(例えば、バス状態)が第1の所定期間における最高頻度の状態として得られる場合がある。この場合、異なるグループの移動状態が得られたとしても、第1の所定期間における移動状態は、歩行グループの基本状態である歩行状態であるとして推定結果を得る(H9)。移動状態スキーマ(図8)によると、バス状態は、歩行グループには属さないからである。従って、移動状態スキーマを用いることで、直前の推定データを用いて推定された移動状態と、第1の所定期間で推定された移動状態とが同一の移動状態グループに属しない場合に、第1の所定期間で推定された移動状態の推定結果を無視することで、より精度の高い推定結果を短時間で得ることができる。
【0105】
一方、ステップH4において歩行グループに属しないと判断された場合、第2の所定期間分(例えば、過去180秒間分、30回分)の推定データを取得し、推定結果の多数決をとる(H10)。そして、多数決の結果、最高頻度の移動状態が停止状態、自動車状態、またはバス状態であるか否かを判定し(H11)、停止状態、自動車状態、またはバス状態のいずれかである場合は、当該結果(多数決結果)を推定結果とする(H12)。停止状態、自動車状態、またはバス状態のいずれでもない場合は、停止状態を推定結果とする(H13)。そして、推定結果をヒープメモリ上へ蓄積する(H4)。
【0106】
次に、プロセス終了命令があるか否かを判定し(H14)、プロセス終了命令が無い場合は、次の一定時間経過するまで処理待ち(H15)した後に、ステップH1へ戻る。プロセス終了命令がある場合、プロセスは終了する。以上が移動状態スキーマを用いた多数決推定方式による移動状態推定フローである。
【0107】
次に、図10を参照して、推定データ・ログの取得処理フローについて説明する。まず、図3の処理に従って単位時間における、ある移動状態にいるユーザの移動状態をユーザの有する加速度センサから得られた推定用加速度データを用いて、HMMからなる関数を介してHMM推定する(I1)。HMM推定により尤度が最大となるHMMに該当する移動状態を特定する。該移動状態を示す移動状態のIDを推定データとし、ヒープメモリへ蓄積する(I2)。そして、次の単位時間分の加速度データを取得する(I3)。ここで、プロセス終了命令があるか否かを判断し、ない場合はステップI1へ戻り、ある場合は移動状態の推定処理を終了する。ステップI1からI3をプロセス終了命令がなされるまで繰り返し、CPUによる演算により、移動状態の推定データのログ(推定データ・ログ)が取得される。
【0108】
以上により、本多数決推定方式を用いることで、移動状態の推定に要する時間は、多段推定方式を用いた場合と比べさらに短縮された。多数決推定方式は、まず移動状態グループを識別し、次に移動状態グループ内のどの移動状態に属するかを推定する。多数決推定方式では、移動状態スキーマを用いることにより、直前の推定データを用いて推定された移動状態と、第1の所定期間で推定された移動状態とが異なる場合に、第1の所定期間で推定された移動状態の推定結果を無視する。その結果、より精度の高い推定結果を得ることができる。また、計算量を大幅に削減することができ、推定に要する処理時間を短縮することができる。
複数種類の外部環境情報を用いた移動状態推定方式
更なる実施態様は、最小誤差推定方式、及び加速度センサ、マイクセンサ、位置測位システム受信機の3種類のセンサを複合的に用いたHMM推定方式に関する。図11は本発明の一態様によるユーザ移動状態推定方式のシステム構成を示した図である。携帯端末装置(A1)は少なくとも加速度センサ(A50)、メモリ、中央演算装置(CPU)(A10)、バッテリ(A60)を含み、さらにマイクセンサ(A70)、位置測位システム受信機(A80)を含むことができる。これらの各コンポーネントは、好ましくは1つの携帯端末装置に搭載される。1つの携帯端末装置に搭載することにより、ユーザの携帯端末装置を所持する負担を軽減することができる。
【0109】
本実施態様は、各移動状態の推定に適した方式を段階的に適用し、推定される移動状態の候補を絞り込むことにより、推定精度の向上を図ると同時に計算量を低減させるものである。より詳細には、HMM推定を行わなくとも推定可能な移動状態は、計算量の少ない最小誤差推定方式によりユーザの移動状態を推定する。これによりHMMからなる関数を介したHMM推定を行わなくとも、移動状態の種別を推定可能な移動状態、例えば、走行、歩行状態においては、より簡易で計算量の少ない最小誤差推定方式を用いることにより移動状態を推定することができる。そして、最小誤差推定方式では精度の高い推定が困難な移動状態については、携帯端末装置に搭載可能な加速度センサ、マイクセンサ、位置測位システム受信機の3種類のセンサを複合的に用いてHMM推定によりユーザの移動状態を推定する。HMM推定により、センサ・データの時間的な変化を状態遷移モデルとして扱うことにより、他の移動状態と類似する時間帯が存在することによる推定精度の低下を回避することができる。また、これらのセンサを複合的に用いることにより、ある時間帯においてユーザの有する加速度センサから得られるパワースペクトルの形態が、他の移動状態のパワースペクトルの形態と類似する場合に、マイクセンサから得られる音データや位置測位システムから得られる位置データを用いてユーザの移動状態を推定し推定精度の向上を図ることができる。
【0110】
図12は、複数種類の外部環境情報を用いた移動状態の推定処理フローである。複数種類の外部環境情報とは、ユーザの置かれた環境を表す情報であり、例えば、ユーザの有する携帯端末装置を介して得られる速度変化情報、音情報、位置情報である。まず、定期的に加速度センサ、マイクセンサ、位置測位システム受信機により計測を行う(ステップJ1)。次に、加速度センサから取得された加速度値を用いて算出されるパワースペクトルにより、最小誤差推定法を用いて移動状態を推定する(ステップJ2)。最高頻度の移動状態が第1の所定の移動状態(ここでは歩行状態、走行状態)である場合、該移動状態を推定結果として取得する(ステップJ3)。なお、最小誤差推定法は、HMM推定方式に比べ少ない計算量で第1の所定の移動状態を推定する方式であり、本方法を用いずに、ステップJ4およびJ5で述べる加速度センサによるHMM推定により第1の所定の移動状態を推定することも可能である。
【0111】
次に、推定された結果が、第1の所定の移動状態でない場合、加速度センサから取得された加速度値を用いて算出されるパワースペクトルを用いて、HMMからなる関数を介してHMMの尤度を評価する(ステップJ4)。このとき、すでにステップJ2において推定される第1の所定の移動状態は推定対象からは除かれている。このように段階的に推定される移動状態を絞り込みすることにより、推定精度の向上を図ると共に、推定に要する時間の短縮を図ることができる。そして、最大の尤度を有する移動状態が第2の所定の移動状態(ここでは自転車状態、停止状態)である場合、該移動状態を推定結果として取得する(ステップJ5)。
【0112】
次に、推定された結果が第2の所定の移動状態でない場合、マイクセンサから取得された音データを用いて算出されるパワースペクトルを用いて、HMMからなる関数を介してHMMの尤度を評価する(ステップJ6)。このとき、すでにステップJ2、J4において推定可能な状態は推定対象からは除かれている。最大の尤度を有する移動状態が第3の所定の移動状態(ここでは、自動車状態)である場合、該移動状態を推定結果として取得する(ステップJ7)。
【0113】
最後に、推定された結果が第3の所定の移動状態でない場合、位置測位システム受信機から取得された位置データを用いて算出される平均速度データを用いてHMMからなる関数を介してHMMの尤度を評価する(ステップJ8)。このとき、すでにステップJ2、J4、J6において推定可能な状態は推定対象からは除かれている。そして、最大の尤度を有する移動状態を推定結果として取得する(ステップJ9)。
最小誤差推定方式
本実施態様は、推定用パワースペクトルとの誤差が最小の代表パワースペクトルのIDを代表パワースペクトル・リスト群から所定数取得し、取得されたIDの多数決をとることにより最高頻度の移動状態を推定結果として取得してユーザの移動状態を推定するものである。HMMを用いた移動状態推定方式のように、推定用パワースペクトルにより生成される推定用シンボル列を用いて、移動状態毎に尤度の計算を行う必要はないため、計算量を低減することができる。
【0114】
以下、図13を参照して、最小誤差推定方式を用いたユーザの移動状態の推定処理フローについて説明する。まず、前述した加速度に対する学習用パワースペクトル・リストの選定方法(図4)と同様の方法で推定用パワースペクトル・リストを選定する。すなわち、ユーザの有する加速度センサから所定期間(ここでは、2秒間)にわたって推定用の加速度データを取得し、推定用加速度の時間窓データ生成する。生成された推定用加速度の時間窓データをFF変換して推定用パワースペクトルを生成する。該加速度値の生成を一定のずらし幅(例えば、0.5秒間)で繰り返し行い、推定用パワースペクトル・リストを生成する(ステップK1)。
【0115】
次に、ステップB3により得られた代表パワースペクトル群の内の各代表パワースペクトルと推定用パワースペクトルとのパターンマッチングを行う(ステップK2)。例えば、代表パワースペクトル群のそれぞれ1つの代表パワースペクトルと、推定用パワースペクトルとの周波数毎の誤差の総和を算出することによりパターンマッチングを行う。
【0116】
次に、推定用パワースペクトルに対し最近傍の代表パワースペクトルのID(ここでは、周波数毎の誤差の総和が最も小さい代表パワースペクトルのID)を選定し(K3)、ヒープメモリへ蓄積する(ステップK4)。ステップK2〜K4を推定用パワースペクトル・リストのうち各々の推定用パワースペクトルに対し繰り返し行い、選定された代表パワースペクトルIDを所定数取得して、最小誤差推定データ・ログを生成する。ここで、最小誤差推定データとは、ステップK3にて得られた推定用パワースペクトルに対し最近傍の代表パワースペクトルのIDであり、これを所定数取得したものが最小誤差推定データ・ログである。代表パワースペクトルIDは、各移動状態を代表するパワースペクトルのIDであり、選定された代表パワースペクトルIDから、所定期間における移動状態を特定することができる。
【0117】
ここで、1の推定用パワースペクトルのみを用いて移動状態を推定すると、加速度に突発的な変化が含まれる場合に推定精度が低下する。従って、過去一定数の最小誤差推定データ・ログから代表パワースペクトルのIDの多数決をとり、最高頻度の代表パワースペクトルのIDに対応する移動状態を推定結果として取得する(ステップK4)。ここで、過去一定数は、最小誤差推定方式を用いて推定可能な第1の所定の移動状態(ここでは、歩行状態、走行状態)の推定に要する時間に基づいて求められる。本実施態様においては、第1の所定の移動状態の推定に要する時間は30秒間であり、60の最小誤差推定データからなる最小誤差推定データ・ログを取得する。例えば、直近の推定用シンボルに対応する移動状態が自転車であっても、その多数決結果が「歩行状態」であると求められる場合は、推定される移動状態を「歩行状態」とする。
【0118】
本方式は、HMM推定を用いた推定のように加速度値の時間的な変化を状態遷移として扱っていないが、過去一定期間分の推定結果を用いて多数決をとることにより、携帯端末装置が身体に接触する等して生じる突発的な加速度の変化による移動状態の推定精度の低下を防ぐことができる。従って、加速度に対する1のパワースペクトルにより高精度な推定が可能な移動状態の場合、最小誤差推定方式による移動状態の推定が可能である。ここで、1のパワースペクトルにより高精度な推定が可能な移動状態の場合とは、所定期間に得られる加速度のパワースペクトルの形態の特徴が顕著であり1のパワースペクトルで高精度な推定が可能な移動状態をいい、例えば、走行状態、歩行状態をいう。また、突発的な加速度の変化の場合、短時間で元のパワースペクトルの形態に戻るため、単純な最小誤差推定方式を用いて移動状態の高精度な推定が可能である。
【0119】
しかしながら、推定用パワースペクトルの形態が、一定期間以上、他の移動状態を示すパワースペクトルの形態と類似する場合、1つの加速度に対するパワースペクトルで精度高く移動状態を推定することは困難である。この場合、以下の加速度センサを用いたHMM推定による移動状態推定を行うことで更に推定精度を高めることができる。
加速度センサを用いたHMM推定方式
最小誤差推定方式により推定された移動状態が第1の所定の移動状態ではない場合、加速度センサを用いたHMM推定を行う。加速度センサを用いたHMM推定方式は図3に示される処理フローに従って行われる。これにより、所定時間毎(ここでは、2秒間)に最も尤度の高いHMMに該当する移動状態を特定し、加速度に対する推定データを得る。ここで推定データとは、HMMからなる関数を介してHMMの尤度を評価し、最大の尤度を有するHMMを特定し、該HMMに対応する移動状態を示すIDのことであり、推定データ・ログとは、単位時間(例えば、3秒間)に取得された推定データのログのことである。本実施態様では、ずらし幅を0.5秒に設定しており3秒間で6の推定データからなる推定データ・ログが得られる。
【0120】
加速度に突発的な変化が含まれる場合、1つ推定データから移動状態を推定すると突発的な状態の変化により推定精度が低下する。従って、過去一定数の加速度に対する推定データ・ログから推定データの多数決をとり、最高頻度の代表パワースペクトルのIDに対応する移動状態を特定する。特定された移動状態が第2の所定の移動状態(例えば、自転車状態、停止状態)である場合には、該特定結果を推定された移動状態とする。
【0121】
HMM推定方式は、HMMからなる関数を介して、移動状態の状態遷移からユーザの移動状態を推定するものであるため、加速度値による推定用パワースペクトルの形態と他の移動状態における代表パワースペクトルの形態とが類似する一定の期間が存在しても、移動状態の推定精度を高めることが可能である。
マイクセンサを用いたHMM推定方式
加速度センサを用いたHMM推定方式により推定された移動状態が第2の所定の移動状態ではない場合、マイクセンサを用いてHMM推定を行う。例えば、歩行状態、走行状態、停止状態、自転車状態においてはユーザの置かれた環境に応じて、音に対するパワースペクトルの形態に多様な時系列変化が表れる。音に対するパワースペクトルの形態が、環境に応じて多様な時系列変化を有する場合、移動状態毎に得られる音に対するパワースペクトルの時系列変化よりも、その環境に応じたパワースペクトルの時系列変化が顕著に表れると、ユーザの移動状態をHMMを介して推定することが困難な場合がある。例えば、歩行状態と、走行状態では、ユーザの置かれた環境に応じて音に対するパワースペクトルの形態に多様な変化が表れるが、いずれの移動状態も、そのパワースペクトルの形態の時系列変化が類似する場合、移動状態の推定は困難になる。従って、マイクセンサのみを用いて移動状態を推定することが困難な移動状態がある。一方、例えば、電車状態、バス状態、自動車状態においては、ユーザの置かれた環境に応じた音に対するパワースペクトルの形態の時系列変化が、移動状態毎に顕著に表れる。従って、電車状態、バス状態、自動車状態については、音データからパワースペクトルを算出し、その時系列変化に着目することにより移動状態を推定することが可能である。
【0122】
本実施態様では、加速度センサを用いたHMM推定によって十分高精度に移動状態を推定することができない第2の所定の移動状態(例えば、電車状態、バス状態、自動車状態)について、マイクセンサを用いたHMM推定を行う。マイクセンサを用いたHMM推定において、HMM推定処理(図3)及びHMM学習処理(図6)は前述した処理フローに従って行われるが、マイクセンサから得た音データをシンボル化する処理が異なる。以下、図14を参照して推定用音データをシンボル化する処理フローについて説明する。なお、学習用音データも同様の処理によりシンボル化される。
【0123】
まず、ユーザの有するマイクセンサから音データを所定期間(例えば、9秒間)毎に一定期間(例えば、300msec)連続的に取得し、音データの時間窓データを生成し、その結果をヒープメモリへ蓄積する(ステップL1)。ここで、例えばマイクセンサのサンプリングレートを24KHzとすると、音データの時間窓データは、300ミリ秒で7200個の音データからなる。一定期間とは、音データをFF変換した場合に、FF変換されたパワースペクトルに各移動状態の特徴が表れる最短の期間である。当該期間は短い方がCPUの計算負荷を低減させ望ましいが、短すぎるとパワースペクトルに各移動状態の特徴が表れないため、一定の時間幅を有した期間が必要となる。また、所定期間とは取得される音データに一定の変化が表れる最短の期間である。所定期間は、短すぎると音データに一定の変化が表れず、長すぎると処理負荷が大きくなるだけでなく、音データの時間的な変化情報がFF変換によって消失する可能性があるため、一定の期間を要する。
【0124】
次に、時間窓を所定期間ずらして、取得された音データの時間窓データを生成するステップを繰り返し行い、音データの時間窓データの束を生成する。生成された時間窓データの束のそれぞれにつき音データの時間窓データをFF変換し、音データの推定用パワースペクトル・リストを生成する(ステップL2)。次に、移動状態に応じた特徴が音データのパワースペクトルに表れる帯域(ここでは、100から1500Hz)に着目して、一定の周波数(ここでは、100Hz)毎に推定用パワースペクトルの振幅の平均値を算出する(ステップL3)。なお、音データから得られたパワースペクトルの場合、狭小な周波数幅(例えば、1Hz)ではパワースペクトルに特徴が表れないため、一定の周波数毎にパワースペクトルの振幅の平均値を算出する。
【0125】
そして、算出された複数(ここでは、14個)の推定用パワースペクトルの振幅の平均値からなるベクトルを推定用ベクトルとし、該推定用ベクトルの生成を推定用パワースペクトル・リストの推定用パワースペクトル毎に行い、推定用ベクトル・リストを生成する(ステップL4)。
【0126】
次に、ステップL2により生成された推定用ベクトルと、代表ベクトル・リスト群のそれぞれ1の代表ベクトルとを比較し、推定用ベクトルに対し最近傍の代表ベクトルのIDを選定し、ヒープメモリへ蓄積する(ステップL5)。そして、上記蓄積処理を推定用ベクトル・リストの各推定用ベクトルについて行い、選定された代表ベクトルのIDを推定用シンボル列へ順次蓄積して推定用シンボル列を生成する(ステップL6)。ここで、代表ベクトル・リスト群とは、ある特定の移動状態における参照状態の音データを一定期間取得することにより生成された学習用音データを用いて、図5の処理フローに従って移動状態毎に選定される代表ベクトル・リストからなる群である。また、推定用音データのシンボル化とは、上述したステップL1からL5までの一連の処理をいう。
【0127】
次に、シンボル化により得られた音データの推定用シンボル列を用いて、各HMMに対する評価値を計算し(ステップL7)、最高尤度を有するHMMに該当する移動状態を特定し、推定結果を得る(ステップL8)。推定された結果が、第3の移動状態である場合には、該結果を推定された移動状態とする。本方式により、加速度に対する推定用パワースペクトルの形態と、他の移動状態のパワースペクトルの形態とが類似する時間帯の長い移動状態(例えば、自動車状態、バス状態、電車状態)において、マイクセンサから得られる音データを用いることにより、第3の所定の移動状態(ここでは、自動車状態)の音に対するパワースペクトルの時系列変化に特徴的な差を得ることができ、推定精度の向上を図ることができる。
位置測位システムを用いたHMM推定方式
マイクセンサを用いたHMM推定を用いることにより、バス状態及び電車状態においても概ね推定精度の向上が期待できる。しかしながら、例えば、電車内が混雑している場合等、マイクセンサから得られる環境雑音の音量が全体的に小さくなる等すると、バス状態と電車状態における音のパワースペクトルの形態とが類似することがあり、マイクセンサを用いた高精度な移動状態の推定が困難となる。従って、位置測位システムを用いた位置データに対するHMM推定を行うことにより、推定精度の向上を図る。位置測位システムには、GPS(全地球位置測位システム)等のシステムがある。GPSは、地球低軌道にある衛星を用いて地球上のユーザの位置を決定するシステムである。DGPS(差分全地球位置測位システム)は、GPS受信機により受信された位置と真の位置からその誤差を用いて修正することにより、GPSを利用した測位精度を向上させるシステムである。AGPS(支援全地球位置測位システム)は、ネットワーク上のサーバが位置算出を行い、GPS受信機に組み込まれる処理能力を低減し、高速な処理を可能にするシステムである。
【0128】
本実施態様においては、GPSによる位置測位システム受信機により得られた位置データを用いてHMM推定を行う。ここで、GPSを用いた場合、屋内などGPSによる測位不可能な環境においては移動状態の推定が困難であり、また数mから100m前後の測位誤差が発生するため、例えば停止状態、歩行状態、走行状態等、所定の期間における移動距離が測位誤差の範囲内となる移動状態の推定は困難である。しかしながら、例えば、自動車状態、バス状態、電車状態等のように高速移動の場合測位誤差による影響が少なく、特徴的な加減速を行う移動状態については定期的な測位結果から平均速度を算出し、その時系列変化に着目することにより移動状態の推定が可能である。
【0129】
位置測位システムを用いたHMM推定において、HMM推定処理(図3)及びHMM学習処理(図6)は前述した処理フローに従って行われるが、位置測位システムの受信機から得た速度データをシンボル化する一連の処理が異なる。以下、図15を参照して推定用速度データをシンボル化する処理フローについて説明する。なお、学習用速度データも同様の処理によりシンボル化される。
【0130】
まず、ユーザの有する位置測位システム受信機から経度、緯度からなる位置データを所定期間(例えば、20秒間)毎に取得し(ステップM1)、その結果をヒープメモリへ蓄積する。ここで、当該所定期間は、GPSの測位誤差が数mから100m程度生じるため、短すぎると平均速度の測定精度が上がらないため、一方、長すぎると速度の時系列変化の情報が消失してしまうため、一定の期間を要する。
【0131】
次に、メモリへ蓄積された位置データのうちn番目の位置データを第nの位置データとして順次特定する。ここで、nは1からNの整数である。そして、第n番目の位置データと第n+1番目の位置データとの距離、及び該2地点間の移動に要した時間から、2地点間の移動に要した平均速度データを生成する(ステップM2)。そして、該平均速度データの生成を、位置データを特定した順に少なくとも2回以上行い、平均速度データ・リストを生成する。
【0132】
次に、ステップM2により算出された平均速度データを一定の単位毎(例えば、10km/h)に量子化し、推定用速度データを生成する(ステップM3)。ここで、平均速度データの量子化は、HMM推定による計算量を削減するために行う。該推定用速度データの生成を平均速度データ・リストの平均速度データ毎に行い、推定用速度データからなる推定用速度データ・リストを生成する(ステップM4)。なお、推定用速度データ・リストの生成は、ステップM2により得られた平均速度データを移動平均することにより求めても良い。移動平均とは、時系列データを平滑化する手法である。具体的には、まず、平均速度データから平均速度データ・リストを生成する。次に、生成された平均速度データ・リストのうち第n番目から第n+m番目の第2の平均速度データを用いて、m個の平均速度データの平均値を算出する。そして、当該平均値を算出するステップを、位置データを特定した特定順に少なくとも2回以上繰り返し、平均速度データ・リストが生成される。ここでmは1からMの整数であり、MはNより小さい値である。
【0133】
次に、生成された推定用速度データと、代表速度データ・リスト群のそれぞれ1の代表速度データとを比較し、推定用速度データに対し最近傍の代表速度データのIDを選定し、ヒープメモリへ蓄積する(ステップM5)。そして上記蓄積処理を推定用速度データ・リストのうち各推定用速度データについて行い、選定された代表速度データのIDを推定用シンボル列へ順次蓄積して推定用シンボル列を生成する(ステップM6)。ここで、代表速度データ・リスト群とは、ある特定の移動状態における参照状態の位置データを一定期間取得することにより生成された学習用速度データを用いて、図5の処理フローに従って、移動状態毎に選定される代表速度データ・リストからなる群である。また、推定用速度データのシンボル化とは、上述したステップM1からM5までの一連の処理をいう。
【0134】
次に、シンボル化により得られた速度データの推定用シンボル列を用いて、各HMMに対する評価値を計算し(ステップM7)、最高尤度を有するHMMに該当する移動状態を特定し、推定結果を得て(ステップM8)、該結果を推定された移動状態とする。本方法により、音に対するパワースペクトルの形態と、他の移動状態の音に対するパワースペクトルの形態とが類似する時間帯の長い移動状態(ここでは、電車状態、及びバス状態)において、位置測位システム受信機から得られる平均速度データを用いることにより、それぞれ移動速度に対する速度データの時系列変化に特徴的な差を得ることができ、推定精度の向上を図ることができる。
【図面の簡単な説明】
【0135】
【図1】本発明の一実施態様におけるシステム構成図である。
【図2】学習用モデル作成処理のフロー図である。
【図3】移動状態の推定処理のフロー図である。
【図4】学習用パワースペクトル・リストの生成処理のフロー図である。
【図5】代表パワースペクトル・リストの選出処理のフロー図である。
【図6】HMMの学習処理のフロー図である。
【図7】可変長シンボル列を用いた多段推定方式による処理フロー図である。
【図8】移動状態の移動状態スキーマ図である。
【図9】推定データ・ログを用いた多数決推定処理のフロー図である。
【図10】推定データ・ログの取得処理のフロー図である。
【図11】本発明の一実施態様におけるシステム構成図である
【図12】複数種類の外部環境情報を用いた移動状態推定方式による処理フロー図である。
【図13】最小誤差推定方式を用いたユーザの移動状態の推定処理フロー図である
【図14】マイクセンサを用いた移動状態の推定処理フロー図である
【図15】位置測位システムを用いた移動状態の推定処理フロー図である。
【特許請求の範囲】
【請求項1】
少なくとも中央演算処理装置(CPU)と、メモリと、環境情報取得装置とを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上のシンボルから構成される第1のシンボル列の群を格納し、
前記CPUが、
前記環境情報取得装置により所定期間収集された環境情報値をシンボル化させるステップと、
時間窓を一定期間ずらして前記シンボル化させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数のシンボル化された環境情報値からなる第2のシンボル列を生成するステップと、
前記第1のシンボル列の群に対する前記第2のシンボル列の尤度を求めるステップと、
を有し、前記尤度が最大となる前記第1のシンボル列を特定することにより移動状態を推定する方法。
【請求項2】
請求項1に記載の環境情報取得装置は、加速度センサ、マイクセンサ、位置測位システム受信機のうち少なくとも1つを備える環境情報取得装置。
【請求項3】
少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群を格納し、
前記CPUが、
前記加速度センサにより連続的に加速度値を収集させるステップと、
前記収集された連続の加速度値において、所定期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させる時間窓データ生成ステップと、
時間窓を一定期間ずらして前記時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させるステップと、
前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させるステップと、
前記第1のスペクトル・リストの群に対する、前記第2のスペクトル・リストの尤度を評価するステップと、
を有し、前記尤度が最大となる前記第1のスペクトル・リストを特定することにより移動状態を推定する方法。
【請求項4】
少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えたマイクセンサとを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上のベクトルから構成される第1のベクトル・リストの群を格納し、
前記CPUが、
前記マイクセンサにより所定期間毎に一定期間連続的に音データを収集させ、該収集された連続の音データから構成されるスペクトルを時間窓データとして生成させる時間窓データ生成ステップと、
時間窓を前記所定期間ずらして前記時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させるステップと、
前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させるステップと、
前記生成された第2のスペクトル・リストから一定の周波数毎に第2のスペクトルの振幅の平均値を算出し、第2のベクトル・リストを生成させるステップと、
前記第1のベクトル・リストの群に対する、前記第2のベクトル・リストの尤度を求めるステップと、
を有し、前記尤度が最大となる前記第1のベクトル・リストを特定することにより移動状態を推定する方法。
【請求項5】
少なくとも中央演算処理装置と、メモリと、位置測位システム受信機とを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上の速度データから構成される第1の速度データ・リストの群を格納し、
前記CPUが、
前記位置測位システム受信機により所定期間毎に位置データを収集させメモリへ蓄積するステップと、
前記メモリへ蓄積した位置データのうちn番目の位置データを第nの位置データとし、第Nの位置データまで順次特定するステップであって、ここでnは1からNまでの整数であるステップと、
第n番目の位置データと第n+1番目の位置データとを用いて、2地点間の平均速度を生成させる平均速度データ生成ステップと、
前記平均速度データを生成するステップを、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均速度データから第2の速度データ・リストを生成させるステップと、
前記第1の速度データ・リストの群に対する、前記第2の速度データ・リストの尤度を求めるステップと、
を有し、前記尤度が最大となる前記第1の速度データ・リストを特定することにより移動状態を推定する方法。
【請求項6】
請求項5に記載の第2の速度データ・リストを生成させるステップは、
前記平均速度データを生成するステップを、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均速度データから平均速度データ・リストを生成させるステップと、
前記生成された平均速度データ・リストから第n番目から第n+m番目の平均速度データを用いて、m個の平均速度データの平均値を算出させるステップであって、ここでmは1からMまでの整数でありMはNより小さい値であるステップと、
前記平均値を算出させるステップを、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均値から第2の速度データ・リストを生成させるステップと、
からなる請求項5に記載の方法。
【請求項7】
請求項3に記載の方法により推定された移動状態が第1または第2の所定の移動状態である場合に、該推定された移動状態を移動状態として特定する第1のステップと、
請求項3に記載の方法により推定された移動状態が第1または第2の所定の移動状態でない場合に、さらに請求項4に記載の方法により移動状態を推定し、推定された移動状態が第3の所定の移動状態である場合に、該推定された移動状態を移動状態として特定する第2のステップと、
請求項4に記載の方法により推定された移動状態が第3の所定の移動状態でない場合に、さらに請求項5に記載の方法により移動状態を推定し、該推定された移動状態を移動状態として特定する方法。
【請求項8】
少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群を格納し、
前記CPUが、
前記加速度センサにより連続的に加速度値を収集させるステップと、
前記収集された連続の加速度値において、所定期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させる時間窓データ生成ステップと、
時間窓を一定期間ずらして前記時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させるステップと、
前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させるステップと、
前記第1のスペクトル・リストの群のうちそれぞれ1のスペクトルと、前記第2のスペクトル・リストのうちそれぞれ1の第2のスペクトルとを比較することにより前記所定期間における前記第2のスペクトルと最近傍の第1のスペクトルを選定するステップと、
を有し、前記第1のスペクトルを選定するステップを所定回数繰り返して、最高頻度の第1のスペクトル・リストを特定することにより、移動状態を推定する方法。
【請求項9】
請求項7に記載の第1のステップにおいて、
請求項8に記載の方法により推定された移動状態が第1の所定の移動状態である場合に、推定された移動状態を移動状態として特定し、請求項8に記載の方法により推定された移動状態が第1の移動状態でない場合に、請求項3に記載の方法により移動状態を推定し、推定された移動状態が第2の所定の移動状態である場合に、該推定された移動状態を移動状態として特定する、方法。
【請求項10】
少なくとも中央演算処理装置と、メモリと、環境情報取得装置とを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上のシンボルから構成される第1のシンボル列の群を格納し、
前記CPUが、
前記環境情報取得装置により所定期間収集された環境情報値をシンボル化させ、
時間窓を一定期間ずらして前記シンボル化させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数のシンボル化された環境情報値からなる第2のシンボル列を生成させ、
前記第1のシンボル列の群に対する前記第2のシンボル列の尤度を求める、前記尤度が最大となる前記第1のシンボル列を特定することにより移動状態を推定するシステム。
【請求項11】
請求項10に記載の環境情報取得装置は、加速度センサ、マイクセンサ、位置測位システム受信機のうち少なくとも1つを備える環境情報取得装置。
【請求項12】
少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群を格納し、
前記CPUが、
前記加速度センサにより連続的に加速度値を収集させ、
前記収集された連続の加速度値において、所定の期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させ、
時間窓を一定期間ずらして前記時間窓データの生成を少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させ、
前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させ、
前記第1のスペクトル・リストの群に対する、前記第2のスペクトル・リストの尤度を評価する、前記尤度が最大となる前記第1のスペクトル・リストを特定することにより移動状態を推定するシステム。
【請求項13】
少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えたマイクセンサとを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上のベクトルから構成される第1のベクトル・リストの群を格納し、
前記CPUが、
前記マイクセンサにより所定期間毎に一定期間連続的に音データを収集させ、該収集された連続の音データから構成されるスペクトルを時間窓データとして生成させ、
時間窓を前記所定期間ずらして前記時間窓データの生成を少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させ、
前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させ、
前記生成された第2のスペクトル・リストから一定の周波数毎に第2のスペクトルの振幅の平均値を算出し、第2のベクトル・リストを生成させ、
前記第1のベクトル・リストの群に対する、前記第2のベクトル・リストの尤度を求める、前記尤度が最大となる前記第1のベクトル・リストを特定することにより移動状態を推定するシステム。
【請求項14】
少なくとも中央演算処理装置と、メモリと、位置測位システム受信機とを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上の速度データから構成される第1の速度データ・リストの群を格納し、
前記CPUが、
前記位置測位システム受信機により所定期間毎に位置データを収集させメモリへ蓄積し、
前記メモリへ蓄積した位置データのうちn番目の位置データを第nの位置データとし、第Nの位置データまで順次特定させ、ここでnは1からNまでの整数であり、
第n番目の位置データと第n+1番目の位置データとを用いて、2地点間の平均速度を生成させ、
前記平均速度データの生成を、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均速度データから第2の速度データ・リストを生成させ、
前記第1の速度データ・リストの群に対する、前記第2の速度データ・リストの尤度を求める、前記尤度が最大となる前記第1の速度データ・リストを特定することにより移動状態を推定するシステム。
【請求項15】
請求項14に記載の第2の速度データ・リストの生成は、
前記平均速度データの生成を、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均速度データから平均速度データ・リストを生成させ、
前記生成された平均速度データ・リストから第n番目から第n+m番目の平均速度データを用いて、m個の平均速度データの平均値を算出させ、ここでmは1からMまでの整数であってMはNより小さい値であり、
前記平均値の算出を、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均値から第2の速度データ・リストを生成させる、請求項14に記載のシステム。
【請求項16】
請求項12に記載のシステムにより推定された移動状態が第1または第2の所定の移動状態である場合に、該推定された移動状態を移動状態として特定し、
請求項12に記載のシステムにより推定された移動状態が第1または第2の所定の移動状態でない場合に、さらに請求項13に記載のシステムにより移動状態を推定し、推定された移動状態が第3の所定の移動状態である場合に、該推定された移動状態を移動状態として特定し、
請求項13に記載のシステムにより推定された移動状態が第3の所定の移動状態でない場合に、さらに請求項14に記載のシステムにより移動状態を推定し、該推定された移動状態を移動状態として特定するシステム。
【請求項17】
少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群を格納し、
前記CPUが、
前記加速度センサにより連続的に加速度値を収集させ、
前記収集された連続の加速度値において、所定の期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させ、
時間窓を一定期間ずらして前記時間窓データの生成を少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させ、
前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させ、
前記第1のスペクトル・リストの群のうちそれぞれ1のスペクトルと、前記第2のスペクトル・リストのうちそれぞれ1の第2のスペクトルとを比較することにより前記所定期間における前記第2のスペクトルと最近傍の第1のスペクトルを選定する、前記第1のスペクトルの選定を所定回数繰り返して、最高頻度の第1のスペクトル・リストを特定することにより、移動状態を推定するシステム。
【請求項18】
請求項16に記載の推定された移動状態が第1または第2の所定の移動状態である場合に、前記移動状態の特定は、
請求項17に記載のシステムにより推定された移動状態が第1の所定の移動状態である場合に、推定された移動状態を移動状態として特定し、請求項17に記載のシステムにより推定された移動状態が第1の移動状態でない場合に、請求項12に記載のシステムにより移動状態を推定し、推定された移動状態が第2の所定の移動状態である場合に、該推定された移動状態を移動状態として特定することにより行われる、システム。
【請求項19】
少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群を格納し、
前記CPUが、
前記加速度センサにより連続的に加速度値を収集させるステップと、
前記収集された連続の加速度値において、所定期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させる時間窓データ生成ステップと、
時間窓を一定期間ずらして前記時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させるステップと、
前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させるステップと、
前記第1のスペクトル・リストの群に対する、前記第2のスペクトル・リストの尤度を評価するステップと、
を有し、前記尤度が最大となる前記第1のスペクトル・リストを特定することにより移動状態を推定する方法。
【請求項20】
前記尤度を評価するステップが、
前記CPUにより、
前記第1のスペクトル・リストの群に対して、前記第2のスペクトル・リストを比較適合して、前記第1のスペクトル・リストを構成するスペクトルのうち、前記第2のスペクトル・リストを構成するスペクトルに対して最近傍のスペクトルを各々選択させ、
前記各々選択された第1のスペクトルの集合をHMM(隠れマルコフモデル)からなる関数を介して、前記HMMの尤度を移動状態毎に評価することを特徴とする請求項19に記載の方法。
【請求項21】
前記第1のスペクトル・リストは、
前記CPUが、
前記加速度センサによって連続的に学習用の加速度値を収集させるステップと、
前記収集された連続の学習用の加速度値において、所定期間の前記連続の学習用の加速度値のデータから構成される学習用のスペクトルを学習用の時間窓データとして生成させる学習用時間窓データ生成ステップと、
時間窓を一定期間ずらして前記学習用時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の学習用時間窓データから学習用データ・リストを生成させるステップと、
前記生成された学習用データ・リストを高速フーリエ変換させ、学習用パワースペクトル・リストを生成させるステップと、
前記学習用パワースペクトル・リストに対して遺伝的アルゴリズムを適用し、評価値を計算するステップとを有し、
前記計算された評価値が最も高いリストを第1のスペクトル・リストとすることにより決定されることを特徴とする請求項19または20に記載の方法。
【請求項22】
請求項20に記載のHMMの尤度を評価するステップは、前記CPUがさらに、
前記各々選択された第1のスペクトルの集合を、所定の時間幅で前記HMMからなる関数を介して、前記HMMの尤度を移動状態毎に評価することを含む、方法。
【請求項23】
請求項19に記載した各ステップに加えて、前記CPUがさらに、
請求項22に記載の前記HMMの尤度を移動状態毎に評価する第1のステップと、
前記尤度が最大である移動状態を特定する第2のステップと、
を有し、前記所定の時間幅において得られた最大の尤度に対応するHMMが所定の移動状態でない場合に、前記所定の時間幅より長い所定の時間幅で、前記第1のステップと前記第2のステップとを繰り返して移動状態を順次特定することにより移動状態を推定することを特徴とする請求項20に記載の方法。
【請求項24】
請求項19に記載の加速度値を収集させるステップは、前記CPUがさらに
前記加速度センサにより連続的に単位時間あたりの加速度値を収集させるステップと、
を有し、前記尤度が最大となる前記第1のスペクトル・リストを特定することにより推定された移動状態を単位時間あたりの推定データとしてメモリへ蓄積することを特徴とする、請求項19に記載の移動状態を推定する方法。
【請求項25】
請求項24に記載の方法であって、推定された移動状態と該推定された移動状態と間違える頻度の高い移動状態とを同一グループとしたデータ構造は、それぞれ1または複数の移動状態を含む1または複数の移動状態グループを含み、該移動状態グループは1の基本の移動状態を含むデータ構造を用いて移動状態を推定する方法であって、前記CPUが、
前記単位時間あたりの推定データを前記メモリから読み出すステップと、
前記単位時間あたりの推定データを用いて前記データ構造の移動状態グループの種別を識別するステップと、
前記単位時間あたりの推定データを所定期間取得し推定データ・ログを生成するステップと、
前記推定データ・ログを用いて、多数決推定方式により前記移動状態グループに包含される1の移動状態を推定するステップと、
を有する、移動状態を推定する方法。
【請求項26】
前記単位時間は前記データ構造の移動状態グループの種別を識別するために要する所定数の推定データの取得に要する時間である、請求項25に記載の方法。
【請求項27】
請求項25に記載の推定データ・ログを用いて多数決推定方式で移動状態を推定するステップは、
前記推定データ・ログに含まれる最高頻度の移動状態が前記識別された移動状態グループの種別に属する場合は、該最高頻度の移動状態を推定される移動状態として特定し、
前記推定データ・ログに含まれる最高頻度の移動状態が前記識別された移動状態グループの種別に属さない場合は、前記識別された移動状態グループの基本の移動状態を推定される移動状態として特定することにより、移動状態を推定することを特徴とする請求項25または26に記載の方法。
【請求項28】
少なくともCPUと、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群を格納し、
前記CPUが、
前記加速度センサにより連続的に加速度値を収集させ、
前記収集された連続の加速度値において、所定期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させ、
時間窓を一定期間ずらして前記時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させ、
前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させ、
前記第1のスペクトル・リストの群に対する、前記第2のスペクトル・リストの尤度を評価する、
前記尤度が最大となる前記第1のスペクトル・リストを特定することにより移動状態を推定するシステム。
【請求項29】
前記尤度の評価は、
前記CPUにより、
前記第1のスペクトル・リストの群に対して、前記第2のスペクトル・リストを比較適合して、前記第1のスペクトル・リストを構成するスペクトルのうち、前記第2のスペクトル・リストを構成するスペクトルに対して最近傍のスペクトルを各々選択させ、
前記各々選択された第1のスペクトルの集合をHMMからなる関数を介して、前記HMMの尤度を移動状態毎に評価することを特徴とする請求項28に記載のシステム。
【請求項30】
前記第1のスペクトル・リストは、
前記CPUが、
前記加速度センサによって連続的に学習用の加速度値を収集させ、
前記収集された連続の学習用の加速度値において、所定の期間の前記連続の学習用の加速度値のデータから構成される学習用のスペクトルを学習用の時間窓データとして生成させ、
時間窓を一定期間ずらして前記学習用時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の学習用時間窓データから学習用データ・リストを生成させ、
前記生成された学習用データ・リストを高速フーリエ変換させ、学習用パワースペクトル・リストを生成させ、
前記学習用パワースペクトル・リストに対して遺伝的アルゴリズムを適用し、評価値を計算し、
前記計算された評価値が最も高いリストを第1のスペクトル・リストとすることにより決定されることを特徴とする請求項28または29に記載のシステム。
【請求項31】
請求項29に記載のHMMの尤度の評価は、前記CPUがさらに、
前記各々選択された第1のスペクトルの集合を、所定の時間幅で前記HMMからなる関数を介して、前記HMMの尤度を移動状態毎に評価することを含む、システム。
【請求項32】
請求項28に記載した前記CPUがさらに、
請求項31に記載の前記HMMの尤度を移動状態毎に評価する第1のステップと、
前記尤度が最大である移動状態を特定する第2のステップと、
を有し、前記所定の時間幅において得られた最大の尤度に対応するHMMが所定の移動状態でない場合に、前記所定の時間幅より長い所定の時間幅で、前記第1のステップと前記第2のステップとを繰り返して移動状態を順次特定することにより移動状態を推定することを特徴とする請求項29に記載のシステム。
【請求項33】
請求項28に記載の加速度値の収集は、前記CPUがさらに
前記加速度センサにより連続的に単位時間あたりの加速度値を収集させ、
前記尤度が最大となる前記第1のスペクトル・リストを特定することにより推定された移動状態を単位時間あたりの推定データとしてメモリへ蓄積することを特徴とする、請求項28に記載の移動状態を推定するシステム。
【請求項34】
請求項33に記載のシステムであって、推定された移動状態と該推定された移動状態と間違える頻度の高い移動状態とを同一グループとしたデータ構造は、それぞれ1または複数の移動状態を含む1または複数の移動状態グループを含み、該移動状態グループは1の基本の移動状態を含むデータ構造を用いた移動状態を推定するシステムであって、前記CPUが、
前記単位時間あたりの推定データを前記メモリから読み出し、
前記単位時間あたりの推定データを用いて前記データ構造の移動状態グループの種別を識別し、
前記単位時間あたりの推定データを所定期間取得し推定データ・ログを生成させ、
前記推定データ・ログを用いて、多数決推定方式により前記移動状態グループに包含される1の移動状態を推定すること、
を含む、移動状態を推定するシステム。
【請求項35】
前記単位時間は前記データ構造の移動状態グループの種別を識別するために要する所定数の推定データの取得に要する時間である、請求項34に記載のシステム。
【請求項36】
請求項33に記載の推定データ・ログを用いた多数決推定方式の移動状態の推定は、
前記推定データ・ログに含まれる最高頻度の移動状態が前記識別された移動状態グループの種別に属する場合は、該最高頻度の移動状態を推定される移動状態として特定し、
前記推定データ・ログに含まれる最高頻度の移動状態が前記識別された移動状態グループの種別に属さない場合は、前記識別された移動状態グループの基本の移動状態を推定される移動状態として特定することにより、移動状態を推定することを特徴とする請求項34または35に記載のシステム。
【請求項1】
少なくとも中央演算処理装置(CPU)と、メモリと、環境情報取得装置とを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上のシンボルから構成される第1のシンボル列の群を格納し、
前記CPUが、
前記環境情報取得装置により所定期間収集された環境情報値をシンボル化させるステップと、
時間窓を一定期間ずらして前記シンボル化させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数のシンボル化された環境情報値からなる第2のシンボル列を生成するステップと、
前記第1のシンボル列の群に対する前記第2のシンボル列の尤度を求めるステップと、
を有し、前記尤度が最大となる前記第1のシンボル列を特定することにより移動状態を推定する方法。
【請求項2】
請求項1に記載の環境情報取得装置は、加速度センサ、マイクセンサ、位置測位システム受信機のうち少なくとも1つを備える環境情報取得装置。
【請求項3】
少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群を格納し、
前記CPUが、
前記加速度センサにより連続的に加速度値を収集させるステップと、
前記収集された連続の加速度値において、所定期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させる時間窓データ生成ステップと、
時間窓を一定期間ずらして前記時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させるステップと、
前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させるステップと、
前記第1のスペクトル・リストの群に対する、前記第2のスペクトル・リストの尤度を評価するステップと、
を有し、前記尤度が最大となる前記第1のスペクトル・リストを特定することにより移動状態を推定する方法。
【請求項4】
少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えたマイクセンサとを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上のベクトルから構成される第1のベクトル・リストの群を格納し、
前記CPUが、
前記マイクセンサにより所定期間毎に一定期間連続的に音データを収集させ、該収集された連続の音データから構成されるスペクトルを時間窓データとして生成させる時間窓データ生成ステップと、
時間窓を前記所定期間ずらして前記時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させるステップと、
前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させるステップと、
前記生成された第2のスペクトル・リストから一定の周波数毎に第2のスペクトルの振幅の平均値を算出し、第2のベクトル・リストを生成させるステップと、
前記第1のベクトル・リストの群に対する、前記第2のベクトル・リストの尤度を求めるステップと、
を有し、前記尤度が最大となる前記第1のベクトル・リストを特定することにより移動状態を推定する方法。
【請求項5】
少なくとも中央演算処理装置と、メモリと、位置測位システム受信機とを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上の速度データから構成される第1の速度データ・リストの群を格納し、
前記CPUが、
前記位置測位システム受信機により所定期間毎に位置データを収集させメモリへ蓄積するステップと、
前記メモリへ蓄積した位置データのうちn番目の位置データを第nの位置データとし、第Nの位置データまで順次特定するステップであって、ここでnは1からNまでの整数であるステップと、
第n番目の位置データと第n+1番目の位置データとを用いて、2地点間の平均速度を生成させる平均速度データ生成ステップと、
前記平均速度データを生成するステップを、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均速度データから第2の速度データ・リストを生成させるステップと、
前記第1の速度データ・リストの群に対する、前記第2の速度データ・リストの尤度を求めるステップと、
を有し、前記尤度が最大となる前記第1の速度データ・リストを特定することにより移動状態を推定する方法。
【請求項6】
請求項5に記載の第2の速度データ・リストを生成させるステップは、
前記平均速度データを生成するステップを、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均速度データから平均速度データ・リストを生成させるステップと、
前記生成された平均速度データ・リストから第n番目から第n+m番目の平均速度データを用いて、m個の平均速度データの平均値を算出させるステップであって、ここでmは1からMまでの整数でありMはNより小さい値であるステップと、
前記平均値を算出させるステップを、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均値から第2の速度データ・リストを生成させるステップと、
からなる請求項5に記載の方法。
【請求項7】
請求項3に記載の方法により推定された移動状態が第1または第2の所定の移動状態である場合に、該推定された移動状態を移動状態として特定する第1のステップと、
請求項3に記載の方法により推定された移動状態が第1または第2の所定の移動状態でない場合に、さらに請求項4に記載の方法により移動状態を推定し、推定された移動状態が第3の所定の移動状態である場合に、該推定された移動状態を移動状態として特定する第2のステップと、
請求項4に記載の方法により推定された移動状態が第3の所定の移動状態でない場合に、さらに請求項5に記載の方法により移動状態を推定し、該推定された移動状態を移動状態として特定する方法。
【請求項8】
少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群を格納し、
前記CPUが、
前記加速度センサにより連続的に加速度値を収集させるステップと、
前記収集された連続の加速度値において、所定期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させる時間窓データ生成ステップと、
時間窓を一定期間ずらして前記時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させるステップと、
前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させるステップと、
前記第1のスペクトル・リストの群のうちそれぞれ1のスペクトルと、前記第2のスペクトル・リストのうちそれぞれ1の第2のスペクトルとを比較することにより前記所定期間における前記第2のスペクトルと最近傍の第1のスペクトルを選定するステップと、
を有し、前記第1のスペクトルを選定するステップを所定回数繰り返して、最高頻度の第1のスペクトル・リストを特定することにより、移動状態を推定する方法。
【請求項9】
請求項7に記載の第1のステップにおいて、
請求項8に記載の方法により推定された移動状態が第1の所定の移動状態である場合に、推定された移動状態を移動状態として特定し、請求項8に記載の方法により推定された移動状態が第1の移動状態でない場合に、請求項3に記載の方法により移動状態を推定し、推定された移動状態が第2の所定の移動状態である場合に、該推定された移動状態を移動状態として特定する、方法。
【請求項10】
少なくとも中央演算処理装置と、メモリと、環境情報取得装置とを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上のシンボルから構成される第1のシンボル列の群を格納し、
前記CPUが、
前記環境情報取得装置により所定期間収集された環境情報値をシンボル化させ、
時間窓を一定期間ずらして前記シンボル化させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数のシンボル化された環境情報値からなる第2のシンボル列を生成させ、
前記第1のシンボル列の群に対する前記第2のシンボル列の尤度を求める、前記尤度が最大となる前記第1のシンボル列を特定することにより移動状態を推定するシステム。
【請求項11】
請求項10に記載の環境情報取得装置は、加速度センサ、マイクセンサ、位置測位システム受信機のうち少なくとも1つを備える環境情報取得装置。
【請求項12】
少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群を格納し、
前記CPUが、
前記加速度センサにより連続的に加速度値を収集させ、
前記収集された連続の加速度値において、所定の期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させ、
時間窓を一定期間ずらして前記時間窓データの生成を少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させ、
前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させ、
前記第1のスペクトル・リストの群に対する、前記第2のスペクトル・リストの尤度を評価する、前記尤度が最大となる前記第1のスペクトル・リストを特定することにより移動状態を推定するシステム。
【請求項13】
少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えたマイクセンサとを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上のベクトルから構成される第1のベクトル・リストの群を格納し、
前記CPUが、
前記マイクセンサにより所定期間毎に一定期間連続的に音データを収集させ、該収集された連続の音データから構成されるスペクトルを時間窓データとして生成させ、
時間窓を前記所定期間ずらして前記時間窓データの生成を少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させ、
前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させ、
前記生成された第2のスペクトル・リストから一定の周波数毎に第2のスペクトルの振幅の平均値を算出し、第2のベクトル・リストを生成させ、
前記第1のベクトル・リストの群に対する、前記第2のベクトル・リストの尤度を求める、前記尤度が最大となる前記第1のベクトル・リストを特定することにより移動状態を推定するシステム。
【請求項14】
少なくとも中央演算処理装置と、メモリと、位置測位システム受信機とを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上の速度データから構成される第1の速度データ・リストの群を格納し、
前記CPUが、
前記位置測位システム受信機により所定期間毎に位置データを収集させメモリへ蓄積し、
前記メモリへ蓄積した位置データのうちn番目の位置データを第nの位置データとし、第Nの位置データまで順次特定させ、ここでnは1からNまでの整数であり、
第n番目の位置データと第n+1番目の位置データとを用いて、2地点間の平均速度を生成させ、
前記平均速度データの生成を、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均速度データから第2の速度データ・リストを生成させ、
前記第1の速度データ・リストの群に対する、前記第2の速度データ・リストの尤度を求める、前記尤度が最大となる前記第1の速度データ・リストを特定することにより移動状態を推定するシステム。
【請求項15】
請求項14に記載の第2の速度データ・リストの生成は、
前記平均速度データの生成を、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均速度データから平均速度データ・リストを生成させ、
前記生成された平均速度データ・リストから第n番目から第n+m番目の平均速度データを用いて、m個の平均速度データの平均値を算出させ、ここでmは1からMまでの整数であってMはNより小さい値であり、
前記平均値の算出を、前記特定順に少なくとも2回以上繰り返し、当該繰り返し生成された複数の平均値から第2の速度データ・リストを生成させる、請求項14に記載のシステム。
【請求項16】
請求項12に記載のシステムにより推定された移動状態が第1または第2の所定の移動状態である場合に、該推定された移動状態を移動状態として特定し、
請求項12に記載のシステムにより推定された移動状態が第1または第2の所定の移動状態でない場合に、さらに請求項13に記載のシステムにより移動状態を推定し、推定された移動状態が第3の所定の移動状態である場合に、該推定された移動状態を移動状態として特定し、
請求項13に記載のシステムにより推定された移動状態が第3の所定の移動状態でない場合に、さらに請求項14に記載のシステムにより移動状態を推定し、該推定された移動状態を移動状態として特定するシステム。
【請求項17】
少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群を格納し、
前記CPUが、
前記加速度センサにより連続的に加速度値を収集させ、
前記収集された連続の加速度値において、所定の期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させ、
時間窓を一定期間ずらして前記時間窓データの生成を少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させ、
前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させ、
前記第1のスペクトル・リストの群のうちそれぞれ1のスペクトルと、前記第2のスペクトル・リストのうちそれぞれ1の第2のスペクトルとを比較することにより前記所定期間における前記第2のスペクトルと最近傍の第1のスペクトルを選定する、前記第1のスペクトルの選定を所定回数繰り返して、最高頻度の第1のスペクトル・リストを特定することにより、移動状態を推定するシステム。
【請求項18】
請求項16に記載の推定された移動状態が第1または第2の所定の移動状態である場合に、前記移動状態の特定は、
請求項17に記載のシステムにより推定された移動状態が第1の所定の移動状態である場合に、推定された移動状態を移動状態として特定し、請求項17に記載のシステムにより推定された移動状態が第1の移動状態でない場合に、請求項12に記載のシステムにより移動状態を推定し、推定された移動状態が第2の所定の移動状態である場合に、該推定された移動状態を移動状態として特定することにより行われる、システム。
【請求項19】
少なくとも中央演算処理装置と、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定する方法であって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群を格納し、
前記CPUが、
前記加速度センサにより連続的に加速度値を収集させるステップと、
前記収集された連続の加速度値において、所定期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させる時間窓データ生成ステップと、
時間窓を一定期間ずらして前記時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させるステップと、
前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させるステップと、
前記第1のスペクトル・リストの群に対する、前記第2のスペクトル・リストの尤度を評価するステップと、
を有し、前記尤度が最大となる前記第1のスペクトル・リストを特定することにより移動状態を推定する方法。
【請求項20】
前記尤度を評価するステップが、
前記CPUにより、
前記第1のスペクトル・リストの群に対して、前記第2のスペクトル・リストを比較適合して、前記第1のスペクトル・リストを構成するスペクトルのうち、前記第2のスペクトル・リストを構成するスペクトルに対して最近傍のスペクトルを各々選択させ、
前記各々選択された第1のスペクトルの集合をHMM(隠れマルコフモデル)からなる関数を介して、前記HMMの尤度を移動状態毎に評価することを特徴とする請求項19に記載の方法。
【請求項21】
前記第1のスペクトル・リストは、
前記CPUが、
前記加速度センサによって連続的に学習用の加速度値を収集させるステップと、
前記収集された連続の学習用の加速度値において、所定期間の前記連続の学習用の加速度値のデータから構成される学習用のスペクトルを学習用の時間窓データとして生成させる学習用時間窓データ生成ステップと、
時間窓を一定期間ずらして前記学習用時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の学習用時間窓データから学習用データ・リストを生成させるステップと、
前記生成された学習用データ・リストを高速フーリエ変換させ、学習用パワースペクトル・リストを生成させるステップと、
前記学習用パワースペクトル・リストに対して遺伝的アルゴリズムを適用し、評価値を計算するステップとを有し、
前記計算された評価値が最も高いリストを第1のスペクトル・リストとすることにより決定されることを特徴とする請求項19または20に記載の方法。
【請求項22】
請求項20に記載のHMMの尤度を評価するステップは、前記CPUがさらに、
前記各々選択された第1のスペクトルの集合を、所定の時間幅で前記HMMからなる関数を介して、前記HMMの尤度を移動状態毎に評価することを含む、方法。
【請求項23】
請求項19に記載した各ステップに加えて、前記CPUがさらに、
請求項22に記載の前記HMMの尤度を移動状態毎に評価する第1のステップと、
前記尤度が最大である移動状態を特定する第2のステップと、
を有し、前記所定の時間幅において得られた最大の尤度に対応するHMMが所定の移動状態でない場合に、前記所定の時間幅より長い所定の時間幅で、前記第1のステップと前記第2のステップとを繰り返して移動状態を順次特定することにより移動状態を推定することを特徴とする請求項20に記載の方法。
【請求項24】
請求項19に記載の加速度値を収集させるステップは、前記CPUがさらに
前記加速度センサにより連続的に単位時間あたりの加速度値を収集させるステップと、
を有し、前記尤度が最大となる前記第1のスペクトル・リストを特定することにより推定された移動状態を単位時間あたりの推定データとしてメモリへ蓄積することを特徴とする、請求項19に記載の移動状態を推定する方法。
【請求項25】
請求項24に記載の方法であって、推定された移動状態と該推定された移動状態と間違える頻度の高い移動状態とを同一グループとしたデータ構造は、それぞれ1または複数の移動状態を含む1または複数の移動状態グループを含み、該移動状態グループは1の基本の移動状態を含むデータ構造を用いて移動状態を推定する方法であって、前記CPUが、
前記単位時間あたりの推定データを前記メモリから読み出すステップと、
前記単位時間あたりの推定データを用いて前記データ構造の移動状態グループの種別を識別するステップと、
前記単位時間あたりの推定データを所定期間取得し推定データ・ログを生成するステップと、
前記推定データ・ログを用いて、多数決推定方式により前記移動状態グループに包含される1の移動状態を推定するステップと、
を有する、移動状態を推定する方法。
【請求項26】
前記単位時間は前記データ構造の移動状態グループの種別を識別するために要する所定数の推定データの取得に要する時間である、請求項25に記載の方法。
【請求項27】
請求項25に記載の推定データ・ログを用いて多数決推定方式で移動状態を推定するステップは、
前記推定データ・ログに含まれる最高頻度の移動状態が前記識別された移動状態グループの種別に属する場合は、該最高頻度の移動状態を推定される移動状態として特定し、
前記推定データ・ログに含まれる最高頻度の移動状態が前記識別された移動状態グループの種別に属さない場合は、前記識別された移動状態グループの基本の移動状態を推定される移動状態として特定することにより、移動状態を推定することを特徴とする請求項25または26に記載の方法。
【請求項28】
少なくともCPUと、メモリと、所定のサンプリングレートを備えた加速度センサとを包含する携帯端末装置の移動状態を推定するシステムであって、前記メモリが、所定の移動状態を代表する少なくとも2以上のスペクトルから構成される第1のスペクトル・リストの群を格納し、
前記CPUが、
前記加速度センサにより連続的に加速度値を収集させ、
前記収集された連続の加速度値において、所定期間の前記連続の加速度値のデータから構成されるスペクトルを時間窓データとして生成させ、
時間窓を一定期間ずらして前記時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の時間窓データから推定用データ・リストを生成させ、
前記生成された推定用データ・リストを高速フーリエ変換させ、第2のスペクトル・リストを生成させ、
前記第1のスペクトル・リストの群に対する、前記第2のスペクトル・リストの尤度を評価する、
前記尤度が最大となる前記第1のスペクトル・リストを特定することにより移動状態を推定するシステム。
【請求項29】
前記尤度の評価は、
前記CPUにより、
前記第1のスペクトル・リストの群に対して、前記第2のスペクトル・リストを比較適合して、前記第1のスペクトル・リストを構成するスペクトルのうち、前記第2のスペクトル・リストを構成するスペクトルに対して最近傍のスペクトルを各々選択させ、
前記各々選択された第1のスペクトルの集合をHMMからなる関数を介して、前記HMMの尤度を移動状態毎に評価することを特徴とする請求項28に記載のシステム。
【請求項30】
前記第1のスペクトル・リストは、
前記CPUが、
前記加速度センサによって連続的に学習用の加速度値を収集させ、
前記収集された連続の学習用の加速度値において、所定の期間の前記連続の学習用の加速度値のデータから構成される学習用のスペクトルを学習用の時間窓データとして生成させ、
時間窓を一定期間ずらして前記学習用時間窓データを生成させるステップを少なくとも2回以上繰り返し、当該繰り返し生成された複数の学習用時間窓データから学習用データ・リストを生成させ、
前記生成された学習用データ・リストを高速フーリエ変換させ、学習用パワースペクトル・リストを生成させ、
前記学習用パワースペクトル・リストに対して遺伝的アルゴリズムを適用し、評価値を計算し、
前記計算された評価値が最も高いリストを第1のスペクトル・リストとすることにより決定されることを特徴とする請求項28または29に記載のシステム。
【請求項31】
請求項29に記載のHMMの尤度の評価は、前記CPUがさらに、
前記各々選択された第1のスペクトルの集合を、所定の時間幅で前記HMMからなる関数を介して、前記HMMの尤度を移動状態毎に評価することを含む、システム。
【請求項32】
請求項28に記載した前記CPUがさらに、
請求項31に記載の前記HMMの尤度を移動状態毎に評価する第1のステップと、
前記尤度が最大である移動状態を特定する第2のステップと、
を有し、前記所定の時間幅において得られた最大の尤度に対応するHMMが所定の移動状態でない場合に、前記所定の時間幅より長い所定の時間幅で、前記第1のステップと前記第2のステップとを繰り返して移動状態を順次特定することにより移動状態を推定することを特徴とする請求項29に記載のシステム。
【請求項33】
請求項28に記載の加速度値の収集は、前記CPUがさらに
前記加速度センサにより連続的に単位時間あたりの加速度値を収集させ、
前記尤度が最大となる前記第1のスペクトル・リストを特定することにより推定された移動状態を単位時間あたりの推定データとしてメモリへ蓄積することを特徴とする、請求項28に記載の移動状態を推定するシステム。
【請求項34】
請求項33に記載のシステムであって、推定された移動状態と該推定された移動状態と間違える頻度の高い移動状態とを同一グループとしたデータ構造は、それぞれ1または複数の移動状態を含む1または複数の移動状態グループを含み、該移動状態グループは1の基本の移動状態を含むデータ構造を用いた移動状態を推定するシステムであって、前記CPUが、
前記単位時間あたりの推定データを前記メモリから読み出し、
前記単位時間あたりの推定データを用いて前記データ構造の移動状態グループの種別を識別し、
前記単位時間あたりの推定データを所定期間取得し推定データ・ログを生成させ、
前記推定データ・ログを用いて、多数決推定方式により前記移動状態グループに包含される1の移動状態を推定すること、
を含む、移動状態を推定するシステム。
【請求項35】
前記単位時間は前記データ構造の移動状態グループの種別を識別するために要する所定数の推定データの取得に要する時間である、請求項34に記載のシステム。
【請求項36】
請求項33に記載の推定データ・ログを用いた多数決推定方式の移動状態の推定は、
前記推定データ・ログに含まれる最高頻度の移動状態が前記識別された移動状態グループの種別に属する場合は、該最高頻度の移動状態を推定される移動状態として特定し、
前記推定データ・ログに含まれる最高頻度の移動状態が前記識別された移動状態グループの種別に属さない場合は、前記識別された移動状態グループの基本の移動状態を推定される移動状態として特定することにより、移動状態を推定することを特徴とする請求項34または35に記載のシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2009−238196(P2009−238196A)
【公開日】平成21年10月15日(2009.10.15)
【国際特許分類】
【出願番号】特願2008−126986(P2008−126986)
【出願日】平成20年5月14日(2008.5.14)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】
【公開日】平成21年10月15日(2009.10.15)
【国際特許分類】
【出願日】平成20年5月14日(2008.5.14)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】
[ Back to top ]