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