IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

特開2023-81309パレットからの物品取り上げを教育するための統合的データセットの使用
<>
  • 特開-パレットからの物品取り上げを教育するための統合的データセットの使用 図1
  • 特開-パレットからの物品取り上げを教育するための統合的データセットの使用 図2
  • 特開-パレットからの物品取り上げを教育するための統合的データセットの使用 図3
  • 特開-パレットからの物品取り上げを教育するための統合的データセットの使用 図4
  • 特開-パレットからの物品取り上げを教育するための統合的データセットの使用 図5
  • 特開-パレットからの物品取り上げを教育するための統合的データセットの使用 図6
  • 特開-パレットからの物品取り上げを教育するための統合的データセットの使用 図7
  • 特開-パレットからの物品取り上げを教育するための統合的データセットの使用 図8
  • 特開-パレットからの物品取り上げを教育するための統合的データセットの使用 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023081309
(43)【公開日】2023-06-09
(54)【発明の名称】パレットからの物品取り上げを教育するための統合的データセットの使用
(51)【国際特許分類】
   G06V 10/774 20220101AFI20230602BHJP
   B25J 13/00 20060101ALI20230602BHJP
   G06V 10/82 20220101ALI20230602BHJP
   G06T 7/00 20170101ALI20230602BHJP
   G06T 19/00 20110101ALI20230602BHJP
【FI】
G06V10/774
B25J13/00 Z
G06V10/82
G06T7/00 350C
G06T19/00 A
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022183813
(22)【出願日】2022-11-17
(31)【優先権主張番号】17/538,270
(32)【優先日】2021-11-30
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(72)【発明者】
【氏名】タン トー
(72)【発明者】
【氏名】加藤 哲朗
【テーマコード(参考)】
3C707
5B050
5L096
【Fターム(参考)】
3C707AS02
3C707BS10
3C707KT03
3C707KT06
3C707LW15
3C707NS02
3C707NS19
5B050AA03
5B050BA09
5B050BA13
5B050CA01
5B050DA04
5B050EA26
5B050FA02
5B050FA05
5L096BA05
5L096CA02
5L096GA34
5L096HA11
5L096KA04
5L096MA03
(57)【要約】      (修正有)
【課題】ニューラルネットワークを教育するシステム及び方法を提供する。
【解決手段】コンピュータグラフィックスソフトウェアを用いて行う方法(50)は、サイズの異なる複数の対象物をモデル化し、該対象物の仮想画像を生成する(52)。モデル化した対象物をランダムに順に選択し、選択したモデル化対象物を、予め定めたパターンで予め定めた境界内に配置することで、配置仮想画像を生成する(58)。予め定めたデータ及び情報に基づいて、配置仮想画像の仮想画像を描画する(90)。描画した仮想画像内の対象物に独立してラベル付けすることによって、注釈付き仮想画像を生成する(112)。そして、ランダムに順に選択したモデル化対象物に対して、配置仮想画像を生成し、仮想画像を描画し、注釈付き仮想画像を生成することを繰り返し、次いで、複数の描画された仮想画像及び注釈付き仮想画像を用いて、ニューラルネットワークを教育する。
【選択図】図3
【特許請求の範囲】
【請求項1】
ニューラルネットワークを教育するための方法であって、
コンピュータグラフィックスソフトウェアを用いて、サイズの異なる複数の対象物をモデル化し、該対象物の仮想画像を生成し、
前記コンピュータグラフィックスソフトウェアを用いて、モデル化した前記対象物をランダムに順に選択し、選択した前記モデル化した対象物を、予め定めたパターンで、予め定めた境界内に配置することで、配置仮想画像を生成し、
前記コンピュータグラフィックスソフトウェアを用いて、予め定めたデータ及び情報に基づいて、前記配置仮想画像の仮想画像を描画し、
前記コンピュータグラフィックスソフトウェアを用いて、描画した前記仮想画像内の前記対象物に独立してラベル付けすることによって、注釈付き仮想画像を生成し、
ランダムに順に選択した前記モデル化した対象物に対して、配置仮想画像を生成し、仮想画像を描画し、注釈付き仮想画像を生成することを繰り返し、
複数の描画された前記仮想画像及び前記注釈付き仮想画像を用いて、前記ニューラルネットワークを教育する、方法。
【請求項2】
前記サイズの異なる複数の対象物をモデル化するときに、前記対象物の全ての側面の写真を撮像し、前記コンピュータグラフィックスソフトウェアにアップロードする、請求項1に記載の方法。
【請求項3】
前記サイズの異なる複数の対象物をモデル化するときに、前記対象物の、テクスチャのない仮想画像を生成し、前記写真を選択して前記対象物の側面に整列させて、前記対象物の、テクスチャのある仮想画像を生成する、請求項2に記載の方法。
【請求項4】
前記配置仮想画像を生成するときに、
前記境界内でデフォルトの回動点を選択し、
選択した前記モデル化した対象物を、前記回動点に配置し、
配置した前記モデル化した対象物の位置に基づいて、更新した回動点を特定し、
別のモデル化した前記対象物を、前記更新した回動点に配置し、
前記配置仮想画像を生成するまで、前記回動点を更新することと、モデル化した前記対象物を所定の順でx軸、y軸及びz軸の方向に配置することと、を繰り返す、請求項1に記載の方法。
【請求項5】
予め定めた制約の下で、前記モデル化した対象物を配置し、
前記制約は、
配置した前記モデル化した対象物が全体として前記境界内に収まっているか否か、及び、
配置した前記モデル化した対象物が、既に配置された別のモデル化した対象物と交差しているか否か、を含む、請求項4に記載の方法。
【請求項6】
前記配置仮想画像の仮想画像を描画するために用いられる前記予め定めたデータ及び情報は、前記対象物の姿勢及び材料と、前記ニューラルネットワークの周りのシミュレーション環境における光の色及び強度と、仮想カメラの視界、解像度、及び焦点と、該環境における背景及び光反射と、を含む、請求項1に記載の方法。
【請求項7】
前記注釈付き仮想画像を生成するときに、前記対象物の姿勢及び印と、前記ニューラルネットワークの周りのシミュレーション環境における光の色及び強度と、仮想カメラの視界、解像度、及び焦点と、該環境における背景及び光反射と、を用いる、請求項1に記載の方法。
【請求項8】
前記対象物は、段ボールの箱である、請求項1に記載の方法。
【請求項9】
前記ニューラルネットワークは、前記対象物を取り上げるロボットを制御するために用いられる、請求項1に記載の方法。
【請求項10】
箱を取り上げるロボット制御部に用いられるニューラルネットワークを教育するための方法であって、
コンピュータグラフィックスソフトウェアを用いて、サイズの異なる複数の箱をモデル化し、該箱の仮想画像を生成し、
前記コンピュータグラフィックスソフトウェアを用いて、モデル化した前記箱をランダムに順に選択し、選択した該モデル化した箱を、予め定めたパターンで、予め定めた境界内に配置することで、配置仮想画像を生成し、該配置仮想画像を生成するときに、
前記境界内でデフォルトの回動点を選択し、
選択した前記モデル化した箱を、前記回動点に配置し、
配置した前記モデル化した箱の位置に基づいて、更新した回動点を特定し、
別のモデル化した前記箱を、前記更新した回動点に配置し、
前記配置仮想画像を生成するまで、前記回動点を更新することと、モデル化した前記箱を所定の順でx軸、y軸及びz軸の方向に配置することと、を繰り返し、
前記コンピュータグラフィックスソフトウェアを用いて、予め定めたデータ及び情報に基づいて、前記配置仮想画像の仮想画像を描画し、該配置仮想画像の仮想画像を描画するために用いられる前記予め定めたデータ及び情報は、前記箱の姿勢及び材料と、ニューラルネットワークの周りのシミュレーション環境における光の色及び強度と、仮想カメラの視界、解像度、及び焦点と、該環境における背景及び光反射と、を含み、
前記コンピュータグラフィックスソフトウェアを用いて、描画した前記仮想画像内の前記箱に独立してラベル付けすることによって、注釈付き仮想画像を生成し、該注釈付き仮想画像を生成するときに、前記箱の姿勢及び印と、前記ニューラルネットワークの周りの前記環境における光の色及び強度と、仮想カメラの視界、解像度、及び焦点と、該環境における背景及び光反射と、を用い、
ランダムに順に選択した前記モデル化した箱に対して、配置仮想画像を生成し、仮想画像を描画し、注釈付き仮想画像を生成することを繰り返し、
複数の描画された前記仮想画像及び前記注釈付き仮想画像を用いて、前記ニューラルネットワークを教育する、方法。
【請求項11】
前記サイズの異なる複数の箱をモデル化するときに、前記箱の全ての側面の写真を撮像し、前記コンピュータグラフィックスソフトウェアにアップロードする、請求項10に記載の方法。
【請求項12】
前記サイズの異なる複数の箱をモデル化するときに、前記箱の、テクスチャのない仮想画像を生成し、前記写真を選択して前記箱の前記側面に整列させて、前記箱の、テクスチャのある仮想画像を生成する、請求項11に記載の方法。
【請求項13】
予め定めた制約の下で、前記モデル化した箱を配置し、
前記制約は、
配置した前記モデル化した箱が全体として前記境界内に収まっているか否か、及び、
配置した前記モデル化した箱が、既に配置された別のモデル化した箱と交差しているか否か、を含む、請求項10に記載の方法。
【請求項14】
ニューラルネットワークを教育するためのシステムであって、
コンピュータグラフィックスソフトウェアを用いて、サイズの異なる複数の対象物をモデル化し、該対象物の仮想画像を生成する手段と、
前記コンピュータグラフィックスソフトウェアを用いて、モデル化した前記対象物をランダムに順に選択し、選択した前記モデル化した対象物を、予め定めたパターンで、予め定めた境界内に配置することで、配置仮想画像を生成する手段と、
前記コンピュータグラフィックスソフトウェアを用いて、予め定めたデータ及び情報に基づいて、前記配置仮想画像の仮想画像を描画する手段と、
前記コンピュータグラフィックスソフトウェアを用いて、描画した前記仮想画像内の前記対象物に独立してラベル付けすることによって、注釈付き仮想画像を生成する手段と、
ランダムに順に選択した前記モデル化した対象物に対して、配置仮想画像を生成し、仮想画像を描画し、注釈付き仮想画像を生成することを繰り返す手段と、
複数の描画された前記仮想画像及び前記注釈付き仮想画像を用いて、前記ニューラルネットワークを教育する手段と、を備える、システム。
【請求項15】
前記サイズの異なる複数の対象物をモデル化する前記手段は、前記対象物の全ての側面の写真を撮像し、前記コンピュータグラフィックスソフトウェアにアップロードする、請求項14に記載のシステム。
【請求項16】
前記サイズの異なる複数の対象物をモデル化する前記手段は、前記対象物の、テクスチャのない仮想画像を生成し、前記写真を選択して前記対象物の側面に整列させて、前記対象物の、テクスチャのある仮想画像を生成する、請求項15に記載のシステム。
【請求項17】
前記配置仮想画像を生成する手段は、
前記境界内でデフォルトの回動点を選択し、
選択した前記モデル化した対象物を、前記回動点に配置し、
配置した前記モデル化した対象物の位置に基づいて、更新した回動点を特定し、
別のモデル化した前記対象物を、前記更新した回動点に配置し、
前記配置仮想画像を生成するまで、前記回動点を更新することと、モデル化した前記対象物を所定の順でx軸、y軸及びz軸の方向に配置することと、を繰り返す、請求項14に記載のシステム。
【請求項18】
予め定めた制約の下で、前記モデル化した対象物が配置され、
前記制約は、
配置した前記モデル化した対象物が全体として前記境界内に収まっているか否か、及び、
配置した前記モデル化した対象物が、既に配置された別のモデル化した対象物と交差しているか否か、を含む、請求項17に記載のシステム。
【請求項19】
前記配置仮想画像の仮想画像を描画するために用いられる前記予め定めたデータ及び情報は、前記対象物の姿勢及び材料と、前記ニューラルネットワークの周りのシミュレーション環境における光の色及び強度と、仮想カメラの視界、解像度、及び焦点と、該環境における背景及び光反射と、を含む、請求項14に記載のシステム。
【請求項20】
前記注釈付き仮想画像を生成する手段は、前記対象物の姿勢及び印と、前記ニューラルネットワークの周りのシミュレーション環境における光の色及び強度と、仮想カメラの視界、解像度、及び焦点と、該環境における背景及び光反射と、を用いる、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ニューラルネットワークを教育するためのシステム及び方法に関し、特に、ロボットによって箱の山から取り上げるべき箱を特定するロボット制御部で用いられ得るニューラルネットワークを教育するためのシステム及び方法に関する。この方法では、コンピュータグラフィックスソフトウェアを用いて箱の仮想画像を生成し、該仮想画像内の箱の姿勢に基づいて該箱を自動でラベル付けする。
【背景技術】
【0002】
ロボットは、多くの商用タスクを実行する。この商用タスクとしては、対象物を取り出して置く動作がある。この動作では、ロボットは、対象物を取り上げて、ある場所から別の場所まで移動させる。例えば、ロボットは、パレットから箱を取り上げてコンベアベルト上に置く。このとき、ロボットは、箱を保持するための吸着カップを有するエンドエフェクタを用い得る。ロボットが箱を効果的に取り上げるために、ロボットは、取り上げる箱の幅、長さ及び高さを既知とする必要があり、該幅、該長さ及び該高さは、対象物を取り上げて置く動作を実行する前に、ロボット制御部に入力される。しかしながら、同じパレット上に異なるサイズの対象物が存在する場合がしばしば在り、これにより、対象物を取り上げて置く動作の間、箱のサイズをロボットに入力することが非効率的になる。また、箱が同じ高さで隣り合って置かれる場合があり、この場合はこれらの箱が別々であるのか、又は1つの大きな箱であるのか、区別するのが困難となる。
【0003】
深層学習は、特定のタイプの機械学習であって、増加する複合概念の階層として現実世界を表すことで、より優れた学習性能を提供する。深層学習は、典型的には、複数層のニューラルネットワークを有するソフトウェア構造を用いており、該複数層のニューラルネットワークは、非線形の処理を実行し、連続する層の各々は、その前の層からの出力を受け付ける。一般的には、複数の層は、センサからの生データを受け付ける入力層と、データから抽象的な特徴を抽出する複数の隠れ層と、該隠れ層から抽出された特徴に基づいて、ある事柄を特定する出力層とを含む。ニューラルネットワークは、ニューロン又はノードを有し、各々のニューロン又はノードは、「重み」を有する。この「重み」は、ノードへの入力によって乗算され、ある事柄が正しいか否かの可能性を取得する。より具体的には、各々のノードは、浮動小数点数である重みを有し、該重みは、ノードへの入力で乗算され、該ノードの出力を生成する。この出力は、入力の何らかの比率となる。重みは、最初は「教育され」、又は、教師あり処理の下、ニューラルネットワークに既知のデータセットを分析させて、ニューラルネットワークに高い確率で正しい出力を取得可能とするように項費用関数を最小化することで、設定される。深層学習ニューラルネットワークは、画像特徴の抽出と、画像中の対象物の視覚的検知及び分類のための変換とのために、しばしば用いられる。このとき、画像のビデオ又はストリームは、対象物を特定して分類し、対象物をより良好に認識するためのプロセスを通して学習するために、ネットワークによって分析される。このように、このタイプのネットワークにおいて、システムは、アルゴリズムが対象物を認識するためにどのように学習してきたのかに基づいて、ある対象物を別々に検知して分類するための、同じ処理構成を有し得る。
【0004】
ニューラルネットワークにおける複数の層の数、及び層内のノードの個数は、ネットワークの複雑性、計算時間、及び性能の正確性を決定する。ニューラルネットワークの複雑性は、該ネットワーク内の層の数、層内のノードの数、又はその双方を減らすことで、減少させることができる。しかしながら、ネットワークの複雑性を減少させると、学習の正確性が減少することになる。また、層内のノードの個数を減少させることは、ネットワーク内の層の数を減少させることに対し、正確性において有利となることが知られている。
【0005】
本願の出願人による米国特許出願No.17/015817(2020年9月9日出願 発明の名称「サイズが混在する対象物のパレットからの取り出し」 この言及を以って本稿に組み入れられるものとする)は、箱の山からロボットによって取り上げられる箱を特定するためのシステム及び方法を開示している。この方法では、3次元カメラを用いて、箱の2次元三原色(RGB)画像と2次元深度マップ画像を取得する。この深度マップ画像の画素には、カメラから箱までの距離を特定する値が付与される。この方法では、修正された深層学習マスクR-CNN(畳み込みニューラルネットワーク)が用いられ、該マスクR-CNNは、画像区分プロセスを実行することによって、箱の区分画像を生成する。該画像区分プロセスにおいては、RGB画像及び深度マップ画像から特徴を抽出し、画像から抽出した特徴を組み合わせ、区分画像における各箱が同じラベルを有するように、特徴画像の画素にラベルを付与する。そして、この方法では、区分画像を用いて、箱を取り上げるための位置を特定する。
【0006】
米国特許出願No.17/015817に記載の方法は、取り上げるロボットのために箱の山において箱を特定するのに効果的であることが示されてきた。しかしながら、米国特許出願No.17/015817に記載の方法は、画像フィルタリングステップ、領域提案ステップ、及び2値区分ステップのために深層学習ニューラルネットワークを用いる。このタイプの深層学習ニューラルネットワークは、顕著な処理を必要とする。現実的且つ実用的なロボット取り上げ時間とするためには、深層学習ニューラルネットワークの演算に、典型的にはグラフィック演算処理装置(GPU)を用いることを必要とする。このGPUは、並行処理のために、中央演算処理装置(CPU)よりも高速処理を提供する。例えば、米国特許出願No.17/015817の方法においてニューラルネットワーク処理にCPUを使用することで、取り上げ対象の箱を特定するのに、約2.272秒を要する。一方、ニューラルネットワーク処理にGPUを用いると、このプロセスに僅か約0.1185秒を要する。しかしながら、ロボットシステムのような産業用途では、現在使用されている標準プロトコル、及び、システムが曝される厳しい環境に起因して、GPUの使用は、現在のところ進んでいない。
【0007】
本願の出願人による米国特許出願No.17/456977(2021年11月30日出願 発明の名称「サイズが混在する対象物のパレットからの取り出しのためのアルゴリズム」 この言及を以って本稿に組み入れられるものとする)は、CPUを用いて、ロボットによって取り上げるべき箱を、箱の山から特定するためのシステム及び方法を開示している。この方法では、3次元カメラを用いて、箱の2次元RGBカラー画像と2次元深度マップ画像を取得する。この方法は、CPUによって実行可能な、簡単化されたマスクR-CNNを用いた画像区分プロセスを採用し、RGB画像中のどの画素が各箱と関連付けられているか、予測する。各箱と関連付けられている画素には、箱のためのマスクを定義するように結び付ける固有のラベルを付与する。この方法は、次いで、区分画像を用いて、箱を取り上げるための位置を特定する。非限定的な一実施形態において、層内のノードの個数を半分に減らすことによって、ニューラルネットワークのサイズが達成される。しかしながら、ニューラルネットワークのノードの個数を減らすことで、箱の位置及び姿勢を正確に予測するためのニューラルネットワークの能力も顕著に減退し、箱のエッジを予測するのが困難になる。例えば、区分プロセスは、画像中で箱の全体を特定するのを確実にするために、より大きな境界ボックスを使用することを必要とし得る。したがって、ロボットによって取り上げられる箱の位置をより正確に特定するために、追加の処理ステップが実行される。
【発明の概要】
【発明が解決しようとする課題】
【0008】
米国特許出願No.17/015817と、米国特許出願No.17/456977の双方とも、深層学習ニューラルネットワークを採用しており、パレットからの取り出し用途のために特定される箱のタイプに対してニューラルネットワークモデルを生成することを要する。ニューラルネットワークモデルを生成することは、ロボットによる取り上げ及び載置の用途の各々についてニューラルネットワークを教育するために、多くの教育データを必要とする。さらに、画像中の各箱の周りに境界ボックスを描画することによって、画像中の各箱に対してラベル又は注釈を付けることを要するが、数千のラベルとともに数百の画像が必要となる。しかしながら、ニューラルネットワークのためにこのような教育データを収集し、ラベル付けプロセスを実行することは、時間を消費し、且つ高価となる。
【課題を解決するための手段】
【0009】
以下の説明では、箱の山からロボットで取り上げるべき箱を特定するのに用いられ得るニューラルネットワークを教育するシステム及び方法を開示する。この方法は、コンピュータグラフィックスソフトウェアを用いて、箱の仮想画像を生成し、該仮想画像における箱の姿勢に基づいて、該箱に自動でラベル付けを行う。この方法では、コンピュータグラフィックスソフトウェアを用いて、サイズの異なる複数の対象物をモデル化し、該対象物の仮想画像を生成する。また、コンピュータグラフィックスソフトウェアを用いて、モデル化した対象物をランダムに順に選択し、選択したモデル化対象物を、予め定めたパターンで予め定めた境界内に配置することで、配置仮想画像を生成する。また、この方法では、コンピュータグラフィックスソフトウェアを用いて、予め定めたデータ及び情報に基づいて、配置仮想画像の仮想画像を描画し、描画した仮想画像内の対象物に独立してラベル付けすることによって、注釈付き仮想画像を生成する。この方法では、ランダムに順に選択したモデル化対象物に対して、配置仮想画像を生成し、仮想画像を描画し、注釈付き仮想画像を生成することを繰り返し、次いで、複数の描画された仮想画像及び注釈付き仮想画像を用いて、ニューラルネットワークを教育する。
【0010】
本開示のさらなる特徴は、以下の図面を参照した説明及び特許請求の範囲から明らかとなるであろう。
【図面の簡単な説明】
【0011】
図1】ロボットシステムの図であって、該ロボットシステムは、パレットから箱を取り上げてコンベアベルト上に置くロボットを備える。
図2図1に示すシステムで用いられる画像区分モジュールのブロック図である。
図3】ニューラルネットワークを教育するための仮想RGB画像及び仮想マスクを生成するプロセスを示すフローチャートである。
図4】テクスチャが適用されていない箱の仮想画像を示す。
図5図4に示す箱にテクスチャが適用された仮想画像である。
図6】パレットを表す境界と、該境界内の箱とを含む位置画像を生成している状態を示す。
図7】描画された仮想RGB画像の上面図である。
図8】仮想RGB画像を描画するためのシステムのブロック図である。
図9】仮想注釈付き画像の上面図である。
【発明を実施するための形態】
【0012】
以下に説明する本開示の実施形態は、ロボットによって取り上げるべき箱を、積み重ねられた箱の中から特定するために用いられ得るニューラルネットワークを教育するためのシステム及び方法に関する。この方法では、コンピュータグラフィックスソフトウェアを用いて箱の仮想画像を生成し、該仮想画像内の箱の姿勢に基づいて該箱を自動でラベル付けする。しかしながら、この実施形態は、単なる一例であって、本発明、又は、アプリケーション若しくは使用を限定するものではない。例えば、システム及び方法は、ロボットによって取り上げるべき箱を特定するのに用いられるニューラルネットワークを教育するためのアプリケーションを有してもよい。しかしながら、システム及び方法は、他のアプリケーションを有してもよい。
【0013】
図1は、ロボット12を備えるロボットシステム10の図を示している。ロボット12は、パレット20上に積み重ねられた箱16の山18から該箱16を取り上げて、コンベアベルト22上に置くエンドエフェクタ14を有する。システム10は、本説明から利益を得る如何なるタイプのロボットシステムを意図している。また、ロボット12は、本開示の目的に適した如何なるロボットであってもよい。3次元カメラ24は、箱16の山18の2次元RGB画像及び深度マップ画像を、上から下へ撮像するように配置され、撮像した画像を、ロボット12の移動を制御するロボット制御部26に供給する。箱16は、パレットから20上で異なる姿勢を有していてもよく、パレット20上で複数の層に積み重ねられてもよく、また、異なるサイズを有してもよい。以下に詳述するように、ロボット制御部26は、所定のアルゴリズムを用いる。このアルゴリズムは、箱16の幅、長さ及び高さを予めロボット制御部26に入力することなく、また、箱16の投影テンプレートを生成する必要もなく、ロボット12が取り上げる箱16の各々のサイズを決定する。
【0014】
図2は、画像区分モジュール30のブロック図を示す。この画像区分モジュール30は、ロボットシステム10における制御部26の一部である。画像区分モジュール30は、画像区分プロセスを実行し、該画像区分プロセスにおいて、カメラ24からの画像の全ての画素にラベルを付与する。ここで、同じラベルを有する画素は、ある特性を共有する。よって、区分プロセスは、どの画素がどの箱に属するかを予測し、異なる印は、異なる箱16を示すことになる。モジュール30は、パレット20上に配置された箱16を上から撮像した2次元RGB画像32をカメラ24から受け付ける。画像32は、深層学習画像区分ニューラルネットワーク34へ送られる。画像区分ニューラルネットワーク34は、ノード38を含む複数の層36を有し、画像区分プロセスを実行して、区分画像40を生成する。画像40は、箱16を識別するために所定の印(例えば、色)によって注釈又はラベル付けされた箱16を示す。画像区分ニューラルネットワーク34は、米国特許出願No.17/015817、及び米国特許出願No.17/456977に開示されているような、本説明に適した如何なるニューラルネットワークであってもよい。
【0015】
後述するように、従来知られていた、ニューラルネットワークを教育するためにデータセットを用意するプロセスは、費用が掛かり、また、時間を費やすものであるが、本開示は、このようなプロセスを要することなく、取り上げるべき箱16のサイズ及び位置を特定するためにニューラルネットワークを教育するシステム及び方法に関する。この方法は、コンピュータグラフィックスのソフトウェアを用いて、多くの配置の箱16の仮想画像を生成する。仮想画像の箱16の姿勢は既知であるので、箱16の形状を特定する境界マスクは、ソフトウェアによって自動でラベル付けされる。
【0016】
図3は、仮想画像を生成するプロセスを示しており、該プロセスは、このようにニューラルネットワーク34を教育するために用いられる。ボックス52において、ロボット12によって取り上げられる箱の全てのサイズ及び形状が、モデル化される。モデル化プロセスにおいて、例えば「Blender」(登録商標)のようなコンピュータグラフィックスソフトウェアを用いて、白抜きの6面の箱の仮想画像を生成する。この箱の各面は、所定の長さ及び幅を有する。モデル化プロセスにおいて、その次に、実物の箱の外観を有するように、箱の各面にテクスチャを追加する。白抜きの箱は、x、y及びz座標で箱を特定するメッシュ構造によって描かれる。非限定的な実施形態において、テクスチャを追加するときに、実物の箱の各面のデジタル写真を撮像し、コンピュータグラフィックスソフトウェアで利用可能とすべく、該デジタル写真をコンピュータにアップロードする。そして、該デジタル写真のうちの1つを選択し、箱の各面の上にドラッグする。写真が、
コンピュータスクリーン上で箱にドラッグされ、写真の角は、箱の面の角に一致するように、修正される。
【0017】
図4は、ソフトウェアによって生成された仮想箱56の仮想画像54であって、テクスチャが適用されていないものを示す。また、図5は、ソフトウェアによってテクスチャが適用された仮想箱56の仮想画像54である。このプロセスは、ロボット12によって取り上げら得るそれぞれのサイズの箱に対して繰り返される。
【0018】
一旦、テクスチャ付の仮想箱のデータベースが生成されると、次に、ボックス58において、コンピュータグラフィックスソフトウェアは、配置データと、パレット20を表す矩形境界内での、これら箱の多くの配置に係る情報とを生成するために用いられる。この境界の各角の位置は、既知であって、仮想箱56の角のうちの1つが、x、y及びz座標の値が(0,0,0)であるデフォルト回動点として選択される。仮想箱56のうちの1つが選択され、該箱の角が、境界内のデフォルト回動点に位置決めされる。ここで、ソフトウェアは、境界内の箱56の、他の角の位置のx、y及びz座標を既知にできる。次いで、ソフトウェアは、回動点を、所定の方向(例えば、x軸方向)に沿って、配置された箱56の角の位置に更新する。次いで、ソフトウェアは、境界内に配置すべき次の箱56をランダムに選択し、該次の箱56の角を新たな回動点に配置する。箱を配置する毎に、配置された箱が全体として境界内に収まっているか否か、及び、配置した箱が、既に配置されていた別の箱と交差又は重複していないか否かを含む、複数の制約がチェックされる。そして、これら制約のいずれかが満たされていない場合、箱は軽天されるか、又は除去され得る。他の制約は、箱が互いに密接に収納されていることを確実にすることを含む。仮に、仮想箱のいずれも、境界内に留まることなくx軸方向に配置できない場合、ソフトウェアは、最初に配置した箱の角によって定義される境界の他の側で、回動点へ移動する。箱配置プロセスは、選択可能な全ての仮想箱について、制約のうちの1つが満たすことができなくなるまで、x軸、y軸及びz軸の全てにおいて継続される。ここで、高さ方向(z軸方向)の限界は、予め定められる。
【0019】
図6は、配置画像70を示す配置プロセスの図である。この配置画像70は、パレット20を表す境界72と、ソフトウェアによって境界72内にx軸方向に沿って配置された箱56を表す箱74とを含む。ドット76は、回動点を表し、ドット78は、デフォルト回動点である。一旦、箱56の配置が完了すると、次に、ソフトウェアは、箱56のx、y及びz座標に基づいて、この配置での箱56の各々の姿勢又は方向を記憶する。
【0020】
一旦、箱56の完全な位置表示が提供されると、ボックス90において、例えば上述のBlender(登録商標)コンピュータグラフィックスソフトウェアを用いて、図7に示すように、箱56の配置の仮想RGB画像92が描画される。図8は、描画された仮想RGB画像92を生成するためのシステム94のブロック図である。システム94は、対象物モジュール96における箱16に関する仮想シミュレーション情報と、照明モジュール98におけるロボット12の周囲の証明に関する仮想シミュレーション情報と、カメラモジュール100におけるカメラ24に関する仮想シミュレーション情報と、環境モジュール102におけるロボット12の周囲のシミュレーション環境に関する仮想シミュレーション情報とを含む、多数の入力を受け付ける。具体的には、対象物モジュール96は、箱56のメッシュ、ボックス58の配置プロセスから得られる箱36の姿勢、及び、箱56の材料に関するデータを提供する。この情報は、図5に示す仮想画像54を生成したコンピュータグラフィックスソフトウェアから入手可能である。照明モジュール98は、箱56の姿勢又は方向、並びに、ロボット12の周囲のシミュレーション環境における光の色及び強度に関するシミュレーションデータをセットする。カメラモジュール100は、カメラ24を表す仮想カメラの姿勢、視界、解像度及び焦点に関するシミュレーションデータをセットする。環境モジュール102は、ロボット12の周りの背景及び光反射に関するシミュレーションデータをセットする。照明モジュール98、カメラモジュール100、及び環境モジュール102によって提供される様々なセッティングが、特定のロボットシステム10、特定の仕様及び用途のために選択され、時には調整され、修正される。
【0021】
背景データは、ロボット12の周囲の仮想環境における地面及びパレットの表示を含む。このデータ及び情報は、仮想背景画像を生成するために、場面モジュール104によって用いられる。仮想箱は、モジュール104における対象物モジュール96からの配置情報を用いて、仮想背景画像に配置される。場面情報は、ボックス108でRGB画像92を生成するために、照明モジュール98、及びカメラモジュール100から取得された情報とともに、描画モジュール106の描画エンジンによって用いられる。この描画エンジンは、例えばBlender(登録商標)のような、適切なコンピュータグラフィックスソフトウェアであってもよい。
【0022】
このプロセスは、次いで、ボックス112において、仮想RGB画像92内の箱56の各々に対し、該画像92内の各箱56が固有のラベル又はマスクを有するように、注釈を付ける。注釈プロセスは、仮想マスク画像を取得するためのシステム94を用いて実行されてもよく、対象物モジュール56への入力として提供される箱56のテクスチャは、例えば仮想RGB画像92内の固有の色のような、各箱56の固有の表示に置換される。図9は、仮想マスク画像114の上面図であって、注釈付きの仮想RGB画像を示す。
【0023】
一旦、仮想RGB画像92及び仮想マスク画像114が、箱56の1つの表示に対して取得されると、ボックス58で箱の構成を決定し、ボックス90で仮想RGB画像を描画するプロセスが、箱56の複数の異なる構成に対して、多数回に亘って繰り返され、多く(例えば、異なる5000)の仮想RGB画像とマスク画像を提供する。仮想RGB画像及びマスク画像は、次いで、ニューラルネットワーク34を教育するために用いられ、ニューラルネットワーク34が教育されると、実物の箱の画像を用いてテストされる。そして、実空間の動作において制御部26が箱16を取り上げて置く動作を行う用意が整う。
【0024】
当業者であれば理解できるように、本開示で説明した様々なステップ及びプロセスは、電子現象を用いてデータを操作及び/又は変換するコンピュータ、プロセッサ、又は他の電子演算装置によって実行される動作を言及している。これらコンピュータ及び電子装置は、コンピュータ読取可能な非一時的記録媒体を含む、揮発性及び/又は不揮発性のメモリを使用するとともに、該メモリに記憶された、コンピュータ又はプロセッサによって実行可能な種々のコード又は実行可能な命令を含む、実行可能なコンピュータプログラムを使用する。このメモリ及び/又はコンピュータ読取可能な媒体は、如何なる形態及びタイプのメモリ及び/又はコンピュータ読取可能な媒体を含んでもよい。
【0025】
上述の説明では、本開示の例示的実施形態を開示しているだけである。当業者であれば、このような説明、添付の図面、及びクレームから、クレームに規定されているような本開示の概念及び範囲から逸脱することなく、実施形態に種々の変更、修正及び変形例を加えることができることを、容易に理解されよう。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【外国語明細書】