(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-02
(45)【発行日】2022-06-10
(54)【発明の名称】学習データセット作製方法及び装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20220603BHJP
G06T 7/70 20170101ALI20220603BHJP
B25J 13/08 20060101ALI20220603BHJP
【FI】
G06T7/00 350B
G06T7/70 Z
B25J13/08 A
(21)【出願番号】P 2020511033
(86)(22)【出願日】2019-03-28
(86)【国際出願番号】 JP2019013793
(87)【国際公開番号】W WO2019189661
(87)【国際公開日】2019-10-03
【審査請求日】2020-10-07
(31)【優先権主張番号】P 2018066282
(32)【優先日】2018-03-29
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】504143441
【氏名又は名称】国立大学法人 奈良先端科学技術大学院大学
(74)【代理人】
【識別番号】110000822
【氏名又は名称】特許業務法人グローバル知財
(72)【発明者】
【氏名】友近 圭汰
(72)【発明者】
【氏名】清川 拓哉
(72)【発明者】
【氏名】小笠原 司
(72)【発明者】
【氏名】高松 淳
(72)【発明者】
【氏名】丁 明
【審査官】佐藤 実
(56)【参考文献】
【文献】特開2017-102838(JP,A)
【文献】特開2014-096661(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06T 7/70
B25J 13/08
(57)【特許請求の範囲】
【請求項1】
視覚マーカに対象物の物体情報を関連付けし、
対象物の配置位置のガイドとなるエリアが設けられたベース部と、該ベース部の上に固定された前記視覚マーカとから構成される学習データセット生成治具を用いて、前記エリアをガイドとして対象物を配置した状態で、前記視覚マーカを含む物体全体の画像群を取得し、
取得した前記画像群から、前記視覚マーカに関連付けされた前記物体情報を取得し、
前記画像群から前記視覚マーカ又は前記学習データセット生成治具に該当する領域の隠蔽処理を行うことにより再構成された画像群を生成し、
撮像画像における前記視覚マーカの位置情報及び姿勢情報と、前記視覚マーカと対象物との相対的な位置情報及び姿勢情報とに基づいて推定した撮像画像中における対象物の位置情報及び姿勢情報と、取得した前記物体情報
における対象物の大きさを基に、前記再構成された画像群に対して対象物のバウンディングボックスを設定し、
撮像画像から推定した
撮像画像中における対象物の姿勢情報と位置情報、前記物体情報及び前記バウンディングボックスに関する情報を、前記撮像画像に関連付けして、対象物の物体認識及び位置姿勢推定を行うための学習データセットを生成することを特徴とする学習データセット作製方法。
【請求項2】
前記視覚マーカは前記対象物と予め定められた位置関係において前記ベース部に複数固定されることを特徴とする請求項1に記載の学習データセット作製方法。
【請求項3】
前記隠蔽処理は、
前記画像群から、前記学習データセット生成冶具に該当する領域を検出する検出ステップと、
前記検出ステップにより抽出された対象物の写り込みが含まれる領域から物体領域を検出することにより、前記学習データセット生成冶具に該当する領域のみを抽出する抽出ステップと、
前記抽出ステップにより抽出された領域における前記画像群に対して、背景画像又はノイズ画像として上書き処理を行う上書きステップ、
を備えることを特徴とする請求項1又は2に記載の学習データセット作製方法。
【請求項4】
前記抽出ステップは、事前に近似した形状情報を用いて、前記物体領域を検出することを特徴とする請求項3に記載の学習データセット作製方法。
【請求項5】
前記抽出ステップは、事前に学習させた学習モデルを用いて、前記物体領域を検出することを特徴とする請求項3に記載の学習データセット作製方法。
【請求項6】
前記ベース部は、円形状、楕円形状若しくは矩形状のプレートであることを特徴とする請求項1~5の何れかに記載の学習データセット作製方法。
【請求項7】
前記ベース部が円形状である場合には、前記視覚マーカは、前記エリアを囲むように、前記エリアの中心方向を基準方向として配置されたことを特徴とする請求項1~6の何れかに記載の学習データセット作製方法。
【請求項8】
前記ベース部は、前記プレートを、面の挟角が10~90°であるL字状に屈曲させたことを特徴とする請求項6に記載の学習データセット作製方法。
【請求項9】
前記バウンディングボックスは、前記エリアを基準位置とする3次元バウンディングボックスであることを特徴とする請求項1~8の何れかに記載の学習データセット作製方法。
【請求項10】
前記視覚マーカは、AR(Augmented Reality)マーカを含む2次元パターンマーカ、又は、3次元マーカであることを特徴とする請求項1~9の何れかに記載の学習データセット作製方法。
【請求項11】
前記エリアには、前記学習データセット生成治具の識別IDが表示されたことを特徴とする請求項1~10の何れかに記載の学習データセット作製方法。
【請求項12】
前記エリアには、対象物の向きを調整するための向き調整ガイドが設けられたことを特徴とする請求項1~11の何れかに記載の学習データセット作製方法。
【請求項13】
前記位置情報は、前記エリアをガイドとして配置された対象物の位置と、予め定義した基準座標系における基準姿勢の位置との差分情報であることを特徴とする請求項1~12の何れかに記載の学習データセット作製方法。
【請求項14】
前記姿勢情報は、前記視覚マーカの撮像画像と、前記視覚マーカと対象物との相対位置関係を用いて算出した情報であり、前記エリアをガイドとして配置された対象物の姿勢と、予め定義した基準座標系における基準姿勢との差分情報であることを特徴とする請求項1~13の何れかに記載の学習データセット作製方法。
【請求項15】
前記画像群は、対象物を前記学習データセット生成治具に配置して搬送手段により搬送しながら撮像、対象物を前記学習データセット生成治具に配置して回転手段により回転させながら撮像、及び、対象物を前記学習データセット生成治具に配置して移動手段により移動させながら撮像の少なくとも何れかにより取得されたことを特徴とする請求項1~14の何れかに記載の学習データセット作製方法。
【請求項16】
請求項1~15の何れかの作製方法に用いる前記学習データセット生成治具。
【請求項17】
請求項
1~15の何れかの作製方法により作製した学習データセットを用いて機械学習を行い、学習済みモデルを取得し、
新たに撮像された撮像画像から、画像認識によって物体の名称を検出して認識用バウンディングボックスを作成し、
前記認識用バウンディングボックスを切り出した部分画像を生成し、前記学習済みモデルを用いて、生成した部分画像に基づき検出した物体の姿勢を推定し、
前記認識用バウンディングボックスの位置、幅及び高さを取得し、前記学習済みモデルを用いて、検出した物体に関する実空間の3次元座標における位置を推定することを特徴とする物体認識及び位置姿勢推定方法。
【請求項18】
前記認識用バウンディングボックスは、2次元バウンディングボックス又は3次元バウンディングボックスであることを特徴とする請求項
17に記載の物体認識及び位置姿勢推定方法。
【請求項19】
前記学習済みモデルは、物体の姿勢もしくは位置を推定するための分類器又は回帰器の少なくとも何れかが含まれることを特徴とする請求項
17又は
18に記載の物体認識及び位置姿勢推定方法。
【請求項20】
前記撮像画像は、複数の物体が撮像された画像であり、
検出した各物体に対して、各々認識用バウンディングボックスを作成し、
検出した全ての物体の名称、並びに、推定した姿勢及び位置を実空間の3次元座標として算出することを特徴とする請求項
17~
19の何れかに記載の物体認識及び位置姿勢推定方法。
【請求項21】
前記撮像画像は、前記学習データセットの作製環境と同一又は近似した環境下で撮像された画像であることを特徴とする請求項
17~
20の何れかに記載の物体認識及び位置姿勢推定方法。
【請求項22】
視覚マーカに対象物の物体情報を関連付けするステップ、
対象物の配置位置のガイドとなるエリアが設けられたベース部と、該ベース部の上に固定された前記視覚マーカとから構成される学習データセット生成治具を用いて、前記エリアをガイドとして対象物を配置した状態で、前記視覚マーカを含む物体全体の画像群を取得するステップ、
取得した前記画像群から、前記視覚マーカに関連付けされた前記物体情報を取得するステップ、
前記画像群から前記視覚マーカ又は前記学習データセット生成治具に該当する領域の隠蔽処理を行うことにより再構成された画像群を生成するステップ、
撮像画像における前記視覚マーカの位置情報及び姿勢情報と、前記視覚マーカと対象物との相対的な位置情報及び姿勢情報とに基づいて推定した撮像画像中における対象物の位置情報及び姿勢情報と、取得した前記物体情報における対象物の大きさを基に、前記再構成された画像群に対して対象物の
バウンディングボックスを設定するステップ、
撮像画像から推定した
撮像画像中における対象物の姿勢情報と位置情報、前記物体情報及び前記バウンディングボックスに関する情報を、前記撮像画像に関連付けして、
学習データセットを生成するステップ、
をコンピュータに実行させるための学習データセット作製プログラム。
【請求項23】
新たに撮像された撮像画像から、画像認識によって物体の名称を検出して認識用バウンディングボックスを作成するステップ、
前記認識用バウンディングボックスを切り出した部分画像を生成し、生成した部分画像に基づき、
請求項1の学習データセット作製方法により作製した学習データセットを用いて機械学習を行った学習済みモデルを用いて、検出した物体の姿勢を推定するステップ、
前記認識用バウンディングボックスの位置、幅及び高さを取得し、前記学習済みモデルを用いて、検出した物体に関して実空間の3次元座標における位置を推定するステップ、
をコンピュータに実行させるための物体認識及び位置姿勢推定プログラム。
【請求項24】
対象物の配置位置のガイドとなるエリアが設けられたベース部と、該ベース部の上に固定され、対象物の物体情報が関連付けされる視覚マーカとから構成される学習データセット生成治具、
前記エリアをガイドとして対象物を配置した状態で、前記視覚マーカを含む物体全体の画像群を取得する撮像手段、
取得した前記画像群から、前記視覚マーカに関連付けされた前記物体情報を取得する手段、
前記画像群から前記視覚マーカ又は前記学習データセット生成治具に該当する領域の隠蔽処理を行うことにより再構成された画像群を生成する手段、
撮像画像における前記視覚マーカの位置情報及び姿勢情報と、前記視覚マーカと対象物との相対的な位置情報及び姿勢情報とに基づいて推定した撮像画像中における対象物の位置情報及び姿勢情報と、取得した前記物体情報における対象物の大きさを基に、取得した画像群に対して対象物のバウンディングボックスを設定する手段、
撮像画像から推定した
撮像画像中における対象物の姿勢情報と位置情報、前記物体情報及び前記バウンディングボックスに関する情報を、前記撮像画像に関連付けして、学習データセットを生成する手段、
を備えたことを特徴とする学習データセット作製装置。
【請求項25】
前記視覚マーカは前記対象物と予め定められた位置関係において前記ベース部に複数固定されることを特徴とする請求項
24に記載の学習データセット作製装置。
【請求項26】
請求項1~15の何れかの作製方法により作製した前記学習データセットを用いて機械学習を行った産業用ロボットによる工場の自動化システム。
【請求項27】
請求項
17~
21の何れかの物体認識及び位置姿勢推定方法を用いた産業用ロボットによる工場の自動化システム。
【請求項28】
請求項
23に記載の物体認識及び位置姿勢推定プログラムが搭載された産業用ロボットによる工場の自動化システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は機械学習による物体認識と位置姿勢推定における、学習データセット生成の自動化方法に関するものである。
【背景技術】
【0002】
従来から、工場等での作業を自動化するものとして、人工知能(Artificial Intelligence、以下“AI”とする。)を搭載したロボットが利用されている。近年、機械学習やディープラーニング(深層学習)の発展により、工場等における生産システムにおいても、工場等の完全自動化に向けた取り組みとして、機械学習等を利用したAIの開発が急速に行われている。
ロボットによる作業の自動化は、あらゆる業界にニーズが存在するが、中でも、食品業界や物流業界は今後の成長が期待される分野であり、ロボットによる作業の自動化のニーズは高く存在する。
しかしながら、食品業界や物流業界において扱う製品は、柔軟なものが多く、取り扱いの際に複雑に形状が変化してしまうため、ロボットに備えられたロボットハンドでのハンドリングが難しいという問題がある。また、食品業界や物流業界において扱う商品は、かつては種類が少なく、少品種多量生産が中心であったが、今日ではそれだけではなく多品種少量生産や変種変量生産が求められるようになっているところ、多品種の商品の認識を正確かつ迅速に行うことが難しいという問題もある。すなわち、多品種な商品を短時間で認識して、詰め合わせギフトや不良品の除去作業などのような仕分け作業を正確に行うことが求められるのである。
これらの事情から、食品業界や物流業界においては、未だにロボットによる工場の自動化が十分に進んでいないのが現実である。
【0003】
これまでは、商品についての学習データを収集するためには、対象となる物体の画像を撮影し、得られた撮像画像から人の手で対象物を特定し、バウンディングボックスを描画するといったことが行われてきた。また対象物の位置姿勢のデータ入力も人の手で行われてきた。
そこで、物体にマーカを付けて撮影することで、人の手で行われてきた作業を自動化する方法が考えられる。
しかしながら、物体にマーカを付けて撮影する方法では、対象となる物体とマーカの位置関係やマーカの数について十分な検討がなされてこなかったため、対象となる物体やバウンディングボックスの中にマーカが写り込み、或は、対象となる物体によってマーカが隠れてしまうといった問題があった。
すなわち、対象となる物体やバウンディングボックスの中にマーカが写り込むと、質の高い学習データとならないだけではなく、マーカを物体の特徴として学習してしまう恐れもある。また、対象となる物体によってマーカが隠れてしまうと、物体認識の精度が低下するという問題がある。
【0004】
物体認識技術については、車両周囲の物体認識技術に於いて、学習データを自動的に収集するデータベース構築システムが知られている(特許文献1を参照)。これは、センサの検出結果を教師データとして別のセンサの出力から物体の認識を実行するための機械学習の教師あり学習データを自動的に収集するものである。
しかしながら、上記特許文献1に開示されたデータベース構築システムは、複数の種類のセンサを用いて物体認識を行う技術であり、検出可能な学習済みのセンサが必要である。
【0005】
また、撮影条件が未知の画像から画像認識のための機械学習に用いる訓練画像を生成することができる画像生成方法が知られている(特許文献2を参照)。これは、画像認識のための訓練画像を生成するため所持する2枚の画像から3枚目の新しい訓練画像を生成するものである。
しかしながら、上記特許文献2に開示された画像生成方法では、実環境とは異なる画像が生成されるため、質の高い学習データセットが作製できないという問題がある。
【0006】
また、物体の位置姿勢推定をRGBカメラで行うが、物体の3Dモデルを利用した方法が知られている(非特許文献1を参照)。しかしながら、上記非特許文献1に開示された方法では、事前に必ず物体の3Dモデルが必要であり、実環境とは異なる学習画像が生成されるため、やはり質の高い学習データセットが作製できないという問題がある。
【0007】
マーカが撮像画像中に写り込み、マーカを物体の特徴として学習してしまうという問題については、マーカを撮像画像中から隠蔽する方法が考えられる。
この点、動画撮影中において、実際に撮影されている風景はそのままで、隠蔽したい動体オブジェクトをリアルタイムに隠消する技法が知られている(特許文献3を参照)。これは、動画中の動体オブジェクトを検知し、移動方向及び速度を算出して、算出された移動方向及び速度で動体オブジェクトが移動した場合の背景画像を投機的に取得するものである。投機的に取得された背景画像は、動体オブジェクトをリアルタイムで隠消するために使用される。
しかしながら、上記特許文献3に開示された動体でなければ隠消できないという問題がある。
【先行技術文献】
【特許文献】
【0008】
【文献】特開2017-102838号公報
【文献】特開2017-45441号公報
【文献】特開2014-96661号公報
【非特許文献】
【0009】
【文献】Wadim Kehl et al.,“SSD-6D: Making RGB-Based 3D Detection and 6D Pose Estimation Great Again”, ICCV 2017, pp.1521-1529
【発明の概要】
【発明が解決しようとする課題】
【0010】
かかる状況に鑑みて、本発明は、工場の自動化システムに用いるロボット制御に向け、複数の物体を対象として、複数のセンサ及び物体の3Dモデルを必要とせず、実環境の撮影画像を用いて、機械学習に用いる学習データセットを効率的に作製できる方法、並びに、視覚マーカ群の隠蔽方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決すべく、本発明の学習データセット作製方法は、視覚マーカに対象物の物体情報を関連付けし、対象物の配置位置のガイドとなるエリアが設けられたベース部と、該ベース部の上に固定されたマーカとから構成される学習データセット生成治具を用いて、エリアをガイドとして対象物を配置した状態で、マーカを含む物体全体の画像群を取得する。そして、取得した画像群から、視覚マーカに関連付けされた物体情報を取得し、画像群から視覚マーカ又は学習データセット生成治具に該当する領域の隠蔽処理を行うことにより再構成された画像群を生成し、取得した物体情報を基に、再構成された画像群に対して対象物のバウンディングボックスを設定する。そして、撮像画像から推定した対象物の姿勢情報と位置情報、物体情報及びバウンディングボックスに関する情報を、撮像画像に関連付けして、対象物の物体認識及び位置姿勢推定を行うための学習データセットを生成する。
【0012】
ここで、視覚マーカとは、ロボットの自律作業において高精度に姿勢や位置を測れるマーカをいう。視覚マーカを用いることにより、撮像画像から、対象物の物体情報だけではなく、姿勢情報と位置情報を同時に取得することが可能となり、学習データセットの生成を効率良く行うことができる。
視覚マーカが、ベース部の上であり、かつ、エリアの周囲に設けられることにより、対象物が視覚マーカによって隠れてしまうことを防止することができる。視覚マーカは対象物と予め定められた位置関係においてベース部に複数固定されることが好ましい。複数の視覚マーカが設けられることにより、例えば、撮影する角度により、ある視覚マーカが物体に隠れてしまったとしても、その他の視覚マーカを検出することで、物体を認識することが可能である。また、2つ以上の視覚マーカが同時に検出されることで、より精度の高い物体認識が可能となる。
画像群の取得方法としては、対象物を移動等させながら1台のカメラにより撮影し取得したものでもよいし、複数台のカメラを用いて取得したものでもよい。いずれにしても、対象物を異なる角度から撮影した大量の撮像画像を収集することで、機械学習のための学習データとして用いることが可能である。
【0013】
学習データセットの生成に用いる撮像画像自体には、後述する学習データセット生成治具領域の隠蔽処理以外の加工は行われないため、学習済みモデルを利用する実際の環境で得られる撮像画像に近い撮像画像を用いて、機械学習を行うことができる。そのため、物体認識と位置・姿勢推定の精度を向上させることができる。
なお、対象物の物体情報とは、対象物の名称、サイズといった基本情報のことであり、学習データセットの生成に当たって、予めコンピュータにこれらの情報が記憶されている。
また、バウンディングボックスとは、画像等において、対象物が収まるように取り囲まれた表示領域であり、矩形などの領域をいう。取得した画像群に対して対象物のバウンディングボックスを設定する際は、バウンディングボックスが対象物全体を可能な限り確実に囲うようにするために、物体の位置情報として、物体の重心位置を取得して設定する。
【0014】
本発明の学習データセット作製方法は、学習データセットに対して、画像群から学習データセット生成治具に該当する領域の隠蔽処理を行うことが好ましく、隠蔽処理は下記1)~3)のステップを備える。
1)画像群から、学習データセット生成冶具に該当する領域を検出する(検出ステップ)。
2)検出ステップにより抽出された対象物の写り込みが含まれる領域から物体領域を検出することにより、学習データセット生成冶具に該当する領域のみを抽出する(抽出ステップ)。
3)抽出ステップにより抽出された領域における画像群に対して、背景画像又はノイズ画像として上書き処理を行う(上書きステップ)。
ここで、上記の隠蔽処理における抽出ステップは、事前に近似した形状情報を用いて、物体領域を検出することでもよいし、事前に学習させた学習モデルを用いて、物体領域を検出することでもよい。
【0015】
学習データセット生成治具に該当する領域の隠蔽がなされることにより、機械学習において、コンピュータが学習データセット生成治具を構成するベース部や視覚マーカを対象物の一部として認識してしまうことを防止できる。
上書きステップにおいては、抽出ステップにより抽出された領域における画像群に対して、ノイズ画像として上書き処理を行うことが好ましい。ノイズ画像として上書き処理を行うことにより、幅広い種類の物体に対して認識率を向上させることができる。
【0016】
本発明の学習データセット作製方法において、ベース部は、円形状、楕円形状若しくは矩形状のプレートであることが好ましいが、プレートを屈曲して延設したL字状を呈することでもよい。例えば、円形状のプレートであれば、プレートを回転させて撮影し直すことで、容易に多視点画像を取得することができるからである。
【0017】
本発明の学習データセット作製方法において、ベース部が円形状である場合には、視覚マーカは、エリアの中心点を上方向として、エリアを取り囲むように配置されたことが好ましい。エリアは対象物を配置する際のガイドの役割を有していることから、エリアの中心に対象物が配置されることが多く、中心点が上方向となるように各々の視覚マーカを配置することにより、様々な角度から対象物を撮影した場合でも視覚マーカを検出しやすい構成とできる。したがって、エリアの中心に、中心点である旨のガイドを更に設けてもよい。
【0018】
本発明の学習データセット作製方法において、バウンディングボックスは、2次元バウンディングボックス又は3次元バウンディングボックスであることが好ましい。例えば、3つの視覚マーカが設けられた場合において、複数のマーカが同時に検出されることで、より精度の高い物体認識が可能となるだけでなく、物体の位置姿勢の推定精度も向上するため、物体が収まりのよい3次元のバウンディングボックスを設定することが可能となる。
【0019】
本発明の学習データセット作製方法に用いる視覚マーカは、AR(Augmented Reality:拡張現実)マーカを含む2次元パターンマーカや3次元マーカを用いることができる。ARマーカとは、拡張現実システムにおいて、付加情報を表示する位置を指定するための標識となるパターン画像をいう。また、3次元マーカとは、例えば、光学式モーションキャプチャシステムで用いられる球形状のマーカを用いることができる。これらの球形状のマーカで位置及び姿勢を検出する場合には、学習データセット生成治具のベース部の上に、3個以上の球形状のマーカを固定する。
【0020】
本発明の学習データセット作製方法におけるエリアには、学習データセット生成治具の識別IDが表示されたことでもよい。
エリアに、学習データセット生成治具の識別IDが表示されることにより、学習データセット生成治具の管理が容易となる。識別IDの表示は、取得画像における写り込みを防止するため、対象物を配置した際に隠れやすいエリアの中央部に設けられることが好ましい。
【0021】
本発明の学習データセット作製方法では、エリアには、対象物の向きを調整するための向き調整ガイドが設けられたことでもよい。向き調整ガイドが設けられることにより、データベース上における物体情報の管理が容易となり、利便性が向上する。
【0022】
本発明の学習データセット作製方法における位置情報は、対象物の任意のポイントの位置情報を用いることができる。任意のポイントに関して、対象物の基準姿勢における当該ポイントの位置情報を予め登録しておく。その場合、位置情報は、エリアをガイドとして配置された対象物の該ポイントの位置と、基準座標系における基準姿勢の該ポイント位置との差分情報である。
また、本発明の学習データセット作製方法における位置情報が重心位置情報である場合、重心位置情報は、ベース部をガイドとして配置された対象物の重心位置と、基準座標系における基準姿勢の重心位置との差分情報である。
ここで、基準座標系の替わりに、カメラ座標系を用いて、対象物の姿勢情報及び位置情報を表すことも可能である。例えば、1台の固定カメラで撮像する場合、そのカメラのカメラ座標系での3次元座標で、対象物の姿勢情報と位置情報を表す。そして、カメラ座標系の3次元座標から、実空間の3次元座標に変換し、ロボットに実空間の3次元座標を伝達することにより、ロボットに物体を正確に捉えさせることができる。
【0023】
本発明の学習データセット作製方法における姿勢情報は、具体的には、視覚マーカの撮像画像と、視覚マーカと対象物との相対位置関係を用いて算出した情報であり、エリアをガイドとして配置された対象物の姿勢と、予め定義した基準座標系における基準姿勢との差分情報である。視覚マーカの撮像画像と、視覚マーカと対象物との相対位置関係を用いて、対象物の姿勢を推定することにより、精度の高い姿勢推定が可能となる。
基準座標系は、例えば、予め学習データセット生成冶具に取り付けた視覚マーカを基準マーカとして利用して、基準としたい位置及び姿勢に配置することにより定義することができる。そのようにすることで、基準マーカの基準位置及び基準姿勢に関するデータをデータベースとして記憶し、学習データセット作製段階に、実空間の基準座標系を用いて、その基準座標系における位置と姿勢の差分を、位置と姿勢の情報として画像に紐づけることができる。
基準座標系を示す基準マーカが撮像画像内に無い場合であっても、撮像画像から基準座標系を認識することは可能である。例えば、カメラが単一で固定されている場合には、ズームする前の撮像画像内で基準マーカにより基準座標系が設定できていれば、ズームを行い見えなくなった場合でもズーム倍率がわかる限り、撮像画像外の基準マーカの位置と姿勢を計算することが可能である。
【0024】
一方、複数台のカメラが固定されている場合には、それぞれのカメラ間の位置関係が予め分かっていれば、基準座標系を示す基準マーカが撮像画像内に無い場合であっても、撮像画像外の基準マーカの位置と姿勢を計算することが可能である。また、1台のカメラでしか見えない位置に基準マーカを配置した場合でも、見えているカメラと見えていないカメラで同時に撮像可能な場所に、仮の基準マーカを配置した状態で撮像した映像を用いて、基準座標系を算出することが可能である。さらに、カメラが動的に動く場合についても、最初に基準座標系を撮影したときのカメラの位置と移動先のカメラとの間の位置関係が分かってさえいれば、計算により基準座標系を算出できる。
【0025】
本発明の学習データセット作製方法において取得される画像群は、対象物を学習データセット生成治具に配置して搬送手段により搬送しながら撮像して取得されてもよく、また、対象物を学習データセット生成治具に配置して回転手段により回転させながら撮像取得されてもよく、さらに、対象物を学習データセット生成治具に配置して移動手段により移動させながら撮像取得されてもよい。これらの撮像取得のやり方により、容易に多視点画像群を取得することができる。これらの撮像取得のやり方は、何れかを組合せて用いることも可能である。搬送手段や回転手段や移動手段が用いられることにより、撮像手段として用いるカメラが1台であっても、多視点画像群を簡便に取得でき、学習データセット生成作業の利便性、時間短縮を行うことができる。
【0026】
ここで、搬送手段とは、搬送路をレーンとして対象物を搬送するものであり、具体的には、対象物を学習データセット生成治具に配置した状態で、搬送ベルトで搬送するベルトコンベアが好適に用いられる。また、回転手段として、例えば、対象物を学習データセット生成治具に配置した状態で、水平面で回動可能な回転機構が用いられる。また、移動手段として、例えば、対象物を学習データセット生成治具に配置した状態で、学習データセット生成治具が水平の直線レール上を移動可能な直動機構が用いられる。さらには、回転機構と直動機構を組合せ、回転しながら移動できる回転移動機構も使用することができる。これらの回転機構、直動機構や回転移動機構を、ベルトコンベアに載せて、カメラ1台で多視点画像群を取得することができる。
【0027】
また、多視点画像群を取得するという意味では、対象物に自動又は手動で変形を加える手段が設けられていてもよい。変形を加える手段が設けられることにより、より幅広い画像群を取得することが可能となる。変形が有効であると思われる物体としては、変形物体、例えばパウチのようなものが対象となる。したがって、このような物体を変形させる手段としては、例えば、ロボットアームとハンドを用いて自動で変形させる方法、人により手動で変形させる方法、姿勢を変形させる台座を用意しこれを用いて変形させる方法が用いられる。
【0028】
本発明の学習データセットは、本発明の学習データセット作製方法により作製したものである。また、本発明の学習データセット生成治具は、本発明の学習データセット作製方法に用いられるものであり、上述の如く、対象物の配置位置のガイドとなるエリアと、ベース部の上に固定される視覚マーカとから構成され、視覚マーカには、対象物の物体名称などの物体情報が関連付けされる。
【0029】
本発明の物体認識及び位置姿勢推定方法では、本発明の学習データセット作製方法により作製した学習データセットを用いて機械学習を行い、学習済みモデルを取得し、新たに撮像された撮像画像から、画像認識によって物体を検出して認識用バウンディングボックスを作成する。そして、認識用バウンディングボックスを切り出した部分画像を生成し、学習済みモデルを用いて、生成した部分画像に基づき検出した物体の情報(例えば、物体名称等)及び姿勢を推定する。また、認識用バウンディングボックスの位置、幅及び高さを取得し、学習済みモデルを用いて、検出した物体に関して実空間の3次元座標における位置を推定する。
なお、検出した物体全体を取り囲む認識用バウンディングボックスの位置は、取り囲んだバウンディングボックスの重心位置でもよい。また、検出した物体に関する実空間の3次元座標における位置は、物体の重心位置でもよい。
【0030】
本発明の物体認識及び位置姿勢推定方法において、認識用バウンディングボックスは、2次元バウンディングボックスでもよいし、3次元バウンディングボックスでもよい。
【0031】
本発明の物体認識及び位置姿勢推定方法において、学習済みモデルは、具体的には、物体の姿勢もしくは位置を推定するための分類器又は回帰器の少なくとも何れかが含まれる。推定する位置は、物体の重心位置であってもよい。
【0032】
本発明の物体認識及び位置姿勢推定方法では、撮像画像は、複数の物体が撮像された画像であり、検出した各物体に対して、各々認識用バウンディングボックスを作成し、検出した全ての物体の名称、並びに、推定した姿勢及び位置を実空間の3次元座標として算出する。
これにより、検出された各物体に関して、推定した実空間の3次元座標における姿勢及び位置を、工場の自動化システムのロボットに対して伝達できる。また、検出された各物体に関して、実空間の3次元座標における姿勢及び重心位置を推定し算出することにより、ロボットが正確に物体を捉えることができる。
【0033】
本発明の物体認識及び位置姿勢推定方法における撮像画像は、学習データセットの作製環境と同一又は近似した環境下で撮像された撮像画像であることが好ましい。学習データセットの作製環境と同一又は近似した環境下で撮像された撮像画像が用いられることにより、物体認識と位置姿勢の推定精度を向上させることができる。
【0034】
本発明の学習データセット作製プログラムは、本発明の学習データセット作製方法の一部の処理である下記a),b)のステップをコンピュータに実行させるためのプログラムである。
a)画像群に対して対象物のバウンディングボックスを設定するステップ。
b)撮像画像から推定した対象物の姿勢情報と位置情報、物体情報及びバウンディングボックスに関する情報を、撮像画像に関連付けして、学習データセットを生成するステップ。
【0035】
本発明の物体認識及び位置姿勢推定プログラムは、本発明の物体認識及び位置姿勢推定方法の一部の処理である下記c)~e)をコンピュータに実行させるためのプログラムである。
c)新たに撮像された撮像画像から、画像認識によって物体の名称を検出して認識用バウンディングボックスを作成するステップ。
d)認識用バウンディングボックスを切り出した部分画像を生成し、生成した部分画像に基づき学習済みモデルを用いて、検出した物体の姿勢を推定するステップ。
e)認識用バウンディングボックスの位置、幅及び高さを取得し、学習済みモデルを用いて、検出した物体に関して実空間の3次元座標における位置を推定するステップ。
なお、検出した物体全体を取り囲む認識用バウンディングボックスの位置は、取り囲んだバウンディングボックスの重心位置でもよい。また、検出した物体に関する実空間の3次元座標における位置は、物体の重心位置でもよい。
【0036】
本発明の学習データセット作製装置は、下記1)~4)を備える。
1)対象物の配置位置のガイドとなるエリアが設けられたベース部と、該ベース部の上に固定され、対象物の物体情報が関連付けされる視覚マーカとから構成される学習データセット生成治具。
2)エリアをガイドとして対象物を配置した状態で、視覚マーカを含む物体全体の画像群を取得する撮像手段。
3)取得した画像群から、視覚マーカに関連付けされた物体情報を取得する手段。
4)画像群から視覚マーカ又は学習データセット生成治具に該当する領域の隠蔽処理を行うことにより再構成された画像群を生成する手段。
5)取得した画像群に対して対象物のバウンディングボックスを設定する手段。
6)撮像画像から推定した対象物の姿勢情報と位置情報、物体情報及びバウンディングボックスに関する情報を、撮像画像に関連付けして、対象物の物体認識及び位置姿勢推定を行うための学習データセットを生成する手段。
【0037】
本発明の学習データセット作製装置は、学習データセットから視覚マーカ又は学習データセット生成治具に該当する領域の隠蔽処理を行うことにより再構成された画像群を生成する手段が設けられる。隠蔽する手段は、画像群から、学習データセット生成冶具に該当する領域を検出する検出手段と、検出手段により抽出された対象物の写り込みが含まれる領域から物体領域を検出することにより、学習データセット生成冶具に該当する領域のみを抽出する抽出手段と、抽出手段により抽出された領域につき、画像群において、背景画像又はノイズ画像として上書き処理を行う上書き手段から成ることが好ましい。ここで抽出手段は、事前に近似した形状情報を用いて、物体領域を検出することでもよいし、事前に学習させた学習モデルを用いて、物体領域を検出することでもよい。
また、学習データセット生成治具の写り込みを防止するため、視覚マーカを除き、透明性を有することでも構わない。学習データセット生成治具の視覚マーカ以外の部分が透明性を有することにより、撮像画像において、学習データセット生成治具が対象物を遮ることを防止でき、物体認識の精度を向上させることができる。
【0038】
本発明の学習データセット作製装置において、学習データセット生成治具を構成する視覚マーカは、エリアの中心点を上方向として、エリアを取り囲むように配置されたことが好ましい。視覚マーカは、ARマーカを含む2次元パターンマーカ、又は、3次元マーカである。また、ベース部は、円形状、楕円形状若しくは矩形状のプレートでもよいし、プレートを屈曲して延設したL字状を呈することでもよい。バウンディングボックスは、2次元バウンディングボックスでもよいし、3次元バウンディングボックスでもよい。エリアには、学習データセット生成治具の識別IDが表示されたことでもよい。また、エリアには、対象物の向きを調整するための向き調整ガイドが設けられてもよい。
【0039】
本発明の学習データセット作製方法により作製した学習データセットを用いて機械学習を行った産業用ロボット、本発明の物体認識及び位置姿勢推定方法を用いた産業用ロボット、そして、本発明の物体認識及び位置姿勢推定プログラムが搭載された産業用ロボットは、食品業界や物流業界における仕分け作業や加工作業などの工場の自動化システムに利用できる。
【発明の効果】
【0040】
本発明によれば、複数の物体を対象として、複数のセンサ及び物体の3Dモデルを必要とせず、実環境の撮影画像を用いて、機械学習に用いる学習データセットを効率的に作製し、それを用いて物体認識及び位置姿勢を高精度に推定でき、工場の自動化システムに用いるロボット制御に活用できるといった効果がある。また本発明によれば、視覚マーカ群を隠蔽できることにより、より質の高い学習データセットを作製することができるといった効果がある。
【図面の簡単な説明】
【0041】
【
図1】学習データセットの作製処理、並びに、物体認識及び位置姿勢推定処理の概略フロー図
【
図2】学習データセットの作製装置、並びに、物体認識及び位置姿勢推定装置の機能ブロック図
【
図5】実施例1の学習データセット生成治具の平面図
【
図8】実施例1の学習データセット作製に用いられる画像イメージ図
【
図10】学習データセット生成治具領域の隠蔽フロー図
【
図11】学習データセット生成治具領域の隠蔽の説明
図1
【
図12】学習データセット生成治具領域の隠蔽の説明
図2
【
図13】学習データセット生成治具領域の隠蔽の説明
図3
【
図14】学習データセット生成治具領域隠蔽後の画像イメージ図
【
図16】物体認識及び位置姿勢推定時のロボット制御システムのシステム構成図
【
図18】物体認識及び位置姿勢推定処理に用いられる画像の一例
【
図19】実施例2の学習データセット作製に用いられる画像イメージ図
【
図20】実施例3の学習データセット生成治具の平面図
【
図21】実施例4の学習データセット生成治具の平面図
【
図23】実施例5の学習データセット生成治具の外観図
【
図24】実施例6の搬送装置と回転移動機構の説明図
【
図25】実施例8の比較実験における撮影方法の説明図
【
図26】位置・姿勢推定に関する比較実験結果を表すグラフ
【発明を実施するための最良の形態】
【0042】
以下、本発明の実施形態の一例を、図面を参照しながら詳細に説明していく。なお、本発明の範囲は、以下の実施例や図示例に限定されるものではなく、幾多の変更及び変形が可能である。
【実施例1】
【0043】
図1は、学習データセットの作製処理の概略フロー及び物体認識及び位置姿勢推定処理の概略フローを示している。
図1に示すように、学習データセット生成段階では、まず、視覚マーカとしてARマーカ(2次元パターンマーカ)を用い、このARマーカに対象物の物体情報を関連付けする(ステップS01)。次に、関連付けした2次元パターンマーカを用いた学習データセット生成治具を準備する(ステップS02)。学習データセット生成治具のエリアをガイドとして対象物を配置する(ステップS03)。対象物を配置した状態で、対象物の多視点画像群を取得する(ステップS04)。取得した画像群につき2次元パターンマーカを検出し認識する(ステップS05)。取得した画像群に対して対象物全体を取り囲むバウンディングボックスを設定する(ステップS06)。推定した対象物の姿勢情報と重心位置情報、物体情報及びバウンディングボックスに関する情報を画像に関連付けする(ステップS07)。取得した画像群につき、ARマーカを含む学習データセット生成治具の隠蔽を行う(ステップS08)。そして、多視点画像群を学習データセットとしてデータベースに登録する(ステップS09)。
なお、上記ステップS06のバウンディングボックスの設定において、可能な限り対象物全体を取り囲めればよく、多少、対象物を囲めていない場合であっても、学習データセットとして使用することができる。仮に対象物が他の物体で隠れていた場合であっても、隠れずに見えている範囲で囲めていれば構わない。
【0044】
次に、登録された学習データセットを用いて、深層学習などの機械学習により学習済みモデルを取得する(ステップS10)。
そして、物体認識及び位置姿勢推定段階では、まず撮像画像を取得し(ステップS11)、画像認識により撮像画像中の物体を検出して認識用バウンディングボックスを設定する(ステップS12)。なお、物体の名称は、物体を検出し、物体を認識した時点で取得できる。物体の認識用バウンディングボックスを切り出した部分画像を用いて、予め定義された基準座標系(実空間の3次元座標)における姿勢及び重心位置を推定する(ステップS13)。
基準座標系は、視覚マーカを、基準としたい位置姿勢に配置することにより定義する。
【0045】
図2は、学習データセットの作製装置、物体認識及び位置姿勢推定装置の機能ブロック図を示している。
図2に示すように、学習データセット作製装置10では、撮像手段20及び学習データセット生成治具30を用いて対象物の画像を撮影する。撮像された画像は、学習データセット作製装置10のコンピュータ40がARマーカ認識手段40aとして動作することにより、ARマーカが認識される。予めデータベース80には、ARマーカと認識対象となる対象物の物体情報とが関連付けされており、コンピュータ40が対象物認識手段40bとして動作することにより、対象物の物体名称など物体情報が認識される。ARマーカ認識手段40a及び対象物認識手段40bから得られた情報に基づいて、コンピュータ40がバウンディングボックス設定手段40cとして動作することにより、バウンディングボックスが設定される。また、コンピュータ40が対象物の姿勢推定手段40dとして動作することにより、対象物の姿勢が推定される。また、コンピュータ40が重心位置推定手段40eとして動作することにより、対象物の重心位置が推定される。取得された対象物に関する情報や、姿勢・重心位置に関する情報は、コンピュータ40がバウンディングボックス割付手段40fとして動作することにより、設定されたバウンディングボックスに割付けされる。
【0046】
画像中の学習データセット生成治具30は、コンピュータ40が学習データセット生成治具領域隠蔽手段40gとして動作することにより、撮像画像中から隠蔽される。学習データセット生成治具領域隠蔽手段40gは、取得した画像から、学習データセット生成治具に該当する領域を、学習データセット生成治具の形状に合わせて切り抜く検出手段40h、検出手段40hにより抽出された領域から、更に、学習データセット生成治具に該当する領域のみを抽出する抽出手段40i、及び、抽出手段により抽出された領域につき、画像に対して、背景画像又はノイズ画像として上書き処理を行う隠蔽手段40jから成る。学習データセット生成治具領域隠蔽手段40gにより隠蔽処理が施された画像が、学習データセットとしてデータベース80に保存される。
【0047】
学習データセットは、モデル生成コンピュータ9による機械学習により、分類器9a及び回帰器9bを作成し、学習済みモデルを取得する。
生成された学習済みモデルは、物体認識及び位置姿勢推定装置11において利用される。物体認識及び位置姿勢推定装置11では、撮像手段21により、物体が撮影される。得られた撮像画像は、コンピュータ41が物体認識手段41aとして動作することにより、画像中に含まれる物体が検出され、物体名称などの物体情報が取得される。検出された物体は、コンピュータ41が認識用バウンディングボックス設定手段41bとして動作することにより、認識用バウンディングボックスが設定される。認識用バウンディングボックスが設定されると、かかる認識用バウンディングボックス毎に、コンピュータ41が学習済みモデル41cとして動作することにより、姿勢及び重心位置が推定される。
なお、撮像手段20と撮像手段21、コンピュータ40とコンピュータ41、又は、データベース80の記憶手段とデータベース81の記憶手段は、いずれも、同一の機器を用いた構成であってもよい。
【0048】
(学習データセット作製について)
図3は、学習データセット作製の際のシステム構成図を示している。
図3に示すように、学習データセット作製の際は、1台のカメラ2、プレート14、基準マーカ33、プレート14とその上の対象物5の位置を動かすベルトコンベア12及びコンピュータ4が用いられる。
プレート14は、ARマーカ3及びベース部17から成り、ARマーカ3は、ベース部17上に固定されている。ベース部17には、ここでは図示しないがエリアが設けられ、エリア上に認識対象となる対象物5が配置されている。対象物5の撮影は上方に設けられたカメラ2によって行う。なお、プレート14は、対象物5の形状に合わせて、個別に作製してもよいし、既定の大きさのプレートを用いてもよい。
基準マーカ33は、ベルトコンベア12の外側に配置され固定された位置に置かれる。基準マーカ33は、台座から支柱を介して接続されているが、これは撮影時に基準マーカ33が対象物5に隠れることを防止するためである。したがって、基準マーカ33の設置方法はこのような方法に限られず、プレート14と同じものを利用してもよい。基準マーカ33を、基準としたい位置及び姿勢に配置することにより、基準座標系を定義する。
コンピュータ4には、データベース8が設けられており、カメラ2において撮像した画像群、ARマーカ3、対象物5に関する位置姿勢の情報が保存される。
【0049】
図4は、学習データセット生成のフロー図を示している。
図4に示すように、まず、カメラ2によって、ベース部17上に配置された対象物5を撮影し、1枚の撮像画像をコンピュータ4に入力する(ステップS101)。コンピュータ4では、取得した画像に含まれるARマーカを画像解析により検出する(ステップS102)。データベース8に登録されているARマーカに関連付けされた物体情報には、対象物に関する一般名称などの物体を識別するための情報が登録されている。次に、データベース8から、ARマーカに関連付けされた物体情報を取得する(ステップS103)。データベース8に登録されているARマーカに関連付けされた情報には、対象物の大きさ(サイズ)に関する情報が登録されている。ARマーカの姿勢情報に基づいて、対象物の姿勢を推定する(ステップS104)。さらに、対象物の重心位置を算出する(ステップS105)。ここで、対象物の重心位置とは、対象物の形状および学習データセット生成冶具への配置から算出する重心位置のことであり、基準座標系における対象物重心の位置(x,y,z)情報を基に算出する。なお、重心位置の算出については、予め物体情報として、物体の高さと学習データセット生成冶具への配置位置及び配置姿勢に加えて、学習データセット生成冶具の情報として、冶具の高さと冶具へのARマーカの配置位置及び姿勢を所持しており、それらを用いて物体の重心位置を算出するものでも構わない。
【0050】
そして、対象物を取り囲むバウンディングボックスを設定し(ステップS106)、物体情報、姿勢、重心位置及び設定したバウンディングボックス情報(画像中の位置、幅、高さ)を画像に関連付けする(ステップS107)。画像内に未だ処理していないARマーカが存在する場合には、未処理のARマーカを同様に処理する。画像内の全てのARマーカが処理済みの場合(ステップS108)は、対象物の物体情報、姿勢・重心位置情報及びバウンディングボックス情報が紐付いた1枚の画像を出力する(ステップS109)。画像は複数回撮影され、全ての画像につき処理が完了後に(ステップS110)、撮像画像中からマーカを含むプレートを隠蔽する(ステップS111)。これにより、学習データセットが作製される。
【0051】
ここで、実施例1の学習データセット生成治具について、
図5~7を参照しながら説明する。
図5は、実施例1の学習データセット生成治具の平面図を示している。
図5に示すように、プレート14aはベース部17及びARマーカ(3a~3l)から成り、ベース部17には、対象物5を置くためのガイドとなるエリア18が設けられている。ベース部17上には、ARマーカ(3a~3l)がエリア18を取り囲むように貼り付けられている。ここでは、プレート14aを例に説明を行っているが、後述するプレート(14b,14c)も同様の構造である。
【0052】
図6は、実施例1の対象物の撮影イメージ図であり、対象物につき、(1)は円筒形状、(2)は直方体形状の場合を示している。
対象物5のエリア18への配置は、単に載置するだけではなく、エリア18へ固定して行う。そして、エリア18は対象物5を配置するガイドとなるものであるから、
図6(1)に示す対象物5aのように、対象物の底面はエリア18内に収まるように配置されることが好ましいが、必ずしもこの限りではなく、例えば
図6(2)に示す対象物5bのように、エリア18から一部はみ出して配置されてもよい。
図6(2)においては、対象物5bが一部はみ出して配置されたことにより、ARマーカ(3b,3h)が隠れてしまっているが、ARマーカ(3a~3l)は、一度の撮影において、全て認識される必要はなく、少なくとも1つのARマーカが読み取れればよいからである。
【0053】
図6(1)に示すように、プレート14aに対象物5aが配置されるに当たっては、予めデータベース8に、プレート14aに関する情報と、対象物5aに関する情報が登録される。すなわち、データベース8には、予め、プレート状に設けられるARマーカの種類・形状・数、各ARマーカの位置・姿勢、ARマーカに対応する対象物の名称、サイズとして、長辺(mm)、短辺(mm)及び高さ(mm)、並びに、基準座標系における対象物の姿勢(deg)が登録されている。下記表1はデータベースのテーブルの例を示している。表1において、対象物コードは対象物の識別コードとして用いている。また、マーカコードとは、プレート14の識別IDのことである。
【0054】
【0055】
上記表1に示すように、対象物コード1については、マーカコードは3、対象物長辺は100mm、対象物短辺は50mm、対象物高さは100mm、基準座標系における対象物の重心位置は、xが20、yが30、zが-150、基準座標系における対象物の姿勢は0(deg)とデータベース上に登録されている。また、対象物コード2については、マーカコードは2、対象物長辺は200mm、対象物短辺は150mm、対象物高さは10mm、基準座標系における対象物の重心位置は、xが10、yが20、zが-30、基準座標系における対象物の姿勢は0(deg)と登録されている。対象物コード3については、マーカコードは1、対象物長辺は300mm、対象物短辺は250mm、対象物高さは50mm、基準座標系における対象物の重心位置は、xが12、yが28、zが-80、基準座標系における対象物の姿勢は10(deg)と登録されている。以下同様に、対象物毎に各データが登録される。
【0056】
そのため、ARマーカ(3a~3l)と対象物5aの間の相対的な位置姿勢関係が固定された状態で、カメラ2を用いてARマーカ3及び対象物5aを撮影すると、コンピュータ4は、ARマーカ(3a~3l)の何れかを検出することで、ARマーカの種類がARマーカ(3a~3l)の何れかであること、ARマーカの位置姿勢及び対応する対象物5aの名称などの情報が取得される。検出するARマーカは1つでもよいが、ARマーカ(3a~3l)の内、2つ以上を検出できれば、より確実に対象物5aに関する情報を取得することができる。
また、ARマーカ(3a~3l)と対象物5aの間の相対的な位置姿勢関係から、基準座標系における対象物5aの姿勢を推定する。また、ARマーカ(3a~3l)と対象物5aの間の相対的位置の関係と、対象物5aおよびプレート14のサイズから、基準座標系における対象物5の重心位置を推定する。
データベース8に予め登録されている対象物の大きさに関するデータを用いて、上記の推定された位置や姿勢のデータに基づいて、対象物5aを囲むバウンディングボックスを設定する。
【0057】
1つの対象物5aにつき、アングルを変えて、複数回の撮影を行うことで、多数のパターンの出力画像が得られることになる。例えば、
図6(1)に示すように、ARマーカ(3a~3l)と対象物5aの間の相対的な位置姿勢関係が固定された状態でも、矢印19aから撮影する場合と、矢印19b又は矢印19cから撮影する場合とでは、取得される画像が異なるからである。撮影方法としては、本実施例では、1台のカメラ2を固定した上で、プレート14及び対象物5aを移動させながら、複数回の撮影を行っている。この他、プレート14及び対象物5aを固定したままで、1台のカメラ2を移動して撮影してもよく、或は、複数のカメラを用いて異なるアングルから撮影してもよい。
【0058】
図7は、実施例1のARマーカの配置の説明図を示している。
図7では、説明の便宜上、ARマーカ(3a~3l)を全て表示することはせず、ARマーカ(3a,3d,3g,3j)のみを表示している。
図7に示すように、ARマーカ3aについては、ARマーカ3aの中心点P
2からベース部17の中心点P
1の方向に向けて、すなわち上方向がY軸方向となるように設けられ、右方向がX軸方向、手前の方向がZ軸方向となるように設けられている。
これは、ARマーカ(3d,3g,3j)についても同様である。すなわち、ARマーカ3dについては中心点P
3からベース部17の中心点P
1の方向が、ARマーカ3gについては中心点P
4からベース部17の中心点P
1の方向が、ARマーカ3jについては中心点P
5からベース部17の中心点P
1の方向が、それぞれY軸方向となるように設けられている。
ARマーカ(3a,3d,3g,3j)の位置・姿勢は、例えば、ARマーカ3aの場合は角部(C
21~C
24)の位置座標を基準に推定される。同様に、ARマーカ3dの場合は角部(C
31~C
34)の位置座標、ARマーカ3gの場合は角部(C
41~C
44)の位置座標、ARマーカ3jの場合は角部(C
51~C
54)の位置座標を基準に推定される。
ARマーカ(3a,3d,3g,3j)が、それぞれの中心点からベース部17の中心点P
1の方向がY軸方向となるように設けられることにより、ベース部17の中心点P
1を中心にして対象物5を配置し、固定した状態で、多視点画像群を取得した場合に、どの角度から撮影しても、ARマーカ(3a~3l)の向きを基に、容易に対象物5の向きを推定することができる。但し、そのためには、ベース部17の中心に対象物5が配置されるような工夫が必要である。
【0059】
そこで、
図5に示すように、エリア18には、位置調整用ガイド18aが設けられている。位置調整用ガイド18aは、エリア18の略中央であることを示して、対象物5を載置する際の位置調整を容易にするものである。
エリア18に載せる対象物5が小さいものであれば、位置調整用ガイド18a内に収まるように配置し、対象物5がより大きいものであれば、対象物5の中心が位置調整用ガイド18aに当接するように配置することができる。
【0060】
また、エリア18には、向き調整用ガイド18bが設けられている。向き調整用ガイド18bは矢印状で表示されており、対象物5の正面を矢印の方向に合わせて配置する。向き調整用ガイド18bが無くても、学習データセットの作製は可能であるが、向き調整用ガイド18bが設けられ、矢印に合わせて対象物5の向きが固定されることで、取得される画像の管理が容易となり、質の高い学習データセットの作製が可能となる。
【0061】
上記において述べた、対象物5をエリア18に配置する際に設定する基準については、深層学習などの機械学習をより効率的に行うために設定するものであるから、配置の際に必ずしも厳密に守られる必要は無く、例えば、やや斜めにずれて配置されたといった場合でも、かかるデータも後の機械学習の際に用いることはできる。
【0062】
なお、エリア18は
図5及び6では説明の便宜上、破線で表示されているが、実際に表示されているわけでない。エリア18のガイドとしての役割は、ベース部17上に貼り付けられたARマーカ(3a~3l)の配置位置から、対象物を置く位置であることが推認できるものであればよいからである。もっとも、他の実施形態として、破線等で表示されることは構わない。
【0063】
また、エリア18には、プレートの識別IDが表示される構成でもよい。例えば、位置調整用ガイド18aが設けられるエリア18の中央付近にプレートを識別できる数字等を表示しておけば、撮像画像に写り込む恐れも少なく、かつ、プレートの管理が容易となり利便性が向上する。
【0064】
図8は、実施例1の学習データセット作製に用いられる画像イメージ図を示している。
図8に示す画像7aは、
図2で示すカメラ2によって撮影された1枚の画像である。
図8に示すように、画像7aには、ベルトコンベア12、対象物(5a~5c)、プレート(14a~14c)及びバウンディングボックス(6a~6c)が表示されている。ここで、対象物5aは筒状容器入り食品である。なお、対象物5bは紙製容器入り食品であり、容器を立てた状態で配置しているが、
図6(2)に示したように寝かせた状態で配置してもよい。対象物5cは軟質の樹脂製の容器入り食品である。ここでは、対象物としては食品を用いているが、食品以外の対象物でもよい。
対象物5aはプレート14a上に配置されており、対象物5bはプレート14b上に、対象物5cはプレート14c上に配置されている。
【0065】
矢印19dは、ベルトコンベア12が流れる方向を示したものであり、画像7aは、ベルトコンベア12が矢印19dの方向に流れる中で撮影したものである。なお、画像7aでは、上記以外の物体等は表示されていないが、背景に別の装置等の物体が配置され、写り込んでいても構わない。対象物(5a~5c)の撮影は、ベルトコンベア12上を一度流される際に、複数回行われる。そして、対象物(5a~5c)と共にARマーカ(3a~3l)も、対象物(5a~5c)との相対的位置及び姿勢が固定された状態で移動するため、ARマーカ(3a~3l)の位置や姿勢も変化することとなる。
また、同一の対象物について、あらゆる向きに設置してカメラ2による撮影を行ってもよい。ベルトコンベア12上を一度流される際に、複数回撮影したり、同一の対象物について、あらゆる向きに設置してカメラ2による撮影を行ったりすることで、多様なパターンの画像が得られ、後の深層学習などの機械学習により、より精度の高いモデルの生成が可能となる。
【0066】
以上のような方法で撮影が行われると、
図8に示す画像7aにおいては、画像データが取得され、各画像からまず、プレート(14a~14c)毎にARマーカ(3a~3l)の種類と位置姿勢が検出される。ARマーカ(3a~3l)については、予め、プレート(14a~14c)毎に、対象物の名称、長辺(mm)、短辺(mm)、高さ(mm)、及び、基準座標系における対象物の姿勢(deg)が登録されており、また、ARマーカ(3a~3l)毎の位置や姿勢についても登録されている。したがって、ARマーカ(3a~3l)の内、少なくとも1つが検出されれば、対象物の名称、長辺(mm)、短辺(mm)、高さ(mm)、及び、基準座標系における対象物の姿勢(deg)が取得される。さらに、2つ以上のARマーカが検出されれば、より精度良く対象物を認識することができる。
【0067】
対象物5aについては、プレート14a上に設けられたARマーカ(3a~3l)の内、ARマーカ(3f~3h)は、画像7aでは撮像されていないが、ARマーカ(3a~3e,3i~3l)が撮像されている。
対象物5bについては、プレート14b上に設けられたARマーカ(3a~3l)の内、ARマーカ3gは、画像7aでは撮像されていないが、ARマーカ(3a~3f,3h~3l)が撮像されている。
対象物5cについては、プレート14c上に設けられたARマーカ(3a~3l)の内、ARマーカ(3f~3h)については、画像7aでは撮像されておらず、ARマーカ(3j,3k)についても、それらの一部が撮像されているに過ぎないが、ARマーカ(3a~3e,3i,3l)が撮像されている。
したがって、対象物5bについては、プレート14bに設けられたARマーカ(3a~3f,3h~3l)の検出により、対象物5bの名称等が取得される。同様に、プレート14cに設けられたARマーカ(3a~3e,3i,3l)の検出により、対象物5cの名称等が取得され、プレート14aに設けられたARマーカ(3a~3e,3i~3l)の検出により、対象物5aの名称等が取得される。
プレート(14a~14c)毎にARマーカ(3a~3l)に定義された位置姿勢情報に基づいて、対象物(5a~5c)の位置姿勢情報を推定する。
【0068】
具体的には、まず、プレート14bに設けられたARマーカ(3a~3f,3h~3l)に定義された姿勢情報に基づいて対象物5bの姿勢を算出する。同様に、プレート14cに設けられたARマーカ(3a~3e,3i,3l)に定義された姿勢情報に基づいて対象物5cの姿勢を算出し、プレート14aに設けられたARマーカ(3a~3e,3i~3l)に定義された姿勢情報に基づいて対象物5aの姿勢を算出する。
【0069】
次に、プレート14bに設けられたARマーカ(3a~3f,3h~3l)に定義された位置情報と、プレート14bに設けられたARマーカ(3a~3f,3h~3l)と対象物5bの相対的な位置関係の情報に基づいて対象物5bの重心位置を算出する。同様に、プレート14cに設けられたARマーカ(3a~3e,3i,3l)に定義された位置情報と、プレート14cに設けられたARマーカ(3a~3e,3i,3l)と対象物5cの相対的な位置関係の情報に基づいて対象物5cの重心位置を算出し、プレート14aに設けられたARマーカ(3a~3e,3i~3l)に定義された位置情報と、プレート14aに設けられたARマーカ(3a~3e,3i~3l)と対象物5aの相対的な位置関係の情報に基づいて対象物5aの重心位置を算出する。
【0070】
上記の算出されたデータと、対象物(5a~5c)の大きさに関するデータを用いて、対象物(5a~5c)を囲むバウンディングボックス(6a~6c)を生成する。ここで、例えば、それぞれ対象物(5a,5c)を囲むバウンディングボックス(6a,6c)は重なり合っているが、バウンディングボックスは、座標データを保持するだけであるため、重なり合っていても問題はない。
【0071】
このように、対象物(5a~5c)にバウンディングボックス(6a~6c)を設定する方法について、
図9を参照しながら説明する。
図9は、2次元バウンディングボックス設定の説明図である。
図9では、
図8における画像7aにおける対象物5cに設定されるバウンディングボックス6cを例に説明する。なお、ここでは説明の都合上、
図12における対象物5c配置形態とは異なり、対象物5cがやや左に傾いた状態にあるものとしている。
図9に示すように、対象物5cを長方形として認識し、例えば、下記数1のように、矩形(四角形)の幅(x´)と高さ(y´)にそれぞれマージンとなるオフセットを加算して、バウンディングボックスの幅と高さを決定し、バウンディングボックスを設定する。ここで、hは物体の高さ、φは鉛直方向に対するカメラの設置角度である。
【0072】
【0073】
なお、
図9に示すように、バウンディングボックス6cを設定する際には、上記のオフセットを設けるため、上記数1により算出されたバウンディングボックスよりも、面積は広く設けられる。
【0074】
図8では、画像7aを例に説明をしているが、ベルトコンベア12を稼動しながら、同様に、撮影を重ねることで、画像(7b~7f)のように、複数の画像を取得することができる。取得する画像は、画像(7a~7f)に限られず、さらに多数の画像が取得される。
【0075】
(ARマーカを含むプレートの隠蔽について)
学習データとされる画像中にプレート14中のARマーカ3やベース部17が写り込んでいる状態のデータ群を学習データセットとして機械学習を行うと、例えば、モデル生成コンピュータ9がARマーカ3自体を学習してしまう恐れがある。モデル生成コンピュータ9がARマーカ3自体を学習してしまうと、学習データセットの質が低下するため、ARマーカ等の学習データから削除することが好ましい。
そこで、ARマーカを含むプレートの隠蔽方法について、
図10~13を参照しながら説明する。
図10は、学習データセット生成治具領域の隠蔽フロー図を示している。また、
図11~13は、学習データセット生成治具領域の隠蔽の説明図を示している。
まず、
図11(1)は隠蔽前の取得画像を示している。
図11(1)に示すように、画像7a中には、対象物(5a~5c)、プレート(14a~14c)及びベルトコンベア12が表示されている。かかる画像7aから、
図10に示すように、プレート領域を検出する(ステップS41)。
図11(2)は切抜き後の取得画像を示している。
図11(2)に示すように、画像7aは、プレート(14a~14c)の形状の部分だけが切り抜かれ、ベルトコンベア12やプレート(14a~14c)の形状外の対象物(5a~5c)は消去されている。
【0076】
次に、切り抜かれたプレート(14a~14c)の形状の内、何れかのプレートを選択する(ステップS42)。
図12(1)は、
図11(2)に示した画像7aからプレート14cを選択したものである。
ここで、事前に近似した形状情報を用いて、検出手段40hにより抽出された領域から、更に、学習データセット生成治具に該当する領域のみを抽出する(ステップS43)。
図27は、物体の隠蔽方法の説明図であり、(1)は対象物、(2)は近似した形状を示している。
図27(1)に示す対象物5eはペットボトルであるが、かかる対象物5eに近似した形状としては、例えば、
図27(2)に示すように、円筒形状39aと円錐台形状39bを合わせた形状を利用することができる。
なお、事前に近似した形状情報を用いるのではなく、事前に学習させた混合ガウス分布(GMM)に基づくモデルで、プレート領域を抽出するというように、事前に学習させた学習モデルを用いて、学習データセット生成治具に該当する領域のみを抽出してもよい。
図12(2)は、プレート領域抽出後の画像を示している。
図12(2)に示すように、
図12(1)に示す画像から、対象物5a及び対象物5cが写り込んだ箇所が消去され、プレート14cだけが残存している。
【0077】
未処理のプレートがある場合には、未処理のプレートを選択し(ステップS42)、プレート14cと同様の処理を行う。本実施例では、プレート(14a,14b)について同様の処理を行う。全てのプレートにつき処理を行った後(ステップS44)、抽出した全ての領域に対してノイズ画像又は背景画像で上書きを行う(ステップS45)。
図13(1)は、実施例1の隠蔽処理後の画像である。本実施例では、プレート(14a~14c)に該当する領域につき、ノイズ画像で上書きを行っている。これに対して、
図13(2)は背景画像で上書きを行ったものである。便宜上、プレート(14a~14c)に該当する領域を破線で表しているが、実際は表示されない。
図13(2)に示すように、背景画像で上書きを行う方が、隠蔽処理としては自然であるようにも思われる。しかしながら、
図13(1)に示すようなノイズ画像は一定の確率分布で更新し、毎回異なったノイズ画像が生成されるため、機械学習による学習が行われにくいという利点がある。したがって、プレートやARマーカを学習してしまうという問題を解決するには好適である。
【0078】
図14は、学習データセット生成治具領域隠蔽後の画像イメージ図を示している。
図14に示すように、画像7aには、ベルトコンベア12、対象物(5a~5c)、隠蔽部(15a~15c)及びバウンディングボックス(6a~6c)が表示されている。
対象物(5a~5c)には、それぞれバウンディングボックス(6a~6c)が設定されているが、前述したように、これらは実際の画像に加工がなされるものではない。
また、
図8で示したプレート(14a~14c)については、ノイズ画像による隠蔽処理が施され、隠蔽部(15a~15c)となっている。
ここでは、画像(7a~7f)について図示しているが、実際にはより多数の画像を撮影する。このように、バウンディングボックス(6a~6c)が挿入され、かつ、プレート(14a~14c)が隠蔽された画像7aのような画像が集積することで、学習データセットが作製される。
【0079】
(機械学習について)
学習データセットが生成された後、学習データセットを具体的なロボット制御に利用する場合には、先立って学習データセットを使用した深層学習などの機械学習が必要となる。そこで、コンピュータ4は、データベース8に保存された学習データセットを用いて、推定を行う対象物について、深層学習を行い、学習済みモデルを取得する。
図15は、学習済みモデル生成のフロー図を示している。
図15に示すように、まず学習データセットを入力する(ステップS21)。入力された学習データセットを基に、深層学習を行う(ステップS22)。本実施例では、Google(登録商標)が開発しオープンソースとして公開した人工知能のソフトウェアライブラリであるTensorFlow(登録商標)を使用して深層学習を行う。深層学習により得られた学習済みモデルを出力する(ステップS23)。
【0080】
(物体認識及び位置姿勢推定について)
図16は、物体認識及び位置姿勢推定時のロボット制御システムのシステム構成図を示している。
図16に示すように、物体認識及び位置姿勢推定時においては、ロボット制御システム1は、カメラ2、コンピュータ4及びロボット13から成る。
ベルトコンベア12上には、認識対象となる対象物5が配置されている。コンピュータ4には、データベース8が設けられており、カメラ2において撮影した画像等が保存される。ロボット13には、ロボットアーム13aが設けられており、ロボットアーム13aによって、対象物を把持できる構造となっている。
【0081】
図17は、物体認識及び位置姿勢推定フロー図を示している。
図17に示すように、カメラ2を用いて、ベルトコンベア12上を撮影し、1枚の撮像画像を入力する(ステップS301)。画像認識により、物体を検出し、画像座標系における位置を検出する(ステップS302)。ここで、物体情報(名称など)が取得される。また、認識用バウンディングボックスを設定する(ステップS303)。設定された認識用バウンディングボックスの内、いずれか1つを選択する(ステップS304)。撮像画像から、認識用バウンディングボックス内を切り抜く(ステップS305)。そして、深層学習など機械学習によって得られた学習済みモデルの分類器を用いて、物体の姿勢を推定する(ステップS306)。次に、認識用バウンディングボックスの幅、高さを取得し(ステップS307)、学習済みモデルの回帰器により、実空間の3次元座標における物体の重心位置を推定する(ステップS308)。認識用バウンディングボックスの内、選択していないものが存在するか否かを判断し(ステップS309)、未選択の認識用バウンディングボックスがあれば、いずれか1つを選択する。認識用バウンディングボックスを全て選択し終えた場合は、検出した全ての物体の名称、姿勢、実空間の3次元座標における重心位置を出力する(ステップS310)。
【0082】
図18は、物体認識及び位置姿勢推定に用いられる画像の一例を示している。
図18に示すように、画像70上には、ベルトコンベア12、対象物(5a~5c)及び認識用バウンディングボックス(16a~16c)が表示されている。画像70は、ベルトコンベア12上に対象物(5a~5c)を並べて、矢印19dに示す方向に対象物(5a~5c)を流し、かかる状態で、カメラ2を用いて撮影したものである。
学習済みモデルの利用に先立って、学習データセットを用いた深層学習が行われたことにより、対象物を認識し、位置及び姿勢を推定することが可能となっている。
【0083】
図18においては、対象物(5a~5c)を囲むように認識用バウンディングボックス(16a~16c)が表示されているのみであるが、コンピュータ4においては、対象物(5a~5c)の名称や、姿勢・重心位置に関する情報が推定されており、ロボット13の把持動作を予め計画しておくことで、コンピュータ4において推定された情報を基に、ロボット13に対象物(5a~5c)の仕分け作業を行わせるといったことが可能である。具体的には、例えば、詰め合わせギフトのように、所定の箱に複数種類の商品を1つずつ配置したり、レーンを流れる多数の物品の中から不良品を除去したりといった作業が可能である。
【実施例2】
【0084】
図19は、実施例2の学習データセット作製に用いられる画像イメージ図を示している。
図19に示すように、画像7aには、ベルトコンベア12、対象物(5a~5c)、及びバウンディングボックス(6d~6f)が表示されている。
本実施例では、3次元のバウンディングボックス(6d~6f)が設定されているが、これは複数のARマーカ3が設けられることにより可能となったものである。
すなわち、本実施例においても、プレート(14a~14c)を用いて学習データセットの作製を行っているが、
図7に示すように、円形のプレート14aの中心点P
1を原点とし、
図5に示すように、その原点に対象物5を底の中心がくるように、位置調整ガイド18aなどを用いて配置する。
対象物5の高さや形状、幅、奥行きは、物体の属性情報として予め物体情報データとして、
図1に示すデータベース8に記憶されている。円形のプレート14aの中心点P
1と、カメラ2の位置(カメラの視線角度)から、3次元のバウンディングボックス(直方体)を描くことが可能である。実際には、描かなくとも直方体の8角のカメラ座標が分かることとなる。
【実施例3】
【0085】
図20は、実施例3の学習データセット生成治具の平面図であり、ARマーカの数が、(1)は8つ、(2)は3つのものを示している。
図20(1)に示すように、プレート140aは、円形のベース部17上に8つのARマーカ(3a~3h)が設けられている。また、
図20(2)に示すように、プレート140bは、円形のベース部17上に3つのARマーカ(3a~3c)が設けられている。
このように、実施例1におけるプレート(14a~14c)のように、12個のARマーカ(3a~3l)を必ずしも設けなくてもよく、対象物5の種類・形状、製造コスト等を考慮して、より少ない数のARマーカを設けた構成とすることができる。但し、画像を撮影する際に、2つ以上のARマーカが撮像されることが好ましい。なぜなら、前述したように、2つ以上のARマーカが撮像されることにより、対象物の認識精度を向上させることが可能であり、また、3次元バウンディングボックスの設定も可能となるからである。
【実施例4】
【0086】
図21は、実施例4の学習データセット生成治具の平面図であり、(1)は長方形のプレート、(2)は正方形のプレートを示している。
図21(1)に示すように、プレート140cは、矩形のベース部170上に12個のARマーカ(3a~3l)が設けられている。また、
図21(2)に示すように、プレート140dは、正方形のベース部171上に12個のARマーカ(3a~3l)が設けられている。対象物5はそれぞれエリア(180,181)に配置可能である。
図21(1)及び(2)に示すように、実施例1におけるプレート(14a~14c)のように、ベース部の形状は必ずしも円形である必要はなく、対象物5の種類や形状等を考慮して、矩形やその他の形状とすることもできる。対象物5の種類や形状等に合わせて、ベース部の形状やARマーカの種類・数等を設計することにより、より質の高い学習データセットを作製することができる。
なお、
図21(1)に示すように、ARマーカ(3c,3e,3i,3k)は、プレート140cの矩形状に対し斜めに傾けて配置されているが、このような配置は必須ではなく、ARマーカがエリアを囲んでおり、全てのARマーカの角部が既知であるという点が充たされておればよい。したがって、例えば、
図21(2)に示すように、ARマーカ(3a~3l)を配置してもよい。
【実施例5】
【0087】
図22は、対象物と撮影方向に関する説明図であり、実施例3に示したプレート140a上に、(1)は対象物5aを配置した左側面図であり、(2)は対象物5dを配置した左側面図を示している。
図22(1)に示すように、プレート140a上に配置する対象物が対象物5aのような円筒形状であれば、
図3に示すカメラ2の撮像方向が矢印19eのように、斜め上方であったとしても、対象物5aの上面と側面の何れについても撮像が可能である。しかしながら、プレート140a上に配置する対象物が対象物5dのような逆円錐台状であれば、
図3に示すカメラ2の撮像方向が矢印19eのように、斜め上方である場合、対象物5aの側面の撮像が困難となる場合がある。
例えば、対象物5dのような逆円錐台状の場合には、矢印19fに示すように、側方から撮影して対象物5dの側面を撮影することが有益であるが、側方から撮影すると、今度はプレート140a上に設けられたARマーカ(3a~3h)の撮像が困難となるという問題がある。
【0088】
そこで、平面のプレートではなく、L字状に加工したプレートを用いてもよい。
図23は、実施例5の学習データセット生成治具の外観図であり、(1)は正面図、(2)は左側面図を示している。
図23(1)に示すように、L字状プレート22は、底部22a、側面部22b及びARマーカ(3a~3r)から成る。底部22aと側面部22bは樹脂製で一体成型されている。底部22aにはARマーカ(3a~3h)が設けられ、側面部22bにはARマーカ(3i~3r)が設けられている。底部22aにおけるARマーカ(3a~3h)の配置は、プレート140aにおけるARマーカ(3a~3h)と同じである。
図23(1)及び(2)に示すように、矢印19fの方向から対象物5dを撮影した場合には、側面部22bに設けられたARマーカ(3i~3r)を検出することによって、対象物5dを認識することが可能である。また、矢印19eの方向から対象物5dを撮影した場合には、底部22aに設けられたARマーカ(3a~3h)又は側面部22bに設けられたARマーカ(3i~3r)のいずれかを検出することにより、対象物5dを認識することが可能である。
このように、対象物5の形状に応じて柔軟に学習データセット生成治具を設計することが可能である。
【実施例6】
【0089】
搬送装置と回転移動機構について
図24を参照して説明する。
図24に示すコンベア120は、コンベアベルト120aを水平に移動させるものである。コンベア120は、搬送装置であり、コンベアベルト120aの上に載せた物体を水平に移動する。
コンベアベルト120aの上に、学習データセット生成治具であるプレート14を載せ、ベース部17に設けられたエリア(図示せず)をガイドとして対象物5を配置した状態で、コンベアベルト120aを水平(矢印19gに示す方向)に移動させ、ARマーカ3を含む対象物5全体の多視点画像群を効率よく取得することができる。
【0090】
さらに、
図24に示すように、回転機構120bと直動機構120cを組合せた装置に、学習データセット生成治具のプレート14を取付け、当該装置をコンベアベルト120aの上に載せて、コンベアベルト120aを水平に移動させることにより、更に効率よく多視点画像群を取得することができる。すなわち、コンベア120aが矢印19gに示す方向に移動しながら、回転機構120bが矢印19hに示す方向に水平に回転し、さらに、直動機構120cが矢印19iに示す方向に水平に移動することで、マーカを含む物体全体の多視点画像群を効率よく取得するのである。これにより、対象物5及びプレート14をコンベアベルト120a上に一度流すだけで、あらゆる角度から撮像することが可能であり、短時間で、効率的に学習データセットを作製することができる。
なお、矢印19gに示す移動方向や矢印19hに示す回転方向は、逆方向であってもよく、更には、正方向と逆方向に交互に動くものであってもよい。また、矢印19iに示す移動方向は往復移動であるが、片方向のみに移動するものでもよい。
【実施例7】
【0091】
学習データセット作製方法の一部の処理をコンピュータに実行させるための学習データセット作製プログラムについて
図4を参照して説明する。学習データセット作製プログラムは、1)多視点画像群に対して対象物のバウンディングボックスを設定するステップと、2)撮像画像から推定した対象物の姿勢情報と重心位置情報、物体情報及びバウンディングボックスに関する情報を、撮像画像に関連付けして、学習データセットを生成するステップをコンピュータに実行させる。
上記1)のステップでは、取得した画像に含まれるARマーカを画像解析により検出し(ステップS102)、ARマーカに関連付けされた物体情報を取得し(ステップS103)、ARマーカの姿勢情報に基づいて、対象物の姿勢を推定し(ステップS104)、対象物の重心位置を算出し(ステップS105)、対象物を取り囲むバウンディングボックスを設定する(ステップS106)。
上記2)のステップでは、物体情報、姿勢、重心位置及び設定したバウンディングボックス情報(画像中の位置、幅、高さ)を画像に関連付けし(ステップS107)、画像内に未だ処理していないARマーカが存在する場合には、未処理のARマーカを同様に処理し、画像内の全てのARマーカが処理済みの場合(ステップS108)には、対象物の物体情報、姿勢・重心位置情報及びバウンディングボックス情報が紐付いた1枚の画像を出力し(ステップS109)、全ての撮像画像につき処理を行う(ステップS110)。
全ての画像についての処理完了後に、撮像画像中からマーカを含むプレートを隠蔽し(ステップS111)、学習データセットを作製する。
【0092】
上記2)のステップ後に撮像画像中からマーカを含むプレートを隠蔽するステップ(ステップS111)は、
図10を参照して説明する。
まず、取得した画像から、プレート領域を検出する(ステップS41)。次に、切り抜かれたプレートの形状の内、何れかのプレートを選択する(ステップS42)。事前に近似した形状情報を用いて、プレート領域を抽出する(ステップS43)。未処理のプレートがある場合には、未処理のプレートを選択し(ステップS42)、同様の処理を行う。全てのプレートにつき処理を行った後(ステップS44)、抽出した全ての領域に対してノイズ画像又は背景画像で上書きを行う(ステップS45)。
【0093】
また、物体認識及び位置姿勢推定方法の一部の処理をコンピュータに実行させるための物体認識及び位置姿勢推定プログラムについて
図17を参照して説明する。物体認識及び位置姿勢推定プログラムは、a)新たに撮像された撮像画像から、画像認識によって物体の名称を検出して認識用バウンディングボックスを作成するステップと、b)認識用バウンディングボックスを切り出した部分画像を生成し、生成した部分画像に基づき学習済みモデルを用いて、検出した物体の姿勢を推定するステップと、c)認識用バウンディングボックスの重心位置、幅及び高さを取得し、学習済みモデルを用いて、検出した物体の重心位置を推定するステップをコンピュータに実行させる。
上記a)のステップでは、画像認識により、物体を検出し、画像座標系における位置を検出し(ステップS302)、物体情報(名称など)を取得して、認識用バウンディングボックスを設定する(ステップS303)。
上記b)のステップでは、設定された認識用バウンディングボックスの内、いずれか1つを選択し(ステップS304)、撮像画像から、認識用バウンディングボックス内を切り抜き(ステップS305)、深層学習など機械学習によって得られた学習済みモデルの分類器を用いて、物体の姿勢を推定する(ステップS306)。
上記c)のステップでは、認識用バウンディングボックスの幅、高さを取得し(ステップS307)、学習済みモデルの回帰器により、実空間の3次元座標における物体の重心位置を推定する(ステップS308)。
【実施例8】
【0094】
本実施例においては、単一の視覚マーカ(以下、単一マーカ)の場合、複数の視覚マーカ(以下、複数マーカ)の場合、及び、人手による場合について、学習データセット生成時間、物体認識精度及び位置・姿勢推定精度の比較を行った。
【0095】
(学習データセット生成時間の評価結果)
下記表2は、単一マーカ、複数マーカ及び人手による場合の学習データセット生成時間の測定結果を表している。比較対象とする撮像画像としては、単一マーカの場合、複数マーカの場合及び、人手による場合のそれぞれにつき学習用として500枚撮影した。
図25は、実施例8の比較実験における撮影方法の説明図を示している。
図25に示すように、撮影に当たっては、データの偏りが起こらないように、画像中に縦3×横8のポイント38を設定し、それぞれのポイント毎に45°刻みで配置を回転させて、撮影を行った。人手によるアノテーションは2人で実施した。なお、本明細書においてアノテーションとは、撮像画像に対するバウンディングボックスの設定だけではなく、物体情報の関連付けも含めたものを指している。
【0096】
【0097】
上記表2に示すように、単一マーカの場合の撮影時間は75分、アノテーションにかかる時間は32.2分、合計時間は112.2分であった。複数マーカの場合の撮影時間は436分、アノテーションにかかる時間は0分、合計時間は436分であった。また、人手による場合の撮影時間は80分、アノテーションにかかる時間は886分、合計時間は966分であった。
以上より、単一マーカによる学習データセットの生成は、人手による学習データセットの生成と比較して、88.4%の効率化に成功したといえる。また、複数マーカによる学習データセットの生成は、人手による学習データセットの生成と比較して、54.9%の効率化に成功したといえる。
【0098】
(物体認識に関する比較実験結果)
下記表3~5は、単一マーカの場合、複数マーカの場合及び人手による場合についての物体認識精度に関する測定結果を表している。実験条件としては、ボトルA、ボトルB、パウチA、パウチB、缶A及び缶Bにつき、“F値”、“Precision”及び“Recall”を測定した。なお、ボトルとは、ペットボトルのことである。
ここで、“Recall”は再現率であり、実際に正であるもののうち、正であると予測されたものの割合を意味し、見つけなければいけないものをどれだけ見つけたかを数値化したものであり、最小値が0%で、100%あるいは100%に近いほど優れている。また、“Precision”は判定したものの正確さを表す指標であり、TP/(TP+FP)から算術する(TP:True Positive,FP:False Positive)。Precisionも、最小値が0%で、100%に近いほど優れている。また、“F値”は、機械学習における予測結果の評価尺度の一つであり、精度と再現率の調和平均を示している。具体的には、F値は、Recallの値を“A”、Precisionの値を“B”とすると、2×B×A/(A+B)から算術する。F値も、最小値が0%で、100%に近いほど優れている。
【0099】
【0100】
【0101】
【0102】
上記表3~5に示すように、単一マーカの場合のF値の平均は87.3%、複数マーカの場合のF値の平均は95.8%、人手による場合のF値の平均は84.6%であり、単一マーカおよび複数マーカの両者で人手以上の認識性能となることを確認できる。
また、単一マーカと複数マーカで比較すると、表3及び4に示すように、F値、PrecisionおよびRecallにおいて、パウチA、パウチB、缶A及び缶Bの4つの対象物体で、複数マーカの場合の方が、認識精度がより高いことを確認できる。
これに対して、ペットボトルについては単一マーカの方が、認識精度が高い。すなわち、ボトルAについては、単一マーカの場合、F値、Precision及びRecallはいずれも100%であり、ボトルBについても、単一マーカの場合、F値は98.5%、Precisionは99%、Recallは98%といずれも複数マーカの場合よりも認識精度は高いことが確認できる。しかしながら、複数マーカの場合も、ボトルAについては、F値は98%、Precisionは99%、Recallは97%、ボトルBについては、F値は93.8%、Precisionは96.8%、Recallは91%と、単一マーカの場合と大差なく高い数値を示している。
そのため、複数マーカによる手法が、より多品種の対象物体を高い精度で認識するための学習データセット生成冶具として有用だと考えられる。
【0103】
(位置・姿勢推定に関する比較実験結果)
図26は、位置・姿勢推定に関する比較実験結果を表すグラフであり、
図26(1)は、単一マーカの場合、複数マーカの場合及び人手による場合についての位置推定誤差を表すグラフである。なお、
図26では、ボトルA、ボトルB、パウチA、パウチB、缶A及び缶Bにつき比較しており、グラフの数値は小数第二位を四捨五入して説明する。
【0104】
図26(1)に示すように、人手による場合の位置推定誤差は、ボトルAが28.0mm、ボトルBが27.0mm、パウチAが23.6mm、パウチBが29.4mm、缶Aが13.3mm、缶Bが15.2mmであり、単一マーカ又は複数マーカの場合のいずれの場合よりも少ないことが確認できる。
これに対して、単一マーカの場合は、ボトルAが28.3mm、ボトルBが28.4mm、パウチAが46.8mm、パウチBが51.1mm、缶Aが27.7mm、缶Bが32.1mmであり、複数マーカの場合は、ボトルAが33.2mm、ボトルBが35.1mm、パウチAが30.7mm、パウチBが39.9mm、缶Aが17.3mm、缶Bが17.7mmであった。
したがって、ボトルA及びボトルBについては、単一マーカの場合、人手による場合と殆ど変わらない誤差であることが判る。また、複数マーカの場合は、ボトルA及びボトルBについては、単一マーカよりもやや大きな誤差が確認されたが、その差は僅かであり、しかも、パウチA、パウチB、缶A及び缶Bについては単一マーカの場合に比べて誤差を小さくできることが判った。
【0105】
図26(2)は、単一マーカの場合、複数マーカの場合及び人手による場合についての姿勢推定の正答率を表すグラフである。位置推定と同様に、ボトルA、ボトルB、パウチA、パウチB、缶A及び缶Bにつき比較している。
図26(2)に示すように、人手による場合の姿勢推定の正答率は、ボトルAが73.4%、ボトルBが37.4%、パウチAが86.1%、パウチBが89.9%、缶Aが71.9%、缶Bが79.1%であり、単一マーカ又は複数マーカの場合のいずれの場合よりも少なかった。
また、単一マーカの場合の姿勢推定の正答率は、ボトルAが24.0%、ボトルBが14.3%、パウチAが20.5%、パウチBが14.8%、缶Aが15.5%、缶Bが16.2%であった。
これに対して、複数マーカの場合の姿勢推定の正答率は、ボトルAが48.5%、ボトルBが19.8%、パウチAが69.3%、パウチBが77.5%、缶Aが67.4%、缶Bが76.5%であり、ボトルA、ボトルB、パウチA、パウチB、缶A及び缶Bのいずれについても単一マーカの場合よりも高い正答率が得られることが判った。
【0106】
(実験結果のまとめ)
以上より、単一マーカを用いた場合は、88.4%のデータ収集時間の効率化が図られ、物体認識においては、十分な性能が得られることが判った。これに対して、複数マーカを用いた場合には、54.9%のデータ収集時間の効率化が図られ、物体認識だけではなく、位置・姿勢推定においても、十分な性能が得られることが判った。
【実施例9】
【0107】
(単一マーカにおける隠蔽処理の効果について)
本実施例においては、人手による場合、自動収集において単一マーカを背景画像の上書きで隠蔽処理を行った場合及び自動収集において単一マーカをノイズ画像の上書きで隠蔽処理を行った場合について、物体認識精度の比較を行った。対象物体としては、実施例8と同じくボトルA、ボトルB、パウチA、パウチB、缶A及び缶Bにつき比較を行った。
下記表6は、人手による場合、背景とする隠蔽処理を行った場合、及びノイズとする隠蔽処理を行った場合の物体認識精度に関するF値の比較結果を示している。
【0108】
【0109】
上記表6に示すように、ボトルAについては、人手による場合のF値は99%であるのに対して、背景とする隠蔽処理を行った場合は97.1%と人手による場合より低く、逆にノイズとする隠蔽処理を行った場合にはF値が100%と人手による場合より高い認識率が得られた。
ボトルBについては、人手による場合のF値は98.5%であるのに対して、背景とする隠蔽処理を行った場合は98%と人手による場合より低く、ノイズとする隠蔽処理を行った場合は98.5%と人手による場合と同等の認識率が得られた。
これに対して、パウチAについては、人手による場合のF値は71.9%であったが、背景とする隠蔽処理を行った場合は81.8%、ノイズとする隠蔽処理を行った場合は78.9%となり、いずれも人手による場合より高い認識率が得られた。
【0110】
パウチBについても、人手による場合のF値は79.8%であったが、背景とする隠蔽処理を行った場合は85.9%、ノイズとする隠蔽処理を行った場合は83.1%となり、いずれも人手による場合より高い認識率が得られた。
缶Aについては、人手による場合のF値は81.8%であるのに対して、背景とする隠蔽処理を行った場合は51.9%と人手による場合より低く、逆にノイズとする隠蔽処理を行った場合にはF値が82.1%と人手による場合より高い認識率が得られた。
缶Bについては、人手による場合のF値は76.8%であるのに対して、背景とする隠蔽処理を行った場合は55.3%と人手による場合より低く、逆にノイズとする隠蔽処理を行った場合にはF値が81%と人手による場合より高い認識率が得られた。
【0111】
以上より、単一マーカにおいて背景と同色とする隠蔽処理を行った場合には、パウチA及びパウチBについてのみ、人手による場合より高い認識率が得られたが、単一マーカにおいてノイズとする隠蔽処理を行った場合には、ボトルA、ボトルB、パウチA、パウチB、缶A及び缶Bの全てにおいて、人手による場合と同等以上の認識率が得られた。したがって、単一マーカにおいてノイズとする隠蔽処理を行った場合には、幅広い種類の物体について認識率が向上することが分かった。
【産業上の利用可能性】
【0112】
本発明は、産業用ロボットによる工場の自動化システムとして有用である。すなわち、本発明の学習データセット作製方法により作製した学習データセットを用いて機械学習を行った産業用ロボット、本発明の物体認識及び位置姿勢推定方法を用いた産業用ロボット、或は、本発明の物体認識及び位置姿勢推定プログラムが搭載された産業用ロボットは、食品業界や物流業界における仕分け作業や加工作業などの工場の自動化システムに利用可能である。また、建物等における防犯システムにも利用可能である。
【符号の説明】
【0113】
1 ロボット制御システム
2 カメラ
3,3a~3r ARマーカ
4,40,41 コンピュータ
5,5a~5e 対象物
6a~6c バウンディングボックス
7a~7f,70 画像
8,80,81 データベース
9 モデル生成コンピュータ
9a 分類器
9b 回帰器
10 学習データセット生成手段
11 物体認識及び位置姿勢推定手段
12 ベルトコンベア
13 ロボット
13a ロボットアーム
14,14a~14c,140a~140d プレート
15a~15c 隠蔽部
16a~16f 認識用バウンディングボックス
17,170,171 ベース部
18,180,181 エリア
18a 位置調整用ガイド
18b 向き調整用ガイド
19a~19i 矢印
20,21 撮像手段
22 L字状プレート
22a 底部
22b 側面部
30 学習データセット生成治具
33 基準マーカ(ARマーカ)
36 台座部
37 支柱
38 ポイント
39a 円筒形状
39b 円錐台形状
40a ARマーカ認識手段
40b 対象物認識手段
40c バウンディングボックス設定手段
40d 姿勢推定手段
40e 重心位置推定手段
40f バウンディングボックス割付手段
40g 学習データセット生成治具領域隠蔽手段
40h 検出手段
40i 抽出手段
40j 隠蔽手段
41a 物体認識手段
41b 認識用バウンディングボックス設定手段
41c 学習済みモデル
120 コンベア
120a コンベアベルト
120b 回転機構
120c 直動機構
C 角部
P 中心点