JP6675691B1 - 学習用データ生成方法、プログラム、学習用データ生成装置、および、推論処理方法 - Google Patents

学習用データ生成方法、プログラム、学習用データ生成装置、および、推論処理方法 Download PDF

Info

Publication number
JP6675691B1
JP6675691B1 JP2019008307A JP2019008307A JP6675691B1 JP 6675691 B1 JP6675691 B1 JP 6675691B1 JP 2019008307 A JP2019008307 A JP 2019008307A JP 2019008307 A JP2019008307 A JP 2019008307A JP 6675691 B1 JP6675691 B1 JP 6675691B1
Authority
JP
Japan
Prior art keywords
image
data
learning
background image
learning data
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.)
Active
Application number
JP2019008307A
Other languages
English (en)
Other versions
JP2020119127A (ja
Inventor
吉田 修一
修一 吉田
剛 大濱
剛 大濱
勁峰 今西
勁峰 今西
良一 今中
良一 今中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Cash Machine Co Ltd
Original Assignee
Japan Cash Machine Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Japan Cash Machine Co Ltd filed Critical Japan Cash Machine Co Ltd
Priority to JP2019008307A priority Critical patent/JP6675691B1/ja
Priority to PCT/JP2019/040667 priority patent/WO2020152927A1/ja
Application granted granted Critical
Publication of JP6675691B1 publication Critical patent/JP6675691B1/ja
Publication of JP2020119127A publication Critical patent/JP2020119127A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】物体検出処理、姿勢検出処理等を実行するときに用いられる学習済みモデルを取得するために、学習処理時に必要となる学習用データを短時間に多量に取得できる学習用データ生成システムを提供する。【解決手段】学習用データ生成システムは、3次元空間を撮像して得た背景画像を取得する。また、物体の形状およびテクスチャーの少なくとも1つを含むコンピュータグラフィックス処理用のデータであるCG物体生成用データを取得する。取得したCG物体生成用データに基づいてCG物体画像を生成する。3次元空間内での所定の位置にCG物体が配置されるように、CG物体画像を背景画像に合成することで得られるレンダリング画像を学習用画像として取得する。【選択図】図2

Description

本発明は、物体検出処理、姿勢検出処理等に用いられる学習用データを自動生成する技術に関する。
従来から、各種の物体を把持したり搬送したりするための装置が知られている(例えば、特許文献1を参照)。このような装置において、多様な形状を有する物体を効率良く把持し、運搬するために、多様な技術が開発されている。例えば、特許文献2には、物体を把持するピッキングロボットのピッキング動作を撮影した画像と、そのときのピッキングロボットの動作状態を示す情報とを学習用データとして、学習処理を実行することで、多様な形状を有する物体を効率良く把持し、運搬することを可能にする技術の開示がある。
多様な形状を有する物体を効率良く把持し、運搬するためには、把持しようとする対象の物体を検出する処理(物体検出処理)や対象物体の姿勢を検出する処理(姿勢検出処理)を高精度に実行することが重要である。近年、深層学習技術等に代表される機械学習技術を用いて、物体検出処理等を高精度に実行するための技術が開発されている。
特表2018−504333号公報 特開2018−83246号公報
機械学習技術を用いて、物体検出処理等を高精度に実行するためには、多量の学習用データを用いた学習処理を実行し、高精度の学習済みモデルを取得する必要がある。例えば、多様な物体に対して物体検出処理や姿勢検出処理を行う学習済みモデルを取得するためには、多量の学習用データが必要となる。通常、物体検出処理や姿勢検出処理を行う学習済みモデルを取得するためには、対象物体を撮像した画像を取得し、当該画像に撮像されている対象物体の位置情報や姿勢情報を手動で特定し、特定した位置情報や姿勢情報と、撮像した画像とをセットにして、学習用データとする。
しかしながら、このような手法により学習用データを取得する場合、手動で対象物体の位置情報や姿勢情報を特定する作業が必要となるため、短時間に多量の学習用データを取得することは困難である。
そこで、本発明は、上記課題に鑑み、物体検出処理、姿勢検出処理等を実行するときに用いられる学習済みモデルを取得するために、学習処理時に必要となる学習用データを短時間に多量に取得できる学習用データ生成方法を実現することを目的とする。
上記課題を解決するために、第1の発明は、背景画像取得ステップと、学習用画像データ取得ステップと、を備える学習用データ生成方法である。
背景画像取得ステップは、所定の3次元空間を撮像して取得した背景画像を取得する。
学習用画像データ取得ステップは、物体の形状およびテクスチャーの少なくとも1つを含むコンピュータグラフィックス処理用のデータであるCG物体生成用データを取得し、取得したCG物体生成用データに基づいて生成されるCG物体を、背景画像の撮像対象とした3次元空間内の所定の座標位置に配置されるように背景画像に合成することで取得される画像であるレンダリング画像を学習用画像データとして取得する。
この学習用データ生成方法では、背景画像を取得した3次元空間内での3次元位置が分かっているCG物体を、背景画像にレンダリングして学習用画像を取得するので、例えば、当該学習用画像において、各CG物体の位置や姿勢を特定する学習用位置ラベルや学習用姿勢ラベルを取得することで、極めて正確な教師データを取得することができる。つまり、各CG物体は、CG処理により生成したものであるので、各CG物体を背景画像上に投影したとき、各CG物体が占める画像領域がどこになるのか、各CG物体の姿勢(向き)はどのようになっているかを計算により正確に求めることができる。その結果、学習用データ生成方法で取得された学習用画像データを用いて生成した、各CG物体の位置や姿勢を特定する学習用位置ラベルや学習用姿勢ラベルは、極めて正確なものとなる。
さらに、この学習用データ生成方法では、CG処理により、人手を介することなく、自動でCG物体を生成することができる。そして、この学習用データ生成方法では、生成したCG物体を背景画像に投影することで(レンダリング処理を行うことで)、短時間に多量の学習用画像Img1を生成することができる。
したがって、学習用データ生成方法により、物体検出処理や姿勢検出等を実行するときに用いられる学習済みモデルを取得するために、学習処理時に必要となる学習用データを短時間に多量に取得することができる。
そして、この学習用データ生成方法により取得された、多量であり、かつ、極めて正確な教師データを用いて、学習処理を行うことで、例えば、物体検出処理や姿勢検出等を実行するときに用いられる学習済みモデルを高精度に、かつ、効率的に取得することでできる。
なお、「背景画像に合成する」ために、例えば、3D(3次元)座標データを射影変換して2D(2次元)データを取得すればよい。
第2の発明は、第1の発明であって、学習用位置ラベル取得ステップをさらに備える。
学習用位置ラベル取得ステップは、学習用画像データから、レンダリング画像上において、CG物体を囲む領域である2次元バウンディング領域を設定し、2次元バウンディングの座標情報を学習用位置ラベルとして取得する。
これにより、この学習用データ生成方法では、CG処理により生成したCG物体を背景画像上にレンダリングして合成することで取得した学習用画像(レンダリング画像)と、学習用画像(レンダリング画像)上において、各CG物体の位置を特定する学習用位置ラベル(各CG物体の2Dバウンディングボックスの座標データ)とを取得することができる。この学習用データ生成方法では、3次元空間内での3次元位置が分かっているCG物体を、背景画像にレンダリングして学習用画像を取得し、当該学習用画像において、各CG物体の位置を特定する学習用位置ラベル(例えば、各CG物体の2Dバウンディングボックスの座標データ)を特定するので、極めて正確な教師データを取得することができる。つまり、各CG物体は、この学習用データ生成方法において、CG処理により生成したものであるので、各CG物体を背景画像上に投影したとき、各CG物体が占める画像領域がどこになるのかを計算により正確に求めることができる。その結果、各CG物体の位置を特定する学習用位置ラベル(各CG物体の2Dバウンディングボックスの座標データ)は、極めて正確なものとなる。
さらに、この学習用データ生成方法では、CG処理により、人手を介することなく、自動でCG物体を生成することができる。そして、この学習用データ生成方法では、生成したCG物体を背景画像に投影することで(レンダリング処理を行うことで)、短時間に多量の学習用画像Img1と、学習用位置ラベル(各CG物体の2Dバウンディングボックスの座標データ)とを生成することができる。
したがって、この学習用データ生成方法では、物体検出処理等を実行するときに用いられる学習済みモデルを取得するために、学習処理時に必要となる学習用データを短時間に多量に取得することができる。
そして、この学習用データ生成方法により取得された、多量であり、かつ、極めて正確な教師データを用いて、学習処理を行うことで、例えば、物体検出処理を実行するときに用いられる学習済みモデルを高精度に、かつ、効率的に取得することでできる。
第3の発明は、第1の発明であって、姿勢検出用画像データ取得ステップと、姿勢検出用学習データ取得ステップと、をさらに備える。
姿勢検出用画像データ取得ステップは、学習用画像データから、レンダリング画像上において、CG物体を囲む画像領域を抽出することで取得した画像であるクロップ画像を姿勢検出用画像データとして取得する。
姿勢検出用学習データ取得ステップは、姿勢検出用画像データに含まれるCG物体の姿勢に関する情報と姿勢検出用画像データとを対応付けたデータを姿勢検出用学習データとして取得する。
この学習用データ生成方法では、CG処理により生成したCG物体を背景画像上にレンダリングして合成することで取得したレンダリング画像から、CG物体毎に取得したクロップ画像と、当該クロップ画像内のCG物体の姿勢を特定する姿勢ラベルとを取得することができる。
この学習用データ生成方法では、3次元空間内での3次元位置、姿勢が分かっているCG物体を、背景画像にレンダリングしてレンダリング画像を取得し、当該レンダリング画像において、各CG物体の位置を特定する2Dバウンディングボックスで規定される領域をクロップ領域に特定するので、各CG物体を含むクロップ画像を極めて正確に取得することができる。
さらに、クロップ画像に含まれるCG物体は、学習用データ生成方法においてCG処理により生成したものであるので、各CG物体を背景画像上に投影したとき、各CG物体の姿勢がどのようになるのかを計算により正確に求めることができる。その結果、クロップ画像上において、各CG物体の姿勢を特定する学習用姿勢ラベル(各CG物体のクロップ画像上での姿勢を特定するデータ(例えば、クラスの番号))は、極めて正確なものとなる。
さらに、この学習用データ生成方法では、CG処理により、人手を介することなく、自動でCG物体を生成することができる。そして、この学習用データ生成方法では、生成したCG物体を背景画像に投影することで(レンダリング処理を行うことで)、短時間に多量の学習用画像(各CG物体のクロップ画像)と、学習用姿勢ラベル(各CG物体のクロップ画像上での姿勢を特定するデータ(例えば、クラスの番号))とを生成することができる。
したがって、この学習用データ生成方法では、姿勢検出処理等を実行するときに用いられる学習済みモデルを取得するために、学習処理時に必要となる学習用データを短時間に多量に取得することができる。
そして、この学習用データ生成方法により取得された、多量であり、かつ、極めて正確な教師データを用いて、学習処理を行うことで、例えば、姿勢検出処理を実行するときに用いられる学習済みモデルを高精度に、かつ、効率的に取得することでできる。
第4の発明は、第1から第3のいずれかの発明であって、学習用画像データ取得ステップは、背景画像に実物の処理対象物体が含まれている場合、当該処理対象物体を含む画像領域以外の画像領域に、CG物体が配置されるようにレンダリング画像を生成する。
これにより、この学習用データ生成方法では、例えば、手動で設定された2Dバウンディングボックスの画像領域(実物の処理対象物体が含まれている画像領域)以外の領域に、CG物体をレンダリングすることで、学習用データを生成する処理を実行することができる。
第5の発明は、第1の発明であって、背景画像は、第1物体を含む画像である。
CG物体は、少なくとも一部が第1物体の表面上に配置されるように、背景画像に合成される。
これにより、この学習用データ生成方法では、少なくとも一部が第1物体の表面上に配置される背景画像による学習用データを生成することができる。
なお、「第1物体」とは、例えば、サイズが既知である任意の物体である。第1物体は、例えば、サイズが既知である直方体の物体である。
第6の発明は、第1の発明であって、背景画像取得ステップは、前記背景画像に、第1物体を含む画像を合成することで第1背景画像を取得する。
CG物体は、少なくとも一部が第1物体の表面上に配置されるように、第1背景画像に合成される。
これにより、この学習用データ生成方法では、第1物体が写っていない背景画像に対して、第1物体の画像を合成することで、実際に第1物体が写っている背景画像と同様の画像である第1背景画像を取得することができる。そして、この学習用データ生成方法では、背景画像の代わりに、第1背景画像を用いて、学習用データの生成処理を行うことができる。
第7の発明は、第5または第6の発明であって、CG物体は、第1物体において鍵穴を形成する形状を有している。
これにより、この学習用データ生成方法では、第1物体の表面上に鍵穴を形成する形状を合成した画像による学習用データを生成することができる。
第8の発明は、第1から第7のいずれかの発明である学習用データ生成方法をコンピュータに実行させるためのプログラムである。
これにより、第1から第7のいずれかの発明と同様の効果を奏する学習用データ生成方法をコンピュータに実行させるためのプログラムを実現することができる。
第9の発明は、背景画像データ取得部と、学習用画像データ取得部と、を備える学習用データ生成装置である。
背景画像データ取得部は、所定の3次元空間を撮像して取得した背景画像を取得する。
学習用画像データ取得部は、物体の形状およびテクスチャーの少なくとも1つを含むコンピュータグラフィックス処理用のデータであるCG物体生成用データを取得し、取得したCG物体生成用データに基づいて生成されるCG物体を、背景画像の撮像対象とした3次元空間内の所定の座標位置に配置されるように背景画像に合成することで取得される画像であるレンダリング画像を学習用画像データとして取得する。
これにより、第1の発明と同様の効果を奏する学習用データ生成装置を実現することができる。
第10の発明は、学習済みモデル取得ステップと、予測処理ステップと、を備える推論処理方法である。
学習済みモデル取得ステップは、第5から第7のいずれかの発明である学習用データ生成方法により取得した学習用データを用いて、学習処理を実行することで、学習済みモデルを取得する。
予測処理ステップは、第1物体の表面上に配置されている所定の形状を含む画像を入力とし、学習済みモデルによる予測処理を実行することで、所定の形状の位置を特定するためのデータを出力する。
これにより、この推論処理方法では、所定の形状の位置を特定するためのデータ(推論結果データ)を取得することができる。
第10の発明は、第9の発明であって、検出精度判定ステップと、撮影パラメータ調整ステップと、をさらに備える。
検出精度判定ステップは、所定の形状の位置を特定するためのデータの検出精度を判定する。
撮影パラメータ調整ステップは、第1物体の表面上に配置されている所定の形状を含む画像を撮像する撮像装置の撮影パラメータを調整する。
そして、所定の形状の位置を特定するためのデータの検出精度が所定の閾値よりも低い場合、撮影パラメータ調整ステップが撮像装置の撮影パラメータを変更した後、予測処理ステップは、予測処理を実行する。
これにより、この推論処理方法では、所定の形状の位置を特定するためのデータ(推論結果データ)の精度が不十分である場合、撮像装置の撮影パラメータを調整し、高精度に推論処理ができる可能性の高い画像を用いて、予測処理を実行することができる。
なお、第1物体の大きさ(実際の大きさ)が既知である場合、(1)撮像装置の焦点距離(撮影パラメータの一例)と、(2)当該焦点距離により撮像装置で撮像した画像(撮像画像)における、全画像領域に対する対象物体(第1物体)に相当する画像領域が占有する割合とから、撮像装置から対象物体(第1物体)までの3次元距離を取得することができる。したがって、予測処理ステップでは、上記のようにして取得した撮像装置から対象物体(第1物体)までの3次元距離も用いて、予測処理が実行されるものであってもよい。
第11の発明は、第9または第10の発明である推論処理方法をコンピュータに実行させるためのプログラムである。
これにより、第9または第10の発明と同様の効果を奏する推論処理方法をコンピュータに実行させるためのプログラムを実現することができる。
本発明によれば、物体検出処理、姿勢検出処理等を実行するときに用いられる学習済みモデルを取得するために、学習処理時に必要となる学習用データを短時間に多量に取得できる学習用データ生成方法を実現することができる。
第1実施形態に係る学習用データ生成システム1000の概略構成図。 物体検出処理の学習用データを生成する場合において、学習用データ生成システム1000が実行する処理のフローチャート。 背景画像を取得するための3次元空間SP1(部屋Rm1内の3次元空間)を模式的に示した図。 背景画像Img0(一例)を示す図。 N個(N=9)のCG物体CG_obj1〜CG_obj9を、背景画像Img0へ投影して合成するレンダリング処理により取得された画像Img1(レンダリング画像Img1)を示す図。 N個(N=9)のCG物体CG_obj1〜CG_obj9を、背景画像Img0へ投影して合成するレンダリング処理により取得された画像Img1(レンダリング画像Img1)において、各CG物体のバウンディングボックスを矩形で明示した画像を示す図。 第1実施形態の第1変形例の学習用データ生成システムにより、N個(N=9)のCG物体CG_obj1〜CG_obj9を、背景画像Img0へ投影して合成するレンダリング処理により取得された画像Img1A(レンダリング画像Img1A)を示す図。 N個(N=9)のCG物体CG_obj1〜CG_obj9を、背景画像Img0へ投影して合成するレンダリング処理により取得された画像Img1A(レンダリング画像Img1A)において、各CG物体のバウンディングボックスを矩形で明示した画像を示す図。 第2実施形態に係る学習用データ生成システム2000の概略構成図。 CG物体の姿勢を特定する方法を説明するための図。 姿勢検出処理の学習用データを生成する場合において、学習用データ生成システム2000が実行する処理のフローチャート。 N個(N=10)のCG物体CG_obj1〜CG_obj10を、背景画像Img0へ投影して合成するレンダリング処理により取得された画像Img2(レンダリング画像Img2)を示す図。 N個(N=10)のCG物体CG_obj1〜CG_obj10を、背景画像Img0へ投影して合成するレンダリング処理により取得された画像Img2A(レンダリング画像Img2A)において、各CG物体のバウンディングボックス(クロップする画像領域に相当)を矩形で明示した画像を示す図。 N個(N=10)のCG物体CG_obj1〜CG_obj9のクロップ画像Img_crop(1)〜Img_crop(9)と、判定されたクラスの番号を示す図。 第3実施形態に係る学習用データ生成システム3000の概略構成図。 検出対象物体(実物)Real_objが写っている背景画像Img0Aを示す図。 検出対象物体(実物)Real_objが写っている背景画像Img0Aに手動で設定された2DバウンディングボックスBbox_manualを示した図。 検出対象物体(実物)Real_objが写っている背景画像Img0Aに、CG物体をレンダリングして取得されたレンダリング画像Img3を示す図。 第4実施形態に係る学習用データ生成システム4000の概略構成図。 背景画像Img4を示す図。 背景画像Img4を示す図。 学習用データ生成システム4000が実行する処理のフローチャート。 抽出画像に鍵穴を合成する処理を説明するための図。 抽出画像に鍵穴を合成する処理を説明するための図。 第4実施形態に係る学習推論処理システムSys1の概略構成図。 第4実施形態に係る学習処理装置200の概略構成図。 第4実施形態に係る推論処理装置300の概略構成図。 推論処理装置300の推論処理のフローチャート。 入力画像Img5を示す図。 ズーム画像についての説明図。 CPUバス構成を示す図。
[第1実施形態]
第1実施形態について、図面を参照しながら、以下、説明する。
<1.1:学習用データ生成システムの構成>
図1は、第1実施形態に係る学習用データ生成システム1000の概略構成図である。
学習用データ生成システム1000は、図1に示すように、背景画像データ格納部DB1と、学習用データ生成装置100と、学習用データ格納部DB2とを備える。
背景画像データ格納部DB1は、所定の3次元空間を撮像して取得された背景画像データを格納するための機能部である。背景画像データ格納部DB1は、例えば、データベースにより実現される。背景画像データ格納部DB1には、所定の3次元空間を撮像して取得した画像と、当該画像を取得したときの撮像対象の3次元空間を特定するための情報(例えば、撮影パラメータ(撮像点(カメラの位置(例えば、撮像素子の撮像素子面の中心点))、焦点位置、焦点距離、画角、視野角、カメラ光学系の光軸等))とが格納される。
学習用データ生成装置100は、図1に示すように、背景画像データ取得部1と、CG処理部2(CG:Computer Graphics)と、レンダリング処理部3と、学習用データ生成部4とを備える。
背景画像データ取得部1は、背景画像データ格納部DB1から、所定の背景画像データ(背景画像と当該背景画像を取得したときの撮像対象の3次元空間を特定するための情報とを含むデータ)を取得する。そして、背景画像データ取得部1は、背景画像データから抽出した背景画像をデータD1としてレンダリング処理部3に出力する。また、背景画像データ取得部1は、背景画像データから抽出した背景画像を取得したときの撮像対象の3次元空間を特定するための情報(3次元空間の形状情報)をデータInfo_3D_spaceとして、CG処理部2およびレンダリング処理部3に出力する。
CG処理部2は、背景画像を撮像した3次元空間に配置するCG物体(CGにより生成される物体)を生成し、当該CG物体を背景画像に合成するために必要なデータを生成する処理部である。CG処理部2は、図1に示すように、3D配置座標決定部21と、姿勢決定部22と、衝突検出部23と、テクスチャー設定部24と、3D−2D変換部25とを備える。
3D配置座標決定部21は、データInfo_3D_spaceにより特定される3次元空間内に配置させるCG物体(CGにより生成したオブジェクト)の座標情報を取得する。例えば、3D配置座標決定部21は、乱数を使用して、上記3次元空間内に配置させるCG物体の座標情報を取得する。
姿勢決定部22は、データInfo_3D_spaceにより特定される3次元空間内に配置させるCG物体の姿勢を決定するための情報を取得する。
衝突検出部23は、データInfo_3D_spaceにより特定される3次元空間内に配置させるCG物体が複数ある場合、各CG物体が物理的に配置できない領域に配置されるように設定されていないかを検出する。
テクスチャー設定部24は、各CG物体の表面に貼り付けるテクスチャーを設定する。なお、テクスチャー設定部24は、例えば、複数のパターンのテクスチャーのデータを保持しており、任意のパターンごとにテクスチャーを設定することができる。
3D−2D変換部25は、データInfo_3D_spaceにより特定される3次元空間内に配置させるCG物体を、背景画像に合成する場合の当該背景画像上の2次元座標を、当該CG物体の3次元空間内の3次元座標を3D−2D変換(射影変換)することで取得する。
CG処理部2は、CG処理部2に含まれる上記の各機能部により取得した情報を含むデータをデータData_CG_objとして、レンダリング処理部3に出力する。また、CG処理部2は、CG処理部2により生成されたCG物体を背景画像上に表示させた場合に、当該CG物体を囲む画像領域の境界を規定するバウンディングボックスの情報を学習用データ生成部4に出力する。なお、CG処理部2によりN個(N:自然数)のCG物体が生成された場合、i番目(i:自然数、1≦i≦N)のCG物体のバウンディングボックスの情報を「Data_for_training(BBox(i))」と表記する。
レンダリング処理部3は、背景画像データ取得部1から出力される背景画像D1およびデータInfo_3D_spaceと、CG処理部2から出力されるデータData_CG_objとを入力する。レンダリング処理部3は、データInfo_3D_spaceと、データData_CG_objとに基づいて、CG処理部2により生成されたCG物体を、背景画像D1に合成することで、合成画像データD2(合成画像Img1の画像データ)を取得し、取得した合成画像データD2を学習用データ生成部4に出力する。
学習用データ生成部4は、レンダリング処理部3から出力される合成画像データD2と、CG処理部2から出力されるCG物体のバウンディングボックスの情報を含むデータData_coordinate(BBox(i))とを入力する。学習用データ生成部4は、入力されたデータから学習用データを生成し、生成したデータをデータDoutとして、例えば、学習用データ格納部DB2に出力する。
学習用データ格納部DB2は、学習用データ生成部4から出力されるデータDoutを入力し、当該データを記憶保持する。学習用データ格納部DB2は、例えば、データベースにより実現される。
なお、「学習用画像データ取得部」は、CG処理部2と、レンダリング処理部3と、学習用データ生成部4により、実現される機能部である。
<1.2:学習用データ生成システムの動作>
以上のように構成された学習用データ生成システム1000の動作について、以下、説明する。
なお、以下では、学習用データ生成システム1000において、物体検出処理の学習用データを生成する場合について、説明する。また、説明便宜のため、物体検出処理における検出対象の物体が、略直方体の形状を有しているものとする。
図2は、物体検出処理の学習用データを生成する場合において、学習用データ生成システム1000が実行する処理のフローチャートである。
図3は、背景画像を取得するための3次元空間SP1(部屋Rm1内の3次元空間)を模式的に示した図である。図3は、部屋Rm1を上方から見た図であり、部屋Rm1内に、カメラCam1が配置されており、3次元空間(撮像対象空間)SP1を、画角α、カメラCam1の光学系の光軸を光軸Ax1として撮像することで、背景画像Img0(一例)を取得(撮像)するものとする。また、図3に示すように、x軸、y軸、z軸が設定されるものとする。
図4は、背景画像Img0(一例)を示す図である。
(ステップS11):
ステップS11において、背景画像データ取得部1は、背景画像データ格納部DB1から1つの背景画像データを取得する。なお、説明便宜のため、背景画像データ取得部1は、背景画像データ格納部DB1から、図3の状況によりカメラCam1により撮像された背景画像Img0(図4)を取得するものとし、以下、この場合について、説明する。
(ステップS12〜S14):
ステップS12において、CG処理部2は、CG物体を3次元空間SPに配置するときに、CG物体が積み重なった状態で配置される最大の数を設定し、当該数を超えた数でCG物体が積み重なった状態とならないようにする。
テクスチャー設定部24は、各CG物体の表面に貼り付けるテクスチャーを設定する。なお、本実施形態では、1つのパターンのテクスチャーを各CG物体に貼り付けるものとする。つまり、CG処理部2により、1種類のCG物体が生成されるものとする。
3D配置座標決定部21は、データInfo_3D_spaceにより特定される3次元空間SP1内に配置させるCG物体(CGにより生成したオブジェクト)の形状情報(3次元座標情報)を取得する。3D配置座標決定部21は、乱数を使用して、3次元空間SP1内に配置させるCG物体の座標情報を取得する(ステップS13)。なお、CG物体は、N個生成されるものとし、i番目のCG物体の3次元空間SP1内の座標情報を3D_coordinate(i)と表記する。そして、i番目のCG物体の3次元空間SP1内の座標情報3D_coordinate(i)は、例えば、i番目のCG物体(略直方体)の6つの頂点の3次元空間SP1内の3次元座標のデータを含むデータである。
また、姿勢決定部22は、CG物体の姿勢(CG物体の向き)を、乱数を使用して、決定する(ステップS13)。
衝突検出部23は、上記のようにして3次元空間SP1内に配置されたN個のCG物体の中で、各CG物体が物理的に配置できない領域に配置されているものがないか検出する(ステップS14)。そして、検出の結果、物理的に配置できない領域に配置されているCG物体が存在していると判定された場合、物理的に配置できない領域に配置されているCG物体の配置を取り消し、処理をステップS13に戻す。一方、物理的に配置できない領域に配置されているCG物体が存在していないと判定された場合、3次元空間SP1内に配置したN個のCG物体は、すべて物理的に配置可能な領域に配置されているので、処理をステップS15に進める。
(ステップS15):
ステップS15において、CG処理部2により生成されたCG物体(上記処理により、座標情報、姿勢等が決定されたCG物体)を、背景画像Img0に合成するためのレンダリング処理が実行される。
具体的には、3D−2D変換部25は、データInfo_3D_spaceにより特定される3次元空間SP1内に配置させるCG物体を、背景画像Img0に合成する場合の当該背景画像Img0上の2次元座標を、当該CG物体の3次元空間SP1内の3次元座標を3D−2D変換(射影変換)することで取得する。
そして、レンダリング処理部3は、上記により取得した各CG物体の背景画像Img0上の2次元座標に基づいて、各CG物体を3次元空間SP1から背景画像Img0上の2次元空間に投影することで、各CG物体に相当する画像を、背景画像Img0に合成する。なお、このとき、視線奥(カメラCam1から遠い位置)から視線手前(カメラCam1に近い位置)へ向かって順に、各CG物体の背景画像Img0上へ投影して合成するレンダリング処理を行う。
(ステップS16):
ステップS16において、学習用データ生成部4は、ステップS15により取得されたレンダリング結果、すなわち、各CG物体を背景画像Img0へ投影して合成するレンダリング処理により取得された画像を学習用データ(学習用画像)として、学習用データ格納部DB2に保存する。
図5に、一例として、N個(N=9)のCG物体CG_obj1〜CG_obj9を、背景画像Img0へ投影して合成するレンダリング処理により取得された画像Img1(レンダリング画像Img1)を示す。
(ステップS17〜S19):
ステップS17において、CG処理部2の3D−2D変換部25は、投影変換により、各CG物体のそれぞれの頂点の3次元座標から、レンダリング画像Img1上の2次元座標を取得する。そして、3D−2D変換部25は、各CG物体をレンダリング画像Img1上において囲む領域を規定する2Dバウンディングボックスを決定する(ステップS18)。3D−2D変換部25は、決定した各CG物体の2Dバウンディングボックスを特定するための情報をデータData_coordinate(Bbox(i))として学習用データ生成部4に出力する。なお、「Bbox(i)」は、i番目のCG物体の2Dバウンディングボックスを示す表記であるものとする。
学習用データ生成部4は、ステップS18で取得したCG物体のバウンディングボックスの情報を含むデータData_coordinate(Bbox(i))(学習用位置ラベル)を学習用データ格納部DB2に出力し、学習用データ格納部DB2に保存する(ステップS19)。
図6に、一例として、N個(N=9)のCG物体CG_obj1〜CG_obj9を、背景画像Img0へ投影して合成するレンダリング処理により取得された画像Img1(レンダリング画像Img1)において、各CG物体のバウンディングボックスを矩形で明示した画像を示す。
以上により、学習用データ生成システム1000では、CG処理部により生成したCG物体を背景画像Img0上にレンダリングして合成することで取得した学習用画像(レンダリング画像Img1)と、学習用画像(レンダリング画像Img1)上において、各CG物体の位置を特定する学習用位置ラベル(各CG物体の2Dバウンディングボックスの座標データ)とを取得することができる。学習用データ生成システム1000では、3次元空間SP1内での3次元位置が分かっているCG物体を、背景画像Img0にレンダリングして学習用画像Img1を取得し、当該学習用画像Img1において、各CG物体の位置を特定する学習用位置ラベル(各CG物体の2Dバウンディングボックスの座標データ)を特定するので、極めて正確な教師データを取得することができる。つまり、各CG物体は、学習用データ生成装置100のCG処理部2により生成したものであるので、各CG物体を背景画像Img0上に投影したとき、各CG物体が占める画像領域がどこになるのかを計算により正確に求めることができる。その結果、各CG物体の位置を特定する学習用位置ラベル(各CG物体の2Dバウンディングボックスの座標データ)は、極めて正確なものとなる。
さらに、学習用データ生成システム1000では、CG処理部2により、人手を介することなく、自動でCG物体を生成することができる。そして、学習用データ生成システム1000では、生成したCG物体を背景画像に投影することで(レンダリング処理を行うことで)、短時間に多量の学習用画像Img1と、学習用位置ラベル(各CG物体の2Dバウンディングボックスの座標データ)とを生成することができる。
したがって、学習用データ生成システム1000では、物体検出処理等を実行するときに用いられる学習済みモデルを取得するために、学習処理時に必要となる学習用データを短時間に多量に取得することができる。
そして、学習用データ生成システム1000により取得された、多量であり、かつ、極めて正確な教師データを用いて、学習処理を行うことで、例えば、物体検出処理を実行するときに用いられる学習済みモデルを高精度に、かつ、効率的に取得することでできる。
≪第1変形例≫
次に、第1実施形態の第1変形例について、説明する。
なお、第1実施形態と同様の部分については、同一符号を付し、詳細な説明を省略する。
本変形例の学習用データ生成システムでは、CG物体のテクスチャーを複数種類にする点が、第1実施形態とは相違する。
図7は、第1実施形態の第1変形例の学習用データ生成システムにより、N個(N=9)のCG物体CG_obj1〜CG_obj9を、背景画像Img0へ投影して合成するレンダリング処理により取得された画像Img1A(レンダリング画像Img1A)を示す図である。
図8は、N個(N=9)のCG物体CG_obj1〜CG_obj9を、背景画像Img0へ投影して合成するレンダリング処理により取得された画像Img1A(レンダリング画像Img1A)において、各CG物体のバウンディングボックスを矩形で明示した画像を示す図である。
本変形例の学習用データ生成システムにおいて、テクスチャー設定部24は、各CG物体の表面に貼り付けるテクスチャーを設定する。
例えば、CG物体の種類を2種類とすると、テクスチャー設定部24は、各CG物体の表面に貼り付けるテクスチャーを、上記2種類(2パターン)のいずれかのパターンに設定する。例えば、テクスチャー設定部24は、図7に示すように、CG物体CG_obj1〜CG_obj3、CG_obj5、CG_obj8を、第1パターンのテクスチャーとし、CG物体CG_obj4、CG_obj6〜CG_obj7、CG_obj9を、第2パターンのテクスチャーに設定する。
このように2種類のテクスチャーを設定した場合において、本変形例の学習用データ生成システムでは、第1実施形態と同様の処理を実行することで、図8に示すように、正確に、各CG物体のバウンディングボックスを特定する情報を取得することができる。したがって、例えば、物体検出処理の対象となる物体が多種類である場合において、本変形例の学習用データ生成システムにより、短時間で多量の学習用データ(教師データ)を生成することができる。
以上のように、本変形例の学習用データ生成システムでは、テクスチャーが多様に変化させることができ、多様なテクスチャーを有するCG物体を背景画像に投影することで(レンダリング処理を行うことで)、短時間に多量の学習用画像Img1Aと、学習用位置ラベル(各CG物体の2Dバウンディングボックスの座標データ)とを生成することができる。
なお、本変形例において、テクスチャーの種類を2種類としたが、これに限定されることはなく、テクスチャーの種類は3種類であってもよい。
[第2実施形態]
次に、第2実施形態について、説明する。
なお、上記実施形態(変形例を含む)と同様の部分については、同一符号を付し、詳細な説明を省略する。
<2.1:学習用データ生成システム2000の構成>
図9は、第2実施形態に係る学習用データ生成システム2000の概略構成図である。
第2実施形態の学習用データ生成システム2000は、第1実施形態の学習用データ生成システム1000において、学習用データ生成装置100を学習用データ生成装置100Aに置換した構成を有している。そして、学習用データ生成装置100Aにおいて、CG処理部2をCG処理部2Aに置換し、学習用データ生成部4を学習用データ生成部4Aに置換した構成を有している。それ以外については、第2実施形態の学習用データ生成システム2000は、第1実施形態の学習用データ生成システム1000と同様である。
CG処理部2Aは、姿勢決定部22により決定(設定)された各CG物体の姿勢(向き)で、CG物体を背景画像Img0上に投影したとき、CG物体がどのような姿勢であるか(どの方向を向いているか)を特定するための情報をデータLabel_postureとして、学習用データ生成部4Aに出力する。なお、i番目のCG物体の姿勢を特定するための情報をデータLabel_posture(i)と表記する。
例えば、図10に示すように、CG物体が直方体である場合、3DのCG物体を2Dに投影変換した場合、目視できる面が3面となるので、目視できる面がどの面であるかにより、クラスを設定し、例えば、クラスの番号により、CG物体を背景画像Img0上に投影したときの姿勢(向き)を特定する。例えば、図10の場合、背景画像Img0(レンダリング画像Img1)上で目視できる面は、上面としてE面、左側面としてA面、右側面としてB面であるので、この状態を、例えば、図10に示すように「クラス1」とする。このようにして設定したクラスの番号により、CG物体を背景画像Img0上に投影したときの姿勢(向き)を特定することができる。
学習用データ生成部4Aは、レンダリング処理部3から出力されるデータD2(レンダリング画像Img1(CG物体を背景画像Img0に合成した画像))と、CG処理部2Aから出力されるデータData_coordinate(Bbox(i))(バウンディングボックスを特定するためのデータ)およびデータLabel_posture(i)(レンダリング画像Img1での各CG物体の姿勢を特定するためのデータ)とを入力する。そして、学習用データ生成部4Aは、入力されたデータから学習用データを生成し、生成したデータをデータDoutとして、例えば、学習用データ格納部DB2に出力する。
<2.2:学習用データ生成システム2000の動作>
以上のように構成された学習用データ生成システム2000の動作について、以下説明する。
なお、以下では、学習用データ生成システム2000において、姿勢検出処理の学習用データを生成する場合について、説明する。また、説明便宜のため、姿勢検出処理における検出対象の物体が、略直方体の形状を有しているものとする。
図11は、姿勢検出処理の学習用データを生成する場合において、学習用データ生成システム2000が実行する処理のフローチャートである。
図12は、N個(N=10)のCG物体CG_obj1〜CG_obj10を、背景画像Img0へ投影して合成するレンダリング処理により取得された画像Img2(レンダリング画像Img2)を示す図である。
図13は、N個(N=10)のCG物体CG_obj1〜CG_obj10を、背景画像Img0へ投影して合成するレンダリング処理により取得された画像Img2A(レンダリング画像Img2A)において、各CG物体のバウンディングボックス(クロップする画像領域に相当)を矩形で明示した画像を示す図である。
図14は、N個(N=10)のCG物体CG_obj1〜CG_obj9のクロップ画像Img_crop(1)〜Img_crop(9)と、判定されたクラスの番号を示す図である。
(ステップS21〜S25):
ステップS21〜S25の処理は、第1実施形態のステップS11〜S15の処理と同様である。
(ステップS26):
ステップS26において、CG処理部2の3D−2D変換部25は、投影変換により、各CG物体のそれぞれの頂点の3次元座標から、レンダリング画像Img2上の2次元座標を取得する。そして、3D−2D変換部25は、各CG物体をレンダリング画像Img2上において、視点(背景画像Img0のカメラ位置)から見たときに他のCG物体に遮蔽されているCG物体を検出し、完全または一部遮蔽されていると判定されたCG物体を学習データ取得対象から除外する。つまり、ステップS26の処理により、遮蔽されていないCG物体のみが学習データ取得対象に設定される。
(ステップS27):
ステップS27において、学習用データ生成部4Aは、2Dバウンディングボックス(レンダリング画像上の各CG物体を囲む領域を決定するためのデータ)で規定される領域をクロップ領域に設定し、当該クロップ領域の画像を抽出する。i番目のCG物体のクロップ領域を抽出した画像をクロップ画像Img_crop(i)と表記する。
そして、学習用データ生成部4Aにより取得されたクロップ画像Img_crop(i)は、学習用画像として、学習用データ格納部DB2に保存される。
(ステップS28):
ステップS28において、学習用データ生成部4Aは、CG処理部2Aから出力されるデータLabel_posture(i)(i番目のCG物体のレンダリング画像上の姿勢を示すデータ)を取得し、当該データを学習用データ格納部DB2に保存する。なお、データLabel_posture(i)は、クロップ画像Img_crop(i)に含まれるCG物体の姿勢を示すデータである。
本実施形態の学習用データ生成システム2000では、図14に示すように、CG物体CG_obj1〜CG_obj9のクロップ画像Img_crop(1)〜Img_crop(9)(CG物体CG_obj(10)は遮蔽されているので除外されている)を正確に取得することができ、かつ、姿勢ラベル(クロップ画像上のCG物体の姿勢を特定するデータ)も正確に取得することができる。
以上により、学習用データ生成システム2000では、CG処理部により生成したCG物体を背景画像Img0上にレンダリングして合成することで取得したレンダリング画像Img2から、CG物体毎に取得したクロップ画像と、当該クロップ画像内のCG物体の姿勢を特定する姿勢ラベルとを取得することができる。
学習用データ生成システム2000では、3次元空間SP1内での3次元位置、姿勢が分かっているCG物体を、背景画像Img0にレンダリングしてレンダリング画像Img2を取得し、当該レンダリング画像Img2において、各CG物体の位置を特定する2Dバウンディングボックスで規定される領域をクロップ領域に特定するので、各CG物体を含むクロップ画像を極めて正確に取得することができる。
さらに、クロップ画像に含まれるCG物体は、学習用データ生成装置100AのCG処理部2Aにより生成したものであるので、各CG物体を背景画像Img0上に投影したとき、各CG物体の姿勢がどのようになるのかを計算により正確に求めることができる。その結果、クロップ画像上において、各CG物体の姿勢を特定する学習用姿勢ラベル(各CG物体のクロップ画像上での姿勢を特定するデータ(例えば、クラスの番号))は、極めて正確なものとなる。
さらに、学習用データ生成システム2000では、CG処理部2Aにより、人手を介することなく、自動でCG物体を生成することができる。そして、学習用データ生成システム2000では、生成したCG物体を背景画像に投影することで(レンダリング処理を行うことで)、短時間に多量の学習用画像(各CG物体のクロップ画像)と、学習用姿勢ラベル(各CG物体のクロップ画像上での姿勢を特定するデータ(例えば、クラスの番号))とを生成することができる。
したがって、学習用データ生成システム2000では、姿勢検出処理等を実行するときに用いられる学習済みモデルを取得するために、学習処理時に必要となる学習用データを短時間に多量に取得することができる。
そして、学習用データ生成システム2000により取得された、多量であり、かつ、極めて正確な教師データを用いて、学習処理を行うことで、例えば、姿勢検出処理を実行するときに用いられる学習済みモデルを高精度に、かつ、効率的に取得することでできる。
なお、第1実施形態の第1変形例と同様に、本実施形態の学習用データ生成システム2000においても、CG物体のテクスチャーを複数種類(複数パターン)としてもよい。
[第3実施形態]
次に、第3実施形態について説明する。
図15は、第3実施形態に係る学習用データ生成システム3000の概略構成図である。
図16は、検出対象物体(実物)Real_objが写っている背景画像Img0Aを示す図である。
図17は、検出対象物体(実物)Real_objが写っている背景画像Img0Aに手動で設定された2DバウンディングボックスBbox_manualを示した図である。
図18は、検出対象物体(実物)Real_objが写っている背景画像Img0Aに、CG物体をレンダリングして取得されたレンダリング画像Img3を示す図である。
なお、上記実施形態(変形例を含む)と同様の部分については、同一符号を付し、詳細な説明を省略する。
第3実施形態の学習用データ生成システム3000では、第1実施形態の学習用データ生成システム1000の学習用データ生成装置100において、手動バウンディングボックス情報入力部5を追加した構成となっている。
学習用データ生成システム3000では、例えば、物体検出用の学習用データを生成するために、背景画像に写っている検出対象物体(実物)の画像領域を、従来と同様に手動で設定し、2Dバウンディングボックスを設定しているとき、当該手動で設定されている2Dバウンディングボックスの情報を、手動バウンディングボックス情報入力部5により取得する。
そして、学習用データ生成システム3000では、取得した情報をレンダリング処理部3に入力し、レンダリング処理部3は、当該手動で設定されている2Dバウンディングボックス内の画像領域以外の領域に、CGによるCG物体を配置するようにする。
このようにすることで、検出対象物体(実物)が写っている背景画像Img0Aを用いて、従来手法による学習データを取得するとともに、上記実施形態で説明したCGにより生成したCG物体を用いた学習用データ取得を行うことができる。
学習用データ生成システム3000では、例えば、図16の背景画像Img0Aを用いて処理を行う場合、図17に示すように、手動で設定された2DバウンディングボックスBbox_manualの画像領域以外の領域を使用して、上記実施形態の処理を行う。
このように処理することで、学習用データ生成システム3000では、例えば、図18に示すように、手動で設定された2DバウンディングボックスBbox_manualの画像領域以外の領域に、CG物体をレンダリングすることで、上記実施形態で説明した処理を実行することができる。
なお、第2実施形態の学習用データ生成装置100Aにおいて、本実施形態と同様に、手動バウンディングボックス情報入力部5を追加し、本実施形態と同様に、手動で設定された2DバウンディングボックスBbox_manualの画像領域以外の領域に、CG物体をレンダリングすることで、学習用データを取得するようにしてもよい。
[第4実施形態]
次に、第4実施形態について説明する。
なお、上記実施形態(変形例を含む)と同様の部分については、同一符号を付し、詳細な説明を省略する。
<4.1:学習用データ生成システム4000の構成>
図19は、第4実施形態に係る学習用データ生成システム4000の概略構成図である。
第4実施形態の学習用データ生成システム4000は、第1実施形態の学習用データ生成システム1000において、学習用データ生成装置100を学習用データ生成装置100Cに置換した構成を有している。そして、学習用データ生成装置100Cにおいて、背景画像データ取得部1を背景画像データ取得部1Aに置換し、CG処理部2をCG処理部2Bに置換し、姿勢決定部22を鍵情報決定部22Aに置換し、レンダリング処理部3をレンダリング処理部3Aに置換し、学習用データ生成部4を学習用データ生成部4Bに置換した構成を有している。それ以外については、第4実施形態の学習用データ生成システム4000は、第1実施形態の学習用データ生成システム1000と同様である。
なお、第4実施形態では、説明便宜のため、一例として、図20、図21に示すように、所定の空間に配置された直方体の物体を含む画像(例えば、図21の領域R1をクロップした画像)を背景画像(CG物体の被合成画像)として、当該直方体の物体の表面に鍵穴を形成する物体(CG物体)をCG合成する場合について、説明する。
背景画像データ取得部1Aは、背景画像データ格納部DB1から、所定の背景画像データと、(1)当該背景画像を取得したときの撮像対象の3次元空間を特定するための情報(3次元空間の縦・横・高さの情報等)と、(2)当該背景画像を取得したときの撮影パラメータ(カメラの焦点距離、画角等)の情報と、(3)当該背景画像に含まれる抽出対象物(鍵穴を合成する被対象物)のサイズ、形状等の情報とを取得する。なお、背景画像データ取得部1Aは、背景画像を撮像したときの上記(1)〜(3)の情報を含むデータを、データInfo1として、取得する。
背景画像データ取得部1Aは、例えば、画像認識処理により抽出対象物(鍵穴を合成する被対象物)の背景画像上の領域(例えば、図21の領域R1)を特定し、当該領域を切り出した画像を抽出画像D1Aとして取得する。また、背景画像データ取得部1Aは、切り出した画像領域が、撮像対象の3次元空間のどの空間に対応するかを特定するための情報を含むデータInfo2(D1A)を取得する。
そして、背景画像データ取得部1Aは、取得したデータD1A(抽出対象物(鍵穴を合成する被対象物)の領域を抽出した画像)をレンダリング処理部3Aに出力するとともに、取得したデータInfo1およびデータInfo2(D1A)をCG処理部2Bおよびレンダリング処理部3Aに出力する。
CG処理部2Bは、背景画像を撮像した3次元空間に配置するCG物体(CGにより生成される物体)を生成し、当該CG物体を背景画像(背景画像データ取得部1Aから取得される画像D1A)に合成するために必要なデータを生成する処理部である。
鍵情報決定部22Aは、CG合成するための鍵の種別を特定し、また、CG合成する鍵の形状についての3次元空間の位置情報(鍵を3次元空間にCG合成により配置させたときの当該鍵の3次元位置(3次元形状)を特定するための情報)を特定する。なお、鍵の種別を特定する情報、および、鍵の3次元位置(3次元形状)を特定するための情報とは、所定の記憶部(不図示)に格納されているものとする。また、CG合成する鍵の形状についての3次元空間の位置情報は、撮影対象の3次元空間に設定される3次元座標による3次元座標(絶対座標によるデータ)であってもよいし、抽出対象物(鍵穴を合成する被対象物)を切り出した領域に相当する空間に設定される3次元座標による3次元座標(例えば、切り出した領域の所定の点(例えば、左端点)を原点とする相対座標によるデータ)であってもよい。
CG処理部2Bは、CG物体(鍵形状のCG物体)を背景画像D1Aに合成するために必要なデータData_CG_objをレンダリング処理部3Aに出力する。なお、データData_CG_objは、3D−2D変換部25により、鍵情報決定部22Aにより特定された鍵穴形状の物体(CG物体)の3次元の位置データ(3次元座標データ)を、背景画像に合成する場合の当該背景画像上の2次元座標データに変換することで取得される。
また、CG処理部2Bは、鍵穴形状の物体(CG物体)を背景画像に合成する場合の当該CG物体の当該背景画像上の2次元座標データ(3D−2D変換することで取得される2次元座標データ)を含む情報をデータKey_pos(i)として取得する。
また、CG処理部2Bは、鍵情報決定部22Aにより特定された鍵穴形状の物体(CG物体)(これをi番目(i:自然数)のCG物体とする)の鍵種別を示す情報をデータKey_type(i)として、鍵穴形状の物体(CG物体)の合成画像上の鍵位置を示す情報をデータKey_pos(i)として、学習用データ生成部4Bに出力する。
レンダリング処理部3Aは、背景画像データ取得部1Aから出力されるデータInfo1、データInfo2(D1A)、および、画像データD1A(鍵穴を合成する被対象物を抽出した画像)と、CG処理部2Bから出力されるデータData_CG_objとを入力する。
レンダリング処理部3Aは、データInfo1と、データInfo2(D1A)と、データData_CG_objとに基づいて、CG処理部2Bにより生成されたCG物体(鍵穴形状のCG物体)を、画像D1Aに合成することで、合成画像データImg_render(i)を取得し、取得した合成画像データImg_render(i)を学習用データ生成部4Bに出力する。
学習用データ生成部4Bは、レンダリング処理部3Aから出力される合成画像データImg_render(i)と、CG処理部2Bから出力されるCG物体(鍵穴形状のCG物体)の鍵種別を示す情報をデータKey_type(i)と、鍵穴形状の物体(CG物体)の合成画像上の鍵位置を示す情報をデータKey_pos(i)とを入力する。
学習用データ生成部4Bは、入力されたデータから学習用データを生成し、生成したデータをデータDoutとして、例えば、学習用データ格納部DB2に出力する。なお、データDoutは、i番目のCG物体のデータとして、
(1)Img_render(i)(鍵穴を合成した画像)
(2)Label_key(i)(鍵種別の情報と鍵位置の情報とを含むラベル)
を含むデータであるものとする。
学習用データ格納部DB2は、学習用データ生成部4Bから出力されるデータDoutを入力し、当該データを記憶保持する。
<4.2:学習用データ生成システム4000の動作>
以上のように構成された学習用データ生成システム4000の動作について、以下、説明する。
なお、以下では、学習用データ生成システム4000において、鍵穴検出処理の学習用データを生成する場合について、説明する。また、説明便宜のため、鍵穴検出処理における検出対象の物体が、略直方体の形状を有しているものとする。
図22は、鍵検出処理の学習用データを生成する場合において、学習用データ生成システム4000が実行する処理のフローチャートである。
以下では、図22のフローチャートを参照しながら、学習用データ生成システム4000の動作について、説明する。
(ステップS31):
ステップS31において、背景画像データ取得部1Aは、背景画像データ格納部DB1から1つの背景画像データを取得する。なお、説明便宜のため、背景画像データ取得部1Aは、背景画像データ格納部DB1から、図20に示す背景画像Img4を取得するものとし、以下、この場合について、説明する。
背景画像データ取得部1Aは、例えば、画像認識処理により抽出対象物(鍵穴を合成する被対象物)の背景画像上の領域(例えば、図21の領域R1)を特定し、当該領域を切り出した画像を抽出画像D1Aとして取得する。また、背景画像データ取得部1Aは、切り出した画像領域が、撮像対象の3次元空間のどの空間に対応するかを特定するための情報を含むデータInfo2(D1A)を取得する。
そして、背景画像データ取得部1Aは、取得したデータD1A(抽出対象物(鍵穴を合成する被対象物)の領域を抽出した画像)をレンダリング処理部3Aに出力するとともに、取得したデータInfo1およびデータInfo2(D1A)をCG処理部2Bおよびレンダリング処理部3Aに出力する。
(ステップS32、S33):
CG処理部2Bは、鍵情報決定部22Aにより、CG合成するための鍵の種別Key_type(i)を特定し(ステップS32)、また、CG合成する鍵の形状についての3次元空間の位置情報を3D−2D変換して、背景画像上の2次元座標データを取得し、取得した当該2次元データを含むデータKey_pos(i)を特定する(ステップS33)。なお、ステップS33において、鍵の位置情報Key_pos(i)は、背景画像(合成画像)上において、鍵を合成するCG物体の面の左右のいずれの領域に配置されるかを特定できる情報を含むものであってもよい。
CG処理部2Bは、CG物体(鍵形状のCG物体)を背景画像D1Aに合成するために必要なデータData_CG_objをレンダリング処理部3Aに出力する。
また、CG処理部2Bは、鍵情報決定部22Aにより特定された鍵穴形状の物体(CG物体)(これをi番目(i:自然数)のCG物体とする)の鍵種別を示す情報をデータKey_type(i)として、鍵穴形状の物体(CG物体)の合成画像上の鍵位置を示す情報をデータKey_pos(i)として、学習用データ生成部4Bに出力する。
(ステップS34):
ステップS34において、レンダリング処理部3Aは、背景画像データ取得部1Aから出力されるデータInfo1、データInfo2(D1A)、および、画像データD1A(鍵穴を合成する被対象物を抽出した画像)と、CG処理部2Bから出力されるデータData_CG_objとに基づいて、CG処理部2Bにより生成されたCG物体(鍵穴形状のCG物体)を、画像D1Aに合成することで、合成画像データImg_render(i)(レンダリング結果の画像)を取得する。
図23、図24に、一例として、画像データD1A(鍵穴を合成する被対象物を抽出した画像)(図23、図24では、Img_real(box1)と表記)に、4種類の鍵穴の形状のCG物体key1〜key4を合成するときの様子を模式的に示す。なお、図23、図24では、鍵穴の形状のCG物体keyxのデータData_CG_objをData_CG_obj(keyx)と表記している。
図23に示すように、レンダリング処理部3Aは、例えば、以下の学習用データを生成する。
(1)i=1の場合(鍵key1を被合成物体の正面の左側領域に合成する場合)
鍵種類:key1
合成画像データ:Img_render(1)
学習ラベル用ラベル:Label_key(1)=(key1,pos_L)
pos_L:鍵穴形状CG物体の位置情報
(2)i=2の場合(鍵key1を被合成物体の正面の右側領域に合成する場合)
鍵種類:key1
合成画像データ:Img_render(2)
学習ラベル用ラベル:Label_key(2)=(key1,pos_R)
pos_R:鍵穴形状CG物体の位置情報
(3)i=3の場合(鍵key2を被合成物体の正面の左側領域に合成する場合)
鍵種類:key2
合成画像データ:Img_render(3)
学習ラベル用ラベル:Label_key(3)=(key2,pos_L)
pos_L:鍵穴形状CG物体の位置情報
(4)i=4の場合(鍵key2を被合成物体の正面の右側領域に合成する場合)
鍵種類:key2
合成画像データ:Img_render(4)
学習ラベル用ラベル:Label_key(4)=(key2,pos_R)
pos_R:鍵穴形状CG物体の位置情報
また、図24に示すように、レンダリング処理部3Aは、例えば、以下の学習用データを生成する。
(5)i=5の場合(鍵key3を被合成物体の正面の左側領域に合成する場合)
鍵種類:key3
合成画像データ:Img_render(5)
学習ラベル用ラベル:Label_key(5)=(key3,pos_L)
pos_L:鍵穴形状CG物体の位置情報
(6)i=6の場合(鍵key2を被合成物体の正面の右側領域に合成する場合)
鍵種類:key3
合成画像データ:Img_render(6)
学習ラベル用ラベル:Label_key(6)=(key3,pos_R)
pos_R:鍵穴形状CG物体の位置情報
(7)i=7の場合(鍵key4を被合成物体の正面の左側領域に合成する場合)
鍵種類:key4
合成画像データ:Img_render(7)
学習ラベル用ラベル:Label_key(7)=(key4,pos_L)
pos_L:鍵穴形状CG物体の位置情報
(8)i=8の場合(鍵key4を被合成物体の正面の右側領域に合成する場合)
鍵種類:key4
合成画像データ:Img_render(8)
学習ラベル用ラベル:Label_key(8)=(key4,pos_R)
pos_R:鍵穴形状CG物体の位置情報
そして、レンダリング処理部3Aは、取得した合成画像データImg_render(i)を学習用データ生成部4Bに出力する。
(ステップS35、S36):
学習用データ生成部4Bは、レンダリング処理部3Aから出力される合成画像データImg_render(i)を学習用画像として、学習用データ格納部DB2に保存する(ステップS35)。
また、学習用データ生成部4Bは、CG処理部2Bから出力されるCG物体(鍵穴形状のCG物体)の鍵種別を示す情報をデータKey_type(i)と、鍵穴形状の物体(CG物体)の合成画像上の鍵位置を示す情報をデータKey_pos(i)とを含む学習用ラベルLabel_key(i)(鍵種別の情報と鍵位置の情報とを含むラベル)を生成し、生成した学習用ラベルLabel_key(i)を学習用データ格納部DB2に保存する(ステップS36)。
以上により、学習用データ生成システム4000では、CG処理部2Bにより生成したCG物体を背景画像D1A上にレンダリングして合成することで取得した学習用画像(レンダリング画像Img_render(i))と、学習用ラベルLabel_key(i)(鍵種別の情報Key_type(i)と鍵位置の情報Key_pos(i)とを含むラベル)とを取得することができる。
学習用データ生成システム4000では、3次元空間SP1内での3次元位置が分かっているCG物体(鍵穴形状のCG物体)を、背景画像(被合成画像(例えば、図21の領域R1の抽出画像))にレンダリングして学習用画像Img_render(i)(鍵穴合成画像データ)を取得し、さらに、当該学習用画像Img_render(i)において、各CG物体(鍵穴形状のCG物体)の位置を特定する学習用ラベルLabel_key(i)(鍵種別の情報Key_type(i)と鍵位置の情報Key_pos(i)とを含むラベル)を取得する。したがって、学習用データ生成システム4000では、極めて正確な教師データを取得することができる。つまり、各CG物体は、学習用データ生成装置100CのCG処理部2Bにより生成したものであるので、鍵の種類を正確に把握することができるともに、各CG物体を背景画像D1A上に投影したとき、各CG物体(鍵穴形状のCG物体)が占める画像領域がどこになるのかを計算により正確に求めることができる。
さらに、学習用データ生成システム4000では、CG処理部2Bにより、人手を介することなく、自動でCG物体を生成することができる。そして、学習用データ生成システム4000では、生成したCG物体を背景画像に投影することで(レンダリング処理を行うことで)、短時間に多量の学習用画像と、学習用ラベルとを生成することができる。
したがって、学習用データ生成システム4000では、鍵穴検出処理等を実行するときに用いられる学習済みモデルを取得するために、学習処理時に必要となる学習用データを短時間に多量に取得することができる。
[第5実施形態]
次に、第5実施形態について説明する。
なお、上記実施形態(変形例を含む)と同様の部分については、同一符号を付し、詳細な説明を省略する。
<5.1:学習推論処理システムSys1の構成>
図25は、第5実施形態に係る学習推論処理システムSys1の概略構成図である。
図26は、第5実施形態に係る学習処理装置200の概略構成図である。
図27は、第5実施形態に係る推論処理装置300の概略構成図である。
学習推論処理システムSys1は、図25に示すように、学習用データ格納部DB2と、学習処理装置200と、最適化パラメータ格納部DB3と、カメラC1と、推論処理装置300とを備える。
学習用データ格納部DB2には、第4実施形態の学習用データ生成システム4000により生成された学習用データが格納されているものとする。
学習推論処理システムSys1では、学習処理において、学習用画像(レンダリング画像Img_render(i))と、学習用ラベルLabel_key(i)(鍵種別の情報Key_type(i)と鍵位置の情報Key_pos(i)とを含むラベル)とを含む学習データにより学習処理を実行し、画像が入力されたときに、当該画像に含まれている物体の表面上の鍵の種類と鍵の位置とを特定するデータを出力する学習済みモデルを取得する。
また、学習推論処理システムSys1では、推論処理において、撮影対象の空間を撮像して取得した画像に含まれている物体の表面の鍵の3次元位置を推定する。
以下では、学習処理装置200と、推論処理装置300とに分けて、説明する。
<5.2:学習処理装置200>
図26に示すように、学習処理装置200は、学習用データ入力部201と、学習用モデル202と、パラメータ更新部203と、判定部204とを備える。
学習用データ入力部201は、学習用データ格納部DB2から学習用データDL_inを取得する。そして、学習用データ入力部201は、学習用データDL_inに含まれる画像データImg_render(i)(鍵穴合成画像)を取り出し、学習用モデル202に出力する。また、学習用データ入力部201は、学習用データDL_inに含まれる学習用ラベルLabel_key(i)(鍵種別の情報Key_type(i)と鍵位置の情報Key_pos(i)とを含むラベル)を取り出し、教師データDL_answerとして、判定部204に出力する。
学習用モデル202は、例えば、入力層と、複数の中間層と、出力層とを備えるニューラルネットワークによるモデルである。学習用モデル202の各層間の重み付け係数(各層間を繋ぐシナプス結合の重み付け)は、パラメータ更新部203から出力されるパラメータθにより設定(調整)される。学習用モデル202は、出力層から出力されるデータをデータDL_outとして、判定部204に出力する。なお、データDL_outは、学習用ラベルLabel_key(i)(鍵種別の情報Key_type(i)と鍵位置の情報Key_pos(i)とを含むラベル)と同一次元のデータである。
パラメータ更新部203は、判定部204から出力される制御信号adj_prmを入力し、当該制御信号adj_prmに基づいて、学習用モデル202のパラメータθを更新する(各シナプス結合の重み付け係数を更新する)。
判定部204は、学習用データ入力部201から出力される教師データDL_answerと、学習用モデル202から出力されるデータDL_outとを入力する。判定部204は、データDL_outと、教師データDL_answerとを比較し、両者(例えば、両者のノルム)の差が小さくなるように、パラメータを更新させるための制御信号adj_prmを生成し、生成した制御信号adj_prmをパラメータ更新部203に出力する。
また、判定部204は、学習用モデル202への入力データDL_imgの集合をxとし、学習用モデル202からの出力データDL_outの集合をyとし、入力データxが学習用モデル202に入力されたときに出力データyが出力される条件付き確率をP(y|x)とすると、

を満たす最適パラメータθ_optを、上記のパラメータを更新(調整)する処理を繰り返して取得する。なお、条件付きP(y|x)は、出力データが教師データに近い程、大きな値をとるものとする。
例えば、条件付きP(y|x)は、以下のように設定される。

σ:標準偏差
なお、xは、集合xに含まれるベクトルであり、yは、集合yに含まれるベクトルであり、yi_correctは、xを入力としたときの教師データ(正解データ)(ベクトルデータ)である。H(x;θ)は、入力xに対して、例えば、複数層からなるニューラルネットワークの処理を施し、出力を取得する処理に相当する演算子を表している。パラメータθは、例えば、当該ニューラルネットワークのシナプス結合の重み付け等を決定するパラメータである。なお、H(x;θ)には、非線形の演算が含まれてもよい。
判定部204は、取得した最適パラメータθ_optを最適化パラメータ格納部DB3に格納する。なお、パラメータθ、最適パラメータθ_optは、ベクトル、または、テンソルである。
以上にようにして、学習処理装置200では、学習済みモデルに設定するパラメータである最適パラメータθ_optを取得する。
<5.3.1:推論処理装置300の構成>
次に、推論処理装置300の構成について説明する。
図27に示すように、推論処理装置300は、入力インターフェース31と、画像認識抽出部32と、予測部33と、2D座標検出部34と、検出精度判定部35と、撮影パラメータ調整部36と、鍵パラメータ取得部37と、3D座標推定部38とを備える。また、推論処理装置300は、カメラC1で撮像した画像を入力インターフェースに入力することができる。また、図27に示すように、推論処理装置300において、予測部33は、最適化パラメータ格納部DB3と接続されており、2D座標検出部34は、鍵穴パターン格納部DB4と接続されており、鍵パラメータ取得部37は、鍵パラメータ格納部DB5と接続されている。
入力インターフェース31は、外部機器との入力インターフェースである。入力インターフェース31は、カメラC1により撮像された画像(または映像)DPinを入力し、入力したデータをデータDP1として、画像認識抽出部32に出力する。
画像認識抽出部32は、入力インターフェース31から出力されるデータDP1(画像DP1)を入力し、当該データDP1から所定の対象物を含む画像領域(例えば、入力画像が図21のImg4である場合の画像領域R1)を抽出する。そして、画像認識抽出部32は、抽出した画像をデータDP2(画像DP2)として予測部33に出力する。また、画像認識抽出部32は、抽出した画像領域に相当する空間が撮像対象の3次元空間内でどの位置に相当するかを特定するための情報をデータInfo_3D_extracted_imgとして3D座標推定部38に出力する。なお、データInfo_3D_extracted_imgには、例えば、画像DP1において、画像DP1の全画像領域の面積に対する所定の対象物が占有する画像領域の面積の割合を示すデータが含められる。
予測部33は、最適化パラメータ設定部331と、予測モデル(学習済みモデル)332とを備える。
最適化パラメータ設定部331は、最適化パラメータ格納部DB3から、学習処理装置により取得された最適パラメータθ_optを取得する。そして、最適化パラメータ設定部331は、予測モデルに最適パラメータθ_optを設定する。これにより、予測モデル332は、学習処理装置200により取得された学習済みモデル(最適パラメータが設定されたときの学習用モデル202)と同じモデルとなる。
予測モデル332は、学習用モデル202と同様の構成を有するモデルであり、最適化パラメータ設定部331により、予測モデル332のパラメータが設定される。予測モデル332は、画像認識抽出部32から出力される画像DP2を入力し、対象物体の表面の鍵の種類と、当該鍵の位置情報とを含むデータを出力データDP3として、2D座標検出部34に出力する。
2D座標検出部34は、予測モデル332から出力されるデータDP3と、画像認識抽出部32から出力される画像DP2とを入力する。また、2D座標検出部34は、鍵穴パターン格納部DB4から、パターンマッチング用のテンプレート(鍵穴パターンのテンプレート)データを入力する。2D座標検出部34は、予測モデル332により取得されたデータDP3に基づいて、画像DP2の鍵のおおよその位置(例えば、所定の表面の右側領域、あるいは、左側領域)を特定し、特定した位置に基づいて、鍵穴パターン格納部DB4から取得した鍵穴パターンのテンプレートを用いたパターンマッチングを行う。そして、2D座標検出部34は、パターンマッチングの検出結果のデータDP4と、パターンマッチングの検出精度accr1とを検出精度判定部35に出力する。
検出精度判定部35は、2D座標検出部34から出力されるパターンマッチングの検出結果のデータDP4と、パターンマッチングの検出精度accr1と入力し、入力したデータに基づいて、2D座標検出部34によるパターンマッチングの精度の判定を行う。そして、検出精度判定部35は、判定結果を示すデータRst1を撮影パラメータ調整部36に出力する。また、検出精度判定部35は、2D座標検出部34によるパターンマッチングの精度が十分であると判定した場合、パターンマッチングにより所定の精度を確保することができた鍵のパターンについての情報と、当該鍵の画像DP4上の座標位置のデータとを含むデータをデータDP5として、3D座標推定部38に出力する。
撮影パラメータ調整部36は、カメラC1から出力される撮影パラメータParam_camと、検出精度判定部35から出力される精度検出結果データRst1とを入力する。撮影パラメータ調整部36は、精度検出結果データRst1が十分な精度ではないことを示すデータであるとき、カメラC1の撮影パラメータ(例えば、焦点距離)を変更させるための制御信号Ctl1を生成し、カメラC1に出力する。また、撮影パラメータ調整部36は、カメラC1から取得した撮影パラメータParam_camを3D座標推定部38に出力する。
鍵パラメータ取得部37は、3D座標推定部38から出力される鍵パラメータの取得要求をする要求信号Req_keyを入力する。鍵パラメータ取得部37は、要求信号Req_keyを入力したら、当該要求信号Req_keyに基づいて、鍵パラメータ格納部DB5から要求信号Req_keyにより指定された鍵のパラメータを取得し、取得した鍵のパラメータを含むデータをデータPrm_keyとして3D座標推定部38に出力する。
3D座標推定部38は、検出精度判定部35から出力されるデータDP5を入力する。また、3D座標推定部38は、画像認識抽出部32から出力されるデータInfo_3D_extracted_imgと、撮像した3次元空間を特定するための情報(データ)Info_3Dと、撮影パラメータ調整部36から出力される撮影パラメータParam_camと、鍵パラメータから出力される鍵パラメータのデータPrm_keyとを入力する。
3D座標推定部38は、データDP5と、データInfo_3D_extracted_imgと、データInfo_3Dと、撮影パラメータParam_camと、鍵パラメータのデータPrm_keyとに基づいて、画像DP1に写っている対象物体の表面の鍵の3次元座標を推定する。そして、3D座標推定部38は、その推定結果データをデータDPoutとして取得する。なお、3D座標推定部38は、CG物体(例えば、鍵穴)を合成する被対象物(対象物体)の大きさのデータを取得することができるものとし、(1)カメラC1の焦点距離と、(2)当該焦点距離によりカメラC1で撮像した画像(撮像画像DPin)における、全画像領域に対する対象物体に相当する画像領域が占有する割合とから、カメラC1から対象物体までの3次元距離を取得する。
<5.3.2:推論処理装置300の動作>
以上のように構成された推論処理装置300の動作について、説明する。
図28は、推論処理装置300の推論処理のフローチャートである。
なお、以下では、推論処理装置300において、推論処理として、鍵の種類・位置判定処理を行う場合について、説明する。また、説明便宜のため、カメラC1により取得された画像(映像)が図29に示す画像Img5であるものとする。
以下では、図28のフローチャートを参照しながら、学習用データ生成システム4000の動作について、説明する。
(ステップS41):
ステップS41において、入力インターフェース31は、カメラC1が撮像したデータDPin(画像Img5)を入力することで、カメラC1からの映像フレームを取得する。
(ステップS42、S43):
画像認識抽出部32は、画像Img5に写っている対象物体(直方体の物体)を画像認識処理で認識し、対象物体の画像領域を抽出する(ステップS42)。そして、画像認識抽出部32は、抽出した画像を画像DP2として、予測部33に出力する。
また、画像認識抽出部32は、抽出した物体の種別を判定する(ステップS43)。この物体の種別判定は、例えば、実施形態1により生成した学習データ(物体検出用学習データ)により学習させた学習済みモデルを用いた推論処理装置により行うことが好ましい。
また、予測部33は、画像DP2を予測モデル332に入力することで、対象物体の表面の鍵の種類と、当該鍵の位置情報とを含むデータDP3を取得する。
そして、2D座標検出部34は、予測モデル332により取得されたデータDP3に基づいて、対象物体(直方体の物体)の表面の鍵の概略の位置(画像上の2次元座標位置)(例えば、所定の表面の右側領域、あるいは、左側領域)を特定する。
(ステップS44):
ステップS44において、2D座標検出部34は、予測モデル332により取得されたデータDP3に基づいて、特定された画像DP2の鍵のおおよその位置(例えば、所定の表面の右側領域、あるいは、左側領域)に基づいて、鍵穴パターン格納部DB4から取得した鍵穴パターンのテンプレートを用いたパターンマッチングを行う。そして、2D座標検出部34は、パターンマッチングの検出結果のデータDP4と、パターンマッチングの検出精度accr1とを検出精度判定部35に出力する。なお、パターンマッチングの検出精度accr1は、例えば、以下の(1)、(2)により取得する。
(1)パターンマッチング対象画像(画像領域)の各画素の画素値P(i,j)(座標(i,j)の画素値)と、鍵穴パターンのテンプレートの各画素Pt(i,j)(座標(i,j)の画素値)との差分の絶対値の総和(パターンマッチングの対象とする全画像領域における総和)sum_errorを算出する。
(2)(1)で算出した総和sum_errorから、
accr1=f1(sum_error)
f1(x):xについての単調減少関数(x≧0)
に相当する処理により、パターンマッチングの検出精度accr1を取得する。なお、関数f1(x)は、x≧0で定義され、xについての単調減少関数であるものとする(つまり、f1(0)で最大値をとる関数であるものとする)。
(ステップS45):
ステップS45において、検出精度判定部35は、2D座標検出部34から出力されるパターンマッチングの検出結果のデータDP4と、パターンマッチングの検出精度accr1とを入力し、入力したデータに基づいて、2D座標検出部34によるパターンマッチングの精度の判定を行う。パターンマッチングの精度の判定は、例えば、パターンマッチングの検出精度accr1を所定の閾値Th1と比較することで実行される。
そして、検出精度判定部35は、判定結果を示すデータRst1を撮影パラメータ調整部36に出力する。また、検出精度判定部35は、2D座標検出部34によるパターンマッチングの精度が十分であると判定した場合(例えば、accr1>Th1である場合)(ステップS45でYesの場合)、処理をステップS47に進め、一方、精度が十分ではないと判定した場合(ステップS45でNoの場合)、処理をステップS46に進める。
(ステップS46):
撮影パラメータ調整部36は、精度検出結果データRst1が十分な精度ではないことを示すデータであるので、カメラC1の撮影パラメータ(例えば、焦点距離)を変更させるための制御信号Ctl1を生成し、カメラC1に出力する。これにより、例えば、鍵穴が存在する領域をズームする処理を実行できる。例えば、図30に示すように、領域R2が拡大されるように、カメラC1の焦点距離を調整し、図30の右図のズーム画像が取得されるようにする。図30の右図に示すズーム画像では、鍵穴のディテールが認識できるので、当該ズーム画像を用いてパターンマッチングをすることで、鍵穴の検出精度を向上させることができる。
ステップS46の処理の後、処理をステップS44に戻す。
(ステップS47、S48):
ステップS46での検出精度が十分であると判定された場合、3D座標推定部38は、検出精度判定部35から出力されるデータDP5(パターンマッチングにより所定の精度を確保することができた鍵のパターンについての情報と、当該鍵の画像DP上の座標位置のデータとを含むデータ)と、データInfo_3D_extracted_img(抽出画像に対応する領域の3次元座標を特定するためのデータ)と、データInfo_3D(撮像した3次元空間を特定するためのデータ)と、撮影パラメータParam_camと、鍵パラメータのデータPrm_keyと、を取得する(ステップS47)。
3D座標推定部38は、(1)カメラC1の焦点距離と、(2)当該焦点距離によりカメラC1で撮像した画像(撮像画像DPin)における、全画像領域に対する対象物体に相当する画像領域が占有する割合とから、カメラC1から対象物体までの3次元距離を取得する。対象物体の大きさ(サイズ)が既知であり、撮像画像DPinが取得されたときのカメラC1の焦点距離が既知であるので、撮像画像DPin内の対象物体が占める割合が分かれば、カメラC1から対象物体C1までの3次元距離を取得することができる。したがって、3D座標推定部38は、(1)カメラC1の焦点距離と、(2)当該焦点距離によりカメラC1で撮像した画像(撮像画像DPin)における、全画像領域に対する対象物体に相当する画像領域が占有する割合とから、カメラC1から対象物体までの3次元距離を取得することができる。
そして、3D座標推定部38は、取得したデータに基づいて、画像DP1に写っている対象物体の表面の鍵の3次元座標を推定する(ステップS48)。つまり、上記で取得したデータにより、対象物体の3次元座標データと、対象物体の表面上の鍵の位置、鍵のパターン、形状が分かるので、鍵の3次元空間内での位置を推定することができる。そして、このようにして推論したデータは、データDPoutとして取得される。
以上のように、推論処理装置300では、学習処理装置200により学習したモデル(予測モデル(学習済みモデル)332)により、対象物体の鍵の種別と、鍵の概略位置を認識することができ、さらに、鍵のパターンとのパターンマッチングにより、鍵の正確な位置を取得することができる。そして、取得した鍵の正確な位置(抽出画像上の位置)を、鍵パターンのデータ、撮像空間の3次元座標データを用いて処理することで、当該鍵の3次元空間内の位置を高精度に推定することができる。
さらに、推論処理装置300では、パターンマッチングの精度判定を行い、精度が不十分である場合、カメラC1のズーム処理を行い、パターンマッチングの精度を向上させることができる。その結果、推論処理装置300では、高精度の鍵位置の推論処理を行うことができる。
なお、上記では、説明便宜のために、学習処理装置200と推論処理装置300とが別個の装置であるものとして説明したが、これに限定されることはない。例えば、学習処理装置200と推論処理装置300とを1つの装置として、学習処理モードと推論処理モードとを設け、モードにより処理を1つの装置で行うようにしてもよい。この場合、学習用モデル202と予測モデル(学習済みモデル)332を共通にしてもよい(1つのモデルに対して、学習処理を行い、最適パラメータが取得できた段階で、当該パラメータを最適パラメータに固定することで学習済みモデルを取得するようにしてもよい)。
[他の実施形態]
上記実施形態および変形例を組み合わせて、学習用データ生成システム、学習用データ生成装置を構成するようにしてもよい。
上記実施形態および変形例では、デカルト座標により座標を設定した場合を前提として説明したが、これに限定されず、極座標等の別の座標系を使用してもよい。
また、CG処理部によりCGで作成する物体(CG物体)の形状は、略直方体以外の形状であってもよい。
なお、検出対象物の形状が略直方体であり、例えば、1つの面が特定される物体(例えば、1つの面に必ず鍵穴が設けられているキャッシュボックス)を検出対象として、本発明を適用することで、例えば、キャッシュボックスのような所定の姿勢で所定の場所に置く処理を実行する処理のための物体検出処理、姿勢検出処理を高精度に実現する学習済みモデルを効率よく取得することができる。
また、上記実施形態で説明した学習用データ生成システム、学習用データ生成装置において、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部又は全部を含むように1チップ化されても良い。
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
また、上記各実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記各実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。
例えば、上記実施形態(変形例を含む)の各機能部を、ソフトウェアにより実現する場合、図31に示したハードウェア構成(例えば、CPU、ROM、RAM、入力部、出力部等をバスBusにより接続したハードウェア構成)を用いて、各機能部をソフトウェア処理により実現するようにしてもよい。
また、上記実施形態の各機能部をソフトウェアにより実現する場合、当該ソフトウェアは、図31に示したハードウェア構成を有する単独のコンピュータを用いて実現されるものであってもよいし、複数のコンピュータを用いて分散処理により実現されるものであってもよい。
また、上記実施形態における処理方法の実行順序は、必ずしも、上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、Blu-ray(登録商標)、次世代光ディスク、半導体メモリを挙げることができる。
上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
Sys1 学習推論処理システム
1000、1000、3000 学習用データ生成システム
100、100A、100B 学習用データ生成装置
200 学習処理装置
300 推論処理装置
1、1A 背景画像データ取得部
2、2A、2B CG処理部
3、3A レンダリング処理部
4、4A、4B 学習用データ生成部
5 手動バウンディングボックス情報入力部

Claims (10)

  1. 所定の3次元空間を撮像して取得した背景画像を取得する背景画像取得ステップと、
    物体の形状およびテクスチャーの少なくとも1つを含むコンピュータグラフィックス処理用のデータであるCG物体生成用データを取得し、取得した前記CG物体生成用データに基づいて生成されるCG物体を、前記背景画像の撮像対象とした前記3次元空間内の所定の座標位置に配置されるように前記背景画像に合成することで取得される画像であるレンダリング画像を学習用画像データとして取得する学習用画像データ取得ステップと、
    前記学習用画像データから、前記レンダリング画像上において、前記CG物体を囲む画像領域を抽出することで取得した画像であるクロップ画像を姿勢検出用画像データとして取得する姿勢検出用画像データ取得ステップと、
    前記姿勢検出用画像データに含まれる前記CG物体の姿勢に関する情報と前記姿勢検出用画像データとを対応付けたデータを姿勢検出用学習データとして取得する姿勢検出用学習データ取得ステップと、
    を備える学習用データ生成方法。
  2. 前記学習用画像データから、前記レンダリング画像上において、前記CG物体を囲む領域である2次元バウンディング領域を設定し、前記2次元バウンディングの座標情報を学習用位置ラベルとして取得する学習用位置ラベル取得ステップをさらに備える、
    請求項1に記載の学習用データ生成方法。
  3. 前記学習用画像データ取得ステップは、
    前記背景画像に実物の処理対象物体が含まれている場合、当該処理対象物体を含む画像領域以外の画像領域に、前記CG物体が配置されるように前記レンダリング画像を生成する、
    請求項1または2に記載の学習用データ生成方法。
  4. 前記背景画像は、第1物体を含む画像であり、
    前記CG物体は、少なくとも一部が前記第1物体の表面上に配置されるように、前記背景画像に合成される、
    請求項1に記載の学習用データ生成方法。
  5. 所定の3次元空間を撮像して取得した背景画像を取得する背景画像取得ステップと、
    物体の形状およびテクスチャーの少なくとも1つを含むコンピュータグラフィックス処理用のデータであるCG物体生成用データを取得し、取得した前記CG物体生成用データに基づいて生成されるCG物体を、前記背景画像の撮像対象とした前記3次元空間内の所定の座標位置に配置されるように前記背景画像に合成することで取得される画像であるレンダリング画像を学習用画像データとして取得する学習用画像データ取得ステップと、
    を備え、
    前記背景画像取得ステップは、前記背景画像に、第1物体を含む画像を合成することで第1背景画像を取得し、
    前記CG物体は、少なくとも一部が前記第1物体の表面上に配置されるように、前記第1背景画像に合成される、
    学習用データ生成方法。
  6. 前記CG物体は、前記第1物体において鍵穴を形成する形状を有している、
    請求項またはに記載の学習用データ生成方法。
  7. 請求項1からのいずれかに記載の学習用データ生成方法をコンピュータに実行させるためのプログラム。
  8. 所定の3次元空間を撮像して取得した背景画像を取得する背景画像データ取得部と、
    物体の形状およびテクスチャーの少なくとも1つを含むコンピュータグラフィックス処理用のデータであるCG物体生成用データを取得し、取得した前記CG物体生成用データに基づいて生成されるCG物体を、前記背景画像の撮像対象とした前記3次元空間内の所定の座標位置に配置されるように前記背景画像に合成することで取得される画像であるレンダリング画像を学習用画像データとして取得する学習用画像データ取得部と、
    前記学習用画像データから、前記レンダリング画像上において、前記CG物体を囲む画像領域を抽出することで取得した画像であるクロップ画像を姿勢検出用画像データとして取得する姿勢検出用画像データ取得部と、
    前記姿勢検出用画像データに含まれる前記CG物体の姿勢に関する情報と前記姿勢検出用画像データとを対応付けたデータを姿勢検出用学習データとして取得する姿勢検出用学習データ取得部と、
    を備える学習用データ生成装置。
  9. 請求項からのいずれかに記載の学習用データ生成方法により取得した学習用データを用いて、学習処理を実行することで、学習済みモデルを取得する学習済みモデル取得ステップと、
    前記第1物体の表面上に配置されている所定の形状を含む画像を入力とし、前記学習済みモデルによる予測処理を実行することで、前記所定の形状の位置を特定するためのデータを出力する予測処理ステップと、
    前記所定の形状の位置を特定するためのデータの検出精度を判定する検出精度判定ステップと、
    前記第1物体の表面上に配置されている所定の形状を含む画像を撮像する撮像装置の撮影パラメータを調整する撮影パラメータ調整ステップと、
    を備え、
    前記所定の形状の位置を特定するためのデータの検出精度が所定の閾値よりも低い場合、
    前記撮影パラメータ調整ステップが前記撮像装置の前記撮影パラメータを変更した後、前記予測処理ステップは、前記予測処理を実行する、
    推論処理方法。
  10. 請求項に記載の推論処理方法をコンピュータに実行させるためのプログラム。
JP2019008307A 2019-01-22 2019-01-22 学習用データ生成方法、プログラム、学習用データ生成装置、および、推論処理方法 Active JP6675691B1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019008307A JP6675691B1 (ja) 2019-01-22 2019-01-22 学習用データ生成方法、プログラム、学習用データ生成装置、および、推論処理方法
PCT/JP2019/040667 WO2020152927A1 (ja) 2019-01-22 2019-10-16 学習用データ生成方法、学習用データ生成装置、および、推論処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019008307A JP6675691B1 (ja) 2019-01-22 2019-01-22 学習用データ生成方法、プログラム、学習用データ生成装置、および、推論処理方法

Publications (2)

Publication Number Publication Date
JP6675691B1 true JP6675691B1 (ja) 2020-04-01
JP2020119127A JP2020119127A (ja) 2020-08-06

Family

ID=70001017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019008307A Active JP6675691B1 (ja) 2019-01-22 2019-01-22 学習用データ生成方法、プログラム、学習用データ生成装置、および、推論処理方法

Country Status (2)

Country Link
JP (1) JP6675691B1 (ja)
WO (1) WO2020152927A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102323413B1 (ko) * 2020-05-12 2021-11-09 광주과학기술원 카메라 포즈 추정 방법
JP2021183773A (ja) * 2020-05-21 2021-12-02 清水建設株式会社 切羽画像加工装置、切羽画像加工方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022157892A1 (ja) * 2021-01-21 2022-07-28 日本電信電話株式会社 画像選出装置、画像選出方法、及び、画像選出プログラム
CN116982076A (zh) * 2021-03-25 2023-10-31 三菱电机株式会社 图像处理装置、程序及图像处理方法
KR102393801B1 (ko) * 2021-12-27 2022-05-03 주식회사 딥노이드 배경 합성을 통한 학습 데이터를 생성하기 위한 장치 및 이를 위한 방법
JP2023183255A (ja) * 2022-06-15 2023-12-27 株式会社日立製作所 学習用データ生成装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6275362B1 (ja) * 2016-04-01 2018-02-07 株式会社wise 3dグラフィック生成、人工知能の検証・学習システム、プログラム及び方法
JP2018169690A (ja) * 2017-03-29 2018-11-01 日本電信電話株式会社 画像処理装置、画像処理方法及び画像処理プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102323413B1 (ko) * 2020-05-12 2021-11-09 광주과학기술원 카메라 포즈 추정 방법
JP2021183773A (ja) * 2020-05-21 2021-12-02 清水建設株式会社 切羽画像加工装置、切羽画像加工方法
JP7453848B2 (ja) 2020-05-21 2024-03-21 清水建設株式会社 切羽画像加工装置、切羽画像加工方法

Also Published As

Publication number Publication date
JP2020119127A (ja) 2020-08-06
WO2020152927A1 (ja) 2020-07-30

Similar Documents

Publication Publication Date Title
JP6675691B1 (ja) 学習用データ生成方法、プログラム、学習用データ生成装置、および、推論処理方法
JP4930854B2 (ja) 関節物体位置姿勢推定装置及びその方法ならびにプログラム
JP5812599B2 (ja) 情報処理方法及びその装置
JP6560480B2 (ja) 画像処理システム、画像処理方法、及びプログラム
JP6011102B2 (ja) 物体姿勢推定方法
JP6685827B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP4284664B2 (ja) 三次元形状推定システム及び画像生成システム
JP5631086B2 (ja) 情報処理装置及びその制御方法、プログラム
JP2019057248A (ja) 画像処理システム、画像処理装置、画像処理方法及びプログラム
KR20160115959A (ko) 파라미터화된 변형가능 메시를 이용하여 개인화된 아바타들을 구성하기 위한 방법 및 시스템
JP2020523703A (ja) ダブル視野角画像較正および画像処理方法、装置、記憶媒体ならびに電子機器
JP2009020761A (ja) 画像処理装置及びその方法
JP2022519194A (ja) 奥行き推定
JP2016099982A (ja) 行動認識装置、行動学習装置、方法、及びプログラム
JP7064257B2 (ja) 画像深度確定方法及び生き物認識方法、回路、装置、記憶媒体
CN113205560B (zh) 多深度相机的标定方法、装置、设备及存储介质
WO2018190805A1 (en) Depth image pose search with a bootstrapped-created database
KR20190040626A (ko) 초음파 영상을 실사 영상으로 변환하는 방법 및 그 장치
JP5503510B2 (ja) 姿勢推定装置および姿勢推定プログラム
WO2022201803A1 (ja) 情報処理装置、情報処理方法、及びプログラム
WO2022018811A1 (ja) 被写体の3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム
JP2008204318A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
US11941827B2 (en) System and method of 3D point cloud registration with multiple 2D images
CN115471863A (zh) 三维姿态的获取方法、模型训练方法和相关设备
JP7452698B2 (ja) 画像間の空間的関係をラベリングする強化学習モデル

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200228

R150 Certificate of patent or registration of utility model

Ref document number: 6675691

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250