JP2021022383A - エッジ及び多次元コーナーに基づく検出後の精緻化 - Google Patents

エッジ及び多次元コーナーに基づく検出後の精緻化 Download PDF

Info

Publication number
JP2021022383A
JP2021022383A JP2020132160A JP2020132160A JP2021022383A JP 2021022383 A JP2021022383 A JP 2021022383A JP 2020132160 A JP2020132160 A JP 2020132160A JP 2020132160 A JP2020132160 A JP 2020132160A JP 2021022383 A JP2021022383 A JP 2021022383A
Authority
JP
Japan
Prior art keywords
edge
detected
image
edges
location
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
Application number
JP2020132160A
Other languages
English (en)
Other versions
JP2021022383A5 (ja
Inventor
ユ,ジンゼ
Jinze Yu
ジェロニモ モレイラ ロドリゲス,ジョセ
Jeronimo Moreira Rodrigues Jose
ジェロニモ モレイラ ロドリゲス,ジョセ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mujin Inc
Original Assignee
Mujin Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mujin Inc filed Critical Mujin Inc
Publication of JP2021022383A publication Critical patent/JP2021022383A/ja
Publication of JP2021022383A5 publication Critical patent/JP2021022383A5/ja
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme 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/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G61/00Use of pick-up or transfer devices or of manipulators for stacking or de-stacking articles not otherwise provided for
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/174Segmentation; Edge detection involving the use of two or more images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/457Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by analysing connectivity, e.g. edge linking, connected component analysis or slices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G2201/00Indexing codes relating to handling devices, e.g. conveyors, characterised by the type of product or load being conveyed or handled
    • B65G2201/02Articles
    • B65G2201/0235Containers
    • B65G2201/025Boxes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G2203/00Indexing code relating to control or detection of the articles or the load carriers during conveying
    • B65G2203/02Control or detection
    • B65G2203/0208Control or detection relating to the transported articles
    • B65G2203/0233Position of the article
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G2203/00Indexing code relating to control or detection of the articles or the load carriers during conveying
    • B65G2203/04Detection means
    • B65G2203/041Camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G57/00Stacking of articles
    • B65G57/02Stacking of articles by adding to the top of the stack
    • B65G57/03Stacking of articles by adding to the top of the stack from above
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40006Placing, palletize, un palletize, paper roll placing, box stacking
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45056Handling cases, boxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)

Abstract

【課題】画像化された物体の物理的特性(パッケージの寸法等)を正しく識別できない場合、システムが停止したり、パッケージの手動登録が必要になってしまったりすることを防止する。【解決手段】本開示は、物体の初期物体推定を検証することに関する。1つ又は複数の物体を含む環境を表す二次元(2D)画像を取得し得る。2D画像は、物体のエッジを検出するために検査され得る。エッジを処理して、初期物体推定を検証又は更新し、物体検出結果の正確度を向上させ得る。【選択図】図8

Description

関連出願(複数可)の相互参照
本出願は、2019年5月24日に出願された米国仮特許出願第62/852,963号の利益を主張するものであり、その全体が参照により本明細書に組み込まれる。本出願は、2019年3月1日に出願された米国特許出願第16/290,741号、現在の米国特許第10,369,701号にも関連しており、その全体が参照により組み込まれる。
本技術は、一般にロボットシステムを対象とし、より詳細には、検出結果を精緻化するためのシステム、プロセス、及び技術を対象とする。
多くの場合、目的地への出荷のためにパレットに配置された(又は「パレタイズされた」)パッケージは、その後、目的地でデパレタイズされる。パッケージは人間の作業員によってデパレタイズされる可能性があり、これは資源集約的であり、人間の作業者の負傷のリスクを増大させる可能性がある。産業上の設定では、デパレタイズ操作は、パッケージを把持して持ち上げ、運搬し、解放点まで配送するロボットアーム等の産業用ロボットによって実行され得る。また、撮像デバイスを利用して、パレットに積載されたパッケージの積み重ねの画像を取り込み得る。システムは、取り込んだ画像を、登録データソースに格納された登録画像と比較すること等によって、パッケージがロボットアームによって効率的に処理されるように画像を処理し得る。
取り込んだパッケージの画像が登録済みの画像と一致し得る場合もある。その結果、画像化された物体の物理的特性(例えば、パッケージの寸法、重量、及び/又は重心の測定値)が誤って不明と表示されたり、所定のデータ又はテンプレートデータと一致しなかったりすることがあり得る。物理的特性を正しく識別できないと、様々な望ましくない結果が生じる可能性がある。例えば、そのような障害は、システムの停止を引き起こす可能性があり、パッケージの手動登録が必要になり得る。また、特にパッケージが比較的重い及び/又は偏っている場合は、そのような障害によりパッケージが誤って処理される可能性がある。
本技術の様々な特徴及び特性は、図面と併せて詳細な説明を検討することにより、当業者にはより明らかになるであろう。本技術の実施形態は、図面において限定ではなく例として示されており、同様の参照は同様の要素を示し得る。
検出後の精緻化登録メカニズムを備えたロボットシステムが動作し得る例示的な環境の図である。 本技術の1つ又は複数の実施形態によるロボットシステムの図である。 本技術のいくつかの実施形態による、複数の検出可能な物体を有するシーンの図である。 本技術のいくつかの実施形態による、物体を描写するシーンの一部の図である。 本技術のいくつかの実施形態による、エッジに基づいた物体検出の図である。 本技術のいくつかの実施形態による、検出されたエッジ及び初期物体推定を有するシーンの図である。 本技術のいくつかの実施形態による、更新された物体推定の図である。 本技術のいくつかの実施形態による、図1のロボットシステムを動作させる方法のブロック図である。 本明細書で説明される少なくともいくつかの動作を実装できる処理システムの実施例を示すブロック図である。
図面は、例示のみを目的として様々な実施形態を描写する。当業者は、本技術の原理から逸脱することなく、代替の実施形態が使用され得ることを認識するであろう。したがって、特定の実施形態が図面に示されているが、本技術は様々な修正を受け入れることができる。
本明細書では、検出後の精緻化メカニズムを備えたロボットシステムのためのシステム及び方法について説明する。いくつかの実施形態に従って構成されたロボットシステム(例えば、1つ又は複数の指定されたタスクを実行するデバイスの統合システム)は、エッジ又はコーナー等の二次元(2D)及び/又は三次元(3D)画像データで取り込まれた特性に基づいて物体検出結果を精緻化又は調整することにより、向上した使用性及び柔軟性を提供する。
物体が認識されているかどうかを判定するために、ロボットシステムは、開始場所にある物体に関する画像データ(例えば、物体の露出面の1つ又は複数の画像)を取得して、既知又は予想される物体の登録データと比較することができる。ロボットシステムは、比較されたデータ(例えば、比較された画像の一部)が物体の1つに対する登録データ(例えば、登録された表面画像の1つ)と一致するとき、物体が認識されたと判定することができる。ロボットシステムは、認識された物体が画像化された範囲内の特定の場所(ロケーション)に存在すると結論付けることによって、物体を検出することができる。したがって、ロボットシステムは、認識された物体及び/又は認識された物体の場所を表す検出結果を生成することができる。
多くの場合、物体(例えば、パレット上に配置されたボックス)の位置(ポジション)/配向を決定することは、表面マーキング/デザインを有する所定の/格納された物体テンプレート(例えば、物体表面の視覚画像)を使用することを含み得る。しかし、物体の識別のためにそのような所定の/格納された物体テンプレートに依存することは、現実世界での物体の実際の位置/場所について不正確な結果をもたらし得る。
例えば、物体/ボックスの実際の表面マーキング/デザインは、所定の/格納された物体テンプレート内のものに比べてオフセットされ得る、歪み得る、又は異なる配向であり得る。言い換えれば、取り込まれた画像は、コンピュータビジョン誤差のために表面のマーキング/デザインの不正確な表現を含み得る、及び/又は処理された物体は、製造上の誤差のため等により、意図された又はテンプレートの画像とはオフセットされる、又は異なる実際の表面のマーキング/デザインを有し得る。
取り込まれた表面の外観に関する様々なタイプの誤差により、物体が現実世界(例えば、保管場所/パレット上)での実際の位置/配向とは異なる位置/配向にあると判定される可能性がある。物体の不正確な位置/場所の判定は、物体を移動させる際に重心(CoM)の場所から離れて物体を掴むこと等により、後続の動作における物体の操作の誤差又は失敗を更に引き起こす可能性がある。
したがって、本実施形態は、初期物体推定と物体の検出された特徴との間のオフセット/アライメント誤差を識別するために、ペアワイズエッジ分析を実装し得る。検出されたオフセット/アライメント誤差に基づいて、初期物体推定は、物体検出を完了する際に更新又は検証され得る。初期物体推定の検証及び/又は更新により、物体の位置/場所の正確度を向上し得る。
以下の説明では、現在開示されている技術の完全な理解を提供するために、多くの具体的な詳細が述べられている。他の実施形態では、本明細書で紹介される技術は、これらの特定の詳細なしで実施できる。他の実施例では、特定の関数又はルーチン等の周知の特徴は、本開示を不必要に曖昧にすることを回避するために詳細には説明されない。本明細書における「実施形態」、「一実施形態」等への言及は、説明されている特定の特徴、構造、材料、又は特性が本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書における、そのような語句の出現は、必ずしもすべてが同じ実施形態を指すものではない。一方、そのような参照は必ずしも相互に排他的なものではない。さらに、特定の特徴、構造、材料、又は特性は、1つ又は複数の実施形態において任意の適切な方法で組み合わせることができる。図に示される様々な実施形態は、単に例示的な表現であり、必ずしも縮尺通りに描写されていないことを理解されたい。
周知であり、しばしばロボットシステム及びサブシステムに関連付けられるが、開示された技術のいくつかの重要な側面を不必要に不明瞭にする可能性がある構造又はプロセスを説明するいくつかの詳細は、明確にするために以下の説明には記載されていない。さらに、以下の開示では、本技術の異なる側面のいくつかの実施形態が示されているが、他のいくつかの実施形態は、本節で説明したものとは異なる構成又は異なる構成要素を有することができる。したがって、開示された技術は、追加の要素を有するか、又は以下で説明する要素のいくつかを有さない他の実施形態を有することができる。
以下で説明する本開示の多くの実施形態又は態様は、プログラム可能なコンピュータ又はプロセッサによって実行されるルーチンを含む、コンピュータ実行可能命令又はプロセッサ実行可能命令の形態をとることができる。当業者は、開示された技術が、以下で示され説明されるもの以外のコンピュータシステム又はプロセッサシステムで実施できることを理解するであろう。本明細書で説明される技術は、以下で説明されるコンピュータ実行可能命令の1つ又は複数を実行するように具体的にプログラムされ、構成され、又は構築される専用コンピュータ又はデータプロセッサで具体化することができる。したがって、本明細書で一般的に使用される「コンピュータ」及び「プロセッサ」という用語は、任意のデータプロセッサを指し、インターネット機器及びハンドヘルドデバイス(パームトップコンピュータ、ウェアラブルコンピュータ、移動電話又は携帯電話、マルチプロセッサシステム、プロセッサベース又はプログラマブル家庭用電化製品、ネットワークコンピュータ、ミニコンピュータ等を含む)を含むことができる。これらのコンピュータ及びプロセッサによって処理される情報は、液晶ディスプレイ(LCD)を含む、任意の適切な表示媒体で表示することができる。コンピュータプロセッサ実行可能タスク又はプロセッサ実行可能タスクを実行するための命令は、ハードウェア、ファームウェア、又はハードウェアとファームウェアの組み合わせを含む、任意の適切なコンピュータ可読媒体に格納することができる。命令は、例えば、フラッシュドライブ及び/又は他の適切な媒体を含む、任意の適切なメモリデバイスに含めることができる。
「結合された」及び「接続された」という用語は、それらの派生語とともに、構成要素間の構造的関係を説明するために本明細書で使用することができる。これらの用語は、互いに同義語として意図されたものではないことを理解されたい。むしろ、特定の実施形態では、「接続された」は2つ以上の要素が互いに直接接触していることを示すために使用することができる。文脈で明らかにされていない限り、「結合された」という用語は、2つ以上の要素が直接又は間接的に(それらの間にある他の介在要素と)互いに接触していること、2つ以上の要素が互いに(例えば、信号の送信/受信又は関数呼び出し等の因果関係のように)連携又は相互作用していること、又はその両方を示すために使用することができる。
適切な環境
図1は、検出後の精緻化メカニズムを備えたロボットシステム100が動作し得る例示的な環境の図である。ロボットシステム100は、1つ又は複数のタスクを実行するように構成される1つ又は複数のユニット(例えば、ロボット)を含むことができる、及び/又は通信することができる。検出後の精緻化メカニズムの態様は、様々なユニットによって実行又は実装することができる。
図1に示す実施例では、ロボットシステム100は、倉庫又は流通/輸送ハブにおいて、荷下ろしユニット102、移送ユニット104(例えば、パレタイジングロボット及び/又はピースピッカーロボット)、搬送ユニット106、積載ユニット108、又はそれらの組み合わせを含むことができる。ロボットシステム100の各ユニットは、1つ又は複数のタスクを実行するように構成することができる。タスクは、トラック又はバンから物体を荷下ろしして倉庫に保管したり、保管場所から物体を荷下ろしして出荷の準備をしたりする等、目標を達成する操作を実行するために順番に組み合わせることができる。別の実施例では、タスクは物体を目標場所(例えば、パレットの上及び/又は容器/ケージ/ボックス/ケースの内部)に配置することを含むことができる。以下で説明するように、ロボットシステムは、物体を配置及び/又は積み重ねるための計画(例えば、配置場所/配向、物体を搬送するための順序、及び/又は対応する動作計画)を導出することができる。各ユニットは、タスクを実行するために一連の動作を実行する(例えば、その中の1つ又は複数の構成要素を操作する)ように構成することができる。
いくつかの実施形態では、タスクは、開始場所114からタスク場所116への対象物体112(例えば、実行中のタスクに対応するパッケージ、ボックス、ケース、ケージ、パレット等のうちの1つ)の操作(例えば、移動及び/又は再配向)を含むことができる。例えば、荷下ろしユニット102(例えば、デバンニングロボット)は、対象物体112を運送車(例えば、トラック)内の場所からコンベヤベルト上の場所に移送するように構成することができる。また、移送ユニット104は、対象物体112をある場所(例えば、コンベヤベルト、パレット、又は容器)から別の場所(例えば、パレット、容器等)に移送するように構成することができる。別の実施例では、移送ユニット104(例えば、パレタイジングロボット)は、対象物体112を供給場所(例えば、パレット、ピックアップエリア、及び/又はコンベヤ)から積み込み先パレットに移送するように構成することができる。操作が終了すると、搬送ユニット106は、移送ユニット104に関連付けられた範囲から積載ユニット108に関連付けられた範囲に対象物体112を移送することができ、積載ユニット108は、(例えば、対象物体112を載せたパレットを移動させることによって)対象物体112を移送ユニット104から保管場所(例えば、棚の上の場所)に移送することができる。タスク及び関連するデータ処理に関する詳細は以下で説明する。
例示の目的のために、ロボットシステム100は、配送センタの文脈で説明されるが、ロボットシステム100は、他の環境でタスクを実行するように構成できること/製造、組立、パッケージング、ヘルスケア、及び/又は他のタイプの自動化等の他の目的のためにタスクを実行するように構成できることが理解されよう。ロボットシステム100は、図1には示されていない、マニピュレータ、サービスロボット、モジュール式ロボット等の他のユニットを含むことができることも理解されよう。例えば、いくつかの実施形態では、ロボットシステム100は、物体をケージカート又はパレットからコンベヤ又は他のパレットに移送するためのデパレタイズユニット、物体をあるコンテナから別のコンテナに移送するためのコンテナ切り替えユニット、物体をラッピングするためのパッケージングユニット、物体の1つ又は複数の特性に従って物体をグループ化するための並べ替えユニット、物体の1つ又は複数の特性に従って物体を異なる方法で操作するため(例えば、並べ替え、グループ化、及び/又は移送するため)のピースピッキングユニット、又はそれらの組み合わせを含むことができる。
ロボットシステム100は、動作(例えば、回転及び/又は並進変位)のために関節で連結される物理的又は構造的部材(例えば、ロボットマニピュレータアーム)を含むことができる。構造部材及び関節は、ロボットシステム100の使用/操作に従って1つ又は複数のタスク(例えば、把持、紡績、溶接等)を実行するように構成されるエンドエフェクタ(例えば、グリッパ)を操作するように構成される運動連鎖を形成することができる。ロボットシステム100は、対応する関節の周囲又は対応する関節で、構造部材を駆動又は操作(例えば、変位及び/又は再配向)するように構成される作動デバイス(例えば、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性ポリマ等)を含み得る。いくつかの実施形態では、ロボットシステム100は、対応するユニット/シャーシを色々な場所に移送するように構成される移送モータを含むことができる。
ロボットシステム100は、構造部材を操作する及び/又はロボットユニットを搬送する等のため、物体の検出及び/又はタスクの実施のために使用される情報を取得するように構成されるセンサを含むことができる。センサは、ロボットシステム100の1つ又は複数の物理的特性(例えば、1つ又は複数の構造部材/その関節の状況、状態、及び/又は場所)及び/又は周辺環境の1つ又は複数の物理的特性を検出又は測定するように構成されるデバイスを含むことができる。センサのいくつかの実施例には、加速度計、ジャイロスコープ、力センサ、歪みゲージ、触覚センサ、トルクセンサ、位置エンコーダ等を含むことができる。
いくつかの実施形態では、例えば、センサは、周辺環境を検出するように構成される1つ又は複数の撮像デバイス(例えば、視覚カメラ及び/又は赤外線カメラ、2D及び/又は3D撮像カメラ、ライダ又はレーダ等の距離測定デバイス等)を含むことができる。撮像デバイスは、(例えば、自動検査、ロボットガイダンス、又は他のロボットアプリケーションのために)マシン/コンピュータビジョンを介して処理され得る、デジタル画像及び/又は点群等の検出された環境の表現を生成することができる。以下で更に詳細に説明するように、ロボットシステム100は、デジタル画像及び/又は点群を処理して、対象物体112、開始場所114、タスク場所116、対象物体112の姿勢、開始場所114及び/又は姿勢に関する信頼尺度、又はそれらの組み合わせを識別することができる。
対象物体112を操作するために、ロボットシステム100は、指定された範囲(例えば、トラック内又はコンベヤベルト上等のピックアップ場所)の画像を取り込み及び分析して、対象物体112及びその開始場所114を識別することができる。同様に、ロボットシステム100は、別の指定された範囲(例えば、コンベヤに物体を置くための下降場所、コンテナ内に物体を置くための場所、又は積み重ね目的のためのパレット上の場所)の画像を取り込んで分析し、タスク場所116を識別することができる。例えば、撮像デバイスは、ピックアップ範囲の画像を生成するように構成される1つ又は複数のカメラ及び/又はタスク範囲(例えば、下降範囲)の画像を生成するように構成される1つ又は複数のカメラを含むことができる。以下で詳細に説明するように、取り込まれた画像に基づいて、ロボットシステム100は、開始場所114及び/又はタスク場所116で物体を検出し、検出結果を精緻化することができる。
いくつかの実施形態では、例えば、センサは、構造部材(例えば、ロボットアーム及び/又はエンドエフェクタ)及び/又はロボットシステム100の対応する関節の位置を検出するように構成される位置センサ(例えば、位置エンコーダ、電位差計等)を含むことができる。ロボットシステム100は、位置センサを使用して、タスクの実行中に構造部材及び/又は関節の場所及び/又は配向を追跡することができる。
物体検出及び検出後の精緻化のための例示的なデバイス構成
図2は、本技術の1つ又は複数の実施形態による、図1のロボットシステム100の図である。ロボットシステム100は、エンドエフェクタ204(例えば、グリッパ)を含むロボットアーム202(例えば、図1の移送ユニット104のインスタンス)を含むことができる。ロボットアーム202は、図1の開始場所114と図1のタスク場所116との間で対象物体112を移送するように構成することができる。図2に示すように、開始場所114は、その上に対象スタック210(例えば、物体のグループ化)を有するパレット208を有することができる。ロボットアーム202のタスク場所116は、コンベヤ206(例えば、図1の搬送ユニット106のインスタンス)上の配置場所(例えば、開始/退出点)とすることができる。
ロボットシステム100は、ロボットアーム202で移送操作を実行する際に、1つ又は複数のセンサを使用することができる。いくつかの実施形態では、ロボットシステム100は、第1の撮像センサ212及び/又は第2の撮像センサ214を含むことができる。第1の撮像センサ212は、開始場所114を撮像及び/又は分析するように構成される、カメラセンサ及び/又は深度センサ等の1つ又は複数の2Dセンサ及び/又は3Dセンサを含むことができる。第2の撮像センサ214は、タスク場所116を撮像及び/又は分析するように構成される、カメラセンサ及び/又は深度センサ等の1つ又は複数の2Dセンサ及び/又は3Dセンサを含むことができる。例えば、第1の撮像センサ212は、開始場所114の上方で開始場所114に面した既知の位置に配置された1つ又は複数のカメラセンサ及び/又は深度センサを含むことができる。第1の撮像センサ212は、対象スタック210の上面図等の開始場所114の1つ又は複数の上面図に対応する撮像データ(例えば、3D点群及び/又は3D視界又は2D画像)を生成することができる。
ロボットシステム100は、第1の撮像センサ212からの撮像データを使用して、対象スタック210内の物体を認識又は検出することができる。物体を検出する際に、ロボットシステム100は、画像データの一部(例えば、2D画像)又はその一部をマスタデータ(例えば、予想される/登録された物体の所定の表面画像)と照合させることに基づいて、初期検出仮説を生成することができる。ロボットシステム100は、画像データ(例えば、3D画像)を更に処理して、初期検出仮説を精緻化することができる。例えば、ロボットシステム100は、平行なエッジペア及び対応する交点を識別して、物体の物理的な輪郭又は周囲を導出することができる。導出された輪郭を処理して、初期検出仮説を調整又は検証することができる。検出及び精緻化に関する詳細は以下で説明する。
物体のエッジ検出
上述したように、物体又は一連の物体の初期物体推定は、物体の追加的に決定された特徴と比較して、初期物体推定からの物体の場所/位置を検証及び/又は更新してもよい。図3は、本技術のいくつかの実施形態による、複数の検出可能な物体302、304を有するシーン300を示す。
図3に示すように、シーン300は、図2の第1の撮像センサ212からの撮像データ(例えば、2D視界画像)であり得る。シーン300は、開始場所114における複数の検出可能な物体302及び304(例えば、パレタイズされたボックス)を描写することができる。図1のロボットシステム100は、撮像データを分析して、物体302及び/又は304の初期物体推定を導出し得る。例えば、ロボットシステム100は、シーン300又はその一部を、マスタデータ内の登録された物体の表面画像と比較することができる。コンピュータビジョン及び/又は他の画像分析メカニズムを使用して、ロボットシステム100は、物体302及び304に対応するシーン300内の範囲がマスタデータ内の1つ又は複数の表面画像と一致することを決定することができる。
各一致について、ロボットシステム100は、対応する登録された物体の識別子、検出された物体の場所、検出された物体のサイズ、検出された物体の姿勢、及び/又は検出された物体に関連付けられた他の物理的属性として、初期物体推定を導出することができる。例えば、ロボットシステム100は、物体302及び304の登録された画像にそれぞれ一致する、シーン300の第1及び第2の部分の十分な数の特徴(例えば、一致する特徴の信頼値及び/又は閾値数/サイズによって定義される)を決定することができる。したがって、ロボットシステム100は、物体302及び304(例えば、候補物体)が開始場所112にあると推定することができる。一致に基づいて、ロボットシステム100は、物体302及び304の登録された画像内の特徴に関連する所定の寸法及び/又はエッジ場所を識別することができる。ロボットシステム100は、寸法及び/又は相対的なエッジ場所をシーン300内の一致する特徴にマッピングして、物体302及び304の姿勢及び/又は場所を導出するか、又は推定することができる。さらに、ロボットシステム100は、所定の座標系及び/又はマッピング処理に基づき画像内の場所(例えば、画素位置)を現実世界の場所に変換することに基づいて物体を位置決めすることができる。
以下でより詳細に説明するように、ペアワイズエッジ分析は、初期物体推定の検証/更新に利用され得る。いくつかの例では、検出された物体が類似の視覚的特徴及び/又は寸法を有する場合等、ペアワイズエッジ分析は、物体302、物体304の同一性を区別するため、及び/又は初期物体推定で表される物体の寸法を検証するために更に使用され得る。
図4は、本技術のいくつかの実施形態による、物体402を描写する撮像出力(例えば、2D/3D撮像データ)の一部の図である。撮像デバイス(例えば、第1の撮像センサ212、第2の撮像センサ214)は、物体(例えば、パレタイズされたボックス)の画像(複数可)を取り込み得る。撮像デバイスによって取り込まれた画像は、1つ又は複数の検出可能な物体を有する環境(又は「シーン」)を示すことができる。例えば、画像は、図1の開始場所114に配置された複数のパレタイズされたボックスの上面図を示すことができる。画像に取り込まれたシーンは、対象物体(例えば、物体402を含む)が位置する範囲をカバーする視野を提供し得る。
物体402のエッジ404a及び/又はエッジ404bは、物体402の取り込まれた画像(複数可)を検査することによって検出され得る。例えば、図1のロボットシステム100は、ソーベルフィルタ等のエッジ検出メカニズム及び/又は他のエッジ検出メカニズムを使用して、描写されたエッジを検出することができる。以下でより詳細に説明するように、画像データ(例えば、3D点群)及び/又は検出されたエッジは、物体の決定された特徴と初期物体推定との間のオフセットを決定するために使用できる物体の3Dコーナーを決定するために使用され得る。
検出されたエッジのそれぞれについて、ロボットシステム100は、エッジ配向408を導出することができる。エッジ配向408は、物体の検出可能なエッジの方向/配向を含み得る。例えば、エッジ配向408は、画像によって表されるシーンの基準座標系(例えば、ユークリッド空間の2D又は3D直交座標)に対するエッジの位置合わせ又は勾配を含むことができる。いくつかの実施形態では、エッジ配向408は、検出されたエッジの方向及び大きさの両方を含むエッジベクトルによって表すことができる。
物体402(例えば、ボックス)は、複数の平行なエッジを含み得る。例えば、取り込まれた画像は、エッジ404aに平行なエッジ404a’を描写し得る。同様に、取り込まれた画像は、エッジ404bに平行なエッジ404b’を描写し得る。
ロボットシステム100は、一組のエッジが、配向408の計算及び比較に基づいて平行であることを決定し得る。例示的な実施例として、ロボットシステム100は、検出されたエッジのクラスタを導出することに基づいて、平行なエッジを識別することができる。ロボットシステム100は、V1及びV2の内積に従って検出されたエッジを比較することに基づいてエッジクラスタを導出し得て、ここで、V1及びV2は、固有のエッジのベクトル表現である。エッジの角度又は配向は、ベクトルの方向成分に対応することができる。ロボットシステム100は、内積の角度が角度閾値未満である場合、2つのベクトルが平行であると決定することができる。
いくつかの実施形態では、ロボットシステム100は、対象となるエッジからの閾値範囲/距離内で検出されたエッジを比較することに基づいて、エッジクラスタを導出することができる。例えば、閾値の範囲/距離は、最大の登録された物体の寸法に対応することができる。また、ロボットシステム100は、初期物体推定のエッジからの閾値距離で又は閾値距離内の検出されたエッジに基づいて、エッジクラスタを導出し得る。例えば、ロボットシステム100は、初期物体推定の境界を越えて延びる分析範囲を識別することができる。言い換えれば、ロボットシステム100は、それぞれが初期物体推定のインスタンスを囲むか、又は含む分析範囲及びそれに隣接する領域を識別することができる。ロボットシステム100は、それぞれの初期物体推定内のエッジクラスタを決定することができる。同様に、ロボットシステム100はまた、物理的特徴(例えば、3Dコーナー又は3Dエッジ)、最小/最大物体サイズ、3D点群値に一致する範囲(例えば、連続した表面)、分析プラットフォーム内の範囲(例えば、パレット)、又はそれらの組み合わせに対応する範囲、又はこれらによって(例えば、所定のテンプレートに従って)定義される範囲に位置する検出されたエッジを比較することに基づいて、エッジクラスタを導出し得る。
ロボットシステム100は、エッジクラスタを使用して、画像データ内の範囲を識別することができる。例えば、ロボットシステム100は、異なる配向を有する検出されたエッジの交差(例えば、コーナー)を識別することができる。ロボットシステム100は、クラスタ化されたエッジ又は平行なエッジのセット(例えば、第1のペア)が、クラスタ化されたエッジ又は平行なエッジの別のセット(第2のセット)と交差して、所定数のコーナー(例えば、4つのコーナー)を形成するときに、物体が存在することを検出することができる。ロボットシステム100は、対応するエッジセット及びその中の境界範囲が検出された物体を表すことを決定することができる。したがって、ロボットシステム100は、エッジに基づいて、初期物体推定とは別に物体を検出することができる。エッジに基づいた物体検出に関する詳細を以下で説明する。
ロボットシステム100は、平行なエッジ(例えば、エッジ404b、404b’)間の検出可能なエッジ距離406を導出することができる。検出可能なエッジ距離406は、同一平面上にある、及び/又は互いからの閾値範囲/距離内に位置する平行エッジ(例えば、エッジ404a、404a’又はエッジ404b、404b’)間の距離を含み得る。検出可能なエッジ距離706は、物体402の長さ又は幅を表し得る。以下でより詳細に説明するように、検出可能なエッジ距離406は、物体の寸法が物体の初期物体推定に含まれる寸法に対応するかどうかを決定する際に利用され得る。
物体エッジの交点検出
物体の検出された平行エッジセットは、検出されたエッジの一連の交点(又は「3Dコーナー」)を識別する際に使用され得る。識別された交点は、検出されたエッジに従って物体を検出するために使用することができる。図5は、本技術のいくつかの実施形態による、エッジに基づいた物体検出の図である。図5に示すように、シーン500(例えば、図2の第1の撮像センサ212からの2D撮像出力)は、第1の物体(A)に対応する第1の検出されたエッジセット502及び第2の物体(B)に対応する第2の検出されたエッジセット504を示すことができる。
上述したように、ロボットシステム100は、検出されたエッジセット502及び504に基づいて、エッジクラスタを導出することができる。例示的な実施例として、ロボットシステム100は、第1の配向を有する第1のエッジ512に基づいて第1のクラスタを導出することができる。上述したように、ロボットシステム100は、第1のエッジ512に対応する範囲内の検出されたエッジを分析することができる。分析に基づいて、ロボットシステム100は、第1のエッジ512及び第1のエッジ512に対して平行であると決定された第1の対応するエッジ522を含むエッジクラスタ(例えば、平行なエッジのセット又はペア)を導出することができる。同様に、ロボットシステム100は、第2の配向を有する及び/又は第1のエッジ512と交差する第2のエッジ514に基づいて第2のクラスタを導出することができる。第2のクラスタは、第2のエッジ514及び第2のエッジ514に平行であると決定された第2の対応するエッジ524を含み得る。
ロボットシステム100は、エッジクラスタを更に処理して、異なる配向を有するエッジのセットが交差する検出されたコーナー506を識別することができる。ロボットシステム100は、検出されたエッジを一端から他端に向かって追跡して、エッジが別のエッジと交差するかどうかを判定し得る。異なるクラスタからのエッジのセット又はペアが互いに交差するとき、ロボットシステム100は、エッジが範囲を囲む境界を形成していると決定することができる。図5に示すように、ロボットシステム100は、第1のペアの平行エッジ512及び522が、第2のペアの平行エッジ514及び524と交差することを決定することができる。したがって、ロボットシステム100は、エッジ512、514、522、及び524が、検出された物体(例えば、物体A)に対応するか、又は検出された物体を定義することを決定することができる。同様に、ロボットシステム100は、シーン内で検出された他のエッジを分析して、シーン内に描写された他の交差及びその後の他の物体を決定することができる。
エッジ評価
検出されたエッジ、検出された平行エッジペア、及び/又はエッジ交点の正確度/精度を定量化するための測定基準を提供するエッジ評価を導出し得る。エッジ評価は、検出されたエッジの正確度の決定、及び検出後の精緻化及び検証(例えば、初期物体推定の更新/検証)に使用することができる。エッジ評価には、物体の検出された特徴の正確度を表す動的/累積値を含めることができる。場合によっては、エッジ評価は、初期物体推定に含まれる候補物体に対する検出された物体の正確度を示すことができる。
エッジ評価は、様々な要因に基づいて導出することができる。例えば、エッジ評価は、連続性の尺度(例えば、エッジが測定値/描写値の不連続性又は不規則な変化を含むかどうかを示す)に基づくことができる。別の実施例として、エッジ評価は、検出されたエッジの線形性のレベルに基づくことができる。ロボットシステム100は、エッジ形状を所定のテンプレート又はパターンと比較して、線形性のレベルを決定し得る。
エッジ評価は、検出された平行エッジペア及び/又は初期物体推定に対応する候補物体間の類似性の尺度に基づいて計算又は調整することもできる。例えば、類似性の尺度は、各クラスタ及び/又は交差するクラスタ内の検出されたエッジの長さ、厚さ、色、及び/又は配向に従って計算され得る。エッジ評価は、2D画像内の識別された検出可能なエッジと、3D点群内のエッジ点との間の重なりの度合いに基づくこともできる。例えば、ロボットシステム100は、所定のグリッド/座標系及び/又はマッピング関数(例えば、1つ又は複数の方程式及び/又はルックアップテーブル)に従って、2D画像内の点を3D画像内の点及び/又は現実世界の点にマッピングすることができる。共通の場所マッピングにより、ロボットシステム100は、2D画像内の検出されたエッジを、3D画像内の検出されたエッジと比較することができる。ロボットシステム100は、2D画像及び3D画像の対応するエッジ間の近接性に基づいて、エッジ評価を計算することができる。したがって、2D画像内及び3D画像内の両方で同じ場所で検出されるエッジは、より高いエッジ評価を有することができる。2D画像内及び3D画像内の対応するエッジが更に離れているときには、エッジ評価が低下する可能性がある。
いくつかの実施形態では、エッジ評価は、検出されたエッジ交点(例えば、コーナー)に基づくことができる。例えば、識別されたコーナー(例えば、2Dコーナー)の場所は、3Dコーナーの場所と比較することができる。コーナーを形成する検出されたエッジのエッジ評価は、エッジの比較について上述したように、重なりの度合い又はコロケーションに基づいて計算することができる。また、コーナーを形成する検出されたエッジのエッジ評価は、コーナー角度に基づいて計算することができる。いくつかの実施形態では、コーナーの角度が90度に最も近いとき、エッジ評価は向上する可能性がある。
エッジ評価は、本明細書に記載されるように、検出可能なエッジの識別/抽出後又はエッジクラスタの識別後に、決定することができる。いくつかの実施形態では、エッジ評価は、平行エッジペアの識別、平行エッジセットの決定、検出された平行エッジペアの3Dエッジ投影への投影、及び/又はエッジ交点の識別の何れかの後に決定することができる。
いくつかの実施形態では、ロボットシステムは、エッジスコアに基づいて(例えば、エッジスコアがエッジ検出閾値を下回る場合)、検出されたエッジを却下することができる。別の実施例として、精緻化/検証プロセス中又はその前に、ロボットシステム100は、検出されたエッジ交点を使用して初期物体推定を精緻化及び/又は検証するかどうかを決定することができる。
初期物体推定の精緻化/検証
図6は、本技術のいくつかの実施形態による、破線によって描写されるような検出されたエッジ602a及び602b、ならびに実線によって描写されるような初期物体推定604a及び604bを有するシーン600の図である。検出されたエッジ602aは、第1の物体(例えば、図3の物体302)に対応することができ、検出されたエッジ602bは、第2の物体(例えば、図3の物体304)に対応することができる。同様に、初期物体推定604aは、第1の物体に対応することができ、初期物体推定604bは、第2の物体に対応することができる。
図6に示すように、検出されたエッジは、初期物体推定の境界/エッジと一致しない場合がある。差異は、画像処理中及び初期物体推定の導出中等、ロボットシステム100によって引き起こされ得る。差異はまた、物体の不一致が原因で引き起こされ得る。例えば、実際の物体は、製造、印刷、及び/又は包装の誤差により、登録された画像とは異なる、又は登録された画像に対して予想しない場所にある視覚的特徴(例えば、ロゴ、デザイン、及び/又はその他の目に見える印)を有し得る。
以下で詳細に説明するように、ロボットシステム100は、検出されたエッジを使用して、初期物体推定を更新及び/又は検証できる。したがって、ロボットシステム100は、不正確な物体検出によって引き起こされる障害を低減又は除去することができる。言い換えれば、ロボットシステム100は、検出されたエッジを使用して、可視の特徴に基づいた物体検出を強化することができる。
上述したように、初期物体推定は、物体の検出された特徴に基づいて更新及び/又は検証され得る。図7は、本技術のいくつかの実施形態による、更新された物体推定の図である。上述したように、図1のロボットシステム100は、シーン708又はその一部を物体テンプレート700(例えば、所定の表面画像又は登録された物体に設定された特徴)と比較して、初期物体推定722を導出し得る。
ロボットシステム100は、シーン708の一部が物体テンプレート700と一致するとき、潜在的な一致を検出することができる。図7に示すように、物体テンプレート700は、特徴702、704、706を含み得る。特徴702、704、706の実施例は、表面デザイン、文字、数字、記号、エッジ等の可視の特徴を含むことができる。照合シナリオの場合、シーン708の部分は、それぞれ特徴702、704、706と一致する特徴710、712、714を含み得る。したがって、ロボットシステム100は、特徴710、712、及び714の周囲の輪郭を識別することに基づいて、初期物体推定722を導出することができる。輪郭は、1つ又は複数の一致する特徴に対する1つ又は複数の基準場所716(例えば、対応する所定の距離/方向によって分離された場所)に従って識別することができる。図7に示すように、基準場所716の1つは、特徴702と一致する、描写された特徴(例えば、特徴710)から所定の距離だけ離れている輪郭のコーナーとすることができる。ロボットシステム100は、対応する物体の推定されたエッジとして輪郭を識別することができる。
いくつかの実施形態では、初期物体推定722を精緻化又は更新することは、検出されたエッジ及び/又は検出されたエッジ(例えば、コーナー)の交点を検出された2D/3Dコーナーと比較することを含み得る。例えば、ロボットシステム100は、2D及び/又は3D画像から物体エッジセット732を識別することができる。物体エッジセット732は、上述したエッジに基づいた物体検出の結果とすることができ、少なくとも部分的に範囲を囲むように決定された交差する平行エッジのセットを含むことができる。いくつかの実施形態では、ロボットシステム100は、初期物体推定722と少なくとも部分的に重複する範囲を囲んでいる検出されたエッジ732のセットを識別することができる。ロボットシステム100は、初期物体推定722と2D/3D画像との間のエッジ/コーナーの対応する場所を比較することができる。比較されたエッジ/コーナーが一致しない場合、ロボットシステム100は、初期物体推定722のエッジ/コーナーと検出されたエッジ732との間の1つ又は複数の移動距離734を計算することができる。ロボットシステム100は、1つ又は複数の所定の方向に沿って(例えば、x軸及びy軸に沿って)及び/又は一致する場所間のベクトルとして移動距離734を計算し得る。
移動距離734が所定の移動閾値より大きい場合、ロボットシステム100は、初期物体推定722を更新し得る。例えば、ロボットシステム100は、物体推定が一致する特徴(例えば、特徴710、712、及び714)を含む検出されたエッジ732と一致するように、移動距離734だけ初期物体推定722を移動することができる。いくつかの実施形態では、ロボットシステム100は、初期物体推定722、2D物体認識結果、及び/又は3D物体認識結果の間の分離を組み合わせる(例えば、平均化する)ことにより、初期物体推定722を移動することができる。2D及び3D画像からの物体認識結果が一致しない場合、ロボットシステム100は、2D撮像結果よりも3D撮像結果を(例えば、一方を選択し、他方を破棄することにより、又はより大きな処理に重点を置くことにより)優先し得る。同様に、ロボットシステム100は、特徴照合から得られる初期物体推定722よりも2Dエッジ検出結果を優先させ得る。
いくつかの実施形態では、ロボットシステム100は、2D特徴を使用して、初期物体推定722を生成し、2Dエッジ処理を使用して、物体推定722を最初に検証又は調整することができる。ロボットシステム100は、3Dエッジ/コーナー又はその場所を更に使用して、物体推定を更に調整又は検証することができる。物体推定を検証することは、物体推定のエッジ/コーナーと3D深度マップの対応するエッジ/コーナーとの間に不一致が存在するかどうかを判定することを含み得る。言い換えれば、ロボットシステム100は、3D深度マップが、物体推定に対応する場所にエッジ/コーナー(例えば、1つ又は複数の線を形成する、又は1つ又は複数の線に沿った深度測定値の減少又は変化)を含むかどうかを決定することができる。ロボットシステム100が、比較されたデータの不一致を検出すると、ロボットシステム100は、物体推定を却下し、及び/又は上述したように物体推定を更に調整することができる。
図8は、本技術のいくつかの実施形態による、図1のロボットシステム100を動作させる方法800のブロック図である。方法800は、環境内に1つ又は複数の物体を有する環境を表す1つ又は複数の撮像結果(例えば、2D及び/又は3D画像データ)を取得することを含み得る(ブロック802)。画像は、両方とも図2に示すように、第1の画像センサ212又は第2の画像センサ214等の1つ又は複数の撮像デバイスによって取り込むことができる。例えば、2D及び/又は3D画像は、パレタイズされたボックスの上面図の描写であり得る。
方法800は、2D画像に基づいて初期物体推定を生成することを含み得る(ブロック804)。初期物体推定は、環境内に位置する物体の推定された識別及び/又は推定された場所を含み得る。上述したように、ロボットシステム100は、2D画像に描写された視覚的特徴を分析/マスタデータと比較することに基づいて、初期物体推定を生成することができる。例えば、ロボットシステム100は、2D画像又はその一部を、登録された物体の表面を表すマスタデータ内の表面画像と比較することができる。ロボットシステム100は、2D画像内の1つ又は複数の特徴が、登録された物体の1つの表面画像と一致するときに、初期物体推定を生成することができる。ロボットシステム100は、一致する登録された物体の識別子(例えば、物体名及び/又は識別コード)を推定された識別として決定することができる。ロボットシステム100は、照合機能を使用して、一致する画像を2D画像にマッピング又は投影することができる。ロボットシステム100は、2D画像内の対応する場所を現実世界の場所(複数可)に更にマッピングすることができ、それにより、推定される物体の場所を決定する。例えば、ロボットシステム100は、推定された物体のエッジ及び/又はコーナーの場所を推定することができる。
方法800は、エッジに基づいた物体検出を実行することを含み得る(ブロック806)。エッジに基づいた物体検出は、2D画像内の検出されたエッジの複数の交差するセット/ペアを識別することを含むことができる。したがって、ロボットシステム100は、2D画像内に描写されたエッジを検出するために2D画像を検査することによって、エッジに基づいた検出を開始し得る(ブロック808)。上述したように、対象物体の一連のエッジは、適切なエッジ検出技術(例えば、キャニーエッジ検出及びソーベルフィルタ)を使用して検出することができる。
エッジに基づいた物体検出は、それぞれが検出されたエッジのグループ化を含むエッジクラスタを導出することを含み得る(ブロック810)。例えば、エッジクラスタは、上述したように、所定の範囲内に少なくとも2つの検出されたエッジを含むことができる。ロボットシステム100は、検出されたエッジの方向を示すエッジ配向を決定することができる。ロボットシステム100は、検出されたエッジの決定されたエッジ配向に従って、検出されたエッジをグループ化し得る。
エッジに基づいた物体検出は、エッジクラスタに基づいて平行エッジセット/ペアを検出することを含み得る(ブロック812)。いくつかの実施形態では、平行エッジセットはそれぞれ、互いに平行であると決定された配向を有する2つの検出されたエッジを含み得る。上述したように、ロボットシステム100は、分析範囲内のエッジの分析に基づいて平行エッジセットを検出することができる。いくつかの実施形態では、ロボットシステム100は、エッジクラスタに含まれる検出可能なエッジのサブセットが閾値角度内の角度で交差することを決定することに基づいて、平行エッジセットを検出することができる。ロボットシステム100は、図4の検出可能なエッジ距離406を、初期物体推定に関連付けられた登録された物体の所定の寸法と比較すること等によって、適格条件に基づいて平行エッジセットを検出し得る。ロボットシステム100は、登録された寸法に一致する(例えば、分離閾値内にある)検出可能なエッジ距離406を有するエッジクラスタ内のエッジを選択することに基づいて、平行エッジセットを検出することができる。
方法800は、複数の検出された交差する平行なエッジペアを含む物体エッジセットを識別することを含み得る(ブロック814)。物体エッジセットは、異なる配向を有する、及び/又は互いに交差する複数の平行なエッジペアを含み得る。例えば、ロボットシステム100は、物体エッジセットを、第1の配向を有する第1の平行エッジペア及び第1の平行エッジペアと交差する第2の配向を有する第2の平行エッジペアとして識別することができる。したがって、ロボットシステム100は、互いに接続して範囲を囲む4つのエッジとして物体エッジセットを識別することができる。
方法800は、環境内に1つ又は複数の物体を有する環境を表す3D画像(例えば、点群)の領域上に物体のエッジセットを投影することを含み得る(ブロック816)。いくつかの実施形態では、ロボットシステム100は、2D画像及び3D画像内の点を互いに及び/又は対応する現実世界の場所にマッピングすることができる。ロボットシステム100は、撮像デバイスの固定/既知の場所及び配向に対応する所定のプロセス、座標系、ルックアップテーブル、及び/又は方程式を使用して点を投影することができる。したがって、ロボットシステム100は、物体エッジセットのエッジに対応する3D画像内の部分/場所を決定することができる。
方法800は、3D画像データ内の3Dコーナー場所を識別することを含み得る(ブロック818)。3Dコーナーは、ロボットシステム100等によって、所定の形状/サイズを有し、物体エッジセットに関連付けられたコーナーの場所を含む範囲を分析するために使用され得る。3Dコーナーは、分析範囲内の3Dエッジ(例えば、深度測定値が変化する隣接場所のセット)間の交点を探索するために使用することができる。
方法800は、3Dコーナー場所と初期物体推定の対応するコーナー場所との間のオフセットを計算することを含み得る(ブロック820)。オフセットは、投影された3D点群の3Dコーナー場所と初期物体推定のコーナー場所との間の距離及び/又は配向等による、位置の差異を表し得る。いくつかの実施形態では、ロボットシステム100は、2Dエッジ及び3Dエッジを比較して、上述したようにオフセットを計算することができる。
方法800は、オフセットを評価し得る(決定ブロック822)。言い換えれば、ロボットシステム100は、3Dセンサデータに従って、初期物体推定(例えば、推定物体の場所)が正確であるかどうかを判定することができる。ロボットシステム100は、計算されたオフセット(例えば、初期物体推定のコーナー/エッジと、2D/3Dコーナー/エッジ場所との間の距離)及び/又はエッジ評価を1つ又は複数の所定の閾値と比較することに基づいて評価することができる。いくつかの実施形態では、検出されたエッジ交点は、オフセット距離が閾値分離距離よりも大きいという判定に基づいて却下され得る。いくつかの実施形態では、検出可能なエッジは、エッジ評価が閾値レベルを下回っているとの判定に基づいて却下される。
方法800は、オフセット及び初期物体推定に基づいて物体検出結果を生成することを含み得る(ブロック828)。物体検出結果を生成することは、オフセットに基づいて初期物体推定を更新することを含み得る(ブロック824)。例えば、計算されたオフセットが閾値分離距離よりも大きい場合、初期物体推定は、オフセットを考慮して更新され得る。言い換えれば、ロボットシステム100は、計算されたオフセットの大きさに対応する距離だけ、移動の方向に沿って初期物体推定を移動することができる。いくつかの実施形態では、ロボットシステム100は、初期物体推定を調整して2D/3Dコーナー又はエッジと一致させることにより、計算されたオフセットに従って初期物体推定を移動することができる。他の実施形態では、ロボットシステム100は、計算されたオフセットの大きさのわずかな分だけ初期物体推定を移動することができる。
物体検出結果を生成することは、計算されたオフセットに基づいて初期物体推定を検証することを含み得る(ブロック826)。オフセットが閾値以下であり、初期物体推定が本質的に2D/3Dコーナー又はエッジと本質的に一致する場合、ロボットシステム100は、初期物体推定を検証することができる。いくつかの実施形態では、ロボットシステム100は、初期物体推定を2Dコーナー/エッジに従い、次いで、3Dコーナー/エッジに従って検証/更新することができる。例えば、ロボットシステム100は、最初に、その1つ又は複数のエッジ/コーナーを2D画像から別々に検出されたエッジ/コーナーの場所と比較することに基づいて、初期物体推定を検証することができる。ロボットシステム100は、それに応じて検証又は調整することができる。次いで、ロボットシステム100は、検証/調整された結果のエッジ/コーナーを、3D画像内のエッジ/コーナーの場所と同様に比較することができる。
ロボットシステム100は、生成された物体検出結果を使用して、検出された物体を操作することができる。例えば、ロボットシステム100は、物体検出結果を使用して、検出された物体の場所を位置決めすることができる。場所に応じて、ロボットシステム100は、物体を把持、持ち上げ、水平移動、下降、及び/又は解放するための動作計画(例えば、ロボットユニットを操作するためのコマンド及び/又は設定のセット)を導出し実装し得る。
いくつかの実施形態では、方法800は、物体エッジセットの正確度を示すエッジ評価を生成することを含み得る。エッジ評価は、初期物体推定の検証又は更新に利用してもよい。一実施例として、エッジ評価を生成することは、物体エッジセットに含まれる検出されたエッジの連続性、物体エッジセットに含まれる検出されたエッジの配向、物体エッジセットに含まれる検出されたエッジのそれぞれと所定の物体寸法推定情報に対応するエッジとの間の類似性、及び画像内の検出可能なエッジと三次元点群との間の重なりの何れかに基づき得る。別の実施例では、エッジ評価を生成することは、平行エッジセット内の検出された平行エッジペア間のアライメント、及び初期物体推定における検出された三次元コーナーに対する検出されたエッジ交差のアライメントに基づき得る。いくつかの実施形態では、ロボットシステム100は、エッジを検出するための1つ又は複数の画像の検査の一部として、エッジ評価を生成することができる。ロボットシステム100は、候補のエッジのそれぞれのエッジ評価をエッジ検証閾値と比較すること等によって、エッジ評価に従って検出されたエッジを検証し得る。ロボットシステム100は、検証された候補エッジを検出されたエッジとして使用し、エッジ検証閾値を満たさない検出されたエッジを破棄することができる。したがって、ロボットシステム100は、結果として得られる物体検出の正確度を更に向上させることができる。
検出された2D/3Dエッジ又はコーナーを使用した初期の特徴に基づいた物体推定の検証及び/又は更新は、物体処理の失敗の低減をもたらすことができる。検証及び更新は、コンピュータビジョン又は画像処理エラー、センサエラー、及び/又は物体の表面の欠陥を考慮することができるため、物体の検出/場所の正確度を向上させることができる。物体検出/場所の正確度が向上することにより、ロボットシステム100は、タスクのために物体を正確に操作することができるようになる。例えば、ロボットシステム100は、CoM又はその付近で物体を把持する可能性を向上させることができ、それにより、物体搬送中の重量不均衡によって引き起こされる衝突及び/又は把持失敗を低減することができる。
さらに、初期物体推定に関する分析範囲内のエッジを分析することは、処理効率の向上をもたらす。ロボットシステム100は、分析範囲内で導出及び分析することにより、分析される特徴の数量を制限することができる。言い換えれば、ロボットシステム100は、2D/3D画像全体を処理する代わりに、2D/3D画像の一部を分析して、エッジの検出、クラスタの導出、物体のエッジセットの識別等をすることができる。したがって、ロボットシステム100は、処理時間及び/又はリソースを削減して、物体推定を検証及び/又は更新することができる。
さらに、エッジの検出、エッジクラスタの導出、平行エッジセットの検出、物体エッジセットの識別(例えば、エッジに基づいた物体検出)は、物体を検出するための正確で効率的な方法を提供する。例えば、ロボットシステム100は、エッジペアリングのみに基づいて検出することから生じ得る誤検出(例えば、分離された物体の平行なエッジによって囲まれた空のスペースを物体として検出する)を除去又は低減することができる。さらに、3D検証構成要素により、ロボットシステム100は、誤検出を更に除去又は低減することができる。また、クラスタを導出し、その中でペアを検出し、次いで、互いに接続されているエッジのセットを識別することにより、ロボットシステム100は、各エッジについて複数の異なるシナリオをテストすることなく、エッジに基づいた物体検出を効率的に実行することができるようになる。
例示的な処理システム
図9は、本明細書で説明される少なくともいくつかの動作を実装できる処理システム900の実施例を示すブロック図である。図9に示すように、処理システム900は、1つ又は複数の中央処理装置(「プロセッサ」)902、メインメモリ906、不揮発性メモリ910、ネットワークアダプタ912(例えば、ネットワークインターフェイス)、ビデオディスプレイ918、入力/出力デバイス920、制御デバイス922(例えば、キーボード及びポインティングデバイス)、記憶媒体926を含むドライブユニット924、及びバス916に通信可能に接続されている信号生成デバイス930を含み得る。バス916は、適切なブリッジ、アダプタ、又はコントローラによって接続された任意の1つ又は複数の別個の物理バス、ポイントツーポイント接続、又はその両方を表す抽象概念として示されている。したがって、バス916は、例えば、システムバス、ペリフェラルコンポーネントインターコネクト(PCI)バス又はPCI−Expressバス、ハイパートランスポート又は業界標準アーキテクチャ(ISA)バス、小型コンピュータシステムインターフェイス(SCSI)バス、ユニバーサルシリアルバス(USB)、IIC(I2C)バス、又はIEEE(Institute of Electrical and Electronics Engineers)標準1394バス(「ファイアワイア」とも呼ばれる)を含むことができる。
様々な実施形態では、処理システム900は、ユーザデバイスの一部として動作するが、処理システム900はまた、(例えば、有線又は無線で)ユーザデバイスに接続され得る。ネットワーク配備では、処理システム900は、クライアント−サーバネットワーク環境におけるサーバ又はクライアントマシンの能力で動作し得るか、又はピアツーピア(又は分散)ネットワーク環境におけるピアマシンとして動作し得る。
処理システム900は、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ、タブレット、ラップトップコンピュータ、パーソナルデジタルアシスタント(PDA)、携帯電話、プロセッサ、ウェブアプライアンス、ネットワークルータ、スイッチ又はブリッジ、コンソール、ハンドヘルドコンソール、ゲームデバイス、音楽プレーヤ、ネットワーク接続(「スマート」)テレビ、テレビ接続デバイス、又は、処理システム900によって実行される動作を指定する一連の命令を(順次又はその他の方法で)実行することが可能な任意のポータブルデバイス又はマシンであり得る。
メインメモリ906、不揮発性メモリ910、及び記憶媒体926(「機械可読媒体」とも呼ばれる)は、単一の媒体であるように示されているが、「機械可読媒体」及び「記憶媒体」という用語は、1つ又は複数の命令928のセットを格納する単一の媒体又は複数の媒体(例えば、集中型又は分散型データベース、及び/又は関連するキャッシュ及びサーバ)を含むものと解釈されるべきである。「機械可読媒体」及び「記憶媒体」という用語はまた、コンピューティングシステムによる実行のための一連の命令を格納、符号化、又は搬送することが可能であり、コンピューティングシステムに現在開示されている実施形態の1つ又は複数の方法論を実行させる任意の媒体を含むものと解釈される。
一般に、本開示の実施形態を実装するために実行されるルーチンは、オペレーティングシステムの一部として、又は「コンピュータプログラム」と呼ばれる特定のアプリケーション、構成要素、プログラム、物体、モジュール、又は一連の命令の一部として実装され得る。コンピュータプログラムは、典型的には、コンピュータ内の様々なメモリ及び記憶デバイス内の様々な時間で設定された1つ又は複数の命令(例えば、命令904、908、928)を含み、1つ又は複数の処理ユニット又はプロセッサ902によって読み取られ実行されると、処理システム900に、本開示の様々な態様を含む要素を実行する操作を実行させる。
さらに、実施形態は、完全に機能するコンピュータ及びコンピュータシステムの文脈で説明されてきたが、当業者は、様々な実施形態が様々な形態でプログラム製品として配布可能であり、本開示が実際に配布を行うために使用される特定のタイプの機械又はコンピュータ可読媒体に関係なく等しく適用されることを理解するであろう。例えば、本明細書に記載される技術は、仮想マシン又はクラウドコンピューティングサービスを使用して実装することができる。
機械可読記憶媒体、機械可読媒体、又はコンピュータ可読(記憶)媒体のさらなる実施例は、限定されないが、揮発性及び不揮発性メモリデバイス910、フロッピーディスク及び他のリムーバブルディスク、ハードディスクドライブ、光ディスク(例えば、コンパクトディスク読み取り専用メモリ(CD ROM)、デジタル多用途ディスク(DVD)等の記録可能なタイプの媒体、ならびにデジタル及びアナログ通信リンク等の伝送タイプの媒体を含む。
ネットワークアダプタ912は、処理システム900が、処理システム900及び外部エンティティによってサポートされる任意の既知の及び/又は便利な通信プロトコルを介して、処理システム900の外部にあるエンティティとネットワーク914内のデータを仲介することを可能にする。ネットワークアダプタ912は、ネットワークアダプタカード、無線ネットワークインターフェイスカード、ルータ、アクセスポイント、無線ルータ、スイッチ、マルチレイヤスイッチ、プロトコルコンバータ、ゲートウェイ、ブリッジ、ブリッジルータ、ハブ、デジタルメディアレシーバ、及び/又はリピータの1つ又は複数を含むことができる。
ネットワークアダプタ912は、いくつかの実施形態では、コンピュータネットワーク内のデータへのアクセス/プロキシの許可を制御及び/又は管理し、異なるマシン及び/又はアプリケーション間の様々なレベルの信頼を追跡することができるファイアウォールを含むことができる。ファイアウォールは、例えば、特定のマシンとアプリケーションのセット、マシンとマシン、及び/又はアプリケーションとアプリケーションとの間でアクセス権の所定のセットを実施できるハードウェア及び/又はソフトウェア構成要素の任意の組み合わせを有する任意の数のモジュールとすることができ、これらの様々なエンティティ間のトラフィック及びリソース共有の流れ制御することができる。ファイアウォールは、さらに、例えば、個人、マシン、及び/又はアプリケーションによる物体のアクセス権及び操作権、ならびに許可権が存在する状況を含む許可を詳細に記述したアクセス制御リストを管理、及び/又はアクセス制御リストにアクセスしてもよい。
上述したように、本明細書で紹介される技術は、例えば、ソフトウェア及び/又はファームウェアでプログラムされたプログラム可能な回路(例えば、1つ又は複数のマイクロプロセッサ)、完全に専用のハードワイヤード(すなわち、プログラム不可能な)回路で、又はそれらの組み合わせ、もしくはそのような形態で実装される。専用回路は、例えば、1つ又は複数の特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)等の形態にすることができる。
上記のことから、本発明の特定の実施形態が例示の目的で本明細書に記載されているが、本発明の範囲から逸脱することなく様々な修正が行われ得ることが理解されるであろう。したがって、本発明は、添付の特許請求の範囲によるものを除き、限定されない。

Claims (20)

  1. ロボットシステムを操作するための方法であって、
    環境を表す二次元(2D)画像及び三次元(3D)画像を取得することと、
    前記2D画像内に描写された1つ又は複数の視覚的特徴に基づいて、前記環境内に位置する物体の推定される識別及び/又は場所を表す初期物体推定を生成することと、
    前記2D画像の分析に基づいて、エッジを検出することと、
    前記検出されたエッジの少なくとも2つのグループ化を含むエッジクラスタを導出することと、
    前記エッジクラスタに基づいて、平行配向を有する検出されたエッジのペアを含む平行エッジセットを検出することと、
    第2の平行ペアの少なくとも1つのエッジと交差する第1の平行ペアの少なくとも1つのエッジを有する検出されたエッジの前記第1の平行ペア及び前記第2の平行ペアを含む物体エッジセットを識別することと、
    前記物体エッジセットを前記3D画像の領域に投影することと、
    前記投影された物体エッジセットに基づいて、前記投影された物体エッジセットに対応する前記3D画像のコーナーの場所又は3Dエッジの場所を表す3D特徴場所を識別することと、
    前記3D特徴場所と前記初期物体推定の対応する場所との間のオフセットを計算することと、
    前記初期物体推定及び前記オフセットに基づいて、物体検出結果を生成することと、
    を含む方法。
  2. 前記検出されたエッジのエッジ配向を決定することを更に含み、
    前記エッジクラスタを導出することが、前記検出されたエッジをエッジ配向に従ってグループ化することを含み、
    前記各グループ化が、一致するエッジ配向を有する、又は互いに角度閾値内の前記エッジ配向を有する前記検出されたエッジの平行インスタンスを含む、
    請求項1に記載の方法。
  3. 前記検出されたエッジをグループ化することが、
    前記検出された各エッジのベクトルを計算することと、
    第1の検出されたエッジを表す第1のベクトル、及び、第2の検出されたエッジを表す第2のベクトルの内積の角度を計算することと、
    前記内積の前記角度を角度閾値と比較することと、
    前記内積の前記角度が前記角度閾値未満である場合に、前記第1の検出されたエッジ及び前記第2の検出されたエッジをグループ化することと、を含む、
    請求項2に記載の方法。
  4. 前記エッジクラスタを導出することが、
    前記2D画像内の分析部分を決定することと、
    前記分析部分内にある前記検出されたエッジを識別することと、を含む、
    請求項1に記載の方法。
  5. 前記分析部分が、前記初期物体推定の少なくとも一部を含む、
    請求項4に記載の方法。
  6. 前記初期物体推定を生成することが、
    前記1つ又は複数の視覚的特徴を含む前記2D画像の少なくとも一部を、登録された物体の表面の表現を含むマスタデータと比較することと、
    前記2D画像の前記1つ又は複数の視覚的特徴が前記マスタデータ内の前記画像の1つと一致するときに、前記一致する画像に関連付けられた登録された物体を表す推定される識別を決定することと、
    前記1つ又は複数の視覚的特徴及び前記マスタデータ内の前記一致する画像に基づいて推定される物体の場所を決定することと、を含む、
    請求項4に記載の方法。
  7. 前記平行エッジセットを検出することが、
    各前記エッジクラスタ内の前記検出されたエッジの各ペア間の検出可能なエッジ距離を計算することと、
    結果として得られる検出可能なエッジ距離を、前記初期物体推定に関連付けられて登録された物体を表すマスタデータ内の寸法と比較することと、
    前記マスタデータ内の前記寸法の1つと一致する前記検出可能なエッジ距離に対応する、平行エッジセットのエッジのペアを選択することと、を含む、
    請求項1に記載の方法。
  8. 検出された各エッジのエッジ評価を生成することを更に含み、
    前記物体エッジセット内の前記検出されたエッジが、エッジ検出閾値を超える前記エッジ評価を有する、
    請求項1に記載の方法。
  9. 前記エッジ評価を生成することが、(1)前記エッジ評価によって表されるエッジの連続性の尺度、(2)前記表されるエッジの配向、(3)前記表されるエッジと前記物体エッジセット内の他のエッジとの間の類似性、(4)前記表されるエッジと前記3D画像内で表される前記3Dエッジとの間の重なりの尺度の何れかに基づいて前記エッジ評価を計算することを含む、
    請求項8に記載の方法。
  10. 前記エッジ評価を生成することが、前記検出された平行エッジペアの間のアラインメント、並びに、前記3D画像内の検出されたコーナー及び3Dコーナーのアラインメントに基づいて前記エッジ評価を計算することを含む、
    請求項8に記載の方法。
  11. 前記エッジを検出することが、前記エッジ検出閾値を下回る前記エッジ評価を有する検出可能なエッジを却下することを含む、
    請求項8に記載の方法。
  12. 前記物体検出結果を生成することが、前記オフセットが閾値分離距離を超えたときに前記初期物体推定を更新することを含む、
    請求項1に記載の方法。
  13. 前記初期物体推定を更新することが、前記オフセットに従って前記初期物体推定の推定される物体の場所を移動することを含む、
    請求項12に記載の方法。
  14. 前記物体検出結果を生成することが、前記オフセットが閾値分離距離未満である場合に、前記初期物体推定を検証することを含む、
    請求項1に記載の方法。
  15. プロセッサによって実行されるときに前記プロセッサに方法を実行させる命令が格納された有形の非一時的コンピュータ可読媒体であって、前記方法が、
    環境を表す画像を取得することと、
    初期物体推定が、前記環境内に位置する物体の推定される識別及び/又は推定される場所を表す、前記画像に基づいて前記初期物体推定を生成することと、
    前記画像内のエッジを検出することと、
    前記初期物体推定に対応する前記検出されたエッジの1つ又は複数のセットを検出することと、
    前記検出されたエッジの前記セットを、前記環境を表す3D空間に投影することに基づいて、前記検出されたエッジの前記1つ又は複数のセット内のエッジ又はその一部の三次元(3D)場所を識別することと、
    前記初期物体推定及び前記3D場所に基づいて物体検出結果を生成することと、を含む、
    有形の非一時的コンピュータ可読媒体。
  16. 前記方法が、
    検出された各エッジのエッジ配向を決定することと、
    平行なエッジ配向を有する少なくとも2つの前記検出されたエッジを含む、1つ又は複数のエッジクラスタを導出するために、前記検出されたエッジを前記エッジ配向に従ってグループ化することと、を更に含み、
    前記検出されたエッジの1つ又は複数のセットのそれぞれを検出することが、適格条件に従って、前記エッジクラスタの1つの中で検出されたエッジのセットを選択することを含む、
    請求項15に記載の有形の非一時的コンピュータ可読媒体。
  17. 前記方法が、前記初期物体推定に従って前記2D画像内の分析部分を決定することを更に含み、
    前記検出されたエッジの前記1つ又は複数のセットを検出することが、前記分析部分の外側の前記2D画像の部分を無視しながら、前記分析部分内の前記検出されたエッジを分析することを含む、
    請求項15に記載の有形の非一時的コンピュータ可読媒体。
  18. 前記画像を取得することが、前記環境の二次元(2D)表現及び3D表現を取得することを含み、
    前記エッジを検出することが、前記2D表現内に描写された前記エッジを検出することを含み、
    前記物体検出結果が、前記2D表現及び前記3D表現内の対応する特徴間のオフセットに基づいて生成され、
    前記方法が、
    前記検出されたエッジの前記1つ又は複数のセット内の前記エッジ又はその前記一部に対応する3Dエッジ若しくはその一部を識別することと、
    前記2D表現から導出された前記3D場所と前記3D表現内に描写された前記3Dエッジの場所との間の前記オフセットを計算することと、を更に含む、
    請求項15に記載の有形の非一時的コンピュータ可読媒体。
  19. 前記物体検出結果を生成することが、前記オフセットが閾値分離距離を超えたときに、前記オフセットに従って前記推定される場所を移動することを含む、
    請求項18に記載の有形の非一時的なコンピュータ可読媒体。
  20. 二次元(2D)撮像センサと1つ又は複数のロボットユニットとの間でコンピュータ可読データを交換するように構成される通信回路と、
    前記通信回路に結合された少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサに結合され、前記プロセッサに、
    2D画像が環境を表す、前記2D画像を前記2D画像センサから取得させ、
    前記環境内に位置する物体の推定される識別及び/又は場所を表す前記2D画像に基づいて初期物体推定を生成させ、
    前記2D画像内のエッジを検出させ、
    平行なエッジ配向を有し、前記初期物体推定に対応する検出されたエッジの1つ又は複数のペアリングを検出させ、
    検出されたエッジの前記1つ又は複数のエッジペアリングを3D空間に投影することによって三次元(3D)場所を識別させ、
    前記初期物体推定の前記3D場所とコーナー場所との間のオフセットを計算させ、
    前記初期物体推定及び前記オフセットに基づいて前記物体の場所を含む物体検出結果を生成させ、
    前記環境内に位置する前記物体を操作するために前記1つ又は複数のロボットユニットを操作するための前記物体検出結果に従って計画を導出及び実装させる、命令が格納された、少なくとも1つのメモリと、を含む、
    ロボットシステム。
JP2020132160A 2019-07-26 2020-08-04 エッジ及び多次元コーナーに基づく検出後の精緻化 Pending JP2021022383A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962879359P 2019-07-26 2019-07-26
US62/879,359 2019-07-26
US16/824,680 US11389965B2 (en) 2019-07-26 2020-03-19 Post-detection refinement based on edges and multi-dimensional corners
US16/824,680 2020-03-19

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020077289A Division JP6749034B1 (ja) 2019-07-26 2020-04-24 エッジ及び多次元コーナーに基づく検出後の精緻化

Publications (2)

Publication Number Publication Date
JP2021022383A true JP2021022383A (ja) 2021-02-18
JP2021022383A5 JP2021022383A5 (ja) 2023-07-05

Family

ID=72276712

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020077289A Active JP6749034B1 (ja) 2019-07-26 2020-04-24 エッジ及び多次元コーナーに基づく検出後の精緻化
JP2020132160A Pending JP2021022383A (ja) 2019-07-26 2020-08-04 エッジ及び多次元コーナーに基づく検出後の精緻化

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020077289A Active JP6749034B1 (ja) 2019-07-26 2020-04-24 エッジ及び多次元コーナーに基づく検出後の精緻化

Country Status (4)

Country Link
US (3) US11389965B2 (ja)
JP (2) JP6749034B1 (ja)
CN (1) CN112307870A (ja)
DE (1) DE102020111139A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4044333A1 (en) 2021-02-16 2022-08-17 Prime Planet Energy & Solutions, Inc. Battery
JP2022177833A (ja) * 2021-05-18 2022-12-01 株式会社Mujin 物体サイズ検出のためのロボットシステム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9227323B1 (en) * 2013-03-15 2016-01-05 Google Inc. Methods and systems for recognizing machine-readable information on three-dimensional objects
US11389965B2 (en) * 2019-07-26 2022-07-19 Mujin, Inc. Post-detection refinement based on edges and multi-dimensional corners
JP7314871B2 (ja) * 2020-07-09 2023-07-26 新東工業株式会社 強度計測装置及び強度計測方法
CN112935703B (zh) * 2021-03-19 2022-09-27 山东大学 识别动态托盘终端的移动机器人位姿校正方法及系统
DE102021202340A1 (de) 2021-03-10 2022-09-15 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum steuern eines roboters zum aufnehmen und inspizieren eines objekts und robotersteuereinrichtung
CN115375912A (zh) 2021-05-04 2022-11-22 牧今科技 用于执行物体检测的方法和计算系统
US20230027984A1 (en) 2021-07-21 2023-01-26 Mujin, Inc. Robotic system with depth-based processing mechanism and methods for operating the same
US20230191608A1 (en) * 2021-12-22 2023-06-22 AMP Robotics Corporation Using machine learning to recognize variant objects

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3525896B2 (ja) 1999-03-19 2004-05-10 松下電工株式会社 3次元物体認識方法および同方法を使用したビンピッキングシステム
US7065242B2 (en) 2000-03-28 2006-06-20 Viewpoint Corporation System and method of three-dimensional image capture and modeling
JP3482938B2 (ja) 2000-05-02 2004-01-06 株式会社ダイフク 物品位置認識装置
JP3849514B2 (ja) 2001-12-10 2006-11-22 株式会社ダイフク 物品位置認識装置
US7522163B2 (en) * 2004-08-28 2009-04-21 David Holmes Method and apparatus for determining offsets of a part from a digital image
US20090091566A1 (en) * 2007-10-05 2009-04-09 Turney Stephen G System and methods for thick specimen imaging using a microscope based tissue sectioning device
CN102128589B (zh) 2010-01-20 2013-03-13 中国科学院自动化研究所 一种在轴孔装配中零件内孔方位误差的校正方法
JP5746477B2 (ja) * 2010-02-26 2015-07-08 キヤノン株式会社 モデル生成装置、3次元計測装置、それらの制御方法及びプログラム
CN101907459B (zh) 2010-07-12 2012-01-04 清华大学 基于单目视频的实时三维刚体目标姿态估计与测距方法
JP5820366B2 (ja) 2010-10-08 2015-11-24 パナソニック株式会社 姿勢推定装置及び姿勢推定方法
JP5839929B2 (ja) 2010-11-19 2016-01-06 キヤノン株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
CN102890823B (zh) 2011-07-19 2016-04-27 株式会社东芝 运动对象轮廓提取及左心室图像分割方法和装置
JP2013101045A (ja) 2011-11-08 2013-05-23 Fanuc Ltd 物品の3次元位置姿勢の認識装置及び認識方法
US9030470B2 (en) 2012-08-14 2015-05-12 Hong Kong Applied Science and Technology Research Institute Company Limited Method and system for rapid three-dimensional shape measurement
US9227323B1 (en) * 2013-03-15 2016-01-05 Google Inc. Methods and systems for recognizing machine-readable information on three-dimensional objects
US9424461B1 (en) * 2013-06-27 2016-08-23 Amazon Technologies, Inc. Object recognition for three-dimensional bodies
CN104424475B (zh) 2013-09-10 2018-05-01 阿里巴巴集团控股有限公司 图像中的条纹区域的识别方法及装置
US9233469B2 (en) 2014-02-13 2016-01-12 GM Global Technology Operations LLC Robotic system with 3D box location functionality
US9476730B2 (en) * 2014-03-18 2016-10-25 Sri International Real-time system for multi-modal 3D geospatial mapping, object recognition, scene annotation and analytics
CN104075659B (zh) 2014-06-24 2016-08-17 华南理工大学 一种基于rgb结构光源的三维成像识别方法
US9734401B2 (en) * 2014-08-08 2017-08-15 Roboticvisiontech, Inc. Detection and tracking of item features
JP6075888B2 (ja) * 2014-10-16 2017-02-08 キヤノン株式会社 画像処理方法、ロボットの制御方法
JP6573354B2 (ja) 2014-11-28 2019-09-11 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
CN104841593B (zh) 2015-05-29 2017-04-19 希美埃(芜湖)机器人技术有限公司 一种机器人自动喷涂系统的控制方法
CN105654465B (zh) 2015-12-21 2018-06-26 宁波大学 一种采用视差补偿视点间滤波的立体图像质量评价方法
EP3408848A4 (en) * 2016-01-29 2019-08-28 Pointivo Inc. SYSTEMS AND METHOD FOR EXTRACTING INFORMATION ON OBJECTS FROM SCENE INFORMATION
CN106056598A (zh) 2016-05-27 2016-10-26 哈尔滨工业大学 基于线段检测和图像分割融合的卫星高分图像建筑物轮廓提取方法
CN107729893B (zh) 2017-10-12 2020-06-30 清华大学 一种合模机的视觉定位方法、系统和存储介质
EP3474230B1 (en) 2017-10-18 2020-07-22 Tata Consultancy Services Limited Systems and methods for edge points based monocular visual slam
US11504853B2 (en) * 2017-11-16 2022-11-22 General Electric Company Robotic system architecture and control processes
CN108920996A (zh) 2018-04-10 2018-11-30 泰州职业技术学院 一种基于机器人视觉的小目标检测方法
CN108724190A (zh) 2018-06-27 2018-11-02 西安交通大学 一种工业机器人数字孪生系统仿真方法及装置
JP7031540B2 (ja) * 2018-09-07 2022-03-08 オムロン株式会社 対象物認識装置、マニピュレータ、および移動ロボット
US10369701B1 (en) * 2018-10-30 2019-08-06 Mujin, Inc. Automated package registration systems, devices, and methods
DE112019000125B4 (de) * 2018-10-30 2021-07-01 Mujin, Inc. Systeme, vorrichtungen und verfahren zur automatisierten verpackungsregistrierung
CN109559324B (zh) 2018-11-22 2020-06-05 北京理工大学 一种线阵图像中的目标轮廓检测方法
US11023763B2 (en) * 2019-03-19 2021-06-01 Boston Dynamics, Inc. Detecting boxes
CN110243308A (zh) 2019-05-31 2019-09-17 湖北大学 基于区域定位的实时相位测量轮廓术
US11389965B2 (en) * 2019-07-26 2022-07-19 Mujin, Inc. Post-detection refinement based on edges and multi-dimensional corners

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4044333A1 (en) 2021-02-16 2022-08-17 Prime Planet Energy & Solutions, Inc. Battery
JP2022177833A (ja) * 2021-05-18 2022-12-01 株式会社Mujin 物体サイズ検出のためのロボットシステム
JP7189586B2 (ja) 2021-05-18 2022-12-14 株式会社Mujin 物体サイズ検出のためのロボットシステム

Also Published As

Publication number Publication date
DE102020111139A1 (de) 2021-01-28
US11389965B2 (en) 2022-07-19
JP6749034B1 (ja) 2020-09-02
US11850760B2 (en) 2023-12-26
US20240157566A1 (en) 2024-05-16
US20210023717A1 (en) 2021-01-28
JP2021022364A (ja) 2021-02-18
US20220297305A1 (en) 2022-09-22
CN112307870A (zh) 2021-02-02

Similar Documents

Publication Publication Date Title
JP6749034B1 (ja) エッジ及び多次元コーナーに基づく検出後の精緻化
JP6820044B1 (ja) 自動パッケージ登録機構および最小実行可能領域検出を備えたロボットシステム
CN110116406B (zh) 具有增强的扫描机制的机器人系统
JP6782046B1 (ja) 画像データに基づく物体検出システム及び方法
CN111783529B (zh) 基于边缘和多维拐角的检测后改善
JP7398662B2 (ja) ロボット多面グリッパアセンブリ及びその操作方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230419

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240301

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240430