(57)【要約】【課題】ユーザおよび動作ごとに「正しい」フォームを機械学習し、アドバイザーのアドバイスと同程度の精度でフォームの正誤判定を行う。【解決手段】本発明の一態様としての動作フォーム判定装置は、ユーザの動作に関する動作情報を取得する第１取得部と、前記ユーザの動作を判定した第１判定結果を取得する第２取得部と、前記動作情報と前記第１判定結果に基づき前記ユーザの動作を判定するためのフォームモデルを生成する機械学習部と、前記第１判定結果が下されていない前記動作情報を、前記フォームモデルに基づき判定し、第２判定結果を算出する再現判定部と、前記第２判定結果を出力する出力部と、を備える。【選択図】図１
2017055913.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの動作に関する動作情報を取得する第１取得部と、
前記ユーザの動作を判定した第１判定結果を取得する第２取得部と、
前記動作情報と前記第１判定結果に基づき、前記ユーザの動作を判定するためのフォームモデルを生成する機械学習部と、
前記第１判定結果が下されていない前記ユーザの動作を、前記フォームモデルに基づき判定し、第２判定結果を算出する再現判定部と、
前記第２判定結果を出力する出力部と、
を備える動作フォーム判定装置。
【請求項２】
前記動作情報は、時系列データであり、
前記機械学習部は、前記動作情報を、複数の区間に分割し、前記複数の区間それぞれに対し、前記動作情報に関する特徴量を算出し、前記特徴量に基づき、前記フォームモデルを生成する
請求項１に記載の動作フォーム判定装置。
【請求項３】
前記機械学習部は、統計分類手法に基づき、前記フォームモデルとして、前記特徴量に関する１以上の判定グラフを算出し、前記再現判定部は、前記判定グラフに基づき、２値または３以上の多値に渡る前記第２判定結果を算出する
請求項１または２に記載の動作フォーム判定装置。
【請求項４】
前記機械学習部は、決定木、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）、またはＫ近傍法により、前記２値の第２判定結果を算出する
請求項３に記載の動作フォーム判定装置。
【請求項５】
前記機械学習部は、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）、または、多クラスロジスティック回帰により、前記３以上の多値の第２判定結果を算出する
請求項３に記載の動作フォーム判定装置。
【請求項６】
前記特徴量は、所定の時間間隔における、前記動作情報の平均値、最大値もしくは最小値、時間差分における前記動作情報の極大値もしくは極小値、複数の前記動作情報の連動の度合、または前記動作情報の複雑性である
請求項２ないし５のいずれか一項に記載の動作フォーム判定装置。
【請求項７】
前記機械学習部は、複数回数取得された前記動作情報のうちの一部の前記動作情報と、前記一部の前記動作情報に対応する前記第１判定結果に基づき、検証用モデルを生成し、残りの一部または全部の前記動作情報を前記検証用モデルに基づき判定した第３判定結果と、前記残りの一部または全部の前記動作情報に対応する前記第１判定結果とを比較することにより、機械学習の不足を判断する
請求項１ないし６のいずれか一項に記載の動作フォーム判定装置。
【請求項８】
前記機械学習部は、機械学習が不足と判断した場合は、前記第１判定結果が同一である複数の前記動作情報により、前記複数の動作情報の平均である平均動作情報を算出し、前記平均動作情報と、前記第１判定結果に基づき、前記フォームモデルを更新する
請求項７に記載の動作フォーム判定装置。
【請求項９】
前記機械学習部は、機械学習が不足と判断した場合は、前記第１判定結果が同一である複数の前記動作情報により、前記複数の動作情報の平均である平均動作情報を算出し、
前記出力部は、前記平均動作情報に関する情報を出力する
請求項７に記載の動作フォーム判定装置。
【請求項１０】
ユーザの動作に関する第１動作情報と、前記ユーザの動作を判定した第１判定結果とに基づき生成された前記ユーザの動作を判定するためのフォームモデルを取得する第３取得部と、
前記ユーザの動作に関する第２動作情報を取得する第４取得部と、
前記第２動作情報を、前記フォームモデルに基づき判定し、第４判定結果を算出する再現判定部と、
前記第４判定結果を出力する出力部と、
を備える動作フォーム判定装置。
【請求項１１】
２以上の多段階評価における評価指標、または点数を、前記第１判定結果として受け付ける入力装置
をさらに備える請求項１ないし１０のいずれか一項に記載の動作フォーム判定装置。
【請求項１２】
ユーザの動作に関する動作情報を取得する第１取得ステップと、
前記ユーザの動作を判定した第１判定結果を取得する第２取得ステップと、
前記動作情報と、前記第１判定結果に基づき、前記ユーザの動作を判定するためのフォームモデルを生成する機械学習ステップと、
前記第１判定結果が下されていない前記動作情報を、前記フォームモデルに基づき判定し、第２判定結果を算出する再現判定ステップと、
前記第２判定結果を出力する出力ステップと、
をコンピュータが実行する判定方法。
【請求項１３】
ユーザの動作に関する動作情報を取得する第１取得ステップと、
前記ユーザの動作を判定した第１判定結果を取得する第２取得ステップと、
前記動作情報と、前記第１判定結果に基づき前記ユーザの動作を判定するためのフォームモデルを生成する機械学習ステップと、
前記第１判定結果が下されていない前記動作情報を、前記フォームモデルに基づき判定し、第２判定結果を算出する再現判定ステップと、
前記第２判定結果を出力する出力ステップと、
をコンピュータに実行させるためのプログラム。
【請求項１４】
測定装置と、入力装置と、判定装置と、出力装置と、を備えた判定システムであって、
前記測定装置は、ユーザの動作に関する動作情報を前記判定装置に送り、
前記入力装置は、前記ユーザの動作を判定した第１判定結果を前記判定装置に送り、
前記判定装置は、
前記動作情報を取得する第１取得部と、
前記第１判定結果を取得する第２取得部と、
前記動作情報と前記第１判定結果に基づき、前記ユーザの動作を判定するためのフォームモデルを生成する機械学習部と、
前記第１判定結果が下されていない前記ユーザの動作を、前記フォームモデルに基づき判定し、第２判定結果を算出する再現判定部と、
前記第２判定結果を出力する出力部と、
を備え、
前記出力装置は、前記出力部からの前記第２判定結果を受け付けて出力する
判定システム。
【請求項１５】
提供装置と、測定装置と、判定装置と、出力装置と、を備えた判定システムであって、
前記提供装置は、ユーザの動作に関する第１動作情報と、前記ユーザの動作を判定した第１判定結果とに基づき生成された前記ユーザの動作を判定するためのフォームモデルを前記判定装置に送り、
前記測定装置は、前記ユーザの動作に関する第２動作情報を前記判定装置に送り、
前記判定装置は、
前記フォームモデルを取得する第３取得部と、
前記第２動作情報を取得する第４取得部と、
前記第２動作情報を、前記フォームモデルに基づき判定し、第２判定結果を算出する再現判定部と、
前記第２判定結果を出力する出力部と、
を備え、
前記出力装置は、前記出力部からの前記第２判定結果を受け付けて出力する
判定システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明の実施形態は、動作フォーム判定装置、判定方法、判定プログラム、判定システムに関する。
【背景技術】
【０００２】
作業、スポーツなどにおける動作フォーム、例えば、ゴルフのスイングフォームなどを、習得するために、動作フォームの正確性を判定する装置が知られている。これらの判定装置は、行われた動作フォームを測定し、測定結果に基づき、理想のフォームを実現するためのフィードバックを行う。これらの判定装置には、理想とされる「正しい」フォームが予め記録されており、正しいフォームからの乖離度合いにより、「正しい」フォームか「誤った」フォームかが判定される。
【０００３】
しかし、「正しい」フォームが一意に定まらない場合もあり得る。例えば、片麻痺等の疾病による動作損失の再獲得のために行われるリハビリでは、疾病等の度合い・種類、患者の個性・特徴・回復度合いなどにより定められたマイルストーンに基づく複数のリハビリフォームが存在する。これらのリハビリフォームは、ユーザ個人ごとに異なり、またリハビリの進行状況に伴い変化する。ゆえに、患者間またはリハビリ経過期間を跨いだ単一の「正しい」リハビリフォームがあるのではないため、判定装置の「正しい」フォームをそのまま当てはめることができない。
【０００４】
また、判定する基準も重要な問題である。例えば、リハビリ専門職等のアドバイザーは、リハビリ動作の開始から数秒間の動作軌跡については大きな乖離を許容するが、リハビリ動作の終了直前の１秒間における伸展速度および伸展後の位置は小さな乖離しか許容しないといった場合があり得る。このように、「正しい」フォームからの乖離の許容度が時間別に変化する場合において、単純に「正しい」フォームとの乖離が一定以上の場合は誤りと判定すると、アドバイザーの判定結果と異なる場合が生ずる。
【０００５】
したがって、単一の「理想のフォーム」を前提とした判定装置、または判定基準がアドバイザーの意思を反映していない装置では、ユーザ個別の多様な理想のフォームの１つ１つに対応すること、およびアドバイザーからのアドバイスと同程度の精度でフォームの正誤判定を行うことはできない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−１３３０１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の実施形態は、ユーザおよび動作ごとに「正しい」フォームを機械学習し、アドバイザーのアドバイスと同程度の精度でフォームの正誤判定を行う。
【課題を解決するための手段】
【０００８】
本発明の一態様としての動作フォーム判定装置は、ユーザの動作に関する動作情報を取得する第１取得部と、前記ユーザの動作を判定した第１判定結果を取得する第２取得部と、前記動作情報と前記第１判定結果に基づき前記ユーザの動作を判定するためのフォームモデルを生成する機械学習部と、前記第１判定結果が下されていない前記動作情報を、前記フォームモデルに基づき判定し、第２判定結果を算出する再現判定部と、前記第２判定結果を出力する出力部と、を備える。
【図面の簡単な説明】
【０００９】
【図１】動作フォーム判定装置を説明するための図。
【図２】第１の実施形態に係る動作フォーム判定装置およびそのシステムの概略構成の一例を示すブロック図。
【図３】スケルトンを説明するための図。
【図４】動作情報とその時系列データの一例を示す図。
【図５】フォームモデルの機械学習を説明するための図。
【図６】フォームモデルに基づく判定を説明するための図。
【図７】実際に生成されたフォームモデルを示す図。
【図８】第１の実施形態に係る動作フォーム判定装置の機械学習処理の概略フローチャート。
【図９】第１の実施形態に係る機械学習部の機械学習（モデル生成）処理のフローチャート。
【図１０】第１の実施形態に係る動作フォーム判定装置の判定処理のフローチャート。
【図１１】第２の実施形態に係る動作フォーム判定装置の概略構成を示すブロック図。
【図１２】第３の実施形態に係る動作フォーム判定装置の概略構成を示すブロック図。
【図１３】第３の実施形態に係る機械学習部の機械学習処理のフローチャート。
【図１４】本実施形態に係る動作フォーム判定装置を実現したハードウェア構成例を示すブロック図。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、本発明の実施形態について説明する。
【００１１】
（第１の実施形態）
図１は、動作フォーム判定装置を説明するための図である。図１（Ａ）は、動作フォーム判定装置１に、ユーザの動作フォームの機械学習を行わせる図である。図１（Ｂ）は、動作フォーム判定装置１が、ユーザの動作フォームの判定を行う図である。図１（Ａ）では、図の左側に示されたユーザが、リハビリ専門職などのアドバイザーとともに、腕を伸縮させるリハビリの動作を行っていることが示されている。図１（Ｂ）では、当該ユーザがアドバイザー不在の状況下で、同じリハビリを行っていることが示されている。
【００１２】
図１（Ａ）でのユーザのリハビリ動作は、ユーザの動作を映すことができるカメラ２Ａ、またはユーザに取り付けられた加速度もしくは角速度を測るためのセンサ２Ｂなどの測定装置２により、測定される。また、アドバイザーは、ユーザが行ったリハビリの動作に対して、ＯＫまたはＮＧなどの判定（評価）を行う。判定は、入力装置３を介して、動作フォーム判定装置１に送られる。動作フォーム判定装置１は、このリハビリ動作および判定に基づき、正しいフォームを機械学習する。ここでは、正しいフォームは、ユーザ個人ごとに異なり、またユーザのリハビリの進行状況に伴い変化することを想定する。
【００１３】
図１（Ｂ）でのユーザのリハビリ動作も、ユーザの動作を映すことができるカメラ２Ａまたはユーザに取り付けられたセンサ２Ｂなどの測定装置２により、測定される。但し、測定機器２は、動作フォーム判定装置１の機械学習時よりも少なくともよい。また、機械学習時の測定機器２と同じ項目を測定できるものであれば、同一でなくともよい。図１（Ｂ）では、動作フォーム判定装置１は、先の機械学習結果に基づき生成されたフォームモデルに基づき、ユーザのリハビリ動作を判定する。この判定の結果（再現判定結果）は出力装置４に出力されるものとする。この再現判定結果がアドバイザーの判定の精度と同程度ならば、ユーザはアドバイザー不在の状況下でも、効率的にリハビリを行うことが可能となる。
【００１４】
動作フォーム判定装置１、測定装置２、入力装置３、および出力装置４は、有線または無線にて、データ交換を行えるものとする。但し、ここでは、動作フォーム判定装置１は、ユーザ、アドバイザー、測定装置２などと同じ部屋または空間内にあることを想定する。なお、動作フォーム判定装置１が、インターネットなどのネットワークを介して、他の装置と通信接続されることを制限するものではない。
【００１５】
なお、動作は上記例に限定されるものではない。動作は、リハビリではなく、スポーツ・作業の訓練でもよいし、動作部位も腕ではなく、頭、手、指、下肢など体の一部または体全体でもよい。また、アドバイザーには、リハビリ専門職、トレーナ、コーチなど、ユーザの動作を判定する人物全てが含まれるものとする。
【００１６】
図２は、第１の実施形態に係る動作フォーム判定装置およびそのシステムの概略構成の一例を示すブロック図である。このシステムは、動作フォーム判定装置１と、測定装置２と、入力装置３と、出力装置４とを具備する。測定装置２などは、図１で示した通り、複数の装置であってもよい。動作フォーム判定装置１は、測定データ取得部１０１と、測定データ記憶部１０２と、入力データ取得部１０３と、判定データ記憶部１０４と、パラメータ記憶部１０５と、機械学習部１０６と、モデル記憶部１０７と、再現判定部１０８と、再現判定結果記憶部１０９と、出力部１１０を備える。
【００１７】
測定データ取得部１０１は、測定装置２から、ユーザの動作を測定した測定データを取得する。ここでは、ユーザの動作に関する情報を動作情報と称する。測定装置２は、カメラ２Ａ、センサ２Ｂなど、動作情報を取得できるものであればよい。例えば、深度センサなどを有する３Ｄカメラ、または加速度センサ、角速度センサ、地磁気センサなどがある。また、図１に示したように、測定装置２は、１台でも複数でもよいし、複数の場合は種類が異なってもよい。動作情報は、センサが取得したユーザの加速度等でもよいし、３Ｄカメラなどが取得した画像（動画、静止画を含む。以下、同じ。）から、スケルトンと呼ばれる技術を用いて算出されたユーザの体の各部位の位置、角度などでもよい。なお、ここでいう位置とは、基準地点からの相対的な位置を意味する。
【００１８】
図３は、スケルトンを説明するための図である。スケルトンとは、体の各部位を代表する点と、それらを結ぶ線とにより、ユーザの動作情報を取得する技術である。図３に示されている複数の白丸が、頭、肩、肘、指などの体の各部位を表す。これらの部位は、画像および深度データに基づくパターン認識技術などによりマッチングされる。スケルトンにより、動作フォームを捉えるのに重要な部位の位置を、３次元および２次元の位置データとして取得できる。スケルトンの計算は、例えばマイクロソフト社のＫＩＮＥＣＴ（登録商標）などを測定装置２に用いることにより実現可能である。
【００１９】
ＫＩＮＥＣＴなどでは、上半身の地面に対する傾き、肘の開き角度または閉じ角度（肘ジョイント角度）、手または指の位置、姿勢の反り（上体の傾き、捻り）、猫背（背屈）、膝の上がり方（膝の角度）などを算出することができる。図４は、動作情報とその時系列データの一例を示す図である。図４（Ａ）は、肘の閉じ角度をθとして表して、肘を閉じている状態から開いた状態に動作させたときのθの変化を時系列データのプロットで表したものである。
【００２０】
なお、上記θなどの動作情報は、ＫＩＮＥＣＴなどの測定装置２または図示しない装置またはシステムなどが算出することを想定しているが、測定データ取得部１０１または機械学習部１０６が算出してもよい。スケルトンで示される体の全部位の３次元位置データを測定時刻と組み合わせて保存し、機械学習および判定すべき動作フォームに応じて、算出すべき動作情報を決定し、予め定められた計算方法により算出すればよい。測定データ取得部１０１が取得する動作情報も、機械学習および判定すべき動作フォームに応じて、適宜、変更してもよい。
【００２１】
また、測定データ取得部１０１は、測定装置２より、測定の開始時刻と終了時刻のデータも取得するものとする。測定装置２は、例えば、録画ボタンの押下などにより、開始時刻と終了時刻を把握できる。また、入力装置３を介して、入力データ取得部１０３が測定の開始時刻と終了時刻を受け取ってもよい。その場合は、測定データと、測定の開始および終了時刻の関連付けを行う必要がある。関連付けは、測定データに含まれるタイムスタンプが、測定の開始および終了時刻の間に含まれるかで行えばよい。また、リハビリ動作などが複数回反復して行われる動作の場合は、反復して行われる動作（反復動作）を１回行うごとに、１回分の反復動作の開始時刻と終了時刻も取得するものとする。１回分の反復動作の開始および終了時刻は、ＫＩＮＥＣＴなどで算出可能である。これにより、反復動作に対するフォームモデルの生成が可能となる。
【００２２】
測定データ取得部１０１は、測定データを測定装置２から受動的に受信してもよいし、測定データ取得部１０１がポーリングして測定装置２から能動的に受信してもよい。取得のタイミングは、一定時間ごとでも、動作情報の取得の度でもよく、任意に定めてよい。
【００２３】
測定データ取得部１０１は、測定データに対し、適切な前処理またはプロセシングを行う。前処理またはプロセシングとは、例えば、加速度センサが拾うノイズを除去すること、前述のスケルトンの位置情報より動作情報を算出することなどがある。
【００２４】
測定データ記憶部１０２は、上記のスケルトンによる３次元位置データなど、測定データ取得部１０１が取得した測定データを格納する。
【００２５】
入力データ取得部１０３は、入力装置３から入力されたデータを取得する。入力装置３には、図１で示した通り、アドバイザーによる判定結果が入力される。また、動作フォーム判定装置１が行う処理に対する指示、例えば、処理の開始、終了、内容の変更、などが入力される。また、測定データに関する指示、例えば、データ内容の変更もしくは削除なども入力されてもよい。
【００２６】
なお、入力データ取得部１０３が、機械学習処理の開始の命令を取得すると、動作フォーム判定装置１は、機械学習を開始する。入力データ取得部１０３が、再現判定の処理の開始の命令を取得すると、動作フォーム判定装置１は、判定を開始する。
【００２７】
入力装置３は、例えば、タブレット端末、ＰＣ（パーソナルコンピュータ）でもよく、入力方法は、タッチ操作、キーボードタイピング、音声、画像などでもよい。なお、アドバイザーは、判定結果を入力する際に、入力装置３に備えつけられたマイクおよびカメラなどに対し、判定理由を音声および画像で入力してもよい。例えば、「ＮＧ」を入力した際に、ＮＧである理由を音声および画像で入力する。そして、リハビリ動作の判定時に、判定したリハビリ動作と類似する機械学習データを抽出し、機械学習データに関する判定内容を再生させることで、ユーザはより詳細なアドバイスを取得することができる。
【００２８】
アドバイザーは、図１で説明したような、○Ｋ（○、ＹＥＳ、Ｇｏｏｄ）またはＮＧ（×、ＮＯ、Ｂａｄ）などの２段階の判定だけではなく、より複雑に判定を行ってもよい。例えば、「◎（Ｖｅｒｙ  Ｇｏｏｄ）、○（Ｇｏｏｄ）、△（Ａｌｍｏｓｔ）、×（Ｂａｄ）」、「○（Ｇｏｏｄ）、×（Ｂａｄ  Ｔｙｐｅ１）、×（Ｂａｄ  Ｔｙｐｅ２）、×（Ｂａｄ  Ｔｙｐｅ３）」のような多段階判定、または、９０点、６５点のような点数を入力してもよい。また、アドバイザーは、今回の測定内容が機械学習に適していないと判断した場合は、「機械学習対象外」という入力を行ってもよい。「機械学習対象外」の場合は、後述する機械学習において、機械学習データとして用いられないこととする。
【００２９】
なお、ここでは、アドバイザーの負担を考慮し、アドバイザーは１つの動作フォームに対し、総合的に判定を行う事を想定している。つまり、１つの動作フォームに対し、１つの判定結果が関連づけられる。但し、１つの動作フォームに対し重要な判定項目を複数定め、それら判定項目それぞれに対し、判定を行ってもよい。例えば、腕の伸縮のリハビリにおいては、伸ばす際の速度、伸展時の手首の高さを判定項目とし、速度はＯＫ、手首の高さはＮＧという判定を行ってもよい。また、ＮＧと判定した場合は、１つの動作フォームが行われた経過時間を複数の区間に分け、どの時間区間でＮＧとなったかを特定させてもよい。このように詳細に判定を行った場合、動作フォーム判定装置１は、より詳細に機械学習することができ、機械学習の速度・精度が向上する。
【００３０】
また、動作フォーム判定装置１を複数のユーザで共用する場合、またはユーザ１人が複数の動作フォームについて判定を行う場合もあり得る。このように、複数の動作フォームが動作フォーム判定装置１に登録される場合は、アドバイザーは判定を行う際に、いずれの動作フォームまたはユーザに対する判定かを入力装置３に入力するものとする。入力された動作フォームまたはユーザは、判定結果に含まれる。また、再現判定の処理の開始を行う際にも、ユーザはいずれの動作フォームまたはユーザの再現判定を行うかを入力装置３に入力するものとする。
【００３１】
入力データ取得部１０３は、機械学習部１０６が行う処理に必要なパラメータなどの情報を取得する。これらのパラメータは、予めパラメータ記憶部１０５に格納されていてもよいが、入力データ取得部１０３がパラメータを取得した場合は、パラメータ記憶部１０５のデータが更新されるものとする。
【００３２】
判定データ記憶部１０４は、入力データ取得部１０３が取得した判定結果を格納する。なお、アドバイザーが判定結果を対話形式で入力する場合、例えば、測定データ取得部１０１が測定データを取得したときは、出力装置４に判定の入力画面を表示させ、アドバイザーがその測定データにかかる動作フォームの判定を入力するといった場合は、判定データは、測定データに関連付けて、測定データの一部として測定データ記憶部１０２に格納してもよい。この場合は、判定データ記憶部１０４はなくともよい。
【００３３】
パラメータ記憶部１０５は、入力データ取得部１０３が取得した機械学習部１０６が行う処理に必要なパラメータを格納する。例えば、機械学習に用いる動作情報のほか、後述する時間ウィンドウ、統計分類手法などが含まれる。パラメータ記憶部に格納されたパラメータは、入力装置３を介して、ユーザ、動作フォーム判定装置１の管理者等が調整可能とする。
【００３４】
機械学習部１０６は、測定データ記憶部１０２内の測定データ（動作情報）と、判定データ記憶部１０４内の判定結果とに基づき、フォームモデルの機械学習を行う。測定データと判定結果は、測定履歴の番号等と判定履歴の番号等で関連付けてもよい。また、アドバイザーの判定がリアルタイムで行われる場合は、タイムスタンプで関連付けてもよい。また、判定結果を変更したことなどにより、１つの動作フォームに判定結果が複数存在する場合は、最も遅い時刻の判定結果を最終判定結果と解釈してもよい。
【００３５】
機械学習部１０６は、動作情報の時系列データを、所定の時間間隔で、複数の区間（時間ウィンドウ）に分割することもできるものとする。区間に分けることにより、機械学習に適したデータサイズ（データ次元）にする。そして、区間ごとに、動作情報の特徴量を算出する。なお、時間ウィンドウの長さは、動作フォームの動きの速さ、およびユーザの個人能力などに応じて、動作フォームごとに定められるものとする。また、ある１つの動作フォームにおける時間ウィンドウの長さは、同じでも、異なっていてもよい。
【００３６】
また、時間ウィンドウの分割を所定の時間間隔ごとに行うのではなく、測定された動作フォームの特徴に基づき、分割する時間（タイミング）を定めてもよい。例えば、１つ以上の閾値を予め定めておき、腕などの所定の部位の速度がある閾値未満からその閾値以上になったときを分割するタイミングとし、複数の区間に分割してもよい。また、フォーム全体を計測した後、肘などの所定の部位の角度が最大もしくは最小になったタイミングを割り出した上で、そのタイミングにて、分割するといったことも考えられる。
【００３７】
動作フォームの特徴も、任意に定めてよい。着目する体の部位、例えば、腕、肩、肘、関節なども任意に定めてよい。また１箇所だけでなく複数の箇所に着目してもよい。例えば、肘、肩、足首などの体全体の各関節に着目し、各関節の加速度の総和に基づき、分割のタイミングを定めてもよい。また、部位ではなく、体全体の傾き、重心の位置などでもよい。分割するための値に関しても、例えば、位置、速度、加速度など、あるいは、平均値、最大値、最小値なども任意に定めてよい。その他にも、フォーム全体の複雑度を判断することができる主成分分析手法（ＰＣＡ：Ｐｒｉｎｃｉｐａｌ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ）を用いて、フォーム全体の複雑度の平均値に基づき、分割することも考えられる。
【００３８】
特徴量は、動作情報、つまり、動作フォームの特徴を表すものである。動作フォームに適した特徴量を算出することで、判定におけるアドバイザーの着目点との差異を減らし、判定の精度を向上させることができる。特徴量としては、時間ウィンドウごとの動作情報の平均値、最大値、最小値などの他、時間差分における動作情報の極大値、極小値もしくはそれらの時刻、複数個所の時系列的連動（リズム）、動作の複雑性（ブレ）などがある。
【００３９】
特徴量を時間ウィンドウごとの平均値、最大値、最小値などにした場合は、各区間のウィンドウ幅を、例えば、１．０秒と、固定した上で算出する。平均値は、各区間における平均的な動きの推移を把握することができる。最大値、最小値は、部位間距離や関節角度が最大または最小となる時点におけるフォームを動作フォームの特徴と捉える。例えば、できる限り腕を高くあげるといったリハビリなどで用いることが考えられる。
【００４０】
時間差分での動作の大きさの極大値、極小値とした場合では、動作が大きく動いたとき、または、ほぼ静止しているときを、動作フォームの特徴として捉える。例えば、瞬間的に動くまたは止まるといった瞬発力の強化練習などで用いることが考えられる。極大値、極小値、またはそれらの時刻は、例えば、ジョイント別の単位時間の移動距離の総和などの時系列データを算出し、そのデータの極大点と極小点を算出すればよい。
【００４１】
複数個所の時系列的連動とした場合では、例えば、腕を伸ばすと同時に上体を倒すなど、体の複数の部位を連動させて動かすといった動作フォームにおいて、その連動の度合やリズムを特徴と捉える。例えば、ダンス、スポーツのフォームの習得などで用いることが考えられる。連動の度合は、動的時間伸縮法（ＤＴＷ：Ｄｙｎａｍｉｃ  Ｔｉｍｅ  Ｗａｒｐｉｎｇ）などにより、着目する複数個所の動きの波形の時間方向の差異を捉えることで、算出することができる。
【００４２】
動作の複雑性は、本来、単調な動作軌跡を描くはずの動作フォームが、力みなどの影響により、複雑な動作軌跡を描く、または動作軌跡が歪む場合を考慮したものである。このような誤りを捉えるため、動作の複雑性を定量的に捉える。正確性を求められる作業、またはリハビリなどで用いることが考えられる。動作の複雑性は、自己相関係数を取る方法、主成分分析手法（ＰＣＡ）、または、ＤＴＷにより正解フォームとの差異を合わせた上で差分の分散を取るといった方法で算出することができる。
【００４３】
図４に、特徴量算出の一例を示す。θの時系列データにおいて、１．０秒ごとの時間間隔で区間が区切られ、３つの区間それぞれに対し、区間の特徴量（６０．７、３１．４、１９．２）が算出されている。１つの動作情報（ここではθ）が有する全ての特徴量（ここでは、６０．７、３１．４、１９．２）を総じて特徴量ベクターと称する。このように、機械学習部は、予め定められた動作情報それぞれに対し、特徴量ベクターを算出する。
【００４４】
機械学習部１０６は、機械学習分野における統計分類手法により、複数の動作情報の特徴量ベクターの集合から、フォームモデルを機械学習する。動作情報各々に対応するアドバイザーの判定は教師データとして用いられる。統計分類手法は、決定木、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）、Ｋ近傍法などがある。
【００４５】
例えば、アドバイザーの判定が「○（Ｇｏｏｄ）、×（Ｂａｄ）」のような２値の場合には、決定木、ＳＶＭ、Ｋ近傍法、ロジスティック回帰などの手法を用いることができる。また、アドバイザーの判定が「◎（Ｖｅｒｙ  Ｇｏｏｄ）、○（Ｇｏｏｄ）、△（Ａｌｍｏｓｔ）、×（Ｂａｄ）」また「○（Ｇｏｏｄ）、×（Ｂａｄ  Ｔｙｐｅ  １）、×（Ｂａｄ  Ｔｙｐｅ  ２）、×（Ｂａｄ  Ｔｙｐｅ  ３）」のような多値の場合には、決定木、Ｋ近傍法、ｏｎｅ−ｖｅｒｓｕｓ−ｒｅｓｔ法などで多値分類に対応させたＳＶＭ、多クラスロジスティック回帰などを用いることができる。また、「９０点、６５点」のような点数の場合には、重回帰やロジスティック回帰（確率の０．０〜１．０を０点〜１００点と解釈）のような手法を用いることが出来る。
【００４６】
図５は、フォームモデルの機械学習を説明するための図である。図５（Ａ）は、機械学習に用いられた動作情報を示す図である。図５（Ｂ）は、機械学習により求められたフォームモデルの一例を示す図である。図５（Ａ）の実線は、アドバイザーによりＯＫと判定された動作フォームに関する動作情報であり、点線は、アドバイザーによりＮＧと判定された動作フォームに関する動作情報である。これらの動作情報とその判定に基づき、機械学習を行うと、図５（Ｂ）のように、フォームモデルとして、特徴量の上限値グラフ及び下限値グラフが生成される。このようにして、フォームモデルは、そのユーザ個人および練習状況に即した特有のモデルとなる。
【００４７】
モデル記憶部１０７は、機械学習部１０６より算出されたフォームモデルを格納する。なお、フォームモデルは、１人のユーザに対して、１つのみとは限らない。例えば、複数の動作フォームを連続して行うような場合などでは、一連の動作を１つのフォームモデルとして判定するのではなく、一連の動作フォームそれぞれのフォームモデルを個別に判定したほうがよい。また、１つの動作フォームに対し、フォームモデルが複数存在してもよい。例えば、全ての測定データを用いて、１つのフォームモデルを生成・更新するのではなく、機械学習の機会ごとに、フォームモデルを生成してもよい。例えば、ユーザがリハビリを３日間行った場合、３日間の測定データから１つのフォームモデルを生成してもよいし、１日目のフォームモデル、２日目のフォームモデル、３日目のフォームモデルと分けて生成し、モデル記憶部１０７に格納してもよい。複数のフォームモデルが格納されているときは、判定に用いるフォームモデルを、アドバイザーまたはユーザが、入力装置３を介して決定すればよい。
【００４８】
再現判定部１０８は、測定データ記憶部１０２に格納された測定データと、モデル記憶部１０７に格納されたフォームモデルに基づき、測定されたユーザの動作が、そのユーザ特有の「正しい」フォームであるかを判定（再現判定）する。
【００４９】
図６は、フォームモデルに基づく判定を説明するための図である。図６（Ａ）は、フォームモデルによる判定の一例を示す図である。図６（Ｂ）は、予め定めた理想のフォームから一定値離れた領域を許容範囲とするモデルの例を示す図である。
【００５０】
例えば、アドバイザーの意図が、θの始点（０．０秒〜０．５秒）と終点（２．０秒〜３．０秒）においては、小さい許容度でチェックするが、０．５秒から２．０秒の間では、それほど厳しくはチェックしない、というものであったとする。そうすると、図６（Ａ）のように、点線の上限値グラフと下限値グラフとの間の許容範囲は、始点と終点で狭く、中間地点は広くなる。黒の破線は、今回判定を行う測定フォームの時系列データである。破線で示された測定フォームは、図６（Ａ）では許容範囲内であるが、図６（Ｂ）では許容範囲を越えている。許容範囲内に完全に含まれている場合をＯＫ、完全に含まれていない場合はＮＧとすると、図６（Ｂ）のようなモデルではＮＧとなる。ゆえに、予め定めた理想のフォームから一定値離れた領域を許容範囲とするモデルでは、本来は許容されるべき正しいフォームが、間違ったフォームと判定される場合がある。しかし、動作フォーム判定装置１が生成したフォームモデルを用いれば、アドバイザーの意図を反映しないモデルとは異なり、アドバイザーの判定をより正確に表した判定を行い得る。
【００５１】
図７は、実際に生成されたフォームモデルを示す図である。実際のフォームモデルは、機械学習による決定木、ＳＭＶ、ロジスティック回帰などの手法で生成される機械学習モデルである。このような機械学習モデルにおいても、図６のような、正誤範囲の図示的解釈が可能である。図７は、２つの特徴量に係るフォームモデルであり、具体的には、手首の伸びと手首の高さとに基づくフォームモデルである。図７の縦軸が手首の伸びを示し、横軸が手首の高さを示す。図７に示された三角形および四角形のプロットは、実際に取得した動作フォームの判定結果を示すものである。三角形は「ＯＫ」を意味し、四角形は「ＮＧ」を意味する。これらのプロットは、ある特定の時刻におけるプロットでもよいし、ある期間の平均値、最大値、最小値などでもよい。
【００５２】
図７に示された曲線は、ＳＭＶによる機械学習により算出され、「正しさ」の度合を示すものである。図７では、上側に描画された線のほうが「正しさ」が高いとする。ここでは、曲線の１つを基準線（判定グラフ）とし、プロットが基準線よりも上側または左側にあるとき、「ＯＫ」と判定されている。
【００５３】
なお、再現判定部１０８は、再現判定を行う際に、測定された動作フォームが開始されたタイミングを把握しなければ、フォームモデルと比較する際にずれが生じてしまい、正確に比較することができない。動作フォームの開始時刻は、入力装置３を介して、ユーザが入力してもよいし、測定装置が記録して測定データに含めてもよい。または、再現判定部１０８が、フォームモデル等とパターンマッチングを行い、動作フォームの開始を検出してもよい。
【００５４】
再現判定部１０８が算出する判定結果は、例えば、機械学習に基づき、統計的意味がある点数または２段階評価もしくは多段階評価の結果を表す指標（◎〇△×など）にて表されることが考えられる。フォームモデルの種類によっては、動作フォームの正誤に関する２値判別だけでなく、正しい確率を算出することができるものがある。例えば、ＳＭＶ、ロジスティック回帰などにより生成されたフォームモデルなどがあり得る。このようなフォームモデルにおいて、例えば、正しいフォームである確率がＰ（単位は％）という判定結果を得たときは「Ｐ点」と表示することにより、確率や統計的意味のある値に応じて、点数を決めることができる。
【００５５】
また、確率の他、正しいと判定された結果の分布に関する標準偏差σ、誤差偏差、信頼区間などに基づき、一定値を算出し、計測結果とフォームモデルとの乖離を当該一定値に基づき、判定することが考えられる。例えば、判定されるユーザの動作に関する全ての値が許容範囲に完全に含まれており、かつ上限値グラフまたは下限値グラフから一定値よりも離れている場合は、１００点（◎、Ｖｅｒｙ  Ｇｏｏｄ）、許容範囲に完全に含まれているが上限値グラフまたは下限値グラフから一定値以内である場合なら９０点（○、Ｇｏｏｄ）、許容範囲に含まれていない値があるが上限値グラフまたは下限値グラフから一定値以内である場合なら６０点（△、Ａｌｍｏｓｔ）、許容範囲に含まれていない値があり上限値グラフまたは下限値グラフから一定値よりも離れている場合は３０点（×、Ｂａｄ）としてもよい。このように、判定の基準、方法、判定結果の表示形式（点数、記号、単語）などは、任意に定めてよい。
【００５６】
上記のように判定結果を算出すると、アドバイザーはＯＫとＮＧの２段階しか判定していないが、判定結果は、１００点、９０点、６０点、３０点の４段階の判定となり得る。逆にアドバイザーは細かく判定したが、判定結果は、ＯＫとＮＧの２段階しか算出しないということもできる。このように、判定結果は、アドバイザーが入力した判定の段階数、表示形式などと異なっていてもよい。また、ユーザが、入力部を介して、判定結果の判定の段階数を調節可能としてもよい。
【００５７】
また、判定結果がＮＧの場合などでは、どの時間帯に問題があったかを判定結果に含めてもよい。再現判定部１０８は、測定フォームのグラフが、フォームモデルの許容範囲から外にはみ出ると、ＮＧと判定する。ゆえに、このはみ出た時間帯が問題であるとして、当該時間帯を判定結果に含める。これにより、ユーザはどの時間帯が問題であったかを把握することができる。
【００５８】
また再現判定部１０８は、再現判定された動作と類似する機械学習で用いられた動作を、判定データ記憶部１０４から抽出し、機械学習で用いられた動作の判定と同じ判定結果としてもよい。機械学習時に、入力装置３に備えられたマイクおよびカメラなどを用いて、機械学習で用いられた動作の判定の理由を音声および画像で入力していた場合に、当該判定理由を判定結果として出力すれば、ユーザにより詳細なアドバイスを行うことができる。また、ｋ近傍法を用い、当該特徴量において、判定された動作と類似する正しい例（正例）の集合と、類似する誤りの例（誤例）の集合を所定数取得し、取得した正例と誤例を出力装置４に表示させてもよい。これらにより、ユーザは修正すべきフォームの箇所等をより理解することができる。
【００５９】
再現判定結果記憶部１０９は、判定結果を格納する。判定結果は、過去の履歴などを参照する際に用いられる。なお、再現判定結果記憶部１０９は、判定結果に基づき、統計情報を生成してもよい。再現判定結果記憶部１０９がデータベースなどで実現されている場合は、ＲＤＢＭＳなどの管理機能を用いればよい。
【００６０】
出力部１１０は、出力装置４に出力させる内容を出力する。出力する信号、データフォーマット等は、出力装置４に応じて、予め定められているものとする。動作フォーム判定装置１が機械学習を行う場合は、生成したフォームモデルに関する情報などを出力させて、フォームモデルの適否をアドバイザーに確認させてもよい。動作フォーム判定装置１が再現判定を行う場合は、出力部１１０は、判定結果を出力する。再現判定の都度、判定結果を出力させる場合などでは、出力部１１０は、再現判定部１０８より送られた判定結果をリアルタイムに出力装置４に送る。判定結果をまとめて表示する場合などでは、出力部１１０は、再現判定結果記憶部１０９を参照し、判定結果に関連付けられたタイムスタンプなどにより、出力させるべき判定結果を把握し、抽出する。
【００６１】
また、出力部１１０は、入力データ取得部１０３からの指令を受けて、再現判定結果記憶部１０９から過去の判定結果を抽出し、当該判定結果を出力するように出力装置４を制御してもよい。例えば、過去１週間当たりの判定結果を、出力装置４を介して出力することで、ユーザおよびアドバイザーはリハビリの進捗具合を把握するといったことができる。また、アドバイザーが判定結果を確認し、判定結果の是非を記録してもよい。判定結果の是非が記録された場合は、当該動作フォームは測定データとすることができ、フォームモデルの更新に用いることができる。また、一度行った判定を修正することも可能である。過去のデータの検索等は、再現判定結果記憶部１０９がＳＱＬクエリを受付可能なデータベースとして実現されている場合は、タイムスタンプを参照するＳＱＬクエリを生成することで実現できる。
【００６２】
その他にも、出力部１１０は、各記憶部に格納されたデータ、例えば、測定データの値、パラメータ、または測定装置２などから送られてきた画像データなどをそのまま転送してもよい。ここでは、図１（Ａ）で示した通り、アドバイザーは、ユーザとともにリハビリを行っていることを想定しているが、画像を転送する場合は、ユーザとは異なる場所および時間で判定を行うこともできる。出力部１１０が出力する内容は、入力装置３を介して指示すればよい。
【００６３】
出力装置４は、出力部１１０から送られた判定結果等の出力データを表示する。出力装置４は、例えば、タブレット端末、ＰＣ（パーソナルコンピュータ）等でよく、また入力部３と同一でもよい。判定結果は、出力装置４が有するディスプレイ、スピーカなどにより、画像、音声などで出力される。
【００６４】
次に、第１の実施形態に係る動作フォーム判定装置１の処理のフローについて説明する。図８は、第１の実施形態に係る動作フォーム判定装置１の機械学習処理の概略フローチャートである。
【００６５】
測定データ取得部１０１が、測定装置２から測定データを取得する（Ｓ１０１Ａ）。測定データの取得は、任意のタイミングでよい。測定装置２が動作の測定中にリアルタイムに測定データ取得部１０１に送信してもよいし、リハビリ動作の後で測定データ取得部１０１が測定データを一括して取得してもよい。測定データは、適切な前処理やプロセシングが行われた上で、測定データ記憶部１０２が格納する（Ｓ１０２Ａ）。
【００６６】
入力データ取得部１０３が、入力装置３から判定結果を取得する（Ｓ１０１Ｂ）。判定結果は、入力装置３を介して、リアルタイムに送られる。判定結果は、測定データ記憶部１０２が格納する（Ｓ１０２Ｂ）。
【００６７】
なお、測定データの取得（Ｓ１０１Ａ）および格納（Ｓ１０２Ａ）と、判定データの取得（Ｓ１０１Ｂ）および格納（Ｓ１０２Ｂ）とは、並行して行われても、いずれかが先に行われてもよい。
【００６８】
機械学習部１０６は機械学習処理を行い、判定結果と測定データ内の動作情報とに基づき、フォームモデルを生成する（Ｓ１０３）。測定データと判定結果は、測定履歴の番号等と判定履歴の番号等で関連付けてもよい。また、アドバイザーの判定がリアルタイムで行われる場合は、タイムスタンプで関連付けてもよい。フォームモデルは、モデル記憶部１０７が格納する（Ｓ１０４）。以上が、機械学習処理の概略フローである。
【００６９】
図９は、第１の実施形態に係る機械学習部１０６の機械学習（フォームモデル生成）処理のフローチャートである。
【００７０】
機械学習部１０６は、パラメータ記憶部１０５からパラメータを取得する（Ｓ２０１）。取得すべきパラメータは、予め機械学習部１０６に定められていてもよい。または、機械学習部１０６が判定対象の動作フォームを判断し、動作フォームに関連づけられたパラメータを取得してもよい。または、入力装置３を介して、ユーザからの指示を受け取ってもよい。パラメータには、特徴量の算出方法、動作情報を分割する時間間隔、統計分類手法などが含まれる。
【００７１】
機械学習部１０６は、測定データ記憶部１０２から、機械学習の対象とする測定データを取得する（Ｓ２０２）。機械学習部１０６は、取得した測定データそれぞれに対し、所定の時間間隔で、複数の区間に分割し（Ｓ２０３）、特徴量ベクターを算出する（Ｓ２０４）。なお、一度当該処理を行っており、既に算出済みの特徴量ベクターが有る場合は、その特徴量ベクターを用いてもよい。算出した特徴量ベクターは、測定データ記憶部１０２、またはモデル記憶部１０７に格納すればよい。
【００７２】
機械学習部１０６は、１つの測定データに対し、１以上の動作情報の特徴量を算出する。ゆえに、全ての種類の特徴量を算出していない場合は（Ｓ２０６のＮＯ）、Ｓ２０３とＳ２０４の処理を繰り返す。全ての種類の特徴量を算出し、まだ処理を行うべき測定データが残っている場合は（Ｓ２０７のＮＯ）、次の測定データを取得し（Ｓ２０２）、次の測定データに対しＳ２０３とＳ２０４の処理を行う。
【００７３】
対象とする全ての測定データを処理した場合は（Ｓ２０７のＹＥＳ）、全測定データの特徴量ベクターから、選択された統計分類手法により、フォームモデルを機械学習する（Ｓ２０８）。以上が、機械学習部１０６の機械学習（モデル生成）処理のフローである。
【００７４】
図１０は、第１の実施形態に係る動作フォーム判定装置１の判定処理のフローチャートである。当該フローは、入力装置３から判定処理の指令を受け取ったタイミングなどで開始される。
【００７５】
再現判定部１０８は、モデル記憶部１０７からフォームモデルを取得する（Ｓ３０１）。選択するモデルは、アドバイザー等により予め定められた標準（デフォルト）のフォームモデルでもよい。または、入力装置３を介して、ユーザから指定されたフォームモデルを選択するようにしてもよい。
【００７６】
再現判定部１０８は、測定データ記憶部１０２から、測定データを取得する（Ｓ３０２）。取得する測定データは、測定時刻などから判断すればよい。例えば、判定処理の開始後に測定データ記憶部１０２に格納されたデータ、または一番直近のデータとしてもよい。または、測定データ取得部１０１または入力データ取得部１０３から、取得する測定データの番号等を受け取ってもよい。なお、再現判定部１０８は、入力データ取得部１０３からの指令を受け付けてから、測定データを取得してもよい。例えば、ユーザが動作を行った後で、この動作については測定対象外とする入力を入力装置３に行った場合などでは、入力データ取得部１０３が測定データの取得の指令を行わないとしてもよい。
【００７７】
再現判定部１０８は、測定データの動作情報とフォームモデルとに基づき、判定を行う（Ｓ３０３）。判定結果は、出力部１１０により、出力部に送られる（Ｓ３０４）。なお、出力部１１０は、判定結果のみならず、測定データ取得部１０１が取得した測定データを逐次、出力装置に送るようにしてもよい。そして、再現判定結果記憶部１０９が、判定結果を格納する（Ｓ３０５）。以上が、判定処理のフローである。
【００７８】
なお、１度に複数の判定を行う場合は、再現判定結果記憶部１０９の格納（Ｓ３０５）後、再度、別の測定データを取得する処理（Ｓ３０２）に戻り、判定処理が繰り返し行われる。また、ここでは、出力部１１０の出力制御（Ｓ３０４）の後に、再現判定結果記憶部１０９の格納（Ｓ３０５）が実行されるように記載したが、当該フローの実行は、出力制御と同時に行われても、順番を入れ替えて行われてもよい。
【００７９】
以上のように、第１の実施形態によれば、アドバイザー不在の状況下においても、アドバイザーの意思を反映した正誤判定を行うことができる。また、動作フォームに即した特徴量を用いることで、判定におけるアドバイザーの着目点との差異を減らし、判定結果の精度向上を図ることができる。
【００８０】
（第２の実施形態）
第２の実施形態では、リハビリ患者などが、アドバイザーのいる病院だけでなく、自宅などで自主的にリハビリを行いたいといった場合を想定する。このような場合、第１の実施形態に係る動作フォーム判定装置１を病院と自宅に２台設置してもよいが、自宅では機械学習されることができないので、機械学習機能が無駄になる。また、インターネットなどを介して、測定データを病院に設置された動作フォーム判定装置１に送り、判定結果を取得する方法も考えられる。しかし、動作を映した画像などのデータ容量、通信回線の帯域などの影響を受け、現実的とは言えない。
【００８１】
そこで、第２の実施形態に係る動作フォーム判定装置１Ａは、機械学習機能を分離させ、判定機能のみを有する。そして、機械学習を行うのは病院に備え付けの動作フォーム判定装置１、再現判定を行うのは自宅に備え付けの動作フォーム判定装置１Ａというように、機械学習と再現判定を異なる機器で行うことを想定する。
【００８２】
図１１は、第２の実施形態に係る動作フォーム判定装置１Ａの概略構成を示すブロック図である。動作フォーム判定装置１Ａは、フォームモデル取得部１１１を新たに備え、判定データ記憶部１０４、パラメータ記憶部１０５、機械学習部１０６を備えない点が、第１の実施形態に係る動作フォーム判定装置１と異なる。第１の実施形態と同一の部分および処理については、説明を省略する。
【００８３】
なお、ここでは、フォームモデル取得部１１１を新たに備えるものとしたが、入力データ取得部１０３がフォームモデル取得部１１１の役割を果たしてもよい。
【００８４】
フォームモデル取得部１１１は、動作フォーム判定装置１Ａの外部の装置から、フォームモデルを取得する。外部の装置は、病院などに設置された第１の実施形態に係る動作フォーム判定装置１でもよい。また、動作フォーム判定装置１から再現判定部１０８および再現判定結果記憶部１０９を除き、機械学習機能のみを有する動作フォーム判定装置でもよい。その他、クラウドといった、通信ネットワーク上のサービス提供環境に置かれているフォームモデル提供サーバ５でもよい。動作フォーム判定装置１、フォームモデル提供サーバ５などとは、インターネットなどのネットワークを介して、通信接続できるものとする。
【００８５】
フォームモデル取得部１１１は、定期的に、動作フォーム判定装置１、フォームモデル提供サーバ５などと同期を行い、フォームモデルを取得してもよい。または、再現判定を行うタイミングで、再現判定に用いるフォームモデルのみを取得してもよい。
【００８６】
フォームモデルを取得するための情報、例えば、取得先のＩＰアドレス、ポート番号、使用するユーザのＩＤ、ログインパスワードなどは、予めフォームモデル取得部１１１に定められていればよい。または、入力装置３を介して、設定してもよい。また、取得するフォームモデルを特定するために、判定を行うユーザ、動作フォームなどの情報は、入力装置３を介して、取得すればよい。
【００８７】
取得されたフォームモデルは、第１の実施形態に係る動作フォーム判定装置１で生成されたフォームモデルと同様に生成されたものとする。フォームモデルは、第１の実施形態同様、モデル記憶部１０７に格納される。
【００８８】
その他の部分については、第１の実施形態と同様である。また、再現判定のフローチャートも第１の実施形態と同じである。
【００８９】
以上のように、第２の実施形態によれば、機械学習を行う装置と、判定を行う装置が異なる場合でも、動作フォームの正誤判定を行うことができる。これにより、自宅などで自主的に再現判定を利用したリハビリまたはトレーニングを行う場合に、機械学習を行った装置を用意せずとも判定のみを行う装置を用意することで、容易に再現判定を行うことができる。
【００９０】
（第３の実施形態）
今までの実施形態では、アドバイザーの判定結果を機械学習することにより、アドバイザー視点のフォームモデルを作成し、再現判定の精度を高めた。しかし、測定データの不足などにより、機械学習が不十分な状態では、フォームモデル自体の精度が低くなり、結果的に再現判定の精度も低くなる。そこで、第３の実施形態の動作フォーム判定装置１は、機械学習が十分であるか、生成されたフォームモデルの精度が十分であるかなどを確認する。
【００９１】
図１２は、第３の実施形態に係る動作フォーム判定装置１の概略構成を示すブロック図である。第３の実施形態に係る動作フォーム判定装置１の機械学習部１０６は、機械学習基本部１０６１、機械学習進捗把握部１０６２、モデル更新部１０６３を備える。第１の実施形態と同一の部分および処理については、説明を省略する。
【００９２】
機械学習基本部１０６１は、第１の実施形態の動作フォーム判定装置１の機械学習部１０６が行う処理を司る。
【００９３】
機械学習進捗把握部１０６２は、機械学習が十分であるか、フォームモデルの精度が十分であるかなどを確認する。機械学習の進捗またはフォームモデルの精度は、例えば、機械学習の１つであるアクティブラーニングにおける停止基準（Ｓｔｏｐｐｉｎｇ  Ｃｒｉｔｅｒｉａ）を用いて、確認することができる。
【００９４】
例えば、現在までにユーザの動作測定がｎ（ｎは２以上の整数）回行われ、ｎ個の測定データが取得済みとする。ｎ個の測定データは、ｋ（ｋは１以上、ｎ−１以下の整数）個の測定データの第１グループと、ｎ−ｋ個の測定データの第２グループに分けられる。ｋ個の測定データは、検証用のフォームモデル（検証用モデル）の生成に用いられる。ｎ−ｋ個の測定データは、当該検証用モデルの精度を検証するために用いられる。
【００９５】
機械学習進捗把握部１０６２は、第１グループに含まれる１つの測定データから、検証用モデルを１個生成する。そして、さらに第１グループに含まれる測定データを１つ追加して、２つの測定データから検証用モデルを新たに１個生成する。このように、用いる測定データを１つずつ追加していきながら、検証用モデルを合計ｋ個生成する。ここでは、ｓ（ｓは１以上、ｋ以下の整数）個の測定データから生成された検証用モデルをＭｓと表すこととする。
【００９６】
機械学習進捗把握部１０６２は、第２グループに含まれる測定データを用いて、検証用モデルＭｓの精度を算出する。第２グループに含まれる測定データそれぞれに対し、検証用モデルＭｓを用いて判定を行い、当該判定結果と、判定データ記憶部１０４に格納されているアドバイザーの判定結果を比較することで、検証用モデルＭｓの精度が求まる。
【００９７】
検証用モデルＭｓの精度が所定の閾値を越えている場合は、現在のフォームモデル（つまりＭｎ）の精度も十分と考えられることから、機械学習の完了としてもよい。または、Ｍ１からＭｋまでの検証用モデルの精度に基づく精度向上曲線から近似曲線を生成し、検証用モデルＭｎの近似曲線の増加量を推測してもよい。増加量が所定の閾値を下回る場合は、これ以上機械学習しても精度が向上しないとして、機械学習の完了としてもよい。
【００９８】
また、機械学習進捗把握部１０６２は、ｒ分割交差検証（クロスバリデーション）を用いてもよい。ｒ分割交差検証は、測定データをｒ（ｒは０以上の整数）個のグループに分割し、そのうち１つのグループをテストデータ、残りを訓練データとして扱う。テストデータによる機械学習と、訓練データによる精度判定を行う。テストデータによるモデルの精度は、正解率（Ａｃｃｕｒａｃｙ）、適合率（Ｐｒｅｃｉｓｉｏｎ）、再現率（Ｒｅｃａｌｌ）などの尺度で表すことができる。これらの尺度が所定の閾値を越えている場合は、機械学習の完了としてもよい。
【００９９】
機械学習進捗把握部１０６２が、機械学習の完了を決定するのではなく、アドバイザーに判断させてもよい。例えば、ｒ分割交差検証で算出した尺度を、出力部１１０を介して出力装置４に出力させ、アドバイザーからの判断結果の入力を受け付けてもよい。なお、アドバイザーが判断しやすくするために、例えば、ｒ分割交差検証で算出できる複数の尺度をそのまま表示するのではなく、適切に合算した上で、０〜１００の点数などの単一な指標で示してもよい。
【０１００】
また、既にユーザが再現判定を行っている場合は、現状のフォームモデルにより正しいと再現判定された動作（正例）の一部または全部と、誤りと再現判定された動作（誤例）の一部または全部とを出力装置４に出力し、フォームモデルの精度を判断させることにしてもよい。出力する動作は、カメラ２Ａで撮影された画像そのままでもよいし、スケルトンでもよい。
【０１０１】
また、動作を個別に出力するのではなく、複数の動作を合成して平均をとった擬似フォームを出力してもよい。例えば、複数の誤例の動作のスケルトン位置を合成して平均を取ることで平均的な誤例フォーム（平均動作情報）を新たに生成する。さらに、平均的な誤例フォームに基づく動作などを、「現状のモデルでは、このような例が正例、このような例が誤例として判断されています」として表示し、トレーナにその妥当性の判断を仰ぐことも考えられる。
【０１０２】
また画像ではなく、特徴量の分布度合などでもよい。例えば、正しいと再現判定された肘角度の最大値の一覧と、誤りと再現判定された肘角度の最大値の一覧と、を出力してもよい。
【０１０３】
モデル更新部１０６３は、機械学習の不足と判定された場合に、機械学習の不足を補うための処理を行う。例えば、新たな測定データの取得の指示を、出力部１１０に行う。または、上述した擬似フォームを複数作成し、機械学習の候補データとしてもよい。擬似フォームにより、実際に測定したフォーム数以上のフォーム数を機械学習に用いることができる。または、リハビリの内容、疾病の症状、体型などを考慮して、類似する他人および他人の測定データをｋ近傍法などで抽出し、機械学習の候補データとしてもよい。新たな測定データまたは機械学習の候補データをアドバイザーに判定させることにより、第１の実施形態同様に、機械学習が行われ、新たなフォームモデルが生成される。
【０１０４】
また、モデル更新部１０６３は、新たな判定データが一定量以上判定データ記憶部１０４に格納された場合などのタイミングで、機械学習基本部１０６１に対し、フォームモデルの更新を指示してもよい。更新の際は、更新に用いる判定データの絞り込みおよび重みづけを行ってもよい。
【０１０５】
例えば、ユーザのリハビリの進捗に合わせて、トレーナの判定も段々と厳しくなることが予想される。このため、過去の判定データをそのまま用いると、現状のアドバイザーの判定と乖離が大きくなる。例えば、リハビリ開始当初は上肢のみを重視し、あごを引くという点は妥協してＯＫとしていたが、現在は、あごを引いていないとＮＧとしている場合、リハビリ開始当初の判定データは、現在のアドバイザーの判定と乖離することとなる。ゆえに、モデル更新部１０６３は、例えば、今月と前月に行ったリハビリの判定データは用いるが、３月前に行ったリハビリの判定データは用いずに、機械学習モデルを構築するとしてもよい。これにより、リハビリ初期の機械学習モデルよりも厳しい機械学習モデルを作成することができる。
【０１０６】
上記では、フォームモデルの更新を行い、再現判定の精度向上を図ろうとした。しかし、逆に、更新されたフォームモデルを用いるのではなく、過去のフォームモデルを使用するロールバックを可能にしてもよい。フォームモデルは、過度な機械学習および機械学習に用いたデータに含まれるノイズなどにより、生成したフォームモデルの精度が下がることもあり得る。ゆえに、現在よりも過去の機械学習モデルを使用させたい場合もある。
【０１０７】
モデル更新部１０６３は、モデル更新の際に、過去のモデルを消去せず、更新したモデルとともにモデル記憶部１０７に格納する。そして、モデル更新部１０６３または再現判定部１０８は、入力データ取得部１０３からの指示に従い、判定に用いるフォームモデルを選択するようにしてもよい。また、入力データ取得部１０３からの指示がない場合に更新したモデルが標準（デフォルト）で用いられるようにするため、モデル更新部１０６３は、更新したモデルに判別可能なフラグを付け、再現判定部１０８は、フラグが付いたフォームモデルを用いるとすればよい。
【０１０８】
また、更新されたモデルが、過去のフォームモデルよりも精度が高いか否かを判断させるために、機械学習進捗把握部１０６２が算出したフォームモデルの精度等の情報を、出力装置４に出力するように、出力部１１０に制御させてもよい。
【０１０９】
次に、第３の実施形態に係る機械学習部１０６の処理のフローについて説明する。図１３は、第３の実施形態に係る機械学習部１０６の機械学習処理のフローチャートである。このフローは、機械学習の進捗を出力するために、入力データ取得部１０３を介したユーザからの指示を受けて開始されることが考えられる。または、図９に示した機械学習部１０６の機械学習処理のフローの前に行ってもよい。なお、このフローは、機械学習進捗把握部１０６２が停止基準を用いた場合を想定する。
【０１１０】
機械学習進捗把握部１０６２は、第１の実施形態での処理と同じく、パラメータ記憶部１０５からパラメータを、測定データ記憶部１０２から測定データを取得する（Ｓ２０１、Ｓ２０２）。機械学習進捗把握部１０６２は、パラメータと測定データの一部に基づき、判定用フォームモデルを生成する（Ｓ４０１）。そして、測定データの残りの一部に基づき、判定用フォームモデルの精度を確認する（Ｓ４０２）。機械学習進捗把握部１０６２が当該精度に基づき機械学習不足と判断した場合（Ｓ４０３のＹＥＳ）は、モデル更新部１０６３は、疑似フォームの作成など、更新のための処理を行う（Ｓ４０４）。出力部１１０は、出力装置４に対し、判定結果を出力する（Ｓ４０５）。また、更新のための処理を実行するか否かを出力してもよい。機械学習進捗把握部１０６２が、当該精度に基づき機械学習が充足していると判断した場合（Ｓ４０３のＮＯ）は、モデル更新部１０６３の処理は行われずに、機械学習が十分であるとの結果が出力部１１０により出力される（Ｓ４０５）。以上が、機械学習モード変更処理のフローとなる。
【０１１１】
以上のように、第３の実施形態によれば、機械学習の進捗を把握し、機械学習が不足しているときは、機械学習を充足するための処理を行うことで、フォームモデルの精度を高めることができる。
【０１１２】
また、上記に説明した実施形態における各処理は、ソフトウェア（プログラム）によって実現することが可能である。よって、上記に説明した実施形態における動作フォーム判定装置は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用い、コンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することが可能である。
【０１１３】
図１４は、本実施形態に係る動作フォーム判定装置１を実現したハードウェア構成例を示すブロック図である。動作フォーム判定装置１は、プロセッサ（ＣＰＵ）６０１、主記憶装置６０２、補助記憶装置６０３、通信装置６０４、デバイスインタフェース６０５、入力装置３６０６、出力装置４５０７を備え、これらがバス５０８を介して接続された、コンピュータ装置６として実現できる。
【０１１４】
プロセッサ６０１が、補助記憶装置６０３からプログラムを読み出して、主記憶装置６０２に展開して、実行することで、機械学習部１０６、再現判定部１０８などの機能を実現することができる。
【０１１５】
本実施形態の動作フォーム判定装置１は、当該動作フォーム判定装置１で実行されるプログラムをコンピュータ装置に予めインストールすることで実現してもよいし、プログラムをＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいはネットワークを介して配布して、コンピュータ装置に適宜インストールすることで実現してもよい。
【０１１６】
ネットワークインタフェース６０４は、通信ネットワークに接続するためのインタフェースである。測定装置２、入力装置３、出力装置４などとの通信は、このネットワークインタフェース６０４にて実現してもよい。ここではネットワークインタフェースを１つのみ示しているが、複数のネットワークインタフェースが搭載されていてもよい。
【０１１７】
デバイスインタフェース６０５は、外部記憶媒体７などの機器に接続するインタフェースである。外部記憶媒体７は、ＨＤＤ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＳＡＮ（Ｓｔｏｒａｇｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）等の任意の記録媒体でよい。モデル記憶部１０７、測定データ記憶部１０２、再現判定結果記憶部１０９は、外部記憶媒体７としてデバイスインタフェース６０５に接続されてもよい。
【０１１８】
主記憶装置６０２は、プロセッサ６０１が実行する命令、および各種データ等を一時的に記憶するメモリ装置であり、ＤＲＡＭ等の揮発性メモリでも、ＭＲＡＭ等の不揮発性メモリでもよい。補助記憶装置６０３は、プログラムやデータ等を永続的に記憶する記憶装置であり、例えば、ＨＤＤまたはＳＳＤ等がある。モデル記憶部１０７、測定データ記憶部１０２、再現判定結果記憶部１０９などが保持するデータは、主記憶装置６０２、補助記憶装置６０３または外部記憶媒体７に保存される。
【０１１９】
上記に、本発明の一実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２０】
１  動作フォーム判定装置
１Ａ  動作フォーム判定装置（判定のみ）
１０１  測定データ取得部
１０２  測定データ記憶部
１０３  入力データ取得部
１０４  判定データ記憶部
１０５  パラメータ記憶部
１０６  機械学習部
１０６１  機械学習基本部
１０６２  機械学習進捗把握部
１０６３  モデル更新部
１０７  モデル記憶部
１０８  再現判定部
１０９  再現判定結果記憶部
１１０  出力部
１１１  フォームモデル取得部
２  測定装置
２Ａ  カメラ
２Ｂ  加速度センサ
３  入力装置
４  出力装置
５  フォームモデル提供サーバ
６  コンピュータ装置
６０１  プロセッサ
６０２  主記憶装置
６０３  補助記憶装置
６０４  ネットワークインタフェース
６０５  デバイスインタフェース
６０６  バス
７  外部記憶媒体
【図１】
2017055913.tif 000003
【図２】
2017055913.tif 000004
【図３】
2017055913.tif 000005
【図４】
2017055913.tif 000006
【図５】
2017055913.tif 000007
【図６】
2017055913.tif 000008
【図７】
2017055913.tif 000009
【図８】
2017055913.tif 000010
【図９】
2017055913.tif 000011
【図１０】
2017055913.tif 000012
【図１１】
2017055913.tif 000013
【図１２】
2017055913.tif 000014
【図１３】
2017055913.tif 000015
【図１４】
2017055913.tif 000016