(57)【要約】【課題】画像内のオクルージョン領域に含まれる被写体の関節情報を学習すること。【解決手段】学習装置は、基準画像を含む時系列に連続した複数の画像からなる第１画像群を取得し、前記基準画像と、前記基準画像以外の前記第１画像群に含まれる各画像と、の差分に基づく第１時系列情報を生成する時系列情報生成部と、前記基準画像と前記第１時系列情報とを用いて機械学習を行うことにより、処理の対象となる画像である対象画像と、前記対象画像を含む時系列に連続した複数の画像からなる第２画像群から生成された第２時系列情報と、に基づいて前記対象画像に対応する深度情報と前記対象画像に撮像されている被写体のシルエット情報とを推定するための第１学習結果を取得する第１学習部と、を備える。【選択図】図１
2019139517.tif 000002
【特許請求の範囲】
【請求項１】
基準画像を含む時系列に連続した複数の画像からなる第１画像群を取得し、前記基準画像と、前記基準画像以外の前記第１画像群に含まれる各画像と、の差分に基づく第１時系列情報を生成する時系列情報生成部と、
前記基準画像と前記第１時系列情報とを用いて機械学習を行うことにより、処理の対象となる画像である対象画像と、前記対象画像を含む時系列に連続した複数の画像からなる第２画像群から生成された第２時系列情報と、に基づいて前記対象画像に対応する深度情報と前記対象画像に撮像されている被写体のシルエット情報とを推定するための第１学習結果を取得する第１学習部と、
を備える学習装置。
【請求項２】
前記第１学習部は、前記基準画像と前記第１時系列情報との入力に対して前記基準画像に対応する前記深度情報と前記基準画像に撮像されている前記被写体の前記シルエット情報とを出力するディープニューラルネットワークの、構成情報とパラメータ情報とを示す前記第１学習結果を取得する
請求項１に記載の学習装置。
【請求項３】
請求項１に記載の学習装置から取得した前記第１学習結果と、前記対象画像と、前記第２時系列情報とを用いて、前記対象画像に対応する前記深度情報と前記対象画像に撮像されている前記被写体の前記シルエット情報とを推定する第１推定部、
を備える推定装置。
【請求項４】
前記基準画像に撮像されている前記被写体の前記シルエット情報を用いて機械学習を行うことにより、前記対象画像に撮像されている前記被写体の前記シルエット情報を用いて前記対象画像に撮像されている前記被写体の関節情報を推定するための第２学習結果を取得する第２学習部と、
前記対象画像に撮像されている前記被写体の前記シルエット情報と前記第２学習結果とを用いて前記対象画像に撮像されている前記被写体の前記関節情報を推定する第２推定部と、
をさらに備える請求項３に記載の推定装置。
【請求項５】
基準画像を含む時系列に連続した複数の画像からなる第１画像群を取得し、前記基準画像と、前記基準画像以外の前記第１画像群に含まれる各画像と、の差分に基づく第１時系列情報を生成する時系列情報生成ステップと、
前記基準画像と前記第１時系列情報とを用いて機械学習を行うことにより、処理の対象となる画像である対象画像と、前記対象画像を含む時系列に連続した複数の画像からなる第２画像群から生成された第２時系列情報と、に基づいて前記対象画像に対応する深度情報と前記対象画像に撮像されている被写体のシルエット情報とを推定するための学習結果を取得する学習ステップと、
を有する学習方法。
【請求項６】
請求項５に記載の学習方法によって取得された前記学習結果と、前記対象画像と、前記第２時系列情報とを用いて、前記対象画像に対応する前記深度情報と前記対象画像に撮像されている前記被写体の前記シルエット情報とを推定する推定ステップ、
を有する推定方法。
【請求項７】
請求項１又は請求項２に記載の学習装置としてコンピュータを機能させるためのコンピュータプログラム。
【請求項８】
請求項３又は請求項４に記載の推定装置としてコンピュータを機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、推定装置、学習方法、推定方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
人間の関節の動きを計測する技術を応用することによって、映画等に登場する人を模したコンピュータグラフィックスのキャラクターに、生き生きとした動作を与えることができる。そのため、人間の関節の動きを計測する技術は、コンテンツの品質向上を実現するために必要不可欠な技術である。また、上記の映画等のエンタテインメントの分野以外の分野においても、人間の関節の動きを計測する技術は広く用いられている。例えば、医療の分野においては、人間の関節の動きを計測する技術は、患者の容体を把握するための情報として重要である。
【０００３】
このように、人間の関節の動きに関する情報（以下「関節情報」という。）は様々な分野において重要な情報である。しかしながら、関節情報の取得には多大な手間が伴う。例えば、関節情報の取得技術として、モーションキャプチャを用いたデータ取得技術がある。モーションキャプチャでは、計測する対象の人物に専用のスーツを着て動作を行ってもらう必要があり、さらには、事前に空間のキャリブレーションを行う必要がある等、煩雑な作業が必要である。モーションキャプチャ以外の技術に関しても、特殊な機器を必要としたり、限定的な環境でしか利用できなかったりする等、様々な問題を抱えている。
【０００４】
このような問題に対し、ディープラーニングを用いて、画像に写る被写体の関節情報をロバストに推定する技術がある（例えば非特許文献１参照）。この技術では、画像内に複数の人物が存在していたとしても、ロバストな推定が可能である。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Zhe Cao, Tomas Simon, Shih-En Wei, Yaser Sheikh, "Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields", IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017年4月
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、画像に複数の人物が写っている場合、複数の人物が重なり合って写っていることがある。例えばスポーツの場面等、人物が密集しやすい場面が撮像された画像においては、人物同士が重なり合うことにより、手前側に位置する人物によって奥側に位置する人物の一部が遮蔽された領域（以下「オクルージョン領域」という。）が発生することは避けられない。そのため、画像から得られる関節情報をより幅広く活用するためには、オクルージョン領域に含まれる人物の関節情報についても精度高く推定することが求められている。
【０００７】
しかしながら従来技術では、オクルージョン領域が含まれる画像を対象とする場合、オクルージョン領域に含まれる人物の関節情報の推定精度がとくに低下しやすいという課題がある。また、従来、誤推定を避けるために、そもそもオクルージョン領域については、関節情報の推定が行われないことがある。誤推定が生じた場合、あるいは、オクルージョン領域については推定が行われない場合、得られた関節情報を、例えばコンピュータグラフィックスの生成やアニメーションの生成等の用途に用いることが困難になる。
【０００８】
本発明は、このような事情を考慮してなされたものであり、画像内のオクルージョン領域に含まれる被写体の関節情報を学習することができる学習装置、推定装置、学習方法、推定方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一態様は、基準画像を含む時系列に連続した複数の画像からなる第１画像群を取得し、前記基準画像と、前記基準画像以外の前記第１画像群に含まれる各画像と、の差分に基づく第１時系列情報を生成する時系列情報生成部と、前記基準画像と前記第１時系列情報とを用いて機械学習を行うことにより、処理の対象となる画像である対象画像と、前記対象画像を含む時系列に連続した複数の画像からなる第２画像群から生成された第２時系列情報と、に基づいて前記対象画像に対応する深度情報と前記対象画像に撮像されている被写体のシルエット情報とを推定するための第１学習結果を取得する第１学習部と、を備える学習装置である。
【００１０】
また、本発明の一態様は、上記の学習装置であって、前記第１学習部は、前記基準画像と前記第１時系列情報との入力に対して前記基準画像に対応する前記深度情報と前記基準画像に撮像されている前記被写体の前記シルエット情報とを出力するディープニューラルネットワークの、構成情報とパラメータ情報とを示す前記第１学習結果を取得する。
【００１１】
また、本発明の一態様は、上記の学習装置から取得した前記第１学習結果と、前記対象画像と、前記第２時系列情報とを用いて、前記対象画像に対応する前記深度情報と前記対象画像に撮像されている前記被写体の前記シルエット情報とを推定する第１推定部、を備える推定装置である。
【００１２】
また、本発明の一態様は、上記の推定装置であって、前記基準画像に撮像されている前記被写体の前記シルエット情報を用いて機械学習を行うことにより、前記対象画像に撮像されている前記被写体の前記シルエット情報を用いて前記対象画像に撮像されている前記被写体の関節情報を推定するための第２学習結果を取得する第２学習部と、前記対象画像に撮像されている前記被写体の前記シルエット情報と前記第２学習結果とを用いて前記対象画像に撮像されている前記被写体の前記関節情報を推定する第２推定部と、をさらに備える。
【００１３】
また、本発明の一態様は、基準画像を含む時系列に連続した複数の画像からなる第１画像群を取得し、前記基準画像と、前記基準画像以外の前記第１画像群に含まれる各画像と、の差分に基づく第１時系列情報を生成する時系列情報生成ステップと、前記基準画像と前記第１時系列情報とを用いて機械学習を行うことにより、処理の対象となる画像である対象画像と、前記対象画像を含む時系列に連続した複数の画像からなる第２画像群から生成された第２時系列情報と、に基づいて前記対象画像に対応する深度情報と前記対象画像に撮像されている被写体のシルエット情報とを推定するための学習結果を取得する学習ステップと、を有する学習方法である。
【００１４】
また、本発明の一態様は、上記の学習方法によって取得された前記学習結果と、前記対象画像と、前記第２時系列情報とを用いて、前記対象画像に対応する前記深度情報と前記対象画像に撮像されている前記被写体の前記シルエット情報とを推定する推定ステップ、を有する推定方法である。
【００１５】
また、本発明の一態様は、上記の学習装置としてコンピュータを機能させるためのコンピュータプログラムである。
【００１６】
また、本発明の一態様は、上記の推定装置としてコンピュータを機能させるためのコンピュータプログラムである。
【発明の効果】
【００１７】
本発明によれば、画像内のオクルージョン領域に含まれる被写体の関節情報を学習することができる。
【図面の簡単な説明】
【００１８】
【図１】推定装置の構成を示す概略ブロック図。
【図２】推定装置による推定処理の動作を示すフローチャート。
【図３】時系列情報生成部の機能構成を示すブロック図。
【図４】時系列情報生成部による時系列情報生成処理の動作を示すフローチャート。
【図５】シルエット情報生成部の機能構成を示すブロック図。
【図６】シルエット情報生成部による学習処理の動作を示すフローチャート。
【図７】シルエット情報生成部による推定処理の動作を示すフローチャート。
【図８】関節情報生成部の機能構成を示すブロック図。
【図９】関節情報生成部による学習処理の動作を示すフローチャート。
【図１０】関節情報生成部による推定処理の動作を示すフローチャート。
【発明を実施するための形態】
【００１９】
＜実施形態＞
以下、本発明の一実施形態について、図面を参照しながら説明する。
【００２０】
［推定装置の構成］
以下、推定装置１の構成の概略について説明する。
推定装置１は、画像（例えば、動画像の１フレーム）に撮像されている被写体の関節情報の推定を行うための装置である。特に、推定装置１は、複数の被写体が画像の奥行き方向に重なり合って撮像された画像から、奥側に位置する被写体のオクルージョン領域の関節情報を推定する。
【００２１】
なお、オクルージョン領域とは、上述したように、被写体同士が重なり合うことにより、手前側に位置する被写体によって遮蔽された、奥側に位置する被写体の一部又は全部の領域のことである。
【００２２】
推定装置１は、関節情報の推定の対象となる画像（以下「対象画像」という。）を入力として、関節情報を推定し、出力する。なお、関節情報とは、上述したように、被写体の関節の動きに関する情報である。関節情報には、例えば、被写体が有する関節の部位を示す情報及び関節の位置を示す情報等が含まれる。
【００２３】
なお、以下の説明において、被写体は人物であるものとする。但し、被写体は、人物に限られるものではなく、例えば、動物、昆虫又はロボット等の、関節を有するその他の生物又は物体であってもよい。
【００２４】
図１は、推定装置１の構成を示す概略ブロック図である。図１に示すように、推定装置１は、時系列情報生成部１０と、シルエット情報生成部２０と、関節情報生成部３０と、を含んで構成される。
【００２５】
時系列情報生成部１０は、時系列に連続した複数の画像（フレーム）からなる画像群を取得する。
【００２６】
時系列情報生成部１０は、画像群に含まれる画像の１つである対象画像と、対象画像以外の各画像と、の差分に基づく情報（以下「差分情報」という。）をそれぞれ生成する。差分情報とは、対象画像と対象画像以外の画像との間の相違を表す情報である。上記生成された差分情報の集合を、以下「時系列情報」という。なお、差分情報として、例えば、物体の動きをベクトルで表すオプティカルフローによって示される各画素の移動量等を用いることができる。
【００２７】
時系列情報生成部１０は、対象画像と、生成した時系列情報とを、シルエット情報生成部２０へ出力する。
【００２８】
シルエット情報生成部２０は、時系列情報生成部１０から出力された対象画像と時系列情報とを取得する。シルエット情報生成部２０は、取得した対象画像と時系列情報とを用いて、対象画像における深度情報と、対象画像に撮像された人物のシルエット情報と、を推定する。深度情報とは、カメラから撮像された物体までの距離を画素ごとに示す情報である。また、シルエット情報とは、画像において、オクルージョン領域を有する人物（奥側に位置する人物）のシルエット（Silhouette）を示す情報である。
【００２９】
対象画像における深度情報の推定及びシルエット情報の推定には、例えば、ＤＮＮ（Deep Neural Network：ディープニューラルネットワーク）等の機械学習の手法が用いられる。なお、深度情報とシルエット情報は、順に推定される構成であってもよいし、あるいは同時に推定される構成であってもよい。以下の説明においては、深度情報とシルエット情報は、順に推定されるものとする。
【００３０】
シルエット情報生成部２０は、推定したシルエット情報を関節情報生成部３０へ出力する。
【００３１】
関節情報生成部３０は、シルエット情報生成部２０から出力されたシルエット情報を取得する。関節情報生成部３０は、取得したシルエット情報を用いて、対象画像に撮像された人物の関節情報を推定する。関節情報とは、上述したように、被写体（ここでは人物）の関節の動きに関する情報である。
【００３２】
対象画像に撮像された人物の関節情報の推定には、例えば、ＤＮＮ等の機械学習の手法が用いられる。関節情報生成部３０は、推定した関節情報を外部の装置へ出力する。
【００３３】
［推定装置による推定処理の動作］
以下、推定装置１による推定処理の動作の一例について説明する。
図２は、推定装置１による推定処理の動作を示すフローチャートである。
【００３４】
時系列情報生成部１０は、時系列に連続した複数の画像（フレーム）からなる画像群を入力として、取得した画像群に含まれる対象画像と対象画像以外の各画像とのそれぞれの差分に基づく時系列情報を生成する（ＡＣＴ００１）。
【００３５】
シルエット情報生成部２０は、時系列情報生成部１０によって生成された対象画像と時系列情報とを入力として、対象画像における深度情報と対象画像に撮像された人物のシルエット情報とを生成する（ＡＣＴ００２）。
【００３６】
関節情報生成部３０は、シルエット情報生成部２０によって生成されたシルエット情報を入力として、対象画像に撮像された人物の関節情報を生成する（ＡＣＴ００３）。
以上で、図２のフローチャートによって示される、推定装置１による推定処理の動作が終了する。
【００３７】
以下、時系列情報生成部１０、シルエット情報生成部２０及び関節情報生成部３０の構成について、図面を参照しながら更に詳細に説明する。
【００３８】
［時系列情報生成部の機能構成］
以下、時系列情報生成部１０の機能構成について説明する。
図３は、時系列情報生成部１０の機能構成を示すブロック図である。図３に示すように、時系列情報生成部１０は、Ｓ個の画像差分算出部１０１を含んで構成される。ここで、Ｓの値は任意の整数であり、後述する比較画像の数の最大値に相当する。
【００３９】
時系列情報生成部１０は、まず、入力された画像群に含まれる画像の１つを基準画像と定める。時系列情報生成部１０は、基準画像と比較する対象の画像（以下「比較画像」という。）の数Ｓを決定する。時系列情報生成部１０は、入力された画像群から、基準画像を含む連続したＳ個の画像（フレーム）群を抽出する。
【００４０】
なお、推定装置１が行う処理には、学習データを用いて機械学習を行う処理と、機械学習による学習結果と対象画像を含む画像群とに基づいて関節情報を推定する処理とがある。学習処理においては、上記の基準画像は、関節情報の学習の対象となる画像である。また、推定処理においては、上記の基準画像は、関節情報の推定の対象となる画像（すなわち、上述した対象画像）である。
【００４１】
Ｓ個の画像差分算出部１０１は、それぞれ、基準画像をＮ番目のフレームの画像とした場合、Ｎ＋ａ番目のフレームの画像を基準画像と比較する対象の画像（以下「比較画像」という。）とする。ここで、ａは、１以上Ｓ以下の整数である。また、Ｓは１以上の任意の整数である。画像差分算出部１０１は、基準画像と比較画像との間の差分に基づく差分情報を算出する。
なお、Ｘ番目のフレームを、以下「Ｘフレーム」という。また、Ｘは１以上の任意の整数である。
【００４２】
なお、例えば、オプティカルフローを算出することによって画像平面上のｘｙ方向に分離した２枚の画像を、１つの差分情報の単位として扱うことができる。但し、差分情報の構成はこれに限られるものではない。差分情報は、これ以外の枚数（例えば、１枚、３枚又は４枚等）の画像の組み合わせを１つの単位とした情報であってもよい。あるいは、差分情報は、オプティカルフローの算出とは異なる処理によって生成される情報であってもよい。
【００４３】
時系列情報生成部１０は、基準画像と、Ｓ個の画像差分算出部１０１によってそれぞれ算出したＳ個の差分情報からなる時系列情報とを、シルエット情報生成部２０へ出力する。
【００４４】
［時系列情報生成部による時系列情報生成処理の動作］
以下、時系列情報生成部１０による時系列情報生成処理の動作の一例について説明する。
図４は、時系列情報生成部１０による時系列情報生成処理の動作を示すフローチャートである。
【００４５】
まず、時系列情報生成部１０は、差分情報を算出するフレーム数（比較対象とする画像の数）の最大値Ｓを決定する（ＡＣＴ１０１）。
【００４６】
次に、時系列情報生成部１０は、ａ＝１として（ＡＣＴ１０２）、画像差分算出部１０１によりＮフレームの画像とＮ＋ａフレームの画像との差分情報を算出する。時系列情報生成部１０は、算出された差分情報を一時記憶領域（図示せず）に保存する（ＡＣＴ１０３）。なお、一時記憶領域は、例えば、半導体メモリ又は磁気ディスク等の記憶媒体によって構成される。
【００４７】
次に、ａの値がＳ未満である場合（ＡＣＴ１０４：ＹＥＳ）、ａの値に１を加えた値を新たなａの値とする（すなわち、ａの値をインクリメントする）（ＡＣＴ１０５）。そして、時系列情報生成部１０は、画像差分算出部１０１によりＮフレームの画像とＮ＋ａフレームの画像との差分情報を算出する処理を、ａの値がＳ以上となるまで繰り返す。これにより、Ｓ個の差分情報からなる時系列情報が一時記憶領域（図示せず）に保存される。
【００４８】
ａの値がＳ以上となった場合（ＡＣＴ１０４：ＮＯ）、図４のフローチャートによって示される、時系列情報生成部１０による時系列情報生成処理の動作が終了する。
【００４９】
［シルエット情報生成部の機能構成］
以下、シルエット情報生成部２０の機能構成について説明する。
図５は、シルエット情報生成部２０の機能構成を示すブロック図である。図５に示すように、シルエット情報生成部２０は、学習部２００と、推定部２０３と、を含んで構成される。
【００５０】
学習部２００（第１学習部）は、学習データである、基準画像と、基準画像を含む時系列に連続した複数の画像（フレーム）からなる画像群（第１画像群）から生成された時系列情報（第１時系列情報）と、を用いて機械学習を行う。これにより、学習部２００は、処理の対象となる画像である対象画像と、対象画像を含む時系列に連続した複数の画像（フレーム）からなる画像群（第２画像群）から生成された時系列情報（第２時系列情報）と、に基づいて対象画像に対応する深度情報と対象画像に撮像されている被写体のシルエット情報とを推定するための学習結果（第１学習結果）を取得する。
【００５１】
図５に示すように、学習部２００は、深度情報学習部２０１と、シルエット情報学習部２０２と、を含んで構成される。
【００５２】
深度情報学習部２０１は、学習データを用いて機械学習を行うことによって、学習結果（以下「深度学習結果」という。）を取得する。ここでいう深度学習結果とは、処理の対象となる画像である対象画像から、対象画像に対応する深度情報を推定するための学習結果である。
【００５３】
ここで、機械学習の手法として、カラー画像から深度情報を推定するＤＮＮを用いることができる。但し、ここで用いられる機械学習の手法はＤＮＮに限られるものではなく、その他の機械学習の手法が用いられても構わない。ＤＮＮが用いられる場合、入力される学習データは、例えば、複数の、基準画像と深度情報と組み合わせデータである。また、学習結果は、例えば、ＤＮＮの構成情報及びパラメータ情報である。また、学習時に得られた深度情報は、シルエット情報学習部２０２へ出力され、シルエット情報の学習に用いられる構成であってもよい。
【００５４】
シルエット情報学習部２０２は、学習データを用いて機械学習を行うことによって、学習結果（以下「シルエット学習結果」という。）を取得する。ここでいうシルエット学習結果とは、処理の対象となる画像である対象画像と、対象画像を含む時系列に連続した複数の画像からなる画像群（第２画像群）から生成された時系列情報と、深度情報算出部２０４によって算出される深度情報と、に基づいて、対象画像に撮像されている被写体（人物）のシルエット情報を推定するための学習結果である。
【００５５】
ここで、機械学習の手法としてＤＮＮを用いることができる。但し、ここで用いられる機械学習の手法はＤＮＮに限られるものではなく、その他の機械学習の手法が用いられても構わない。ＤＮＮが用いられる場合、入力される学習データは、例えば、複数の、基準画像と時系列情報（第１時系列情報）とシルエット情報との組み合わせデータである。また、学習結果は、例えば、ＤＮＮの構成情報及びパラメータ情報である。なお、学習データとして、深度情報学習部２０１から出力された深度情報がさらに用いられる構成であってもよい。
【００５６】
推定部２０３（第１推定部）は、学習部２００から取得した学習結果（深度学習結果及びシルエット学習結果からなる第１学習結果）と、対象画像と、時系列情報（第２時系列情報）とを用いて、対象画像に対応する深度情報と対象画像に撮像されている被写体のシルエット情報とを推定する。図５に示すように、推定部２０３は、深度情報算出部２０４と、シルエット情報算出部２０５と、を含んで構成される。
【００５７】
深度情報算出部２０４は、時系列情報生成部１０から取得した対象画像及び時系列情報（第２時系列情報）と、深度情報学習部２０１から取得した深度学習結果とに基づいて、深度情報を算出する。深度情報算出部２０４は、算出した深度情報をシルエット情報算出部２０５へ出力する。
【００５８】
ここで、機械学習に基づく推定（深度情報の生成）の手法としてＤＮＮを用いることができる。但し、ここで用いられる機械学習の手法はＤＮＮに限られるものではなく、その他の機械学習の手法が用いられても構わない。
【００５９】
シルエット情報算出部２０５は、時系列情報生成部１０から取得した、対象画像及び時系列情報（第２時系列情報）と、深度情報算出部２０４から取得した深度情報と、シルエット情報学習部２０２から取得したシルエット学習結果とに基づいて、シルエット情報を算出する。シルエット情報算出部２０５は、算出したシルエット情報を関節情報生成部３０へ出力する。
【００６０】
ここで、機械学習に基づく推定（シルエット情報の生成）の手法としてＤＮＮを用いることができる。但し、ここで用いられる機械学習の手法はＤＮＮに限られるものではなく、その他の機械学習の手法が用いられても構わない。
【００６１】
［シルエット情報生成部による学習処理の動作］
以下、シルエット情報生成部２０による学習処理の動作の一例について説明する。
図６は、シルエット情報生成部２０による学習処理の動作を示すフローチャートである。なお、以下の説明においては、機械学習の手法としてＤＮＮを用いられるものとする。
【００６２】
深度情報学習部２０１は、学習データから、深度情報の推定に用いられるＤＮＮの構成情報とパラメータとを算出する（ＡＣＴ２０１）。深度情報学習部２０１は、算出したＤＮＮの構成情報とパラメータとを、深度情報算出部２０４へ出力する（ＡＣＴ２０２）。
【００６３】
シルエット情報学習部２０２は、学習データから、シルエット情報の推定に用いられるＤＮＮの構成情報とパラメータとを算出する（ＡＣＴ２０３）。シルエット情報学習部２０２は、算出したＤＮＮの構成情報とパラメータとを、シルエット情報算出部２０５へ出力する（ＡＣＴ２０４）。
以上で、図６のフローチャートによって示される、シルエット情報生成部２０による学習処理の動作が終了する。
【００６４】
［シルエット情報生成部による推定処理の動作］
以下、シルエット情報生成部２０による推定処理の動作の一例について説明する。
図７は、シルエット情報生成部２０による推定処理の動作を示すフローチャートである。なお、以下の説明においては、機械学習に基づく推定の手法としてＤＮＮが用いられるものとする。
【００６５】
深度情報算出部２０４は、時系列情報生成部１０から取得した対象画像及び時系列情報と、深度情報学習部２０１から取得した深度学習結果とに基づいて、ＤＮＮを用いて深度情報を算出する（ＡＣＴ２１１）。深度情報算出部２０４は、算出した深度情報をシルエット情報算出部２０５へ出力する（ＡＣＴ２１２）。
【００６６】
シルエット情報算出部２０５は、時系列情報生成部１０から取得した対象画像及び時系列情報と、深度情報算出部２０４から取得した深度情報と、深度情報学習部２０１から取得した深度学習結果とに基づいて、シルエット情報を算出する（ＡＣＴ２１３）。シルエット情報算出部２０５は、算出したシルエット情報を関節情報生成部３０４へ出力する（ＡＣＴ２１４）。
以上で、図７のフローチャートによって示される、シルエット情報生成部２０による推定処理の動作が終了する。
【００６７】
［関節情報生成部の機能構成］
以下、関節情報生成部３０の機能構成について説明する。
図８は、関節情報生成部３０の機能構成を示すブロック図である。図８に示すように、関節情報生成部３０は、関節情報学習部３０１と、関節情報算出部３０２と、を含んで構成される。
【００６８】
関節情報学習部３０１（第２学習部）は、学習データを用いて機械学習を行うことによって、学習結果（以下「関節学習結果」という。）を取得する。ここでいう関節学習結果（第２学習結果）とは、シルエット情報生成部２０によって生成されたシルエット情報から関節情報を推定するための学習結果である。
【００６９】
ここで、機械学習の手法として、ＤＮＮを用いることができる。但し、ここで用いられる機械学習の手法はＤＮＮに限られるものではなく、その他の機械学習の手法が用いられても構わない。ＤＮＮが用いられる場合、学習データは、例えば、複数の、シルエット情報と関節情報との組み合わせデータである。また、学習結果は、例えば、ＤＮＮの構成情報及びパラメータ情報である。
【００７０】
関節情報算出部３０２（第２推定部）は、シルエット情報生成部２０から取得したシルエット情報と、関節情報学習部３０１から取得した関節学習結果とに基づいて、関節情報を算出する。関節情報算出部３０２は、算出した関節情報を外部の装置へ出力する。
【００７１】
［関節情報生成部による学習処理の動作］
以下、関節情報生成部３０による学習処理の動作の一例について説明する。
図９は、関節情報生成部３０による学習処理の動作を示すフローチャートである。なお、以下の説明においては、機械学習の手法としてＤＮＮが用いられるものとする。
【００７２】
関節情報学習部３０１は、学習データから、関節情報の推定に用いられるＤＮＮの構成情報とパラメータとを算出する（ＡＣＴ３０１）。関節情報学習部３０１は、算出したＤＮＮの構成情報とパラメータとを、関節情報算出部３０２へ出力する（ＡＣＴ３０２）。
以上で、図９のフローチャートによって示される、関節情報生成部３０による学習処理の動作が終了する。
【００７３】
［関節情報生成部による推定処理の動作］
以下、関節情報生成部３０による推定処理の動作の一例について説明する。
図１０は、関節情報生成部３０による推定処理の動作を示すフローチャートである。なお、以下の説明においては、機械学習に基づく推定の手法としてＤＮＮが用いられるものとする。
【００７４】
関節情報算出部３０２は、シルエット情報生成部２０から取得したシルエット情報と、関節情報学習部３０１から取得した関節学習結果とに基づいて、ＤＮＮを用いて関節情報を算出する（ＡＣＴ３１１）。関節情報算出部３０２は、算出した関節情報を外部の装置へ出力する（ＡＣＴ３１２）。
以上で、図１０のフローチャートによって示される、関節情報生成部３０による推定処理の動作が終了する。
【００７５】
以上説明したように、本発明の一実施形態に係る推定装置１は、基準画像を含む時系列に連続した複数の画像からなる画像群（第１画像群）を取得し、基準画像と、基準画像以外の画像群（第１画像群）に含まれる各画像と、の差分に基づく時系列情報（第１時系列情報）を生成する時系列情報生成部１０を備える。また、推定装置１は、基準画像と時系列情報（第１時系列情報）とを用いて機械学習を行うことにより、処理の対象となる画像である対象画像と、対象画像を含む時系列に連続した複数の画像からなる画像群（第２画像群）から生成された時系列情報（第２時系列情報）と、に基づいて対象画像に対応する深度情報と対象画像に撮像されている被写体のシルエット情報とを推定するための学習結果（第１学習結果）を取得する学習部２００（第１学習部）を備える。
【００７６】
上記の構成により、推定装置１は、画像内のオクルージョン領域に含まれる被写体の関節情報を学習することができる。
【００７７】
また、本発明の一実施形態に係る推定装置１は、学習部２００から取得した学習結果（第１学習結果）と、対象画像と、時系列情報（第２時系列情報）とを用いて、対象画像に対応する深度情報と対象画像に撮像されている被写体のシルエット情報とを推定する推定部（第１推定部）をさらに備える。
【００７８】
上記の構成により、推定装置１は、時系列情報を用いて、オクルージョンを考慮したシルエット情報の推定を行う。これにより、推定装置１は、オクルージョン領域を含む画像（フレーム）の前後の画像（フレーム）の情報を利用することができるため、従来技術と比べてよりロバスト（堅牢）に、オクルージョン領域におけるシルエット情報を推定することができる。
【００７９】
また、上記の構成により、推定装置１は、基準画像（対象画像）における深度情報の推定とシルエット情報の推定とを行うことができる。これにより、推定装置１は、シルエットを推定したい被写体（すなわち、オクルージョン領域を含む奥側の被写体）と、シルエットを推定したい被写体を覆い隠している被写体（手前側の被写体）との、奥行き方向の相対的な位置関係を認識することができる。これにより、推定装置１は、手前側の被写体と奥側の被写体との奥行き方向の相対的な位置関係を考慮して、シルエット情報を推定することができる。
【００８０】
また、上記の構成により、推定装置１は、オクルージョン領域も含めて推定されたシルエット情報を用いて関節情報を推定することができる。これにより、推定装置１は、従来技術と比べてよりロバスト（堅牢）に、オクルージョン領域における関節情報を推定することができる。
【００８１】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【００８２】
なお、上述した実施形態における推定装置１の一部または全部をコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。
なお、ここでいう「コンピュータシステム」とは、推定装置１に内蔵されたコンピュータシステムであって、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００８３】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信回線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【００８４】
また、上述した実施形態における推定装置１の一部または全部を、ＬＳＩ（Large Scale Integration）等の集積回路として実現してもよい。推定装置１の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【００８５】
１…推定装置、１０…時系列情報生成部、２０…シルエット情報生成部、３０…関節情報生成部、１０１…画像差分算出部、２００…学習部、２０１…深度情報学習部、２０２…シルエット情報学習部、２０３…推定部、２０４…深度情報算出部、２０５…シルエット情報算出部、３０１…関節情報学習部、３０２…関節情報算出部
【図１】
2019139517.tif 000003
【図２】
2019139517.tif 000004
【図３】
2019139517.tif 000005
【図４】
2019139517.tif 000006
【図５】
2019139517.tif 000007
【図６】
2019139517.tif 000008
【図７】
2019139517.tif 000009
【図８】
2019139517.tif 000010
【図９】
2019139517.tif 000011
【図１０】
2019139517.tif 000012