(57)【特許請求の範囲】
【請求項１】
計算システムであって、
非一時的コンピュータ可読媒体と、
処理回路と、を備え、
前記処理回路は、一つ以上の物体に対してそれぞれの一つ以上の物体構造を記述する空間構造情報が前記非一時的コンピュータ可読媒体に記憶されるとき、及び前記一つ以上の物体を記述する２次元画像情報が前記非一時的コンピュータ可読媒体に記憶されるときに、
前記空間構造情報に基づいて、前記一つ以上の物体構造のうちの物体構造の隅角を表す３次元位置を識別することと、
前記空間構造情報に基づいて、前記３次元位置から延び、前記物体構造のエッジと平行な３次元ベクトルを識別することと、
前記３次元位置に対応する２次元位置を、前記２次元画像情報内で決定することと、
前記３次元ベクトルに対応する２次元ベクトルを、前記２次元画像情報内で決定することと、
前記２次元位置に基づいて、前記２次元画像情報内でエッジ検出領域を決定することと、
前記一つ以上の物体構造のいずれの物体エッジも表さない候補エッジのクラスタを、前記候補エッジと前記２次元ベクトルとの比較に従って、前記エッジ検出領域内で識別することと、
前記識別された候補エッジのクラスタの一部ではない候補エッジを、２次元物体エッジとして識別することと、
前記２次元物体エッジに基づいて、前記空間構造情報のセグメンテーションを実行することと、
を行うように構成されている、計算システム。
【請求項２】
前記３次元ベクトルと平行な前記物体構造の前記エッジは、前記物体構造の第一のエッジであり、
前記２次元画像情報から識別される前記２次元物体エッジは、前記物体構造の第二のエッジを表す、請求項１に記載の計算システム。
【請求項３】
前記空間構造情報は、前記物体構造上の複数の位置について奥行き情報を記述する点群を含み、
前記２次元画像情報は、奥行き情報を有しない２次元画像である、請求項１に記載の計算システム。
【請求項４】
前記処理回路は、前記候補エッジのクラスタをフィルタリングして前記２次元画像情報から取り除き、更新された２次元画像情報を生成するようにさらに構成され、
前記２次元物体エッジは、前記更新された２次元画像情報の中に記述される候補エッジの中から識別される、請求項１に記載の計算システム。
【請求項５】
前記処理回路は、前記候補エッジのクラスタを、それぞれの向きが前記２次元ベクトルの向きに合致しない候補エッジとして識別するように構成されている、請求項１に記載の計算システム。
【請求項６】
前記処理回路は、前記候補エッジのクラスタを、それぞれの向きが実質的に同じである、前記エッジ検出領域の中の候補エッジの集合として識別するように構成されている、請求項１に記載の計算システム。
【請求項７】
前記処理回路は、前記候補エッジのクラスタを、定義された近接状態を満たすそれぞれの位置を有する、前記エッジ検出領域の中の候補エッジの集合として識別するように構成されている、請求項１に記載の計算システム。
【請求項８】
前記処理回路は、前記候補エッジのクラスタを、実質的に同一直線上にある、前記エッジ検出領域の中の候補エッジの集合として識別するように構成される、請求項１に記載の計算システム。
【請求項９】
前記処理回路は、定義された長さの閾値よりも小さい、それぞれの長さを有する候補エッジの集合を、前記エッジ検出領域の中で識別すると共に、前記候補エッジの当該集合をフィルタリングして前記２次元画像情報から取り除くようにさらに構成されている、請求項１に記載の計算システム。
【請求項１０】
前記処理回路は、
前記２次元位置から延び、定義された最小物体サイズを表す、前記２次元画像情報の第一の領域を識別することと、
前記２次元位置から延び、定義された最大物体サイズを表す、前記２次元画像情報の第二の領域を識別することと、
前記第一の領域の外側でかつ前記第二の領域内にある領域として、前記エッジ検出領域を決定することと、
によって、前記エッジ検出領域を識別するように構成されている、請求項１に記載の計算システム。
【請求項１１】
前記３次元ベクトルは、第一の３次元ベクトルであり、前記物体構造の第一のエッジを表し、
前記処理回路は、
前記２次元ベクトルに対応し、前記物体構造の第二のエッジを表す、第二の３次元ベクトルを識別することと、
前記第一の３次元ベクトルと前記第二の３次元ベクトルとの間にある、前記物体構造上の位置と一致する、前記空間構造情報の一部分を抽出することと、
によって、前記空間構造情報のセグメンテーションを実行するように構成されている、請求項１に記載の計算システム。
【請求項１２】
前記空間構造情報は、空間構造感知装置から受信されるか、又は前記空間構造感知装置により生成される情報に基づいており、
前記２次元画像情報は、２次元画像感知装置の第二のカメラから受信されるか、又は前記２次元画像感知装置により生成される情報に基づいている、請求項１に記載の計算システム。
【請求項１３】
前記クラスタの前記候補エッジと前記２次元ベクトルとの前記比較は、前記候補エッジのそれぞれの向きと、前記２次元ベクトルの向きとの比較を含む、請求項１に記載の計算システム。
【請求項１４】
命令を記憶する非一時的コンピュータ可読媒体であって、
前記命令は、処理回路により実行されるとき、ならびに前記非一時的コンピュータ可読媒体が、一つ以上の物体のうちのそれぞれの一つ以上の物体構造を記述する空間構造情報と、前記物体構造の２次元画像情報を記憶しているときに、
前記空間構造情報に基づいて、前記一つ以上の物体構造のうちの物体構造の隅角を表す３次元位置を識別することと、
前記空間構造情報に基づいて、前記３次元位置から延び、前記物体構造のエッジと平行な３次元ベクトルを識別することと、
前記３次元位置に対応する２次元位置を、前記２次元画像情報内で決定することと、
前記３次元ベクトルに対応する２次元ベクトルを、前記２次元画像情報内で決定することと、
前記２次元位置に基づいて、前記２次元画像情報内でエッジ検出領域を決定することと、
前記一つ以上の物体構造のいずれの物体エッジも表さない候補エッジのクラスタを、前記候補エッジと前記２次元ベクトルとの比較に従って、前記エッジ検出領域内で識別することと、
前記識別された候補エッジのクラスタの一部ではない候補エッジを、２次元物体エッジとして識別することと、
前記２次元物体エッジに基づいて、前記空間構造情報のセグメンテーションを実行することと、
を前記処理回路に行わせる、非一時的コンピュータ可読媒体。
【請求項１５】
前記空間構造データは、前記物体構造上の複数の位置について奥行き情報を記述する点群を含み、
前記２次元画像情報は、奥行き情報を有しない２次元画像である、請求項１４に記載の非一時的コンピュータ可読媒体。
【請求項１６】
前記候補エッジのクラスタをフィルタリングして前記２次元画像情報から取り除き、更新された２次元画像情報を生成することを、前記処理回路に行わせる命令をさらに含み、
前記２次元物体エッジは、前記更新された２次元画像情報の中に記述される候補エッジの中から識別される、請求項１４に記載の非一時的コンピュータ可読媒体。
【請求項１７】
前記候補エッジのクラスタを、それぞれの向きが前記２次元ベクトルの前記向きに合致しない候補エッジとして識別することを、前記処理回路に行わせる命令をさらに含む、請求項１４に記載の非一時的コンピュータ可読媒体。
【請求項１８】
前記候補エッジのクラスタを、それぞれの向きが実質的に同じである、前記エッジ検出領域の中の候補エッジの集合として識別することを、前記処理回路に行わせる命令をさらに含む、請求項１４に記載の非一時的コンピュータ可読媒体。
【請求項１９】
前記２次元位置から延び、定義された最小物体サイズを表す、前記２次元画像情報の第一の領域を識別することと、
前記２次元位置から延び、定義された最大物体サイズを表す、前記２次元画像情報の第二の領域を識別することと、
前記第一の領域の外側で、前記第二の領域内にある領域として、前記エッジ検出領域を決定することと、
によって、前記エッジ検出領域を識別することを前記処理回路に行わせる命令をさらに含む、請求項１４に記載の非一時的コンピュータ可読媒体。
【請求項２０】
計算システムによって行われる方法であって、
空間構造情報に基づいて、一つ以上の物体構造のうちの物体構造の隅角を表す３次元位置を識別することであって、前記計算システムが、一つ以上の物体に対して前記一つ以上の物体構造を記述する前記空間構造情報を記憶すると共に、前記一つ以上の物体を表す２次元画像情報を記憶するように構成された非一時的コンピュータ可読媒体を備えることと、
前記空間構造情報に基づいて、前記３次元位置から延び、前記物体構造のエッジと平行な３次元ベクトルを識別することと、
前記３次元位置に対応する２次元位置を、前記２次元画像情報内で決定することと、
前記３次元ベクトルに対応する２次元ベクトルを、前記２次元画像情報内で決定することと、
前記２次元位置に基づいて、前記２次元画像情報内でエッジ検出領域を決定することと、
前記一つ以上の物体構造のいずれの物体エッジも表さない候補エッジのクラスタを、前記候補エッジと前記２次元ベクトルとの比較に従って、前記エッジ検出領域内で識別することと、
前記識別された候補エッジのクラスタの一部ではない候補エッジを、２次元物体エッジとして識別することと、
前記２次元物体エッジに基づいて、前記空間構造情報のセグメンテーションを実行することと、を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、候補エッジ及び／又は空間構造情報を処理する計算システムならびに方法に関連する。例えば、本明細書の実施形態は、テクスチャフィルタリング及びエッジ検出に関連する。
【背景技術】
【０００２】
自動化がより一般的になるにつれ、倉庫や製造環境など、より多くの環境でロボットが使用されている。例えば、ロボットは、倉庫でパレットに品物を積む、もしくはパレットから品物を降ろす、又は工場でコンベヤベルトから物体を拾い取るように使用されてもよい。ロボットの動きは、固定されていてもよく、又は倉庫もしくは工場の中の一つ以上のセンサーにより得られる、空間構造情報などの入力に基づいてもよい。ロボット誘導は、空間構造データに従って行われる物体認識によって補助されうる。それゆえ、物体認識を改善する方法及び技術は価値がある。
【発明の概要】
【０００３】
本開示の一態様は、候補エッジを処理するための命令を有する、計算システム、方法、及び／又は非一時的コンピュータ可読媒体に関する。一部の実例では、計算システムは、命令を実行することによってなど、方法を行うための処理回路を含んでもよい。一実施形態では、方法は、一つ以上の物体に対してそれぞれの一つ以上の物体構造を記述する空間構造情報が非一時的コンピュータ可読媒体に記憶されるとき、及び一つ以上の物体を記述する２次元画像情報が非一時的コンピュータ可読媒体に記憶されるときに行われてもよい。一実施形態では、方法は、空間構造情報に基づいて、一つ以上の物体構造のうちの物体構造の隅角を表す３次元位置を識別することと、空間構造情報に基づいて、３次元位置から延び、物体構造のエッジと平行な３次元ベクトルを識別することと、３次元位置に対応する２次元位置を、２次元画像情報内で決定することと、３次元ベクトルに対応する２次元ベクトルを、２次元画像情報内で決定することと、２次元位置に基づいて、２次元画像情報内でエッジ検出領域を決定することと、一つ以上の物体構造のいずれの物体エッジも表さない候補エッジのクラスタを、候補エッジと２次元ベクトルとの比較に従って、エッジ検出領域内で識別することと、識別された候補エッジのクラスタの一部ではない候補エッジを、２次元物体エッジとして識別することと、２次元物体エッジに基づいて、空間構造情報のセグメンテーションを実行することとを含んでもよい。
【図面の簡単な説明】
【０００４】
【図１Ａ】本明細書の実施形態と整合する、空間構造感知装置と、空間構造情報及び２次元画像情報にアクセスして処理するために構成される、計算システムとを示す。
【図１Ｂ】本明細書の実施形態と整合する、空間構造感知装置と、空間構造情報及び２次元画像情報にアクセスして処理するために構成される、計算システムとを示す。
【図１Ｃ】本明細書の実施形態と整合する、空間構造感知装置と、空間構造情報及び２次元画像情報にアクセスして処理するために構成される、計算システムとを示す。
【図１Ｄ】本明細書の実施形態と整合する、空間構造感知装置と、空間構造情報及び２次元画像情報にアクセスして処理するために構成される、計算システムとを示す。
【図１Ｅ】本明細書の実施形態と整合する、空間構造感知装置と、空間構造情報及び２次元画像情報にアクセスして処理するために構成される、計算システムとを示す。
【図１Ｆ】本明細書の実施形態と整合する、空間構造感知装置と、空間構造情報及び２次元画像情報にアクセスして処理するために構成される、計算システムとを示す。
【０００５】
【図２Ａ】本明細書の実施形態と整合する、空間構造情報及び２次元画像情報を処理するように構成される、計算システムを示すブロック図を提供する。
【図２Ｂ】本明細書の実施形態と整合する、空間構造情報及び２次元画像情報を処理するように構成される、計算システムを示すブロック図を提供する。
【図２Ｃ】本明細書の実施形態と整合する、空間構造情報及び２次元画像情報を処理するように構成される、計算システムを示すブロック図を提供する。
【０００６】
【図３Ａ】本明細書の実施形態による、２次元画像情報の中の空間構造情報及び候補エッジを処理する方法を示す、フロー図を提供する。
【図３Ｂ】本明細書の実施形態による、２次元画像情報の中の空間構造情報及び候補エッジを処理する方法を示す、フロー図を提供する。
【０００７】
【図４Ａ】本明細書の実施形態と整合する、空間構造情報及び２次元画像情報を処理するためのシステムの実施例を示す。
【０００８】
【図４Ｂ】本明細書の実施形態と整合する、２次元画像情報の実施例を示す。
【図４Ｃ】本明細書の実施形態と整合する、２次元画像情報の実施例を示す。
【０００９】
【図４Ｄ】本明細書の実施形態と整合する、空間構造情報の実施例を示す。
【図４Ｅ】本明細書の実施形態と整合する、空間構造情報の実施例を示す。
【図４Ｆ】本明細書の実施形態と整合する、空間構造情報の実施例を示す。
【図４Ｇ】本明細書の実施形態と整合する、空間構造情報の実施例を示す。
【００１０】
【図５Ａ】本明細書の実施形態と整合する、空間構造情報の実施例を示す。
【図５Ｂ】本明細書の実施形態と整合する、空間構造情報の実施例を示す。
【図５Ｃ】本明細書の実施形態と整合する、空間構造情報の実施例を示す。
【図５Ｄ】本明細書の実施形態と整合する、空間構造情報の実施例を示す。
【図５Ｅ】本明細書の実施形態と整合する、空間構造情報の実施例を示す。
【００１１】
【図５Ｆ】本明細書の実施形態と整合する、２次元画像情報の実施例を示す。
【図５Ｇ】本明細書の実施形態と整合する、２次元画像情報の実施例を示す。
【００１２】
【図５Ｈ】本明細書の実施形態と整合する、エッジ検出領域の実施例を示す。
【図５Ｉ】本明細書の実施形態と整合する、エッジ検出領域の実施例を示す。
【図５Ｊ】本明細書の実施形態と整合する、エッジ検出領域の実施例を示す。
【００１３】
【図６Ａ】本明細書の実施形態と整合する、候補エッジのクラスタの実施例を示す。
【図６Ｂ】本明細書の実施形態と整合する、候補エッジのクラスタの実施例を示す。
【図６Ｃ】本明細書の実施形態と整合する、候補エッジのクラスタの実施例を示す。
【図６Ｄ】本明細書の実施形態と整合する、候補エッジのクラスタの実施例を示す。
【図６Ｅ】本明細書の実施形態と整合する、候補エッジのクラスタの実施例を示す。
【図６Ｆ】本明細書の実施形態と整合する、候補エッジのクラスタの実施例を示す。
【００１４】
【図６Ｇ】本明細書の実施形態と整合する、更新された２次元画像情報の実施例を示す。
【００１５】
【図７Ａ】本明細書の実施形態と整合する、空間構造情報のセグメンテーションの実施例を示す。
【図７Ｂ】本明細書の実施形態と整合する、空間構造情報のセグメンテーションの実施例を示す。
【図７Ｃ】本明細書の実施形態と整合する、空間構造情報のセグメンテーションの実施例を示す。
【図７Ｄ】本明細書の実施形態と整合する、空間構造情報のセグメンテーションの実施例を示す。
【発明を実施するための形態】
【００１６】
本開示は、空間構造情報（例えば、空間構造感知装置によって生成される点群）及び／又は２次元画像情報（例えば、２次元画像感知装置によって生成される２次元画像）を処理するためのシステムならびに方法を提供する。本明細書の実施形態の一態様は、空間構造情報のセグメント化に関する。例えば、空間構造情報は、物体の集合（例えば、箱の集合）を表してもよく、個々の物体（例えば、個々の箱）を表す別個の部分にセグメント化されてもよい。一部の事例では、空間構造情報をセグメント化するのを支援するために、２次元画像情報を使用してもよい。例えば、２次元画像情報は、視覚的なパターン、視覚的マーキング、又はその他の視覚的詳細を指しうる視覚的なテクスチャを含みうる。一部の事例では、視覚的マーキングは、物理的エッジ又は物理的隅角など、物体のうちの一つの物理的特徴を捕捉しうる、候補エッジを形成しうる（また単に物体のうちの一つのエッジ又は隅角と呼んでもよい）。一部の事例では、物理的特徴（例えば、内部エッジ）は、空間構造情報からのみ検出するのが困難でありうる。したがって、一部の実施例において、２次元画像情報の候補エッジは、空間構造情報のセグメンテーションを支援しうる、物理的特徴に関する情報を提供するために使用されうる。
【００１７】
本明細書の実施形態の一態様は、偽エッジでありうる候補エッジの識別に関する。偽エッジは、例えば、実際に物理的エッジもその他の物理的特徴も表さない、候補エッジでありうる。例えば、偽エッジは、物理的エッジの２次元画像情報における現れ方に類似しうるが、実際にはその他の特徴（例えば、物体上に配置されたテキスト又はグラフィック）を表してもよく、又は実際に画像ノイズによって生じるアーチファクトであってもよい。したがって、本明細書の実施形態は、物理的エッジを表す候補エッジを検索するときに、偽エッジを識別することと、２次元画像情報から偽エッジをフィルタリングするか、又は偽エッジを検討から除去することを含みうる。
【００１８】
一部の事例では、偽エッジは、以下でより詳細に論じる、２次元隅角の向き又は３次元隅角の向きなど、隅角の向きと偽エッジの向きを比較することによって識別されうる。３次元隅角の向きは、例えば、一つ以上の３次元ベクトルによって画定されうる。一部の実例では、一つ以上の３次元ベクトルは、物体の特定の物理的隅角から延びる、一つ以上の物理的エッジを表しうる。一つ以上の３次元ベクトルは、一部の事例で、一つ以上のエッジ向きを示しうる。一実施形態では、２次元隅角の向きは、空間構造情報（３次元空間と呼んでもよい）の基準フレームから、２次元画像情報（２次元空間と呼んでもよい）の基準フレームまで、３次元隅角の向きを投影することによって決定されうる。こうした実施形態では、偽エッジは、それらの向きが２次元隅角の向き及び／又は３次元隅角の向きに十分合致するかに基づいて識別されうる。
【００１９】
本明細書の実施形態の一態様は、候補エッジのクラスタリングに関し、これは２次元画像情報のどの候補エッジが、共通クラスタに属するべきかの識別を指しうる。候補エッジのクラスタリングは、例えば、候補エッジのより効率的な処理につながる場合がある。例えば、クラスタリングは、候補エッジを、個々の候補エッジごとではなく、クラスタごとに２次元画像情報からフィルタリングして取り除くことを可能にしうる。クラスタリングは、例えば、候補エッジのそれぞれの向きの類似性に基づいて、候補エッジのうちのどれが、同一直線上にあるか、すなわち、候補エッジ間の近接に基づいて、いかなる他の基準に基づいて、又はそれらの任意の組み合わせに基づいて行われうる。
【００２０】
図１Ａは、空間構造情報をセグメント化又はその他の方法で処理するためのシステム１００を示す（空間構造情報については、以下でより詳細に論じる）。図１Ａの実施形態では、システム１００は、計算システム１０１、空間構造感知装置１５１、及び２次元画像感知装置１５２を含みうる。一実施形態では、空間構造感知装置１５１は、空間構造情報（空間構造データとも呼ぶ）を生成するように構成されてもよく、空間構造情報を処理するように構成されうる計算システム１０１が、空間構造情報を利用可能にするように構成されてもよい。一部の事例では、２次元画像感知装置１５２は、以下でもより詳細に論じる、２次元画像情報（例えば、一つ以上の２次元画像）を生成するよう構成されてもよい。一部の実例では、計算システム１０１、空間構造感知装置１５１、及び２次元画像感知装置１５２は、倉庫又は工場など、同じ施設の中にあってもよい。一部の実例では、計算システム１０１、２次元画像感知装置１５２、及び／又は空間構造感知装置１５１は、相互に遠隔であってもよい。
【００２１】
一実施形態では、空間構造感知装置１５１及び／又は２次元画像感知装置１５２は、通信インターフェース及び／又はデータ記憶装置（また記憶装置と呼んでもよい）を介して、空間構造情報ならびに２次元画像情報を利用可能にするように構成されてもよい。例えば、図１Ｂは、図１Ａのシステム１００の実施形態である、システム１００Ａを描写する。システム１００Ａは、計算システム１０１と、空間構造感知装置１５１と、さらにデータ記憶装置１９８（又はいかなる他のタイプの非一時的コンピュータ可読媒体）とを含む。データ記憶装置１９８は、空間構造感知装置１５１／２次元画像感知装置１５２の一部であってもよく、又は空間構造感知装置１５１／２次元画像感知装置１５２から分離していてもよい。例えば、記憶装置１９８は、空間構造感知装置１５１から、及び２次元画像感知装置１５２から遠隔のデータセンターの中にあってもよく、空間構造感知装置１５１により生成される空間構造情報、及び／又は２次元画像感知装置１５２により生成される２次元画像情報を、受信ならびに記憶してもよい。この実施形態では、計算システム１０１は、データ記憶装置１９８から空間構造情報及び／又は２次元画像情報を読み出す（又はより広くは、受信する）ことによって、空間構造情報及び／又は２次元画像情報にアクセスするように構成されてもよい。
【００２２】
図１Ｂでは、記憶装置１９８は、また非一時的コンピュータ可読記憶装置と呼んでもよい、いかなるタイプの非一時的コンピュータ可読媒体（又は複数の媒体）を含んでもよい。こうした非一時的コンピュータ可読媒体又は記憶装置は、記憶情報（記憶データとも呼ぶ）を記憶し、記憶情報へのアクセスを提供するように構成されうる。非一時的コンピュータ可読媒体又は記憶装置の例としては、例えば、コンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消却可能プログラム可能読み取り専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、ソリッドステートドライブ、スタティックランダムアクセスメモリ（ＳＲＡＭ）、携帯型コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多目的ディスク（ＤＶＤ）、及び／又はメモリスティックなど、電子記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置、又はそれらのいかなる適切な組み合わせが挙げられうるが、これらに限定されない。
【００２３】
一実施形態では、計算システム１０１及び空間構造感知装置１５１は、ネットワークを介して空間構造情報を伝達するように構成されてもよい。同様に、計算システム１０１及び２次元画像感知装置１５２は、ネットワークを介して２次元画像情報を伝達するように構成されてもよい。例えば、図１Ｃは、図１Ａのシステム１００及び／又は図１Ｂのシステム１００Ａの実施形態である、システム１００Ｂを描写する。システム１００Ｂでは、計算システム１０１は、空間構造感知装置１５１からネットワーク１９９を介して空間構造情報を受信するように、かつ２次元画像感知装置１５２からネットワーク１９９を介して２次元画像情報を受信するように構成されてもよい。ネットワーク１９９によって、計算システム１０１が、本明細書の実施形態と整合する、空間構造情報及び／もしくは２次元画像情報を受信可能になるように、個々のネットワーク接続又は一連のネットワーク接続が提供されてもよい。
【００２４】
図１Ｃでは、ネットワーク１９９に、有線又は無線リンクを介して接続してもよい。有線リンクには、デジタル加入者回線（ＤＳＬ）、同軸ケーブル回線、又は光ファイバ回線が含まれてもよい。無線リンクには、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）、ＡＮＴ／ＡＮＴ＋、ＺｉｇＢｅｅ、Ｚ−Ｗａｖｅ、Ｔｈｒｅａｄ、Ｗｉ−Ｆｉ（登録商標）、Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ（ＷｉＭＡＸ（登録商標））、モバイルＷｉＭＡＸ（登録商標）、ＷｉＭＡＸ（登録商標）−Ａｄｖａｎｃｅｄ、ＮＦＣ、ＳｉｇＦｏｘ、ＬｏＲａ、Ｒａｎｄｏｍ  Ｐｈａｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ（ＲＰＭＡ）、Ｗｅｉｇｈｔｌｅｓｓ−Ｎ／Ｐ／Ｗ、赤外線チャネル、又は衛星バンドが含まれてもよい。無線リンクはまた、２Ｇ、３Ｇ、４Ｇ、又は５Ｇの資格がある規格を含む、モバイル機器間を通信する、いかなるセルラーネットワーク規格が含まれてもよい。無線規格は、例えば、ＦＤＭＡ、ＴＤＭＡ、ＣＤＭＡ、ＯＦＤＭ、又はＳＤＭＡといった、様々なチャネルアクセス方法を使用してもよい。一部の実施形態では、異なるタイプの情報を、異なるリンク及び規格によって伝送してもよい。他の実施形態では、同じタイプの情報を、異なるリンク及び規格によって伝送してもよい。ネットワーク通信は、例えば、ｈｔｔｐ、ｔｃｐ／ｉｐ、ｕｄｐ、イーサネット、ＡＴＭなどを含む、いかなる適切なプロトコルによって実施されてもよい。
【００２５】
ネットワーク１９９は、いかなるタイプの及び／又は形態のネットワークであってもよい。ネットワークの地理的範囲は大きく異なってもよく、ネットワーク１９９は、ボディエリアネットワーク（ＢＡＮ）、パーソナルエリアネットワーク（ＰＡＮ）、例えば、イントラネットといったローカルエリアネットワーク（ＬＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、広域ネットワーク（ＷＡＮ）、又はインターネットでありうる。ネットワーク１９９のトポロジーは、いかなる形態であってもよく、例えば、次の、ポイントツーポイント、バス、スター、リング、メッシュ、又はツリーのうちのいずれを含んでもよい。ネットワーク１９９は、本明細書に記載する動作をサポートできる、当業者に既知であるような、いかなるこうしたネットワークトポロジーから成ってもよい。ネットワーク１９９は、例えば、イーサネットプロトコル、インターネットプロトコル群（ＴＣＰ／ＩＰ）、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）技術、ＳＯＮＥＴ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｏｐｔｉｃａｌ  Ｎｅｔｗｏｒｋｉｎｇ）プロトコル、又はＳＤＨ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｉｇｉｔａｌ  Ｈｉｅｒａｒｃｈｙ）プロトコルを含む、プロトコルの異なる技術、及び層又はスタックを利用してもよい。ＴＣＰ／ＩＰインターネットプロトコル群は、アプリケーション層、トランスポート層、インターネット層（例えば、ＩＰｖ４及びＩＰｖ４を含む）、又はリンク層を含んでもよい。ネットワーク１９９は、放送ネットワーク、電気通信ネットワーク、データ通信ネットワーク、又はコンピュータネットワークの１タイプであってもよい。
【００２６】
一実施形態では、計算システム１０１、２次元画像感知装置１５２、及び空間構造感知装置１５１は、ネットワーク接続ではなく直接接続によって通信可能でありうる。例えば、こうした実施形態の計算システム１０１は、ＲＳ−２３２インターフェースなどの専用通信インターフェース、ユニバーサルシリアルバス（ＵＳＢ）インターフェース、及び／又は周辺構成要素相互接続（ＰＣＩ）バスなどのローカルコンピュータバスを介して、空間構造情報及び／又は２次元画像情報を受信するように構成されてもよい。
【００２７】
図１Ｄは、空間構造情報及び２次元画像情報を生成ならびに処理するための、システム１００の実施形態でありうるシステム１００Ｃを示す。システム１００Ｃは、計算システム１０１Ａ、空間構造感知装置１５１Ａ、２次元画像感知装置１５２Ａ、記憶装置１９８、及びネットワーク１９９を含む。空間構造感知装置１５１Ａは、物体１９０Ａの構造及び物体１９０Ｂの構造（また物体１９０Ａの物体構造及び物体１９０Ｂの物体構造とも呼ぶ）など、一つ以上の物体の構造を記述する、空間構造情報を捕捉するか、又はその他の方法で生成するように構成される。一実施形態では、空間構造感知装置１５１／１５１Ａによって生成される空間構造情報は、三つの寸法で一つ以上の物体１９０Ａ、１９０Ｂの構造を記述する（すなわち、一つ以上の物体１９０Ａ、１９０Ｂの３次元構造を記述する）ために使用されうる。したがって、空間構造感知装置１５１／１５１Ａは、また３次元感知装置（例えば、３Ｄカメラ）と呼んでもよい。２次元画像検出装置１５２Ａは、一つ以上の物体１９０Ａ、１９０Ｂの外観、もしくはより具体的には、一つ以上の物体１９０Ａ、１９０Ｂ上に現れる視覚的特徴（例えば、視覚的テクスチャ）を記述する、もしくはその他の方法で表す、２次元画像情報を捕捉、又はその他の方法で生成するように構成される。２次元画像感知装置１５２／１５２Ａはまた、特に、一つ以上の２次元画像を生成するように構成される場合、２Ｄカメラと呼んでもよい。計算システム１０１Ａは、空間構造情報及び２次元画像情報にアクセスして処理するように構成される。図１Ｄの実施形態では、計算システム１０１Ａは、図１Ａの計算システム１０１の実施形態である、デスクトップコンピュータであってもよい。
【００２８】
一実施形態では、空間構造感知装置１５１Ａは、図１Ａの空間構造感知装置１５１の実施形態である、奥行き感知カメラ（例えば、飛行時間カメラ又は構造化光カメラ）であってもよく、生成される空間構造情報は、奥行き情報を含んでもよい。一実施形態では、２次元画像感知装置１５２Ａは、カラーカメラ、グレースケールカメラ、又はその他の２Ｄカメラであってもよい。さらにこの実施例では、計算システム１０１Ａは、いかなる適切な手段によっても、空間構造情報及び２次元画像情報にアクセスしうる。例えば、計算システム１０１Ａは、空間構造感知装置１５１Ａから、記憶装置１９８を介してネットワーク１９９上を、及び／又は直接接続によって、空間構造感知装置１５１Ａへ空間構造情報を読み出し（又はより広くは、受信し）てもよい。同様に、２次元画像情報には、２次元画像感知装置１５２Ａから、記憶装置１９８を介してネットワーク１９９上を、及び／又は直接接続によって、２次元画像感知装置１５２Ａへとアクセスしてもよい。
【００２９】
一実施形態では、上述のように、空間構造情報は、ロボットの制御を容易にするように生成されうる。例えば、図１Ｅは、空間構造情報及び／又は２次元画像情報を生成ならびに処理し、その処理に基づいてロボット１６１を制御できる、ロボット操作システム１００Ｄ（システム１００の実施形態である）を示す。例えば、空間構造感知装置１５１は、奥行き感知カメラの視野の中の一つ以上の物体の構造を記述する、空間構造情報（例えば、点群）を生成するように構成される、奥行き感知カメラであってもよい。さらに２次元画像感知装置１５２は、２Ｄカメラの視野の中の一つ以上の物体の外観を記述する、２次元画像情報を生成するように構成される、２Ｄカメラであってもよい。計算システム１０１は、例えば、空間構造情報及び／又は２次元画像情報を受信し、一つ以上の物体のサイズ、形状、位置、向き、隅角、及び／又はエッジを決定するために情報を使用するように構成されうる。これらの例では、ロボット１６１の動きは、決定されたサイズ、形状、位置、向き、隅角、及び／又はエッジに基づいて、一つ以上の物体と相互作用するように制御されうる。
【００３０】
一実施形態では、計算システム１０１は、空間構造情報及び／又は２次元画像情報の処理から決定した情報に基づいて、ロボット１６１の動きを直接制御するように構成されうる。例えば、計算システム１０１は、決定した情報に基づいて、一つ以上の動きの指令（例えば、運動指令）を生成し、一つ以上の動きの指令をロボット１６１へ伝達するように構成されてもよい。こうした実施例では、計算システム１０１は、ロボット制御システム（ロボットコントローラとも呼ぶ）として作用しうる。
【００３１】
別の実施形態では、計算システム１０１は、計算システム１０１から分離しているロボット制御システムへ、決定した情報を伝達するように構成されてもよく、ロボット制御システムは、決定した情報に基づいて、（例えば、一つ以上の動きの指令を生成することによって）ロボット１６１の動きを制御するように構成されてもよい。例えば、図１Ｆは、ロボット制御システム１６２を含む、ロボット操作システム１００Ｅ（図１Ａのシステム１００及び図１Ｅのシステム１００Ｄの実施形態である）を描写する。より具体的には、図１Ｆの計算システム１０１、空間構造感知装置１５１、及び２次元画像感知装置１５２は、ロボット１６１の環境について、より具体的には、ロボット１６１が操作すべき、又は何らかの他の方法で相互作用すべき、その環境の中にある物体についての情報を、ロボット制御システム１６２へ提供するよう構成される、視覚システム１５０を形成してもよい。計算システム１０１は、空間構造情報及び／又は２次元画像情報を処理して、その情報を決定するように構成される、視覚コントローラとして機能してもよく、情報は、例えば、物体のタイプ、物体の形状もしくはサイズ、及び／又はロボット１６１に対する（例えば、ロボット１６１のロボットアームに対する）物体の位置を示す分類を含みうる。計算システム１０１は、決定した情報をロボット制御システム１６２へ伝達するように構成されてもよく、ロボット制御システム１６２は、計算システム１０１から受信した情報に基づいて、一つ以上の動きの指令を生成するように構成されうる。
【００３２】
上述のように、図１Ａから１Ｆの空間構造感知装置１５１は、空間構造感知装置１５１の環境の中にある、一つ以上の物体のそれぞれの構造を記述する、空間構造情報を生成するように構成されうる。本明細書で使用する場合、空間構造情報は、物理的物体の物理構造（また物体の構造とも呼ぶ）を記述する、いかなるタイプの情報も指し、より具体的には、物理的物体の形状、向き、配置、サイズ、隅角、及び／又はエッジに関する情報を含みうる。一実施形態では、空間構造情報は、空間構造感知装置１５１に対する、ロボット１６１に対する、又は何らかの他の要素に対する構造の位置を記述する、位置データを含んでもよい。上述のように、空間構造情報は、物体の３次元構造を記述するために使用されうる。したがって、また空間構造情報を３次元情報と呼んでもよい。
【００３３】
一実施形態では、空間構造情報は画像データを含んでもよく、空間構造情報に関して本明細書に記載するすべてのシステム、方法、及び技術は、別段の明示がない限り、空間構造情報の形態である、画像データに等しく適用されてもよい。例えば、空間構造情報は、奥行きマップであるか、又は奥行きマップを含む画像を含みうる。奥行きマップは、複数のピクセルを有する画像であってもよく、さらに奥行き情報を含む。奥行き情報は、例えば、ピクセルの一部もしくはすべてに割り当てられた、又はそれらと共に含まれる、それぞれの奥行き値を含みうる。特定のピクセルに対する奥行き値は、そのピクセルによって表される、又はその他の方法でそのピクセルに対応する位置の奥行きを示しうる。
【００３４】
より具体的には、奥行き情報は、空間構造感知装置１５１がある仮想平面に直交する軸に沿った、距離を示す情報を表す。一部の事例では、空間構造感知装置１５１が、画像センサーを有するカメラである場合、仮想平面は、画像センサーによって画定される画像平面であってもよい。一実施形態では、奥行き情報は、本明細書で使用する場合、空間構造感知装置１５１からの離れている距離を示しうる。一実施形態では、空間構造感知装置１５１がある仮想平面に平行な、いずれの適切な平面からの相対距離も表すように、奥行き情報を操作してもよい。例えば、適切な平面は、部屋の天井、床、又は壁によって、又は一つ以上の物体が置かれる台によって画定されうる。実施例では、空間構造感知装置１５１が一つ以上の物体の上方にある場合、奥行き情報は、一つ以上の物体が配置される表面に対する、一つ以上の物体の様々な点及び表面の高さを表しうる。別の実施例では、一つ以上の物体が、空間構造感知装置１５１から移動するか、又はその他の方法でそこから水平にずれる場合、奥行き情報は、一つ以上の物体が空間構造感知装置１５１から離れて、どのくらい水平に延びるかを示しうる。
【００３５】
一実施形態では、空間構造情報は点群であってもよい。本明細書で使用する場合、点群は、物体構造を記述する（すなわち、物体の構造を記述する）、複数の点を識別しうる。複数の点は、例えば、物体構造の一つ以上の表面上のそれぞれの位置でありうる。一部の事例では、点群は、複数の点を識別する、又はその他の方法で記述する、複数の座標を含みうる。例えば、点群は、物体構造のそれぞれの位置もしくはその他の特徴を指定する、一連のデカルト座標又は極座標（又は他のデータ値）を含みうる。それぞれの座標は、空間構造感知装置１５１の基準フレーム（例えば、座標系）に関して、又は何らかの他の基準フレームに関して表示されてもよい。一部の事例では、それぞれの座標は離散しており、相互に間隙を介しているが、物体構造の接触面を表すと理解されうる。一実施形態では、点群は、奥行きマップ又はその他の情報から（例えば、計算システム１０１によって）生成されうる。
【００３６】
一部の実施形態では、空間構造情報はさらに、例えば、ポリゴン又は三角形メッシュモデル、非一様有理Ｂスプラインモデル、ＣＡＤモデル、プリミティブのパラメータ化（例えば、長方形はｘ、ｙ、及びｚの方向の中点ならびに伸長部に従って画定されてもよく、円柱は中心、高さ、上半径、及び下半径によって画定されうるなど）など、いかなる適切な形式に従って記憶されうる。
【００３７】
上述のように、空間構造情報は、空間構造感知装置１５１によって捕捉され、又はその他の方法で生成される。一実施形態では、空間構造感知装置は、３Ｄカメラもしくはいかなる他の３Ｄ画像感知装置であってもよく、又はそれを含んでもよい。３Ｄカメラは、飛行時間（ＴＯＦ）カメラもしくは構造化光カメラなどの、奥行き感知カメラ、又はいかなる他のタイプの３Ｄカメラであってもよい。一部の事例では、３Ｄカメラは、電荷結合素子（ＣＣＤ）センサー及び／又は相補型金属酸化膜半導体（ＣＭＯＳ）センサーなど、画像センサーを含みうる。一実施形態では、空間構造感知装置１５１は、レーザー、ＬＩＤＡＲ装置、赤外線装置、明／暗センサー、モーションセンサー、マイクロ波検出器、超音波検出器、レーダー検出器、又は空間構造情報を捕捉するように構成されるいかなる他の装置を含みうる。
【００３８】
一実施形態では、上述のように、２次元画像感知装置は、カラーカメラ又はグレースケールカメラなどの、２Ｄカメラであってもよい。２Ｄカメラはまた、例えば、電荷結合素子（ＣＣＤ）センサー及び／又は相補型金属酸化膜半導体（ＣＭＯＳ）センサーなどの、画像センサーを含みうる。一部の事例では、２次元画像情報は、２次元画像を形成する複数のピクセルを含みうる。２次元画像情報の各ピクセルは、例えば、ピクセルに対応する位置に反射する光の強度、又はその他の特性を表す場合がある。一実施形態では、空間構造感知装置１５１及び２次元画像感知装置１５２は、単一の装置に統合されてもよい。例えば、それら装置は、単一の筐体によって囲まれてもよく、固定された相対位置及び相対的向きを有してもよい。一部の事例では、それら装置は、単一の通信インターフェース及び／又は単一の電源を共有してもよい。一実施形態では、空間構造感知装置１５１及び２次元画像感知装置１５２は、相互に独立した位置及び／又は向きを有することができる、二つの別個の装置であってもよい。
【００３９】
さらに上で言及したように、空間構造感知装置１５１により生成される、空間構造情報及び／又は２次元画像情報は、計算システム１０１によって処理されてもよい。一実施形態では、計算システム１０１は、サーバ（例えば、一つ以上のサーバブレード、プロセッサなどを有する）、パーソナルコンピュータ（例えば、デスクトップコンピュータ、ノートパソコンなど）、スマートフォン、タブレットコンピューティング装置、及び／もしくは他のいかなる他の計算システムを含んでもよく、又はそれらとして構成されてもよい。一実施形態では、計算システム１０１の機能性のすべては、クラウドコンピューティングプラットフォームの一部として行われてもよい。計算システム１０１は、単一の計算装置（例えば、デスクトップコンピュータ）であってもよく、又は複数の計算装置を含んでもよい。
【００４０】
図２Ａは、計算システム１０１の実施形態を示す、ブロック図を提供する。計算システム１０１は、処理回路１１０及び非一時的コンピュータ可読媒体（又は複数の媒体）１２０を含む。一実施形態では、処理回路１１０は、一つ以上のプロセッサ、一つ以上の処理コア、プログラマブルロジックコントローラ（「ＰＬＣ」）、特定用途向け集積回路（「ＡＳＩＣ」）、プログラマブルゲートアレイ（「ＰＧＡ」）、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）、それらのいかなる組み合わせ、又はいかなる他の処理回路を含む。一実施形態では、非一時的コンピュータ可読媒体１２０は、電子記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置、又はそれらのいかなる適切な組み合わせなどの記憶装置であり、例えば、コンピュータディスケット、ハードディスク、ソリッドステートドライブ（ＳＳＤ）、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消却可能プログラム可能読み取り専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、携帯型コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多目的ディスク（ＤＶＤ）、メモリスティック、それらのいかなる組み合わせ、又はいかなる他の記憶装置などであってもよい。一部の実例では、非一時的コンピュータ可読媒体は、複数の記憶装置を含みうる。特定の事例では、非一時的コンピュータ可読媒体１２０は、空間構造感知装置１５１から受信した空間構造情報、及び／又は２次元画像感知装置１５２から受信した２次元画像情報を記憶するように構成される。特定の事例では、非一時的コンピュータ可読媒体１２０はさらに、処理回路１１０によって実行されるときに、処理回路１１０に、図３Ａ及び３Ｂに関連して記載する操作など、本明細書に記載する一つ以上の手法を行わせる、コンピュータ可読プログラム命令を記憶する。
【００４１】
図２Ｂは、計算システム１０１の実施形態であり、通信インターフェース１３０を含む、計算システム１０１Ａを描写する。通信インターフェース１３０は、例えば、図１Ｂの記憶装置１９８、図１Ｃのネットワーク１９９を介して、又はより直接的な接続によってなど、空間構造感知装置１５１から空間構造情報、及び／又は２次元画像感知装置１５２から２次元画像情報を受信するように構成されてもよい。一実施形態では、通信インターフェース１３０は、図１Ｅのロボット１６１又は図１Ｆのロボット制御システム１６２と通信するように構成されうる。通信インターフェース１３０は、例えば、有線又は無線プロトコルによって通信を行うように構成される通信回路を含みうる。例として、通信回路は、ＲＳ−２３２ポートコントローラ、ＵＳＢコントローラ、イーサネットコントローラ、Ｂｌｕｅｔｏｏｔｈ（登録商標）コントローラ、ＰＣＩバスコントローラ、いかなる他の通信回路、又はそれらの組み合わせを含んでもよい。
【００４２】
一実施形態では、処理回路１１０は、記憶装置１２０上に記憶される、一つ以上のコンピュータ可読プログラム命令によってプログラムされてもよい。例えば、図２Ｃは、計算システム１０１の実施形態である、計算システム１０１Ｂを示し、処理回路１１０が、データ管理部２０２、セグメンテーション管理部２０４、及び物体認識管理部２０８によってプログラムされる。本明細書で論じるような様々な管理部の機能性は、代表的なものであり、限定ではないことは理解されるであろう。
【００４３】
様々な実施形態では、「ソフトウェアプロトコル」、「ソフトウェア命令」、「コンピュータ命令」、「コンピュータ可読命令」、及び「コンピュータ可読プログラム命令」という用語は、様々なタスク及び動作を遂行するように構成される、ソフトウェア命令又はコンピュータコードを記述するために使用される。本明細書で使用する場合、「管理部」という用語は、処理回路１１０に一つ以上の機能タスクを行わせるように構成される、ソフトウェア命令又はコードの集まりを広く指す。便宜上、実際には、様々な管理部、コンピュータ命令、及びソフトウェアプロトコルによって、様々な動作及びタスクを行うように、ハードウェアプロセッサをプログラムするとき、管理部、コンピュータ命令、及びソフトウェアプロトコルは、それらの動作又はタスクを行っていると記載されるであろう。様々な箇所に「ソフトウェア」として記載するものの、「管理部」、「ソフトウェアプロトコル」、及び「コンピュータ命令」によって行われる機能性は、より広くは、ファームウェア、ソフトウェア、ハードウェア、又はそれらのいかなる組み合わせとして実装されてもよいことは理解される。さらに、本明細書の実施形態は、方法ステップ、機能ステップ、及びその他のタイプの発生に関して記載する。一実施形態では、これらのアクションは、処理回路１１０によって実行されるコンピュータ命令又はソフトウェアプロトコルに従って発生する。
【００４４】
一実施形態では、データ管理部２０２は、計算システム１０１Ｂ上で動作するソフトウェアプロトコルである。データ管理部２０２は、空間構造情報及び／又は２次元画像情報にアクセス（例えば、受信、読み取り、記憶）し、計算システム１０１Ｂによって受信又は処理（例えば、分析）されている空間構造情報及び／もしくは２次元画像情報に関連する、いかなる他の適切な動作を行うように構成される。例えば、データ管理部２０２は、非一時的コンピュータ可読媒体１２０もしくは１９８の中に、もしくはネットワーク１９９及び／もしくは図２Ｂの通信インターフェース１３０を介して記憶される、空間構造情報ならびに／又は２次元画像情報にアクセスするように構成されてもよい。データ管理部２０２はまた、空間構造情報及び／もしくは２次元画像情報を要求、読み出し、アクセス、送信、記憶するか、又はその他の方法でそれら情報を用いて動作を行うように、ネットワーク１９９を介してその他の装置と、データ記憶ユニット１９８と、非一時的コンピュータ可読媒体１２０と、空間構造感知装置１５１と、及び／又は２次元画像感知装置１５２と相互作用するように構成されてもよい。
【００４５】
実施形態では、データ管理部２０２はさらに、空間構造情報及び／又は２次元画像情報を管理ならびに操作するために、ユーザにアクセスツールを提供するように構成される。例えば、データ管理部２０２は、データベース、テーブル、ファイルリポジトリ、及びその他のデータ記憶構造へのアクセスを生成ならびに／又は提供するように構成されてもよい。実施形態では、データ管理部２０２がデータ保持能力を提供してもよい。データ管理部２０２は、記憶装置１２０、データ記憶ユニット１９８、及びその他のメモリユニットにアクセスして、空間構造情報、及びコンピュータシステム１０１Ｂの処理中に生成される、いかなるその他の情報をアーカイブに入れ、記憶し、ならびに／又はその他の方法で保持するように構成されてもよい。
【００４６】
一実施形態では、セグメンテーション管理部２０４は、空間構造情報を複数のセグメントに分割するように構成されてもよい。例えば、空間構造情報が、互いの隣に置かれた個々の箱のグループなど、個々の物体のグループの構造を表す場合、セグメンテーション管理部２０４は、個々の物体に対応する空間構造情報のそれぞれの部分を識別するように構成されてもよい。別の実施例では、セグメンテーション管理部２０４は、個々の物体のうちの一つに対応する空間構造情報の一部分を識別し、その一部分を空間構造情報から抽出するように構成されてもよい。一実施形態では、セグメンテーション管理部２０４は、制御システム１０１Ｂ上で動作するソフトウェアプロトコルであってもよい。
【００４７】
一実施形態では、物体認識管理部２０８は、空間構造情報に基づいて物体認識を行うように構成されてもよい。例えば、セグメンテーション管理部２０４が、物体のグループのうちの個々の物体に対応する、空間構造情報の一部分を抽出する場合、物体認識管理部２０８は、空間構造情報の抽出された一部分に基づいて、物体認識を行うように構成されてもよい。一実施形態では、物体認識管理部２０８は、計算システム１０１上で動作するソフトウェアプロトコルであってもよい。一実施形態では、物体認識管理部２０８は、以下でより詳細に論じるように、空間的構造情報に基づいて、検出仮説を生成するように構成されうる。
【００４８】
図３Ａ及び３Ｂは、空間構造情報を処理するための方法３００の例示的な操作を示す、フローチャートを提供する。一実施例では、方法３００は、ロボットが複数の物体（例えば、箱又はその他のパッケージのグループ）と相互作用する手順の一部であってもよい。例えば、図４Ａは、プラットフォーム４９０の表面４９１（例えば、倉庫の床）上に配置される、一連の物理的物体４１０、４２０、４３０、４４０（また一連の物体４１０〜４４０とも呼ぶ）に対して、空間構造情報が生成される実施形態を示す。物体４１０〜４４０は、例えば、ロボット１６１Ａが拾い取るか、もしくはその他の方法で動かす、箱又はその他のパッケージのグループであってもよい（図１Ｅ及び１Ｄのロボット１６１の実施形態であってもよい）。
【００４９】
一実施形態では、空間構造情報は、物体４１０〜４４０の構造（また物体４１０〜４４０のそれぞれの物体構造と呼んでもよい）の情報表現である。空間構造情報は、空間構造感知装置１５１Ａ（例えば、３Ｄカメラ）によって感知、捕捉、又はその他の方法で生成されうる。一部の実例では、空間構造情報は、物体４１０の表面４１１（また物体４１０の物体構造の表面４１１とも呼ぶ）、物体４２０の表面４２１、物体４３０の表面４３１、及び物体４４０の表面４４１（また表面４１１〜４４１とも呼ぶ）など、物体４１０〜４４０の一つ以上の表面（例えば、空間構造感知装置１５１Ａ及び／もしくは２次元画像情報感知装置１５２Ａのカメラに面しているか、又はそうでなければ視野内にある、上面）上の複数の位置に対するそれぞれの奥行き値（例えば、空間構造感知装置１５１Ａに対する）を記述しうる。空間構造情報について、図４Ｄ〜４Ｇに関してさらに詳細に説明する。
【００５０】
一実施形態では、２次元画像情報感知装置１５２Ａ（図１Ａの２次元画像感知装置１５２の実施形態であってもよい）は、例えば、物体４１０〜４４０のそれぞれの表面４１１〜４４１の外観を記述する、２次元画像情報を感知、捕捉、又はその他の方法で生成するよう構成されてもよい。上述のように、２次元画像感知装置１５２Ａは、例えば、２Ｄカメラであってもよい。２次元画像情報について、図４Ｂ及び４Ｃに関してさらに詳細に説明する。
【００５１】
図４Ｂは、図４Ａの物理的物体４１０〜４４０の物理的表面４１１〜４４１（また物体４１０〜４４０の表面４１１〜４４１とも呼ぶ）を記述又はその他の方法で表す、２次元画像情報５００を示す。より詳細には、図４Ｂは、２次元画像情報５００を形成、又はそれによって記述される２次元画像を示し、２次元画像は物体４１０〜４４０の外観を表す。図４Ｂに描写するように、２次元画像情報５００は、表面４１１〜４４１などの物体４１０〜４４０の表面上の視覚的特徴について、又はより広くは、２次元画像感知装置１５２Ａによって感知された視覚的特徴についての情報を含む。視覚的特徴は、例えば、視覚的なパターン、視覚的マーキング、又はその他の視覚的詳細を指しうる視覚的テクスチャを含みうる。視覚的テクスチャはまた２次元テクスチャと呼んでもよい。したがって、一部の事例では、２次元画像情報５００は、２次元テクスチャ情報（また２次元テクスチャデータとも呼ぶ）である、又は２次元テクスチャ情報を含んでいると呼んでもよい。実施形態では、２次元画像情報５００は奥行き情報を包含しない。
【００５２】
一実施形態では、視覚的テクスチャは、表面４１１〜４４１のうちの一つの上にロゴを形成する視覚的マーキング、表面４１１〜４４１のうちの一つの上にテキストを形成する視覚的マーキング、又はいかなるその他の視覚的マーキングなど、物体４１０〜４４０の一つ以上の表面４１１〜４４１上に印刷される、もしくはその他の方法で配置される一つ以上の視覚的マーキングを含んでもよく、又はそれらから形成されてもよい。一実施形態では、視覚的テクスチャは、画像ノイズによって生じる２次元画像情報５００の中のアーチファクトである、一つ以上の視覚的マーキングを含んでもよく、又はそれらから形成されてもよい。一実施形態では、２次元画像情報の中の視覚的テクスチャは、表面４１１〜４４１のうちの一つが各々波形構造を有する実施例においてなど、一つ以上の表面４１１〜４４１上に３Ｄテクスチャを表してもよい。
【００５３】
図４Ｂ及び４Ｃに描写するように、２次元画像情報５００は、物体４１０〜４４０の物理的特徴を捕捉してもよく、又はその他の方法で含んでもよい。例えば、物理的特徴は、一つ以上の物理的隅角及び／又は物理的エッジ（また一つ以上の隅角及び一つ以上のエッジとも呼ぶ）を含んでもよい。より詳細には、２次元画像情報５００は、物体４１０の隅角４１５Ａ（また物体４１０の物体構造の隅角とも呼ぶ）、物体４２０の隅角４２５Ａ、物体４３０の隅角４３５Ａ、及び物体４４０の隅角４４５Ａを捕捉する、又はその他の方法で表す部分（例えば、ピクセル）を含む。２次元画像情報５００はさらに、物体４１０のエッジ４１６Ａ〜４１６Ｄ、物体４２０のエッジ４２６Ａ〜４２６Ｄ、物体４３０のエッジ４３６Ａ〜４３６Ｄ、及びエッジ４４０のエッジ４４６Ａ〜４４６Ｄを捕捉する、又はその他の方法で表す部分（例えば、ピクセル）を含む。図４Ｃに描写するように、エッジの一部が外部エッジであってもよく、その一方で他のエッジが内部エッジであってもよい。例えば、エッジ４１６Ａ及びエッジ４１６Ｂが、物体４１０の外部エッジであってもよく、その一方でエッジ４１６Ｃ及び４１６Ｄが、物体４１０の内部エッジであってもよい。
【００５４】
一実施形態では、２次元画像情報５００はさらに、図４Ｂの候補エッジ５６１Ａ、５６１Ｂ、５６１Ｃ、５６１Ｄ、５６３Ａ、及び５６３Ｂなど、候補エッジを捕捉してもよく、又は他の方法で含んでもよい。一部の事例では、候補エッジは、２次元画像情報５００によって記述される物体に対する、物理的エッジの現れ方と一致する、視覚的マーキングであってもよい。すなわち、候補エッジは、候補とされる、又はその他の方法で、物体の物理的エッジを表すと認識される資格を持たせる、特性を有してもよい。例えば、物体４１０〜４４０が真っ直ぐなエッジを有すると分かっている場合、２次元画像情報５００の中で直線を形成する視覚的マーキングが、候補エッジとなりうる。一実施例として、図４Ｂは、図４Ｃの物体４１０の物理的エッジ４１６Ａ、４１６Ｂ、及び４１６Ｃをそれぞれ表す、候補エッジ５６１Ａ、５６１Ｂ、及び５６１Ｃを描写する。一部の事例では、２次元画像情報５００は、偽エッジである候補エッジを含みうる。偽エッジは、２次元画像情報によって記述されるいかなる物体の物理的エッジも、実際には表さない候補エッジでありうる。例えば、図４Ｂは、２次元画像情報５００の中に現れる偽エッジの例として、候補エッジ５６３Ａ及び５６４Ａを描写する。一部の事例では、２次元画像情報５００の中の候補エッジは、その視覚的テクスチャの少なくとも一部を形成しうる。以下でより詳細に論じるように、本明細書の実施形態の一態様は、偽エッジである可能性のある候補エッジを、個々に又はクラスタとして識別することと、残りの候補エッジの中から、物体の物理的エッジを実際に表す候補エッジを正しく識別する可能性を高めるために、偽エッジをフィルタリングして取り除くか、又は検討対象から可能性のある偽エッジを除去することとに関する。この後者の候補エッジは、以下で論じる空間構造情報４００／４００Ａのセグメンテーションを行うために使用されてもよく、セグメンテーションエッジと呼んでもよい。
【００５５】
図４Ｄは、図４Ａの物理的物体４１０〜４４０のそれぞれの構造（また物体４１０〜４４０のそれぞれの物体構造とも呼ぶ）を記述する、空間構造情報４００の実施例を示す。より具体的には、図は、空間構造情報４００によって表される、図４Ａの物体４１０〜４４０の表面４１１〜４４１のうちの一つ以上にある、複数の物理点（また点とも呼ぶ）を示す。点群は、本明細書の実施形態と整合する、空間構造情報４００の一実施例である。一実施形態では、複数の点は、物体４１０〜４４０の一つ以上の表面（例えば、４１１、４２１、４３１、及び４４１）上にある位置（また物理的位置とも呼ぶ）でありうる。例えば、空間構造情報４００は、図４Ｄの中の複数の点の各々に対して、それぞれの座標（例えば、［Ｘ  Ｙ  Ｚ］Ｔ座標）を含むか、又はその他の方法で示す点群であってもよい。一部の事例では、特定の点に対する座標の一成分（例えば、Ｚ成分）は、空間構造感知装置１５１／１５１Ａに対するその点の奥行き値を表しうる。例えば、特定の点に対する奥行き値は、図４Ａの軸４８０に沿って測定されるような、その点と空間構造感知装置１５１Ａとの間の距離であってもよい。軸４８０は、例えば、空間構造感知装置１５１Ａの画像面４７０に直交する光軸であってもよい。空間構造情報４００によって表される物理点の密度は、空間構造感知装置１５１／１５１Ａの分解能に応じて、図４Ｄに示すものより大きくても、又は小さくてもよい。例示目的のために、図４Ｄ及び４Ｅは、空間構造情報４００を描写し、表面４１１〜４４１上の複数の点と、表面４１１〜４４１に垂直な物体４１０〜４４０の側面（また垂直表面とも呼ぶ）に対応する、空間構造情報４００の複数の部分とを伴って示される。しかしながら、空間構造情報４００が、空間構造感知装置１５１／１５１Ａに対する視線又は視野のためなど、垂直表面上の奥行き測定値に対応する点を含まない場合があることは理解される。
【００５６】
図４Ｅに描写するように、図４Ｄの空間構造情報４００は、第一の物体４１０に属する（又は、より具体的には、第一の物体４１０の物体構造の表面に属する）物理点を表す第一の部分４１０Ａ、第二の物体４２０に属する物理点を表す第二の部分４２０Ａ、第三の物体４３０に属する物理点を表す第三の部分４３０Ａ、及び第四の物体４４０に属する物理点を表す第四の部分４４０Ａを含みうる。図４Ｅはさらに、物体４１０の物理的隅角４１５Ａ、４１５Ｂ（また隅角４１５Ａ、４１５Ｂとも呼ぶ）、物体４２０の隅角４２５Ａ、物体４３０の隅角４３５Ａ、４３５Ｂ、及び物体４４０の隅角４４５Ａ、４４５Ｂを表す空間構造情報４００を描写する。より詳細には、空間構造情報４００は、隅角（例えば、４１５Ａ、４１５Ｂ、４２５Ａ、４３５Ａ、４３５Ｂ、４４５Ａ、４４５Ｂ）のそれぞれの位置と正確に等しいか、又は隅角のそれぞれの位置に近似する、座標を含んでもよい。一部の実例では、空間構造情報４００は、物体４１０、４２０、４３０、４４０の全隅角についての完全な情報を含まない場合がある。例えば、隅角４１５Ｂ、４３５Ｂ、及び４４５Ｂは、空間構造感知装置１５１Ａから見えていないために、正確に捕捉されない場合がある。例えば、図４Ｄ及び４Ｅに示すように、空間構造情報４００は、隅角４１５Ａを表す座標［Ｘ１  Ｙ１  Ｚ１］Ｔを含んでもよい。座標は、空間構造情報４００の全座標の中で、隅角４１５Ａの位置に最も近い座標であってもよい。この座標［Ｘ１  Ｙ１  Ｚ１］Ｔは、隅角４１５Ａの位置と正確に等しくてもよく、又は隅角４１５Ａの位置と実質的に等しくてもよい。
【００５７】
図４Ｅはさらに、空間構造情報４００を、物体４１０の物理的エッジ４１６Ａ、４１６Ｂ、４１６Ｅ（またエッジ４１６Ａ、４１６Ｂ、４１６Ｅとも呼ぶ）、物体４２０のエッジ４２６Ａ及び４２６Ｂ、物体４３０のエッジ４３６Ａ、４３６Ｂ、ならびに物体４４０のエッジ４４６Ａ、４４６Ｂを表すものとして描写する。一部の実例では、空間構造情報４００は、物体４１０、４２０、４３０、４４０の全ての物理的エッジについての完全な情報を含まない場合がある。より詳細には、空間構造情報４００は、エッジ（例えば、４１６Ａ、４１６Ｂ、４２６Ａ、４２６Ｂ、４３６Ａ、４３６Ｂ、４４６Ａ、４４６Ｂ）に正確に位置するか、又はエッジにおおよそ位置する、座標を含んでもよい。例えば、図４Ｄ及び４Ｅに示すように、空間構造情報は、物体４１０のエッジ４１６Ａを表す、座標［Ｘ１  Ｙ１  Ｚ１］Ｔ、［Ｘ２  Ｙ１  Ｚ１］Ｔ、及び［Ｘ３  Ｙ１  Ｚ１］Ｔを含んでもよい。座標は、空間構造情報４００の中で、エッジ４１６Ａに最も近い座標のうちの一つであってもよい。
【００５８】
図４Ｆは、同じ奥行き値を有する点を特に表しうる、空間構造情報４００Ａの実施例を提供する。より詳細には、空間構造情報４００Ａは、図４Ａの物体４１０〜４４０の表面４１１〜４４１（例えば、上面）上にある、複数の点を表してもよく、空間構造情報４００Ａによって表される複数の点はすべて、奥行き値Ｚ１を有しうる。図４Ｆに描写するように、空間構造情報４００Ａは、物体４１０の表面４１１上にある点を表す第一の部分４１１Ａ、物体４２０の表面４２１上にある点を表す第二の部分４２１Ａ、物体４３０の表面４３１上にある点を表す第三の部分４３１Ａ、及び物体４４０の表面４４１上にある点を表す第四の部分４４１Ａを含んでもよい。図４Ｄ及び４Ｅの空間構造情報４００と同様に、図４Ｆの空間構造情報４００Ａもまた、例えば、物体４１０〜４４０の隅角４１５Ａ、４２５Ａ、４３５Ａ、４４５Ａ、ならびにエッジ４１６Ａ、４１６Ｂ、４２６Ａ、４２６Ｂ、４３６Ａ、４３６Ｂ、４４６Ａ、及び４４６Ｂを表しうる。一部の実例では、図４Ｆの空間構造情報４００Ａは、図４Ｄ及び４Ｅの空間構造情報４００の一部分であってもよく、空間構造情報４００から抽出されてもよい。一部の実例では、空間構造情報４００Ａは、図４Ｇに描写される空間構造情報４００Ｂの一部分であってもよく、空間構造情報４００Ｂから抽出されてもよい。より詳細には、図４Ｇの空間構造情報４００Ｂは、物体４１０〜４４０の表面４１１〜４４１上にある点、及び図４Ａのプラットフォーム４９０の表面４９１上にある点を表しうる。図４Ｇの実施例では、空間構造情報４００Ｂは、物体４１０〜４４０の表面４１１〜４４１上にある物理点に対して、奥行き値Ｚ＝Ｚ１を示してもよく、プラットフォーム４９０の表面４９１上の物理点に対して、奥行き値Ｚ＝Ｚ２を示してもよい。
【００５９】
一実施形態では、空間構造情報４００／４００Ａは、複数のピクセル［ｕ，ｖ］を有しうる、奥行きマップを含んでもよく、複数のピクセルの一部又はすべては、奥行き値を有しうる。奥行きマップの中のピクセルの各々は、捕捉されるか、又はその他の方法でピクセルによって表される、それぞれの物理点（また物理的位置とも呼ぶ）に対応してもよく、奥行き値は、空間構造感知装置（例えば、図４Ａの１５１Ａ）及び特定の物理点からの距離を示しうる。物理点は、例えば、物体４１０〜４４０の一つ以上の表面４１１〜４４１上にあってもよい。一部の事例では、距離は軸４８０に沿って測定されてもよい。一部の事例では、ピクセル［ｕ，ｖ］に割り当てられる奥行き値は、対応する物理点の座標のＺ成分を表しうる。例えば、空間構造感知装置１５１Ａは、奥行き感知カメラであってもよい。こうした例では、奥行きマップの中の特定のピクセル［ｕ，ｖ］は、物体４１０〜４４０の表面４１１〜４４０上、又はプラットフォーム４９０の表面４９１上の物理点に対応してもよく、物理点は座標［Ｘ，Ｙ，Ｚ］Ｔを有する。座標のＸ成分及びＹ成分は、奥行き感知カメラの逆射影行列に基づいてもよく、座標のＺ成分は、ピクセル［ｕ  ｖ］に割り当てられる奥行き値と等しいか、又はそうでない場合、奥行き値に基づいてもよい（座標［Ｘ  Ｙ  Ｚ］Ｔは奥行き感知カメラの基準フレーム（例えば、座標系）の中にあってもよい）。
【００６０】
一実施形態では、空間構造情報４００は点群を含んでもよい。上述のように、点群は、物体構造上、又はより具体的には、物体４１０の物体構造上にある表面４１１など、物体構造の表面上にある複数の点を識別する、複数の座標を含んでもよい。一実施形態では、空間構造情報４００は、点群を含む場合、一部のシナリオで、上で論じた奥行きマップに基づいて（例えば、図１Ａ〜２Ｃの空間構造感知装置１５１又は計算システム１０１によって）生成されうる。
【００６１】
図３Ａ及び３Ｂに戻ると、方法は、図２Ａから２Ｃの計算システム１０１によって、ならびに、より具体的には、一つ以上の物体のそれぞれの物体構造を記述する空間構造情報（例えば、４００）が、計算システム１０１の非一時的コンピュータ可読媒体１２０上に記憶されているとき、及び一つ以上の物体を記述する２次元画像情報（例えば、５００）が、計算システム１０１の非一時的コンピュータ可読媒体（例えば、１２０）に記憶されているときに、処理回路１１０によって行われてもよい。一つ以上の物体のそれぞれの物体構造は、また一つ以上の物体のそれぞれの構造と呼んでもよい。一実施形態では、図２Ａから２Ｃの非一時的コンピュータ可読媒体１２０はさらに、処理回路１１０によって実行されるとき、処理回路１１０に方法３００を実施させる、複数の命令（例えば、コンピュータプログラム命令）を記憶しうる。
【００６２】
一実施形態では、図３Ａ及び３Ｂの方法３００は、（図２Ａ〜２Ｃの）計算システム１０１の処理回路１１０が、物体の構造（また物体構造とも呼ぶ）を記述する空間構造情報（例えば、図４Ｄ〜４Ｆの４００／４００Ａ）にアクセスする、動作３０２を含む。一部の事例では、動作３０２は、図２Ｃのデータ管理部２０２によって行われてもよい。一実施形態では、空間構造情報（例えば、４００／４００Ａ）へのアクセスは、非一時的コンピュータ可読媒体１２０から、又はいかなるその他の装置から、空間構造情報（例えば、４００／４００Ａ）を読み取る（又はより広くは、受信する）ことを伴いうる。一部の状況では、空間構造情報（例えば、４００／４００Ａ）は、空間構造感知装置１５１／１５１Ａによって生成されていてもよく、空間構造感知装置１５１／１５１Ａから、図２Ｂの通信インターフェース１３０を介してなど、計算システム１０１によって受信されていてもよく、空間構造情報に一時的バッファ又は長期記憶装置を提供しうる、非一時的コンピュータ可読媒体１２０に記憶されていてもよい。例えば、空間構造情報（例えば、４００／４００Ａ）は、空間構造感知装置１５１から受信され、非一時的コンピュータ可読媒体１２０に記憶される、点群を含みうる。点群は、それから、動作３０２で処理回路１１０によってアクセスされうる。
【００６３】
一部の状況では、アクセスされる空間構造情報（例えば、４００／４００Ａ）は、非一時的コンピュータ可読媒体１２０に記憶されてもよく、空間構造感知装置１５１／１５１Ａから受信する情報に基づいて、処理回路１１０自体によって事前に生成されていてもよい。例えば、処理回路１１０は、空間構造感知装置１５１／１５１Ａから受信する未加工のセンサーデータに基づいて、点群を生成するように構成されてもよく、生成された点群を非一時的コンピュータ可読媒体１２０に記憶するように構成されてもよい。点群は、次に、動作３０２で処理回路１１０によってアクセスされてもよい（例えば、非一時的コンピュータ可読媒体１２０からデータを読み出すことによって）。
【００６４】
図３Ａ及び３Ｂに戻って参照すると、方法３００はさらに、計算システム１０１の処理回路１１０が、空間構造情報（例えば、４００／４００Ａ）に基づいて、空間構造情報によって表される、物体（例えば、４１０／４２０／４３０／４４０）の構造でありうる、物体構造の隅角を表す３次元位置を識別する、動作３０４を含みうる。隅角を表す３次元位置はまた、３次元隅角位置又は３次元物体隅角と呼んでもよい。例えば、ここで図５Ａ及び５Ｂを参照すると、動作３０４において処理回路１１０は、空間構造情報４００／４００Ａに基づいて、物体４１０の隅角４１５Ａを表す第一の３次元位置４０５Ａ、物体４２０の隅角４２５Ａを表す第二の３次元位置４０５Ｂ、物体４３０の隅角４３５Ａを表す第三の３次元位置４０５Ｃ、及び物体４４０の隅角４４５Ａを表す第四の３次元位置４０５Ｄ（また、まとめて３次元位置４０５Ａ〜４０５Ｄと呼んでもよい）を識別してもよい。
【００６５】
図５Ａ及び５Ｂの実施例では、３次元位置４０５Ａ〜４０５Ｄの各々は、［Ｘ  Ｙ  Ｚ］Ｔ座標など、３次元座標によって記述されてもよい。例えば、図５Ａ及び５Ｂの３次元位置４０５Ａは、図４Ｄに描写するように、３次元座標［Ｘ１  Ｙ１  Ｚ１］Ｔを有してもよい。一部の事例では、３次元位置（例えば、４０５Ａ）の３次元座標は、空間構造情報４００／４００Ａの基準フレーム（例えば、座標系）に対して表現されてもよく、これはまた、空間構造感知装置１５２／１５２Ａの基準フレームであってもよい。一実施形態では、空間構造情報４００／４００Ａから決定され、物体の対応する物理的隅角（例えば、物理的隅角４１５Ａ）を表す、３次元位置（例えば、４０５Ａ）は、物理的隅角がどこで見つかるかを正確に識別してもよく、又は物理的隅角がどこで見つかるかに近似してもよい。例えば、３次元位置４０５Ａの３次元座標［Ｘ１  Ｙ１  Ｚ１］Ｔは、物体４１０の物体構造の物理的隅角４１５Ａの正確な位置を表してもよく、又は物理的隅角４１５Ａがどこで見つかるかに近似してもよい。一部の実例では、３次元位置（例えば、４０５Ａ）は、空間構造情報４００／４００Ａに記述されるその他の位置の中で、対応する物理的隅角（例えば、４１５Ａ）に最も近い位置であってもよい。また３次元物体隅角（例えば、４０５Ａ〜４０５Ｄ）と呼んでもよい３次元位置は、いかなる適切な手段によって空間構造情報（例えば、４００／４００Ａ）から識別されてもよい。例えば、一実施形態では、物体構造の隅角を表す３次元位置は、米国特許出願第１６／５７８，９００号（２０１９年９月２３日出願）に記載されるように、空間構造情報の中の層の中から識別される、複数の頂点の分析に従って識別されてもよく、特許出願は参照によりその全体が本明細書に組み込まれる。例えば、動作３０４で決定される３次元位置は、米国特許出願第１６／５７８，９００号で論じるように、凸角の位置であってもよい。一実施形態では、３次元位置（例えば、４０５Ａ）は、空間構造情報（例えば、４００／４００Ａ）により記述される点（例えば、位置）に対する輪郭の隅角であってもよい。
【００６６】
図３Ａ及び３Ｂに戻って参照すると、方法３００はさらに、計算システム１０１の処理回路１１０が、空間構造情報（例えば、４００／４００Ａ）に基づいて、３次元位置から延び、物体構造の物理的エッジ（また物体構造のエッジとも呼ぶ）と平行な３次元ベクトルを識別する、動作３０６を含みうる。より詳細には、３次元位置は物体の構造の隅角を表してもよく、３次元ベクトルは物体のエッジと平行であってもよい。３次元ベクトルは、エッジを表してもよく、それゆえ、３次元エッジ又は３次元物体エッジと呼んでもよい。例えば、図５Ｃ及び５Ｄは、処理回路１１０が、３次元位置４０５Ａから延び、物体４１０のエッジ４１６Ａと平行な３次元ベクトル４０６Ａ−１を識別する、実施例を描写する。一部の事例では、３次元ベクトルは、少なくとも二つの３次元座標（例えば、正確に二つの３次元座標）によって画定されてもよい。例えば、３次元ベクトル４０６Ａ−１は、［Ｘ１  Ｙ１  Ｚ１］Ｔ及び［Ｘ２  Ｙ２  Ｚ２］Ｔによって画定されてもよい。３次元ベクトル（例えば、４０６Ａ−１）は、例えば、向きを示してもよい。一部の事例では、３次元ベクトルはさらに、方向性（例えば、［Ｘ１  Ｙ１  Ｚ１］Ｔから［Ｘ２  Ｙ２  Ｚ２］Ｔ）、及び／又は大きさ（例えば、［Ｘ１  Ｙ１  Ｚ１］Ｔから［Ｘ２  Ｙ２  Ｚ２］Ｔの間の距離により画定される大きさ）を示してもよい。一部の事例では、３次元ベクトル４０６Ａ−１は、特定の向き及び／又は位置を有する線を画定するために使用されてもよく、方向性の表示、及び／又は大きさの表示を有さない場合がある。
【００６７】
一実施形態では、３次元ベクトル４０６Ａ−１は、空間構造情報４００／４００Ａによって記述される点の最外周縁上にある、点（例えば、位置）を含んでもよい。例えば、３次元ベクトル４０６Ａ−１を形成する座標［Ｘ１  Ｙ１  Ｚ１］Ｔ及び［Ｘ２  Ｙ２  Ｚ２］Ｔは、空間構造情報４００／４００Ａによって記述される、すべての点の最外周縁を形成する点に属し、それゆえ、空間構造情報４００／４００Ａによって記述される、点のエッジを表してもよい。一部の事例では、３次元ベクトル（例えば、４０６Ａ−１）は、ベクトルが表すエッジ（例えば、４１６Ａ）上に正確に位置し、それゆえ、エッジがどこで見つかるかを正確に示してもよく、又はエッジがどこで見つかるかに近似してもよい。さらに、３次元ベクトル（例えば、４０６Ａ−１）は、エッジ（例えば、４１６Ａ）の向きを示してもよく、これは、また３次元エッジ向きと呼んでもよい。
【００６８】
一実施形態では、３次元ベクトル（例えば、４０６Ａ−１）の決定は、３次元隅角の向きを決定する一部であってもよい。３次元隅角の向きは、３次元位置によって表される物理的隅角、及び／又は隅角を形成する物体の形状の向き（例えば、方向）を指しうる。一部の事例では、３次元隅角の向きは、複数のベクトルによって画定されうる。より詳細には、物理的隅角は、二つ以上の物理的エッジの交差でありうる。例えば、図５Ｅは、物体４１０の隅角４１５Ａを、エッジ４１６Ａ及び４１６Ｂ、又はエッジ４１６Ａ、４１６Ｂ、及び４１６Ｅの交差として描写する。この実施例では、物理的隅角４１５Ａを表す３次元位置４０５Ａは、図５Ｅのベクトル４０６Ａ−１及び４０６Ａ−２などの複数の３次元ベクトルによって、又はベクトル４０６Ａ−１、４０６Ａ−２、及び４０６Ａ−３によって表されてもよい。ベクトル４０６Ａ−１は、上で論じたように、エッジ４１６Ａと平行であってもよく、その一方でベクトル４０６Ａ−２はエッジ４１６Ｂと平行であってもよく、ベクトル４０６Ａ−３はエッジ４１６Ｅと平行であってもよい。さらに、ベクトル４０６Ａ−１、４０６Ａ−２、及び４０６Ａ−３は、該当するエッジ４１６Ａ、４１６Ｂ、４１６Ｅに対応するそれぞれの方向で、隅角４１５Ａを表す３次元位置４０５Ａから離れた方向を指しうる。一実施形態では、ベクトル４０６Ａ−１、４０６Ａ−２、及び４０６Ａ−３は、空間構造情報４００によって表される、その他の点に向かって内向き方向を指しうる。この実施例では、３次元位置４０５Ａによって表される隅角４１５Ａの３次元隅角の向きは、３次元ベクトル４０６Ａ−１、４０６Ａ−２、４０６Ａ−３のうちの少なくとも二つによって画定されうる。例えば、３次元隅角の向きは、ベクトルの三つすべてによって画定されうる。三つのベクトル４０６Ａ−１、４０６Ａ−２、４０６Ａ−３が直交する場合、結果として得られる３次元位置は直角を表しうる。
【００６９】
一実施形態では、制御回路１１０は、動作３０４及び３０６を複数回行って、一つ以上の物体のそれぞれの隅角、又はより具体的には、一つ以上の物体構造のそれぞれの隅角を表す、複数の３次元位置を識別してもよい。例えば、図５Ｅ及び４Ｅに示すように、制御回路１１０は、物体４２０の隅角４２５Ａを表す３次元位置４０５Ｂ、物体４３０の隅角４３５を表す３次元位置４０５Ｃ、及び／又は物体４４０の隅角４４５Ａを表す３次元位置４０５Ｄを識別しうる。一部の実例では、制御回路１１０はさらに、隅角の各々に対して、３次元隅角の向きを識別してもよい。例えば、制御回路１１０は、３次元位置４０５Ｂによって表される隅角４２５Ａに対して、３次元隅角の向きを確定する、３次元ベクトル４０６Ｂ−１から４０６Ｂ−３を識別してもよい。制御回路１１０はまた、３次元位置４０５Ｃによって表される隅角４３５Ａに対して、３次元隅角の向きを画定しうる、３次元ベクトル４０６Ｃ−１から４０６Ｃ−３を識別してもよい。制御回路１１０はさらに、３次元位置４０５Ｄによって表される隅角４４５Ａに対して、３次元隅角の向きを画定しうる、３次元ベクトル４０６Ｄ−１から４０６Ｄ−３を識別してもよい。
【００７０】
一実施形態では、上で論じた３次元ベクトル（例えば、４０６Ａ−１から４０６Ａ−３）が、対応する物理的エッジ（例えば、４１６Ａ、４１６Ｂ、４１６Ｅ）を表してもよく、３次元エッジ又は３次元物体エッジと呼んでもよい。上述のように、３次元ベクトルは、対応する物理的エッジの正確な位置を示してもよく、又は対応する物理的エッジの位置に近似してもよい。
【００７１】
図３Ａ及び３Ｂに戻って参照すると、方法３００はさらに、計算システム１０１の処理回路１１０が、２次元画像情報（例えば、２次元画像情報５００）を取得するか、それにアクセスするか、又はその他の方法で受信する、動作３０８を含んでもよい。上述のように、２次元画像情報５００は、物体表面（例えば、物体４１０〜４４０の表面４１１〜４４１）上の視覚的特徴から検出される、情報を含んでもよい。視覚的特徴は、視覚的なパターン、視覚的マーキング、又はその他の視覚的詳細から形成されてもよい、視覚的テクスチャを含みうる。一実施形態では、２次元画像情報は、上で論じたように、例えば、視覚的マーキングの一部もしくはすべてから形成されてもよい、候補エッジを含んでもよく、又はその他の方法で記述してもよい。一部の事例では、動作３０８は、図２Ｃのデータ管理部２０２によって行われてもよい。一実施形態では、２次元画像情報５００の取得、又は２次元画像情報５００へのアクセスは、図２Ａ〜２Ｃの非一時的コンピュータ可読媒体１２０から、又はいかなる他の装置から、２次元画像情報５００を読み取る（又はより広くは、受信する）ことを伴いうる。一部の状況では、２次元画像情報５００は、図１Ａ〜１Ｆの２次元画像感知装置１５２／１５２Ｂから、図２Ｂの通信インターフェース１３０を介してなど、計算システム１０１によって受信されていてもよく、２次元画像情報に一時的バッファ又は長期記憶装置を提供しうる、非一時的コンピュータ可読媒体１２０に記憶されていてもよい。例えば、２次元画像情報５００は、２次元画像感知装置１５２から受信され、非一時的コンピュータ可読媒体１２０の中に記憶される、画像記憶パターン、テクスチャ、及びその他の視覚情報を含みうる。２次元画像情報は、それから、動作３０８で処理回路１１０によってアクセスされうる。
【００７２】
一部の状況では、アクセスされる２次元画像情報は、非一時的コンピュータ可読媒体１２０に記憶されてもよく、２次元画像感知装置１５２から受信する情報に基づいて、処理回路１１０自体によって事前に生成されていてもよい。例えば、処理回路１１０は、２次元画像感知装置１５２から受信する未加工のセンサーデータに基づいて、２次元画像を生成するように構成されてもよく、生成された２次元画像を非一時的コンピュータ可読媒体１２０に記憶するように構成されてもよい。２次元画像は、次に、後続の動作で処理回路１１０によってアクセスされてもよい（例えば、非一時的コンピュータ可読媒体１２０からデータを読み出すことによって）。
【００７３】
図３Ａ及び３Ｂに戻って参照すると、方法３００はさらに、計算システム１０１の処理回路１１０が、ステップ３０４の物体の３次元位置に対応する、２次元画像情報（例えば、５００）内の２次元位置を決定する、動作３１０を含みうる。一部の事例では、２次元位置は、以下でより詳細に論じるように、ステップ３０４の３次元位置の投影であってもよく、投影された２次元隅角と呼んでもよい。一部の事例では、２次元位置は、２次元画像情報内のピクセル座標［ｕ  ｖ］Ｔなど、２次元座標を含んでもよく、又はそれによって画定されてもよい。このような場合、２次元画像情報は、２次元画像を形成する複数のピクセルであってもよく、又はそれらを含んでもよい。一実施例として、ここで図５Ｆを参照すると、処理回路１１０は、図５Ａから５Ｄの３次元位置４０５Ａに対応する、２次元位置５０５Ａを識別してもよい。２次元位置５０５Ａはまた、物体４１０の隅角４１５Ａを表してもよい。より詳細には、２次元位置５０５Ａは、隅角４１５Ａがどこで見つかるかを正確に示してもよく、又は隅角４１５Ａがどこで見つかるかに近似してもよい。
【００７４】
一実施形態では、２次元位置５０５Ａは、空間構造情報４００／４００Ａの基準フレーム（３次元空間と呼んでもよい）から、２次元画像情報５００の基準フレーム（２次元空間と呼んでもよい）へ、３次元位置４０５Ａを投影することによって決定されてもよい。一部の実例では、空間構造情報４００／４００Ａの基準フレームは、例えば、空間構造感知装置１５１／１５１Ａに対して定義される３次元物理座標系であってもよく、２次元画像情報５００の基準フレームは、例えば、２次元画像感知装置１５２／１５２Ａに対して定義されるピクセル座標系であってもよい。一実施例として、投影動作は、空間構造感知装置１５１／１５１Ａと２次元画像感知装置１５２／１５２Ａとの空間関係（例えば、相対位置及び／又は相対的向き）に基づき、２次元画像感知装置１５２／１５２Ａの射影行列に基づいてもよい。空間関係は、空間構造感知装置１５１／１５１Ａの３次元座標系で３次元位置４０５Ａを表示する、３次元座標（例えば、［Ｘ  Ｙ  Ｚ］Ｔ）を、２次元画像感知装置１５２／１５２Ａの３次元座標系で同じ３次元位置４０５Ａを表示する、別の３次元座標（例えば、［Ｘ’  Ｙ’  Ｚ’］Ｔ）に変換するように構成される、変換関数（例えば、行列）によって表されてもよい。より詳細には、変換は以下のように表されてもよい。
【数１】
0006730762.tif 000002
（方程式１）
【００７５】
この例では、
【数２】
0006730762.tif 000003
が、変換関数であってもよく、より具体的には、空間構造感知装置１５１／１５１Ａと２次元画像感知装置１５２／１５２Ａとの空間関係（例えば、相対位置及び／又は相対的向き）を記述する、行列であってもよい。一部の事例では、変換関数は、非一時的コンピュータ可読媒体１２０に記憶されてもよく、手動で決定されても、又は例えば、ステレオ較正動作によって決定されていてもよい。
【００７６】
上の例では、処理回路１１０は、２次元画像感知装置１５２／１５２Ａの射影行列に基づいて、２次元位置５０５Ａを定義するピクセル座標［ｕ  ｖ］Ｔを決定するように構成されてもよい。決定は以下のように表されてもよい。
【数３】
0006730762.tif 000004
（方程式２）
【００７７】
上の例では、Ｋが２次元画像感知装置１５２／１５２Ａの射影行列でありうる。射影行列は、例えば、非一時的コンピュータ可読媒体１２０に記憶されてもよく、カメラ較正動作から決定されていてもよい。一部の事例では、ピクセル座標の決定にはさらに、２次元画像感知装置１５２／１５２Ａによって導入される、任意のレンズひずみを考慮に入れてもよい。一実施形態では、制御回路１１０は、複数の３次元位置に対応する、複数の２次元位置を識別するために、動作３１０を複数回行ってもよい。例えば、図５Ｆに描写するように、制御回路１１０は、物体４２０の隅角４２５Ａを表す、３次元位置４０５Ｂに対応する、２次元位置５０５Ｂを識別してもよい。制御回路１１０はまた、物体４３０／４４０の隅角４３５Ａ／４４５Ａを表す、３次元位置４０５Ｃ／４０５Ｄに対応する、２次元位置５０５Ｃ／５０５Ｄも識別してもよい。
【００７８】
図３Ａ及び３Ｂに戻って参照すると、方法３００はさらに、計算システム１０１の処理回路１１０が、動作３０６の３次元ベクトルに対応する、２次元ベクトルを決定する、動作３１２を含みうる。一実施形態では、２次元ベクトルは、以下でより詳細に論じるように、３次元ベクトルの投影であってもよく、それゆえ、投影された２次元エッジ又は投影された２次元物体エッジと呼んでもよい。一実施例として、図５Ｆを参照すると、処理回路１１０は、図５Ｃ〜５Ｅの３次元ベクトル４０６Ａ−１に対応する、２次元ベクトル５０６Ａ−１を識別してもよい。一実施形態では、２次元ベクトル５０６Ａ−１は、少なくとも二つのピクセル座標［ｕ１  ｖ１］Ｔ及び［ｕ２  ｖ２］Ｔなど、少なくとも二つの２次元座標（例えば、正確に二つの２次元座標）によって画定されてもよい。２次元ベクトル５０６Ａ−１は、例えば、向きを示してもよい。一部の事例では、２次元ベクトル５０６Ａ−１はさらに、方向性（例えば、［ｕ１  ｖ１］Ｔから［ｕ２  ｖ２］Ｔへ）、及び／又は大きさ（例えば、［ｕ１  ｖ１］Ｔから［ｕ２  ｖ２］Ｔの間の距離により画定される大きさ）を示してもよい。一部の事例では、２次元ベクトル５０６Ａ−１は、特定の向き及び／又は位置を有する線を画定するために使用されてもよく、表示も方向性も、及び／又は大きさの表示も有さない場合がある。
【００７９】
一実施形態では、処理回路１１０は、上で論じるように、空間構造情報４００／４００Ａの基準フレームから、２次元画像情報５００の基準フレームへ、３次元ベクトル４０６Ａ−１を投影することによって、２次元ベクトル５０６Ａ−１を識別してもよい。例えば、投影動作は、３次元ベクトル４０６Ａ−１を一部又は完全に画定する、３次元座標［Ｘ１  Ｙ１  Ｚ１］Ｔ及び［Ｘ２  Ｙ２  Ｚ２］Ｔを投影して、２次元ピクセル座標［ｕ１  ｖ１］Ｔ及び［ｕ２  ｖ２］Ｔをそれぞれ取得することを伴ってもよい。投影動作は、ステップ３１０での２次元位置の決定に関して、上に記載したものと類似又は同じであってもよい。一実施形態では、２次元ベクトル５０６Ａ−１は、二つの２次元ピクセル座標によって、少なくとも一部画定されてもよい。一部の事例では、２次元ベクトル５０６Ａ−１は、３次元ベクトル４０６Ａ−１の投影の向きを表してもよく、これはまた、投影されたエッジ向き又は投影された２次元エッジ向きと呼んでもよい。
【００８０】
一実施形態では、２次元ベクトル５０６Ａ−１の決定は、ステップ３１０の２次元位置及び／又はステップ３０４の３次元位置によって表される隅角に対する、２次元隅角の向き決定の一部であってもよい。一部の事例では、２次元隅角の向きは、空間構造情報４００／４００Ａの基準フレームから、２次元画像情報５００の基準フレームへの、３次元隅角の向きの投影であってもよい。上述のように、３次元位置（例えば、４０５Ａ）によって表される隅角に対する３次元隅角の向きは、例えば、隅角に対する物体構造の向きを指してもよく、複数のベクトル（例えば、４０６Ａ−１、４０６Ａ−２、４０６Ａ−３）によって画定されてもよい。一実施形態では、２次元位置（例えば、５０５Ａ）によって表される隅角（例えば、４１５Ａ）に対する２次元隅角の向きは、物体の表面（例えば、物体４１０の表面４１１）が、隅角に対してどのように方向づけられるかを指してもよい。一部の実例では、２次元隅角の向きは、二つ以上の２次元ベクトルによって画定されてもよい。例えば、図４Ｃ及び５Ｇによって示すように、２次元位置５０５Ａによって表される、物体４１０の隅角４１５Ａに対する２次元隅角の向き（図４Ｃに描写するように）は、ベクトル５０６Ａ−１及び５０６Ａ−２によって画定されてもよい（図５Ｇに描写するように）。さらにこの実施例では、２次元位置５０５Ｂによって表される、物体４２０の隅角４２５Ａに対する２次元隅角の向きは、ベクトル５０６Ｂ−１及び５０６Ｂ−２によって画定されてもよい。２次元位置５０５Ｃによって表される、物体４３０の隅角４３５Ａに対する２次元隅角の向きは、ベクトル５０６Ｃ−１及び５０６Ｃ−２によって画定されてもよい。２次元位置５０５Ｄによって表される、物体４４０の隅角４４５Ａに対する２次元隅角の向きは、ベクトル５０６Ｄ−１及び５０６Ｄ−２によって画定されてもよい。便宜上、物体４１０〜４４０の物体構造は、隅角４１５Ａ〜４４５Ａから内向きに延びると呼んでもよく、２次元ベクトル（例えば、５０６Ａ−１、５０６Ａ−２から５０６Ｄ−１、５０６Ｄ−２）もまた、内向きに延びると呼んでもよい。
【００８１】
一実施形態では、処理回路１１０は、２次元隅角の向きを画定するであろう、一つ以上のそれぞれの２次元ベクトルを決定するように、３次元隅角の向きを画定する３次元ベクトルのうちの一つ以上を投影することによって、２次元隅角の向きを取得するために、上で論じた３次元隅角の向きを投影するように構成されてもよい。例えば、図５Ｅ及び５Ｇに描写するように、処理回路は、２次元位置５０５Ａにより表される隅角４１５Ａに対する２次元向きを、その隅角に対する３次元隅角の向きを画定する、少なくとも二つの３次元ベクトル（例えば、４０６Ａ−１及び４０６Ａ−２）を投影することによって決定してもよい。投影動作によって、２次元位置５０５Ａによって表される隅角４１５Ａの２次元隅角の向きを画定する、二つのそれぞれの２次元ベクトル（例えば、５０６Ａ−１及び５０６Ａ−２）を得てもよい。一部の事例では、二つの２次元ベクトルは、直交する場合、直角を表していてもよい。一実施形態では、処理回路１１０は、その他の隅角（例えば、図４Ｃの４２５Ａ、４３５Ａ、４４５Ａ）に対する３次元隅角の向きを投影して、対応する２次元隅角の向きを決定するように構成されてもよい。例えば、処理回路１１０は、図５Ｅの４０６Ｂ−１及び４０６Ｂ−２など、二つの対応する３次元ベクトルを、３次元空間から２次元空間の中へ投影することによって、２次元位置５０５Ｂにより表される隅角に対する２次元隅角の向きを画定しうる、２次元ベクトル５０６Ｂ−１及び５０６Ｂ−２を決定するように構成されてもよい。処理回路１１０はさらに、類似の様式で、２次元ベクトル５０６Ｃ−１及び５０６Ｃ−２、ならびに／又は２次元ベクトル５０６Ｄ−１及び５０６Ｄ−２を決定してもよい。これらのベクトルは、２次元位置５０５Ｃ及び５０５Ｄによりそれぞれ表される隅角に対して、それぞれの２次元隅角の向きを画定してもよい。
【００８２】
図３Ａ及び３Ｂに戻って参照すると、方法３００はさらに、計算システム１０１の処理回路１１０が、図５Ｈのエッジ検出領域５２０及び図５Ｉのエッジ検出領域５２１など、エッジ検出領域を決定する、動作３１４を含んでもよい。一実施形態では、エッジ検出領域（例えば、５２０／５２１）は、処理回路１１０が、物体エッジ４１６Ｃ／４３６Ｃなど、物体に対して物体エッジを識別するように試みうる、２次元画像情報５００の領域であってもよい。すなわち、処理回路１１０は、エッジ検出領域５２０／５２１の中で、２次元画像情報によって表される個々の物理的物体の一つ以上のエッジを検索してもよい。一実施形態では、処理回路は、エッジ検出領域５２０／５２１に現れるか、又はその他の方法でその中に含まれる候補エッジの中から、物体エッジを識別するように試みてもよい。
【００８３】
実施形態では、２次元画像情報５００内でのエッジ検出領域５２０／５２１の決定は、ステップ３１０で識別される２次元位置、ステップ３１２で識別される２次元ベクトル、及び／又は上で論じた２次元隅角の向きに基づく。例えば、図５Ｈを参照すると、エッジ検出領域５２０は、隅角がステップ３１０で決定される２次元位置（例えば、５０５Ａ）で見つかる、２次元画像情報５００の一領域でありうる。一部の事例では、この領域は、２次元隅角の向きに合致する向きを有してもよい。例えば、領域５２０の境界（また領域５２０のエッジとも呼ぶ）は、２次元隅角の向きを画定する、２次元ベクトル５０６Ａ−１と同じ向きを有してもよい。
【００８４】
一実施形態では、処理回路は、画定された最大物体サイズに基づいて、エッジ検出領域５２０のサイズ及び／又は位置を決定してもよい。エッジ検出領域５２０のサイズは、例えば、エッジ検出領域５２０の長さ及び幅（例えば、単位ピクセル）など、一つ以上の寸法を指しうる。画定された最大物体サイズ（また最大候補サイズと呼んでもよい）は、例えば、空間構造感知装置１５１／１５１Ａ及び／又は２次元画像感知装置１５２／１５２Ａの視野中に置かれると予想される、最大物体の長さならびに幅（例えば、単位ｃｍ）など、一つ以上の寸法を指しうる。一部の事例では、画定された最大物体サイズは、事前に定義され、非一時的コンピュータ可読媒体１２０に記憶される、値を有してもよい。一実施例では、処理回路１１０は、２次元画像感知装置１５２／１５２Ａの射影行列に基づいて、又は射影行列によって示される焦点距離及び画像センサーサイズに基づいて、画定された最大物体サイズの長さに対応するピクセル数を示す、第一の計数と、画定された最大物体サイズの幅に対応するピクセル数を示す、第二の計数とを決定してもよい。この実施例では、エッジ検出領域５２０は、第一の計数と等しい長さ、及び第二の計数と等しい幅を有してもよい。この実施形態では、画定された最大物体サイズと等しいか、又はそれより小さいサイズを有する、いかなる物理的物体も、エッジ検出領域５２０内に収まる２次元画像情報５００の領域へ投影されるべきである。したがって、処理回路１１０は、エッジ検出領域５２０内の物体エッジを検索してもよく、エッジ検出領域５２０の外側にある物体エッジは検索しなくてもよい。一実施形態では、エッジ検出領域５２０は、２次元位置５０５Ａで一致し、２次元隅角の向きによって示される方向に延びる、隅角を有する長方形領域であってもよい。より詳細には、２次元ベクトルが方向性を示す場合、エッジ検出領域５２０／５２１は、２次元ベクトル５０６Ａ−１の方向、及び／又は２次元ベクトル５０６Ａ−２の方向に合致する方向（例えば、内方向）に延びてもよい。
【００８５】
一実施形態では、処理回路は、画定された最小物体サイズ、及び／又は画定された最大物体サイズに基づいて、図５Ｉのエッジ検出領域５２１のサイズ及び／又は位置を決定してもよい。画定された最小物体サイズ（また最小候補サイズと呼んでもよい）は、例えば、空間構造感知装置１５１／１５１Ａ及び／又は２次元画像感知装置１５２／１５２Ａの視野中に置かれると予想される、最小物体の長さならびに幅（例えば、単位ｃｍ）など、一つ以上の寸法を指しうる。一部の事例では、画定された最大物体サイズ及び／又は画定された最小物体サイズは、非一時的コンピュータ可読媒体１２０上に記憶される、テンプレート（例えば、物体認識テンプレート）の中で画定されてもよい。一部の事例では、画定された最小物体サイズは、事前に定義され、非一時的コンピュータ可読媒体１２０に記憶される、値を有してもよい。一実施例では、図５Ｊに示すように、画定された最小物体サイズは、２次元画像情報５００の中の第一の領域５２２に対応してもよい。例えば、第一の領域５２２は、画定された最小物体サイズの投影であってもよい（例えば、焦点距離及び／又は画像センサーサイズに基づく）。第一の領域５２２は、位置５０５Ａにある隅角を有してもよく、ベクトル５０６Ａ−１及び／又は５０６Ａ−２に合致する向きを有してもよい。この実施例では、画定された最小物体サイズと等しいか、又はそれより大きいサイズを有する、いかなる物理的物体も、第一の領域５２２を超えて延びる位置へ投影されるべきである。さらに図５Ｊで描写するように、画定された最大物体サイズは、図５Ｈのエッジ検出領域５２０と同じであってもよい、第二の領域５２０に対応してもよい。一部の状況では、処理回路１１０は、第一の領域５２２の外側だが、第二の領域５２０内にある物体エッジを検索してもよい。こうした状況では、処理回路１１０は、第一の領域５２２の外側であり、第二の領域５２０内の領域である、エッジ検出領域５２１を使用していてもよい。
【００８６】
図３Ａ及び３Ｂに戻って参照すると、方法３００はさらに、計算システム１０１の処理回路１１０が、２次元画像情報（例えば、５００）によって表される物体構造のいかなる物体エッジも表さない、エッジ検出領域（例えば、５２０／５２１）内で、候補エッジの一つ以上のクラスタを識別する、動作３１６を含んでもよい。例えば、図６Ａは、２次元画像情報５００に表される物体４１０の物体構造のいかなる物体エッジも表さない、エッジ検出領域５２０の中の候補エッジのクラスタ６０３、６０５、６０７の例を描写する。どの候補エッジが、クラスタ６０３、６０５、６０７に属するかの決定について、以下でより詳細に論じる。一実施形態では、処理回路１１０は、候補エッジと、動作３１４で決定された２次元ベクトル（例えば、５０６Ａ−１）との比較に基づいて、クラスタ６０３、６０５、６０７に属する候補エッジが、物体構造のいかなる物体エッジも表さないと決定しうる。例えば、処理回路１１０は、クラスタ６０３の候補エッジのそれぞれの向きを、また投影されたエッジ向きと呼んでもよい、２次元ベクトルと比較するように構成されてもよい。上述のように、２次元ベクトル（例えば、５０６Ａ−１）は、２次元ベクトルが延びる２次元位置（例えば、５０５Ａ）によって表される隅角に対して、２次元隅角の向きの少なくとも一部を画定しうる。したがって、上で論じる向きの比較は、２次元位置（例えば、５０５Ａ）によって表される隅角に対する２次元隅角の向きとの、候補エッジのそれぞれの向きの比較の一部でありうる。比較によって、クラスタ６０３、６０５、６０７の候補エッジが、２次元ベクトル（例えば、５０６Ａ−１）の向きに十分に合致しないと示される場合、処理回路１１０は、クラスタ６０３、６０５、６０７の候補エッジが、物体エッジを表さない可能性があると判定してもよい。例えば、クラスタ６０３、６０５、６０７の候補エッジが、ベクトル５０６Ａ−１ともベクトル５０６Ａ−２（また２次元隅角の向きの一部を画定しうる）とも十分に平行でない場合、候補エッジは偽エッジである高い可能性を有しうる。したがって、処理回路１１０は、偽エッジを物体エッジとして識別する可能性を減少させるために、候補エッジをフィルタリングして２次元画像情報５００から取り除いてもよく、又はより広くは、物体４１０の物体エッジを検索するときに、候補エッジを無視してもよい。
【００８７】
一実施形態では、候補エッジの一つ以上のクラスタへのグループ化は、計算システム１０１が候補エッジの処理をより少ないステップに集約するのを可能にすることによってなど、２次元画像情報（例えば、５００）の中の候補エッジのより効率的な処理を提供しうる。例えば、クラスタリング動作は、候補エッジを、個々の候補エッジごとではなく、クラスタごとに処理する（例えば、フィルタリングして取り除く）ことを可能にしうる。
【００８８】
一部の事例では、動作３１６は、どの候補エッジが、一つ又は複数のクラスタにグループ化されるべきかを識別し、その後、その又はそれらのクラスタのどれが、２次元画像情報（例えば、５００）の中に表される物体（例えば、４１０〜４４０）のいずれの物体エッジも表さないかを判定することを含みうる。一つ以上のクラスタが、２次元画像情報５００から識別されてもよい。計算システム１０１は、いくつかのクラスタリング技術のうちの任意の一つ又は任意の組み合わせによって、候補エッジのクラスタを識別しうる。
【００８９】
一実施形態では、計算システム１０１は、候補エッジのそれぞれの向き間の類似性に基づいて、候補エッジをグループ化する向きクラスタリング技術によって、候補エッジのクラスタを識別しうる。例えば、この実施形態の計算システム１０１は、候補エッジによって共有される平行度を判定してもよく、相互に平行又はほぼ平行な候補エッジを、同じクラスタに属すると識別してもよい。例えば、図６Ａは、計算システム１０１が、図６Ｂの候補エッジ５６３Ａなど、クラスタ６０３の候補エッジのうちの一つと平行、又は実質的に平行な候補エッジを、クラスタ６０３に属すると識別した例を描写する。一実施形態では、向きが類似する候補エッジの識別は、クラスタのターゲットベクトルと比較したときに、向きが定義された角度閾値（例えば、選択された度数）内である候補エッジをグループ化することを伴いうる。クラスタのターゲットベクトルは、例えば、ステップ３１２で決定される２次元ベクトル（例えば、５０６Ａ−１）であってもよい。各候補エッジは、候補エッジの角度を決定するために、クラスタのターゲットベクトルと向きを比較されてもよい。角度が角度閾値より小さい場合、候補エッジはクラスタに含まれうる。一部の事例では、クラスタのターゲットベクトルとの向き類似性に基づいて、クラスタを識別することは、事前に定義された領域内にあり、２次元ベクトル（例えば、５０６Ａ−１）とのそれぞれの角度が、クラスタのターゲットベクトルの定義された閾値内である全候補エッジが、一つのクラスタにグループ化される、絶対クラスタリングをもたらしうる。これらの場合、クラスタのターゲットベクトルの定義された閾値内の向きを有する候補エッジは、クラスタのターゲットベクトルと実質的に同じ向きを有するとみなされうる。また角度閾値とも呼ぶ、定義された閾値は、例えば、５°、４°、３°、２°、又は１°以内であってもよい。それら比較が角度閾値を下回る角度となった場合に、それぞれの候補エッジが共にクラスタリングされうる。角度閾値を調整、又はその他の方法で動的に定義する場合、結果として得られるクラスタリングは、流動的なクラスタ境界を有しうる。クラスタのサイズは、角度閾値のサイズに基づいて制御されてもよい。より大きな角度閾値は、大きいクラスタをもたらしうる一方、より小さな角度閾値は、より小さいクラスタをもたらしうる。適切な角度閾値の選択は、各クラスタの角度の合計範囲を制御するのに重要でありうる。角度閾値内である角度差を有する候補エッジは、実質的に同じ向きを有するとみなされうる。適切な角度閾値には、５°、４°、３°、２°、又は１°以内を含みうる。
【００９０】
一実施形態では、二つの候補エッジのそれぞれの向き間における類似度の判定は、二つの候補エッジのドット積又は外積に基づいてもよい。例えば、図６Ｂの候補エッジ５６３Ａ及び５６３Ｂのそれぞれの向きの類似度を判定するために、二つの候補エッジ５６３Ａ及び５６３Ｂと平行である、図６Ｂのベクトルｖ１及びｖ２など、二つのそれぞれのベクトルの外積を決定しうる。外積の大きさは、二つの候補エッジのそれぞれの向き間の類似度を示しうる。例えば、相互に完全に平行な二つの候補エッジの外積は、ゼロでありうる。一部の事例では、外積の大きさが、上で論じた定義された角度閾値を下回る場合、二つの候補エッジは、同じクラスタに属するように、相互に十分平行であるとみなされうる。
【００９１】
一実施形態では、計算システム１０１は、相互に同一直線上にある候補エッジをグループ化する、アライメントクラスタリング技術に基づいて、候補エッジのクラスタを識別しうる。共直線性に基づく候補エッジのグループ化は、相互に整列又は実質的に整列する候補エッジのグループ化を指しうる。例えば、図６Ａ及び６Ｃは、同一直線上にある候補エッジ５６５Ａ〜５６５Ｄを含む、クラスタ６０５を描写する。言い換えれば、候補エッジ５０５Ａ〜５０５Ｄは、相互に整列又は実質的に整列（指定された閾値内で）してもよい（候補エッジ５６５Ａ〜５６５Ｄもまた、類似の向きを有することに基づいて、グループ化されうる）。一実施形態では、図６Ｃに示すように、アライメントクラスタリング技術は、候補エッジ５６５Ａ〜５６５Ｄの少なくとも一つからの、外挿ベクトル（例えば、線）６０５Ａの決定に基づいて行われてもよい。外挿ベクトル６０５Ａは、例えば、図６Ａのエッジ検出領域５２０の境界へ、例えば、少なくとも一つの候補エッジを外向きに外挿することによって、少なくとも一つの候補エッジ（例えば、５６５Ａ）と同一直線上となってもよい。この実施形態では、アライメントクラスタリング技術は、その他のどの候補エッジ（例えば、５６５Ｂ〜５６５Ｄ）が、外挿ベクトル６０５Ａに位置するかの決定に基づいてもよい。一実施形態では、アライメントクラスタリング技術は、候補エッジ５０３Ａ〜５０３Ｄに対してそれぞれの外挿ベクトルを決定し、外挿ベクトルが重複するかを判定することを伴いうる。例えば、長さにおいて外挿されるときに、二つの候補エッジが重複する場合、計算システム１０１はそれらが整列しているとみなしてもよい。
【００９２】
一実施形態では、実質的な共直線性（また実質的な類似アライメントとも呼ぶ）は、事前に定義された角度閾値及び／又は所定のオフセット閾値に従って画定されうる。二つの候補エッジに対する角度閾値は、例えば、二つの候補エッジ間の角度が、角度閾値（例えば、５°、４°、３°、２°、又は１°など、一定の度数）内であること、又はステップ３１２の２次元ベクトルを用いて、二つの候補エッジの各々によって形成されるそれぞれの角度が、角度閾値内であることを要求しうる。二つの候補エッジに対するオフセット閾値は、例えば、候補エッジがオフセット閾値よりも小さいオフセットを有することを要求しうる。一実施形態では、二つの候補エッジ間のオフセットは、候補エッジから延びる、又はその他の方法で外挿される、それぞれの線間の距離によって画定されうる。一実施形態では、オフセットは、外挿された線のそれぞれの中心点間の距離として測定されてもよい。
【００９３】
一実施形態では、計算システム１０１は、近接状態を満たす候補エッジをグループ化する、近接クラスタリング技術に基づいて、候補エッジのクラスタを識別しうる。近接状態は、例えば、相互に近接する候補エッジを指しうる。例えば、図６Ａ及び６Ｄは、相互に近接する候補エッジ５６７Ａ〜５６７Ｄを含む、クラスタ６０７を描写する。一実施形態では、計算システム１０１は、候補エッジの位置間、又は候補エッジから外挿された線間の距離が、定義された距離閾値を満たすかの判定に基づいて、近接状態を満たしているかを判定してもよい。一実施形態では、候補エッジの位置（また候補エッジ位置とも呼ぶ）間の距離は、図６Ｄに示す中心点５６８Ａ〜５６８Ｄなど、候補エッジのそれぞれの中心点間の距離であってもよい。一実施形態では、二つの候補エッジに対する候補エッジ位置間の距離は、候補エッジ間の最大距離でありうるが、これは、相互に最も遠い二つの候補エッジ上の、それぞれの位置間の距離でありうる。
【００９４】
上述のように、複数のクラスタリング技術を組み合わせて、どの候補エッジが特定のクラスタに属するかを識別しうる。例えば、図６Ｂのクラスタ６０３は、向きクラスタリング技術と近接クラスタリング技術の組み合わせに基づいて、クラスタにグループ化されうる。より詳細には、クラスタ６０３は、相互に十分に類似したそれぞれの向きを有し、相互間の距離が定義された距離閾値内である、候補エッジを含んでもよい。一部の事例では、計算システム１０１は、候補エッジを複数のクラスタに属すると識別してもよい。
【００９５】
図６Ｅは、計算システム１０１が、例えば、上で論じた向きクラスタリング技術に基づいて、クラスタ６１１、６１３、及び６０９を識別する実施例を描写する。一部の事例では、クラスタ６０９、６１１、及び６１３は、動作３１６のクラスタが、偽エッジである可能性が高い候補エッジを含みうるため、動作３１６のクラスタとして識別されるものから除外される場合があり、その一方でクラスタ６０９、６１１、及び６１３の候補エッジは、偽エッジである可能性がより低い（例えば、ゼロ）場合がある。例えば、クラスタ６１１は、候補エッジ５６１Ｂ及び５６１Ｃを含んでもよく、その一方でクラスタ６１３は、候補エッジ５６１Ａ及び５６１Ｄを含みうる。これらの候補エッジ５６１Ａ〜５６１Ｄは、実際に物体４１０の物理的エッジを表す。一部の実施では、ステップ３１８（以下で論じる）の２次元物体エッジは、クラスタ６０９、６１１、６１３の中から識別されてもよい。
【００９６】
一実施形態では、計算システム１０１は、定義された最小長さの閾値を下回る長さを有する候補エッジを、クラスタ（例えば、６０３、６０７、６０５、６０９、６１１、６１３）から除外してもよい。したがって、この実施形態のクラスタは各々、定義された最小長さの閾値を超える候補エッジからなりうる。
【００９７】
動作３１６は、いかなる物体エッジをも表さない、候補エッジのクラスタ識別を伴う一方、一部の実施形態では、いかなる物体エッジをも表さない、一つ以上の個々の候補エッジを、追加的又は代替的に特定してもよい。こうした判定は、上で論じるように、個々の候補エッジの向きと、動作３１４の２次元ベクトル（例えば、５０６Ａ−１）の向きとの比較、又はより広くは、個々の候補エッジの向きと、２次元隅角の向きとの比較に基づいてもよい。
【００９８】
図３Ａ及び３Ｂに戻って参照すると、方法３００はさらに、計算システム１０１の処理回路１１０が、動作３１６で識別された候補エッジのクラスタの一部ではない候補エッジを、２次元物体エッジとして識別する動作３１８を含みうる。識別される２次元物体エッジは、以下で論じるように、セグメンテーション動作を行うために使用されうるので、またセグメンテーションエッジと呼んでもよい。さらに、計算システム１０１が、２次元物体エッジを識別するときに、偽エッジである可能性が高い場合がある、動作３１６のエッジのクラスタを無視するため、動作３１８で識別される２次元物体エッジは、正しく識別された２次元物体エッジとして検証される可能性がより高い場合がある。したがって、２次元物体エッジはまた、検証可能エッジと呼んでもよい。一実施例として、動作３１８は、２次元画像情報（例えば、５００）の２次元物体エッジとして、候補エッジ５６１Ｄを識別することを伴いうる。２次元物体エッジは、例えば、物体４１０の物理的エッジ４１６Ｄを表してもよい（図４Ｃに示すように）。一実施形態では、動作３０６のベクトル（例えば、４０６Ａ−１）と平行なエッジ（例えば、４１６Ａ）は、対応する物体構造（例えば、物体４１０の物体構造）の第一のエッジであってもよく、その一方で２次元物体エッジは、エッジ４１６Ｄ又はエッジ４１６Ｃなど、物体構造の別のエッジを表してもよい。
【００９９】
一実施形態では、動作３１８は、動作３１６で識別されたクラスタを除去する、更新された２次元画像情報を生成するように、２次元画像情報のフィルタリングを伴いうる。この実施形態では、２次元物体エッジは、更新された２次元画像情報（例えば、更新された２次元画像情報に依然として表われる）の中に残る候補エッジの中から識別されてもよい。例えば、図６Ｆは、動作３１６で識別されるクラスタの実施例を描写する。クラスタは、クラスタ６０３、６０５、６０７、及び完全に又は一部がエッジ検出領域５２０内でありうる、その他のクラスタ（破線の境界で描写される）を含む。図６Ｇは、図６Ｆで識別されたクラスタが除去された、更新された２次元画像情報５００Ａを描写する。この実施例では、動作３１８は、更新された２次元画像情報５００Ａからの２次元物体エッジとして、候補エッジ５６１Ｄを識別することを伴いうる。一実施形態では、図６Ｆの２次元画像情報５００は、図６Ｆのクラスタの候補エッジをマーク又はフラグ付けして、動作３１８に対してそれらを無視すべきことを示すことによって更新されてもよい。一実施形態では、動作３１８は、複数の２次元物体エッジの識別を伴いうる（又は識別するために複数回行ってもよい）。例えば、動作３１８は、２次元画像情報５００によって表される物体の物体構造の第一の２次元物体エッジとして、候補エッジ５６１Ｄを識別することと、物体構造の第二の物体エッジとして候補エッジ５６１Ｃを識別することとを伴いうる。
【０１００】
一実施形態では、計算システム１０１は、動作３１８の一部として、又はその他の動作の一部として、候補エッジのクラスタ又は個々の候補エッジをフィルタリングして、２次元画像情報から取り除いてもよい。一部の事例では、２次元物体エッジ（またセグメンテーションエッジとも呼ぶ）として、検討から候補エッジをフィルタリングする、又はその他の方法で排除することが、候補エッジのそれぞれの向きに従って行われうる。例えば、エッジ検出領域（例えば、５２０）の中の、又は動作３１２で決定された２次元ベクトルの向きに十分合致しない（指定された閾値内において）、もしくはより広くは、２次元ベクトルと関連する２次元隅角の向きに十分合致しない、それぞれの向きを候補エッジが有する、２次元画像情報の中のいかなるクラスタも、セグメンテーションエッジとして検討から排除されうる。この実施例では、２次元ベクトルの向きは、投影される２次元エッジの向きでありうる。
【０１０１】
一実施形態では、フィルタリングは、ステップ３０６で決定される３次元ベクトルの向きに従ってもよい。３次元ベクトルの向きは、３次元エッジ向きであってもよい。この実施形態では、エッジ検出領域（例えば、５２０）の中の、又はそれぞれの向きが３次元エッジの向きに十分合致しない、もしくは３次元エッジの向きと関連する３次元隅角の向きに十分合致しない、候補エッジを有する２次元画像情報の中のいかなるクラスタも、セグメンテーションエッジとして検討から排除されうる。上述のように、フィルタリングして取り除かれる候補エッジは、偽エッジである可能性が高く、それゆえ、２次元画像情報の中に表される物体の物理的エッジを実際に表す可能性が低い場合がある。
【０１０２】
一実施形態では、フィルタリングは、候補エッジの一部分に従って行われてもよい。例えば、動作３１０で決定される２次元位置からは離れすぎる（物体構造の隅角を表す）、又はステップ３１２で決定される２次元ベクトルからは離れすぎる（投影された２次元物体エッジである）候補エッジは、フィルタリングして取り除かれてもよい。一部の事例では、候補エッジは、エッジ検出領域（例えば、５２０）外に位置する場合、離れすぎているとみなされる場合がある。一部の事例では、候補エッジの位置と２次元位置又は２Ｄ次元ベクトルとの距離が、上で論じた定義された最大物体サイズの値を超える場合、候補エッジは離れすぎているとみなされる場合がある。候補エッジの位置は、上で論じたように、例えば、候補エッジの、又は外挿された線の中心点であってもよい。一実施形態では、上で論じたフィルタリング技術のいかなる組み合わせを、計算システム１０１が用いてもよい。例えば、候補エッジクラスタは、向きのみ、又は向き及び位置の組み合わせに従ってフィルタリングされてもよい。
【０１０３】
図３Ａ及び３Ｂに戻って参照すると、方法３００はさらに、動作３１８で識別された２次元物体エッジ（セグメンテーションエッジと呼んでもよい）に基づいて、計算システム１０１の処理回路１１０が、空間構造情報（例えば、４００／４００Ａ）のセグメンテーションを行う動作３２０を含みうる。一実施形態では、動作３２０は、図２Ｃのセグメンテーション管理部２０４によって行われてもよい。
【０１０４】
一実施形態では、動作３２０は、２次元物体エッジに対応する、３次元ベクトルの決定を伴いうる。この実施形態では、動作３０６で識別された３次元ベクトルは、物体構造の第一のエッジを表す第一の３次元ベクトルであってもよく、その一方、動作３２０で識別された３次元ベクトルは、物体構造の第二のエッジを表してもよい。こうした実施形態のセグメンテーションは、第一の３次元ベクトルと第二の３次元ベクトルとの間の点を表す、空間構造情報（例えば、４００／４００Ａ）の一部分の抽出を伴いうる。例えば、図７Ａは、ベクトル４０６Ａ−１（動作３０６で決定された）が、第一の３次元ベクトルである実施例を描写し、その中で動作３１８において２次元物体エッジとして識別された、候補エッジ５６１Ｄを使用して、第二の３次元ベクトル４０６Ｅ−１を決定してもよい。動作３２０は、第一のベクトル４０６Ａ−１と第二のベクトル４０６Ａ−１との間の点（二つのベクトルに位置する点を含む）を表す、空間構造情報４００Ａの一部分の抽出を伴いうる。ベクトル４０６Ａ−１は、上で論じるように、物体４１０の物体構造の第一のエッジを表してもよく、その一方でベクトル４０６Ｅ−１は、物体構造の別のエッジ（例えば、第二のエッジ）を表してもよい。
【０１０５】
一実施形態では、３次元ベクトル４０６Ｅ−１は、２次元画像情報５００／５００Ａの基準フレーム（２次元空間と呼んでもよい）から、空間構造情報４００／４００Ａの基準フレーム（３次元空間と呼んでもよい）へ、２次元物体エッジとして識別された候補エッジ５６１Ｄを投影することによって決定されてもよい。一部の事例では、投影動作は、候補エッジ５６１Ｄ上にある、少なくとも二つの２次元ピクセル座標（［ｕ  ｖ］Ｔ座標）の、それぞれの３次元座標［Ｘ’  Ｙ’  Ｚ’］Ｔへの変換を伴ってもよく、３次元座標は、２次元画像感知装置１５２／１５２Ａに対して表示される。変換は、例えば、２次元画像感知装置１５２／１５２Ａの逆射影行列に基づいてもよい。
【数４】
0006730762.tif 000005
（方程式３）
【０１０６】
一部の事例では、上の式は、２次元画像感知装置１５２／１５２Ａによって導入される、任意のレンズひずみを考慮するように改変されてもよい。３次元座標［Ｘ’  Ｙ’  Ｚ’］Ｔは、例えば以下の式に基づいて、２次元画像検出装置１５２／１５２Ａの座標系での表示から、空間構造感知装置１５１／１５１Ａの座標系での表示へ変換されてもよい。
【数５】
0006730762.tif 000006
（方程式４）
【０１０７】
この実施例では、
【数６】
0006730762.tif 000007
は、上で論じた、行列、又は
【数７】
0006730762.tif 000008
の逆数であるその他の変換関数でありうる。この実施例の３次元座標［Ｘ  Ｙ  Ｚ］Ｔのうちの二つ以上が、３次元ベクトル４０６Ｅ−１を画定しうる。
【０１０８】
上述のように、動作３１８は、一実施形態で、候補エッジ５６１Ｃ及び５６１Ｄなど複数の候補エッジを、それぞれの２次元物体エッジとして識別することを伴いうる。一実施形態では、動作３２０は、２次元物体エッジに対応する、複数の３次元ベクトルの決定を伴いうる。例えば、図７Ｂは、候補エッジ５６１Ｄに対応する、３次元ベクトル４０６Ｅ−１を識別し、候補エッジ５６１Ｃに対応する、さらなる３次元ベクトル４０６Ｆ−１を識別する、計算システム１０１を示す。この実施例では、計算システム１０１は、動作３０６で決定された３次元ベクトル（複数含む）（例えば、４０６Ａ−１）と、動作３２０で決定された複数の３次元ベクトル（例えば、４０６Ｅ−１及び４０６Ｆ−１）との間にある点を表す、空間構造情報４００／４００Ａの一部分を抽出してもよい。一部の事例では、動作３０６で決定され、セグメンテーションに使用される３次元ベクトル（複数含む）は、ベクトル４０６Ａ−１及びベクトル４０６Ａ−２の両方を含みうる（二つのベクトルは、３次元隅角の向きを決定する一部として決定されていてもよい）。
【０１０９】
図７Ｃは、計算システム１０１が空間構造情報４００／４００Ａから一部分４１０Ａを抽出する実施例を描写し、一部分４１０Ａは、図４Ａの物体４１０の物体構造を表す。一実施形態では、動作３２０は、さらなる部分を空間構造情報４００／４００Ａから抽出するために、複数回繰り返されてもよい。抽出によって、空間構造情報４００／４００Ａを、例えば、空間構造情報４００／４００Ａによって表されるそれぞれの物体もしくは物体構造に対応する部分に分割、又はその他の方法でセグメント化してもよい。例えば、図７Ｄは、物体４１０〜４４０の物体構造をそれぞれ表す、部分４１０Ａ〜４４０Ａにセグメント化されている、空間構造情報４００／４００Ａを示す。
【０１１０】
一実施形態では、動作３２０で抽出される一部分を使用して、図２Ｃの物体認識管理部２０８によってなど、物体認識を行ってもよい。一部の実例では、物体認識管理部２０８は、動作３２０で抽出された空間構造情報４００／４００Ａの一部分に基づいて、検出仮説を生成し、検出仮説を改変し、及び／又は検出仮説をフィルタリングするように構成されうる。検出仮説については、米国特許出願第１６／５７８，９００号（２０１９年９月２３日出願）でより詳細に論じており、参照によりその全体が本明細書に組み込まれる。
【０１１１】
本開示と整合するさらなる実施形態には、少なくとも以下が含まれる。
【０１１２】
本開示の一態様は、非一時的コンピュータ可読媒体及び処理回路を備える、計算システムを含む、実施形態１に関する。処理回路は、一つ以上の物体に対してそれぞれの一つ以上の物体構造を記述する空間構造情報が非一時的コンピュータ可読媒体に記憶されるとき、及び一つ以上の物体を記述する２次元画像情報が非一時的コンピュータ可読媒体上に記憶されるときに、空間構造情報に基づいて、一つ以上の物体構造のうちの物体構造の隅角を表す３次元位置を識別することと、空間構造情報に基づいて、３次元位置から延び、物体構造のエッジと平行な３次元ベクトルを識別することと、３次元位置に対応する２次元位置を、２次元画像情報内で決定することと、３次元ベクトルに対応する２次元ベクトルを、２次元画像情報内で決定することと、２次元位置に基づいて、２次元画像情報内でエッジ検出領域を決定することと、一つ以上の物体構造のいずれの物体エッジも表さない候補エッジのクラスタを、候補エッジと２次元ベクトルとの比較に従って、エッジ検出領域内で識別することと、識別された候補エッジのクラスタの一部ではない候補エッジを、２次元物体エッジとして識別することと、２次元物体エッジに基づいて、空間構造情報のセグメンテーションを実行することとを行うように構成されてもよい。
【０１１３】
実施形態２は、実施形態１の計算システムを含む。実施形態２では、３次元ベクトルと平行な物体構造のエッジが、物体構造の第一のエッジであり、２次元画像情報から識別される２次元物体エッジが、物体構造の第二のエッジを表す。
【０１１４】
実施形態３は、実施形態１又は２の計算システムを含む。実施形態３では、空間構造情報が、物体構造上の複数の位置に対して奥行き情報を記述する点群を含み、２次元画像情報が、奥行き情報を有さない２次元画像である。
【０１１５】
実施形態４は、実施形態１〜３のうちのいずれか一つの計算システムを含む。実施形態４では、処理回路、候補エッジのクラスタをフィルタリングして２次元画像情報から取り除き、更新された２次元画像情報を生成するようにさらに構成され、２次元物体エッジが、更新された２次元画像情報の中に記述される候補エッジの中から識別される。
【０１１６】
実施形態５は、実施形態１〜４のうちのいずれか一つの計算システムを含む。実施形態５では、処理回路は、候補エッジのクラスタを、それぞれの向きが２次元ベクトルの向きに合致しない候補エッジとして識別するように構成される。
【０１１７】
実施形態６は、実施形態１〜５のうちのいずれか一つの計算システムを含む。実施形態６では、処理回路は、候補エッジのクラスタを、それぞれの向きが実質的に同じである、エッジ検出領域の中の候補エッジの集合として識別するように構成される。
【０１１８】
実施形態７は、実施形態１〜６のうちのいずれか一つの計算システムを含む。実施形態７では、処理回路は、候補エッジのクラスタを、定義された近接条件を満たすそれぞれの位置を有する、エッジ検出領域の中の候補エッジの集合として識別するように構成される。
【０１１９】
実施形態８は、実施形態１〜７のうちのいずれか一つの計算システムを含む。実施形態８では、処理回路は、候補エッジのクラスタを、実質的に同一直線上にある、エッジ検出領域の中の候補エッジの集合として識別するように構成される。
【０１２０】
実施形態９は、実施形態１〜８のうちのいずれか一つの計算システムを含む。実施形態９では、処理回路は、定義された長さの閾値よりも小さい、それぞれの長さを有する候補エッジの集合を、エッジ検出領域の中で識別すると共に、候補エッジの集合をフィルタリングして２次元画像情報から取り除くようにさらに構成される。
【０１２１】
実施形態１０は、実施形態１〜９のうちのいずれか一つの計算システムを含む。実施形態１０では、処理回路は、２次元位置から延び、定義された最小物体サイズを表す、２次元画像情報の第一の領域を識別することと、２次元位置から延び、定義された最大物体サイズを表す、２次元画像情報の第二の領域を識別することと、第一の領域の外側で、第二の領域内にある領域として、エッジ検出領域を決定することと、によって、エッジ検出領域を識別するように構成される。
【０１２２】
実施形態１１は、実施形態１〜１０のうちのいずれか一つの計算システムを含む。実施形態１１では、３次元ベクトルは、第一の３次元ベクトルであり、物体構造の第一のエッジを表し、処理回路は、２次元ベクトルに対応し、物体構造の第二のエッジを表す、第二の３次元ベクトルを識別することと、第一の３次元ベクトルと第二の３次元ベクトルとの間にある、物体構造上の位置と一致する、空間構造情報の一部分を抽出することと、によって、空間構造情報のセグメンテーションを行うように構成される。
【０１２３】
実施形態１２は、実施形態１〜１１のうちのいずれか一つの計算システムを含む。実施形態１２では、空間構造情報は、空間構造感知装置から受信されるか、又は空間構造感知装置によって生成される情報に基づいており、２次元画像情報は、２次元画像感知装置の第二のカメラから受信されるか、又は２次元画像感知装置によって生成される情報に基づいている。
【０１２４】
実施形態１３は、実施形態１〜１２のうちのいずれか一つの計算システムを含む。実施形態１３では、クラスタの候補エッジと２次元ベクトルとの比較には、候補エッジのそれぞれの向きと、２次元ベクトルの向きとの比較を含む。
【０１２５】
関連分野の当業者にとって、本明細書に記載する方法及び用途への、その他の適切な修正ならびに適応が、実施形態のうちのいずれの範囲から逸脱することなく成すことができることは明らかであろう。上に記載する実施形態は、説明に役立つ実施例であり、本発明がこれらの特定の実施形態に限定されると解釈されるべきではない。本明細書に開示する様々な実施形態は、記載及び添付の図に具体的に提示する組み合わせとは異なる組み合わせで、組み合わせてもよいことは理解されるべきである。実施例によって、本明細書に記載するプロセスもしくは方法のいずれのある特定の行為又は事象は、異なる順番で行われてもよく、追加、統合、又は完全に省略してもよいことも理解されるべきである（例えば、記載したすべての行為又は事象は、方法又はプロセスを実施することを必要としない場合がある）。加えて、本明細書の実施形態のある特定の特徴を、明確にするために、単一の構成要素、モジュール、又はユニットにより行われていると記載しているものの、本明細書に記載する特徴及び機能は、構成要素、モジュール、又はユニットのいかなる組み合わせによって行われてもよいことは理解されるべきである。したがって、添付の特許請求の範囲に定義するような、発明の精神又は範囲から逸脱することなく、当業者によって様々な変更及び修正に影響を与えうる。
【要約】
候補エッジを処理するシステム及び方法を提示する。方法は、空間構造情報及び２次元画像情報が記憶されるときに行われてもよい。方法は、空間構造情報に基づいて、物体構造の隅角を表す３次元位置を識別することと、空間構造情報に基づいて、３次元位置から延び、エッジと平行な３次元ベクトルを識別することと、３次元位置に対応する２次元位置を、２次元画像情報内で決定することと、３次元ベクトルに対応する２次元ベクトルを、２次元画像情報内で決定することと、エッジ検出領域を決定することと、いずれの物体エッジも表さない、候補エッジのクラスタをエッジ検出領域内で識別することと、識別されたクラスタの一部ではない候補エッジを、２次元物体エッジとして識別することと、２次元物体エッジに基づいて、セグメンテーションを行うこととを含んでもよい。
【選択図】図３Ａ【図１Ａ】
0006730762.tif 000009
【図１Ｂ】
0006730762.tif 000010
【図１Ｃ】
0006730762.tif 000011
【図１Ｄ】
0006730762.tif 000012
【図１Ｅ】
0006730762.tif 000013
【図１Ｆ】
0006730762.tif 000014
【図２Ａ】
0006730762.tif 000015
【図２Ｂ】
0006730762.tif 000016
【図２Ｃ】
0006730762.tif 000017
【図３Ａ】
0006730762.tif 000018
【図３Ｂ】
0006730762.tif 000019
【図４Ａ】
0006730762.tif 000020
【図４Ｂ】
0006730762.tif 000021
【図４Ｃ】
0006730762.tif 000022
【図４Ｄ】
0006730762.tif 000023
【図４Ｅ】
0006730762.tif 000024
【図４Ｆ】
0006730762.tif 000025
【図４Ｇ】
0006730762.tif 000026
【図５Ａ】
0006730762.tif 000027
【図５Ｂ】
0006730762.tif 000028
【図５Ｃ】
0006730762.tif 000029
【図５Ｄ】
0006730762.tif 000030
【図５Ｅ】
0006730762.tif 000031
【図５Ｆ】
0006730762.tif 000032
【図５Ｇ】
0006730762.tif 000033
【図５Ｈ】
0006730762.tif 000034
【図５Ｉ】
0006730762.tif 000035
【図５Ｊ】
0006730762.tif 000036
【図６Ａ】
0006730762.tif 000037
【図６Ｂ】
0006730762.tif 000038
【図６Ｃ】
0006730762.tif 000039
【図６Ｄ】
0006730762.tif 000040
【図６Ｅ】
0006730762.tif 000041
【図６Ｆ】
0006730762.tif 000042
【図６Ｇ】
0006730762.tif 000043
【図７Ａ】
0006730762.tif 000044
【図７Ｂ】
0006730762.tif 000045
【図７Ｃ】
0006730762.tif 000046
【図７Ｄ】
0006730762.tif 000047