TOP特許意匠商標
特許ウォッチ DM通知 Twitter
10個以上の画像は省略されています。
公開番号2021070122
公報種別公開特許公報(A)
公開日20210506
出願番号2019199418
出願日20191031
発明の名称学習データ生成方法
出願人ミネベアミツミ株式会社
代理人特許業務法人虎ノ門知的財産事務所
主分類B25J 9/22 20060101AFI20210409BHJP(手工具;可搬型動力工具;手工具用の柄;作業場設備;マニプレータ)
要約【課題】把持動作の機械学習に用いる学習データを容易に生成する。
【解決手段】本発明の一態様に係る学習データ生成方法は、画像生成ソフトウェアによりバラ積みされたワークの画像を生成し、機械学習の学習データとする。
【選択図】図1
特許請求の範囲【請求項1】
画像生成ソフトウェアによりバラ積みされたワークの画像を生成し、機械学習の学習データとする学習データ生成方法。
続きを表示(約 280 文字)【請求項2】
把持対象のワークの三次元モデルを取得し、
前記三次元モデルの位置及び姿勢を決定し、
複数の前記三次元モデルを、決定された前記位置及び姿勢に基づいて仮想空間上に配置し、
前記三次元モデルが配置された前記仮想空間を撮像した画像を取得することにより、前記バラ積みされたワークの画像を生成する、請求項1に記載の学習データ生成方法。
【請求項3】
前記バラ積みされた各ワークの座標及び姿勢と、前記バラ積みされたワークの画像とを含む教師データを用いた機械学習処理をさらに行う、請求項1又は2に記載の学習データ生成方法。

発明の詳細な説明【技術分野】
【0001】
本発明は、学習データ生成方法に関する。
続きを表示(約 8,500 文字)【背景技術】
【0002】
バラ積みされた複数の対象物(ワーク)をロボットアーム等により把持するために、ワークの三次元形状をモデル化した仮想的な作業空間である仮想作業空間内に複数のワークモデルを積み上げ、バラ積みピッキング動作を検証するシミュレーションを行う技術が知られている。
【先行技術文献】
【特許文献】
【0003】
特開2018−144152号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、バラ積みされた実在のワークを多数3次元モデル化し、さらに、ピッキング動作のシミュレーションを行うには長い時間を要する。
【0005】
本発明は、上記課題を一例とするものであり、ロボットアーム等による把持動作を機械学習するための学習データを、画像生成ソフトウェアを利用して作成する学習データ生成方法、この学習データを利用した機械学習方法及びこの機械学習方法を利用した把持装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様に係る学習データ生成方法は、画像生成ソフトウェアによりバラ積みされたワークの画像を生成し、機械学習の学習データとする。
【発明の効果】
【0007】
本発明の一態様によれば、把持動作の機械学習に用いる学習データを容易に生成することができる。
【図面の簡単な説明】
【0008】
図1は、第1の実施形態に係る画像処理装置を実装した物体把持システムの一例を示す図である。
図2は、第1の実施形態に係る物体把持システムの構成の一例を示すブロック図である。
図3は、学習処理の一例を示すフローチャートである。
図4は、対象物の三次元データの一例を示す図である。
図5は、複数の対象物が配置された仮想空間のキャプチャ画像の一例を示す図である。
図6は、ロボットアームの制御に関する処理の一例を示す図である。
図7は、ロボットアームの制御に関する処理の別の一例を示す図である。
図8は、第1の実施形態に係る検出モデルの一例を示す図である。
図9は、第1の実施形態に係る特徴検出層(u1)が出力する特徴マップの一例を示す図である。
図10は、第1の実施形態に係る対象物の位置及び姿勢の推定結果の一例を示す図である。
図11は、第1の実施形態に係る対象物の把持位置の推定結果の別の一例を示す図である。
図12は、第1の実施形態に係るステレオカメラにより撮影されたバラ積み画像の一例を示す図である。
図13は、第1の実施形態に係るバラ積み画像とマッチングマップとの関係の一例を示す図である。
図14は、第1の実施形態に係る推定処理の一例を示すフローチャートである。
図15は、第1の実施形態に係る推定処理の一例を示す図である。
図16は、変形例に係るトレイを含むバラ積み画像の一例を示す図である。
図17は、変形例に係る位置ずれ推定モデルの一例を示す図である。
図18は、変形例に係る位置ずれ推定モデルの別の一例を示す図である。
【発明を実施するための形態】
【0009】
以下、実施形態に係る画像処理装置及び画像処理方法について図面を参照して説明する。なお、この実施形態によりこの発明が限定されるものではない。また、図面における各要素の寸法の関係、各要素の比率などは、現実と異なる場合がある。図面の相互間においても、互いの寸法の関係や比率が異なる部分が含まれている場合がある。また、1つの実施形態や変形例に記載された内容は、原則として他の実施形態や変形例にも同様に適用される。
【0010】
(第1の実施形態)
第1の実施形態における画像処理装置は、例えば物体把持システム1において用いられる。図1は、第1の実施形態に係る画像処理装置を実装した物体把持システムの一例を示す図である。図1に示す物体把持システム1は、図示しない画像処理装置10と、カメラ20と、ロボットアーム30とを備える。カメラ20は、例えば、ロボットアーム30と、ロボットアーム30が把持する対象物となる、バラ積みされたワーク41、42等との両方を撮影可能な位置に設けられる。カメラ20は、例えば、ロボットアーム30と、ワーク41、42の画像とを撮影し、画像処理装置10に出力する。なお、ロボットアーム30とバラ積みされたワーク41,42等とは別々のカメラで撮影してもよい。第1の実施形態におけるカメラ20には、図1に示されるように、例えば公知のステレオカメラ等、複数の画像を撮影できるカメラが用いられる。画像処理装置10は、カメラ20から出力された画像を用いて、ワーク41、42等の位置及び姿勢を推定する。画像処理装置10は、推定されたワーク41、42等の位置及び姿勢に基づいて、ロボットアーム30の動作を制御する信号を出力する。ロボットアーム30は、画像処理装置10から出力された信号に基づいて、ワーク41、42等を把持する動作を行う。なお、図1においては、複数の異なる種類のワーク41、42等が開示されているが、ワークの種類は1種類であってもよい。第1の実施形態においては、ワークが1種類である場合について説明する。また、ワーク41、42等は、位置及び姿勢が不規則であるように配置されている。図1に示すように、例えば、複数のワークが上面視において重なるように配置されていてもよい。また、ワーク41、42は、対象物の一例である。
【0011】
図2は、第1の実施形態に係る物体把持システムの構成の一例を示すブロック図である。図2に示すように、画像処理装置10は、カメラ20及びロボットアーム30と、ネットワークNWを通じて通信可能に接続されている。また、図2に示すように、画像処理装置10は、通信I/F(インターフェース)11と、入力I/F12と、ディスプレイ13と、記憶回路14と、処理回路15とを備える。
【0012】
通信I/F11は、ネットワークNWを通じた外部装置とのデータ入出力の通信を制御する。例えば、通信I/F11は、ネットワークカードやネットワークアダプタ、NIC(Network Interface Controller)等によって実現され、カメラ20から出力される画像のデータを受信するとともに、ロボットアーム30に出力する信号を送信する。
【0013】
入力I/F12は、処理回路15に接続され、画像処理装置10の管理者(不図示)から受け付けた入力操作を電気信号に変換して処理回路15に出力する。例えば、入力I/F12は、スイッチボタン、マウス、キーボード、タッチパネル等である。
【0014】
ディスプレイ13は、処理回路15に接続され、処理回路15から出力される各種情報及び各種画像データを表示する。例えば、ディスプレイ13は、液晶モニタやCRT(Cathode Ray Tube)モニタ、タッチパネル等によって実現される。
【0015】
記憶回路14は、例えば、メモリ等の記憶装置により実現される。記憶回路14には、処理回路15により実行される各種のプログラムが記憶されている。また、記憶回路14には、処理回路15により各種のプログラムが実行される際に用いられる各種のデータが一時的に記憶される。記憶回路14は、機械(深層)学習モデル141を有する。さらに、機械(深層)学習モデル141はニューラルネットワーク構造141aと学習パラメータ141bを備えている。ニューラルネットワーク構造141aは、例えば、図8の畳み込みニューラルネットワークb1のような公知のネットワークを応用したもので、後述する図15に示されるネットワーク構造である。学習パラメータ141bは、例えば、畳み込みニューラルネットワークの畳み込みフィルタの重みであり、対象物の位置及び姿勢を推定するために学習され、最適化されるパラメータである。ニューラルネットワーク構造141aは、推定部152に備えられていても構わない。なお、本発明における機械(深層)学習モデル141は学習済みモデルを例として説明するが、これに限定されない。なお、以下において、機械(深層)学習モデル141を、単に「学習モデル141」と表記する場合がある。
【0016】
学習モデル141は、カメラ20から出力された画像から、ワークの位置及び姿勢を推定する処理に用いられる。学習モデル141は、例えば、複数のワークの位置及び姿勢と、当該複数のワークを撮影した画像とを教師データして学習することにより生成される。なお、第1の実施形態においては、学習モデル141が、例えば、処理回路15により生成されるが、これに限られず、外部のコンピュータにより生成されてもよい。以下においては、図示しない学習装置により、学習モデル141が生成及び更新される実施形態について説明する。
【0017】
第1の実施形態において、学習モデル141の生成に用いられる大量の画像は、例えば、仮想空間上に複数のワークを配置し、当該仮想空間の画像をキャプチャすることにより生成されてもよい。図3は、学習処理の一例を示すフローチャートである。図3に示すように、学習装置は、対象物の三次元データを取得する(ステップS101)。三次元データは、例えば公知の3Dスキャン等の手法により取得することができる。図4は、対象物の三次元データの一例を示す図である。三次元データを取得することにより、仮想空間上において、ワークの姿勢を任意に変更して配置させることができる。
【0018】
次に、学習装置は、仮想空間上に、対象物を配置する際の各種条件を設定する(ステップS102)。仮想空間への対象物の配置は、例えば公知の画像生成ソフトウェア等を用いて行うことができる。配置する対象物の数や位置、姿勢などの条件は、画像生成ソフトウェアがランダムに対象物を生成するように設定することも可能だが、これに限らず、画像処理装置10の管理者が任意に設定してもよい。次に、学習装置は、設定された条件に従い、仮想空間上に対象物を配置する(ステップS103)。次に、学習装置は、例えば、複数の対象物が配置された仮想空間をキャプチャすることにより、配置された対象物の画像、位置及び姿勢を取得する(ステップS104)。第1の実施形態において、対象物の位置及び姿勢は、例えば三次元座標(x,y,z)により示され、対象物の姿勢は、物体の姿勢又は回転状態を表す四元数であるクオタニオン(qx,qy,qz,qw)により示される。図5は、複数の対象物が配置された仮想空間のキャプチャ画像の一例を示す図である。図5に示すように、仮想空間上には、複数の対象物W1a及びW1bが、それぞれランダムな位置及び姿勢にて配置される。また、以下において、ランダムに配置された対象物の画像を、「バラ積み画像」と表記する場合がある。次に、学習装置は、取得された画像と、配置された対象物の位置及び姿勢を記憶回路14に保存する(ステップS105)。さらに、学習装置は、ステップS102からステップS105をあらかじめ定められた回数繰り返す(ステップS106)。なお、ここで記憶回路14に保存される、上記ステップによって取得された画像と対象物が配置された位置及び姿勢との組み合わせを「教師データ」と表記する場合がある。ステップS102からステップS105までの処理を所定の回数繰り返すことにより、学習処理を繰り返し行うために十分な数の教師データが生成される。
【0019】
そして、学習装置は、生成された教師データを用いて所定の回数学習処理を行うことにより、ニューラルネットワーク構造141aにおいて重み付けとして用いられる学習パラメータ141bを生成し、又は更新する(ステップS107)。このように、三次元データが取得された対象物を仮想空間上に配置することにより、学習処理に用いられる、対象物の画像と、位置及び姿勢の組み合わせとを含む教師データを、容易に生成することができる。
【0020】
図2に戻って、処理回路15は、CPU(Central Processing Unit)等のプロセッサにより実現される。処理回路15は、画像処理装置10全体を制御する。処理回路15は、記憶回路14に記憶された各種のプログラムを読み取り、読み取ったプログラムを実行することで、各種の処理を実行する。例えば、処理回路15は、画像取得部151と、推定部152と、ロボット制御部153とを有することとなる。
【0021】
画像取得部151は、例えば、通信I/F11を通じて、バラ積み画像を取得し、推定部152に出力する。画像取得部151は、取得部の一例である。
【0022】
推定部152は、出力されたバラ積み画像を用いて、対象物の位置及び姿勢を推定する。推定部152は、例えば、学習モデル141を用いて、対象物の画像に対する推定処理を行い、推定結果をロボット制御部153に出力する。なお、推定部152は、例えば、対象物が配置されるトレイ等の位置及び姿勢をさらに推定してもよい。トレイの位置及び姿勢を推定する構成については、後に説明する。
【0023】
ロボット制御部153は、推定された対象物の位置及び姿勢に基づいて、ロボットアーム30を制御する信号を生成し、通信I/F11を通じてロボットアーム30に出力する。ロボット制御部153は、例えば、現在のロボットアーム30の位置及び姿勢に関する情報を取得する。そして、ロボット制御部153は、現在のロボットアーム30の位置及び姿勢と、推定された対象物の位置及び姿勢に応じて、ロボットアーム30が対象物を把持する際に移動する軌道を生成する。なお、ロボット制御部153は、トレイ等の位置及び姿勢に基づいて、ロボットアーム30が移動する軌道を修正してもよい。
【0024】
図6は、ロボットアームの制御に関する処理の一例を示す図である。図6に示すように、推定部152は、バラ積み画像から、ターゲットとなる対象物の位置及び姿勢を推定する。同様に、推定部152は、バラ積み画像から、対象物が配置されたトレイ等の位置及び姿勢を推定してもよい。ロボット制御部153は、推定された対象物及びトレイ等のモデルに基づいて、ロボットアーム30の手先の位置の座標及び姿勢を算出し、ロボットアーム30の軌道を生成する。
【0025】
なお、ロボット制御部153は、ロボットアーム30が対象物を把持した後に、把持した対象物を整列させるためのロボットアーム30の動作を制御する信号を、さらに出力してもよい。図7は、ロボットアームの制御に関する処理の別の一例を示す図である。図7に示すように、画像取得部151は、カメラ20により撮影された、ロボットアーム30により把持された対象物を撮影した画像を取得する。推定部152は、ターゲットとなる、ロボットアーム30に把持された対象物の位置及び姿勢を推定し、ロボット制御部153に出力する。また、画像取得部151は、カメラ20により撮影された、把持された対象物の移動先となる、整列先のトレイ等の画像をさらに取得してもよい。その際、画像取得部151は、整列先のトレイ等に既に整列された対象物の画像(整列済み画像)をさらに取得する。推定部152は、整列先の画像、又は整列済み画像から、整列先となるトレイ等の位置及び姿勢、並びに既に整列済みである対象物の位置及び姿勢を推定する。そして、ロボット制御部153は、推定された、ロボットアーム30に把持された対象物の位置及び姿勢、整列先となるトレイ等の位置及び姿勢、並びに既に整列済みである対象物の位置及び姿勢に基づいて、ロボットアーム30の手先の位置の座標及び姿勢を算出し、対象物を整列させる際のロボットアーム30の軌道を生成する。
【0026】
次に、推定部152における推定処理について説明する。推定部152は、例えば公知のダウンサンプリング、アップサンプリング、スキップコネクションを持つ物体検出モデルを応用したモデルを用いて、対象物の特徴量を抽出する。図8は、第1の実施形態に係る検出モデルの一例を示す図である。図8に示す物体検出モデルにおいて、d1層は、例えばバラ積み画像P1(320×320ピクセル)を畳み込みニューラルネットワークb1を介してダウンサンプリングによって縦横40×40グリッドに区分し、各グリッドについて複数の特徴量(例えば256種類)を算出する。また、d1層より下位の層にあたるd2層は、d1層で区分されたグリッドを、d1層よりも粗く(例えば20×20グリッドに)区分して、各グリッドの特徴量を算出する。同様に、d1層及びd2層よりも下位の層にあたるd3層及びd4層は、d2層で区分されたグリッドを、それぞれより粗く区分する。d4層はアップサンプリングによって、より精細な区分で特徴量を算出し、同時にスキップコネクションs3によりd3層の特徴量と統合してu3層を生成する。スキップコネクションは、単純な加算、特徴量の連結でも良く、d3層の特徴量に対して畳み込みニューラルネットワークのような変換が加えられていても良い。同様にu3層をアップサンプリングして算出した特徴量とd2層の特徴量をスキップコネクションs2により統合してu2層を生成する。さらに同様にu1層を生成する。この結果、u1層においては、d1層と同様に、40×40グリッドに区分された各グリッドの特徴量が算出される。
【0027】
図9は、第1の実施形態に係る特徴抽出層(u1)が出力する特徴マップの一例を示す図である。図9に示す特徴マップの水平方向は、40×40のグリッドに区分されたバラ積み画像P1の水平方向の各グリッドを示し、垂直方向は、垂直方向の各グリッドを示す。また、図9に示す特徴マップの奥行方向は、各グリッドにおける特徴量の要素を示す。
【0028】
図10は、第1の実施形態に係る対象物の位置及び姿勢の推定結果の一例を示す図である。図10に示すように、推定部は、対象物の位置を示す2次元座標(Δx,Δy)、対象物の姿勢を示すクオタニオン(qx,qy,qz,qw)、及びクラス分類のスコア(C0,C1,…,Cn)を出力する。なお、第1の実施形態においては、推定結果として、対象物の位置を示す座標のうち、カメラ20から対象物までの距離を示す深度の値は算出されない。深度の値を算出する構成については、後に説明する。なお、ここで言う深度とは、カメラの光軸に平行なz軸方向における、カメラのz座標から対象物のz座標までの距離をいう。なお、クラス分類のスコアはグリッドごとに出力される値であって、そのグリッドに対象物の中心点が含まれている確率である。例えば、対象物の種類がn種類だった場合に、これに“対象物の中心点が含まれていない確率”を加えてn+1個のクラス分類のスコアが出力される。例えば、対象物となるワークが1種類のみの場合は、2個のクラス分類のスコアが出力される。また、同一グリッド内に複数の対象物が存在する場合、より上に積まれている物体の確率を出力する。
【0029】
図10において、点CはグリッドGxの中心を示し、座標(Δx,Δy)である点ΔCは、例えば、検出された対象物の中心点を示す。すなわち、図10に示す例において、対象物の中心は、グリッドGxの中心点Cから、x軸方向にΔx、y軸方向にΔyだけオフセットしている。
【0030】
なお、図10に代えて、図11に示すように対象物の中心以外の任意の点a、b、cを設定し、グリッドGxの中心の点Cからの任意の点a、b、cの座標(Δx1,Δy1、Δz1、Δx2,Δy2、Δz2、x3,Δy3、Δz3)を出力してもよい。なお、任意の点は対象物のどの位置に設定してもよく、1点でも複数の点でも構わない。
(【0031】以降は省略されています)

この特許をJ-PlatPatで参照する

関連特許

ミネベアミツミ株式会社
歯車
ミネベアミツミ株式会社
玉軸受
ミネベアミツミ株式会社
モータ
ミネベアミツミ株式会社
モータ
ミネベアミツミ株式会社
モータ
ミネベアミツミ株式会社
モータ
ミネベアミツミ株式会社
モータ
ミネベアミツミ株式会社
モータ
ミネベアミツミ株式会社
ファン
ミネベアミツミ株式会社
モータ
ミネベアミツミ株式会社
光学部材
ミネベアミツミ株式会社
モーター
ミネベアミツミ株式会社
回転装置
ミネベアミツミ株式会社
制御装置
ミネベアミツミ株式会社
回転機器
ミネベアミツミ株式会社
回転装置
ミネベアミツミ株式会社
通信装置
ミネベアミツミ株式会社
レゾルバ
ミネベアミツミ株式会社
遠心ファン
ミネベアミツミ株式会社
遠心ファン
ミネベアミツミ株式会社
遠心送風機
ミネベアミツミ株式会社
ファン装置
ミネベアミツミ株式会社
湿度センサ
ミネベアミツミ株式会社
面状照明装置
ミネベアミツミ株式会社
遊星歯車装置
ミネベアミツミ株式会社
面状照明装置
ミネベアミツミ株式会社
トルクセンサ
ミネベアミツミ株式会社
ファンモータ
ミネベアミツミ株式会社
面状照明装置
ミネベアミツミ株式会社
面状照明装置
ミネベアミツミ株式会社
トルクセンサ
ミネベアミツミ株式会社
遊星歯車装置
ミネベアミツミ株式会社
集積回路装置
ミネベアミツミ株式会社
面状照明装置
ミネベアミツミ株式会社
面状照明装置
ミネベアミツミ株式会社
シリンジポンプ
続きを見る