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

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

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

<>
  • 特許-2次元カメラによる3次元の姿勢推定 図1
  • 特許-2次元カメラによる3次元の姿勢推定 図2
  • 特許-2次元カメラによる3次元の姿勢推定 図3
  • 特許-2次元カメラによる3次元の姿勢推定 図4
  • 特許-2次元カメラによる3次元の姿勢推定 図5
  • 特許-2次元カメラによる3次元の姿勢推定 図6
  • 特許-2次元カメラによる3次元の姿勢推定 図7
  • 特許-2次元カメラによる3次元の姿勢推定 図8
  • 特許-2次元カメラによる3次元の姿勢推定 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-24
(45)【発行日】2025-04-01
(54)【発明の名称】2次元カメラによる3次元の姿勢推定
(51)【国際特許分類】
   G06T 7/00 20170101AFI20250325BHJP
   G06N 3/08 20230101ALI20250325BHJP
   G06N 20/00 20190101ALI20250325BHJP
【FI】
G06T7/00 350C
G06N3/08
G06N20/00
【請求項の数】 20
【外国語出願】
(21)【出願番号】P 2021062699
(22)【出願日】2021-04-01
(65)【公開番号】P2021163503
(43)【公開日】2021-10-11
【審査請求日】2024-03-05
(31)【優先権主張番号】16/839,274
(32)【優先日】2020-04-03
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(72)【発明者】
【氏名】トー タン
(72)【発明者】
【氏名】加藤 哲朗
【審査官】菊池 伸郎
(56)【参考文献】
【文献】特表2019-515364(JP,A)
【文献】特開2019-109747(JP,A)
【文献】Markus Oberweger, 外2名,"Making Deep Heatmaps Robust to Partial Occlusions for 3D Object Pose Estimation",[online],arXiv,2018年07月26日,pp.1-10,[2024年12月11日検索], インターネット, <URL:https://arxiv.org/pdf/1804.03959>
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00-7/90
G06V 10/00-40/70
G06N 3/08
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
現実の対象物の3次元ポーズを推定する方法であって、
2次元カメラを用いて前記対象物の2次元画像を取得することと、
ニューラルネットワークを用いて、前記2次元画像から前記対象物の複数の特徴を抽出することと、
抽出された前記特徴ごとに、前記対象物の特徴点の位置の確率を識別する現実のヒートマップを生成することと、
前記ヒートマップからの特徴点と前記2次元画像とを結合する特徴点画像を提供することと、
前記特徴点画像を前記対象物の3次元仮想モデルと比較することで、前記対象物の3次元ポーズを推定することと、
を含む方法。
【請求項2】
前記対象物の3次元ポーズを推定することは、前記特徴点画像と前記対象物の3次元仮想モデルとを比較することを含む、請求項1に記載の方法。
【請求項3】
前記対象物の3次元ポーズを推定することは、パースペクティブnポイントアルゴリズムを使用することを含む、請求項2に記載の方法。
【請求項4】
前記ヒートマップにおける前記特徴点の位置の確率は、前記ヒートマップの色彩として表される、請求項1に記載の方法。
【請求項5】
前記対象物の特徴点の位置の確率には、それが特徴点であるという信頼値が割り当てられる、請求項1に記載の方法。
【請求項6】
マーカを有するマーカボード上において前記現実の対象物を表すトレーニング対象物を配置することを含むデータセットを取得することで前記ニューラルネットワークをトレーニングすることと、前記マーカボードの少なくとも1つのトレーニング2次元画像を得ることと、前記トレーニング2次元画像内のマーカの3次元ポーズを識別することと、前記マーカの前記3次元ポーズにオフセットを付与して、前記トレーニング対象物の特徴点を取得することと、各特徴点の位置の確率を特定する、個々のトレーニングヒートマップを生成することと、前記トレーニングヒートマップを使用して前記ニューラルネットワークをトレーニングすることと、をさらに含む、請求項1に記載の方法。
【請求項7】
少なくとも1つのトレーニング2次元画像を得ることは、互いに異なる向きで複数のトレーニング2次元画像を得ることを含む、請求項6に記載の方法。
【請求項8】
個々のトレーニングヒートマップを生成することは、ガウス分布プロセスを使用する、請求項6に記載の方法。
【請求項9】
前記現実の対象物の複数の特徴を抽出することは、少なくとも4つの特徴を抽出することを含む、請求項1に記載の方法。
【請求項10】
前記方法はロボットシステムにおいて実行され、前記現実の対象物はロボットにピックアップされる、請求項1に記載の方法。
【請求項11】
ロボットによってピックアップされる対象物の3次元ポーズを推定する方法であって、
2次元カメラを用いて前記対象物の2次元画像を取得することと、
収集されたトレーニングセットから、前記対象物の代表対象物を用いてトレーニングされた重みを備えたノードを含むニューラルネットワークを用いて、前記2次元画像から前記対象物の複数の特徴を抽出することと、
抽出された前記特徴ごとに、前記対象物の特徴点の位置の確率を色彩で表示して識別するヒートマップを生成することと、
前記ヒートマップからの特徴点と前記2次元画像とを結合する特徴点画像を提供することと、
パースペクティブnポイントアルゴリズムを用いて、前記特徴点画像を前記対象物の3次元仮想モデルと比較することで現実の対象物の3次元ポーズを推定することと、
を含む方法。
【請求項12】
前記対象物の特徴点の位置の確率には、それが特徴点であるという信頼値が割り当てられる、請求項11に記載の方法。
【請求項13】
前記対象物の複数の特徴を抽出することは、少なくとも4つの特徴を抽出することを含む、請求項11に記載の方法。
【請求項14】
対象物の3次元ポーズを推定するシステムであって、
2次元カメラを用いて現実の対象物の2次元画像を取得する手段と、
ニューラルネットワークを用いて、前記2次元画像から前記対象物の複数の特徴を抽出する手段と、
抽出された前記特徴ごとに、前記対象物の特徴点の位置の確率を識別する現実のヒートマップを生成する手段と、
前記ヒートマップからの特徴点と前記2次元画像とを結合する特徴点画像を提供する手段と、
前記特徴点画像を前記対象物の3次元仮想モデルと比較することで、前記対象物の3次元ポーズを推定する手段と、
を有するシステム。
【請求項15】
前記対象物の3次元ポーズを推定する手段は、前記特徴点画像と前記対象物の3次元仮想モデルとを比較する、請求項14に記載のシステム。
【請求項16】
前記対象物の3次元ポーズを推定する手段は、パースペクティブnポイントアルゴリズムを使用する、請求項15に記載のシステム。
【請求項17】
前記ヒートマップにおける前記特徴点の位置の確率は、前記ヒートマップの色彩として表される、請求項14に記載のシステム。
【請求項18】
前記対象物の特徴点の位置の確率には、それが特徴点であるという信頼値が割り当てられる、請求項14に記載のシステム。
【請求項19】
収集されたトレーニングセットから、前記対象物の代表対象物を用いて前記ニューラルネットワークのノードをトレーニングする手段をさらに含む、請求項14に記載のシステム。
【請求項20】
前記システムはロボット制御に使用され、前記対象物はロボットにピックアップされる、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、広くは、2次元カメラを使用して対象物の3次元の姿勢(3Dポーズ)を取得するためのシステム及び方法に関し、特には、2次元カメラ及び学習ベースのニューラルネットワークを使用して対象物の3次元の姿勢を取得するための、特定のロボット制御用アプリケーションを含むシステム及び方法に関する。
【背景技術】
【0002】
ロボットは、ピックアンドプレース操作を含む多数のタスクを実行し、この操作では、ロボットが複数の対象物をピックアップして、コンベヤベルト等のある場所から、収集ビン等の他の場所に搬送するが、対象物の3Dポーズとして知られる位置及び向きは、僅かに異なる。そこで、ロボットが対象物を効率的にピックアップするために、多くの場合、ロボットが対象物の3Dポーズを知る必要がある。この目的のために、対象物の3Dポーズを決定するための種々の技術では、対象物の3D画像をリアルタイムで取得する3Dカメラが使用される。この場合、3D画像は、カメラの視野内の多くのポイントまでの距離測定値を識別し、これらの測定値はロボット制御装置に送信される。これらの技術では、構造化光を使用してシーンの3Dマップを作成し、対象物の3D特徴を識別して該マップ内の対象物を検索することができる。ロボットアプリケーションのために、対象物の3Dポーズを決定すべく3Dカメラを使用することは、効果的であることが証明されている。しかしながら、3Dカメラは高価なデバイスであり、多くの場合、必要とされるものよりも動作が遅い。
【0003】
ロボットアプリケーションのために対象物の3Dポーズを取得するための当技術分野で知られている技術の一つでは、代わりに2次元(2D)カメラを使用する。この技術は、シーンの単一の2Dカラー画像を取得し、完全畳み込み(fully-convolutional)アーキテクチャを使用して画像を処理する。アルゴリズムが、画像をSXSセルを含む2Dグリッドに分割し、セル内の対象物を識別する。アルゴリズムは、画像内の各対象物の周囲に境界ボックスを投影し、該ボックスの8つのコーナの2D位置を予測する。しかしながら、境界ボックスのコーナを予測するこの技術では、精度に制限があり、オクルージョンに対するロバスト性(robustness to occlusion)が低い。
【0004】
対象物の3Dポーズを決定するための上記プロセスのいくつかは、人工知能(AI)を使用する。これは、アルゴリズムを使用するコンピュータサイエンスの一部であり、該アリゴリズムによって、ソフトウェアアプリケーションが環境から学習し、そこから決定を下して、特定の結果を達成することができる。機械学習は、ソフトウェアアプリケーションを使用するAIの一部であり、該ソフトウェアアプリケーションは、大量の生の入力データを繰り返し分析することで独自の知識を取得し、該データからパターンを抽出して、該ソフトウェアアプリケーションがあるタスクを実行するために特別にプログラムされていなくても、該タスクの実行を学習できる。深層学習(ディープラーニング)は、特定の現実世界の環境を、増加する複雑な概念の階層として表すことにより、より優れた学習パフォーマンスを提供する特定のタイプの機械学習である。
【0005】
深層学習は典型的には、非線形処理を実行するニューラルネットワークの複数の層(レイヤ)を含むソフトウェア構造を使用し、この場合、前の層からの出力を次の層の各々が受け取る。一般に層は、センサから生データを受信する入力層と、該データから抽象的な特徴を抽出する複数の隠れ層と、該隠れ層からの特徴抽出に基づいて特定のものを識別する出力層とを含む。ニューラルネットワークは、各々が「重み」を有するニューロン又はノードを含み、この重みにノードへの入力を乗算することで、あることが正しいか否かの確率を取得することができる。より具体的には、各ノードは浮動小数点数である重みを有し、この重みはノードへの入力と乗算され、該入力の割合である、そのノードの出力が生成される。この重みは最初に、監視された処理の下でニューラルネットワークに既知のデータのセットを分析させることと、コスト関数を最小化してネットワークが正しい出力を最高の確率で取得できるようにすることとにより、「トレーニングされ(trained)」又は設定されている。
【0006】
深層学習ニューラルネットワークは、画像内の対象物の視覚的な検出及び分類のための、画像特徴抽出及び変換を行うために、頻繁に使用される。画像のビデオ又はストリームは、該ネットワークによって分析可能であり、それにより対象物の識別・分類と、プロセスを通じて対象物をよりよく認識するための学習が可能となる。従って、これらのタイプのネットワークでは、システムは同じ処理構成を使用して特定の対象物を検出し、アルゴリズムが対象物を認識するためにどのように学習したかに基づいて、対象物を異なる方法で分類することができる。
【発明の概要】
【0007】
以下の説明は、2次元カメラからの2次元画像及び学習ベースのニューラルネットワークを使用して対象物の3次元の姿勢(ポーズ)を取得するためのシステム及び方法を開示・説明する。ニューラルネットワークは、2次元画像から対象物の複数の特徴を抽出し、抽出された特徴ごとに、対象物の特徴点の位置の確率を色彩表現によって特定するヒートマップを生成する。この方法は、2次元画像上のヒートマップの特徴点を含む特徴点画像を提供し、特徴点画像と対象物の3次元仮想CADモデルとを比較することによって、対象物の3次元の姿勢を推定する。
【0008】
本開示の追加の特徴は、添付の図面と併せて、以下の説明及び特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0009】
図1】対象物をコンベヤベルトからピックアップしてビン内に配置するロボットを含むロボットシステムの図であり、該システムは対象物の2D画像を取得する2Dカメラと、2D画像を用いて対象物の3Dポーズを計算する制御装置とを使用する。
図2】ニューラルネットワークをトレーニングするために、2Dカメラを使用して対象物からデータセットを取得するプロセスを示すフロータイプの図である。
図3】調整可能な重みを各々が有する複数のノードを含むニューラルネットワークの図である。
図4】対象物の2D画像及びニューラルネットワークを使用して対象物の3Dポーズを推定するために、トレーニングされたニューラルネットワークを使用する学習ベースのニューラルネットワークプロセスを示すフロータイプの図である。
図5図4に示すプロセスにおいて、対象物の3Dポーズ推定を決定するためのパースペクティブnポイント(PnP)プロセスを示す図である。
図6】対象物を撮像する複数のカメラを使用するカメラシステムの図である。
図7】複数の2Dカメラを使用して対象物の3Dポーズを推定するシステムのブロック図である。
図8図7に示すシステムにおいて、対象物の3Dポーズを推定するためのPnPプロセスを示す図である。
図9】対象物上の特徴点を予測するためのベクトル場推定プロセスを示すフロータイプの図である。
【発明を実施するための形態】
【0010】
2Dカメラを使用して対象物の3Dポーズを取得するために学習ベースのニューラルネットワークを使用するシステム及び方法を対象とする本開示の実施形態の以下の説明は、本質的に単なる例示であり、本発明又はそのアプリケーション若しくは使用を限定することを意図するものではない。例えば、システム及び方法は、ロボットに把持された対象物の位置及び向きを求めるアプリケーションを有する。しかしシステム及び方法は、他のアプリケーションを有してもよい。
【0011】
図1は、対象物14をコンベヤベルト16からピックアップして収集ビン18内に配置するロボット12を含むロボットシステム10の図である。システム10は、本明細書の記載から利益を享受できる任意のタイプのロボットシステムを表すことを意図しており、ロボット12は、その目的に適した任意のロボットであり得る。各対象物14は、コンベヤベルト16上を下流側に移動するときに、他の対象物14に対して、コンベヤベルト16上での向き及び位置が異なる。ロボット12が対象物14を効果的に把持及びピックアップするためには、ロボット12のエンドエフェクタ20が物体14を把持する前に、エンドエフェクタ20を適切な位置及び姿勢に配置できる必要がある。これを達成するために、システム10は、対象物14に対して所望の位置に設けられる2Dカメラ22を含み、2Dカメラ22は、エンドエフェクタ20を動かすべくロボット12を制御するロボット制御装置24に2D画像を提供する。以下で詳述するように、ロボット制御装置24は、エンドエフェクタ20が適切な向きになるように、アルゴリズムを使用して、カメラ22からの2D画像を対象物14の3Dポーズに変換する。
【0012】
後述するように、制御装置24が対象物14の3Dポーズを正確に決定するために、一実施形態では、学習ベースのニューラルネットワークが、制御装置24で実行されて対象物の特徴を抽出するアルゴリズム及びソフトウェアにおいて使用される。ニューラルネットワークは、代表対象物から取得したデータでトレーニングする必要がある。図2は、ニューラルネットワークをトレーニングするために使用される2Dカメラ40を使用して、システム10内の対象物14と同一の対象物32から画像データを取得するためのプロセスを示すフロータイプのダイアグラム30である。対象物32は、適切な数のマーカ36を有するマーカボード34上に配置され、マーカ36は、対象物32のグラウンドトゥルース又は実際の位置を識別するために使用される特別な検出可能なデザインを備える。ボード34上のマーカ36のうちの1つのみが図示されており、マーカ34と対象物32との間の線38によって表されるオフセット距離が測定される。
【0013】
カメラ40は、マーカボード34の1つ又は複数の2D画像42、ここでは4つの画像を、互いに異なる角度で提供する。次にプロセスは、画像42上での投影を実行して、座標フレーム44によって識別されるマーカ36のうちの1つの、回転及び位置を求める。次にアルゴリズムは、マーカ36と対象物32との間の、以前に測定されたオフセットをマーカ36の回転及び位置に付加し、対象物32の回転及び位置を求める。対象物32の真の位置が決定されれば、対象物32のコーナ等の特徴点46の位置は、既知の特徴点抽出プロセスを使用して計算することができるが、ここでは少なくとも4つの特徴点が必要である。例えばガウス分布プロセスを使用可能なアルゴリズムは、画像42の識別された各特徴点46を見て、その点46の「ヒートマップ」48を生成し、ここでは、各ヒートマップ48は、色の強度によって、対象物32の特徴点の1つが特定の場所に存在する可能性を求める。例えば、領域50等の、特徴点があると考えられる画像42内の場所には、赤等の特定の色が割り当てられる。また特徴点が領域50から離れた場所に存在する可能性は低いので、色は、例えば領域52のように青に変化する。
【0014】
次に、2D画像42と、ダイアグラム30で示すプロセスによって生成された対応するヒートマップ48とによって提供されるデータは、既知のAIトレーニングスキームを使用してニューラルネットワークをトレーニングするために使用され、そして対象物14の3Dポーズを識別するためにシステム10で使用される。図3は、各々が調整可能な重みWを有する複数のノード62を含むニューラルネットワーク60の図であり、ネットワーク60は、本明細書で論じられるニューラルネットワークを概略的に表すことを意図している。ニューラルネットワーク60は、2D画像から個々のピクセルデータを受信する入力層64と、2D画像のピクセルデータ内の特徴を識別する複数の残差ブロック層66及び68と、複数の畳み込み層70とを有し、畳み込み層70の各ノード62はヒートマップを提供する。畳み込み層70並びに残差ブロック層66及び68は、深層学習の領域で利用される標準モジュールであることに留意されたい。これらのタイプの畳み込み層は、画像の入力又は前の畳み込み層に対して畳み込み操作を実行する複数のフィルタカーネルで構成されているため、エッジ、テクスチャ又は輪郭情報が入力から抽出可能である。残差ブロック層は、スキップ接続を持つ2つの畳み込み層を含む構造であり、第2の畳み込み層の出力が第1の畳み込み層の入力に付加されて、ブロック出力として機能する。
【0015】
図4は、制御装置24で動作するアルゴリズムを示すフロータイプのダイアグラム80であり、該アルゴリズムが採用する学習ベースのニューラルネットワーク78は、トレーニングされたニューラルネットワークを使用して、カメラ22で撮像された対象物14の2D画像82から、対象物14の3Dポーズを推定する。画像82は、入力層84と、制御装置24のAIソフトウェアで動作するニューラルネットワーク78内のフィードフォワードループを含む複数の連続する残差ブロック層86及び88とに提供され、フィルタリングプロセスを使用した、画像82内の対象物14の可能な特徴点の勾配、エッジ、輪郭等の特徴抽出が行われる。抽出された特徴を含む画像は、ニューラルネットワーク78内の複数の連続する畳み込み層90に提供され、抽出された特徴から得られる可能な特徴点は、特徴点ごとに1つずつ、一連のヒートマップ92として定義される。ヒートマップ92は、ヒートマップ92の色に基づいて、特徴点が対象物14上に存在する可能性を表している。画像94は、全てのヒートマップ92からの全ての特徴点のための特徴点96を含む、対象物14の画像82を使用して生成される。各特徴点96には、その特徴点のヒートマップ92の色に基づく信頼値が割り当てられ、特定の閾値を超える信頼値を持たない特徴点96は使用されない。
【0016】
次に画像94は、ポーズ推定プロセッサ98内に同じ特徴点を有する、対象物14の公称又は仮想の3DCADモデルと比較されて、対象物14の推定3Dポーズ100を提供する。画像94をCADモデルと比較するための適切なアルゴリズムの1つは、当技術分野ではパースペクティブnポイント(PnP)として周知である。一般に、PnPプロセスは、ワールド座標フレーム内の対象物のn個の3Dポイントのセットと、カメラからの画像内の対応する2D投影とが与えられてキャリブレーションされたカメラに対する対象物のポーズを推定する。ポーズには、カメラの座標フレームに対する対象物の回転(ロール、ピッチ、ヨー)と3D平行移動とで構成される6自由度(DOF)が含まれる。
【0017】
図5は、対象物14の3Dポーズを取得するために、本実施例ではPnPプロセスがどのように実行され得るかを示すイラスト104である。イラスト104は、グラウンドトゥルース又は現実位置にある対象物14を表す3D対象物106を示す。対象物106は、カメラ22を表すカメラ112によって観測され、2D画像平面110上に2D対象物画像108として投影される。ここでは、対象物画像108は画像94を表し、画像108上の点102はニューラルネットワーク78によって予測され、点96を表す特徴点である。またイラスト104は、特徴点96と同じ位置に特徴点132を有する対象物14の仮想3DCADモデル114を示しており、モデル114は、カメラ112の前にランダムに配置されるとともに、投影された特徴点118も含む2Dモデル画像116として画像平面110上に投影される。CADモデル114は、カメラ112の前で回転及び並進させられ、それによりモデル画像116は、モデル画像116の各特徴点118と対象物画像108の対応する特徴点102との間の距離が最小化するように、すなわち画像116と画像108とが位置合わせするように、回転及び並進させられる。モデル画像116が対象物画像108に可能な限り位置合わせされると、カメラ112に対するCADモデル114のポーズは、対象物14の推定された3Dポーズ100となる。
【0018】
この分析は、画像108と画像116との間の対応する特徴点の1つについて式(1)で表され、式(1)は、画像108及び116の全ての特徴点について使用される。式(1)において、VはCADモデル114の特徴点132の1つであり、vはモデル画像116の対応する投影された特徴点102であり、aは対象物画像108の特徴点102の1つであり、R及びTはそれぞれ、カメラ112に対するCADモデル114の回転及び並進であり、記号「′」はベクトル転置であり、∀はインデックスiを有する任意の特徴点を指す。式(1)を最適化ソルバで解くことにより、最適な回転及び並進を計算することができ、故に対象物14の3Dポーズ100が推定される。
【0019】
【数1】
【0020】
対象物14の3Dポーズを推定するために学習ベースのニューラルネットワークを使用する上記のプロセスは、高レベルの精度を提供するが、改善可能である。例えば、カメラ112の光学的z軸に直交するx軸又はy軸における画像平面110上の対象物14の2D投影の小さなピクセル誤差は、z軸において比較的大きな誤差を生じさせ、このことは、対象物の位置を著しく不確実にし、3Dポーズ推定のパフォーマンスを低下させる。故に本開示は、複数のカメラを用いることでz軸の不確実性を低減する3Dポーズ推定プロセスも提案する。
【0021】
図6は、x、y及びz座標フレームに対して方向付けられた第1のカメラ122及び第2のカメラ124を含むカメラシステム120の図であり、ここでは、z軸はカメラ122及び124の光軸に沿う。図示される不確実領域126は、カメラ122からの画像が対象物14の位置を推定できる精度の限界を示し、図示される不確実領域128は、カメラ124からの画像が対象物14の位置を推定できる精度の限界を示す。図示されるように、カメラ122及び124はいずれも、x軸及びy軸においては高精度であるが、z軸においては精度が制限されており、全ての軸における精度は、カメラ122又は124と画像化された対象物14との間の距離に依存する。しかしながら、カメラ122及び124の双方によって提供される3Dポーズ推定を融合することにより、z軸における対象物14の3D姿勢の推定精度は、不確実領域130で示すように大幅に改善される。換言すれば、この図では、カメラ122及び124の一方のz軸はカメラ122及び124の他方のx軸であるため、推定プロセスの全般的な不確実性はx軸方向の不確実性である。
【0022】
この非限定的な実施形態では、カメラ122及び124の光軸が互いに直交し、カメラ122又は124から対象物14までの距離が最適となって最小の不確実領域130が提供されるように、カメラ122及び124が方向付けられる。しかしながら実際のシステムは、z軸を備えたカメラ122及び124が互いに対して配置可能な場所、カメラ122又は124と対象物14との間の距離、照明や使用されるカメラの種類等の他の制限要因に関して、制限され得る。このことは、光軸が互いに直交しないことや、その他の制限につながる可能性がある。それらのシステムでは、不確実領域のサイズを最小不確実領域130に近づけるために、2つ以上のカメラを使用することが望ましい場合がある。
【0023】
図7は、2Dカメラ122及び124と、上述したタイプの学習ベースのニューラルネットワークとを使用して、対象物14の3Dポーズを推定するためのシステム140のブロック図である。対象物14のそれぞれの角度について、カメラ122は2D画像142を提供し、カメラ124は2D画像144を提供する。画像142はプロセッサ146に提供され、画像144はプロセッサ148に提供される。プロセッサ146及び148はそれぞれ、それらのパースペクティブからの画像94と同様に、特徴点画像150及び152を生成する。プロセッサ146及び148は例えば、入力層84、複数の連続する残差ブロック層86及び88、並びに複数の連続する畳み込み層90を使用してヒートマップを生成し、次にヒートマップは、上述した方法で画像150及び152を生成するために使用される。画像150及び152は、単一のカメラ22が提供できるものよりも正確に推定された対象物14の3Dポーズ156を生成するポーズ推定ブロック154で融合され、ポーズ推定プロセスもまた、上述のようにPnPアルゴリズムを使用する。
【0024】
図8は、イラスト104と同様のイラスト160であり、同様の要素は同じ参照番号によって示され、上述のブロック154における画像融合のためのPnPプロセスを示す。イラスト160において、カメラ162はカメラ122を表し、カメラ164はカメラ124を表す。イラスト160は、カメラ164に関する2D画像平面170上へのCADモデル114の投影である特徴点172を有する2Dモデル画像166と、カメラ164に関する画像平面170上への3D対象物106の投影である特徴点174を有する2D対象物画像168とを示す。CADモデル114は、カメラ162及び164の双方の前で回転及び並進させられて、カメラ162及び164の双方のための最適なモデルポーズが同時に取得され、画像平面110上のモデル画像116の特徴点118が、対象物画像108の特徴点102に可能な限り接近し、画像平面170上のモデル画像166の特徴点172は、対象物画像168の特徴点174に可能な限り接近する。このことが達成されると、3Dモデル114の最適な向きが得られ、これは対象物14の3Dポーズを表す。
【0025】
この分析は、画像108、116と画像166、168との間の対応する特徴点の1つについて式(2)によって表され、式(2)は、画像108、116及び画像166、168の全ての特徴点に対して使用される。式(2)において、uはモデル画像166の特徴点172の1つであり、bは対象物画像168の対応する特徴点174である。
【0026】
【数2】
【0027】
学習ベースのニューラルネットワークを使用して対象物14の3Dポーズを推定するために2D画像から特徴を抽出する上述の技術は、適切な特徴抽出技術の1つであり、他の技術もある。以下の説明では、学習ベースの技術を満足な結果に置換可能な深層学習及びベクトル場推定を使用する特徴抽出技術について説明する。以下で詳述するように、ベクトル場推定プロセスは、入力層84、複数の連続する残差ブロック層86及び88、並びにヒートマップ92を生成する複数の連続する畳み込み層90を含むニューラルネットワーク78を、ベクトル場推定要素に置換する。ここでは、対象物の3Dポーズを取得するためのベクトル場推定プロセスについて説明するが、該プロセスは、画像からの特徴抽出を必要とする他のいかなる適切なプロセスに適用できることを強調しておく。
【0028】
図9は、カメラ22によって撮像された対象物14の2D画像82を使用して対象物14の3Dポーズを生成する制御装置24で動作するベクトル場推定プロセスを示すフロータイプのダイアグラム180であり、同様の要素は同じ参照符号で示される。画像入力は、3次元行列N×N×3によって定義される3チャネルRGB(赤-緑-青)画像であり、ここでNは、画像82の高さ及び幅である。画像82は、エンコーダ/デコーダニューラルネットワーク182に提供され、このネットワーク182は、画像82内の可能な主要特徴を抽出するエンコーダネットワーク184と、抽出された特徴から画像を生成して、以下で説明する対象物14の可能な特徴点を識別するデコーダネットワーク186とを含む。ここでネットワーク184及び186は、上述したタイプの複数のニューラルネットワーク層を含む。特に、ある非限定的な実施形態では、エンコーダネットワーク184のニューラルネットワーク層は、畳み込み層188、バッチ正規化(BN)層190及び正規化線形ユニット(ReLu)層192を含み、デコーダネットワーク186のニューラルネットワーク層は、プーリング層194、アップサンプリング層196及びソフトマックス層198を含む。
【0029】
ネットワーク182は、画像82の3次元行列を処理し、3つのチャネルから、1次元(N×N×1)マスク画像200と、識別された各特徴点について2次元(N×N×2)ベクトル場画像202とを生成する。マスク画像200を生成するために、ネットワーク182は、対象物14の一部が特定のピクセルに存在するか否かに基づいて、画像82内の各ピクセルにデジタル1又は0を割り当てる。ここでマスク画像200の明るい領域のピクセルはデジタル1を有し、マスク画像200の暗い領域のピクセルはデジタル0を有する。各ベクトル場画像202は、画像82内の各ピクセルに与えられるx方向ベクトル値及びy方向ベクトル値によってそれぞれ定義される複数の矢印を含み、矢印の方向は、画像82の特徴点の1つに向かっている。故に画像82内の各ピクセルは、その特徴への方向を予測する能力を有する。マスク画像200内のピクセルの値は、ベクトル場画像202内の対応するピクセルの値で乗算されるので、対象物14の一部を含むピクセルに関連付けられておらず、かつ特徴点に対して有用な方向を提供しない矢印は、ベクトル場抽出画像204に示されるように、破棄される。
【0030】
ベクトル場抽出画像204内の各矢印は、特徴点の1つへの方向を表すが、その特徴点までの距離は示さない。そこで、ベクトル場抽出画像204内の、値を有する2つの対象物ピクセルp及びpの全ての組み合わせについて、プロセスは点xijを識別する。点xijのベクトルv及びvは、ベクトル交差画像206に示すように、互いに交差する。各点xijには、ピクセルpと点xijとの間の距離、ピクセルpと点xijとの間の距離、並びにピクセルp及びpでの勾配の大きさに応じて、スコアが割り当てられる。例えば、ピクセルpと点xijとの間の距離、及びピクセルpと点xijとの間の距離が小さいほどスコアは高くなり、ピクセルp及びpでの勾配の大きさが大きいほどスコアは高くなる。その結果、各々がスコアを有する多くの点xijを含むグリッドが得られ、殆どの点xijを含む画像内の領域は、点投票画像208に示されるように、可能性のある特徴点の位置を識別する。
【0031】
ベクトル場画像202は、ネットワーク182によって識別された可能な1つの特徴点のベクトル矢印を示す。ネットワーク182はまた、マスク200によって乗算された可能な特徴点ごとに別個のベクトル場画像202を生成する。全ての点投票画像208の全ての特徴点は、特徴点96を含む画像94のように、単一の画像内で結合され、個別の特徴点96の各々は、点投票画像208の1つによって提供される。次に画像94は、ポーズ推定プロセッサ98内でPnPプロセスによって処理されて、上述のやり方で3Dポーズ100を生成することができる。さらに、上述したような単一のカメラの光軸に沿った不確実性のために、複数のカメラを使用することができ、それらのカメラからの画像の各々が、ベクトル場推定プロセスによって処理される。
【0032】
前述のように、ベクトル場推定プロセスは、特徴点の抽出を必要とする他のプロセスに適用され得る。例えば、ロボット工学のアプリケーションの1つでは、ロボットによってピックアップされている対象物の中心を探索するが、そこでは対象物の向きは必要ない。別のアプリケーションは、品質保証の目的で対象物の測定値を決定することであり得る。
【0033】
当業者によってよく理解されるように、本発明を説明するために本明細書で論じられるいくつかの様々なステップ及びプロセスは、電気的現象を使用してデータを操作及び/又は変換するコンピュータ、プロセッサ又は他の電子計算デバイスによって実行される操作を意味し得る。それらのコンピュータ及び電子デバイスは、コンピュータ又はプロセッサによって実行可能な種々のコード又は実行可能命令を有する実行可能プログラムが格納された非一時的なコンピュータ可読媒体を含む、様々な揮発性及び/又は不揮発性メモリを使用することができる。メモリ及び/又はコンピュータ可読媒体は、あらゆる形態及びタイプの、メモリ及び他のコンピュータ可読媒体を含み得る。
【0034】
上述の説明は、本開示の単なる例示的な実施形態を開示及び記載している。当業者は、そのような説明、並びに添付の図面及び特許請求の範囲から、以下の特許請求の範囲で規定される本開示の精神及び範囲から逸脱することなく、様々な変更、修正及び変形を行うことができることを容易に認識するであろう。
[構成1]
現実の対象物の3次元ポーズを推定する方法であって、
2次元カメラを用いて前記対象物の2次元画像を取得することと、
ニューラルネットワークを用いて、前記2次元画像から前記対象物の複数の特徴を抽出することと、
抽出された前記特徴ごとに、前記対象物の特徴点の位置の確率を識別する現実のヒートマップを生成することと、
前記ヒートマップからの特徴点と前記2次元画像とを結合する特徴点画像を提供することと、
前記特徴点画像を用いて、前記対象物の3次元ポーズを推定することと、
を含む方法。
[構成2]
前記対象物の3次元ポーズを推定することは、前記特徴点画像と前記対象物の3次元仮想モデルとを比較することを含む、構成1に記載の方法。
[構成3]
前記対象物の3次元ポーズを推定することは、パースペクティブnポイントアルゴリズムを使用することを含む、構成2に記載の方法。
[構成4]
前記ヒートマップにおける前記特徴点の位置の確率は、前記ヒートマップの色彩として表される、構成1に記載の方法。
[構成5]
前記対象物の特徴点の位置の確率には、それが特徴点であるという信頼値が割り当てられる、構成1に記載の方法。
[構成6]
マーカを有するマーカボード上において前記現実の対象物を表すトレーニング対象物を配置することを含むデータセットを取得することで前記ニューラルネットワークをトレーニングすることと、前記マーカボードの少なくとも1つのトレーニング2次元画像を得ることと、前記トレーニング2次元画像内のマーカの3次元ポーズを識別することと、前記マーカの前記3次元ポーズにオフセットを付与して、前記トレーニング対象物の特徴点を取得することと、各特徴点の位置の確率を特定する、個々のトレーニングヒートマップを生成することと、前記トレーニングヒートマップを使用して前記ニューラルネットワークをトレーニングすることと、をさらに含む、構成1に記載の方法。
[構成7]
少なくとも1つのトレーニング2次元画像を得ることは、互いに異なる向きで複数のトレーニング2次元画像を得ることを含む、構成6に記載の方法。
[構成8]
個々のトレーニングヒートマップを生成することは、ガウス分布プロセスを使用する、構成6に記載の方法。
[構成9]
前記現実の対象物の複数の特徴を抽出することは、少なくとも4つの特徴を抽出することを含む、構成1に記載の方法。
[構成10]
前記方法はロボットシステムにおいて実行され、前記現実の対象物はロボットにピックアップされる、構成1に記載の方法。
[構成11]
ロボットによってピックアップされる対象物の3次元ポーズを推定する方法であって、
2次元カメラを用いて前記対象物の2次元画像を取得することと、
収集されたトレーニングセットから、前記対象物の代表対象物を用いてトレーニングされた重みを備えたノードを含むニューラルネットワークを用いて、前記2次元画像から前記対象物の複数の特徴を抽出することと、
抽出された前記特徴ごとに、前記対象物の特徴点の位置の確率を色彩で表示して識別するヒートマップを生成することと、
前記ヒートマップからの特徴点と前記2次元画像とを結合する特徴点画像を提供することと、
パースペクティブnポイントアルゴリズムを用いて、前記特徴点画像を前記対象物の3次元仮想モデルと比較することで現実の対象物の3次元ポーズを推定することと、
を含む方法。
[構成12]
前記対象物の特徴点の位置の確率には、それが特徴点であるという信頼値が割り当てられる、構成11に記載の方法。
[構成13]
前記対象物の複数の特徴を抽出することは、少なくとも4つの特徴を抽出することを含む、構成11に記載の方法。
[構成14]
対象物の3次元ポーズを推定するシステムであって、
2次元カメラを用いて現実の対象物の2次元画像を取得する手段と、
ニューラルネットワークを用いて、前記2次元画像から前記対象物の複数の特徴を抽出する手段と、
抽出された前記特徴ごとに、前記対象物の特徴点の位置の確率を識別する現実のヒートマップを生成する手段と、
前記ヒートマップからの特徴点と前記2次元画像とを結合する特徴点画像を提供する手段と、
前記特徴点画像を用いて、前記対象物の3次元ポーズを推定する手段と、
を有するシステム。
[構成15]
前記対象物の3次元ポーズを推定する手段は、前記特徴点画像と前記対象物の3次元仮想モデルとを比較する、構成14に記載のシステム。
[構成16]
前記対象物の3次元ポーズを推定する手段は、パースペクティブnポイントアルゴリズムを使用する、構成15に記載のシステム。
[構成17]
前記ヒートマップにおける前記特徴点の位置の確率は、前記ヒートマップの色彩として表される、構成14に記載のシステム。
[構成18]
前記対象物の特徴点の位置の確率には、それが特徴点であるという信頼値が割り当てられる、構成14に記載のシステム。
[構成19]
収集されたトレーニングセットから、前記対象物の代表対象物を用いて前記ニューラルネットワークのノードをトレーニングする手段をさらに含む、構成14に記載のシステム。
[構成20]
前記システムはロボット制御に使用され、前記対象物はロボットにピックアップされる、構成14に記載のシステム。
図1
図2
図3
図4
図5
図6
図7
図8
図9