(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-11
(45)【発行日】2024-03-19
(54)【発明の名称】運動支援装置、運動支援方法及び記録媒体
(51)【国際特許分類】
A63B 69/00 20060101AFI20240312BHJP
A63B 71/06 20060101ALI20240312BHJP
【FI】
A63B69/00 C
A63B69/00 A
A63B71/06 M
A63B71/06 T
(21)【出願番号】P 2023508305
(86)(22)【出願日】2021-03-25
(86)【国際出願番号】 JP2021012504
(87)【国際公開番号】W WO2022201418
(87)【国際公開日】2022-09-29
【審査請求日】2023-08-09
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100104765
【氏名又は名称】江上 達夫
(74)【代理人】
【識別番号】100107331
【氏名又は名称】中村 聡延
(74)【代理人】
【識別番号】100131015
【氏名又は名称】三輪 浩誉
(72)【発明者】
【氏名】安川 洵
(72)【発明者】
【氏名】西原 康介
(72)【発明者】
【氏名】大野 友嗣
【審査官】槙 俊秋
(56)【参考文献】
【文献】特開2017-55913(JP,A)
【文献】特開2020-194569(JP,A)
【文献】特開2017-215685(JP,A)
【文献】特開2016-208516(JP,A)
【文献】特開2016-41142(JP,A)
【文献】特開2020-5766(JP,A)
【文献】国際公開第2015/098260(WO,A1)
【文献】米国特許第10956673(US,B1)
【文献】米国特許出願公開第2021/0082412(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
A63B 69/00
A63B 71/06
(57)【特許請求の範囲】
【請求項1】
運動を行っているサンプル人物の動作を示すサンプル動作情報を、前記サンプル人物の動作の規則性に応じて複数の動作要素情報に分割する分割手段と、
事前学習モデルに前記複数の動作要素情報の時系列的な前後関係を学習させることで、運動を行っている対象人物の動作を示す対象動作情報に基づいて前記対象人物の動作を推定する推定モデルを生成する生成手段と
を備える運動支援装置。
【請求項2】
前記事前学習モデルは、前記複数の動作要素情報である複数の第1の動作要素情報の時系列的な前後関係を学習することで生成されたモデルであり、
前記複数の第1の動作要素情報は、第1の種類の運動を行っている前記サンプル人物の動作を示す前記サンプル動作情報である第1のサンプル動作情報を、前記サンプル人物の動作の規則性に応じて分割することで生成され、
前記分割手段は、前記第1の種類の運動とは異なる第2の種類の運動を行っている前記サンプル人物の動作を示す前記サンプル動作情報である第2のサンプル動作情報を、前記複数の動作要素情報である複数の第2の動作要素情報に分割し、
前記生成手段は、前記事前学習モデルに前記複数の第2の動作要素情報の時系列的な前後関係を追加的に学習させることで、前記推定モデルを生成する
請求項1に記載の運動支援装置。
【請求項3】
前記推定モデルは、前記第2の種類の運動を行っている前記対象人物の動作を示す前記対象動作情報に基づいて前記対象人物の動作を推定するモデルである
請求項2に記載の運動支援装置。
【請求項4】
前記第1のサンプル動作情報は、前記第1の種類の運動を行っている前記サンプル人物の模範的な動作と、前記第1の種類の運動を行っている前記サンプル人物の、前記模範的な動作とは異なる動作とを示し、
前記第2のサンプル動作情報は、前記第2の種類の運動を行っている前記サンプル人物の模範的な動作を示す
請求項2又は3に記載の運動支援装置。
【請求項5】
前記第1の種類の運動及び前記第2の種類の運動は、同じカテゴリに属する運動であり、
前記カテゴリは、運動によって動かす部位または運動によって負荷がかかる部位に基づき設定される
請求項2から4のいずれか一項に記載の運動支援装置。
【請求項6】
前記分割手段は、前記第1のサンプル動作情報を、前記複数の第1の動作要素情報に分割し、
前記生成手段は、前記複数の第1の動作要素情報の時系列的な前後関係を学習することで、前記事前学習モデルを生成する
請求項2から5のいずれか一項に記載の運動支援装置。
【請求項7】
前記生成手段が生成した前記推定モデルと前記対象動作情報とを用いて、前記対象人物の動作を推定する推定手段を更に備える
請求項1から6のいずれか一項に記載の運動支援装置。
【請求項8】
運動を行っている対象人物の動作を示す対象動作情報から前記対象人物の動作を推定可能な推定モデルを取得する取得手段と、
前記推定モデルと前記対象動作情報とを用いて、前記対象人物の動作を推定する推定手段とを備え、
前記推定モデルは、運動を行っているサンプル人物の動作を示すサンプル動作情報を、前記サンプル人物の動作の変化の流れに応じて複数の動作要素情報に分割し、且つ、事前学習モデルに前記複数の動作要素情報の時系列的な前後関係を学習させることで生成されるモデルである
運動支援装置。
【請求項9】
コンピュータを用いて構築されたシステムにおいて前記コンピュータが、サンプル動作情報を使用するステップを実行する運動支援方法であって、
前記サンプル動作情報は、運動を行っているサンプル人物の動作を示
し、
前記コンピュータが備える分割手段が、前記サンプル動作情報を、前記サンプル人物の動作の規則性に応じて複数の動作要素情報に分割
するステップを実行すること、及び、
前記コンピュータが備える生成手段が、事前学習モデルに前記複数の動作要素情報の時系列的な前後関係を学習させることで、運動を行っている対象人物の動作を示す対象動作情報に基づいて前記対象人物の動作を推定する推定モデルを生成する
ステップを実行することを含む運動支援方法。
【請求項10】
コンピュータに、
運動を行っているサンプル人物の動作を示すサンプル動作情報を、前記サンプル人物の動作の規則性に応じて複数の動作要素情報に分割し、
事前学習モデルに前記複数の動作要素情報の時系列的な前後関係を学習させることで、運動を行っている対象人物の動作を示す対象動作情報に基づいて前記対象人物の動作を推定する推定モデルを生成する
運動支援方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、運動を行っている人物を支援可能な運動支援装置、運動支援方法及び記録媒体の技術分野に関する。
【背景技術】
【0002】
運動を行っている人物を支援可能な運動支援装置の一例が、特許文献1に記載されている。特許文献1には、機械学習によって生成されたフォームモデルを用いて、リハビリテーションのための運動を行っている人物の動作フォームの判定を行う運動支援装置が記載されている。
その他、本開示に関連する先行技術文献として、特許文献2があげられる。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-055913号公報
【文献】特開2018-000230号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
運動支援装置は、一般的には、ある種類の運動(例えば、スクワット)を行っている人物の動作を示すデータを学習データとして用いる機械学習によって事前に生成済みのフォームモデルを用いる。一方で、運動支援装置が支援する人物は、フォームモデルが学習済みの運動のみならず、フォームモデルが動作を未だ学習していない運動を行う可能性がある。この場合、一般的には、フォームモデルが未だ学習していない運動を行っている人物の動作を示すデータを学習データとして用いる機械学習によって、新たなフォームモデルを生成することが望まれる。しかしながら、機械学習によるフォームモデルの生成には、フォームモデルが学習するべき運動を行っている人物の動作を示すデータが大量に必要になる。このため、フォームモデルを容易に生成することが難しいという技術的問題が生ずる。
【0005】
尚、特許文献1に記載されたフォームモデルに限らず、人物の動作を示す動作情報から人物の動作を推定する推定モデルを生成する際にも、推定モデルを容易に生成することが難しいという技術的問題が生ずる。
【0006】
この開示は、上述した技術的問題を解決可能な運動支援装置、運動支援方法及び記録媒体を提供することを課題とする。一例として、この開示は、人物の動作を推定する推定モデルを容易に生成することが可能な運動支援装置、運動支援方法及び記録媒体を提供することを課題とする。
【課題を解決するための手段】
【0007】
この開示の運動支援装置の第1の態様は、運動を行っているサンプル人物の動作を示すサンプル動作情報を、前記サンプル人物の動作の規則性に応じて複数の動作要素情報に分割する分割手段と、事前学習モデルに前記複数の動作要素情報の時系列的な前後関係を学習させることで、運動を行っている対象人物の動作を示す対象動作情報に基づいて前記対象人物の動作を推定する推定モデルを生成する生成手段とを備える。
【0008】
この開示の運動支援装置の第2の態様は、運動を行っている対象人物の動作を示す対象動作情報から前記対象人物の動作を推定可能な推定モデルを取得する取得手段と、前記推定モデルと前記対象動作情報とを用いて、前記対象人物の動作を推定する推定手段とを備え、前記推定モデルは、運動を行っているサンプル人物の動作を示すサンプル動作情報を、前記サンプル人物の動作の変化の流れに応じて複数の動作要素情報に分割し、且つ、事前学習モデルに前記複数の動作要素情報の時系列的な前後関係を学習させることで生成されるモデルである。
【0009】
この開示の運動支援方法の第1の態様は、運動を行っているサンプル人物の動作を示すサンプル動作情報を、前記サンプル人物の動作の規則性に応じて複数の動作要素情報に分割し、事前学習モデルに前記複数の動作要素情報の時系列的な前後関係を学習させることで、運動を行っている対象人物の動作を示す対象動作情報に基づいて前記対象人物の動作を推定する推定モデルを生成する。
【0010】
この開示の運動支援方法の第2の態様は、運動を行っている対象人物の動作を示す対象動作情報から前記対象人物の動作を推定可能な推定モデルを取得し、前記推定モデルと前記対象動作情報とを用いて、前記対象人物の動作を推定し、前記推定モデルは、運動を行っているサンプル人物の動作を示すサンプル動作情報を、前記サンプル人物の動作の変化の流れに応じて複数の動作要素情報に分割し、且つ、事前学習モデルに前記複数の動作要素情報の時系列的な前後関係を学習させることで生成されるモデルである。
【0011】
この開示の記録媒体の第1の態様は、コンピュータに、運動を行っているサンプル人物の動作を示すサンプル動作情報を、前記サンプル人物の動作の規則性に応じて複数の動作要素情報に分割し、事前学習モデルに前記複数の動作要素情報の時系列的な前後関係を学習させることで、運動を行っている対象人物の動作を示す対象動作情報に基づいて前記対象人物の動作を推定する推定モデルを生成する運動支援方法を実行させるコンピュータプログラムが記録された記録媒体である。
【0012】
この開示の記録媒体の第2の態様は、コンピュータに、運動を行っている対象人物の動作を示す対象動作情報から前記対象人物の動作を推定可能な推定モデルを取得し、前記推定モデルと前記対象動作情報とを用いて、前記対象人物の動作を推定し、前記推定モデルは、運動を行っているサンプル人物の動作を示すサンプル動作情報を、前記サンプル人物の動作の変化の流れに応じて複数の動作要素情報に分割し、且つ、事前学習モデルに前記複数の動作要素情報の時系列的な前後関係を学習させることで生成されるモデルである運動支援方法を実行させるコンピュータプログラムが記録された記録媒体。
【発明の効果】
【0013】
上述した運動支援装置、運動支援方法及び記録媒体によれば、人物の動作を示す動作情報から人物の動作を推定する推定モデルを生成する際に人物の動作の変化の流れを考慮することができる、又は、人物の動作の変化の流れを考慮して生成された推定モデルを利用することができる。
【図面の簡単な説明】
【0014】
【
図1】
図1は、本実施形態の運動支援システムの全体構成を示すブロック図である。
【
図2】
図2は、本実施形態の運動支援装置の構成を示すブロック図である。
【
図3】
図3は、人間の体を表すテンプレートの一例を示す平面図である。
【
図4】
図4は、動作情報のデータ構造の一例を示す。
【
図5】
図5は、動作情報を分割することで生成される複数の動作要素情報を示す。
【
図7】
図7は、推定モデルが規定する表現空間(ベクトル空間)を概念的に示す。
【
図8】
図8は、学習データセットのデータ構造の一例を示す。
【
図9】
図9は、事前学習処理の流れを示すフローチャートである。
【
図10】
図10は、追加学習処理の流れを示すフローチャートである。
【
図11】
図11は、運動支援処理の流れを示すフローチャートである。
【
図12】
図12は、運動支援処理における対象人物の動作の推定結果の出力例(表示例)を示す。
【
図13】
図13は、変形例における運動支援装置の構成を示すブロック図である。
【
図14】
図14は、変形例における運動支援装置の構成を示すブロック図である。を示す平面図である。
【発明を実施するための形態】
【0015】
以下、図面を参照しながら、運動支援装置、運動支援方法及び記録媒体の実施形態について説明する。以下では、運動支援装置、運動支援方法及び記録媒体の実施形態が適用された運動支援システムSYSについて説明する。
(1)運動支援システムSYSの構成
はじめに、本実施形態の運動支援システムSYSの構成について説明する。
(1-1)運動支援システムSYSの全体構成
【0016】
はじめに、
図1を参照しながら、本実施形態の運動支援システムSYSの全体構成について説明する。
図1は、本実施形態の運動支援システムSYSの全体構成を示すブロック図である。
【0017】
運動支援システムSYSは、運動を行っている対象人物を支援するための運動支援処理を行う。例えば、運動支援処理は、対象人物が適切な運動を行うことができるように、対象人物を支援する処理を含んでいてもよい。例えば、運動支援処理は、運動を行っている対象人物の動作が、模範的な動作(言い換えれば、見本となる動作又は理想的な動作)に近づく又は一致するように、対象人物を支援する処理を含んでいてもよい。例えば、運動支援処理は、運動を行っている対象人物の実際の動作と模範的な動作とのずれを対象人物に通知することで対象人物の動作が模範的な動作に近づく又は一致するように、対象人物を支援する処理を含んでいてもよい。
【0018】
運動の一例として、リハビリテーションのための運動があげられる。リハビリテーションのための運動を行う対象人物の一例として、医療機関の患者があげられる。この場合、運動支援システムSYSは、患者が適切なリハビリテーションのための運動を行うことができるように、患者を支援してもよい。運動支援システムSYSは、患者の動作が、リハビリテーションの効果を発揮するための模範的な動作に近づく又は一致するように、患者を支援してもよい。尚、本実施形態における患者は、医療機関においてリハビリテーションという医療サービスを受けている人物を意味していてもよい。また、本実施形態における医療機関は、いわゆる医療行為が行われる機関(例えば、病院及び診療所の少なくとも一つ)のみならず、医療行為は行われないもののリハビリテーションに関する医療サービスを提供する任意の機関(例えば、介護老人保健施設、高齢者福祉施設及び訪問型リハビリテーション事業所の少なくとも一つ)を含んでいてもよい。
【0019】
運動の他の一例として、スポーツ競技の練習のための運動があげられる。スポーツ競技の練習のための運動を行う対象人物の一例として、スポーツ競技に取り組んでいる選手(例えば、アマチュア選手及びプロ選手の少なくとも一方)があげられる。この場合、運動支援システムSYSは、選手が適切な練習のための運動を行うことができるように、選手を支援してもよい。運動支援システムSYSは、選手の動作が、選手にとっての模範的な動作に近づく又は一致するように、選手を支援してもよい。
【0020】
運動の他の一例として、体を鍛えるトレーニングのための運動があげられる。この場合、トレーニングのための運動を行う対象人物の一例として、トレーニング施設(例えば、トレーニングジム及びフィットネスジムの少なくとも一方)の会員があげられる。この場合、運動支援システムSYSは、会員が適切なトレーニングのための運動を行うことができるように、会員を支援してもよい。運動支援システムSYSは、会員の動作が、トレーニングの効果を発揮するための模範的な動作に近づく又は一致するように、会員を支援してもよい。
【0021】
本実施形態では、運動支援システムSYSが対象人物を支援するがゆえに、対象人物は、対象人物を支援するための支援者の目が届かない場所(つまり、支援者が十分な注意を払うことができない場所)で運動してもよい。つまり、運動支援システムSYSは、支援者の目が届かない場所で運動している対象人物を支援してもよい。但し、運動支援システムSYSは、支援者の目が届く場所で運動している対象人物を支援してもよい。
【0022】
対象人物がリハビリテーションのための運動を行う患者である場合には、支援者は、医療従事者を含んでいてもよい。特に、支援者は、リハビリテーションに携わる医療従事者を含んでいてもよい。尚、本実施形態における「医療従事者」は、病気の治療、病気の予防、健康の維持、健康の回復及び健康の増進の少なくとも一つを目的とした活動である医療に従事する人物全般を意味していてもよい。医療従事者は、医師、歯科医師助産師及びコメディカル(例えば、看護師及び理学療法士等の少なくとも一人)等の少なくとも一人を含んでいてもよい。また、対象人物がスポーツ競技の練習のための運動を行う選手である場合には、支援者は、スポーツ競技の指導者を含んでいてもよい。対象人物がスポーツ競技の練習のための運動を行うアマチュア選手である場合には、支援者は、スポーツ競技に取り組んでいるプロ選手を含んでいてもよい。また、対象人物が体を鍛えるトレーニングのための運動を行う会員である場合には、支援者は、トレーニング施設のトレーナーを含んでいてもよい。
【0023】
運動支援処理を行うために、
図1に示すように、運動支援システムSYSは、カラー画像収集装置1と、距離画像収集装置2と、運動支援装置3とを備えている。
【0024】
カラー画像収集装置1は、対象人物を撮像可能な撮像装置である。カラー画像収集装置1は、対象人物を撮像することで、対象人物が写り込んだカラー画像を生成する。カラー画像収集装置1は、所定の撮像周期で対象人物を撮像することで、複数枚のカラー画像を生成する。例えば、カラー画像収集装置1は、対象人物を1秒間に30回撮像することで、1秒間に30回枚のカラー画像を生成してもよい。尚、本実施形態におけるカラー画像は、複数の画素から構成されており、且つ、各画素に写り込んでいる物体(例えば、対象人物の一部)のRGB値が各画素に関連付けられた画像を意味していてもよい。
尚、運動支援システムSYSは、カラー画像収集装置1に加えて又は代えて、対象人物を撮像することで、対象人物が写り込んだ任意の画像を生成する画像収集装置を備えていてもよい。画像収集装置が生成する画像は、カラー画像とは特性が異なる画像であってもよい。一例として、画像収集装置が生成する画像は、白黒画像であってもよい。
【0025】
距離画像収集装置2は、対象人物を撮像可能な撮像装置である。距離画像収集装置2は、対象人物を撮像することで、対象人物が写り込んだ距離画像を生成する。距離画像を生成するために、距離画像収集装置2は、例えば、タイム・オブ・フライト法を用いて対象人物を撮像してもよい。但し、距離画像収集装置2が用いる方法は、これに限らない。距離画像収集装置2は、タイム・オブ・フライト法とは異なる方法を用いて対象人物を撮像してもよい。距離画像収集装置2は、所定の撮像周期で対象人物を撮像することで、複数枚の距離画像を生成する。例えば、距離画像収集装置2は、対象人物を1秒間に30回撮像することで、1秒間に30回枚の距離画像を生成してもよい。また、距離画像収集装置2は、カラー画像収集装置1が対象人物を撮像するタイミングに同期して、対象人物を撮像してもよい。尚、本実施形態における距離画像は、複数の画素から構成されており、且つ、各画素に写り込んでいる物体(例えば、対象人物の一部)と距離画像収集装置2との間の距離が各画素に関連付けられた画像を意味していてもよい。
尚、運動支援システムSYSは、カラー画像収集装置1と距離画像収集装置2とを別個に備えることに代えて、カラー画像収集装置1として機能可能であって且つ距離画像収集装置2として機能可能な単一の画像収集装置を備えていてもよい。
【0026】
運動支援装置3は、実際に運動支援処理を行う。具体的には、運動支援装置3は、カラー画像収集装置1からカラー画像を取得する。更に、運動支援装置3は、距離画像収集装置2から距離画像を取得する。その後、運動支援装置3は、取得したカラー画像及び距離画像を用いて、対象人物を支援するための運動支援処理を行う。
(1-2)運動支援装置3の構成
続いて、
図2を参照しながら、運動支援装置3の構成について説明する。
図2は、運動支援装置3の構成を示すブロック図である。
【0027】
図2に示すように、運動支援装置3は、演算装置31と、記憶装置32とを備えている。更に、運動支援装置3は、通信装置33と、入力装置34と、出力装置35とを備えている。但し、運動支援装置3は、通信装置33、入力装置34及び出力装置35の少なくとも一つを備えていなくてもよい。演算装置31と、記憶装置32と、通信装置33と、入力装置34と、出力装置35とは、データバス36を介して接続されていてもよい。
【0028】
演算装置31は、例えば、CPU(Central Processing Unit)を含む。演算装置31は、コンピュータプログラムを読み込む。例えば、演算装置31は、記憶装置32が記憶しているコンピュータプログラムを読み込んでもよい。例えば、演算装置31は、コンピュータで読み取り可能であって且つ一時的でない記録媒体が記憶しているコンピュータプログラムを、記録媒体読み取り装置として機能可能な入力装置34を用いて読み込んでもよい。演算装置31は、通信装置33を介して、運動支援装置3の外部に配置される不図示の装置からコンピュータプログラムを取得してもよい(つまり、ダウンロードしてもよい又は読み込んでもよい)。演算装置31は、読み込んだコンピュータプログラムを実行する。その結果、演算装置31内には、運動支援装置3が行うべき動作(例えば、運動支援処理の少なくとも一部)を実行するための論理的な機能ブロックが実現される。つまり、演算装置31は、運動支援装置3が行うべき動作を実行するための論理的な機能ブロックを実現するためのコントローラとして機能可能である。
【0029】
図2には、運動支援処理の少なくとも一部を行うために演算装置31内に実現される論理的な機能ブロックの一例が示されている。
図2に示すように、演算装置31内には、動作情報生成部311と、要素分割部312と、動作推定部313とが実現される。
【0030】
動作情報生成部311は、距離画像に基づいて、対象人物の動作を示す動作情報3211を生成する。例えば、動作情報生成部311は、対象人物を連続的に撮像することで生成された複数の距離画像に基づいて、対象人物の動作を時系列に沿って示す動作情報3211を生成する。
【0031】
具体的には、動作情報生成部311は、ある時刻に対象人物を撮像することで生成された単一の距離画像に対して、人間の体を表すテンプレートを用いたテンプレートマッチング処理を行う。人間の体を表すテンプレートの一例が、
図3に示されている。
図3に示すように、テンプレートは、人間の体の表面に関する情報と、人間の体の骨格を形成する複数の関節Pに関する情報とを含んでいてもよい。動作情報生成部311は、テンプレートが示す体の表面の少なくとも一部が、距離画像に写り込んでいる対象人物の皮膚の表面に位置するようにテンプレートを変形させることで、テンプレートマッチングを行ってもよい。動作情報生成部311は、テンプレートが示す体の表面の少なくとも一部が、距離画像に写り込んでいる対象人物が着ている衣服の表面に位置するようにテンプレートを変形させることで、テンプレートマッチングを行ってもよい。テンプレートの変形に伴い、テンプレートが示す複数の関節Pもまた、夫々、距離画像に写り込んでいる対象人物の複数の関節の位置に位置する。その結果、動作情報生成部311は、距離画像の座標系における対象人物の骨格を形成する各関節Pの位置を示す座標値を算出することができる。その後、動作情報生成部311は、距離画像の座標系における関節Pの位置を示す座標値を、対象人物が運動を行っている空間の座標系における関節Pの位置を示す座標値に変換する。動作情報生成部311は、同様の動作を、対象人物を連続的に撮像することで生成された複数の距離画像に対して繰り返す。その結果、動作情報生成部311は、複数の距離画像が夫々生成された複数の時刻における複数の関節Pの位置を示す座標値の集合(つまり、複数の関節Pの位置を示す座標値の時系列)を、対象人物の動作を時系列に沿って示す動作情報3211として生成する。
【0032】
動作情報生成部311は、生成した動作情報3211を、動作情報DB(DataBase:データベース)321に格納してもよい。動作情報DB321は、記憶装置32に記憶されている。動作情報DB321のデータ構造の一例が
図4に示されている。
図4に示すように、動作情報DB321は、動作情報3211と、動作情報3211を識別するための情報ID3212とを含む動作情報レコード3213を格納していてもよい。
【0033】
動作情報DB321は、このような動作情報レコード3213を複数格納していてもよい。例えば、距離画像収集装置2は、複数の異なる対象人物を撮像することがある。この場合、動作情報DB321は、複数の異なる対象人物に夫々対応する複数の動作情報レコード3213を格納していてもよい。例えば、動作情報DB321は、第1の対象人物の動作を示す動作情報3211を含む動作情報レコード3213と、第2の対象人物の動作を示す動作情報3211を含む動作情報レコード3213とを別個に格納していてもよい。例えば、距離画像収集装置2は、同じ対象人物を異なる複数の時刻に撮像することがある。この場合、動作情報DB321は、同じ対象人物を撮像する複数の時刻に夫々対応する複数の動作情報レコード3213を格納していてもよい。例えば、動作情報DB321は、第1の時刻における対象人物の動作を示す動作情報3211を含む動作情報レコード3213と、第2の時刻における対象人物の動作を示す動作情報3211を含む動作情報レコード3213とを別個に格納していてもよい。例えば、距離画像収集装置2は、繰り返し同じ運動を行う対象人物を連続的に撮像することがある。つまり、距離画像収集装置2は、同じ運動を複数回続けて行う対象人物を連続的に撮像することがある。この場合、動作情報DB321は、同じ対象人物が行っている複数回の運動に夫々対応する複数の動作情報レコード3213を格納していてもよい。例えば、動作情報DB321は、1回目の運動(例えば、1回目のスクワット)を行っている対象人物の動作を示す動作情報3211を含む動作情報レコード3213と、1回目の運動に続く2回目の運動(例えば、2回目の運動)を行っている対象人物の動作を示す動作情報3211を含む動作情報レコード3213とを別個に格納していてもよい。
【0034】
再び
図2において、要素分割部312は、動作情報生成部311が生成した動作情報3211を、対象人物の動作の規則性(言い換えれば、周期性)に応じて複数の動作要素情報3214に分割する。例えば、ある運動を行っている対象人物の動作には、規則性が見られることが多い。この場合、このような対象人物の動作の規則性を考慮すれば、ある運動を行っている対象人物の一連の動作は、時系列に沿って複数の動作(以降、“動作要素”と称する)に区分可能であると想定される。要素分割部312は、このような対象人物の動作の規則性を考慮して、動作情報3211を、複数の動作要素を夫々示す複数の動作要素情報3214に分割する。
【0035】
例えば、運動の一例であるスクワットを行っている対象人物の動作は、対象人物が立位姿勢にある第1状態から、対象人物が膝を徐々に曲げている第2状態、対象人物が膝を曲げ終わって静止している第3状態及び対象人物が膝を徐々に延ばしている第4状態を経て、第1状態へと戻るように変化する。この場合、対象人物の動作には、対象人物の動作が第1状態から第2、第3及び第4状態を経て第1状態へと戻るという規則性が見られる。このため、この場合には、対象人物の動作は、対象人物が立位姿勢のまま静止しているという第1の動作要素と、対象人物が膝を徐々に曲げている第2の動作要素と、対象人物が膝を曲げ終わって静止しているという第3の動作要素と、対象人物が膝を徐々に延ばしているという第4の動作要素とに区分可能である。そこで、対象人物が運動の一例であるスクワットを行っている場合には、要素分割部312は、
図5に示すように、動作情報3211を、(i)対象人物が立位姿勢のまま静止しているという第1の動作要素を示す動作要素情報3214と、(ii)対象人物が膝を徐々に曲げている第2の動作要素を示す動作要素情報3214と、(iii)対象人物が膝を曲げ終わって静止しているという第3の動作要素を示す動作要素情報3214と、(iv)対象人物が膝を徐々に延ばしているという第4の動作要素を示す動作要素情報3214とに分割してもよい。
【0036】
ある運動を行っている対象人物の一連の動作が時系列に沿って複数の動作要素に区分可能であることを考慮すれば、動作情報3211を複数の動作要素情報3214に分割する処理は、動作情報3211を時系列に沿って分割する処理と等価であるとみなしてもよい。例えば、
図5に示す例では、要素分割部312は、動作情報3211を、(i)初期時刻t1から、対象人物が膝を曲げ始めた時刻t2までの間の期間中の対象人物の動作を第1の動作要素として示す動作要素情報3214と、(ii)対象人物が膝を曲げ始めた時刻t2から、対象人物が膝を曲げ終えた時刻t3までの間の期間中の対象人物の動作を第2の動作要素として示す動作要素情報3214と、(iii)対象人物が膝を曲げ終えた時刻t3から、対象人物が膝を延ばし始めた時刻t4までの間の期間中の対象人物の動作を第3の動作要素として示す動作要素情報3214と、(iv)対象人物が膝を延ばし始めた時刻t4から、対象人物が膝を延ばし終えた時刻t5までの間の期間中の対象人物の動作を第4の動作要素として示す動作要素情報3214とに分割してもよい。尚、対象人物が膝を延ばし終えた時刻t5は、初期時刻t1と等価であるとみなしてもよい。
【0037】
再び
図2において、動作推定部313は、要素分割部312が生成した複数の動作要素情報3214を用いて、対象人物の動作を推定する。対象人物の動作を推定する処理は、例えば、対象人物の動作が、模範的な動作であるか否かを推定する処理を含んでいてもよい。対象人物の動作を推定する処理は、例えば、対象人物の動作と模範的な動作との相違点(つまり、ずれ)を推定する処理を含んでいてもよい。
【0038】
本実施形態では、動作推定部313は、複数の動作要素情報3214と推定モデル322とを用いて、対象人物の動作を推定する。推定モデル322は、動作情報3211(具体的には、動作情報3211を分割することで生成される複数の動作要素情報3214)から対象人物の動作を推定する可能なモデルである。例えば、推定モデル322は、
図6に示すように、動作情報3211(具体的には、動作情報3211を分割することで生成される複数の動作要素情報3214)が入力された場合に、対象人物の動作の推定結果を出力可能なモデルであってもよい。
図6に示す例では、推定モデル322は、運動の一例であるスクワットを行っている対象人物の動作の推定結果を出力している。例えば、推定モデル322は、対象人物の動作が、模範的なスクワットに相当する動作であるか、模範的なスクワットと比較して体幹の前傾が少ないスクワットに相当する動作であるか又は模範的なスクワットと比較して膝の曲げが少ないスクワットに相当する動作であるかを推定した推定結果を出力してもよい。例えば、推定モデル322は、対象人物の動作と模範的なスクワットに相当する動作との相違点を推定した推定結果を出力してもよい。
【0039】
推定モデル322は、
図7に示すように、動作情報3211をベクトルで表現する(つまり、対象人物の動作をベクトルで表現する)ための表現空間(ベクトル空間)を規定しているとみなしてもよい。言い換えれば、推定モデル322は、動作情報3211をベクトルが指し示す座標値で表現する(つまり、対象人物の動作を座標値で表現する)ための表現空間(座標空間)を規定しているとみなしてもよい。この場合、動作情報3211と推定モデル322とを用いて対象人物の動作を推定する処理は、表現空間内での動作情報3211を表すベクトル(つまり、対象人物の動作を表すベクトル)を特定する処理であるとみなしてもよい。動作情報3211と推定モデル322とを用いて対象人物の動作を推定する処理は、表現空間内での動作情報3211を表すベクトルが指し示す座標値(つまり、対象人物の動作を表す座標値)を特定する処理であるとみなしてもよい。
【0040】
図7に示す例では、運動の一例であるスクワットを行っている対象人物の動作の推定結果を出力する推定モデル322が規定する表現空間を示している。この場合、
図7に示すように、表現空間内において、模範的なスクワットに相当する動作を表すベクトル(座標値)と、模範的なスクワットと比較して体幹の前傾が少ないスクワットに相当する動作を表すベクトル(座標値)と、模範的なスクワットと比較して膝の曲げが少ないスクワットに相当する動作を表すベクトル(座標値)とは、典型的には、互いに異なるベクトルとなる。その結果、模範的な動作を表すベクトル(座標値)と推定モデル322が推定した対象人物の実際の動作を表すベクトル(座標値)との差分は、模範的な動作に対する対象人物の実際の動作のずれの特性(例えば、ずれの種類及びずれ量のうちの少なくとも一つ)を表していると言える。例えば、
図7に示す例において、模範的なスクワットに相当する動作を表すベクトル(座標値)と、模範的なスクワットと比較して体幹の前傾が少ないスクワットに相当する動作を表すベクトル(座標値)との差分は、模範的な動作における体幹の前傾量に対する対象人物の実際の動作における体幹の前傾量のずれ量を表していると言える。このように表現空間における模範的な動作を表すベクトル(座標値)と推定モデル322が推定した対象人物の実際の動作を表すベクトル(座標値)との差分が模範的な動作に対する対象人物の実際の動作のずれの特性を示すがゆえに、推定モデル322は、対象人物の動作の推定結果として、模範的な動作に対する対象人物の実際の動作のずれの特性を含む情報を出力しているとみなしてもよい。
【0041】
推定モデル322は、学習処理(典型的には、機械学習に基づく学習処理)によって学習可能な(言い換えれば、構築可能な、生成可能な又は更新可能な)モデルである。学習可能なモデルの一例として、ニューラルネットワークを利用したモデルがあげられる。この場合、推定モデル322を学習するための学習処理は、推定モデル322を構成するニューラルネットワークのパラメータを学習する(つまり、パラメータを設定、決定又は更新する)ための処理を含んでいてもよい。
【0042】
上述したように、推定モデル322に入力される動作情報3211(複数の動作要素情報3214)は、対象人物の動作を時系列に沿って示す情報であるがゆえに、時系列データに相当する。このため、推定モデル322は、時系列データである動作情報3211の前後関係(つまり、複数の動作要素情報3214の前後関係)に基づいて、対象人物の動作を推定可能なモデルである。つまり、推定モデル322は、対象人物の動作を推定するために、時系列データである動作情報3211の前後関係(つまり、複数の動作要素情報3214の前後関係)を考慮可能なモデルである。但し、推定モデル322は、時系列データである動作情報3211の前後関係(つまり、複数の動作要素情報3214の前後関係)に基づいて、対象人物の動作を推定可能なモデルとは異なるモデルであってもよい。
【0043】
このような複数の動作要素情報3214の前後関係を考慮可能な推定モデル322の一例として、BERT(Bidirectional Encoder Representations from Transformer:トランスフォーマーによる双方向のエンコード表現)を利用したモデルがあげられる。Bertは、主として自然言語処理のために用いられるモデルであるが、本実施形態では、言語とは異なる任意の時系列データの処理のために用いることも可能である。Bertは、第1の時刻の入力データが入力される中間層の出力が、第1の時刻よりも後の第2の時刻の入力データが入力される中間層及び第1の時刻よりも前の第3の時刻の入力データが入力される中間層の夫々に入力される、双方向性ニューラルネットワークである。双方向性ニューラルネットワークの他の一例として、双方向性再帰型ニューラルネットワークがあげられる。従って、推定モデル322の他の一例として、双方向性再帰型ニューラルネットワークを利用したモデルがあげられる。但し、推定モデル322として、第1の時刻の入力データが入力される中間層の出力が、第1の時刻よりも後の第2の時刻の入力データが入力される中間層に入力される一方で、第1の時刻よりも前の第3の時刻の入力データが入力される中間層に入力されない通常の再帰型ニューラルネットワークを利用したモデルが用いられてもよい。この場合であっても、推定モデル322は、時系列データである動作情報3211の前後関係(つまり、複数の動作要素情報3214の前後関係)に基づいて、対象人物の動作を推定可能なモデルとなることに変わりはない。
【0044】
推定モデル322が学習可能なモデルである場合には、運動支援装置3は、運動支援処理に加えて、推定モデル322を学習するための学習処理を行ってもよい。本実施形態では、運動支援装置3は、学習処理として、事前学習処理を行ってもよい。事前学習処理は、学習データセット323を用いて行われる。学習データセット323のデータ構造の一例が
図8に示されている。
図8に示すように、学習データセット323は、動作情報3231と、正解ラベル3232と、動作情報3231を識別するための情報ID3233とを含む学習データレコード3234を複数(典型的には、大量に)格納していてもよい。
【0045】
動作情報3231は、運動支援処理の対象となる対象人物の動作を示すことに加えて又は代えて、運動支援処理の対象となっていない任意の人物の動作を示していてもよいという点で、対象人物の動作を示す上述した動作情報3211と異なっていてもよい。動作情報3231のその他の特徴は、動作情報3211のその他の特徴と同一であってもよい。この場合、学習データセット323は、運動支援処理の対象となる対象人物の動作を示す動作情報3231を含む学習データレコード3234を含んでいてもよい。つまり、学習データセット323は、運動支援処理によって生成された動作情報3211を動作情報3231として含む学習データレコード3234を含んでいてもよい。更に、学習データセット323は、運動支援処理の対象となっていない任意の人物の動作を示す動作情報3231を含む学習データレコード3234を含んでいてもよい。つまり、学習データセット323は、運動支援処理とは無関係に生成された(例えば、学習処理のために生成された)動作情報3231を含む学習データレコード3234を含んでいてもよい。
【0046】
一例として、運動支援装置3がリハビリテーションのための運動を行う対象人物(つまり、患者)を支援する場合には、少なくとも一つの学習データレコード3234は、患者の動作を示す動作情報3231を含んでいてもよい。一方で、少なくとも一つの学習データレコード3234は、患者とは異なり且つリハビリテーションのための運動を行う人物の動作を示す動作情報3231を含んでいてもよい。例えば、少なくとも一つの学習データレコード3234は、リハビリテーションの効果を発揮するための模範的な動作を実演している医療従事者の動作を示す動作情報3231を含んでいてもよい。
【0047】
尚、以下の説明では、説明の便宜上、動作情報3231が示す動作を行った人物を、“サンプル人物”と称する。サンプル人物は、運動支援処理の対象となっていない任意の人物を含んでいてもよいし、運動支援処理の対象となっている対象人物を含んでいてもよい。
【0048】
上述したように、対象人物の動作を示す動作情報3211は、動作情報DB321に格納されている。この場合、動作情報DB321に格納されている動作情報3211が、学習データセット323の動作情報3231として流用されてもよい。この場合、学習データセット323は、必ずしも動作情報3231(特に、対象人物の動作を示す動作情報3231)を含んでいなくてもよい。
【0049】
正解ラベル3232は、正解ラベル3232に対応する動作情報3211が示すサンプル人物の動作の推定結果の正解を示すラベル(言い換えれば、情報タグ)である。つまり、正解ラベル3232は、正解ラベル3232に対応する動作情報3211が推定モデル322に入力された場合に、推定モデル322が出力する推定結果の正解を示すラベルである。
【0050】
正解ラベル3232を動作情報3231に付与するアノテーションは、サンプル人物の動作を確認する人物によって手動で行われてもよい。サンプル人物の動作を確認する人物は、模範的な動作と模範的でない動作と区別し且つ模範的でない動作が模範的でないと判断される理由を特定するための専門知識を有する人物を含んでいてもよい。サンプル人物の動作を確認する人物は、模範的な動作と模範的でない動作と区別する及び/又は模範的でない動作が模範的でないと判断される理由を特定するための専門知識を有していないものの、明文化されたルールに従って模範的な動作と模範的でない動作とを区別し且つ模範的でない動作が模範的でないと判断される理由を特定可能な人物を含んでいてもよい。或いは、正解ラベル3232を動作情報3231に付与するアノテーションは、サンプル人物の動作を確認する人物によって手動で行われることに加えて又は代えて、動作情報3231に基づいて正解ラベル3232を自動的に付与可能な装置によって行われてもよい。
【0051】
学習データセット323は、運動支援装置3によって生成されてもよい。この場合、運動支援装置3は、距離画像収集装置2を用いてサンプル人物を撮像することで距離画像を生成し、距離画像から動作情報3231を生成し、動作情報3231に正解ラベル3232を付与することで、学習データセット323を生成してもよい。或いは、学習データセット323は、運動支援装置3に加えて又は代えて、運動支援装置3とは異なる外部の装置によって生成されてもよい。
【0052】
運動支援装置3は、学習処理として、事前学習処理に加えて又は代えて、追加学習処理を行ってもよい。追加学習処理は、事前学習処理が行われた後に新たに取得された動作情報3231を用いて行われる学習処理である。追加学習処理は、第1の動作情報3231を用いて学習処理(例えば、事前学習処理又は実施済みの他の追加学習処理、以下同じ)が既に行われた状況下において、第1の動作情報と3231とは異なる第2の動作情報3231を用いて行われる学習処理である。
【0053】
追加学習処理は、第1の種類の運動を行っているサンプル人物の動作を示す動作情報3231を用いて学習処理が既に行われた状況下において、第1の種類の運動とは異なる第2の種類の運動を行っているサンプル人物の動作を示す動作情報3231を用いて行われる学習処理を含んでいてもよい。つまり、追加学習処理は、過去に行われた学習処理において学習された運動とは種類が異なる運動(つまり、推定モデル322にとって未知の運動)を行っているサンプル人物の動作を示す動作情報3231を用いて行われる学習処理を含んでいてもよい。一例として、追加学習処理は、スクワットを行っているサンプル人物の動作を示す動作情報3231を用いて学習処理が既に行われた状況下において、スクワットとは異なるランジを行っているサンプル人物の動作を示す動作情報3231を用いて行われる学習処理を含んでいてもよい。
【0054】
追加学習処理は、ある運動の第1の模範的な動作を示す動作情報3231を含む学習データセット323を用いて学習処理が既に行われた状況下において、同じ運動の第2の模範的な動作を示す動作情報3231を用いて行われる学習処理を含んでいてもよい。つまり、追加学習処理は、過去に行われた学習処理において学習された第1の模範的な動作とは異なる第2の模範的な動作(つまり、推定モデル322にとって未知の模範的な動作)を示す動作情報3231を用いて行われる学習処理を含んでいてもよい。一例として、模範的な動作は、運動を行う目的によって変わる可能性がある。例えば、対象人物が回復後期のリハビリテーションのためにスクワットを行う場合の模範的な動作は、同じ対象人物が回復初期のリハビリテーションのためにスクワットを行う場合の模範的な動作とは異なる可能性がある。この場合、追加学習処理は、回復初期のリハビリテーションのためのスクワットの模範的な動作を示す動作情報3231を用いて学習処理が既に行われた状況下において、回復後期のリハビリテーションのためのスクワットの模範的な動作を示す動作情報3231を用いて行われる学習処理を含んでいてもよい。他の一例として、模範的な動作は、運動を行う対象人物によって変わる可能性がある。例えば、脳卒中を患った対象人物がリハビリテーションのためにスクワットを行う場合の模範的な動作は、足を骨折した対象人物がリハビリテーションのためにスクワットを行う場合の模範的な動作とは異なる可能性がある。この場合、追加学習処理は、足を骨折した対象人物がリハビリテーションのためにスクワットを行う場合の模範的な動作を示す動作情報3231を用いて学習処理が既に行われた状況下において、脳卒中を患った対象人物がリハビリテーションのためにスクワットを行う場合の模範的な動作を示す動作情報3231を用いて行われる学習処理を含んでいてもよい。
尚、追加学習処理は、事前学習処理又は実施済みの他の追加学習処理によって生成済みの推定モデル322を更新する処理であるとみなしてもよい。事前学習処理又は実施済みの他の追加学習処理によって生成済みの推定モデル322を更新する処理は、事前学習処理又は実施済みの他の追加学習処理によって生成済みの推定モデル322(つまり、事前に学習済みの推定モデル322)から、新たな推定モデル322を生成する処理であるとみなしてもよい。尚、事前学習処理又は実施済みの他の追加学習処理によって生成済みの推定モデル322は、“事前学習モデル”と称されてもよい。事前学習処理又は実施済みの他の追加学習処理によって生成済みの推定モデル322は、後述する付記における「事前学習モデル」の一具体例であるとみなしてもよい。
【0055】
図2には、事前学習処理及び追加学習処理を含む学習処理を行うために演算装置31内に実現される論理的な機能ブロックの一例が示されている。
図2に示すように、演算装置31内には、モデル生成部314が実現される。尚、モデル生成部314の動作については、後に詳述するため、ここでの説明を省略する。
【0056】
記憶装置32は、所望のデータを記憶可能である。例えば、記憶装置32は、演算装置31が実行するコンピュータプログラムを一時的に記憶していてもよい。記憶装置32は、演算装置31がコンピュータプログラムを実行している際に演算装置31が一時的に使用するデータを一時的に記憶してもよい。記憶装置32は、運動支援装置3が長期的に保存するデータを記憶してもよい。尚、記憶装置32は、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスク装置、光磁気ディスク装置、SSD(Solid State Drive)及びディスクアレイ装置のうちの少なくとも一つを含んでいてもよい。つまり、記憶装置32は、一時的でない記録媒体を含んでいてもよい。
【0057】
本実施形態では、記憶装置32は、上述した動作情報DB321と、推定モデル322と、学習データセット323とを記憶していてもよい。更に、記憶装置32は、対象人物に関する情報を格納する人物情報DB324を記憶していてもよい。
【0058】
通信装置33は、不図示の通信ネットワークを介して、運動支援装置3の外部の装置と通信可能である。例えば、運動支援装置3とカラー画像収集装置1とが通信ネットワークを介して接続されている場合には、通信装置33は、カラー画像収集装置1からカラー画像を受信してもよい。例えば、運動支援装置3と距離画像収集装置2とが通信ネットワークを介して接続されている場合には、通信装置33は、距離画像収集装置2から距離画像を受信してもよい。
【0059】
入力装置34は、運動支援装置3の外部からの運動支援装置3に対する情報の入力を受け付ける装置である。例えば、入力装置34は、患者が操作可能な操作装置(例えば、キーボード、マウス及びタッチパネルのうちの少なくとも一つ)を含んでいてもよい。例えば、入力装置34は、運動支援装置3に対して外付け可能な記録媒体にデータとして記録されている情報を読み取り可能な記録媒体読み取り装置を含んでいてもよい。
【0060】
出力装置35は、運動支援装置3の外部に対して情報を出力する装置である。例えば、出力装置35は、情報を画像として出力してもよい。つまり、出力装置35は、出力したい情報を示す画像を表示可能な表示装置(いわゆる、ディスプレイ)を含んでいてもよい。例えば、出力装置35は、情報を音声として出力してもよい。つまり、出力装置35は、音声を出力可能な音声装置(いわゆる、スピーカ)を含んでいてもよい。例えば、出力装置35は、紙面に情報を出力してもよい。つまり、出力装置35は、紙面に所望の情報を印刷可能な印刷装置(いわゆる、プリンタ)を含んでいてもよい。尚、以下の説明では、説明の簡略化のために、出力装置35が表示装置である例について説明する。
(2)運動支援装置3が行う運動支援処理
【0061】
続いて、運動支援装置3が行う処理について説明する。上述したように、運動支援装置3は、運動支援処理を行ってもよい。更に、運動支援装置3は、運動支援処理に用いられる推定モデル322を学習するための学習処理(具体的には、事前学習処理及び追加学習処理の少なくとも一方)を行ってもよい。このため、以下では、事前学習処理、追加学習処理及び運動支援処理について順に説明する。
(2-1)事前学習処理
初めに、
図9を参照しながら、事前学習処理について説明する。
図9は、事前学習処理の流れを示すフローチャートである。
【0062】
図9に示すように、モデル生成部314は、学習データセット323を取得する(ステップS11)。例えば、記憶装置32に学習データセット323が記憶されている場合には、モデル生成部314は、記憶装置32から学習データセット323を取得してもよい。例えば、運動支援装置3に対して外付け可能な記録媒体に学習データセット323が記録されている場合には、モデル生成部314は、運動支援装置3が備える記録媒体読取装置(例えば、入力装置34)を用いて、記録媒体から学習データセット323を取得してもよい。例えば、運動支援装置3の外部の装置(例えば、サーバ)に学習データセット323が記録されている場合には、モデル生成部314は、通信装置33を用いて、外部の装置から学習データセット323を取得してもよい。
【0063】
その後、要素分割部312は、ステップS11において取得された学習データセット323に含まれる複数の動作情報3231の夫々を、複数の動作要素情報3235に分割する(ステップS12)。尚、学習処理において動作情報3231を複数の動作要素情報3235に分割する処理は、上述した運動支援処理において動作情報3211を複数の動作要素情報3214に分割する処理と同一であってもよい。つまり、要素分割部312は、動作情報3231を、サンプル人物の動作の規則性(言い換えれば、周期性)に応じて複数の動作要素情報3235に分割する。その結果、一つの動作情報3231から生成される複数の動作要素情報3235を含む動作要素データセットが、ステップS11において取得された学習データセット323に含まれる動作情報3231の数だけ生成される。
【0064】
その後、モデル生成部314は、ステップS12において生成された複数の動作要素情報3235(複数の動作要素データセット)を用いて、推定モデル322を生成するための機械学習を行う(ステップS13)。具体的には、モデル生成部314は、機械学習が行われる前の推定モデル322(つまり、初期状態又はデフォルト状態にある推定モデル322)に対して、動作要素データセット(つまり、複数の動作要素情報3235)を入力する。その結果、推定モデル322は、動作要素データセットに対する推定結果を出力する。モデル生成部314は、同様の動作を、動作要素データセットの数だけ繰り返す。その後、モデル生成部314は、推定モデル322が出力した推定結果と、ステップS11において取得された学習データセット323に含まれる正解ラベル3232との誤差に基づく損失関数が小さくなる(好ましくは、最小になる)ように、機械学習により推定モデル322のパラメータを更新する。その結果、学習データセット323に含まれる各動作情報3231が示す動作を学習した推定モデル322が生成される。つまり、学習データセット323に含まれる各動作情報3231を分割することで生成される複数の動作要素情報3235の前後関係を学習した推定モデル322が生成される。
【0065】
尚、モデル生成部314は、複数の動作要素情報3235を推定モデル322に入力することに加えて又は代えて、複数の動作要素情報3235の特徴量を抽出し、抽出した特徴量を推定モデル322に入力してもよい。
【0066】
その後、モデル生成部314は、ステップS13において生成された推定モデル322を、記憶装置32に記憶させてもよい(ステップS14)。記憶装置32に記憶された推定モデル322は、運動支援処理のために用いられてもよい。記憶装置32に記憶された推定モデル322は、追加学習処理のために用いられてもよい。
(2-2)追加学習処理
続いて、
図10を参照しながら、追加学習処理について説明する。
図10は、事前学習処理の流れを示すフローチャートである。
【0067】
図10に示すように、モデル生成部314は、追加学習処理を行うために用いられる動作情報3231を取得する(ステップS21)。例えば、記憶装置32に動作情報3231が記憶されている場合には、モデル生成部314は、記憶装置32から動作情報3231を取得してもよい。例えば、運動支援装置3に対して外付け可能な記録媒体に動作情報3231が記録されている場合には、モデル生成部314は、運動支援装置3が備える記録媒体読取装置(例えば、入力装置34)を用いて、記録媒体から動作情報3231を取得してもよい。例えば、運動支援装置3の外部の装置(例えば、サーバ)に動作情報3231が記録されている場合には、モデル生成部314は、通信装置33を用いて、外部の装置から動作情報3231を取得してもよい。距離画像収集装置2が新たにサンプル人物を撮像することで新たな距離画像を生成した場合には、動作情報生成部311は、新たに生成された距離画像に基づいて動作情報3231を新たに生成し、モデル生成部314は、動作情報生成部311が新たに生成した動作情報3231を取得してもよい。
【0068】
追加学習処理が、過去に行われた学習処理において学習された第1の種類の運動とは異なる第2の種類の運動(つまり、推定モデル322にとって未知の運動)を行っているサンプル人物の動作を示す動作情報3231を用いて行われる学習処理を含んでいてもよいことは、上述したとおりである。このため、モデル生成部314は、ステップS21において、過去に行われた学習処理によって推定モデル322が学習済みの運動とは種類が異なる運動を行っているサンプル人物の動作を示す動作情報3231を取得してもよい。特に、モデル生成部314は、過去に行われた学習処理によって推定モデル322が学習済みの運動とは種類が異なる運動を行っているサンプル人物の模範的な動作を示す動作情報3231を取得してもよい。
【0069】
追加学習処理が、過去に行われた学習処理において学習された第1の模範的な動作とは異なる第2の模範的な動作を示す動作情報3231を用いて行われる学習処理を含んでいてもよいことは、上述したとおりである。このため、モデル生成部314は、ステップS21において、過去に行われた学習処理によって推定モデル322が学習済みの第1の模範的な動作とは異なる第2の模範的な動作を示す動作情報3231を取得してもよい。
【0070】
いずれにおいても、追加学習処理では、モデル生成部314は、ある運動にとっての模範的な動作を示す動作情報3231を取得することが好ましい。尚、ここで言う「模範的な動作」は、運動支援処理によって支援を受ける対象人物にとっての模範的な動作を意味していてもよい。上述したように、対象人物にとっての模範的な動作は、対象人物が運動を行う目的によって変わる可能性がある。また、対象人物にとっての模範的な動作は、対象人物によっても変わる可能性がある。このため、モデル生成部314は、その時々に応じて、対象人物にとっての模範的な動作を示す動作情報3231を取得すればよい。
【0071】
尚、ステップS21において取得された動作情報3231が示す動作を行っているサンプル人物に関する情報が人物情報DB324に格納されている場合には、モデル生成部314は、ステップS21において取得された動作情報3231が示す動作を行っているサンプル人物に関する情報を合わせて取得してもよい。
【0072】
その後、要素分割部312は、ステップS21において取得された動作情報3231を、複数の動作要素情報3235に分割する(ステップS22)。尚、ステップS22における処理は、上述した
図9のステップS12における処理と同一であってもよい。
【0073】
その後、ステップS22の処理と並行して又は相前後して、モデル生成部314は、過去に行われた学習処理によって推定モデル322が学習済みの動作情報3231として、ステップS21において取得された動作情報3231と類似する(或いは、同一の)動作情報3231(以降、“類似動作情報3231”と称する)が存在するか否かを判定する(ステップS23)。つまり、モデル生成部314は、過去に行われた学習処理によって推定モデル322が学習済みの動作情報3231に、ステップS21において取得された動作情報3231が示す動作と類似する(或いは、同一の)動作を示す類似動作情報3231が含まれているか否かを判定する。
【0074】
学習処理に用いられた動作情報3231(つまり、推定モデル322が学習済みの動作情報3231)は、推定モデル322が規定する表現空間内において、当該動作情報を表すベクトルとして割り当て済みである。このため、モデル生成部314は、ステップS21において取得された動作情報3231を表すベクトルが、推定モデル322が規定する表現空間内において割り当て済みか否かを判定することで、推定モデル322が学習済みの動作情報3231としての類似動作情報3231が存在するか否かを判定してもよい。
【0075】
ステップS23における判定の結果、類似動作情報3231が存在しないと判定された場合には(ステップS23:No)、ステップS21において取得された動作情報3231が示す動作が、推定モデル322が未だ学習していない模範的な動作を示していると想定される。この場合には、モデル生成部314は、ステップS22において生成された複数の動作要素情報3235を用いて、推定モデル322を生成(ここでは、更新又は再学習)するための機械学習を行う(ステップS26)。尚、ステップS23における処理は、上述した
図9のステップS13における処理と同一であってもよい。その結果、過去に行われた学習処理において推定モデル322が未だに学習していなかった動作情報3231が、推定モデル322によって新たに学習される。
【0076】
このように、追加学習処理では、新たな模範的な動作を示す動作情報3231を用いた機械学習が行われる。一方で、追加学習処理では、新たな模範的な動作とは異なる動作(つまり、新たな模範的な動作からずれた動作)を示す動作情報3231を用いた機械学習が必ずしも行われなくてもよい。
【0077】
他方で、ステップS23における判定の結果、類似動作情報3231が存在すると判定された場合には(ステップS23:No)、ステップS21において取得された動作情報3231が示す動作が、過去に行われた学習処理によって推定モデル322が学習済みである可能性がある。この場合には、モデル生成部314は、ステップS21において取得された動作情報3231が示す動作を表示するように、表示装置である出力装置35を制御する(ステップS24)。つまり、モデル生成部314は、ステップS21において取得された動作情報3231が示す動作をしているサンプル人物を表示するように、表示装置である出力装置35を制御する(ステップS24)。例えば、モデル生成部314は、サンプル人物を撮像したカラー画像収集装置1が生成したカラー画像を表示するように、表示装置である出力装置35を制御してもよい。その結果、運動支援装置3のオペレータは、ステップS21において取得された動作情報3231が示す動作を確認することができる。
【0078】
その後、モデル生成部314は、ステップS21において取得された動作情報3231が示す動作を、新たな模範的な動作に設定するか否かを判定する(ステップS25)。例えば、モデル生成部314は、ステップS21において取得された動作情報3231が示す動作を確認した運動支援装置3のオペレータの指示に基づいて、ステップS21において取得された動作情報3231が示す動作を、新たな模範的な動作に設定するか否かを判定してもよい。
【0079】
ステップS25における判定の結果、ステップS21において取得された動作情報3231が示す動作を新たな模範的な動作に設定すると判定された場合には(ステップS25:Yes)、モデル生成部314は、ステップS22において生成された複数の動作要素情報3235を用いて、推定モデル322を生成(ここでは、更新又は再学習)するための機械学習を行う(ステップS26)。他方で、ステップS25における判定の結果、ステップS21において取得された動作情報3231が示す動作を新たな模範的な動作に設定しないと判定された場合には(ステップS25:No)、モデル生成部314は、ステップS26の処理を行わなくてもよい。
但し、追加学習処理において、運動支援装置3は、ステップS23からステップS25の処理を行わなくてもよい。つまり、運動支援装置3は、類似動作情報3231が存在するか否かを判定することなく、ステップS22において生成された複数の動作要素情報3235を用いて、推定モデル322を生成(ここでは、更新又は再学習)するための機械学習を行ってもよい。
(2-3)運動支援処理
続いて、
図11を参照しながら、運動支援処理について説明する。
図11は、運動支援処理の流れを示すフローチャートである。
【0080】
図11に示すように、動作情報生成部311は、対象人物が写り込んだ距離画像を取得する(ステップS31)。具体的には、運動支援処理が行われる場合には、運動支援処理の対象となっている対象人物は、距離画像収集装置2の撮像範囲において運動を行っている。このため、距離画像収集装置2は、運動を行っている対象人物を撮像することで距離画像を生成する。動作情報生成部311は、距離画像収集装置2が生成した距離画像を取得する。尚、カラー画像収集装置1もまた、運動を行っている対象人物を撮像することでカラー画像を生成する。
【0081】
その後、動作情報生成部311は、ステップS31において取得した距離画像を用いて、動作情報3211を生成する(ステップS32)。その後、要素分割部312は、ステップS32において生成された動作情報3211を、複数の動作要素情報3214に分割する(ステップS33)。
【0082】
その後、動作推定部313は、ステップS33において生成された複数の動作要素情報3214と、上述した学習処理によって生成された推定モデル322とを用いて、対象人物の動作を推定する(ステップS34)。具体的には、動作推定部313は、記憶装置32に記憶されている推定モデル322を取得する。或いは、運動支援装置3に対して外付け可能な記録媒体に推定モデル322が記録されている場合には、動作推定部313は、運動支援装置3が備える記録媒体読取装置(例えば、入力装置34)を用いて、記録媒体から推定モデル322を取得してもよい。例えば、運動支援装置3の外部の装置(例えば、サーバ)に推定モデル322が記録されている場合には、動作推定部313は、通信装置33を用いて、外部の装置から推定モデル322を取得してもよい。その後、動作推定部313は、学習処理によって生成された推定モデル322に対して、ステップS33において生成された複数の動作要素情報3214を入力する。その結果、推定モデル322は、対象人物の動作の推定結果を出力する。例えば、推定モデル322は、対象人物の動作が模範的な動作であるか否かの推定結果を出力してもよい。例えば、推定モデル322は、対象人物の動作と模範的な動作との相違点(つまり、ズレ)の推定結果を出力してもよい。
【0083】
尚、ステップS34において、動作推定部313は、複数の動作要素情報3214を推定モデル322に入力することに加えて又は代えて、複数の動作要素情報3214の特徴量を抽出し、抽出した特徴量を推定モデル322に入力してもよい。
また、
【0084】
その後、動作推定部313は、ステップS34における対象人物の動作の推定結果を表示するように、表示装置である出力装置35を制御する(ステップS35)。但し、動作推定部313は、ステップS34における対象人物の動作の推定結果を表示するように、表示装置である出力装置35を制御しなくてもよい。
例えば、動作推定部313は、対象人物の動作が模範的な動作であるか否かの推定結果を表示するように、出力装置35を制御してもよい。その結果、対象人物は、出力装置35に表示された推定結果を確認することで、対象人物の動作が模範的な動作であるか否かを認識することができる。この場合、対象人物は、対象人物の動作が模範的な動作に近づく又は一致するように、対象人物の動作を修正することができる。例えば、動作推定部313は、対象人物と模範的な動作との相違点(つまり、ズレ)の推定結果を表示するように、出力装置35を制御してもよい。その結果、対象人物は、出力装置35に表示された推定結果を確認することで、対象人物の動作と模範的な動作との相違点を認識することができる。この場合、対象人物は、対象人物の動作が模範的な動作に近づく又は一致するように、対象人物の動作を修正する(典型的には、表示された相違点をなくすように動作を修正する)ことができる。
【0085】
動作推定部313は、対象人物を撮像することでカラー画像収集装置1が生成するカラー画像と共に、対象人物の動作の推定結果を表示するように、出力装置35を制御してもよい。この場合、ステップS34において対象人物の動作が模範的な動作ではないと推定された場合には、動作推定部313は、模範的な動作からずれている(つまり、逸脱している)対象人物の部位を対象人物に通知するための通知情報を、模範的な動作からずれた動作を行っている対象人物が写り込んだカラー画像に重ねて表示してもよい。例えば、運動の一例であるスクワットを行っている対象人物の膝の曲がりが少ないがゆえに対象人物の動作が模範的な動作ではないと推定された場合には、
図12に示すように、動作推定部313は、対象人物の膝の曲がりが少ないことを対象人物に通知するための通知情報を、カラー画像に重ねて表示してもよい。
図12に示す例では、通知情報は、対象人物の膝を示す表示オブジェクトと、対象人物の膝の曲がりが少ないことを示すテキストメッセージとを含んでいる。その結果、対象人物は、対象人物の動作と模範的な動作との相違点を直感的に認識することができる。このため、対象人物は、対象人物の動作が模範的な動作に近づく又は一致するように、対象人物の動作を直感的に修正する(典型的には、表示された相違点をなくすように動作を修正する)ことができる。
(3)運動支援システムSYSが適用される場面の具体例
【0086】
続いて、運動支援システムSYSが適用される場面の具体例について説明する。尚、運動支援システムSYSが適用される場面が以下の具体例に限定されることはない。
(3-1)第1具体例
【0087】
第1具体例では、運動支援システムSYSは、例えば、脳卒中により片麻痺をとなった患者がリハビリテーションのための運動としてのスクワットを行う場面に適用される。この場合、例えば、ラボにおいてスクワットを行う医療従事者の動作(つまり、模範的な動作)を示す動作情報3231と、ラボにおいてスクワットを行う任意の高齢者の動作(つまり、模範的な動作とは異なる動作)を示す動作情報3231とを用いて、事前学習処理が行われてもよい。その後、運動支援処理の対象となっている患者(つまり、脳卒中により片麻痺となった患者)が病院において実際にスクワットを行うことで生成される動作情報3231(つまり、片麻痺となった患者に固有の模範的な動作を示す動作情報3231)を用いて、追加学習処理が行われてもよい。その結果、運動支援処理において、運動支援装置3は、病院においてリハビリテーションのためにスクワットを行っている患者(つまり、脳卒中により片麻痺となった患者)の動作と模範的な動作との相違点を推定することができる。
(3-2)第2具体例
【0088】
第2具体例では、運動支援システムSYSは、例えば、高齢者が介護予防のための運動としての体操を行う場面に適用される。この場合、例えば、ラボにおいて体操を行う医療従事者の動作(つまり、模範的な動作)を示す動作情報3231と、ラボにおいて体操を行う任意の高齢者の動作(つまり、模範的な動作とは異なる動作)を示す動作情報3231とを用いて、事前学習処理が行われてもよい。その後、運動支援処理の対象となっている高齢者が地域の集会所において実際に体操を行うことで生成される動作情報3231(つまり、運動支援処理の対象となっている高齢者に固有の模範的な動作)を示す動作情報3231を用いて、追加学習処理が行われてもよい。その結果、運動支援処理において、運動支援装置3は、地域の集会所において介護予防のために運動を行っている高齢者の動作と模範的な動作との相違点を推定することができる。
(3-3)第3具体例
【0089】
第3具体例では、運動支援システムSYSは、例えば、高齢者が介護予防のための運動としてのTUG(Timed Up and Go)テストを行う場面に適用される。この場合、例えば、ラボにおいてTUGテストとは異なる運動を行う医療従事者の動作(つまり、TUGテストとは異なる運動にとっての模範的な動作)を示す動作情報3231と、ラボにおいてTUGテストとは異なる運動を行う任意の高齢者の動作(つまり、TUGテストとは異なる運動にとっての模範的な動作とは異なる動作)を示す動作情報3231とを用いて、事前学習処理が行われてもよい。その後、介護の不安のない健常者が実際にTUGテストを行うことで生成される動作情報3231(つまり、TUGテストに固有の模範的な動作)を示す動作情報3231を用いて、追加学習処理が行われてもよい。その結果、運動支援処理において、運動支援装置3は、高齢者の滞在施設において介護予防のためにTUGテストを行っている高齢者の動作と、TUGテストにとっての模範的な動作との相違点を推定することができる。
(3-4)第4具体例
【0090】
第4具体例では、運動支援システムSYSは、例えば、トレーニング施設の会員が体を鍛えるための運動としてのスクワットを行う場面に適用される。この場合、例えば、トレーニング施設においてスクワットとは異なるランジを行うトレーナーの模範的な動作を示す動作情報3231と、トレーニング施設においてスクワットとは異なるランジを行うトレーナーの模範的な動作とは異なる動作を示す動作情報3231とを用いて、事前学習処理が行われてもよい。その後、トレーニング施設においてトレーナーがスクワットを行うことで生成される動作情報3231(つまり、スクワットに固有の模範的な動作)を示す動作情報3231を用いて、追加学習処理が行われてもよい。その結果、運動支援処理において、運動支援装置3は、トレーニングシステムにおいてスクワットを行っている会員の動作と、スクワットにとっての模範的な動作との相違点を推定することができる。
(3-5)第5具体例
【0091】
第5具体例では、運動支援システムSYSは、例えば、スポーツ競技に取り組んでいるアマチュア選手が運動としてのピッチング練習を行う場面に適用される。この場合、例えば、ラボにおいてオーバースロー又はサイドスローのピッチング練習を行うプロ選手の動作(つまり、オーバースロー又はサイドスローの模範的な動作)を示す動作情報3231と、ラボにおいてオーバースロー又はサイドスローのピッチング練習を行うアマチュア選手の動作(つまり、模範的な動作とは異なる動作)を示す動作情報3231とを用いて、事前学習処理が行われてもよい。その後、屋外の練習場においてプロ選手がスリークオーターのピッチング練習を行うことで生成される動作情報3231(つまり、スリークオーターに固有の模範的な動作)を示す動作情報3231を用いて、追加学習処理が行われてもよい。その結果、運動支援処理において、運動支援装置3は、屋外の練習場においてスリークオーターのピッチング練習を行っているアマチュア選手の動作と、スリークオーターにとっての模範的な動作との相違点を推定することができる。
(4)運動支援システムSYSの技術的効果
【0092】
以上説明したように、本実施形態では、運動支援装置3は、学習処理を行うことで、推定モデル322を生成することができる。特に、運動支援装置3は、サンプル人物の動作を示す動作情報3231を、動作情報3231の規則性に応じて時系列に沿って分割することで複数の動作要素情報3235を生成し且つ複数の動作要素情報3235を用いた学習処理を行うことで、複数の動作要素情報3214の前後関係に基づいて対象人物の動作を推定可能な推定モデル322(例えば、上述したBertを用いるモデル)を生成する。このため、運動支援装置3は、複数の動作要素情報3235の前後関係を推定モデル322に学習させる学習処理を行うことができる。つまり、運動支援装置3は、推定モデル322を生成する際に、複数の動作要素情報3235の前後関係を考慮することができる。言い換えれば、運動支援装置3は、推定モデル322を生成する際に、サンプル人物の動作の変化の流れを考慮することができる。その結果、運動支援装置3は、サンプル人物の動作の変化の流れを考慮して生成された推定モデル322を用いて対象人物の動作を推定するがゆえに、対象人物の動作を推定する際に、複数の動作要素情報3214の前後関係を考慮することができる。言い換えれば、運動支援装置3は、対象人物の動作を推定する際に、対象人物の動作の変化の流れを考慮することができる。その結果、対象人物の動作を推定する際に対象人物の動作の変化の流れを考慮しない比較例の運動支援装置と比較して、運動支援装置3は、対象人物の動作をより適切に(例えば、精度よく)推定することができる。
【0093】
また、本実施形態では、事前学習処理に加えて追加学習処理が行われる。特に、追加学習処理では、過去に行われた学習処理において推定モデル322が学習していなかった一の模範的な動作を示す動作情報3231が、推定モデル322によって新たに学習される。一方で、追加学習処理では、一の模範的な動作とは異なる動作(つまり、新たな模範的な動作からずれた動作)を示す動作情報3231が推定モデル322によって新たに学習されなくてもよい。この場合であっても、過去に行われた学習処理(例えば、事前学習処理)によって一の模範的な動作とは異なる他の模範的な動作を示す動作情報3231及び他の模範的な動作からずれた動作を示す動作情報3231を用いた機械学習が行われるがゆえに、追加学習処理によって更新された推定モデル322は、対象人物の動作が、新たな一の模範的な動作であるか、又は、新たな一の模範的な動作とは異なる動作であるかを推定した推定結果を出力することができる。
【0094】
一例として、過去に行われた学習処理によって推定モデル322が学習済みの第1の種類の運動とは異なる第2の種類の運動を行っているサンプル人物の模範的な動作を示す動作情報3231を用いて追加学習処理が行われてもよいことは上述したとおりである。この場合には、追加学習処理において、第2の種類の運動における模範的な動作を示す動作情報3231が推定モデル322によって学習される一方で、第2の種類の運動における模範的な動作からずれた動作を示す動作情報3231が推定モデル322によって新たに学習されなくてもよい。この場合であっても、推定モデル322は、過去に行われた学習処理によって、第1の種類の運動における模範的な動作及び第1の種類の運動における模範的な動作とは異なる動作の双方を学習している。その結果、推定モデル322は、第2の種類の運動を行っている対象人物の動作が、第2の種類の運動における模範的な動作であるか、又は、第2の種類の運動における模範的な動作とは異なる動作であるかを推定した推定結果を出力することができる。
より具体的には、スクワットの模範的な動作及びスクワットの模範的な動作とは異なる動作を示す動作情報3231を用いて事前学習処理が行われている状況下において、ランジの模範的な動作を示す動作情報3231を用いて追加学習処理が行われる場面について説明する。この場合、追加学習処理において、ランジの模範的な動作を示す動作情報3231が推定モデル322によって学習される一方で、ランジの模範的な動作からずれた動作を示す動作情報3231が推定モデル322によって新たに学習されなくてもよい。この場合であっても、推定モデル322は、過去に行われた学習処理によって、スクワットの模範的な動作及びスクワットの模範的な動作とは異なる動作の双方を学習している。その結果、推定モデル322は、ランジを行っている対象人物の動作が、ランジの模範的な動作であるか、又は、ランジの模範的な動作とは異なる動作であるかを推定した推定結果を出力することができる。
【0095】
他の一例として、過去に行われた学習処理においてある運動における第1の模範的な動作が学習された状況下において、同じ運動における第2の模範的な動作(尚、第2の模範的な動作は、第1の模範的な動作とは異なる)を示す動作情報3231を用いて追加学習処理が行われてもよいことは上述したとおりである。この場合には、追加学習処理において、第2の模範的な動作を示す動作情報3231が推定モデル322によって学習される一方で、第2の模範的な動作からずれた動作を示す動作情報3231が推定モデル322によって新たに学習されなくてもよい。この場合であっても、推定モデル322は、過去に行われた学習処理によって、同じ運動を行っているサンプル人物の第1の模範的な動作及び第1の模範的な動作とは異なる動作の双方を学習している。その結果、推定モデル322は、同じ運動を行っている対象人物の動作が、第2の模範的な動作であるか、又は、第2の模範的な動作とは異なる動作であるかを推定した推定結果を出力することができる。
より具体的には、回復初期のリハビリテーションのためのスクワットの模範的な動作及び回復初期のリハビリテーションのためのスクワットの模範的な動作とは異なる動作を示す動作情報3231を用いて事前学習処理が行われている状況下において、回復後期のリハビリテーションのためのスクワットの模範的な動作を示す動作情報3231を用いて追加学習処理が行われる場面について説明する。この場合、追加学習処理において、回復後期のリハビリテーションのためのスクワットの模範的な動作を示す動作情報3231が推定モデル322によって学習される一方で、回復後期のリハビリテーションのためのスクワットの模範的な動作からずれた動作を示す動作情報3231が推定モデル322によって新たに学習されなくてもよい。この場合であっても、推定モデル322は、過去に行われた学習処理によって、回復初期のリハビリテーションのためのスクワットの模範的な動作及び回復初期のリハビリテーションのためのスクワットの模範的な動作とは異なる動作の双方を学習している。その結果、推定モデル322は、回復後期のリハビリテーションのためのスクワットを行っている対象人物の動作が、回復後期のリハビリテーションのためのスクワットの模範的な動作であるか、又は、回復後期のリハビリテーションのためのスクワットの模範的な動作とは異なる動作であるかを推定した推定結果を出力することができる。
【0096】
このように、追加学習処理によって、対象人物が行う運動(特に、その運動における模範的な動作)に合わせた推定モデル322が生成される。特に、その時々の対象人物にとっての模範的な動作に合わせた推定モデル322が生成される。このため、追加学習処理が行われない場合と比較して、対象人物は、対象人物の動作が模範的な動作であるか否かをより適切に認識することができる。更には、追加学習処理のために、過去に行われた学習処理において推定モデル322が学習していなかった一の模範的な動作を示す動作情報3231が大量に取得される必要は必ずしもない。このため、追加学習処理によって、過去に行われた学習処理によって生成済みの推定モデル322から、対象人物の動作が新たな一の模範的な動作であるか又は新たな一の模範的な動作とは異なる動作であるかを推定可能な推定モデル322を、比較的容易に生成することができる。
(5)変形例
【0097】
運動支援装置3は、複数の推定モデル322を生成してもよい。例えば、運動支援装置3は、運動のカテゴリ別に複数の推定モデル322を生成してもよい。つまり、運動支援装置3は、第1のカテゴリに属する運動を行っている対象人物の動作を推定するための推定モデル322と、第1のカテゴリとは異なる第2のカテゴリに属する運動を行っている対象人物の動作を推定するための推定モデル322とを別々に生成してもよい。この場合、運動支援装置3は、第1のカテゴリに属する運動を行っている対象人物の動作を示す動作情報3231を用いる学習処理と、第2のカテゴリに属する運動を行っている対象人物の動作を示す動作情報3231を用いる学習処理とを別々に行ってもよい。
【0098】
運動のカテゴリは、運動によって動かす部位に基づくカテゴリを含んでいてもよい。例えば、運動支援装置3は、主として上半身を使う運動を行っている対象人物の動作を推定するための推定モデル322と、主として下半身(例えば、スクワット及びランジの少なくとも一つ)を使う運動を行っている対象人物の動作を推定するための推定モデル322とを別々に生成してもよい。例えば、運動支援装置3は、主として右腕を使う運動を行っている対象人物の動作を推定するための推定モデル322と、主として左腕を使う運動を行っている対象人物の動作を推定するための推定モデル322とを別々に生成してもよい。
【0099】
運動のカテゴリは、運動によって負荷がかかる部位に基づくカテゴリを含んでいてもよい。例えば、運動支援装置3は、主として上半身に負荷がかかる運動を行っている対象人物の動作を推定するための推定モデル322と、主として下半身に負荷がかかる運動を行っている対象人物の動作を推定するための推定モデル322とを別々に生成してもよい。例えば、運動支援装置3は、主として右腕に負荷がかかる運動を行っている対象人物の動作を推定するための推定モデル322と、主として左腕に負荷がかかる運動を行っている対象人物の動作を推定するための推定モデル322とを別々に生成してもよい。
【0100】
上述した説明では、運動支援装置3は、運動支援処理と学習処理との双方を行っている。しかしながら、運動支援装置3は、運動支援処理及び学習処理のいずれか一方を行う一方で、運動支援処理及び学習処理のいずれか他方を行わなくてもよい。運動支援装置3が運動支援処理を行わない場合には、運動支援装置3は、
図13に示すように、動作推定部313を備えていなくてもよい。運動支援装置3が学習処理を行わない場合には、運動支援装置3は、
図14に示すように、モデル生成部314を備えていなくてもよい。
【0101】
上述した説明では、運動支援装置3(特に、要素分割部312)が動作情報3211を複数の動作要素情報3214に分割している。しかしながら、運動支援装置3のオペレータが、動作情報3211を複数の動作要素情報3214に手動で分割してもよい。
【0102】
上述した説明では、運動支援装置3は、距離画像収集装置2が生成した距離画像に基づいて、動作情報3211を生成している。しかしながら、運動支援装置3は、距離画像収集装置2とは異なる装置の出力に基づいて、動作情報3211を生成してもよい。例えば、運動支援装置3は、対象人物又はサンプル人物が装着したマーカを検出することで対象人物又はサンプル人物の動作を検出可能なモーションセンサの出力(検出結果)に基づいて、動作情報3211を生成してもよい。例えば、運動支援装置3は、対象人物又はサンプル人物が装着した加速度センサの出力(検出結果)に基づいて、動作情報3211を生成してもよい。或いは、運動支援装置3は、運動支援装置3とは異なる装置が生成した動作情報3211を用いて、上述した運動支援処理、事前学習処理及び追加学習処理のうちの少なくとも一つを行ってもよい。この場合、運動支援装置3は、
図13及び
図14に示すように、動作情報生成部311を備えていなくてもよい。
(6)付記
以上説明した実施形態に関して、更に以下の付記を開示する。
[付記1]
運動を行っているサンプル人物の動作を示すサンプル動作情報を、前記サンプル人物の動作の規則性に応じて複数の動作要素情報に分割する分割手段と、
事前学習モデルに前記複数の動作要素情報の時系列的な前後関係を学習させることで、運動を行っている対象人物の動作を示す対象動作情報に基づいて前記対象人物の動作を推定する推定モデルを生成する生成手段と
を備える運動支援装置。
[付記2]
前記事前学習モデルは、前記複数の動作要素情報である複数の第1の動作要素情報の時系列的な前後関係を学習することで生成されており、
前記複数の第1の動作要素情報は、第1の種類の運動を行っている前記サンプル人物の動作を示す前記サンプル動作情報である第1のサンプル動作情報を、前記サンプル人物の動作の規則性に応じて分割することで生成され、
前記分割手段は、前記第1の種類の運動とは異なる第2の種類の運動を行っている前記サンプル人物の動作を示す前記サンプル動作情報である第2のサンプル動作情報を、前記複数の動作要素情報である複数の第2の動作要素情報に分割し、
前記生成手段は、前記事前学習モデルに前記複数の第2の動作要素情報の時系列的な前後関係を追加的に学習させることで、前記推定モデルを生成する
付記1に記載の運動支援装置。
[付記3]
前記推定モデルは、前記第2の種類の運動を行っている前記対象人物の動作を示す前記対象動作情報に基づいて前記対象人物の動作を推定するモデルである
付記2に記載の運動支援装置。
[付記4]
前記第1のサンプル動作情報は、前記第1の種類の運動を行っている前記サンプル人物の模範的な動作と、前記第1の種類の運動を行っている前記サンプル人物の、前記模範的な動作とは異なる動作とを示し、
前記第2のサンプル動作情報は、前記第2の種類の運動を行っている前記サンプル人物の模範的な動作を示す
付記2又は3に記載の運動支援装置。
[付記5]
前記第1の種類の運動及び前記第2の種類の運動は、同じカテゴリに属する運動であり、
前記カテゴリは、運動によって動かす部位または運動によって負荷がかかる部位に基づき設定される
付記2から4のいずれか一項に記載の運動支援装置。
[付記6]
前記分割手段は、前記第1のサンプル動作情報を、前記複数の第1の動作要素情報に分割し、
前記生成手段は、前記複数の第1の動作要素情報の時系列的な前後関係を学習することで、前記事前学習モデルを生成する
付記2から5のいずれか一項に記載の運動支援装置。
[付記7]
前記生成手段が生成した前記推定モデルと前記対象動作情報とを用いて、前記対象人物の動作を推定する推定手段を更に備える
付記1から6のいずれか一項に記載の運動支援装置。
[付記8]
運動を行っている対象人物の動作を示す対象動作情報から前記対象人物の動作を推定可能な推定モデルを取得する取得手段と、
前記推定モデルと前記対象動作情報とを用いて、前記対象人物の動作を推定する推定手段と
を備え、
前記推定モデルは、運動を行っているサンプル人物の動作を示すサンプル動作情報を、前記サンプル人物の動作の変化の流れに応じて複数の動作要素情報に分割し、且つ、事前学習モデルに前記複数の動作要素情報の時系列的な前後関係を学習させることで生成されるモデルである
運動支援装置。
[付記9]
前記サンプル動作情報は、第1の種類の運動を行っている前記サンプル人物の動作を示し、
前記対象動作情報は、前記第1の種類とは異なる第2の種類の運動を行っている前記対象人物の動作を示す
付記8に記載の運動支援装置。
[付記10]
前記推定手段が推定した前記対象人物の動作が模範的な動作からずれている場合に、前記対象人物を示す画像に、前記模範的な動作からずれている前記対象人物の部位を通知する通知情報を重ねて表示する表示手段を更に備える
付記8又は9に記載の運動支援装置。
[付記11]
運動を行っているサンプル人物の動作を示すサンプル動作情報を、前記サンプル人物の動作の規則性に応じて複数の動作要素情報に分割し、
事前学習モデルに前記複数の動作要素情報の時系列的な前後関係を学習させることで、運動を行っている対象人物の動作を示す対象動作情報に基づいて前記対象人物の動作を推定する推定モデルを生成する
運動支援方法。
[付記12]
運動を行っているサンプル人物の動作を示すサンプル動作情報を、前記サンプル人物の動作の変化の流れに応じて複数の動作要素情報に分割し、且つ、運動を行っている対象人物の動作を示す対象動作情報から前記対象人物の動作を推定可能な推定モデルを取得し、
前記推定モデルと前記対象動作情報とを用いて、前記対象人物の動作を推定し、
前記推定モデルは、運動を行っているサンプル人物の動作を示すサンプル動作情報を、前記サンプル人物の動作の変化の流れに応じて複数の動作要素情報に分割し、且つ、事前学習モデルに前記複数の動作要素情報の時系列的な前後関係を学習させることで生成されるモデルである
運動支援方法。
[付記13]
コンピュータに、
運動を行っているサンプル人物の動作を示すサンプル動作情報を、前記サンプル人物の動作の規則性に応じて複数の動作要素情報に分割し、
事前学習モデルに前記複数の動作要素情報の時系列的な前後関係を学習させることで、運動を行っている対象人物の動作を示す対象動作情報に基づいて前記対象人物の動作を推定する推定モデルを生成する
運動支援方法を実行させるコンピュータプログラムが記録された記録媒体。
[付記14]
コンピュータに、
運動を行っているサンプル人物の動作を示すサンプル動作情報を、前記サンプル人物の動作の変化の流れに応じて複数の動作要素情報に分割し、且つ、運動を行っている対象人物の動作を示す対象動作情報から前記対象人物の動作を推定可能な推定モデルを取得し、
前記推定モデルと前記対象動作情報とを用いて、前記対象人物の動作を推定し、
前記推定モデルは、運動を行っているサンプル人物の動作を示すサンプル動作情報を、前記サンプル人物の動作の変化の流れに応じて複数の動作要素情報に分割し、且つ、事前学習モデルに前記複数の動作要素情報の時系列的な前後関係を学習させることで生成されるモデルである
運動支援方法を実行させるコンピュータプログラムが記録された記録媒体。
【0103】
本発明は、請求の範囲及び明細書全体から読み取るこのできる発明の要旨又は思想に反しない範囲で適宜変更可能であり、そのような変更を伴う運動支援装置、運動支援方法及び記録媒体もまた本発明の技術思想に含まれる。
【符号の説明】
【0104】
SYS 運動支援システム
1 カラー画像収集装置
2 距離画像収集装置
3 運動支援装置
31 演算装置
311 動作情報生成部
312 要素分割部
313 動作推定部
314 モデル生成部
32 記憶装置
321 動作情報DB
3211 動作情報
3214 動作要素情報
323 学習データセット
3231 動作情報
3232 正解ラベル
3235 動作要素情報