本開示の一態様は、物体のグループを表す画像情報を使用して、物体のグループの物理的エッジを検出またはその他の方法で識別することに関する。例えば、2D画像は、箱のグループを表してもよく、箱のグループの物理的エッジを潜在的に表し得る候補エッジを含んでもよい。計算システムは、画像情報内の候補エッジを使用して、画像情報内に表される個々の物体を区別し得る。一部の実例では、計算システムは、個々の箱を識別する情報を使用して、個々の箱に関与するロボット相互作用を制御し得る。例えば、ロボット相互作用は、ロボットのエンドエフェクター装置が物体の一つに接近し、物体をピックアップし、物体を目的地の位置に動かす、パレットから降ろす動作を含み得る。
一部のシナリオでは、2D画像または他の画像情報は、カメラ視野内の物体の実際の物理的エッジに対応しない候補エッジであり得る、偽エッジである候補エッジを含んでもよい。従って、本開示の一態様は、候補エッジを評価して、候補エッジが、偽エッジであるのとは対照的に、実際の物理的エッジに対応する信頼レベルを決定することに関する。実施形態では、こうした決定は、特定の物理的エッジが画像にどのように現れる可能性が高いかに関する予期または予測に基づいてもよい。より具体的には、こうした決定は、物理的エッジが物体間の物理的ギャップと関連付けられる場合(例えば、物理的エッジが物理的ギャップの一方の側面を形成する)、こうした物理的ギャップが画像において非常に暗いように見えてもよく、および/または物理的ギャップに対応する画像領域の画像強度のスパイク減少を特徴とする画像強度プロファイルを有し得るという予期に基づいてもよい。従って、本開示の方法または計算システムは、物体間の物理的ギャップ、特に狭い物理的ギャップが、物理的ギャップが、画像の中でどのように暗いかに関連する特定の特性を有する画像によって表され得るとの予期に基づいて動作し得る。画像のこうした特徴または特徴は、ダークプライアと呼んでもよく、本開示は、ダークプライアを検出することに関連してもよく、ダークプライアの存在は、候補エッジが実際の物理的エッジに対応するかどうかに関する信頼レベルを増加させ得る。
実施形態では、本開示の方法またはシステムは、画像が、候補エッジで定義された暗さ条件を満たすかどうかを判定してもよく、定義された暗さ条件は、ダークプライアを検出することに関連し得る。より具体的には、定義された暗さ条件は、以下でより詳細に論じる、暗さ閾値基準、および/またはスパイク強度プロファイル基準によって定義され得る。本実施形態では、計算システムまたは方法が、画像が候補エッジで定義された暗さ条件を満たすと判定する場合、候補エッジが、二つの物体の間の物理的ギャップの一方の側面を形成する物理的エッジなど、実際の物理的エッジに対応する、より大きな信頼レベルがあり得る。一部の実例では、画像が候補エッジで定義された暗さ条件を満たさない場合、候補エッジが偽エッジである可能性がより高い場合がある。
本開示の一態様は、2D画像情報を使用して、3D画像情報の限定を補償することに関し、その逆も同様である。例えば、二つ以上の箱などの複数の物体が互いに密接に隣り合わせに置かれ、狭い物理的ギャップによって分離される場合、3D画像情報は、物理的ギャップを捕捉する、またはそうでなければそれを表すのに十分な高い解像度を有しなくてもよい。従って、3D画像情報は、特に、複数の物体が、3D画像情報を生成するカメラに対して同じ奥行きを有する場合、複数の物体の個々の物体を区別するために使用される能力に限界を有し得る。こうした実施例では、複数の物体間の物理的ギャップは、2D画像情報に表され得る。より具体的には、物理的ギャップは、定義された暗さ条件を満たす画像領域によって表され得る。従って、こうした画像領域に関連付けられる候補エッジは、高レベルの信頼性で、物体の物理的エッジを表し得る。こうした状況では、2D画像情報の中の候補エッジは、物体のグループの個々の物体を区別するのに有用であり得る。従って、2D画像情報は、特定の状況において、個々の物体を区別する能力を高めることができる。
特定の状況では、3D画像情報は、2D画像情報の制限を補償し得る。例えば、2D画像は、2D画像中の特定の候補エッジで定義された暗さ条件を満たさなくてもよい。こうした例では、候補エッジは、カメラ視野内の任意の実際の物理的エッジ物体に対応する低信頼レベルを有し得る。3D画像情報は、2D画像情報の中の候補エッジが3D画像情報の中の候補エッジに対応する場合、2D画像情報におけるこの制限を補償するために使用され得る。より具体的には、2D画像情報中の候補エッジは、奥行きの急激な変化がある3D画像情報中の位置または位置のセットにマッピングされ得る。こうした状況では、3D画像情報は、2D画像情報の中の候補エッジが実際の物理的エッジに対応する信頼レベルを増加させるために使用され得る。
実施形態では、3D画像情報は、物体の表面(例えば、上部表面)を識別するために使用されてもよく、候補エッジは、二つの表面間の遷移がある位置に基づいて識別され得る。例えば、表面は、定義された測定分散閾値を超えて互いに逸脱しない3D画像情報中のそれぞれの奥行き値を有する位置のセットに基づいて識別され得る。定義された測定分散閾値は、3D画像情報の奥行き測定値にランダムな変動をもたらし得る、撮像ノイズ、製造公差、またはその他の要因の影響を記述し得る。識別される表面は、それぞれの奥行き値の平均である奥行き値と関連付けられ得る。いくつかの実施では、候補エッジは、定義された奥行き差閾値を超える、3D画像情報で識別された二つの表面間の奥行きの遷移を識別することに基づいて、3D画像情報で検出され得る。
図1Aは、一つまたは複数の物体の物理的エッジを検出またはその他の方法で識別するために、一つまたは複数の物体を表す画像情報を使用することを伴い得る、物理的エッジ検出を実行または促進するためのシステム1000を示す。より詳細には、システム1000は、計算システム1100およびカメラ1200を含み得る。この実施例では、カメラ1200は、カメラ1200が位置する環境を描写するか、もしくはそうでなければ表し、またはより具体的には、カメラ1200の視野(カメラ視野とも呼ぶ)中の環境を表す、画像情報を生成するように構成され得る。環境は、例えば、倉庫、製造工場、小売空間、またはいくつかの他の施設であり得る。こうした実例では、画像情報が、箱、ビン、ケース、木枠または他の容器などの、こうした施設に位置する物体を表し得る。システム1000は、以下でより詳細に論じるように、画像情報を使用して、カメラ視野内の個々の物体を区別すること、画像情報に基づいて物体認識または物体登録を行うこと、および/または画像情報に基づいてロボット運動計画を行うことなど、画像情報を生成、受信、および/または処理するよう構成され得る(用語「および/または」および「または」は、本開示では互換的に使用される)。ロボット運動計画作成は、例えば、ロボットと容器または他の物体との間のロボット相互作用を促進するように、施設でロボットを制御するために使用され得る。計算システム1100およびカメラ1200が、同じ施設に位置してもよく、または互いと遠隔に位置し得る。例えば、計算システム1100は、倉庫または小売空間から遠隔のデータセンターでホストされる、クラウドコンピューティングプラットフォームの一部であってもよく、ネットワーク接続を介して、カメラ1200と通信し得る。
実施形態では、カメラ1200(画像感知装置とも呼ぶ)は、2Dカメラおよび/または3Dカメラであり得る。例えば、図1Bは、計算システム1100、ならびにカメラ1200Aおよびカメラ1200B(その両方がカメラ1200の実施形態であり得る)を含む、システム1000A(システム1000の実施形態であり得る)を示す。この実施例では、カメラ1200Aは、カメラの視野中にある環境の視覚的外観を記述する2D画像を含む、または形成する、2D画像情報を生成するように構成される、2Dカメラであり得る。カメラ1200Bは、カメラの視野中の環境に関する空間構造情報を含む、または形成する3D画像情報を生成するように構成される、3Dカメラ(空間構造感知カメラまたは空間構造感知装置とも呼ばれる)であり得る。空間構造情報は、カメラ1200の視野中にあるさまざまな物体の表面上の位置など、カメラ1200Bに対するさまざまな位置のそれぞれの奥行き値を記述する、奥行き情報(例えば、奥行きマップ)を含んでもよい。カメラの視野または物体の表面のこれらの位置はまた、物理的位置と呼んでもよい。この実施例の奥行き情報は、物体が3次元(3D)空間の中で空間的にどのように配設されるかを推定するために使用され得る。一部の実例では、空間構造情報は、カメラ1200Bの視野中にある物体の一つまたは複数の表面上の位置を記述する、点群を含んでもよく、またはそれを生成するために使用され得る。より具体的には、空間構造情報が、物体の構造(物体構造とも呼ぶ)上のさまざまな位置を記述し得る。
実施形態では、システム1000が、カメラ1200の環境でロボットとさまざまな物体との間のロボット相互作用を促進するための、ロボット操作システムであり得る。例えば、図1Cは、図1Aおよび図1Bのシステム1000/1000Aの実施形態であり得る、ロボット操作システム1000Bを示す。ロボット操作システム1000Bは、計算システム1100、カメラ1200、およびロボット1300を含んでもよい。上述のように、ロボット1300は、カメラ1200の環境の中にある一つまたは複数の物体、例えば、箱、木枠、ビン、またはその他の容器と相互作用するために使用され得る。例えば、ロボット1300は、一つの位置から容器を拾い上げ、それらを別の位置に移動するように構成され得る。一部の事例では、ロボット1300は、容器または他の物体のグループが降ろされて、例えば、コンベヤーベルトに移動される、パレットから降ろす動作を実施するために使用され得る。一部の実装形態では、カメラ1200は、ロボット1300のロボットアームなど、ロボット1300に取り付けられてもよい。一部の実装形態では、カメラ1200は、ロボット1300から分離し得る。例えば、カメラ1200は、倉庫または他の構造の天井に装着されてもよく、構造に対して静止したままであり得る。
実施形態では、図1A~図1Cの計算システム1100は、ロボット操作システム1000Bの一部である、ロボット制御システム(ロボットコントローラーとも呼ぶ)を形成しても、またはその一部であり得る。ロボット制御システムは、例えば、ロボット1300と容器または他の物体との間のロボット相互作用を制御するためのロボット相互作用移動コマンドなどの、ロボット1300用のコマンドを生成するように構成されるシステムであり得る。こうした実施形態では、計算システム1100は、例えば、カメラ1200/1200A/1200Bによって生成された画像情報に基づいて、このようなコマンドを生成するように構成され得る。例えば、計算システム1100は、画像情報に基づいて運動計画を決定するように構成されてもよく、運動計画は、例えば、物体を掴むか、または他の方法でピックアップすることを意図し得る。計算システム1100は、運動計画を実行するために、一つまたは複数のロボット相互作用移動コマンドを生成し得る。
実施形態では、計算システム1100は、視覚システムを形成しても、またはその一部であり得る。視覚システムは、例えば、ロボット1300が位置する環境を記述する、すなわちより具体的には、カメラ1200が位置する環境を記述する、視覚情報を生成するシステムであり得る。視覚情報が、上で考察された3D画像情報、および/または2D画像情報、またはいくつかの他の画像情報を含んでもよい。一部のシナリオでは、計算システム1100が、視覚システムを形成する場合、視覚システムは、上で考察されたロボット制御システムの一部であってもよく、またはロボット制御システムから分離し得る。視覚システムは、ロボット制御システムから分離する場合、視覚システムは、ロボット1300が位置する環境を記述する、情報を出力するように構成され得る。情報は、視覚システムからこうした情報を受信し、情報に基づいて、運動計画を実施し、および/またはロボット相互作用移動コマンドを生成することができる、ロボット制御システムに出力され得る。
実施形態では、計算システム1100は、RS-232インターフェイス、ユニバーサルシリアルバス(USB)インターフェイスなどの専用有線通信インターフェイスを介して、および/もしくは周辺構成要素相互接続(PCI)バスなどのローカルコンピューターバスを介して提供される接続など、直接接続によってカメラ1200ならびに/またはロボット1300と通信し得る。実施形態では、計算システム1100が、ネットワークを介してカメラ1200および/またはロボット1300と通信し得る。ネットワークは、パーソナルエリアネットワーク(PAN)、例えば、イントラネットといったローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、またはインターネットなど、いかなるタイプおよび/または形態のネットワークであり得る。ネットワークは、例えば、イーサネットプロトコル、インターネットプロトコル群(TCP/IP)、ATM(Asynchronous Transfer Mode)技術、SONET(Synchronous Optical Networking)プロトコル、またはSDH(Synchronous Digital Hierarchy)プロトコルを含む、プロトコルの異なる技術、および層またはスタックを利用し得る。
実施形態では、計算システム1100は、カメラ1200および/もしくはロボット1300と直接情報を伝達してもよく、または中間記憶装置、もしくはより広くは、中間の非一時的コンピューター可読媒体を介して通信し得る。例えば、図1Dは、計算システム1100の外部にあり得る非一時的コンピューター可読媒体1400を含む、システム1000/1000A/1000Bの実施形態であってもよく、例えば、カメラ1200によって生成される画像情報を記憶するための外部バッファまたはリポジトリとして作用し得る、システム1000Cを示す。こうした一実施例では、計算システム1100は、非一時的コンピューター可読媒体1400から、画像情報を検索するか、さもなければ受信することができる。非一時的コンピューター可読媒体1400の例としては、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、またはそれらの任意の好適な組み合わせが挙げられる。非一時的コンピューター可読媒体は、例えば、コンピューターディスケット、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SDD)、ランダムアクセスメモリー(RAM)、読み出し専用メモリー(ROM)、消却可能プログラム可能読み出し専用メモリー(EPROMまたはフラッシュメモリー)、スタティックランダムアクセスメモリー(SRAM)、携帯型コンパクトディスク読み出し専用メモリー(CD-ROM)、デジタル多目的ディスク(DVD)、および/またはメモリースティックを形成し得る。
上述のように、カメラ1200は、3Dカメラおよび/または2Dカメラであり得る。2Dカメラは、カラー画像またはグレースケール画像などの、2D画像を生成するように構成され得る。3Dカメラは、例えば、飛行時間(TOF)カメラもしくは構造化光カメラなどの、奥行き感知カメラ、またはいかなる他のタイプの3Dカメラであり得る。一部の事例では、2Dカメラおよび/または3Dカメラは、電荷結合素子(CCD)センサーおよび/または相補型金属酸化膜半導体(CMOS)センサーなど、イメージセンサーを含み得る。実施形態では、3Dカメラは、レーザー、LIDARデバイス、赤外線デバイス、明/暗センサー、運動センサー、マイクロ波検出器、超音波検出器、レーダー検出器、または奥行き情報、または空間構造情報を取り込むように構成される任意の他のデバイスを含み得る。
上述のように、画像情報が、計算システム1100によって処理され得る。実施形態では、計算システム1100は、サーバー(例えば、一つまたは複数のサーバーブレード、プロセッサーなどを有する)、パーソナルコンピューター(例えば、デスクトップコンピューター、ラップトップコンピューターなど)、スマートフォン、タブレットコンピューター装置、および/もしくは他の任意の他の計算システムを含んでもよく、またはそれらとして構成され得る。実施形態では、計算システム1100の機能性の全ては、クラウドコンピューティングプラットフォームの一部として行われてもよい。計算システム1100は、単一のコンピューター装置(例えば、デスクトップコンピューター)であってもよく、または複数のコンピューター装置を含んでもよい。
図2Aは、計算システム1100の実施形態を示す、ブロック図を提供する。計算システム1100は、少なくとも一つの処理回路1110、および非一時的コンピューター可読媒体(または複数の媒体)1120を含む。実施形態では、処理回路1110は、一つまたは複数のプロセッサー、一つまたは複数の処理コア、プログラマブルロジックコントローラー(「PLC」)、特定用途向け集積回路(「ASIC」)、プログラマブルゲートアレイ(「PGA」)、フィールドプログラマブルゲートアレイ(「FPGA」)、それらの任意の組み合わせ、または任意の他の処理回路を含む。
実施形態では、計算システム1100の一部である、非一時的コンピューター可読媒体1120が、上で考察された中間の非一時的コンピューター可読媒体1400の代替または追加であり得る。非一時的コンピューター可読媒体1120は、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、またはそれらの任意の好適な組み合わせなどの記憶装置であってもよく、例えば、コンピューターディスケット、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、ランダムアクセスメモリー(RAM)、読み出し専用メモリー(ROM)、消却可能プログラム可能読み出し専用メモリー(EPROMまたはフラッシュメモリー)、スタティックランダムアクセスメモリー(SRAM)、携帯型コンパクトディスク読み出し専用メモリー(CD-ROM)、デジタル多目的ディスク(DVD)、メモリースティック、それらの任意の組み合わせ、または任意の他の記憶装置などであり得る。一部の実例では、非一時的コンピューター可読媒体1120は、複数の記憶装置を含み得る。特定の実装形態では、非一時的コンピューター可読媒体1120が、カメラ1200によって生成され、計算システム1100によって受信される画像情報を記憶するように構成される。一部の実例では、非一時的コンピューター可読媒体1120は、物体認識操作を実施するために使用される一つまたは複数の物体認識テンプレートを記憶し得る。非一時的コンピューター可読媒体1120が、処理回路1110によって実行されるとき、処理回路1110に、図4に関して記載する操作など、本明細書に記載する一つまたは複数の手法を行わせるコンピューター可読プログラム命令を、代替的または追加的に記憶し得る。
図2Bは、計算システム1100の実施形態であり、通信インターフェイス1130を含む、計算システム1100Aを描写する。通信インターフェイス1130は、例えば、図1A~1Dのカメラ1200によって生成された画像情報を受信するように構成され得る。画像情報は、上で考察された中間の非一時的コンピューター可読媒体1400もしくはネットワークを介して、またはカメラ1200と計算システム1100/1100Aとの間のより直接的な接続を介して受信され得る。実施形態では、通信インターフェイス1130は、図1Cのロボット1300と通信するように構成され得る。計算システム1100が、ロボット制御システムの外部にある場合、計算システム1100の通信インターフェイス1130が、ロボット制御システムと通信するように構成され得る。通信インターフェイス1130はまた、通信構成要素または通信回路と呼ばれる場合があり例えば、有線または無線プロトコルによって通信を行うように構成される通信回路を含んでもよい。実施例として、通信回路が、RS-232ポートコントローラー、USBコントローラー、イーサネットコントローラー、Bluetooth(登録商標)コントローラー、PCIバスコントローラー、任意の他の通信回路、またはそれらの組み合わせを含んでもよい。
実施形態では、図2Cでは、非一時的コンピューター可読媒体1120は、カメラ1200によって生成された画像情報から識別された複数の候補エッジを記述し得る、エッジ検出情報1126を記憶し得る。以下でより詳細に論じるように、画像情報が物体のグループを表す場合、候補エッジの各々は、物体のグループの複数の物理的エッジのうちの少なくとも一つを表すための候補であってもよく、または候補を形成し得る。一部の実例では、計算システム1100/1100A/1100Bは、エッジ検出情報1126内の特定の候補エッジを使用して、物体のグループの物理的エッジの少なくとも一つを表すべきかどうかを判定し得る。こうした判定は、候補エッジが、偽エッジであるのとは対照的に、物理的エッジを実際に表しているかどうかに関連する信頼レベルを評価することを伴い得る。一実施例では、こうした評価は、候補エッジが、物理的エッジを表すことから生じる画像特性と関連付けられるかどうかに基づいてもよい。こうした特徴は、以下でより詳細に論じる、ダークプライアと称される画像特徴と関連付けられてもよい。一部のシナリオでは、計算システム1100は、複数の候補エッジから、物体のグループの物理的エッジを実際に表す、十分に高い信頼レベルを有する候補エッジのサブセットを選択してもよく、一方で、サブセットから除外される候補エッジは、物体のグループの物理的エッジを表す、十分に高い信頼レベルを有しなくてもよい。従って、計算システム1100/1100A/1100Bが、物理的エッジの少なくとも一つを表すために特定の候補エッジを使用することを決定した場合、計算システムは、そのサブセットに候補エッジを含み得る。計算システム1100/1100A/1100Bが、物理的エッジの少なくとも一つを表すために特定の候補エッジを使用しないと決定する場合、計算システムは、サブセット内に候補エッジを含まないと決定し得る。サブセットに含まれない候補エッジは、エッジ検出情報1126から除去されてもよく、またはより広くは、物体のグループの物理的エッジの少なくとも一つを表すための候補としてさらなる検討から除外され得る。
実施形態では、処理回路1110が、非一時的コンピューター可読媒体1120に記憶される、一つまたは複数のコンピューター可読プログラム命令によってプログラムされ得る。例えば、図2Dは、処理回路1110が、物理的エッジ検出モジュール1125、物体認識/登録モジュール1128、および/または運動計画モジュール1129を含む、一つまたは複数のモジュールによってプログラムされる、計算システム1100/1100A/1100Bの実施形態である、計算システム1100Cを示す。
実施形態では、物理的エッジ検出モジュール1125は、物体のグループを表す画像情報に現れる複数の候補エッジの中から、物体のグループの物理的エッジを表すためにどの候補エッジを使用するべきかを決定するように構成され得る。いくつかの実施では、物理的エッジ検出モジュール1125は、以下でより詳細に論じるように、定義された暗さ条件が満たされるかどうか、および/または奥行き不連続状態が満たされるかどうかに基づいて、こうした決定を実行し得る。一部の実例では、物理的エッジ検出モジュール1125はまた、画像情報から複数の候補エッジを識別するように構成され得る。一部の実例では、物理的エッジ検出モジュール1125は、画像情報によって表される個々の物体を区別することを伴い得る、画像セグメンテーション(例えば、点群セグメンテーション)を行うように構成され得る。例えば、モジュール1125は、物体のグループの一つの物体を表す画像情報の画像セグメント(画像部分とも呼ぶ)を抽出するか、またはその他の方法で識別し得る。いくつかの実施では、画像セグメンテーションは、例えば、モジュール1125が物体のグループの物理的エッジを表すために使用すべきであると決定した候補エッジに基づいて行われてもよい。
実施形態では、物体認識/登録モジュール1128は、物理的エッジ検出モジュール1125からの結果に基づいて、物体認識操作または物体登録モジュールを実行するように構成され得る。例えば、物理的エッジ検出モジュール1125が、物体のグループの一つの物体を表す画像セグメントを識別する場合、物体認識/登録モジュール1128は、例えば、画像セグメントが物体認識テンプレートと十分に合致するかを判定し、および/または画像セグメントに基づいて新しい物体認識テンプレートを生成するように構成され得る。
実施形態では、運動計画モジュール1129は、物理的エッジ検出モジュール1125の結果に基づいて、および/または物体認識/登録モジュール1128の結果に基づいて、ロボット運動計画を実行するように構成され得る。上述のように、ロボット運動計画は、ロボット(例えば、1300)と、物体のグループの少なくとも一つの物体との間のロボット相互作用のためのものであり得る。一部の実例では、ロボット運動計画は、例えば、物体をピックアップするためのロボットの構成要素(例えば、エンドエフェクター装置)による動き、および/または物体をピックアップした後に後続する構成要素の軌道の決定を伴い得る。
さまざまな実施形態では、「コンピューター可読命令」および「コンピューター可読プログラム命令」という用語は、さまざまなタスクおよび操作を遂行するように構成される、ソフトウェア命令またはコンピューターコードを記述するために使用される。さまざまな実施形態では、「モジュール」という用語は、処理回路1110に一つまたは複数の機能タスクを行わせるように構成される、ソフトウェア命令またはコードの集まりを広く指す。モジュールおよびコンピューター可読命令は、処理回路または他のハードウェアコンポーネントが、モジュールもしくはコンピューター可読命令を実行しているときに、さまざまな操作またはタスクを行うものとして説明され得る。
図3A~3Cは、候補エッジの処理、すなわちより具体的には、物理的エッジ検出が実行され得る、例示的な環境を示す。より具体的には、図3Aは、計算システム1100、ロボット3300、およびカメラ3200を含む、システム3000(図1A~図1Dのシステム1000/1000A/1000B/1000Cの実施形態であり得る)を描写する。カメラ3200は、カメラ1200の実施形態であってもよく、カメラ3200のカメラ視野3210内の情景を表す、またはより具体的には、物体3510、3520、3530、3540、および3550などのカメラ視野3210内の物体を表す、画像情報を生成するように構成され得る。一実施例では、物体3510~3540のおのおのは、例えば、箱または木枠などの容器であってもよく、一方で、物体3550は、例えば、容器が配置されるパレットであり得る。
物体3510~3540が、より具体的には、物体の物理的エッジを示す図3Bに示される。より具体的には、図は、物体3510の上部表面の物理的エッジ部3510A~3510D、物体3520の上部表面の物理的エッジ部3520A~3520D、物体3530の上部表面の物理的エッジ部3530A~3530D、および物体3540の上部表面の物理的エッジ部3540A~3540Dを示す。図3Bの物理的エッジ(例えば、3510A~3510D、3520A~3520D、3530A~3530D、および3540A~3540D)は、物体3510~3540のそれぞれの上部表面の外縁であり得る。一部の実例では、物体の表面の物理的エッジ(例えば、3510A~3510D)は、表面の輪郭を画定し得る。物体が、複数の非同一平面表面(複数の面とも呼ばれる)を有する多面体(例えば、立方体)を形成する場合、一つの表面の物理的エッジは、表面が物体の別の表面と交わる境界を形成し得る。
実施形態では、カメラ視野内の物体は、物体の外側表面上に、視覚的マーキングなどの視覚的詳細(可視詳細とも呼ぶ)を有し得る。例えば、図3Aおよび3Bでは、物体3510、3520、3530、3540は、物体3510~3540のそれぞれの外側表面(例えば、上部表面)上に、それぞれ印刷されるか、またはそうでなければ配置される視覚的マーキング3512、3522、3532、3542を有し得る。実施例として、視覚的マーキングは、可視線(例えば、直線または曲線)、多角形、視覚的パターン、または他の視覚的マーキングなどの可視形状を含み得る。一部のシナリオでは、視覚的マーキング(例えば、可視線)は、物体の外側表面上に表示されるシンボルまたは図面を形成してもよく、またはその一部であり得る。記号は、例えば、ロゴまたは文字(例えば、英数字)を含み得る。一部のシナリオでは、容器の外側表面または他の物体上の視覚的詳細は、容器の外側表面上に配置される材料の層(例えば、包装テープのストリップまたは郵送用ラベルのシート)の輪郭によって形成され得る。
実施形態では、図3Aのシステム3000は、光源3600などの一つまたは複数の光源を含み得る。光源3600は、例えば、発光ダイオード(LED)、ハロゲンランプ、または任意の他の光源であってもよく、可視光、赤外線、または物体3510~3550の表面に向かって任意の他の形態の光を放射するように構成され得る。実施形態によっては、計算システム1100は、光源3600と通信して、光源3600が起動されたときを制御するように構成され得る。他の実装では、光源3600は、計算システム1100とは独立して動作し得る。
実施形態では、図3Cに示すように、システム3000は、カメラ視野3210Aを有するカメラ3200A(カメラ1200Aの実施形態であり得る)を含み、カメラ視野3210Bを有するカメラ3200B(カメラ1200Bの実施形態であり得る)を含む、複数のカメラを含んでもよい。カメラ3200Aは、例えば、2D画像または他の2D画像情報を生成するように構成される、2Dカメラであってもよく、一方で、カメラ3200Bは、例えば、3D画像情報を生成するように構成される、3Dカメラであり得る。2D画像(例えば、カラー画像またはグレースケール画像)は、カメラ視野3210/3210Aにおける、物体3510~3550などの一つまたは複数の物体の外観を記述し得る。例えば、2D画像は、物体3510~3540の外側表面(例えば、上部表面)上に配置される視覚的マーキング3512~3542、および/またはそれらの外側表面の輪郭などの視覚的詳細を捕捉してもよく、または他の方法で、表し得る。実施形態では、3D画像情報は、物体3510~3550のうちの一つまたは複数の構造を記述してもよく、物体の構造は、物体の構造または物体の物理的構造とも呼ばれ得る。例えば、3D画像情報は、奥行きマップを含んでもよく、より一般的には、カメラ3200Bに対する、またはいくつかの他の基準点に対する、カメラ視野3210/3210Bのさまざまな位置のそれぞれの奥行き値を記述し得る、奥行き情報を含んでもよい。それぞれの奥行き値に対応する位置は、物体3510~3550のそれぞれの上部表面上の位置などの、カメラ視野3210/3210Bのさまざまな表面上の位置(物理的位置とも称する)であり得る。一部の実例では、3D画像情報は、物体3510~3550、またはカメラ視野3210/3210B内のいくつかの他の物体の一つまたは複数の外側表面上のさまざまな位置を記述する、複数の3D座標を含み得る、点群を含み得る。
図3Aおよび図3Bの実施例では、ロボット3300(ロボット1300の実施形態であり得る)は、ロボット基部3310に取り付けられる一端を有し、かつロボットグリッパなどのエンドエフェクター装置3330に取り付けられるか、またはそれらによって形成される別の端を有する、ロボットアーム3320を含み得る。ロボット基部3310は、ロボットアーム3320を装着するために使用され得るが、ロボットアーム3320、より具体的には、エンドエフェクター装置3330は、ロボット3300の環境で一つまたは複数の物体(例えば、3510/3520/3530/3540)と相互作用するために使用され得る。相互作用(ロボット相互作用とも呼ぶ)は、例えば、物体3510~3540の少なくとも一つをつかむか、または他の方法でピックアップすることを含み得る。例えば、ロボット相互作用は、ロボット3300が、物体3550(例えば、パレットまたは他のプラットフォーム)から物体3510~3540(例えば、箱)をピックアップし、および物体3510~3540を目的地の位置に動かすために使用される、パレットから降ろす動作の一部であり得る。
上で論じたように、本開示の一態様は、一つまたは複数の物体を表す画像情報に基づいて、箱のグループなど、物体のグループの一つまたは複数の物理的エッジの検出を実施することまたは促進することに関する。図4は、物理的エッジ検出を実施または促進するための、あるいはより具体的には、候補エッジを使用して、物体のグループの物理的エッジの少なくとも一つを表すべきかどうかを判定するための、例示的な方法4000のフロー図を示す。より具体的には、本方法は、物理的エッジを表すことができる候補エッジを有するか、または偽エッジであり得る画像情報を受信することを伴い得る。偽エッジは、例えば、物体のグループのうちの一つの表面上に表示される可視線または他の視覚的マーキングを表す候補エッジであり得る。視覚的マーキングは、物理的エッジに似ているが、実際にはいかなる物理的エッジにも対応しない外観を有し得る。従って、方法4000は、実施形態では、候補エッジが実際の物理的エッジに対応するかどうか、または候補エッジが偽エッジである可能性が高いかどうかについての信頼レベルまたは可能性を評価するために使用され得る。候補エッジが偽エッジである可能性が高い場合、および/または実際の物理的エッジに対応する十分な高い信頼レベルを持たない場合、方法4000は、実施形態では、物体のグループの任意の物理的エッジを表すためのさらなる検討から候補エッジを除去するまたはより広くは除外し得る。
実施形態では、方法4000は、例えば、図2A~図2D、または図3Aまたは3Cの計算システム1100によって、またはより具体的には、計算システム1100の少なくとも一つの処理回路1110によって行われてもよい。一部のシナリオでは、少なくとも一つの処理回路1100が、非一時的コンピューター可読媒体(例えば、1120)上に記憶される命令を実行することによって、方法4000を行ってもよい。例えば、命令によって、処理回路1110に、方法4000を行い得る、図2Dに示されたモジュールのうちの一つまたは複数を実行させてもよい。実施例として、以下で論じるステップ4002~4008のうちの一つまたは複数は、物理的エッジ検出モジュール1125によって行われてもよい。方法4000が、物体認識および/または物体登録を行うステップを含む場合、ステップは、例えば、物体認識/登録モジュール1128によって行われてもよい。方法4000が、ロボット相互作用を計画すること、またはロボット相互作用移動コマンドを生成することを伴う場合、こうしたステップは、例えば、運動計画モジュール1129によって行われてもよい。実施形態では、方法4000は、計算システム1100が、図3Aならびに図3Cのロボット3300およびカメラ3200/3200A/3200Bなど、ロボットおよびカメラと、または本開示で論じる任意の他のカメラもしくはロボットと通信している環境で行われてもよい。図3Aおよび図3Cに示されるような一部のシナリオでは、カメラ(例えば、3200)は、静止構造(例えば、部屋の天井)に装着され得る。他のシナリオでは、カメラは、ロボットアーム(例えば、3320)、またはより具体的には、ロボット(例えば、3300)のエンドエフェクター装置(例えば、3330)上に装着され得る。
実施形態では、方法4000の一つまたは複数のステップは、物体のグループ(例えば、3510~3550)が、現在、カメラ(例えば、3200/3200A/3200B)のカメラ視野(例えば、3210/3210A/3210B)にあるときに行われてもよい。例えば、方法4000の一つまたは複数のステップは、物体のグループがカメラ視野(例えば、3210/3210A/3210B)内に入った直後に、またはより一般的には、物体のグループがカメラ視野内にある間に、行われてもよい。一部のシナリオでは、方法4000の一つまたは複数のステップは、物体のグループがカメラ視野内にあるときに行われてもよい。例えば、物体のグループがカメラ視野(例えば、3210/3210A/3210B)にあるとき、カメラ(例えば、3200/3200A/3200B)は、物体のグループを表す画像情報を生成してもよく、画像情報を計算システム(例えば、1100)に通信し得る。計算システムは、物体のグループがまだカメラ視野内にある間、または物体のグループがもはやカメラ視野内にないときでさえも、画像情報に基づいて方法4000の一つまたは複数のステップを実施し得る。
実施形態では、方法4000は、計算システム1100が、カメラ(例えば、3200/3200A/3200B)のカメラ視野(例えば、3210/3210A/3210B)内の物体のグループを表す画像情報を受信する、ステップ4002から開始されてもよく、またはそうでなければ、ステップ4002を含んでもよい。画像情報は、物体のグループがカメラ視野にある(またはあった)ときに、カメラ(例えば、3200/3200A/3200B)によって生成されてもよく、および、例えば、2D画像情報および/または3D画像情報を含み得る。例えば、図5Aは、2D画像情報、またはより具体的には、カメラ3200/3200Aによって生成され、図3Aおよび図3Cの物体3510~3550を表す、2D画像5600を示す。より具体的には、2D画像5600(例えば、グレースケール、またはカラー画像)は、カメラ3200/3200Aの視点からの物体3510~3550の外観を記述し得る。実施形態では、2D画像5600は、カラー画像の単一色チャネル(例えば、赤、緑、または青のチャネル)に対応し得る。カメラ3200/3200Aが物体3510~3550の上方に配置される場合、2D画像5600は、物体3510~3550のそれぞれの上部表面の外観を表し得る。図5Aの実施例では、2D画像5600は、物体3510~3550のそれぞれの表面(例えば、上部表面)を表す、それぞれの部分5610、5620、5630、5640、および5650(画像部分とも呼ぶ)を含み得る。図5Aでは、2D画像5600の画像部分5610~5650の各画像部分は、画像領域、すなわちより具体的には、ピクセル領域(画像がピクセルによって形成される場合)であり得る。より具体的には、画像領域は、画像の領域であってもよく、ピクセル領域は、ピクセルの領域であり得る。一つまたは複数の画像部分5610~5550は、物体の表面上に目に見えるか、または現れる、視覚的マーキングまたは他の視覚的詳細を捕捉するか、または他の方法で表し得る。例えば、画像部分5610は、物体3610の上部表面上に印刷または他の方法で配置され得る図3Bの視覚的マーキング3612を表し得る。
図5Bは、ステップ4002の画像情報が3D画像情報5700を含む、実施例を示す。より具体的には、3D画像情報5700は、物体3510~3550の一つまたは複数の表面(例えば、上部表面、または他の外側表面)上のさまざまな位置のそれぞれの奥行き値を示す、例えば、奥行きマップまたは点群を含み得る。例えば、3D画像情報5700は、物体3510の表面上の一組の位置57101~5710n(物理的位置とも呼ぶ)のそれぞれの奥行き値を示す第一の部分5710(画像部分とも呼ぶ)と、物体3520の表面上の一組の位置57201~5720nのそれぞれの奥行き値を示す第二の部分5720と、物体3530の表面上の一組の位置57301~5730nのそれぞれの奥行き値を示す第三の部分5730と、物体3540の表面上の一組の位置57401~5740nのそれぞれの奥行き値を示す第四の部分5740と、物体3550の表面上の一組の位置57501~5750nのそれぞれの奥行き値を示す第五の部分5750とを含み得る。それぞれの奥行き値は、3D画像情報を生成するカメラ(例えば、3200/3200B)に対するものであってもよく、またはいくつかの他の基準点に対するものであり得る。一部の実装形態では、3D画像情報は、カメラ視野(例えば、3210/3210B)の中にある物体の構造上のさまざまな位置に対するそれぞれの座標を含む、点群を含み得る。図5Bの実施例では、点群は、物体3510~3550のそれぞれの表面上の位置を記述する、それぞれの座標セットを含み得る。座標は、[X Y Z]座標などの3D座標であってもよく、カメラ座標系、またはいくつかの他の座標系に対する値を有し得る。実施例として、カメラ座標系は、図3A、3C、および5Bに示される、X、Y、Zによって定義される。
実施形態では、ステップ4002は、2D画像情報および3D画像情報の両方を受信することを伴い得る。一部の実例では、計算システム1100は、2D画像情報を使用して、3D画像情報の限定を補償してもよく、その逆も可能である。例えば、カメラ視野の中の複数の物体が互いに近接して配置され、カメラ(例えば、3200B)に対して実質的に等しい奥行きを有する場合、3D画像情報(例えば、5700)は、実質的に等しい奥行き値を有する複数の位置を記述してもよく、特に、物体間の間隔が3D画像情報の解像度に対して狭すぎる場合、3D画像情報で表される個々の物体を区別するための詳細を欠いてもよい。一部の実例では、3D画像情報は、個々の物体を区別することの困難さをさらに増大させ得る、ノイズまたは他の誤差源のために、誤りまたは欠落した情報を有し得る。この実施例では、2D画像情報は、個々の物体間の物理的エッジを捕捉またはその他の方法で表すことによって、この詳細の欠如を補償し得る。しかしながら、一部の実例では、2D画像情報は、以下で論じるように、実際の物理的エッジに対応しない候補エッジであり得る、偽エッジを含み得る。いくつかの実装では、計算システム1100は、ステップ4006に関して以下で論じるように、2D画像情報が候補エッジで定義された暗さ条件を満たすかどうかを判定することによって、候補エッジが偽エッジである可能性を評価し得る。いくつかの実装では、計算システム1100は、候補エッジが、3D画像情報が奥行きの急激な変化を記述する物理的位置に対応する時など、候補エッジが3D画像情報内の物理的エッジに対応するかどうかを判定し得る。こうしたシナリオでは、3D画像情報は、候補エッジが偽エッジであるかをチェックするために使用されてもよく、定義された暗さ条件の使用を補完または置換して、候補エッジが偽エッジであるか、または候補エッジが実際の物理的エッジに対応するかどうかを判定する、より堅牢な方法を提供し得る。
図4に戻ると、方法4000は、一実施形態において、計算システム1100が、ステップ4002の画像情報から、物体のグループ(例えば、3510~3550)に関連付けられる複数の候補エッジを識別する、ステップ4004を含み得る。実施形態では、候補エッジは、物体または物体のグループの物理的エッジを表すための候補を形成する、画像位置または物理的位置のセットであってもよく、またはそれを含んでもよい。一実施例では、画像情報が、一つまたは複数の物体を表すための2D画像を含む場合、候補エッジは、ピクセル位置(例えば、ピクセル位置[u1 v1]~[uk vk])などの画像位置のセットを指し得る。ピクセル位置のセットは、物理的エッジに集合的に類似しているピクセルのセットに対応し得る。例えば、図6Aは、計算システム1100が、2D画像5600から候補エッジ56011、56012、56013、56014、56015、56016、...5601nを識別する実施例を示す。候補エッジ56011~5601nの各候補エッジは、例えば、2D画像が画像強度の急激な変化を有する線または線分を画定する、ピクセル位置のそれぞれのセットを含んでもよく、またはそれらによって形成され得る。画像強度の急激な変化は、例えば、一方の画像領域が他方よりも暗い、互いに直に隣接する二つの画像領域の間で発生し得る。以下でより詳細に論じるように、候補エッジは、二つの画像領域の間の境界に基づいて形成され得る。こうした実施例では、境界は、上で論じた線または線分によって形成され得る。2D画像(例えば、5600)から識別される候補エッジは、2D候補エッジまたは2Dエッジと呼んでもよい。
実施形態では、画像情報は、実際の物理的エッジに対応するいくつかの候補エッジを含んでもよく、偽エッジであるいくつかの候補エッジを含んでもよい。例えば、図6Aの候補エッジ56011、56012、56015、56016は、物体のグループ3510~3550の実際の物理的エッジに対応するか、より具体的には、物理的物体3510に対応することができ、一方で、候補エッジ56013および56014は偽エッジであり得る。候補エッジ56013および56014は、例えば、物体3510の表面上に表示される可視線またはその他の視覚的マーキングを表し得る。これらの可視線は、物理的エッジに類似し得るが、物体3510~3550の実際の物理的エッジには対応しない。従って、ステップ4008に関して以下で論じるように、方法4000は、一実施形態では、物体のグループの物理的エッジのうちの少なくとも一つを表すために、特定の候補エッジを使用するべきかどうかを判定することを伴い得る。
一実施例では、画像情報が3D情報を含む場合、候補エッジは、画像位置のセットまたは物理的位置のセットを指し得る。実施例として、画像位置がピクセル位置である場合、それらは、物理的エッジのように見えるピクセルのセットに対応し得る。別の実施例では、3D画像情報が奥行きマップを含む場合、候補エッジは、奥行きマップに奥行きの急激な変化がある境界を形成し得る、例えば、線または線分を画定する、ピクセル位置のセットを含み得る。3D画像情報が、物体の表面上の(例えば、点群を介して)物理的位置の3D座標を記述する場合、候補エッジは、点群または他の3D画像情報の奥行きの急激な変化がある境界を形成し得る、例えば、仮想線または線分を画定する、物理的位置のセットを含み得る。例えば、図6Bは、計算システム1100が、3D画像情報5700から候補エッジ57011、57012、57013、5701nを識別した実施例を示す。候補エッジ57011~5701nの各候補エッジは、例えば、奥行きの急激な変化が生じる境界を画定する、物理的位置[X1 Y1 Z1]~[Xp Yp Z1]のセットを含み得る。3D画像情報から識別される候補エッジは、3D候補エッジまたは3Dエッジと呼んでもよい。
実施形態では、計算システム1100が2D候補エッジおよび3D候補エッジの両方を識別する場合、計算システム1100は、2D候補エッジ(例えば、56015)のいずれかが、3D候補エッジ(例えば、57011)のうちの一つと共通の物理的エッジを表すか、またはその逆であるかを判定するように構成され得る。言い換えれば、計算システム1100は、2D候補エッジのいずれかが3D候補エッジのうちの一つにマッピングするか、またはその逆であるかを判定し得る。マッピングは、例えば、2次元候補エッジの座標を、2D画像情報の座標系で表されることから3D画像情報の座標系で表されることまで変換すること、または3D次元候補エッジの座標を、3D画像情報の座標系で表されることから2D画像情報の座標系で表されることまで変換することに基づいてもよい。2D候補エッジから3D候補エッジまでのマッピングは、「METHOD AND COMPUTING SYSTEM FOR PROCESSING CANDIDATE EDGES」と題する、米国特許出願第16/791,024号(弁理士整理番号MJ0049-US/0077-0009US1)でより詳細に論じられ、その全体の内容が参照により本明細書に組み込まれる。
上述のように、計算システム1100は、画像強度(例えば、ピクセル強度)の急激な変化がある2D画像情報内の画像位置(例えば、ピクセル位置)を識別することによって、2D画像または他の2D画像情報から候補エッジを識別し得る。いくつかの実施では、急激な変化は、一つの画像領域が他の画像領域よりも暗い、二つの画像領域の間の境界で生じ得る。例えば、二つの画像領域は、第一の画像領域および第二の画像領域を含み得る。第一の画像領域は、第二の画像領域を含み得る、一つまたは複数の直に隣接する領域よりも暗い2D画像の領域であり得る。画像領域の暗さは、画像情報(例えば、5600)を生成するカメラ(例えば、3200/3200A)によって、対応する物理的領域からどれだけの量の反射光が検出されたか、または他の方法で感知されたかを示し得る。より具体的には、暗い画像領域は、カメラが、対応する物理領域から比較的少量の反射光(または反射光なし)を感知したことを示し得る。実施形態によっては、画像領域の暗さは、画像領域の中の画像強度が、最小の可能な画像強度値(例えば、ゼロ)にどれほど近いかを示し得る。これらの実装では、暗い画像領域が、画像領域の画像強度値(複数可)がゼロに近いことを示してもよく、それよりも暗くない画像領域が、画像領域の画像強度値(複数可)が、最大の可能な画像強度値に近いことを示し得る。
実施形態では、第二の画像領域は、長方形バンドまたは線または線分などの細長い形状を有し得る。実施例として、図7Aは、それぞれ、直に隣接する画像領域56051、56052、56053、56054、56055、56056よりも暗い、画像領域56031、56032、56033、56034、56035、56036の例を示す。画像5600がピクセルを含む場合、図7Aの画像領域は、ピクセル領域であり得る。画像領域56031~56034はそれぞれ、長方形バンドなどのピクセルのバンドであってもよく、および複数のピクセルの幅を有してもよく、画像領域56035および56036はそれぞれ、一つのピクセルの幅を有するピクセルの線であってもよく、または形成し得る。上述のように、候補エッジは、第一の画像領域(例えば、画像領域56031~56036のうちの一つ)と第二の画像領域(例えば、画像領域56051~56056のうちの一つ)との間よって形成されてもよく、またはそれらの境界に基づいて形成されてもよく、第一の画像領域は、第二の画像領域に直に隣接してもよく、第二の画像領域よりも暗くてもよく、画像強度における急激な変化が二つの画像領域の間の境界で生じてもよい。例えば、図7Bは、画像領域56031~56036と対応する直に隣接する画像領域56051~56056との間のそれぞれの境界によって画定または形成される、候補エッジ56011~56016を示す。実施例として、計算システム1100は、候補エッジ56011を、一つの画像領域56051と別の暗い画像領域56031との間の境界を画定するピクセル位置のセットとして識別し得る。追加の実施例として、計算システム1100は、候補エッジ56015を、一つの画像領域56055と暗い画像領域56035との間の境界を画定するピクセル位置のセットとして識別し得る。一部の実例では、候補エッジ56015のピクセル位置は、暗い画像領域56035に位置し得る。より具体的には、候補エッジ56015は、例えば、単一のピクセルの幅を有するピクセルの線であり得る画像領域56035であり得るか、または合致し得る。
実施形態では、計算システム1100は、例えば、画像強度の急激な変化を検出し得る、画像エッジ検出技術に基づいて、候補エッジ56011~56016の一つなどの候補エッジを検出またはその他の方法で識別し得る。例えば、計算システム1100は、ソベルオペレーター、プレウィットオペレーター、または2D画像内の強度勾配を決定するための他の技術を適用することによって、および/またはCannyエッジ検出器または他のエッジ検出技術を適用することによって2D画像内の候補エッジまたは他の画像情報を検出するように構成され得る。
実施形態では、計算システム1100が、一つまたは複数の直に隣接する画像領域よりも暗いピクセルのバンドである2D画像内の画像領域を識別する場合、画像領域は、いくつかの環境では、候補エッジよりも多くを形成するのに十分な幅であり得る。例えば、図7Cは、画像領域56031~56034に基づいて、追加の候補エッジ56017~560110を識別する計算システム1100を示す。より具体的には、追加の候補エッジ56017~560110は、画像領域56031~56034と、直に隣接する画像領域56071~56074との間のそれぞれの境界を画定する、ピクセル位置のそれぞれのセットであり得る。より具体的な例として、この実施例の画像領域56032は、画像エッジ検出技術が、図7Bに示されるように、画像領域56032の一方の側(例えば、右側)と直に隣接する領域56052との間の境界によって形成される候補エッジ56012を識別し、および図7Cに示されるように、画像領域56032の反対側(例えば、左側)と直に隣接する領域56072との間の境界によって形成される別の候補エッジ56018をさらに識別するように、十分に広くてもよい。実施形態では、画像領域は、画像エッジ検出技術が、画像領域から単一の候補エッジのみを識別し得るように非常に狭くてもよい。こうした実施形態では、画像領域は、単一のピクセル、または数ピクセルの幅を有し得る。例えば、上述のように、画像領域56035は、ピクセルの線を形成してもよく、一つのピクセルの幅を有し得る。この実施例では、計算システム1100は、画像領域56035に基づいて単一の候補エッジ56015のみを識別してもよく、候補エッジ56015は、例えば、画像候補エッジ56015が、画像領域56035を形成するピクセルの線であり得るか、または重複し得るように、画像領域56035と合致し得る。
図4に戻ると、方法4000は、実施形態で、ステップ4004の複数の候補エッジが、第一の画像領域と第二の画像領域との間の境界によって形成される第一の候補エッジを含むときに行われてもよい、ステップ4006を含み得、第一の画像領域は、画像強度において第二の画像領域よりも暗くてもよく、第二の画像領域に直に隣接し得る。この実施例では、第一の画像領域および第二の画像領域は、2D画像(例えば、5600)または他の画像情報によって記述される領域であり得る。例えば、図7A~7Cは、複数の候補エッジ56011~5601nの例を提供し、ステップ4006の第一の候補エッジは、複数の候補エッジ56011~5601nのうちのいずれか一つであり得る。上述のように、第一の候補エッジは、第一の画像領域と第二の明るい画像領域との間の境界によって形成されてもよく、またはそれらに基づいて形成され得る。実施例として、第一の候補エッジが候補エッジ56011である場合、第一の画像領域は、画像領域56031であってもよく、第二の画像領域は、56051であり得る。別の例として、第一の候補エッジが候補エッジ56012である場合、第一の画像領域は画像領域56032であってもよく、第二の画像領域は画像領域56052であり得る。
ステップ4006で、計算システム1100は、画像情報(例えば、2D画像5600)が、第一の候補エッジ(例えば、56012)で定義された暗さ条件を満たすかどうかを判定し得る。こうした決定は、より具体的には、例えば、第一の画像領域(例えば、56032)が定義された暗さ条件を満たすかどうかを判定することを含み得る。実施形態では、定義された暗さ条件を使用して、第一の候補エッジ(例えば、56012)が、カメラ視野(例えば、3210/3210A)中の物体(例えば、3510)の実際の物理的エッジに対応するか、または第一の候補エッジが偽エッジであるかを判定することができる。
実施形態では、定義された暗さ条件は、画像プライア、またはより具体的には、ダークプライアを検出するために使用され得る。画像プライアは、特定の状況中に画像内に現れる可能性を有するか、または画像内に予期され得る、画像特徴を指し得る。より具体的には、画像プライアは、画像が、カメラ視野において互いに隣り合わせに置かれる箱または他の物体のグループを表すために生成される状況など、このような状況で生成される画像にどのような画像特徴(複数可)があるかの予期、期待、または予測に対応し得る。実例によっては、ダークプライアは、高レベルの暗さを有する、および/またはスパイク形状の画像強度プロファイル(例えば、ピクセル強度プロファイル)を有する画像特徴を指し得る。スパイク形状の画像強度プロファイルは、暗さのスパイク増加および/または画像強度のスパイク減少を伴い得る。ダークプライアは、物体の一部または全ての間に狭い、物理的ギャップのみが存在するように、カメラ視野内の箱または他の物体のグループが互いに十分に近接して配置される状況に対応し得る。より具体的には、ダークプライアは、物体のグループを表すためにそのような状況で画像が生成されるとき、物理的ギャップが画像内で非常に暗く見えるであろうという予期、期待、または予測に対応し得る。より具体的には、ダークプライアは、以下でより詳細に論じるように、物理的ギャップを表す画像中の画像領域が高レベルの暗さを有するとの予期または予測に対応してもよく、および/またはスパイク形状の画像強度プロファイルを有し得る。いくつかの実施では、候補エッジに関連付けられる画像領域が、二つの物体間の物理的ギャップに対応するかどうかを評価することによって、候補エッジが、物理的エッジに対応するかどうかを判定するために、ダークプライアを使用し得る。
実施形態では、一部のシナリオでは、ダークプライアを検出するための条件であり得る、定義された暗さ条件は、二つの物体間(例えば、図3A~3Cの3510および3520)の物理的ギャップがどのようになっているのかというモデルに基づいてもよく、特に物理的ギャップが狭い場合(例えば、5mm未満または10mm未満)、2D画像に表示される必要がある、または表示される可能性が高い。例えば、定義された暗さ条件は、拡散反射率のランバートモデルに基づいてもよい。反射率のこうしたモデルは、一つまたは複数の表面または領域、特に入射光の拡散反射を引き起こす表面または領域から光がどのように反射するかを推定し得る。従って、モデルは、表面または表面領域からの反射光の強度を推定してもよく、反射光を感知するカメラ(例えば、3200/3200A)によって生成される画像において、表面または表面領域がどれほど明るく、またはどれほど暗いかを示し得る。
ランバートモデルが物体のグループ(例えば、図3A~3Cの3510~3550)にどのように適用されるかの実施例として、図8は、物体3510、3520のさまざまな表面からくる反射光を感知することによって、少なくとも物体3510および3520を表す画像(例えば、5600)を生成するように構成される、カメラ3200Aを描写する。一部のシナリオでは、反射光は、光源3600からの放射光の反射であり得る。より具体的には、光源3600は、物体3510、3520に向かって少なくともベクトルに沿って光を放射し得る。
この実施例では、物体3510および3520は、互いに隣接して配置されてもよく、物体3510の物理的エッジ部3510Bと物体3520の物理的エッジ部3520Dとの間の空間であり得る狭い物理的ギャップgによって分離され得る。図8のシナリオでは、画像(例えば、5600)中の物理的ギャップgの画像強度は、物体3510の表面3510E(例えば、側面)などの物理的ギャップを形成するさまざまな表面から反射光の量に依存し得る。拡散反射率のランバートモデルの下で、特定の表面からの反射光の強度は、cosαに比例するか、または他の方法でそれ基づいてもよく、ここで、αは、入射光のベクトル
と表面(例えば、3510E)の法線ベクトル
との間の角度である。図8Aでは、ベクトル
と表面3510Eの法線ベクトル
との間の角度αは、実質的に90度であってもよく、その結果、表面3510Eからの反射光の強度が極めて低くてもよく、または一部の状況ではゼロであり得る。従って、二つの物体間の物理的ギャップを表す画像領域は、極めて高いレベルの暗さを有し得る。従って、ステップ4006の定義された暗さ条件は、いくつかの実装では、画像領域が、二つの物体間の物理的ギャップを表すことを示すために十分に暗いかどうかを評価するために使用され得る、定義された暗さ閾値基準を含んでもよい。
一部の状況では、物理的ギャップは、その周辺よりもその真ん中で暗いように見え得る。すなわち、何らかの反射光が物理的ギャップを離れる場合、より多くの反射光が、物理的ギャップの真ん中からよりも物理的ギャップの外周から来てもよい。周辺部は、例えば、物理的エッジ部3520Dまたは物理的エッジ部3510Bに近い、物理的ギャップ内の位置を指し得る。一部のシナリオでは、物理的ギャップの真ん中に暗さのピークレベルが生じ得る。従って、物理的ギャップを表す画像領域は、画像強度プロファイルが、暗さのスパイク増加または画像領域内の画像強度のスパイク減少を有する、スパイク形状の画像強度プロファイル(例えば、ピクセル強度プロファイル)を有し得る。従って、ステップ4006で定義された暗さ条件は、一部の状況では、画像領域が、例えば、スパイク形状の画像強度プロファイル(例えば、ステップ形状の画像強度プロファイルとは対照的に)を有するかどうかを評価するために、定義されたスパイク強度プロファイル基準を含み得る。
実施形態では、定義された暗さ条件は、例えば、非一時的コンピューター可読媒体1120または他の場所に格納される一つまたは複数の規則、基準、または他の情報によって定義され得る。例えば、情報は、暗さ閾値基準を満たすことによってのみ、スパイク強度プロファイル基準を満たすことによってのみ、両方の基準を満たすことによってのみ、または暗さ閾値基準もしくはスパイク強度プロファイル基準のいずれかを満たすことによってのみ、暗さ条件が満たされるかどうかを定義し得る。一部の実例では、定義された暗さ条件が、事前に定義された暗さ条件であり得るように、情報は、手動でまたは他の方法で事前に定義されてもよく、非一時的コンピューター可読媒体1120に記憶され得る。実例によっては、暗さ条件についての情報が動的に定義され得る。
実施形態では、定義された暗さ閾値基準および/または定義されたスパイク強度プロファイル基準は、非一時的コンピューター可読媒体1120または他の場所に格納される情報によって定義され得る。情報は、定義された暗さ閾値基準および/または定義されたスパイク強度プロファイル基準が、所定の基準(単数または複数)であり得るように、事前に定義され得る。実施形態では、本開示のさまざまな所定の閾値または他の所定の値は、非一時的コンピューター可読媒体1120または他の場所に保存値として手動で定義され得る。例えば、以下で論じる定義された暗さ閾値または定義された奥行き差閾値は、コンピューター可読媒体1120上に記憶される値であり得る。これらは、所定の値であってもよく、または動的に定義され得る。
図9A~9Cは、画像情報(例えば、5600)が候補エッジ56012で定義された暗さ条件を満たすか、より具体的には、画像領域56032が定義された暗さ条件を満たすかどうかを評価するための実施形態を示す。画像領域56032は、図8の物体3510などの第一の物体と、物体3520などの第二の物体との間の物理的ギャップを表し得る。実施形態では、候補エッジ56012は、物体3510の物理的エッジ5610Bを表してもよく、画像領域56032と直に隣接する画像領域56052との間の境界によって、またはその境界に基づいて形成され得る。この実施例では、画像領域56032は、第一の画像領域であってもよく、画像領域56052は、第二の画像領域であり得る。より具体的には、画像領域56032は、ピクセルのバンドを形成する第一のピクセル領域であってもよく、一方、画像領域56052は、第二のピクセル領域であってもよく、故に候補エッジ56012は、例えば、第一のピクセル領域と第二のピクセル領域との間の境界を画定するピクセル位置のセットを含んでもよく、またはそれによって形成され得る。上で論じたように、計算システム1100は、例えば、画像領域56032、56052の間の画像強度(例えば、ピクセル強度)の急激な変化を検出することによって、候補エッジ56012を識別し得る。
実施形態では、候補エッジが、第一の画像領域と第二の画像領域との間の境界に基づいて形成され、第一の画像領域が第二の画像領域よりも暗い場合、計算システム1100は、第一の画像領域が定義されたスパイク強度プロファイル基準を満たす場合、定義された暗さ条件を満たすと決定し得る。より具体的には、計算システムは、第一の画像領域が、画像強度が、第一の画像領域内の暗闇において、第一の画像領域内の位置での暗さのピークレベルに向かって増加し、そしてその後、暗闇の中で減少する、形などの、その画像強度プロファイル(例えば、ピクセル強度プロファイル)に対して特定の形状を持っている場合、第一の画像領域(例えば、56032)が、定義されたスパイク強度プロファイル基準を満たすと決定することができる。こうした基準は、画像強度プロファイルが、画像領域内の暗さのスパイク増加、または画像領域内の強度のスパイク減少を有する、スパイク形状の強度プロファイルと一致し得る。こうした基準は、画像に現れる任意の物理的ギャップが、ギャップの外周に対して、ギャップの真ん中でより暗く見えることが予期される、ダークプライアを検出することと関連付けられ得る。
図9Bは、定義されたスパイク強度プロファイル基準を満たすことができる、画像強度プロファイル9001、またはより具体的には、ピクセル強度プロファイルを示す。より具体的には、画像強度プロファイルは、画像強度、すなわちより具体的には、ピクセル強度が、ピクセル位置などの画像位置の関数としてどのように変化するかを記述する情報を含み得る。実施形態によっては、画像強度プロファイルは、画像内の位置の関数として、画像強度の値を記述する曲線またはグラフによって表され得る。例えば、図9Bは、軸5609に沿った特定の方向におけるピクセル位置の関数として、画像強度の値、すなわちより具体的には、ピクセル強度値を記述する、曲線またはグラフを、画像強度プロファイル9001として描写する。軸5609は、画像領域56032の幅寸法を横切って、それに沿って延在する軸であってもよく、軸5609に沿った方向は、軸5609に沿った特定の方向であり得る。図9Bの実施例では、幅寸法は、例えば、図5Aの画像5600の座標軸uと整列され得、軸5609に沿った方向は、その方向に沿ったピクセル座標[u,v]が、uの値が増加する、正の方向であり得る。
実施形態では、計算システム1100は、画像領域56032が、(i)画像強度(例えば、ピクセル強度)が第一の方向(例えば、軸5609に沿った正の方向)に沿った位置の関数としての第一の画像領域内の暗さにおいて増加し、第一の画像領域内の位置u1で暗さのピークレベル(例えば、9002)に到達する、第一のプロファイル部分(例えば、9011)と、その後に(ii)画像強度が、同じ方向(例えば、正の方向)に沿った位置の関数として、暗さのピークレベルから離れて、第一の画像領域内の暗さにおいて減少する、第二のプロファイル部分(例えば、9012)とを含む、ピクセル強度プロファイル(例えば、9001)を有するかどうかを判定することによって、画像領域56032が定義されたスパイク強度プロファイル基準を満たすかどうかを判定することができる。図9Bの画像強度プロファイル9001は、より具体的には、画像領域95032内の画像強度のスパイク減少を有するスパイク形状の強度プロファイルであり得る。
いくつかの実施では、暗さが増大する画像強度プロファイルは、画像強度が減少している値を有する画像強度プロファイルに対応し得る。例えば、画像(例えば、5600)は、最小の可能なピクセル強度値(例えば、ゼロ)から、最大の可能なピクセル強度値(例えば、8ビットでコードされたピクセル強度値に対して255)の範囲内にあるピクセル強度値を有し得る。この実施例では、ピクセル強度値が低いと、明るさのレベルが低いため、暗さのレベルが高くてもよい、一方で、ピクセル強度値が高いと、明るさのレベルが高いため、暗さのレベルが低くてもよい。さらにこの実施例では、画像強度プロファイルの暗さのピークレベル(例えば、9002)は、画像強度プロファイル(例えば、9001)の最小画像強度値に対応し得る。
上の実施例では、計算システム1100は、画像強度プロファイルが、画像強度値(例えば、ピクセル強度値)が、最小画像強度値に向かって画像強度の減少を開始し、その後、最小画像強度値から離れて画像強度を増加させるように切り替わる形状を有するかどうかを判定することによって、画像領域が、定義されたスパイク強度プロファイル基準を満たすかどうかを判定し得る。例えば、図9Bの画像強度プロファイル9001は、画像領域56032の幅寸法にわたって延在する一連のピクセルに対するそれぞれのピクセル強度値を記述し得る。計算システム1100は、画像強度プロファイルが、それぞれのピクセル強度値が画像領域56032内の最小ピクセル強度値に向かって減少し、その後、最小ピクセル強度値から離れて画像領域56032内で増加するように切り替わる形状を有するかどうかを判定することによって、画像領域56032がスパイク強度プロファイル基準を満たすかどうかを判定することができる。この実施例では、最小ピクセル強度値は、画像強度プロファイル9001における暗さのピークレベル9002に対応し得る。
実施形態では、候補エッジが、第一の画像領域と第二の画像領域との間の境界に基づいて形成され、第一の画像領域が第二の画像領域よりも暗い場合、定義された暗さ閾値基準を満たすことは、定義された暗さ閾値との比較を伴い得る。こうした基準は、画像中に存在する任意の物理的ギャップが、外観上非常に暗いと予想される、ダークプライアを検出することに対応し得る。図9Cは、画像領域56032および直に隣接する画像領域に対する別の画像強度プロファイル9003を示す。この実施例では、第一の画像領域は、第二のより明るい画像領域(例えば、56052)に直に隣接する画像領域56032であってもよく、一方で暗い画像領域56032は、第一の画像領域であり得る。上述のように、画像領域56032は、ピクセルのバンドを形成し得る。図9Cで、計算システム1100は、画像領域56032が、定義された暗さ閾値τdark_priorよりも画像強度が暗い少なくとも一つの部分を有するかどうかを判定することによって、画像領域56032が定義された暗さ閾値基準を満たすかどうかを判定し得る。上述のように、より高いレベルの暗さは、一部の例では、より低い画像強度値に対応し得る。こうした実例では、計算システム1100は、画像領域56032が、定義された暗さ閾値のτdark_priorよりも小さい画像強度値(例えば、ピクセル強度値)を有する画像強度プロファイルを有するかどうかを判定し得る。一部の状況では、計算システム1100は、より具体的には、画像強度プロファイル9003の最小強度値が、定義された暗さ閾値であるτdark_prior以下であるかを判定してもよく、最小強度値は、強度プロファイル9003の暗さのピークレベル9004に対応し得る。実施形態では、画像領域56032が画像強度プロファイル9003を有する場合、定義された暗さ閾値基準および定義されたスパイク強度プロファイル基準の両方を満たすことができる。
実施形態では、計算システム1100は、定義された暗さ閾値基準または定義されたスパイク強度プロファイル基準のうちの少なくとも一つが、上記の基準のうちのいずれか一つが、定義された暗さ条件を満たすために使用され得るように、満たされた場合、候補エッジおよび/または画像領域に対して定義された暗さ条件が満たされると判定し得る。実施形態では、計算システム1100は、定義されたスパイク強度プロファイル基準が、(定義された暗さ閾値基準が満たされるかどうかに関係なく)満たされるという判定に応答してのみ、定義された暗さ閾値基準が、(定義されたスパイク強度プロファイル基準が満たされるかどうかに関係なく)満たされるという判定に応答してのみ、または、定義された暗さ閾値基準と定義されたスパイク強度プロファイル基準の両方が満たされるという判定に応答してのみ、定義された暗さ条件が、満たされると判定することができる。
実施形態では、計算システム1100は、2D画像5600などの2D画像情報に基づいて、候補エッジ(例えば、56012)を識別し、候補エッジが定義された暗さ条件を満たすかどうかを判定し得る。上述のように、計算システム1100が2D画像情報および3D画像情報の両方を受信する場合、計算システム1100は、2D画像情報を使用して、3D画像情報の制限を補償するか、または3D画像情報の欠如を補償してもよく、その逆もまた可能である。例えば、カメラ(例えば、3200B)が物体のグループを表すために3D画像情報を生成するとき、3D画像情報は、特に物体のグループがカメラに対して等しい奥行き値を有する場合、グループ内の個々の物体を区別するための情報を欠いてもよい。より具体的には、3D画像情報は、物体間の狭い物理的ギャップを検出するための情報を欠いてもよく、それゆえ、物理的ギャップに関連する物理的エッジを識別する際に限定的な有用性を有し得る。
実施例として、図9Dは、図5Bの3D画像情報5700の部分5715に関連する奥行き値を示す。より具体的には、部分5715は、物体3520の上部表面上の物理的位置5720a~5720a+5、および物体3510の上部表面上の位置5710b~5710b+4に対するそれぞれの奥行き値を記述し得る。これらの物理的位置は、画像領域56032内またはその周りにある画像位置、または候補エッジ56012の周りにある画像位置に対してマッピングされてもよく、またはそうでなければそれに対応し得る。図8に示すように、画像領域56032は、物体3510、3520の間の物理的ギャップgを表し得る。上述のように、計算システム1100は、3D画像情報を使用して、奥行きの急激な変化がある一つまたは複数の位置を検出しようとし得る。しかし、図8の物理的ギャップは、3D画像情報5700によって捕捉される3D画像情報の解像度に対して狭すぎるか、またはそうでなければ小さすぎてもよい。従って、図9Dの実施例では、計算システム1100は、位置5720a~5720a+5および5710b~5710b+4に、奥行きの急激な変化がないと判定し、それゆえ、3D画像情報がそれらの位置でいずれの候補エッジも示さないと判定し得る。さらに、一部の状況では、3D画像情報は、位置5720a~5720a+5および5710b~5710b+4の一部について、またはより具体的には、候補エッジ56011に対応する一つまたは複数の位置について、奥行き情報を欠落し得る。一部の状況では、候補エッジ56011をマッピングするか、または他の方法で対応する3D画像情報の一部分は、非一時的コンピューター可読媒体1120に定義された値であり得る、定義されたノイズ許容閾値よりも大きい撮像ノイズのレベルによって影響され得る。上記の実施例では、2D画像情報は、物体3510の物理的エッジ3510Bを表す候補エッジ56011を含んでもよく、物体3510と物体3520との間の物理的ギャップを表さない画像領域56032を含んでもよいため、2D画像情報は、3D画像情報のこれらの制限を補償し得る。3D画像情報の限定を含む上記の実施例では、計算システム1100は、物体のグループの物理的エッジ(例えば、3510B)のうちの一つを表すために、候補エッジ56012を使用するべきかどうかを判定するために、定義された暗さ条件をさらに使用し得る。
図10A~10Cは、候補エッジ56014および/または画像領域56034が定義された暗さ条件を満たすかどうかを判定するための実施例を示す。画像領域56034は、物体3510の上部表面上に印刷された可視線などの、図3Bの視覚的マーキング3512を表し得る。この実施例では、画像領域56034は、画像領域56054および56074など、直に隣接している画像領域よりも暗くてもよい。候補エッジ56014は、暗い画像領域56034と直に隣接する領域56054との間の境界に基づいて形成され得る。
図10Bは、画像強度プロファイル10001が、画像強度プロファイル10001が、暗さのピークレベルに向かって位置の関数として暗さが増大し、その後暗さのピークレベルから離れて暗さが減少する形で、画像領域56034内で変化しないため、定義されたスパイク強度プロファイル基準を満たさない画像強度プロファイル10001を有する画像領域56034を示す。この実施例の画像強度プロファイル10001は、画像領域56034の幅寸法と整列され得る、軸5608に沿ったピクセル位置の関数として、ピクセル強度値を記述し得る。上述のように、スパイク強度プロファイル基準は、物体の物理的エッジ間の物理的ギャップが、物理的ギャップの外周に対して、物理的ギャップの真ん中でより暗く見えてもよいという予期に対応し得る。従って、物理的ギャップを表す画像領域は、画像領域内の画像位置の関数として変化し、より具体的には、物理的ギャップの周辺に対応する画像位置から物理的ギャップの中央に対応する画像位置へ、特定の方向に沿った画像位置の関数として暗さが増加し、およびその後、同じ方向に沿った位置の関数として暗さが減少する、画像強度プロファイルを有し得る。より具体的には、画像強度プロファイルは、物理的ギャップを表す画像領域における暗さのスパイク増加または画像強度のスパイク減少を有し得る。実施形態では、代わりに視覚的線または他の視覚的マーキングを表す画像領域は、こうした画像強度プロファイルを欠いてもよく、代わりに、画像領域内により均一なレベルの暗さを有し得る。従って、図10Bに示すように、視覚的マーキング3512の一部を表す画像領域56034は、プロファイル10001が、画像領域56034内で実質的に変化しないように、画像領域56034内でより均一である画像強度プロファイル10001を有し得る。さらに、画像強度プロファイル10001は、画像領域56034の境界で、より明るい隣接画像領域(例えば、56054)と関連付けられる画像強度から、画像領域56034内の一様な画像強度まで、画像強度の段差形状の変化を有し得る。従って、画像強度プロファイル10001は、画像領域56034を横断する特定の方向に沿って、暗さのピークレベルに向かって、暗さを増大させることによって始まり、その後、その方向に沿って暗さを減少することに切り替える形状を有しない。より具体的には、画像強度プロファイル10001は、画像強度のスパイク減少を示さない。従って、この実施例の計算システム1100は、画像領域56034が、2D画像5600が、候補エッジ56014および/または画像領域56034で定義された暗さ条件を満たさないとの判定をもたらし得る、定義されたスパイク強度プロファイル基準を満たさないと判定することができる。
図10Cは、画像強度プロファイル10003が、画像領域56034が十分に暗くないことを示し得るため、定義された暗さ閾値基準を満たすことができない場合がある、画像強度プロファイル10003を有する、画像領域56034を描写する。より具体的には、計算システム1100は、画像領域56034の画像強度プロファイル10003内のピクセル強度値のほとんどまたは全てが、定義された暗さ閾値のτdark_priorを超えると決定し得る。従って、図10Cの計算システム1100は、画像領域56034が、画像5600が、候補エッジ56014および/または画像領域56034で定義された暗さ条件を満たさないとの判定をもたらし得る、定義された暗さ閾値基準を満たさないと判定し得る。画像強度プロファイル10003はまた、図10Bについて上で論じたように、定義されたスパイク強度プロファイル基準を満たさなくてもよい。
実施形態では、画像領域は、画像領域が定義されたスパイク強度プロファイル基準を満たすかどうかの信頼できる評価を行うには小さすぎる幅を有し得る。例えば、画像領域は、単一のピクセルのみの幅、または数ピクセルのみの幅を有し得る。一部の実例では、計算システム1100は、こうした画像領域が定義された暗さ条件を満たすものではないと判定し得る。他の例では、計算システム1100は、画像領域が定義された暗さ閾値基準を満たすかどうかに基づいて、画像領域が定義された暗さ条件を満たすかどうかを判定し得る。一部の実例では、計算システム1100は、定義された暗さ条件に関して、こうした画像領域または関連する候補エッジを評価しないことを決定し得る。
上述のように、本開示の一態様は、計算システム1100が、2D画像5600などの、少なくとも2D画像情報に基づいて、複数の候補エッジを識別する状況に関する。こうした実施形態では、複数の候補エッジは、2D画像に基づいて識別される少なくとも第一の候補エッジ(例えば、56011/56012/56013/56014)を含み得る。例えば、第一の候補エッジは、2D画像の二つの画像領域の間の境界に基づいて形成され得る。一部の実例では、計算システム1100は、2D画像情報および3D画像情報に基づいて、複数の候補エッジを識別し得る。こうした例では、複数の候補エッジは、上述のように、2D画像情報からの第一の候補エッジを含んでもよく、3D画像情報に基づいて識別される、第二の候補エッジ(例えば、図6Bの57011)をさらに含んでもよい。
実施例として、図11A~11Bは、3D画像情報5700に基づいて、複数の候補エッジの第二の候補エッジとして、候補エッジ57011を識別する、計算システム1100を示す。この実施例では、計算システム1100は、3D画像情報5700の第一の部分5710Aと第二の部分5750Aとの間の候補エッジ57011での奥行きの急激な変化を検出することに基づいて、候補エッジ57011を識別し得る。第一の部分5710Aは、例えば、図3A~3Cの物体3510の上部表面上の位置の領域を表し得る一方で、第二の部分5750Aは、例えば、物体3550の上部表面上の位置の領域を表し得る。より具体的には、図11Bに示すように、3D画像情報の第一の部分5710Aは、物体3510の上部表面上にある位置5710c~5710c+5に対するそれぞれの奥行き値を含んでもよく、一方で、第二の部分5750Aは、物体3550の上部表面上にある位置5750d~5750d+4に対するそれぞれの奥行き値を含んでもよい。この実施例では、位置5710c~5710c+5および5750d~5750d+4は、図11AのY軸に沿って整列された一連の位置であり得る。
実施形態では、計算システム1100は、3D画像情報5700によって記述される一連の位置の二つの連続的な位置またはそうでなければ隣接する位置の間の奥行きの急激な変化を検出することに基づき、図11Bの候補エッジ57011を識別し得る。こうした急激な変化は、奥行き不連続状態と呼んでもよい。急激な変化は、例えば、二つの位置のそれぞれの奥行き値間の差が、定義された奥行き差閾値を超えるときに検出され得る。例えば、計算システム1100は、位置5710c+5の奥行き値と位置5750dの奥行き値との間の差が、定義された奥行き差閾値を超えると決定し得る。結果として、計算システム1100は、これら二つの位置5710c+5、5750dに基づいて、候補エッジ57011を識別し得る。例えば、候補エッジ57011は、Y軸上の位置5710c+5、5750dの間にある位置を含むように識別され得る。
実施形態では、計算システム1100は、3D画像情報に基づいて、定義された奥行き差閾値を超える奥行き差を有する二つの表面を識別することによって、候補エッジを識別し得る。例えば、図11Cに示すように、計算システム1100は、3D画像情報5700によって記述される位置の第一のセットに基づいて、物体のグループ3510~3550の第一の表面を識別してもよく、位置の第一のセットは、定義された測定分散閾値を超えて互いに逸脱しないそれぞれの奥行き値を有する。同様に、計算システム1100は、3D画像情報5700によって記述される位置の第二のセットに基づいて、物体のグループ3510~3550の第二の表面を識別してもよく、位置の第二のセットは、定義された測定分散閾値を超えて互いに逸脱しないそれぞれの奥行き値を有する。図11Cの実施例では、位置の第一のセットは、物体5710の上部表面を表し得る位置5710c~5710c+5を含んでもよく、一方で、位置の第二のセットは、物体5750の上部表面を表し得る位置5750d~5750d+4を含んでもよい。
本実施形態では、定義された測定分散閾値は、撮像ノイズ、製造公差、またはカメラ(例えば、3200B)によって計測された奥行き測定値にランダムな変動をもたらし得る他の要因の影響を記述し得る。ランダム変動のこうした源は、たとえさまざまな位置が共通表面の一部であり、実際にカメラに対して同じ奥行きを有するとしても、さまざまな位置の奥行き値に何らかの自然分散をもたらす。一部の実例では、定義された測定分散閾値は、奥行き測定値における予想されるランダム変動、またはより広くは、カメラがノイズまたは他の誤差源に対してどの程度感受性であるかを記述するために使用される、公称標準偏差に等しいか、またはそれに基づいてもよい。公称標準偏差は、カメラによって生成される奥行き値または他の奥行き情報に予想される、ベースライン標準偏差または他の形態の分散を記述し得る。公称標準偏差、またはより広くは、定義された測定分散閾値は、例えば、非一時的コンピューター可読媒体1120に格納される値であってもよく、所定の値または動的に定義された値であり得る。実施形態では、位置のセットが、定義された測定分散閾値を超えて互いに逸脱しないそれぞれの奥行き値を有する場合、計算システム1100は、位置のセットが共通表面の一部であると決定し得る。より具体的な実施形態では、計算システム1100は、それらのそれぞれの奥行き値の標準偏差(例えば、Std5710またはStd5750)が、定義された測定分散閾値よりも小さい場合、位置のセットが共通表面の一部であると決定し得る。
上の実施形態では、計算システム1100は、十分な奥行き差を有する二つの表面に基づいて3D画像情報から候補エッジを識別し得る。例えば、物体5710の上部表面を記述する図11Cの位置の第一のセットは、平均奥行き値Avg5710を有するか、または他の方法でそれに関連付けることができる。同様に、物体5750の上部表面を記述する位置の第二のセットは、平均奥行き値Avg5750を有するか、または他の方法でそれに関連付けることができる。計算システム1100は、Avg5710とAvg5750との間の差が、定義された奥行き差閾値以上であるかを判定し得る。一部の実例では、定義された奥行き差閾値は、定義された測定分散閾値の倍数(例えば、定義された測定分散閾値の2倍、または定義された測定分散閾値の5倍)として決定され得る。二つの表面に関連付けられるAvg5710とAvg5750との間の差が、定義された奥行き差閾値以上である場合、計算システム1100は、奥行き不連続状態が満たされると判断し得る。より具体的には、計算システム1100は、候補エッジ(例えば、57011)が、二つの表面の間の位置に存在していると判定してもよく、より具体的には、二つの表面間の遷移がある位置に基づいて、候補エッジを識別し得る。
上述のように、本開示の一態様は、3D画像情報が、2D画像情報の限定を補償し得る(およびその逆)ように、2D画像情報および3D画像情報を使用して互いを補償することに関する。実例によっては、3D画像情報から検出された物理的エッジは、2D画像情報からのみ検出された物理的エッジよりも高いレベルの信頼と関連付けられ得る。場合によっては、物理的エッジ(例えば、図3Bの3510A)が2D画像情報および3D画像情報の両方で表される場合、計算システム1100は、2D画像情報の物理的エッジを表す候補エッジ(例えば、56015)を識別し、3D画像情報の物理的エッジを表す対応する候補エッジ(例えば、57011)を識別することができる。上述のように、対応する候補エッジは、互いにマッピングし得る。例えば、3D画像情報(例えば、57011)中の候補エッジは、2D画像情報中の候補エッジ(例えば、56015)にマッピングされ得る。候補エッジ(例えば、56015)は、56055および5650などの二つの画像領域の間の境界に基づいて形成され得る。しかしながら、一部の状況では、計算システム1100は、2D画像情報からの候補エッジ(例えば、56015)が実際の物理的エッジに対応するかどうかを、高い信頼レベルで決定することができなくてもよい。例えば、図11Dでは、2D画像5600は、候補エッジ56015で画像強度の段差形状の変化を有し得る。この実施例では、計算システム1100は、2D画像5600が、候補エッジ56015で、またはより具体的には、二つの画像領域56055および5650で、定義された暗さ条件を満たさないと決定し得る。従って、計算システム1100は、物理的エッジを表す候補エッジ56015と関連付けられる十分に高い信頼レベルがないと決定し得る。
こうした状況では、計算システム1100は、3D画像情報を使用して、追加の入力を提供し得る。より具体的には、計算システム1100は、図11A~11Cに関して上述されたように、3D画像情報に基づき、候補エッジ57011を識別してもよく、2D画像情報の中の候補エッジ56015が、3D画像情報の中の候補エッジ57011にマッピングされてもよく、または他の方法でそれに対応し得る。実例によっては、候補エッジ57011が奥行き情報に基づいて識別されるので、計算システム1100は、物理的エッジ、すなわち、図3Bの物理的エッジ3510Aを表す候補エッジ57011が存在する可能性が十分高いと判定し得る。従って、2D画像情報は、物理的エッジ3510Aの検出につながらない、または物理的エッジ3510Aの検出に低い信頼レベルでつながり得る一方、3D画像情報は、計算システム1100によって、より高い信頼レベルで物理的エッジ3510Aを検出するために使用され得る。
図4に戻ると、方法4000は、一実施形態において、計算システム1100が、複数の候補エッジ(例えば、複数の候補エッジ56011~5601nのサブセット)のサブセットを選択して、物体のグループ(例えば、3510~3540)の物理的エッジを表すための候補エッジの選択されたサブセットを形成し得る、ステップ4008を含み得る。実施形態では、このステップは、サブセットから、それぞれが偽エッジである可能性が高い一つまたは複数の候補エッジを除外することを伴い得る。偽エッジである可能性が高い一つまたは複数の候補エッジは、候補エッジのサブセットから除去されてもよく、またはより一般的には、物体のグループ(例えば、3510~3540)の物理的エッジを表すためのさらなる検討から無視され得る。一実施例では、計算システム1100は、複数の候補エッジから除去する候補エッジ(複数可)を決定することによって、複数の候補エッジのサブセットを選択してもよく、複数の候補エッジは、除去された後、結果として生じるサブセットを形成する。一実施例では、複数の候補エッジが、図2Cのエッジ検出情報1126によって表される、または記述される場合、候補エッジを除去することは、その候補エッジに関する情報をエッジ検出情報1126から削除することを伴い得る。
上述のように、複数の候補エッジ(例えば、56011~5601n、または56011~5601nおよび57011~5701n)は、第一の画像領域と第一の画像領域よりも暗い第二の画像領域との間の境界に基づいて形成される、少なくとも第一の候補エッジ(例えば、56011または56014)を含み得る。さらに、第一の候補エッジは、2D画像情報から識別され得る。実施形態では、ステップ4008は、サブセット(候補エッジのサブセットとも呼ばれる)に第一の候補エッジを含むかどうかを決定することを伴い得る。サブセットに第一の候補エッジ(例えば、56011)を含むことで、第一の候補エッジを使用して、カメラ視野内の物体のグループの少なくとも一つの物理的エッジ(例えば、3510B)を表すことが可能になり得る。より具体的には、第一の候補エッジ(例えば、56011)がサブセットに含まれる場合、このような包含は、第一の候補エッジ(例えば、56011)が、物体のグループの物理的エッジの少なくとも一つを表すために考慮されたままである候補であるという表示であり得る。言い換えれば、計算システム1100は、少なくとも一つの物理的エッジを表すための候補として第一の候補エッジを保持するかどうかを決定し得る。計算システム1100が、そのような候補として第一の候補エッジを保持すると決定する場合、それは、サブセット(候補エッジの選択されたサブセットとも呼ぶことができる)内に第一の候補エッジを含み得る。この決定は、複数の候補エッジのサブセットを選択するステップの一部であってもよく、画像が第一の候補エッジで定義された暗さ条件を満たすかどうかに基づいて行われてもよい。実例によっては、サブセット内の第一の候補エッジの包含は、第一の候補エッジが偽エッジである可能性が充分に低いという表示であり得る。場合によっては、サブセットに第一の候補エッジを含めることは、計算システム1100が、物体のグループの少なくとも一つの物理的エッジを表すために第一の候補エッジを使用するか、または物体のグループの少なくとも一つの物理的エッジを表すために少なくとも第一の候補エッジを考慮し続けるように、第一の候補エッジ(例えば、56011)が、物体のグループの実際の物理的エッジに対応する十分に高い信頼レベルを有することを示し得る。計算システム1100が、第一の候補エッジ(例えば、56014)がフィルターリングされるか、またはそうでなければサブセットから除外されるように、第一の候補エッジ(例えば、56014)をサブセットに含めないと決定する場合、こうした除外は、第一の候補エッジ(例えば、56014)が、物体のグループの物理的エッジの少なくとも一つを表すための候補ではなくなったという表示であり得る。実例によっては、サブセットからの第一の候補エッジの除外は、第一の候補エッジ(例えば、56014)が偽エッジである可能性が高いという表示であり得る。
実施形態では、候補エッジの選択されたサブセットに第一の候補エッジを含むかどうかの判定は、上述のように、画像情報(例えば、5600)が第一の候補エッジで定義された暗さ条件を満たすかどうかに基づいてもよい。いくつかの実施では、画像情報が第一の候補エッジで定義された暗さ条件を満たす場合、こうした結果は、第一の候補エッジが偽エッジである可能性が充分に低いことを示し得る。なぜなら、このような状況における第一の候補エッジは、二つの物体間の物理的ギャップを表す画像領域と関連付けられる可能性が高いからである。従って、第一の候補エッジは、物理的ギャップの一方の側面を形成する物理的エッジを表し得る。こうした状況では、計算システム1100は、選択されたサブセットに第一の候補エッジを含むように決定し得る。一部の実例では、画像情報が第一の候補エッジで定義された暗さ条件を満たさない場合、計算システム1100は、第一の候補エッジを選択されたサブセットに含めないように決定し得る。一部の実例では、計算システムが、2D画像情報が第一の候補エッジで定義された暗さ条件を満たさないと判断した場合、計算システム1100は、3D画像情報を使用して第一の候補エッジをさらに評価し得る。例えば、計算システム1100が、2D画像5600が候補エッジ56015で定義された暗さ条件を満たさないと決定した場合、計算システム1100は、その候補エッジ56015が3D画像情報によって記述された候補エッジ57011にマッピングされるかどうか、および3D画像情報の候補エッジ57011が、図11A~11Dに関して上で論じたように、定義された奥行き差閾値よりも大きい奥行き変化を示すかどうかを決定することができる。
実施形態では、方法4000は、ステップ4006および/または4008を複数回(例えば、複数の反復を介して)実行して、画像情報が複数の候補エッジで定義された暗さ条件を満たすかどうかを決定し、これらの決定に基づいて上で論じたサブセットを選択し得る。実施例として、複数の候補エッジが、少なくとも候補エッジ56011~5601nを含む場合、計算システム1100は、ステップ4006を複数回実行して、2D画像5600が、例えば、候補エッジ56011~5601nで、定義された暗さ条件を満たすかどうかを判定し得る。計算システム1100はさらに、ステップ4008を複数回実行して、これらの候補エッジのうちどれがサブセットに含まれ、物理的エッジを表すための候補のままであるかを、およびこれらの候補エッジのうちどれがサブセットから除外され、従って物理的エッジを表すための候補ではなくなるかを決定し得る。例えば、計算システム1100は、2D画像5600がそれらの候補エッジで定義された暗さ条件を満たすため、サブセットが候補エッジ56011および56012を含むこと、および2D画像がそれらの候補エッジで定義された暗さ条件を満たさないため、サブセットが候補エッジ56013および56014を含まないことを決定し得る。一部の状況では、計算システム1100は、2D画像5600が候補エッジで定義された暗さ条件を満たすことができないため、候補エッジ56015をサブセットに含めないと判断し得る。一部の状況では、計算システム1100は、候補エッジ56015が、奥行き差閾値を超える奥行き変化を示す3D画像情報の候補エッジ57011にマッピングされる場合、候補エッジ56015をサブセットに依然として含むように決定し得る。
実施形態では、方法4000は、計算システム1100がロボット相互作用移動コマンドを出力するステップを含み得る。ロボット相互作用移動コマンドは、ロボット(例えば、3300)と、物体のグループ(例えば、3510~3550)の少なくとも一つの物体との間のロボット相互作用に使用され得る。ロボット相互作用は、例えば、ロボット(例えば、3300)がパレットから物体(例えば、箱)をピックアップし、物体を目的地の位置に動かす、パレットから降ろす動作または他の動作を行うことを伴い得る。
実施形態では、ロボット相互作用移動コマンドは、ステップ4008の候補エッジの選択されたサブセットに基づいて生成され得る。例えば、計算システム1100は、候補エッジの選択されたサブセットを使用して、画像情報によって記述される物体のグループの中から個々の物体を区別し得る。一部の実例では、計算システム1100は、選択されたサブセットを使用して、画像情報のセグメンテーションを実行し得る。例えば、画像情報が点群を含む場合、計算システムは、候補エッジの選択されたサブセットを使用して、物体のグループの中で個々の物体に対応する点群の一部分を識別することを伴い得る、点群セグメンテーションを行い得る。点群セグメンテーションは、米国特許出願第16/791,024号(弁理士整理番号MJ0049-US/0077-0009US1)、その全体が参照により本明細書に組み込まれる。一実施例では、画像情報が2D画像情報を含む場合、計算システム1100は、候補エッジの選択されたサブセットを使用して、物体のグループの中から個々の物体に対応する2D画像情報の一部分を分離し得る。分離された部分は、例えば、物体認識操作または物体登録操作(例えば、モジュール1128による)を実施するために使用される、ターゲット画像またはターゲット画像部分として使用され得る。物体登録および物体認識については、米国特許出願第16/991,466号(弁理士整理番号MJ0054-US/0077-0012US1)、および米国特許出願第17/193,253号(弁理士整理番号MJ0060-US/0077-0017US1)でより詳細に論じられ、それらの内容全体が参照により本明細書に組み込まれる。こうした実施例では、ロボット相互作用移動コマンドは、物体認識操作または物体登録操作の結果に基づいて生成され得る。例えば、物体認識操作は、画像情報によって、またはその一部によって、どの物体または物体タイプを表しているかの推定であり得る、検出仮説を生成し得る。一部の実例では、検出仮説は、例えば、物体3510~3540の一方の物理的構造を記述する情報を含み得る、物体認識テンプレートと関連付けられ得る。この情報は、計算システム1100によって使用され、物体(例えば、モジュール1129を介して)を取り出して移動するためのロボット(例えば、3300)の移動を計画し得る。
方法4000の上記のステップが、図3A~3Cの物体3510~3550に関し示される一方で、図12Aは、物体12510に関する上記のステップを示す一方で、図13Aは、物体13510~13520に関する上記のステップを示す。実施形態では、図12Aの物体12510は、第二の、直に隣接する物理的領域12514よりも暗い第一の物理的領域12512を有する上部表面を有する箱であり得る。例えば、第一の物理的領域12512は、第二の物理的領域12514と比較して、その上により多くのインクを印刷し得る。物体12510は、箱が配置されるパレットであり得る、物体12520上に配置され得る。図12Bは、物体12510を表すために生成され得る2D画像12600を示す。より具体的には、2D画像12600は、第一の物理的領域12512を表す第一の画像領域12603を含んでもよく、第二の物理的領域12514を表す第二の画像領域12605を含んでもよい。本実施形態の計算システム1100は、第一の画像領域12603と第二の画像領域12605との間の境界に基づいて、第一の候補エッジ126011を識別し得る。
実施形態では、計算システム1100は、2D画像12600が、第一の候補エッジ126011で定義された暗さ条件を満たさないと決定し得る。例えば、計算システム1100は、2D画像12600が、第一の候補エッジ126011で画像強度の段差形状の変化を有する画像強度プロファイル12001を有すると決定し得る。画像強度プロファイルは、画像のu軸に沿って延在する軸12609に沿って測定され得る。いくつかの実施では、計算システム1100は、画像強度プロファイル12001、またはより具体的には、画像領域12603および12605が、スパイク強度プロファイル基準を満たさないと決定し得る。計算システム1100は、定義された暗さ条件が第一の候補エッジ126011で満たされていないとさらに判断し得る。結果として、計算システム1100は、エッジ検出情報1126から第一の候補エッジ126011を除去し得る。
図13Aの実施形態において、物体13510および13520はそれぞれ箱であってもよく、パレットまたは他のプラットフォームであり得る物体13530上に配置され得る。本実施形態では、物体13510は、物体13520よりも暗くてもよい(例えば、より暗い段ボールまたは他の材料で作製された結果として)。さらに、二つの物体は、狭い物理的ギャップgによって分離され得る。図13Bは、第一の物体13510を表す第一の画像領域13603と、第二の物体13530を表す第二の画像領域13605とを含む、2D画像13600を示す。本実施形態の計算システム1100は、二つの画像領域13605、13605の間の境界に基づいて、候補エッジ136011を識別し得る。
図12Bおよび13Bに示すように、画像12600および13600が類似の外観を有し得る。しかしながら、図13Cに示すように、画像13600は、画像強度のスパイク減少を含む画像強度プロファイルを有し得る。より具体的には、画像13600の画像領域13603は、より具体的には、物体13510、13520の間の物理的ギャップgを表すための画像領域136031を含んでもよく、物体13520を表すための画像領域136032を含んでもよい。本実施形態では、画像領域136031は、画像強度のスパイク減少を含んでもよく、定義された暗さ閾値よりも小さい最小ピクセル強度値を有し得る。従って、計算システム1100は、画像領域136031が、定義されたスパイク強度プロファイル基準および/または定義された暗さ閾値基準を満たすと決定し得る。結果として、計算システム1100は、画像13600が、第一の候補エッジ136031で定義された暗さ条件を満たすと決定し得る。従って、計算システム1100は、第一の候補エッジ136031を使用して、物体13510、13520の物理的エッジのうちの一つを表すように決定し得る。
さまざまな実施形態に関する追加の考察:
実施形態1は、計算システム、または計算システムによって実施される方法を含む。計算システムは、通信インターフェイスおよび少なくとも一つの処理回路を含んでもよい。通信インターフェイスは、ロボット、およびカメラ視野を有するカメラと通信するように構成され得る。少なくとも一つの処理回路は、物体のグループがカメラ視野の中にあるとき、カメラによって生成される、物体のグループを表す画像情報を受信することと、画像情報から、物体のグループに関連付けられる複数の候補エッジを識別することであって、複数の候補エッジが、物体のグループの物理的エッジを表すためのそれぞれの候補を形成する、画像位置または物理的位置のそれぞれのセットであるか、またはそれらを含むことと、複数の候補エッジが、第一の画像領域と第二の画像領域との間の境界に基づいて形成される第一の候補エッジを含む場合、画像情報が、第一の候補エッジで定義された暗さ条件を満たすかどうかを判定することであって、第一の画像領域が、第二の画像領域よりも暗く、第一の画像領域および第二の画像領域が、画像情報によって記述されるそれぞれの領域であることと、複数の候補エッジのサブセットを選択して、物体のグループの物理的エッジを表すための候補エッジの選択されたサブセットを形成することであって、選択することが、画像情報が第一の候補エッジで定義された暗さ条件を満たすかどうかに基づいて、候補エッジの選択されたサブセット内に第一の候補エッジを含めることによって、物体のグループの物理的エッジの少なくとも一つを表す候補として、第一の候補エッジを保持するかどうかを判定することを含むことと、ロボット相互作用移動コマンドを出力することであって、ロボット相互作用移動コマンドが、ロボットと物体のグループの少なくとも一つの物体との間のロボット相互作用のためであり、候補エッジの選択されたサブセットに基づいて生成されることと、を実行するように構成され得る。本実施形態では、少なくとも一つの処理回路は、第一の画像領域が、定義された暗さ閾値基準または定義されたスパイク強度プロファイル基準のうちの少なくとも一つを満たすという決定に応答して、画像情報が、第一の候補エッジで定義された暗さ条件を満たすと決定するように構成される。さらに本実施形態では、少なくとも一つの処理回路は、第一の画像領域が、定義された暗さ閾値よりも画像強度が暗い少なくとも一つの部分を有するかどうかを判定することによって、第一の画像領域が定義された暗さ閾値基準を満たすかどうかを判定するように構成される。さらに本実施形態では、少なくとも一つの処理回路は、第一の画像領域が、(i)画像強度が、位置の関数として第一の画像領域内の暗さが増加し、第一の画像領域内の位置で暗さのピークレベルに到達する、第一のプロファイル部分と、続いて(ii)画像強度が、位置の関数として、暗さのピークレベルから離れて、第一の画像領域内の暗さが減少する、第二のプロファイル部分とを含む、画像強度プロファイルを有するかどうかを判定することによって、第一の画像領域がスパイク強度プロファイル基準を満たすかどうかを判定するように構成される。
実施形態2は、実施形態1に記載の計算システムを含み、第一の画像領域が、物体のグループの第一の物体と第二の物体との間の物理的ギャップを表すピクセルのバンドを形成する第一のピクセル領域であり、第二の画像領域が、第一の候補エッジを形成する境界が第一のピクセル領域と第二のピクセル領域との間にあるように、第一のピクセル領域に直に隣接する第二のピクセル領域である。
実施形態3は、実施形態2に記載の計算システムを含み、少なくとも一つの処理回路が、第一の画像領域が定義された暗さ閾値よりも小さいピクセル強度値を有するかどうかを判定することによって、第一の画像領域が、定義された暗さ閾値基準を満たすかどうかを判定するように構成される。
実施形態4は、実施形態2または3の計算システムを含み、第一の画像領域の画像強度プロファイルが、第一の画像領域の幅寸法にわたって延びる一連のピクセルのそれぞれのピクセル強度値を記述し、少なくとも一つの処理回路が、画像強度プロファイルが、それぞれのピクセル強度値が、第一の画像領域における最小ピクセル強度値に向かって減少し、そして次に、最小ピクセル強度値から離れて増加するように切り替わる、形状を有するかどうかを判定することによって、第一の画像領域がスパイク強度プロファイル基準を満たすかどうかを判定するように構成され、最小ピクセル強度値が、第一の画像領域における暗さのピークレベルに関連している。
実施形態5は、実施形態1~4のいずれか一つに記載の計算システムを含み、少なくとも一つの処理回路が、第一の画像領域がスパイク強度プロファイル基準を満たすという決定に応答してのみ、第一の画像領域が定義された暗さ条件を満たすと判定するように構成される。
実施形態6は、実施形態1~5のいずれか一つに記載の計算システムを含み、少なくとも一つの処理回路が、第一の画像領域が定義された暗さ閾値基準を満たすという決定に応答してのみ、第一の画像領域が定義された暗さ条件を満たすと判定するように構成される。
実施形態7は、実施形態1に記載の計算システムを含み、少なくとも一つの処理回路が、第一の画像領域が定義された暗さ閾値基準および定義されたスパイク強度プロファイル基準の両方を満たすという決定に応答してのみ、第一の画像領域が定義された暗さ条件を満たすと判定するように構成される。
実施形態8は、実施形態1~7のいずれか一つに記載の計算システムを含み、少なくとも一つの処理回路が、画像情報が2D画像情報および3D画像情報を含むとき、2D画像情報に基づいて、第一の画像領域と第二の画像領域との間の境界に基づいて形成される第一の候補エッジを識別するように構成され、3D画像情報が、カメラ視野内の位置の奥行き情報を含む。
実施形態9は、実施形態8の計算システムを含み、少なくとも一つの処理回路が、(i)3D画像情報に、第一の候補エッジに対応する一つまたは複数の位置の奥行き情報が欠落し、(ii)第一の候補画像に対応する3D画像情報の一部が、定義されたノイズ許容閾値よりも大きい撮像ノイズのレベルの影響を受ける場合に、物体のグループの物理的エッジの少なくとも一つを表すための候補として第一の候補エッジを保持するかどうかの判定を行うように構成される。
実施形態10は、実施形態8または9の計算システムを含み、少なくとも一つの処理回路が、3D画像情報が第一の候補エッジに対応する一つまたは複数の位置で、定義された奥行き不連続状態を満たさない時に、物体のグループの物理的エッジのうちの少なくとも一つを表すための候補として、第一の候補エッジを保持するかどうかの判定を行うように構成される。
実施形態11は、実施形態10の計算システムを含み、少なくとも一つの処理回路が、3D画像情報が、定義された奥行き差閾値を超える一つまたは複数の位置で奥行き変化を記述しないという決定に応答して、3D画像情報が、第一の候補エッジに対応する一つまたは複数の位置で、定義された奥行き不連続状態を満たさないと判定するように構成される。
実施形態12は、実施形態8~11のうちのいずれか一つの計算システムを含み、少なくとも一つの処理回路が、3D画像情報に基づいて、複数の候補エッジの第二の候補エッジを識別するように構成される。
実施形態13は、請求項12に記載の計算システムを含み、少なくとも一つの処理回路は、定義された測定分散閾値を超えて互いに逸脱しないそれぞれの奥行き値を有する、3D画像情報によって記述される位置の第一のセットに基づいて、物体のグループの第一の表面を識別することと、定義された測定分散閾値内にあるそれぞれの奥行き値を有する、3D画像情報によって記述される位置の第二のセットに基づいて、物体のグループの第二の表面を識別することと、第一の平均奥行き値として、第一の表面に関連付けられる平均奥行き値を決定することと、第二の平均奥行き値として、第二の表面に関連付けられる平均奥行き値を決定することと、第一の平均奥行き値と第二の平均奥行き値との間の差が、定義された奥行き差閾値を超えるという決定に応答して、第一の表面と第二の表面との間の遷移がある位置に基づいて、第二の候補エッジを識別することと、によって、3D画像情報に基づいて第二の候補エッジを識別するように構成される。
実施形態14は、実施形態12または13の計算システムを含み、少なくとも一つの処理回路が、第二の候補エッジが、2D画像情報の中にあり、定義された暗さ条件を満たさない二つの画像領域の間の境界に基づいて形成される、候補エッジにマッピングされるときに、3D画像情報に基づいて第二の候補エッジを識別するように構成される。
実施形態15は、実施形態1~14の計算システムを含み、少なくとも一つの処理回路が、候補エッジの選択されたサブセットに基づいて、物体認識操作または物体登録操作を行うように構成される。
実施形態16は、実施形態1~15のいずれか一つに記載の計算システムを含み、少なくとも一つの処理回路が、複数の候補エッジからどの候補エッジをフィルターリングするかを決定することによって、複数の候補エッジのサブセットを選択するように構成され、複数の候補エッジが、フィルターリングされた後、候補エッジのサブセットを形成する。
関連分野の当業者にとって、本明細書に記載する方法および用途への、その他の好適な修正ならびに適応が、実施形態のうちのいずれの範囲から逸脱することなく成すことができることは明らかであろう。上に記載する実施形態は、説明に役立つ実施例であり、本発明がこれらの特定の実施形態に限定されると解釈されるべきではない。本明細書に開示するさまざまな実施形態は、記載および添付の図に具体的に提示する組み合わせとは異なる組み合わせで、組み合わせてもよいことが理解されるべきである。実施例によって、本明細書に記載するプロセスもしくは方法のいずれのある特定の行為または事象は、異なるシーケンスで行われてもよく、追加、統合、または完全に省略し得ることも理解されるべきである(例えば、記載した全ての行為または事象は、方法またはプロセスを実施するのに必要ではない場合がある)。一部の実例では、方法4000は、ステップ4002を省略するように修正され得る。上述のさまざまな実施形態は、方法4000のステップ4002~4008に関連するが、本開示の別の方法は、図11Bまたは11Cに関して論じられるように、3D画像情報に基づいて候補エッジを特定することを含んでもよく、およびステップ4002~4008を省略し得る。加えて、本明細書の実施形態のある特定の特徴を、明確にするために、単一コンポーネント、モジュール、またはユニットにより行われていると記載しているものの、本明細書に記載する特徴および機能は、構成要素、モジュール、またはユニットのいかなる組み合わせによって行われてもよいことは理解されるべきである。従って、添付の特許請求の範囲で定義されるような、発明の趣旨または範囲から逸脱することなく、さまざまな変更および修正を当業者が及ぼし得る。