(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-14
(54)【発明の名称】物体の把持点の三次元位置、ローカル参照フレーム及び把持パターンを求める方法及びシステム
(51)【国際特許分類】
G06T 7/00 20170101AFI20221207BHJP
G06T 7/593 20170101ALI20221207BHJP
G06T 7/60 20170101ALI20221207BHJP
G06V 10/44 20220101ALI20221207BHJP
G06V 10/70 20220101ALI20221207BHJP
B25J 13/08 20060101ALI20221207BHJP
【FI】
G06T7/00 350B
G06T7/593
G06T7/60 150D
G06V10/44
G06V10/70
B25J13/08 A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022521516
(86)(22)【出願日】2019-10-11
(85)【翻訳文提出日】2022-06-03
(86)【国際出願番号】 EP2019077656
(87)【国際公開番号】W WO2021069084
(87)【国際公開日】2021-04-15
(81)【指定国・地域】
(71)【出願人】
【識別番号】511312997
【氏名又は名称】トヨタ モーター ヨーロッパ
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100147555
【氏名又は名称】伊藤 公一
(74)【代理人】
【識別番号】100123593
【氏名又は名称】関根 宣夫
(74)【代理人】
【識別番号】100133835
【氏名又は名称】河野 努
(72)【発明者】
【氏名】小堀 訓成
(72)【発明者】
【氏名】ルカ ミンチュッロ
(72)【発明者】
【氏名】ジャンピエロ フランチェスカ
(72)【発明者】
【氏名】ロレンツォ ガラットーニ
【テーマコード(参考)】
3C707
5L096
【Fターム(参考)】
3C707AS01
3C707BS10
3C707DS01
3C707ES03
3C707KS03
3C707KS07
3C707KS17
3C707KT01
3C707KT05
3C707KT18
3C707LT06
3C707LV07
3C707MT02
3C707MT10
5L096AA09
5L096BA05
5L096CA05
5L096DA02
5L096FA02
5L096FA09
5L096FA66
5L096FA69
5L096HA11
5L096KA04
(57)【要約】
S10)シーン内の把持すべき物体を表すシーン画像(I3)を受け取るステップと、
S20)シーン画像(I3)において、物体及びその形状特徴、並びにそれら形状特徴のローカル記述子(LD
OGj)及び2D位置を決定するステップと、
S30)物体の形状特徴のデータベースローカル記述子(LD
ODi)、並びに物体の前の位置について決定された物体の把持点(GP)の2D位置及び3D位置に基づいて、予め定めたローカル記述子(LD
ODi)を決定されたローカル記述子(LD
OGj)に変換する最良のフィットの組み合わせを識別するステップと、
S40)組み合わせに対応するレジストレーションを決定するステップと、
S50)予め定めた把持点(GP
CMO)の3D位置にレジストレーション(R)を適用することにより、シーン画像において、把持点(GP
OG)の2D位置を決定するステップと、
S60)物体に関する3D情報を決定するステップと、
S70)把持点(GP)の3D位置を決定するステップと、
を含む把持点決定方法。
データベースを作成するための把持点データベース作成方法。
上記方法を実行するためのシステム。
【選択図】
図9
【特許請求の範囲】
【請求項1】
把持点のデータベースを作成する方法であって、
S110)物体を表す物体画像(I1)を受け取り、少なくとも1つの把持点(GP
OD1)で把持されている物体を表す把持画像(I2)を受け取るステップであって、前記物体画像及び前記把持画像は、前記物体に対して同じ視点から取得される、ステップと、
S120)前記物体画像(I1)に基づいて、前記物体及び該物体の形状特徴を検出し、検出された前記物体の前記形状特徴のローカル記述子(LD
ODi)及び二次元位置((u1,v1)、(u2,v2)、(u3,v3)、(u4,v4))を決定するステップと、
S130)前記把持画像(I2)において、検出された前記物体の少なくとも1つの把持点(GP
OD)の二次元位置を決定するステップと、
S140)前記物体に関する三次元情報を決定するステップと、
S150)ステップS130で決定された少なくとも1つの把持点(GP)の二次元位置と、前記物体に関する三次元情報とに基づいて、前記物体の少なくとも1つの把持点(GP
OD1)の三次元位置を決定するステップと、
S170)前記物体に関する把持点のレコードをデータベース(D)に保存するステップであって、前記レコードは、検出された前記物体の前記形状特徴の決定されたローカル記述子(LD
ODi)及び決定された二次元位置((u1,v1)、(u2,v2)、(u3,v3)、(u4,v4))と、前記物体の少なくとも1つの把持点(GP)の二次元位置及び/又は三次元位置とを含む、ステップと、
を含む方法。
【請求項2】
前記物体の前記少なくとも1つの把持点(GP)の法線(X)、ローカル参照フレーム(X,Y,Z)及び/又は把持パターン(L)を決定するステップS160をさらに含む、請求項1に記載の方法。
【請求項3】
前記把持画像は、前記物体を把持するハンド(140)を示し、ステップS130において、検出された前記物体の前記少なくとも1つの把持点(GP
OD)の二次元位置は、前記ハンドのポーズを決定することにより決定される、請求項1又は2に記載の方法。
【請求項4】
1つ以上のプロセッサ及びメモリを有する、把持点データベースの作成システムであって、
前記メモリは指示を保存し、前記1つ以上のプロセッサによる前記指示の実行によって、少なくとも1つのプロセッサが、
物体を表す物体画像(I1)を受け取り、
少なくとも1つの把持点(GP
OD1)で把持されている物体を表す把持画像(I2)を受け取り、
前記物体画像及び前記把持画像は、前記物体に対して同じ視点から取得され、
前記少なくとも1つのプロセッサは、
前記物体画像(I3)に基づいて、前記物体(OD)及び該物体の形状特徴を検出し、
検出された前記物体の前記形状特徴のローカル記述子(LD
ODi)及び二次元位置((u1,v1)、(u2,v2)、(u3,v3)、(u4,v4))を決定し、
前記把持画像において、検出された前記物体の少なくとも1つの把持点(GP
OD)の二次元位置を決定し、
前記物体に関する三次元情報を決定し、
ステップS130で決定された少なくとも1つの把持点(GP)の二次元位置と、前記物体に関する三次元情報とに基づいて、前記物体の少なくとも1つの把持点(GP
OD1)の三次元位置を決定し、
前記物体に関する把持点のレコードをデータベース(D)に保存し、前記レコードは、検出された前記物体の前記形状特徴の決定されたローカル記述子(LD
ODi)及び決定された二次元位置((u1,v1)、(u2,v2)、(u3,v3)、(u4,v4))と、前記物体の少なくとも1つの把持点(GP)の二次元位置及び三次元位置とを含む、
作成システム。
【請求項5】
前記指示が前記少なくとも1つのプロセッサによって実行されたときに、前記システムは、前記物体の前記少なくとも1つの把持点(GP)の法線(X)、ローカル参照フレーム(X,Y,Z)及び/又は把持パターンを決定する、請求項4に記載の作成システム。
【請求項6】
前記指示が前記少なくとも1つのプロセッサによって実行され、かつ前記把持画像が前記物体を把持するハンド(140)を示しているときに、前記システムは、検出された前記物体の前記少なくとも1つの把持点(GP
OD)の二次元位置を、前記ハンドのポーズを決定することにより決定する、請求項4又は5に記載の作成システム。
【請求項7】
把持点を決定する方法であって、
S10)シーン内の把持すべき物体を表すシーン画像(I3)を受け取るステップと、
S20)前記シーン画像(I3)に基づいて、前記物体及び該物体の形状特徴を検出し、検出された前記物体の前記形状特徴のローカル記述子(LD
OGj)及び二次元位置((u1,v1)、(u2,v2)、(u3,v3)、(u4,v4))を決定するステップと、
S30)前記物体の把持点のレコードを含むデータベース(D)に基づいて、少なくとも8対のローカル記述子を決定するステップであって、前記レコードは、前記物体の形状特徴のデータベースローカル記述子(LD
ODi)及びデータベース二次元位置と、前記物体の少なくとも1つの把持点(GP)のデータベース三次元位置とを含み、各対は、前記データベースの選択されたローカル記述子(LD
ODi)及びステップS20で決定されたローカル記述子のうちの対応する選択されたローカル記述子(LD
OGj)からなり、データベースローカル記述子と決定されたローカル記述子(LD
OGi)との距離は最小である、ステップと、
S40)選択されたデータベースローカル記述子(LD
ODi)を対応する選択されたローカル記述子(LD
OGj)に変換するレジストレーション(R)を決定するステップと、
S50)前記物体の少なくとも1つの把持点(GP
CMO)のデータベース三次元位置に前記レジストレーション(R)を適用することにより、前記シーン画像において、前記物体の少なくとも1つの把持点(GP
OG)の二次元位置を決定するステップと、
S60)前記物体に関する三次元情報を決定するステップと、
S70)ステップS50で決定された、前記シーン画像内の少なくとも1つの把持点(GP)の二次元位置と、前記物体に関する前記三次元情報とに基づいて、前記物体の少なくとも1つの把持点(GP)の三次元位置を決定するステップと、
を含む方法。
【請求項8】
対応するローカル記述子の対は、ステップS30において、最近傍アルゴリズム及びRANSACメソッドを連続して使用することで特定される、請求項7に記載の方法。
【請求項9】
ステップS70において、前記物体の前記少なくとも1つの把持点(GP)の法線(X)、又はローカル参照フレーム(X,Y,Z)、及び/又は把持パターンを決定することをさらに含む、請求項7又は8に記載の方法。
【請求項10】
1つ以上のプロセッサ及びメモリを有する、物体の把持点(GP)の三次元位置を決定する把持点決定システムであって、
前記メモリは、前記物体の把持点のレコードを含むデータベースを保存し、前記把持点のレコードは、前記物体の形状特徴のデータベースローカル記述子(LD
ODi)及びデータベース二次元位置と、前記物体の少なくとも1つの把持点(GP)のデータベース三次元位置とを含み、
前記メモリは指示を保存し、前記1つ以上のプロセッサによる前記指示の実行によって、前記1つ以上のプロセッサが、
シーン内の把持すべき物体を表すシーン画像(I3)を受け取り、
前記シーン画像(I3)に基づいて、把持すべき前記物体及び該物体の形状特徴を検出し、検出された前記物体の前記形状特徴のローカル記述子(LD
OGi)及び二次元位置((u1,v1)、(u2,v2)、(u3,v3)、(u4,v4))を決定し、
前記データベースに基づいて、少なくとも8対のローカル記述子を決定し、
各対は、前記データベースの選択されたローカル記述子(LD
ODi)及びステップS20で決定されたローカル記述子のうちの対応する選択されたローカル記述子(LD
OGi)からなり、データベースローカル記述子と決定されたローカル記述子(DLD)との距離は最小であり、
前記1つ以上のプロセッサは、
選択されたデータベースローカル記述子(LD
ODi)を対応する選択されたローカル記述子(LD
OGi)に変換するレジストレーション(R)を決定し、
前記物体の少なくとも1つの把持点(GP
CMO)のデータベース三次元位置に前記レジストレーション(R)を適用することにより、前記シーン画像において、前記物体の少なくとも1つの把持点(GP
OG)の二次元位置を決定し、
前記物体に関する三次元情報を決定し、
ステップS50で決定された、前記シーン画像内の少なくとも1つの把持点(GP)の二次元位置と、前記物体に関する前記三次元情報とに基づいて、前記物体の少なくとも1つの把持点(GP)の三次元位置を決定する、
把持点決定システム。
【請求項11】
前記指示は前記メモリに保存され、前記指示が前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサは、対応するローカル記述子の対を、最近傍アルゴリズム及びRANSACメソッドを連続して使用することで特定する、請求項10に記載の把持点決定システム。
【請求項12】
前記指示は前記メモリに保存され、前記指示が前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサは、前記物体の前記少なくとも1つの把持点(GP)の法線(X)、又はローカル参照フレーム(X,Y,Z)、及び/又は把持パターンを決定する、請求項10又は11に記載の把持点決定システム。
【請求項13】
コンピュータが読み取り可能な記録媒体に保存され、コンピュータでの実行に適したコンピュータプログラムであって、前記コンピュータで実行されたときに請求項1、2、3、7、8及び9のいずれか1項に記載の方法のステップを実行するように構成された指示を含む、コンピュータプログラム。
【請求項14】
請求項13に記載のコンピュータプログラムの指示を含む、コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、先ず、把持すべき物体について、物体の把持点の3D位置、ローカル参照フレーム及び把持パターンを学習するための方法及びシステムに関する。
【0002】
本明細書において、把持点とは、例えば手又はロボットアームで物体を操作するために、該物体の把持において好ましい物体の点である。
【0003】
ローカル参照フレームは、互いに垂直な3つのベクトルを正しく配置したものであり、空間内のある点でのソリッドボディの向きを定義し、例えば、把持点での物体の局所的な向きを定義する。
【0004】
把持点の把持パターンは、指(より一般的には、人間の指、ロボットアーム等、物体を把持するのに適した任意の機構)が、把持点で物体と接触するための指の接触点を得るために従うべき軌跡を記述する情報のデータである。好ましくは、把持パターンは、軌跡上の各位置で、指の接触点でのローカル参照フレームに関する情報を含む(つまり把持パターンは、軌跡の各点において、少なくともその接触点での指の向きに関する情報を含む)。把持パターンは例えば、軌跡の全ての点での指(又は少なくともその接触点)の六次元位置で表すことができる。
【0005】
本開示はさらに、把持すべき物体を考慮して、物体の把持点及び把持パターンを決定するための方法及びシステムに関する。
【背景技術】
【0006】
物体を把持することは、人間にとっては簡単な作業のように思われるが、ロボットにとっては非常に達成困難である。難しさの一つは、操作すべき物体をどのように把持するかを決定することである。このような動作をどのように実行するかを決定する最初のステップは、物体の点、つまり把持すべき物体の「把持点(grasping point)」を決定することである。
【0007】
ディープラーニングを使用して把握点を取得する方法は、以下の非特許文献1によって提唱されている。しかし、把持点を特定する必要のある物体のリストに新しいタイプの物体を追加するたびにニューラルネットワークを再訓練する必要があるため、このような方法はフレキシブルではない。
【先行技術文献】
【非特許文献】
【0008】
【非特許文献1】Deep Learning for Detecting Robotic Grasps, Ian Lenz, Honglak Lee, Ashutosh Saxena. International Journal of Robotics Research (IJRR), 2014
【発明の概要】
【発明が解決しようとする課題】
【0009】
従って、本開示の第一の目的は、物体の把持点を特定するための方法及びシステムを提案することであり、これにより、多種多様な物体のそのような把持点をロバストな方法で比較的高速に特定することが可能になる。本開示の追加の目的は、特定された各把持点について、ローカル参照フレーム及び把持パターンを特定するための方法及びシステムを提案することである。
【課題を解決するための手段】
【0010】
本開示の第一の態様によれば、本開示の第一の目的に従い、把持点データベースの作成方法が提案される。該方法は、
S110)物体を表す物体画像を受け取り、少なくとも1つの把持点で把持されている物体を表す把持画像を受け取るステップであって、前記物体画像及び前記把持画像は、前記物体に対して同じ視点から取得される、ステップと、
S120)前記物体画像に基づいて、前記物体及び該物体の形状特徴を検出し、検出された前記物体の前記形状特徴のローカル記述子及び二次元位置を決定するステップであって、画像内で検出された物体の形状特徴のローカル記述子は、前記画像内の前記形状特徴の二次元位置と、前記形状特徴を特徴付ける形状情報(HG)とを含むデータである、ステップと、
S130)前記把持画像において、検出された前記物体の少なくとも1つの把持点の二次元位置を決定するステップと、
S140)前記物体に関する三次元情報を決定するステップと、
S150)ステップS130で決定された少なくとも1つの把持点の二次元位置と、前記物体に関する三次元情報とに基づいて、前記物体の少なくとも1つの把持点(GPOD1)の三次元位置を決定するステップと、
S170)前記物体に関する把持点のレコードをデータベースに保存するステップであって、前記レコードは、検出された前記物体の前記形状特徴の決定されたローカル記述子及び決定された二次元位置と、前記物体の少なくとも1つの把持点の二次元位置及び/又は三次元位置とを含む、ステップと、を含む。
【0011】
仮に把持点について二次元の(三次元ではない)位置のみが保存される場合、好ましくは十分な情報も把持点のレコードに保存され、それにより、保存された情報に基づき、把持点の三次元位置を計算することが可能になる。
【0012】
上に規定された方法では、物体の把持点レコードの一部として任意に保存される物体の把持点の二次元位置は、もちろん単一のオリジナルの視点に基づく。つまり、これらは全て、シーン画像が取得された視点である、物体に対する単一の視点に対して定義される。
【0013】
上述の定義では、物体画像は物体を表す画像である。好ましくは、物体画像は、物体のいかなる部分も隠すことなく、物体全体を表す。
【0014】
画像内の物体の形状特徴の二次元位置は、通常、検出された特徴を示す画像のサブ画像内の特徴の中心(又は重心)に相当する。他の例として、二次元位置の原点は、サブ画像のバウンディングボックスの角部、又は任意の同等の情報とすることができる。
【0015】
また二次元位置は、画像の形状特徴に相当する、サブ画像のバウンディングボックス、又は任意の同等の情報とすることができる。
【0016】
把持画像は、手、ロボットの爪、より一般的な任意の把持手段等の種々の手段によって把持可能な物体を表し得る。
【0017】
把持画像が物体を把持する手を示す場合に実施される実施形態では、ステップS130において、検出された物体の少なくとも1つの把持点の二次元位置は、手の姿勢を求めることで決定される。
【0018】
上に規定された方法では、ローカル記述子は様々な態様をとり得る。ローカル記述子は、検出された特徴を示す、画像のサブ画像にすることができる。代替例として、ローカル記述子は、画像のサブ画像に基づく他の任意の特徴的情報とすることができ、これは、物体の異なる画像に亘って特徴を追跡するために使用可能である。例えばローカル記述子は、サブ画像の強度勾配を示すヒストグラム、又はサブ画像で表される形状特徴を特徴付けるのに適した他の情報データであり得る。形状情報は例えば、「SIFT機能」(「スケール不変特徴変換」)であり得る。形状情報を抽出してローカル記述子を取得する方法は、例えば、David.G.Loweの、刊行物「Distinctive Image Features from Scale-Invariant Keypoints」(International Journal of Computer Vision, 91-110, 2004)に開示されている。
【0019】
上に規定された方法では、三次元情報はステップS140で決定される。物体に関するこの三次元情報は、任意の既知の方法によって取得可能である。例えば、それは、ステレオビジョンを使用して、及び/又は検出された物体の三次元情報又は深度情報を求めることができる三次元測定装置が提供する情報に基づいて、取得することができる。
【0020】
物体に関する「三次元(3D)情報」とは、物体の一部又は全体の3Dモデルを指す。三次元情報は、例えば深度マップ、クラウドのポイント、三角形のメッシュ等、様々な態様をとり得る。三次元情報は、好ましくは、少なくとも物体の各把持点の近傍の三次元情報を含むべきである。
【0021】
上に規定された方法では、把持点の三次元位置が決定される。これらの三次元位置は、特に、物体に関する三次元情報を使用して、ステップS130で決定された物体表面上の把持点の二次元位置を(仮想的に)投影することで決定可能である。例えば、把持点の三次元位置は、カメラの光学中心を通る直線(物体及び把持画像を取得したときと同じ位置にあると想定される)と、把持点の二次元位置と、物体の三次元情報又は三次元モデルによって定義された物体表面との交点として決定可能である。このことは、把持点が把持点画像に現れるカメラ画像の点を、物体の表面上に投影することに相当する。
【0022】
実施形態では、方法はさらに、物体の少なくとも1つの把持点の法線、ローカル参照フレーム及び/又は把持パターンを決定するステップS160をさらに含む。
【0023】
考慮されている把持点でのローカル参照フレームは、例えば、把持点での法線ベクトルXである第1のベクトル、把持点を通過する水平ベクトルYである第2のベクトル、及び、第1のベクトルと第2のベクトルのベクトル積である第3のベクトルを含む、ベクトルのトリプレットであり得る。
【0024】
後述するように、上記の方法で得られたデータベースを使用することにより、ローカル記述子を効率的に使用して、画像で検出された物体の実際の三次元位置、ローカル参照フレーム、及び把持点の把持パターンを決定することができる。
【0025】
本開示の第二の態様によれば、把持点及び把持パターンのデータベース作成システムが、上述の方法を実行するために提案される。
【0026】
このシステムは、1つ以上のプロセッサ及びメモリを有する。メモリは、指示を保存し、この指示を1つ以上のプロセッサが実行することで、少なくとも1つのプロセッサは、
物体を表す物体画像を受け取り、
少なくとも1つの把持点で把持されている物体を表す把持画像を受け取り、
物体画像及び把持画像は、物体に対して同じ視点から取得され、
少なくとも1つのプロセッサは、物体画像に基づいて、
物体及び該物体の形状特徴を検出し、
検出された物体の形状特徴のローカル記述子及び二次元位置を決定し、
把持画像において、検出された物体の少なくとも1つの把持点の二次元位置を決定し、
物体に関する三次元情報を決定し、
ステップS130で決定された少なくとも1つの把持点の二次元位置と、物体に関する三次元情報とに基づいて、物体の少なくとも1つの把持点の三次元位置を決定し、
物体に関する把持点のレコードをデータベースに保存し、このレコードは、検出された物体の形状特徴の決定されたローカル記述子及び決定された二次元位置と、物体の少なくとも1つの把持点の二次元位置及び三次元位置とを含む。
【0027】
実施形態では、メモリに保存された指示が少なくとも1つのプロセッサによって実行されたときに、システムは、物体の少なくとも1つの把持点の法線、ローカル参照フレーム及び/又は把持パターンを決定する。
【0028】
把持画像が物体を把持する手を示す実施形態では、メモリに保存された指示が少なくとも1つのプロセッサによって実行されたときに、システムは、検出された物体の少なくとも1つの把持点の二次元位置を、手のポーズを決定することにより決定する。
【0029】
把持点が現れる画像に基づいて、物体の把持点の三次元位置を含む情報の取得を可能にする、上記の提案された方法及びシステムに加えて、物体の把持点の位置を決定するための方法及びシステムも提案される。
【0030】
本開示の第三の態様によれば、それらのようなタスクのために、把持点決定方法が提案される。
【0031】
この方法は、
S10)シーン内の把持すべき物体を表すシーン画像を受け取るステップと、
S20)シーン画像に基づいて、物体及び該物体の形状特徴を検出し、検出された物体の形状特徴のローカル記述子及び二次元位置を決定するステップと、
S30)物体の把持点のレコードを含むデータベースに基づいて、少なくとも8対のローカル記述子を決定するステップであって、レコードは、物体の形状特徴のデータベースローカル記述子及びデータベース二次元位置と、物体の少なくとも1つの把持点のデータベース三次元位置とを含み、各対は、データベースの選択されたローカル記述子及びステップS20で決定されたローカル記述子のうちの対応する選択されたローカル記述子からなり、データベースローカル記述子と決定されたローカル記述子との距離は最小である、ステップと、
S40)選択されたデータベースローカル記述子を対応する選択されたローカル記述子に変換するレジストレーションを決定するステップと、
S50)物体の少なくとも1つの把持点のデータベース三次元位置にレジストレーションを適用することにより、シーン画像において、物体の少なくとも1つの把持点の二次元位置を決定するステップと、
S60)物体に関する三次元情報を決定するステップと、
S70)ステップS50で決定された、シーン画像内の少なくとも1つの把持点の二次元位置と、物体に関する三次元情報とに基づいて、物体の少なくとも1つの把持点の三次元位置を決定するステップと、を含む。
【0032】
データベース作成方法と同様に、物体に関する三次元情報は任意の方法で取得可能である。例えば、この三次元情報は、ステレオビジョンを使用して、かつ/又は、物体の深度情報を求めることができる三次元測定装置を使用して取得可能である。この三次元情報は例えば、シーン画像に表示されている物体の各ポイントの深度情報を含む深度マップであり得る。
【0033】
提案された上記方法のステップS30において、データベースの把持点レコードのデータベースローカル記述子と、検出されたオブジェクトについてステップS20で決定された対応するローカル記述子との間の最小距離(すなわち、最も近いこと)を示すローカル記述子の最適な対が決定される。ローカル記述子のこれらの最適な対が見つかると、それらは、物体に対して予め識別され、把持点レコードのデータベースに保存されたローカル形状特徴のサブセットと、ローカルステップS20で決定された、形状特徴から選択された対応するローカル形状特徴のセットとの間の対応関係を規定する。
【0034】
ステップS40ではレジストレーションが決定され、該レジストレーションは、把持点レコードのローカル記述子、及びステップS20で決定された対応するローカル記述子を変換する。レジストレーションは、座標系の変更を規定する。この場合、ステップS40で決定されたレジストレーションは、物体を、把持点レコードに基づく位置から、シーン画像内のカメラに対する物体の位置に移動させる座標系の変更(すなわち、回転と並進の組み合わせ)を規定する。
【0035】
このレジストレーションを決定できるようにするには、対応するローカル記述子の少なくとも8つの対を特定する必要がある。これらの対の各々は、データベースで見つかった物体のローカル記述子を、ステップS20で決定された、検出された物体の対応するローカル記述子に関連付ける。その結果、それ自体が知られているように、次に、データベースの把持点レコードに対応する位置から、シーン画像内で物体が占める位置に、物体を移動させるレジストレーションを決定することができる。
【0036】
実施形態では、対応するローカル記述子は、ステップS30において、最近傍アルゴリズム及びRANSACメソッドを連続して使用することで特定される。
【0037】
実際、この実施形態では、第1の操作において、互いに対応するローカル記述子の対(データベースからの1つのローカル記述子、及びシーン画像で識別される1つのローカル記述子)が決定される。この決定は、最近傍法を使用して行われる。先ず、データベースに保存されているデータがK次元(K-D)ツリーに記憶される。次に、K-Dツリーを使用して、識別されたローカル記述子の最近傍が検索される。この検索により、特定の数のローカル記述子の対が得られる。
【0038】
次に、第2の操作において、RANSACアルゴリズムを使用して、これらの選択されたローカル記述子の対から外れ値を削除する。この場合、2つの画像(つまり、把持点レコードが派生するデータベースの画像、及びシーン画像)の、正しく対応する二次元位置の全ては、エピポーラ幾何学平面上にある。逆に、外れ値データはエピポーラ幾何学平面上にない。その結果、RANSACアルゴリズムを使用して外れ値データを見出すことができる。このアルゴリズムは、データポイントをランダムにピックアップし、幾何学的制約を重視するか否かをテストする。このようにしてデータをフィルタリングすることにより、データベースの把握点レコードに使用する画像と、現在の画像(シーン画像)とが選択可能になる。
【0039】
最後に、第3の操作において、第2の操作で選択されたデータベースのローカル記述子を、同じく第2の操作で選択されたシーン画像の対応するローカル記述子に変換するレジストレーションが決定される。このレジストレーションは、8点アルゴリズム又はそれと同等のアルゴリズムを使用して、周知のように計算される。
【0040】
有利なことに、レジストレーションを決定するための上記の方法は高速であり、非常に満足な結果を提供する。
【0041】
有利なことに、提案された方法によって取得可能な情報は、把持点の三次元位置に限定されない。
【0042】
実際、実施形態では、この方法は、法線ベクトル、ローカル参照フレーム、及び/又は少なくとも1つの把持点での把持パターンを決定するステップS80をさらに含む。
【0043】
検討中の把持点でのローカル参照フレーム(例えば、X′、Y′及びZ′の各々が三次元ベクトルであるトリプレット(X′,Y′,Z′))は、例えば、把持点レコードのデータベースに保存されている、把持点のローカル参照フレーム(X、Y、Z)に基づいて計算可能である。
【0044】
ステップS40で決定されたレジストレーション(回転(3×3の回転行列rot)及び並進ベクトルh(3×1)によって規定される)は、把持点のローカル参照フレーム(X,Y,Z)に適用される。
【0045】
従って、検討中の把持点のローカル参照フレーム(X′,Y′,Z′)は、以下から得られる。
X′=rot×X+h; Y′=rot×Y+h; Z′=rot×Z+h
【0046】
上記の方法を実施するために、把持点決定システムがさらに提案される。故にこのシステムは、物体の把持点の三次元位置を決定するためのシステムである。
【0047】
このシステムは、1つ以上のプロセッサ及びメモリを有する。メモリは、物体の把持点のレコードを含むデータベースを保存し、この把持点のレコードは、物体の形状特徴のデータベースローカル記述子及びデータベース二次元位置と、物体の少なくとも1つの把持点のデータベース三次元位置とを含む。データベースはさらに、把持点での物体の形状を表すローカル参照フレーム、及び/又は、把持点で物体と接触するために追従可能な軌跡を表す把持パターンを含み得る。
【0048】
さらに、メモリは指示を保存し、1つ以上のプロセッサによる指示の実行によって、1つ以上のプロセッサが、
シーン内の把持すべき物体を表すシーン画像を受け取り、
シーン画像に基づいて、把持すべき物体及び該物体の形状特徴を検出し、検出された物体の形状特徴のローカル記述子及び二次元位置を決定し、
データベースに基づいて、少なくとも8対のローカル記述子のマッチングセットを決定し、各対は、データベースの選択されたローカル記述子及びステップS20で決定されたローカル記述子のうちの対応する選択されたローカル記述子からなり、ローカル記述子の対は最適な適合を実現、すなわちデータベースローカル記述子と決定されたローカル記述子との距離を最小化し、
1つ以上のプロセッサは、
選択されたデータベースローカル記述子を対応する選択されたローカル記述子に変換するレジストレーションを決定し、
物体の少なくとも1つの把持点のデータベース三次元位置にレジストレーションを適用することにより、シーン画像において、物体の少なくとも1つの把持点の二次元位置を決定し、
物体に関する三次元情報を決定し、
ステップS50で決定された、シーン画像内の少なくとも1つの把持点の二次元位置と、物体に関する三次元情報とに基づいて、物体の少なくとも1つの把持点の三次元位置を決定する。
【0049】
この方法では、ステップS20において、メモリに保存された命令が1つ以上のプロセッサによって実行されると、1つ以上のプロセッサは、好ましくは8点アルゴリズムを使用して、対応するローカル記述子の対を特定する。
【0050】
実施形態では、指示はメモリに保存され、指示が1つ以上のプロセッサによって実行されると、1つ以上のプロセッサは、対応するローカル記述子の対を、最近傍アルゴリズム及びRANSACメソッドを連続して使用することで特定する。
【0051】
実施形態では、指示はメモリに保存され、指示が1つ以上のプロセッサによって実行されると、1つ以上のプロセッサは、物体の少なくとも1つの把持点の法線、又はローカル参照フレーム、及び/又は把持パターンを決定する。
【0052】
特定の実施では、上記の提案された方法は、コンピュータプログラムの指示によって規定される。
【0053】
よって本開示の他の目的は、コンピュータが読み取り可能な記録媒体に保存され、コンピュータでの実行に適したコンピュータプログラムを提案することであり、プログラムは、コンピュータで実行されたときに上記の提案された方法のステップを実行するように構成された指示を含む。
【0054】
コンピュータプログラムは、好ましくは、非一時的なコンピュータ可読記憶媒体に記憶される。コンピュータプログラムは、任意のプログラミング言語を使用することができ、ソースコード、オブジェクトコード、又はソースコードとオブジェクトコードとの中間のコード(部分的にコンパイルされた形式、又はその他の望ましい形式等)の形式にすることができる。コンピュータは、任意のデータ処理手段、例えば、パーソナルコンピュータ、自動車に搭載されるように構成された電子制御ユニットであり得る。
【0055】
本開示はまた、上述のコンピュータプログラムの命令を含むコンピュータ可読記録媒体を含む。コンピュータ可読媒体は、プログラムを保存できる任意のエンティティ又はデバイスであり得る。例えば、コンピュータ可読媒体は、例えばコンパクトディスク(CD)ROM若しくは超小型電子回路ROM等の読み取り専用メモリ(ROM)、又は、例えばフロッピーディスク若しくはハードディスク等の実際の磁気記録手段等の記憶手段を有し得る。或いは、コンピュータ可読媒体は、プログラムが組み込まれた集積回路でもよく、この回路は、問題の制御方法の実行、又は実行するための使用に適している。
【0056】
本発明はさらに理解可能であり、その多くの他の目的及び利点は、添付の図面を参照することで当業者に明らかになるであろう。いくつかの図面では、同じ参照符号は同様の要素を示す。
【図面の簡単な説明】
【0057】
【
図1】本開示に係る把持点データベース作成システム及び把持点・把持パターン決定システムの例としてのロボットを示す図である。
【
図2】
図1のロボットの電子制御ユニットの概略図である。
【
図3】本開示の実施形態における、把持点データベース作成方法のステップを示すブロック図である。
【
図4】本開示の実施形態における、把持点決定方法のステップを示すブロック図である。
【
図5】
図1のロボットによって撮影されるスタンドに配置された、データベース内の物体のレコードを作成するために把持点を決定する必要がある物体の概略図である。
【
図6】
図5の物体の画像の概略図であって、局所的な形状特徴の検出を示す。
【
図7】手で把持されたときの、
図6の物体の画像の概略図である。
【
図8】把持点を決定する必要がある物体の画像の概略図であって、形状特徴の検出を示す。
【
図9】
図6のデータベース画像のローカル記述子、及び
図8の現在の画像のローカル記述子の、対応する対の特定を示す概略図である。
【
図10】
図8の画像の概略図であり、把持点について決定された三次元D位置、ローカル参照フレーム及び把持パターンを示す。
【発明を実施するための形態】
【0058】
図1は、物体を把持するため、かつ/又は物体に関する二次元(2D)情報及び/又は三次元(3D)情報を取得するために使用されるロボット100を示す。
図1では、おもちゃの車OGを把持するロボット100が示されている。
【0059】
ロボット100は、スタンド150に搭載されている。これは、データ取得アーム110、把持アーム120、及び電子制御ユニット(ECU)130を含む。
【0060】
データ取得アーム110は、その上に取り付けられた3Dスキャナ115を有する。
【0061】
3Dスキャナ115は、2つのカメラ117及び119を有する深度センサである。これは、ステレオビジョンアルゴリズムを使用して深度情報を取得し、カメラ117の画像と同じ解像度の深度マップを出力する。カメラ117が出力した任意の画像について、3Dスキャナ115は、カメラが出力した画像の各ピクセルの深度情報(z)を含む、対応する深度マップを出力することができる。
【0062】
カメラ117及び119は、通常のCCDカメラ又はCMOSカメラである。これらは、把持すべき物体、又は把持点を特定する必要のある物体の画像を取得するためだけに使用することもできる。
【0063】
把持アーム120は、爪125を有し、爪内の物体を把持するように構成されている。
【0064】
【0065】
ECU130は、コンピュータのハードウェアアーキテクチャを有する。ECU130は、1つ以上のプロセッサ132、データメモリ又はストレージ134、プログラムメモリ136を備える。データメモリ134は、以下に詳述するデータベースDを備える。
【0066】
プログラムメモリ136は、オペレーティングシステム及び種々のアプリケーションを有する。
【0067】
これらのアプリケーションは、特に、物体識別プログラムOI、ローカル形状特徴検出プログラムLFD、手の姿勢識別プログラムHPI、及び3D情報決定プログラム3DIDを含む。
【0068】
物体識別プログラムOIは、1つ以上の画像内の物体を検出できるプログラムである。周知のように、このプログラムは、例えば、物体検出用に特別にトレーニングされたディープニューラルネットワークとすることができる。物体識別プログラムOIは、把持点を検出すべき物体を識別することができる(この場合、識別するように訓練されている)。
【0069】
物体識別プログラムOIはさらに、画像で検出された物体の顕著な形状特徴を検出できる。本実施形態では、各形状特徴について、プログラムOIは、検出された形状特徴を示すサブ画像を返す。
【0070】
画像内の物体の形状特徴を識別してローカル記述子を計算するために、物体識別プログラムOIは、Orb、Brisk、Kaze等の適切な方法を利用できる。周知のように、例えばこのプログラムは、特徴検出のために特別に訓練されたディープニューラルネットワークであり得る。
【0071】
物体の形状特徴が検出されると、ローカル特徴検出プログラムLFDは、識別された全ての形状特徴のローカル記述子を計算する。
【0072】
つまり、プログラムOIによって識別される各形状特徴について、ローカル特徴記述プログラムLFDは、この形状特徴のローカル記述子を計算し、この形状特徴の2D位置を決定する。
【0073】
本実施形態では、プログラムLFDによって計算されたローカル記述子は、それぞれの形状特徴を示すサブ画像の強度勾配を示すヒストグラムである。もちろん、他のタイプのローカル記述子を使用して、提案された方法を実行することができる。例えば、形状特徴情報は、ニューラルネットワーク等によって決定された情報データであり得る。
【0074】
プログラムLFDによって決定された形状特徴の2D位置は、画像内では、形状特徴を示すサブ画像の中心の2D位置に過ぎない。例えば、画像I1で識別された第1の形状特徴LDOD1についての(u1,v1)、第2の形状特徴LDOD2についての(u2,v2)等である。
【0075】
手の姿勢識別プログラムHPIは、把持画像に基づいて、画像内の手の3D位置を出力可能なプログラムである。プログラムHPIが出力する手の3D位置は、特に、指の様々な指部分に対応する一組の線分を含む。手の姿勢識別プログラムはさらに、手が物体を把持しているか否かを決定し、その場合、手が物体を把持している把持点を決定するように構成される。
【0076】
プログラムHPIは、例えば、Y. Hasson、G. Varol、D. Tzionas、I. Kalevatykh、M. Black、I. Laptev、C. Schmidによる刊行物「Learning joint reconstruction of hands and manipulated objects」 CVPR 2019に開示されているアルゴリズムに基づくことができる。
【0077】
3D情報決定プログラム3DIDは、物体に関する3D情報を出力できるプログラムである。一般的に言えば、そのような情報は通常、物体(又は物体の一部)の三次元モデルであり得る。故に、物体に関する3D情報は、3D点(3D座標によって定義される点)のクラウド、三角形のメッシュ等であり得る。
【0078】
本実施形態では、3D情報決定プログラム3DIDは、カメラ117及び119の一対の画像を使用するステレオビジョンアルゴリズムに基づいて、カメラ117及び119の双方の画像に見える物体の部分の深度マップを出力するように構成される。本明細書では、深度マップは、3D点のマトリックスを形成するように空間的に編成された3D座標の組として定義される。
【0079】
このようにして得られた深度マップは、物体の3D情報を構成する。
【0080】
またECU130のメモリ136に含まれるアプリケーションは、コンピュータプログラムP1を含み、P1は、プログラムOI、LD及びHPIによって出力された情報に基づいて、物体について識別された、様々な把持点GPの2D位置、3D位置、ローカル参照フレーム、及び把持パターンを決定し、データベースDに保存する。
【0081】
またこれらのアプリケーションは、コンピュータプログラムP2を含み、P2は、ロボット100を制御し、カメラ117が出力した画像を処理して、ロボット100の前に配置された物体の把持点GPを特定することができる。
【0082】
プログラムOI、LFD及び3DIDの実行は、プログラムP1及び/又はP2によってトリガされる。従ってこれらのプログラムは、プログラムP1及びP2の一部と見なすことができる。
【0083】
プログラムP1及びP2、並びにプログラムメモリ136は、それぞれ、本開示に係るコンピュータプログラム及びコンピュータ可読記録媒体の例である。ECU50のメモリ136は、実際には、本発明に係る記録媒体を構成し、プロセッサ132によって読み取り可能であり、プログラムP1及びP2を保存する。
【0084】
ここで、プログラムP1及びP2を実行することによってそれぞれ実現されるロボット100の2つの主要な機能を示す。
(1)物体の把持点の2D位置及び3D位置が、画像内の物体の形状特徴のローカル記述子及び2D位置とともに記録される、把持点レコードのデータベースDの作成。
(2)物体を検出できる画像をロボット100が取得する際の、物体の把持点のそれぞれの位置、ローカル基準フレーム及び把持パターンの決定。
【0085】
(1)物体の把持点のデータベースDの作成
プログラムP1が実行されるとき、ロボット100は、把持点及び把持パターンの識別システムとして使用される。
【0086】
この動作モードでは、物体の各把持点の3D位置、ローカル参照フレーム及び把持パターンに関する情報を含むデータベースDを構築するために、ロボット100が使用される。
【0087】
ロボットを使用して、画像で識別された複数の物体のそのような情報を同時に決定できる。
【0088】
データベースが完成すると、データベースに記録された物体ODごとに、データベースはレコードを含む。該レコードは、物体の把持点GPODを含む把持点セットと、物体の複数の形状特徴のうちの各特徴についての、物体画像内の形状特徴の2D位置、形状特徴を記述するローカル記述子、及び形状特徴を示すサブ画像と、各把持点についての、その3D位置、把持点でのローカル参照フレーム、及び把持点での把持パターンと、を含む。
【0089】
データベースDは、ロボット100によって以下のように作成可能である(一例として、おもちゃの車ODの把持点を取得しなければならない場合の手順を提示する)。
【0090】
把持点を記録する必要がある物体ODごとに、手順は以下のステップを含む(
図3)。
S100)先ず、物体をロボット100の前に置く。ここでは、おもちゃの車ODをロボットの前のスタンドに置く(
図5)。
S110)次に、物体の画像I1をカメラ10で取得する(
図6)。この画像I1は、物体画像であり、物体のいかなる部分も遮られることなく、物体全体を示す。
【0091】
次に、物体ODがハンド(
図7の手140)で把持される。手140の位置は、物体ODの把持に便利な把持点GPで物体と接触するように選択される。このとき、手140が動かずに物体を把持すると、カメラ10により把持画像I2が取得される。この画像I2は、物体ODと、物体を把持する手140とを示しており、物体ODに対して、物体画像I1と同じ視点から取得される。
【0092】
画像I1及びI2は、ECU50に送られる。
S120)次に、物体OD及びその最も顕著な形状特徴、さらに各形状特徴について、形状特徴を記述し又は特徴付けるローカル記述子及び2D位置が、物体画像I1に基づいてECU50によって決定される。この決定は、以下のステップを実行することで行われる。
S121)第一に、プログラムOIを使用して、ECU50が画像I1、I2に表示される物体を検出する。ここでは、プログラムOIは、検出された物体ODのタイプ(又は識別子)とそのバウンディングボックスとを画像I1に出力する。
【0093】
プログラムOIはさらに、検出された物体の顕著な形状特徴を検出し、それら形状特徴の各々について、画像I1の形状特徴を示す対応するサブ画像と、サブ画像(そのバウンディングボックス)の2D位置とを出力する。
【0094】
以降、1つの物体(おもちゃの車OD)のみが検出されると想定するが、画像I1で複数の物体が同時に検出された場合は、以下の手順が適用され得る。ここでは、以下のステップは、画像で検出された物体ごとに、並行して、又は少なくとも別々に実行される。
S122)第二に、物体画像I1に基づいて、かつローカル形状特徴検出プログラムLFDを使用して、検出された物体ODの各形状特徴について、ECU50が、物体ODの形状特徴のローカル記述子及び2D位置を計算する(
図6)。
S130)次に、把持画像I2に基づいて、ECU50が、手が物体を把持する把持点の2D位置を決定する。ここでは、単一の把持点GPが識別される。
【0095】
この目的のために、手の姿勢識別プログラムHPIを使用して、ECU50は、物体ODを把持する手140の位置を決定し(
図8)、これに基づいて、把持点GPの画像I2における2D位置を決定する。
S140)ロボット100は、物体ODの一部の深度マップを、(物体ODに関する3D情報として)決定する。この目的のため、カメラ119は、第2の物体画像I1′も取得し、この画像では物体は、ロボットに対して画像I1と同じ位置にある。深度画像は、画像I1及びI1′に基づいてステレオビジョンによって計算される。もちろん、深度マップは、画像I1及びI1′の双方に表示される物体の部分のみを含む。
S150)次に、この3D情報(深度マップ)に基づいて、EUC50は、把持点GPの3D位置を決定する。この3D位置は、把持点GPの画像I2において決定された2D位置に対応する、物体の表面上の点の位置(x,y,z)である。
S160)なおECU50は、把持点GPにおいてローカル参照フレームを決定する。この目的のため、ECU50は先ず、物体ODの深度マップを使用して、物体の表面の点GPにおける法線ベクトルXを計算する。次にECU50は、点GPを通る水平ベクトルYを計算する(水平面はロボット100によって既知であり、故に物体の3Dモデルは水平方向に対して参照される)。最後にECU50は、ローカル参照フレームの第3のベクトルZを、ベクトルX及びYのベクトル積として計算する。
【0096】
なお把持パターンは、把持点GPにおいて計算される。ECU50は、爪125の指が把持点GPにおいて物体ODと接触するために使用可能な軌跡を決定する。この軌跡は、爪125の指が最終的に把持点で物体ODに接触したときに、この点で物体ODの表面に垂直な軌道に指が追従するような軌跡である。
S170)最後に、ECU50は、検出された物体ごとに、データベース内に把持点レコードを作成する。データベースDには、検出された物体ODについて、把持点レコードが保存され、把持点レコードは、物体ODについて検出された把持点GPの2D位置及び3D位置を含む把持点の組と、検出された全ての形状特徴について検出されたローカル記述子LDODj及び2D位置とを含む。
【0097】
複数の異なる物体の把持点レコードをデータベースDに保存すべき場合は、物体ODのタイプが、物体の把持点レコードにさらに記録される。
【0098】
物体画像I1で検出されたいくつかの物体では、検出された物体ごとに上記の操作(ステップS110~S170)が繰り返される。
【0099】
(2)物体の把持点の位置の決定
データベースDが作成されると、物体がロボットの周囲で識別されるとき(つまり、ロボットのカメラによって取得された、ロボット周囲のシーンを表すシーン画像内で物体が識別されるとき)に、ロボット100を使用して物体の把持点を決定することができる。
【0100】
もちろん、物体の把持点を決定するために、データベースは、物体をシーン内で視認定できる視点と同様の視点から取得された、物体の把持点レコードを含む必要がある。
【0101】
ここでは、物体の把持点の3D位置及び把持パターンは、次の手順で決定できる。
【0102】
一例として、物体がロボットの以前の操作モードのものと同じおもちゃの車であり、ここではOG(把持すべき物体)として参照されている場合の手順を以下に示す。
S00)先ず、物体(おもちゃの車OG)をロボット100の前に配置する(
図5)。
【0103】
データベースDが物体の単一の把持点レコードを含む場合、ステップS00において、カメラ115が物体OGに対して、把持点レコード内の物体に対するこのカメラの視点と実質的に同じ視点になるように(但し、最大約30°の差は許容できる)、物体がカメラ115に対して配置されなければならない。この制約は、カメラ117が取得した画像において、物体OGの把持点レコードに記録されているように、物体ODの形状特徴を識別できることを意味する。
【0104】
逆に、データベースDが、異なる視点から取得された物体のいくつかの把持点レコードを含む場合は、カメラ115が物体OGに対して、それらの把持点レコードの1つにおけるこのカメラの視点と実質的に同じ視点になるように物体を配置しなければならない。
【0105】
従って、データベースDが、物体の周囲の複数の視点から取得された物体の把持点レコードを含む場合は、物体は、ステップS00において、ほぼ任意の位置でカメラの前に配置可能である。
S10)次に、シーン画像I3がカメラ10によって取得され、物体OGが画像内に明瞭に表示される。画像I3はECU50に送信される。
【0106】
シーン画像I3を、物体ODの把持点レコードを作成するために使用された物体画像I1と均質化するために、前処理操作を予め実行してもよい。
S20)次に、画像I3において以下の操作が実行される。
S21)第一に、プログラムOIを使用して、ECU50が、1つ以上の物体が画像I3に表示されているか否かを検出する。ここでは、おもちゃの車OGがシーン画像I3で検出される。OIプログラムは、検出された物体OGのタイプ(又は識別子)と、その境界ボックスBBOGとを画像I3に出力する。
【0107】
プログラムOIは、検出された物体OGの顕著な形状特徴をさらに検出し、これらの特徴の各々について、画像I3の形状特徴を示す対応するサブ画像と、サブ画像の2D位置(そのバウンディングボックス)とを出力する。
【0108】
以降、1つの物体(おもちゃの車OD)のみが検出されると想定する)が、画像I1で複数の物体が同時に検出された場合は、以下の手順が適用され得る。ここでは、以下のステップは、画像で検出された物体ごとに、並行して、又は少なくとも別々に実行される。
S22)第二に、シーン画像I3に基づいて、ローカル特徴検出プログラムLFDを使用して、検出された物体ODの各特徴について、ECU50が、物体OGの形状特徴のローカル記述子及び2D位置を計算する。
【0109】
次に、プログラムP2がデータベースDにアクセスする。
【0110】
プログラムP2は、データベースDのどの把持点レコードが物体OGに関連しているかを決定する。
S30)次に、物体OGのデータベースDに存在する把持点レコードに基づいて、ECU50が、互いに最もよく対応するローカル記述子の対を決定します。すなわちECUは、最適なフィット(つまり、形状特徴空間における最小距離)を実現するローカル記述子の対を決定する(各対は、物体の把持点レコード内のローカル記述子レコードと、画像I3で検出された形状徴のローカル記述子とを含む)。
【0111】
より具体的には、ECUは、そのようなローカル記述子の対を少なくとも8つ含む組を決定する。これらは、各対の2つの部材が良好に対応していること示し、それらの全てが物体の把持点の同じレコード(物体に対するカメラ117の視点に対応するレコード)に属する。
【0112】
図10に示すように、特定されたローカル記述子の対は、物体ODの把持点レコードに記録されたローカル記述子LD
ODiと、対応する選択されたローカル記述子DLD
OGjとに関連する。ローカル記述子DLD
OGjは、シーン画像I3で決定されたローカル記述子から選択される(i、jはそれぞれ、把持点レコードのローカル記述子、及び検出されたローカル記述子のインデックスである)。
【0113】
上述したように、ローカル記述子の対は、プログラムP2によって、最近傍法を実行し、次にRANSAC法を適用することによって決定される。
S40)次に、レジストレーションが決定され、これは、ステップS30で識別されたローカル記述子の各対について、選択されたデータベースローカル記述子LD
ODiを、対応する選択されたローカル記述子LD
OGjに変換する。
S50)次に、シーン画像I3において物体の把持点GPの2D位置が決定される。この2D位置は、ステップS40で決定されたレジストレーションを、データベースDに記録された物体の把持点GPの3D位置に適用することで決定される。この変換は、カメラ117の座標系(画像シーンI3の視点)における3D位置を出力する。次に、この3D位置は、zを無視し、画像I3の2D座標のみを使用することにより、シーン画像I3の2D位置に変換される。
S60)次に、ステップS140のように、ロボット100は、3Dスキャナ115を使用して、画像I3に表示されている物体ODの深度マップを決定する。
S70)次に、ECU50は、物体OGの把持点GPの3D位置を決定する。この3D位置は、物体表面の点の位置(x,y,z)であり、ステップS50で決定された把持点GPの2D位置に対応する。
S80)さらに、ECU50は、把持点GPにおけるローカル参照フレーム及び把持パターン(
図10のL)を決定する。ローカル参照フレーム及び把持パターンは、ステップS40で決定されたレジストレーションを、データベースDの物体の把持点レコードに記録された把持点のローカル参照フレーム及び把持パターンに適用することで得られる。
S90)次に、ECU50は、物体OGのデータベース内に把持点レコードを作成する。データベースDに保存される把持点レコードは、
物体OGについて検出された2D位置、3D位置、ローカル参照フレーム、及び把持パターンを含む把持点セットと、
検出された全ての形状特徴のローカル記述子LD
OGj及び2D位置と、を含む。
【0114】
複数の異なる物体の把持点レコードをデータベースDに記録すべき場合は、物体ODのタイプが物体の把持点レコードにさらに記録される。
【0115】
シーン画像I3で検出された物体が複数ある場合は、物体ごとに上記の操作(ステップS10~S90)が繰り返される。
【国際調査報告】