(57)【要約】【課題】特定のタイプの動作者の動作を示すデータを学習データとして用いて、他のタイプの動作者の動作状態を識別することができる動作分析装置等を提供する。【解決手段】動作分析装置１０は、第１タイプの動作者により実行された所定の動作を示す第１動作データを入力として、第１動作データを再現する予測データを出力するように学習モデルを学習させる学習部１４と、第１タイプと異なる第２タイプの動作者により実行された所定の動作を示す第２動作データを学習モデルに入力した場合に学習モデルから出力される予測データと、第２動作データとの差異を算出する算出部１５と、差異に基づいて特定される情報を出力する出力部１６と、を備える。【選択図】図１
2020149492.tif 000002
【特許請求の範囲】
【請求項１】
第１タイプの動作者により実行された所定の動作を示す第１動作データを入力として、前記第１動作データを再現する予測データを出力するように学習モデルを学習させる学習部と、
前記第１タイプと異なる第２タイプの動作者により実行された前記所定の動作を示す第２動作データを前記学習モデルに入力した場合に前記学習モデルから出力される前記予測データと、前記第２動作データとの差異を算出する算出部と、
前記差異に基づいて特定される情報を出力する出力部と、
を備える動作分析装置。
【請求項２】
前記出力部は、前記差異が所定の期間以上継続して閾値より大きい前記第２動作データの区間を出力する、
請求項１に記載の動作分析装置。
【請求項３】
前記出力部は、前記差異が所定の期間以上継続して閾値より小さい前記第２動作データの区間を出力する、
請求項１に記載の動作分析装置。
【請求項４】
前記出力部は、前記第２動作データのうち、前記区間に対応する部分を出力する、
請求項２又は３に記載の動作分析装置。
【請求項５】
前記算出部は、前記第１動作データに関する前記予測データと、前記第１動作データとの差の二乗により差異データを算出し、前記差異データの平均及び標準偏差に基づいて、前記閾値を算出する、
請求項２から４のいずれか一項に記載の動作分析装置。
【請求項６】
前記学習モデルは、ニューラルネットワークをエンコーダ及びデコーダに用いたオートエンコーダを含む、
請求項１から５のいずれか一項に記載の動作分析装置。
【請求項７】
前記第２タイプの動作者は、前記第１タイプの動作者と異なる人物であり、
前記第２タイプの動作者は、前記第１タイプの動作者と比較して、前記所定の動作の熟練度、年齢、身体的特徴及び性別の少なくともいずれかが異なる、
請求項１から６のいずれか一項に記載の動作分析装置。
【請求項８】
前記第２タイプの動作者は、前記第１タイプの動作者と同一の人物であり、
前記第２動作データは、前記第１動作データと異なる時に測定されている、
請求項１から６のいずれか一項に記載の動作分析装置。
【請求項９】
第１タイプの動作者により実行された所定の動作を示す第１動作データを入力として、前記第１動作データを再現する予測データを出力するように学習モデルを学習させることと、
前記第１タイプと異なる第２タイプの動作者により実行された前記所定の動作を示す第２動作データを前記学習モデルに入力した場合に前記学習モデルから出力される前記予測データと、前記第２動作データとの差異を算出することと、
前記差異に基づいて特定される情報を出力することと、
を含む動作分析方法。
【請求項１０】
１又は複数のコンピュータに、
第１タイプの動作者により実行された所定の動作を示す第１動作データを入力として、前記第１動作データを再現する予測データを出力するように学習モデルを学習させることと、
前記第１タイプと異なる第２タイプの動作者により実行された前記所定の動作を示す第２動作データを前記学習モデルに入力した場合に前記学習モデルから出力される前記予測データと、前記第２動作データとの差異を算出することと、
前記差異に基づいて特定される情報を出力することと、
を実行させる動作分析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動作分析装置、動作分析方法及び動作分析プログラムに関する。
【背景技術】
【０００２】
従来、製品の製造ライン等で作業する作業者の動作をカメラで撮影したり、モーションキャプチャで動作を測定したりして、作業者の動作を分析する場合がある。
【０００３】
例えば、下記特許文献１には、模範者及び利用者の身体にセンサを取り付けて、模範者の動作に関するグラフと利用者の動作に関するグラフを比較することで、模範者の動作に対する利用者の動作の差異を検出する技能習得支援システムが記載されている。
【０００４】
また、下記特許文献２には、教師例となる理想的な動作を記録した記号列と、支援対象となる動作の記号列とを比較して差異を検出し、差異に対応する支援情報を出力する技能向上支援装置が記載されている。
【０００５】
さらに、下記非特許文献１には、バランスボードを用いて関節の曲げ角度を推定し、重量物を持ち上げる際の関節の曲げ角度が初心者と熟練者でどのように異なるか研究した結果が記載されている。
【０００６】
また、下記非特許文献２には、初心者の動作を表す時系列データ及び熟練者の動作を表す時系列データに対して拡張特異スペクトル変換を行い、動作変化点列を求めることで、初心者と熟練者の動作の差異を検出する研究の結果が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第５７５７４８２号
【特許文献２】特許第３７４７８００号
【非特許文献】
【０００８】
【非特許文献１】Soichiro Watanabe、外９名、"A difference of human posture between beginner and expert during lifting a heavy load", The 7th 2014 Biomedical Engineering International Conference
【非特許文献２】中西弘明、外３名、「動作教示を目的とした特異値分解を用いた動作解析法」、28th Fuzzy System Symposium (Nagoya, September 12-14, 2012)
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記の先行技術文献に記載された技術では、初心者の動作を示すデータ及び熟練者の動作を示すデータを対比して、その差異を識別している。そのため、先行技術文献に記載された分析を行うためには、初心者の動作を示すデータ及び熟練者の動作を示すデータ両方を予め収集し、その差異を識別する識別器を生成することとなる。
【００１０】
しかしながら、複数のタイプの動作者の動作を示すデータは、必ずしも十分な量収集できるとは限らず、特定のタイプの動作者の動作を示すデータが十分な量収集できたとしても、他のタイプの動作者の動作を示すデータが十分な量収集できない場合がある。
【００１１】
そこで、本発明は、特定のタイプの動作者の動作を示すデータを学習データとして用いて、他のタイプの動作者の動作状態を識別することができる動作分析装置、動作分析方法及び動作分析プログラムを提供する。
【課題を解決するための手段】
【００１２】
本開示の一態様に係る動作分析装置は、第１タイプの動作者により実行された所定の動作を示す第１動作データを入力として、第１動作データを再現する予測データを出力するように学習モデルを学習させる学習部と、第１タイプと異なる第２タイプの動作者により実行された所定の動作を示す第２動作データを学習モデルに入力した場合に学習モデルから出力される予測データと、第２動作データとの差異を算出する算出部と、差異に基づいて特定される情報を出力する出力部と、を備える。
【００１３】
この態様によれば、第１タイプの動作者により実行された所定の動作を示す第１動作データを学習データとして用いて、第１動作データを再現する予測データを出力するように学習モデルを学習させることで、第２タイプの動作者により実行された所定の動作を示す第２動作データが比較的少なくても、学習モデルによって特定のタイプの動作者の動作状態を識別することができる。
【００１４】
上記態様において、出力部は、差異が所定の期間以上継続して閾値より大きい第２動作データの区間を出力してもよい。
【００１５】
この態様によれば、第２動作データを学習モデルに入力した場合に学習モデルから出力される予測データが継続的に第２動作データと乖離する区間を出力することで、ノイズの影響を低減して第２タイプの動作者に特有の動作状態を識別することができる。
【００１６】
上記態様において、出力部は、差異が所定の期間以上継続して閾値より小さい第２動作データの区間を出力してもよい。
【００１７】
この態様によれば、第２動作データを学習モデルに入力した場合に学習モデルから出力される予測データが継続的に第２動作データから乖離しない区間を出力することで、ノイズの影響を低減して第１タイプの動作者及び第２タイプの動作者に共通の動作状態を識別することができる。
【００１８】
上記態様において、出力部は、第２動作データのうち、区間に対応する部分を出力してもよい。
【００１９】
この態様によれば、出力された区間に対応する動作者の動作を容易に確認することができるようになり、動作の解析をより円滑に行うことができる。
【００２０】
上記態様において、算出部は、第１動作データに関する予測データと、第１動作データとの差の二乗により差異データを算出し、差異データの平均及び標準偏差に基づいて、閾値を算出してもよい。
【００２１】
この態様によれば、差異データの平均及び標準偏差に基づいて閾値を算出することで、適切な閾値を設定することができ、区間の抽出をより高精度に行うことができる。
【００２２】
上記態様において、学習モデルは、ニューラルネットワークをエンコーダ及びデコーダに用いたオートエンコーダを含んでもよい。
【００２３】
この態様によれば、第１動作データに含まれる複数のパターンをニューラルネットワークによってエンコードして、得られた特徴量をデコードして第１動作データを再現するオートエンコーダを生成することができる。
【００２４】
上記態様において、第２タイプの動作者は、第１タイプの動作者と異なる人物であり、第２タイプの動作者は、第１タイプの動作者と比較して、所定の動作の熟練度、年齢、身体的特徴及び性別の少なくともいずれかが異なってもよい。
【００２５】
この態様によれば、所定の動作の熟練度、年齢、身体的特徴及び性別の少なくともいずれかが第１タイプの動作者と異なる第２タイプの動作者について、第２タイプの動作者に特有の動作状態を識別することができる。
【００２６】
上記態様において、第２タイプの動作者は、第１タイプの動作者と同一の人物であり、第２動作データは、第１動作データと異なる時に測定されていてもよい。
【００２７】
この態様によれば、ある動作者により実行された所定の動作を示す第１動作データを蓄積して学習モデルを生成し、時間の経過とともにその動作者の動作がどのように変化しているかを識別することができる。
【００２８】
本開示の他の態様に係る動作分析方法は、第１タイプの動作者により実行された所定の動作を示す第１動作データを入力として、第１動作データを再現する予測データを出力するように学習モデルを学習させることと、第１タイプと異なる第２タイプの動作者により実行された所定の動作を示す第２動作データを学習モデルに入力した場合に学習モデルから出力される予測データと、第２動作データとの差異を算出することと、差異に基づいて特定される情報を出力することと、を含む。
【００２９】
本開示の他の態様に係る動作分析プログラムは、１又は複数のコンピュータに、第１タイプの動作者により実行された所定の動作を示す第１動作データを入力として、第１動作データを再現する予測データを出力するように学習モデルを学習させることと、第１タイプと異なる第２タイプの動作者により実行された所定の動作を示す第２動作データを学習モデルに入力した場合に学習モデルから出力される予測データと、第２動作データとの差異を算出することと、差異に基づいて特定される情報を出力することと、を実行させる。
【発明の効果】
【００３０】
本発明によれば、特定のタイプの動作者の動作を示すデータを学習データとして用いて、他のタイプの動作者の動作状態を識別することができる動作分析装置、動作分析方法及び動作分析プログラムを提供することができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施形態に係る動作分析システムの概要を示す図である。
【図２】本実施形態に係る動作分析システムの機能ブロックを示す図である。
【図３】本実施形態に係る動作分析装置の物理的構成を示す図である。
【図４】本実施形態に係る動作分析装置により分析される初心者及び熟練者の動作の種類をまとめた表である。
【図５】本実施形態に係る動作分析装置の学習モデルの一例を示す図である。
【図６】本実施形態に係る動作分析装置の学習モデルの学習に用いられる第１動作データ及び第１予測データの一例を示す図である。
【図７】本実施形態に係る動作分析装置の学習モデルの学習に用いられる第１差異データの一例を示す図である。
【図８】本実施形態に係る動作分析装置により分析される第２動作データ及び第２予測データの一例を示す図である。
【図９】本実施形態に係る動作分析装置により分析される第２差異データの一例を示す図である。
【図１０】本実施形態に係る動作分析装置により分析される第２差異データのうち一部を拡大して示した図である。
【図１１】本実施形態に係る動作分析システムにより実行される動作分析処理のフローチャートである。
【発明を実施するための形態】
【００３２】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」と表記する。）を、図面に基づいて説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【００３３】
§１  適用例
まず、図１を用いて、本発明が適用される場面の一例について説明する。本実施形態に係る動作分析システム１００は、ある作業領域Ｒにおいて実行される作業者の動作を示す動画を撮影する第１撮影部２０ａ、第２撮影部２０ｂ及び第３撮影部２０ｃを備える。本例の作業領域Ｒは、製造ライン全体を含む領域であるが、作業領域Ｒは、任意の領域であってよく、例えば所定の工程が行われる領域であったり、所定の要素動作が行われる領域であったりしてよい。ここで、要素動作とは、作業者により実行される一単位の動作であり、例えば、部品のピッキング、部品の配置、部品の固定、製品の梱包といった動作を含む。本実施形態では、作業領域Ｒにおいて３つの工程が行われ、第１撮影部２０ａ、第２撮影部２０ｂ及び第３撮影部２０ｃは、それぞれ所定の工程を実行する作業者の手元の動画を撮影するものであってよい。
【００３４】
本例では、第１作業者Ａ１及び第２作業者Ａ２が、作業領域Ｒにおいて、予め定められた動作を行う場合について説明する。第１作業者Ａ１は、例えば第１部品のピッキング、配置、固定といった動作を実行し、第２作業者Ａ２は、例えば第２部品のピッキング、配置、固定といった動作を実行することができる。以下では、第１作業者Ａ１及び第２作業者Ａ２を総称して作業者Ａと記載する。
【００３５】
動作分析システム１００は、動作分析装置１０を含む。動作分析装置１０は、第１タイプの動作者により実行された所定の動作を示す第１動作データを入力として、第１動作データを再現する予測データを出力するように学習モデルを学習させる。ここで、動作データは、動作者により実行された所定の動作を示す任意のデータである。例えば、動作者が作業者Ａである場合、動作データは、作業者Ａの動作を示す動画であったり、動画を解析して得られる座標値であったりしてよい。もっとも、動作データは、モーションキャプチャにより測定された動作者の動作を示す座標値であったり、加速度センサやジャイロセンサを動作者に装着させることで測定される動作者の動作を示すデータであったりしてもよい。
【００３６】
動作分析装置１０は、第１タイプと異なる第２タイプの動作者により実行された所定の動作を示す第２動作データを学習モデルに入力した場合に学習モデルから出力される予測データと、第２動作データとの差異を算出する。ここで、学習モデルは、第１動作データを再現するように学習されているため、第１動作データに含まれない特徴が第２動作データに含まれる場合、学習モデルから出力される予測データは、その部分の第２動作データを精度良く再現することができず、予測データと第２動作データの間に差異が生じると考えられる。
【００３７】
表示部１０ｆは、予測データと、第２動作データとの差異に基づいて特定される情報を表示する。表示部１０ｆは、例えば、第２タイプの動作者に特有の動作が行われている区間を表示したり、第１タイプの動作者と第２タイプの動作者に共通した動作が行われている区間を表示したりしてよい。
【００３８】
このように、本実施形態に係る動作分析装置１０によれば、第１タイプの動作者により実行された所定の動作を示す第１動作データを学習データとして用いて、第１動作データを再現する予測データを出力するように学習モデルを学習させることで、第２タイプの動作者により実行された所定の動作を示す第２動作データが比較的少なくても、学習モデルによって特定のタイプの動作者の動作状態を識別することができる。
【００３９】
§２  構成例
［機能構成］
次に、図２を用いて、本実施形態に係る動作分析システム１００の機能構成の一例を説明する。動作分析システム１００は、第１撮影部２０ａ、第２撮影部２０ｂ、第３撮影部２０ｃ及び動作分析装置１０を備える。そして、動作分析装置１０は、取得部１１、解析部１２、記憶部１３、学習部１４、算出部１５、出力部１６及び表示部１０ｆを備える。
【００４０】
＜撮影部＞
第１撮影部２０ａ、第２撮影部２０ｂ及び第３撮影部２０ｃは、それぞれ汎用のカメラによって構成されてよく、作業領域Ｒにおいて第１作業者Ａ１及び第２作業者Ａ２が動作を実行している場面を含む動画を撮影してよい。第１撮影部２０ａ、第２撮影部２０ｂ及び第３撮影部２０ｃは、それぞれ作業領域Ｒの一部を撮影してよく、作業領域Ｒよりも狭い領域の動画を撮影してよい。具体的には、第１作業者Ａ１及び第２作業者Ａ２により実行される動作をクローズアップした動画を撮影してよい。第１撮影部２０ａ、第２撮影部２０ｂ及び第３撮影部２０ｃは、例えば、第１作業者Ａ１及び第２作業者Ａ２の手元をクローズアップした動画を撮影してよい。
【００４１】
また、第１撮影部２０ａ、第２撮影部２０ｂ及び第３撮影部２０ｃは、作業領域Ｒの複数の部分をそれぞれ撮影した複数の動画を撮影してよい。例えば、第１撮影部２０ａは、主に第１作業者Ａ１が動作を実行している動画を撮影し、第３撮影部２０ｃは、主に第２作業者Ａ２が動作を実行している動画を撮影し、第２撮影部２０ｂは、第１作業者Ａ１が動作を実行している動画及び第２作業者Ａ２が動作を実行している動画の両方を撮影してよい。また、第１撮影部２０ａ、第２撮影部２０ｂ及び第３撮影部２０ｃは、作業領域Ｒにおける複数の位置でそれぞれ異なる工程が実行される動画を撮影してよい。
【００４２】
＜取得部＞
取得部１１は、作業者Ａにより実行された所定の動作を示す動作データを取得する。ここで、動作データは、動作者により実行された所定の動作を示す任意のデータである。例えば、動作者が作業者Ａである場合、動作データは、作業者Ａの動作を示す動画であったり、動画を解析して得られる座標値であったりしてよい。もっとも、動作データは、モーションキャプチャにより測定された動作者の動作を示す座標値であったり、加速度センサやジャイロセンサを動作者に装着させることで測定される動作者の動作を示すデータであったりしてもよい。取得部１１により取得された動画は、記憶部１３に伝送され、動画履歴１３ａとして記憶される。
【００４３】
取得部１１は、作業者Ａが所定の動作を行った場合に記録された、作業者Ａの複数の部位の動作を示す複数の動作データを取得してもよい。作業者Ａの複数の部位は、例えば、頭、両目、両肩、両肘、両手首、両手の各指関節、腰、両膝及び両足首等であってよい。また、取得部１１は、作業者Ａが所定の動作を行った場合に記録された、作業者Ａの左右の部位の動作を示す複数の動作データを取得してよい。作業者Ａの左右の部位は、両目、両肩、両肘、両手首、両手の各指関節、両膝及び両足首等であってよい。
【００４４】
本実施形態では、作業者Ａが所定により実行された所定の動作を示す動作データを取得する場合について説明するが、取得部１１は、スポーツを行う動作者により実行された所定の動作を示す動作データを取得したり、技芸を行う動作者により実行された所定の動作を示す動作データを取得したり、日常動作を行う動作者により実行された所定の動作を示す動作データを取得したりしてもよい。
【００４５】
＜解析部＞
解析部１２は、作業者Ａにより実行された所定の動作を示す動画を解析し、作業者Ａの動作を示す座標値を含む動作データを算出する。動作データは、作業者Ａの身体の代表的な位置の変位を示すデータであってよい。作業者の身体の代表的な位置は、身体の１つの位置であってもよいが、典型的には複数あってよい。動作データは、作業者Ａの関節の位置を骨格モデルによって示すデータであってよい。解析部１２は、例えば、Zhe Cao、外３名、"Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields", arXiv:1611.08050, 2016により開示された技術を用いて、動画から作業者Ａの動作を示す座標値を含む動作データを算出してよい。なお、加速度センサやジャイロセンサを作業者Ａに装着させて作業者Ａの動作を示す動作データを測定する場合、解析部１２によって動画から作業者Ａの動作を示す座標値を含む動作データを算出する処理は不要となる。
【００４６】
＜記憶部＞
記憶部１３は、動画履歴１３ａ、第１動作データ履歴１３ｂ及び学習モデル１３ｃを記憶する。動画履歴１３ａは、第１撮影部２０ａ、第２撮影部２０ｂ及び第３撮影部２０ｃにより撮影された動画の履歴を含む。第１動作データ履歴１３ｂは、解析部１２により算出された動作データの履歴を含み、第１タイプの動作者により実行された所定の動作を示す第１動作データの履歴を含む。ここで、第１動作データ履歴１３ｂは、動作者のタイプ毎に記憶されてもよい。動作者のタイプとは、動作者の特徴を表す分類であり、例えば、作業に関する熟練者と初心者であったり、右利きと左利きであったり、男性と女性であったり、体格に関して大柄と小柄であったり、若年と中年であったり、動作データを測定した時期の違いであったりしてよい。学習モデル１３ｃは、動作データを入力として受け付けて、入力された動作データを再現する予測データを出力する。学習モデル１３ｃの構成の一例は、図５を用いて説明する。
【００４７】
＜学習部＞
学習部１４は、第１タイプの動作者により実行された所定の動作を示す第１動作データを入力として、第１動作データを再現する予測データを出力するように学習モデル１３ｃを学習させる。ここで、学習モデル１３ｃに入力する第１動作データは、第１動作データ履歴１３ｂから選択されてよい。
【００４８】
＜算出部＞
算出部１５は、第１タイプと異なる第２タイプの動作者により実行された所定の動作を示す第２動作データを学習モデル１３ｃに入力した場合に学習モデル１３ｃから出力される予測データと、第２動作データとの差異を算出する。学習モデル１３ｃは、第１動作データを再現するように学習されたモデルであるから、第２動作データが第１動作データと異なる特徴を含む場合、その部分について予測データは第２動作データから乖離すると考えられる。
【００４９】
＜出力部＞
出力部１６は、算出部１５により算出された予測データと第２動作データとの差異に基づいて特定される情報を出力する。出力部１６は、例えば、予測データと第２動作データとの差異が所定の期間以上継続して閾値より大きい第２動作データの区間を出力してよい。第２動作データを学習モデル１３ｃに入力した場合に学習モデル１３ｃから出力される予測データが継続的に第２動作データと乖離する区間を出力することで、ノイズの影響を低減して第２タイプの動作者に特有の動作状態を識別することができる。
【００５０】
また、出力部１６は、予測データと第２動作データとの差異が所定の期間以上継続して閾値より小さい第２動作データの区間を出力してもよい。第２動作データを学習モデルに入力した場合に学習モデルから出力される予測データが継続的に第２動作データから乖離しない区間を出力することで、ノイズの影響を低減して第１タイプの動作者及び第２タイプの動作者に共通の動作状態を識別することができる。
【００５１】
出力部１６は、予測データと第２動作データとの差異が所定の期間以上継続して閾値より小さい区間を出力したり、予測データと第２動作データとの差異が所定の期間以上継続して閾値より小さい区間に対応する第２動作データの部分を出力したりしてよい。特に、出力部１６は、動画履歴１３ａのうち、上記区間に対応する動画を出力してよい。これにより、出力された区間に対応する動作者の動作を容易に確認することができるようになり、動作の解析をより円滑に行うことができる。
【００５２】
第２タイプの動作者は、第１タイプの動作者と異なる人物であってよく、第２タイプの動作者は、第１タイプの動作者と比較して、所定の動作の熟練度、年齢、身体的特徴及び性別の少なくともいずれかが異なってよい。例えば、第２タイプの動作者は、所定の動作の熟練者であり、第１タイプの動作者は、所定の動作の初心者であったり、その逆であったりしてよい。また、例えば、第２タイプの動作者は、身長、体重、腕の長さ、痩せ型であるか又は肥満体型であるかといった身体的特徴が、第１タイプの動作者と異なる者であってよい。本実施形態に係る動作分析装置１０によって、所定の動作の熟練度、年齢、身体的特徴及び性別の少なくともいずれかが第１タイプの動作者と異なる第２タイプの動作者について、第２タイプの動作者に特有の動作状態を識別することができる。
【００５３】
また、第２タイプの動作者は、第１タイプの動作者と同一の人物であってもよく、第２動作データは、第１動作データと異なる時に測定されていてよい。例えば、第２動作データは、ある動作者が所定の動作を行う場合に直近に測定された動作データであり、第１動作データは、同一の動作者が所定の動作を行った場合に過去に測定された動作データであってよい。これにより、ある動作者により実行された所定の動作を示す第１動作データを蓄積して学習モデル１３ｃを生成し、時間の経過とともにその動作者の動作がどのように変化しているかを識別することができる。例えば、同一の動作者について、所定の動作を行う調子のばらつきを測定することができる。
【００５４】
［ハードウェア構成］
次に、図３を用いて、本実施形態に係る動作分析装置１０のハードウェア構成の一例を説明する。動作分析装置１０は、演算装置に相当するＣＰＵ（Central Processing Unit）１０ａと、記憶部１３に相当するＲＡＭ（Random Access Memory）１０ｂと、記憶部１３に相当するＲＯＭ（Read only Memory）１０ｃと、通信部１０ｄと、入力部１０ｅと、表示部１０ｆとを有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。なお、本例では動作分析装置１０が一台のコンピュータで構成される場合について説明するが、動作分析装置１０は、複数のコンピュータを用いて実現されてもよい。
【００５５】
ＣＰＵ１０ａは、ＲＡＭ１０ｂ又はＲＯＭ１０ｃに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。ＣＰＵ１０ａは、第１タイプの動作者により実行された所定の動作を示す第１動作データに対して、第２タイプの動作者により実行された所定の動作を示す第２動作データに特有の部分を抽出するプログラム（動作分析プログラム）を実行する演算装置である。なお、動作分析装置１０を複数のコンピュータで構成する場合、例えば、学習モデルを学習させることをクラウド上のコンピュータで実行し、第２動作データと予測データの差異を算出し、差異に基づいて特定される情報を出力することをローカルコンピュータで実行することとしてもよい。ＣＰＵ１０ａは、入力部１０ｅや通信部１０ｄから種々の入力データを受け取り、入力データの演算結果を表示部１０ｆに表示したり、ＲＡＭ１０ｂやＲＯＭ１０ｃに格納したりする。
【００５６】
ＲＡＭ１０ｂは、記憶部１３のうちデータの書き換えが可能なものであり、例えば半導体記憶素子で構成されてよい。ＲＡＭ１０ｂは、ＣＰＵ１０ａが実行する動作分析プログラムや、動画履歴１３ａ、第１動作データ履歴１３ｂ及び学習モデル１３ｃといったデータを記憶する。
【００５７】
ＲＯＭ１０ｃは、記憶部１３のうちデータの読み出しが可能なものであり、例えば半導体記憶素子で構成されてよい。ＲＯＭ１０ｃは、例えば動作分析プログラムや、書き換えが行われないデータを記憶する。
【００５８】
通信部１０ｄは、動作分析装置１０を外部機器に接続するインターフェースである。通信部１０ｄは、第１撮影部２０ａ、第２撮影部２０ｂ及び第３撮影部２０ｃと例えばＬＡＮ（Local Area Network）により接続されて、第１撮影部２０ａ、第２撮影部２０ｂ及び第３撮影部２０ｃから動画を受信してよい。また、通信部１０ｄは、インターネットに接続されて、インターネットを介して動画を受信したり、動作データを受信したりしてもよい。
【００５９】
入力部１０ｅは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード、マウス及びタッチパネルを含んでよい。
【００６０】
表示部１０ｆは、ＣＰＵ１０ａによる演算結果を視覚的に表示するものであり、例えば、ＬＣＤ（Liquid Crystal Display）により構成されてよい。
【００６１】
動作分析プログラムは、ＲＡＭ１０ｂやＲＯＭ１０ｃ等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部１０ｄにより接続される通信ネットワークを介して提供されてもよい。動作分析装置１０では、ＣＰＵ１０ａが動作分析プログラムを実行することにより、図２を用いて説明した取得部１１、解析部１２、学習部１４、算出部１５及び出力部１６の動作が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、動作分析装置１０は、ＣＰＵ１０ａとＲＡＭ１０ｂやＲＯＭ１０ｃが一体化したＬＳＩ（Large-Scale Integration）を備えていてもよい。
【００６２】
§３  動作例
図４は、本実施形態に係る動作分析装置１０により分析される初心者及び熟練者の動作の種類をまとめた表である。同図では、初心者及び熟練者の動作が、「初心者に特有の動作」、「ベース動作」及び「熟練者に特有の動作」のいずれを含むかを示している。
【００６３】
本発明の発明者らは、初心者の動作は、「初心者に特有の動作」及び「ベース動作」によって構成されており、熟練者の動作は、「ベース動作」及び「熟練者に特有の動作」によって構成されていると考えた。初心者及び熟練者の動作は、「ベース動作」について共通しているが、初心者は、「初心者に特有の動作」を行っているために非効率であったり不安定であったりすると想定される。一方、熟練者は、「ベース動作」を行う点では初心者と変わりがないが、「初心者に特有の動作」を行っておらず（又はほとんど行っておらず）、「熟練者に特有の動作」を行っており、そのために効率的で安定した動作が実現されていると想定される。
【００６４】
本実施形態に係る動作分析装置１０は、第１タイプの動作者を初心者とすることで、「初心者に特有の動作」及び「ベース動作」を再現するように学習モデル１３ｃを生成する。そして、第２タイプの動作者を熟練者として、第２動作データを学習モデル１３ｃに入力して、予測データと第２動作データとの間に差異が生じている区間を特定することで、「熟練者に特有の動作」が実行されている区間を特定することができる。また、第２タイプの動作者を熟練者として、第２動作データを学習モデル１３ｃに入力して、予測データと第２動作データとの間に差異が生じていない区間を特定することで、「ベース動作」が実行されている区間を特定することができる。
【００６５】
また、本実施形態に係る動作分析装置１０は、第１タイプの動作者を熟練者とすることで、「ベース動作」及び「熟練者に特有の動作」を再現するように学習モデル１３ｃを生成することもできる。そして、第２タイプの動作者を初心者として、第２動作データを学習モデル１３ｃに入力して、予測データと第２動作データとの間に差異が生じている区間を特定することで、「初心者に特有の動作」が実行されている区間を特定することができる。また、第２タイプの動作者を初心者として、第２動作データを学習モデル１３ｃに入力して、予測データと第２動作データとの間に差異が生じていない区間を特定することで、「ベース動作」が実行されている区間を特定することができる。
【００６６】
図５は、本実施形態に係る動作分析装置１０の学習モデルの一例を示す図である。本例の学習モデルは、畳み込みニューラルネットワークをエンコーダＥＮ及びデコーダＤＥに用いたオートエンコーダを含む。なお、以下に説明する具体的数値は例示であり、適宜変更されてよい。
【００６７】
学習モデルは、動作データＤを入力として受け付ける。動作データＤは、例えば、１００Ｈｚでサンプリングした４０秒分（４０００サンプル）の右手及び左手のＸ座標値、Ｙ座標値及びＺ座標値（６つ）のデータであってよい。本例の場合、動作データＤの次元は、４０００×６である。
【００６８】
エンコーダＥＮは、１次元ＣＮＮ（Convolutional Neural Network）により構成されてよい。エンコーダＥＮは、２５６のフィルターを含む第１畳み込み層（Conv1D 4000*6*256）と、第１プーリング層（pooling 2000*6*256）と、１２８のフィルターを含む第２畳み込み層（Conv1D 2000*6*128）と、第２プーリング層（pooling 1000*6*128）と、６４のフィルターを含む第３畳み込み層（Conv1D 1000*6*64）と、第３プーリング層（pooling 500*6*64）と、を含む。エンコーダＥＮによって、４０００×６次元の動作データＤは、５００×６×６４次元の特徴量Ｆに変換される。
【００６９】
デコーダＤＥは、１次元ＣＮＮにより構成されてよい。デコーダＤＥは、６４のフィルターを含む第１（逆）畳み込み層（Conv1D 500*6*64）と、第１アップサンプリング層（Upsampling 1000*6*64）と、１２８のフィルターを含む第２（逆）畳み込み層（Conv1D 1000*6*128）と、第２アップサンプリング層（Upsampling 2000*6*128）と、２５６のフィルターを含む第３（逆）畳み込み層（Conv1D 2000*6*256）と、第３アップサンプリング層（Upsampling 4000*6*256）と、１つのフィルターを含む第４（逆）畳み込み層（Conv1D 4000*6*1）を含む。デコーダＤＥによって、５００×６×６４次元の特徴量Ｆは、４０００×６次元の予測データＰに変換される。
【００７０】
学習部１４は、予測データＰと動作データＤとの差異に基づいて、デコーダＤＥ及びエンコーダＥＮの重み係数を誤差逆伝播法によって更新し、予測データＰと動作データＤとの差異がゼロとなるように学習モデルを生成してよい。
【００７１】
このようにして、第１動作データに含まれる複数のパターンを畳み込みニューラルネットワークによってエンコードして、得られた特徴量をデコードして第１動作データを再現するオートエンコーダを生成することができる。
【００７２】
なお、学習モデルは、ＣＮＮ以外のモデルであってもよい。学習モデルは、例えば、ＬＳＴＭ（Long Short Term Memory）等の再帰型ニューラルネットワークや他の構造のニューラルネットワークを含んでもよい。また、学習モデルは、オートエンコーダ以外のモデルであってもよい。学習モデルは、例えば、自己回帰モデルを含んでもよい。
【００７３】
図６は、本実施形態に係る動作分析装置１０の学習モデルの学習に用いられる第１動作データＤ１及び第１予測データＰ１の一例を示す図である。同図では、横軸に時間を示し、縦軸に動作データ又は予測データの値を示して、第１動作データＤ１を実線で示し、第１予測データＰ１を破線で示している。なお、第１予測データＰ１は、第１動作データＤ１にほぼ一致しており、第１動作データＤ１に隠れてほとんど見えていない。
【００７４】
図７は、本実施形態に係る動作分析装置１０の学習モデルの学習に用いられる第１差異データＤｉｆｆ１の一例を示す図である。第１差異データＤｉｆｆ１は、第１動作データＤ１と、第１予測データＰ１との差の二乗により算出される。同図では、横軸に時間を示し、縦軸に差異データの値を示している。
【００７５】
算出部１５は、第１動作データＤ１と、第１予測データＰ１との差の二乗により第１差異データＤｉｆｆ１を算出し、第１差異データＤｉｆｆ１の平均及び標準偏差に基づいて、閾値Ｔｈを算出してよい。算出部１５は、例えば、第１差異データＤｉｆｆ１の平均に標準偏差のＮ倍（Ｎは任意の自然数）を足して閾値Ｔｈとしてよい。学習モデルは、第１差異データＤｉｆｆ１がゼロに近付くように生成され、本例に示すように、第１差異データＤｉｆｆ１が所定の期間以上継続して閾値Ｔｈより大きい区間は存在しない。なお、ノイズの影響によって、第１差異データＤｉｆｆ１が突発的に閾値Ｔｈより大きくなる瞬間が存在する。
【００７６】
図８は、本実施形態に係る動作分析装置１０により分析される第２動作データＤ２及び第２予測データＰ２の一例を示す図である。同図では、横軸に時間を示し、縦軸に動作データ又は予測データの値を示して、第２動作データＤ２を実線で示し、第２予測データＰ２を破線で示している。なお、第２予測データＰ２は、第２動作データＤ２にほぼ一致しており、第２動作データＤ２に隠れてほとんど見えていないが、特に区間Ｔにおいて第２動作データＤ２から乖離している。
【００７７】
図９は、本実施形態に係る動作分析装置１０により分析される第２差異データＤｉｆｆ２の一例を示す図である。第２差異データＤｉｆｆ２は、第２動作データＤ２と、第２予測データＰ２との差の二乗により算出される。同図では、横軸に時間を示し、縦軸に差異データの値を示している。閾値Ｔｈは、第１差異データＤｉｆｆ１の平均及び標準偏差に基づいて算出された値である。
【００７８】
学習モデルは、第１差異データＤｉｆｆ１がゼロに近付くように生成されているため、本例に示すように、第２予測データＰ２が第２動作データＤ２から乖離して、第２差異データＤｉｆｆ２が所定の期間以上継続して閾値Ｔｈより大きい区間Ｔが生じることがある。
【００７９】
図１０は、本実施形態に係る動作分析装置１０により分析される第２差異データＤｉｆｆ２のうち一部を拡大して示した図である。同図では、横軸に区間Ｔを含む時間を示し、縦軸に差異データの値を示している。
【００８０】
出力部１６は、第２差異データＤｉｆｆ２が所定の期間以上継続して閾値Ｔｈより大きい第２動作データＤ２の区間Ｔを出力してよい。このように、第２差異データＤｉｆｆ２が突発的に閾値Ｔｈより大きい瞬間は抽出対象から除外し、第２差異データＤｉｆｆ２が継続的に閾値Ｔｈより大きい区間Ｔを抽出することで、ノイズの影響を低減して第２タイプの動作者に特有の動作状態を識別することができる。
【００８１】
また、本実施形態に係る動作分析装置１０は、第１差異データＤｉｆｆ１の平均及び標準偏差に基づいて閾値を算出することで、適切な閾値Ｔｈを設定することができ、区間の抽出をより高精度に行うことができる。
【００８２】
図１１は、本実施形態に係る動作分析システム１００により実行される動作分析処理のフローチャートである。はじめに、動作分析システム１００は、第１タイプの動作者により実行された所定の動作を示す第１動作データを測定し、蓄積する（Ｓ１０）。
【００８３】
第１動作データが所定量以上蓄積した後、動作分析システム１００は、第１動作データを入力として、第１動作データを再現する予測データを出力するように学習モデルを学習する（Ｓ１１）。
【００８４】
その後、動作分析システム１００は、第１動作データを学習モデルに入力し、予測データを算出し（Ｓ１２）、予測データと、第１動作データとの差の二乗により差異データを算出する（Ｓ１３）。また、動作分析システム１００は、差異データの平均及び標準偏差に基づいて、閾値を算出する（Ｓ１４）。
【００８５】
次に、動作分析システム１００は、第２タイプの動作者により実行された所定の動作を示す第２動作データを測定する（Ｓ１５）。そして、動作分析システム１００は、第２動作データを学習モデルに入力し、予測データを算出する（Ｓ１６）。また、動作分析システム１００は、予測データと、第２動作データとの差の二乗により差異データを算出する（Ｓ１７）。
【００８６】
その後、第２タイプの動作者に特有の動作を抽出する場合（Ｓ１８：ＹＥＳ）、動作分析システム１００は、予測データと、第２動作データとの差異が所定の期間以上継続して閾値より大きい区間を出力する（Ｓ１９）。一方、第２タイプの動作者に特有の動作を抽出しない場合（Ｓ１８：ＮＯ）、すなわち第１タイプの動作者と第２タイプの動作者に共通の動作を抽出する場合、動作分析システム１００は、予測データと、第２動作データとの差異が所定の期間以上継続して閾値より小さい区間を出力する（Ｓ２０）。
【００８７】
最後に、動作分析システム１００は、第２タイプの動作者を撮影した動画のうち、出力された区間に対応する部分を出力する（Ｓ２１）。以上により、動作分析処理が終了する。
【００８８】
本発明の実施形態は、以下の付記のようにも記載され得る。ただし、本発明の実施形態は、以下の付記に記載した形態に限定されない。また、本発明の実施形態は、付記間の記載を置換したり、組み合わせたりした形態であってもよい。
【００８９】
［付記１］
第１タイプの動作者により実行された所定の動作を示す第１動作データを入力として、前記第１動作データを再現する予測データを出力するように学習モデルを学習させる学習部（１４）と、
前記第１タイプと異なる第２タイプの動作者により実行された前記所定の動作を示す第２動作データを前記学習モデルに入力した場合に前記学習モデルから出力される前記予測データと、前記第２動作データとの差異を算出する算出部（１５）と、
前記差異に基づいて特定される情報を出力する出力部（１６）と、
を備える動作分析装置（１０）。
【００９０】
［付記２］
前記出力部（１６）は、前記差異が所定の期間以上継続して閾値より大きい前記第２動作データの区間を出力する、
付記１に記載の動作分析装置（１０）。
【００９１】
［付記３］
前記出力部（１６）は、前記差異が所定の期間以上継続して閾値より小さい前記第２動作データの区間を出力する、
付記１に記載の動作分析装置（１０）。
【００９２】
［付記４］
前記出力部（１６）は、前記第２動作データのうち、前記区間に対応する部分を出力する、
付記２又は３に記載の動作分析装置（１０）。
【００９３】
［付記５］
前記算出部（１５）は、前記第１動作データに関する前記予測データと、前記第１動作データとの差の二乗により差異データを算出し、前記差異データの平均及び標準偏差に基づいて、前記閾値を算出する、
付記２から４のいずれか一項に記載の動作分析装置（１０）。
【００９４】
［付記６］
前記学習モデルは、ニューラルネットワークをエンコーダ及びデコーダに用いたオートエンコーダを含む、
付記１から５のいずれか一項に記載の動作分析装置（１０）。
【００９５】
［付記７］
前記第２タイプの動作者は、前記第１タイプの動作者と異なる人物であり、
前記第２タイプの動作者は、前記第１タイプの動作者と比較して、前記所定の動作の熟練度、年齢、身体的特徴及び性別の少なくともいずれかが異なる、
付記１から６のいずれか一項に記載の動作分析装置（１０）。
【００９６】
［付記８］
前記第２タイプの動作者は、前記第１タイプの動作者と同一の人物であり、
前記第２動作データは、前記第１動作データと異なる時に測定されている、
付記１から６のいずれか一項に記載の動作分析装置（１０）。
【００９７】
［付記９］
第１タイプの動作者により実行された所定の動作を示す第１動作データを入力として、前記第１動作データを再現する予測データを出力するように学習モデルを学習させることと、
前記第１タイプと異なる第２タイプの動作者により実行された前記所定の動作を示す第２動作データを前記学習モデルに入力した場合に前記学習モデルから出力される前記予測データと、前記第２動作データとの差異を算出することと、
前記差異に基づいて特定される情報を出力することと、
を含む動作分析方法。
【００９８】
［付記１０］
１又は複数のコンピュータに、
第１タイプの動作者により実行された所定の動作を示す第１動作データを入力として、前記第１動作データを再現する予測データを出力するように学習モデルを学習させることと、
前記第１タイプと異なる第２タイプの動作者により実行された前記所定の動作を示す第２動作データを前記学習モデルに入力した場合に前記学習モデルから出力される前記予測データと、前記第２動作データとの差異を算出することと、
前記差異に基づいて特定される情報を出力することと、
を実行させる動作分析プログラム。
【符号の説明】
【００９９】
１０…動作分析装置、１０ａ…ＣＰＵ、１０ｂ…ＲＡＭ、１０ｃ…ＲＯＭ、１０ｄ…通信部、１０ｅ…入力部、１０ｆ…表示部、１０ｇ…動作分析装置、１１…取得部、１２…解析部、１３…記憶部、１３ａ…動画履歴、１３ｂ…第１動作データ履歴、１３ｃ…学習モデル、１４…学習部、１５…算出部、１６…出力部、２０ａ…第１撮影部、２０ｂ…第２撮影部、２０ｃ…第３撮影部、１００…動作分析システム、Ａ…初心者特有の動作、Ｂ…ベース動作、Ｃ…熟練者特有の動作、Ｄ…動作データ、ＥＮ…エンコーダ、Ｆ…特徴量、ＤＥ…デコーダ、Ｐ…予測データ、Ｄ１…第１動作データ、Ｐ１…第１予測データ、Ｄｉｆｆ１…第１差異データ、Ｔｈ…閾値、Ｄ２…第２動作データ、Ｐ２…第２予測データ、Ｄｉｆｆ２…第２差異データ、Ｔ…区間、Ｒ…作業領域
【図１】
2020149492.tif 000003
【図２】
2020149492.tif 000004
【図３】
2020149492.tif 000005
【図４】
2020149492.tif 000006
【図５】
2020149492.tif 000007
【図６】
2020149492.tif 000008
【図７】
2020149492.tif 000009
【図８】
2020149492.tif 000010
【図９】
2020149492.tif 000011
【図１０】
2020149492.tif 000012
【図１１】
2020149492.tif 000013