(57)【要約】【課題】従来よりも推定精度を向上させることができる学習データを生成する技術を提供する。【解決手段】学習データ生成装置は、３個以上のマーカが張り付けられたオブジェクトの画像を取得する画像取得部１１と、画像中の各マーカの位置を計測し、各マーカの位置に基づいてオブジェクトの位置姿勢に関する情報である位置姿勢情報を生成するマーカ計測部１２と、各マーカの位置に基づいて、画像中のインペインティングのための修復領域を決定する修復領域決定部１３と、修復領域に基づいて、画像から各マーカを除去する画像インペインティング部１４と、各マーカが除去された画像及び位置姿勢情報に基づいて、学習データを生成する学習データ生成部１５と、を備えている。【選択図】図１
2020135092.tif 000002
【特許請求の範囲】
【請求項１】
３個以上のマーカが張り付けられたオブジェクトの画像を取得する画像取得部と、
前記画像中の各マーカの位置を計測し、前記各マーカの位置に基づいて前記オブジェクトの位置姿勢に関する情報である位置姿勢情報を生成するマーカ計測部と、
前記各マーカの位置に基づいて、前記画像中のインペインティングのための修復領域を決定する修復領域決定部と、
前記修復領域に基づいて、前記画像から前記各マーカを除去する画像インペインティング部と、
前記各マーカが除去された画像及び前記位置姿勢情報に基づいて、学習データを生成する学習データ生成部と、
を含む学習データ生成装置。
【請求項２】
請求項１の学習データ生成装置であって、
前記位置姿勢情報は、前記各マーカの２次元位置情報、前記各マーカの３次元位置情報、前記オブジェクトの２次元位置情報、前記オブジェクトの３次元位置情報及び前記オブジェクトの姿勢情報の少なくとも１つである、
学習データ生成装置。
【請求項３】
画像取得部が、３個以上のマーカが張り付けられたオブジェクトの画像を取得する画像取得ステップと、
マーカ計測部が、前記画像中の各マーカの位置を計測し、前記各マーカの位置に基づいて前記オブジェクトの位置姿勢に関する情報である位置姿勢情報を生成するマーカ計測ステップと、
修復領域決定部が、前記各マーカの位置に基づいて、前記画像中のインペインティングのための修復領域を決定する修復領域決定ステップと、
画像インペインティング部が、前記修復領域に基づいて、前記画像から前記各マーカを除去する画像インペインティングステップと、
学習データ生成部が、前記各マーカが除去された画像及び前記位置姿勢情報に基づいて、学習データを生成する学習データ生成ステップと、
を含む学習データ生成方法。
【請求項４】
請求項１又は２の学習データ生成装置の各部としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像中のオブジェクトについての情報を推定するためのモデルの学習で用いられる学習データを生成する技術に関する。
【背景技術】
【０００２】
画像を入力して、画像中のオブジェクトの３次元位置や姿勢を学習ベースで推定する手法として、非特許文献１の手法が知られている（例えば、非特許文献１参照。）。
【０００３】
この手法は、学習時に画像中のオブジェクトの３次元位置や姿勢の真値データがアノテーションされた学習データを大量に必要とすることが知られている。そして、この学習データを準備する作業には非常に多くの手間やコストを要する。
【０００４】
一方で、再帰性反射材などの何らかのマーカを追跡する、マーカベースのモーションキャプチャシステムを用いることで、人手でアノテーションすることなく簡易に画像中のオブジェクトの位置や姿勢を計測することが可能である。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Yu Xiang , Tanner Schmidt, Venkatraman Narayanan and Dieter Fox，"PoseCNN: A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes", Robotics: Science and Systems (RSS), 2018.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、この方法では画像中に再帰性反射材などで作られたマーカが写り込んでしまう。実際の推定対象には含まれないマーカが学習時に画像に映り込むことで、推定精度が低下する原因となる可能性がある。
【０００７】
そこで、本発明は、従来よりも推定精度を向上させることができる学習データを生成する学習データ生成装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
この発明の一態様による学習データ生成装置は、３個以上のマーカが張り付けられたオブジェクトの画像を取得する画像取得部と、画像中の各マーカの位置を計測し、各マーカの位置に基づいてオブジェクトの位置姿勢に関する情報である位置姿勢情報を生成するマーカ計測部と、各マーカの位置に基づいて、画像中のインペインティングのための修復領域を決定する修復領域決定部と、修復領域に基づいて、画像から各マーカを除去する画像インペインティング部と、各マーカが除去された画像及び位置姿勢情報に基づいて、学習データを生成する学習データ生成部と、を備えている。
【発明の効果】
【０００９】
マーカを除去することで、従来よりも推定精度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、学習データ生成装置の機能構成の例を示す図である。
【図２】図２は、学習データ生成方法の処理手続きの例を示す図である。
【図３】図３は、マーカが張り付けられたオブジェクトの画像の例を示す図である。
【図４】（１）特定色で決定する方法で修復領域を決定した場合の画像I_maskの例を示す図である。
【図５】図５は、（２）特定色で決定する方法で修復領域を決定した場合の画像I_maskの例を示す図である。
【図６】図６は、インペインティングにより各マーカが除去された画像の例を示す図である。
【図７】図７は、実験により得られた、インペインティング有りの場合の誤差と、インペインティング無しの場合の誤差とを示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１２】
<学習データ生成装置及び方法>
学習データ生成装置１は、画像取得部１１、マーカ計測部１２、修復領域決定部１３、画像インペインティング部１４、学習データ生成部１５を例えば備えている。
【００１３】
学習データ生成方法は、学習データ生成装置の構成部が、以下に説明する及び図２に示すステップＳ１１からステップＳ１５の処理を行うことにより例えば実現される。
【００１４】
[画像取得部１１]
画像取得部１１は、マーカが貼り付けられたオブジェクトの画像をC個のカメラc(c=1,…,C)を用いて取得する。Cは、１以上の所定の整数である。
【００１５】
取得された画像は、マーカ計測部１２及び修復領域決定部１３に出力される。
【００１６】
その際、画像取得部１１は、オブジェクトの複数姿勢を含むようにするために、姿勢にバリエーションを持った画像を取得してもよい。すなわち、Cは２以上の所定の整数であってもよい。例えば、画像取得部１１は、C=3として、C個のカメラc(c=1,…,C)でオブジェクトのC個以上の異なる姿勢の画像を取得してもよい。
【００１７】
なお、１つのオブジェクトに対し３個以上のマーカが張り付けられているとする。これは、オブジェクトに貼り付けるマーカは一意に姿勢を特定できるものである必要があるためである。
【００１８】
また、マーカは、辺長の異なる四角形上に設置するなど、可能な限りランダムに貼りつける必要がある。これは、異なる姿勢でマーカ配置が同一となってしまわないようにするためである。
【００１９】
また、マーカの個数は多いほうが好ましいが、マーカの面積がオブジェクトの面積の２／３を超えないように、マーカが貼りつけられているとする。これは、マーカがオブジェクトのテクスチャを覆わないようにするためである。
【００２０】
図３は、マーカが張り付けられたオブジェクトの画像の例を示す図である。図３では、オブジェクトであるスニーカー４１の周囲に、５個の球体のマーカ４２が取り付けられている。
【００２１】
このようにして、画像取得部１１は、３個以上のマーカが張り付けられたオブジェクトの画像を取得する（ステップＳ１１）。
【００２２】
[マーカ計測部１２]
マーカ計測部１２には、画像取得部１１で取得された画像が入力される。
【００２３】
マーカ計測部１２は、画像中の各マーカの位置を計測し、各マーカの位置に基づいてオブジェクトの位置姿勢に関する情報である位置姿勢情報を生成する（ステップＳ１２）。
【００２４】
計測された各マーカの位置は、修復領域決定部１３に出力される。生成された位置姿勢情報は、学習データ生成部１５に出力される。
【００２５】
マーカ計測部１２が計測する、画像中の各マーカの位置の例は、c=1,…,Cとして、カメラcで撮られた画像における各マーカの２次元座標p2(c)=(x2c, y2c)である。
【００２６】
マーカ計測部１２が生成する位置姿勢情報は、各マーカの２次元位置情報、各マーカの３次元位置情報、オブジェクトの２次元位置情報、オブジェクトの３次元位置情報及びオブジェクトの姿勢情報の少なくとも１つである。
【００２７】
位置姿勢情報として、どの情報が含まれていればよいかについては、後述する推定装置３で推定しようとする情報に依存する。すなわち、位置姿勢情報には、推定装置３で推定しようとする情報が少なくとも含まれているようにする。
【００２８】
各マーカの２次元位置情報は、例えば、各マーカの２次元座標p2(c)=(x2c, y2c)である。
【００２９】
各マーカの３次元位置情報は、例えば、各マーカの３次元座標p3=(x3, y3, z3)である。
【００３０】
オブジェクトの２次元位置情報は、各マーカの２位次元座標p2(c)=(x2c, y2c)に基づいて定まるオブジェクトの２次元位置である。例えば、各マーカの２位次元座標p2(c)=(x2c, y2c)の幾何中心が、オブジェクトの２次元位置である。
【００３１】
オブジェクトの３元位置情報は、各マーカの３位次元座標p3=(x3, y3, z3)に基づいて定まるオブジェクトの３次元位置である。例えば、各マーカの３位次元座標p2(c)=(x2c, y2c)の幾何中心が、オブジェクトの３次元位置である。
【００３２】
オブジェクトの姿勢情報は、各マーカの３位次元座標p3=(x3, y3, z3)から算出できるオブジェクトの姿勢vである。
【００３３】
姿勢vの座標系として、例えば、クォータニオン座標系（回転軸と回転量を持った４次元ベクトルで表現される座標系）、球面極座標系（２つの1550108964325_0座標で表される２次元ベクトルで表現される座標系）などを利用することができる。もちろん、姿勢vの座標系及びデータ形式は、これらに限定されず、他のものを用いてもよい。
【００３４】
各マーカの位置の計測方法には、再帰性反射材を用いたモーションキャプチャシステムや、カラーマーカを検出、追跡する方法などを用いることができる。もちろん、各マーカの位置の計測方法は、これらに限定されず、他の計測方法を用いてもよい。
【００３５】
[修復領域決定部１３]
修復領域決定部１３には、画像取得部１１で取得された画像と、マーカ計測部１２で計測された各マーカの位置とが入力される。
【００３６】
修復領域決定部１３は、各マーカの位置に基づいて、画像中のインペインティングのための修復領域を決定する。
【００３７】
決定された修復領域についての情報は、画像インペインティング部１４に出力される。決定された修復領域についての情報の例は、後述する画像I_maskである。
【００３８】
例えば、修復領域決定部１３は、画像取得部１１で取得した画像を画像Iとして、画像Iに映り込んだ各マーカの、画像Iでの２次元座標に基づいて、画像Iにマスクをかけることでインペインティングを施すための修復領域を決定する。
【００３９】
修復領域は、各マーカの位置、すなわち、各マーカの２次元座標p2(c)を中心に半径rの画素内にある画素とする。ここで、半径rは、十分に画像上のマーカが隠れ、かつ最小限の大きさとなるように予め設定された定数とする。
【００４０】
例えば以下の方法（１）又は（２）で修復領域を決定することができる。もちろん、修復領域の決定方法は、これらに限定されず、以下の方法（１）及び（２）以外の方法を用いてもよい。
【００４１】
（１）特定色で決定する方法
画像Iを複製した画像に対し、各マーカの２次元座標p2(c)を中心に半径rの画素内にある画素を特定色（例えば、(R,G,B)=(255, 0, 255)など）で塗りつぶす。特定色で塗りつぶされた領域が修復領域となる。この場合、特定色で修復領域が塗りつぶされた画像がI_maskとなる。
【００４２】
図４は、（１）特定色で決定する方法で修復領域を決定した場合の画像I_maskの例を示す図である。図４では、修復領域４３は、(R,G,B)=(255, 255, 255)の特定色で塗りつぶされている。
【００４３】
（２）二値画像で決定する方法
（１）の方法により特定色で塗りつぶした領域を例えば(R,G,B)=(0, 0, 0)とし、その他の領域を(R,G,B)=(255, 255, 255)とすることにより画像を二値で表す。この二値で表された画像がI_maskとなる。
【００４４】
図５は、（２）特定色で決定する方法で修復領域を決定した場合の画像I_maskの例を示す図である。図５では、修復領域４３は(R,G,B)=(0, 0, 0)の特定色で塗りつぶされており、その他の領域は(R,G,B)=(255, 255, 255)とされている。
【００４５】
[画像インペインティング部１４]
画像インペインティング部１４には、修復領域決定部１３で決定された修復領域についての情報が入力される。
【００４６】
なお、修復領域決定部１３において（１）の方法で修復領域が決定された場合には、画像インペインティング部１４の入力は、特定色で修復領域が塗りつぶされたRGB画像I_maskである。
【００４７】
これに対して、修復領域決定部１３において（２）の方法で修復領域が決定された場合には、画像インペインティング部１４には、二値で表された画像I_maskに加えて、画像取得部１１で取得された画像Iが入力されるとする。
【００４８】
画像インペインティング部１４は、修復領域に基づいて、画像から各マーカを除去する（ステップＳ１４）。
【００４９】
各マーカが除去された画像I_inpaintedは、学習データ生成部１５に出力される。
【００５０】
画像インペインティング部１４は、各マーカをインペインティングにより除去する。インペインティングとは、画像内の不要な領域を、同一画像内や所定のデータベース中から取得した他の領域を利用することで、違和感なく補完する画像処理技術である。
【００５１】
インペインティングの方法として、例えば参考文献１又は参考文献２に記載されている方法を用いることができる。
〔参考文献１〕Kaiming He and Jian Sun, ‘Statistics of Patch Offsets for Image Completion’, ECCV, 2014
〔参考文献２〕Mariko Isogawa, Dan Mikami, Kosuke Takahashi, Akira Kojima, ‘Image and video completion via feature reduction and compensation’, Volume 76, Issue 7, pp 9443-9462, 2017.
【００５２】
もちろん、インペインティングの方法は、これらの方法に限定されず、他のインペインティングの方法を用いてもよい。
【００５３】
図６は、インペインティングにより各マーカが除去された画像の例を示す図である。図６では、インペインティングされた部分４４が破線で表されている。
【００５４】
[学習データ生成部１５]
学習データ生成部１５には、各マーカが除去された画像I_inpaintedが入力される。また、学習データ生成部１５には、マーカ計測部１２で生成された位置姿勢情報が入力される。
【００５５】
学習データ生成部１５は、各マーカが除去された画像I_inpainted及び位置姿勢情報に基づいて、学習データD_trainを生成する（ステップＳ１５）。
【００５６】
生成された学習データは、モデル学習装置２に出力される。
【００５７】
例えば、学習データ生成部１５は、画像I_inpaintedと、位置姿勢情報とを対応付けることで、学習データD_trainを生成する。学習データD_trainは、画像I_inpaintedと、この画像I_inpaintedに対応付けられた位置姿勢情報とを含むとする。
【００５８】
このようにして、実際の推定対象には含まれないマーカを除去することで、従来よりも推定精度を向上させることができる学習データを生成することができる。
【００５９】
なお、マーカが除去された画像I_inpaintedを含む学習データD_trainに基づくモデルの生成は、以下に説明するモデル学習装置２により行われる。また、モデル学習装置２により生成されたモデルに基づく推定は、後述する推定装置３により行われる。
【００６０】
<モデル学習装置２>
モデル学習装置２には、学習データ生成部１５で生成された学習データD_trainが入力される。
【００６１】
モデル学習装置２は、学習データD_trainに基づくモデル学習を行うことで、モデルを生成する（ステップＳ２）。
【００６２】
生成されたモデルは、推定装置３に出力される。
【００６３】
モデル学習の方法として、参考文献３に記載されているDeep Neural Networkの方法を例えば用いることができる。もちろん、モデル学習の方法は、これに限定されず、他のモデル学習の方法を用いてもよい。
【００６４】
具体的には、モデル学習装置２には、同一のオブジェクトを様々な姿勢で撮影して(オブジェクトを撮影した画像には少なくとも３個のマーカが撮影されていることがのぞましい)、上述のインペインティングを行ってマーカを除去した複数の画像I_inpaintedと、複数の画像I_inpaintedのそれぞれに対応する位置姿勢情報との組を含む複数の学習データD_trainが入力される。
【００６５】
例えば、学習データD_trainは、あるオブジェクトのある姿勢の画像I_inpaintedと、当該画像I_inpainted中では除去されている各マーカの２次元位置情報とを組にし、同一オブジェクトの姿勢の異なる複数の組を含むデータである。
【００６６】
この場合、モデル学習装置２は、複数の学習データD_trainを学習することで、学習データD_trainに含まれる画像I_inpaintedと同じオブジェクトが撮影された画像が入力されたときに、学習データD_trainに含まれる位置姿勢情報であり、入力された画像中のオブジェクトの姿勢に対応する位置姿勢情報を出力するモデルを生成する。
【００６７】
モデル学習装置２は、例えば、学習データD_trainに含まれる位置姿勢情報が各マーカの２次元位置情報である場合には、所定の位置（入力画像中には存在しないが、学習データのオブジェクトに添付していたマーカの位置）の２次元位置情報が、入力画像のオブジェクトの位置姿勢情報として出力されるモデルを生成する。
【００６８】
<推定装置３>
推定装置３には、モデル学習装置２で生成されたモデルが入力される。また、推定装置３には、推定の対象となる、オブジェクトの画像が入力される。
【００６９】
推定装置３は、モデルを用いて、入力された画像に対応する位置姿勢情報を推定して出力する（ステップＳ３）。
【００７０】
推定される位置姿勢情報は、モデル学習装置２で、複数の画像I_inpaintedと組にして学習した位置姿勢情報に含まれる情報と同じ種類の情報である。言い換えれば、例えば、学習データ及びモデルの生成時の位置姿勢情報がオブジェクトの姿勢情報であった場合には、推定装置３により推定される位置姿勢情報もオブジェクトの姿勢情報である。
【００７１】
[実験結果]
以下、インペインティングによりマーカを除去した画像を用いたモデル学習の効果を表す実験結果について説明する。
【００７２】
約15000枚の学習データ用画像に対して上記の実施形態によりマーカを除去した画像（インペインティング有り）及びマーカを除去していない画像（インペインティング無し）を用いてモデル学習することで、インペインティング有りモデル及びインペインティング無しモデルをそれぞれ生成した。これらのモデルは、クォータニオン座標系で表される姿勢データを出力するモデルである。そして、これらのモデルのそれぞれを用いて推定した姿勢データと、正しい姿勢データとの誤差を計算した。
【００７３】
図７は、実験により得られた、インペインティング有りの場合の誤差と、インペインティング無しの場合の誤差とを示す図である。
【００７４】
図７の実線は、インペインティング有りの場合の誤差を示す。図７の破線は、インペインティング無しの場合の誤差を示す。図７の横軸は、深層学習により学習を行った際の反復数を示す。図７の縦軸は誤差の大きさを示す。
【００７５】
インペインティングによりマーカを除去した画像を用いてモデル学習することで、誤差を少なくできることがわかる。また、インペインティングによりマーカを除去することで、効果的にネットワークの学習が進むことがわかる。
【００７６】
[変形例]
以上、本発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、本発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、本発明に含まれることはいうまでもない。
【００７７】
実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【００７８】
例えば、学習データ生成装置の構成部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。
【００７９】
[プログラム、記録媒体]
上記説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【００８０】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００８１】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００８２】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００８３】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【００８４】
１     学習データ生成装置
１１   画像取得部
１２   マーカ計測部
１３   修復領域決定部
１４   画像インペインティング部
１５   学習データ生成部
２     モデル学習装置
３     推定装置
４１   スニーカー
４２   マーカ
４３   修復領域
４４   インペインティングされた部分
【図１】
2020135092.tif 000003
【図２】
2020135092.tif 000004
【図３】
2020135092.tif 000005
【図４】
2020135092.tif 000006
【図５】
2020135092.tif 000007
【図６】
2020135092.tif 000008
【図７】
2020135092.tif 000009