JP2023167320A - 学習モデル生成装置、関節点検出装置、学習モデル生成方法、関節点検出方法、及びプログラム - Google Patents
学習モデル生成装置、関節点検出装置、学習モデル生成方法、関節点検出方法、及びプログラム Download PDFInfo
- Publication number
- JP2023167320A JP2023167320A JP2022078407A JP2022078407A JP2023167320A JP 2023167320 A JP2023167320 A JP 2023167320A JP 2022078407 A JP2022078407 A JP 2022078407A JP 2022078407 A JP2022078407 A JP 2022078407A JP 2023167320 A JP2023167320 A JP 2023167320A
- Authority
- JP
- Japan
- Prior art keywords
- learning model
- joint point
- loss
- machine learning
- point coordinate
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims description 27
- 238000010801 machine learning Methods 0.000 claims abstract description 170
- 238000004364 calculation method Methods 0.000 claims abstract description 115
- 238000012549 training Methods 0.000 claims abstract description 90
- 230000010354 integration Effects 0.000 claims description 26
- 238000013528 artificial neural network Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 8
- 239000013598 vector Substances 0.000 description 33
- 238000010586 diagram Methods 0.000 description 30
- 210000000988 bone and bone Anatomy 0.000 description 13
- 238000012545 processing Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 210000000707 wrist Anatomy 0.000 description 3
- 210000003423 ankle Anatomy 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013434 data augmentation Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 210000002683 foot Anatomy 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Abstract
【課題】画像から関節点の3次元座標を検出する際の検出精度を向上させる。【解決手段】学習モデル生成装置10は、画像中の人の各関節点の2次元座標を特定可能な2次元関節点座標データと、各関節点の3次元座標を特定可能な3次元関節点座標データとを含む訓練データのうち、2次元関節点座標データを取得し、取得した2次元関節点座標データを機械学習モデルに入力する、データ取得部11と、2次元関節点座標データ毎に、機械学習モデルで算出された特徴量を取得し、特徴量間の距離を算出する、特徴量間距離算出部12と、3次元関節点座標データを用いて、訓練データの元となった人の体格間における類似度を算出する、類似度算出部13と、類似度と特徴量間の距離とを用いて特徴量についての損失を算出する、損失算出部14と、損失を用いて機械学習モデルのパラメータを更新する、学習モデル生成部15とを備えている。【選択図】図1
Description
本開示は、画像から人の関節点を検出するための学習モデルを生成する、学習モデル生成装置、及び学習モデル生成方法に関し、更には、これらを実現するためのプログラムに関する。また、本開示は、画像から人の関節点を検出する、関節点検出装置、及び関節点検出方法に関し、更には、これらを実現するためのプログラムに関する。
近年、2次元の画像から人の各関節の3次元座標を検出することによって、人の姿勢を推定する技術が開発されている(例えば、特許文献1参照)。このような技術は、画像監視システムの分野、スポーツの分野、ゲームの分野などでの利用が期待されている。また、このような技術において、人の各関節の3次元座標の検出には、学習モデルが用いられる。
学習モデルは、例えば、訓練データとして、画像中の人から抽出した関節の2次元座標(以下「2次元関節点座標」と表記する)と、この人の関節の3次元座標(以下「3次元関節点座標」)とを用いて、機械学習することによって構築される(例えば、非特許文献1参照)。訓練データにおいて、3次元関節点座標は、教師データに該当する。
また、機械学習は、学習モデルに、訓練データとなる2次元関節点座標を入力し、出力された3次元関節点座標と、教師データである3次元関節点座標との差分が小さくなるように、学習モデルのパラメータを更新することによって行われる。
Gregory Rogez, Cordelia Schmid, " MoCap-guided Data Augmentation for 3D Pose Estimation in the Wild", arXiv:1607.02046v2 [cs.CV], 28 Oct 2016, [令和3年11月1日検索],インターネット<URL:http:// https://arxiv.org/pdf/1607.02046.pdf>
ところで、学習モデルによる3次元関節点座標の検出精度を高めるためには、多くの訓練データ用意する必要があるが、学習モデルにおける機械学習は、訓練データが多様な体格の人から得られていたとしても、平均的な体格の場合の値を出力するように進行する。この結果、姿勢推定の対象となる人の背が、訓練データの取得元の人の背に比べて高い場合、又は低い場合に、検出精度が低下するという問題が生じる。
本開示の目的の一例は、画像から関節点の3次元座標を検出する際の検出精度を向上させることにある。
上記目的を達成するため、本開示の一側面における学習モデル生成装置は、
画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データと、前記人の前記複数の関節点それぞれの3次元座標を特定可能な3次元関節点座標データと、を含む訓練データのうち、前記2次元関節点座標データを取得し、取得した前記2次元関節点座標データを、機械学習モデルに入力する、データ取得部と、
前記2次元関節点座標データ毎に、前記機械学習モデルにおいて算出された特徴量を取得し、更に、取得した前記特徴量を用いて、特徴量間の距離を算出する、特徴量間距離算出部と、
前記訓練データである前記3次元関節点座標データを用いて、前記訓練データの元となった前記人の体格間における類似度を算出する、類似度算出部と、
算出された前記類似度と、算出された前記特徴量間の距離と、を用いて、前記機械学習モデルにおける特徴量についての損失を算出する、損失算出部と、
算出された前記損失を用いて、前記機械学習モデルのパラメータを更新する、学習モデル生成部と、
を備えている、ことを特徴とする。
画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データと、前記人の前記複数の関節点それぞれの3次元座標を特定可能な3次元関節点座標データと、を含む訓練データのうち、前記2次元関節点座標データを取得し、取得した前記2次元関節点座標データを、機械学習モデルに入力する、データ取得部と、
前記2次元関節点座標データ毎に、前記機械学習モデルにおいて算出された特徴量を取得し、更に、取得した前記特徴量を用いて、特徴量間の距離を算出する、特徴量間距離算出部と、
前記訓練データである前記3次元関節点座標データを用いて、前記訓練データの元となった前記人の体格間における類似度を算出する、類似度算出部と、
算出された前記類似度と、算出された前記特徴量間の距離と、を用いて、前記機械学習モデルにおける特徴量についての損失を算出する、損失算出部と、
算出された前記損失を用いて、前記機械学習モデルのパラメータを更新する、学習モデル生成部と、
を備えている、ことを特徴とする。
上記目的を達成するため、本開示の一側面における関節点検出装置は、
画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データを取得する、データ取得部と、
取得された前記2次元関節点座標データを、人の関節点の2次元座標と3次元座標との関係を機械学習している機械学習モデルに適用して、前記人の前記複数の関節点それぞれの3次元座標を検出する、関節点検出部と、
を備え、
前記機械学習モデルのパラメータは、
訓練データとなる、2次元関節点座標データと人の複数の関節点それぞれの3次元座標を特定可能な3次元関節点座標データとを用いた機械学習において、
当該機械学習モデルで算出された特徴量から得られた特徴量間の距離と、前記訓練データの元になった人の体格間における類似度と、から得られた、当該機械学習モデルにおける特徴量についての損失を用いて、更新されている、
ことを特徴とする。
画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データを取得する、データ取得部と、
取得された前記2次元関節点座標データを、人の関節点の2次元座標と3次元座標との関係を機械学習している機械学習モデルに適用して、前記人の前記複数の関節点それぞれの3次元座標を検出する、関節点検出部と、
を備え、
前記機械学習モデルのパラメータは、
訓練データとなる、2次元関節点座標データと人の複数の関節点それぞれの3次元座標を特定可能な3次元関節点座標データとを用いた機械学習において、
当該機械学習モデルで算出された特徴量から得られた特徴量間の距離と、前記訓練データの元になった人の体格間における類似度と、から得られた、当該機械学習モデルにおける特徴量についての損失を用いて、更新されている、
ことを特徴とする。
また、上記目的を達成するため、本開示の一側面における学習モデル生成方法は、
画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データと、前記人の前記複数の関節点それぞれの3次元座標を特定可能な3次元関節点座標データと、を含む訓練データのうち、前記2次元関節点座標データを取得し、取得した前記2次元関節点座標データを、機械学習モデルに入力する、データ取得ステップと、
前記2次元関節点座標データ毎に、前記機械学習モデルにおいて算出された特徴量を取得し、更に、取得した前記特徴量を用いて、特徴量間の距離を算出する、特徴量間距離算出ステップと、
前記訓練データである前記3次元関節点座標データを用いて、前記訓練データの元となった前記人の体格間における類似度を算出する、類似度算出ステップと、
算出された前記類似度と、算出された前記特徴量間の距離と、を用いて、前記機械学習モデルにおける特徴量についての損失を算出する、損失算出ステップと、
算出された前記損失を用いて、前記機械学習モデルのパラメータを更新する、学習モデル生成ステップと、
を有する、ことを特徴とする。
画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データと、前記人の前記複数の関節点それぞれの3次元座標を特定可能な3次元関節点座標データと、を含む訓練データのうち、前記2次元関節点座標データを取得し、取得した前記2次元関節点座標データを、機械学習モデルに入力する、データ取得ステップと、
前記2次元関節点座標データ毎に、前記機械学習モデルにおいて算出された特徴量を取得し、更に、取得した前記特徴量を用いて、特徴量間の距離を算出する、特徴量間距離算出ステップと、
前記訓練データである前記3次元関節点座標データを用いて、前記訓練データの元となった前記人の体格間における類似度を算出する、類似度算出ステップと、
算出された前記類似度と、算出された前記特徴量間の距離と、を用いて、前記機械学習モデルにおける特徴量についての損失を算出する、損失算出ステップと、
算出された前記損失を用いて、前記機械学習モデルのパラメータを更新する、学習モデル生成ステップと、
を有する、ことを特徴とする。
更に、上記目的を達成するため、本開示の一側面におけるプログラムは、
コンピュータに、
画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データと、前記人の前記複数の関節点それぞれの3次元座標を特定可能な3次元関節点座標データと、を含む訓練データのうち、前記2次元関節点座標データを取得し、取得した前記2次元関節点座標データを、機械学習モデルに入力する、データ取得ステップと、
前記2次元関節点座標データ毎に、前記機械学習モデルにおいて算出された特徴量を取得し、更に、取得した前記特徴量を用いて、特徴量間の距離を算出する、特徴量間距離算出ステップと、
前記訓練データである前記3次元関節点座標データを用いて、前記訓練データの元となった前記人の体格間における類似度を算出する、類似度算出ステップと、
算出された前記類似度と、算出された前記特徴量間の距離と、を用いて、前記機械学習モデルにおける特徴量についての損失を算出する、損失算出ステップと、
算出された前記損失を用いて、前記機械学習モデルのパラメータを更新する、学習モデル生成ステップと、
を実行させる、ことを特徴とする。
コンピュータに、
画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データと、前記人の前記複数の関節点それぞれの3次元座標を特定可能な3次元関節点座標データと、を含む訓練データのうち、前記2次元関節点座標データを取得し、取得した前記2次元関節点座標データを、機械学習モデルに入力する、データ取得ステップと、
前記2次元関節点座標データ毎に、前記機械学習モデルにおいて算出された特徴量を取得し、更に、取得した前記特徴量を用いて、特徴量間の距離を算出する、特徴量間距離算出ステップと、
前記訓練データである前記3次元関節点座標データを用いて、前記訓練データの元となった前記人の体格間における類似度を算出する、類似度算出ステップと、
算出された前記類似度と、算出された前記特徴量間の距離と、を用いて、前記機械学習モデルにおける特徴量についての損失を算出する、損失算出ステップと、
算出された前記損失を用いて、前記機械学習モデルのパラメータを更新する、学習モデル生成ステップと、
を実行させる、ことを特徴とする。
以上のように本開示によれば、画像から関節点の3次元座標を検出する際の検出精度を向上させることができる。
(実施の形態1)
以下、実施の形態1における学習モデル生成装置、学習モデル生成方法、及びプログラムについて、図1~図5を参照しながら説明する。
以下、実施の形態1における学習モデル生成装置、学習モデル生成方法、及びプログラムについて、図1~図5を参照しながら説明する。
[装置構成]
最初に、実施の形態1における学習モデル生成装置の概略構成について図1を用いて説明する。図1は、実施の形態1における学習モデル生成装置の概略構成を示す構成図である。
最初に、実施の形態1における学習モデル生成装置の概略構成について図1を用いて説明する。図1は、実施の形態1における学習モデル生成装置の概略構成を示す構成図である。
図1に示す、実施の形態1における学習モデル生成装置10は、人の2次元の画像における関節点の2次元座標から人の関節点の3次元座標を推定するための機械学習モデルを生成するための装置である。
図1に示すように、学習モデル生成装置10は、データ取得部11と、特徴量間距離算出部12と、類似度算出部13と、損失算出部14と、学習モデル生成部15と、を備えている。
データ取得部11は、画像中の人の2次元関節点座標データと、3次元関節点座標データとを含む訓練データのうち、2次元関節点座標データを取得し、取得した前記2次元関節点座標データを、機械学習モデルに入力する。機械学習モデルは、2次元関節点座標データが入力されると、入力された2次元関節点座標データに応じて、3次元関節点座標データを出力するモデルである。
2次元関節点座標データは、画像中の人の複数の関節点それぞれの2次元座標を特定可能なデータである。3次元関節点座標データは、人の複数の関節点それぞれの3次元座標を特定可能なデータであり、教師データとなる。
特徴量間距離算出部12は、2次元関節点座標データ毎に、機械学習モデルにおいて算出された特徴量を取得し、更に、取得した2次元関節点座標データ毎の特徴量を用いて、特徴量間の距離を算出する。類似度算出部13は、訓練データである3次元関節点座標データを用いて、訓練データの元となった人の体格間における類似度を算出する。
損失算出部14は、類似度算出部13が算出した類似度と、特徴量間距離算出部12が算出した特徴量間の距離と、を用いて、機械学習モデルにおける特徴量についての損失を算出する。学習モデル生成部15は、損失算出部14が算出した損失を用いて、機械学習モデル20のパラメータを更新する。
このように、実施の形態1では、訓練データの元になった人物の特徴量空間における差分と体格のバラツキとを反映した損失が算出され、この損失に基づいて、機械学習モデルのパラメータが更新される。このため、実施の形態1によって得られた機械学習モデルを用いれば、「姿勢推定の対象となる人物の背が、訓練データの取得元の人物の背に比べて高い場合、又は低い場合に、検出精度が低下する」という問題が解消される。つまり、実施の形態によれば、画像から関節点の3次元座標を検出する際の検出精度が向上する。
続いて、図2~図4を用いて、実施の形態1における学習モデル生成装置10の構成及び機能について具体的に説明する。図2は、実施の形態1における学習モデル生成装置の構成を具体的に示す構成図である。
図2に示すように、学習モデル生成装置10は、上述した、データ取得部11、特徴量間距離算出部12、類似度算出部13、損失算出部14、及び学習モデル生成部15に加えて、正解データ取得部16と、機械学習モデル20とを備えている。
機械学習モデル20は、実施の形態1では、ニューラルネットワーク、具体的には、DNN(Deep Newral Network)である。機械学習モデル20は、入力層と、隠れ層(中間層)と、出力層とを有する。機械学習モデル20は、実際には、コンピュータ上で実行される機械学習プログラムによって実装される。また、機械学習モデル20は、学習モデル生成装置10とは別の装置(コンピュータ)に実装されていても良い。
実施の形態1では、機械学習モデル20の訓練データとなる、2次元関節点座標データ及び3次元関節点座標データは、データベース30に格納されている。3次元関節点座標データは、教師データである。
ここで、2次元関節点座標データとしては、人物の画像と、画像上の各関節点の2次元座標の集合とが挙げられる。また、各関節点の2次元座標の集合の代わりに、各関節点が存在する可能性を表現するマップ、例えば、ヒートマップが用いられていても良い。
3次元関節点座標データは、教師データである。各3次元関節点座標データは、一つの2次元関節点座標データに対応している。また、3次元関節点座標データとしては、対応する2次元関節点座標データにおける、人物の各関節点の3次元座標の集合が挙げられる。
データ取得部11は、データベース30から、訓練データとして用意されている各2次元関節点座標データを取得し、取得した2次元関節点座標データそれぞれを、順に、機械学習モデル20に入力する。
特徴量間距離算出部12は、データ取得部11によって2次元関節点座標データが機械学習モデル20に入力される度に、機械学習モデル20において算出された特徴量、具体的には、機械学習モデル20の中間層の出力値(以下「中間特徴量」とも表記する)を取得する。
そして、特徴量間距離算出部12は、取得した中間特徴量それぞれが総当たりとなるように、2つの中間特徴量間の組合せを設定し、2つの中間特徴量の組合せ毎に、特徴量間距離を算出する。なお、2つの中間特徴量の組合せは、言い換えると、機械学習モデル20に入力された訓練データの元となった人物同士の組合せである。従って、特徴量間距離算出部12は、機械学習モデル20に入力された訓練データの元となった人物同士の組合せ毎に、特徴量間距離を算出している。なお、以降においては、「機械学習モデル20に入力された訓練データの元となった人物同士の組合せ」は、単に「人物同士の組合せ」とも表記する。
具体的には、特徴量間距離算出部12は、特徴量間距離として、2つの中間特徴量間の差分を算出する。ここで、例えば、人物Aの中間特徴量をfeaA、人物Bの中間特徴量をfeaBとすると、特徴量間距離は、「L2_norm( feaA - feaB )」と表される。
正解データ取得部16は、データベース30から、訓練データであり、且つ、教師データである、3次元関節点座標データを取得する。また、正解データ取得部16は、取得した各3次元関節点座標データを、類似度算出部13に渡す。
類似度算出部13は、受け取った3次元関節点座標データを用いて、機械学習モデル20に入力された訓練データの元となった人物同士の組合せ毎に、体格間における類似度を算出する。具体的には、類似度算出部13は、まず、人物毎に、3次元関節点座標データを用いて、骨の長さベクトルを算出し、更に、算出した骨の長さベクトルから「骨の長さの比ベクトル」を算出する。
図3は、実施の形態1で用いられる骨の長さベクトル及び骨の長さの比ベクトルの一例を示す図である。図3に示すように、骨の長さベクトルは、「右肩から右肘の長さ」、「右肘から右手首の長さ」、「右腰から右足首の長さ」、「左腰から左足首の長さ」等で構成されている。また、図3に示すように、各長さは、関節点間の座標値の差分から算出される。骨の長さの比ベクトルは、骨の長さベクトルを構成する各長さを、基準となる長さで除算することで算出される。
続いて、類似度算出部13は、訓練データの対象となった全人物の骨の長さ比ベクトルについて平均ベクトルを算出する。ここで、平均ベクトルは、「phymean」と表記する。更に、類似度算出部13は、人物毎に、その体格を表すベクトル(以下「体格ベクトル」と表記する)を算出する。例えば、人物Aの体格ベクトルを「phyA」、人物Bの体格ベクトルを「phyB」と表記すると、体格ベクトルは、下記の数1によって算出される。
続いて、類似度算出部は、人物毎の体格ベクトルを用いて、総当たりとなるように、機械学習モデル20に入力された訓練データの元となった人物同士の組合せ毎に、類似度、例えば、コサイン類似度(cos_sim(phyA, phyB))を算出する。なお、実施の形態1においては、類似度は、コサイン類似度に限定されず、例えば、ユークリッド距離が用いられていても良い。
損失算出部14は、実施の形態1では、類似度算出部13によって算出されたコサイン類似度(cos_sim(phyA, phyB))と、特徴量間距離算出部12によって算出された特徴量間距離(L2_norm( feaA - feaB ))とを用いて、機械学習モデル20における特徴量についての損失lossmを算出する。
具体的には、損失算出部14は、例えば、下記の数2を用いて、損失lossmを算出する。下記の数2において、i及びjは、機械学習モデル20に入力された訓練データの元になった人物を示すインデックスである。(i, j)は、機械学習モデル20に入力された訓練データの元となった人物同士の組合せ人物同士の組合せを示している。なお、(i, j)と(j, i)とは重複するため、下記の数2においては、どちらか一方についてのみ計算されている。また、損失算出部14は、別の数式を用いて、損失lossmを算出することもできる。
学習モデル生成部15は、損失算出部14によって算出される各損失losspが小さくなるように、機械学習モデル20であるDNNのパラメータを更新する。これにより、図4に示すように、DNNにおける特徴量空間においては、特徴量間の距離が、人物の体格に比例した距離となる。図4は、実施の形態1における機械学習モデルの生成を説明する図である。このようにしてパラメータが更新された結果、訓練データの基となった人物の体格に影響されることなく、関節点の3次元座標を正確に推定可能な、機械学習モデル20が生成されることになる。
[装置動作]
次に、実施の形態1における学習モデル生成装置10の動作について図5を用いて説明する。図5は、実施の形態1における学習モデル生成装置の動作を示すフロー図である。以下の説明においては、適宜図1~図4を参照する。また、実施の形態1では、学習モデル生成装置10を動作させることによって、学習モデル生成方法が実施される。よって、実施の形態1における学習モデル生成方法の説明は、以下の学習モデル生成装置10の動作説明に代える。
次に、実施の形態1における学習モデル生成装置10の動作について図5を用いて説明する。図5は、実施の形態1における学習モデル生成装置の動作を示すフロー図である。以下の説明においては、適宜図1~図4を参照する。また、実施の形態1では、学習モデル生成装置10を動作させることによって、学習モデル生成方法が実施される。よって、実施の形態1における学習モデル生成方法の説明は、以下の学習モデル生成装置10の動作説明に代える。
図5に示すように、最初に、データ取得部11は、訓練データとして用意されている人物毎の2次元関節点座標データを取得する(ステップA1)。次に、データ取得部11は、ステップA1で取得した2次元関節点座標データを、機械学習モデル20に入力する(ステップA2)。なお、ステップA1及びA2は、用意されている全ての訓練データについて行われていても良いし、設定数の訓練データのみについて行われていても良い。
次に、特徴量間距離算出部12は、ステップA2において、データ取得部11が2次元関節点座標データを機械学習モデル20に入力すると、機械学習モデル20において算出された中間特徴量を取得する(ステップA3)。ステップA2及びA3は、ステップA1で取得された2次元関節点座標データの数だけ、繰り返し実行される。
次に、特徴量間距離算出部12は、ステップA1で取得された全ての2次元関節点座標データについて中間特徴量が取得されると、2つの中間特徴量の組合せ毎に、特徴量間距離を算出する(ステップA4)。
次に、正解データ取得部16は、データベース30から、3次元関節点座標データを取得し、取得した各3次元関節点座標データを、類似度算出部13に渡す(ステップA5)。
次に、類似度算出部13は、受け取った3次元関節点座標データを用いて、機械学習モデル20に入力された訓練データの元となった人物同士の組合せ毎に、体格間における類似度を算出する(ステップA6)。
次に、損失算出部14は、類似度算出部13が算出した類似度と、特徴量間距離算出部12が算出した特徴量間の距離と、を用いて、上記数2を用いて、機械学習モデルにおける特徴量についての損失lossmを算出する(ステップA7)。
次に、学習モデル生成部15は、ステップA7で算出された損失lossmが小さくなるように、機械学習モデル20のパラメータを更新する(ステップA8)。
以上のように、実施の形態1によれば、訓練データの元になった人物の特徴量空間における差分と体格のバラツキとを反映した損失が算出され、この損失に基づいて、機械学習モデルのパラメータが更新される。このため、関節点の3次元座標を正確に推定可能な、機械学習モデル20が生成されることになる。実施の形態1によれば、「姿勢推定の対象となる人の背が、訓練データの取得元の人物の背に比べて高い場合、又は低い場合に、検出精度が低下する」という問題が解消され、画像から関節点の3次元座標を検出する際の検出精度が向上する。
[変形例]
続いて、実施の形態1における変形例について説明する。本変形例では、訓練データとなる人物について、SMPL(Skinned Multi-Person Linear)モデルが作成されている。SMPLモデルは、人物の身体の表面形状を特定可能なモデルであり、人物が太っているかどうかを示す形状ベクトルβを有している。形状ベクトルβは、身体の形状を示す10個のパラメータで構成されている。本変形例では、3次元関節点座標データには、形状ベクトルβが含まれる。
続いて、実施の形態1における変形例について説明する。本変形例では、訓練データとなる人物について、SMPL(Skinned Multi-Person Linear)モデルが作成されている。SMPLモデルは、人物の身体の表面形状を特定可能なモデルであり、人物が太っているかどうかを示す形状ベクトルβを有している。形状ベクトルβは、身体の形状を示す10個のパラメータで構成されている。本変形例では、3次元関節点座標データには、形状ベクトルβが含まれる。
このため、本変形例では、正解データ取得部16は、人物の3次元関節点座標データとして、形状ベクトルβを取得し、取得した形状ベクトルβを、類似度算出部13に渡す。この場合、類似度算出部13は、人物毎の形状ベクトルβを用いて、体格間における類似度を算出する。
また、SMPLモデルは、形状ベクトルβに加えて、関節点の3次元座標を示すパラメータも含まれている。従って、訓練データとなる人物についてSMPLモデルが作成されている場合は、正解データ取得部16は、各人物のSMPLモデルから、3次元関節点座標データを取得し、取得した各3次元関節点座標データを、類似度算出部13に渡す。
[プログラム]
実施の形態1におけるプログラムは、コンピュータに、図5に示すステップA1~A8を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、実施の形態1における学習モデル生成装置10と学習モデル生成方法とを実現することができる。この場合、コンピュータのプロセッサは、データ取得部11、特徴量間距離算出部12、類似度算出部13、損失算出部14、学習モデル生成部15、及び正解データ取得部16として機能し、処理を行なう。コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。また、コンピュータのプロセッサは、機械学習モデル20も構築する。
実施の形態1におけるプログラムは、コンピュータに、図5に示すステップA1~A8を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、実施の形態1における学習モデル生成装置10と学習モデル生成方法とを実現することができる。この場合、コンピュータのプロセッサは、データ取得部11、特徴量間距離算出部12、類似度算出部13、損失算出部14、学習モデル生成部15、及び正解データ取得部16として機能し、処理を行なう。コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。また、コンピュータのプロセッサは、機械学習モデル20も構築する。
また、実施の形態1におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、データ取得部11、特徴量間距離算出部12、類似度算出部13、損失算出部14、学習モデル生成部15、及び正解データ取得部16のいずれかとして機能しても良い。
(実施の形態2)
続いて、実施の形態2における学習モデル生成装置、学習モデル生成方法、及びプログラムについて、図6及び図7を参照しながら説明する。
続いて、実施の形態2における学習モデル生成装置、学習モデル生成方法、及びプログラムについて、図6及び図7を参照しながら説明する。
[装置構成]
最初に、実施の形態2における学習モデル生成装置の構成について図6を用いて説明する。図6は、実施の形態2における学習モデル生成装置の構成を示す構成図である。
最初に、実施の形態2における学習モデル生成装置の構成について図6を用いて説明する。図6は、実施の形態2における学習モデル生成装置の構成を示す構成図である。
図2に示す、実施の形態2における学習モデル生成装置40も、実施の形態1において図2に示した学習モデル生成装置10と同様に、機械学習モデル20を生成するための装置である。
また、図2に示すように、学習モデル生成装置40も、学習モデル生成装置10と同様に、データ取得部11と、特徴量間距離算出部12と、類似度算出部13と、損失算出部14と、学習モデル生成部15と、正解データ取得部16と、機械学習モデル20とを備えている。
但し、図2に示すように、学習モデル生成装置40は、学習モデル生成装置10と異なり、上記に加えて、損失統合部41と、第2の損失算出部42と、を備えている。以下、実施の形態1との相違点を中心に説明する。
第2の損失算出部42は、データ取得部11による2次元関節点座標データ(訓練データ)の入力に応じて機械学習モデル20が出力した3次元関節点座標データを取得する。そして、第2の損失算出部42は、機械学習モデル20が出力した3次元関節点座標データと、訓練データである3次元関節点座標データとを用いて、機械学習モデル20に入力された訓練データの元となった人物毎に、機械学習モデル20における出力についての損失を算出する。その後、第2の損失算出部42は、人物毎の損失を合計して、損失losspを算出する。
損失losspの算出処理は、下記の数3で表される。下記において3D_datamは、機械学習モデル20が出力した3次元関節点座標データであり、3D_datatは、訓練データである3次元関節点座標データである。iは、機械学習モデル20に入力された訓練データの元になった人物を示すインデックスである。
損失統合部41は、損失算出部14によって算出された特徴量についての損失lossmと第2の損失算出部42によって算出された、出力についての損失losspとを統合する。具体的には、損失統合部41は、下記の数4を用いて、特徴量についての損失lossmと出力についての損失losspとの加重平均を求めることによって、両者を統合して、最終的な損失Lossとする。下記の数4においてλは、加重平均における重み係数を表している。重み係数λの値は適宜設定される。
学習モデル生成部15は、実施の形態2では、統合によって得られた損失Lossを用いて、損失Lossが小さくなるように、機械学習モデル20であるDNNのパラメータを更新する。
[装置動作]
次に、実施の形態2における学習モデル生成装置40の動作について図7を用いて説明する。図7は、実施の形態2における学習モデル生成装置の動作を示すフロー図である。以下の説明においては、適宜図6を参照する。また、実施の形態2では、学習モデル生成装置40を動作させることによって、学習モデル生成方法が実施される。よって、実施の形態2における学習モデル生成方法の説明は、以下の学習モデル生成装置40の動作説明に代える。
次に、実施の形態2における学習モデル生成装置40の動作について図7を用いて説明する。図7は、実施の形態2における学習モデル生成装置の動作を示すフロー図である。以下の説明においては、適宜図6を参照する。また、実施の形態2では、学習モデル生成装置40を動作させることによって、学習モデル生成方法が実施される。よって、実施の形態2における学習モデル生成方法の説明は、以下の学習モデル生成装置40の動作説明に代える。
図7に示すように、最初に、データ取得部11は、訓練データとして用意されている人物毎の2次元関節点座標データを取得する(ステップB1)。次に、データ取得部11は、ステップB1で取得した2次元関節点座標データを、機械学習モデル20に入力する(ステップB2)。
次に、特徴量間距離算出部12は、ステップB2において、データ取得部11が2次元関節点座標データを機械学習モデル20に入力すると、機械学習モデル20において算出された中間特徴量を取得する(ステップB3)。ステップB2及びB3は、ステップB1で取得された2次元関節点座標データの数だけ、繰り返し実行される。
次に、特徴量間距離算出部12は、ステップB1で取得された全ての2次元関節点座標データについて中間特徴量が取得されると、2つの中間特徴量の組合せ毎に、特徴量間距離を算出する(ステップB4)。
次に、正解データ取得部16は、データベース30から、3次元関節点座標データを取得し、取得した各3次元関節点座標データを、類似度算出部13に渡す(ステップB5)。
次に、類似度算出部13は、受け取った3次元関節点座標データを用いて、機械学習モデル20に入力された訓練データの元となった人物同士の組合せ毎に、体格間における類似度を算出する(ステップB6)。
次に、損失算出部14は、類似度算出部13が算出した類似度と、特徴量間距離算出部12が算出した特徴量間の距離と、を用いて、上記数2を用いて、機械学習モデルにおける特徴量についての損失lossmを算出する(ステップB7)。なお、実施の形態2において、ステップB1~B7それぞれは、実施の形態1におけるステップA1~A7と同様のステップである。
次に、第2の損失算出部42は、ステップB3の入力に応じて機械学習モデル20の出力層が出力した3次元関節点座標データを取得する。更に、第2の損失算出部42は、上記数3を用いて、取得した3次元関節点座標データと、訓練データである3次元関節点座標データとを用いて、人物毎に、機械学習モデル20における出力についての損失を算出する。そして、第2の損失算出部42は、人物毎の損失を合計して、損失losspを算出する(ステップB8)。
次に、損失統合部41は、上記数4を用いて、ステップB7で算出された特徴量についての損失losspとステップB8で算出された出力についての損失losspとを統合して、最終的な損失Lossを算出する(ステップB9)。
その後、学習モデル生成部15は、ステップB9で算出された損失Lossが小さくなるように、機械学習モデル20のパラメータを更新する(ステップB10)。
以上のように、実施の形態2によっても、訓練データの元になった人物の特徴量空間における差分と体格のバラツキとを反映した損失が算出され、この損失に基づいて、機械学習モデルのパラメータが更新される。このため。実施の形態2においても、「姿勢推定の対象となる人の背が、訓練データの取得元の人物の背に比べて高い場合、又は低い場合に、検出精度が低下する」という問題が解消され、画像から関節点の3次元座標を検出する際の検出精度が向上する。また、実施の形態2によれば、機械学習モデル20の出力による損失も考慮されるので、検出精度がいっそう向上することになる。
[プログラム]
実施の形態2におけるプログラムは、コンピュータに、図7に示すステップB1~B10を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、実施の形態2における学習モデル生成装置10と学習モデル生成方法とを実現することができる。この場合、コンピュータのプロセッサは、データ取得部11、特徴量間距離算出部12、類似度算出部13、損失算出部14、学習モデル生成部15、正解データ取得部16、損失統合部41、及び第2の損失算出部42として機能し、処理を行なう。コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。また、コンピュータのプロセッサは、機械学習モデル20も構築する。
実施の形態2におけるプログラムは、コンピュータに、図7に示すステップB1~B10を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、実施の形態2における学習モデル生成装置10と学習モデル生成方法とを実現することができる。この場合、コンピュータのプロセッサは、データ取得部11、特徴量間距離算出部12、類似度算出部13、損失算出部14、学習モデル生成部15、正解データ取得部16、損失統合部41、及び第2の損失算出部42として機能し、処理を行なう。コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。また、コンピュータのプロセッサは、機械学習モデル20も構築する。
また、実施の形態2におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、データ取得部11、特徴量間距離算出部12、類似度算出部13、損失算出部14、学習モデル生成部15、正解データ取得部16、損失統合部41、及び第2の損失算出部42のいずれかとして機能しても良い。
(実施の形態3)
続いて、実施の形態3における学習モデル生成装置、学習モデル生成方法、及びプログラムについて、図8~図11を参照しながら説明する。
続いて、実施の形態3における学習モデル生成装置、学習モデル生成方法、及びプログラムについて、図8~図11を参照しながら説明する。
図8は、実施の形態3における学習モデル生成装置の構成を示す図である。図8に示すように、実施の形態3においては、学習モデル生成装置40に、データ拡張装置50が組み合わされている。なお、学習モデル生成装置40は、実施の形態2において図6に示したものと同様である。また、実施の形態3では、学習モデル生成装置40の代わりに、学習モデル生成装置10が用いられていても良い。以下においては、主にデータ拡張装置50について説明する。
図8に示すように、データ拡張装置50は、データ取得部51と、射影処理部52と、データ探索部53と、画像生成部54と、データベース70とを備えている。
データ取得部11は、図9に示す3次元ポーズ(3D pose)データセット60を取得する。図9は、実施の形態3で用いられる3次元ポーズデータの一例を示す図である。図9に示すように、3次元ポーズデータセット60は、1人の人の関節点61毎の3次元座標の集合で構成されている。また、3次元ポーズデータセットには、各関節点61を識別する識別データ(右手首、左手首、首等)も付与されている。
また、図9の例では、各関節点61の3次元座標は、カメラ座標系で表現されているが、座標系は特に限定されるものではない。各関節点61の3次元座標は、世界座標系であっても良い。なお、カメラ座標系は、カメラの位置を原点とする座標系である。カメラ座標系では、カメラの水平方向がx軸、垂直方向がy軸、光軸方向がz軸に設定される。z座標はカメラからの距離を表している。また、世界座標系は、実空間に任意に設定される座標系であり、カメラの足元の地面に原点が設定される。世界座標系では、鉛直方向がZ軸に設定される。
射影処理部52は、3次元ポーズデータセット60の全部又は特定の部位に含まれる関節点61(図9参照)それぞれを、2次元平面上、即ち、画像座標系に射影し、画像座標系における関節点61それぞれの射影座標(2次元座標)を生成する。画像座標系は、2次元の画像上での座標系であり、通常、左側の上の画素が原点に設定される。
データベース70は、予め、複数の組データ71を登録している。組データ71は人の3次元ポーズデータセットと、この3次元ポーズデータセットと同じポーズをしている人の2次元画像の画像データと、これらに対応するカメラパラメータと、を関連付けたデータである。
カメラパラメータとしては、関節点の3次元座標がカメラ座標系で表現されている場合は、内部パラメータが用いられ、関節点の3次元座標が世界座標系で表現されている場合は、内部パラメータと外部パラメータとが用いられる。なお、内部パラメータは、カメラ座標系と画像座標系とを結ぶ行列、焦点距離、光軸のズレ等で表される。外部パラメータは、世界座標系とカメラ座標系とを結ぶ行列、世界座標に対するカメラの位置、カメラの傾きで表される。
データ探索部53は、組データ毎に以下の処理を実行する。組データは、人の関節点それぞれの3次元座標の集合と、この人の2次元画像と、カメラパラメータとを、互いに関連付けたデータである。
データ探索部53は、まず、組データ毎に、内部パラメータを用いて、組データの3次元ポーズデータセットにおける全部又は特定の部位に含まれる各関節点の3次元座標について、画像座標系での、対応する2次元座標を特定する。
続いて、データ探索部53は、組データ毎に、3次元ポーズデータセットから生成された射影座標の集合と、特定した2次元座標の集合とが重なるように、対象データの3次元ポーズデータセットを操作する。そして、データ探索部13は、組データ毎に、操作後の3次元ポーズデータセットと、組データの3次元ポーズデータセットとの類似度を算出する。また、射影座標と2次元座標とが特定部位について得られている場合は、データ探索部13は、特定部位の3次元ポーズデータセットを用いて類似度を算出する。
具体的には、まず、重なった場合の条件として、例えば、組データ毎に、生成された射影座標の集合に含まれる2以上の関節点と特定した2次元座標の集合に含まれる2以上の関節点とが一致することが設定されているとする。データ探索部53は、条件が満たされるように、操作として、対象データ又は組データの3次元ポーズデータセット(3次元座標の集合)に対して、並進、回転、拡大、及び縮小のうち、いずれか又はこれらの組合せを行う。
そして、条件が満たされると、データ探索部53は、操作後の3次元座標における特定の関節点から別の関節点に向かう単位ベクトルと、組データの3次元座標における特定の関節点から別の関節点に向かう単位ベクトルとを求める。そして、データ探索部53は、求めた両者の単位ベクトルに基づいて、類似度を算出する。その後、データ探索部53は、組データ毎に算出した類似度に基づいて、最初に取得された3次元ポーズデータセットに対応する組データを特定する。
図10及び図11を用いて、データ探索部53による3次元ポーズデータセットの操作処理と類似度の算出処理について、より詳細に説明する。図10は、実施の形態3における3次元ポーズデータセットの操作処理を説明する説明図である。図11は、実施の形態3における類似度の算出処理を説明する説明図である。
まず、対象データの3次元ポーズデータセットをp(={p1,p2,・・・pn})、データベース70における組データの3次元ポーズデータセットをq(={q1,q2,・・・qn})とする。pn及びqnは、それぞれ関節点を示している。
図10に示すように、対象データにおいて、同一人物の2つの関節点pj及びpiを想定する。関節点pjと、関節点pjに骨で接続された関節点と、の集合をpAD,jとする。関節点pj及びpiは、3次元ポーズデータセットにおいては、pc
j及びpc
iと表記する。この関節点pc
j及びpc
iを画像座標系に射影して得られた関節点をpl
j及びpl
iと表記する。また、pl
i∈pl
AD,jは、pl
jから最も遠い関節点であるとする。
また、組データにおいても、対応する2つの関節点qj及びqiを想定し、これらと骨で接続された関節点の集合をqAD,jとする。関節点をqj及びqiは、3次元ポーズデータセットにおいては、qc
j及びqc
iと表記する。関節点qj及びqiに対応する画像座標系の関節点をql
j及びql
iと表記する。また、ql
i∈ql
AD,jは、ql
jから最も遠い関節点であるとする。
データ探索部53は、図9に示すように、画像座標系において、関節点pl
j及びpl
iが関節点ql
j及びql
iに一致するように、カメラ座標系において、3次元ポーズデータセットqcに対して、並進、回転、拡大、及び縮小のうち、いずれか又はこれらの組合せを実行する。また、この操作により、ql
j及びql
iを含む画像座標系の関節点も操作されることになる。操作後のql
j及びqc
jは、それぞれql’
j及びqc’
jで表される(図5参照)。
また、図9の例では、回転は、カメラ座標系のxy平面内でのみ行われる。拡大及び縮小は、カメラ座標系のx軸、y軸、z軸のいずれにおいても、同じ倍率で行われる。また、データ探索部13による操作に応じて、組データを構成する2次元画像Iに対しても、並進、回転、拡大、及び縮小のうち、いずれか又はこれらの組合せが行われる。操作後の2次元画像をI’とする。
データ探索部53は、操作後、図11に示すように、対象データにおいて、関節点pc
jからpc
k∈pC
AD,jに向かう単位ベクトルtjkを求め、組データにおいて、関節点qc’
jからqc’
k∈qC’
AD,jに向かう単位ベクトルsjkを求める。続いて、データ探索部13は、下記の数5を用いて、関節点pc
jを中心とした構造と、関節点qc’
jを中心とした構造と、の類似度Djを算出する。kは、pc
k∈pc
AD,jを満たす関節点のインデックスである。
なお、上記数5では、類似度としてコサイン類似度が用いられる。類似度としては、pc
k∈pC
AD,jとqc’
k∈qC’
AD,jとのユークリッド距離が用いられても良い。
データ探索部53は、データベース70に格納されている全ての組データについて、類似度Djを算出し、このうち、類似度Djが最大となる組データを特定する。なお、射影座標と2次元座標とが特定部位について得られている場合は、特定の部位のみが類似している組データが特定される。
画像生成部54は、特定の部位が類似している組データが特定されている場合は、上述した操作後の2次元画像I’の特定の部位(例えば左足、右足、右腕、等)を切り出すことで、パッチ画像を生成する。また、画像生成部14は、操作後の画像座標系での関節点ql’
jと、操作後の3次元ポーズデータセットの関節点qc’
jとを用いて、生成したパッチ画像に、対応する3次元ポーズデータセットの一部を割り当てる。そして、画像生成部14は、生成したパッチ画像を別の2次元画像(特定の部位が遮蔽されている人が映っている画像等)と合成して新たな2次元画像を生成する。このようにして得られた新たな2次元画像は、機械学習モデル20の訓練データとして、データベース30に格納される。
また、データ探索部53は、異なる部位毎に、類似度が最大となる組データを特定することができる。この場合は、画像生成部54は、部位毎にパッチ画像を生成し、更に、各部位のパッチ画像を背景画像に貼り付けて、新たに、1人の人の画像(新たな2次元画像)を生成する。このとき、画像生成部14は、各パッチ画像に対応する3次元ポーズデータセットも合成する。このようにして得られた新たな2次元画像と、合成後の3次元ポーズデータセットも、機械学習モデル20の訓練データとなる。
図12は、実施の形態3で作成された新たな2次元画像を模式的に示す図である。図12の例では、新たな2次元画像は、部位が異なる、パッチ画像62と、パッチ画像63と、パッチ画像64と、パッチ画像65と、背景画像66と、を合成することで作成されている。
このように、実施の形態3では、データ拡張装置50を用いて、新たな訓練データが作成される。このため、訓練データが少ないことによる問題点、例えば、検出精度の低下が抑制される。
(実施の形態4)
次に、実施の形態4においては、関節点検出装置、関節点検出方法、及びプログラムについて、図面を参照しながら説明する。
次に、実施の形態4においては、関節点検出装置、関節点検出方法、及びプログラムについて、図面を参照しながら説明する。
[装置構成]
最初に、実施の形態4における関節点検出装置の構成について図13を用いて説明する。図13は、実施の形態4における関節点検出装置の構成を示す構成図である。
最初に、実施の形態4における関節点検出装置の構成について図13を用いて説明する。図13は、実施の形態4における関節点検出装置の構成を示す構成図である。
図13に示すように、関節点検出装置80は、データ取得部81と、関節点検出部82とを備えている。また、関節点検出装置80は、機械学習モデル20も備えている。
データ取得部81は、画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データを取得する。データ取得部81によって取得される2次元関節点座標データは、各関節点の3次元座標の検出が求められる人の2次元関節点座標データである。2次元関節点座標データは、外部の装置等から入力される。
関節点検出部82は、データ取得部81によって取得された2次元関節点座標データを、機械学習モデル20に適用して、前記人の前記複数の関節点それぞれの3次元座標を検出する。
機械学習モデル20は、人の関節点の2次元座標と3次元座標との関係を機械学習している機械モデルである。実施の形態4では、機械学習モデル20は、実施の形態1~3によって作成された機械学習モデルである。
つまり、実施の形態4において、機械学習モデル20は、訓練データとなる、2次元関節点座標データと3次元関節点座標データとを用いた機械学習によって作成されている。そして、機械学習モデル20のパラメータは、実施の形態1と同様に、機械学習モデル20で算出された特徴量から得られた特徴量間の距離と、訓練データの元になった人の体格間における類似度と、から得られた、特徴量についての損失を用いて、更新されている。
また、機械学習モデル20のパラメータ40は、実施の形態2と同様に、特徴量についての損失に加えて、機械学習モデル20が出力した3次元関節点座標データと、訓練データである3次元関節点座標データと、から得られた、損失を更に用いて、更新されていても良い。
機械学習モデル20は、実施の形態4においても、コンピュータ上で実行される機械学習プログラムによって実装される。また、機械学習モデル20は、関節点検出装置80とは別の装置(コンピュータ)に実装されていても良い。
[装置動作]
次に、実施の形態4における関節点検出装置80の動作について図14を用いて説明する。図14は、実施の形態4における関節点検出装置80の動作を示すフロー図である。以下の説明においては、適宜図13を参照する。また、実施の形態4では、関節点検出装置80を動作させることによって、関節点検出方法が実施される。よって、実施の形態4における関節点検出方法の説明は、以下の関節点検出装置80の動作説明に代える。
次に、実施の形態4における関節点検出装置80の動作について図14を用いて説明する。図14は、実施の形態4における関節点検出装置80の動作を示すフロー図である。以下の説明においては、適宜図13を参照する。また、実施の形態4では、関節点検出装置80を動作させることによって、関節点検出方法が実施される。よって、実施の形態4における関節点検出方法の説明は、以下の関節点検出装置80の動作説明に代える。
図14に示すように、最初に、データ取得部81は、関節点の検出対象となる人物についての2次元関節点座標データを取得する(ステップC1)。
次に、関節点検出部82は、ステップC1でデータ取得部81によって取得された2次元関節点座標データを、機械学習モデル20に適用して、検出対象となる人物の各関節点それぞれの3次元座標を検出する(ステップC2)。
具体的には、関節点検出部82は、ステップC1でデータ取得部81によって取得された2次元関節点座標データを、機械学習モデル20に入力する。これにより、機械学習モデル20が3次元関節点座標データを出力するので、関節点検出部82は、出力された3次元関節点座標データを取得する。
このように、実施の形態4によれば、機械学習モデル20を用いて、人物の各関節点の3次元座標を検出することができる。
[プログラム]
実施の形態4におけるプログラムは、コンピュータに、図14に示すステップC1~C2を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、実施の形態4における関節点検出装置80と関節点検出方法とを実現することができる。この場合、コンピュータのプロセッサは、データ取得部81及び関節点検出部82として機能し、処理を行なう。コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。また、コンピュータのプロセッサは、機械学習モデル20も構築する。
実施の形態4におけるプログラムは、コンピュータに、図14に示すステップC1~C2を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、実施の形態4における関節点検出装置80と関節点検出方法とを実現することができる。この場合、コンピュータのプロセッサは、データ取得部81及び関節点検出部82として機能し、処理を行なう。コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。また、コンピュータのプロセッサは、機械学習モデル20も構築する。
また、実施の形態4におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、データ取得部81及び関節点検出部82のいずれかとして機能しても良い。
[物理構成]
ここで、実施の形態1~4におけるプログラムを実行することによって、学習モデル生成装置及び関節点検出装置を実現するコンピュータについて図15を用いて説明する。図15は、実施の形態1~4における学習モデル生成装置及び関節点検出装置を実現するコンピュータの一例を示すブロック図である。
ここで、実施の形態1~4におけるプログラムを実行することによって、学習モデル生成装置及び関節点検出装置を実現するコンピュータについて図15を用いて説明する。図15は、実施の形態1~4における学習モデル生成装置及び関節点検出装置を実現するコンピュータの一例を示すブロック図である。
図15に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
また、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていても良い。この態様では、GPU又はFPGAが、実施の形態におけるプログラムを実行することができる。
CPU111は、記憶装置113に格納された、コード群で構成された実施の形態におけるプログラムをメインメモリ112に展開し、各コードを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。
また、実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
なお、実施の形態における学習モデル生成装置及び関節点検出装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェア、例えば、電子回路を用いることによっても実現可能である。更に、学習モデル生成装置及び関節点検出装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。実施の形態において、コンピュータは、図15に示すコンピュータに限定されることはない。
上述した実施の形態の一部又は全部は、以下に記載する(付記1)~(付記15)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データと、前記人の前記複数の関節点それぞれの3次元座標を特定可能な3次元関節点座標データと、を含む訓練データのうち、前記2次元関節点座標データを取得し、取得した前記2次元関節点座標データを、機械学習モデルに入力する、データ取得部と、
前記2次元関節点座標データ毎に、前記機械学習モデルにおいて算出された特徴量を取得し、更に、取得した前記特徴量を用いて、特徴量間の距離を算出する、特徴量間距離算出部と、
前記訓練データである前記3次元関節点座標データを用いて、前記訓練データの元となった前記人の体格間における類似度を算出する、類似度算出部と、
算出された前記類似度と、算出された前記特徴量間の距離と、を用いて、前記機械学習モデルにおける特徴量についての損失を算出する、損失算出部と、
算出された前記損失を用いて、前記機械学習モデルのパラメータを更新する、学習モデル生成部と、
を備えている、ことを特徴とする学習モデル生成装置。
画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データと、前記人の前記複数の関節点それぞれの3次元座標を特定可能な3次元関節点座標データと、を含む訓練データのうち、前記2次元関節点座標データを取得し、取得した前記2次元関節点座標データを、機械学習モデルに入力する、データ取得部と、
前記2次元関節点座標データ毎に、前記機械学習モデルにおいて算出された特徴量を取得し、更に、取得した前記特徴量を用いて、特徴量間の距離を算出する、特徴量間距離算出部と、
前記訓練データである前記3次元関節点座標データを用いて、前記訓練データの元となった前記人の体格間における類似度を算出する、類似度算出部と、
算出された前記類似度と、算出された前記特徴量間の距離と、を用いて、前記機械学習モデルにおける特徴量についての損失を算出する、損失算出部と、
算出された前記損失を用いて、前記機械学習モデルのパラメータを更新する、学習モデル生成部と、
を備えている、ことを特徴とする学習モデル生成装置。
(付記2)
前記データ取得部による前記2次元関節点座標データの入力に応じて、前記機械学習モデルが出力した3次元関節点座標データと、前記訓練データである前記3次元関節点座標データと、を用いて、前記機械学習モデルにおける出力についての損失を算出する、第2の損失算出部と、
前記特徴量についての損失と前記出力についての損失とを統合する、損失統合部と、
を備え、
前記学習モデル生成部が、統合によって得られた損失を用いて、前記機械学習モデルのパラメータを更新する、
付記1に記載の学習モデル生成装置。
前記データ取得部による前記2次元関節点座標データの入力に応じて、前記機械学習モデルが出力した3次元関節点座標データと、前記訓練データである前記3次元関節点座標データと、を用いて、前記機械学習モデルにおける出力についての損失を算出する、第2の損失算出部と、
前記特徴量についての損失と前記出力についての損失とを統合する、損失統合部と、
を備え、
前記学習モデル生成部が、統合によって得られた損失を用いて、前記機械学習モデルのパラメータを更新する、
付記1に記載の学習モデル生成装置。
(付記3)
前記損失統合部が、前記特徴量についての損失と前記出力についての損失との加重平均を求めることによって、両者を統合する、
付記2に記載の学習モデル生成装置。
前記損失統合部が、前記特徴量についての損失と前記出力についての損失との加重平均を求めることによって、両者を統合する、
付記2に記載の学習モデル生成装置。
(付記4)
前記機械学習モデルがニューラルネットワークであり、
前記特徴量間距離算出部が、前記ニューラルネットワークの中間層から、前記特徴量を取得する、
付記1に記載の学習モデル生成装置。
前記機械学習モデルがニューラルネットワークであり、
前記特徴量間距離算出部が、前記ニューラルネットワークの中間層から、前記特徴量を取得する、
付記1に記載の学習モデル生成装置。
(付記5)
画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データを取得する、データ取得部と、
取得された前記2次元関節点座標データを、人の関節点の2次元座標と3次元座標との関係を機械学習している機械学習モデルに適用して、前記人の前記複数の関節点それぞれの3次元座標を検出する、関節点検出部と、
を備え、
前記機械学習モデルのパラメータは、
訓練データとなる、2次元関節点座標データと人の複数の関節点それぞれの3次元座標を特定可能な3次元関節点座標データとを用いた機械学習において、
当該機械学習モデルで算出された特徴量から得られた特徴量間の距離と、前記訓練データの元になった人の体格間における類似度と、から得られた、当該機械学習モデルにおける特徴量についての損失を用いて、更新されている、
ことを特徴とする関節点検出装置。
画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データを取得する、データ取得部と、
取得された前記2次元関節点座標データを、人の関節点の2次元座標と3次元座標との関係を機械学習している機械学習モデルに適用して、前記人の前記複数の関節点それぞれの3次元座標を検出する、関節点検出部と、
を備え、
前記機械学習モデルのパラメータは、
訓練データとなる、2次元関節点座標データと人の複数の関節点それぞれの3次元座標を特定可能な3次元関節点座標データとを用いた機械学習において、
当該機械学習モデルで算出された特徴量から得られた特徴量間の距離と、前記訓練データの元になった人の体格間における類似度と、から得られた、当該機械学習モデルにおける特徴量についての損失を用いて、更新されている、
ことを特徴とする関節点検出装置。
(付記6)
前記機械学習モデルのパラメータは、前記機械学習において、
前記特徴量についての損失に加えて、
当該機械学習モデルが出力した3次元関節点座標データと、前記訓練データである前記3次元関節点座標データと、から得られた、当該機械学習モデルにおける出力についての損失を更に用いて、更新されている、
付記5に記載の関節点検出装置。
前記機械学習モデルのパラメータは、前記機械学習において、
前記特徴量についての損失に加えて、
当該機械学習モデルが出力した3次元関節点座標データと、前記訓練データである前記3次元関節点座標データと、から得られた、当該機械学習モデルにおける出力についての損失を更に用いて、更新されている、
付記5に記載の関節点検出装置。
(付記7)
画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データと、前記人の前記複数の関節点それぞれの3次元座標を特定可能な3次元関節点座標データと、を含む訓練データのうち、前記2次元関節点座標データを取得し、取得した前記2次元関節点座標データを、機械学習モデルに入力する、データ取得ステップと、
前記2次元関節点座標データ毎に、前記機械学習モデルにおいて算出された特徴量を取得し、更に、取得した前記特徴量を用いて、特徴量間の距離を算出する、特徴量間距離算出ステップと、
前記訓練データである前記3次元関節点座標データを用いて、前記訓練データの元となった前記人の体格間における類似度を算出する、類似度算出ステップと、
算出された前記類似度と、算出された前記特徴量間の距離と、を用いて、前記機械学習モデルにおける特徴量についての損失を算出する、損失算出ステップと、
算出された前記損失を用いて、前記機械学習モデルのパラメータを更新する、学習モデル生成ステップと、
を有する、ことを特徴とする学習モデル生成方法。
画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データと、前記人の前記複数の関節点それぞれの3次元座標を特定可能な3次元関節点座標データと、を含む訓練データのうち、前記2次元関節点座標データを取得し、取得した前記2次元関節点座標データを、機械学習モデルに入力する、データ取得ステップと、
前記2次元関節点座標データ毎に、前記機械学習モデルにおいて算出された特徴量を取得し、更に、取得した前記特徴量を用いて、特徴量間の距離を算出する、特徴量間距離算出ステップと、
前記訓練データである前記3次元関節点座標データを用いて、前記訓練データの元となった前記人の体格間における類似度を算出する、類似度算出ステップと、
算出された前記類似度と、算出された前記特徴量間の距離と、を用いて、前記機械学習モデルにおける特徴量についての損失を算出する、損失算出ステップと、
算出された前記損失を用いて、前記機械学習モデルのパラメータを更新する、学習モデル生成ステップと、
を有する、ことを特徴とする学習モデル生成方法。
(付記8)
前記データ取得ステップでの前記2次元関節点座標データの入力に応じて、前記機械学習モデルが出力した3次元関節点座標データと、前記訓練データである前記3次元関節点座標データと、を用いて、前記機械学習モデルにおける出力についての損失を算出する、第2の損失算出ステップと、
前記特徴量についての損失と前記出力についての損失とを統合する、損失統合ステップと、
を更に有し、
前記学習モデル生成ステップにおいて、統合によって得られた損失を用いて、前記機械学習モデルのパラメータを更新する、
付記7に記載の学習モデル生成方法。
前記データ取得ステップでの前記2次元関節点座標データの入力に応じて、前記機械学習モデルが出力した3次元関節点座標データと、前記訓練データである前記3次元関節点座標データと、を用いて、前記機械学習モデルにおける出力についての損失を算出する、第2の損失算出ステップと、
前記特徴量についての損失と前記出力についての損失とを統合する、損失統合ステップと、
を更に有し、
前記学習モデル生成ステップにおいて、統合によって得られた損失を用いて、前記機械学習モデルのパラメータを更新する、
付記7に記載の学習モデル生成方法。
(付記9)
前記損失統合ステップにおいて、前記特徴量についての損失と前記出力についての損失との加重平均を求めることによって、両者を統合する、
付記8に記載の学習モデル生成方法。
前記損失統合ステップにおいて、前記特徴量についての損失と前記出力についての損失との加重平均を求めることによって、両者を統合する、
付記8に記載の学習モデル生成方法。
(付記10)
前記機械学習モデルがニューラルネットワークであり、
前記特徴量間距離算出ステップにおいて、前記ニューラルネットワークの中間層から、前記特徴量を取得する、
付記7に記載の学習モデル生成方法。
前記機械学習モデルがニューラルネットワークであり、
前記特徴量間距離算出ステップにおいて、前記ニューラルネットワークの中間層から、前記特徴量を取得する、
付記7に記載の学習モデル生成方法。
(付記11)
コンピュータに、
画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データと、前記人の前記複数の関節点それぞれの3次元座標を特定可能な3次元関節点座標データと、を含む訓練データのうち、前記2次元関節点座標データを取得し、取得した前記2次元関節点座標データを、機械学習モデルに入力する、データ取得ステップと、
前記2次元関節点座標データ毎に、前記機械学習モデルにおいて算出された特徴量を取得し、更に、取得した前記特徴量を用いて、特徴量間の距離を算出する、特徴量間距離算出ステップと、
前記訓練データである前記3次元関節点座標データを用いて、前記訓練データの元となった前記人の体格間における類似度を算出する、類似度算出ステップと、
算出された前記類似度と、算出された前記特徴量間の距離と、を用いて、前記機械学習モデルにおける特徴量についての損失を算出する、損失算出ステップと、
算出された前記損失を用いて、前記機械学習モデルのパラメータを更新する、学習モデル生成ステップと、
を実行させる、プログラム。
コンピュータに、
画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データと、前記人の前記複数の関節点それぞれの3次元座標を特定可能な3次元関節点座標データと、を含む訓練データのうち、前記2次元関節点座標データを取得し、取得した前記2次元関節点座標データを、機械学習モデルに入力する、データ取得ステップと、
前記2次元関節点座標データ毎に、前記機械学習モデルにおいて算出された特徴量を取得し、更に、取得した前記特徴量を用いて、特徴量間の距離を算出する、特徴量間距離算出ステップと、
前記訓練データである前記3次元関節点座標データを用いて、前記訓練データの元となった前記人の体格間における類似度を算出する、類似度算出ステップと、
算出された前記類似度と、算出された前記特徴量間の距離と、を用いて、前記機械学習モデルにおける特徴量についての損失を算出する、損失算出ステップと、
算出された前記損失を用いて、前記機械学習モデルのパラメータを更新する、学習モデル生成ステップと、
を実行させる、プログラム。
(付記12)
コンピュータに、
前記データ取得ステップでの前記2次元関節点座標データの入力に応じて、前記機械学習モデルが出力した3次元関節点座標データと、前記訓練データである前記3次元関節点座標データと、を用いて、前記機械学習モデルにおける出力についての損失を算出する、第2の損失算出ステップと、
前記特徴量についての損失と前記出力についての損失とを統合する、損失統合ステップと、
を更に実行させ、
前記学習モデル生成ステップにおいて、統合によって得られた損失を用いて、前記機械学習モデルのパラメータを更新する、
付記11に記載のプログラム。
コンピュータに、
前記データ取得ステップでの前記2次元関節点座標データの入力に応じて、前記機械学習モデルが出力した3次元関節点座標データと、前記訓練データである前記3次元関節点座標データと、を用いて、前記機械学習モデルにおける出力についての損失を算出する、第2の損失算出ステップと、
前記特徴量についての損失と前記出力についての損失とを統合する、損失統合ステップと、
を更に実行させ、
前記学習モデル生成ステップにおいて、統合によって得られた損失を用いて、前記機械学習モデルのパラメータを更新する、
付記11に記載のプログラム。
(付記13)
前記損失統合ステップにおいて、前記特徴量についての損失と前記出力についての損失との加重平均を求めることによって、両者を統合する、
付記12に記載のプログラム。
前記損失統合ステップにおいて、前記特徴量についての損失と前記出力についての損失との加重平均を求めることによって、両者を統合する、
付記12に記載のプログラム。
(付記14)
前記機械学習モデルがニューラルネットワークであり、
前記特徴量間距離算出ステップにおいて、前記ニューラルネットワークの中間層から、前記特徴量を取得する、
付記11に記載のプログラム。
前記機械学習モデルがニューラルネットワークであり、
前記特徴量間距離算出ステップにおいて、前記ニューラルネットワークの中間層から、前記特徴量を取得する、
付記11に記載のプログラム。
以上のように本開示によれば、画像から関節点の3次元座標を検出する際の検出精度を向上させることができる。本発明は、画像から人の姿勢を推定する種々のシステムに有用である。
10 学習モデル生成装置(実施の形態1)
11 データ取得部
12 特徴量間距離算出部
13 類似度算出部
14 損失算出部
15 学習モデル生成部
16 正解データ取得部
20 機械学習モデル
30 データベース
40 学習モデル生成装置(実施の形態2)
41 損失統合部
42 第2の損失算出部
50 データ拡張装置
51 データ取得部51
52 射影処理部
53 データ探索部
54 画像生成部
60 3次元ポーズデータセット
61 関節点
70 データベース
80 関節点検出装置
81 データ取得部
82 関節点検出部
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
11 データ取得部
12 特徴量間距離算出部
13 類似度算出部
14 損失算出部
15 学習モデル生成部
16 正解データ取得部
20 機械学習モデル
30 データベース
40 学習モデル生成装置(実施の形態2)
41 損失統合部
42 第2の損失算出部
50 データ拡張装置
51 データ取得部51
52 射影処理部
53 データ探索部
54 画像生成部
60 3次元ポーズデータセット
61 関節点
70 データベース
80 関節点検出装置
81 データ取得部
82 関節点検出部
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
Claims (14)
- 画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データと、前記人の前記複数の関節点それぞれの3次元座標を特定可能な3次元関節点座標データと、を含む訓練データのうち、前記2次元関節点座標データを取得し、取得した前記2次元関節点座標データを、機械学習モデルに入力する、データ取得部と、
前記2次元関節点座標データ毎に、前記機械学習モデルにおいて算出された特徴量を取得し、更に、取得した前記特徴量を用いて、特徴量間の距離を算出する、特徴量間距離算出部と、
前記訓練データである前記3次元関節点座標データを用いて、前記訓練データの元となった前記人の体格間における類似度を算出する、類似度算出部と、
算出された前記類似度と、算出された前記特徴量間の距離と、を用いて、前記機械学習モデルにおける特徴量についての損失を算出する、損失算出部と、
算出された前記損失を用いて、前記機械学習モデルのパラメータを更新する、学習モデル生成部と、
を備えている、ことを特徴とする学習モデル生成装置。 - 前記データ取得部による前記2次元関節点座標データの入力に応じて、前記機械学習モデルが出力した3次元関節点座標データと、前記訓練データである前記3次元関節点座標データと、を用いて、前記機械学習モデルにおける出力についての損失を算出する、第2の損失算出部と、
前記特徴量についての損失と前記出力についての損失とを統合する、損失統合部と、
を備え、
前記学習モデル生成部が、統合によって得られた損失を用いて、前記機械学習モデルのパラメータを更新する、
請求項1に記載の学習モデル生成装置。 - 前記損失統合部が、前記特徴量についての損失と前記出力についての損失との加重平均を求めることによって、両者を統合する、
請求項2に記載の学習モデル生成装置。 - 前記機械学習モデルがニューラルネットワークであり、
前記特徴量間距離算出部が、前記ニューラルネットワークの中間層から、前記特徴量を取得する、
請求項1に記載の学習モデル生成装置。 - 画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データを取得する、データ取得部と、
取得された前記2次元関節点座標データを、人の関節点の2次元座標と3次元座標との関係を機械学習している機械学習モデルに適用して、前記人の前記複数の関節点それぞれの3次元座標を検出する、関節点検出部と、
を備え、
前記機械学習モデルのパラメータは、
訓練データとなる、2次元関節点座標データと人の複数の関節点それぞれの3次元座標を特定可能な3次元関節点座標データとを用いた機械学習において、
当該機械学習モデルで算出された特徴量から得られた特徴量間の距離と、前記訓練データの元になった人の体格間における類似度と、から得られた、当該機械学習モデルにおける特徴量についての損失を用いて、更新されている、
ことを特徴とする関節点検出装置。 - 前記機械学習モデルのパラメータは、前記機械学習において、
前記特徴量についての損失に加えて、
当該機械学習モデルが出力した3次元関節点座標データと、前記訓練データである前記3次元関節点座標データと、から得られた、当該機械学習モデルにおける出力についての損失を更に用いて、更新されている、
請求項5に記載の関節点検出装置。 - 画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データと、前記人の前記複数の関節点それぞれの3次元座標を特定可能な3次元関節点座標データと、を含む訓練データのうち、前記2次元関節点座標データを取得し、取得した前記2次元関節点座標データを、機械学習モデルに入力する、データ取得ステップと、
前記2次元関節点座標データ毎に、前記機械学習モデルにおいて算出された特徴量を取得し、更に、取得した前記特徴量を用いて、特徴量間の距離を算出する、特徴量間距離算出ステップと、
前記訓練データである前記3次元関節点座標データを用いて、前記訓練データの元となった前記人の体格間における類似度を算出する、類似度算出ステップと、
算出された前記類似度と、算出された前記特徴量間の距離と、を用いて、前記機械学習モデルにおける特徴量についての損失を算出する、損失算出ステップと、
算出された前記損失を用いて、前記機械学習モデルのパラメータを更新する、学習モデル生成ステップと、
を有する、ことを特徴とする学習モデル生成方法。 - 前記データ取得ステップでの前記2次元関節点座標データの入力に応じて、前記機械学習モデルが出力した3次元関節点座標データと、前記訓練データである前記3次元関節点座標データと、を用いて、前記機械学習モデルにおける出力についての損失を算出する、第2の損失算出ステップと、
前記特徴量についての損失と前記出力についての損失とを統合する、損失統合ステップと、
を更に有し、
前記学習モデル生成ステップにおいて、統合によって得られた損失を用いて、前記機械学習モデルのパラメータを更新する、
請求項7に記載の学習モデル生成方法。 - 前記損失統合ステップにおいて、前記特徴量についての損失と前記出力についての損失との加重平均を求めることによって、両者を統合する、
請求項8に記載の学習モデル生成方法。 - 前記機械学習モデルがニューラルネットワークであり、
前記特徴量間距離算出ステップにおいて、前記ニューラルネットワークの中間層から、前記特徴量を取得する、
請求項7に記載の学習モデル生成方法。 - コンピュータに、
画像中の人の複数の関節点それぞれの2次元座標を特定可能な2次元関節点座標データと、前記人の前記複数の関節点それぞれの3次元座標を特定可能な3次元関節点座標データと、を含む訓練データのうち、前記2次元関節点座標データを取得し、取得した前記2次元関節点座標データを、機械学習モデルに入力する、データ取得ステップと、
前記2次元関節点座標データ毎に、前記機械学習モデルにおいて算出された特徴量を取得し、更に、取得した前記特徴量を用いて、特徴量間の距離を算出する、特徴量間距離算出ステップと、
前記訓練データである前記3次元関節点座標データを用いて、前記訓練データの元となった前記人の体格間における類似度を算出する、類似度算出ステップと、
算出された前記類似度と、算出された前記特徴量間の距離と、を用いて、前記機械学習モデルにおける特徴量についての損失を算出する、損失算出ステップと、
算出された前記損失を用いて、前記機械学習モデルのパラメータを更新する、学習モデル生成ステップと、
を実行させる、プログラム。 - コンピュータに、
前記データ取得ステップでの前記2次元関節点座標データの入力に応じて、前記機械学習モデルが出力した3次元関節点座標データと、前記訓練データである前記3次元関節点座標データと、を用いて、前記機械学習モデルにおける出力についての損失を算出する、第2の損失算出ステップと、
前記特徴量についての損失と前記出力についての損失とを統合する、損失統合ステップと、
を更に実行させ、
前記学習モデル生成ステップにおいて、統合によって得られた損失を用いて、前記機械学習モデルのパラメータを更新する、
請求項11に記載のプログラム。 - 前記損失統合ステップにおいて、前記特徴量についての損失と前記出力についての損失との加重平均を求めることによって、両者を統合する、
請求項12に記載のプログラム。 - 前記機械学習モデルがニューラルネットワークであり、
前記特徴量間距離算出ステップにおいて、前記ニューラルネットワークの中間層から、前記特徴量を取得する、
請求項11に記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022078407A JP2023167320A (ja) | 2022-05-11 | 2022-05-11 | 学習モデル生成装置、関節点検出装置、学習モデル生成方法、関節点検出方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022078407A JP2023167320A (ja) | 2022-05-11 | 2022-05-11 | 学習モデル生成装置、関節点検出装置、学習モデル生成方法、関節点検出方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023167320A true JP2023167320A (ja) | 2023-11-24 |
Family
ID=88838417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022078407A Pending JP2023167320A (ja) | 2022-05-11 | 2022-05-11 | 学習モデル生成装置、関節点検出装置、学習モデル生成方法、関節点検出方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023167320A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024166600A1 (ja) * | 2023-02-10 | 2024-08-15 | 日本電気株式会社 | 学習モデル生成装置、学習モデル生成方法、及びコンピュータ読み取り可能な記録媒体 |
-
2022
- 2022-05-11 JP JP2022078407A patent/JP2023167320A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024166600A1 (ja) * | 2023-02-10 | 2024-08-15 | 日本電気株式会社 | 学習モデル生成装置、学習モデル生成方法、及びコンピュータ読み取り可能な記録媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111126272B (zh) | 姿态获取方法、关键点坐标定位模型的训练方法和装置 | |
US10679046B1 (en) | Machine learning systems and methods of estimating body shape from images | |
JP7178396B2 (ja) | 入力映像に含まれた客体の3次元ポーズの推定のためのデータを生成する方法およびコンピュータシステム | |
Corazza et al. | Markerless motion capture through visual hull, articulated icp and subject specific model generation | |
US11823345B2 (en) | Example-based real-time clothing synthesis method | |
US11763603B2 (en) | Physical activity quantification and monitoring | |
Yeung et al. | Improved skeleton tracking by duplex kinects: A practical approach for real-time applications | |
EP2880633B1 (en) | Animating objects using the human body | |
US20190147360A1 (en) | Learned model provision method, and learned model provision device | |
US10776978B2 (en) | Method for the automated identification of real world objects | |
Chu et al. | Monocular vision–based framework for biomechanical analysis or ergonomic posture assessment in modular construction | |
US11759126B2 (en) | Scoring metric for physical activity performance and tracking | |
JP2019096113A (ja) | キーポイントデータに関する加工装置、方法及びプログラム | |
Yang et al. | Posture-invariant three dimensional human hand statistical shape model | |
JP2023167320A (ja) | 学習モデル生成装置、関節点検出装置、学習モデル生成方法、関節点検出方法、及びプログラム | |
EP3801201A1 (en) | Measuring surface distances on human bodies | |
CN116092120B (zh) | 基于图像的动作确定方法、装置、电子设备及存储介质 | |
Hachaj et al. | RMoCap: an R language package for processing and kinematic analyzing motion capture data | |
WO2022181253A1 (ja) | 関節点検出装置、学習モデル生成装置、関節点検出方法、学習モデル生成方法、及びコンピュータ読み取り可能な記録媒体 | |
CN110148202B (zh) | 用于生成图像的方法、装置、设备和存储介质 | |
Vasconcelos et al. | Human motion segmentation using active shape models | |
KR20220124490A (ko) | 동작 유사도 평가 장치 및 동작 유사도 평가 방법 | |
WO2023127005A1 (ja) | データ拡張装置、データ拡張方法、及びコンピュータ読み取り可能な記録媒体 | |
WO2024166600A1 (ja) | 学習モデル生成装置、学習モデル生成方法、及びコンピュータ読み取り可能な記録媒体 | |
Dong et al. | An iterative 3D human body reconstruction method driven by personalized dimensional prior knowledge |