JP2020201921A - 第1のカメラによって生成された第1の画像を第2のカメラによって生成された第2の画像に基づいて更新する方法及び処理システム - Google Patents

第1のカメラによって生成された第1の画像を第2のカメラによって生成された第2の画像に基づいて更新する方法及び処理システム Download PDF

Info

Publication number
JP2020201921A
JP2020201921A JP2019160002A JP2019160002A JP2020201921A JP 2020201921 A JP2020201921 A JP 2020201921A JP 2019160002 A JP2019160002 A JP 2019160002A JP 2019160002 A JP2019160002 A JP 2019160002A JP 2020201921 A JP2020201921 A JP 2020201921A
Authority
JP
Japan
Prior art keywords
camera
depth map
pixels
pixel
depth
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.)
Granted
Application number
JP2019160002A
Other languages
English (en)
Other versions
JP6656549B1 (ja
Inventor
イスラム ラッセル
Islam Russell
イスラム ラッセル
イエ シュタオ
Ye Xutao
イエ シュタオ
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
Application granted granted Critical
Publication of JP6656549B1 publication Critical patent/JP6656549B1/ja
Publication of JP2020201921A publication Critical patent/JP2020201921A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/122Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/25Image signal generators using stereoscopic image cameras using two or more image sensors with different characteristics other than in their location or field of view, e.g. having different resolutions or colour pickup characteristics; using image signals from one sensor to control the characteristics of another sensor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • 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/40564Recognize shape, contour of object, extract position and orientation
    • 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
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/254Image signal generators using stereoscopic image cameras in combination with electromagnetic radiation sources for illuminating objects

Abstract

【課題】カメラ画像を処理する方法及びシステムを提示する。【解決手段】システムは、第1のタイプの深度検知カメラによって検知される情報に基づいて生成される第1の深度マップを受け取り、第2のタイプの深度検知カメラによって検知される情報に基づいて生成される第2の深度マップを受け取る。第1の深度マップは、各深度値の第1のセットを示す画素の第1のセットを含む。第2の深度マップは、各深度値の第2のセットを示す画素の第2のセットを含む。システムは、第2の深度マップの画素の第2のセットに対応する第1の深度マップの画素の第3のセットを特定し、画素の第3のセットから1つ以上の空画素を特定し、第2の深度マップに基づいて各空画素に各深度値を割り当てることにより第1の深度マップを更新する。【選択図】図4

Description

本発明は、カメラ画像データに基づいて画像を構築する方法及び処理システムに関する。
ロボットが、倉庫又は製造環境等、そのロボットの環境とインタラクトする自動化応用を、カメラを使用して容易にすることができる。カメラは、ロボットの環境における物体の形状又はサイズ等、様々な情報を確定することができる画像を生成することができる。こうした情報は、ロボットが倉庫内で物体をピッキングするか又は工場内で物体をよけて移動するインタラクションを支援することができる。カメラによって取り込まれた画像を使用して、物体の3次元(3D)モデル等、物体のモデルを生成することもできる。
本明細書における実施形態の1つの態様は、カメラ画像処理システムによって実施される方法に関する。本方法は、カメラ画像処理システムの制御回路により、例えば、制御回路がカメラ画像処理システムの非一時的コンピューター可読媒体上の命令を実行することにより、実施することができる。カメラ画像処理システムは、(i)第1のタイプの深度検知カメラでありかつ第1のカメラ視野を有する第1のカメラ、及び(ii)第1のタイプの深度検知カメラとは異なる第2のタイプの深度検知カメラであり、かつ第1のカメラ視野とオーバーラップする第2のカメラ視野を有する第2のカメラと通信するように構成された通信インターフェースを備える。カメラ画像処理システムは、通信インターフェースが第1のカメラ及び第2のカメラと通信するとき、第1のカメラによって検知される情報に基づいて生成される第1の深度マップを受け取るように構成され、第1の深度マップは、第1のカメラ視野における各物理的位置の第1のセットを表す画素の第1のセットを含み、画素の第1のセットは、各物理的位置の第1セットに対する各深度値の第1のセットを示し、各深度値の第1のセットは第1のカメラに関連する。カメラ画像処理システムは、第2のカメラによって検知される情報に基づいて生成される第2の深度マップを受け取るように更に構成され、第2の深度マップは、第2のカメラ視野における各物理的位置の第2のセットを表す画素の第2のセットを含み、画素の第2のセットは、各物理的位置の第2のセットに対する各深度値の第2のセットを示し、各深度値の第2のセットは第2のカメラに関連する。さらに、カメラ画像処理システムは、各物理的位置の第2のセットも表す、第1の深度マップの画素の第3のセットを特定するように構成され、画素の第3のセットは第2の深度マップの画素の第2のセットに対応する。さらに、カメラ画像処理システムは、画素の第3のセットから1つ以上の空画素を特定するように構成され、1つ以上の空画素の各空画素は、第1の深度マップにおける深度値が割り当てられていない画素であり、カメラ画像処理システムは、1つ以上の空画素の各空画素に、第2の深度マップの画素の第2のセットの対応する画素の深度値に基づく各深度値を割り当てることにより、第1の深度マップを更新するように構成され、空画素に対する対応する画素は、その空画素と同じ物理的位置を表す、第2の深度マップの画素の第2のセットの画素である。
本発明の上述の特徴、目的、及び利点、並びに他の特徴、目的、及び利点は、添付の図面に示されるような本発明の実施形態の以下の説明から明らかであろう。本明細書に組み込まれるとともに本明細書の一部をなす添付の図面は更に、本発明の原理を説明するとともに、当業者が本発明を実施及び使用することを可能にする役割を果たす。図面は一定縮尺ではない。
本明細書における一実施形態による、カメラ画像処理システム、第1のカメラ及び第2のカメラを有するビジョンシステムのブロック図である。 本明細書における一実施形態による、カメラ画像処理システムのブロック図である。 本明細書における一実施形態による、第1のカメラのブロック図である。 本明細書における一実施形態による、第2のカメラのブロック図である。 本明細書における一実施形態による、ロボット制御システムと通信するビジョンシステムのブロック図である。 本明細書における一実施形態による、第1のカメラ及び第2のカメラが、深度マップを生成することができる情報を検知する、ビジョンシステムを示す図である。 本明細書における一実施形態による、第1のカメラ及び第2のカメラが、深度マップを生成することができる情報を検知する、ビジョンシステムを示す図である。 本明細書における一実施形態による第1の深度マップを示す図である。 本明細書における一実施形態による、第1の深度マップによって表される物理的位置の第1のセットを示す図である。 本明細書における一実施形態による、第1の深度マップによって表される物理的位置の第1のセットを示す図である。 本明細書における一実施形態による、第1の深度マップによって表される物理的位置の第1のセットを示す図である。 本明細書における一実施形態による、第1のカメラ及び第2のカメラが、深度マップを生成することができる情報を検知する、ビジョンシステムを示す図である。 本明細書における一実施形態による第2の深度マップを示す図である。 本明細書における一実施形態による、第2の深度マップによって表される物理的位置の第2のセットを示す図である。 本明細書における一実施形態による、深度マップを更新する方法を示すフロー図である。 本明細書における一実施形態による、第1のカメラ及び第2のカメラが、深度マップを生成することができる情報を検知する、ビジョンシステムを示す図である。 本明細書における一実施形態による、第1のカメラ及び第2のカメラが、深度マップを生成することができる情報を検知する、ビジョンシステムを示す図である。 本明細書における一実施形態による、第1の深度マップが第2の深度マップからの深度情報に基づいて更新される例を示す図である。 本明細書における一実施形態による、第1の深度マップが第2の深度マップからの深度情報に基づいて更新される例を示す図である。 本明細書における一実施形態による、第1の深度マップが第2の深度マップからの深度情報に基づいて更新される例を示す図である。 本明細書における一実施形態による、第1の深度マップが第2の深度マップからの深度情報に基づいて更新される例を示す図である。 本明細書における一実施形態による、第1の深度マップが第2の深度マップからの深度情報に基づいて更新される例を示す図である。 本明細書における一実施形態による、第1の深度マップが第2の深度マップからの深度情報に基づいて更新される例を示す図である。 本明細書における一実施形態による、第1の深度マップが第2の深度マップからの深度情報に基づいて更新される例を示す図である。 本明細書における一実施形態による、第1の深度マップが第2の深度マップからの深度情報に基づいて更新される例を示す図である。 本明細書における一実施形態による、第1の深度マップが第2の深度マップからの深度情報に基づいて更新される例を示す図である。 本明細書における一実施形態による、第1の深度マップが第2の深度マップからの深度情報に基づいて更新される例を示す図である。 本明細書における一実施形態による、第1の深度マップが第2の深度マップからの深度情報に基づいて更新される例を示す図である。 本明細書における一実施形態による、第1の深度マップが第2の深度マップからの深度情報に基づいて更新される例を示す図である。 本明細書における一実施形態による、逆射影演算を通して物理的位置の座標を求める一例を示す図である。 本明細書における一実施形態による、逆射影演算を通して物理的位置の座標を求める一例を示す図である。 本明細書における一実施形態による、逆射影演算を通して物理的位置の座標を求める一例を示す図である。
以下の詳細な説明は、本質的に単に例示のものであり、本発明又は本発明の用途及び使用を限定することを意図するものではない。さらに、前出の技術分野、背景技術、発明の概要又は以下の詳細な説明において提示されるいかなる明示された又は暗示された理論によっても限定する意図はない。
本明細書に記載する実施形態は、第1の画像における情報を第2の画像における情報に基づいて補完するか又は他の方法で更新することに関する。より詳細には、本明細書における実施形態は、第1の深度マップにおける深度情報(例えば、深度値)を第2の深度マップにおける深度情報に基づいて補完するか又は他の方法で更新することに関する。第1の深度マップは、第1のカメラによって検知される情報に基づいて生成されているようにすることができ、第2の深度マップは、第2のカメラによって検知される情報に基づいて生成されているようにすることができる。場合によっては、第2のカメラは、第1のカメラとは異なる特性を有することができる。例えば、第2のカメラは、第1のカメラとは異なるタイプのカメラとすることができ、異なる動作原理を有することができる。異なる特性により、第2のカメラは、例えば、第1のカメラに対して、いくつかの特定のタイプのノイズ(干渉とも呼ぶ)に対するより低い感受性、より優れた精度、より高い解像度、又は他の何らかの特性の相違を有することができる。場合によっては、第2のカメラによって検知される情報は、第1のカメラが検知し損なういくつかの特定の物理的位置を包含することができる。この状況が発生するのは、2つのカメラが、ノイズに対する異なる感受性、異なるレベルの精度、異なる解像度、異なる視野を有するため、又は他の何らかの理由による可能性がある。第2のカメラは、第1のカメラが検知し損なったか又は第1のカメラが入手できない情報を検知することができるため、第2のカメラを使用して、第1のカメラの能力を補完し、及び/又は、1つのカメラのみを用いて深度マップ又は他の画像を生成する実施態様と比較してより完全であり及び/又はより正確である深度マップ又は他の画像をもたらすことができる、補完情報を提供することができる。したがって、本明細書における実施形態の深度マップは、第1のカメラを介して得られた深度情報と第2のカメラを介して得られた深度情報との融合とすることができる。
場合によっては、更新された深度マップ(補完された深度マップとも呼ぶ)を使用して、ロボットのそのロボットの環境とインタラクトする能力を向上させることができる。例えば、更新された深度マップからの深度情報を使用して、ロボットの環境における物体又は構造体の3Dモデル(例えば、点群)を生成することができる。上述したように、本明細書における実施形態における更新された深度マップは、より完全であり、又は、より高レベルの精度を有することができる。その結果、更新された深度マップから生成される3Dモデルもまた、より完全及び/又はより正確とすることができ、それにより、モデル化された物体又は構造体とのロボットのインタラクション中のロボットのより正確な制御を容易にすることができる。例えば、ボックス又はビン内の物体のより正確な3Dモデルにより、ロボットがビンピッキングを正確に実施する能力を向上させることができ、ロボットの環境における構造体のより正確な3Dモデルにより、ロボットが、その構造体をよけて移動することにより構造体との衝突を回避する能力を向上させることができる。したがって、本明細書における実施形態により、自動化を改善し、ロボットとその環境とのよりロバストなインタラクションを容易にすることができる。
一実施形態では、第1の深度マップ及び第2の深度マップの両方が、複数の画素を含むことができ、第1の深度マップを補完すること(第1の深度マップを更新することとも呼ぶ)により、第1の深度マップの空画素に対して深度値を提供することができる。第1の深度マップの空画素は、深度値が割り当てられていないか、又はより一般的には深度情報が欠落している画素とすることができる。したがって、本明細書におけるいくつかの実施形態は、空画素に深度値を割り当て、それにより空画素を更新された画素に変換することにより、欠落している深度情報を埋めることに関する。
一実施形態では、空画素に割り当てられる深度値は、第2の深度マップの対応する画素の深度値に基づくことができる。場合によっては、第1の深度マップにおける空画素は、深度値を求めるために必要な情報を検知する第1のカメラの能力を制限する干渉の結果である可能性がある。例えば、第1のカメラが構造化光(structured light)カメラである場合、干渉源は、太陽光を含む可能性があり、太陽光は、物体の表面に射影されるパターンの外観等、構造化光情報を検知する第1のカメラの能力を制限する可能性がある。そして、この制限により、射影されたパターンから深度値を求める能力が低下する可能性がある。したがって、この干渉により、深度値を求めるために必要な信頼性の高い情報の量が低減する可能性があり、それにより、第1の深度マップが、深度情報が欠落している複数の空画素を有することになる可能性がある。こうした実施形態では、第2のカメラからの深度値を用いて、欠落している深度情報のうちの一部を埋めることができる。1つの例では、第2のカメラは、飛行時間(ToF:time-of-flight)カメラとすることができ、それは、飛行時間情報を測定又は他の方法で検知することができ、そうした情報から、第2の深度マップに対する深度値を生成することができる。構造化光カメラと比較して、TOFカメラは、干渉に関して太陽光に対する感受性がはるかに低い可能性がある。したがって、飛行時間情報を検知する第2のカメラの能力に対して太陽光が与える影響は大幅に低い可能性があり、そうした飛行時間情報から、深度値の第2のセットを有する第2の深度マップを生成することができる。したがって、本明細書における実施形態は、第2の深度マップからの深度値を使用して、第1の深度マップの空画素を更新することができる深度値を導出することにより、干渉又は他の誤差源の影響を軽減することに関する。
一実施形態では、更新される第1の深度マップの空画素の量を改善するように、第1の深度マップを更新する一部として、アップサンプリングを実施することができる。場合によっては、アップサンプリングは、例えば、第1の深度マップが第2の深度マップより高い解像度を有する状況で実施することができる。こうした状況では、第2の深度マップからの画素を使用して、第1の深度マップの複数の空画素を更新することができる。例えば、第2の深度マップからの画素を使用して、第1の深度マップにおける対応する空画素とともに隣接する空画素のセットを更新することができる。アップサンプリングが実施されない場合、第1の深度マップの解像度が第2の深度マップの解像度よりはるかに高いシナリオでは、更新される第1の深度マップにおける空画素の数は、第1の深度マップの空画素の総数又は画素の総数と比較して小さい可能性がある。したがって、アップサンプリングが実施されない場合、空画素を更新することは、全体として第1の深度マップに対して限られた影響しか与えない可能性がある。したがって、第1の深度マップにどれくらいの深度情報があるかに対してより大きい影響を与えるように、第1の深度マップの空画素を更新するときに、アップサンプリングを実施することができる。
一実施形態では、第2の深度マップの複数の画素からの深度情報に基づいて、第1の深度マップの空画素を更新するように、ダウンサンプリングを実施することができる。場合によっては、ダウンサンプリングは、第1の深度マップが第2の深度マップより低い解像度を有する状況において実施することができる。こうした状況では、第2の深度マップからの複数の画素は、第1の深度マップの共通の空画素に対応することができる。したがって、第2の深度マップの対応する複数の画素の深度情報の平均又は他の複合値である深度値によって、空画素を更新することができる。
一実施形態では、深度値が、第1の深度マップの空画素である画素に割り当てられるとき、逆射影演算を実施して、その画素の中心位置に射影する物理的位置を見つけ、より詳細には、物理的位置の3D座標[X’’Y’’Z’’](Tは転置行列を示す)を見つけることができ、ここで、物理的位置は、物体又は構造体の表面上の位置とすることができる。そして、点群における点として3D座標[X’’Y’’Z’’]を使用することができ、点群は、第1のカメラの視野における物体又は構造体の3Dモデルとして作用することができる。より具体的には、物体又は構造体上の物理的位置は、第1のカメラのセンサーアレイにおける対応するセンサー(例えば、光検出器)に射影することができ、センサーの各々は、センサーアレイにおける対応する物理的領域を占有する。場合によっては、センサーは、深度マップの画素に一致することができ、その結果、物体又は構造体上の物理的位置は、画素上に射影すると言うこともできる。物体又は構造体上の物理的位置は画素によって表すことができ、その理由は、物理的位置が、その画素に対応するセンサーによって占有される物理的領域内の位置に射影するためである。この例では、領域の中心は、画素の中心と呼ぶことができる。画素に深度値が割り当てられるとき、画素は、[X’Y’Z’]の第1の3D座標を有する物理的位置を表すことができる。この第1の3D座標[X’Y’Z’]は、第2のカメラの内部パラメーター(例えば、第2のカメラの射影行列)と、第1のカメラと第2のカメラとの間の空間的関係と、第1のカメラの内部パラメーター(例えば、第1のカメラの射影行列)とに基づいて求めることができる。場合によっては、第1の3D座標のZ成分(すなわち、Z’)は、物理的位置を表す画素に対する深度値に等しい(すなわち、Z’は、画素に割り当てられた深度値に等しい)。しかしながら、第1の3D座標[X’Y’Z’]を有する物理的位置は、必ずしも画素の中心位置に射影するとは限らない可能性があり、代わりに、領域の周縁部の位置等、画素に関連する領域における(又は、より具体的には、画素に対応するセンサーによって占有される領域における)他の何らかの位置に射影する可能性がある。物体又は構造体の点群における点として第1の3D座標[X’Y’Z’]を使用することは、環境によっては望ましくない可能性があり、その理由は、点群を使用するいくつかのプロセスが、点群における各3D座標が対応する画素の中心位置に射影するという仮定に依存する可能性があるためである。点群がその仮定から逸脱する場合、その仮定に依存するプロセスは、適切に動作しない可能性がある。したがって、点群は、代わりに、対応する画素の中心位置に射影する別の物理的位置の第2の3D座標[X’’Y’’Z’’]を含む必要がある可能性がある。一実施形態では、第2の3D座標は、逆射影演算を介して求めることができる。逆射影演算は、第1のカメラの焦点と画素の中心位置とを接続する仮想線を求め、仮想線の上に来る座標として第2の3D座標を求めることができる。この仮想線は、画素の上に射影することができる第1のカメラの視野における全ての物理的位置を近似することができる。場合によっては、第2の3D座標のZ成分は、画素の深度値に等しくなければならない可能性がある(すなわち、Z’’及びZ’は深度値に等しい)。こうした場合、逆射影演算は、3D座標が仮想線上に来なければならず、第2の3D座標のZ成分が画素の深度値に等しくなければならないという条件を満足させるために、第2の3D座標のX成分(すなわち、X’’)及びY成分(すなわち、Y’’)を求めることを含むことができる。第2の3D座標は、第1の3D座標の代わりに物体又は構造体の点群に含めることができる。
図1Aは、カメラ画像処理システム110、第1のカメラ140及び第2のカメラ150を備えるビジョンシステム100(画像取得システム100、モデル構築システム100又はより単純にシステム100とも呼ぶ)のブロック図を示す。ビジョンシステム100は、第1のカメラ140の視野及び/又は第2のカメラ150の視野における物体又は構造体の画像を生成するように構成することができる。一実施形態では、画像は、物体又は構造体に対する色強度情報又はグレイスケール情報を含む、カラー画像又はグレイスケール画像とすることができる。一実施形態では、画像は、物体又は構造体の深度情報(距離情報とも呼ぶ)を含む深度マップとすることができる。例えば、深度マップは複数の画素を含むことができ、画素のいくつか又は全てに各深度値が割り当てられる。場合によっては、画素に対して、物体又は構造体の表面上の各物理的位置に対する3D座標である値を更に割り当てることができる。例えば、画素のうちのいくつか又は全てに対して、各々、第1のカメラ140の視野及び第2のカメラ150の視野における物体の各物理的位置の3D座標のそれぞれX成分、Y成分及びZ成分である、第1の値、第2の値及び第3の値を割り当てることができる。深度値は、いくつかのシナリオでは、3D座標の成分とすることができる。例えば、深度値は、3D座標のZ成分とすることができる。画素に対して、物体又は構造体の表面上の各物理的位置に対する3D座標が割り当てられる場合、深度マップは、点群又は点群の一部とすることもでき、点群は、物体又は構造体の3Dモデル又は部分3Dモデルとみなすことができる。状況によっては、他の任意のタイプの深度マップもまた、物体又は構造体の3Dモデル又は部分3Dモデルとみなすことができる。一実施形態では、ビジョンシステム100は、第1のカメラ140及び/又は第2のカメラ150によって検知される深度情報に基づいて物体又は構造体の点群を生成するように構成することができる。
一実施形態では、ビジョンシステム100は、倉庫、製造工場又は他の敷地内で展開し又は他の方法で配置することができ、敷地におけるロボット動作を容易にすることができる。場合によっては、ビジョンシステム100は、敷地においてロボットがインタラクトする物体の3Dモデル又は物体のタイプを生成するように構成することができる。例えば、図1Eは、ビジョンシステム100がロボット制御システム170(ロボットコントローラーとも呼ぶことができる)と通信する一実施形態を示し、ロボット制御システム170は、ロボット180に対するロボット移動コマンドを生成するように構成されている。図1Eの例では、ビジョンシステム100、ロボット制御システム170及びロボット180は全て、倉庫又は他の敷地内に展開することができる。ロボット180は、特に、倉庫内の物体190と、又は物体190と同じ形状及び/又はサイズを有する物体とインタラクトするように意図することができる。例えば、物体190は、倉庫内の商品又は包装品とすることができ、ロボットインタラクションは、ビンピッキング、デパレタイズ、パレタイズ又は他の何らかのロボット動作を含むことができる。この例では、ビジョンシステム100は、ビジョンシステム100によって取得される深度情報に基づいて物体190の3Dモデルを生成するように構成することができ、3Dモデルをロボット制御システム170に通信するように構成することができる。3Dモデルは、例えば、物体190のサイズ、形状、位置及び/又は向きを示すことができる。場合によっては、ロボット制御システム170は、3Dモデルに基づき、かつロボット180と物体190との間の所望のインタラクションに基づき、ロボット移動コマンドを生成するように構成することができる。ロボット制御システム170は、ロボット180が所望の方法で物体190とインタラクトするように、ロボット180にロボット移動コマンドを通信するように構成することができる。図1Eの実施形態では、ビジョンシステム100及びロボット制御システム170は、別個のシステムとすることができる。別の実施形態では、ビジョンシステム100は、ロボット制御システム170の一部とすることができる。
図1Aに戻ると、カメラ画像処理システム110(カメラ情報処理システム110とも呼ぶ)は、(例えば、ともに図1Aの)第1のカメラ140及び第2のカメラ150と通信し、第1のカメラ140及び第2のカメラ150から情報を受け取るように構成することができる。一実施形態では、情報は、深度マップとすることができる。一実施形態では、情報は、構造化光情報、飛行時間情報、又は深度マップを生成することができる他の情報とすることができる。カメラから受け取られる情報は、撮像情報とみなすことができ、カメラ画像処理システム110は、第1のカメラ140から取得される撮像情報を第2のカメラ150から取得される撮像情報で補完するように、撮像情報を処理するように構成することができる。場合によっては、カメラ画像処理システム110は、第1のカメラ140によって検知される情報に基づいて生成することができる第1の深度マップを、第2のカメラ150によって検知される情報に基づいて生成することができる第2の深度マップからの深度情報によって、第1の深度マップを補完するように、処理するように構成することができる。一実施形態では、第1の深度マップは、第1のカメラ140及び第2のカメラ150の視野における物体を表すことができ、カメラ画像処理システム110は、第1の深度マップが第2の深度マップからの深度情報によって補完された後、第1の深度マップにおける深度情報に基づいて物体の3Dモデル(例えば、点群)を生成するように構成することができる。
一実施形態では、カメラ画像処理システム110は、第1のカメラ140及び第2のカメラ150と通信するように構成されている単一のデバイス(例えば、単一コンソール又は単一コンピューター)とすることができる。場合によっては、カメラ画像処理システム110は、互いに通信する複数のコンピューター又は複数のコンソール等、複数のデバイスを含むことができる。場合によっては、カメラ画像処理システム110は、第1のカメラ140及び第2のカメラ150から受け取られる情報を処理すること、カメラ140/150の視野における環境(対象シーンとも呼ぶ)の深度情報を求めること、及び/又は環境における物体又は構造体の3Dモデルを生成することに専用とすることができる。一実施形態では、カメラ画像処理システム110はまた、システム110によって生成される3Dモデルに基づいてロボット移動コマンド(例えば、モータコマンド)を生成する機能等、図1Eのロボット制御システム170に関連する機能を実施するようにも構成することができる。
一実施形態では、カメラ画像処理システム110は、第1のカメラ140及び第2のカメラ150から、カメラ140/150によって検知される情報を受け取るように構成することができる。情報は、上述したように、構造化光情報、飛行時間情報、深度マップ、又は他の何らかの情報(例えば、カラー画像又はグレイスケール画像)とすることができる。一実施形態では、カメラ画像処理システム110は、第1のカメラ140及び第2のカメラ150に1つ以上のコマンドを送信するように構成することができる。例えば、1つ以上のコマンドは、各々、第1のカメラ140及び/又は第2のカメラ150に深度マップを生成させ、又はより全体的には、深度マップ又は他のタイプの画像を生成することができる情報を検知させる、カメラコマンドとすることができる。場合によっては、カメラコマンドは、第1のカメラ140及び/又は第2のカメラ150に、各カメラによって検知される情報をカメラ画像処理システム110に送信させることができる。カメラ画像処理システム110は、通信インターフェース113を介して第1のカメラ140及び第2のカメラ150と通信するように構成することができ、これについては、図1Bを参照してより詳細に後述する。
一実施形態では、図1Aのビジョンシステム100におけるカメラは、第1のカメラ140及び第2のカメラ150のみとすることができ、カメラ画像処理システム110は、第1の深度マップによって検知される情報及び第2のカメラ150によって検知される情報のみに基づき、更新された深度マップを生成し、及び/又は物体の3Dモデルを生成するように構成することができる。別の実施形態では、ビジョンシステム100は、第1のカメラ140及び第2のカメラ150に加えて1つ以上のカメラを含むことができ、1つ以上の追加のカメラによって検知される情報にも基づき、更新された深度マップを生成し及び/又は物体の3Dモデルを生成するように構成することができる。
図1Bは、ビジョンコントローラーとも呼ぶことができるカメラ画像処理システム110のブロック図を示す。ブロック図に示されるように、カメラ画像処理システム110は、制御回路111と、通信インターフェース113と、非一時的コンピューター可読媒体115(例えば、メモリ)とを含む。一実施形態において、制御回路111は1つ以上のプロセッサ、プログラマブル論理回路(PLC)又はプログラマブル論理アレイ(PLA)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、又は任意の他の制御回路を含むことができる。
一実施形態において、通信インターフェース113は、図1Aの第1のカメラ140及び第2のカメラ150と通信するように構成される1つ以上の回路又は他の構成要素を含むことができる。例えば、通信インターフェース113は、有線プロトコル又はワイヤレスプロトコルを介して通信を実行するように構成される通信回路を含むことができる。一例として、通信回路は、RS−232ポートコントローラー、USBコントローラー、イーサネットコントローラー、Bluetooth(登録商標)コントローラー、PCIバスコントローラー、任意の他の通信回路、又はその組合せを含むことができる。通信インターフェース113は、カメラ画像処理システム110及びより具体的には制御回路111が、RS−232インターフェース、ユニバーサルシリアルバス(USB)インターフェース、イーサネットインターフェース、Bluetooth(登録商標)インターフェース、IEEE802.11インターフェース又はそれらの任意の組合せを介して、第1のカメラ140及び第2のカメラ150と通信するのを可能にすることができる。一実施形態では、通信インターフェース113は、ペリフェラルコンポーネントインターコネクト(PCI)バス等、ローカルコンピューターバスの一部とすることができる。
一実施形態において、非一時的コンピューター可読媒体115はコンピューターメモリを含むことができる。コンピューターメモリは、例えば、ダイナミックランダムアクセスメモリ(DRAM)、半導体集積メモリ(solid state integrated memory)、及び/又はハードディスクドライブ(HDD)を含むことができる。場合によっては、非一時的コンピューター可読媒体115は、図4の方法を実施する命令等、コンピューター実行可能命令を記憶することができる。場合によっては、非一時的コンピューター可読媒体115は、構造化光情報、飛行時間情報、深度マップ及び/又は点群等、第1のカメラ140及び/又は第2のカメラ150からの情報を記憶することができる。
図1C及び図1Dは、それぞれ、第1のカメラ140(「カメラ1」と表記)及び第2のカメラ150(「カメラ2」と表記)のブロック図を提供する。本明細書における実施形態では、カメラは、カメラの視野における対象シーンの外観、対象シーンにおける物体又は構造体の3次元構造を記述する情報、及び/又は対象シーンに関する他の何らかの情報を検知するように構成される、センサーシステム(例えば、2Dセンサーアレイ)を含むことができる。カメラは、深度検知カメラ(距離検知カメラとも呼ぶ)、色検知カメラ、赤外線カメラ及び/又は他の任意のタイプのカメラとすることができる。場合によっては、カメラは、外観、3次元構造を記述する画像、又は対象シーンに関する他の情報を生成するように構成することができる。画像は、深度マップ、カラー画像、グレイスケール画像又は他の任意のタイプの画像とすることができ、複数の画素(例えば、画素の2次元(2D)アレイ)を含むことができる。場合によっては、カメラは、センサーのアレイ(例えば、光検出器)を有することができ、画像は、センサーのアレイと1対1対応を有する画素のアレイを有することができる。
一実施形態では、第1のカメラ140及び第2のカメラ150は、異なるタイプのカメラとすることができる。例えば、第1のカメラ140は、第1のタイプの深度検知カメラ(例えば、構造化光カメラ)とすることができ、第2のカメラ150は、第2のタイプの深度検知カメラ(例えば、飛行時間(TOF)カメラ)とすることができる。深度検知カメラは、距離検知カメラとも呼ぶことができる。場合によっては、第1のカメラ140及び第2のカメラ150は、動作又は実施態様の異なる原理を有することができる。場合によっては、第1のカメラ140は、精度、空間解像度(単に解像度とも呼ぶ)、又はノイズ若しくは干渉に対する感受性に関して、いくつかの特定の制限を有する可能性があり、第2のカメラ150は、それらのカテゴリーのうちの1つ以上においてより優れた性能を有することができる。したがって、第1のカメラ140によって取得された情報のロバスト性を向上させるように、第2のカメラ150からの情報を使用して、第1のカメラ140によって取得される情報を補完することができる。
図1Cは、第1のカメラ140が構造化光カメラである一実施形態のブロック図を示す。この実施形態では、第1のカメラ140は、1つ以上のレンズ141、プロジェクター142、カメラセンサー143及び通信インターフェース145を備えることができる。一実施形態では、通信インターフェース145は、図1A又は図1Bのカメラ画像処理システム110と通信するように構成することができ、カメラ画像処理システム110の図1Bの通信インターフェース113と同様とすることができる。
一実施形態では、プロジェクター142は、赤外線又は可視光スペクトルにおける一連の縞等のパターンを、第1のカメラ140から、第1のカメラ140の視野内の対象シーンにおける物体又は構造体の1つ以上の表面の上に射影するように構成することができる。射影パターンは、1つ以上の表面から第1のカメラ140に向かって戻るように反射することができる。反射される可視光又は赤外線は、1つ以上のレンズ141によってカメラセンサー143の上に集束させることができる。一実施形態では、カメラセンサー143は、電荷結合素子(CCD)又は他のセンサーアレイを含むことができる。第1のカメラ140は、カメラセンサー143を使用して構造化光情報を検知するように構成することができ、構造化光情報は、対象シーンにおける1つ以上の表面上の射影されたパターンの外観を指すことができる。場合によっては、構造化光情報は、1つ以上の表面上に一連の縞又は他のパターンの外観を記述するカラー画像の形態を有することができる。一実施形態では、第1のカメラ140は、構造化光情報に基づいて深度マップを生成し、通信インターフェース145を介して深度マップ及び/又は構造化光情報をカメラ画像処理システム110に通信するように構成することができる。こうした実施形態では、第1のカメラ140は、深度マップを生成するように構成されるそれ自体のプロセッサ又は他の制御回路を含むことができる。一実施形態では、第1のカメラ140は、深度マップを生成するためにカメラ画像処理システム110に依存することができ、構造化光情報をカメラ画像処理システム110に通信するように構成することができ、その結果、システム110は、構造化光情報に基づいて深度マップを生成することができる。第1のカメラ140が構造化光カメラである場合等、場合によっては、照明状態を制御することができる環境にビジョンシステム100を配置することができる。例えば、環境は、構造化光情報を検知する第1のカメラ140の能力に干渉する干渉源として作用する可能性がある太陽光を遮断することができる、密閉空間とすることができる。
図1Dは、第2のカメラ150がTOFカメラである一実施形態のブロック図を示す。こうした実施形態では、第2のカメラ150は、1つ以上のレンズ151、照明ユニット152、カメラセンサー153及び通信インターフェース155を備える。通信インターフェース155は、図1のカメラ画像処理システム110と通信するように構成することができ、図1Bのカメラ画像処理システム110の通信インターフェースと同様とすることができる。
一実施形態では、照明ユニット152は、可視光又は他の任意の形態の光を、第2のカメラ150から第2のカメラ150の視野内の対象シーンに向かって放射するように構成することができる。照明ユニット152は、例えば、レーザー、発光ダイオード(LED)又は他の任意の光源を含むことができる。放射光は、パルス、搬送波によって変調される連続波の形態、又は放射光の他の何らかの形態を有することができる。場合によっては、放射光は、対象シーンにおける狭い領域に向かってビームとして放射することができ、又は、対象シーンにおける広い領域にわたって広げることができる。放射光は、対象シーンにおける1つ以上の表面から反射することができ、第2のカメラ150に向かって戻る反射光となることができる。一実施形態では、1つ以上のレンズ151は、反射光をカメラセンサー153に集束させることができる。
一実施形態では、カメラセンサー153は、反射光を検出するように構成される光検出器(例えば、アバランシェフォトダイオード)のアレイを有するセンサーアレイを含むことができる。いくつかの実施態様では、カメラセンサー153は、センサーアレイの各光検出器によって反射光が検出されるときを求めるように構成されるタイミング回路を更に備えることができる。例えば、タイミング回路は、複数の光検出器に対応する各カウンター(又はより全体的にはタイミングレジスター)を含むことができ、カウンターの各々は、照明ユニット152がシーンに向かって光を放射するときにインクリメントを開始し、対応する光検出器が反射光を検出すると計数を停止することができる。1つの実施態様では、タイミング回路を省略することができる。
一実施形態では、第2のカメラ150は、カメラセンサー153を使用して飛行時間情報を検知するように構成することができる。飛行時間は、照明ユニット152が対象シーンに向かって光を放射することと、放射光の反射(すなわち、反射光)がカメラセンサー153の光検出器によって検出されることとの間の時間の量を指すことができる。飛行時間情報は、例えば、タイミング回路によって取り込まれるタイミング情報に基づき、又は、照明ユニット152によって放射される光の位相とカメラセンサー153によって検出される反射光の位相との差に基づき、求めることができる。一実施形態では、第2のカメラ150は、飛行時間情報に基づいて深度マップを生成し、深度マップ及び/又は飛行時間情報を、通信インターフェース155を介してカメラ画像処理システム110に通信するように構成することができる。一実施形態では、第2のカメラ150は、深度マップを生成するためにカメラ画像処理システム110に依存することができ、飛行時間情報に基づいて深度マップを生成するように構成することができるカメラ画像処理システム110に、飛行時間情報を通信することができる。
一実施形態では、深度マップにおける深度値は、カメラセンサー143/153の位置に関連し、1つ以上のレンズ141/151に関連し、又はカメラ140/150における他の何らかの位置に関連することができる。例えば、第1のカメラに関連する第1の深度マップにおける深度値は、第1の画像平面に関連することができ、第1の画像平面は、カメラセンサー143のセンサーアレイ又は他の構成要素によって画定される平面である。したがって、第1の深度マップにおける深度値は、例えば、第1の画像平面に関連して測定することができる。同様に、第2のカメラに関連する第2の深度マップにおける深度値は、例えば、第2の画像平面に関連することができ、第2の画像平面は、カメラセンサー153のセンサーアレイ又は他の構成要素によって画定される平面である。
一実施形態では、第1のカメラ140及び第2のカメラ150は、異なる解像度を有することができる。例えば、第1のカメラ140のカメラセンサー143及び第2のカメラ150のカメラセンサー153は、異なる解像度を有することができる。こうした状況により、第1の深度マップ及び第2の深度マップは異なる解像度を有することになる可能性があり、第1の深度マップは、第1のカメラ140によって生成されるか又は第1のカメラ140によって検知される情報に基づき、第2の深度マップは、第2のカメラ150によって生成されるか又は第2のカメラ150によって検知される情報に基づく。解像度は、例えば、対象シーンを表すために、いくつの画素が使用されるか又は単位面積当たりいくつの画素が使用されるかを指すことができる。別の実施形態では、第1のカメラ140及び第2のカメラ150は同じ解像度を有することができ、それにより、第1の深度マップ及び第2の深度マップは同じ解像度を有することになる可能性がある。
図2は、第1のタイプの深度検知カメラである第1のカメラ240(「カメラ1」と表記)を備え、第1のタイプの深度検知カメラとは異なる第2のタイプの深度検知カメラである第2のカメラ250(「カメラ2」と表記)を備え、図1A及び図1Bのカメラ画像処理システム110を備える、ビジョンシステム200(物体モデル構築システム200、又はより単純にシステム200とも呼ぶ)を示す。一実施形態では、第1のカメラ240及び第2のカメラ250両方からの情報を使用して、物体260の深度マップを生成することができる。深度マップは、物体260の3Dモデルとみなすことができる。場合によっては、深度マップは、点群とすることもでき、又は、点群を生成するために使用される深度情報を有することができ、その点群は、物体260の3Dモデルとすることもできる。上述したように、深度マップは、物体260の表面上の物理的位置の各深度値を記述する深度情報を含むことができ、点群は、物体260の表面上の物理的位置の3D座標を特定する情報を含むことができる。システム200は、図1Aのシステム100の一実施形態とすることができ、第1のカメラ240は、図1A又は図1Cの第1のカメラ140の一実施形態とすることができ、第2のカメラ250は、図1A又は図1Dの第2のカメラ150の一実施形態とすることができる。
一実施形態では、第1のカメラ240は、物体260の表面上の物理的位置の第1のセット(点の第1のセットとも呼ぶ)の各深度値(各深度とも呼ぶ)を示す第1の深度マップを生成するように構成することができ、深度値は、第1のカメラ240に関連する(例えば、第1のカメラ240の画像平面に関連する)。一実施形態では、第2のカメラ250は、第2のカメラ250に関する物体260の表面上の物理的位置の第2のセットの各深度値を示す第2の深度マップを生成するように構成することができる。
図2は、第1のカメラ240の座標系の座標軸201と、第2のカメラ250の座標系の座標軸202とを更に示す。第1のカメラ240の座標系及び第2のカメラ250の座標系はともに、図2に示すように、X軸、Y軸及びZ軸によって画定することができる。各座標系のX軸及びY軸は、第1のカメラ240又は第2のカメラ250の各画像平面に対して平行である平面を画定することができ、座標系のZ軸は、各画像平面に対して垂直とすることができる。一実施形態では、第1のカメラ240の座標系の原点は、例えば、第1のカメラ240の画像平面の中心又は他の何らかの位置に配置することができ、第2のカメラ250の座標系の原点は、例えば、第2のカメラ250の画像平面の中心又は他の何らかの位置に配置することができる。第1の深度マップの深度値は、第1のカメラ240の座標系に関して測定又は表現することができ、第2の深度マップの深度値は、第2のカメラ250の座標系に関して測定又は表現することができる。
場合によっては、第1の深度マップにおける深度値は、第1のカメラ240の座標系の座標軸(例えば、Z軸)に沿った、物体260の表面上の物理的な位置の第1のセットと第1のカメラ240(例えば、第1のカメラ240の画像平面)との間の距離を指すことができる。こうした場合、第1の深度マップにおける深度値は、物理的位置の第1のセットの各3D座標のZ成分(Z座標とも呼ぶ)とすることができる。場合によっては、第2の深度マップにおける深度値は、第2のカメラ250の座標系の座標軸(例えば、Z軸)に沿った、物体260の表面上の物理的位置の第2のセットと第2のカメラ250(例えば、第2のカメラ250の画像平面)との間の距離を指すことができる。こうした場合、第2の深度マップにおける深度値は、物理的位置の第2のセットの各3D座標のZ成分とすることができる。
図3A〜図3Hは、2つの異なるカメラを使用して生成される2つの各深度マップを示す図例である。より具体的には、図3Aは、第1のタイプの深度検知カメラである第1のカメラ340を示し、第2のタイプの深度検知カメラである第2のカメラ350を示す。第1のカメラ340は、図2のカメラ240の一実施形態とすることができ、第2のカメラ350は、図2のカメラ250の一実施形態とすることができる。図3Aに示すように、第1のカメラ340は、視野380(カメラ視野380とも呼ぶ)を有する。第1のカメラは、カメラ視野380における物体360及びプラットフォーム370の1つ以上の表面に対する深度マップを生成するための情報を検知するように構成することができる。第2のカメラ350は、第1のカメラ340の近接する範囲内に配置することができ、第1のカメラ340の視野380とオーバーラップする視野を有することができる。第2のカメラ350については、図3Eに関してより詳細に後述する。一実施形態では、第1のカメラ340及び第2のカメラ350は、第1のカメラ340及び第2のカメラ350を互いに対して固定されたままとするように、互いに直接又は間接的に取り付けることができる。図3Aは、第1のカメラ340の座標系の座標軸301を更に示す。一実施形態では、第1のカメラ340の座標系は、第1のカメラ340の画像平面にある原点を有することができる。第1のカメラ340の座標系は、第1の深度マップ382の深度値に対する基準を提供することができ、それについては、図3Bにおいて後述する。
図3Bは、図3Aの第1のカメラ340によって生成され、又は第1のカメラ340によって検知される情報に基づいて生成される第1の深度マップを示す図例である。一実施形態では、第1の深度マップ382は、(図3Aに示す)カメラ視野380における複数の物理的位置に対する深度値(例えば、ミリメートル(mm)又はセンチメートル(cm)単位)を特定する画素の2Dアレイである。図3Bの例では、第1の深度マップ382は、(ともに図3Aに示すような)物体360又はプラットフォーム370の表面上の物理的位置3721,1〜37212,15の第1のセットに対する各深度値を表しかつ特定する、12×15画素の解像度を有し、物理的位置3721,1〜37212,15の第1のセットは、図3Cにおいて円で表す。より具体的には、図3Cは、(ともに図3Aに示すような)物体360及びプラットフォーム370の上面図を示し、物体360又はプラットフォーム370の1つ以上の外面上の物理的位置3721,1〜37212,15の第1のセットを示す。一例として、図3Bの第1の深度マップ382における画素[1,1](行1、列1)は、(図3Cに示すように)プラットフォーム370の表面上の対応する物理的位置3721,1に対して250cmの深度値を特定することができる。別の例では、第1の深度マップ382における画素[1,2](行1、列2)は、(同様に図3Cに示すように)プラットフォーム370の表面上の対応する物理的位置3721,2に対して同様に250cmの深度値を特定する。図3Bに示すように、第1の深度マップ382の部分385は、物体360の表面に対応することができる。図3Bは、第1の深度マップ382を、12×15画素の解像度を有するものとして示すが、第1の深度マップ382は、他の例では、1280×1024画素の解像度、320×240画素の解像度、640×480画素の解像度又はそれより高いか若しくは低い解像度(例えば、64×48画素又は204×204画素)等、異なる解像度を有することができる。
一実施形態では、図3Cにおける物理的位置3721,1〜37212,15の第1のセットは、第1のカメラ340のカメラセンサー上に射影する物理的位置とすることができる。例えば、図3Dは、物理的位置3721,1〜37212,15のサブセットを示し、より具体的には、第1の深度マップ382の行5上の画素に対応するカメラセンサーの各領域上に射影する物理的位置3725,1〜3725,15を示す。より具体的には、図3Dは、図3Cにおいて線375に沿って切り取った、物体360及びプラットフォーム370の側断面図を示す。図3Dの表現は、物理的位置3725,1〜3725,15からの反射光が、第1のカメラ340のカメラセンサーによって画定される画像平面342の上にいかに射影するかをモデル化し、射影の角度は、第1のカメラ340の焦点344の位置及び/又は第1のカメラ340の焦点距離に基づくことができる。図3Dでは、射影を点線で示す。一実施形態では、射影は、以下のように、X’、Y’、Z’の座標を有する物理的位置とa、bの画素座標を有する画素との間の関係を定義する射影行列Kによって特徴付けることができる。
上述したように、図3Bにおける深度マップ382の画素は、図3Cにおける物理的位置(物理的点とも呼ぶ)3721,1〜37212,15の第1のセットに対する深度値を表し、深度値は第1のカメラ340に関連する。第1の深度マップ382の深度値は、図3AにおけるZ軸に沿った各距離を指すことができる。
図3Eは、(図3Bの)第1の深度マップ382の行に対する、より具体的には、第1の深度マップ382の行5に対する深度値の表現を提供する。行5の画素は、(図3Dに示すような物理的位置のサブセットと同じサブセットである)物理的位置3725,1〜3725,15のサブセットに対応する。すなわち、画素[5,1]〜[5,15]は、物理的位置3725,1〜3725,15に対する各深度値を特定する。図3Eに示すように、第1の深度マップ382における深度値は、第1のカメラ340の座標系のZ軸に沿った、物理的位置3725,1〜3725,15のサブセットと(図3Aの)第1のカメラ340の画像平面342との間の各距離を指すことができる。こうした例では、画像平面342は、第1の深度マップ382に対するゼロの深度を定義することができる。上述したように、特定の画素によって特定される深度値は、例えば、画素によって表される物理的位置の3D座標のZ成分又は他の成分を指すことができる。
図3Fは、第2のカメラ350のカメラ視野390と第2のカメラ350の座標系の座標軸302とを示す。座標系の原点は、例えば、第2のカメラ350の画像平面、第2のカメラ350のレンズ、又は他の任意の位置に配置することができる。図3Gは、(図3Fの)第2のカメラ350によって生成され、又は第2のカメラ350によって検知される情報に基づいて生成される第2の深度マップ392を示す。第2の深度マップ392もまた、(図3Fの)カメラ視野390における1つ以上の表面上の物理的位置に対する深度値を特定することができる。第2のカメラ350のカメラ視野390は、第1のカメラ340のカメラ視野380のわずかに右側に位置するため、第2の深度マップ392は、第1の深度マップ382によって覆われるものとはわずかに異なる領域を覆う可能性がある。
図3G及び図3Hに示すように、第2の深度マップ392は、この例では、物理的位置3731,1〜3734,5の第2のセットに対して各深度値を特定する4×5画素を有することができる。物理的位置3731,1〜3734,5は、図3Hにおいて円によって表されており、図3Hは、(ともに図3A及び/又は図3Fの)物体360及びプラットフォーム370の上面図を提供する。物理的位置3731,1〜3734,5の第2のセットは、物理的位置3721,1〜37212,15の第1のセットに対する図3Dにおける表現と同様に第2の深度マップ392の各画素と一致する、(図3Fの)第2のカメラ350の画像センサーの領域上に射影する物理的位置とすることができる。物理的位置3731,1〜3734,5の第2のセットは、物理的位置3721,1〜37212,15の第1のセットと共通の1つ以上の位置を有することができ、又は、物理的位置3721,1〜37212,15の第1のセットと共通の位置を有していない場合もある。この例における第2の深度マップ392は、4×5画素の解像度を有するが、他の例では、1280×1024画素、320×240画素、640×480画素、又はそれより高いか若しくは低い空間解像度(例えば、64×48画素又は204×204画素)等、異なる解像度を有することができる。
一実施形態では、第2の深度マップ392の画素は、物理的位置3731,1〜3734,5の第2のセットに対して各深度を特定する。第1の深度マップ382の場合と同様に、第2の深度マップ392の深度値は、図3FのZ軸等、第2のカメラ340の座標系における座標軸に沿った各距離を指すことができる。その距離は、物理的位置3731,1〜3734,5の第2のセットから第2のカメラ350の画像平面までとすることができる。場合によっては、第2の深度マップ392における特定の画素が、第2のカメラ350の座標系における[X,Y,Z]の3D座標を有する物理的位置を表す場合、画素によって特定される深度値は、物理的位置の3D座標のZ成分を指すことができる。
図3Bにおける第1の深度マップ382及び図3Gにおける第2の深度マップ392は、各深度マップ382/392における全ての画素に対する深度情報を有する。これは、例えば、ノイズ又は他の誤差源がほとんど又は全くない状況を含むことができる。しかしながら、状況によっては、1つのカメラによって検知される情報に基づいて生成される深度マップが、深度情報を有していない画素である空画素を有する場合がある。本開示の1つの態様は、より完全な深度情報を有する更新された第1の深度マップを生成するように、第2の深度マップからの情報に基づいて第1の深度マップを補完することにより、こうした誤差源を補償することに関する。
図4は、第2の深度マップにおける深度値に基づいて第1の深度マップを補完する方法400を示すフロー図を示す。一実施形態では、方法400は、図1A及び図1Bのカメラ画像処理システム110の制御回路111によって実施することができる。図5A及び図5Bに、方法400が実施される環境例を示し、図5A及び図5Bは、各々、第1のカメラ540及び第2のカメラ550と通信するカメラ画像処理システム110を備える、ビジョンシステム500A/500Bを示す。第1のカメラ540は、図1A、図2又は図3Aそれぞれの第1のカメラ140/240/340の一実施形態とすることができ、第2のカメラ550は、図1A、図2又は図3Fそれぞれの第2のカメラ150/250/350の一実施形態とすることができる。第1のカメラ540は、第1のカメラ視野580を有し、第2のカメラ550は、第2のカメラ視野590を有する。第1のカメラ視野580及び第2のカメラ視野590は、少なくとも部分的に互いにオーバーラップし、オーバーラップする視野585を形成する(図5Aを参照)。カメラ画像処理システムは、図1Bの通信インターフェース113を介して第1のカメラ540及び第2のカメラ550と通信するように構成することができる。場合によっては、通信インターフェース113が通信するように構成されている第1のカメラ540は、第1のタイプの深度検知カメラ(例えば、構造化光カメラ)とすることができ、通信インターフェース113が通信するように構成されている第2のカメラ550は、第1のタイプの深度検知カメラとは異なる第2のタイプの深度検知カメラ(例えば、TOFカメラ)とすることができる。
一実施形態では、第1のカメラ540及び第2のカメラ550は、それらが互いに対して固定されるように直接又は間接的に取り付けることができる。例えば、図5Bは、第1のカメラ540及び第2のカメラ550の両方に取り付けられた取付構造体530(例えば、カメラマウント)を備えるビジョンシステム500Bを示す。一実施形態では、取付構造体は、第1のカメラ540と第2のカメラ550との間の相対的な移動を防止するように構成することができる。図5Bは、第1のカメラ540のカメラ視野580及び第2のカメラ550のカメラ視野590にある物体560及びプラットフォーム570に対して、深度マップが生成される、一例を更に示す。
図4に戻ると、一実施形態では、方法400はステップ401で開始することができ、そこでは、制御回路111は、(図1Bの通信インターフェース113が通信するように構成される)図5A及び図5Bの第1のカメラ540によって検知される情報(例えば、構造化光情報)に基づいて生成される第1の深度マップを受け取る。第1の深度マップは、通信インターフェース113が通信するように構成される第1のカメラ540のカメラ視野580における各物理的位置の第1のセットを表す、画素の第1のセットを含むことができる。第1の深度マップは、各物理的位置の第1のセットに対して各深度値を示すことができる。各深度値の第1のセットは、第1のカメラ540に関連することができる。一実施形態では、各物理的位置の第1のセットは、画素の第1のセットの上に射影する物理的位置とすることができる。上述したように、画素の第1のセットによって示される深度値は、Z軸等、第1のカメラ540の座標系の座標軸に沿った各距離とすることができる。距離は、物理的位置の第1のセットと第1のカメラ540との間とすることができる。
一実施形態では、制御回路111は、ステップ401において、図1Bの通信インターフェース113を介して第1のカメラ540から第1の深度マップを受け取ることができる。例えば、第1のカメラ540は、検知された情報(例えば、構造化光情報)に基づいて第1の深度マップを生成し、カメラ画像処理システム110の制御回路111に第1の深度マップを送信するように構成することができる。制御回路111は、カメラ画像処理システム110の通信インターフェース113を介して第1のカメラ540から第1の深度マップを受け取るように構成することができる。
一実施形態では、制御回路111は、ステップ401において、図1Bの非一時的コンピューター可読媒体115から、又は別の記憶媒体から第1の深度マップを受け取ることができる(こうしたステップは、非一時的コンピューター可読媒体115又は他の記憶媒体から第1の深度マップを検索することとも呼ぶことができる)。この実施形態では、第1の深度マップは、第1のカメラ540以外のデバイスによって生成することができる。例えば、カメラ画像処理システム110は、構造化光情報、飛行時間情報、又は第1のカメラ540によって検知される他の任意の情報に基づき、第1の深度マップを生成し、検知された情報に基づいて第1の深度マップを生成し、非一時的コンピューター可読媒体115に第1の深度マップを記憶することができる。制御回路111は、第1の深度マップが生成されている際、又は第1の深度マップが生成された後、非一時的コンピューター可読媒体115から第1の深度マップを検索するか又は他の方法で受け取ることができる。
図6Aは、ステップ401において受け取られる第1の深度マップ例682を示す。図3Bの第1の深度マップ382と同様に、図6Aの例における第1の深度マップ682は、12×15画素の解像度を有するが、他の例では異なる解像度を有することができる。図6Aは、深度情報を有する第1の深度マップ682における画素の第1のセットを示す。より具体的には、深度情報は、各物理的位置の第1のセットに対して各深度値の第1のセットを特定する。各物理的位置の第1のセットは、図3Cの物理的位置3721,1〜37212,15のサブセットとすることができる。各深度値の第1のセットは、図3Eに関する記述と同様に、図5A/図5Bの第1のカメラ540に関連することができる。図6Aは、第1の深度マップ682が、深度情報を有していない(例えば、深度値が割り当てられていない)画素である複数の空画素を有することを更に示す。上述したように、空画素は、干渉又は他の何らかの理由(例えば、図5Bの物体560の形状又は表面特性)の結果として生じる可能性がある。一実施形態では、第1の深度マップ682の画素の第1のセットの各画素は、深度情報のみを含むことができる。別の実施形態では、第1の深度マップ682の画素の第1のセットの各画素は、画素によって表される物理的位置の3D座標を特定する情報も含むことができる。例えば、画素には、3D座標のZ成分を表す深度値を割り当てることができ、3D座標のX成分の値及びY成分の値を更に割り当てることができる。
図4に戻ると、方法400は、ステップ403を更に含むことができ、そこでは、制御回路111は、(図1Bの通信インターフェース113が通信するように構成される)第2のカメラ550によって検知される情報(例えば、飛行時間情報)に基づいて生成される第2の深度マップを受け取る。第2の深度マップは、第2のカメラ視野590における物理的位置の第2のセットを表す画素の第2のセットを含み、そうした画素の第2のセットは、各物理的位置の第2のセットに対する各深度値の第2のセットを示す。各深度値の第2のセットは、通信インターフェース113が通信するように構成される第2のカメラ550に関連することができる。一実施形態では、各深度値の第2のセットは、第2のカメラの座標系の座標軸(例えば、Z軸)に沿った各距離を示すことができる。距離は、第2のカメラ550と各物理的位置の第2のセットとの間とすることができる。
一実施形態では、制御回路111は、ステップ403において、図1Bの通信インターフェース113を介して第2のカメラ550から第2の深度マップを受け取ることができる。例えば、第2のカメラ550は、検知された情報(例えば、飛行時間情報)に基づいて第2の深度マップを生成し、カメラ画像処理システム110の制御回路111に第2の深度マップを送信するように構成することができる。制御回路111は、カメラ画像処理システム110の通信インターフェース113を介して第2のカメラ550から第2の深度マップを受け取るように構成することができる。
一実施形態では、制御回路111は、ステップ403において、図1Bの非一時的コンピューター可読媒体115から、又は別のデバイスから第2の深度マップを受け取ることができる(このステップは、非一時的コンピューター可読媒体115又は他の記憶媒体から第2の深度マップを検索することとも呼ぶことができる)。この実施形態では、第2の深度マップは、第2のカメラ550以外のデバイスによって生成することができる。例えば、カメラ画像処理システム110は、構造化光情報、飛行時間情報、又は第2のカメラ550によって検知される他の任意の情報に基づき、第2の深度マップを生成し、検知された情報に基づいて第2の深度マップを生成し、非一時的コンピューター可読媒体115に第2の深度マップを記憶することができる。制御回路111は、第2の深度マップが生成されている際、又は第2の深度マップが生成された後、非一時的コンピューター可読媒体115から第2の深度マップを検索するか又は他の方法で受け取ることができる。
図6Bは、ステップ403において受け取られる第2の深度マップ例692を示す。図3Gの第2の深度マップ392と同様に、図6Bの例における第2の深度マップ692は、4×5画素の解像度を有するが、他の例では異なる解像度を有することができる。第2の深度マップ692における画素の第2のセットは、物理的位置の第2のセットを表し、物理的位置の第2のセットに対して各深度値を示すことができる。一実施形態では、物理的位置の第2のセットは、図3Hの物理的位置3731,1〜3734,5のサブセットとすることができる。深度値は、図5A/図5Bの第2のカメラ550に関連することができ、Z軸等の座標軸に沿った距離を示すことができる。距離は、物理的位置の第2のセットと第2のカメラ550との間とすることができる。一実施形態では、第2の深度マップ692の画素の第2のセットの各画素は、深度情報のみを含むことができる。別の実施形態では、第2の深度マップ692の画素の第2のセットの各画素は、画素によって表される物理的位置の3D座標を特定する情報も含むことができる。例えば、画素には、3D座標のZ成分を表す深度値を割り当てることができ、3D座標のX成分の値及びY成分の値を更に割り当てることができる。
図4に戻ると、方法400はステップ405を更に含むことができ、そこでは、制御回路111は、各物理的位置の第2のセットも表す第1の深度マップ682の画素の第3のセットを特定する。したがって、画素の第3のセットは、画素の第2のセットに対応することができる。例えば、第2の深度マップ692における特定の画素が、物体560上の特定の位置に対する深度値を特定する場合、ステップ405は、第1の深度マップ682のいずれの画素が物体560上のその特定の位置も表すかを判断することを含むことができる。したがって、第1の深度マップ682から特定される画素及び第2の深度マップ692から特定される画素は、同じ物理的位置に対応し、したがって互いに対応することができる。そして、より詳細に後述するように、第2の深度マップの画素を使用して、第1の深度マップ682の対応する画素に対する深度情報を提供することができる。
ステップ405の1つの例では、第2の深度マップの画素の第2のセットは、各画素座標のセットを有するか又はそうしたセットによって表すことができ、制御回路111は、各画素座標のセットに基づき、かつ第1のカメラ540と第2のカメラ550との間の空間的関係を定義する変換関数に基づき、各画素座標の追加のセットを求めることにより、第1の深度マップの画素の第3のセットを特定するように構成され、各画素座標の追加のセットは、画素の第3のセットを特定する。上述したように、第2のカメラ550は、第1のカメラ540の第1のカメラ視野580とはわずかに異なる第2のカメラ視野590を有し、その理由は、第2のカメラ550の位置が第1のカメラ540の位置とは異なるためである。したがって、第1のカメラ540と第2のカメラ550との間の空間的関係を記述する変換関数は、第1の深度マップ682のいずれの画素が第2の深度マップ692の画素に対応するかを判断するために使用される必要がある可能性がある。
例えば、画素の第3のセットは、第1のカメラ540の逆射影行列、第2のカメラ550の逆射影行列、及び第1のカメラ540と第2のカメラ550との間の空間的関係を記述する変換関数に基づいて求めることができる。より具体的には、この例は、第2の深度マップの画素の第2のセットの各画素[u v]に対して、第2の深度マップの画素[u v]によって表される物理的位置の3D座標を求め、その物理的位置が第1の深度マップのいずれの画素[a b]上に射影するかを判断することを含むことができる。上記例では、画素[u v]によって特定される深度値は、物理的位置の3D座標のZ成分とすることができる。したがって、画素[u v]によって表される物理的位置の3D座標を求めることは、3D座標のX成分及びY成分を求めることを含むことができる。この求め方(determination)は、例えば以下の式に依存することができる。
上記式により、画素[u v]によって表される物理的位置の3D座標
を求めることができ、3D座標
は、第2のカメラの座標系である。上記例では、
は、第2のカメラ550に対する逆射影行列を指す。逆射影行列
は、第2のカメラ550の座標系における物理的位置の3D座標と、その物理的位置が射影する画素の画素座標との関係を記述することができる。逆射影行列
は、第2のカメラ550の射影行列Ksecondの逆行列とすることができる。一実施形態では、制御回路111は、第2のカメラ550に対して内部カメラキャリブレーションを実施することにより、第2のカメラ550の射影行列Ksecondを求めることができる。一実施形態では、射影行列Ksecondは、図1Eのロボット制御システム170により、又は第2のカメラ550の製造業者による等、既に求められており、ステップ405が実施される前に制御回路111に提供することができる。内部カメラキャリブレーション及び射影行列については、「Method and System for Performing Automatic Camera Calibration for Robot Control」と題する米国特許出願第16/295,940号においてより詳細に考察されており、この出願の内容全体が引用することにより本明細書の一部をなす。
ステップ405の上記例は、座標
を、第2のカメラ550の座標系(第2の深度マップの座標系でもある)から第1のカメラ540の座標系(第1の深度マップの座標系でもある)に変換することを更に含むことができる。この求め方は、以下の式に基づくことができる。
上記例は、第2の深度マップの画素[u v]によって表される物理的位置の3D座標
を求め、3D座標は、第1のカメラ540及び第1の深度マップ682の座標系にある。上記例では、
は、第1のカメラ540と第2のカメラ550との間の空間的関係を定義する変換関数を指す。例えば、
は、第1のカメラ540と第2のカメラ550との間の距離を記述し、かつ第1のカメラ540に対する第2のカメラ550の向きを記述する、回転行列及び並進ベクトルを含むことができる。一実施形態では、制御回路111は、第1のカメラ540と第2のカメラ550との間の空間的関係を求めるためにステレオキャリブレーションを実施することにより、
を求めることができる。一実施形態では、
は、図1Eのロボット制御システム170、又は第1のカメラ540及び第2のカメラ550を展開したカメラオペレーターによる等、既に求められているものとすることができる。求められた変換関数は、ステップ405の前に制御回路111に提供されているものとすることができる。
ステップ405の上記例は、第1の深度マップにおけるいずれの画素が物理的位置
に一致するかを特定することを更に含むことができる。この求め方は、以下の式に基づくことができる。
上記例では、KFirstは、第1のカメラ540の射影行列を指し、[a b]は、物理的位置
が射影する、第1の深度マップにおける画素の画素座標である(この物理的位置は
としても表される)。射影行列KFirstは、内部カメラキャリブレーションを介して制御回路111によって求めることができ、又は、既に求められておりステップ405の前に制御回路111に提供されているものとすることができる。値[a b]は、上記計算の結果を最も近い整数に丸めることにより得ることができる。第1の深度マップにおける画素[a b]は、第2の深度マップにおける画素[u v]と一致することができ、その理由は、それらが同じ物理的位置を表すためである。
図6C〜図6Fは、図5A/図5Bの制御回路111が、第2の深度マップ692の画素の第2のセットに対応する第1の深度マップ682の画素の第3のセットを特定するステップ405の一例をグラフィカルに示し、第1の深度マップの画素の第3のセットは、各物理的位置の第2のセットも表すことができる。より具体的には、図6C〜図6Fは、第1の深度マップ682のいずれの画素が、第2の深度マップ692の第1行〜第4行それぞれにおける画素の第2のセットに対応するかを示す。例えば、図6C〜図6Fに示すように、第2の深度マップ692の画素の第2のセットは、以下の画素座標を有する。すなわち、第2の深度マップ692の第1行における[1,1]、[1,2]及び[1,4]、第2の深度マップ692の第2行における[2,1]、[2,3]、[2,4]及び[2,5]、第2の深度マップ692の第3行における[3,1]、[3,2]及び[3,5]、並びに、第2の深度マップの第4行における[4,1]、[4,3]及び[4,4]である。図6C〜図6Fにおいて更に示すように、第2の深度マップにおける画素の第2のセットは、第1の深度マップにおける画素の第3のセットに対する以下の画素座標に対応する。すなわち、それぞれ、(図6Cに示すような)第1の深度マップの第2行における[2,3]、[2,6]、[2,12]、(図6Dに示すような)第1の深度マップの第5行における[5,3]、[5,9]、[5,12]、[5,15]、(図6Eに示すような)第1の深度マップの第8行における[8,3]、[8,6]、[8,15]、並びに(図6Fに示すような)第1の深度マップの第11行における[11,3]、[11,9]、及び[11,12]である。
図4に戻ると、方法400はステップ407を更に含むことができ、そこでは、制御回路111は、画素の第3のセットから1つ以上の空画素を特定する。1つ以上の空画素の各空画素は、第1の深度マップが第2の深度マップの深度値に基づいて更新される前に、深度値が割り当てられていない、第1の深度マップの画素とすることができる。図6C〜図6Fに示す例では、制御回路111は、以下の画素座標を有する画素として1つ以上の空画素を特定することができる。すなわち、[5,9]、[5,12](図6Dを参照)、[8,3]及び[8,6](図6Eを参照)である。より具体的には、第1の深度マップが第2の深度マップからの情報で補完される前に、これらの画素には深度値が割り当てられていない。いくつかの実施態様では、1つ以上の空画素は、この例では、図6Aに示す空画素のセットとステップ405において特定された画素の第3のセットとの共通部分として特定することができる。
図4に戻ると、方法400はステップ409を更に含むことができ、そこでは、制御回路111は、1つ以上の空画素の各空画素に、第2の深度マップの画素の第2のセットの対応する画素の深度値に基づく各深度値を割り当てることにより、第1の深度マップを更新する。空画素に対する対応する画素は、空画素と同じ物理的位置を表す、第2の深度マップの画素の第2のセットの画素とすることができる。特定の空画素に割り当てられる深度値は、第1のカメラ540に関連することができる。例えば、深度値は、第1のカメラ540の座標系の座標軸(例えば、Z軸)に沿った距離を示すことができ、その距離は、第1のカメラ540と、空画素によって表された又は表されるべき物理的位置との間である。場合によっては、空画素に割り当てられる深度値は、第2の深度マップの対応する画素の深度値に基づき、かつ、カメラ540/550の間の空間的関係を定義する変換関数に基づくことができる。例えば、空画素に割り当てられる深度値は、上述したように、
に基づいて、かつ第2の深度マップの対応する画素の深度値Zに基づいて求められるZ’とすることができる。場合によっては、1つ以上の空画素は、各深度値が割り当てられた後に1つ以上の更新された画素と呼ぶことができ、1つ以上の更新された画素の各更新された画素は、1つ以上の空画素に属していたとみなされる。一実施形態では、第1の深度マップ682の非空画素(例えば、図6Aにおける画素の第1のセット)は、ステップ409において制御回路111によって無視される。
図6Gは、第1の深度マップ682の更新されたバージョン(更新された第1の深度マップ686とも呼ぶ)の一例を示す。更新された第1の深度マップ686は、第1の深度マップ682の[5,9]、[5,12]、[8,3]及び[8,6]等の空画素に、第2の深度マップ692の対応する画素の深度値に等しいか又は深度値に基づく各深度値を割り当てることによって、生成することができる。この例における対応する画素は、それぞれ第2の深度マップ692の[2,3]、[2,4]、[3,1]及び[3,2]である。図6Gに示すように、第1の深度マップ682の空画素に割り当てられた深度値は、太字の下線付き数字として表されている。第1の深度マップ682の空画素[5,9]、[5,12]、[8,3]及び[8,6]に割り当てられた深度値は、これらの画素によって表される各物理的位置に対する(図5A及び図5Bの)第1のカメラ540に関連する各深度値を示すことができる。
図6Gの例では、第1の深度マップ682の1つ以上の空画素[5,9]、[5,12]、[8,3]及び[8,6]に割り当てられた各深度値は、第2の深度マップ692の対応する深度値に等しいものとすることができる。例えば、更新された第1の深度マップ686の空画素[5,9]に割り当てられた200cmという深度値は、第2の深度マップ692の対応する画素[2,3]に割り当てられた200cmという対応する深度値に等しい。この例は、(図5A及び図5Bの)第1のカメラ540の座標系と第2のカメラ550の座標系とが、Z=0とみなされるものに対する共通の定義を共有する状況を反映することができる。こうした状況は、例えば、第1のカメラ540及び第2のカメラ550が共通のカメラマウント(例えば、図5Bの530)に取り付けられ、この共通のカメラマウントにより、2つのカメラ540、550がそれらの各視野580、590における物体に関して共通の深度を共有する場合に、発生する可能性がある。
別の例では、1つ以上の空画素の各空画素に対する各深度値は、第2の深度マップ692における対応する画素の深度値とは異なる場合がある。上述したように、空画素に割り当てられる深度値Z’は、より全体的には、以下に基づいて、変換関数
に基づくことができる。
一実施形態では、制御回路は、ステップ409において、第1の深度マップ682が第2の深度マップ692の解像度より高い解像度を有する場合に、第1の深度マップ682の空画素に割り当てられる深度値を更にアップサンプリングすることができる。例えば、図6Gは、第1の深度マップ682が、第1のカメラ540の第1のカメラ視野580を包含するように12×15画素の解像度を有し、第2の深度マップ692が、第2のカメラ550の第2のカメラ視野590を包含するように4×5画素の解像度を有する状況を示す。第1のカメラ視野580が、第2のカメラ視野590と実質的に同じサイズを有すると想定すると、図6Gの例における第1の深度マップ682は、図6Gの第2の深度マップ692より高い解像度を有する。
場合によっては、第1の深度マップ682におけるより多くの空画素を深度値で埋めるように、アップサンプリングを実施することができる。例えば、図6Gは、アップサンプリングがまだ実施されていない一例を示す。この例では、第1の深度マップ682における4つの空画素が、第2の深度マップ692からの対応する深度値に基づいて更新されている(したがって、更新された画素に変換されている)。しかしながら、図6Gは、第1の深度マップ682における空画素の総数は約10倍多く、第1の深度マップ682における全ての画素の総数(180画素)は約45倍多い状況を示す。図6Gの4つの空画素に深度値を割り当てることにより、第1の深度マップにおける深度情報の量が増大するが、この増大は、第1の深度マップ682の全体的なサイズと比較すると小さい可能性がある。したがって、第1の深度マップ682における深度情報の量をより大きい量、増大させるために、図6Gの空画素に割り当てられた深度値に対してアップサンプリングを実施することができる。
一実施形態では、制御回路111は、ステップ407の1つ以上の空画素に属するか又は属した少なくとも1つの画素に対して、その少なくとも1つの画素に隣接し(例えば、直接隣接し)かつ深度値が割り当てられていない、第1の深度マップ682の1つ以上の隣接する空画素の各セットを特定することにより、アップサンプリングを実施することができる。この例では、少なくとも1つの画素は、ステップ407において特定された、[8,3]、[8,6]、[5,9]及び[5,12]のうちの任意の1つとすることができる。これらの画素は、空画素の初期セットと呼ぶことができる。図6Hは、画素[8,4]、[9,4]が、空画素の初期セットのうちの1つに属した又は属する第1の画素[8,3]に対する隣接する空画素として確定される一例を示す。第1の画素[8,3]は、例えば250cmの深度値によって既に更新されているものとすることができ(その結果、第1の画素は、空画素の初期セットに属した更新された画素である)、又は、まだ更新されていないものとすることができる(その結果、第1の画素は、空画素の初期セットに属する)。この図は、各々、空画素の初期セットに属した又は属する、第2の画素[8,6]、第3の画素[5,9]及び第4の画素[5,12]に対する隣接する空画素を更に示す。図6Hに示すように、制御回路111は、少なくとも1つの空画素(例えば、第1の空画素[8,3])の深度値を1つ以上の隣接する空画素の各セットに更に割り当てることによって、アップサンプリングを実施することができる。深度値は、少なくとも1つの空画素(例えば、第1の画素[8,3])に既に割り当てられているものとすることができ、又は、少なくとも空画素に割り当てられようとしている。より具体的には、図6Hは、隣接する空画素の各セットにも割り当てられている(この例では、それぞれ250cm、220cm、200cm及び220cmである)空画素[8,3]、[8,6]、[5,9]及び[5,12]の初期セットに割り当てられた又は割り当てられようとしている各深度値を示す。一実施形態では、上述したアップサンプリングは、空画素の初期セットに属した又は属する各画素に対して実施することができる。
一実施形態では、制御回路111は、1つ以上の隣接する画素の各セットを、少なくとも1つの画素を包囲する画素の領域における全ての空画素として及び/又はそれらのみを空画素として特定することができる。こうした実施形態では、制御回路111は、第1の深度マップ682の解像度と第2の深度マップ692の解像度との比に基づいて領域のサイズを求めるように構成することができる。例えば、第1の深度マップ682が「g×h」画素の解像度を有し、第2の深度マップ692が「m×n」画素の解像度を有する場合、その領域のサイズは、「q×r」画素に等しいか又は他の方法で「q×r」画素に基づくことができ、「q」は比「g/m」に対して最も近い整数であり、「r」は比「h/r」に対して最も近い整数である。一例として、図6A〜図6Hは、12×15画素の解像度を有する第1の深度マップ682と、4×5画素の解像度を有する第2の深度マップ692とを示す。図6Hにおいて、初期空画素のうちの1つを包囲する隣接する画素の領域は、実線の破線によって囲まれている。この例では、少なくとも1つの空画素は、元の空画素[8,3]、[8,6]、[5,9]及び[5,12]のうちの任意のものとすることができ、隣接する空画素とみなされるものを画定する領域のサイズは、12/4×15/5画素(すなわち、3×3画素)に等しいものとすることができる。言い換えれば、制御回路111は、この例では、空画素の初期セットの第1の画素を中心とする3×3領域内の全ての空画素を、第1の画素に対する隣接する空画素であると判断することができる。場合によっては、3×3領域外にある全ての空画素が、第1の画素に対して隣接しているとみなされない。
一実施形態では、隣接する空画素の領域のサイズは、第1の深度マップの解像度と第2の深度マップの解像度との比より大きいか又は小さい場合がある。例えば、図6Iは、領域のサイズが5×5である一例を示す。すなわち、制御回路111は、この例では、空画素の初期セットに属しているか又は属していた特定の画素に対して、隣接する空画素を、その特定の画素を包囲する画素の5×5領域にある全ての空画素として(及びそれらのみを空画素として)特定することができる。
図6Iは、制御回路111がいくつかの空画素を空画素の初期セットの複数の画素に隣接しているとみなすことができる一例を更に示す。場合によっては、複数の画素は、既に深度値が割り当てられているものとすることができ、したがって、更新された画素と呼ぶことができる。図6Iは、第1の深度値(例えば、250cm)が割り当てられた第1の更新された画素[8,3]と、第2の深度値(例えば、220cm)が割り当てられた第2の更新された画素[8,6]とを有する状況を含む。制御回路111は、この例では、第1の更新された画素[8,3]及び第2の更新された画素[8,6]に隣接している1つ以上の隣接する空画素のセットを特定することにより、第1の深度マップ682を更に更新することができる。この例では、制御回路111は、第1の更新された画素[8,3]を包囲する第1の5×5領域、又は第2の更新された画素[8,6]を包囲する第2の5×5領域内の全ての空画素を、それぞれ、第1の更新された画素[8,3]又は第2の更新された画素[8,6]に対する隣接する空画素であるものとみなすことができる。この基準に基づき、いくつかの空画素を、第1の更新された画素[8,3]に隣接するとともに第2の更新された画素[8,6]に隣接しているとみなすことができる。こうした一例では、制御回路111は、ステップ409において、第1の更新された画素[8,3]にかつ第2の更新された画素[8,6]に対する隣接する空画素であるものとして画素(例えば、[7,5]、[8,4]、[8,5]、[9,4]及び[9,5])を更に特定することにより、アップサンプリングを実施することができる。こうした例では、制御回路111は、隣接する空画素に対して、第1の更新された画素に割り当てられた第1の深度値(例えば、250cm)と第2の更新された画素に割り当てられた第2の深度値(例えば、220cm)との平均である平均深度値(例えば、235cm)を割り当てることができる。同様に、図6Iの例における画素[6,7]、[6,8]、[7,7]、[7,8]は、第2の更新された画素[8,6]及び第3の更新された画素[5,9]両方に隣接しているとみなすことができ、210cmの平均深度値を割り当てることができる。図6Iの例は、同様に[4,10]、[5,10]、[5,11]、[6,10]、[6,11]、[7,10]、[7,11]に適用することができ、それらは、第3の更新された画素[5,9]及び第4の更新された画素[5,12]両方に隣接しているとみなすことができる。
一実施形態では、制御回路111は、第1の更新された画素に隣接しているが、1つ以上の更新された画素のうちの他のいずれの更新された画素にも隣接していない、隣接する空画素の第1のセットを特定し、隣接する空画素の第1のセットに第1の深度値を割り当てることにより、第1の深度マップ682を更に更新することができる。例えば、制御回路111は、図6Iの例では、第1の更新された画素[8,3]に隣接しているが1つ以上の更新された画素の他のいずれの更新された画素にも隣接していない(画素[8,6]、[5,9]、[5,12]に隣接しているとみなされない)ものとして画素[9,1]を特定することができ、その隣接する空画素に、第1の更新された画素[8,3]の深度値(例えば、250cm)を割り当てることができる。図6Iに関して記載した上記ステップは、第1の更新された画素及び第2の更新された画素に対して実施されるが、より全体的には、各々、空画素の初期セットに属するか又は属した第1の画素及び第2の画素に対して、実施することができる。
図7(a)〜図7(c)は、第1の深度マップ782及び第2の深度マップ792が同じ解像度を有する一例を示す。こうした状況では、上述したアップサンプリングを省略することができる。一実施形態では、制御回路111は、第2の深度マップ792における深度情報に基づいて、第1の深度マップ782の1つ以上の空画素に各深度値を割り当てることにより、第1の深度マップ782を更新することができる。制御回路111は、例えばステップ401〜407に関して上述した方法と同様に、第1の深度マップ782において更新すべき1つ以上の空画素を特定することができる。例えば、図7(a)及び図7(b)は、制御回路が、(点線矢印によって特定する)第1の深度マップ782における複数の空画素を特定することを示し、第1の深度マップにおける空画素は、深度値d〜d10を有する第2の深度マップにおける等しい数の画素に対応する。図7(a)及び図7(b)に示すように、第1の深度マップ782の複数の空画素と第2の深度マップ792の対応する画素との間にずれ(並進とも呼ぶ)がある可能性があり、その理由は、2つの深度マップ782、792が、異なる各位置にある2つのカメラから生成され、したがって、異なる視野を有するためである。言い換えれば、2つのカメラは互いに対してずれており、したがって、第1の深度マップ782における画素が第2の深度マップ792における対応する画素に対してずれることになる可能性がある。
一実施形態では、制御回路111は、ステップ409に関して上述した方法と同様に、第1の深度マップ782における空画素に各深度値を更に割り当てることができる。例えば、図7(c)は、第1の深度マップ782の空画素に、第2の深度マップの深度値d〜d10に基づく各深度値d’〜d10’が割り当てられていることを示す。
一実施形態では、第1の深度マップは、第2の深度マップの第2の解像度より低い第1の解像度を有することができ、第1の深度マップの画素の第3のセットの各画素は、ステップ407において、第2の深度マップの画素の第2のセットの複数の画素に対応する。こうした実施形態では、制御回路111は、第2の深度マップの画素の第2のセットの対応する画素の各深度値の平均として、又は、第2の深度マップの画素の第2のセットの対応する画素の各深度値に基づく平均として、ステップ407の1つ以上の空画素の各空画素に割り当てるべき各深度値を求めることにより、(例えば、ステップ409において)第1の深度マップの更新を実施することができる。
図8(a)は、8×10画素の解像度を有する第1の深度マップ882を示す図例であり、図8(b)は、16×20画素のより高い解像度を有する第2の深度マップ892を示す図例である。図8(a)及び図8(b)に示す例では、第2の深度マップ892の解像度は第1の深度マップ882の解像度より高いため、ダウンサンプリングを実施することができる。ダウンサンプリングが必要である可能性があるのは、第2の深度マップ892における複数の画素が第1の深度マップ882の同じ画素に対応することができるためである。
例えば、図8(b)は、深度値を有する画素を表す「X」を含む第2の深度マップ892を示す。この図は、図8(a)の第1の深度マップ882における単一の画素に対応する図8(b)の第2の深度マップ892における、点線ボックスによって示す、4つの画素の1つのグループを示す。1つの例では、図8(b)の点線ボックスにおける4つの画素は、例えば、[9,3]、[9,4]、[10,3]、[10,4]の座標を有することができる。ステップ405に関して上述した計算を使用して、第1の深度マップ882における対応する画素の画素座標[a,b]を求める場合、この計算により、全てが同じ整数に丸められる値をもたらすことができる。例えば、計算により、例えば[5.1,3.1]、[5.1,3.2]、[5.3,3.1]及び[5.3,3.2]の画素座標をもたらされ、その後、それらの座標は最も近い整数に丸められる場合がある。これらの座標は、丸められるとき、全て第1の深度マップ882の画素[5,3]に丸めることができる。したがって、図8(b)の第2の深度マップ892の点線ボックス内の4つの画素は、全て、第1の深度マップ882における画素[5,3]に対応することができる。図8(a)及び図8(b)に示すように、第1の深度マップ882の空画素(例えば、[5,3])と第2の深度マップ892の対応する画素([9,3]、[9,4]、[10,3]、[10,4])との間にずれ(並進とも呼ぶ)がある可能性があり、その理由は、2つの深度マップ882、892が、異なる各位置にあり、したがって、異なる視野を有する2つのカメラから生成されるためである。
一実施形態では、第1の深度マップ882の空画素に、その空画素に対応する第2の深度マップ892の複数の画素の各深度値の平均を割り当てることにより、ダウンサンプリングを実施することができる。例えば、図8(a)は、第1の深度マップ882における空画素[5,3]に対して、第2の深度マップ892の対応する画素の各深度値(例えば、250cm、250cm、240cm、240cm)の平均が割り当てられる一例を示す。
一実施形態では、ダウンサンプリングは、第1の深度マップ882の空画素に、その空画素に対応する第2の深度マップ892の複数の画素の各深度値に基づく平均を割り当てることを含むことができる。例えば、制御回路111は、各画素に対応する第2の深度マップ892の複数の画素の各深度値に基づいて複数の中間深度値を求めるように構成することができる。第2の深度マップ892の対応する画素の各深度値(例えば、Z)に基づき、かつ、第1のカメラ(例えば、図5A/図5Bの540)と第2のカメラ(例えば、図5A/図5Bの550)との間の関係を記述する変換関数に基づき、ステップ409及びステップ405に関して上述した以下の関係に基づいて、中間深度値(例えば、Z’)を求めることができる。
図8(b)の第2の深度マップ892の画素[9,3]、[9,4]、[10,3]、[10,4]を含む上記例では、制御回路111は、上記関係に基づいて4つの各中間深度値を求めることができる。この実施形態では、制御回路111は、第1の深度マップ882の空画素[5,3]に対して4つの中間深度値の平均を割り当てることができる。
一実施形態では、上記例は、第2の深度マップ892の非空画素のみを含むことができる。より具体的には、ダウンサンプリングは、第1の深度マップ882の空画素に、その空画素に対応する第2の深度マップ892の非空画素の各深度値に基づく平均を割り当てることを含むことができる。例えば、第2の深度マップ892における画素[9,3]が代わりに空画素であった場合、第1の深度マップ882における空画素[5,3]は、第2の深度マップ892における以下の非空画素、すなわち[9,4]、[10,3]、[10,4]に対応する。この例は、第2の深度マップ892の3つの非空の対応する画素([9,4]、[10,3]、[10,4])の深度値に基づいて3つの各中間深度値を求めることと、空画素[5,3]に対して、3つの中間深度値の平均を割り当てることとを含む。
一実施形態では、制御回路111は、逆射影を実施して物理的位置の3D座標を求めるように構成することができ、3D座標は点群に含めることができる。一実施形態では、逆射影は、少なくとも1つの画素に対して、又は図4のステップ407の1つ以上の画素に属した又は属する各画素に対して、実施することができる。一実施形態では、制御回路111は、1つ以上の空画素に属した又は属する画素の各中心位置を求めることにより、かつ画素によって表される物理的位置の各座標として、画素の中心位置の上に射影する3D座標であって、3D座標の成分がその画素に割り当てられた又は割り当てられるべき深度値に等しい3D座標を求めることにより、逆射影を実施することができる。場合によっては、制御回路111は、各3D座標を含むか又は他の方法で各3D座標に基づく点群を生成するように構成することができる。いくつかの実施態様では、点群は、深度マップの画素に、値又は値のセットとして3D座標を割り当てることにより、各3D座標に基づいて生成することができ、その結果、深度マップは、点群又は点群の一部としても作用し、3D座標は点群の一部となる。
場合によっては、第2の深度マップ(例えば、図6Bの692)の画素が、第1の深度マップ(例えば、図6Aの682)の対応する画素の中心位置に必ずしも射影しない可能性がある物理的位置を表す状況に対して、逆射影を実施することができる。画素の中心位置は、その画素に対応する画像センサー(例えば、143)上の領域の中心位置を指すことができる(画像センサーはカメラセンサーとも呼ぶことができる)。例えば、図9Aは、第1の深度マップに対する情報を検知する第1の画像センサー(例えば、図1Cのカメラセンサー143)上の6つの領域と、第2の深度マップに対する情報を検知する第2の画像センサー(例えば、図1Dのカメラセンサー153)上の6つの領域とを示す。各領域は、例えば、画像センサーを形成するセンサーアレイ(例えば、光検出器のアレイ)の各センサーによって占有される領域とすることができる。図9Aに示すように、画像センサー920に対する領域921は、第2の深度マップの画素[u v]に一致することができる(画像センサー920はカメラセンサー153の一実施形態とすることができる)。ステップ405に関して上述したように、画素[u v]は、第2のカメラ(例えば、図1の150)又は第2の深度マップの座標系における[X Y Z」の座標と、第1のカメラ(例えば、図1の140)又は第1の深度マップの座標系における[X’ Y’ Z’]の座標とを有する、物理的位置933を表すことができる。図4のステップ405に関してもまた上述したように、座標[X’ Y’ Z’]は、第1の深度マップの画素[a b」に射影することができる。より具体的には、座標[X’ Y’ Z’]は、画像センサー910上の領域911内の位置913に射影することができる(画像センサー910は、カメラセンサー143の一実施形態とすることができる)。領域911は、第1の深度マップの画素[a b」に一致することができる。画素[a b]に対して、一実施形態では、ステップ409に関して上述したように、Z’の深度値を割り当てることができる。
上記実施形態では、座標[X’ Y’ Z’]は、物体(例えば、図2の物体260)を表す点群に含めることができるが、そうすることは最適ではない可能性があり、その理由は、[X’ Y’ Z’]が射影する位置913が、領域911の中心位置ではない可能性があるためである。より具体的には、点群に[X’ Y’ Z’]を含めることにより、問題が生じる可能性があり、その理由は、点群を使用するいくつかのプロセスが、点群における3D座標が対応する画素の各中心位置に射影するという想定に依存する可能性があるためである。したがって、点群は、代わりに、領域911の中心位置に射影する物理的位置の3D座標を含む必要がある可能性がある。一実施形態では、こうした3D座標は、逆射影演算を使用することによって求めることができる。
例えば、図9Bは、3D座標[X’’ Y’’ Z’’]が、(画素の中心位置と呼ぶことができる)画素[a b]に対応する領域911の中心位置915に射影する物理的位置934に対して特定されるシナリオを示す。より具体的には、物理的位置934及びその3D座標[X’’ Y’’ Z’’]は、画素[a b]の中心位置915と第1のカメラ(例えば、図1Aの140)の焦点919とを接続する仮想線917上にある3D座標として特定することができる。仮想線917は、図9B及び図9Cの両方に示し、焦点919は図9Cに示す。さらに、Z成分(すなわち、Z’’)、又は深度情報を記述する他の任意の成分は、画素[a b]に割り当てられた深度値に等しくなければならない可能性がある。言い換えれば、Z’’の値は、Z’の値に等しい。一実施形態では、物理的位置934の3D座標[X’’ Y’’ Z’’]が求められると、この座標は、物理的位置933の3D座標[X’ Y’ Z’]の代わりに点群に含めることができる。場合によっては、画素[a b]に、(Z’に等しい)値Z’’のみではなく、値X’’及びY’’も割り当てることができ、その結果、画素[a b]に3D座標[X’ Y’ Z’]が割り当てられる。画素に3D座標を割り当てることは、画素[a b]を含む第1の深度マップが点群又は点群の一部である、3D座標に基づいて点群を生成する1つの方法とすることができ、点群は、物体又は構造体の表面上の物理的位置の3D座標を含む。
様々な実施形態の更なる検討
本開示の実施形態1は、通信インターフェースと制御回路とを備えるカメラ画像処理システムに関する。通信インターフェースは、(i)第1のタイプの深度検知カメラでありかつ第1のカメラ視野を有する第1のカメラ、及び(ii)第1のタイプの深度検知カメラとは異なる第2のタイプの深度検知カメラであり、かつ第1のカメラ視野とオーバーラップする第2のカメラ視野を有する第2のカメラと通信するように構成されている。制御回路は、通信インターフェースが第1のカメラ及び第2のカメラと通信するとき、第1のカメラによって検知される情報に基づいて生成される第1の深度マップを受け取るように構成され、当該第1の深度マップは、第1のカメラ視野における各物理的位置の第1のセットを表す画素の第1のセットを含み、当該画素の第1のセットは、各物理的位置の第1セットに対する各深度値の第1のセットを示し、当該各深度値の第1のセットは第1のカメラに関連する。制御回路は、第2のカメラによって検知される情報に基づいて生成される第2の深度マップを受け取るように更に構成され、当該第2の深度マップは、第2のカメラ視野における各物理的位置の第2のセットを表す画素の第2のセットを含み、当該画素の第2のセットは、各物理的位置の第2セットに対する各深度値の第2のセットを示し、当該各深度値の第2のセットは第2のカメラに関連する。制御回路は、各物理的位置の第2のセットも表す、第1の深度マップの画素の第3のセットを特定するように更に構成され、当該画素の第3のセットは第2の深度マップの画素の第2のセットに対応する。制御回路は、画素の第3のセットから1つ以上の空画素を特定するように更に構成され、当該1つ以上の空画素の各空画素は、深度値が割り当てられていない第1の深度マップの画素である。制御回路は、1つ以上の空画素の各空画素に、第2の深度マップの画素の第2のセットの対応する画素の深度値に基づく各深度値を割り当てることにより、第1の深度マップを更新するように更に構成され、空画素に対する対応する画素は、当該空画素と同じ物理的位置を表す、第2の深度マップの画素の第2のセットの画素である。
実施形態2は、実施形態1のカメラ画像処理システムを含む。実施形態2において、制御回路は、第2の深度マップの対応する画素の深度値に基づき、かつ、第1のカメラと第2のカメラとの間の空間的関係を定義する変換関数に基づき、1つ以上の空画素のセットの各空画素に割り当てるべき各深度値を求めるように構成されている。
実施形態3は、実施形態2のカメラ画像処理システムを含む。実施形態3において、第2の深度マップの画素の第2のセットは、各画素座標のセットを有し、制御回路は、各画素座標のセットに基づき、かつ第1のカメラと第2のカメラとの間の空間的関係を定義する変換関数に基づき、各画素座標の追加のセットを求めることにより、第1の深度マップの画素の第3のセットを特定するように構成され、各画素座標の追加のセットは、画素の第3のセットを特定する。
実施形態4は、実施形態1〜3のいずれか1つのカメラ画像処理システムを含む。実施形態4において、制御回路は、第1のカメラから通信インターフェースを介して第1の深度マップを受け取り、第2のカメラから通信インターフェースを介して第2の深度マップを受け取るように構成されている。
実施形態5は、実施形態1〜4のいずれか1つのカメラ画像処理システムを含む。実施形態5において、制御回路は、第1の深度マップが、第2の深度マップの第2の解像度より高い第1の解像度を有する場合、1つ以上の空画素に属した又は属する少なくとも1つの画素に対して、当該少なくとも1つの画素に隣接しかつ深度値が割り当てられていない、第1の深度マップの1つ以上の隣接する空画素の各セットを特定し、1つ以上の隣接する空画素の各セットに、少なくとも1つの画素に割り当てられた又は割り当てられるべき深度値を割り当てることにより、第1の深度マップを更に更新するように構成されている。
実施形態6は、実施形態5のカメラ画像処理システムを含む。実施形態6において、制御回路は、少なくとも1つの画素を包囲する画素の領域における全ての空画素として、1つ以上の隣接する空画素の各セットを特定するように構成され、制御回路は、第1の深度マップの解像度と第2の深度マップの解像度との比に基づき、領域のサイズを求めるように構成されている。
実施形態7は、実施形態1〜6のいずれか1つのカメラ画像処理システムを含む。実施形態7において、制御回路は、1つ以上の空画素に属した又は属する第1の画素に隣接し、かつ1つ以上の空画素に属した又は属する第2の画素に隣接する、1つ以上の隣接する空画素のセットを特定し、1つ以上の隣接する空画素のセットに、第1の画素に割り当てられた又は割り当てられるべき第1の深度値と、第2の画素に割り当てられた又は割り当てられるべき第2の深度値との平均である平均深度値を割り当てることにより、第1の深度マップを更に更新するように構成されている。
実施形態8は、実施形態7のカメラ画像処理システムを含む。実施形態8において、制御回路は、第1の画素に隣接し、1つ以上の空画素の他の任意の画素に隣接していない隣接する空画素の追加のセットを特定し、隣接する空画素の追加のセットに第1の深度値を割り当てることにより、第1の深度マップを更に更新するように構成されている。
実施形態9は、実施形態1〜8のいずれか1つのカメラ画像処理システムを含む。実施形態9において、制御回路は、1つ以上の空画素に属した又は属する各画素に対して、当該画素の各中心位置を求め、当該画素によって表される物理的位置の各座標として、当該画素の中心位置の上に射影する3D座標であって、当該3D座標の成分が当該画素に割り当てられた又は割り当てられるべき深度値に等しい、3D座標を特定し、各3D座標に基づき点群を生成するように構成されている。
実施形態10は、実施形態9のカメラ画像処理システムを含む。実施形態10において、制御回路は、1つ以上の空画素に属した又は属する各画素に対して、(i)当該画素の各中心位置及び(ii)第1のカメラの焦点を通る仮想線上にある座標として、各3D座標を求めるように構成されている。
実施形態11は、実施形態1〜4又は7〜10のいずれか1つのカメラ画像処理システムを含む。実施形態11において、制御回路は、第1の深度マップの1つ以上の画素の各画素が画素の第2のセットの複数の画素に対応するように、第1の深度マップが第2の深度マップの第2の解像度より低い第1の解像度を有するとき、第2の深度マップの画素の第2のセットの対応する画素の各深度値の平均に基づき、1つ以上の空画素の各空画素に割り当てるべき各深度値を求めるように構成されている。
実施形態12は、実施形態1〜11のいずれか1つのカメラ画像処理システムを含む。実施形態12において、カメラ画像処理システムはロボット制御システムの一部であり、通信インターフェースが第1のカメラ、第2のカメラ及びロボットと通信するとき、制御回路は、第1の深度マップが第2の深度マップの深度値に基づいて更新された後、第1の深度マップに基づいてロボット移動コマンドを生成し、通信インターフェースを介してロボット移動コマンドをロボットに通信するように構成されている。
実施形態13は、実施形態12のカメラ画像処理システムを含む。実施形態13において、制御回路は、第1の深度マップが第2の深度マップの深度値に基づいて更新された後、第1の深度マップに基づいてロボット移動コマンドを生成するように構成されている。
本開示の実施形態14は、命令を有する非一時的コンピューター可読媒体に関し、当該命令は、カメラ画像処理システムの制御回路によって実行されると、当該制御回路に、第1の深度マップを受け取らせ、当該第1の深度マップは、カメラ画像処理システムの当該非一時的コンピューター可読媒体から、又は、当該カメラ画像処理システムの通信インターフェースを介して受け取られ、当該通信インターフェースは、第1のタイプの深度検知カメラでありかつ第1のカメラ視野を有する第1のカメラと通信するように構成され、第1の深度マップは、通信インターフェースが通信するように構成される第1のカメラによって検知される情報に基づいて生成され、第1の深度マップは、第1のカメラ視野における各物理的位置の第1のセットを表す画素の第1のセットを含み、当該画素の第1のセットは、各物理的位置の第1のセットに対する各深度値の第1のセットを示し、当該各深度値の第1のセットは、通信インターフェースが通信するように構成される第1のカメラに関連する。命令は更に、制御回路に、第2の深度マップを受け取らせ、当該第2の深度マップは、カメラ画像処理システムの当該非一時的コンピューター可読媒体から、又は、当該カメラ画像処理システムの通信インターフェースを介して受け取られ、当該通信インターフェースは、第1のタイプの深度検知カメラとは異なる第2のタイプの深度検知カメラであり、かつ第1のカメラ視野とオーバーラップする第2のカメラ視野を有する、第2のカメラと通信するように構成され、第2の深度マップは、通信インターフェースが通信するように構成される第2のカメラによって検知される情報に基づいて生成され、第2の深度マップは、第2のカメラ視野における各物理的位置の第2のセットを表す画素の第2のセットを含み、当該画素の第2のセットは、各物理的位置の第2のセットに対する各深度値の第2のセットを示し、当該各深度値の第2のセットは、通信インターフェースが通信するように構成される第2のカメラに関連する。命令は更に、制御回路に、各物理的位置の第2のセットも表す、第1の深度マップの画素の第3のセットを特定させ、当該画素の第3のセットは第2の深度マップの画素の第2のセットに対応する。命令は更に、制御回路に、画素の第3のセットから1つ以上の空画素を特定させ、当該1つ以上の空画素の各空画素は、深度値が割り当てられていない第1の深度マップの画素である。命令は更に、制御回路に、1つ以上の空画素の各空画素に、第2の深度マップの画素の第2のセットの対応する画素の深度値に基づく各深度値を割り当てることにより、第1の深度マップを更新させ、空画素に対する対応する画素は、当該空画素と同じ物理的位置を表す、第2の深度マップの画素の第2のセットの画素である。
実施形態15は、実施形態14の非一時的コンピューター可読媒体を含む。実施形態15において、第1の深度マップが、第2の深度マップの第2の解像度より高い第1の解像度を有する場合、命令は更に、制御回路に、1つ以上の空画素に属した又は属する少なくとも1つの画素に対して、当該少なくとも1つの画素に隣接しかつ深度値が割り当てられていない、第1の深度マップの1つ以上の隣接する空画素の各セットを特定させ、1つ以上の隣接する空画素の各セットに、少なくとも1つの画素に割り当てられた又は割り当てられるべき深度値を割り当てさせる。
実施形態16は、実施形態15の非一時的コンピューター可読媒体を含む。実施形態16において、命令は、制御回路に、少なくとも1つの画素を包囲する画素の領域における全ての空画素として、1つ以上の隣接する空画素の各セットを特定させ、制御回路は、第1の深度マップの解像度と第2の深度マップの解像度との比に基づき、領域のサイズを求めるように構成されている。
実施形態17は、実施形態14〜16のいずれか1つの非一時的コンピューター可読媒体を含む。実施形態17において、命令は更に、制御回路に、1つ以上の空画素に属した又は属する各画素に対して、画素の各中心位置を求めることと、画素によって表される物理的位置の各座標として、当該画素の中心位置の上に射影する3D座標であって、当該3D座標の成分が画素に割り当てられた又は割り当てられるべき深度値に等しい、3D座標を求めることと、各3D座標に基づいて点群を生成することとを実施させる。
本開示の実施形態18は、1つ以上の深度マップを更新する方法に関する。実施形態18において、方法は、カメラ画像処理システムの制御回路により第1の深度マップを受け取ることを含み、当該第1の深度マップは、カメラ画像処理システムの非一時的コンピューター可読媒体から、又は当該カメラ画像処理システムの通信インターフェースを介して受け取られ、当該通信インターフェースは、第1のタイプの深度検知カメラでありかつ第1のカメラ視野を有する第1のカメラと通信するように構成され、第1の深度マップは、通信インターフェースが通信するように構成される第1のカメラによって検知される情報に基づいて生成され、第1の深度マップは、第1のカメラ視野における各物理的位置の第1のセットを表す画素の第1のセットを含み、当該画素の第1のセットは、各物理的位置の第1のセットに対する各深度値の第1のセットを示し、当該各深度値の第1のセットは、通信インターフェースが通信するように構成される第1のカメラに関連する。方法は、第2の深度マップを受け取ることを更に含み、当該第2の深度マップは、カメラ画像処理システムの非一時的コンピューター可読媒体から、又は当該カメラ画像処理システムの通信インターフェースを介して受け取られ、当該通信インターフェースは、第1のタイプの深度検知カメラとは異なる第2のタイプの深度検知カメラであり、かつ第1のカメラ視野とオーバーラップする第2のカメラ視野を有する、第2のカメラと通信するように構成され、第2の深度マップは、通信インターフェースが通信するように構成される第2のカメラによって検知される情報に基づいて生成され、第2の深度マップは、第2のカメラ視野における各物理的位置の第2のセットを表す画素の第2のセットを含み、当該画素の第2のセットは、各物理的位置の第2のセットに対する各深度値の第2のセットを示し、当該各深度値の第2のセットは、通信インターフェースが通信するように構成される第2のカメラに関連する。方法は、各物理的位置の第2のセットも表す、第1の深度マップの画素の第3のセットを特定することを更に含み、当該画素の第3のセットは第2の深度マップの画素の第2のセットに対応する。方法は、画素の第3のセットから1つ以上の空画素を特定することを更に含み、当該1つ以上の空画素の各空画素は、深度値が割り当てられていない第1の深度マップの画素である。方法は、1つ以上の空画素の各空画素に、第2の深度マップの画素の第2のセットの対応する画素の深度値に基づく各深度値を割り当てることにより、第1の深度マップを更新することを更に含み、空画素に対する対応する画素は、当該空画素と同じ物理的位置を表す、第2の深度マップの画素の第2のセットの画素である。
実施形態19は、実施形態18の方法を含む。実施形態19において、第1の深度マップが、第2の深度マップの第2の解像度より高い第1の解像度を有する場合、方法は、1つ以上の空画素に属した又は属する少なくとも1つの画素に対して、当該少なくとも1つの画素に隣接しかつ深度値が割り当てられていない、第1の深度マップの1つ以上の隣接する空画素の各セットを特定することと、1つ以上の隣接する空画素の各セットに、少なくとも1つの画素に割り当てられた又は割り当てられるべき深度値を割り当てることとを更に含む。
実施形態20は、実施形態19の方法を含む。実施形態20において、方法は、少なくとも1つの画素を包囲する画素の領域における全ての空画素として1つ以上の隣接する空画素の各セットを特定することを更に含み、制御回路は、第1の深度マップの解像度と第2の深度マップの解像度との比に基づいて、領域のサイズを求めるように構成される。
種々の実施形態を上述してきたが、これらの実施形態は、限定としてではなく本発明の単なる説明及び例として提示されていることを理解すべきである。形式及び細部における種々の変更は本発明の趣旨及び範囲から逸脱することなく本発明内で行うことができることは当業者には明らかであろう。したがって、本発明の範囲(breadth and scope)は、上述の例示的な実施形態のいずれかによって限定されるべきではなく、添付の特許請求の範囲及びそれらの均等物によってのみ規定されるべきである。本明細書において論考された各実施形態、及び本明細書において引用された各引用文献の各特徴は、他の任意の実施形態の特徴と組み合わせて用いることができることも理解されるであろう。本明細書において論考された全ての特許及び刊行物は、引用することによりその全体が本明細書の一部をなす。

Claims (20)

  1. (i)第1のタイプの深度検知カメラでありかつ第1のカメラ視野を有する第1のカメラ、及び(ii)前記第1のタイプの深度検知カメラとは異なる第2のタイプの深度検知カメラであり、かつ前記第1のカメラ視野とオーバーラップする第2のカメラ視野を有する第2のカメラと通信するように構成された通信インターフェースと、
    前記通信インターフェースが前記第1のカメラ及び前記第2のカメラと通信するとき、
    前記第1のカメラによって検知される情報に基づいて生成される第1の深度マップを受け取ることであって、該第1の深度マップは、前記第1のカメラ視野における各物理的位置の第1のセットを表す画素の第1のセットを含み、該画素の第1のセットは、前記各物理的位置の第1セットに対する各深度値の第1のセットを示し、該各深度値の第1のセットは前記第1のカメラに関連する、第1の深度マップを受け取ることと、
    前記第2のカメラによって検知される情報に基づいて生成される第2の深度マップを受け取ることであって、該第2の深度マップは、前記第2のカメラ視野における各物理的位置の第2のセットを表す画素の第2のセットを含み、該画素の第2のセットは、前記各物理的位置の第2セットに対する各深度値の第2のセットを示し、該各深度値の第2のセットは前記第2のカメラに関連する、第2の深度マップを受け取ることと、
    前記各物理的位置の第2のセットも表す、前記第1の深度マップの画素の第3のセットを特定することであって、該画素の第3のセットは前記第2の深度マップの前記画素の第2のセットに対応する、画素の第3のセットを特定することと、
    前記画素の第3のセットから1つ以上の空画素を特定することであって、該1つ以上の空画素の各空画素は、深度値が割り当てられていない前記第1の深度マップの画素である、1つ以上の空画素を特定することと、
    前記1つ以上の空画素の各空画素に、前記第2の深度マップの前記画素の第2のセットの対応する画素の深度値に基づく各深度値を割り当てることにより、前記第1の深度マップを更新することであって、前記空画素に対する前記対応する画素は、該空画素と同じ物理的位置を表す、前記第2の深度マップの前記画素の第2のセットの画素である、前記第1の深度マップを更新することと、
    を行うように構成された制御回路と、
    を備える、カメラ画像処理システム。
  2. 前記制御回路は、前記第2の深度マップの前記対応する画素の前記深度値に基づき、かつ、前記第1のカメラと前記第2のカメラとの間の空間的関係を定義する変換関数に基づき、前記1つ以上の空画素のセットの各空画素に割り当てるべき前記各深度値を求めるように構成されている、請求項1に記載のカメラ画像処理システム。
  3. 前記第2の深度マップの前記画素の第2のセットは、各画素座標のセットを有し、前記制御回路は、前記各画素座標のセットに基づき、かつ前記第1のカメラと前記第2のカメラとの間の空間的関係を定義する前記変換関数に基づき、各画素座標の追加のセットを求めることにより、前記第1の深度マップの前記画素の第3のセットを特定するように構成され、前記各画素座標の追加のセットは、前記画素の第3のセットを特定する、請求項2に記載のカメラ画像処理システム。
  4. 前記制御回路は、前記第1のカメラから前記通信インターフェースを介して前記第1の深度マップを受け取り、前記第2のカメラから前記通信インターフェースを介して前記第2の深度マップを受け取るように構成されている、請求項1に記載のカメラ画像処理システム。
  5. 前記制御回路は、前記第1の深度マップが、前記第2の深度マップの第2の解像度より高い第1の解像度を有する場合、
    前記1つ以上の空画素に属した又は属する少なくとも1つの画素に対して、該少なくとも1つの画素に隣接しかつ深度値が割り当てられていない、前記第1の深度マップの1つ以上の隣接する空画素の各セットを特定し、
    前記1つ以上の隣接する空画素の各セットに、前記少なくとも1つの画素に割り当てられた又は割り当てられるべき深度値を割り当てる、
    ことにより、前記第1の深度マップを更に更新するように構成されている、請求項1に記載のカメラ画像処理システム。
  6. 前記制御回路は、前記少なくとも1つの画素を包囲する画素の領域における全ての空画素として、前記1つ以上の隣接する空画素の各セットを特定するように構成され、前記制御回路は、前記第1の深度マップの解像度と前記第2の深度マップの解像度との比に基づき、前記領域のサイズを求めるように構成されている、請求項5に記載のカメラ画像処理システム。
  7. 前記制御回路は、
    前記1つ以上の空画素に属した又は属する第1の画素に隣接し、かつ前記1つ以上の空画素に属した又は属する第2の画素に隣接する、1つ以上の隣接する空画素のセットを特定し、
    前記1つ以上の隣接する空画素のセットに、前記第1の画素に割り当てられた又は割り当てられるべき第1の深度値と、前記第2の画素に割り当てられた又は割り当てられるべき第2の深度値との平均である平均深度値を割り当てる、
    ことにより、前記第1の深度マップを更に更新するように構成されている、請求項1に記載のカメラ画像処理システム。
  8. 前記制御回路は、
    前記第1の画素に隣接し、前記1つ以上の空画素の他の任意の画素に隣接していない隣接する空画素の追加のセットを特定し、
    前記隣接する空画素の追加のセットに前記第1の深度値を割り当てる、
    ことにより、前記第1の深度マップを更に更新するように構成されている、請求項7に記載のカメラ画像処理システム。
  9. 前記制御回路は、前記1つ以上の空画素に属した又は属する各画素に対して、
    該画素の各中心位置を求め、
    該画素によって表される物理的位置の各座標として、該画素の前記中心位置の上に射影する3D座標であって、該3D座標の成分が該画素に割り当てられた又は割り当てられるべき深度値に等しい、3D座標を特定し、
    前記各3D座標に基づき点群を生成する、
    ように構成されている、請求項1に記載のカメラ画像処理システム。
  10. 前記制御回路は、前記1つ以上の空画素に属した又は属する各画素に対して、(i)該画素の前記各中心位置及び(ii)前記第1のカメラの焦点を通る仮想線上にある座標として、前記各3D座標を求めるように構成されている、請求項9に記載のカメラ画像処理システム。
  11. 前記制御回路は、前記第1の深度マップの前記1つ以上の画素の各画素が前記画素の第2のセットの複数の画素に対応するように、前記第1の深度マップが前記第2の深度マップの第2の解像度より低い第1の解像度を有するとき、
    前記第2の深度マップの前記画素の第2のセットの対応する画素の各深度値の平均に基づき、前記1つ以上の空画素の各空画素に割り当てるべき前記各深度値を求める、
    ように構成されている、請求項1に記載のカメラ画像処理システム。
  12. 前記カメラ画像処理システムはロボット制御システムの一部であり、前記通信インターフェースが前記第1のカメラ、前記第2のカメラ及びロボットと通信するとき、前記制御回路は、
    前記第1の深度マップが前記第2の深度マップの深度値に基づいて更新された後、前記第1の深度マップに基づいてロボット移動コマンドを生成し、
    前記通信インターフェースを介して前記ロボット移動コマンドを前記ロボットに通信する、
    ように構成されている、請求項1に記載のカメラ画像処理システム。
  13. 前記制御回路は、前記第1の深度マップが前記第2の深度マップの深度値に基づいて更新された後、前記第1の深度マップに基づいて前記ロボット移動コマンドを生成するように構成されている、請求項12に記載のカメラ画像処理システム。
  14. 命令を有する非一時的コンピューター可読媒体であって、該命令は、カメラ画像処理システムの制御回路によって実行されると、該制御回路に、
    第1の深度マップを受け取ることであって、該第1の深度マップは、前記カメラ画像処理システムの該非一時的コンピューター可読媒体から、又は、該カメラ画像処理システムの通信インターフェースを介して受け取られ、該通信インターフェースは、第1のタイプの深度検知カメラでありかつ第1のカメラ視野を有する第1のカメラと通信するように構成され、前記第1の深度マップは、前記通信インターフェースが通信するように構成される前記第1のカメラによって検知される情報に基づいて生成され、前記第1の深度マップは、前記第1のカメラ視野における各物理的位置の第1のセットを表す画素の第1のセットを含み、該画素の第1のセットは、前記各物理的位置の第1のセットに対する各深度値の第1のセットを示し、該各深度値の第1のセットは、前記通信インターフェースが通信するように構成される前記第1のカメラに関連する、第1の深度マップを受け取ることと、
    第2の深度マップを受け取ることであって、該第2の深度マップは、前記カメラ画像処理システムの該非一時的コンピューター可読媒体から、又は、該カメラ画像処理システムの前記通信インターフェースを介して受け取られ、該通信インターフェースは、前記第1のタイプの深度検知カメラとは異なる第2のタイプの深度検知カメラであり、かつ前記第1のカメラ視野とオーバーラップする第2のカメラ視野を有する、第2のカメラと通信するように構成され、前記第2の深度マップは、前記通信インターフェースが通信するように構成される前記第2のカメラによって検知される情報に基づいて生成され、前記第2の深度マップは、前記第2のカメラ視野における各物理的位置の第2のセットを表す画素の第2のセットを含み、該画素の第2のセットは、前記各物理的位置の第2のセットに対する各深度値の第2のセットを示し、該各深度値の第2のセットは、前記通信インターフェースが通信するように構成される前記第2のカメラに関連する、第2の深度マップを受け取ることと、
    前記各物理的位置の第2のセットも表す、前記第1の深度マップの画素の第3のセットを特定することであって、該画素の第3のセットは前記第2の深度マップの前記画素の第2のセットに対応する、画素の第3のセットを特定することと、
    前記画素の第3のセットから1つ以上の空画素を特定することであって、該1つ以上の空画素の各空画素は、深度値が割り当てられていない前記第1の深度マップの画素である、1つ以上の空画素を特定することと、
    前記1つ以上の空画素の各空画素に、前記第2の深度マップの前記画素の第2のセットの対応する画素の深度値に基づく各深度値を割り当てることにより、前記第1の深度マップを更新することであって、前記空画素に対する前記対応する画素は、該空画素と同じ物理的位置を表す、前記第2の深度マップの前記画素の第2のセットの画素である、前記第1の深度マップを更新することと、
    を行わせる、非一時的コンピューター可読媒体。
  15. 前記第1の深度マップが、前記第2の深度マップの第2の解像度より高い第1の解像度を有する場合、前記命令は更に、前記制御回路に、
    前記1つ以上の空画素に属した又は属する少なくとも1つの画素に対して、該少なくとも1つの画素に隣接しかつ深度値が割り当てられていない、前記第1の深度マップの1つ以上の隣接する空画素の各セットを特定させ、
    前記1つ以上の隣接する空画素の各セットに、前記少なくとも1つの画素に割り当てられた又は割り当てられるべき深度値を割り当てさせる、
    請求項14に記載の非一時的コンピューター可読媒体。
  16. 前記命令は、前記制御回路に、前記少なくとも1つの画素を包囲する画素の領域における全ての空画素として、前記1つ以上の隣接する空画素の各セットを特定させ、前記制御回路は、前記第1の深度マップの解像度と前記第2の深度マップの解像度との比に基づき、前記領域のサイズを求めるように構成されている、請求項15に記載の非一時的コンピューター可読媒体。
  17. 前記命令は更に、前記制御回路に、前記1つ以上の空画素に属した又は属する各画素に対して、
    前記画素の各中心位置を求めることと、
    前記画素によって表される物理的位置の各座標として、該画素の前記中心位置の上に射影する3D座標であって、該3D座標の成分が前記画素に割り当てられた又は割り当てられるべき深度値に等しい、3D座標を求めることと、
    前記各3D座標に基づいて点群を生成することと、
    を実施させる、請求項14に記載の非一時的コンピューター可読媒体。
  18. 1つ以上の深度マップを更新する方法であって、
    カメラ画像処理システムの制御回路により第1の深度マップを受け取ることであって、該第1の深度マップは、前記カメラ画像処理システムの非一時的コンピューター可読媒体から、又は該カメラ画像処理システムの通信インターフェースを介して受け取られ、該通信インターフェースは、第1のタイプの深度検知カメラでありかつ第1のカメラ視野を有する第1のカメラと通信するように構成され、前記第1の深度マップは、前記通信インターフェースが通信するように構成される前記第1のカメラによって検知される情報に基づいて生成され、前記第1の深度マップは、前記第1のカメラ視野における各物理的位置の第1のセットを表す画素の第1のセットを含み、該画素の第1のセットは、前記各物理的位置の第1のセットに対する各深度値の第1のセットを示し、該各深度値の第1のセットは、前記通信インターフェースが通信するように構成される前記第1のカメラに関連する、第1の深度マップを受け取ることと、
    第2の深度マップを受け取ることであって、該第2の深度マップは、前記カメラ画像処理システムの前記非一時的コンピューター可読媒体から、又は該カメラ画像処理システムの前記通信インターフェースを介して受け取られ、該通信インターフェースは、前記第1のタイプの深度検知カメラとは異なる第2のタイプの深度検知カメラであり、かつ前記第1のカメラ視野とオーバーラップする第2のカメラ視野を有する、第2のカメラと通信するように構成され、前記第2の深度マップは、前記通信インターフェースが通信するように構成される前記第2のカメラによって検知される情報に基づいて生成され、前記第2の深度マップは、前記第2のカメラ視野における各物理的位置の第2のセットを表す画素の第2のセットを含み、該画素の第2のセットは、前記各物理的位置の第2のセットに対する各深度値の第2のセットを示し、該各深度値の第2のセットは、前記通信インターフェースが通信するように構成される前記第2のカメラに関連する、第2の深度マップを受け取ることと、
    前記各物理的位置の第2のセットも表す、前記第1の深度マップの画素の第3のセットを特定することであって、該画素の第3のセットは前記第2の深度マップの前記画素の第2のセットに対応する、画素の第3のセットを特定することと、
    前記画素の第3のセットから1つ以上の空画素を特定することであって、該1つ以上の空画素の各空画素は、深度値が割り当てられていない前記第1の深度マップの画素である、1つ以上の空画素を特定することと、
    前記1つ以上の空画素の各空画素に、前記第2の深度マップの前記画素の第2のセットの対応する画素の深度値に基づく各深度値を割り当てることにより、前記第1の深度マップを更新することであって、前記空画素に対する前記対応する画素は、該空画素と同じ物理的位置を表す、前記第2の深度マップの前記画素の第2のセットの画素である、前記第1の深度マップを更新することと、
    を含む、方法。
  19. 前記第1の深度マップが、前記第2の深度マップの第2の解像度より高い第1の解像度を有する場合、
    前記1つ以上の空画素に属した又は属する少なくとも1つの画素に対して、該少なくとも1つの画素に隣接しかつ深度値が割り当てられていない、前記第1の深度マップの1つ以上の隣接する空画素の各セットを特定することと、
    前記1つ以上の隣接する空画素の各セットに、前記少なくとも1つの画素に割り当てられた又は割り当てられるべき深度値を割り当てることと、
    を更に含む、請求項18に記載の方法。
  20. 前記少なくとも1つの画素を包囲する画素の領域における全ての空画素として前記1つ以上の隣接する空画素の各セットを特定することであって、前記制御回路は、前記第1の深度マップの解像度と前記第2の深度マップの解像度との比に基づいて、前記領域のサイズを求めるように構成される、特定すること、
    を更に含む、請求項19に記載の方法。
JP2019160002A 2019-06-11 2019-09-03 第1のカメラによって生成された第1の画像を第2のカメラによって生成された第2の画像に基づいて更新する方法及び処理システム Active JP6656549B1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/438,084 2019-06-11
US16/438,084 US10510155B1 (en) 2019-06-11 2019-06-11 Method and processing system for updating a first image generated by a first camera based on a second image generated by a second camera

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019233623A Division JP2020201930A (ja) 2019-06-11 2019-12-25 第1のカメラによって生成された第1の画像を第2のカメラによって生成された第2の画像に基づいて更新する方法及び処理システム

Publications (2)

Publication Number Publication Date
JP6656549B1 JP6656549B1 (ja) 2020-03-04
JP2020201921A true JP2020201921A (ja) 2020-12-17

Family

ID=68549938

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2019160002A Active JP6656549B1 (ja) 2019-06-11 2019-09-03 第1のカメラによって生成された第1の画像を第2のカメラによって生成された第2の画像に基づいて更新する方法及び処理システム
JP2019233623A Pending JP2020201930A (ja) 2019-06-11 2019-12-25 第1のカメラによって生成された第1の画像を第2のカメラによって生成された第2の画像に基づいて更新する方法及び処理システム
JP2024017509A Pending JP2024040313A (ja) 2019-06-11 2024-02-07 第1のカメラによって生成された第1の画像を第2のカメラによって生成された第2の画像に基づいて更新する方法及び処理システム

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2019233623A Pending JP2020201930A (ja) 2019-06-11 2019-12-25 第1のカメラによって生成された第1の画像を第2のカメラによって生成された第2の画像に基づいて更新する方法及び処理システム
JP2024017509A Pending JP2024040313A (ja) 2019-06-11 2024-02-07 第1のカメラによって生成された第1の画像を第2のカメラによって生成された第2の画像に基づいて更新する方法及び処理システム

Country Status (4)

Country Link
US (3) US10510155B1 (ja)
JP (3) JP6656549B1 (ja)
CN (3) CN111243001B (ja)
DE (1) DE102020206759A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022209166A1 (ja) * 2021-03-31 2022-10-06 ソニーグループ株式会社 情報処理装置、情報処理方法、及び較正用ターゲット

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190055582A (ko) * 2017-11-15 2019-05-23 삼성전자주식회사 전자 장치의 이미지 촬영 방법 및 그 전자 장치
US10965929B1 (en) * 2019-01-04 2021-03-30 Rockwell Collins, Inc. Depth mapping and parallel distortion correction for mixed reality
JP7424800B2 (ja) * 2019-11-06 2024-01-30 ファナック株式会社 制御装置、その制御方法、及び制御システム
US11103998B2 (en) 2019-12-12 2021-08-31 Mujin, Inc. Method and computing system for performing motion planning based on image information generated by a camera
CN113219900B (zh) * 2019-12-12 2022-03-29 牧今科技 基于相机生成的图像信息执行运动规划的方法和计算系统
US11618167B2 (en) * 2019-12-24 2023-04-04 X Development Llc Pixelwise filterable depth maps for robots
CN115552476A (zh) 2020-02-06 2022-12-30 伯克希尔格雷营业股份有限公司 用于利用可编程运动装置的铰接臂上的位置未知的基准物的照相机校准的系统和方法
US11006039B1 (en) 2020-02-13 2021-05-11 Mujin, Inc. Method and system for determining occlusion within a camera field of view
CN111582196B (zh) * 2020-02-13 2021-05-04 牧今科技 用于确定相机视场内的遮挡的方法和系统
US11425324B2 (en) * 2020-06-22 2022-08-23 Samsung Electronics Co., Ltd. Time-of-flight down-up sampling using a compressed guide
CN113865481B (zh) * 2020-06-30 2024-05-07 北京小米移动软件有限公司 对象尺寸测量方法、装置及存储介质
WO2022087983A1 (zh) * 2020-10-29 2022-05-05 深圳市大疆创新科技有限公司 测距方法、测距装置与可移动平台
JPWO2022201804A1 (ja) * 2021-03-25 2022-09-29
US11594016B1 (en) * 2022-05-03 2023-02-28 Plusai, Inc. Navigating a vehicle based on data processing using synthetically generated images
US11806882B1 (en) * 2022-06-14 2023-11-07 Plus One Robotics, Inc. Robotic picking system and method of use
CN115994937A (zh) * 2023-03-22 2023-04-21 科大讯飞股份有限公司 深度估计方法、装置及机器人

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3745117B2 (ja) * 1998-05-08 2006-02-15 キヤノン株式会社 画像処理装置及び画像処理方法
EP2255930A1 (de) * 2009-05-27 2010-12-01 Leica Geosystems AG Verfahren und System zum hochpräzisen Positionieren mindestens eines Objekts in eine Endlage im Raum
EP2269783A1 (de) * 2009-06-30 2011-01-05 Leica Geosystems AG Kalibrierungsverfahren für ein Messsystem
US8643701B2 (en) * 2009-11-18 2014-02-04 University Of Illinois At Urbana-Champaign System for executing 3D propagation for depth image-based rendering
US9094660B2 (en) * 2010-11-11 2015-07-28 Georgia Tech Research Corporation Hierarchical hole-filling for depth-based view synthesis in FTV and 3D video
US10848731B2 (en) * 2012-02-24 2020-11-24 Matterport, Inc. Capturing and aligning panoramic image and depth data
US9571818B2 (en) * 2012-06-07 2017-02-14 Nvidia Corporation Techniques for generating robust stereo images from a pair of corresponding stereo images captured with and without the use of a flash device
US9237326B2 (en) * 2012-06-27 2016-01-12 Imec Taiwan Co. Imaging system and method
US20140098100A1 (en) * 2012-10-05 2014-04-10 Qualcomm Incorporated Multiview synthesis and processing systems and methods
WO2014083752A1 (ja) * 2012-11-30 2014-06-05 パナソニック株式会社 別視点画像生成装置および別視点画像生成方法
US10497140B2 (en) * 2013-08-15 2019-12-03 Intel Corporation Hybrid depth sensing pipeline
EP2887312A1 (en) * 2013-12-18 2015-06-24 Nokia Corporation Method, apparatus and computer program product for depth estimation of stereo images
CN104008569B (zh) * 2014-02-24 2016-03-02 惠州学院 一种基于深度视频的3d场景生成方法
TWI573433B (zh) * 2014-04-30 2017-03-01 聚晶半導體股份有限公司 優化深度資訊的方法與裝置
CN105096300B (zh) * 2014-05-08 2018-06-12 株式会社理光 对象检测方法和设备
US20160188977A1 (en) * 2014-12-24 2016-06-30 Irobot Corporation Mobile Security Robot
US10217189B2 (en) * 2015-09-16 2019-02-26 Google Llc General spherical capture methods
US9734405B2 (en) 2015-10-05 2017-08-15 Pillar Vision, Inc. Systems and methods for monitoring objects in athletic playing spaces
US10341633B2 (en) 2015-11-20 2019-07-02 Qualcomm Incorporated Systems and methods for correcting erroneous depth information
US9996933B2 (en) 2015-12-22 2018-06-12 Qualcomm Incorporated Methods and apparatus for outlier detection and correction of structured light depth maps
US20170186223A1 (en) * 2015-12-23 2017-06-29 Intel Corporation Detection of shadow regions in image depth data caused by multiple image sensors
WO2017139330A1 (en) 2016-02-08 2017-08-17 Berkshire Grey Inc. Systems and methods for providing processing of a variety of objects employing motion planning
CN106780592B (zh) * 2016-06-30 2020-05-22 华南理工大学 基于相机运动和图像明暗的Kinect深度重建方法
US9972067B2 (en) * 2016-10-11 2018-05-15 The Boeing Company System and method for upsampling of sparse point cloud for 3D registration
CN106651925B (zh) * 2016-11-28 2019-08-30 深圳奥比中光科技有限公司 一种彩色深度图像的获取方法、获取设备
US10691979B2 (en) * 2017-01-04 2020-06-23 Aquifi, Inc. Systems and methods for shape-based object retrieval
US10755428B2 (en) * 2017-04-17 2020-08-25 The United States Of America, As Represented By The Secretary Of The Navy Apparatuses and methods for machine vision system including creation of a point cloud model and/or three dimensional model
WO2018208791A1 (en) * 2017-05-08 2018-11-15 Aquifi, Inc. Systems and methods for inspection and defect detection using 3-d scanning
TWI625678B (zh) * 2017-06-21 2018-06-01 鴻海精密工業股份有限公司 電子設備及其手勢識別方法
US10523880B2 (en) * 2017-09-28 2019-12-31 Waymo Llc Synchronized spinning LIDAR and rolling shutter camera system
US10891778B2 (en) * 2018-01-10 2021-01-12 The Board Of Trustees Of The University Of Illinois Apparatus and method for producing three-dimensional models from magnetic resonance imaging
US10740964B2 (en) * 2018-03-13 2020-08-11 Recogni Inc. Three-dimensional environment modeling based on a multi-camera convolver system
US11412198B2 (en) * 2018-05-31 2022-08-09 Intel Corporation Bit depth coding mechanism
US11148295B2 (en) * 2018-06-17 2021-10-19 Robotics Materials, Inc. Systems, devices, components, and methods for a compact robotic gripper with palm-mounted sensing, grasping, and computing devices and components
US10867430B2 (en) * 2018-11-19 2020-12-15 Intel Corporation Method and system of 3D reconstruction with volume-based filtering for image processing
US10460208B1 (en) * 2019-01-02 2019-10-29 Cognata Ltd. System and method for generating large simulation data sets for testing an autonomous driver

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022209166A1 (ja) * 2021-03-31 2022-10-06 ソニーグループ株式会社 情報処理装置、情報処理方法、及び較正用ターゲット

Also Published As

Publication number Publication date
JP6656549B1 (ja) 2020-03-04
US10510155B1 (en) 2019-12-17
CN116664651A (zh) 2023-08-29
US11080876B2 (en) 2021-08-03
US20210327082A1 (en) 2021-10-21
JP2020201930A (ja) 2020-12-17
US11688089B2 (en) 2023-06-27
CN110490922B (zh) 2023-06-16
CN111243001A (zh) 2020-06-05
CN111243001B (zh) 2021-01-12
JP2024040313A (ja) 2024-03-25
US20200394810A1 (en) 2020-12-17
DE102020206759A1 (de) 2020-12-17
CN110490922A (zh) 2019-11-22

Similar Documents

Publication Publication Date Title
JP6656549B1 (ja) 第1のカメラによって生成された第1の画像を第2のカメラによって生成された第2の画像に基づいて更新する方法及び処理システム
US11310479B2 (en) Non-uniform spatial resource allocation for depth mapping
US20190007659A1 (en) Sensor for securing a machine
US20120154542A1 (en) Plural detector time-of-flight depth mapping
US20190079192A1 (en) Time-of-flight augmented structured light range-sensor
CN109362237B (zh) 用于检测被监测体积内入侵的方法和系统
US20130321790A1 (en) Three dimensional surface mapping system using optical flow
JP6187671B2 (ja) 自己位置算出装置及び自己位置算出方法
JP7259835B2 (ja) フォークリフト用の画像処理装置、および制御プログラム
US9992480B1 (en) Apparatus and methods related to using mirrors to capture, by a camera of a robot, images that capture portions of an environment from multiple vantages
US10893190B2 (en) Tracking image collection for digital capture of environments, and associated systems and methods
US10733740B2 (en) Recognition of changes in a detection zone
US20200356094A1 (en) Methods and systems for machine state related visual feedback in a robotic device
KR20230065978A (ko) 구조화된 광을 사용하여 장면에서 평면 표면들을 직접 복구하기 위한 시스템, 방법 및 매체
US20180225007A1 (en) Systems and methods for user input device tracking in a spatial operating environment
CN114296057A (zh) 一种计算测距系统相对外参的方法、装置和存储介质
JPWO2017038659A1 (ja) 運動検出装置及びそれを用いた三次元形状測定装置
EP3992662A1 (en) Three dimensional measurement device having a camera with a fisheye lens
KR20220146617A (ko) 라이다 측정에서 블루밍을 검출하는 방법 및 장치
US20230186496A1 (en) Vision Sensing Device and Method
EP3834997A1 (en) Method and device for calibrating a machine vision device for position determination
CN113050073B (zh) 参考平面标定方法、障碍物检测方法以及距离检测装置
WO2022054497A1 (ja) 充填率計測方法、情報処理装置およびプログラム
Kuehnle et al. Real-time 3D environment model for obstacle detection and collision avoidance with a mobile service robot
KR100910203B1 (ko) 자율이동플랫폼 장치의 지형영상 출력장치, 이를 구비하는 자율이동플랫폼 장치 및 자율이동플랫폼 장치의 지형영상 출력방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191111

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191111

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20191125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191225

R150 Certificate of patent or registration of utility model

Ref document number: 6656549

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350