JP2022135879A - 物体検出のために安全ボリュームリストを生成するための方法および計算システム - Google Patents

物体検出のために安全ボリュームリストを生成するための方法および計算システム Download PDF

Info

Publication number
JP2022135879A
JP2022135879A JP2021144121A JP2021144121A JP2022135879A JP 2022135879 A JP2022135879 A JP 2022135879A JP 2021144121 A JP2021144121 A JP 2021144121A JP 2021144121 A JP2021144121 A JP 2021144121A JP 2022135879 A JP2022135879 A JP 2022135879A
Authority
JP
Japan
Prior art keywords
object recognition
matching
template
image
image information
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
JP2021144121A
Other languages
English (en)
Other versions
JP2022135879A5 (ja
Inventor
ロドリゲス,ホセ ジェロニモ モレイラ
Jeronimo Moreira Rodrigues Jose
ニコラエフ デアンコウ,ロセン
Nikolaev Diankov Rosen
ユ,ジンゼ
Jinze Yu
アブエラ,アメッド
Abouelela Ahmed
良樹 金本
Yoshiki Kanemoto
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 JP2022135879A publication Critical patent/JP2022135879A/ja
Publication of JP2022135879A5 publication Critical patent/JP2022135879A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • 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
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4183Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/245Aligning, centring, orientation detection or correction of the image by locating a pattern; Special marks for positioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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/54Extraction of image or video features relating to texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • 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
    • 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/31From computer integrated manufacturing till monitoring
    • G05B2219/31304Identification of workpiece and data for control, inspection, safety, calibration
    • 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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

【課題】物体検出のために安全ボリュームリストを生成する計算システム及び方法を提供する。【解決手段】方法は、物体を表す画像情報を受信することと、1つ以上の検出仮説のセットに関連付けられた1つ以上の合致する物体認識テンプレートのセットを識別することと、合致する物体認識テンプレートに関連付けられた一次検出仮説を選択することと、合致する物体認識テンプレートに基づいて、一次候補領域を生成することと、1つ以上の合致する物体認識テンプレートのセットが、1つ以上の残りの合致するテンプレートのサブセットを有するかどうか、又は画像情報が合致しない領域を表す一部分を有するかどうか、のうちの少なくとも1つを決定することと、合致しない領域又は1つ以上の残りの合致するテンプレートのサブセットに基づいて生成される、1つ以上の追加の候補領域を記述する、安全ボリュームリストを生成することと、を含む。【選択図】図4

Description

本開示は、物体検出のために安全ボリュームリストを生成するための計算システムおよび方法に関する。
自動化がより一般的になるに従い、倉庫保管および小売環境など、より多くの環境においてロボットが使用されている。例えば、ロボットは、倉庫の中にある物体と相互作用するように使用されうる。ロボットの動作は、固定されてもよく、または倉庫の中のセンサによって生成された情報などの、入力に基づいてもよい。
本開示の一態様は、計算システムによって実施される方法に関する。計算システムは、通信インターフェースおよび少なくとも1つの処理回路を含みうる。一部の実例では、方法は、少なくとも1つの処理回路が、非一時的コンピュータ可読媒体上で命令を実行するときに行われてもよい。通信インターフェースは、ロボット、およびカメラ視野を有するカメラと通信するように構成されてもよい。少なくとも1つの処理回路は、物体がカメラ視野の中にある、またはあったときに、物体を表す画像情報を受信することであって、画像情報が、カメラによって生成されることと、1つ以上の合致する物体認識テンプレートのセットを識別することであって、1つ以上の合致する物体認識テンプレートが、画像情報と比較されるときに、所定のテンプレート合致条件を満たす1つ以上の物体認識テンプレートであり、1つ以上の合致する物体認識テンプレートのセットが、1つ以上の検出仮説のセットに関連付けられていて、1つ以上の検出仮説のセットが、どの物体または物体タイプが画像情報によって表されるかの1つ以上のそれぞれの推定であることと、1つ以上の検出仮説のセットの中から検出仮説を、一次検出仮説として、選択することであって、一次検出仮説が、1つ以上の合致する物体認識テンプレートのセットの合致する物体認識テンプレートに関連付けられており、一次検出仮説として選択された検出仮説が、1つ以上のそれぞれの信頼値のセットの中で最も高い信頼値を有しており、1つ以上のそれぞれの信頼値のセットが、1つ以上の検出仮説のセットに関連付けられていると共に、1つ以上の検出仮説のセットに関連付けられた1つ以上の合致する物体認識テンプレートのセットに画像情報が合致するそれぞれの度合いを示すことと、一次候補領域として、物体の物体境界位置を推定する、またはカメラ視野内のどの位置が物体によって占有されているかを推定する候補領域を、一次検出仮説に関連付けられた合致する物体認識テンプレートに基づいて生成することと、(i)1つ以上の合致する物体認識テンプレートのセットが、画像情報と比較されるときに、所定のテンプレート合致条件をさらに満たす、1つ以上の残りの合致する物体認識テンプレートのサブセットを、一次検出仮説に関連付けられた合致する物体認識テンプレートに加えて、有しているかどうか、または(ii)画像情報が、一次候補領域に隣接し、かつ所定のテンプレート合致条件を満たすことができない、合致しない領域を表す部分を有しているかどうか、のうちの少なくとも1つを決定することと、1つ以上の残りの合致する物体認識テンプレートのサブセットが存在するという決定、または画像情報が合致しない領域を表す部分を有しているという決定に応答して、安全ボリュームリストを生成することであって、安全ボリュームリストは、(i)合致しない領域、または(ii)物体の物体境界位置をさらに推定する、もしくはどの位置が物体によって占有されているかを推定する1つ以上の追加の候補領域、のうちの少なくとも1つを記述するリストであり、1つ以上の追加の候補領域が、1つ以上の残りの合致する物体認識テンプレートのサブセットに基づいて生成されることと、一次候補領域に基づいてかつ安全ボリュームリストに基づいて、ロボットと物体との間のロボット相互作用のための運動計画を実施することと、によって方法を実施するように構成されうる。
本明細書の実施形態と合致する、物体検出を行うためのシステムを示している。 本明細書の実施形態と合致する、物体検出を行うためのシステムを示している。 本明細書の実施形態と合致する、物体検出を行うためのシステムを示している。 本明細書の実施形態と合致する、物体検出を行うためのシステムを示している。 本明細書の実施形態と合致する、物体検出を行うために構成される、計算システムを示すブロック図を提供する。 本明細書の実施形態と合致する、物体検出を行うために構成される計算システムを示すブロック図を提供する。 本明細書の実施形態と合致する、物体検出を行うために構成される計算システムを示すブロック図を提供する。 本明細書の実施形態と合致する、物体検出を行うために構成される計算システムを示すブロック図を提供する。 本明細書の実施形態による、物体検出が行われうる環境を示している。 本明細書の実施形態による、物体検出が行われうる環境を示している。 本明細書の実施形態による、安全ボリュームリストを生成する方法を示す流れ図を提供する。 本明細書の実施形態による、安全ボリュームリストが生成されうる例示の画像情報を示している。 本明細書の実施形態による、安全ボリュームリストが生成されうる例示の画像情報を示している。 図6A~図6Jは、本明細書の実施形態による、物体検出を実施する、安全ボリュームリストを生成する、または安全ボリュームリストに基づいて、境界領域を生成する、様々な態様を示している。 図7A~図7Gは、本明細書の実施形態による、物体検出を実施する、安全ボリュームリストを生成する、または安全ボリュームリストに基づいて、境界領域を生成する、様々な態様を示している。 図8A~図8Gは、本明細書の実施形態と合致する、物体認識テンプレートを画像情報に整列させる様々な方法を表す、安全ボリュームリストを生成する様々な態様を示している。 図9A~図9Fは、本明細書の実施形態と合致する、物体認識テンプレートによって記述される物体形状に対する異なる配向を表す、安全ボリュームリストを生成する様々な態様を示している。 図10A~図10Hは、本明細書の実施形態による、物体検出を行うための画像領域を識別する様々な態様を示している。 図11A~図11Eは、本明細書の実施形態による、画像情報が合致しない画像部分を有する場合に、物体検出を行う様々な態様を示している。 図12A~図12Hは、本明細書の実施形態による、画像情報が合致しない画像部分を有する場合に、物体認識を行う様々な態様を示している。 本明細書の実施形態による、所定の最大物体高さを有する候補領域に基づく、物体検出または運動計画作成の実施を示している。 本明細書の実施形態による、所定の最大物体高さを有する候補領域に基づく、物体検出または運動計画作成の実施を示している。
本開示の一態様は、カメラによって生成された画像情報を処理して、画像情報によって表される物体または物体タイプを検出することを伴いうる、物体検出の実施に関する。物体検出は、例えば、ロボットが物体(例えば、箱)をパレットから目的位置へ移動させるパレットから降ろす操作などの、物体とのロボット相互作用を促進するために実施されうる。本開示のいくつかの実施形態は、ロボット相互作用を計画作成する際に使用するための一次検出仮説を識別すること(一次検出仮説は、画像情報によって表される物体または物体タイプの1つの仮説、推測、または推定であってもよい)だけでなく、ロボット相互作用を計画作成する際に使用するための1つ以上の追加の検出仮説をさらに識別することに関する。一次検出仮説は、ロボット相互作用を計画作成するための有用な情報を提供しうるが、1つ以上の追加の検出仮説は、ロボット相互作用を計画作成するのにも有用でありうる、追加の情報を提供しうる。1つ以上の追加の検出仮説によって提供される追加の情報は、例えば、物体検出およびロボット相互作用の計画作成をより堅牢にし、可能性のある誤差源に対する感受性を低下させうる。
実施形態では、1つ以上の追加の検出仮説を使用して、安全ボリュームリストを生成してもよい。一部の実装形態では、安全ボリュームリストは、1つ以上の追加の検出仮説を識別するリストであってもよい。一部の実装形態では、安全ボリュームリストは、1つ以上の追加の検出仮説に関連付けられた1つ以上の候補領域を識別するリストであってもよい。候補領域は、例えば、物体が位置する空間の領域の推定値であってもよい。一部の実例では、ロボット相互作用の計画作成は、一次検出仮説に関連付けられた一次候補領域に基づいてもよく、1つ以上の追加の検出仮説に関連付けられた1つ以上の候補領域などの、安全ボリュームリスト内の情報にさらに基づいてもよい。
一部の実例では、一次検出仮説および1つ以上の追加の検出仮説は、様々な物体認識テンプレートに関連付けられうる。一部の状況では、安全ボリュームリストは、複数の物体認識テンプレートが、カメラによって生成された画像情報に十分に合致するときに生成されうる。こうした状況では、一次検出仮説は、合致する物体認識テンプレート(例えば、最も高い信頼値をもたらす物体認識テンプレート)のうちの1つに関連付けられてもよく、一方で、安全ボリュームリストは、残りの合致する物体認識テンプレートに関連付けられた検出仮説に基づいて生成されてもよい。実施形態では、安全ボリュームリストは、信頼値における一次検出仮説と十分に類似している、および/または十分に高い信頼値を有する、検出仮説を含みうる。一部の実例では、安全ボリュームは、こうした検出仮説に関連付けられた候補領域を含みうる。安全ボリュームリストは、一実施形態では、あまりにも低い、または一次検出仮説の信頼値とあまりにも異なる信頼値を有する検出仮説を除外してもよい。一部の実装形態では、特定の候補領域が、一次検出仮説に関連付けられた一次候補領域との充分な重複を有するかどうかについての決定がなされうる。十分な重複がある場合、その特定の候補領域が、安全ボリュームリストに含まれうる。
実施形態では、安全ボリュームの生成は、画像(例えば、テクスチャなし2D画像)内の異なる画像領域を識別すること、および異なる画像領域を物体認識テンプレートと比較することを伴いうる。異なる領域を識別することは、例えば、画像コーナーまたは画像エッジのセットの間に位置する第1の画像領域を検出すること、および画像を検索して、画像が、第1の画像領域を超えて延在し、かつ画像コーナーまたは画像エッジの別のセットの間に位置する第2の画像領域を記述しているかどうかを決定することを伴いうる。第2の画像領域はまた、様々な物体認識テンプレートと比較されて、テンプレートのうちの1つに合致するかどうかを決定されうる。
実施形態では、安全ボリュームリストは、既存の物体認識テンプレートと合致しない画像部分によって表される領域でありうる、合致しない領域を含んでもよい。一部の実例では、合致しない領域は、一次候補領域に隣接する領域であってもよく、一次候補領域によって表される物体または構造に隣接する空間の物理的領域を表してもよい。一部の実例では、新しい物体認識テンプレートは、合致しない領域に基づいて生成されうる。
図1Aは、画像情報に基づいて、物体検出、すなわちより具体的には、物体認識および/または物体登録を行うためのシステム1000を示している(用語「および/または」、および「または」は、本開示では互換的に使用される)。より詳細には、システム1000は、計算システム1100およびカメラ1200を含みうる。この実施例では、カメラ1200は、カメラ1200が位置する環境を描写するか、もしくはそうでなければ表し、またはより具体的には、カメラ1200の視野(カメラ視野とも呼ぶ)中の環境を表す、画像情報を生成するように構成されうる。環境は、例えば、倉庫、製造工場、小売空間、または他のいくつかの施設であってもよい。こうした実例では、画像情報が、施設内に保管するためのアイテムを保持するコンテナ(例えば、箱、ビン、または木枠)などの、こうした施設に位置する物体を表しうる。システム1000が、以下でより詳細に論じるように、画像情報に基づいて運動計画作成を行うことによってなど、画像情報を生成、受信、および/または処理するように構成されうる。運動計画作成は、例えば、ロボットと容器または他の物体との間のロボット相互作用を促進するように、施設でロボットを制御するために使用されうる。計算システム1100およびカメラ1200が、同じ施設に位置してもよく、または互いと遠隔に位置してもよい。例えば、計算システム1100は、倉庫または小売空間から遠隔のデータセンターでホストされる、クラウドコンピューティングプラットフォームの一部であってもよく、ネットワーク接続を介して、カメラ1200と通信していてもよい。
実施形態では、カメラ1200は、2Dカメラおよび/または3Dカメラであってもよい。例えば、図1Bは、計算システム1100、ならびにカメラ1200Aおよびカメラ1200B(その両方がカメラ1200の実施形態であってもよい)を含む、システム1000A(システム1000の実施形態であってもよい)を示している。この実施例では、カメラ1200Aは、カメラの視野中にある環境の視覚的外観を記述する2D画像を含む、または形成する、2D画像情報を生成するように構成されている、2Dカメラであってもよい。カメラ1200Bは、カメラの視野中の環境に関する空間構造情報を含む、または形成する3D画像情報を生成するように構成されている、3Dカメラ(空間構造感知カメラまたは空間構造感知装置とも呼ぶ)であってもよい。空間構造情報は、カメラ1200の視野中にある様々な物体の表面上の位置など、カメラ1200Bに対する様々な位置のそれぞれの奥行き値を記述する、奥行き情報を含んでもよい。この例の奥行き情報は、物体が三次元(3D)空間の中で空間的にどのように配設されているかを推定するために使用されうる。一部の実例では、空間構造情報は、カメラ1200Bの視野中にある物体の1つ以上の表面上の位置を記述する、点群を含んでもよく、または点群を生成するために使用されてもよい。より具体的には、空間構造情報が、物体の構造(物体構造とも呼ぶ)上の様々な位置を記述しうる。
実施形態では、システム1000が、カメラ1200の環境でロボットと様々な物体との間の相互作用を促進するための、ロボット操作システムであってもよい。例えば、図1Cは、図1Aおよび図1Bのシステム1000/1000Aの実施形態でありうる、ロボット操作システム1000Bを示す。ロボット操作システム1000Bは、計算システム1100、カメラ1200、およびロボット1300を含んでもよい。上述のように、ロボット1300は、カメラ1200の環境の中にある1つ以上の物体、例えば、箱、木箱、ビン、またはその他の容器と相互作用するために使用されうる。例えば、ロボット1300は、1つの位置から容器を拾い上げ、それらを別の位置に移動するように構成されてもよい。一部の事例では、ロボット1300を使用して、積み重ねられた容器が下ろされ、例えば、コンベヤベルトに移動される、パレットから降ろす操作を行ってもよく、または容器がパレット上に積み重ねられて輸送の準備をする、パレットに載せる操作を行ってもよい。一部の実装形態では、カメラ1200は、ロボット1300のロボットアームなど、ロボット1300に取り付けられてもよい。こうした実装形態によって、カメラ1200をロボットアームを介して異なる位置および/または配向に移動させることができる。一部の実装形態では、カメラ1200は、ロボット1300から分離していてもよい。例えば、カメラ1200は、倉庫または他の構造の天井に装着されてもよく、構造に対して静止したままであってもよい。
実施形態では、図1A~図1Cの計算システム1100は、ロボット操作システム1000Bの一部である、ロボット制御システム(ロボットコントローラとも呼ぶ)を形成しても、またはその一部であってもよい。ロボット制御システムは、例えば、ロボット1300に対する動作コマンドまたは他のコマンドを生成するように構成される、システムであってもよい。こうした実施形態では、計算システム1100は、例えば、カメラ1200/1200A/1200Bによって生成された画像情報に基づいて、このようなコマンドを生成するように構成されてもよい。例えば、計算システム1100は、画像情報に基づいて運動計画を決定し、運動計画を実行するために1つ以上の動作コマンドを生成するように構成されてもよい。運動計画は、ロボットが1つ以上の物体を移動するために実行するための計画であってもよい。例えば、運動計画は、物体に近づき、その後、物体をピックアップまたはその他の方法で係合し、物体を目的位置に移動させる、ロボット1300のエンドエフェクタ装置(例えば、グリッパ)を含みうる。
実施形態では、計算システム1100は、視覚システムを形成しても、またはその一部であってもよい。視覚システムは、例えば、ロボット1300が位置する環境を記述する、すなわちより具体的には、カメラ1200が位置する環境を記述する、視覚情報を生成するシステムであってもよい。視覚情報が、上で論じた3D画像情報もしくは2D画像情報、または何らかの他の画像情報を含んでもよい。一部のシナリオでは、計算システム1100が、視覚システムを形成する場合、視覚システムは、上で論じたロボット制御システムの一部であってもよく、またはロボット制御システムから分離していてもよい。視覚システムは、ロボット制御システムから分離している場合、ロボット1300が位置する環境を記述する、情報を出力するように構成されうる。情報は、ロボット制御システムに出力されてもよく、ロボット制御システムは、視覚システムからこうした情報を受信し、情報に基づいてロボット1300の動作を制御してもよい。
実施形態では、計算システム1100は、RS-232インターフェース、ユニバーサルシリアルバス(USB)インターフェースなどの専用有線通信インターフェースを介して、および/もしくは周辺構成要素相互接続(PCI)バスなどのローカルコンピュータバスを介して提供される接続など、直接接続によってカメラ1200ならびに/またはロボット1300と通信してもよい。実施形態では、計算システム1100が、ネットワークを介してカメラ1200および/またはロボット1300と通信してもよい。ネットワークは、パーソナルエリアネットワーク(PAN)、例えば、イントラネットといったローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、広域ネットワーク(WAN)、またはインターネットなど、いかなるタイプおよび/または形態のネットワークであってもよい。ネットワークは、例えば、イーサネットプロトコル、インターネットプロトコル群(TCP/IP)、ATM(Asynchronous Transfer Mode)技術、SONET(Synchronous Optical Networking)プロトコル、またはSDH(Synchronous Digital Hierarchy)プロトコルを含む、プロトコルの異なる技術、および層またはスタックを利用してもよい。
実施形態では、計算システム1100は、カメラ1200および/もしくはロボット1300と直接情報を伝達してもよく、または中間記憶装置、もしくはより一般的には、中間の非一時的コンピュータ可読媒体を介して通信してもよい。例えば、図1Dは、計算システム1100の外部にあってもよい非一時的コンピュータ可読媒体1400を含む、システム1000/1000A/1000Bの実施形態であってもよく、例えば、カメラ1200によって生成される画像情報を記憶するための外部バッファまたはリポジトリとして作用しうる、システム1000Cを示している。こうした実施例では、計算システム1100は、非一時的コンピュータ可読媒体1400から、画像情報を検索するか、さもなければ受信することができる。非一時的コンピュータ可読媒体1400の例としては、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、またはそれらのいかなる適切な組み合わせが挙げられる。非一時的コンピュータ可読媒体は、例えば、コンピュータディスケット、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SDD)、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消却可能プログラム可能読み取り専用メモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、携帯型コンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多目的ディスク(DVD)、および/またはメモリスティックを形成してもよい。
上述のように、カメラ1200は、3Dカメラおよび/または2Dカメラであってもよい。2Dカメラは、カラー画像またはグレースケール画像などの、2D画像を生成するように構成されてもよい。3Dカメラは、例えば、飛行時間(TOF)カメラもしくは構造化光カメラなどの、奥行き感知カメラ、またはいかなる他のタイプの3Dカメラであってもよい。一部の事例では、2Dカメラおよび/または3Dカメラは、電荷結合素子(CCD)センサおよび/または相補型金属酸化膜半導体(CMOS)センサなど、画像センサを含みうる。実施形態では、3Dカメラは、レーザー、LIDAR装置、赤外線装置、明/暗センサ、モーションセンサ、マイクロ波検出器、超音波検出器、レーダー検出器、または空間構造情報を取り込むように構成されるいかなる他の装置をも含みうる。
上述のように、画像情報が、計算システム1100によって処理されてもよい。実施形態では、計算システム1100は、サーバ(例えば、1つ以上のサーバブレード、プロセッサなどを有する)、パーソナルコンピュータ(例えば、デスクトップコンピュータ、ノートパソコンなど)、スマートフォン、タブレットコンピューティングデバイス、および/もしくは他のいかなる他の計算システムを含んでもよく、またはそれらとして構成されてもよい。実施形態では、計算システム1100の機能性のすべては、クラウドコンピューティングプラットフォームの一部として行われてもよい。計算システム1100は、単一の計算装置(例えば、デスクトップコンピュータ)であってもよく、または複数の計算装置を含んでもよい。
図2Aは、計算システム1100の実施形態を示す、ブロック図を提供する。計算システム1100は、少なくとも1つの処理回路1110および非一時的コンピュータ可読媒体(または複数の媒体)1120を含む。実施形態では、処理回路1110は、1つ以上のプロセッサ、1つ以上の処理コア、プログラマブルロジックコントローラ(「PLC」)、特定用途向け集積回路(「ASIC」)、プログラマブルゲートアレイ(「PGA」)、フィールドプログラマブルゲートアレイ(「FPGA」)、それらのいかなる組み合わせ、またはいかなる他の処理回路も含む。
実施形態では、計算システム1100の一部である、非一時的コンピュータ可読媒体1120が、上で論じた中間の非一時的コンピュータ可読媒体1400の代替または追加であってもよい。非一時的コンピュータ可読媒体1120は、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、またはそれらのいかなる適切な組み合わせなどの記憶装置であってもよく、例えば、コンピュータディスケット、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消却可能プログラム可能読み取り専用メモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、携帯型コンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多目的ディスク(DVD)、メモリスティック、それらのいかなる組み合わせ、またはいかなる他の記憶装置などであってもよい。一部の実例では、非一時的コンピュータ可読媒体1120が、複数の記憶装置を含みうる。特定の実装形態では、非一時的コンピュータ可読媒体1120が、カメラ1200によって生成され、計算システム1100によって受信される画像情報を記憶するように構成されている。非一時的コンピュータ可読媒体1120が、処理回路1110によって実行されるとき、処理回路1110に、図4に関して記載する操作など、本明細書に記載する1つ以上の手法を行わせるコンピュータ可読プログラム命令を、代替的または追加的に記憶してもよい。
図2Bは、計算システム1100の実施形態であり、通信インターフェース1130を含む、計算システム1100Aを示している。通信インターフェース1130は、例えば、図1A~図1Dのカメラ1200によって生成された画像情報を受信するように構成されてもよい。画像情報は、上で論じた中間の非一時的コンピュータ可読媒体1400もしくはネットワークを介して、またはカメラ1200と計算システム1100/1100Aとの間のより直接的な接続を介して受信されうる。実施形態では、通信インターフェース1130は、図1Cのロボット1300と通信するように構成されうる。計算システム1100が、ロボット制御システムの外部にある場合、計算システム1100の通信インターフェース1130が、ロボット制御システムと通信するように構成されうる。通信インターフェース1130はまた、通信コンポーネントまたは通信回路と呼ばれてもよく、例えば、有線または無線プロトコルによって通信を行うように構成される通信回路を含んでもよい。例として、通信回路は、RS-232ポートコントローラ、USBコントローラ、イーサネットコントローラ、Bluetooth(登録商標)コントローラ、PCIバスコントローラ、いかなる他の通信回路、またはそれらの組み合わせを含んでもよい。
実施形態では、非一時的コンピュータ可読媒体1120は、1つ以上の物体認識テンプレート(物体テンプレートとも呼ばれる)を記憶してもよい。1つ以上の物体認識テンプレートは、例えば、カメラ(例えば、1200)のカメラ視野内の物体の識別、および/または物体の物体タイプの識別の決定を伴いうる、物体認識を実施するために使用されうる。したがって、1つ以上の物体認識テンプレートの各々は、それぞれの物体タイプを表してもよく、またはそれらに関連付けられてもよい。物体タイプは、容器のタイプまたはクラスなど、物体のタイプまたはクラスを指しうる。例えば、カメラ視野内の物体が容器である場合、物体認識を行うことは、容器に関連付けられた、または容器が属する容器タイプを決定することを伴いうる。こうした実施例では、物体認識テンプレートは、容器テンプレートであってもよく、特定の容器タイプ、またはより一般的には、特定の物体タイプを記述する情報(テンプレート情報とも呼ばれる)を含んでもよい。例えば、物体認識テンプレート内のテンプレート情報は、例えば、物体認識テンプレートに関連付けられた物体タイプに属する物体の視覚的デザインであり、例えば、物体タイプの外面上の視覚的パターンまたは他の視覚的詳細である、物体タイプに関連付けられた外観を記述する視覚的記述情報を含みうる。一部の実装形態では、物体認識テンプレートの視覚的記述情報(物体外観記述とも呼ばれる)は、物体認識テンプレートに関連付けられた物体タイプを有する物体に印刷されるか、または他の方法で配置される、視覚的パターンまたは他の視覚的詳細(例えば、ロゴまたはピクチャ)を記述しうる。例えば、視覚的記述情報は、視覚的詳細または視覚的デザインを表すか、または記述する、1つ以上の記述子(例えば、特徴記述子)を含みうる。一部の実装形態では、テンプレート情報は、物体タイプに関連付けられた、物理的設計、すなわちより具体的には構造(物理的構造とも呼ばれる)を記述しうる、構造記述情報を含みうる。
実施形態では、上述した1つ以上の物体認識テンプレートは、物体認識テンプレートを記憶するように割り振られる非一時的コンピュータ可読媒体上の空間であってもよい、テンプレート記憶空間に記憶されてもよい。例えば、図2Cは、テンプレート記憶空間(複数可)1122が、コンピュータシステム1100B(計算システム1100/1100Aの実施形態であってもよい)の非一時的コンピュータ可読媒体1120内に位置する実施例を描写する。一部の実装形態では、テンプレート記憶空間1122または別のテンプレート記憶空間は、図1Dの非一時的コンピュータ可読媒体1400などの別の非一時的コンピュータ可読媒体に位置してもよい。テンプレート記憶空間および物体登録については、米国特許出願第16/991,466号(弁理士整理番号MJ0054-US/0077-0012US1)でより詳細に論じられ、それらの内容全体が参照により本明細書に組み込まれる。一部の実装形態では、物体認識テンプレートは、少なくとも1つのテクスチャありテンプレートおよび少なくとも1つのテクスチャなしテンプレートを含みうる。テクスチャありテンプレートおよびテクスチャなしテンプレートについては、米国特許出願第16/991,510号(弁理士整理番号MJ0051-US/0077-0011US1)でより詳細に論じられ、それらの内容全体が参照により本明細書に組み込まれる。一部のシナリオでは、計算システム1100B、またはより一般的には、システム1000/1000A/1000B/1000Cは、例えば、複数のそれぞれのタイプの物体認識テンプレートを記憶するために使用されうる、複数のテンプレート記憶空間を含みうる。例えば、テンプレート記憶空間(複数可)1122は、テクスチャありテンプレートを記憶するために使用される第1のテンプレート記憶空間を含んでもよく、テクスチャなしテンプレートを記憶するために使用される第2のテンプレート記憶空間を含んでもよい。物体認識テンプレートは、例えば、物体登録プロセスの一部として生成されてもよく、および/またはサーバなどの資源から受信(例えば、ダウンロード)されたものであってもよい。
実施形態では、非一時的コンピュータ可読媒体1120は、物体検出情報1126を記憶してもよく、これは、例えば、物体(例えば、カメラ視野内の容器)についての情報を含んでもよく、ここで情報は、カメラによって生成された画像情報によって表される物体に対して物体認識を実行することに基づいて、またはその結果として決定されてもよい。物体検出情報1126は、例えば、物体検出情報によって表される物体とのロボット相互作用を計画するために、計算システム1100/1100A/1100Bによって、および/または別の計算システムによって使用されうる。ロボット相互作用を計画することは、例えば、物体と相互作用するためのロボット(例えば、1300)の運動を計画することを伴いうる、運動計画を実行することを伴いうる。一部の実例によっては、物体検出情報1126は、1つ以上の検出仮説を含むか、またはそれを記述してもよい。以下でより詳細に論じるように、1つ以上の検出仮説の各検出仮説は、どの物体または物体タイプが、カメラ(例えば、1200)によって生成される画像情報によって表されるかの仮説であってもよい。より具体的には、検出仮説は、一部の実例では、どの物体または物体タイプがカメラのカメラ視野内にあるかの推定であってもよい。一実施例では、画像情報が1つ以上の物体認識テンプレートと比較される場合、検出仮説は、特定の物体認識テンプレートが画像情報に対応するか、または画像情報が特定の物体認識テンプレートに関連付けられた物体もしくは物体タイプを表すという仮説、またはより一般的には、推定であってもよい。
実施形態では、物体検出情報1126は、物体検出情報1126に含まれるか、またはそれによって記述される各検出仮説について、検出仮説および検出仮説に関連付けられた信頼値を示しうる。信頼値は、例えば、計算システム1100/1100A/1100Bによって計算されてもよく、検出仮説をカメラ視野内の物体に関連付けるための信頼レベル、またはより具体的には、物体を表すか、もしくは物体を識別するための検出仮説の使用における信頼レベルを示してもよい。検出仮説が、物体またはその画像情報が特定の物体認識テンプレートに対応する推定である場合、検出仮説に関連付けられた信頼値は、物体認識テンプレートが画像情報に合致する程度を示しうる。例えば、検出仮説が視覚的記述情報または構造記述情報を有する物体認識テンプレートに関連付けられる場合、検出仮説に関連付けられた信頼値は、テンプレート中の視覚的記述情報が、画像情報に記載されるような物体の外観に合致する程度を示してもよく、および/またはテンプレート中の構造記述情報が、画像情報に記載されるような物体の構造と合致する程度を示してもよい。以下でより詳細に論じるように、物体検出情報は、実施形態では、以下でより詳細に論じるように、一次検出仮説、および/または一次検出仮説に関連付けられた一次候補領域を含むか、または記述しうる。物体検出情報は、安全ボリュームリストをさらに含んでもよく、または記述してもよい。安全ボリュームリストは、1つ以上の追加の検出仮説、および/または1つ以上の追加の検出仮説に関連付けられた1つ以上の候補領域のリストであってもよい。一部の実例では、一次検出仮説は、信頼値のセットの中で最も高い信頼値に関連付けられた検出仮説であってもよい。一部の実例では、安全ボリュームリスト内の1つ以上の追加の検出仮説は、最も高い信頼値と十分に類似している1つ以上のそれぞれの信頼値に関連付けられうる。一部の実例では、安全ボリュームリスト内の1つ以上の追加の検出仮説は、所定のテンプレート合致閾値を超えるか、または少なくともそれと等しい、1つ以上のそれぞれの信頼値を有しうる。
実施形態では、物体検出情報1126は、カメラ視野の中、またはより具体的には、物体を表す画像情報のために、物体に関連付けられた1つ以上の候補領域を記述しうる。1つ以上の候補領域は各々、物体の物体境界位置のそれぞれの推定、またはカメラ視野内のどの位置が物体によって占有されているかについてのそれぞれの推定であってもよい。以下でより詳細に論じるように、物体検出情報1126は、一部の実例では、一次検出仮説に関連付けられた候補領域であってもよい、一次候補領域を識別してもよい。物体検出情報1126が安全ボリュームリストを含む場合、安全ボリュームリストは、一部のシナリオでは、1つ以上の追加の候補領域を識別してもよく、これはまた、物体の物体境界位置を推定するか、または物体によって占められる位置を推定してもよい。一部の実例では、物体検出情報1126の安全ボリュームリストは、1つ以上の追加の候補領域または1つ以上の追加の検出仮説を直接的または間接的に識別または記述しうる。一部の実装形態では、計算システム1100/1100A/1100Bは、1つ以上の追加の検出仮説に基づいて、1つ以上の追加の候補領域を決定しうる。例えば、1つ以上の追加の検出仮説は、物体サイズ情報などの構造記述情報の1つ以上のそれぞれのセットを含みうる。計算システム1100/1100A/1100Bは、構造記述情報の1つ以上のそれぞれのセットに基づいて、1つ以上の追加の候補領域を決定するように構成されてもよい。
実施形態では、物体検出情報1126内の安全ボリュームリストは、テンプレート記憶空間(複数可)1122などの記憶空間内の既存の物体認識テンプレートと全く合致しない画像情報の一部分によって表される領域でありうる、合致しない領域を識別しうる。より具体的には、合致しない領域は、以下でより詳細に論じるように、一次候補領域に隣接し、かつ所定のテンプレート合致条件を満たすことができない領域であってもよい。実施形態では、物体検出情報1126は、以下でより詳細に論じるように、一次候補領域を包含し、1つ以上の追加の候補領域および/または合致しない領域を包含する領域であってもよい、境界領域を記述しうる。
実施形態では、処理回路1110が、非一時的コンピュータ可読媒体1120に記憶される、1つ以上のコンピュータ可読プログラム命令によってプログラムされてもよい。例えば、図2Dは、計算システム1100/1100A/1100Bの実施形態である、計算システム1100Cを示し、その中の処理回路1110は、物体認識モジュール1127、物体登録モジュール1128、および/または運動計画モジュール1129を含む、1つ以上のモジュールによってプログラムされる。
実施形態では、物体認識モジュール1127は、カメラ(例えば、1200)によって生成された画像情報に基づいて物体認識操作を行って、画像情報によってどの物体(複数可)または物体タイプ(複数可)が表されるかを決定するように構成されてもよい。一部の実装形態では、物体認識モジュールは、画像情報を、テンプレート記憶空間1122内に記憶された物体認識テンプレートなどの1つ以上の物体認識テンプレートと比較することによって、物体認識操作を実行して、1つ以上の物体認識テンプレートが、画像情報とどの程度密接に合致するかを決定する、またはより具体的には、画像情報が、1つ以上の物体認識テンプレートと合致するそれぞれの度合いを決定することができる。例えば、モジュール1127は、画像情報を1つ以上の物体認識テンプレートと比較することに関連する1つ以上のそれぞれの信頼値を計算しうる。物体認識操作は、以下でより詳細に論じる、一次検出仮説および安全ボリュームリストを識別する情報などの、物体検出情報1126を生成するために使用されうる。
実施形態では、物体登録モジュール1128は、新しい物体認識テンプレートを生成する、および/または新しい物体認識テンプレートをテンプレート記憶空間(例えば、1122)に記憶するように構成されてもよい。新しい物体登録モジュール1128は、例えば、画像情報またはその一部分が、テンプレート記憶空間内の既存の物体認識テンプレートと全く合致しない、またはより具体的には、既存の物体認識テンプレートと比較されるときに、所定のテンプレート合致条件を満たさない、空間の領域、物体、または物体の一部分を表すときに生成されうる。
実施形態では、運動計画モジュール1129は、カメラ視野内の物体を表す画像情報に基づいて、運動計画を行うように構成されうる。より具体的には、運動計画は、ロボット(例えば、1300)またはその構成要素によって実行される運動を決定することを伴ってもよく、ここで、運動は、物体検出情報1126に基づいて決定されてもよい。例えば、運動計画は、ロボット1300のロボットアームのエンドエフェクタ装置(例えば、グリッパ)がどのように物体を掴むように移動するかを決定すること、および物体を掴んだ後に続くエンドエフェクタ装置の軌道を決定することを伴ってもよく、ここで、軌道は、軌道に沿った移動中に他の物体と衝突するリスクを低くしながら、エンドエフェクタ装置に物体を目的場所に移動させる。
様々な実施形態では、「コンピュータ可読命令」および「コンピュータ可読プログラム命令」という用語は、様々なタスクおよび操作を遂行するように構成される、ソフトウェア命令またはコンピュータコードを記述するために使用される。様々な実施形態では、「モジュール」という用語は、処理回路1110に1つ以上の機能タスクを行わせるように構成される、ソフトウェア命令またはコードの集まりを広く指す。モジュールおよびコンピュータ可読命令は、処理回路または他のハードウェアコンポーネントが、モジュールもしくはコンピュータ可読命令を実行しているときに、様々な操作またはタスクを行うものとして説明されうる。
図3Aおよび図3Bは、物体検出が実行されうる例示の環境を示している。より具体的には、図3Aは、計算システム1100、ロボット3300、およびカメラ3200を含む、システム3000(図1A~図1Dのシステム1000/1000A/1000B/1000Cの実施形態でありうる)を描写する。カメラ3200は、カメラ1200の実施形態であってもよく、カメラ3200のカメラ視野3210内の情景を表す、またはより具体的には、物体3510および物体3520などのカメラ視野3210内の物体またはその構造を表す、画像情報を生成するように構成されてもよい。一部のシナリオでは、物体3510は、例えば、箱または木枠などの容器であってもよく、一方で、物体3520は、容器が配置されるパレットであってもよい。一実施形態では、図3Bに示すように、システム3000は、カメラ視野3210Aを有するカメラ3200A(カメラ1200Aの実施形態であってもよい)を含み、カメラ視野3210Bを有するカメラ3200B(カメラ1200Bの実施形態であってもよい)を含む、複数のカメラを含んでもよい。カメラ3200Aは、例えば、2D画像または他の2D画像情報を生成するように構成されている、2Dカメラであってもよく、一方で、カメラ3200Bは、例えば、3D画像情報を生成するように構成されている、3Dカメラであってもよい。2D画像(例えば、カラー画像またはグレースケール画像)は、カメラ視野3210/3210Aにおける、物体3510などの1つ以上の物体の外観を記述しうる。例えば、2D画像は、物体3510の外表面(例えば、上面)上に配置される視覚的マーキング3512などの視覚的詳細を捕捉してもよく、または他の方法では、表してもよい。実施形態では、3D画像情報は、物体3510の構造(物体3510の物体構造とも呼ばれる)を記述しうる。例えば、3D画像は、奥行きマップを含んでもよく、より一般的には、カメラ3200Bに対する、または何らかの他の基準点に対する、カメラ視野3210/3210Bの様々な位置のそれぞれの奥行き値を記述しうる、奥行き情報を含んでもよい。それぞれの奥行き値に対応する位置は、物体3510、3520の1つ以上の外表面(例えば、上面)上の位置などの、カメラ視野3210/3210Bの様々な表面上の位置であってもよい。一部の実例では、3D画像情報は、物体3510、3520、またはカメラ視野3210/3210B内の何らかの他の物体の1つ以上の外面上の様々な位置を記述する、複数の3D座標を含みうる、点群を含みうる。
図3Aおよび図3Bの実施例では、ロボット3300(ロボット1200の実施形態であってもよい)は、ロボット基部3310に取り付けられた一端を有し、かつロボットグリッパなどのエンドエフェクタ装置3330に取り付けられるか、またはそれらによって形成される別の端を有する、ロボットアーム3320を含みうる。ロボット基部3310は、ロボットアーム3320を装着するために使用されうるが、ロボットアーム3320、より具体的には、エンドエフェクタ装置3330は、ロボット3300の環境で1つ以上の物体(例えば、3510)と相互作用するために使用されうる。相互作用は、例えば、1つ以上の物体を掴むか、もしくは他の方法でピックアップすること、および/または1つ以上の物体を現在の位置から目的位置へと移動することを含みうる。
図4は、物体検出を行う、例示の方法4000の流れ図を描写する。方法4000は、例えば、図2A~図2Dもしくは図3Aの計算システム1100によって、すなわちより具体的には、計算システム1100の少なくとも1つの処理回路1110によって行われてもよい。一部のシナリオでは、少なくとも1つの処理回路1100が、非一時的コンピュータ可読媒体(例えば、1120)上に記憶される命令を実行することによって、方法4000を行ってもよい。例えば、命令によって、処理回路1110に、方法4000を行いうる、図2Dに示されたモジュールのうちの1つ以上を実行させてもよい。例として、以下に論じるステップ4002~4012は、物体認識モジュール1127によって行われてもよい。方法4000が、以下で論じるように、新しい物体認識テンプレートを生成することを伴う場合、こうした操作は、物体登録モジュール1128によって行われてもよい。方法4000が、安全ボリュームリストに基づいて運動計画を実施することを伴う場合、これも後述するように、こうした操作は、運動計画モジュール1129によって実施されてもよい。実施形態では、方法4000は、計算システム1100が、図3Aならびに図3Bのロボット3300およびカメラ3200/3200A/3200Bなど、ロボットおよびカメラと、または本開示で論じるいかなる他のカメラもしくはロボットと通信している環境で行われてもよい。図3Aおよび図3Bに示されるようないくつかのシナリオでは、カメラ(例えば、3200)は、静止構造(例えば、部屋の天井)に装着されうる。他のシナリオでは、カメラは、ロボットアーム(例えば、3320)、またはより具体的には、ロボット(例えば、3300)のエンドエフェクタ装置(例えば、3330)上に装着されてもよい。
実施形態では、方法4000の1つ以上のステップは、物体(例えば、3510)が、現在、カメラ(例えば、3200/3200A/3200B)のカメラ視野(例えば、3210/3210A/3210B)にあるときに行われてもよい。例えば、方法4000の1つ以上のステップは、物体がカメラ視野(例えば、3210/3210A/3210B)内に入った直後に、またはより一般的には、物体がカメラ視野内にある間に、行われてもよい。一部のシナリオでは、方法4000の1つ以上のステップは、物体がカメラ視野内にあるか、またはカメラ視野内にあったときに行われてもよい。例えば、物体がカメラ視野(例えば、3210/3210A/3210B)にあるとき、カメラ(例えば、3200/3200A/3200B)は、物体を表す画像情報を生成してもよく、画像情報を計算システム(例えば、1100)に伝達してもよい。計算システムは、物体がまだカメラ視野内にある間、または物体がもはやカメラ視野内にないときでさえも、画像情報に基づいて方法4000の1つ以上のステップを実施しうる。
実施形態では、方法4000は、計算システム1100が、カメラ(例えば、3200/3200A/3200B)のカメラ視野(例えば、3210/3210A/3210B)内の物体を表す画像情報を受信する、ステップ4002から開始されてもよく、またはそうでなければ、ステップ4002を含んでもよい。画像情報は、物体がカメラ視野にある(またはあった)ときに、カメラによって生成されてもよく、例えば、2D画像情報および/または3D画像情報を含みうる。例えば、図5Aは、2D画像情報、またはより具体的には、カメラ3200/3200Aによって生成され、図3Aおよび図3Bの物体3510、3520を表す、2D画像5600を示している。より具体的には、2D画像5600は、カメラ3200/3200Aの視点からの物体3510、3520の外観を記述しうる。2D画像5600は、物体3510の1つ以上の表面(例えば、上面)を表す、第1の部分5610(例えば、ピクセルの第1の領域、ピクセル領域とも呼ばれる)を含み、物体3520の1つ以上の表面(例えば、上面)を表す、第2の部分5620を含みうる。図5Aの実施例では、第1の部分5610は、物体3510の上面に配置された(例えば、印刷された)視覚的マーキングまたは他の視覚的詳細を捕捉するか、またはさもなければ表す、ピクセル5610Aのセットを含みうる。
図5Bは、ステップ4002の画像情報が3D画像情報5700を含む、実施例を示している。より具体的には、3D画像情報5700は、物体3510/3520の1つ以上の表面(例えば、上面)上の様々な位置のそれぞれの奥行き値を示す、例えば、奥行きマップまたは点群を含みうる。例えば、3D画像情報5700は、物体3510の表面上の位置のセットのそれぞれの奥行き値を示す第1の部分5710を含んでもよく、物体3520の表面上の位置5720のセットのそれぞれの奥行き値を示す第2の部分5720を含んでもよい。それぞれの奥行き値は、3D画像情報を生成するカメラ(例えば、3200/3200B)に対するものであってもよく、または何らかの他の基準点に対するものであってもよい。一部の実装形態では、3D画像情報は、カメラ視野(例えば、3210/3210B)の中にある物体の構造上の様々な位置に対するそれぞれの座標を含む、点群を含みうる。図5Bの実施例では、点群は、物体3510上の位置のセットを記述するそれぞれの座標の第1のセット、および物体3520上の位置のセットを記述するためのそれぞれの座標の第2のセットを含みうる。座標は、[X Y Z]座標などの3D座標であってもよく、カメラ座標系、または何らかの他の座標系に対する値を有してもよい。
図4に戻ると、方法4000は、一実施形態では、計算システム1100が1つ以上の合致する物体認識テンプレートのセットを識別しうる、ステップ4004を含みうる。実施形態では、物体(例えば、3510)またはその画像情報に対する合致する物体認識テンプレートは、画像情報と比較するときに、所定のテンプレート合致条件を満たす物体認識テンプレートであってもよい。所定のテンプレート合致条件は、物体認識テンプレート内のテンプレート情報が画像情報に十分に合致する(例えば、十分に類似している)ことを示す、条件であってもよい。計算システム1100は、画像情報を、テンプレート記憶空間内の1つ以上の物体認識テンプレートの各物体認識テンプレートと比較して、1つ以上の物体認識テンプレートのどの物体認識テンプレート(存在する場合)が、所定のテンプレート合致条件を満たすかを決定するように構成されてもよい。所定のテンプレート合致条件を満たす物体認識テンプレート(複数可)は、合致する物体認識テンプレート(複数可)と呼んでもよい。
例えば、ステップ4004における計算システム1100は、カメラ視野(例えば、3210/3210A/3210B)内の物体(例えば、3510)を表す画像情報(例えば、5610/5710)を、図6Aに示される物体認識テンプレート6122A~6122Aのセットなどの物体認識テンプレートのセットと比較しうる。物体認識テンプレート6122A~6122Aは、図2Cのテンプレート記憶空間1122の実施形態でありうる、テンプレート記憶空間6122内に記憶されうる。テンプレート記憶空間6122は、例えば、非一時的コンピュータ可読媒体1120内に位置してもよく、または別の装置(例えば、1400)内に位置してもよい。
一部の実例では、物体認識テンプレート6122A1~6122Aのセットは、テクスチャありテンプレートであってもよく、テンプレート記憶空間6122は、テクスチャありテンプレートの記憶専用であってもよい。テクスチャありテンプレートは、その外観に視覚的詳細の少なくとも閾値レベルを有する、物体または物体タイプを記述するテンプレートであってもよい。テンプレートによって記述される視覚的詳細のレベルは、例えば、テンプレートの視覚的記述情報(例えば、6123A、6123A、6123A、6123A、または6123A)において識別される特徴記述子の数、テンプレートが生成される画像情報において検出されるエッジの量、および/またはテンプレートが生成される画像情報のピクセル値間のコントラストもしくは分散のレベルによって示されてもよい。画像情報は、特定の物体または物体タイプを表してもよく、物体登録操作中にテンプレートのテンプレート情報(例えば、視覚的記述情報)を生成するために使用されてもよい。一部の実装形態では、テンプレートは、例えば、テンプレートが生成される画像情報が、画像情報の中の特徴記述子、エッジ、および/または分散もしくはコントラストの量を含む、1つ以上の所定の条件を満たす場合に、視覚的詳細の閾値レベルを満たすか、またはそれを超えるとみなされうる。テクスチャありテンプレートは、米国特許出願 第16/991,510号(弁理士整理番号MJ0051-US/0077-0011US1)でより詳細に論じられ、それらの内容全体が参照により本明細書に組み込まれる。一部の実例では、図7Aに関してより詳細に論じられるように、物体認識テンプレートは、テクスチャなしテンプレートであってもよい。
実施形態では、物体認識テンプレート6122A~6122Aは、異なる物体または物体のタイプ(物体タイプとも呼ばれる)を表してもよく、異なる物体または物体タイプに関連付けられたそれぞれの物体デザイン(例えば、視覚的デザインおよび/または物理的デザイン)を記述してもよい。上述のように、物体認識テンプレート6122A~6122Aは、物体登録プロセスの一部として生成されてもよく、そこでは、異なる物体タイプに関連付けられた異なる物体が、カメラ視野(例えば、3210/3210A/3210B)内にあり、物体認識テンプレート6122A~6122Aが、異なる物体または物体タイプを表す、画像情報のそれぞれのセットに基づいて生成された。一部の実例では、物体認識テンプレート6122A~6122Aは、何らかの他の方法で生成(例えば、手動で生成)されてもよく、その後、その中に記憶するためにテンプレート記憶空間6122に通信されてもよい。
実施形態では、物体認識テンプレート6122A1~6122Aのセットは、それぞれの検出仮説のセットに関連付けられてもよく、またはより具体的には、それぞれの検出仮説を表してもよい。この例では、検出仮説は、ステップ4002で受信される画像情報によって表される物体または物体タイプに関する仮説、またはより具体的には、画像情報によって表される物体または物体タイプに関する推定であってもよい。例えば、物体認識テンプレート6122Aは、物体認識テンプレート6122Aのテンプレート情報によって記述される特定の物体デザイン(例えば、視覚的デザインおよび/または物理的デザイン)を有するか、またはそれに関連付けられた物体タイプを表しうる。物体デザインを記述するテンプレート情報は、以下でより詳細に論じられる、視覚的記述情報6123Aおよび/または構造記述情報6124A(物体構造情報または物体構造記述とも呼ばれる)を含んでもよい。この実施例では、物体認識テンプレート6122Aは、画像情報5600によって、またはその部分5610によって表される物体(例えば、3510)が、物体認識テンプレート6122Aによって表される物体タイプに属するか、またはそれを有すると推定する、それぞれの検出仮説を表してもよく、またはそうでなければ、それに関連付けられてもよい。言い換えれば、物体認識テンプレート6122Aに関連付けられた検出仮説は、物体認識テンプレート6122Aによって表されるか、またはそうでなければ、それに関連付けられた物体タイプを有する物体を画像情報が表しているという、仮説または推測であってもよい。同様に、物体認識テンプレート6122A/6122A/6122A/6122Aに関連付けられた検出仮説は、画像情報が、物体認識テンプレート6122A/6122A/6122A/6122Aに関連付けられた物体タイプを有する物体を表すという仮説または推測であってもよい。一部の実装形態では、検出仮説は、特定の物体認識テンプレートに関連付けられたテンプレート識別子(例えば、テンプレートID)を含んでもよく、またはそれによって表されてもよい。例えば、物体認識テンプレート6122Aに関連付けられた検出仮説は、一部の実装形態では、物体認識テンプレート6122Aを識別するテンプレートIDを含みうる。一部の実装形態では、検出仮説は、特定の物体タイプを識別しうる、物体タイプ識別子を含んでもよく、または物体タイプ識別子によって表されてもよい。例えば、物体認識テンプレート6122Aは、特定の物体タイプIDを有する物体タイプに関連付けられてもよく、またはそれを表してもよく、物体認識テンプレート6122Aに関連付けられる検出仮説は、物体タイプIDを含んでもよく、または物体タイプIDによって表されてもよい。
上述のように、物体認識テンプレート6122A~6122Aは、ステップ4002で受信した画像情報によって、どの物体または物体タイプが表されるかのそれぞれの推定である、それぞれの検出仮説に関連付けられてもよい。実施形態では、計算システム1100は、物体認識テンプレート6122A~6122Aに関連付けられた、またはそれぞれの検出仮説に関連付けられた、それぞれの信頼値を計算するか、または他の方法でそれを決定するように構成されてもよい。より具体的には、それぞれの信頼値は、画像情報を物体認識テンプレート6122A~6122Aと比較することに関連付けられてもよく、検出仮説におけるそれぞれの信頼レベル、またはより具体的には、物体認識テンプレート6122A~6122Aが、画像情報またはその一部分と合致するそれぞれの度合いを示してもよい。信頼値は、ステップ4004が実施される前に、ステップ4004が実施される間、またはステップ4004の一部として、または何らかの他の時間に計算されてもよい。
図6Aの実施例では、物体認識テンプレート6122A~6122Aの各々は、それぞれの視覚的記述情報およびそれぞれの構造記述情報を含みうる。上述したように、物体認識テンプレートの視覚的記述情報(例えば、6123A)は、物体認識テンプレートに関連付けられた物体もしくは物体タイプの外観を記述してもよく、またはそうでなければ、その外観を表してもよく、またはより具体的には、物体もしくは物体タイプに関連付けられた視覚的デザインを記述してもよい。1つの実施例では、物体認識テンプレート内の視覚的記述情報は、物体認識テンプレートに関連付けられた物体または物体タイプ上に表示される視覚的マーキングまたは他の視覚的詳細に基づいて、またはより具体的には、エンコードされて生成される1つ以上の記述子(例えば、特徴記述子)を含みうる。実施形態では、物体認識テンプレートの構造記述情報(例えば、6124A)は、物体認識テンプレートに関連付けられた物体または物体タイプの構造(物理的構造とも呼ばれる)を記述しうる。例えば、物体認識テンプレートの構造記述情報は、物体タイプに関連付けられた物体サイズまたは物体形状を記述してもよく、より具体的には、物体タイプに属するか、または物体タイプを有する物体を記述してもよい。一部の実装形態では、構造記述情報は、点群(例えば、シミュレーション点群)、または物体タイプに関連付けられた物体構造を記述するコンピュータ支援デザイン(CAD)ファイルを含みうる。
上述のように、計算システム1100は、ステップ4002で受信した画像情報を、物体認識テンプレートのセットと比較しうる。図6Bは、図5Aの画像情報、またはより具体的には、物体認識テンプレート6122A~6122Aのセット、もしくはより具体的には、物体認識テンプレートのセットの視覚的記述情報6123A~6123Aのそれぞれのセットと比較されている2D画像5600(物体3510を表す)の一部分5610を示している。例えば、視覚的記述情報6123A~6123Aのそれぞれのセットが記述子を含む場合、計算システム1100は、画像情報(例えば、5610)から記述子を決定しうる。次いで、計算システム1100は、画像情報からの記述子を、視覚的記述情報6123A~6123Aのそれぞれのセットの記述子と比較しうる。計算システム1100は、スケール不変特徴変換(SIFT:scale-invariant feature transform)アルゴリズム、高速化ロバスト特徴(SURF:speeded up robust features)アルゴリズム、加速セグメントテストからの特徴(FAST:feature from accelerated segment test)検出アルゴリズム、ならびに/もしくは配向FASTおよび回転二値ロバスト相互依存基本特徴(ORB:oriented FAST and rotated binary robust interdependent elementary features)アルゴリズム、または他の技術などの、技術に基づいて、記述子(例えば、特徴記述子)を生成することができる。
実施形態では、ステップ4002における計算システム1100によって、画像情報(例えば、5610)が物体認識テンプレート(6122A~6122A)のセットの各々にどの程度密接に合致するかを決定することができる。例えば、図6Bに示すように、計算システム1100は、画像情報またはその部分5610を物体認識テンプレート6122A~6122Aと比較することによって、物体認識テンプレート6122A~6122Aに関連付けられたそれぞれの信頼値を計算してもよい。上述したように、物体認識テンプレート6122A~6122Aは、それぞれの検出仮説のセットに関連付けられてもよい。したがって、計算された信頼値は、それぞれの検出仮説のセットとさらに関連付けられてもよい。一部の実装形態では、信頼値は、物体検出情報の一部として記憶されてもよい。例えば、図6Cは、物体認識テンプレート6122A~6122Aに関連付けられ、対応する検出仮説A~Aに関連付けられる、信頼値のセットを示している。信頼値は、物体検出情報6126(物体検出情報1126の実施形態であってもよい)の一部として記憶されてもよい。信頼値は、それぞれの検出仮説のセットにおけるそれぞれの信頼のレベルを示しうる。より具体的には、信頼値は、画像情報(例えば、5600)、またはその一部分(例えば、5610)が、それぞれの検出仮説A~Aのセットに関連付けられた物体認識テンプレート6122A~6122Aに合致するそれぞれの度合いを示しうる。例えば、画像情報が、カメラ視野(例えば、3210/3210A)における物体(例えば、3510)の外観を表す2D画像情報を含む場合、信頼値は、2D画像情報が、物体認識テンプレート6122A~6122Aにおける視覚的記述情報6123A~6123Aのそれぞれのセットに合致するそれぞれの度合いを示しうる。一部の実装形態では、信頼値は、2D画像情報と、視覚的記述情報6123A~6123Aのそれぞれのセットとの間のそれぞれの類似性の度合いを示しうる。
実施形態では、画像情報が3D画像情報を含む場合、信頼値は、3D画像情報が構造記述情報6124A1~6124Aのそれぞれのセットに合致するそれぞれの度合いを示しうる。例えば、信頼値は、3D画像情報と、構造記述情報6124A~6124Aのそれぞれのセットとの間のそれぞれの類似性の度合いを示しうる。
上述したように、合致する物体認識テンプレートは、画像情報(例えば、5600)、または画像情報の一部分(例えば、5610)と比較されたときに、所定のテンプレート合致条件を満たす物体認識テンプレートであってもよい。したがって、上述の1つ以上の合致する物体認識テンプレートのセット、および1つ以上の合致する物体認識テンプレートのセットに関連付けられたそれぞれの1つ以上の検出仮説のセットは各々、所定のテンプレートの合致条件を満たすことができる。実施形態では、所定のテンプレート合致条件は、物体認識テンプレートが、ステップ4002で受信された画像情報と十分に高いレベルの類似性を有することを示す、および/または物体認識テンプレートと画像情報との間の差のレベルが充分に低いことを示す、信頼値を有するか、または信頼値に関連付けられる、物体認識テンプレートを伴いうる。例えば、所定のテンプレート合致条件は、物体認識テンプレートに割り当てられるか、または他の方法でそれに関連付けられた信頼値が、所定のテンプレート合致閾値を超える条件であってもよく、またはそれを含んでもよい。この所定の閾値は、例えば、手動で定義された値、または計算システム1100によって以前に計算もしくは別様に定義された値であってもよく、例えば、非一時的コンピュータ可読媒体1120/1400に記憶されてもよく、または別の場所に記憶されてもよい。
1つの実施例では、可能な信頼値は、最小の可能な信頼値0から、最大の可能な信頼値1.00の範囲であってもよく、実施例の所定のテンプレート合致閾値は、例えば、0.90または0.80であってもよい。こうした実施例では、所定のテンプレート合致条件は、所定のテンプレート合致閾値と等しいか、またはそれを超える信頼値を伴いうる。この例示的なテンプレート合致条件に基づいて、計算システム1100は、1つ以上の合致する物体認識テンプレートを識別してもよく、および/または1つ以上の合致する物体認識テンプレートにそれぞれ関連付けられる1つ以上の検出仮説を識別してもよい。例えば、計算システム1100は、物体認識テンプレート6122A~6122Aを、それらのそれぞれの信頼値が0.90を超えるか、または0.80を超えるため、合致する物体認識テンプレートとして識別してもよく、物体認識テンプレート6122Aおよび6122Aが、それらのそれぞれの信頼値が0.90未満または0.80未満であるため、合致する物体認識テンプレートではないものとして決定してもよい。したがって、図6Bおよび図6Cの実施例では、計算システム1100は、複数の物体認識テンプレート(6122A~6122A)の中から、複数の合致する物体認識テンプレート(6122A~6122A)を識別することができる。複数の合致する物体認識テンプレート6122A~6122Aは、図6Cの検出仮説A、検出仮説A、および検出仮説Aと関係付けられうる。
図4に戻ると、方法4000は、一実施形態では、計算システム1100が、1つ以上の合致する物体認識テンプレートにそれぞれ関連付けられている1つ以上の検出仮説のセットの中から検出仮説を、一次検出仮説として、選択するステップ4006を含みうる。上述したように、1つ以上の合致する物体認識テンプレートは、例えば、ステップ4002の画像情報と比較されたときに、所定のテンプレート合致条件を満たす、物体認識テンプレートであってもよい。画像情報が、図5Aに示すように2D画像情報を含む場合、1つ以上の合致する物体認識テンプレート(例えば、6122A、6122A、6122A)は各々、受信された2D画像情報と比較したときの所定のテンプレート合致条件を満たすために、計算システム1100によって(例えば、処理回路1110によって)決定される、視覚的記述情報(例えば、6123A、6123A、6123A)のそれぞれのセットを含みうる。画像情報が、図5Bに示すように3D画像情報を含む場合、1つ以上の合致する物体認識テンプレートは各々、受信された3D画像情報と比較されるときに、計算システム1100によって、所定のテンプレート合致条件を満たすように決定される、構造記述情報のそれぞれのセットを含みうる。
実施形態では、計算システム1100は、一次物体認識テンプレートとして、ステップ4004で識別された1つ以上の合致する物体認識テンプレートのセットの中から合致する物体認識テンプレートを選択することによって、ステップ4006を実施することができる。ステップ4006で識別される一次検出仮説は、一次物体認識テンプレートに関連付けられた検出仮説であってもよい。図6Bおよび図6Cの実施例では、1つ以上の合致する物体認識テンプレートは、物体認識テンプレート6122A~6122Aを含みうる。こうした実施例では、一次物体認識テンプレートは、合致する物体認識テンプレート6122A~6122Aの中から選択されてもよい。したがって、一次物体認識テンプレートは、合致する物体認識テンプレートであってもよく、合致する物体認識テンプレートは、例えば、画像情報(例えば、2D画像情報または3D画像情報)と比較されるときに、計算システム1100によって、所定のテンプレート合致条件に合致するように決定される、視覚的記述情報および/または構造記述情報を含みうる。実施形態では、計算システム1100は、1つ以上の合致する物体認識テンプレートに関連付けられた1つ以上の検出仮説の中から、一次検出仮説を選択しうる。例えば、合致する物体認識テンプレートが、検出仮説A~Aに関連付けられるテンプレート6122A~6122Aである場合、一次検出仮説は、検出仮説A~Aの中から選択される検出仮説であってもよい。
実施形態では、一次検出仮説または一次物体認識テンプレートは、1つ以上のそれぞれの信頼値のセットの中で最も高い信頼値を有する、検出仮説または合致する物体認識テンプレートであってもよい。1つ以上の信頼値のセットは、1つ以上の合致する物体認識テンプレート(例えば、6122A~6122A)のセット、および/または1つ以上の対応する検出仮説(例えば、検出仮説A~A)に関連付けられてもよい。例えば、図6Dは、計算システム1100が、検出仮説Aを、一次検出仮説として識別し、および/または物体認識テンプレート6122Aを、一次物体認識テンプレートとして識別する実施例を示している。一次検出仮説は、例えば、物体検出情報6126によって記述または識別されてもよい。この実施例では、物体認識テンプレート6122Aは、合致する物体認識テンプレート(例えば、6122A、6122A、6122A)のそれぞれの信頼値(例えば、0.99、0.93、0.927)のうち、最も高い信頼値(例えば、0.99)を有する、合致する物体認識テンプレートであるため、一次物体認識テンプレートとして識別されうる。一部の実装形態では、計算システム1100は、検出仮説Aが上述したそれぞれの信頼値の中で最も高い信頼値を有するため、検出仮説Aを、一次検出仮説として識別しうる。
実施形態では、計算システム1100は、1つ以上の合致する物体認識テンプレートのセットの中から、一次物体認識テンプレートをランダムに選択することができ、および/または1つ以上の合致する物体認識テンプレートのセットに関連付けられた1つ以上の検出仮説のセットの中から、一次検出仮説をランダムに選択することができる。こうしたランダムな選択は、例えば、合致する物体認識テンプレート、またはそれらの検出仮説が、非常に類似または実質的に等しいそれぞれの信頼値を有するときに発生しうる。例えば、合致する物体認識テンプレート6122A~6122A、およびそれらの対応する検出仮説A~Aが、同じか、または非常に類似したそれぞれの信頼値を有する場合、計算システム1100は、合致する物体認識テンプレート6122A~6122Aのうちの1つを、一次物体認識テンプレートとして、ランダムに選択し、および/または対応する検出仮説A~Aのうちの1つを、一次検出仮説として、ランダムに選択するように構成されうる。一部の実装形態では、計算システム1100が、1つ以上の合致する物体認識テンプレートのセットの中から一次物体認識テンプレートをランダムに選択する場合、そのような選択を行うために信頼値を使用するのではなく、計算システム1100は、信頼値の計算を省略しうる。
図4に戻ると、方法4000は、一実施形態では、計算システム1100が、一次検出仮説に基づくか、またはより具体的には、一次検出仮説に関連付けられた合致する物体認識テンプレートに基づく、候補領域であってもよい、一次候補領域を生成しうる、ステップ4008を含みうる。こうした合致する物体認識テンプレートは、上述した一次物体認識テンプレートであってもよい。実施例として、図6Eは、この実施例では、物体認識テンプレート6122Aである、一次物体認識テンプレートに基づいて生成されうる一次候補領域6125Aを記述する、物体検出情報6126を示している。実施形態では、候補領域は、物体(例えば、3510)の物体境界位置の推定、またはカメラ視野(例えば、3210)内のどの位置が物体によって占有されているかの推定であってもよい。物体境界位置または物体によって占有された位置は、物体によって占有された空間の領域に対応するか、またはそれを表すことができる。この実施形態では、推定された物体境界位置は、例えば、物体の物理的構造を画定する1つ以上の境界に対する推定された位置を指しうる。例えば、ステップ4002の受信した画像情報によって表される物体(例えば、3510)の候補領域は、物体によって占有されるカメラ視野(例えば、3210)内の推定された物理的領域を画定しうる。一部の実装形態では、候補領域は、物理的領域を囲むコーナーもしくはエッジを画定もしくは識別することによって、物理的領域のサイズ(例えば、長さ値、幅値、および/または高さ値)を画定もしくは識別することによって、および/または物理的領域の形状を画定または識別することによって、物理的領域を画定しうる。こうした実施例では、物体境界位置は、候補領域の1つ以上のエッジまたはコーナーによって推定されてもよい。
一部の実例例では、一次候補領域(例えば、6125A)は、ステップ4002の画像情報にさらに基づいて生成されてもよい。例えば、計算システム1100は、画像情報4002を使用して、物体コーナーまたは物体エッジの位置などの、画像情報によって表される物体(例えば、3510)の特徴の位置を決定してもよい。この実施例では、一次候補領域(例えば、6125A)がコーナーまたはエッジを有する場合、計算システム1100は、物体コーナーまたは物体エッジの位置と等しいか、またはそれに基づいて、一次候補領域のコーナーまたはエッジの位置を決定しうる。
上述のように、計算システム1100は、一次検出仮説に関連付けられた合致する物体認識テンプレートであってもよい、一次物体認識テンプレートに基づいて、一次候補領域を生成してもよい。より一般的には、候補領域は、候補領域に関連付けられた物体認識テンプレートに基づいて生成されてもよい。例えば、物体認識テンプレートは、物体タイプに関連付けられた物体サイズおよび/または物体形状を識別する、構造記述情報を含んでもよく、候補領域は、物体認識テンプレートの構造記述情報に基づいて生成されてもよい。実施例として、計算システム1100は、物体認識テンプレート6122Aの構造記述情報6124Aに基づいて、一次検出領域6125Aを生成しうる。特定の実例では、計算システム1100は、対応する物体認識テンプレート(例えば、6122A)内の構造記述情報(例えば、6124A)によって記述される物体サイズおよび/または物体形状と同じまたは実質的に同じであるサイズおよび/または形状を有するように、候補領域(例えば、6125A)を決定または生成することができる。
図4に戻ると、方法4000は、一実施形態では、ステップ4010を含んでもよく、ここにおいて、計算システム1100は、(i)1つ以上の合致する物体認識テンプレートのセットが、一次の合致する物体認識テンプレート(例えば、6122A、これは、一次検出仮説Aに関連付けられた合致する物体認識テンプレートである)に加えて、1つ以上の残りの合致する物体認識テンプレート(例えば、6122A、6122A)のサブセットを有しているかどうか、または(ii)画像情報が、合致しない領域を表す一部分を有しているかどうか、のうちの少なくとも1つを決定する。
より具体的には、本開示の一態様は、物体とのロボット相互作用を計画するのに有用でありうる、一次物体認識テンプレートまたは一次検出仮説を識別することだけでなく、ロボット相互作用を計画するのにも有用でありうる、他の物体認識テンプレートまたは検出仮説を識別することにもよって、物体検出の頑健性を改善することに関する。例えば、一部のシナリオは、物体を表す(例えば、画像情報と比較した場合に、所定のテンプレート合致条件を満たす)2つ以上の物体認識テンプレート合致画像情報を伴いうる。言い換えれば、本開示の一態様は、一次物体認識テンプレート(例えば、6122A、これは、画像情報5600/5610に対する合致する物体認識テンプレートである)に加えて、画像情報と比較して、所定のテンプレートの合致条件をさらに満たす、1つ以上の追加の合致する物体認識テンプレート(例えば、6122A、6122A)が存在する状況に関する。例えば、1つ以上の追加の物体認識テンプレートは、すべてが所定のテンプレート合致閾値より上にある、それぞれの信頼値に関連付けられうる。特定の状況では、撮像ノイズまたは他の誤差源により、一次検出仮説、一次物体認識テンプレート、または一次候補領域が、物体を表す際に、またはロボット相互作用を計画するために使用される際に、完全に正確ではないリスクが生じる場合、1つ以上の追加の検出仮説または1つ以上の追加の物体認識テンプレートを使用して、そのリスクを補償することができる。例えば、これらは、ロボット相互作用を計画する際に考慮されうる追加情報を提供しうる、以下でより詳細に論じる安全ボリュームリストを生成するために使用されうる。物体検出を実施するとき、および/またはロボット相互作用を計画するときに、この追加情報を考慮に入れることによって、これらのプロセスは、より堅牢になり、様々な誤差源の影響を受けにくくなりうる。
1つの実施例では、計算システム1100は、上で論じた1つ以上の合致する物体認識テンプレートのセットが、複数の合致する物体認識テンプレートを含むかどうかを決定することによって、ステップ4010を実施しうる。複数の合致する物体認識テンプレートのこうしたセットは、一次物体認識テンプレート(6122A)を含んでもよく、1つ以上の残りの合致する物体認識テンプレート(例えば、6122A、6122A)のサブセットをさらに含んでもよい。上述のように、1つ以上の残りの合致する物体認識テンプレートのサブセットは、画像情報(例えば、5600/5610)と比較されたときに、所定のテンプレート合致条件をさらに満たす、1つ以上の物体認識テンプレートであってもよい。例えば、画像情報が2D画像情報を含む場合、サブセット内の少なくとも1つの合致する物体認識テンプレート(例えば、6122A、6122A)は、画像情報と比較されたときに、視覚的記述情報(例えば、6123A、6123A)が画像情報に十分に類似していることを示しうる、所定のテンプレートの合致条件を満たす、視覚的記述情報(例えば、6123A、6123A)のそれぞれのセットを含みうる。言い換えれば、1つ以上の合致する物体認識テンプレートのサブセットにおける少なくとも1つの合致する物体認識テンプレート(例えば、6122A、6122A)は、画像情報(例えば、5600/5610)によって表される物体の視覚的外観を合致させることによって、所定の合致条件を満たすことができる。計算システム1100は、少なくとも1つの物体認識テンプレートに基づいて、以下で論じる安全ボリュームリストを生成するように構成されうる。さらに上述したように、一次物体認識テンプレート(6122A)は、一部の実例では、物体の視覚的外観を合致させることによっても、所定のテンプレート合致条件を満たす場合がある。
一部の状況では、1つ以上の合致する物体認識テンプレートは、画像情報(例えば、5700/5710)によって表される物体の構造を合致させることによって、所定のテンプレート合致条件を満たすことができる。これらの合致する物体認識テンプレートは、一次物体認識テンプレートを含んでもよく、および/または別の合致する物体認識テンプレートを含んでもよい。例えば、ステップ4002で受信された画像情報が2D画像5600と3D画像情報5700の組み合わせを含む場合、物体認識テンプレート6122Aは、2D画像5600と比較されるときに、所定のテンプレート合致条件を満たす視覚的記述情報6123Aを有してもよく、3D画像情報5700と比較されるときに、所定のテンプレート合致条件を満たす構造記述情報6124Aをさらに有してもよい。別の実施例として、以下でより詳細に論じる図7Aは、3D画像情報5700(例えば、点群)と比較したときに、所定のテンプレート合致条件を満たす構造記述情報7124Bを有する物体認識テンプレート7122Bを描写している。計算システム1100は、物体認識テンプレートに基づいて、以下で論じる安全ボリュームリストを生成するように構成されうる。
図6A~図6Cの実施例では、一次物体認識テンプレート6122Aは、検出仮説Aに関連付けられた合致する物体認識テンプレートであってもよく、一方で、残りの合致する物体認識テンプレート6122Aおよび6122Aのサブセットは、それぞれ、検出仮説AおよびAに関連付けられてもよい。検出仮説Aは、画像情報5600/5610によって表される物体3510とのロボット相互作用を計画するために使用される一次検出仮説であってもよく、一方で、検出仮説AおよびAは、ロボット相互作用を計画するために使用される二次検出仮説であってもよい。
また上述したように、本開示の一態様は、一次物体認識テンプレートが、画像情報の第1の部分に合致するか、または他の方法では対応することができるが、画像情報の第2の部分が、1つ以上のテンプレート記憶空間(例えば、1122)から利用可能であるすべての既存の物体認識テンプレートと十分に合致しない状況に関する。言い換えれば、画像情報によって取り込まれるか、または他の方法では表される第1の物理的領域は、例えば、一次物体認識テンプレートによって合致されてもよく、または説明されてもよいが、画像情報によって表される第2の物理的領域は、1つ以上のテンプレート記憶空間内のすべての既存の物体認識テンプレートとは十分に合致しない。第1の物理的領域は、例えば、上述した一次候補領域に対応してもよく、一方で、第2の物理的領域は、合致しない領域または説明不能な領域と呼ばれてもよい。より具体的には、合致しない領域または説明不能な領域は、既存の物体認識テンプレートと比較された場合に、所定のテンプレート合致条件を満たすことができない画像情報の一部分によって表される、領域であってもよい。したがって、一部のシナリオでは、ステップ4010における計算システムは、画像情報が、合致しない領域を表す一部分(例えば、合致しない画像部分とも呼ばれる第2の部分)を有しているかどうかを決定しうる。一部の実装形態では、計算システム1100は、一次候補領域に隣接する合致しない領域があるかどうかを特異的に決定しうる。合致しない領域を含むシナリオは、例えば、図11A~図11Eおよび図12A~図12Hに関してより詳細に以下で説明される。
図4に戻ると、方法4000は、一実施形態では、計算システム1100が安全ボリュームリストを生成するステップ4012を含みうる。実施形態では、安全ボリュームリストは、1つ以上の合致する物体認識テンプレートのセットが、一次物体認識テンプレートに加えて、1つ以上の残りの合致する物体認識テンプレートのサブセットを有するという決定に応答して、および/または合致しない領域を表す画像部分を有する画像情報に応答して生成されうる。安全ボリュームリストは、1つ以上の候補領域のリスト、1つ以上の検出仮説のリスト、および/または1つ以上の合致しない領域のリストであってもよい。
一部の実装形態では、安全ボリュームリストが、1つ以上の検出仮説のリストである場合、1つ以上の検出仮説は、上述した1つ以上の残りの合致する物体認識テンプレートのサブセットに関連付けられうる。例えば、図6A~図6Cは、一次物体認識テンプレート6122Aおよび残りの合致する物体認識テンプレート6122A、6122Aのサブセットを含む、複数の合致する物体認識テンプレートのセットがある実施例を示している。図6Dに関して上述したように、計算システムは、物体検出情報6126の一部として、一次物体認識テンプレート6122Aに関連付けられた一次検出仮説Aを識別または記述しうる。この実施例では、計算システム1100は、物体検出情報6126内に、残りの合致する物体認識テンプレート6122A、6122Aのサブセットに関連付けられた1つ以上の二次検出仮説を識別する安全ボリュームリストをさらに含みうる。より具体的には、二次検出仮説は、合致する物体認識テンプレート6122Aおよび合致する物体認識テンプレート6122Aに関連付けられている、検出仮説Aおよび検出仮説Aを含みうる。したがって、物体検出情報6126は、合致する物体認識テンプレート(例えば、6122A)のうちの1つに関連付けられた一次検出仮説(例えば、A)を含んでもよく、1つ以上の残りの合致する物体認識テンプレート(例えば、6122A、および6122A)のサブセットに関連付けられた1つ以上の残りの検出仮説(例えば、A、およびA)のサブセットを含んでもよい、複数の検出仮説のセットを識別または記述してもよい。一部の実例では、残りの検出仮説A、およびAのサブセットは、二次検出仮説とみなされる場合があり、これは、例えば、これらが、一次検出仮説Aに関連付けられた信頼値(例えば、0.99)よりも小さい信頼値(例えば、0.93および0.927)に関連付けられていることが理由である。より一般的には、一次検出仮説として選択されない検出仮説は、二次検出仮説とみなされうる。
実施形態では、計算システム1100は、検出仮説に関連付けられた信頼値が、一次検出仮説に関連付けられた信頼値と十分に類似しているかどうかに基づいて、安全ボリュームリストが特定の検出仮説を含むかどうかを決定するように構成されてもよい。特定の検出仮説は、上述した1つ以上の残りの合致する物体認識テンプレート(例えば、6122A、6122A)のサブセットに関連付けられた1つ以上の残りの検出仮説(例えば、A、A)のサブセットのうちの1つであってもよい。実施例として、計算システム1100は、1つ以上の残りの検出仮説(例えば、A、A)のサブセットにおける各検出仮説について、検出仮説に関連付けられたそれぞれの信頼値(例えば、0.93、0.927)が、一次検出仮説に関連付けられた信頼値(例えば、0.99)に対する所定の信頼類似性閾値内にあるかどうかを決定することができる。所定の信頼類似性閾値は、例えば、非一時的コンピュータ可読媒体1120または他の場所に記憶される値であってもよい。実施例として、所定の信頼類似性閾値は、例えば、0.1、0.2、または何らかの他の値であってもよい。計算システム1100が、サブセット内の特定の検出仮説(例えば、A、A)に関連付けられたそれぞれの信頼値が、所定の信頼類似性閾値内にあると決定した場合、計算システム1100は、検出仮説を安全ボリュームリストに追加し、より一般的には、検出仮説に基づいて安全ボリュームリストが生成されるように、検出仮説を安全ボリュームリストに含めるように決定しうる。一部の実例では、検出仮説(例えば、A、A)を安全ボリュームリストに追加することは、検出仮説に関連付けられる候補領域(例えば、図6Eの6125A、6125A)をも含む安全ボリュームリストをもたらしうる。こうした候補領域は、以下でより詳細に論じるように、一次候補領域(例えば、6125A)とともに、物体検出情報6126によって記述される二次候補領域であってもよい。
実施形態では、計算システム1100は、検出仮説に関連付けられた信頼値が、所定のテンプレート合致閾値と等しいか、またはそれより大きいかどうかに基づいて、安全ボリュームリストが特定の検出仮説を含むかどうかを決定するように構成されてもよい。こうした状態は、合致する物体認識テンプレートに関連付けられる検出仮説を表してもよく、所定のテンプレート合致条件を満たすことができない物体認識テンプレートに関連付けられるすべての検出仮説を除外した、安全ボリュームリストをもたらしうる。一部の実装形態では、安全ボリュームリスト内の各検出仮説は、以下でより詳細に論じるように、候補領域に関連付けられうる。
実施形態では、物体検出情報6126は、計算システム1100によって、または別の計算システムによって使用されて、ロボット(例えば、3300)と、受信した画像情報(例えば、5600/5700)によって表される物体(例えば、3510)との間のロボット相互作用を計画してもよい。物体検出情報に安全ボリュームリストを含めることによって、計算システム1100は、画像情報によって表される物体または物体タイプに関する一次検出仮説(例えば、A)だけでなく、どの物体または物体タイプが画像情報によって表されるかに関する1つ以上の二次検出仮説(例えば、A、A)にもアクセスすることができる。したがって、安全ボリュームリストは、上述のように、ロボット相互作用を計画するために追加情報を利用可能にしてもよく、これは、計画されたロボット相互作用の頑健性を改善しうる。
実施形態では、安全ボリュームリストは、さらに上述するように、1つ以上の候補領域のリスト、またはより具体的には、1つ以上の二次候補領域のリストであってもよい。より具体的には、計算システム1100は、ステップ4008に関連して上述したように、一次物体認識テンプレート(例えば、6122A)および/または一次検出仮説(例えば、A)に関連付けられる一次候補領域(例えば、6125A)を識別しうる。ステップ4012の実施形態において、計算システム1100は、図6Eの候補領域6125A、および6125Aなどの1つ以上の追加の候補領域を含む、安全ボリュームリストをさらに生成することができる。したがって、こうした実施形態では、物体検出情報6126は、複数の合致する物体認識テンプレートに基づいて、複数の候補領域を記述しうる。複数の候補領域(例えば、6125A~6125A)は、一次物体認識テンプレートに基づいて生成される一次候補領域(例えば、6125A)を含んでもよく、1つ以上の残りの合致する物体認識テンプレート(例えば、6122A、および6122A)のサブセットに関連付けられ、およびそれらに基づいて生成される、1つ以上の追加の候補領域(例えば、6125Aおよび6125A)を含んでもよい。実施形態では、1つ以上の追加の候補領域の一部である各候補領域は、上述したように、一次検出仮説の信頼値に対する所定の信頼類似性閾値内にあるそれぞれの信頼値を有する、検出仮説に関連付けられてもよい。実施形態では、1つ以上の追加の候補領域の各候補領域は、上記でも論じるように、所定のテンプレート合致閾値以上の信頼値を有する、それぞれの検出仮説に関連付けられてもよい。
一部の実例では、1つ以上の追加の候補領域(例えば、6125Aおよび6125A)は、1つ以上の二次候補領域とみなされてもよく、これは、それらが、1つ以上の二次検出仮説(例えば、AおよびA)にそれぞれ関連付けられうることが理由である。一次候補領域に関する考察と同様に、二次候補領域(例えば、6125Aおよび6125A)の各々はまた、受信した画像情報(例えば、5600/5610)によって表される物体(例えば、3510)の物体境界位置を推定してもよく、および/または物体によって占められる位置を推定してもよい。例えば、追加の候補領域(例えば、6125Aおよび6125A)の各々は、物体(例えば、3510)によって占有されるカメラ視野(例えば、3210)のそれぞれの推定物理的領域を画定してもよい。一部の実装形態では、計算システム1100は、関連する合致する物体認識テンプレート(例えば、6122A、6122A)の中のそれぞれの構造記述情報(例えば、6124A、6124A)によって記述される物体サイズおよび/または物体形状と同じまたは実質的に同じサイズおよび/または形状を有するように、1つ以上の追加の候補領域(例えば、6125A、6125A)の各々を決定しうる。
一部の実例では、一次候補領域(例えば、6125A)は、安全ボリュームリスト中の1つ以上の二次候補領域(例えば、6125Aまたは6125A)に対して異なるサイズを有してもよい。こうした状況は、安全ボリュームリスト中の二次候補領域(例えば、6125A、または6125A)に関連付けられた物体認識テンプレートによって記述される物体サイズとは異なる物体サイズを記述する、一次候補領域(例えば、6125A)に関連付けられる、一次物体認識テンプレート(例えば、6122A)の結果でありうる。例えば、一次検出仮説Aに関連付けられる一次物体認識テンプレートは、第1の物体サイズ(例えば、物体長さと物体幅との第1の組み合わせ)を示す、構造記述情報(例えば、6124A)を有してもよく、一方で、二次候補領域のうちの1つに関連付けられる物体認識テンプレート(例えば、6122A)は、第1の物体サイズとは異なる第2の物体サイズを示す、構造記述情報(例えば、6124A)を有してもよい。
実施形態では、計算システム1100は、二次候補領域と一次候補領域との間の重複の量に基づいて、安全ボリュームリストが二次候補領域を含むかどうかを決定するように構成されてもよい。例えば、計算システム1100は、候補領域6125Aを安全ボリュームリストに追加するかどうか、および候補領域6125Aを安全ボリュームリストに追加するかどうかを決定しうる。上述のように、候補領域6125A、6125Aは、上述した、1つ以上の残りの合致する物体認識テンプレート6122A、6122Aのサブセットに関連付けられてもよい。この実施例では、計算システム1100は、候補領域6125A、6125Aの各々について、候補領域と一次候補領域6125Aとの間のそれぞれの重複の量を決定するように構成されてもよい。例えば、図6Fは、候補領域6125Aと一次候補領域6125Aの交点である重複領域6127を決定する計算システム1100を示している。この実施例では、計算システムは、重複領域6127のボリュームと等しいか、またはそれに基づいて、候補領域6125Aと一次候補領域6125Aとの間の重複の量を決定しうる。計算システム1100は、2つの領域6125A、6125Aの間の重複の量が所定の重複閾値を超えているかどうかを決定してもよく、重複の量が所定の重複閾値を超えている場合に、候補領域6125Aを安全ボリュームリスト(上述の1つ以上の追加の候補領域の一部となるような)に含めることができる。
実施形態では、計算システム1100は、二次検出仮説または二次候補領域に関連付けられた物体認識テンプレートが、一次検出仮説に関連付けられた一次物体認識テンプレートと類似しているかどうかに基づいて、安全ボリュームリストが、特定の二次検出仮説または二次候補領域を含むかどうかを決定しうる。一部の実例では、類似性は、類似しているそれぞれの信頼値を有する(例えば、所定の信頼類似性閾値と等しいか、またはそれ以下の差を有する)2つの物体認識テンプレートを指しうる。一部の実例では、類似性は、類似の視覚的記述情報または類似の構造記述情報などの、類似のテンプレート情報を有する2つの物体認識テンプレートを指しうる。
より具体的には、上述したように、計算システム1100は、画像情報を、複数の物体認識テンプレート(そのうちの1つが、一次物体認識テンプレート(例えば、6122A)になりうる)と比較するように構成されてもよい。計算システム1100は、一次物体認識テンプレート(例えば、6122A)が、一次物体認識テンプレートに関連付けられた信頼値と、少なくとも1つの他の物体認識テンプレートに関連付けられた信頼値を比較することによって、少なくとも1つの他の物体認識テンプレート(例えば、6122A)と類似しているかどうかを決定するように構成されてもよい。一部の実例では、計算システム1100は、物体認識テンプレート(例えば、6122A)を画像情報と比較する代わりに、またはそれに加えて、少なくとも1つの他の物体認識テンプレート(例えば、6122A)を、一次物体認識テンプレート(6122A)と直接的に比較するように構成されてもよい。一部の状況では、カメラ(例えば、3300)の環境内の照明状態が、生成される画像情報に影響を与えてもよく、物体認識テンプレート(例えば、6122A)のうちの1つ以上と画像情報を正確に比較する能力を制限しうるため、物体認識テンプレートのこの直接的な比較が行われてもよい。例えば、こうした状況で、特定の物体認識テンプレート(例えば、6122A)を画像情報と比較することは、低い信頼値を生成しうる。しかしながら、こうした状況における計算システム1100は、依然として、物体認識テンプレートと一次物体認識テンプレートとの比較に基づいて、物体認識テンプレート(例えば、6122A)、またはその関連する検出仮説もしくは候補領域を、安全ボリュームリストに追加することを決定してもよい。
物体認識テンプレートを比較する一例として、計算システム1100は、テンプレート記憶空間6122に記憶された複数の物体認識テンプレート6122A~6122Aについて、複数の物体認識テンプレート6122A~6122Aが、一次物体認識テンプレート6122Aと比較されるときに所定のテンプレート類似性条件を満たす、少なくとも1つの物体認識テンプレート(一次物体認識テンプレート6122A自体以外)を有するかどうかを決定するように構成されてもよい。上述のように、一次物体認識テンプレートは、一次検出仮説Aに関連付けられた合致する物体認識テンプレートであってもよく、この実施例では、第1の物体認識テンプレートと呼ばれてもよい。言い換えれば、計算システム1100は、複数の物体認識テンプレート6122A~6122Aが、一次物体認識テンプレート6122Aまたは第1の物体認識テンプレート以外に、一次物体認識テンプレート6122Aと比較されるときに所定のテンプレート類似性条件を満たす、少なくとも1つの物体認識テンプレートを有するかどうかを決定しうる。少なくとも1つのこうした物体認識テンプレートがある場合、計算システム1100は、安全ボリュームリストが少なくとも1つの物体認識テンプレートに基づいて生成されるように、少なくとも1つの物体認識テンプレートを安全ボリュームリストに追加してもよい。上述のように、所定のテンプレート類似性条件は、類似の視覚的記述情報(例えば、類似の記述子)および/または類似の構造記述情報を有する2つの物体認識テンプレートを含みうる。
実施形態では、図4の方法4000は、計算システム1100が、上述した物体検出情報(例えば、6126)に基づいて、またはより具体的には、物体検出情報における一次候補領域(例えば、6125A)に基づいて、および物体検出情報における安全ボリュームリストに基づいて、運動計画を実施するステップを含みうる。より具体的には、運動計画は、安全ボリュームリストにある場合に、一次候補領域および1つ以上の二次候補領域(例えば、6125A、6125A)に基づいて実施されうる。運動計画は、ロボット(例えば、3300)と、受信した画像情報によって表される物体(例えば、3510)との間のロボット相互作用に使用されうる。例えば、運動計画は、ロボットのエンドエフェクタ装置(例えば、3330)の運動を決定して、エンドエフェクタ装置に物体を握ったり、ピックアップしたり、そうでなければ係合させたりすることを伴ってもよく、および/または物体を目的位置に移動させるために、エンドエフェクタ装置が物体と係合した後に、エンドエフェクタ装置が追従する軌道を決定することを伴ってもよい。
実施形態では、計算システム1100は、一次物体認識テンプレート(例えば、6122A)に関連付けられた一次候補領域(例えば、6125A)を包含し、および1つ以上の追加領域を包含する、境界領域(例えば、境界ボリューム、またはABBボックスなどの境界ボックス)を決定することによって、運動計画を実施しうる。一部の実例では、1つ以上の追加領域は、上述の1つ以上の二次検出仮説に関連付けられている、またはより具体的には、上述の1つ以上の残りの合致する物体認識テンプレート(例えば、6122A、6122A)のサブセットに関連付けられている、1つ以上の二次候補領域(例えば、6125A、6125A)であってもよい。例えば、図6Dは、図6Hに示されるように、一次候補領域6125Aを包含する、境界領域6130を示している。図6Iおよび図6Jでは、境界領域6130は、この実施例では、二次候補領域でありうる、追加の候補領域6125A、6125Aをさらに包含してもよい。一部の実例では、境界領域は、以下でより詳細に論じる、合致しない領域を包含しうる。
実施形態では、境界領域は、エンドエフェクタ装置が、受信した画像情報によって表される物体(例えば、3510)をピックアップした後に、物体を目的位置に移動させるための、エンドエフェクタ装置(例えば、3300)の軌道を決定するために、計算システム1100によって、または別の計算システムによって使用されうる。例えば、計算システム1100は、境界領域(例えば、6130)を使用して、エンドエフェクタ装置(例えば、3330)が軌道をたどる場合の衝突のリスクを決定することができる。衝突は、ロボットの環境(例えば、電気配線)、またはロボットが位置する部屋もしくは建物の構造(例えば、壁またはビーム)における、物体(例えば、3510)と他の物体の構造との間にありうる。より具体的には、境界領域は、物体(例えば、3510)がエンドエフェクタ装置(例えば、3330)によって移動される際に、物体(例えば、3510)を囲む領域を表しうる。一部の実装形態では、計算システム1100は、境界領域(例えば、6130)が、エンドエフェクタ装置(例えば、3330)の軌道に従うか、または実質的に従っている場合、境界領域(例えば、6130)が、ロボットの環境の中にある物体、部屋、または建物の構造と交差するかどうかを決定しうる。計算システム1100は、境界領域が、ロボットの環境でこのような構造と交差する状況を回避するように、軌道を調整してもよい。これは、境界領域(例えば、6130)は、一次物体認識テンプレートまたは一次検出仮説に基づくだけでなく、例えば、衝突回避のために境界領域を使用することによって、衝突回避をより頑強にしうる、例えば、1つ以上の二次検出仮説を含む、安全ボリュームリストにも基づいてもよいことが理由である。例えば、境界領域は、物体(例えば、3310)のサイズおよび形状を考慮してもよく、衝突回避のための許容誤差を増加させるために、物体の周りに一定量のクリアランスをさらに含みうる。
実施形態では、計算システム1100は、上述したように、衝突のリスクを減少させるために、境界領域(例えば、6130)を使用して、エンドエフェクタ装置(例えば、3330)の軌道を決定することによって、運動計画を実行してもよく、一次候補領域(例えば、6125A)を使用して、ロボットの把持運動をさらに決定してもよい。ロボットの把持運動は、例えば、物体(例えば、3510)を把持、ピックアップ、またはその他の方法で係合するための、エンドエフェクタ装置(例えば、3330)の1つ以上の構成要素の運動を含みうる。例えば、物体(例えば、3510)が容器である場合、一次候補領域(例えば、6125A)は、容器の外形の推定を提供しうる。計算システム1100は、容器の外形に基づいて、エンドエフェクタ装置によって担持される容器上の1つ以上の位置、および/または容器をピックアップするために、エンドエフェクタ装置がどのように移動するかを決定するように構成されうる。
上述したように、合致する物体認識テンプレートは、2D画像情報に合致する視覚的記述情報を有してもよく、および/または3D画像情報に合致する構造記述情報を有してもよい。例えば、図7Aは、物体認識テンプレート7122Aが、図5Aの2D画像情報またはより具体的には、2D画像5600またはその部分5610に合致する、視覚的記述情報7123Aのセットを有し、物体認識テンプレート7122Bが、図5Bの3D画像情報5700(例えば、点群)またはより具体的には、その部分5710に合致する、構造記述情報7124Bのセットを有する、実施例を示している。この実施例では、物体認識テンプレート7122Aは、第1のテンプレート記憶空間7122Aに記憶された物体認識テンプレート7122A、7122Aのセットの一部であってもよく、一方で、物体認識テンプレート7122Bは、第2のテンプレート記憶空間7122Bにおける物体認識テンプレート7122B、7122Bのセットの一部であってもよい。図7Aにおける物体認識テンプレートは各々、視覚的記述情報のそれぞれのセット(例えば、7123A、7123A、7123B、7123B)、および構造記述情報のそれぞれのセット(例えば、7124A、7124A、7124B、7124B)を有してもよい。実施形態では、テンプレート記憶空間7122Aは、テクスチャありテンプレートの記憶専用とすることができ、一方で、テンプレート記憶空間7122Bは、テクスチャなしテンプレートの記憶専用とすることができる。したがって、この実施例では、物体認識テンプレート7122A、7122Aは、テクスチャありテンプレートであってもよく、物体認識テンプレート7122B、7122Bは、テクスチャなしテンプレートであってもよい。テクスチャなしテンプレートは、その外観に視覚的詳細の閾値レベルを有さない、物体または物体タイプを記述するテンプレートであってもよい。テクスチャなしテンプレートは、米国特許出願 第16/991,510号(弁理士整理番号MJ0051-US/0077-0011US1)でより詳細に論じられ、一方で、テンプレート記憶空間は、米国特許出願 第16/991,466号(弁理士整理番号MJ0054-US/0077-0012US1)でより詳細に論じられ、それらの内容全体が参照により本明細書に組み込まれる。
上述のように、図7Aは、物体認識テンプレート7122Aおよび物体認識テンプレート7122Bが、合致する物体認識テンプレートのセットを形成しうる状況を示している。より具体的には、物体認識テンプレート7122Aは、2D画像5600/5610と比較されたときに、所定のテンプレート合致条件を満たす視覚的記述情報7123Aを有してもよい。1つの実施例では、物体認識テンプレート7122Aは、一次物体認識テンプレートであってもよく、図7Bの物体検出情報7126(これは、物体検出情報1126の実施形態でありうる)において識別される一次検出仮説7Aに関連付けられてもよい。この実施例では、物体認識テンプレート7122Aは、1つの合致する物体認識テンプレートであるが、物体認識テンプレート7122Bは、残りの合致する物体認識テンプレートのサブセットを形成してもよい。より具体的には、物体認識テンプレート7122Bは、3D画像情報5700/5710(例えば、点群)と比較されるときに、所定のテンプレート合致条件を満たす構造記述情報7124Bを含みうる。この実施例では、物体認識テンプレート7122Bを使用して、図7Bに示されるように、物体検出情報7126によって記述される安全ボリュームリストに含まれるべき二次検出仮説7Bを生成することができる。実施形態では、物体検出情報7126は、図7Cに示されるように、一次物体認識テンプレート7122Aに基づいて、またはより具体的には、構造記述情報7124Aに基づいて生成される、一次候補領域7125Aを含みうる。一次候補領域7125Aは、一次検出仮説にさらに関連付けられてもよい。この実施形態では、物体検出情報7126は、物体認識テンプレート7122Bに基づいて、もしくはより具体的には、構造記述情報7124Bに基づいて生成され、および/または二次検出仮説に関連付けられる、二次候補領域7125Bを記述する安全ボリュームリストを含みうる。
実施形態では、計算システム1100は、二次候補領域7125Bと一次候補領域7125Aとの間の重複の量に基づいて、二次候補領域7125Bを安全ボリュームリストに含めるかどうかを決定しうる。例えば、図7Dは、二次候補領域7125Bおよび一次候補領域7125Aの両方にある空間を囲む、重複領域7127を描写している。重複の量は、例えば、重複領域7127のボリューム、または重複領域7127のボリュームと一次候補領域7125Aのボリュームとの間の比によって表されてもよい。計算システム1100は、重複の量が所定の重複閾値以上である場合に、二次候補領域7125Bを安全ボリュームリストに追加してもよく、他の方法では、二次候補領域7125Bを安全ボリュームリストから除外してもよい。
一実施形態では、図7E~図7Gに示すように、計算システム1100は、安全ボリュームリストに、一次候補領域7125Aを包含し、および二次候補領域7125Bを包含する、境界領域7130を決定することによって、上記の例についての運動計画を実施しうる。上述のように、境界領域7130を使用して、ロボット相互作用を行うための軌道を生成してもよい。
実施形態では、計算システム1100は、物体認識テンプレートと画像情報を整列させる異なる方法、またはより具体的には、物体認識テンプレート中の視覚的記述情報を、画像情報中の視覚的パターンと整列させる異なる方法を表す、複数の候補領域を生成するように構成されてもよい。例えば、図8Aは、物体8510の表面上に配置された視覚的パターン8512を有する物体8510(例えば、箱)が、カメラ視野3210A/3210Bの中にあるシナリオを描写している。この実施例では、計算システム1100は、図8Bに示される2D画像8600を含む、画像情報を受信することができる。2D画像8600は、カメラ(例えば、3210A)によって生成されてもよく、物体8510を表す一部分(例えば、ピクセル領域)8610を含んでもよい。計算システム1100は、2D画像8600/8610を、図8Cに示されるテンプレート記憶空間8122(これは、テンプレート記憶空間1122の実施形態でありうる)に記憶された物体認識テンプレート8122Aと比較するように構成されてもよい。物体認識テンプレート8122Aは、その視覚的記述情報8123Aが、2D画像8600と比較されるときに、所定のテンプレート合致条件を満たすことができるため、合致する物体認識テンプレートであってもよい。
実施形態では、計算システム1100は、物体認識テンプレート8122Aと2D画像8600/8610との比較の間に、2D画像8600/8610によって表される視覚的パターン8210と、テンプレートの視覚的記述情報8123Aを整列させる複数の方法を決定しうる。例えば、図8D~図8Fは、視覚的記述情報8123Aおよび視覚的パターン8210を少なくとも部分的に整列させるための、計算システム1100によって決定される3つの異なる方法を示している。1つの実施例では、計算システム1100は、図8Gに示すような、一次候補領域8125Aを生成してもよく、これは、2D画像8600/8610内の視覚的パターン8210を、物体認識テンプレート8122A内の視覚的記述情報8123Aと整列させる第1の方法を表す。例えば、この整列の第1の方法は、図8Eに示される整列であってもよく、ここにおいて、視覚的記述情報8123Aによって記述されるコーナーは、カメラ座標系または何らかの他の座標系における[X]の座標を表す。計算システム1100は、例えば、座標[X]および構造記述情報8124Aに基づいて、一次候補領域8125Aを生成してもよい。例えば、計算システム1100は、一次候補領域8125Aが、座標[X]に1つのコーナーを有しており、かつ構造記述情報8124Aと同一であるか、またはそれに基づくサイズおよび/または形状を有していると決定しうる。この整列の第1の方法は、一次検出仮説を表してもよく、または一次検出仮説に関連付けられてもよい。
上記の実施例では、計算システム1100は、候補領域8125Aおよび8125Aなどの1つ以上の二次候補領域を生成し、これらの候補領域を、安全ボリュームリストに含めることができる。整列の第2の方法は、図8Dに示されている整列であってもよく、ここにおいて、テンプレートの視覚的記述情報8123Aによって記述されるコーナーは、座標[X]を表しており、一方で、整列の第2の方法は、図8Fに示されている整列であってもよく、ここにおいて、コーナーは、座標[X]を表している。
実施形態では、異なる候補領域は、構造記述情報のセットによって記述される物体形状の異なる配向を表しうる。実施例として、図9Aは、カメラ視野3210A/3210Bの物体9510Aおよび9510B(例えば、箱)を示している。2つの物体9510Aおよび9510Bは、境界部8511によって分離されてもよく、境界部8511は、例えば、互いに隣接する9510A、9510Bの2つのそれぞれのエッジまたは表面によって形成されてもよい。この実施例では、カメラ3200Aは、図9Bに示されるように、物体9510Aおよび9510Bを表す2D画像9600を生成してもよく、一方で、カメラ3200Bは、図9Dおよび図9Eに示されるように、物体9510Aおよび9510Bを表す点群9710または他の3D画像情報を生成してもよい。計算システム1100は、2D画像9600および点群9710を、図9Cにおける物体認識テンプレート9122B(例えば、テクスチャなしテンプレート)、またはより具体的には、視覚的記述情報9123Bのセット、および構造記述情報9124Bのセットとそれぞれ比較するように構成されてもよい。
この実施例では、計算システム1100は、構造記述情報9124Aが、図9Dに示されるように、第1の配向を有する候補領域を画定し、図9Eに示されるように、第2の配向を有する別の候補領域を画定することができることを決定しうる。第1の配向(例えば、垂直配向)は、例えば、第2の配向(例えば、水平配向)に対して垂直であってもよい。両方の配向によって、構造記述情報9124Aが点群9710の少なくとも一部分と合致することが可能になりうる。しかし、図9Eの配向は、対応する候補領域を、物体9510Aと9510Bとの間の境界部9511を超えて延在させてもよく、図9Eの実施例は、計算システム1100が、高度の信頼性をもって境界部9511を検出することができない状況で発生しうる。例えば、境界部9511は、2D画像9600で(例えば、照明状態により)少なくとも部分的に遮蔽されてもよい。例えば、図9Bは、部分的にのみ境界部9511を表す画像ピクセル9611を描写している。この実施例では、計算システム1100は、画像ピクセル9611が2つの物体の間の境界を表すかどうか、または画像ピクセルが画像アーチファクトであるかどうかを、高い信頼性で決定することができない場合がある。さらに、一部の実例では、こうした境界部は、点群5710で表されない場合がある。したがって、計算システム1100は、候補領域に対して図9Eに示す配向が、十分に高い信頼値を有してもよく、その結果、図9Eの候補領域が、カメラ視野3210A/3210B内の物体(複数可)との相互作用を計画するのに役立つ可能性があることを決定しうる。したがって、図9Fに示すように、計算システム1100は、図9Dで配向を表す、一次候補領域9125Bを生成し、図9Eで配向を表す、二次候補領域9125Bを生成してもよく、ここにおいて、二次候補領域9125Bは、安全ボリュームリストに含まれうる。このシナリオでは、テンプレート9122Bの構造記述情報9124Bは、物体形状を記述してもよく、その結果、一次候補領域9125Bは、物体形状に対する1つの配向に対応してもよく、二次候補領域9125Bは、物体形状に対する別の配向に対応してもよい。
実施形態では、計算システム1100は、画像情報内に現れるか、またはそうでなければ画像情報によって表されるエッジまたはコーナーのセットによって囲まれた第1の領域について画像情報内を検索するように構成されてもよく、ここにおいて、第1の領域は、第1の物体認識テンプレートまたは第1の候補領域に対応してもよい。計算システム1100は、その検索を拡大して、画像情報によって表されるエッジまたはコーナーの他のセットによって囲まれた、追加の領域をさらに識別してもよく、ここにおいて、追加の領域は、他の物体認識テンプレートまたは候補領域に対応してもよい。一部の実例では、計算システム1100は、画像情報がテクスチャなし画像に対応するという決定に応答して、こうした検索を実施しうる。画像情報内の領域を検索する一例として、図10Aは、カメラ視野3320A/3320Bの1つ以上の物体10510に基づいて画像情報が生成される実施例を示している。1つ以上の物体10510は、例えば、箱の外表面にわたって配置されたテープ片を有する単一の箱などの単一の物体であってもよく、または互いに隣接する複数の箱などの複数の物体であってもよい。この実施例では、カメラ3200Aおよび/またはカメラ3200Bは、1つ以上の物体10510を表すための画像情報を生成するように構成されてもよい。図10Bおよび図10Cで示すように、画像情報は、1つ以上の物体10510を表すためのその少なくとも画像部分10610を有する2D画像10600などの2D画像情報、および/または1つ以上の物体10510を表すその少なくとも一部分10710を有する3D画像情報10700(例えば、点群)を含みうる。計算システム1100が画像情報を受信すると、計算システム1100は、画像情報を、図10Dに示される物体認識テンプレート10122B~10122Bのセットと比較することができる。
より具体的には、比較を容易にするために、計算システム1100は、図10Eの画像領域10611などの第1の画像領域を識別することができ、物体認識テンプレート10122B~10122Bのうちのいずれかが第1の画像領域に合致する(例えば、所定のテンプレート合致条件を満たす)かどうかを決定することができる。第1の画像領域(例えば、10611)は、例えば、2D画像10600の第1のピクセル領域、または点群もしくは他の3D画像情報内の座標もしくは位置の第1の領域であってもよい。一部の実装形態では、計算システム1100は、画像情報に基づいて、10511、10512、10513、10514などの画像コーナーの第1のセット、および/または10521、10522、10523、10524などの画像エッジの第1のセットを識別または検出することによって、第1の画像領域を識別しうる。画像コーナーの各々は、例えば、物体コーナーを表す2D画像10600のピクセルもしくはピクセルのクラスタ、または物体コーナーを表す点群の座標であってもよい。一部の実例では、画像コーナー10511などの画像コーナーのうちの少なくとも1つは、1つ以上の物体10510の凸状コーナーに対応するか、またはそれを表しうる。一部の実装形態では、画像エッジが計算システムによって識別される場合、画像エッジのうちの少なくとも一部は、少なくとも1つの画像コーナーから延在しうる。計算システム1100は、第1の画像領域10611を、画像コーナーの第1のセット10511~10514および/または画像エッジの第1のセット10521~10524によって結合される、その間に位置する、またはそうでなければ画定される、画像領域として決定しうる。この実施例では、計算システム1100は、任意の物体認識テンプレート(例えば、10122B)が、第1の画像領域10611、またはより具体的には、第1の画像領域10611に対応する画像情報の一部分と比較したときに、所定のテンプレート合致条件を満たすかどうかを決定しうる。一部の実例では、計算システムは、合致する物体認識テンプレート(例えば、10122B)を使用して、一次検出仮説および/または一次候補領域を生成しうる。
上述のように、計算システム1100は、第1の画像領域(例えば、10611)の画像エッジを、第1の画像領域の外にある画像情報内の他の画像コーナーに拡張することができるかどうかを決定することによってなどで、画像情報内の画像領域に対するその検索を拡大するように構成されてもよい。例えば、図10F~図10Hは、画像情報(例えば、10600)において、第2の画像領域10612、第3の画像領域10613、および第4の画像領域10614を識別する計算システムを描写している。図10Fの実施例では、計算システム1100は、画像コーナーの第2のセット(10511、10513、10515、10516)および/または画像エッジの第2のセット(10521、10522、10524、10525)を識別しうる、第2の画像領域10612を識別してもよい。画像コーナーの第2のセットは、画像コーナーの第1のセットに、画像コーナー10511(凸状コーナーを表しうる)などの少なくとも1つの画像コーナーを含んでもよく、第1の画像領域10611の外側にある少なくとも1つの画像コーナー(例えば、10515、10516)を含んでもよい。計算システム1100は、第2の画像領域10612を、画像エッジの第2のセットおよび/または画像コーナーの第2のセットの間に位置する、またはそうでなければ、それによって画定される領域として決定しうる。一部の実例では、計算システム1100は、第1の画像領域の画像エッジ10522、10524が、第1の画像領域10611を通過して、10515、10516などの画像コーナーの第2のセットの一部に向かって延在するように、第1の画像領域の画像エッジ10522、10524を延在させることによって、第2の画像領域10612を画定することができる。結果として、第2の画像領域10612は、第1の画像領域10611を超えて延在しうる。計算システム1100は、任意の物体認識テンプレート(例えば、10122B)が第2の画像領域に合致するかどうかを決定するように構成されてもよく、物体認識テンプレートに基づいて、二次検出仮説および/または二次候補領域を生成してもよい。二次候補領域および/または二次検出仮説は、安全ボリュームリストに追加されてもよい。
図10Gに示すように、計算システム1100は、画像情報における画像コーナーの第3のセット(10511、10512、10517、10518)および/または画像エッジの第3のセット(10521、10522、10524、10526)を識別し、画像コーナーの第3のセットおよび/または画像エッジの第3のセットの間に位置する第3の画像領域10613を決定しうる。同様に、図10Hに示すように、計算システム1100は、画像コーナーの第4のセット(10511、10515、10517、10519)および/または画像エッジの第4のセット(10521、10522、10525、10526)を識別し、画像コーナーの第4のセットおよび/または画像エッジの第4のセットの間に位置する第4の画像領域10614を決定しうる。計算システム1100は、第3の画像領域10613が、テンプレート記憶空間に現在記憶されている任意の既存の物体認識テンプレート(例えば、10122B)に合致するかどうか、および第4の画像領域10614が、任意の既存の物体認識テンプレート(例えば、10122B)に合致するかどうかを決定するように構成されてもよい。合致する物体認識テンプレート(複数可)がある場合、計算システム1100は、合致する物体認識テンプレートに基づいて、追加の候補領域(複数可)または検出仮説を生成するように構成されうる。一部の実例では、追加の候補領域または検出仮説が、安全ボリュームリストに追加されてもよい。
上述のように、安全ボリュームは、一部の実例では、合致しない領域を含むか、または記述しうる。実施例として、図11Aは、カメラ視野における物体11510を示しており、一方で、図11Bおよび図11Cは、物体11510を表すためにカメラ3200Aによって生成される2D画像11600、および物体11510を表すためにカメラ3200Bによって生成される3D画像情報11700(例えば、点群)を示している。この実施例では、物体11510は、部分的にカメラ視野3210A/3210B内にあってもよい。2D画像11600は、より具体的には、物体11510を表す一部分11610と、物体11510に隣接する(例えば、物体のすぐ近くに隣接する)物理的領域(例えば、空間領域)を表す一部分11640と、を含みうる。同様に、3D画像情報11700は、物体11510を表す第1の部分11710と、物体11510に隣接する物理的領域を表す一部分11740と、を含みうる。2D画像11600および/または3D画像情報11700を受信した後、計算システム1100は、画像情報を、図11Dの物体認識テンプレート11122Aなどの1つ以上の物体認識テンプレートと比較することができる。
実施形態では、計算システム1100は、物体認識テンプレート11122Aが、2D画像11600の部分11610(画像部分とも呼ばれる)、および/または3D画像情報11700の部分11710などの、受信した画像情報の一部分に合致すると決定しうる。より具体的には、計算システム1100は、例えば、テンプレート11122Aの視覚的記述情報が、2D画像11600の画像部分11610と比較された場合に、所定のテンプレート合致条件を満たすと決定しうる。こうした実施形態では、画像部分11640および/または画像部分11740などの2D画像11600の別の部分および/または3D画像情報11700の別の部分は、物体認識テンプレート11122Aによって説明不能なままであってもよく、またはより一般的には、物体認識テンプレート11122Aに対して合致しなくてもよい。一部のシナリオでは、計算システム1100は、計算システム1100によってアクセス可能な1つ以上のテンプレート記憶空間にある他の物体認識テンプレートが、画像部分11640および/または11740と比較された場合に、所定のテンプレート合致条件を満たすことはないとさらに決定しうる。こうしたシナリオでは、2D画像11600の画像部分11640および3D画像情報の画像部分11740は、合致しない画像部分であってもよく、物体(例えば、11510)に隣接した合致しない領域を表してもよく、ここにおいて、物体は、画像情報の合致した部分(例えば、11610、11710)によって表される。
実施形態では、計算システム1100は、安全ボリュームリスト内の合致しない領域を記述してもよく、または識別してもよい。例えば、図11Eに示すように、計算システム1100は、合致する物体認識テンプレート11122Aに基づいて一次候補領域11125Aを生成してもよく、合致しない領域11125Cを記述する安全ボリュームリストをさらに生成してもよく、ここにおいて、合致しない領域11125Cは、上述した合致しない画像部分11640/11740に基づいて生成または決定される。例えば、合致しない領域11125Cは、3D画像情報11700(例えば、点群)の合致しない画像部分11740のサイズと同じか、またはそれに基づくサイズを有してもよい。計算システム1100が、境界領域を生成することによって運動計画を実施する場合、境界領域は、存在する場合に、安全ボリュームリストにおける一次候補領域(例えば、11125A)および合致しない領域(例えば、11125C)を包含しうる。
図12A~図12Gは、合致しない領域、より具体的には、合致しない領域を含む二次候補領域を伴う別の実施例を提供している。より具体的には、図12Aおよび図12Bに示すように、カメラ3200A/3200Bは、1つ以上の物体12510を表す2D画像12600などの画像情報を生成しうる。1つ以上の物体12510は、箱を横切って配置された一片のテープを有する箱などの単一の物体であってもよく、または互いに隣り合わせに配置された複数の物体であってもよい。計算システム1100が画像情報(例えば、12600)を受信すると、計算システム12600は、画像情報を、図12Cのテンプレート12122Aおよび12122Bなどの1つ以上の物体認識テンプレートと比較することができる。
より具体的には、計算システム1100は、図12Bの画像情報内の1つ以上の画像領域を検索することによって、比較を容易にすることができる。一部の実装形態では、こうした検索は、画像情報がテクスチャなしであるとの決定に応答して行われてもよい。図10E~図10Hの説明のように、計算システム1100は、画像コーナーおよび/または画像エッジを識別することによって、画像領域を識別しうる。例えば、図12Dに示すように、計算システム1100は、画像コーナーの第1のセット(12511、12512、12513、12514)および/または画像エッジの第1のセット(12521、12522、12523、12524)を識別することによって、第1の画像領域12611を識別しうる。計算システム1100は、第1の画像領域12611を、画像コーナーおよび/または画像エッジの間に位置する画像領域として識別しうる。この実施例では、計算システム1100は、例えば、第1の画像領域12611が、物体認識テンプレート12122Bと比較したときに、所定のテンプレート合致条件を満たすことを決定しうる。計算システム1100は、合致する物体認識テンプレート12122Bに基づいて、図12Gに示されるように、一次候補領域12125Bを生成するように構成されうる。
図12Eに示すように、計算システム1100は、第2の画像領域12612をさらに識別してもよいが、第2の画像領域12612は、テンプレート記憶空間内に記憶された任意の既存の物体認識テンプレートと合致しない画像部分を含みうる。より具体的には、計算システム1100は、第1の画像領域12611を超えて延在するか、またはその外側にある、追加の画像コーナー12515、12516を識別するように構成されてもよい。計算システム1100は、第1の画像領域12611の画像エッジ12522、12524を、第1の画像領域12611を超えて第1の方向に、かつ第1の画像領域12611の外側にある追加の画像コーナー12515、12516に向かって拡張することによって、第1の画像領域12611を超えて延在する第2の画像領域12612を識別するように試みることができる。すなわち、図10E~図10Fに関する議論と同様に、追加画像コーナー12515、12516は、画像コーナーの第2のセット(12511、12514、12515、12516)の一部を形成してもよく、拡張画像エッジは、画像エッジの第2のセット(12521、12522、12524、12525)を形成してもよい。第2の画像領域12612は、画像コーナーの第2のセットの間、および/または画像エッジの第2のセットの間に位置する画像領域であってもよい。
図12Eの実施例では、第2の画像領域12612は、合致しない画像部分を含みうる。より具体的には、図12Fに示すように、画像情報は、画像領域12611に隣接する画像部分12640(例えば、別の画像領域)を含みうる。画像部分12640は、物体認識テンプレート12122Aおよび12122Bに対する、所定のテンプレート合致条件と合致しない場合がある。合致しない画像部分12640は、図12Gにおいて領域12125Cとして示されている、合致しない領域を表すことができる。この実施例では、計算システム1100は、第2の画像領域12612が合致しない画像部分12640を含むという決定に応答して、合致しない画像部分12640に基づく二次候補領域12125Dを生成するように構成されうる。より具体的には、図12Gに示される二次候補領域12125Dは、一次候補領域12125Bおよび合致しない領域12125Cを包含する領域であってもよい。この実施例の合致しない領域12125Cは、一次候補領域12125Bのすぐ近くに隣接する領域であってもよい。
図12Hは、計算システム1100が、第1の画像領域12611の画像エッジを第2の方向に拡張することによって、第3の画像領域を検索することができる、実施例を示している。計算システム1100がこうした第3の画像領域を識別する場合に、計算システム1100は、図12E~図12Gに関する上記の議論と同様の方法で、別の候補領域(例えば、別の二次候補領域)を生成することができる。この実施例では、計算システム1100は、第3の画像領域として、図12Hの画像エッジ12521および12523などの少なくとも1対の画像エッジを、図12Hに示される第2の方向において、第1の画像領域12611を超えて、かつ別の対の画像コーナー、より具体的には12517、12518に向かって拡張することによって特に形成される領域を試みることができる。この実施例では、しかしながら、計算システム1100は、画像エッジ12521が画像コーナー12517に達するように拡張されうるが、画像エッジ12523は、画像コーナー12518に対するオフセットを有し、したがって、画像エッジ1253が拡張されたときでさえも、画像コーナー12518に達することができないため、こうした第3の画像領域が形成されないと決定しうる。より具体的には、画像コーナー12518は、画像コーナー12523が拡張されたときでさえも、画像コーナー12518が画像コーナー12523と交差しないように、画像コーナー12523の軸上に位置付けられない場合がある。こうした状況は、画像コーナー12517、12518に対応する構造が、第1の画像領域12611に対応する構造と同じ物体の一部ではなく、そのため、コーナー12517、12518の周りの構造に関する情報が、安全ボリュームリストに含まれる必要はないことを示しうる。したがって、計算システム1100は、画像情報(例えば、12600)が、安全ボリュームリストに対する別の候補領域を生成するために使用されうる第3の画像領域を有さないことを決定しうる。
実施形態では、計算システム1100は、合致しない画像部分および/または合致しない領域に基づいて、新しい物体認識テンプレートを生成するように構成されてもよい。新しい物体認識テンプレートを生成することは、自動物体登録プロセスの一部であってもよく、例えば、図2Dの物体登録モジュール1128によって実施されてもよい。例えば、計算システム1100は、図12Eの状況に応答して、新しい物体認識テンプレートを生成することができ、ここにおいて、第2の画像領域12612は、すべての既存の物体認識テンプレートと不一致である合致しない画像部分12640を含む。新しい物体認識テンプレートは、合致しない画像部分12640に基づいて生成されうる。一部の実例では、計算システム1100は、合致しない画像部分12640または合致しない画像部分によって表される合致しない領域12125Cが、所定のサイズ閾値を満たすか、またはそれを超えているかどうかを決定しうる。所定のサイズの閾値は、例えば、所定の最小物体サイズと等しいか、またはそれに基づいてもよい。合致しない画像部分12640または合致しない領域12125Cのサイズが、所定のサイズ閾値を満たすか、またはそれを超える場合、計算システム1100は、合致しない画像部分12640および/または合致しない領域12125Cに基づいて、新しい物体認識テンプレートを生成しうる。サイズが所定のサイズ閾値より小さい場合、計算システム1100は、一部の実例では、合致しない画像部分12640に基づいて、新しい物体認識テンプレートを生成する必要がないことを決定しうる。こうした実例では、計算システム1100は、一次候補領域12125Bに関連付けられた物体認識テンプレート12122Bなどの既存の物体認識テンプレートを更新することができ、ここにおいて、更新は、合致しない画像部分12640および/または合致しない領域12125Cをさらに記述するために実施されうるか、またはより一般的には、それに基づいて実施されうる。
実施形態では、計算システムは、安全ボリュームリストに含めるために、所定の最大物体サイズまたは所定の最大物体高さを表すか、またはそれに基づく候補領域を生成するように構成されてもよい。例えば、図13Aは、カメラ3200のカメラ視野内にある、積み重ねられた物体13510、13511、13512(例えば、箱)を含むシナリオを示している。このシナリオでは、カメラ3200は、物体13510の少なくとも上面を表す画像情報を生成しうる。こうした画像情報は、物体13510の物体高さの表示を提供しないか、または限定された表示のみを提供する場合がある。この実施例では、計算システム1100は、所定の最大物体高さと等しいか、もしくはそれに基づく高さを有する、および/または所定の最大物体サイズと等しいか、もしくはそれに基づくサイズ(例えば、物体長さ、物体幅、および物体高さの組み合わせ)を有する、第1の候補領域13125Aを含む、安全ボリュームリストを生成しうる。一部の実例では、計算システム1100は、所定の最小物体高さと等しいか、もしくはそれに基づく高さを有する、および/または所定の最小物体サイズと等しいか、もしくはそれに基づくサイズを有する、追加の候補領域13125Aを、安全ボリュームリストにさらに含んでもよい。計算システム1100は、第1の候補領域13125Aおよび/または追加の候補領域13125Aを使用して、物体13510についての運動計画を行うように構成されてもよい。
図13Bは、ロボット(例えば、図3Aの3300)によって、スタックから目的位置へと移動されている物体13510を示している。この実施例では、1つ以上の線センサ13600は、物体13510の存在を検出するように構成されうる、目的位置に配置されてもよい。一部の実装形態では、1つ以上の線センサ13600は、物体が、目的位置から第1の距離である第1の仮想線13601に到達したか、またはそれと交差したときを検出し、物体が、目的位置から第2の距離を有する第2の仮想線13602に到達したか、またはそれと交差したときを検出することができ、ここにおいて、第2の距離は、第1の距離よりも短くてもよい。計算システム1100または別の計算システムは、1つ以上の線センサ13600と通信してもよく、物体が第1の仮想線13601に到達したか、またはそれと交差したときに、ロボットを減速させるように構成されてもよい。一部の実装形態では、計算システム1100は、1つ以上の線センサ13600からセンサ情報を受信して、物体13510の実際の物体高さを決定しうる。
実施形態では、本明細書で論じる所定の閾値または他の所定の値は、手動で定義され、非一時的コンピュータ可読媒体1120または他の場所に記憶されてもよい。実施形態では、所定の閾値または他の所定の値は、例えば、カメラ(例えば、3200)またはロボット(例えば、3300)の環境に基づいて、計算システム1100によって動的に計算されるか、またはそうでなければ定義され、非一時的コンピュータ可読媒体1120または他の場所に記憶されてもよい。
さらに、上述したように、計算システム1100は、実施形態では、画像情報を受信し、複数の物体認識テンプレートの中から、複数の合致する物体認識テンプレートを識別してもよい。計算システム1100は、複数の合致する物体認識テンプレートに基づいて、複数の候補領域をそれぞれ生成し、複数の候補領域に基づいて、運動計画を実施しうる。
様々な実施形態に関する追加の考察:
実施形態1は、計算システム、および計算システムによって実施される方法に関する。方法は、非一時的コンピュータ可読媒体上に記憶された命令に基づいて実施されうる。計算システムは、通信インターフェースおよび少なくとも1つの処理回路を含みうる。通信インターフェースは、ロボット、およびカメラ視野を有するカメラと通信するように構成されてもよい。少なくとも1つの処理回路は、物体がカメラ視野の中にある、またはあったときに、物体を表す画像情報を受信することであって、画像情報が、カメラによって生成されることと、1つ以上の合致する物体認識テンプレートのセットを識別することであって、1つ以上の合致する物体認識テンプレートが、画像情報と比較されるときに、所定のテンプレート合致条件を満たす1つ以上の物体認識テンプレートであり、1つ以上の合致する物体認識テンプレートのセットが、1つ以上の検出仮説のセットに関連付けられていて、1つ以上の検出仮説のセットが、どの物体または物体タイプが画像情報によって表されるかの1つ以上のそれぞれの推定であることと、1つ以上の検出仮説のセットの中から検出仮説を、一次検出仮説として、選択することであって、一次検出仮説が、1つ以上の合致する物体認識テンプレートのセットの合致する物体認識テンプレートに関連付けられており、一次検出仮説として選択された検出仮説が、1つ以上のそれぞれの信頼値のセットの中で最も高い信頼値を有しており、1つ以上のそれぞれの信頼値のセットが、1つ以上の検出仮説のセットに関連付けられていると共に、1つ以上の検出仮説のセットに関連付けられた1つ以上の合致する物体認識テンプレートのセットに画像情報が合致するそれぞれの度合いを示すことと、を行うように構成されうる。
この実施形態では、少なくとも1つの処理回路は、一次候補領域として、物体の物体境界位置を推定する、またはカメラ視野内のどの位置が物体によって占有されているかを推定する候補領域を、一次検出仮説に関連付けられた合致する物体認識テンプレートに基づいて生成することと、(i)1つ以上の合致する物体認識テンプレートのセットが、画像情報と比較されるときに、所定のテンプレート合致条件をさらに満たす、1つ以上の残りの合致する物体認識テンプレートのサブセットを、一次検出仮説に関連付けられた合致する物体認識テンプレートに加えて、有しているかどうか、または(ii)画像情報が、一次候補領域に隣接し、かつ所定のテンプレート合致条件を満たすことができない、合致しない領域を表す部分を有しているかどうか、のうちの少なくとも1つを決定することと、1つ以上の残りの合致する物体認識テンプレートのサブセットが存在するという決定、または画像情報が合致しない領域を表す部分を有しているという決定に応答して、安全ボリュームリストを生成することであって、安全ボリュームリストは、(i)合致しない領域、または(ii)物体の物体境界位置をさらに推定する、もしくはどの位置が物体によって占有されているかを推定する1つ以上の追加の候補領域、のうちの少なくとも1つを記述するリストであり、1つ以上の追加の候補領域が、1つ以上の残りの合致する物体認識テンプレートのサブセットに基づいて生成されることと、一次候補領域に基づいてかつ安全ボリュームリストに基づいて、ロボットと物体との間のロボット相互作用のための運動計画を実施することと、をさらに行うように構成されうる。
実施形態2は、実施形態1の計算システムを含む。この実施形態では、少なくとも1つの処理回路は、一次候補領域と、(i)1つ以上の追加の候補領域または(ii)合致しない領域のうちの少なくとも1つと、を包含する、境界領域を決定するように構成されており、運動計画を実施することは、境界領域に基づいて、ロボットエンドエフェクタ装置に関連付けられた軌道を決定することを含む。
実施形態3は、実施形態2の計算システムを含む。この実施形態では、運動計画を実施することは、一次候補領域に基づいてロボットの把持運動を決定することと、境界領域に基づいて軌道を決定することと、を含む。
実施形態4は、実施形態1の計算システムを含む。この実施形態では、1つ以上の検出仮説のセットは、一次検出仮説に加えて、1つ以上の残りの合致する物体認識テンプレートのサブセットに関連付けられている1つ以上の残りの検出仮説のサブセットを含む。この実施形態では、少なくとも1つの処理回路は、1つ以上の残りの検出仮説のサブセットの各検出仮説について、検出仮説に関連付けられたそれぞれの信頼値が、一次検出仮説に関連付けられた信頼値に対する所定の信頼類似性閾値内にあるかどうかを決定するように構成されており、検出仮説に関連付けられたそれぞれの信頼値が一次検出仮説に関連付けられた信頼値に対する所定の信頼類似性閾値内にあるという決定に応答して、少なくとも1つの処理回路は、安全ボリュームリスト内に、それぞれの候補領域が安全ボリュームリストの1つ以上の追加領域の一部であるように、検出仮説に関連付けられたそれぞれの候補領域を含めるように構成されている。
実施形態5は、実施形態4の計算システムを含む。この実施形態では、安全ボリュームリスト内の1つ以上の追加の候補領域の各候補領域は、一次検出仮説に関連付けられた信頼値に対する所定の信頼類似性閾値内にある信頼値を有する、それぞれの検出仮説に関連付けられている。
実施形態6は、実施形態4または5の計算システムを含む。この実施形態では、安全性ボリュームリスト内の1つ以上の追加の候補領域の各候補領域は、所定のテンプレート合致閾値以上である信頼値を有する、それぞれの検出仮説に関連付けられている。
実施形態7は、実施形態1~6のうちのいずれか1つの計算システムを含む。この実施形態では、1つ以上の残りの合致する物体認識テンプレートのサブセットは、複数のそれぞれの候補領域に関連付けられた複数の合致する物体認識テンプレートを含む。この実施形態では、少なくとも1つの処理回路は、複数の候補領域の各候補領域について、候補領域と一次候補領域との間のそれぞれの重複の量を決定することと、それぞれの重複の量が、所定の重複閾値と等しいか、またはそれを超えているかどうかを決定することと、を行うように構成されており、重複の量が所定の重複閾値と等しいか、またはそれを超えているという決定に応答して、少なくとも1つの処理回路は、候補領域が安全ボリュームリストの1つ以上の追加の候補領域の一部であるように、安全ボリュームリスト内に候補領域を含めるように構成されている。
実施形態8は、実施形態1~7のうちのいずれか1つの計算システムを含む。この実施形態では、画像情報は、2D画像情報を含み、一次検出仮説に関連付けられた合致する物体認識テンプレートは、2D画像情報と比較されるときに、少なくとも1つの処理回路によって、所定のテンプレート合致条件を満たすように決定される、視覚的記述情報のセットを含む。
実施形態9は、実施形態8の計算システムを含む。この実施形態では、1つ以上の残りの合致する物体認識テンプレートのサブセットの少なくとも1つの合致する物体認識テンプレートは、2D画像情報と比較されるときに、少なくとも1つの処理回路によって、所定のテンプレート合致条件を満たすようにさらに決定される、視覚的記述情報のそれぞれのセットを有しており、少なくとも1つの処理回路は、少なくとも1つの合致する物体認識テンプレートに基づいて、安全ボリュームリストを生成するように構成されている。
実施形態10は、実施形態9の計算システムを含む。この実施形態では、一次検出仮説に関連付けられた合致する物体認識テンプレートは、第1の物体サイズを示す構造記述情報のそれぞれのセットを含み、少なくとも1つの合致する物体認識テンプレートは、第1の物体サイズとは異なる第2の物体サイズを示す構造記述情報のそれぞれのセットを含む。
実施形態11は、実施形態8~10のうちのいずれか1つの計算システムを含む。この実施形態では、画像情報は、3D画像情報をさらに含み、1つ以上の残りの合致する物体認識テンプレートのサブセットの少なくとも1つの物体認識テンプレートは、3D画像情報と比較されるときに、少なくとも1つの処理回路によって、所定のテンプレート合致条件を満たすように決定される、構造記述情報のそれぞれのセットを有しており、少なくとも1つの処理回路は、少なくとも1つの物体認識テンプレートに基づいて、安全ボリュームリストを生成するように構成されている。
実施形態12は、実施形態8~11のうちのいずれか1つの計算システムを含む。この実施形態では、一次検出仮説に関連付けられた合致する物体認識テンプレートは、1つ以上の合致する物体認識テンプレートのセットのうちの第1の合致する物体認識テンプレートである。この実施形態では、少なくとも1つの処理回路は、1つ以上の合致する物体認識テンプレートのセットがテンプレート記憶空間内に記憶された複数の物体認識テンプレートの一部であるときに、複数の物体認識テンプレートが、第1の合致する物体認識テンプレートに加えて、第1の合致する物体認識テンプレートと比較されるときに、所定のテンプレート類似性条件を満たす少なくとも1つの物体認識テンプレートを有しているかどうかを決定することと、複数の物体認識テンプレートが、第1の合致する物体認識テンプレートと比較されるときに、所定のテンプレート類似性条件を満たす少なくとも1つの物体認識テンプレートを含むという決定に応答して、少なくとも1つの物体認識テンプレートに基づいて、安全ボリュームリストを生成することと、を行うように構成されている。
実施形態13は、実施形態1~12のうちのいずれか1つの計算システムを含む。この実施形態では、一次候補領域は、一次検出仮説に関連付けられた合致する物体認識テンプレートと画像情報を整列させる、第1の方法を表しており、少なくとも1つの処理回路は、合致する物体認識テンプレートと画像情報とを整列させる第2の方法を表す別の候補領域を、安全ボリュームリストに含めるように構成されている。
実施形態14は、実施形態1~13のうちのいずれか1つの計算システムを含む。この実施形態では、少なくとも1つの処理回路は、画像情報によって表される画像コーナーの第1のセットまたは画像エッジの第1のセットを識別することと、画像コーナーの第1のセットまたは画像エッジの第1のセットの間に位置する画像領域である、第1の画像領域を識別することであって、一次検出仮説に関連付けられた合致する物体認識テンプレートが、第1の画像領域と比較されるときに、少なくとも1つの処理回路によって、所定の合致条件を満たすように決定され、合致する物体認識テンプレートが、1つ以上の合致する物体認識テンプレートのセットのうちの第1の合致する物体認識テンプレートであることと、画像情報に基づいて画像コーナーの第2のセットまたは画像エッジの第2のセットを識別することであって、画像コーナーの第2のセットが、画像コーナーの第1のセットの一部である少なくとも1つの画像コーナーを含むと共に、第1の画像領域の外側にある少なくとも1つの画像コーナーを含み、画像エッジの第2のセットが、画像エッジの第1のセットの一部である少なくとも1つの画像エッジを含むと共に、第1の画像領域の外側にある少なくとも1つの画像エッジを含むことと、画像コーナーの第2のセットまたは画像エッジの第2のセットの間に位置する画像領域である、第2の画像領域を識別することであって、第2の画像領域が、第1の画像領域を超えて延在しており、1つ以上の合致する物体認識テンプレートのセットが、第2の画像領域と比較されるときに、少なくとも1つの処理回路によって、所定のテンプレートの合致条件を満たすように決定される、第2の合致する物体認識テンプレートを含むことと、を行うように構成されている。この実施形態では、少なくとも1つの処理回路は、第1の合致する物体認識テンプレートに基づいて、一次候補領域を生成することと、第2の合致する物体認識テンプレートに基づいて、安全ボリュームリスト内に少なくとも1つの候補領域を生成することと、を行うように構成されている。
実施形態15は、実施形態1~14のうちのいずれか1つの計算システムを含む。この実施形態では、少なくとも1つの処理回路は、画像情報が合致しない領域を表す部分を有するという決定に応答して、合致しない領域に基づいて、新しい物体認識テンプレートを生成するように構成されている。
実施形態16は、実施形態1~15のうちのいずれか1つの計算システムを含む。この実施形態では、一次候補領域は、一次検出仮説に関連付けられた合致する物体認識テンプレートによって記述される物体形状についての第1の配向を表す領域であり、少なくとも1つの処理回路は、安全ボリュームリストに、物体形状についての第2の配向を表す候補領域を追加するように構成されており、第2の配向は、第1の配向に対して垂直である。
実施形態17は、実施形態1~16のうちのいずれか1つの計算システムを含む。この実施形態では、少なくとも1つの処理回路は、安全ボリュームリストに、所定の最大物体高さを表す候補領域を追加するように構成されている。
関連分野の当業者にとって、本明細書に記載する方法および用途への、その他の適切な修正ならびに適応が、実施形態のうちのいずれの範囲から逸脱することなく成すことができることは明らかであろう。上に記載する実施形態は、説明に役立つ実施例であり、本発明がこれらの特定の実施形態に限定されると解釈されるべきではない。本明細書に開示する様々な実施形態は、記載および添付の図に具体的に提示する組み合わせとは異なる組み合わせで、組み合わせてもよいことは理解されるべきである。例えば、図6A~図6Jに関して説明した実施形態(複数可)は、図7A~図7G、図8A~図8G、図9A~図9F、図10A~図10H、図11A~図11E、図12A~図12H、ならびに図13Aおよび図13Bの実施形態(複数可)と組み合わされうる。別の実施例では、図6D、図6E、図7B、図7E、図8G、および図9Fの実施形態は、様々な方法で組み合わされてもよい。実施例によって、本明細書に記載するプロセスもしくは方法のいずれのある特定の行為または事象は、異なる順番で行われてもよく、追加、統合、または完全に省略してもよいことも理解されるべきである(例えば、記載したすべての行為または事象は、方法またはプロセスを実施するのに必要ではない場合がある)。例えば、方法4000は、様々な工程を省略すること、様々な工程を修正すること、または追加の工程を実施すること(例えば、工程4006を省略すること)によって変更されてもよい。加えて、本明細書の実施形態のある特定の特徴を、明確にするために、単一の構成要素、モジュール、またはユニットにより行われていると記載しているものの、本明細書に記載する特徴および機能は、構成要素、モジュール、またはユニットのいかなる組み合わせによって行われてもよいことは理解されるべきである。したがって、添付の特許請求の範囲に定義するような、発明の精神または範囲から逸脱することなく、様々な変更および修正を当業者が及ぼしてもよい。

Claims (20)

  1. ロボット、およびカメラ視野を有するカメラと通信するように構成されている通信インターフェースと、
    少なくとも1つの処理回路と、を備え、
    前記少なくとも1つの処理回路は、物体が前記カメラ視野の中にある、またはあったときに、
    前記物体を表す画像情報を受信することであって、前記画像情報が前記カメラによって生成されることと、
    1つ以上の合致する物体認識テンプレートのセットを識別することであって、前記1つ以上の合致する物体認識テンプレートが、前記画像情報と比較されるときに、所定のテンプレート合致条件を満たす1つ以上の物体認識テンプレートであり、前記1つ以上の合致する物体認識テンプレートのセットが、1つ以上の検出仮説のセットに関連付けられていて、前記1つ以上の検出仮説のセットが、どの物体または物体タイプが前記画像情報によって表されるかの1つ以上のそれぞれの推定であることと、
    前記1つ以上の検出仮説のセットの中から検出仮説を、一次検出仮説として、選択することであって、前記一次検出仮説が、前記1つ以上の合致する物体認識テンプレートのセットの、合致する物体認識テンプレートに関連付けられており、前記一次検出仮説として選択された前記検出仮説が、1つ以上のそれぞれの信頼値のセットの中で最も高い信頼値を有しており、前記1つ以上のそれぞれの信頼値のセットが、前記1つ以上の検出仮説のセットに関連付けられていると共に、前記1つ以上の検出仮説のセットに関連付けられた前記1つ以上の合致する物体認識テンプレートのセットに前記画像情報が合致するそれぞれの度合いを示すことと、
    一次候補領域として、前記物体の物体境界位置を推定する、または前記カメラ視野内のどの位置が前記物体によって占有されているかを推定する候補領域を、前記一次検出仮説に関連付けられた前記合致する物体認識テンプレートに基づいて生成することと、
    (i)前記1つ以上の合致する物体認識テンプレートのセットが、前記画像情報と比較されるときに、前記所定のテンプレート合致条件を満たす、1つ以上の残りの合致する物体認識テンプレートのサブセットを、前記一次検出仮説に関連付けられた前記合致する物体認識テンプレートに加えて、有しているかどうか、または(ii)前記画像情報が、前記一次候補領域に隣接し、かつ前記所定のテンプレート合致条件を満たすことができない、合致しない領域を表す部分を有しているかどうか、のうちの少なくとも1つを決定することと、
    1つ以上の残りの合致する物体認識テンプレートの前記サブセットが存在するという決定、または前記画像情報が前記合致しない領域を表す前記部分を有しているという決定に応答して、安全ボリュームリストを生成することであって、前記安全ボリュームリストは、(i)前記合致しない領域、または(ii)前記物体の物体境界位置を推定する、もしくはどの位置が前記物体によって占有されているかを推定する1つ以上の追加の候補領域、のうちの少なくとも1つを記述するリストであり、前記1つ以上の追加の候補領域が、1つ以上の残りの合致する物体認識テンプレートの前記サブセットに基づいて生成されることと、
    前記一次候補領域に基づいてかつ前記安全ボリュームリストに基づいて、前記ロボットと前記物体との間のロボット相互作用のための運動計画を実施することと、
    を行うように構成されている、計算システム。
  2. 前記少なくとも1つの処理回路が、前記一次候補領域と、(i)前記1つ以上の追加の候補領域または(ii)前記合致しない領域のうちの少なくとも1つと、を包含する、境界領域を決定するように構成されており、
    前記運動計画を実施することが、前記境界領域に基づいて、ロボットエンドエフェクタ装置に関連付けられた軌道を決定することを含む、請求項1に記載の計算システム。
  3. 前記運動計画を実施することが、
    前記一次候補領域に基づいてロボットの把持運動を決定することと、
    前記境界領域に基づいて前記軌道を決定することと、を含む、請求項2に記載の計算システム。
  4. 前記1つ以上の検出仮説のセットが、前記一次検出仮説に加えて、1つ以上の残りの合致する物体認識テンプレートの前記サブセットに関連付けられている1つ以上の残りの検出仮説のサブセットを含み、
    前記少なくとも1つの処理回路が、前記1つ以上の残りの検出仮説のサブセットの各検出仮説について、前記検出仮説に関連付けられたそれぞれの信頼値が、前記一次検出仮説に関連付けられた前記信頼値に対する所定の信頼類似性閾値内にあるかどうかを決定するように構成されており、
    前記検出仮説に関連付けられた前記それぞれの信頼値が、前記一次検出仮説に関連付けられた前記信頼値に対する前記所定の信頼類似性閾値内にあるという決定に応答して、前記少なくとも1つの処理回路が、前記安全ボリュームリスト内に、前記検出仮説に関連付けられたそれぞれの候補領域を含めるように構成され、その結果、前記それぞれの候補領域が、前記安全ボリュームリストの前記1つ以上の追加領域の一部となる、請求項1に記載の計算システム。
  5. 前記安全ボリュームリスト内の前記1つ以上の追加の候補領域の各候補領域が、前記一次検出仮説に関連付けられた前記信頼値に対する前記所定の信頼類似性閾値内にある信頼値を有する、それぞれの検出仮説に関連付けられている、請求項4に記載の計算システム。
  6. 前記安全性ボリュームリスト内の前記1つ以上の追加の候補領域の各候補領域が、所定のテンプレート合致閾値以上である信頼値を有する、それぞれの検出仮説に関連付けられている、請求項4に記載の計算システム。
  7. 1つ以上の残りの合致する物体認識テンプレートの前記サブセットが、複数のそれぞれの候補領域に関連付けられた複数の合致する物体認識テンプレートを含み、
    前記少なくとも1つの処理回路が、前記複数の候補領域の各候補領域について、
    前記候補領域と前記一次候補領域との間のそれぞれの重複の量を決定することと、
    前記それぞれの重複の量が、所定の重複閾値と等しいか、またはそれを超えているかどうかを決定することと、を行うように構成され、
    前記重複の量が前記所定の重複閾値と等しいか、またはそれを超えているという決定に応答して、前記少なくとも1つの処理回路が、前記安全ボリュームリスト内に前記候補領域を含めるように構成され、その結果、前記候補領域が、前記安全ボリュームリストの前記1つ以上の追加の候補領域の一部となる、請求項1に記載の計算システム。
  8. 前記画像情報が、2D画像情報を含み、
    前記一次検出仮説に関連付けられた前記合致する物体認識テンプレートが、前記2D画像情報と比較されるときに、前記所定のテンプレート合致条件を満たすように前記少なくとも1つの処理回路によって決定される、視覚的記述情報のセットを含む、請求項1に記載の計算システム。
  9. 1つ以上の残りの合致する物体認識テンプレートの前記サブセットの少なくとも1つの合致する物体認識テンプレートが、前記2D画像情報と比較されるときに、前記所定のテンプレート合致条件を満たすように前記少なくとも1つの処理回路によって決定される、視覚的記述情報のそれぞれのセットを有しており、
    前記少なくとも1つの処理回路が、前記少なくとも1つの合致する物体認識テンプレートに基づいて、前記安全ボリュームリストを生成するように構成されている、請求項8に記載の計算システム。
  10. 前記一次検出仮説に関連付けられた前記合致する物体認識テンプレートが、第1の物体サイズを示す構造記述情報のそれぞれのセットを含み、
    前記少なくとも1つの合致する物体認識テンプレートが、前記第1の物体サイズとは異なる第2の物体サイズを示す構造記述情報のそれぞれのセットを含む、請求項9に記載の計算システム。
  11. 前記画像情報が、3D画像情報をさらに含み、
    1つ以上の残りの合致する物体認識テンプレートの前記サブセットの少なくとも1つの物体認識テンプレートが、前記3D画像情報と比較されるときに、前記所定のテンプレート合致条件を満たすように前記少なくとも1つの処理回路によって決定される、構造記述情報のそれぞれのセットを有しており、
    前記少なくとも1つの処理回路が、前記少なくとも1つの物体認識テンプレートに基づいて、前記安全ボリュームリストを生成するように構成されている、請求項8に記載の計算システム。
  12. 前記一次検出仮説に関連付けられた前記合致する物体認識テンプレートが、前記1つ以上の合致する物体認識テンプレートのセットのうちの、第1の合致する物体認識テンプレートであり、
    前記少なくとも1つの処理回路は、前記1つ以上の合致する物体認識テンプレートのセットがテンプレート記憶空間内に記憶された複数の物体認識テンプレートの一部であるときに、
    前記複数の物体認識テンプレートが、前記第1の合致する物体認識テンプレートに加えて、前記第1の合致する物体認識テンプレートと比較されるときに、所定のテンプレート類似性条件を満たす少なくとも1つの物体認識テンプレートを有しているかどうかを決定することと、
    前記複数の物体認識テンプレートが、前記第1の合致する物体認識テンプレートと比較されるときに、前記所定のテンプレート類似性条件を満たす前記少なくとも1つの物体認識テンプレートを含むという決定に応答して、前記少なくとも1つの物体認識テンプレートに基づいて、前記安全ボリュームリストを生成することと、
    を行うように構成されている、請求項8に記載の計算システム。
  13. 前記一次候補領域が、前記一次検出仮説に関連付けられた前記合致する物体認識テンプレートと前記画像情報を整列させる、第1の方法を表しており、
    前記少なくとも1つの処理回路が、前記合致する物体認識テンプレートと前記画像情報とを整列させる第2の方法を表す別の候補領域を、前記安全ボリュームリストに含めるように構成されている、請求項1に記載の計算システム。
  14. 前記少なくとも1つの処理回路が、
    前記画像情報によって表される画像コーナーの第1のセットまたは画像エッジの第1のセットを識別することと、
    前記画像コーナーの第1のセットまたは前記画像エッジの第1のセットの間に位置する画像領域である、第1の画像領域を識別することであって、前記一次検出仮説に関連付けられた前記合致する物体認識テンプレートが、前記第1の画像領域と比較されるときに、前記所定の合致条件を満たすように前記少なくとも1つの処理回路によって決定され、前記合致する物体認識テンプレートが、前記1つ以上の合致する物体認識テンプレートのセットのうちの、第1の合致する物体認識テンプレートであることと、
    前記画像情報に基づいて画像コーナーの第2のセットまたは画像エッジの第2のセットを識別することであって、前記画像コーナーの第2のセットが、前記画像コーナーの第1のセットの一部である少なくとも1つの画像コーナーを含むと共に、前記第1の画像領域の外側にある少なくとも1つの画像コーナーを含み、前記画像エッジの第2のセットが、前記画像エッジの第1のセットの一部である少なくとも1つの画像エッジを含むと共に、前記第1の画像領域の外側にある少なくとも1つの画像エッジを含むことと、
    前記画像コーナーの第2のセットまたは前記画像エッジの第2のセットの間に位置する画像領域である、第2の画像領域を識別することであって、前記第2の画像領域が、前記第1の画像領域を超えて延在しており、前記1つ以上の合致する物体認識テンプレートのセットが、前記第2の画像領域と比較されるときに、前記所定のテンプレートの合致条件を満たすように前記少なくとも1つの処理回路によって決定される、第2の合致する物体認識テンプレートを含むことと、
    を行うように構成されており、
    前記少なくとも1つの処理回路が、
    前記第1の合致する物体認識テンプレートに基づいて、前記一次候補領域を生成することと、
    前記第2の合致する物体認識テンプレートに基づいて、前記安全ボリュームリスト内に少なくとも1つの候補領域を生成することと、
    を行うように構成されている、請求項1に記載の計算システム。
  15. 前記少なくとも1つの処理回路が、前記画像情報が前記合致しない領域を表す前記部分を有するという決定に応答して、前記合致しない領域に基づいて、新しい物体認識テンプレートを生成するように構成されている、請求項1に記載の計算システム。
  16. 前記一次候補領域が、前記一次検出仮説に関連付けられた前記合致する物体認識テンプレートによって記述される物体形状についての第1の配向を表す領域であり、
    前記少なくとも1つの処理回路が、前記安全ボリュームリストに、前記物体形状についての第2の配向を表す候補領域を追加するように構成されており、
    前記第2の配向が、前記第1の配向に対して垂直である、請求項1に記載の計算システム。
  17. 前記少なくとも1つの処理回路が、前記安全ボリュームリストに、所定の最大物体高さを表す候補領域を追加するように構成されている、請求項1に記載の計算システム。
  18. 命令を有する非一時的コンピュータ可読媒体であって、
    前記命令は、計算システムの少なくとも1つの処理回路によって実行されるときに、前記少なくとも1つの処理回路に、
    前記計算システムの前記少なくとも1つの処理回路によって画像情報を受信することであって、前記計算システムが、(i)ロボット、および(ii)カメラ視野を有するカメラと通信するように構成されており、前記画像情報が、前記カメラ視野内の物体を表すためのものであり且つ前記カメラによって生成されることと、
    1つ以上の合致する物体認識テンプレートのセットを識別することであって、前記1つ以上の合致する物体認識テンプレートが、前記画像情報と比較されるときに、所定のテンプレート合致条件を満たす1つ以上の物体認識テンプレートであり、前記1つ以上の合致する物体認識テンプレートのセットが、1つ以上の検出仮説のセットに関連付けられていて、前記1つ以上の検出仮説のセットが、どの物体または物体タイプが前記画像情報によって表されるかの1つ以上のそれぞれの推定であることと、
    前記1つ以上の検出仮説のセットの中から検出仮説を、一次検出仮説として、選択することであって、前記一次検出仮説が、前記1つ以上の合致する物体認識テンプレートのセットの、合致する物体認識テンプレートに関連付けられており、前記一次検出仮説として選択された前記検出仮説が、1つ以上のそれぞれの信頼値のセットの中で最も高い信頼値を有しており、前記1つ以上のそれぞれの信頼値のセットが、前記1つ以上の検出仮説のセットに関連付けられていると共に、前記1つ以上の検出仮説のセットに関連付けられた前記1つ以上の合致する物体認識テンプレートのセットに前記画像情報が合致するそれぞれの度合いを示すことと、
    一次候補領域として、前記物体の物体境界位置を推定する、または前記カメラ視野内のどの位置が前記物体によって占有されているかを推定する候補領域を、前記一次検出仮説に関連付けられた前記合致する物体認識テンプレートに基づいて生成することと、
    (i)前記1つ以上の合致する物体認識テンプレートのセットが、前記画像情報と比較されるときに、前記所定のテンプレート合致条件を満たす、1つ以上の残りの合致する物体認識テンプレートのサブセットを、前記一次検出仮説に関連付けられた前記合致する物体認識テンプレートに加えて、有しているかどうか、または(ii)前記画像情報が、前記一次候補領域に隣接し、かつ前記所定のテンプレート合致条件を満たすことができない、合致しない領域を表す部分を有しているかどうか、のうちの少なくとも1つを決定することと、
    1つ以上の残りの合致する物体認識テンプレートの前記サブセットが存在するという決定、または前記画像情報が前記合致しない領域を表す前記部分を有しているという決定に応答して、安全ボリュームリストを生成することであって、前記安全ボリュームリストは、(i)前記合致しない領域、または(ii)前記物体の物体境界位置を推定する、もしくはどの位置が前記物体によって占有されているかを推定する1つ以上の追加の候補領域、のうちの少なくとも1つを記述するリストであり、前記1つ以上の追加の候補領域が、1つ以上の残りの合致する物体認識テンプレートの前記サブセットに基づいて生成されることと、
    前記一次候補領域に基づいてかつ前記安全ボリュームリストに基づいて、前記ロボットと前記物体との間のロボット相互作用のための運動計画を実施することと、
    を行わせる、非一時的コンピュータ可読媒体。
  19. 前記少なくとも1つの処理回路によって実行されるときに、前記命令は、前記少なくとも1つの処理回路に、
    前記一次候補領域と、(i)前記1つ以上の追加の候補領域または(ii)前記合致しない領域のうちの少なくとも1つと、を包含する、境界領域を決定することを行わせ、
    さらに、前記命令は、前記少なくとも1つの処理回路に、前記境界領域に基づいて、ロボットエンドエフェクタ装置に関連付けられた軌道を決定することによって、前記運動計画を実施させる、請求項18に記載の非一時的コンピュータ可読媒体。
  20. 計算システムによって実施される方法であって、
    前記計算システムによって画像情報を受信することであって、前記計算システムが、(i)ロボット、および(ii)カメラ視野を有するカメラと通信するように構成されており、前記画像情報が、前記カメラ視野内の物体を表すためのものであり且つ前記カメラによって生成されることと、
    1つ以上の合致する物体認識テンプレートのセットを識別することであって、前記1つ以上の合致する物体認識テンプレートが、前記画像情報と比較されるときに、所定のテンプレート合致条件を満たす1つ以上の物体認識テンプレートであり、前記1つ以上の合致する物体認識テンプレートのセットが、1つ以上の検出仮説のセットに関連付けられていて、前記1つ以上の検出仮説のセットが、どの物体または物体タイプが前記画像情報によって表されるかの1つ以上のそれぞれの推定であることと、
    前記1つ以上の検出仮説のセットの中から検出仮説を、一次検出仮説として、選択することであって、前記一次検出仮説が、前記1つ以上の合致する物体認識テンプレートのセットの、合致する物体認識テンプレートに関連付けられており、前記一次検出仮説として選択された前記検出仮説が、1つ以上のそれぞれの信頼値のセットの中で最も高い信頼値を有しており、前記1つ以上のそれぞれの信頼値のセットが、前記1つ以上の検出仮説のセットに関連付けられていると共に、前記1つ以上の検出仮説のセットに関連付けられた前記1つ以上の合致する物体認識テンプレートのセットに前記画像情報が合致するそれぞれの度合いを示すことと、
    一次候補領域として、前記物体の物体境界位置を推定する、または前記カメラ視野内のどの位置が前記物体によって占有されているかを推定する候補領域を、前記一次検出仮説に関連付けられた前記合致する物体認識テンプレートに基づいて生成することと、
    (i)前記1つ以上の合致する物体認識テンプレートのセットが、前記画像情報と比較されるときに、前記所定のテンプレート合致条件を満たす、1つ以上の残りの合致する物体認識テンプレートのサブセットを、前記一次検出仮説に関連付けられた前記合致する物体認識テンプレートに加えて、有しているかどうか、または(ii)前記画像情報が、前記一次候補領域に隣接し、かつ前記所定のテンプレート合致条件を満たすことができない、合致しない領域を表す部分を有しているかどうか、のうちの少なくとも1つを決定することと、
    1つ以上の残りの合致する物体認識テンプレートの前記サブセットが存在するという決定、または前記画像情報が前記合致しない領域を表す前記部分を有しているという決定に応答して、安全ボリュームリストを生成することであって、前記安全ボリュームリストは、(i)前記合致しない領域、または(ii)前記物体の物体境界位置を推定する、もしくはどの位置が前記物体によって占有されているかを推定する1つ以上の追加の候補領域、のうちの少なくとも1つを記述するリストであり、前記1つ以上の追加の候補領域が、1つ以上の残りの合致する物体認識テンプレートの前記サブセットに基づいて生成されることと、
    前記一次候補領域に基づいてかつ前記安全ボリュームリストに基づいて、前記ロボットと前記物体との間のロボット相互作用のための運動計画を実施することと、
    を含む、方法。
JP2021144121A 2021-03-05 2021-09-03 物体検出のために安全ボリュームリストを生成するための方法および計算システム Pending JP2022135879A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/193,253 US11900652B2 (en) 2021-03-05 2021-03-05 Method and computing system for generating a safety volume list for object detection
US17/193,253 2021-03-05
JP2021078862A JP6945209B1 (ja) 2021-03-05 2021-05-07 物体検出のために安全ボリュームリストを生成するための方法および計算システム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021078862A Division JP6945209B1 (ja) 2021-03-05 2021-05-07 物体検出のために安全ボリュームリストを生成するための方法および計算システム

Publications (2)

Publication Number Publication Date
JP2022135879A true JP2022135879A (ja) 2022-09-15
JP2022135879A5 JP2022135879A5 (ja) 2024-05-13

Family

ID=77915173

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021078862A Active JP6945209B1 (ja) 2021-03-05 2021-05-07 物体検出のために安全ボリュームリストを生成するための方法および計算システム
JP2021144121A Pending JP2022135879A (ja) 2021-03-05 2021-09-03 物体検出のために安全ボリュームリストを生成するための方法および計算システム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021078862A Active JP6945209B1 (ja) 2021-03-05 2021-05-07 物体検出のために安全ボリュームリストを生成するための方法および計算システム

Country Status (3)

Country Link
US (1) US11900652B2 (ja)
JP (2) JP6945209B1 (ja)
CN (1) CN115019074A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10614340B1 (en) * 2019-09-23 2020-04-07 Mujin, Inc. Method and computing system for object identification

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0819026B2 (ja) 1987-07-27 1996-02-28 三井東圧化学株式会社 光学活性化合物
JP2921496B2 (ja) * 1996-07-15 1999-07-19 三菱電機株式会社 画像処理装置および物体移載装置
WO2008076942A1 (en) * 2006-12-15 2008-06-26 Braintech Canada, Inc. System and method of identifying objects
US9227323B1 (en) * 2013-03-15 2016-01-05 Google Inc. Methods and systems for recognizing machine-readable information on three-dimensional objects
US9327406B1 (en) * 2014-08-19 2016-05-03 Google Inc. Object segmentation based on detected object-specific visual cues
JP6648925B2 (ja) * 2015-12-17 2020-02-14 キヤノン株式会社 画像処理方法、画像処理装置、画像処理システム、生産装置、プログラム及び記録媒体
US10723022B2 (en) * 2016-09-16 2020-07-28 Carbon Robotics, Inc. System and calibration, registration, and training methods
JP2018055429A (ja) 2016-09-29 2018-04-05 ファナック株式会社 物体認識装置および物体認識方法
JP2018176334A (ja) * 2017-04-10 2018-11-15 キヤノン株式会社 情報処理装置、計測装置、システム、干渉判定方法および物品の製造方法
JP6549655B2 (ja) 2017-08-03 2019-07-24 ファナック株式会社 物品搬送装置
JP6968342B2 (ja) 2017-12-25 2021-11-17 オムロン株式会社 物体認識処理装置、物体認識処理方法及びプログラム
JP6911777B2 (ja) 2018-01-23 2021-07-28 トヨタ自動車株式会社 動作軌道生成装置
EP3838504A1 (de) * 2019-12-19 2021-06-23 FRONIUS INTERNATIONAL GmbH Verfahren und vorrichtung zur überwachung eines bearbeitungsprozesses und bearbeitungsmaschine mit einer solchen vorrichtung

Also Published As

Publication number Publication date
JP6945209B1 (ja) 2021-10-06
CN115019074A (zh) 2022-09-06
US11900652B2 (en) 2024-02-13
US20220284216A1 (en) 2022-09-08
JP2022135848A (ja) 2022-09-15

Similar Documents

Publication Publication Date Title
US11883966B2 (en) Method and computing system for performing object detection or robot interaction planning based on image information generated by a camera
JP7433609B2 (ja) 物体識別のための方法および計算システム
CN113269801A (zh) 用于处理候选边缘的方法和计算系统
JP2022135879A (ja) 物体検出のために安全ボリュームリストを生成するための方法および計算システム
CN113111899A (zh) 基于图像分类的物体识别或物体注册的方法及计算系统
CN113361651B (zh) 生成用于物体检测的安全空间列表的方法和计算系统
CN112288038B (zh) 基于图像分类的物体识别或物体注册的方法及计算系统
CN113043282B (zh) 用于物体检测或机器人交互规划的方法和系统
CN112734783B (zh) 用于处理候选边缘的方法和计算系统
CN111191083B (zh) 用于对象标识的方法和计算系统
CN113219900B (zh) 基于相机生成的图像信息执行运动规划的方法和计算系统
JP7191352B2 (ja) 物体検出を実施するための方法および計算システム
CN113658205B (zh) 用于执行或促进物理边缘检测的方法和计算系统
JP2022136177A (ja) 物理的エッジ検出を実行または促進するための方法および計算システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240501

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240501