(57)【特許請求の範囲】
【請求項１】
ロボットおよび画像取り込み装置と通信するように構成される通信インターフェースと、
少なくとも一つの処理回路と、を備え
前記少なくとも一つの処理回路は、一つ以上の物体が前記画像取り込み装置の視野の中にあるまたはあったとき、
前記一つ以上の物体を表すための画像を取得することであって、前記画像は前記画像取り込み装置によって生成されることと、
前記画像からターゲット画像部分を生成することであって、前記ターゲット画像部分は、前記一つ以上の物体のうちの物体に関連付けられた前記画像の一部分であることと、
前記ターゲット画像部分を、テクスチャありの分類を有するものまたはテクスチャなしの分類を有するもののどちらに分類するかを決定することであって、前記テクスチャありの分類は、前記ターゲット画像部分に少なくとも閾値レベルの視覚テクスチャがあることを指し、前記テクスチャなしの分類は、前記ターゲット画像部分に少なくとも前記閾値レベルの視覚テクスチャがないことを指していることと、
前記ターゲット画像部分が前記テクスチャありの分類を有するものまたは前記テクスチャなしの分類を有するもののどちらに分類されるかに基づいて、第一のテンプレート記憶空間および第二のテンプレート記憶空間の中からテンプレート記憶空間を選択することであって、前記第一のテンプレート記憶空間は、前記第二のテンプレート記憶空間と比べてより頻繁に消去され、前記第一のテンプレート記憶空間は、前記ターゲット画像部分を前記テクスチャなしの分類を有するものに分類する決定に応じて、前記テンプレート記憶空間として選択され、前記第二のテンプレート記憶空間は、前記ターゲット画像部分を前記テクスチャありの分類を有するものに分類する決定に応じて、前記テンプレート記憶空間として選択されることと、
前記ターゲット画像部分および前記選択されたテンプレート記憶空間に基づいて、物体認識を行うことと、
少なくとも前記物体とのロボット相互作用を引き起こすための移動指令を生成することであって、前記移動指令は、前記物体認識からの結果に基づいて生成されることと、
を行うように構成される、計算システム。
【請求項２】
前記少なくとも一つの処理回路は、
前記選択されたテンプレート記憶空間が、前記ターゲット画像部分に合致するテンプレートを含むかどうかを判定することによって、前記物体認識を行うように構成される、請求項１に記載の計算システム。
【請求項３】
前記少なくとも一つの処理回路は、
前記選択されたテンプレート記憶空間が、前記ターゲット画像部分に合致する視覚的特徴の記述を有する一つ以上のテンプレートを含むかどうかを判定することによって、前記物体認識を行うように構成される、請求項２に記載の計算システム。
【請求項４】
前記通信インターフェースは、空間構造感知装置と通信するように構成され、前記少なくとも一つの処理回路は、前記物体に関連付けられた物体構造を記述するために、感知された構造情報を受信するように構成され、前記感知された構造情報は、前記空間構造感知装置によって生成され、
前記少なくとも一つの処理回路は、
前記ターゲット画像部分を前記テクスチャなしの分類を有するものに分類する決定に応じて、前記選択されたテンプレート記憶空間が、前記感知された構造情報に合致する物体構造の記述を有する一つ以上のテンプレートを含むかどうかをさらに判定することによって、前記物体認識を行うように構成される、請求項３に記載の計算システム。
【請求項５】
前記少なくとも一つの処理回路は、
前記選択されたテンプレート記憶空間が、前記ターゲット画像部分に合致する前記テンプレートを含むという判定に応じて、
前記テンプレートに基づいて、前記移動指令を生成するように構成される、請求項２に記載の計算システム。
【請求項６】
前記少なくとも一つの処理回路は、
前記選択されたテンプレート記憶空間が、前記ターゲット画像部分に合致する前記テンプレートを含まないという判定に応じて、
前記ターゲット画像部分に基づいて、新しいテンプレートを生成することによって物体登録を行い、前記新しいテンプレートを、前記選択されたテンプレート記憶空間に記憶させるように構成される、請求項２に記載の計算システム。
【請求項７】
前記少なくとも一つの処理回路は、前記新しいテンプレートに基づいて、前記移動指令を生成するように構成される、請求項６に記載の計算システム。
【請求項８】
前記少なくとも一つの処理回路は、さらに
前記選択されたテンプレート記憶空間が、前記ターゲット画像部分に合致する前記テンプレートを含まないという前記判定に応じて、前記ターゲット画像部分の中にコーナーまたはエッジのうちの少なくとも一つを検出することと、
前記ターゲット画像部分の中に、少なくとも前記コーナーまたはエッジによって画定される領域を決定することと、
によって、前記物体登録を行うように構成され、
前記少なくとも一つの処理回路は、前記決定された領域に基づいて、前記新しいテンプレートを生成するように構成される、請求項６に記載の計算システム。
【請求項９】
前記少なくとも一つの処理回路は、
前記選択されたテンプレート記憶空間が、前記ターゲット画像部分に合致する前記テンプレートを含まないとき、前記決定された領域に基づいて、前記移動指令を生成するように構成される、請求項８に記載の計算システム。
【請求項１０】
前記ターゲット画像部分の中に前記コーナーまたはエッジのうちの前記少なくとも一つを前記検出することは、前記選択されたテンプレート記憶空間が、前記ターゲット画像部分に合致する前記テンプレートを含まないという前記判定、および前記ターゲット画像部分を前記テクスチャありの分類を有するものに分類する前記決定の両方に応じてなされ、
前記ターゲット画像部分が前記テクスチャありの分類を有するものに分類されるとき、前記少なくとも一つの処理回路は、前記新しいテンプレートを、前記第二のテンプレート記憶空間に記憶させるように構成される、請求項８に記載の計算システム。
【請求項１１】
前記通信インターフェースは、空間構造感知装置と通信するように構成され、
前記少なくとも一つの処理回路は、前記物体に関連付けられた物体構造を記述するために、感知された構造情報を受信するように構成され、前記感知された構造情報は、前記空間構造感知装置によって生成され、
前記ターゲット画像部分が前記テクスチャなしの分類を有するものに分類されるとき、前記少なくとも一つの処理回路は、
前記感知された構造情報を含むか、または前記感知された構造情報に基づく、物体構造の記述を有するように前記新しいテンプレートを生成し、
前記新しいテンプレートを前記第一のテンプレート記憶空間の中に記憶させるように構成される、請求項６に記載の計算システム。
【請求項１２】
前記ターゲット画像部分が前記テクスチャありの分類を有するものまたは前記テクスチャなしの分類を有するもののどちらに分類されるかにさらに基づいて、前記少なくとも一つの処理回路は、前記移動指令を生成するように構成される、請求項１に記載の計算システム。
【請求項１３】
前記少なくとも一つの処理回路は、
前記一つ以上の物体に関連付けられたロボットのタスクが完了したかどうかを判定し、
前記ロボットのタスクが完了したという判定に応じて、前記第二のテンプレート記憶空間を消去することなく、前記第一のテンプレート記憶空間を消去させる、
ように構成される、請求項１に記載の計算システム。
【請求項１４】
前記少なくとも一つの処理回路は、
当該少なくとも一つの処理回路が、前記移動指令を生成した後、前記ロボットとのロボット相互作用について、現在残っている物体はないと判定するとき、
前記ロボットのタスクが完了したと判定するように構成される、請求項１３に記載の計算システム。
【請求項１５】
前記少なくとも一つの処理回路は、前記選択されたテンプレート記憶空間に複数のテンプレートを追加するように構成されており、
複数の物体が前記画像取り込み装置の前記視野の中にあるとき、前記少なくとも一つの処理回路は、前記選択されたテンプレート記憶空間に追加される前記複数のテンプレートのそれぞれを、前記複数の物体のうちの対応する物体に関連付けられた、それぞれのターゲット画像部分に基づかせるように構成される、請求項１に記載の計算システム。
【請求項１６】
命令を有する非一時的コンピュータ可読媒体であって、
前記命令は、計算システムの少なくとも一つの処理回路によって実行されるとき、前記少なくとも一つの処理回路に、
画像を取得することであって、前記計算システムは、画像取り込み装置およびロボットと通信するように構成され、前記画像は、前記画像取り込み装置によって生成され、かつ、前記画像取り込み装置の視野の中にある一つ以上の物体を表すためのものであることと、
前記画像からターゲット画像部分を生成することであって、前記ターゲット画像部分は、前記一つ以上の物体のうちの物体に関連付けられた前記画像の一部分であることと、
前記ターゲット画像部分を、テクスチャありの分類を有するものまたはテクスチャなしの分類を有するもののどちらに分類するかを決定することであって、前記テクスチャありの分類は、前記ターゲット画像部分に少なくとも閾値レベルの視覚テクスチャがあることを指し、前記テクスチャなしの分類は、前記ターゲット画像部分に少なくとも前記閾値レベルの視覚テクスチャがないことを指していることと、
前記ターゲット画像部分が前記テクスチャありの分類を有するものまたは前記テクスチャなしの分類を有するもののどちらに分類されるかに基づいて、第一のテンプレート記憶空間および第二のテンプレート記憶空間の中からテンプレート記憶空間を選択することであって、前記第一のテンプレート記憶空間は、前記第二のテンプレート記憶空間と比べてより頻繁に消去され、前記第一のテンプレート記憶空間は、前記ターゲット画像部分を前記テクスチャなしの分類を有するものに分類する決定に応じて、前記テンプレート記憶空間として選択され、前記第二のテンプレート記憶空間は、前記ターゲット画像部分を前記テクスチャありの分類を有するものに分類する決定に応じて、前記テンプレート記憶空間として選択されることと、
前記ターゲット画像部分および前記選択されたテンプレート記憶空間に基づいて、物体認識を行うことと、
前記物体とのロボット相互作用を引き起こすための移動指令を生成することであって、前記移動指令は、前記物体認識からの結果に基づいて生成されることと、
を行わせる、非一時的コンピュータ可読媒体。
【請求項１７】
前記少なくとも一つの処理回路により実行されるとき、前記命令は、前記少なくとも一つの処理回路に、
前記選択されたテンプレート記憶空間が、前記ターゲット画像部分に合致するテンプレートを含むかどうかを判定することにより、前記物体認識を行うことと、
前記選択されたテンプレート記憶空間が、前記ターゲット画像部分に合致する前記テンプレートを含まないという判定に応じて、前記ターゲット画像部分に基づいて新しいテンプレートを生成することにより、かつ前記新しいテンプレートを前記選択されたテンプレート記憶空間に記憶させることにより、物体登録を行うことと、
を行わせる、請求項１６に記載の非一時的コンピュータ可読媒体。
【請求項１８】
前記少なくとも一つの処理回路により実行されるとき、前記命令は、前記少なくとも一つの処理回路に、
前記一つ以上の物体に関連付けられたロボットのタスクが完了したかどうかを判定することと、
前記ロボットのタスクが完了したという判定に応じて、前記第二のテンプレート記憶空間を消去することなく、前記第一のテンプレート記憶空間を消去することと、
を行わせる、請求項１６に記載の非一時的コンピュータ可読媒体。
【請求項１９】
計算システムによって行われる方法であって、
前記計算システムによって画像を取得することであって、前記計算システムは、画像取り込み装置およびロボットと通信するように構成され、前記画像は、前記画像取り込み装置によって生成され、かつ、前記画像取り込み装置の視野の中にある一つ以上の物体を表すためのものであることと、
前記画像からターゲット画像部分を生成することであって、前記ターゲット画像部分は、前記一つ以上の物体のうちの物体に関連付けられた前記画像の一部分であることと、
前記ターゲット画像部分を、テクスチャありの分類を有するものまたはテクスチャなしの分類を有するもののどちらに分類するかを決定することであって、前記テクスチャありの分類は、前記ターゲット画像部分に少なくとも閾値レベルの視覚テクスチャがあることを指し、前記テクスチャなしの分類は、前記ターゲット画像部分に少なくとも前記閾値レベルの視覚テクスチャがないことを指していることと、
前記ターゲット画像部分が前記テクスチャありの分類を有するものまたは前記テクスチャなしの分類を有するもののどちらに分類されるかに基づいて、第一のテンプレート記憶空間および第二のテンプレート記憶空間の中から、テンプレート記憶空間を選択することであって、前記第一のテンプレート記憶空間は、前記第二のテンプレート記憶空間と比べてより頻繁に消去され、前記第一のテンプレート記憶空間は、前記ターゲット画像部分を前記テクスチャなしの分類を有するものに分類する決定に応じて、前記テンプレート記憶空間として選択され、前記第二のテンプレート記憶空間は、前記ターゲット画像部分を前記テクスチャありの分類を有するものに分類する決定に応じて、前記テンプレート記憶空間として選択されることと、
前記ターゲット画像部分に基づいて、かつ、前記選択されたテンプレート記憶空間に基づいて、物体認識を行うことと、
前記物体とのロボット相互作用を引き起こすための移動指令を生成することであって、前記移動指令は、前記物体認識からの結果に基づいて生成されることと、
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、「物体検出を備えたロボットシステム」と題する２０２０年１月１０日付け出願の米国仮特許出願第６２／９５９，１８２号の利益を請求し、その全体の内容は参照により本明細書に組み込まれる。
【０００２】
本開示は、画像またはその一部分が、どのように分類されたかに基づいて、すなわち、より具体的には、画像またはその一部分が、テクスチャありまたはテクスチャなしのどちらに分類されたかに基づいて、物体認識または物体登録を行うための計算システムおよび方法に関する。
【背景技術】
【０００３】
自動化がより一般的になると、物体を表す画像を使用して、倉庫、工場、もしくは小売空間の中にある箱または他の包装品などの物体についての情報を、自動的に抽出する場合がある。画像によって、包装品の自動追跡、在庫管理、または物体とのロボット相互作用などのタスクを容易にしうる。
【発明の概要】
【０００４】
実施形態では、非一時的コンピュータ可読媒体および少なくとも一つの処理回路を含む計算システムを提供する。通信インターフェースは、ロボットおよび画像取り込み装置と通信するように構成されてもよい。少なくとも一つの処理回路は、一つ以上の物体が、画像取り込み装置の視野の中にある、またはあったとき、以下の方法、すなわち、一つ以上の物体を表すための画像を取得することであって、画像は画像取り込み装置によって生成されることと、画像からターゲット画像部分を生成することであって、ターゲット画像部分は一つ以上の物体のうちの物体に関連付けられた画像の一部分であることと、ターゲット画像部分を、テクスチャありまたはテクスチャなしのどちらに分類するかを決定することとを行うように構成される。方法はまた、ターゲット画像部分がテクスチャありまたはテクスチャなしのどちらに分類されるかに基づいて、第一のテンプレート記憶空間および第二のテンプレート記憶空間の中から、テンプレート記憶空間を選択することを含み、第一のテンプレート記憶空間は、第二のテンプレート記憶空間と比べてより頻繁に消去され、第一のテンプレート記憶空間は、ターゲット画像部分をテクスチャなしに分類する決定に応じて、テンプレート記憶空間として選択され、第二のテンプレート記憶空間は、ターゲット画像部分をテクスチャありに分類する決定に応じて、テンプレート記憶空間として選択される。方法はさらに、ターゲット画像部分および選択されたテンプレート記憶空間に基づいて、物体認識を行うことを含む。方法はさらに、少なくとも物体とのロボット相互作用を引き起こすための移動指令を生成することを含み、移動指令は、物体認識からの結果に基づいて生成される。一部の事例では、方法は、少なくとも一つの処理回路が非一時的コンピュータ可読媒体上で複数の命令を実行するときに行われてもよい。
【図面の簡単な説明】
【０００５】
【図１Ａ】本明細書の実施形態による、画像分類に基づいて、物体認識または物体登録を行うためのシステムを示す。
【図１Ｂ】本明細書の実施形態による、画像分類に基づいて、物体認識または物体登録を行うためのシステムを示す。
【図１Ｃ】本明細書の実施形態による、画像分類に基づいて、物体認識または物体登録を行うためのシステムを示す。
【図１Ｄ】本明細書の実施形態による、画像分類に基づいて、物体認識または物体登録を行うためのシステムを示す。
【図１Ｅ】本明細書の実施形態による、画像分類に基づいて、物体認識または物体登録を行うためのシステムを示す。
【図１Ｆ】本明細書の実施形態による、画像分類に基づいて、物体認識または物体登録を行うためのシステムを示す。
【図１Ｇ】本明細書の実施形態による、画像分類に基づいて、物体認識または物体登録を行うためのシステムを示す。
【図１Ｈ】本明細書の実施形態による、画像分類に基づいて、物体認識または物体登録を行うためのシステムを示す。
【０００６】
【図２Ａ】本明細書の実施形態による、画像分類に基づいて、物体認識または物体登録を行うように構成された計算システムを示す、ブロック図を提供する。
【図２Ｂ】本明細書の実施形態による、画像分類に基づいて、物体認識または物体登録を行うように構成された計算システムを示す、ブロック図を提供する。
【図２Ｃ】本明細書の実施形態による、画像分類に基づいて、物体認識または物体登録を行うように構成された計算システムを示す、ブロック図を提供する。
【図２Ｄ】本明細書の実施形態による、画像分類に基づいて、物体認識または物体登録を行うように構成された計算システムを示す、ブロック図を提供する。
【図２Ｅ】本明細書の実施形態による、画像分類に基づいて、物体認識または物体登録を行うように構成された計算システムを示す、ブロック図を提供する。
【図２Ｆ】本明細書の実施形態による、画像分類に基づいて、物体認識または物体登録を行うように構成された計算システムを示す、ブロック図を提供する。
【０００７】
【図３】本明細書の実施形態による、画像分類に基づいて、物体認識を行う方法を示す、フロー図を提供する。
【０００８】
【図４Ａ】本明細書の実施形態による、物体認識または物体登録が行われうる、例示的な環境およびシステムを示す。
【図４Ｂ】本明細書の実施形態による、物体認識または物体登録が行われうる、例示的な環境およびシステムを示す。
【図４Ｃ】本明細書の実施形態による、物体認識または物体登録が行われうる、例示的な環境およびシステムを示す。
【０００９】
【図５Ａ】本明細書の実施形態による、画像の一部分に対する分類に基づいて、物体認識または物体登録を行う態様を示す。
【図５Ｂ】本明細書の実施形態による、画像の一部分に対する分類に基づいて、物体認識または物体登録を行う態様を示す。
【図５Ｃ】本明細書の実施形態による、画像の一部分に対する分類に基づいて、物体認識または物体登録を行う態様を示す。
【図５Ｄ】本明細書の実施形態による、画像の一部分に対する分類に基づいて、物体認識または物体登録を行う態様を示す。
【図５Ｅ】本明細書の実施形態による、画像の一部分に対する分類に基づいて、物体認識または物体登録を行う態様を示す。
【００１０】
【図６Ａ】本明細書の実施形態による、物体認識または物体登録を行う態様を示す。
【図６Ｂ】本明細書の実施形態による、物体認識または物体登録を行う態様を示す。
【図６Ｃ】本明細書の実施形態による、物体認識または物体登録を行う態様を示す。
【図６Ｄ】本明細書の実施形態による、物体認識または物体登録を行う態様を示す。
【図６Ｅ】本明細書の実施形態による、物体認識または物体登録を行う態様を示す。
【図６Ｆ】本明細書の実施形態による、物体認識または物体登録を行う態様を示す。
【図６Ｇ】本明細書の実施形態による、物体認識または物体登録を行う態様を示す。
【図６Ｈ】本明細書の実施形態による、物体認識または物体登録を行う態様を示す。
【図６Ｉ】本明細書の実施形態による、物体認識または物体登録を行う態様を示す。
【００１１】
【図７Ａ】本明細書の実施形態による、物体認識を行う態様を示す。
【図７Ｂ】本明細書の実施形態による、物体認識を行う態様を示す。
【図７Ｃ】本明細書の実施形態による、物体認識を行う態様を示す。
【００１２】
【図８Ａ】本明細書の実施形態による、物体認識を行う態様を示す。
【図８Ｂ】本明細書の実施形態による、物体認識を行う態様を示す。
【図８Ｃ】本明細書の実施形態による、物体認識を行う態様を示す。
【図８Ｄ】本明細書の実施形態による、物体認識を行う態様を示す。
【図８Ｅ】本明細書の実施形態による、物体認識を行う態様を示す。
【００１３】
【図９Ａ】本明細書の実施形態による、テクスチャなしテンプレートの消去を示す。
【図９Ｂ】本明細書の実施形態による、テクスチャなしテンプレートの消去を示す。
【図９Ｃ】本明細書の実施形態による、テクスチャなしテンプレートの消去を示す。
【図９Ｄ】本明細書の実施形態による、テクスチャなしテンプレートの消去を示す。
【発明を実施するための形態】
【００１４】
本開示の一態様によって、画像もしくはその一部分が、テクスチャありまたはテクスチャなしのどちらであるかの分類など、画像分類に基づいて、物体認識または物体登録を自動的に行うためのシステムおよび方法を提供する。画像は、パレット上の箱など、一つ以上の物体を取り込むか、または他の方法で表してもよく、物体登録（行われる場合）を使用して、一つ以上の物体の視覚的特性または他の特性を判定し、それらの特性を記述する一つ以上のテンプレートを生成してもよい。一部の事例では、一つ以上のテンプレートを使用して、物体認識を行ってもよい。物体認識の結果は、例えば、在庫管理を行うか、一つ以上の物体とのロボット相互作用を容易にするか、または何らかの他の目的を達成するために使用されうる。一部の事例では、生成されるテンプレートは、テクスチャありまたはテクスチャ加工なしに分類されてもよい。テクスチャありテンプレートは、テクスチャありに分類される、画像または画像の一部分（画像部分とも呼ぶ）に基づいて生成される、テンプレートであってもよく、一方、テクスチャなしテンプレートは、テクスチャなしに分類される、画像または画像部分に基づいて生成される、テンプレートであってもよい。一部の事例では、テクスチャありまたはテクスチャなしの分類は、画像または画像部分の中の視覚テクスチャ、すなわち、より具体的には、画像または画像部分が、一定レベルの視覚テクスチャを有するかを指しうる。一部の事例では、視覚テクスチャは、物体の視覚的特徴と、テンプレートに記述される一つ以上の視覚的特徴との照合に基づき、ロバストに物体認識を行うことができるかに影響を与えうる。
【００１５】
実施形態では、テクスチャなしテンプレートは一時的に使用されてもよく、一方、テクスチャありテンプレートはより長期的に使用されうる。例えば、テクスチャなしテンプレートは、積み重ねられた箱をパレットから降ろすロボットに関与するタスクなど、特定のロボットのタスクを容易にするように使用されうる。こうした実例では、テクスチャなしテンプレートは、積み重ねられた中のある特定の箱の外観および／または物理構造に基づいて生成されうる。一部のシナリオでは、箱の表面上に視覚的マーキングがほとんどまたは全くない場合がある。テクスチャなしテンプレートによって、箱のデザイン、またはより広くは、箱に関連付けられた物体デザインを記述することができる。例えば、テクスチャなしテンプレートによって、箱のデザインを形成する視覚的なデザインおよび／または物理的設計を記述しうる。テクスチャなしテンプレートは、積み重ねられた中にある他の箱、特に、同じ箱のデザインを有し、そのためテクスチャなしテンプレートに合致しうる、他の箱をパレットから降ろすのを容易にするために使用されうる。この実施形態では、テクスチャなしテンプレートは、パレットから降ろすタスクの完了後に削除されてもよく、または他の方法で消去されてもよい。例えば、テクスチャなしテンプレートが、キャッシュまたは他の短期テンプレート記憶空間に記憶されてもよく、キャッシュは、パレットから降ろすタスクの完了時に消去されてもよい。一部の事例では、テクスチャなしテンプレートは、テクスチャなしフラグを含んでもよい。パレットから降ろすタスクが完了すると、テクスチャなしフラグによって、テクスチャなしテンプレートを消去させうる。したがって、本明細書の実施形態の一態様は、物体のグループ（例えば、パレット上の箱）に関与する、ある特定のロボットのタスクに対して、テクスチャなしテンプレートを使用することに関し、テクスチャなしテンプレートが、そのグループ内の物体に基づいて生成されてもよいが、別のグループの物体に関与する、後続する別のタスクに対しては、そのテクスチャなしテンプレートを再使用しない。テクスチャなしテンプレートは、例えば、前者のグループの中にあった物体について物体認識を行うのに有用でありうるが、後者のグループの中にある物体にとって関わりが少ない場合がある。
【００１６】
実施形態では、テクスチャありテンプレートはまた、ロボットのタスクまたは任意の他のタスクを容易にするように使用されてもよく、他の後続するタスクにさらに再使用されてもよい。したがって、テクスチャありテンプレートは、テクスチャなしテンプレートよりも永続的でありうる。一部の事例では、テクスチャありテンプレートは、長期データベースまたは他の長期テンプレート記憶空間に記憶されてもよい。以下でより詳細に論じるように、一時的にテクスチャなしテンプレートを使用し、より長期的にテクスチャありテンプレートを使用することによって、テンプレートを記憶するのに必要な記憶資源の削減、および／または物体認識を行う速度の改善などの技術的利点を提供しうる。
【００１７】
図１Ａは、自動物体認識もしくは物体登録を行うか、または容易にするためのシステム１００を示す（「または」「もしくは」という用語は、「および／または」「および／もしくは」を指すように本明細書で使用される）。システム１００は、計算システム１０１および画像取り込み装置１４１（画像感知装置とも呼ぶ）を含みうる。画像取り込み装置１４１（例えば、２Ｄカメラ）は、画像取り込み装置１４１の視野の中にある環境を表す画像を取り込むか、または他の方法で生成するように構成されてもよい。一部の事例では、環境は、例えば、倉庫または工場であってもよい。このような場合、画像は、ロボット相互作用を受ける、一つ以上の箱または他の容器など、倉庫または工場の中にある一つ以上の物体を表しうる。計算システム１０１は、画像取り込み装置１４１から直接または間接的に画像を受信し、画像を処理して、例えば、物体認識を行うことができる。以下でより詳細に論じるように、物体認識は、画像取り込み装置１４１が遭遇した、すなわち、より具体的には、装置の視野の中にあった物体を識別することを伴いうる。物体認識はさらに、物体の外観が、テンプレート記憶空間に記憶されている、いずれか既存のテンプレートに合致するか、および／または物体の構造が、テンプレート記憶空間の中にある、いずれか既存のテンプレートに合致するかの判定を伴ってもよい。一部の状況では、物体認識操作で、物体の外観が、テンプレート記憶空間の中にあるいずれの既存のテンプレートにも合致しないとき、および／または物体の構造が、テンプレート記憶空間の中にあるいずれの既存のテンプレートにも合致しないときなどに、物体を認識できない場合がある。一部の実施では、物体認識操作で物体を認識できない場合、計算システム１０１が物体登録を行うように構成されてもよい。物体登録は、例えば、物体の外観（物体の視覚的外観とも呼ぶ）に関する、物体の物理構造（物体構造または物体の構造とも呼ぶ）に関する、および／または物体の任意の他の特性に関する情報を記憶することと、その情報をテンプレート記憶空間の中に新しいテンプレートとして記憶することとを伴いうる。新しいテンプレートは、後続する物体認識操作に使用してもよい。一部の実例では、計算システム１０１および画像取り込み装置１４１は、倉庫または工場など、同じ施設の中に位置してもよい。一部の実例では、計算システム１０１および画像取り込み装置１４１は、互いに遠隔であってもよい。例えば、計算システム１０１は、クラウドコンピューティングプラットフォームを提供する、データセンターに位置してもよい。
【００１８】
実施形態では、システム１００は、３Ｄカメラなどの空間構造感知装置を含みうる。より具体的には、図１Ｂは、計算システム１０１、画像取り込み装置１４１を含み、空間構造感知装置１４２をさらに含む、システム１００Ａ（システム１００の実施形態であってもよい）を示す。空間構造感知装置１４２は、その視野の中にある物体の物理構造を感知し、および／または物体が３Ｄ空間の中でどのように配設されているかを感知するように構成されてもよい。例えば、空間構造感知装置１４２は、奥行き感知カメラ（例えば、飛行時間（ＴＯＦ）カメラまたは構造化光カメラ）、またはいかなる他の３Ｄカメラをも含みうる。実施形態では、空間構造感知装置１４２は、点群などの感知された構造情報（空間構造情報とも呼ぶ）を生成するように構成されてもよい。より具体的には、感知された構造情報は、物体の表面上の様々な位置の奥行きを記述する、奥行きマップの中の奥行き値のセットなど、奥行き情報を含みうる。奥行きは、空間構造感知装置１４２または何らかの他の基準フレームに対してであってもよい。一部の事例では、感知された構造情報（例えば、点群）は、［Ｘ  Ｙ  Ｚ］Ｔ座標など、物体の一つ以上の表面上のそれぞれの位置を識別するか、または他の方法で記述する、３Ｄ座標を含みうる。一部の事例では、感知された構造情報は、物体の物理構造を記述しうる。例えば、点群（または感知された構造情報の他の形態）の奥行き情報は、物体のサイズまたは物体の形状を記述しうる。物体のサイズ（物体サイズとも呼ぶ）は、例えば、容器もしくは他の物体の長さおよび幅の組み合わせ、または容器の長さ、幅、および高さの組み合わせなど、物体の寸法を記述しうる。物体の形状（物体形状とも呼ぶ）は、以下でより詳細に論じるように、例えば、物体の物理的外形を記述しうる。
【００１９】
上述のように、物体認識操作は、テンプレート記憶空間に記憶されている既存のテンプレート（存在する場合）に、物体が合致するかを判定するために行われてもよい。物体が、テンプレート記憶空間の中にあるいずれの既存のテンプレートにも合致しない場合（またはテンプレート記憶空間の中にテンプレートがない場合）、物体登録操作を行って、物体の外観および／または他の特性に基づいて新しいテンプレートを生成してもよい。例えば、図１Ｃは、第一のテンプレート記憶空間１８１および第二のテンプレート記憶空間１８２を有する、システム１００Ｂ（システム１００／１００Ａの実施形態でありうる）を示す。実施形態では、テンプレート記憶空間１８１、１８２の各々は、記憶装置または他の非一時的コンピュータ可読媒体の中の空間であってもよく、空間は、物体認識用に一つ以上のテンプレートを記憶するように割り当てられるか、またはそうでなければ使用される。一部の事例では、第一のテンプレート記憶空間１８１および／または第二のテンプレート記憶空間１８２は、テンプレートまたは他のテンプレート情報を記憶するためのコンピュータファイルを含んでもよい。一部の事例では、テンプレート記憶空間１８１／１８２は、テンプレートまたは他のテンプレート情報を記憶するために割り当てられるか、もしくはそうでなければ使用される、メモリアドレスの一つまたは複数の範囲を含みうる。上記の場合、コンピュータファイルまたはメモリアドレスの範囲は、記憶装置の中の異なる物理的位置へマッピングできる、メモリの中の仮想位置でありうるため、テンプレート記憶空間１８１／１８２は、仮想空間を指してもよい。一部の事例では、第一のテンプレート記憶空間１８１および／または第二のテンプレート記憶空間１８２は、記憶装置上の物理空間を指してもよい。
【００２０】
以下でより詳細に論じるように、テンプレート記憶空間１８１／１８２の中のテンプレートによって、物体または物体のグループに関連付けられた、特定の物体デザインを描写しうる。例えば、物体のグループが、箱または他の容器である場合、物体デザインは、箱のデザイン、または容器と関連付けられた他の容器のデザインを指しうる。一部の事例では、物体デザインは、例えば、物体の一つ以上の表面の外観の一部を定義するか、もしくは他の方法で形成するか、もしくは物体の何らかの他の視覚的特性を定義する、視覚的なデザインまたは視覚的マーキングを指しうる。一部の事例では、物体デザインは、例えば、物体に関連付けられた物理構造もしくは他の物理的特性を定義するか、またはそうでなければ記述する、物理的設計を指しうる。実施形態では、テンプレートは、視覚的なデザインを記述する情報を含みうる、視覚的特徴の記述を含んでもよい。例えば、視覚的特徴の記述は、物体の外観を表すか、もしくは他の方法で関連付けられる、画像もしくは画像部分を含んでもよく、または画像もしくは画像部分の中の視覚的特徴を要約するか、もしくは他の方法で記述する、情報（例えば、記述子のリスト）を含んでもよい。実施形態では、テンプレートは、物理的設計を記述する情報を含みうる、物体構造の記述を含んでもよい。例えば、物体構造の記述は、物体デザインに関連付けられた物体サイズを記述する値を含んでもよく、および／または物体デザインに関連付けられた物体形状を記述する、点群もしくはコンピュータ支援設計（ＣＡＤ）モデルを含みうる。
【００２１】
実施形態では、第一のテンプレート記憶空間１８１および／または第二のテンプレート記憶空間は、計算システム１０１上にホストされてもよく、またはそうでなければ位置してもよい。例えば、図１Ｃの実施形態は、計算システム１０１が、第一のテンプレート記憶空間１８１および第二のテンプレート記憶空間１８２の両方をホストするか、または他の方法でそれらを含む、実装を描写する。より具体的には、二つのテンプレート記憶空間１８１、１８２は、図２Ｅに関して以下でより詳細に論じるように、計算システム１０１の記憶装置もしくは他の非一時的コンピュータ可読媒体上にホストされてもよく、またはそうでなければ位置してもよい。さらに、図１Ｄは、第一のテンプレート記憶空間１８１または第二のテンプレート記憶空間１８２のうちの一方が、計算システム１０１上にホストされ、第一のテンプレート記憶空間１８１または第二のテンプレート記憶空間１８２の他方が、計算システム１０１から分離している非一時的コンピュータ可読媒体１９８上にホストされる、システム１００Ｃ（システム１００／１００Ａの実施形態でありうる）を示す。実施形態では、図１Ｅに示すように、第一のテンプレート記憶空間１８１および第二のテンプレート記憶空間１８２の両方が、計算システム１０１上ではなく、非一時的コンピュータ可読媒体１９８上にホストされてもよく、またはそうでなければ位置してもよい。
【００２２】
実施形態では、非一時的コンピュータ可読媒体１９８は、単一の記憶装置を含んでもよく、または記憶装置のグループを含んでもよい。計算システム１０１および非一時的コンピュータ可読媒体１９８は、同じ施設に位置してもよく、または互いに遠隔に位置してもよい。非一時的コンピュータ可読媒体１９８には、例えば、コンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消却可能プログラム可能読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、ソリッドステートドライブ、スタティックランダムアクセスメモリ（ＳＲＡＭ）、携帯型コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多目的ディスク（ＤＶＤ）、および／またはメモリスティックなど、電子記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置、またはそれらのいかなる適切な組み合わせが挙げられうるが、これらに限定されない。一部の事例では、図１Ｃ〜１Ｅの非一時的コンピュータ可読媒体１９８および／または計算システム１０１によって、第一のテンプレート記憶空間１８１および／もしくは第二のテンプレート記憶空間１８２の中のテンプレート（存在する場合）にアクセスするための、データベースまたはデータベース管理システムを提供しうる。
【００２３】
実施形態では、第一のテンプレート記憶空間１８１は、第二のテンプレート記憶空間１８２に比べて、より頻繁に消去されうる。例えば、第一のテンプレート記憶空間１８１は、特定のテンプレートもしくは特定タイプの複数のテンプレートを一時的に記憶するのに使用される、キャッシュまたは他の短期テンプレート記憶空間として作用してもよい。以下でより詳細に論じるように、キャッシュまたは他の短期テンプレート記憶空間を使用して、テクスチャなしに分類されたテンプレート（テクスチャなしテンプレートとも呼ぶ）を記憶してもよい。一部の実施形態では、第一のテンプレート記憶空間１８１はまた、一時的にテクスチャなしテンプレートを記憶するのに使用される、キャッシュまたは他の短期テンプレート記憶空間として作用するとき、テクスチャなしテンプレート記憶空間１８１と呼んでもよい。一部の事例では、第一のテンプレート記憶空間１８１は、積み重ねられた箱または他の容器をパレットから降ろすことを伴う、ロボットのタスクなど、ある特定のタスクが行われている間、記憶されたテンプレート（存在する場合）を保持してもよく、第一のテンプレート記憶空間１８１の中のテンプレートは、タスクの完了後に消去されてもよい。こうした例では、特定のタスクのために生成される、テクスチャなしテンプレートは、後続するタスクには再使用されない。
【００２４】
実施形態では、第二のテンプレート記憶空間１８２は、長期テンプレート記憶空間（例えば、長期テンプレートデータベース）として作用してもよい。一部の事例では、第二のテンプレート記憶空間１８２が、以下でより詳細に論じるように、テクスチャありに分類されたテンプレート（テクスチャありテンプレートとも呼ぶ）など、特定のテンプレートまたは特定タイプの複数のテンプレート用に確保されていてもよい。一部の実施形態では、第二のテンプレート記憶空間１８２はまた、テクスチャありテンプレートを記憶するのに使用される、長期テンプレート記憶空間として作用するとき、テクスチャありテンプレート記憶空間１８２と呼んでもよい。第二のテンプレート記憶空間１８２の中のテンプレートまたは他のコンテンツは、第一のテンプレート記憶空間１８２の中のテンプレートまたは他のコンテンツよりも永続的でありうる。例えば、第二のテンプレート記憶空間１８２は、上で論じたロボットのタスクを含む、多くのタスクの範囲に渡って、その記憶されるテンプレート（存在する場合）を保持してもよい。言い換えれば、ある特定のタスク用に生成されるテクスチャありテンプレートは、後続するタスクに対する物体認識を容易にするために、その後続するタスクに再使用してもよい。実施形態では、第一のテンプレート記憶空間１８１を短期テンプレート記憶空間として使用し、第二のテンプレート記憶空間１８２を長期テンプレート記憶空間として使用することによって、以下でより詳細に論じるように、物体認識用のテンプレートを記憶するのに必要な記憶資源を削減する技術的優位性、および／または物体認識が行われる速度を向上させる技術的優位性を提供することができる。
【００２５】
実施形態では、図１Ｄおよび１Ｅの非一時的コンピュータ可読媒体１９８は、さらに、画像取り込み装置１４１によって生成される画像、および／または空間構造感知装置１４２によって生成される感知された構造情報を記憶しうる。こうした実施形態では、計算システム１０１は、非一時的コンピュータ可読媒体１９８から、画像および／または感知された構造情報を受信してもよい。一部の事例では、図１Ａ〜１Ｅのシステム１００／１００Ａ／１００Ｂ／１００Ｃ／１００Ｄの様々なコンポーネントは、ネットワークを介して通信してもよい。例えば、図１Ｆは、システム１００／１００Ａ／１００Ｂ／１００Ｃ／１００Ｄのうちのいずれかの実施形態であってもよい、ネットワーク１９９を含むシステム１００Ｅを描写する。より具体的には、計算システム１０１は、画像取り込み装置１４１によって生成された画像を、ネットワーク１９９を介して受信してもよい。ネットワーク１９９によって、計算システム１０１が、本明細書の実施形態と一致する画像データを受信可能となるように、個々のネットワーク接続または一連のネットワーク接続が提供されてもよい。実施形態では、ネットワーク１９９に、有線または無線リンクを介して接続してもよい。有線リンクには、デジタル加入者回線（ＤＳＬ）、同軸ケーブル回線、または光ファイバ回線が含まれてもよい。無線リンクには、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）、ＡＮＴ／ＡＮＴ＋、ＺｉｇＢｅｅ、Ｚ−Ｗａｖｅ、Ｔｈｒｅａｄ、Ｗｉ−Ｆｉ（登録商標）、Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ（ＷｉＭＡＸ（登録商標））、モバイルＷｉＭＡＸ（登録商標）、ＷｉＭＡＸ（登録商標）−Ａｄｖａｎｃｅｄ、ＮＦＣ、ＳｉｇＦｏｘ、ＬｏＲａ、Ｒａｎｄｏｍ  Ｐｈａｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ（ＲＰＭＡ）、Ｗｅｉｇｈｔｌｅｓｓ−Ｎ／Ｐ／Ｗ、赤外線チャネル、または衛星バンドが含まれてもよい。無線リンクはまた、２Ｇ、３Ｇ、４Ｇ、または５Ｇの資格がある規格を含む、モバイル機器間を通信する、いかなるセルラーネットワーク規格が含まれてもよい。無線規格は、例えば、ＦＤＭＡ、ＴＤＭＡ、ＣＤＭＡ、またはＳＤＭＡといった、様々なチャネルアクセス方法を使用してもよい。ネットワーク通信は、例えば、ＨＴＴＰ、ＴＣＰ／ＩＰ、ＵＤＰ、イーサネット、ＡＴＭなどを含む、いかなる適切なプロトコルによって実施されてもよい。
【００２６】
実施形態では、計算システム１０１、ならびに画像取り込み装置１４１および／または空間構造感知装置１４２は、ネットワーク接続ではなく直接接続によって通信しうる。例えば、こうした実施形態の計算システム１０１は、ＲＳ−２３２インターフェースなどの専用通信インターフェース、ユニバーサルシリアルバス（ＵＳＢ）インターフェース、および／もしくは周辺構成要素相互接続（ＰＣＩ）バスなどのローカルコンピュータバスを介して、画像を画像取り込み装置１４１から、ならびに／または感知された構造情報を空間構造装置１４２から受信するように構成されてもよい。
【００２７】
実施形態では、画像取り込み装置１４１によって生成される画像を使用して、ロボットの制御を容易にしうる。例えば、図１Ｇは、計算システム１０１、画像取り込み装置１４１、およびロボット１６１を含む、ロボット操作システム１００Ｆ（システム１００／１００Ａ／１００Ｂ／１００Ｃ／１００Ｄ／１００Ｅの実施形態である）を示す。画像取り込み装置１４１は、例えば、倉庫または他の環境の中にある物体を表す画像を生成するように構成されてもよく、ロボット１６１は、画像に基づいて物体と相互作用するよう制御されてもよい。例えば、計算システム１０１は、画像を受信し、画像に基づいて物体認識および／または物体登録を行うように構成されてもよい。物体認識は、例えば、物体のサイズまたは形状、および物体のサイズまたは形状が、既存のテンプレートに合致するかの判定を伴いうる。この例では、物体とのロボット１６１の相互作用は、物体の判定されたサイズもしくは形状に基づいて、および／または合致するテンプレート（存在する場合）に基づいて制御されうる。
【００２８】
実施形態では、計算システム１０１は、ロボット１６１の移動もしくは他の操作を制御するように構成される、ロボット制御システム（ロボットコントローラとも呼ぶ）を形成しても、またはその一部であってもよい。例えば、こうした実施形態の計算システム１０１は、画像取り込み装置１４１によって生成される画像に基づいて、ロボット１６１に対する動作計画作成を行い、動作計画作成に基づいて一つ以上の移動指令（例えば、運動指令）を生成するように構成されうる。こうした例の計算システム１０１は、ロボット１６１の移動を制御するために、一つ以上の移動指令をロボット１６１に出力しうる。
【００２９】
実施形態では、計算システム１０１は、ロボット制御システムから分離していてもよく、ロボット制御システムによってロボットを制御するのを可能にするために、ロボット制御システムに情報を伝達するように構成されてもよい。例えば、図１Ｈは、計算システム１０１と、計算システム１０１から分離しているロボット制御システム１６２とを含む、ロボット操作システム１００Ｇ（システム１００から１００Ｆのうちのいずれかの実施形態である）を描写する。この例の計算システム１０１および画像取り込み装置１４１によって、ロボット１６１の環境について、より具体的には、その環境の中にある物体についての情報を、ロボット制御システム１６２へ提供するよう構成される、視覚システム１５０を形成してもよい。計算システム１０１は、画像取り込み装置１４１によって生成された画像を処理して、ロボット１６１の環境についての情報を判定するように構成される、視覚コントローラとして機能してもよい。計算システム１０１は、判定した情報をロボット制御システム１６２へ伝達するように構成されてもよく、ロボット制御システム１６２は、計算システム１０１から受信した情報に基づいて、ロボット１６１に対する動作計画作成を行うように構成されうる。
【００３０】
上述のように、図１Ａから１Ｈの画像取り込み装置１４１は、画像取り込み装置１４１の環境の中にある一つ以上の物体を表す画像を取り込むか、または形成する画像データを生成するように構成されうる。より具体的には、画像取り込み装置１４１は、装置視野を有してもよく、装置視野の中にある一つ以上の物体を表す画像を生成するように構成されてもよい。本明細書で使用する場合、画像データは、一つ以上の物体（一つ以上の物理的物体とも呼ぶ）の外観を記述する、いかなるタイプのデータ（情報とも呼ぶ）をも指す。実施形態では、画像取り込み装置１４１は、２次元（２Ｄ）画像を生成するよう構成されたカメラなどのカメラであってもよく、またはカメラを含んでもよい。２Ｄ画像は、例えば、グレースケール画像またはカラー画像であってもよい。
【００３１】
さらに上で言及したように、画像取り込み装置１４１によって生成される画像は、計算システム１０１によって処理されてもよい。実施形態では、計算システム１０１は、サーバ（例えば、一つ以上のサーバブレード、プロセッサなどを有する）、パーソナルコンピュータ（例えば、デスクトップコンピュータ、ノートパソコンなど）、スマートフォン、タブレットコンピューティング装置、および／もしくは他のいかなる他の計算システムを含んでもよく、またはそれらとして構成されてもよい。実施形態では、計算システム１０１の機能性のすべては、クラウドコンピューティングプラットフォームの一部として行われてもよい。計算システム１０１は、単一の計算装置（例えば、デスクトップコンピュータまたはサーバ）であってもよく、または複数の計算装置を含んでもよい。
【００３２】
図２Ａは、計算システム１０１の実施形態を示す、ブロック図を提供する。計算システム１０１は、少なくとも一つの処理回路１１０および非一時的コンピュータ可読媒体（または複数の媒体）１２０を含む。実施形態では、処理回路１１０は、一つ以上のプロセッサ、一つ以上の処理コア、プログラマブルロジックコントローラ（「ＰＬＣ」）、特定用途向け集積回路（「ＡＳＩＣ」）、プログラマブルゲートアレイ（「ＰＧＡ」）、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）、それらのいかなる組み合わせ、またはいかなる他の処理回路も含む。
【００３３】
実施形態では、非一時的コンピュータ可読媒体１２０は、電子記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置、またはそれらのいかなる適切な組み合わせなどの記憶装置であり、例えば、コンピュータディスケット、ハードディスク、ソリッドステートドライブ（ＳＳＤ）、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消却可能プログラム可能読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、携帯型コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多目的ディスク（ＤＶＤ）、メモリスティック、それらのいかなる組み合わせ、またはいかなる他の記憶装置などであってもよい。一部の実例では、非一時的コンピュータ可読媒体１２０は、複数の記憶装置を含みうる。特定の事例では、非一時的コンピュータ可読媒体１２０は、画像取り込み装置１４１から受信した画像データ、および／または空間構造感知装置１４２から受信した、感知された構造情報を記憶するように構成される。特定の事例では、非一時的コンピュータ可読媒体１２０はさらに、処理回路１１０によって実行されるとき、処理回路１１０に、図３に関連して記載する方法など、本明細書に記載する一つ以上の方法を行わせる、コンピュータ可読プログラム命令を記憶する。
【００３４】
図２Ｂは、計算システム１０１の実施形態であり、通信インターフェース１３０を含む、計算システム１０１Ａを描写する。通信インターフェース１３０は、例えば、画像、またはより広くは、画像データを、画像取り込み装置１４１から、図１Ｄもしくは１Ｅの非一時的コンピュータ可読媒体１９８、図１Ｆのネットワーク１９９を介して、またはより直接的な接続によってなどで受信するように構成されてもよい。実施形態では、通信インターフェース１３０は、図１Ｇのロボット１６１または図１Ｈのロボット制御システム１６２と通信するように構成されうる。通信インターフェース１３０は、例えば、有線または無線プロトコルによって通信を行うように構成される通信回路を含みうる。例として、通信回路は、ＲＳ−２３２ポートコントローラ、ＵＳＢコントローラ、イーサネットコントローラ、Ｂｌｕｅｔｏｏｔｈ（登録商標）コントローラ、ＰＣＩバスコントローラ、いかなる他の通信回路、またはそれらの組み合わせを含んでもよい。
【００３５】
実施形態では、上で論じた第一のテンプレート記憶空間１８１および／または第二のテンプレート記憶空間１８２が、図１Ｅおよび１Ｄの非一時的コンピュータ可読媒体１９８上にホストされるか、または他の方法で位置する場合、通信インターフェース１３０は、非一時的コンピュータ可読媒体１９８と（例えば、直接、またはネットワークを介して）通信するように構成されてもよい。通信は、テンプレート記憶空間１８１／１８２からテンプレートを受信するか、またはテンプレートを中に記憶するためにテンプレート記憶空間１８１／１８２へ送信するように行われてもよい。一部の実例では、上述のように、計算システム１０１が、第一のテンプレート記憶空間１８１および／または第二のテンプレート記憶空間１８２をホストしてもよく、または他の方法で含んでもよい。例えば、図２Ｃ、２Ｄ、および２Ｅは、第一のテンプレート記憶空間１８１および／または第二のテンプレート記憶空間１８２が、計算システム１０１の非一時的コンピュータ可読媒体１２０上に位置する実施形態を描写する。
【００３６】
実施形態では、処理回路１１０は、非一時的コンピュータ可読媒体１２０に記憶される、一つ以上のコンピュータ可読プログラム命令によってプログラムされてもよい。例えば、図２Ｆは、計算システム１０１／１０１Ａの実施形態でありうる、計算システム１０１Ｂを示し、その中で、処理回路１１０は、画像アクセスモジュール２０２、画像分類モジュール２０４、物体登録モジュール２０６、物体認識モジュール２０７、および動作計画作成モジュール２０８によってプログラムされるか、またはそれらを実行するように構成される。本明細書で論じる様々なモジュールの機能性は、代表的なものであり、限定ではないことは理解されるであろう。
【００３７】
実施形態では、画像アクセスモジュール２０２は、計算システム１０１Ｂ上で動作するソフトウェアプロトコルであってもよく、画像、またはより広くは、画像データを取得（例えば、受信）するように構成されてもよい。例えば、画像アクセスモジュール２０２は、非一時的コンピュータ可読媒体１２０もしくは１９８の中に、またはネットワーク１９９および／もしくは図２Ｂの通信インターフェース１３０を介して記憶される、画像データにアクセスするように構成されてもよい。一部の事例では、画像アクセスモジュール２０２は、画像取り込み装置１４１から直接または間接的に、画像データを受信するように構成されてもよい。画像データは、画像取り込み装置１４１の視野の中にある、一つ以上の物体を表すためのものであってもよい。実施形態では、画像分類モジュール２０４は、以下でより詳細に論じるように、画像もしくは画像部分を、テクスチャありまたはテクスチャなしに分類するように構成されてもよく、画像は、画像アクセスモジュール２０２が取得する画像データによって表わされてもよい。
【００３８】
実施形態では、物体登録モジュール２０６は、視覚的特性、物理的特性、および／または物体の任意の他の特性を判定し、物体の特性を記述するテンプレートを生成するように構成されてもよい。一部の事例では、物体認識モジュール２０７は、例えば、物体の外観または物体の他の視覚的特性に基づいて物体認識を行って、その物体に対応するテンプレートが、既に存在するかを判定するように構成されてもよい。より具体的には、物体認識は、図２Ｃ〜２Ｅの第一のテンプレート記憶空間１８１または第二のテンプレート記憶空間１８２の中のテンプレートなど、一つ以上のテンプレートに基づいてもよい。物体認識は、例えば、物体の外観が、一つ以上のテンプレートのうちのいずれかのテンプレートに合致するかの判定を伴いうる。一部の事例では、物体認識モジュール２０７によって、こうした合致がないと判定する場合、物体登録モジュール２０６によって物体の外観を使用して、物体登録プロセス一部として、新しいテンプレートを作成してもよい。実施形態では、動作計画作成モジュール２０８は、以下でより詳細に論じるように、例えば、画像分類モジュール２０４によって行われる分類に基づいて、および／または物体認識モジュール２０７の結果に基づいて、物体とのロボット相互作用を制御するための、動作計画作成を行うように構成されてもよい。
【００３９】
様々な実施形態では、「ソフトウェアプロトコル」、「ソフトウェア命令」、「コンピュータ命令」、「コンピュータ可読命令」、および「コンピュータ可読プログラム命令」という用語は、様々なタスクおよび動作を遂行するように構成される、ソフトウェア命令またはコンピュータコードを記述するために使用される。本明細書で使用する場合、「モジュール」という用語は、処理回路１１０に一つ以上の機能タスクを行わせるように構成される、ソフトウェア命令またはコードの集まりを広く指す。便宜上、実際には、様々なモジュール、コンピュータ命令、およびソフトウェアプロトコルによって、様々な動作およびタスクを行うようにハードウェアプロセッサをプログラムするとき、モジュール、管理部、コンピュータ命令、およびソフトウェアプロトコルは、それらの動作またはタスクを行っていると記載されるであろう。様々な箇所に「ソフトウェア」として記載するものの、「モジュール」、「ソフトウェアプロトコル」、および「コンピュータ命令」によって行われる機能性は、より広くは、ファームウェア、ソフトウェア、ハードウェア、またはそれらのいかなる組み合わせとして実装されてもよいことは理解される。さらに、本明細書の実施形態は、方法ステップ、機能ステップ、およびその他のタイプの発生に関して記載する。実施形態では、これらのアクションは、計算システム１０１の処理回路１１０によって実行される、コンピュータ命令またはソフトウェアプロトコルに従って発生する。
【００４０】
図３は、物体認識および／または物体登録を行う、方法３００のための例示的な操作を図示する、フローチャートである。一例では、方法３００によって、積み重ねられた物体（例えば、パレット上の箱または他の包装品）が降ろされる、パレットから降ろすタスクの一部が容易になってもよく、または方法３００がそのタスクの一部であってもよい。一部の事例では、物体認識によって、積み重なりの中にある物体の構造（物体構造とも呼ぶ）の判定を容易にすることができ、これにより、パレットから降ろすタスクを支援しうる。一部の事例では、物体認識および／または物体登録によって、どの物体もしくはどのタイプの物体が、ロボット操作システム（例えば、図１Ｇの１００Ｆ）により降ろされたか、または他の方法で処理されたかの追跡が容易になってもよく、これにより、在庫管理タスクまたは何らかの他のタスクを支援しうる。実施形態では、方法３００が、処理回路１１０によってなど、図１Ａから２Ｆの計算システム１０１によって行われてもよい。例えば、計算システム１０１の非一時的コンピュータ可読媒体１２０が、複数の命令（例えば、コンピュータプログラム命令）を記憶してもよく、処理回路１００が、命令の実行によって方法３００を行ってもよい。
【００４１】
図４Ａ〜４Ｃは、方法３００が行われうる、例示的な環境を示す。より具体的には、図４Ａは、計算システム１０１、画像取り込み装置４４１（画像取り込み装置１４１の実施形態でありうる）、およびロボット４６１（図１Ｇまたは１Ｈのロボット１６１の実施形態でありうる）を含む、システム４００（システム１００から１００Ｇのうちのいずれか一つの実施形態でありうる）を描写する。図４Ｂは、システム４００のコンポーネントを含み、さらに、空間構造感知装置４４２（空間構造感知装置１４２の実施形態でありうる）を含む、システム４００Ａを描写する。加えて、図４Ｃは、システム４００Ａのコンポーネントを含み、さらに、一つ以上の追加の画像取り込み装置、または空間構造感知装置４４６、４４８などの空間構造感知装置を含む、システム４００Ｂを描写する。
【００４２】
図４Ａ〜４Ｃに描写するように、システム４００／４００Ａ／４００Ｂは、物体４１１〜４１４および４２１〜４２４など、一つ以上の物体に対する物体認識および／もしくは物体登録を行い、ならびに／またはロボット４６１を制御して、一つ以上の物体と相互作用するように使用されうる。一部のシナリオでは、一つ以上の物体（例えば、箱または他の容器）によって、パレット４３０などの台の上に配置される積み重なりが形成されうる。ロボット相互作用は、例えば、一つ以上の物体を拾い上げ、それらをパレット４３０からコンベヤベルトへなど、望ましい目的地へ移動させることを伴いうる。積み重なりには、図４Ａ〜４Ｃに示す第一の層４１０および第二の層４２０など、複数の層があってもよい。第一の層４１０は物体４１１〜４１４によって形成されてもよく、一方、第二の層４２０は物体４２１〜４２４によって形成されてもよい。一部の実例では、視覚的マーキングは、物体の一つ以上の表面上に現れうる。例えば、図４Ａ〜４Ｃは、物体４１１の表面（例えば、上表面）上に印刷されるか、または他の方法で配置される絵柄４０１Ａ、および物体４１２の表面上に印刷されるか、もしくは他の方法で配置されるロゴ４１２Ａまたは他の視覚的マーキングを描写する。視覚的マーキングが、物体４１１／４１２の視覚的なデザインの少なくとも一部を形成しうる。一部の事例では、物体４１１／４１２が商品を収容する箱である場合、視覚的なデザインは、商品のブランド名、商品の製造業者もしくは販売業者を示してもよく、または商品の図もしくは絵であってもよい。一部の状況では、一片のテープ４１４Ａなどの物理的な品物が、物体４１４の上表面など、物体の表面上に配置されてもよい。一部の状況では、物体のうちの少なくとも一つに、一つ以上の表面上に視覚的マーキングがない場合がある。例えば、物体４１３の上表面が空白であってもよい。
【００４３】
実施形態では、物体４１１〜４１４、４２１〜４２４が、同じ物体デザインを有する物体を含みうる。例として、物体４１１が物体４２４（図８Ａにより詳細に示す）と同じ物体デザインを有してもよく、一方、物体４１２が物体４２２（同様に図８Ａに示す）と同じ物体デザインを有してもよい。より具体的には、上述のように、物体デザインは、視覚的なデザインおよび／または物理的設計を含んでもよい。実施形態では、物体の物理的設計は、物体のサイズまたは形状など、その物理構造を指してもよい。この例では、物体４１１が物体４２４と同じ視覚的なデザインを有してもよく、一方、物体４１２が物体４２２と同じ視覚的なデザインを有してもよい。物体４１１〜４１４、４２１〜４２４が、商品を収容する箱または他の容器である場合、物体４１１と４２４と、および物体４１２と４２２とに共通する視覚的なデザインによって、これらの物体が、同じ商品もしくは商品の同じ型式を収容している、および／または同じ製造業者もしくは販売業者からのものでありうる可能性を示しうる。一部の事例では、物体４１１と４２４と（または物体４１２と４２２と）に共通する視覚的なデザインによって、これらの物体が、同じ物体デザインに属し、それゆえ、共通する物体サイズおよび／または共通する物体形状など、共通する物理的設計も有する可能性を示しうる。
【００４４】
実施形態では、物体登録を行って、システム１００／４００が遭遇した様々な物体デザインを記述する、テンプレートを生成することができる。より具体的には、画像取り込み装置４４１によって感知されるか、または空間構造感知装置４４２によって感知される情報は、以下でより詳細に論じるように、物体４１１〜４１４、４２１〜４２４のうちの一つ以上など、物体の物体デザインを記述するテンプレートを生成するために使用されうる。
【００４５】
上述のように、テンプレートは、一部の事例では、物体または物体のグループの外観、すなわち、より具体的には、物体のグループの各々の表面上に現れる、視覚的マーキング（存在する場合）を記述する、視覚的特徴の記述を含みうる。絵柄、パターン、またはロゴなどの視覚的マーキングは、物体のグループに共通する視覚的なデザインを形成してもよく、画像取り込み装置４４１によって生成される画像または他の情報の中に表されてもよい。一部の実例では、テンプレートは、画像取り込み装置４４１によって生成される画像の中に表されうる絵柄、パターン、もしくはロゴなど、視覚的マーキング自体を記憶するか、または他の方法で含みうる。一部の実例では、テンプレートは、絵柄、パターン、ロゴ、または他の視覚的マーキングをコード化する、情報を記憶しうる。例えば、テンプレートは、視覚的マーキングを記述するように、すなわち、より具体的には、視覚的マーキング（例えば、絵柄またはロゴ）によって形成される特定の特徴を記述するように生成される、記述子を記憶しうる。
【００４６】
一部の事例では、テンプレートは、物体または物体のグループの物体構造（物理構造とも呼ぶ）を記述しうる、物体構造の記述を含んでもよい。例えば、物体構造の記述は、物体のグループに共通する物理的設計を形成する、物体サイズおよび／または物体形状を記述しうる。一部の事例では、物体サイズは、物体のグループに関連付けられた、またはより広くは、物理的設計に関連付けられた物体寸法を記述しうる。一部の事例では、物体形状は、物体のグループの各々によって形成される物理的外形、またはより広くは、物体のグループに関連付けられた物理的設計に関連付けられた物理的外形を記述しうる。物体の物理的外形は、例えば、物体の一つ以上の表面の形状によって、かつ表面が互いに対してどのように配設されているかによって画定されてもよい、物体の輪郭（例えば、３Ｄ輪郭）を指す場合がある。例えば、正方形の箱の物理的外形は、互いに対して直交する平坦な表面を有する、物理的設計によって画定されうる。一部の事例では、物理的外形は、物体の一つ以上の表面上に形成される、いかなる物理的特徴も含みうる。例として、物体が容器である場合、物理的特徴は、容器の一つ以上の表面上に形成される、容器のへりまたは容器のハンドル（存在する場合）を含みうる。この例では、物体サイズおよび／または物体形状が、空間構造感知装置４４２により（および／または図４Ｃの空間構造感知装置４４６、４４８により）生成される感知された構造情報によって記述されうる。一部の事例では、物体構造の記述は、点群など、感知された構造情報自体を含みうる。一部の事例では、物体構造の記述には、物体サイズを記述する情報（例えば、上表面の長さおよび幅、または長さと幅とのアスペクト比）など、感知された構造情報に由来する情報、物体構造を記述するＣＡＤファイル、または何らかの他の情報を含みうる。
【００４７】
図３に戻ると、方法３００は、図４Ａ〜４Ｃの物体４１１〜４１４、４２１〜４２４など、一つ以上の物体が、画像取り込み装置４４１の視野４４３など、画像取り込み装置の視野中にあるとき、計算システム１０１が行うように構成されうる、ステップ３０２から始まってもよく、またはそうでなければステップ３０２を含んでもよい。一部の事例では、方法３００が空間構造感知装置（例えば、４４２）の使用を伴う場合、一つ以上の物体（例えば、４１１〜４１４、４２１〜４２４）がさらに、空間構造感知装置（例えば、４４２）の視野（例えば、４４４）の中にあってもよい。ステップ３０２中、計算システム１０１の処理回路１１０によって、一つ以上の物体（例えば、４１１〜４１４および／または４２１〜４２４）を表すための画像を取得しても、またはそうでなければ受信してもよく、画像は画像取り込み装置（例えば、４４１）によって生成されてもよい。一部の事例では、操作３０２は、図２Ｆの画像アクセスモジュール２０２によって行われてもよい。
【００４８】
ステップ３０２の例として、図５Ａは、図４Ａ〜４Ｃの積み重ねられた物体４１１〜４１４、４２１〜４２４のうちの少なくとも物体４１１〜４１４を表すか、またはそうでなければそれらと関連付けられる、取得した画像５０１を描写する。上述のように、物体４１１〜４１４は、一例では、パレット４３０上の箱または他の容器であってもよい。この例では、画像５０１によって表される物体４１１〜４１４は、層４１０など、パレットの一層に属しうる。画像５０１は、この例では、物体４１１〜４１４、４２１〜４２４の真上に位置付けられうる、画像取り込み装置４４１によって生成されてもよい。より具体的には、画像５０１は、物体４１１〜４１４のそれぞれの上表面の、すなわち、より具体的には、上表面の遮蔽されていない部分の外観を表しうる。言い換えれば、この例の画像５０１は、物体４１１〜４１４の上表面を取り込む、上面斜視図を表してもよい。一部の事例では、画像５０１は、より具体的には、物体４１１〜４１４の一つ以上の表面上に印刷されるか、または他の方法で配置される視覚的マーキング（存在する場合）の外観を表しうる。視覚的マーキングは、例えば、物体４１１の表面に印刷された絵柄４１１Ａ、および物体４１２の表面に印刷されたロゴ４１２Ａまたは他のパターンを含みうる。一部の事例では、画像５０１は、物体４１４の表面上に配置された一片のテープ４１４Ａなど、一つ以上の表面上に配置された物理的な品物の外観を表す場合がある。実施形態では、画像５０１は、物体４１１〜４１４のそれぞれの表面（例えば、上表面）に反射する光の強度など、画像取り込み装置４４１によって感知されている信号の強度に関連付けられる、それぞれのピクセル値（ピクセル強度値とも呼ぶ）を有しうる、ピクセルの２次元（２Ｄ）配列であってもよく、またはこれを含んでもよい。一部の事例では、画像５０１はグレースケール画像であってもよい。一部の事例では、画像５０１はカラー画像であってもよい。
【００４９】
実施形態では、受信した画像（例えば、５０１）は、計算システム１０１によって、画像取り込み装置（例えば、４４１）から取得されてもよい。実施形態では、受信した画像（例えば、５０１）は、非一時的コンピュータ可読媒体（例えば、図２Ｃ〜２Ｅの１２０または１９８）上に記憶されていてもよく、ステップ３０２で画像を取得することは、非一時的コンピュータ可読媒体（例えば、１２０または１９８）から、または任意の他の資源から、画像（例えば、５０１）を読み出す（またはより広くは、受信する）ことを伴いうる。一部の状況では、画像（例えば、５０１）は、画像取り込み装置（例えば、４４１）から、図２Ｂの通信インターフェース１３０を介してなど、計算システム１０１によって受信されていてもよく、画像（例えば、５０１）に記憶空間を提供しうる、計算システム１０１の非一時的コンピュータ可読媒体（例えば、１２０）に記憶されていてもよい。例えば、画像（例えば、５０１）は、画像取り込み装置（例えば、図４Ａ／４Ｂの４４１）から受信されてもよく、非一時的コンピュータ可読媒体（例えば、１２０）に記憶されてもよい。次いで画像（例えば、５０１）は、ステップ３０２で、計算システム１０１の処理回路１１０によって、非一時的コンピュータ可読媒体（例えば、１２０）から取得されてもよい。
【００５０】
一部の状況では、受信した画像（例えば、５０１）は、計算システム１０１の非一時的コンピュータ可読媒体（例えば、１２０）に記憶されてもよく、画像取り込み装置（例えば、４４１）から受信する情報に基づいて、計算システム１０１の処理回路１１０によって事前に生成されていてもよい。例えば、処理回路１１０は、画像取り込み装置（例えば、４４１）から受信する未加工のカメラデータに基づいて、画像（例えば、５０１）を生成するように構成されてもよく、計算システム１０１の非一時的コンピュータ可読媒体（例えば、１２０）に、生成された画像を記憶するように構成されてもよい。次いで画像は、ステップ３０２で処理回路１１０によって受信されてもよい（例えば、非一時的コンピュータ可読媒体１２０から画像を読み出すことによって）。以下でより詳細に論じるように、計算システム１０１は、物体の外観が、様々な物体デザインの既存のテンプレートに合致するかの判定によってなど、画像（例えば、５０１）の中に表される物体（例えば、４１１／４１２／４１３／４１４）を認識するかを判定するように構成されてもよく、計算システム１０１が物体を認識しない場合、物体の外観および／または物体の物理構造に基づいて、新しいテンプレートを生成するように構成されてもよい。新しいテンプレートの生成は、計算システム１０１が、新しく遭遇した物体について記述する情報を判定および記憶する、物体登録プロセスの一部であってもよい。
【００５１】
実施形態では、方法３００は、計算システム１０１の処理回路１１０によって、画像（例えば、５０１）からターゲット画像部分を生成する、ステップ３０４を含んでもよく、ターゲット画像部分が、画像（例えば、５０１）によって表される一つ以上の物体のうちの物体（例えば、図４Ａ〜４Ｃの４１１）に関連付けられた、画像の一部分であってもよい。例えば、ターゲット画像部分が、物体（例えば、４１１）を表す画像（画像部分とも呼ぶ）の一部分であってもよい。一部の実例では、ステップ３０４もまた、画像アクセスモジュール２０２によって行われてもよい。
【００５２】
一部の事例では、ステップ３０４は、ステップ３０２で取得される画像からの、ターゲット画像部分の抽出を伴いうる。例えば、図５Ｂは、物体４１１を表すターゲット画像部分５１１が、画像５０１から抽出される例を描写する。一部の事例では、ステップ３０４は、ステップ３０２で取得される画像が、積み重ねられた箱の中で一層を形成する複数の箱など、複数の物体を表す状況で行われてもよい。例えば、図５Ａおよび５Ｂの受信した画像５０１全体が、複数の物体、すなわち、物体４１１〜４１４を表しうる。この例では、物体４１１〜４１４の各々が、画像５０１の特定部分によって表されてもよい。一部の事例では、物体は、計算システム１０１によって識別される個々の物体（例えば、４１１）であってもよく、物体認識もしくは物体登録を行うためのターゲット、および／またはロボット相互作用（例えば、ロボット１６１によってパレットから降ろされる）のターゲットであってもよい。したがって、物体はまたターゲットの物体と呼んでもよい。このような場合、ターゲットの物体を表す画像部分は、ターゲット画像部分と呼ばれうる。一部の事例では、ターゲット画像部分（例えば、５１１）は、矩形の領域（例えば、正方形の領域）または任意の他の形状を有する領域など、受信した画像（例えば、５０１）のピクセルの領域であってもよい。上述のように、図５Ｂは、物体４１１を表すターゲット画像部分５１１を描写する。一部の実施形態では、ターゲット画像部分５１１は、画像取り込み装置（例えば、図４Ｂ〜４Ｃの４４１）に面している、および／もしくは空間構造感知装置（例えば、図４Ｂ〜４Ｃの４４２）に面している、物体表面（例えば、ターゲットの物体４１１の上表面）を表すことができるか、またはその表面の一部分を表すことができる。こうした実施形態では、ターゲット画像部分５１１は、物体４１１の上面図など、特定の図を表してもよい。以下でより詳細に論じるように、図６Ａはさらに、物体４１２、４１３、および４１４をそれぞれ表すターゲット画像部分５１２、５１３、および５１４を描写する。
【００５３】
実施形態では、ターゲット画像部分（例えば、５１１）は、線、コーナー、パターン、またはそれらの組み合わせなど、一つ以上の視覚的詳細を含みうる。ターゲット画像部分（例えば、５１１）の中にある一つ以上の視覚的詳細は、ターゲット画像部分によって表される物体（例えば、４１１）上に印刷されるか、または他の方法で配置される視覚的マーキング（存在する場合）を表しうる。実施形態では、ターゲット画像部分（例えば、５１３）が、視覚的詳細をほとんどまたは全く有さない場合があり、実質的に空白または均一に現れてもよい。一部の状況では、こうしたターゲット画像部分が、表面上に全く視覚的マーキングがないか、またはほとんど視覚的マーキングがない物体を表しうる。
【００５４】
実施形態では、ステップ３０４が、物体（例えば、４１１）を表すターゲット画像部分（例えば、５１１）の、受信した画像（例えば、５０１）からの抽出を伴う場合、抽出は、物体（例えば、４１１）のエッジが現れる、画像（例えば、５０１）内における位置の識別と、識別された位置によって囲まれた、画像（例えば、５０１）の領域の抽出とに基づいてもよく、位置はまた、画像位置と呼んでもよい。一部の事例では、画像（例えば、５０１）によって表される一つ以上の物体（例えば、４１１〜４１４）がまた、空間構造感知装置（例えば、図４Ｂの４４２）の視野の中にある場合も、計算システム１０１は、空間構造感知装置（例えば、４４２）によって生成される空間構造情報を受信し、空間構造情報の助けを受けてターゲット画像部分（例えば、５１１）を抽出するように構成されうる。例えば、空間構造情報は奥行き情報を含んでもよく、計算システム１０１は、奥行き情報に基づいて、エッジ位置とも呼ぶ、物体（例えば、４１１）のエッジの位置を決定するように構成されてもよい。例として、エッジ位置は、奥行きに急激な変化または不連続性がある位置を検出することによって、決定されうる。計算システム１０１は、この例では、これらのエッジ位置を画像（例えば、５０１）内の画像位置へマッピングし、画像位置によって囲まれた画像の領域を抽出するように構成されてもよく、抽出された領域が、ターゲット画像部分（例えば、５０１）であってもよい。一部の事例では、画像位置は、例えば、２Ｄピクセル座標であってもよく、一方、エッジ位置は３Ｄ座標であってもよい。計算システム１０１は、３Ｄ座標に基づいて２Ｄ座標を決定するように構成されうる。こうした決定については、「ＭＥＴＨＯＤ  ＡＮＤ  ＣＯＭＰＵＴＩＮＧ  ＳＹＳＴＥＭ  ＦＯＲ  ＰＲＯＣＥＳＳＩＮＧ  ＣＡＮＤＩＤＡＴＥ  ＥＤＧＥＳ」と題する、米国出願第１６／７９１，０２４号（弁理士整理番号００７７−０００９ＵＳ１／ＭＪ００４９−ＵＳ）でより詳細に論じ、その全体の内容は参照により本明細書に組み込まれる。
【００５５】
上述のように、ステップ３０２で受信した画像（例えば、画像５０１）は、一部の事例では、複数の物体を表しうる。他の事例では、ステップ３０２で受信される画像は、一つの物体のみ（例えば、一箱のみ）を表す場合がある。例えば、画像は、計算システム１０１によって受信される前に、特定の物体（例えば、物体４１１）のみを表し、画像取り込み装置（例えば、４４１）の視野（例えば、４４３）の中に、任意の他の物体を表すいかなる画像部分も除去するために、画像取り込み装置（例えば、４４１）によって、または別の装置によって処理（例えば、クロップ）されていてもよい。こうした例では、ステップ３０２で受信した画像は、その特定の物体（例えば、物体４１１）のみを表してもよく、ステップ３０４で抽出したターゲット画像部分は、画像自体と同じ、または実質的に同じであってもよい。
【００５６】
実施形態では、図３の方法３００はさらに、計算システム１０１の処理回路１１０によって、ターゲット画像部分（例えば、５１１）をテクスチャありまたはテクスチャなしのどちらに分類するかを決定する、操作３０６を含む。こうした分類は、例えば、ターゲット画像部分に少なくとも閾値レベルの視覚テクスチャがあるか、または外観が実質的に空白もしくは均一であることなどによって、ターゲット画像部分に閾値レベルの視覚テクスチャが欠けているか、もしくは視覚テクスチャがないかを指してもよい。例として、図５Ｂのターゲット画像部分５１１は、テクスチャありに分類されてもよく、一方、図６Ａのターゲット画像部分５１２〜５１４は、テクスチャなしに分類されてもよい。以下でより詳細に論じるように、ターゲット画像部分は、物体認識および／または物体登録に使用されうる。ステップ３０６の分類は、分類が、どのくらいの視覚テクスチャ（存在する場合）がターゲット画像部分（例えば、５１１）に存在するのかを示しうるため、物体認識に関連してもよく、視覚テクスチャによって、物体の視覚的外観に少なくとも一部基づく、物体認識操作を容易にしうる。したがって、ステップ３０６の分類は、物体認識がどのように行われるかに影響を与える場合がある。また以下にも論じるように、分類は、テンプレートが記憶される場所に影響を与えることによってなど、物体登録がどのように行われるかに影響を与える場合がある。一部の実例では、ステップ３０６は、画像分類モジュール２０４によって行われてもよい。
【００５７】
実施形態では、画像もしくは画像部分を、テクスチャありまたはテクスチャなしに分類することでは、「ＭＥＴＨＯＤ  ＡＮＤ  ＳＹＳＴＥＭ  ＦＯＲ  ＰＥＲＦＯＲＭＩＮＧ  ＩＭＡＧＥ  ＣＬＡＳＳＩＦＩＣＡＴＩＯＮ  ＦＯＲ  ＯＢＪＥＣＴ  ＲＥＣＯＧＮＩＴＩＯＮ」と題する、米国特許出願第＿＿＿＿＿＿＿＿号（弁理士整理番号ＭＪ００５１−ＵＳ／００７７−００１１ＵＳ１）で論じる一つ以上の技術を用いてもよく、その全体の内容は参照により本明細書に組み込まれる。例えば、分類の実施は、ターゲット画像部分に基づく、一つ以上のビットマップ（マスクとも呼ぶ）の生成を伴ってもよく、一つ以上のビットマップは、ターゲット画像部分が特徴検出用の視覚的特徴を有するか、またはターゲット画像部分のピクセル強度値の間に空間的変動があるかを示しうる。一例では、一つ以上のビットマップは、例えば、記述子ビットマップ、エッジビットマップ、および／または標準偏差ビットマップを含みうる。
【００５８】
一部の実施では、記述子ビットマップによって、ターゲット画像部分のどの領域が、一つ以上の記述子（一つ以上の記述子領域とも呼ぶ）によって占められるかを識別するための、もしくは一つ以上の記述子が、ターゲット画像部分の中に存在するか、もしくはターゲット画像部分から検出されるかを示すための、ヒートマップまたは確率マップを提供しうる。記述子ビットマップは、例えば、ターゲット画像部分における記述子キーポイント（存在する場合）の検出に基づいて、計算システム１０１によって生成されてもよく、記述子キーポイントによって、記述子領域の中心位置または他の位置を示しうる。一部の実例では、キーポイントの検出は、ハリスコーナー検出アルゴリズム、スケール不変特徴変換（ＳＩＦＴ：ｓｃａｌｅ−ｉｎｖａｒｉａｎｔ  ｆｅａｔｕｒｅ  ｔｒａｎｓｆｏｒｍ）アルゴリズム、高速化ロバスト特徴（ＳＵＲＦ：ｓｐｅｅｄｅｄ  ｕｐ  ｒｏｂｕｓｔ  ｆｅａｔｕｒｅｓ）アルゴリズム、加速セグメントテストからの特徴（ＦＡＳＴ：ｆｅａｔｕｒｅ  ｆｒｏｍ  ａｃｃｅｌｅｒａｔｅｄ  ｓｅｇｍｅｎｔ  ｔｅｓｔ）検出アルゴリズム、および／または配向ＦＡＳＴおよび回転二値ロバスト独立基本特徴（ＯＲＢ：ｏｒｉｅｎｔｅｄ  ＦＡＳＴ  ａｎｄ  ｒｏｔａｔｅｄ  ｂｉｎａｒｙ  ｒｏｂｕｓｔ  ｉｎｄｅｐｅｎｄｅｎｔ  ｅｌｅｍｅｎｔａｒｙ  ｆｅａｔｕｒｅｓ）アルゴリズムなどの技術を使用して行われてもよい。計算システム１０１はさらに、記述子キーポイントの検出に関連付けられたスケールパラメータ値に基づいて、存在する場合、記述子領域のそれぞれのサイズを判定するように構成されてもよい。一部の事例では、計算システムにより、記述子ビットマップによって識別される記述子の数量に基づいて、分類を行ってもよい。
【００５９】
一部の実施では、エッジビットマップは、ターゲット画像部分のどの領域が、一つ以上のエッジを包含するのかを示すための、もしくは一つ以上のエッジが、ターゲット画像部分の中に存在するか、もしくはターゲット画像部分から検出されるかを示すための、ヒートマップまたは確率マップであってもよい。計算システム１０１によって、ソーベル（Ｓｏｂｅｌ）エッジ検出アルゴリズム、プレヴィット（Ｐｒｅｗｉｔｔ）エッジ検出アルゴリズム、ラプラシアン（Ｌａｐｌａｃｉａｎ）エッジ検出アルゴリズム、キャニー（Ｃａｎｎｙ）エッジ検出アルゴリズム、または任意の他のエッジ検出技術などの技術を使用して、ターゲット画像部分の中でエッジを検出してもよい（いくつかのエッジが存在する場合）。
【００６０】
いくつかの実施形態では、標準偏差ビットマップは、ターゲット画像部分のピクセルの周りのピクセル強度値の局所的変動を記述しうるか、またはターゲット画像部分のピクセルの周りのピクセル強度値の変動の欠如を示しうる。例えば、計算システム１０１は、ターゲット画像部分の各ピクセルについて、そのピクセルを囲む画像領域のピクセル強度値間の標準偏差を決定することによって、標準偏差ビットマップを生成しうる。一部の事例では、計算システム１０１は、その最大値、最小値、または平均値など、標準偏差ビットマップの特性に基づいて分類を実行しうる。
【００６１】
いくつかの実施態様では、計算システム１０１は、一つ以上のビットマップに基づいて、ステップ３０６で分類を実行しうる。例えば、計算システム１０１は、記述子ビットマップ、エッジビットマップ、および／または標準偏差ビットマップを組み合わせて融合ビットマップおよび／またはテクスチャビットマップを生成しうる。一部の事例では、融合ビットマップまたはテクスチャビットマップは、ターゲット画像部分（例えば、５１１）の一つ以上の領域に対する照明状態の影響をさらに考慮した方法で生成されうる。融合ビットマップまたはテクスチャビットマップは、ターゲット画像部分の一つ以上のテクスチャあり領域または一つ以上のテクスチャなし領域を識別しうる。こうした場合、計算システム１０１は、ターゲット画像部分の一つ以上のテクスチャあり領域（ある場合）の総面積および／またはターゲット画像部分の一つ以上のテクスチャなし領域（ある場合）の総面積に基づいて、ターゲット画像部分（例えば、５１１）を、テクスチャありまたはテクスチャなしであると分類するように構成されうる。
【００６２】
図３を振り返ると、方法３００は、計算システム１０１の処理回路１１０がテンプレート記憶空間を選択するステップ３０８をさらに含みうる。より具体的には、テンプレート記憶空間は、上で論じた、第一のテンプレート記憶空間１８１と第二のテンプレート記憶空間１８２（感知された構造情報を選択されたテンプレート記憶空間とも称する）から選択されてもよく、その選択は、ターゲット画像部分がテクスチャありまたはテクスチャなしに分類されるかに基づきうる。上述したように、第一のテンプレート記憶空間１８１は、第二のテンプレート記憶空間１８２に比べて、より頻繁に消去されうる。例えば、第一のテンプレート記憶空間１８１は、キャッシュまたは他の短期テンプレート記憶空間として機能してもよく、一方、第二のテンプレート記憶空間１８２は、テンプレートが永久的に保存される、または削除される前に長期間（例えば、数か月または数年）にわたって保存されるテンプレート記憶空間などの長期テンプレート記憶空間として機能しうる。この実施形態では、第一のテンプレート記憶空間１８１の情報またはその他の内容は、第二のテンプレート記憶空間１８２の情報またはその他の内容よりも一時的でありうる。例として、第一のテンプレート記憶空間１８１に保存されているテンプレートは、現在パレット上にある積み重ねられた箱をパレットから降ろすなど、現在のタスク特有であってもよく、そのタスクの完了後に第一のテンプレート記憶空間１８１から削除されうる。こうした例では、第二のテンプレート記憶空間１８２のテンプレートは、現在のタスクだけでなく、後続するタスクにも関連すると考えられうる。したがって、第二のテンプレート記憶空間１８２のテンプレートは、第二のテンプレート記憶空間１８２のテンプレートがまだ後続のタスクの間に物体認識を容易にするのに利用可能なように、現在のタスク完了後にそのままそこに残りうる。言い換えれば、第二のテンプレート記憶空間１８２のテンプレートは、他のタスクに再使用されてもよく、一方、第一のテンプレート記憶空間１８１のテンプレートは特定のタスクに固有であり、他のタスクに再使用されなくてもよい。
【００６３】
実施形態では、ステップ３０８で選択されるテンプレート記憶空間は、ターゲット画像部分（例えば、５１２／５１３／５１４）がテクスチャなしであると分類する、計算システム１０１による決定に応答して、第一のテンプレート記憶空間１８１であってもよく、ターゲット画像部分（例えば５１１）がテクスチャありであると分類する、計算システム１０１による決定に応答して、第二のテンプレート記憶空間１８２であってもよい。第一のテンプレート記憶空間１８１がキャッシュまたは他の短期テンプレート記憶空間として使用され、第二のテンプレート記憶空間１８２が長期テンプレート記憶空間として使用される場合、ステップ３０８での選択は、短期テンプレート記憶空間と長期テンプレート記憶空間との間でありうる。一例では、ターゲット画像部分がテクスチャなしであると分類された場合、物体認識を実行することは、ターゲット画像部分を短期テンプレート記憶空間の既存のテンプレートと比較することを含みうる。この例では、物体登録を実行することは（実行された場合）、ターゲット画像部分に基づいて新しいテクスチャなしテンプレートを生成すること、およびテクスチャなしテンプレートを短期テンプレート記憶空間に保存することを含みうる。この例では、ターゲット画像部分がテクスチャありであると分類された場合、物体認識を実行することは、ターゲット画像部分を長期テンプレート記憶空間の既存テンプレートと比較することを含んでもよく、物体登録を実行することは（実行された場合）、ターゲット画像部分に基づいて新しいテクスチャありテンプレートを生成すること、およびテクスチャありテンプレートを長期テンプレート記憶空間に保存することを含みうる。
【００６４】
上述のように、短期テンプレート記憶空間と長期テンプレート記憶空間の組み合わせを使用することにより、物体認識動作で使用されるテンプレートを保存するために必要な記憶資源を低減すること、および高速かつ効率的な方法で物体認識動作を実行することを容易にするという技術的利点が提供される。実施形態では、物体認識は、画像取り込み装置によって取り込まれた視覚的詳細またはその他の視覚的情報を、テンプレートによって記述された視覚的詳細またはその他の視覚的情報と合致させようとする試みに基づきうる。一部の事例では、ターゲット画像部分の視覚テクスチャの存在または視覚テクスチャのレベルは、物体認識を実行するために使用可能な視覚的情報のレベルを示しうる。高レベルの視覚テクスチャは、物体認識を実行するための高レベルの視覚的情報を示してもよく、一方、低レベルの視覚テクスチャまたは視覚テクスチャの欠如は、物体認識を実行するための低レベルの視覚的情報を示しうる。したがって、テクスチャありのターゲット画像部分は、物体認識を実行するのに有益でありうるが、それは物体認識を実行するために高レベルの視覚的情報を提供しうるからである。一部の事例では、テクスチャなしのターゲット画像部分は、物体認識を実行するために、テクスチャあり画像部分ほど有益ではないかもしれないが、物体認識を実行するためのいくらかの有用性を有しうる。例えば、パレットからの積み重ねられた箱を降ろすことなどのタスク中に物体認識が実行される場合、パレット上の箱の一部または全ては、同じ小売業者または製造業者による同じ商品を保持している場合があり、したがって同じ視覚的なデザイン、またはより一般的には同じ物体デザインを有する場合がある。例えば、図４Ｂの物体４１２は、図７Ａの物体４２２と同じ物体デザイン、より具体的には同じ視覚的なデザインおよび物理的設計を有しうる。したがって、箱のうちの一つを表すターゲット画像部分に基づいてテンプレートを生成することは、そのターゲット画像部分がテクスチャなしであると分類されたとしても、テクスチャなしテンプレートが同じパレット上の他の箱の外観と合致しうるため依然として有用でありうる。一部の事例では、テクスチャなしテンプレートは、視覚的特徴の記述および物体構造の記述の両方を含んでもよく、その結果、両方のタイプの情報は、物体認識の精度を改善するために物体認識操作中にチェックされうる。しかしながら、テクスチャありおよびテクスチャなしターゲット画像部分の両方のテンプレートを生成することは、物体認識を実行することおよび／または物体登録を実行することに対して費用を追加することとなりうる。一部の事例では、追加費用は、テクスチャなしテンプレートが保存されるテンプレートの総数を増加させるため、テンプレートを保存するために必要な記憶資源の増大を含みうる。一部の事例では、追加費用は、計算システム１０１が、特定のオブジェクトの外観と合致するテンプレートを検索しようと、より多くの数のテンプレートを検索しなければならない場合があるため、パフォーマンスの遅延をもたらしうる。多数のテクスチャなしテンプレートが生成されるとき、特にテクスチャなしテンプレートが類似した視覚的特徴の記述またはその他の視覚的情報を含む場合、テクスチャなしテンプレートの一つが特定の物体の外観に誤って合致する可能性が高くなりうる。
【００６５】
実施形態では、本開示の一つの態様は、特にテクスチャなしテンプレートを保存するための第一のテンプレート記憶空間１８１を使用すること、および特にテクスチャありテンプレートを保存するための第二のテンプレート記憶空間１８２を使用することによって上記の問題に対処することに関する。第一のテンプレート記憶空間１８１は、キャッシュまたは他の短期テンプレート記憶空間として使用されてもよく、第二のテンプレート記憶空間は、長期テンプレート記憶空間として使用されてもよい。上述のように、テクスチャなしであると分類されたターゲット画像部分は、第一のテンプレート記憶空間１８１に保存される新しいテクスチャなしテンプレートを生成するため、および／または第一のテンプレート記憶空間１８１の既存のテクスチャなしテンプレートと比較するために使用されうる。同様に、テクスチャありであると分類されたターゲット画像部分は、第二のテンプレート記憶空間１８２に保存される新しいテクスチャありテンプレートを生成するため、および／または第二のテンプレート記憶空間１８２の既存のテクスチャありテンプレートと比較するために使用されうる。いくつかの実施形態では、計算システム１０１は、テクスチャなしフラグをテクスチャなしテンプレートのそれぞれと関連付け、それらをテクスチャなしであるとタグ付けするように構成されうる。この実施形態では、第二のテンプレート記憶空間１８２は、テクスチャありテンプレートを保存するために確保されてもよいが、これはその中のテンプレートの総数を制限しうる。このような結果により、テクスチャありテンプレートを保存するために必要な記憶資源が制限されうる。第二のテンプレート記憶空間１８２のテンプレートの総数が限定されることにより、計算システム１０１が物体の外観の合致を見つけるために検索が必要なテンプレートの数がさらに制限されうるため、物体認識動作のより速いパフォーマンスをもたらしうる。
【００６６】
さらに上で言及したように、第一のテンプレート記憶空間１８１は、第二のテンプレート記憶空間１８２よりも頻繁に消去される短期記憶空間でありうる。例えば、第一のテンプレート記憶空間１８１は、特定のパレットから降ろすタスクに関与する箱など、特定のタスクに関与する物体に基づいて生成されるテクスチャなしテンプレートを保存しうる。パレットから降ろすタスクがすべての容器またはその他の物体をパレットから所望の目的地へと移動させることを含む場合、そのタスクはパレットから降ろすサイクルと称されうる。このような例では、テクスチャなしテンプレートは、パレットから降ろすサイクルの完了後、第一のテンプレート記憶空間１８１から消去されうる。上述のように、テクスチャなしテンプレートは、例えば、箱または他の物体の一部または全てが共通の視覚的なデザイン、またはより一般的には共通の箱設計を有する可能性があるため、同じパレットから降ろすサイクルに関与するパレットから降ろされる物体に対して有用でありうる。これらのテクスチャなしテンプレートは、二つの異なるパレットから降ろすサイクルからの箱が共通する視覚的なデザインを共有する可能性が低いため、あるパレットから降ろすサイクル中に、別の積み重ねられた箱をパレットから降ろすなど、後続のタスクに対して、有益性または関連性が低くなりうる。したがって、テクスチャなしテンプレートは、先のタスクの完了後に、第一のテンプレート記憶空間１８１、またはその他の任意のテンプレート記憶空間から消去されうる。第一のテンプレート記憶空間１８１からテンプレートを消去することは、テンプレートに対するポインターまたは参照を削除すること、またはテンプレートが上書きできるように、テンプレートによって占有された第一のテンプレート記憶空間１８１の一部分を割当解除することなどによって、テンプレートを削除することを含みうる。一部の事例では、後続のパレットから降ろすサイクルまたはその他のタスクが開始したとき、第一のテンプレート記憶空間１８１は空または空であるとマークされる場合があり、後続のパレットから降ろすサイクル中に第一のテンプレート記憶空間１８１に保存された任意のテクスチャなしテンプレートはそのサイクルに関与する物体に特定でありうる。第一のテンプレート記憶空間１８１を消去することは、その中のテンプレートの総数を制限することによって、第一のテンプレート記憶空間１８１に必要な記憶資源を減少させうる。第一のテンプレート記憶空間１８１を消去することは、計算システム１０１がテキストなしターゲット画像部分またはその他のターゲット画像部分との合致を見つけようと試みるとき、検索せねばらないテクスチャなしテンプレートの数を低減させることによって、物体認識動作のより速いパフォーマンスをさらにもたらしうる。一部の事例では、テクスチャなしフラグに関連付けられた全てのテンプレートが、第一のテンプレート記憶空間１８１にあるかどうかに関わらず、消去されうる。いくつかの例では、第一のテンプレート記憶空間１８１は、一度に多くても数個のテンプレートが保存されうる。第一のテンプレート記憶空間１８１の少数のテンプレートは、計算システム１０１が特定のターゲット画像部分に合致するとしてテンプレートの一つを誤って識別する可能性をさらに低減しうる。
【００６７】
実施形態では、図３の方法３００は、計算システム１０１の処理回路１１０が物体認識を実行するステップ３１０を含んでもよく、これは、ステップ３０４で生成されたターゲット画像部分およびステップ３０８で選択されたテンプレート記憶空間に基づきうる。一部の事例では、ステップ３１０は、物体認識モジュール２０７によって実行されうる。物体認識の結果は、例えば、ターゲット画像部分（例えば、物体４１１）によって表される物体とのロボット相互作用を制御するため、またはより詳細に以下で述べるように、例えば、在庫管理を実行するための物体登録を実行するかどうかを決定するために使用されうる。
【００６８】
一部の事例では、ステップ３１０を実行することは、選択されたテンプレート記憶空間が既にターゲット画像部分と合致するテンプレートを含むかどうかを判断することを含みうる。選択されたテンプレート記憶空間にターゲット画像部分と合致するテンプレートがない場合、計算システム１０１は、ターゲット画像部分に基づいてテンプレートを生成することにより物体登録動作を実行しうる。一部の実例では、テンプレートは合致に失敗した場合にのみ生成される。例えば、図５Ｃは、テクスチャありであるとステップ３０６で分類されたターゲット画像部分５１１一例を図示し、第二のテンプレート記憶空間１８２がステップ３０８で選択される。この例では、ターゲット画像部分５１１は、テクスチャありテンプレートを保存する長期テンプレート記憶空間として使用されうる第二のテンプレート記憶空間１８２の既存テンプレートと比較される。いくつかの実施では、テンプレート記憶空間１８２（および／または第一のテンプレート記憶空間１８１）内のテンプレートは、特定の視覚的なデザイン、またはより一般的には特定の物体デザインと関連付けられた一つ以上の視覚的特徴（ある場合）を記述する視覚的特徴の記述を含みうる。一つ以上の視覚的特徴は、視覚的なデザインに関連付けられた視覚的詳細または視覚的マーキングの存在、または視覚的詳細または視覚的マーキングの特徴を意味しうる。一部の実例では、視覚的特徴の記述は、こうした視覚的詳細を再現する画像情報を含んでもよく、またはこうした視覚的詳細をコードする一つ以上の記述子を含んでもよい。このような実施では、計算システム１０１は、テンプレートに含まれた視覚的特徴の記述が、ターゲット画像部分（例えば、５１１）において、有る場合、視覚的詳細と合致するかどうかを判断することによって、物体認識動作を実行しうる。例えば、計算システム１０１は、ターゲット画像部分（例えば、５１１）を記述する記述子を生成するように、およびその記述子が選択されたテンプレート記憶空間（例えば、１８２）のテンプレートのいずれかの視覚的特徴の記述に合致するかどうかを判定するように構成されうる。一部の実例では、ターゲット画像部分が、既存のテンプレートの一つと合致する場合、合致するテンプレートは、何の物体、オブジェクトのタイプ、またはターゲット画像部分によって表される物体デザインに関する仮説でありうる検出仮説を生成するために使用されうる。
【００６９】
図５Ｃに図示するように、計算システム１０１は、ターゲット画像部分５１１がテクスチャありであると分類されるため、ターゲット画像部分５１１を第二のテンプレート記憶空間１８２のテクスチャありテンプレートと比較しうる。実施形態では、ターゲット画像部分５１１は、第二のテンプレート記憶空間１８２のテンプレートのみと比較されうる。別の実施形態では、図５Ｄに図示するように、計算システム１０１は、第二のテンプレート記憶空間１８２のテクスチャありテンプレートおよび第一のテンプレート記憶空間１８１のテクスチャなしテンプレート（存在する場合）を含む既存の保存されたテンプレート全てとターゲット画像部分５１１を比較しうる。
【００７０】
一部の実例では、ターゲット画像部分が、選択されたテンプレート記憶空間１８２の既存のテンプレートの一つと合致する場合、合致するテンプレートは、ターゲット画像部分（例えば、５１１）によって表される物体の物理構造を記述する物体構造の記述を含みうる。例えば、物体構造の記述は、物体（例えば、４１１）の物体サイズまたは物体形状を記述しうる。一部の事例では、合致するテンプレートの物体構造の記述を使用して、以下により詳細に述べるように、物体とロボットとの相互作用を計画および／または制御しうる。
【００７１】
一部の実例では、計算システム１０１の処理回路１１１が、選択されたテンプレート記憶空間がターゲット画像部分（例えば、５１１）と合致するテンプレートを有さないと決定した場合、計算システム１０１は、ターゲット画像部分（例えば、５１１）に基づいて新しいテンプレートを生成し、新しいテンプレートを選択されたテンプレート記憶空間に保存させることによって物体登録を実行してもよい。一部の実例では、新しいテンプレートは、第一のテンプレート記憶空間１８１および／または第二のテンプレート記憶空間１８２のテンプレートのいずれも、ターゲット画像部分（例えば、５１１）と合致しないという決定に応答して生成されうる。図５Ｃ〜５Ｅは、ターゲット画像部分５１１が、第二のテンプレート記憶空間１８２の既存のテンプレート（テンプレート１〜ｎ）いずれとも合致しない、または（第一のテンプレート記憶空間１８１および第二のテンプレート記憶空間１８２を含む）既存の保存されたテンプレートのいずれともと合致しない、例を図示する。図５Ｅに図示するように、計算システム１０１は、ターゲット画像部分５１１と関連する視覚的なデザイン、およびより一般的にはターゲット画像部分５１１によって表される物体４１１の物体デザインを記述する、新しいテクスチャありテンプレート、すなわちテンプレートｎ＋１を生成しうる。例えば、テンプレートｎ＋１は、物体４１１の上表面に印刷された絵柄４１１Ａを記述しうる。より具体的には、新しいテンプレートは、絵柄４１１Ａまたはターゲット画像部分５１１に現われるその他の視覚的マーキングを再現、または絵柄４１１Ａの様々な視覚的特徴を記述する記述子を含みうる。新しいテンプレートは、長期テンプレート記憶空間として作用しうる、第二のテンプレート記憶空間１８２に保存されうる。一部の事例では、空間構造感知装置（例えば、４４２）が、物体４１１と関連付けられた物体を記述する感知された構造情報を生成するために方法３００で使用される場合、計算システム１０１は、感知された構造情報に基づいて物体構造の記述を生成し、新しいテンプレートに物体構造の記述を含みうる。物体構造の記述は、物体４１１の例えば物体サイズまたは物体形状を記述しうる。
【００７２】
一部の事例では、計算システム１１１は、計算システム１０１が、選択されたテンプレート記憶空間がターゲット画像部分（例えば５１１）と合致するテンプレートを有しないと決定した場合、または計算システム１０１が、テンプレート記憶空間１８１、１８２のいずれもターゲット画像部分と合致するテンプレートを有しないと決定した場合、最小実行可能領域（ＭＶＲ）の検出を試みるように構成されうる。最小実行可能領域は、その内容全体が参照により本明細書に組み込まれる「ＡＵＴＯＭＡＴＥＤ  ＰＡＣＫＡＧＥ  ＲＥＧＩＳＴＲＡＴＩＯＮ  ＳＹＳＴＥＭＳ，  ＤＥＶＩＣＥＳ，  ＡＮＤ  ＭＥＴＨＯＤＳ」と題された米国特許出願第１６／４４３，７４３号により詳細に記載される。一部の事例では、ＭＶＲ検出は、ターゲット画像部分（例えば、５１１）がテクスチャありであると分類され、選択されたテンプレート記憶空間（例えば、１８２）に合致するテンプレートがないという決定、またはテンプレート記憶空間１８１、１８２の全てに合致するテンプレートがないという決定の両方に応答して実行されうる。ＭＶＲ検出は、物体のエッジまたはコーナーの位置を推定するために、ターゲット画像部分上実行されてもよく、例えば、物体とロボットとの相互作用を制御する、および／または上述の新しいテンプレートを生成するために、その位置を使用しうる。より具体的には、計算システム１０１は、一実施形態において、ターゲット画像部分（例えば、５１１）のコーナーまたはエッジのうちの少なくとも一つを検出し、少なくともコーナーまたはエッジによって画定される領域を決定しうる。例えば、計算システム１０１は、コーナーまたはエッジがターゲット画像部分（例えば、５１１）または受信した画像（例えば、５０１）に表示されるピクセル座標を決定し、エッジまたはコーナーによって囲まれたターゲット画像部分または画像の領域を決定しうる。決定された領域は、上述の新しいテンプレートを生成するため、および／または、ロボット動作を制御するための移動指令を決定することによってなど、物体とロボットとの相互作用を計画するために使用されうる。
【００７３】
上述のように、ターゲット画像部分５１１は、一部のシナリオでは、画像取り込み装置（例えば、４４１）の視野（例えば、４４３）の複数の物体のうちの一つを表しうる。一部の実例では、計算システム１０１は、第一のテンプレート記憶空間１８１または第二のテンプレート記憶空間１８２のいずれかに追加されたそれぞれの新しいテンプレートを、複数の物体の対応する物体のそれぞれのターゲット画像部分に基づかせるように構成されうる。実施形態では、本明細書に記載の様々なステップ（例えば、３０４〜３１０）は、ステップ３０２で受信される各画像（例えば、５０１）に対して複数回実行されうる。例えば、ステップ３０４〜３１０は、物体４１１〜４１４を表す、受信した画像５０１で表される複数の物体のそれぞれの物体に対して実行されうる。
【００７４】
より具体的には、図５Ａ〜５Ｅに関与する上述は、物体４１１を表す、ターゲット画像部分５１１に対するステップ３０４〜３１０の実行に関連する。図６Ａは、それぞれ物体４１２、４１３、および４１４を表す、ターゲット画像部分５１２、５１３、および５１４を生成するために適用されるステップ３０４を図示する。ターゲット画像部分５１２〜５１４は、ステップ３０４のいくつかの反復にわたって生成されてもよく、または一回の反復で生成されてもよい。一部の事例では、ターゲット画像部分５１２〜５１４は、画像５０１から抽出されうる。計算システム１０１は、ターゲット画像部分５１２〜５１４をテクスチャありまたはテクスチャなしであると分類することによって、それらに対してステップ３０６をさらに実行しうる。一部の実施では、計算システム１０１は、視覚テクスチャを有さない場合がある、または定義されたレベルの視覚テクスチャを有さない場合があるため、ターゲット画像部分５１２〜５１４をテクスチャなしであると分類しうる。分類の結果、計算システム１０１は、ターゲット画像部分５１２〜５１４のそれぞれに対して第一のテンプレート記憶空間１８１を選択することにより、ステップ３０８を実行してもよく、選択されたテンプレート記憶空間、すなわち第一のテンプレート記憶空間１８１に基づいて、ステップ３１０で物体認識を実行しうる。
【００７５】
図６Ｂは、物体認識および／または物体登録がターゲット画像部分５１２、またはより一般的にはターゲット画像部分５１２で表される物体４１２に対して実行される一例を図示する。実施形態では、物体認識動作は、選択された第一のテンプレート記憶空間１８１がターゲット画像部分５１２と合致するテンプレートを有するかどうかを決定する計算システム１０１を含みうる。この例では、計算システム１０１は、第一のテンプレート記憶空間１８１が空であり、従ってターゲット画像部分５１２と合致するテンプレートを持たないと決定する。図６Ｂの第一のテンプレート記憶空間は、前のロボットのタスク（例えば、前のパレットから降ろすサイクル）の完了後に消去されている可能性があるため、空でありうる。一部の実施形態では、計算システム１０１は、第一のテンプレート記憶空間１８１のみにおいて、ターゲット画像部分５１２に対して合致するテンプレートを検索しうる。他の実施形態では、計算システム１０１は、第一のテンプレート記憶空間１８１および第二のテンプレート記憶空間１８２の両方において、ターゲット画像部分５１２に対して合致するテンプレートを検索しうる。図６Ｂの例では、計算システム１０１は、ターゲット画像部分５１２に対応する合致テンプレートがないと決定し、図６Ｃに示すように、ターゲット画像部分５１２に基づいて新しいテクスチャなしテンプレートを生成し、新しいテクスチャなしテンプレートをテンプレート１として第一のテンプレート記憶空間１８１（例えば、テンプレートキャッシュに）に保存させることにより物体登録動作をさらに実行しうる。テンプレートは、例えば、物体４１２の外観を記述する、またはより具体的にはターゲット画像部分５１２を記述する視覚的特徴の記述を含みうる。例えば、視覚的特徴の記述は、ターゲット画像部分５１２自体を含んでもよく、またはターゲット画像部分５１２の視覚的詳細をコードする記述子を含んでもよい。一部の実施では、空間構造感知装置４４２が方法３００で使用される場合、計算システム１０１は、ターゲット画像部分５１２によって表される物体４１２（例えば、物体サイズまたは物体形状）の構造を記述する物体構造の記述を生成するために、空間構造感知装置４４２によって生成された空間構造情報を受信しうる。こうした実施における計算システム１０１は、新しいテンプレートの一部として物体構造の記述を含みうる。
【００７６】
図６Ｄは、ターゲット画像部分５１３、またはより一般的にはターゲット画像部分５１３によって表される物体４１３に対して物体認識が実行される一例を図示する。図６Ｄの例では、第一のテンプレート記憶空間１８１は、（ターゲット画像部分５１２に基づいて生成された）テンプレート１を含んでもよく、計算システム１０１は、例えば、テンプレート１の視覚的特徴の記述がターゲット画像部分５１３と合致するかどうかを決定するように構成されうる。上述のように、計算システム１０１は、第一のテンプレート記憶空間１８１のみから合致するテンプレートを見つける、または第一のテンプレート記憶空間１８１および第二のテンプレート記憶空間１８２から合致するテンプレートを見つける試みをしうる。この例では、計算システム１０１は、ターゲット画像部分５１３がテンプレート１と合致しない、またはより一般的には、合致するテンプレートがないと決定しうる。結果として、計算システム１０１は、図６Ｅに示すように、ターゲット画像部分５１３に基づいて新しいテクスチャなしテンプレートを生成し、新しいテンプレートを第一のテンプレート記憶空間１８１にテンプレート２として保存することによって、物体登録を実行しうる。テンプレート２は視覚的詳細をほとんどまたは全く記述しないが、その対応する物体（例えば、４１３）に関連する一部の詳細を記述してもよく、それは後のその他の物体との比較に有用でありうる。例えば、テンプレート２は、対応する物体の上表面またはその他の表面に関連するアスペクト比を記述しうる。アスペクト比は、例えば、その表面の長さと幅との間の比を記述しうる。計算システムは、後でテンプレートに記載されたアスペクト比を、他の物体のアスペクト比と比較するように構成されうる。
【００７７】
同様に、図６Ｆは、ターゲット画像部分５１４、またはより一般的にはターゲット画像部分５１４によって表される物体４１４に対して物体認識が実行される一例を図示する。より具体的には、計算システム１０１は、ターゲット画像部分５１４が第一のテンプレート記憶空間１８１内の既存のテンプレート１およびテンプレート２と合致するかどうかを決定することによってなど、ターゲット画像部分５１４に対して合致するテンプレートがあるかどうかを決定しうる。この例では、計算システム１０１は、いずれのテンプレートもターゲット画像部分５１４と合致しないと決定してもよい。結果として、計算システム１０１は、図６Ｇに示すように、ターゲット画像部分５１４に基づいて新しいテクスチャなしテンプレートを生成し、新しいテンプレートを第一のテンプレート記憶空間１８１にテンプレート３として保存することによって、物体登録をさらに実行しうる。
【００７８】
上述のように、計算システム１０１は、視覚的特徴の記述の代わりに、またはそれに加えて、図６Ｇのテンプレート１、２、または３など、テクスチャなしテンプレートの物体構造の記述を含みうる。一部の事例では、テクスチャなしであるターゲット画像部分（例えば、５１３／５１４）がテクスチャなしテンプレート（例えば、テンプレート１またはテンプレート２）と合致するかどうかを決定することは、一部の場合、構造における合致、またはより具体的には、対応する物体（例えば、４１３／４１４）の構造と粒子状テンプレートの物体構造の記述との間における合致があるかどうかを決定することを含みうる。例えば、計算システム１０１は、物体を表すターゲット画像部分（例えば、５１４）を抽出して、その物体（例えば、４１４）に関する感知された構造情報を受信しうる。こうした例では、計算システム１０１は、（感知された構造情報で記述される通りの）物体の構造がテンプレートの物体構造の記述と合致するかどうかを決定することによって、物体（例えば、４１４）がテンプレート（例えば、図６Ｆのテンプレート１またはテンプレート２）と合致するかどうかを決定しうる。一部の事例では、物体構造の記述に基づく合致を決定することにより、物体認識の頑健性または信頼性が改善されうる。より具体的には、テクスチャなしテンプレートが、比較的少ない視覚的詳細を有する画像部分に基づいて生成されているため、視覚的外観に基づいて物体認識を実行することのみでは、最適な頑健性または信頼性を欠く場合がある。したがって、物体認識は、物体（例えば、４１４）のターゲット画像部分（例えば、５１４）がテンプレートの視覚的特徴の記述と合致するかどうか、および物体（例えば、４１４）の検知された構造情報がテンプレートの物体構造の記述と合致するかどうかの両方を決定することなどにより、物体構造の記述に記述された物理構造に代替的または追加的に基づきうる。
【００７９】
実施形態では、計算システム１０１が、テクスチャありターゲット画像部分（例えば、５１１）によって表される物体（例えば、４１１）に対して合致するテンプレートを検索しよう試みている場合、計算システム１０１は、物体の外観および物体の物理構造の両方に合致するテクスチャありテンプレートを見つける、または合致する外観だけで十分であると決定することを試みうる。一部の事例では、テクスチャありターゲット画像部分（例えば、５１１）およびテクスチャありテンプレートは、物体の物理構造が考慮されていない時でさえも、物体の視覚的外観のみに基づいて正確な物体認識が実行されるように十分な視覚的詳細を含みうる。
【００８０】
実施形態では、計算システム１０１は、それらがテクスチャなしであると示す値にテンプレートのテンプレートパラメータを設定することなどにより、テクスチャなしテンプレートのそれぞれをテクスチャなしフラグと関連付けうる。一例として、図６Ｈは、第一のテンプレート記憶空間１８１のテンプレート１からテンプレート３のそれぞれに含まれるテクスチャなしフラグを図示する。一部の事例では、パレットから降ろすサイクルまたは他のタスクが完了した時に、計算システム１０１は、テクスチャなしフラグを有する全てのテンプレートを検索および削除するように構成されうる。
【００８１】
図６Ｉは、テクスチャなしフラグを含む別の実施形態を図示する。上記の実施形態が、第一のテンプレート記憶空間１８１（例えば、テンプレートキャッシュ）および第二のテンプレート記憶空間１８２（例えば、長期テンプレートデータベース）を含む一方、図６Ｉは、第一のテンプレート記憶空間１８１および第二のテンプレート記憶空間１８２が、単一のテンプレート記憶空間１８３（例えば、単一ファイルまたは単一データベース）によって置き換えられた代替的実施形態を示す。この代替的実施形態では、方法３００は、ステップ３０８の選択を省略するように修正されてもよく、テンプレート記憶空間１８３のテンプレートに基づいて、ステップ３１０の物体認識を実行してもよい。例えば、計算システム１０１は、ターゲット画像部分（例えば、５１１）に合致するテンプレートのテンプレート記憶空間１８３を検索しうる。図６Ｉに図示するように、計算システム１０１は、物体登録中に、テンプレート記憶空間１８３に新しく生成されたテンプレートを保存し、テクスチャなしであるテンプレートにテクスチャなしフラグを含む。パレットから降ろすサイクルまたは他のタスクが完了した時に、計算システム１０１は、テクスチャなしフラグを有する、テンプレート記憶空間１８３の全てのテンプレートを検索および削除しうる。
【００８２】
図３に戻ると、方法３００は、一実施形態において、計算システム１０１の処理回路１１０が、物体４１１〜４１４のうちの一つなどのステップ３０４のターゲット画像部分によって表される少なくとも一つの物体とロボット相互作用を生じさせるための移動指令を生成するステップ３１２をさらに含みうる。一部の事例では、ステップ３１２は、動作計画作成モジュール２０８によって実行されうる。実施形態では、移動指令は、箱またはその他の物体をパレットから拾い上げ、物体を所望の目的地に移動させるなどの、ロボットのタスクの動作計画に使用されうる。移動指令は、物体認識の結果に基づいて生成されうる。例えば、物体認識の結果が、テンプレート記憶空間の既存のテンプレート（ある場合）と合致しないことを示し、物体の外観に基づいて新しいテンプレートを生成するように物体登録を実行する場合、移動指令は新しいテンプレートに基づきうる。一例として、物体４１１が、ロボット４６１が物体４１１を拾い上げることを含むパレットから降ろすタスクの一つのターゲットである場合、計算システム１０１は、物体４１１に基づいた、またさらに具体的には、その関連するターゲット画像部分５１１に基づいた、図５Ｅのテンプレートｎ＋１に基づく移動指令を生成しうる。計算システム１０１は、ロボット４６１によって受信されて物体４１１と相互作用しうる移動指令を出力しうる。別の例として、物体４１２が、パレットから降ろすタスクの別のターゲットである場合、計算システム１０１は、物体４１２、またはさらに具体的には、その関連するターゲット画像部分５１２に基づいた、図６Ｃ〜６Ｉのテンプレート１に基づく移動指令を生成しうる。実施形態では、移動指令は、新しいテンプレートの物体構造の記述（ある場合）に基づいて生成されうる。一部の事例では、物体認識および／または物体登録がＭＶＲ検出に基づく領域を識別する場合、移動指令は識別された領域に基づきうる。例えば、移動指令は、ロボットのエンドエフェクターを識別された領域に対応する位置に移動させるように生成されうる。
【００８３】
実施形態では、物体認識の結果が、選択されたテンプレート記憶空間（例えば、１８１／１８２）のテンプレートとオブジェクトの外観、またはより具体的にはターゲット画像部分との間の合致がある場合、計算システム１０１は、合致するテンプレートに基づいて移動指令を生成するように構成されうる。一部の事例では、移動指令は、合致するテンプレートの物体構造の記述に基づいて生成されうる。
【００８４】
実施形態では、計算システム１０１がロボット（例えば、４６１）をターゲット画像部分によって表される物体と相互作用させるための移動指令を生成する場合、移動指令は、ターゲット画像部分がテクスチャありまたはテクスチャなしであるかに基づきうる。例えば、ステップ３１０の物体認識がテクスチャなしであるターゲット画像部分に基づいて実行される場合、物体認識の信頼レベルは、ターゲット画像部分がテクスチャありである状況と比較して低いと考えられうる。このような状況では、ステップ３１２の計算システム１０１は、ロボットが物体を拾い上げる、そうでなければ物体と相互作用しようと試みるとき、ロボット（例えば４６１）の速度を制限する方法で移動指令を生成してもよく、その結果、ロボット相互作用はより高いレベルの注意を払いながら進められうる。
【００８５】
実施形態では、画像取り込み装置（例えば、４４１）が、ステップ３１２で生成された移動指令の結果としてロボット（例えば４６１）によって物体が動かされた後に更新画像を生成する場合、計算システム３０１は、更新画像に基づいて、ステップ３０２〜３１２の一部またはすべてを繰り返すように構成されうる。一部の事例では、更新画像は、物体が移動されるたびに生成されうる。例えば、図７Ａは、（図４Ａの）物体４１２がロボット４６１によって画像取り込み装置４４１の視野４４３の外側にある目的地に移動された一例を図示する。物体４１１が移動された後、画像取り込み装置４４１は、残りの物体、すなわち物体４１１、４１３、４１４、および４２１〜４２４を表す図７Ｂに図示される更新画像５０２を生成しうる。
【００８６】
実施形態では、計算システム１０１は、更新画像５０２を受信するため、物体４２２を表す画像５０２の一部でありうるターゲット画像部分５２２を生成するため、ステップ３０２および３０４を再び実行しうる。このような実施形態では、計算システム１０１は、ターゲット画像部分５２２をテクスチャありまたはテクスチャなしであると分類すること、その分類に基づいてテンプレート記憶空間を選択すること、およびその選択されたテンプレート記憶空間に基づいて物体認識を実行することによって、ステップ３０６〜３１０を再び実行しうる。一例として、ターゲット画像部分５２２は、テクスチャなしであると分類されうる。結果として、計算システム１０１は、図６Ｇまたは６Ｈの三つのテンプレートを含みうる第一のテンプレート記憶空間１８１を選択しうる。図７Ｃに図示するように、計算システム１０１は、ターゲット画像部分５２２が第一のテンプレート記憶空間１８１のテンプレートの視覚的特徴の記述および／または物体構造の記述と合致するかどうかを決定する物体認識動作を実行するように構成されうる。一部の事例では、この決定は第一のテンプレート記憶空間１８１に限定されず、計算システム１０１は、ターゲット画像部分５２２が、第一のテンプレート記憶空間１８１のテンプレート、または第二のテンプレート記憶空間１８２のテンプレートと合致するかを決定しうる。図７Ｃの例では、計算システム１０１は、ターゲット画像部分５２２が、第一のテンプレート記憶空間１８１のテンプレート１と合致すると決定しうる。合致の結果、物体登録動作が省略されうるため、新しいテンプレートは生成されない。一部のシナリオでは、計算システム１０１は、物体認識の結果に基づいて移動指令を生成することによって、ステップ３１２を繰り返しうる。例えば、テンプレート１がターゲット画像部分５２２と合致し、特定の物体構造を記述する物体構造の記述を含む場合、移動指令は物体構造の記述に基づいて生成されうる。
【００８７】
一部の実例では、上述の更新画像は、物体の層全体が移動されるたびに生成されうる。例えば、図８Ａは、図４Ａのスタックの層４１０の物体４１１〜４１４がロボット４６１によって画像取り込み装置４４１の視野４４３の外側にある目的地に移動された一例を示す。図８Ｂは、視野４４３に残る層４２０の物体４２１〜４２４を表す更新画像５０３を図示する。実施形態では、計算システム１０１は、ターゲット画像部分５２１〜５２４などの一つ以上のターゲット画像部分を、更新画像５０３から抽出するように構成されうる。抽出されたターゲット画像部分５２１〜５２４は、それぞれ物体４２１〜４２４を表しうる。この実施形態では、計算システム１０１は、ターゲット画像部分５２１〜５２４のそれぞれについて、ステップ３０４〜３１２の一部またはすべてを繰り返すように構成されうる。例えば、図８Ｃは、ターゲット画像部分５２１〜５２３のそれぞれがテクスチャなしであると分類される一例を示すが、これによって、計算システム１０１は、それらのターゲット画像部分に基づいて物体認識を実行するために、第一のテンプレート記憶空間１８１を選択しうる。一部のシナリオでは、物体認識は、計算システム１０１が、ターゲット画像部分５２２がテンプレート１と合致し、ターゲット画像部分５２３がテンプレート３と合致すると決定する結果をもたらしうる。一部の実例では、計算システム１０１は、ターゲット画像部分５２１から決定されたアスペクト比がテンプレート２に記述されたアスペクト比と合致すると決定することなどによって、ターゲット画像部分５２１がテンプレート２と合致すると決定しうる。
【００８８】
図８Ｄは、ターゲット画像部分５２４がテクスチャありであると分類される一例をさらに図示する。結果として、計算システム１０１は、物体認識を実行するための第二のテンプレート記憶空間１８２を選択しうる。この例では、物体認識は、計算システム１０１が、ターゲット画像部分５２４が第二のテンプレート記憶空間１８２のテンプレートｎ＋１と合致すると決定することをもたらしうる（これにより計算システム１０１はターゲット画像部分５２４に対する物体登録動作の実行をスキップしうる）。
【００８９】
実施形態では、物体認識のための第一のテンプレート記憶空間１８１と第二のテンプレート記憶空間１８２との間の選択は、新規テンプレート（ある場合）が物体登録動作のために保存される場所、および／またはテクスチャなしフラグが新しいテンプレートに含まれているかどうかに影響をしうる。既存のテンプレートに基づいて実行される物体認識は、選択したテンプレート記憶空間のみを使用して実行されてもよく、または第一のテンプレート記憶空間１８１および第二のテンプレート記憶空間１８２の両方を使用して実施されてもよい。例えば、図８Ｅは、ターゲット画像部分５２１〜５２４に対する物体認識が、合致するテンプレートのために、第一のテンプレート記憶空間１８１および第二のテンプレート記憶空間１８２の両方を検索することを含む。
【００９０】
上述のように、第一のテンプレート記憶空間１８１は、第二のテンプレート記憶空間１８２と比較してより頻繁に消去される短期テンプレート記憶空間でありうる。一部の事例では、計算システム１０１は、ロボットのタスクの完了時または完了後まもなく、第一のテンプレート記憶空間１８１のテンプレートを消去するように構成されうる。例えば、図９Ａは、パレットから降ろすサイクルが完了する状況を示す。図９Ｂは、こうした状況において画像取り込み装置４４１によって生成された画像５０４を示す。この例では、物体のパレットに属する物体４１１〜４１４、４２１〜４２４のすべてが、ロボット４６１によって拾い上げられ、所望の目的地に移動されうる。図９Ａおよび９Ｂに示すように、画像取り込み装置４４１の視野４４３に残る箱または他のターゲットの物体がない場合がある。一部の事例では、計算システム１０１は、ロボット４６１とのロボット相互作用のために残っている物体が現在ない場合に、パレットから降ろすタスクまたは他のロボットのタスクが完了したと決定するように構成されうる。このような決定に応答して、計算システム１０１は、第二のテンプレート記憶空間１８２を消去することなく、第一のテンプレート記憶空間１８１を消去するように構成されうる。例えば、図９Ｃは、第二のテンプレート記憶空間１８２のテンプレート１からテンプレートｎ＋１がそのテンプレート記憶空間に残っている間、（図８Ｃの）第一のテンプレート記憶空間１８１のテンプレート１からテンプレート３をそこから消去させる計算システム１０１を図示する。上述のように、テンプレートは、テンプレートへのポインターまたは参照を除去することによって消去されうるため、それ以上それらにアクセスすることができない。一部の事例では、テンプレートによって占有されていたテンプレート記憶空間１８１の一部分を割当解除することによってテンプレートを消去しうるため、割り当て解除された部分が他のデータで上書きできる。図９Ｄは、テクスチャなしテンプレートが消去される別の例を示す。図９Ｄの例は、第一のテンプレート記憶空間１８１および第二のテンプレート記憶空間１８２が単一のテンプレート記憶空間１８３によって置き換えられる代替的な実施形態に適用される。この例では、計算システム１０１は、テクスチャなしフラグ（図６Ｉに示す）を含むテンプレート記憶空間１８３のすべてのテンプレートを検索し、これらのテンプレートを削除しうる。
【００９１】
実施形態では、図３の方法３００は、その図のステップの一つ以上を省略することができる、および／または一つ以上の他のステップを加えることができる。例えば、方法３００には、一部の場合、物体認識および／または物体登録が検証されるステップが含まれうる。こうした検証ステップは、ステップ３１０での物体認識の後、および／またはステップ３１２での移動指令生成の前に実施されうる。一部の実例では、方法３００は、ステップ３１２を省略するように修正されうる。一部の事例では、方法３００は、ステップ３１０での物体認識の結果に基づいて、および／または物体登録に基づいて、在庫管理を実行するステップを含みうる。こうしたステップは、例えば、画像取り込み装置（例えば、４４１）および／または空間構造感知装置（例えば、４４２）の視野にある物体または物体のタイプを追跡しうる。
【００９２】
様々な実施形態に関する追加の考察
【００９３】
実施形態１は、通信インターフェースおよび少なくとも一つの処理回路を含む計算システムに関する。通信インターフェースは、ロボットおよび画像取り込み装置と通信するように構成される。少なくとも一つの処理回路は、一つ以上の物体が、画像取り込み装置の視野の中にあるまたはあったとき、一つ以上の物体を表すための画像を取得することを含む方法を行うように構成され、画像は、画像取り込み装置によって生成される。方法はさらに、画像から、一つ以上の物体のうちの物体に関連付けられた画像の一部分であるターゲット画像部分を生成することと、ターゲット画像部分をテクスチャありまたはテクスチャなしのどちらに分類するかを決定することと、を含む。方法はまた、ターゲット画像部分がテクスチャありまたはテクスチャなしのどちらに分類されるかに基づいて、第一のテンプレート記憶空間および第二のテンプレート記憶空間の中から、テンプレート記憶空間を選択することを含み、第一のテンプレート記憶空間は、第二のテンプレート記憶空間と比べてより頻繁に消去され、第一のテンプレート記憶空間は、ターゲット画像部分をテクスチャなしに分類する決定に応じて、テンプレート記憶空間として選択され、第二のテンプレート記憶空間は、ターゲット画像部分をテクスチャありに分類する決定に応じて、テンプレート記憶空間として選択される。方法はさらに、ターゲット画像部分および選択されたテンプレート記憶空間に基づいて、物体認識を行うことを含む。方法は加えて、少なくとも物体とのロボット相互作用を引き起こすための移動指令を生成することを含み、移動指令は、物体認識からの結果に基づいて生成される。
【００９４】
実施形態２は、実施形態１の計算システムを含む。この実施形態では、少なくとも一つの処理回路は、選択されたテンプレート記憶空間が、ターゲット画像部分に合致するテンプレートを含むかどうかを判定することによって、物体認識を行うように構成される。
【００９５】
実施形態３は、実施形態１または２の計算システムを含む。この実施形態では、少なくとも一つの処理回路は、選択されたテンプレート記憶空間が、ターゲット画像部分に合致する視覚的特徴の記述を有する一つ以上のテンプレートを含むかどうかを判定することによって、物体認識を行うように構成される。すなわち、処理回路によって、選択されたテンプレート記憶空間が、合致する視覚的特徴の記述を有する任意のテンプレートを有するかどうかを検出してもよい。
【００９６】
実施形態４は、実施形態１〜３のうちのいずれか一つの計算システムを含む。この実施形態では、通信インターフェースは空間構造感知装置と通信するように構成され、少なくとも一つの処理回路は、物体に関連付けられた物体構造を記述するために、感知された構造情報を受信するように構成され、感知された構造情報は、空間構造感知装置によって生成される。さらに、少なくとも一つの処理回路は、ターゲット画像部分をテクスチャなしに分類する決定に応じて、選択されたテンプレート記憶空間が、感知された構造情報に合致する物体構造の記述を有する任意のテンプレートを含むかどうかをさらに判定することによって、物体認識を行うように構成される。
【００９７】
実施形態５は、実施形態１〜４のうちのいずれか一つの計算システムを含む。この実施形態では、少なくとも一つの処理回路は、選択されたテンプレート記憶空間が、ターゲット画像部分に合致するテンプレートを含むという判定に応じて、テンプレートに基づいて、移動指令を生成するように構成される。
【００９８】
実施形態６は、実施形態１〜５のうちのいずれか一つの計算システムを含む。この実施形態では、少なくとも一つの処理回路は、選択されたテンプレート記憶空間が、ターゲット画像部分に合致する任意のテンプレートを含まないという判定に応じて、ターゲット画像部分に基づいて、新しいテンプレートを生成することによって物体登録を行い、新しいテンプレートを、選択されたテンプレート記憶空間に記憶させるように構成される。したがって、選択されたテンプレート記憶空間が、ターゲット画像部分に合致するテンプレートを有さない場合に、物体登録を行いうる。
【００９９】
実施形態７は、実施形態６の計算システムを含む。この実施形態では、少なくとも一つの処理回路は、新しいテンプレートに基づいて、移動指令を生成するように構成される。
【０１００】
実施形態８は、実施形態６または７の計算システムを含む。この実施形態では、少なくとも一つの処理回路は、さらに、選択されたテンプレート記憶空間が、ターゲット画像部分に合致する任意のテンプレートを含まないという判定に応じて、ターゲット画像部分の中にコーナーまたはエッジのうちの少なくとも一つを検出することと、ターゲット画像部分の中に少なくともコーナーまたはエッジによって画定される領域を決定することとによって、物体登録を行うように構成され、少なくとも一つの処理回路は、決定された領域に基づいて、新しいテンプレートを生成するように構成される。
【０１０１】
実施形態９は、実施形態８の計算システムを含む。この実施形態では、少なくとも一つの処理回路は、選択されたテンプレート記憶空間が、ターゲット画像部分に合致する任意のテンプレートを含まないとき、決定された領域に基づいて、移動指令を生成するように構成される。
【０１０２】
実施形態１０は、実施形態８または９の計算システムを含む。この実施形態では、ターゲット画像部分の中にコーナーまたはエッジのうちの少なくとも一つを検出することは、選択されたテンプレート記憶空間が、ターゲット画像部分に合致する任意のテンプレートを含まないという判定、およびターゲット画像部分をテクスチャありに分類する決定の両方に応じてなされ、ターゲット画像部分がテクスチャありに分類されるとき、少なくとも一つの処理回路は、新しいテンプレートを、第二のテンプレート記憶空間に記憶させるように構成される。
【０１０３】
実施形態１１は、実施形態６〜１０のうちのいずれか一つの計算システムを含む。この実施形態では、通信インターフェースは、空間構造感知装置と通信するように構成される。さらに、この実施形態では、少なくとも一つの処理回路は、物体に関連付けられた物体構造を記述するために、感知された構造情報を受信するように構成され、感知された構造情報が、空間構造装置によって生成され、ターゲット画像部分がテクスチャなしに分類されるとき、少なくとも一つの処理回路は、感知された構造情報を含むか、または感知された構造情報に基づく、物体構造の記述を有するように、新しいテンプレートを生成し、新しいテンプレートを、第一のテンプレート記憶空間の中に記憶させるように構成される。
【０１０４】
実施形態１２は、実施形態１〜１１のうちのいずれか一つの計算システムを含む。この実施形態では、ターゲット画像部分がテクスチャありまたはテクスチャなしのどちらに分類されるかにさらに基づいて、少なくとも一つの処理回路は、移動指令を生成するように構成される。
【０１０５】
実施形態１３は、実施形態１〜１２の計算システムを含む。この実施形態では、少なくとも一つの処理回路は、一つ以上の物体に関連付けられたロボットのタスクが完了したかどうかを判定するように構成される。少なくとも一つの処理回路はさらに、ロボットのタスクが完了したという判定に応じて、第二のテンプレート記憶空間を消去することなく、第一のテンプレート記憶空間を消去させるように構成される。
【０１０６】
実施形態１４は、実施形態１３の計算システムを含む。この実施形態では、少なくとも一つの処理回路は、当該少なくとも一つの処理回路が、移動指令を生成した後、ロボットとのロボット相互作用について、現在残っている物体はないと判定するとき、ロボットのタスクが完了したと判定するように構成される。
【０１０７】
実施形態１５は、実施形態１〜１４のうちのいずれか一つの計算システムを含む。この実施形態では、複数の物体が画像取り込み装置の視野の中にあるとき、少なくとも一つの処理回路は、選択されたテンプレート記憶空間に追加される各テンプレートを、複数の物体のうちの対応する物体に関連付けられた、それぞれのターゲット画像部分に基づかせるように構成される。
【０１０８】
実施形態１６は、実施形態１〜１５のうちのいずれか一つの計算システムを含む。この実施形態では、少なくとも一つの処理回路は、第一のビットマップおよび第二のビットマップを生成するように構成される。第一のビットマップは、ターゲット画像部分から検出された、一つ以上のそれぞれの記述子を含む、ターゲット画像部分のうちの一つ以上の領域を識別するための、または記述子がターゲット画像部分の中で検出されないと示すための、記述子ビットマップである。第二のビットマップは、ターゲット画像部分から検出された、一つ以上のそれぞれのエッジを含む、ターゲット画像部分のうちの一つ以上の領域を識別するための、またはエッジが、ターゲット画像部分の中で検出されないと示すための、エッジビットマップである。この実施形態では、ターゲット画像部分をテクスチャありまたはテクスチャなしのどちらに分類するかの決定は、第一のビットマップおよび第二のビットマップに基づく。
【０１０９】
関連分野の当業者にとって、本明細書に記載する方法および用途への、その他の適切な修正ならびに適応が、実施形態のうちのいずれの範囲から逸脱することなく成すことができることは明らかであろう。上に記載する実施形態は、説明に役立つ実施例であり、本発明がこれらの特定の実施形態に限定されると解釈されるべきではない。本明細書に開示する様々な実施形態は、記載および添付の図に具体的に提示する組み合わせとは異なる組み合わせで、組み合わせてもよいことは理解されるべきである。実施例によって、本明細書に記載するプロセスもしくは方法のいずれのある特定の行為または事象は、異なる順番で行われてもよく、追加、統合、または完全に省略してもよいことも理解されるべきである（例えば、記載したすべての行為または事象は、方法またはプロセスを実施するのに必要ではない場合がある）。加えて、本明細書の実施形態のある特定の特徴を、明確にするために、単一の構成要素、モジュール、またはユニットにより行われていると記載しているものの、本明細書に記載する特徴および機能は、構成要素、モジュール、またはユニットのいかなる組み合わせによって行われてもよいことは理解されるべきである。したがって、添付の特許請求の範囲に定義するような、発明の精神または範囲から逸脱することなく、当業者によって様々な変更および修正に影響を与えうる。
【要約】      （修正有）【課題】物体とロボットの相互作用などのタスクを容易にする計算システムを提供する。【解決手段】計算システムが備える処理回路は、一つ以上の物体を表すための画像を取得するステップ３０２と、一つ以上の物体のうちの一つに関連付けられたターゲット画像部分を生成するステップ３０４と、ターゲット画像部分をテクスチャありまたはテクスチャなしのどちらに分類するかを決定するステップ３０６と、テクスチャなしの分類に応じて選択される第一のテンプレート記憶空間およびテクスチャありの分類に応じて選択される第二のテンプレート記憶空間の中から、テンプレート記憶空間を選択するステップ３０８と、選択されたテンプレート記憶空間に基づいて、物体認識を行うステップ３１０と、物体認識の結果に基づいて移動指令を生成するステップ３１２を行う。第一のテンプレート記憶空間は、第二のテンプレート記憶空間と比べてより頻繁に消去される。【選択図】図３【図１Ａ】
0006844803.tif 000002
【図１Ｂ】
0006844803.tif 000003
【図１Ｃ】
0006844803.tif 000004
【図１Ｄ】
0006844803.tif 000005
【図１Ｅ】
0006844803.tif 000006
【図１Ｆ】
0006844803.tif 000007
【図１Ｇ】
0006844803.tif 000008
【図１Ｈ】
0006844803.tif 000009
【図２Ａ】
0006844803.tif 000010
【図２Ｂ】
0006844803.tif 000011
【図２Ｃ】
0006844803.tif 000012
【図２Ｄ】
0006844803.tif 000013
【図２Ｅ】
0006844803.tif 000014
【図２Ｆ】
0006844803.tif 000015
【図３】
0006844803.tif 000016
【図４Ａ】
0006844803.tif 000017
【図４Ｂ】
0006844803.tif 000018
【図４Ｃ】
0006844803.tif 000019
【図５Ａ】
0006844803.tif 000020
【図５Ｂ】
0006844803.tif 000021
【図５Ｃ】
0006844803.tif 000022
【図５Ｄ】
0006844803.tif 000023
【図５Ｅ】
0006844803.tif 000024
【図６Ａ】
0006844803.tif 000025
【図６Ｂ】
0006844803.tif 000026
【図６Ｃ】
0006844803.tif 000027
【図６Ｄ】
0006844803.tif 000028
【図６Ｅ】
0006844803.tif 000029
【図６Ｆ】
0006844803.tif 000030
【図６Ｇ】
0006844803.tif 000031
【図６Ｈ】
0006844803.tif 000032
【図６Ｉ】
0006844803.tif 000033
【図７Ａ】
0006844803.tif 000034
【図７Ｂ】
0006844803.tif 000035
【図７Ｃ】
0006844803.tif 000036
【図８Ａ】
0006844803.tif 000037
【図８Ｂ】
0006844803.tif 000038
【図８Ｃ】
0006844803.tif 000039
【図８Ｄ】
0006844803.tif 000040
【図８Ｅ】
0006844803.tif 000041
【図９Ａ】
0006844803.tif 000042
【図９Ｂ】
0006844803.tif 000043
【図９Ｃ】
0006844803.tif 000044
【図９Ｄ】
0006844803.tif 000045