IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オムロン株式会社の特許一覧

特許7137150動作分析装置、動作分析方法及び動作分析プログラム
<>
  • 特許-動作分析装置、動作分析方法及び動作分析プログラム 図1
  • 特許-動作分析装置、動作分析方法及び動作分析プログラム 図2
  • 特許-動作分析装置、動作分析方法及び動作分析プログラム 図3
  • 特許-動作分析装置、動作分析方法及び動作分析プログラム 図4
  • 特許-動作分析装置、動作分析方法及び動作分析プログラム 図5
  • 特許-動作分析装置、動作分析方法及び動作分析プログラム 図6
  • 特許-動作分析装置、動作分析方法及び動作分析プログラム 図7
  • 特許-動作分析装置、動作分析方法及び動作分析プログラム 図8
  • 特許-動作分析装置、動作分析方法及び動作分析プログラム 図9
  • 特許-動作分析装置、動作分析方法及び動作分析プログラム 図10
  • 特許-動作分析装置、動作分析方法及び動作分析プログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-06
(45)【発行日】2022-09-14
(54)【発明の名称】動作分析装置、動作分析方法及び動作分析プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20220907BHJP
   G06N 3/02 20060101ALI20220907BHJP
   G06V 40/20 20220101ALI20220907BHJP
   G06T 7/20 20170101ALI20220907BHJP
【FI】
G06N20/00
G06N3/02
G06V40/20
G06T7/20 300Z
【請求項の数】 9
(21)【出願番号】P 2019047584
(22)【出願日】2019-03-14
(65)【公開番号】P2020149492
(43)【公開日】2020-09-17
【審査請求日】2020-12-14
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100139066
【弁理士】
【氏名又は名称】伊藤 健太郎
(72)【発明者】
【氏名】水野 佑治
(72)【発明者】
【氏名】和田 洋貴
【審査官】多賀 実
(56)【参考文献】
【文献】米国特許出願公開第2019/0065949(US,A1)
【文献】特開2006-302122(JP,A)
【文献】菅原 俊 ほか,「AutoEncoderを用いたオンライン手書き認証」,電子情報通信学会技術研究報告,一般社団法人電子情報通信学会,2015年06月22日,第115巻, 第 117号,pp.27-32
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06T 7/00- 7/90
G06V 40/20
(57)【特許請求の範囲】
【請求項1】
第1タイプの動作者により実行された所定の動作を示す第1動作データを入力として、前記第1動作データを再現する予測データを出力するように学習モデルを学習させる学習部と、
前記第1タイプと異なる第2タイプの動作者により実行された前記所定の動作を示す第2動作データを前記学習モデルに入力した場合に前記学習モデルから出力される前記予測データと、前記第2動作データとの差異を算出する算出部と、
前記差異に基づいて特定される情報を出力する出力部と、
を備え
前記出力部は、前記差異が所定の期間以上継続して閾値より大きい前記第2動作データの区間を出力する、
動作分析装置。
【請求項2】
前記出力部は、前記差異が所定の期間以上継続して前記閾値より小さい前記第2動作データの区間をさらに出力する、
請求項1に記載の動作分析装置。
【請求項3】
前記出力部は、前記第2動作データのうち、前記区間に対応する部分を出力する、
請求項又はに記載の動作分析装置。
【請求項4】
前記算出部は、前記第1動作データに関する前記予測データと、前記第1動作データとの差の二乗により差異データを算出し、前記差異データの平均及び標準偏差に基づいて、前記閾値を算出する、
請求項からのいずれか一項に記載の動作分析装置。
【請求項5】
前記学習モデルは、ニューラルネットワークをエンコーダ及びデコーダに用いたオートエンコーダを含む、
請求項1からのいずれか一項に記載の動作分析装置。
【請求項6】
前記第2タイプの動作者は、前記第1タイプの動作者と異なる人物であり、
前記第2タイプの動作者は、前記第1タイプの動作者と比較して、前記所定の動作の熟練度、年齢、身体的特徴及び性別の少なくともいずれかが異なる、
請求項1からのいずれか一項に記載の動作分析装置。
【請求項7】
前記第2タイプの動作者は、前記第1タイプの動作者と同一の人物であり、
前記第2動作データは、前記第1動作データと異なる時に測定されている、
請求項1からのいずれか一項に記載の動作分析装置。
【請求項8】
第1タイプの動作者により実行された所定の動作を示す第1動作データを入力として、前記第1動作データを再現する予測データを出力するように学習モデルを学習させることと、
前記第1タイプと異なる第2タイプの動作者により実行された前記所定の動作を示す第2動作データを前記学習モデルに入力した場合に前記学習モデルから出力される前記予測データと、前記第2動作データとの差異を算出することと、
前記差異に基づいて特定される情報を出力することと、
を含み、
前記出力することは、前記差異が所定の期間以上継続して閾値より大きい前記第2動作データの区間を出力する、
動作分析方法。
【請求項9】
1又は複数のコンピュータに、
第1タイプの動作者により実行された所定の動作を示す第1動作データを入力として、前記第1動作データを再現する予測データを出力するように学習モデルを学習させることと、
前記第1タイプと異なる第2タイプの動作者により実行された前記所定の動作を示す第2動作データを前記学習モデルに入力した場合に前記学習モデルから出力される前記予測データと、前記第2動作データとの差異を算出することと、
前記差異に基づいて特定される情報を出力することと、
を実行させ
前記出力することは、前記差異が所定の期間以上継続して閾値より大きい前記第2動作データの区間を出力する、
動作分析プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動作分析装置、動作分析方法及び動作分析プログラムに関する。
【背景技術】
【0002】
従来、製品の製造ライン等で作業する作業者の動作をカメラで撮影したり、モーションキャプチャで動作を測定したりして、作業者の動作を分析する場合がある。
【0003】
例えば、下記特許文献1には、模範者及び利用者の身体にセンサを取り付けて、模範者の動作に関するグラフと利用者の動作に関するグラフを比較することで、模範者の動作に対する利用者の動作の差異を検出する技能習得支援システムが記載されている。
【0004】
また、下記特許文献2には、教師例となる理想的な動作を記録した記号列と、支援対象となる動作の記号列とを比較して差異を検出し、差異に対応する支援情報を出力する技能向上支援装置が記載されている。
【0005】
さらに、下記非特許文献1には、バランスボードを用いて関節の曲げ角度を推定し、重量物を持ち上げる際の関節の曲げ角度が初心者と熟練者でどのように異なるか研究した結果が記載されている。
【0006】
また、下記非特許文献2には、初心者の動作を表す時系列データ及び熟練者の動作を表す時系列データに対して拡張特異スペクトル変換を行い、動作変化点列を求めることで、初心者と熟練者の動作の差異を検出する研究の結果が記載されている。
【先行技術文献】
【特許文献】
【0007】
【文献】特許第5757482号
【文献】特許第3747800号
【非特許文献】
【0008】
【文献】Soichiro Watanabe、外9名、"A difference of human posture between beginner and expert during lifting a heavy load", The 7th 2014 Biomedical Engineering International Conference
【文献】中西弘明、外3名、「動作教示を目的とした特異値分解を用いた動作解析法」、28th Fuzzy System Symposium (Nagoya, September 12-14, 2012)
【発明の概要】
【発明が解決しようとする課題】
【0009】
上記の先行技術文献に記載された技術では、初心者の動作を示すデータ及び熟練者の動作を示すデータを対比して、その差異を識別している。そのため、先行技術文献に記載された分析を行うためには、初心者の動作を示すデータ及び熟練者の動作を示すデータ両方を予め収集し、その差異を識別する識別器を生成することとなる。
【0010】
しかしながら、複数のタイプの動作者の動作を示すデータは、必ずしも十分な量収集できるとは限らず、特定のタイプの動作者の動作を示すデータが十分な量収集できたとしても、他のタイプの動作者の動作を示すデータが十分な量収集できない場合がある。
【0011】
そこで、本発明は、特定のタイプの動作者の動作を示すデータを学習データとして用いて、他のタイプの動作者の動作状態を識別することができる動作分析装置、動作分析方法及び動作分析プログラムを提供する。
【課題を解決するための手段】
【0012】
本開示の一態様に係る動作分析装置は、第1タイプの動作者により実行された所定の動作を示す第1動作データを入力として、第1動作データを再現する予測データを出力するように学習モデルを学習させる学習部と、第1タイプと異なる第2タイプの動作者により実行された所定の動作を示す第2動作データを学習モデルに入力した場合に学習モデルから出力される予測データと、第2動作データとの差異を算出する算出部と、差異に基づいて特定される情報を出力する出力部と、を備える。
【0013】
この態様によれば、第1タイプの動作者により実行された所定の動作を示す第1動作データを学習データとして用いて、第1動作データを再現する予測データを出力するように学習モデルを学習させることで、第2タイプの動作者により実行された所定の動作を示す第2動作データが比較的少なくても、学習モデルによって特定のタイプの動作者の動作状態を識別することができる。
【0014】
上記態様において、出力部は、差異が所定の期間以上継続して閾値より大きい第2動作データの区間を出力してもよい。
【0015】
この態様によれば、第2動作データを学習モデルに入力した場合に学習モデルから出力される予測データが継続的に第2動作データと乖離する区間を出力することで、ノイズの影響を低減して第2タイプの動作者に特有の動作状態を識別することができる。
【0016】
上記態様において、出力部は、差異が所定の期間以上継続して閾値より小さい第2動作データの区間を出力してもよい。
【0017】
この態様によれば、第2動作データを学習モデルに入力した場合に学習モデルから出力される予測データが継続的に第2動作データから乖離しない区間を出力することで、ノイズの影響を低減して第1タイプの動作者及び第2タイプの動作者に共通の動作状態を識別することができる。
【0018】
上記態様において、出力部は、第2動作データのうち、区間に対応する部分を出力してもよい。
【0019】
この態様によれば、出力された区間に対応する動作者の動作を容易に確認することができるようになり、動作の解析をより円滑に行うことができる。
【0020】
上記態様において、算出部は、第1動作データに関する予測データと、第1動作データとの差の二乗により差異データを算出し、差異データの平均及び標準偏差に基づいて、閾値を算出してもよい。
【0021】
この態様によれば、差異データの平均及び標準偏差に基づいて閾値を算出することで、適切な閾値を設定することができ、区間の抽出をより高精度に行うことができる。
【0022】
上記態様において、学習モデルは、ニューラルネットワークをエンコーダ及びデコーダに用いたオートエンコーダを含んでもよい。
【0023】
この態様によれば、第1動作データに含まれる複数のパターンをニューラルネットワークによってエンコードして、得られた特徴量をデコードして第1動作データを再現するオートエンコーダを生成することができる。
【0024】
上記態様において、第2タイプの動作者は、第1タイプの動作者と異なる人物であり、第2タイプの動作者は、第1タイプの動作者と比較して、所定の動作の熟練度、年齢、身体的特徴及び性別の少なくともいずれかが異なってもよい。
【0025】
この態様によれば、所定の動作の熟練度、年齢、身体的特徴及び性別の少なくともいずれかが第1タイプの動作者と異なる第2タイプの動作者について、第2タイプの動作者に特有の動作状態を識別することができる。
【0026】
上記態様において、第2タイプの動作者は、第1タイプの動作者と同一の人物であり、第2動作データは、第1動作データと異なる時に測定されていてもよい。
【0027】
この態様によれば、ある動作者により実行された所定の動作を示す第1動作データを蓄積して学習モデルを生成し、時間の経過とともにその動作者の動作がどのように変化しているかを識別することができる。
【0028】
本開示の他の態様に係る動作分析方法は、第1タイプの動作者により実行された所定の動作を示す第1動作データを入力として、第1動作データを再現する予測データを出力するように学習モデルを学習させることと、第1タイプと異なる第2タイプの動作者により実行された所定の動作を示す第2動作データを学習モデルに入力した場合に学習モデルから出力される予測データと、第2動作データとの差異を算出することと、差異に基づいて特定される情報を出力することと、を含む。
【0029】
本開示の他の態様に係る動作分析プログラムは、1又は複数のコンピュータに、第1タイプの動作者により実行された所定の動作を示す第1動作データを入力として、第1動作データを再現する予測データを出力するように学習モデルを学習させることと、第1タイプと異なる第2タイプの動作者により実行された所定の動作を示す第2動作データを学習モデルに入力した場合に学習モデルから出力される予測データと、第2動作データとの差異を算出することと、差異に基づいて特定される情報を出力することと、を実行させる。
【発明の効果】
【0030】
本発明によれば、特定のタイプの動作者の動作を示すデータを学習データとして用いて、他のタイプの動作者の動作状態を識別することができる動作分析装置、動作分析方法及び動作分析プログラムを提供することができる。
【図面の簡単な説明】
【0031】
図1】本発明の実施形態に係る動作分析システムの概要を示す図である。
図2】本実施形態に係る動作分析システムの機能ブロックを示す図である。
図3】本実施形態に係る動作分析装置の物理的構成を示す図である。
図4】本実施形態に係る動作分析装置により分析される初心者及び熟練者の動作の種類をまとめた表である。
図5】本実施形態に係る動作分析装置の学習モデルの一例を示す図である。
図6】本実施形態に係る動作分析装置の学習モデルの学習に用いられる第1動作データ及び第1予測データの一例を示す図である。
図7】本実施形態に係る動作分析装置の学習モデルの学習に用いられる第1差異データの一例を示す図である。
図8】本実施形態に係る動作分析装置により分析される第2動作データ及び第2予測データの一例を示す図である。
図9】本実施形態に係る動作分析装置により分析される第2差異データの一例を示す図である。
図10】本実施形態に係る動作分析装置により分析される第2差異データのうち一部を拡大して示した図である。
図11】本実施形態に係る動作分析システムにより実行される動作分析処理のフローチャートである。
【発明を実施するための形態】
【0032】
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」と表記する。)を、図面に基づいて説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【0033】
§1 適用例
まず、図1を用いて、本発明が適用される場面の一例について説明する。本実施形態に係る動作分析システム100は、ある作業領域Rにおいて実行される作業者の動作を示す動画を撮影する第1撮影部20a、第2撮影部20b及び第3撮影部20cを備える。本例の作業領域Rは、製造ライン全体を含む領域であるが、作業領域Rは、任意の領域であってよく、例えば所定の工程が行われる領域であったり、所定の要素動作が行われる領域であったりしてよい。ここで、要素動作とは、作業者により実行される一単位の動作であり、例えば、部品のピッキング、部品の配置、部品の固定、製品の梱包といった動作を含む。本実施形態では、作業領域Rにおいて3つの工程が行われ、第1撮影部20a、第2撮影部20b及び第3撮影部20cは、それぞれ所定の工程を実行する作業者の手元の動画を撮影するものであってよい。
【0034】
本例では、第1作業者A1及び第2作業者A2が、作業領域Rにおいて、予め定められた動作を行う場合について説明する。第1作業者A1は、例えば第1部品のピッキング、配置、固定といった動作を実行し、第2作業者A2は、例えば第2部品のピッキング、配置、固定といった動作を実行することができる。以下では、第1作業者A1及び第2作業者A2を総称して作業者Aと記載する。
【0035】
動作分析システム100は、動作分析装置10を含む。動作分析装置10は、第1タイプの動作者により実行された所定の動作を示す第1動作データを入力として、第1動作データを再現する予測データを出力するように学習モデルを学習させる。ここで、動作データは、動作者により実行された所定の動作を示す任意のデータである。例えば、動作者が作業者Aである場合、動作データは、作業者Aの動作を示す動画であったり、動画を解析して得られる座標値であったりしてよい。もっとも、動作データは、モーションキャプチャにより測定された動作者の動作を示す座標値であったり、加速度センサやジャイロセンサを動作者に装着させることで測定される動作者の動作を示すデータであったりしてもよい。
【0036】
動作分析装置10は、第1タイプと異なる第2タイプの動作者により実行された所定の動作を示す第2動作データを学習モデルに入力した場合に学習モデルから出力される予測データと、第2動作データとの差異を算出する。ここで、学習モデルは、第1動作データを再現するように学習されているため、第1動作データに含まれない特徴が第2動作データに含まれる場合、学習モデルから出力される予測データは、その部分の第2動作データを精度良く再現することができず、予測データと第2動作データの間に差異が生じると考えられる。
【0037】
表示部10fは、予測データと、第2動作データとの差異に基づいて特定される情報を表示する。表示部10fは、例えば、第2タイプの動作者に特有の動作が行われている区間を表示したり、第1タイプの動作者と第2タイプの動作者に共通した動作が行われている区間を表示したりしてよい。
【0038】
このように、本実施形態に係る動作分析装置10によれば、第1タイプの動作者により実行された所定の動作を示す第1動作データを学習データとして用いて、第1動作データを再現する予測データを出力するように学習モデルを学習させることで、第2タイプの動作者により実行された所定の動作を示す第2動作データが比較的少なくても、学習モデルによって特定のタイプの動作者の動作状態を識別することができる。
【0039】
§2 構成例
[機能構成]
次に、図2を用いて、本実施形態に係る動作分析システム100の機能構成の一例を説明する。動作分析システム100は、第1撮影部20a、第2撮影部20b、第3撮影部20c及び動作分析装置10を備える。そして、動作分析装置10は、取得部11、解析部12、記憶部13、学習部14、算出部15、出力部16及び表示部10fを備える。
【0040】
<撮影部>
第1撮影部20a、第2撮影部20b及び第3撮影部20cは、それぞれ汎用のカメラによって構成されてよく、作業領域Rにおいて第1作業者A1及び第2作業者A2が動作を実行している場面を含む動画を撮影してよい。第1撮影部20a、第2撮影部20b及び第3撮影部20cは、それぞれ作業領域Rの一部を撮影してよく、作業領域Rよりも狭い領域の動画を撮影してよい。具体的には、第1作業者A1及び第2作業者A2により実行される動作をクローズアップした動画を撮影してよい。第1撮影部20a、第2撮影部20b及び第3撮影部20cは、例えば、第1作業者A1及び第2作業者A2の手元をクローズアップした動画を撮影してよい。
【0041】
また、第1撮影部20a、第2撮影部20b及び第3撮影部20cは、作業領域Rの複数の部分をそれぞれ撮影した複数の動画を撮影してよい。例えば、第1撮影部20aは、主に第1作業者A1が動作を実行している動画を撮影し、第3撮影部20cは、主に第2作業者A2が動作を実行している動画を撮影し、第2撮影部20bは、第1作業者A1が動作を実行している動画及び第2作業者A2が動作を実行している動画の両方を撮影してよい。また、第1撮影部20a、第2撮影部20b及び第3撮影部20cは、作業領域Rにおける複数の位置でそれぞれ異なる工程が実行される動画を撮影してよい。
【0042】
<取得部>
取得部11は、作業者Aにより実行された所定の動作を示す動作データを取得する。ここで、動作データは、動作者により実行された所定の動作を示す任意のデータである。例えば、動作者が作業者Aである場合、動作データは、作業者Aの動作を示す動画であったり、動画を解析して得られる座標値であったりしてよい。もっとも、動作データは、モーションキャプチャにより測定された動作者の動作を示す座標値であったり、加速度センサやジャイロセンサを動作者に装着させることで測定される動作者の動作を示すデータであったりしてもよい。取得部11により取得された動画は、記憶部13に伝送され、動画履歴13aとして記憶される。
【0043】
取得部11は、作業者Aが所定の動作を行った場合に記録された、作業者Aの複数の部位の動作を示す複数の動作データを取得してもよい。作業者Aの複数の部位は、例えば、頭、両目、両肩、両肘、両手首、両手の各指関節、腰、両膝及び両足首等であってよい。また、取得部11は、作業者Aが所定の動作を行った場合に記録された、作業者Aの左右の部位の動作を示す複数の動作データを取得してよい。作業者Aの左右の部位は、両目、両肩、両肘、両手首、両手の各指関節、両膝及び両足首等であってよい。
【0044】
本実施形態では、作業者Aが所定により実行された所定の動作を示す動作データを取得する場合について説明するが、取得部11は、スポーツを行う動作者により実行された所定の動作を示す動作データを取得したり、技芸を行う動作者により実行された所定の動作を示す動作データを取得したり、日常動作を行う動作者により実行された所定の動作を示す動作データを取得したりしてもよい。
【0045】
<解析部>
解析部12は、作業者Aにより実行された所定の動作を示す動画を解析し、作業者Aの動作を示す座標値を含む動作データを算出する。動作データは、作業者Aの身体の代表的な位置の変位を示すデータであってよい。作業者の身体の代表的な位置は、身体の1つの位置であってもよいが、典型的には複数あってよい。動作データは、作業者Aの関節の位置を骨格モデルによって示すデータであってよい。解析部12は、例えば、Zhe Cao、外3名、"Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields", arXiv:1611.08050, 2016により開示された技術を用いて、動画から作業者Aの動作を示す座標値を含む動作データを算出してよい。なお、加速度センサやジャイロセンサを作業者Aに装着させて作業者Aの動作を示す動作データを測定する場合、解析部12によって動画から作業者Aの動作を示す座標値を含む動作データを算出する処理は不要となる。
【0046】
<記憶部>
記憶部13は、動画履歴13a、第1動作データ履歴13b及び学習モデル13cを記憶する。動画履歴13aは、第1撮影部20a、第2撮影部20b及び第3撮影部20cにより撮影された動画の履歴を含む。第1動作データ履歴13bは、解析部12により算出された動作データの履歴を含み、第1タイプの動作者により実行された所定の動作を示す第1動作データの履歴を含む。ここで、第1動作データ履歴13bは、動作者のタイプ毎に記憶されてもよい。動作者のタイプとは、動作者の特徴を表す分類であり、例えば、作業に関する熟練者と初心者であったり、右利きと左利きであったり、男性と女性であったり、体格に関して大柄と小柄であったり、若年と中年であったり、動作データを測定した時期の違いであったりしてよい。学習モデル13cは、動作データを入力として受け付けて、入力された動作データを再現する予測データを出力する。学習モデル13cの構成の一例は、図5を用いて説明する。
【0047】
<学習部>
学習部14は、第1タイプの動作者により実行された所定の動作を示す第1動作データを入力として、第1動作データを再現する予測データを出力するように学習モデル13cを学習させる。ここで、学習モデル13cに入力する第1動作データは、第1動作データ履歴13bから選択されてよい。
【0048】
<算出部>
算出部15は、第1タイプと異なる第2タイプの動作者により実行された所定の動作を示す第2動作データを学習モデル13cに入力した場合に学習モデル13cから出力される予測データと、第2動作データとの差異を算出する。学習モデル13cは、第1動作データを再現するように学習されたモデルであるから、第2動作データが第1動作データと異なる特徴を含む場合、その部分について予測データは第2動作データから乖離すると考えられる。
【0049】
<出力部>
出力部16は、算出部15により算出された予測データと第2動作データとの差異に基づいて特定される情報を出力する。出力部16は、例えば、予測データと第2動作データとの差異が所定の期間以上継続して閾値より大きい第2動作データの区間を出力してよい。第2動作データを学習モデル13cに入力した場合に学習モデル13cから出力される予測データが継続的に第2動作データと乖離する区間を出力することで、ノイズの影響を低減して第2タイプの動作者に特有の動作状態を識別することができる。
【0050】
また、出力部16は、予測データと第2動作データとの差異が所定の期間以上継続して閾値より小さい第2動作データの区間を出力してもよい。第2動作データを学習モデルに入力した場合に学習モデルから出力される予測データが継続的に第2動作データから乖離しない区間を出力することで、ノイズの影響を低減して第1タイプの動作者及び第2タイプの動作者に共通の動作状態を識別することができる。
【0051】
出力部16は、予測データと第2動作データとの差異が所定の期間以上継続して閾値より小さい区間を出力したり、予測データと第2動作データとの差異が所定の期間以上継続して閾値より小さい区間に対応する第2動作データの部分を出力したりしてよい。特に、出力部16は、動画履歴13aのうち、上記区間に対応する動画を出力してよい。これにより、出力された区間に対応する動作者の動作を容易に確認することができるようになり、動作の解析をより円滑に行うことができる。
【0052】
第2タイプの動作者は、第1タイプの動作者と異なる人物であってよく、第2タイプの動作者は、第1タイプの動作者と比較して、所定の動作の熟練度、年齢、身体的特徴及び性別の少なくともいずれかが異なってよい。例えば、第2タイプの動作者は、所定の動作の熟練者であり、第1タイプの動作者は、所定の動作の初心者であったり、その逆であったりしてよい。また、例えば、第2タイプの動作者は、身長、体重、腕の長さ、痩せ型であるか又は肥満体型であるかといった身体的特徴が、第1タイプの動作者と異なる者であってよい。本実施形態に係る動作分析装置10によって、所定の動作の熟練度、年齢、身体的特徴及び性別の少なくともいずれかが第1タイプの動作者と異なる第2タイプの動作者について、第2タイプの動作者に特有の動作状態を識別することができる。
【0053】
また、第2タイプの動作者は、第1タイプの動作者と同一の人物であってもよく、第2動作データは、第1動作データと異なる時に測定されていてよい。例えば、第2動作データは、ある動作者が所定の動作を行う場合に直近に測定された動作データであり、第1動作データは、同一の動作者が所定の動作を行った場合に過去に測定された動作データであってよい。これにより、ある動作者により実行された所定の動作を示す第1動作データを蓄積して学習モデル13cを生成し、時間の経過とともにその動作者の動作がどのように変化しているかを識別することができる。例えば、同一の動作者について、所定の動作を行う調子のばらつきを測定することができる。
【0054】
[ハードウェア構成]
次に、図3を用いて、本実施形態に係る動作分析装置10のハードウェア構成の一例を説明する。動作分析装置10は、演算装置に相当するCPU(Central Processing Unit)10aと、記憶部13に相当するRAM(Random Access Memory)10bと、記憶部13に相当するROM(Read only Memory)10cと、通信部10dと、入力部10eと、表示部10fとを有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。なお、本例では動作分析装置10が一台のコンピュータで構成される場合について説明するが、動作分析装置10は、複数のコンピュータを用いて実現されてもよい。
【0055】
CPU10aは、RAM10b又はROM10cに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。CPU10aは、第1タイプの動作者により実行された所定の動作を示す第1動作データに対して、第2タイプの動作者により実行された所定の動作を示す第2動作データに特有の部分を抽出するプログラム(動作分析プログラム)を実行する演算装置である。なお、動作分析装置10を複数のコンピュータで構成する場合、例えば、学習モデルを学習させることをクラウド上のコンピュータで実行し、第2動作データと予測データの差異を算出し、差異に基づいて特定される情報を出力することをローカルコンピュータで実行することとしてもよい。CPU10aは、入力部10eや通信部10dから種々の入力データを受け取り、入力データの演算結果を表示部10fに表示したり、RAM10bやROM10cに格納したりする。
【0056】
RAM10bは、記憶部13のうちデータの書き換えが可能なものであり、例えば半導体記憶素子で構成されてよい。RAM10bは、CPU10aが実行する動作分析プログラムや、動画履歴13a、第1動作データ履歴13b及び学習モデル13cといったデータを記憶する。
【0057】
ROM10cは、記憶部13のうちデータの読み出しが可能なものであり、例えば半導体記憶素子で構成されてよい。ROM10cは、例えば動作分析プログラムや、書き換えが行われないデータを記憶する。
【0058】
通信部10dは、動作分析装置10を外部機器に接続するインターフェースである。通信部10dは、第1撮影部20a、第2撮影部20b及び第3撮影部20cと例えばLAN(Local Area Network)により接続されて、第1撮影部20a、第2撮影部20b及び第3撮影部20cから動画を受信してよい。また、通信部10dは、インターネットに接続されて、インターネットを介して動画を受信したり、動作データを受信したりしてもよい。
【0059】
入力部10eは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード、マウス及びタッチパネルを含んでよい。
【0060】
表示部10fは、CPU10aによる演算結果を視覚的に表示するものであり、例えば、LCD(Liquid Crystal Display)により構成されてよい。
【0061】
動作分析プログラムは、RAM10bやROM10c等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部10dにより接続される通信ネットワークを介して提供されてもよい。動作分析装置10では、CPU10aが動作分析プログラムを実行することにより、図2を用いて説明した取得部11、解析部12、学習部14、算出部15及び出力部16の動作が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、動作分析装置10は、CPU10aとRAM10bやROM10cが一体化したLSI(Large-Scale Integration)を備えていてもよい。
【0062】
§3 動作例
図4は、本実施形態に係る動作分析装置10により分析される初心者及び熟練者の動作の種類をまとめた表である。同図では、初心者及び熟練者の動作が、「初心者に特有の動作」、「ベース動作」及び「熟練者に特有の動作」のいずれを含むかを示している。
【0063】
本発明の発明者らは、初心者の動作は、「初心者に特有の動作」及び「ベース動作」によって構成されており、熟練者の動作は、「ベース動作」及び「熟練者に特有の動作」によって構成されていると考えた。初心者及び熟練者の動作は、「ベース動作」について共通しているが、初心者は、「初心者に特有の動作」を行っているために非効率であったり不安定であったりすると想定される。一方、熟練者は、「ベース動作」を行う点では初心者と変わりがないが、「初心者に特有の動作」を行っておらず(又はほとんど行っておらず)、「熟練者に特有の動作」を行っており、そのために効率的で安定した動作が実現されていると想定される。
【0064】
本実施形態に係る動作分析装置10は、第1タイプの動作者を初心者とすることで、「初心者に特有の動作」及び「ベース動作」を再現するように学習モデル13cを生成する。そして、第2タイプの動作者を熟練者として、第2動作データを学習モデル13cに入力して、予測データと第2動作データとの間に差異が生じている区間を特定することで、「熟練者に特有の動作」が実行されている区間を特定することができる。また、第2タイプの動作者を熟練者として、第2動作データを学習モデル13cに入力して、予測データと第2動作データとの間に差異が生じていない区間を特定することで、「ベース動作」が実行されている区間を特定することができる。
【0065】
また、本実施形態に係る動作分析装置10は、第1タイプの動作者を熟練者とすることで、「ベース動作」及び「熟練者に特有の動作」を再現するように学習モデル13cを生成することもできる。そして、第2タイプの動作者を初心者として、第2動作データを学習モデル13cに入力して、予測データと第2動作データとの間に差異が生じている区間を特定することで、「初心者に特有の動作」が実行されている区間を特定することができる。また、第2タイプの動作者を初心者として、第2動作データを学習モデル13cに入力して、予測データと第2動作データとの間に差異が生じていない区間を特定することで、「ベース動作」が実行されている区間を特定することができる。
【0066】
図5は、本実施形態に係る動作分析装置10の学習モデルの一例を示す図である。本例の学習モデルは、畳み込みニューラルネットワークをエンコーダEN及びデコーダDEに用いたオートエンコーダを含む。なお、以下に説明する具体的数値は例示であり、適宜変更されてよい。
【0067】
学習モデルは、動作データDを入力として受け付ける。動作データDは、例えば、100Hzでサンプリングした40秒分(4000サンプル)の右手及び左手のX座標値、Y座標値及びZ座標値(6つ)のデータであってよい。本例の場合、動作データDの次元は、4000×6である。
【0068】
エンコーダENは、1次元CNN(Convolutional Neural Network)により構成されてよい。エンコーダENは、256のフィルターを含む第1畳み込み層(Conv1D 4000*6*256)と、第1プーリング層(pooling 2000*6*256)と、128のフィルターを含む第2畳み込み層(Conv1D 2000*6*128)と、第2プーリング層(pooling 1000*6*128)と、64のフィルターを含む第3畳み込み層(Conv1D 1000*6*64)と、第3プーリング層(pooling 500*6*64)と、を含む。エンコーダENによって、4000×6次元の動作データDは、500×6×64次元の特徴量Fに変換される。
【0069】
デコーダDEは、1次元CNNにより構成されてよい。デコーダDEは、64のフィルターを含む第1(逆)畳み込み層(Conv1D 500*6*64)と、第1アップサンプリング層(Upsampling 1000*6*64)と、128のフィルターを含む第2(逆)畳み込み層(Conv1D 1000*6*128)と、第2アップサンプリング層(Upsampling 2000*6*128)と、256のフィルターを含む第3(逆)畳み込み層(Conv1D 2000*6*256)と、第3アップサンプリング層(Upsampling 4000*6*256)と、1つのフィルターを含む第4(逆)畳み込み層(Conv1D 4000*6*1)を含む。デコーダDEによって、500×6×64次元の特徴量Fは、4000×6次元の予測データPに変換される。
【0070】
学習部14は、予測データPと動作データDとの差異に基づいて、デコーダDE及びエンコーダENの重み係数を誤差逆伝播法によって更新し、予測データPと動作データDとの差異がゼロとなるように学習モデルを生成してよい。
【0071】
このようにして、第1動作データに含まれる複数のパターンを畳み込みニューラルネットワークによってエンコードして、得られた特徴量をデコードして第1動作データを再現するオートエンコーダを生成することができる。
【0072】
なお、学習モデルは、CNN以外のモデルであってもよい。学習モデルは、例えば、LSTM(Long Short Term Memory)等の再帰型ニューラルネットワークや他の構造のニューラルネットワークを含んでもよい。また、学習モデルは、オートエンコーダ以外のモデルであってもよい。学習モデルは、例えば、自己回帰モデルを含んでもよい。
【0073】
図6は、本実施形態に係る動作分析装置10の学習モデルの学習に用いられる第1動作データD1及び第1予測データP1の一例を示す図である。同図では、横軸に時間を示し、縦軸に動作データ又は予測データの値を示して、第1動作データD1を実線で示し、第1予測データP1を破線で示している。なお、第1予測データP1は、第1動作データD1にほぼ一致しており、第1動作データD1に隠れてほとんど見えていない。
【0074】
図7は、本実施形態に係る動作分析装置10の学習モデルの学習に用いられる第1差異データDiff1の一例を示す図である。第1差異データDiff1は、第1動作データD1と、第1予測データP1との差の二乗により算出される。同図では、横軸に時間を示し、縦軸に差異データの値を示している。
【0075】
算出部15は、第1動作データD1と、第1予測データP1との差の二乗により第1差異データDiff1を算出し、第1差異データDiff1の平均及び標準偏差に基づいて、閾値Thを算出してよい。算出部15は、例えば、第1差異データDiff1の平均に標準偏差のN倍(Nは任意の自然数)を足して閾値Thとしてよい。学習モデルは、第1差異データDiff1がゼロに近付くように生成され、本例に示すように、第1差異データDiff1が所定の期間以上継続して閾値Thより大きい区間は存在しない。なお、ノイズの影響によって、第1差異データDiff1が突発的に閾値Thより大きくなる瞬間が存在する。
【0076】
図8は、本実施形態に係る動作分析装置10により分析される第2動作データD2及び第2予測データP2の一例を示す図である。同図では、横軸に時間を示し、縦軸に動作データ又は予測データの値を示して、第2動作データD2を実線で示し、第2予測データP2を破線で示している。なお、第2予測データP2は、第2動作データD2にほぼ一致しており、第2動作データD2に隠れてほとんど見えていないが、特に区間Tにおいて第2動作データD2から乖離している。
【0077】
図9は、本実施形態に係る動作分析装置10により分析される第2差異データDiff2の一例を示す図である。第2差異データDiff2は、第2動作データD2と、第2予測データP2との差の二乗により算出される。同図では、横軸に時間を示し、縦軸に差異データの値を示している。閾値Thは、第1差異データDiff1の平均及び標準偏差に基づいて算出された値である。
【0078】
学習モデルは、第1差異データDiff1がゼロに近付くように生成されているため、本例に示すように、第2予測データP2が第2動作データD2から乖離して、第2差異データDiff2が所定の期間以上継続して閾値Thより大きい区間Tが生じることがある。
【0079】
図10は、本実施形態に係る動作分析装置10により分析される第2差異データDiff2のうち一部を拡大して示した図である。同図では、横軸に区間Tを含む時間を示し、縦軸に差異データの値を示している。
【0080】
出力部16は、第2差異データDiff2が所定の期間以上継続して閾値Thより大きい第2動作データD2の区間Tを出力してよい。このように、第2差異データDiff2が突発的に閾値Thより大きい瞬間は抽出対象から除外し、第2差異データDiff2が継続的に閾値Thより大きい区間Tを抽出することで、ノイズの影響を低減して第2タイプの動作者に特有の動作状態を識別することができる。
【0081】
また、本実施形態に係る動作分析装置10は、第1差異データDiff1の平均及び標準偏差に基づいて閾値を算出することで、適切な閾値Thを設定することができ、区間の抽出をより高精度に行うことができる。
【0082】
図11は、本実施形態に係る動作分析システム100により実行される動作分析処理のフローチャートである。はじめに、動作分析システム100は、第1タイプの動作者により実行された所定の動作を示す第1動作データを測定し、蓄積する(S10)。
【0083】
第1動作データが所定量以上蓄積した後、動作分析システム100は、第1動作データを入力として、第1動作データを再現する予測データを出力するように学習モデルを学習する(S11)。
【0084】
その後、動作分析システム100は、第1動作データを学習モデルに入力し、予測データを算出し(S12)、予測データと、第1動作データとの差の二乗により差異データを算出する(S13)。また、動作分析システム100は、差異データの平均及び標準偏差に基づいて、閾値を算出する(S14)。
【0085】
次に、動作分析システム100は、第2タイプの動作者により実行された所定の動作を示す第2動作データを測定する(S15)。そして、動作分析システム100は、第2動作データを学習モデルに入力し、予測データを算出する(S16)。また、動作分析システム100は、予測データと、第2動作データとの差の二乗により差異データを算出する(S17)。
【0086】
その後、第2タイプの動作者に特有の動作を抽出する場合(S18:YES)、動作分析システム100は、予測データと、第2動作データとの差異が所定の期間以上継続して閾値より大きい区間を出力する(S19)。一方、第2タイプの動作者に特有の動作を抽出しない場合(S18:NO)、すなわち第1タイプの動作者と第2タイプの動作者に共通の動作を抽出する場合、動作分析システム100は、予測データと、第2動作データとの差異が所定の期間以上継続して閾値より小さい区間を出力する(S20)。
【0087】
最後に、動作分析システム100は、第2タイプの動作者を撮影した動画のうち、出力された区間に対応する部分を出力する(S21)。以上により、動作分析処理が終了する。
【0088】
本発明の実施形態は、以下の付記のようにも記載され得る。ただし、本発明の実施形態は、以下の付記に記載した形態に限定されない。また、本発明の実施形態は、付記間の記載を置換したり、組み合わせたりした形態であってもよい。
【0089】
[付記1]
第1タイプの動作者により実行された所定の動作を示す第1動作データを入力として、前記第1動作データを再現する予測データを出力するように学習モデルを学習させる学習部(14)と、
前記第1タイプと異なる第2タイプの動作者により実行された前記所定の動作を示す第2動作データを前記学習モデルに入力した場合に前記学習モデルから出力される前記予測データと、前記第2動作データとの差異を算出する算出部(15)と、
前記差異に基づいて特定される情報を出力する出力部(16)と、
を備える動作分析装置(10)。
【0090】
[付記2]
前記出力部(16)は、前記差異が所定の期間以上継続して閾値より大きい前記第2動作データの区間を出力する、
付記1に記載の動作分析装置(10)。
【0091】
[付記3]
前記出力部(16)は、前記差異が所定の期間以上継続して閾値より小さい前記第2動作データの区間を出力する、
付記1に記載の動作分析装置(10)。
【0092】
[付記4]
前記出力部(16)は、前記第2動作データのうち、前記区間に対応する部分を出力する、
付記2又は3に記載の動作分析装置(10)。
【0093】
[付記5]
前記算出部(15)は、前記第1動作データに関する前記予測データと、前記第1動作データとの差の二乗により差異データを算出し、前記差異データの平均及び標準偏差に基づいて、前記閾値を算出する、
付記2から4のいずれか一項に記載の動作分析装置(10)。
【0094】
[付記6]
前記学習モデルは、ニューラルネットワークをエンコーダ及びデコーダに用いたオートエンコーダを含む、
付記1から5のいずれか一項に記載の動作分析装置(10)。
【0095】
[付記7]
前記第2タイプの動作者は、前記第1タイプの動作者と異なる人物であり、
前記第2タイプの動作者は、前記第1タイプの動作者と比較して、前記所定の動作の熟練度、年齢、身体的特徴及び性別の少なくともいずれかが異なる、
付記1から6のいずれか一項に記載の動作分析装置(10)。
【0096】
[付記8]
前記第2タイプの動作者は、前記第1タイプの動作者と同一の人物であり、
前記第2動作データは、前記第1動作データと異なる時に測定されている、
付記1から6のいずれか一項に記載の動作分析装置(10)。
【0097】
[付記9]
第1タイプの動作者により実行された所定の動作を示す第1動作データを入力として、前記第1動作データを再現する予測データを出力するように学習モデルを学習させることと、
前記第1タイプと異なる第2タイプの動作者により実行された前記所定の動作を示す第2動作データを前記学習モデルに入力した場合に前記学習モデルから出力される前記予測データと、前記第2動作データとの差異を算出することと、
前記差異に基づいて特定される情報を出力することと、
を含む動作分析方法。
【0098】
[付記10]
1又は複数のコンピュータに、
第1タイプの動作者により実行された所定の動作を示す第1動作データを入力として、前記第1動作データを再現する予測データを出力するように学習モデルを学習させることと、
前記第1タイプと異なる第2タイプの動作者により実行された前記所定の動作を示す第2動作データを前記学習モデルに入力した場合に前記学習モデルから出力される前記予測データと、前記第2動作データとの差異を算出することと、
前記差異に基づいて特定される情報を出力することと、
を実行させる動作分析プログラム。
【符号の説明】
【0099】
10…動作分析装置、10a…CPU、10b…RAM、10c…ROM、10d…通信部、10e…入力部、10f…表示部、10g…動作分析装置、11…取得部、12…解析部、13…記憶部、13a…動画履歴、13b…第1動作データ履歴、13c…学習モデル、14…学習部、15…算出部、16…出力部、20a…第1撮影部、20b…第2撮影部、20c…第3撮影部、100…動作分析システム、A…初心者特有の動作、B…ベース動作、C…熟練者特有の動作、D…動作データ、EN…エンコーダ、F…特徴量、DE…デコーダ、P…予測データ、D1…第1動作データ、P1…第1予測データ、Diff1…第1差異データ、Th…閾値、D2…第2動作データ、P2…第2予測データ、Diff2…第2差異データ、T…区間、R…作業領域
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11