以下に添付図面を参照して、実施形態にかかる情報処理装置を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
(第1の実施形態)
本願発明の発明者は、被験者1000に慣性センサを備えた測定装置2を保持させて歩行させ、慣性センサから出力される加速度の推移および角速度の推移を測定した。以降、加速度の推移を記録したデータを加速度データと表記する。角速度の推移を記録したデータを角速度データと表記する。加速度データと角速度データとを慣性データと総称することがある。
被験者1000は、図1に示されるように、左胸ポケットおよび右手の2箇所に測定装置2を保持した。そして、被験者1000は、直立した状態から右脚、左脚、右脚、左脚の順番で右脚および左脚を前にはこび、その後、直立した状態で静止した。
測定装置2は、長方形かつ略平板の形状を有しており、測定装置2に対して座標軸(x軸、y軸、およびz軸)が設定されている。図1に示される例によれば、測定装置2の長手方向にx軸が設定され、測定装置2の幅方向にz軸が設定され、x軸およびz軸の両方に直交する方向にy軸が設定されている。測定装置2に具備される慣性センサは、x軸方向、y軸方向、およびz軸方向の加速度と、x軸周り、y軸周り、およびz軸周りの角速度を検出する。被験者1000は、直立した状態においてx軸の正の向きが上方に向くように、それぞれの位置に測定装置2を保持した。
図2は、左胸ポケットに保持された測定装置2から得られた慣性データを示す図である。図2の(a)は、角速度データであり、図2の(b)は、加速度データである。本図の慣性データによれば、x軸方向の加速度データに略定期的にピークが形成されている(ピーク2000)。これらのピーク2000は、足が接地した際に発生する衝撃によって生じたものである。よって、x軸方向の加速度データに形成されるピーク2000の位置を特定することによって足の接地タイミングを推定することが可能である。ピーク2000の位置とは、ピーク2000が形成された時刻である。
図3は、右手に保持された測定装置2から得られた慣性データを示す図である。図3の(a)は、角速度データであり、図3の(b)は、加速度データである。本図の慣性データによれば、左胸ポケットに保持された測定装置2の場合と異なり、x軸方向の加速度データには明確なピークが存在しない。しかしながら、y軸周りの角速度データは、略周期的に振動する波形を有している。この振動は、測定装置2を保持した右腕を歩行時に前後に振ることによって生じたものである。よって、この振動の正側のピーク2001の位置と、負側のピーク2002の位置とを特定することによって、足の接地タイミングを推定することが可能である。例えば、各ピーク2001、2002が形成された時刻に足が接地したと推定される。
このように、慣性センサから得られる慣性データは、慣性センサが保持される位置に応じて変化することが判明した。このことは、例えば慣性データから足の接地タイミングなどの歩行パターンを推定する場合、慣性センサが保持される位置に対応したアルゴリズムを適用すれば、推定の精度が向上することを示唆している。
以下に、実施形態の情報処理装置が適用された携帯装置1について説明する。携帯装置1は、慣性センサ110を備え、慣性センサ110によって測定された慣性データに基づいて携帯装置1の保持位置を特定することができる。さらに、携帯装置1は、特定した保持位置に対応したアルゴリズムを用いて、利用者の歩行パターンを推定即ち演算することができる。
図4は、第1の実施形態の情報処理装置としての携帯装置1の構成例を示す図である。携帯装置1は、利用者が保持することが可能な装置である。携帯装置1は、例えば、時計、音楽再生機器、撮像装置、活動量計、ノートパソコン、またはスマートフォン、などである。ここでは、携帯装置1はスマートフォンであることとして説明する。
図4に例示されるように、携帯装置1は、慣性センサ110、プロセッサ120、メモリ130、およびバス140を備える。慣性センサ110、プロセッサ120、およびメモリ130は、バス140に電気的に接続されている。
慣性センサ110は、慣性計測装置(Inertial Measurement Unit:IMU)とも称される。慣性センサ110は、3次元の角速度および3次元の加速度を検出する。角速度および加速度を表現するための座標軸は、携帯装置1に対して相対的に固定されている。
図5は、第1の実施形態の情報処理装置としての携帯装置1に対して設定された座標軸の一例を示す図である。本図に例示されるように、携帯装置1の形状は、長方形かつ略平板である。略平板の携帯装置1の1つの面には、通話時等に音を検出するマイクが設けられたマイク孔150と、各種情報を表示する表示画面151と、通話時等に音を出力するスピーカが設けられたスピーカ孔152とが長手方向にこの順番で設けられている。
図5の例では、携帯装置1の長手方向であってマイク孔150からスピーカ孔152に向かう向きにx軸が設定されている。また、携帯装置1の幅方向であって表示画面151を正面から見たときの左向きにz軸が設定されている。また、携帯装置1の表示画面151が設けられた面に対する垂線の方向であって、表示画面151が設けられていない面から表示画面151が設けられた面に向かう向きにy軸が設定されている。なお、図5に示した各座標軸の設定は、一例である。各座標軸は、携帯装置1に対して任意に設定可能である。
慣性センサ110は、x軸方向、y軸方向、およびz軸方向の加速度と、x軸周り、y軸周り、およびz軸周りの角速度と、を検出する。慣性センサ110によって検出された各軸方向の加速度の推移(加速度データ)と、慣性センサ110によって検出された各軸周りの角速度の推移(角速度データ)とは、慣性データを構成する。慣性データは、慣性情報の一例である。なお、慣性センサ110は、角速度の代わりに各軸周りの角度を検出し、慣性データは、慣性センサ110によって検出された各軸周りの角度の推移(角度データ)を含んでいてもよい。慣性データは、加速度データ、角速度データ、および角度データのうちの少なくとも1つを含んでいればよい。
図4に説明を戻す。プロセッサ120は、任意のコンピュータプログラムを実行することによって種々の機能を実現する電子部品である。プロセッサ120は、例えば、CPU(Central Processing Unit)である。
プロセッサ120は、コンピュータプログラムである第1プログラム131に基づいて、位置特定部121および歩行パターン演算部122として機能する。第1プログラム131は、メモリ130に予め格納されている。位置特定部121および歩行パターン演算部122の詳細については後述する。
メモリ130は、データまたはコンピュータプログラムなど、任意の情報を保持可能な電子部品である。メモリ130は、不揮発性または揮発性のメモリによって構成され得る。例えば、メモリ130は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)、ReRAM(Resistive Random Access Memory)、フラッシュメモリ、ハードディスクドライブ、ROM(Read Only Memory)、またはこれらの組み合わせによって構成され得る。
メモリ130には、第1プログラム131、参照データ群132、およびアルゴリズム群133が予め格納される。
第1プログラム131は、プロセッサ120を位置特定部121および歩行パターン演算部122として機能させるためのコンピュータプログラムである。
携帯装置1は、種々の位置に保持され得る。参照データ群132は、想定される保持位置毎に用意された参照データ134の集合である。各参照データ134は、対応する保持位置に利用者が携帯装置1を保持して歩行した場合に得られる典型的な慣性データを示す。
図6は、第1の実施形態の想定される保持位置の例を示す図である。図6の(a)、(d)、および(e)は、利用者を正面から見た図である。なお、図6の(a)には、両手を体側で下垂させた姿勢の利用者が描画されている。図6の(d)には、右手を胸の前で静止させた姿勢の利用者が描画されている。即ち、図6の(d)に描画された利用者の姿勢は、利用者が携帯装置1を右手で保持して携帯装置1を使用している時の姿勢に該当する。図6の(e)には、左手を胸の前で静止させた姿勢の利用者が描画されている。即ち、図6の(e)に描画された利用者の姿勢は、利用者が携帯装置1を左手で保持して携帯装置1を使用している時の姿勢に該当する。図6の(b)は、利用者を背後から見た図であり、図6の(c)は、バッグを持った利用者を正面から見た図である。これらの図に例示されるように、左胸ポケット3a、左腹ポケット3b、左手3c、左脚ポケット3d、左臀部ポケット3e、右胸ポケット3f、右腹ポケット3g、右手3h、右脚ポケット3i、右臀部ポケット3j、肩掛けバッグの中3k、手提げバッグの中3l、右手3m、および左手3nが、携帯装置1の保持位置として想定され得る。
例えば、左胸ポケット3a、左腹ポケット3b、左手3c、左脚ポケット3d、左臀部ポケット3e、右胸ポケット3f、右腹ポケット3g、右手3h、右脚ポケット3i、右臀部ポケット3j、肩掛けバッグの中3k、手提げバッグの中3l、右手3m、および左手3nのそれぞれについて1つの参照データ134が用意される。それぞれ想定される保持位置に対応する複数の参照データ134は、参照データ群132としてメモリ130に格納される。
なお、想定される保持位置毎に2以上の参照データ134が用意されてもよい。例えば、複数の参照データ134が同一の想定される保持位置に対応付けられていてもよい。参照データ群132に含まれる各参照データ134は、複数の想定される保持位置のうちのいずれかに対応付けられていればよい。以降、参照データ134が対応付けられる、想定される保持位置を、想定位置と表記する。
位置特定部121は、参照データ群132に含まれる複数の参照データ134から、慣性センサ110によって測定された慣性データに最も類似した1つの参照データ134を選択する。位置特定部121は、選択した参照データ134に対応付けられた想定位置を、利用者が携帯装置1を保持している位置として特定する。
例えば、図7に例示されるように、利用者1001が任意の位置(本図では右手)に携帯装置1を保持して歩行している最中に、慣性センサ110は角速度および加速度を検出し、位置特定部121は、検出された角速度および加速度の推移を慣性データ200として取得する。そして、位置特定部121は、参照データ群132に含まれる複数の参照データ134のうちの、取得した慣性データ200に最も類似した参照データ134を求める。
慣性データ200と参照データ134とが類似するとは、角速度データおよび加速度データの両方が慣性データ200と参照データ134とで類似することをいう。図7の例によれば、参照データ134hが、慣性データ200に最も類似した参照データ134として選択される。位置特定部121は、参照データ134hに対応付けられた想定位置である右手3hを、携帯装置1の保持位置として特定する。なお、図7には、慣性データ200とはまったく類似していない参照データ134の例として、左胸ポケットに対応付けられた参照データ134aが描画されている。
なお、慣性データ200と参照データ134と比較に基づく類似/非類似の判定方法は、特定の方法に限定されない。
一例では、位置特定部121は、慣性データ200および参照データ134の双方の波形の形状の比較によって類似/非類似を判定し得る。位置特定部121は、慣性データ200の波形および参照データ134の波形のうちの一方または両方に、平滑化などの所定のフィルタ処理を実行し、フィルタ処理の実行後に波形同士の比較を行ってもよい。
別の例では、位置特定部121は、慣性データ200および参照データ134の双方からそれぞれ特徴量を算出し、双方から算出された特徴量を比較する。位置特定部121は、参照データ134毎に慣性データ200の特徴量と参照データ134の特徴量とを比較し、両者の差分が最小である参照データ134を、慣性データ200に最も類似した参照データ134として選択する。なお、特徴量の比較に基づいて類似/非類似が判定される場合、典型的な慣性データの特徴量が参照データ134として用意されてもよい。
このように、位置特定部121は、取得された慣性データと各参照データ134とを任意の方法で比較し、比較の結果に基づいて1つの参照データ134を選択することができる。
なお、第1の実施形態では、携帯装置1に慣性センサ110が具備される。よって、位置特定部121によって特定された携帯装置1の保持位置は、慣性センサ110の保持位置として見なされ得る。
図4に説明を戻す。アルゴリズム群133は、想定位置毎に用意されたアルゴリズム135の集合である。
例えば、左胸ポケット3aに対応付けられたアルゴリズム135aによれば、x軸方向の加速度データが使用される。x軸方向の加速度データに形成されているピークの位置の特定が試みられる。ピークの位置の特定の際には、アルゴリズム135a内で規定された閾値によって、ノイズ成分が適宜除去される。特定されたピークの位置は、足の接地タイミングとして特定される。
また、例えば、右手3hに対応付けられたアルゴリズム135hによれば、y軸周りの角速度データが使用される。y軸周りの角速度データから、正側および負側に形成されているピークの位置の特定が試みられる。ピークの特定の際には、アルゴリズム135h内で規定された閾値によって、ノイズ成分が適宜除去される。特定されたピークの位置は、足の接地タイミングとして特定される。
このように、各アルゴリズム135では、対応する想定位置に応じた計算式、閾値、または使用するデータの種類が規定されている。
歩行パターン演算部122は、携帯装置1の保持位置を位置特定部121から取得する。歩行パターン演算部122は、取得した保持位置に対応するアルゴリズム135を、アルゴリズム群133から取得する。歩行パターン演算部122は、アルゴリズム群133から取得したアルゴリズム135に基づき、慣性センサ110によって取得された慣性データから歩行パターンを演算する。
例えば、図7の例によれば、位置特定部121は、右手3hを携帯装置1(慣性センサ110)の保持位置として特定した。その場合、歩行パターン演算部122は、図8に例示されるように、右手3hに対応付けられたアルゴリズム135hを用いて歩行パターンを演算する。
なお、図8の例によれば、歩行パターン演算部122は、足の接地タイミングを、歩行パターンとして演算している。歩行パターンは、足の接地タイミングだけに限定されない。利用者の歩行の特徴を示す任意の情報が、歩行パターンとして採用され得る。例えば、歩行速度、体幹の左右の傾き、床面と足部との間のクリアランス、などの情報が歩行パターンとして採用され得る。また、これらの情報の組み合わせが歩行パターンとして採用され得る。
次に、携帯装置1の動作を説明する。
図9は、第1の実施形態の、携帯装置1の保持位置を特定する手順を説明するフローチャートである。
まず、慣性センサ110が、加速度および角速度の推移、即ち慣性データを測定する(S101)。S101では、慣性センサ110は、所定の時間間隔で加速度および角速度を検出し、検出された加速度および角速度をメモリ130に蓄積する。S101の処理は、例えば所定の時間、継続される。メモリ130に蓄積された加速度および角速度は、慣性データを構成する。
続いて、位置特定部121は、参照データ群132から、測定された慣性データに最も類似した参照データ134を選択する(S102)。そして、位置特定部121は、選択された参照データ134に対応付けられた想定位置を、携帯装置1の保持位置として特定する(S103)。
S103によって、携帯装置1の保持位置を特定する動作が完了する。
図10は、第1の実施形態の、歩行パターンを演算する手順を説明するフローチャートである。
歩行パターン演算部122は、位置特定部121によって特定された保持位置および慣性データを取得する(S201)。そして、歩行パターン演算部122は、取得された保持位置に対応するアルゴリズム135を、アルゴリズム群133から取得する(S202)。そして、歩行パターン演算部122は、取得されたアルゴリズム135に基づいて、慣性データから歩行パターンを演算する(S203)。S203の処理によって、歩行パターンを演算する動作が完了する。
以上述べたように、第1の実施形態によれば、携帯装置1は、慣性センサ110と、位置特定部121とを備える。慣性センサ110は、慣性データを測定する(S101)。位置特定部121は、参照データ群132として予め用意された、それぞれ複数の想定位置のいずれかに対応付けられた複数の参照データ134と、慣性センサ110によって得られた慣性データと、を比較することによって、1つの想定位置を選択する(S102、S103)。そして、位置特定部121は、選択した想定位置を利用者による携帯装置1の保持位置として特定する(S103)。よって、慣性センサ110の保持位置を特定することが可能である。
また、第1の実施形態によれば、携帯装置1は、歩行パターン演算部122を備える。歩行パターン演算部122は、アルゴリズム群133として予め用意された、複数の想定位置のそれぞれに対応付けられたアルゴリズム135のうちから、特定された携帯装置1の保持位置に対応付けられたアルゴリズム135を取得する(S202)。そして、歩行パターン演算部122は、取得されたアルゴリズム135を用いて、慣性データから利用者の歩行パターンを演算する(S203)。よって、保持位置に対応したアルゴリズム135が適用されるので、歩行パターンの推定の精度が向上する。また、利用者は、種々の位置に携帯装置1を保持しながら、歩行パターンの推定の機能を使用することが可能となる。
なお、第1の実施形態では、特定された携帯装置1の保持位置が歩行パターンの演算に使用された。特定された携帯装置1の保持位置は、歩行パターンの演算だけでなく、任意の処理に使用可能である。
一例では、携帯装置1のプロセッサ120は、特定された携帯装置1の保持位置に応じて着信音の音量を変化させる。携帯装置1のプロセッサ120は、胸ポケット3a、3fに携帯装置1が保持されている場合には、着信音の音量を小さくする。携帯装置1のプロセッサ120は、脚ポケット3d、3iに携帯装置1が保持されている場合には、着信音の音量を大きくする。耳からの距離が遠い場合には着信音の音量を大きくし、耳からの距離が近い場合には着信音の音量を小さくすることで、利用者にとっての利便性が向上する。
別の例では、携帯装置1のプロセッサ120は、特定された携帯装置1の保持位置が手3m、3nである場合には、表示画面151への情報の表示を行わない。特定された携帯装置1の保持位置が手3m、3nである場合、利用者が携帯装置1を使用しながら歩行していると考えられる。したがって、特定された携帯装置1の保持位置が手3m、3nである場合に表示画面151をオフすることによって、歩行しながら携帯装置1を使用する行為を抑止することが可能となる。
このように、特定された携帯装置1(慣性センサ110)の保持位置は、種々の処理に使用され得る。よって、携帯装置1は、歩行パターン演算部122およびアルゴリズム群133を必ずしも備えていなくてもよい。
(第2の実施形態)
第1の実施形態で述べた各参照データ134の生成方法は、特定の方法に限定されない。各参照データ134は、コンピュータシミュレーションによって生成されてもよいし、任意の慣性センサを使用した実測によって生成されてもよい。第2の実施形態では、慣性センサを使用した測定に基づいて各参照データ134が生成される方法について説明する。
図11は、参照データ134を生成する第2の実施形態の生成装置4の構成例を示す図である。生成装置4は、慣性センサ410、プロセッサ420、メモリ430、およびバス440を備える。慣性センサ410、プロセッサ420、およびメモリ430は、バス440に電気的に接続されている。
慣性センサ410は、3次元の角速度および3次元の加速度を検出する。慣性センサ410は、例えば、慣性センサ110と同等または類似した性能を有する。角速度および加速度を表現するための座標軸は、生成装置4に対して相対的に固定されている。
例えば、生成装置4は、携帯装置1と同様の様態(保持位置および保持姿勢)で保持可能なように、携帯装置1と同等または類似した形状を有する。そして、各座標軸は、携帯装置1に対して設定された各座標軸と同等または類似した方向に設定される。
なお、生成装置4は、携帯装置1と異なる形状を有していてもよい。また、生成装置4に設定された各座標軸の方向は、携帯装置1に対して設定された各座標軸の方向と異なっていてもよい。また、慣性センサ410の性能は慣性センサ110の性能と異なっていてもよい。
メモリ430は、データまたはコンピュータプログラムなどの任意の情報を保持可能な電子部品である。メモリ430は、携帯装置1に具備されるメモリ130と同様に、任意の種類のメモリによって構成される。
プロセッサ420は、任意のコンピュータプログラムを実行することによって種々の機能を実現する電子部品である。プロセッサ420は、例えばCPUである。プロセッサ420は、予めメモリ430に格納されたコンピュータプログラムである第2プログラム431を実行することによって、参照データ生成部421として機能する。
参照データ生成部421は、各想定位置に生成装置4が保持された状態で慣性データを取得し、取得した慣性データに基づいて参照データ134を生成する。
図12は、第2の実施形態の、参照データ134を生成する手順を説明するフローチャートである。ここでは、参照データ134の信頼性をできるだけ高めるために、複数のモデル利用者が用意される。複数のモデル利用者が種々の想定位置に生成装置4を保持して歩行し、参照データ生成部421は、生成装置4を保持したモデル利用者がそれぞれ異なる複数の慣性データを想定位置毎に収集する。そして、参照データ生成部421は、想定位置毎に、複数の慣性データに基づいて参照データ134を生成する。より具体的には、参照データ生成部421は、想定位置毎に収集した複数の慣性データを標本として用いることによって、参照データ134を生成する。
まず、想定位置が選択される(S301)。また、モデル利用者が選択される(S302)。想定位置およびモデル利用者の選択方法は任意である。
モデル利用者は、想定位置に生成装置4を保持し(S303)、歩行を開始する(S304)。その後、慣性センサ410は、加速度および角速度の推移(慣性データ)を測定する(S305)。例えば、モデル利用者は、歩行を開始した後に、生成装置4に、測定を開始する操作を入力する。参照データ生成部421は、測定を開始する操作の入力を検知すると、慣性センサ410を起動して、慣性センサ410に加速度および角速度を検出させる。
S305では、慣性センサ410は、所定の時間間隔で加速度および角速度を検出し、検出された加速度および角速度をメモリ430に蓄積(保存)する。S305の処理は、例えば所定の時間、継続される。メモリ430に蓄積された加速度および角速度は、慣性データを構成する。
加速度および角速度の推移の測定が終了すると、全てのモデル利用者が選択されたか否かが判断される(S306)。未選択のモデル利用者が存在する場合には(S306、No)、S302に処理が移行して、未選択のモデル利用者のうちから1人のモデル利用者が選択される。
全てのモデル利用者が選択された場合には(S306、Yes)、参照データ生成部421は、モデル利用者毎に測定された慣性データに基づいて参照データ134を生成する(S307)。S307の処理では、参照データ生成部421は、生成装置4を保持したモデル利用者が異なる複数の慣性データを標本として用いることによって、参照データ134を生成する。例えば、参照データ生成部421は、複数の慣性データの平均データを演算し、得られた平均データを参照データ134とする。なお、参照データ134を演算する方法は、複数の慣性データの平均データを演算する方法だけに限定されない。
続いて、参照データ生成部421は、生成された参照データ134を、S301の処理によって選択された想定位置と対応付けてメモリ430に保存する(S308)。
続いて、全ての想定位置が選択されたか否かが判断される(S309)。未選択の想定位置が存在する場合には(S309、No)、S301に処理が移行して、未選択の想定位置のうちから1つの想定位置が選択される。全ての想定位置が選択された場合(S309、Yes)、参照データ134を生成する処理が終了する。
なお、S301、S302、S306、およびS309の処理は、生成装置4の操作者など任意の人物によって実行され得る。また、S301、S302、S306、およびS309の処理のうちの一部または全部は、参照データ生成部421によってアシストされてもよい。
このように、一例では、複数の参照データ134のそれぞれは、対応する想定位置に保持された生成装置4(慣性センサ410)によって測定された慣性データに基づいて予め生成される。
なお、慣性センサを備え、保持可能なコンピュータであれば、任意の装置を生成装置4として使用することが可能である。
例えば、携帯装置1に第2プログラム431がインストールされることによって、携帯装置1を生成装置4として使用することが可能である。具体的には、携帯装置1のメモリ130に第2プログラム431が予め格納される。携帯装置1のプロセッサ120は、メモリ130に格納された第2プログラム431を実行することによって、参照データ生成部421としての機能を実現する。
また、参照データ134を生成するための標本として使用される慣性データは、1つの生成装置4によって収集されてもよいし、慣性センサを備えた複数の装置によって収集されてもよい。例えば、複数のモデル利用者のそれぞれは、自身が保有する携帯装置1に第2プログラム431をインストールし、その携帯装置1で慣性データを取得する。各携帯装置1によって取得された慣性データは、第2プログラム431がインストールされた任意のコンピュータに集められ、そのコンピュータの参照データ生成部421によって標本として使用されて参照データ134が生成される。慣性データが集められるコンピュータは、必ずしも慣性センサを具備していなくてもよい。
このように、参照データ134を生成するための標本として使用される慣性データは、慣性センサを備えた種々の装置で測定され得るし、参照データ134は、種々の装置で生成され得る。
(第3の実施形態)
第1の実施形態では、慣性データに基づいて携帯装置1の保持位置が特定された。慣性データに加えて、任意の環境データが携帯装置1(慣性センサ110)の保持位置の特定に使用されてもよい。
図13は、第3の実施形態の情報処理装置が適用された携帯装置1aの構成例を示す図である。第1の実施形態と同様の機能を有する構成要素には、第1の実施形態と同じ名称および符号が付されている。ここでは、第1の実施形態と異なる機能を有する構成要素について重点的に説明する。
携帯装置1aは、慣性センサ110、プロセッサ120、メモリ130、環境センサ111、およびバス140を備える。慣性センサ110、プロセッサ120、メモリ130、および環境センサ111はバス140に電気的に接続されている。
環境センサ111は、携帯装置1aの周辺環境に関する情報(環境データ、即ち環境情報)を検出することができるセンサである。環境センサ111は、例えば、温度(温度情報)を検出する温度センサ、地磁気(地磁気情報)を検出する地磁気センサ、気圧(気圧情報)を検出する気圧センサ、照度(照度情報)を検出する照度センサ、近接物の有無(近接物情報)を検出する近接センサ、GPS情報を検出するGPSセンサ、または周辺環境を示す画像(画像情報)を撮像するカメラ、などである。環境センサ111としては、これらのセンサに限定されない。また、携帯装置1aは、複数種類の環境センサ111を備えていてもよい。
メモリ130には、第1プログラム131、参照データ群132′、およびアルゴリズム群133が予め格納される。
参照データ群132′は、それぞれ複数の想定位置の何れかに対応付けられた複数の参照データ134′を含む。
それぞれの参照データ134′は、対応する想定位置に利用者が携帯装置1を保持して歩行した場合に得られる典型的な慣性データと、対応する想定位置に利用者が携帯装置1を保持して歩行した場合に環境センサ111によって得られる典型的な環境データ(波形、値、または画像情報)と、を含む。
プロセッサ120は、第1プログラム131を実行することによって、位置特定部121′および歩行パターン演算部122として機能する。
位置特定部121′は、慣性センサ110によって得られた慣性データと、環境センサ111によって得られた環境データと、の組み合わせと、参照データ群132′に含まれる複数の参照データ134′のそれぞれに含まれる典型的な慣性データと典型的な環境データとの組み合わせとを比較することによって、1つの参照データ134′を選択する。位置特定部121′は、例えば、検出された慣性データおよび検出された環境データに最も類似した慣性データおよび環境データを含む参照データ134′を選択する。位置特定部121′は、選択された参照データ134′に対応付けられた想定位置を、携帯装置1a(あるいは慣性センサ110)の保持位置として特定する。
このように、第3の実施形態によれば、携帯装置1aは、環境データを検出する環境センサ111をさらに備える。位置特定部121′は、慣性センサ110によって取得された慣性データと環境センサ111によって取得された環境データとの組み合わせと、複数の参照データ134′と、を比較することによって、複数の想定位置のうちの1つを選択する。よって、保持位置を特定するための情報の種類が増加せしめられるので、保持位置の特定の精度の向上が見込まれる。
また、環境データは、例えば、温度情報、地磁気情報、気圧情報、照度情報、近接物の近接情報、GPS情報、または画像情報である。よって、慣性データに加えてこれらの情報が保持位置に使用されるので、保持位置の特定の精度の向上が見込まれる。なお、環境データは、これらに限定されない。携帯装置1a(慣性センサ110)の周辺環境に関する情報であれば任意の情報が環境データとして使用され得る。
なお、第3の実施形態の参照データ134′は、コンピュータシミュレーションによって生成されてもよいし、慣性データおよび環境データの測定によって生成されてもよい。慣性データおよび環境データの測定によって参照データ134′が生成される場合、例えば、慣性データを測定する慣性センサと、環境データを測定する環境センサと、を備える生成装置が使用されればよい。
(第4の実施形態)
実施形態の情報処理装置としての機能は、複数の装置によって実現されてもよい。
図14は、第4の実施形態の情報処理装置が適用されたシステム1bの構成例を示す図である。第1の実施形態と同様の機能を有する構成要素には、第1の実施形態と同様の名称および符号を付す。ここでは、第1の実施形態と異なる構成要素について重点的に説明する。
システム1bは、1以上の携帯装置5としての携帯装置5a、5b、5cと、サーバコンピュータ6を備える。
携帯装置5a、5b、5cは、利用者が保持することが可能な装置であり、例えば、時計、音楽再生機器、撮像装置、活動量計、ノートパソコン、またはスマートフォン、などである。携帯装置5a、5b、5cは、それぞれ異なる利用者に保持され得る。携帯装置5a、5b、5cのうちの一部または全部は、一人の利用者に保持されてもよい。
携帯装置5a、5b、5cは、同様の構成を備えている。ここでは、携帯装置5a、5b、5cの代表として携帯装置5aをとりあげて、携帯装置5aの構成について説明する。
携帯装置5aは、慣性センサ110および通信インタフェース160を備える。通信インタフェース160は、外部の装置と有線または無線で情報通信を実行するインタフェース装置である。通信インタフェース160が準拠する規格は、特定の規格に限定されない。
携帯装置5aでは、慣性センサ110が、慣性データを測定する。測定された慣性データは、通信インタフェース160を介してサーバコンピュータ6に送信される。
サーバコンピュータ6は、所定の箇所に設置されたコンピュータである。サーバコンピュータ6は、通信インタフェース610、プロセッサ620、メモリ630、およびバス640を備える。通信インタフェース610、プロセッサ620、およびメモリ630は、バス640に電気的に接続されている。
メモリ630は、メモリ130等と同様に、任意の種類の記憶装置によって構成され得る。メモリ630には、参照データ群132およびアルゴリズム群133が予め格納される。
通信インタフェース610は、外部の装置と有線または無線で情報通信を実行するインタフェース装置である。通信インタフェース610は、通信インタフェース160と同様の規格に準拠しており、通信インタフェース160との間で情報通信を実行することが可能である。
プロセッサ620は、コンピュータプログラムを実行することによって任意の機能を実現することができる電子部品である。プロセッサ620は、予めメモリ630に格納されたプログラム(不図示)に基づいて、位置特定部121および歩行パターン演算部122として機能する。
サーバコンピュータ6は、各携帯装置5から通信インタフェース610に慣性データを受信することができる。位置特定部121は、いずれかの携帯装置5から慣性データを受信した後、その慣性データに最も類似した参照データ134を参照データ群132から選択する。そして、位置特定部121は、選択された参照データ134に対応付けられた想定位置を、その慣性データの送信元の携帯装置5の保持位置として特定する。歩行パターン演算部122は、特定された保持位置に対応付けられたアルゴリズム135をアルゴリズム群133から選択し、選択されたアルゴリズム135と慣性データとを用いて、慣性データの送信元の携帯装置5を保持する利用者の歩行パターンを演算する。
このように、利用者が保持できる携帯装置5に慣性センサ110が具備され、携帯装置5に対して遠隔地に設置されたサーバコンピュータ6に位置特定部121および歩行パターン演算部122が具備される。携帯装置5では慣性データが測定され、サーバコンピュータ6ではその携帯装置5の保持位置の特定とその携帯装置5を保持する利用者の歩行パターンの演算とが実行される。
なお、位置特定部121および参照データ群132は、携帯装置5に具備されてもよい。また、歩行パターン演算部122およびアルゴリズム群133は、携帯装置5に具備されてもよい。
以上述べたように、実施形態の情報処理装置は、複数の装置によって構成され得る。
(第5の実施形態)
第2の実施形態では、モデル利用者毎に測定された複数の慣性データを標本として用いて参照データ134が生成される例について説明した。予め用意された参照データ134は、利用者が実際に保持する携帯装置において測定された測定データに基づいて更新されてもよい。
図15は、第5の実施形態の情報処理装置が適用されたシステム1cの構成例を示す図である。第1の実施形態と同様の機能を有する構成要素には、第1の実施形態と同様の名称および符号を付す。ここでは、第1の実施形態と異なる構成要素について重点的に説明する。
システム1cは、1以上の携帯装置7としての携帯装置7a、7b、7cと、サーバコンピュータ8を備える。
携帯装置7a、7b、7cは、利用者が保持することが可能な装置であり、例えば、時計、音楽再生機器、撮像装置、活動量計、ノートパソコン、またはスマートフォン、などである。携帯装置7a、7b、7cは、それぞれ異なる利用者に保持され得る。携帯装置7a、7b、7cのうちの一部または全部は、一人の利用者に保持されてもよい。
携帯装置7a、7b、7cは、同様の構成を備えている。ここでは、携帯装置7a、7b、7cの代表として携帯装置7aをとりあげて、携帯装置7aの構成について説明する。
携帯装置7aは、慣性センサ110、プロセッサ120、メモリ130、バス140、および通信インタフェース160を備える。慣性センサ110、プロセッサ120、メモリ130、および通信インタフェース160は、バス140に電気的に接続されている。
通信インタフェース160は、外部の装置と有線または無線で情報通信を実行するインタフェース装置である。通信インタフェース160が準拠する規格は、特定の規格に限定されない。
メモリ130には、参照データ群132およびアルゴリズム群133が予め格納される。プロセッサ120は、メモリ130に予め格納されるプログラム(不図示)に基づいて、位置特定部121および歩行パターン演算部122として機能する。
サーバコンピュータ8は、所定の箇所に設置されたコンピュータである。サーバコンピュータ8は、通信インタフェース610、プロセッサ620、メモリ630、およびバス640を備える。通信インタフェース610、プロセッサ620、およびメモリ630は、バス640に電気的に接続されている。
プロセッサ620は、予めメモリ630に格納されたプログラム(不図示)に基づいて、参照データ更新部621として機能する。
携帯装置7aでは、慣性センサ110は、例えばS101の処理によって慣性データを測定する。測定された慣性データは、保持位置が特定された後、プロセッサ120による制御に従って、通信インタフェース160を介してサーバコンピュータ8に送信される。慣性データは、特定された保持位置と対応付けて送信される。
サーバコンピュータ8では、通信インタフェース610を介して慣性データを受信すると、参照データ更新部621は、受信した慣性データに基づいて、その慣性データに対応付けられた保持位置に対応する参照データ134を更新する。
なお、参照データ134の更新の方法は、特定の方法に限定されない。一例では、参照データ更新部621は、1以上の携帯装置7から受信する慣性データを、保持位置毎にメモリ630に蓄積する。そして、参照データ更新部621は、新たな慣性データを受信すると、それまでに蓄積された1以上の慣性データに新たな慣性データを加えた複数の慣性データに基づいて、参照データ(更新された参照データ)を新たに生成する。複数の慣性データに基づいて参照データ134を生成する手法としては、例えば第2の実施形態のS307の処理と同様の手法が採用される。
参照データ更新部621は、更新された参照データを通信インタフェース610を介して慣性データの送信元である携帯装置7aに送信する。携帯装置7aでは、プロセッサ120は、更新された参照データを通信インタフェース160を介して受信すると、参照データ群132に含まれている対応する参照データ134を、更新された参照データで上書きする。
このように、上記の構成により、参照データ134は、利用者が保持する携帯装置7によって得られた慣性データに基づいて適宜更新され得る。実際に利用者が携帯装置7を保持することによって得られた慣性データに基づいて参照データ134が更新されるので、サーバコンピュータ8に送られた環境データの増加とともに保持位置を特定する処理の信頼性が向上する。
なお、各携帯装置7からサーバコンピュータ8に慣性データが送信されるタイミングは、特定のタイミングに限定されない。各携帯装置7において、プロセッサ120は、慣性データをメモリ130に蓄積し、メモリ130に蓄積された全ての慣性データを予め決められた時刻に一括してサーバコンピュータ8に送信してもよい。
また、サーバコンピュータ8から各携帯装置7に更新された参照データが送信されるタイミングは、特定のタイミングに限定されない。サーバコンピュータ8において、参照データ更新部621は、更新された参照データを予め決められた時刻に各携帯装置7に送信してもよい。
また、更新された参照データは、慣性データの送信元の携帯装置7だけでなく複数の携帯装置7(例えば全ての携帯装置7)にブロードキャストされてもよい。
第1~第5の実施形態では、位置特定部121、121′、歩行パターン演算部122、参照データ生成部421、および参照データ更新部621の機能は、プロセッサがコンピュータプログラム(第1プログラム131および第2プログラム431を含む)を実行することによって実現される、として説明した。位置特定部121、121′、歩行パターン演算部122、参照データ生成部421、および参照データ更新部621の機能のうちの一部または全部は、コンピュータプログラムを要しない専用のハードウェア回路によって実現されてもよい。
また、第1~第5の実施形態では、利用者の歩行パターンが演算された。演算によって得られた歩行パターンは、任意の処理に使用可能である。
例えば、特許文献1に示される特定人物を識別する技術に、第1~第5の実施形態の情報処理装置によって演算された歩行パターンを使用することが可能である。第1~第5の実施形態の情報処理装置によれば、高い精度で歩行パターンを演算することが可能であるので、特定人物の識別の精度が向上する。
また、位置特定部121、121′、歩行パターン演算部122、参照データ生成部421、および参照データ更新部621の機能のうちの一部または全部を実現するコンピュータプログラム(第1プログラム131および第2プログラム431を含む)は、コンピュータにインストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)、またはフラッシュメモリ等の、コンピュータで読み取り可能な記録媒体に記録されて提供され得る。
また、位置特定部121、121′、歩行パターン演算部122、参照データ生成部421、および参照データ更新部621の機能のうちの一部または全部を実現するコンピュータプログラム(第1プログラム131および第2プログラム431を含む)は、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。
以上、本発明の実施形態を例示したが、上記実施形態および変形例はあくまで一例であって、発明の範囲を限定することは意図していない。上記実施形態や変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、組み合わせ、変更を行うことができる。また、各実施形態や各変形例の構成や形状は、部分的に入れ替えて実施することも可能である。