(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-16
(45)【発行日】2024-07-24
(54)【発明の名称】姿勢推定装置、学習モデル生成装置、姿勢推定方法、学習モデル生成方法及び、プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240717BHJP
G06T 7/70 20170101ALI20240717BHJP
【FI】
G06T7/00 350B
G06T7/70 Z
(21)【出願番号】P 2023541061
(86)(22)【出願日】2021-01-15
(86)【国際出願番号】 JP2021001248
(87)【国際公開番号】W WO2022153481
(87)【国際公開日】2022-07-21
【審査請求日】2023-07-05
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110002044
【氏名又は名称】弁理士法人ブライタス
(72)【発明者】
【氏名】パン ヤドン
【審査官】佐田 宏史
(56)【参考文献】
【文献】特開2017-097578(JP,A)
【文献】特開2007-199864(JP,A)
【文献】特開2019-191974(JP,A)
【文献】国際公開第2018/189795(WO,A1)
【文献】NIE, Xuecheng et al.,"Single-Stage Multi-Person Pose Machines",2019 IEEE/CVF International Conference on Computer Vision (ICCV),米国,IEEE,2019年10月27日,pp.6950-6959
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00,7/00-7/90
G06V 10/00-10/98
G06F 3/01
G01B 11/00-11/30
(57)【特許請求の範囲】
【請求項1】
画像中の人物の関節点を検出する、関節点検出部と、
前記画像中の人物それぞれにおいて、予め設定された基準点を特定する、基準点特定部と、
人物のセグメンテーション領域における画素毎に画素データと当該画素を起点にした前記基準点までのベクトルの単位ベクトルとの関係を機械学習している学習モデルを用いて、検出した前記関節点毎に、当該関節点と前記画像中の各人物の前記基準点との関係を求め、求めた関係に基づいて、当該関節点が前記画像中の人物に属する可能性を示すスコアを算出し、算出した前記スコアを用いて、当該関節点が属する前記画像中の人物を決定する、帰属決定部と、
前記帰属決定部による決定の結果に基づいて、前記画像中の人物の姿勢を推定する、姿勢推定部と、
を備えている、
ことを特徴とする姿勢推定装置。
【請求項2】
請求項1に記載の姿勢推定装置であって、
前記帰属決定部が、検出した前記関節点毎に、前記画像中の人物の前記基準点それぞれについて、前記画像中に当該関節点から前記基準点までの間に中間点を設定し、
そして、当該関節点の画素データ及び前記中間点の画素データを、前記学習モデルに入力し、その出力結果から、当該関節点及び前記中間点それぞれを起点にした前記基準点までのベクトルの単位ベクトルを求め、
更に、前記画像中の人物の前記基準点毎に、当該関節点及び前記中間点について求めた前記単位ベクトルの始点を揃えた場合の方向のバラツキを求め、求めたバラツキに基づいて、前記スコアを算出する、
ことを特徴とする姿勢推定装置。
【請求項3】
請求項2に記載の姿勢推定装置であって、
前記帰属決定部が、更に、検出した前記関節点毎に、前記画像中の人物の前記基準点それぞれについて、当該関節点までの距離を求め、
加えて、前記学習モデルの出力結果を用いて、前記中間点のうち、前記人物のセグメンテーション領域に存在していない中間点を特定し、前記画像中の人物の前記基準点毎に、前記人物のセグメンテーション領域に存在していない中間点の割合を求め、
前記バラツキ、前記距離、及び前記割合を用いて、前記スコアを算出する、
ことを特徴とする姿勢推定装置。
【請求項4】
請求項1に記載の姿勢推定装置であって、
前記画像中の同一の人物に属すると決定された関節点において、重複する関節点が含まれている場合に、重複する関節点それぞれにおける前記スコアを比較し、比較結果に基づいて、重複する関節点のいずれかをその人物に属しないと判定する、帰属補正部を、更に備えている、
ことを特徴とする姿勢推定装置。
【請求項5】
請求項1に記載の姿勢推定装置であって、
前記基準点が、前記画像中の人物の体幹の領域、または首の領域に設定されている、
ことを特徴とする姿勢推定装置。
【請求項6】
人物のセグメンテーション領域における画素毎の画素データと、前記セグメンテーション領域における画素毎の座標データと、前記セグメンテーション領域の画素毎の、当該画素を起点にした予め設定された基準点までのベクトルの単位ベクトルと、を訓練データとして、機械学習を実行して、
前記セグメンテーション領域における画素毎に、前記画素データと前記単位ベクトルとの関係を学習した学習モデルを生成する、学習モデル生成部を備えている、
ことを特徴とする学習モデル生成装置。
【請求項7】
コンピュータによって実行する方法であって、
画像中の人物の関節点を検出する、関節点検出ステップと、
前記画像中の人物それぞれにおいて、予め設定された基準点を特定する、基準点特定ステップと、
人物のセグメンテーション領域における画素毎に画素データと当該画素を起点にした前記基準点までのベクトルの単位ベクトルとの関係を機械学習している学習モデルを用いて、検出した前記関節点毎に、当該関節点と前記画像中の各人物の前記基準点との関係を求め、求めた関係に基づいて、当該関節点が前記画像中の人物に属する可能性を示すスコアを算出し、算出した前記スコアを用いて、当該関節点が属する前記画像中の人物を決定する、帰属決定ステップと、
前記帰属決定ステップによる決定の結果に基づいて、前記画像中の人物の姿勢を推定する、姿勢推定ステップと、
を有する、
ことを特徴とする姿勢推定方法。
【請求項8】
コンピュータによって実行する方法であって、
人物のセグメンテーション領域における画素毎の画素データと、前記セグメンテーション領域における画素毎の座標データと、前記セグメンテーション領域の画素毎の、当該画素を起点にした予め設定された基準点までのベクトルの単位ベクトルと、を訓練データとして、機械学習を実行して、
前記セグメンテーション領域における画素毎に、前記画素データと前記単位ベクトルとの関係を学習した学習モデルを生成する、学習モデル生成ステップを有する、
ことを特徴とする学習モデル生成方法。
【請求項9】
コンピュータに、
画像中の人物の関節点を検出する、関節点検出ステップと、
前記画像中の人物それぞれにおいて、予め設定された基準点を特定する、基準点特定ステップと、
人物のセグメンテーション領域における画素毎に画素データと当該画素を起点にした前記基準点までのベクトルの単位ベクトルとの関係を機械学習している学習モデルを用いて、検出した前記関節点毎に、当該関節点と前記画像中の各人物の前記基準点との関係を求め、求めた関係に基づいて、当該関節点が前記画像中の人物に属する可能性を示すスコアを算出し、算出した前記スコアを用いて、当該関節点が属する前記画像中の人物を決定する、帰属決定ステップと、
前記帰属決定ステップによる決定の結果に基づいて、前記画像中の人物の姿勢を推定する、姿勢推定ステップと、
を実行させる、プログラム。
【請求項10】
コンピュータに、
人物のセグメンテーション領域における画素毎の画素データと、前記セグメンテーション領域における画素毎の座標データと、前記セグメンテーション領域の画素毎の、当該画素を起点にした予め設定された基準点までのベクトルの単位ベクトルと、を訓練データとして、機械学習を実行して、
前記セグメンテーション領域における画素毎に、前記画素データと前記単位ベクトルとの関係を学習した学習モデルを生成する、学習モデル生成ステップを、
実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像中の人物の姿勢を推定するための、姿勢推定装置及び姿勢推定方法、更には、これらを実現するためのプログラムに関する。また、本発明は、姿勢推定装置及び姿勢推定方法に用いられる学習モデルを生成するための、学習モデル生成装置及び学習モデル生成方法、更には、これらを実現するためのプログラムにも関する。
【背景技術】
【0002】
近年、画像から人物の姿勢を推定する研究が注目されている。このような研究は、画像監視の分野や、スポーツの分野などでの利用が期待されている。また、画像から人物の姿勢を推定することによって、例えば、店舗内での店員の動きを分析することができ、効率的な商品配置に貢献することもできると考えられる。
【0003】
非特許文献1は、人物の姿勢を推定するシステムの一例を開示している。非特許文献1に開示されたシステムは、まず、カメラから出力されてきた画像データを取得し、取得した画像データで表示される画像から、人物の画像を検出する。続いて、非特許文献1に開示されたシステムは、検出した人物の画像において、更に、関節点を検出する。
【0004】
次に、非特許文献1に開示されたシステムは、
図13に示すように、関節点毎に、人物の中心点からその関節点までのベクトルを算出し、算出した各ベクトルを、学習モデルに適用する。学習モデルは、予め、姿勢を示すラベルが付与されたベクトル群を、訓練データとして、機械学習を行うことによって構築されている。これにより、学習モデルから、適用されたベクトルに応じて、姿勢が出力されるので、特許文献1に開示されたシステムは、出力された姿勢を推定結果とする。
【先行技術文献】
【非特許文献】
【0005】
【文献】Nie, Xuecheng et al. “Single-Stage Multi-Person Pose Machines.”, 2019 IEEE/CVF International Conference on Computer Vision (ICCV 2019)
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、訓練データとして用いられる各ベクトルは、方向と長さとで構成されている。しかしながら、ベクトルの長さは人によって異なり、バラツキが多いため、このような訓練データでは、適正な学習モデルを構築することは困難である。このため、非特許文献1に開示されたシステムには、姿勢の推定精度を高めることが難しいという問題がある。
【0007】
本発明の目的の一例は、画像から人物の姿勢を推定する場合における推定精度の向上を図り得る、姿勢推定装置、姿勢推定方法、学習モデル生成装置、学習モデル生成方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明の一側面における姿勢推定装置は
画像中の人物の関節点を検出する、関節点検出部と、
前記画像中の人物それぞれにおいて、予め設定された基準点を特定する、基準点特定部と、
人物のセグメンテーション領域における画素毎に画素データと当該画素を起点にした前記基準点までのベクトルの単位ベクトルとの関係を機械学習している学習モデルを用いて、検出した前記関節点毎に、当該関節点と前記画像中の各人物の前記基準点との関係を求め、求めた関係に基づいて、当該関節点が前記画像中の人物に属する可能性を示すスコアを算出し、算出した前記スコアを用いて、当該関節点が属する前記画像中の人物を決定する、帰属決定部と、
前記帰属決定手段による決定の結果に基づいて、前記画像中の人物の姿勢を推定する、姿勢推定部と、
を備えている、ことを特徴とする。
【0009】
上記目的を達成するため、本発明の一側面における学習モデル生成装置は、
人物のセグメンテーション領域における画素毎の画素データと、前記セグメンテーション領域における画素毎の座標データと、前記セグメンテーション領域の画素毎の、当該画素を起点にした予め設定された基準点までのベクトルの単位ベクトルと、を訓練データとして、機械学習を実行して、学習モデルを生成する、学習モデル生成部を備えている、
ことを特徴とする。
【0010】
上記目的を達成するため、本発明の一側面における姿勢推定方法は、
画像中の人物の関節点を検出する、関節点検出ステップと、
前記画像中の人物それぞれにおいて、予め設定された基準点を特定する、基準点特定ステプと、
人物のセグメンテーション領域における画素毎に画素データと当該画素を起点にした前記基準点までのベクトルの単位ベクトルとの関係を機械学習している学習モデルを用いて、検出した前記関節点毎に、当該関節点と前記画像中の各人物の前記基準点との関係を求め、求めた関係に基づいて、当該関節点が前記画像中の人物に属する可能性を示すスコアを算出し、算出した前記スコアを用いて、当該関節点が属する前記画像中の人物を決定する、帰属決定ステップと、
前記帰属決定手段による決定の結果に基づいて、前記画像中の人物の姿勢を推定する、姿勢推定ステップと、
を有することを特徴とする。
【0011】
上記目的を達成するため、本発明の一側面における学習モデル生成方法は、
人物のセグメンテーション領域における画素毎の画素データと、前記セグメンテーション領域における画素毎の座標データと、前記セグメンテーション領域の画素毎の、当該画素を起点にした予め設定された基準点までのベクトルの単位ベクトルと、を訓練データとして、機械学習を実行して、学習モデルを生成する、学習モデル生成ステップを有する、
ことを特徴とする。
【0012】
更に、上記目的を達成するため、本発明の一側面における第1のプログラムは、
コンピュータに、
画像中の人物の関節点を検出する、関節点検出ステップと、
前記画像中の人物それぞれにおいて、予め設定された基準点を特定する、基準点特定ステップと、
人物のセグメンテーション領域における画素毎に画素データと当該画素を起点にした前記基準点までのベクトルの単位ベクトルとの関係を機械学習している学習モデルを用いて、検出した前記関節点毎に、当該関節点と前記画像中の各人物の前記基準点との関係を求め、求めた関係に基づいて、当該関節点が前記画像中の人物に属する可能性を示すスコアを算出し、算出した前記スコアを用いて、当該関節点が属する前記画像中の人物を決定する、帰属決定ステップと、
前記帰属決定ステップによる決定の結果に基づいて、前記画像中の人物の姿勢を推定する、姿勢推定ステップと、
を実行させる、ことを特徴とする。
【0013】
更に、上記目的を達成するため、本発明の一側面における第2のプログラムは、
コンピュータに、
人物のセグメンテーション領域における画素毎の画素データと、前記セグメンテーション領域における画素毎の座標データと、前記セグメンテーション領域の画素毎の、当該画素を起点にした予め設定された基準点までのベクトルの単位ベクトルと、を訓練データとして、機械学習を実行して、学習モデルを生成する、学習モデル生成ステップを、
実行させる、ことを特徴とする。
【発明の効果】
【0014】
以上のように本発明によれば、画像から人物の姿勢を推定する場合における推定精度の向上を図ることができる。
【図面の簡単な説明】
【0015】
【
図1】
図1は、実施の形態1における学習モデル生成装置の概略構成を示す構成図である。
【
図2】
図2は、実施の形態1における学習モデル生成装置の具体的構成を示す構成図である。
【
図3】
図3は、実施の形態1において用いられる単位ベクトルを説明する図である。
【
図4】
図4は、人物の画像から取り出した単位ベクトルのx成分及びy成分を示す図(方向マップ)である。
【
図5】
図5は、実施の形態1における学習モデル生成装置の動作を示すフロー図である。
【
図6】
図6は、実施の形態2における姿勢推定装置の概略構成を示す構成図である。
【
図7】
図7は、実施の形態2における姿勢推定装置の具体的構成を示す構成図である。
【
図8】
図8は、実施の形態2における姿勢推定装置の帰属決定処理を説明する図である。
【
図9】
図9は、
図8に示す帰属決定処理によって算出されるスコアを説明する図である。
【
図10】
図10は、実施の形態2における姿勢推定装置の帰属決定後の補正処理を説明する図である。
【
図11】
図11は、実施の形態2における姿勢推定装置の動作を示すフロー図である。
【
図12】
図12は、実施の形態1における学習モデル生成装置及び実施の形態2における姿勢推定装置を実現するコンピュータの一例を示すブロック図である。
【
図13】
図13は、従来のシステムによる人物の姿勢推定を説明する図である。
【発明を実施するための形態】
【0016】
(実施の形態1)
以下、実施の形態1においては、学習モデル生成装置、学習モデル生成方法、及び学習モデル生成のためのプログラムについて、
図1~
図5を参照しながら説明する。
【0017】
[装置構成]
最初に、実施の形態1における学習モデル生成装置の概略構成について
図1を用いて説明する。
図1は、実施の形態1における学習モデル生成装置の概略構成を示す構成図である。
【0018】
図1に示す実施の形態1における学習モデル生成装置10は、人物の姿勢推定に用いる学習モデルを生成する装置である。
図1に示すように、学習モデル生成装置10は、学習モデル生成部11を備えている。
【0019】
学習モデル生成部11は、訓練データを取得し、取得した訓練データを用いて機械学習を実行して、学習モデルを生成する。訓練データとしては、画像中の人物のセグメンテーション領域における画素毎の画素データと、セグメンテーション領域における画素毎の座標データと、セグメンテーション領域の画素毎の単位ベクトルとが用いられる。また、ここでいう単位ベクトルとは、各画素を起点にした、予め設定された基準点までのベクトルの単位ベクトルである。
【0020】
学習モデル生成装置10によれば、人物のセグメンテーション領域における画素毎に、画素データと単位ベクトルとの関係を機械学習した、学習モデルが得られる。そして、学習モデルに、画像中の人物の関節点の画像の画素データを入力すれば、その関節点における単位ベクトルが出力される。出力された単位ベクトルを用いれば、後述の実施の形態2に説明するように、画像中の人物の姿勢の推定が可能となる。
【0021】
続いて、
図2を用いて、実施の形態1における学習モデル生成装置10の構成及び機能について具体的に説明する。
図2は、実施の形態1における学習モデル生成装置の具体的構成を示す構成図である。
【0022】
図2に示すように、実施の形態1では、学習モデル生成装置10は、学習モデル生成部11に加えて、訓練データ取得部12と、訓練データ格納部13とを備えている。
【0023】
訓練データ取得部12は、学習モデル生成装置10の外部から入力された訓練データを受け付け、受け付けた訓練データを、訓練データ格納部13に格納する。学習モデル生成部11は、実施の形態1では、訓練データ格納部13に格納されている訓練データを用いて、機械学習を実行し、学習モデルを生成する。学習モデル生成部11は、生成した学習モデルを、後述する姿勢推定装置に出力する。
【0024】
また、学習モデル生成部11によって用いられる機械学習の手法としては、ゼロショット学習、ディープラーニング、リッジ回帰、ロジスティック回帰、サポートベクトルマシン、勾配ブースティング等が挙げられる。
【0025】
更に、
図3及び
図4を用いて、実施の形態1で用いられる訓練データについて具体的に説明する。
図3は、実施の形態1において用いられる単位ベクトルを説明する図である。
図4は、人物の画像から取り出した単位ベクトルのx成分及びy成分を示す図(方向マップ)である。
【0026】
訓練データは、実施の形態1では、予め、画像処理装置等によって、人物の画像の画像データから作成される。具体的には、
図3に示すように、まず、画像データ20から、画像中の人物のセグメンテーション領域21が抽出される。次に、セグメンテーション領域21において、基準点22が設定される。基準点22が設定される領域としては、人物の体幹の領域、または首の領域が挙げられる。
図3の例では、基準点22は首の領域に設定されている。また、基準点は、予め設定されたルールに沿って設定される。ルールとしては、例えば、鼻の頂点を通る垂線と喉を通る水平線とが交わる点に設定することが挙げられる。
【0027】
その後、各画素の座標データが特定され、更に、画素毎に、それを起点にした基準点までのベクトルが算出され、更に、算出されたベクトルそれぞれについて、単位ベクトルが算出される。
図3の例では、○は任意の画素を示し、破線の矢印は任意の画素から基準点22までのベクトルを示し、実践の矢印は単位ベクトルを示している。また、単位ベクトルは、大きさが「1」のベクトルであり、x成分とy成分とで構成されている。
【0028】
このようにして得られた、画素毎の画素データと、画素毎の座標データと、画素毎の単位ベクトル(x成分、y成分)とが、訓練データとして用いられる。なお、画素毎の単位ベクトルをマップ化すると、
図4に示す通りとなる。
図4に示すマップは、2人の人物が存在している画像から得られている。
【0029】
[装置動作]
次に、実施の形態1における学習モデル生成装置10の動作について
図5を用いて説明する。
図5は、実施の形態1における学習モデル生成装置の動作を示すフロー図である。以下の説明においては、適宜
図1~
図4を参照する。また、実施の形態1では、学習モデル生成装置10を動作させることによって、学習モデル生成方法が実施される。よって、実施の形態における学習モデル生成方法の説明は、以下の学習モデル生成装置10の動作説明に代える。
【0030】
図5に示すように、最初に、訓練データ取得部12は、学習モデル生成装置10の外部から入力された訓練データを受け付け、受け付けた訓練データを、訓練データ格納部13に格納する(ステップA1)。ステップA1で受け付けられた訓練データは、画素毎の画素データと、画素毎の座標データと、画素毎の単位ベクトル(x成分、y成分)とで構成されている。
【0031】
次に、学習モデル生成部11は、ステップA1で訓練データ格納部13に格納された訓練データを用いて、機械学習を実行し、学習モデルを生成する(ステップA2)。更に、学習モデル生成部11は、ステップA2で生成した学習モデルを、後述する姿勢推定装置に出力する(ステップA3)。
【0032】
ステップA1~A3の実行により、人物のセグメンテーション領域における画素毎に、画素データと単位ベクトルとの関係を機械学習した、学習モデルが得られる。
【0033】
[プログラム]
実施の形態1における学習モデル生成のためのプログラムは、コンピュータに、
図5に示すステップA1~A3を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、実施の形態1における学習モデル生成装置10と学習モデル生成方法とを実現することができる。この場合、コンピュータのプロセッサは、学習モデル生成部11及び訓練データ取得部12として機能し、処理を行なう。コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。
【0034】
また、実施の形態1では、訓練データ格納部13は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって実現されていても良いし、別のコンピュータの記憶装置によって実現されていても良い。
【0035】
また、実施の形態1におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、学習モデル生成部11及び訓練データ取得部12のいずれかとして機能しても良い。
【0036】
(実施の形態2)
次に、実施の形態2においては、姿勢推定装置、姿勢推定方法、及び姿勢推定のためのプログラムについて、
図6~
図11を参照しながら説明する。
【0037】
[装置構成]
最初に、実施の形態2における姿勢推定装置の概略構成について
図6を用いて説明する。
図6は、実施の形態2における姿勢推定装置の概略構成を示す構成図である。
【0038】
図6に示す実施の形態2における姿勢推定装置30は、画像中の人物の姿勢を推定する装置である。
図6に示すように、姿勢推定装置30は、関節点検出部31と、基準点特定部32と、帰属決定部33と、姿勢推定部34とを備えている。
【0039】
関節点検出部31は、姿勢推定の対象となる人物が写っている画像において、画像中の人物の関節点を検出する。基準点特定部32は、画像中の人物それぞれにおいて、予め設定された基準点を特定する。ここでの基準点は、実施の形態1において、訓練データの作成時に設定された基準点と同じであり、人物の体幹の領域、または首の領域に設定される。
【0040】
帰属決定部33は、学習モデルを用いて、関節点検出部31が検出した関節点毎に、各関節点と画像中の各人物の基準点との関係を求める。学習モデルは、人物のセグメンテーション領域における画素毎に、画素データと単位ベクトルとの関係を機械学習している。ここで用いられる学習モデルとしては、実施の形態1で生成された学習モデルが挙げられる。単位ベクトルは、各画素を起点にした基準点までのベクトルの単位ベクトルである。
【0041】
また、帰属決定部33は、学習モデルを用いて求めた関係に基づいて、各関節点が画像中の人物に属する可能性を示すスコアを算出し、算出したスコアを用いて、各関節点が属する画像中の人物を決定する。そして、姿勢推定部34は、帰属決定部33による決定の結果に基づいて、画像中の人物の姿勢を推定する。
【0042】
このように、実施の形態2では、画像中の人物の各関節点について、その人物の関節点かどうかを判断する指標(スコア)が算出される。よって、その人物の関節点に、別の人物の関節点が誤って含まれてしまう事態が回避される。このため、実施の形態によれば、画像から人物の姿勢を推定する場合における推定精度の向上を図ることができる。
【0043】
続いて、
図7~
図10を用いて、実施の形態2における姿勢推定装置30の構成及び機能について具体的に説明する。
図7は、実施の形態2における姿勢推定装置の具体的構成を示す構成図である。
図8は、実施の形態2における姿勢推定装置の帰属決定処理を説明する図である。
図9は、
図8に示す帰属決定処理によって算出されるスコアを説明する図である。
図10は、実施の形態2における姿勢推定装置の帰属決定後の補正処理を説明する図である。
【0044】
図7に示すように、実施の形態2では、姿勢推定装置30は、上述した、関節点検出部31、基準点特定部32、帰属決定部33、及び姿勢推定部34に加えて、画像データ取得部35と、帰属補正部36と、学習モデル格納部37とを備えている。
【0045】
画像データ取得部35は、姿勢推定の対象となる人物が写った画像の画像データ40を取得し、取得した画像データを関節点検出部31に入力する。画像データの取得先としては、撮像装置、サーバ装置、端末装置等が挙げられる。学習モデル格納部37は、実施の形態1における学習モデル生成装置10が生成した学習モデルを格納している。
【0046】
関節点検出部31は、画像データ取得部35から入力された画像データから、画像中の人物の関節点を検出する。具体的には、関節点検出部31は、関節点毎に予め設定された画像特徴量を用いて、人物の各関節点を検出する。また、関節点検出部31は、予め、人物の関節点の画像特徴量を機械学習した学習モデルを用いて、各関節点を検出することもできる。検出対象となる関節点としては、例えば、右肩、右肘、右手首、右股関節、右膝、右足首、左肩、左肘、左手首、左股関節、左膝、左足首等が挙げられる。
【0047】
基準点特定部32は、画像データから人物のセグメンテーション領域を抽出し、抽出したセグメンテーション領域上に基準点を設定する。基準点の位置は、実施の形態1において、訓練データの作成時に設定された基準点の位置と同じである。訓練データにおいて首の領域に基準点が設定されている場合は、基準点特定部32は、セグメンテーション領域上の首の領域に、訓練データの作成時に用いられたルールに沿って基準点を設定する。
【0048】
帰属決定部33は、実施の形態2では、関節点検出部31が検出した関節点毎に、各関節点と画像中の各人物の基準点との関係として、方向のバラツキ(RoD:Range of Direction)を求める。具体的には、帰属決定部33は、画像データ40の画像中の人物の基準点それぞれについて、画像中に関節点から基準点までの間に中間点を設定する。
【0049】
そして、帰属決定部33は、関節点の画素データ及び中間点の画素データと、各点の座標データとを、学習モデルに入力する。また、帰属決定部33は、学習モデルの出力結果に基づいて、関節点及び中間点それぞれを起点にした基準点までのベクトルの単位ベクトルを求める。更に、帰属決定部33は、画像中の人物の基準点毎に、関節点及び中間点について求めた単位ベクトルの始点を揃えた場合の方向のバラツキRoDを求め、求めたバラツキRoDに基づいて、関節点が画像中の人物に属する可能性を示すスコアを算出する。
【0050】
また、帰属決定部33は、検出した関節点毎に、画像中の人物の基準点それぞれについて、基準点から各関節点までの距離を求めることもできる。加えて、帰属決定部33は、学習モデルの出力結果を用いて、中間点のうち、人物のセグメンテーション領域に存在していない中間点を特定する。そして、帰属決定部33は、画像中の人物の基準点毎に、人物のセグメンテーション領域に存在していない中間点の割合を求めることもできる。更に、帰属決定部33は、距離、割合を求めた場合は、先に求めた方向のバラツキRoD、距離、及び割合を用いて、スコアを算出することもできる。
【0051】
具体的には、
図8に示すように、画像中に人物41と人物42とが存在しているとする。そして、各人物の基準点R1及びR2が、それぞれの首の領域に設定されているとする。また、
図8の例では、関節点P1が、スコアの算出対象であるとする。この場合において、帰属決定部33は、人物41においては、関節点P1から基準点R1までの間に中間点IMP11~IMP13を設定する。また、帰属決定部33は、人物42においては、関節点P1から基準点R2までの間に中間点IMP21~IMP23を設定する。
【0052】
次に、帰属決定部33は、関節点P1の画素データと、中間点IMP11~IMP13の画素データと、中間点IMP21~IMP23の画素データと、各点の座標データとを、学習モデルに入力する。この出力結果から、関節点P1、中間点IMP11~IMP13、及び中間点IMP21~IMP23、それぞれを起点にした基準点までのベクトルの単位ベクトルが求められる。各単位ベクトルは、
図8において矢印によって示されている。
【0053】
続いて、帰属決定部33は、中間点IMP11~IMP13、及び中間IMP21~IMP23のうち、人物のセグメンテーション領域に存在していない中間点を特定する。具体的には、帰属決定部33は、以下の数1に単位ベクトルのx成分及びy成分を入力して、値が閾値以下となる中間点については、人物のセグメンテーション領域に存在していないと判断する。
【0054】
(数1)
(x成分)2+(y成分)2<閾値
【0055】
図8の例では、帰属決定部33は、中間点IMP13と中間点IMP23とは、人物のセグメンテーション領域に存在していないと判断する。また、
図8の例においては、人物のセグメンテーション領域に存在する中間点を○で表現し、人物のセグメンテーション領域に存在していない中間点を◎で表現している。
【0056】
続いて、帰属決定部33は、
図9に示すように、中間点IMP11及びIPM12(IMP13を除く)の単位ベクトルの基点と、関節点P1の単位ベクトルの基点とを揃えて、方向のバラツキ(RoD:Range of Direction)1を求める。同様に、帰属決定部33は、中間点IMP21及びIPM22(IMP23を除く)の単位ベクトルの基点と、関節点P1の単位ベクトルの基点とを揃えて、方向のバラツキ(RoD:Range of Direction)2を求める。方向のバラツキは、単位ベクトルの基点を揃えた場合の取り得る角度の範囲で表される。
【0057】
続いて、帰属決定部33は、
図9に示すように、関節点P1から人物41の基準点R1までの距離D1と、関節点P1から人物42の基準点R2までの距離D2とを求める。
【0058】
更に、帰属決定部33は、
図9に示すように、関節点P1から基準点R1までの直線上に存在する中間点IMP11~13において、人物のセグメンテーション領域に存在していない中間点の割合OB1を求める。また、帰属決定部33は、関節点P1から基準点R2までの直線上に存在する中間点IMP21~23において、人物のセグメンテーション領域に存在していない中間点の割合OB2も求める。
【0059】
その後、帰属決定部33は、基準点毎、即ち、人物毎にスコアを算出する。具体的には、帰属決定部33は、人物41については、RoD1*D1*OB1を算出し、得られた値を人物41の関節点P1についてのスコアとする。同様に、帰属決定部33は、人物42については、RoD2*D2*OB2を算出し、得られた値を人物42の関節点P2についてのスコアとする。
【0060】
図8及び
図9の例では、人物41についてのスコアが、人物42についてのスコアよりも小さくなる。従って、帰属決定部33は、関節点P1が属する人物を人物41に決定する。
【0061】
帰属補正部36は、画像中の同一の人物に属すると決定された関節点において、重複する関節点が含まれている場合に、重複する関節点それぞれにおけるスコアを比較し、比較結果に基づいて、重複する関節点のいずれかを、その人物に属しないと判定する。
【0062】
具体的には、例えば、
図10に示すように、関節点P1及び関節点P2の2つが、人物42に属していると決定されているとする。この場合、人物42には、左手首が2つ含まれていることとなり、不自然である。このため、帰属補正部36は、帰属決定部33から、関節点P1について計算しているスコアと、関節点P2について計算されたスコアとを取得し、両者を比較する。そして、帰属補正部36は、スコアの大きい方の関節点、この場合においては関節点P1を人物42に属しないと判定する。これにより、人物の関節点の帰属関係が補正される。
【0063】
姿勢推定部34は、実施の形態2では、関節点検出部31による検出結果に基づいて、人物毎に決定された各関節点の座標を特定し、関節点間の位置関係を求める。そして、姿勢推定部34は、求めた位置関係に基づいて、人物の姿勢を推定する。
【0064】
具体的には、姿勢推定部34は、人物の姿勢毎に予め登録されている位置関係と、求めた位置関係とを比較して、最も近似している登録済みの位置関係を特定する。そして、姿勢推定部34は、特定した登録済みの位置関係に対応する姿勢を、人物の姿勢と推定する。また、姿勢推定部34は、予め、各関節の位置関係と座標との関係を機械学習している学習モデルに、求めた位置関係を入力し、この学習モデルの出力結果から姿勢を推定することもできる。
【0065】
[装置動作]
次に、実施の形態2における姿勢推定装置30の動作について
図11を用いて説明する。
図11は、実施の形態2における姿勢推定装置の動作を示すフロー図である。以下の説明においては、適宜
図6~
図10を参照する。また、実施の形態2では、姿勢推定装置30を動作させることによって、姿勢推定方法が実施される。よって、実施の形態における姿勢推定方法の説明は、以下の姿勢推定装置30の動作説明に代える。
【0066】
図11に示すように、最初に、画像データ取得部35は、姿勢推定の対象となる人物が写った画像の画像データを取得する(ステップB1)。
【0067】
次に、関節点検出部31は、ステップB1で取得された画像データから、画像中の人物の関節点を検出する(ステップB2)。
【0068】
次に、基準点特定部32は、ステップB1で取得された画像データから人物のセグメンテーション領域を抽出し、抽出したセグメンテーション領域上に基準点を設定する(ステップB3)。
【0069】
次に、帰属決定部33は、ステップB2で検出された関節点の1つを選択する(ステップB4)。そして、帰属決定部33は、選択した関節点から基準点までの間に中間点を設定する(ステップB5)。
【0070】
次に、帰属決定部33は、選択した関節点の画素データと、各中間点の画素データと、各点の座標データとを、学習モデルに入力して、各点における単位ベクトルを求める(ステップB6)。
【0071】
次に、帰属決定部33は、ステップB6で求めた単位ベクトルを用いて、ステップB3で設定された基準点毎に、スコアを算出する(ステップB7)。
【0072】
具体的には、ステップB7では、帰属決定部33は、まず、上述の数1を用いて、人物のセグメンテーション領域に存在していない中間点を特定する。次に、帰属決定部33は、
図9に示したように、関節点からその基準点までの直線毎に、そこに存在する中間点の単位ベクトルの基点と、関節点の単位ベクトルの基点とを揃えて、方向のバラツキRoDを求める。
【0073】
更に、ステップB7では、帰属決定部33は、
図9に示したように、基準点毎に、関節点からその基準点までの距離Dを求める。加えて、帰属決定部33は、
図9に示したように、基準点毎に、関節点からその基準点までの直線上に存在する中間点において、人物のセグメンテーション領域に存在していない中間点の割合OBを求める。その後、帰属決定部33は、基準点毎に、方向のバラツキRoD、距離D、及び割合OBを用いて、選択された関節点のスコアを算出する。
【0074】
次に、帰属決定部33は、ステップB7で算出した基準点毎のスコアに基づいて、ステップB4で選択された関節点が属する人物を決定する(ステップB8)。
【0075】
次に、帰属決定部33は、ステップB2で検出された全ての関節点について、ステップB5~B8の処理が終了しているかどうかを判定する(ステップB9)。
【0076】
ステップB9の判定の結果、全ての関節点について、ステップB5~B8の処理が終了していない場合は、帰属決定部33は、再度ステップB4を実行して、未だ選択されていない関節点を選択する。
【0077】
一方、ステップB9の判定の結果、全ての関節点について、ステップB5~B8の処理が終了している場合は、帰属決定部33は、そのことを帰属補正部36に通知する。それにより、帰属補正部36は、画像中の同一の人物に属すると決定された関節点において、重複する関節点が含まれているかどうかを判定する。そして、帰属補正部36は、重複する関節点が含まれている場合は、重複する関節点それぞれにおけるスコアを比較する。帰属補正部36は、比較結果に基づいて、重複する関節点のいずれかについて、その人物に属しないと判定し、帰属を解除する(ステップB10)。
【0078】
その後、姿勢推定部34は、ステップB2の関節点の検出結果に基づいて、人物毎に、人物に属することが決定された各関節点の座標を特定し、関節点間の位置関係を求める。更に、姿勢推定部34は、求めた位置関係に基づいて、人物の姿勢を推定する(ステップB11)。
【0079】
以上のように、実施の形態2では、実施の形態1で作成された学習モデルを用いて、画像中の人物の関節点の単位ベクトルが求められ。そして、求められた単位ベクトルに基づいて、検出された関節点の帰属が、精度良く決定される。このため、実施の形態2によれば、画像から人物の姿勢を推定する場合における推定精度の向上が図られることになる。
【0080】
[プログラム]
実施の形態2における姿勢推定のためのプログラムは、コンピュータに、
図11に示すステップB1~B11を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、実施の形態2における姿勢推定装置30と姿勢推定方法とを実現することができる。この場合、コンピュータのプロセッサは、関節点検出部31、基準点特定部32、帰属決定部33、姿勢推定部34、画像データ取得部35、及び帰属補正部36として機能し、処理を行なう。コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。
【0081】
また、実施の形態2では、学習モデル格納部37は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって実現されていても良いし、別のコンピュータの記憶装置によって実現されていても良い。
【0082】
また、実施の形態2におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、関節点検出部31、基準点特定部32、帰属決定部33、姿勢推定部34、画像データ取得部35、及び帰属補正部36のいずれかとして機能しても良い。
【0083】
(物理構成)
ここで、実施の形態1におけるプログラムを実行することによって、学習モデル生成装置10を実現するコンピュータと、実施の形態2におけるプログラムを実行することによって、姿勢推定装置30を実現するコンピュータとについて
図12を用いて説明する。
図12は、実施の形態1における学習モデル生成装置及び実施の形態2における姿勢推定装置を実現するコンピュータの一例を示すブロック図である。
【0084】
図12に示すように、コンピュータ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が、実施の形態におけるプログラムを実行することができる。
【0085】
CPU111は、記憶装置113に格納された、コード群で構成されたプログラムをメインメモリ112に展開し、各コードを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。
【0086】
また、実施の形態1及び2におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、実施の形態1及び2におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
【0087】
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
【0088】
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0089】
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
【0090】
なお、実施の形態1における学習モデル生成装置10及び実施の形態2における姿勢推定装置30は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアによっても実現可能である。更に、実施の形態1における学習モデル生成装置10及び実施の形態2における姿勢推定装置30は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。ここでいうハードウェアとしては、電子回路が挙げられる。
【0091】
上述した実施の形態の一部又は全部は、以下に記載する(付記1)~(付記18)によって表現することができるが、以下の記載に限定されるものではない。
【0092】
(付記1)
画像中の人物の関節点を検出する、関節点検出部と、
前記画像中の人物それぞれにおいて、予め設定された基準点を特定する、基準点特定部と、
人物のセグメンテーション領域における画素毎に画素データと当該画素を起点にした前記基準点までのベクトルの単位ベクトルとの関係を機械学習している学習モデルを用いて、検出した前記関節点毎に、当該関節点と前記画像中の各人物の前記基準点との関係を求め、求めた関係に基づいて、当該関節点が前記画像中の人物に属する可能性を示すスコアを算出し、算出した前記スコアを用いて、当該関節点が属する前記画像中の人物を決定する、帰属決定部と、
前記帰属決定部による決定の結果に基づいて、前記画像中の人物の姿勢を推定する、姿勢推定部と、
を備えている、
ことを特徴とする姿勢推定装置。
【0093】
(付記2)
付記1に記載の姿勢推定装置であって、
前記帰属決定部が、検出した前記関節点毎に、前記画像中の人物の前記基準点それぞれについて、前記画像中に当該関節点から前記基準点までの間に中間点を設定し、
そして、当該関節点の画素データ及び前記中間点の画素データを、前記学習モデルに入力し、その出力結果から、当該関節点及び前記中間点それぞれを起点にした前記基準点までのベクトルの単位ベクトルを求め、
更に、前記画像中の人物の前記基準点毎に、当該関節点及び前記中間点について求めた前記単位ベクトルの始点を揃えた場合の方向のバラツキを求め、求めたバラツキに基づいて、前記スコアを算出する、
ことを特徴とする姿勢推定装置。
【0094】
(付記3)
付記2に記載の姿勢推定装置であって、
前記帰属決定部が、更に、検出した前記関節点毎に、前記画像中の人物の前記基準点それぞれについて、当該関節点までの距離を求め、
加えて、前記学習モデルの出力結果を用いて、前記中間点のうち、前記人物のセグメンテーション領域に存在していない中間点を特定し、前記画像中の人物の前記基準点毎に、前記人物のセグメンテーション領域に存在していない中間点の割合を求め、
前記バラツキ、前記距離、及び前記割合を用いて、前記スコアを算出する、
ことを特徴とする姿勢推定装置。
【0095】
(付記4)
付記1~3のいずれかに記載の姿勢推定装置であって、
前記画像中の同一の人物に属すると決定された関節点において、重複する関節点が含まれている場合に、重複する関節点それぞれにおける前記スコアを比較し、比較結果に基づいて、重複する関節点のいずれかを属しないと判定する、帰属補正部を、更に備えている、
ことを特徴とする姿勢推定装置。
【0096】
(付記5)
付記1~4のいずれかに記載の姿勢推定装置であって、
前記基準点が、前記画像中の人物の体幹の領域、または首の領域に設定されている、
ことを特徴とする姿勢推定装置。
【0097】
(付記6)
人物のセグメンテーション領域における画素毎の画素データと、前記セグメンテーション領域における画素毎の座標データと、前記セグメンテーション領域の画素毎の、当該画素を起点にした予め設定された基準点までのベクトルの単位ベクトルと、を訓練データとして、機械学習を実行して、学習モデルを生成する、学習モデル生成部を備えている、
ことを特徴とする学習モデル生成装置。
【0098】
(付記7)
画像中の人物の関節点を検出する、関節点検出ステップと、
前記画像中の人物それぞれにおいて、予め設定された基準点を特定する、基準点特定ステップと、
人物のセグメンテーション領域における画素毎に画素データと当該画素を起点にした前記基準点までのベクトルの単位ベクトルとの関係を機械学習している学習モデルを用いて、検出した前記関節点毎に、当該関節点と前記画像中の各人物の前記基準点との関係を求め、求めた関係に基づいて、当該関節点が前記画像中の人物に属する可能性を示すスコアを算出し、算出した前記スコアを用いて、当該関節点が属する前記画像中の人物を決定する、帰属決定ステップと、
前記帰属決定ステップによる決定の結果に基づいて、前記画像中の人物の姿勢を推定する、姿勢推定ステップと、
を有する、
ことを特徴とする姿勢推定方法。
【0099】
(付記8)
付記7に記載の姿勢推定方法であって、
前記帰属決定ステップにおいて、検出した前記関節点毎に、前記画像中の人物の前記基準点それぞれについて、前記画像中に当該関節点から前記基準点までの間に中間点を設定し、
そして、当該関節点の画素データ及び前記中間点の画素データを、前記学習モデルに入力し、その出力結果から、当該関節点及び前記中間点それぞれを起点にした前記基準点までのベクトルの単位ベクトルを求め、
更に、前記画像中の人物の前記基準点毎に、当該関節点及び前記中間点について求めた前記単位ベクトルの始点を揃えた場合の方向のバラツキを求め、求めたバラツキに基づいて、前記スコアを算出する、
ことを特徴とする姿勢推定方法。
【0100】
(付記9)
付記8に記載の姿勢推定方法であって、
前記帰属決定ステップにおいて、更に、検出した前記関節点毎に、前記画像中の人物の前記基準点それぞれについて、当該関節点までの距離を求め、
加えて、前記学習モデルの出力結果を用いて、前記中間点のうち、前記人物のセグメンテーション領域に存在していない中間点を特定し、前記画像中の人物の前記基準点毎に、前記人物のセグメンテーション領域に存在していない中間点の割合を求め、
前記バラツキ、前記距離、及び前記割合を用いて、前記スコアを算出する、
ことを特徴とする姿勢推定方法。
【0101】
(付記10)
付記7~9のいずれかに記載の姿勢推定方法であって、
前記画像中の同一の人物に属すると決定された関節点において、重複する関節点が含まれている場合に、重複する関節点それぞれにおける前記スコアを比較し、比較結果に基づいて、重複する関節点のいずれかを属しないと判定する、帰属補正ステップを、更に有する、
ことを特徴とする姿勢推定方法。
【0102】
(付記11)
付記7~10のいずれかに記載の姿勢推定方法であって、
前記基準点が、前記画像中の人物の体幹の領域、または首の領域に設定されている、
ことを特徴とする姿勢推定方法。
【0103】
(付記12)
人物のセグメンテーション領域における画素毎の画素データと、前記セグメンテーション領域における画素毎の座標データと、前記セグメンテーション領域の画素毎の、当該画素を起点にした予め設定された基準点までのベクトルの単位ベクトルと、を訓練データとして、機械学習を実行して、学習モデルを生成する、学習モデル生成ステップを有する、
ことを特徴とする学習モデル生成方法。
【0104】
(付記13)
コンピュータに、
画像中の人物の関節点を検出する、関節点検出ステップと、
前記画像中の人物それぞれにおいて、予め設定された基準点を特定する、基準点特定ステップと、
人物のセグメンテーション領域における画素毎に画素データと当該画素を起点にした前記基準点までのベクトルの単位ベクトルとの関係を機械学習している学習モデルを用いて、検出した前記関節点毎に、当該関節点と前記画像中の各人物の前記基準点との関係を求め、求めた関係に基づいて、当該関節点が前記画像中の人物に属する可能性を示すスコアを算出し、算出した前記スコアを用いて、当該関節点が属する前記画像中の人物を決定する、帰属決定ステップと、
前記帰属決定ステップによる決定の結果に基づいて、前記画像中の人物の姿勢を推定する、姿勢推定ステップと、
を実行させる命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
【0105】
(付記14)
付記13に記載のコンピュータ読み取り可能な記録媒体であって、
前記帰属決定ステップにおいて、検出した前記関節点毎に、前記画像中の人物の前記基準点それぞれについて、前記画像中に当該関節点から前記基準点までの間に中間点を設定し、
そして、当該関節点の画素データ及び前記中間点の画素データを、前記学習モデルに入力し、その出力結果から、当該関節点及び前記中間点それぞれを起点にした前記基準点までのベクトルの単位ベクトルを求め、
更に、前記画像中の人物の前記基準点毎に、当該関節点及び前記中間点について求めた前記単位ベクトルの始点を揃えた場合の方向のバラツキを求め、求めたバラツキに基づいて、前記スコアを算出する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【0106】
(付記15)
付記14に記載のコンピュータ読み取り可能な記録媒体であって、
前記帰属決定ステップにおいて、更に、検出した前記関節点毎に、前記画像中の人物の前記基準点それぞれについて、当該関節点までの距離を求め、
加えて、前記学習モデルの出力結果を用いて、前記中間点のうち、前記人物のセグメンテーション領域に存在していない中間点を特定し、前記画像中の人物の前記基準点毎に、前記人物のセグメンテーション領域に存在していない中間点の割合を求め、
前記バラツキ、前記距離、及び前記割合を用いて、前記スコアを算出する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【0107】
(付記16)
付記13~15のいずれかに記載のコンピュータ読み取り可能な記録媒体であって、
前記プログラムが、前記コンピュータに、
前記画像中の同一の人物に属すると決定された関節点において、重複する関節点が含まれている場合に、重複する関節点それぞれにおける前記スコアを比較し、比較結果に基づいて、重複する関節点のいずれかを属しないと判定する、帰属補正ステップを実行させる命令を更に含む、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【0108】
(付記17)
付記13~16のいずれかに記載のコンピュータ読み取り可能な記録媒体であって、
前記基準点が、前記画像中の人物の体幹の領域、または首の領域に設定されている、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【0109】
(付記18)
コンピュータに、
人物のセグメンテーション領域における画素毎の画素データと、前記セグメンテーション領域における画素毎の座標データと、前記セグメンテーション領域の画素毎の、当該画素を起点にした予め設定された基準点までのベクトルの単位ベクトルと、を訓練データとして、機械学習を実行して、学習モデルを生成する、学習モデル生成ステップを、
実行させる命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
【0110】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【0111】
以上のように本発明によれば、画像から人物の姿勢を推定する場合における推定精度の向上を図ることができる。本発明は、画像から人物の姿勢を推定することが求められる分野、例えば、画像監視の分野、スポーツの分野に有用である。
【符号の説明】
【0112】
10 学習モデル生成装置
11 学習モデル生成部
12 訓練データ取得部
13 訓練データ格納部
20 画像データ
21 人物(セグメンテーション領域)
22 基準点
30 姿勢推定装置
31 関節点検出部
32 基準点特定部
33 帰属決定部
34 姿勢推定部
35 画像データ取得部
36 帰属補正部
37 学習モデル格納部
40 画像データ
41、42 人物(セグメンテーション領域)
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス