IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ カシオ計算機株式会社の特許一覧

特開2024-122394情報処理装置、情報処理方法及びプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024122394
(43)【公開日】2024-09-09
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
   A63B 69/00 20060101AFI20240902BHJP
   A63B 71/06 20060101ALI20240902BHJP
【FI】
A63B69/00 C
A63B71/06 M
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023029911
(22)【出願日】2023-02-28
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】上田 将司
(57)【要約】
【課題】ユーザが行った運動メニューの系列を推定する。
【解決手段】情報処理装置は、複数の時点にわたるユーザの運動の状態に係る第1の情報に基づいて、複数の時点の各々においてユーザが所定の複数の運動メニューの各々を行っていた尤度を導出し、ユーザの運動の状態に係る第2の情報の時系列変化に基づいて、複数の時点の各々における複数の運動メニューの各々から複数の運動メニューの各々への状態遷移確率を導出し、複数の時点の各々における尤度及び状態遷移確率に基づいて、運動においてユーザが行った運動メニューの系列を推定する、処理部を備える。
【選択図】図7
【特許請求の範囲】
【請求項1】
複数の時点にわたるユーザの運動の状態に係る第1の情報に基づいて、前記複数の時点の各々において前記ユーザが所定の複数の運動メニューの各々を行っていた尤度を導出し、
前記ユーザの前記運動の状態に係る第2の情報の時系列変化に基づいて、前記複数の時点の各々における前記複数の運動メニューの各々から前記複数の運動メニューの各々への状態遷移確率を導出し、
前記複数の時点の各々における前記尤度及び前記状態遷移確率に基づいて、前記運動において前記ユーザが行った運動メニューの系列を推定する、
処理部を備える情報処理装置。
【請求項2】
前記処理部は、
前記運動における前記複数の運動メニューの時系列の実施予定を表す予定情報に基づいて前記尤度を補正し、
前記複数の時点の各々における補正後の前記尤度及び前記状態遷移確率に基づいて、前記ユーザが行った前記運動メニューの系列を推定する、
請求項1に記載の情報処理装置。
【請求項3】
前記処理部は、
前記予定情報において、前記複数の時点に対応する各時点における実施予定の運動メニューを特定し、
前記複数の時点のうちの或る時点における、前記複数の運動メニューのうちの或る運動メニューについての前記尤度に、補正値を加算することで当該尤度を補正し、
前記複数の時点のうち、前記予定情報において前記或る運動メニューが実施予定である各実施予定時点について、実施予定時点と前記或る時点とが近いほど大きくなるように重み付けされた値を導出し、前記各実施予定時点についての当該値の総和を補正値として導出する、
請求項2に記載の情報処理装置。
【請求項4】
前記処理部は、前記第1の情報に含まれる或る運動指標の値と、前記複数の運動メニューの各々について予め定められた前記或る運動指標の基準値と、の差分に基づいて、前記差分が小さいほど前記尤度が高くなるように、前記複数の運動メニューの各々についての前記尤度を導出する、
請求項1に記載の情報処理装置。
【請求項5】
前記処理部は、前記第2の情報に含まれる運動指標の値の移動分散が大きいほど、前記ユーザが行っている運動メニューが変化する場合の前記状態遷移確率が大きくなるように前記状態遷移確率を導出する、
請求項1に記載の情報処理装置。
【請求項6】
前記処理部は、
前記複数の時点の各々において前記ユーザが行っている運動メニューが変化しない場合の前記状態遷移確率を、前記第2の情報の時系列変化に基づかない定数に決定する、
請求項1に記載の情報処理装置。
【請求項7】
前記第1の情報及び前記第2の情報は、互いに異なる種別の運動指標の値を含む、
請求項1に記載の情報処理装置。
【請求項8】
前記第1の情報は、前記ユーザの移動速度に係る運動指標の値、又は、前記ユーザのバイタルサインに係る運動指標の値を含み、
前記第2の情報は、前記ユーザの身体の動きに係る運動指標の値を含む、
請求項1に記載の情報処理装置。
【請求項9】
前記第2の情報は、前記ユーザの身体の動きに係る互いに異なる種別の複数の運動指標の値を含み、
前記処理部は、前記複数の運動指標の値の時系列変化に基づいて前記状態遷移確率を導出する、
請求項1に記載の情報処理装置。
【請求項10】
前記処理部は、前記複数の時点の各々において前記運動メニューが前記状態遷移確率に応じて遷移する前提条件を適用したビタビアルゴリズムに基づいて前記運動メニューの系列を推定する、
請求項1に記載の情報処理装置。
【請求項11】
コンピュータが実行する情報処理方法であって、
複数の時点にわたるユーザの運動の状態に係る第1の情報に基づいて、前記複数の時点の各々において前記ユーザが所定の複数の運動メニューの各々を行っていた尤度を導出し、
前記ユーザの前記運動の状態に係る第2の情報の時系列変化に基づいて、前記複数の時点の各々における前記複数の運動メニューの各々から前記複数の運動メニューの各々への状態遷移確率を導出し、
前記複数の時点の各々における前記尤度及び前記状態遷移確率に基づいて、前記運動において前記ユーザが行った運動メニューの系列を推定する、
情報処理方法。
【請求項12】
コンピュータに、
複数の時点にわたるユーザの運動の状態に係る第1の情報に基づいて、前記複数の時点の各々において前記ユーザが所定の複数の運動メニューの各々を行っていた尤度を導出する処理、
前記ユーザの前記運動の状態に係る第2の情報の時系列変化に基づいて、前記複数の時点の各々における前記複数の運動メニューの各々から前記複数の運動メニューの各々への状態遷移確率を導出する処理、
前記複数の時点の各々における前記尤度及び前記状態遷移確率に基づいて、前記運動において前記ユーザが行った運動メニューの系列を推定する処理、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
従来、身体に装着して用いる電子機器に、加速度センサ及びジャイロセンサ等を含むモーションセンサを搭載し、運動中のユーザの身体の動きをモーションセンサにより検出して運動状態を解析する技術が知られている。例えば、特許文献1には、運動中のユーザの心拍数、距離、速度、歩数、消費カロリー等の各種運動指標を測定し、ユーザに情報として提供する携帯型フィットネスモニタリングシステムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010-264246号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術においては、測定された運動指標から、ユーザがどのような運動メニューをどのような順序で行ったかを推定することができないという課題がある。
【0005】
本発明は、ユーザが行った運動メニューの系列を推定することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明に係る情報処理装置は、
複数の時点にわたるユーザの運動の状態に係る第1の情報に基づいて、前記複数の時点の各々において前記ユーザが所定の複数の運動メニューの各々を行っていた尤度を導出し、
前記ユーザの前記運動の状態に係る第2の情報の時系列変化に基づいて、前記複数の時点の各々における前記複数の運動メニューの各々から前記複数の運動メニューの各々への状態遷移確率を導出し、
前記複数の時点の各々における前記尤度及び前記状態遷移確率に基づいて、前記運動において前記ユーザが行った運動メニューの系列を推定する、
処理部を備える。
【発明の効果】
【0007】
本発明によれば、ユーザが行った運動メニューの系列を推定することができる。
【図面の簡単な説明】
【0008】
図1】運動支援システムを示す図である。
図2】サーバの機能構成を示すブロック図である。
図3】運動結果データの内容例を示す図である。
図4】運動予定データの内容例を示す図である。
図5】端末装置の機能構成を示すブロック図である。
図6】装着型装置の機能構成を示すブロック図である。
図7】運動メニュー推定処理の制御手順を示すフローチャートである。
図8】尤度導出処理の制御手順を示すフローチャートである。
図9】運動結果分割データの内容例を示す図である。
図10】運動結果分割データにおけるペースの時系列変化を示す図である。
図11】尤度の導出結果を示す図である。
図12】尤度補正処理の制御手順を示すフローチャートである。
図13】運動予定分割データの内容例を示す図である。
図14】正規化済み時刻に対する尤度を示す図である。
図15】正規化済み時刻に対する予定運動メニューの推移を示す図である。
図16】尤度の補正結果を示す図である。
図17】状態遷移確率導出処理の制御手順を示すフローチャートである。
図18】運動結果データにおけるピッチの時系列変化を示す図である。
図19】ピッチの移動分散を示す図である。
図20】移動分散から変換された確率値を示す図である。
図21図20における時点a、bについての状態遷移確率を示す図である。
図22】状態遷移確率の他の例を示す図である。
図23】運動メニュー系列推定処理の制御手順を示すフローチャートである。
図24】運動メニューの状態確率の導出方法を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施の形態を図面に基づいて説明する。
【0010】
<運動支援システムの構成>
図1は、本実施形態の運動支援システム1を示す図である。
運動支援システム1(情報処理システム)は、サーバ10(情報処理装置)と、端末装置20と、装着型装置30とを備える。運動支援システム1においては、端末装置20及び装着型装置30の使用者であるユーザが装着型装置30を装着して運動を行った場合に、当該運動に係る情報がサーバ10に送信される。サーバ10は、受信した情報に基づいて運動の内容を解析し、解析結果をユーザに提示することで、ユーザの運動を支援する。本実施形態では、運動支援システム1により、ユーザの運動としてのランニングの内容を解析する例を用いて説明する。
【0011】
装着型装置30は、ユーザの身体(例えば、腰部)に装着されて用いられるウェアラブル端末である。装着型装置30は、自装置の運動状態を検出するセンサ部34(図6参照)を備え、センサ部34により、装着型装置30が装着されたユーザの運動に応じた体の動き、例えば上下動、腰回りの回転、及び左右への揺動などを検出する。また、装着型装置30は、自装置の位置情報を取得する位置情報取得部35(図6参照)を備え、位置情報取得部35が取得した位置情報に基づいて、ユーザの移動距離や移動速度などを導出する。装着型装置30は、無線通信(例えば、ブルートゥース(登録商標)などの近距離無線通信)により端末装置20との間でデータの送受信が可能であり、検出したユーザの運動の状態に係る情報を端末装置20に送信する。
なお、装着型装置30の装着部位は腰に限られない。例えば、装着型装置30は、ユーザの手首に装着されて用いられるリスト型端末であってもよい。この場合には、運動に応じた腕の振りなども検出することができる。
【0012】
端末装置20は、ユーザにより主に携帯されて用いられる機器であり、例えばスマートウォッチである。端末装置20は、ネットワークNを介してサーバ10との間でデータの送受信が可能である。ネットワークNは、例えばインターネットであるが、これに限定されない。端末装置20とサーバ10との間の通信経路には、無線による通信経路が含まれていてもよい。端末装置20には、ユーザの運動を支援するサービスをユーザに提供するためのアプリケーションプログラム(以下、「運動アプリ231」(図5参照)と記す)がインストールされている。端末装置20は、運動アプリ231上で、装着型装置30から受信した運動に係る情報を表示したり、当該情報をサーバ10に送信し、サーバ10による運動の解析結果に係る情報を受信して表示したりする。
なお、端末装置20はスマートウォッチに限られず、スマートフォンなどの携帯可能な機器であってもよい。また、端末装置20は、運動時にユーザが携帯可能な機器に限られず、運動後にサーバ10及び装着型装置30との間でデータの送受信を行う機器、例えばタブレット型端末やノートPC等であってもよい。
【0013】
図2は、サーバ10の機能構成を示すブロック図である。
サーバ10は、CPU11(Central Processing Unit)と、RAM12(Random Access Memory)と、記憶部13と、通信部14と、バス15などを備える。サーバ10の各部は、バス15を介して接続されている。なお、サーバ10は、サーバ10の管理者により使用される操作部や表示部などをさらに備えていてもよい。
【0014】
CPU11は、記憶部13に記憶されているプログラム131を読み出して実行し、各種演算処理を行うことで、サーバ10の各部の動作を制御するプロセッサである。本実施形態では、CPU11が「処理部」に相当する。なお、サーバ10は、複数のプロセッサ(例えば複数のCPU)を有していてもよく、本実施形態のCPU11が実行する複数の処理を、当該複数のプロセッサが実行してもよい。この場合には、複数のプロセッサが「処理部」に相当する。この場合において、複数のプロセッサが共通の処理に関与してもよいし、あるいは、複数のプロセッサが独立に異なる処理を並列に実行してもよい。
RAM12は、CPU11に作業用のメモリ空間を提供し、一時データを記憶する。
【0015】
記憶部13は、コンピュータとしてのCPU11により読み取り可能な非一時的な記録媒体であり、プログラム131及び各種データを記憶する。記憶部13は、例えばフラッシュメモリ等の不揮発性メモリを含む。プログラム131は、コンピュータが読み取り可能なプログラムコードの形態で記憶部13に格納されている。記憶部13には、運動結果データ132及び運動予定データ133(予定情報)等が記憶されている。
【0016】
図3は、運動結果データ132の内容例を示す図である。
運動結果データ132は、ユーザによる運動が行われた場合に、装着型装置30から端末装置20に送信された情報に基づいて、端末装置20において運動アプリ231上で生成され、端末装置20からサーバ10に送信される。
運動結果データ132の各データ行は、運動中のある期間におけるユーザの運動の状態を表す。各データ行には、「時刻」、「ペース」、「ピッチ」、「ストライド」等のデータが含まれる。
「時刻」は、運動が開始された時点を基準(0秒)として、そのデータ行のデータが記録された時点を表す。データ行は、例えばユーザが所定の歩数の運動を行うごとに記録される。このため、「時刻」は、必ずしも等間隔とはならない。ここでは、ユーザの運動がTe秒で終了したものとする。
「ペース」は、そのデータ行が表す期間におけるユーザの移動ペース(単位距離の移動に要する時間)の値を表す。「ペース」は、そのデータ行が表す期間の長さを、当該期間においてユーザが移動した距離で除すことにより導出される。
「ピッチ」は、そのデータ行が表す期間におけるユーザの単位時間当たりの歩数の値を表す。
「ストライド」は、そのデータ行が表す期間におけるユーザの歩幅の平均値を表す。
「ペース」は、「第1の情報」及び「ユーザの移動速度に係る運動指標(以下、「速度指標」とも記す)」の一態様である。「ピッチ」及び「ストライド」は、「第2の情報」及び「ユーザの身体の動きに係る運動指標(以下、「動作指標」とも記す)」の一態様である。
なお、運動結果データ132に含まれるデータは、図3に例示したものに限られない。運動結果データ132には、「速度」、「ラップタイム」等の速度指標の値が含まれていてもよい。また、運動結果データ132には、「ストライド身長比」、「上下動」、「上下動身長比」、「腰の沈み込み」、「骨盤の左右傾き」、「骨盤の引き上げ」、「骨盤の回転」、「体幹の後傾」、「骨盤回転タイミング」、「左右方向衝撃」、「蹴り出し時間」、「接地時間」、「接地時間率」、「着地衝撃」、「蹴り出し加速度」、「減速量」、「スティフネス」、「腕の振りの大きさ」等の動作指標の値が含まれていてもよい。また、装着型装置30においてユーザのバイタルサインを取得可能である場合には、運動結果データ132には、ユーザのバイタルサインに係る運動指標(以下、「生体指標」とも記す)の値、例えば「心拍数」、「呼吸数」、「体温」、「血圧」等の値が含まれていてもよい。
【0017】
図4は、運動予定データ133の内容例を示す図である。
本実施形態では、ユーザは、1回の運動中に、異なる複数の運動メニューを切り替えて実施する。運動予定データ133は、ユーザが行う運動における複数の運動メニューの時系列の実施予定を表す。運動予定データ133は、ユーザによる運動が行われる前に、端末装置20において運動アプリ231上でユーザ操作に基づいて生成され、端末装置20からサーバ10に送信される。
運動予定データ133の各データ行は、運動中にユーザが行う1つの運動メニューに対応する。各データ行には、「実施順序」、「予定運動メニュー」、「時間」、及び「指示ペース」のデータが含まれる。
「実施順序」は、そのデータ行の運動メニューを何番目に行う予定であるかを表す。
「予定運動メニュー」は、運動メニューの種別を表す。図4では、運動メニューとして「LSD(Long Slow Distance)」及び「レースペース走」が例示されている。LSDは、長い距離を走行可能なゆっくりとしたペースで走るトレーニングである。レースペース走は、レースを想定して高速で走るトレーニングである。
「時間」は、そのデータ行の運動メニューを何分間行う予定であるかを表す。
「指示ペース」は、そのデータ行の運動メニューにおいて指定されているペースを表す。「指示ペース」は、LSDでは7分/km、レースペース走では5分/kmである。「指示ペース」は、ユーザのコーチ等により指定されてもよいし、ユーザが設定可能であってもよい。「指示ペース」は、運動指標の「基準値」に相当する。
【0018】
図2に戻り、サーバ10の通信部14は、予め定められた通信規格に従った通信動作を行う。通信部14は、この通信動作により、ネットワークNを介して端末装置20との間でデータの送受信を行う。
【0019】
図5は、端末装置20の機能構成を示すブロック図である。
端末装置20は、CPU21と、RAM22と、記憶部23と、表示部24と、操作部25と、通信部26と、バス27などを備える。端末装置20の各部は、バス27を介して接続されている。
【0020】
CPU21は、記憶部23に記憶されている運動アプリ231等のプログラムを読み出して実行し、各種演算処理を行うことで、端末装置20の各部の動作を制御するプロセッサである。RAM22は、CPU21に作業用のメモリ空間を提供し、一時データを記憶する。
【0021】
記憶部23は、コンピュータとしてのCPU21により読み取り可能な非一時的な記録媒体であり、運動アプリ231等のプログラム及び各種データを記憶する。記憶部23は、例えばフラッシュメモリ等の不揮発性メモリを含む。
【0022】
表示部24は、CPU21による制御下で、運動アプリ231の操作画面や、運動の解析結果といった各種情報を表示する。表示部24としては、例えば、ドットマトリクス方式で表示を行う液晶表示装置を用いることができるが、これに限られない。
【0023】
操作部25は、ユーザの入力操作を受け付けて、入力操作に応じた入力信号をCPU21に出力する。操作部25は、表示部24の表示画面に重ねられて設けられたタッチパネルや、ハードウェアボタン等を備える。
【0024】
通信部26は、予め定められた通信規格に従った通信動作を行う。通信部26は、この通信動作により、ネットワークNを介してサーバ10との間でデータの送受信を行う。また、通信部26は、装着型装置30との間で無線通信によるデータの送受信を行う。
【0025】
図6は、装着型装置30の機能構成を示すブロック図である。
装着型装置30は、CPU31と、RAM32と、記憶部33と、センサ部34と、位置情報取得部35と、通信部36と、バス37などを備える。装着型装置30の各部は、バス37を介して接続されている。
【0026】
CPU31は、記憶部33に記憶されているプログラム331を読み出して実行し、各種演算処理を行うことで、装着型装置30の各部の動作を制御するプロセッサである。RAM32は、CPU31に作業用のメモリ空間を提供し、一時データを記憶する。
【0027】
記憶部33は、コンピュータとしてのCPU31により読み取り可能な非一時的な記録媒体であり、プログラム331及び各種データを記憶する。記憶部33は、例えばフラッシュメモリ等の不揮発性メモリを含む。
【0028】
センサ部34は、装着型装置30の運動状態を検出するためのセンサとして、例えば、3軸加速度センサ、及び3軸ジャイロセンサを備える。3軸加速度センサは、装着型装置30に加わる各軸方向の加速度を検出し、検出結果として加速度データをCPU31に出力する。3軸ジャイロセンサは、装着型装置30に加わる各軸回りの角速度を検出し、検出結果として角速度データをCPU31に出力する。なお、センサ部34の構成は、装着型装置30の運動状態を検出可能なものであれば、上記に限られない。例えば、センサ部34は、3軸地磁気センサを備えていてもよい。
【0029】
センサ部34は、ユーザのバイタルサインを検出する生体センサ、例えば脈波を検出する脈波センサを備えていてもよい。脈波センサは、血液中のヘモクロビンに吸収されやすい緑色の光を射出し、当該光の肌による反射光を受信してその強度を検出する。ユーザの肌に照射された光の一部は、血管内の血液により吸収されるので、脈波センサは、心臓の脈動に伴う血流量の変化に応じた受光量の経時変化に基づいて脈波を検出することができる。CPU31は、当該波形に基づいて心拍数を計測する。
【0030】
位置情報取得部35は、GPS(Global Positioning System)等の全地球測位衛星システム(GNSS:Global Navigation Satellite System)の測位衛星からの送信電波を受信及び復号して現在位置を算出する。現在位置の情報は、CPU31に出力される。
なお、位置情報取得部を端末装置20に設けて、装着型装置30の位置情報取得部35を省略してもよい。
【0031】
通信部36は、予め定められた通信規格に従った通信動作を行う。通信部36は、この通信動作により、端末装置20との間で無線通信によるデータの送受信を行う。
【0032】
<運動支援システムの動作>
次に、運動支援システム1の動作について説明する。
本実施形態の運動支援システム1は、ユーザの運動の内容を解析し、解析結果として、例えばランニングフォームの改善アドバイス等をユーザに提示することで、ユーザの運動を支援する。ここで、ユーザは運動中に複数の運動メニューを切り替えるので、運動メニューごとに、運動メニューに応じた解析を行うこと(例えば、運動メニューに応じたアドバイスを提示すること)が望ましい。
ユーザが行う運動メニューの順序とその切り替えタイミングは、運動予定データ133において事前に予定されている。しかしながら、単に運動予定データ133に従ってユーザが各時刻において行っていた運動メニューを特定すると、的外れな解析となってしまう場合がある。ユーザが、運動予定データ133の予定のとおりに運動メニューを切り替えるとは限らず、切り替えタイミングが予定に対して前後にずれることがあるためである。
【0033】
そこで、本実施形態の運動支援システム1では、運動結果データ132のうち、速度指標の「ペース」と、動作指標の「ピッチ」とを併用し、さらに運動予定データ133も参照することで、ユーザが行った運動メニューの系列を高精度に推定する。ここで、運動メニューの系列は、単位時間ごと(本実施形態では、10秒ごと)の各時点においてユーザが行っていた運動メニューをそれぞれ表す情報である。運動メニューの系列は、運動メニューの推移と言い換えてもよい。以下では、この推定を行うためにサーバ10のCPU11が実行する運動メニュー推定処理について説明する。
【0034】
図7は、運動メニュー推定処理の制御手順を示すフローチャートである。
運動メニュー推定処理は、或る運動に係る運動予定データ133が記憶部13に記憶された状態で、当該運動が終了して、サーバ10が端末装置20から運動結果データ132を受信した場合に開始される。
運動メニュー推定処理において、サーバ10のCPU11は、尤度導出処理(ステップS1)、尤度補正処理(ステップS2)、状態遷移確率導出処理(ステップS3)、運動メニュー系列推定処理(ステップS4)をこの順に実行する。
尤度導出処理は、運動結果データ132のペースの値に基づいて、運動中の複数の時点の各々においてユーザが複数の運動メニューの各々を行っていた尤度を導出する処理である。複数の運動メニューは、運動予定データ133に含まれている運動メニューである。
尤度補正処理は、尤度導出処理で導出された尤度を、運動予定データ133に基づいて補正する処理である。
状態遷移確率導出処理は、運動結果データ132のピッチの値の時系列変化に基づいて、複数の時点の各々における複数の運動メニューの各々から複数の運動メニューの各々への状態遷移確率を導出する処理である、
運動メニュー系列推定処理は、複数の時点の各々における補正後の尤度及び状態遷移確率に基づいて、運動においてユーザが行った運動メニューの系列を推定する処理である。
以下、各処理の詳細な内容について説明する。
【0035】
<尤度導出処理>
図8は、尤度導出処理の制御手順を示すフローチャートである。
尤度導出処理が開始されると、CPU11は、図3に示す運動結果データ132を単位時間ごとにN個に分割、リサンプリングして運動結果分割データ132aを生成する(ステップS101)。
【0036】
図9は、運動結果分割データ132aの内容例を示す図である。
本実施形態では、CPU11は、10秒を単位時間として運動結果データ132をN個に分割し、運動結果分割データ132aを生成する。分割後の時刻(10秒、20秒、…Te秒)が、「複数の時点」に対応する。以下では、この複数の時点の各々を「時点n」(n:1~N)とも記す。最後の時点N(Te秒)と、1つ前の時点(N-1)との間隔は、10秒未満であってもよい。各時点nが、運動メニューの系列を推定する分解能となる。なお、運動結果データ132を分割する単位時間は10秒に限られない。
CPU11は、分割後の各時点nにおけるペース、ピッチ、ストライド等の各運動指標のリサンプリングを行って運動結果分割データ132aに記録する。CPU11は、例えば、時点(n-1)から時点nまでの10秒間の平均値を取る方法で時点nにおける運動指標のリサンプリングを行う。
また、CPU11は、分割後の各時刻(各時点n)に対応する正規化済み時刻を導出して運動結果分割データ132aに記録する。正規化済み時刻は、運動の終了時刻Teが1となるように各時刻をTeで除したものである。正規化済み時刻は、運動時間の全体に対する経過時間の割合を表す時間経過率と言い換えてもよい。
【0037】
CPU11は、運動予定データ133から各運動メニューの指示ペースを取得する(ステップS102)。なお、運動予定データ133において指示ペースが定められていない場合には、指示ペースに代えて、ユーザが過去に当該運動メニューを行った履歴データにおけるペースの代表値(平均値、最高値等)を用いてもよい。
【0038】
図10は、運動結果分割データ132aにおけるペースの時系列変化を示す図である。
図10では、運動中に記録されたペースの時系列変化が実線で示されており、LSDの指示ペース(7分/km)、及びレースペース走の指示ペース(5分/km)が鎖線で示されている。運動結果分割データ132aに含まれるペースのデータは、10秒間隔の時点nごとの離散的なデータであるが、図10では、便宜上、連続的な曲線として描いている(以降の図11、14~16、18~20についても同様)。ユーザのペースは、概ねLSDの指示ペースとレースペース走の指示ペースとの間を推移している。位置情報取得部35による速度の検出精度等に起因して、ペースが切り替わる際のグラフがなだらかに変化する傾向がある。
【0039】
図8に戻り、CPU11は、変数nに「1」を代入し(ステップS103)、以下のステップS104、S105を実行することで、時点n(ここでは、1番目の時点)においてユーザが各運動メニューを行っていた尤度を導出する。
【0040】
詳しくは、CPU11は、時点nについて、運動予定分割データ133aのペースの値と、各運動メニューのペースの指定メニューとの差分を導出する(ステップS104)。続いて、CPU11は、各運動メニューについての差分に-1を乗じた値のソフトマックスをとることで、時点nにおける各運動メニューの尤度を導出する(ステップS105)。すなわち、CPU11は、各運動メニューについての差分に-1を乗じた値を、和が1となるように変換する。これにより、上記の差分が小さいほど尤度が高くなるように、各運動メニューの尤度が導出される。
【0041】
CPU11は、変数nに「n+1」を代入する(ステップS106)。CPU11は、変数nがN以下であると判別された場合には(ステップS107で“NO”)、処理をステップS104に移行させる。ステップS104~S107のループ処理を繰り返し実行することで、N個の時点nの各々における各運動メニューの尤度が導出される。
【0042】
図11は、尤度の導出結果を示す図である。
図10及び図11を比較すれば分かるように、図10におけるペースがLSDの指示ペース(7分/km)に近いほどLSDの尤度が高くなり、レースペース走の指示ペース(5分/km)に近いほどレースペース走の尤度が高くなる。また、各時刻(時点n)において、LSDの尤度、及びレースペース走の尤度の和は、1となっている。
【0043】
図8に戻り、変数nがNよりも大きいと判別された場合には(ステップS107で“YES”)、CPU11は、尤度導出処理を終了させる。
なお、上記では、速度指標(ペース)に基づいて尤度を導出したが、これに限られず、心拍数等の生体指標に基づいて尤度を導出してもよい。
【0044】
<尤度補正処理>
図12は、尤度補正処理の制御手順を示すフローチャートである。
尤度補正処理が開始されると、CPU11は、運動予定データ133を、運動結果分割データ132aの正規化済み時刻に対応するN個の時刻に分割し、運動予定分割データ133a(図13参照)を生成する。これにより、運動結果分割データ132aと運動予定分割データ133aとの時間の対応を取ることが可能となる(ステップS201)。すなわち、実際の運動の終了時刻Teと、運動予定データ133で予定されていた終了時刻(2400秒=40分)とが異なっていても、両者を1に正規化した上で対比することで、各正規化済み時刻において対応する予定運動メニューを特定することができる。
【0045】
図12に戻り、CPU11は、変数nに「1」を代入し(ステップS202)、変数mに「1」を代入する(ステップS203)。ここで、変数mは、運動予定データ133に含まれるM種類の運動メニューのそれぞれを表す(m:1~M)。本実施形態において、運動メニューはLSD及びレースペース走の2種類であるので、Mは2である。以下では、M種類の運動メニューのうちm番目の運動メニューを「運動メニューm」と記す。
【0046】
CPU11は、時点nに対応する正規化済み時刻tにおける運動メニューmの尤度r[m,t]を、下記の補正関数(1)に従って補正する(ステップS204)。
r’[m,t]=r[m,t]+A ・・・(1)
ただし、r’[m,t]は補正後の尤度である。また、Aは、予定されていた運動メニューに応じた尤度の補正値であり、下記式(2)で表される。
【数1】
ここで、
α:尤度を増大させる係数(例えば、α=0.0003)
w(x|μ,σ):平均μ、分散σのガウス分布
σ:距離の近さに応じたガウス分布の重み付けのパラメータ(例えば、σ=0.01)
I(a==b):a及びbが同一の運動メニューである場合に1となり、それ以外の場合に0となる関数
prem(t’):運動予定分割データ133aにおいて正規化済み時刻t’に予定されている運動メニュー
である。
【0047】
補正値Aは、運動予定分割データ133aにおいて運動メニューmが実施予定である正規化済みの各時刻t’について、当該時刻t’と、正規化済み時刻tとが近いほどガウス分布に従って大きくなるように重み付けされた値を導出し、全ての時刻t’についての当該値の総和を取ったものである。言い換えると、時点n(或る時点)についての運動メニューm(或る運動メニュー)の尤度の補正値Aを導出する処理は、「N個の時点のうち、運動予定データ133において或る運動メニューが実施予定である各実施予定時点について、当該実施予定時点と時点nとが近いほど大きくなるように重み付けされた値を導出し、各実施予定時点についての当該値の総和を取る処理」に相当する。
ただし、補正値Aは式(2)で表されるものに限られない。例えば、補正値Aを、単に、正規化済み時刻tにおいて運動メニューmが実施予定である場合に所定の正の定数とし、実施予定でない場合に0又は所定の負の定数としてもよい。
【0048】
CPU11は、変数mに「m+1」を代入する(ステップS205)。CPU11は、変数mがM以下であると判別された場合には(ステップS206で“NO”)、処理をステップS204に移行させる。ステップS204~S206のループ処理を繰り返し実行することで、時点nにおける各運動メニューmの尤度が補正される。
【0049】
変数mがMより大きいと判別された場合には(ステップS206で“YES”)、CPU11は、時点nにおける各運動メニューmの補正後の尤度の総和が1となるように正規化する(ステップS207)。
【0050】
CPU11は、変数nに「n+1」を代入する(ステップS208)。CPU11は、変数nがN以下であると判別された場合には(ステップS209で“NO”)、処理をステップS203に移行させる。ステップS203~S209のループ処理を繰り返し実行することで、N個の時点nの各々における各運動メニューの尤度が補正される。
【0051】
図14は、正規化済み時刻に対する尤度を示す図である。
図15は、正規化済み時刻に対する予定運動メニューの推移を示す図である。図15は、運動予定分割データ133aの内容を表す。
図16は、尤度の補正結果を示す図である。
図14に示す補正前の尤度を、図15に示す予定運動メニューに応じて補正することで、図16に示す補正後の尤度が得られる。図16に示す補正後の尤度は、図14に示す補正前の尤度と比較して、各時点における予定運動メニューと一致する運動メニューの尤度が増大し、一致しない運動メニューの尤度が減少している。
【0052】
図12に戻り、変数nがNよりも大きいと判別された場合には(ステップS209で“YES”)、CPU11は、尤度補正処理を終了させる。
【0053】
<状態遷移確率導出処理>
図17は、状態遷移確率導出処理の制御手順を示すフローチャートである。
状態遷移確率導出処理が開始されると、CPU11は、運動結果データ132のピッチの値を取得する(ステップS301)。
【0054】
図18は、運動結果データ132におけるピッチの時系列変化を示す図である。
ピッチは、ユーザがLSDを行っている期間よりも、レースペース走を行っている期間において大きくなる傾向がある。また、ピッチ等の動作指標は、ペース等の速度指標と比較して、運動メニューの切り替わりの前後で値が急峻に変化する傾向がある。
【0055】
図17に戻り、CPU11は、各時点nに対応する、ピッチの移動分散を導出する(ステップS302)。ここでは、CPU11は、各時点nを中心とする所定期間内のピッチの分散値を導出する。
【0056】
図19は、ピッチの移動分散を示す図である。
移動分散は、図18に示すピッチの値が大きく変化する時点において値が大きくなり、ピッチの変化が小さい時点においては値が小さくなる。ユーザの運動メニューが変化する際には、ピッチの値が急峻に変化するので、ピッチの移動分散が大きい時点は、運動メニューが変化する確率の高い時点であるということができる。
【0057】
図17に戻り、CPU11は、各時点nについて、移動分散の値を、最小値が0.2、最大値が0.8となるように確率値に線形変換する(ステップS303)。ここで、最小値を0、最大値を1としないのは、確率値が0又は1の時点において運動メニューの遷移が決定的になってしまうのを避けるためである。したがって、最小値は0よりも大きければよく、必ずしも0.2でなくてもよい。また、最大値は1未満であればよく、必ずしも0.8でなくてもよい。
【0058】
図20は、移動分散から変換された確率値を示す図である。
ここでは、図18に示すピッチの値が大きく変化する時点における確率値が0.8であり、他の時点において確率値が0.2であるものとする。
【0059】
図17に戻り、CPU11は、以降のステップS304~S307を実行することで、各時点nにおける運動メニューの状態遷移確率を導出する。詳しくは、CPU11は、各時点nにおいて、ユーザが行う運動メニューが、M種類の運動メニューmの各々から、M種類の運動メニューmの各々に遷移する各状態遷移確率を導出する。運動メニューの遷移には、遷移の前後で運動メニューが変化するものと、遷移の前後で運動メニューが変化しないものとが含まれるものとする。よって、1つの時点nについて、M×M通りの状態遷移確率が導出される。これらの状態遷移確率をM行M列のマトリクス状に配列したものは、状態遷移確率行列とも呼ばれる。
【0060】
詳しくは、CPU11は、まず変数nに「1」を代入する(ステップS304)。
次に、CPU11は、時点n(ここでは、1番目の時点)について、運動メニューが変化する場合の状態遷移確率を、ステップS303で導出した時点nの確率値に決定する。また、CPU11は、運動メニューが変化しない場合の状態遷移確率を、所定の定数(ここでは、0.5)に決定する(ステップS305)。
【0061】
CPU11は、変数nに「n+1」を代入する(ステップS306)。CPU11は、変数nがN以下であると判別された場合には(ステップS307で“NO”)、処理をステップS305に戻す。ステップS305~S307のループ処理を繰り返し実行することで、N個の時点nの各々における状態遷移確率が導出される。
【0062】
図21は、図20における時点a、bについての状態遷移確率を示す図である。
時点aでは、確率値が0.2となっている。このため、運動メニューが変化する場合、すなわち、運動メニューの遷移が「LSDからレースペース走」又は「レースペース走からLSD」である場合の状態遷移確率が0.2に決定される。また、運動メニューが変化しない場合、すなわち、運動メニューの遷移が「LSDからLSD」又は「レースペース走からレースペース走」である場合の状態遷移確率が、定数0.5に決定される。
一方、時点bでは、確率値が0.8となっている。このため、運動メニューが変化する場合の各状態遷移確率が0.8に決定される。また、運動メニューが変化しない場合の各状態遷移確率は、時点aと同様、定数0.5に決定される。
【0063】
運動メニューが変化しない場合の状態遷移確率を定数0.5とする理由は以下のとおりである。移動分散を変換して得られた確率値(以下、zとする)は、運動メニューが変化した場合の他、運動メニューの変化を伴わずにユーザの動きが変化した場合(例えば、つまづいた場合等)にも値が大きくなる。よって、確率値zは、運動メニューが変化する蓋然性を表す値としての信頼性は必ずしも高くなく、特に確率値zが大きい場合(例えば、0.5よりも大きい場合)には、運動メニューが変化しない確率を、(1-z)よりも大きく見積もることが妥当であることが多い。この点が反映されるように、確率値zが大きくなっている時点bにおいて、運動メニューが変化しない場合の状態遷移確率は、確率値zによらず一定以上の大きさの定数(ここでは、0.5)とされる。「運動メニューが変化しない場合の状態遷移確率を定数とする」との処理は、全ての時点nにおいて共通して適用する必要がある。このため、ステップS305においては、すべての時点nについて、運動メニューが変化しない場合の状態遷移確率が定数とされ、運動メニューが変化する場合の状態遷移確率が、確率値zに基づいて決定される。
【0064】
運動メニューの数(M)が3以上である場合には、運動メニューが変化する場合の各状態遷移確率(運動メニューkから運動メニューm(k≠m)への状態遷移確率)は、いずれも上述の確率値z(0.8)とされる。また、運動メニューが変化しない場合の状態遷移確率は、上記と同様、定数(0.5)とされる。
【0065】
なお、上記とは逆に、運動メニューが変化する場合の状態遷移確率を定数(例えば0.5)とし、運動メニューが変化しない場合の状態遷移確率を、確率値zに基づいて、例えば(1-z)に決定してもよい。
また、運動メニューが変化しない期間においてユーザの動きが安定している(大きく変化しない)態様等においては、図22に示すように、各時刻において、運動メニューが変化する場合の状態遷移確率を確率値zとし、運動メニューが変化しない場合の状態遷移確率を(1-z)としてもよい。
【0066】
図17に戻り、変数nがNよりも大きいと判別された場合には(ステップS307で“YES”)、CPU11は、状態遷移確率導出処理を終了させる。
【0067】
なお、上記では、状態遷移確率の導出において、尤度の導出に用いた運動指標(ペース)とは異なる運動指標(ピッチ)を用いたが、これに限られず、尤度及び状態遷移確率を同一の運動指標(例えば、ペース)に基づいて導出してもよい。
また、上記では、1種類の動作指標(ピッチ)に基づいて状態遷移確率を導出したが、互いに異なる種別の複数の動作指標に基づいて状態遷移確率を導出してもよい。例えば、ピッチの値の時系列変化に基づいて第1の移動分散を導出し、ストライドの値の時系列変化に基づいて第2の移動分散を導出し、第1の移動分散及び第2の移動分散をそれぞれ正規化した上で加算する。そして、この加算値を、最小値が0.2、最大値が0.8となるように確率値に変換してもよい。互いに異なる種別の複数の動作指標を用いる場合には、互いに相関が小さいか、無相関である動作指標を用いることが好ましい。なお、複数の動作指標における各々の相関を示す指標(例えば、0~1の値、有り/無しの何れか、小/中/大の何れか等)が動作指標相関データとして、記憶部13に予め記憶されている。CPU11は、互いに異なる種別の複数の動作指標を用いる場合に、動作指標相関データを参照し、相関を示す指標が所定の閾値(例えば0.3)より小さい、相関を示す指標が“無し”、または相関を示す指標が“小”の何れかの条件を満たす動作指標を、運動結果データ132の中から選択すればよい。
また、移動分散に代えて、微分値の絶対値もしくは2乗値を用いてもよい。
【0068】
<運動メニュー系列推定処理>
次に、運動メニュー系列推定処理について説明する。本実施形態の運動メニュー系列推定処理では、ビタビアルゴリズムに基づいて運動メニューの系列が推定される。すなわち、各時点nにおける補正後の尤度を観測事象とし、当該観測事象に基づいて、隠された状態の系列としての、ユーザが行っていた運動メニューの系列が推定される。また、各時点nにおいて運動メニューが状態遷移確率に従って遷移する前提条件が適用される。
【0069】
図23は、運動メニュー系列推定処理の制御手順を示すフローチャートである。
以下では、時点nにおける運動メニューmの補正後の尤度をR(m,n)で表す。
運動メニュー系列推定処理が開始されると、CPU11は、変数nに「1」を代入し(ステップS401)、変数mに「1」を代入する(ステップS402)。
【0070】
CPU11は、変数nが1である場合には(ステップS403で“YES”)、時点n(=1)における運動メニューmの状態確率P(m,n)(ここでは、P(m,1))を、時点n(=1)における運動メニューmの補正後の尤度R(m,n)(ここでは、R(m,1))とする(ステップS404)。
【0071】
一方、変数nが1ではない場合には(ステップS403で“NO”)、CPU11は、時点nにおける運動メニューmの状態確率P(m,n)を下記式(3)に従って導出し、max値を与える状態遷移経路を保存する(ステップS405)。
P(m,n)=R(m,n)*
max{P(1,n-1)*Q(1,m,n-1),
P(2,n-1)*Q(2,m,n-1),…,
P(k,n-1)*Q(k,m,n-1)} ・・・(3)
ただし、変数k(k:1~M)は、時点(n-1)における運動メニューkを表す。
また、Q(k,m,n-1)は、時点(n-1)における運動メニューkから時点nにおける運動メニューmへの状態遷移確率である。
【0072】
ステップS404又はS405が終了すると、CPU11は、変数mに「m+1」を代入する(ステップS406)。CPU11は、変数mがM以下であると判別された場合には(ステップS407で“NO”)、処理をステップS403に移行させる。ステップS403~S407のループ処理を繰り返し実行することで、時点nにおける各運動メニューmの状態確率Pが導出される。
【0073】
図24は、運動メニューmの状態確率Pの導出方法を示す図である。
図24は、ステップS403~S407の1回のループ処理で行われる内容を示す。ここでは、運動メニューmの数Mが3である場合を例示する。図24において、縦に並んだ3つの円は、或る時点において3種類の運動メニューをそれぞれ行っている状態を表す。時点(n-1)における3つの円と、時点nにおける3つの円とを結ぶ矢印は、時点(n-1)の運動メニューkから時点nの運動メニューmへの状態遷移経路を表す。各状態遷移経路には、対応する状態遷移確率Q(k,m,n-1)が付記されている。時点nの或る運動メニューmの状態確率P(m,n)は、当該運動メニューmに遷移する3つの状態遷移経路をそれぞれ通った場合の3つの状態確率のうち最も大きい値に相当する。この値を与える状態遷移経路が、図24において太線で表されている。時点nの各運動メニューmについて、1つ前の時点(n-1)から遷移する太線の状態遷移経路が1つ決定される。ステップS405では、この1つの状態遷移経路が保存される。
【0074】
図23に戻り、ステップS407において変数mがMより大きいと判別された場合には(ステップS407で“YES”)、CPU11は、変数nに「n+1」を代入する(ステップS408)。CPU11は、変数nがN以下であると判別された場合には(ステップS409で“NO”)、処理をステップS402に移行させる。ステップS402~S409のループ処理を繰り返し実行することで、CPU11は、N個の時点nの各々における各運動メニューmの状態確率Pを導出し、各運動メニューmについて、状態確率Pのmax値を与える1つの状態遷移経路を保存する。
【0075】
変数nがNよりも大きいと判別された場合には(ステップS409で“YES”)、CPU11は、最後の時点から遡って、保存した運動メニューmの状態遷移経路をたどり、運動メニューmの系列を決定する(ステップS410)。図24に示したように、時点nの各運動メニューmには、1つ前の時点(n-1)から遷移する太線の状態遷移経路が1つ保存されているので、最後の時点から最初の時点まで、保存した状態遷移経路をたどることができる。CPU11は、このときに経由した各時点における運動メニューmを、ユーザが行った運動メニューの系列として推定(導出)する。
【0076】
ステップS410が終了すると、CPU11は、運動メニュー系列推定処理を終了させる。これにより、図7の運動メニュー推定処理も終了する。
以降、CPU11は、運動メニューの系列の推定結果に基づいて、各運動メニューについての解析を行い、ランニングフォームの改善アドバイス等の解析結果を端末装置20に送信する。
【0077】
<効果>
以上のように、本実施形態に係るサーバ10は、CPU11を備え、CPU11は、複数の時点nにわたるユーザの運動の状態に係る第1の情報としてのペースの値に基づいて、複数の時点nの各々においてユーザが所定の複数の運動メニューの各々を行っていた尤度を導出し、ユーザの運動の状態に係る第2の情報としてのピッチの値の時系列変化に基づいて、複数の時点nの各々における複数の運動メニューの各々から複数の運動メニューの各々への状態遷移確率を導出し、複数の時点nの各々における尤度及び状態遷移確率に基づいて、運動においてユーザが行った運動メニューの系列を推定する。
これにより、ユーザが行った運動における運動メニューの切り替えタイミングが、運動予定データ133における予定と異なっていても、ユーザが行った運動メニューの順序とその切り替えタイミングを推定することができる。また、状態遷移確率を用いることで、単に尤度が最大となる運動メニューの系列を特定する方法と比較して、各時点における運動メニューの変化の有無をより適切に推定することができる。
【0078】
また、CPU11は、運動における複数の運動メニューの時系列の実施予定を表す運動予定データ133に基づいて尤度を補正し、複数の時点nの各々における補正後の尤度及び状態遷移確率に基づいて、ユーザが行った運動メニューの系列を推定する。これにより、各運動メニューの尤度の確度を高めることができる。よって、より高精度に運動メニューの系列を推定することができる。
【0079】
また、CPU11は、複数の時点nに対応する実施予定の運動メニューを特定し、或る時点における或る運動メニューについての尤度に補正値Aを加算することで当該尤度を補正する。CPU11は、複数の時点nのうち、上記或る運動メニューが実施予定である各実施予定時点について、当該実施予定時点と上記或る時点とが近いほど大きくなるように重み付けされた値を導出し、各実施予定時点についての当該値の総和を補正値Aとして導出する。これにより、運動予定データ133における運動メニューの実施予定期間の分布を反映するように尤度を補正することができる。
【0080】
CPU11は、ペースの値と、ペースの基準値としての指示ペースと、の差分に基づいて、差分が小さいほど尤度が高くなるように、複数の運動メニューの各々についての尤度を導出する。これにより、簡易な処理で適切な尤度を導出することができる。
【0081】
また、CPU11は、ピッチの値の移動分散が大きいほど、ユーザが行っている運動メニューが変化する場合の状態遷移確率が大きくなるように状態遷移確率を導出する。これにより、簡易な処理で適切な状態遷移確率を導出することができる。
【0082】
また、CPU11は、複数の時点nの各々においてユーザが行っている運動メニューが変化しない場合の状態遷移確率を、ピッチの値の時系列変化に基づかない定数に決定する。これにより、運動メニューの変化を伴わずにユーザの動きが変化する可能性があることを考慮した状態遷移確率を導出することができる。
【0083】
また、第1の情報(ペース)と、第2の情報(ピッチ)とは、互いに異なる種別の運動指標である。これにより、第1の情報から正確に推定しにくい運動メニューの切り替えタイミングを、第2の情報に基づいて推定して補うことができるので、運動メニューの系列の推定精度を高めることができる。
【0084】
また、第1の情報は、ユーザの移動速度に係る運動指標(速度指標)の値、又は、ユーザのバイタルサインに係る運動指標(生体指標)の値を含み、第2の情報は、ユーザの身体の動きに係る運動指標(動作指標)の値を含む。これにより、第1の情報に基づいて各運動メニューの適切な尤度を導出することができ、第2の情報に基づいて運動メニューの切り替えタイミングを適切に推定することができる。
【0085】
また、第2の情報は、互いに異なる種別の複数の動作指標の値を含み、CPU11は、当該複数の動作指標の値の時系列変化に基づいて状態遷移確率を導出してもよい。これにより、運動メニューの切り替えタイミングをより高精度に推定することができる。
【0086】
また、CPU11は、複数の時点nの各々において運動メニューが状態遷移確率に応じて遷移する前提条件を適用したビタビアルゴリズムに基づいて運動メニューの系列を推定する。これにより、各時点における各運動メニューの状態確率を評価する簡易な処理で、運動メニューの系列を高精度に推定することができる。
【0087】
また、本実施形態に係る情報処理方法において、CPU11は、ペースの値に基づいて、複数の時点nの各々においてユーザが所定の複数の運動メニューの各々を行っていた尤度を導出し、ピッチの値の時系列変化に基づいて、複数の時点nの各々における状態遷移確率を導出し、複数の時点nの各々における尤度及び状態遷移確率に基づいて、運動においてユーザが行った運動メニューの系列を推定する。これにより、ユーザが行った運動メニューの順序とその切り替えタイミングを推定することができる。
【0088】
また、本実施形態に係るプログラム131は、CPU11に、ペースの値に基づいて、複数の時点nの各々においてユーザが所定の複数の運動メニューの各々を行っていた尤度を導出する処理、ピッチの値の時系列変化に基づいて、複数の時点nの各々における状態遷移確率を導出し、複数の時点nの各々における尤度及び状態遷移確率に基づいて、運動においてユーザが行った運動メニューの系列を推定する処理、を実行させる。これにより、ユーザが行った運動メニューの順序とその切り替えタイミングを推定することができる。
【0089】
<その他>
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。
例えば、上記実施形態において、情報処理装置としてのサーバ10が行っていた処理を、端末装置20が実行してもよい。この場合には、端末装置20が情報処理装置に相当し、端末装置20のCPU21が処理部に相当する。
また、上記実施形態において、情報処理装置としてのサーバ10が行っていた処理を、装着型装置30が実行してもよい。この場合には、装着型装置30が情報処理装置に相当し、装着型装置30のCPU31が処理部に相当する。
また、端末装置20及び装着型装置30を統合してもよい。例えば、端末装置20がセンサ部を有する場合には、ユーザの運動による体の動きを端末装置20により検出し、装着型装置30を省略してもよい。また、上記実施形態において端末装置20が実行していた機能を装着型装置30が実行可能である場合には、端末装置20を省略してもよい。
【0090】
また、ユーザが行う運動としてランニングを例示したが、これに限られず、例えば歩行や自転車での走行などであってもよい。また、運動は、必ずしも移動を伴うものに限られず、体操や筋力トレーニングなどであってもよい。
【0091】
また、尤度導出処理において十分な精度で尤度を導出可能な場合等においては、尤度補正処理を省略してもよい。
【0092】
また、運動メニューの系列の推定に用いるアルゴリズムは、ビタビアルゴリズムに限られず、他の動的計画法アルゴリズムを用いてもよい。
【0093】
また、以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体として記憶部13のHDD、SSDを使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、フラッシュメモリ、CD-ROM等の情報記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
【0094】
また、上記実施形態における運動支援システム1の各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱することのない範囲で適宜変更可能であることは勿論である。
本発明の実施の形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
【符号の説明】
【0095】
1 運動支援システム
10 サーバ(情報処理装置)
11 CPU(処理部)
13 記憶部
131 プログラム
132 運動結果データ
133 運動予定データ(予定情報)
20 端末装置
30 装着型装置
m 運動メニュー
n 時点
P 状態確率
Q 状態遷移確率
R 尤度
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24