(57)【要約】  複数の物体を対象として、機械学習に用いる学習データセットを効率的に作製できる方法及び装置を提供する。視覚マーカに物体情報を関連付けし、対象物配置のガイドとなるエリアが設けられたベース部と、該ベース部上に固定されたマーカから構成される学習データセット生成治具を用いて、エリアをガイドとして対象物を配置した状態で、マーカを含む物体全体の画像群を取得し、取得した画像群から、視覚マーカに関連付けされた物体情報を取得し、画像群から視覚マーカ又は学習データセット生成治具に該当する領域の隠蔽処理を行うことにより再構成された画像群を生成し、取得した物体情報を基に、再構成された画像群に対してバウンディングボックスを設定し、推定した対象物の姿勢情報と位置情報、物体情報及びバウンディングボックスに関する情報を、撮像画像に関連付けして、対象物の物体認識及び位置姿勢推定を行うための学習データセットを生成する。
2019189661.tif 000002
【特許請求の範囲】
【請求項１】
視覚マーカに対象物の物体情報を関連付けし、
対象物の配置位置のガイドとなるエリアが設けられたベース部と、該ベース部の上に固定された前記視覚マーカとから構成される学習データセット生成治具を用いて、前記エリアをガイドとして対象物を配置した状態で、前記視覚マーカを含む物体全体の画像群を取得し、
取得した前記画像群から、前記視覚マーカに関連付けされた前記物体情報を取得し、
前記画像群から前記視覚マーカ又は前記学習データセット生成治具に該当する領域の隠蔽処理を行うことにより再構成された画像群を生成し、
取得した前記物体情報を基に、前記再構成された画像群に対して対象物のバウンディングボックスを設定し、
撮像画像から推定した対象物の姿勢情報と位置情報、前記物体情報及び前記バウンディングボックスに関する情報を、前記撮像画像に関連付けして、対象物の物体認識及び位置姿勢推定を行うための学習データセットを生成することを特徴とする学習データセット作製方法。
【請求項２】
前記視覚マーカは前記対象物と予め定められた位置関係において前記ベース部に複数固定されることを特徴とする請求項１に記載の学習データセット作製方法。
【請求項３】
前記隠蔽処理は、
前記画像群から、前記学習データセット生成冶具に該当する領域を検出する検出ステップと、
前記検出ステップにより抽出された対象物の写り込みが含まれる領域から物体領域を検出することにより、前記学習データセット生成冶具に該当する領域のみを抽出する抽出ステップと、
前記抽出ステップにより抽出された領域における前記画像群に対して、背景画像又はノイズ画像として上書き処理を行う上書きステップ、
を備えることを特徴とする請求項１又は２に記載の学習データセット作製方法。
【請求項４】
前記抽出ステップは、事前に近似した形状情報を用いて、前記物体領域を検出することを特徴とする請求項３に記載の学習データセット作製方法。
【請求項５】
前記抽出ステップは、事前に学習させた学習モデルを用いて、前記物体領域を検出することを特徴とする請求項３に記載の学習データセット作製方法。
【請求項６】
前記ベース部は、円形状、楕円形状若しくは矩形状のプレートであることを特徴とする請求項１〜５の何れかに記載の学習データセット作製方法。
【請求項７】
前記ベース部が円形状である場合には、前記視覚マーカは、前記エリアを囲むように、前記エリアの中心方向を基準方向として配置されたことを特徴とする請求項１〜６の何れかに記載の学習データセット作製方法。
【請求項８】
前記ベース部は、前記プレートを、面の挟角が１０〜９０°であるＬ字状に屈曲させたことを特徴とする請求項６に記載の学習データセット作製方法。
【請求項９】
前記バウンディングボックスは、前記エリアを基準位置とする３次元バウンディングボックスであることを特徴とする請求項１〜８の何れかに記載の学習データセット作製方法。
【請求項１０】
前記視覚マーカは、ＡＲ（Augmented Reality）マーカを含む２次元パターンマーカ、又は、３次元マーカであることを特徴とする請求項１〜９の何れかに記載の学習データセット作製方法。
【請求項１１】
前記エリアには、前記学習データセット生成治具の識別ＩＤが表示されたことを特徴とする請求項１〜１０の何れかに記載の学習データセット作製方法。
【請求項１２】
前記エリアには、対象物の向きを調整するための向き調整ガイドが設けられたことを特徴とする請求項１〜１１の何れかに記載の学習データセット作製方法。
【請求項１３】
前記位置情報は、前記エリアをガイドとして配置された対象物の位置と、予め定義した基準座標系における基準姿勢の位置との差分情報であることを特徴とする請求項１〜１２の何れかに記載の学習データセット作製方法。
【請求項１４】
前記姿勢情報は、前記視覚マーカの撮像画像と、前記視覚マーカと対象物との相対位置関係を用いて算出した情報であり、前記エリアをガイドとして配置された対象物の姿勢と、予め定義した基準座標系における基準姿勢との差分情報であることを特徴とする請求項１〜１３の何れかに記載の学習データセット作製方法。
【請求項１５】
前記画像群は、対象物を前記学習データセット生成治具に配置して搬送手段により搬送しながら撮像、対象物を前記学習データセット生成治具に配置して回転手段により回転させながら撮像、及び、対象物を前記学習データセット生成治具に配置して移動手段により移動させながら撮像の少なくとも何れかにより取得されたことを特徴とする請求項１〜１４の何れかに記載の学習データセット作製方法。
【請求項１６】
請求項１〜１５の何れかの作製方法により作製した前記学習データセット。
【請求項１７】
請求項１〜１５の何れかの作製方法に用いる前記学習データセット生成治具。
【請求項１８】
請求項１６の学習データセットを用いて機械学習を行い、学習済みモデルを取得し、
新たに撮像された撮像画像から、画像認識によって物体の名称を検出して認識用バウンディングボックスを作成し、
前記認識用バウンディングボックスを切り出した部分画像を生成し、前記学習済みモデルを用いて、生成した部分画像に基づき検出した物体の姿勢を推定し、
前記認識用バウンディングボックスの位置、幅及び高さを取得し、前記学習済みモデルを用いて、検出した物体に関する実空間の３次元座標における位置を推定することを特徴とする物体認識及び位置姿勢推定方法。
【請求項１９】
前記認識用バウンディングボックスは、２次元バウンディングボックス又は３次元バウンディングボックスであることを特徴とする請求項１８に記載の物体認識及び位置姿勢推定方法。
【請求項２０】
前記学習済みモデルは、物体の姿勢もしくは位置を推定するための分類器又は回帰器の少なくとも何れかが含まれることを特徴とする請求項１８又は１９に記載の物体認識及び位置姿勢推定方法。
【請求項２１】
前記撮像画像は、複数の物体が撮像された画像であり、
検出した各物体に対して、各々認識用バウンディングボックスを作成し、
検出した全ての物体の名称、並びに、推定した姿勢及び位置を実空間の３次元座標として算出することを特徴とする請求項１８〜２０の何れかに記載の物体認識及び位置姿勢推定方法。
【請求項２２】
前記撮像画像は、前記学習データセットの作製環境と同一又は近似した環境下で撮像された画像であることを特徴とする請求項１８〜２１の何れかに記載の物体認識及び位置姿勢推定方法。
【請求項２３】
請求項１〜１５の何れかの学習データセット作製方法の一部の処理をコンピュータに実行させるためのプログラムであって、
前記画像群に対して対象物の前記バウンディングボックスを設定するステップ、
前記撮像画像から推定した対象物の姿勢情報と位置情報、前記物体情報及び前記バウンディングボックスに関する情報を、前記撮像画像に関連付けして、前記学習データセットを生成するステップ、
をコンピュータに実行させるための学習データセット作製プログラム。
【請求項２４】
請求項１８〜２２の何れかの物体認識及び位置姿勢推定方法の一部の処理をコンピュータに実行させるためのプログラムであって、
新たに撮像された撮像画像から、画像認識によって物体の名称を検出して認識用バウンディングボックスを作成するステップ、
前記認識用バウンディングボックスを切り出した部分画像を生成し、生成した部分画像に基づき前記学習済みモデルを用いて、検出した物体の姿勢を推定するステップ、
前記認識用バウンディングボックスの位置、幅及び高さを取得し、前記学習済みモデルを用いて、検出した物体に関して実空間の３次元座標における位置を推定するステップ、
をコンピュータに実行させるための物体認識及び位置姿勢推定プログラム。
【請求項２５】
対象物の配置位置のガイドとなるエリアが設けられたベース部と、該ベース部の上に固定され、対象物の物体情報が関連付けされる視覚マーカとから構成される学習データセット生成治具、
前記エリアをガイドとして対象物を配置した状態で、前記視覚マーカを含む物体全体の画像群を取得する撮像手段、
取得した前記画像群から、前記視覚マーカに関連付けされた前記物体情報を取得する手段、
前記画像群から前記視覚マーカ又は前記学習データセット生成治具に該当する領域の隠蔽処理を行うことにより再構成された画像群を生成する手段、
取得した画像群に対して対象物のバウンディングボックスを設定する手段、
撮像画像から推定した対象物の姿勢情報と位置情報、前記物体情報及び前記バウンディングボックスに関する情報を、前記撮像画像に関連付けして、対象物の物体認識及び位置姿勢推定を行うための学習データセットを生成する手段、
を備えたことを特徴とする学習データセット作製装置。
【請求項２６】
前記視覚マーカは前記対象物と予め定められた位置関係において前記ベース部に複数固定されることを特徴とする請求項２５に記載の学習データセット作製装置。
【請求項２７】
請求項１〜１５の何れかの作製方法により作製した前記学習データセットを用いて機械学習を行った産業用ロボットによる工場の自動化システム。
【請求項２８】
請求項１８〜２２の何れかの物体認識及び位置姿勢推定方法を用いた産業用ロボットによる工場の自動化システム。
【請求項２９】
請求項２４に記載の物体認識及び位置姿勢推定プログラムが搭載された産業用ロボットによる工場の自動化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は機械学習による物体認識と位置姿勢推定における、学習データセット生成の自動化方法に関するものである。
【背景技術】
【０００２】
従来から、工場等での作業を自動化するものとして、人工知能（Artificial Intelligence、以下“ＡＩ”とする。）を搭載したロボットが利用されている。近年、機械学習やディープラーニング（深層学習）の発展により、工場等における生産システムにおいても、工場等の完全自動化に向けた取り組みとして、機械学習等を利用したＡＩの開発が急速に行われている。
ロボットによる作業の自動化は、あらゆる業界にニーズが存在するが、中でも、食品業界や物流業界は今後の成長が期待される分野であり、ロボットによる作業の自動化のニーズは高く存在する。
しかしながら、食品業界や物流業界において扱う製品は、柔軟なものが多く、取り扱いの際に複雑に形状が変化してしまうため、ロボットに備えられたロボットハンドでのハンドリングが難しいという問題がある。また、食品業界や物流業界において扱う商品は、かつては種類が少なく、少品種多量生産が中心であったが、今日ではそれだけではなく多品種少量生産や変種変量生産が求められるようになっているところ、多品種の商品の認識を正確かつ迅速に行うことが難しいという問題もある。すなわち、多品種な商品を短時間で認識して、詰め合わせギフトや不良品の除去作業などのような仕分け作業を正確に行うことが求められるのである。
これらの事情から、食品業界や物流業界においては、未だにロボットによる工場の自動化が十分に進んでいないのが現実である。【０００３】
これまでは、商品についての学習データを収集するためには、対象となる物体の画像を撮影し、得られた撮像画像から人の手で対象物を特定し、バウンディングボックスを描画するといったことが行われてきた。また対象物の位置姿勢のデータ入力も人の手で行われてきた。
そこで、物体にマーカを付けて撮影することで、人の手で行われてきた作業を自動化する方法が考えられる。
しかしながら、物体にマーカを付けて撮影する方法では、対象となる物体とマーカの位置関係やマーカの数について十分な検討がなされてこなかったため、対象となる物体やバウンディングボックスの中にマーカが写り込み、或は、対象となる物体によってマーカが隠れてしまうといった問題があった。
すなわち、対象となる物体やバウンディングボックスの中にマーカが写り込むと、質の高い学習データとならないだけではなく、マーカを物体の特徴として学習してしまう恐れもある。また、対象となる物体によってマーカが隠れてしまうと、物体認識の精度が低下するという問題がある。【０００４】
物体認識技術については、車両周囲の物体認識技術に於いて、学習データを自動的に収集するデータベース構築システムが知られている（特許文献１を参照）。これは、センサの検出結果を教師データとして別のセンサの出力から物体の認識を実行するための機械学習の教師あり学習データを自動的に収集するものである。
しかしながら、上記特許文献１に開示されたデータベース構築システムは、複数の種類のセンサを用いて物体認識を行う技術であり、検出可能な学習済みのセンサが必要である。【０００５】
また、撮影条件が未知の画像から画像認識のための機械学習に用いる訓練画像を生成することができる画像生成方法が知られている（特許文献２を参照）。これは、画像認識のための訓練画像を生成するため所持する２枚の画像から３枚目の新しい訓練画像を生成するものである。
しかしながら、上記特許文献２に開示された画像生成方法では、実環境とは異なる画像が生成されるため、質の高い学習データセットが作製できないという問題がある。【０００６】
また、物体の位置姿勢推定をＲＧＢカメラで行うが、物体の３Ｄモデルを利用した方法が知られている（非特許文献１を参照）。しかしながら、上記非特許文献１に開示された方法では、事前に必ず物体の３Ｄモデルが必要であり、実環境とは異なる学習画像が生成されるため、やはり質の高い学習データセットが作製できないという問題がある。【０００７】
マーカが撮像画像中に写り込み、マーカを物体の特徴として学習してしまうという問題については、マーカを撮像画像中から隠蔽する方法が考えられる。
この点、動画撮影中において、実際に撮影されている風景はそのままで、隠蔽したい動体オブジェクトをリアルタイムに隠消する技法が知られている（特許文献３を参照）。これは、動画中の動体オブジェクトを検知し、移動方向及び速度を算出して、算出された移動方向及び速度で動体オブジェクトが移動した場合の背景画像を投機的に取得するものである。投機的に取得された背景画像は、動体オブジェクトをリアルタイムで隠消するために使用される。
しかしながら、上記特許文献３に開示された動体でなければ隠消できないという問題がある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１７−１０２８３８号公報
【特許文献２】特開２０１７−４５４４１号公報
【特許文献３】特開２０１４−９６６６１号公報
【非特許文献】
【０００９】
【非特許文献１】Wadim Kehl et al.,“SSD-6D: Making RGB-Based 3D Detection and 6D Pose Estimation Great Again”, ICCV 2017, pp.1521-1529
【発明の概要】
【発明が解決しようとする課題】
【００１０】
かかる状況に鑑みて、本発明は、工場の自動化システムに用いるロボット制御に向け、複数の物体を対象として、複数のセンサ及び物体の３Ｄモデルを必要とせず、実環境の撮影画像を用いて、機械学習に用いる学習データセットを効率的に作製できる方法、並びに、視覚マーカ群の隠蔽方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決すべく、本発明の学習データセット作製方法は、視覚マーカに対象物の物体情報を関連付けし、対象物の配置位置のガイドとなるエリアが設けられたベース部と、該ベース部の上に固定されたマーカとから構成される学習データセット生成治具を用いて、エリアをガイドとして対象物を配置した状態で、マーカを含む物体全体の画像群を取得する。そして、取得した画像群から、視覚マーカに関連付けされた物体情報を取得し、画像群から視覚マーカ又は学習データセット生成治具に該当する領域の隠蔽処理を行うことにより再構成された画像群を生成し、取得した物体情報を基に、再構成された画像群に対して対象物のバウンディングボックスを設定する。そして、撮像画像から推定した対象物の姿勢情報と位置情報、物体情報及びバウンディングボックスに関する情報を、撮像画像に関連付けして、対象物の物体認識及び位置姿勢推定を行うための学習データセットを生成する。【００１２】
ここで、視覚マーカとは、ロボットの自律作業において高精度に姿勢や位置を測れるマーカをいう。視覚マーカを用いることにより、撮像画像から、対象物の物体情報だけではなく、姿勢情報と位置情報を同時に取得することが可能となり、学習データセットの生成を効率良く行うことができる。
視覚マーカが、ベース部の上であり、かつ、エリアの周囲に設けられることにより、対象物が視覚マーカによって隠れてしまうことを防止することができる。視覚マーカは対象物と予め定められた位置関係においてベース部に複数固定されることが好ましい。複数の視覚マーカが設けられることにより、例えば、撮影する角度により、ある視覚マーカが物体に隠れてしまったとしても、その他の視覚マーカを検出することで、物体を認識することが可能である。また、２つ以上の視覚マーカが同時に検出されることで、より精度の高い物体認識が可能となる。
画像群の取得方法としては、対象物を移動等させながら１台のカメラにより撮影し取得したものでもよいし、複数台のカメラを用いて取得したものでもよい。いずれにしても、対象物を異なる角度から撮影した大量の撮像画像を収集することで、機械学習のための学習データとして用いることが可能である。【００１３】
学習データセットの生成に用いる撮像画像自体には、後述する学習データセット生成治具領域の隠蔽処理以外の加工は行われないため、学習済みモデルを利用する実際の環境で得られる撮像画像に近い撮像画像を用いて、機械学習を行うことができる。そのため、物体認識と位置・姿勢推定の精度を向上させることができる。
なお、対象物の物体情報とは、対象物の名称、サイズといった基本情報のことであり、学習データセットの生成に当たって、予めコンピュータにこれらの情報が記憶されている。
また、バウンディングボックスとは、画像等において、対象物が収まるように取り囲まれた表示領域であり、矩形などの領域をいう。取得した画像群に対して対象物のバウンディングボックスを設定する際は、バウンディングボックスが対象物全体を可能な限り確実に囲うようにするために、物体の位置情報として、物体の重心位置を取得して設定する。【００１４】
本発明の学習データセット作製方法は、学習データセットに対して、画像群から学習データセット生成治具に該当する領域の隠蔽処理を行うことが好ましく、隠蔽処理は下記１）〜３）のステップを備える。
１）画像群から、学習データセット生成冶具に該当する領域を検出する（検出ステップ）。
２）検出ステップにより抽出された対象物の写り込みが含まれる領域から物体領域を検出することにより、学習データセット生成冶具に該当する領域のみを抽出する（抽出ステップ）。
３）抽出ステップにより抽出された領域における画像群に対して、背景画像又はノイズ画像として上書き処理を行う（上書きステップ）。
ここで、上記の隠蔽処理における抽出ステップは、事前に近似した形状情報を用いて、物体領域を検出することでもよいし、事前に学習させた学習モデルを用いて、物体領域を検出することでもよい。【００１５】
学習データセット生成治具に該当する領域の隠蔽がなされることにより、機械学習において、コンピュータが学習データセット生成治具を構成するベース部や視覚マーカを対象物の一部として認識してしまうことを防止できる。
上書きステップにおいては、抽出ステップにより抽出された領域における画像群に対して、ノイズ画像として上書き処理を行うことが好ましい。ノイズ画像として上書き処理を行うことにより、幅広い種類の物体に対して認識率を向上させることができる。【００１６】
本発明の学習データセット作製方法において、ベース部は、円形状、楕円形状若しくは矩形状のプレートであることが好ましいが、プレートを屈曲して延設したＬ字状を呈することでもよい。例えば、円形状のプレートであれば、プレートを回転させて撮影し直すことで、容易に多視点画像を取得することができるからである。【００１７】
本発明の学習データセット作製方法において、ベース部が円形状である場合には、視覚マーカは、エリアの中心点を上方向として、エリアを取り囲むように配置されたことが好ましい。エリアは対象物を配置する際のガイドの役割を有していることから、エリアの中心に対象物が配置されることが多く、中心点が上方向となるように各々の視覚マーカを配置することにより、様々な角度から対象物を撮影した場合でも視覚マーカを検出しやすい構成とできる。したがって、エリアの中心に、中心点である旨のガイドを更に設けてもよい。【００１８】
本発明の学習データセット作製方法において、バウンディングボックスは、２次元バウンディングボックス又は３次元バウンディングボックスであることが好ましい。例えば、３つの視覚マーカが設けられた場合において、複数のマーカが同時に検出されることで、より精度の高い物体認識が可能となるだけでなく、物体の位置姿勢の推定精度も向上するため、物体が収まりのよい３次元のバウンディングボックスを設定することが可能となる。【００１９】
本発明の学習データセット作製方法に用いる視覚マーカは、ＡＲ（Augmented Reality：拡張現実）マーカを含む２次元パターンマーカや３次元マーカを用いることができる。ＡＲマーカとは、拡張現実システムにおいて、付加情報を表示する位置を指定するための標識となるパターン画像をいう。また、３次元マーカとは、例えば、光学式モーションキャプチャシステムで用いられる球形状のマーカを用いることができる。これらの球形状のマーカで位置及び姿勢を検出する場合には、学習データセット生成治具のベース部の上に、３個以上の球形状のマーカを固定する。【００２０】
本発明の学習データセット作製方法におけるエリアには、学習データセット生成治具の識別ＩＤが表示されたことでもよい。
エリアに、学習データセット生成治具の識別ＩＤが表示されることにより、学習データセット生成治具の管理が容易となる。識別ＩＤの表示は、取得画像における写り込みを防止するため、対象物を配置した際に隠れやすいエリアの中央部に設けられることが好ましい。【００２１】
本発明の学習データセット作製方法では、エリアには、対象物の向きを調整するための向き調整ガイドが設けられたことでもよい。向き調整ガイドが設けられることにより、データベース上における物体情報の管理が容易となり、利便性が向上する。【００２２】
本発明の学習データセット作製方法における位置情報は、対象物の任意のポイントの位置情報を用いることができる。任意のポイントに関して、対象物の基準姿勢における当該ポイントの位置情報を予め登録しておく。その場合、位置情報は、エリアをガイドとして配置された対象物の該ポイントの位置と、基準座標系における基準姿勢の該ポイント位置との差分情報である。
また、本発明の学習データセット作製方法における位置情報が重心位置情報である場合、重心位置情報は、ベース部をガイドとして配置された対象物の重心位置と、基準座標系における基準姿勢の重心位置との差分情報である。
ここで、基準座標系の替わりに、カメラ座標系を用いて、対象物の姿勢情報及び位置情報を表すことも可能である。例えば、１台の固定カメラで撮像する場合、そのカメラのカメラ座標系での３次元座標で、対象物の姿勢情報と位置情報を表す。そして、カメラ座標系の３次元座標から、実空間の３次元座標に変換し、ロボットに実空間の３次元座標を伝達することにより、ロボットに物体を正確に捉えさせることができる。【００２３】
本発明の学習データセット作製方法における姿勢情報は、具体的には、視覚マーカの撮像画像と、視覚マーカと対象物との相対位置関係を用いて算出した情報であり、エリアをガイドとして配置された対象物の姿勢と、予め定義した基準座標系における基準姿勢との差分情報である。視覚マーカの撮像画像と、視覚マーカと対象物との相対位置関係を用いて、対象物の姿勢を推定することにより、精度の高い姿勢推定が可能となる。
基準座標系は、例えば、予め学習データセット生成冶具に取り付けた視覚マーカを基準マーカとして利用して、基準としたい位置及び姿勢に配置することにより定義することができる。そのようにすることで、基準マーカの基準位置及び基準姿勢に関するデータをデータベースとして記憶し、学習データセット作製段階に、実空間の基準座標系を用いて、その基準座標系における位置と姿勢の差分を、位置と姿勢の情報として画像に紐づけることができる。
基準座標系を示す基準マーカが撮像画像内に無い場合であっても、撮像画像から基準座標系を認識することは可能である。例えば、カメラが単一で固定されている場合には、ズームする前の撮像画像内で基準マーカにより基準座標系が設定できていれば、ズームを行い見えなくなった場合でもズーム倍率がわかる限り、撮像画像外の基準マーカの位置と姿勢を計算することが可能である。【００２４】
一方、複数台のカメラが固定されている場合には、それぞれのカメラ間の位置関係が予め分かっていれば、基準座標系を示す基準マーカが撮像画像内に無い場合であっても、撮像画像外の基準マーカの位置と姿勢を計算することが可能である。また、１台のカメラでしか見えない位置に基準マーカを配置した場合でも、見えているカメラと見えていないカメラで同時に撮像可能な場所に、仮の基準マーカを配置した状態で撮像した映像を用いて、基準座標系を算出することが可能である。さらに、カメラが動的に動く場合についても、最初に基準座標系を撮影したときのカメラの位置と移動先のカメラとの間の位置関係が分かってさえいれば、計算により基準座標系を算出できる。【００２５】
本発明の学習データセット作製方法において取得される画像群は、対象物を学習データセット生成治具に配置して搬送手段により搬送しながら撮像して取得されてもよく、また、対象物を学習データセット生成治具に配置して回転手段により回転させながら撮像取得されてもよく、さらに、対象物を学習データセット生成治具に配置して移動手段により移動させながら撮像取得されてもよい。これらの撮像取得のやり方により、容易に多視点画像群を取得することができる。これらの撮像取得のやり方は、何れかを組合せて用いることも可能である。搬送手段や回転手段や移動手段が用いられることにより、撮像手段として用いるカメラが１台であっても、多視点画像群を簡便に取得でき、学習データセット生成作業の利便性、時間短縮を行うことができる。【００２６】
ここで、搬送手段とは、搬送路をレーンとして対象物を搬送するものであり、具体的には、対象物を学習データセット生成治具に配置した状態で、搬送ベルトで搬送するベルトコンベアが好適に用いられる。また、回転手段として、例えば、対象物を学習データセット生成治具に配置した状態で、水平面で回動可能な回転機構が用いられる。また、移動手段として、例えば、対象物を学習データセット生成治具に配置した状態で、学習データセット生成治具が水平の直線レール上を移動可能な直動機構が用いられる。さらには、回転機構と直動機構を組合せ、回転しながら移動できる回転移動機構も使用することができる。これらの回転機構、直動機構や回転移動機構を、ベルトコンベアに載せて、カメラ１台で多視点画像群を取得することができる。【００２７】
また、多視点画像群を取得するという意味では、対象物に自動又は手動で変形を加える手段が設けられていてもよい。変形を加える手段が設けられることにより、より幅広い画像群を取得することが可能となる。変形が有効であると思われる物体としては、変形物体、例えばパウチのようなものが対象となる。したがって、このような物体を変形させる手段としては、例えば、ロボットアームとハンドを用いて自動で変形させる方法、人により手動で変形させる方法、姿勢を変形させる台座を用意しこれを用いて変形させる方法が用いられる。【００２８】
本発明の学習データセットは、本発明の学習データセット作製方法により作製したものである。また、本発明の学習データセット生成治具は、本発明の学習データセット作製方法に用いられるものであり、上述の如く、対象物の配置位置のガイドとなるエリアと、ベース部の上に固定される視覚マーカとから構成され、視覚マーカには、対象物の物体名称などの物体情報が関連付けされる。【００２９】
本発明の物体認識及び位置姿勢推定方法では、本発明の学習データセット作製方法により作製した学習データセットを用いて機械学習を行い、学習済みモデルを取得し、新たに撮像された撮像画像から、画像認識によって物体を検出して認識用バウンディングボックスを作成する。そして、認識用バウンディングボックスを切り出した部分画像を生成し、学習済みモデルを用いて、生成した部分画像に基づき検出した物体の情報（例えば、物体名称等）及び姿勢を推定する。また、認識用バウンディングボックスの位置、幅及び高さを取得し、学習済みモデルを用いて、検出した物体に関して実空間の３次元座標における位置を推定する。
なお、検出した物体全体を取り囲む認識用バウンディングボックスの位置は、取り囲んだバウンディングボックスの重心位置でもよい。また、検出した物体に関する実空間の３次元座標における位置は、物体の重心位置でもよい。【００３０】
本発明の物体認識及び位置姿勢推定方法において、認識用バウンディングボックスは、２次元バウンディングボックスでもよいし、３次元バウンディングボックスでもよい。【００３１】
本発明の物体認識及び位置姿勢推定方法において、学習済みモデルは、具体的には、物体の姿勢もしくは位置を推定するための分類器又は回帰器の少なくとも何れかが含まれる。推定する位置は、物体の重心位置であってもよい。【００３２】
本発明の物体認識及び位置姿勢推定方法では、撮像画像は、複数の物体が撮像された画像であり、検出した各物体に対して、各々認識用バウンディングボックスを作成し、検出した全ての物体の名称、並びに、推定した姿勢及び位置を実空間の３次元座標として算出する。
これにより、検出された各物体に関して、推定した実空間の３次元座標における姿勢及び位置を、工場の自動化システムのロボットに対して伝達できる。また、検出された各物体に関して、実空間の３次元座標における姿勢及び重心位置を推定し算出することにより、ロボットが正確に物体を捉えることができる。【００３３】
本発明の物体認識及び位置姿勢推定方法における撮像画像は、学習データセットの作製環境と同一又は近似した環境下で撮像された撮像画像であることが好ましい。学習データセットの作製環境と同一又は近似した環境下で撮像された撮像画像が用いられることにより、物体認識と位置姿勢の推定精度を向上させることができる。【００３４】
本発明の学習データセット作製プログラムは、本発明の学習データセット作製方法の一部の処理である下記ａ），ｂ）のステップをコンピュータに実行させるためのプログラムである。
ａ）画像群に対して対象物のバウンディングボックスを設定するステップ。
ｂ）撮像画像から推定した対象物の姿勢情報と位置情報、物体情報及びバウンディングボックスに関する情報を、撮像画像に関連付けして、学習データセットを生成するステップ。【００３５】
本発明の物体認識及び位置姿勢推定プログラムは、本発明の物体認識及び位置姿勢推定方法の一部の処理である下記ｃ）〜ｅ）をコンピュータに実行させるためのプログラムである。
ｃ）新たに撮像された撮像画像から、画像認識によって物体の名称を検出して認識用バウンディングボックスを作成するステップ。
ｄ）認識用バウンディングボックスを切り出した部分画像を生成し、生成した部分画像に基づき学習済みモデルを用いて、検出した物体の姿勢を推定するステップ。
ｅ）認識用バウンディングボックスの位置、幅及び高さを取得し、学習済みモデルを用いて、検出した物体に関して実空間の３次元座標における位置を推定するステップ。
なお、検出した物体全体を取り囲む認識用バウンディングボックスの位置は、取り囲んだバウンディングボックスの重心位置でもよい。また、検出した物体に関する実空間の３次元座標における位置は、物体の重心位置でもよい。【００３６】
本発明の学習データセット作製装置は、下記１）〜４）を備える。
１）対象物の配置位置のガイドとなるエリアが設けられたベース部と、該ベース部の上に固定され、対象物の物体情報が関連付けされる視覚マーカとから構成される学習データセット生成治具。
２）エリアをガイドとして対象物を配置した状態で、視覚マーカを含む物体全体の画像群を取得する撮像手段。
３）取得した画像群から、視覚マーカに関連付けされた物体情報を取得する手段。
４）画像群から視覚マーカ又は学習データセット生成治具に該当する領域の隠蔽処理を行うことにより再構成された画像群を生成する手段。
５）取得した画像群に対して対象物のバウンディングボックスを設定する手段。
６）撮像画像から推定した対象物の姿勢情報と位置情報、物体情報及びバウンディングボックスに関する情報を、撮像画像に関連付けして、対象物の物体認識及び位置姿勢推定を行うための学習データセットを生成する手段。【００３７】
本発明の学習データセット作製装置は、学習データセットから視覚マーカ又は学習データセット生成治具に該当する領域の隠蔽処理を行うことにより再構成された画像群を生成する手段が設けられる。隠蔽する手段は、画像群から、学習データセット生成冶具に該当する領域を検出する検出手段と、検出手段により抽出された対象物の写り込みが含まれる領域から物体領域を検出することにより、学習データセット生成冶具に該当する領域のみを抽出する抽出手段と、抽出手段により抽出された領域につき、画像群において、背景画像又はノイズ画像として上書き処理を行う上書き手段から成ることが好ましい。ここで抽出手段は、事前に近似した形状情報を用いて、物体領域を検出することでもよいし、事前に学習させた学習モデルを用いて、物体領域を検出することでもよい。
また、学習データセット生成治具の写り込みを防止するため、視覚マーカを除き、透明性を有することでも構わない。学習データセット生成治具の視覚マーカ以外の部分が透明性を有することにより、撮像画像において、学習データセット生成治具が対象物を遮ることを防止でき、物体認識の精度を向上させることができる。【００３８】
本発明の学習データセット作製装置において、学習データセット生成治具を構成する視覚マーカは、エリアの中心点を上方向として、エリアを取り囲むように配置されたことが好ましい。視覚マーカは、ＡＲマーカを含む２次元パターンマーカ、又は、３次元マーカである。また、ベース部は、円形状、楕円形状若しくは矩形状のプレートでもよいし、プレートを屈曲して延設したＬ字状を呈することでもよい。バウンディングボックスは、２次元バウンディングボックスでもよいし、３次元バウンディングボックスでもよい。エリアには、学習データセット生成治具の識別ＩＤが表示されたことでもよい。また、エリアには、対象物の向きを調整するための向き調整ガイドが設けられてもよい。【００３９】
本発明の学習データセット作製方法により作製した学習データセットを用いて機械学習を行った産業用ロボット、本発明の物体認識及び位置姿勢推定方法を用いた産業用ロボット、そして、本発明の物体認識及び位置姿勢推定プログラムが搭載された産業用ロボットは、食品業界や物流業界における仕分け作業や加工作業などの工場の自動化システムに利用できる。
【発明の効果】
【００４０】
本発明によれば、複数の物体を対象として、複数のセンサ及び物体の３Ｄモデルを必要とせず、実環境の撮影画像を用いて、機械学習に用いる学習データセットを効率的に作製し、それを用いて物体認識及び位置姿勢を高精度に推定でき、工場の自動化システムに用いるロボット制御に活用できるといった効果がある。また本発明によれば、視覚マーカ群を隠蔽できることにより、より質の高い学習データセットを作製することができるといった効果がある。
【図面の簡単な説明】
【００４１】
【図１】学習データセットの作製処理、並びに、物体認識及び位置姿勢推定処理の概略フロー図
【図２】学習データセットの作製装置、並びに、物体認識及び位置姿勢推定装置の機能ブロック図
【図３】学習データセット作製装置のイメージ図
【図４】学習データセット作製処理の詳細フロー図
【図５】実施例１の学習データセット生成治具の平面図
【図６】実施例１の対象物の撮影イメージ図
【図７】実施例１のＡＲマーカの配置の説明図
【図８】実施例１の学習データセット作製に用いられる画像イメージ図
【図９】２次元バウンディングボックス設定の説明図
【図１０】学習データセット生成治具領域の隠蔽フロー図
【図１１】学習データセット生成治具領域の隠蔽の説明図１
【図１２】学習データセット生成治具領域の隠蔽の説明図２
【図１３】学習データセット生成治具領域の隠蔽の説明図３
【図１４】学習データセット生成治具領域隠蔽後の画像イメージ図
【図１５】学習済みモデル生成のフロー図
【図１６】物体認識及び位置姿勢推定時のロボット制御システムのシステム構成図
【図１７】物体認識及び位置姿勢推定処理フロー図
【図１８】物体認識及び位置姿勢推定処理に用いられる画像の一例
【図１９】実施例２の学習データセット作製に用いられる画像イメージ図
【図２０】実施例３の学習データセット生成治具の平面図
【図２１】実施例４の学習データセット生成治具の平面図
【図２２】対象物と撮影方向に関する説明図
【図２３】実施例５の学習データセット生成治具の外観図
【図２４】実施例６の搬送装置と回転移動機構の説明図
【図２５】実施例８の比較実験における撮影方法の説明図
【図２６】位置・姿勢推定に関する比較実験結果を表すグラフ
【図２７】物体の隠蔽方法の説明図
【発明を実施するための最良の形態】
【００４２】
以下、本発明の実施形態の一例を、図面を参照しながら詳細に説明していく。なお、本発明の範囲は、以下の実施例や図示例に限定されるものではなく、幾多の変更及び変形が可能である。
【実施例１】
【００４３】
図１は、学習データセットの作製処理の概略フロー及び物体認識及び位置姿勢推定処理の概略フローを示している。図１に示すように、学習データセット生成段階では、まず、視覚マーカとしてＡＲマーカ（２次元パターンマーカ）を用い、このＡＲマーカに対象物の物体情報を関連付けする（ステップＳ０１）。次に、関連付けした２次元パターンマーカを用いた学習データセット生成治具を準備する（ステップＳ０２）。学習データセット生成治具のエリアをガイドとして対象物を配置する（ステップＳ０３）。対象物を配置した状態で、対象物の多視点画像群を取得する（ステップＳ０４）。取得した画像群につき２次元パターンマーカを検出し認識する（ステップＳ０５）。取得した画像群に対して対象物全体を取り囲むバウンディングボックスを設定する（ステップＳ０６）。推定した対象物の姿勢情報と重心位置情報、物体情報及びバウンディングボックスに関する情報を画像に関連付けする（ステップＳ０７）。取得した画像群につき、ＡＲマーカを含む学習データセット生成治具の隠蔽を行う（ステップＳ０８）。そして、多視点画像群を学習データセットとしてデータベースに登録する（ステップＳ０９）。
なお、上記ステップＳ０６のバウンディングボックスの設定において、可能な限り対象物全体を取り囲めればよく、多少、対象物を囲めていない場合であっても、学習データセットとして使用することができる。仮に対象物が他の物体で隠れていた場合であっても、隠れずに見えている範囲で囲めていれば構わない。【００４４】
次に、登録された学習データセットを用いて、深層学習などの機械学習により学習済みモデルを取得する（ステップＳ１０）。
そして、物体認識及び位置姿勢推定段階では、まず撮像画像を取得し（ステップＳ１１）、画像認識により撮像画像中の物体を検出して認識用バウンディングボックスを設定する（ステップＳ１２）。なお、物体の名称は、物体を検出し、物体を認識した時点で取得できる。物体の認識用バウンディングボックスを切り出した部分画像を用いて、予め定義された基準座標系（実空間の３次元座標）における姿勢及び重心位置を推定する（ステップＳ１３）。
基準座標系は、視覚マーカを、基準としたい位置姿勢に配置することにより定義する。【００４５】
図２は、学習データセットの作製装置、物体認識及び位置姿勢推定装置の機能ブロック図を示している。図２に示すように、学習データセット作製装置１０では、撮像手段２０及び学習データセット生成治具３０を用いて対象物の画像を撮影する。撮像された画像は、学習データセット作製装置１０のコンピュータ４０がＡＲマーカ認識手段４０ａとして動作することにより、ＡＲマーカが認識される。予めデータベース８０には、ＡＲマーカと認識対象となる対象物の物体情報とが関連付けされており、コンピュータ４０が対象物認識手段４０ｂとして動作することにより、対象物の物体名称など物体情報が認識される。ＡＲマーカ認識手段４０ａ及び対象物認識手段４０ｂから得られた情報に基づいて、コンピュータ４０がバウンディングボックス設定手段４０ｃとして動作することにより、バウンディングボックスが設定される。また、コンピュータ４０が対象物の姿勢推定手段４０ｄとして動作することにより、対象物の姿勢が推定される。また、コンピュータ４０が重心位置推定手段４０ｅとして動作することにより、対象物の重心位置が推定される。取得された対象物に関する情報や、姿勢・重心位置に関する情報は、コンピュータ４０がバウンディングボックス割付手段４０ｆとして動作することにより、設定されたバウンディングボックスに割付けされる。【００４６】
画像中の学習データセット生成治具３０は、コンピュータ４０が学習データセット生成治具領域隠蔽手段４０ｇとして動作することにより、撮像画像中から隠蔽される。学習データセット生成治具領域隠蔽手段４０ｇは、取得した画像から、学習データセット生成治具に該当する領域を、学習データセット生成治具の形状に合わせて切り抜く検出手段４０ｈ、検出手段４０ｈにより抽出された領域から、更に、学習データセット生成治具に該当する領域のみを抽出する抽出手段４０ｉ、及び、抽出手段により抽出された領域につき、画像に対して、背景画像又はノイズ画像として上書き処理を行う隠蔽手段４０ｊから成る。学習データセット生成治具領域隠蔽手段４０ｇにより隠蔽処理が施された画像が、学習データセットとしてデータベース８０に保存される。【００４７】
学習データセットは、モデル生成コンピュータ９による機械学習により、分類器９ａ及び回帰器９ｂを作成し、学習済みモデルを取得する。
生成された学習済みモデルは、物体認識及び位置姿勢推定装置１１において利用される。物体認識及び位置姿勢推定装置１１では、撮像手段２１により、物体が撮影される。得られた撮像画像は、コンピュータ４１が物体認識手段４１ａとして動作することにより、画像中に含まれる物体が検出され、物体名称などの物体情報が取得される。検出された物体は、コンピュータ４１が認識用バウンディングボックス設定手段４１ｂとして動作することにより、認識用バウンディングボックスが設定される。認識用バウンディングボックスが設定されると、かかる認識用バウンディングボックス毎に、コンピュータ４１が学習済みモデル４１ｃとして動作することにより、姿勢及び重心位置が推定される。
なお、撮像手段２０と撮像手段２１、コンピュータ４０とコンピュータ４１、又は、データベース８０の記憶手段とデータベース８１の記憶手段は、いずれも、同一の機器を用いた構成であってもよい。【００４８】
（学習データセット作製について）
図３は、学習データセット作製の際のシステム構成図を示している。図３に示すように、学習データセット作製の際は、１台のカメラ２、プレート１４、基準マーカ３３、プレート１４とその上の対象物５の位置を動かすベルトコンベア１２及びコンピュータ４が用いられる。
プレート１４は、ＡＲマーカ３及びベース部１７から成り、ＡＲマーカ３は、ベース部１７上に固定されている。ベース部１７には、ここでは図示しないがエリアが設けられ、エリア上に認識対象となる対象物５が配置されている。対象物５の撮影は上方に設けられたカメラ２によって行う。なお、プレート１４は、対象物５の形状に合わせて、個別に作製してもよいし、既定の大きさのプレートを用いてもよい。
基準マーカ３３は、ベルトコンベア１２の外側に配置され固定された位置に置かれる。基準マーカ３３は、台座から支柱を介して接続されているが、これは撮影時に基準マーカ３３が対象物５に隠れることを防止するためである。したがって、基準マーカ３３の設置方法はこのような方法に限られず、プレート１４と同じものを利用してもよい。基準マーカ３３を、基準としたい位置及び姿勢に配置することにより、基準座標系を定義する。
コンピュータ４には、データベース８が設けられており、カメラ２において撮像した画像群、ＡＲマーカ３、対象物５に関する位置姿勢の情報が保存される。【００４９】
図４は、学習データセット生成のフロー図を示している。図４に示すように、まず、カメラ２によって、ベース部１７上に配置された対象物５を撮影し、１枚の撮像画像をコンピュータ４に入力する（ステップＳ１０１）。コンピュータ４では、取得した画像に含まれるＡＲマーカを画像解析により検出する（ステップＳ１０２）。データベース８に登録されているＡＲマーカに関連付けされた物体情報には、対象物に関する一般名称などの物体を識別するための情報が登録されている。次に、データベース８から、ＡＲマーカに関連付けされた物体情報を取得する（ステップＳ１０３）。データベース８に登録されているＡＲマーカに関連付けされた情報には、対象物の大きさ（サイズ）に関する情報が登録されている。ＡＲマーカの姿勢情報に基づいて、対象物の姿勢を推定する（ステップＳ１０４）。さらに、対象物の重心位置を算出する（ステップＳ１０５）。ここで、対象物の重心位置とは、対象物の形状および学習データセット生成冶具への配置から算出する重心位置のことであり、基準座標系における対象物重心の位置（ｘ，ｙ,ｚ）情報を基に算出する。なお、重心位置の算出については、予め物体情報として、物体の高さと学習データセット生成冶具への配置位置及び配置姿勢に加えて、学習データセット生成冶具の情報として、冶具の高さと冶具へのＡＲマーカの配置位置及び姿勢を所持しており、それらを用いて物体の重心位置を算出するものでも構わない。【００５０】
そして、対象物を取り囲むバウンディングボックスを設定し（ステップＳ１０６）、物体情報、姿勢、重心位置及び設定したバウンディングボックス情報（画像中の位置、幅、高さ）を画像に関連付けする（ステップＳ１０７）。画像内に未だ処理していないＡＲマーカが存在する場合には、未処理のＡＲマーカを同様に処理する。画像内の全てのＡＲマーカが処理済みの場合（ステップＳ１０８）は、対象物の物体情報、姿勢・重心位置情報及びバウンディングボックス情報が紐付いた１枚の画像を出力する（ステップＳ１０９）。画像は複数回撮影され、全ての画像につき処理が完了後に（ステップＳ１１０）、撮像画像中からマーカを含むプレートを隠蔽する（ステップＳ１１１）。これにより、学習データセットが作製される。【００５１】
ここで、実施例１の学習データセット生成治具について、図５〜７を参照しながら説明する。図５は、実施例１の学習データセット生成治具の平面図を示している。図５に示すように、プレート１４ａはベース部１７及びＡＲマーカ（３ａ〜３ｌ）から成り、ベース部１７には、対象物５を置くためのガイドとなるエリア１８が設けられている。ベース部１７上には、ＡＲマーカ（３ａ〜３ｌ）がエリア１８を取り囲むように貼り付けられている。ここでは、プレート１４ａを例に説明を行っているが、後述するプレート（１４ｂ，１４ｃ）も同様の構造である。【００５２】
図６は、実施例１の対象物の撮影イメージ図であり、対象物につき、（１）は円筒形状、（２）は直方体形状の場合を示している。
対象物５のエリア１８への配置は、単に載置するだけではなく、エリア１８へ固定して行う。そして、エリア１８は対象物５を配置するガイドとなるものであるから、図６（１）に示す対象物５ａのように、対象物の底面はエリア１８内に収まるように配置されることが好ましいが、必ずしもこの限りではなく、例えば図６（２）に示す対象物５ｂのように、エリア１８から一部はみ出して配置されてもよい。
図６（２）においては、対象物５ｂが一部はみ出して配置されたことにより、ＡＲマーカ（３ｂ，３ｈ）が隠れてしまっているが、ＡＲマーカ（３ａ〜３ｌ）は、一度の撮影において、全て認識される必要はなく、少なくとも１つのＡＲマーカが読み取れればよいからである。【００５３】
図６（１）に示すように、プレート１４ａに対象物５ａが配置されるに当たっては、予めデータベース８に、プレート１４ａに関する情報と、対象物５ａに関する情報が登録される。すなわち、データベース８には、予め、プレート状に設けられるＡＲマーカの種類・形状・数、各ＡＲマーカの位置・姿勢、ＡＲマーカに対応する対象物の名称、サイズとして、長辺（ｍｍ）、短辺（ｍｍ）及び高さ（ｍｍ）、並びに、基準座標系における対象物の姿勢（deg）が登録されている。下記表１はデータベースのテーブルの例を示している。表１において、対象物コードは対象物の識別コードとして用いている。また、マーカコードとは、プレート１４の識別ＩＤのことである。【００５４】
【表１】
2019189661.tif 000003
【００５５】
上記表１に示すように、対象物コード１については、マーカコードは３、対象物長辺は１００ｍｍ、対象物短辺は５０ｍｍ、対象物高さは１００ｍｍ、基準座標系における対象物の重心位置は、ｘが２０、ｙが３０、ｚが−１５０、基準座標系における対象物の姿勢は０（deg）とデータベース上に登録されている。また、対象物コード２については、マーカコードは２、対象物長辺は２００ｍｍ、対象物短辺は１５０ｍｍ、対象物高さは１０ｍｍ、基準座標系における対象物の重心位置は、ｘが１０、ｙが２０、ｚが−３０、基準座標系における対象物の姿勢は０（deg）と登録されている。対象物コード３については、マーカコードは１、対象物長辺は３００ｍｍ、対象物短辺は２５０ｍｍ、対象物高さは５０ｍｍ、基準座標系における対象物の重心位置は、ｘが１２、ｙが２８、ｚが−８０、基準座標系における対象物の姿勢は１０（deg）と登録されている。以下同様に、対象物毎に各データが登録される。【００５６】
そのため、ＡＲマーカ（３ａ〜３ｌ）と対象物５ａの間の相対的な位置姿勢関係が固定された状態で、カメラ２を用いてＡＲマーカ３及び対象物５ａを撮影すると、コンピュータ４は、ＡＲマーカ（３ａ〜３ｌ）の何れかを検出することで、ＡＲマーカの種類がＡＲマーカ（３ａ〜３ｌ）の何れかであること、ＡＲマーカの位置姿勢及び対応する対象物５ａの名称などの情報が取得される。検出するＡＲマーカは１つでもよいが、ＡＲマーカ（３ａ〜３ｌ）の内、２つ以上を検出できれば、より確実に対象物５ａに関する情報を取得することができる。
また、ＡＲマーカ（３ａ〜３ｌ）と対象物５ａの間の相対的な位置姿勢関係から、基準座標系における対象物５ａの姿勢を推定する。また、ＡＲマーカ（３ａ〜３ｌ）と対象物５ａの間の相対的位置の関係と、対象物５ａおよびプレート１４のサイズから、基準座標系における対象物５の重心位置を推定する。
データベース８に予め登録されている対象物の大きさに関するデータを用いて、上記の推定された位置や姿勢のデータに基づいて、対象物５ａを囲むバウンディングボックスを設定する。【００５７】
１つの対象物５ａにつき、アングルを変えて、複数回の撮影を行うことで、多数のパターンの出力画像が得られることになる。例えば、図６（１）に示すように、ＡＲマーカ（３ａ〜３ｌ）と対象物５ａの間の相対的な位置姿勢関係が固定された状態でも、矢印１９ａから撮影する場合と、矢印１９ｂ又は矢印１９ｃから撮影する場合とでは、取得される画像が異なるからである。撮影方法としては、本実施例では、１台のカメラ２を固定した上で、プレート１４及び対象物５ａを移動させながら、複数回の撮影を行っている。この他、プレート１４及び対象物５ａを固定したままで、１台のカメラ２を移動して撮影してもよく、或は、複数のカメラを用いて異なるアングルから撮影してもよい。【００５８】
図７は、実施例１のＡＲマーカの配置の説明図を示している。図７では、説明の便宜上、ＡＲマーカ（３ａ〜３ｌ）を全て表示することはせず、ＡＲマーカ（３ａ，３ｄ，３ｇ，３ｊ）のみを表示している。
図７に示すように、ＡＲマーカ３ａについては、ＡＲマーカ３ａの中心点Ｐ２からベース部１７の中心点Ｐ１の方向に向けて、すなわち上方向がＹ軸方向となるように設けられ、右方向がＸ軸方向、手前の方向がＺ軸方向となるように設けられている。
これは、ＡＲマーカ（３ｄ，３ｇ，３ｊ）についても同様である。すなわち、ＡＲマーカ３ｄについては中心点Ｐ３からベース部１７の中心点Ｐ１の方向が、ＡＲマーカ３ｇについては中心点Ｐ４からベース部１７の中心点Ｐ１の方向が、ＡＲマーカ３ｊについては中心点Ｐ５からベース部１７の中心点Ｐ１の方向が、それぞれＹ軸方向となるように設けられている。
ＡＲマーカ（３ａ，３ｄ，３ｇ，３ｊ）の位置・姿勢は、例えば、ＡＲマーカ３ａの場合は角部（Ｃ２１〜Ｃ２４）の位置座標を基準に推定される。同様に、ＡＲマーカ３ｄの場合は角部（Ｃ３１〜Ｃ３４）の位置座標、ＡＲマーカ３ｇの場合は角部（Ｃ４１〜Ｃ４４）の位置座標、ＡＲマーカ３ｊの場合は角部（Ｃ５１〜Ｃ５４）の位置座標を基準に推定される。
ＡＲマーカ（３ａ，３ｄ，３ｇ，３ｊ）が、それぞれの中心点からベース部１７の中心点Ｐ１の方向がＹ軸方向となるように設けられることにより、ベース部１７の中心点Ｐ１を中心にして対象物５を配置し、固定した状態で、多視点画像群を取得した場合に、どの角度から撮影しても、ＡＲマーカ（３ａ〜３ｌ）の向きを基に、容易に対象物５の向きを推定することができる。但し、そのためには、ベース部１７の中心に対象物５が配置されるような工夫が必要である。【００５９】
そこで、図５に示すように、エリア１８には、位置調整用ガイド１８ａが設けられている。位置調整用ガイド１８ａは、エリア１８の略中央であることを示して、対象物５を載置する際の位置調整を容易にするものである。
エリア１８に載せる対象物５が小さいものであれば、位置調整用ガイド１８ａ内に収まるように配置し、対象物５がより大きいものであれば、対象物５の中心が位置調整用ガイド１８ａに当接するように配置することができる。【００６０】
また、エリア１８には、向き調整用ガイド１８ｂが設けられている。向き調整用ガイド１８ｂは矢印状で表示されており、対象物５の正面を矢印の方向に合わせて配置する。向き調整用ガイド１８ｂが無くても、学習データセットの作製は可能であるが、向き調整用ガイド１８ｂが設けられ、矢印に合わせて対象物５の向きが固定されることで、取得される画像の管理が容易となり、質の高い学習データセットの作製が可能となる。【００６１】
上記において述べた、対象物５をエリア１８に配置する際に設定する基準については、深層学習などの機械学習をより効率的に行うために設定するものであるから、配置の際に必ずしも厳密に守られる必要は無く、例えば、やや斜めにずれて配置されたといった場合でも、かかるデータも後の機械学習の際に用いることはできる。【００６２】
なお、エリア１８は図５及び６では説明の便宜上、破線で表示されているが、実際に表示されているわけでない。エリア１８のガイドとしての役割は、ベース部１７上に貼り付けられたＡＲマーカ（３ａ〜３ｌ）の配置位置から、対象物を置く位置であることが推認できるものであればよいからである。もっとも、他の実施形態として、破線等で表示されることは構わない。【００６３】
また、エリア１８には、プレートの識別ＩＤが表示される構成でもよい。例えば、位置調整用ガイド１８ａが設けられるエリア１８の中央付近にプレートを識別できる数字等を表示しておけば、撮像画像に写り込む恐れも少なく、かつ、プレートの管理が容易となり利便性が向上する。【００６４】
図８は、実施例１の学習データセット作製に用いられる画像イメージ図を示している。図８に示す画像７ａは、図２で示すカメラ２によって撮影された１枚の画像である。図８に示すように、画像７ａには、ベルトコンベア１２、対象物（５ａ〜５ｃ）、プレート（１４ａ〜１４ｃ）及びバウンディングボックス（６ａ〜６ｃ）が表示されている。ここで、対象物５ａは筒状容器入り食品である。なお、対象物５ｂは紙製容器入り食品であり、容器を立てた状態で配置しているが、図６（２）に示したように寝かせた状態で配置してもよい。対象物５ｃは軟質の樹脂製の容器入り食品である。ここでは、対象物としては食品を用いているが、食品以外の対象物でもよい。
対象物５ａはプレート１４ａ上に配置されており、対象物５ｂはプレート１４ｂ上に、対象物５ｃはプレート１４ｃ上に配置されている。【００６５】
矢印１９ｄは、ベルトコンベア１２が流れる方向を示したものであり、画像７ａは、ベルトコンベア１２が矢印１９ｄの方向に流れる中で撮影したものである。なお、画像７ａでは、上記以外の物体等は表示されていないが、背景に別の装置等の物体が配置され、写り込んでいても構わない。対象物（５ａ〜５ｃ）の撮影は、ベルトコンベア１２上を一度流される際に、複数回行われる。そして、対象物（５ａ〜５ｃ）と共にＡＲマーカ（３ａ〜３ｌ）も、対象物（５ａ〜５ｃ）との相対的位置及び姿勢が固定された状態で移動するため、ＡＲマーカ（３ａ〜３ｌ）の位置や姿勢も変化することとなる。
また、同一の対象物について、あらゆる向きに設置してカメラ２による撮影を行ってもよい。ベルトコンベア１２上を一度流される際に、複数回撮影したり、同一の対象物について、あらゆる向きに設置してカメラ２による撮影を行ったりすることで、多様なパターンの画像が得られ、後の深層学習などの機械学習により、より精度の高いモデルの生成が可能となる。【００６６】
以上のような方法で撮影が行われると、図８に示す画像７ａにおいては、画像データが取得され、各画像からまず、プレート（１４ａ〜１４ｃ）毎にＡＲマーカ（３ａ〜３ｌ）の種類と位置姿勢が検出される。ＡＲマーカ（３ａ〜３ｌ）については、予め、プレート（１４ａ〜１４ｃ）毎に、対象物の名称、長辺（ｍｍ）、短辺（ｍｍ）、高さ（ｍｍ）、及び、基準座標系における対象物の姿勢（deg）が登録されており、また、ＡＲマーカ（３ａ〜３ｌ）毎の位置や姿勢についても登録されている。したがって、ＡＲマーカ（３ａ〜３ｌ）の内、少なくとも１つが検出されれば、対象物の名称、長辺（ｍｍ）、短辺（ｍｍ）、高さ（ｍｍ）、及び、基準座標系における対象物の姿勢（deg）が取得される。さらに、２つ以上のＡＲマーカが検出されれば、より精度良く対象物を認識することができる。【００６７】
対象物５ａについては、プレート１４ａ上に設けられたＡＲマーカ（３ａ〜３ｌ）の内、ＡＲマーカ（３ｆ〜３ｈ）は、画像７ａでは撮像されていないが、ＡＲマーカ（３ａ〜３ｅ，３ｉ〜３ｌ）が撮像されている。
対象物５ｂについては、プレート１４ｂ上に設けられたＡＲマーカ（３ａ〜３ｌ）の内、ＡＲマーカ３ｇは、画像７ａでは撮像されていないが、ＡＲマーカ（３ａ〜３ｆ，３ｈ〜３ｌ）が撮像されている。
対象物５ｃについては、プレート１４ｃ上に設けられたＡＲマーカ（３ａ〜３ｌ）の内、ＡＲマーカ（３ｆ〜３ｈ）については、画像７ａでは撮像されておらず、ＡＲマーカ（３ｊ，３ｋ）についても、それらの一部が撮像されているに過ぎないが、ＡＲマーカ（３ａ〜３ｅ，３ｉ，３ｌ）が撮像されている。
したがって、対象物５ｂについては、プレート１４ｂに設けられたＡＲマーカ（３ａ〜３ｆ，３ｈ〜３ｌ）の検出により、対象物５ｂの名称等が取得される。同様に、プレート１４ｃに設けられたＡＲマーカ（３ａ〜３ｅ，３ｉ，３ｌ）の検出により、対象物５ｃの名称等が取得され、プレート１４ａに設けられたＡＲマーカ（３ａ〜３ｅ，３ｉ〜３ｌ）の検出により、対象物５ａの名称等が取得される。
プレート（１４ａ〜１４ｃ）毎にＡＲマーカ（３ａ〜３ｌ）に定義された位置姿勢情報に基づいて、対象物（５ａ〜５ｃ）の位置姿勢情報を推定する。【００６８】
具体的には、まず、プレート１４ｂに設けられたＡＲマーカ（３ａ〜３ｆ，３ｈ〜３ｌ）に定義された姿勢情報に基づいて対象物５ｂの姿勢を算出する。同様に、プレート１４ｃに設けられたＡＲマーカ（３ａ〜３ｅ，３ｉ，３ｌ）に定義された姿勢情報に基づいて対象物５ｃの姿勢を算出し、プレート１４ａに設けられたＡＲマーカ（３ａ〜３ｅ，３ｉ〜３ｌ）に定義された姿勢情報に基づいて対象物５ａの姿勢を算出する。【００６９】
次に、プレート１４ｂに設けられたＡＲマーカ（３ａ〜３ｆ，３ｈ〜３ｌ）に定義された位置情報と、プレート１４ｂに設けられたＡＲマーカ（３ａ〜３ｆ，３ｈ〜３ｌ）と対象物５ｂの相対的な位置関係の情報に基づいて対象物５ｂの重心位置を算出する。同様に、プレート１４ｃに設けられたＡＲマーカ（３ａ〜３ｅ，３ｉ，３ｌ）に定義された位置情報と、プレート１４ｃに設けられたＡＲマーカ（３ａ〜３ｅ，３ｉ，３ｌ）と対象物５ｃの相対的な位置関係の情報に基づいて対象物５ｃの重心位置を算出し、プレート１４ａに設けられたＡＲマーカ（３ａ〜３ｅ，３ｉ〜３ｌ）に定義された位置情報と、プレート１４ａに設けられたＡＲマーカ（３ａ〜３ｅ，３ｉ〜３ｌ）と対象物５ａの相対的な位置関係の情報に基づいて対象物５ａの重心位置を算出する。【００７０】
上記の算出されたデータと、対象物（５ａ〜５ｃ）の大きさに関するデータを用いて、対象物（５ａ〜５ｃ）を囲むバウンディングボックス（６ａ〜６ｃ）を生成する。ここで、例えば、それぞれ対象物（５ａ，５ｃ）を囲むバウンディングボックス（６ａ，６ｃ）は重なり合っているが、バウンディングボックスは、座標データを保持するだけであるため、重なり合っていても問題はない。【００７１】
このように、対象物（５ａ〜５ｃ）にバウンディングボックス（６ａ〜６ｃ）を設定する方法について、図９を参照しながら説明する。図９は、２次元バウンディングボックス設定の説明図である。図９では、図８における画像７ａにおける対象物５ｃに設定されるバウンディングボックス６ｃを例に説明する。なお、ここでは説明の都合上、図１２における対象物５ｃ配置形態とは異なり、対象物５ｃがやや左に傾いた状態にあるものとしている。
図９に示すように、対象物５ｃを長方形として認識し、例えば、下記数１のように、矩形（四角形）の幅（ｘ´）と高さ（ｙ´）にそれぞれマージンとなるオフセットを加算して、バウンディングボックスの幅と高さを決定し、バウンディングボックスを設定する。ここで、ｈは物体の高さ、φは鉛直方向に対するカメラの設置角度である。【００７２】
【数１】
2019189661.tif 000004
【００７３】
なお、図９に示すように、バウンディングボックス６ｃを設定する際には、上記のオフセットを設けるため、上記数１により算出されたバウンディングボックスよりも、面積は広く設けられる。【００７４】
図８では、画像７ａを例に説明をしているが、ベルトコンベア１２を稼動しながら、同様に、撮影を重ねることで、画像（７ｂ〜７ｆ）のように、複数の画像を取得することができる。取得する画像は、画像（７ａ〜７ｆ）に限られず、さらに多数の画像が取得される。【００７５】
（ＡＲマーカを含むプレートの隠蔽について）
学習データとされる画像中にプレート１４中のＡＲマーカ３やベース部１７が写り込んでいる状態のデータ群を学習データセットとして機械学習を行うと、例えば、モデル生成コンピュータ９がＡＲマーカ３自体を学習してしまう恐れがある。モデル生成コンピュータ９がＡＲマーカ３自体を学習してしまうと、学習データセットの質が低下するため、ＡＲマーカ等の学習データから削除することが好ましい。
そこで、ＡＲマーカを含むプレートの隠蔽方法について、図１０〜１３を参照しながら説明する。図１０は、学習データセット生成治具領域の隠蔽フロー図を示している。また、図１１〜１３は、学習データセット生成治具領域の隠蔽の説明図を示している。
まず、図１１（１）は隠蔽前の取得画像を示している。図１１（１）に示すように、画像７ａ中には、対象物（５ａ〜５ｃ）、プレート（１４ａ〜１４ｃ）及びベルトコンベア１２が表示されている。かかる画像７ａから、図１０に示すように、プレート領域を検出する（ステップＳ４１）。
図１１（２）は切抜き後の取得画像を示している。図１１（２）に示すように、画像７ａは、プレート（１４ａ〜１４ｃ）の形状の部分だけが切り抜かれ、ベルトコンベア１２やプレート（１４ａ〜１４ｃ）の形状外の対象物（５ａ〜５ｃ）は消去されている。【００７６】
次に、切り抜かれたプレート（１４ａ〜１４ｃ）の形状の内、何れかのプレートを選択する（ステップＳ４２）。図１２（１）は、図１１（２）に示した画像７ａからプレート１４ｃを選択したものである。
ここで、事前に近似した形状情報を用いて、検出手段４０ｈにより抽出された領域から、更に、学習データセット生成治具に該当する領域のみを抽出する（ステップＳ４３）。図２７は、物体の隠蔽方法の説明図であり、（１）は対象物、（２）は近似した形状を示している。図２７（１）に示す対象物５ｅはペットボトルであるが、かかる対象物５ｅに近似した形状としては、例えば、図２７（２）に示すように、円筒形状３９ａと円錐台形状３９ｂを合わせた形状を利用することができる。
なお、事前に近似した形状情報を用いるのではなく、事前に学習させた混合ガウス分布（ＧＭＭ）に基づくモデルで、プレート領域を抽出するというように、事前に学習させた学習モデルを用いて、学習データセット生成治具に該当する領域のみを抽出してもよい。
図１２（２）は、プレート領域抽出後の画像を示している。図１２（２）に示すように、図１２（１）に示す画像から、対象物５ａ及び対象物５ｃが写り込んだ箇所が消去され、プレート１４ｃだけが残存している。【００７７】
未処理のプレートがある場合には、未処理のプレートを選択し（ステップＳ４２）、プレート１４ｃと同様の処理を行う。本実施例では、プレート（１４ａ，１４ｂ）について同様の処理を行う。全てのプレートにつき処理を行った後（ステップＳ４４）、抽出した全ての領域に対してノイズ画像又は背景画像で上書きを行う（ステップＳ４５）。
図１３（１）は、実施例１の隠蔽処理後の画像である。本実施例では、プレート（１４ａ〜１４ｃ）に該当する領域につき、ノイズ画像で上書きを行っている。これに対して、図１３（２）は背景画像で上書きを行ったものである。便宜上、プレート（１４ａ〜１４ｃ）に該当する領域を破線で表しているが、実際は表示されない。
図１３（２）に示すように、背景画像で上書きを行う方が、隠蔽処理としては自然であるようにも思われる。しかしながら、図１３（１）に示すようなノイズ画像は一定の確率分布で更新し、毎回異なったノイズ画像が生成されるため、機械学習による学習が行われにくいという利点がある。したがって、プレートやＡＲマーカを学習してしまうという問題を解決するには好適である。【００７８】
図１４は、学習データセット生成治具領域隠蔽後の画像イメージ図を示している。図１４に示すように、画像７ａには、ベルトコンベア１２、対象物（５ａ〜５ｃ）、隠蔽部（１５ａ〜１５ｃ）及びバウンディングボックス（６ａ〜６ｃ）が表示されている。
対象物（５ａ〜５ｃ）には、それぞれバウンディングボックス（６ａ〜６ｃ）が設定されているが、前述したように、これらは実際の画像に加工がなされるものではない。
また、図８で示したプレート（１４ａ〜１４ｃ）については、ノイズ画像による隠蔽処理が施され、隠蔽部（１５ａ〜１５ｃ）となっている。
ここでは、画像（７ａ〜７ｆ）について図示しているが、実際にはより多数の画像を撮影する。このように、バウンディングボックス（６ａ〜６ｃ）が挿入され、かつ、プレート（１４ａ〜１４ｃ）が隠蔽された画像７ａのような画像が集積することで、学習データセットが作製される。【００７９】
（機械学習について）
学習データセットが生成された後、学習データセットを具体的なロボット制御に利用する場合には、先立って学習データセットを使用した深層学習などの機械学習が必要となる。そこで、コンピュータ４は、データベース８に保存された学習データセットを用いて、推定を行う対象物について、深層学習を行い、学習済みモデルを取得する。
図１５は、学習済みモデル生成のフロー図を示している。図１５に示すように、まず学習データセットを入力する（ステップＳ２１）。入力された学習データセットを基に、深層学習を行う（ステップＳ２２）。本実施例では、Google（登録商標）が開発しオープンソースとして公開した人工知能のソフトウェアライブラリであるTensorFlow（登録商標）を使用して深層学習を行う。深層学習により得られた学習済みモデルを出力する（ステップＳ２３）。【００８０】
（物体認識及び位置姿勢推定について）
図１６は、物体認識及び位置姿勢推定時のロボット制御システムのシステム構成図を示している。図１６に示すように、物体認識及び位置姿勢推定時においては、ロボット制御システム１は、カメラ２、コンピュータ４及びロボット１３から成る。
ベルトコンベア１２上には、認識対象となる対象物５が配置されている。コンピュータ４には、データベース８が設けられており、カメラ２において撮影した画像等が保存される。ロボット１３には、ロボットアーム１３ａが設けられており、ロボットアーム１３ａによって、対象物を把持できる構造となっている。【００８１】
図１７は、物体認識及び位置姿勢推定フロー図を示している。図１７に示すように、カメラ２を用いて、ベルトコンベア１２上を撮影し、１枚の撮像画像を入力する（ステップＳ３０１）。画像認識により、物体を検出し、画像座標系における位置を検出する（ステップＳ３０２）。ここで、物体情報（名称など）が取得される。また、認識用バウンディングボックスを設定する（ステップＳ３０３）。設定された認識用バウンディングボックスの内、いずれか１つを選択する（ステップＳ３０４）。撮像画像から、認識用バウンディングボックス内を切り抜く（ステップＳ３０５）。そして、深層学習など機械学習によって得られた学習済みモデルの分類器を用いて、物体の姿勢を推定する（ステップＳ３０６）。次に、認識用バウンディングボックスの幅、高さを取得し（ステップＳ３０７）、学習済みモデルの回帰器により、実空間の３次元座標における物体の重心位置を推定する（ステップＳ３０８）。認識用バウンディングボックスの内、選択していないものが存在するか否かを判断し（ステップＳ３０９）、未選択の認識用バウンディングボックスがあれば、いずれか１つを選択する。認識用バウンディングボックスを全て選択し終えた場合は、検出した全ての物体の名称、姿勢、実空間の３次元座標における重心位置を出力する（ステップＳ３１０）。【００８２】
図１８は、物体認識及び位置姿勢推定に用いられる画像の一例を示している。図１８に示すように、画像７０上には、ベルトコンベア１２、対象物（５ａ〜５ｃ）及び認識用バウンディングボックス（１６ａ〜１６ｃ）が表示されている。画像７０は、ベルトコンベア１２上に対象物（５ａ〜５ｃ）を並べて、矢印１９ｄに示す方向に対象物（５ａ〜５ｃ）を流し、かかる状態で、カメラ２を用いて撮影したものである。
学習済みモデルの利用に先立って、学習データセットを用いた深層学習が行われたことにより、対象物を認識し、位置及び姿勢を推定することが可能となっている。【００８３】
図１８においては、対象物（５ａ〜５ｃ）を囲むように認識用バウンディングボックス（１６ａ〜１６ｃ）が表示されているのみであるが、コンピュータ４においては、対象物（５ａ〜５ｃ）の名称や、姿勢・重心位置に関する情報が推定されており、ロボット１３の把持動作を予め計画しておくことで、コンピュータ４において推定された情報を基に、ロボット１３に対象物（５ａ〜５ｃ）の仕分け作業を行わせるといったことが可能である。具体的には、例えば、詰め合わせギフトのように、所定の箱に複数種類の商品を１つずつ配置したり、レーンを流れる多数の物品の中から不良品を除去したりといった作業が可能である。
【実施例２】
【００８４】
図１９は、実施例２の学習データセット作製に用いられる画像イメージ図を示している。図１９に示すように、画像７ａには、ベルトコンベア１２、対象物（５ａ〜５ｃ）、及びバウンディングボックス（６ｄ〜６ｆ）が表示されている。
本実施例では、３次元のバウンディングボックス（６ｄ〜６ｆ）が設定されているが、これは複数のＡＲマーカ３が設けられることにより可能となったものである。
すなわち、本実施例においても、プレート（１４ａ〜１４ｃ）を用いて学習データセットの作製を行っているが、図７に示すように、円形のプレート１４ａの中心点Ｐ１を原点とし、図５に示すように、その原点に対象物５を底の中心がくるように、位置調整ガイド１８ａなどを用いて配置する。
対象物５の高さや形状、幅、奥行きは、物体の属性情報として予め物体情報データとして、図１に示すデータベース８に記憶されている。円形のプレート１４ａの中心点Ｐ１と、カメラ２の位置（カメラの視線角度）から、３次元のバウンディングボックス（直方体）を描くことが可能である。実際には、描かなくとも直方体の８角のカメラ座標が分かることとなる。
【実施例３】
【００８５】
図２０は、実施例３の学習データセット生成治具の平面図であり、ＡＲマーカの数が、（１）は８つ、（２）は３つのものを示している。図２０（１）に示すように、プレート１４０ａは、円形のベース部１７上に８つのＡＲマーカ（３ａ〜３ｈ）が設けられている。また、図２０（２）に示すように、プレート１４０ｂは、円形のベース部１７上に３つのＡＲマーカ（３ａ〜３ｃ）が設けられている。
このように、実施例１におけるプレート（１４ａ〜１４ｃ）のように、１２個のＡＲマーカ（３ａ〜３ｌ）を必ずしも設けなくてもよく、対象物５の種類・形状、製造コスト等を考慮して、より少ない数のＡＲマーカを設けた構成とすることができる。但し、画像を撮影する際に、２つ以上のＡＲマーカが撮像されることが好ましい。なぜなら、前述したように、２つ以上のＡＲマーカが撮像されることにより、対象物の認識精度を向上させることが可能であり、また、３次元バウンディングボックスの設定も可能となるからである。
【実施例４】
【００８６】
図２１は、実施例４の学習データセット生成治具の平面図であり、（１）は長方形のプレート、（２）は正方形のプレートを示している。図２１（１）に示すように、プレート１４０ｃは、矩形のベース部１７０上に１２個のＡＲマーカ（３ａ〜３ｌ）が設けられている。また、図２１（２）に示すように、プレート１４０ｄは、正方形のベース部１７１上に１２個のＡＲマーカ（３ａ〜３ｌ）が設けられている。対象物５はそれぞれエリア（１８０，１８１）に配置可能である。
図２１（１）及び（２）に示すように、実施例１におけるプレート（１４ａ〜１４ｃ）のように、ベース部の形状は必ずしも円形である必要はなく、対象物５の種類や形状等を考慮して、矩形やその他の形状とすることもできる。対象物５の種類や形状等に合わせて、ベース部の形状やＡＲマーカの種類・数等を設計することにより、より質の高い学習データセットを作製することができる。
なお、図２１（１）に示すように、ＡＲマーカ（３ｃ，３ｅ，３ｉ，３ｋ）は、プレート１４０ｃの矩形状に対し斜めに傾けて配置されているが、このような配置は必須ではなく、ＡＲマーカがエリアを囲んでおり、全てのＡＲマーカの角部が既知であるという点が充たされておればよい。したがって、例えば、図２１（２）に示すように、ＡＲマーカ（３ａ〜３ｌ）を配置してもよい。
【実施例５】
【００８７】
図２２は、対象物と撮影方向に関する説明図であり、実施例３に示したプレート１４０ａ上に、（１）は対象物５ａを配置した左側面図であり、（２）は対象物５ｄを配置した左側面図を示している。図２２（１）に示すように、プレート１４０ａ上に配置する対象物が対象物５ａのような円筒形状であれば、図３に示すカメラ２の撮像方向が矢印１９ｅのように、斜め上方であったとしても、対象物５ａの上面と側面の何れについても撮像が可能である。しかしながら、プレート１４０ａ上に配置する対象物が対象物５ｄのような逆円錐台状であれば、図３に示すカメラ２の撮像方向が矢印１９ｅのように、斜め上方である場合、対象物５ａの側面の撮像が困難となる場合がある。
例えば、対象物５ｄのような逆円錐台状の場合には、矢印１９ｆに示すように、側方から撮影して対象物５ｄの側面を撮影することが有益であるが、側方から撮影すると、今度はプレート１４０ａ上に設けられたＡＲマーカ（３ａ〜３ｈ）の撮像が困難となるという問題がある。【００８８】
そこで、平面のプレートではなく、Ｌ字状に加工したプレートを用いてもよい。図２３は、実施例５の学習データセット生成治具の外観図であり、（１）は正面図、（２）は左側面図を示している。図２３（１）に示すように、Ｌ字状プレート２２は、底部２２ａ、側面部２２ｂ及びＡＲマーカ（３ａ〜３ｒ）から成る。底部２２ａと側面部２２ｂは樹脂製で一体成型されている。底部２２ａにはＡＲマーカ（３ａ〜３ｈ）が設けられ、側面部２２ｂにはＡＲマーカ（３ｉ〜３ｒ）が設けられている。底部２２ａにおけるＡＲマーカ（３ａ〜３ｈ）の配置は、プレート１４０ａにおけるＡＲマーカ（３ａ〜３ｈ）と同じである。
図２３（１）及び（２）に示すように、矢印１９ｆの方向から対象物５ｄを撮影した場合には、側面部２２ｂに設けられたＡＲマーカ（３ｉ〜３ｒ）を検出することによって、対象物５ｄを認識することが可能である。また、矢印１９ｅの方向から対象物５ｄを撮影した場合には、底部２２ａに設けられたＡＲマーカ（３ａ〜３ｈ）又は側面部２２ｂに設けられたＡＲマーカ（３ｉ〜３ｒ）のいずれかを検出することにより、対象物５ｄを認識することが可能である。
このように、対象物５の形状に応じて柔軟に学習データセット生成治具を設計することが可能である。
【実施例６】
【００８９】
搬送装置と回転移動機構について図２４を参照して説明する。図２４に示すコンベア１２０は、コンベアベルト１２０ａを水平に移動させるものである。コンベア１２０は、搬送装置であり、コンベアベルト１２０ａの上に載せた物体を水平に移動する。
コンベアベルト１２０ａの上に、学習データセット生成治具であるプレート１４を載せ、ベース部１７に設けられたエリア（図示せず）をガイドとして対象物５を配置した状態で、コンベアベルト１２０ａを水平（矢印１９ｇに示す方向）に移動させ、ＡＲマーカ３を含む対象物５全体の多視点画像群を効率よく取得することができる。【００９０】
さらに、図２４に示すように、回転機構１２０ｂと直動機構１２０ｃを組合せた装置に、学習データセット生成治具のプレート１４を取付け、当該装置をコンベアベルト１２０ａの上に載せて、コンベアベルト１２０ａを水平に移動させることにより、更に効率よく多視点画像群を取得することができる。すなわち、コンベア１２０ａが矢印１９ｇに示す方向に移動しながら、回転機構１２０ｂが矢印１９ｈに示す方向に水平に回転し、さらに、直動機構１２０ｃが矢印１９ｉに示す方向に水平に移動することで、マーカを含む物体全体の多視点画像群を効率よく取得するのである。これにより、対象物５及びプレート１４をコンベアベルト１２０ａ上に一度流すだけで、あらゆる角度から撮像することが可能であり、短時間で、効率的に学習データセットを作製することができる。
なお、矢印１９ｇに示す移動方向や矢印１９ｈに示す回転方向は、逆方向であってもよく、更には、正方向と逆方向に交互に動くものであってもよい。また、矢印１９ｉに示す移動方向は往復移動であるが、片方向のみに移動するものでもよい。
【実施例７】
【００９１】
学習データセット作製方法の一部の処理をコンピュータに実行させるための学習データセット作製プログラムについて図４を参照して説明する。学習データセット作製プログラムは、１）多視点画像群に対して対象物のバウンディングボックスを設定するステップと、２）撮像画像から推定した対象物の姿勢情報と重心位置情報、物体情報及びバウンディングボックスに関する情報を、撮像画像に関連付けして、学習データセットを生成するステップをコンピュータに実行させる。
上記１）のステップでは、取得した画像に含まれるＡＲマーカを画像解析により検出し（ステップＳ１０２）、ＡＲマーカに関連付けされた物体情報を取得し（ステップＳ１０３）、ＡＲマーカの姿勢情報に基づいて、対象物の姿勢を推定し（ステップＳ１０４）、対象物の重心位置を算出し（ステップＳ１０５）、対象物を取り囲むバウンディングボックスを設定する（ステップＳ１０６）。
上記２）のステップでは、物体情報、姿勢、重心位置及び設定したバウンディングボックス情報（画像中の位置、幅、高さ）を画像に関連付けし（ステップＳ１０７）、画像内に未だ処理していないＡＲマーカが存在する場合には、未処理のＡＲマーカを同様に処理し、画像内の全てのＡＲマーカが処理済みの場合（ステップＳ１０８）には、対象物の物体情報、姿勢・重心位置情報及びバウンディングボックス情報が紐付いた１枚の画像を出力し（ステップＳ１０９）、全ての撮像画像につき処理を行う（ステップＳ１１０）。
全ての画像についての処理完了後に、撮像画像中からマーカを含むプレートを隠蔽し（ステップＳ１１１）、学習データセットを作製する。【００９２】
上記２）のステップ後に撮像画像中からマーカを含むプレートを隠蔽するステップ（ステップＳ１１１）は、図１０を参照して説明する。
まず、取得した画像から、プレート領域を検出する（ステップＳ４１）。次に、切り抜かれたプレートの形状の内、何れかのプレートを選択する（ステップＳ４２）。事前に近似した形状情報を用いて、プレート領域を抽出する（ステップＳ４３）。未処理のプレートがある場合には、未処理のプレートを選択し（ステップＳ４２）、同様の処理を行う。全てのプレートにつき処理を行った後（ステップＳ４４）、抽出した全ての領域に対してノイズ画像又は背景画像で上書きを行う（ステップＳ４５）。【００９３】
また、物体認識及び位置姿勢推定方法の一部の処理をコンピュータに実行させるための物体認識及び位置姿勢推定プログラムについて図１７を参照して説明する。物体認識及び位置姿勢推定プログラムは、ａ）新たに撮像された撮像画像から、画像認識によって物体の名称を検出して認識用バウンディングボックスを作成するステップと、ｂ）認識用バウンディングボックスを切り出した部分画像を生成し、生成した部分画像に基づき学習済みモデルを用いて、検出した物体の姿勢を推定するステップと、ｃ）認識用バウンディングボックスの重心位置、幅及び高さを取得し、学習済みモデルを用いて、検出した物体の重心位置を推定するステップをコンピュータに実行させる。
上記ａ）のステップでは、画像認識により、物体を検出し、画像座標系における位置を検出し（ステップＳ３０２）、物体情報（名称など）を取得して、認識用バウンディングボックスを設定する（ステップＳ３０３）。
上記ｂ）のステップでは、設定された認識用バウンディングボックスの内、いずれか１つを選択し（ステップＳ３０４）、撮像画像から、認識用バウンディングボックス内を切り抜き（ステップＳ３０５）、深層学習など機械学習によって得られた学習済みモデルの分類器を用いて、物体の姿勢を推定する（ステップＳ３０６）。
上記ｃ）のステップでは、認識用バウンディングボックスの幅、高さを取得し（ステップＳ３０７）、学習済みモデルの回帰器により、実空間の３次元座標における物体の重心位置を推定する（ステップＳ３０８）。
【実施例８】
【００９４】
本実施例においては、単一の視覚マーカ（以下、単一マーカ）の場合、複数の視覚マーカ（以下、複数マーカ）の場合、及び、人手による場合について、学習データセット生成時間、物体認識精度及び位置・姿勢推定精度の比較を行った。【００９５】
（学習データセット生成時間の評価結果）
下記表２は、単一マーカ、複数マーカ及び人手による場合の学習データセット生成時間の測定結果を表している。比較対象とする撮像画像としては、単一マーカの場合、複数マーカの場合及び、人手による場合のそれぞれにつき学習用として５００枚撮影した。
図２５は、実施例８の比較実験における撮影方法の説明図を示している。図２５に示すように、撮影に当たっては、データの偏りが起こらないように、画像中に縦３×横８のポイント３８を設定し、それぞれのポイント毎に４５°刻みで配置を回転させて、撮影を行った。人手によるアノテーションは２人で実施した。なお、本明細書においてアノテーションとは、撮像画像に対するバウンディングボックスの設定だけではなく、物体情報の関連付けも含めたものを指している。【００９６】
【表２】
2019189661.tif 000005
【００９７】
上記表２に示すように、単一マーカの場合の撮影時間は７５分、アノテーションにかかる時間は３２．２分、合計時間は１１２．２分であった。複数マーカの場合の撮影時間は４３６分、アノテーションにかかる時間は０分、合計時間は４３６分であった。また、人手による場合の撮影時間は８０分、アノテーションにかかる時間は８８６分、合計時間は９６６分であった。
以上より、単一マーカによる学習データセットの生成は、人手による学習データセットの生成と比較して、８８．４％の効率化に成功したといえる。また、複数マーカによる学習データセットの生成は、人手による学習データセットの生成と比較して、５４．９％の効率化に成功したといえる。【００９８】
（物体認識に関する比較実験結果）
下記表３〜５は、単一マーカの場合、複数マーカの場合及び人手による場合についての物体認識精度に関する測定結果を表している。実験条件としては、ボトルＡ、ボトルＢ、パウチＡ、パウチＢ、缶Ａ及び缶Ｂにつき、“Ｆ値”、“Precision”及び“Recall”を測定した。なお、ボトルとは、ペットボトルのことである。
ここで、“Recall”は再現率であり、実際に正であるもののうち、正であると予測されたものの割合を意味し、見つけなければいけないものをどれだけ見つけたかを数値化したものであり、最小値が０％で、１００％あるいは１００％に近いほど優れている。また、“Precision”は判定したものの正確さを表す指標であり、ＴＰ／（ＴＰ＋ＦＰ）から算術する（ＴＰ：Ｔｒｕｅ  Ｐｏｓｉｔｉｖｅ，ＦＰ：Ｆａｌｓｅ  Ｐｏｓｉｔｉｖｅ）。Precisionも、最小値が０％で、１００％に近いほど優れている。また、“Ｆ値”は、機械学習における予測結果の評価尺度の一つであり、精度と再現率の調和平均を示している。具体的には、Ｆ値は、Recallの値を“Ａ”、Precisionの値を“Ｂ”とすると、２×Ｂ×Ａ／（Ａ＋Ｂ）から算術する。Ｆ値も、最小値が０％で、１００％に近いほど優れている。【００９９】
【表３】
2019189661.tif 000006
【０１００】
【表４】
2019189661.tif 000007
【０１０１】
【表５】
2019189661.tif 000008
【０１０２】
上記表３〜５に示すように、単一マーカの場合のＦ値の平均は８７．３％、複数マーカの場合のＦ値の平均は９５．８％、人手による場合のＦ値の平均は８４．６％であり、単一マーカおよび複数マーカの両者で人手以上の認識性能となることを確認できる。
また、単一マーカと複数マーカで比較すると、表３及び４に示すように、Ｆ値、PrecisionおよびRecallにおいて、パウチＡ、パウチＢ、缶Ａ及び缶Ｂの４つの対象物体で、複数マーカの場合の方が、認識精度がより高いことを確認できる。
これに対して、ペットボトルについては単一マーカの方が、認識精度が高い。すなわち、ボトルＡについては、単一マーカの場合、Ｆ値、Precision及びRecallはいずれも１００％であり、ボトルＢについても、単一マーカの場合、Ｆ値は９８．５％、Precisionは９９％、Recallは９８％といずれも複数マーカの場合よりも認識精度は高いことが確認できる。しかしながら、複数マーカの場合も、ボトルＡについては、Ｆ値は９８％、Precisionは９９％、Recallは９７％、ボトルＢについては、Ｆ値は９３．８％、Precisionは９６．８％、Recallは９１％と、単一マーカの場合と大差なく高い数値を示している。
そのため、複数マーカによる手法が、より多品種の対象物体を高い精度で認識するための学習データセット生成冶具として有用だと考えられる。【０１０３】
（位置・姿勢推定に関する比較実験結果）
図２６は、位置・姿勢推定に関する比較実験結果を表すグラフであり、図２６（１）は、単一マーカの場合、複数マーカの場合及び人手による場合についての位置推定誤差を表すグラフである。なお、図２６では、ボトルＡ、ボトルＢ、パウチＡ、パウチＢ、缶Ａ及び缶Ｂにつき比較しており、グラフの数値は小数第二位を四捨五入して説明する。【０１０４】
図２６（１）に示すように、人手による場合の位置推定誤差は、ボトルＡが２８．０ｍｍ、ボトルＢが２７．０ｍｍ、パウチＡが２３．６ｍｍ、パウチＢが２９．４ｍｍ、缶Ａが１３．３ｍｍ、缶Ｂが１５．２ｍｍであり、単一マーカ又は複数マーカの場合のいずれの場合よりも少ないことが確認できる。
これに対して、単一マーカの場合は、ボトルＡが２８．３ｍｍ、ボトルＢが２８．４ｍｍ、パウチＡが４６．８ｍｍ、パウチＢが５１．１ｍｍ、缶Ａが２７．７ｍｍ、缶Ｂが３２．１ｍｍであり、複数マーカの場合は、ボトルＡが３３．２ｍｍ、ボトルＢが３５．１ｍｍ、パウチＡが３０．７ｍｍ、パウチＢが３９．９ｍｍ、缶Ａが１７．３ｍｍ、缶Ｂが１７．７ｍｍであった。
したがって、ボトルＡ及びボトルＢについては、単一マーカの場合、人手による場合と殆ど変わらない誤差であることが判る。また、複数マーカの場合は、ボトルＡ及びボトルＢについては、単一マーカよりもやや大きな誤差が確認されたが、その差は僅かであり、しかも、パウチＡ、パウチＢ、缶Ａ及び缶Ｂについては単一マーカの場合に比べて誤差を小さくできることが判った。【０１０５】
図２６（２）は、単一マーカの場合、複数マーカの場合及び人手による場合についての姿勢推定の正答率を表すグラフである。位置推定と同様に、ボトルＡ、ボトルＢ、パウチＡ、パウチＢ、缶Ａ及び缶Ｂにつき比較している。
図２６（２）に示すように、人手による場合の姿勢推定の正答率は、ボトルＡが７３．４％、ボトルＢが３７．４％、パウチＡが８６．１％、パウチＢが８９．９％、缶Ａが７１．９％、缶Ｂが７９．１％であり、単一マーカ又は複数マーカの場合のいずれの場合よりも少なかった。
また、単一マーカの場合の姿勢推定の正答率は、ボトルＡが２４．０％、ボトルＢが１４．３％、パウチＡが２０．５％、パウチＢが１４．８％、缶Ａが１５．５％、缶Ｂが１６．２％であった。
これに対して、複数マーカの場合の姿勢推定の正答率は、ボトルＡが４８．５％、ボトルＢが１９．８％、パウチＡが６９．３％、パウチＢが７７．５％、缶Ａが６７．４％、缶Ｂが７６．５％であり、ボトルＡ、ボトルＢ、パウチＡ、パウチＢ、缶Ａ及び缶Ｂのいずれについても単一マーカの場合よりも高い正答率が得られることが判った。【０１０６】
（実験結果のまとめ）
以上より、単一マーカを用いた場合は、８８．４％のデータ収集時間の効率化が図られ、物体認識においては、十分な性能が得られることが判った。これに対して、複数マーカを用いた場合には、５４．９％のデータ収集時間の効率化が図られ、物体認識だけではなく、位置・姿勢推定においても、十分な性能が得られることが判った。
【実施例９】
【０１０７】
（単一マーカにおける隠蔽処理の効果について）
本実施例においては、人手による場合、自動収集において単一マーカを背景画像の上書きで隠蔽処理を行った場合及び自動収集において単一マーカをノイズ画像の上書きで隠蔽処理を行った場合について、物体認識精度の比較を行った。対象物体としては、実施例８と同じくボトルＡ、ボトルＢ、パウチＡ、パウチＢ、缶Ａ及び缶Ｂにつき比較を行った。
下記表６は、人手による場合、背景とする隠蔽処理を行った場合、及びノイズとする隠蔽処理を行った場合の物体認識精度に関するＦ値の比較結果を示している。【０１０８】
【表６】
2019189661.tif 000009
【０１０９】
上記表６に示すように、ボトルＡについては、人手による場合のＦ値は９９％であるのに対して、背景とする隠蔽処理を行った場合は９７．１％と人手による場合より低く、逆にノイズとする隠蔽処理を行った場合にはＦ値が１００％と人手による場合より高い認識率が得られた。
ボトルＢについては、人手による場合のＦ値は９８．５％であるのに対して、背景とする隠蔽処理を行った場合は９８％と人手による場合より低く、ノイズとする隠蔽処理を行った場合は９８．５％と人手による場合と同等の認識率が得られた。
これに対して、パウチＡについては、人手による場合のＦ値は７１．９％であったが、背景とする隠蔽処理を行った場合は８１．８％、ノイズとする隠蔽処理を行った場合は７８．９％となり、いずれも人手による場合より高い認識率が得られた。【０１１０】
パウチＢについても、人手による場合のＦ値は７９．８％であったが、背景とする隠蔽処理を行った場合は８５．９％、ノイズとする隠蔽処理を行った場合は８３．１％となり、いずれも人手による場合より高い認識率が得られた。
缶Ａについては、人手による場合のＦ値は８１．８％であるのに対して、背景とする隠蔽処理を行った場合は５１．９％と人手による場合より低く、逆にノイズとする隠蔽処理を行った場合にはＦ値が８２．１％と人手による場合より高い認識率が得られた。
缶Ｂについては、人手による場合のＦ値は７６．８％であるのに対して、背景とする隠蔽処理を行った場合は５５．３％と人手による場合より低く、逆にノイズとする隠蔽処理を行った場合にはＦ値が８１％と人手による場合より高い認識率が得られた。【０１１１】
以上より、単一マーカにおいて背景と同色とする隠蔽処理を行った場合には、パウチＡ及びパウチＢについてのみ、人手による場合より高い認識率が得られたが、単一マーカにおいてノイズとする隠蔽処理を行った場合には、ボトルＡ、ボトルＢ、パウチＡ、パウチＢ、缶Ａ及び缶Ｂの全てにおいて、人手による場合と同等以上の認識率が得られた。したがって、単一マーカにおいてノイズとする隠蔽処理を行った場合には、幅広い種類の物体について認識率が向上することが分かった。
【産業上の利用可能性】
【０１１２】
本発明は、産業用ロボットによる工場の自動化システムとして有用である。すなわち、本発明の学習データセット作製方法により作製した学習データセットを用いて機械学習を行った産業用ロボット、本発明の物体認識及び位置姿勢推定方法を用いた産業用ロボット、或は、本発明の物体認識及び位置姿勢推定プログラムが搭載された産業用ロボットは、食品業界や物流業界における仕分け作業や加工作業などの工場の自動化システムに利用可能である。また、建物等における防犯システムにも利用可能である。
【符号の説明】
【０１１３】
１  ロボット制御システム
２  カメラ
３，３ａ〜３ｒ  ＡＲマーカ
４，４０，４１  コンピュータ
５，５ａ〜５ｅ  対象物
６ａ〜６ｃ  バウンディングボックス
７ａ〜７ｆ，７０  画像
８，８０，８１  データベース
９  モデル生成コンピュータ
９ａ  分類器
９ｂ  回帰器
１０  学習データセット生成手段
１１  物体認識及び位置姿勢推定手段
１２  ベルトコンベア
１３  ロボット
１３ａ  ロボットアーム
１４，１４ａ〜１４ｃ，１４０ａ〜１４０ｄ  プレート
１５ａ〜１５ｃ  隠蔽部
１６ａ〜１６ｆ  認識用バウンディングボックス
１７，１７０，１７１  ベース部
１８，１８０，１８１  エリア
１８ａ  位置調整用ガイド
１８ｂ  向き調整用ガイド
１９ａ〜１９ｉ  矢印
２０，２１  撮像手段
２２  Ｌ字状プレート
２２ａ  底部
２２ｂ  側面部
３０  学習データセット生成治具
３３  基準マーカ（ＡＲマーカ）
３６  台座部
３７  支柱
３８  ポイント
３９ａ  円筒形状
３９ｂ  円錐台形状
４０ａ  ＡＲマーカ認識手段
４０ｂ  対象物認識手段
４０ｃ  バウンディングボックス設定手段
４０ｄ  姿勢推定手段
４０ｅ  重心位置推定手段
４０ｆ  バウンディングボックス割付手段
４０ｇ  学習データセット生成治具領域隠蔽手段
４０ｈ  検出手段
４０ｉ  抽出手段
４０ｊ  隠蔽手段
４１ａ  物体認識手段
４１ｂ  認識用バウンディングボックス設定手段
４１ｃ  学習済みモデル
１２０  コンベア
１２０ａ  コンベアベルト
１２０ｂ  回転機構
１２０ｃ  直動機構
Ｃ  角部
Ｐ  中心点
【図１】
2019189661.tif 000010
【図２】
2019189661.tif 000011
【図３】
2019189661.tif 000012
【図４】
2019189661.tif 000013
【図５】
2019189661.tif 000014
【図６】
2019189661.tif 000015
【図７】
2019189661.tif 000016
【図８】
2019189661.tif 000017
【図９】
2019189661.tif 000018
【図１０】
2019189661.tif 000019
【図１１】
2019189661.tif 000020
【図１２】
2019189661.tif 000021
【図１３】
2019189661.tif 000022
【図１４】
2019189661.tif 000023
【図１５】
2019189661.tif 000024
【図１６】
2019189661.tif 000025
【図１７】
2019189661.tif 000026
【図１８】
2019189661.tif 000027
【図１９】
2019189661.tif 000028
【図２０】
2019189661.tif 000029
【図２１】
2019189661.tif 000030
【図２２】
2019189661.tif 000031
【図２３】
2019189661.tif 000032
【図２４】
2019189661.tif 000033
【図２５】
2019189661.tif 000034
【図２６】
2019189661.tif 000035
【図２７】
2019189661.tif 000036
【国際調査報告】
2019189661.tif 000037
2019189661.tif 000038
2019189661.tif 000039
2019189661.tif 000040