(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024032585
(43)【公開日】2024-03-12
(54)【発明の名称】運動指導システム、運動指導方法、およびプログラム
(51)【国際特許分類】
A63B 69/00 20060101AFI20240305BHJP
A63B 71/06 20060101ALI20240305BHJP
【FI】
A63B69/00 A
A63B71/06 T
A63B71/06 M
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022136310
(22)【出願日】2022-08-29
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(独立行政法人情報処理推進機構2022年度未踏アドバンスト事業(個人に最適化するフリーウェイト指導システムの開発)に関する委託契約、産業技術力強化法第17条の適用を受ける特許出願)
(71)【出願人】
【識別番号】522326477
【氏名又は名称】株式会社autofit
(74)【代理人】
【識別番号】100104880
【弁理士】
【氏名又は名称】古部 次郎
(74)【代理人】
【識別番号】100185317
【弁理士】
【氏名又は名称】石井 琢哉
(72)【発明者】
【氏名】近藤 佑亮
(72)【発明者】
【氏名】遠藤 聡志
(72)【発明者】
【氏名】上野 将輝
(72)【発明者】
【氏名】桂 知弘
(57)【要約】
【課題】ユーザの身体運動の目標に導くためのより適したアドバイスを提供する。
【解決手段】ユーザの身体情報の入力を受け付け、ユーザの身体運動の目標を取得し、身体運動を撮像した動画像を解析して身体運動に対応する骨格情報を取得し、身体運動の目標に関連付けられ記憶された複数の模範動作データから、身体運動の目標に対応する好ましい動作データを、身体情報および骨格情報の少なくとも何れか1つに基づいて検索し、好ましい動作データを用いて身体運動の評価又は改善策を出力する、運動指導システム。
【選択図】
図1
【特許請求の範囲】
【請求項1】
1または複数のプロセッサを備え、
前記1または複数のプロセッサは、
ユーザの身体情報の入力を受け付け、
前記ユーザの身体運動の目標を取得し、
前記身体運動を撮像した動画像を解析して得られた当該身体運動に対応する骨格情報を取得し、
前記身体運動の目標に関連付けられ記憶された複数の模範動作データから、当該身体運動の目標に対応する好ましい動作データを、前記身体情報および前記骨格情報の少なくとも何れか1つに基づいて検索し、
前記好ましい動作データを用いて前記身体運動の評価又は改善策を出力する、運動指導システム。
【請求項2】
前記1または複数のプロセッサは、
前記身体運動に対応する柔軟性を算出し、
前記ユーザから要求された前記身体運動の目標に対応する好ましい動作データを、前記身体情報、前記骨格情報、および前記柔軟性の少なくとも何れか1つに基づいて検索する、
請求項1に記載の運動指導システム。
【請求項3】
前記1または複数のプロセッサは、
前記ユーザの前記身体運動の履歴から、筋力を算出し、
前記ユーザから要求された前記身体運動の目標に対応する好ましい動作データを、前記身体情報、前記骨格情報、および前記筋力の少なくとも何れか1つに基づいて検索する、
請求項1に記載の運動指導システム。
【請求項4】
前記1または複数のプロセッサは、
前記模範動作データから検索した複数の動作データに基づいて好ましい動作データを生成する、請求項1から請求項3のいずれか1項に記載の運動指導システム。
【請求項5】
前記1または複数のプロセッサは、
前記骨格情報と前記好ましい動作データとを比較して前記身体運動の動作評価を行い、
前記動作評価、前記動作評価をもたらす原因、前回の身体運動から改善された点、改善策の少なくともいずれか1つを出力する、
請求項4に記載の運動指導システム。
【請求項6】
前記1または複数のプロセッサは、
特徴空間において前記ユーザの骨格情報、筋力及び柔軟性の少なくとも何れか1つを表す特徴ベクトルとの距離が近い順に1つ以上の模範動作の特徴ベクトルを特定し、当該1つ以上の模範動作に基づいて好ましい動作データを生成する、
請求項4に記載の運動指導システム。
【請求項7】
ユーザの身体情報の入力を受け付け、
前記ユーザの身体運動の目標を取得し、
前記身体運動を撮像した動画像を解析して得られた当該身体運動に対応する骨格情報を取得し、
前記身体運動の目標に関連付けられた複数の模範動作データを記憶させ、
前記身体運動の目標に対応する好ましい動作データを、前記身体情報および前記骨格情報の少なくとも何れか1つに基づいて前記複数の模範動作データの中から検索し、
前記好ましい動作データに基づいて前記身体運動の評価又は改善策を出力する、運動指導方法。
【請求項8】
コンピュータに、
ユーザの身体情報の入力を受け付ける機能と、
前記ユーザの身体運動の目標を取得する機能と、
前記身体運動を撮像した動画像を解析して当該身体運動に対応する骨格情報を取得する機能と、
前記身体運動の目標に関連付けられ記憶された複数の模範動作データから前記身体運動の目標に対応する好ましい動作データを、前記身体情報および前記骨格情報の少なくとも何れか1つに基づいて検索する機能と、
前記好ましい動作データに基づいて前記身体運動の評価又は改善策を出力する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、運動指導システム、運動指導方法、およびプログラムに関する。
【背景技術】
【0002】
特許文献1には、運動中の身体を撮像した画像を解析して、該画像解析部が特定した画像中の体の部位に係る値と記憶された身体の部位の位置に係る基準値とを比較して運動の評価値を決定する運動評価システムが記載されている。運動評価システムは、運動の改善の目的と身体の部位の位置に対応付けられた改善策のアドバイスを出力する。
特許文献2には、運動教育を受ける人に対し正しい運動教育を実施するシステムが記載されている。サーバは、情報端末から送信された指導要求を受けると指導要求に含まれる要素に対応する標準動作データをデータベースから取得し、人の動作情報と標準動作の比較結果に基づいて、人の動作の改善点を生成し、端末に送信する。ユーザは、動作の改善点及びパーソナルアドバイスを受けることができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-141806号公報
【特許文献2】特開2021-40794号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
これまで、ユーザに対して運動の改善策を提示するシステムは、ユーザの動作と予め決められた基準となる動作とを比較評価した結果に基づき、改善策を提示していた。しかしながら、基準となる動作データが、必ずしもユーザの身体条件や目標に合致する基準であるとは限らないため、ユーザにとって最適な改善策を提示することは容易でなかった。
【0005】
本発明は、かかる実情に鑑み考え出されたものであり、その目的は、ユーザの身体運動とユーザの身体条件及び運動目標に合致した模範動作データとの比較結果を利用しない場合に比べて、ユーザの目標に導くためのより適したアドバイスを提供することである。
【課題を解決するための手段】
【0006】
請求項1に記載された発明は、1または複数のプロセッサを備え、前記1または複数のプロセッサは、ユーザの身体情報の入力を受け付け、前記ユーザの身体運動の目標を取得し、前記身体運動を撮像した動画像を解析して得られた当該身体運動に対応する骨格情報を取得し、前記身体運動の目標に関連付けられ記憶された複数の模範動作データから、当該身体運動の目標に対応する好ましい動作データを、前記身体情報および前記骨格情報の少なくとも何れか1つに基づいて検索し、前記好ましい動作データを用いて前記身体運動の評価又は改善策を出力する、運動指導システムである。
請求項2に記載された発明は、前記1または複数のプロセッサは、前記身体運動に対応する柔軟性を算出し、前記ユーザから要求された前記身体運動の目標に対応する好ましい動作データを、前記身体情報、前記骨格情報、および前記柔軟性の少なくとも何れか1つに基づいて検索する、請求項1に記載の運動指導システムである。
請求項3に記載された発明は、前記1または複数のプロセッサは、前記ユーザの前記身体運動の履歴から、筋力を算出し、前記ユーザから要求された前記身体運動の目標に対応する好ましい動作データを、前記身体情報、前記骨格情報、および前記筋力の少なくとも何れか1つに基づいて検索する、請求項1に記載の運動指導システムである。
請求項4に記載された発明は、前記1または複数のプロセッサは、前記模範動作データから検索した複数の動作データに基づいて好ましい動作データを生成する、請求項1から請求項3のいずれか1項に記載の運動指導システムである。
請求項5に記載された発明は、前記1または複数のプロセッサは、前記骨格情報と前記好ましい動作データとを比較して前記身体運動の動作評価を行い、前記動作評価、前記動作評価をもたらす原因、前回の身体運動から改善された点、改善策の少なくともいずれか1つを出力する、請求項4に記載の運動指導システムである。
請求項6に記載された発明は、前記1または複数のプロセッサは、特徴空間において前記ユーザの骨格情報、筋力及び柔軟性の少なくとも何れか1つを表す特徴ベクトルとの距離が近い順に1つ以上の模範動作の特徴ベクトルを特定し、当該1つ以上の模範動作に基づいて好ましい動作データを生成する、請求項4に記載の運動指導システムである。
請求項7に記載された発明は、ユーザの身体情報の入力を受け付け、前記ユーザの身体運動の目標を取得し、前記身体運動を撮像した動画像を解析して得られた当該身体運動に対応する骨格情報を取得し、前記身体運動の目標に関連付けられた複数の模範動作データを記憶させ、前記身体運動の目標に対応する好ましい動作データを、前記身体情報および前記骨格情報の少なくとも何れか1つに基づいて前記複数の模範動作データの中から検索し、前記好ましい動作データに基づいて前記身体運動の評価又は改善策を出力する、運動指導方法である。
請求項8に記載された発明は、コンピュータに、ユーザの身体情報の入力を受け付ける機能と、前記ユーザの身体運動の目標を取得する機能と、前記身体運動を撮像した動画像を解析して当該身体運動に対応する骨格情報を取得する機能と、前記身体運動の目標に関連付けられ記憶された複数の模範動作データから前記身体運動の目標に対応する好ましい動作データを、前記身体情報および前記骨格情報の少なくとも何れか1つに基づいて検索する機能と、前記好ましい動作データに基づいて前記身体運動の評価又は改善策を出力する機能と、を実現させるためのプログラムである。
【発明の効果】
【0007】
本発明によれば、目標に関連付けられた模範動作データと身体運動との比較結果を利用しない場合に比べて、ユーザの目標に導くためのより良いアドバイスを提供することができる。
【図面の簡単な説明】
【0008】
【
図1】本実施の形態が適用される運動指導システムの全体構成を示す図である。
【
図4】姿勢推定データ記憶部に記憶される模範動作情報の一例である。
【
図5】(a)は、特徴空間における模範動作データから好ましい動作データを検索する処理の概念図である。(b)は、フォームの特徴量を出力するモデルの概念図である。
【
図6】解析結果記憶部に記憶される動作評価情報の構成例である。
【
図7】解析結果記憶部に記憶される改善策情報の構成例である。
【
図8】運動指導システムの端末装置側の入力画面を示す図である。
【
図9】運動指導システムの端末装置側の表示画面を示す図である。
【
図10】運動指導システムの端末装置側のメニュー指導画面を示す図である。
【
図11】端末装置の処理の流れを示すフローチャートである。
【
図12】サーバの処理の流れを示すフローチャートである。
【
図13】端末装置の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0009】
〔運動指導システムの全体構成〕
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
図1は、本実施の形態が適用される運動指導システムのハードウェア構成を示す図である。
運動指導システム1は、ユーザの運動を指導するために使われる端末装置10とユーザの動作を評価するサーバ30と、がネットワーク50を介して繋がったシステムである。本実施の形態にて例示している運動指導システム1は、例えば、ユーザの動作が撮影された動画データについて、そのユーザの動作を評価してユーザに評価結果又はアドバイスを提供するシステムである。その一例として、スポーツジムでトレーニングを行うユーザの動作が撮影された動画像データを解析評価し、ユーザの動作の改善を図る情報を提供するシステムがある。
【0010】
端末装置10は、例えばスマートフォンやタブレットなどであるコンピュータ端末装置で構成される。端末装置10は、装置全体を制御するプロセッサ(CPU(Central Processing Unit))である制御部11と、演算に際して作業エリアとして用いられるRAM(Random Access Memory)などのメモリ12と、プログラムや各種設定データなどの記憶に用いられるHDD(Hard Disk Drive)や半導体メモリ等の記憶装置である記憶部13と、を有している。
また、端末装置10は、ネットワーク50を介して姿勢推定データ等のデータの送受信を行う通信部14を有している。更に、端末装置10側のユーザからの入力操作を受け付けるタッチパネル、キーボード、ポインティングデバイスなどの操作部15と、ユーザに対して画像やテキスト情報などを表示する液晶ディスプレイなどからなる表示部16と、表示部16を制御する表示制御部17とを有している。さらに、端末装置10は、ユーザの動きを動画像データとして撮影できる撮像部18を有している。
【0011】
サーバ30は、例えばワークステーション、デスクトップPC、ノートPCなどであるコンピュータ装置で構成される。サーバ30は、装置全体を制御するプロセッサ(CPU(Central Processing Unit))である制御部31と、演算に際して作業エリアとして用いられるRAM(Random Access Memory)などのメモリ32と、プログラムや各種設定データなどの記憶に用いられるHDD(Hard Disk Drive)や半導体メモリ等の記憶装置である記憶部33と、を有している。また、ネットワーク50を介してデータの送受信を行う通信部34を有している。更に、サーバ30側のユーザからの入力操作を受け付けるキーボード、ポインティングデバイス、タッチパネルなどの操作部35と、サーバ利用者に対して画像やテキスト情報などを表示する液晶ディスプレイなどからなる表示部36と、表示部36を制御する表示制御部37とを有している。
【0012】
この端末装置10やサーバ30、端末装置10やサーバ30に接続される各種装置などに用いられるCPUによって、本件における「1又は複数のプロセッサ」を構成し、本実施の形態における各種機能を実現している。
また、
図1に示す端末装置10やサーバ30の各種構成は、必ずしも筐体を同じくする必要はなく、システムとして把握される態様がある。本体装置と筐体が異なる場合には、有線または無線で接続される。
【0013】
図2は、端末装置の機能構成を示す図である。端末装置10は、ユーザの動作の動画像を撮像する撮像部18と、撮像された動画像などを表示する表示部16とを有している。撮像部18としてのカメラは端末装置10とは別筐体として設けられていてもよく、複数台設置される態様もある。この撮像部18は、深さを測ることで身体の3次元情報(深度マップ)を取得できるデプスカメラであってもよい。表示部16は、ユーザの動作状態、動作評価および動作へのアドバイスを表示する表示手段の一つとして機能する。また、端末装置10は、ユーザの入力を受け付ける受付部20と、入力された情報や動画像のデータなどを記憶する記憶部13と、描画や機能制御のためのデータの処理を行うデータ処理部19とを有している。また更に、記憶された情報を出力する出力部21とデータの送受信を行う通信部14とを有している。
記憶部13は、ユーザの入力したテキスト等の情報を記憶する情報記憶部22と、撮像部18で撮像した動画データ又は外部から取得した動画データなどを記憶する画像記憶部23とユーザの姿勢推定結果やユーザの動作の解析結果などを記憶する結果記憶部24を有している。
【0014】
データ処理部19は、表示部16に表示するために画像データを動画像として表示させる画面描画部25と、ユーザの動作を撮像した動画像からユーザの姿勢を推定する姿勢推定部26とを有している。
姿勢推定部26は、動画像データを構成するフレームに写っているユーザの姿勢を推定する。姿勢推定のアルゴリズムは、機械学習モデルを用いて、人体の各関節点の3次元位置を推定する既存の手法を使うことができる。具体的には、例えば、Microsoft社のAzure Kinect DKで取得したRGBと深度の情報から、Azure Kinect Sensor SDK及び Body tracking SDKを利用して、各関節点の位置を取得することができる。また、Google社の開発した骨格検出モデルBlazePose等を利用してもよい。
姿勢推定部26により推定された「姿勢推定データ」は、関節の推定位置を示すノード(点)とノード間を繋ぐエッジ(線)の情報から構成される。姿勢推定部26は、さらにユーザの姿勢推定データから骨格情報を算定する。「骨格情報」とは、推定された骨格の位置、推定された関節間の長さ、推定された関節を中心とするエッジのなす角度、動作のキーポイント(例えば、スクワットのボトム)での関節位置、キーポイントでの関節角度を含む情報である。
【0015】
姿勢推定部26は、動画像データを構成するフレームに写っているユーザの姿勢を推定すると同時に、ポーズトラッキング(Pose Tracking)と呼ばれる手法で、フレーム間における同一人物を同定して関連付けている。このため、上述の姿勢推定部26の処理は、フレーム毎に独立した処理を行うが、前後フレームのユーザを同一人物と認識し、同一人物を時間方向に追跡することが可能になる。これを全フレームに渡って行うことで、姿勢推定結果が同一人物のデータのグループとしてカテゴライズされる。なお、ポーズトラッキング以外の手法で同一人物を特定しても構わない。
姿勢推定部26は、上記のようにフレーム間における同一人物を追跡することで、ユーザの骨格情報の時間的変化の情報を生成することができる。骨格情報の時間的変化の情報とは、例えば、各関節の位置の推移、各関節を中心とする角度推移、動作開始から動作のキーポイントとなるまでの推移時間(秒)、各関節位置の1レップ(ベンチプレスのバーを下ろして上げるまでの一往復を1サイクルとする単位)の平均座標等の統計量等が挙げられる。
本実施形態において、「骨格情報」は、上記の時間的変化の情報をも含み得る。
【0016】
図3は、サーバの機能構成を示す図である。サーバ30は、姿勢推定データなどを記憶する記憶部33、姿勢推定データ等の送受信を行う通信部34、各種の入力データを受け付ける受付部38、取得した姿勢推定データを解析するデータ処理部39を有する。本明細書においては、「解析」とは、情報を分析するだけでなく、分析した結果から判明した状態を改善するための対応策などを検討することも含む。さらに、ユーザの姿勢推定データを、通信部34を介して取得する姿勢推定データ取得部48を有する。また、ユーザの端末装置10の表示部16に、動作の解析結果を出力する解析結果出力部49を有する。「解析結果」とは、情報を分析した結果の他、分析した結果から判明した状態を改善するためのアドバイス、対応策、訓練メニューなどをも含み得る。
【0017】
記憶部33は、通信部34を介して端末装置10からユーザ情報を記憶するユーザ情報記憶部45、解析結果を記憶する解析結果記憶部46、ユーザの動作の姿勢推定データや模範となる動作フォームに対応する姿勢推定データを記憶する姿勢推定データ記憶部47を有する。
ユーザ情報記憶部45に記憶されるユーザ情報は、解析の都度、端末装置10から取得して記憶する態様の他、予めユーザを識別する識別情報とともに記憶しておく態様がある。この「ユーザ情報」とは、解析対象となるユーザの識別情報、身長や体重などの身体情報、年齢、性別、ユーザの身体運動の目標、トレーニング履歴などユーザに関係する解析対象の情報である。
解析結果記憶部46は、データ処理部39が解析した結果のデータを、ユーザ情報記憶部45に記憶されるユーザ情報に対応付けて記憶する。
姿勢推定データ記憶部47は、端末装置10から受信したユーザの姿勢推定データや、トレーナー、指導者、又は有名選手のような模範となる動作の姿勢推定データを記憶する。さらに、撮像動画データそのものやそれを間引いた動画データ、解析用途中の動画像データ、圧縮された動画像データをも記憶する記憶部であってもよい。
【0018】
データ処理部39は、柔軟性や筋力を算出する身体指標算出部40と、ユーザにとって模範となるフォームを検索する検索部41と、検索された複数の模範動作データに基づいて好ましいフォームを補完・生成する最適フォーム生成部42と、ユーザの姿勢推定データと好ましいフォームの姿勢推定データとを比較してユーザの動作を評価する動作評価部43と、動作評価に基づいて改善策を生成する改善策生成部44とを有する。
【0019】
身体指標算出部40は、端末装置10から送信されたユーザの姿勢推定データに基づいて、柔軟性及び筋力を算定する。
本実施形態において、「柔軟性」とは、ユーザの身体が正しく機能的に動いていることを示す指標であり、例えば、FMS(Functional Movement Screen)と言われる基本動作7種目(ディープスクワット、ハードルステップ、インラインランジ、ショルダーモビリティ、アクティブストレートレッグレイズ、トランクスタビリティプッシュアップ、ロータリースタビリティ)の測定結果に基づいて算出されたものであってもよい。柔軟性は、上記7種目のそれぞれにつけた得点の単純な合計としてもよく、重み付けした合計点であってもよい。さらに、柔軟性は、上記7種目に対応するスコアを要素とする7次元のベクトルであってもよい。また、柔軟性は、ユーザの身体が正しく機能的に動いていることを示す指標であれば、上記基本動作7種目に基づいて算出される必要はなく、端末装置10から送信されたユーザの通常のトレーニングの姿勢推定データに基づいて算出されるものであってもよい。
【0020】
また、本実施形態において、「筋力」とは、ユーザの筋肉の発揮する能力を示す指標である。筋力は、実際に測定した筋力であってもよいが、筋力を他人や過去の自分と相対的に比較し得る指標であってもよい。例えば、ユーザの今までのトレーニングの累積回数や合計挙上重量であってもよく、半年以内のトレーニングの累積回数や合計挙上重量であってもよい。また、トレーニングをしないと筋力が落ちる現象を再現するようにトレーニングの累積回数又は合計挙上重量が時間的に減衰する指標としてもよい。
例えば、1週間以内に実行したベンチプレスの回数Caに対する重み係数αは1とし、1週間より前で3ヶ月以内に実行したベンチプレスの回数Cbに対する重み係数βは0.5とし、3ヶ月より前で6ヶ月までに実行したベンチプレスの回数Ccに対する重み係数γは0.3として、以下の式に従って筋力を算出することとしてもよい。
筋力 = α*Ca+β*Cb+γ*Cc
【0021】
検索部41は、姿勢推定データ記憶部47に記憶された模範データの中から、ユーザの身体運動の目標に適したフォーム候補を1つ以上検索する。
本実施形態において、「ユーザの身体運動の目標」とは、ユーザが身体をトレーニングすることにより到達したい理想の体型である。例えば、「筋肉量が多いボディビルダー」、「スマートな痩せ型の体型」、「下半身の筋肉が強化された体型」「野球選手のイチロー」、「サッカー選手のメッシ」などの目標が挙げられる。
【0022】
また、本実施形態において、「模範データ」とは、指導者、トレーナー、有名選手などの模範となる模範動作者の身体指標である。「身体指標」とは、骨格情報、柔軟性、筋力、身体情報のいずれかを含む身体に関する指標である。「模範フォーム」とは、模範動作者の動作から推定された姿勢データである。さらに、「ユーザに適したフォーム候補」とは、ユーザにとって好ましいフォームを決定するために参照するフォームであり、1つのフォームが検索されるとしても複数のフォームが検索されるとしてもよい。
フォーム候補を検索する場合、ユーザに関する情報、すなわち身体情報、動作フォーム、柔軟性、筋力の何れか1つ以上に基づいて検索する。例えば、検索部41は、ユーザの動作フォームが最も近い模範フォームを検索し、好ましいフォームとしての最適フォームとすることができる。
なお、本実施形態において、「模範動作データ」とは、模範動作者の骨格情報、及び、それに関連付けられた身体情報、柔軟性、筋力をも含み得る。
【0023】
また、検索部41は、複数の模範動作者の身体情報、動作フォーム、柔軟性、筋力のベクトル(以下、模範動作者ベクトルという)の中から、ユーザの身体情報、動作フォーム、柔軟性、筋力のベクトル(以下、ユーザベクトルという)に基づいて検索する。つまり、ユーザベクトルに距離が近い複数の模範動作ベクトルをユーザに適したフォーム候補として特定する。
さらに、ユーザの身体運動の目標に合致した最適フォームを特定するために、模範動作ベクトルは、身体運動の目標に関連付けられて姿勢推定データ記憶部47に記憶されていることが望ましい。
【0024】
図4は、姿勢推定データ記憶部に記憶される模範動作情報の一例である。模範動作者の身体情報、骨格、柔軟性、筋力、模範フォームデータが、ユーザの目標に対応付けられて格納されている。このため、検索部41は、ユーザの目標に対応する模範動作の情報から検索することができる。すなわち、ユーザの目標が筋肉モリモリ体型であれば、検索部41は、筋肉モリモリ体型にチェックが付いた模範動作情報を対象として検索を行う。したがって、運動指導システム1は、ユーザの身体運動の目標に合致した、好ましい動作フォームを特定することができる。
【0025】
本実施形態において、ユーザの「身体情報」とは、身長又は体重を含む身体に関する情報である。検索部41は、解析対象であるユーザの身体情報を、ユーザが端末装置10に入力した情報をサーバ30が受信することにより参照することとしてもよく、また、予めサーバ30のユーザ情報記憶部45に記憶されたユーザ情報を利用することとしてもよい。
【0026】
上述の説明では、ベクトル間の距離の近さを類似度として扱うことで検索を行っているが、Encoder等を通した特徴空間において近傍のベクトルを検索することにより、より特徴を反映した類似度の高いベクトルを検索することができ、ユーザにとってより適切なフォームを検索することが可能になる。
【0027】
図5(a)は、特徴空間における模範動作データから好ましい動作データを検索する処理の概念図である。特徴空間とは、特徴ベクトルが表現される空間であり、特徴ベクトルとは、各種情報に関する変数値を要素とするベクトルの形式で表現したものである。Encoderは、事前に、模範動作者のベクトルを入出力として学習させた自己符号器(Autoencoder)のEncoder部分を利用することができる。特徴ベクトルは人毎に用意されるため、Encoderを利用することにより、骨格情報、筋力、及び柔軟性のいずれかを含む身体指標から、フォームの類似性を、各人を表す点の距離として計算することができるようになる。身体指標をEncoder でエンコードした空間内では、各点の間の距離はフォームの類似性に対応するようになる。つまり、模範動作者の特徴ベクトルの中から、ユーザの特徴ベクトルに近い特徴ベクトルを検索することによって、ユーザにとって暫定的な理想フォーム(お手本となるフォーム)を検索することができることを意味する。また、Encoderは、フォームの類似性を計算できる空間に写像できるという条件であれば、どのような関数でも構わない。深層ニューラルネットワーク(DNN)でも、単純な線形関数でも、何らかのカーネルでも構わない。
【0028】
図5(b)は、フォームの特徴量を出力するモデルの概念図である。前述のAutoencoderのDecoder部分を、別途学習させて用意されたフォームの特徴量を出力するDecoderで置き換えることで、ユーザベクトルを入力として、最適なフォームを出力するモデルが生成される。Decoderは、例えば、深層特徴量(128次元など)を入力とし、線形変換と正規化線形ユニットを複数通して、最終的な出力(フォームの特徴量、10次元など)を生成する。Decoderがフォームの特徴量としてキーポイント(例えば、スクワットのボトム)のデータを生成したとすると、この生成された最適な動作フォームの特徴量と比べて、ユーザの現在のフォームの逸脱が大きければ、これを正すように指導することが可能になる。例えば、生成した特徴量(例えば、膝関節の角度)と比べて角度が明らかに浅ければ、もっと深くしゃがむように指導するアドバイスを提供することができる。
【0029】
以上、EncoderとDecoderを利用した検索について説明したが、本発明は、必ずしもEncoderやDecoderを利用する場合に限定されず、Encoderを用いない特徴空間における模範動作データの検索をも含む。
【0030】
検索部41により、ユーザに適したフォーム候補が1つ検索された場合は、検索されたフォーム候補をユーザにとっての最適なフォームとして特定する。
最適フォーム生成部42は、検索部41により、ユーザに適したフォーム候補が2つ以上検索された場合、複数のフォーム候補の姿勢推定データを補完することにより、1つの最適フォームとしての姿勢推定データを生成する。ここで、「補完する」とは、複数のフォームの平均的なフォームを合成することや、体の部位ごとに異なる模範動作者の模範フォームを組み合わせることで最適なフォームを生成することを含む。
【0031】
動作評価部43は、ユーザの姿勢推定データと最適フォームの姿勢推定データとを比較し、差分に基づいて、動作評価を行う。例えば、差分が小さい場合は、高スコア、差分が大きい場合には低スコアとする形式で評価することができる。また、比較による動作評価は、姿勢全体での評価であってもよく、体の部分のみに着目して評価してもよい。また、全体と部分の両方を評価してもよい。
動作評価部43は、ユーザの動作の速度、関節を中心とする角度、体の傾きなど動作の各部分の定量的な情報を計算する。さらに、動作評価部43は、腰が落ちているか、体を前傾させているか、腕を十分に上げているか、あごの位置が適切か、足の開き方は適切か等の定性的な評価情報を作成する。当然ながら、定性的な評価情報は、腰の位置情報、体の傾斜角、動作速度、あごの位置情報などの定量的な情報に基づいて作成されてもよい。
動作評価部43は、ユーザの動作状態の評価を行うだけでなく、動作状態を解説する説明情報などの情報を作成してもよい。
さらに、動作評価部43は、解析結果記憶部46から過去のユーザの動作状態の結果を取得して、現在の動作状態の結果と比較することにより、前回のトレーニング時点からの改善点を評価する。さらに、動作評価部43は、今回の動作評価の結果のデータを、次回の比較のために、解析結果記憶部46に記憶させる。
【0032】
図6は、解析結果記憶部に記憶される動作評価情報の構成例である。動作評価部43により評価された結果は、
図6に示すように、全体の「スコア」と、「良好な点」、「前回と比べてよくなった点」、「股関節の筋発揮力」、「膝関節の筋発揮力」、「体幹の安定力」、「下半身の柔軟性」、「上半身の柔軟性」などの小項目のスコアを格納する。小項目のスコアは、ユーザへの表示の際にはレーダーチャートとして表示される。さらに、動作評価情報には、ユーザの動作の良い点についてのコメントが含まれる。例えば、「良好な点」欄には、ユーザの動作フォームと模範動作フォームとの一致度が高い部分に着目してポジティブな評価コメントが格納されている。例えば、「前回と比べてよくなった点」欄には、直前のトレーニング履歴と比較して改善された点、すなわち「ニーイン(膝が内側に入る現象)が改善しました」というコメントが格納されている。
【0033】
さらに、動作評価部43は、上記のようなユーザフォームと最適フォームとの比較から直接導かれる評価だけでなく、ユーザの動作をもたらした原因(内因)を特定することとしてもよい。例えば、3次元姿勢推定からデータから、『スクワットが浅い』と判断された場合、その現象を引き起こしている本当の原因(内因)として、例えば、『足首が硬い』、『筋肉(ハムストリング)が硬い』、『重量が重すぎる』、『正しいフォームを知らない』等が挙げられる。これらの動作原因は、3次元姿勢情報、身体情報、柔軟性、及び筋力の情報に基づいて機械学習済モデルを用いて推論することができる。
【0034】
改善策生成部44は、動作評価の結果に基づいて、フォーム改善策、より目標に効率的に到達するためのアドバイス、お奨めの訓練メニューを生成する。改善策生成部44は、予め記憶された情報から、改善策や訓練メニューを取得してもよい。さらには、インターネットなどのネットワークを介してサーバ外部の情報をユーザに対する提示情報として作成してもよい。
改善策生成部44は、ユーザフォームと最適フォームとの比較から直接導かれる評価に対応する改善策を特定することとしてもよいし、内因に関連付けられた改善策を特定してもよい。例えば、改善策生成部44は、「ハムストリングが硬い」という内因に対しては、「ハムストリングのストレッチをすることを推奨します」という改善策、「足首が硬い」という内因に対しては、「足首のストレッチをしましょう」という改善策、「重量が重すぎる」という内因に対しては、「重量を軽くしてトレーニングをしましょう」という改善策を生成する。
改善策生成部44は、予め内因に関連付けられたアドバイスを解析結果記憶部46に記憶させておき、内因に応じてアドバイスを抽出することにより改善策を生成してもよい。
また、改善策生成部44は、改善事項だけでなく、動作評価の結果により高スコアと評価された良好な事項に関するコメントを生成してもよく、前回のトレーニングから改善した事項に関するコメントを生成してもよい。
【0035】
図7は、解析結果記憶部に記憶される改善策情報の構成例である。改善策情報は、動作評価部43の評価により、観測されたユーザの動作の悪い点と特定された内因、そして改善策生成部44により生成されたアドバイスとが関連付けられて格納されている。改善策情報Aと改善策情報Bとは、同じ観測結果であるが、内因の違いにより、異なるアドバイスが格納されている。
このように、内因を特定することにより、内因別にアドバイスを用意することができるので、観測結果に直接対応付けたアドバイスに比べると、よりユーザに適した改善策を提供することが可能になる。
【0036】
動作評価の1つである動作フォームの観測結果に、1つ以上の内因が紐づけられている。ある観測結果が見られたということは、紐づけられた内因がユーザに存在する可能性がある。この観測結果から内因の推定は確率過程で求めることができる。例えば、スクワットでしゃがんだときに深さが浅いという観測結果に対して、「重量が筋力に対して重すぎる」という内因が30%、「ハムストリングが硬い」という内因が20%、「足首が硬い」という内因が20%など、複数の内因を予め確率値として記憶しておくことができる。そうすることで、各観測で得られた内因候補とその確率を累積することにより、最も確率が高い内因を観測された現象を引き起こしている本当の原因として推定する。
このような原因推定には、確率過程を取り入れた決定木モデルやベイジアンネットワークモデルを利用することができる。
【0037】
図8は、運動指導システムの端末装置側の入力画面を示す図である。端末装置10の表示部16に表示された入力画面から、ユーザは、ユーザ情報の一つとして、解析対象であるユーザの識別番号、ユーザの氏名、身長、体重、性別、年齢、身体運動の目標などの情報を入力することができる。ユーザの識別番号は、ユーザを識別できる情報であればよく、トレーニングジム、トレーニングクラス、利用番号などの情報やそれらを組み合わせた記号であってもよい。ここで、ユーザ情報とは、ユーザに関する属性、身体情報などユーザに関する情報、ユーザを識別する識別情報などを含むことができる。但し、識別情報が存在せず、入力画面からは性別および/または年齢が入力されてサーバに送信される、という態様もある。かかる態様では、識別情報による識別なしで、性別および/または年齢で他と区別される。
【0038】
身体運動の目標の入力欄は、ユーザがトレーニングすることにより到達したい理想体形を入力する。予め用意したプルダウン形式の目標リストから選択して入力することとしてもよい。例えば、目標としては、「筋肉量が多いボディビルダー」、「スマートな痩せ型の体型」、「下半身の筋肉が強化された体型」「野球選手のイチロー」、「サッカー選手のメッシ」などが用意されている。
入力されたユーザ情報は、送信ボタンをタッチ又はクリックすることにより、サーバ30に送信される。
【0039】
ユーザ情報は、サーバ30の検索部41がユーザに適した模範フォームを検索する際に用いられる。例えば、検索部41は、身体運動の目標が同一で、身長、体重がユーザに近い模範動作者の模範フォームを検索する。
また、ユーザ情報は、上述のように端末装置10の入力画面から入力されてサーバ30に送信されて利用されるだけでなく、予めサーバ30のユーザ情報記憶部45に格納されていて、検索部41が検索の都度、ユーザ情報記憶部45から取得して用いることとしてもよい。
【0040】
図9は、運動指導システムの端末装置側の表示画面を示す図である。運動指導システムの端末装置10側の表示部16に表示される表示画面では、
図9に示すように、リアルタイムで変化する動画像にユーザの動作が表示されている。動画像には、ユーザの姿勢推定情報が重畳表示されている。さらに、ユーザの目標に最適なフォームの姿勢推定情報を、ユーザの姿勢推定情報とは色を変えて表示してもよい。
表示画面の右側には、「ユーザの身体情報」、「フォーム指導内容」、「トレーニング履歴」、「トレーニング目標」が記載されている。「ユーザの身体情報」には、身長及び体重が表示されており、「トレーニング履歴」には、今までのトレーニング内容が記載されている。「トレーニング目標」には、ユーザの目指すべき理想の体型が表示されている。「フォーム指導内容」には、良好な点と、前回からの改善点、改善メニューの欄が用意されている。動作の悪い点だけでなく、良好な点や前回からの改善点などのポジティブなコメントが表示されることで、ユーザはトレーニングの意欲が向上する。改善メニューについては、画面の一部をクリックすることで、詳細な改善策や訓練メニューが表示された画面に遷移する。
表示画面の下段には、ユーザH1の動作評価結果である全体の総合的なスコアと小項目のスコアがレーダーチャートとして表示されている。
【0041】
図10は、運動指導システムの端末装置側のメニュー指導画面を示す図である。
図9の運動指導システムの表示画面中の改善点の欄をクリックすることにより、
図10に示すように詳細な改善策や訓練メニューが表示されたメニュー指導画面に遷移する。
メニュー指導画面には、「動作結果」、「原因(内因)」、「改善策」、「訓練メニュー」、そして特徴的な部位の位置や角度の時系列変化を示す図が表示されている。
表示画面に単に動作結果や改善策が表示されるだけでなく、内因まで表示された指導が行われるため、ユーザにとっては、なぜこのような改善策や訓練メニューが提示されたのかという観点において納得感のある指導を受けられる。
【0042】
〔運動指導システムの処理〕
次に、運動指導システム1の処理について説明する。
図11、13は端末装置の処理の流れを示すフローチャートであり、
図12は、サーバの処理の流れを示すフローチャートである。
図11は端末装置10で撮像した動画像データから算定した3次元姿勢推定データおよび入力されたユーザ情報をサーバに送信するまでの処理を示している。
図12は、端末装置10から送信された3次元姿勢推定データおよび入力されたユーザ情報に基づいて、動作解析を行う処理の流れを示している。
図13は、サーバ30で動作解析・評価をした結果を受信してから動作評価結果を表示するまでの処理を示している。
【0043】
〔サーバに動画像データを送信するまでの端末装置の処理〕
図11に示すように、
図2に示す制御部11は、ユーザからの開始の指定を受けて運動指導システムのアプリケーションを開始させる(ステップ101)。次に、画面描画部25は
図8に示す解析対象の入力画面を出力する(ステップ102)。ユーザは、
図8に示す解析対象の入力画面に、ユーザの識別番号、名前、身長、体重、性別、年齢、身体運動の目標などのユーザ情報を入力する。情報記憶部22は、入力されたユーザ情報を記憶する(ステップ103)。次に撮像部18がユーザの動作を撮像すると、画像記憶部23は、撮像されたユーザの動画像データを記憶する(ステップ104)。姿勢推定部26は、動画像中のユーザの身体動作の3次元姿勢推定を行い、骨格情報を生成する(ステップ105)。このとき、姿勢推定部26は骨格情報も生成する。通信部34は、情報記憶部22に記憶された身体情報を含むユーザ情報と結果記憶部24に記憶された3次元姿勢推定データ(骨格情報も含む)を、ネットワーク50を介してサーバ30に送信する(ステップ106)。ステップ106の端末装置10からサーバ30への送信は、例えば、1レップごとに送信する。種目によっては毎フレームごとに送信してもよい。ユーザの運動が継続している間は、上記ステップ104~106を繰り返す。そして、ユーザの一連の運動が終了し、ユーザからの終了の指示があった場合(ステップ107)、第1の処理が終了する。
【0044】
〔サーバにおける解析処理〕
次に、サーバ30の処理について説明する。
図12はサーバ30の処理の流れを示すフローチャートである。サーバ30は、ユーザの3次元姿勢推定データ(骨格情報を含む)およびユーザ情報(身体情報を含む)を端末装置10から受信する(ステップ201)。姿勢推定データ記憶部47は受信した3次元姿勢推定データを、ユーザ情報記憶部45はユーザ情報(身体情報を含む)を記憶する(ステップ202)。身体指標算出部40は、受信した3次元姿勢推定データから、柔軟性を算定する(ステップ203)。身体指標算出部40は、トレーニングの履歴情報から筋力を算定する(ステップ204)。検索部41は、骨格情報、柔軟性、筋力、及び身体情報に基づき、ユーザに適した模範動作者を検索する(ステップ205)。最適フォーム生成部42は、模範動作者のデータから好ましい動作フォームとしての最適な模範動作フォームを補完・生成する(ステップ206)。さらに、動作評価部43は、ユーザの3次元姿勢推定データと最適な模範動作フォームとを比較して動作評価する(ステップ207)。例えば、スクワットで腰が十分に落とせているかどうかは、1レップを通して、腰が最も下がったボトムフレームを判定して、そのときの腰の高さが基準値と比較して近いかどうかで判定する。そして、改善策生成部44は、動作評価結果に基づき、改善策を生成する(ステップ208)。通信部34は、動作評価結果、改善策、及び最適な模範フォームを端末装置に送信する(ステップ209)。ステップ209のサーバ30から端末装置10への送信は、例えば、1レップごとに送信する。1レップ毎に動作評価結果を端末装置10に送信することにより、フォームが乱れたときにリアルタイムにフィードバックができるため、間違ったフォームで1セットをこなしてしまい、その時点で体を痛めてしまうリスクを防ぐことができる。
【0045】
〔サーバから動作評価結果を受信した端末装置の処理〕
図13に示すように、端末装置10は、サーバ30から最適な模範動作フォーム、動作評価結果、改善策を受信する(ステップ301)。
端末装置10の画面描画部25は、サーバ30から受信した動作評価結果、改善策、及び好ましい動作データである最適な模範動作フォームを表示させる(ステップ302)。次に画面描画部25は、ユーザの画面遷移により、改善策を表示させる(ステップ303)、ユーザは、出力を指示することにより、出力部21は、動作解析レポートをPDF形式のファイルとして生成する、又はレポートを印刷出力させる(ステップ304)。
【0046】
以上のように、本実施の形態が適用される運動指導システム1は、ユーザが身体運動を行う環境下において撮像された動画像を動作解析することにより、動作評価の結果を簡易に得ることができる。
【0047】
本実施の形態は、ユーザが身体運動のトレーニングをする人として説明をしたが、指導者が端末装置10への入力や表示内容の確認をしつつ、身体運動のトレーニングを行う人に伝達しながら、身体運動の指導を行ってもよい。
【0048】
本実施の形態は、ユーザが撮影された動画像データに関し3次元姿勢推定をすることについて説明をしたが、本発明は、特に3次元姿勢推定に限定されて解釈されることはなく、二次元姿勢推定を用いた運動指導システムであってもよい。
【0049】
本実施の形態は、端末装置10とサーバ30を分けて、それぞれの機能を説明したが、本発明は、それぞれの機能が端末装置10とサーバ30のどちらにあるかに関して限定されて解釈されることはない。本発明の運動指導システムは、サーバ30で行う機能の一部又は全部を端末装置10に行わせる構成としてもよい。特に、インターネット接続が難しい環境に対応するために、サーバ30の処理をすべて端末装置10に統合したシステムであってもよい。
【符号の説明】
【0050】
1…運動指導システム、10…端末装置、11…制御部、12…メモリ、13…記憶部、
14…通信部、15…操作部、16…表示部、17…表示制御部、18…撮像部、19…データ処理部、20…受付部、21…出力部、22…情報記憶部、23…画像記憶部、24…結果記憶部、25…画面描画部、26…姿勢推定部、30…サーバ、31…制御部、32…メモリ、33…記憶部、34…通信部、35…操作部、36…表示部、37…表示制御部、38…受付部、39…データ処理部、40…身体指標算出部、41…検索部、42…最適フォーム生成部、43…動作評価部、44…改善策生成部、45…ユーザ情報記憶部、46…解析結果記憶部、47…姿勢推定データ記憶部、48…姿勢推定データ取得部、49…解析結果出力部、50…ネットワーク