(57)【特許請求の範囲】
【請求項１】
物体を検出する方法であって、
第１の画像取込モードに基づいた物体を表す第１の画像データから第１のエッジ情報を生成すること、
前記第１の画像取込モードと異なる第２の画像取込モードに基づいた前記物体を表す第２の画像データから第２のエッジ情報を生成すること、
前記第１のエッジ情報と前記第２のエッジ情報を融合させて融合エッジ情報を生成すること、
前記融合エッジ情報に基づいて物体検出仮説を生成すること、及び
前記融合エッジ情報、前記第１のエッジ情報、及び／又は前記第２のエッジ情報に基づいて、前記物体検出仮説を検証すること、を含み、
前記第１のエッジ情報と前記第２のエッジ情報を融合させることが、前記第１のエッジ情報と前記第２のエッジ情報を共用画像空間に合成することを含み、
前記第１のエッジ情報と前記第２のエッジ情報を前記共用画像空間に合成することが、
前記第１の画像取込モードと関連付けられた検出エッジの座標に基づいて、前記第１のエッジ情報をマッピングすること、及び
前記第２のエッジ情報を、前記第１の画像取込モードと関連付けられた画像空間に対応するように変換すること、を含み、
前記第１の画像取込モードと関連付けられた前記画像空間が３次元画像空間であり、
前記第２のエッジ情報を、前記第１の画像取込モードと関連付けられた前記画像空間に対応するように変換することが、
前記第２のエッジ情報の２次元エッジ点の２次元位置に対応する前記第１のエッジ情報と関連付けられた深さ情報に基づいて、前記第２のエッジ情報からの前記２次元エッジ点を前記３次元画像空間に投影して、前記第２のエッジ情報と関連付けられた投影された３次元点を生成すること、
前記投影された３次元点を前記３次元画像空間に対応するように変換すること、及び
前記３次元画像空間に対応する前記変換された３次元点を、前記第１のエッジ情報と関連付けられた画像の２次元座標に投影すること、を含む、方法。
【請求項２】
前記第１の画像取込モードに基づいた前記物体を表す前記画像データが、２次元画像取込モードにより取り込まれた画像データであり、
前記第１のエッジ情報を検出することが、
ＣＡＮＮＹエッジ検出、
領域類似度エッジ検出、及び
線分検出、の１つ以上を含む、請求項１に記載の方法。
【請求項３】
前記第１の画像取込モードに基づいた前記物体を表す前記画像データが、３次元画像取込モードにより取り込まれた画像データであり、
前記第１のエッジ情報を検出することが、
前記第１の画像取込モードを使用して取り込まれた前記画像データを、検出対象の１つ以上の物体と関連付けられた画像空間に投影すること、及び
物体エッジを投影された３Ｄ点群から抽出すること、を含む、請求項１に記載の方法。
【請求項４】
コンピュータデバイスに物体を検出する方法を実行させる命令を実装した非一時的コンピュータ可読媒体であって、前記方法が、
第１の画像取込モードに基づいた物体を表す第１の画像データから第１のエッジ情報を生成すること、
前記第１の画像取込モードと異なる第２の画像取込モードに基づいた前記物体を表す第２の画像データから第２のエッジ情報を生成すること、
前記第１のエッジ情報と前記第２のエッジ情報を融合させて融合エッジ情報を生成すること、
前記融合エッジ情報に基づいて物体検出仮説を生成すること、及び
前記融合エッジ情報、前記第１のエッジ情報、及び／又は前記第２のエッジ情報に基づいて前記物体検出仮説を検証すること、を含み、
前記第１のエッジ情報と前記第２のエッジ情報を融合させることが、前記第１のエッジ情報と前記第２のエッジ情報を共用画像空間に合成することを含み、
前記第１のエッジ情報と前記第２のエッジ情報を前記共用画像空間に合成することが、
前記第１の画像取込モードと関連付けられた検出エッジの座標に基づいて前記第１のエッジ情報をマッピングすること、及び
前記第２のエッジ情報を、前記第１の画像取込モードと関連付けられた画像空間に対応するように変換すること、を含み、
前記第１の画像取込モードと関連付けられた前記画像空間が３次元画像空間であり、
前記第２のエッジ情報を、前記第１の画像取込モードと関連付けられた前記画像空間に対応するように変換することが、
前記第２のエッジ情報の２次元エッジ点の２次元位置に対応する前記第１のエッジ情報と関連付けられた深さ情報に基づいて、前記第２のエッジ情報からの前記２次元エッジ点を前記３次元画像空間に投影して、前記第２のエッジ情報と関連付けられた投影された３次元点を生成すること、
前記投影された３次元点を前記３次元画像空間に対応するように変換すること、及び
前記３次元画像空間に対応する前記変換された３次元点を、前記第１のエッジ情報と関連付けられた画像の２次元座標に投影すること、を含む、非一時的コンピュータ可読媒体。
【請求項５】
前記第１の画像取込モードに基づいた前記物体を表す前記第１の画像データが、２次元画像取込モードにより取り込まれた画像データであり、
前記第１のエッジ情報を検出することが、
ＣＡＮＮＹエッジ検出、
領域類似度エッジ検出、及び
線分検出、の１つ以上を含む、請求項４に記載の非一時的コンピュータ可読媒体。
【請求項６】
前記第１の画像取込モードに基づいた前記物体を表す前記第１の画像データが、３次元画像取込モードにより取り込まれた画像データであり、
前記第１のエッジ情報を検出することが、
前記第１の画像取込モードを使用して取り込まれた前記画像データを、検出対象の１つ以上の物体と関連付けられた画像空間に投影すること、及び
物体エッジを投影された３Ｄ点群から抽出すること、を含む、請求項４に記載の非一時的コンピュータ可読媒体。
【請求項７】
物体を検出するための物体検出システムであって、
第１の画像取込モードに基づいた物体を表す第１の画像データを受け取り、前記第１の画像取込モードと異なる第２の画像取込モードに基づいた前記物体を表す第２の画像データを受け取るように構成されたシステムインターフェイスと、
前記システムインターフェイスと通信可能に結合されたプロセッサと、を備え、
前記プロセッサが、
第１の画像取込モードに基づいた物体を表す前記第１の画像データから第１のエッジ情報を生成すること、
前記第１の画像取込モードと異なる第２の画像取込モードに基づいた物体を表す前記第２の画像データから第２のエッジ情報を生成すること、
前記第１のエッジ情報と前記第２のエッジ情報を融合させて融合エッジ情報を生成すること、
前記融合エッジ情報に基づいて物体検出仮説を生成すること、及び
前記融合エッジ情報、前記第１のエッジ情報、及び／又は前記第２のエッジ情報に基づいて前記物体検出仮説を検証すること、を含む、物体検出方法を実行するように構成され、
前記第１のエッジ情報と前記第２のエッジ情報を融合させることが、前記第１のエッジ情報と前記第２のエッジ情報を共用画像空間に合成することを含み、
前記第１のエッジ情報と前記第２のエッジ情報を前記共用画像空間に合成することが、
前記第１の画像取込モードと関連付けられた検出エッジの座標に基づいて、前記第１のエッジ情報をマッピングすること、及び
前記第２のエッジ情報を、前記第１の画像取込モードと関連付けられた画像空間に対応するように変換すること、を含み、
前記第１の画像取込モードと関連付けられた前記画像空間が３次元画像空間であり、
前記第２のエッジ情報を前記第１の画像取込モードと関連付けられた前記画像空間に対応するように変換することが、
前記第２のエッジ情報の２次元エッジ点の２次元位置に対応する前記第１のエッジ情報と関連付けられた深さ情報に基づいて、前記第２のエッジ情報からの前記２次元エッジ点を前記３次元画像空間に投影して、前記第２のエッジ情報と関連付けられた投影された３次元点を生成すること、
前記投影された３次元点を前記３次元画像空間に対応するように変換すること、及び
前記３次元画像空間に対応する前記変換された３次元点を、前記第１のエッジ情報と関連付けられた画像の２次元座標に投影すること、を含む、物体検出システム。
【請求項８】
前記第１の画像取込モードに基づいた前記物体を表す前記第１の画像データが、３次元画像取込モードにより取り込まれた画像データであり、
前記第１のエッジ情報を検出することが、
前記第１の画像取込モードを使用して取り込まれた前記画像データを、検出対象の１つ以上の物体と関連付けられた画像空間に投影すること、及び
物体エッジを投影された３Ｄ点群から抽出すること、を含む、請求項７に記載の物体検出システム。
【発明の詳細な説明】
【技術分野】
【０００１】
[01]  本開示は物体検出に関し、より具体的には物体のエッジを検出するためのシステム及び方法に関する。
【背景技術】
【０００２】
[02]  一部のマシンビジョンアプリケーションでは、コンベヤ装置に沿って移動する、パレットに積載された又はコンテナに積み込まれた物体又はボックスのエッジを検出することが、隙間を検出したり、物体の寸法又はタイプを決定したりするために重要な場合がある。しかしながら、従来技術のシステムは、使用されているカメラ又はその他の撮像デバイスの色又は光学的解像度に起因して、２つの物体又はボックス間、物体と周囲環境の間、又は単一のパレットに搭載された複数の物体間のコントラスト又は境界を検出することが困難な場合がある。単一の撮像デバイスに頼る従来技術のシステムは、物体周囲の境界又はエッジを発見又は検出できない確率が高くなる可能性がある。本発明の例示的な実装形態は、従来技術のシステムにおける欠陥に対処することができる。
【発明の概要】
【０００３】
[03]  本発明の態様は、物体を検出する方法を含むことができる。方法は、第１の画像取込モードに基づいた物体を表す第１の画像データから第１のエッジ情報を生成すること、第１の画像取込モードと異なる第２の画像取込モードに基づいた物体を表す第２の画像データから第２のエッジ情報を生成すること、第１のエッジ情報と第２のエッジ情報を融合させて融合エッジ情報を生成すること、融合エッジ情報に基づいて物体検出仮説を生成すること、及び融合エッジ情報、第１のエッジ情報、及び／又は第２のエッジ情報に基づいて物体検出仮説を検証することを含むことができる。
【０００４】
[04]  本発明の追加の態様は、コンピュータデバイスに物体を検出する方法を実行させる命令を実装した非一時的コンピュータ可読媒体を備えることができる。方法は、第１の画像取込モードに基づいた物体を表す第１の画像データから第１のエッジ情報を生成すること、第１の画像取込モードと異なる第２の画像取込モードに基づいた物体を表す第２の画像データから第２のエッジ情報を生成すること、第１のエッジ情報と第２のエッジ情報を融合させて融合エッジ情報を生成すること、融合エッジ情報に基づいて物体検出仮説を生成すること、及び融合エッジ情報、第１のエッジ情報、及び／又は第２のエッジ情報に基づいて物体検出仮説を検証することを含むことができる。
【０００５】
[05]  本発明の更なる態様は、マシンビジョンを用いて物体を検出するためのコンピュータシステムを備えることができる。コンピュータシステムは、システムインターフェイスと、システムインターフェイスと通信可能に結合されたプロセッサとを備えることができる。システムインターフェイスは、第１の画像取込モードに基づいた物体を表す第１の画像データを受け取り、第１の画像取込モードと異なる第２の画像取込モードに基づいた物体を表す第２の画像データを受け取るように構成することができる。プロセッサは物体検出方法を実行するように構成することができる。方法は、第１の画像取込モードに基づいた物体を表す第１の画像データから第１のエッジ情報を生成すること、第１の画像取込モードと異なる第２の画像取込モードに基づいた物体を表す第２の画像データから第２のエッジ情報を生成すること、第１のエッジ情報と第２のエッジ情報を融合させて融合エッジ情報を生成すること、融合エッジ情報に基づいて物体検出仮説を生成すること、及び融合エッジ情報、第１のエッジ情報、及び／又は第２のエッジ情報に基づいて物体検出仮説を検証することを含むことができる。
【０００６】
[06]  本発明の追加の態様は、マシンビジョンを用いて物体を検出するための別の物体検出システムを備えることができる。システムは、第１の画像取込モードの画像を取り込み、第２の画像取込モードの画像を取り込むように構成されたデバイス、第１の画像取込モードで収集した画像データから第１の物体エッジ情報を生成し、第１の画像取込モードと異なる第２の画像取込モードで収集した画像データから第２の物体エッジ情報を生成するように構成されたデバイス、及びプロセッサを備えることができる。プロセッサは、第１の物体エッジ情報と第２の物体エッジ情報を融合させて融合エッジ情報を生成し、融合エッジ情報に基づいて物体検出仮説を生成し、融合エッジ情報、第１の物体エッジ情報、及び第２の物体エッジ情報に基づいて物体検出仮説を検証するように構成することができる。
【図面の簡単な説明】
【０００７】
[07]  本発明の例示的な実施形態を以下の図に基づいて詳細に説明する。
【０００８】
【図１Ａ】[08]  本発明の例示的な実施形態を包含するロボットシステムが使用され得る例示的な環境を示す図である。
【図１Ｂ】[09]  本発明の例示的な実施形態を包含するロボットシステムを示すブロック図である。
【図２】[10]  本発明の第１の例示的な実装形態に係る、搬送装置に沿って移動する物体を検出するためのデバイスを示す。
【図３】[11]  本発明の第２の例示的な実装形態に係る、搬送装置に沿って移動する物体を検出するためのデバイスを示す。
【図４】[12]  本発明の第３の例示的な実装形態に係る、搬送装置に沿って移動する物体を検出するためのデバイスを示す。
【図５】[13]  比較例に係る単一の画像取込デバイス又はカメラのエッジ検出結果を表し得る画像データの概略図を示す。
【図６】[14]  本発明の実装形態を例として使用する融合エッジ検出結果を表し得る融合画像データ表現の概略図を示す。
【図７Ａ】[15]  本発明の例示的な実装形態に係る、融合検出エッジデータを利用することにより回避され得る不正確な検出仮説の概略図を示す。
【図７Ｂ】[15]  本発明の例示的な実装形態に係る、融合検出エッジデータを利用することにより回避され得る不正確な検出仮説の概略図を示す。
【図８】[16]  本発明の例示的な実装形態に係る物体検出及び検証のためのプロセスのフローチャートを示す。
【図９】[17]  本発明の一部の例示的な実装形態での使用に適した例示的なコンピュータデバイスを備えた例示的なコンピュータ環境を示す。
【発明を実施するための形態】
【０００９】
[18]  以下の詳細な説明は、本発明の図面及び例示的な実装形態のさらなる詳細を明らかにする。図面間で重複する要素の参照番号及び説明は明確化のために省略する。説明を通じて使用される用語は例として示されており、限定することを意図していない。例えば、「自動的な」という用語の使用は、本発明の実装形態を実施する当業者が所望する実装形態に応じて、実装形態の特定の態様に対するユーザ又はオペレータの制御を含む、全自動又は半自動の実装形態を含むことができる。さらに、「第１の」、「第２の」、「第３の」などの連続した用語は、本明細書及び特許請求の範囲において、単に表示目的で使用してもよく、記載された順序で起きる記載された行為又は事項への言及に限定されないものとする。行為又は事項は、本発明の範囲を逸脱することなく、異なる順序に並べられてもよい、又は、並行して、もしくは動的に実行されてもよい。
【００１０】
[19]  本発明における「コンピュータ可読媒体」という用語は、ローカル記憶デバイス、クラウドベースの記憶デバイス、遠隔配置されたサーバ、又は当業者には明白であり得る任意の他の記憶デバイスを含むことができる。
【００１１】
[20]  本発明に係るマシンビジョン又は物体検出システムの例示的な実装形態は、物体間の隙間又はコントラスト差を検出するために２つ以上の画像データモードを使用することによって、例えば物体又はボックス間の隙間又は空間の検出による物体エッジの検出確率を高めることができる。２つ以上の画像データモードを使用することによって、素材、背景、ケースもしくは物体、環境照明、又は反射の違いを検出することができ、これらの検出に基づいて、コンピュータシステムは、物体のサイズを決定するために、隙間間のエッジ、又は点群を識別する融合エッジ情報を生成することができる。さらに、以下で説明するように、異なる画像データモードを使用して検出されたエッジ情報を融合させることによって、例示的な実装形態は、マップ上のボックスのエッジである物体又はボックスの周囲の輪郭を読み取ることができ、結果としてこの領域を画定し、後の処理のための正確な検出仮説を与える可能性が高くなる。物体位置及び輪郭を検出する確率を高めることによって、物体をより良好に追跡し、生産加工、梱包、又は出荷施設内に配置することができる。
【００１２】
[21]  本明細書で説明される例示的な実装形態は、仕分け又は製造施設を通過するパレット又はボックスの追跡に関連する場合がある。しかしながら、例示的な実装形態はこれらの用途に限定されない。本明細書で説明されるプロセス及びシステムの例示的な実装形態は、３Ｄマッピング、自律視覚又は改善されたエッジ検出から恩恵を受け得る任意の他の用途に使用することもできる。例示的な実装形態は、従来のエッジ検出システムと比較して、より多くのデータのモジュールを使用することによって改善されたエッジ検出結果を提供して、異なるセンシングデバイスの欠点や限界を克服し、その長所や能力を所与の環境に組み合わせることができる。
【００１３】
適切な環境
[22]  図１Ａは、本願の例示的な実施形態に係る、マシンビジョン又は物体検出システムを有するロボットシステム１００の例示的な環境を示す図である。ロボットシステム１００は、１つ以上のタスクを実行するように構成された１つ以上の構造体（例えばロボット）を含む。ピースロス管理機構の態様は、様々な構造体によって実行又は実施することができる。
【００１４】
[23]  図１Ａに示す例では、ロボットシステム１００は、倉庫又は流通／出荷拠点に、荷下ろしユニット１０２、移送ユニット１０４、搬送ユニット１０６、荷積みユニット１０８、又はこれらの組み合わせを備えることができる。ロボットシステム１００の各ユニットは、１つ以上のタスクを実行するように構成することができる。タスクは順番に組み合わせて、例えば倉庫に保管するために物体をトラックやバンから降ろすこと、又は物体を保管場所から降ろし、出荷のためにトラックやバンに積み込むことなどの目的を達成する作業を実行することができる。別の例では、タスクは物体をあるコンテナから別のコンテナに移動させることを含むことができる。各ユニットは、タスクを実行するために一連の動作（例えば、ユニット内の１つ以上のコンポーネントを操作すること）を実行するように構成することができる。
【００１５】
[24]  一部の実施形態では、タスクは開始位置１１４からタスク位置１１６までの対象物体１１２（例えば、ボックス、ケース、ケージ、パレットなど）の操作（例えば、移動及び／又は再配向）を含むことができる。例えば、荷下ろしユニット１０２（例えば、デバンニングロボット）は、対象物体１１２をキャリア（例えば、トラック）内の位置からコンベヤベルト上の位置まで移送するように構成することができる。また、移送ユニット１０４（例えば、パレタイジングロボット）は、例えば対象物体１１２を搬送ユニット１０６上のパレットに積載するために、対象物体１１２をコンベヤベルト上の位置から搬送ユニット１０６上の位置に移送するように構成することができる。
【００１６】
[25]  別の例示的な実施形態によれば、移送ユニット１０４（例えば、ピースピッキングロボット）は、対象物体１１２をあるコンテナから別のコンテナに移送するように構成することができる。搬送ユニット１０６は、作業を完了する際、対象物体１１２を移送ユニット１０４に関連付けられたエリアから荷積みユニット１０８に関連付けられたエリアに移送することができる。荷積みユニット１０８は、対象物体１１２を（例えば、対象物体１１２を載せたパレットを移動させることによって）移送ユニット１０４から保管位置（例えば、棚上の位置）に移送することができる。タスク及び関連動作についての詳細は以下で説明する。
【００１７】
[26]  例示を目的として、ロボットシステム１００は発送センターとの関連で説明されるが、ロボットシステム１００が、例えば製造、組立、梱包、医療、及び／又はその他の種類の自動化のための、他の環境における他の目的のためのタスクを実行するように構成できることは理解される。また、ロボットシステム１００が、図１に示されていない、例えばマニピュレータ、サービスロボット、モジュラーロボットなどのその他のユニットを含むことができることも理解される。
【００１８】
[27]  例えば一部の実施形態では、ロボットシステム１００は、物体をケージ、カート又はパレットからコンベヤ又は別のパレットに移送するためのデパレタイジングユニット、物体をあるコンテナから別のコンテナに移送するためのコンテナ交換ユニット、物体を包むための梱包ユニット、物体をその１つ以上の特性に応じて分類するための仕分けユニット、物体に対してその１つ以上の特性に応じて異なる操作（例えば、仕分け、グループ化、及び／又は移送）を行うためのピースピッキングユニット、又はこれらの組み合わせを備えることができる。
【００１９】
適切なシステム
[28]  図１Ｂは、本技術の例示的な実施形態に係る、マシンビジョン又は物体検出システムを有するロボットシステム１００を示すブロック図である。例えば、一部の実施形態では、ロボットシステム１００は（例えば、上記の１つ以上のユニット及び／又はロボットに）、例えば１つ以上のプロセッサ１１８、１つ以上の記憶デバイス１２０、１つ以上の通信デバイス１２２、１つ以上の入出力デバイス１２４、１つ以上の駆動デバイス１２８、１つ以上の搬送モータ１３０、１つ以上のセンサ１３２、又はこれらの組み合わせを備えることができる。
【００２０】
[29]  種々のデバイスは、有線接続及び／又は無線接続を介して互いに通信可能に結合することができる。例えば、ロボットシステム１００は、システムバス、周辺コンポーネント相互接続（ＰＣＩ）バスもしくはＰＣＩエクスプレスバス、ハイパートランスポートもしくは業界標準アーキテクチャ（ＩＳＡ）バス、小型コンピュータ用システムインターフェイス（ＳＣＳＩ）バス、汎用シリアルバス（ＵＳＢ）、ＩＩＣ（Ｉ２Ｃ）バス、又は電気電子技術者協会（ＩＥＥＥ）標準１３９４バス（「ＦＩＲＥＷＩＲＥ」とも呼ばれる）などのバスを備えることができる。また、例えばロボットシステム１００は、ブリッジ、アダプタ、コントローラ、又はデバイス間の有線接続を提供するための他の信号関連デバイスを備えることができる。無線接続は、例えばセルラ通信プロトコル（例えば、３Ｇ、４Ｇ、ＬＴＥ、５Ｇなど）、無線ローカルエリアネットワーク（ＬＡＮ）プロトコル（例えば、ワイヤレスフィデリティ（ＷＩＦＩ））、ピアツーピアもしくはデバイスツーデバイス通信プロトコル（例えば、ブルートゥース、近距離無線通信（ＮＦＣ）など）、インターネット・オブ・シングス（ＩｏＴ）プロトコル（例えば、ＮＢ−ＩｏＴ、ＬＴＥ−Ｍなど）、及び／又はその他の無線通信プロトコルに基づくことができる。
【００２１】
[30]  プロセッサ１１８は、記憶デバイス１２０（例えば、コンピュータメモリ）に記憶された命令（例えば、ソフトウェア命令）を実行するように構成されたデータプロセッサ（例えば、中央演算処理装置（ＣＰＵ）、専用コンピュータ、及び／又はオンボードサーバ）を含むことができる。プロセッサ１１８は、プログラム命令を実行して他のデバイスを制御する又は他のデバイスと連動することによって、ロボットシステム１００に動作、タスク、及び／又は操作を実行させることができる。
【００２２】
[31]  記憶デバイス１２０は、プログラム命令（例えば、ソフトウェア）が記憶された非一時的コンピュータ可読媒体を備えることができる。記憶デバイス１２０の一部の例は、揮発性メモリ（例えば、キャッシュメモリ及び／又はランダムアクセスメモリ（ＲＡＭ））及び／又は不揮発性メモリ（例えば、フラッシュメモリ及び／又は磁気ディスク装置）を含むことができる。記憶デバイス１２０のその他の例は、ポータブルメモリ装置及び／又はクラウド記憶デバイスを含むことができる。
【００２３】
[32]  一部の実施形態では、記憶デバイス１２０を使用して、さらに処理結果及び／又はデータ／閾値（例えば、所定のデータ及び閾値）を記憶し、これにアクセスすることができる。例えば、記憶デバイス１２０は、ロボットシステム１００が操作し得る物体（例えば、ボックス、ケース、及び／又は製品）の記述を含むマスターデータを記憶することができる。１つ以上の実施形態では、マスターデータは、ロボットシステム１００により操作されることが予想される物体の、寸法、形状（例えば、潜在的な姿勢のテンプレート及び／又は様々な姿勢にある物体を認識するためのコンピュータ生成モデル）、カラースキーム、画像、識別情報（例えば、バーコード、クイックレスポンス（ＱＲ）コード（登録商標）、ロゴなど、及び／又はこれらの予想位置）、予想重量、又はこれらの組み合わせを含むことができる。一部の実施形態では、マスターデータは、物体ごとの重心位置、１つ以上の動作／操作に対応する（例えば、力、トルク、圧力、及び／又は接触測定の）予想センサ測定値、又はこれらの組み合わせなどの、物体についての操作関連情報を含むことができる。
【００２４】
[33]  また、例えば記憶デバイス１２０は、物体追跡データを記憶することができる。一部の実施形態では、物体追跡データは、スキャンされた又は操作された物体のログを含むことができる。一部の実施形態では、物体追跡データは、１つ以上の位置（例えば、指定の積み込みもしくは積み下ろし位置及び／又はコンベヤベルト）にある物体の画像データ（例えば、写真、点群、ライブビデオ画像など）を含むことができる。一部の実施形態では、物体追跡データは、１つ以上の位置にある物体の位置及び／又は向きを含むことができる。
【００２５】
[34]  通信デバイス１２２は、ネットワークを介して外部又は遠隔デバイスと通信するように構成された回路を備えることができる。通信デバイス１２２は、例えば受信器、送信器、変調器／復調器（モデム）、信号検出器、信号エンコーダ／デコーダ、コネクタポート、ネットワークカードなどを備えることができる。通信デバイス１２２は、１つ以上の通信プロトコル（例えば、インターネットプロトコル（ＩＰ）、無線通信プロトコルなど）に従って電気信号を送信、受信、及び／又は処理するように構成することができる。一部の実施形態では、ロボットシステム１００は、通信デバイス１２２を使用して、ロボットシステム１００のユニット間の情報交換、及び／又はロボットシステム１００の外部のシステム又はデバイスとの（例えば、報告、データ収集、解析、及び／又はトラブルシューティング目的の）情報交換を行うことができる。
【００２６】
[35]  入出力デバイス１２４は、オペレータ（例えば、人間オペレータ）との情報のやりとりを行うように構成されたユーザインターフェイスデバイスを含むことができる。例えば、入出力デバイス１２４は、ディスプレイ１２６、及び／又は人間オペレータに情報を伝達するためのその他の出力デバイス（例えば、スピーカ、触覚回路、又は触覚フィードバックデバイスなど）を含むことができる。また、入出力デバイス１２４は、キーボード、マウス、タッチスクリーン、マイクロホン、ユーザインターフェイス（ＵＩ）センサ（例えば、動作コマンドを受け取るためのカメラ）、ウェアラブル入力デバイスなどの制御又は受信デバイスを含むことができる。一部の実施形態では、ロボットシステム１００は、動作、タスク、操作、又はこれらの組み合わせを実行する際、入出力デバイス１２４を使用して人間オペレータと対話することができる。
【００２７】
[36]  ロボットシステム１００は、運動（例えば、回転及び／又は並進変位）のために関節で接続された物理的部材又は構造部材（例えば、ロボットマニピュレータアーム）を備えることができる。構造部材及び関節は、ロボットシステム１００の使用／操作に応じて１つ以上のタスク（例えば、把持、回転、溶接など）を実行するように構成されたエンドエフェクタ（例えば、グリッパ）を操作するように構成された運動連鎖を形成することができる。ロボットシステム１００は、構造部材を対応する関節又は関節の周りにおいて駆動又は操作する（例えば、移動及び／又は再配向させる）ように構成された駆動デバイス１２８（例えば、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性高分子など）を備えることができる。一部の実施形態では、ロボットシステム１００は、対応するユニット／シャーシをあちこちに搬送するように構成された搬送モータ１３０を備えることができる。
【００２８】
[37]  ロボットシステム１００は、例えば構造部材を操作するため、及び／又はロボットユニットを搬送するためのタスクを実行するのに使用される情報を取得するように構成されたセンサ１３２を備えることができる。センサ１３２は、ロボットシステム１００の１つ以上の物理的特性（例えば、１つ以上の構造部材／これらの関節の状態、状況、及び／又は位置）を検出又は測定するように構成された、及び／又は周囲環境のためのデバイスを備えることができる。センサ１３２の一部の例は、加速度計、ジャイロスコープ、力センサ、ひずみゲージ、触覚センサ、トルクセンサ、及び位置エンコーダを含むことができる。
【００２９】
[38]  一部の実施形態では、例えばセンサ１３２は、周囲環境を検出するように構成された１つ以上の撮像デバイス１３４（例えば、視覚及び／又は赤外線カメラを含む２次元及び／又は３次元カメラ、ＬＡＤＡＲ、ＲＡＤＡＲ、及び／又はその他の距離測定又は撮像デバイス）を含むことができる。撮像デバイス１３４は、（例えば、自動検査、ロボット誘導、又はその他のロボット応用のための）マシン／コンピュータビジョンを実行するために使用される、デジタル画像及び／又は点群などの検出された環境の表現を検出及び生成することができる。以下でさらに詳細に説明するように、ロボットシステム１００は、（例えば、プロセッサ１１８を介して）デジタル画像及び／又は点群を処理して、図１Ａの対象物体１１２、図１Ａの開始位置１１４、図１Ａのタスク位置１１６、図１Ａの対象物体１１２の姿勢、又はこれらの組み合わせを特定することができる。
【００３０】
[39]  対象物体１１２を操作するために、ロボットシステム１００は、（例えば、種々のユニットを介して）指定されたエリア（例えば、トラック内部、コンテナ内部、又はコンベヤベルト上の物体のピックアップ位置）の画像を取り込み、解析して対象物体１１２及びその開始位置１１４を特定することができる。同様に、ロボットシステム１００は、別の指定エリア（例えば、物体をコンベヤベルト上に置くためのドロップ位置、コンテナ内部の物体を置くための位置、又はパレット上の積載するための位置）の画像を取り込み、解析してタスク位置１１６を特定することができる。
【００３１】
[40]  また、例えばセンサ１３２は、ロボットシステム１００の構造部材（例えば、ロボットアーム及び／又はエンドエフェクタ）及び／又は対応する関節の位置を検出するように構成された位置センサ１３６（例えば、位置エンコーダ、ポテンショメータなど）を含むことができる。ロボットシステム１００は、位置センサ１３６を使用して、タスクの実行中に構造部材及び／又は関節の位置及び／又は向きを追跡することができる。
【００３２】
[41]  一部の実施形態では、センサ１３２は、複数の物理的構造体又は表面間の直接接触と関連する特性を測定するように構成された接触センサ１３８（例えば、圧力センサ、力センサ、ひずみゲージ、ピエゾ抵抗／圧電センサ、容量センサ、エラスト抵抗センサ、及び／又はその他の触覚センサ）を含むことができる。接触センサ１３８は、対象物体１１２に対するエンドエフェクタ（例えば、グリッパ）の把持に対応する特性を測定することができる。したがって、接触センサ１３８は、グリッパと対象物体１１２との接触又は密着の度合いに対応する定量化された測度（例えば、測定された力、トルク、位置など）を表す接触測度を出力することができる。例えば接触測度は、エンドエフェクタにより対象物体１１２に印加された力と関連する１つ以上の力又はトルク測定値を含むことができる。接触測度についての詳細は以下で説明される。
【００３３】
[42]  以下でさらに詳細に説明するように、ロボットシステム１００は、（例えば、プロセッサ１１８を介して）接触測度に基づいてタスクを遂行する様々な動作を実行することができる。例えば、ロボットシステム１００は、初期の接触測度が閾値未満である場合、対象物体１１２を再把持することができる。また、ロボットシステム１００は、タスクの実行中に接触測度が閾値を下回った場合、対象物体１１２を下ろすこと、タスク位置１１６を調整すること、動作の速度もしくは加速度を調整すること、又はこれらの組み合わせを意図的に行うことができる。
【００３４】
[43]  本願に係るエンドエフェクタ（例えば、グリッパ）の例示的な実施形態は、必要な能力に基づいて工具ヘッドを変更する能力を提供することによって工具の選択及びカスタマイズの柔軟性が高くなる可能性がある。例えば、握持する物体のタイプとマッチするように可変グリッパを交換することができる。マッチングは、物体のサイズ、物体の繊細さ、又は当業者には明白と思われる任意の他の要因に基づいて行うことができる。この変更能力は、工具の変更を検知し、新しい工具の要件に適合するように信号Ｉ／Ｏ操作及び供給される圧縮空気の供給量を調整するように構成された制御モジュールと通信可能に結合されたコネクタ構造体によって提供される。
【００３５】
例示的な実装形態
[44]  図２は、本発明の第１の例示的な実装形態に係る、運搬装置２２０に沿って移動する物体２７５ａ〜２７５ｃを検出するための装置２０５を示している。装置２０５は、Ｚ軸に沿って運搬装置２２０と間隔を隔てて配置された２つの画像データ取込デバイス２１０／２１２を備えることができる。図示されるように、画像取込デバイス２１０／２１２は、運搬装置２２０に沿って物体２７５ａ〜２７５ｃが移動する方向に整列し、運搬装置２２０の物体２７５ａ〜２７５ｃと同じ側に位置する。しかしながら、例示的な実装形態はこの構成に限定されず、当業者には明白と思われる他の構成で構成することもできる。他の例示的な構成は、以下で考察される図３及び図４に示されている。さらに、例示を目的として、物体２７５ａ〜２７５ｃが運搬装置２２０上にある装置２０５が示されているが、物体２７５ａ〜２７５ｃを異なる構成で配置できることが理解される。例えば、物体２７５ａ〜２７５ｃは、パレットなどのプラットフォーム上、又はカートやビンなどの物体容器の内部に積載又は配置することができる。
【００３６】
[45]  一部の例示的な実装形態では、画像データ取込デバイス２１０／２１２の一方又は両方は、例えばカラースチルカメラ（例えば、ＲＧＢカメラ）、カラービデオカメラ、モノクロもしくはグレースケールスチルカメラ、モノクロもしくはグレースケールビデオカメラなどの２次元撮像デバイスもしくはカメラ、又は当業者には明白と思われる任意の他の２次元撮像デバイスであってよい。また、一部の例示的な実装形態では、画像データ取込デバイス２１０／２１２のそれぞれは、異なるタイプの２次元撮像デバイスであってもよい（例えば、一方の画像取込デバイスがＲＧＢカメラであって、他方の画像取込デバイスがモノクロカメラであってよい、又は当業者には明白と思われる２次元撮像デバイスの任意の他の組み合わせであってよい）。
【００３７】
[46]  さらに、一部の例示的な実装形態では、画像データ取込デバイス２１０／２１２の一方又は両方は、例えばステレオビジョンカメラ、距離画像カメラ（すなわち、飛行時間（ＴＯＦ）カメラ）などの３Ｄ点群情報を生成可能な３次元画像デバイス、又は３Ｄ点群情報を生成可能な任意の他のデバイスであってよい。また、一部の例示的な実装形態では、画像データ取込デバイス２１０／２１２のそれぞれは、異なるタイプの３次元撮像デバイスであってもよい（例えば、一方の画像取込デバイスがステレオビジョンカメラであり、他方の画像取込デバイスが飛行時間カメラであってよい、又は当業者には明白と思われる３次元撮像デバイスの任意の他の組み合わせであってよい）。
【００３８】
[47]  さらにまた、一部の例示的な実装形態では、画像取込デバイスの一方（例えば、デバイス２１０）は２次元画像取込デバイスであり、画像取込デバイスの他方（例えば、デバイス２１２）は３次元画像取込デバイスであってよい。
【００３９】
[48]  図２に示すように、画像取込デバイス２１０／２１２は、物体２７５ａ〜２７５ｃが運搬装置２２０上での移動中に画像取込デバイス２１０／２１２の下を通り過ぎるとき、物体２７５ａ〜２７５ｃの画像データを取り込む又は生成するように構成することができる。一部の例示的な実装形態では、物体２７５ａ〜２７５ｃは、産業、製造、又は仕分け施設において運搬装置２２０又は同様の装置に沿って移動するボックス、パッケージ、又はパレットであってよい。
【００４０】
[49]  装置２０５はまた、画像取込デバイス２１０／２１２に結合され、物体２７５ａ〜２７５ｃの画像データを処理するコンピュータデバイス２２５を備えることができる。一部の例示的な実装形態では、コンピュータデバイス２２５は、通信可能に画像取込デバイス２１０／２１２をコンピュータデバイス２２５内の１つ以上のプロセッサに結合するシステムインターフェイス２８０（例えば、入出力（Ｉ／Ｏ）インターフェイス）を備えることができる。例えば、コンピュータデバイス２２５のシステムインターフェイス２８０は、画像取込デバイス２１０／２１２により取り込まれた又は生成された画像データを受け取り、この画像データをコンピュータデバイス２２５の１つ以上のプロセッサに提供することができる。
【００４１】
[50]  さらに、コンピュータデバイス２２５の１つ以上のプロセッサは、画像取込デバイス２１０／２１２により取り込まれた又は生成された画像データに基づいて物体２７５ａ〜２７５ｃのエッジを検出するように構成することができる。別の例として、コンピュータデバイス２２５の１つ以上のプロセッサは、物体２７５ａ〜２７５ｃ間の隙間を検出するために、画像取込デバイス２１０／２１２の画像データに検出されたエッジを融合させるように構成することができる。エッジを検出するプロセス及び融合させるプロセスは以下でより詳細に考察される。一部の例示的な実装形態では、コンピュータデバイス２２５は、例えば、以下で考察される図９のコンピュータ環境９００のコンピュータデバイス９０５であってよい。また、システムインターフェイス２８０は、例えば図９のコンピュータデバイス９０５のＩ／Ｏインターフェイス９２５であってよい。さらに、１つ以上のプロセッサは、例えば図９のコンピュータデバイス９０５のプロセッサ９１０であってよい。
【００４２】
[51]  コンピュータデバイス２２５はまた、画像データ取込デバイス２１０／２１２の出力から、エッジ及び物体２７５ａ〜２７５ｃ間の隙間をより上手く検出するための結合画像信号を生成することができる。一部の例示的な実装形態では、コンピュータデバイス２２５はまた、例えばネットワーク２３０を介して（例えば、有線及び／又は無線接続により）通信可能に互いに接続された、仕分け、追跡、又は当業者には明白と思われる任意の他の目的で検出された隙間及びエッジを使用し得る複数のデバイス２３５〜２６５に結合画像信号を送信することができる。
【００４３】
[52]  複数のデバイス２３５〜２６５は、コンピュータ２３５（例えば、ラップトップコンピュータデバイス）、モバイルデバイス２４０（例えば、スマートフォン又はタブレット）、ウェアラブルデバイス２５５（例えば、スマートウォッチ）、記憶デバイス２５０に接続されたサーバコンピュータ２４５、及び当業者には明白と思われるその他のコンピュータデバイス２６０〜２６５を含むことができるが、これらに限定されない。デバイス２３５〜２６５はまた、以下に示される図９のコンピュータ環境９００を有することができる。
【００４４】
[53]  一部の例示的な実装形態では、コンピュータデバイス２２５は、結合画像信号を複数のデバイス２３５〜２６５に送信する前に生成することができるが、本発明の例示的な実装形態はこの構成に限定されない。例えば、コンピュータデバイス２２５は、物体２７５ａ〜２７５ｃに関連するエッジ及び隙間を検出するために、（第１の画像データ取込デバイス２１０と呼ばれることもある）画像データ取込デバイス２１０からの画像データを（第２の画像データ取込デバイス２１２と呼ばれることもある）画像データ取込デバイス２１２からの画像データと結合して、以下で考察されるプロセス又はアルゴリズムを使用して結合画像信号を生成することができる。
【００４５】
[54]  逆に、他の例示的な実装形態では、コンピュータデバイス２２５は、画像データ取込デバイス２１０からの画像データ及び画像データ取込デバイス２１２からの画像データを分離信号として複数のデバイス２３５〜２６５の１つ以上に送信することができる。分離信号が受信されると、複数のデバイス２３５〜２６５のそれぞれは、以下で考察されるプロセス又はアルゴリズムを使用して分離信号を結合して、結合画像信号を生成して物体２７５ａ〜２７５ｃに関連するエッジ及び隙間を検出することができる。
【００４６】
[55]  コンピュータデバイス２２５は、装置２０５の初期設定又は再構成可能な設定の間に結合画像信号を生成するために、画像データ取込デバイス２１０からの画像データ及び画像データ取込デバイス２１２からの画像データに対応して結合画像信号を送信すべきか分離信号を送信すべきかを決定することができる。結合画像信号を送信すべきか分離信号を送信すべきかの決定は、複数のデバイス２３５〜２６５のそれぞれに問い合わせを行って、複数のデバイス２３５〜２６５のそれぞれの能力及び複数のデバイス２３５〜２６５のそれぞれへのデータ転送に使用可能な帯域幅を判定することに基づくことができる。
【００４７】
[56]  図３は、本発明の第２の例示的な実装形態に係る、運搬装置３２０に沿って移動する物体３７５ａ〜３７５ｃを検出するための装置３０５を示している。装置３０５は、図２に示された上記の装置２０５と類似している。したがって、類似の構造及びコンポーネントを示すのに類似の参照番号が用いられる。
【００４８】
[57]  装置３０５は、Ｚ軸に沿って運搬装置３２０と間隔を隔てて配置された２つの画像データ取込デバイス３１０／３１２を備える。但し、図２とは異なり、画像データ取込デバイス３１０／３１２は、運搬装置３２０の物体３７５ａ〜３７５ｃと同じ側に位置している一方、互いに対して角度を成すように示されている。同様に、例示的な実装形態はこの構成に限定されず、当業者には明白と思われる他の構成で構成することもできる。他の例示的な構成は、以下で考察される図４に示される。
【００４９】
[58]  一部の例示的な実装形態では、画像データ取込デバイス３１０／３１２の一方又は両方は、例えばカラースチルカメラ（例えば、ＲＧＢカメラ）、カラービデオカメラ、モノクロもしくはグレースケールスチルカメラ、モノクロもしくはグレースケールビデオカメラなどの２次元撮像デバイスもしくはカメラ、又は当業者には明白と思われる任意の他の２次元撮像デバイスであってよい。また、一部の例示的な実装形態では、画像データ取込デバイス３１０／３１２のそれぞれは、異なるタイプの２次元撮像デバイスであってもよい（例えば、一方の画像取込デバイスがＲＧＢカメラであり、他方の画像取込デバイスがモノクロカメラであってよい、又は当業者には明白と思われる２次元撮像デバイスの任意の他の組み合わせであってよい）。
【００５０】
[59]  さらに、一部の例示的な実装形態では、画像データ取込デバイス３１０／３１２の一方又は両方は、例えばステレオビジョンカメラ、飛行時間（ＴＯＦ）カメラなどの３Ｄ点群を取り込み可能な３次元画像デバイス、又は３Ｄ点群を取り込み可能な任意の他のデバイスであってよい。また、一部の例示的な実装形態では、画像データ取込デバイス３１０／３１２のそれぞれは、異なるタイプの３次元撮像デバイスであってもよい（例えば、一方の画像取込デバイスがステレオビジョンカメラであり、他方の画像取込デバイスが飛行時間カメラであってよい、又は当業者には明白と思われる３次元撮像デバイスの任意の他の組み合わせであってよい）。
【００５１】
[60]  さらにまた、一部の例示的な実装形態では、画像取込デバイスの一方（例えば、デバイス３１０）は２次元取込デバイスであり、画像取込デバイスの他方（例えば、デバイス３１２）は３次元取込デバイスであってよい。
【００５２】
[61]  画像取込デバイス３１０／３１２は、運搬装置３２０上での移動中に画像取込デバイス３１０／３１２の下を通り過ぎる物体３７５ａ〜３７５ｃの画像データを取り込むように構成することができる。一部の例示的な実装形態では、物体３７５ａ〜３７５ｃは、産業、製造、又は仕分け施設においてコンベヤベルト又は同様の装置に沿って移動するボックス、パッケージ、又はパレットであってよい。
【００５３】
[62]  装置３０５はまた、画像取込デバイス３１０／３１２に結合され、物体３７５ａ〜３７５ｃの画像データを処理するコンピュータデバイス３２５を備えることができる。一部の例示的な実装形態では、コンピュータデバイス３２５は、通信可能に画像取込デバイス３１０／３１２をコンピュータデバイス３２５内の１つ以上のプロセッサに結合するシステムインターフェイス３８０（例えば、Ｉ／Ｏインターフェイス）を備えることができる。例えば、コンピュータデバイス３２５のシステムインターフェイス３８０は、画像取込デバイス３１０／３１２により取り込まれた又は生成された画像データを受け取り、この画像データをコンピュータデバイス３２５の１つ以上のプロセッサに提供することができる。
【００５４】
[63]  コンピュータデバイス３２５の１つ以上のプロセッサは、物体３７５ａ〜３７５ｃのエッジを検出し、物体３７５ａ〜３７５ｃ間の隙間を検出するために、検出したエッジを融合させるように構成することができる。エッジを検出するプロセス及び融合させるプロセスは以下でより詳細に考察される。一部の例示的な実装形態では、コンピュータデバイス３２５は、例えば、以下で考察される図９のコンピュータ環境９００のコンピュータデバイス９０５であってよい。また、システムインターフェイス３８０は、例えば図９のコンピュータデバイス９０５のＩ／Ｏインターフェイス９２５であってよい。さらに、１つ以上のプロセッサは、例えば図９のコンピュータデバイス９０５のプロセッサ９１０であってよい。
【００５５】
[64]  コンピュータデバイス３２５はまた、画像データ取込デバイス３１０／３１２の出力から、エッジ及び物体３７５ａ〜３７５ｃ間の隙間をより上手く検出するための結合画像信号を生成することができる。一部の例示的な実装形態では、コンピュータデバイス３２５はまた、例えばネットワーク３３０を介して（例えば、有線及び／又は無線接続により）通信可能に互いに接続された、仕分け、追跡、又は当業者には明白と思われる任意の他の目的で検出された隙間及びエッジを使用し得る複数のデバイス３３５〜３６５に結合画像信号を送信することができる。
【００５６】
[65]  複数のデバイス３３５〜３６５は、コンピュータ３３５（例えば、ラップトップコンピュータデバイス）、モバイルデバイス３４０（例えば、スマートフォン又はタブレット）、ウェアラブルデバイス３５５（例えば、スマートウォッチ）、記憶デバイス３５０に接続されたサーバコンピュータ３４５、及び当業者には明白と思われるその他のコンピュータデバイス３６０〜３６５を含むことができるが、これらに限定されない。デバイス３３５〜３６５はまた、以下に示される図９のコンピュータ環境９００を有することができる。
【００５７】
[66]  一部の例示的な実装形態では、コンピュータデバイス３２５は、結合画像信号を複数のデバイス３３５〜３６５に送信する前に生成することができるが、本発明の例示的な実装形態はこの構成に限定されない。例えば、コンピュータデバイス３２５は、物体３７５ａ〜３７５ｃに関連するエッジ及び隙間を検出するために、（第１の画像データ取込デバイス３１０と呼ばれることもある）画像データ取込デバイス３１０からの画像データを（第２の画像データ取込デバイス３１２と呼ばれることもある）画像データ取込デバイス３１２からの画像データと結合して、以下で考察されるプロセス又はアルゴリズムを使用して結合画像信号を生成することができる。
【００５８】
[67]  逆に、他の例示的な実装形態では、コンピュータデバイス３２５は、画像データ取込デバイス３１０からの画像データ及び画像データ取込デバイス３１２からの画像データを分離信号として複数のデバイス３３５〜３６５の１つ以上に送信することができる。分離信号が受信されると、複数のデバイス３３５〜３６５のそれぞれは、以下で考察されるプロセス又はアルゴリズムを使用して分離信号を結合して、結合画像信号を生成して物体３７５ａ〜３７５ｃに関連するエッジ及び隙間を検出することができる。
【００５９】
[68]  コンピュータデバイス３２５は、装置３０５の初期設定又は再構成可能な設定の間に結合画像信号を生成するために、画像データ取込デバイス３１０からの画像データ及び画像データ取込デバイス３１２からの画像データに対応して結合画像信号を送信すべきか分離信号を送信すべきかを決定することができる。結合画像信号を送信すべきか分離信号を送信すべきかの決定は、複数のデバイス３３５〜３６５のそれぞれに問い合わせを行って、複数のデバイス３３５〜３６５のそれぞれの能力及び複数のデバイス３３５〜３６５のそれぞれへのデータ転送に使用可能な帯域幅を判定することに基づくことができる。
【００６０】
[69]  図４は、本発明の第３の例示的な実装形態に係る、運搬装置４２０に沿って移動する物体４７５ａ〜４７５ｃを検出するための装置４０５を示している。装置４０５は、図２に示された上記の装置２０５と類似している。したがって、類似の構造及びコンポーネントを示すのに類似の参照番号が用いられる。
【００６１】
[70]  装置４０５は、Ｚ軸に沿って運搬装置と間隔を隔てて配置された２つの画像データ取込デバイス４１０／４１２を備える。但し、図２とは異なり、画像取込デバイス４１０／４１２は、物体４７５ａ〜４７５ｃの異なる側、より具体的には、運搬装置４２０の反対側に位置している一方、Ｘ軸、Ｙ軸、又はＺ軸の１つ以上に整列するように示されている。同様に、例示的な実装形態はこの構成に限定されず、当業者には明白と思われる他の構成で構成することもできる。
【００６２】
[71]  一部の例示的な実装形態では、画像データ取込デバイス４１０／４１２の一方又は両方は、例えばカラースチルカメラ（例えば、ＲＧＢカメラ）、カラービデオカメラ、モノクロもしくはグレースケールスチルカメラ、モノクロもしくはグレースケールビデオカメラなどの２次元撮像デバイスもしくはカメラ、又は当業者には明白と思われる任意の他の２次元撮像デバイスであってよい。また、一部の例示的な実装形態では、画像データ取込デバイス４１０／４１２のそれぞれは、異なるタイプの２次元撮像デバイスであってもよい（例えば、一方の画像取込デバイスがＲＧＢカメラであり、他方の画像取込デバイスがモノクロカメラであってよい、又は当業者には明白と思われる２次元撮像デバイスの任意の他の組み合わせであってよい）。
【００６３】
[72]  さらに、一部の例示的な実装形態では、画像データ取込デバイス４１０／４１２の一方又は両方は、例えばステレオビジョンカメラ、飛行時間（ＴＯＦ）カメラなどの３Ｄ点群を取り込み可能な３次元画像デバイス、又は３Ｄ点群を取り込み可能な任意の他のデバイスであってよい。また、一部の例示的な実装形態では、画像データ取込デバイス４１０／４１２のそれぞれは、異なるタイプの３次元撮像デバイスであってもよい（例えば、一方の画像取込デバイスがステレオビジョンカメラであり、他方の画像取込デバイスが飛行時間カメラであってよい、又は当業者には明白と思われる３次元撮像デバイスの任意の他の組み合わせであってよい）。
【００６４】
[73]  さらにまた、一部の例示的な実装形態では、画像取込デバイスの一方（例えば、デバイス４１０）は２次元取込デバイスであり、画像取込デバイスの他方（例えば、デバイス４１２）は３次元取込デバイスであってよい。
【００６５】
[74]  画像取込デバイス４１０／４１２は、運搬装置４２０上での移動中に画像取込デバイス４１０／４１２の下を通り過ぎる物体４７５ａ〜４７５ｃの画像データを取り込むように構成することができる。一部の例示的な実装形態では、物体４７５ａ〜４７５ｃは、産業、製造、又は仕分け施設においてコンベヤベルト又は同様の装置に沿って移動するボックス、パッケージ、又はパレットであってよい。
【００６６】
[75]  装置４０５はまた、画像取込デバイス４１０／４１２に結合され、物体４７５ａ〜４７５ｃの画像データを処理するコンピュータデバイス４２５を備えることができる。一部の例示的な実装形態では、コンピュータデバイス４２５は、通信可能に画像取込デバイス４１０／４１２をコンピュータデバイス４２５内の１つ以上のプロセッサに結合するシステムインターフェイス４８０（例えば、Ｉ／Ｏインターフェイス）を備えることができる。例えば、コンピュータデバイス４２５のシステムインターフェイス４８０は、画像取込デバイス４１０／４１２により取り込まれた又は生成された画像データを受け取り、この画像データをコンピュータデバイス４２５の１つ以上のプロセッサに提供することができる。
【００６７】
[76]  コンピュータデバイス４２５の１つ以上のプロセッサは、物体のエッジを検出し、物体４７５ａ〜４７５ｃ間の隙間を検出するためにエッジを融合させるように構成することができる。エッジを検出するプロセス及び融合させるプロセスは以下でより詳細に考察される。一部の例示的な実装形態では、コンピュータデバイス４２５は、例えば、以下で考察される図９のコンピュータ環境９００のコンピュータデバイス９０５であってよい。また、システムインターフェイス４８０は、例えば図９のコンピュータデバイス９０５のＩ／Ｏインターフェイス９２５であってよい。さらに、１つ以上のプロセッサは、例えば図９のコンピュータデバイス９０５のプロセッサ９１０であってよい。
【００６８】
[77]  コンピュータデバイス４２５はまた、画像データ取込デバイス４１０／４１２の出力から、エッジ及び物体４７５ａ〜４７５ｃ間の隙間をより上手く検出するための結合画像信号を生成することができる。一部の例示的な実装形態では、コンピュータデバイス４２５はまた、例えばネットワーク４３０を介して（例えば、有線及び／又は無線接続により）通信可能に互いに接続された、仕分け、追跡、又は当業者には明白と思われる任意の他の目的で検出された隙間及びエッジを使用し得る複数のデバイス４３５〜４６５に結合画像信号を送信することができる。
【００６９】
[78]  複数のデバイス４３５〜４６５は、コンピュータ４３５（例えば、ラップトップコンピュータデバイス）、モバイルデバイス４４０（例えば、スマートフォン又はタブレット）、ウェアラブルデバイス４５５（例えば、スマートウォッチ）、記憶デバイス４５０に接続されたサーバコンピュータ４４５、及び当業者には明白と思われるその他のコンピュータデバイス４６０〜４６５を含むことができるが、これらに限定されない。デバイス４３５〜４６５はまた、以下に示される図９のコンピュータ環境９００を有することができる。
【００７０】
[79]  一部の例示的な実装形態では、コンピュータデバイス４２５は、結合画像信号を複数のデバイス４３５〜４６５に送信する前に生成することができるが、本発明の例示的な実装形態はこの構成に限定されない。例えば、コンピュータデバイス４２５は、物体４７５ａ〜４７５ｃに関連するエッジ及び隙間を検出するために、（第１の画像取込デバイス４１０と呼ばれることもある）画像データ取込デバイス４１０からの画像データを（第２の画像取込デバイス４１２と呼ばれることもある）画像データ取込デバイス４１２からの画像データと結合して、以下で考察されるプロセス又はアルゴリズムを使用して結合画像信号を生成することができる。
【００７１】
[80]  逆に、他の例示的な実装形態では、コンピュータデバイス４２５は、画像データ取込デバイス４１０からの画像データ及び画像データ取込デバイス４１２からの画像データを分離信号として複数のデバイス４３５〜４６５の１つ以上に送信することができる。分離信号が受信されると、複数のデバイス４３５〜４６５のそれぞれは、以下で考察されるプロセス又はアルゴリズムを使用して分離信号を結合して、結合画像信号を生成して物体４７５ａ〜４７５ｃに関連するエッジ及び隙間を検出することができる。
【００７２】
[81]  コンピュータデバイス４２５は、装置４０５の初期設定又は再構成可能な設定の間に結合画像信号を生成するために、画像データ取込デバイス４１０からの画像データ及び画像データ取込デバイス４１２からの画像データに対応して結合画像信号を送信すべきか分離信号を送信すべきかを決定することができる。結合画像信号を送信すべきか分離信号を送信すべきかの決定は、複数のデバイス４３５〜４６５のそれぞれに問い合わせを行って、複数のデバイス４３５〜４６５のそれぞれの能力及び複数のデバイス４３５〜４６５のそれぞれへのデータ転送に使用可能な帯域幅を判定することに基づくことができる。
【００７３】
[82]  図５は、比較例に係る単一の画像取込デバイス又はカメラのエッジ検出結果を表し得る画像データの概略図５００を示している。図に示すように、画像データのエッジ検出結果は、パレット５０１上のほぼ同じサイズのボックス又は物体を図式化した異なるサイズの複数の矩形５０２、５１０、及び５３０を含むことができる。換言すれば、図５の画像データは、矩形５０２、５１０及び５３０が異なるサイズを有することを示し、システムが互いに異なるサイズを有する各矩形により表された物体又はボックスを検出していることを示す。しかしながら、実際には、システムが矩形５０２、５１０、５３０で表そうとしている、画像取込デバイスにより撮像されている実際のボックス又は物体は、この例ではほぼ同じようなサイズ及び形状である。換言すれば、システムは、ボックスが実際にはほぼ同じようなサイズ及び形状を有する場合に異なる形状及びサイズを有するものと誤った検出をしている。
【００７４】
[83]  各ボックス及び物体は、画像データに検出されたエッジ（例えば、物体の形状を画定するエッジを表す線及び曲線）により画定された検出された形状を有する。図５では、単一の画像取込デバイスにより検出されたボックス又は物体のエッジは、矩形５０２、５１０及び５３０の辺を構成する参照番号５０５、５１２、５１５及び５３５で表された直線として示される。しかしながら、検出されたエッジは直線でない場合があり、曲線や不規則な形状の場合もある。
【００７５】
[84]  図に示すように、（検出されたエッジを表す）線５０５は第１の長さを有するものとして検出され、（別の検出されたエッジを表す）線５１２は線５０５よりも長い第２の長さを有するものとして検出されている。さらに、（それぞれが検出されたエッジを表す）線５１５及び５３５は、線５０５及び５１２で表された検出されたエッジと比較してより短い長さを有するものとして検出されている。この例では、領域５２０及び５２５に追加の内部エッジ（例えば、画像データに表された物体又はボックス間のエッジ）が検出されていないが、領域５２０及び５２５に存在する実際のボックス又は物体には内部エッジが存在する可能性がある。例示的な実装形態は、以下で図８について説明されるプロセス８００を用いて異なる画像データモードから検出されたエッジ又は輪郭を融合させて、輪郭検出の誤差（例えば、未検出の内部エッジ、実際の物体のエッジよりも長いもしくは短い長さを有する検出されたエッジ、又は当業者には明白と思われる任意の他の検出誤差）に対処することができる。
【００７６】
[85]  図６は、本発明の例示的な実装形態である融合エッジ検出結果を表し得る融合画像データ表現の概略図６００を示している。図に示すように、２つの異なる画像データ表現（例えば、第１の画像データ表現６１０及び第２の画像データ表現６１５）は、検出された物体の融合されたエッジ又は輪郭に対応する融合画像データを表す融合画像データ表現６０５に統合することができる。
【００７７】
[86]  例えば、第１の画像データ表現６１０は、モノクロカメラ画像データなどの２Ｄ画像データを使用して取り込まれた画像データの視覚的表現であってよい。一部の例では、２Ｄ画像取込デバイス（例えば、２Ｄ画像カメラ）は、ボックスなどの異なる物体間のコントラストを判定するのに十分な解像度を有しない場合がある。２Ｄ画像取込デバイスの解像度が異なるボックス間のコントラストを判定するのに十分でない場合、エッジの一部（例えば、隣接するボックス間の内部エッジ）が検出されず、他のエッジが線６６０で表すように正確に検出される一方、線６５５などの不正確な検出エッジが生じる可能性がある。図６では、不正確な検出エッジに基づいた検出物体を表すエリアは領域６２０が斜線で示されている。第１の画像データ表現６１０は、不正確な検出エッジのエリア（例えば、領域６２０の斜線）内のボックス間の内部エッジを正確に検出できなかったため、単独では検出失敗と見なされる可能性がある。しかしながら、以下で説明するように、第１の画像データ表現６１０が第２の画像データ表現６１５と結合されるとき、融合画像データ表現６０５を生成することができる。
【００７８】
[87]  一例として、第２の画像データ表現６１５は、３Ｄカメラ（例えば、奥行き知覚カメラ）により生成された３Ｄ点群データ（３Ｄ画像データとも呼ばれる）の視覚的表現であってよい。領域６２５の斜線エリアは３Ｄ点群データを表すことができる。３Ｄ点群の各部分は領域６２５内のボックス又は物体の高さを表すことができるが、物体の周囲のエッジは、ノイズ又は環境要因に起因して、破線６３０で示す実際のエッジと比較して、決定された輪郭線６４０が示すように歪む又は完全には表現されない可能性がある。一部の例では、３Ｄ画像データの処理及び／又は解析に基づいたエッジ検出は、線６６５が表すようにエッジを正確に検出する可能性がある一方、他の例では、３Ｄ画像データの処理及び／又は解析に基づいたエッジ検出は、線６７０が表すように不完全又は不正確なエッジ検出をもたらす可能性がある。第２の画像データ表現６１５に基づいた検出エッジの一部もまた、内部エッジ（すなわち、線６７０）及び物体の周囲のエッジの一部が、（決定された輪郭線６４０と破線６３０で示された実際のエッジとの差が示すように）歪む、不完全である、及び／又は不正確である可能性があるため、単独では検出失敗と見なされる可能性がある。
【００７９】
[88]  第１の画像データ表現６１０で示される（２Ｄ画像データを表す）画像データと、第１の画像データ表現６１０で示される（３Ｄ深度カメラデータを表す）第２の画像データ表現６１５を融合させることによって、画像データ表現６０５で示される融合画像データを生成することができる。図に示すように、融合画像データ表現６０５は、線６７０及び６５５で表された検出エッジなどの部分的に検出された、不正確な、又は不完全な検出エッジを互いに融合させることによって、及び／又は線６６−及び６６５で表された検出エッジなどの正確に検出されたエッジ（すなわち、外部エッジなどの検出信頼度の高いエッジ）と、部分的に検出された、不正確な、又は不完全な検出エッジの１つ以上との組み合わせによって決定され得る内部輪郭又はエッジ６４５及び周囲輪郭又はエッジ６５０の向上した検出精度に基づいて、９個の明確な物体６３５の検出を可能にすることができる。
【００８０】
[89]  したがって、本発明の例示的な実装形態に係るプロセスを使用するエッジ融合は、そうでない場合にそれぞれ不正確又は信頼度が低いと見なされ得る物体検出仮説をもたらす第１の画像データ表現６１０と第２の画像データ表現６１５のペアから融合画像データ表現６０５の生成を可能にすることができる。
【００８１】
[90]  図７Ａ及び図７Ｂは、本発明の例示的な実装形態に係る物体検出の概略図を示している。図１のロボットシステム１００は、図８のプロセス８００におけるステップ８２０について以下で説明される物体検出仮説を生成することができる。物体検出仮説は、ステップ８２０を参照して説明されるように決定されると、図８のプロセス８００のステップ８２５について以下で説明されるように検証することができる。融合画像データを使用することによって、物体検出仮説の改善された生成及びその検証を達成することができる。
【００８２】
[91]  図７Ａは、本発明の例示的な実装形態に係る融合されたエッジデータ表現を利用することによって回避し得る不正確な検出仮説の第１の例を示す。図７Ａに示すように、一部の例では、破線７１５で表された内部輪郭又はエッジ（例えば、２つのボックス間の輪郭又はエッジ）は、単一の画像取込モードからの矩形７１０で表されたエッジ検出データの解析に基づいて検出される可能性はなく、ロボットシステム１００は、四角形７０５で表された実際の物体についての検出仮説を正確に生成することができない可能性がある。結果として、ロボットシステム１００は、検出仮説を矩形７１０として誤って生成する可能性がある。異なる画像データモードと関連付けられたエッジ検出データの融合は、エッジ情報の確実性を向上させる、及び／又はそうでない場合に物体の輪郭についての有効なエッジ検出結果と見なされないエッジを特定することができるため、ロボットシステム１００は検出仮説の生成及び／又は検証を改善することができる。
【００８３】
[92]  図７Ｂは、本発明の例示的な実装形態に係る融合された検出エッジデータを利用することによって回避し得る不正確な検出仮説の第２の例を示す。図に示すように、パレット７２０上の一連のボックス７２５が検出される場合がある。また、（四角形７４５で表された）検出仮説は、入力画像７４０を表す画像情報に基づいて生成することができる。しかしながら、一部の例では、ロボットシステム１００は、破線７３５で表された分割輪郭（例えば、２つのボックス間の内部輪郭又はエッジ）を、単一の画像取込モードに基づいたエッジ検出によって検出することができず、その代わりに、矩形７４５で表された検出仮説を誤って生成する可能性がある。換言すれば、破線７３５で表されたエッジ又は輪郭（例えば、２つのボックス間の内部エッジ）を認識できないことによって、誤った又は不正確な物体検出仮説がもたらされる可能性がある。異なる画像データモードと関連付けられたエッジ検出データの融合は物体の輪郭のより良好な検出を可能にすることができるため、物体検出仮説の改善された生成及び／又は検証を達成することができる。
【００８４】
[93]  図８は、本発明の例示的な実装形態に係る物体検出及び検証のためのプロセス８００のフローチャートを示している。プロセス８００は、ロボットシステム１００のコンピュータデバイス（例えば下記の図９に示すコンピュータ環境９００のコンピュータデバイス９０５）によって実行することができる。
【００８５】
[94]  図８に示すように、プロセス８００は、ステップ８０５において、第１の撮像モードにより取り込まれた画像データと関連付けられたエッジ情報の検出から始まる。エッジ情報は、画像データに取り込まれた１つ以上の物体の輪郭を画定する及び／又は記述する情報である。以上で考察したように、物体のエッジは、物体の形状を画定するエッジを表す線及び／又は曲線であってよい。エッジ情報は、エッジ寸法（例えば、エッジ長さ）、エッジ形状（例えば、直線、曲線など）、エッジ位置、及びコーナー位置（例えば、２つ以上のエッジが交わる位置）を含むことができる。例えばエッジ情報は、画像データに検出エッジを形成する１つ以上の画素の位置に対応する座標情報（すなわち、（ｘ，ｙ）座標）であってよい。エッジ情報はまた、高さ又は深さ情報（例えば、画像取込デバイスと表面上の点との間の距離を表す情報）及び同じような高さを有する領域の位置を含むことができる。一例として、深さ情報は、画像取込デバイス（すなわち、３Ｄカメラ）からの距離を表す値を含むことができる。一部の実施形態では、深さ情報は、画像データの画素に割り当てられた深度値であってよい。
【００８６】
[95]  画像データに複数の物体が取り込まれる場合、画像データは、画像データに取り込まれた複数の物体の集合体の周囲に位置する外部輪郭もしくはエッジ又は周囲輪郭もしくはエッジを含むことができる。例えば、周囲エッジ又は輪郭は、図６の融合画像データ表現６０５の参照番号６５０で表すことができる。さらに、画像データは、隣接する物体間に位置する内部輪郭又はエッジを含むことができる。一例として、ボックスの内部輪郭又はエッジは周囲エッジ又は輪郭に対して垂直であってよい。さらに、例えば内部輪郭又はエッジは、図６の融合画像データ表現６０５の参照番号６４５で表すことができる。
【００８７】
[96]  第１の撮像モード（例えば、第１の画像取込モード）は、画像データを取り込む又は生成するためのプロセスであってよい。一部の例示的な実装形態では、第１の撮像モードは、図６について以上で考察した第１の画像データ表現６１０で例示されたような画像データ表現を生成するために２Ｄ画像データを取り込むプロセスであってよい。換言すれば、一部の例示的な実装形態では、第１の撮像モードのエッジ情報検出は、例えばモノクロカメラ（例えば、グレースケールカメラ）、カラーカメラ（例えば、赤緑青（ＲＧＢ）カメラ）、又は当業者には明白と思われる任意の他の２次元カメラからのデータなどの２次元画像データに基づいて行うことができる。
【００８８】
[97]  ２次元画像データについて、エッジ検出は、当業者には明白と思われる任意のタイプの２Ｄエッジ検出アルゴリズムを使用して実行することができる。例えば２Ｄエッジ検出の方法は、ＣＡＮＮＹエッジ検出、領域類似度エッジ検出（ＲＳＤ）、線分検出（ＬＳＳ）、又は物体輪郭を検出してエッジ情報を抽出するのに用いられ得る任意の他の２Ｄエッジ検出方法であってよい。
【００８９】
[98]  他の例示的な実装形態では、第１の撮像モードは、図６について以上で考察した第２の画像データ表現６１５で例示されたような画像データ表現を生成する３Ｄ点群データを取り込むプロセスであってよい。換言すれば、一部の例示的な実装形態では、第１の撮像モードのエッジ情報検出は、例えばステレオビジョンカメラ、距離画像カメラ（例えば、飛行時間（ＴＯＦ）カメラ）、又は当業者には明白と思われる任意の他の３次元カメラからのデータなどの３次元データに基づいて行うことができる。
【００９０】
[99]  ３次元画像データ（例えば、３Ｄ点群データ）について、３Ｄ点群は、物体を表す画像空間内の点の投影であってよい。そして、物体輪郭又はエッジは、３Ｄ点群から特定することができる。例えばロボットシステム２００は、３Ｄ点群内の１つの位置と３Ｄ点群内の隣接する位置との深さ情報の変化又は差に基づいて、投影された３Ｄ点群から物体輪郭又はエッジを特定することができる。
【００９１】
[100]  ステップ８１０で、第２の撮像モードで収集された画像データと関連付けられたエッジ情報が検出される。以下でさらに詳細に考察するように、第２の撮像モードは、ステップ８０５のエッジ情報検出と関連付けられた第１の撮像モードと異なる。
【００９２】
[101]  以上で説明したように、エッジ情報は、画像データに取り込まれた１つ以上の物体の輪郭を画定する情報である。以上で考察したように、物体の輪郭は、物体の形状を画定するエッジを表す線及び／又は曲線である。繰り返しになるが、エッジ情報は、エッジ寸法（例えば、エッジ長さ）、エッジ形状（例えば、直線、曲線など）、エッジ位置、及びコーナー位置（例えば、２つ以上のエッジが交わる位置）を含むことができる。エッジ情報はまた、高さ又は深さ情報（例えば、画像取込デバイスと表面上の点との間の距離を表す情報）及び同じような高さを有する領域の位置を含むことができる。輪郭は、画像データに取り込まれた複数の物体の集合体の周囲に位置する外部輪郭もしくはエッジ又は周囲輪郭もしくはエッジを含むことができる。例えば、周囲エッジ又は輪郭は、図６の融合画像データ表現６０５の参照番号６５０で表すことができる。さらに、画像データは、隣接する物体間に位置する内部輪郭又はエッジを含むことができる。一例として、ボックスの内部輪郭又はエッジは周囲エッジ又は輪郭に対して垂直であってよい。さらに、例えば内部輪郭又はエッジは、図６の融合画像データ表現６０５の参照番号６４５で表すことができる。
【００９３】
[102]  第２の撮像モード（例えば、第２の画像取込モード）はまた、画像データを取り込む又は生成するためのプロセスであってよい。一部の例示的な実装形態では、第２の撮像モードは、図６について以上で考察した第１の画像データ表現６１０で例示されたような画像データ表現を生成するために２Ｄ画像データを取り込むプロセスであってよい。換言すれば、一部の例示的な実装形態では、第２の撮像モードのエッジ情報検出は、例えばモノクロカメラ（例えば、グレースケールカメラ）、カラーカメラ（例えば、ＲＧＢカメラ）、又は当業者には明白と思われる任意の他の２次元カメラからのデータなどの２次元画像データに基づいて行うことができる。
【００９４】
[103]  ２次元画像データについて、エッジ検出は、当業者には明白と思われる任意のタイプの２Ｄエッジ検出アルゴリズムを使用して実行することができる。例えば２Ｄエッジ検出の方法は、ＣＡＮＮＹエッジ検出、領域類似度エッジ検出（ＲＳＤ）、線分検出（ＬＳＳ）、又は物体輪郭を検出してエッジ情報を抽出するのに用いられ得る任意の他の２Ｄエッジ検出方法であってよい。
【００９５】
[104]  他の例示的な実装形態では、第２の撮像モードは、図６について以上で考察した第２の画像データ表現６１５で例示されたような画像データ表現を生成する３Ｄ点群データを取り込むプロセスであってよい。換言すれば、一部の例示的な実装形態では、第２の撮像モードのエッジ情報検出は、例えばステレオビジョンカメラ、距離画像カメラ（例えば、飛行時間（ＴＯＦ）カメラ）、又は当業者には明白と思われる任意の他の３次元カメラからのデータなどの３次元データに基づいて行うことができる。
【００９６】
[105]  ３次元画像データ（例えば、３Ｄ点群データ）について、３Ｄ点群は、物体を表す画像空間内の点の投影であってよい。そして、物体輪郭又はエッジは、３Ｄ点群から特定することができる。例えばロボットシステム２００は、３Ｄ点群内の１つの位置と３Ｄ点群内の隣接する位置との深さ情報の変化又は差に基づいて、投影された３Ｄ点群から物体輪郭又はエッジを特定することができる。
【００９７】
[106]  第２の撮像モード（例えば、第２の画像取込モード）は、第１の撮像モードと比較して異なるタイプの画像取込モードである。例えば、第１の撮像モードと関連付けられたエッジ検出が２次元データに基づいて行われた場合、エッジ情報は、ステップ８１０において、３次元データ、又は異なるタイプの２次元データ（例えば、ステップ８０５でカラーカメラが使用されていた場合はモノクロカメラ、又はステップ８０５でモノクロカメラデータが使用されていた場合はカラーカメラ）に基づいて検出することができる。
【００９８】
[107]  逆に、第１の撮像モードと関連付けられたエッジ検出が３次元データに基づいて行われた場合、エッジ情報は、ステップ８１０において、２次元データ、又は異なるタイプの３次元データ（例えば、ステップ８０５でＴＯＦカメラが使用されていた場合はステレオビジョンカメラ、又はステップ８０５でステレオビジョンカメラが使用されていた場合はＴＯＦカメラ）に基づいて検出することができる。
【００９９】
[108]  ステップ８１５において、第１の撮像モード及び第２の撮像モードと関連付けられたデータから検出されたエッジ情報は結合されて、融合プロセスを用いて融合されたエッジ情報を生成する。具体的には、第１の撮像モード及び第２の撮像モードに基づいて検出されたエッジは「基準」カメラ空間に合成される。換言すれば、第１の撮像モード及び第２の撮像モードのそれぞれに基づいて検出されたエッジは、各撮像モードと関連付けられたネイティブカメラ空間（例えば、座標系）から、以下でより詳細に考察される共用又は共有カメラ空間（例えば、基準カメラ空間）に変換される。基準カメラ空間の例示的な実装形態は、ステレオビジョンカメラやＴｏＦカメラのカメラ空間などの３Ｄカメラ空間を含むことができる。
【０１００】
[109]  一部の例示的な実装形態では、２次元画像データから（例えば、２Ｄ撮像モードから）検出されたエッジは、２Ｄ画像の検出エッジに隣接して取り込まれた２次元平面又は表面に対して、エッジ高さを画定し得る深さ情報を使用して３次元カメラ空間に投影することができる。さらに、一部の例示的な実装形態では、３次元空間データは、異なる３次元空間データモードに変換することができる（例えば、ＴｏＦカメラからの画像データはステレオビジョンカメラからの画像データに変換することができる）。
【０１０１】
[110]  換言すれば、融合プロセスは、共用画像空間（例えば、「基準」カメラ空間）に投影された、画像データモードの１つと関連付けられたエッジ点（例えば、検出エッジに沿った点の座標又は位置）を生成することによって実行することができる。より具体的には、画像データモードの１つから検出されたエッジは、例えばステレオビジョンカメラ空間であり得る、選択されたカメラ又は撮像デバイスの共用画像空間（選択された基準カメラ空間とも呼ばれる）に投影（又はマッピング）することができる。融合プロセスの間、ロボットシステム１００は、変換及び投影後の、点群ノイズ又は較正（例えば、カメラ間の物理的オフセット／角度／距離）などの要因に起因したエッジ点の座標の起こり得る誤りを考慮し訂正することができる。
【０１０２】
[111]  選択された基準カメラ（例えば、ステレオビジョンカメラ）の画像空間で検出されたエッジの投影は、基準カメラの検出エッジの元の位置情報（すなわち、座標）を使用することによって実行することができる。換言すれば、ロボットシステム１００は、選択された基準カメラから共用画像空間への検出エッジの投影を実行する必要がある。一部の例示的な実装形態では、選択された基準カメラは第１の撮像モードと関連付けることができる。他の例示的な実装形態では、選択されたカメラは第２の撮像モードと関連付けることができる。
【０１０３】
[112]  他のカメラ（例えば、選択された「基準」カメラ空間と異なるネイティブ画像空間を有するカメラ）の画像空間の検出エッジについては、カメラのタイプに応じていくつかの異なるステップが実行される可能性がある。
【０１０４】
[113]  他の撮像モードが２Ｄカメラである場合、検出エッジを構成する点である、２Ｄカメラの２Ｄ画像データから検出されたエッジ点（２Ｄエッジ点とも呼ばれる）には、選択された基準カメラの、この場合は３Ｄ画像空間である選択されたカメラ画像空間に、投影された２Ｄ点に対応する選択された基準カメラからの深さ情報を使用して、２Ｄエッジ点を投影することによって深度値を割り当てることができる。換言すれば、２Ｄ位置（例えば、検出エッジのエッジ点が２Ｄカメラの２Ｄ画像空間に位置する（ｘ，ｙ）画素座標）と対応する、選択された基準カメラ画像空間（例えば、ステレオビジョンカメラ）からの点（すなわち、画素）の深度値を使用して、２Ｄエッジ点を選択された基準カメラの３Ｄ画像空間に投影する。これによって２Ｄエッジ点から投影された３Ｄエッジ点を生成することができる。
【０１０５】
[114]  さらに、他のカメラ（例えば、選択された基準画像空間と異なるネイティブ画像空間を有するカメラ）により取り込まれたエッジ点は、選択された基準画像空間に変換することができる（「変換されたエッジ点」とも呼ばれる）。変換されたエッジ点は、前段落に記載の投影された２Ｄエッジ点から生成することができる、又は選択された基準カメラ又は撮像デバイスとは異なる別の３Ｄカメラから生成することができる。例えば、投影された２Ｄエッジ点から生成された変換されたエッジ点は、変換されたエッジ点も選択された基準カメラの元の画像データの一部であると見なされ得るように、選択された基準カメラの３Ｄ空間に変換することができる。１つのカメラのエッジ点を選択された基準カメラに変換することは、投影された３Ｄエッジ点の位置の平行移動又はシフト、及び／又は投影された３Ｄエッジ点を選択されたカメラの基準カメラ画像空間に整合させる投影された３Ｄエッジ点のスケーリングを含むことができる。
【０１０６】
[115]  投影された３Ｄエッジ点が選択された基準カメラ画像空間に平行移動されると、コンピュータシステム１００は、（融合３Ｄ点群とも呼ばれる）投影された３Ｄエッジ点を含む３Ｄ点群の（２Ｄビットマップとも呼ばれる）２Ｄ表現を生成することができる。例えば、２Ｄビットマップは、図６に示すようなボックスのスタック及びパレットの上面を含み得る、融合３Ｄ点群のトップダウン表現と対応することができる。これに関連して、選択された基準カメラに関連付けられた２Ｄビットマップは、３Ｄ画像空間の深度値と無関係であるが、画像自体の２Ｄ座標（例えば、画像の画素のｘ−ｙ座標又は上記図２から図４に示したｘ軸及びｙ軸に沿った座標）に対応する。一部の実施形態では、２Ｄビットマップの画素は、現実の世界の寸法と一致する可能性がある（すなわち、画素の長さは現実の世界の単位長さ又は距離に対応する可能性がある）。このような実施形態では、ロボットシステム１００は、動作計画、グリップ位置決め、及び物体に作用するその他の操作などの下流プロセスに融合３Ｄ点群の２Ｄビットマップを使用することができる。
【０１０７】
[116]  融合エッジ情報が生成されると、ロボットシステム１００は、ステップ８２０において融合エッジ情報に基づいて物体検出仮説を生成することができる。一部の例示的な実装形態では、ロボットシステム１００は、融合エッジ情報の融合エッジに基づいて、３Ｄ点群情報をセグメント化することをベースとする物体検出仮説を生成することができる。例えば、ロボットシステム１００は、エッジ交差点に達するまで融合エッジに沿って３Ｄ点群情報をセグメント化することができる。エッジ交差点は、例えば２つ以上の融合エッジが交わる場所、又は一部の例では、検出エッジの外挿が交差するであろう場所であってよい。ボックス型の物体の例では、ロボットシステム１００は、一方の融合エッジの平行な対が他方の融合エッジの平行な対に対して垂直である融合エッジの２つの平行な対により画定される３Ｄ点群情報の部分として、融合エッジの２つの平行な対の交差点と一致するエッジ交差点と共に物体検出仮説を生成することができる。一部の実施形態では、ロボットシステム１００は、融合エッジの異なる組み合わせに基づいて複数の物体検出仮説を生成することができる。
【０１０８】
[117]  融合エッジ情報を用いて物体検出仮説を生成することによって、図７Ａ及び図７Ｂについて以上で考察したように、いくつかの重要な利点を得ることができる。得ることができる重要な利点の１つは、融合エッジ情報は、単一の画像取込モードから生成されたエッジ情報と比較して点群データをより精確にセグメント化するのに用いることができることである。例えば、ボックスのそれぞれの上面がほぼ水平な平面又は表面を形成するように同じ又は同様の高さを有する場合など、ほぼ同様の高さの物体又はボックスを検出する適用において、ボックスの上面に対応する点群の部分（「点群レイヤ」とも呼ばれる）は、複数の物体又はボックスを包含するように取り込むことができる可能性がある。この例では、点群レイヤ内でボックス又は物体は同じ又は同様の高さ／深度値を有する可能性があり、個々のボックス又は物体（すなわち、ボックス間の境界に対応する内部輪郭６４５）の検出を困難にする。より具体的には、２Ｄ画像データに基づいた検出エッジを使用する３Ｄ点群データのセグメンテーションは、不完全なエッジ（すなわち、ボックスの実際の上面のエッジ全体の一部分に対応する検出エッジ）又は偽エッジ（すなわち、ボックスフラップのエッジ、折り目／しわ、又はボックスの上面上のデザイン／グラフィック／画像の一部など、ボックスの上面の実際のエッジに実際には対応しない検出エッジ）を生じさせる可能性がある。さらに、ボックスは密集している可能性があるため、ボックス間の分離に対応し得る深さの違いを３Ｄ画像データに取り込むことができない。したがって、複数の撮像モードからのエッジ情報を組み合わせた融合エッジ情報は、偽エッジ検出を低減する及び／又はそうでない場合に検出されないエッジを特定することによって、実際の物体エッジの特定を向上させ、エッジ情報と実際の物体エッジとの相関関係の確実性を高めることができる。これによって、点群レイヤをより良好にセグメント化し、個別の物体又はボックスの検出を改善できる可能性がある。
【０１０９】
[118]  得ることができるもう１つの重要な利点は、融合エッジ情報は、検出仮説生成のための特徴として用いることができることである。例えば上記のように、融合エッジ情報は、物体の輪郭のコーナーの位置に対応し得るエッジ交差点（例えば、２つ以上の検出エッジが交わる場所、又は検出エッジの外挿が交差するであろう場所）を検出又は生成するのに使用することができる。より具体的には、単一の撮像モードのみからの画像データの解析（すなわち、２次元画像データ又は３次元画像データに基づくエッジ検出）は、エラー確率が高い、又はエッジを特定できない可能性があり、融合エッジ情報を使用して検出仮説を生成すれば物体検出仮説が正しくなる確率が高まる。
【０１１０】
[119]  物体検出仮説が生成された後、ロボットシステム１００は、ステップ８２５において物体検出仮説の検証を実行することができる。一部の実施形態では、ロボットシステム１００は、物体検出仮説と図２のマスターデータに登録された物体の物体記述との比較に基づいて物体検出仮説を検証することができる。例えば、ロボットシステム１００は、物体検出仮説の輪郭特性（すなわち、融合エッジの長さ、エッジ交差点の位置／場所）を、マスターデータの登録物体に対応するものと照合することによって物体検出仮説を検証することができる。一部の実施形態では、ロボットシステム１００は、物体検出仮説の検証中に登録物体と比較する際、検出された輪郭の精度に影響を及ぼし得る融合エッジ情報の完全性（すなわち、融合エッジが切れ目を含んでいるか、あるいは融合エッジの長さが２つの交差点間の距離全体に及んでいるかどうか）などの複数の要因を考慮することができる。例えばロボットシステム１００は、物体検出仮説の確実性評価又は登録物体との一致の度合いを提供することができる。特定の例として、ロボットシステム１００は、上記のように、融合エッジ情報のより高い完全度を含むより高い確実性評価を検出仮説に提供することができる。融合エッジ情報は、利用可能な撮像デバイスの組み合わせから最大限可能な情報を提供することができるため、検出仮説に基づいて物体のエッジ又は輪郭の正確な位置を決定することに伴う正確性及び信頼性を高めることに役立つことができる。さらに、確実性評価又は一致の度合いを決定する際に、変換及び投影後の、点群ノイズ又は較正（例えば、カメラ間の物理的オフセット／角度／距離）などの要因に起因するエッジ点の座標の起こり得る誤りを考慮することができる。
【０１１１】
[120]  物体検出仮説の検証後、ロボットシステム１００は、ステップ８３０において、対象物体のさらなる処理のために物体検出仮説に対応する、対象物体（図１の対象物体１１２など）の物体輪郭、姿勢／向き情報、及び／又は位置情報を使用することができる。例えば、ロボットシステムは、ロボットのエンドエフェクタのグリップ配置及び／又は対象物体を移動させるための動作計画計算などの対象物体の操作を含む操作のために物体輪郭、姿勢／向き情報、及び／又は位置情報を使用することができる。輪郭及び位置検出の精度が向上すると、出荷又は製造プロセスを改善することができる。物体輪郭及び位置が伝えられた後、プロセス８００は必要に応じて繰り返し、上記のステップに従う追加のエッジ融合操作を含み得るさらなる物体検出仮説を生成することができる、又はプロセスは終了することができる。
【０１１２】
[121]  例示的なコンピュータ環境
[122]  図９は、一部の例示的な実装形態での使用に適した例示的なコンピュータデバイス９０５を備えた例示的なコンピュータ環境９００を示している。コンピュータ環境９００のコンピュータデバイス９０５は、いずれも情報を伝達するための通信機構又はバス９３０上に結合又はコンピュータデバイス９０５に埋め込まれ得る、１つ以上の処理ユニット、コア、又はプロセッサ９１０、メモリ９１５（例えば、ＲＡＭ、ＲＯＭなど）、内部ストレージ９２０（例えば、磁気、光学、固体ストレージ、及び／又は有機）、及び／又はＩ／Ｏインターフェイス９２５を備えることができる。
【０１１３】
[123]  コンピュータデバイス９０５は、入力／インターフェイス９３５及び出力デバイス／インターフェイス９４０と通信可能に結合することができる。入力／インターフェイス９３５及び出力デバイス／インターフェイス９４０のいずれか一方又は両方は、有線又は無線インターフェイスであってよく、取外し可能であってよい。入力／インターフェイス９３５は、入力を提供するのに使用され得る、任意のデバイス、コンポーネント、センサ、又はインターフェイス、物理又は仮想を含むことができる（例えば、ボタン、タッチスクリーンインターフェイス、キーボード、ポインティング／カーソル制御、マイクロホン、カメラ、点字、運動センサ、光学式読取装置など）。
【０１１４】
[124]  出力デバイス／インターフェイス９４０は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカ、点字などを含むことができる。一部の例示的な実装形態では、入力／インターフェイス９３５（例えば、ユーザインターフェイス）及び出力デバイス／インターフェイス９４０は、コンピュータデバイス９０５に埋め込むこと、又は物理的に結合することができる。他の例示的な実装形態では、他のコンピュータデバイスが、コンピュータデバイス９０５の入力／インターフェイス９３５及び出力デバイス／インターフェイス９４０として機能する、又はコンピュータデバイス９０５の入力／インターフェイス９３５及び出力デバイス／インターフェイス９４０の機能を提供することができる。これらの素子は、ユーザがＡＲ環境と対話することを可能にするように周知のＡＲハードウェア入力を含むことができるが、これに限定されない。
【０１１５】
[125]  コンピュータデバイス９０５の例には、高度モバイルデバイス（例えば、スマートフォン、車両及び他のマシン内のデバイス、人間及び動物が携行するデバイスなど）、モバイルデバイス（例えば、タブレット、ノートブック、ラップトップ、パーソナルコンピュータ、ポータブルテレビ、ラジオなど）、及び移動用に設計されていないデバイス（例えば、デスクトップコンピュータ、サーバデバイス、他のコンピュータ、情報キオスク、１つ以上のプロセッサが埋め込まれた及び／又は結合されたテレビ、ラジオなど）を含むことができるが、これに限定されない。
【０１１６】
[126]  コンピュータデバイス９０５は、同じ構成又は異なる構成の１つ以上のコンピュータデバイスを含む、任意の数のネットワークコンポーネント、デバイス、及びシステムと通信するために、外部ストレージ９４５及びネットワーク９５０と（例えば、Ｉ／Ｏインターフェイス９２５を介して）通信可能に結合することができる。コンピュータデバイス９０５又は任意の接続されたコンピュータデバイスは、サーバ、クライアント、シンサーバ、汎用マシン、専用マシン、又は別のラベルとして機能し、そのサービスを提供し、そのように呼ぶことができる。
【０１１７】
[127]  Ｉ／Ｏインターフェイス９２５は、コンピュータ環境９００内の少なくともすべての接続されたコンポーネント、デバイス、及びネットワークとの間で情報を伝達するために、任意の通信又はＩ／Ｏプロトコル又は規格（例えば、イーサネット、８０２．１１ｘｓ、ユニバーサルシステムバス、ＷｉＭＡＸ、モデム、セルラネットワークプロトコルなど）を使用する有線インターフェイス及び／又は無線インターフェイスを含むことができるが、これに限定されない。ネットワーク９５０は、任意のネットワーク又はネットワークの組み合わせ（例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、電話ネットワーク、セルラネットワーク、衛星ネットワークなど）であってよい。
【０１１８】
[128]  コンピュータデバイス９０５は、一時的媒体及び非一時的媒体を含むコンピュータ使用可能媒体又はコンピュータ可読媒体を使用して使用及び／又は通信することができる。一時的媒体は、伝送媒体（例えば、金属ケーブル、光ファイバ）、信号、搬送波などを含む。非一時的媒体は、磁気媒体（例えば、ディスク及びテープ）、光学媒体（例えば、ＣＤ  ＲＯＭ、デジタルビデオディスク、Ｂｌｕ−ｒａｙディスク）、固体媒体（例えば、ＲＡＭ、ＲＯＭ、フラッシュメモリ、固体ストレージ）、及び他の不揮発性ストレージ又はメモリを含む。
【０１１９】
[129]  コンピュータデバイス９０５は、一部の例示的なコンピュータ環境において、技法、方法、アプリケーション、プロセス、又はコンピュータ実行可能命令を実装するために使用することができる。コンピュータ実行可能命令は、一時的媒体から取得し、非一時的媒体に記憶し、非一時的媒体から取得することができる。実行可能命令は、任意のプログラミング言語、スクリプト言語、及びマシン語（例えば、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｐｙｔｈｏｎ、Ｐｅｒｌ、ＪａｖａＳｃｒｉｐｔなど）のうちの１つ以上から作ることができる。
【０１２０】
[130]  プロセッサ９１０は、ネイティブ環境又は仮想環境において、任意のオペレーティングシステム（ＯＳ）（図示せず）下で実行することができる。論理ユニット９５５、アプリケーションプログラミングインターフェイス（ＡＰＩ）ユニット９６０、入力ユニット９６５、出力ユニット９７０、エッジ検出ユニット９７５、エッジ融合ユニット９８０、仮説生成ユニット９８５、仮説検証ユニット９９０及び異なるユニットが互いに、ＯＳ、及び他のアプリケーション（図示せず）と通信するためのユニット間通信機構９９５を含む、１つ以上のアプリケーションを配備することができる。
【０１２１】
[131]  例えば、エッジ検出ユニット９７５、エッジ融合ユニット９８０、仮説生成ユニット９８５、及び仮説検証ユニット９９０は、図８に示した１つ以上のプロセスを実施することができる。説明されたユニット及び素子は、設計、機能、構成、又は実装において変更可能であり、提供される説明に限定されない。
【０１２２】
[132]  一部の例示的な実装形態では、情報又は実行命令は、ＡＰＩユニット９６０によって受信されると、１つ以上の他のユニット（例えば、エッジ検出ユニット９７５、エッジ融合ユニット９８０、仮説生成ユニット９８５、及び仮説検証ユニット９９０）に伝達することができる。例えば、エッジ検出ユニット９７５は、少なくとも２つの画像取込モードから取り込んだ画像データから物体エッジを自動的に検出し、検出したエッジをエッジ融合ユニット９８０に提供することができる。エッジ融合ユニット９８０は、検出されたエッジを融合させて、仮説生成ユニット９８５に提供するエッジ融合データを生成することができる。仮説生成ユニット９８５は、エッジ融合データに基づいて物体検出仮説を生成し、仮説検証ユニット９９０に提供することができる。仮説検証ユニット９９０は、収集された画像データ及びエッジ融合データに基づいて、生成された仮説を検証することができる。
【０１２３】
[133]  一部の例では、論理ユニット９５５は、ユニット間の情報の流れを制御し、上記の一部の例示的な実装形態におけるＡＰＩユニット９６０、入力ユニット９６５、エッジ検出ユニット９７５、エッジ融合ユニット９８０、仮説生成ユニット９８５、及び仮説検証ユニット９９０により提供されるサービスを指示するように構成することができる。例えば、１つ以上のプロセス又は実装形態のフローは、論理ユニット９５５によって単独で、又はＡＰＩユニット９６０と連携して制御することができる。
【０１２４】
[134]  いくつかの例示的な実装形態が示され、説明されているが、これらの例示的な実装形態は、本明細書に記載される主題をこの分野に精通した人々に伝えるために提供される。本明細書に記載された主題は、記載された例示的な実装形態に限定されることなく、様々な形態で実施できることを理解されたい。本明細書に記載された主題は、具体的に定義又は記載された事項なしに、又は記載されていない他の又は異なる要素又は事項を使用して実施することができる。この分野に精通した者は、添付の特許請求の範囲及びその均等物で定義された本明細書に記載された主題から逸脱することなく、これらの例示的な実装形態で変更を行うことができることを理解するであろう。
【要約】
【課題】単一の撮像デバイスに頼る従来技術のシステムは、物体周囲の境界又はエッジを発見又は検出できない確率が高くなる可能性がある。
【解決手段】物体を検出する方法は、第１の画像取込モードに基づいた物体を表す第１の画像データから第１のエッジ情報を生成すること、第１の画像取込モードと異なる第２の画像取込モードに基づいた物体を表す第２の画像データから第２のエッジ情報を生成すること、第１のエッジ情報と第２のエッジ情報を融合させて融合エッジ情報を生成すること、融合エッジ情報に基づいて物体検出仮説を生成すること、及び融合エッジ情報、第１のエッジ情報、及び／又は第２のエッジ情報に基づいて物体検出仮説を検証すること、を含む。
【選択図】図８【図１Ａ】
0006782046.tif 000002
【図１Ｂ】
0006782046.tif 000003
【図２】
0006782046.tif 000004
【図３】
0006782046.tif 000005
【図４】
0006782046.tif 000006
【図５】
0006782046.tif 000007
【図６】
0006782046.tif 000008
【図７Ａ】
0006782046.tif 000009
【図７Ｂ】
0006782046.tif 000010
【図８】
0006782046.tif 000011
【図９】
0006782046.tif 000012