(57)【要約】【課題】工場の自動化システムに用いるロボット制御に向け、複数の物体を対象として、機械学習に用いる学習データセットを効率的に作製できる方法及び装置、学習データセットを用いて物体認識及び位置姿勢を同時に高精度で推定できる方法及び装置を提供する。【解決手段】位置姿勢検出用マーカに対象物の物体情報を関連付けし、対象物の配置位置のガイドとなるベース部と、ベース部の上方に固定されたマーカとから構成される学習データセット生成治具を用いて、ベース部をガイドとして対象物を配置した状態で、マーカを含む物体全体の多視点画像群を取得する。そして、取得した画像群に対して対象物のバウンディングボックスを設定し、撮像画像から推定した対象物の姿勢情報と重心位置情報、物体情報及びバウンディングボックスに関する情報を撮像画像に関連付けして、対象物の物体認識及び位置姿勢推定を行うための学習データセットを生成する。【選択図】図１
2019029021.tif 000002
【特許請求の範囲】
【請求項１】
位置姿勢検出用マーカに対象物の物体情報を関連付けし、
対象物の配置位置のガイドとなるベース部と、該ベース部の上方に固定された前記マーカとから構成される学習データセット生成治具を用いて、前記ベース部をガイドとして対象物を配置した状態で、前記マーカを含む物体全体の多視点画像群を取得し、
取得した画像群に対して対象物のバウンディングボックスを設定し、
撮像画像から推定した対象物の姿勢情報と位置情報、前記物体情報及び前記バウンディングボックスに関する情報を、前記撮像画像に関連付けして、対象物の物体認識及び位置姿勢推定を行うための学習データセットを生成することを特徴とする学習データセット作製方法。
【請求項２】
前記位置情報は、前記ベース部をガイドとして配置された対象物の位置と、予め定義した基準座標系における基準姿勢の位置との差分情報であることを特徴とする請求項１に記載の学習データセット作製方法。
【請求項３】
前記姿勢情報は、前記マーカの撮像画像と、前記マーカと対象物との相対位置関係を用いて算出した情報であり、前記ベース部をガイドとして配置された対象物の姿勢と、予め定義した基準座標系における基準姿勢との差分情報であることを特徴とする請求項１又は２に記載の学習データセット作製方法。
【請求項４】
前記学習データセット生成治具において、前記ベース部は対象物を載せる台座部であり、
前記マーカは、該台座部に上に固着された支柱の上方に脱着自在に固定されたことを特徴とする請求項１〜３の何れかに記載の学習データセット作製方法。
【請求項５】
前記マーカは、ＡＲマーカを含む２次元パターンマーカ、又は、３次元マーカであることを特徴とする請求項１〜４の何れかに記載の学習データセット作製方法。
【請求項６】
前記多視点画像群は、対象物を前記学習データセット生成治具に配置して搬送手段により搬送しながら撮像、対象物を前記学習データセット生成治具に配置して回転手段により回転させながら撮像、及び、対象物を前記学習データセット生成治具に配置して移動手段により移動させながら撮像の少なくとも何れかにより取得されたことを特徴とする請求項１〜５の何れかに記載の学習データセット作製方法。
【請求項７】
請求項１〜６の何れかの作製方法により作製した前記学習データセット。
【請求項８】
請求項１〜６の何れかの作製方法に用いる前記学習データセット生成治具。
【請求項９】
請求項７の学習データセットを用いて機械学習を行い、学習済みモデルを取得し、
新たに撮像された撮像画像から、画像認識によって物体の名称を検出して認識用バウンディングボックスを作成し、
前記認識用バウンディングボックスを切り出した部分画像を生成し、前記学習済みモデルを用いて、生成した部分画像に基づき検出した物体の姿勢を推定し、
前記認識用バウンディングボックスの位置、幅及び高さを取得し、前記学習済みモデルを用いて、検出した物体に関する実空間の３次元座標における位置を推定することを特徴とする物体認識及び位置姿勢推定方法。
【請求項１０】
前記学習済みモデルは、物体の姿勢もしくは位置を推定するための分類器又は回帰器の少なくとも何れかが含まれることを特徴とする請求項９に記載の物体認識及び位置姿勢推定方法。
【請求項１１】
前記撮像画像は、複数の物体が撮像された画像であり、
検出した各物体に対して、各々認識用バウンディングボックスを作成し、
検出した全ての物体の名称、並びに、推定した姿勢及び位置を実空間の３次元座標として算出することを特徴とする請求項９又は１０に記載の物体認識及び位置姿勢推定方法。
【請求項１２】
前記撮像画像は、前記学習データセットの作製環境と同一又は近似した環境下で撮像された画像であることを特徴とする請求項９〜１１の何れかに記載の物体認識及び位置姿勢推定方法。
【請求項１３】
請求項１〜６の何れかの学習データセット作製方法の一部の処理をコンピュータに実行させるためのプログラムであって、
前記多視点画像群に対して対象物の前記バウンディングボックスを設定するステップ、
前記撮像画像から推定した対象物の姿勢情報と位置情報、前記物体情報及び前記バウンディングボックスに関する情報を、前記撮像画像に関連付けして、前記学習データセットを生成するステップ、
をコンピュータに実行させるための学習データセット作製プログラム。
【請求項１４】
請求項９〜１２の何れかの物体認識及び位置姿勢推定方法の一部の処理をコンピュータに実行させるためのプログラムであって、
新たに撮像された撮像画像から、画像認識によって物体の名称を検出して認識用バウンディングボックスを作成するステップ、
前記認識用バウンディングボックスを切り出した部分画像を生成し、生成した部分画像に基づき前記学習済みモデルを用いて、検出した物体の姿勢を推定するステップ、
前記認識用バウンディングボックスの位置、幅及び高さを取得し、前記学習済みモデルを用いて、検出した物体に関して実空間の３次元座標における位置を推定するステップ、
をコンピュータに実行させるための物体認識及び位置姿勢推定プログラム。
【請求項１５】
対象物の配置位置のガイドとなるベース部と、該ベース部の上方に固定され、対象物の物体情報が関連付けされる位置姿勢検出用マーカとから構成される学習データセット生成治具、
前記ベース部をガイドとして対象物を配置した状態で、前記マーカを含む物体全体の多視点画像群を取得する撮像手段、
取得した画像群に対して対象物のバウンディングボックスを設定する手段、
撮像画像から推定した対象物の姿勢情報と位置情報、前記物体情報及び前記バウンディングボックスに関する情報を、前記撮像画像に関連付けして、対象物の物体認識及び位置姿勢推定を行うための学習データセットを生成する手段、
を備えたことを特徴とする学習データセット作製装置。
【請求項１６】
前記学習データセット生成治具において、前記ベース部は対象物を載せる台座部であり、
前記マーカは、該台座部に上に固着された支柱の上方に脱着自在に固定されたことを特徴とする請求項１５に記載の学習データセット作製装置。
【請求項１７】
請求項１〜６の何れかの作製方法により作製した前記学習データセットを用いて機械学習を行った産業用ロボットによる工場の自動化システム。
【請求項１８】
請求項９〜１２の何れかの物体認識及び位置姿勢推定方法を用いた産業用ロボットによる工場の自動化システム。
【請求項１９】
請求項１４に記載の物体認識及び位置姿勢推定プログラムが搭載された産業用ロボットによる工場の自動化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工場自動化に用いるロボット制御システムに向けた、学習データセットの作製方法と、その学習データセットを用いた物体認識と位置姿勢の同時推定方法に関するものである。
【背景技術】
【０００２】
従来から、工場等での作業を自動化するものとして、人工知能（Artificial Intelligence、以下“ＡＩ”とする。）を搭載したロボットが利用されている。近年、機械学習やディープラーニング（深層学習）の発展により、工場等における生産システムにおいても、工場等の完全自動化に向けた取り組みとして、機械学習等を利用したＡＩの開発が急速に行われている。
ロボットによる作業の自動化は、あらゆる業界にニーズが存在するが、中でも、食品業界や物流業界は今後の成長が期待される分野であり、ロボットによる作業の自動化のニーズは高く存在する。
しかしながら、食品業界や物流業界において扱う製品は、柔軟なものが多く、取り扱いの際に複雑に形状が変化してしまうため、ロボットに備えられたロボットハンドでのハンドリングが難しいという問題がある。また、食品業界や物流業界において扱う商品は、多品種であることから、商品の認識を正確かつ迅速に行うことが難しいという問題もある。すなわち、多品種な商品を短時間で認識して、詰め合わせギフトや不良品の除去作業などのような仕分け作業を正確に行うことが求められるのである。
これらの事情から、食品業界や物流業界においては、未だにロボットによる工場の自動化が十分に進んでいないのが現実である。
【０００３】
例えば、ロボットを用いて工場での仕分け作業を行う場合、対象となる物体をカメラ等で撮影し、物体を認識することが必要なところ、カメラから入力された画像の認識精度を高める表示データ解析装置が知られている（特許文献１を参照）。これは、マーカを検出して物体の情報を表示するセグメント領域を決定するための技術であり、物体の情報と位置のみを推定するものである。
しかしながら、特許文献１に開示された表示データ解析装置では、マーカの位置情報と姿勢情報を表示するのみであり、物体を囲むセグメント領域の情報を取得できていないため、機械学習に用いる学習データセットとしては活用できないという問題がある。
【０００４】
また、３次元的に任意の位置姿勢をとりうる物体の位置姿勢を推定する装置が知られている（特許文献２を参照）。これは、同一の物体に関して、画像から物体の空間的な位置および姿勢を推定するものである。
しかしながら、特許文献２に開示された推定装置では、複数の物体を用いる場合には、それぞれの位置や姿勢を推定できない場合があるという問題がある。
【０００５】
また、画像から物体を検出するものとしては、顔検出のための学習画像を収集するために、取得した画像自体に変形を加えて、学習画像を生成する手法が提案されている（非特許文献１を参照）。
しかしながら、非特許文献１に開示されている学習画像の生成手法では、取得した画像を加工する必要があるところ、変形を加えるという加工により作製された学習データセットは、実際の環境で作製されたものとは異なるため、実環境での学習データセットが必要とされるという要求には適用が困難であり、また、実環境での学習データセットでは無いことから充分に学習の効果を発揮しないという問題がある。さらに、取得した画像に変形を加えるため、学習データセットの準備に時間がかかるという問題もある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２４８００号公報
【特許文献２】特開２０１１−１３３２７３号公報
【非特許文献】
【０００７】
【非特許文献１】“ディープラーニングのための訓練データ自動生成”，大西一徳ら，第１４回情報科学技術フォーラム予稿集，第３分冊，第４４３〜４４６頁
【発明の概要】
【発明が解決しようとする課題】
【０００８】
かかる状況に鑑みて、本発明は、工場の自動化システムに用いるロボット制御に向け、複数の物体を対象として、機械学習に用いる学習データセットを効率的に作製できる方法及び装置、並びに、作製した学習データセットを用いて物体認識及び位置姿勢を同時に高精度で推定できる方法及び装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決すべく、本発明の学習データセット作製方法は、位置姿勢検出用マーカに対象物の物体情報を関連付けし、対象物の配置位置のガイドとなるベース部と、ベース部の上方に固定されたマーカとから構成される学習データセット生成治具を用いて、ベース部をガイドとして対象物を配置した状態で、マーカを含む物体全体の多視点画像群を取得する。そして、取得した画像群に対して対象物のバウンディングボックスを設定し、撮像画像から推定した対象物の姿勢情報と位置情報、物体情報及びバウンディングボックスに関する情報を、撮像画像に関連付けして、対象物の物体認識及び位置姿勢推定を行うための学習データセットを生成する。
【００１０】
位置姿勢検出用マーカを用いることにより、撮像画像から、対象物の物体情報だけではなく、姿勢情報と位置情報を同時に取得することが可能となり、学習データセットの生成を効率良く行うことができる。多視点画像群の取得方法としては、対象物を移動等させながら１台のカメラにより撮影し取得したものでもよいし、複数台のカメラを用いて取得したものでもよい。いずれにしても、対象物を異なる角度から撮影した大量の撮像画像を収集することで、機械学習のための学習データとして用いることが可能である。
学習データセットの生成に用いる撮像画像自体には、加工は行われないため、学習済みモデルを利用する実際の環境で得られる撮像画像に近い撮像画像を用いて、機械学習を行うことができる。そのため、物体認識と位置・姿勢推定の精度を向上させることができる。
なお、対象物の物体情報とは、対象物の名称、サイズといった基本情報のことであり、学習データセットの生成に当たって、予めコンピュータにこれらの情報が記憶されている。
また、バウンディングボックスとは、画像等において、対象物が収まるように取り囲まれた表示領域であり、矩形などの領域をいう。取得した画像群に対して対象物のバウンディングボックスを設定する際は、バウンディングボックスが対象物全体を可能な限り確実に囲うようにするために、物体の位置情報として、物体の重心位置を取得して設定する。
【００１１】
本発明の学習データセット作製方法における姿勢情報は、具体的には、マーカの撮像画像と、マーカと対象物との相対位置関係を用いて算出した情報であり、ベース部をガイドとして配置された対象物の姿勢と、予め定義した基準座標系における基準姿勢との差分情報である。
マーカの撮像画像と、マーカと対象物との相対位置関係を用いて、対象物の姿勢を推定することにより、精度の高い姿勢推定が可能となる。
基準座標系は、例えば、予め学習データセット生成冶具に取り付けた位置姿勢検出用マーカを基準マーカとして利用して、基準としたい位置及び姿勢に配置することにより定義することができる。そのようにすることで、基準マーカの基準位置及び基準姿勢に関するデータをデータベースとして記憶し、学習データセット作製段階に、実空間の基準座標系を用いて、その基準座標系における位置と姿勢の差分を、位置と姿勢の情報として画像に紐づけることができる。
基準座標系を示す基準マーカが撮像画像内に無い場合であっても、撮像画像から基準座標系を認識することは可能である。例えば、カメラが単一で固定されている場合には、ズームする前の撮像画像内で基準マーカにより基準座標系が設定できていれば、ズームを行い見えなくなった場合でもズーム倍率がわかる限り、撮像画像外の基準マーカの位置と姿勢を計算することが可能である。
一方、複数台のカメラが固定されている場合には、それぞれのカメラ間の位置関係が予めわかっていれば、基準座標系を示す基準マーカが撮像画像内に無い場合であっても、撮像画像外の基準マーカの位置と姿勢を計算することが可能である。また、１台のカメラでしか見えない位置に基準マーカを配置した場合でも、見えているカメラと見えていないカメラで同時に撮像可能な場所に、仮の基準マーカを配置した状態で撮像した映像を用いて、基準座標系を算出することが可能である。さらに、カメラが動的に動く場合についても、最初に基準座標系を撮影したときのカメラの位置と移動先のカメラとの間の位置関係が分かってさえいれば、計算により基準座標系を算出できる。
【００１２】
本発明の学習データセット作製方法における位置情報は、対象物の任意のポイントの位置情報を用いることができる。任意のポイントに関して、対象物の基準姿勢における当該ポイントの位置情報を予め登録しておく。その場合、位置情報は、ベース部をガイドとして配置された対象物の該ポイントの位置と、基準座標系における基準姿勢の該ポイント位置との差分情報である。
また、本発明の学習データセット作製方法における位置情報が重心位置情報である場合、重心位置情報は、ベース部をガイドとして配置された対象物の重心位置と、基準座標系における基準姿勢の重心位置との差分情報である。
ここで、基準座標系の替わりに、カメラ座標系を用いて、対象物の姿勢情報及び位置情報を表すことも可能である。例えば、１台の固定カメラで撮像する場合、そのカメラのカメラ座標系での３次元座標で、対象物の姿勢情報と位置情報を表す。そして、カメラ座標系の３次元座標から、実空間の３次元座標に変換し、ロボットに実空間の３次元座標を伝達することにより、ロボットが物体を正確に捉えさせることができる。
【００１３】
本発明の学習データセット作製方法に用いる学習データセット生成治具において、ベース部は対象物を載せる台座部であり、マーカは、台座部に上に固着された支柱の上方に脱着自在に固定されたことでもよい。マーカが、対象物より上方に設けられることにより、上方からカメラで撮影した場合に、マーカが対象物に隠れてしまうことを防止でき、物体認識の精度を向上させることができる。また、マーカが脱着自在に固定されることで、対象物を変えて、容易にベース部を再利用することが可能である。
ベース部が、対象物を載せる台座部とされることで、学習データセット生成治具に対象物が配置された際に、対象物が、支柱の上方に設けられたマーカを安定させる重石としての役割を果たすことにもなる。
【００１４】
本発明の学習データセット作製方法に用いる位置姿勢検出用マーカは、ＡＲ（Augmented Reality：拡張現実）マーカを含む２次元パターンマーカや３次元マーカを用いることができる。ＡＲマーカとは、拡張現実システムにおいて、付加情報を表示する位置を指定するための標識となるパターン画像をいう。また、３次元マーカとは、例えば、光学式モーションキャプチャシステムで用いられる球形状のマーカを用いることができる。これらの球形状のマーカで位置及び姿勢を検出する場合には、学習データセット生成治具のベース部の上方に、３個以上のマーカを固定する。
【００１５】
本発明の学習データセット作製方法において取得される多視点画像群は、対象物を学習データセット生成治具に配置して搬送手段により搬送しながら撮像して取得されても良く、また、対象物を学習データセット生成治具に配置して回転手段により回転させながら撮像取得されてもよく、さらに、対象物を前記学習データセット生成治具に配置して移動手段により移動させながら撮像取得されてもよい。これらの撮像取得のやり方は、何れかを組合せて用いることも可能である。搬送手段や回転手段や移動手段が用いられるにより、撮像手段として用いるカメラが１台であっても、多視点画像群を簡便に取得でき、学習データセット生成作業の利便性、時間短縮を行うことができる。
ここで、搬送手段とは、搬送路をレーンとして対象物を搬送するものであり、具体的には、対象物を学習データセット生成治具に配置した状態で、搬送ベルトで搬送するベルトコンベアが好適に用いられる。また、回転手段として、例えば、対象物を学習データセット生成治具に配置した状態で、水平面で回動可能な回転機構が用いられる。また、移動手段として、例えば、対象物を学習データセット生成治具に配置した状態で、学習データセット生成治具が水平の直線レール上の移動可能な直動機構が用いられる。さらには、回転機構と直動機構を組合せ、回転しながら移動できる回転移動機構も使用することができる。これらの回転機構、直動機構や回転移動機構を、ベルトコンベアに載せて、カメラ１台で多視点画像群を取得することができる。
【００１６】
学習データセット生成治具は、マーカを除き、透明性を有することでも構わない。学習データセット生成治具のマーカ以外の部分が透明性を有することにより、撮像画像において、学習データセット生成治具が対象物を遮ることを防止でき、物体認識の精度を向上させることができる。また、学習データセット生成治具は、画像解析処理によって、取得した撮像画像中から消し去る加工処理を施してもよい。
【００１７】
本発明の学習データセットは、本発明の学習データセット作製方法により作製したものである。また、本発明の学習データセット生成治具は、本発明の学習データセット作製方法に用いられるものであり、上述の如く、対象物の配置位置のガイドとなるベース部と、ベース部の上方に固定されるマーカとから構成され、マーカには、対象物の物体名称などの物体情報が関連付けされる。
【００１８】
本発明の物体認識及び位置姿勢推定方法では、本発明の学習データセット作製方法により作製した学習データセットを用いて機械学習を行い、学習済みモデルを取得し、新たに撮像された撮像画像から、画像認識によって物体を検出して認識用バウンディングボックスを作成する。そして、認識用バウンディングボックスを切り出した部分画像を生成し、学習済みモデルを用いて、生成した部分画像に基づき検出した物体の情報（例えば、物体名称等）及び姿勢を推定する。また、認識用バウンディングボックスの位置、幅及び高さを取得し、学習済みモデルを用いて、検出した物体に関して実空間の３次元座標における位置を推定する。
なお、検出した物体全体を取り囲む認識用バウンディングボックスの位置は、取り囲んだバウンディングボックスの重心位置でもよい。また、検出した物体に関する実空間の３次元座標における位置は、物体の重心位置でもよい。
【００１９】
本発明の物体認識及び位置姿勢推定方法において、学習済みモデルは、具体的には、物体の姿勢もしくは位置を推定するための分類器又は回帰器の少なくとも何れかが含まれる。推定する位置は、物体の重心位置であってもよい。
【００２０】
本発明の物体認識及び位置姿勢推定方法では、撮像画像は、複数の物体が撮像された画像であり、検出した各物体に対して、各々認識用バウンディングボックスを作成し、検出した全ての物体の名称、並びに、推定した姿勢及び位置を実空間の３次元座標として算出する。
これにより、検出された各物体に関して、推定した実空間の３次元座標における姿勢及び位置を、工場の自動化システムのロボットに対して伝達できる。また、検出された各物体に関して、実空間の３次元座標における姿勢及び重心位置を推定し算出することにより、ロボットが正確に物体を捉えることができる。
【００２１】
本発明の物体認識及び位置姿勢推定方法における撮像画像は、学習データセットの作製環境と同一又は近似した環境下で撮像された撮像画像であることが好ましい。
学習データセットの作製環境と同一又は近似した環境下で撮像された撮像画像が用いられることにより、物体認識と位置姿勢の推定精度を向上させることができる。
【００２２】
本発明の学習データセット作製プログラムは、本発明の学習データセット作製方法の一部の処理である下記ａ），ｂ）のステップをコンピュータに実行させるためのプログラムである。
ａ）多視点画像群に対して対象物のバウンディングボックスを設定するステップ、
ｂ）撮像画像から推定した対象物の姿勢情報と位置情報、物体情報及びバウンディングボックスに関する情報を、撮像画像に関連付けして、学習データセットを生成するステップ。
【００２３】
本発明の物体認識及び位置姿勢推定プログラムは、本発明の物体認識及び位置姿勢推定方法の一部の処理である下記ｃ）〜ｅ）をコンピュータに実行させるためのプログラムである。
ｃ）新たに撮像された撮像画像から、画像認識によって物体の名称を検出して認識用バウンディングボックスを作成するステップ、
ｄ）認識用バウンディングボックスを切り出した部分画像を生成し、生成した部分画像に基づき学習済みモデルを用いて、検出した物体の姿勢を推定するステップ、
ｅ）認識用バウンディングボックスの位置、幅及び高さを取得し、学習済みモデルを用いて、検出した物体に関して実空間の３次元座標における位置を推定するステップ。
なお、検出した物体全体を取り囲む認識用バウンディングボックスの位置は、取り囲んだバウンディングボックスの重心位置でもよい。また、検出した物体に関する実空間の３次元座標における位置は、物体の重心位置でもよい。
【００２４】
本発明の学習データセット作製装置は、下記１）〜４）を備える。
１）対象物の配置位置のガイドとなるベース部と、該ベース部の上方に固定され、対象物の物体情報が関連付けされる位置姿勢検出用マーカとから構成される学習データセット生成治具、
２）学習データセット生成治具のベース部をガイドとして対象物を配置した状態で、マーカを含む物体全体の多視点画像群を取得する撮像手段、
３）取得した画像群に対して対象物のバウンディングボックスを設定する手段、
４）撮像画像から推定した対象物の姿勢情報と位置情報、物体情報及びバウンディングボックスに関する情報を、撮像画像に関連付けして、対象物の物体認識及び位置姿勢推定を行うための学習データセットを生成する手段。
【００２５】
本発明の学習データセット作製装置の学習データセット生成治具において、具体的には、ベース部は対象物を載せる台座部であり、マーカは、該台座部に上に固着された支柱の上方に脱着自在に固定される。また、マーカは、ＡＲマーカを含む２次元パターンマーカ、又は、３次元マーカである。
本発明の学習データセット作製方法により作製した学習データセットを用いて機械学習を行った産業用ロボット、本発明の物体認識及び位置姿勢推定方法を用いた産業用ロボット、そして、本発明の物体認識及び位置姿勢推定プログラムが搭載された産業用ロボットは、食品業界や物流業界における仕分け作業や加工作業などの工場の自動化システムに利用できる。
【発明の効果】
【００２６】
本発明によれば、複数の物体を対象として、機械学習に用いる学習データセットを効率的に作製し、それを用いて物体認識及び位置姿勢を高精度に推定でき、工場の自動化システムに用いるロボット制御に活用できるといった効果がある。
【図面の簡単な説明】
【００２７】
【図１】学習データセットの作製処理、並びに、物体認識及び位置姿勢推定処理の概略フロー図
【図２】学習データセットの作製装置、並びに、物体認識及び位置姿勢推定装置の機能ブロック図
【図３】学習データセット作製装置のイメージ図
【図４】学習データセット作製処理の詳細フロー図
【図５】物体認識及び位置姿勢推定の説明図であり、（１）は台座に支柱が設けられたもの、（２）は台座に支柱が設けられていないものを示している。
【図６】学習データセット作製に用いられる画像イメージ図
【図７】対象物の撮影イメージ図であり、画像中の対象物に関して、（１）は左方、（２）は中央、（３）は右方に位置する場合を示している。
【図８】バウンディングボックス設定の説明図
【図９】学習済みモデル生成のフロー図
【図１０】物体認識及び位置姿勢推定時のロボット制御システムのシステム構成図
【図１１】物体認識及び位置姿勢推定処理フロー図
【図１２】物体認識及び位置姿勢推定処理に用いられる画像の一例
【図１３】搬送装置と回転移動機構の説明図
【図１４】対象物の把持位置計測用マーカの説明図
【図１５】比較実験における撮影方法の説明図
【図１６】位置推定に関する比較実験結果を表すグラフ
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施形態の一例を、図面を参照しながら詳細に説明していく。なお、本発明の範囲は、以下の実施例や図示例に限定されるものではなく、幾多の変更及び変形が可能である。
【実施例１】
【００２９】
図１は、学習データセットの作製処理の概略フロー及び物体認識及び位置姿勢推定処理の概略フローを示している。図１に示すように、学習データセット生成段階では、まず、位置姿勢検出用マーカであるＡＲマーカ（２次元パターンマーカ）に対象物の物体情報を関連付けする（ステップＳ０１）。次に、関連付けした２次元パターンマーカを用いた学習データセット生成治具を準備する（ステップＳ０２）。学習データセット生成治具のベース部をガイドとして対象物を配置する（ステップＳ０３）。対象物を配置した状態で、対象物の多視点画像群を取得する（ステップＳ０４）。取得した画像群につき２次元パターンマーカを検出し認識する（ステップＳ０５）。取得した画像群に対して対象物全体を取り囲むバウンディングボックスを設定する（ステップＳ０６）。推定した対象物の姿勢情報と重心位置情報、物体情報及びバウンディングボックスに関する情報を画像に関連付けする（ステップＳ０７）。そして、多視点画像群を学習データセットとしてデータベースに登録する（ステップＳ０８）。
なお、上記ステップＳ０６のバウンディングボックスの設定において、可能な限り対象物全体を取り囲めればよく、多少、対象物を囲めていない場合であっても、学習データセットとして使用することができる。仮に対象物が他の物体で隠れていた場合であっても、隠れずに見えている範囲で囲めていれば構わない。
【００３０】
次に、登録された学習データセットを用いて、深層学習などの機械学習により学習済みモデルを取得する（ステップＳ０９）。
そして、物体認識及び位置姿勢推定段階では、まず撮像画像を取得し（ステップＳ１０）、画像認識により撮像画像中の物体を検出して認識用バウンディングボックスを設定する（ステップＳ１１）。なお、物体の名称は、物体を検出し、物体を認識した時点で取得できる。物体の認識用バウンディングボックスを切り出した部分画像を用いて、予め定義された基準座標系（実空間の３次元座標）における姿勢及び重心位置を推定する（ステップＳ１２）。
基準座標系は、予め学習データセット生成冶具に取り付けた位置姿勢検出用マーカを、基準としたい位置姿勢に配置することにより定義する。
【００３１】
図２は、学習データセットの作製装置、物体認識及び位置姿勢推定装置の機能ブロック図を示している。図２に示すように、学習データセット作製装置１０では、撮像手段２０及び学習データセット生成治具３０を用いて対象物の画像を撮影する。撮像された画像は、学習データセット作製装置１０のコンピュータ４０がＡＲマーカ認識手段４０ａとして動作することにより、ＡＲマーカが認識される。予めデータベース８０には、ＡＲマーカと認識対象となる対象物の物体情報とが関連付けされており、コンピュータ４０が対象物認識手段４０ｂとして動作することにより、対象物の物体名称など物体情報が認識される。ＡＲマーカ認識手段４０ａ及び対象物認識手段４０ｂから得られた情報に基づいて、コンピュータ４０がバウンディングボックス設定手段４０ｃとして動作することにより、バウンディングボックスが設定される。また、コンピュータ４０が対象物の姿勢推定手段４０ｄとして動作することにより、対象物の姿勢が推定される。また、コンピュータ４０が重心位置推定手段４０ｅとして動作することにより、対象物の重心位置が推定される。取得された対象物に関する情報や、姿勢・重心位置に関する情報は、コンピュータ４０がバウンディングボックス割付手段４０ｆとして動作することにより、設定されたバウンディングボックスに割付けされ、学習データセットとしてデータベース８０に保存される。
【００３２】
学習データセットは、モデル生成コンピュータ９による機械学習により、分類器９ａ及び回帰器９ｂを作成し、学習済みモデルを取得する。
生成された学習済みモデルは、物体認識及び位置姿勢推定装置１１において利用される。物体認識及び位置姿勢推定装置１１では、撮像手段２１により、物体が撮影される。得られた撮像画像は、コンピュータ４１が物体認識手段４１ａとして動作することにより、画像中に含まれる物体が検出され、物体名称などの物体情報が取得される。検出された物体は、コンピュータ４１が認識用バウンディングボックス設定手段４１ｂとして動作することにより、認識用バウンディングボックスが設定される。認識用バウンディングボックスが設定されると、かかる認識用バウンディングボックス毎に、コンピュータ４１が学習済みモデル４１ｃとして動作することにより、姿勢及び重心位置が推定される。
なお、撮像手段２０と撮像手段２１、コンピュータ４０とコンピュータ４１、又は、データベース８０の記憶手段とデータベース８１の記憶手段は、いずれも、同一の機器を用いた構成であってもよい。
【００３３】
（学習データセット作製について）
図３は、学習データセット作製の際のシステム構成図を示している。図３に示すように、学習データセット作製の際は、１台のカメラ２、学習データセット生成治具である台座１４、基準マーカ３３、台座１４とその上の対象物５の位置を動かすベルトコンベア１２及びコンピュータ４から成る。
学習データセット生成治具である台座１４は、ＡＲマーカ３、支柱１８及び台座部１７から成り、ＡＲマーカ３と台座部１７は、支柱１８を介して接続されている。台座部１７上には、認識対象となる対象物５が配置されている。対象物５の撮影は上方に設けられたカメラ２によって行う。撮影時にＡＲマーカ３が対象物５に隠れることを防止するため、ＡＲマーカ３は対象物５よりも高い位置に設けられている。
基準マーカ３３は、ベルトコンベア１２の外側に配置され固定された位置に置かれる。基準マーカ３３は、学習データセット生成治具である台座１４をそのまま利用可能であり、台座１４のＡＲマーカ３が、基準マーカ３３として用いることができる。基準マーカ３３を、基準としたい位置及び姿勢に配置することにより、基準座標系を定義する。
コンピュータ４には、データベース８が設けられており、カメラ２において撮像した画像群、ＡＲマーカ３、対象物５に関する位置姿勢の情報が保存される。
【００３４】
図４は、学習データセット生成のフロー図を示している。図４に示すように、まず、カメラ２によって、台座部１７上に配置された対象物５を撮影し、１枚の撮像画像をコンピュータ４に入力する（ステップＳ１０１）。コンピュータ４では、取得した画像に含まれるＡＲマーカを画像解析により検出する（ステップＳ１０２）。データベース８に登録されているＡＲマーカに関連付けされた物体情報には、対象物に関する一般名称などの物体を識別するための情報が登録されている。次に、データベース８から、ＡＲマーカに関連付けされた物体情報を取得する（ステップＳ１０３）。データベース８に登録されているＡＲマーカに関連付けされた情報には、対象物の大きさ（サイズ）に関する情報が登録されている。ＡＲマーカの姿勢情報に基づいて、対象物の姿勢を推定する（ステップＳ１０４）。さらに、対象物の重心位置を算出する（ステップＳ１０５）。ここで、対象物の重心位置とは、対象物の形状および学習データセット生成冶具への配置から算出する重心位置のことであり、基準座標系における対象物重心の位置（ｘ，ｙ,ｚ）情報を基に算出する。なお、重心位置の算出については、予め物体情報として、物体の高さと学習データセット生成冶具への配置位置及び配置姿勢に加えて、学習データセット生成冶具の情報として、冶具の高さと冶具へのＡＲマーカの配置位置及び姿勢を所持しており、それらを用いて物体の重心位置を算出するものでも構わない。
【００３５】
そして、対象物を取り囲むバウンディングボックスを設定し（ステップＳ１０６）、物体情報、姿勢、重心位置及び設定したバウンディングボックス情報（画像中の位置、幅、高さ）を画像に関連付けする（ステップＳ１０７）。画像内に未だ処理していないＡＲマーカが存在する場合には、未処理のＡＲマーカを同様に処理する。画像内の全てのＡＲマーカが処理済みの場合（ステップＳ１０８）は、対象物の物体情報、姿勢・重心位置情報及びバウンディングボックス情報が紐付いた１枚の画像を出力する（ステップＳ１０９）。画像は複数回撮影され、全ての画像につき処理が完了することで、学習データセットが作製される（ステップＳ１１０）。
【００３６】
ここで、学習データセット作製の際、ＡＲマーカと対象物の関係について、図５を参照しながら説明する。図５は、物体認識及び位置姿勢推定の説明図であり、（１）は台座に支柱が設けられたもの、（２）は台座に支柱が設けられていないものを示している。図５（１）に示すように、ＡＲマーカ３には、支柱１８を介して台座部１７が設けられており、台座部１７上には、認識対象となる対象物５が配置されている。台座部１７と支柱１８は固着されているが、ＡＲマーカ３は、支柱１８から脱着自在に固定されているため、異なるＡＲマーカを取り付けて使用することが可能である。
ＡＲマーカ３が支柱１８に取り付けられると、台座部１７とＡＲマーカ３の相対的位置及び姿勢が固定されることになる。また、対象物５を、一定の基準を設定した後に、台座部１７上に配置すると、対象物５と台座部１７の相対的位置及び姿勢が固定されることになる。これにより、対象物５を台座部１７上に配置するだけで、容易にＡＲマーカ３と対象物５の間の相対的位置及び姿勢を固定することができる。
【００３７】
ここで、対象物５を台座部１７に配置する際に設定する一定の基準とは、例えば、台座の長辺と対象物の長辺を略並行にして配置するといったものである。ここで設定する基準については、深層学習などの機械学習をより効率的に行うために設定するものであるから、配置の際に必ずしも厳密に守られる必要は無く、例えば、やや斜めにずれて配置されたといった場合でも、かかるデータも後の機械学習の際に用いることはできる。
【００３８】
また、台座に支柱が設けられることは必須ではない。支柱１８は、ＡＲマーカ３の撮像を容易にするために設けられたものであるため、ＡＲマーカ３の撮像に差し支えない場合には、支柱１８は必須ではないからである。例えば、図５（２）に示すように、台座部１７に直接ＡＲマーカ３が取り付けられた場合でも、対象物５０が偏平形状であるような場合には、矢印（１９ａ，１９ｂ，１９ｃ）の何れの方向から撮影されても、ＡＲマーカ３の撮像には差し支えないため、支柱は設けられなくてもよい。
【００３９】
データベース８には、予め、ＡＲマーカの種類・形状、ＡＲマーカに対応する対象物の名称、サイズとして、長辺（ｍｍ）、短辺（ｍｍ）及び高さ（ｍｍ）、並びに、基準座標系における対象物の姿勢（deg）が登録されている。下記表１はデータベースのテーブルの例を示している。表１において、対象物コードは対象物の識別コードとして用いている。
【００４０】
【表１】
2019029021.tif 000003
【００４１】
上記表１に示すように、対象物コード１については、マーカコードは３、対象物長辺は１００ｍｍ、対象物短辺は５０ｍｍ、対象物高さは１００ｍｍ、基準座標系における対象物重心の位置は、ｘが２０、ｙが３０、ｚが−１５０、基準座標系における対象物の姿勢は０（deg）とデータベース上に登録されている。また、対象物コード２については、マーカコードは２、対象物長辺は２００ｍｍ、対象物短辺は１５０ｍｍ、対象物高さは１０ｍｍ、基準座標系における対象物重心の位置は、ｘが１０、ｙが２０、ｚが−３０、基準座標系における対象物の姿勢は０（deg）と登録されている。対象物コード３については、マーカコードは１、対象物長辺は３００ｍｍ、対象物短辺は２５０ｍｍ、対象物高さは５０ｍｍ、基準座標系における対象物重心の位置は、ｘが１２、ｙが２８、ｚが−８０、基準座標系における対象物の姿勢は１０（deg）と登録されている。以下同様に、対象物毎に各データが登録される。
【００４２】
そのため、ＡＲマーカ３と対象物５の間の相対的な位置姿勢関係が固定された状態で、カメラ２を用いてＡＲマーカ３及び対象物５を撮影すると、コンピュータ４は、ＡＲマーカ３を検出することで、ＡＲマーカの種類がＡＲマーカ３であること、ＡＲマーカ３の位置姿勢及び対応する対象物５の名称などの情報が取得される。
また、ＡＲマーカ３と台座部１７と対象物５の間の相対的な位置姿勢関係から、基準座標系における対象物５の姿勢を推定する。また、ＡＲマーカ３と台座部１７と対象物５の間の相対的位置の関係と、対象物５および台座部１７のサイズから、基準座標系における対象物５の重心位置を推定する。
データベース８に予め登録されている対象物の大きさに関するデータを用いて、上記の推定された位置や姿勢のデータに基づいて、対象物５を囲むバウンディングボックスを設定する。
【００４３】
１つの対象物５につき、アングルを変えて、複数回の撮影を行うことで、多数のパターンの出力画像が得られることになる。例えば、図５に示すように、ＡＲマーカ３と対象物５の間の相対的な位置姿勢関係が固定された状態でも、矢印１９ａから撮影する場合と、矢印１９ｂ又は矢印１９ｃから撮影する場合とでは、取得される画像が異なるからである。撮影方法としては、本実施例では、１台のカメラ２を固定した上で、台座部１７及び対象物５を移動させながら、複数回の撮影を行っている。この他、台座部１７及び対象物５を固定したままで、１台のカメラ２を移動して撮影してもよく、或は、複数のカメラを用いて異なるアングルから撮影してもよい。
【００４４】
図６は、学習データセット作成に用いられる画像イメージ図を示している。図６に示す画像７ａは、図２で示すカメラ２によって撮影された１枚の画像である。図６に示すように、画像７ａには、ベルトコンベア１２、対象物（５ａ〜５ｃ）、台座（１３ａ〜１３ｃ）及びバウンディングボックス（６ａ〜６ｃ）が表示されている。
対象物５ａは、台座１４ａの台座部１７ａ上に配置されている。同様に、対象物５ｂは、台座１４ｂの台座部１７ｂ上に、対象物５ｃは、台座１４ｃの台座部１７ｃ上にそれぞれ配置されている。対象物５ａは紙製容器入り食品であり、容器を立てた状態で配置しているが、寝かせた状態で配置してもよい。なお、対象物５ｂはビニール袋に入った軟質の食品であり、対象物５ｃは筒状容器入り食品である。ここでは、対象物としては食品を用いているが、食品以外の対象物でもよい。
矢印１９ｄは、ベルトコンベア１２が流れる方向を示したものであり、画像７ａは、ベルトコンベア１２が矢印１９ｄの方向に流れる中で撮影したものである。なお、画像７ａでは、上記以外の物体等は表示されていないが、背景に別の装置等の物体が配置され、映り込んでいても構わない。
【００４５】
図６に示すように、例えば、対象物５ａは、ベルトコンベア１２の移動方向に並行に配置されているが、対象物（５ｂ，５ｃ）はベルトコンベア１２の移動方向に対して斜めに配置されている。このようにあらゆる向きに対象物が配置されていても、対象物とＡＲマーカの相対的な位置姿勢関係が固定されていればよい。また、同一の対象物についてもあらゆる向きに設置してカメラ２による撮影を行うことで、多様なパターンの画像が得られ、後の深層学習などの機械学習により、より精度の高いモデルの生成が可能となる。
ここで、対象物（５ａ〜５ｃ）の撮影は、ベルトコンベア１２上を一度流される際に、複数回行われる。
【００４６】
図７は、対象物の撮影イメージ図であり、画像中の対象物につき（１）は左方、（２）は中央、（３）は右方に位置する場合を示している。図７（１）に示すように、対象物１５は、略立方体形状の物体であるが、画像中の左方に位置する場合には、面（１５ａ〜１５ｃ）が画像中に写り込んでいる。これに対して、図７（２）に示すように、対象物１５が画像中の中央に位置する場合には、面（１５ａ，１５ｂ）は画像中に写り込んでいるが、面１５ｃは画像中に写り込んでいない。また、図７（３）に示すように、対象物１５が画像中の右方に位置する場合には、面（１５ａ〜１５ｄ）が画像中に写り込んでいる。このように、同じ対象物１５であっても、撮影する角度によって異なる画像が得られるため、ベルトコンベア１２上を一度流すだけでも、多様なパターンの物体画像が得られることになる。さらに、対象物（５ａ〜５ｃ）の設置の向きを変えて、さらに複数回ベルトコンベア１２上を流され、撮影が行われる。
なお、図７（１）〜（３）に示すように、対象物１５と共にＡＲマーカ３も、対象物１５との相対的位置及び姿勢が固定された状態で移動するため、ＡＲマーカ３の位置や姿勢も変化することとなる。
【００４７】
以上のような方法で撮影が行われると、図６に示す画像７ａにおいては、画像データが取得され、各画像からまず、ＡＲマーカ（３ａ〜３ｃ）の種類と位置姿勢が検出される。ＡＲマーカ（３ａ〜３ｃ）については、予め、ＡＲマーカの種類毎に、対象物の名称、長辺（ｍｍ）、短辺（ｍｍ）、高さ（ｍｍ）、及び、基準座標系における対象物の姿勢（deg）が登録されているため、ＡＲマーカ（３ａ〜３ｃ）の検出により、対象物の名称、長辺（ｍｍ）、短辺（ｍｍ）、高さ（ｍｍ）、及び、基準座標系における対象物の姿勢（deg）が取得される。ここでは、ＡＲマーカ３ａの検出により、対象物５ａの名称等が取得される。同様に、ＡＲマーカ３ｂの検出により、対象物５ｂの名称等が取得され、ＡＲマーカ３ｃの検出により、対象物５ｃの名称等が取得される。
ＡＲマーカ（３ａ〜３ｃ）に定義された位置姿勢情報に基づいて、対象物（５ａ〜５ｃ）の位置姿勢情報を推定する。
【００４８】
具体的には、まず、ＡＲマーカ３ａに定義された姿勢情報に基づいて対象物５ａの姿勢を算出する。同様に、ＡＲマーカ３ｂに定義された姿勢情報に基づいて対象物５ｂの姿勢を算出し、ＡＲマーカ３ｃに定義された姿勢情報に基づいて対象物５ｃの姿勢を算出する。
【００４９】
次に、ＡＲマーカ３ａに定義された位置情報と、ＡＲマーカ３ａと対象物５ａの相対的な位置関係の情報に基づいて対象物５ａの重心位置を算出する。同様に、ＡＲマーカ３ｂに定義された位置情報と、ＡＲマーカ３ｂと対象物５ｂの相対的な位置関係の情報に基づいて対象物５ｂの重心位置を算出し、ＡＲマーカ３ｃに定義された位置情報と、ＡＲマーカ３ｃと対象物５ｃの相対的な位置関係の情報に基づいて対象物５ｃの重心位置を算出する。
【００５０】
上記の算出されたデータと、対象物（５ａ〜５ｃ）の大きさに関するデータを用いて、対象物（５ａ〜５ｃ）を囲むバウンディングボックス（６ａ〜６ｃ）を生成する。ここで、例えば、ＡＲマーカ（３ａ，３ｃ）は、それぞれ対象物（５ａ，５ｃ）を囲むバウンディングボックス（６ａ，６ｃ）からはみ出ているが、バウンディングボックスは対象物を囲むことができていればよく、問題とはならない。
【００５１】
図８は、バウンディングボックス設定の説明図を示している。図８は、図６における画像７ａにおけるバウンディングボックス６ｂを拡大したものである。
図８に示すように、対象物５ｂを長方形として認識し、例えば、下記数１をように、矩形（四角形）の幅（ｘ´）と高さ（ｙ´）にそれぞれマージンとなるオフセットを加算して、バウンディングボックスの幅と高さを決定し、バウンディングボックスを設定する。ここで、ｈは 物体の高さ、φは 鉛直方向に対するカメラの設置角度である。
【００５２】
【数１】
2019029021.tif 000004
【００５３】
なお、図８に示すように、バウンディングボックス６ｂを設定する際には、上記のオフセットを設けるため、上記数１により算出されたバウンディングボックスよりも、面積は広く設けられる。
【００５４】
図６では、画像７ａを例に説明をしているが、ベルトコンベア１２を稼動しながら、同様に、撮影を重ねることで、画像（７ｂ〜７ｆ）のように、複数の画像を取得することができる。取得する画像は、画像（７ａ〜７ｆ）に限られず、さらに多数の画像が取得される。
このように、バウンディングボックス（６ａ〜６ｃ）が挿入された画像７ａのような画像が集積することで、学習データセットが作製される。
【００５５】
（機械学習について）
学習データセットが生成された後、学習データセットを具体的なロボット制御に利用する場合には、先立って学習データセットを使用した深層学習などの機械学習が必要となる。そこで、コンピュータ４は、データベース８に保存された学習データセットを用いて、推定を行う対象物について、深層学習を行い、学習済みモデルを取得する。
図９は、学習済みモデル生成のフロー図を示している。図９に示すように、まず学習データセットを入力する（ステップＳ２１）。入力された学習データセットを基に、深層学習を行う（ステップＳ２２）。本実施例では、Google（登録商標）が開発しオープンソースとして公開した人工知能のソフトウェアライブラリであるTensorFlow（登録商標）を使用して深層学習を行う。深層学習により得られた学習済みモデルを出力する（ステップＳ２３）。
【００５６】
（物体認識及び位置姿勢推定について）
図１０は、物体認識及び位置姿勢推定時のロボット制御システムのシステム構成図を示している。図１０に示すように、物体認識及び位置姿勢推定時においては、ロボット制御システム１は、カメラ２、コンピュータ４及びロボット１３から成る。
ベルトコンベア１２上には、認識対象となる対象物５が配置されている。コンピュータ４には、データベース８が設けられており、カメラ２において撮影した画像等が保存される。ロボット１３には、ロボットアーム１３ａが設けられており、ロボットアーム１３ａによって、対象物を把持できる構造となっている。
【００５７】
図１１は、物体認識及び位置姿勢推定フロー図を示している。図１１に示すように、カメラ２を用いて、ベルトコンベア１２上を撮影し、１枚の撮像画像を入力する（ステップＳ３０１）。画像認識により、物体を検出し、画像座標系における位置を検出する（ステップＳ３０２）。ここで、物体情報（名称など）が取得される。また、認識用バウンディングボックスを設定する（ステップＳ３０３）。設定された認識用バウンディングボックスの内、いずれか１つを選択する（ステップＳ３０４）。撮像画像から、認識用バウンディングボックス内を切り抜く（ステップＳ３０５）。そして、深層学習など機械学習によって得られた学習済みモデルの分類器を用いて、物体の姿勢を推定する（ステップＳ３０６）。次に、認識用バウンディングボックスの幅、高さを取得し（ステップＳ３０７）、学習済みモデルの回帰器により、実空間の３次元座標における物体の重心位置を推定する（ステップＳ３０８）。認識用バウンディングボックスの内、選択していないものが存在するか否かを判断し（ステップＳ３０９）、未選択の認識用バウンディングボックスがあれば、いずれか１つを選択する。認識用バウンディングボックスを全て選択し終えた場合は、検出した全ての物体の名称、姿勢、実空間の３次元座標における重心位置を出力する（ステップＳ３１０）。
【００５８】
図１２は、物体認識及び位置姿勢推定に用いられる画像の一例を示している。図１２に示すように、画像７０上には、ベルトコンベア１２、対象物（５ａ〜５ｃ）及び認識用バウンディングボックス（１６ａ〜１６ｃ）が表示されている。画像７０は、ベルトコンベア１２上に対象物（５ａ〜５ｃ）を並べて、矢印１９ｄに示す方向に対象物（５ａ〜５ｃ）を流し、かかる状態で、カメラ２を用いて撮影したものである。
学習済みモデルの利用に先立って、学習データセットを用いた深層学習が行われたことにより、対象物を認識し、位置及び姿勢を推定することが可能となっている。
【００５９】
図１２においては、対象物（５ａ〜５ｃ）を囲むように認識用バウンディングボックス（１６ａ〜１６ｃ）が表示されているのみであるが、コンピュータ４においては、対象物（５ａ〜５ｃ）の名称や、姿勢・重心位置に関する情報が推定されており、ロボット１３の把持動作を予め計画しておくことで、コンピュータ４において推定された情報を基に、ロボット１３に対象物（５ａ〜５ｃ）の仕分け作業を行わせるといったことが可能である。具体的には、例えば、詰め合わせギフトのように、所定の箱に複数種類の商品を１つずつ配置したり、レーンを流れる多数の物品の中から不良品を除去したりといった作業が可能である。
【実施例２】
【００６０】
搬送装置と回転移動機構について図１３を参照して説明する。図１３に示すコンベア１２０は、コンベアベルト１２０ａを水平に移動させるものである。コンベア１２０は、搬送装置であり、コンベアベルト１２０ａの上に載せた物体を水平に移動する。
コンベアベルト１２０ａの上に、学習データセット生成治具の台座１４を載せ、台座部１７をガイドとして対象物５を配置した状態で、コンベアベルト１２０ａを水平（矢印１９ｆに示す方向）に移動させ、ＡＲマーカ３を含む物体５全体の多視点画像群を効率よく取得することができる。
さらに、図１３に示すように、回転機構１２０ｂと直動機構１２０ｃを組合せた装置に、学習データセット生成治具の台座１４を取付け、当該装置をコンベアベルト１２０ａの上に載せて、コンベアベルト１２０ａを水平に移動させることにより、更に効率よく多視点画像群を取得することができる。すなわち、コンベア１２０ａが矢印１９ｆに示す方向に移動しながら、回転機構１２０ｂが矢印１９ｇに示す方向に水平に回転し、さらに、直動機構１２０ｃが矢印１９ｈに示す方向に水平に移動することで、マーカを含む物体全体の多視点画像群を効率よく取得するのである。これにより、対象物５及び台座１４をコンベアベルト１２０ａ上に一度流すだけで、あらゆる角度から撮像することが可能であり、短時間で、効率的に学習データセットを作製することができる。
なお、矢印１９ｆに示す移動方向や矢印１９ｇに示す回転方向は、逆方向であってもよく、更には、正方向と逆方向に交互に動くものであってもよい。また、矢印１９ｈに示す移動方向は往復移動であるが、片方向のみに移動するものでもよい。
【実施例３】
【００６１】
学習データセット作製方法の一部の処理をコンピュータに実行させるための学習データセット作製プログラムについて図４を参照して説明する。学習データセット作製プログラムは、１）多視点画像群に対して対象物のバウンディングボックスを設定するステップと、２）撮像画像から推定した対象物の姿勢情報と重心位置情報、物体情報及びバウンディングボックスに関する情報を、撮像画像に関連付けして、学習データセットを生成するステップをコンピュータに実行させる。
上記１）のステップでは、取得した画像に含まれるＡＲマーカを画像解析により検出し（ステップＳ１０２）、ＡＲマーカに関連付けされた物体情報を取得し（ステップＳ１０３）、ＡＲマーカの姿勢情報に基づいて、対象物の姿勢を推定し（ステップＳ１０４）、対象物の重心位置を算出し（ステップＳ１０５）、対象物を取り囲むバウンディングボックスを設定する（ステップＳ１０６）。
上記２）のステップでは、物体情報、姿勢、重心位置及び設定したバウンディングボックス情報（画像中の位置、幅、高さ）を画像に関連付けし（ステップＳ１０７）、画像内に未だ処理していないＡＲマーカが存在する場合には、未処理のＡＲマーカを同様に処理し、画像内の全てのＡＲマーカが処理済みの場合（ステップＳ１０８）には、対象物の物体情報、姿勢・重心位置情報及びバウンディングボックス情報が紐付いた１枚の画像を出力し（ステップＳ１０９）、全ての撮像画像につき処理を行い、学習データセットを作製する（ステップＳ１１０）。
【００６２】
また、物体認識及び位置姿勢推定方法の一部の処理をコンピュータに実行させるための物体認識及び位置姿勢推定プログラムについて図１１を参照して説明する。物体認識及び位置姿勢推定プログラムは、ａ）新たに撮像された撮像画像から、画像認識によって物体の名称を検出して認識用バウンディングボックスを作成するステップと、ｂ）認識用バウンディングボックスを切り出した部分画像を生成し、生成した部分画像に基づき学習済みモデルを用いて、検出した物体の姿勢を推定するステップと、ｃ）認識用バウンディングボックスの重心位置、幅及び高さを取得し、学習済みモデルを用いて、検出した物体の重心位置を推定するステップをコンピュータに実行させる。
上記ａ）のステップでは、画像認識により、物体を検出し、画像座標系における位置を検出し（ステップＳ３０２）、物体情報（名称など）を取得して、認識用バウンディングボックスを設定する（ステップＳ３０３）。
上記ｂ）のステップでは、設定された認識用バウンディングボックスの内、いずれか１つを選択し（ステップＳ３０４）、撮像画像から、認識用バウンディングボックス内を切り抜き（ステップＳ３０５）、深層学習など機械学習によって得られた学習済みモデルの分類器を用いて、物体の姿勢を推定する（ステップＳ３０６）。
上記ｃ）のステップでは、認識用バウンディングボックスの幅、高さを取得し（ステップＳ３０７）、学習済みモデルの回帰器により、実空間の３次元座標における物体の重心位置を推定する（ステップＳ３０８）。
【実施例４】
【００６３】
学習データセット生成治具のＡＲマーカと、基本座標系における対象物の重心位置との相対位置関係について、実施例１では手入力で予めデータベースのテーブルに設定している（実施例１の表１を参照）。しかしながら、実際にロボットを用いて対象物を把持させる場合には、対象物の外周面において、把持できる箇所を推定する必要がある。
そこで、例えば、親指及び人差し指の指先と手の第一指間部の３ヶ所に装着し、学習データセット生成治具に配置しているＡＲマーカと、人が把持する場合の親指及び人差し指の指先と手の第一指間部に装着するＡＲマーカとの相対的な位置姿勢の関係を予め計測する。なお、人の手に取り付けるマーカの位置と数は任意に決定することができる。
そして、対象物の重心位置は、例えば、３ヶ所に装着したＡＲマーカの位置情報を円周上にあると仮定し、近似したときの円の中心位置を、把持する重心位置とし、データベースに、学習データセット生成治具のＡＲマーカと、基本座標系における対象物の重心位置との相対位置関係として登録する。
【００６４】
図１４に示すように、例えば、飲料容器のペットボトル３６を対象物として想定すると、円柱状のペットボトル３６の中央辺りを、人の手３４の親指の指先と人差し指の指先とで挟んで掴むことになる。親指及び人差し指の指先と手の第一指間部の３ヶ所に装着したＡＲマーカ（把持位置計測用マーカ：３５ａ〜３５ｃ）の位置情報は、学習データセット生成治具１４に配置しているＡＲマーカ３と、人が把持する場合の親指及び人差し指の指先と手の第一指間部に装着するＡＲマーカ（３５ａ〜３５ｃ）との相対的な位置姿勢関係により計測する。そして、計測した３ヶ所の位置が円周上にあるとして近似したときの円の中心位置を、ペットボトル３６の把持する重心位置とする。
また、基準座標系における対象物の姿勢もデータベースに登録はする。これはロボットを使用して実際に把持を行う際に活用する。
学習データセット生成治具１４のＡＲマーカ３と、親指及び人差し指の指先と手の第一指間部に装着するＡＲマーカ（３５ａ〜３５ｃ）との相対的な位置姿勢の計測方法としては、把持位置、すなわち、把持位置計測用マーカ（３５ａ〜３５ｃ）の位置が固定された状態で、１台のカメラで対象物の把持の姿勢を複数回撮像もしくは複数台のカメラで同時に撮像する。その際、撮像を行うカメラ位置姿勢は、学習データセット生成治具１４のＡＲマーカ３との相対位置姿勢のみ使用するため、任意のカメラ位置姿勢で構わない。
【００６５】
上述の計測を実際に使用する工場の自動化システムにおけるロボットハンドを用いて、同様に行うことができる。例えば、ロボットハンドで把持する場合、ロボットハンドの第１指先と第２指先と第一指間部の３ヶ所に装着して計測する。
すなわち、人間もしくはロボットハンドを使用することで、学習データセット生成治具のＡＲマーカに対する相対位置の設定と、ロボットによる把持の際に使用する情報をデータベースに登録することができる。
【実施例５】
【００６６】
ＡＲマーカによる学習データ収集と人手による学習データ収集の２つの場合について、学習データセットの生成時間、物体認識精度、及び、位置推定精度の比較を行った結果について以下に説明する。
まず、撮像画像を得るためのカメラとしては、ＲＧＢカメラ（ポイントグレイリサーチ株式会社製：Flea3 FL3-U3-88S2C）を使用し、工場環境を再現するために、オークラ輸送機株式会社（登録商標）製のコンベアベルトを使用した。
画像処理ライブラリは、OpenCV 3.2.0を使用した。また、物体認識モデルのニューラルネットワークは、Tensor Flow（登録商標）（tensorflow-gpu 1.3.0）上で動作するKeras 1.2.2を使用した。回帰モデルは、位置を推定するためにscikit-learn 0.19.0を使用した。
実験に用いた対象物は、背の高い物体としてボトルＡ及びボトルＢを選択し、変形可能な物体としてパウチＡ及びパウチＢを選択し、背の低い物体として缶Ａ及び缶Ｂを選択した。なお、ボトルＡ及びボトルＢとは、ペットボトルのことである。
実験に使用したＡＲマーカは、一辺が４０ｍｍの正方形のＡＲマーカであり、対象物とＡＲマーカが重なることを防ぐべく、台座部から高さ２００ｍｍの位置に設けた。ＡＲマーカの検出には、ArUcoと呼ばれるＡＲライブラリを用いて行った。
【００６７】
（学習データセットの生成時間の評価結果）
比較実験における撮影方法の説明図を図１５に示す。図に示すように、撮影の際は、データの偏りが起こらないように、３×７のマトリックスのポイント３８を画像７１中に設定し、それぞれのポイント毎に配置して、撮影を行った。縦横のポイント同士の間隔はいずれも１００ｍｍである。
撮影は２人で行い、いずれの場合も、１人が物体の姿勢を変化させ、もう１人がカメラで撮影した。モデルをトレーニングするために４００画像、モデルの検証に１００画像、テストに１００画像を使用した。
人手によるアノテーションは２人で行った。具体的には、グラフィカルにアノテーション可能なツールである“LabelImg”を使用した。各対象物の周囲にバウンディングボックスを作成し、そのオブジェクト名を同時に入力を行った。また、全ての対象物の位置を手動で割り当てた。
ここで、アノテーションとは、撮像画像に対するバウンディングボックスの設定だけではなく、物体情報の関連付けも含めたものを意味する用語である。
【００６８】
下記表２は、ＡＲマーカ及び人手による場合の双方について、学習データセット生成時間の測定結果を表している。比較対象とする撮像画像とすべく、ＡＲマーカ及び人手による場合のそれぞれにつき５００枚撮影した。
【００６９】
【表２】
2019029021.tif 000005
【００７０】
上記表２に示すように、ＡＲマーカによる場合の撮影時間は７５分、アノテーションにかかる時間は３７．２３分、合計時間は１１２．２３分であった。また、人手による場合の撮影時間は８０分、アノテーションにかかる時間は８８６分、合計時間は９６６分であった。
以上より、ＡＲマーカによる学習データセットの生成は、人手による学習データセットの生成と比較して、８８．４％の効率化に成功したといえる。また、アノテーション時間についても、ＡＲマーカによる場合では、人手による場合に比べて５％未満に時間が短縮されている。
【００７１】
（物体認識に関する比較実験結果）
下記表３は、ＡＲマーカによる場合についての物体認識精度に関する測定結果を表し、下記表４は、人手による場合についての物体認識精度に関する測定結果を表している。対象物であるボトルＡ、ボトルＢ、パウチＡ、パウチＢ、缶Ａ及び缶Ｂにつき、“Ｆ値”、“Precision”及び“Recall”を測定した。
ここで、“Recall”は、再現率であり、実際に正であるもののうち、正であると予測されたものの割合を意味し、見つけなければいけないものをどれだけ見つけたかを数値化したものである。“Recall”は、最小値が０％であり１００％あるいは１００％に近いほど優れている。また、“Precision”は、判定したものの正確さを表す指標であり、ＴＰ／（ＴＰ＋ＦＰ）から算術する（ＴＰ：True Positive，ＦＰ：False Positive）。“Precision”も“Recall”と同じく、最小値が０％であり１００％に近いほど優れている。また、“Ｆ値”は、機械学習における予測結果の評価尺度の一つであり、精度と再現率の調和平均を示している。具体的には、Ｆ値は、Recallの値を“Ａ”、Precisionの値を“Ｂ”とすると、２×Ｂ×Ａ／（Ａ＋Ｂ）から算術する。Ｆ値も、最小値が０％であり１００％に近いほど優れている。
【００７２】
【表３】
2019029021.tif 000006
【００７３】
【表４】
2019029021.tif 000007
【００７４】
上記表３及び４に示すように、ＡＲマーカによる場合のＦ値の平均は８７％、人手による場合のＦ値の平均は８５％であり、ＡＲマーカによる場合は人手による場合以上の認識性能となることを確認できる。
【００７５】
（位置推定に関する比較実験結果）
図１６は、位置推定に関する比較実験結果を表すグラフであり、ＡＲマーカによる場合及び人手による場合についての位置推定誤差を表すグラフである。なお、図１６では、ボトルＡ、ボトルＢ、パウチＡ、パウチＢ、缶Ａ及び缶Ｂにつき比較しており、グラフの数値は小数第二位を四捨五入して説明する。
【００７６】
図１６に示すように、人手による場合の位置推定誤差は、ボトルＡが２８．０ｍｍ、ボトルＢが２７．０ｍｍ、パウチＡが２３．６ｍｍ、パウチＢが２９．４ｍｍ、缶Ａが１３．３ｍｍ、缶Ｂが１５．２ｍｍであり、これに対して、ＡＲマーカによる場合は、ボトルＡが２８．３ｍｍ、ボトルＢが２８．４ｍｍ、パウチＡが４６．８ｍｍ、パウチＢが５１．１ｍｍ、缶Ａが２７．７ｍｍ、缶Ｂが３２．１ｍｍであった。
したがって、いずれの対象物についても、人手による場合の方がＡＲマーカによる場合よりも誤差は小さかったが、ボトルＡ及びボトルＢについては、ＡＲマーカによる場合でも人手による場合と殆ど変わらない誤差であることが判った。
【００７７】
（実験結果のまとめ）
以上より、ＡＲマーカを用いた場合は、８８．４％のデータ収集時間の効率化が図られ、物体認識においては、十分な性能が得られることが判った。また、位置推定についても物体の形状によっては、十分な性能が得られることが判った。
【産業上の利用可能性】
【００７８】
本発明は、産業用ロボットによる工場の自動化システムとして有用である。すなわち、本発明の学習データセット作製方法により作製した学習データセットを用いて機械学習を行った産業用ロボット、本発明の物体認識及び位置姿勢推定方法を用いた産業用ロボット、或は、本発明の物体認識及び位置姿勢推定プログラムが搭載された産業用ロボットは、食品業界や物流業界における仕分け作業や加工作業などの工場の自動化システムに利用可能である。また、建物等における防犯システムにも利用可能である。
【符号の説明】
【００７９】
１  ロボット制御システム
２  カメラ
３，３ａ〜３ｃ  ＡＲマーカ
４，４０，４１  コンピュータ
５，５ａ〜５ｃ，１５，５０  対象物
６ａ〜６ｃ  バウンディングボックス
７ａ〜７ｆ，７０，７１  画像
８，８０，８１  データベース
９  モデル生成コンピュータ
９ａ  分類器
９ｂ  回帰器
１０  学習データセット生成手段
１１  物体認識及び位置姿勢推定手段
１２  ベルトコンベア
１３  ロボット
１３ａ  ロボットアーム
１４，１４ａ〜１４ｃ  学習データセット生成治具（台座）
１５ａ〜１５ｄ  面
１６ａ〜１６ｃ  認識用バウンディングボックス
１７，１７ａ〜１７ｃ  台座部
１８  支柱
１９ａ〜１９ｈ  矢印
２０，２１  撮像手段
３０  学習データセット生成治具
３３  基準マーカ（ＡＲマーカ）
３４  人の手
３５ａ〜３５ｃ  把持位置計測用マーカ（ＡＲマーカ）
３６  ペットボトル
３８  ポイント
４０ａ  ＡＲマーカ認識手段
４０ｂ  対象物認識手段
４０ｃ  バウンディングボックス設定手段
４０ｄ  対象物の姿勢推定手段
４０ｅ  重心位置推定手段
４０ｆ  バウンディングボックス割付手段
４１ａ  物体認識手段
４１ｂ  認識用バウンディングボックス設定手段
４１ｃ  学習済みモデル
１２０  コンベア
１２０ａ  コンベアベルト
１２０ｂ  回転機構
１２０ｃ  直動機構
【図１】
2019029021.tif 000008
【図２】
2019029021.tif 000009
【図３】
2019029021.tif 000010
【図４】
2019029021.tif 000011
【図５】
2019029021.tif 000012
【図６】
2019029021.tif 000013
【図７】
2019029021.tif 000014
【図８】
2019029021.tif 000015
【図９】
2019029021.tif 000016
【図１０】
2019029021.tif 000017
【図１１】
2019029021.tif 000018
【図１２】
2019029021.tif 000019
【図１３】
2019029021.tif 000020
【図１４】
2019029021.tif 000021
【図１５】
2019029021.tif 000022
【図１６】
2019029021.tif 000023