(57)【要約】【課題】カメラ画像を処理する方法及びシステムを提示する。【解決手段】システムは、第１のタイプの深度検知カメラによって検知される情報に基づいて生成される第１の深度マップを受け取り、第２のタイプの深度検知カメラによって検知される情報に基づいて生成される第２の深度マップを受け取る。第１の深度マップは、各深度値の第１のセットを示す画素の第１のセットを含む。第２の深度マップは、各深度値の第２のセットを示す画素の第２のセットを含む。システムは、第２の深度マップの画素の第２のセットに対応する第１の深度マップの画素の第３のセットを特定し、画素の第３のセットから１つ以上の空画素を特定し、第２の深度マップに基づいて各空画素に各深度値を割り当てることにより第１の深度マップを更新する。【選択図】図４
2020201930.tif 000002
【特許請求の範囲】
【請求項１】
（ｉ）第１のタイプの深度検知カメラでありかつ第１のカメラ視野を有する第１のカメラ、及び（ｉｉ）前記第１のタイプの深度検知カメラとは異なる第２のタイプの深度検知カメラであり、かつ前記第１のカメラ視野とオーバーラップする第２のカメラ視野を有する第２のカメラと通信するように構成された通信インターフェースと、
前記通信インターフェースが前記第１のカメラ及び前記第２のカメラと通信するとき、
前記第１のカメラによって検知される情報に基づいて生成される第１の深度マップを受け取ることであって、該第１の深度マップは、前記第１のカメラ視野における各物理的位置の第１のセットを表す画素の第１のセットを含み、該画素の第１のセットは、前記各物理的位置の第１セットに対する各深度値の第１のセットを示し、該各深度値の第１のセットは前記第１のカメラに関連する、第１の深度マップを受け取ることと、
前記第２のカメラによって検知される情報に基づいて生成される第２の深度マップを受け取ることであって、該第２の深度マップは、前記第２のカメラ視野における各物理的位置の第２のセットを表す画素の第２のセットを含み、該画素の第２のセットは、前記各物理的位置の第２セットに対する各深度値の第２のセットを示し、該各深度値の第２のセットは前記第２のカメラに関連する、第２の深度マップを受け取ることと、
前記各物理的位置の第２のセットも表す、前記第１の深度マップの画素の第３のセットを特定することであって、該画素の第３のセットは前記第２の深度マップの前記画素の第２のセットに対応する、画素の第３のセットを特定することと、
前記画素の第３のセットから１つ以上の空画素を特定することであって、該１つ以上の空画素の各空画素は、深度値が割り当てられていない前記第１の深度マップの画素である、１つ以上の空画素を特定することと、
前記１つ以上の空画素の各空画素に、前記第２の深度マップの前記画素の第２のセットの対応する画素の深度値に基づく各深度値を割り当てることにより、前記第１の深度マップを更新することであって、前記空画素に対する前記対応する画素は、該空画素と同じ物理的位置を表す、前記第２の深度マップの前記画素の第２のセットの画素である、前記第１の深度マップを更新することと、
を行うように構成された制御回路と、
を備える、カメラ画像処理システム。
【請求項２】
前記制御回路は、前記第２の深度マップの前記対応する画素の前記深度値に基づき、かつ、前記第１のカメラと前記第２のカメラとの間の空間的関係を定義する変換関数に基づき、前記１つ以上の空画素のセットの各空画素に割り当てるべき前記各深度値を求めるように構成されている、請求項１に記載のカメラ画像処理システム。
【請求項３】
前記第２の深度マップの前記画素の第２のセットは、各画素座標のセットを有し、前記制御回路は、前記各画素座標のセットに基づき、かつ前記第１のカメラと前記第２のカメラとの間の空間的関係を定義する前記変換関数に基づき、各画素座標の追加のセットを求めることにより、前記第１の深度マップの前記画素の第３のセットを特定するように構成され、前記各画素座標の追加のセットは、前記画素の第３のセットを特定する、請求項２に記載のカメラ画像処理システム。
【請求項４】
前記制御回路は、前記第１のカメラから前記通信インターフェースを介して前記第１の深度マップを受け取り、前記第２のカメラから前記通信インターフェースを介して前記第２の深度マップを受け取るように構成されている、請求項１に記載のカメラ画像処理システム。
【請求項５】
前記制御回路は、前記第１の深度マップが、前記第２の深度マップの第２の解像度より高い第１の解像度を有する場合、
前記１つ以上の空画素に属した又は属する少なくとも１つの画素に対して、該少なくとも１つの画素に隣接しかつ深度値が割り当てられていない、前記第１の深度マップの１つ以上の隣接する空画素の各セットを特定し、
前記１つ以上の隣接する空画素の各セットに、前記少なくとも１つの画素に割り当てられた又は割り当てられるべき深度値を割り当てる、
ことにより、前記第１の深度マップを更に更新するように構成されている、請求項１に記載のカメラ画像処理システム。
【請求項６】
前記制御回路は、前記少なくとも１つの画素を包囲する画素の領域における全ての空画素として、前記１つ以上の隣接する空画素の各セットを特定するように構成され、前記制御回路は、前記第１の深度マップの解像度と前記第２の深度マップの解像度との比に基づき、前記領域のサイズを求めるように構成されている、請求項５に記載のカメラ画像処理システム。
【請求項７】
前記制御回路は、
前記１つ以上の空画素に属した又は属する第１の画素に隣接し、かつ前記１つ以上の空画素に属した又は属する第２の画素に隣接する、１つ以上の隣接する空画素のセットを特定し、
前記１つ以上の隣接する空画素のセットに、前記第１の画素に割り当てられた又は割り当てられるべき第１の深度値と、前記第２の画素に割り当てられた又は割り当てられるべき第２の深度値との平均である平均深度値を割り当てる、
ことにより、前記第１の深度マップを更に更新するように構成されている、請求項１に記載のカメラ画像処理システム。
【請求項８】
前記制御回路は、
前記第１の画素に隣接し、前記１つ以上の空画素の他の任意の画素に隣接していない隣接する空画素の追加のセットを特定し、
前記隣接する空画素の追加のセットに前記第１の深度値を割り当てる、
ことにより、前記第１の深度マップを更に更新するように構成されている、請求項７に記載のカメラ画像処理システム。
【請求項９】
前記制御回路は、前記１つ以上の空画素に属した又は属する各画素に対して、
該画素の各中心位置を求め、
該画素によって表される物理的位置の各座標として、該画素の前記中心位置の上に射影する３Ｄ座標であって、該３Ｄ座標の成分が該画素に割り当てられた又は割り当てられるべき深度値に等しい、３Ｄ座標を特定し、
前記各３Ｄ座標に基づき点群を生成する、
ように構成されている、請求項１に記載のカメラ画像処理システム。
【請求項１０】
前記制御回路は、前記１つ以上の空画素に属した又は属する各画素に対して、（ｉ）該画素の前記各中心位置及び（ｉｉ）前記第１のカメラの焦点を通る仮想線上にある座標として、前記各３Ｄ座標を求めるように構成されている、請求項９に記載のカメラ画像処理システム。
【請求項１１】
前記制御回路は、前記第１の深度マップの前記１つ以上の画素の各画素が前記画素の第２のセットの複数の画素に対応するように、前記第１の深度マップが前記第２の深度マップの第２の解像度より低い第１の解像度を有するとき、
前記第２の深度マップの前記画素の第２のセットの対応する画素の各深度値の平均に基づき、前記１つ以上の空画素の各空画素に割り当てるべき前記各深度値を求める、
ように構成されている、請求項１に記載のカメラ画像処理システム。
【請求項１２】
前記カメラ画像処理システムはロボット制御システムの一部であり、前記通信インターフェースが前記第１のカメラ、前記第２のカメラ及びロボットと通信するとき、前記制御回路は、
前記第１の深度マップが前記第２の深度マップの深度値に基づいて更新された後、前記第１の深度マップに基づいてロボット移動コマンドを生成し、
前記通信インターフェースを介して前記ロボット移動コマンドを前記ロボットに通信する、
ように構成されている、請求項１に記載のカメラ画像処理システム。
【請求項１３】
前記制御回路は、前記第１の深度マップが前記第２の深度マップの深度値に基づいて更新された後、前記第１の深度マップに基づいて前記ロボット移動コマンドを生成するように構成されている、請求項１２に記載のカメラ画像処理システム。
【請求項１４】
命令を有する非一時的コンピューター可読媒体であって、該命令は、カメラ画像処理システムの制御回路によって実行されると、該制御回路に、
第１の深度マップを受け取ることであって、該第１の深度マップは、前記カメラ画像処理システムの該非一時的コンピューター可読媒体から、又は、該カメラ画像処理システムの通信インターフェースを介して受け取られ、該通信インターフェースは、第１のタイプの深度検知カメラでありかつ第１のカメラ視野を有する第１のカメラと通信するように構成され、前記第１の深度マップは、前記通信インターフェースが通信するように構成される前記第１のカメラによって検知される情報に基づいて生成され、前記第１の深度マップは、前記第１のカメラ視野における各物理的位置の第１のセットを表す画素の第１のセットを含み、該画素の第１のセットは、前記各物理的位置の第１のセットに対する各深度値の第１のセットを示し、該各深度値の第１のセットは、前記通信インターフェースが通信するように構成される前記第１のカメラに関連する、第１の深度マップを受け取ることと、
第２の深度マップを受け取ることであって、該第２の深度マップは、前記カメラ画像処理システムの該非一時的コンピューター可読媒体から、又は、該カメラ画像処理システムの前記通信インターフェースを介して受け取られ、該通信インターフェースは、前記第１のタイプの深度検知カメラとは異なる第２のタイプの深度検知カメラであり、かつ前記第１のカメラ視野とオーバーラップする第２のカメラ視野を有する、第２のカメラと通信するように構成され、前記第２の深度マップは、前記通信インターフェースが通信するように構成される前記第２のカメラによって検知される情報に基づいて生成され、前記第２の深度マップは、前記第２のカメラ視野における各物理的位置の第２のセットを表す画素の第２のセットを含み、該画素の第２のセットは、前記各物理的位置の第２のセットに対する各深度値の第２のセットを示し、該各深度値の第２のセットは、前記通信インターフェースが通信するように構成される前記第２のカメラに関連する、第２の深度マップを受け取ることと、
前記各物理的位置の第２のセットも表す、前記第１の深度マップの画素の第３のセットを特定することであって、該画素の第３のセットは前記第２の深度マップの前記画素の第２のセットに対応する、画素の第３のセットを特定することと、
前記画素の第３のセットから１つ以上の空画素を特定することであって、該１つ以上の空画素の各空画素は、深度値が割り当てられていない前記第１の深度マップの画素である、１つ以上の空画素を特定することと、
前記１つ以上の空画素の各空画素に、前記第２の深度マップの前記画素の第２のセットの対応する画素の深度値に基づく各深度値を割り当てることにより、前記第１の深度マップを更新することであって、前記空画素に対する前記対応する画素は、該空画素と同じ物理的位置を表す、前記第２の深度マップの前記画素の第２のセットの画素である、前記第１の深度マップを更新することと、
を行わせる、非一時的コンピューター可読媒体。
【請求項１５】
前記第１の深度マップが、前記第２の深度マップの第２の解像度より高い第１の解像度を有する場合、前記命令は更に、前記制御回路に、
前記１つ以上の空画素に属した又は属する少なくとも１つの画素に対して、該少なくとも１つの画素に隣接しかつ深度値が割り当てられていない、前記第１の深度マップの１つ以上の隣接する空画素の各セットを特定させ、
前記１つ以上の隣接する空画素の各セットに、前記少なくとも１つの画素に割り当てられた又は割り当てられるべき深度値を割り当てさせる、
請求項１４に記載の非一時的コンピューター可読媒体。
【請求項１６】
前記命令は、前記制御回路に、前記少なくとも１つの画素を包囲する画素の領域における全ての空画素として、前記１つ以上の隣接する空画素の各セットを特定させ、前記制御回路は、前記第１の深度マップの解像度と前記第２の深度マップの解像度との比に基づき、前記領域のサイズを求めるように構成されている、請求項１５に記載の非一時的コンピューター可読媒体。
【請求項１７】
前記命令は更に、前記制御回路に、前記１つ以上の空画素に属した又は属する各画素に対して、
前記画素の各中心位置を求めることと、
前記画素によって表される物理的位置の各座標として、該画素の前記中心位置の上に射影する３Ｄ座標であって、該３Ｄ座標の成分が前記画素に割り当てられた又は割り当てられるべき深度値に等しい、３Ｄ座標を求めることと、
前記各３Ｄ座標に基づいて点群を生成することと、
を実施させる、請求項１４に記載の非一時的コンピューター可読媒体。
【請求項１８】
１つ以上の深度マップを更新する方法であって、
カメラ画像処理システムの制御回路により第１の深度マップを受け取ることであって、該第１の深度マップは、前記カメラ画像処理システムの非一時的コンピューター可読媒体から、又は該カメラ画像処理システムの通信インターフェースを介して受け取られ、該通信インターフェースは、第１のタイプの深度検知カメラでありかつ第１のカメラ視野を有する第１のカメラと通信するように構成され、前記第１の深度マップは、前記通信インターフェースが通信するように構成される前記第１のカメラによって検知される情報に基づいて生成され、前記第１の深度マップは、前記第１のカメラ視野における各物理的位置の第１のセットを表す画素の第１のセットを含み、該画素の第１のセットは、前記各物理的位置の第１のセットに対する各深度値の第１のセットを示し、該各深度値の第１のセットは、前記通信インターフェースが通信するように構成される前記第１のカメラに関連する、第１の深度マップを受け取ることと、
第２の深度マップを受け取ることであって、該第２の深度マップは、前記カメラ画像処理システムの前記非一時的コンピューター可読媒体から、又は該カメラ画像処理システムの前記通信インターフェースを介して受け取られ、該通信インターフェースは、前記第１のタイプの深度検知カメラとは異なる第２のタイプの深度検知カメラであり、かつ前記第１のカメラ視野とオーバーラップする第２のカメラ視野を有する、第２のカメラと通信するように構成され、前記第２の深度マップは、前記通信インターフェースが通信するように構成される前記第２のカメラによって検知される情報に基づいて生成され、前記第２の深度マップは、前記第２のカメラ視野における各物理的位置の第２のセットを表す画素の第２のセットを含み、該画素の第２のセットは、前記各物理的位置の第２のセットに対する各深度値の第２のセットを示し、該各深度値の第２のセットは、前記通信インターフェースが通信するように構成される前記第２のカメラに関連する、第２の深度マップを受け取ることと、
前記各物理的位置の第２のセットも表す、前記第１の深度マップの画素の第３のセットを特定することであって、該画素の第３のセットは前記第２の深度マップの前記画素の第２のセットに対応する、画素の第３のセットを特定することと、
前記画素の第３のセットから１つ以上の空画素を特定することであって、該１つ以上の空画素の各空画素は、深度値が割り当てられていない前記第１の深度マップの画素である、１つ以上の空画素を特定することと、
前記１つ以上の空画素の各空画素に、前記第２の深度マップの前記画素の第２のセットの対応する画素の深度値に基づく各深度値を割り当てることにより、前記第１の深度マップを更新することであって、前記空画素に対する前記対応する画素は、該空画素と同じ物理的位置を表す、前記第２の深度マップの前記画素の第２のセットの画素である、前記第１の深度マップを更新することと、
を含む、方法。
【請求項１９】
前記第１の深度マップが、前記第２の深度マップの第２の解像度より高い第１の解像度を有する場合、
前記１つ以上の空画素に属した又は属する少なくとも１つの画素に対して、該少なくとも１つの画素に隣接しかつ深度値が割り当てられていない、前記第１の深度マップの１つ以上の隣接する空画素の各セットを特定することと、
前記１つ以上の隣接する空画素の各セットに、前記少なくとも１つの画素に割り当てられた又は割り当てられるべき深度値を割り当てることと、
を更に含む、請求項１８に記載の方法。
【請求項２０】
前記少なくとも１つの画素を包囲する画素の領域における全ての空画素として前記１つ以上の隣接する空画素の各セットを特定することであって、前記制御回路は、前記第１の深度マップの解像度と前記第２の深度マップの解像度との比に基づいて、前記領域のサイズを求めるように構成される、特定すること、
を更に含む、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラ画像データに基づいて画像を構築する方法及び処理システムに関する。
【背景技術】
【０００２】
ロボットが、倉庫又は製造環境等、そのロボットの環境とインタラクトする自動化応用を、カメラを使用して容易にすることができる。カメラは、ロボットの環境における物体の形状又はサイズ等、様々な情報を確定することができる画像を生成することができる。こうした情報は、ロボットが倉庫内で物体をピッキングするか又は工場内で物体をよけて移動するインタラクションを支援することができる。カメラによって取り込まれた画像を使用して、物体の３次元（３Ｄ）モデル等、物体のモデルを生成することもできる。
【発明の概要】
【０００３】
本明細書における実施形態の１つの態様は、カメラ画像処理システムによって実施される方法に関する。本方法は、カメラ画像処理システムの制御回路により、例えば、制御回路がカメラ画像処理システムの非一時的コンピューター可読媒体上の命令を実行することにより、実施することができる。カメラ画像処理システムは、（ｉ）第１のタイプの深度検知カメラでありかつ第１のカメラ視野を有する第１のカメラ、及び（ｉｉ）第１のタイプの深度検知カメラとは異なる第２のタイプの深度検知カメラであり、かつ第１のカメラ視野とオーバーラップする第２のカメラ視野を有する第２のカメラと通信するように構成された通信インターフェースを備える。カメラ画像処理システムは、通信インターフェースが第１のカメラ及び第２のカメラと通信するとき、第１のカメラによって検知される情報に基づいて生成される第１の深度マップを受け取るように構成され、第１の深度マップは、第１のカメラ視野における各物理的位置の第１のセットを表す画素の第１のセットを含み、画素の第１のセットは、各物理的位置の第１セットに対する各深度値の第１のセットを示し、各深度値の第１のセットは第１のカメラに関連する。カメラ画像処理システムは、第２のカメラによって検知される情報に基づいて生成される第２の深度マップを受け取るように更に構成され、第２の深度マップは、第２のカメラ視野における各物理的位置の第２のセットを表す画素の第２のセットを含み、画素の第２のセットは、各物理的位置の第２のセットに対する各深度値の第２のセットを示し、各深度値の第２のセットは第２のカメラに関連する。さらに、カメラ画像処理システムは、各物理的位置の第２のセットも表す、第１の深度マップの画素の第３のセットを特定するように構成され、画素の第３のセットは第２の深度マップの画素の第２のセットに対応する。さらに、カメラ画像処理システムは、画素の第３のセットから１つ以上の空画素を特定するように構成され、１つ以上の空画素の各空画素は、第１の深度マップにおける深度値が割り当てられていない画素であり、カメラ画像処理システムは、１つ以上の空画素の各空画素に、第２の深度マップの画素の第２のセットの対応する画素の深度値に基づく各深度値を割り当てることにより、第１の深度マップを更新するように構成され、空画素に対する対応する画素は、その空画素と同じ物理的位置を表す、第２の深度マップの画素の第２のセットの画素である。
【０００４】
本発明の上述の特徴、目的、及び利点、並びに他の特徴、目的、及び利点は、添付の図面に示されるような本発明の実施形態の以下の説明から明らかであろう。本明細書に組み込まれるとともに本明細書の一部をなす添付の図面は更に、本発明の原理を説明するとともに、当業者が本発明を実施及び使用することを可能にする役割を果たす。図面は一定縮尺ではない。
【図面の簡単な説明】
【０００５】
【図１Ａ】本明細書における一実施形態による、カメラ画像処理システム、第１のカメラ及び第２のカメラを有するビジョンシステムのブロック図である。
【図１Ｂ】本明細書における一実施形態による、カメラ画像処理システムのブロック図である。
【図１Ｃ】本明細書における一実施形態による、第１のカメラのブロック図である。
【図１Ｄ】本明細書における一実施形態による、第２のカメラのブロック図である。
【図１Ｅ】本明細書における一実施形態による、ロボット制御システムと通信するビジョンシステムのブロック図である。
【図２】本明細書における一実施形態による、第１のカメラ及び第２のカメラが、深度マップを生成することができる情報を検知する、ビジョンシステムを示す図である。
【図３Ａ】本明細書における一実施形態による、第１のカメラ及び第２のカメラが、深度マップを生成することができる情報を検知する、ビジョンシステムを示す図である。
【図３Ｂ】本明細書における一実施形態による第１の深度マップを示す図である。
【図３Ｃ】本明細書における一実施形態による、第１の深度マップによって表される物理的位置の第１のセットを示す図である。
【図３Ｄ】本明細書における一実施形態による、第１の深度マップによって表される物理的位置の第１のセットを示す図である。
【図３Ｅ】本明細書における一実施形態による、第１の深度マップによって表される物理的位置の第１のセットを示す図である。
【図３Ｆ】本明細書における一実施形態による、第１のカメラ及び第２のカメラが、深度マップを生成することができる情報を検知する、ビジョンシステムを示す図である。
【図３Ｇ】本明細書における一実施形態による第２の深度マップを示す図である。
【図３Ｈ】本明細書における一実施形態による、第２の深度マップによって表される物理的位置の第２のセットを示す図である。
【図４】本明細書における一実施形態による、深度マップを更新する方法を示すフロー図である。
【図５Ａ】本明細書における一実施形態による、第１のカメラ及び第２のカメラが、深度マップを生成することができる情報を検知する、ビジョンシステムを示す図である。
【図５Ｂ】本明細書における一実施形態による、第１のカメラ及び第２のカメラが、深度マップを生成することができる情報を検知する、ビジョンシステムを示す図である。
【図６Ａ】本明細書における一実施形態による、第１の深度マップが第２の深度マップからの深度情報に基づいて更新される例を示す図である。
【図６Ｂ】本明細書における一実施形態による、第１の深度マップが第２の深度マップからの深度情報に基づいて更新される例を示す図である。
【図６Ｃ】本明細書における一実施形態による、第１の深度マップが第２の深度マップからの深度情報に基づいて更新される例を示す図である。
【図６Ｄ】本明細書における一実施形態による、第１の深度マップが第２の深度マップからの深度情報に基づいて更新される例を示す図である。
【図６Ｅ】本明細書における一実施形態による、第１の深度マップが第２の深度マップからの深度情報に基づいて更新される例を示す図である。
【図６Ｆ】本明細書における一実施形態による、第１の深度マップが第２の深度マップからの深度情報に基づいて更新される例を示す図である。
【図６Ｇ】本明細書における一実施形態による、第１の深度マップが第２の深度マップからの深度情報に基づいて更新される例を示す図である。
【図６Ｈ】本明細書における一実施形態による、第１の深度マップが第２の深度マップからの深度情報に基づいて更新される例を示す図である。
【図６Ｉ】本明細書における一実施形態による、第１の深度マップが第２の深度マップからの深度情報に基づいて更新される例を示す図である。
【図７−１】本明細書における一実施形態による、第１の深度マップが第２の深度マップからの深度情報に基づいて更新される例を示す図である。
【図７−２】本明細書における一実施形態による、第１の深度マップが第２の深度マップからの深度情報に基づいて更新される例を示す図である。
【図８】本明細書における一実施形態による、第１の深度マップが第２の深度マップからの深度情報に基づいて更新される例を示す図である。
【図９Ａ】本明細書における一実施形態による、逆射影演算を通して物理的位置の座標を求める一例を示す図である。
【図９Ｂ】本明細書における一実施形態による、逆射影演算を通して物理的位置の座標を求める一例を示す図である。
【図９Ｃ】本明細書における一実施形態による、逆射影演算を通して物理的位置の座標を求める一例を示す図である。
【発明を実施するための形態】
【０００６】
以下の詳細な説明は、本質的に単に例示のものであり、本発明又は本発明の用途及び使用を限定することを意図するものではない。さらに、前出の技術分野、背景技術、発明の概要又は以下の詳細な説明において提示されるいかなる明示された又は暗示された理論によっても限定する意図はない。
【０００７】
本明細書に記載する実施形態は、第１の画像における情報を第２の画像における情報に基づいて補完するか又は他の方法で更新することに関する。より詳細には、本明細書における実施形態は、第１の深度マップにおける深度情報（例えば、深度値）を第２の深度マップにおける深度情報に基づいて補完するか又は他の方法で更新することに関する。第１の深度マップは、第１のカメラによって検知される情報に基づいて生成されているようにすることができ、第２の深度マップは、第２のカメラによって検知される情報に基づいて生成されているようにすることができる。場合によっては、第２のカメラは、第１のカメラとは異なる特性を有することができる。例えば、第２のカメラは、第１のカメラとは異なるタイプのカメラとすることができ、異なる動作原理を有することができる。異なる特性により、第２のカメラは、例えば、第１のカメラに対して、いくつかの特定のタイプのノイズ（干渉とも呼ぶ）に対するより低い感受性、より優れた精度、より高い解像度、又は他の何らかの特性の相違を有することができる。場合によっては、第２のカメラによって検知される情報は、第１のカメラが検知し損なういくつかの特定の物理的位置を包含することができる。この状況が発生するのは、２つのカメラが、ノイズに対する異なる感受性、異なるレベルの精度、異なる解像度、異なる視野を有するため、又は他の何らかの理由による可能性がある。第２のカメラは、第１のカメラが検知し損なったか又は第１のカメラが入手できない情報を検知することができるため、第２のカメラを使用して、第１のカメラの能力を補完し、及び／又は、１つのカメラのみを用いて深度マップ又は他の画像を生成する実施態様と比較してより完全であり及び／又はより正確である深度マップ又は他の画像をもたらすことができる、補完情報を提供することができる。したがって、本明細書における実施形態の深度マップは、第１のカメラを介して得られた深度情報と第２のカメラを介して得られた深度情報との融合とすることができる。
【０００８】
場合によっては、更新された深度マップ（補完された深度マップとも呼ぶ）を使用して、ロボットのそのロボットの環境とインタラクトする能力を向上させることができる。例えば、更新された深度マップからの深度情報を使用して、ロボットの環境における物体又は構造体の３Ｄモデル（例えば、点群）を生成することができる。上述したように、本明細書における実施形態における更新された深度マップは、より完全であり、又は、より高レベルの精度を有することができる。その結果、更新された深度マップから生成される３Ｄモデルもまた、より完全及び／又はより正確とすることができ、それにより、モデル化された物体又は構造体とのロボットのインタラクション中のロボットのより正確な制御を容易にすることができる。例えば、ボックス又はビン内の物体のより正確な３Ｄモデルにより、ロボットがビンピッキングを正確に実施する能力を向上させることができ、ロボットの環境における構造体のより正確な３Ｄモデルにより、ロボットが、その構造体をよけて移動することにより構造体との衝突を回避する能力を向上させることができる。したがって、本明細書における実施形態により、自動化を改善し、ロボットとその環境とのよりロバストなインタラクションを容易にすることができる。
【０００９】
一実施形態では、第１の深度マップ及び第２の深度マップの両方が、複数の画素を含むことができ、第１の深度マップを補完すること（第１の深度マップを更新することとも呼ぶ）により、第１の深度マップの空画素に対して深度値を提供することができる。第１の深度マップの空画素は、深度値が割り当てられていないか、又はより一般的には深度情報が欠落している画素とすることができる。したがって、本明細書におけるいくつかの実施形態は、空画素に深度値を割り当て、それにより空画素を更新された画素に変換することにより、欠落している深度情報を埋めることに関する。
【００１０】
一実施形態では、空画素に割り当てられる深度値は、第２の深度マップの対応する画素の深度値に基づくことができる。場合によっては、第１の深度マップにおける空画素は、深度値を求めるために必要な情報を検知する第１のカメラの能力を制限する干渉の結果である可能性がある。例えば、第１のカメラが構造化光（structured light）カメラである場合、干渉源は、太陽光を含む可能性があり、太陽光は、物体の表面に射影されるパターンの外観等、構造化光情報を検知する第１のカメラの能力を制限する可能性がある。そして、この制限により、射影されたパターンから深度値を求める能力が低下する可能性がある。したがって、この干渉により、深度値を求めるために必要な信頼性の高い情報の量が低減する可能性があり、それにより、第１の深度マップが、深度情報が欠落している複数の空画素を有することになる可能性がある。こうした実施形態では、第２のカメラからの深度値を用いて、欠落している深度情報のうちの一部を埋めることができる。１つの例では、第２のカメラは、飛行時間（ＴｏＦ：time-of-flight）カメラとすることができ、それは、飛行時間情報を測定又は他の方法で検知することができ、そうした情報から、第２の深度マップに対する深度値を生成することができる。構造化光カメラと比較して、ＴＯＦカメラは、干渉に関して太陽光に対する感受性がはるかに低い可能性がある。したがって、飛行時間情報を検知する第２のカメラの能力に対して太陽光が与える影響は大幅に低い可能性があり、そうした飛行時間情報から、深度値の第２のセットを有する第２の深度マップを生成することができる。したがって、本明細書における実施形態は、第２の深度マップからの深度値を使用して、第１の深度マップの空画素を更新することができる深度値を導出することにより、干渉又は他の誤差源の影響を軽減することに関する。
【００１１】
一実施形態では、更新される第１の深度マップの空画素の量を改善するように、第１の深度マップを更新する一部として、アップサンプリングを実施することができる。場合によっては、アップサンプリングは、例えば、第１の深度マップが第２の深度マップより高い解像度を有する状況で実施することができる。こうした状況では、第２の深度マップからの画素を使用して、第１の深度マップの複数の空画素を更新することができる。例えば、第２の深度マップからの画素を使用して、第１の深度マップにおける対応する空画素とともに隣接する空画素のセットを更新することができる。アップサンプリングが実施されない場合、第１の深度マップの解像度が第２の深度マップの解像度よりはるかに高いシナリオでは、更新される第１の深度マップにおける空画素の数は、第１の深度マップの空画素の総数又は画素の総数と比較して小さい可能性がある。したがって、アップサンプリングが実施されない場合、空画素を更新することは、全体として第１の深度マップに対して限られた影響しか与えない可能性がある。したがって、第１の深度マップにどれくらいの深度情報があるかに対してより大きい影響を与えるように、第１の深度マップの空画素を更新するときに、アップサンプリングを実施することができる。
【００１２】
一実施形態では、第２の深度マップの複数の画素からの深度情報に基づいて、第１の深度マップの空画素を更新するように、ダウンサンプリングを実施することができる。場合によっては、ダウンサンプリングは、第１の深度マップが第２の深度マップより低い解像度を有する状況において実施することができる。こうした状況では、第２の深度マップからの複数の画素は、第１の深度マップの共通の空画素に対応することができる。したがって、第２の深度マップの対応する複数の画素の深度情報の平均又は他の複合値である深度値によって、空画素を更新することができる。
【００１３】
一実施形態では、深度値が、第１の深度マップの空画素である画素に割り当てられるとき、逆射影演算を実施して、その画素の中心位置に射影する物理的位置を見つけ、より詳細には、物理的位置の３Ｄ座標［Ｘ’’Ｙ’’Ｚ’’］Ｔ（Ｔは転置行列を示す）を見つけることができ、ここで、物理的位置は、物体又は構造体の表面上の位置とすることができる。そして、点群における点として３Ｄ座標［Ｘ’’Ｙ’’Ｚ’’］Ｔを使用することができ、点群は、第１のカメラの視野における物体又は構造体の３Ｄモデルとして作用することができる。より具体的には、物体又は構造体上の物理的位置は、第１のカメラのセンサーアレイにおける対応するセンサー（例えば、光検出器）に射影することができ、センサーの各々は、センサーアレイにおける対応する物理的領域を占有する。場合によっては、センサーは、深度マップの画素に一致することができ、その結果、物体又は構造体上の物理的位置は、画素上に射影すると言うこともできる。物体又は構造体上の物理的位置は画素によって表すことができ、その理由は、物理的位置が、その画素に対応するセンサーによって占有される物理的領域内の位置に射影するためである。この例では、領域の中心は、画素の中心と呼ぶことができる。画素に深度値が割り当てられるとき、画素は、［Ｘ’Ｙ’Ｚ’］Ｔの第１の３Ｄ座標を有する物理的位置を表すことができる。この第１の３Ｄ座標［Ｘ’Ｙ’Ｚ’］Ｔは、第２のカメラの内部パラメーター（例えば、第２のカメラの射影行列）と、第１のカメラと第２のカメラとの間の空間的関係と、第１のカメラの内部パラメーター（例えば、第１のカメラの射影行列）とに基づいて求めることができる。場合によっては、第１の３Ｄ座標のＺ成分（すなわち、Ｚ’）は、物理的位置を表す画素に対する深度値に等しい（すなわち、Ｚ’は、画素に割り当てられた深度値に等しい）。しかしながら、第１の３Ｄ座標［Ｘ’Ｙ’Ｚ’］Ｔを有する物理的位置は、必ずしも画素の中心位置に射影するとは限らない可能性があり、代わりに、領域の周縁部の位置等、画素に関連する領域における（又は、より具体的には、画素に対応するセンサーによって占有される領域における）他の何らかの位置に射影する可能性がある。物体又は構造体の点群における点として第１の３Ｄ座標［Ｘ’Ｙ’Ｚ’］Ｔを使用することは、環境によっては望ましくない可能性があり、その理由は、点群を使用するいくつかのプロセスが、点群における各３Ｄ座標が対応する画素の中心位置に射影するという仮定に依存する可能性があるためである。点群がその仮定から逸脱する場合、その仮定に依存するプロセスは、適切に動作しない可能性がある。したがって、点群は、代わりに、対応する画素の中心位置に射影する別の物理的位置の第２の３Ｄ座標［Ｘ’’Ｙ’’Ｚ’’］Ｔを含む必要がある可能性がある。一実施形態では、第２の３Ｄ座標は、逆射影演算を介して求めることができる。逆射影演算は、第１のカメラの焦点と画素の中心位置とを接続する仮想線を求め、仮想線の上に来る座標として第２の３Ｄ座標を求めることができる。この仮想線は、画素の上に射影することができる第１のカメラの視野における全ての物理的位置を近似することができる。場合によっては、第２の３Ｄ座標のＺ成分は、画素の深度値に等しくなければならない可能性がある（すなわち、Ｚ’’及びＺ’は深度値に等しい）。こうした場合、逆射影演算は、３Ｄ座標が仮想線上に来なければならず、第２の３Ｄ座標のＺ成分が画素の深度値に等しくなければならないという条件を満足させるために、第２の３Ｄ座標のＸ成分（すなわち、Ｘ’’）及びＹ成分（すなわち、Ｙ’’）を求めることを含むことができる。第２の３Ｄ座標は、第１の３Ｄ座標の代わりに物体又は構造体の点群に含めることができる。
【００１４】
図１Ａは、カメラ画像処理システム１１０、第１のカメラ１４０及び第２のカメラ１５０を備えるビジョンシステム１００（画像取得システム１００、モデル構築システム１００又はより単純にシステム１００とも呼ぶ）のブロック図を示す。ビジョンシステム１００は、第１のカメラ１４０の視野及び／又は第２のカメラ１５０の視野における物体又は構造体の画像を生成するように構成することができる。一実施形態では、画像は、物体又は構造体に対する色強度情報又はグレイスケール情報を含む、カラー画像又はグレイスケール画像とすることができる。一実施形態では、画像は、物体又は構造体の深度情報（距離情報とも呼ぶ）を含む深度マップとすることができる。例えば、深度マップは複数の画素を含むことができ、画素のいくつか又は全てに各深度値が割り当てられる。場合によっては、画素に対して、物体又は構造体の表面上の各物理的位置に対する３Ｄ座標である値を更に割り当てることができる。例えば、画素のうちのいくつか又は全てに対して、各々、第１のカメラ１４０の視野及び第２のカメラ１５０の視野における物体の各物理的位置の３Ｄ座標のそれぞれＸ成分、Ｙ成分及びＺ成分である、第１の値、第２の値及び第３の値を割り当てることができる。深度値は、いくつかのシナリオでは、３Ｄ座標の成分とすることができる。例えば、深度値は、３Ｄ座標のＺ成分とすることができる。画素に対して、物体又は構造体の表面上の各物理的位置に対する３Ｄ座標が割り当てられる場合、深度マップは、点群又は点群の一部とすることもでき、点群は、物体又は構造体の３Ｄモデル又は部分３Ｄモデルとみなすことができる。状況によっては、他の任意のタイプの深度マップもまた、物体又は構造体の３Ｄモデル又は部分３Ｄモデルとみなすことができる。一実施形態では、ビジョンシステム１００は、第１のカメラ１４０及び／又は第２のカメラ１５０によって検知される深度情報に基づいて物体又は構造体の点群を生成するように構成することができる。
【００１５】
一実施形態では、ビジョンシステム１００は、倉庫、製造工場又は他の敷地内で展開し又は他の方法で配置することができ、敷地におけるロボット動作を容易にすることができる。場合によっては、ビジョンシステム１００は、敷地においてロボットがインタラクトする物体の３Ｄモデル又は物体のタイプを生成するように構成することができる。例えば、図１Ｅは、ビジョンシステム１００がロボット制御システム１７０（ロボットコントローラーとも呼ぶことができる）と通信する一実施形態を示し、ロボット制御システム１７０は、ロボット１８０に対するロボット移動コマンドを生成するように構成されている。図１Ｅの例では、ビジョンシステム１００、ロボット制御システム１７０及びロボット１８０は全て、倉庫又は他の敷地内に展開することができる。ロボット１８０は、特に、倉庫内の物体１９０と、又は物体１９０と同じ形状及び／又はサイズを有する物体とインタラクトするように意図することができる。例えば、物体１９０は、倉庫内の商品又は包装品とすることができ、ロボットインタラクションは、ビンピッキング、デパレタイズ、パレタイズ又は他の何らかのロボット動作を含むことができる。この例では、ビジョンシステム１００は、ビジョンシステム１００によって取得される深度情報に基づいて物体１９０の３Ｄモデルを生成するように構成することができ、３Ｄモデルをロボット制御システム１７０に通信するように構成することができる。３Ｄモデルは、例えば、物体１９０のサイズ、形状、位置及び／又は向きを示すことができる。場合によっては、ロボット制御システム１７０は、３Ｄモデルに基づき、かつロボット１８０と物体１９０との間の所望のインタラクションに基づき、ロボット移動コマンドを生成するように構成することができる。ロボット制御システム１７０は、ロボット１８０が所望の方法で物体１９０とインタラクトするように、ロボット１８０にロボット移動コマンドを通信するように構成することができる。図１Ｅの実施形態では、ビジョンシステム１００及びロボット制御システム１７０は、別個のシステムとすることができる。別の実施形態では、ビジョンシステム１００は、ロボット制御システム１７０の一部とすることができる。
【００１６】
図１Ａに戻ると、カメラ画像処理システム１１０（カメラ情報処理システム１１０とも呼ぶ）は、（例えば、ともに図１Ａの）第１のカメラ１４０及び第２のカメラ１５０と通信し、第１のカメラ１４０及び第２のカメラ１５０から情報を受け取るように構成することができる。一実施形態では、情報は、深度マップとすることができる。一実施形態では、情報は、構造化光情報、飛行時間情報、又は深度マップを生成することができる他の情報とすることができる。カメラから受け取られる情報は、撮像情報とみなすことができ、カメラ画像処理システム１１０は、第１のカメラ１４０から取得される撮像情報を第２のカメラ１５０から取得される撮像情報で補完するように、撮像情報を処理するように構成することができる。場合によっては、カメラ画像処理システム１１０は、第１のカメラ１４０によって検知される情報に基づいて生成することができる第１の深度マップを、第２のカメラ１５０によって検知される情報に基づいて生成することができる第２の深度マップからの深度情報によって、第１の深度マップを補完するように、処理するように構成することができる。一実施形態では、第１の深度マップは、第１のカメラ１４０及び第２のカメラ１５０の視野における物体を表すことができ、カメラ画像処理システム１１０は、第１の深度マップが第２の深度マップからの深度情報によって補完された後、第１の深度マップにおける深度情報に基づいて物体の３Ｄモデル（例えば、点群）を生成するように構成することができる。
【００１７】
一実施形態では、カメラ画像処理システム１１０は、第１のカメラ１４０及び第２のカメラ１５０と通信するように構成されている単一のデバイス（例えば、単一コンソール又は単一コンピューター）とすることができる。場合によっては、カメラ画像処理システム１１０は、互いに通信する複数のコンピューター又は複数のコンソール等、複数のデバイスを含むことができる。場合によっては、カメラ画像処理システム１１０は、第１のカメラ１４０及び第２のカメラ１５０から受け取られる情報を処理すること、カメラ１４０／１５０の視野における環境（対象シーンとも呼ぶ）の深度情報を求めること、及び／又は環境における物体又は構造体の３Ｄモデルを生成することに専用とすることができる。一実施形態では、カメラ画像処理システム１１０はまた、システム１１０によって生成される３Ｄモデルに基づいてロボット移動コマンド（例えば、モータコマンド）を生成する機能等、図１Ｅのロボット制御システム１７０に関連する機能を実施するようにも構成することができる。
【００１８】
一実施形態では、カメラ画像処理システム１１０は、第１のカメラ１４０及び第２のカメラ１５０から、カメラ１４０／１５０によって検知される情報を受け取るように構成することができる。情報は、上述したように、構造化光情報、飛行時間情報、深度マップ、又は他の何らかの情報（例えば、カラー画像又はグレイスケール画像）とすることができる。一実施形態では、カメラ画像処理システム１１０は、第１のカメラ１４０及び第２のカメラ１５０に１つ以上のコマンドを送信するように構成することができる。例えば、１つ以上のコマンドは、各々、第１のカメラ１４０及び／又は第２のカメラ１５０に深度マップを生成させ、又はより全体的には、深度マップ又は他のタイプの画像を生成することができる情報を検知させる、カメラコマンドとすることができる。場合によっては、カメラコマンドは、第１のカメラ１４０及び／又は第２のカメラ１５０に、各カメラによって検知される情報をカメラ画像処理システム１１０に送信させることができる。カメラ画像処理システム１１０は、通信インターフェース１１３を介して第１のカメラ１４０及び第２のカメラ１５０と通信するように構成することができ、これについては、図１Ｂを参照してより詳細に後述する。
【００１９】
一実施形態では、図１Ａのビジョンシステム１００におけるカメラは、第１のカメラ１４０及び第２のカメラ１５０のみとすることができ、カメラ画像処理システム１１０は、第１の深度マップによって検知される情報及び第２のカメラ１５０によって検知される情報のみに基づき、更新された深度マップを生成し、及び／又は物体の３Ｄモデルを生成するように構成することができる。別の実施形態では、ビジョンシステム１００は、第１のカメラ１４０及び第２のカメラ１５０に加えて１つ以上のカメラを含むことができ、１つ以上の追加のカメラによって検知される情報にも基づき、更新された深度マップを生成し及び／又は物体の３Ｄモデルを生成するように構成することができる。
【００２０】
図１Ｂは、ビジョンコントローラーとも呼ぶことができるカメラ画像処理システム１１０のブロック図を示す。ブロック図に示されるように、カメラ画像処理システム１１０は、制御回路１１１と、通信インターフェース１１３と、非一時的コンピューター可読媒体１１５（例えば、メモリ）とを含む。一実施形態において、制御回路１１１は１つ以上のプロセッサ、プログラマブル論理回路（ＰＬＣ）又はプログラマブル論理アレイ（ＰＬＡ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、又は任意の他の制御回路を含むことができる。
【００２１】
一実施形態において、通信インターフェース１１３は、図１Ａの第１のカメラ１４０及び第２のカメラ１５０と通信するように構成される１つ以上の回路又は他の構成要素を含むことができる。例えば、通信インターフェース１１３は、有線プロトコル又はワイヤレスプロトコルを介して通信を実行するように構成される通信回路を含むことができる。一例として、通信回路は、ＲＳ−２３２ポートコントローラー、ＵＳＢコントローラー、イーサネットコントローラー、Ｂｌｕｅｔｏｏｔｈ（登録商標）コントローラー、ＰＣＩバスコントローラー、任意の他の通信回路、又はその組合せを含むことができる。通信インターフェース１１３は、カメラ画像処理システム１１０及びより具体的には制御回路１１１が、ＲＳ−２３２インターフェース、ユニバーサルシリアルバス（ＵＳＢ）インターフェース、イーサネットインターフェース、Ｂｌｕｅｔｏｏｔｈ（登録商標）インターフェース、ＩＥＥＥ８０２．１１インターフェース又はそれらの任意の組合せを介して、第１のカメラ１４０及び第２のカメラ１５０と通信するのを可能にすることができる。一実施形態では、通信インターフェース１１３は、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）バス等、ローカルコンピューターバスの一部とすることができる。
【００２２】
一実施形態において、非一時的コンピューター可読媒体１１５はコンピューターメモリを含むことができる。コンピューターメモリは、例えば、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、半導体集積メモリ（solid state integrated memory）、及び／又はハードディスクドライブ（ＨＤＤ）を含むことができる。場合によっては、非一時的コンピューター可読媒体１１５は、図４の方法を実施する命令等、コンピューター実行可能命令を記憶することができる。場合によっては、非一時的コンピューター可読媒体１１５は、構造化光情報、飛行時間情報、深度マップ及び／又は点群等、第１のカメラ１４０及び／又は第２のカメラ１５０からの情報を記憶することができる。
【００２３】
図１Ｃ及び図１Ｄは、それぞれ、第１のカメラ１４０（「カメラ１」と表記）及び第２のカメラ１５０（「カメラ２」と表記）のブロック図を提供する。本明細書における実施形態では、カメラは、カメラの視野における対象シーンの外観、対象シーンにおける物体又は構造体の３次元構造を記述する情報、及び／又は対象シーンに関する他の何らかの情報を検知するように構成される、センサーシステム（例えば、２Ｄセンサーアレイ）を含むことができる。カメラは、深度検知カメラ（距離検知カメラとも呼ぶ）、色検知カメラ、赤外線カメラ及び／又は他の任意のタイプのカメラとすることができる。場合によっては、カメラは、外観、３次元構造を記述する画像、又は対象シーンに関する他の情報を生成するように構成することができる。画像は、深度マップ、カラー画像、グレイスケール画像又は他の任意のタイプの画像とすることができ、複数の画素（例えば、画素の２次元（２Ｄ）アレイ）を含むことができる。場合によっては、カメラは、センサーのアレイ（例えば、光検出器）を有することができ、画像は、センサーのアレイと１対１対応を有する画素のアレイを有することができる。
【００２４】
一実施形態では、第１のカメラ１４０及び第２のカメラ１５０は、異なるタイプのカメラとすることができる。例えば、第１のカメラ１４０は、第１のタイプの深度検知カメラ（例えば、構造化光カメラ）とすることができ、第２のカメラ１５０は、第２のタイプの深度検知カメラ（例えば、飛行時間（ＴＯＦ）カメラ）とすることができる。深度検知カメラは、距離検知カメラとも呼ぶことができる。場合によっては、第１のカメラ１４０及び第２のカメラ１５０は、動作又は実施態様の異なる原理を有することができる。場合によっては、第１のカメラ１４０は、精度、空間解像度（単に解像度とも呼ぶ）、又はノイズ若しくは干渉に対する感受性に関して、いくつかの特定の制限を有する可能性があり、第２のカメラ１５０は、それらのカテゴリーのうちの１つ以上においてより優れた性能を有することができる。したがって、第１のカメラ１４０によって取得された情報のロバスト性を向上させるように、第２のカメラ１５０からの情報を使用して、第１のカメラ１４０によって取得される情報を補完することができる。
【００２５】
図１Ｃは、第１のカメラ１４０が構造化光カメラである一実施形態のブロック図を示す。この実施形態では、第１のカメラ１４０は、１つ以上のレンズ１４１、プロジェクター１４２、カメラセンサー１４３及び通信インターフェース１４５を備えることができる。一実施形態では、通信インターフェース１４５は、図１Ａ又は図１Ｂのカメラ画像処理システム１１０と通信するように構成することができ、カメラ画像処理システム１１０の図１Ｂの通信インターフェース１１３と同様とすることができる。
【００２６】
一実施形態では、プロジェクター１４２は、赤外線又は可視光スペクトルにおける一連の縞等のパターンを、第１のカメラ１４０から、第１のカメラ１４０の視野内の対象シーンにおける物体又は構造体の１つ以上の表面の上に射影するように構成することができる。射影パターンは、１つ以上の表面から第１のカメラ１４０に向かって戻るように反射することができる。反射される可視光又は赤外線は、１つ以上のレンズ１４１によってカメラセンサー１４３の上に集束させることができる。一実施形態では、カメラセンサー１４３は、電荷結合素子（ＣＣＤ）又は他のセンサーアレイを含むことができる。第１のカメラ１４０は、カメラセンサー１４３を使用して構造化光情報を検知するように構成することができ、構造化光情報は、対象シーンにおける１つ以上の表面上の射影されたパターンの外観を指すことができる。場合によっては、構造化光情報は、１つ以上の表面上に一連の縞又は他のパターンの外観を記述するカラー画像の形態を有することができる。一実施形態では、第１のカメラ１４０は、構造化光情報に基づいて深度マップを生成し、通信インターフェース１４５を介して深度マップ及び／又は構造化光情報をカメラ画像処理システム１１０に通信するように構成することができる。こうした実施形態では、第１のカメラ１４０は、深度マップを生成するように構成されるそれ自体のプロセッサ又は他の制御回路を含むことができる。一実施形態では、第１のカメラ１４０は、深度マップを生成するためにカメラ画像処理システム１１０に依存することができ、構造化光情報をカメラ画像処理システム１１０に通信するように構成することができ、その結果、システム１１０は、構造化光情報に基づいて深度マップを生成することができる。第１のカメラ１４０が構造化光カメラである場合等、場合によっては、照明状態を制御することができる環境にビジョンシステム１００を配置することができる。例えば、環境は、構造化光情報を検知する第１のカメラ１４０の能力に干渉する干渉源として作用する可能性がある太陽光を遮断することができる、密閉空間とすることができる。
【００２７】
図１Ｄは、第２のカメラ１５０がＴＯＦカメラである一実施形態のブロック図を示す。こうした実施形態では、第２のカメラ１５０は、１つ以上のレンズ１５１、照明ユニット１５２、カメラセンサー１５３及び通信インターフェース１５５を備える。通信インターフェース１５５は、図１のカメラ画像処理システム１１０と通信するように構成することができ、図１Ｂのカメラ画像処理システム１１０の通信インターフェースと同様とすることができる。
【００２８】
一実施形態では、照明ユニット１５２は、可視光又は他の任意の形態の光を、第２のカメラ１５０から第２のカメラ１５０の視野内の対象シーンに向かって放射するように構成することができる。照明ユニット１５２は、例えば、レーザー、発光ダイオード（ＬＥＤ）又は他の任意の光源を含むことができる。放射光は、パルス、搬送波によって変調される連続波の形態、又は放射光の他の何らかの形態を有することができる。場合によっては、放射光は、対象シーンにおける狭い領域に向かってビームとして放射することができ、又は、対象シーンにおける広い領域にわたって広げることができる。放射光は、対象シーンにおける１つ以上の表面から反射することができ、第２のカメラ１５０に向かって戻る反射光となることができる。一実施形態では、１つ以上のレンズ１５１は、反射光をカメラセンサー１５３に集束させることができる。
【００２９】
一実施形態では、カメラセンサー１５３は、反射光を検出するように構成される光検出器（例えば、アバランシェフォトダイオード）のアレイを有するセンサーアレイを含むことができる。いくつかの実施態様では、カメラセンサー１５３は、センサーアレイの各光検出器によって反射光が検出されるときを求めるように構成されるタイミング回路を更に備えることができる。例えば、タイミング回路は、複数の光検出器に対応する各カウンター（又はより全体的にはタイミングレジスター）を含むことができ、カウンターの各々は、照明ユニット１５２がシーンに向かって光を放射するときにインクリメントを開始し、対応する光検出器が反射光を検出すると計数を停止することができる。１つの実施態様では、タイミング回路を省略することができる。
【００３０】
一実施形態では、第２のカメラ１５０は、カメラセンサー１５３を使用して飛行時間情報を検知するように構成することができる。飛行時間は、照明ユニット１５２が対象シーンに向かって光を放射することと、放射光の反射（すなわち、反射光）がカメラセンサー１５３の光検出器によって検出されることとの間の時間の量を指すことができる。飛行時間情報は、例えば、タイミング回路によって取り込まれるタイミング情報に基づき、又は、照明ユニット１５２によって放射される光の位相とカメラセンサー１５３によって検出される反射光の位相との差に基づき、求めることができる。一実施形態では、第２のカメラ１５０は、飛行時間情報に基づいて深度マップを生成し、深度マップ及び／又は飛行時間情報を、通信インターフェース１５５を介してカメラ画像処理システム１１０に通信するように構成することができる。一実施形態では、第２のカメラ１５０は、深度マップを生成するためにカメラ画像処理システム１１０に依存することができ、飛行時間情報に基づいて深度マップを生成するように構成することができるカメラ画像処理システム１１０に、飛行時間情報を通信することができる。
【００３１】
一実施形態では、深度マップにおける深度値は、カメラセンサー１４３／１５３の位置に関連し、１つ以上のレンズ１４１／１５１に関連し、又はカメラ１４０／１５０における他の何らかの位置に関連することができる。例えば、第１のカメラに関連する第１の深度マップにおける深度値は、第１の画像平面に関連することができ、第１の画像平面は、カメラセンサー１４３のセンサーアレイ又は他の構成要素によって画定される平面である。したがって、第１の深度マップにおける深度値は、例えば、第１の画像平面に関連して測定することができる。同様に、第２のカメラに関連する第２の深度マップにおける深度値は、例えば、第２の画像平面に関連することができ、第２の画像平面は、カメラセンサー１５３のセンサーアレイ又は他の構成要素によって画定される平面である。
【００３２】
一実施形態では、第１のカメラ１４０及び第２のカメラ１５０は、異なる解像度を有することができる。例えば、第１のカメラ１４０のカメラセンサー１４３及び第２のカメラ１５０のカメラセンサー１５３は、異なる解像度を有することができる。こうした状況により、第１の深度マップ及び第２の深度マップは異なる解像度を有することになる可能性があり、第１の深度マップは、第１のカメラ１４０によって生成されるか又は第１のカメラ１４０によって検知される情報に基づき、第２の深度マップは、第２のカメラ１５０によって生成されるか又は第２のカメラ１５０によって検知される情報に基づく。解像度は、例えば、対象シーンを表すために、いくつの画素が使用されるか又は単位面積当たりいくつの画素が使用されるかを指すことができる。別の実施形態では、第１のカメラ１４０及び第２のカメラ１５０は同じ解像度を有することができ、それにより、第１の深度マップ及び第２の深度マップは同じ解像度を有することになる可能性がある。
【００３３】
図２は、第１のタイプの深度検知カメラである第１のカメラ２４０（「カメラ１」と表記）を備え、第１のタイプの深度検知カメラとは異なる第２のタイプの深度検知カメラである第２のカメラ２５０（「カメラ２」と表記）を備え、図１Ａ及び図１Ｂのカメラ画像処理システム１１０を備える、ビジョンシステム２００（物体モデル構築システム２００、又はより単純にシステム２００とも呼ぶ）を示す。一実施形態では、第１のカメラ２４０及び第２のカメラ２５０両方からの情報を使用して、物体２６０の深度マップを生成することができる。深度マップは、物体２６０の３Ｄモデルとみなすことができる。場合によっては、深度マップは、点群とすることもでき、又は、点群を生成するために使用される深度情報を有することができ、その点群は、物体２６０の３Ｄモデルとすることもできる。上述したように、深度マップは、物体２６０の表面上の物理的位置の各深度値を記述する深度情報を含むことができ、点群は、物体２６０の表面上の物理的位置の３Ｄ座標を特定する情報を含むことができる。システム２００は、図１Ａのシステム１００の一実施形態とすることができ、第１のカメラ２４０は、図１Ａ又は図１Ｃの第１のカメラ１４０の一実施形態とすることができ、第２のカメラ２５０は、図１Ａ又は図１Ｄの第２のカメラ１５０の一実施形態とすることができる。
【００３４】
一実施形態では、第１のカメラ２４０は、物体２６０の表面上の物理的位置の第１のセット（点の第１のセットとも呼ぶ）の各深度値（各深度とも呼ぶ）を示す第１の深度マップを生成するように構成することができ、深度値は、第１のカメラ２４０に関連する（例えば、第１のカメラ２４０の画像平面に関連する）。一実施形態では、第２のカメラ２５０は、第２のカメラ２５０に関する物体２６０の表面上の物理的位置の第２のセットの各深度値を示す第２の深度マップを生成するように構成することができる。
【００３５】
図２は、第１のカメラ２４０の座標系の座標軸２０１と、第２のカメラ２５０の座標系の座標軸２０２とを更に示す。第１のカメラ２４０の座標系及び第２のカメラ２５０の座標系はともに、図２に示すように、Ｘ軸、Ｙ軸及びＺ軸によって画定することができる。各座標系のＸ軸及びＹ軸は、第１のカメラ２４０又は第２のカメラ２５０の各画像平面に対して平行である平面を画定することができ、座標系のＺ軸は、各画像平面に対して垂直とすることができる。一実施形態では、第１のカメラ２４０の座標系の原点は、例えば、第１のカメラ２４０の画像平面の中心又は他の何らかの位置に配置することができ、第２のカメラ２５０の座標系の原点は、例えば、第２のカメラ２５０の画像平面の中心又は他の何らかの位置に配置することができる。第１の深度マップの深度値は、第１のカメラ２４０の座標系に関して測定又は表現することができ、第２の深度マップの深度値は、第２のカメラ２５０の座標系に関して測定又は表現することができる。
【００３６】
場合によっては、第１の深度マップにおける深度値は、第１のカメラ２４０の座標系の座標軸（例えば、Ｚ軸）に沿った、物体２６０の表面上の物理的な位置の第１のセットと第１のカメラ２４０（例えば、第１のカメラ２４０の画像平面）との間の距離を指すことができる。こうした場合、第１の深度マップにおける深度値は、物理的位置の第１のセットの各３Ｄ座標のＺ成分（Ｚ座標とも呼ぶ）とすることができる。場合によっては、第２の深度マップにおける深度値は、第２のカメラ２５０の座標系の座標軸（例えば、Ｚ軸）に沿った、物体２６０の表面上の物理的位置の第２のセットと第２のカメラ２５０（例えば、第２のカメラ２５０の画像平面）との間の距離を指すことができる。こうした場合、第２の深度マップにおける深度値は、物理的位置の第２のセットの各３Ｄ座標のＺ成分とすることができる。
【００３７】
図３Ａ〜図３Ｈは、２つの異なるカメラを使用して生成される２つの各深度マップを示す図例である。より具体的には、図３Ａは、第１のタイプの深度検知カメラである第１のカメラ３４０を示し、第２のタイプの深度検知カメラである第２のカメラ３５０を示す。第１のカメラ３４０は、図２のカメラ２４０の一実施形態とすることができ、第２のカメラ３５０は、図２のカメラ２５０の一実施形態とすることができる。図３Ａに示すように、第１のカメラ３４０は、視野３８０（カメラ視野３８０とも呼ぶ）を有する。第１のカメラは、カメラ視野３８０における物体３６０及びプラットフォーム３７０の１つ以上の表面に対する深度マップを生成するための情報を検知するように構成することができる。第２のカメラ３５０は、第１のカメラ３４０の近接する範囲内に配置することができ、第１のカメラ３４０の視野３８０とオーバーラップする視野を有することができる。第２のカメラ３５０については、図３Ｅに関してより詳細に後述する。一実施形態では、第１のカメラ３４０及び第２のカメラ３５０は、第１のカメラ３４０及び第２のカメラ３５０を互いに対して固定されたままとするように、互いに直接又は間接的に取り付けることができる。図３Ａは、第１のカメラ３４０の座標系の座標軸３０１を更に示す。一実施形態では、第１のカメラ３４０の座標系は、第１のカメラ３４０の画像平面にある原点を有することができる。第１のカメラ３４０の座標系は、第１の深度マップ３８２の深度値に対する基準を提供することができ、それについては、図３Ｂにおいて後述する。
【００３８】
図３Ｂは、図３Ａの第１のカメラ３４０によって生成され、又は第１のカメラ３４０によって検知される情報に基づいて生成される第１の深度マップを示す図例である。一実施形態では、第１の深度マップ３８２は、（図３Ａに示す）カメラ視野３８０における複数の物理的位置に対する深度値（例えば、ミリメートル（ｍｍ）又はセンチメートル（ｃｍ）単位）を特定する画素の２Ｄアレイである。図３Ｂの例では、第１の深度マップ３８２は、（ともに図３Ａに示すような）物体３６０又はプラットフォーム３７０の表面上の物理的位置３７２１，１〜３７２１２，１５の第１のセットに対する各深度値を表しかつ特定する、１２×１５画素の解像度を有し、物理的位置３７２１，１〜３７２１２，１５の第１のセットは、図３Ｃにおいて円で表す。より具体的には、図３Ｃは、（ともに図３Ａに示すような）物体３６０及びプラットフォーム３７０の上面図を示し、物体３６０又はプラットフォーム３７０の１つ以上の外面上の物理的位置３７２１，１〜３７２１２，１５の第１のセットを示す。一例として、図３Ｂの第１の深度マップ３８２における画素［１，１］Ｔ（行１、列１）は、（図３Ｃに示すように）プラットフォーム３７０の表面上の対応する物理的位置３７２１，１に対して２５０ｃｍの深度値を特定することができる。別の例では、第１の深度マップ３８２における画素［１，２］Ｔ（行１、列２）は、（同様に図３Ｃに示すように）プラットフォーム３７０の表面上の対応する物理的位置３７２１，２に対して同様に２５０ｃｍの深度値を特定する。図３Ｂに示すように、第１の深度マップ３８２の部分３８５は、物体３６０の表面に対応することができる。図３Ｂは、第１の深度マップ３８２を、１２×１５画素の解像度を有するものとして示すが、第１の深度マップ３８２は、他の例では、１２８０×１０２４画素の解像度、３２０×２４０画素の解像度、６４０×４８０画素の解像度又はそれより高いか若しくは低い解像度（例えば、６４×４８画素又は２０４×２０４画素）等、異なる解像度を有することができる。
【００３９】
一実施形態では、図３Ｃにおける物理的位置３７２１，１〜３７２１２，１５の第１のセットは、第１のカメラ３４０のカメラセンサー上に射影する物理的位置とすることができる。例えば、図３Ｄは、物理的位置３７２１，１〜３７２１２，１５のサブセットを示し、より具体的には、第１の深度マップ３８２の行５上の画素に対応するカメラセンサーの各領域上に射影する物理的位置３７２５，１〜３７２５，１５を示す。より具体的には、図３Ｄは、図３Ｃにおいて線３７５に沿って切り取った、物体３６０及びプラットフォーム３７０の側断面図を示す。図３Ｄの表現は、物理的位置３７２５，１〜３７２５，１５からの反射光が、第１のカメラ３４０のカメラセンサーによって画定される画像平面３４２の上にいかに射影するかをモデル化し、射影の角度は、第１のカメラ３４０の焦点３４４の位置及び／又は第１のカメラ３４０の焦点距離に基づくことができる。図３Ｄでは、射影を点線で示す。一実施形態では、射影は、以下のように、Ｘ’、Ｙ’、Ｚ’の座標を有する物理的位置とａ、ｂの画素座標を有する画素との間の関係を定義する射影行列Ｋによって特徴付けることができる。
【数１】
2020201930.tif 000003
【００４０】
上述したように、図３Ｂにおける深度マップ３８２の画素は、図３Ｃにおける物理的位置（物理的点とも呼ぶ）３７２１，１〜３７２１２，１５の第１のセットに対する深度値を表し、深度値は第１のカメラ３４０に関連する。第１の深度マップ３８２の深度値は、図３ＡにおけるＺ軸に沿った各距離を指すことができる。
【００４１】
図３Ｅは、（図３Ｂの）第１の深度マップ３８２の行に対する、より具体的には、第１の深度マップ３８２の行５に対する深度値の表現を提供する。行５の画素は、（図３Ｄに示すような物理的位置のサブセットと同じサブセットである）物理的位置３７２５，１〜３７２５，１５のサブセットに対応する。すなわち、画素［５，１］Ｔ〜［５，１５］Ｔは、物理的位置３７２５，１〜３７２５，１５に対する各深度値を特定する。図３Ｅに示すように、第１の深度マップ３８２における深度値は、第１のカメラ３４０の座標系のＺ軸に沿った、物理的位置３７２５，１〜３７２５，１５のサブセットと（図３Ａの）第１のカメラ３４０の画像平面３４２との間の各距離を指すことができる。こうした例では、画像平面３４２は、第１の深度マップ３８２に対するゼロの深度を定義することができる。上述したように、特定の画素によって特定される深度値は、例えば、画素によって表される物理的位置の３Ｄ座標のＺ成分又は他の成分を指すことができる。
【００４２】
図３Ｆは、第２のカメラ３５０のカメラ視野３９０と第２のカメラ３５０の座標系の座標軸３０２とを示す。座標系の原点は、例えば、第２のカメラ３５０の画像平面、第２のカメラ３５０のレンズ、又は他の任意の位置に配置することができる。図３Ｇは、（図３Ｆの）第２のカメラ３５０によって生成され、又は第２のカメラ３５０によって検知される情報に基づいて生成される第２の深度マップ３９２を示す。第２の深度マップ３９２もまた、（図３Ｆの）カメラ視野３９０における１つ以上の表面上の物理的位置に対する深度値を特定することができる。第２のカメラ３５０のカメラ視野３９０は、第１のカメラ３４０のカメラ視野３８０のわずかに右側に位置するため、第２の深度マップ３９２は、第１の深度マップ３８２によって覆われるものとはわずかに異なる領域を覆う可能性がある。
【００４３】
図３Ｇ及び図３Ｈに示すように、第２の深度マップ３９２は、この例では、物理的位置３７３１，１〜３７３４，５の第２のセットに対して各深度値を特定する４×５画素を有することができる。物理的位置３７３１，１〜３７３４，５は、図３Ｈにおいて円によって表されており、図３Ｈは、（ともに図３Ａ及び／又は図３Ｆの）物体３６０及びプラットフォーム３７０の上面図を提供する。物理的位置３７３１，１〜３７３４，５の第２のセットは、物理的位置３７２１，１〜３７２１２，１５の第１のセットに対する図３Ｄにおける表現と同様に第２の深度マップ３９２の各画素と一致する、（図３Ｆの）第２のカメラ３５０の画像センサーの領域上に射影する物理的位置とすることができる。物理的位置３７３１，１〜３７３４，５の第２のセットは、物理的位置３７２１，１〜３７２１２，１５の第１のセットと共通の１つ以上の位置を有することができ、又は、物理的位置３７２１，１〜３７２１２，１５の第１のセットと共通の位置を有していない場合もある。この例における第２の深度マップ３９２は、４×５画素の解像度を有するが、他の例では、１２８０×１０２４画素、３２０×２４０画素、６４０×４８０画素、又はそれより高いか若しくは低い空間解像度（例えば、６４×４８画素又は２０４×２０４画素）等、異なる解像度を有することができる。
【００４４】
一実施形態では、第２の深度マップ３９２の画素は、物理的位置３７３１，１〜３７３４，５の第２のセットに対して各深度を特定する。第１の深度マップ３８２の場合と同様に、第２の深度マップ３９２の深度値は、図３ＦのＺ軸等、第２のカメラ３４０の座標系における座標軸に沿った各距離を指すことができる。その距離は、物理的位置３７３１，１〜３７３４，５の第２のセットから第２のカメラ３５０の画像平面までとすることができる。場合によっては、第２の深度マップ３９２における特定の画素が、第２のカメラ３５０の座標系における［Ｘ，Ｙ，Ｚ］の３Ｄ座標を有する物理的位置を表す場合、画素によって特定される深度値は、物理的位置の３Ｄ座標のＺ成分を指すことができる。
【００４５】
図３Ｂにおける第１の深度マップ３８２及び図３Ｇにおける第２の深度マップ３９２は、各深度マップ３８２／３９２における全ての画素に対する深度情報を有する。これは、例えば、ノイズ又は他の誤差源がほとんど又は全くない状況を含むことができる。しかしながら、状況によっては、１つのカメラによって検知される情報に基づいて生成される深度マップが、深度情報を有していない画素である空画素を有する場合がある。本開示の１つの態様は、より完全な深度情報を有する更新された第１の深度マップを生成するように、第２の深度マップからの情報に基づいて第１の深度マップを補完することにより、こうした誤差源を補償することに関する。
【００４６】
図４は、第２の深度マップにおける深度値に基づいて第１の深度マップを補完する方法４００を示すフロー図を示す。一実施形態では、方法４００は、図１Ａ及び図１Ｂのカメラ画像処理システム１１０の制御回路１１１によって実施することができる。図５Ａ及び図５Ｂに、方法４００が実施される環境例を示し、図５Ａ及び図５Ｂは、各々、第１のカメラ５４０及び第２のカメラ５５０と通信するカメラ画像処理システム１１０を備える、ビジョンシステム５００Ａ／５００Ｂを示す。第１のカメラ５４０は、図１Ａ、図２又は図３Ａそれぞれの第１のカメラ１４０／２４０／３４０の一実施形態とすることができ、第２のカメラ５５０は、図１Ａ、図２又は図３Ｆそれぞれの第２のカメラ１５０／２５０／３５０の一実施形態とすることができる。第１のカメラ５４０は、第１のカメラ視野５８０を有し、第２のカメラ５５０は、第２のカメラ視野５９０を有する。第１のカメラ視野５８０及び第２のカメラ視野５９０は、少なくとも部分的に互いにオーバーラップし、オーバーラップする視野５８５を形成する（図５Ａを参照）。カメラ画像処理システムは、図１Ｂの通信インターフェース１１３を介して第１のカメラ５４０及び第２のカメラ５５０と通信するように構成することができる。場合によっては、通信インターフェース１１３が通信するように構成されている第１のカメラ５４０は、第１のタイプの深度検知カメラ（例えば、構造化光カメラ）とすることができ、通信インターフェース１１３が通信するように構成されている第２のカメラ５５０は、第１のタイプの深度検知カメラとは異なる第２のタイプの深度検知カメラ（例えば、ＴＯＦカメラ）とすることができる。
【００４７】
一実施形態では、第１のカメラ５４０及び第２のカメラ５５０は、それらが互いに対して固定されるように直接又は間接的に取り付けることができる。例えば、図５Ｂは、第１のカメラ５４０及び第２のカメラ５５０の両方に取り付けられた取付構造体５３０（例えば、カメラマウント）を備えるビジョンシステム５００Ｂを示す。一実施形態では、取付構造体は、第１のカメラ５４０と第２のカメラ５５０との間の相対的な移動を防止するように構成することができる。図５Ｂは、第１のカメラ５４０のカメラ視野５８０及び第２のカメラ５５０のカメラ視野５９０にある物体５６０及びプラットフォーム５７０に対して、深度マップが生成される、一例を更に示す。
【００４８】
図４に戻ると、一実施形態では、方法４００はステップ４０１で開始することができ、そこでは、制御回路１１１は、（図１Ｂの通信インターフェース１１３が通信するように構成される）図５Ａ及び図５Ｂの第１のカメラ５４０によって検知される情報（例えば、構造化光情報）に基づいて生成される第１の深度マップを受け取る。第１の深度マップは、通信インターフェース１１３が通信するように構成される第１のカメラ５４０のカメラ視野５８０における各物理的位置の第１のセットを表す、画素の第１のセットを含むことができる。第１の深度マップは、各物理的位置の第１のセットに対して各深度値を示すことができる。各深度値の第１のセットは、第１のカメラ５４０に関連することができる。一実施形態では、各物理的位置の第１のセットは、画素の第１のセットの上に射影する物理的位置とすることができる。上述したように、画素の第１のセットによって示される深度値は、Ｚ軸等、第１のカメラ５４０の座標系の座標軸に沿った各距離とすることができる。距離は、物理的位置の第１のセットと第１のカメラ５４０との間とすることができる。
【００４９】
一実施形態では、制御回路１１１は、ステップ４０１において、図１Ｂの通信インターフェース１１３を介して第１のカメラ５４０から第１の深度マップを受け取ることができる。例えば、第１のカメラ５４０は、検知された情報（例えば、構造化光情報）に基づいて第１の深度マップを生成し、カメラ画像処理システム１１０の制御回路１１１に第１の深度マップを送信するように構成することができる。制御回路１１１は、カメラ画像処理システム１１０の通信インターフェース１１３を介して第１のカメラ５４０から第１の深度マップを受け取るように構成することができる。
【００５０】
一実施形態では、制御回路１１１は、ステップ４０１において、図１Ｂの非一時的コンピューター可読媒体１１５から、又は別の記憶媒体から第１の深度マップを受け取ることができる（こうしたステップは、非一時的コンピューター可読媒体１１５又は他の記憶媒体から第１の深度マップを検索することとも呼ぶことができる）。この実施形態では、第１の深度マップは、第１のカメラ５４０以外のデバイスによって生成することができる。例えば、カメラ画像処理システム１１０は、構造化光情報、飛行時間情報、又は第１のカメラ５４０によって検知される他の任意の情報に基づき、第１の深度マップを生成し、検知された情報に基づいて第１の深度マップを生成し、非一時的コンピューター可読媒体１１５に第１の深度マップを記憶することができる。制御回路１１１は、第１の深度マップが生成されている際、又は第１の深度マップが生成された後、非一時的コンピューター可読媒体１１５から第１の深度マップを検索するか又は他の方法で受け取ることができる。
【００５１】
図６Ａは、ステップ４０１において受け取られる第１の深度マップ例６８２を示す。図３Ｂの第１の深度マップ３８２と同様に、図６Ａの例における第１の深度マップ６８２は、１２×１５画素の解像度を有するが、他の例では異なる解像度を有することができる。図６Ａは、深度情報を有する第１の深度マップ６８２における画素の第１のセットを示す。より具体的には、深度情報は、各物理的位置の第１のセットに対して各深度値の第１のセットを特定する。各物理的位置の第１のセットは、図３Ｃの物理的位置３７２１，１〜３７２１２，１５のサブセットとすることができる。各深度値の第１のセットは、図３Ｅに関する記述と同様に、図５Ａ／図５Ｂの第１のカメラ５４０に関連することができる。図６Ａは、第１の深度マップ６８２が、深度情報を有していない（例えば、深度値が割り当てられていない）画素である複数の空画素を有することを更に示す。上述したように、空画素は、干渉又は他の何らかの理由（例えば、図５Ｂの物体５６０の形状又は表面特性）の結果として生じる可能性がある。一実施形態では、第１の深度マップ６８２の画素の第１のセットの各画素は、深度情報のみを含むことができる。別の実施形態では、第１の深度マップ６８２の画素の第１のセットの各画素は、画素によって表される物理的位置の３Ｄ座標を特定する情報も含むことができる。例えば、画素には、３Ｄ座標のＺ成分を表す深度値を割り当てることができ、３Ｄ座標のＸ成分の値及びＹ成分の値を更に割り当てることができる。
【００５２】
図４に戻ると、方法４００は、ステップ４０３を更に含むことができ、そこでは、制御回路１１１は、（図１Ｂの通信インターフェース１１３が通信するように構成される）第２のカメラ５５０によって検知される情報（例えば、飛行時間情報）に基づいて生成される第２の深度マップを受け取る。第２の深度マップは、第２のカメラ視野５９０における物理的位置の第２のセットを表す画素の第２のセットを含み、そうした画素の第２のセットは、各物理的位置の第２のセットに対する各深度値の第２のセットを示す。各深度値の第２のセットは、通信インターフェース１１３が通信するように構成される第２のカメラ５５０に関連することができる。一実施形態では、各深度値の第２のセットは、第２のカメラの座標系の座標軸（例えば、Ｚ軸）に沿った各距離を示すことができる。距離は、第２のカメラ５５０と各物理的位置の第２のセットとの間とすることができる。
【００５３】
一実施形態では、制御回路１１１は、ステップ４０３において、図１Ｂの通信インターフェース１１３を介して第２のカメラ５５０から第２の深度マップを受け取ることができる。例えば、第２のカメラ５５０は、検知された情報（例えば、飛行時間情報）に基づいて第２の深度マップを生成し、カメラ画像処理システム１１０の制御回路１１１に第２の深度マップを送信するように構成することができる。制御回路１１１は、カメラ画像処理システム１１０の通信インターフェース１１３を介して第２のカメラ５５０から第２の深度マップを受け取るように構成することができる。
【００５４】
一実施形態では、制御回路１１１は、ステップ４０３において、図１Ｂの非一時的コンピューター可読媒体１１５から、又は別のデバイスから第２の深度マップを受け取ることができる（このステップは、非一時的コンピューター可読媒体１１５又は他の記憶媒体から第２の深度マップを検索することとも呼ぶことができる）。この実施形態では、第２の深度マップは、第２のカメラ５５０以外のデバイスによって生成することができる。例えば、カメラ画像処理システム１１０は、構造化光情報、飛行時間情報、又は第２のカメラ５５０によって検知される他の任意の情報に基づき、第２の深度マップを生成し、検知された情報に基づいて第２の深度マップを生成し、非一時的コンピューター可読媒体１１５に第２の深度マップを記憶することができる。制御回路１１１は、第２の深度マップが生成されている際、又は第２の深度マップが生成された後、非一時的コンピューター可読媒体１１５から第２の深度マップを検索するか又は他の方法で受け取ることができる。
【００５５】
図６Ｂは、ステップ４０３において受け取られる第２の深度マップ例６９２を示す。図３Ｇの第２の深度マップ３９２と同様に、図６Ｂの例における第２の深度マップ６９２は、４×５画素の解像度を有するが、他の例では異なる解像度を有することができる。第２の深度マップ６９２における画素の第２のセットは、物理的位置の第２のセットを表し、物理的位置の第２のセットに対して各深度値を示すことができる。一実施形態では、物理的位置の第２のセットは、図３Ｈの物理的位置３７３１，１〜３７３４，５のサブセットとすることができる。深度値は、図５Ａ／図５Ｂの第２のカメラ５５０に関連することができ、Ｚ軸等の座標軸に沿った距離を示すことができる。距離は、物理的位置の第２のセットと第２のカメラ５５０との間とすることができる。一実施形態では、第２の深度マップ６９２の画素の第２のセットの各画素は、深度情報のみを含むことができる。別の実施形態では、第２の深度マップ６９２の画素の第２のセットの各画素は、画素によって表される物理的位置の３Ｄ座標を特定する情報も含むことができる。例えば、画素には、３Ｄ座標のＺ成分を表す深度値を割り当てることができ、３Ｄ座標のＸ成分の値及びＹ成分の値を更に割り当てることができる。
【００５６】
図４に戻ると、方法４００はステップ４０５を更に含むことができ、そこでは、制御回路１１１は、各物理的位置の第２のセットも表す第１の深度マップ６８２の画素の第３のセットを特定する。したがって、画素の第３のセットは、画素の第２のセットに対応することができる。例えば、第２の深度マップ６９２における特定の画素が、物体５６０上の特定の位置に対する深度値を特定する場合、ステップ４０５は、第１の深度マップ６８２のいずれの画素が物体５６０上のその特定の位置も表すかを判断することを含むことができる。したがって、第１の深度マップ６８２から特定される画素及び第２の深度マップ６９２から特定される画素は、同じ物理的位置に対応し、したがって互いに対応することができる。そして、より詳細に後述するように、第２の深度マップの画素を使用して、第１の深度マップ６８２の対応する画素に対する深度情報を提供することができる。
【００５７】
ステップ４０５の１つの例では、第２の深度マップの画素の第２のセットは、各画素座標のセットを有するか又はそうしたセットによって表すことができ、制御回路１１１は、各画素座標のセットに基づき、かつ第１のカメラ５４０と第２のカメラ５５０との間の空間的関係を定義する変換関数に基づき、各画素座標の追加のセットを求めることにより、第１の深度マップの画素の第３のセットを特定するように構成され、各画素座標の追加のセットは、画素の第３のセットを特定する。上述したように、第２のカメラ５５０は、第１のカメラ５４０の第１のカメラ視野５８０とはわずかに異なる第２のカメラ視野５９０を有し、その理由は、第２のカメラ５５０の位置が第１のカメラ５４０の位置とは異なるためである。したがって、第１のカメラ５４０と第２のカメラ５５０との間の空間的関係を記述する変換関数は、第１の深度マップ６８２のいずれの画素が第２の深度マップ６９２の画素に対応するかを判断するために使用される必要がある可能性がある。
【００５８】
例えば、画素の第３のセットは、第１のカメラ５４０の逆射影行列、第２のカメラ５５０の逆射影行列、及び第１のカメラ５４０と第２のカメラ５５０との間の空間的関係を記述する変換関数に基づいて求めることができる。より具体的には、この例は、第２の深度マップの画素の第２のセットの各画素［ｕ  ｖ］Ｔに対して、第２の深度マップの画素［ｕ  ｖ］Ｔによって表される物理的位置の３Ｄ座標を求め、その物理的位置が第１の深度マップのいずれの画素［ａ  ｂ］Ｔ上に射影するかを判断することを含むことができる。上記例では、画素［ｕ  ｖ］Ｔによって特定される深度値は、物理的位置の３Ｄ座標のＺ成分とすることができる。したがって、画素［ｕ  ｖ］Ｔによって表される物理的位置の３Ｄ座標を求めることは、３Ｄ座標のＸ成分及びＹ成分を求めることを含むことができる。この求め方（determination）は、例えば以下の式に依存することができる。
【数２】
2020201930.tif 000004
【００５９】
上記式により、画素［ｕ  ｖ］によって表される物理的位置の３Ｄ座標
【数３】
2020201930.tif 000005
を求めることができ、３Ｄ座標
【数４】
2020201930.tif 000006
は、第２のカメラの座標系である。上記例では、
【数５】
2020201930.tif 000007
は、第２のカメラ５５０に対する逆射影行列を指す。逆射影行列
【数６】
2020201930.tif 000008
は、第２のカメラ５５０の座標系における物理的位置の３Ｄ座標と、その物理的位置が射影する画素の画素座標との関係を記述することができる。逆射影行列
【数７】
2020201930.tif 000009
は、第２のカメラ５５０の射影行列Ｋｓｅｃｏｎｄの逆行列とすることができる。一実施形態では、制御回路１１１は、第２のカメラ５５０に対して内部カメラキャリブレーションを実施することにより、第２のカメラ５５０の射影行列Ｋｓｅｃｏｎｄを求めることができる。一実施形態では、射影行列Ｋｓｅｃｏｎｄは、図１Ｅのロボット制御システム１７０により、又は第２のカメラ５５０の製造業者による等、既に求められており、ステップ４０５が実施される前に制御回路１１１に提供することができる。内部カメラキャリブレーション及び射影行列については、「Method and System for Performing Automatic Camera Calibration for Robot Control」と題する米国特許出願第１６／２９５，９４０号においてより詳細に考察されており、この出願の内容全体が引用することにより本明細書の一部をなす。
【００６０】
ステップ４０５の上記例は、座標
【数８】
2020201930.tif 000010
を、第２のカメラ５５０の座標系（第２の深度マップの座標系でもある）から第１のカメラ５４０の座標系（第１の深度マップの座標系でもある）に変換することを更に含むことができる。この求め方は、以下の式に基づくことができる。
【数９】
2020201930.tif 000011
【００６１】
上記例は、第２の深度マップの画素［ｕ  ｖ］によって表される物理的位置の３Ｄ座標
【数１０】
2020201930.tif 000012
を求め、３Ｄ座標は、第１のカメラ５４０及び第１の深度マップ６８２の座標系にある。上記例では、
【数１１】
2020201930.tif 000013
は、第１のカメラ５４０と第２のカメラ５５０との間の空間的関係を定義する変換関数を指す。例えば、
【数１２】
2020201930.tif 000014
は、第１のカメラ５４０と第２のカメラ５５０との間の距離を記述し、かつ第１のカメラ５４０に対する第２のカメラ５５０の向きを記述する、回転行列及び並進ベクトルを含むことができる。一実施形態では、制御回路１１１は、第１のカメラ５４０と第２のカメラ５５０との間の空間的関係を求めるためにステレオキャリブレーションを実施することにより、
【数１３】
2020201930.tif 000015
を求めることができる。一実施形態では、
【数１４】
2020201930.tif 000016
は、図１Ｅのロボット制御システム１７０、又は第１のカメラ５４０及び第２のカメラ５５０を展開したカメラオペレーターによる等、既に求められているものとすることができる。求められた変換関数は、ステップ４０５の前に制御回路１１１に提供されているものとすることができる。
【００６２】
ステップ４０５の上記例は、第１の深度マップにおけるいずれの画素が物理的位置
【数１５】
2020201930.tif 000017
に一致するかを特定することを更に含むことができる。この求め方は、以下の式に基づくことができる。
【数１６】
2020201930.tif 000018
【００６３】
上記例では、ＫＦｉｒｓｔは、第１のカメラ５４０の射影行列を指し、［ａ  ｂ］Ｔは、物理的位置
【数１７】
2020201930.tif 000019
が射影する、第１の深度マップにおける画素の画素座標である（この物理的位置は
【数１８】
2020201930.tif 000020
としても表される）。射影行列ＫＦｉｒｓｔは、内部カメラキャリブレーションを介して制御回路１１１によって求めることができ、又は、既に求められておりステップ４０５の前に制御回路１１１に提供されているものとすることができる。値［ａ  ｂ］Ｔは、上記計算の結果を最も近い整数に丸めることにより得ることができる。第１の深度マップにおける画素［ａ  ｂ］Ｔは、第２の深度マップにおける画素［ｕ  ｖ］Ｔと一致することができ、その理由は、それらが同じ物理的位置を表すためである。
【００６４】
図６Ｃ〜図６Ｆは、図５Ａ／図５Ｂの制御回路１１１が、第２の深度マップ６９２の画素の第２のセットに対応する第１の深度マップ６８２の画素の第３のセットを特定するステップ４０５の一例をグラフィカルに示し、第１の深度マップの画素の第３のセットは、各物理的位置の第２のセットも表すことができる。より具体的には、図６Ｃ〜図６Ｆは、第１の深度マップ６８２のいずれの画素が、第２の深度マップ６９２の第１行〜第４行それぞれにおける画素の第２のセットに対応するかを示す。例えば、図６Ｃ〜図６Ｆに示すように、第２の深度マップ６９２の画素の第２のセットは、以下の画素座標を有する。すなわち、第２の深度マップ６９２の第１行における［１，１］Ｔ、［１，２］Ｔ及び［１，４］Ｔ、第２の深度マップ６９２の第２行における［２，１］Ｔ、［２，３］Ｔ、［２，４］Ｔ及び［２，５］Ｔ、第２の深度マップ６９２の第３行における［３，１］Ｔ、［３，２］Ｔ及び［３，５］Ｔ、並びに、第２の深度マップの第４行における［４，１］Ｔ、［４，３］Ｔ及び［４，４］Ｔである。図６Ｃ〜図６Ｆにおいて更に示すように、第２の深度マップにおける画素の第２のセットは、第１の深度マップにおける画素の第３のセットに対する以下の画素座標に対応する。すなわち、それぞれ、（図６Ｃに示すような）第１の深度マップの第２行における［２，３］Ｔ、［２，６］Ｔ、［２，１２］Ｔ、（図６Ｄに示すような）第１の深度マップの第５行における［５，３］Ｔ、［５，９］Ｔ、［５，１２］Ｔ、［５，１５］Ｔ、（図６Ｅに示すような）第１の深度マップの第８行における［８，３］Ｔ、［８，６］Ｔ、［８，１５］Ｔ、並びに（図６Ｆに示すような）第１の深度マップの第１１行における［１１，３］Ｔ、［１１，９］Ｔ、及び［１１，１２］Ｔである。
【００６５】
図４に戻ると、方法４００はステップ４０７を更に含むことができ、そこでは、制御回路１１１は、画素の第３のセットから１つ以上の空画素を特定する。１つ以上の空画素の各空画素は、第１の深度マップが第２の深度マップの深度値に基づいて更新される前に、深度値が割り当てられていない、第１の深度マップの画素とすることができる。図６Ｃ〜図６Ｆに示す例では、制御回路１１１は、以下の画素座標を有する画素として１つ以上の空画素を特定することができる。すなわち、［５，９］Ｔ、［５，１２］Ｔ（図６Ｄを参照）、［８，３］Ｔ及び［８，６］Ｔ（図６Ｅを参照）である。より具体的には、第１の深度マップが第２の深度マップからの情報で補完される前に、これらの画素には深度値が割り当てられていない。いくつかの実施態様では、１つ以上の空画素は、この例では、図６Ａに示す空画素のセットとステップ４０５において特定された画素の第３のセットとの共通部分として特定することができる。
【００６６】
図４に戻ると、方法４００はステップ４０９を更に含むことができ、そこでは、制御回路１１１は、１つ以上の空画素の各空画素に、第２の深度マップの画素の第２のセットの対応する画素の深度値に基づく各深度値を割り当てることにより、第１の深度マップを更新する。空画素に対する対応する画素は、空画素と同じ物理的位置を表す、第２の深度マップの画素の第２のセットの画素とすることができる。特定の空画素に割り当てられる深度値は、第１のカメラ５４０に関連することができる。例えば、深度値は、第１のカメラ５４０の座標系の座標軸（例えば、Ｚ軸）に沿った距離を示すことができ、その距離は、第１のカメラ５４０と、空画素によって表された又は表されるべき物理的位置との間である。場合によっては、空画素に割り当てられる深度値は、第２の深度マップの対応する画素の深度値に基づき、かつ、カメラ５４０／５５０の間の空間的関係を定義する変換関数に基づくことができる。例えば、空画素に割り当てられる深度値は、上述したように、
【数１９】
2020201930.tif 000021
に基づいて、かつ第２の深度マップの対応する画素の深度値Ｚに基づいて求められるＺ’とすることができる。場合によっては、１つ以上の空画素は、各深度値が割り当てられた後に１つ以上の更新された画素と呼ぶことができ、１つ以上の更新された画素の各更新された画素は、１つ以上の空画素に属していたとみなされる。一実施形態では、第１の深度マップ６８２の非空画素（例えば、図６Ａにおける画素の第１のセット）は、ステップ４０９において制御回路１１１によって無視される。
【００６７】
図６Ｇは、第１の深度マップ６８２の更新されたバージョン（更新された第１の深度マップ６８６とも呼ぶ）の一例を示す。更新された第１の深度マップ６８６は、第１の深度マップ６８２の［５，９］Ｔ、［５，１２］Ｔ、［８，３］Ｔ及び［８，６］Ｔ等の空画素に、第２の深度マップ６９２の対応する画素の深度値に等しいか又は深度値に基づく各深度値を割り当てることによって、生成することができる。この例における対応する画素は、それぞれ第２の深度マップ６９２の［２，３］Ｔ、［２，４］Ｔ、［３，１］Ｔ及び［３，２］Ｔである。図６Ｇに示すように、第１の深度マップ６８２の空画素に割り当てられた深度値は、太字の下線付き数字として表されている。第１の深度マップ６８２の空画素［５，９］Ｔ、［５，１２］Ｔ、［８，３］Ｔ及び［８，６］Ｔに割り当てられた深度値は、これらの画素によって表される各物理的位置に対する（図５Ａ及び図５Ｂの）第１のカメラ５４０に関連する各深度値を示すことができる。
【００６８】
図６Ｇの例では、第１の深度マップ６８２の１つ以上の空画素［５，９］Ｔ、［５，１２］Ｔ、［８，３］Ｔ及び［８，６］Ｔに割り当てられた各深度値は、第２の深度マップ６９２の対応する深度値に等しいものとすることができる。例えば、更新された第１の深度マップ６８６の空画素［５，９］Ｔに割り当てられた２００ｃｍという深度値は、第２の深度マップ６９２の対応する画素［２，３］Ｔに割り当てられた２００ｃｍという対応する深度値に等しい。この例は、（図５Ａ及び図５Ｂの）第１のカメラ５４０の座標系と第２のカメラ５５０の座標系とが、Ｚ＝０とみなされるものに対する共通の定義を共有する状況を反映することができる。こうした状況は、例えば、第１のカメラ５４０及び第２のカメラ５５０が共通のカメラマウント（例えば、図５Ｂの５３０）に取り付けられ、この共通のカメラマウントにより、２つのカメラ５４０、５５０がそれらの各視野５８０、５９０における物体に関して共通の深度を共有する場合に、発生する可能性がある。
【００６９】
別の例では、１つ以上の空画素の各空画素に対する各深度値は、第２の深度マップ６９２における対応する画素の深度値とは異なる場合がある。上述したように、空画素に割り当てられる深度値Ｚ’は、より全体的には、以下に基づいて、変換関数
【数２０】
2020201930.tif 000022
に基づくことができる。
【数２１】
2020201930.tif 000023
【００７０】
一実施形態では、制御回路は、ステップ４０９において、第１の深度マップ６８２が第２の深度マップ６９２の解像度より高い解像度を有する場合に、第１の深度マップ６８２の空画素に割り当てられる深度値を更にアップサンプリングすることができる。例えば、図６Ｇは、第１の深度マップ６８２が、第１のカメラ５４０の第１のカメラ視野５８０を包含するように１２×１５画素の解像度を有し、第２の深度マップ６９２が、第２のカメラ５５０の第２のカメラ視野５９０を包含するように４×５画素の解像度を有する状況を示す。第１のカメラ視野５８０が、第２のカメラ視野５９０と実質的に同じサイズを有すると想定すると、図６Ｇの例における第１の深度マップ６８２は、図６Ｇの第２の深度マップ６９２より高い解像度を有する。
【００７１】
場合によっては、第１の深度マップ６８２におけるより多くの空画素を深度値で埋めるように、アップサンプリングを実施することができる。例えば、図６Ｇは、アップサンプリングがまだ実施されていない一例を示す。この例では、第１の深度マップ６８２における４つの空画素が、第２の深度マップ６９２からの対応する深度値に基づいて更新されている（したがって、更新された画素に変換されている）。しかしながら、図６Ｇは、第１の深度マップ６８２における空画素の総数は約１０倍多く、第１の深度マップ６８２における全ての画素の総数（１８０画素）は約４５倍多い状況を示す。図６Ｇの４つの空画素に深度値を割り当てることにより、第１の深度マップにおける深度情報の量が増大するが、この増大は、第１の深度マップ６８２の全体的なサイズと比較すると小さい可能性がある。したがって、第１の深度マップ６８２における深度情報の量をより大きい量、増大させるために、図６Ｇの空画素に割り当てられた深度値に対してアップサンプリングを実施することができる。
【００７２】
一実施形態では、制御回路１１１は、ステップ４０７の１つ以上の空画素に属するか又は属した少なくとも１つの画素に対して、その少なくとも１つの画素に隣接し（例えば、直接隣接し）かつ深度値が割り当てられていない、第１の深度マップ６８２の１つ以上の隣接する空画素の各セットを特定することにより、アップサンプリングを実施することができる。この例では、少なくとも１つの画素は、ステップ４０７において特定された、［８，３］Ｔ、［８，６］Ｔ、［５，９］Ｔ及び［５，１２］Ｔのうちの任意の１つとすることができる。これらの画素は、空画素の初期セットと呼ぶことができる。図６Ｈは、画素［８，４］Ｔ、［９，４］Ｔが、空画素の初期セットのうちの１つに属した又は属する第１の画素［８，３］Ｔに対する隣接する空画素として確定される一例を示す。第１の画素［８，３］Ｔは、例えば２５０ｃｍの深度値によって既に更新されているものとすることができ（その結果、第１の画素は、空画素の初期セットに属した更新された画素である）、又は、まだ更新されていないものとすることができる（その結果、第１の画素は、空画素の初期セットに属する）。この図は、各々、空画素の初期セットに属した又は属する、第２の画素［８，６］Ｔ、第３の画素［５，９］Ｔ及び第４の画素［５，１２］Ｔに対する隣接する空画素を更に示す。図６Ｈに示すように、制御回路１１１は、少なくとも１つの空画素（例えば、第１の空画素［８，３］Ｔ）の深度値を１つ以上の隣接する空画素の各セットに更に割り当てることによって、アップサンプリングを実施することができる。深度値は、少なくとも１つの空画素（例えば、第１の画素［８，３］Ｔ）に既に割り当てられているものとすることができ、又は、少なくとも空画素に割り当てられようとしている。より具体的には、図６Ｈは、隣接する空画素の各セットにも割り当てられている（この例では、それぞれ２５０ｃｍ、２２０ｃｍ、２００ｃｍ及び２２０ｃｍである）空画素［８，３］Ｔ、［８，６］Ｔ、［５，９］Ｔ及び［５，１２］Ｔの初期セットに割り当てられた又は割り当てられようとしている各深度値を示す。一実施形態では、上述したアップサンプリングは、空画素の初期セットに属した又は属する各画素に対して実施することができる。
【００７３】
一実施形態では、制御回路１１１は、１つ以上の隣接する画素の各セットを、少なくとも１つの画素を包囲する画素の領域における全ての空画素として及び／又はそれらのみを空画素として特定することができる。こうした実施形態では、制御回路１１１は、第１の深度マップ６８２の解像度と第２の深度マップ６９２の解像度との比に基づいて領域のサイズを求めるように構成することができる。例えば、第１の深度マップ６８２が「ｇ×ｈ」画素の解像度を有し、第２の深度マップ６９２が「ｍ×ｎ」画素の解像度を有する場合、その領域のサイズは、「ｑ×ｒ」画素に等しいか又は他の方法で「ｑ×ｒ」画素に基づくことができ、「ｑ」は比「ｇ／ｍ」に対して最も近い整数であり、「ｒ」は比「ｈ／ｒ」に対して最も近い整数である。一例として、図６Ａ〜図６Ｈは、１２×１５画素の解像度を有する第１の深度マップ６８２と、４×５画素の解像度を有する第２の深度マップ６９２とを示す。図６Ｈにおいて、初期空画素のうちの１つを包囲する隣接する画素の領域は、実線の破線によって囲まれている。この例では、少なくとも１つの空画素は、元の空画素［８，３］Ｔ、［８，６］Ｔ、［５，９］Ｔ及び［５，１２］Ｔのうちの任意のものとすることができ、隣接する空画素とみなされるものを画定する領域のサイズは、１２／４×１５／５画素（すなわち、３×３画素）に等しいものとすることができる。言い換えれば、制御回路１１１は、この例では、空画素の初期セットの第１の画素を中心とする３×３領域内の全ての空画素を、第１の画素に対する隣接する空画素であると判断することができる。場合によっては、３×３領域外にある全ての空画素が、第１の画素に対して隣接しているとみなされない。
【００７４】
一実施形態では、隣接する空画素の領域のサイズは、第１の深度マップの解像度と第２の深度マップの解像度との比より大きいか又は小さい場合がある。例えば、図６Ｉは、領域のサイズが５×５である一例を示す。すなわち、制御回路１１１は、この例では、空画素の初期セットに属しているか又は属していた特定の画素に対して、隣接する空画素を、その特定の画素を包囲する画素の５×５領域にある全ての空画素として（及びそれらのみを空画素として）特定することができる。
【００７５】
図６Ｉは、制御回路１１１がいくつかの空画素を空画素の初期セットの複数の画素に隣接しているとみなすことができる一例を更に示す。場合によっては、複数の画素は、既に深度値が割り当てられているものとすることができ、したがって、更新された画素と呼ぶことができる。図６Ｉは、第１の深度値（例えば、２５０ｃｍ）が割り当てられた第１の更新された画素［８，３］Ｔと、第２の深度値（例えば、２２０ｃｍ）が割り当てられた第２の更新された画素［８，６］Ｔとを有する状況を含む。制御回路１１１は、この例では、第１の更新された画素［８，３］Ｔ及び第２の更新された画素［８，６］Ｔに隣接している１つ以上の隣接する空画素のセットを特定することにより、第１の深度マップ６８２を更に更新することができる。この例では、制御回路１１１は、第１の更新された画素［８，３］Ｔを包囲する第１の５×５領域、又は第２の更新された画素［８，６］Ｔを包囲する第２の５×５領域内の全ての空画素を、それぞれ、第１の更新された画素［８，３］Ｔ又は第２の更新された画素［８，６］Ｔに対する隣接する空画素であるものとみなすことができる。この基準に基づき、いくつかの空画素を、第１の更新された画素［８，３］Ｔに隣接するとともに第２の更新された画素［８，６］Ｔに隣接しているとみなすことができる。こうした一例では、制御回路１１１は、ステップ４０９において、第１の更新された画素［８，３］Ｔにかつ第２の更新された画素［８，６］Ｔに対する隣接する空画素であるものとして画素（例えば、［７，５］Ｔ、［８，４］Ｔ、［８，５］Ｔ、［９，４］Ｔ及び［９，５］Ｔ）を更に特定することにより、アップサンプリングを実施することができる。こうした例では、制御回路１１１は、隣接する空画素に対して、第１の更新された画素に割り当てられた第１の深度値（例えば、２５０ｃｍ）と第２の更新された画素に割り当てられた第２の深度値（例えば、２２０ｃｍ）との平均である平均深度値（例えば、２３５ｃｍ）を割り当てることができる。同様に、図６Ｉの例における画素［６，７］Ｔ、［６，８］Ｔ、［７，７］Ｔ、［７，８］Ｔは、第２の更新された画素［８，６］Ｔ及び第３の更新された画素［５，９］Ｔ両方に隣接しているとみなすことができ、２１０ｃｍの平均深度値を割り当てることができる。図６Ｉの例は、同様に［４，１０］Ｔ、［５，１０］Ｔ、［５，１１］Ｔ、［６，１０］Ｔ、［６，１１］Ｔ、［７，１０］Ｔ、［７，１１］Ｔに適用することができ、それらは、第３の更新された画素［５，９］Ｔ及び第４の更新された画素［５，１２］Ｔ両方に隣接しているとみなすことができる。
【００７６】
一実施形態では、制御回路１１１は、第１の更新された画素に隣接しているが、１つ以上の更新された画素のうちの他のいずれの更新された画素にも隣接していない、隣接する空画素の第１のセットを特定し、隣接する空画素の第１のセットに第１の深度値を割り当てることにより、第１の深度マップ６８２を更に更新することができる。例えば、制御回路１１１は、図６Ｉの例では、第１の更新された画素［８，３］Ｔに隣接しているが１つ以上の更新された画素の他のいずれの更新された画素にも隣接していない（画素［８，６］Ｔ、［５，９］Ｔ、［５，１２］Ｔに隣接しているとみなされない）ものとして画素［９，１］Ｔを特定することができ、その隣接する空画素に、第１の更新された画素［８，３］Ｔの深度値（例えば、２５０ｃｍ）を割り当てることができる。図６Ｉに関して記載した上記ステップは、第１の更新された画素及び第２の更新された画素に対して実施されるが、より全体的には、各々、空画素の初期セットに属するか又は属した第１の画素及び第２の画素に対して、実施することができる。
【００７７】
図７（ａ）〜図７（ｃ）は、第１の深度マップ７８２及び第２の深度マップ７９２が同じ解像度を有する一例を示す。こうした状況では、上述したアップサンプリングを省略することができる。一実施形態では、制御回路１１１は、第２の深度マップ７９２における深度情報に基づいて、第１の深度マップ７８２の１つ以上の空画素に各深度値を割り当てることにより、第１の深度マップ７８２を更新することができる。制御回路１１１は、例えばステップ４０１〜４０７に関して上述した方法と同様に、第１の深度マップ７８２において更新すべき１つ以上の空画素を特定することができる。例えば、図７（ａ）及び図７（ｂ）は、制御回路が、（点線矢印によって特定する）第１の深度マップ７８２における複数の空画素を特定することを示し、第１の深度マップにおける空画素は、深度値ｄ１〜ｄ１０を有する第２の深度マップにおける等しい数の画素に対応する。図７（ａ）及び図７（ｂ）に示すように、第１の深度マップ７８２の複数の空画素と第２の深度マップ７９２の対応する画素との間にずれ（並進とも呼ぶ）がある可能性があり、その理由は、２つの深度マップ７８２、７９２が、異なる各位置にある２つのカメラから生成され、したがって、異なる視野を有するためである。言い換えれば、２つのカメラは互いに対してずれており、したがって、第１の深度マップ７８２における画素が第２の深度マップ７９２における対応する画素に対してずれることになる可能性がある。
【００７８】
一実施形態では、制御回路１１１は、ステップ４０９に関して上述した方法と同様に、第１の深度マップ７８２における空画素に各深度値を更に割り当てることができる。例えば、図７（ｃ）は、第１の深度マップ７８２の空画素に、第２の深度マップの深度値ｄ１〜ｄ１０に基づく各深度値ｄ１’〜ｄ１０’が割り当てられていることを示す。
【００７９】
一実施形態では、第１の深度マップは、第２の深度マップの第２の解像度より低い第１の解像度を有することができ、第１の深度マップの画素の第３のセットの各画素は、ステップ４０７において、第２の深度マップの画素の第２のセットの複数の画素に対応する。こうした実施形態では、制御回路１１１は、第２の深度マップの画素の第２のセットの対応する画素の各深度値の平均として、又は、第２の深度マップの画素の第２のセットの対応する画素の各深度値に基づく平均として、ステップ４０７の１つ以上の空画素の各空画素に割り当てるべき各深度値を求めることにより、（例えば、ステップ４０９において）第１の深度マップの更新を実施することができる。
【００８０】
図８（ａ）は、８×１０画素の解像度を有する第１の深度マップ８８２を示す図例であり、図８（ｂ）は、１６×２０画素のより高い解像度を有する第２の深度マップ８９２を示す図例である。図８（ａ）及び図８（ｂ）に示す例では、第２の深度マップ８９２の解像度は第１の深度マップ８８２の解像度より高いため、ダウンサンプリングを実施することができる。ダウンサンプリングが必要である可能性があるのは、第２の深度マップ８９２における複数の画素が第１の深度マップ８８２の同じ画素に対応することができるためである。
【００８１】
例えば、図８（ｂ）は、深度値を有する画素を表す「Ｘ」を含む第２の深度マップ８９２を示す。この図は、図８（ａ）の第１の深度マップ８８２における単一の画素に対応する図８（ｂ）の第２の深度マップ８９２における、点線ボックスによって示す、４つの画素の１つのグループを示す。１つの例では、図８（ｂ）の点線ボックスにおける４つの画素は、例えば、［９，３］Ｔ、［９，４］Ｔ、［１０，３］Ｔ、［１０，４］Ｔの座標を有することができる。ステップ４０５に関して上述した計算を使用して、第１の深度マップ８８２における対応する画素の画素座標［ａ，ｂ］Ｔを求める場合、この計算により、全てが同じ整数に丸められる値をもたらすことができる。例えば、計算により、例えば［５．１，３．１］Ｔ、［５．１，３．２］Ｔ、［５．３，３．１］Ｔ及び［５．３，３．２］Ｔの画素座標をもたらされ、その後、それらの座標は最も近い整数に丸められる場合がある。これらの座標は、丸められるとき、全て第１の深度マップ８８２の画素［５，３］Ｔに丸めることができる。したがって、図８（ｂ）の第２の深度マップ８９２の点線ボックス内の４つの画素は、全て、第１の深度マップ８８２における画素［５，３］Ｔに対応することができる。図８（ａ）及び図８（ｂ）に示すように、第１の深度マップ８８２の空画素（例えば、［５，３］Ｔ）と第２の深度マップ８９２の対応する画素（［９，３］Ｔ、［９，４］Ｔ、［１０，３］Ｔ、［１０，４］Ｔ）との間にずれ（並進とも呼ぶ）がある可能性があり、その理由は、２つの深度マップ８８２、８９２が、異なる各位置にあり、したがって、異なる視野を有する２つのカメラから生成されるためである。
【００８２】
一実施形態では、第１の深度マップ８８２の空画素に、その空画素に対応する第２の深度マップ８９２の複数の画素の各深度値の平均を割り当てることにより、ダウンサンプリングを実施することができる。例えば、図８（ａ）は、第１の深度マップ８８２における空画素［５，３］Ｔに対して、第２の深度マップ８９２の対応する画素の各深度値（例えば、２５０ｃｍ、２５０ｃｍ、２４０ｃｍ、２４０ｃｍ）の平均が割り当てられる一例を示す。
【００８３】
一実施形態では、ダウンサンプリングは、第１の深度マップ８８２の空画素に、その空画素に対応する第２の深度マップ８９２の複数の画素の各深度値に基づく平均を割り当てることを含むことができる。例えば、制御回路１１１は、各画素に対応する第２の深度マップ８９２の複数の画素の各深度値に基づいて複数の中間深度値を求めるように構成することができる。第２の深度マップ８９２の対応する画素の各深度値（例えば、Ｚ）に基づき、かつ、第１のカメラ（例えば、図５Ａ／図５Ｂの５４０）と第２のカメラ（例えば、図５Ａ／図５Ｂの５５０）との間の関係を記述する変換関数に基づき、ステップ４０９及びステップ４０５に関して上述した以下の関係に基づいて、中間深度値（例えば、Ｚ’）を求めることができる。
【数２２】
2020201930.tif 000024
図８（ｂ）の第２の深度マップ８９２の画素［９，３］Ｔ、［９，４］Ｔ、［１０，３］Ｔ、［１０，４］Ｔを含む上記例では、制御回路１１１は、上記関係に基づいて４つの各中間深度値を求めることができる。この実施形態では、制御回路１１１は、第１の深度マップ８８２の空画素［５，３］Ｔに対して４つの中間深度値の平均を割り当てることができる。
【００８４】
一実施形態では、上記例は、第２の深度マップ８９２の非空画素のみを含むことができる。より具体的には、ダウンサンプリングは、第１の深度マップ８８２の空画素に、その空画素に対応する第２の深度マップ８９２の非空画素の各深度値に基づく平均を割り当てることを含むことができる。例えば、第２の深度マップ８９２における画素［９，３］Ｔが代わりに空画素であった場合、第１の深度マップ８８２における空画素［５，３］Ｔは、第２の深度マップ８９２における以下の非空画素、すなわち［９，４］Ｔ、［１０，３］Ｔ、［１０，４］Ｔに対応する。この例は、第２の深度マップ８９２の３つの非空の対応する画素（［９，４］Ｔ、［１０，３］Ｔ、［１０，４］Ｔ）の深度値に基づいて３つの各中間深度値を求めることと、空画素［５，３］Ｔに対して、３つの中間深度値の平均を割り当てることとを含む。
【００８５】
一実施形態では、制御回路１１１は、逆射影を実施して物理的位置の３Ｄ座標を求めるように構成することができ、３Ｄ座標は点群に含めることができる。一実施形態では、逆射影は、少なくとも１つの画素に対して、又は図４のステップ４０７の１つ以上の画素に属した又は属する各画素に対して、実施することができる。一実施形態では、制御回路１１１は、１つ以上の空画素に属した又は属する画素の各中心位置を求めることにより、かつ画素によって表される物理的位置の各座標として、画素の中心位置の上に射影する３Ｄ座標であって、３Ｄ座標の成分がその画素に割り当てられた又は割り当てられるべき深度値に等しい３Ｄ座標を求めることにより、逆射影を実施することができる。場合によっては、制御回路１１１は、各３Ｄ座標を含むか又は他の方法で各３Ｄ座標に基づく点群を生成するように構成することができる。いくつかの実施態様では、点群は、深度マップの画素に、値又は値のセットとして３Ｄ座標を割り当てることにより、各３Ｄ座標に基づいて生成することができ、その結果、深度マップは、点群又は点群の一部としても作用し、３Ｄ座標は点群の一部となる。
【００８６】
場合によっては、第２の深度マップ（例えば、図６Ｂの６９２）の画素が、第１の深度マップ（例えば、図６Ａの６８２）の対応する画素の中心位置に必ずしも射影しない可能性がある物理的位置を表す状況に対して、逆射影を実施することができる。画素の中心位置は、その画素に対応する画像センサー（例えば、１４３）上の領域の中心位置を指すことができる（画像センサーはカメラセンサーとも呼ぶことができる）。例えば、図９Ａは、第１の深度マップに対する情報を検知する第１の画像センサー（例えば、図１Ｃのカメラセンサー１４３）上の６つの領域と、第２の深度マップに対する情報を検知する第２の画像センサー（例えば、図１Ｄのカメラセンサー１５３）上の６つの領域とを示す。各領域は、例えば、画像センサーを形成するセンサーアレイ（例えば、光検出器のアレイ）の各センサーによって占有される領域とすることができる。図９Ａに示すように、画像センサー９２０に対する領域９２１は、第２の深度マップの画素［ｕ  ｖ］Ｔに一致することができる（画像センサー９２０はカメラセンサー１５３の一実施形態とすることができる）。ステップ４０５に関して上述したように、画素［ｕ  ｖ］Ｔは、第２のカメラ（例えば、図１の１５０）又は第２の深度マップの座標系における［Ｘ  Ｙ  Ｚ」Ｔの座標と、第１のカメラ（例えば、図１の１４０）又は第１の深度マップの座標系における［Ｘ’  Ｙ’  Ｚ’］Ｔの座標とを有する、物理的位置９３３を表すことができる。図４のステップ４０５に関してもまた上述したように、座標［Ｘ’  Ｙ’  Ｚ’］Ｔは、第１の深度マップの画素［ａ  ｂ」Ｔに射影することができる。より具体的には、座標［Ｘ’  Ｙ’  Ｚ’］Ｔは、画像センサー９１０上の領域９１１内の位置９１３に射影することができる（画像センサー９１０は、カメラセンサー１４３の一実施形態とすることができる）。領域９１１は、第１の深度マップの画素［ａ  ｂ」Ｔに一致することができる。画素［ａ  ｂ］Ｔに対して、一実施形態では、ステップ４０９に関して上述したように、Ｚ’の深度値を割り当てることができる。
【００８７】
上記実施形態では、座標［Ｘ’  Ｙ’  Ｚ’］Ｔは、物体（例えば、図２の物体２６０）を表す点群に含めることができるが、そうすることは最適ではない可能性があり、その理由は、［Ｘ’  Ｙ’  Ｚ’］Ｔが射影する位置９１３が、領域９１１の中心位置ではない可能性があるためである。より具体的には、点群に［Ｘ’  Ｙ’  Ｚ’］Ｔを含めることにより、問題が生じる可能性があり、その理由は、点群を使用するいくつかのプロセスが、点群における３Ｄ座標が対応する画素の各中心位置に射影するという想定に依存する可能性があるためである。したがって、点群は、代わりに、領域９１１の中心位置に射影する物理的位置の３Ｄ座標を含む必要がある可能性がある。一実施形態では、こうした３Ｄ座標は、逆射影演算を使用することによって求めることができる。
【００８８】
例えば、図９Ｂは、３Ｄ座標［Ｘ’’  Ｙ’’  Ｚ’’］Ｔが、（画素の中心位置と呼ぶことができる）画素［ａ  ｂ］Ｔに対応する領域９１１の中心位置９１５に射影する物理的位置９３４に対して特定されるシナリオを示す。より具体的には、物理的位置９３４及びその３Ｄ座標［Ｘ’’  Ｙ’’  Ｚ’’］Ｔは、画素［ａ  ｂ］Ｔの中心位置９１５と第１のカメラ（例えば、図１Ａの１４０）の焦点９１９とを接続する仮想線９１７上にある３Ｄ座標として特定することができる。仮想線９１７は、図９Ｂ及び図９Ｃの両方に示し、焦点９１９は図９Ｃに示す。さらに、Ｚ成分（すなわち、Ｚ’’）、又は深度情報を記述する他の任意の成分は、画素［ａ  ｂ］Ｔに割り当てられた深度値に等しくなければならない可能性がある。言い換えれば、Ｚ’’の値は、Ｚ’の値に等しい。一実施形態では、物理的位置９３４の３Ｄ座標［Ｘ’’  Ｙ’’  Ｚ’’］Ｔが求められると、この座標は、物理的位置９３３の３Ｄ座標［Ｘ’  Ｙ’  Ｚ’］Ｔの代わりに点群に含めることができる。場合によっては、画素［ａ  ｂ］Ｔに、（Ｚ’に等しい）値Ｚ’’のみではなく、値Ｘ’’及びＹ’’も割り当てることができ、その結果、画素［ａ  ｂ］Ｔに３Ｄ座標［Ｘ’  Ｙ’  Ｚ’］Ｔが割り当てられる。画素に３Ｄ座標を割り当てることは、画素［ａ  ｂ］Ｔを含む第１の深度マップが点群又は点群の一部である、３Ｄ座標に基づいて点群を生成する１つの方法とすることができ、点群は、物体又は構造体の表面上の物理的位置の３Ｄ座標を含む。
【００８９】
様々な実施形態の更なる検討
本開示の実施形態１は、通信インターフェースと制御回路とを備えるカメラ画像処理システムに関する。通信インターフェースは、（ｉ）第１のタイプの深度検知カメラでありかつ第１のカメラ視野を有する第１のカメラ、及び（ｉｉ）第１のタイプの深度検知カメラとは異なる第２のタイプの深度検知カメラであり、かつ第１のカメラ視野とオーバーラップする第２のカメラ視野を有する第２のカメラと通信するように構成されている。制御回路は、通信インターフェースが第１のカメラ及び第２のカメラと通信するとき、第１のカメラによって検知される情報に基づいて生成される第１の深度マップを受け取るように構成され、当該第１の深度マップは、第１のカメラ視野における各物理的位置の第１のセットを表す画素の第１のセットを含み、当該画素の第１のセットは、各物理的位置の第１セットに対する各深度値の第１のセットを示し、当該各深度値の第１のセットは第１のカメラに関連する。制御回路は、第２のカメラによって検知される情報に基づいて生成される第２の深度マップを受け取るように更に構成され、当該第２の深度マップは、第２のカメラ視野における各物理的位置の第２のセットを表す画素の第２のセットを含み、当該画素の第２のセットは、各物理的位置の第２セットに対する各深度値の第２のセットを示し、当該各深度値の第２のセットは第２のカメラに関連する。制御回路は、各物理的位置の第２のセットも表す、第１の深度マップの画素の第３のセットを特定するように更に構成され、当該画素の第３のセットは第２の深度マップの画素の第２のセットに対応する。制御回路は、画素の第３のセットから１つ以上の空画素を特定するように更に構成され、当該１つ以上の空画素の各空画素は、深度値が割り当てられていない第１の深度マップの画素である。制御回路は、１つ以上の空画素の各空画素に、第２の深度マップの画素の第２のセットの対応する画素の深度値に基づく各深度値を割り当てることにより、第１の深度マップを更新するように更に構成され、空画素に対する対応する画素は、当該空画素と同じ物理的位置を表す、第２の深度マップの画素の第２のセットの画素である。
【００９０】
実施形態２は、実施形態１のカメラ画像処理システムを含む。実施形態２において、制御回路は、第２の深度マップの対応する画素の深度値に基づき、かつ、第１のカメラと第２のカメラとの間の空間的関係を定義する変換関数に基づき、１つ以上の空画素のセットの各空画素に割り当てるべき各深度値を求めるように構成されている。
【００９１】
実施形態３は、実施形態２のカメラ画像処理システムを含む。実施形態３において、第２の深度マップの画素の第２のセットは、各画素座標のセットを有し、制御回路は、各画素座標のセットに基づき、かつ第１のカメラと第２のカメラとの間の空間的関係を定義する変換関数に基づき、各画素座標の追加のセットを求めることにより、第１の深度マップの画素の第３のセットを特定するように構成され、各画素座標の追加のセットは、画素の第３のセットを特定する。
【００９２】
実施形態４は、実施形態１〜３のいずれか１つのカメラ画像処理システムを含む。実施形態４において、制御回路は、第１のカメラから通信インターフェースを介して第１の深度マップを受け取り、第２のカメラから通信インターフェースを介して第２の深度マップを受け取るように構成されている。
【００９３】
実施形態５は、実施形態１〜４のいずれか１つのカメラ画像処理システムを含む。実施形態５において、制御回路は、第１の深度マップが、第２の深度マップの第２の解像度より高い第１の解像度を有する場合、１つ以上の空画素に属した又は属する少なくとも１つの画素に対して、当該少なくとも１つの画素に隣接しかつ深度値が割り当てられていない、第１の深度マップの１つ以上の隣接する空画素の各セットを特定し、１つ以上の隣接する空画素の各セットに、少なくとも１つの画素に割り当てられた又は割り当てられるべき深度値を割り当てることにより、第１の深度マップを更に更新するように構成されている。
【００９４】
実施形態６は、実施形態５のカメラ画像処理システムを含む。実施形態６において、制御回路は、少なくとも１つの画素を包囲する画素の領域における全ての空画素として、１つ以上の隣接する空画素の各セットを特定するように構成され、制御回路は、第１の深度マップの解像度と第２の深度マップの解像度との比に基づき、領域のサイズを求めるように構成されている。
【００９５】
実施形態７は、実施形態１〜６のいずれか１つのカメラ画像処理システムを含む。実施形態７において、制御回路は、１つ以上の空画素に属した又は属する第１の画素に隣接し、かつ１つ以上の空画素に属した又は属する第２の画素に隣接する、１つ以上の隣接する空画素のセットを特定し、１つ以上の隣接する空画素のセットに、第１の画素に割り当てられた又は割り当てられるべき第１の深度値と、第２の画素に割り当てられた又は割り当てられるべき第２の深度値との平均である平均深度値を割り当てることにより、第１の深度マップを更に更新するように構成されている。
【００９６】
実施形態８は、実施形態７のカメラ画像処理システムを含む。実施形態８において、制御回路は、第１の画素に隣接し、１つ以上の空画素の他の任意の画素に隣接していない隣接する空画素の追加のセットを特定し、隣接する空画素の追加のセットに第１の深度値を割り当てることにより、第１の深度マップを更に更新するように構成されている。
【００９７】
実施形態９は、実施形態１〜８のいずれか１つのカメラ画像処理システムを含む。実施形態９において、制御回路は、１つ以上の空画素に属した又は属する各画素に対して、当該画素の各中心位置を求め、当該画素によって表される物理的位置の各座標として、当該画素の中心位置の上に射影する３Ｄ座標であって、当該３Ｄ座標の成分が当該画素に割り当てられた又は割り当てられるべき深度値に等しい、３Ｄ座標を特定し、各３Ｄ座標に基づき点群を生成するように構成されている。
【００９８】
実施形態１０は、実施形態９のカメラ画像処理システムを含む。実施形態１０において、制御回路は、１つ以上の空画素に属した又は属する各画素に対して、（ｉ）当該画素の各中心位置及び（ｉｉ）第１のカメラの焦点を通る仮想線上にある座標として、各３Ｄ座標を求めるように構成されている。
【００９９】
実施形態１１は、実施形態１〜４又は７〜１０のいずれか１つのカメラ画像処理システムを含む。実施形態１１において、制御回路は、第１の深度マップの１つ以上の画素の各画素が画素の第２のセットの複数の画素に対応するように、第１の深度マップが第２の深度マップの第２の解像度より低い第１の解像度を有するとき、第２の深度マップの画素の第２のセットの対応する画素の各深度値の平均に基づき、１つ以上の空画素の各空画素に割り当てるべき各深度値を求めるように構成されている。
【０１００】
実施形態１２は、実施形態１〜１１のいずれか１つのカメラ画像処理システムを含む。実施形態１２において、カメラ画像処理システムはロボット制御システムの一部であり、通信インターフェースが第１のカメラ、第２のカメラ及びロボットと通信するとき、制御回路は、第１の深度マップが第２の深度マップの深度値に基づいて更新された後、第１の深度マップに基づいてロボット移動コマンドを生成し、通信インターフェースを介してロボット移動コマンドをロボットに通信するように構成されている。
【０１０１】
実施形態１３は、実施形態１２のカメラ画像処理システムを含む。実施形態１３において、制御回路は、第１の深度マップが第２の深度マップの深度値に基づいて更新された後、第１の深度マップに基づいてロボット移動コマンドを生成するように構成されている。
【０１０２】
本開示の実施形態１４は、命令を有する非一時的コンピューター可読媒体に関し、当該命令は、カメラ画像処理システムの制御回路によって実行されると、当該制御回路に、第１の深度マップを受け取らせ、当該第１の深度マップは、カメラ画像処理システムの当該非一時的コンピューター可読媒体から、又は、当該カメラ画像処理システムの通信インターフェースを介して受け取られ、当該通信インターフェースは、第１のタイプの深度検知カメラでありかつ第１のカメラ視野を有する第１のカメラと通信するように構成され、第１の深度マップは、通信インターフェースが通信するように構成される第１のカメラによって検知される情報に基づいて生成され、第１の深度マップは、第１のカメラ視野における各物理的位置の第１のセットを表す画素の第１のセットを含み、当該画素の第１のセットは、各物理的位置の第１のセットに対する各深度値の第１のセットを示し、当該各深度値の第１のセットは、通信インターフェースが通信するように構成される第１のカメラに関連する。命令は更に、制御回路に、第２の深度マップを受け取らせ、当該第２の深度マップは、カメラ画像処理システムの当該非一時的コンピューター可読媒体から、又は、当該カメラ画像処理システムの通信インターフェースを介して受け取られ、当該通信インターフェースは、第１のタイプの深度検知カメラとは異なる第２のタイプの深度検知カメラであり、かつ第１のカメラ視野とオーバーラップする第２のカメラ視野を有する、第２のカメラと通信するように構成され、第２の深度マップは、通信インターフェースが通信するように構成される第２のカメラによって検知される情報に基づいて生成され、第２の深度マップは、第２のカメラ視野における各物理的位置の第２のセットを表す画素の第２のセットを含み、当該画素の第２のセットは、各物理的位置の第２のセットに対する各深度値の第２のセットを示し、当該各深度値の第２のセットは、通信インターフェースが通信するように構成される第２のカメラに関連する。命令は更に、制御回路に、各物理的位置の第２のセットも表す、第１の深度マップの画素の第３のセットを特定させ、当該画素の第３のセットは第２の深度マップの画素の第２のセットに対応する。命令は更に、制御回路に、画素の第３のセットから１つ以上の空画素を特定させ、当該１つ以上の空画素の各空画素は、深度値が割り当てられていない第１の深度マップの画素である。命令は更に、制御回路に、１つ以上の空画素の各空画素に、第２の深度マップの画素の第２のセットの対応する画素の深度値に基づく各深度値を割り当てることにより、第１の深度マップを更新させ、空画素に対する対応する画素は、当該空画素と同じ物理的位置を表す、第２の深度マップの画素の第２のセットの画素である。
【０１０３】
実施形態１５は、実施形態１４の非一時的コンピューター可読媒体を含む。実施形態１５において、第１の深度マップが、第２の深度マップの第２の解像度より高い第１の解像度を有する場合、命令は更に、制御回路に、１つ以上の空画素に属した又は属する少なくとも１つの画素に対して、当該少なくとも１つの画素に隣接しかつ深度値が割り当てられていない、第１の深度マップの１つ以上の隣接する空画素の各セットを特定させ、１つ以上の隣接する空画素の各セットに、少なくとも１つの画素に割り当てられた又は割り当てられるべき深度値を割り当てさせる。
【０１０４】
実施形態１６は、実施形態１５の非一時的コンピューター可読媒体を含む。実施形態１６において、命令は、制御回路に、少なくとも１つの画素を包囲する画素の領域における全ての空画素として、１つ以上の隣接する空画素の各セットを特定させ、制御回路は、第１の深度マップの解像度と第２の深度マップの解像度との比に基づき、領域のサイズを求めるように構成されている。
【０１０５】
実施形態１７は、実施形態１４〜１６のいずれか１つの非一時的コンピューター可読媒体を含む。実施形態１７において、命令は更に、制御回路に、１つ以上の空画素に属した又は属する各画素に対して、画素の各中心位置を求めることと、画素によって表される物理的位置の各座標として、当該画素の中心位置の上に射影する３Ｄ座標であって、当該３Ｄ座標の成分が画素に割り当てられた又は割り当てられるべき深度値に等しい、３Ｄ座標を求めることと、各３Ｄ座標に基づいて点群を生成することとを実施させる。
【０１０６】
本開示の実施形態１８は、１つ以上の深度マップを更新する方法に関する。実施形態１８において、方法は、カメラ画像処理システムの制御回路により第１の深度マップを受け取ることを含み、当該第１の深度マップは、カメラ画像処理システムの非一時的コンピューター可読媒体から、又は当該カメラ画像処理システムの通信インターフェースを介して受け取られ、当該通信インターフェースは、第１のタイプの深度検知カメラでありかつ第１のカメラ視野を有する第１のカメラと通信するように構成され、第１の深度マップは、通信インターフェースが通信するように構成される第１のカメラによって検知される情報に基づいて生成され、第１の深度マップは、第１のカメラ視野における各物理的位置の第１のセットを表す画素の第１のセットを含み、当該画素の第１のセットは、各物理的位置の第１のセットに対する各深度値の第１のセットを示し、当該各深度値の第１のセットは、通信インターフェースが通信するように構成される第１のカメラに関連する。方法は、第２の深度マップを受け取ることを更に含み、当該第２の深度マップは、カメラ画像処理システムの非一時的コンピューター可読媒体から、又は当該カメラ画像処理システムの通信インターフェースを介して受け取られ、当該通信インターフェースは、第１のタイプの深度検知カメラとは異なる第２のタイプの深度検知カメラであり、かつ第１のカメラ視野とオーバーラップする第２のカメラ視野を有する、第２のカメラと通信するように構成され、第２の深度マップは、通信インターフェースが通信するように構成される第２のカメラによって検知される情報に基づいて生成され、第２の深度マップは、第２のカメラ視野における各物理的位置の第２のセットを表す画素の第２のセットを含み、当該画素の第２のセットは、各物理的位置の第２のセットに対する各深度値の第２のセットを示し、当該各深度値の第２のセットは、通信インターフェースが通信するように構成される第２のカメラに関連する。方法は、各物理的位置の第２のセットも表す、第１の深度マップの画素の第３のセットを特定することを更に含み、当該画素の第３のセットは第２の深度マップの画素の第２のセットに対応する。方法は、画素の第３のセットから１つ以上の空画素を特定することを更に含み、当該１つ以上の空画素の各空画素は、深度値が割り当てられていない第１の深度マップの画素である。方法は、１つ以上の空画素の各空画素に、第２の深度マップの画素の第２のセットの対応する画素の深度値に基づく各深度値を割り当てることにより、第１の深度マップを更新することを更に含み、空画素に対する対応する画素は、当該空画素と同じ物理的位置を表す、第２の深度マップの画素の第２のセットの画素である。
【０１０７】
実施形態１９は、実施形態１８の方法を含む。実施形態１９において、第１の深度マップが、第２の深度マップの第２の解像度より高い第１の解像度を有する場合、方法は、１つ以上の空画素に属した又は属する少なくとも１つの画素に対して、当該少なくとも１つの画素に隣接しかつ深度値が割り当てられていない、第１の深度マップの１つ以上の隣接する空画素の各セットを特定することと、１つ以上の隣接する空画素の各セットに、少なくとも１つの画素に割り当てられた又は割り当てられるべき深度値を割り当てることとを更に含む。
【０１０８】
実施形態２０は、実施形態１９の方法を含む。実施形態２０において、方法は、少なくとも１つの画素を包囲する画素の領域における全ての空画素として１つ以上の隣接する空画素の各セットを特定することを更に含み、制御回路は、第１の深度マップの解像度と第２の深度マップの解像度との比に基づいて、領域のサイズを求めるように構成される。
【０１０９】
種々の実施形態を上述してきたが、これらの実施形態は、限定としてではなく本発明の単なる説明及び例として提示されていることを理解すべきである。形式及び細部における種々の変更は本発明の趣旨及び範囲から逸脱することなく本発明内で行うことができることは当業者には明らかであろう。したがって、本発明の範囲（breadth and scope）は、上述の例示的な実施形態のいずれかによって限定されるべきではなく、添付の特許請求の範囲及びそれらの均等物によってのみ規定されるべきである。本明細書において論考された各実施形態、及び本明細書において引用された各引用文献の各特徴は、他の任意の実施形態の特徴と組み合わせて用いることができることも理解されるであろう。本明細書において論考された全ての特許及び刊行物は、引用することによりその全体が本明細書の一部をなす。
【図１Ａ】
2020201930.tif 000025
【図１Ｂ】
2020201930.tif 000026
【図１Ｃ】
2020201930.tif 000027
【図１Ｄ】
2020201930.tif 000028
【図１Ｅ】
2020201930.tif 000029
【図２】
2020201930.tif 000030
【図３Ａ】
2020201930.tif 000031
【図３Ｂ】
2020201930.tif 000032
【図３Ｃ】
2020201930.tif 000033
【図３Ｄ】
2020201930.tif 000034
【図３Ｅ】
2020201930.tif 000035
【図３Ｆ】
2020201930.tif 000036
【図３Ｇ】
2020201930.tif 000037
【図３Ｈ】
2020201930.tif 000038
【図４】
2020201930.tif 000039
【図５Ａ】
2020201930.tif 000040
【図５Ｂ】
2020201930.tif 000041
【図６Ａ】
2020201930.tif 000042
【図６Ｂ】
2020201930.tif 000043
【図６Ｃ】
2020201930.tif 000044
【図６Ｄ】
2020201930.tif 000045
【図６Ｅ】
2020201930.tif 000046
【図６Ｆ】
2020201930.tif 000047
【図６Ｇ】
2020201930.tif 000048
【図６Ｈ】
2020201930.tif 000049
【図６Ｉ】
2020201930.tif 000050
【図７−１】
2020201930.tif 000051
【図７−２】
2020201930.tif 000052
【図８】
2020201930.tif 000053
【図９Ａ】
2020201930.tif 000054
【図９Ｂ】
2020201930.tif 000055
【図９Ｃ】
2020201930.tif 000056
【手続補正書】
【提出日】令和1年12月25日(2019.12.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
（ｉ）第１のカメラ視野を有する第１のカメラ、及び（ｉｉ）前記第１のカメラ視野とオーバーラップする第２のカメラ視野を有する第２のカメラと通信するように構成された通信インターフェースと、
前記通信インターフェースが前記第１のカメラ及び前記第２のカメラと通信するとき、
前記第１のカメラによって検知される情報に基づいて生成される第１の深度マップを受け取ることであって、該第１の深度マップは、前記第１のカメラ視野における各物理的位置の第１のセットを表す画素の第１のセットを含み、該画素の第１のセットは、前記各物理的位置の第１セットに対する各深度値の第１のセットを示す、第１の深度マップを受け取ることと、
前記第２のカメラによって検知される情報に基づいて生成される第２の深度マップを受け取ることであって、該第２の深度マップは、前記第２のカメラ視野における各物理的位置の第２のセットを表す画素の第２のセットを含み、該画素の第２のセットは、前記各物理的位置の第２セットに対する各深度値の第２のセットを示す、第２の深度マップを受け取ることと、
前記第１の深度マップの１つ以上の画素のサブセットの各画素に、前記第２の深度マップの前記画素の第２のセットの対応する画素の深度値に基づく各深度値を割り当てることにより、前記第１の深度マップを更新することと、
を行うように構成された制御回路と、
を備える、コンピューティングシステム。
【請求項２】
前記制御回路は、
前記各物理的位置の第２のセットも表す、前記第１の深度マップの画素の第３のセットを特定することと、
前記第１の深度マップの前記画素の第３のセットから１つ以上の空画素を特定することであって、該１つ以上の空画素の各空画素は、深度値が割り当てられていない前記第１の深度マップの画素である、１つ以上の空画素を特定することと、
を行うように更に構成され、
前記１つ以上の画素のサブセットは、前記１つ以上の空画素であり、前記１つ以上の空画素の各空画素は、前記第２の深度マップの前記画素の第２のセットの前記対応する画素に基づいて更新される、請求項１に記載のコンピューティングシステム。
【請求項３】
前記１つ以上の空画素の各空画素に対する前記対応する画素は、該空画素と同じ物理的位置を表す、前記第２の深度マップの前記画素の第２のセットの画素である、請求項２に記載のコンピューティングシステム。
【請求項４】
前記制御回路は、前記第２の深度マップの前記対応する画素の前記深度値に基づき、かつ、前記第１のカメラと前記第２のカメラとの間の空間的関係を定義する変換関数に基づき、前記１つ以上の空画素の各空画素に割り当てるべき前記各深度値を求めるように構成されており、前記各深度値の第１のセットは前記第１のカメラに関連する深度を表し、前記各深度値の第２のセットは前記第２のカメラに関連する深度を表す、請求項３に記載のコンピューティングシステム。
【請求項５】
前記第２の深度マップの前記画素の第２のセットは、各画素座標のセットを有し、前記制御回路は、前記各画素座標のセットに基づき、かつ前記第１のカメラと前記第２のカメラとの間の空間的関係を定義する前記変換関数に基づき、各画素座標の追加のセットを求めることにより、前記第１の深度マップの前記画素の第３のセットを特定するように構成され、前記各画素座標の追加のセットは、前記画素の第３のセットを特定する、請求項４に記載のコンピューティングシステム。
【請求項６】
前記制御回路は、前記第１の深度マップが、前記第２の深度マップの第２の解像度より高い第１の解像度を有する場合、
前記１つ以上の空画素に属した又は属する少なくとも１つの画素に対して、該少なくとも１つの画素に隣接しかつ深度値が割り当てられていない、前記第１の深度マップの１つ以上の隣接する空画素の各セットを特定し、
前記１つ以上の隣接する空画素の各セットに、前記少なくとも１つの画素に割り当てられた又は割り当てられるべき深度値を割り当てる、
ことにより、前記第１の深度マップを更に更新するように構成されている、請求項２に記載のコンピューティングシステム。
【請求項７】
前記制御回路は、前記少なくとも１つの画素を包囲する画素の領域における全ての空画素として、前記１つ以上の隣接する空画素の各セットを特定するように構成され、前記制御回路は、前記第１の解像度と前記第２の解像度との比に基づき、前記領域のサイズを設定するように構成されている、請求項６に記載のコンピューティングシステム。
【請求項８】
前記制御回路は、
前記１つ以上の空画素に属した又は属する第１の画素に隣接し、かつ前記１つ以上の空画素に属した又は属する第２の画素に隣接する、１つ以上の隣接する空画素のセットを特定し、
前記１つ以上の隣接する空画素のセットに、前記第１の画素に割り当てられた又は割り当てられるべき第１の深度値と、前記第２の画素に割り当てられた又は割り当てられるべき第２の深度値との平均である平均深度値を割り当てる、
ことにより、前記第１の深度マップを更に更新するように構成されている、請求項２に記載のコンピューティングシステム。
【請求項９】
前記制御回路は、前記１つ以上の空画素に属した又は属する各画素に対して、
該画素の各中心位置を求め、
該画素によって表される物理的位置の各座標として、該画素の前記中心位置の上に射影する３Ｄ座標であって、該３Ｄ座標の成分が該画素に割り当てられた又は割り当てられるべき深度値に等しい、３Ｄ座標を特定する、
ように構成されている、請求項２に記載のコンピューティングシステム。
【請求項１０】
前記制御回路は、前記１つ以上の空画素に属した又は属する各画素に対して、前記各３Ｄ座標に基づいて点群を生成するように構成されている、請求項９に記載のコンピューティングシステム。
【請求項１１】
前記制御回路は、前記第１の深度マップの前記１つ以上の画素の各画素が前記画素の第２のセットの複数の画素に対応するように、前記第１の深度マップが前記第２の深度マップの第２の解像度より低い第１の解像度を有するとき、
前記第２の深度マップの前記画素の第２のセットの対応する画素の各深度値の平均に基づき、前記第１の深度マップの前記１つ以上の空画素の各空画素に割り当てるべき前記各深度値を求める、
ように構成されている、請求項２に記載のコンピューティングシステム。
【請求項１２】
前記コンピューティングシステムはロボット制御システムの一部であり、前記通信インターフェースが前記第１のカメラ、前記第２のカメラ及びロボットと通信するとき、前記制御回路は、
前記第１の深度マップが前記第２の深度マップの深度値に基づいて更新された後、前記第１の深度マップに基づいてロボット移動コマンドを生成し、
前記通信インターフェースを介して前記ロボット移動コマンドを前記ロボットに通信する、
ように構成されている、請求項２に記載のコンピューティングシステム。
【請求項１３】
前記第１の深度マップ及び前記第２の深度マップを記憶するように構成された非一時的なコンピューター可読媒体を更に備え、前記制御回路は、前記非一時的なコンピューター可読媒体から前記第１の深度マップ及び前記第２の深度マップを受け取るように構成されている、請求項１に記載のコンピューティングシステム。
【請求項１４】
命令を有する非一時的コンピューター可読媒体であって、該命令は、コンピューティングシステムの制御回路によって実行されると、該制御回路に、
第１の深度マップを受け取ることであって、該第１の深度マップは、前記コンピューティングシステムの該非一時的コンピューター可読媒体から、又は、該コンピューティングシステムの通信インターフェースを介して受け取られ、該通信インターフェースは、第１のカメラ視野を有する第１のカメラと通信するように構成され、前記第１の深度マップは、前記通信インターフェースが通信するように構成される前記第１のカメラによって検知される情報に基づいて生成され、前記第１の深度マップは、前記第１のカメラ視野における各物理的位置の第１のセットを表す画素の第１のセットを含み、該画素の第１のセットは、前記各物理的位置の第１のセットに対する各深度値の第１のセットを示す、第１の深度マップを受け取ることと、
第２の深度マップを受け取ることであって、該第２の深度マップは、前記コンピューティングシステムの該非一時的コンピューター可読媒体から、又は、該コンピューティングシステムの前記通信インターフェースを介して受け取られ、該通信インターフェースは、前記第１のカメラ視野とオーバーラップする第２のカメラ視野を有する、第２のカメラと通信するように構成され、前記第２の深度マップは、前記通信インターフェースが通信するように構成される前記第２のカメラによって検知される情報に基づいて生成され、前記第２の深度マップは、前記第２のカメラ視野における各物理的位置の第２のセットを表す画素の第２のセットを含み、該画素の第２のセットは、前記各物理的位置の第２のセットに対する各深度値の第２のセットを示す、第２の深度マップを受け取ることと、 
前記第１の深度マップの１つ以上の画素のサブセットの各画素に、前記第２の深度マップの前記画素の第２のセットの対応する画素の深度値に基づく各深度値を割り当てることにより、前記第１の深度マップを更新することと、
を行わせる、非一時的コンピューター可読媒体。
【請求項１５】
前記命令は、前記制御回路によって実行されると、前記制御回路に、
前記各物理的位置の第２のセットも表す、前記第１の深度マップの画素の第３のセットを特定することと、
前記第１の深度マップの前記画素の第３のセットから１つ以上の空画素を特定することであって、該１つ以上の空画素の各空画素は、深度値が割り当てられていない前記第１の深度マップの画素である、１つ以上の空画素を特定することと、
を更に行わせ、
前記１つ以上の画素のサブセットは、前記１つ以上の空画素であり、前記１つ以上の空画素の各空画素は、前記第２の深度マップの前記画素の第２のセットの前記対応する画素に基づいて更新される、請求項１４に記載の非一時的なコンピューター可読媒体。
【請求項１６】
前記１つ以上の空画素の各空画素に対する前記対応する画素は、該空画素と同じ物理的位置を表す、前記第２の深度マップの前記画素の第２のセットの画素である、請求項１５に記載の非一時的なコンピューター可読媒体。
【請求項１７】
前記命令は、前記制御回路に、前記第１の深度マップが、前記第２の深度マップの第２の解像度より高い第１の解像度を有する場合、
更に、前記１つ以上の空画素に属した又は属する少なくとも１つの画素に対して、該少なくとも１つの画素に隣接しかつ深度値が割り当てられていない、前記第１の深度マップの１つ以上の隣接する空画素の各セットを特定させ、
前記１つ以上の隣接する空画素の各セットに、前記少なくとも１つの画素に割り当てられた又は割り当てられるべき深度値を割り当てさせることにより、
前記第１の深度マップを更に更新させる、請求項１５に記載の非一時的コンピューター可読媒体。
【請求項１８】
コンピューティングシステムの制御回路により第１の深度マップを受け取ることであって、該第１の深度マップは、前記コンピューティングシステムの非一時的コンピューター可読媒体から、又は該コンピューティングシステムの通信インターフェースを介して受け取られ、該通信インターフェースは、第１のカメラ視野を有する第１のカメラと通信するように構成され、前記第１の深度マップは、前記通信インターフェースが通信するように構成される前記第１のカメラによって検知される情報に基づいて生成され、前記第１の深度マップは、前記第１のカメラ視野における各物理的位置の第１のセットを表す画素の第１のセットを含み、該画素の第１のセットは、前記各物理的位置の第１のセットに対する各深度値の第１のセットを示す、第１の深度マップを受け取ることと、
前記制御回路により第２の深度マップを受け取ることであって、該第２の深度マップは、前記コンピューティングシステムの前記非一時的コンピューター可読媒体から、又は該コンピューティングシステムの前記通信インターフェースを介して受け取られ、該通信インターフェースは、前記第１のカメラ視野とオーバーラップする第２のカメラ視野を有する、第２のカメラと通信するように更に構成され、前記第２の深度マップは、前記通信インターフェースが通信するように構成される前記第２のカメラによって検知される情報に基づいて生成され、前記第２の深度マップは、前記第２のカメラ視野における各物理的位置の第２のセットを表す画素の第２のセットを含み、該画素の第２のセットは、前記各物理的位置の第２のセットに対する各深度値の第２のセットを示す、第２の深度マップを受け取ることと、
前記第１の深度マップの１つ以上の画素のサブセットの各画素に、前記第２の深度マップの前記画素の第２のセットの対応する画素の深度値に基づく各深度値を割り当てることにより、前記第１の深度マップを更新することと、
を含む、方法。
【請求項１９】
前記各物理的位置の第２のセットも表す、前記第１の深度マップの画素の第３のセットを特定することと、
前記第１の深度マップの前記画素の第３のセットから１つ以上の空画素を特定することであって、該１つ以上の空画素の各空画素は、深度値が割り当てられていない前記第１の深度マップの画素である、１つ以上の空画素を特定することと、
を更に含み、
前記１つ以上の画素のサブセットは、前記１つ以上の空画素であり、前記１つ以上の空画素の各空画素は、前記第２の深度マップの前記画素の第２のセットの前記対応する画素に基づいて更新される、請求項１８に記載の方法。
【請求項２０】
前記第１の深度マップは、前記第２の深度マップの第２の解像度より高い第１の解像度を有し、前記方法は、
前記１つ以上の空画素に属した又は属する少なくとも１つの画素に対して、該少なくとも１つの画素に隣接しかつ深度値が割り当てられていない、前記第１の深度マップの１つ以上の隣接する空画素の各セットを特定することと、
前記１つ以上の隣接する空画素の各セットに、前記少なくとも１つの画素に割り当てられた又は割り当てられるべき深度値を割り当てることと、
を更に含む、請求項１９に記載の方法。