特許第6506483号(P6506483)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ カーネギー メロン ユニバーシティーの特許一覧

特許6506483テクスチャなし物体の姿勢を推定するシステム及び方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6506483
(24)【登録日】2019年4月5日
(45)【発行日】2019年4月24日
(54)【発明の名称】テクスチャなし物体の姿勢を推定するシステム及び方法
(51)【国際特許分類】
   G06T 7/70 20170101AFI20190415BHJP
【FI】
   G06T7/70 B
【請求項の数】20
【全頁数】37
(21)【出願番号】特願2018-544794(P2018-544794)
(86)(22)【出願日】2017年2月15日
(86)【国際出願番号】US2017017909
(87)【国際公開番号】WO2017146955
(87)【国際公開日】20170831
【審査請求日】2018年12月20日
(31)【優先権主張番号】15/054,773
(32)【優先日】2016年2月26日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】509014858
【氏名又は名称】カーネギー メロン ユニバーシティー
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100119987
【弁理士】
【氏名又は名称】伊坪 公一
(72)【発明者】
【氏名】チョー ツァオ
(72)【発明者】
【氏名】ナターシャ バナジー
(72)【発明者】
【氏名】ヤセル シェイク
【審査官】 千葉 久博
(56)【参考文献】
【文献】 特開2009−93611(JP,A)
【文献】 特開2000−111322(JP,A)
【文献】 荒井翔悟, 外3名,“位相シフト法によるばら積みボルトの認識とビンピッキング”,第32回日本ロボット学会学術講演会,2014年 9月 4日,p.148-150
【文献】 中島秀平, 外3名,“Locality Sensitive Hashingを用いたバラ積み工業部品の概略位置推定”,SSII2013 第19回画像センシングシンポジウム 講演論文集,日本,画像センシング技術研究会,2013年 6月12日,p.(IS3-20-1)-(IS3-20-7)
【文献】 Changchang Wu, 外4名,“3D model matching with viewpoint-invariant patches(VIP)”,2008 IEEE Conference on Computer Vision and Pattern Recognition,2008年,p.1-8
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00−7/90
(57)【特許請求の範囲】
【請求項1】
テクスチャなし物体の姿勢を出力するシステムであって、
処理装置と、
非一時的な、プロセッサ可読のストレージ媒体であって、1つ以上のプログラミング命令を有するストレージ媒体と、
を有し、
前記1つ以上のプログラミング命令は、実行された際に、前記処理装置が、
前記テクスチャなし物体の単一の画像を取得し、前記テクスチャなし物体の前記姿勢は、前記単一の画像から推定され、
前記テクスチャなし物体の画像データから取得された複数の視点及び複数のスケールから前記テクスチャなし物体の3次元モデルを生成し、
前記3次元モデルの複数の離散化レンダリングのそれぞれから複数のパッチを抽出し、前記複数のパッチは、複数のハイレベルパッチ及び複数のローレベルパッチを有し、
マルチレベル照明不変ツリー構造を構築するため、前記複数のハイレベルパッチのそれぞれに前記複数のローレベルパッチの少なくとも1つをリンクし、
前記マルチレベル照明不変ツリー構造を介して、前記単一の画像を前記3次元モデルの離散化レンダリングとマッチングさせて、前記離散化レンダリングとの間で前記単一の画像のアライメントを取得し、
前記アライメントに基づいて、前記テクスチャなし物体の前記姿勢を出力するようにする、システム。
【請求項2】
前記テクスチャなし物体の前記推定された姿勢に基づいて、前記テクスチャなし物体を把持するロボット装置を更に有する、請求項1に記載のシステム。
【請求項3】
前記処理装置に通信可能に結合された1つ以上の撮像装置を更に有し、実行された際に、前記処理装置に前記単一の画像を取得させる前記1つ以上のプログラミング命令は、更に前記処理装置が、前記1つ以上の撮像装置から前記単一の画像を取得するようにする、請求項1に記載のシステム。
【請求項4】
前記1つ以上の撮像装置は、複数の撮像装置を有し、前記複数の撮像装置のそれぞれは、光軸を有し、前記複数の撮像装置の個々の撮像装置は、それぞれの個々の光軸が、前記テクスチャなし物体を支持するピッキング表面に対して異なる角度を有するように方向付けされる、請求項3に記載のシステム。
【請求項5】
前記1つ以上の撮像装置は、光軸を有する単一の撮像装置を有し、前記単一の撮像装置は、前記光軸が、前記テクスチャなし物体を支持するピッキング表面に対して複数の異なる角度に連続的に再方向付けされるように、中心軸を中心として回転する、請求項3に記載のシステム。
【請求項6】
実行された際に、前記処理装置に前記3次元モデルを生成させる前記1つ以上のプログラミング命令は、更に前記処理装置が、
複数のテンプレートを取得するため、前記テクスチャなし物体の周りにおいて、前記複数の視点のそれぞれ及び前記複数のスケールのそれぞれから複数の画像を取得し、
複数のパッチによって前記複数のテンプレートをベクトル化するようにする、請求項1に記載のシステム。
【請求項7】
前記マルチレベル照明不変ツリー構造は、次式によって表され、
【数1】
ここで、pは、確率を表し、x11、x21、x22、x31、x32、x33、及びx34は、それぞれ、前記単一の画像内の前記複数のパッチの1つの場所を表し、Iは、前記画像データのガウシアン・ラプラシアン(LoG)表現の組を表す、請求項1に記載のシステム。
【請求項8】
子x21の親x11が付与されたときの子x21の条件付き確率は、次式によって表され、
【数2】
ここで、p(x21|x11は、前記親x11の場所x11が付与されたときの前記子x21の場所を知る事前確率を表し、p(I|x21,x11は、前記単一の画像内の前記複数のパッチの前記1つの場所x21を見出すデータ尤度を表し、Zは、通常はΣx21p(x21|x11,I)が1に等しくなるように強制する証拠を表す、請求項7に記載のシステム。
【請求項9】
実行された際に、前記処理装置に前記単一の画像を前記離散化レンダリングとマッチングさせる前記1つ以上のプログラミング命令は、更に前記処理装置が、ランダムサンプルコンセンサスを介して、前記3次元モデルの回転及び平行運動を前記単一の画像にアライメントするようにする、請求項1に記載のシステム。
【請求項10】
テクスチャなし物体の姿勢を出力する方法であって、
処理装置により、前記テクスチャなし物体の単一の画像を取得するステップであって、前記単一の画像は、前記テクスチャなし物体の前記姿勢を示す、ステップと、
前記処理装置により、前記テクスチャなし物体の画像データから取得された複数の視点及び複数のスケールから前記テクスチャなし物体の3次元モデルを生成するステップと、
前記処理装置により、マルチレベル照明不変ツリー構造を介して、前記単一の画像を前記3次元モデルの離散化レンダリングとマッチングさせて、前記離散化レンダリングとの間で前記単一の画像のアライメントを取得するステップと、
前記処理装置により、前記アライメントに基づいて前記テクスチャなし物体の前記姿勢を出力するステップと、
を有する、方法。
【請求項11】
前記処理装置により、前記テクスチャなし物体の推定された姿勢に基づいて前記テクスチャなし物体を把持するようロボット装置に指示するステップを更に有する、請求項10に記載の方法。
【請求項12】
前記単一の画像を取得するステップは、前記処理装置に通信可能に結合された1つ以上の撮像装置から前記単一の画像を取得するステップを更に有する、請求項10に記載の方法。
【請求項13】
前記3次元モデルを生成するステップは、
複数のテンプレートを取得するために、前記テクスチャなし物体の周りにおいて前記複数の視点のそれぞれ及び前記複数のスケールのそれぞれから複数の画像を取得するステップと、
複数のパッチによって前記複数のテンプレートをベクトル化するステップと、
を有する、請求項10に記載の方法。
【請求項14】
前記処理装置により、前記3次元モデルの複数の離散化レンダリングのそれぞれから複数のパッチを抽出するステップであって、前記複数のパッチは、複数のハイレベルパッチ及び複数のローレベルパッチを有する、ステップと、
前記処理装置により、前記マルチレベル照明不変ツリー構造を構築するため、前記複数のハイレベルパッチのそれぞれに前記複数のローレベルパッチの少なくとも1つをリンクするステップと、
を更に有する、請求項10に記載の方法。
【請求項15】
前記マルチレベル照明不変ツリー構造は、次式によって表され、
【数3】
ここで、pは、確率を表し、x11、x21、x22、x31、x32、x33、及びx34は、前記単一の画像内の前記複数のパッチの1つの場所を表し、Iは、前記画像データのガウシアン・ラプラシアン(LoG)表現の組を表す、請求項14に記載の方法。
【請求項16】
子x21の親x11が付与されたときの前記子x21の条件付き確率は、次式によって表され、
【数4】
ここで、p(x21|x11は、前記親x11の場所x11が付与されたときの前記子x21の場所を知る事前確率を表し、p(I|x21,x11は、前記単一の画像内の前記複数のパッチの前記1つの場所x21を見出すデータ尤度を表し、Zは、通常はΣx21p(x21|x11,I)が1に等しくなるように強制する証拠を表す、請求項15に記載の方法。
【請求項17】
テクスチャなし物体の姿勢に基づいてロボット装置に指示するシステムであって、
処理装置と、
前記処理装置に通信可能に結合された1つ以上の撮像装置と、
前記処理装置に通信可能に結合された前記ロボット装置と、
前記テクスチャなし物体を支持するピッキング表面と、
非一時的な、プロセッサ可読のストレージ媒体であって、1つ以上のプログラミング命令を有するストレージ媒体と、
を有し、
前記1つ以上のプログラミング命令は、実行された際に、前記処理装置が、
前記1つ以上の撮像装置の少なくとも1つから前記テクスチャなし物体の単一の画像を取得し、前記単一画像は、前記テクスチャなし物体の前記姿勢を示し、
前記1つ以上の撮像装置によって生成された前記テクスチャなし物体の画像データから取得された複数の視点及び複数のスケールから前記テクスチャなし物体の3次元モデルを生成し、
マルチレベル照明不変ツリー構造を介して、前記単一の画像を前記3次元モデルの離散化レンダリングとマッチングさせて、前記離散化レンダリングとの間で前記単一の画像のアライメントを取得し、
前記アライメントに基づいて前記テクスチャなし物体の前記姿勢を推定し、
前記推定された姿勢に基づいて、前記テクスチャなし物体を運動させ、及び把持するよう前記ロボット装置に指示するようにする、システム。
【請求項18】
前記1つ以上の撮像装置は、複数の撮像装置を有し、前記複数の撮像装置のそれぞれは、光軸を有し、前記複数の撮像装置の個々の撮像装置は、それぞれの個々の光軸が、前記テクスチャなし物体を支持する前記ピッキング表面に対して異なる角度を有するように方向付けされる、請求項17に記載のシステム。
【請求項19】
前記1つ以上の撮像装置は、光軸を有する単一の撮像装置を有し、前記単一の撮像装置は、前記光軸が、前記テクスチャなし物体を支持する前記ピッキング表面に対して複数の異なる角度に連続的に再方向付けされるように、中心軸を中心として回転する、請求項17に記載のシステム。
【請求項20】
実行された際に、前記処理装置が、
前記3次元モデルの複数の離散化レンダリングのそれぞれから複数のパッチを抽出し、前記複数のパッチは、複数のハイレベルパッチ及び複数のローレベルパッチを有し、
前記マルチレベル照明不変ツリー構造を構築するため、前記複数のハイレベルパッチのそれぞれに前記複数のローレベルパッチの少なくとも1つをリンクするようにする、1つ以上のプログラミング命令を更に有する、請求項17に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2016年2月26日付けで出願されると共に「SYSTEMS AND METHODS FOR ESTIMATING POSE OF TEXTURELESS OBJECTS」という名称を有する米国特許出願第15/054,773号の利益を主張するものであり、この特許文献のすべては、引用により、本明細書に包含される。
【0002】
本明細書は、一般に、姿勢の推定に関し、且つ、更に詳しくは、テクスチャなし物体の場所及び位置決めを推定するべく、ロボット把持装置によって使用されるシステム及び方法に関する。
【背景技術】
【0003】
物体の場所及び位置決めを判定するべく人工知能を使用するこれまでの試みは、ブロック、一般化円筒、及び変形可能な超二次曲線(superquadratics)などの低レベルの基本要素の観点においてパラメータ化された3Dモデルを画像に対してアライメントするステップを含んでいた。このような試みの1つは、頂点及び面の3Dメッシュとして表された3Dモデルを画像に対してアライメントするステップを含んでいた。この試みは、ターゲット物体が低レベルの基本要素から構成されており、その画像が強力な勾配を有しており、且つ/又は基礎をなす3D形状が既知の3Dモデルと正確にマッチングするように、ターゲット物体が「クリーン」であるケースに限定されていた。この問題に対する解決策は、不変性を低レベルの特徴に対して提供することにより、画像の間の類似性を改善するべく、勾配のヒストグラムなどの表現の開発に合焦した方式を結果的にもたらした。但し、低レベル特徴の不変性は、正確なアライメントを不可能にしている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
従って、物体の単一の画像内の物体に対する3Dモデルの正確なライメントを実行する完全に自動化された方式に対するニーズが存在している。
【課題を解決するための手段】
【0005】
一実施形態においては、テクスチャなし物体の姿勢を出力するシステムは、処理装置と、一時的ではないプロセッサ可読ストレージ媒体と、を含む。一時的ではないプロセッサ可読ストレージ媒体は、実行された際に、処理装置がテクスチャなし物体の単一の画像を取得するようにする1つ又は複数のプログラミング命令を含む。テクスチャなし物体の姿勢は、単一の画像から推定することができる。一時的ではないプロセッサ可読ストレージ媒体は、実行された際に、処理装置が、テクスチャなし物体の画像データから取得された複数の視点及び複数のスケールからテクスチャなし物体の3次元モデルを生成し、3次元モデルの複数の離散化レンダリングのそれぞれから、複数のハイレベルパッチ及び複数のローレベルパッチを有する、複数のパッチを抽出し、マルチレベル照明不変ツリー構造を構築するべく、複数のハイレベルパッチのそれぞれのパッチを複数のローレベルパッチのうちの少なくとも1つに対してリンクし、離散化レンダリングとの間における単一の画像のアライメントを得るべく、マルチレベル照明不変ツリー構造を介して、単一の画像を3次元モデルの離散化レンダリングとマッチングさせ、且つ、アライメントに基づいてテクスチャなし物体の姿勢を出力するようにする1つ又は複数のプログラミング命令を更に含む。
【0006】
別の実施形態においては、テクスチャなし物体の姿勢を推定する方法は、処理装置により、テクスチャなし物体の単一の画像を取得するステップを含む。テクスチャなし物体の姿勢は、単一の画像から推定することができる。方法は、処理装置により、テクスチャなし物体の画像データから取得された複数の視点及び複数のスケールからテクスチャなし物体の3次元モデルを生成するステップと、離散化レンダリングとの間における単一の画像のアライメントを得るべく、マルチレベル照明不変ツリー構造を介して、単一の画像を3次元モデルの離散化レンダリングとマッチングさせるステップと、処理装置により、アライメントに基づいてテクスチャなし物体の姿勢を推定するステップと、を更に含む。
【0007】
更に別の実施形態においては、テクスチャなし物体の姿勢に基づいてロボット装置を制御するシステムは、処理装置と、処理装置に対して通信自在に結合された1つ又は複数の撮像装置と、処理装置に対して通信自在に結合されたロボット装置と、テクスチャなし物体を支持するピッキング表面と、一時的ではないプロセッサ可読ストレージ媒体と、を含む。一時的ではないプロセッサ可読ストレージ媒体は、実行された際に、処理装置が、1つ又は複数の撮像装置のうちの少なくとも1つからテクスチャなし物体の単一の画像を取得するようにする1つ又は複数のプログラミング命令を含む。テクスチャなし物体の姿勢は、単一の画像から推定することができる。一時的ではないプロセッサ可読ストレージ媒体は、実行された際に、処理装置が、1つ又は複数の撮像装置によって生成されたテクスチャなし物体の画像データから取得された複数の視点及び複数のスケールからテクスチャなし物体の3次元モデルを生成し、離散化レンダリングとの間における単一の画像のアライメントを得るべく、マルチレベル照明不変ツリー構造を介して、単一の画像を3次元モデルの離散化レンダリングとマッチングさせ、アライメントに基づいてテクスチャなし物体の姿勢を推定し、且つ、推定された姿勢に基づいてテクスチャなし物体を運動させると共にこれを把持するようにロボット装置を制御するようにする1つ又は複数のプログラミング命令を更に含む。
【0008】
本明細書において記述されている実施形態によって提供されるこれらの及び更なる特徴については、図面との関連において、以下の詳細な説明を参照することにより、更に十分に理解することができよう。
【0009】
図面において示されている実施形態は、例であり、その特性が例示を目的としており、且つ、請求項によって定義されている主題の限定を意図したものではない。例示用の実施形態に関する以下の詳細な説明については、同一の構造が同一の参照符号によって示されている以下の図面との関連において参照された際に、理解することができる。
【図面の簡単な説明】
【0010】
図1】本明細書において図示及び記述されている1つ又は複数の実施形態によるテクスチャなし物体の姿勢を推定するシステム用の例示用の演算ネットワークを概略的に示す。
図2A】本明細書において図示及び記述されている1つ又は複数の実施形態によるテクスチャなし物体の姿勢を推定するべく使用される演算装置の例示用のハードウェアのブロックダイアグラムを概略的に示す。
図2B】本明細書において図示及び記述されている1つ又は複数の実施形態によるテクスチャなし物体の姿勢を推定するべく使用される演算装置のメモリ内に含まれているソフトウェアモジュールのブロックダイアグラムを概略的に示す。
図2C】本明細書において図示及び記述されている1つ又は複数の実施形態によるテクスチャなし物体の姿勢を推定するべく使用される演算装置のデータストレージコンポーネント内に含まれている様々なデータのブロックダイアグラムを概略的に示す。
図3A】本明細書において図示及び記述されている1つ又は複数の実施形態によるテクスチャなし物体を含む例示用のピッキング表面を概略的に示す。
図3B】本明細書において図示及び記述されている1つ又は複数の実施形態によるテクスチャなし物体を含む別の例示用のピッキング表面を概略的に示す。
図4】本明細書において図示及び記述されている1つ又は複数の実施形態による撮像装置によって取得されたテクスチャなし物体の複数の視点及びスケールを概略的に示す。
図5A】本明細書において図示及び記述されている1つ又は複数の実施形態による試験フェーズ及びトレーニングフェーズを完了させる例示用の方法の概略フロー図を示す。
図5B】本明細書において図示及び記述されている1つ又は複数の実施形態による推定フェーズを完了させる例示用の方法のフロー図を示す。
図6】本明細書において図示及び記述されている1つ又は複数の実施形態によるトレーニングフェーズを完了させる例示用の方法のフロー図を示す。
図7】本明細書において図示及び記述されている1つ又は複数の実施形態による試験フェーズを完了させる例示用の方法のフロー図を示す。
図8A】本明細書において図示及び記述されている1つ又は複数の実施形態による様々な標準偏差におけるキャプチャ画像の例示用のマルチレベルガウシアン・ラプラシアン(Laplacian of Gaussian:LoG)表現を示す。
図8B】本明細書において図示及び記述されている1つ又は複数の実施形態による様々な地点場所においてセンタリングされたガウスシアン・ラプラシアン(LoG)表現からの様々なサイズの例示用の複数の抽出パッチを示す。
図8C】本明細書において図示及び記述されている1つ又は複数の実施形態による画像の例示用のパラレルマルチレベルガウシアン・ラプラシアン(LoG)表現を示す。
図9】本明細書において図示及び記述されている1つ又は複数の実施形態による複数の例示用のマップを示す。
図10】本明細書において図示及び記述されている1つ又は複数の実施形態による粗から微細へのアライメントを提供する例示用の方法のフロー図を示す。
図11】本明細書において図示及び記述されている1つ又は複数の実施形態による物体の画像用の3Dモデルの複数の例示用のアライメントを示す。
図12】本明細書において図示及び記述されている1つ又は複数の実施形態による回転及び平行運動における例示用の平均二乗誤差(MSE:Mean Squared Error)/物体対方位角、仰角、及び面内回転のヒストグラムを示す。
図13】本明細書において図示及び記述されている1つ又は複数の実施形態による例示用の平均二乗回転及び平行運動誤差対最良マッチングレンダリングからの方位角における偏差のヒストグラムを示す。
【発明を実施するための形態】
【0011】
本明細書において記述されている実施形態は、一般に、テクスチャなし物体の姿勢を推定するシステム及び方法を対象としている。物体の姿勢の推定は、ロボットピッキング装置又はこれに類似したものなどの、ロボット装置が、物体を落下させる、物体の取扱いを誤る、且つ/又は、物体を損傷する、ことなしに、物体を正確に把持及び操作しうるように、必要とされる。
【0012】
本明細書において使用されている「テクスチャなし物体」は、物体の姿勢を判定するべく、姿勢推定システムによって従来使用されている、表面特徴を実質的に欠いている任意の物体を意味している。例えば、テクスチャなし物体は、滑らかな表面、丸められた表面、なんらの弁別マーキングをも含んでいない表面、及び/又は、これらに類似したもの、を有する物体を含みうる。従って、既存の姿勢推定システム及び方法は、テクスチャなし物体の位置決めを判定することができず、その理由は、テクスチャなし物体が、推定に必要とされる特定の基準点を欠いているからである。いくつかの実施形態においては、テクスチャなし物体は、ロボット装置によって選択される、ロボット装置によって把持される、且つ/又は、ロボット装置によって操作されると共に運動させられる、物体であってもよい。例示用のテクスチャなし物体は、限定を伴うことなしに、テクスチャなし自動車コンポーネント及び/又はこれに類似したものを含みうる。
【0013】
本明細書において記述されている姿勢を推定する方式は、3Dモデルの周りにおける姿勢の空間を高密度でサンプリングすることにより、テクスチャなし物体の3Dモデルを物体の単一の画像に対してアライメントするステップを含む。姿勢の空間には、複数の視点及びスケールから3Dモデルをレンダリングすることによって入力される。照明に対する不変性を保持しつつ、離散化レンダリングを正確にマッチングさせるべく、マルチレベル照明不変ツリー構造が提示される。マルチレベル照明不変ツリー構造は、画像内の様々な分解能のレベルにおいていくつかのパッチの場所を同時に推定するべく、動的プログラミングの活用を許容している。パッチの場所の同時特定は、最良マッチング視点を取得するべく、且つ、画像に対する3Dモデルの正確なアライメントを得るべく、ハイレベルパッチの弁別性及びローレベルパッチの精度の活用を許容している。
【0014】
本明細書において開示されているシステム及び方法は、複数RGB−D物体姿勢推定の検出に基づいた方式の速度及びスケーラビリティを向上させることができる。例えば、本明細書において開示されているいくつかの実施形態においては、システム及び方法は、23フレーム/秒において320×240画像内において15個の物体の姿勢を推定することができるが、この場合に、それぞれの物体は、600個の視点及び12個のスケールによってサンプリングされたテンプレートを有する。本明細書において記述されているシステム及び方法は、サブリニアな実行時増大により、物体の数を増大させることができる。
【0015】
本明細書において使用されている「姿勢」は、一般に、撮像装置によって取得された画像から姿勢情報として抽出可能であるテクスチャなし物体の位置の場所を通知する情報を含む、撮像装置によって観察された際にテクスチャなし物体が撮像装置に対して現れる方式を意味している。即ち、姿勢は、例えば、物体を支持している表面、ロボット装置、テクスチャなし物体に隣接しているその他のテクスチャなし物体、様々な撮像装置、表面の境界、及び/又はこれらに類似したものなどの、その他の物体との関係におけるテクスチャなし物体の場所及び位置決めを意味しうる。
【0016】
本明細書において使用されている「パッチ」は、特定の形状の単一のセクション又は最小表面要素を意味している。従って、特定の形状は、1つ又は複数のパッチに対応しうる。従って、3Dメッシュが三角形から構成されている場合には、パッチは、小さな三角形の地理的エリアに対応しうる。形状片の鏡面性をそれぞれの個々の三角形又はパッチごとに判定することができる。いくつかの実施形態においては、パッチは、3Dメッシュの三角形又は多角形の集合体を意味しうる。これに加えて、メッシュの三角形は、最長エッジ二等分及びエッジ崩壊動作を反復することにより、小さなサイズの、一般的には均一に成形された、三角形パッチに再構成することもできる。
【0017】
次に図面を参照すれば、図1は、本明細書において図示及び記述されている実施形態によるテクスチャなし物体の姿勢を推定するシステム用のコンポーネントを示す例示用の演算ネットワークを示している。図1に示されているように、コンピュータネットワーク100は、インターネットなどのワイドエリアネットワーク(WAN:Wide Area Network)、ローカルエリアネットワーク(LAN:Local Area Network)、モバイル通信ネットワーク、公共サービス電話ネットワーク(PSTN:Public Service Telephone Network)、パーソナルエリアネットワーク(PAN:Personal Area Network)、メトロポリタンエリアネットワーク(MAN:Metropolitan Area Network)、仮想プライベートネットワーク(VPN:Virtual Private Netowk)、及び/又は別のネットワークを含みうる。コンピュータネットワーク100は、一般に、1つ又は複数の演算装置及び/又はそのコンポーネント、1つ又は複数の撮像装置、並びに/或いは、1つ又は複数のロボット装置を電子的に接続するように構成されていてもよい。例示用の演算装置は、限定を伴うことなしに、ユーザー演算装置200と、サーバー演算装置150と、を含むことができる。例示用の撮像装置は、限定を伴うことなしに、本明細書において更に詳細に記述されているように、テクスチャなし物体の1つ又は複数の画像をキャプチャするように構成された撮像装置305を含むことができる。例示用のロボット装置は、限定を伴うことなしに、本明細書において更に詳細に記述されているように、ロボットピッキング装置又はこれに類似したものなどの、テクスチャなし物体を効果的に把持、操作、及び/又は運動させることを許容する位置に運動するように構成されたロボット装置300を含むことができる。本明細書において更に記述されているように、ロボット装置300及び撮像装置305は、別個の装置であってもよく、或いは、単一の装置に統合されていてもよい。
【0018】
ユーザー演算装置200は、一般に、ユーザーとコンピュータネットワーク100に接続されたその他のコンポーネントの間のインターフェイスとして使用されてもよい。従って、ユーザー演算装置200は、ユーザーから1つ又は複数の入力を受け取る、或いは、情報をユーザーに提供する、などの、1つ又は複数のユーザーとの間のやり取り機能を実行するべく、使用されてもよい。これに加えて、サーバー演算装置150が、監視、更新、又は補正を必要としている場合には、ユーザー演算装置200は、望ましい監視、更新、及び/又は補正を提供するように構成されてもよい。又、ユーザー演算装置200は、更なるデータをサーバー演算装置150のデータストレージ部分に入力するべく、使用されてもよい。
【0019】
サーバー演算装置150は、1つ又は複数の供給源(例えば、撮像装置305及び/又は1つ又は複数のデータベース)から電子データ及び/又はこれに類似したものを受け取ってもよく、受け取った電子データに基づいて1つ又は複数のテクスチャなし物体の姿勢を判定してもよく、且つ/又は、運動するように、コンピュータネットワーク100に接続された様々なコンポーネントを制御してもよい。例えば、サーバー演算装置150は、本明細書において更に詳細に記述されているように、テクスチャなし物体との関係において運動するように、撮像装置305を制御してもよく、テクスチャなし物体にズームイン又はズームアウトするように、撮像装置305を制御してもよく、テクスチャなし物体との関係において運動すると共に/又はテクスチャなし物体を把持するように、ロボット装置300を制御してもよい。
【0020】
ユーザー演算装置200は、パーソナルコンピュータとして示されており、且つ、サーバー演算装置150は、サーバーとして示されているが、これらは、非限定的な例であることを理解されたい。更に詳しくは、いくつかの実施形態においては、任意のタイプの演算装置(例えば、モバイル演算装置、パーソナルコンピュータ、サーバーなど)が、これらのコンポーネントのうちのいずれかのために、使用されてもよい。これに加えて、図1には、これらの演算装置のそれぞれが単一片のハードウェアとして示されているが、これも、一例であるに過ぎない。更に詳しくは、ユーザー演算装置200及びサーバー演算装置150のそれぞれは、複数のコンピュータ、サーバー、データベース、コンポーネント、及び/又はこれらに類似したものを表しうる。
【0021】
これに加えて、本明細書において示されている実施形態は、演算装置のネットワークを参照しているが、本開示は、このようなネットワークにのみ限定されるものではないことを理解されたい。例えば、いくつかの実施形態においては、本明細書において記述されている様々なプロセスは、本明細書において記述されている様々なプロセスを完了させるためにネットワークを使用しない非ネットワーク接続型の演算装置又はネットワーク接続型の演算装置などの、単一の演算装置によって完了されてもよい。
【0022】
図2Aには、ユーザー演算装置200及び/又はサーバー演算装置150の例示用のハードウェアコンポーネントが示されている。バス201は、様々なコンポーネントを相互接続することができる。コンピュータ処理ユニット(CPU:Computer Processing Unit)などの、処理装置205は、プログラムを実行するべく必要とされる計算及び論理動作を実行する、演算装置の中央処理ユニットであってもよい。例示用の処理装置、演算装置、プロセッサ、又はこれらの組合せなどの用語が本開示において使用されている際には、処理装置205が、単独で、或いは、図2に開示されているその他の要素のうちの1つ又は複数との関連において、例示用の処理装置であり、演算装置であり、プロセッサであり、或いは、これらの組合せである。読み出し専用メモリ(ROM:Read Only Memory)及びランダムアクセスメモリ(RAM:Random Access Memory)などの、メモリ210が、例示用のメモリ装置(即ち、一時的ではないプロセッサ可読ストレージ媒体)を構成することができる。このようなメモリ210は、処理装置205によって実行された際に、処理装置205が、本明細書において記述されているプロセスなどの、様々なプロセスを完了させるようにする1つ又は複数のプログラミング命令をその上部において含むことができる。任意選択により、プログラム命令は、コンパクトディスク、デジタルディスク、フラッシュメモリ、メモリカード、USBドライブ、Blu−ray(商標)ディスクなどの光ディスクストレージ媒体、及び/又は、その他の一時的ではないプロセッサ可読ストレージ媒体などの、有体のコンピュータ可読媒体上において保存されてもよい。
【0023】
いくつかの実施形態においては、メモリ210上において含まれているプログラム命令は、複数のソフトウェアモジュールとして実施されてもよく、この場合に、それぞれのモジュールは、1つ又は複数のタスクを完了させるためのプログラミング命令を提供している。例えば、図2Bに示されているように、メモリ210は、動作ロジック212、トレーニングロジック214、及び/又は試験ロジック216を含むことができる。動作ロジック212は、オペレーティングシステム及び/又は演算装置のコンポーネントを管理するためのその他のソフトウェアを含むことができる。トレーニングロジック214は、1つ又は複数のテクスチャなし物体の姿勢を認識するべく、演算装置をトレーニングするための1つ又は複数のソフトウェアモジュールを含むことができる。試験ロジック216は、演算装置のトレーニングの精度を検証し、これにより、演算装置が、テクスチャなし物体の姿勢を正確に判定し、且つ/又は、適切なコマンドを、例えば、ロボット装置300などの、コンピュータネットワーク100の様々なその他のコンポーネント(図1)に送信することを保証するべく、演算装置のトレーニングを試験するための1つ又は複数のソフトウェアモジュールを含むことができる。
【0024】
図2Aを再度参照すれば、一般には、本明細書において記述されているように、メモリ210とは別個であるストレージ媒体でありうる、ストレージ装置250は、トレーニングデータ及び/又は試験データを含む、物体の姿勢を推定するべく使用されるデータを保存するためのデータリポジトリを含むことができる。ストレージ装置250は、限定を伴うことなしに、ハードディスクドライブ(HDD:Hard Disk Drive)、メモリ、着脱自在のストレージ、及び/又はこれらに類似したものを含む、任意の物理的ストレージ媒体であってもよい。ストレージ装置250は、ローカル装置として示されているが、ストレージ装置250は、例えば、サーバー演算装置又はこれに類したものなどの、リモートストレージ装置でありうることを理解されたい。
【0025】
図2Cには、ストレージ装置250に含まれうる例示用のデータが示されている。図2Cに示されているように、ストレージ装置250は、例えば、画像データ252、トレーニングデータ254、及び/又は試験データ256を含みうる。画像データ252は、例えば、テクスチャなし物体の姿勢を判定する際に基準として使用されうる既知のテクスチャなし物体のサンプル画像、収集されると共にテクスチャなし物体の姿勢を判定するべく後から使用されるターゲットテクスチャなし物体の画像、及び/又はこれらに類似したものを含みうる。トレーニングデータ254は、例えば、本明細書において更に詳細に記述されているように、テクスチャなし物体の姿勢を認識するための演算装置のトレーニングに関係するデータを含みうる。試験データ256は、例えば、本明細書において更に詳細に記述されているように、演算装置がテクスチャなし物体の姿勢を正確に認識することを保証する際の演算装置の試験に関係するデータを含みうる。
【0026】
再度図2Aを参照すれば、任意選択のユーザーインターフェイス220は、バス201からの情報が、オーディオ、ビジュアル、グラフィック、又は英数フォーマットにおいて、演算装置のディスプレイ225部分上において表示されることを許容することができる。更には、ユーザーインターフェイス220は、キーボード、マウス、ジョイスティック、タッチスクリーン、リモートコントロール、ポインティング装置、ビデオ入力装置、オーディオ入力装置、触覚フィードバック装置、及び/又はこれらに類似したものなどの、入力装置へのデータの送信又はこれらからのデータの受信を許容する1つ又は複数の入力230をも含みうる。このようなユーザーインターフェイス220は、例えば、ユーザーが演算装置又はその任意のコンポーネントとの間においてやり取りすることを許容するべく、使用されてもよい。
【0027】
システムインターフェイス235は、一般に、例えば、ロボット装置300及び/又は撮像装置305などの、コンピュータネットワーク100(図1)のコンポーネントの1つ又は複数との間においてインターフェイスするための能力を演算装置に提供することができる。このようなコンポーネントとの間における通信は、様々な通信ポート(図示されてはいない)を使用することにより、実行することができる。例示用の通信ポートは、インターネット、イントラネット、ローカルネットワーク、直接接続、及び/又はこれらに類似したものなどの、通信ネットワークに対して装着することができる。
【0028】
通信インターフェイス245は、一般に、例えば、外部演算装置、リモートサーバー、及び/又はこれらに類似したものなどの、1つ又は複数の外部コンポーネントとインターフェイスするための能力を演算装置に提供することができる。外部装置との間における通信は、(図示されてはいない)様々な通信ポートを使用することにより、実行することができる。例示用の通信ポートは、インターネット、イントラネット、ローカルネットワーク、直接接続、及び/又はこれらに類似したものなどの、通信ネットワークに対して装着することができる。
【0029】
図2A図2Cにおいて示されているコンポーネントは、例示を目的としたものに過ぎず、且つ、本開示の範囲の限定を意図したものではないことを理解されたい。更に詳しくは、図2A図2Cのコンポーネントは、サーバー演算装置150又はユーザー演算装置200内に存在するものとして示されているが、これらは、非限定的な例である。いくつかの実施形態においては、コンポーネントのうちの1つ又は複数は、サーバー演算装置150及び/又はユーザー演算装置の外に存在することができる。同様に、コンポーネントのうちの1つ又は複数は、本明細書において具体的に記述されてはいないその他の演算装置内において実施されてもよい。
【0030】
図3A及び図3Bは、1つ又は複数のテクスチャなし物体をサポートする例示用のピッキング表面を示している。ピッキング表面310は、ロボット装置300がピッキング表面310上において配置された任意の物体に到達しうるように、ロボット装置300に隣接していてもよい。ピッキング表面310は、作業表面又はこれに類似したものなどの、任意の表面であってもよい。ピッキング表面310は、テクスチャなし物体315が、ピッキング表面310から落下しないように、その上部における1つ又は複数のテクスチャなし物体310の配置をサポートするように構成されていてもよい。従って、いくつかの実施形態においては、ピッキング表面310は、水平方向であってもよく、且つ、ピッキング表面310の1つ又は複数のエッジは、テクスチャなし物体がピッキング表面310のエッジから落下することを防止する、唇、隆起、壁、又はこれらに類似したものを含むことができる。ピッキング表面310の寸法は、本開示によって限定されるものではなく、一般には、ロボット装置300の少なくとも一部分が、その1つ又は複数のエッジのそれぞれを含む、ピッキング表面310のすべての部分に到達しうるように、サイズ設定及び成形することができる。
【0031】
1つ又は複数の撮像装置305は、本開示によって限定されるものではなく、且つ、そのそれぞれは、一般には、画像をキャプチャする任意の装置であってもよい。いくつかの実施形態においては、1つ又は複数の撮像装置305のそれぞれは、カメラ、キャムコーダ、又はこれらに類似したものであってもよく、且つ、1つ又は複数の画像センサ、1つ又は複数の画像プロセッサ、1つ又は複数の光学要素、及び/又はこれらに類似したものを内蔵することができる。1つ又は複数の撮像装置305のそれぞれは、ズームイン及びアウトする能力を有していてもよく、且つ、更には、例えば、パン、チルト、及び/又はこれらに類似したものなどの、運動する能力を更に有することもできる。
【0032】
撮像装置305の数は、本開示によって限定されるものではなく、且つ、一般には、任意の数の撮像装置305を含みうる。例えば、図3Aに示されているように、複数の撮像装置305が、ピッキング表面310及び/又はその上部において支持されている1つ又は複数のテクスチャなし物体315をキャプチャするように使用されてもよい。別の例においては、図3Bにおいて示されているように、単一の撮像装置305が、ピッキング表面310及び/又はその上部において支持されている1つ又は複数のテクスチャなし物体315をキャプチャするように、使用されてもよい。
【0033】
様々な実施形態においては、1つ又は複数の撮像装置305は、ピッキング表面310に隣接した状態において位置決めされてもよい。1つ又は複数の撮像装置305は、一般に、1つ又は複数の撮像装置305のうちのそれぞれの撮像装置の視野が、1つ又は複数のテクスチャなし物体315などの、その上部において配置されている任意の物体を含む、ピッキング表面310の少なくとも一部分をキャプチャするように、位置決めされてもよい。例えば、(図3Aに示されているように)1つ又は複数の撮像装置305が複数の撮像装置である実施形態においては、複数の撮像装置のそれぞれが、その独自の光軸を有する。これに加えて、それぞれの個々の撮像装置は、それぞれの個々の光軸がピッキング表面310との関係において異なる角度を有するように、方向付けされている。別の例においては、(図3Bに示されているように)1つ又は複数の撮像装置305が単一の撮像装置である実施形態においては、撮像装置は、光軸を有していてもよく、且つ、撮像装置の運動(例えば、回転)により、光軸は、ピッキング表面310との関係において複数の異なる角度において連続的に再方向付けされている。
【0034】
1つ又は複数の撮像装置305は、本明細書において記述されているように、ピッキング表面310を撮像する能力を撮像装置に対して提供する任意の静止した又は運動する装置に取り付けられてもよい。例えば、図3Bにおいて具体的に示されているように、撮像装置305は、撮像装置305がピッキング表面310の任意の角度をキャプチャしうるように、撮像装置305が、(破線によって示されているように)ピッキング表面310の周りにおいて中心軸Aを中心として運動することを許容する、アーム又はその他の支持部(図示されてはいない)に対して結合されてもよい。いくつかの実施形態においては、1つ又は複数の撮像装置305のそれぞれは、1つ又は複数のテクスチャなし物体315などの、物体の運動を追跡するように、構成されていてもよい。いくつかの実施形態においては、1つ又は複数の撮像装置305のうちのそれぞれの撮像装置の運動は、ユーザーによって遠隔制御されていてもよい。
【0035】
次に図4を参照すれば、1つ又は複数の撮像装置305は、複数の異なる視点405a〜405h(集合的に、405)においてテクスチャなし物体315の画像をキャプチャするように、構成されていてもよい。1つ又は複数の撮像装置305は、ピッキング表面310上において配置される前に、或いは、ピッキング表面310上において配置された後に、テクスチャなし物体315の画像をキャプチャすることができる。いくつかの実施形態においては、様々な視点405は、(例えば、図3Bに示されているように)それぞれの視点405a〜405hをキャプチャするべくテクスチャなし物体315を中心として回転する単一の撮像装置305から取得されてもよい。その他の実施形態においては、様々な視点405は、(例えば、図3Aに示されているように)それぞれの視点405a〜405hをキャプチャするべく、テクスチャなし物体の周りにおいて位置決めされた複数の撮像装置305から取得されてもよい。図4は、8つの異なる視点405を示しているが、視点405の数は、本開示によって限定されるものではなく、且つ、一般には、本明細書において更に詳細に記述するように、画像データをキャプチャすると共にテクスチャなし物体の姿勢を判定するために十分な任意の数の視点であってよい。
【0036】
又、複数の視点405に加えて、1つ又は複数の撮像装置305は、それぞれの視点405a〜405hにおいてテクスチャなし物体315の複数のスケールをキャプチャするように構成されていてもよい。スケールは、一般に、テクスチャなし物体の全体がそれぞれのズームにおいて可視状態にある場合に、テクスチャなし物体315の「ズームイン」又は「ズームアウト」されたキャプチャを意味している。即ち、それぞれのスケールは、それぞれの視点405a〜405hにおけるキャプチャ画像の特定の倍率レベルを表しうる。例えば、ズームレンズ又はこれに類似したものなどの、1つ又は複数の撮像装置305のうちのそれぞれの撮像装置の光学部分を使用することにより、様々な倍率レベルを取得することができる。例えば、1つ又は複数の撮像装置305は、それぞれの視点405a〜405hにおいて、1×倍率における第1スケール410a〜410hをキャプチャしてもよく、2×倍率における第2スケール415a〜415hをキャプチャしてもよく、且つ、3×倍率における第3スケール420a〜420hをキャプチャしてもよい。本明細書において記述されているそれぞれのスケールにおける倍率の値は、例示を目的としたものに過ぎず、且つ、本開示の範囲を逸脱することなしに、任意の倍率を使用できることを理解されたい。
【0037】
図3A及び図3Bを再度参照すれば、いくつかの実施形態においては、1つ又は複数の撮像装置305のそれぞれは、画像を連続的にキャプチャしてもよく(例えば、「バーストモード」キャプチャ)、特定のインターバルにおいて単一の画像をキャプチャしてもよく、且つ/又は、モーション画像をキャプチャしてもよい(例えば、ビデオキャプチャ)。画像が特定のインターバルにおいてキャプチャされる実施形態においては、例示用のインターバルは、限定を伴うことなしに、1秒ごと、2秒ごと、3秒ごと、4秒ごと、又はこれらに類似したものを含みうる。いくつかの実施形態においては、1つ又は複数の撮像装置305のそれぞれは、例えば、図1に示されているサーバー演算装置150及び/又はユーザー演算装置200などの、演算装置によって制御された際には常に、画像をキャプチャすることができる。1つ又は複数の撮像装置305のそれぞれの撮像装置によってキャプチャされた画像データは、一般に、例えば、図1に示されているサーバー演算装置150及び/又はユーザー演算装置200などの、演算装置に送信されてもよい。画像データは、演算装置(例えば、図1のサーバー演算装置150及び/又はユーザー演算装置200)が、本明細書において更に詳細に記述されているように、画像からテクスチャなし物体315の姿勢を判定しうるようなものであってよい。これに加えて、1つ又は複数の撮像装置305のそれぞれによってキャプチャされた画像データは、ストレージ装置250(図2A)などの、ストレージ媒体内において保存されてもよい。
【0038】
ロボット装置300は、本開示によって限定されるものではなく、且つ、一般には、ロボットピッキング装置又はこれに類似したものなどの、運動する、物体を把持する、物体を運動させる、物体を操作する、且つ/又は、これらに類似した内容を実行する、能力を有する、且つ、これらを実行するべく制御されるように構成された、任意のロボット装置であってもよい。例えば、ロボット装置300は、任意の方向において運動可能であり、且つ、延伸及び退却が可能でもある、アームを有することができる。これに加えて、ロボット装置300は、ロボット装置300が物体を把持することを許容する複数の指を含む手又はこれに類似したものを有することもできる。従って、ロボット装置300は、任意の数の固定部材、延長部材、結合部、運動可能なコンポーネント、及び/又はこれらに類似したものを含みうる。又、ロボット装置300は、モーター、ソレノイド、液圧システム、ガス圧システム、圧電システム、及び/又はこれらに類似したものなどの、ロボット装置300を運動させるように構成された1つ又は複数の装置をも含みうる。いくつかの実施形態においては、ロボット装置300は、1つ又は複数のステップモーターを含んでいてもよく、これらは、特定の増分におけるロボット装置300の正確な運動を許容することにより、ロボット装置300の正確な制御を許容することができる。これに加えて、ロボット装置300は、本明細書において更に詳細に記述されているように、その様々なコンポーネント及び/又は1つ又は複数の演算装置の間の通信のための1つ又は複数の装置を含むこともできる。このような通信装置は、ロボット装置300及び/又はそのコンポーネントの運動を制御する制御信号を受け取ることができる。
【0039】
様々な実施形態においては、ロボット装置300は、例えば、アーム本体セグメント、ロボットハンド、結合部、ベース部分、及び/又はこれらに類似したものなどの、その一部分に装着された1つ又は複数のセンサを含んでいてもよい。1つ又は複数のセンサは、一般には、ロボット装置300と別の物体の間の接触を検知するように構成されていてもよい。例えば、いくつかの実施形態においては、1つ又は複数のセンサは、ロボット装置300とテクスチャなし物体315の間の接触を検知することができる。特定の実施形態においては、1つ又は複数のセンサは、ロボット装置300とテクスチャなし物体315の間の接触の正確な場所を検知するように構成されていてもよい。このような接触の正確な場所は、本明細書において更に詳細に記述されているように、テクスチャなし物体315の姿勢との関連において更なる情報を提供しうる。1つ又は複数のセンサは、一般に、任意のセンサであってもよく、具体的には、物体接触を検知するように構成されたセンサであってもよい。従って、いくつかの実施形態においては、1つ又は複数のセンサは、タッチセンサ、赤外線センサ、光センサ、レーザー検知装置、及び/又はこれらに類似したもののうちの1つ又は複数を含んでいてもよい。タッチセンサは、一般に、ロボット装置300とテクスチャなし物体315の間の接触によって生成される圧力を検知するように構成されたセンサであってもよい。光センサは、テクスチャなし物体315がロボット装置300と接触した際に、その視野内においてテクスチャなし物体315を検出するように構成された光ダイオード又はこれに類似したものであってもよい。いくつかの実施形態においては、1つ又は複数のセンサは、一般的に使用されている、容易に入手可能である、且つ、複雑なコンポーネント及び保守を必要としていない、タイプのセンサであってよい。
【0040】
一般に、図3A及び図3Bに示されているロボット装置300は、例示を目的としたものに過ぎないことを理解されたい。従って、ロボット装置300は、本開示の範囲を逸脱することなし、任意のタイプのロボット装置又は類似の装置を含みうる。従って、当業者は、本明細書において開示されているロボット装置300に類似した方式によって機能するその他のロボット装置及び類似の装置を認識するであろう。更には、本開示は、更なる又は代替コンポーネント及び機能を含むロボット装置及び類似の装置をも含みうる。
【0041】
いくつかの実施形態においては、ロボット装置300及び1つ又は複数の撮像装置305は、単一のコンポーネント内に統合されていてもよい。即ち、ロボット装置300及び撮像装置305は、本明細書において記述されているように、テクスチャなし物体315の撮像と、テクスチャなし物体315の把持、運動、及び操作と、の両方のために使用される単一のユニットを構成していてもよい。その他の実施形態においては、ロボット装置300及び1つ又は複数の撮像装置305は、図3A及び図3Bにおいて示されているように、その独自の別個の機能をそれぞれが有する、互いに別個のコンポーネントであってもよい。
【0042】
ロボット装置300及び撮像装置305は、一般に、テクスチャなし物体315の姿勢を推定すると共にテクスチャなし物体315を操作することを目的として、タンデム方式で機能することができる。例えば、撮像装置305は、ロボット装置300がテクスチャなし物体315を操作する前に、テクスチャなし物体315の姿勢の判定のために(即ち、操作の前に、ロボット装置300の位置決めについて正確な判定が実施されうるように)、テクスチャなし物体315の画像をキャプチャすることができる。別の例においては、撮像装置305は、ロボット装置300がテクスチャなし物体315を誤った方式で操作しないことを保証するべく、且つ/又は、テクスチャなし物体315の操作の際にロボット装置300を補正するべく、テクスチャなし物体315が姿勢について監視されうるように、ロボット装置300によるその操作の際に、テクスチャなし物体315の画像を連続的にキャプチャすることができる。
【0043】
図5Aにおいて示されているように、演算装置(例えば、図1のサーバー演算装置150及び/又はユーザー演算装置200)によって実行されうる方法は、一般に、トレーニングフェーズ510及び試験フェーズ515を含む推定フェーズ505を含むことができる。本明細書においては、一般に、図5Bとの関係において、推定フェーズ505について説明する。本明細書においては、一般に、図6との関係において、トレーニングフェーズについて説明し、且つ、本明細書においては、図7との関係において、試験フェーズについて説明する。いくつかの実施形態においては、トレーニングフェーズ510は、トレーニングロジック214(図2B)に含まれている1つ又は複数の命令によって完了させることができる。いくつかの実施形態においては、試験フェーズ515は、試験ロジック216(図2B)に含まれている1つ又は複数の命令によって完了させることができる。
【0044】
図5Bを参照すれば、推定フェーズは、ステップ516において、テクスチャなし物体の単一の画像を取得するステップを含むことができる。テクスチャなし物体の姿勢は、単一の画像から推定することができる。例えば、姿勢が本明細書において記述されているように推定された際に、テクスチャなし物体を正確にピックアップし、テクスチャなし物体を操作し、テクスチャなし物体を運動させ、且つ/又はこれらに類似した内容を実行するべく、移動するために、推定を使用してロボット装置300に命令を送信することができるように、ロボット装置300(図1)の観点から、単一の画像を取得することができる。
【0045】
ステップ518において、テクスチャなし物体の3次元(3D)モデルを生成(レンダリング)することができる。本明細書においては、3次元モデルのレンダリングに関する更なる詳細は、トレーニングフェーズの一部分として、図6との関係において説明することとする。
【0046】
ステップ520において、ステップ516において取得された単一の画像が、ステップ518において生成された3Dモデルの離散化レンダリングとマッチングされている。3次元モデルに関する更なる詳細については、試験フェーズの一部分として、少なくとも図7との関係において説明することとする。マッチングステップの結果として、離散化レンダリングとの間における単一の画像のアライメントを得ることができる。
【0047】
ステップ522によって示されているように、ステップ520におけるマッチングから、判定されたアライメントに基づいてテクスチャなし物体の姿勢が推定されている。姿勢の推定に関する更なる詳細については、本明細書において、更に詳細に説明することとする。
【0048】
図6に示されているように、ステップ605において、テクスチャなし物体の画像が取得されている。画像は、一般に、更に詳細に本明細書において説明するように、撮像装置から取得することができる。ステップ610において、テクスチャなし物体の幅及び高さを画像I∈Rw×hから判定することができるが、ここで、図8cに示されているように、Iは、取得された画像を表しており、wは、画像の幅であり、且つ、hは、画像の高さである。ステップ615において、テクスチャなし物体の更なる画像が存在しているかどうかについての判定を実施することができる。例えば、図4との関係において上述したように、1つ又は複数の撮像装置は、複数の視点
及び複数のスケール
を表す複数の画像をキャプチャすることができる。NΩは、視点の数を表しており、且つ、Nsは、スケールの数を表している。
【0049】
更なる画像の取得を要する場合には、プロセスは、更なる画像を取得するべく、ステップ605に戻ることができる。すべての画像が取得されたら、ステップ620において、n個のテンプレートを取得するべく、テクスチャなし物体の周りの視点及びスケールのそれぞれから画像のすべてを取得することにより、3Dモデルが生成(レンダリング)される。以下のアルゴリズム1及びアルゴリズム2に従ってテンプレート及び画像パッチをベクトル化することにより、同時にすべてのテンプレートを画像とマッチングさせることができる。アルゴリズム1及びアルゴリズム2の一般的な目的は、関数
の下においてパッチti及びpjをti’及びpj’に変換することにより、テンプレートベクトルと画像パッチベクトルの間の安定した類似性尺度を取得する、即ち、ti’=f(ti)及びpj’=f(pj)を演算する、というものである。この関数の下においては、2つのベクトル(テンプレートベクトル及び画像ベクトル)の類似性を計測するための安定した方法として、相互相関が使用されている。方法は、変換関数f(・)が、ガウシアン・ラプラシアン画像パッチの平均分散正規化を実行している場合には、即ち、以下のとおりである場合には、一般に、異なる照明、異なるモデル外観、テクスチャ、及びわずかな変形変化に対して安定しうる。
【数1】
【0050】
ここで、以下のとおりであり、
【数2】
ここで、μv及びσvは、ベクトル化されたパッチv∈Rmの強度値の平均及び標準偏差であり、且つ、以下のとおりであり、
【数3】
ここで、uは、オリジナルの画像からのパッチであり、Gは、2次元ガウシアンを表しており、且つ、Δは、ラプラス演算子を表している。
【0051】
変換済みのパッチti’及びpj’の間の類似性は、次式によって表され、
【数4】
ここで、s’は、オリジナルパッチTi及びPjのガウシアン・ラプラシアンの間の正規化された相互相関を表している。
【0052】
パッチをベクトル化することにより、処理装置205(図2A)上における高速行列間乗算を活用し、演算を高速化させる。次式のように、サイズRn×mを有するスコア行列Sが生成され、ここで、nは、テンプレートの数であり、且つ、mは、画像内のパッチの数である。
【数5】
【0053】
ここで、S(i,j)は、j番目の画像パッチTとの間におけるi番目のテンプレートTiの相関値を表しており、T’は、ベクトル化されたテンプレート行列であり、T’のそれぞれの行は、1つのベクトル化テンプレートti’を表している。
【数6】
【0054】
P’は、画像行列であり、P’のそれぞれの列は、次式のように、1つのベクトル化された画像パッチpj’を表している。
【数7】
【0055】
式(5)の計算を更に加速させるべく、テンプレート行列T’に対する次元削減が事前演算される。
【数8】
【0056】
ここで、Aは、直交行列であり、Zは、最初のk個の主成分を有する基本行列である。A及びZを取得するべく、主成分分析(PCA:Principal component Analysis)を使用することにより、T’に対する特異値分解を完了させる。即ち、T’は、次式のように分解される。
【数9】
【0057】
ここで、Dは、非負の対角要素が降順である、Xと同一次元の対角行列を表しており、且つ、U、Vは、それぞれ、対角行列、ユニタリ行列である。ここで、k個の主成分が選択され、且つ、α百分率分散が維持される。
【数10】
【0058】
ここで、α=90%である場合には、行列の次元を削減しつつ、精度が維持される。最初のk個の列がUから選択され、
【数11】
且つ、S=T’P’及びT’=AZから、Zが次式として定義され、
【数12】
次式が得られる。
【数13】
【0059】
ここで、以下のとおりである。
【数14】
【0060】
式(13)を直接的に算出するのではなく、まず、高スコアが見込めない画像場所を除去することにより、AQの計算が加速される。具体的には、Q内の列が除去され、且つ、Q’=[…Qi…],i∈Iが取得されるが、ここで、Iは、有望な画像場所に対応する画像行列の列内へのインデックスの小さなサブセットである。最終的なスコア行列S’が、次式として得られる。
【数15】
【0061】
行列Q内のそれぞれの列のL2ノルムを計測値として使用する(即ち、
)。
が、λにより、上方において制限されている、即ち、このピクセルにおけるすべてのテンプレートスコアがλ未満であるとしよう。この観察は、Q内のj番目の列に対応する見込みのない画像パッチの除去を許容する。
【0062】
アルゴリズム1:オフラインテンプレート行列生成及びPCA
入力:
すべてのテンプレートT1...Tn
出力:
係数行列A、基本行列Z
【0063】
アルゴリズム2:オンラインマッシングテンプレートマッチング
入力:
テンプレート係数行列A、基本マトリックスZ、閾値λ
出力:
それぞれのフレームごとのスコア行列S
【0064】
例えば、i∈{1,2,…,n}であり、且つ、nがテンプレートの数である状態において、テンプレート
である場合に、w’及びh’は、それぞれ、テンプレートの幅及び高さである。テンプレートは、具体的には、行順序ピクセルを順番に列ベクトルTi∈RN内に配置するように、ベクトル化され、Nは、1つのテンプレート内のピクセル数である。同様に、j∈{1,2,…,m}であり、且つ、mがI内の画像パッチの数を表している状態において、画像パッチPjが、画像I∈Rm内の場所jにおけるテンプレートの同一サイズを有するとしよう。パッチは、ベクトルpj∈Rmにベクトル化される。2つのベクトルti及びpjの間の相互相関は、i番目のテンプレートTiとj番目の画像パッチPjの間の類似性を表している。
【0065】
ステップ625において、幅Uのスクエアレンダリング(square render)が生成され、ここで、U∝s及びs∈Sである。視点Ω∈O及びスケールs∈Sからのレンダリングは、
によって表される。それぞれのレンダリングRごとに、ステップ630において、Log画像の組R={R1,R2,…,RL}を得るべく、Rを減少する標準偏差σ1,σ2,…,σLのガウシアン・ノラプラシアン(Log)と畳込むことにより、マルチレベル表現が生成され、ここで、Lは、マルチレベル表現内のレベルの数である。トップレベル(即ち、R1)において、LoGは、画像内の様々な一貫性を有する領域を表す粗ブロブを含み、且つ、弁別性を提供している。ボトムレベルにおいては(即ち、RLにおいては)、LoGは、コーナー及びテクスチャの微細スケールの詳細を表し、且つ、精度を提供しているが、弁別性は、提供していない。例えば、図8Aに示されているように、RLは、いくつかの正確なエッジ特徴を含んでいる。
【0066】
次に図7を参照すれば、試験フェーズは、パッチの場所特定用のマルチレベルツリーを形成するプロセスを含むことができる。ステップ705において、パッチがそれぞれのレンダリングRから抽出されており、且つ、ステップ710において、それぞれのパッチの場所が抽出されている。従って、l∈{1,2,…,L}であるそれぞれのレベルlごとに、Nl個のパッチ
が、レベルlにおけるLogRlレンダリング内の場所
から抽出される。ここで、l∈1,2,…,Nlであり、且つ、
である。場所yilは、マルチレベルのガウシアン・ラプラシアン表現に対してスケール不変特徴変換(SIFT:Scale Invariant Feature Transform)の基礎をなす関心点抽出アルゴリズムを実行することにより、抽出される。ステップ715において、更なるレベルが存在しているかどうかについての判定が実施され、且つ、存在している場合には、プロセスは、ステップ705に戻る。
【0067】
ステップ720において、多数の関心点場所/レベルの抽出を要するかどうかについての判定が実施され、且つ、その抽出を要する場合には、ステップ725において、コーナーネス閾値が小さな値に設定される。例えば、いくつかの実施形態においては、コーナーネス閾値は、0.02であってもよい。目的は、Iのマルチレベル表現内(即ち、組I内)のすべてのパッチの場所を同時に推定するというものである。パッチRl(yil)の場所は、レベルlのLoGI1内において、ランダム変数xilとして表される。それぞれのxilのサンプル空間は、画像Iのドメインを表す離散2次元グリッドRW×Hである。目的は、IのLoGの組Iが付与された場合の場所x11,x12,…,xN1l)の結合確率p(x11,x12,…,xN1l|I)の最大値の演算に対応しており、即ち、次式のとおりである。
【数16】
【0068】
式(16)内の結合確率の最適化は、演算的に困難である。画像内のすべてのパッチの最良の場所特定を判定するべく、
という仮定を評価しなければならない。可能なパッチ場所の空間を素直にサーチするべく、図8Bに示されているように、それぞれのハイレベルパッチをいくつかのローレベルパッチにリンクすることにより、マルチレベルツリーが構築される。ベイズの定理と条件付き独立性の規則を使用することにより、結合確率p(x11,x21,x22,x31,x32,x33,x34|I)は、相対的にハイレベルのパッチが付与された場合の相対的にローレベルのパッチの場所の条件付き確率の積として表現され、即ち、次式のとおりである。
【数17】
【0069】
最大積の規則を使用することにより、式(17)内の確率の極大化を次式として分解する。
【数18】
【0070】
式(18)は、図8Bに示されているツリー構造に対して正確な推定を実行するための動的プログラミングの活用を許容している。
【0071】
わかりやすさを目的として、以下の説明は、その親X11が付与された場合の子x21の条件付き確率p(x21|x11,I)の取得に関係している。但し、以下の説明は、すべてのパッチに適用されることを理解されたい。ベイズの定理は、p(x21|x11,I)を次式として表現するべく、使用される。
【数19】
【0072】
式(19)において、p(x21|x11)は、その親の場所x11が付与された場合に子パッチの場所x21を知る事前確率を表しており、且つ、p(I|x21,x11)は、データ尤度を表している。式(19)の項Zは、通常は
が1に等しくなることを強制する証拠を表している。さもなければ、小さな値による除算が導入され、且つ、p(x21|x11,I)における偽応答がもたらされることから、Zを1に設定することにより、数値的に安定した結果が得られる。
【0073】
式(19)の項p(x21|x11)は、その親の場所x11が付与された場合に子パッチのx21の場所を知る事前確率を表している。3Dモデルレンダリングを使用することにより、画像内のx21とx11の間の変位がレンダリング内のy21とy11の間の変位に類似することになるプライア(prior)を提供する。変位の類似性は、ガウシアンプライアp(x21|x11)としてモデル化され、ここで、次式のとおりである。
【数20】
【0074】
、Δy21=y21−y11、並びに、y21及びy11は、レンダリングにおける子パッチ及び親パッチの場所である。式(20)において、標準偏差λ2(或いは、一般的には、λ1)は、パッチがLogI3内(或いは、一般的には、Il内)において微動(jitter)しうる程度を表している。ボトムレベルにおいては、即ち、レベルLにおいては、パッチは、パッチが、その親パッチのサイズに対応する領域内において微動することを許容するべく、LにおけるLoGカーネルの標準偏差σLに設定されてもよい。すべてのその他のレベルの場合には、λ1は、2のべき乗だけのパッチサイズの減少を反映するように、2に設定される。
【0075】
式(19)において、p(I|x21、x11)は、画像内のパッチR2(y21)の場所x21を見出すデータ尤度を表している。LoG画像は、独立的にパッチによって生成されるものと仮定され、これにより、次式が得られる。
【数21】
【0076】
子x21のレベルにおけるLoGの生成の尤度は、その親x11とは独立しており、これにより、式(21)内のx11に対する従属性を破棄することが許容されるものと更に仮定する。これに加えて、それぞれの非リーフパッチ場所(即ち、x21、x22、及びx11)は、それ自身に、且つ、その子に、のみ依存しており、これにより、式(21)内の第1乗法項を破棄することが許容されるものと仮定する。この仮定は、データ尤度を次式に単純化する。
【数22】
【0077】
2(x21)が、場所x21において画像I2のLoGから抽出されたサイズU2×U2のパッチを表し、且つ、aが、列ベクトルとしてベクトル化されたパッチを表すものとしよう。R2(y21)が、同様に、場所y21におけるレンダリングのLoGR2から抽出されたサイズU2×U2のパッチを表し、且つ、bが列ベクトルとしてベクトル化されたパッチを表すものとしよう。p(I2|x21)は、次式としてモデル化される(即ち、I2|x21の生成におけるパッチR2(y21)の寄与)。
【数23】
【0078】
図9の中間列の最下部に配置されているマップ900は、p(I2|x21)を表している。式(23)の絶対値における項は、画像のLoGからのパッチI2(x21)との間におけるパッチR2(y21)の正規化済みの相互相関である。式(23)において、μa及びμbは、それぞれ、パッチI2(x21)及びパッチR2(y21)内の平均強度であり、σa及びσbは、それぞれの強度における標準偏差である。正規化済みの相互相関は、画像内の類似の特徴を表すパッチ内の特徴の間における照明不変性を提供している。マッチングを加速させるべく、フーリエ変換及び積分和を使用することにより、LoGI2の全体に伴って、R2(y21)の高速正規化済み相互相関が実行される。正規化済み相互相関の絶対値は、コントラスト反転を説明するべく用いられている。パラメータβは、確率分布のピーキネス(peakiness)を表しており、これは、例えば、4に設定することができる。
【0079】
項p(I3|x21)、即ち、位置x21におけるパッチの寄与は、次式のとおりであることを示すことにより、x21に対応するパッチの子のデータ尤度を重要視しないことにより、モデル化することができる。
【数24】
【0080】
図9の右列内の上部の2つのマップ905、910は、式(24)における意図的過小評価を表している。式(24)を式(22)に代入することにより、データ尤度p(I|x21,x11)は、次式として記述される。
【数25】
【0081】
図9の最下部右のマップ915は、p(I|x21,x11)を表している。式(25)は、それ自体及びその子からの寄与を有するものとしてのパッチのデータ尤度のモデル化を許容しており、これにより、パッチの応答が強化される。この観点において、このような方式は、親部分のデータ尤度が子部分とは別個にモデル化されているその他の方式とは別個である。式(16)内の結合確率に対する寄与においてリーフパッチを強調するべく、式(25)の右側の平方根は、x21などの非リーフパッチがデータ尤度p(I|x21,x11)を表すように、使用されている。
【0082】
図9のマップ920内に示されている式(16)の項p(x31|x21)は、式(19)内の類似の項p(x21|x11)とは別個である。ここで、これは、その子に起因した画像内の場所x21におけるパッチの予想外観に対するプライアをモデル化するべく、使用されている。外観プライアは、正しい視点からのレンダリングが物体の照明不変外観用の妥当なイニシャライザを提供していることから、平均において、パッチに起因した画像の応答、即ち、p(I3|x31)によって表される応答は、パッチに起因したレンダリングの応答に類似することになる、という概念を表している。p(x31|x21)をモデル化するべく、パッチ
が、LoGR3から親y21の場所において抽出される。R3(y21)は、図9のマップ925内において示されている。R3(y31,y21)が、それぞれの子パッチy31の場所におけるR3(y21)から抽出されたサイズ
のパッチを表しているとしよう。又、R3(y31)が、場所y31におけるR3から抽出された子パッチを表しているとしよう。a及びbが、それぞれ、ベクトル化されたR3(y31,y21)及びR3(y31)を表している場合には、p(x31|x21)は、式(23)と同様に、即ち、次式として、記述することができる。
【数26】
【0083】
ここで、
である。式(23)におけると同様に、式(26)内の絶対値における項は、R3(y31)とパッチR3(y31、y21)の間の正規化済みの相互相関を表している。式(26)は、画像に依存していないことから、p(x31|x21)は、試験フェーズの前に、構築及び保存される。実際には、意図的過小評価
は、画像全体における尤度p(I3|x32)のマップをフーリエドメイン内の外観における事前確率p(x32|x21)のマップと畳込むことにより、実行される。
【0084】
高速網羅サーチとの間における正確なアライメントを提供するべく、図10に示されているように、粗から微細へのアライメント方式が提供される。ステップ1005において、複数のスクエアテンプレートレンダリングを得るべく、複数の向きにわたって、且つ、複数のスケールにわたって、3Dモデルがレンダリングされている。非限定的な一例においては、3Dモデルは、324個の向きわたってレンダリングされてもよい(10°だけ離隔した方位角における36個のサンプル、20°だけ離隔した仰角における3個のサンプル、及び20°だけ離隔した面内回転における3個のサンプル)。別の非限定的な例においては、3Dモデルは、16個のスケールにわたってレンダリングされてもよい。この結果、幅U=180の5184個のスクエアテンプレートレンダリングを得ることができる。s番目のスケールは、例えば、(0.75+.05(s−1))-1として設定することができる。σ1=3を有する1レベルツリー(L−1)がテンプレートから候補の組を選択する。非限定的な一例においては、5184個のテンプレートから、20個の候補を選択することができる。
【0085】
ステップ1010において、仰角オフセット、方位角オフセット、及び/又は面内オフセットを有するそれぞれの候補の空間の周りの視点における複数の微細サンプルが取得されている。非限定的な一例においては、仰角オフセット5°、0°、0°、0°、及び−5°、方位角オフセット0°、5°、0°、−5°並びに0°、0°、0°、及び−5°を伴って、且つ、面内オフセットを伴うことなしに、20個のそれぞれの候補の空間の周りにおいて、5個の微細サンプルを取得することができる。ステップ1015において、複数のテンプレートを得るべく、スケールにおいて複数のサンプルを取得することができる。非限定的な一例においては、スケールにおいて5個のサンプルを取得し、これにより、5000個のテンプレートを得ることができる。
【0086】
ステップ1020において、マルチレベルアライメント方式を使用することにより、それぞれの最良のマッチング姿勢からのパッチの正確なアライメントと共に、複数の最良のマッチング姿勢を取得することができる。非限定的な一例においては、マルチレベルアライメント方式を使用することにより、L=5により、上位5つの最良のマッチング姿勢を取得することができる。
【0087】
ステップ1025において、ランダムサンプルコンセンサス(RANSAC)を使用することにより、3Dモデルの回転R及びその平行運動tをマッチングされた画像場所に対してアライメントすることができる。それぞれのRANSAC反復において、複数の対応性に伴って、効率的なパースペクティブnポイント(PnP:Perspective−n−Point)アルゴリズムを使用することができる。非限定的な一例においては、n=4対応性に伴って、効率的なPnPアルゴリズムを使用することができる。焦点距離は、交換可能な画像ファイル(EXIF)タグにより、或いは、カメラ較正(即ち、図1の撮像装置305から送信されるデータ)を通じて、提供されるものと仮定する。オリジナルの画像からの3Dモデル形状の間の差に対応するべく、変形ΔXにおいて、次式の目的関数を極小化することにより、地点場所を正確にマッチングさせるように、3Dモデルの最終的な非剛体変形を提供することができる。
【数27】
【0088】
式(27)において、最初の二乗項は、R及びtを使用して方向付けされると共に推定されたパッチ場所xilからの変形ΔXによって増強された2DモデルXの投影のDLT線形化再構築誤差を表している。ラプラシアン表面編集において使用されるものに類似している第2項は、j番目の頂点の1リングNj内のすべてのK個の頂点が、j番目の頂点と同一の変形を有することを保証することにより、滑らかになるように3Dモデルメッシュを制約している。第3項は、小さくなるように変形を制約している。Nmodelは、3Dモデル上の地点の数を表しており、
は、固有パラメータ行列の最初の2つの行の行列を表しており、且つ、K3は、固有パラメータ行列の第3行に対応する行ベクトルである。いくつかの実施形態においては、スムーズネス重みλが0.1に設定されてもよく、且つ、シュリンケージパラメータγが0.005に設定されてもよい。
【0089】
上述の内容の結果として、テクスチャなし物体の姿勢は、ロボット装置300の場所及び位置決めが、テクスチャなし物体を適切に把持し、テクスチャなし物体を運動させ、且つ、テクスチャなし物体を操作するために十分なものとなるように、ロボット装置300(図1)が、特定の位置まで運動するように制御されうるように、十分なものとなろう。本明細書において記述されているように姿勢を推定することにより、不適切な把持、テクスチャなし物体の落下、及び/又はこれらに類似したものに伴う問題が回避又は最小化される。
【0090】

例1:試験
複数のテクスチャなし物体を撮像センサによって撮像されるエリア内に配置した。テクスチャなし物体は、木製の橋、カップ、マグ、木製の自動車、おもちゃのカボチャ、ティーポット、コーヒークリーマのカン、及びぬいぐるみの鳥を含む。撮像センサは、様々な視点からそれぞれの物体のサイズ640×480の画像をキャプチャするRGBカメラであった。次いで、画像は、320×240にダウンサンプリングされた。Autodesk 123D Catch(Autodesk Inc. San Rafael, CA)を使用することにより、第2撮像装置を使用してそれぞれの物体の分解能3648×2048の30〜50枚の写真をキャプチャすることにより、マグを除いた、すべての物体の3Dモデルを構築した。橋、自動車、カボチャ、及び鳥という物体は、Autodesk 123D Catch内の高分解能写真内において対応性を見出すべく十分な微細な粒子のテクスチャを有していた。カップ及びティーポットなどの滑らかな物体の場合には、物体上の粘性テープ上にマーカーを適用したが、テープは、3Dモデルを構築した後に除去した。マグの場合には、オンラインモデルリポジトリから取得された3Dモデルを使用した。
【0091】
図11は、撮像センサを使用してキャプチャされた入力画像に対する物体の上部3Dアライメントを示している。具体的には、図11は、オリジナルの入力画像1105、5レベルツリーのレベル1において場所特定されたパッチ1110、5レベルツリーのレベル3において場所特定されたパッチ1115、5レベルツリーのレベル5において場所特定されたパッチ1120、オリジナルの物体ピクセルの代わりである推定された姿勢のレンダリング1125、及び画像上において重畳された推定姿勢レンダリングのエッジ表現1130を示している。5レベルツリーのレベル1におけるパッチ1110が、最良のマッチングレンダリングを表している。以下の表1及び2は、物体当たりの平均二乗回転及び平行運動誤差を示している。第2行は、上位5つの結果からの最も正確なマッチングの誤差を表している。上位5つのマッチングを提供することにより、平均において、約26%だけ、誤差が低減される。
【0092】
【表1】
【0093】
【表2】
【0094】
回転精度を、最も近接した回転を推定するべく使用されている、方式が最も近接したマッチングレンダリングを提供する既存の方法と比較した。但し、既存の方法は、3D平行運動を提供してはいない。自動車及びカボチャを除いた、すべての物体において、既存の方法との比較において相対的に小さな平均二乗誤差を見出した。自動車は、直線的であることから、自動車の正面図及び後面図は、いくつかのエッジの向きを非自動車物体と、或いは、自動車の側面図と、共有している。
【0095】
図12は、それぞれの物体ごとに、プロットされた平均二乗回転及び平行運動誤差対方位角、仰角、及び面内回転のヒストグラムを示している。自動車を例外として、すべての物体は、方位角において、小さな平均平行運動誤差を有する。ティーポット、橋、及びカップは、平均において、小さな方位角誤差を示している。橋は、完全に平面的な表面におけるPnPアライメントの誤差に起因して、単一プレーンの図に対応する方位角における大きな誤差を示している。3Dモデルにおける蓋とジャーの間における弁別の欠如に起因して、相対的に小さなスケールのレンダリングが、クリーマの下部部分とアライメントすることになることから、平行運動誤差対仰角及び方位角は、クリーマの場合には、相対的に大きい。ティーポットは、ノブの上部エッジが下部エッジに似ている場合に、相対的に小さな仰角において、大きな誤差を示している。面内回転の場合には、大部分の物体において、小さな誤差が示されている。
【0096】
例2−仰角
様々な数のレベルにおけるアライメントの精度を評価するべく、10°だけ離隔した方位角における36個のサンプルと、20°だけ離隔した仰角における3つのサンプルと、20°だけ離隔した面内回転における3つのサンプルと、スケールにおける1つのサンプルと、を使用してレンダリングされた、ぬいぐるみの鳥のモデルの324個のテンプレート画像の組を選択した。テンプレート画像と同一の平行運動及びスケール、仰角、及び面内回転における同一のサンプルを使用することにより、且つ、1°だけ離隔した方位角における360個のサンプルを使用することにより、ぬいぐるみの鳥の3Dモデルの3240枚のグラウンドトゥルース画像をレンダリングした。照明に対する不変性を試験するべく、異なる照明環境を使用することにより、テンプレート画像をレンダリングするべく使用されたものからグラウンドトゥルール画像をレンダリングした。それぞれのグラウンドトゥルースレンダリングされた画像を324個のテンプレートの組からの最も近接した2つのテンプレートに対して割り当てると共に、様々な数のレベル(即ち、様々なL)を伴って、本明細書において記述されているマルチレベルアライメントアプローチを適用することにより、2つのテンプレートから最良のマッチを取得した。Lのそれぞれの選択肢ごとに、推定された回転及び平行運動において、グラウンドトゥルース回転及び平行運動から、誤差を取得した。最良のマッチングテンプレートからの方位角の角度におけるそれぞれの偏差に従って、グラウンドトゥルースレンダリングを分類し、且つ、それぞれの偏差の値における平均二乗誤差を取得した。
【0097】
図13は、平均二乗回転及び平行運動誤差対方位角の角度における偏差のプロットを示している。1レベルツリーを例外として、Lの増大は、0°の偏差における、即ち、グラウンドトゥルースレンダリングがテンプレートレンダリングに正確に対応している際の、誤差を低減する。1レベルツリーの場合には、グラウンドトゥルースレンダリングに対する最良のマッチングテンプレートの回転及び平行運動の単純な割当が完了しており、この結果、0°におけるグラウンドトゥルースレンダリングの0の回転誤差と、すべてのレンダリングにおけるゼロ平行運動誤差と、が導入される。L=2以上である場合には、0°の偏差マークにおいてPnPアライメントにおける小さな偏差を導入する類似した局所的なエッジ勾配に起因して、最大で1ピクセルの小さなパッチミスアライメントが観察された。0°からの相対的に大きな偏差の場合には、Lの増大は、回転誤差を大幅に低減する。L=5においては、回転誤差グラフのスロープは小さい。従って、本明細書において記述されている第2の微細マッチングステップにおいては、L=5が使用される。
【0098】
従って、本明細書において記述されているシステム及び方法は、テクスチャなし物体が、落下する、不適切に取り扱われる、且つ/又は、これらに類似した内容が発生する、ことなしに、テクスチャなし物体が、ロボット的装置により、適切に把持されうる、操作されうる、運動されうる、且つ/又は、これらに類似したものが実行されうる、ように、テクスチャなし物体の姿勢を迅速且つ正確に判定することが、いまや、理解されよう。本明細書において記述されているシステム及び方法は、複数の視点及びスケールから3Dモデルをレンダリングすることによって入力された3Dモデルの周りにおいて姿勢の空間をサンプリングすることによってテクスチャなし物体の3Dモデルをテクスチャなし物体の単一の画像に対してアライメントすることにより、姿勢を推定している。
【0099】
「実質的に(substantially)」及び「約(about)」という用語は、本明細書においては、任意の定量的な比較、値、計測、又はその他の表現に帰せられうる固有の不確実性の程度を表すべく、利用される場合があることに留意されたい。又、これらの用語は、本明細書において、定量的表現が、争点となっている主題の基本的関数の変化を結果的にもたらすことなしに、主張されている基準から変化しうる程度を表すべく、利用されてもいる。
【0100】
本明細書においては、特定の実施形態が図示及び記述されているが、特許請求されている主題の精神及び範囲から逸脱することなしに、様々な変化及び変形が実施されうることを理解されたい。更には、本明細書においては、特許請求されている主題の様々な態様が記述されているが、このような態様を組合せにおいて利用することは、必須ではない。従って、添付の請求項は、特許請求されている主題の範囲に含まれる、このようなすべての変更及び変形を含むものと解釈されたい。
本明細書に開示される発明は以下の実施形態を含む。
(1)テクスチャなし物体の姿勢を出力するシステムであって、
処理装置と、
一時的ではない、プロセッサ可読のストレージ媒体であって、1つ又は複数のプログラミング命令を有するストレージ媒体と、
を有し、
前記1つ又は複数のプログラミング命令は、実行された際に、前記処理装置が、
前記テクスチャなし物体の単一の画像を取得し、この場合に、前記テクスチャなし物体の前記姿勢は、前記単一の画像から推定され、
前記テクスチャなし物体の画像データから取得された複数の視点及び複数のスケールから前記テクスチャなし物体の3次元モデルを生成し、
前記3次元モデルの複数の離散化レンダリングのそれぞれから複数のパッチを抽出し、この場合に、前記複数のパッチは、複数のハイレベルパッチと、複数のローレベルパッチと、を有し、
マルチレベル照明不変ツリー構造を構築するべく、前記複数のハイレベルパッチのそれぞれのものを前記複数のローレベルパッチの少なくとも1つに対してリンクし、
前記離散化レンダリングとの間における前記単一の画像のアライメントを得るべく、前記マルチレベル照明不変ツリー構造を介して、前記単一の画像を前記3次元モデルの離散化レンダリングとマッチングさせ、且つ、
前記アライメントに基づいて、前記テクスチャなし物体の前記姿勢を出力する、
ようにする、システム。
(2)前記テクスチャなし物体の前記推定された姿勢に基づいて前記テクスチャなし物体を把持するロボット装置を更に有する、上記(1)に記載のシステム。
(3)前記処理装置に通信自在に結合された1つ又は複数の撮像装置を更に有し、実行された際に、前記処理装置が、前記単一の画像を取得するようにする、前記1つ又は複数のプログラミング命令は、前記処理装置が、前記1つ又は複数の撮像装置から前記単一の画像を取得するようにする、上記(1)に記載のシステム。
(4)前記1つ又は複数の撮像装置は、複数の撮像装置を有し、前記複数の撮像装置のそれぞれは、光軸を有し、且つ、前記複数の撮像装置の個々の撮像装置は、それぞれの個々の光軸が、前記テクスチャなし物体を支持するピッキング表面との関係において異なる角度を有するように、方向付けされている、上記(3)に記載のシステム。
(5)前記1つ又は複数の撮像装置は、光軸を有する単一の撮像装置を有し、前記単一の撮像装置は、前記光軸が、前記テクスチャなし物体を支持するピッキング表面との関係において複数の異なる角度に対して連続的に再方向付けされるように、中心軸を中心として回転する、上記(3)に記載のシステム。
(6)実行された際に、前記処理装置が、前記3次元モデルを生成するようにする、前記1つ又は複数のプログラミング命令は、前記処理装置が、
複数のテンプレートを取得するべく、前記テクスチャなし物体の周りにおいて、複数の視点のそれぞれ及び前記複数のスケールのそれぞれから複数の画像を取得し、且つ、
複数のパッチによって前記複数のテンプレートをベクトル化する、
ようにする、上記(1)に記載のシステム。
(7)前記マルチレベル照明不変ツリー構造は、次式によって表され、
【数28】
ここで、pは、確率を表しており、x11、x21、x22、x31、x32、x33、及びx34は、それぞれ、前記複数のパッチのうちの1つのパッチの場所を表しており、且つ、Iは、ガウシアン・ラプラシアン(LoG)表現の組を表している、上記(1)に記載のシステム。
(8)前記子x21の親x11が付与された場合の子x21の条件付き確率は、次式によって表され、
【数29】
ここで、p(x21|x11)は、親x11の場所x11が付与された場合に前記子x21の場所を知る事前確率を表しており、p(I|x21,x11)は、データ尤度を表しており、且つ、Zは、通常はΣx21p(x21|x11,I)が1に等しくなるように強制する証拠を表している、上記(7)に記載のシステム。
(9)実行された際に、前記処理装置が、前記単一の画像を前記離散化レンダリングとマッチングさせるようにする、前記1つ又は複数のプログラミング命令は、前記処理装置が、前記3次元モデルの回転及び平行運動をランダムサンプルコンセンサスを介して前記単一の画像にアライメントするようにする、上記(1)に記載のシステム。
(10)テクスチャなし物体の姿勢を出力する方法であって、
処理装置により、前記テクスチャなし物体の単一の画像を取得するステップであって、前記単一の画像は、前記テクスチャなし物体の前記姿勢を通知する、ステップと、
前記処理装置により、前記テクスチャなし物体の画像データから取得された複数の視点及び複数のスケールから前記テクスチャなし物体の3次元モデルを生成するステップと、
離散化レンダリングとの間における前記単一の画像のアライメントを得るべく、前記処理装置により、マルチレベル照明不変ツリー構造を介して、前記単一の画像を前記3次元モデルの離散化レンダリングとマッチングさせるステップと、
前記処理装置により、前記アライメントに基づいて前記テクスチャなし物体の前記姿勢を出力するステップと、
を有する方法。
(11)前記処理装置により、前記テクスチャなし物体の前記推定された姿勢に基づいて前記テクスチャなし物体を把持するように、ロボット装置を制御するステップを更に有する、上記(10)に記載の方法。
(12)前記単一の画像を取得するステップは、前記処理装置に通信自在に結合された1つ又は複数の撮像装置から前記単一の画像を取得するステップを更に有する、上記(10)に記載の方法。
(13)前記3次元モデルを生成するステップは、
複数のテンプレートを取得するべく、前記テクスチャなし物体の周りにおいて複数の視点のそれぞれ及び前記複数のスケールのそれぞれから複数の画像を取得するステップと、
複数のパッチによって前記複数のテンプレートをベクトル化するステップと、
を有する、上記(10)に記載の方法。
(14)前記処理装置により、前記3次元モデルの複数の離散化レンダリングのそれぞれから複数のパッチを抽出するステップであって、前記複数のパッチは、複数のハイレベルパッチと、複数のローレベルパッチと、を有するステップと、
前記マルチレベル照明不変ツリー構造を構築するべく、前記処理装置により、前記複数のハイレベルパッチのそれぞれのものを前記複数のローレベルパッチの少なくとも1つに対してリンクするステップと、
を更に有する、上記(10)に記載の方法。
(15)前記マルチレベル照明不変ツリー構造は、次式によって表され、
【数30】
ここで、pは、確率を表しており、x11、x21、x22、x31、x32、x33、及びx34は、前記複数のパッチのうちの1つのパッチの場所を表しており、且つ、Iは、ガウシアン・ラプラシアン(LoG)表現の組を表している、上記(14)に記載の方法。
(16)子x21の親x11が付与された場合の前記子x21の条件付き確率は、次式によって表され、
【数31】
ここで、p(x21|x11)は、前記親x11の場所x11が付与された場合に前記子x21の場所を知る事前確率を表しており、p(I|x21,x11)は、データ尤度を表しており、且つ、Zは、通常はΣx21p(x21|x11,I)が1に等しくなるように強制する証拠を表している、上記(15)に記載の方法。
(17)テクスチャなし物体の姿勢に基づいてロボット装置を制御するシステムであって、
処理装置と、
前記処理装置に通信自在に結合された1つ又は複数の撮像装置と、
前記処理装置に通信自在に結合された前記ロボット装置と、
前記テクスチャなし物体を支持するピッキング表面と、
一時的ではない、プロセッサ可読のストレージ媒体であって、1つ又は複数のプログラミング命令を有するストレージ媒体と、
を有し、
前記1つ又は複数のプログラミング命令は、実行された際に、前記処理装置が、
前記1つ又は複数の撮像装置のうちの少なくとも1つから前記テクスチャなし物体の単一の画像を取得し、前記単一画像は、前記テクスチャなし物体の前記姿勢を通知しており、
前記1つ又は複数の撮像装置によって生成された前記テクスチャなし物体の画像データから取得された複数の視点及び複数のスケールから前記テクスチャなし物体の3次元モデルを生成し、
前記離散化レンダリングとの間における前記単一の画像のアライメントを得るべく、マルチレベル照明不変ツリー構造を介して、前記単一の画像を前記3次元モデルの離散化レンダリングとマッチングさせ、
前記アライメントに基づいて前記テクスチャなし物体の前記姿勢を推定し、且つ、
前記推定された姿勢に基づいて前記テクスチャなし物体を運動させると共に把持するように、前記ロボット装置を制御する、
ようにする、システム。
(18)前記1つ又は複数の撮像装置は、複数の撮像装置を有し、前記複数の撮像装置のそれぞれは、光軸を有し、且つ、前記複数の撮像装置の個々の撮像装置は、それぞれの個々の光軸が、前記テクスチャなし物体を支持する前記ピッキング表面との関係において異なる角度を有するように、方向付けされている、上記(17)に記載のシステム。
(19)前記1つ又は複数の撮像装置は、光軸を有する単一の撮像装置を有し、前記単一の撮像装置は、前記光軸が、前記テクスチャなし物体を支持する前記ピッキング表面との関係において複数の異なる角度に対して連続的に再方向付けされるように、中心軸を中心として回転する、上記(17)に記載のシステム。
(20)実行された際に、前記処理装置が、
前記3次元モデルの複数の離散化レンダリングのそれぞれから複数のパッチを抽出し、この場合に、前記複数のパッチは、複数のハイレベルパッチと、複数のローレベルパッチと、を有し、且つ、
前記マルチレベル照明不変ツリー構造を構築するべく、前記複数のハイレベルパッチのうちのそれぞれのパッチを前記複数のローレベルパッチの少なくとも1つにリンクする、
ようにする、1つ又は複数のプログラミング命令を更に有する、上記(17)に記載のシステム。
【要約】
【課題】テクスチャなし物体の姿勢を推定するシステム及び方法が開示されている。
【解決手段】テクスチャなし物体の姿勢を推定する方法は、処理装置により、テクスチャなし物体の単一の画像を取得するステップを含む。テクスチャなし物体の姿勢は、単一の画像から推定することができる。方法は、処理装置により、テクスチャなし物体の画像データから取得された複数の視点及び複数のスケールからテクスチャなし物体の3次元モデルを生成するステップと、離散化レンダリングとの間における単一の画像のアライメントを得るべく、処理装置により、マルチレベル照明不変ツリー構造を介して、単一の画像を3次元モデルの離散化レンダリングとマッチングさせるステップと、処理装置により、アライメントに基づいてテクスチャなし物体の姿勢を推定するステップと、を更に有する。
【選択図】図4
図1
図2A
図2B
図2C
図3A
図3B
図4
図5A
図5B
図6
図7
図8A
図8B
図8C
図9
図10
図11
図12
図13