(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022178909
(43)【公開日】2022-12-02
(54)【発明の名称】学習データ生成装置、姿勢推定装置、並びに、それらの方法およびプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20221125BHJP
【FI】
G06T7/00 660B
G06T7/00 350B
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021086034
(22)【出願日】2021-05-21
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】899000079
【氏名又は名称】慶應義塾
(74)【代理人】
【識別番号】100121706
【弁理士】
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【弁理士】
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【弁理士】
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】五十川 麻理子
(72)【発明者】
【氏名】三上 弾
(72)【発明者】
【氏名】山本 奏
(72)【発明者】
【氏名】堀 涼介
(72)【発明者】
【氏名】八馬 遼
(72)【発明者】
【氏名】斎藤 英雄
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096CA02
5L096DA02
5L096FA06
5L096FA67
5L096FA69
5L096HA09
5L096JA03
5L096JA11
5L096KA04
(57)【要約】
【課題】実用的なカメラセッティングで身体の姿勢推定を高精度に行う。
【解決手段】身体の姿勢推定を行う推定モデルの機械学習のために、対象に装着されたカメラで得られた撮影画像または当該撮影画像の模擬画像の何れかに基づく入力画像から、当該対象の身体のシルエット画像を得、当該シルエット画像を表す情報を含む学習データを得る。
【選択図】
図2
【特許請求の範囲】
【請求項1】
身体の姿勢推定を行う推定モデルの機械学習のための学習データを生成する学習データ生成装置であって、
対象に装着されたカメラで得られた撮影画像または前記撮影画像の模擬画像の何れかに基づく入力画像から、前記対象の身体のシルエット画像を得るシルエット画像生成部と、
前記シルエット画像を表す情報を含む前記学習データを得て出力する学習データ生成部と、
を有する学習データ生成装置。
【請求項2】
請求項1の学習データ生成装置であって、
前記シルエット画像生成部は、
第1基準点を中心とした正距円筒図法で前記入力画像を表現した第1画像から得られた第1シルエット画像と、前記第1基準点とは異なる第2基準点を中心とした正距円筒図法で前記入力画像を表現した第2画像に基づく第2シルエット画像と、を合成して前記シルエット画像を得る、
学習データ生成装置。
【請求項3】
請求項2の学習データ生成装置であって、
前記第2基準点は、前記第1基準点を鉛直方向および水平方向にシフトして得られる点である、学習データ生成装置。
【請求項4】
請求項1から3の何れかの学習データ生成装置であって、
前記撮影画像は、前記対象の手首に装着された前記カメラで撮影を行って得られる画像である、学習データ生成装置。
【請求項5】
身体の姿勢推定を行う姿勢推定装置であって、
請求項1から4の何れかの前記学習データ生成装置で得られた前記学習データを用いた機械学習によって得られた推定モデルに、姿勢推定対象に装着されたカメラ得られた撮影画像に基づく前記姿勢推定対象の身体のシルエット画像を適用し、前記姿勢推定対象の身体の姿勢推定結果を得て出力する姿勢推定装置。
【請求項6】
身体の姿勢推定を行う推定モデルの機械学習のための学習データを生成する学習データ生成方法であって、
対象に装着されたカメラで得られた撮影画像または前記撮影画像の模擬画像の何れかに基づく入力画像から、前記対象の身体のシルエット画像を得るシルエット画像生成ステップと、
前記シルエット画像を表す情報を含む前記学習データを得て出力する学習データ生成ステップと、
を有する学習データ生成方法。
【請求項7】
身体の姿勢推定を行う姿勢推定方法であって、
請求項1から4の何れかの前記学習データ生成装置で得られた前記学習データを用いた機械学習によって得られた推定モデルに、姿勢推定対象に装着されたカメラで得られた撮影画像に基づく前記姿勢推定対象の身体のシルエット画像を適用し、前記姿勢推定対象の身体の姿勢推定結果を得て出力する姿勢推定方法。
【請求項8】
請求項1から4の何れかの前記学習データ生成装置、または請求項5の前記姿勢推定装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習技術に関し、特に、学習データの生成技術に関する。
【背景技術】
【0002】
近年、視覚情報に基づく人間の三次元姿勢推定(Vision-based 3D human pose estimation)の研究が広く行われている。特に、ウェアラブルカメラを用いた姿勢推定は、多くのアプリケーションにおいて重要な意味を持つ。これまで、身体の頭部や胸部等に複数のカメラを装着し、それらで撮影された画像を用いて当該身体の姿勢推定を行う方法が提案されている(例えば、非特許文献1から4等参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】W. Xu, A. Chatterjee, M. Zollhofer, H. Rhodin, P. Fua, H. P. Seidel, and C. Theobalt, "Mo2Cap2: Real-time Mobile 3D Motion Capture with a Cap-mounted Fisheye Camera," IEEE Transactions on Visualization and Computer Graphics (TVCG), vol. 25, no. 5, pp. 2093 - 2101, 2019.
【非特許文献2】D. Tome, P. Peluse, L. Agapito, and H. Badino, "xREgoPose: Egocentric 3D Human Pose From an HMD Camera," in IEEE/CVF International Conference on Computer Vision (ICCV), 2019, pp. 7727-7737.
【非特許文献3】D. Tome, T. Alldieck, P. Peluse, G. Pons-Moll, L. Agapito, H. Badino, and F. De la Torre, "Self-Pose: 3D Egocentric Pose Estimation from a Headset Mounted Camera," IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI), p. 1-1, 2020.
【非特許文献4】D. H. Hwang, K. Aso, Y. Yuan, K. Kitani, and H. Koike, "MonoEye: Multimodal Human Motion Capture System Using A Single Ultra-Wide Fisheye Camera," in Proceedings of the 33rd Annual ACM Symposium on User Interface Software and Technology, 2020, pp. 98-111.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、三次元姿勢推定において、身体の複数個所に多くのカメラを装着することは実用的ではない。また、装着されるカメラの数を単純に減らしたのでは姿勢推定精度が著しく低下する。このような問題は人間の身体の三次元姿勢推定に限定されずことではなく、ペットや家畜などの他の動物やロボットなどの身体の姿勢推定にも共通するものである。
【0005】
本発明はこのような点に鑑みてなされたものであり、実用的なカメラセッティングで身体の姿勢推定を高精度に行うことを目的とする。
【課題を解決するための手段】
【0006】
身体の姿勢推定を行う推定モデルの機械学習のために、対象に装着されたカメラで得られた撮影画像または前記撮影画像の模擬画像の何れかに基づく入力画像から、当該対象の身体のシルエット画像を得、当該シルエット画像を表す情報を含む学習データを得る。
【発明の効果】
【0007】
このような学習データを用いることで、実用的なカメラセッティングで身体の姿勢推定を高精度に行うことができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は実施形態の姿勢推定システムの機能構成を例示するためのブロック図である。
【
図2】
図2Aは実施形態の学習データ生成装置の機能構成を例示するためのブロック図である。
図2Bは
図2Aのシルエット画像生成部の機能構成を例示するためのブロック図である。
【
図3】
図3は実施形態の姿勢推定装置の機能構成を例示するためのブロック図である。
【
図4】
図4Aは360°カメラを例示した図である。
図4Bは360°カメラで得られる撮影画像(カメラ・ビュー)を例示した図である。
図4Cは身体の三次元姿勢を例示した図である。
【
図5】
図5は実施形態のシルエット画像生成処理を例示するための概念図である。
【
図6】
図6は実施形態の姿勢推定処理を例示するための概念図である。
【
図9】
図9は実施形態の装置のハードウェア構成を例示するためのブロック図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して本発明の実施形態を説明する。
<構成>
図1に例示するように、本実施形態の姿勢推定システム1は、身体の姿勢推定を行う推定モデルの機械学習のための学習データを生成する学習データ生成装置11、当該学習データを用いて当該推定モデルの機械学習する学習装置12、および当該推定モデルを用いて身体の姿勢推定を行う姿勢推定装置13を有する。
【0010】
図2Aに例示するように、本実施形態の学習データ生成装置11は、シルエット画像生成部111、学習データ生成部112、記憶部113、および制御部114を有する。
図2Bに例示するように、シルエット画像生成部111は、例えば、シルエット抽出部111a,111c、シフト部111b、逆シフト部111d、および合成部111eを有する。なお、学習データ生成装置11の入力データおよび各部の処理で得られたデータは、記憶部113に格納され、必要に応じて読み出されて使用される。また、学習データ生成装置11は、制御部114の制御のもとで各処理を実行する。
【0011】
図3に例示するように、本実施形態の姿勢推定装置13は、シルエット画像生成部131、姿勢推定部132、記憶部133、および制御部134を有する。なお、姿勢推定装置13の入力データおよび各部の処理で得られたデータは、記憶部133に格納され、必要に応じて読み出されて使用される。また、姿勢推定装置13は、制御部134の制御のもとで各処理を実行する。
【0012】
<学習データ生成処理>
次に、本実施形態の学習データ生成装置11(
図2A)による学習データ生成処理を例示する。
学習データ生成装置11には、各フレームt=1,…,Tにおける入力画像V
1,…,V
Tおよび正解姿勢(ground-truth pose)データP
1,…,P
Tが入力される。tはフレーム番号を表す正整数であり、離散時間に対応する。Tは最大フレーム番号を表す正整数である。入力画像V
t(ただしt=1,…,T)は、対象に装着されたカメラで得られたフレームtの撮影画像(対象に装着されたカメラで撮影を行って得られる画像)に基づく画像であってもよいし、このような撮影画像の模擬画像に基づく画像であってもよい。入力画像V
tは、例えば、フレームtの撮影画像またはその模擬画像を正距円筒図形式(エクイレクタングラー(equirectangular)形式)に変換して得られる画像(正距円筒図法で表現した画像)であってもよいし、その他の形式に変換して得られる画像であってもよい。「対象」は人間であってもよいし、人間以外の動物であってもよいし、ロボット等の姿勢が変化する動作機構であってもよい。「カメラ」は周囲の映像を撮影する機器であり、360°カメラであってもよいし、その他の魚眼レンズカメラであってもよいし、通常の画角のカメラであってもよい。例えば、カメラが360°カメラである場合、入力画像V
tは360°画像である。対象に装着されるカメラの台数に限定はないが、例えば、1台のカメラが対象に装着される。また、カメラの対象への装着位置に限定はない。例えば、対象が人間である場合、必ずしも頭部や胸部といった体軸に近い位置にカメラが装着される必要はなく、手首や足首など体軸から遠い位置にカメラが装着されてもよい。例えば、
図4Aの例では、手首に1個のカメラ(例えば、360°カメラ)が装着されている。対象の手首に1個の360°カメラを装着した場合、その撮影画像は例えば
図4Bのようになる。手首に1個のカメラを装着する実用上の例としては、カメラを内蔵したスマートウォッチなどのウェアラブル機器を手首に装着するケースなどが挙げられる。「撮影画像」は実空間において対象に装着されたカメラで周囲を撮影して得られる画像であり、「模擬画像」は「撮影画像」をで模した画像(仮想空間でシミュレートした画像、すなわちコンピュータグラフィック)である。正解姿勢データP
t(ただしt=1,…,T)は、入力画像V
tに対応する対象の姿勢(例えば、三次元姿勢)を特定するデータ、すなわちフレームtの入力画像V
tに表された対象の姿勢を表すデータである。例えば、入力画像V
tは、当該対象の各関節や各可動機構の角度(屈曲角度)を要素とする集合(例えば、ベクトルや行列)であってもよいし、当該対象を仮想空間で模したアバター(例えば、
図4C参照)の各関節や各可動機構の角度を要素とする集合であってもよい。
【0013】
[シルエット画像生成部111の処理]
入力画像V1,…,VTはシルエット画像生成部111に入力される。シルエット画像生成部111は、入力画像V1,…,VTから、対象の身体のシルエット画像S1,…,STを得て出力する。シルエット画像St(ただしt=1,…,T)は、例えば、2値の画素からなる画像である。この場合、シルエット画像Stおける、身体の領域または当該身体の領域と推定される領域(対象に対応する領域)の画素値は値b0であり、それ以外の領域(背景領域)の画素値は値b1である。ただし、b0≠b1であり、値b0が表す画素は値b1が表す画素と異なる。値b0,b1に限定はないが、例えば、値b0が表す画素が黒色であり、値b1が表す画素が白色であってもよいし、その逆に値b0が表す画素が白色であり、値b1が表す画素が黒色であってもよい。このような場合、シルエット画像Stはモノトーン画像となる。その他、シルエット画像Stが輝度の異なる3値以上の画素からなる2色画像であってもよい。しかし、シルエット画像Stは2値の画素からなる画像であることが望ましい。
【0014】
入力画像V1,…,VTからシルエット画像S1,…,STを得る方法に限定はない。例えば、事前に機械学習された推定モデルMsに入力画像V1,…,VTを入力してシルエット画像S1,…,STを得てもよい。推定モデルMsは、例えば、ニューラルネットワークに基づくモデルであってもよいし、隠れマルコフモデル(hidden Markov model, HMM)等の確率モデルであってもよいし、サポートベクターマシーン(support vector machine, SVM)であってもよい。例えば、セマンティック・セグメンテーション(semantic segmentation)を行う推定モデルMsが用いられてもよい。このような推定モデルMsの一例は、参考文献1の学習データ(ADE20K dataset)を用いて機械学習された、参考文献2のセマンティック・セグメンテーション・ネットワーク(HRNet)に基づくモデルである。
参考文献1:B. Zhou, H. Zhao, X. Puig, T. Xiao, S. Fidler, A. Barriuso, and A. Torralba, “Semantic Understanding of Scenes Through the ADE20K Dataset,” International Journal on Computer Vision (IJCV), vol. 127, pp. 302-321, 2018.
参考文献2:K. Sun, B. Xiao, D. Liu, and J. Wang, "Deep High Resolution Representation Learning for Human Pose Estimation," in IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2019, pp. 5686-5696.
【0015】
入力画像Vtが正距円筒図法で表現した画像である場合、その上部と下部が歪む場合がある。例えば、入力画像Vtが正距円筒図法で表現された360°画像である場合、その画像の上部と下部は大きく歪む。そのため、入力画像Vtが正距円筒図法で表現した画像である場合、シルエット画像生成部111は、基準点O1(第1基準点)を中心とした正距円筒図法で入力画像Vtを表現した画像E1t(第1画像)から得られたシルエット画像S1t(第1シルエット画像)と、基準点O1(第1基準点)とは異なる基準点O2(第2基準点)を中心とした正距円筒図法で入力画像Vtを表現した画像E2t(第2画像)に基づくシルエット画像S2t(第2シルエット画像)と、を合成してシルエット画像Stを得てもよい。
【0016】
図2Bを用い、この場合のシルエット画像生成部111の処理を例示する。まず、シルエット画像生成部111に入力された入力画像V
1,…,V
Tは、シルエット抽出部111aおよびシフト部111bに入力される。シルエット抽出部111aは、基準点O
1を中心とした正距円筒図法で入力画像V
tを表現した画像E1
tから得られたシルエット画像S1
tを得て出力する。例えば、シルエット抽出部111aは、前述した推定モデルMsに入力画像V
1,…,V
Tを入力して、基準点O
1を中心とした正距円筒図法で入力画像V
1,…,V
Tを表現した画像E1
1,…,E1
Tからシルエット画像S1
1,…,S1
Tを得て出力する。V
t=E1
tであってもよいし、V
t≠E1
tであってもよい。シルエット画像S1
tは合成部111eに送られる。基準点O
1に限定はないが、例えば、予め定められた座標を基準点O
1としてもよいし、対象の所定の位置を基準点O
1としてもよい(ステップS111a)。シフト部111bは、入力画像V
tの基準点をO
1からO
2(ただしO
2≠O
1)にシフト(移動)した画像E2
t、すなわち基準点O
1とは異なる基準点O
2を中心とした正距円筒図法で入力画像V
tを表現した画像E2
tを得て出力する。前述のように、入力画像V
tが正距円筒図法で表現した画像である場合、その上部と下部が歪む場合があるため、基準点O
2は基準点O
1を鉛直方向(Pitch Axis方向)にシフトして得られる点であることが望ましい。これにより、歪が生じた上部と下部の領域について、より歪の少ない情報を得ることができる。その結果、後述の姿勢推定処理において、精度の高い姿勢推定が可能となる。または、基準点O
2が基準点O
1を鉛直方向および水平方向(Yaw Axis方向)にシフトして得られる点であってもよい。これにより、歪が生じた上部と下部の領域について、より多くの情報を得ることができ、姿勢推定処理において、より精度の高い姿勢推定が可能となる。または、基準点O
2が基準点O
1を水平方向にシフトさせた点であってもよい。これによっても、歪が生じた上部と下部の領域についての他の情報を得ることができ、姿勢推定処理において推定精度を改善することができる。シフト部111bは、各フレームtにおいて一つの基準点O
2のみついて、当該基準点O
2を中心とした正距円筒図法で入力画像V
tを表現した画像E2
tを得て出力してもよいし、各フレームtにおいて互いに異なる複数の基準点O
2について、それぞれの基準点O
2を中心とした正距円筒図法で入力画像V
tを表現した画像E2
tを得て出力してもよい。例えば、シフト部111bは、基準点O
1を鉛直方向にシフトさせた基準点O
2、基準点O
1を鉛直方向および水平方向にシフトさせた基準点O
2、および基準点O
1を水平方向にシフトさせた基準点O
2のそれぞれについて、それぞれの基準点O
2を中心とした正距円筒図法で入力画像V
tを表現した画像E2
tを得て出力してもよい。画像E2
tはシルエット抽出部111cに送られる(ステップS111b)。シルエット抽出部111cは、入力された画像E2
tからシルエット画像S2
tを得て出力する。例えば、シルエット抽出部111cは、前述した推定モデルMsに画像E2
1,…,E2
Tを入力してシルエット画像S2
1,…,S2
Tを得て出力する。各フレームtにおいて複数の基準点O
2についての複数の画像E2
tが入力される場合、シルエット抽出部111cは、各フレームtにおいて当該複数の基準点O
2についての複数の画像E2
tのシルエット画像S2
tを得て出力する。シルエット画像S2
tは逆シフト部111dに送られる(ステップS111c)。逆シフト部111dは、シルエット画像S1
tとS2
tを合成するために、まずシルエット画像S2
tの基準点をO
2からO
1に戻した画像(逆シフトした画像)、すなわち、基準点O
1を中心とした正距円筒図法でシルエット画像S2
tを表現したシルエット画像S3
tを得て出力する。シルエット画像S3
tは合成部111eに送られる(ステップS111d)。合成部111eは、入力されたシルエット画像S1
tおよびS3
tを合成してシルエット画像S
tを得て出力する。例えば、合成部111eは、シルエット画像S1
tおよびS3
tの互いに同じ座標(x,y)の画素値を論理OR演算して得られる値を当該座標(x,y)の画素値として得られる画像S’
tをシルエット画像S
tとして出力する。画像S’
tは、対象に対応する最大のシルエット領域(例えば、画素値がb
0の領域)を抽出したものとなる。あるいは、合成部111eは、画像S’
tのサイズを変更した画像をシルエット画像S
tとして出力してもよい(ステップS111e)。
【0017】
図5に、入力画像V
tが正距円筒図法で表現された360°画像である場合のシルエット画像生成部111の処理の具体例を示す。
シルエット抽出部111aは、基準点O
1を中心とした正距円筒図法で入力画像V
tを表現した画像E1
tから得られたシルエット画像S1
tを得て出力する(ステップS111a)。シフト部111bは、基準点O
1を鉛直方向に-30°シフトさせた基準点O
2、基準点O
1を鉛直方向に+30°シフトさせた基準点O
2、基準点O
1を水平方向に+240°シフトさせた基準点O
2、基準点O
1を水平方向に+120°シフトさせた基準点O
2、基準点O
1を鉛直方向に-30°かつ水平方向に+240°シフトさせた基準点O
2、基準点O
1を鉛直方向に-30°かつ水平方向に+120°シフトさせた基準点O
2、基準点O
1を鉛直方向に+30°かつ水平方向に+240°シフトさせた基準点O
2、および基準点O
1を鉛直方向に+30°かつ水平方向に+120°シフトさせた基準点O
2のそれぞれについて、それぞれの基準点O
2を中心とした正距円筒図法で入力画像V
tを表現した複数の画像E2
tを得て出力する(ステップS111b)。シルエット抽出部111cは、入力された画像E2
tからシルエット画像S2
tを得て出力する(ステップS111c)。逆シフト部111dは、シルエット画像S1
tとシルエット画像S2
tを合成するために、各基準点O
2を元の基準点O
1に逆シフトし、当該各基準点O
1を中心とした正距円筒図法でシルエット画像S2
tを表現したシルエット画像S3
tを得て出力する(ステップS111d)。合成部111eは、入力されたシルエット画像S1
tおよびS3
tを合成してシルエット画像S
tを得て出力する(ステップS111e)。
【0018】
[学習データ生成部112の処理]
正解姿勢データP1,…,PTおよびシルエット画像S1,…,STは、学習データ生成部112に入力される。学習データ生成部112は、各フレームt(ただし、t=1,…,T)についてシルエット画像Stと正解姿勢データPtとが対応つけられた学習データDt、すなわち、StとPtとのペアである学習データDt=(St,Pt)を得て出力する。
【0019】
<学習処理>
次に、本実施形態の学習装置12による学習処理を例示する。
学習装置12には学習データD
1,…,D
Tが入力される。学習装置12は、学習データD
1,…,D
Tを用いた機械学習を行い、姿勢推定対象の身体のシルエット画像s
1,…,s
Nから当該姿勢推定対象の身体の姿勢推定結果p
1,…,p
Nを推定する推定モデルMp
Θを得、当該推定モデルMp
Θを特定するモデルパラメータΘを出力する。n=1,…,Nはフレーム番号を表す正整数であり、離散時間に対応する。Nは最大フレーム番号を表す正整数である。「姿勢推定対象」の種別は前述の「対象」の種別と同一である。例えば、前述の「対象」が人間である場合、「姿勢推定対象」も人間である。推定モデルMp
Θはどのようなものであってもよい。例えば、推定モデルMp
Θは、ニューラルネットワークに基づくモデルであってもよいし、隠れマルコフモデル等の確率モデルであってもよいし、サポートベクターマシーンであってもよい。推定モデルMp
Θの一例は、各フレームnのシルエット画像s
nをモデル(例えば、ResNet)に適用して特徴ベクトルΨ
nを得、当該特徴ベクトルΨ
1,…,Ψ
Nをモデル(例えば、bidirectional long-short term memory,BiLSTM)に適用して各フレームnのビジュアルコンテキスト(visual context)φ
nを得、当該ビジュアルコンテキストφ
nに多層パーセプトロン(multi-layer perceptrons, MLPs)を適用し、姿勢推定対象の関節の推定角度を姿勢推定結果p
nとして出力するモデルである(
図6)。学習装置12は、例えば、t=1,…,Tの学習データD
t=(S
t,P
t)について、シルエット画像S
tを推定モデルMp
Θに入力して得られる結果Mp
Θ(S
t)と正解姿勢データP
tとの誤差(例えば、平均平方誤差)を最小化するモデルパラメータΘを得て出力する。例えば、学習装置12は、以下の損失関数L(Θ)を最小化するモデルパラメータΘを得て出力する。
L(Θ)=(Σ
t=1,…,T||Mp
Θ(S
t)-P
t||
2)/T (1)
ここで||α||はαのノルムを表す。
【0020】
<姿勢推定処理>
次に、本実施形態の姿勢推定装置13による姿勢推定処理を例示する。
姿勢推定装置13には、モデルパラメータΘおよび姿勢推定対象の入力画像v1,…,vNが入力される。入力画像vn(ただしt=1,…,T)は、姿勢推定対象に装着されたカメラで得られたフレームtの撮影画像(姿勢推定対象に装着されたカメラで撮影を行って得られる画像)に基づく画像である。入力画像vnに対応する撮影画像を得るカメラの種別、カメラの台数、カメラの装着位置は、前述の「入力画像Vt」に対応する撮影画像を得るカメラの種別、カメラの台数、カメラの装着位置と同一または近似する。また、「入力画像vn」の形式は「入力画像Vt」の形式と同一である。例えば、「入力画像vt」がフレームtの撮影画像またはその模擬画像を正距円筒図形式に変換して得られる画像である場合、「入力画像vn」はフレームtの撮影画像を正距円筒図形式に変換して得られる画像である。
【0021】
図3に例示するように、入力画像v
1,…,v
Nはシルエット画像生成部131に入力される。シルエット画像生成部131は、入力画像v
1,…,v
Nから、姿勢推定対象の身体のシルエット画像s
1,…,s
Nを得て出力する。なお、シルエット画像生成部131の処理は、入力画像V
1,…,V
Tが入力画像v
1,…,v
Nに置換され、シルエット画像S
1,…,S
Tがシルエット画像s
1,…,s
Nに置換される以外、前述のシルエット画像生成部111の処理と同じである。
【0022】
モデルパラメータΘおよびシルエット画像s
1,…,s
Nは、姿勢推定部132に入力される。姿勢推定部132は、モデルパラメータΘによって特定される推定モデルMp
Θ(学習データ生成装置11で得られた学習データD
1,…,D
Tを用いた機械学習によって得られた推定モデル)に、シルエット画像s
1,…,s
N(姿勢推定対象に装着されたカメラ得られた撮影画像に基づく姿勢推定対象の身体のシルエット画像)を適用し、当該姿勢推定対象の身体の姿勢推定結果p
1,…,p
Nを得て出力する(例えば、
図6参照)。
【0023】
<実験結果>
次に、本実施形態の方法の効果を示す実験結果を例示する。
[実験条件]
実験での対象および姿勢推定対象は人間であり、360°カメラを腕に装着し、歩行、ジャンプ、しゃがみ、手を上げるなどの様々な動作を行った。OptiTrackを用いて学習データ生成処理に用いる対象の身体の動きデータを得、得られた動きデータに基づいて仮想空間環境でアバターを構築し、そのアバターに基づいて学習データ生成処理に用いる入力画像V
1,…,V
Tおよび正解姿勢データP
1,…,P
Tを取得した。仮想空間環境にはUnityを用い、Mujocoを用いて52の自由度と19の剛性を持つアバターで姿勢を視覚化した。姿勢の推定精度の指標にはmean per-joint position error (MPJPE)を用いた。MPJPEは、推定された姿勢(例えば、推定された姿勢を表すベクトル)と正解の姿勢(例えば、正解の姿勢を表すベクトル)とのユークリッド距離を表す。すなわち、MPJPEが小さいほど推定精度が高い。実験では、以下のようにシルエット画像を得ることなく学習データを得るRGB方式と、1個の基準点のみを中心とした正距円筒図法で表現された入力画像のシルエット画像を用いる実施形態の方式(例えば、
図2Bにおいてシフト部111b、シルエット抽出部111c、逆シフト部111dが省略された方式)に相当するSS(Semantic Segmentation)方式と、
図5のように複数の基準点を中心とした正距円筒図法で入力画像を表現した画像から得たシルエット画像を合成して利用する実施形態の方式(Ours方式)とを比較した。
RGB方式:例えば、
図7Aのように可視化される動きデータに基づいて、
図7Bに例示するようなRGB画像(カラー画像)の仮想空間環境を構築した。この仮想空間環境でアバターは手首に360°カメラCを装着し、360°カメラCで
図7Cに例示するようなRGBの正距円筒図形式の入力画像を得た。このRGBの入力画像と当該アバターの正解姿勢データとを学習データとして機械学習を行い、姿勢の推定モデルを構築した。姿勢推定処理では、実空間で姿勢推定対象の手首に360°カメラを装着し、その360°カメラで得られた撮影画像を当該推定モデルに適用して姿勢推定結果を得た。
SS方式:例えば、
図7Aのように可視化される動きデータに基づいて、
図7Dに例示するような二値画像(モノクロ画像)の仮想空間環境を構築した。この仮想空間環境では対象が白で表現され、それ以外の背景が黒で表現される。この仮想空間環境でアバターは手首に360°カメラCを装着し、360°カメラCで撮影画像を得、その360°カメラで得られた撮影画像を、
図7Eに例示するように、単純に1個の基準点のみを中心とした正距円筒図法でシルエット画像に変換した。このシルエット画像と当該アバターの正解姿勢データとを学習データとして機械学習を行い、姿勢の推定モデルを構築した。姿勢推定処理では、実空間で姿勢推定対象の手首に360°カメラを装着し、その360°カメラで得られた撮影画像を、単純に1個の基準点のみを中心とした正距円筒図法で入力画像に変換し、当該入力画像を当該推定モデルに適用して姿勢推定結果を得た。
【0024】
[実験結果]
以下に、RGB方式、SS方式、およびOurs方式での姿勢推定精度を例示する。各方式において、歩行(Walk)、ジャンプ(Jump)、しゃがみ(Crouch)、手を上げる(Raise hand)といった動作を行った姿勢推定対象の姿勢推定を行い、それらのMPJPEを求めて姿勢推定精度を比較した。MPJPEは各動作および動作全体の両方について計算した。
【表1】
このように、各動作および動作全体ともOurs方式での推定精度が最も高く、次いでSS方式での推定精度が高く、RGB方式の推定精度が最も低い。
図8に、RGB方式、SS方式、およびOurs方式での姿勢推定結果を表すアバターの姿勢を視覚化した図(RGB,SS,Ours)と正解の姿勢を視覚化した図(GT)とを示す。これらからも分かるように、Ours方式での推定精度が最も高く、次にSS方式での推定精度が高く、RGB方式の推定精度が最も低い。
【0025】
<本実施形態の特徴>
以上のように、本実施形態では、学習データ生成装置11が、対象に装着されたカメラで得られた撮影画像または撮影画像の模擬画像の何れかに基づく入力画像から、対象の身体のシルエット画像を得、当該シルエット画像を表す情報を含む学習データを得る。学習装置12は、このように得られた学習データを用いた機械学習によって推定モデルを得る。姿勢推定装置13は、このように得られた推定モデルに、姿勢推定対象に装着されたカメラ得られた撮影画像に基づく姿勢推定対象の身体のシルエット画像を適用し、姿勢推定対象の身体の姿勢推定結果を得て出力する。これにより、カメラの位置や個数にかかわらず、実用的なカメラセッティングで、姿勢推定を高精度に行うことができる。
【0026】
また、一般に仮想空間環境でコンピュータグラフィックを用いて学習データを生成し、そのような学習データで機械学習を行って得られた推定モデルを実空間環境に適用した場合、ドメインギャップと呼ばれる環境の違いに起因する誤差が生じ、機械学習がうまくいかずに推定精度が低下してしまう。しかしながら、本実施形態ではシルエット画像を学習データとして用い、姿勢推定の際にもシルエット画像を得られた推定モデルに適用するため、ドメインギャップによる誤差を小さくすることができる。その結果、仮想空間環境でコンピュータグラフィックを用いて学習データを生成した場合であっても、精度の高い姿勢推定を行うことができる。一般に、実環境で得られたデータに基づいて学習データを得ようとすると、手作業を含む膨大で煩雑な事前処理が必要となるが、本実施形態では仮想空間環境で得たデータを用いて学習データを生成し、高い推定精度を実現できるため、学習データが生成の手間が大幅に軽減される。
【0027】
[ハードウェア構成]
各実施形態における学習データ生成装置11、学習装置12、および姿勢推定装置13は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。すなわち、各実施形態における学習データ生成装置11、学習装置12、および姿勢推定装置13は、例えば、それぞれが有する各部を実装するように構成された処理回路(processing circuitry)を有する。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、単独で処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
【0028】
図9は、各実施形態における学習データ生成装置11、学習装置12、および姿勢推定装置13のハードウェア構成を例示したブロック図である。
図9に例示するように、この例の学習データ生成装置11、学習装置12、および姿勢推定装置13は、CPU(Central Processing Unit)10a、入力部10b、出力部10c、RAM(Random Access Memory)10d、ROM(Read Only Memory)10e、補助記憶装置10f及びバス10gを有している。この例のCPU10aは、制御部10aa、演算部10ab及びレジスタ10acを有し、レジスタ10acに読み込まれた各種プログラムに従って様々な演算処理を実行する。また、入力部10bは、データが入力される入力端子、キーボード、マウス、タッチパネル等である。また、出力部10cは、データが出力される出力端子、ディスプレイ、所定のプログラムを読み込んだCPU10aによって制御されるLANカード等である。また、RAM10dは、SRAM (Static Random Access Memory)、DRAM (Dynamic Random Access Memory)等であり、所定のプログラムが格納されるプログラム領域10da及び各種データが格納されるデータ領域10dbを有している。また、補助記憶装置10fは、例えば、ハードディスク、MO(Magneto-Optical disc)、半導体メモリ等であり、所定のプログラムが格納されるプログラム領域10fa及び各種データが格納されるデータ領域10fbを有している。また、バス10gは、CPU10a、入力部10b、出力部10c、RAM10d、ROM10e及び補助記憶装置10fを、情報のやり取りが可能なように接続する。CPU10aは、読み込まれたOS(Operating System)プログラムに従い、補助記憶装置10fのプログラム領域10faに格納されているプログラムをRAM10dのプログラム領域10daに書き込む。同様にCPU10aは、補助記憶装置10fのデータ領域10fbに格納されている各種データを、RAM10dのデータ領域10dbに書き込む。そして、このプログラムやデータが書き込まれたRAM10d上のアドレスがCPU10aのレジスタ10acに格納される。CPU10aの制御部10aaは、レジスタ10acに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すRAM10d上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部10abに順次実行させ、その演算結果をレジスタ10acに格納していく。このような構成により、学習データ生成装置11、学習装置12、および姿勢推定装置13の機能構成が実現される。
【0029】
上述のプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
【0030】
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。上述のように、このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0031】
各実施形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【0032】
なお、本発明は上述の実施形態に限定されるものではない。例えば、本実施形態では、教師あり学習を前提とし、学習データ生成装置11が、シルエット画像Stと正解姿勢データPtとのペアを学習データDt=(St,Pt)として生成した。しかしながら、本発明が教師なし学習に適用されてもよい。すなわち、学習データ生成装置11が、シルエット画像Stを含み正解姿勢データPtを含まない学習データDtを生成してもよい。この場合、学習装置12は学習データDtを用いた機械学習によって推定モデルMpΘを得、姿勢推定装置13は、当該推定モデルMpΘに姿勢推定対象の身体のシルエット画像を適用し、当該姿勢推定対象の身体の姿勢推定結果を得て出力する。
【0033】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【符号の説明】
【0034】
1 姿勢推定システム
11 学習データ生成装置
111 シルエット画像生成部
112 学習データ生成部
12 学習装置
13 姿勢推定装置