(57)【特許請求の範囲】
【請求項１】
シーンにおける物体の姿勢を求めるための方法であって、該方法のステップを実行するためのプロセッサを備え、
前記物体のモデルの仮想画像のセットを生成するステップであって、各仮想画像のセットは、前記モデルの異なる既知の姿勢についてのものであり、前記モデルは、仮想光源のセットによって照明され、特定の既知の姿勢について特定のセットにおける各仮想光源につき１つの仮想画像がある、生成するステップと、
各仮想画像の仮想奥行きエッジを作成するステップと、
前記シーンにおける前記物体の実画像のセットを取得するステップであって、前記物体は、未知の姿勢を有し、前記物体は、実光源のセットによって照明され、各実光源につき１つの実画像がある、取得するステップと、
各実画像に関する実奥行きエッジを作成するステップと、
コスト関数を使用して、前記実画像のセットの前記実奥行きエッジを各仮想画像のセットの前記仮想奥行きエッジと比較するステップであって、それによって、前記未知の姿勢と最も良く照合する前記既知の姿勢を求める、比較するステップと、
を含む、方法。
【請求項２】
前記シーンは、異なる未知の姿勢を有する複数の前記物体を含む、請求項１に記載の方法。
【請求項３】
前記複数の前記物体は異なり、混合され、
各異なる物体の前記モデルの前記仮想画像のセットを生成すること、
をさらに含む、請求項２に記載の方法。
【請求項４】
前記仮想奥行きエッジをデータベースに保存すること、
をさらに含む、請求項１に記載の方法。
【請求項５】
前記姿勢は、位置及び配向を含む、請求項１に記載の方法。
【請求項６】
各実画像のセットについて環境光画像を生成すること、及び
各実画像から前記環境光画像を差し引くこと、
をさらに含む、請求項１に記載の方法。
【請求項７】
前記セットにおいて、前記仮想光源の個数及び位置と、前記実光源の個数及び位置とが、対応している、請求項１に記載の方法。
【請求項８】
前記実画像のセットは、作業空間に配置されたカメラによって取得され、
前記既知の姿勢に従ってロボットアームにより前記物体をピッキングすること、
をさらに含む、請求項１に記載の方法。
【請求項９】
前記奥行きエッジを作成することは、
前記実画像のセットから固有画像Ｉｍａｘを作成することであって、該固有画像内の各ピクセルは、前記セットにおける前記実画像Ｉｉ内のすべての同じ位置における対応するピクセルから選択された最大輝度を保存する、前記実画像のセットから固有画像Ｉｍａｘを作成すること、及び
各実画像の比画像Ｉｒａｔｉｏを
【数１】
0005539138.tif 000007
として作成することであって、該比画像は、前記照明の方向に依存した配向を有する前記奥行きエッジに対応するエッジを含む、各実画像の比画像ｒａｔｉｏを作成すること、
をさらに含む、請求項１に記載の方法。
【請求項１０】
各比画像の前記エッジから距離画像を作成することであって、前記比較することは、前記距離画像における面取り距離に従う、各比画像の前記エッジから距離画像を作成すること、
をさらに含む、請求項９に記載の方法。
【請求項１１】
前記コスト関数は、
【数２】
0005539138.tif 000008
であり、ここで、（ｘ，ｙ）は、特定のピクセルの位置を示し、Ｎｘ、Ｎｙは、前記奥行きエッジのサイズを示し、ｕ、ｖは、前記奥行きエッジの座標を示し、ｄｐｉ及びｄｓｉは、ｉ番目の照明方向についてのそれぞれ前記仮想奥行きエッジの距離変換及び前記実奥行きエッジの距離変換を表す、請求項１に記載の方法。
【請求項１２】
滑降シンプレックス手順を使用して前記コスト関数の値を求めること、
をさらに含む、請求項１に記載の方法。
【請求項１３】
シーンにおける物体の姿勢を求めるためのシステムであって、
前記物体のモデルの仮想画像のセットを生成するように構成されたレンダリングエンジンであって、各仮想画像のセットは、前記モデルの異なる可能性のある既知の姿勢についてのものであり、前記モデルは、仮想光源のセットによって照明され、特定の既知の姿勢について特定のセットの各仮想光源につき１つの仮想画像がある、レンダリングエンジンと、
各仮想画像の仮想奥行きエッジを作成する手段と、
前記物体の実画像のセットを取得するように構成されたカメラであって、前記物体は、未知の姿勢を有し、前記物体は、実光源のセットによって照明され、各実光源につき１つの実画像がある、カメラと、
各実画像の実奥行きエッジを作成する手段と、
コスト関数を使用して、前記実画像のセットの前記実奥行きエッジを各仮想画像のセットの前記仮想奥行きエッジと比較し、前記未知の姿勢と最も良く照合する前記既知の姿勢を求める、比較する手段と、
を含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には、コンピュータビジョンシステムに関し、より詳細には、ロボットピッキングの用途について物体の姿勢を求めるためのシステムに関する。
【背景技術】
【０００２】
産業用ロボットは、高い正確度及び精度で同じ作業を繰り返す。製造及び組み立て等のいくつかの産業上の用途では、ロボットが部品（物体）をピッキングし、その後の処理のためにそれら物体をプレーシング（place）する。ロボットは、物体の姿勢を必要とする。どのようなずれも、結果的に、性能を準最適なものにする可能性もあるし、ロボットアーム又は物体に損傷を与える可能性さえある。
【０００３】
通常、カスタム設計された機械システム及び電気機械システムは、既知の姿勢を有する物体をピッキングするのに使用される。いくつかの用途では、ロボットによるピッキングを容易にするために、物体は、最初、手動でソートされる。
【０００４】
ロボットは、物体をピッキングする前に、コンピュータビジョン技法を使用して、物体の姿勢を求めることができる。しかしながら、コンピュータビジョン対応のロボットの配備は、数多くの技術的な難しさのために制限され続けている。現在のシステムは、物体の置き場（bin）から単一の遮蔽していない物体又は十分に分離された物体をピッキングすることしかできない。システムは、積み重ねられた物体をピッキングするように設計されているが、物体を正確に積み重ねるには、複雑な機械システム又は人間の介入も必要とされる。
【０００５】
ほとんどのコンピュータビジョンシステムは、信頼性、正確度、及びロバスト性を欠き、高価なセンサ及びハードウェアを使用する。現在のシステムは、集積場（pile）又は置き場に互いに重なり合って場当たり的な方法でランダムに配置された物体をピッキングする能力を欠いている。
【０００６】
物体ピッキングの問題は、新しいものではない。いくつかのシステムは、電気機械デバイスを使用する。通常、ロボットアームは、ピッキングされる物体用に特別設計されたグラスパを装備している。しかしながら、ロボットアームグラスパは、ピッキングされる物体の姿勢を知る必要がある。正確な位置決め等の方法を使用して、特定の姿勢の物体をロボットアームに提示することができる。これらのシステムは、高価であり、物体ごとに特異的に設計する必要があることから相互運用性を欠き、置き場にランダムに配置された物体を取り扱うことができない。
【０００７】
コンピュータビジョンベースのシステムは、通常、その後のピッキング動作のために、複数のカメラ及び照明デバイスを使用して、シーンを分析し、物体を突き止め、ロボットアームにフィードバックを提供する。
【０００８】
ほとんどの２Ｄコンピュータビジョンシステムは、物体の面内の配向及び位置を突き止めることができるが、その物体の面外の回転及びその物体までの距離を求めることはできない。通常、それらのシステムでは、物体が重なり合っておらず、平坦な面にプレーシングされていることが必要である。したがって、それらのシステムは、物体のランダムな集積所又は物体のランダムな置き場で動作することができない。
【０００９】
いくつかのコンピュータビジョンシステムは、画像における物体のサイズの変化から、物体までの距離も計算することによって２Ｄビジョンシステムを補強している。しかしながら、それらのシステムは、面外の回転を求めることができず、多くの場合、それらの奥行き推定において信頼性がない。３Ｄコンピュータビジョンシステムは、通常、シーンの３Ｄ幾何的配置を求めるためのセンサを使用する。
【００１０】
立体視システムは、２つのカメラを使用して、物体の奥行きを求める。対応する特徴が、２つのカメラによって取得された画像において位置特定され、カメラ間の幾何形状関係を使用して、特徴点の奥行きを識別することができる。しかしながら、対応する特徴を見つけることは、特に、光沢があることが多く、かつ、特徴のない均質なテクスチャを有する機械物体では、困難な問題である。加えて、立体視システムは、特徴を位置特定している間、雑音に対して高い感度を有する。立体視システムに関するもう１つの問題は、奥行きが特徴点でしか復元されず、物体全体について復元されないということである。自動車車体修理工場での大きな車体パネルの取り外し等の一定の用途では正確度の低減を許容することができるが、鏡のような表面を有する小さな物体の正確なビンピッキング（置き場ピッキング）では正確度の低減を許容することができない。
【００１１】
レーザ三角測量は、構造化光を使用して、物体の表面上のパターンを生成する。このパターンは、カメラによって撮像される。これについては、２００７年４月２３日に出願された特許文献１の「Method and System for Determining Objects Poses from Range Images」を参照されたい。レーザ三角測量は、物体表面上の３Ｄ点群を復元することができる。その技術は、柔軟性があり寸法的に不安定な物体の溶接、密閉、接着剤付着、研削、ウォータジェット切断、及びバリ取りのためのエッジ追跡を伴う用途に使用されてきた。レーザベースシステムは、登録、並びに影及び遮蔽を考慮することを必要とする。レーザシステムは、一般のランダムなビンピッキングでの商品化に成功していない。加えて、レーザの使用は、オペレータの極めて近くに配備されると、安全性の問題も招く。
【００１２】
Ramesh Raskar他によって２００７年１１月７日に出願された特許文献２の「Method and System for Locating and Picking Objects Using Active Illumination」は、奥行きエッジを接続して輪郭を形成し、次に、遮蔽グラフを使用して輪郭を照合し、姿勢を得るビンピッキングシステムを説明している。しかしながら、そのシステムは、シーンにおいて遮蔽されていない物体を見つけることしか試みず、物体の大部分が遮蔽されているときに難しくなる。また、そのシステムは、追加のセグメンテーションステップも必要とし、このセグメンテーションステップは、それ自体、エラーを起こしやすい可能性がある。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】米国特許出願第１１／７３８，６４２号公報
【特許文献２】米国特許出願第１１／９３６，４１６号公報
【発明の概要】
【００１４】
前処理中、仮想カメラのレンズのまわりに仮想点光源を配置することにより、さまざまな姿勢について物体の３Ｄモデルがレンダリングされる。影を使用して、複数の方向から照明された物体の配向された奥行きエッジが得られる。配向された奥行きエッジは、データベースに保存される。
【００１５】
動作中、異なる方向からシーン上に影を投じることによって、カメラがシーンの画像を取得する。シーンは、互いに対して任意の姿勢で配置された１つ又は複数の物体を含むことができる。
【００１６】
物体の姿勢は、取得された画像から得られる配向された奥行きエッジを、データベースに保存された配向された奥行きエッジと比較することによって求められる。この比較により、各ピクセルにおいて、面取り照合に基づきコスト関数の値が求められる。これは、滑降シンプレックス最適化を使用して高速化することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態による物体の姿勢を求めるための前処理手順の概略図である。
【図２Ａ】本発明の実施形態による物体の姿勢を求めるための方法の概略図である。
【図２Ｂ】本発明の実施形態によるロボットアームのための物体の姿勢を求める概略図である。
【図３】本発明の実施形態による物体の姿勢を比較するための方法の概略図である。
【図４】本発明の実施形態による面取り距離を求めるためのプロセスのブロック図である。
【発明を実施するための形態】
【００１８】
前処理
図１は、本発明者の発明の実施形態による物体の３Ｄ姿勢を求めるための前処理手順を示す。この手順は、この技術で知られているようにメモリ及び入出力インターフェースを含むプロセッサで実行することができる。姿勢は、ｘ、ｙ、ｚ平行移動位置及び
【００１９】
【数１】
0005539138.tif 000002
【００２０】
角度配向を含む。この方法は、さまざまなタイプの物体について実行され、当該方法の実際の動作中に使用されるデータベースを作成することができ、また、プロセッサで実行することもできる。
【００２１】
レンダリングエンジン１１０（ＯｐｅｎＧＬ）は、仮想カメラを使用して物体の３Ｄモデル１０１の仮想画像のセット１１１を生成する。各セットは、モデル１０１の異なる可能性のある既知の姿勢１０３についてのものである。モデルは、仮想カメラのレンズ１０４のまわりに配置された（８つの）仮想点光源１０２のセットによって照明される。したがって、各セット１１１には各既知の姿勢１０３につき８つの仮想画像がある。
【００２２】
仮想奥行き画像エッジ１２１が、後述するように仮想画像のセットから作成され（１２０）、データベース１３０に保存される。このデータベースは、さまざまなタイプの物体及び姿勢に関する仮想奥行きエッジを保存することができる。したがって、異なる物体が混合しているとき、異なる物体のさまざまな姿勢を求めることができる。
【００２３】
図２Ａに示すように、カメラ２１０は、複数の物体を含むシーン２０１の実画像Ｉｉ２１１のセットを取得する。これらの物体は異なるものであってもよい。カメラは、ビデオカメラ又はスチル写真カメラとすることができる。物体は、シーンにランダムに配置されている可能性があり、例えば、置き場に混合されている可能性がある。カメラは、レンズのまわりの（８つの）実点光源のセット２０９を含む。これらの光源は、高輝度ＬＥＤとすることができる。したがって、８つの実画像のセットが取得される。仮想ライトの個数及び位置は、実ライトの個数及び位置に対応する。照明は異なる方向から来るので、物体によって投じられた影は、異なる配向を有し、これら異なる配向は、物体の奥行きエッジに対応する。
【００２４】
シーンが環境光によって照明される場合、環境光だけを有する実画像も取得することができる。この画像は、その後、セットにおける各画像から差し引かれて、環境光の効果を取り消すことができる。
【００２５】
図２Ｂに示すように、カメラ２１０は、ロボットのアーム２５０に配置することもできるし、ロボット及びシーン２０１の近くの作業空間に固定することもできる。その結果、ロボットアームは、既知の姿勢に従って物体をピッキングすることができる。
【００２６】
配向された奥行きエッジ画像及び距離変換の作成
奥行きエッジは、物体の境界と背景との間の不連続性を表す。
【００２７】
図４に示すように、奥行きエッジは、最初に固有画像Ｉｍａｘ４１１を作成する（４１０）ことによって得られる。固有画像内の各ピクセルは、セットにおける画像Ｉｉ２１１のすべての同じ位置における対応するピクセルから選択された最大輝度を保存する。次に、比画像Ｉｒａｔｉｏ４２１が、
【００２８】
【数２】
0005539138.tif 000003
【００２９】
として作成される（４２０）。
【００３０】
比画像４２１内のエッジは、配向された奥行きエッジに対応する。奥行きエッジの配向は、その画像に対する照明の方向に依存し、この照明の方向は、セットにおける画像Ｉｉ２１１ごとに異なる。
【００３１】
距離画像Ｉｄｉｓｔａｎｃｅ４３１が、比画像から作成される（４３０）。距離画像は、画像内のあらゆるピクセルにおける最も近いエッジまでの距離を与える。距離画像は、セット内の各画像Ｉｉ２１１について作成される。
【００３２】
データベース用に、照明方向ごとに距離変換画像が求められる。本質的には、シーンの８つのエッジ画像のそれぞれが、データベースにおけるあらゆる姿勢の８つのエッジ画像のそれぞれと照合され、コストが合計される。次に、平均距離が、二乗平均平方根（ＲＭＳ）面取り距離（chamfer distance）４４０を与える。
【００３３】
【数３】
0005539138.tif 000004
【００３４】
ここで、ｄは距離値であり、ｎは考慮されたピクセル数である。距離画像の面取り照合（chamfer matching）は、仮想画像の配向された奥行きエッジと実画像間の配向された奥行きエッジとの間の一般化距離を最小にする。
【００３５】
面取り距離を比較することは、かなり乱雑であるときで且つ予想される姿勢変化がデータベース１３０で十分に表されているときに有利である。かなり乱雑であるときとは、画像が、ランダムにプレーシングされた物体の集積場から成る場合である。
【００３６】
比較
図３に示すように、配向された実奥行きエッジ２２１は、対応する距離画像及びコスト関数３０９を使用して、データベース１３０に保存された仮想奥行きエッジと比較されて（３１０）、可能性のある姿勢３１１〜３１３が求められ、最も良く照合した既知の姿勢が、物体の姿勢として選択される。
【００３７】
姿勢は、３つの平行移動パラメータ及び３つの回転パラメータを有する。物体からカメラまでの距離ｚは既知である。最初に、ｘ−ｙ平行移動が求められ、３つの回転パラメータが求められる。このプロセスは、異なる距離について繰り返されて、６つの姿勢パラメータを求めることができる。
【００３８】
平行移動パラメータ及び回転パラメータの求値
この方法は、データベース内のすべての可能性のある姿勢を比較して、物体の回転角度及び位置について最も良く照合するものを見つける。ｄｐｉを、データベースにおけるｐ番目の姿勢についてｉ番目の配向されたエッジ変換の距離変換を示すものとする。ｄｓｉを、シーンのｉ番目の配向されたエッジ変換の距離変換を示すものとする。データベース内の各姿勢ｐについて、姿勢ｐ（ｘ，ｙ）の方向ｉの照合コストは、
【００３９】
【数４】
0005539138.tif 000005
【００４０】
である。ここで、Ｎｘ、Ｎｙは、データベース内の姿勢ｐの配向された奥行きエッジのサイズを示し、ｕ、ｖは、データベース内の姿勢ｐの配向された奥行きエッジの座標を示す。
【００４１】
姿勢ｐ（ｘ，ｙ）の総コストは、すべての方向にわたるすべてのコストの合計
【００４２】
【数５】
0005539138.tif 000006
【００４３】
である。
【００４４】
コストの値は、すべての姿勢ｐ（ｘ，ｙ）について求められる。
【００４５】
滑降シンプレックス最適化
データベース内のあらゆる姿勢ｐに関する最良のピクセル（ｘ，ｙ）及びその関連したコストＣｐ（ｘ，ｙ）は、滑降シンプレックス手順を使用して求められる。例えば１００個の最小コスト及びそれらの対応する姿勢パラメータが保持される。これらのコストは、次に、その位置に基づいて分類され、物体及びその対応する姿勢が識別される。
【００４６】
本発明者らの方法は、複数の視点に適応して、姿勢の妥当性の確認又は姿勢の改善を行うことができる。前の視点からの結果を使用して、次の視点の判定をガイドすることができる。
【００４７】
本発明を、好ましい実施形態の例として説明してきたが、本発明の精神及び範囲内で他のさまざまな適合及び変更を行えることが理解されるべきである。したがって、本発明の真の精神及び範囲内に入るすべての変形及び変更を包含することが、添付の特許請求の範囲の目的である。
【図１】
0005539138.tif 000009
【図２Ａ】
0005539138.tif 000010
【図２Ｂ】
0005539138.tif 000011
【図３】
0005539138.tif 000012
【図４】
0005539138.tif 000013