JP2021163503A - 2次元カメラによる3次元の姿勢推定 - Google Patents
2次元カメラによる3次元の姿勢推定 Download PDFInfo
- Publication number
- JP2021163503A JP2021163503A JP2021062699A JP2021062699A JP2021163503A JP 2021163503 A JP2021163503 A JP 2021163503A JP 2021062699 A JP2021062699 A JP 2021062699A JP 2021062699 A JP2021062699 A JP 2021062699A JP 2021163503 A JP2021163503 A JP 2021163503A
- Authority
- JP
- Japan
- Prior art keywords
- image
- feature point
- pose
- dimensional
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 69
- 238000013528 artificial neural network Methods 0.000 claims abstract description 40
- 230000008569 process Effects 0.000 claims description 34
- 238000012549 training Methods 0.000 claims description 15
- 239000003550 marker Substances 0.000 claims description 9
- 239000000284 extract Substances 0.000 abstract description 5
- 239000013598 vector Substances 0.000 description 22
- 238000010586 diagram Methods 0.000 description 13
- 238000000605 extraction Methods 0.000 description 9
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 239000012636 effector Substances 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000014616 translation Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000007786 learning performance Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000000275 quality assurance Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000005945 translocation Effects 0.000 description 1
- 230000032258 transport Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/77—Determining position or orientation of objects or cameras using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
【課題】2Dカメラからの2D画像及び学習ベースのニューラルネットワークを用いて、対象物の3Dポーズを取得するシステム及び方法の提供。
【解決手段】ニューラルネットワークは、2D画像から対象物の複数の特徴を抽出し、抽出された特徴ごとに、色彩表現によって対象物の特徴点の位置の確率を識別するヒートマップを生成する。方法は、2D画像上のヒートマップからの特徴点を含む特徴点画像を提供し、特徴点画像を対象物の3D仮想CADモデルと比較することによって対象物の3Dポーズを推定する。
【選択図】図1
【解決手段】ニューラルネットワークは、2D画像から対象物の複数の特徴を抽出し、抽出された特徴ごとに、色彩表現によって対象物の特徴点の位置の確率を識別するヒートマップを生成する。方法は、2D画像上のヒートマップからの特徴点を含む特徴点画像を提供し、特徴点画像を対象物の3D仮想CADモデルと比較することによって対象物の3Dポーズを推定する。
【選択図】図1
Description
本開示は、広くは、2次元カメラを使用して対象物の3次元の姿勢(3Dポーズ)を取得するためのシステム及び方法に関し、特には、2次元カメラ及び学習ベースのニューラルネットワークを使用して対象物の3次元の姿勢を取得するための、特定のロボット制御用アプリケーションを含むシステム及び方法に関する。
ロボットは、ピックアンドプレース操作を含む多数のタスクを実行し、この操作では、ロボットが複数の対象物をピックアップして、コンベヤベルト等のある場所から、収集ビン等の他の場所に搬送するが、対象物の3Dポーズとして知られる位置及び向きは、僅かに異なる。そこで、ロボットが対象物を効率的にピックアップするために、多くの場合、ロボットが対象物の3Dポーズを知る必要がある。この目的のために、対象物の3Dポーズを決定するための種々の技術では、対象物の3D画像をリアルタイムで取得する3Dカメラが使用される。この場合、3D画像は、カメラの視野内の多くのポイントまでの距離測定値を識別し、これらの測定値はロボット制御装置に送信される。これらの技術では、構造化光を使用してシーンの3Dマップを作成し、対象物の3D特徴を識別して該マップ内の対象物を検索することができる。ロボットアプリケーションのために、対象物の3Dポーズを決定すべく3Dカメラを使用することは、効果的であることが証明されている。しかしながら、3Dカメラは高価なデバイスであり、多くの場合、必要とされるものよりも動作が遅い。
ロボットアプリケーションのために対象物の3Dポーズを取得するための当技術分野で知られている技術の一つでは、代わりに2次元(2D)カメラを使用する。この技術は、シーンの単一の2Dカラー画像を取得し、完全畳み込み(fully-convolutional)アーキテクチャを使用して画像を処理する。アルゴリズムが、画像をSXSセルを含む2Dグリッドに分割し、セル内の対象物を識別する。アルゴリズムは、画像内の各対象物の周囲に境界ボックスを投影し、該ボックスの8つのコーナの2D位置を予測する。しかしながら、境界ボックスのコーナを予測するこの技術では、精度に制限があり、オクルージョンに対するロバスト性(robustness to occlusion)が低い。
対象物の3Dポーズを決定するための上記プロセスのいくつかは、人工知能(AI)を使用する。これは、アルゴリズムを使用するコンピュータサイエンスの一部であり、該アリゴリズムによって、ソフトウェアアプリケーションが環境から学習し、そこから決定を下して、特定の結果を達成することができる。機械学習は、ソフトウェアアプリケーションを使用するAIの一部であり、該ソフトウェアアプリケーションは、大量の生の入力データを繰り返し分析することで独自の知識を取得し、該データからパターンを抽出して、該ソフトウェアアプリケーションがあるタスクを実行するために特別にプログラムされていなくても、該タスクの実行を学習できる。深層学習(ディープラーニング)は、特定の現実世界の環境を、増加する複雑な概念の階層として表すことにより、より優れた学習パフォーマンスを提供する特定のタイプの機械学習である。
深層学習は典型的には、非線形処理を実行するニューラルネットワークの複数の層(レイヤ)を含むソフトウェア構造を使用し、この場合、前の層からの出力を次の層の各々が受け取る。一般に層は、センサから生データを受信する入力層と、該データから抽象的な特徴を抽出する複数の隠れ層と、該隠れ層からの特徴抽出に基づいて特定のものを識別する出力層とを含む。ニューラルネットワークは、各々が「重み」を有するニューロン又はノードを含み、この重みにノードへの入力を乗算することで、あることが正しいか否かの確率を取得することができる。より具体的には、各ノードは浮動小数点数である重みを有し、この重みはノードへの入力と乗算され、該入力の割合である、そのノードの出力が生成される。この重みは最初に、監視された処理の下でニューラルネットワークに既知のデータのセットを分析させることと、コスト関数を最小化してネットワークが正しい出力を最高の確率で取得できるようにすることとにより、「トレーニングされ(trained)」又は設定されている。
深層学習ニューラルネットワークは、画像内の対象物の視覚的な検出及び分類のための、画像特徴抽出及び変換を行うために、頻繁に使用される。画像のビデオ又はストリームは、該ネットワークによって分析可能であり、それにより対象物の識別・分類と、プロセスを通じて対象物をよりよく認識するための学習が可能となる。従って、これらのタイプのネットワークでは、システムは同じ処理構成を使用して特定の対象物を検出し、アルゴリズムが対象物を認識するためにどのように学習したかに基づいて、対象物を異なる方法で分類することができる。
以下の説明は、2次元カメラからの2次元画像及び学習ベースのニューラルネットワークを使用して対象物の3次元の姿勢(ポーズ)を取得するためのシステム及び方法を開示・説明する。ニューラルネットワークは、2次元画像から対象物の複数の特徴を抽出し、抽出された特徴ごとに、対象物の特徴点の位置の確率を色彩表現によって特定するヒートマップを生成する。この方法は、2次元画像上のヒートマップの特徴点を含む特徴点画像を提供し、特徴点画像と対象物の3次元仮想CADモデルとを比較することによって、対象物の3次元の姿勢を推定する。
本開示の追加の特徴は、添付の図面と併せて、以下の説明及び特許請求の範囲から明らかになるであろう。
2Dカメラを使用して対象物の3Dポーズを取得するために学習ベースのニューラルネットワークを使用するシステム及び方法を対象とする本開示の実施形態の以下の説明は、本質的に単なる例示であり、本発明又はそのアプリケーション若しくは使用を限定することを意図するものではない。例えば、システム及び方法は、ロボットに把持された対象物の位置及び向きを求めるアプリケーションを有する。しかしシステム及び方法は、他のアプリケーションを有してもよい。
図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ポーズに変換する。
後述するように、制御装置24が対象物14の3Dポーズを正確に決定するために、一実施形態では、学習ベースのニューラルネットワークが、制御装置24で実行されて対象物の特徴を抽出するアルゴリズム及びソフトウェアにおいて使用される。ニューラルネットワークは、代表対象物から取得したデータでトレーニングする必要がある。図2は、ニューラルネットワークをトレーニングするために使用される2Dカメラ40を使用して、システム10内の対象物14と同一の対象物32から画像データを取得するためのプロセスを示すフロータイプのダイアグラム30である。対象物32は、適切な数のマーカ36を有するマーカボード34上に配置され、マーカ36は、対象物32のグラウンドトゥルース又は実際の位置を識別するために使用される特別な検出可能なデザインを備える。ボード34上のマーカ36のうちの1つのみが図示されており、マーカ34と対象物32との間の線38によって表されるオフセット距離が測定される。
カメラ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のように青に変化する。
次に、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の畳み込み層の入力に付加されて、ブロック出力として機能する。
図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は使用されない。
次に画像94は、ポーズ推定プロセッサ98内に同じ特徴点を有する、対象物14の公称又は仮想の3DCADモデルと比較されて、対象物14の推定3Dポーズ100を提供する。画像94をCADモデルと比較するための適切なアルゴリズムの1つは、当技術分野ではパースペクティブnポイント(PnP)として周知である。一般に、PnPプロセスは、ワールド座標フレーム内の対象物のn個の3Dポイントのセットと、カメラからの画像内の対応する2D投影とが与えられてキャリブレーションされたカメラに対する対象物のポーズを推定する。ポーズには、カメラの座標フレームに対する対象物の回転(ロール、ピッチ、ヨー)と3D平行移動とで構成される6自由度(DOF)が含まれる。
図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となる。
この分析は、画像108と画像116との間の対応する特徴点の1つについて式(1)で表され、式(1)は、画像108及び116の全ての特徴点について使用される。式(1)において、ViはCADモデル114の特徴点132の1つであり、viはモデル画像116の対応する投影された特徴点102であり、aiは対象物画像108の特徴点102の1つであり、R及びTはそれぞれ、カメラ112に対するCADモデル114の回転及び並進であり、記号「′」はベクトル転置であり、∀はインデックスiを有する任意の特徴点を指す。式(1)を最適化ソルバで解くことにより、最適な回転及び並進を計算することができ、故に対象物14の3Dポーズ100が推定される。
対象物14の3Dポーズを推定するために学習ベースのニューラルネットワークを使用する上記のプロセスは、高レベルの精度を提供するが、改善可能である。例えば、カメラ112の光学的z軸に直交するx軸又はy軸における画像平面110上の対象物14の2D投影の小さなピクセル誤差は、z軸において比較的大きな誤差を生じさせ、このことは、対象物の位置を著しく不確実にし、3Dポーズ推定のパフォーマンスを低下させる。故に本開示は、複数のカメラを用いることでz軸の不確実性を低減する3Dポーズ推定プロセスも提案する。
図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軸方向の不確実性である。
この非限定的な実施形態では、カメラ122及び124の光軸が互いに直交し、カメラ122又は124から対象物14までの距離が最適となって最小の不確実領域130が提供されるように、カメラ122及び124が方向付けられる。しかしながら実際のシステムは、z軸を備えたカメラ122及び124が互いに対して配置可能な場所、カメラ122又は124と対象物14との間の距離、照明や使用されるカメラの種類等の他の制限要因に関して、制限され得る。このことは、光軸が互いに直交しないことや、その他の制限につながる可能性がある。それらのシステムでは、不確実領域のサイズを最小不確実領域130に近づけるために、2つ以上のカメラを使用することが望ましい場合がある。
図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アルゴリズムを使用する。
図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ポーズを表す。
この分析は、画像108、116と画像166、168との間の対応する特徴点の1つについて式(2)によって表され、式(2)は、画像108、116及び画像166、168の全ての特徴点に対して使用される。式(2)において、uiはモデル画像166の特徴点172の1つであり、biは対象物画像168の対応する特徴点174である。
学習ベースのニューラルネットワークを使用して対象物14の3Dポーズを推定するために2D画像から特徴を抽出する上述の技術は、適切な特徴抽出技術の1つであり、他の技術もある。以下の説明では、学習ベースの技術を満足な結果に置換可能な深層学習及びベクトル場推定を使用する特徴抽出技術について説明する。以下で詳述するように、ベクトル場推定プロセスは、入力層84、複数の連続する残差ブロック層86及び88、並びにヒートマップ92を生成する複数の連続する畳み込み層90を含むニューラルネットワーク78を、ベクトル場推定要素に置換する。ここでは、対象物の3Dポーズを取得するためのベクトル場推定プロセスについて説明するが、該プロセスは、画像からの特徴抽出を必要とする他のいかなる適切なプロセスに適用できることを強調しておく。
図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を含む。
ネットワーク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に示されるように、破棄される。
ベクトル場抽出画像204内の各矢印は、特徴点の1つへの方向を表すが、その特徴点までの距離は示さない。そこで、ベクトル場抽出画像204内の、値を有する2つの対象物ピクセルpi及びpjの全ての組み合わせについて、プロセスは点xijを識別する。点xijのベクトルvi及びvjは、ベクトル交差画像206に示すように、互いに交差する。各点xijには、ピクセルpiと点xijとの間の距離、ピクセルpjと点xijとの間の距離、並びにピクセルpi及びpjでの勾配の大きさに応じて、スコアが割り当てられる。例えば、ピクセルpiと点xijとの間の距離、及びピクセルpjと点xijとの間の距離が小さいほどスコアは高くなり、ピクセルpi及びpjでの勾配の大きさが大きいほどスコアは高くなる。その結果、各々がスコアを有する多くの点xijを含むグリッドが得られ、殆どの点xijを含む画像内の領域は、点投票画像208に示されるように、可能性のある特徴点の位置を識別する。
ベクトル場画像202は、ネットワーク182によって識別された可能な1つの特徴点のベクトル矢印を示す。ネットワーク182はまた、マスク200によって乗算された可能な特徴点ごとに別個のベクトル場画像202を生成する。全ての点投票画像208の全ての特徴点は、特徴点96を含む画像94のように、単一の画像内で結合され、個別の特徴点96の各々は、点投票画像208の1つによって提供される。次に画像94は、ポーズ推定プロセッサ98内でPnPプロセスによって処理されて、上述のやり方で3Dポーズ100を生成することができる。さらに、上述したような単一のカメラの光軸に沿った不確実性のために、複数のカメラを使用することができ、それらのカメラからの画像の各々が、ベクトル場推定プロセスによって処理される。
前述のように、ベクトル場推定プロセスは、特徴点の抽出を必要とする他のプロセスに適用され得る。例えば、ロボット工学のアプリケーションの1つでは、ロボットによってピックアップされている対象物の中心を探索するが、そこでは対象物の向きは必要ない。別のアプリケーションは、品質保証の目的で対象物の測定値を決定することであり得る。
当業者によってよく理解されるように、本発明を説明するために本明細書で論じられるいくつかの様々なステップ及びプロセスは、電気的現象を使用してデータを操作及び/又は変換するコンピュータ、プロセッサ又は他の電子計算デバイスによって実行される操作を意味し得る。それらのコンピュータ及び電子デバイスは、コンピュータ又はプロセッサによって実行可能な種々のコード又は実行可能命令を有する実行可能プログラムが格納された非一時的なコンピュータ可読媒体を含む、様々な揮発性及び/又は不揮発性メモリを使用することができる。メモリ及び/又はコンピュータ可読媒体は、あらゆる形態及びタイプの、メモリ及び他のコンピュータ可読媒体を含み得る。
上述の説明は、本開示の単なる例示的な実施形態を開示及び記載している。当業者は、そのような説明、並びに添付の図面及び特許請求の範囲から、以下の特許請求の範囲で規定される本開示の精神及び範囲から逸脱することなく、様々な変更、修正及び変形を行うことができることを容易に認識するであろう。
Claims (20)
- 現実の対象物の3次元ポーズを推定する方法であって、
2次元カメラを用いて前記対象物の2次元画像を取得することと、
ニューラルネットワークを用いて、前記2次元画像から前記対象物の複数の特徴を抽出することと、
抽出された前記特徴ごとに、前記対象物の特徴点の位置の確率を識別する現実のヒートマップを生成することと、
前記ヒートマップからの特徴点と前記2次元画像とを結合する特徴点画像を提供することと、
前記特徴点画像を用いて、前記対象物の3次元ポーズを推定することと、
を含む方法。 - 前記対象物の3次元ポーズを推定することは、前記特徴点画像と前記対象物の3次元仮想モデルとを比較することを含む、請求項1に記載の方法。
- 前記対象物の3次元ポーズを推定することは、パースペクティブnポイントアルゴリズムを使用することを含む、請求項2に記載の方法。
- 前記ヒートマップにおける前記特徴点の位置の確率は、前記ヒートマップの色彩として表される、請求項1に記載の方法。
- 前記対象物の特徴点の位置の確率には、それが特徴点であるという信頼値が割り当てられる、請求項1に記載の方法。
- マーカを有するマーカボード上において前記現実の対象物を表すトレーニング対象物を配置することを含むデータセットを取得することで前記ニューラルネットワークをトレーニングすることと、前記マーカボードの少なくとも1つのトレーニング2次元画像を得ることと、前記トレーニング2次元画像内のマーカの3次元ポーズを識別することと、前記マーカの前記3次元ポーズにオフセットを付与して、前記トレーニング対象物の特徴点を取得することと、各特徴点の位置の確率を特定する、個々のトレーニングヒートマップを生成することと、前記トレーニングヒートマップを使用して前記ニューラルネットワークをトレーニングすることと、をさらに含む、請求項1に記載の方法。
- 少なくとも1つのトレーニング2次元画像を得ることは、互いに異なる向きで複数のトレーニング2次元画像を得ることを含む、請求項6に記載の方法。
- 個々のトレーニングヒートマップを生成することは、ガウス分布プロセスを使用する、請求項6に記載の方法。
- 前記現実の対象物の複数の特徴を抽出することは、少なくとも4つの特徴を抽出することを含む、請求項1に記載の方法。
- 前記方法はロボットシステムにおいて実行され、前記現実の対象物はロボットにピックアップされる、請求項1に記載の方法。
- ロボットによってピックアップされる対象物の3次元ポーズを推定する方法であって、
2次元カメラを用いて前記対象物の2次元画像を取得することと、
収集されたトレーニングセットから、前記対象物の代表対象物を用いてトレーニングされた重みを備えたノードを含むニューラルネットワークを用いて、前記2次元画像から前記対象物の複数の特徴を抽出することと、
抽出された前記特徴ごとに、前記対象物の特徴点の位置の確率を色彩で表示して識別するヒートマップを生成することと、
前記ヒートマップからの特徴点と前記2次元画像とを結合する特徴点画像を提供することと、
パースペクティブnポイントアルゴリズムを用いて、前記特徴点画像を前記対象物の3次元仮想モデルと比較することで現実の対象物の3次元ポーズを推定することと、
を含む方法。 - 前記対象物の特徴点の位置の確率には、それが特徴点であるという信頼値が割り当てられる、請求項11に記載の方法。
- 前記対象物の複数の特徴を抽出することは、少なくとも4つの特徴を抽出することを含む、請求項11に記載の方法。
- 対象物の3次元ポーズを推定するシステムであって、
2次元カメラを用いて現実の対象物の2次元画像を取得する手段と、
ニューラルネットワークを用いて、前記2次元画像から前記対象物の複数の特徴を抽出する手段と、
抽出された前記特徴ごとに、前記対象物の特徴点の位置の確率を識別する現実のヒートマップを生成する手段と、
前記ヒートマップからの特徴点と前記2次元画像とを結合する特徴点画像を提供する手段と、
前記特徴点画像を用いて、前記対象物の3次元ポーズを推定する手段と、
を有するシステム。 - 前記対象物の3次元ポーズを推定する手段は、前記特徴点画像と前記対象物の3次元仮想モデルとを比較する、請求項14に記載のシステム。
- 前記対象物の3次元ポーズを推定する手段は、パースペクティブnポイントアルゴリズムを使用する、請求項15に記載のシステム。
- 前記ヒートマップにおける前記特徴点の位置の確率は、前記ヒートマップの色彩として表される、請求項14に記載のシステム。
- 前記対象物の特徴点の位置の確率には、それが特徴点であるという信頼値が割り当てられる、請求項14に記載のシステム。
- 収集されたトレーニングセットから、前記対象物の代表対象物を用いて前記ニューラルネットワークのノードをトレーニングする手段をさらに含む、請求項14に記載のシステム。
- 前記システムはロボット制御に使用され、前記対象物はロボットにピックアップされる、請求項14に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/839,274 | 2020-04-03 | ||
US16/839,274 US11475589B2 (en) | 2020-04-03 | 2020-04-03 | 3D pose estimation by a 2D camera |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021163503A true JP2021163503A (ja) | 2021-10-11 |
Family
ID=77749799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021062699A Pending JP2021163503A (ja) | 2020-04-03 | 2021-04-01 | 2次元カメラによる3次元の姿勢推定 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11475589B2 (ja) |
JP (1) | JP2021163503A (ja) |
CN (1) | CN113496525A (ja) |
DE (1) | DE102021107333A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102694987B1 (ko) * | 2023-12-20 | 2024-08-16 | 주식회사 플라잎 | 인공지능을 이용하여 객체에 대한 로봇의 엔드 이펙터의 포즈를 추정하는 포즈 추정 장치 및 방법과 이를 포함하는 로봇 제어 시스템 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210030147A (ko) * | 2019-09-09 | 2021-03-17 | 삼성전자주식회사 | 3d 렌더링 방법 및 장치 |
US11600017B2 (en) * | 2020-04-29 | 2023-03-07 | Naver Corporation | Adversarial scene adaptation for camera pose regression |
US20210398338A1 (en) * | 2020-06-22 | 2021-12-23 | Nvidia Corporation | Image generation using one or more neural networks |
DE102021202759A1 (de) * | 2021-03-22 | 2022-09-22 | Robert Bosch Gesellschaft mit beschränkter Haftung | Vorrichtung und Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters |
US20220405506A1 (en) * | 2021-06-22 | 2022-12-22 | Intrinsic Innovation Llc | Systems and methods for a vision guided end effector |
KR102433287B1 (ko) * | 2021-10-12 | 2022-08-18 | 주식회사 에너자이(ENERZAi) | 학습 세트 생성 방법, 학습 세트 생성 장치, 및 학습 세트 생성 시스템 |
KR102639637B1 (ko) * | 2021-10-12 | 2024-02-22 | 주식회사 에너자이 | 학습 세트 생성 방법, 학습 세트 생성 장치, 및 학습 세트 생성 시스템 |
US20230135230A1 (en) * | 2021-11-01 | 2023-05-04 | Sony Group Corporation | Electronic device and method for spatial synchronization of videos |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106778867B (zh) * | 2016-12-15 | 2020-07-07 | 北京旷视科技有限公司 | 目标检测方法和装置、神经网络训练方法和装置 |
US10789717B2 (en) * | 2017-11-24 | 2020-09-29 | Electronics And Telecommunications Research Institute | Apparatus and method of learning pose of moving object |
US10821897B2 (en) * | 2019-01-31 | 2020-11-03 | StradVision, Inc. | Method and device for adjusting driver assistance apparatus automatically for personalization and calibration according to driver's status |
US11361505B2 (en) * | 2019-06-06 | 2022-06-14 | Qualcomm Technologies, Inc. | Model retrieval for objects in images using field descriptors |
-
2020
- 2020-04-03 US US16/839,274 patent/US11475589B2/en active Active
-
2021
- 2021-03-24 DE DE102021107333.2A patent/DE102021107333A1/de active Pending
- 2021-04-01 CN CN202110357289.2A patent/CN113496525A/zh active Pending
- 2021-04-01 JP JP2021062699A patent/JP2021163503A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102694987B1 (ko) * | 2023-12-20 | 2024-08-16 | 주식회사 플라잎 | 인공지능을 이용하여 객체에 대한 로봇의 엔드 이펙터의 포즈를 추정하는 포즈 추정 장치 및 방법과 이를 포함하는 로봇 제어 시스템 |
Also Published As
Publication number | Publication date |
---|---|
DE102021107333A1 (de) | 2021-10-07 |
CN113496525A (zh) | 2021-10-12 |
US11475589B2 (en) | 2022-10-18 |
US20210312655A1 (en) | 2021-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11475589B2 (en) | 3D pose estimation by a 2D camera | |
US11554496B2 (en) | Feature detection by deep learning and vector field estimation | |
Wu et al. | Real-time object pose estimation with pose interpreter networks | |
KR20220132617A (ko) | 포즈 검출 및 측정을 위한 시스템들 및 방법들 | |
Kiyokawa et al. | Fully automated annotation with noise-masked visual markers for deep-learning-based object detection | |
CN113370217B (zh) | 基于深度学习的物体姿态识别和抓取的智能机器人的方法 | |
CN113312973B (zh) | 一种手势识别关键点特征提取方法及系统 | |
JP2022047508A (ja) | 複数の透明対象物の三次元検出 | |
JP2018128897A (ja) | 対象物の姿勢等を検出する検出方法、検出プログラム | |
JP2021163502A (ja) | 複数の2次元カメラによる3次元の姿勢推定 | |
Höfer et al. | Object detection and autoencoder-based 6d pose estimation for highly cluttered bin picking | |
Le Louedec et al. | Segmentation and detection from organised 3D point clouds: A case study in broccoli head detection | |
CN114494594B (zh) | 基于深度学习的航天员操作设备状态识别方法 | |
CN116543217A (zh) | 一种结构相似的小目标分类识别与位姿估计方法 | |
Rogelio et al. | Object detection and segmentation using Deeplabv3 deep neural network for a portable X-ray source model | |
JP2019211981A (ja) | 情報処理装置、情報処理装置の制御方法およびプログラム | |
US12112499B2 (en) | Algorithm for mix-size depalletizing | |
Fang et al. | Self-teaching strategy for learning to recognize novel objects in collaborative robots | |
JP7234378B2 (ja) | 回転仮説を決定することによって画像を処理する方法及びシステム | |
Chowdhury et al. | Comparison of neural network-based pose estimation approaches for mobile manipulation | |
Zhang et al. | Robotic grasp detection using effective graspable feature selection and precise classification | |
Liang et al. | Model-based 3d pose estimation for pick-and-place application | |
Hasan et al. | 2D geometric object shapes detection and classification | |
US20230169324A1 (en) | Use synthetic dataset to train robotic depalletizing | |
Ćirić et al. | CNN-Based Object Detection for Robot Grasping in Cluttered Environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240305 |