(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-05
(45)【発行日】2024-12-13
(54)【発明の名称】プログラム、方法、情報処理装置
(51)【国際特許分類】
G09B 19/00 20060101AFI20241206BHJP
A61B 5/11 20060101ALI20241206BHJP
【FI】
G09B19/00 G
A61B5/11 230
(21)【出願番号】P 2023173017
(22)【出願日】2023-10-04
(62)【分割の表示】P 2021096232の分割
【原出願日】2021-06-08
【審査請求日】2023-10-04
(73)【特許権者】
【識別番号】523455080
【氏名又は名称】株式会社SHOSABI
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】山岸 祥子
(72)【発明者】
【氏名】小林 謙次郎
【審査官】前地 純一郎
(56)【参考文献】
【文献】特開2017-064120(JP,A)
【文献】国際公開第2016/059943(WO,A1)
【文献】特開2015-116288(JP,A)
【文献】特許第6647584(JP,B1)
【文献】米国特許出願公開第2011/0035666(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G09B 1/00- 9/56
G09B 17/00-19/26
A63B 69/00-69/40
A63B 71/00-71/16
(57)【特許請求の範囲】
【請求項1】
コンピュータを動作させるためのプログラムであって、前記プログラムは、前記コンピュータのプロセッサに、
ユーザの身体の動きを、逐次、センシングするステップと、
当該センシングした結果に基づいて、前記ユーザの外観を撮影した場合の実写画像ではなく前記ユーザの身体表面の形状を知覚させる態様で、前記ユーザに対応するアバターを前記ユーザに対し提示するステップと、
前記センシングした結果に基づいて、前記アバターと関連付けて、前記ユーザの身体の動きの目安となる図形オブジェクトを描画する位置を特定するステップと、
前記特定した位置に前記図形オブジェクトを表示させるステップと、
を実行させ、
前記センシングするステップにおいて、前記ユーザの身体の動きを、点群データとしてセンシングし、
前記アバターを提示するステップにおいて、前記アバターを、前記点群データの集合体として描画することにより、前記ユーザに前記アバターを提示する、プログラム。
【請求項2】
前記アバターを提示するステップにおいて、前記アバターを、前記実写画像よりも情報量を落とした態様で、前記ユーザに対し提示する、請求項1に記載のプログラム。
【請求項3】
前記アバターを提示するステップにおいて、前記センシングした結果を取得する都度、前記アバターを前記ユーザに提示する、請求項1または2に記載のプログラム。
【請求項4】
前記アバターを提示するステップにおいて、
前記センシングした結果に基づいて、前記ユーザを第1の方向から描画したアバターと、前記ユーザを前記第1の方向とは異なる第2の方向から描画したアバターとを、ともに、並べて描画することにより、前記ユーザに前記アバターを提示する、請求項1から3のいずれかに記載のプログラム。
【請求項5】
前記プログラムは、前記プロセッサに、さらに、
前記ユーザの身体の動きをセンシングした結果に基づいて、前記ユーザの複数の特定の部位の位置を推定するステップと、
前記アバターを描画しつつ、前記特定の部位の位置を推定した結果を描画せず、前記ユーザの身体の動かし方を、前記特定の部位の位置の推定結果に基づいて評価するステップと、を実行させる、請求項1から4のいずれかに記載のプログラム。
【請求項6】
前記アバターを提示するステップにおいて、前記ユーザの身体の動きのセンシング結果に伴って前記アバターの描画を更新する一方、
前記表示させるステップにおいて、前記ユーザの身体の動きにかかわらず固定の位置に前記図形オブジェクトを表示させる、請求項1から5のいずれかに記載のプログラム。
【請求項7】
前記プログラムは、前記プロセッサに、さらに、
前記ユーザの身体の動きをセンシングした結果に基づいて、前記ユーザの特定の部位の位置を推定するステップと、
前記ユーザの身体の動きを測定する対象となる第1の部位の位置について、前記アバターとともに、前記センシングした履歴を時系列に従って描画するステップと、を実行させる、請求項6に記載のプログラム。
【請求項8】
前記特定するステップにおいて、前記ユーザをセンシングした結果に基づいて、前記ユーザの体軸と平行に、前記ユーザの身体の動きにかかわらず固定の位置に、線状の前記図形オブジェクトを描画すると特定する、請求項6に記載のプログラム。
【請求項9】
前記特定するステップにおいて、前記ユーザが特定の動作を開始する前の前記ユーザの第1の姿勢のセンシング結果に基づいて、前記ユーザが当該特定の動作をする場合の目安となる前記図形オブジェクトを描画する位置を特定する、請求項1に記載のプログラム。
【請求項10】
前記特定の動作は、前記ユーザの身体の動きを測定するための所定の動作であり、
前記特定するステップにおいて、前記第1の姿勢に基づいて、前記特定の動作の所定のタイミングにおける前記ユーザの身体の動きの目安となる前記図形オブジェクトを描画する位置を特定する、請求項9に記載のプログラム。
【請求項11】
前記特定するステップにおいて、前記第1の姿勢に基づいて、前記ユーザの身体の前後のバランス、左右のバランスからなる群のうち少なくとも1つの目安となる前記図形オブジェクトを描画する位置を特定する、請求項9に記載のプログラム。
【請求項12】
前記特定するステップにおいて、前記特定の動作を前記ユーザが行う最中に前記ユーザがとりうる第2の姿勢の目安となる前記図形オブジェクトを描画する位置を、前記第1の姿勢に基づいて特定する、請求項9に記載のプログラム。
【請求項13】
前記特定の動作とは、前記ユーザが両足を開いて踏み込んだ状態で行う動作であり、
前記特定するステップにおいて、前記ユーザが前足を踏み込んだ状態の目安となる前記図形オブジェクトを描画する位置を、前記第1の姿勢に基づいて特定する、請求項12に記載のプログラム。
【請求項14】
前記ユーザの身体の動きをセンシングした結果に基づいて、前記ユーザの下肢の部位の位置を推定するステップをさらに実行させ、
前記特定するステップにおいて、前記推定した結果に基づいて、前記ユーザが両足を開いて踏み込む位置の目安となる前記図形オブジェクトを描画する位置を特定する、請求項13に記載のプログラム。
【請求項15】
前記ユーザの身体の動きをセンシングした結果に基づいて、前記ユーザの特定の部位の位置を推定するステップと、
前記推定した前記特定の部位の位置と、前記図形オブジェクトの位置との位置関係に基づいて、前記ユーザが前記第2の姿勢を適切に行えているかを評価するステップと、を実行させる、請求項12に記載のプログラム。
【請求項16】
前記評価するステップにおいて前記第2の姿勢を適切に行えていると評価する場合に、その旨を、前記ユーザに提示する、請求項15に記載のプログラム。
【請求項17】
前記特定の動作は、前記第2の姿勢において前記ユーザが行う身体の動きを伴うものであり、
前記評価するステップにおいて、前記第2の姿勢を適切に行えていると評価することに応答して、前記特定の動作の測定を開始させ、当該測定を開始することを前記ユーザに提示する、請求項15に記載のプログラム。
【請求項18】
前記ユーザの身体の動きをセンシングした結果に基づいて、前記ユーザの複数の特定の部位の位置を推定するステップをさらに実行させ、
前記特定するステップにおいて、前記推定した前記特定の部位の位置に基づいて、当該特定の部位が前記ユーザの身体の動作中に適切に動かせているかを前記ユーザに知覚させるための線状の前記図形オブジェクトを描画する位置を特定する、請求項1に記載のプログラム。
【請求項19】
前記表示させるステップにおいて、前記特定の部位の周囲の部位から、当該特定の部位へと向かう線を延長した線分を、前記図形オブジェクトとして、前記アバターとともに表示させる、請求項18に記載のプログラム。
【請求項20】
前記表示させるステップにおいて、前記線分の終点に、前記線分の幅と比較して大きなサイズの前記図形オブジェクトを描画して表示させる、請求項19に記載のプログラム。
【請求項21】
前記表示させるステップにおいて、前記線分の終点に対応する前記図形オブジェクトを、前記ユーザの身体の動きのセンシング結果と連動させて移動させるように表示させ、
前記ユーザの身体の動きにかかわらず固定的に配置される前記図形オブジェクトと、前記終点に対応する前記図形オブジェクトとの位置関係に基づいて、当該図形オブジェクトの表示態様を変更して表示する、請求項20に記載のプログラム。
【請求項22】
前記ユーザの身体の動きをセンシングした結果に基づいて、前記ユーザの複数の特定の部位の位置を推定するステップをさらに実行させ、
前記表示させるステップにおいて、前記ユーザの第1の部位の傾きを示す前記図形オブジェクト、および、前記第1の部位とは異なる第2の部位の傾きを示す前記図形オブジェクトを、当該第1の部位、および、第2の部位と関連付けてそれぞれ描画して表示させる、請求項18に記載のプログラム。
【請求項23】
前記ユーザの身体の動きをセンシングした結果に基づいて、前記ユーザの特定の部位の位置を推定するステップをさらに実行させ、
前記特定するステップにおいて、前期推定した前記特定の部位の位置と、前記ユーザの身体表面の形状とに基づいて、前記図形オブジェクトを描画する位置を特定する、請求項18に記載のプログラム。
【請求項24】
前記特定の動作は、前記ユーザの身体の動きを測定するための所定の動作であり、
前記提示するステップにおいて、前記センシングした結果を取得する都度、前記アバターを前記ユーザに提示する一方、前記特定の動作の区切りとなる所定のタイミングにおける前記ユーザのセンシング結果を記憶部に記憶させることにより、当該所定のタイミングにおける前記アバターを並べて前記ユーザに提示する、請求項
9に記載のプログラム。
【請求項25】
前記アバターを提示するステップにおいて、
前記ユーザの身体の動きをセンシングした結果に基づいて、前記ユーザの少なくとも3つの特定の部位の位置を推定するステップとを実行させ、
前記少なくとも3つの特定の部位のうちいずれかを基準として、水平面において他の特定の部位の位置関係を示すオブジェクトを描画する位置を決定し、決定した位置に前記オブジェクトを表示させるステップと、を実行させ、
前記特定するステップにおいて、前記少なくとも3つの部位の位置の推定結果に基づいて、前記アバターと関連付けて、前記図形オブジェクトを描画する位置を特定する、請求項1に記載のプログラム。
【請求項26】
前記ユーザの身体の動きをセンシングした結果に基づいて、前記ユーザの少なくとも3つの特定の部位の位置を推定するステップとを実行させ、
前記少なくとも3つの特定の部位のうちいずれかを基準として、水平面において他の特定の部位の位置関係を示すオブジェクトを描画する位置を決定し、決定した位置に前記オブジェクトを表示させるステップと、を実行させる、請求項1に記載のプログラム。
【請求項27】
前記オブジェクトを表示させるステップにおいて、
前記基準ではない特定の部位を表すオブジェクトを、それぞれ同一または相似形状の図形を含むオブジェクトとして表示させる、請求項26に記載のプログラム。
【請求項28】
前記センシングするステップにおいて、センシングするための手段に対して固定した位置にユーザが利用する運動器具を配置することを要さずとも、前記センシングするための手段により前記ユーザの身体の動きを、逐次、センシングする、請求項1から27のいずれかに記載のプログラム。
【請求項29】
コンピュータを動作させるための方法であって、前記方法は、前記コンピュータのプロセッサが、
ユーザの身体の動きを、逐次、センシングするステップと、
当該センシングした結果に基づいて、前記ユーザの外観を撮影した場合の実写画像ではなく前記ユーザの身体表面の形状を知覚させる態様で、前記ユーザに対応するアバターを前記ユーザに対し提示するステップと、
前記センシングした結果に基づいて、前記アバターと関連付けて、前記ユーザの身体の動きの目安となる図形オブジェクトを描画する位置を特定するステップと、
前記特定した位置に前記図形オブジェクトを表示させるステップと、
を実行し、
前記センシングするステップにおいて、前記ユーザの身体の動きを、点群データとしてセンシングし、
前記アバターを提示するステップにおいて、前記アバターを、前記点群データの集合体として描画することにより、前記ユーザに前記アバターを提示する、方法。
【請求項30】
情報処理装置であって、前記情報処理装置は、制御部が、
ユーザの身体の動きを、逐次、センシングするステップと、
当該センシングした結果に基づいて、前記ユーザの外観を撮影した場合の実写画像ではなく前記ユーザの身体表面の形状を知覚させる態様で、前記ユーザに対応するアバターを前記ユーザに対し提示するステップと、
前記センシングした結果に基づいて、前記アバターと関連付けて、前記ユーザの身体の動きの目安となる図形オブジェクトを描画する位置を特定するステップと、
前記特定した位置に前記図形オブジェクトを表示させるステップと、
を実行し、
前記センシングするステップにおいて、前記ユーザの身体の動きを、点群データとしてセンシングし、
前記アバターを提示するステップにおいて、前記アバターを、前記点群データの集合体として描画することにより、前記ユーザに前記アバターを提示する、情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、方法、情報処理装置に関する。
【背景技術】
【0002】
ユーザの動きをカメラなどで撮影し、撮影した動画像に基づいて、ユーザの動きを評価する技術が知られている。
【0003】
特開2016-81504号公報には、深度カメラを用いて人体の骨格に基づく競技の型を認識し、これを用いて自動的にユーザの動きを評価し、昇段有無を判定する装置に関する技術が記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ユーザが自身で身体の動きを容易に確認できるようにすることができる別の技術が必要とされている。
【課題を解決するための手段】
【0006】
一実施形態によると、コンピュータを動作させるためのプログラムが提供される。プログラムは、コンピュータのプロセッサに、ユーザの身体の動きを、逐次、センシングするステップと、当該センシングした結果に基づいて、ユーザの外観を撮影した場合の実写画像ではなくユーザの身体表面の形状を知覚させる態様で、ユーザに対応するアバターをユーザに対し提示するステップと、センシングした結果に基づいて、アバターと関連付けて、ユーザの身体の動きの目安となる図形オブジェクトを描画する位置を特定するステップと、特定した位置に図形オブジェクトを表示させるステップと、を実行させる。
【発明の効果】
【0007】
本開示によれば、ユーザの身体の動きのセンシング結果に基づいてユーザに対し提示されるアバターをユーザが認識しつつ、ユーザの身体の動きの目安となる図形オブジェクトをもユーザが認識することができるため、ユーザ自身で身体の動きを容易に確認することができる。
【図面の簡単な説明】
【0008】
【
図1】測定システム1の全体の構成を示す図である。
【
図2】実施の形態1の測定システム1を構成する端末装置10のブロック図である。
【
図4】サーバ20が記憶するユーザ情報データベース281、測定項目情報282、測定履歴データベース283、フレンドリスト284のデータ構造を示す図である。
【
図5】測定システム1により、ユーザが身体の動きを測定する局面を示す。
【
図7】端末装置10がROMチェックを行って測定履歴を更新する処理を示すフローチャートである。
【
図8】端末装置10が、ユーザが足を踏み出す動作を測定することで関節可動域を評価する処理を示すフローチャートである。
【
図9】端末装置10が、ユーザが上体をひねる動作を測定することで関節可動域を評価する処理を示すフローチャートである。
【
図10】ユーザの身体の動きを測定する局面における、端末装置10の通知内容の例を示す図である。
【
図11】第2の実施の形態における測定システム1により、ユーザが歩行する動作を測定する局面を示す。
【
図12】測定装置31の測定結果に基づいて、端末装置10が特定するユーザの身体の各部位を示す。
【
図13】第2の実施の形態におけるサーバ20が記憶する測定結果データベース287、評価結果データベース288のデータ構造を示す図である。
【
図14】第2の実施の形態において端末装置10がユーザの歩行動作を測定し、評価する処理を示すフローチャートである。
【
図15】第2の実施の形態において端末装置10がユーザの歩行動作を測定する測定結果、および、測定結果に基づきユーザの歩行動作を評価した評価結果を出力する場合の出力例を示す図である。
【
図16】第2の実施の形態において端末装置10がユーザの歩行動作を測定する測定結果、および、測定結果に基づきユーザの歩行動作を評価した評価結果を出力する場合の出力例を示す図である。
【
図17】端末装置10が、ユーザの歩行動作におけるひざの負担の評価結果を出力する例を示す図である。
図14のステップS1409に対応する。
【
図18】第3の実施の形態において端末装置10がユーザの体幹のバランスを測定し、評価する処理を示すフローチャートである。
【
図19】第3の実施の形態において端末装置10がユーザの体幹のバランスを測定する測定結果、および、体幹のバランスの評価結果を出力する例を示す図である。
【
図20】第3の実施の形態におけるサーバ20が記憶する各種データのデータ構造を示す図である。
【
図21】端末装置10が、ユーザの身体の動作の測定結果および評価結果に基づいて、ユーザの身体に起こり得る悩みを提示し、当該悩みに対応するエクササイズメニューを提案する局面の画面例である。
【
図22】第4の実施の形態における各装置の処理の流れを示す。
【
図23】第4の実施の形態の変形例におけるサーバ20が記憶する各種データのデータ構造を示す図である。
【
図24】第4の実施の形態の変形例における動作の流れを示す図である。
【
図25】端末装置10が、ユーザの身体の動作の測定結果および評価結果に基づいて、ユーザの身体に起こり得る悩みを提示し、当該悩みに対応するエクササイズメニューを提案する局面において、ユーザがアンケートに回答する局面の画面例である。
【
図26】第5の実施形態において、サーバ20が記憶する、トレーニー情報データベース2601、トレーナー情報データベース2602、トレーニング履歴データベース2603のデータ構造を示す図である。
【
図27】第1ユーザの身体の動きを点群データとしてセンシングし、センシングで得られた、第1ユーザの点群データに基づく情報を第2ユーザの端末に送信する一連の処理を示すフローチャートである。
【
図28】トレーナーの端末から、トレーナーの音声の入力を受け付けて、トレーニーの端末へ送信する処理の流れを示すフローチャートである。
【
図29】第1ユーザの身体の動きを点群データとしてセンシングし、センシングで得られた、第1ユーザの点群データに基づく情報と、学習済みモデルとに基づいて、第1ユーザへの指導内容を特定する一連の処理を示すフローチャートである。
【
図30】第1ユーザの端末装置10Aにおいて、第1ユーザの身体の動きを点群データとしてセンシングし、センシングで得られた、第1ユーザの点群データに基づく情報を第2ユーザの端末に送信する際の画面例である。
【
図31】第1ユーザの身体の動きを点群データとしてセンシングし、センシングで得られた、第1ユーザの点群データに基づく情報を第2ユーザの端末に送信する際の、全体構成を含む第1ユーザおよび第2ユーザの画面例である。
【
図32】複数のユーザの身体の動きを点群データとしてセンシングし、センシングで得られた、各ユーザの点群データに基づく情報を、定義された仮想空間に送信する際の画面例である。
【
図33】端末装置10Aが、ユーザの姿勢の推定結果に基づいて、補助線を描画する処理の概念を示す図である。
【
図35】端末装置10Aが、ユーザが立位の状態で前後左右の傾きを調整するための画面例を示す図である。
【
図36】ユーザの特定の部位の位置を推定した結果に基づいて、ユーザの身体の動きの目安となる図形オブジェクトを描画する位置を特定する処理を示す図である。
【
図37】端末装置10Aが、ユーザに対し、側方挙上の動作をさせるための画面例を示す図である。
【
図38】ユーザの特定の部位の位置を推定した結果に基づいて、ユーザの身体の動きの目安となる図形オブジェクトを描画する位置を特定する処理を示す図である。
【
図39】ユーザが身体を動かしている過程を示す図である。
【
図40】ユーザが側方挙上の動作におけるピークのタイミングとなる、両腕をあげきった状態を示す図である。
【
図41】ユーザが側方挙上の動作のピークのタイミングにおけるセンシング結果を保存して、比較可能なアバターとして表示する例を示す図である。
【
図42】端末装置10Aが、ユーザに対し、しゃがみの動作をさせるための画面例を示す図である。
【
図43】ユーザの特定の部位の位置を推定した結果に基づいて、ユーザの身体の動きの目安となる図形オブジェクトを描画する位置を特定する処理を示す図である。
【
図44】ユーザが身体を動かしている過程を示す図である。
【
図45】ユーザがしゃがみの動作におけるピークのタイミングとなる、しゃがみきった状態を示す図である。
【
図46】ユーザがしゃがみの動作のピークのタイミングにおけるセンシング結果を保存して、比較可能なアバターとして表示する例を示す図である。
【
図47】端末装置10Aが、ユーザに対し、踏み出しつつ腰を落とす動作をさせるための画面例を示す図である。
【
図48】ユーザの初期の姿勢が適切であることをユーザに提示する局面の画面例を示す図である。
【
図49】ユーザの動作の測定を開始する局面を示す図である。
【
図50】ユーザの動作が適切であるか否かを判定し、判定した結果をユーザに提示する局面を示す図である。
【
図51】ユーザの動作が適切であるか否かを判定し、判定した結果をユーザに提示する局面を示す図である。
【発明を実施するための形態】
【0009】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0010】
<第1の実施の形態>
<概要>
以下の実施形態では、ユーザの身体のバランス、ユーザの身体の動きを測定することにより、ユーザの身体のしなやかさを評価して、美しい姿勢(例えば、美しい歩行姿勢)を体得できるようエクササイズメニューを提供するための測定システム1について説明する。
【0011】
ユーザの歩行姿勢が整っていない場合、歩行動作には必ずしも必要ではない動作をすることとなるため、ユーザの力が不要に消費されてしまうことになり、疲労が蓄積しやすくなる。ユーザの歩行姿勢を美しくすることで、ユーザが身体を機能的に動かすことができ、結果として、疲労の少ない歩き方となり得る。そこで、測定システム1では、(1)ユーザの歩行時の動作を測定して、歩行姿勢を評価する(美しく、バランスよく歩くことができているかを評価する)ことと、(2)ユーザの各関節のしなやかさを測定して、関節可動域を評価するROMチェックをすること(ROM:Range of motion)と、(3)ユーザの筋力の状態を評価してトレーニングメニューを提供することとを行う。
【0012】
ユーザがバランスよく歩けている場合(身体の左右の動かし方で偏りがない、歩行動作時の筋肉の動きが理想的である等)、身体の動かし方が機能的となる。ここで、機能的な動かし方とは、ユーザが不要な力を消費することなく、歩くために筋肉を動かせていることをいう。つまり、ユーザが筋肉を動かして歩行のための推進力を得ることとなるが、筋肉の動きが高い効率で推進力につながることをいう。その結果、ユーザが美しく歩いている印象を与えることができる。このようなバランスのよい歩き方をユーザが体得できるようにするにあたり、関節可動域を評価することが有効であり、測定システム1では、関節可動域の評価とともに、これら関節可動域の評価結果を前提としつつ歩行姿勢を美しく見せるために必要な筋肉のトレーニングをもユーザに提供する。
【0013】
以上のように、測定システム1は、ユーザの身体の動きの測定(チェック)と、ユーザの身体を動かすためのエクササイズとを提供する。
【0014】
測定システム1は、例えば、事業会社の事業所、商業施設の施設内、店舗スペース、スタジオ、個人の家庭内等に設置され得る。例えば、事業会社が、従業員の健康管理をよりいっそう促すため、測定システム1を導入することがあり得る。また、商業施設の店舗において、測定システム1を展開することにより、健康管理サービスを消費者に向けて提供することがあり得る。
【0015】
<1 システム全体の構成図>
図1は、測定システム1の全体の構成を示す図である。
【0016】
図1に示すように、測定システム1は、ユーザの身体の動きを測定する各種センサにより構成される複数の測定ユニット(図示する例では、測定ユニット30A、30B、30Cを示している。以降、それぞれの測定ユニットを「測定ユニット30」と記載することもある)と、測定ユニットの動作を制御する端末装置10(図示する例では、端末装置10を示している。以降、複数のユーザの端末装置を記載する場合は、「端末装置10A」、「端末装置10B」などと記載することもある。また、端末装置を構成する各要素(プロセッサなど)も、同様に記載することもある。)と、ユーザの身体の動きの測定結果を蓄積するサーバ20とにより構成されている。
【0017】
測定ユニット30は、端末装置10と、有線または無線により接続される。図示するように、1つの端末装置10に対し、複数の測定ユニット30を接続することとしてもよいし、測定ユニット30それぞれに対し端末装置10を接続する(つまり、1つの測定ユニット30に対し1つの端末装置10を用意してユーザの測定を行う)こととしてもよい。
【0018】
測定ユニット30は、測定装置(図示する例では、測定装置31A、31B、31Cを示している。これらを総称して「測定装置31」と記載することもある)と、マット(図示する例では、マット32A、32B、32Cを示している。これらを総称して「マット32」と記載することもある)と、立体物であるポール(図示する例では、ポール33A、33B、33Cを示している。これらを総称して「ポール33」と記載することもある)とを含む。
【0019】
測定装置31は、ユーザの身体の動きを測定するためのものであり、例えば、RGB-Dカメラ(深度センサ)により、測定対象物までの距離と方向とを検出する。測定装置31は、この他に、マイクロフォンアレイなどを備え、ユーザの音声、当該音声が到来する方向などを検出することとしてもよい。例えば、測定装置31は、Kinect(登録商標)のように、ユーザのジェスチャー、音声認識による操作を受け付けることが可能なデバイスであるとしてもよい。測定装置31は、ユーザの身体を検出することにより、ユーザの位置、ユーザの身体の各関節の位置を検出する。これにより、測定装置31は、ユーザを構成する各関節を仮想的に接続した仮想的な骨(ボーン)を設定して、ユーザの身体の動きを計測する。また、測定装置31は、Kinect(登録商標)の他に、スマートフォン等の端末であるとしてもよい。例えば、スマートフォンに深度カメラが設けられている場合、当該スマートフォンにより、ユーザの身体を、点群データ(ポイントクラウドデータ)として取得することができる。
【0020】
また、測定装置31は、距離を測定する機能がなくとも、撮影画像に基づき被写体を特定すること、および、当該被写体とカメラとの距離とを推定する学習済みモデルを利用することにより、撮影画像に基づき被写体までの距離(例えば、被写体の各関節までの距離)を取得することとしてもよい。また、測定装置31が距離を測定できない場合(RGBカメラなど)においても、撮影画像に基づき被写体の各部位を特定し、骨格(ボーン)を推定することとしてもよい。また、測定装置31として、複数台のカメラを設け、視差のある撮影画像を得ることにより、被写体までの距離を推定することとしてもよい。
【0021】
マット32は、ユーザの身体の動きを測定するために、ユーザの立ち位置の目安を表示するためのものである。マット32は、測定装置31に対し所定の位置関係となる位置に配置する。つまり、マット32は、測定装置31がユーザの身体の動きを測定可能な範囲内に配置される。マット32には、後述するように、ユーザの立ち位置を誘導するための複数の模様が含まれる。ユーザは、当該模様を視認しつつ、足の位置を調整したり、足を踏み出す動作をしたりする。
【0022】
ポール33は、ユーザの身体の動き、例えば、ユーザが身体をねじる動きを測定するために、マット32とともに用いられる。ポール33は、マット32において、ユーザの足を置く立ち位置の目安の模様と関連付けた位置に配置する。ユーザは、マット32に両足をつけたまま(つまり、両足の立ち位置を動かさず)、身体をねじってマット32の両サイドに置かれる一対のポールに手で触れるよう動作する。よって、マット32は、ユーザが身体をねじる動作をするために、腕を移動させる目標点として利用される。マット32は、ユーザが身体をねじった際に手で把持できるよう、ユーザの身長に応じた高さに設定することとしてもよい。
【0023】
以上のように、測定ユニット30を構成する測定装置31、マット32、ポール33の組み合わせについて説明した。以下の説明では、1のユーザが、1の測定ユニット30を使用するものとして説明する。ただし、1つの測定装置31により、複数のユーザの身体の動きを測定することとしてもよい。つまり、1つの測定装置31の測定範囲において、複数のユーザが身体を動かすこととしてもよい。
【0024】
端末装置10とサーバ20とは、ネットワーク80を介して通信接続する。また、本実施形態において、各装置(端末装置、サーバ等)を情報処理装置として把握することもできる。すなわち、各装置の集合体を1つの「情報処理装置」として把握することができ、測定システム1を複数の装置の集合体として形成してもよい。1つ又は複数のハードウェアに対して本実施形態に係る測定システム1を実現することに要する複数の機能の配分の仕方は、各ハードウェアの処理能力及び/又は測定システム1に求められる仕様等に鑑みて適宜決定することができる。
【0025】
端末装置10は、各ユーザが操作する装置である。端末装置10は、例えば据え置き型のPC(Personal Computer)、ラップトップPCであるとしてもよい。この他に、端末装置10は、移動体通信システムに対応したスマートフォン、タブレット等の携帯端末などにより実現される。
図1に端末装置10Bとして示すように、端末装置10は、通信IF(Interface)12と、入力装置13と、出力装置14と、メモリ15と、記憶部16と、プロセッサ19とを備える。サーバ20は、通信IF22と、入出力IF23と、メモリ25と、ストレージ26と、プロセッサ29とを備える。
【0026】
端末装置10は、ネットワーク80を介してサーバ20と通信可能に接続される。端末装置10は、5G、LTE(Long Term Evolution)などの通信規格、また、IEEE(Institute of Electrical and Electronics Engineers)802.11などの無線LAN(Local Area Network)規格に対応しており、通信機器と通信することによりネットワーク80に接続される。
【0027】
通信IF12は、端末装置10が外部の装置と通信するため、信号を入出力するためのインタフェースである。入力装置13は、ユーザからの入力操作を受け付けるための入力装置(例えば、タッチパネル、タッチパッド、マウス等のポインティングデバイス、キーボード等)である。出力装置14は、ユーザに対し情報を提示するための出力装置(ディスプレイ、スピーカ等)である。メモリ15は、プログラム、および、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM(Dynamic Random Access Memory)等の揮発性のメモリである。記憶部16は、データを保存するための記憶装置であり、例えばフラッシュメモリ、HDD(Hard Disc Drive)である。プロセッサ19は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路などにより構成される。
【0028】
図示するように、端末装置10は、測定ユニット30と有線又は無線により接続する。測定ユニット30がユーザの身体の動きを測定することにより、ユーザの身体のしなやかさ、関節可動域の程度を評価することができる。
【0029】
サーバ20は、各ユーザの情報を管理する。サーバ20は、ユーザの情報として、各ユーザの身体の動きを測定する際に参照されるパラメータ(例えば、身長)等を管理している。
【0030】
サーバ20は、ユーザ間の交流を促すための処理として、具体的には、複数のユーザが健康管理のために身体を動かすこと、身体の動きを測定することを支援するため、ユーザのマッチング等を行う。また、サーバ20は、ユーザ間のメッセージの送受信等を行う。
【0031】
サーバ20は、各ユーザが保有する仮想的なポイントを管理することとしてもよい。例えば、事業会社内において、各従業員が仮想的な通貨のように使用可能な、社内のポイント制度があるとする。当該ポイントは、仮想的な通貨のように、社内の購買処理に使用したり(社内の自動販売機等で決済に使用できる等)、他の社員に付与したりすることができる。例えば、ユーザが測定システム1で測定を行うことにより、サーバ20が、当該ポイントをユーザに付与することとしてもよいし、ユーザが他のユーザとともに測定システム1で測定をすることにより(例えば、同じ場所で測定をする、同じ場所で同時に測定をする等)、当該ポイントをユーザに付与することとしてもよいし、関節可動域の評価結果が所定値を超えることで当該ポイントを付与する等してもよい。
【0032】
通信IF22は、サーバ20が外部の装置と通信するため、信号を入出力するためのインタフェースである。入出力IF23は、ユーザからの入力操作を受け付けるための入力装置、および、ユーザに対し情報を提示するための出力装置とのインタフェースとして機能する。メモリ25は、プログラム、および、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM(Dynamic Random Access Memory)等の揮発性のメモリである。ストレージ26は、データを保存するための記憶装置であり、例えばフラッシュメモリ、HDD(Hard Disc Drive)である。プロセッサ29は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路などにより構成される。
【0033】
<1.1 端末装置10の構成>
図2は、実施の形態1の測定システム1を構成する端末装置10のブロック図である。
図2に示すように、端末装置10は、複数のアンテナ(アンテナ111、アンテナ112)と、各アンテナに対応する無線通信部(第1無線通信部121、第2無線通信部122)と、操作受付部130(タッチ・センシティブ・デバイス131を含む。この他に、マウス、タッチパッドなどの各種ポインティングデバイスを含むこととしてもよいし、キーボード、ジェスチャ検出装置を含むこととしてもよい)と、ディスプレイ132と、音声処理部140と、マイク141と、スピーカ142と、位置情報センサ150と、カメラ160と、記憶部180と、制御部190と、を含む。端末装置10は、
図2では特に図示していない機能及び構成(例えば、電力を保持するためのバッテリ、バッテリから各回路への電力の供給を制御する電力供給回路など)も有している。
図2に示すように、端末装置10に含まれる各ブロックは、バス等により電気的に接続される。
【0034】
アンテナ111は、端末装置10が発する信号を電波として放射する。また、アンテナ111は、空間から電波を受信して受信信号を第1無線通信部121へ与える。
【0035】
アンテナ112は、端末装置10が発する信号を電波として放射する。また、アンテナ112は、空間から電波を受信して受信信号を第2無線通信部122へ与える。
【0036】
第1無線通信部121は、端末装置10が他の無線機器と通信するため、アンテナ111を介して信号を送受信するための変復調処理などを行う。第2無線通信部122は、端末装置10が他の無線機器と通信するため、アンテナ112を介して信号を送受信するための変復調処理などを行う。第1無線通信部121と第2無線通信部122とは、チューナー、RSSI(Received Signal Strength Indicator)算出回路、CRC(Cyclic Redundancy Check)算出回路、高周波回路などを含む通信モジュールである。第1無線通信部121と第2無線通信部122とは、端末装置10が送受信する無線信号の変復調や周波数変換を行い、受信信号を制御部190へ与える。
【0037】
操作受付部130は、ユーザの入力操作を受け付けるための機構を有する。具体的には、操作受付部130は、ポインティングデバイスとして、タッチ・センシティブ・デバイス131等を含む。タッチ・センシティブ・デバイス131は、端末装置10のユーザの入力操作を受け付ける。タッチ・センシティブ・デバイス131は、例えば静電容量方式のタッチパネルを用いることによって、タッチパネルに対するユーザの接触位置を検出する。タッチ・センシティブ・デバイス131は、タッチパネルにより検出したユーザの接触位置を示す信号を入力操作として制御部190へ出力する。なお、端末装置10は、測定装置31と通信し、測定装置31の測定結果を受け付けることにより、ユーザの入力操作を受け付けることとしてもよい。例えば、測定装置31が点群データを取得する場合に、点群データに基づいてユーザの身体、ユーザの身体を構成する各関節を検出し、当該検出結果に基づいて、ユーザのジェスチャを入力として受け付ける。ユーザが入力可能なジェスチャとしては、ユーザの手の動き、頭部の動きなどの身体の動きがある。例えば、操作受付部130は、ユーザが所定のポーズをとること(両手を水平に上げて「T」字型のポーズをとる)を検出することとしてもよいし、ユーザが手を所定の形状にすることを検出することとしてもよい。
【0038】
ディスプレイ132は、制御部190の制御に応じて、画像、動画、テキストなどのデータを表示する。ディスプレイ132は、例えばLCD(Liquid Crystal Display)や有機EL(Electro-Luminescence)ディスプレイによって実現される。端末装置10と、出力装置(ディスプレイ132、スピーカ142)とは別のデバイスとして実現してもよい。
【0039】
音声処理部140は、音声信号の変復調を行う。音声処理部140は、マイク141から与えられる信号を変調して、変調後の信号を制御部190へ与える。また、音声処理部140は、音声信号をスピーカ142へ与える。音声処理部140は、例えば音声処理用のプロセッサによって実現される。マイク141は、音声入力を受け付けて、当該音声入力に対応する音声信号を音声処理部140へ与える。スピーカ142は、音声処理部140から与えられる音声信号を音声に変換して当該音声を端末装置10の外部へ出力する。
【0040】
位置情報センサ150は、端末装置10の位置を検出するセンサであり、例えばGPS(Global Positioning System)モジュールである。GPSモジュールは、衛星測位システムで用いられる受信装置である。衛星測位システムでは、少なくとも3個または4個の衛星からの信号を受信し、受信した信号に基づいて、GPSモジュールが搭載される端末装置10の現在位置を検出する。例えば、測定システム1において、ユーザが測定を行った場所を記録する場合に、位置情報センサ150の検出結果(緯度経度の情報、緯度経度と地図情報により特定される施設の情報、当該施設に関連付けられる事業所の情報など)を、測定結果と関連付けてサーバ20で保持することとしてもよい。つまり、ユーザが測定を行った場所を、ユーザが当該場所を入力する操作によらずとも位置情報センサ150の検出結果に基づき端末装置10が判別することとしてもよい。
【0041】
カメラ160は、受光素子により光を受光して、撮影画像として出力するためのデバイスである。カメラ160は、例えば、カメラ160から撮影対象までの距離を検出できる深度カメラである。本実施形態において、測定装置31を、端末装置10のカメラ160により実現することとしてもよい。つまり、端末装置10と測定装置31とを別個の装置として実現することの他に、端末装置10が測定装置31の機能を搭載していることとしてもよい。
【0042】
記憶部180は、例えばフラッシュメモリ等により構成され、端末装置10が使用するデータおよびプログラムを記憶する。ある局面において、記憶部180は、ユーザ情報181と、測定項目情報182と、測定履歴情報183と、フレンドリスト184と、トレーニング項目情報185とを記憶する。これらの詳細は後述するが、概要は以下のとおりである。端末装置10は、後述するサーバ20の各種データベースから、これらの情報を取得することとしてもよい。
【0043】
ユーザ情報181は、測定システム1におけるユーザの情報である。ユーザの情報としては、ユーザを識別する情報、ユーザの名称、ユーザの所属、ユーザの身体の情報(身長、体重、年齢など)等が含まれる。
【0044】
測定項目情報182は、ROMチェックを行う場合の各測定項目の情報である。測定項目情報182としては、各測定項目においてユーザに対して出力する音声ガイドの情報などを含む。
【0045】
測定履歴情報183は、ユーザの身体の動きを測定した測定結果の履歴を示す。
【0046】
フレンドリスト184は、ユーザ同士がフレンドとして登録している各ユーザの情報を示す。フレンドとして登録しているユーザ間でメッセージの送受信を可能とすることとしてもよい。
【0047】
トレーニング項目情報185は、ユーザに対し筋肉トレーニングメニューを提供する場合の、各トレーニング項目の情報を含む。例えば、トレーニングの名称と、ユーザが身体を動かすためのガイドとなる映像および音声の情報とを含む。端末装置10は、ガイドとなる映像および音声によりユーザが身体を動かしていることを測定装置31により測定し、ディスプレイ132に、逐次、測定結果を表示する。端末装置10は、ディスプレイ132において、理想的な身体の動かし方と、ユーザが身体を動かしている際の測定結果(各関節の動き)とを対比させて、理想的な体の動かし方となるようユーザを促すこととしてもよい。
【0048】
制御部190は、記憶部180に記憶されるプログラムを読み込んで、プログラムに含まれる命令を実行することにより、端末装置10の動作を制御する。制御部190は、例えばアプリケーションプロセッサである。制御部190は、プログラムに従って動作することにより、入力操作受付部191と、送受信部192と、データ処理部193と、報知制御部194としての機能を発揮する。
【0049】
入力操作受付部191は、タッチ・センシティブ・デバイス131等の入力装置に対するユーザの入力操作を受け付ける処理を行う。入力操作受付部191は、タッチ・センシティブ・デバイス131に対してユーザが指などを接触させた座標の情報に基づき、ユーザの操作がフリック操作であるか、タップ操作であるか、ドラッグ(スワイプ)操作であるか等の操作の種別を判定する。
【0050】
送受信部192は、端末装置10が、サーバ20、測定ユニット30等の外部の装置と、通信プロトコルに従ってデータを送受信するための処理を行う。
【0051】
データ処理部193は、端末装置10が入力を受け付けたデータに対し、プログラムに従って演算を行い、演算結果をメモリ等に出力する処理を行う。
【0052】
報知制御部194は、表示画像をディスプレイ132に表示させる処理、音声をスピーカ142に出力させる処理等を行う。例えば、報知制御部194は、ROMチェック時に、音声によるガイドを出力する処理、エクササイズのためのトレーニングメニューを提供する際に、音声によるガイドと、模範となる身体の動きを示す映像とをユーザに提示する。
【0053】
<1.2 サーバ20の機能的な構成>
図3は、サーバ20の機能的な構成を示す図である。
図3に示すように、サーバ20は、通信部201と、記憶部202と、制御部203としての機能を発揮する。
【0054】
通信部201は、サーバ20が、端末装置10等の外部の装置と通信するための処理を行う。
【0055】
記憶部202は、サーバ20が使用するデータ及びプログラムを記憶する。記憶部202は、ユーザ情報データベース281と、測定項目情報282と、測定履歴データベース283と、フレンドリスト284等を記憶する。
【0056】
ユーザ情報データベース281は、測定システム1により測定を行う各ユーザの情報を示す。詳細は後述する。
【0057】
測定項目情報282は、複数の測定項目それぞれの情報を示す。詳細は後述する。
【0058】
測定履歴データベース283は、各ユーザが測定を行った履歴を示す。詳細は後述する。
【0059】
フレンドリスト284は、各ユーザがフレンド登録しているユーザの情報を保持するためのデータベースである。
【0060】
トレーニング項目情報285は、ユーザに対しエクササイズ用のトレーニングメニューを提供する場合の、各トレーニング項目の情報を含む。トレーニングメニューは、ユーザの身体にかかる負荷、トレーニング対象の身体の部位などに応じて、複数のトレーニング項目の情報を含む。
【0061】
制御部203は、サーバ20のプロセッサがプログラムに従って処理を行うことにより、各種モジュールとして示す機能を発揮する。
【0062】
操作内容取得モジュール2041は、ユーザの操作内容を取得する。操作内容取得モジュール2041は、例えば、ユーザが過去の測定ユニット30による測定結果およびユーザの身体の動きの評価結果を取得する操作、他のユーザとメッセージを送受信するための操作、測定ユニット30による測定が行われる機会がある場合に測定に参加することを申し込むための操作等を受け付ける。
【0063】
受信制御モジュール2042は、サーバ20が外部の装置から通信プロトコルに従って信号を受信する処理を制御する。
【0064】
送信制御モジュール2043は、サーバ20が外部の装置に対し通信プロトコルに従って信号を送信する処理を制御する。
【0065】
マッチングモジュール2044は、ユーザ同士をマッチングさせる。マッチングモジュール2044は、例えば、複数のユーザが同一の測定会場で測定システム1により測定を行ったことを検知して、当該複数のユーザをマッチングさせ、フレンドとして登録するよう促すこととしてもよい。また、マッチングモジュール2044は、測定システム1により測定を行う履歴が同程度のユーザを抽出してマッチングさせることとしてもよいし、測定ユニット30によるROMチェックの結果が同程度のユーザを抽出してマッチングさせることとしてもよい。このように複数のユーザをマッチングさせ、フレンドとして登録することを促すことで、複数のユーザがともに美しい姿勢を目指してトレーニングを行うよう促すことができ得るため、測定システム1により測定を継続することを支援することができる。
【0066】
測定進行モジュール2045は、測定ユニット30によりユーザの身体の動きを測定する処理を進行させる。測定進行モジュール2045は、測定項目情報282に示される各測定項目を読み出すことにより、ユーザに対し、順次、測定項目に従った測定のための音声によるガイド等を出力する。例えば、サーバ20は、端末装置10に対し、各測定項目を送信するとともに、各測定項目に従って、順次、ユーザの身体の動きを測定させることとしてもよい。
【0067】
トレーニング進行モジュール2046は、ユーザに対し、映像および音声によりトレーニングメニューを提供する処理を進行させる。トレーニング進行モジュール2046は、トレーニング項目情報285に示される各トレーニング項目を読み出すことにより、ユーザに対し、順次、トレーニング項目に従ったトレーニングのための音声によるガイド、映像によるガイド等を出力する。
【0068】
<2 データ構造>
図4は、サーバ20が記憶するユーザ情報データベース281、測定項目情報282、測定履歴データベース283、フレンドリスト284のデータ構造を示す図である。
【0069】
図4に示すように、ユーザ情報データベース281のレコードのそれぞれは、項目「ユーザ識別情報(ユーザID)」と、項目「ユーザ名」と、項目「性別」と、項目「身長」と、項目「体重」と、項目「所属」と、項目「評価値」と、項目「社内ポイント」等を含む。
【0070】
項目「ユーザ識別情報(ユーザID)」は、ユーザそれぞれを識別する情報である。
【0071】
項目「ユーザ名」は、ユーザが設定した名称である。
【0072】
項目「性別」は、ユーザの性別を示す。例えば、ユーザが測定システム1の利用を開始しようとしてユーザの情報を登録する際に、性別を設定することとしてもよい。
【0073】
項目「身長」は、ユーザの身体の動きを測定するうえで参照する情報として、ユーザの身長を示す。
【0074】
項目「体重」は、ユーザの体重の情報を示す。ユーザの身体の動きを測定するうえで体重の情報を参照しない場合などにおいて、当該項目「体重」についてデータを保持しないこととしてもよい。
【0075】
項目「所属」は、ユーザが組織に所属している場合など、ユーザの所属先の情報を示す。例えば、項目「所属」において、会社名、組織名、事業所名等の情報を含む。当該項目「所属」は、ユーザが仕事をするオフィスの所在の情報を含むこととしてもよい。
【0076】
項目「評価値」は、ユーザが測定システム1においてROMチェックを行った測定結果に基づき評価される評価値、ユーザの歩行時の姿勢を測定した測定結果に基づく評価値の情報を含む。当該評価値は、例えば、端末装置10が、測定ユニット30による測定結果に基づいて、ユーザのROMチェックの結果を分類する場合の分類結果の情報を含む。
【0077】
項目「社内ポイント」は、ユーザが所属する事業会社において使用される仮想的なポイントがある場合に、当該ポイントについてユーザが保有している量を示す。
【0078】
測定項目情報282のレコードのそれぞれは、項目「測定項目番号(測定項目No.)」と、項目「測定部位」と、項目「ガイド音声」と、項目「マットにおける足の位置」と、項目「測定対象の身体の部位」とを含む。
【0079】
項目「測定項目番号(測定項目No.)」は、測定項目それぞれを識別するための情報である。
【0080】
項目「測定部位」は、測定対象となる身体の部位を示す。例えば、関節可動域を評価する対象として、以下の部位がある。
【0081】
(i)上肢の測定
・ 肩甲骨:運動方向として、屈曲、伸展、拳上、引き下げがある。
・ 肩:運動方向として、屈曲、伸展、外転、内転、外旋、内旋がある。
・ 肘:運動方向として、屈曲、伸展がある。
・ 前腕:運動方向として、回内、回外がある。
・ 手:運動方向として、屈曲、伸展、撓屈、尺屈がある。
【0082】
(ii)手指の測定
・ 母指:運動方向として、撓側外転、尺側内転、掌側外転、掌側内転、屈曲、伸展がある。
・ 指:運動方向として、屈曲、伸展、外転、内転がある。
【0083】
(iii)下肢の測定
・ 股:運動方向として、屈曲、伸展、外転、内転、外旋、内旋がある。
・ 膝:運動方向として、屈曲、伸展がある。
・ 足:運動方向として、屈曲、伸展がある。
・ 足部:運動方向として、外がえし、内がえし、外転、内転がある。
・ 母指:運動方向として、屈曲、伸展がある。
・ 足指:運動方向として、屈曲、伸展がある。
【0084】
(iv)体幹の測定
・ 頸部:運動方向として、屈曲、伸展、回旋(左回旋、右回旋)、側屈(左側屈、右側屈)がある。
・ 胸腰部:運動方向として、屈曲、伸展、回旋(左回旋、右回旋)、側屈(左側屈、右側屈)がある。
【0085】
項目「ガイド音声」は、測定項目に示される測定を行う際に、ユーザに対して通知する音声の内容を示す。音声ガイドとしては、マット32においてユーザが規定の位置に足を置いていない場合の音声(例えば、「マットの規定の位置に両足を置いてください」等)と、ユーザが測定のためにマット32において規定の位置に足を置いたことを端末装置10が検知してユーザに身体を動かすことを促す音声(例えば、「マットの規定の位置に両足を置いたまま身体をねじってください」等)と、測定装置31の測定結果に基づきユーザの身体の動きの測定データが得られた場合の音声(例えば、「正常に測定されました」等)を含む。
【0086】
項目「マットにおける足の位置」は、測定を行う際に、マット32のいずれの位置にユーザの両足を置くか(マット32においてユーザが足を置く位置)の情報を含む。端末装置10は、例えば、項目「マットにおける足の位置」の情報に基づいて、ユーザの両足がマットの規定の位置に置かれているか否かを検出する。当該検出により、端末装置10は、ユーザに対し、測定をするための身体の動作の内容を示す音声を出力する。
【0087】
項目「測定対象の身体の部位」は、測定項目において測定の対象となる、ユーザの身体の部位を示す。
【0088】
測定履歴データベース283のレコードそれぞれは、項目「測定番号(測定No.)」と、項目「日時」と、項目「ユーザ識別情報(ID)」と、項目「測定場所」と、項目「測定データ」と、項目「評価結果」とを含む。サーバ20は、端末装置10から、ユーザの身体の動きを測定した測定結果を受信する。サーバ20は、端末装置10から受信した情報に基づき測定履歴データベース283のレコードを更新する。
【0089】
項目「測定番号(測定No.)」は、ユーザが測定ユニット30により身体の動きを測定した際の、測定結果それぞれを示す。
【0090】
項目「日時」は、ユーザが測定ユニット30により測定を行ったタイミングを示す。。
【0091】
項目「ユーザ識別情報(ID)」は、測定ユニット30により身体の動きを測定したユーザを識別する情報を示す。
【0092】
項目「測定場所」は、ユーザが測定ユニット30により測定を行った場所を示す。サーバ20は、端末装置10から測定結果を受信した場合に、当該測定結果に対応付けられるユーザの情報を参照し、当該ユーザに関連付けられる情報(ユーザ情報データベース281)に基づき、ユーザが測定を行った場所を特定してもよい。例えば、ユーザ情報データベース281に示されるユーザの所属の情報に基づいて、当該所属先が位置する場所の情報を、測定ユニット30により測定を行った場所としてもよい。また、端末装置10が位置情報を位置情報センサ150により取得する等により、端末装置10の位置を、測定ユニット30により測定を行った場所とすることとしてもよい。
【0093】
項目「測定データ」は、測定ユニット30により測定される、ユーザの身体の動きの測定結果を示す。例えば、ユーザの身体の動きを、時系列の点群データとして測定する場合に、当該時系列の点群データを、項目「測定データ」における測定結果であるとしてもよい。また、測定装置31により測定されるユーザの身体について、端末装置10が測定結果に基づいてユーザの関節の位置を特定し、関節それぞれの動きを、ユーザの身体の動きの測定結果としてサーバ20において保持することとしてもよい。例えば、端末装置10は、ユーザの身体の撮影画像に基づいて、肩、肘など身体の特定の部位を検出することにより、ユーザの関節の時系列の動きを測定することができる。
【0094】
項目「評価結果」は、項目「測定データ」に示される測定結果に基づいて、ユーザの身体の動きがどの程度の水準であるかを評価した評価結果を示す。端末装置10は、例えば、項目「測定データ」においてユーザの関節の動きの時系列データを保持する場合に、参照先となる身体の動きのデータと比較することで、ユーザの身体の動きを評価する。例えば、端末装置10が、参照先のデータとして、ユーザの身体の動きが良好な程度に応じて複数段階のデータを保持することにより、ユーザの身体の動きの測定結果に対し最も類似する動きの参照先のデータを特定することができる。
【0095】
フレンドリスト284のレコードのそれぞれは、項目「ユーザ1」と、項目「ユーザ2」と、項目「フレンド登録日」と、項目「同タイミングでの測定履歴」と、項目「メッセージ送受信履歴」等を含む。
【0096】
項目「ユーザ1」は、互いにフレンドとして登録しているユーザのうちの一方のユーザを示す。
【0097】
項目「ユーザ2」は、互いにフレンドとして登録しているユーザのうちの他方のユーザを示す。
【0098】
項目「フレンド登録日」は、ユーザ同士がフレンドとして登録された日時を示す。
【0099】
項目「同タイミングでの測定履歴」は、フレンドとして登録されている各ユーザが、同一の場所、または、同一のタイミングの少なくともいずれかを満たしつつ測定を行った履歴を示す。例えば、事業所のオフィススペース等で測定ユニット30を配置する場合に、複数のユーザが一定の時間帯のうちに測定を行うことにより、これら複数のユーザが同タイミングで測定を行ったとしてもよい。項目「同タイミングでの測定履歴」において、複数のユーザが測定を行った場所の情報を含むこととしてもよい。例えば、サーバ20がフレンドリスト284を参照することにより、複数のユーザがともに測定ユニット30による身体の動きの測定とトレーニングメニューによるトレーニングを実施している頻度を特定することができる。
【0100】
項目「メッセージ送受信履歴」は、フレンドとして登録しているユーザ同士が送受信したメッセージの履歴を示す。
【0101】
<3 測定ユニット30の構成>
図5は、測定システム1により、ユーザが身体の動きを測定する局面を示す。
図5では、測定ユニット30を複数設置して、複数のユーザが測定を行う例を示している。また、1つの端末装置10が、複数の測定ユニット30と接続する例を示している。
【0102】
測定装置31Aは、センシング可能な検出範囲38Aにおいて第1のユーザUser_Aの身体の動きを測定する。検出範囲38Aにおいて、測定装置31Aと所定の位置関係となる位置に、マット32Aを設置している。ここで、マット32Aの位置は、例えば、測定装置31Aの正面から一定距離(例えば、数メートル程度)の位置であるとしてもよい。マット32Aに第1のユーザUser_Aが乗った場合に、測定装置31Aがユーザの全身の動きを測定可能となるように、測定装置31Aに対してマット32Aを設置するとよい。マット32Aの右側面および左側面において、それぞれ、ポール33Aが設置される。例えば、マット32Aにおいて、ユーザが両足を置くための既定の位置(ホームポジションと称してもよい)を示す模様がある場合に、当該模様を基準として、マット32Aの外側に一組のポール33Aを配置することとしてもよい。当該ポール33Aは、ユーザが両足を規定の位置に置いたままマット32A上において上肢をひねる動作をした場合に、ユーザがつかもうとする目安として設置する。これにより、ユーザが上肢をひねる動作をした場合にポール33Aにめがけて手を移動させようと促されるため、測定の機会を増やした場合においても上肢の動きのフォームをある程度安定させることができる。つまり、ユーザの身体の動きを測定する場合の時系列の測定結果のばらつきを抑えることができ得る。
【0103】
測定装置31Bは、センシング可能な検出範囲38Bにおいて第2のユーザUser_Bの身体の動きを測定する。検出範囲38Bにおいて、測定装置31Bと所定の位置関係となる位置に、マット32Bを設置している。ここで、マット32Bの位置は、例えば、測定装置31Bの正面から一定距離(数メートル程度)の位置であるとしてもよい。マット32Bに第2のユーザUser_Bが乗った場合に、測定装置31Bがユーザの全身の動きを測定可能となるように、測定装置31Bに対してマット32Bを設置するとよい。マット32Bの右側面および左側面において、それぞれ、ポール33Bが設置される。
【0104】
第1のユーザUser_Aは、ディスプレイ132Aに表示される映像、音声を視認しつつ、マット32Aの模様を目安に足の位置を確認して、身体を動かす。同様に、第2のユーザUser_Bは、ディスプレイ132Bに表示される映像、音声によるガイドに従って、身体を動かす。これにより、第1のユーザUser_A、第2のユーザUser_Bの身体の動きを、それぞれ、測定装置31A、31Bにより測定することができる。
【0105】
図示する例では、第1のユーザUser_Aは、ディスプレイ132Aからの出力に基づき、マット32Aにおいてホームポジションに両足を置いたうえで、屈伸運動を始めようとしている。第2のユーザUser_Bは、ディスプレイ132Bからの出力に従って、右足を踏み出す動作をしている。
【0106】
図6は、マット32の詳細を示す図である。図示するように、ユーザの右足および左足を置く目安となる模様が複数個所にわたって配置されている。
【0107】
例えば、複数の測定項目にわたってユーザの両足を置く目安となる位置に、右足用として、第1のホームポジション41R、第2のホームポジション42R、第3のホームポジション43Rのように、右足を置く位置が複数示されている。
【0108】
左足用として、第1のホームポジション41L、第2のホームポジション42L、第3のホームポジション43Lのように、左足を置く位置が複数示されている。
【0109】
なお、以降の説明において、ホームポジション41Rおよび41Lを総称してホームポジション41等と記載することがある。同様に、ホームポジション42Rおよび42Lを総称してホームポジション42と記載し、ホームポジション43Rおよび43Lを総称してホームポジション43と記載することもある。
【0110】
測定項目それぞれ(測定項目情報282)について、ユーザが右足と左足とを拡げる間隔を規定したうえで、端末装置10がユーザに対し所定の身体の動きを行うようガイドする。例えば、測定項目の測定に伴う音声ガイドにおいて、使用するホームポジションの位置の情報が案内されることとしてもよい。
【0111】
端末装置10は、測定項目の測定にあたり、ユーザが、所定のホームポジションを使用しているか否かを、測定装置31の測定結果に基づき判別する。例えば、測定装置31のセンシング結果に基づいて、端末装置10が、マット32に示されるホームポジションの模様それぞれを識別する場合に、ユーザの足首等の検出結果に基づいて、ユーザの両足が乗っている模様を特定することができ得る。ユーザが、測定項目の測定を行う際に、想定されるホームポジションとは異なる位置に足を乗せている場合、ユーザに対し、音声ガイド、映像ガイド等により、適切な位置に足を置くよう促す通知をすることとしてもよい。
【0112】
また、端末装置10は、測定項目として、ユーザが足を踏み出す動作をする場合の各関節の動きを端末装置10が測定ユニット30により測定することを含む。端末装置10は、当該測定項目により、ユーザの身体の動かし方として足を踏み出す動作をする場合のバランスのよさ等を評価することができる。
【0113】
マット32は、測定項目として足を踏み出す動作がある場合に、右足を踏み出す目標となる模様群45Rを含む。同様に、左足を踏み出す目標となる模様群45Lを含む。
【0114】
これら模様群45R、45Lを総称して「模様群45」と記載することもある。
【0115】
模様群45は、ユーザの身長に応じて、複数の踏み出し位置の目安となる模様を配している。図示する例では、ユーザの身長の幅として、「140cm」~「200cm」までの範囲で、10cm刻みで模様を配している。当該模様としては、足のつま先部分を模した形状とすることで、ユーザに対し、足を踏み出す目標となる位置であることを容易に認識させることができる。ユーザは、例えば、ホームポジション41Rおよび41L、または、模様44Rおよび44L(これらを総称して「模様44」と記載することもある)の位置を初期位置として両足を置き、片足ずつ、身長に応じた目安の模様の位置まで足を踏み出す動作を行う。端末装置10は、測定ユニット30により、当該踏み出し動作をする場合のユーザの身体の動き(関節の動き)を測定する。端末装置10は、ユーザが足を踏み出す動作を測定する際に、ユーザに踏み出してほしい距離に応じて、足の初期位置として、ホームポジション41~43、または、模様44を指定して、ユーザにガイドすることとしてもよい。
【0116】
図示する例では、ポール33の位置についても示している。例えば、ホームポジション41、42、43に対して直線状で並ぶようにポール33(右側および左側)を配することとしてもよい。ユーザは、例えば、ホームポジション41、42、43のいずれかに両足を置いたまま、上肢をひねる動作をして、ポール33をつかもうとする。
【0117】
なお、図示するように、模様群45R、45Lにおいて、矢印の模様を配することとしてもよい。図示する例では、矢印の模様を、模様群45R、45Lの各身長に応じた模様と重ねて配することとしている。これにより、ユーザが足を前に踏み出す動作をすることをユーザに意識づけることができ、マット32をユーザが見た時に、測定時の身体の動かし方で迷う可能性を減らすことができ得る。
【0118】
また、図示するように、模様の大きさについて、当該模様がユーザが足を置く目安となるものであるため、図示する例で縦方向(足を踏み出す方向)の長さを一般的な足の大きさと同程度(長さが22cm~28cm程度)としてもよい。模様の形状は、ユーザから見て、模様に足を置くものと容易に理解できるよう、足あと、または、足あとに類似する形状であるとしてもよい。
【0119】
<4 動作>
以下、端末装置10がユーザの身体の動きを測定する測定処理を説明する。
【0120】
図7は、端末装置10がROMチェックを行って測定履歴を更新する処理を示すフローチャートである。
【0121】
ステップS700において、端末装置10の制御部190は、ディスプレイ132に、測定をするユーザがログインするための画面を表示して、ユーザからログインのための操作を受け付ける。端末装置10は、例えば、ユーザそれぞれが所持するICカードなどの記録媒体から情報を読み取る、ユーザが所持する通信端末に表示される二次元コードを読み取る等により、ユーザの認証を行い、当該ユーザの情報を取得する。例えば、端末装置10は、サーバ20と通信することにより、当該ユーザの情報として、ユーザの身長などの情報(ユーザ情報データベース281)、過去の測定履歴(測定履歴データベース283)、ユーザとフレンドとして登録している他のユーザの情報(フレンドリスト284)を取得する。また、端末装置10は、サーバ20から、測定項目の情報(測定項目情報282)を取得して測定項目情報182として記憶している。
【0122】
ステップS701において、端末装置10は、測定装置31の測定結果に基づき、測定装置31の測定範囲においてマット32とポール33とが設置されていることを検出する。例えば、端末装置10は、測定装置31の測定結果を二次元画像として画像認識を行う等により、マット32と、ポール33とを検出する。端末装置10は、測定装置31に対しマット32、ポール33が所定の位置にあることを検出する。つまり、端末装置10は、マット32とポール33とが測定に適した位置にあり、ユーザがガイドの音声および映像を確認しやすい位置にあることを検出する。
【0123】
ステップS703において、端末装置10は、測定項目情報182を参照し、各測定項目について順次測定をする処理を行う。端末装置10は、第1の測定項目を読み出して、音声、映像により、測定のためのガイドとなる情報(マット32においてユーザが足を置く位置など)を出力する。端末装置10は、測定装置31の測定結果に基づきユーザの関節を検出し、ユーザの両足がマットの所定位置(測定項目により規定される位置)に置かれていることを検出する。
【0124】
ステップS705において、端末装置10は、ユーザに対し、身体に所定の動作をさせるよう促す音声を出力する。端末装置10は、測定装置31により、ユーザの身体の動きを検出することで、ユーザの身体の動きを測定する。
【0125】
ステップS707において、端末装置10は、順次、測定項目を測定項目情報182から読み出して、音声によるガイドを出力し、ユーザの足がマット32の規定位置にあることを検出し、ユーザの身体の動きを測定する。
【0126】
ステップS709において、端末装置10は、各測定項目についての測定が完了すると、ユーザの身体の動きの測定結果に基づいて、ユーザの関節の可動域を評価する。具体的には、端末装置10は、測定装置31の計測結果に基づきユーザの各関節の位置を特定し、関節の位置の時系列データ(時系列で変化する関節の位置の動き)により、測定対象となる身体の部位の可動域を評価する。端末装置10は、関節の可動域の評価結果をディスプレイ132等により出力し、サーバ20へ送信する。
【0127】
ステップS753において、サーバ20は、ユーザのROMチェックの結果を端末装置10から受信して、ユーザの測定結果に基づきデータベース(測定履歴データベース283、ユーザ情報データベース281)を更新する。
【0128】
次に、測定項目として、ユーザが足を踏み出す動作を測定する際の各装置の処理について説明する。
【0129】
図8は、端末装置10が、ユーザが足を踏み出す動作を測定することで関節可動域を評価する処理を示すフローチャートである。
【0130】
ステップS801において、端末装置10は、測定装置31の測定結果に基づき、マット32の規定の位置(測定項目情報282の項目「マットにおける足の位置」)に、ユーザの両足が置かれていることを検出する。端末装置10は、規定の位置にユーザの両足が置かれていない場合に、ユーザに対し、規定の位置に足を置くようガイドすることとしてもよい。
【0131】
ステップS803において、端末装置10は、ユーザに対し、ユーザの右足を、規定の位置から、ユーザの身長に応じた踏み出し位置へと踏み出すようガイドする音声、映像を出力する。
【0132】
ステップS805において、端末装置10は、測定装置31による測定結果に基づき、ユーザの右足が、マットにおいて規定の位置から別の位置へと踏み出されたことを検出し、ユーザが右足を踏み出す動作の測定結果を記録する。端末装置10は、ユーザの右足が、踏み出すべき目標となる位置とは異なる位置に踏み出された場合に、測定をし直すため、ユーザに対し、再度、右足を目標となる位置に踏み出すようガイドすることとしてもよい。
【0133】
ステップS807において、端末装置10は、ユーザの左足を、規定の位置から、ユーザの身長(歩幅)に応じた踏み出し位置へと踏み出すようガイドする音声を出力する。
【0134】
ステップS809において、端末装置10は、測定装置31の測定結果に基づき、ユーザの左足が、マットにおいて規定の位置から別の位置へと踏み出されたことを検出し、ユーザが左足を踏み出す動作の測定結果を記録する。
【0135】
ステップS811において、端末装置10は、ユーザがマット32において足を踏み出す動作の測定結果に基づき、下肢の関節の可動域を評価し、評価結果をディスプレイ132等に出力し、サーバ20へ送信する。
【0136】
次に、ユーザが上体をひねる動作を測定する際の各装置の処理について説明する。
【0137】
図9は、端末装置10が、ユーザが上体をひねる動作を測定することで関節可動域を評価する処理を示すフローチャートである。
【0138】
ステップS901において、端末装置10は、測定装置31の測定結果に基づき、マットの規定の位置に、ユーザの両足が置かれていることを検出する。
【0139】
ステップS903において、端末装置10は、ユーザの身長の情報に基づいて、ポール33の高さが適切か判定する。例えば、端末装置10が、ユーザの身長に応じて適切となるポール33の高さの情報を対応付けて記憶することにより、測定装置31の測定結果により検出されるポール33の高さが適切であるか否かを判定する。例えば、ユーザが直立した際のユーザの手の位置により、適切なポール33の高さを規定することとしてもよい。ここで、ユーザが直立した際の手の位置は、ユーザの身長によっても変動し得る。つまり、身長が高いほど、直立時の手の位置も高くなると想定される。また、端末装置10が、測定装置31の測定結果に基づいて、直立姿勢の際のユーザの手の位置(地面からの高さ)を検出することにより、ポール33の適切な高さを、当該手の位置に基づき決定することとしてもよい。つまり、測定装置31によるユーザの身体の測定結果に応じて、ポール33の高さを調整することとしてもよい。
【0140】
なお、ポール33の高さは、例えば、測定装置31の測定結果に基づいて、ポール33が地面と接する第1の位置と、ポール33の頭頂部となる第2の位置とを特定し、測定装置31の位置から、これらポール33の第1の位置、第2の位置までの距離の情報に基づいて判定することとしてもよい。この他に、ポール33を引き延ばすことが可能な構造である場合に、ポール33の模様として、ポール33の高さを示すものが含まれることとし、端末装置10が当該ポール33の高さを示す模様を検出することとしてもよい。
【0141】
端末装置10は、ポール33を設置する位置が適切であるか否かを判定することとしてもよい。例えば、端末装置10は、ポール33においてホームポジション等を示す模様を検出し、当該模様の位置と、ポール33が地面に接している位置との位置関係に基づいて、ポール33の位置が適切であるか否かを判定することとしてもよい。
【0142】
ステップS905において、端末装置10は、ユーザの両足をマットの規定の位置につけたまま身体を右側にひねり、左手で右ポール(右側に配置されるポール33)、右手で左ポール(左側に配置されるポール33)をつかむようガイドする音声、映像を出力する。
【0143】
ステップS907において、端末装置10は、測定装置31の測定結果に基づき、ユーザが身体を右側にひねる動作の測定結果を記録する。
【0144】
ステップS909において、端末装置10は、ユーザの両足をマットの規定の位置につけたまま身体を左側にひねり、右手で左ポール、左手で右ポールをつかむようガイドする音声を出力する。
【0145】
ステップS911において、端末装置10は、測定結果に基づき、ユーザが身体を左側にひねる動作の測定結果を記録する。
【0146】
ステップS913において、端末装置10は、ユーザが身体をひねる動作の測定結果に基づき、身体の各関節の可動域を評価し、評価結果を出力する。関節の可動域の評価としては、ユーザが上体をひねることにより、ポール33をつかむことができたか否かも、評価の項目として使用することとしてもよい。
【0147】
以上のように、ポール33の高さを、ユーザが直立した際の手の高さと同程度とすることにより、ユーザが上体をひねる動作をした際、ユーザが背後を振り返りつつ、視認できるポール33を目標として、手、腕部を動かそうとする。これにより、ユーザが上体をひねる動作のブレ幅を小さくすることができ、端末装置10が測定結果を蓄積させた際に、測定結果の時系列のデータを比較することが容易になる。
【0148】
<5 画面例>
図10は、ユーザの身体の動きを測定する局面における、端末装置10の通知内容の例を示す図である。
【0149】
図10(A)の画面例は、端末装置10において、ユーザから、測定を行うためにログインする操作を受け付ける局面を示す。
図7のステップS700の処理に対応する。例えば、事業会社の事業所、店舗スペース等に測定ユニット30が設置されており、複数のユーザが利用する際に、まずユーザの認証を行う。
【0150】
図10(A)に示すように、端末装置10は、ディスプレイ132に、通知部132Lを表示する。端末装置10は、通知部132Lにおいて、ユーザがログインするための操作内容を表示する。図示する例では、事業所に測定ユニット30が設置されるものとして、ユーザの社員証を読み込ませることでログインが可能であることが通知部132Lに示されている。端末装置10は、通知部132Cにおいて、別のユーザが同じタイミングで測定を行おうとしていることを表示する。
図5の例のように、複数の測定ユニット30が設置されており、複数のユーザがともに測定を行う場合に、端末装置10は、測定を行う別のユーザの経過を通知部132Cに表示する。
図10(A)の例では、端末装置10は、通知部132Cにおいて、同じタイミングで測定を行う別のユーザが、既にログインの処理を終えていることを表示している。
【0151】
図10(B)の画面例は、端末装置10において、ユーザが足を踏み出す動作を測定する局面を示す。
図8のステップS801~S811の処理に対応する。
【0152】
図10(B)に示すように、端末装置10は、ディスプレイ132に、通知部132Dと、通知部132Eと、ガイド出力部132Fと、検出結果表示部132Gとを表示する。
【0153】
端末装置10は、通知部132Dにおいて、ログインしているユーザ(つまり、測定をしているユーザ)の情報を表示する。これにより、ユーザは、誤って別のユーザとして測定を行っていないかどうかを容易に確認することができる。
【0154】
端末装置10は、通知部132Eにおいて、ユーザが測定を行った履歴を表示する。図示する例では、これまでに測定ユニット30を利用してユーザが測定を行った回数を表示しているが、この他に、過去の測定における評価結果等を表示してもよい。これにより、ユーザは、継続して測定を行っていることを容易に確認することができ、測定を継続していくよう動機づけられうる。
【0155】
端末装置10は、ガイド出力部132Fにおいて、ユーザに対し、ユーザの身長に応じて、足を踏み出す目標となる模様の情報を、映像および音声により通知する。これにより、ユーザは、目標となる模様に向けて足を踏み出すイメージを容易に描くことができ、測定のための動作を容易に行うことができる。
【0156】
端末装置10は、検出結果表示部132Gにおいて、測定装置31による検出結果を表示する。例えば、端末装置10は、検出結果表示部132Gにおいて、ユーザの両足が、測定を行うための規定の位置にある(ホームポジションに両足が置かれている)等の情報を表示する。これにより、ユーザは、正確に手順に沿って測定を行っていることを容易に認識することができ、測定エラーにならないであろうという安心感を感じつつ測定を行うことができる。
【0157】
図10(C)の画面例は、端末装置10において、ユーザが上体をひねる動作を測定する局面を示す。
【0158】
図10(C)の画面例では、端末装置10は、ポール33の高さが適切ではないことを検出しており、ユーザに対し、ガイド出力部132Fにおいて、ポール33を所定の高さまで伸ばすよう促す表示をしている。
図9のステップS903の処理に対応する。
【0159】
図10(D)の画面例は、端末装置10において、測定が完了したことと、測定結果に基づく評価結果と、他のユーザとのフレンド登録を促すこととをユーザに通知する局面を示す。
【0160】
図10(D)の画面例において、端末装置10は、ガイド出力部132Fにおいて、複数の測定項目のすべてについて測定が完了したこと、測定項目についてユーザの身体の動きを評価した結果を表示する。端末装置10は、過去のユーザの測定履歴を参照して、過去の測定結果との比較結果(前回よりも関節可動域が変化した等)をガイド出力部132Fにおいて表示する。
【0161】
端末装置10は、通知部132Mにおいて、他のユーザとフレンドとして登録するよう促す表示と、当該他のユーザをフレンドの候補として提案する経緯(同じ場所で測定を行った等)とを表示する。
【0162】
<小括>
(1)以上のように、本実施形態によると、ROMチェックをするにあたり、特段、角度計などの物理的な測定器具をユーザの身体に当てる必要もないため、端末装置10のガイドにより、ユーザ自身で容易に測定をすることができる。また、測定項目に従って測定を進行させることにより、ユーザの下半身、および、上半身の各関節の可動域を評価することができる。
【0163】
(2)ユーザの身体の動きを測定するにあたり、マット32、ポール33を用いて、ユーザが身体を動かす目標点をユーザに認識させることができる。これにより、ユーザが身体を動かすフォームが安定するため、測定結果を蓄積して比較し、身体の動きの変化をユーザが確認することが容易となる。例えば、マット32を用いることにより、(i)ユーザが踏み出す動作をする場合の歩幅、動作の範囲といったストライドのさせ方を規定することができ、ユーザに対し、測定において規定された動作をするよう促すことができる。継続してユーザの身体の動作を測定する場合に、ユーザが測定の際に行う動作を規定することで、時間の経過に応じた測定結果の比較をしやすくすることができる。つまり、ユーザの身体の動作が規定されることにより、ユーザの身体の動作がどのように変化していったかの評価をよりいっそう容易にすることができる。また、マット32を用いることにより、(ii)測定装置31に対するユーザの立ち位置を規定することができる。端末装置10は、測定装置31の測定結果に基づいて、マット32が、測定装置31に対して所定の位置に配置されているかを判定することができる。よって、マット32によりユーザの身体の動作を測定する際、マット32の各模様によりユーザの立ち位置が規定される。これにより、ユーザの身体の動作が、測定装置31の測定範囲に収まりやすくすることができる。例えば、ユーザが腕を真上又は真横に突き出す動作をしたとしても、予め、測定装置31に対して所定の位置にマット32を配置しておくことにより、ユーザの身体の動きが測定装置31の測定範囲から外れてしまうことを抑止することができる。また、マット32を用いることにより、(iii)ユーザに特定の動作をさせる際、ユーザに適切な体勢をとらせたうえで、測定をすることができる。例えば、ホームポジションにより、ユーザの立ち位置を規定することができ、ユーザに所定の動作をさせる際(しゃがむ動作、片足を上げる動作など)、測定に適した体勢(所定の足幅であるなど)で測定を開始することができる。
【0164】
これらにより、ユーザの全身の各関節のしなやかさを容易に評価することができる。
【0165】
(3)さらに、第1の実施の形態において、ユーザの身体の動作の測定結果(ROMチェックの結果など)に応じて、端末装置10が、ユーザに適したエクササイズの提案をすることとしてもよい。例えば、端末装置10において、ROMチェックの評価結果(測定履歴情報183、測定履歴データベース283)の分類結果に対応付けて、エクササイズメニュー(トレーニング項目情報185、285)を保持しているとする。すなわち、ユーザの身体の動作の測定結果、評価結果と対応付けて、予め、提案するトレーニングメニューの情報を保持しているとする。端末装置10は、測定履歴データベース283を参照し、ROMチェックなどユーザの身体の動作の測定結果、評価結果に基づいて、ユーザに提案するエクササイズメニューを特定し、特定したエクササイズメニューを、ディスプレイ132等に表示する等によりユーザに提示することとしてもよい。例えば、ROMチェックの結果、ユーザの各関節の可動域を評価することができる。サーバ20は、トレーニング項目情報285において、ユーザがエクササイズを実行するのに必要な、関節の可動域の広さが予め定められていることとしてもよい。例えば、ROMチェックの結果、ユーザの股関節の可動域が一定程度よりも小さい場合(股関節が硬い場合)、所定のトレーニング項目についてはエクササイズとしてユーザに提供しない(端末装置10において、当該トレーニング項目に基づく映像を表示する等の処理を実行できない)ようにしてもよい。また、ROMチェックの結果に基づいて、ユーザの身体の各関節の評価結果に応じたエクササイズメニューをユーザに提供することとしてもよい。
【0166】
また、端末装置10は、ユーザがトレーニング項目に示されるトレーニングを実行している際の身体の動きを測定し、トレーニングに規定されているようにユーザが身体を動作させることができているか否かを判定する。ユーザがエクササイズを続けた結果、徐々に、歩行姿勢を美しくするための身体の各部位の筋力が向上していき、エクササイズとして求められる動きができるようになることが期待される。これにより、端末装置10は、ユーザがエクササイズメニューを達成したと判定し、別のエクササイズメニューをユーザに提示することとしてもよい。
【0167】
また、ユーザの身体の動作の測定結果の評価結果と同程度の他のユーザが実行したエクササイズメニューの履歴に基づいて、ユーザに対し、エクササイズメニューを提案することとしてもよい。
【0168】
(4)以上の第1の実施の形態の説明では、現実世界に、測定装置31、マット32、ポール33を設置することで、ユーザの身体の動きを測定し、評価する例について説明した。
【0169】
この他に、仮想空間において、これらマット32に対応するオブジェクト、ポール33に対応するオブジェクトを配置し、ユーザの身体の動きを測定することとしてもよい。例えば、ユーザは、ディスプレイ132を視認する、または、ヘッドマウントディスプレイ(HMD)を装着するとする。端末装置10は、当該ディスプレイ132またはHMDにおいて、仮想空間における仮想カメラの設定に応じた視界画像を表示する。ユーザの身体の各部位(頭部、肩、肘、手、腰、膝、足など)にモーションセンサを装着することにより、端末装置10が、ユーザの身体の動きをトラッキングする。ユーザは、仮想空間に設置される各オブジェクトを視認しつつ、ユーザの身体を動作させる。これにより、現実世界においてマット32、ポール33を設置せずとも、ユーザの身体の動きを測定し、評価することができる。
【0170】
また、現実世界にマット32、ポール33を設置することの他に、マット32に対応する画像を床面などに照射することとしてもよく、ポール33に対応する画像(立体画像など)を現実世界において表示することとしてもよい。例えば、現実世界において、レーザー、プロジェクタなどから光を照射して、仮想的なマット32、ポール33を、ユーザが視認可能に表示してもよい。
【0171】
<第2の実施の形態>
第2の実施の形態における測定システム1について説明する。第2の実施の形態では、ユーザの歩行時の動作を測定して、歩行姿勢を評価することと、これによりユーザが美しく、身体の機能を発揮しやすい歩き方を獲得することを支援することについて説明する。
【0172】
図11は、第2の実施の形態における測定システム1により、ユーザが歩行する動作を測定する局面を示す。
【0173】
<1 概要>
測定装置31Aは、検出範囲38Aにおいて、第1のユーザUser_Aが、所定の位置から測定装置31Aへと歩行する動作を測定する。端末装置10Aは、ディスプレイ132Aにおいて、第1のユーザUser_Aに対し、歩行の状態を計測することと、歩行をする際の身体の動かし方とを通知する。図示するように、端末装置10Aは、ユーザに対し、歩行動作時に、前足に体重を乗せるように歩くよう促す通知をする。
【0174】
図11の例において、座標軸を以下のように規定する。すなわち、第1のユーザUser_Aの位置を基準として、歩行する方向を「前方」、歩行する方向に対向する方向を「後方」とし、歩行する方向により定まる軸を「前後軸」とする。一方、第1のユーザUser_Aの位置を基準として、歩行する足を接地する面において、歩行する方向と直交する方向を「左右軸」とし、ユーザの右半身の方向を「右方向」、ユーザの左半身の方向を「左方向」とする。第1のユーザUser_Aの足から頭頂部に至る、胴体方向の軸を「鉛直軸」とする。
【0175】
端末装置10Aは、ディスプレイ132Aにより、第1のユーザUser_Aに対し、測定装置31Aの位置から所定距離離れた位置を起点として、測定装置31Aに向かって歩くよう通知する。ここで、第1のユーザUser_Aが歩行動作を始める当該起点は、例えば、測定装置31Aから数メートル程度離れた位置とし、第1のユーザUser_Aの歩行のサイクル(右足を踏み出す動作および左足を踏み出す動作を1サイクルとする)を複数回繰り返すことが可能な位置に起点を設定することとしてもよい。測定装置31Aは、第1のユーザUser_Aの歩行のサイクルを複数回測定することができる。端末装置10Aは、ユーザの歩行動作を測定装置31Aにより測定する際、当該起点に第1のユーザUser_Aが位置していない場合は、第1のユーザUser_Aに対し、当該起点に移動するよう促す通知をディスプレイ132A等によりしてもよい。端末装置10Aは、当該起点に第1のユーザUser_Aがいることに応答して、第1のユーザに対し、歩行動作の測定を開始する通知(または、歩行動作を始めることを促す通知)をしてもよい。
【0176】
図12は、測定装置31の測定結果に基づいて、端末装置10が特定するユーザの身体の各部位を示す。端末装置10は、ユーザの身体の特徴となる各点として、四肢の関節と、頭部、肩、体幹、骨盤、足、かかと、足のつま先、肋骨、上前腸骨棘、などを特定する。端末装置10は、胸椎(体幹の中央)、骨盤の中央などを特定する。例えば、端末装置10は、ユーザに対し、所定のポーズ(T字型となるよう両腕を横に突き出すポーズ、両腕を胴体につけるポーズなど)をとるよう促し、これら所定のポーズにおける測定装置31の測定結果に基づいて、測定装置31の測定結果におけるユーザの各関節の位置を特定することとしてもよい。
【0177】
<2 データ構造>
図13は、第2の実施の形態におけるサーバ20が記憶する測定結果データベース287、評価結果データベース288のデータ構造を示す図である。
【0178】
測定結果データベース287は、測定装置31により測定される各ユーザの身体の動作(例えば、歩行動作、体幹のバランスをとる動作等)の測定結果を保持するデータベースである。
【0179】
測定結果データベース287のレコードのそれぞれは、項目「測定データID」、項目「日時」、項目「ユーザID」、項目「測定開始からの経過時間」、項目「測定データ」、を含む。
【0180】
項目「測定データID」は、測定装置31により測定される測定データそれぞれを識別する情報を示す。第2の実施の形態において、端末装置10は、ユーザの身体の動作の測定(例えば、歩行サイクルの測定)を開始して終了することにより、測定データそれぞれを識別する情報を、測定データと対応付けてサーバ20に保存させる。
【0181】
項目「日時」は、測定装置31によりユーザの身体の動作を測定した日時を示す。
【0182】
項目「ユーザID」は、測定装置31により身体の動作が測定されるユーザそれぞれを識別する情報である。
【0183】
項目「測定開始からの経過時間」は、測定装置31により、ユーザの身体の動作の測定を開始してからの経過時間を示す。
【0184】
項目「測定データ」は、
図12で説明したようなユーザの身体の各部位(頭部、肩、・・・)について、項目「測定開始からの経過時間」に示されるタイミングにおける位置を示す。例えば、項目「測定データ」において、測定装置31の位置を基準とした座標系において、測定装置31の位置からユーザの身体の各部位までの距離を測定した測定結果を保持させることとしてもよい。
【0185】
評価結果データベース288は、測定装置31の測定結果(測定結果データベース287)に基づき、ユーザの身体の動作(例えば、歩行動作)を評価した評価結果を保持するデータベースである。
【0186】
評価結果データベース288のレコードのそれぞれは、項目「評価結果ID」、項目「測定データID」、項目「測定対象」、項目「評価結果」、を含む。
【0187】
項目「評価結果ID」は、測定装置31によるユーザの身体の動作の測定結果を評価した評価結果それぞれを識別する情報である。
【0188】
項目「測定データID」は、評価の対象となる測定装置31の測定結果(測定結果データベース287)それぞれを識別する情報である。
【0189】
項目「測定対象」は、ユーザの身体の動作として、測定の対象となる内容を示す。測定の対象としては、例えば、ユーザの歩行動作時の姿勢、ユーザの体幹のバランス等がある。
【0190】
項目「評価結果」は、測定装置31の測定結果に基づき、ユーザの身体の動きを評価した評価結果を示す。例えば、ユーザの歩行動作時の姿勢について評価する場合、評価の対象としては、「ユーザの足の踏み出し」、「踏み出した前足への体重移動ができているか」、「前足へ体重を乗り切ることができているか」などがある。詳細は後述する。また、ユーザの体幹のバランスについて評価する場合、評価の対象としては、「肩、腰、足の位置がずれているか」などがある。詳細は後述する。
【0191】
<3 動作>
以下、第2の実施の形態2において端末装置10がユーザの身体の動きを測定し、測定結果に基づき評価する処理を説明する。
【0192】
図14は、第2の実施の形態において端末装置10がユーザの歩行動作を測定し、評価する処理を示すフローチャートである。
【0193】
ステップS1403において、端末装置10は、測定装置31の測定結果に基づき、ユーザが測定装置31の測定範囲内の所定の位置にいることを検出する。
【0194】
ステップS1405において、端末装置10は、ユーザに対し、歩行動作をするようガイド(音声、映像)を出力する。端末装置10は、測定装置31の測定結果に基づきユーザの各関節を検出し、ユーザの歩行動作時の各関節の位置を記録する。
【0195】
ステップS1407において、端末装置10は、測定装置31の測定結果に基づき、ユーザの歩行動作のサイクルを複数の局面に分類する。端末装置10は、ユーザの歩行動作の各局面の評価項目に従って、歩行動作を評価した評価値を決定する。
【0196】
ステップS1409において、端末装置10は、歩行姿勢の理想となるモデルとあわせて、測定装置31の測定結果と、歩行動作を評価した評価結果とをディスプレイ132等に出力する。端末装置10は、測定結果と評価結果とをサーバ20へ送信する。
【0197】
ステップS1453において、サーバ20は、ユーザの歩行動作の測定結果および評価結果に基づき測定結果データベース287、評価結果データベース288を更新する。
【0198】
<4 測定結果、評価結果の出力例>
図15は、第2の実施の形態において端末装置10がユーザの歩行動作を測定する測定結果、および、測定結果に基づきユーザの歩行動作を評価した評価結果を出力する場合の出力例を示す図である。図示する例では、端末装置10は、ディスプレイ132に、これら測定結果、評価結果を表示する例を示しているが、端末装置10がプリンタ等により紙媒体などに印刷することで、測定結果、評価結果を出力することとしてもよい。
【0199】
図15(A)は、端末装置10がユーザの歩行動作を測定するために、測定装置31に対して一定の歩数(例えば、数メートル程度)を歩くよう促す局面を示す。
図14のステップS1403、S1405の処理に対応する。
【0200】
端末装置10は、ディスプレイ132において、表示部132P1により、ユーザに対し、歩行動作をする際に、「踏み出す前足に体重を乗せるように歩くことを促す通知」を表示する。端末装置10は、表示部132P2、132P3において、測定装置31の測定結果として、ユーザの身体の各部位を特定した位置(
図12で例示した、身体の各部位)を示す画像を表示する。端末装置10は、ユーザの身体の各部位を線状に接続することで、ユーザの身体の測定結果をユーザにとって視認しやすく表示する。
図15の例では、ユーザの身体の右半身の各部位を点線で接続し、左半身の各部位を実線で接続している例を示す。これにより、ユーザは、測定装置31の測定結果について、ユーザの身体の右半身の動きか、左半身の動きかを容易に認識することができる。
【0201】
端末装置10は、表示部132P2により、測定装置31の測定結果に基づき、随時、ユーザの正面(
図11に示す前後軸)から見た場合のユーザの各部位の位置を特定した結果を表示する。
【0202】
端末装置10は、表示部132P3により、測定装置31の測定結果に基づき、随時、ユーザの側面(
図11に示す左右軸)から見た場合のユーザの各部位の位置を特定した結果を表示する。つまり、端末装置10は、測定装置31による測定結果を、リアルタイムに表示部132P2、132P3に表示する。これにより、ユーザは、ユーザ自身の身体の動作の測定結果のフィードバックをリアルタイムに得ることができる。
【0203】
端末装置10は、ユーザに対し、測定装置31に対して接近していくように歩行動作を行うよう促す通知をする。ここで、端末装置10は、表示部132P2、132P3においては、ユーザの身体から一定距離の位置においてユーザの身体の動きを測定したように測定結果を表示してもよい。例えば、端末装置10は、3次元仮想区間を生成し、測定装置31の測定結果(つまり、測定装置31の位置から、第1のユーザUser_Aの各部位の位置までの距離)に基づき、3次元仮想空間に、ユーザの身体の各部位の位置に対応するオブジェクトを配置する。例えば、端末装置10は、3次元仮想空間において、測定装置31に対応する座標を特定し、当該測定装置31に対応する座標に対し、測定装置31の測定結果に基づいて、各部位の位置に対応する座標に、各部位に対応するオブジェクトを配置する。端末装置10は、測定装置31による測定に伴う経過時間と関連付けて、3次元仮想空間において、各部位に対応するオブジェクトの位置の情報を保持する。つまり、3次元仮想空間において、ユーザの各部位の位置に対応するオブジェクトの移動の軌跡を再現することにより、ユーザの歩行動作を各部位の位置の軌跡として再現できるようにする。端末装置10は、これらユーザの各部位の位置に対応するオブジェクト群に対し、一定の位置関係となる座標(例えば、「肩中央」に対し、前後軸において一定距離をあけた位置、または、胸腰に対し左右軸において一定距離をあけた位置)に仮想カメラを設定し、各部位の位置に対応するオブジェクトの移動に連動して仮想カメラを移動させることとしてもよい。
【0204】
端末装置10は、表示部132P4において、測定装置31による測定を適切に行うための情報を通知する。
図14のステップS1403に対応する。例えば、端末装置10は、測定装置31によりユーザの歩行動作を測定する際、ユーザが歩行を開始する位置が所定の位置にあるか否かを判定し、所定の位置から歩行を開始するよう促す通知をする。図示するように、端末装置10は、ユーザが歩行を開始する位置が測定装置31に対して近すぎる場合、さらに後方から歩行動作を始めるよう促す通知をする。
【0205】
図15(B)は、端末装置10がユーザの歩行動作の複数の局面のうちのある局面についての測定結果および評価結果を出力する局面を示す。
図14のステップS1409の処理に対応する。
【0206】
図15(B)、
図15(C)では、ユーザの身体の測定結果について、鉛直軸を基準として表示する。これにより、ユーザの身体が、鉛直軸を基準にどのように回転できているかをユーザに提示することができる。
【0207】
端末装置10は、ディスプレイ132において、ユーザの歩行姿勢の美しさの評価結果として、歩行動作時の肩の回転のバランス、腰の回転のバランスの評価結果を出力する。端末装置10は、歩行動作を複数の局面に分けて、それぞれの局面において、肩の回転のバランス、腰の回転のバランスなどの評価結果を出力する。このように、歩行動作の複数の局面について、測定結果と評価結果とをユーザに提示することにより、ユーザの歩行動作を美しくするための示唆を提供することができる。
【0208】
端末装置10は、表示部132P5により、歩行動作時のサイクル(右足を踏み出して、左足を踏み出す動作を1サイクルとする)において、左回転、右回転のそれぞれにおける肩の回転の傾きを表示する。
【0209】
端末装置10は、表示部132P6において、右肩および左肩の位置により定まる「両肩を結ぶ線」、両股関節の位置により定まる「両股関節を結ぶ線」、右肩および左肩の位置の中心となる「肩の中心位置」、股関節の位置(例えば、右骨盤と左骨盤の位置)により定まる「腰の中心位置」を表示する。端末装置10は、歩行動作の1サイクルにおいて、ユーザが左足を踏み出した際の左肩(または両肩)の位置と、股関節の位置とに基づき、鉛直軸を基準とした肩の左回転の程度(どこまで肩が回転しているか)を評価する。例えば、端末装置10は、腰の位置を基準として、1サイクルにおいて左回転により肩が回転する量に基づき、「両肩を結ぶ線」を描画する。端末装置10は、表示部132P6において、評価結果としてのスコア(点数「4.8点」)を表示している。
【0210】
端末装置10は、表示部132P7において、「両肩を結ぶ線」、「両股関節を結ぶ線」、「肩の中心位置」、「腰の中心位置」を表示する。端末装置10は、歩行動作の1サイクルにおいて、ユーザが右足を踏み出した際の右肩(または両肩)の位置と、股関節の位置とに基づき、鉛直軸を基準とした肩の左回転の程度を評価する。端末装置10は、腰の位置を基準として、1サイクルにおいて右回転により肩が回転する量に基づき、「両肩を結ぶ線」を描画する。端末装置10は、表示部132P7において、評価結果としてのスコア(点数「4.5点」)を表示しており、左回転と比較して低い点数となっている。
【0211】
端末装置10は、表示部132P6、132P7において、歩行動作の1サイクルにおける左足を踏み出す動作、右足を踏み出す動作における「肩の中心位置」、「腰の中心位置」を表示する。これにより、歩行動作時に、腰の位置に対して上体がどのように傾いているかをユーザに認識させることができる。例えば、ユーザの歩行動作時に、上体が左右軸において動いている程度、前後軸において動いている程度をユーザに認識させることができる。図示する例では、表示部132P6において、左回転時の「肩の中心位置」と「腰の中心位置」との重なりの程度が大きく、上体がぶれていないのに対し、表示部132P7において、右回転時に、「肩の中心位置」と「腰の中心位置」との重なりが相対的に小さく、上体が左回転時よりも横方向にぶれている。そのため、評価結果となるスコアが、左回転時よりも右回転時のほうが低くなっている。
【0212】
図15(C)は、端末装置10がユーザの歩行動作の局面として、歩行動作時の前足を地面につけたときの測定結果および評価結果を出力する局面を示す。
図14のステップS1409に対応する。
【0213】
端末装置10は、表示部132P8において、ユーザが歩行動作時に前足を地面につけた時の腰の回転の傾きの測定結果と評価結果とを表示する。
【0214】
端末装置10は、表示部132P9において、左足を前足として地面につけた時の「両股関節を結ぶ線」等を表示する。図示するように、「両股関節を結ぶ線」が傾いているため、ユーザが、左足を地面につけた時に腰が回転できていることが示されている。
【0215】
端末装置10は、表示部132P10において、右足を前足として地面につけた時の「両股関節を結ぶ線」等を表示する。図示するように、「両股関節を結ぶ線」が傾いているため、ユーザが、右足を地面につけた時に腰が回転できていることを示す。
【0216】
図16は、第2の実施の形態において端末装置10がユーザの歩行動作を測定する測定結果、および、測定結果に基づきユーザの歩行動作を評価した評価結果を出力する場合の出力例を示す図である。
図14に示すステップS1407、S1409の処理に対応する。
【0217】
図16の例では、端末装置10は、ユーザの歩行動作の1サイクルの測定結果および評価結果について、歩行姿勢を美しく見せるための参考事例(モデル事例、お手本)と比較可能な態様で表示する。
図16に示す出力例についても、端末装置10は、プリンタ等により紙媒体に印刷することで出力することとしてもよい。
【0218】
端末装置10は、ディスプレイ132において、歩行動作の1サイクルを複数のステップにわけて、各ステップにおいて、歩行姿勢を美しく見せるためのお手本と、ユーザの歩行動作の測定結果と、測定結果に対する評価結果とを表示する。
【0219】
図16の例では、歩行動作の1サイクルを、第1のステップ「足を前に踏み出す」、第2のステップ「踏み出した前足に体重を乗せようとする(前足に乗ろうとする)」、第3のステップ「踏み出した前足に体重を乗せ切る(前足に乗り切る)」に分けている。
【0220】
ここで、第1のステップ、第2のステップ、第3のステップにおいて、端末装置10が評価する項目としては、これら各ステップにおいて共通する項目と、各ステップにおいて共通しない項目とが含まれる。
(1)第1のステップの評価項目
・ 歩行動作中における上半身の傾き: 上半身の部位(頭部、肩など)が腰の位置に対して前傾しているか後傾しているか。例えば、骨盤の位置、胸腰の位置、肩中央の位置とにより定まる線が、鉛直軸に対して傾斜する角度が一定以内であるか。
・ 足を前に踏み出そうとする際の足の前後の開き: 両足の前後の開きの程度。例えば、踏み出した前足の足首と、後足の足首との距離が、一定距離以上であるか。
・ 足を前に踏み出そうとする際の腰の位置: 足を踏み出そうとする際に、腰が後方に残されていないか。例えば、骨盤の位置が、肩、胸腰に対して前方であるか後方であるか。
(2)第2のステップの評価項目
・ 前足を地につけたタイミングにおける上半身の傾き: 上半身の部位(頭部、肩など)が腰の位置に対して前傾しているか後傾しているか
・ 前足を地につけたタイミングにおけるひざの曲がり: 前足の各部位(足首、膝、骨盤)が大きく曲がっていないか、大きく曲がっているか。例えば、足首と膝とを接続する線と、膝と骨盤とを接続する線とにより形成される角度が、一定の角度に収まっているか
(3)第3のステップの評価項目
・ 前足に体重を乗せ切るタイミングにおける上半身の傾き: 上半身の部位(頭部、肩など)が腰の位置に対して前傾しているか後傾しているか
・ 前足に体重を乗せ切るタイミングにおける軸足の伸び: 踏み出して着地した前足を軸足として、軸足に体重を乗せる際に、軸足の各部位(足首、膝、骨盤)が伸びているか、曲がっているか。例えば、足首と膝とを接続する線と、膝と骨盤とを接続する線とにより形成される角度が、一定の角度に収まっているか
具体的には、端末装置10は、表示部132P11において、第1のステップにおけるお手本を表示する。端末装置10は、表示部132P21において、第1のステップにおけるユーザの身体の測定結果を表示する。端末装置10は、表示部132P31において、第1のステップにおけるユーザの身体の動きの評価結果を表示する。
【0221】
端末装置10は、表示部132P11、132P12、132P13において、これらの各評価項目が、美しい歩行姿勢にとって良好である場合の身体の各部位(関節)の位置を表示している。例えば、表示部132P11において、上半身が傾いておらず、前足と後ろ足とが一定程度に開いており(歩幅が小さすぎず)、腰の位置も適切である(後ろ寄りになっていない)場合の身体の各部位の位置が示されている。
【0222】
図示する例では、表示部132P31において、評価結果として、評価項目「上半身の傾き」について、右足を踏み出した際の右足の評価結果RF_icと、左足を踏み出した際の左足の評価結果LF_icとを、所定のバーに重ねて表示している。当該所定のバーは、評価結果として取り得る範囲に応じて描画されている。端末装置10は、当該所定のバーにおいて、評価結果が良好である領域と、良好ではない領域とを区別して表示しており、図示する例では、評価結果が良好である領域を強調して表示している。端末装置10は、評価項目「上半身の傾き」において、評価結果が、前傾もしすぎず後傾もしすぎていないとして、良好である範囲に、右足の評価結果RF_icと、左足の評価結果LF_icとを関連付けて表示している。
【0223】
端末装置10は、表示部132P31において、評価結果として、評価項目「足の前後の開き」、評価項目「腰の位置」についても、右足の評価結果と左足の評価結果とを所定のバーに関連付けて表示している。
【0224】
端末装置10は、表示部132P12において、第2のステップにおけるお手本を表示する。端末装置10は、表示部132P22において、第2のステップにおけるユーザの身体の測定結果を表示する。端末装置10は、表示部132P32において、第2のステップにおけるユーザの身体の動きの評価結果を表示する。
【0225】
端末装置10は、表示部132P13において、第3のステップにおけるお手本を表示する。端末装置10は、表示部132P23において、第3のステップにおけるユーザの身体の測定結果を表示する。端末装置10は、表示部132P33において、第3のステップにおけるユーザの身体の動きの評価結果を表示する。
【0226】
図17は、端末装置10が、ユーザの歩行動作におけるひざの負担の評価結果を出力する例を示す図である。
図14のステップS1409に対応する。
【0227】
図17(A)は、ユーザの歩行動作において、股関節の内転および外転について測定した測定結果と、評価結果とを出力する例を示す。端末装置10は、ディスプレイ132に、ユーザの歩行動作の測定結果を、前後軸に基づいて(ユーザを正面から見たものとして)表示し、歩行動作時の膝の曲がりをユーザが容易に確認できるようにする。
【0228】
端末装置10は、表示部132P41において、歩行動作時の測定結果を表示している。端末装置10は、表示部132P42において、右足を軸足として歩行する際の測定結果を表示する。端末装置10は、表示部132P43において、左足を軸足として歩行する際の測定結果を表示する。
【0229】
端末装置10は、表示部132P44において、ユーザの参考となるよう、好ましい測定結果のパターン(「軸足も遊脚もまっすぐ」)と、膝を痛める可能性のある測定結果のパターン(「ひざの外側を痛める可能性あり」、「ひざの内側を痛める可能性」)とについて表示する。つまり、歩行動作時に、股関節が内転しすぎていても、外転しすぎていても、歩行動作に伴い膝を痛めるおそれがある。
【0230】
以上により、ユーザは、端末装置10の出力結果を参照することにより、ひざを痛めないよう歩行するよう促され得る。
【0231】
図17(B)は、ユーザの歩行動作において、膝が足首よりも先行しすぎていないかの評価結果を出力する例を示す図である。端末装置10は、ディスプレイ132に、ユーザの歩行動作の測定結果を、左右軸に基づいて(ユーザを側面から見たものとして)表示し、歩行動作時に、ひざを先行して動かし過ぎていないかをユーザが容易に確認できるようにする。
【0232】
端末装置10は、表示部132P51において、歩行動作時の測定結果を表示している。端末装置10は、表示部132P52において、右足を軸足として歩行する際の測定結果を表示する。端末装置10は、表示部132P53において、右足を軸足として歩行する際の測定結果を表示する。端末装置10は、表示部132P51において、ユーザの歩行姿勢の評価結果として「ひざの前方負担が小さい」旨を表示している。
【0233】
端末装置10は、表示部132P54において、ユーザの参考となるよう、好ましい測定結果のパターン(「良好」)と、膝を痛める可能性のある測定結果のパターン(「ひざが前に出過ぎている」)とについて表示する。つまり、ユーザが前足を踏み出そうとする際に、足首よりも膝が先行しすぎていると、膝を痛める可能性がある。端末装置10は、足首の位置と膝の位置とを結ぶ線、および、膝の位置と骨盤の位置とを結ぶ線が交差する角度が所定角度以上あるか否か(膝から足首までが前に出ているか)に基づいて、ユーザが前足を踏み出そうとする際に、膝が先行し過ぎているかを評価する。
【0234】
以上のように、ユーザの歩行のサイクルについて、軸足を踏み出そうとする、軸足を着地させる、軸足に体重を乗せようとする、といった複数の局面について、歩行動作を評価する。これにより、ユーザは、各局面の評価結果を参照することで、歩行動作をより美しくするよう促される。また、お手本となる身体の動きとユーザの身体の動作の測定結果とを対比してユーザが参照できるようにすることで、ユーザが美しい歩行姿勢に近づけるよう促される。
【0235】
<第3の実施の形態>
第3の実施の形態における測定システム1について説明する。第3の実施の形態では、ユーザの体幹のバランスの測定結果を表示するとともに、体幹のバランスがとれた状態をユーザが獲得できるようにするための処理を説明する。
【0236】
<動作>
以下、第3の実施の形態において、端末装置10がユーザの身体の動きを測定し、測定結果に基づき評価する処理を説明する。
【0237】
図18は、第3の実施の形態において端末装置10がユーザの体幹のバランスを測定し、評価する処理を示すフローチャートである。
【0238】
ステップS1803において、端末装置10は、測定装置31の測定結果に基づき、ユーザの体幹のバランス(肩、腰、足)を測定するようガイド(音声、映像)を出力する。端末装置10は、ユーザの肩、腰、足の位置について、鉛直軸に基づいて、それぞれ円で表示して測定結果を表示する。端末装置10は、ユーザの肩、腰、足の位置の重なり具合に応じて、体幹のバランスをとるよう促すガイドを出力する。
【0239】
ステップS1805において、端末装置10は、測定装置31の測定結果に基づき、ユーザの体幹のバランスを評価して評価値を出力する。端末装置10は、測定装置31の測定結果と、評価結果とをサーバ20へ送信する。
【0240】
ステップS1853において、サーバ20は、ユーザの体幹のバランスの測定結果および評価結果に基づき測定結果データベース287、評価結果データベース288を更新する。
【0241】
<出力例>
図19は、第3の実施の形態において端末装置10がユーザの体幹のバランスを測定する測定結果、および、体幹のバランスの評価結果を出力する例を示す図である。
【0242】
図19(A)は、端末装置10がユーザの体幹のバランスを測定装置31により測定するために、測定結果をリアルタイムに出力する局面の画面例を示す。
図18のステップS1803の処理に対応する。
図19(A)の例では、表示部132P61において、ユーザの身体の肩、腰、足のそれぞれに対応した円形の図形(正円、楕円など)を表示する。
【0243】
端末装置10は、表示部132P62において、ユーザの身体の各部位の測定結果を、前後軸に基づき表示する。
【0244】
端末装置10は、表示部132P63において、測定装置31の測定結果に基づいて、ユーザの身体の肩、腰、足の各部位の位置を、鉛直軸に基づき表示する。端末装置10は、測定装置31の測定結果を、随時、表示部132P63に表示する。よって、ユーザの身体がぶれると、肩、腰、足の各部位に対応する各円形の図形が重ならず、ずれを生じさせることになる。
図19(A)の画面例では、ユーザの身体の各部位が、鉛直軸に沿って整っておらず、ずれていることを示している。ユーザは、ディスプレイ132の表示部132P63の表示を見つつ、体幹のバランスをとるよう身体を動かすことを促される。
【0245】
端末装置10は、表示部132P64において、ユーザが体幹のバランスが取れた状態になるよう促す通知をする。端末装置10は、測定装置31の測定結果に基づいて、ユーザの身体の各部位のバランスを整えるために必要なユーザの身体の動きを特定する。図示する例では、ユーザの腰の部位の位置に対し、頭部と足の位置が後ろ側となっている。つまり、ユーザの腰の位置が前方に突き出した状態となっている。端末装置10は、表示部132P64において、前後方向において身体の傾きを整えるよう促す表示をする。これにより、ユーザは、体幹のバランスが取れた状態になるために必要な身体の動きを容易に認識することができる。
【0246】
図19(B)は、ユーザの体幹のバランスが整った状態における測定結果の表示例を示す。表示部132P63において、ユーザの肩、腰、足の各部位が、鉛直軸に沿って並んでおり、体幹のバランスがとれている。端末装置10は、表示部132P64において、体幹のバランスが取れた状態であることをユーザに通知している。
【0247】
図19(C)は、体幹のバランスの測定を終了し、評価結果を出力する場合の表示例を示す。
図18のステップS1805の処理に対応する。
【0248】
端末装置10は、表示部132P65において、体幹のバランスの測定が終了した旨を表示し、測定結果に基づく評価結果を出力する。
【0249】
端末装置10は、体幹のバランスの評価結果に基づいて、ユーザに提案するトレーニングメニューとして、体幹のバランスを整えるためのトレーニングメニューを決定する。図示する例では、端末装置10は、表示部132P65において、ユーザの体幹のバランスの評価結果と、評価結果に応じてユーザに提案するトレーニングメニューの候補とを表示する。端末装置10は、表示部132P66において、ユーザに提案するトレーニングメニューを開始するための操作を受け付ける。端末装置10は、表示部132P66へのユーザの入力操作に応答して、対応するトレーニングメニューを読み出す。
【0250】
端末装置10は、表示部132P67において、ユーザから、トレーニングメニューの指定を受け付ける。つまり、表示部132P67では、端末装置10が体幹のバランスの評価結果に基づきユーザに提案するトレーニングメニューにかかわらず、その他のトレーニングを開始するための入力操作を受け付ける。
【0251】
以上の各実施形態で説明した事項を、それぞれ組み合わせるとしてもよい。
【0252】
<第4の実施の形態>
第4の実施の形態の説明では、ユーザの身体の動きの測定結果として、ROMチェック(第1の実施の形態)、歩行姿勢のチェック(第2の実施の形態)、体幹のバランスの測定(第3の実施の形態)等に応じて、ユーザに適したトレーニングメニューを提案する技術について説明する。端末装置10は、上記のようにユーザの身体の動きを測定し、評価することにより、ユーザの身体の各部位のうち、トレーニングすべきものを特定することができ、当該特定された結果に応じて、適したトレーニングメニューを提案する。
【0253】
このように構成すると、トレーニングメニューのコンテンツを新たに追加する際に、当該トレーニングメニューのコンテンツに、身体のどの部位に適したものか、また、ユーザの身体に生じうる悩みのいずれに応じたものかを関連付けることにより、ユーザの身体の動きの測定結果に応じたコンテンツをユーザに提供することができ、コンテンツの追加がよりいっそう容易になる。
【0254】
(1)端末装置10は、以上のように、ユーザの歩行サイクルの各ステップにおける測定結果、評価結果に基づいて、ユーザに対し、エクササイズメニューを提案することとしてもよい。例えば、端末装置10は、お手本となる身体の動きと、ユーザの身体の動きとを比較して(
図16の例)、ユーザが改善することが望ましい筋肉の部位を特定する。例えば、サーバ20は、ユーザの歩行動作として、第1ステップ(足を前に踏み出す動作)の評価結果において、足の前後の開きが小さい場合、足を大きく踏み出せることが期待されるエクササイズメニューを、トレーニング項目情報285を参照することで特定する。すなわち、サーバ20は、歩行動作の各ステップの評価項目、体幹のバランスの評価項目の評価結果に応じて、予め、提案するエクササイズメニューを関連付けて保持することとしてもよい。
【0255】
(2)ユーザの身体の動作の左右差を解消できるよう、端末装置10が、ユーザに対しトレーニングメニューを提案することとしてもよい。端末装置10は、以上のように、ROMチェック、歩行姿勢のチェックを行うことにより、ユーザの身体の動作の左右のバランスを評価する。端末装置10は、例えば、ユーザの歩行動作時の肩の回転、腰の回転の評価結果に基づき、鉛直軸を基準とした回転動作の左右のバランスを評価する。端末装置10は、ユーザの身体の動作が左右対称となっていない要因となっている筋肉の部位を特定する。例えば、端末装置10は、肩の回転量の左右差の要因となる筋肉の部位の情報を予め保持している。以上のように、端末装置10が、歩行動作時の評価の対象と、左右差の要因となる筋肉の部位の情報とを予め対応付けて保持して多くことにより、左右のバランス差を解消するためにトレーニングすべき筋肉の部位を特定することができる。
【0256】
(3)ユーザの身体の動作の評価結果に基づいて、端末装置10が、ユーザの身体において将来起こり得る状態を予測するとともに、当該予測結果に基づいて、ユーザに対しトレーニングメニューを提案することとしてもよい。
【0257】
例えば、端末装置10は、(i)ユーザの身体に起こり得る悩みとして、「首・肩こり」、「二の腕のたるみ」、「内巻肩、頭が前に出た姿勢」、「腰痛」、「足のむくみ」、「腕のはり」などの各項目と、(ii)ユーザの身体の部位の情報とを対応付けて所定の情報として記憶している。また、端末装置10は、上記のユーザの身体に起こり得る悩みの各項目と対応付けて、トレーニングとして提案するトレーニングメニューの情報を記憶している。
【0258】
端末装置10は、ROMチェック、歩行動作のチェックを行うことにより、これらの測定結果、評価結果に基づいて、改善をすることが望ましい筋肉の部位を特定する。例えば、ROMチェックにおいて、身体のねじれが良好でない場合に、どの筋肉の部位が関連付けられているかが端末装置10において予め保持されている。例えば、端末装置10は、ROMチェックにおいて、肩、腰などの可動域の評価項目と対応付けて、筋肉の情報を保持している。
【0259】
端末装置10は、動きが硬い筋肉の部位を特定する等により、当該所定の情報を参照することにより、将来起こり得る悩みを特定する。端末装置10は、この特定結果に応じて、ユーザの身体に将来生じうる悩みに対応できるよう、ユーザに提案するトレーニングメニューを決定する。
【0260】
以上のように、歩行動作時のバランス、身体のねじれの評価項目と対応付けて筋肉の各部位の情報が関連付けられるとともに、筋肉の各部位の情報と、ユーザの身体に起こり得る悩みの各項目の情報とが関連付けられている。これにより、端末装置10は、ユーザの身体の動作の評価結果に基づいて、ユーザそれぞれにカスタマイズされたトレーニングメニューを当該ユーザに提案することができる。
【0261】
<第4の実施の形態におけるデータ構造>
図20は、第4の実施の形態におけるサーバ20が記憶する各種データのデータ構造を示す図である。
【0262】
サーバ20は、測定項目情報282において、測定項目それぞれについて、項目「起こり得る将来の悩み」と、項目「関連する筋肉の部位」とを保持する。
【0263】
項目「起こり得る将来の悩み」は、測定項目それぞれについて、測定結果について評価した評価結果によっては将来ユーザの身体に起こり得る悩みを特定する情報(例えば、「肩こり」、「首こり」などのタグ)である。
【0264】
項目「関連する筋肉の部位」は、測定項目それぞれについて、測定結果について評価した評価結果によってはトレーニングすることが望ましい身体の部位(筋肉の部位)の情報である。項目「関連する筋肉の部位」において、評価結果の程度に応じて、身体の部位の情報を段階的に保持してもよい。
【0265】
サーバ20は、トレーニング項目情報285において、トレーニング項目それぞれについて、項目「コンテンツ」と、項目「対応する悩み」と、項目「関連する筋肉の部位」とを保持する。
【0266】
項目「コンテンツ」は、トレーニングを実施する際にユーザに提示されるコンテンツ(動画、ユーザの身体の動きの参考となるモーションデータ、音声データなど)を示す。
【0267】
項目「対応する悩み」は、トレーニング項目それぞれについて、評価結果によっては将来ユーザの身体に起こり得る悩みを特定する情報(例えば、「肩こり」、「首こり」などのタグ)である。
【0268】
項目「関連する筋肉の部位」は、トレーニング項目それぞれについて、評価結果によってはトレーニングすることが望ましい身体の部位(筋肉の部位)の情報である。項目「関連する筋肉の部位」において、評価結果の程度に応じて、身体の部位の情報を段階的に保持してもよい。
【0269】
サーバ20は、評価結果データベース288において、項目「起こり得る将来の悩み」を保持する。項目「起こり得る将来の悩み」は、評価結果それぞれについて、評価結果によっては将来ユーザの身体に起こり得る悩みを特定する情報(例えば、「肩こり」、「首こり」などのタグ)である。
【0270】
以上のように、サーバ20は、ユーザの身体の動きの評価結果に応じて評価結果データベース288を更新する。例えば、ROMチェックの測定結果に応じて(測定項目情報282)、ユーザの身体において将来起こり得る悩みの情報を特定し得る。サーバ20は、評価結果データベース288を参照することにより、ユーザについて、起こり得る将来の悩みの情報を特定し、トレーニング項目情報285を参照することにより、ユーザに提案するトレーニング項目を抽出する。サーバ20は、ユーザに提案するトレーニング項目を複数抽出する場合、所定の規則に基づいて優先度を設定する。例えば、サーバ20は、ユーザの身体の動きの評価結果が良好でない程度に応じて、良好でないものに対応する悩みを解消し得るトレーニング項目を優先することとしてもよい。
【0271】
<第4の実施の形態における画面例>
図21は、端末装置10が、ユーザの身体の動作の測定結果および評価結果に基づいて、ユーザの身体に起こり得る悩みを提示し、当該悩みに対応するエクササイズメニューを提案する局面の画面例である。
【0272】
図21(A)は、端末装置10が、ユーザの身体の動作の測定結果、評価結果に基づいて、ユーザの身体に起こり得る悩みを特定した結果を表示している。
【0273】
端末装置10は、表示部132P71において、ユーザに、毎日、端末装置10を介して測定することを促す表示をしつつ、表示部132P72において、ユーザの身体に将来起こり得る状態を表示する。図示する例では、操作受付部132P73において、「首・肩こり」の悩みが起こり得ることを表示しつつ、当該操作受付部132P73へのユーザの入力操作に応答して、「首・肩こり」の悩みに対応したトレーニングメニューを表示する。また、端末装置10は、操作受付部132P74において、「二の腕のたるみ」の悩みが起こり得ることを表示しつつ、当該操作受付部132P74へのユーザの入力操作に応答して、「二の腕のたるみ」の悩みに対応したトレーニングメニューを表示する。また、端末装置10は、操作受付部132P75において、「内巻肩、頭が前に出た姿勢」の悩みが起こり得ることを表示しつつ、当該操作受付部132P75へのユーザの入力操作に応答して、「内巻肩、頭が前に出た姿勢」の悩みに対応したトレーニングメニューを表示する。
【0274】
端末装置10は、表示部132P76において、時間がないユーザに向けて、ユーザに対し提案するトレーニングメニューの候補のうち、表示部132P76に表示されるものよりも少ない数のトレーニングメニューを開始するための操作受付部132P77を表示する。端末装置10は、所定の規則に基づき、ユーザに提案するトレーニングメニューの候補に優先度等を設定して、表示部132P76に表示する。
【0275】
端末装置10は、表示部132P78において、ユーザから、「お気に入り」など、実行したいトレーニングメニューを編集する操作を受け付ける。
【0276】
端末装置10は、操作受付部132P91への入力操作を受け付けることにより、ユーザに対してアンケートを提示し、当該アンケートへの回答を受け付ける。端末装置10は、当該アンケートの入力結果に基づいて、ユーザの悩みを特定し、当該特定された悩みに対応するトレーニングメニューを提案することとしてもよい。
【0277】
図21(B)は、ユーザに対し、おすすめのトレーニングメニューを提案する局面を示す。端末装置10は、表示部132P81において、ユーザに対し、測定結果、評価結果に基づき特定される悩みについて、身体の部位に関する情報(「首、肩こりに悩まされていませんか」等)を表示する。端末装置10は、表示部132P81において、測定結果、評価結果に基づき、ユーザの身体に関する悩みの原因(「肩の位置が前方に出やすくなっている」等)を表示する。端末装置10は、表示部132P81において、測定結果、評価結果に基づき、ユーザの身体の悩みを解消するための指針(「上半身の血流をよくすることが期待される」、「モモ裏を伸ばす」等)と、当該指針に対応するエクササイズを提案することとを表示する。
【0278】
例えば、端末装置10は、操作受付部132P73への入力操作に応答して、表示部132P82に示されるように、おすすめのトレーニングメニューによるトレーニングを開始するための操作受付部132P83~132P87を表示する。端末装置10は、これら操作受付部132P83~132P87への入力操作に応答して、トレーニングを開始するための動画の再生等をすることとしてもよい。
【0279】
端末装置10は、操作受付部132P77への入力操作に応答して、表示部132P88に示されるように、時間がないユーザに向けて、提案するトレーニングメニューの数を絞り込んだ状態で、操作受付部132P83~132P85を表示する。
【0280】
これにより、ユーザの時々の状態に応じて、ユーザが継続してトレーニングをするよう促すことができる。
【0281】
<動作例>
以上の第4の実施の形態における各装置の動作について説明する。
【0282】
図22は、第4の実施の形態における各装置の処理の流れを示す。
【0283】
ステップS2203において、端末装置10は、ユーザの身体の動きの測定結果に基づいて、ユーザの関節可動域、歩行姿勢、体幹のバランスの少なくともいずれかを評価し、評価結果を出力する。端末装置10は、測定結果と評価結果とをサーバ20へ送信する。
【0284】
ステップS2253において、サーバ20は、端末装置10から受信した測定結果、評価結果などユーザの各種測定結果に基づきデータベース(評価結果データベース288など)を更新する。
【0285】
ステップS2255において、サーバ20は、評価結果データベース288等に基づいて、ユーザに将来起こりうる身体の悩みを特定する。サーバ20は、トレーニング項目情報285に基づいて、複数あるトレーニングメニューのうち、特定した悩みに対応する身体の部位に関するトレーニングメニューを選択し、選択したトレーニングメニューをユーザの端末装置10へ応答する。
【0286】
ステップS2205において、端末装置10は、ユーザに将来起こりうる身体の悩みに対応したトレーニングメニューを表示する。
【0287】
<変形例>
第4の実施の形態において、ユーザに対し質問を提示して、ユーザから入力を受け付けた回答結果(アンケート結果)に応じて、ユーザに提案するトレーニングメニューの優先度を設定することとしてもよい。
【0288】
これにより、ユーザの身体の測定結果に基づきトレーニングメニューを提案するのみならず、ユーザに対し、身体に関する質問を提示して、当該ユーザから質問の回答を受けつけた結果に基づいてトレーニングメニューを提案することができる。すなわち、サーバ20は、質問の回答の結果に基づいて、ユーザに提案するトレーニングメニューの優先度を更新する。サーバ20は、身体の評価結果だけでなく、質問に対するユーザからの回答結果にも基づいて、ユーザにとって優先度の高いトレーニングメニューを当該ユーザに提示する。これにより、サーバ20は、よりユーザの身体の状態に適したトレーニングメニューを提案することができる。
【0289】
例えば、端末装置10は、ユーザからの身体に関するアンケートを受け付けることにより、ユーザの身体のうち、測定システム1における測定ユニット30ではまだ測定していない(測定結果に基づく評価が行われていない)筋肉の部位の情報をユーザから受け付けることができる。端末装置10は、ユーザによって入力されたアンケート結果によって、未だ測定システム1において評価が行われていない筋肉の部位に関しての将来起こり得る悩みについても特定することができる。端末装置10は、身体の動きの測定結果に基づき特定される悩み、および、ユーザからのアンケートの回答結果に基づいて、ユーザの身体に将来生じうる悩みに適切に対応できるよう、ユーザに提案するトレーニングメニューを決定する。
【0290】
<変形例におけるデータ構造>
図23は、第4の実施の形態の変形例におけるサーバ20が記憶する各種データのデータ構造を示す図である。
【0291】
サーバ20は、ユーザアンケート情報289において、アンケート結果それぞれについて、項目「回答選択肢」と、項目「現在の悩み」と、項目「起こりうる将来の悩み」と、項目「関連する筋肉の部位」とを保持する。
【0292】
項目「回答選択肢」は、端末装置10のユーザに提示する質問内容(アンケート)に対しユーザが回答するための選択肢の情報を含む。例えば、ユーザが身体の不調を感じる質問内容である場合に、不調になりうる部位の選択肢をユーザに提示する。この場合、各選択肢についてユーザが指定した結果に応じて、身体の部位についてのユーザの悩みを特定することができる。
【0293】
項目「現在の悩み」は、アンケート結果それぞれについて、アンケート回答内容について評価した評価結果によってはユーザが現在抱えているであろう身体の悩みを特定する情報(例えば、「腰の痛み」、「膝の痛み」などのタグ)である。
【0294】
項目「起こりうる将来の悩み」は、アンケート結果それぞれについて、アンケート回答内容について評価した評価結果によっては将来ユーザの身体に起こり得る悩みを特定する情報(例えば、「肩こり」、「首こり」などのタグ)である。
【0295】
項目「関連する筋肉の部位」は、アンケート結果それぞれについて、アンケート回答内容について評価した評価結果によってはトレーニングすることが望ましい身体の部位(筋肉の部位)の情報である。項目「関連する筋肉の部位」において、回答内容の程度に応じて、身体の部位の情報を段階的に保持してもよい。
【0296】
サーバ20は、評価結果データベース288において、項目「現在の悩み」を保持する。項目「現在の悩み」は、評価結果それぞれについて、アンケート回答内容について評価した評価結果によってはユーザが現在抱えているであろう身体の悩みを特定する情報(例えば、「腰の痛み」、「膝の痛み」などのタグ)である。
【0297】
<変形例における動作>
以上のように、サーバ20は、ユーザの身体の動きの評価結果およびユーザアンケート情報289に応じて評価結果データベース288を更新する。例えば、ROMチェックの測定結果に応じて(測定項目情報282)、ユーザの身体において将来起こり得る悩みの情報を特定し得る。例えば、ユーザからの身体に関するアンケート結果に応じて(ユーザアンケート情報289)、ユーザが現在抱えている、または近い将来抱えうる身体の悩みを特定し得る。サーバ20は、評価結果データベース290を参照することにより、ユーザについて、起こり得る将来の悩みの情報を特定し、トレーニング項目情報285を参照することにより、ユーザに提案するトレーニング項目を抽出する。
【0298】
サーバ20は、ユーザに提案するトレーニング項目を複数抽出する場合、ユーザの身体の動きの評価結果が良好でない程度に応じて、所定の規則に基づいて優先度を設定する。例えば、サーバ20は、ユーザの身体の動きの評価結果が良好でない程度に応じて、良好でないものに対応する悩みを解消し得るトレーニング項目を優先することとしてもよい。サーバ20は、アンケート結果に基づいてユーザに提案するトレーニング項目の優先度を修正し設定する。例えば、サーバ20は、アンケート回答の内容に関連する身体の評価結果の方がROMチェックの評価結果よりも良好でない程度に応じて、アンケート結果から特定したユーザの身体の悩みを解消し得るトレーニング項目を優先することとしてもよい。
【0299】
図24は、第4の実施の形態の変形例における動作の流れを示す図である。
【0300】
図24に示すように、端末装置10は、ステップS2202またはステップS2204など、任意のタイミングで、端末装置10のユーザに対し質問(アンケート)を提示する。
【0301】
ステップS2202の処理について説明する。端末装置10は、例えば、ステップS700によりユーザが測定システム1にログインする処理を完了させたことに応答して、質問をディスプレイ132に表示する。端末装置10は、ユーザから、質問に対する回答の入力を受け付ける。端末装置10は、入力を受け付けた回答結果をサーバ20へ送信する。
【0302】
ステップS2252において、サーバ20は、端末装置10から受信した情報に基づいて、ユーザアンケート情報289を更新する。
【0303】
ステップS2253において、サーバ20は、ステップS2203における測定ユニット30等による測定結果と、当該測定結果に基づく評価結果とを端末装置10から受信したことに応答して、測定結果データベース287等の各種データベースを更新する。
【0304】
ステップS2204の処理について説明する。端末装置10は、例えば、ステップS2203においてユーザの身体の動きの測定を完了させたことに応答して、ユーザに対し、質問を提示する(ディスプレイ132に表示する等)。端末装置10は、入力を受け付けた回答結果をサーバ20へ送信する。
【0305】
ステップS2254において、サーバ20は、端末装置10から受信した情報に基づいて、ユーザアンケート情報289を更新する。
【0306】
ステップS2256において、サーバ20は、ユーザアンケート情報289、評価結果データベース288等に基づいて、ユーザの現在の悩み、ユーザに将来起こりうる身体の悩みを特定する。サーバ20は、トレーニング項目情報285に基づいて、複数あるトレーニングメニューのうち、特定した悩みに対応するトレーニングメニューを選択し、選択したトレーニングメニューをユーザの端末装置へ応答する。例えば、ユーザが質問文に対して回答した結果に基づきユーザの悩みを特定し(ユーザアンケート情報289)、特定した悩みに応じて、当該ユーザに提案するトレーニングメニューを特定する(トレーニング項目情報285)。また、サーバ20は、上記のように評価結果データベース288に基づき、ユーザに提案するトレーニングメニューを特定する。サーバ20は、このようにして特定される1または複数のトレーニングメニューについて端末装置10へ応答する。このとき、サーバ20は、特定される複数のトレーニングメニューについて、所定の規則に基づき優先度を設定し、優先度に応じてトレーニングメニューを端末装置10へ応答することとしてもよい。
【0307】
<第4の実施の形態における画面例1>
図25は、端末装置10が、ユーザの身体の動作の測定結果および評価結果に基づいて、ユーザの身体に起こり得る悩みを提示し、当該悩みに対応するエクササイズメニューを提案する局面において、ユーザがアンケートに回答する局面の画面例である。例えば、端末装置10は、サーバ20にアクセスする等により
図21(A)に示す画面(表示部132P71)を表示させる。
【0308】
端末装置10は、当該画面を表示させたタイミング(サーバ20から画面を表示させるための情報を受信してブラウザ等で表示させたタイミング)、または、当該画面を表示させて所定の時間が経過したタイミング、ユーザが当該画面で所定の操作を行ったこと等の所定の条件を満たすことに応答して、
図25(A)に示す表示部132PA2を表示してアンケートへの回答をユーザに促す。
【0309】
図25(A)は、端末装置10が、ユーザの身体の動作の測定結果、評価結果に基づいて、ユーザの身体に起こり得る悩みを特定した結果を表示している画面(
図21(A)で説明した表示部132P71)に、オーバーレイさせるように、ユーザがアンケートに回答するための表示部132PA2を表示している。
【0310】
端末装置10は、表示部132PA2において、ユーザに対する質問文(「身体にどんな悩みがありますか?」)を、表示部132PA3に表示する。
サーバ20は、表示部132PA3において、ユーザに対して提示する質問文の内容を決定する。例えば、サーバ20において、予め複数の質問文を保持しており、各質問文に関連付けて、ユーザの身体の部位についての情報と、質問文に対する回答の候補の情報とを保持している。サーバ20は、測定結果データベース287、評価結果データベース288を参照し、ユーザが実施してきた測定の履歴に基づいて、ユーザに提示する質問文を決定し、決定した質問文を端末装置10に表示させることとしてもよい。例えば、サーバ20は、ユーザが測定システム1により測定をしている履歴(測定をしている時間間隔など)に基づいて、ユーザが前回測定してから一定期間が経っている場合に、身体の各部位に不調があることを自覚しているか否かについての質問文(「身体にどんな悩みがありますか?」等)をユーザに提示することとしてもよい。
【0311】
また、例えば、サーバ20は、ユーザの身体の部位の測定結果に基づいて、ユーザに提示する質問文に含める身体の部位を決定してもよい。例えば、ユーザの身体の部位のうち、測定を少なくとも一定期間にわたって行っていない部位がある場合に(例えば、腰についての測定をした履歴がない、または、測定をしてから一定期間が経過している)、当該身体の部位を質問文に含める(「腰の調子はどうですか?」等)こととしてもよい。
【0312】
図25(A)の例では、端末装置10は、表示部132PA4において、質問文に対する回答の候補を表示して、ユーザから選択を受け付けている。図示する例では、表示部132PA4において、質問文に対する回答の候補として、腰に関する不調を指定するための「腰の悩み」、膝に関する不調を指定するための「膝の悩み」、その他の身体の部位についての回答の候補を表示させるための「***」を表示している。端末装置10は、ユーザから、「腰の悩み」の指定を受け付けており、当該候補を強調表示することにより、ユーザが指定していることをユーザが容易に認識できるようにしている。
【0313】
端末装置10は、表示部132PA5において、悩みの程度(身体の部位の不調の程度)に関する質問文を表示する。
【0314】
端末装置10は、表示部132PA6において、表示部132PA5に表示される質問文に対する回答の候補を表示して、ユーザから選択を受け付けている。図示する例では、端末装置10は、表示部132PA6において、悩みの程度が軽い「軽度」、悩みの程度が中程度である「中程度」、悩みの程度が重い「重い」を選択肢として表示している。端末装置10は、ユーザから、選択肢「中程度」の指定を受け付けて、指定された選択肢を強調表示している。
【0315】
端末装置10は、表示部132PA1において、質問文への回答が完了したことを示す操作をユーザから受け付ける。これにより、端末装置10は、ユーザの回答結果をサーバ20へ送信する。サーバ20は、ユーザの回答結果を受信することにより、ユーザアンケート情報289を更新する。例えば、ユーザが、回答結果として、「腰の悩み」など身体の部位に関する情報を指定した場合に、サーバ20は、ユーザの悩み「腰の悩み」に基づいて、ユーザアンケート情報289を更新する。
【0316】
図25(B)は、質問文に対する回答をユーザから受け付けた結果と、ユーザの身体の各部位の測定結果、評価結果とに基づいて、ユーザに対しトレーニングメニューを提案する局面の画面例である。
【0317】
サーバ20は、質問文に対してユーザから受け付けた回答の結果(ユーザアンケート情報289)に基づき、ユーザの身体の部位の悩みに関する情報(「膝への負担が中程度あるようですね」など、身体の部位と、悩みの程度とを含む情報等)を表示部132P81に表示する。端末装置10は、表示部132P81において、ユーザの身体に関する悩みの原因(「無理な姿勢を長時間続けていませんか」等)を表示する。端末装置10は、表示部132P81において、ユーザの身体の悩みを解消するための指針(「腰回りの筋肉をほぐす」等)と、当該指針に対応するエクササイズを提案することを表示する。
【0318】
<その他の変形例>
(1)ユーザに対し、運動経験の質問を実施
以上の実施形態の説明において、サーバ20が、ユーザに対し質問文を提示して、質問への回答の結果に基づいてトレーニングメニューを提案する例を説明した。サーバ20は、ユーザに対し提示する質問内容として、ユーザの運動の経験について質問することとしてもよい。
【0319】
例えば、サーバ20は、ユーザに対し、過去にスポーツをやっていた経験、運動をする習慣についての質問文を提示することとしてもよい。サーバ20は、ユーザから、当該質問に対する回答(過去にユーザが取り組んでいたスポーツ、運動をしていた習慣の有無など)を受け付ける。サーバ20は、ユーザの回答結果に基づき、ユーザがもともと運動経験が比較的少ない場合(スポーツをしていた期間が一定期間以下である、運動をする習慣が所定頻度以下である等)、ユーザに対し、トレーニング項目情報285に含まれる各トレーニング項目のうち、身体への負荷が比較的小さいもの、または、トレーニングの難易度が比較的低いものを提案することとしてもよい。例えば、トレーニング項目情報285の各トレーニング項目について、予め、難易度(運動に慣れていない人が問題なく実施できるトレーニングほど、難易度が低い等)、身体の負荷(例えば、特定の部位(上腕など)を対象としたトレーニング方法それぞれについて身体への負荷が異なる)の程度の情報を保持する。これにより、ユーザの運動経験に基づき、トレーニングメニューを提示することができる。
【0320】
以上の例によると、運動に慣れていないユーザには、達成することが比較的容易なトレーニングメニューを提案することにより、トレーニングメニューをこなすことによる達成感を感じてもらいやすくなる。これにより、ユーザが継続してトレーニングを続ける動機づけを提供することができる。
【0321】
(2)ユーザの身体の動きの測定結果により、ユーザが運動に慣れているか評価
この他に、サーバ20が、測定ユニット30によるユーザの身体の動きの測定結果に基づいて、ユーザの運動の経験を評価し、評価結果に基づいて、ユーザに提示するトレーニングメニューを決定してもよい。
【0322】
例えば、関節可動域、歩行姿勢、体幹のバランス等のユーザの身体の動きの測定結果と関連付けて、サーバ20が、運動に慣れていない場合の測定結果のパターンと、運動に慣れている場合の測定結果のパターンとを予め保持する。サーバ20は、ユーザの身体の動きの測定結果に基づき、ユーザが運動に慣れている程度を評価する。例えば、サーバ20が、上記のパターンと、ユーザの身体の動きの測定結果とを比較して一致する度合いを評価することにより、ユーザが運動に慣れているか否かの評価値を出力する。例えば、サーバ20は、ユーザに対し、モデルとなる身体の動きを提示しつつ、当該身体の動きと同程度にユーザが身体を動かせていることにより、ユーザが運動に慣れていると評価する。このとき、モデルとなる身体の動きとユーザの身体の動きの測定結果とにずれがある場合、当該ずれを修正するようにユーザに対し音声出力をしてもよい。例えば、手の位置がモデルとなる動きを異なる場合に、当該手の位置をモデルとなる動きに追随させることを促す(「手の位置を所定の方向に移動させる」等)音声出力をしてもよい。また、ユーザの身体の動きと、モデルとなる動きとが整合している場合(つまり、ユーザが、モデルとなる動きと同等の動きができている場合)、ユーザの身体の動きが適切であることを音声等で出力する。
【0323】
例えば、サーバ20は、ユーザの身体の動きを測定する際、ユーザに提示する映像または音声のガイドに沿って身体を動かせているか否かにより、ユーザが運動に慣れているか否かの評価値を出力することとしてもよい。例えば、サーバ20は、音声出力にあわせてユーザが身体を動かせている場合に、運動に慣れている等と評価することとしてもよい。
【0324】
サーバ20は、当該評価値に基づき、ユーザに提案するトレーニングメニューを決定する。
【0325】
以上のように、サーバ20は、測定ユニット30による測定結果の履歴を測定履歴データベース283に保持しており、ユーザに対し、ユーザが運動に慣れているか否かを評価した時期および評価結果と、ユーザに提案したトレーニングメニューとの履歴を表示することとしてもよい。これにより、ユーザは、徐々に運動に慣れつつあること、トレーニングメニューが変化していることを確認することができ、自己効力感を実感しうる。
【0326】
(3)ユーザに対し、トレーニングを継続することについての質問を実施
この他に、サーバ20が、ユーザに対し、トレーニングを継続することに関する質問を提示することとしてもよい。例えば、ユーザの性格として、トレーニングを継続することを過去に達成できたかどうか、トレーニングをやめてしまうまでの期間などについて、質問を提示することとしてもよい。
【0327】
サーバ20は、質問に対する回答の結果に基づいて、ユーザに提示するトレーニングメニューを決定する。例えば、上記の実施の形態4等で説明したように、ユーザの身体に起こりうる課題を特定し、当該課題に関連付けられる身体の部位に関するトレーニングメニューをユーザに提示したとする。当該ユーザが、トレーニングを継続できるかどうかについて否定的な回答をした場合(トレーニングを続けられない傾向にある、等)、サーバ20は、当該課題に応じて、ユーザに提案するトレーニングメニューを変更することとしてもよい。例えば、当該課題に関連付けられる身体の部位に関するトレーニングメニューが複数ある場合に、別のトレーニングメニューをユーザに提案する。これにより、ユーザがトレーニングに飽きずに取り組むことがしやすくなると期待され、トレーニングを継続しうる。
【0328】
サーバ20は、測定履歴データベース283等に基づいて、ユーザがトレーニングを実施したタイミングの間隔を特定する。すなわち、ユーザがトレーニングを行う頻度を特定する。サーバ20は、当該間隔の長さに基づいて、ユーザに対し、トレーニングを継続することに関する質問を提示してもよい。例えば、トレーニングを行う頻度が減りつつある場合に、ユーザに対し、トレーニングを継続することに関する質問を受け付けることで、ユーザが飽きずに取り組めるよう別のトレーニングメニューを提案しうる。また、サーバ20は、当該間隔の長さに基づいて、ユーザに提案するトレーニングメニューを変更することとしてもよい。これにより、ユーザが飽きずにトレーニングを実施しうるようになり、ユーザが継続してトレーニングに取り組みうる。
【0329】
<第5の実施の形態>
<概要>
第5の実施の形態では、ユーザが身体を動かして、理想的な動きができているかどうかをよりいっそう容易に確認できる技術について説明する。
【0330】
(1)ユーザが身体を動かした際の身体の動きの情報量を視覚的に落とすことで、身体の動きを容易に確認できるようにする。
具体的には、ユーザが特定の運動(例えば、側方挙上など体幹筋の動きや関節可動域を評価するための運動、または、筋力トレーニングのための運動など)をする際、ユーザの身体の動きを点群データとしてセンシングし、点群データに基づいて、ユーザに対応するアバターと、ユーザの身体の動きに応じた補助線とを描画してユーザに提示する。これにより、ユーザは、身体の各部位が、意図したとおりに動かせているかをよりいっそう容易に確認することができる。
【0331】
(2)ビデオ会議ツール等を用いて、オンラインでトレーナーがトレーニーを指導することをよりいっそう容易にする。
第5の実施の形態では、上記の技術をもとに、身体の動かし方の指導を受けるトレーニー(第1ユーザ)と、トレーニーの身体の動かし方を指導するトレーナー(第2ユーザ)とが、オンラインで指導をする局面について説明する。
【0332】
具体的には、トレーニーの身体の動きを点群データとして表現したアバターを、トレーナー側の端末でトレーナーが確認できるようにすることで、トレーナー側が、トレーニーの身体を撮影した画像のみならず、当該画像よりも視覚的な情報量を削減したアバターの動きを確認できるようにする。これにより、トレーナーが、トレーニーに、身体の動かし方のアドバイスをオンラインですることをよりいっそう容易にすることができる。
【0333】
つまり、第5の実施の形態では、(1)トレーニー(第1ユーザ)の端末の第1プロセッサが、測定ユニット30等によりトレーニー(第1ユーザ)の身体の動きを点群データとしてセンシングすること、(2)第1プロセッサが、トレーニー(第1ユーザ)の点群データに基づく情報(例えば、点群データに基づきトレーニーのアバターを描画した画像、または、点群データそのもの等)をトレーナー(第2ユーザ)の端末に送信すること、等の種々の処理を実行する際の一連の技術について説明する。
【0334】
ここで、トレーニー(第1ユーザ)の身体の動きを点群データとしてセンシングし、第1プロセッサが、トレーニー(第1ユーザ)の点群データに基づく情報をトレーナー(第2ユーザ)の端末に送信し、種々の処理を実行する装置に関しては、ユーザの所持しているコンピュータ、スマートフォン、タブレット端末などの端末装置が挙げられる。
【0335】
<第5の実施の形態におけるデータ構造>
図26は、第5の実施形態において、サーバ20が記憶する、トレーニー情報データベース2601、トレーナー情報データベース2602、トレーニング履歴データベース2603のデータ構造を示す図である。
図示していないが、サーバ20は、これらの他に、ユーザが行う身体の動きの種類(側方挙上など関節可動域等を評価するための動き、プッシュアップなど筋力トレーニングのための動き、ヨガなど予め定められた身体の動き、その他の動きの種類)の情報と、ユーザの身体の動きを点群データの集合体のアバターとして表示する際の補助線の種類の情報と、当該補助線を描画する位置(アバターにより表現されるユーザの身体の部位と関連付けた位置)の情報とを対応付けたデータベースを管理している。
【0336】
トレーニー情報データベース2601は、トレーニーとなるユーザの情報を管理するためのデータベースである。トレーナー情報データベース2602は、トレーナーとなるユーザの情報を管理するためのデータベースである。トレーニング履歴データベース2603は、トレーナーの指導によりトレーニーのトレーニングを実施した履歴を管理するためのデータベースである。
【0337】
図26に示すように、トレーニー情報データベース2601は、項目「トレーニーID」と、項目「氏名」と、項目「年齢」と、項目「性別」と、項目「体重」と、項目「体脂肪率」と、項目「目的」と、項目「理想の姿」と、項目「画面表示」と、項目「体力レベル」と、項目「備考」等を含む。
【0338】
項目「トレーニーID」は、トレーニングを受けるユーザそれぞれを識別する情報である。
【0339】
項目「氏名」は、トレーニングを受けるユーザそれぞれの氏名を示す情報である。
【0340】
項目「年齢」は、トレーニングを受けるユーザそれぞれの年齢を示す情報である。
【0341】
項目「性別」は、トレーニングを受けるユーザそれぞれの性別を示す情報である。
【0342】
項目「体重」は、トレーニングを受けるユーザそれぞれの体重を示す情報である。
【0343】
項目「体脂肪率」は、トレーニングを受けるユーザそれぞれの体脂肪率を示す情報である。
【0344】
項目「目的」は、トレーニングを受けるユーザそれぞれの目的を示す情報である。具体的には、ユーザID「U001」の氏名「森」で識別されるユーザは、「シェイプアップ」をトレーニングの目的としており、ユーザID「U002」の氏名「佐藤」で識別されるユーザは、「ダイエット」をトレーニングの目的としている。ここで、ある局面においては、トレーニングを受けるユーザ(トレーニー)を指導する立場のユーザ(トレーナー)は、当該目的に応じて、当該ユーザ(トレーニー)に対するトレーニングメニューを提示してもよい。またある局面では、端末装置10またはサーバ20が、後述する学習済みモデル等に基づいて、当該ユーザに提示するトレーニングメニューを特定してもよい。
【0345】
項目「理想の姿」は、トレーニングを受けるユーザそれぞれが理想とする姿を示す情報である。具体的には、ユーザID「U001」の氏名「森」で識別されるユーザは、理想の姿を「指定なし」としており、ユーザID「U002」の氏名「佐藤」で識別されるユーザは、理想の姿として「〇〇」を指定している。ここで、この理想の姿は、実在する芸能人などを指定してもよいし、架空の存在(例えば、漫画のキャラクターのような体形を理想とする場合に、そのキャラクターなど)をユーザが指定できることとしてもよい。また、ある局面においては、サーバ20は、当該「理想の姿」と「目的」の内容とに基づいて、トレーニングメニューの特定、提示を行ってもよい。
【0346】
項目「画面表示」は、ユーザをカメラ等で撮影した際の表示態様を示す情報である。表示態様としては、ユーザをRGBカメラ等で撮影した場合に、当該撮影により生成される撮影画像をそのまま表示すること、また、距離を計測可能なセンサ(深度カメラ、LiDAR(light detection and ranging)等)でユーザの身体の動きを点群データとして測定し、点群データに基づきアバターとして表示すること等がある。具体的には、ユーザID「U001」の氏名「森」で識別されるユーザは、画面表示を「アバター」としており、当該ユーザの姿をカメラなどで撮影した動画像を画面表示する際に、ユーザ自身の姿を撮影した動画像そのままではなく、撮影した動画像に基づいた、何らかのアバター(例えば、キャラクターを用いたアバター)として表示することを示す。
【0347】
これにより、トレーニングを受けるユーザの要望、例えば、初めてのトレーニングなので、顔、身体の様子を他の人に見られたくない、プライバシーを保護したい、などに対応でき、ユーザは安心してトレーニングを受けることができる。
【0348】
項目「体力レベル」は、トレーニングを受けるユーザそれぞれの身体の運動能力を段階的に評価した体力レベルを示す情報である。具体的には、トレーニングを受けるユーザの身体の動きをセンシングするときに、同時に当該ユーザの身体の動きの情報に基づいて、どの程度の運動まではできそうか、などの判断基準となる体力レベルを特定している。ユーザID「U001」の氏名「森」で識別されるユーザは、体力レベルが「5」であり、ユーザID「U002」の氏名「佐藤」で識別されるユーザは、体力レベルが「2」である。このとき、体力レベルの特定方法としては、端末装置10またはサーバ20が、ユーザの身体の動きをセンシングする時に、学習済みモデルなどに基づいて当該ユーザの体力レベルを特定しても良いし、トレーニングを受けるユーザ(トレーニー)を指導する立場のユーザ(トレーナー)がセンシングの結果に基づいてトレーニーの体力レベルを特定してもよい。
【0349】
これにより、ユーザは自身の体力レベルにあったトレーニングメニューを受けることができるため、無理なくトレーニングを継続することができる。また、集団で受けるトレーニングなどの場合には、サーバ20が同じ体力レベルのユーザ同士を特定し、特定したユーザ同士でトレーニングを実施するようユーザ(トレーナー、トレーニー)をマッチングさせることもできる。例えば、体力レベルに差があるユーザ(トレーニー)同士でトレーニングを実施する場合、トレーナーの指導内容、トレーニーのトレーニング内容等に差が出てしまい、モチベーションが下がってしまうことがあり得るが、上記のように体力レベルを防ぐことができる。
【0350】
項目「備考」は、トレーニングを受けるユーザそれぞれに対し、特別に考慮しておくべき事情を示す情報である。特別に考慮しておくべき事情としては、トレーニングをする際の安全性(医学的な観点に基づく安全性、トレーニング内容自体の安全性など)に基づき考慮すべき事項等がある。例えば、ユーザが高血圧のため過度なトレーニングが医師から止められている場合などは、備考に当該事項を記載する。サーバ20は、項目「備考」に記載された内容に基づいて、トレーニングを受けるユーザに最適なトレーニングメニューを特定することとしてもよい。また、トレーナーの端末装置10Bにおいて、当該項目「備考」の情報をサーバ20から取得してトレーニーに提示することにより、トレーナーがトレーニーのトレーニングメニューを決定する際の参考となる情報を提供することとしてもよい。
【0351】
これにより、ユーザが持病などを抱えている場合でも、サーバ20等が当該項目「備考」に基づきユーザに提示するトレーニングメニューを特定したり、トレーナーが当該項目「備考」に基づきトレーニングメニューを選定することにより、ユーザが安心して無理のないトレーニングを続けることができる。
【0352】
トレーナー情報データベース2602は、項目「トレーナーID」と、項目「氏名」と、項目「性別」と、項目「経験年数」と、項目「得意領域」と、項目「推奨体力レベル」と、項目「指導可能タイプ」と、項目「備考」等を含む。
【0353】
項目「トレーナーID」は、トレーニングを受けるユーザを指導する立場のユーザそれぞれを識別する情報である。
【0354】
項目「氏名」は、トレーニングを受けるユーザを指導する立場のユーザそれぞれの氏名を示す情報である。
【0355】
項目「性別」は、トレーニングを受けるユーザを指導する立場のユーザそれぞれの性別を示す情報である。
【0356】
項目「経験年数」は、トレーニングを受けるユーザを指導する立場のユーザそれぞれのトレーニング指導の経験年数を示す情報である。具体的には、トレーナーID「T001」の氏名「田中」で識別されるユーザは、「5年」の経験年数を有していることを示しており、トレーナーID「T003」の氏名「加藤」で識別されるユーザは、「10年」の経験年数を有していることを示す。
【0357】
これにより、例えば、ある局面において、トレーニングを受けるユーザ(トレーニー)が当該指導する立場のユーザ(トレーナー)を指定するときに、当該経験年数を参考に指導する立場のユーザを指定することで、より安心してトレーニングを受けることができる。指導する立場のユーザ(トレーナー)としても、当該情報に基づいて指導する立場のユーザとして指定されることで、自身の知名度などを向上させることができる。
【0358】
項目「得意領域」は、トレーニングを受けるユーザ(トレーニー)を指導する立場のユーザ(トレーナー)それぞれのトレーニング指導における得意領域を示す情報である。具体的には、トレーナーID「T001」の氏名「田中」で識別されるユーザは、「ヨガ」および「エクササイズ」を得意領域としており、トレーナーID「T002」の氏名「斎藤」で識別されるユーザは、「筋トレ」および「エクササイズ」を得意領域としていることを示す。
【0359】
これにより、トレーニングを受けるユーザにおける、上述のトレーニー情報データベース2601の項目「目的」および項目「理想の姿」などの情報に応じて、サーバ20等が、当該ユーザを指導する立場のユーザ(トレーナー)を特定することとしてもよい。これにより、トレーニーがトレーニングを受ける目的等に合致したトレーナーをマッチングさせ得る。例えば、トレーニーがエクササイズを目的としているのに対し、当該目的に合致するトレーニングを得意とするトレーナーを指導者としてサーバ20等が割り当てることができ得る。
【0360】
項目「推奨体力レベル」は、トレーニングを受けるユーザ(トレーニー)を指導する立場のユーザ(トレーナー)それぞれに定義される、当該ユーザ(トレーナー)からトレーニングを受ける際に推奨されるトレーニーの体力レベルを示す。具体的には、トレーナーID「T001」の氏名「田中」で識別されるユーザ(トレーナー)からの指導に対しては、推奨体力レベルが「3以上」とされており、前述のユーザID「U001」の氏名「森」で識別されるユーザ(トレーニー)は体力レベルが「5」であることから、当該ユーザからの指導を受ける体力レベルの水準に達していることがわかり、ユーザID「U002」の氏名「佐藤」で識別されるユーザ(トレーニー)は、体力レベルが「2」であるため、当該ユーザからの指導を受ける体力レベルの水準に達していないことがわかる。
【0361】
これにより、トレーニングを受けるユーザは、自身の体力レベルにあったトレーニングを受けることができる。また、トレーニングを受けるユーザを指導する立場のユーザも、定められた水準以上のユーザに対しトレーニングを指導できるため、ユーザによるトレーニングメニューのばらつき、上達状況のばらつきなどが生じることを抑えることができるため、トレーニングを受けているユーザのモチベーションの維持も期待できる。サーバ20等は、トレーナーの項目「推奨体力レベル」と、トレーニーの項目「体力レベル」とに基づいて、トレーナーとトレーニーをマッチングさせることとしてもよい。
【0362】
項目「指導可能タイプ」は、トレーニングを受けるユーザを指導する立場のユーザ(トレーナー)が指導可能なトレーニングのタイプの種類を示す。具体的には、トレーナーID「T001」の氏名「田中」で識別されるユーザは、指導可能タイプが「個人」および「集団」であり、トレーナーID「T002」の氏名「斎藤」で識別されるユーザは、指導可能タイプが「個人」のみであることを示す。
【0363】
これにより、トレーニングを受けるユーザを指導する立場のユーザ(トレーナー)が個人指導向きなのか、集団指導向きなのかがわかるため、サーバ20等は、当該「指導可能タイプ」に基づいて、トレーナーとトレーニーとのマッチングにおいて、1対1の個人指導でのトレーニングと、1対複数の集団指導でのトレーニングとを振り分けることができる。また、トレーニーの端末装置10において、トレーニーに対してトレーナーの「指導可能タイプ」を提示することとしてもよい。
【0364】
項目「備考」は、トレーニングを受けるユーザを指導する立場のユーザ(トレーナー)それぞれの、その他の特記事項などの情報である。特記事項としては、トレーナーによるトレーニングの実績を客観的に評価した情報が含まれうる。具体的には、トレーナーID「T001」の氏名「田中」で識別されるユーザは、「**グランプリ受賞」であることがわかる。
【0365】
これにより、ある局面において、トレーニングを受けるユーザ(トレーニー)がトレーニングを受けるユーザを指導する立場のユーザ(トレーナー)を指定する際に、トレーニーの端末装置10において当該項目「備考」の情報をトレーニーに提示することにより、トレーニーは、当該情報も考慮した上でトレーナーを指定することができる。トレーニングを受けるユーザを指導する立場のユーザ(トレーナー)も、当該情報を記載しておくことで、自身が指導者として指定される機会が増えることが期待できる。
【0366】
トレーニング履歴データベース2603は、項目「トレーニングID」と、項目「日時」と、項目「ミーティングID」と、項目「トレーニーID」と、項目「トレーナーID」と、項目「センシング結果」と、項目「指導内容」と、項目「トレーナー評価」と、項目「マッチングID」等を含む。
【0367】
項目「トレーニングID」は、トレーナーとトレーニーとによるトレーニングそれぞれを識別する情報である。
【0368】
項目「日時」は、トレーニングが行われた日時を示す。
【0369】
項目「ミーティングID」は、トレーナーの端末装置10Bとトレーニーの端末装置10Aとが通信することにより、オンラインでトレーニング指導を行う場合の通信セッションそれぞれを識別する情報である。例えば、通信セッションを識別する情報として、オンラインミーティング用のURL等の情報を含む。
【0370】
項目「トレーニーID」は、トレーニングを行ったトレーナーを識別する情報である。
【0371】
項目「トレーナーID」は、トレーナーからトレーニングの指導を受けたトレーニーを識別する情報である。
【0372】
項目「センシング結果」は、トレーニングにおいてトレーナーの身体の動きを端末装置10Aが測定ユニット30により測定した結果(点群データ)、または、当該点群データを仮想空間に配置して仮想カメラの設定に基づきレンダリングした映像(当該映像において、トレーニーの身体の動きを点群データの集合として表現したアバターと、トレーニーの身体の動かし方(側方挙上など、ユーザに提示した身体の動かし方の種類)に応じて描画した補助線とを含む)等である。
【0373】
項目「指導内容」は、トレーニーの身体の動かし方に対して、トレーナーがトレーニーに対して指示した指導内容を示す。例えば、トレーナーが音声でトレーニーに対して身体の動かし方を指導した場合(身体の動かし方において、ユーザを所望の姿勢へと導くような助言を含む。例えば、所望の姿勢に対して身体の部位(腕、脚など)が曲がっている場合に、所望の姿勢にするよう促すトレーナーのアドバイス)、当該指導内容を含む音声、または、当該音声の解析結果を項目「指導内容」において保持させる。
【0374】
項目「トレーナー評価」は、トレーナーがトレーニーから受けた評価を示す。例えば、オンラインでトレーニングを実施した後、トレーニーの端末装置10Aにおいて、トレーナーの評価を入力する画面をトレーニーに提示することにより、トレーニーからトレーナーの評価を受け付ける。
【0375】
項目「マッチングID」は、サーバ20がトレーナーとトレーニーとをマッチングさせた場合に、当該マッチングそれぞれを特定する情報である。マッチングが成立することによりトレーナーとトレーニーとのトレーニングが始まる場合もあれば、マッチングが成立したにもかかわらずトレーニングが実施されないこともあり得る。
【0376】
<第5の実施の形態における動作例>
以下、第5の実施の形態において、システム1における、第1ユーザ(トレーニー)の端末の第1プロセッサが、第1ユーザの身体の動きを点群データとしてセンシングし、第1プロセッサが、第1ユーザの点群データに基づく情報を第2ユーザ(トレーナー)の端末に送信し、種々の処理を実行する際の一連の処理について説明する。
【0377】
(第1ユーザの動きをセンシングし、第2ユーザの端末に送信)
図27は、第1ユーザの身体の動きを点群データとしてセンシングし、センシングで得られた、第1ユーザの点群データに基づく情報を第2ユーザの端末に送信する一連の処理を示すフローチャートである。
【0378】
以降の説明において、
図1で示した端末装置10について、第1ユーザの端末装置10を「端末装置10A」と記載し、端末装置10Aの構成を「プロセッサ19A」等と記載する。同様に第2ユーザの端末装置10を「端末装置10B」と記載し、端末装置10Bの構成を「プロセッサ19B」等と記載する。
【0379】
また、
図27の例では、第1ユーザの端末装置10Aと、第2ユーザの端末装置10Bとが通信を確立することにより、各端末のカメラ160で撮影した映像と、マイク141で収音した音声とを互いに送受信することとする。
【0380】
例えば、端末装置10Aと、端末装置10Bとが、オンラインでビデオミーティングを行うためのアプリケーションを実行しており、ミーティングに参加するための識別情報(例えば、アプリケーションで発行されるミーティング用のID、URL等)に基づき通信を確立する。
【0381】
端末装置10Aは、測定ユニット30等により第1ユーザの身体の動きを点群データとして取得する。端末装置10Aは、当該点群データを仮想空間に配置し、仮想空間における仮想カメラを、第1ユーザの身体の正面(
図11の説明における前後軸)の位置と、第1ユーザの身体の側面(
図11の説明における左右軸)の位置とにそれぞれ配置してレンダリングを行い、レンダリング結果を表示する。当該レンダリング結果には、第1ユーザを正面から見た点群データの集合としてのアバターと、第1ユーザを側面から見た点群データの集合としてのアバターとが含まれる。端末装置10Aは、上記のレンダリング結果(正面から見たアバター、側面から見たアバター)を表示する領域と関連付けて、ユーザの身体の動かし方に対応した補助線を描画する。
【0382】
端末装置10Aは、画面上に上記のアバターおよび補助線を描画した画像を表示しつつ、オンラインでビデオミーティングを行うアプリケーションにより、当該画像を端末装置10Bと画面共有する。これにより、第1ユーザをカメラ160Aで撮影した映像と、マイク141で収音した音声と、アバターおよび補助線を描画した画像とを、端末装置10Aから端末装置10Bへと送信する。端末装置10Bの第2ユーザは、当該カメラ160Aで撮影した映像と、画面共有される当該画像(アバターおよび補助線を描画した画像)とを視認することにより、第1ユーザの身体の動きを確認し、第1ユーザへのアドバイスを音声等で第1ユーザへ通知する。
【0383】
ステップS2701において、第1ユーザの端末装置10Aのプロセッサ19Aは測定ユニット30などにより、第1ユーザの身体の動きを点群データとしてセンシングする。
【0384】
具体的には、プロセッサ19Aは、第1ユーザに対し、第1ユーザが行う身体の動きのメニューを表示して、第1ユーザが、身体の動きのセンシングのための特定の動き(例えば、側方挙上などの動き、トレーニングの項目(スクワット等)となる動き等)をするよう促す。第1ユーザの端末装置10Aのプロセッサ19Aは、測定ユニット30などにより、当該特定の動きを撮影することで、第1ユーザの身体の動きを点群データとしてセンシングする。
【0385】
ステップS2703において、プロセッサ19Aは、測定ユニット30等によるセンシングで得られた、第1ユーザの点群データに基づく情報として、第1ユーザ(トレーニー)を表すアバターと、第1ユーザが行う身体の動きの種類(第1ユーザに提示する運動メニューの種類)に対応する補助線とを含む映像を生成する。
【0386】
ステップS2705において、プロセッサ19Aは、ステップS2703で生成した映像を端末装置10Aのディスプレイ132Aで表示する。プロセッサ19Aは、表示した映像(アバターと補助線を含む映像)と、別途、第1ユーザを撮影するカメラ160Aにより生成される撮影画像(点群データの集合体ではなく、RGBカメラで撮影された撮影画像)とを、第2ユーザの端末装置10Bへ送信する。
【0387】
ステップS2751において、第2ユーザの端末装置10Bのプロセッサ19Bは、第1ユーザの端末装置10Aから、第1ユーザの点群データに基づく情報として、端末装置10Aで生成された映像(アバターと補助線を含む)を受信する。プロセッサ19Bは、ステップS2705で生成される、第1ユーザの撮影画像(点群データの集合体ではない撮影画像)を受信する。
【0388】
ステップS2753において、プロセッサ19Bは、ステップS2751で受信した映像(アバターと補助線を含む)と、撮影画像とに基づいて、点群データの集合として第1ユーザの身体の動きに対応する第1アバターを含む映像を、ディスプレイ132B等に表示する。プロセッサ19Bは、第1ユーザの撮影画像(点群データの集合ではない)をディスプレイ132B等に表示する。これにより、第2ユーザに対し、第1ユーザの身体の動きの情報として、第1アバターと、第1ユーザの撮影画像とを提示する。
【0389】
ここで、ステップS2703において、プロセッサ19Aは、第1ユーザの運動に対する各種情報(身体のどの部分が動かしやすい、動かしにくい、など)、体力レベルなどを、サーバ20のトレーニー情報データベース2601等に基づき特定することとしてもよい。このとき、プロセッサ19Aは、特定した情報を、第1ユーザの端末装置10Aの記憶部180に記憶させてもよいし、当該情報をサーバ20に送信し、サーバ20の記憶部202のトレーニー情報データベース2601に記憶させてもよい。
【0390】
また、プロセッサ19Aは、測定ユニット30等により第1ユーザの身体の動きをセンシングした結果に基づいて、トレーナー情報データベース2602を参照し、当該情報を送信する対象とする第2ユーザ(トレーナー)を特定してもよい。
【0391】
これにより、トレーニーであるユーザは、トレーニング開始時の身体の動きの情報に基づいて、最適な指導者によるトレーニングを受けることができる。
【0392】
ここで、ステップS2751において、第1ユーザの端末装置10Aから、測定ユニット30等によりセンシングされたデータを受信し、受信した情報に基づいて、端末装置10Bにおいて、点群データに基づきレンダリングを行うこととしてもよい。すなわち、端末装置10Aではなく端末装置10Bにおいて、端末装置10Aで測定された点群データに基づき第1ユーザの身体の動きを表す第1アバターをレンダリングすることとしてもよい。端末装置10Bは、第1アバターを含む映像を生成し、生成した映像をディスプレイ132B等に表示する。このとき、第1ユーザの身体の動きを複数の視点から描画して、各視点について描画した第1アバターを並べた映像を第2ユーザに提示してもよい。
【0393】
ある局面においては、端末装置10Bは、第1ユーザが行う身体の動きが理想的か否かを評価する身体の部位に基づく位置に補助線を描画し、補助線が描画された映像を第2ユーザに提示してもよい。例えば、ユーザが行うべき運動において、背筋が伸びているか、膝が地面に対して所定の角度となっているかに基づいて、ユーザの身体の動きが理想的か否かをトレーナーが評価する場合に、端末装置10Bは、当該背筋を伸ばした時の形状に対応する補助線をアバターの背筋の部位の近傍に表示する。端末装置10Bは、膝が地面に対して所定の角度となっているかを評価する場合に、アバターの膝の部位の近傍に(または膝の部位を表示する領域に)、当該所定の角度となっている補助線を、アバターの膝の部位の近傍に表示する。
【0394】
また、第1ユーザが行う身体の動きが理想的か否かを評価する身体の部位に基づいて、関節位置ではない身体の表面位置の表示態様を変更し、身体表面の表示態様が変更された映像を、第2ユーザに提示してもよい。
【0395】
関節位置ではない身体の表面とは、例えば、身体の外観として認識できる面であり、腹部の表面などをいう。例えば、端末装置10Bにおいて、第1ユーザの身体の動きが、理想的な動きよりも大きすぎる場合と、小さすぎる場合とで、表示する色彩を変更する等してもよい。例えば、理想とする動きよりも腹部が前方に出過ぎている場合には、当該腹部を暖色で表示し、理想とする動きよりも腹部の動きが小さい場合には、当該腹部を寒色で表示するなど、表示する色を変更する。これにより、第1ユーザまたは第2ユーザは、ユーザの身体を理想的な動きとするためにどのような動かし方をすればよいかを容易に確認することができる。また、これにより、ユーザは自分の身体の動きが理想の動きと比較してどの程度乖離しているかを把握しながらトレーニングができる。また、身体表面の表示態様を変更させることで、関節ではない、身体表面の筋肉の動きなども把握することができる。
【0396】
ここで、上記の例では、ディスプレイ132B等に表示する第1ユーザの第1アバターを含む映像に関しては、当該第1アバターを生成する際に撮影した第1ユーザの撮影画像と、第1アバターの映像との両方を第2ユーザに提示するものとして説明した。この他に、トレーナー側の端末装置10Bにおいて、トレーニー情報データベース2601を参照し、項目「画面表示」の指定に沿った画面をディスプレイ132等に表示していてもよい。
【0397】
例えば、端末装置10Bにおいて、第1ユーザの身体の動きを、第1アバター(すなわち点群データの集合体)として表示しつつ、第1ユーザの撮影画像(点群データの集合体ではない)については非表示としてもよい。また、トレーナーに対して複数のトレーニーがトレーニングを受ける場合に、トレーニーの撮影画像(点群データの集合体ではないもの)は、トレーナーの端末装置10では表示可能とする一方、トレーナーに対して同時にトレーニングを受講している他のトレーニーの端末装置10では非表示とすることとしてもよい。これにより、トレーニーのセンシング結果は、点群データと撮影画像との両方をトレーナーに開示しつつ、トレーニー間ではアバター(点群データの集合体)を共有するが撮影画像は共有しない等とすることもできる。
【0398】
これにより、ユーザはプライバシーを保護しながらトレーニングを行うことができる。
【0399】
また、ある局面においては、プロセッサ19A、プロセッサ19B、またはサーバ20のプロセッサ29の少なくともいずれかが、仮想空間を定義して、仮想空間において、第1ユーザに関連付けられる第1アバターを含む映像を表示するための第1オブジェクトと、第1ユーザと共にトレーニングを行う第3ユーザに関連付けられる第2アバターを含む映像を表示するための第2オブジェクトとを配置し、プロセッサ19Aまたはプロセッサ19Bが、仮想空間の第1オブジェクトおよび第2オブジェクトを含む映像をディスプレイ132Aまたはディスプレイ132B等に表示させてもよい。
【0400】
これにより、ユーザは、複数人で行うトレーニングなどにおいて、同じ仮想空間内でのトレーニングを体験することができ、トレーニングの一体感、達成感などを得られため、モチベーションの維持、向上が期待できる。
【0401】
次に、
図28を参照して、トレーナーがトレーニーに対してオンラインで指導をする際の処理の流れを説明する。
【0402】
以下の説明では、トレーナーが音声でトレーニーに対して指導をしつつ、トレーニーの端末装置10で動作するアプリケーションを、トレーナーの音声で制御することにより、トレーナーにとって指導に適した情報を容易に得られるようにする例を説明する。具体的には、トレーニーの端末で、点群データに基づきアバターを描画すること、補助線を描画すること、トレーニーに課す身体の動きの種類を決定すること等を、トレーナーが音声入力で制御できるようにする。
【0403】
図28は、トレーナーの端末から、トレーナーの音声の入力を受け付けて、トレーニーの端末へ送信する処理の流れを示すフローチャートである。
【0404】
ステップS2851において、第2ユーザの端末装置10Bのプロセッサ19Bは、マイク141Bなどにより、第2ユーザによる音声の入力を受け付けて、第2ユーザの音声を第2ユーザの端末装置10Bから第1ユーザの端末装置10Aへ送信する。
【0405】
ステップS2801において、第1ユーザの端末装置10Aのプロセッサ19Aは、端末装置10Bから受信する第2ユーザの音声を、スピーカ142A等により、第1ユーザに対し出力する。
【0406】
ステップS2803において、プロセッサ19Aは、端末装置10Bから受信した第2ユーザの音声を、音声認識により解析する。プロセッサ19Aは、音声認識の解析の結果に基づき、第2ユーザの音声の内容を特定する。プロセッサ19Aは、特定した第2ユーザの音声の内容に基づき、第1ユーザの点群データに基づきアバターを描画するアプリケーションへの指示内容を特定する。プロセッサ19Aは、特定した当該アプリケーションへの指示内容に基づき、当該アプリケーションを制御する。
【0407】
具体的には、当該プロセッサ19Aが特定する第2ユーザの音声の内容としては、
(i)第1ユーザの身体の動かし方を理想的なものとするための内容がある。プロセッサ19Aは、例えば、音声認識により、第2ユーザの音声のうち、ユーザの身体の部位(膝、肘、腕、肩など)に関する語を認識する。また、プロセッサ19Aは、第2ユーザの音声のうち、第1ユーザの身体の部位を、理想的な動きとするための動かし方を示す語(例えば、「膝を体に寄せる」、「脚部を水平にする」、「背筋を伸ばす」等)を認識する。
【0408】
(ii)プロセッサ19Aが特定する音声の内容としては、第1ユーザのトレーニングのため、第1ユーザに取り組んでもらう運動の種類(トレーニングメニューなど)を示す内容がある。
【0409】
プロセッサ19Aは、第2ユーザの音声の内容に、運動の種類が含まれる場合に、第1ユーザに課す運動の種類として、当該第2ユーザが音声で指定した運動にするとともに、第1ユーザに対応するアバターに関連付けて描画する補助線を、当該指定された運動の種類に対応付けられたものにする。これにより、第2ユーザによる第1ユーザの身体の動きの評価がよりいっそう容易になる。
【0410】
(iii)プロセッサ19Aが特定する音声の内容としては、端末装置10Aにおいて動作する、第1ユーザのアバターと補助線を描画するアプリケーションへ特定の処理を行わせる内容がある。例えば、当該アプリケーションにおいて、第2ユーザの音声により示されるコマンドとしては、以下を含む。
・ アバターの描画態様(第1ユーザの身体の動きを表す点群データに対し、仮想カメラを配置する位置を含む。すなわち、第1ユーザに対応するアバターを正面から描画するか、側面から描画するか、その他の方向から描画するか等を含む)
・ 補助線の描画方法(補助線として、ユーザが身体を動かす動作に並行するよう補助線を描くこと、ユーザの身体の形状に沿って補助線を描画すること、補助線を描画するか否か等を含む)
・ 理想的な動きと比較して差分がある場合のアバターの描画方法(身体の特定の部位の動きが理想的な身体の動きよりも大きすぎる場合または小さすぎる場合に、それぞれ異なる色で当該特定の部位を描画することを含む)
・ アプリケーションを一時中止させる指示、その他の内容
【0411】
プロセッサ19Aは、音声認識により、発話者がトレーナーであると(例えば、トレーナー情報データベース2602に登録されるトレーナーである場合)話者認識をした場合に、当該発話者の音声に基づき、第1ユーザのアバターを描画するアプリケーションを制御することとしてもよい。これにより、トレーナー以外のユーザにより、意図せずアプリケーションが制御されることを抑止することができる。また、プロセッサ19Aは、端末装置10B等の他の端末装置10と、ウェブ会議ツール等により通信をする場合に、当該ウェブ会議ツール等で特定される話者の情報に基づいて、第1ユーザのアバターを描画するアプリケーションを制御することとしてもよい。例えば、ウェブ会議ツール等において、ミーティングに参加している各ユーザを識別する情報(アイコンなど)が表示されており、発声しているユーザについて当該各ユーザを識別する情報が区別して表示されることがある。プロセッサ19Aは、ウェブ会議ツール等において、トレーナーに対応するアイコン等が他のユーザのアイコン等と区別して表示されている場合に、発話者がトレーナーであるとみなして上記の処理を行うこととしてもよい。
【0412】
例えば、複数のトレーニーがトレーナーから指導を受ける場合に、トレーニーの音声によっては、当該アプリケーションにトレーニングに関する処理(トレーニーに行わせる運動の種類を変更する処理、当該変更に伴いアバターとともに描画する補助線を変更する処理等)を行わせず、トレーナーに当該処理を行わせるようにすることができる。これにより、トレーニング中に各ユーザが音声で発話するとしても、トレーナーが意図したようにトレーニングを行うことができる。
【0413】
以上のように、第2ユーザが第1ユーザに対し音声による指導を行った結果、第1アバターを含む映像の表示態様を変更し、当該変更したアバターを含む映像に基づいて第2ユーザが第1ユーザへの指導を進めることができる。
【0414】
(第1ユーザの動きをセンシングし、学習済みモデルに基づいて指導内容を特定)
図29は、第1ユーザの身体の動きを点群データとしてセンシングし、センシングで得られた、第1ユーザの点群データに基づく情報と、学習済みモデルとに基づいて、第1ユーザへの指導内容を特定する一連の処理を示すフローチャートである。これにより、トレーナーがいなくとも、トレーニーがトレーニー自身の身体の動かし方を当該学習済みモデルにより確認することができる。
【0415】
ステップS2901において、第1ユーザの端末装置10Aのプロセッサ19Aは、測定ユニット30等により、第1ユーザの身体の動きを点群データとしてセンシングする。
【0416】
ステップS2902において、プロセッサ19Aは、センシングで得られた、第1ユーザの点群データに基づく情報と、学習済みモデルとに基づいて、第1ユーザへの指導内容を特定する。
【0417】
ここで、学習済みモデルの作成方法について例示する。
(i)例えば、1または複数のユーザの点群データに関する情報を取得したのち、各種情報(例えば、年齢、体重、目的など)と、トレーニングを受けるユーザを指導する立場のユーザ(トレーナー)の情報と、実際にトレーニーが受けたトレーニングの内容と、各種トレーニーの情報がトレーニングにより変化した履歴などの情報と、に基づいて、1または複数のユーザの点群データの情報とトレーニング内容とを関連付けて学習済みモデルを作成する。
【0418】
つまり、当該学習済みモデルは、トレーニーの情報と、トレーナーによる指導内容とを時系列のデータとして学習することにより、トレーニーにトレーニングをすることでトレーニーがどれだけ変化するかを出力するものといえる。
【0419】
また、当該学習済みモデルは、学習済みモデルの学習用データである点群データに基づく情報を取得したユーザの情報(つまり、トレーニーの情報)、または、トレーニーに指導を行ったトレーナーの情報に関連付けられていてもよい。これにより、トレーニーまたはトレーナーが、トレーニーが使用する学習済みモデルを指定する際に、当該学習済みモデルに関連付けられるトレーニーの情報またはトレーナーの情報を参考にすることができる。または、プロセッサ19A等が、学習済みモデルに関連付けられるユーザの情報に基づいて、トレーニーであるユーザに提案する学習済みモデルを特定することとしてもよい。
【0420】
(ii)または、当該学習済みモデルは、トレーニーの身体の動かし方を測定した結果(点群データ、トレーニーを撮影した撮影画像)の時系列データに対し、トレーナーがタグをつける(身体の部位を理想的な動かし方にするためのコメント、呼吸をすべきであること、心拍数が上昇しすぎており休憩をすべきであること等)ことにより、当該時系列データを学習用データとして生成することとしてもよい。
【0421】
例えば、ある局面において、トレーニーの身体の動きの測定結果と、学習済みモデルとに基づいて、トレーニーであるユーザの体質に沿ったトレーニングメニューの提示、トレーニング中に呼吸をすべきタイミング、心拍数の上がるタイミング、水分を取るべきタイミング、休憩の必要なタイミングなどを特定し、ユーザに提示することができる。
【0422】
例えば、ある局面において、トレーニーがウェアラブルデバイス(腕時計型、眼鏡型、指輪型など)を装着し、トレーニーであるユーザの心拍数、呼吸のタイミング等を測定しつつ、上記の学習済みモデルを用いることにより、トレーニーに指導すべき内容を学習済みモデルが出力することとしてもよい。
【0423】
また、他の局面においては、ユーザから取得した点群データに関する情報から、カロリー消費量を含むユーザの運動強度(運動の激しさ)を特定し、ユーザに休憩、水分補給などのアドバイスを提示することができる。
(iii)学習済みモデルを生成する方法として、第1の実施の形態で説明したようにROMチェックの結果として蓄積される測定データ(測定履歴データベース283)を教師データとして学習済みモデルを生成することとしてもよい。例えば、当該測定データと、ユーザが行ったトレーニングメニューと、ユーザが入力したアンケート等の回答結果とに基づいて学習済みモデルを生成することとしてもよい。
これにより、ユーザに提案する運動の種類、ユーザへのアドバイスの内容等を、ROMチェックの測定データに基づき生成された学習済みモデルに出力させることとしてもよい。
【0424】
また、学習済みモデルを生成する方法として、第2の実施の形態で説明したように、ユーザの歩行姿勢を評価した結果として蓄積される測定データ(測定結果データベース287)を教師データとして学習済みモデルを生成することとしてもよい。例えば、当該測定データと、ユーザが行ったトレーニングメニューと、ユーザが入力したアンケート等の回答結果とに基づいて学習済みモデルを生成することとしてもよい。
これにより、ユーザに提案する運動の種類、ユーザへのアドバイスの内容等を、歩行姿勢評価のための測定データに基づき生成された学習済みモデルにより出力させることとしてもよい。
【0425】
例えば、学習済みモデルを生成する方法として、ユーザの姿勢(関節位置など)を推定した結果として蓄積される測定データに基づいて学習済みモデルを生成することとしてもよい。具体的には、サーバ20等において学習済みモデルを生成する方法として、ユーザの関節位置を推定した結果と、ユーザが行ったトレーニングメニューと、トレーナーからのアドバイスの内容とに基づいて学習済みモデルを生成し、生成した学習済みモデルを記憶することとしてもよい。
【0426】
以上により、サーバ20は、ユーザの姿勢の推定結果に基づく情報と、学習済みモデルとに基づいて、ユーザへの指導内容を特定し、特定した指導内容をユーザに提示することとしてもよい。
【0427】
また、サーバ20等は、学習済みモデルを、当該学習済みモデルの学習用データ(ユーザの姿勢を推定した結果)を取得した当該ユーザの情報と関連付けて記憶することとしてもよい。
【0428】
また、サーバ20等は、ユーザの姿勢の推定結果に基づく情報と、学習済みモデルとに基づいて、上記と同様にユーザの運動強度を特定することとしてもよい。サーバ20は、ユーザの運動強度を特定した結果に基づいて、ユーザへの指導内容を特定し、特定した指導内容をユーザに提示することとしてもよい。
【0429】
ステップS2903において、プロセッサ19Aは、学習済みモデルにより特定した前記指導内容を、ディスプレイ132A等に表示するなどして、第1ユーザに提示する。
【0430】
<第5の実施の形態における画面例>
図30~
図32は、端末装置10に表示される画面例を示す図である。
【0431】
図30は、第1ユーザの端末装置10Aにおいて、第1ユーザの身体の動きを点群データとしてセンシングし、センシングで得られた、第1ユーザの点群データに基づく情報を第2ユーザの端末に送信する際の画面例である。
【0432】
図30において、測定ユニット30のカメラ2901は、第1ユーザの身体の動きをセンシングするための装置を示す。
【0433】
具体的には、カメラ2901は、カメラ2901に備え付けられた撮影部を通じて、第1ユーザの画像を撮影する。このとき、カメラ2901は、距離と方向を測定可能に構成されており、例えばRGB-Dカメラ、LIDAR(Laser Imaging Detection and Ranging)技術により構成されている。
【0434】
前回画面2902は、第1ユーザがトレーニングを行うときに、以前に同種のトレーニングを行ったときの第1ユーザのアバター(すなわち、点群データに基づき描画した画像)を含む画像を表示する画面である。端末装置10Aは、例えば、サーバ20のトレーニング履歴データベース2603を参照することにより、第1ユーザが過去にトレーニングを受けた際の第1ユーザの身体の動きを示す点群データを取得する。
【0435】
図示する例では、前回画面2902において、第1ユーザのアバターを、円形等の図形の集合体として示しているが、測定ユニット30により測定される点群データの集合体として表示することとしてもよい。
【0436】
第1ユーザの過去のトレーニング時の点群データに基づくアバターを表示することで、第1ユーザの身体の動きがトレーニングによりどの程度変化したかを第1ユーザ、第2ユーザが容易に確認することができる。例えば、第1ユーザが膝を抱えて身体を丸める動きを行うときに、端末装置10Aにおいて、以前のトレーニング画面である前回画面2902を表示する。第1ユーザまたは第2ユーザは、前回画面2902と、後述する今回画面2903の表示内容とを比較することができる。これにより、第1ユーザは、自身の身体の動きの差を確認することができる。
【0437】
また、端末装置10Aは、当該前回画面2902を、常に表示されていることとしてもよいし、第1ユーザまたは第2ユーザの指示により表示したり表示をオフにしたりしてもよい。このとき、端末装置10Aは、第1ユーザを表すアバターとして、正面、側面、上面など、複数の視点から第1ユーザを描画した画像を表示してもよい。また、第1ユーザが行う身体の動きが理想的か否かを評価する身体の部位に基づく位置に補助線を描画していてもよい。図示する例では、過去画面2902において、第1ユーザのアバターを表示する領域と関連付けて補助線を描画している。
【0438】
今回画面2903は、第1ユーザがトレーニングを行っているときの、測定ユニット30のセンシング結果に基づく第1ユーザのアバターの画像を表示する画面である。
【0439】
図示する例では、第1ユーザ2094を示しており、第1ユーザがマットなどの上で、実際にトレーニングを行っている状態を示している。端末装置10Aは、当該第1ユーザの動きを、カメラ2901により撮影し、第1ユーザの点群データの情報を取得する。
【0440】
第1ユーザ画像2905は、第1ユーザをカメラ160等で撮影した撮影画像を示す。第1ユーザ画像2905において、第1ユーザを点群データの集合体として描画するのではなく、2Dカメラ等で撮影した撮影画像を表示している。すなわち、第1ユーザ画像2905において、人間が肉眼で視認できるものと同等の撮影画像を表示する。
【0441】
これにより、端末装置10Aは、第1ユーザに対し、実際の第1ユーザ自身の画像と、点群データの情報に基づいた画像とを見比べることができるようにしている。また、端末装置10は、第1ユーザの指定に応じて、第1ユーザ画像2905において第1ユーザ自身の撮影画像を表示しないこととしつつ、第1ユーザであることを第2ユーザ等が識別可能なアイコン、文字列等を表示してもよい。
【0442】
第2ユーザ画像2906は、トレーニングを受けるユーザを指導する立場である第2ユーザの画像を示す。端末装置10Aは、第2ユーザの端末装置10Bから、第2ユーザの撮影画像を受信することにより、第2ユーザ画像2906において第2ユーザの撮影画像を表示する。これにより、第1ユーザと第2ユーザとは、ネットワーク80等を通じた端末間のビデオ通話等により、お互いの画像を見てコミュニケーションをとりながらトレーニングを行うことができる。
【0443】
図31は、第1ユーザの身体の動きを点群データとしてセンシングし、センシングで得られた、第1ユーザの点群データに基づく情報を第2ユーザの端末に送信する際の、全体構成を含む第1ユーザおよび第2ユーザの画面例である。
【0444】
図31において、カメラ3001は、
図30におけるカメラ2901と同様に、第1ユーザの身体の動きを点群データとしてセンシングするための装置を示す。
【0445】
今回画像3002、3006は、
図30における今回画面2903と同様に、第1ユーザがトレーニングを行っているときの、第1ユーザの画像を点群データの集合体として表示する画面である。このとき、今回画像3002は、第1ユーザの端末装置10Aのディスプレイ132A等に表示されており、今回画像3006は、第2ユーザの端末装置10Bのディスプレイ132B等に表示されている。
【0446】
第1ユーザ3003は、
図30における第1ユーザ2904と同様に、第1ユーザがマットなどの上で、実際にトレーニングを行っている状態を示した図である。
【0447】
第1ユーザ画像3004、3007は、
図30における第1ユーザ画像2905と同様に、第1ユーザをカメラ2901により撮影した際の、アバターを含む映像ではない、実際の撮影画像を示す。このとき、第1ユーザ画像3004は、第1ユーザの端末装置10Aのディスプレイ132A等に表示されており、第1ユーザ画像3007は、第2ユーザの端末装置10Bのディスプレイ132B等に表示されている。
【0448】
第2ユーザ画像3005、3008は、
図30における第2ユーザ画像2906と同様に、トレーニングを受けるユーザを指導する立場である第2ユーザの画像を示す。このとき、第2ユーザ画像3005は、第1ユーザの端末装置10Aのディスプレイ132A等に表示されており、第2ユーザ画像3008は、第2ユーザの端末装置10Bのディスプレイ132B等に表示されている。また、ある局面において、当該画面例のように、第2ユーザからの音声による入力操作により、端末装置10Aのスピーカ142A等を通じて第2ユーザの音声(「もっと腰を落としましょう!」などの音声)を出力してもよい。
【0449】
第2ユーザ3009は、端末装置10Bがディスプレイ132B等に表示する画面を視認して、第1ユーザの画像に基づいて指導を行っている。このとき、第2ユーザは、音声により第1ユーザに指導を行うことができる。第2ユーザは、第1ユーザを撮影した画像として、点群データに基づく画像と、肉眼で視認する際と同等の画像の両方またはいずれかを確認しつつ、第1ユーザの身体の動きに対してアドバイスをすることができる。点群データの集合体として、実際の撮影画像により示される第1ユーザの画像よりも第2ユーザにとって情報量を落とすことにより、第2ユーザが、よりいっそう第1ユーザの身体の動きを見極めやすくなり、評価およびアドバイスをしやすくすることができる。
【0450】
図32は、複数のユーザの身体の動きを点群データとしてセンシングし、センシングで得られた、各ユーザの点群データに基づく情報を、定義された仮想空間に送信する際の画面例である。
【0451】
図32において、仮想空間3101は、1または複数のトレーニングを受けるユーザが、自身に関連付けられるアバターを含む映像を表示するためのオブジェクトを配置するための空間を示す。
【0452】
トレーナー画像3102は、トレーニングを受けるユーザを指導する立場である第2ユーザの画像を示す。第2ユーザの端末装置10Bが、第2ユーザを撮影し、当該撮影された画像を、随時、仮想空間を管理するコンピュータに送信する。
【0453】
ユーザ画像3103は、1または複数のユーザがトレーニングを行っているときの、それぞれのユーザの画像を表示する画面である。このとき、表示される画像として、自身に関連付けられる点群データの集合体としてのアバターを含む映像のみでもよいし、アバターを含む映像ではない、実際の各ユーザの撮影画像を合わせて表示してもよい。
【0454】
これにより、各ユーザは自身の身体の動きに対応するアバターを含む映像を当該仮想空間に配置することができ、仮想空間に配置された各ユーザのアバターの画像を各ユーザが視認できるようにすることで、あたかも複数のユーザが同じ場所でトレーニングを行っている感覚を得ることができる。これにより、トレーニングにおける一体感、達成感などを得ることができ、トレーニングを継続する動機づけを各ユーザに提供することができる。サーバ20は、トレーナーからトレーニングを受ける各トレーニーをマッチングさせることに応答して、各トレーニーの端末とトレーナーの端末とを通信可能とし、サーバ20または各ユーザの端末のいずれか等において仮想空間を構築することとしてもよい。すなわち、各ユーザが通信をする際のホストとなるコンピュータをサーバ20が指定することとしてもよい。
【0455】
<6 変形例>
本実施形態の変形例について説明する。すなわち、以下のような態様を採用してもよい。
【0456】
(1)上記の
図31~
図32の例では、ユーザが過去にトレーニングを受けた際の当該ユーザのセンシング結果に基づくアバターと、トレーナーからトレーニングを受けている現在のセンシング結果に基づくアバターとを並べて表示する例を説明した。
【0457】
この他に、トレーナーとのトレーニングにおいて時系列に沿ってセンシングされたトレーニーの点群データの時系列データに基づき、トレーニーに対応するアバターを並べて表示することとしてもよい。
【0458】
すなわち、トレーニングを開始するタイミングまたは開始して一定時間内にセンシングされた点群データに基づくアバターと、トレーナーの指導に基づきリアルタイムにセンシングしている結果またはトレーナーの指導が始まってから一定時間が経過したタイミングでのセンシング結果に基づくアバターとを並べて端末装置10Aで表示することとしてもよい。
【0459】
また、1回のトレーニングの過程で、トレーニーの体の動かし方のうち、特に理想的な身体の動かし方へと近づいた部位を、その他の部位と比較して強調してアバターに反映させて表示することとしてもよい。例えば、アバターと共に描画される上記の補助線に対して、トレーニーの身体の動かし方がどの程度近づいているのかをプロセッサ19Aが評価して、評価結果に応じて画面を描画することとしてもよい。例えば、膝を特定の方向に伸ばすことが理想的な動きとなる場合に、当該特定の方向に沿って補助線をプロセッサ19Aが描画する。プロセッサ19Aは、トレーニーの身体の動かし方において、膝の動きが補助線に沿った方向に近づくにつれて、アバターの膝の部位、または、膝の部位に関連付けられる補助線の描画態様を変更することとしてもよい。
【0460】
これにより、1回のトレーニングの前後、またはトレーニングの過程で、トレーニーがどれだけ変化したかをトレーニーが容易に確認できるため、トレーニー自身がどれだけ変化したか(目標に近づいているか等)を確認しやすくなる。これにより、トレーニーがトレーニングを続ける動機づけをよりいっそう向上させることができる。
【0461】
オンラインでトレーニングを行う場合は、オンラインではなく対面でトレーニングを行う場合と比べて視覚的な情報が削減されてしまい(対面だと肉眼で視認可能なのに対してオンラインの場合は2次元のディスプレイの画像として視認する)コミュニケーション時の体験の質が低下してしまう恐れがある。また、オンラインでトレーニングを行う場合は、トレーナーがトレーニーの身体に触れることも非常に困難といえる。よって、上記のようにトレーニーへトレーニング結果のフィードバックを提供することにより、トレーニーがオンラインでトレーニングを継続する動機づけを提供することができる。
【0462】
以上のように、1回のトレーニングでユーザの身体の動かし方が理想的な動かし方へと変化した場合に、当該センシング結果に基づいて学習済みモデルを生成することとしてもよい。
【0463】
(2)以上の実施形態では、ユーザの身体の動きをセンシングした結果に基づきアバターを表示して、トレーナーとトレーニーとのオンライントレーニングにおいてトレーナーに対応するアバターをトレーニーに表示する例を説明した。
【0464】
この他に、トレーナーとトレーニーとの通信によらず、プロセッサ19Aが、ユーザ自身で自身の身体の動かし方を上記のアバターとして確認しつつトレーニングをすることとしてもよい。例えば、ユーザは、端末装置10Aにおいて、身体の動かし方を設定し、設定された身体の動かし方に応じて、補助線等を描画しつつ、ユーザに体の動かし方の情報を通知して(身体の動かし方を案内して)、ユーザの身体の動かし方を測定ユニット30等によりセンシングすることとしてもよい。
【0465】
(2-1) ユーザの身体の動きのセンシング方法
端末装置10Aは、アバター等として、ユーザの身体の動かし方をセンシングした結果をユーザに提示する。また、端末装置10Aは、実施の形態1、2等で説明したように、ユーザの身体のセンシング結果に基づいて、ユーザの身体の各関節の位置を特定し、骨格(ボーン)を推定することができる(
図12)。
【0466】
端末装置10Aは、以下のようにして、ユーザの各関節の位置、骨格の推定結果に基づき姿勢を推定することとしてもよい。
・ 端末装置10Aが、被写体となるユーザを撮影した撮影結果(二次元の動画像)に基づいて、当該動画像に示されるユーザの姿勢を、点群データによらずとも推定する。
すなわち、端末装置10Aは、LiDAR等のように光学的に被写体との距離を測定する構成を有していないカメラによりユーザを撮影し、当該撮影結果に基づいて、撮影画像におけるユーザの姿勢として、関節の位置、骨格等を推定することとしてもよい。
例えば、撮影画像を入力として、当該撮影画像における被写体となっている人物の関節の位置、骨格等の姿勢を出力する学習済みモデルを用意することにより、端末装置10Aが、ユーザの撮影結果と、学習済みモデルとに基づいて、ユーザの姿勢を推定し得る。
このような学習済みモデルは、予め、撮影画像における被写体となっている人物について、撮影画像における関節の位置、骨格等の情報を関連付けた学習データを用意してコンピュータに学習を行わせることにより生成し得る。
・ 他の実施形態でも説明したように、端末装置10Aが、ユーザの身体の動きを、端末装置10A等に搭載されるカメラまたは測定ユニット30等に基づき点群データとしてセンシングし、センシングした結果に基づいて、関節の位置、骨格等を推定する。
【0467】
(2-2) 関節の位置、骨格の推定結果に基づく補助線の描画
端末装置10Aは、ユーザに対し、身体を動かす際の目安となる補助線を、ユーザの姿勢の推定結果に基づいて描画することとしてもよい。端末装置10Aが、当該補助線を、ユーザの姿勢の推定結果に基づいて描画することとして、以下のようにしてもよい。
・ 端末装置10A等が、ユーザに対し提示する、身体の動かし方の種類(例えば、側方挙上など体幹筋の動きや関節可動域を評価するための運動、または、筋力トレーニングのための運動など)と、間接の位置、骨格の推定結果とに基づいて、補助線を描画する位置を決定する。
例えば、身体の動かし方の種類によっては、ユーザが身体を一定量動かすものが含まれる(例えば、関節可動域を評価するために、前足を踏み出す動作など)。端末装置10Aは、ユーザに対し、アバターを表示しつつ、身体を動かす量の目安としての補助線を、ユーザの特定の関節の位置の推定結果に基づいて描画する。
例えば、端末装置10Aは、ユーザが前足を踏み出す動作をする場合に、まずユーザに所定の姿勢(例えば足を踏み出す前に直立の姿勢をする)をするよう音声または映像等により促す。端末装置10Aは、当該姿勢における関節の位置(例えば、肩関節、股関節、膝関節)に基づいてユーザの歩幅の量を推定し(例えば、ユーザの身長、ユーザの下肢の長さにより、ユーザが踏み出すべき歩幅の量が特定されうる)、推定した歩幅の量に基づいて、関節の位置の推定結果に基づいて補助線を描画すべき位置を決定する。
端末装置10Aは、ユーザが行う身体の動きの種類に応じて、補助線を描画するために参照する関節の位置と、当該関節の位置に対して補助線を描画する位置関係とを予め対応付けて記憶することとしてもよい。
【0468】
図33は、端末装置10Aが、ユーザの姿勢の推定結果に基づいて、補助線を描画する処理の概念を示す図である。
【0469】
図33の例(A)では、端末装置10Aは、ユーザの身体の動きを点群データとしてセンシングするものとする。端末装置10Aは、センシング結果に基づいて、ユーザに対応するアバターAVT_Aの3次元オブジェクトデータを記憶する。端末装置10Aは、アバターAVT_Aの3次元オブジェクトデータに基づいて、当該3次元オブジェクトデータのユーザの関節の位置(例えば、
図12に示す各関節)を推定する。例(A)では、端末装置10Aは、アバターAVT_Aの3次元オブジェクトデータを仮想空間に配置した場合に、当該アバターにおいてユーザの股関節の位置を推定した結果の座標となる関節位置JNT_01Aを特定する。
図33の例(A)において、端末装置10Aは、ユーザの身体の動かし方の種類に応じて、補助線LN_01Aの3次元オブジェクトデータを、関節位置JNT_01Aから一定距離DIST_01Aの分、離した位置に配置する、と決定する。端末装置10Aは、当該一定距離を、ユーザの体格(ユーザの身体の動きのセンシング結果に基づき、ユーザの身長、座高、肩幅等を測定することにより得られる)に基づいて設定することとしてもよい。ユーザの体格に応じて、ユーザが身体を動かす目安となる量が定まり得る。例(A)では、端末装置10Aは、補助線LN_01Aの3次元オブジェクトデータを、ユーザが身体を動かす際の地面と平行となるように配置している。
【0470】
図33の例(B)において、端末装置10Aは、補助線LN_02Aの3次元オブジェクトデータを、関節位置JNT_01Aに基づいて、当該関節位置JNT_01Aと重なるように、かつ、ユーザが身体を動かす際の地面と垂直となるように配置している。
【0471】
図34は、ユーザに提示する画面例を示す。
図34に示すように、端末装置10Aは、画面3403において、ユーザの身体の動きをセンシングした結果として、ユーザに対応するアバターを、左側面3403A、正面3403B、右側面3403Cのように、複数の視点から描画した結果を同画面に配置する。
【0472】
例えば、端末装置10Aは、仮想空間において、ユーザの身体の動きのセンシング結果(例えば点群データ)に対応する3次元オブジェクトデータ(アバターとしてユーザに認識されうるもの)を配置する。端末装置10Aは、当該仮想空間において、当該ユーザのセンシング結果に対応する3次元オブジェクトデータに対し、複数の仮想カメラ(例えば、右側面に対応する仮想カメラ、正面に対応する仮想カメラ、左側面に対応する仮想カメラ)を設定する。これにより、端末装置10Aは、ユーザに対応するアバターを複数の視点から描画した結果をユーザに提示することができる。
【0473】
図示するように、端末装置10Aは、ユーザに対し、アバターを提示する一方で、骨格(ボーン)を推定した結果を提示しないこととしてもよい。例えば、ユーザは、自分自身を鏡等で視認することと比べて、骨格(ボーン)の推定結果自体を日常的に肉眼で視認する機会は少ないと想定される。したがって、端末装置10Aが、アバターをユーザに提示しつつ骨格(ボーン)の推定結果を表示しないことにより、ユーザに対し、肉眼で日常的に視認し得る自身の体型と同様のアバターを画面上で認識することとなり、画面に投影されるアバターが、ユーザ自身であるかのように没入することができ得る。
【0474】
端末装置10Aは、仮想空間において、ユーザに対応する3次元オブジェクトデータと関連付けて、補助線LN_01A、LN_02Aの3次元オブジェクトデータを配置している。よって、端末装置10Aは、仮想カメラの設定に従ってレンダリングをすることにより、ユーザに対応するアバターとともに補助線を表示することができる。
【0475】
具体的には、端末装置10Aは、左側面3403Aにおいて、アバターAVT_Aと関連付けて、補助線LN_01Aと、補助線LN_02Aを描画して、ユーザに対し表示している。端末装置10Aは、正面3403Bにおいて、アバターAVT_Bと関連付けて、補助線LN_01Bと、補助線LN_02Bとを描画して、ユーザに対し表示している。端末装置10Aは、右側面3403Cにおいて、アバターAVT_Cと関連付けて、補助線LN_01Cと、補助線LN_02Cとを描画して、ユーザに対し表示している。
【0476】
(2-3) ユーザの身体の動きを評価する方法
(i)端末装置10Aは、以上のようにユーザに対しては骨格(ボーン)の推定結果を表示せずアバターを表示することで、ユーザ自身が投影されたものであると認識させて、身体を動かすこと、トレーニングをすること等に没入をさせている。一方、端末装置10Aは、ユーザの身体の動きを評価することとして、ユーザの姿勢が望ましいか、ユーザの身体の動きが身体の動かし方の種類に応じて理想的であるかを評価するために、ユーザの骨格(ボーン)の推定結果を用いることとしてもよい。
【0477】
例えば、
図34の例では、ユーザの膝が垂直になっていることが望ましいとされる場合、端末装置10Aは、ユーザの骨格(ボーン)のうち、膝の推定結果に基づいて(膝が垂直になっているかに応じて)、ユーザの姿勢が望ましいか否かを判定することができる。
(ii)端末装置10Aは、ユーザの身体の動きを評価することとして、ユーザの身体の動きをセンシングした結果であるアバターを構成する3次元オブジェクトデータ(例えば点群データ)と、補助線に対応する3次元オブジェクトデータとに基づくこととしてもよい。
【0478】
例えば、端末装置10Aは、ユーザのアバターを構成する3次元オブジェクトデータ(例えば左側面3403AにおけるアバターAVT_A)と、補助線に対応する3次元オブジェクトデータ(例えば左側面3403Aにおける補助線LN_01A)とが衝突したと判定するか、一定距離内に近づいたと判定すること等により、ユーザの身体の動きが理想的か否かを評価することとしてもよい。
【0479】
端末装置10Aは、点群データによらずにユーザの身体の動きをセンシングする場合(例えば、2次元の画像としてユーザを撮影する場合)、センシング結果に基づいて(2次元の撮影画像データ)、ユーザの身体に対応する3次元オブジェクトデータを生成することとしてもよい。端末装置10Aは、当該3次元オブジェクトデータと、補助線に対応する3次元オブジェクトデータとが衝突したか、一定距離に近づいたか等に基づいて、ユーザの身体の動きが理想的か否かを評価することとしてもよい。
【0480】
端末装置10Aは、点群データによらずにユーザの身体の動きをセンシングする場合(2次元の画像としてユーザを撮影する場合)、当該2次元の画像において上記のようにユーザの姿勢(関節の位置、骨格)を推定し(上記のように姿勢を推定する学習済みモデルを用いる)、推定した結果に基づいて、当該二次元の画像において補助線をオブジェクトデータとして描画することとしてもよい。例えば、端末装置10Aは、二次元の画像において推定されるユーザの関節(股関節、肩関節など)の位置から、ユーザが行う運動の種類に対応して、当該二次元の画像において、オブジェクトデータとして補助線を描画する位置を決定する。端末装置10Aは、ユーザに対応する2次元の画像と、オブジェクトデータとして描画される補助線とが衝突したか、一定距離に近づいたか等に基づいて、ユーザの身体の動きが理想的か否かを評価することとしてもよい。
【0481】
(2-4)具体的な身体の動かし方を測定するためにユーザに提示する画面例
(ア)Standing Alignment
例えば立位の状態など、ユーザが特定の姿勢をしている間、前後左右にユーザの身体が傾かないようにユーザが調整できるようにすることで、ユーザの姿勢を良好に保つことができる。
【0482】
図35は、端末装置10Aが、ユーザが立位の状態で前後左右の傾きを調整するための画面例を示す図である。
【0483】
図36は、ユーザの特定の部位の位置を推定した結果に基づいて、ユーザの身体の動きの目安となる図形オブジェクトを描画する位置を特定する処理を示す図である。
【0484】
図35に示すように、端末装置10Aは、画面3500において、ユーザの身体の動きをセンシングした結果として、ユーザに対応するアバターを、左側面3501A、正面3501Bのように、複数の視点から描画した結果を同画面に配置する。端末装置10Aは、画面3501Cにおいて、ユーザの身体の複数の部位の位置を、水平面における位置関係が比較可能に表示する。
【0485】
端末装置10Aは、左側面3501Aにおいて、ユーザに対応するアバターAVT_35A(ユーザを左側面から見た場合に対応)を表示する。端末装置10Aは、図形オブジェクトとして、補助線VL_35Aを、アバターAVT_35Aとともに表示する。
【0486】
ここで、端末装置10Aが補助線VL_35Aを描画する処理について説明する。
図36の例(A)に示すように、端末装置10Aは、ユーザの身体の特定の部位として、アンクル(かかと)の位置JNT_35Dを推定する。
【0487】
端末装置10Aは、右足首、右足、右つま先、左足首、左足、左つま先の位置を、ユーザの身体を測定した点群データに基づいて推定することができる(例えば、
図12の例)。例えば、端末装置10Aは、右足首または左足首の位置の推定結果に基づいて、当該足首の位置の推定結果を通過して地面に対して垂直になるように、図形オブジェクトとしての補助線VL_35Aを描画する位置を特定することとしてもよい。
【0488】
これにより、端末装置10Aは、ユーザに対し、ユーザの身体の動きのセンシング結果を取得する都度、アバターAVT_35Aの表示を更新しつつ(すなわち、リアルタイムにユーザの身体を測定した点群データに基づいてアバターAVT_35Aを描画しつつ)、補助線VL_35Aとの位置関係を認識させることができる。ユーザは、前後左右に身体がずれているか否かを、アバターAVT_35Aと、補助線VL_35Aとを比較して認識することができる。例えば、補助線VL_35Aの位置よりもアバターAVT_35Aが大幅にはみ出している場合は、ユーザの身体が前後左右のいずれかに大きくずれていることとなりえる。
【0489】
なお、端末装置10Aは、ユーザが上記のように左側面から見たアバターAVT_35Aと比較できるように補助線VL_35Aを描画するため、ユーザの身体の特定の部位として、アンクル(かかと)以外の位置を推定した結果に基づいて(例えば、骨盤の位置を推定した結果に基づいて)描画することとしてもよい。
【0490】
図35の正面3501Bに示すように、端末装置10Aは、ユーザに対応するアバターAVT_35B(ユーザを正面から見た場合に対応)を表示する。端末装置10Aは、図形オブジェクトとして、補助線LN_35A、補助線LN_35B、補助線LN_35C、補助線VL_35Bを、アバターAVT_35Bと関連付けて表示する。
【0491】
ここで、端末装置10Aが、正面3501Bにおいて、補助線LN_35A等を描画する処理について説明する。
【0492】
図36の例(B)に示すように、端末装置10Aは、ユーザの身体の特定の部位として、頭部の位置JNT_35A(
図12の例における「頭」)、肩の位置JNT_35B(
図12の例における「肩中央」)、腰の位置JNT_35C(
図12の例における「骨盤中央」「右骨盤」「左骨盤」など)を推定する。端末装置10Aは、補助線VL_35Bを、頭部の位置JNT_35A、肩の位置JNT_35B、腰の位置JNT_35Cの少なくともいずれかを通過して、地面に対して垂直となる線になるよう、描画する位置を特定する。ここで、端末装置10Aは、補助線VL_35Bを、これら以外の特定の部位の位置に基づいて(例えば、右かかとの位置と左かかとの位置の中間地点を通過して地面に対して垂直となる線)、描画する位置を特定することとしてもよい。
【0493】
端末装置10Aは、これら特定の部位の位置の推定結果に基づいて、補助線LN_35A等を描画する位置を特定する。例えば、端末装置10Aは、補助線LN_35Aを描画する位置として、ユーザの頭部の位置の推定結果である頭部の位置JNT_35Aから、水平方向に(地面に向かう方向を垂直とした場合)所定の距離(
図36の例における距離DIST_35A)だけ離した位置にすると特定する。端末装置10Aは、肩の位置JNT_35Bから、水平方向に所定の距離だけ離した位置に、補助線LN_35Bを描画すると特定する。端末装置10Aは、腰の位置JNT_35Cから、水平方向に所定の距離だけ離した位置に、補助線LN_35Cを描画すると特定する。
【0494】
端末装置10Aは、これら補助線LN_35A、LN_35B、LN_35Cを、それぞれ異なる態様で(例えば、異なる色、異なる形状等)描画する。これにより、それぞれの描画の態様が、ユーザの身体の部位のいずれに対応するかを容易にユーザに認識させることができる。ここで、端末装置10Aは、これら補助線LN_35A、LN_35B、LNN_35Cのそれぞれの描画の態様により、画面3501Cにおける補助円RD_35A、RD_35B、RD_35Cを描画する。
【0495】
端末装置10Aは、画面3501Cにおいて、ユーザのかかとの位置を基準とした図形オブジェクトである補助円RD_35Dを描画する。
図36の例(C)は、
図35の画面3501Cにおいて、補助円RD_35A、RD_35B、RD_35Cを描画していない態様を示す。端末装置10Aは、画面3501Cにおいて、ユーザの頭部の位置に対応する補助円RD_35A、肩に対応する補助円RD_35B、腰に対応する補助円RD_35Cを描画する。これら補助円RD_35A、RD_35B、RD_35Cと、補助円RD_35Dとは、それぞれ同一の形状であるとしてもよいし、相似の形状であるとしてもよい。端末装置10Aは、基準となる特定の部位の水平面における位置と比較して、比較対象となる頭部、肩、腰の相対的な位置に、これら補助円RD_35A、RD_35B、RD_35Cを表示する。これにより、ユーザは、身体が前後左右のいずれに傾いているのかを認識しつつ、これら複数の身体の部位に対応する複数の図形オブジェクト(補助円RD_35A、RD_35B、RD_35C)を、基準となる補助円RD_35Dにあわせるよう促される。
【0496】
以上のように、端末装置10Aは、ユーザの身体の動きを、逐次、点群データ等としてセンシングし、ユーザの身体の動きをセンシングした結果に基づいて、ユーザの少なくとも3つの特定の部位(上記の
図35、
図36の例では、頭部、肩、腰、かかとの4つの部位の位置を推定している)の位置を推定する。端末装置10Aは、少なくとも3つの特定の部位のうちいずれかを基準として(
図35、36の例では、かかとの位置を基準としているが、腰など体軸に沿う部位のいずれかであってよい)、水平面において他の特定の部位の位置関係を示す図形オブジェクトを描画する位置を決定し、決定した位置に図形オブジェクトを表示させる。
【0497】
端末装置10Aは、
図35のオブジェクト3501Dにおいて、ユーザが立位状態における前後左右のバランスを調整する動作を行う期間の残り時間の目安を表示する。これにより、ユーザは、残り時間内に、なるべく前後左右のバランスを調整しようと促され、ユーザの姿勢がよりいっそう改善されうる。
【0498】
(イ)側方挙上
立位の状態で、ユーザが両腕を広げたまま身体の側面より前に出すことなく、両腕を上げる動作を測定することで、ユーザの姿勢の良好さを評価することができる。側方挙上の動作において、立位の状態でユーザが両腕をあげきったタイミングを、動作のピーク時として説明する。
【0499】
図37は、端末装置10Aが、ユーザに対し、側方挙上の動作をさせるための画面例を示す図である。
【0500】
図38は、ユーザの特定の部位の位置を推定した結果に基づいて、ユーザの身体の動きの目安となる図形オブジェクトを描画する位置を特定する処理を示す図である。
図39は、ユーザが身体を動かしている過程を示す図である。
図40は、ユーザが側方挙上の動作におけるピークのタイミングとなる、両腕をあげきった状態を示す図である。
図41は、ユーザが側方挙上の動作のピークのタイミングにおけるセンシング結果を保存して、比較可能なアバターとして表示する例を示す図である。
【0501】
図37に示すように、ユーザは、側方挙上の動作を開始する前に、両腕を身体の側面につけた状態で立位となることで、初期の姿勢をとる。端末装置10Aは、初期の姿勢をとるよう音声または画像等でユーザに通知することとしてもよい。
【0502】
端末装置10Aは、ユーザの初期の姿勢と、特定の部位の位置を推定した結果とに基づいて、図形オブジェクトを描画する。図示する例では、端末装置10Aは、画面3700の左側面3701Aにおいて、ユーザに対応するアバターAVT_37A(ユーザの左側面から見た場合に対応)を表示する。端末装置10Aは、以下の図形オブジェクトを、左側面3701Aにおいて描画する。
【0503】
・ ユーザの前後のずれを知覚させやすくするための図形オブジェクトである補助線VL_37A。ユーザが身体を動かしている間、移動せず固定的に配置される。
・ 初期の姿勢におけるユーザの頭部の表面の位置を示す補助線VL_37D。ユーザが側方挙上の動作をしている間、ユーザの身体の動きのセンシング結果であるアバターAVT_37Aと、補助線VL_37Dとの位置関係をユーザに知覚させることで、ユーザの身体が前後に動いているかを、頭部に着目して認識することをよりいっそう容易にすることができる。ユーザが身体を動かしている間、移動せず固定的に配置される。
・ 初期の姿勢におけるユーザの腹部の表面の位置を示す補助線VL_37E。ユーザが側方挙上の動作をしている間、ユーザの身体の動きのセンシング結果であるアバターAVT_37Aと、補助線VL_37Eとの位置関係をユーザに知覚させることで、ユーザの身体が前後に動いているかを、腹部に着目して認識することをよりいっそう容易にすることができる。ユーザが身体を動かしている間、移動せず固定的に配置される。
・ 補助線VL_37Aと、補助線VL_37Dとの間の長さを示す補助線HL_37A。ユーザが身体を動かしている間、移動せず固定的に配置される。
・ 初期の姿勢におけるユーザの肩の位置を認識しやすくするための補助線HL_37B。ユーザが身体を動かしている間、移動せず固定的に配置される。
・ 補助線VL_37Aと、補助線VL_37Eとの間の長さを示す補助線HL_37C。ユーザが身体を動かしている間、移動せず固定的に配置される。
【0504】
端末装置10Aは、右側面3701Cにおいて、アバターAVT_37C(ユーザを右側面から見た場合に対応)とともに、補助線VL_37C、VL_37F、VL_37G、HL_37D、HL_37E、HL_37Fを表示する。
補助線VL_37Cは、補助線VL_37Aに対応する。
補助線VL_37Fは、補助線VL_37Dに対応する。
補助線VL_37Gは、補助線VL_37Eに対応する。
補助線HL_37Dは、補助線HL_37Aに対応する。
補助線HL_37Eは、補助線HL_37Bに対応する。
補助線HL_37Fは、補助線HL_37Cに対応する。
【0505】
端末装置10Aは、正面3701Bにおいて、ユーザに対応するアバターAVT_37B(ユーザを正面から見た場合に対応)を表示する。端末装置10Aは、以下の図形オブジェクトを、正面3701Bにおいて表示する。
・ ユーザの左右のずれを知覚させやすくするための図形オブジェクトである補助線VL_37B。ユーザが身体を動かしている間、移動せず固定的に配置される。
・ アバターAVT_37Bと関連付けて、ユーザが側方挙上の動作をしている間、肘が曲がっているかを知覚させやすくするための補助線LN_37L(ユーザの左腕に対応)と補助線LN_37R(ユーザの右腕に対応)。端末装置10Aは、それぞれ、ユーザの身体の動きのセンシング結果と連動して、図形オブジェクトを描画する位置を更新する。すなわち、端末装置10Aは、アバターの動きと連動させて、補助線LN_37L、LN_37Rを描画する位置を更新する。
・ 補助線LN_37Lの終点を示す多角形QB_37A(左腕に対応)、補助線LN_37Rの終点を示す多角形QB_37B(右腕に対応)。ユーザが側方挙動の動作中に肘を曲げてしまった場合、これら多角形QB_37BまたはQB_37Aが、アバターAVT_37Bから外れた位置に描画されることとなるため、ユーザは、アバターAVT_37Vと、多角形QB_37AまたはQB_37Bとの位置関係を認識することで、肘の曲がりを容易に認識することができる。
・ ユーザが腕をあげきったときに、肩をすくめてしまっていないか(肩の関節を使って腕をあげられているか)をユーザに知覚させるための多角形QB_37C(左腕に対応)、多角形QB_37D(右腕に対応)。後述するように、端末装置10Aは、ユーザが両腕をあげきった場合に、肩をすくめないであげられた場合に、左腕については多角形QB_37Cと多角形QB_37Aとが重なるよう、右腕については多角形QB_37Dと多角形QB_37Bとが重なるような位置に、多角形QB_37Cおよび多角形QB_37Dを描画する。
【0506】
端末装置10Aは、側方挙上の動作をするようユーザに促すにあたり、初期の姿勢であることを示すアイコン3701Dと、側方挙上の動作中であることを示すアイコン3701Eと、測定が終了したことを示すアイコン3701Fとを表示する。
【0507】
これら図形オブジェクトを描画する処理について説明する。
図38の例(A)に示すように、端末装置10Aは、ユーザの身体の特定の部位として、腰の位置JNT_38B(
図12の例の「骨盤中央」など)、腰と肩の間の位置JNT_38C(
図12の例の「胸腰」など)、肩の位置JNT_37D、頭部の位置JNT_38Eを推定する。
【0508】
端末装置10Aは、補助線VL_37Aについて、これら腰の位置JNT_38B等の位置を通過して地面と垂直になるよう、描画する位置を特定する。
【0509】
端末装置10Aは、補助線VL_37Dについて、頭部の位置JNT_38Eを通過して、水平方向にユーザの後方から前方へと向かう場合の身体表面の位置に基づき、描画する位置を特定する。すなわち、端末装置10Aは、身体の部位の位置を推定した結果と、点群データとしてセンシングされるユーザの身体の動きのセンシング結果とに基づいて、図形オブジェクトを描画する位置を特定する。
【0510】
端末装置10Aは、補助線VL_37Eについて、腰の位置JNT_38Bと、腰と肩の間の位置JNT_38Cとの中間の位置を通過して、水平方向にユーザの後方から前方へと向かう場合の身体表面の位置に基づき、描画する位置を特定する。
例(C)に示す各補助線を描画する方法は、例(A)と同様であるとしてもよい。
【0511】
例(B)に示すように、端末装置10Aは、補助線VL_37Bを、ユーザの身体の部位として、例えば腰、骨盤の位置を推定した結果に基づいて描画する。ここで、端末装置10Aは、補助線VL_37Bを、ユーザの右足のかかとの位置と、左足のかかとの位置とを推定した結果に基づいて、これらの中間の位置を通過して地面に垂直になるよう描画することとしてもよい。
【0512】
端末装置10Aは、補助線LN_37Lを、ユーザの手首の位置JNT_38F(左手首)と、ユーザの肘の位置JNT_38G(左ひじ)とを推定した結果に基づいて、左手首を起点とし、これら左手首から肘までの距離を、さらに肘から延長した点を終点(多角形QB_37A)とするよう、描画する位置を特定する。
【0513】
端末装置10Aは、補助線LN_37Rを、ユーザの手首の位置JNT_38I(右手首)と、ユーザの肘の位置JNT_38J(右ひじ)とを推定した結果に基づいて、補助線LN_37Lと同様に補助線の長さを規定して、描画する位置を特定する。
【0514】
端末装置10Aは、肩の位置JNT_38H(左肩)に基づいて、ユーザの身体の外側かつ上方へ所定距離離れた座標を特定する。当該座標は、ユーザが側方挙上の動作のピークに達した場合に移動する肩の位置に相当するように設定する。端末装置10Aは、ユーザの体格の大きさに基づいて(例えば、ユーザの身長、肩幅の広さなど)、当該座標を特定することとしてもよい。端末装置10Aは、特定した座標値に基づいて、多角形QB_37Cを描画する位置を特定する。
【0515】
端末装置10Aは、多角形QB_37Cを描画する位置を特定する方法と同様にして、ユーザの肩の位置JNT_38K(右肩)に基づいて、多角形QB_37Dを描画する位置を特定する。
【0516】
図39に示すように、ユーザが腕を上げる動作をすると、端末装置10Aは、ユーザの身体の動きのセンシング結果の履歴と、手首の位置を特定した履歴とに基づいて、手の動きの軌跡を、軌跡LN_39A(左手の動作の軌跡)、軌跡LN_39C(右手の動作の軌跡)として表示する。
【0517】
図40に示すように、ユーザが両腕を挙げきってピークに達したとする。端末装置10Aは、ユーザの側方挙上の動作がピークに達したことを検出して(例えば、ユーザの特定の部位の位置の推定結果に基づいて、ユーザが両腕をあげたことを検知する)、当該タイミングにおけるセンシング結果(ユーザの姿勢)に対応するアバターを描画する。ここで、ユーザの身体の動きと連動して描画が更新される多角形QB_37Aと、両腕をあげきったときの動作の目安となる多角形QB_37Cとが特定の位置関係である場合(例えば、これらが重なっている場合)に、これら多角形QB_37Aまたは多角形QB_37Cの少なくともいずれかを、重なっていない場合とは異なる態様で表示してもよい。これにより、端末装置10Aは、ユーザに対し、側方挙上の動作が適切であること(肩がすくまっていないこと等)を容易に知覚させることができる。同様に、端末装置10Aは、多角形QB_37Bと、多角形QB_37Dとが特定の位置関係である場合に、そうでない場合と比べて表示の態様を異ならせることとしてもよい。
【0518】
図41に示すように、端末装置10Aは、ユーザの身体の動きのセンシング結果と連動して描画が更新されるアバターAVT_37A、AVT_37Cと並ぶように、それぞれピーク時のアバターの状態である履歴アバターAVT_37D、履歴アバターAVT_37Eを表示する。
【0519】
図41に示すように、ユーザが側方挙上の動作をした場合の、両腕をあげきった状態のアバターと、ユーザが両腕をあげる過程の軌跡(軌跡LN_39A、LN_39C)と、ユーザのリアルタイムの姿勢であるアバターAVT_37A、AVT_37Cとが並べて表示されるため、ユーザに対し、どのように動作を行うかを考えるための材料を提供することができる。
【0520】
(ウ)しゃがみ
図42は、端末装置10Aが、ユーザに対し、しゃがみの動作をさせるための画面例を示す図である。
図43は、ユーザの特定の部位の位置を推定した結果に基づいて、ユーザの身体の動きの目安となる図形オブジェクトを描画する位置を特定する処理を示す図である。
図44は、ユーザが身体を動かしている過程を示す図である。
図45は、ユーザがしゃがみの動作におけるピークのタイミングとなる、しゃがみきった状態を示す図である。
図46は、ユーザがしゃがみの動作のピークのタイミングにおけるセンシング結果を保存して、比較可能なアバターとして表示する例を示す図である。
【0521】
図42に示すように、しゃがみ動作を開始させる前の初期の姿勢において、端末装置10Aは、当該初期の姿勢と、特定の部位の位置を推定した結果とに基づいて、図形オブジェクトを描画する。
【0522】
図示する例では、端末装置10Aは、画面4200の左側面4201Aにおいて、アバターAVT_42Aを描画しつつ、以下の補助線を描画する。
・ ユーザの背中の角度を可視化するための補助線LN_42A
・ ユーザのすねの角度を可視化するための補助線LN_42B
【0523】
端末装置10Aは、右側面4201Cにおいて、アバターAVT_42Cを描画しつつ、以下の補助線を描画する。
・ ユーザの姿勢が前後に傾いていないかを知覚させるための補助線VL_42C。ユーザの身体の動きを測定する間、固定位置に表示される。
【0524】
端末装置10Aは、正面4201Bにおいて、アバターAVT_42Bを描画しつつ、以下の補助線を描画する。
・ ユーザの姿勢が左右に傾いていないかを知覚させるための補助線VL_42B。ユーザの身体の動きを測定する間、固定位置に表示される。
・ ユーザの左足が左右に開いていないかを知覚させるための補助線LN_37L
・ ユーザの右足が左右に開いていないかを知覚させるための補助線LN_37R
【0525】
端末装置10Aは、しゃがみ動作を開始させる前の状態であることを示すオブジェクト4201D、しゃがみ動作を測定している間であることを示すオブジェクト4201E、測定を終了したことを示すオブジェクト4201Fを表示する。
【0526】
図43の例(A)に示すように、端末装置10Aは、ユーザの部位の位置を推定した結果として、かかとの位置JNT_43Aと、膝の位置JNT_43Bとに基づいて、かかとの位置JNT_43Aを起点として膝の位置JNT_43Bを通過する線分を、補助線LN_42Bとして描画する。
【0527】
端末装置10Aは、腰(骨盤など)の位置JNT_43Cと、肩の位置JNT_43Dとに基づいて、腰の位置JNT_43Cを起点として肩の位置JNT_43Dを通過する線分を、補助線LN_42Aとして描画する。
ここで、端末装置10Aは、補助線LN_42A、LN_42Bの終点の高さがそろうように、これら補助線の長さを決定することとしてもよい。
【0528】
例(C)に示すように、端末装置10Aは、かかとの位置JNT_43Jに基づいて、地面に対して垂直となるよう、補助線VL_42Cを描画する位置を特定する。ここで、端末装置10Aは、かかとの位置JNT_43Jとは別に、腰の位置などに基づいて、補助線VL_42Cを描画することとしてもよい。
【0529】
例(B)に示すように、端末装置10Aは、かかとの位置JNT_43E(左かかと)と、膝の位置JNT_43F(左ひざ)とに基づいて、かかとの位置を起点とし、かかとから膝の長さを計測し、膝からさらに当該長さのぶん延長した点を終点として、補助線LN_37Lを描画する位置を特定する。
【0530】
端末装置10Aは、補助線VL_42Bを、腰の位置JNT_43Iを通過して地面に対して垂直となるよう、描画する位置を特定する。なお、端末装置10Aは、左右それぞれのかかとの位置(JNT_43E、JNT_43G)に基づいて、これらの中間となる位置を通過して地面に対して垂直となるよう、補助線VL_42Bを描画する位置を特定してもよい。
【0531】
図44に示すように、ユーザがしゃがみ動作をし始めると、端末装置10Aは、正面4201Bにおいて、ユーザがしゃがんだ軌跡LN_42Mを描画する。例えば、端末装置10Aは、ユーザの首の位置(または、頭部や肩)を推定した結果を履歴として保持することにより、軌跡LN_42Mを描画することとしてもよい。
【0532】
端末装置10Aは、右側面4201Cにおいて、ユーザがしゃがんだ軌跡LN_42
Nを表示することとしてもよい。例えば、端末装置10Aは、ユーザの首の位置等を推定した結果を履歴として保持することにより、軌跡LN_42Nを描画することとしてもよい。
【0533】
これにより、ユーザは、軌跡LN_42Mと補助線VL_42Bとを比較して、左右にぶれずにしゃがめているか、軌跡LN_42Nと補助線VL_42Cとを比較して、前後にぶれずにしゃがめているかを容易に認識することができる。
【0534】
図45に示すように、ユーザがしゃがみ切ることにより、しゃがみ動作におけるピークに達する。端末装置10Aは、ユーザのしゃがみ動作がピークに達したことを検出することにより(例えば、特定の部位の位置を推定した結果に基づいて、ユーザのしゃがみ動作がピークに達した場合の姿勢と比較して、ピークに達したことを検出する)、当該ピークのタイミングにおけるセンシング結果(点群データ等)を保持する。
【0535】
ここで、しゃがみきった状態で、端末装置10Aは、補助線LN_42B(つまり、膝の角度)と、補助線LN_42A(つまり、背中の角度)とが開いているか判定してもよい。
図45の例では、補助線LN_42Bと補助線LN_42Aとが、始点(かかとまたは腰)を基準とすると開いた状態となっており、前かがみになっておらず、良好であると判定してもよい。また、端末装置10Aは、補助線LN_42Bの終点(かかとを始点とした場合)と、補助線LN_42Aの終点(腰を始点とした場合)とが、ユーザがしゃがみきった状態で地面からの高さがそろうように描画することとしてもよい。また、端末装置10Aは、これら補助線LN_42Aの終点と、補助線LN_42Bの終点との距離が一定距離以上離れているか否かに応じて、ユーザの動作が良好であるか判定してもよい(場慣れている場合に良好であると判定する)。
【0536】
図46に示すように、ユーザがしゃがみきったあとに立ち上がると、端末装置10Aは、ユーザがしゃがみきった状態のセンシング結果を、左側面4201AにおいてアバターAVT_42D,正面4201BにおいてアバターAVT_42E、右側面4201CにおいてアバターAVT_42Fとして表示する。
【0537】
端末装置10Aは、しゃがみきった状態における補助線LN_42A、LN_42Bを、アバターAVT_42Dとともに左側面4201Aにおいて表示する。
【0538】
端末装置10Aは、しゃがみきったあと(ピークのタイミングに到達した後)の立ち上がり時の軌跡LN_42P(例えば、首の位置に基づいて軌跡を描画する)を正面4201Bにおいて描画する。
【0539】
端末装置10Aは、しゃがみきったあと(ピークのタイミングに到達した後)の立ち上がり時の軌跡LN_42Q(例えば、首の位置に基づいて軌跡を描画する)を右側面4201Cにおいて描画する。
【0540】
(エ)踏み出しつつ腰を落とす動作
図47は、端末装置10Aが、ユーザに対し、踏み出しつつ腰を落とす動作をさせるための画面例を示す図である。
図48は、ユーザの初期の姿勢が適切であることをユーザに提示する局面の画面例を示す図である。
図49は、ユーザの動作の測定を開始する局面を示す図である。
図50は、ユーザの動作が適切であるか否かを判定し、判定した結果をユーザに提示する局面を示す図である。
図51は、ユーザの動作が適切であるか否かを判定し、判定した結果をユーザに提示する局面を示す図である。
【0541】
図47に示すように、端末装置10Aは、画面4700において、正面4701Bに、ユーザに対応するアバターAVT_47B(正面に対応)を表示する。端末装置10Aは、右側面4701Cに、ユーザに対応するアバターAVT_47C(右側面)と、ユーザの両足を踏み出す位置の目安となる補助線LN_47A、補助線LN_47Bとを表示する。
【0542】
図示する例では、端末装置10Aは、ユーザが後ろ足をより後ろに下げるよう促す矢印上のオブジェクトを表示している。
【0543】
図47の例において、端末装置10Aは、ユーザの特定の部位の位置を推定した結果に基づいて、ユーザの足の長さを計測する。例えば、端末装置10Aは、ユーザのかかとの位置および腰(骨盤)の位置に基づいて、ユーザの足の長さを計測する。これにより、端末装置10Aは、ユーザが動作をする際に足を広げるべき距離を特定する。端末装置10Aは、ユーザの体格(例えば、足の長さ)に応じて、ユーザが足を広げるべき距離を調整することとしてもよい。端末装置10Aは、ユーザの足の長さを計測した結果に基づいて、補助線LN_47Aと、補助線LN_47Bとの間隔を決定し、右側面4701Cに描画する。
【0544】
図示する例では、端末装置10Aは、画面4700において、ユーザの腰の回転と肩の回転を可視化するためのオブジェクト4701Dを表示している。端末装置10Aは、ユーザの腰の回転を、骨盤の位置(
図12の例における「左骨盤」と「右骨盤」の位置)を推定した結果に基づいて特定する。端末装置10Aは、ユーザの肩の回転を、肩の位置(
図12の例における「左肩」と「右肩」)を推定した結果に基づいて特定する。
【0545】
端末装置10Aは、オブジェクト4701Dにおいて、例えば腰の位置(骨盤中央など)を基準として、腰の回転を示す補助線LN_47SBと、肩の回転を示す補助線LN_47SHとを表示する。これにより、ユーザは、踏み出しつつ腰を落とす動作において、腰と肩がどの程度回転しているかを知覚することが容易となる。
【0546】
図48に示すように、ユーザが足を開いて腰を落として上下させる動作を測定する前に、端末装置10Aは、両足を十分に開いているか否かを判定する。
【0547】
端末装置10Aは、以下のようにして、ユーザの両足が適切に前後に開かれている判定してもよい。
・ ユーザの身体の部位の位置を推定した結果に基づいて、足が開いている角度(左膝から骨盤へ向かう線分と、右ひざから骨盤へ向かう線分とにより形成される角度など)が所定以上である場合
・ ユーザが前後に踏み出した足の特定の部位(かかと等)と、補助線LN_47A、補助線LN_47Bとが所定の位置関係である場合。例えば、ユーザの前足のかかとの位置を推定した結果と、補助線LN_47Aとが重なっているまたは一定距離以内である場合。同様に、ユーザの後ろ足のかかとの位置を推定した結果と、補助線LN_47Bとが重なっているまたは一定距離以内である場合。
【0548】
端末装置10Aは、前足と後ろ足それぞれについて、適切に開けている場合に、その旨を示すオブジェクトOBJ_47AおよびオブジェクトOBJ_47Bを表示する。端末装置10Aは、足が適切に開けていない場合、オブジェクトOBJ_47AまたはオブジェクトOBJ_47Bにおいて、その旨(例えば「NG」など)を表示する。
【0549】
端末装置10Aは、オブジェクトOBG_47AまたはオブジェクトOBJ_47Bを、ユーザの特定の部位の位置を推定した結果に基づいて描画してもよい。例えば、端末装置10Aは、オブジェクトOBJ_47Aを、ユーザのかかとの位置を推定した結果の座標と関連付けて描画してもよい(例えば、オブジェクトOBJ_47Aの吹き出しを、ユーザのかかとの位置を基準として描画する。)
【0550】
以上のように、端末装置10Aは、ユーザが動作をする前の姿勢が適切であることを検出することに応答して、ユーザが動作を開始するための音声または画像等による通知(例えば、「ゆっくり腰を落とし、またもとに戻してください」等の、ユーザに具体的な動作の内容を想起させる通知)を行うこととしてもよい。これにより、ユーザは、動作をする前の姿勢が適切であることを確認でき、腰を上下させる動作を開始することが容易になる。
【0551】
図49に示すように、ユーザが腰を上下させる動作を行う局面において、端末装置10Aは、正面4701Bにおいて、ユーザに対応するアバターAVT_47Bとともに、ユーザの動きにかかわらず固定的に(固定位置に)表示する補助線VL_47B、VL_47Eを描画する。
【0552】
補助線VL_47Bは、ユーザが腰を上下させる動作をしている間、ユーザが左右にぶれていないかを知覚させるための補助線である。端末装置10Aは、例えば、ユーザが腰を落とす動作を開始する前に、ユーザの腰の位置を推定した結果に基づいて、補助線VL_47Bを描画する。
【0553】
補助線VL_47Eは、ユーザが腰を上下させている間、ユーザの足(例えば、前足)が左右にぶれていないかを知覚させるための補助線である。端末装置10Aは、例えば、ユーザが腰を落とす動作を開始する前に、ユーザの前足のかかと及び膝の位置を推定した結果に基づいて、補助線VL_47Bを描画する。
【0554】
補助線VL_47Fは、ユーザが腰を上下させている間、ユーザの肩が左右にぶれていないかを知覚させるための補助線である。端末装置10Aは、ユーザが腰を落とす動作と連動して、補助線VL_47Fを描画する。
【0555】
端末装置10Aは、右側面4701Cにおいて、ユーザに対応するアバターAVT_47Cとともに、ユーザの動きにかかわらず固定的に表示する補助線VL_47C、LN_47Cを表示する。
【0556】
補助線VL_47Cは、ユーザが腰を上下させている間、前後にぶれずに垂直に腰を落とせているかをユーザに知覚させるための補助線である。端末装置10Aは、例えば、ユーザが腰を落とす動作を開始する前に、ユーザの骨盤などの位置を推定した結果に基づいて、補助線VL_47Cを描画する。
【0557】
補助線LN_47Cは、ユーザが腰を上下させている間、ユーザが前方向または後方向に腰を落としすぎていないか(例えば、膝が前に出すぎていないか)をユーザに知覚させるための補助線である。端末装置10Aは、例えば、ユーザが腰を落とす動作を開始する前に、ユーザのかかとなどの位置を推定した結果に基づいて、補助線LN_47Cを描画する。
【0558】
端末装置10Aは、ユーザが腰を上下させる動作の速度と連動して、腰を落とす位置および腰を落とす速さの目安となるオブジェクトOBJ_47Eと、オブジェクトOBJ_47Fとを描画する。これらオブジェクトOBJ_47Eと、オブジェクトOBJ_47Fとは、ユーザが腰を上下させる速度と連動して、補助線VL_47C上に沿って移動する。
【0559】
オブジェクトOBJ_47Eは、ユーザが腰を上下させる間、首や肩の目安の位置をユーザに知覚させるためのオブジェクトである。
【0560】
オブジェクトOBJ_47Fは、ユーザが腰を上下させる間、腰の目安の位置をユーザに知覚させるためのオブジェクトである。
【0561】
図50に示すように、ユーザが腰を落とそうとして、やや前のめりになっているとする。図示するように、端末装置10Aは、右側面4701Cにおいて、理想的な動きの目安となるオブジェクトOBJ_47Eに対し、ユーザが身体を動かしている実際の位置(首、肩、頭などの位置の推定結果)を示すオブジェクトOBJ_47Jを描画する。
【0562】
端末装置10Aは、理想的な動きの目安となるオブジェクトOBJ_47Fに対し、ユーザが身体を動かしている実際の位置(腰、骨盤などの位置の推定結果)を示すオブジェクトOBJ_47Kを描画する。
【0563】
端末装置10Aは、ユーザが垂直に腰を上下させられているか否かを容易に知覚させるため、オブジェクトOBJ_47EとオブジェクトOBJ_47Jとが所定の位置関係(重なっている、一定距離内にある等)にある場合に、そうでない場合と異なる表示態様で描画することとしてもよい。同様に、端末装置10Aは、オブジェクトOBJ_47FとオブジェクトOBJ_47Kとが所定の位置関係にある場合に、そうでない場合と異なる表示態様で描画することとしてもよい。これにより、ユーザが理想的な動きで腰を上下させられているか、また、ユーザが理想的な動きの目安に沿って身体を動かせているかをリアルタイムに知覚させることが容易となる。
【0564】
端末装置10Aは、前足が適切に動作させられているか否かを判定し、判定した結果を、オブジェクトOBJ_47Pにより表示する。例えば、端末装置10Aは、以下のようにして、前足が適切に動作させられているか否かを判定してもよい。
・ ユーザの前足のかかと、膝、骨盤など、前足の角度に基づいて、ユーザが前足を適切に動作させられているか(例えば、前方に乗り出しすぎていないか)を判定する
・ ユーザの下半身の部位の位置の推定結果(かかと、膝など)と、補助線LN_47Cとが所定の位置関係であるかを判定する。(例えば、かかとまたは膝の位置が補助線LN_47Cを超えている場合は前のめりである等。また、かかとの位置と膝の位置とを結ぶ線分(ひざの角度)が、補助線LN_47Cと所定の角度以内である場合は、腰を良好に落とせている等)
【0565】
端末装置10Aは、オブジェクトOBJ_47Pを、ユーザの部位の位置を推定した結果に基づいて、描画する位置を特定してもよい。例えば、端末装置10Aは、ユーザの膝の位置を基準にして、オブジェクトOBJ_47Pを描画することとしてもよい。これにより、ユーザの身体の動作とともにリアルタイムにオブジェクトOBJ_47Pが移動しつつ描画されることとなるため、ユーザが適切に身体を動かせているかを容易に知覚させることができる。
【0566】
端末装置10Aは、後ろ足が適切に動作させられているか否かを判定し、判定した結果を、オブジェクトOBJ_47Nにより表示する。上記の前足の場合と同様に、後ろ足が適切に動作させられているかを判定することとしてもよい。
【0567】
端末装置10Aは、正面4701Bにおいて、前足が左右にぶれていないか否かを判定し、判定結果をオブジェクトOBJ_47Mにより表示することとしてもよい。例えば、端末装置10Aは、かかとの位置および膝の位置を推定した結果に基づいて、膝の角度が垂直でない場合(例えば、補助線VL_47Eに対して所定以上の角度となっている場合)に、前足が左右にぶれていると判定することとしてもよい。
図50の例では、前足は左右にぶれておらず、オブジェクトOBJ_47Mにおいて「OK」と表示されている。
【0568】
図51に示すように、右側面4701Cにおいて、ユーザが腰を垂直に良好に上下させられており、オブジェクトOBJ_47P、オブジェクトOBJ_47Nにおいて「OK」と表示されている。
【0569】
(3) 付記
以上の実施の形態で説明した事項を以下に付記する。
【0570】
(付記1)
コンピュータを動作させるためのプログラムであって、プログラムは、コンピュータのプロセッサに、ユーザの身体の動きを、逐次、センシングするステップと、当該センシングした結果に基づいて、ユーザの外観を撮影した場合の実写画像ではなくユーザの身体表面の形状を知覚させる態様で、ユーザに対応するアバターをユーザに対し提示するステップと、センシングした結果に基づいて、アバターと関連付けて、ユーザの身体の動きの目安となる図形オブジェクトを描画する位置を特定するステップと、特定した位置に図形オブジェクトを表示させるステップと、を実行させる、プログラム。
(付記2)
アバターを提示するステップにおいて、アバターを、実写画像よりも情報量を落とした態様で、ユーザに対し提示する、付記1に記載のプログラム。
(付記3)
アバターを提示するステップにおいて、センシングした結果を取得する都度、アバターをユーザに提示する、付記1または2に記載のプログラム。
(付記4)
アバターを提示するステップにおいて、センシングした結果に基づいて、ユーザを第1の方向から描画したアバターと、ユーザを第1の方向とは異なる第2の方向から描画したアバターとを、ともに、並べて描画することにより、ユーザにアバターを提示する、付記1から3のいずれかに記載のプログラム。
(付記5)
センシングするステップにおいて、ユーザの身体の動きを、点群データとしてセンシングし、アバターを提示するステップにおいて、アバターを、点群データの集合体として描画することにより、ユーザにアバターを提示する、付記1から4のいずれかに記載のプログラム。
(付記6)
プログラムは、プロセッサに、さらに、ユーザの身体の動きをセンシングした結果に基づいて、ユーザの複数の特定の部位の位置を推定するステップと、アバターを描画しつつ、特定の部位の位置を推定した結果を描画せず、ユーザの身体の動かし方を、特定の部位の位置の推定結果に基づいて評価するステップと、を実行させる、付記1から5のいずれかに記載のプログラム。
(付記7)
アバターを提示するステップにおいて、ユーザの身体の動きのセンシング結果に伴ってアバターの描画を更新する一方、表示させるステップにおいて、ユーザの身体の動きにかかわらず固定の位置に図形オブジェクトを表示させる、付記1から6のいずれかに記載のプログラム。
(付記8)
プログラムは、プロセッサに、さらに、ユーザの身体の動きをセンシングした結果に基づいて、ユーザの特定の部位の位置を推定するステップと、ユーザの身体の動きを測定する対象となる第1の部位の位置について、アバターとともに、センシングした履歴を時系列に従って描画するステップと、を実行させる、付記7に記載のプログラム。
(付記9)
特定するステップにおいて、ユーザをセンシングした結果に基づいて、ユーザの体軸と平行に、ユーザの身体の動きにかかわらず固定の位置に、線状の図形オブジェクトを描画すると特定する、付記7に記載のプログラム。
(付記10)
特定するステップにおいて、ユーザが特定の動作を開始する前のユーザの第1の姿勢のセンシング結果に基づいて、ユーザが当該特定の動作をする場合の目安となる図形オブジェクトを描画する位置を特定する、付記1に記載のプログラム。
(付記11)
特定の動作は、ユーザの身体の動きを測定するための所定の動作であり、特定するステップにおいて、第1の姿勢に基づいて、特定の動作の所定のタイミングにおけるユーザの身体の動きの目安となる図形オブジェクトを描画する位置を特定する、付記10に記載のプログラム。
(付記12)
特定するステップにおいて、第1の姿勢に基づいて、ユーザの身体の前後のバランス、左右のバランスからなる群のうち少なくとも1つの目安となる図形オブジェクトを描画する位置を特定する、付記10に記載のプログラム。
(付記13)
特定するステップにおいて、特定の動作をユーザが行う最中にユーザがとりうる第2の姿勢の目安となる図形オブジェクトを描画する位置を、第1の姿勢に基づいて特定する、付記10に記載のプログラム。
(付記14)
特定の動作とは、ユーザが両足を開いて踏み込んだ状態で行う動作であり、特定するステップにおいて、ユーザが前足を踏み込んだ状態の目安となる図形オブジェクトを描画する位置を、第1の姿勢に基づいて特定する、付記13に記載のプログラム。
(付記15)
ユーザの身体の動きをセンシングした結果に基づいて、ユーザの下肢の部位の位置を推定するステップをさらに実行させ、特定するステップにおいて、推定した結果に基づいて、ユーザが両足を開いて踏み込む位置の目安となる図形オブジェクトを描画する位置を特定する、付記14に記載のプログラム。
(付記16)
ユーザの身体の動きをセンシングした結果に基づいて、ユーザの特定の部位の位置を推定するステップと、推定した特定の部位の位置と、図形オブジェクトの位置との位置関係に基づいて、ユーザが第2の姿勢を適切に行えているかを評価するステップと、を実行させる、付記13に記載のプログラム。
(付記17)
評価するステップにおいて第2の姿勢を適切に行えていると評価する場合に、その旨を、ユーザに提示する、付記16に記載のプログラム。
(付記18)
特定の動作は、第2の姿勢においてユーザが行う身体の動きを伴うものであり、評価するステップにおいて、第2の姿勢を適切に行えていると評価することに応答して、特定の動作の測定を開始させ、当該測定を開始することをユーザに提示する、付記16に記載のプログラム。
(付記19)
ユーザの身体の動きをセンシングした結果に基づいて、ユーザの複数の特定の部位の位置を推定するステップをさらに実行させ、特定するステップにおいて、推定した特定の部位の位置に基づいて、当該特定の部位がユーザの身体の動作中に適切に動かせているかをユーザに知覚させるための線状の図形オブジェクトを描画する位置を特定する、付記1に記載のプログラム。
(付記20)
表示させるステップにおいて、特定の部位の周囲の部位から、当該特定の部位へと向かう線を延長した線分を、図形オブジェクトとして、アバターとともに表示させる、付記19に記載のプログラム。
(付記21)
表示させるステップにおいて、線分の終点に、線分の幅と比較して大きなサイズの図形オブジェクトを描画して表示させる、付記20に記載のプログラム。
(付記22)
表示させるステップにおいて、線分の終点に対応する図形オブジェクトを、ユーザの身体の動きのセンシング結果と連動させて移動させるように表示させ、ユーザの身体の動きにかかわらず固定的に配置される図形オブジェクトと、終点に対応する図形オブジェクトとの位置関係に基づいて、当該図形オブジェクトの表示態様を変更して表示する、付記21に記載のプログラム。
(付記23)
ユーザの身体の動きをセンシングした結果に基づいて、ユーザの複数の特定の部位の位置を推定するステップをさらに実行させ、表示させるステップにおいて、ユーザの第1の部位の傾きを示す図形オブジェクト、および、第1の部位とは異なる第2の部位の傾きを示す図形オブジェクトを、当該第1の部位、および、第2の部位と関連付けてそれぞれ描画して表示させる、付記19に記載のプログラム。
(付記24)
ユーザの身体の動きをセンシングした結果に基づいて、ユーザの特定の部位の位置を推定するステップをさらに実行させ、特定するステップにおいて、前期推定した特定の部位の位置と、ユーザの身体表面の形状とに基づいて、図形オブジェクトを描画する位置を特定する、付記19に記載のプログラム。
(付記25)
特定の動作は、ユーザの身体の動きを測定するための所定の動作であり、提示するステップにおいて、センシングした結果を取得する都度、アバターをユーザに提示する一方、特定の動作の区切りとなる所定のタイミングにおけるユーザのセンシング結果を記憶部に記憶させることにより、当該所定のタイミングにおけるアバターを並べてユーザに提示する、付記1に記載のプログラム。
(付記26)
アバターを提示するステップにおいて、ユーザの身体の動きをセンシングした結果に基づいて、ユーザの少なくとも3つの特定の部位の位置を推定するステップとを実行させ、少なくとも3つの特定の部位のうちいずれかを基準として、水平面において他の特定の部位の位置関係を示すオブジェクトを描画する位置を決定し、決定した位置にオブジェクトを表示させるステップと、を実行させ、特定するステップにおいて、少なくとも3つの部位の位置の推定結果に基づいて、アバターと関連付けて、図形オブジェクトを描画する位置を特定する、付記1に記載のプログラム。
(付記27)
コンピュータを動作させるためのプログラムであって、プログラムは、コンピュータのプロセッサに、ユーザの身体の動きを、逐次、センシングするステップと、ユーザの身体の動きをセンシングした結果に基づいて、ユーザの少なくとも3つの特定の部位の位置を推定するステップとを実行させ、少なくとも3つの特定の部位のうちいずれかを基準として、水平面において他の特定の部位の位置関係を示す図形オブジェクトを描画する位置を決定し、決定した位置に図形オブジェクトを表示させるステップと、を実行させる、プログラム。
(付記28)
図形オブジェクトを表示させるステップにおいて、基準ではない特定の部位を表す図形オブジェクトを、それぞれ同一または相似形状の図形を含む図形オブジェクトとして表示させる、付記27に記載のプログラム。
(付記29)
コンピュータを動作させるための方法であって、方法は、コンピュータのプロセッサが、
ユーザの身体の動きを、逐次、センシングするステップと、当該センシングした結果に基づいて、ユーザの外観を撮影した場合の実写画像ではなくユーザの身体表面の形状を知覚させる態様で、ユーザに対応するアバターをユーザに対し提示するステップと、センシングした結果に基づいて、アバターと関連付けて、ユーザの身体の動きの目安となる図形オブジェクトを描画する位置を特定するステップと、特定した位置に図形オブジェクトを表示させるステップと、を実行する、方法。
(付記30)
情報処理装置であって、情報処理装置は、制御部が、ユーザの身体の動きを、逐次、センシングするステップと、当該センシングした結果に基づいて、ユーザの外観を撮影した場合の実写画像ではなくユーザの身体表面の形状を知覚させる態様で、ユーザに対応するアバターをユーザに対し提示するステップと、センシングした結果に基づいて、アバターと関連付けて、ユーザの身体の動きの目安となる図形オブジェクトを描画する位置を特定するステップと、特定した位置に図形オブジェクトを表示させるステップと、を実行する、情報処理装置。
【符号の説明】
【0571】
10 端末装置、20 サーバ、30 測定ユニット、31 測定装置、32 マット、33 ポール、132 ディスプレイ、181 ユーザ情報、182 測定項目情報、183 測定履歴情報、184 フレンドリスト、185 トレーニング項目情報、281 ユーザ情報データベース、282 測定項目情報、283 測定履歴データベース、284 フレンドリスト、285 トレーニング項目情報、287 測定結果データベース、288 評価結果データベース、289 ユーザアンケート情報、290 評価結果データベース、2601 トレーニー情報データベース、2602 トレーナー情報データベース、2603 トレーニング履歴データベース