(57)【特許請求の範囲】
【請求項１】
加速度センサから出力される３軸の加速度データを用いて、当該装置を所持する歩行者の歩数を検出する歩数検出装置であって、
時間経過に伴う前記加速度データから、重力方向の加速度成分(ｇx,ｇy,ｇz)を算出する重力方向算出手段と、
時間経過に応じた前記加速度データから、腕振りによって生じる加速度面を近似的に導出する加速度平面近似手段と、
前記加速度データから、重力方向及び加速度面の法線方向に直交する前後方向の加速度成分を算出する前後方向加速度算出手段と、
前記前後方向加速度が０となる時点を一歩として、歩数を計数する歩数計数手段と
を有することを特徴とする歩数検出装置。
【請求項２】
前記加速度平面近似手段は、左右方向の加速度成分(ANx,ANy,ANz)（加速度面の法線ベクトル）を最小二乗法によって近似的に算出し、
前記前後方向加速度算出手段は、前記加速度データから、前記重力方向の加速度成分と前記左右方向の加速度成分とを除去することによって、前記前後方向の加速度成分を算出することを特徴とする請求項１に記載の歩数検出装置。
【請求項３】
前記前後方向加速度算出手段は、
前記加速度データと重力方向の加速度成分との内積を用いて、前記加速度データから前記重力方向の加速度成分を除去した水平方向の加速度成分を算出し、
前記水平方向の加速度成分と前記左右方向の加速度成分との内積を用いて、前記水平方向の加速度成分から前記左右方向の加速度成分を除去した前後方向の加速度成分を算出することを特徴とする請求項２に記載の歩数検出装置。
【請求項４】
３軸の加速度データを出力する加速度センサを含む携帯端末に搭載されたコンピュータを機能させる歩数検出用のプログラムであって、
時間経過に伴う前記加速度データから、重力方向の加速度成分(ｇx,ｇy,ｇz)を算出する重力方向算出手段と、
時間経過に応じた前記加速度データから、腕振りによって生じる加速度面を近似的に導出する加速度平面近似手段と、
前記加速度データから、重力方向及び加速度面の法線方向に直交する前後方向の加速度成分を算出する前後方向加速度算出手段と、
前記前後方向加速度が０となる時点を一歩として、歩数を計数する歩数計数手段と
してコンピュータを機能させることを特徴とする歩数検出用のプログラム。
【請求項５】
３軸の加速度データを出力する加速度センサを含む携帯端末における歩数検出方法であって、
時間経過に伴う前記加速度データから、重力方向の加速度成分(ｇx,ｇy,ｇz)を算出する第１のステップと、
時間経過に応じた前記加速度データから、腕振りによって生じる加速度面を近似的に導出する第２のステップと、
前記加速度データから、重力方向及び加速度面の法線方向に直交する前後方向の加速度成分を算出する第３のステップと、
前記前後方向加速度が０となる時点を一歩として、歩数を計数する第４のステップと
を有することを特徴とする歩数検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加速度センサを用いた歩数検出装置、プログラム及び方法に関する。
【背景技術】
【０００２】
従来、加速度センサを用いて、歩行者の歩数を検出する技術がある。近年、加速度センサは、利用者によって常に所持される携帯電話機のような携帯端末にも搭載されてきている。携帯端末で、歩数を検出するアプリケーションを実行させることによって、その利用者の歩数を検出することができる。
【０００３】
図１は、合成加速度を用いた歩数の検出を表す説明図である。
【０００４】
図１によれば、歩行者は、携帯端末を把持し、その手を前後に振りながら歩行している。携帯端末には、加速度センサと歩数検出装置とが搭載されている。加速度センサによって検出された加速度データの波形を分析することによって、歩数が検出される。例えば、加速度センサから出力される軸（ｘ，ｙ，ｚ）毎の加速度データに対して、二乗和の平方根（（√(ｘ2＋ｙ2＋ｚ2)）：合成加速度Ｇ）を算出する。
【０００５】
また、図１には、加速度センサによって検出された合成加速度Ｇと、歩数（時間経過）との関係をプロットしたグラフも表されている。図１のグラフによれば、携帯端末を把持する歩行者の手が真下にある時、合成加速度は、極大（最大）となる。逆に、歩行者の手が最も高い位置にある時、合成加速度は、極小（最小）となる。
【０００６】
そうすると、合成加速度が極大又は極小となる回数（ピーク−ピーク間の回数）を計数することによって、手振りの回数が導出される（例えば特許文献１参照）。手振りの１回は、歩行者の１歩に相当する。このように、合成加速度Ｇを１次微分し、その極大点（又は極小点）を計数することによって、最下点を計数し、結果的に「歩数」を計数する。
【０００７】
図２は、時間経過に伴う合成加速度の変化を表す実際のグラフである。
【０００８】
歩数検出装置を把持した歩行者が実際に歩行した場合、歩行者の１歩が常に極大点とならない場合がある。そうすると、１歩毎の極大点を検出する技術によれば、検出された歩数は、実際の歩数よりも少なくなる場合がある。その理由としては、携帯端末が手持ち状態であるために、加速度センサによって検出される波形が乱れることに基づく。特に、歩行者が手を前方と後方に振る場合に、合成加速度の大きさが異なるためである。
【０００９】
これに対し、歩数検出装置が、歩行者の手に把持された状態で、できる限り正しい歩数を検出するため、腕の振り特有の波形の乱れを分析する技術もある（例えば特許文献２参照）。この技術によれば、加速度データの波形は、歩行者の１歩が常に極大点にならない場合であっても、腕の振り特有の波形の形状を検出することによって、歩数を補完することができる。
【００１０】
また、加速度データの中で、水平方向の加速度成分のみを算出し、その大きさの変動から、歩数を算出する技術もある（例えば特許文献３参照）。この技術によれば、水平方向の加速度成分は、腕の前後の振りに対応して、２歩毎に１周期の波形となる。この特性に基づいて、水平方向の加速度成分から算出した極大点に基づいて、歩数を検出することができる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００５−０３８０１８号公報
【特許文献２】特開２００９−０９３４４０号公報
【特許文献３】特開２００９−１３５４７２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献２に記載された技術によれば、腕の振り特有の波形の形状を、パラメータによって設定する必要がある。このパラメータが、個人の腕振りの特性に適合して設定されていない場合、十分に歩数を補完することができない。逆に、パラメータの設定によっては、歩数を過度に補完する場合もある。
【００１３】
また、特許文献３に記載された技術によれば、水平方向の加速度成分は、前後方向の加速度成分だけでなく、左右方向の加速度成分も含まれる。そのために、左右方向の加速度成分によっては、極大点の数が歩数と一致しない場合も生じる。
【００１４】
そこで、本発明は、歩行者が、携帯端末を手持ちで歩行している場合であっても、加速度センサを用いて、できる限り正確な歩数を計数する歩数検出装置、プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明によれば、加速度センサから出力される３軸の加速度データを用いて、当該装置を所持する歩行者の歩数を検出する歩数検出装置であって、
時間経過に伴う加速度データから、重力方向の加速度成分(ｇx,ｇy,ｇz)を算出する重力方向算出手段と、
時間経過に応じた加速度データから、腕振りによって生じる加速度面を近似的に導出する加速度平面近似手段と、
加速度データから、重力方向及び加速度面の法線方向に直交する前後方向の加速度成分を算出する前後方向加速度算出手段と、
前後方向加速度が０となる時点を一歩として、歩数を計数する歩数計数手段と
を有することを特徴とする。
【００１６】
本発明の歩数検出装置における他の実施形態によれば、
加速度平面近似手段は、左右方向の加速度成分(ANx,ANy,ANz)（加速度面の法線ベクトル）を最小二乗法によって近似的に算出し、
前後方向加速度算出手段は、加速度データから、重力方向の加速度成分と左右方向の加速度成分とを除去することによって、前後方向の加速度成分を算出することも好ましい。
【００１７】
本発明の歩数検出装置における他の実施形態によれば、
前後方向加速度算出手段は、
加速度データと重力方向の加速度成分との内積を用いて、加速度データから重力方向の加速度成分を除去した水平方向の加速度成分を算出し、
水平方向の加速度成分と左右方向の加速度成分との内積を用いて、水平方向の加速度成分から左右方向の加速度成分を除去した前後方向の加速度成分を算出することも好ましい。
【００１８】
本発明によれば、３軸の加速度データを出力する加速度センサを含む携帯端末に搭載されたコンピュータを機能させる歩数検出用のプログラムであって、
時間経過に伴う加速度データから、重力方向の加速度成分(ｇx,ｇy,ｇz)を算出する重力方向算出手段と、
時間経過に応じた加速度データから、腕振りによって生じる加速度面を近似的に導出する加速度平面近似手段と、
加速度データから、重力方向及び加速度面の法線方向に直交する前後方向の加速度成分を算出する前後方向加速度算出手段と、
前後方向加速度が０となる時点を一歩として、歩数を計数する歩数計数手段と
してコンピュータを機能させることを特徴とする。
【００１９】
本発明によれば、３軸の加速度データを出力する加速度センサを含む携帯端末における歩数検出方法であって、
時間経過に伴う加速度データから、重力方向の加速度成分(ｇx,ｇy,ｇz)を算出する第１のステップと、
時間経過に応じた加速度データから、腕振りによって生じる加速度面を近似的に導出する第２のステップと、
加速度データから、重力方向及び加速度面の法線方向に直交する前後方向の加速度成分を算出する第３のステップと、
前後方向加速度が０となる時点を一歩として、歩数を計数する第４のステップと
を有することを特徴とする。
【発明の効果】
【００２０】
本発明の携帯端末、プログラム及び方法によれば、加速度センサから出力される加速度データから、前後方向の加速度成分のみを抽出することによって、歩行者が携帯端末を手持ちで歩行している場合であっても、できる限り正確な歩数を計数することができる。
【図面の簡単な説明】
【００２１】
【図１】合成加速度を用いた歩数の検出を表す説明図である。
【図２】時間経過に伴う合成加速度の変化を表す実際のグラフである。
【図３】歩行者の歩行態様と、加速度データの変動とを表す説明図である。
【図４】３つの加速度成分を表す説明図である。
【図５】本発明における歩行検出装置の機能構成図である。
【図６】本発明における各軸の加速度の変化を表す実際のグラフである。
【発明を実施するための形態】
【００２２】
以下では、図面を用いて、本発明を実施するための最良の形態について詳細に説明する。
【００２３】
図３は、歩行者の歩行態様と、加速度データの変動とを表す説明図である。
【００２４】
図３によれば、歩行者は、携帯端末を把持し、その手を前後に振りながら歩行している。このような一般的な歩行態様を横方向から見れば、携帯端末の位置は、円弧を描きながら振り子状に前後に変動している。また、進行方向から見れば、携帯端末の位置は、上下に変動しており、鉛直方向から見れば、前後に変動している。
【００２５】
携帯端末を手持ちした腕における肩部分は、携帯端末の位置変動が描く円弧の回転軸となる。この曲線の変動は、携帯端末に搭載された加速度センサによって検出される。加速度センサから得られた３軸の加速度データ（ｘ、ｙ、ｚ）を、３次元座標系にプロットすることによって加速度面が表される。即ち、その回転軸とその円弧とからなる平面（扇形）は、加速度面（加速度ベクトル群の成す面）として表される。
【００２６】
携帯端末が手持ちで振られる限り、この加速度面は、進行方向に対してほぼ平行になる。また、加速度面に対する法線ベクトルは、進行方向に対して垂直となり、左右方向の加速度成分を表す。
【００２７】
図４は、３つの加速度成分を表す説明図である。
【００２８】
加速度センサから得られた加速度データは、以下の３つの成分が合成されたものである。
（１）重力方向（鉛直方向）の加速度成分
（２）左右方向の加速度成分
（３）前後方向の加速度成分
これら３つの加速度成分は、以下の関係を有する。
加速度データ＝
重力方向の加速度成分＋左右方向の加速度成分＋前後方向の加速度成分
前後方向の加速度成分＝
加速度データ−重力方向の加速度成分−左右方向の加速度成分
歩行者の腕振りが、２歩毎に１往復するために、前後方向の加速度成分も、２歩毎に１周期の変動となる。
【００２９】
図５は、本発明における歩行検出装置の機能構成図である。
【００３０】
図５によれば、歩行者に所持される携帯端末１は、加速度センサ１０と、歩数検出装置１１とを含む。加速度センサ１０は、加速度、即ち単位時間当たりの速度の変化を検出する。そのタイプとしては、１軸、２軸又は３軸がある。携帯端末の傾きを検出することができる３軸タイプの場合、３次元の加速度を検出できる。
【００３１】
歩数検出装置１１は、重力方向算出部１１１と、加速度平面近似部１１２と、前後方向加速度算出部１１３と、歩数計数部１１４とを有する。歩数検出装置１１は、携帯端末に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。
【００３２】
重力方向算出部１１１は、重力方向の加速度成分(ｇx，ｇy，ｇz)を算出する。加速度センサから出力される加速度データは、重力だけでなく、腕振り運動による加速度成分も併せて検出される。従って、重力方向の加速度成分のみを正確に計測することは困難である。そのために、代替的に、所定時間範囲におけるｘ軸、ｙ軸及びｚ軸毎の加速度データの和に基づくベクトルの向きを、重力方向とみなすことができる。
【００３３】
i番目の各軸の加速度データACCx、ACCy、ACCzは、以下のように表される。
ACCx[i]：ｘ軸の加速度データ
ACCy[i]：ｙ軸の加速度データ
ACCz[i]：ｚ軸の加速度データ
ここで、ｎ個の加速度データの和ACCSx、ACCSy、ACCSzは、以下のように表される。
ACCSx＝Σi=1NACCx[i]
ACCSy＝Σi=1NACCy[i]
ACCSz＝Σi=1NACCz[i]
このとき、重力方向のベクトル(ｇx，ｇy，ｇz)は、以下のように表される。
(ｇx，ｇy，ｇz)＝(ACCSx，ACCSy，ACCSz)
【００３４】
他の代替案として、加速度データの和ではなく、以下のように平均値を用いることもできる。
(ｇx，ｇy，ｇz)＝(ACCSx/n，ACCSy/n，ACCSz/n)
【００３５】
また、１つ前の時点に算出された重力方向の加速度に、現時点で検出した加速度を、所定割合で反映することもできる。
ｇx[t]＝(1-α)ｇx[t-1]＋αACCx[t]
ｇy[t]＝(1-α)ｇy[t-1]＋αACCy[t]
ｇz[t]＝(1-α)ｇz[t-1]＋αACCz[t]
α：パラメータ
【００３６】
加速度平面近似部１１２は、原点を通る加速度面を近似的に算出する。複数の加速度データをプロットした加速度面を平面に近似し、その加速度面に対する法線ベクトル（左右方向の加速度成分）を導出することができる。
【００３７】
加速度面を近似的に算出する方法としては、例えば、最小二乗法がある。最小二乗法は、残差の２乗の和が最小になるように、その現象に対し、予測関数ｆ(ｘ)のそれぞれの係数を決定する方法である。残差とは、ｉ番目のデータｎｉに対して予測された関数値ｆ(ｎｉ)と、測定されたデータｍｉとの差、即ちｍｉ−ｆ(ｎｉ)である。
【００３８】
一般に原点を通る平面は、以下の式（１）によって表される。
ａｘ＋ｂｙ＋ｃｚ＝０                                          式（１）
このとき、（ａ、ｂ、ｃ）は、平面に対する法線ベクトルとなる。
ここで、計算を単純化するため、式（１）を、式（２）のように変形する。
ｚ＝αｘ＋βｙ                                                式（２）
尚、（ａ、ｂ、ｃ）は法線ベクトルであるため、ｃ＝−１としてもよい。
【００３９】
ｎ個の点群ｘｉ、ｙｉ、ｚｉ（ｉ＝１〜ｎ）が与えられたとき、以下の式（３）が最小となるα及びβを算出すればよい。
Ｓ＝Σi=1n(ｚｉ−αｘｉ−βｙｉ)                              式（３）
ここで、以下のように規定したとする。
Ａ＝Σi=1n(ｘｉ２)
Ｂ＝Σi=1n(ｙｉ２)
Ｃ＝Σi=1n(ｚｉ２)
Ｄ＝Σi=1n(ｘｉ×ｙｉ)
Ｅ＝Σi=1n(ｘｉ×ｚｉ)
Ｆ＝Σi=1n(ｙｉ×ｚｉ)
【００４０】
このとき、式（３）は、以下のような式（４）になる。
Ｓ＝Ａα２＋Ｂβ２＋Ｃ＋２αβＤ−２αＥ−２βＦ              式（４）
【００４１】
式（４）をαの関数とみなした場合、凹型の２次関数となり、極小値が最小となる。これは、βにおいても同様である。即ち、Ｓをα、βに関して偏微分し、０となる点が求める解となる。
∂Ｓ／∂α＝αＡ＋βＤ−Ｅ＝０                                式（５）
∂Ｓ／∂β＝βＢ＋αＤ−Ｆ＝０                                式（６）
【００４２】
式（５）及び式（６）を解くと、以下の式（７）及び式（８）が導出される。
α＝（ＢＥ−ＤＦ）／（ＡＢ−Ｄ２）                            式（７）
β＝（ＡＦ−ＤＥ）／（ＡＢ−Ｄ２）                            式（８）
法線ベクトル（左右方向の加速度成分）は、（α、β、−１）として算出される。
【００４３】
前後方向加速度算出部１１３は、前後方向の加速度成分を算出する。前後方向加速度算出部１１３は、最初に、加速センサから出力された加速度データから、重力方向の加速度成分を除くことによって、水平方向の加速度成分を算出する。
ACCHx＝ACCx−IPG×ｇx
ACCHy＝ACCy−IPG×ｇy
ACCHz＝ACCz−IPG×ｇz
IPG＝（ACCx×ｇx＋ACCy×ｇy＋ACCz×ｇz）／（√(ｇx2＋ｇy2＋ｇz2)）
ACCHx：ｘ軸の加速度データにおける水平方向の加速度成分
ACCHy：ｙ軸の加速度データにおける水平方向の加速度成分
ACCHz：ｚ軸の加速度データにおける水平方向の加速度成分
IPG：加速度データと重力方向の加速度成分（大きさ１）との内積
【００４４】
次に、その水平方向の加速度成分から、左右方向の加速度成分（加速度面の法線ベクトル）を除くことによって、前後方向の加速度成分を算出する。
ACCFx＝ACCHx−IPL×ANx
ACCFy＝ACCHy−IPL×ANy
ACCFz＝ACCHz−IPL×ANz
IPL＝（ACCHx×ANx＋ACCHy×ANy＋ACCHz×ANz）／（√(ANx2＋ANy2＋ANz2)）
ANx：加速度面の法線ベクトルのｘ軸成分
ANy：加速度面の法線ベクトルのｙ軸成分
ANz：加速度面の法線ベクトルのｚ軸成分
ACCFx：ｘ軸の加速度データにおける前後方向の加速度成分
ACCFy：ｙ軸の加速度データにおける前後方向の加速度成分
ACCFz：ｚ軸の加速度データにおける前後方向の加速度成分
IPL：加速度データと左右方向の加速度成分（大きさ１）との内積
【００４５】
尚、前述とは逆に、加速度データから左右方向の加速度成分を除いて、次に、重力方向の加速度成分の順で除いてもよい。又は、重力方向及び左右方向のベクトルの外積を算出し、前後方向とし、加速度の前後方向成分データを算出してもよい。
【００４６】
歩数計数部１１４は、前後方向加速度が０となる時点を一歩として、歩数を算出する。前後方向の加速度成分は、２歩毎に１周期の変動となる。従って、０と交差する時点の数を、歩数をして検出することができる。
【００４７】
図６は、本発明における各軸の加速度の変化を表す実際のグラフである。
【００４８】
０と交差する時点は、加速度成分の値が０である。即ち、加速度の値が、０、又は、正->負及び負->正に変化する時点である。０と交差する点を数えるのに利用する加速度成分は、ｘ軸、ｙ軸及びｚ軸のいずれの値でもよい。但し、振幅が大きいものであることが好ましい。例えば、ｘ軸の値を利用する場合、i番目のｘ軸の前後方向加速度データをACCFx[i]とすると、以下の条件のいずれかを満たす時点で、０と交差するといえる。
ACCFx[i]＝０
ACCFx[i-1]＞０  且つ  ACCFx[i]＜０
ACCFx[i-1]＜０  且つ  ACCFx[i]＞０
【００４９】
以上、詳細に説明したように、本発明の携帯端末、プログラム及び方法によれば、加速度センサから出力される加速度データから、前後方向の加速度成分のみを抽出することによって、歩行者が携帯端末を手持ちで歩行している場合であっても、できる限り正確な歩数を計数することができる。
【００５０】
前述した本発明における種々の実施形態によれば、当業者は、本発明の技術思想及び見地の範囲における種々の変更、修正及び省略を容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００５１】
１  携帯端末
１０  加速度センサ
１１  歩数検出装置
１１１  重力方向算出部
１１２  加速度平面近似部
１１３  前後方向加速度算出部
１１４  歩数計数部
【図１】
0005462587.tif 000002
【図２】
0005462587.tif 000003
【図３】
0005462587.tif 000004
【図４】
0005462587.tif 000005
【図５】
0005462587.tif 000006
【図６】
0005462587.tif 000007