JP7370777B2 - 学習システム、分析システム、学習方法、分析方法、プログラム、及び記憶媒体 - Google Patents

学習システム、分析システム、学習方法、分析方法、プログラム、及び記憶媒体 Download PDF

Info

Publication number
JP7370777B2
JP7370777B2 JP2019166910A JP2019166910A JP7370777B2 JP 7370777 B2 JP7370777 B2 JP 7370777B2 JP 2019166910 A JP2019166910 A JP 2019166910A JP 2019166910 A JP2019166910 A JP 2019166910A JP 7370777 B2 JP7370777 B2 JP 7370777B2
Authority
JP
Japan
Prior art keywords
image
human body
model
body model
person
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019166910A
Other languages
English (en)
Other versions
JP2021043839A (ja
Inventor
保男 浪岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2019166910A priority Critical patent/JP7370777B2/ja
Priority to US17/015,843 priority patent/US11676362B2/en
Priority to PH12020050314A priority patent/PH12020050314A1/en
Publication of JP2021043839A publication Critical patent/JP2021043839A/ja
Application granted granted Critical
Publication of JP7370777B2 publication Critical patent/JP7370777B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7747Organisation of the process, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/778Active pattern-learning, e.g. online learning of image or video features
    • G06V10/7784Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors
    • G06V10/7788Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors the supervisor being a human, e.g. interactive learning with a human teacher
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)
  • Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)

Description

本発明の実施形態は、学習システム、分析システム、学習方法、分析方法、プログラム、及び記憶媒体に関する。
人物を写した画像が入力されると、その人物の身体部位に印付けするモデルがある。このモデルについて、身体部位への印付けの精度向上が求められている。
特開2017-091249号公報
M.M.Marinho, Y.Yatsushima, T.Maekawa, and Y.Namioka,"Preliminary evaluation of a framework for overhead skeleton tracking in factory environments using kinect,"in Proceedings of the 4th international Workshop on Sensor-based Activity Recognition and Interaction-iWOAR17, ACM Press, 2017.
本発明が解決しようとする課題は、モデルの身体部位への印付けの精度を向上できる、学習システム、分析システム、学習方法、分析方法、プログラム、及び記憶媒体を提供することである。
実施形態に係る学習システムは、第1生成部と、第2生成部と、第3生成部と、学習部と、を備える。前記第1生成部は、人体を模した3次元の仮想の人体モデルを用いて第1画像を生成する。前記第2生成部は、前記第1画像中の前記人体モデルのそれぞれの身体部位に印付けした教師画像を生成する。前記第3生成部は、第1処理、第2処理、第3処理、第4処理、及び第5処理から選択される少なくとも1つを前記第1画像に実行することで、ノイズを含む第2画像を生成する。前記第3生成部は、前記第1処理において、前記第1画像の縁に沿って画素を欠損させる。前記第3生成部は、前記第2処理において、前記第1画像中の前記人体モデルの輪郭に沿って画素を欠損させる。前記第3生成部は、前記第3処理において、前記第1画像の画素値にばらつきを加える。前記第3生成部は、前記第4処理において、前記第1画像に図形を加える。前記第3生成部は、前記第5処理において、前記第1画像に含まれる前記人体モデルの周囲に、実空間を写した画像を合成する。前記学習部は、前記第2画像及び前記教師画像を用いて第1モデルを学習させる。
第1実施形態に係る学習システムの構成を表す模式的ブロック図である。 第1実施形態に係る学習システムによる処理を説明するための図である。 第1実施形態に係る学習システムによる処理を説明するための図である。 第1実施形態に係る学習システムによる処理を説明するための図である。 第1実施形態に係る学習システムによる処理を説明するための図である。 第1実施形態に係る学習システムによる処理を説明するための図である。 第1実施形態に係る学習システムで用いられるニューラルネットワークを例示する模式図である。 第1実施形態に係る学習システムで用いられるニューラルネットワークの一部を例示する模式図である。 第1実施形態に係る学習システムによる処理を表すフローチャートである。 第1実施形態に係る学習システムの効果を説明するための図である。 第1実施形態に係る学習システムの効果を説明するための図である。 第1実施形態に係る学習システムの効果を説明するための図である。 第1実施形態に係る学習システムの効果を説明するための図である。 第1実施形態に係る学習システムの効果を説明するための図である。 第1実施形態に係る学習システムの効果を説明するための図である。 第1実施形態に係る学習システムの効果を説明するための図である。 第1実施形態の第1変形例に係る学習システムの構成を表す模式的ブロック図である。 第1実施形態の第2変形例に係る学習システムによる処理を説明するための図である。 第1実施形態の第3変形例に係る学習システムの構成を表す模式的ブロック図である。 第1実施形態の第3変形例に係る学習システムによる処理を説明するための図である。 第2実施形態に係る分析システムの構成を表す模式的ブロック図である。 第2実施形態に係る分析システムによる処理を説明するための図である。 第2実施形態に係る分析システムによる処理を説明するための図である。 第2実施形態に係る分析システムによる処理を説明するための図である。 第2実施形態に係る分析システムによる処理を説明するための図である。 第2実施形態に係る分析システムによる処理を表すフローチャートである。 システムのハードウェア構成を表すブロック図である。
以下に、本発明の各実施形態について図面を参照しつつ説明する。
本願明細書と各図において、既に説明したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
(第1実施形態)
図1は、第1実施形態に係る学習システムの構成を表す模式的ブロック図である。
図2~図6は、第1実施形態に係る学習システムによる処理を説明するための図である。
第1実施形態に係る学習システム100は、図1に表したように、処理装置10及び記憶装置20を備える。処理装置10は、第1生成部11、第2生成部12、第3生成部13、及び学習部14を有する。
第1生成部11は、第1画像を生成する。第1画像は、人体を模した3次元の仮想上の人体モデルを用いて生成される。この人体モデルの生成には、3次元のモデルデータを生成するためのソフトウェアが用いられる。ソフトウェアとしては、MakeHumanを用いることができる。第1画像は、例えば、人体モデルのレンダリングにより生成される。第1生成部11は、生成した第1画像を記憶装置20に記憶する。
第1画像を生成する際に、環境モデルがさらに用いられても良い。環境モデルは、後述する実空間上の人物が存在する環境を模して生成される。環境として、例えば、物品(設備、備品、製作物等)や、床、壁などが設定される。環境モデルを用いる場合、環境モデルと、環境モデル中に配された人体モデルと、をレンダリングすることで、第1画像が生成される。又は、人体モデルと環境モデルをそれぞれ別々にレンダリングし、それらを合成することで第1画像が生成されても良い。環境モデルとして、例えば、机を模した直方体、机上の器材又は製品を模した直方体、柱体、又は錐体などの3次元図形などを用いることができる。環境モデルの生成には、Blenderを用いることができる。例えば、MakeHumanにより生成した人体モデルを、Blenderのアプリケーション上で読み込み、さらにそのアプリケーション上で環境モデルを追加する。環境モデルの追加後に、人体モデル及び環境モデルをレンダリングすることで、第1画像を生成できる。
第1画像は、例えば、深度情報を含む深度画像である。深度画像では、各画素値が、基準位置から対象までの距離を示す。又は、第1画像の各画素値は、RGB色空間、HSV色空間、HSL色空間、グレースケールなどで表される色を示すものであっても良い。深度画像として第1画像を生成したときの例を、図2(a)に表す。グレースケールの第1画像を生成したときの例を、図2(b)に表す。ここでは、第1画像は、人体モデル91と、台92、物品93、床94a、及び壁94bを含む環境モデルと、を用いて生成されている。なお、図2(b)では、環境モデルを省略し、人体モデル91のみを用いたときの第1画像を例示している。また、これらの第1画像には、人体モデル及び環境モデルを上方から見たときの様子が表されている。
第2生成部12は、第1画像に含まれる人体モデルの各身体部位に印付けし、教師画像を生成する。例えば、人体モデルには、各身体部位を区別するための情報が付帯される。第2生成部12は、この情報に基づいて各身体部位に印付けする。印付けにより、画像上で各身体部位が区別可能になる。一例として、第1画像が上方から見た人体モデルを表す場合、教師画像では、頭、肩、上腕、前腕、及び手が互いに区別できるように異なる色が付される。第1画像が正面から人体モデルを表す場合、教師画像では、頭、首、肩、上腕、前腕、体幹、太腿、下腿、及び足が互いに区別できるように異なる色が付される。図2(c)は、図2(a)及び図2(b)に対応する色づけされた教師画像の一例である。
図2(c)の例では、人体モデル91の頭91a、左肩91b、左上腕91c、左前腕91d、左手91e、右肩91f、右上腕91g、右前腕91h、及び右手91iが写っている。
又は、第2生成部12は、印付けとして、各身体部位の重心を示しても良い。例えば、第2生成部12は、第1画像において、身体部位を示す領域ごとに重心を算出する。第2生成部12は、各身体部位の重心を第1画像に重ね、教師画像を生成する。又は、第2生成部12は、印付けとして、各身体部位に対応する関節を示しても良い。例えば、第2生成部12は、身体部位同士が接続されている箇所を関節と判定する。第2生成部12は、各身体部位に対応する関節を第1画像に重ね、教師画像を生成する。
第2生成部12は、身体部位の色付け、重心の特定、及び関節の特定の2つ以上を組み合わせて印付けを行っても良い。第2生成部12は、生成した教師画像を記憶装置20に記憶する。
記憶装置20は、ある時刻における各身体部位の位置を示した位置データを記憶していても良い。位置データは、実空間における人物の各身体部位の位置を直接的又は間接的に検出することで得られる。例えば、各身体部位の位置検出には、Noitom社のPERCEPTION NEURONなどのモーションキャプチャシステムを用いることができる。
以降では、簡便な説明のために、各身体部位の位置の組み合わせを「姿勢」ともいう。例えば、第1生成部11は、位置データを用いて第1画像を生成する。具体的には、第1生成部11は、人体モデルの各身体部位の位置を、位置データに合わせて設定する。すなわち、第1生成部11は、コンピュータ上の人体モデルに、実空間における人物と同じ姿勢をとらせる。第1生成部11は、姿勢を設定した人体モデルを用いて第1画像を生成する。また、第2生成部12は、その第1画像に含まれる人体モデルの各身体部位に印付けする。
例えば、記憶装置20は、複数の位置データを記憶している。複数の位置データは、それぞれ、互いに異なる複数の時刻における実空間上の人物の姿勢を示す。第1生成部11は、複数の位置データを用いて、人体モデルの姿勢を様々に変化させる。人体モデルの姿勢が設定されるたびに、第1生成部11及び第2生成部12は、その人体モデルを用いた第1画像及び教師画像を生成する。これにより、互いに異なる複数の第1画像と、複数の第1画像にそれぞれ対応する複数の教師画像と、が得られる。
上述した通り、第1画像は、人体モデルを用いて生成される。このため、第1画像には、画素値の乱れや画素の欠損などが無い。ここでは、画素値の乱れ、画素の欠損などの意図しない要素をノイズという。第3生成部13は、第1画像を用いて、ノイズを含む第2画像を生成する。例えば、第3生成部13は、以下の第1処理~第5処理から選択される少なくとも1つを実行し、第2画像を生成する。
第1処理では、第3生成部13は、第1画像の縁に沿って画素を欠損させる。図3(a)は、第1画像の一例である。図3(b)は、第1処理により生成された第2画像の一例である。この例では、右の縁に沿って画素が欠損されている。
例えば、第3生成部13は、以下の数式1~数式5に従って、第1画像にノイズを加える。
Figure 0007370777000001

Figure 0007370777000002

Figure 0007370777000003

Figure 0007370777000004

Figure 0007370777000005
数式1~5において、wは、画像の幅(横方向の画素数)を表す。hは、画像の高さ(縦方向の画素数)を表す。iは、画像の横方向の座標を表し、0以上w以下である。jは、画像の縦方向の座標を表し、0以上h以下である。Dinは、座標(i,j)の画素値を表す。Cは、数式2~5に表したCleft、Cright、Ctop、及びCdownからランダムに選択される1つである。δ及びδは、第1処理が実行されるたびに、ランダムに決定される。δとして使用される値の範囲及びδとして使用される値の範囲は、予め設定される。例えば、δは、20以上50以下の値からランダムに決定される。δは、0以上15以下の値からランダムに決定される。
δ及びδは、予め設定される。δ及びδを調整することで、欠損する領域の幅を制御できる。DMPA1(i,j,Din)は、画像の右辺、左辺、上辺、及び下辺からランダムに選択された1つの縁に沿って、画素値をゼロにする(画素を欠損させる)ことを表している。
第1画像において人体モデルが縁の近くに位置しているとき、第3生成部13は、人体モデルを示す領域の一部を欠損させても良い。又は、第1画像上で人体モデルを示す領域が既知であるとき、第3生成部13は、人体モデルを示す領域が欠損しないように第1処理を実行しても良い。
第2処理では、第3生成部13は、第1画像に含まれる輪郭に沿って画素を欠損させる。まず、第3生成部13は、第1画像に含まれる輪郭を検出する。輪郭の抽出には、一次微分フィルタを用いることができる。第3生成部13は、輪郭に沿ってランダムに画素を欠損させる。すなわち、輪郭の一部分で画素を欠損させ、輪郭の他の部分では画素を欠損させない。画素の欠損の対象となる輪郭には、人体モデルの輪郭だけでなく環境モデルの輪郭が含まれても良い。人体モデルをレンダリングして第1画像を生成する際に、人体モデルの輪郭を示す情報が記憶装置20に記憶されても良い。この場合、第3生成部13は、輪郭を抽出せずに、情報が示す人体モデルの輪郭に沿ってランダムに画素を欠損させても良い。
具体的な一例として、第3生成部13は、輪郭上に、均一に分散したN個の円を生成する。Nは、予め設定される。例えば、Nは、30に設定される。円の位置は、ランダムに決定される。各円の径rは、均一である。径rは、ランダムに決定される。rとして使用される値の範囲は、予め設定される。例えば、rは、0以上20以下の値からランダムに決定される。第3生成部13は、以下の数式6に表したように、円の内側の画素値を0にする。
Figure 0007370777000006
第3処理では、第3生成部13は、第1画像の各画素値にばらつきを加える。例えば、第1画像が画素値として深度情報を含むとき、第3生成部13は、少なくとも一部の画素の深度にばらつきを加える。
第4処理では、第3生成部13は、第1画像に図形を加える。図形の形、大きさ、深度(又は色)などは、実空間上の環境に応じて適宜設定される。例えば、第3生成部13は、少なくとも1つの四角形を第1画像に追加して第2画像を生成する。第3生成部13は、四角以外の多角形、円形、楕円形、アニュラスなどを追加しても良い。
具体的な一例として、第3処理は、以下の数式7及び8に従って実行される。第4処理は、以下の数式7及び9に従って実行される。
Figure 0007370777000007

Figure 0007370777000008

Figure 0007370777000009
(i,j)は、数式8又は9を表す。すなわち、第3処理を実行する際は、数式7のf(i,j)に、数式8で得られた値が代入される。第4処理を実行する際は、数式7のf(i,j)に、数式9で得られた値が代入される。
数式8のαは、-1以上1以下の値であり、ランダムに決定される。Dは、ばらつきの最大値を表す。数式7及び8により、画素ごとに、ばらつきの最大値に、-1以上1以下の値を乗じた値が加えられる。
数式9のDは、第1画像内に追加された図形の深度を表す。例えば、図形の形、幅、高さ、数は予め設定される。第3生成部13は、各図形の中心をランダムに均一に分散させて決定する。
図4(a)は、第1処理が実行され、下辺に沿って画素が欠損された第2画像の一例である。図4(b)は、図4(a)の画像にさらに第4処理を実行して生成された第2画像の一例である。図4(a)の例では、第1画像に、人体モデル91、台92、物品93、及び床94が含まれている。第2画像では、これらの要素に、図形95a及び95bが追加されている。
第5処理では、第3生成部13は、第1画像に含まれる人体モデルの周囲に、実空間で撮影された画像を合成する。例えば、第3生成部13は、人体モデルをレンダリングして画像を生成すると、実空間で撮影された画像上に人体モデルの画像を重ね合わせる。これにより、第2画像が生成される。実空間で撮影された画像では、各画素値にばらつきが存在する。第5処理により、人体モデルの周囲の画素値がばらついた第2画像が生成される。
図5(a)は、人体モデルをレンダリングして得られた第1画像の一例である。図5(b)は、実空間で撮影された画像の一例である。この例では、図5(b)の画像には、台92が写っている。また、図5(b)の画像の外周では、画像が乱れていることが分かる。図6は、図5(a)及び図5(b)に表した画像を合成して得られる第2画像の一例である。図6に表したように、合成により、ノイズが加わった人体モデルの画像が得られる。
第3生成部13は、生成した第2画像を記憶装置20に記憶する。第1生成部11が複数の第1画像を生成する場合、第3生成部13は、それぞれの第1画像に対して第2画像を生成する。
学習部14は、第1画像に基づく第2画像を入力データとし、第1画像に対応する教師画像を教師データとして用いて、第1モデルを学習させる。第1モデルは、例えばニューラルネットワークを含む。第1モデルは、決定木(Decision Tree)又はランダムフォレスト(Random Forest)を含んでも良い。複数の第2画像及び複数の教師画像が生成されるときは、互いに対応する第2画像と教師画像の組を順次用いて第1モデルを学習させる。
これにより、第1モデルは、人物が撮影された画像が入力された際に、その人物の各部がどの身体部位に対応するか印付けされた結果を出力するように学習される。すなわち、第1モデルは、セマンティックセグメンテーションを実行するように学習される。学習部14は、学習させた第1モデルを記憶装置20に記憶する。
図7は、第1実施形態に係る学習システムで用いられるニューラルネットワークを例示する模式図である。
図8は、第1実施形態に係る学習システムで用いられるニューラルネットワークの一部を例示する模式図である。
第1モデルは、好ましくはニューラルネットワークを含む。ニューラルネットワークを用いることで、身体部位への印付けの精度を向上させることができる。ニューラルネットワークの構成は、任意である。画像の特徴をより精度良く抽出するためには、ニューラルネットワークは、畳込み層を含むことが好ましい。ここでは、特に好ましいニューラルネットワークの構成の一例を説明する。
図7に表したニューラルネットワーク900は、エンコーダパス910及びデコーダパス920を含む。エンコーダパス910の少なくとも一部では、データの畳込み処理及びプーリング処理の少なくともいずれかが実行され、データが縮小される。デコーダパス920の少なくとも一部では、データが拡大される。
具体的には、エンコーダパス910は、ブロック911~915を含む。デコーダパス920は、ブロック921~924を含む。例えば、ブロック912~915及び921~924のそれぞれは、複数のサブブロックを含む。
図7の例では、ブロック911において、幅7×高さ7の畳込み処理7cが実行される。例えば、入力画像941のデータサイズが幅425画素×高さ513画素のとき、ブロック911において、入力画像941は、幅213×高さ257の特徴量マップへ縮小される。例えば、ブロック911は、幅213×高さ257×厚み1のカーネルを64個含む。ブロック911は、幅213×高さ257の特徴量マップを64個出力する(保有する。ブロック911から出力された特徴量マップは、ブロック912へ入力されるとともに、ブロック921へ入力される。
ブロック912は、サブブロック912a~912dを含む。ブロック911から出力された特徴量マップに対して、サブブロック912aにおいてプーリング処理pが実行される。これにより、特徴量マップのサイズは、幅54×高さ66へさらに縮小される。
ニューラルネットワーク900では、エンコーダパス910は、残差ブロックを含む。残差ブロックでは、所定の演算処理が実行される。演算処理では、残差ブロックで実行された畳込み処理の出力結果である特徴量マップと、残差ブロックへ入力された特徴量マップと、を用いた演算が実行される。演算は、加算などである。例えば図8に表したように、残差ブロックに、特徴量マップINが入力されると、畳込み処理3cが複数回実行される。畳込みされた特徴量マップと、未処理の特徴量マップINと、が演算され、特徴量マップOUTが出力される。
図7の例では、ブロック912のサブブロック912b~912d、ブロック913のサブブロック913a~913d、ブロック914のサブブロック914a~914f、及びブロック915のサブブロック915a~915cが残差ブロックとして機能する。
例えば、図7に表したように、ブロック913には、それぞれが残差ブロックとして機能する4つのサブブロック913a~913dが設けられている。これらのサブブロックでは、畳込みに用いるカーネル数が512個あり、512個の特徴量マップが出力される。同様にブロック914には、それぞれが残差ブロックとして機能する6つのサブブロック914a~914fが設けられている。これらのサブブロックは、1024個のカーネルを用いて1024個の特徴量マップを出力する。ブロック915には、それぞれが残差ブロックとして機能する3つのサブブロック915a~915cが設けられている。これらのサブブロックは、2048個のカーネルを用いて2048個の特徴量マップを出力する。また、ブロック915は、幅3×高さ3の畳込み処理3cを実行するサブブロック915dをさらに含む。
ブロック912~915では、特徴量マップの縮小又は拡大は実行されない。従って、各残差ブロックへ入力される各特徴量マップのサイズ、各残差ブロックから出力される各特徴量マップのサイズ、及び残差ブロック同士の間で出力される各特徴量マップのサイズは、互いに同じである。
ブロック912から出力された特徴量マップは、ブロック913へ入力されるとともに、ブロック922へ入力される。ブロック913から出力された特徴量マップは、ブロック914へ入力されるとともに、ブロック923へ入力される。
ブロック924には、ブロック914から出力された特徴量マップと、ブロック915から出力された特徴量マップと、が入力される。具体的には、双方から出力される特徴量マップを重ね合わせて、以降の畳込み処理が実行される。例えば、ブロック924は、それぞれが畳込み処理3cを実行するサブブロック924a~924cを含む。サブブロック924aには、ブロック914から出力された幅54×高さ66の1024個の特徴量マップと、ブロック915から出力された幅54×高さ66の2048個の特徴量マップと、が入力される。サブブロック924aは、これらの特徴量マップを処理するために、幅3×高さ3×厚み3072のカーネルを、2048個有する。畳込み処理3cが実行されるとき、ブロック924から出力される各特徴量マップのサイズが、ブロック924へ入力された各特徴量マップのサイズと同じになるように、例えばゼロパディングが適用される。
同様に、ブロック923には、ブロック913から出力された特徴量マップと、ブロック924から出力された特徴量マップと、が入力される。ブロック923は、ブロック924と同様に、ゼロパディングを適用した畳込み処理3cを実行するサブブロック923a~923cを含む。例えば、サブブロック923aは、ブロック913から出力された幅54×高さ66の512個の特徴量マップと、ブロック924から出力された幅54×高さ66の2048個の特徴量マップと、を処理するために、幅3×高さ3×厚み2560のカーネルを、1024個含む。
同様に、ブロック922は、ブロック912から出力された特徴量マップと、ブロック923から出力された特徴量マップと、にゼロパディングを適用した畳込み処理3cを実行するサブブロック922a及び922bを含む。例えば、サブブロック922aは、ブロック912から出力された幅54×高さ66の256個の特徴量マップと、ブロック923から出力された幅54×高さ66の1024個の特徴量マップと、を処理するために、幅3×高さ3×厚み1280のカーネルを、512個含む。
ブロック922は、サブブロック922bから出力された特徴量マップに対して、アップサンプリング処理uを実行するサブブロック922cをさらに含む。アップサンプリング処理uにより、各特徴量マップのサイズが幅213×高さ257へ拡大される。ブロック921には、ブロック911から出力された特徴量マップと、ブロック922から出力された特徴量マップと、が入力される。
ブロック921は、畳込み処理3cを実行するサブブロック921a及び921b、アップサンプリング処理uを実行するサブブロック921c、幅1×高さ1の畳込み処理1cを実行するサブブロック921d、及びバイリニア法を用いたアップサンプリング処理buを実行するサブブロック921eを含む。これらのサブブロックにおける処理によって、各特徴量マップのサイズが拡大される。これにより、入力画像のサイズと同じ幅425画素×高さ513画素の出力画像942が出力される。
エンコーダパス910によって特徴量マップのサイズが縮小されることで、画像の特徴が抽出される。また、デコーダパス920によって特徴量マップのサイズが拡大されることで、画像内の各特徴に対応した領域が抽出される。また、エンコーダパス910からデコーダパス920へ、縮小されていない特徴量マップが送られることで、画像に含まれる輪郭の特徴等の局所的な特徴を、劣化させずに直接デコーダパス920へ伝達できる。
また、残差ブロックを設けることで、勾配消失問題を抑制し、より深いネットワーク構成を有するエンコーダパス910を構成できる。これにより、画像から領域を抽出する際の精度を向上できる。つまり、頭、肩、上腕などの身体部位の領域をより高精度に特定できる。
図7では、各ブロックに含まれるサブブロックの数、及び各ブロックで処理される特徴量マップのサイズの一例を記載した。この例に限定されず、ブロックの数、各ブロックの構成、各ブロックにおけるサブブロックの数、及び処理される特徴量マップのサイズは、適宜変更可能である。
例えば、実施形態に係る学習システムで用いられるニューラルネットワークは、以下の構成を備えていれば良い。ニューラルネットワークは、入力画像のデータが縮小される第1ブロックを含む。図7の例では、第1ブロックは、畳込み処理7cが実行されるブロック911又はプーリング処理が実行されるサブブロック912aに対応する。
当該ニューラルネットワークは、第1ブロックから出力された特徴量マップが入力される第1残差ブロックをさらに含む。第1残差ブロックは、サブブロック912b~912d、913a~913d、及び914a~914fのいずれかに対応する。第1層から第1残差ブロックへは、別のブロックを介してデータが入力されても良い。
当該ニューラルネットワークは、第1残差ブロックから出力されたデータが入力される第2残差ブロックをさらに含む。第2残差ブロックから出力される特徴量マップのサイズは、第2残差ブロックに入力される特徴量マップのサイズ及び第1残差ブロックから出力される特徴量マップのサイズとそれぞれ同じである。第2残差ブロックは、サブブロック915a~915cのいずれかに対応する。第1残差ブロックから第2残差ブロックへは、別のブロックを介してデータが入力されても良い。
当該ニューラルネットワークは、第1残差ブロックから出力された特徴量マップと第2残差ブロックから出力された特徴量マップが入力される第2ブロックをさらに含む。第2ブロックは、サブブロック924a、923a、及び922aのいずれかに対応する。第2残差ブロックから第2ブロックへは、別のブロックを介してデータが入力されても良い。
当該ニューラルネットワークは、第1ブロックから出力された特徴量マップと第2ブロックから出力された特徴量マップが入力される第3ブロックをさらに含む。第3ブロックは、サブブロック921aに対応する。第2ブロックから第3ブロックへは、別のブロックを介してデータが入力されても良い。
当該ニューラルネットワークは、第3ブロックから出力された特徴量マップが入力される第4ブロックをさらに含む。第4ブロックでは、特徴量マップが拡大されて出力画像が出力される。第4ブロックは、ブロック921においてアップサンプリング処理buが実行されるサブブロック921eに対応する。第3ブロックから第4ブロックへは、別のブロックを介してデータが入力されても良い。
学習部14は、第2画像と教師画像を用いて、例えば図7に表したニューラルネットワーク900を含む第1モデル学習させる。
図9は、第1実施形態に係る学習システムによる処理を表すフローチャートである。
ここでは、複数の第2画像及び複数の教師画像を用いて第1モデルを学習させる場合について説明する。
第1生成部11は、人体モデルを用いて複数の第1画像を生成する(ステップS1)。複数の第1画像に写された人体モデルの姿勢は、互いに異なる。
第2生成部12は、複数の第1画像に各身体部位への印付けを行い、複数の第1画像にそれぞれ対応する複数の教師画像を生成する(ステップS2)。第3生成部13は、複数の第1画像に対して第1処理~第5処理の少なくともいずれかを実行し、複数の第2画像を生成する(ステップS3)。学習部14は、互いに対応する第2画像と教師画像の組を順次用いて第1モデルを学習させる(ステップS4)。
上述した学習システム100による処理の順序は、適宜変更可能である。例えば、ステップS3をステップS1とS2の間に実行しても良い。ステップS2とS3を並列して実行しても良い。又は、1つの第1画像を生成するたびに、その第1画像に対応する教師画像及び第2画像が生成され、第1モデルが学習されても良い。
第1実施形態の効果を説明する。
第1実施形態に係る学習システム100では、第1生成部11が、3次元の人体モデルを用いて第1画像を生成する。このため、人が写った学習用の画像を用意する際に、実空間における人物を撮影する手間が不要となる。
また、実際の撮影により画像を生成した場合、その画像に対応する教師画像の生成にも大きな労力を要する。例えば、人が画像を確認し、その画像に写された人物の各部がどの身体部位に対応するかを印付けしていく必要がある。特に、モデルを十分に学習させるためには、多くの学習データが必要となる。すなわち、多くの画像を撮影し、それぞれの画像を確認して印付けしていく必要がある。
これに対して、人体モデルには、各点がどの身体部位に対応するかを示す情報が付帯されている。この情報を参照することで、第1画像が生成された際に、第1画像に写された人体モデルの各部が、どの身体部位に対応するか容易に判別できる。第2生成部12は、この情報に基づき、容易に第1画像に対応する教師画像を生成できる。
このように、第1実施形態に係る学習システム100によれば、第1モデルの学習に必要なデータを容易に用意することが可能となる。
一方で、人体モデルを用いて画像を生成すると、以下の課題が生じる。
カメラ等の撮像装置を用いて実際に撮影を行った場合、画素値のばらつきや画素の欠損などが生じる。人体モデルを用いて画像を生成する場合、画素値のばらつき、画素の欠損は生じない。すなわち、人体モデルを用いた場合、実際の写真に比べて、過度に鮮明な画像が得られる。
学習された第1モデルは、画像に写る実空間上の人物の各身体部位を印付けするために用いられる。すなわち、学習された第1モデルには、ノイズを含む画像が入力される。第1モデルが過度に鮮明な画像を用いて学習されていると、ノイズの影響によって、入力された画像への印付けの精度が低下する。
この課題について、第1実施形態に係る学習システム100では、第3生成部13が、第1画像からノイズを含む第2画像を生成する。ノイズが加えられることで、人体モデルを用いて生成された第1画像が、実際に撮影された画像に近くなる。学習部14は、第2画像を用いて第1モデルを学習させる。これにより、画素値のばらつき、画素の欠損などのノイズが身体部位の印付けに及ぼす影響を低減し、第1モデルによる各身体部位の判定の精度を向上できる。
また、発明者の検討の結果、第2画像を生成する際に、上述した第1処理~第5処理の少なくともいずれかを実行することで、第1モデルによる各身体部位の判定の精度をさらに向上できることが分かった。
図10~図16は、第1実施形態に係る学習システムの効果を説明するための図である。
図10(a)は、第1モデルに入力される深度画像である。図10(a)の画像には、帽子を被った人物96が部品の組み立て作業を行っている様子が写されている。第1モデルは、図10(a)の画像に写された人物96の各身体部位に印付けを行う。図10(b)は、図10(a)の画像に対する理想的な印付けを表す。図10(a)に表した画像には、図10(b)に表したように、人物96の頭96a、左肩96b、左上腕96c、左前腕96d、左手96e、右肩96f、右上腕96g、右前腕96h、及び右手96iが写っている。
図11(a)及び図12(a)は、第1画像を用いて学習した第1モデルに、図10(a)の画像を入力したときの出力結果を表す。図11(b)は、第1処理の実行により得られた第2画像を用いて学習した第1モデルに、図10(a)の画像を入力したときの出力結果を表す。図12(b)は、第2処理の実行により得られた第2画像を用いて学習したモデルに、図10(a)の画像を入力したときの出力結果を表す。
図11(a)の出力結果では、人物96以外の領域の多くが、人物96の身体部位として誤って認識されている。また、人物96についても、頭96aと左肩96bは認識されているが、その他の身体部位についてはほとんど認識されていない。
図11(b)の出力結果では、人物96以外の領域について、身体部位として誤って認識された領域の面積が大きく減少している。すなわち、第1処理を用いることで、人物96以外の領域が身体部位として誤認識されることを大きく抑制できる。また、図11(b)の出力結果では、頭96aと左肩96bに加えて、左上腕96cの一部、左前腕96dの一部、及び右上腕96gも認識されている。
図12(b)の出力結果では、身体部位として誤認識された領域が、図12(a)の出力結果と同程度に存在する。一方で、人物96に関しては、頭96a及び左肩96bがより鮮明に認識されている。さらに、左上腕96c、左前腕96d、左手96eの一部、右上腕96g、及び右前腕96hも認識されている。すなわち、第2処理を用いることで、人物96の各身体部位の認識精度が大きく向上している。
図13(a)及び図14(a)は、第1処理及び第2処理の実行により得られた第2画像を用いて学習した第1モデルに、図10(a)の画像を入力したときの出力結果を表す。図11(b)、図12(b)、及び図13(a)の結果の比較から、第1処理と第2処理を組み合わせることで、人物96以外を身体部位として誤認識することが大きく抑制されるとともに、人物96の各身体部位の認識精度が大きく向上することが分かる。
図13(b)は、第1処理~第3処理の実行により得られた第2画像を用いて学習した第1モデルに、図10(a)の画像を入力したときの出力結果を表す。図14(b)は、第1処理、第2処理、及び第4処理の実行により得られた第2画像を用いて学習した第1モデルに、図10(a)の画像を入力したときの出力結果を表す。図13(a)と図13(b)の出力結果の比較、及び図14(a)と図14(b)の出力結果の比較から、第3処理又は第4処理をさらに用いることで、人物96以外を身体部位として誤認識することがほぼ無くなることが分かる。
図15は、部品の組み立て作業中の人物が写った画像を第1モデルに入力したときの認識精度を表す。図16は、検査作業中の人物が写った画像を第1モデルに入力したときの認識精度を表す。いずれの画像も、各人物を上方から撮影して得られた深度画像である。図15及び図16において、縦軸は、Intersection over Union(IOU)を表す。横軸は、第2画像を生成する際に用いた処理を表す。第1処理P1、第2処理P2、第3処理P3、及び第4処理P4の1つ以上が用いられている。「None」は、いずれの処理も実行せず、第1画像を用いて第1モデルを学習させたときの結果を表す。
図15及び図16では、各身体部位の認識精度及びその平均(Mean)が表されている。図15及び図16の結果から、第1処理~第4処理の少なくともいずれかを実行することで、認識精度の平均値が向上していることが分かる。特に、第1処理~第4処理の2つ以上を実行することで、認識精度の平均値が大きく向上していることが分かる。
また、第5処理は、上述した通り、第1画像に含まれる人体モデルの周囲に、実空間で撮影された画像を合成する。これにより、人体モデルの周囲に、画素のばらつき及び画素の欠損が加えられる。従って、第5処理の実行により、第2処理及び第3処理と同様の効果が得られると考えられる。また、実空間で撮影された画像に物品が写っている場合は、第4処理と同様の効果が期待できる。このため、第3生成部13は、第1処理~第5処理の2つ以上を実行して第2画像を生成することが好ましい。
上述した例では、主に深度画像を用いて第1モデルを学習させる例を説明した。この例に限らず、色画像を用いて第1モデルが学習されても良い。ただし、人物の身体部位の認識精度向上のためには、深度画像を用いることが好ましい。色画像を用いた場合、人物の着衣や肌、髪などの色が認識結果に影響を与える。このため、学習時に用いた人体モデルの色付けが、撮影された画像中の人物の色と異なると、認識精度が低下する。また、色情報を含む第1画像は、色を示す値を各画素に設定する必要がある。また、色は、実際の人物に似せて設定する必要がある。これに対して、深度情報を含む第1画像は、基準の面と人体モデルの各部との間の距離を画素値として設定することで、容易に生成できる。
また、上述した例では、人体モデル又は人物を上方から写した画像を用いる例を説明した。この例に限らず、人体モデル又は人物を正面、背面、又は側方から写した画像を用いても良い。ただし、実際の作業現場では、人物の周囲には、設備や備品などの物品が存在しうる。このため、実空間上の人物を正面、背面、又は側方から撮影した場合、人物の一部が物品で隠れてしまう可能性がある。上方から人物を撮影することで、人物が物品で隠れる可能性を低減できる。このため、人体モデル又は人物を上方から写した画像を用いることが望ましい。なお、実空間上で人物を撮影する際の撮像装置の位置は、人物の直上でなくても良い。例えば、人物の頭と撮像装置とを結ぶ線分と鉛直方向との傾きが45度以下であれば良い。
第1画像は、人体モデルのみに基づいて生成されても良いが、より好ましくは、環境モデルをさらに用いて生成される。実空間上の環境を模した環境モデルを用いて第1画像を生成し、その第1画像に基づく第2画像を学習に用いることで、人物の各身体部位とそれ以外の領域とが識別され易くなる。これにより、第1モデルによる各身体部位の認識精度をさらに向上させることができる。
(第1変形例)
図17は、第1実施形態の第1変形例に係る学習システムの構成を示す模式的ブロック図である。
第1変形例に係る学習システム110は、図17に表したように、検出器31及び処理装置32をさらに備える。検出器31は、実空間上の人物に装着され、その人物の動きを検出する。処理装置32は、検出された動きに基づいて、各身体部位の各時刻における位置を算出し、算出結果を記憶装置20に記憶する。
例えば、検出器31は、加速度センサ及び角速度センサの少なくともいずれかを含む。検出器31は、人物の各身体部位の加速度又は角速度を検出する。処理装置32は、加速度又は角速度の検出結果に基づいて、各身体部位の位置を算出する。
検出器31の数は、区別したい身体部位の数に応じて適宜選択される。例えば、図10~図14に表したように、上方から撮影した人物の頭、両肩、両上腕、両前腕、及び両手にそれぞれ印付けする場合、10個の検出器31が用いられる。10個の検出器を、それぞれ、実空間上の人物の各身体部位の安定して取り付けられる部分に取り付ける。例えば、比較的形状の変化が小さい、手の甲、前腕の中間部分、上腕の中間部分、肩、首の裏、頭の周囲に検出器をそれぞれ取り付け、これらの部位の位置データを取得する。
第1生成部11は、記憶装置20に記憶された各身体部位の位置データを参照し、人体モデルに、実空間上の人物と同じ姿勢をとらせる。第1生成部11は、姿勢を設定した人体モデルを用いて第1画像を生成する。例えば、検出器31を装着した人物が、実際の作業と同じ姿勢を取る。これにより、第1画像に写る人体モデルの姿勢が、実際の作業時の姿勢に近くなる。
この方法によれば、人体モデルの各身体部位の位置を人が指定する必要が無くなる。また、人体モデルの姿勢が、実際の作業時の人物の姿勢と全く異なる姿勢となることを回避できる。人体モデルの姿勢を実際の作業時の姿勢に近づけることで、第1モデルによる各身体部位への印付けの精度を向上させることができる。
(第2変形例)
第2変形例に係る学習システムは、第2生成部12が教師画像を生成する際の処理について、学習システム100と異なる。第2生成部12は、第1画像に写された人体モデルの各身体部位を印付けする際に、印として重心を付与する。このとき、第2生成部12は、人体モデルの各身体部位の3次元空間上の重心位置を算出する。
図18は、第1実施形態の第2変形例に係る学習システムによる処理を説明するための図である。
深度画像中のある領域の重心を計算する際、その領域の幅方向及び高さ方向における重心を計算する方法がある。この方法では、各画素の深度情報が重心の計算に用いられていない。例えば図18(a)に表したように、矢印A1の方向から見た人体モデル91を写した深度画像を生成し、その深度画像に写された人体モデルの頭の重心を計算する。重心の計算に深度情報が用いられないと、3次元での重心CGは、頭の表面に位置する。
別の方法として、深度画像中のある領域の重心を計算する際に、各画素の深度情報を用いる方法もある。しかし、深度画像では、一方向から見たときの人体しか写っていない。例えば、矢印A1の方向から見た人体モデル91を写した深度画像では、頭の上面は写っているが、後頭部や側頭部の下側、顎の下などは写っていない。このため、重心の深度は、図18(b)に表したように、実際の3次元上での深度よりも浅くなる。
これに対して、人体モデルを用いて3次元上の重心を算出した場合、画像における人体モデルの見え方等に拘わらず、真の重心の位置を算出できる。例えば図18(c)に表したように、頭の重心は、図18(a)及び図18(b)に表した重心よりも深くに位置する。
第1画像に写る人体モデルに対して、その各身体部位の3次元上の重心を示すことで、画像における身体部位の見え方に拘わらず、真の身体部位の座標及び深度を示すことができる。3次元上の重心を示した教師画像を用いて第1モデルを学習させることで、画像における実空間上の人物の見え方が身体部位の印付けに及ぼす影響を低減できる。従って、身体部位への印付けの精度を向上させることができる。
(第3変形例)
図19は、第1実施形態の第3変形例に係る学習システムの構成を示す模式的ブロック図である。
第3変形例に係る学習システム130は、図19に表したように、第3生成部13を有していない。
学習システム130では、第1生成部11は、人体モデルが見切れている第1画像を生成する。具体的には、第1生成部11は、所定の方向から見たときの人体モデルが写された第1画像を生成する際に、人体モデルの一部のみをレンダリングする。レンダリングする領域は、例えば、四角状に設定される。例えば、第1画像の一辺において人体モデルが見切れている場合、人体モデルのレンダリングされる部分と、レンダリングされない部分と、の境界は、直線状となる。第1画像の角において人体モデルが見切れていても良い。
図20は、第1実施形態の第3変形例に係る分析システムによる処理を説明するための図である。
図20(a)及び図20(b)は、第1生成部11により、人体モデルを用いて生成された第1画像を表す。図20(a)は、深度画像を表す。図20(b)は、色画像を表す。これらの画像では、人体モデル91が下辺で見切れている。第2生成部12は、図20(c)に表したように、図20(a)又は図20(b)の第1画像に対応する教師画像を生成する。
実空間上の人物を撮影した際、人物が見切れた画像が取得されることがある。この場合でも、画像に写った身体部位を精度良く認識できることが望ましい。人体モデルが見切れている第1画像を第1モデルの学習に用いることで、人物が見切れた画像が第1モデルに入力されたときでも、画像に写った身体部位の認識精度を向上させることができる。
又は、人物が見切れた第1画像を生成する代わりに、学習システム100において生成された第1画像に対して、人物が見切れるように第1処理が実行されても良い。生成された第2画像を用いて第1モデルを学習させることで、同様の効果を得ることができる。
(第2実施形態)
図21は、第2実施形態に係る分析システムの構成を表す模式的ブロック図である。
図22~図25は、第2実施形態に係る分析システムによる処理を説明するための図である。
第2実施形態に係る分析システム200は、第1実施形態に係る学習システムによって学習された第1モデルを用いて、分析を実行する。分析システム200は、図21に表したように、処理装置40を備える。図21の例では、分析システム200は、記憶装置20、撮像装置50、及び出力装置60をさらに備える。
撮像装置50は、実空間における作業中の人物(第1人物)を撮影し、画像を生成する。以降では、撮像装置50により撮影された作業中の人物を、作業者とも呼ぶ。撮像装置50は、静止画を取得しても良いし、動画を取得しても良い。動画を取得する場合、撮像装置50は、動画から静止画を切り出す。撮像装置50は、作業者が写った画像を記憶装置20に記憶する。
例えば、作業者は、所定の第1作業を繰り返し実行する。撮像装置50は、1回の第1作業の開始から終了までの間に、作業者を繰り返し撮影する。撮像装置50は、繰り返しの撮影により得られた複数の画像を記憶装置20に記憶する。
処理装置40は、取得部41、推定部42、算出部43、及び出力部44を有する。
取得部41は、記憶装置20にアクセスし、作業者が写った画像(入力画像)を第1モデルに入力する。第1モデルは、作業者の各身体部位が印付けされた画像(出力画像)を出力する。取得部41は、第1モデルから出力された画像を取得する。
推定部42は、取得部41によって取得された画像に基づき、入力画像に写る作業者の骨格情報を推定する。骨格情報は、各骨格の位置を含む。例えば、関節の位置が、骨格の位置として推定される。関節は、各身体部位同士の境界部分に設定される。複数の関節の位置に基づき、別の関節の位置が推定されても良い。関節に代えて、身体部位の重心が骨格として用いられても良い。又は、関節と重心を組み合わせて骨格として用いても良い。
一例として、取得部41は、学習済みの第1モデルに画像を入力し、図22(a)に表した画像を取得する。推定部42は、図22(a)に表した画像から、図22(b)に表したように、骨格情報を抽出する。この例では、頭の重心97a、左肩の重心97b、左肘97c、左手首97d、左手の重心97e、右肩の重心97f、右肘97g、右手首97h、右手の重心97i、及び背骨97jと、それらを結ぶ骨と、が推定されている。骨格情報として、重心の他に、身体部位の接合部分(関節)の座標が使用されても良い。
推定部42は、第1モデルによって印付けされた複数の画像から複数の骨格情報をそれぞれ推定する。これにより、第1作業を実行中の作業者の各時刻における骨格情報が得られる。
算出部43は、複数の骨格情報を用いて、時間の経過に伴う身体部位の動きを示す時系列データを生成する。例えば、算出部43は、各骨格情報から、頭の重心の位置を抽出する。算出部43は、骨格情報の基となった画像が取得された時刻に従って、頭の重心の位置を整理する。例えば、時刻と位置を紐づけて1レコードとするデータを作成し、複数のデータを時刻順にソートすることで、時間の経過に伴う頭の動きを示す時系列データが得られる。算出部43は、少なくとも1つの骨格について、時系列データを生成する。
なお、第1モデルによって、各身体部位の印付けとして関節又は重心が特定される場合、推定部42は設けられなくても良い。算出部43は、第1モデルによって印付けされた関節又は重心の位置を用いて、時系列データを生成しても良い。
算出部43は、生成した時系列データに基づいて、第1作業の周期を推定する。例えば、算出部43は、時系列データから、互いに類似する特徴的な点を抽出する。算出部43は、時間軸上で互いに隣り合う点同士の間の時間を、第1作業の周期とする。
出力部44は、算出された周期に基づく情報を外部へ出力する。例えば、出力される情報は、算出された周期を含む。又は、情報は、周期を用いた計算により得られた値を含んでも良い。出力部44は、周期に加えて、骨格の時系列データ、周期の計算に用いた各画像の時刻などをさらに出力しても良い。例えば、出力部44は、情報を出力装置60に出力させる。出力装置60は、モニタ、スピーカ、プリンタ、及びプロジェクタの少なくともいずれかを含む。出力部44は、情報を記憶装置20に記憶しても良い。又は、出力部44は、情報を含むファイルを、CSVなどの所定の形式で出力しても良い。出力部44は、FTP(File Transfer Protocol)などを用いて外部のサーバへデータを送信しても良い。又は、出力部44は、データベース通信を行い、ODBC(Open Database Connectivity)などを用いて外部のデータベースサーバへデータを挿入してもよい。
図23(a)、図23(b)、図24(b)、および図24(c)において、横軸は時間を表し、縦軸は鉛直方向における位置(深度)を表している。
図23(c)、図23(d)、図24(d)、および図25(a)において、横軸は時間を表し、縦軸は距離を表している。これらの図では、距離の値が大きいほど、2つの対象の間の距離が近く、相関が強いことを示している。
図24(a)および図25(b)は、横軸は時間を表し、縦軸はスカラー値を表している。
図23(a)は、算出部43により生成された時系列データの一例である。例えば図23(a)は、作業者の左手の動きを示す時間長Tの時系列データである。まず、算出部43は、図23(a)に表した時系列データから、時間長Xの部分データを抽出する。
時間長Xは、例えば、作業者又は分析システム200の管理者などによってあらかじめ設定される。時間長Xとしては、第1作業の大凡の周期に対応する値が設定される。時間長Tは、予め設定されても良いし、時間長Xに基づいて決定されても良い。例えば、取得部41は、時間長Tの間に撮影された複数の画像をそれぞれ第1モデルに入力する。推定部42は、それぞれの出力結果から骨格情報を推定する。算出部43は、それらの推定結果を用いて、時間長Tの時系列データを生成する。
算出部43は、部分データとは別に、時間長Tの時系列データから、時刻tからtまで、所定の時間間隔で時間長Xのデータを抽出する。具体的には、算出部43は、図23(b)の矢印で表すように、時系列データから、時間長Xのデータを、時刻tからtまで全体に亘って、例えば1フレームごとに抽出する。図23(b)では、抽出されるデータの一部の時間幅のみが矢印で表されている。以降では、図23(b)に表すステップによって抽出されたそれぞれの情報を、第1比較データと呼ぶ。
算出部43は、図23(a)に表すステップで抽出された部分データと、図23(b)に表すステップで抽出された各々の第1比較データと、の間の距離を順次計算する。算出部43は、例えば、部分データと第1比較データとの間のDTW(Dynamic Time Warping)距離を算出する。DTW距離を用いることで、繰り返される動きの時間の長短に拘わらず、相関の強度を求めることができる。この結果、それぞれの時刻における、部分データに対する時系列データの距離の情報が得られる。これを表したものが、図23(c)である。以降では、図23(c)に表す、各時刻における距離を含む情報を第1相関データと呼ぶ。
次に、算出部43は、作業者Mによる作業時間の周期を推定するために、時系列データにおける仮類似点の設定を行う。具体的には、算出部43は、図23(c)に表す第1相関データにおいて、時刻tから時間μが経過した後の時刻を基準として、ばらつき時間Nの範囲内に複数の候補点α~αをランダムに設定する。図23(c)に表す例では、3つの候補点がランダムに設定されている。時間μおよびばらつき時間Nは、例えば、作業者又は管理者などによって予め設定される。
算出部43は、ランダムに設定された候補点α~αのそれぞれにおいてピークを有する正規分布のデータを作成する。そして、それぞれの正規分布と、図23(c)に表す第1相関データと、の間の相互相関係数(第2相互相関係数)を求める。算出部43は、相互相関係数が最も高い候補点を、仮類似点として設定する。例えば、図23(c)に表した候補点αが仮類似点に設定されるとする。
算出部43は、仮類似点(候補点α)を基に、再度、時間μが経過した後の時刻を基準として、ばらつき時間Nの範囲内に複数の候補点α~αをランダムに設定する。このステップを、時刻tまで繰り返し行うことで、図23(d)に表すように、時刻t~tの間に、複数の仮類似点β~βが設定される。
算出部43は、図24(a)に表すように、それぞれの仮類似点β~βにピークを有する複数の正規分布を含んだデータを作成する。以降では、図24(a)に表す複数の正規分布を含む情報を第2比較データと呼ぶ。算出部43は、図23(c)および図23(d)に表す第1相関データと、図24(a)に表す第2比較データと、の間の相互相関係数(第1相互相関係数)を算出する。
算出部43は、図23(a)~図24(a)と同様のステップを、図24(b)~図24(d)、図25(a)、及び図25(b)に表すように、他の部分データに対して行う。図24(b)~図25(b)では、時刻t1以降の情報のみを表している。
例えば、算出部43は、図24(b)に表すように、時刻tからtまでの間の、時間長Xの部分データを抽出する。続いて、算出部43は、図24(c)に表すように、時間長Xの複数の第1比較データを抽出する。算出部43は、部分データと、それぞれの第1比較データと、の間の距離を計算することで、図24(d)に表すように、第1相関データを作成する。
算出部43は、図24(d)に表すように、時刻tから時間μが経過した後の時刻を基準として、複数の候補点α~αをランダムに設定し、仮類似点βを抽出する。これを繰り返すことで、図25(a)に表すように、複数の仮類似点β~βが設定される。そして、算出部43は、図25(b)に表すように、仮類似点β~βに基づく第2比較データを作成し、図24(d)および図25(a)に表す第1相関データと、図25(b)に表す第2比較データと、の間の相互相関係数を算出する。
算出部43は、上述したステップを、時刻t2以降も繰り返すことで、それぞれの部分データについて相互相関係数を算出する。その後、算出部43は、最も高い相互相関係数が得られた仮類似点β~βを、真の類似点として抽出する。算出部43は、真の類似点同士の時間間隔を算出することで、作業者の第1作業の周期を得る。算出部43は、例えば、時間軸上隣り合う真の類似点間の時間の平均を求め、この平均時間を第1作業の周期とすることができる。
ここでは、第2実施形態に係る分析システム200により、作業者の第1作業の周期を分析する例について説明した。第2実施形態に係る分析システム200の用途は、この例に限定されない。例えば、所定の動きを繰り返し行う人物に対して、その周期の分析に広く適用することが可能である。
図26は、第2実施形態に係る分析システムによる処理を表すフローチャートである。
撮像装置50は、人物を撮影し、画像を生成する(ステップS11)。取得部41は、画像を第1モデルに入力し(ステップS12)、第1モデルの出力結果を取得する(ステップS13)。推定部42は、出力結果から人物の骨格情報を推定する(ステップS14)。算出部43は、骨格情報を用いて、身体部位に関する時系列データを生成する(ステップS15)。算出部43は、時系列データに基づき、人物の動きの周期を算出する(ステップS16)。出力部44は、算出された周期に基づく情報を外部へ出力する(ステップS17)。
分析システム200によれば、繰り返し実行される所定の動きの周期を自動で分析できる。例えば、製造現場においては、作業者の第1作業の周期を自動的に分析できる。このため、作業者自身による記録や申告、業務改善のための技術者による作業の観察や周期の計測などが不要となる。作業の周期を容易に分析することが可能となる。また、分析結果が、分析する者の経験や知識、判断などに依らないため、周期をより高精度に求めることが可能となる。
また、分析システム200は、分析する際に、1実施形態に係る学習システムによって学習された第1モデルを用いる。この第1モデルによれば、撮影された人物の各身体部位により高精度に印付けできる。従って、分析時に第1モデルを用いることで、より正確な骨格情報を得ることができる。その骨格情報に基づいて周期を算出することで、周期の精度を向上させることができる。
図27は、システムのハードウェア構成を表すブロック図である。
例えば、第1実施形態に係る学習システム100の処理装置10は、コンピュータであり、ROM(Read Only Memory)10a、RAM(Random Access Memory)10b、CPU(Central Processing Unit)10c、およびHDD(Hard Disk Drive)10dを有する。
ROM10aは、コンピュータの動作を制御するプログラムを格納している。ROM10aには、コンピュータを、上述した第1生成部11、第2生成部12、第3生成部13、学習部14などとして機能させるために必要なプログラムが格納されている。
RAM10bは、ROM10aに格納されたプログラムが展開される記憶領域として機能する。CPU10cは、処理回路を含む。CPU10cは、ROM10aに格納された制御プログラムを読み込み、当該制御プログラムに従ってコンピュータの動作を制御する。また、CPU10cは、コンピュータの動作によって得られた様々なデータをRAM10bに展開する。HDD10dは、読み取りに必要な情報や、読み取りの過程で得られた情報を記憶する。HDD10dは、例えば、図1に表した記憶装置20として機能する。
処理装置10は、HDD10dに代えて、eMMC(embedded Multi Media Card)、SSD(Solid State Drive)、SSHD(Solid State Hybrid Drive)などを有していても良い。
処理装置10には、入力装置10e及び出力装置10fが接続されても良い。入力装置10eは、処理装置10へユーザが情報を入力するために用いられる。入力装置10eは、マウス、キーボード、マイク(音声入力)、及びタッチパッドの少なくともいずれかを含む。出力装置10fには、処理装置10から送信された情報が出力される。出力装置10fは、モニタ、スピーカ、プリンタ、及びプロジェクタの少なくともいずれかを含む。タッチパネルのように、入力装置10eと出力装置10fの両方の機能を備えた機器が用いられても良い。
また、学習システム110における処理装置32、分析システム200における処理装置40についても、図27と同様のハードウェア構成を適用できる。又は、学習システム110において、1つのコンピュータが処理装置10及び32として機能しても良い。分析システム200において、1つのコンピュータが処理装置10及び40として機能しても良い。学習システムと分析システムを組み合わせて実施する場合には、1つのコンピュータが処理装置10、32、及び40として機能しても良い。又は、処理装置10、32、及び40のそれぞれの処理及び機能は、より多くのコンピュータによって協働して実現されても良い。
以上で説明した実施形態に係る学習システム及び学習方法を用いることで、学習データの用意に要する手間を削減できるとともに、第1モデルによる印付けの精度を向上させることができる。また、コンピュータ(処理装置)を、学習システムとして動作させるためのプログラムを用いることで、同様の効果を得ることができる。
また、以上で説明した実施形態に係る分析システム及び分析方法を用いることで、人物の動きの周期をより高精度に求めることができる。コンピュータ(処理装置)を、分析システムとして動作させるためのプログラムを用いることで、同様の効果を得ることができる。
上記の種々のデータの処理は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク及びハードディスクなど)、光ディスク(CD-ROM、CD-R、CD-RW、DVD-ROM、DVD±R、DVD±RWなど)、半導体メモリ、または、他の記録媒体に記録されても良い。
例えば、記録媒体に記録された情報は、コンピュータ(または組み込みシステム)により読み出されることが可能である。記録媒体において、記録形式(記憶形式)は任意である。例えば、コンピュータは、記録媒体からプログラムを読み出し、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させる。コンピュータにおいて、プログラムの取得(または読み出し)は、ネットワークを通じて行われても良い。
以上、本発明のいくつかの実施形態を例示したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更などを行うことができる。これら実施形態やその変形例は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。また、前述の各実施形態は、相互に組み合わせて実施することができる。
10 処理装置、 11 第1生成部、 12 第2生成部、 13 第3生成部、 14 学習部、 20 記憶装置、 31 検出器、 32 処理装置、 40 処理装置、 41 取得部、 42 推定部、 43 算出部、 44 出力部、 50 撮像装置、 60 出力装置、 91 人体モデル、 92 台、 93 物品、 94a 床、 94b 壁、 95a,95b 図形、 96 人物、 100,110 学習システム、 200 分析システム、 900 ニューラルネットワーク、 CG 重心、 M 作業者

Claims (24)

  1. 人体を模した3次元の仮想の人体モデルを用いて第1画像を生成する第1生成部と、
    前記第1画像中の前記人体モデルのそれぞれの身体部位に印付けした教師画像を生成する第2生成部と、
    前記第1画像の横方向の画素数及び縦方向の画素数を取得し、前記横方向の縁から所定の範囲内及び前記縦方向の縁から所定の範囲内において、画素を欠損させる第1処理、
    前記人体モデルを用いて前記第1画像が生成された際の前記人体モデルの輪郭を示す情報を取得し、前記人体モデルの輪郭に沿って画素を欠損させる第2処理、及び
    前記第1画像に、予め設定された形、幅、高さ、及び数の図形を加える第4処理、
    から選択される少なくとも1つを前記第1画像に実行することで、ノイズを含む第2画像を生成する第3生成部と、
    前記第2画像及び前記教師画像を用いて、画像に写る人物の身体部位に印付けを行うように第1モデルを学習させる学習部と、
    を備えた学習システム。
  2. 前記第3生成部は、前記第1処理、前記第2処理、前記第1画像の画素値にばらつきを加える第3処理、前記第4処理、及び前記第1画像に含まれる前記人体モデルの周囲に、実空間を写した画像を合成する第5処理から選択される少なくとも2つを前記第1画像に実行することで、前記第2画像を生成する請求項1記載の学習システム。
  3. 人体を模した3次元の仮想の人体モデルを用いて、所定の方向から前記人体モデルを見たときの第1画像を生成し、前記第1画像は前記人体モデルの一部が見切れて写らないように生成される、第1生成部と、
    前記第1画像中の前記人体モデルのそれぞれの身体部位に印付けした教師画像を生成する第2生成部と、
    前記第1画像及び前記教師画像を用いて、画像に写る人物の各身体部位に印付けを行うように第1モデルを学習させる学習部と、
    を備えた学習システム。
  4. 前記第1モデルは、ニューラルネットワークを含み、
    前記ニューラルネットワークは、
    入力画像を縮小し、特徴量マップを出力する第1ブロックと、
    前記第1ブロックから出力された前記特徴量マップが入力される第1残差ブロックと、
    前記第1残差ブロックから出力された特徴量マップが入力され、入力された前記特徴量マップ及び前記第1残差ブロックから出力された前記特徴量マップと同じサイズの特徴量マップを出力する第2残差ブロックと、
    前記第1残差ブロックから出力された前記特徴量マップと前記第2残差ブロックから出力された前記特徴量マップが入力される第2ブロックと、
    前記第1ブロックから出力された前記特徴量マップと前記第2ブロックから出力された特徴量マップが入力される第3ブロックと
    前記第3ブロックから出力された特徴量マップを拡大して出力画像を出力する第4ブロックと、
    を含む、請求項1~3のいずれか1つに記載の学習システム。
  5. 前記第1画像は、深度情報を含む請求項1~4のいずれか1つに記載の学習システム。
  6. 人体を模した3次元の仮想の人体モデルを用いて、前記人体モデルの各点の深度情報を含む第1画像を生成する第1生成部と、
    前記人体モデルのそれぞれの身体部位の3次元上の重心を算出し、前記第1画像中の前記人体モデルのそれぞれの前記身体部位に重心を印付けした教師画像を生成する第2生成部と、
    前記第1画像にノイズを加えた第2画像を生成する第3生成部と、
    前記第2画像及び前記教師画像を用いて第1モデルを学習させる学習部と、
    を備えた学習システム。
  7. 前記第1生成部は、
    前記人体モデルのそれぞれの前記身体部位の位置を、実空間上の人物のそれぞれの身体部位の位置を示す位置データに合わせて設定し、
    それぞれの前記身体部位の位置を設定した前記人体モデルを用いて前記第1画像を生成する、
    請求項1~6のいずれか1つに記載の学習システム。
  8. 前記第1画像は、上方から写された前記人体モデルを含む請求項1~7のいずれか1つに記載の学習システム。
  9. 前記第1生成部は、実空間における環境を模した環境モデルをさらに用いて前記第1画像を生成する請求項1~8のいずれか1つに記載の学習システム。
  10. 請求項1~9のいずれか1つに記載の学習システムによって学習された前記第1モデルに、実空間上の第1人物を写した入力画像を入力し、前記第1人物の各身体部位が印付けされた出力画像を取得する取得部と、
    前記第1人物の各骨格の位置を示す骨格情報を前記出力画像に基づいて推定する推定部と、
    を備えた分析システム。
  11. 算出部をさらに備え、
    前記取得部は、第1作業における前記第1人物の動きを示す複数の前記入力画像を前記第1モデルに入力することで、複数の前記出力画像を取得し、
    前記算出部は、前記複数の出力画像に基づく複数の骨格情報を用いて、時間の経過に伴う前記身体部位の動きを示す時系列データを生成し、前記時系列データに基づき、前記第1人物による動きの周期を算出する請求項10記載の分析システム。
  12. 人体を模した3次元の仮想の人体モデルを用いて第1画像を生成し、
    前記第1画像中の前記人体モデルのそれぞれの身体部位に印付けした教師画像を生成し、
    前記第1画像の横方向の画素数及び縦方向の画素数を取得し、前記横方向の縁から所定の範囲内及び前記縦方向の縁から所定の範囲内において、画素を欠損させる第1処理、
    前記人体モデルを用いて前記第1画像が生成された際の前記人体モデルの輪郭を示す情報を取得し、前記人体モデルの輪郭に沿って画素を欠損させる第2処理、及び
    前記第1画像に、予め設定された形、幅、高さ、及び数の図形を加える第4処理、
    から選択される少なくとも1つを前記第1画像に実行することで、ノイズを含む第2画像を生成し、
    前記第2画像及び前記教師画像を用いて、画像に写る人物の身体部位に印付けを行うように第1モデルを学習させる学習方法。
  13. 人体を模した3次元の仮想の人体モデルを用いて、前記人体モデルの各点の深度情報を含む第1画像を生成し、
    前記人体モデルのそれぞれの身体部位の3次元上の重心を算出し、前記第1画像中の前記人体モデルのそれぞれの前記身体部位に重心を印付けした教師画像を生成し、
    前記第1画像にノイズを加えた第2画像を生成し、
    前記第2画像及び前記教師画像を用いて第1モデルを学習させる学習方法。
  14. 人体を模した3次元の仮想の人体モデルを用いて、所定の方向から前記人体モデルを見たときの第1画像を生成し、前記第1画像は前記人体モデルの一部が見切れて写らないように生成され
    前記第1画像中の前記人体モデルのそれぞれの身体部位に印付けした教師画像を生成し、
    前記第1画像及び前記教師画像を用いて、画像に写る人物の各身体部位に印付けを行うように第1モデルを学習させる学習方法。
  15. 前記人体モデルのそれぞれの前記身体部位の位置を、実空間上の人物のそれぞれの身体部位の位置を示す位置データに合わせて設定し、
    それぞれの前記身体部位の位置を設定した前記人体モデルを用いて前記第1画像を生成する請求項12~14のいずれか1つに記載の学習方法。
  16. 実空間における環境を模した環境モデルをさらに用いて前記第1画像を生成する請求項12~15のいずれか1つに記載の学習方法。
  17. 請求項12~16のいずれか1つに記載の学習方法によって学習された前記第1モデルに、実空間上の第1人物を写した入力画像を入力し、前記第1人物の各身体部位が印付けされた出力画像を取得し、
    前記第1人物の各骨格の位置を示す骨格情報を前記出力画像に基づいて推定する分析方法。
  18. コンピュータに、
    人体を模した3次元の仮想の人体モデルを用いて第1画像を生成させ、
    前記第1画像中の前記人体モデルのそれぞれの身体部位に印付けした教師画像を生成させ、
    前記第1画像の横方向の画素数及び縦方向の画素数を取得し、前記横方向の縁から所定の範囲内及び前記縦方向の縁から所定の範囲内において、画素を欠損させる第1処理、
    前記人体モデルを用いて前記第1画像が生成された際の前記人体モデルの輪郭を示す情報を取得し、前記人体モデルの輪郭に沿って画素を欠損させる第2処理、及び
    前記第1画像に、予め設定された形、幅、高さ、及び数の図形を加える第4処理、
    から選択される少なくとも1つを前記第1画像に実行させることで、ノイズを含む第2画像を生成させ、
    前記第2画像及び前記教師画像を用いて、画像に写る人物の身体部位に印付けを行うように第1モデルを学習させる、
    プログラム。
  19. コンピュータに、
    人体を模した3次元の仮想の人体モデルを用いて、前記人体モデルの各点の深度情報を含む第1画像を生成させ、
    前記人体モデルのそれぞれの身体部位の3次元上の重心を算出し、前記第1画像中の前記人体モデルのそれぞれの前記身体部位に重心を印付けした教師画像を生成させ、
    前記第1画像にノイズを加えた第2画像を生成させ、
    前記第2画像及び前記教師画像を用いて第1モデルを学習させる、
    プログラム。
  20. 前記コンピュータに、
    前記人体モデルのそれぞれの前記身体部位の位置を、実空間上の人物のそれぞれの身体部位の位置を示す位置データに合わせて設定させ、
    それぞれの前記身体部位の位置を設定した前記人体モデルを用いて前記第1画像を生成させる、
    請求項18又は19に記載のプログラム。
  21. 前記コンピュータに、実空間における環境を模した環境モデルをさらに用いて前記第1画像を生成させる請求項18~20のいずれか1つに記載のプログラム。
  22. 前記コンピュータに、
    学習済みの前記第1モデルに、実空間上の第1人物を写した入力画像を入力させて、前記第1人物の各身体部位が印付けされた出力画像を取得させ、
    前記第1人物の各骨格の位置を示す骨格情報を前記出力画像に基づいて推定させる
    請求項18~21のいずれか1つに記載のプログラム。
  23. 前記コンピュータに、
    第1作業における前記第1人物の動きを示す複数の前記入力画像を前記第1モデルに入力することで、複数の前記出力画像を取得させ、
    前記複数の出力画像から複数の前記骨格情報をそれぞれ推定させ、
    前記複数の骨格情報を用いて、時間の経過に伴う前記身体部位の動きを示す時系列データを生成させ、
    前記時系列データに基づき、前記第1人物による動きの周期を算出させる、
    請求項22記載のプログラム。
  24. 請求項18~23のいずれか1つに記載のプログラムを記憶した記憶媒体。
JP2019166910A 2019-09-13 2019-09-13 学習システム、分析システム、学習方法、分析方法、プログラム、及び記憶媒体 Active JP7370777B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019166910A JP7370777B2 (ja) 2019-09-13 2019-09-13 学習システム、分析システム、学習方法、分析方法、プログラム、及び記憶媒体
US17/015,843 US11676362B2 (en) 2019-09-13 2020-09-09 Training system and analysis system
PH12020050314A PH12020050314A1 (en) 2019-09-13 2020-09-11 Training system, analysis system, training method, analysis method, program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019166910A JP7370777B2 (ja) 2019-09-13 2019-09-13 学習システム、分析システム、学習方法、分析方法、プログラム、及び記憶媒体

Publications (2)

Publication Number Publication Date
JP2021043839A JP2021043839A (ja) 2021-03-18
JP7370777B2 true JP7370777B2 (ja) 2023-10-30

Family

ID=74863129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019166910A Active JP7370777B2 (ja) 2019-09-13 2019-09-13 学習システム、分析システム、学習方法、分析方法、プログラム、及び記憶媒体

Country Status (3)

Country Link
US (1) US11676362B2 (ja)
JP (1) JP7370777B2 (ja)
PH (1) PH12020050314A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020095428A (ja) * 2018-12-12 2020-06-18 株式会社東芝 モデル学習システム、モデル学習方法、プログラム、及び記憶媒体
WO2021192190A1 (ja) * 2020-03-27 2021-09-30 日本電気株式会社 人流予測システム、人流予測方法およびプログラム記録媒体
US20220198665A1 (en) * 2020-12-21 2022-06-23 Medtronic Navigation, Inc. Systems and methods for monitoring one or more anatomical elements
CN113610969B (zh) * 2021-08-24 2024-03-08 国网浙江省电力有限公司双创中心 一种三维人体模型生成方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013101527A (ja) 2011-11-09 2013-05-23 Sony Corp 情報処理装置、表示制御方法、およびプログラム
WO2017187641A1 (ja) 2016-04-28 2017-11-02 富士通株式会社 骨格推定装置、骨格推定方法および骨格推定プログラム
WO2019032481A1 (en) 2017-08-08 2019-02-14 Siemens Aktiengesellschaft GENERATING SYNTHESIS DEPTH IMAGES FROM CAD DATA USING GENERATIVE CONTRASICITY NEURAL NETWORKS FOR ENHANCED ENHANCEMENT
JP2019053626A (ja) 2017-09-19 2019-04-04 カシオ計算機株式会社 輪郭検出装置、描画装置、輪郭検出方法及び輪郭検出プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6596309B2 (ja) 2015-11-11 2019-10-23 株式会社東芝 分析装置および分析方法
JP6874207B2 (ja) * 2018-03-01 2021-05-19 株式会社ソニー・インタラクティブエンタテインメント 推定装置、推定方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013101527A (ja) 2011-11-09 2013-05-23 Sony Corp 情報処理装置、表示制御方法、およびプログラム
WO2017187641A1 (ja) 2016-04-28 2017-11-02 富士通株式会社 骨格推定装置、骨格推定方法および骨格推定プログラム
WO2019032481A1 (en) 2017-08-08 2019-02-14 Siemens Aktiengesellschaft GENERATING SYNTHESIS DEPTH IMAGES FROM CAD DATA USING GENERATIVE CONTRASICITY NEURAL NETWORKS FOR ENHANCED ENHANCEMENT
JP2019053626A (ja) 2017-09-19 2019-04-04 カシオ計算機株式会社 輪郭検出装置、描画装置、輪郭検出方法及び輪郭検出プログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Murilo M. Marinho et al.,Preliminary Evaluation of a Framework for Overhead Skeleton Tracking in Factory Environments using Kinect,iWOAR '17: Proceedings of the 4th International Workshop on Sensor-based Activity Recognition and Interaction,2017年09月22日
Qin Xiangxiang et al.,Automated Segmentation Based on Residual U-Net Model for MR Prostate Images,2018 11th International Congress on Image and Signal Processing, BioMedical Engineering and Informatics (CISP-BMEI),2018年10月15日,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8633233,IEL Online IEEE Xplore
増田 彬 外2名,天井設置型深度カメラを用いたテーブルトップシステム利用者の個人認証手法の提案,情報処理学会研究報告 Vol.2015-HCI-165 No.3 Vol.2015-UBI-48 No.3,2015年11月29日

Also Published As

Publication number Publication date
US11676362B2 (en) 2023-06-13
PH12020050314A1 (en) 2021-03-29
US20210081716A1 (en) 2021-03-18
JP2021043839A (ja) 2021-03-18

Similar Documents

Publication Publication Date Title
JP7370777B2 (ja) 学習システム、分析システム、学習方法、分析方法、プログラム、及び記憶媒体
JP4829141B2 (ja) 視線検出装置及びその方法
KR101519775B1 (ko) 오브젝트의 모션 인식 기반 애니메이션 생성 방법 및 장치
JP7480001B2 (ja) 学習装置、処理装置、学習方法、姿勢検出モデル、プログラム、及び記憶媒体
CN108140105A (zh) 具有脸部表情检测能力的头戴式显示器
Magnenat-Thalmann Modeling and simulating bodies and garments
JP7127650B2 (ja) 認識プログラム、認識方法および認識装置
CN110363867A (zh) 虚拟装扮***、方法、设备及介质
JP5526465B2 (ja) 爪位置データ検出装置及び爪位置データ検出方法、並びに爪位置データ検出プログラム
CN101071473A (zh) 检测特征点的设备及检测特征点的方法
Lang et al. Acquisition of elastic models for interactive simulation
JP7487057B2 (ja) 作業推定装置、方法およびプログラム
WO2022221249A1 (en) Video-based hand and ground reaction force determination
Singh et al. Development of a self reliant humanoid robot for sketch drawing
JP3932360B2 (ja) ランドマーク抽出装置およびランドマーク抽出方法
Plantard et al. Usability of corrected Kinect measurement for ergonomic evaluation in constrained environment
CN110008873B (zh) 面部表情捕捉方法、***及设备
JP7029253B2 (ja) 情報処理装置及びその方法
WO2023157230A1 (ja) 学習装置、処理装置、学習方法、姿勢検出モデル、プログラム、及び記憶媒体
JP5061808B2 (ja) 感情判定方法
JP4332669B2 (ja) 関節中心計測装置
JP7376446B2 (ja) 作業分析プログラム、および、作業分析装置
Rychlik et al. Numerical analysis of geometrical features of 3D biological objects, for three-dimensional biometric and anthropometric database
JP2022089591A (ja) 学習装置、分析装置、学習方法、プログラム、及び記憶媒体
Tian et al. Effecting validity of ergonomics analysis during virtual interactive design

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230404

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230601

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20230616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230802

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230919

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231018

R151 Written notification of patent or utility model registration

Ref document number: 7370777

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151