(57)【要約】【課題】  動作を行っている者が自分の動作のどこを改善すればよいかを知らせる。【解決手段】  ユーザの動作を検知して得られた動作データに基づいて、熟練度スコアを生成する熟練度推定部と、動作データに基づいて、ユーザの動作の一部分を改善点として特定する改善点抽出部と、改善点に基づいて、ユーザに提示する提案情報を生成する情報生成部と、を備える動作評価システムである。【選択図】図１
2020129018.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの動作を検知して得られた動作データに基づいて、熟練度スコアを生成する、熟練度推定部と、
前記動作データに基づいて、前記ユーザの動作の一部分を改善点として特定する、改善点抽出部と、
前記改善点に基づいて、前記ユーザに提示する提案情報を生成する、情報生成部と、
を備える
動作評価システム。
【請求項２】
前記動作データから複数種類の特徴量を抽出する特徴抽出部と、
熟練者動作データから複数種類の特徴量を抽出して生成したリファレンスデータを格納する記憶装置と、を備え、
前記動作データの特徴量と前記熟練者動作データの特徴量は対応しており、
前記熟練度推定部は、前記熟練度スコアが所定の条件に該当する期間を非熟練期間として前記改善点抽出部に通知し、
前記改善点抽出部は、前記非熟練期間について、前記動作データの特徴量と前記熟練者動作データの特徴量を其々比較して、所定以上乖離する特徴量を前記改善点として特定し、
前記情報生成部は、前記所定以上乖離する特徴量に基づいて、前記提案情報を生成する、
請求項１記載の動作評価システム。
【請求項３】
前記情報生成部は、前記所定以上乖離する特徴量と前記非熟練期間に基づいて、前記提案情報を生成する、
請求項２記載の動作評価システム。
【請求項４】
前記ユーザの動作データと前記熟練者動作データは、動作を行なった者の体格差および動作速度の少なくとも一つを整合させるスケールフィッティングが行なわれる、
請求項２記載の動作評価システム。
【請求項５】
前記熟練度推定部は、前記動作データを入力とし、前記熟練度スコアを出力とする、畳み込みネットワークにより構成される熟練度評価ネットワークを備える、
請求項２記載の動作評価システム。
【請求項６】
前記熟練度推定部は、前記特徴量を入力とし、前記熟練度スコアを出力とする、オートエンコーダーと１クラスのサポートベクターマシンにより構成される熟練度評価ネットワークを備える、
請求項２記載の動作評価システム。
【請求項７】
前記特徴量は、前記ユーザの身体の可動部の状態に対応付けられる、
請求項２記載の動作評価システム。
【請求項８】
情報処理装置により実行され、特定の動作を行うユーザに対し、該動作を評価して課題を提示する動作評価方法であって、
前記動作を検知して得られた動作データに基づいて、熟練度スコアを生成する、熟練度推定ステップと、
前記動作データから、特徴量を抽出する特徴量抽出ステップと、
前記熟練度スコアに基づき、動作の改善点を抽出する改善点抽出ステップと、
前記改善点に基づき、前記ユーザに提示する作業改善情報を生成する、情報生成ステップと、
を備える、動作評価方法。
【請求項９】
前記特徴量は、前記ユーザの身体の各関節の動きの特徴である、
請求項８記載の動作評価方法。
【請求項１０】
前記動作データは、前記ユーザに装着可能なセンサにより取得される、
請求項８記載の動作評価方法。
【請求項１１】
前記熟練度スコアは、前記動作データあるいは前記動作データから抽出された特徴量から生成される、
請求項８記載の動作評価方法。
【請求項１２】
リファレンスとなる動作データから抽出された特徴量である、リファレンス特徴量を用い、
前記改善点抽出ステップにおいて、前記リファレンス特徴量と前記ユーザの特徴量を比較して、前記改善点を抽出する、
請求項８記載の動作評価方法。
【請求項１３】
前記熟練度スコアが所定範囲を逸脱した期間を非熟練期間として検出し、
前記改善点抽出ステップにおいて、前記非熟練期間を含む範囲にデータを限定して、前記リファレンス特徴量と前記ユーザの特徴量を比較して、前記改善点を抽出する、
請求項１２記載の動作評価方法。
【請求項１４】
前記熟練度スコアおよび前記特徴量の少なくとも一つが、所定範囲を逸脱した場合、前記ユーザに即時警報を発する、
請求項８記載の動作評価方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人間の動作の品質、例えば作業の熟練度を評価する技術に係わる。
【背景技術】
【０００２】
作業の安全や効率を図るために、例えば悪い姿勢で作業をしている作業員を認識し、注意を促したい場合がある。
【０００３】
特許文献１には、作業者から測定された生体情報を取得する取得部と、作業の熟練度ごとに当該熟練度に応じた前記生体情報を記憶するための記憶部と、作業時に取得される生体情報が有する特徴量と、記憶部の熟練度ごとの生体情報が有する特徴量とを比較し、比較の結果に基づき、当該取得される生体情報がいずれの熟練度に該当するかを判定する判定部と、判定された熟練度に基づき駆動部の制御量を決定する決定部と、を備える装置について開示がある。
【０００４】
特許文献２には、作業者のデータを取得するセンサと、センサに接続されたセル制御装置と、を含む作業管理システムであって、セル制御装置は、センサからの情報を管理するセンサ管理部と、作業者の動作量及び状態量のうちの少なくとも一方を監視する作業者観測部と、作業者の疲労度、熟練度、関心度のうちの少なくとも１つを学習する学習部と、上位管理部から状態通知要求を受信し、作業者の疲労度、熟練度、関心度のうちの少なくとも１つを含む状態情報を送信し、作業内容変更通知を受信し、作業者に作業内容変更通知を送信し、または、作業者から状態通知要求を受信し、該作業者に該作業者の疲労度、熟練度、関心度のうちの少なくとも１つを含む状態情報を送信する通知管理部とを具備するものが開示される。
【０００５】
しかしながら従来例の技術では、動作を行っている者が自分の動作のどこを改善すればよいかを知ることができない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2018−55611号公報
【特許文献２】特開2018−25932号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来、作業熟練度を定量化しようとする試みはなされていた。しかし、例えば、悪い姿勢で作業をしている作業員を認識し、注意を促したい場合には、従来の人行動認識システムでは実現できなかった。すなわち、人の体の動きを判定して、どの部分に問題があるのかを対象者に知らせることができなかった。
【０００８】
そこで、動作を行っている者が自分の動作のどこを改善すればよいかを知らせることができる技術が求められる。
【課題を解決するための手段】
【０００９】
本発明の好ましい一側面は、ユーザの動作を検知して得られた動作データに基づいて、熟練度スコアを生成する熟練度推定部と、動作データに基づいて、ユーザの動作の一部分を改善点として特定する改善点抽出部と、改善点に基づいて、ユーザに提示する提案情報を生成する情報生成部と、を備える動作評価システムである。
【００１０】
より具体的な一例を挙げれば、動作データから複数種類の特徴量を抽出する特徴抽出部と、熟練者動作データから複数種類の特徴量を抽出して生成したリファレンスデータを格納する記憶装置とを備える。そして、動作データの特徴量と熟練者動作データの特徴量は対応しており、熟練度推定部は、熟練度スコアが所定の条件に該当する期間を非熟練期間として改善点抽出部に通知する。
【００１１】
さらに具体的な一例を挙げれば、改善点抽出部は、非熟練期間について、動作データの特徴量と熟練者動作データの特徴量を其々比較して、所定以上乖離する特徴量を改善点として特定し、情報生成部は、所定以上乖離する特徴量に基づいて、提案情報を生成する。
【００１２】
本願発明の好ましい他の一側面は、情報処理装置により実行され、特定の動作を行うユーザに対し、動作を評価して課題を提示する動作評価方法である。動作を検知して得られた動作データに基づいて、熟練度スコアを生成する熟練度推定ステップと、動作データから、特徴量を抽出する特徴量抽出ステップと、熟練度スコアに基づき、動作の改善点を抽出する改善点抽出ステップと、改善点に基づき、ユーザに提示する作業改善情報を生成する、情報生成ステップとを備える。
【００１３】
さらに具体的な例では、リファレンスとなる動作データから抽出された特徴量である、リファレンス特徴量を用いる。そして、改善点抽出ステップにおいて、リファレンス特徴量とユーザの特徴量を比較して、改善点を抽出する。
【００１４】
さらに具体的な例では、熟練度スコアが所定範囲を逸脱した期間を非熟練期間として検出し、改善点抽出ステップにおいて、非熟練期間を含む範囲にデータを限定して、リファレンス特徴量とユーザの特徴量を比較して、改善点を抽出すると、処理負荷を低減することができる。
【発明の効果】
【００１５】
動作を行っている者が自分の動作のどこを改善すればよいかを知らせることができる。
【図面の簡単な説明】
【００１６】
【図１】実施例の動作評価システムの全体ブロック図。
【図２】ユーザがセンサを装着した例を示す模式図。
【図３】肘状態推定部の動作概念図。
【図４】実施例１の熟練度評価ネットワークの学習を説明するブロック図。
【図５】熟練度推定部の学習過程を説明するフロー図。
【図６】熟練者の熟練度スコアと非熟練者の熟練度スコアのグラフ比較図。
【図７】改善点抽出部の動作の例を説明するための熟練度と特徴量のグラフ図。
【図８】情報提示装置の出力部に表示される情報を説明する概念図。
【図９】情報処理装置による、動作評価および改善提案シーケンスを説明する流れ図。
【図１０】改善点抽出部の処理の詳細を示す流れ図。
【図１１】情報生成部の処理の詳細を示す流れ図。
【図１２】実施例２の熟練度評価ネットワークの学習を説明するブロック図。
【図１３】１クラスＳＶＭの動作を説明する概念図。
【発明を実施するための形態】
【００１７】
実施の形態について、図面を用いて詳細に説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【００１８】
以下に説明する発明の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
【００１９】
同一あるいは同様な機能を有する要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、複数の要素を区別する必要がない場合には、添字を省略して説明する場合がある。
【００２０】
本明細書等における「第１」、「第２」、「第３」などの表記は、構成要素を識別するために付するものであり、必ずしも、数、順序、もしくはその内容を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
【００２１】
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
【００２２】
本明細書において単数形で表される構成要素は、特段文脈で明らかに示されない限り、複数形を含むものとする。
【００２３】
動作を行っている者（以下ユーザという）が自分の動作のどこを改善すればよいかを知らせるためには、まず、ユーザの動作の質を推定する必要がある（熟練度推定）。さらに、動作のどこに課題があるかを抽出する必要がある（改善点の提案）。ここで、「動作」とは工業、農業等における作業一般、あるいは、舞踊、体操、楽器演奏等、所定目的のために人が体を動かして行なう動作一般をいうものとする。また、動作のどこに課題があるかを具体的に特定するためには、ユーザの体の特定の部分の特定のタイミングにおける動きを評価することが望ましい。
【００２４】
このような技術は、例えば作業支援システムまたは教育システムとして利用することができる。作業支援システムは、例えば、保守作業の研修で利用することができる。教育システムは、例えば、ダンス、ヨガのポーズの練習に利用することができる。
【実施例１】
【００２５】
＜１．システム全体構成＞
図１は、実施例の動作評価システムの全体ブロック図である。動作評価システム１はセンサ部１１０と、情報処理装置１２０と、情報提示装置１３０を含む。センサ部１１０、情報処理装置１２０、情報提示装置１３０は、有線または無線のネットワーク（図示せず）により互いに通信が可能である。
センサ部１１０は、センサ１１１と通信部１１２を含む。センサ１１１は例えば、ユーザの体に装着できるウェアラブルなセンサである。
【００２６】
図２は、ユーザ２１０がセンサ１１１を装着した例を示す模式図である。センサ１１１は、例えばセンサハブ２２０に直接あるいは他のセンサを経由して接続される。センサとセンサハブの接続は有線でも無線でもよい。センサハブ２２０に送られた動作データ１４０は、通信部１１２を介して例えば無線で情報処理装置１２０に送信される。センサ１１１およびセンサハブ２２０は、バッテリー等（図示せず）で給電することができる。なお、図２のセンサ１１１の配置は一例であり、図２のように全身の各部にセンサを装着してもよいし、評価しようとする動作に応じて、上半身のみ、下半身のみなど体の一部のみとしても良い。
【００２７】
センサ１１１の種類や装着箇所は、評価しようとする動作に応じて、公知のセンサから１または複数種類を選択すればよい。ユーザ２１０の体の動きを直接評価しようとする場合には、ユーザ２１０の身体の各部の位置や動きを測定できるものが望ましい。例えば、加速度センサや位置センサである。その他、ジャイロ、地磁気、映像、音声、筋電、角速度などのセンサでも良い。また、ユーザ２１０に反射マーカを装着し、ビデオカメラ等で撮影して身体の各部の位置や動きを測定してもよい。センサ１１１で取得した動作データ１４０は、情報処理装置１２０に送られる。以下では、センサとして加速度センサの例で説明する。
【００２８】
情報処理装置１２０は、一般的なサーバで構成することができる。サーバの周知のハードウェア構成として、入力装置、出力装置、処理装置、および記憶装置を含むものとする。本実施例では、計算や制御等の機能は、記憶装置に格納されたプログラムが処理装置によって実行されることで、定められた処理を他のハードウェアと協働して実現されることとし、図１では機能ブロックを示している。サーバなどが実行するプログラム、その機能、あるいはその機能を実現する手段を、「機能」、「手段」、「部」、「ユニット」、「モジュール」等と呼ぶ場合がある。
【００２９】
以上の構成は、単体のサーバで構成してもよいし、あるいは、入力装置、出力装置、処理装置、記憶装置の任意の部分が、ネットワークで接続された他のコンピュータで構成されてもよい。また本実施例中、ソフトウエアで構成した機能と同等の機能は、ＦＰＧＡ（Field Programmable Gate Array）、ＡＳＩＣ（Application Specific Integrated Circuit）などのハードウエアでも実現できる。後述のニューラルネットワークの実装は、ＦＰＧＡ等で行なわれることもある。
【００３０】
情報処理装置１２０は、通信部１２１、特徴量抽出部１２２、熟練度推定部１２３、改善点抽出部１２４、情報生成部１２５、および制御部１２６を含む。
【００３１】
通信部１２１は、センサ部１１０の通信部１１２から送信される動作データ１４０を受信する。また、情報提示装置１３０に対して、作業改善提案情報１５０を送信する。
【００３２】
特徴量抽出部１２２は、動作データ１４０から所望の特徴量を抽出する。熟練度推定部１２３は、動作データ１４０あるいは特徴量抽出部１２２で抽出された特徴量を入力として、熟練度を推定する。本実施例では、動作データ１４０を元に熟練度を推定するものとする。特徴量抽出部１２２や熟練度推定部１２３は、例えばニューラルネットワークを用いて構成することができる。
【００３３】
改善点抽出部１２４は、特徴量抽出部１２２からの特徴量と熟練度推定部１２３からの熟練度を用いて、改善点を抽出する。情報生成部１２５は、改善点抽出部１２４で抽出した改善点をユーザ２１０に指摘するための、作業改善提案情報１５０を生成する。作業改善提案情報１５０は、通信部１２１から情報提示装置１３０に送信される。制御部１２６は情報処理装置１２０の動作全体のシーケンスを制御する。
【００３４】
情報提示装置１３０も情報処理装置の一種である。例えば、ユーザ２１０が携帯できる携帯情報端末を利用することができるが、これに限らない。一般的なハードウェア構成として、入力装置、出力装置、処理装置、および記憶装置を含むが、ユーザ２１０に情報を知らせるだけであれば、情報処理装置１２０から情報を受け取るための通信部１３１と、全体の制御部１３２、および情報を表示する出力部１３３を備えればよい。あるいは情報を紙媒体で印刷できる装置でもよい。出力部１３３は例えば、液晶ディスプレイ、スピーカー、あるいはプリンタである。
【００３５】
＜２．特徴量抽出部＞
図３は特徴量抽出部１２２の機能を説明するための概念図である。特徴量抽出部１２２は、動作の品質を評価するための特徴量を抽出する。特徴量は、動作の評価の目的に応じて一つあるいは複数をシステムの設計者等が定義する。特徴量としては、例えば、肘の曲げ角度、腰の高さ、頭の向き、足の開き角度など、任意に一つまたは複数のものを定義することができる。これらの特徴量は、ユーザの身体の可動部の状態、例えば各関節の動きの特徴に対応付けられる。
【００３６】
所望の特徴量を抽出するために、必要な物理量を持つ動作データを取得するセンサ１１１を、ユーザ２１０に装着する。そして、センサ１１１の任意の一つまたは複数から取得した動作データ１４０を用いる。以下では、加速度センサを用いて肘の曲げ角度を推定する例を説明する。
【００３７】
図３では、センサ１１１から肘の曲げ角度を抽出するため、特徴量抽出部１２２が備える（左）肘状態推定部３０１が示されている。図３に示すように、ユーザ２１０の左腕に装着された３つのセンサ１１１から、左肘の曲げ角度が推定されて、時系列データとして取得される。肘の曲げ角度以外の特徴量を抽出したい場合には、同様に、腰の高さ抽出部、頭の向き抽出部等を、特徴量抽出部１２２に追加すればよい。肘状態推定部３０１は、例えばディープニューラルネットワーク（ＤＮＮ）で構成し、公知の教師有り学習で学習させておけばよい。
【００３８】
肘状態推定部３０１は、ＤＮＮではなく、センサ１１１の加速度データから通常の計算によって推定することもできる。肘の曲げ角度を加速度から推定する場合には、ユーザ２１０の初期状態を取得して利用する。このために、予めユーザ２１０に所定の姿勢（例えば直立姿勢）を取らせたり、別途センサ１１１の位置を検出するなどを行なう。あるいは、センサ１１１として、加速度センサの代わりに位置センサを用いても良い。以上のように、センサの種類は、推定したい特徴量に応じて自由に選択することができる。
【００３９】
システムの運用時には、抽出した特徴量は、その種類ごとに時系列データとして記憶装置に格納しておく。
【００４０】
＜３．熟練度推定部＞
熟練度推定部１２３は、センサ１１１からから動作データ１４０を入力として、熟練度を推定する。熟練度推定部１２３は教師有り学習で教育したニューラルネットワークを用いて構成することができる。
【００４１】
図４は、熟練度推定部１２３を構成する熟練度評価ネットワーク４０１の学習を説明するブロック図である。この例では、シャムネットワーク（Siamese network）を利用して熟練度評価ネットワーク４０１を学習する例を示す。図に示すように、２つの動作データ１４０Ａ，１４０Ｂ（値をｐｉ，ｐｊとする）を熟練度評価ネットワーク４０１Ａ，４０１Ｂに入力し、各動作データの熟練度スコアｆ（ｐｉ）、ｆ（ｐｊ）を計算する。シャムネットワークは、ディープニューラルネットワーク（ＤＮＮ）を利用した技術で、二つのＤＮＮは重みが共有されている。二つの動作データｐｉ，ｐｊを、別々に同じＤＮＮからなる熟練度評価ネットワーク４０１に入力し、二つの熟練度スコアｆ（ｐｉ）、ｆ（ｐｊ）を得たら、両者から損失関数計算部４０２で損失関数を計算する。ここで、損失関数は、熟練者と非熟練者の動作データが入力されたとき、熟練者側のスコアが大きくなると値が小さくなる関数が選ばれている。
【００４２】
図５は、熟練度推定部１２３の学習過程を説明するフロー図である。まず、ＤＮＮを学習するための学習用動作データを準備し、例えば記憶装置に格納する（Ｓ５０１）。学習用動作データは、熟練したユーザや非熟練のユーザの動作から得た動作データである。各学習用動作データには、例えば熟練者が動作を観察することにより付された、熟練度の評価スコアなど、動作データ間で熟練度の優劣を定義する情報が付されている。
【００４３】
次に、動作を行なう者の体格や、動作速度を整合させるために、動作データのスケールフィッティングを行なう（Ｓ５０２）。例えば、身長１７０ｃｍを基準として、ユーザの身体の各部のサイズを拡大あるいは縮小する。また、動作速度も所定の長さを基準として、動作データの時間軸を伸長あるいは圧縮する。例えば、荷物を持ち上げる一連の動作を６０秒で行なうことを基準とすると、１２０秒で行なうユーザの動作データは、時間軸を半分に圧縮する。なお、ＤＮＮをLong Short-Term Memory（ＬＳＴＭ）で実装した場合、時間方向の正規化等は行なわなくてもよい。身体のサイズに関しても、大量のデータがあれば、身体のばらつきも含めてネットワークに学習させるということも可能である。  また、動作データを取得する際に、予め体格が均等なユーザから動作データを得たり、動作時間を揃えたりしておけば、スケールフィッティングＳ５０２は省略可能である。また、ＤＮＮの構成によってはスケールフィッティングと同等の効果をＤＮＮによって得ることができると考えられ、スケールフィッティングＳ５０２は省略可能である。
【００４４】
熟練度の評価スコアが既知の学習用動作データを、熟練度評価ネットワーク４０１Ａ，４０１Ｂに入力し、スコアを計算させる（Ｓ５０３）。そして、熟練度評価ネットワーク４０１Ａ，４０１Ｂの熟練度スコアから損失関数を計算する（Ｓ５０４）。
【００４５】
損失関数Ｌｔｏｔａｌの計算方法の一例を式１に示す。
【００４６】
【数１】
2020129018.tif 000003
【００４７】
この学習の例では、熟練した動作から得られた熟練動作データと、熟練していない動作から得られた非熟練動作データが区別されていることが前提である。この区別は、上記の熟練度の評価スコアの差から決定することができる。ここでは、以下のルールに沿って損失関数（誤差）を計算し、損失関数を減少させるように学習を進める。
【００４８】
入力された２つの動作データに優劣がある場合（例えば、熟練度の評価スコアの差が所定閾値以上の場合）には、優れた動作データのスコアが劣った動作データのスコアより低い場合、その差を誤差とする。このとき、スコア間の差を一定以上広げたい場合は式１中のｍを大きくする。２つの動作データに優劣がない（例えば、熟練度の評価スコアの差が所定閾値未満の場合で、いわゆる同等レベル）の場合、双方のスコアの差分を計算し、その差分が一定値(ｍ’)以上であった場合、一定値を超えた分を誤差とする。上記の２つの誤差を足し合わせて学習を行う。
【００４９】
以上のように、優劣がある２つの動作データにおいては、スコアの差分を誤差として、そのスコアに差が出るようにＤＮＮを学習する。また、同等のデータにおいては、スコアの差分を誤差として、そのスコアの差が小さくなるようにＤＮＮを学習する。これらのどちらか、あるいは両方を組合せて学習すればよい。式１の例では、両方を組合せており、損失関数Ｌｔｏｔａｌの計算の際には、入力される動作データの既知の優劣に従ってＬｒａｎｋとＬｓｉｍが計算され、それらの合計がＬｔｏｔａｌとなる。
【００５０】
熟練度評価ネットワーク４０１は、評価対象となる動作や、評価する着眼点に応じて選ばれたモデルが学習され、準備される。以上説明した学習方法により生成された熟練度評価ネットワーク４０１は、熟練度推定部１２３に実装される。なお、実装する熟練度評価ネットワークは、熟練度評価ネットワーク４０１Ａと４０１Ｂのうち一つだけでよい。
【００５１】
なお、本実施例では、熟練度評価ネットワーク４０１は、ＬＳＴＭで実装されており、一連の作業時系列センサデータの一時刻分づつが入力されると、毎時刻スコアが出力される。例えば、６０秒の作業の加速度データは、１秒毎のデータが熟練度評価ネットワーク４０１に入力される。学習時は、この毎時刻スコアの平均をｆ(ｐｉ)として誤差を計算している。一方、動作評価システム１に実装後の推論時は、毎時刻（例えば１秒ごと）の熟練度スコアを時系列的に出力する。
【００５２】
＜４．熟練度推定部の出力＞
図６に、熟練者の熟練度スコアと非熟練者の熟練度スコアを比較して示す。熟練度スコアは時系列データのため、横軸に時間、縦軸に熟練度スコアを示す。この例では、非熟練者の熟練度スコアでは、ある時間帯において熟練度が低下する領域が存在する。熟練度推定部１２３では、例えば熟練度スコアがある一定の閾値６０１を一定時間以上下回った場合、非熟練動作があったと認識する。非熟練動作の検出方法は同等の効果を得る他の手法でも可である。例えば、閾値を用いず、熟練度スコアの相対的な変動を元に非熟練動作を判定してもよい。また、閾値６０１は固定でなく変動するものであってもよい。
【００５３】
熟練度推定部１２３では、非熟練動作があったと認識すると、非熟練動作に該当する時間帯を改善点抽出部１２４に通知する。改善点抽出部１２４は、特徴量抽出部１２２から該当する時間帯を含む特徴量データを取得して参照する。そして、予め記憶した熟練者の特徴量データの推移と比較し、差の大きな特徴量を特定する。システムの運用時において、推定した熟練度スコアは、時系列データとして記憶装置に格納しておく。
【００５４】
本実施例では、ニューラルネットワークを利用した学習手法により、予め動作データ及び各作業者の熟練度の優劣情報を用意することで、動作の熟練度をリアルタイムに推定するシステムを実現することができる。推定した熟練度を用いることで作業習得用の教育時に正しい動作を提案したり、実作業時に負荷の高い作業（姿勢）を予防することが可能になる。
【００５５】
＜５．改善点抽出部＞
図７で、改善点抽出部１２４の動作の例を説明する。図９において、（Ａ１）はリファレンスとなる熟練者の熟練度スコアである。（Ｂ１）は熟練者の特徴量の一つである右腕の高さである。（Ｃ１）は熟練者の特徴量の一つである左腕の高さである。同じく（Ｂ１）はユーザの熟練度スコアである。（Ｂ１）は非熟練者であるユーザの特徴量の一つである右腕の高さである。（Ｃ１）はユーザの特徴量の一つである左腕の高さである。ここで、特徴量「右腕の高さ」において、熟練者とユーザの特徴量に差が確認できる。これは、予め定めた閾値以上に両者の差が有ることを検出して行なうことができる。一方、特徴量「左腕の高さ」では両者に差が見られない。従って、システムがユーザに改善点として提示するべきは、非熟練動作に該当する時間帯における「右腕の高さ」であることが分かる。このようにして改善点抽出部１２４は、ユーザの体の動き全体の中の一部の動作を、改善対象となる動作として抽出する。
【００５６】
以上の分析を行った改善点抽出部１２４は、改善すべき特徴量、改善すべきタイミング、熟練者との差異、等を情報生成部１２５に送信する。情報生成部１２５は、受信した情報および、予め記憶しておいたグラフィックデータ等を元に、ユーザに提示する作業改善提案情報１５０を生成する。作業改善提案情報１５０は、通信部１２１から情報提示装置１３０に送信される。
【００５７】
＜６．情報提示装置＞
図８は情報提示装置１３０の出力部１３３の一例である液晶ディスプレイに表示される情報を説明する概念図である。ユーザの理解を助けるために、人型のモデルを用いて改善すべき特徴量を表示する。熟練者とユーザのモデルを並べるあるいは重ねるなどして、比較して提示しても良い。図８の例では、改善点抽出部１２４からの情報に基づいて、コンピュータグラフィックス（ＣＧ）により、右腕の位置と、足の開き角度について改善を提示している。ユーザの理解を助けるために、テキスト文字や音声を出力しても良い。テキストの生成方法は機械学習を用いたキャプショニングや、予め用意したパターンを用いた表示により可能である。また、非熟練動作に該当する時間帯が動作全体のどのタイミングであるかを合わせて示しても良い。このとき、動画ＣＧを用いると効果的である。
【００５８】
＜７．動作評価および改善提案シーケンス＞
図９は、図１の情報処理装置１２０による、動作評価および改善提案シーケンスを説明する流れ図である。処理Ｓ９０１で、特徴量抽出部１２２は、通信部１２１で受信した動作データ１４０から、所望の特徴量（通常は複数種類）を抽出する。処理Ｓ９０２で、熟練度推定部１２３は、動作データ１４０から、熟練度スコアを推定する。特徴量や熟練度スコアは時系列データである。
【００５９】
処理Ｓ９０３で、熟練度推定部１２３は、熟練度スコアが所定の閾値を下回ったかどうかを検出する。処理Ｓ９０４で、熟練度スコアが所定の閾値を下回った時刻を記録する。処理Ｓ９０５で、熟練度推定部１２３は、熟練度スコアが所定の期間閾値を下回ったかどうかを判定する。判定結果は、熟練度スコアが閾値を下回った期間（以下では非熟練期間という）と、必要に応じて非熟練期間を含む熟練度スコアのデータとともに、改善点抽出部１２４に送られる。処理Ｓ９０６で、改善点抽出部１２４は、動作の改善点を抽出する。
【００６０】
図１０は、改善点抽出部１２４の処理Ｓ９０６の詳細を示す流れ図である。処理Ｓ１００１で、改善点抽出部１２４は、熟練度推定部１２３から、非熟練期間の情報（例えば動作開始を原点とする、始期と終期）を受信する。また、必要に応じて非熟練期間を含む熟練度スコアを受信する。
【００６１】
処理Ｓ１００２で、改善点抽出部１２４は、記録してあるユーザデータＤ１から非熟練期間を含む特徴量のデータを呼び出す。特徴量が複数種類ある場合は、全てを呼び出す。非熟練期間のデータに限定することで、この後の処理量を圧縮することができる。
【００６２】
ユーザデータＤ１は、センサ部１１０から送信された動作データ１４０に基づいて、特徴量抽出部１２２で抽出されたユーザ２１０の特徴量の時系列データである。また、熟練度推定部１２３で推定されたユーザ２１０の熟練度スコアの時系列データを含んでも良い。基本的にユーザが動作を行なった全期間について記憶しておく。また、これらのデータを別の場所あるいは機会において、ユーザが動作を行なった全期間について予め取得しておき、記憶装置に格納しておいたデータでもよい。
【００６３】
処理Ｓ１００３では、リファレンスデータＤ２から非熟練期間を含む特徴量のデータを呼び出す。リファレンスデータＤ２は熟練者の特徴量データであり、例えば、熟練度スコアが所定以上のユーザの動作データから予め生成して、記憶装置に格納しておく。リファレンスデータＤ２は、熟練度推定部１２３で推定された熟練度スコアを含んでも良い。リファレンスデータＤ２の動作内容、動作期間、および特徴量は、ユーザデータＤ１と対応している必要がある。また、説明上、ユーザデータとリファレンスデータは、前述のスケールフィッティングがなされているものとする。
【００６４】
処理Ｓ１００３では、ユーザデータの特徴量とリファレンスデータの特徴量の非熟練期間を、同じ特徴量毎に比較する。
【００６５】
処理Ｓ１００４では、図７で説明したように、非熟練期間において、ユーザデータの特徴量とリファレンスデータの特徴量が所定以上乖離している特徴量が特定される。当該特定された特徴量に関連する動作が、改善対象となる。
【００６６】
処理Ｓ１００５では、特定された特徴量と非熟練期間が情報生成部１２５に送信される。
【００６７】
図１１は、情報生成部１２５の処理Ｓ９０７の詳細を示す流れ図である。処理Ｓ１１０１で、改善点抽出部１２４から特定された特徴量と、非熟練期間を受信する。
【００６８】
処理Ｓ１１０２で、特定された特徴量から対応する動作を特定する。このとき、例えば各特徴量と動作を対応付けた、特徴量・動作対応データＤ３を参照する。特徴量・動作対応データＤ３は、あらかじめシステムの設計者等が作成し記憶しておくデータベースであり、特徴量と、それに関連する動作が対応付けられている。例えば、特徴量「右手の高さ」に対して動作「右腕の動き」を対応させる。このような対応データも、予めシステムの設計者等が定義して、記憶装置に記憶しておくものとする。
【００６９】
処理Ｓ１１０３では、改善対象となる動作と非熟練期間に基づいて作業改善提案情報１５０を生成する。このとき、例えば予め準備したグラフィックス・テキストデータＤ４を利用して、非熟練期間の「右腕の動き」を再現して表示する画像と、改善のためのコメントを表示させる情報を生成する（図８参照）。処理Ｓ１１０４では、作業改善提案情報１５０を情報提示装置１３０に送信して、ユーザ２１０に提示する。
【００７０】
＜８．実施例の効果＞
以上説明した実施例によれば、動作をする者の動作の質を推定し、どの部位の動作のどのタイミングに課題があるかを抽出し、ユーザに改善を提案するシステムが可能になる。
【００７１】
特に、事前に用意されたチェックポイントに対して課題を見つけるのではなく、出力された熟練度スコアベースで課題がある箇所を柔軟に特定することができ、作業の動作のうち、どこに課題があるかを自動的に抽出することができる。たとえば、「持ち上げる動作」のうち、「しゃがんだときの姿勢」に課題があるとか、「しゃがんだときの姿勢」のうち、「腰や膝の曲げ方」に課題があるなどを、特徴量を適切に設定することで特定することができる。
【００７２】
また、作業改善提案情報１５０では、課題のある動作に対して熟練者の動作を元に改善点を提案することができる。例えば、しゃがんだ時の姿勢について、熟練者と作業者の様子を並べて表示したり、体のパーツの動きの異なる箇所を強調することができる。
【実施例２】
【００７３】
実施例１は、学習用動作データとして、熟練動作データと非熟練動作データが得られる場合である。次に、熟練動作データしか得られない場合の熟練度評価ネットワークの学習方法について説明する。実施例２では、熟練者の作業データのみを利用し、作業データ情報の効率的な圧縮と異常検知アルゴリズムを組み合わせることで、作業者の熟練度を推定する。
【００７４】
図１２は、熟練度推定部１２３を構成する熟練度評価ネットワーク４０１の学習を説明するブロック図である。この例では、用いる動作データは熟練者であるユーザ２１０のセンサ１１１から得られる動作データのみである。特徴量抽出部１２０１は、図１の特徴量抽出部１２２と同様のものであり、動作データから各種特徴量（例えば各関節の角度の推移）を抽出する。オートエンコーダー１２０２は、公知のように入力データのみを使用する教師なし学習により次元の圧縮を行い、データの特徴を抽出することを目的としたニューラルネットワークである。
【００７５】
本例では、特徴量を入力とし、オートエンコーダー１２０２を使って次元を圧縮できるようにする。圧縮された特徴量は、１クラスのサポートベクターマシン（ＳＶＭ）１２０３に入力される。１クラスＳＶＭ１２０３は，公知のように入力値が単一のクラスに属しておりそれ以外は外れ値であるという仮定を置き、外れ値を識別するものである。この例では、単一のクラスが熟練者のデータであり、外れ値は非熟練者のデータとなる。以上説明した学習方法により生成された熟練度評価ネットワーク４０１は、熟練度推定部１２３に実装される。
【００７６】
図１３は熟練度推定部１２３に実装された、１クラスＳＶＭ１２０３の動作を説明する概念図である。動作評価システム１に実装後の推論時は、学習時同様に特徴量を圧縮して評価対象となる圧縮データ１３０１として入力し、圧縮された熟練者データ１３０２の存在する領域の境界１３０３までの距離を元に、圧縮データ１３０１の熟練者らしさをスコアとして推定する。なお、学習時には、一連の時系列センサデータの一時刻分ずつに分割して入力データとして、学習する。推論時も、一時刻分ずつ入力することで、リアルタイムでスコアが得られる。
【００７７】
上述のように学習された熟練度評価ネットワーク４０１を実装した熟練度推定部１２３は、所定時間単位で入力される動作データに基づいて、リアルタイムで熟練度スコアを出力する。
【００７８】
上記以外の部分の構成や動作は実施例１と同様でよい。ただし、熟練度評価ネットワーク４０１の学習時の入力は特徴量（複数の特徴量がある場合には原則全て）であるから、実装時の熟練度推定部１２３の入力は、特徴量抽出部１２２で抽出された特徴量になる。
【実施例３】
【００７９】
実施例１および２では、改善すべき動作を特徴量を元にして特定していた。他の例として、特徴量抽出部１２２による特徴量を使用せず、改善点抽出部１２４で熟練度推定部１２３のニューラルネットの活性度を解析することで、熟練度スコアへの影響が大きい入力を特定し、特定した入力に基づいて、改善すべき動作を特定することもできる。
【００８０】
この場合、図１の情報処理装置１２０の特徴量抽出部１２２を省略し、熟練度推定部１２３の入力は動作データ１４０となる。
【実施例４】
【００８１】
実施例１〜３では、ユーザ２１０の動作に対してほぼリアルタイムに改善点の指摘が可能である。ただし、作業改善提案情報１５０は常に即座に提示されるものではない。たとえば、ユーザの動作が危険を伴う場合、即座にユーザ２１０に通知することが望ましい。
【００８２】
このため、改善点抽出部１２４等において、特徴量や熟練度スコアが許容値を逸脱しているかどうかをリアルタイムで判定し、逸脱した場合には直ちにユーザ２１０に警告を発するように構成することもできる。逆に、緊急性はないが、改善すべきものについては、作業終了時や業務終了後などの予め設定したタイミングで通知することができる。
【符号の説明】
【００８３】
センサ部１１０、情報処理装置１２０、情報提示装置１３０、通信部１２１、特徴量抽出部１２２、熟練度推定部１２３、改善点抽出部１２４、情報生成部１２５、制御部１２６
【図１】
2020129018.tif 000004
【図２】
2020129018.tif 000005
【図３】
2020129018.tif 000006
【図４】
2020129018.tif 000007
【図５】
2020129018.tif 000008
【図６】
2020129018.tif 000009
【図７】
2020129018.tif 000010
【図８】
2020129018.tif 000011
【図９】
2020129018.tif 000012
【図１０】
2020129018.tif 000013
【図１１】
2020129018.tif 000014
【図１２】
2020129018.tif 000015
【図１３】
2020129018.tif 000016