以下、本発明の実施形態について、図面を参照しながら説明する。図中、互いに同一又は同等の構成には、互いに同一の符号を付す。
図1に示す測定システム1は、検出装置2を所有する検出装置2のユーザが走っているとき、すなわちユーザが走行動作を行うことにより移動しているときに、ユーザが行っている走行動作の特徴を示す走行動作情報を取得し、取得された走行動作情報をユーザへ提示する。検出装置2のユーザは、対象者の一例である。走行動作は、移動動作の一例である。走行動作情報は、移動動作情報の一例である。なお、本実施形態では、対象者が、検出装置2を所有する検出装置2のユーザであるものとして説明するが、これは一例に過ぎない。対象者は、検出装置2を所有する検出装置2のユーザから検出装置2を借りて使用する人間であってもよい。
測定システム1は、図1に示すように、ユーザの腰に装着された検出装置2と、ユーザによって所持される端末装置3と、を備えている。検出装置2は、測定装置の一例である。検出装置2は、本体部20と、ユーザの腰に巻き付けられるベルト部21と、を備えている。検出装置2の本体部20は、ベルト部21によってユーザの腰の中央部に固定されている。検出装置2は、ユーザが走っているときに、走っているユーザの加速度、すなわちユーザの身体の加速度の経時推移を検出する。検出装置2は、検出されたユーザの加速度の経時推移に応じて、ユーザが走っているときにユーザが離地動作を行った離地タイミングを検出する。離地動作は、両足のうち少なくとも一方を地面から離す動作である。ユーザは、走行動作を行う場合、離地動作と、後述する着地動作と、を交互に繰り返し実行する。すなわち、離地動作及び着地動作は、走行動作に含まれた、走行動作に関連する動作である。離地動作は、対象動作の一例である。離地タイミングは、対象タイミングの一例である。検出装置2は、検出された離地タイミングに応じて走行動作情報を取得し、取得された走行動作情報を端末装置3へ送信する。
なお、本実施形態では、ユーザが、走行動作を行うことにより移動するものとして説明するが、これは一例に過ぎない。ユーザは、任意の移動動作を行うことにより移動することができる。例えば、ユーザは、歩行動作を行うことにより移動してもよい。この場合、検出装置2は、歩いているユーザの加速度の経時推移を検出し、検出されたユーザの加速度の経時推移に応じて、歩いているユーザが離地動作を行った離地タイミングを検出し、検出された離地タイミングに応じて、ユーザの歩行動作の特徴を示す歩行動作情報を取得すればよい。歩行動作は、移動動作の一例であり、歩行動作情報は、移動動作情報の一例である。また、本実施形態では、検出装置2が、ユーザの腰に固定されるものとして説明するが、これは一例に過ぎず、検出装置2は、ユーザの身体の任意の一部に固定することができる。例えば、検出装置2を、ユーザの胸部に固定してもよい。或いは、検出装置2を、ユーザの腹部に固定してもよい。また、本実施形態では、検出装置2が、ベルト部21によってユーザの腰に固定されるものとして説明するが、これは一例に過ぎず、検出装置2は、任意の方法でユーザの腰に固定することができる。例えば、検出装置2を、ユーザの衣服を挟み込むクリップによってユーザの腰に固定してもよい。
端末装置3は、スマートフォンであり、検出装置2から走行動作情報を受信し、受信した走行動作情報をユーザへ提示する。なお、本実施形態では、端末装置3がスマートフォンであるものとして説明するが、これは一例に過ぎず、端末装置3は、タブレット端末、スマートウォッチ、PC(Personal Computer)等の任意の情報処理端末装置であってよい。なお、本実施形態では、検出装置2が走行動作情報を取得して端末装置3へ送信し、端末装置3が走行動作情報を受信してユーザへ提示するものとして説明するが、これは一例に過ぎず、検出装置2が、取得された走行動作情報をユーザへ提示してもよい。
なお、本実施形態では、検出装置2が本発明に係る測定装置として機能するものとして説明するが、これは一例に過ぎず、端末装置3が本発明に係る測定装置として機能してもよい。この場合、端末装置3は、検出装置2により検出されたユーザの加速度の経時推移を示すデータを検出装置2から取得し、取得された当該データに基づいて、本実施形態では検出装置2が実行する離地タイミングの検出、走行動作情報の取得等の処理を実行し、取得された走行動作情報をユーザへ提示すればよい。或いは、測定システム1が、検出装置2と端末装置3との何れとも異なるPC、サーバ等の情報処理装置を備えるように構成し、当該情報処理装置が本発明に係る測定装置として機能してもよい。この場合、情報処理装置が、検出装置2により検出されたユーザの加速度の経時推移を示すデータを検出装置2から取得し、取得された当該データに基づいて、本実施形態では検出装置2が実行する離地タイミングの検出、走行動作情報の取得等の処理を実行すればよい。情報処理装置は、取得された走行動作情報を端末装置3へ送信し、端末装置3は、当該情報処理装置から受信した走行動作情報をユーザへ提示すればよい。
以下、理解を容易にするため、図1に示すxyz座標軸を設定する。図1中、矢印Gは鉛直方向、すなわち重力加速度の方向を示している。また、図1中、矢印Kは、ユーザの進行方向、すなわちユーザの身体の背面からユーザの身体の前面へ向かう方向を示している。図1に示すx軸方向、y軸方向及びz軸方向は、互いに直交している。x軸方向は、ユーザの進行方向に対して直交する方向である。x軸正方向は、ユーザの進行方向に向かって右側から左側へ向かう方向であり、x軸負方向は、ユーザの進行方向に向かって左側から右側へ向かう方向である。y軸方向は、ユーザの進行方向に対して平行な方向である。y軸正方向は、ユーザの進行方向であり、y軸負方向は、ユーザの進行方向と反対の方向である。z軸方向は、鉛直方向に対して平行な方向である。z軸正方向は、鉛直方向と反対の方向であり、z軸負方向は、鉛直方向である。
以下、検出装置2の物理的・機能的構成について、図2~図5を参照して説明する。まず、検出装置2の物理的構成について、図2を参照して説明する。検出装置2は、上述した本体部20及びベルト部21に加えて、図2に示すように、CPU(Central Processing Unit)22と、ROM(Read Only Memory)23と、RAM(Random Access Memory)24と、通信部25と、操作部26と、計時部27と、センサ部28と、を備えている。CPU22~センサ部28は、コマンド及びデータの伝送経路であるシステムバス29を介して相互に接続されている。CPU22~センサ部28は、本体部20に内蔵されている。なお、図2には、検出装置2が備える物理的構成のうち、本発明の特徴部に関連する構成のみが示されている。検出装置2は、図2に示されていない任意の物理的構成を備えることができる。例えば、検出装置2は、各種画像を表示する表示装置を備えていてもよい。
CPU22は、ROM23に記憶されたプログラム及びデータに従って、検出装置2の各部を制御すると共に、各種処理を実行する。ROM23は、CPU22が各種処理を実行するために用いるプログラム及びデータを非一時的に記憶する。RAM24は、CPU22のワークエリアとして機能する。すなわち、CPU22は、ROM23によって記憶されているプログラム及びデータをRAM24へ読み出し、読み出されたプログラム及びデータを参照することによって各種処理を実行する。また、CPU22は、各種処理を実行することによって取得したデータをRAM24へ一時的に記憶させ、記憶されたデータを参照することによって各種処理を実行する。通信部25は、CPU22による制御に従って端末装置3を含む外部の機器との間で無線通信又は有線通信を行い、データを送受信する。通信部25は、外部の機器から受信したデータを、CPU22へ出力する。操作部26は、検出装置2の電源のオン/オフを切り替える操作を受け付ける検出装置電源キーを含む、ユーザによる操作を受け付ける複数のキーを備え、ユーザによる当該複数のキーに対する操作を検出し、検出結果を示す操作信号をCPU22へ出力する。計時部27は、RTC(Real Time Clock)を備え、現在時刻を計時し、計時結果を示す計時信号をCPU22へ出力する。センサ部28は、ユーザの身体の加速度及び角速度を検出する。センサ部28は、加速度センサ28aと、角速度センサ28bと、を備えている。加速度センサ28aは、互いに直交する3軸方向の加速度を検出し、角速度センサ28bは、当該3軸方向周りの角速度を検出する。加速度センサ28aは、加速度の検出結果を示す加速度信号をCPU22へ逐次送信する。角速度センサ28bは、角速度の検出結果を示す角速度信号をCPU22へ逐次送信する。
上述した物理的構成を備える検出装置2は、機能的に、図3に示すように、加速度データ取得部200と、加速度データ記憶部201と、走行動作識別部202と、推定器記憶部203と、タイミング検出部204と、テンプレート記憶部205と、プレフィルタ記憶部206と、離地タイミング情報記憶部207と、走行動作情報取得部208と、走行動作情報出力部209と、を備えている。加速度データ取得部200、走行動作識別部202、タイミング検出部204、走行動作情報取得部208及び走行動作情報出力部209は、CPU22によって実現される。すなわち、CPU22は、ROM23に記憶されたプログラムを実行して検出装置2の各部を制御することにより、加速度データ取得部200、走行動作識別部202、タイミング検出部204、走行動作情報取得部208及び走行動作情報出力部209として機能する。推定器記憶部203、テンプレート記憶部205及びプレフィルタ記憶部206は、ROM23によって実現される。すなわち、推定器記憶部203、テンプレート記憶部205及びプレフィルタ記憶部206は、ROM23の記憶領域に構築される。加速度データ記憶部201及び離地タイミング情報記憶部207は、RAM24によって実現される。すなわち、加速度データ記憶部201及び離地タイミング情報記憶部207は、RAM24の記憶領域に構築される。なお、図3には、検出装置2が備える機能的構成のうち、本発明の特徴部に関連する機能的構成のみが示されている。検出装置2は、図3に示されていない任意の機能的構成を備えていてもよい。例えば、検出装置2は、上述した表示装置による画像の表示を制御する表示制御部を備えていてもよい。
加速度データ取得部200は、加速度センサ28aから入力された加速度信号に応じて、ユーザの加速度の経時推移を示す加速度データを取得する。具体的に、加速度データ取得部200は、カルマンフィルタを用いて、加速度センサ28aから入力された加速度信号が示す加速度の検出結果と、角速度センサ28bから入力された角速度信号が示す角速度の検出結果と、に応じて鉛直方向及びユーザの進行方向を推定することにより、加速度センサ28aにより検出されたセンサ座標系における加速度の値を、上述したxyz座標軸で定義されるワールド座標系における加速度の値に変換する。加速度データ取得部200は、変換後の加速度の値を所定のサンプリング周波数(本実施形態では、200Hz)でサンプリングすることにより加速度データを取得する。このようにして取得された加速度データは、複数のサンプリングポイントのデータを時系列順に含んでおり、加速度データが含む一のサンプリングポイントのデータは、当該一のサンプリングポイントにおいて加速度センサ28aにより検出されたユーザの加速度を示している。加速度データ取得部200により取得される加速度データは、x軸方向におけるユーザの加速度の経時推移を示すx軸加速度データと、y軸方向におけるユーザの加速度の経時推移を示すy軸加速度データと、z軸方向におけるユーザの加速度の経時推移を示すz軸加速度データと、を含んでいる。すなわち、x軸加速度データ、y軸加速度データ及びz軸加速度データを含む加速度データは、x軸方向、y軸方向及びz軸方向におけるユーザの加速度の経時推移を示している。加速度データ取得部200は、加速度データ取得手段の一例である。y軸加速度データは、第1加速度データの一例であり、z軸加速度データは、第2加速度データの一例である。
なお、本実施形態では、加速度データ取得部200が、カルマンフィルタを用いて、加速度センサ28aにより検出されたセンサ座標系における加速度の値を、上述したxyz座標軸で定義されるワールド座標系における加速度の値に変換するものとして説明するが、これは一例に過ぎない。加速度データ取得部200は、任意の方法により、加速度センサ28aにより検出されたセンサ座標系における加速度の値を、ワールド座標系における加速度の値に変換することができる。例えば、センサ部28が、加速度センサ28a及び角速度センサ28bに加えて、互いに直交する3軸方向の地磁気を検出する地磁気センサを備えるように構成し、加速度データ取得部200が、当該地磁気センサによる地磁気の検出結果に従って鉛直方向を推定することにより、加速度センサ28aにより検出されたセンサ座標系における加速度の値を、ワールド座標系における加速度の値に変換してもよい。
加速度データ記憶部201は、加速度データ取得部200により取得された加速度データを記憶する。加速度データ取得部200は、加速度センサ28aから加速度信号が入力される度に、当該加速度信号に応じた加速度データを取得し、取得された加速度データを加速度データ記憶部201に記憶させる。このような構成により、加速度データ取得部200により取得された加速度データが、加速度データ記憶部201に蓄積される。
走行動作識別部202は、加速度データ取得部200により取得された加速度データに応じて、ユーザが行っている走行動作が、第1の走行動作と、当該第1の走行動作に比べて離地タイミングが遅い第2の走行動作と、のうち何れであるかを識別する。第1の走行動作は、ユーザが、成人の平均ランニング速度である第1基準速度(本実施形態では、2.5m/s)で走っている場合の走行動作である。第2の走行動作は、ユーザが低速で、すなわち上述した第1基準速度より遅い第2基準速度(本実施形態では、2.0m/s)で走っている場合の走行動作である。ユーザが第1の走行動作を行うことにより移動している場合、ユーザの両足が同時に地面に接することは無い。これに対し、ユーザが第2の走行動作を行うことにより移動している場合、ユーザの両足が同時に地面に接する場合がある。走行動作識別部202は、識別手段の一例である。第1の走行動作は、第1の移動動作の一例である。第2の走行動作は、第2の移動動作の一例である。
以下、第1の走行動作と第2の走行動作との違いについて、図4を参照して説明する。図4は、z軸方向におけるユーザの腰の位置の経時推移を表す波形の一例を示している。図4中、T1は、z軸方向のユーザの腰の位置の経時推移においてz軸方向におけるユーザの腰の位置が極大値となる第1極大値タイミングを示している。また、図4中、T2は、z軸方向のユーザの腰の位置の経時推移においてz軸方向におけるユーザの腰の位置が第1極大値タイミングT1の次に極大値となる第2極大値タイミングを示している。第1極大値タイミングは、第1タイミングの一例であり、第2極大値タイミングは、第2タイミングの一例である。ユーザの走行動作が第1の走行動作と第2の走行動作とのうち何れであるかに関わらず、第1極大値タイミングT1から第2極大値タイミングT2までの時間区間に、離地タイミングTsが含まれる。
ユーザの走行動作が第2の走行動作である場合の方が、ユーザの走行動作が第1の走行動作である場合に比べて、離地タイミングTsが遅く、離地タイミングTsから第2極大値タイミングT2までの時間が短い。換言すれば、ユーザの走行動作が第2の走行動作である場合の方が、ユーザの走行動作が第1の走行動作である場合に比べて、第1極大値タイミングT1から離地タイミングTsまでの時間が長い。このため、ユーザの走行動作が第2の走行動作である場合の方が、ユーザの走行動作が第1の走行動作である場合に比べて、第1極大値タイミングT1から第2極大値タイミングT2までの時間D1に対する第1極大値タイミングT1から離地タイミングTsまでの時間D2の比率である基準比率が高い。離地タイミングTsに対応する基準比率は、下記の式(1)で表される。式(1)中、Rは、離地タイミングTsに対応する基準比率を表し、D1は、第1極大値タイミングT1から第2極大値タイミングT2までの時間を表し、D2は、第1極大値タイミングT1から離地タイミングTsまでの時間を表す。
R=D2/D1 ・・・(1)
図3に戻り、走行動作識別部202は、上述した離地タイミングに対応する基準比率と、所定の識別閾値と、の大小関係に応じて、ユーザの走行動作が第1の走行動作と第2の走行動作とのうち何れであるかを識別する。すなわち、走行動作識別部202は、離地タイミングに対応する基準比率が識別閾値未満である場合、ユーザの走行動作が第1の走行動作であると識別する一方、離地タイミングに対応する基準比率が識別閾値以上である場合、ユーザの走行動作が第2の走行動作であると識別する。識別閾値は、検出装置2のユーザ以外の複数の人間を被験者とする実験により、被験者の走行動作が第1の走行動作である場合の基準比率と、被験者の走行動作が第2の走行動作である場合の基準比率と、をそれぞれ測定することにより求められた被験者の走行動作の種別と基準比率との相関関係に応じて予め設定されている。本実施形態において、識別閾値は、0.95に設定されている。なお、上述した実験では、被験者の腰に図示しない加速度センサを装着した状態で、被験者に、被験者による離地動作を検出するフォースプレート上で走行動作を行わせ、当該フォースプレートによる離地動作の検出結果に応じて離地タイミングを検出するとともに、当該加速度センサの出力信号を二回積分することにより得られる被験者の腰の位置の経時推移に応じて第1極大値タイミング及び第2極大値タイミングを検出することにより、基準比率を測定すればよい。なお、本実施形態では、上述した実験において、検出装置2のユーザ以外の複数の人間を被験者とするものとして説明したが、これは一例に過ぎない。上述した実験において、検出装置2のユーザを実験の被験者としてもよいし、検出装置2のユーザと、検出装置2のユーザ以外の1人以上の人間と、を含む複数の人間を被験者としてもよい。
走行動作識別部202は、推定器記憶部203に記憶された離地タイプ推定器に、加速度データ取得部200により取得された加速度データに応じて、離地タイミングに応じた基準比率が識別閾値未満であるか否かを推定させ、当該推定の結果に応じてユーザの走行動作が第1の走行動作と第2の走行動作との何れであるかを識別する。すなわち、走行動作識別部202は、離地タイミングに応じた基準比率が識別閾値未満であると離地タイプ推定器が推定した場合、ユーザの走行動作が第1の走行動作であると識別する一方、離地タイミングに応じた基準比率が識別閾値以上であると離地タイプ推定器が推定した場合、ユーザの走行動作が第2の走行動作であると識別する。
離地タイプ推定器は、サポートベクターマシン(SVM:Support Vector Machine)であり、加速度データに応じて、離地タイミングに対応する基準比率が識別閾値未満であるか否かを推定する。具体的に、離地タイプ推定器は、加速度データが示す第2極大値タイミングより所定の第1基準時間(本実施形態では、500ms)だけ前のタイミングにおける、x軸方向、y軸方向及びz軸方向のユーザの加速度を特徴量として入力されたことに応答して、離地タイミングに対応する基準比率が識別閾値未満であるか否かを推定する。離地タイプ推定器は、後述する情報処理装置4によって生成された後、検出装置2に取り込まれ、推定器記憶部203に予め記憶されている。情報処理装置4による離地タイプ推定器の生成については、後述する。なお、本実施形態では、離地タイプ推定器が、サポートベクターマシンであるものとして説明するが、これは一例に過ぎない。離地タイプ推定器は、基準比率が識別閾値未満であるか否かを推定する任意の推定器であってよい。例えば、離地タイプ推定器は、DNN(Deep Neural Network)であってもよい。
走行動作識別部202は、離地タイプ推定器を用いて推定を行う際、加速度データ取得部200により取得された加速度データに応じて第1極大値タイミング及び第2極大値タイミングを検出し、加速度データが示す検出された第2極大値タイミングより第1基準時間だけ前のタイミングにおけるx軸方向、y軸方向及びz軸方向のユーザの加速度を特徴量として離地タイプ推定器に入力することにより、離地タイプ推定器に、離地タイミングに応じた基準比率が識別閾値未満であるか否かを推定させる。具体的に、走行動作識別部202は、加速度データ取得部200により取得された加速度データに含まれるz軸加速度データを二回積分することにより、z軸方向におけるユーザの腰の位置の経時推移を示すz軸位置データを取得する。上述したように、加速度データは、ユーザの腰に装着された検出装置2に内蔵された加速度センサ28aから出力された加速度信号に応じて取得されるため、加速度データが含むz軸加速度データを二回積分することにより、z軸位置データを取得することができる。走行動作識別部202は、取得されたz軸位置データに対して移動平均フィルタを用いた平滑化処理を施し、平滑化処理を施した後のz軸位置データに応じて第1極大値タイミング及び第2極大値タイミングを検出する。なお、本実施形態では、走行動作識別部202が、移動平均フィルタを用いて平滑化処理を行うものとして説明するが、これは一例に過ぎない。走行動作識別部202は、ローパスフィルタ、ガウシアンフィルタ等の任意の平滑化フィルタを用いてz軸位置データに対する平滑化処理を行うことができる。
タイミング検出部204は、ユーザの走行動作が第1の走行動作である場合、第1の検出方法を用いて離地タイミングを検出する一方、ユーザの走行動作が第2の走行動作である場合、当該第1の検出方法と異なる第2の検出方法を用いて離地タイミングを検出する。具体的に、タイミング検出部204は、走行動作識別部202によってユーザの走行動作が第1の走行動作であると識別された場合、第1の検出方法を用いて離地タイミングを検出する一方、走行動作識別部202によってユーザの走行動作が第2の走行動作であると識別された場合、第2の検出方法を用いて離地タイミングを検出する。
タイミング検出部204は、第1の検出方法と第2の検出方法との何れを用いて離地タイミングを検出する場合でも、加速度データ取得部200により取得された加速度データが示す検出対象方向におけるユーザの加速度の経時推移と、テンプレート記憶部205により記憶されたテンプレートと、に応じて、離地タイミングを検出する。テンプレートは、被験者が離地動作を行ったときの被験者の加速度の経時推移を示すデータである。具体的に、テンプレートは、複数のサンプリングポイントのデータを時系列順に含んでおり、テンプレートが含む一のサンプリングポイントのデータは、当該一のサンプリングポイントにおいて検出された被験者の加速度を示している。テンプレートには、被験者が離地動作を行ったタイミングを示すデータが含まれている。テンプレートは、後述する情報処理装置4により生成された後、検出装置2に取り込まれ、テンプレート記憶部205に予め記憶されている。情報処理装置4によるテンプレートの生成については、後述する。タイミング検出部204は、タイミング検出手段の一例である。テンプレートは、基準データの一例である。テンプレート記憶部205は、基準データ記憶手段の一例である。
タイミング検出部204が第1の検出方法を用いて離地タイミングを検出する場合と、タイミング検出部204が第2の検出方法を用いて離地タイミングを検出する場合とでは、検出対象方向が異なる。具体的に、第1の検出方法では、y軸方向が検出対象方向として設定され、加速度データが示すy軸方向におけるユーザの加速度の経時推移に応じて離地タイミングが検出される。これに対し、第2の検出方法では、z軸方向が検出対象として設定され、加速度データが示すz軸方向におけるユーザの加速度の経時推移に応じて離地タイミングが検出される。さらに、タイミング検出部204が第1の検出方法を用いて離地タイミングを検出する場合と、タイミング検出部204が第2の検出方法を用いて離地タイミングを検出する場合とでは、検出に使用されるテンプレートが異なる。具体的に、テンプレート記憶部205は、テンプレートとして、y軸テンプレートと、z軸テンプレートと、を記憶している。y軸テンプレートは、被験者が離地動作を行ったときのy軸方向における被験者の加速度の経時推移を示すテンプレートである。z軸テンプレートは、被験者が離地動作を行ったときのz軸方向における被験者の加速度の経時推移を示すテンプレートである。y軸テンプレート及びz軸テンプレートには、それぞれ、被験者が離地動作を行ったタイミングを示すデータが含まれている。y軸テンプレートは、y軸方向に対応するテンプレートであり、z軸テンプレートは、z軸方向に対応するテンプレートである。第1の検出方法では、第1検出方法における検出対象方向であるy軸方向に対応するy軸テンプレートを用いて離地タイミングの検出が行われる。第2の検出方法では、第2検出方法における検出対象方向であるz軸方向に対応するz軸テンプレートを用いて離地タイミングの検出が行われる。y軸テンプレートは、第1基準データの一例であり、z軸テンプレートは、第2基準データの一例である。
本発明の発明者が行った実験により、ユーザが第1の走行動作を行うことにより移動しているときに、ユーザが離地動作を行った場合、離地動作が行われた際に特徴的な加速度の推移波形が、z軸方向におけるユーザの加速度の経時推移よりもy軸方向におけるユーザの加速度の経時推移に顕著に現れることが判明している。これに対し、本発明の発明者が行った実験により、ユーザが第2の走行動作を行うことにより移動しているときに、ユーザが離地動作を行った場合、離地動作が行われた際に特徴的な加速度の推移波形が、y軸方向におけるユーザの加速度の経時推移よりもz軸方向におけるユーザの加速度の経時推移に顕著に現れることが判明している。タイミング検出部204は、ユーザの走行動作が第1の走行動作である場合、第1の検出方法を用い、加速度データが示すy軸方向におけるユーザの加速度の経時推移に応じて、y軸方向に対応するy軸テンプレートを用いて離地タイミングを検出する一方、ユーザの走行動作が第2の走行動作である場合、第2の検出方法を用い、加速度データが示すz軸方向におけるユーザの加速度の経時推移に応じて、z軸方向に対応するz軸テンプレートを用いて離地タイミングを検出することにより、離地タイミングの検出精度を向上させている。特に、このような構成によれば、ユーザの走行動作が第2の走行動作である場合、すなわちユーザが低速で走っている場合における離地タイミングの検出精度を向上させることができる。すなわち、タイミング検出部204は、ユーザの走行動作が第1の走行動作と第2の走行動作との何れであるかに応じて異なる検出方法を用いて離地タイミングを検出することにより、ユーザの走行動作の種別に応じた適切な検出方法で離地タイミングを検出し、離地タイミングの検出精度を向上させている。
タイミング検出部204は、第1の検出方法と第2の検出方法との何れを用いて離地タイミングを検出する場合でも、加速度データが含むx軸加速度データ、y軸加速度データ及びz軸加速度データのうち検出対象方向に対応する加速度データと、テンプレート記憶部205により記憶されたy軸テンプレート及びz軸テンプレートのうち検出対象方向に対応するテンプレートと、を動的時間伸縮(DTW:Dynamic Time Warping)法を用いて互いに対応付け、当該テンプレートが示す被験者が離地動作を行ったタイミングに対応する当該加速度データ中のタイミングを離地タイミングとして検出する。すなわち、第1の検出方法を用いて離地タイミングを検出する場合、タイミング検出部204は、第1の検出方法における検出対象方向であるy軸方向に対応するy軸加速度データと、y軸方向に対応するy軸テンプレートとを動的時間伸縮法を用いて互いに対応付け、y軸テンプレートが示す被験者が離地動作を行ったタイミングに対応するy軸加速度データ中のタイミングを離地タイミングとして検出する。第2の検出方法を用いて離地タイミングを検出する場合、タイミング検出部204は、第2の検出方法における検出対象方向であるz軸方向に対応するz軸加速度データと、z軸方向に対応するz軸テンプレートとを動的時間伸縮法を用いて互いに対応付けz軸テンプレートが示す被験者が離地動作を行ったタイミングに対応するz軸加速度データ中のタイミングを離地タイミングとして検出する。
具体的に、タイミング検出部204は、検出対象方向に対応する加速度データのうち探索区間に含まれるデータと、検出対象方向に対応するテンプレートとを動的時間伸縮法を用いて互いに対応付け、当該テンプレートが示す被験者が離地動作を行ったタイミングに対応する当該加速度データ中のタイミングを離地タイミングとして検出する。探索区間は、上述した第1極大値タイミング及び第2極大値タイミングに応じた時間区間である。具体的に、探索区間は、第2極大値タイミングより第2基準時間だけ前のタイミングから第2極大値タイミングまでの時間区間であり、当該第2基準時間は、第1極大値タイミングから第2極大値タイミングまでの時間に所定の基準乗数(本実施形態では、0.5)を乗じて得られる時間である。
動的時間伸縮法によりテンプレートと対応付けられる加速度データを、上述した探索区間に含まれる加速度データに限定することにより、計算負荷を軽減することができる。探索区間以外の区間に検出対象である離地タイミングが含まれている可能性は低く、離地タイミングの検出区間を探索区間に限定しても離地タイミングの検出精度はほとんど低下しない。むしろ、探索区間以外の区間を離地タイミングの検出区間に含めた場合、探索区間以外の区間に含まれる、実際にはユーザが離地動作を行っていないタイミングが離地タイミングとして誤って検出されてしまうことによって、離地タイミングの検出精度がかえって低下してしまう虞がある。このため、タイミング検出部204は、探索区間に含まれる加速度データとテンプレートとを動的時間伸縮法を用いて互いに対応付けることで離地タイミングを検出することにより、計算負荷を軽減しつつ、離地タイミングの検出精度を向上させている。
探索区間の時間長は、ユーザの走行速度に応じて異なる。このため、ユーザの走行速度のばらつきが原因で、テンプレートに対応付けられる加速度データの時間長にばらつきが生じる。タイミング検出部204は、動的時間伸縮法を用いて加速度データとテンプレートとを互いに対応付けることにより、当該加速度データの時間長に関わらず、当該加速度データと当該テンプレートとを互いに適切に対応付けることができる。このため、タイミング検出部204は、動的時間伸縮法を用いることにより、ユーザの走行速度のばらつきに起因する加速度データの時間長のばらつきに関わらず、当該加速度データとテンプレートとを互いに適切に対応付け、離地タイミングを検出することができる。換言すれば、タイミング検出部204は、動的時間伸縮法を用いて加速度データとテンプレートとを互いに対応付けることで離地タイミングを検出することにより、ユーザの走行速度のばらつきに対してロバストに離地タイミングを検出し、離地タイミングの検出精度を向上させることができる。
動的時間伸縮法を用いて加速度データとテンプレートとを互いに対応付ける際、タイミング検出部204は、当該加速度データの各サンプリングポイントのデータについて、当該テンプレートの各サンプリングポイントのデータとの間の距離を算出することにより、当該加速度データの各サンプリングポイントのデータと、当該テンプレートの各サンプリングポイントのデータと、の間の距離を示す距離行列を作成する。距離行列を作成する際、タイミング検出部204は、データ間の差分の絶対値をデータ間の距離として算出する。動的時間伸縮法において、データ間の距離は、コストと称される場合もある。なお、本実施形態では、タイミング検出部204が、データ間の差分の絶対値をデータ間の距離として算出するものとして説明するが、これは一例に過ぎず、タイミング検出部204は、任意の距離をデータ間の距離として算出することができる。例えば、タイミング検出部204は、データ間のコサイン距離をデータ間の距離として算出してもよい。
上述した距離行列を作成した後、タイミング検出部204は、当該距離行列上の経路であって、加速度データの始端のデータとテンプレートの始端のデータとの間の距離を示す当該距離行列の要素を始端とし、加速度データの終端のデータとテンプレートの終端のデータとの間の距離を示す当該距離行列の要素を終端とする経路のうち、経路上にある当該距離行列の要素の総和が最も小さい経路である最良経路を求める。動的時間伸縮法において、最良経路は、ワーピングパスと称される場合もある。最良経路は、距離行列の複数の要素を通る経路であり、換言すれば、当該複数の要素をつなぐ経路である。最良経路は、始端から終端に至るまでの間に途切れることのない経路であり、かつ、始端から終端に至るまでの間に後戻りすることのない経路である。
上述の最良経路は、動的時間伸縮法により求められた加速度データとテンプレートとの対応関係を示している。具体的に、最良経路上の要素として、加速度データの第1サンプリングポイントにおけるデータと、テンプレートの第2サンプリングポイントのデータと、の間の距離を示す要素が含まれている場合、これらのデータは互いに対応しており、第1サンプリングポイントと第2サンプリングポイントとが互いに対応している。タイミング検出部204は、動的時間伸縮法を用いて加速度データとテンプレートとの間の対応関係を示す最良経路を求めることにより、当該加速度データと当該テンプレートを互いに対応付ける。加速度データの各サンプリングポイントのデータは、当該加速度データとテンプレートとの間の対応関係を示す最良経路によって、当該テンプレートの各サンプリングポイントのデータに対応付けられる。換言すれば、加速度データの各サンプリングポイントは、当該加速度データとテンプレートとの間の対応関係を示す最良経路によって、当該テンプレートの各サンプリングポイントに対応付けられる。
タイミング検出部204は、動的時間伸縮法を用いて加速度データとテンプレートとの間の対応関係を示す最良経路を求めることにより、当該加速度データと当該テンプレートとを互いに対応付け、当該テンプレートが示すユーザが離地動作を行ったタイミングに対応する当該加速度データ中のタイミングを、離地タイミングとして検出する。すなわち、求められた最良経路上の要素として、テンプレートが含む各サンプリングポイントのデータのうち、当該テンプレートが示すユーザが離地動作を行ったタイミングのデータと、加速度データが含む各サンプリングポイントのデータのうちの一のタイミングのデータと、の間の距離を示す要素が含まれている場合、タイミング検出部204は、当該ユーザが離地動作を行ったタイミングに対応する当該一のタイミングを、離地タイミングとして検出する。この場合、テンプレートが含む各サンプリングポイントのデータのうち当該テンプレートが示すユーザが離地動作を行ったタイミングのデータと、加速度データが含む各サンプリングポイントのデータのうちの一のタイミングのデータと、は互いに対応している。
以下、テンプレートと加速度データとの間の対応関係について、図5を参照して具体的に説明する。図5には、y軸テンプレートA1とy軸加速度データA2との間の対応関係を表す累積コストマップA3が示されている。y軸加速度データA2は、上述した第1極大値タイミングから第2極大値タイミングまでの時間区間に対応するy軸加速度データであり、時間軸方向に0から100までの範囲に正規化されているとともに、加速度が-10から10までの範囲に正規化されている。累積コストマップA3の縦軸には、y軸テンプレートA1の時間軸が対応付けられており、累積コストマップA3の横軸には、y軸加速度データA2の時間軸が対応付けられている。
累積コストマップA3中のセルは、セルに対応する累積コストが大きいほど濃い灰色で彩色されている。セルに対応する累積コストとは、当該セルに至る最良経路上にある、y軸テンプレートA1の各サンプリングポイントのデータと、y軸加速度データA2の各サンプリングポイントのデータと、の間の距離を示す距離行列の要素の総和である。セルに至る最良経路は、上述した距離行列上の経路である。セルに至る最良経路の始端は、y軸テンプレートA1の始端のデータと、y軸加速度データA2の始端のデータと、の間の距離を示す上述した距離行列の要素である。セルに至る最良経路の終端は、y軸テンプレートA1の当該セルに対応するサンプリングタイミングのデータと、y軸加速度データA2の当該セルに対応するサンプリングタイミングのデータと、の間の距離を示す上述した距離行列の要素である。セルに至る最良経路は、上述した始端から終端へ至る上述した距離行列上の経路のうち、経路上にある当該距離行列の要素の総和が最も小さい経路である。y軸テンプレートA1が含む複数のサンプリングタイミングのデータのうち、累積コストマップA3中の一のセルの累積コストマップA3の縦軸方向における位置に対応するy軸テンプレートA1の時間軸上のサンプリングタイミングのデータが、y軸テンプレートA1の当該一のセルに対応するサンプリングポイントのデータである。また、y軸加速度データA2が含む複数のサンプリングタイミングのデータのうち、累積コストマップA3中の一のセルの累積コストマップA3の横軸方向における位置に対応するy軸加速度データA2の時間軸上のサンプリングタイミングのデータが、y軸加速度データA2の当該一のセルに対応するサンプリングポイントのデータである。
累積コストマップA3では、各セルに対応する累積コストが図示されているとともに、y軸テンプレートA1とy軸加速度データA2との間の対応関係を示す最良経路A4が示されている。y軸テンプレートA1の各サンプリングポイントのデータは、最良経路A4によって、y軸加速度データA2の各サンプリングポイントのデータに対応付けられている。換言すれば、y軸テンプレートA1の各サンプリングポイントは、最良経路A4によって、y軸加速度データA2の各サンプリングポイントに対応付けられている。例えば、図5に示すように、y軸テンプレートA1が示す被験者が離地動作を行ったタイミングTaは、最良経路A4によって、y軸加速度データA2の時間軸上のタイミングTbに対応付けられている。すなわち、最良経路A4上の距離行列の要素として、y軸テンプレートA1のタイミングTaのデータと、y軸加速度データA2のタイミングTbのデータと、の間の距離を示す要素が含まれており、これらのデータが、最良経路A4によって互いに対応付けられている。図5に示すy軸テンプレートA1及びy軸加速度データA2を用いてタイミング検出部204が離地タイミングの検出を行った場合、y軸テンプレートA1が示す被験者が離地動作を行ったタイミングTaに対応するy軸加速度データA2中のタイミングTbが、離地タイミングとして検出される。
図3に戻り、タイミング検出部204は、第1の検出方法と第2の検出方法との何れを用いて離地タイミングを検出する場合でも、検出対象方向に対応する加速度データに対し、プレフィルタ記憶部206により記憶されたプレフィルタを用いて、ユーザが離地動作を行った場合における特徴的な加速度の推移波形を強調するプレフィルタ処理を行い、プレフィルタ処理を施した後の当該加速度データと検出対象方向に対応するテンプレートとを動的時間伸縮法を用いて互いに対応付けることにより、離地タイミングを検出する。このような構成によれば、離地タイミングの検出精度を向上させることができる。プレフィルタは、後述する情報処理装置4により生成された後、検出装置2に取り込まれ、プレフィルタ記憶部206に予め記憶されている。情報処理装置4によるプレフィルタの生成については、後述する。
タイミング検出部204が第1の検出方法を用いて離地タイミングを検出する場合と、タイミング検出部204が第2の検出方法を用いて離地タイミングを検出する場合とでは、プレフィルタ処理に使用されるプレフィルタが異なる。具体的に、プレフィルタ記憶部206は、プレフィルタとして、y軸プレフィルタと、z軸プレフィルタと、を記憶している。y軸プレフィルタは、ユーザが離地動作を行った場合に特徴的なy軸方向の加速度の推移波形を強調するプレフィルタである。z軸プレフィルタは、ユーザが離地動作を行った場合に特徴的なz軸方向の加速度の推移波形を強調するプレフィルタである。第1の検出方法では、第1の検出方法における検出対象方向であるy軸方向に対応するy軸加速度データに対し、y軸方向に対応するy軸プレフィルタを用いてプレフィルタ処理を行い、プレフィルタ処理を行った後のy軸加速度データに応じて、離地タイミングを検出する。第2の検出方法では、第2の検出方法における検出対象方向であるz軸方向に対応するz軸加速度データに対し、z軸方向に対応するz軸プレフィルタを用いてプレフィルタ処理を行い、プレフィルタ処理を行った後のz軸加速度データに応じて、離地タイミングを検出する。このような構成によれば、ユーザの走行動作の種別に応じて適切なプレフィルタを用いてプレフィルタ処理を行うことにより、離地タイミングの検出精度を向上させることができる。
なお、本実施形態では、タイミング検出部204が、検出対象方向に対応する加速度データに対してプレフィルタ処理を施し、プレフィルタ処理を施した後の検出対象方向に対応する加速度データに応じて離地タイミングを検出するものとして説明するが、これは一例に過ぎない。タイミング検出部204は、プレフィルタ処理を行うことなく、プレフィルタ処理を施していない検出対象方向に対応する加速度データに応じて離地タイミングを検出してもよい。このような構成によれば、計算負荷を軽減できる。
なお、本実施形態では、タイミング検出部204が、離地動作が行われる離地タイミングを検出するものとして説明するが、これは一例に過ぎない。タイミング検出部204は、移動しているユーザが任意の動作を行ったタイミングを検出できる。例えば、タイミング検出部204は、ユーザが走っている(或いは、歩いている)ときにユーザが着地動作を行った着地タイミングを検出してもよい。着地動作は、走行中(或いは、歩行中)のユーザが地面から離れていた足を地面に着地させる動作である。着地動作は、対象動作の一例であり、着地タイミングは、対象タイミングの一例である。この場合、タイミング検出部204は、上述した離地タイミングの検出方法を着地タイミングの検出に適用することにより、着地タイミングを検出することができる。具体的に、この場合、テンプレート記憶部205に、被験者が着地動作を行ったときの被験者の加速度の経時推移を示すデータを、テンプレートとして予め記憶させておく。このテンプレートには、被験者が着地動作を行ったタイミングを示すデータが含まれている。タイミング検出部204は、検出対象方向に対応する加速度データと、テンプレート記憶部205により記憶された上述のテンプレートとを動的時間伸縮法を用いて互いに対応付け、当該テンプレートが示す被験者が着地動作を行ったタイミングに対応する当該加速度データ中のタイミングを着地タイミングとして検出する。このような構成により、着地タイミングの検出精度を向上させることができる。
離地タイミング情報記憶部207は、タイミング検出部204による離地タイミングの検出履歴を示す離地タイミング情報を記憶している。離地タイミング情報には、タイミング検出部204により検出された離地タイミングを示すデータが、時系列順に格納されている。タイミング検出部204は、離地タイミングを検出する度に、離地タイミング情報記憶部207により記憶されている離地タイミング情報に、検出された離地タイミングを示すデータを追加することにより、当該離地タイミング情報を更新する。このような構成により、タイミング検出部204による離地タイミングの検出結果が、離地タイミング情報記憶部207に蓄積される。
走行動作情報取得部208は、タイミング検出部204により検出された離地タイミングに応じて、ユーザの走行動作の特徴を示す走行動作情報を取得する。本実施形態において、走行動作情報取得部208は、走行動作情報として、時間軸上で互いに隣り合う2つの離地タイミングの時間間隔である離地タイミング間隔を複数、取得し、取得した複数の離地タイミング間隔の平均値である平均離地間隔を示す情報を取得する。ユーザは、端末装置3によって提示された走行動作情報が示す平均離地間隔が短くなるように、自身の走り方を調整することで、走行速度を向上させることができる。走行動作情報取得部208は、タイミング検出部204によって離地タイミングが検出され、検出された離地タイミングに応じて離地タイミング情報記憶部207に記憶されている離地タイミング情報が更新される度に、更新後の離地タイミング情報に応じて平均離地間隔を取得(すなわち、算出)することにより、平均離地間隔を示す走行動作情報を取得する。走行動作情報取得部208は、移動動作情報取得手段の一例である。
なお、本実施形態では、走行動作情報取得部208が、走行動作情報として、平均離地間隔を示す情報を取得するものとして説明するが、これは一例に過ぎない。走行動作情報取得部208は、ユーザの走行動作の特徴を示す任意の情報を、走行動作情報として取得できる。例えば、タイミング検出部204が離地タイミング及び着地タイミングを検出するように構成し、走行動作情報取得部208が、タイミング検出部204により検出された離地タイミング及び着地タイミングに応じて、走行動作情報として、ユーザの両足のうち少なくとも一方が地面に接している時間である接地時間を示す情報を取得してもよい。具体的に、走行動作情報取得部208は、タイミング検出部204により検出された着地タイミングからタイミング検出部204により検出された離地タイミングまでの時間を接地時間として取得すればよい。或いは、走行動作情報取得部208が、タイミング検出部204により検出された離地タイミング及び着地タイミングに応じて、走行動作情報として、ユーザの両足のうち少なくとも一方が地面から離れている時間である滞空時間を示す情報を取得してもよい。具体的に、走行動作情報取得部208は、タイミング検出部204により検出された離地タイミングからタイミング検出部204により検出された着地タイミングまでの時間を滞空時間として取得すればよい。
走行動作情報出力部209は、走行動作情報取得部208により取得された走行動作情報を出力する。具体的に、走行動作情報出力部209は、通信部25を制御して、走行動作情報を端末装置3へ送信させる。なお、本実施形態では、走行動作情報出力部209が、走行動作情報を端末装置3へ送信するものとして説明するが、これは一例に過ぎない。走行動作情報出力部209は、任意の方法により走行動作情報を出力することができる。例えば、走行動作情報出力部209は、走行動作情報を、ユーザが認識可能な形態で出力することにより、ユーザへ提示してもよい。具体的に、走行動作情報出力部209は、上述した表示装置に、走行動作情報に応じた画像を表示させることにより、当該走行動作情報をユーザへ提示してもよい。走行動作情報出力部209は、移動動作情報出力手段の一例である。
上述したように、タイミング検出部204は、ユーザの走行動作の種別に応じた検出方法を用いて離地タイミングを検出することにより、離地タイミングの検出精度を向上させている。そして、上述したように、走行動作情報取得部208は、タイミング検出部204により検出された離地タイミングに応じて走行動作情報を取得し、走行動作情報出力部209は、走行動作情報取得部208により取得された走行動作情報を出力する。このような構成によれば、走行動作情報の正確性を向上させ、ユーザにとっての利便性を向上させることができる。
以下、端末装置3の物理的・機能的構成について、図6及び図7を参照して説明する。まず、端末装置3の物理的構成について、図6を参照して説明する。端末装置3は、図6に示すように、CPU30と、ROM31と、RAM32と、通信部33と、操作部34と、表示部35と、を備えている。CPU30~表示部35は、コマンド及びデータの伝送経路であるシステムバス36を介して相互に接続されている。なお、図6には、端末装置3が備える物理的構成のうち、本発明の特徴部に関連する構成のみが示されている。端末装置3は、図6に示されていない任意の物理的構成を備えることができる。例えば、端末装置3は、音声を出力するスピーカや、ユーザの発した音声を録音するマイクを備えていてもよい。
CPU30は、ROM31に記憶されたプログラム及びデータに従って、端末装置3の各部を制御すると共に、各種処理を実行する。ROM31は、CPU30が各種処理を実行するために用いるプログラム及びデータを非一時的に記憶する。RAM32は、CPU30のワークエリアとして機能する。すなわち、CPU30は、ROM31によって記憶されているプログラム及びデータをRAM32へ読み出し、読み出されたプログラム及びデータを参照することによって各種処理を実行する。また、CPU30は、各種処理を実行することによって取得したデータをRAM32へ一時的に記憶させ、記憶されたデータを参照することによって各種処理を実行する。通信部33は、CPU30による制御に従って検出装置2を含む外部の機器との間で無線通信又は有線通信を行い、データを送受信する。通信部33は、外部の機器から受信したデータを、CPU30へ出力する。操作部34は、ユーザによる接触操作を受け付けるタッチパネルを備え、ユーザによる当該タッチパネルに対する接触操作を検出し、検出結果を示す接触操作信号をCPU30へ出力する。ユーザは、操作部34が備えるタッチパネルに対して接触操作を行うことにより、端末装置3に走行動作情報の提示を開始させる指示と、端末装置3に走行動作情報の提示を終了させる指示と、を含む、端末装置3に対する各種指示を入力することができる。さらに、操作部34は、端末装置3の電源のオン/オフを切り替える操作を受け付ける端末装置電源キーを含む、ユーザによる操作を受け付ける複数のキーを備え、ユーザによる当該複数のキーに対する操作を検出し、検出結果を示すキー操作信号をCPU30へ出力する。表示部35は、液晶ディスプレイ、有機EL(Electroluminescence)ディスプレイ等のディスプレイを備え、CPU30による制御に従って各種画像を表示する。操作部34が備える上述のタッチパネルは、表示部35が備える上述のディスプレイに重畳して配置されている。
上述した物理的構成を備える端末装置3は、機能的に、図7に示すように、走行動作情報受信部300と、走行動作情報提示部301と、を備えている。走行動作情報受信部300及び走行動作情報提示部301は、CPU30によって実現される。すなわち、CPU30は、ROM31に記憶されたプログラムを実行して端末装置3の各部を制御することにより、走行動作情報受信部300及び走行動作情報提示部301として機能する。なお、図7には、端末装置3が備える機能的構成のうち、本発明の特徴部に関連する機能的構成のみが示されている。端末装置3は、図7に示されていない任意の機能的構成を備えていてもよい。例えば、端末装置3は、上述したスピーカによる音声の出力を制御する音声出力制御部を備えていてもよい。
走行動作情報受信部300は、検出装置2から走行動作情報を受信する。具体的に、走行動作情報受信部300は、通信部33を制御して、上述した検出装置2の走行動作情報出力部209による制御に従って検出装置2の通信部25から送信された走行動作情報を受信させる。走行動作情報提示部301は、走行動作情報受信部300により検出装置2から受信された走行動作情報を、ユーザが認識可能な形態で出力することにより、ユーザへ提示する。具体的に、走行動作情報提示部301は、表示部35を制御して、受信された走行動作情報に応じた走行動作情報画像を表示させることにより、当該走行動作情報をユーザへ提示する。より具体的に、走行動作情報提示部301は、表示部35を制御して、走行動作情報画像として、受信された走行動作情報が示す平均離地間隔を表す画像(例えば、「現在の平均離地間隔はX秒です。」というメッセージを表す画像)を表示させる。表示部35が走行動作情報画像を既に表示しているときに、走行動作情報受信部300が走行動作情報を新たに受信した場合、走行動作情報提示部301は、表示部35を制御して、表示されている走行動作情報画像を、新たに受信された走行動作情報に応じて更新させる。
なお、本実施形態では、走行動作情報提示部301が、表示部35に、走行動作情報に応じた走行動作情報画像を表示させることにより、走行動作情報をユーザへ提示するものとして説明するが、これは一例に過ぎない。走行動作情報提示部301は、走行動作情報を、ユーザが認識可能な任意の形態で出力することにより、ユーザへ提示することができる。例えば、走行動作情報提示部301は、上述したスピーカに、走行動作情報に応じた走行動作情報音声(例えば、「現在の平均離地間隔はX秒です。」というメッセージを表す音声)を出力させることにより、当該走行動作情報をユーザへ提示してもよい。
以下、上述した離地タイプ推定器、プレフィルタ及びテンプレートの生成について説明する。本実施形態において、離地タイプ推定器、プレフィルタ及びテンプレートは、図8に示す外部の情報処理装置4によって生成された後、検出装置2に取り込まれる。
情報処理装置4は、検出装置2を製造する工場の作業員によって操作されるコンピュータ等の情報処理機器であり、図8に示すように、CPU40と、ROM41と、RAM42と、通信部43と、操作部44と、表示部45と、を備えている。上述した作業員は、情報処理装置4を操作するオペレータである。CPU40~表示部45は、コマンド及びデータの伝送経路であるシステムバス46を介して相互に接続されている。CPU40は、ROM41に記憶されたプログラム及びデータに従って、情報処理装置4の各部を制御すると共に、各種処理を実行する。ROM41は、CPU40が各種処理を実行するために用いるプログラム及びデータを非一時的に記憶する。RAM42は、CPU40のワークエリアとして機能する。すなわち、CPU40は、ROM41によって記憶されているプログラム及びデータをRAM42へ読み出し、読み出されたプログラム及びデータを参照することによって各種処理を実行する。また、CPU40は、各種処理を実行することによって取得したデータをRAM42へ一時的に記憶させ、記憶されたデータを参照することによって各種処理を実行する。通信部43は、CPU40による制御に従って検出装置2を含む外部の機器との間で無線通信又は有線通信を行い、データを送受信する。通信部43は、外部の機器から受信したデータを、CPU40へ出力する。操作部44は、キーボード、マウス等の作業員による操作を受け付ける入力手段を備え、作業員による当該入力手段に対する操作を検出し、検出結果を示す操作信号をCPU40へ出力する。作業員は、操作部44が備える入力手段に対して操作を行うことにより、情報処理装置4に離地タイプ推定器を生成させる指示、情報処理装置4にプレフィルタを生成させる指示、及び情報処理装置4にテンプレートを生成させる指示を含む、情報処理装置4に対する各種指示を入力することができる。表示部45は、液晶ディスプレイ、有機ELディスプレイ等のディスプレイを備え、CPU40による制御に従って各種画像を表示する。
以下、情報処理装置4による離地タイプ推定器の生成について説明する。情報処理装置4は、図9のフローチャートに示す推定器生成処理を実行することにより、離地タイプ推定器を生成する。以下、図9のフローチャートに示す推定器生成処理について説明する。
情報処理装置4のROM41には、CPU40が離地タイプ推定器の生成に用いる複数の推定器学習データが予め記憶されている。具体的に、ROM41には、所定の第1基準数(本実施形態では、150)の推定器学習データが記憶されている。ROM41に記憶された複数の推定器学習データには、複数の正例推定器学習データと、複数の負例推定器学習データと、が含まれている。正例推定器学習データは、離地タイミングに対応する基準比率が識別閾値未満である場合の第2極大値タイミングより第1基準時間(本実施形態では、500ms)だけ前のタイミングにおけるx軸方向、y軸方向及びz軸方向の被験者の加速度を示すデータである。負例推定器学習データは、離地タイミングに対応する基準比率が識別閾値以上である場合の第2極大値タイミングより第1基準時間だけ前のタイミングにおけるx軸方向、y軸方向及びz軸方向の被験者の加速度を示すデータである。正例推定器学習データには、正例のクラスラベルが予め付与されており、負例推定器学習データには、負例のクラスラベルが予め付与されている。
本実施形態では、検出装置2のユーザ以外の複数の人間を被験者とする実験において、被験者の腰に図示しない加速度センサを装着した状態で被験者に走行動作を行わせ、当該加速度センサによって検出された第2極大値タイミングより第1基準時間だけ前のタイミングにおけるx軸方向、y軸方向及びz軸方向の被験者の加速度を示すデータを推定器学習データとして取得し、ROM41に予め記憶させている。具体的に、本実施形態では、上述の実験において、被験者にフォースプレート上で走行動作を行わせ、フォースプレートによる被験者の離地動作の検出結果に応じて離地タイミングを検出するとともに、加速度センサの出力信号を二回積分することにより得られた被験者の腰の位置の経時推移に応じて第1極大値タイミング及び第2極大値タイミングを検出することにより、離地タイミングに対応する基準比率を測定する。そして、基準比率が識別閾値未満である場合の加速度を示すデータに正例ラベルを付すことにより正例推定器学習データを生成するとともに、基準比率が識別閾値以上である場合の加速度を示すデータに負例ラベルを付すことにより負例推定器学習データを生成し、生成された正例推定器学習データ及び負例推定器学習データを推定器学習データとしてROM41に予め記憶させている。なお、本実施形態では、上述した実験において、検出装置2のユーザ以外の複数の人間を被験者とするものとして説明したが、これは一例に過ぎない。上述した実験において、検出装置2のユーザを実験の被験者としてもよいし、検出装置2のユーザと、検出装置2のユーザ以外の1人以上の人間と、を含む複数の人間を被験者としてもよい。
ROM41に推定器学習データが予め記憶された状態において、作業員が、操作部44が備える入力手段を操作することにより、情報処理装置4に離地タイプ推定器を生成させる指示を入力すると、CPU40が、図9のフローチャートに示す推定器生成処理を開始する。推定器生成処理を開始すると、CPU40は、まず、ROM41に記憶された推定器学習データを教師データとして用いた教師あり学習を行うことによって離地タイプ推定器を生成する(ステップS101)。ステップS101で行われる教師あり学習では、推定器学習データが示す第2極大値タイミングより第1基準時間だけ前のタイミングにおける被験者の加速度を特徴量として離地タイプ推定器に入力し、正例又は負例に識別させることによって離地タイプ識別器を生成する。ステップS101の処理の実行後、CPU40は、ステップS101で生成された離地タイプ推定器をRAM42に記憶させ(ステップS102)、推定器生成処理を終了する。
検出装置2は、情報処理装置4が上述した推定器生成処理を行うことにより生成した離地タイプ推定器を、情報処理装置4との間で通信部25を用いた通信を行うことによって情報処理装置4から取り込み、ROM23の記憶領域に設けられた推定器記憶部203に記憶する。
次に、情報処理装置4によるプレフィルタの生成について説明する。情報処理装置4は、図10のフローチャートに示すプレフィルタ生成処理を実行することにより、プレフィルタを生成する。以下、図10のフローチャートに示すプレフィルタ生成処理について説明する。
情報処理装置4のROM41には、CPU40が後述する畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)の生成に用いる複数のCNN学習データが予め記憶されている。具体的に、ROM41には、所定の第2基準数(本実施形態では、200)のCNN学習データが記憶されている。ROM41に記憶された複数のCNN学習データには、複数のy軸CNN学習データと、複数のz軸CNN学習データと、が含まれる。
y軸CNN学習データは、y軸方向に対応するCNN学習データであり、z軸CNN学習データは、z軸方向に対応するCNN学習データである。複数のy軸CNN学習データには、複数のy軸離地データと、複数のy軸非離地データと、が含まれている。y軸離地データは、被験者が離地動作を行っている場合の所定の第3基準時間(本実施形態では、3.0s)にわたるy軸方向における被験者の加速度の経時推移を示すデータである。y軸離地データには、被験者が離地動作を行っていることを示すラベルが予め付与されている。y軸非離地データは、被験者が離地動作を行っていない場合の第3基準時間にわたるy軸方向における被験者の加速度の経時推移を示すデータである。y軸非離地データには、被験者が離地動作を行っていないことを示すラベルが、予め付与されている。
複数のz軸CNN学習データには、複数のz軸離地データと、複数のz軸非離地データと、が含まれている。z軸離地データは、被験者が離地動作を行っている場合の上述した第3基準時間にわたるz軸方向における被験者の加速度の経時推移を示すデータである。z軸離地データには、被験者が離地動作を行っていることを示すラベルが予め付与されている。z軸非離地データは、被験者が離地動作を行っていない場合の第3基準時間にわたるz軸方向における被験者の加速度の経時推移を示すデータである。z軸非離地データには、被験者が離地動作を行っていないことを示すラベルが、予め付与されている。
本実施形態では、検出装置2のユーザ以外の複数の人間を被験者とする実験において、被験者の腰に図示しない加速度センサを装着した状態で被験者に走行動作を行わせ、当該加速度センサにy軸方向及びz軸方向における被験者の加速度の経時推移を示すデータを取得させ、当該データに応じてy軸離地データ、y軸非離地データ、z軸離地データ及びz軸非離地データを取得し、ROM41に予め記憶させている。具体的に、加速度センサにより取得されたy軸方向における被験者の加速度の経時推移を示すデータから、被験者が離地動作を行ったタイミングを含む上述した第3基準時間の長さの時間区間に対応するデータを切り出し、切り出されたデータに離地動作が行われていることを示すラベルを付与することにより、y軸離地データを生成する。また、加速度センサにより取得されたy軸方向における被験者の加速度の経時推移を示すデータから、被験者が離地動作を行ったタイミングを含まない第3基準時間の長さの時間区間に対応するデータを切り出し、切り出されたデータに離地動作が行われていないことを示すラベルを付与することにより、y軸非離地データを生成する。
また、加速度センサにより取得されたz軸方向における被験者の加速度の経時推移を示すデータから、被験者が離地動作を行ったタイミングを含む第3基準時間の長さの時間区間に対応するデータを切り出し、切り出されたデータに離地動作が行われていることを示すラベルを付与することにより、z軸離地データを生成する。また、上述した加速度センサにより取得されたz軸方向における被験者の加速度の経時推移を示すデータから、被験者が離地動作を行ったタイミングを含まない第3基準時間の長さの時間区間に対応するデータを切り出し、切り出されたデータに離地動作が行われていないことを示すラベルを付与することにより、z軸非離地データを生成する。なお、離地タイミングは、上述した加速度センサにより被験者の加速度の経時推移を検出する際、被験者にフォースプレート上で走行動作を行わせ、当該フォースプレートにより被験者の離地動作を検出することによって、検出される。なお、本実施形態では、上述した実験において、検出装置2のユーザ以外の複数の人間を被験者とするものとして説明したが、これは一例に過ぎない。上述した実験において、検出装置2のユーザを実験の被験者としてもよいし、検出装置2のユーザと、検出装置2のユーザ以外の1人以上の人間と、を含む複数の人間を被験者としてもよい。
ROM41にCNN学習データが予め記憶された状態において、作業員が、操作部44が備える入力手段を操作することにより、情報処理装置4にプレフィルタを生成させる指示を入力すると、CPU40が、図10のフローチャートに示すプレフィルタ生成処理を開始する。
プレフィルタ生成処理を開始すると、CPU40は、まず、y軸方向とz軸方向とのうち何れか一方をランダムに選択し、生成対象方向として設定する(ステップS201)。ステップS201の処理の実行後、CPU40は、ROM41に記憶された生成対象方向に対応するCNN学習データを教師データとして用いた教師あり学習を行うことによって、生成対象方向に対応する畳み込みニューラルネットワークを生成する(ステップS202)。
ステップS202で生成される生成対象方向に対応する畳み込みニューラルネットワークは、上述した第3基準時間にわたる生成対象方向における被験者の加速度の経時推移を示すデータが入力されたことに応答して、被験者が離地動作を行った確率を出力する。y軸方向が生成対象方向に設定されている場合、ステップS202の処理では、y軸方向に対応するCNN学習データである、複数のy軸離地データ及び複数のy軸非離地データを含むy軸CNN学習データを教師データとして用いた教師あり学習が行われ、y軸方向に対応する畳み込みニューラルネットワークが生成される。生成されたy軸方向に対応する畳み込みニューラルネットワークは、第3基準時間にわたるy軸方向における被験者の加速度の経時推移を示すデータが入力されると、被験者が離地動作を行った確率を出力する。
一方、z軸方向が生成対象方向に設定されている場合、ステップS202の処理では、z軸方向に対応するCNN学習データである、複数のz軸離地データ及び複数のz軸非離地データを含むz軸CNN学習データを教師データとして用いた教師あり学習が行われ、z軸方向に対応する畳み込みニューラルネットワークが生成される。生成されたz軸方向に対応する畳み込みニューラルネットワークは、第3基準時間にわたるz軸方向における被験者の加速度の経時推移を示すデータが入力されると、被験者が離地動作を行った確率を出力する。
ステップS202の処理では、生成対象方向に対応する畳み込みニューラルネットワークとして、第3基準時間にわたる生成対象方向における被験者の加速度の経時推移を示すデータの入力を受け付ける入力層と、被験者が離地動作を行った確率を出力する出力層と、入力層と出力層との間に設けられた中間層と、を有する1次元畳み込みニューラルネットワークが生成される。上述した中間層には、所定の第3基準数(本実施形態では、20)のチャネルを有し、入力層に入力された加速度データに対して畳み込み処理を行う1次元畳み込み層と、複数のチャネルを有し、1次元畳み込み層の出力値に対して最大プーリング等のプーリング処理を行うプーリング層と、プーリング層の各チャネルの出力値を重み付け加算して出力層へ出力する全結合層と、が含まれている。ステップS202の処理では、生成対象方向に対応するCNN学習データを教師データとして用い、MSGD(Momentum Stochastic Gradient Descent)等の任意の方法によって、上述した1次元畳み込み層が有する各チャネルの重みが最適化される。
ステップS202の処理の実行後、CPU40は、ステップS202で生成された生成対象方向に対応する畳み込みニューラルネットワークの1次元畳み込み層が有する上述した第3基準数のチャネルのうちランダムに選択された1つのチャネルの畳み込みフィルタを、生成対象方向に対応するプレフィルタとして取得し、RAM42に記憶させる(ステップS203)。すなわち、生成対象方向がy軸方向に設定されている場合、ステップS203の処理で、ステップS202で生成されたy軸方向に対応する畳み込みニューラルネットワークの1次元畳み込み層が有する第3基準数のチャネルのうち、ランダムに選択された1つのチャネルの畳み込みフィルタが、y軸方向に対応するプレフィルタであるy軸プレフィルタとして取得される。一方、生成対象方向がz軸方向に設定されている場合、ステップS203の処理で、ステップS202で生成されたz軸方向に対応する畳み込みニューラルネットワークの1次元畳み込み層が有する第3基準数のチャネルのうち、ランダムに選択された1つのチャネルの畳み込みフィルタが、z軸方向に対応するプレフィルタであるz軸プレフィルタとして取得される。ステップS203の処理では、選択されたチャネルの畳み込みフィルタを定義する係数である当該チャネルの重みを示すデータが、プレフィルタを表すデータとしてRAM42に記憶される。
ステップS203の処理の実行後、CPU40は、y軸方向とz軸方向との両方を生成対象方向として既に設定済みであるか否かを判定する(ステップS204)。y軸方向とz軸方向との何れか一方を未だに生成対象方向として設定していないと判定した場合(ステップS204;No)、CPU40が、y軸方向とz軸方向とのうち未だに生成対象方向として設定されていない方向を生成対象方向として設定し(ステップS205)、処理はステップS202へ戻る。
これに対し、y軸方向とz軸方向とが何れも生成対象方向として既に設定済みであると判定した場合(ステップS204;Yes)、CPU40は、プレフィルタ生成処理を終了する。このように、CPU40は、y軸方向とz軸方向とのうち両方が生成対象方向として既に設定済みであると判定される(ステップS204;Yes)まで、ステップS202~S204の処理を繰り返し実行することにより、y軸方向に対応するy軸プレフィルタと、z軸方向に対応するz軸プレフィルタと、の両方を取得する。
検出装置2は、情報処理装置4が上述したプレフィルタ生成処理を行うことにより生成したy軸プレフィルタ及びz軸プレフィルタを、情報処理装置4との間で通信部25を用いた通信を行うことによって情報処理装置4から取り込み、ROM23の記憶領域に設けられたプレフィルタ記憶部206に記憶する。なお、本実施形態では、プレフィルタが、畳み込みニューラルネットワークの1次元畳み込み層が備える複数のチャネルのうちの1つの畳み込みフィルタであるものとして説明するが、これは一例に過ぎない。プレフィルタは、ユーザが離地動作を行ったときに特徴的なユーザの加速度の推移波形を強調する任意のフィルタであってよい。
次に、情報処理装置4によるテンプレートの生成について説明する。情報処理装置4は、図11のフローチャートに示すテンプレート生成処理を実行することにより、テンプレートを生成する。以下、図11のフローチャートに示すテンプレート生成処理について説明する。
情報処理装置4のROM41には、CPU40がテンプレートの生成に用いる複数のテンプレート素材データが予め記憶されている。ROM41に記憶された複数のテンプレート素材データには、所定の第4基準数(本実施形態では、150)のy軸テンプレート素材データと、当該第4基準数のz軸テンプレート素材データと、が含まれる。
y軸テンプレート素材データは、y軸方向に対応するテンプレート素材データであり、z軸テンプレート素材データは、z軸方向に対応するテンプレート素材データである。y軸テンプレート素材データは、被験者が離地動作を行った場合のy軸方向における被験者の加速度の経時推移を示している。具体的に、y軸テンプレート素材データは、複数のサンプリングポイントのデータを時系列順に含んでおり、y軸テンプレート素材データが含む一のサンプリングポイントのデータは、当該一のサンプリングポイントにおいて検出されたy軸方向における被験者の加速度を示している。y軸テンプレート素材データには、被験者が離地動作を行ったタイミングを示すデータが予め含まれている。z軸テンプレート素材データは、被験者が離地動作を行った場合のz軸方向における被験者の加速度の経時推移を示している。具体的に、z軸テンプレート素材データは、複数のサンプリングポイントのデータを時系列順に含んでおり、z軸テンプレート素材データが含む一のサンプリングポイントのデータは、当該一のサンプリングポイントにおいて検出されたz軸方向における被験者の加速度を示している。z軸テンプレート素材データには、被験者が離地動作を行ったタイミングを示すデータが予め含まれている。
以下、y軸テンプレート素材データの生成方法について説明する。本実施形態では、検出装置2のユーザ以外の複数の人間を被験者とする実験において、被験者の腰に図示しない加速度センサを装着した状態で被験者に走行動作を行わせる実験を行い、当該加速度センサによって検出されたy軸方向における被験者の加速度の経時推移を示すデータに応じて、y軸テンプレート素材データを生成する。具体的に、上述したy軸方向における被験者の加速度の経時推移を示すデータから、地面から離れていた被験者の一方の足が地面に接するタイミングと、当該タイミングの後のタイミングであり、地面に接していた被験者の他方の足が地面から離れた後に再び地面に接するタイミングと、の間の時間区間に含まれるデータが上述した第4基準数だけ切り出される。被験者の足が地面に接するタイミングと、被験者の足が地面から離れるタイミングとは、上述した加速度センサによる被験者の加速度の経時推移の検出を行う際、被験者にフォースプレート上で走行動作を行わせ、当該フォースプレートにより被験者の離地動作及び着地動作を検出することによって検出される。切り出された第4基準数のデータは、それぞれ、時間長がこれらのデータの時間長の平均値となるように正規化された後、上述したサンプリング周期(本実施形態では、200Hz)でリサンプリングされる。その後、リサンプリングが行われた後の第4基準数のデータから、それぞれ、被験者が離地動作を行ったタイミングより所定の第4基準時間(本実施形態では、15ms)だけ前のタイミングを始端とし、被験者が離地動作を行ったタイミングより所定の第5基準時間(本実施形態では、25ms)だけ後のタイミングを終端とする時間区間に含まれるデータが、y軸テンプレート素材データとして切り出される。z軸テンプレート素材データは、上述したy軸テンプレート素材データの生成方法における「y軸方向」を「z軸方向」に置き換えた方法を適用して生成される。なお、本実施形態では、上述した実験において、検出装置2のユーザ以外の複数の人間を被験者とするものとして説明したが、これは一例に過ぎない。上述した実験において、検出装置2のユーザを実験の被験者としてもよいし、検出装置2のユーザと、検出装置2のユーザ以外の1人以上の人間と、を含む複数の人間を被験者としてもよい。
ROM41には、上述したテンプレート素材データに加えて、CPU40が後述するテンプレートの候補の評価に用いる試験データが予め記憶されている。ROM41には、試験データとして、y軸試験データと、z軸試験データと、が記憶されている。y軸試験データは、y軸方向に対応する試験データであり、z軸試験データは、z軸方向に対応する試験データである。y軸試験データは、被験者が離地動作を行った場合のy軸方向における被験者の加速度の経時推移を示すデータであり、被験者が離地動作を行ったタイミングを示すデータを予め含んでいる。z軸試験データは、被験者が離地動作を行った場合のz軸方向における被験者の加速度の経時推移を示すデータであり、被験者が離地動作を行ったタイミングを示すデータを予め含んでいる。y軸試験データ及びz軸試験データは、検出装置2のユーザ以外の複数の人間を被験者とする実験において、被験者の腰に図示しない加速度センサを装着した状態で、被験者にフォースプレート上で走行動作を行わせ、当該加速度センサによりy軸方向及びz軸方向における被験者の加速度の経時推移を検出するとともに、当該フォースプレートにより被験者が離地動作を行ったタイミングを検出することにより生成される。なお、本実施形態では、上述した実験において、検出装置2のユーザ以外の複数の人間を被験者とするものとして説明したが、これは一例に過ぎない。上述した実験において、検出装置2のユーザを実験の被験者としてもよいし、検出装置2のユーザと、検出装置2のユーザ以外の1人以上の人間と、を含む複数の人間を被験者としてもよい。
ROM41にテンプレート素材データ及び試験データが予め記憶された状態において、作業員が、操作部44が備える入力手段を操作することにより、情報処理装置4にテンプレートを生成させる指示を入力すると、CPU40が、図11のフローチャートに示すテンプレート生成処理を開始する。
テンプレート生成処理を開始すると、CPU40は、まず、y軸方向とz軸方向とのうちの何れか一方をランダムに選択し、生成対象方向として設定する(ステップS301)。ステップS301の処理の実行後、CPU40は、ROM41に記憶された生成対象方向に対応するテンプレート素材データ間の距離を示す距離行列を作成する(ステップS302)。y軸方向が生成対象方向に設定されている場合、ステップS302の処理では、y軸方向に対応するy軸テンプレート素材データ間の距離を示す距離行列が作成される。z軸方向が生成対象方向に設定されている場合、ステップS302の処理では、z軸方向に対応するz軸テンプレート素材データ間の距離を示す距離行列が作成される。
ステップS302の処理において、CPU40は、動的時間伸縮法を用いてテンプレート素材データ間の距離を取得することにより、距離行列を作成する。以下、ステップS302の処理において、CPU40が、動的時間伸縮法を用いて一のテンプレート素材データと他のテンプレート素材データとの間の距離を取得する際の処理について説明する。CPU40は、まず、一のテンプレート素材データの各サンプリングポイントのデータと、他のテンプレート素材データの各サンプリングポイントのデータと、の間の距離を示す距離行列を作成する。この際、データ間の差分の絶対値をデータ間の距離として算出する。CPU40は、作成された距離行列に応じて、一のテンプレート素材データと他のテンプレート素材データとの間の対応関係を示す最良経路を求めることにより、当該一のテンプレート素材データと当該他のテンプレート素材データとを互いに対応付ける。そして、CPU40は、距離行列の要素のうち求められた最良経路上にある要素の総和を、一のテンプレート素材データと他のテンプレート素材データとの間の距離として取得する。ステップS302の処理において、CPU40は、上述した処理と同様の処理を繰り返し実行することにより、生成対象方向に対応するテンプレート素材データそれぞれについて、生成対象方向に対応する他の全てのテンプレート素材データとの間の距離を取得し、距離行列を作成する。
ステップS302の処理の実行後、CPU40は、生成対象方向に対応するテンプレート素材データを、ステップS302で作成された距離行列に従い、k-means法を用いてクラスタリングすることにより、所定の第5基準数(本実施形態では、5)のクラスタへ分類する(ステップS303)。ステップS303の処理の実行後、CPU40は、ステップS303で第5基準数のクラスタへ分類された生成対象方向に対応するテンプレート素材データのうち、各クラスタのセントロイドのテンプレート素材データを、生成対象方向に対応するテンプレートの候補として取得する(ステップS304)。
なお、本実施形態では、ステップS303の処理において、k-means法を用いてテンプレート素材データをクラスタリングするものとして説明するが、これは一例に過ぎず、テンプレート素材データのクラスタリングには任意の方法を用いることができる。例えば、ステップS303の処理において、ステップS302で作成された距離行列に従い、k-medoids法を用いてテンプレート素材データをクラスタリングしてもよい。この場合、ステップS304の処理において、ステップS303でクラスタリングされたテンプレート素材データのうち、各クラスタのmedoidのテンプレート素材データを、生成対象方向に対応するテンプレートの候補として取得すればよい。
ステップS304の処理の実行後、CPU40は、ROM41に記憶された生成対象方向に対応する試験データに応じて、ステップS304で取得されたテンプレートの候補それぞれを離地タイミングの検出に用いた場合の離地タイミングの検出精度を取得する(ステップS305)。具体的に、ステップS305の処理において、CPU40は、動的時間伸縮法を用いて、生成対象方向に対応する試験データとテンプレートの候補とを互いに対応付ける。テンプレートの候補は、何れも、テンプレート素材データであり、被験者が離地動作を行ったタイミングを示すデータを含んでいる。CPU40は、テンプレートの候補が示す被験者が離地動作を行ったタイミングに対応する生成対象方向に対応する試験データ中のタイミングを、離地タイミングとして検出する。上述したように、試験データは、被験者が離地動作を行ったタイミングを示すデータを含んでいる。CPU40は、試験データとテンプレートの候補とに応じて上述の方法により検出された離地タイミングと、当該試験データが示す被験者が離地動作を行ったタイミングと、の時間差を、当該テンプレートの候補を離地タイミングの検出に用いた場合の離地タイミングの検出精度を示す指標として取得する。上述した時間差が小さいほど、離地タイミングの検出精度が高い。
ステップS305の処理の実行後、CPU40は、ステップS304で取得されたテンプレートの候補のうち、ステップS305で取得された離地タイミングの検出精度が最も高いテンプレートの候補に、被験者が離地動作を行ったタイミングを示すデータを付加することによって、生成対象方向に対応するテンプレートを生成する(ステップS306)。離地タイミングの検出精度が最も高いテンプレートの候補は、テンプレートの候補を用いて検出された離地タイミングと試験データが示す離地動作が行われたタイミングとの時間差が最も小さいテンプレートの候補である。被験者が離地動作を行ったタイミングは、上述した方法で生成されたテンプレート素材データであるテンプレートの候補の始端より上述の第4基準時間だけ後のタイミングであり、テンプレートの候補の終端より上述の第5基準時間だけ前のタイミングである。ステップS306の処理では、生成対象方向がy軸方向であればy軸方向に対応するy軸テンプレートが生成され、生成対象方向がz軸方向であればz軸方向に対応するz軸テンプレートが生成される。ステップS306の処理により生成された生成対象方向に対応するテンプレートは、被験者が離地動作を行った場合の生成対象方向における被験者の加速度の典型的な経時推移を示している。
ステップS306の処理の実行後、CPU40は、y軸方向とz軸方向との両方を生成対象方向として既に設定済みであるか否かを判定する(ステップS307)。y軸方向とz軸方向との何れか一方を未だに生成対象方向として設定していないと判定した場合(ステップS307;No)、CPU40が、y軸方向とz軸方向とのうち未だに生成対象方向として設定されていない方向を生成対象方向として設定し(ステップS308)、処理はステップS302へ戻る。これに対し、y軸方向とz軸方向とが何れも生成対象方向として既に設定済みであると判定した場合(ステップS307;Yes)、CPU40は、テンプレート生成処理を終了する。このように、CPU40は、y軸方向とz軸方向とのうち両方が生成対象方向として既に設定済みであると判定される(ステップS307;Yes)まで、ステップS302~S307の処理を繰り返し実行することにより、y軸方向に対応するy軸テンプレートと、z軸方向に対応するz軸テンプレートと、の両方を生成する。
検出装置2は、情報処理装置4が上述したテンプレート生成処理を行うことにより生成したy軸テンプレート及びz軸テンプレートを、情報処理装置4との間で通信部25を用いた通信を行うことによって情報処理装置4から取り込み、ROM23の記憶領域に設けられたテンプレート記憶部205に記憶する。
以下、上述した物理的・機能的構成を備える検出装置2が実行する処理について、図12~図15のフローチャートを参照して説明する。なお、図12~図15には、検出装置2が実行可能な処理のうち、本発明の特徴部に関連する処理のみが示されている。検出装置2は、図12~図15に示されていない任意の処理を実行できる。例えば、検出装置2は、上述した表示装置による画像の表示を制御する表示制御処理を実行してもよい。
まず、図12のフローチャートを参照して、検出装置2が実行する制御処理について説明する。検出装置2は、情報処理装置4によって生成された離地タイプ推定器を、情報処理装置4との間で通信部25を用いた通信を行うことによって情報処理装置4から取り込み、ROM23の記憶領域に設けられた推定器記憶部203に予め記憶している。また、検出装置2は、情報処理装置4によって生成されたy軸テンプレート及びz軸テンプレートを、情報処理装置4との間で通信部25を用いた通信を行うことによって情報処理装置4から取り込み、ROM23の記憶領域に設けられたテンプレート記憶部205に予め記憶している。また、検出装置2は、情報処理装置4によって生成されたy軸プレフィルタ及びz軸プレフィルタを、情報処理装置4との間で通信部25を用いた通信を行うことによって情報処理装置4から取り込み、ROM23の記憶領域に設けられたプレフィルタ記憶部206に予め記憶している。検出装置2は、ユーザの腰の中央部にベルト部21によって固定されている。この状態において、ユーザが、検出装置2の操作部26が備える検出装置電源キーを操作することにより検出装置2の電源をオンにすると、検出装置2のCPU22が、図12のフローチャートに示す制御処理を開始する。
制御処理を開始すると、CPU22は、まず、初期化処理を実行する(ステップS401)。ステップS401の初期化処理において、CPU22は、RAM24の記憶内容をクリアする。また、ステップS401の初期化処理において、CPU22は、後述する出力処理に用いられる各パラメータを所定の値に設定する処理を行い、その後、各パラメータが実際に当該所定の値に設定されているか否か判定する。各パラメータが所定の値に設定されていると判定した場合、処理はステップS402へ進む。パラメータが所定の値と異なる値に設定されていると判定した場合、CPU22は、パラメータを所定の値に再設定し、処理はステップS402へ進む。
ステップS401の処理を実行した後、CPU22は、後述する出力処理の割り込みを開始する(ステップS402)。以後、CPU22は、後述するステップS406の処理で出力処理の割り込みが停止されるまで、所定の割り込み周期(本実施形態では、1.5s)が経過したことを計時部27から入力された計時信号に基づいて検出する度に出力処理を割り込ませ、出力処理を繰り返し実行する。出力処理の詳細については、後述する。
ステップS402の処理の実行後、加速度データ取得部200が、加速度センサ28aから入力された加速度信号に応じて、ユーザの加速度の経時推移を示す加速度データを取得する(ステップS403)。ステップS403の処理において、加速度データ取得部200は、カルマンフィルタを用いて、加速度センサ28aから入力された加速度信号が示す加速度の検出結果と、角速度センサ28bから入力された角速度信号が示す角速度の検出結果と、に応じて鉛直方向及びユーザの進行方向を推定することにより、加速度センサ28aにより検出されたセンサ座標系における加速度の値を、上述したxyz座標軸で定義されるワールド座標系における加速度の値に変換する。加速度データ取得部200は、変換後の加速度の値を所定のサンプリング周波数(本実施形態では、200Hz)でサンプリングすることにより加速度データを取得する。ステップS403で取得される加速度データは、x軸加速度データ、y軸加速度データ及びz軸加速度データを含んでいる。ステップS403の処理の実行後、加速度データ取得部200は、ステップS403で取得された加速度データを、加速度データ記憶部201に記憶させる(ステップS404)。
ステップS404の処理の実行後、CPU22は、所定の出力終了条件が成立しているか否かを判定する(ステップS405)。本実施形態では、ユーザが、上述した検出装置電源キーを操作することにより検出装置2の電源をオフにしたときに、出力終了条件が成立する。なお、これは一例に過ぎず、出力終了条件は、任意に設定できる。例えば、制御処理の実行中にエラーが発生したときに、出力終了条件が成立するように設定してもよい。ステップS405の処理において、出力終了条件が成立していないと判定した場合(ステップS405;No)、処理はステップS403へ戻る。
一方、出力終了条件が成立していると判定した場合(ステップS405;Yes)、CPU22は、出力処理の割り込みを停止し(ステップS406)、制御処理を終了する。このような構成により、出力終了条件が成立したと判定される(ステップS405;Yes)まで、ステップS403及びステップS404の処理が繰り返し実行され、加速度センサ28aから加速度信号が入力される度に、当該加速度信号に応じた加速度データが取得され、加速度データ記憶部201に蓄積される。
以下、上述した出力処理の詳細について、図13のフローチャートを参照して説明する。
出力処理を開始すると、CPU22は、まず、タイミング検出処理を実行することにより、離地タイミングを検出する(ステップS501)。タイミング検出処理の詳細については、後述する。ステップS501の処理の実行後、タイミング検出部204が、ステップS501で検出された離地タイミングを示すデータを、離地タイミング情報記憶部207に記憶されている離地タイミング情報に追加することにより、離地タイミング情報を更新する(ステップS502)。ステップS502の処理の実行後、走行動作情報取得部208が、ステップS502で更新された後の離地タイミング情報に基づいて、上述した平均離地間隔を示す走行動作情報を取得する(ステップS503)。ステップS503の処理の実行後、走行動作情報出力部209が、通信部25を制御して、ステップS503で取得された走行動作情報を端末装置3へ送信させ(ステップS504)、出力処理を終了する。
以下、出力処理のステップS501にて実行されるタイミング検出処理の詳細について、図14のフローチャートを参照して説明する。
タイミング検出処理を開始すると、まず、走行動作識別部202が、加速度データ記憶部201から、現在時刻より上述した割り込み周期だけ前の時刻から現在時刻までの時間区間である処理期間に対応する加速度データを読み出す(ステップS601)。ステップS601で読み出される加速度データは、前回のタイミング検出処理が開始されてから今回のタイミング検出処理が開始されるまでの期間に対応する加速度データである。ステップS601で読み出される加速度データには、x軸加速度データ、y軸加速度データ及びz軸加速度データが含まれている。
走行動作識別部202は、ステップS601で読み出された加速度データが含むz軸加速度データを二回積分することにより、z軸方向におけるユーザの腰の位置の経時推移を示すz軸位置データを取得する(ステップS602)。ステップS602の処理では、上述した処理期間におけるz軸方向のユーザの腰の位置の経時推移を示すz軸位置データが取得される。ステップS602の処理の実行後、走行動作識別部202は、ステップS602で取得されたz軸位置データに対して移動平均フィルタを用いた平滑化処理を行う(ステップS603)。ステップS603の処理の実行後、走行動作識別部202は、ステップS603で平滑化処理を施した後のz軸位置データに応じて、z軸方向におけるユーザの腰の位置の経時推移において、ユーザの腰の位置が極大値になる第1極大値タイミングと、第1極大値タイミングの次にユーザの腰の位置が極大値になる第2極大値タイミングと、を検出する(ステップS604)。ステップS604の処理では、上述した処理期間におけるz軸方向のユーザの腰の位置の経時推移において、ユーザの腰の位置が最初に極大値になるタイミングが第1極大値タイミングとして検出される。
ステップS604の処理の実行後、走行動作識別部202は、推定器記憶部203により記憶された離地タイプ推定器に、ステップS601で読み出された加速度データが示す、ステップS604で検出された第2極大値タイミングより第1基準時間(本実施形態では、500ms)だけ前のタイミングにおけるx軸方向、y軸方向及びz軸方向のユーザの加速度を特徴量として入力することにより、離地タイプ推定器に、離地タイミングに応じた基準比率が識別閾値(本実施形態では、0.95)未満であるか否かを推定させる(ステップS605)。
ステップS605の処理の実行後、走行動作識別部202は、ステップS605で基準比率が識別閾値未満であると推定されたか否かを判定する(ステップS606)。基準比率が識別閾値未満であると推定されたと判定した場合(ステップS606;Yes)、走行動作識別部202は、ユーザの走行動作が第1の走行動作であると識別する(ステップS607)。ステップS607の処理の実行後、タイミング検出部204が、y軸方向を検出対象方向として設定する(ステップS608)。一方、ステップS606の処理で、基準比率が識別閾値以上であると推定されたと判定した場合(ステップS606;No)、走行動作識別部202は、ユーザの走行動作が第2の走行動作であると識別する(ステップS609)。ステップS609の処理の実行後、タイミング検出部204が、z軸方向を検出対象方向として設定する(ステップS610)。
ステップS608又はステップS610の処理の実行後、タイミング検出部204は、ステップS608又はステップS610で設定された検出対象方向に対応する加速度データに対し、プレフィルタ記憶部206に記憶されているy軸プレフィルタ及びz軸プレフィルタのうち当該検出対象方向に対応するプレフィルタを用いて、プレフィルタ処理を行う(ステップS611)。ステップS608でy軸方向が検出対象方向として設定された場合、ステップS611の処理で、y軸方向に対応するy軸加速度データに対し、y軸方向に対応するy軸プレフィルタを用いてプレフィルタ処理が行われる。ステップS610でz軸方向が検出対象方向として設定された場合、ステップS611の処理で、z軸方向に対応するz軸加速度データに対し、z軸方向に対応するz軸プレフィルタを用いてプレフィルタ処理が行われる。ステップS611の処理の実行後、タイミング検出部204は、ステップS611でプレフィルタ処理を施した後の検出対象方向に対応する加速度データから、ステップS604で検出された第1極大値タイミングから第2極大値タイミングまでの範囲に属する加速度データを切り出し、切り出された加速度データを正規化する(ステップS612)。ステップS612の処理では、切り出された加速度データが示す加速度が-10から10までの範囲に正規化されるとともに、当該加速度データが示す第1極大値タイミングから第2極大値タイミングまでの時間範囲が0から100までの範囲に正規化される。
ステップS612の処理の実行後、タイミング検出部204は、動的時間伸縮処理を実行することにより、動的時間伸縮法を用いて、ステップS612で切り出され正規化された検出対象方向に対応する加速度データと、検出対象方向に対応するテンプレートと、を互いに対応付けることで離地タイミングを検出し(ステップS613)、タイミング検出処理を終了する。ステップS607の処理で、ユーザの走行動作が第1の走行動作であると走行動作識別部202により識別された場合(ステップS607)、y軸方向が検出対象方向として設定され(ステップS608)、ステップS613の処理において、検出対象方向であるy軸方向に対応するy軸加速度データとy軸方向に対応するy軸テンプレートとに応じて離地タイミングが検出される。すなわち、ユーザの走行動作が第1の走行動作であると識別された場合(ステップS607)、第1の検出方法を用いて離地タイミングの検出が行われる。これに対し、ステップS609の処理で、ユーザの走行動作が第2の走行動作であると走行動作識別部202により識別された場合(ステップS609)、z軸方向が検出対象方向として設定され(ステップS610)、ステップS613の処理において、検出対象方向であるz軸方向に対応するz軸加速度データとz軸方向に対応するz軸テンプレートとに応じて離地タイミングが検出される。すなわち、ユーザの走行動作が第2の走行動作であると識別された場合(ステップS609)、第2の検出方法を用いて離地タイミングの検出が行われる。
以下、タイミング検出処理のステップS613にて実行される動的時間伸縮処理の詳細について、図15のフローチャートを参照して説明する。
動的時間伸縮処理を開始すると、タイミング検出部204は、まず、図14のフローチャートのステップS612で切り出され正規化された加速度データ中に、ステップS604で検出された第1極大値タイミング及び第2極大値タイミングに応じて探索区間を設定する(ステップS701)。ステップS701の処理では、第2極大値タイミングより第2基準時間だけ前のタイミングから第2極大値タイミングまでの区間が探索区間として設定される。第2基準時間は、第1極大値タイミングから第2極大値タイミングまでの時間に上述した基準乗数(本実施形態では、0.5)を乗じて得られる時間である。
ステップS701の処理の実行後、タイミング検出部204は、ステップS701で設定された探索区間の始端のサンプリングポイントを、データ側対象位置として設定する(ステップS702)。ステップS702の処理の実行後、タイミング検出部204は、図14のフローチャートのステップS608又はステップS610で設定された検出対象方向に対応するテンプレートの始端のサンプリングポイントを、テンプレート側対象位置として設定する(ステップS703)。
ステップS703の処理の実行後、タイミング検出部204は、ステップS612で切り出されて正規化された検出対象方向に対応する加速度データが含むデータのうちのデータ側対象位置に対応するデータと、検出対象方向に対応するテンプレートが含むデータのうちのテンプレート側対象位置に対応するデータと、の間の距離を算出し、算出された距離を示すデータをRAM24の所定領域に記憶させる(ステップS704)。ステップS704の処理では、データ間の差分の絶対値がデータ間の距離として算出される。また、ステップS704の処理では、算出された距離を示すデータが、現在設定されているデータ側対象位置と現在設定されているテンプレート側対象位置とを示すデータに対応付けて記憶される。
ステップS704の処理の実行後、タイミング検出部204は、現在設定されているテンプレート側対象位置が、検出対象方向に対応するテンプレートの終端のサンプリングポイントであるか否かを判定する(ステップS705)。現在設定されているテンプレート側対象位置が、検出対象方向に対応するテンプレートの終端のサンプリングポイントであると判定した場合(ステップS705;Yes)、処理はステップS706へ移る。一方、現在設定されているテンプレート側対象位置が、検出対象方向に対応するテンプレートの終端のサンプリングポイントではないと判定した場合(ステップS705;No)、タイミング検出部204は、テンプレート側対象位置を、検出対象方向に対応するテンプレート中の現在設定されているテンプレート側対象位置の次のサンプリングポイントへシフトさせ(ステップS710)、処理はステップS704へ戻る。タイミング検出部204は、現在設定されているテンプレート側対象位置が、検出対象方向に対応するテンプレートの終端のサンプリングポイントであると判定される(ステップS705;Yes)まで、テンプレート側対象位置をシフトさせつつ(ステップS710)、ステップS704及びステップS705の処理を繰り返し実行することにより、ステップS701で設定された探索区間に含まれる加速度データのうち現在設定されているデータ側対象位置のデータと、検出対象方向に対応するテンプレートの全てのサンプリングポイントの各々のデータとの間の距離を算出し、RAM24の所定領域に蓄積する。
ステップS706の処理において、タイミング検出部204は、現在設定されているデータ側対象位置が、ステップS701で設定された探索区間の終端のサンプリングポイントであるか否かを判定する(ステップS706)。現在設定されているデータ側対象位置が、探索区間の終端のサンプリングポイントであると判定した場合(ステップS706;Yes)、処理はステップS707へ移る。一方、現在設定されているデータ側対象位置が、探索区間の終端のサンプリングポイントではないと判定した場合(ステップS706;No)、タイミング検出部204は、データ側対象位置を、探索区間に含まれる加速度データ中の現在設定されているデータ側対象位置の次のサンプリングポイントへシフトさせ(ステップS711)、処理はステップS703へ戻る。タイミング検出部204は、現在設定されているデータ側対象位置が、探索区間の終端のサンプリングポイントであると判定される(ステップS706;Yes)まで、データ側対象位置をシフトさせつつ(ステップS711)、ステップS703~ステップS706の処理を繰り返し実行することにより、探索区間に含まれる加速度データの全てのサンプリングポイントの各々のデータと、検出対象方向に対応するテンプレートの全てのサンプリングポイントの各々のデータと、の間の距離を算出し、RAM24の所定領域に蓄積する。
ステップS707の処理において、タイミング検出部204は、ステップS704の処理を繰り返し実行することによりRAM24の所定領域に蓄積した、探索区間に含まれる加速度データの各サンプリングポイントのデータと、検出対象方向に対応するテンプレートの各サンプリングポイントのデータと、の間の距離を示すデータに応じて、探索区間に含まれる加速度データの各サンプリングポイントのデータと、検出対象方向に対応するテンプレートの各サンプリングポイントのデータと、の間の距離を示す距離行列を作成する(ステップS707)。
ステップS707の処理の実行後、タイミング検出部204は、ステップS707で作成された距離行列に応じて、探索区間に含まれる加速度データと、検出対象方向に対応するテンプレートとの間の対応関係を示す最良経路を求めることにより、当該加速度データと当該テンプレートとを互いに対応付ける(ステップS708)。ステップS708の処理では、ステップS707で作成された距離行列上の経路であって、加速度データが含むデータのうち探索区間の始端に対応するデータと、検出対象方向に対応するテンプレートが含むデータのうちテンプレートの始端に対応するデータと、の間の距離を示す当該距離行列の要素を始端とし、加速度データが含むデータのうち探索区間の終端に対応するデータと、当該テンプレートが含むデータのうちテンプレートの終端に対応するデータと、の間の距離を示す当該距離行列の要素を終端とする経路のうち、経路上にある当該距離行列の要素の総和が最も小さい経路が、最良経路として求められる。
ステップS708の処理の実行後、タイミング検出部204は、検出対象方向に対応するテンプレートが示す被験者が離地動作を行ったタイミングに対応する加速度データ中のタイミングを、離地タイミングとして検出し(ステップS709)、動的時間伸縮処理を終了する。
次に、上述した物理的・機能的構成を備える端末装置3が実行する提示処理について、図16のフローチャートを参照して説明する。なお、図16には、端末装置3が実行可能な処理のうち、本発明の特徴部に関連する処理のみが示されている。端末装置3は、図16に示されていない任意の処理を実行できる。例えば、端末装置3は、上述したスピーカによる音声の出力を制御する音声出力制御処理を実行してもよい。
以下、検出装置2がユーザの腰に装着された状態で、検出装置2の電源がオンに設定されており、検出装置2が、上述した割り込み周期毎に、上述した出力処理を実行することで走行動作情報を端末装置3へ送信している場合を例に用いて説明する。この状態において、ユーザが、端末装置3の操作部34が備えるタッチパネルを操作することにより、端末装置3に走行動作情報の提示を開始させる指示を入力すると、端末装置3のCPU30が、図16のフローチャートに示す提示処理を開始する。
提示処理を開始すると、まず、走行動作情報受信部300が、通信部33を制御して、走行動作情報出力部209による制御に従って検出装置2の通信部25から送信された走行動作情報を受信させる(ステップS801)。ステップS801の処理の実行後、走行動作情報提示部301が、表示部35に、ステップS801で受信された走行動作情報に応じた走行動作情報画像を表示させる走行動作情報画像表示制御を行う(ステップS802)。表示部35が走行動作情報画像を既に表示している場合、ステップS802で走行動作情報画像表示制御が実行されることにより、表示部35により現在表示されている走行動作情報画像が、ステップS801で受信された走行動作情報に応じた新たな走行動作情報画像へ更新される。
ステップS802の処理の実行後、CPU30は、所定の提示終了条件が成立しているか否かを判定する(ステップS803)。本実施形態では、ユーザが、端末装置3の操作部34が備えるタッチパネルを操作することにより、端末装置3に走行動作情報の提示を終了させる指示を入力したときに、提示終了条件が成立する。なお、これは一例に過ぎず、提示終了条件は、任意に設定できる。例えば、ユーザが、操作部34が備える端末装置電源キーを操作することにより端末装置3の電源をオフにしたときに、提示終了条件が成立するように設定してもよい。或いは、通信部33が検出装置2から走行動作情報を受信することなく所定の時間(例えば、10分)が経過したときに、提示終了条件が成立するように設定してもよい。ステップS803の処理において、提示終了条件が成立していないと判定された場合(ステップS803;No)、処理はステップS801へ戻る。一方、提示終了条件が成立していると判定した場合(ステップS803;Yes)、CPU30は、提示処理を終了する。このような構成により、CPU30は、提示終了条件が成立していると判定される(ステップS803;Yes)まで、ステップS801~S803の処理を繰り返し実行し、表示部35によって表示されている走行動作情報画像を、検出装置2から走行動作情報を受信する度に更新する。
以上説明したように、タイミング検出部204は、ユーザの走行動作が第1の走行動作である場合、第1の検出方法を用いて離地タイミングを検出し、ユーザの走行動作が第2の走行動作である場合、第2の検出方法を用いて離地タイミングを検出する。タイミング検出部204が第1の検出方法を用いて離地タイミングを検出する場合における検出対象方向及び検出に使用されるテンプレートと、タイミング検出部204が第2の検出方法を用いて離地タイミングを検出する場合における検出対象方向及び検出に使用されるテンプレートとが、それぞれ互いに異なる。このような構成によれば、離地タイミングの検出精度を向上させることができる。
また、タイミング検出部204は、動的時間伸縮法を用いて検出対象方向に対応する加速度データと検出対象方向に対応するテンプレートとを互いに対応付け、当該テンプレートが示す被験者が離地動作を行ったタイミングに対応する当該加速度データ中のタイミングを離地タイミングとして検出する。このような構成によれば、ユーザの走行速度のばらつきに対してロバストに離地タイミングの検出を行い、離地タイミングの検出精度を向上させることができる。
また、タイミング検出部204は、動的時間伸縮法を用いて、検出対象方向に対応する加速度データのうち探索区間に含まれるデータと、検出対象方向に対応するテンプレートと、を互いに対応付けることにより離地タイミングを検出する。このような構成によれば、計算負荷を軽減するとともに、離地タイミングの検出精度を向上させることができる。
また、タイミング検出部204は、第1の検出方法を用いて離地タイミングを検出する場合、y軸テンプレートに応じて離地タイミングを検出し、第2の検出方法を用いて離地タイミングを検出する場合、z軸テンプレートに応じて離地タイミングを検出する。このような構成によれば、ユーザの走行動作の種別に応じて適切なテンプレートを用いて離地タイミングを検出し、離地タイミングの検出精度を向上させることができる。
また、タイミング検出部204は、第1の検出方法を用いて離地タイミングを検出する場合、y軸加速度データに応じて離地タイミングを検出し、第2の検出方法を用いて離地タイミングを検出する場合、z軸加速度データに応じて離地タイミングを検出する。このような構成によれば、ユーザの走行動作の種別に応じて適切な検出対象方向に対応する加速度データを用いて離地タイミングを検出し、離地タイミングの検出精度を向上させることができる。
また、タイミング検出部204は、ユーザの走行動作が第1の走行動作であると走行動作識別部202により識別された場合、第1の検出方法を用いて離地タイミングを検出し、ユーザの走行動作が第2の走行動作であると走行動作識別部202により識別された場合、第2の検出方法を用いて離地タイミングを検出する。このような構成によれば、ユーザの走行動作の種別に応じて適切な検出方法を用いて離地タイミングを検出し、離地タイミングの検出精度を向上させることができる。
また、走行動作識別部202は、基準比率と識別閾値との大小関係に応じて、ユーザの走行動作が第1の走行動作と第2の走行動作とのうち何れであるかを識別する。このような構成によれば、ユーザの走行動作の種別の識別精度を向上させ、ユーザの走行動作の種別に応じて適切な検出方法を用いて離地タイミングを検出し、離地タイミングの検出精度を向上させることができる。
また、走行動作情報取得部208は、タイミング検出部204により検出された離地タイミングに応じて走行動作情報を取得し、走行動作情報出力部209は、走行動作情報取得部208により取得された走行動作情報を出力する。このような構成によれば、走行動作情報の正確性を向上させ、ユーザにとっての利便性を向上させることができる。
以上、本発明の実施形態について説明したが、本発明は、上記実施形態に限定されず、本発明の要旨を逸脱しない範囲で種々の変更が可能である。
例えば、上記実施形態では、第1の走行動作が、ユーザが成人の平均ランニング速度である第1基準速度で走っている場合の走行動作であり、第2の走行動作が、ユーザが当該第1基準速度より遅い第2基準速度で走っている場合の走行動作であるものとして説明したが、これは一例に過ぎない。第1の走行動作と第2の走行動作とは、互いに異なる任意の走行動作であってよい。例えば、第1の走行動作が、ユーザが、50メートル走、100メートル走等の短距離走を行う場合の走行動作であり、第2の走行動作が、ユーザが、ハーフマラソン、フルマラソン等の長距離走を行う場合の走行動作であってもよい。
上記実施形態では、第1の移動動作の一例が第1の走行動作であり、第2の移動動作の一例が第2の走行動作であるものとして説明したが、これは一例に過ぎず、第1の移動動作が走行動作であり、第2の移動動作が歩行動作であってもよい。
上記実施形態では、タイミング検出部204が第1の検出方法を用いて離地タイミングを検出する場合と、タイミング検出部204が第2の検出方法を用いて離地タイミングを検出する場合とで、検出対象方向と、離地タイミングの検出に使用されるテンプレートと、の両方が異なるものとして説明した。しかしながら、これは一例に過ぎず、タイミング検出部204が第1の検出方法を用いて離地タイミングを検出する場合と、タイミング検出部204が第2の検出方法を用いて離地タイミングを検出する場合とで、検出対象方向と、離地タイミングの検出に使用されるテンプレートと、のうち何れか一方のみが異なるように構成してもよい。
例えば、タイミング検出部204が第1の検出方法を用いて離地タイミングを検出する場合と、タイミング検出部204が第2の検出方法を用いて離地タイミングを検出する場合とで、離地タイミングの検出に使用されるテンプレートが互いに異なる一方、検出対象方向は互いに同一であるように構成してもよい。
以下、タイミング検出部204が、第1の検出方法と第2の検出方法とのうち何れを用いて離地タイミングを検出する場合でも、y軸方向を検出対象方向として設定して検出を行う変形例について説明する。本変形例では、テンプレート記憶部205に、テンプレートとして、第1の走行動作を行うことにより移動している被験者が離地動作を行った場合のy軸方向における被験者の加速度の経時推移を示す第1の走行動作テンプレートと、第2の走行動作を行うことにより移動している被験者が離地動作を行った場合のy軸方向における被験者の加速度の経時推移を示す第2の走行動作テンプレートと、が予め記憶されている。第1の走行動作テンプレート及び第2の走行動作テンプレートには、それぞれ、被験者が離地動作を行ったタイミングを示すデータが含まれている。第1の走行動作テンプレートは、第1基準データの一例であり、第2の走行動作テンプレートは、第2基準データの一例である。
第1の走行動作テンプレート及び第2の走行動作テンプレートは、情報処理装置4によって生成された後、検出装置2に取り込まれ、テンプレート記憶部205に予め記憶されている。情報処理装置4は、第1の走行動作を行うことにより移動している被験者が離地動作を行った場合のy軸方向における被験者の加速度の経時推移を示すデータをテンプレート素材データとして用いて上記実施形態のテンプレート生成処理と同様の処理を実行することにより、第1の走行動作テンプレートを生成する。このような方法により生成された第1の走行動作テンプレートは、第1の走行動作を行うことにより移動している被験者が離地動作を行った場合におけるy軸方向における被験者の加速度の典型的な経時推移を示している。また、情報処理装置4は、第2の走行動作を行うことにより移動している被験者が離地動作を行った場合のy軸方向における被験者の加速度の経時推移を示すデータをテンプレート素材データとして用いて上記実施形態のテンプレート生成処理と同様の処理を実行することにより、第2の走行動作テンプレートを生成する。このような方法により生成された第2の走行動作テンプレートは、第2の走行動作を行うことにより移動している被験者が離地動作を行った場合におけるy軸方向における被験者の加速度の典型的な経時推移を示している。
タイミング検出部204は、第1の検出方法を用いて離地タイミングを検出する場合、第1の走行動作テンプレートを用いて検出を行う一方、第2の検出方法を用いて離地タイミングを検出する場合、第2の走行動作テンプレートを用いて検出を行う。すなわち、タイミング検出部204は、第1の検出方法を用いて離地タイミングを検出する場合、検出対象方向であるy軸方向に対応するy軸加速度データと、第1の走行動作テンプレートとを動的時間伸縮法を用いて互いに対応付け、第1の走行動作テンプレートが示す被験者が離地動作を行ったタイミングに対応するy軸加速度データ中のタイミングを離地タイミングとして検出する。これに対し、タイミング検出部204は、第2の検出方法を用いて離地タイミングを検出する場合、検出対象方向であるy軸方向に対応するy軸加速度データと、第2の走行動作テンプレートとを動的時間伸縮法を用いて互いに対応付け、第2の走行動作テンプレートが示す被験者が離地動作を行ったタイミングに対応するy軸加速度データ中のタイミングを離地タイミングとして検出する。このような構成によれば、ユーザの走行動作の種別に応じて適切なテンプレートを用いて離地タイミングの検出を行うことにより、離地タイミングの検出精度を向上させることができる。
なお、本変形例では、第1の検出方法と第2の検出方法との何れにおいても、y軸方向が検出対象方向として設定されるものとして説明したが、これは一例に過ぎない。第1の検出方法と第2の検出方法との何れにおいても、z軸方向を検出対象方向として設定してもよい。このような変形例は、上述した変形例における「y軸方向」を「z軸方向」に置き換えることにより実現できる。
以上、タイミング検出部204が第1の検出方法を用いて離地タイミングを検出する場合と、タイミング検出部204が第2の検出方法を用いて離地タイミングを検出する場合とで、離地タイミングの検出に使用されるテンプレートが互いに異なる一方、検出対象方向は互いに同一である変形例について説明したが、これは一例に過ぎない。タイミング検出部204が第1の検出方法を用いて離地タイミングを検出する場合と、タイミング検出部204が第2の検出方法を用いて離地タイミングを検出する場合とで、検出対象方向が互いに異なる一方、離地タイミングの検出に使用されるテンプレートは互いに同一であるように構成してもよい。
以下、タイミング検出部204が、第1の検出方法と第2の検出方法とのうち何れを用いて離地タイミングを検出する場合でも、同一の共通テンプレートを用いて検出を行う変形例について説明する。本変形例では、テンプレート記憶部205に、テンプレートとして、走行動作を行うことにより移動している被験者が離地動作を行った場合のy軸方向及びz軸方向における被験者の加速度の経時推移を示す共通テンプレートが予め記憶されている。共通テンプレートには、被験者が離地動作を行ったタイミングを示すデータが含まれている。
共通テンプレートは、情報処理装置4によって生成された後、検出装置2に取り込まれ、テンプレート記憶部205に予め記憶されている。情報処理装置4は、走行動作を行うことにより移動している被験者が離地動作を行った場合のy軸方向における被験者の加速度の経時推移を示すデータと、走行動作を行うことにより移動している被験者が離地動作を行った場合のz軸方向における被験者の加速度の経時推移を示すデータと、をテンプレート素材データとして用いて上記実施形態のテンプレート生成処理と同様の処理を実行することにより、共通テンプレートを生成する。このような方法により生成された共通テンプレートは、走行動作を行うことにより移動している被験者が離地動作を行った場合におけるy軸方向及びz軸方向における被験者の加速度の典型的な経時推移を示している。
タイミング検出部204は、第1の検出方法を用いて離地タイミングを検出する場合、y軸方向を検出対象方向として設定して検出を行う一方、第2の検出方法を用いて離地タイミングを検出する場合、z軸方向を検出対象方向として設定して検出を行う。すなわち、タイミング検出部204は、第1の検出方法を用いて離地タイミングを検出する場合、検出対象方向であるy軸方向に対応するy軸加速度データと、共通テンプレートとを動的時間伸縮法を用いて互いに対応付け、共通テンプレートが示す被験者が離地動作を行ったタイミングに対応するy軸加速度データ中のタイミングを離地タイミングとして検出する。これに対し、タイミング検出部204は、第2の検出方法を用いて離地タイミングを検出する場合、検出対象方向であるz軸方向に対応するz軸加速度データと、共通テンプレートとを動的時間伸縮法を用いて互いに対応付け、共通テンプレートが示す被験者が離地動作を行ったタイミングに対応するz軸加速度データ中のタイミングを離地タイミングとして検出する。このような構成によれば、ユーザの走行動作の種別に応じて適切な方向を検出対象方向として設定して離地タイミングの検出を行うことにより、離地タイミングの検出精度を向上させることができる。また、このような構成によれば、検出方法毎に異なるテンプレートを記憶する必要がないため、記憶負荷を軽減することができる。さらに、このような構成によれば、検出方法毎に異なるテンプレートを生成する必要がないため、検出装置2の製造コストを低減することができる。
上記実施形態では、タイミング検出部204が、走行動作識別部202によるユーザの走行動作の識別結果に応じて、第1の検出方法と第2の検出方法とのうちの何れかを用いて離地タイミングを検出するものとして説明したが、これは一例に過ぎない。検出装置2は、ユーザの走行動作が第1の走行動作と第2の走行動作とのうち何れであるかを識別することなく、ユーザの走行動作の種別に応じた検出方法を用いて離地タイミングを検出することができる。
具体的に、以下、タイミング検出部204が、第1の検出方法と第2の検出方法との両方を用いて、離地タイミングの候補である2つの候補タイミングを検出し、当該2つの候補タイミングのうち何れかを離地タイミングとして決定する変形例について説明する。
本変形例において、タイミング検出部204は、第1の検出方法を用いて、離地タイミングの一の候補である第1候補タイミングを検出する。具体的に、タイミング検出部204は、第1の検出方法における検出対象方向であるy軸方向に対応するy軸加速度データの各サンプリングポイントのデータと、y軸方向に対応するy軸テンプレートの各サンプリングポイントのデータと、の間の距離を示す距離行列を作成し、動的時間伸縮法を用い、当該距離行列に応じてy軸加速度データとy軸テンプレートとの間の対応関係を示す最良経路を求めることにより、y軸加速度データとy軸テンプレートとを互いに対応付け、y軸テンプレートが示す被験者が離地動作を行ったタイミングに対応するy軸加速度データ中のタイミングを第1候補タイミングとして検出する。さらに、タイミング検出部204は、求められた最良経路上にある距離行列の要素の総和を、y軸加速度データとy軸テンプレートとの間の類似度を示す指標として取得する。
タイミング検出部204は、第2の検出方法を用いて、離地タイミングの他の候補である第2候補タイミングを検出する。具体的に、タイミング検出部204は、第2の検出方法における検出対象方向であるz軸方向に対応するz軸加速度データの各サンプリングポイントのデータと、z軸方向に対応するz軸テンプレートの各サンプリングポイントのデータと、の間の距離を示す距離行列を作成し、動的時間伸縮法を用い、当該距離行列に応じてz軸加速度データとz軸テンプレートとの間の対応関係を示す最良経路を求めることにより、z軸加速度データとz軸テンプレートとを互いに対応付け、z軸テンプレートが示す被験者が離地動作を行ったタイミングに対応するz軸加速度データ中のタイミングを第2候補タイミングとして検出する。さらに、タイミング検出部204は、求められた最良経路上にある距離行列の要素の総和を、z軸加速度データとz軸テンプレートとの間の類似度を示す指標として取得する。
タイミング検出部204は、検出対象方向に対応する加速度データと検出方向に対応するテンプレートとの間の類似度に応じて、第1の検出方法を用いて検出された第1候補タイミングと、第2の検出方法を用いて検出された第2候補タイミングと、のうち何れかを離地タイミングとして決定する。本変形例では、動的時間伸縮法により求められた検出方向に対応する加速度データと検出方向に対応するテンプレートとの間の対応関係を示す最良経路上の距離行列の要素の総和を、当該加速度データと当該テンプレートとの間の類似度を示す指標として用いる。加速度データとテンプレートとの間の対応関係を示す最良経路上の要素の総和が小さいほど、当該加速度データと当該テンプレートとの間の類似度が高い。
具体的に、タイミング検出部204は、y軸加速度データとy軸テンプレートとの間の対応関係を示す最良経路上の距離行列の要素の総和が、z軸加速度データとz軸テンプレートとの間の対応関係を示す最良経路上の距離行列の要素の総和よりも小さい場合、すなわち、y軸加速度データとy軸テンプレートとの類似度が、z軸加速度データとz軸テンプレートとの類似度よりも高い場合、第1の検出方法により検出された第1候補タイミングを離地タイミングとして決定する。一方、タイミング検出部204は、y軸加速度データとy軸テンプレートとの間の対応関係を示す最良経路上の距離行列の要素の総和が、z軸加速度データとz軸テンプレートとの間の対応関係を示す最良経路上の距離行列の要素の総和以上である場合、すなわち、y軸加速度データとy軸テンプレートとの類似度が、z軸加速度データとz軸テンプレートとの類似度以下である場合、第2の検出方法により検出された第2候補タイミングを離地タイミングとして決定する。
ユーザの走行動作が第1の走行動作である場合、y軸加速度データとy軸テンプレートとの類似度が、z軸加速度データとz軸テンプレートとの類似度よりも高い。従って、ユーザの走行動作が第1の走行動作である場合、タイミング検出部204によって、第1の検出方法により検出された第1候補タイミングが離地タイミングとして決定される。換言すれば、ユーザの走行動作が第1の走行動作である場合、タイミング検出部204は、第1の検出方法を用いて離地タイミングを検出する。ユーザの走行動作が第2の走行動作である場合、z軸加速度データとz軸テンプレートとの類似度が、y軸加速度データとy軸テンプレートとの類似度よりも高い。従って、ユーザの走行動作が第2の走行動作である場合、タイミング検出部204によって、第2の検出方法により検出された第2候補タイミングが離地タイミングとして決定される。換言すれば、ユーザの走行動作が第2の走行動作である場合、タイミング検出部204は、第2の検出方法を用いて離地タイミングを検出する。
以上説明したように、本変形例の構成によれば、ユーザの走行動作が第1の走行動作と第2の走行動作とのうち何れであるかを識別することなく、ユーザの走行動作の種別に応じた適切な検出方法を用いて離地タイミングを検出し、離地タイミングの検出精度を向上させることができる。このような構成によれば、ユーザの走行動作の種別を誤って識別してしまい、誤って識別された走行動作の種別に応じた検出方法を用いて離地タイミングの検出を行うことにより、離地タイミングの検出精度が低下してしまう可能性を低減できる。
なお、本発明に係る各機能を実現するための構成を予め備えた専用の測定装置を本発明に係る測定装置として提供できることはもとより、プログラムの適用により、既存の測定装置を、本発明に係る測定装置として機能させることもできる。すなわち、本発明に係る測定装置の各機能を実現させるためのプログラムを、既存の測定装置を制御するCPU等のプロセッサが実行できるように適用することで、当該既存の測定装置を本発明に係る測定装置として機能させることができる。
なお、このようなプログラムの適用方法は任意である。プログラムを、例えば、フレキシブルディスク、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、メモリーカード等のコンピュータ読み取り可能な記憶媒体に格納して適用できる。さらに、プログラムを搬送波に重畳し、インターネット等の通信媒体を介して適用することもできる。例えば、通信ネットワーク上の掲示板(BBS:Bulletin Board System)にプログラムを掲示して配信してもよい。そして、このプログラムを起動し、OS(Operating System)の制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成してもよい。
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲とが含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
(付記1)
対象者が移動動作を行うことにより移動しているときの対象者の加速度の経時推移を示す加速度データを取得する加速度データ取得手段と、
前記加速度データが示す検出対象方向における対象者の加速度の経時推移と、被験者が前記移動動作における対象動作を行ったときの被験者の加速度の経時推移を示す基準データと、に応じて、対象者が前記対象動作を行ったときのタイミングである対象タイミングを検出するタイミング検出手段と、
を備え、
前記タイミング検出手段は、
前記移動動作が第1の移動動作である場合、第1の検出方法を用いて前記対象タイミングを検出し、
前記移動動作が、前記第1の移動動作と異なる第2の移動動作である場合、前記第1の検出方法と異なる第2の検出方法を用いて前記対象タイミングを検出し、
前記タイミング検出手段が前記第1の検出方法を用いて前記対象タイミングを検出する場合と、前記タイミング検出手段が前記第2の検出方法を用いて前記対象タイミングを検出する場合とで、前記検出対象方向と前記基準データとのうち少なくとも一方が異なる、
ことを特徴とする測定装置。
(付記2)
前記対象動作は、地面から足を離す離地動作又は地面から離れていた足を地面に着地させる着地動作である、
ことを特徴とする付記1に記載の測定装置。
(付記3)
前記基準データは、被験者が前記対象動作を行ったタイミングを示すデータを含み、
前記タイミング検出手段は、
動的時間伸縮法を用いて前記加速度データと前記基準データとを互いに対応付け、
前記基準データが示す被験者が前記対象動作を行ったタイミングに対応する前記加速度データ中のタイミングを前記対象タイミングとして検出する、
ことを特徴とする付記1又は2に記載の測定装置。
(付記4)
前記タイミング検出手段は、前記動的時間伸縮法を用いて、前記加速度データのうち探索区間に含まれるデータと、前記基準データと、を互いに対応付ける、
ことを特徴とする付記3に記載の測定装置。
(付記5)
前記基準データとして、第1基準データと、該第1基準データと異なる第2基準データと、を記憶する基準データ記憶手段をさらに備え、
前記タイミング検出手段は、
前記第1の検出方法を用いて前記対象タイミングを検出する場合、前記第1基準データに応じて前記対象タイミングを検出し、
前記第2の検出方法を用いて前記対象タイミングを検出する場合、前記第2基準データに応じて前記対象タイミングを検出する、
ことを特徴とする付記1乃至4の何れか一つに記載の測定装置。
(付記6)
前記加速度データは、対象者の進行方向に対して平行な方向における対象者の加速度の経時推移を示す第1加速度データと、鉛直方向に対して平行な方向における対象者の加速度の経時推移を示す第2加速度データと、を含み、
前記タイミング検出手段は、
前記第1の検出方法を用いて前記対象タイミングを検出する場合、前記第1加速度データに応じて前記対象タイミングを検出し、
前記第2の検出方法を用いて前記対象タイミングを検出する場合、前記第2加速度データに応じて前記対象タイミングを検出する、
ことを特徴とする付記1乃至5の何れか一つに記載の測定装置。
(付記7)
前記移動動作が、前記第1の移動動作と前記第2の移動動作とのうち何れであるかを識別する識別手段をさらに備え、
前記タイミング検出手段は、
前記移動動作が前記第1の移動動作であると前記識別手段により識別された場合、前記第1の検出方法を用いて前記対象タイミングを検出し、
前記移動動作が前記第2の移動動作であると前記識別手段により識別された場合、前記第2の検出方法を用いて前記対象タイミングを検出する、
ことを特徴とする付記1乃至6の何れか一つに記載の測定装置。
(付記8)
前記識別手段は、基準比率と識別閾値との大小関係に応じて、前記移動動作が前記第1の移動動作と前記第2の移動動作とのうち何れであるかを識別し、
前記基準比率は、鉛直方向に平行な方向における対象者の身体の一部の位置の経時推移において当該身体の一部の位置が極大値になる第1タイミングから当該経時推移において当該第1タイミングの次に当該身体の一部の位置が極大値になる第2タイミングまでの時間に対する、当該第1タイミングから前記対象タイミングまでの時間の比率である、
ことを特徴とする付記7に記載の測定装置。
(付記9)
前記タイミング検出手段は、
前記第1の検出方法を用いて第1候補タイミングを検出し、
前記第2の検出方法を用いて第2候補タイミングを検出し、
前記移動動作が前記第1の移動動作である場合、前記第1候補タイミングを前記対象タイミングとして決定し、
前記移動動作が前記第2の移動動作である場合、前記第2候補タイミングを前記対象タイミングとして決定する、
ことを特徴とする付記1乃至6の何れか一つに記載の測定装置。
(付記10)
前記タイミング検出手段により検出された前記対象タイミングに応じて、前記移動動作の特徴を示す移動動作情報を取得する移動動作情報取得手段と、
前記移動動作情報取得手段により取得された前記移動動作情報を出力する移動動作情報出力手段と、
をさらに備える、
ことを特徴とする付記1乃至9の何れか一つに記載の測定装置。
(付記11)
対象者が移動動作を行うことにより移動しているときの対象者の加速度の経時推移を示す加速度データを取得する加速度データ取得ステップと、
前記加速度データが示す検出対象方向における対象者の加速度の経時推移と、被験者が前記移動動作における対象動作を行ったときの被験者の加速度の経時推移を示す基準データと、に応じて、対象者が前記対象動作を行ったときのタイミングである対象タイミングを検出するタイミング検出ステップと、
を含み、
前記タイミング検出ステップでは、
前記移動動作が第1の移動動作である場合、第1の検出方法を用いて前記対象タイミングを検出し、
前記移動動作が、前記第1の移動動作と異なる第2の移動動作である場合、前記第1の検出方法と異なる第2の検出方法を用いて前記対象タイミングを検出し、
前記タイミング検出ステップで前記第1の検出方法を用いて前記対象タイミングを検出する場合と、前記タイミング検出ステップで前記第2の検出方法を用いて前記対象タイミングを検出する場合とで、前記検出対象方向と前記基準データとのうち少なくとも一方が異なる、
ことを特徴とする測定方法。
(付記12)
コンピュータを、
対象者が移動動作を行うことにより移動しているときの対象者の加速度の経時推移を示す加速度データを取得する加速度データ取得手段、
前記加速度データが示す検出対象方向における対象者の加速度の経時推移と、被験者が前記移動動作における対象動作を行ったときの被験者の加速度の経時推移を示す基準データと、に応じて、対象者が前記対象動作を行ったときのタイミングである対象タイミングを検出するタイミング検出手段、
として機能させ、
前記タイミング検出手段は、
前記移動動作が第1の移動動作である場合、第1の検出方法を用いて前記対象タイミングを検出し、
前記移動動作が、前記第1の移動動作と異なる第2の移動動作である場合、前記第1の検出方法と異なる第2の検出方法を用いて前記対象タイミングを検出し、
前記タイミング検出手段が前記第1の検出方法を用いて前記対象タイミングを検出する場合と、前記タイミング検出手段が前記第2の検出方法を用いて前記対象タイミングを検出する場合とで、前記検出対象方向と前記基準データとのうち少なくとも一方が異なる、
ことを特徴とするプログラム。