(57)【特許請求の範囲】
【請求項１】
少なくとも１つのターゲット物体に対応した視覚的データセットに基づいて前記ターゲット物体の物体姿勢及び位置決め情報を推定するコンピュータベースの方法であって、
データベースを使用し、少なくとも１つのパラメータをそれぞれが有する複数の物体モデルを提供するステップと、
プロセッサを使用し、前記複数の物体モデルとの比較において前記視覚的データセットを分析するステップと、
前記プロセッサを使用し、且つ、前記複数の物体モデルとの比較における前記視覚的データセットの分析に基づいて、物体フィッティングモデルを前記ターゲット物体に対応した前記分析済みの視覚的データセットの一部分上に、その周りにおいて、又はその内部においてフィッティングするステップであって、前記物体フィッティングモデルは、少なくとも１つのパラメータを有する、ステップと、
前記プロセッサを使用し、前記物体フィッティングモデルの前記少なくとも１つのパラメータを推定するステップと、
前記プロセッサを使用し、前記物体フィッティングモデル及び前記物体フィッティングモデルの前記推定された少なくとも１つのパラメータに基づいて、少なくとも１つのパラメータを有する学習された物体モデルを前記データベース内において保存するステップと、
を有する方法。
【請求項２】
請求項１に記載の方法において、
前記プロセッサを使用し、且つ、前記複数の物体モデルに対する前記視覚的データセットの比較により、ターゲットデータを前記物体フィッティングモデルに対して形状又は構造において類似していると認識するステップを更に有し、
前記物体フィッティングモデルをフィッティングするステップは、前記認識されたターゲットデータセットに基づいている、方法。
【請求項３】
請求項２に記載の方法において、
前記プロセスを使用し、前記ターゲットデータセットからクラスタをセグメント化及び抽出するステップであって、前記クラスタは、前記ターゲット物体に対応している、ステップと、
前記プロセッサを使用し、前記クラスタの複数のクラスタ部分のうちの少なくとも１つを複数の部分フィッティングモデルのうちの少なくとも１つの対応した部分フィッティングモデルに対して形状又は構造において類似していると認識するステップと、
を更に有し、
前記物体フィッティングモデルの前記少なくとも１つのパラメータを推定するステップは、前記プロセッサを使用し、前記セグメント化及び抽出されたクラスタを分析し、且つ、前記プロセッサを使用し、前記複数のクラスタ部分を分析するステップに基づいている、方法。
【請求項４】
請求項２に記載の方法において、
前記プロセッサを使用し、且つ、前記複数の物体モデルに対する前記視覚的データセットの比較により、前記ターゲットデータセットの第１ターゲットデータ部分を少なくとも１つのパラメータを有する第１部分フィッティングモデルに対して形状又は構造において類似していると認識するステップと、
前記プロセッサを使用して前記第１ターゲットデータ部分を分析することにより、前記プロセッサを使用して前記第１部分フィッティングモデルの前記少なくとも１つのパラメータを推定するステップと、
を更に有する、方法。
【請求項５】
請求項４に記載の方法において、
前記学習された物体モデルを保存するステップは、前記物体フィッティングモデルの前記推定された少なくとも１つのパラメータ又は前記第１部分フィッティングモデルの前記推定された少なくとも１つのパラメータに基づいている、方法。
【請求項６】
請求項５に記載の方法において、
前記プロセッサを使用し、且つ、前記複数の物体モデルに対する前記視覚的データセットの比較により、前記ターゲットデータの第２ターゲットデータ部分を少なくとも１つのパラメータを有する第２部分フィッティングモデルに対して少なくとも形状又は構造において類似していると認識するステップと、
前記プロセッサを使用して前記第２ターゲットデータ部分を分析することにより、前記プロセッサを使用して前記第２部分フィッティングモデルの前記少なくとも１つのパラメータを推定するステップと、
を更に有する、方法。
【請求項７】
請求項６に記載の方法において、
前記学習された物体モデルを保存するステップは、前記物体フィッティングモデルの前記推定された少なくとも１つのパラメータ、前記第１部分フィッティングモデルの前記推定された少なくとも１つのパラメータ、前記第２部分フィッティングモデルの前記推定された少なくとも１つのパラメータ、又はこれらの組合せに基づいている、方法。
【請求項８】
請求項７に記載の方法において、
前記プロセッサを使用し、前記クラスタから第１クラスタ部分をセグメント化及び抽出するステップであって、前記第１クラスタ部分は、前記第１ターゲットデータ部分に対応しており、前記第１部分フィッティングモデルの前記少なくとも１つのパラメータを推定するステップは、前記セグメント化及び抽出された第１クラスタ部分を分析するステップに基づいている、ステップと、
前記プロセッサを使用し、前記クラスタから第２クラスタ部分をセグメント化及び抽出するステップであって、前記第２クラスタ部分は、前記第２ターゲットデータ部分に対応しており、前記第２部分フィッティングモデルの前記少なくとも１つのパラメータを推定するステップは、前記セグメント化及び抽出された第２クラスタ部分を分析するステップに基づいている、ステップと、
を更に有する、方法。
【請求項９】
請求項８に記載の方法において、
前記プロセッサを使用し、前記第１部分フィッティングモデルの位置決めと前記第２部分フィッティングモデルの位置決めの間の第１関係を判定するステップと、
前記プロセッサを使用し、前記第１クラスタ部分の位置決めと前記第２クラスタ部分の位置決めの間の第２関係を判定するステップと、
前記プロセッサを使用し、前記第２関係を前記第１関係と比較するステップと、
前記プロセッサを使用し、前記第１関係に対する前記比較された第２関係に基づいて、前記第１部分フィッティングモデルの前記位置決めと前記第２部分フィッティングモデルの前記位置決めを推定又は変更するステップと、
を更に有する、方法。
【請求項１０】
請求項１に記載の方法において、
前記プロセッサを使用し、前記保存されている複数の物体モデル及び前記学習された物体モデルとの比較において新しく遭遇した物体に対応したデータを分析するステップと、
前記プロセッサを使用し、前記新しく遭遇したオブジェクに対応した前記データの一部分を前記学習された物体モデルに対して形状又は構造において類似していると認識するステップと、
前記プロセッサを使用し、前記学習された物体モデルを前記クラスタ上に、その周りおいて、又はその内部において、フィッティングするステップと、
前記プロセッサを使用し、前記学習された物体モデルをフィッティングするステップに基づいて、前記学習された物体モデルの前記少なくとも１つのパラメータを推定するステップと、
を更に有する、方法。
【請求項１１】
請求項１０に記載の方法において、
前記物体フィッティング学習済みモデルの前記少なくとも１つのパラメータを推定するステップは、前記新たに遭遇した物体に対応した前記データの前記部分用の緊密なフィットを判定するべく、前記物体フィッティング学習済みモデルの前記少なくとも１つのパラメータを変更するステップに基づいている、方法。
【請求項１２】
請求項１０に記載の方法において、
前記プロセッサ及び前記プロセッサに結合された通信ユニットを使用し、前記新たに遭遇した物体に関する応答の導出に関する問合せに対応した出力データを出力するステップを更に有する、方法。
【請求項１３】
第１視覚的データ及び第２視覚的データを含む視覚的データセットに基づいてターゲット物体の姿勢及び位置決め情報を推定するコンピュータベースの方法であって、
データベースを使用し、少なくとも１つのパラメータをそれぞれが有する複数の物体モデルを提供するステップと、
プロセッサを使用し、少なくとも１つのターゲット物体に対応した前記視覚的データを受け取るか又は検出するステップと、
前記プロセッサを使用することにより、且つ、前記複数の物体モデルに対する前記第１視覚的データの比較により、前記第１視覚的データの第１エンクロージャに隣接した、その周りの、又はその内部における第１ターゲットデータを第１物体モデルに対して形状又は構造において類似していると認識するステップと、
前記プロセッサを使用し、前記第１エンクロージャに基づいて前記ターゲット物体に対応した前記第２視覚的データ内のクラスタをセグメント化及び抽出するステップと、
前記プロセッサを使用し、前記保存されている複数の物体モデルとの比較において前記クラスタを分析するステップと、
前記プロセッサを使用し、前記分析されたクラスタ上に、その周りにおいて、又はその内部において、前記学習された物体モデルをフィッティングするステップと、
前記プロセッサを使用し、前記物体フィッティングモデルの前記少なくとも１つのパラメータを推定するステップと、
前記プロセッサを使用し、前記物体フィッティングモデル及び前記物体フィッティングモデルの前記推定された少なくとも１つのパラメータに基づいて、学習された物体モデルを前記データベース内において保存するステップと、
を有する方法。
【請求項１４】
請求項１３に記載の方法において、
前記プロセッサを使用し、且つ、前記複数の物体モデルに対する前記第１視覚的データの比較により、第２エンクロージャに隣接した、その周りの、又はその内部の前記第１ターゲットデータの第１ターゲットデータ部分を少なくとも１つのパラメータを有する第１部分フィッティングモデルに対して形状又は構造において類似していると認識するステップと、
前記プロセッサを使用し、前記第２エンクロージャに基づいて前記クラスタの第１クラスタ部分をセグメント化及び抽出するステップと、
前記プロセッサを使用し、前記保存されている複数の物体モデルとの比較において前記第１クラスタ部分を分析するステップと、
前記プロセッサを使用し、第１部分フィッティングモデルを前記分析されたクラスタ上に、その周りにおいて、又はその内部においてフィッティングするステップであって、前記第１部分フィッティングモデルは、少なくとも１つのパラメータを有する、ステップと、
を更に有する、方法。
【請求項１５】
請求項１４に記載の方法において、
前記学習された物体モデルを保存するステップは、前記物体フィッティングモデルの前記推定された少なくとも１つのパラメータ又は前記第１部分フィッティングモデルの前記推定された少なくとも１つのパラメータに基づいている、方法。
【請求項１６】
請求項１５に記載の方法において、
前記プロセッサを使用し、且つ、前記複数の物体モデルに対する前記第１視覚的データの比較により、第３エンクロージャに隣接した、その周りの、又はその内部の前記第１ターゲットデータの第２ターゲットデータ部分を少なくとも１つのパラメータを有する第２部分フィッティングモデルに対して形状又は構造において類似していると認識するステップと、
前記プロセッサを使用し、前記第３エンクロージャに基づいて、前記クラスタの第２クラスタ部分をセグメント化及び抽出するステップと、
前記プロセッサを使用し、前記保存されている複数の物体モデルとの比較において前記第２クラスタ部分を分析するステップと、
前記プロセッサを使用し、第２部分フィッティングモデルを前記分析された第２クラスタ部分上に、その周りにおいて、又はその内部においてフィッティングするステップであって、前記第２部分フィッティングモデルは、少なくとも１つのパラメータを有する、ステップと、
を更に有する、方法。
【請求項１７】
請求項１６に記載の方法において、
前記学習された物体モデルを保存するステップは、前記物体フィッティングモデルの前記推定された少なくとも１つのパラメータ、前記第１部分フィッティングモデルの前記推定された少なくとも１つのパラメータ、前記第２部分フィッティングモデルの前記推定された少なくとも１つのパラメータ、又はこれらの組合せに基づいている、方法。
【請求項１８】
少なくとも１つのターゲット物体に対応した視覚的データセットに基づいて物体の姿勢及び位置決め情報を推定するコンピュータベースの方法であって、
データベースを使用し、少なくとも１つのパラメータをそれぞれが有する複数の物体モデルを提供するステップと、
プロセッサを使用し、且つ、前記複数の物体モデルに対する前記視覚的データセットの比較により、第１エンクロージャに隣接した、その周りの、或いは、その内部のターゲットデータセットを少なくとも１つのパラメータを有する前記複数の物体モデルの第１物体モデルに対して形状又は構造において類似していると認識するステップと、
前記プロセッサを使用し、前記保存されている複数の物体モデルとの比較において前記認識されたターゲットデータセットを分析するステップと、
前記プロセッサを使用し、前記保存されている複数の物体モデルとの比較において、前記分析された視覚的データセットに基づいて、前記複数の物体モデルの前記少なくとも１つのパラメータを推定するステップと、
前記プロセッサを使用し、前記物体フィッティングモデル及び前記物体フィッティングモデルの前記推定された少なくとも１つのパラメータに基づいて、学習された物体モデルを前記データベース内において保存するステップと、
を有する方法。
【請求項１９】
請求項１８に記載の方法において、
前記プロセッサを使用し、前記ターゲット物体に対応した前記ターゲットデータセットの第１エンクロージャに隣接した、その周りの、又はその内部のクラスタをセグメント化及び抽出するステップと、
前記プロセッサを使用し、前記保存されている複数の物体モデルとの比較において前記クラスタを分析するステップと、
を更に有し、
前記複数の物体モデルの前記少なくとも１つのパラメータを推定するステップは、前記分析されたクラスタに基づいている、方法。
【請求項２０】
請求項１９に記載の方法において、
前記プロセッサを使用し、且つ、前記複数の物体モデルの前記推定された少なくとも１つのパラメータに基づいて、物体フィッティングモデルを前記分析されたクラスタ上に、その周りにおいて、又はその内部においてフィッティングするステップであって、前記物体フィッティングモデルは、少なくとも１つのパラメータを有し、前記保存された学習済みの物体モデルは、前記物体フィッティングモデルに基づいている、ステップと、
前記プロセッサを使用し、前記複数の保存されている物体モデル及び前記学習された物体モデルを使用して新たに遭遇した物体を分析するステップと、
を更に有する、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、コンピュータビジョンにおける動的カテゴリ物体認識の、コンピュータベースの方法及びシステムに関し、且つ、更に詳しくは、ターゲット物体に関する学習された物体モデル、位置決め、及び姿勢情報を使用した動的認識の、コンピュータベースの方法及びシステムに関する。
【背景技術】
【０００２】
物体認識は、周囲の環境及びその内部の物体のコンピュータビジョンを必要とする様々な分野において必要とされている。例えば、物体を把持又はピックアップするなどのロボット操作のタスクは、ターゲット物体の位置決め及び姿勢の認識を必要としうる。従来の物体認識方法及びシステムは、３次元（３Ｄ）の登録モデルを構築するための物体の正確な登録を必要としている。但し、正確な登録は、大きな処理能力を必要としうる。現時点においては、正確な物体の登録を伴うことなしにターゲット物体の姿勢及び位置決めを推定するには、コンピュータベースの方法又はシステムが必要とされている。
【０００３】
更には、従来の方法及びシステムは、固定された予めプログラム済みの物体認識アルゴリズムを備えている。将来の物体認識のために学習されたデータを利用する動的アルゴリズムを使用したターゲット物体及びその対応する部分の姿勢及び位置決めを推定するための、コンピュータベースの方法又はシステムが必要とされている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示は、一般に、コンピュータビジョンにおける動的カテゴリ物体認識の、コンピュータベースの方法及びシステムに関し、且つ、更に詳しくは、ターゲット物体に関する学習されたモデル、位置決め、及び姿勢情報を使用して動的に認識する方法及びシステムに関する。
【課題を解決するための手段】
【０００５】
一実施形態においては、本発明は、例えば、少なくとも１つのターゲット物体に対応した視覚的データセットに基づいて物体の姿勢及び位置決め情報を推定する、コンピュータベースの方法であってもよく、本方法は、データベースを使用し、少なくとも１つのパラメータをそれぞれが有する複数の物体モデルを提供するステップと、プロセッサを使用し、保存されている複数の物体モデルとの比較において視覚的データセットを分析するステップと、プロセッサを使用し、保存されている複数の物体モデルとの比較において分析された視覚的データセットに基づいて、少なくとも１つのパラメータを有する物体フィッティングモデルを構築するステップと、プロセッサを使用し、物体フィッティングモデルの少なくとも１つのパラメータを推定するステップと、プロセッサを使用し、物体フィッティングモデル及び物体フィッティングモデルの推定された少なくとも１つのパラメータに基づいて、学習された物体モデルをデータベース内において保存するステップと、を含む。
【０００６】
別の実施形態においては、本発明は、第１視覚的データ及び第２視覚的データを含む視覚的データセットに基づいてターゲット物体の物体姿勢及び位置決め情報を推定する、コンピュータベースの方法であってもよく、本方法は、データベースを使用し、少なくとも１つのパラメータをそれぞれが有する複数の物体モデルを提供するステップと、プロセッサを使用し、第１視覚的データ及び第２視覚的データを含む視覚的データセットを受け取るか又は検出するステップと、プロセッサを使用し、第１視覚的データの第１エンクロージャに隣接した、その周囲の、又はその内部の第１ターゲットデータを第１物体モデルに対して形状又は構造において類似していると認識するステップと、プロセッサを使用し、第１エンクロージャに基づいてターゲット物体に対応した第２ターゲットデータ内のクラスタをセグメント化又は抽出するステップと、プロセッサを使用し、保存されている複数の物体モデルとの比較においてクラスタを分析するステップと、プロセッサを使用し、且つ、保存されている複数の物体モデルとの比較において分析された視覚的データセットに基づいて、少なくとも１つのパラメータを有する物体フィッティングモデルを構築するステップと、プロセッサを使用し、物体フィッティングモデルの少なくとも１つのパラメータを推定するステップと、プロセッサを使用し、物体フィッティングモデル及び物体フィッティングモデルの推定された少なくとも１つのパラメータに基づいて、学習された物体モデルをデータベース内において保存するステップと、を有する。
【０００７】
更に別の実施形態においては、本発明は、少なくとも１つのターゲット物体に対応した視覚的データセットに基づいて物体の姿勢及び位置決め情報を推定する、コンピュータベースの方法であってもよく、本方法は、データベースを使用し、少なくとも１つのパラメータをそれぞれが有する複数の物体モデルを提供するステップと、プロセッサを使用し、且つ、複数の物体モデルとの比較により、ターゲットデータセットを物体フィッティングモデルに対して形状又は構造において類似していると認識するステップと、プロセッサを使用し、保存されている複数の物体モデルとの比較において分析された視覚的データセットに基づいて複数の物体モデルの少なくとも１つのパラメータを推定するステップと、プロセッサを使用し、物体フィッティングモデル及び物体フィッティングモデルの推定された少なくとも１つのパラメータに基づいて、学習された物体モデルをデータベース内において保存するステップと、を有する。
【０００８】
本発明のその他のシステム、方法、特徴、及び利点については、以下の図面及び詳細な説明を参照することにより、当業者に明らかとなろう。すべてのこのような更なるシステム、方法、特徴、及び利点は、この説明に含まれ、本発明の範囲に含まれ、且つ、添付の請求項によって保護されるものと解釈されたい。図面に示されているコンポーネントの各部分は、必ずしも縮尺が正確ではなく、且つ、本発明の重要な特徴を相対的に良好に示すべく、誇張されている場合がある。図面においては、同一の参照符号により、様々な図面の全体を通じて、同一の部分を表記している。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態による動的カテゴリ物体認識方法及び／又はシステムのブロックダイアグラムである。
【図２】本発明の一実施形態による動的カテゴリ物体認識を実行する、コンピュータベースの方法／システムを示す意思決定フローチャートを示す。
【図３Ａ】本発明の一実施形態による視覚的データに適用される、カテゴリ物体認識のためのコンピュータベースの方法／システムの一段階を示す。
【図３Ｂ】本発明の一実施形態による視覚的データに適用される、カテゴリ物体認識のためのコンピュータベースの方法／システムの一段階を示す。
【図３Ｃ】本発明の一実施形態による視覚的データに適用される、カテゴリ物体認識のためのコンピュータベースの方法／システムの一段階を示す。
【図３Ｄ】本発明の一実施形態による視覚的データに適用される、カテゴリ物体認識のためのコンピュータベースの方法／システムの一段階を示す。
【図３Ｅ】本発明の一実施形態による視覚的データに適用される、カテゴリ物体認識のためのコンピュータベースの方法／システムの一段階を示す。
【図４Ａ】本発明の一実施形態による複数の物体モデルに基づいたセグメント化及び抽出のためのコンピュータベースの方法／システムの一段階を示す。
【図４Ｂ】本発明の一実施形態による複数の物体モデルに基づいたセグメント化及び抽出のためのコンピュータベースの方法／システムの一段階を示す。
【図４Ｃ】本発明の一実施形態による複数の物体モデルに基づいたセグメント化及び抽出のためのコンピュータベースの方法／システムの一段階を示す。
【図４Ｄ】本発明の一実施形態による複数の物体モデルに基づいたセグメント化及び抽出のためのコンピュータベースの方法／システムの一段階を示す。
【図４Ｅ】本発明の一実施形態による複数の物体モデルに基づいたセグメント化及び抽出のためのコンピュータベースの方法／システムの一段階を示す。
【図４Ｆ】本発明の一実施形態による複数の物体モデルに基づいたセグメント化及び抽出のためのコンピュータベースの方法／システムの一段階を示す。
【図５Ａ】本発明の一実施形態によるターゲット物体の姿勢パラメータの推定及び位置決めの推定のためのコンピュータベースの方法／システムの一段階を示す。
【図５Ｂ】本発明の一実施形態によるターゲット物体の姿勢パラメータの推定及び位置決めの推定のためのコンピュータベースの方法／システムの一段階を示す。
【図５Ｃ】本発明の一実施形態によるターゲット物体の姿勢パラメータの推定及び位置決めの推定のためのコンピュータベースの方法／システムの一段階を示す。
【図５Ｄ】本発明の一実施形態によるターゲット物体の姿勢パラメータの推定及び位置決めの推定のためのコンピュータベースの方法／システムの一段階を示す。
【図５Ｅ】本発明の一実施形態によるターゲット物体の姿勢パラメータの推定及び位置決めの推定のためのコンピュータベースの方法／システムの一段階を示す。
【図６Ａ】本発明の一実施形態による学習された物体モデルを使用した姿勢及び／又は位置決めの推定のためのコンピュータベースの方法／システムの一段階を示す。
【図６Ｂ】本発明の一実施形態による学習された物体モデルを使用した姿勢及び／又は位置決めの推定のためのコンピュータベースの方法／システムの一段階を示す。
【発明を実施するための形態】
【００１０】
図１を参照すれば、本発明の一実施形態による方法／システム１００のブロックダイアグラムが示されている。方法／システム１００は、プロセッサ１０２と、通信ユニット１０４と、センサ１０６と、データベース１１２と、外部装置１１４と、を含んでもよい。データベース１１２は、メモリ１０８と、クラウドベースのデータベース及び演算１１０と、を含んでもよい。その他の実施形態においては、データベース１１２は、メモリ１０８のみを含んでもよく、或いは、クラウドベースのデータベース及び演算１１０のみを含んでもよい。方法／システム１００の様々なユニットは、制御エリアネットワーク（Ｃｏｎｔｒｏｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：ＣＡＮ）バスを通じた電子信号の送信を利用することにより、互いに通信状態にあってもよい。その他の実施形態においては、制御及び通信は、様々なその他のタイプのシリアル通信リンク、直接的配線、デジタル通信バス、無線通信、又はその他の通信リンク及びネットワーク上におけるものであってもよい。
【００１１】
方法／システム１００は、任意の特定の装置、ユニット、又はプラットフォームに限定されるものではない。一実施形態においては、方法／システム１００は、ロボット装置内において統合されているか、或いは、ロボットプラットフォームに結合されている。
【００１２】
図１を再度参照すれば、方法／システム１００は、視覚的データセットを検出するべく、センサ１０６を利用してもよい。センサ１０６は、単一のセンサであってもよく、或いは、データを検出するべく協働する複数のセンサであってもよい。センサ１０６は、物理的な量を計測し、且つ、計測された物理的量を、プロセッサ１０２によって分析又は処理されうる信号に変換するコンバータを含んでもよい。センサ１０６は、方法／システム１００内において統合されてもよく、或いは、これに対して結合されてもよい。センサ１０６は、センサ１０６が、例えば、ネットワークを介して、プロセッサ１０２との通信状態となるように、方法／システム１００から離れた所定の距離において位置決めされてもよい。プロセッサ１０２は、センサ１０６によって検出されたデータを補完するべく、外部装置１１４に結合されてもよく、或いは、これとの通信状態にあってもよい。
【００１３】
センサ１０６は、画像センサ又はカメラを更に含んでもよく、画像センサ又はカメラは、環境及び／又はその内部の物体の画像／ビデオをキャプチャするべく、方法／システム１００内において統合されてもよく、これに結合されてもよく、或いは、これとの通信状態にあってもよい。カメラの代わりに、又はこれに加えて、環境及び／又はその内部の物体に関する３Ｄデータを検出するべく、３Ｄ深度センサが利用されてもよい。
【００１４】
センサ１０６は、境界線監視センサを含んでもよく、或いは、紫外線、高周波、又は赤外線センサを含んでもよい。その形状及びその外観（例えば、色）に関するデータを収集するべく現実世界の物体又は環境を分析するために、３Ｄスキャナが利用されてもよい。次いで、検出されたデータは、デジタル３Ｄモデルを構築するべく、プロセッサ１０２に伝達される。本発明の範囲を限定することなしに、検出された視覚的データの品質を改善するか又は量を増大させるべく、様々なその他のセンサが、センサ１０６内において統合されてもよく、これに結合されてもよく、或いは、これとの通信状態にあってもよい。
【００１５】
方法／システム１００がモバイルユニット（例えば、ロボット装置／プラットフォーム、車両、輸送装置、並びに、これらに類似したもの）に結合されているか又はこれに内蔵されている場合には、モバイルユニットは、環境を横断してもよい。環境を横断する１つの利点は、検出されたデータの品質を改善すると共に／又はその量を増大させるべく、プロセッサ１０２がセンサ１０６との通信状態にありうるという点にある。更には、環境を横断することにより、環境の３Ｄ視覚化を分析することができる。例えば、ロボット装置／プラットフォームは、視覚的データセットを検出するための相対的に良好な位置においてセンサ１０６のうちの少なくとも１つを配置するべく、環境を横断してもよく、或いは、環境に進入した直後の人物又は物体に接近してもよい。例えば、ロボット装置／プラットフォームは、閉塞物体、場所、又は人物の顔面特徴の画像をキャプチャするべく、インテリジェントに運動してもよい。経路の横断が予め完了している場合には、ロボット装置／プラットフォームは、予め実行されている任意のバックトラッキングを除去してもよい。
【００１６】
検出データの供給源は、センサ１０６でなくてもよい。一実施形態においては、プロセッサ１０２は、外部装置１１４から、或いは、例えば、クラウドベースのデータベース及び演算１１０との通信状態にあるその他の外部装置から、検出データを受け取っている。本発明は、動的カテゴリ物体認識を提供するためのデータの分析及び処理を対象としている。従って、視覚的データを検出、取得、又は受け取る方法の変化は、本発明の範囲を制限するものではない。
【００１７】
データベース１１２は、複数のカテゴリ物体モデルに関するデータを保存している。プロセッサ１０２は、ターゲット物体を認識すると共にターゲット物体の姿勢及び／又は位置決めパラメータを推定するための複数のカテゴリ物体モデルを利用している。プロセッサ１０２は、データベース１１２内に保存されている複数の物体モデルを更に変更及び／又は補完してもよい。例えば、プロセッサ１０２は、将来の新たに遭遇されるターゲット物体に関する動的カテゴリ物体認識を可能にするべく、学習された物体モデルをデータベース１１２内において保存してもよい。
【００１８】
図２を参照すれば、環境の視覚的特性に対応した視覚的データセットは、データベース１１２又は外部装置１１４から、プロセッサ１０２によって受け取られる。これに加えて、又はこの代わりに、センサ１０６が、プロセッサ１０２によって分析される視覚的データを検出する。
【００１９】
図３Ａを参照すれば、例えば、環境の視覚的データセット３０４は、３Ｄセンサ３０２によって検出される。環境は、少なくとも１つのターゲット物体３１０を含んでもよい。方法／システム２００は、ターゲット物体３１０に関する姿勢情報を推定しようとする。本明細書において使用されている姿勢情報とは、限定を伴うことなしに、物体の姿勢又は構造、物体自体の位置決め、物体及びその他の物体部分との関係における物体の一部分の位置決め、周囲の環境又はその他の物体との関係における物体又はその一部分の位置決め、物体のサイズ、形状、及び寸法、物体の構造、物体の任意の姿勢又は位置決めを定義するパラメータ、又はこれらの組合せを含むものを意味しうる。
【００２０】
好適な実施形態においては、プロセッサ１０２、３Ｄセンサ３０２、又はセンサ１０６は、例えば、２次元（２Ｄ）データであってもよい視覚的データセット３０４内の第１視覚的データ３０６と、例えば、深度又は３Ｄポイントデータであってもよい第２視覚的データ３０８という２つのデータサブセットを視覚的データセット３０４から検出又は抽出してもよい。一実施形態においては、第１視覚的データ３０６及び第２視覚的データ３０８は、同一の検出データの供給源に由来することにより、相互に依存したものであってもよい。例えば、第１視覚的データ３０６は、第２視覚的データ３０８によって提供される同一の３Ｄポイントデータに対応した２Ｄ画像であってもよい。別の実施形態においては、第１視覚的データ３０６と第２視覚的データ３０８は、独立的に検出されてもよい。例えば、第１視覚的データ３０６は、カメラによって検出された２Ｄ画像であってもよく、且つ、第２視覚的データ３０８は、３Ｄ又は深度センサによって検出された３Ｄポイントデータに対応したものであってもよい。
【００２１】
第１視覚的データ３０６と第２視覚的データ３０８は、第１視覚的データ３０６と第２視覚的データ３０８の両方の比較及び処理を許容するべく、アライメント又は較正されてもよい。
【００２２】
本明細書において使用されるターゲットデータセットは、ターゲット物体３１０に対応するものとして方法／システム２００のステップ２０４の物体認識ステージにおいて認識される視覚的データセット３０４の１つのセクションを意味している。例えば、ターゲットデータセットは、第１視覚的データ３０６と第２視覚的データ３０８が較正されている際には、ターゲット物体３１０に対応した第１視覚的データ３０６及び第２視覚的データ３０８の両方を意味してもよい。例えば、ターゲットデータセットは、第１エンクロージャを使用することにより、識別されてもよい。一実施形態においては、ターゲットデータセットは、第１エンクロージャに隣接した、その周りの、又はその内部の第１視覚的データ３０６及び／又は第２視覚的データ３０８に対応していてもよい。
【００２３】
図２〜図５との関係において本明細書において記述されている例示用の実施形態は、例示用の実施形態を詳細に示すための第１視覚的データ３０６及び第２視覚的データ３０８の処理に対応している。但し、方法／システム２００は、全体として（例えば、第１視覚的データ３０６及び第２視覚的データ３０８への分離を伴うことなしに）、視覚的データセット３０４に対して適用されてもよい。視覚的データセット３０４は、２Ｄデータ、３Ｄデータ、又はその他のタイプのデータであってもよい。例えば、ステップ２０４との関係において後述する例示用の実施形態は、第１視覚的データ３０６の分析に対応している。但し、その他の実施形態においては、ステップ２０４においてカテゴリ物体を認識するべく、２Ｄデータのみ、３Ｄデータのみ、２Ｄ及び第３Ｄデータの組合せ、或いは、その他のタイプのデータが利用されてもよい。
【００２４】
図３Ａを参照すれば、例えば、第１視覚的データ３０６は、面３２４（例えば、テーブル）上において位置決めされたターゲット物体３１０の２Ｄ画像に対応している。第２視覚データ３０８は、面３２４上において位置決めされたターゲット物体３１０の３Ｄ深度データに対応している。
【００２５】
図２を参照すれば、ステップ２０４において、プロセッサ１０２を使用して第１視覚的データ３０６を分析するべく、カテゴリ物体認識が実行されている。第１視覚的データ３０６が、データベース１１２内に保存されている複数の物体モデルに基づいて分析される。例えば、複数の物体モデルは、素朴な形状を定義する対応したパラメータと関連付けられた円筒体、箱、及びこれらに類似したものなどの素朴な形状を含んでもよい。例えば、プロセッサ１０２は、第１視覚的データ３０６の任意の部分が、形状において、構造において、又は、その他の姿勢情報の観点において、データベース１１２内に保存されている複数の物体モデルに対応しているかどうかを判定してもよい。複数の物体モデルのそれぞれは、少なくとも１つのパラメータを有してもよい。例えば、物体モデルは、高さ及び半径のパラメータを有する円筒体であってもよい。例えば、物体モデルは、幅、高さ、及び長さの３つのパラメータを有する箱であってもよい。
【００２６】
プロセッサ１０２が複数の物体モデルのうちの１つの物体モデルについてサーチした際に、複数の物体モデルが、第１視覚的データ３０６の一部分に対して形状又は構造において類似している場合がある。例えば、瓶（例えば、ターゲット物体３１０）の本体は、円筒体又は箱に対して形状又は構造において類似しうる。プロセッサ１０２は、複数の物体モデルのうちのいずれが、第１視覚データ３０６の分析された部分について最も近接したフィットを有しているのかを判定するように構成されている。例えば、プロセッサ１０２は、複数の物体モデルのうちの特定の物体モデルと第１視覚的データ３０６の分析された部分の間の類似性の程度に関するスコア（例えば、認識精度百分率）を割り当ててもよい。例えば、プロセッサ１０２は、最高の関連付けられたスコア（例えば、認識精度百分率）と関連付けられた複数の物体モデルのうちの１つの物体モデルを第１視覚的データ３０６の分析された部分に対応した物体モデルとして選択してもよい。従って、一実施形態においては、プロセッサ１０２は、選択された物体モデルのパラメータを判定している。
【００２７】
後述するように、複数の物体モデルは、固定されてはいない。保存されている物体モデル及びその対応したパラメータは、補完又は変更されてもよい。これに加えて、又はこの代わりに、認識されたターゲット物体に基づいて、新しいカテゴリ物体モデルが、学習されてもよく、且つ、データベース１１２内において保存されてもよい。この関連における議論は、方法／システム２００が第１時間にわたってターゲット物体３１０を検出しており、且つ、未だ、全体としてターゲット物体３１０と類似した形状、構造、又は姿勢情報を有する物体に遭遇しておらず、且つ、それらが保存されてもいないことを仮定している。
【００２８】
図３Ｂを参照すれば、方法／システム２００のステップ２０４におけるカテゴリ物体認識の一例が示されている。例えば、プロセッサ１０２は、第１視覚的データ３０６によって表されている２Ｄ画像の左上コーナーから始まり、その後に、方向３１４において右に移動することにより、左から右へ、摺動エンクロージャ３１２に隣接した、その周りの、又はその内部の第１視覚的データ３０６を調査してもよい。プロセッサ１０２は、データベース１１２内に保存されている複数の物体モデルのうちの１つの物体モデルに対して形状又は構造において類似している第１視覚的データ３０６内の物体を認識してもよい。その他の実施形態においては、第１視覚的データ３０６のいずれの部分がデータベース１１２内に保存されている物体モデルにマッチングしているのかを判定するべく、摺動エンクロージャ３１２の代わりに、視覚的データセット３０４、第１視覚的データ３０６、第２視覚的データ３０８、又はこれらの組合せが、全体として調査されてもよい。
【００２９】
図３Ｃは、ステップ２０４のカテゴリ物体認識の結果を示している。プロセッサ１０２は、ターゲット物体３１０が物体モデルのうちの１つに類似していると認識してもよい。第１エンクロージャ３５０は、本発明の範囲を限定することなしに、境界ボックス、境界サークル、又は任意のその他の形状であってもよい。第１エンクロージャ３５０は、第１中心点３１６を有する。第１エンクロージャ３５０が、境界ボックスである際には、第１中心点３１６は、境界ボックスのそれぞれの辺からほぼ等しい距離を有する地点である。第１エンクロージャ３５０が境界サークルである際には、第１中心点３１６は、境界サークルの中心であってもよい。一実施形態においては、プロセッサ１０２は、第１中心点３１６が、ターゲット物体３１０に対応した視覚的データセット３０４の一部分上において位置決めされるか、これに対応しているか、或いは、その内部に含まれるように、第１中心点３１６を判定してもよい。例えば、ターゲット物体３１０は、第１エンクロージャ３５０内において、その周りにおいて、又はそれに隣接して、位置決めされてもよい。プロセッサ１０２は、第１ターゲットデータ（第１視覚的データ３０６の一部分である）がターゲット物体３１０に対応していると判定する。
【００３０】
図３Ｄを参照すれば、方法／システム２００のステップ２０４は、データベース１１２内に保存されている物体モデルのうちの少なくとも１つに形状又は構造においてそれぞれが類似しているターゲット物体３１０の複数の部分を認識するべく使用されうるエンクロージャを更に生成してもよい。ターゲット物体３１０の認識される部分の数は、複数の物体モデルの少なくとも１つに形状又は構造において類似したターゲット物体３１０の部分の数に依存しうる。従って、認識されるものの数は、様々な認識されるターゲット物体の間において変化してもよい。
【００３１】
例えば、プロセッサ１０２は、第１ターゲットデータの第１ターゲットデータ部分（例えば、第２エンクロージャ３５２に隣接した、その周りの、又はその内部の第１ターゲットデータの部分）が物体モデル（例えば、円筒体）に形状において類似していると更に認識してもよい。第１ターゲットデータの第１ターゲットデータ部分は、ターゲット物体３１０の第１部分（例えば、瓶の本体）に対応している。第２中心点３１８は、第２エンクロージャ３５２の中心点である。一実施形態においては、プロセッサ１０２は、第２中心点３１８が、ターゲット物体３１０の第１部分（例えば、瓶の本体）に対応した視覚的データセット３０４の一部分上において位置決めされるか、これに対応しているか、或いは、この内部に含まれるように、第２中心点３１８を判定してもよい。
【００３２】
例えば、プロセッサ１０２は、第１ターゲットデータの（第３エンクロージャに隣接した、その周りの、又はその内部の）第２ターゲットデータ部分が物体モデル（例えば、円筒体）に形状において類似していると更に認識してもよい。第１ターゲットデータの第２ターゲットデータ部分は、ターゲット物体３１０の第２部分（例えば、瓶の頭部又はキャップ）に対応している。第３中心点３２２は、第３エンクロージャ３５４の中心点である。一実施形態においては、プロセッサ１０２は、第２中心点３２２が、ターゲット物体３１０の第２部分（例えば、瓶の頭部又はキャップ）に対応した視覚的データセット３０４の一部分上において位置決めされるか、これに対応しているか、又はこの内部に含まれるように、第３中心点３２２を判定してもよい。
【００３３】
プロセッサ１０２は、第１ターゲットデータ（ターゲット物体３１０を含む）が第１物体モデル（例えば、円筒体）に形状又は構造において対応していると判定してもよく、且つ、ターゲット物体３１０に対応した物体フィッティングモデル３６０（図示されてはいない）を判定してもよい。
【００３４】
図３Ｅに示されているように、プロセッサ１０２は、第１ターゲットデータの第１ターゲットデータ部分が、ターゲット物体３１０の第１部分を含み、且つ、第２物体モデル（例えば、円筒体）に形状又は構造において対応していると判定してもよく、且つ、ターゲット物体３１０の第１部分に対応した第１部分フィッティングモデル３７０を判定してもよい。
【００３５】
図３Ｅに示されているように、プロセッサ１０２は、第１ターゲットデータの第２ターゲットデータ部分が、ターゲット物体３１０の第２部分を含み、且つ、第３物体モデル（例えば、円筒体）に形状又は構造において対応していると判定してもよく、且つ、ターゲット物体３１０の第２部分に対応した第２部分フィッティングモデル３８０を判定してもよい。
【００３６】
一実施形態においては、ステップ２０４が実行された際に、ターゲット物体３１０の円筒形形状の全体形状又はカテゴリが、全体として又は部分的に、認識されるが、姿勢情報（例えば、円筒体の直径又は半径及び高さの関連付けられたパラメータ、サイズ、並びに、位置決め）が、更に取得されてもよく、且つ／又は、ステップ２０６〜２１８において、相対的に高度な精度により、改善されてもよい。
【００３７】
ステップ２０６〜２１６において、物体モデルは、例えば、ＲＡＮＳＡＣ（ＲＡＮｄｏｍ  ＳＡｍｐｌｅ  Ｃｏｎｓｅｎｓｕｓ）法を使用することによってパラメータを近似するべく、視覚的データセット３０４（例えば、３Ｄポイントデータを含む第２視覚的データ３０８）によってフィッティングされている。更には、例えば、変形可能部分モデル（Ｄｅｆｏｒｍａｂｌｅ  Ｐａｒｔ  Ｍｏｄｅｌｓ：ＤＰＭ）法を使用することにより、ターゲット物体３１０の第１部分とターゲット物体３１０の第２部分の間の関係が調査されてもよい。例えば、プロセッサ１０２は、第１部分フィッティングモデル３７０と第２部分フィッティングモデル３８０が同心状態にあるかどうか、並びに、第２部分フィッティングモデル３８０が第１部分フィッティングモデル３７０の直接上方において位置決めされているかどうか、を判定してもよい。
【００３８】
本明細書において使用されているターゲット物体又はその対応する部分に対応したデータ上への、その周りにおける、又はその内部における物体フィッティングモデルのフィッティングは、ターゲット物体又はその対応する部分上における最も近接したフィットの検出に限定されるものではない。本明細書において使用されているフィッティングとは、限定を伴うことなしに、調節又は追加される少なくとも１つのパラメータが、プロセッサ１０２によって判定される任意の観点における姿勢情報の相対的に高度な精度の推定の提供を支援するように、姿勢情報との関係において物体フィッティングモデルの少なくとも１つのパラメータを調節すると共に／又は、少なくとも１つのパラメータを追加することを含む。一実施形態においては、図４Ａ〜図４Ｆとの関係において記述されているように、第１部分フィッティングモデル３７０は、第１部分フィッティングモデル３７０が、ターゲット物体３１０の第１部分内において、その上部において、又はその周りにおいて位置決めされた際に、ターゲット物体３１０の第１部分（例えば、瓶の本体）に関する最も近接したフィットとなるように、判定されてもよい。例えば、第１部分フィッティングモデル３７０の少なくとも１つのパラメータは、第１部分フィッティングモデル３７０が、ターゲット物体３１０の第１部分に対して、形状において、構造において、寸法において、サイズにおいて、その他の姿勢情報の観点において、或いは、これらの組合せの観点において、緊密に対応するように、複数の物体モデルのうちの１つの物体モデルに基づいて判定されてもよい。例えば、第１部分フィッティングモデル３７０の少なくとも１つのパラメータは、第１部分フィッティングモデル３７０が、ターゲット物体３１０に対応したデータ内において、その上部において、又はその周りにおいて、緊密にフィッティングされるように、調節される。
【００３９】
ステップ２０６において、プロセッサ１０２は、第１エンクロージャ３５０、第２エンクロージャ３５２、及び第３エンクロージャ３５４に隣接した、その周りの、又はその内部の３Ｄポイントデータを抽出するべく、第２視覚的データ３０８をセグメント化している。基本的に、第１エンクロージャ３５０、第２エンクロージャ３５２、及び第３エンクロージャ３５４は、ターゲット物体３１０及びその関連付けられた部分に対応していない第２視覚的データ３０８を取り除くための基準として使用される。ターゲット物体３１０及びその関連付けられた部分は、必ずしも、対応するエンクロージャ内において存在してはいない。対応するエンクロージャは、ターゲット物体３１０及びその関連付けられた部分に対応したデータの認識を支援するための基準として利用される。第２視覚データ３０８のセグメント化及び抽出により、プロセッサ１０２は、第１部分フィッティングモデル３７０及び第２部分フィッティングモデル３８０の対応したパラメータを近似するべく、例えば、ＲＡＮＳＡＣモデルを使用することにより、データベース内に保存されている物体モデル又は物体フィッティングモデルを第２視覚的データ３０８の対応した部分上に、その周りにおいて、その内部において、フィッティングすることができる。
【００４０】
図４Ａを参照すれば、ステップ２０６が実行される前の第２視覚的データ４０８が示されている。第２視覚的データ４０８は、例えば、図３Ａに示されている第２視覚的データ３０８に対応している。ターゲット物体４１０及び面４２４は、図３Ａにおける同一のターゲット物体３１０及び面３２４に対応したものであってもよい。
【００４１】
ステップ２０６において、プロセッサ１０２は、面４２４がもはやターゲット物体３１０の姿勢推定を支援しえないと判定した際には、面４２４に対応した第２視覚的データ４０８の１つのセクションを一時的に又は永久的に除去してもよい。
【００４２】
図４Ｂには、面除去手順によって生成される結果が示されている。図４Ｃに示されているように、プロセッサ１０２は、第１中心点４１６の周りにおいて、且つ、第１エンクロージャ４５０内において、第２視覚的データ４０８のクラスタ４６０をセグメント化するべく、第１視覚的データ３０６により、第２視覚的データ４０８を較正又はアライメントしてもよい。第１エンクロージャ４５０は、図３Ｃ及び図３Ｄの第１エンクロージャ３５０に対応したものであってもよく、且つ、これによって較正されてもよい。
【００４３】
図４Ｄに示されているように、第１中心点４１６は、ターゲット物体３１０に対応した第２視覚的データ３０８内において３Ｄポイントデータを抽出するべく、基準点として使用される第１中心点３１６に対応したものであってもよい。第１エンクロージャ４５０及び第２視覚的データ４０８内の第１中心点４１６を使用することにより、第２視覚的データ４０８内の第１中心点４１６の周りのクラスタ４６０が抽出される。例えば、図４Ｄに示されている実施形態におけるクラスタ４６０は、３Ｄポイントデータのクラスタである。その他の実施形態においては、クラスタ４６０は、本発明の範囲を限定することなしに、２Ｄデータを限定的でなく含むその他の形態のデータのクラスタ、組、群、又は部分を意味しうる。
【００４４】
プロセッサ１０２は、例えば、ＲＡＮＳＡＣ法を使用することによって関連付けられたパラメータを比較及び推定するべく、物体フィッティングモデル３６０をクラスタ４６０上に、その周りにおいて、又はその内部において、フィッティングするように試みる。例えば、プロセッサ１０２は、クラスタ４６０に対して最良にフィッティング又はマッチングする直径（又は、半径及び高さ）によって定義される最も近接した対応する円筒体を判定してもよい。
【００４５】
方法／システム２００は、ターゲット物体及び対応した部分の姿勢情報及び／又は位置決めを相対的に正確に定義するために、物体モデルをクラスタの部分上に、その周りにおいて、又はその内部において、フィッティングするべく、識別されたクラスタの様々な部分を分析するように構成されている、という更なる新しい利点を有する。ステップ２１０において、クラスタ４６０は、後述するように、第１クラスタ部分４７０及び第２クラスタ部分４８０にセグメント化されている。
【００４６】
例えば、図４Ｅに示されているように、第２視覚的データ３０８の第２エンクロージャ４５２（並びに、第２中心点４１８）は、第２エンクロージャ３５２（並びに、第２中心点３１８）に対応しており、且つ、これによって較正されている。較正された第２中心点４１８は、ターゲット物体３１０の第１部分に対応した第２視覚的データ３０８内の３Ｄポイントデータを抽出するべく、基準点として使用されてもよい。プロセッサ１０２は、第２中心点４１８が、ターゲット物体３１０の第１部分に対応した第２視覚的データ４０８の一部分上において位置決めされるか、これに対応しているか、又はこの内部に含まれるように、較正済みの第２中心点４１８を判定してもよい。図４Ｅに示されているように、第２エンクロージャ４５２及び第２視覚的データ４０８内の第２中心点４１８を使用することにより、第２中心点４１８の周りのクラスタ４６０の第１クラスタ部分４７０が抽出される。
【００４７】
ステップ２１２において、方法／ステップ２００は、例えば、第１クラスタ部分４７０上への、その周りにおける、又はその内部における第１部分フィッティングモデル３７０の最良のフィットを提供する関連付けられたパラメータを推定することにより、第２物体モデル又は第１部分フィッティングモデル３７０のパラメータを推定している。ＲＡＮＳＡＣ法は、関連付けられたパラメータによって定義される第１クラスタ部分４７０上に、その周りにおいて、又はその内部においてフィッティングする第１部分フィッティングモデル３７０を推定するべく、該当値（ｉｎｌｉｅｒ）と外れ値（ｏｕｔｌｉｅｒ）を弁別してもよい。従って、第１部分フィッティングモデル３７０の半径及び高さが推定されてもよい。例えば、図５Ａに示されているように、第１クラスタ部分５７０の第１部分高さ５７２及び第１部分直径５７４（第１クラスタ部分４７０に対応したもの）が推定されてもよい。
【００４８】
プロセスは、相対的に近接したフィットを見出すべく、第２物体モデル又は第１部分フィッティングモデル３７０をクラスタ４６０又は第１クラスタ部分４７０の地点の別のサブセット内の推定された地点と比較することにより、複数回にわたって反復される。例えば、第１部分フィッティングモデル３７０にフィッティングする第１クラスタ部分４７０の地点の数を第１クラスタ部分４７０の地点の合計数によって除算することにより、精度の百分率が判定されてもよい。プロセッサ１０２は、判定された百分率が特定の閾値を上回っている場合に、推定が正確であると判定してもよい。例えば、閾値は、８０パーセント（％）又は９０パーセント（％）であってもよい。
【００４９】
ＲＡＮＳＡＣプロセスの後に、カテゴリ物体モデル（例えば、円筒体）用のデータベース１１２内に保存されている初期パラメータ（例えば、高さ及び半径）が変更されうる。本発明の範囲を限定することなしに、物体モデル及び第２視覚的データ４０８をマッチング又はフィッティングするためのその他の類似の方法が利用されてもよい。第１クラスタ部分４７０上への、その周りにおける、又はその内部における第１部分フィッティングモデル３７０のフィットを改善するべく、本発明の範囲を限定することなしに、第１視覚的データ３０６及び第２視覚的データ４０８の様々なその他の特性（例えば、勾配及び／又は滑らかさ）が分析されてもよい。
【００５０】
ステップ２１４において、プロセッサ１０２は、ターゲット物体３１０のすべての部分が推定されているかどうかを判定する。プロセッサ１０２は、同様に、第２クラスタ部分４８０を抽出すると共に関連付けられたパラメータを推定するべく、ステップ２１０に戻る。
【００５１】
例えば、図４Ｅに示されているように、第２視覚的データ３０８の第３エンクロージャ４５４（並びに、関連付けられた第３中心点４２２）は、第３エンクロージャ３５４（並びに、第３中心点３２２）に対応しており、且つ、これによって較正される。較正済みの第３中心点４２２は、ターゲット物体３１０の第２部分に対応した第２視覚的データ３０８内の３Ｄポイントデータを抽出するべく、基準点として使用されてもよい。プロセッサ１０２は、較正済みの第３中心点４２２が、ターゲット物体３１０の第２部分に対応した視覚的データセット３０４の一部分上において位置決めされるか、これに対応しているか、又はこの内部に含まれるように、較正済みの第３中心点４２２を判定してもよい。図４Ｅに示されているように、第３エンクロージャ４５４及び第２視覚的データ３０８内の第３中心点４２２を使用することにより、第３中心点４２２の周りのクラスタ４６０の第２クラスタ部分４８０が抽出される。
【００５２】
ステップ２１２において、方法／システム２００は、例えば、第２クラスタ部分４８０上への、その周りにおける、又はその内部における第２部分フィッティングモデル３８０の最良のフィットを提供する関連付けられたパラメータを推定することにより、第３物体モデル又は第２部分フィッティングモデル３８０のパラメータを推定している。ＲＡＮＳＡＣ法は、関連付けられたパラメータによって定義された第２クラスタ部分４８０にフィッティングする最も近接した第２部分フィッティングモデル３８０を推定するべく、該当値と外れ値を弁別しうる。従って、第２部分フィッティングモデル３８０の半径及び高さが推定されてもよい。
【００５３】
例えば、図５Ａに示されているように、例えば、上述のＲＡＮＳＡＣ法を使用することにより、第２クラスタ部分５８０の第２部分高さ５８２及び第２分直径５８４（第２クラスタ部分４８０に対応したもの）が推定されてもよい。プロセッサ１０２は、相互の関係における又は環境及びその内部の物体との関係における推定された物体フィッティングモデル、第１部分フィッティングモデル３７０、及び第２部分フィッティングモデル３８０の相対的な位置決めが、視覚的データセット３０４と一貫性を有しているかどうかを更に判定してもよい。
【００５４】
図５Ｂに示されているように、ＤＰＭ法を使用することにより、相互の関係における第１部分フィッティングモデル３７０と第２部分フィッティングモデル３８０の間の第１関係（例示を目的として、スプリング接続５９６によって表されている）が判定されてもよく、且つ、第１クラスタ部分４７０と第２クラスタ部分４８０の間の第２関係が判定されてもよい。プロセッサ１０２は、ターゲット物体３１０の姿勢及び位置決めの推定の精度に関する推定を導出するべく、第１関係（スプリング接続５９６）と第２関係を比較してもよい。第１部分フィッティングモデル３７０の分析されたｘ、ｙ、及びｚ座標及び位置決めは、第１部分位置決め５７６によって示されており、且つ、第２部分フィッティングモデル３８０の分析されたｘ、ｙ、及びｚ座標及び位置決めは、第２部分位置決め５８６によって示されている。
【００５５】
図５Ｄに示されているように、第１判定済み関係は、第２判定済み関係とマッチングしている。例えば、第２部分フィッティングモデル３８０は、第１部分フィッティングモデル３７０の直接上方となると共に第１部分フィッティングモデル３７０と同心状態となるように、適切に推定される。従って、ＤＰＭ法は、第１部分フィッティングモデル３７０及び第２部分フィッティングモデル３８０の姿勢及び位置決めが、十分な程度の精度によって推定されていると判定する。
【００５６】
図５Ｃは、第１判定済み関係（スプリング接続５９８）と第２判定済み関係が一貫性を有していない際に、ＤＰＭ法が推定を拒絶することになるシナリオを示している。図５Ｃのモデルは、拒絶されており、その理由は、第１関係が、水平方向において延伸したスプリング接続５９８によって明らかなように、第１部分フィッティングモデル３７０が第２部分フィッティングモデル３８０の直接上方において位置決めされていないことを示唆しているからである。従って、図５Ｃに示されているモデルは、第１クラスタ部分４７０と第２クラスタ部分４８０の間の第２関係と一貫性を有してはいない。
【００５７】
ステップ２１８において、ターゲット物体３１０及びすべての部分のパラメータ推定が終了した後に、プロセッサ１０２は、推定されたパラメータ及び判定された位置決めに基づいてターゲット物体３１０の姿勢及び位置決めを判定してもよい。図５Ｄは、ターゲット物体３１０の姿勢及び位置決めを定義する、図２、図３Ａ〜図３Ｅ、図４Ａ〜図４Ｆ、及び図５Ａ〜図５Ｅとの関係において上述したステップから生成された推定パラメータを示している。
【００５８】
図５Ｅに示されているように、学習された物体モデル５９０は、第１学習済み物体モデル部分５９２と第２学習済み物体モデル部分５９４を有するものして保存される。第１学習済み物体モデル部分５９２及び第２学習済み物体モデル部分５９４のそれぞれは、少なくとも１つのパラメータ（例えば、半径又は直径及び高さ）を有してもよい。
【００５９】
ステップ２１８において、プロセッサ１０２は、複数の物体モデルのうちの少なくとも１つの物体モデルのパラメータを動的且つ自動的に調節又は補完している。一実施形態においては、新しい物体モデルは、パラメータの組と共に保存されてもよい。例えば、学習された物体モデル５９０は、第１学習済み物体モデル部分５９２と第２学習済み物体モデル部分５９４という２つの積層された円筒体を有するものとして保存されてもよい。
【００６０】
本発明の１つの固有の利点は、プロセッサ１０２が、新たに遭遇した物体の認識を改善するべく、新しい物体モデルを学習してもよく、且つ、物体モデルをデータベース１１２内において保存してもよいという点にある。学習された物体モデル５９０は、類似の形状、構造、パラメータ、位置決め、及びその他の姿勢情報を有する将来において遭遇される物体を認識するべく、使用されてもよい。例えば、プロセッサ１０２は、新しく遭遇した物体のパラメータを認識及び推定するべく、第１学習済み物体モデル部分５９２を物体フィッティングモデルとして、第１学習済み物体モデル部分５９２を第１部分フィッティングモデルとして、且つ、第２学習済み物体モデル部分５９４を第２部分フィッティングモデルとして、使用してもよい。
【００６１】
ステップ２２０において、プロセッサ１０２は、視覚的データセット３０４内のすべての物体が検出されたかどうかを判定している。新しい物体が認識された場合には、ステップ２０８〜２２０が、すべての必要とされている物体が推定される時点まで、反復され、且つ、方法／ステップ２００は、ステップ２２２において推定を完了させる。
【００６２】
図６Ａに示されているように、例えば、新しく遭遇した物体６１０に対応したデータは、ステップ２０２において、受け取られるか又は検出されている。ステップ２０４において、プロセッサ１０２は、新たに遭遇した物体６１０に対して形状又は構造において類似した保存されている複数の物体モデル（この関連においては、学習された物体モデル５９０を含む）のうちの１つの物体モデルについてサーチしてもよい。
【００６３】
一実施形態においては、学習された物体モデル５９０のうちの２つ以上が、同一のラベルと関連付けられてもよく、或いは、複数の物体モデルのうちの１つのグループとして分類されてもよく、このグループの学習されたモデル物体は、少なくとも１つの共通的な特性を共有している。例えば、グループは、少なくとも１つの共通特性（例えば、瓶の第１部分と第２部分に関する共通特性）を有する瓶としてラベル付与されてもよい。例えば、第１学習済み物体モデル（例えば、学習された物体モデル５９０）が、実質的に円筒形である第１学習済み物体モデル部分５９２を有する瓶に対応している際には、学習された物体モデル５９０は、瓶グループに属するものとして、割り当てられると共に／又はラベル付与される。プロセッサ１０２が、方法／システム２００を使用することにより、例えば、箱に対して形状又は構造において実質的に類似した第１部分を有する瓶の第２学習済み物体モデルを登録する際には、プロセッサ１０２は、第２学習済み物体モデルを瓶グループに割り当ててもよいと共に／又は、瓶ラベルを第２学習済み物体モデルに割り当ててもよい。
【００６４】
図６Ｂに示されているように、例えば、プロセッサ１０２は、新たに遭遇した物体６１０が、学習された物体モデル５９０に対して全体形状又は構造において類似していると判定する。例えば、プロセッサ１０２は、新たに遭遇した物体６１０が、第２学習済み物体モデル部分５９４に対して形状及びパラメータ（直径及び高さ）において類似した第２の新たに遭遇した物体部分の直接下方において位置決めされた第１学習済み物体モデル部分５９２に対して形状及びパラメータ（直径及び高さ）において類似した第１の新たに遭遇した物体部分を有するものと予想する。
【００６５】
プロセッサ１０２は、クラスタ６８６を抽出してもよく、且つ、物体フィッティング学習済みモデル６９０をクラスタ６８６上に、その周りにおいて、或いは、その内部においてフィッティングしてもよい。物体フィッティング学習済みモデル６９０が、新たに遭遇した物体６１０に緊密にフィッティングしている場合には、図２において破線のエンクロージャによって示されているステップグループ２２４において表されるクラスタの部分のセグメント化及び抽出は不要であろう。例えば、物体フィッティング学習済みモデル６９０とフィッティングするクラスタ６８６の地点の百分率が、上述のように調査されてもよい。
【００６６】
例えば、プロセッサ１０２が複数の物体モデルのうちの１つの物体モデルについてサーチした際に、複数の物体モデルが、視覚的データセット３０４の一部分に対して形状又は構造において類似している場合がある。例えば、プロセッサ１０２が、瓶としてラベル付与されると共に／又は上述の瓶グループと関連付けられた登録済みの学習された物体モデルをサーチしうる際には、円筒形の本体を有する第１のものと、箱に対して形状又は構造において実質的に類似した本体を有する第２のものが検出されうる。プロセッサ１０２は、複数の物体モデルのうちのいずれが、第１視覚的データ３０６の分析された部分用の最も近接したフィットを有しているのかを判定するように、構成されている。例えば、プロセッサ１０２は、円筒形の本体を有する第１学習済み物体モデルに関する第１スコア（例えば、第１認識精度百分率）と、箱に対して形状又は構造において実質的に類似している第１部分（瓶の本体）を有する第２学習済み物体モデルに関する第２スコア（例えば、第２認識精度百分率）と、を割り当ててもよい。プロセッサ１０２は、最高の関連付けられたスコア（例えば、認識精度百分率）と関連付けられた複数の物体モデルのうちの１つの物体モデルを第１視覚的データ３０６の分析された部分に対応するものとして選択及び認識する。例えば、最高の関連付けられたスコア（例えば、認識精度百分率）を有する瓶グループのうちの第１又は第２学習済み物体モデルが選択されうる。
【００６７】
方法／システム２００の１つの新しい利点は、方法／システム２００のステップ２０２、２０４、２０６、２０８、及び２１６との関係において上述したように、プロセッサ１０２が、例えば、学習された物体モデル５９０及び物体フィッティング学習済みモデル６９０を使用することにより、パラメータ６７２、６７４、６８２、及び６８４並びに第１部分位置決め６７６及び第２部分位置決め６８４を相対的に正確に且つ／又は相対的に少ないプロセスステップにより、推定しうるという点にある。
【００６８】
一実施形態においては、プロセッサ１０２は、複数の保存されている物体モデルのうちの少なくとも１つとマッチングしない新たに遭遇した物体に関する疑問又は問合せに対応した出力データを生成するべく、通信ユニット１０４又は外部装置１１４を更に制御してもよい。別の実施形態においては、プロセッサ１０２は、新たに遭遇した物体の特性に関する電子装置の応答に対するユーザーの応答に基づいて、方法／システム２００の分析を補完してもよい。
【００６９】
上述の実施形態においては、簡潔性を目的として、ターゲット物体３１０の２つの部分に対応したデータの分析について記述されている。但し、プロセスは、本発明の範囲を限定することなしに、ターゲット物体の更なる部分（例えば、３つ以上の部分）について反復されてもよい。例えば、方法／システム２００のステップ２１４との関係において記述されているように、分析は、必要に応じて、ターゲット物体の３つ以上の部分について反復されてもよい。更には、本発明の範囲を限定することなしに、複数のターゲット物体が分析されてもよい。例えば、方法／システム２００のステップ２２０との関係において記述されているように、分析は、必要に応じて、方法／システム２００のステップ２２２に到達する前に、３つ以上のターゲット物体について反復されてもよい。
【００７０】
本明細書において使用されている「ネットワーク」という用語は、任意のクラウド、クラウド演算システム、又は電子通信システム、或いは、ハードウェア及び／又はソフトウェアコンポーネントを内蔵する方法を含む。関係者の間における通信は、例えば、電話網、エクストラネット、イントラネット、インターネット、取引地点装置（販売地点装置、パーソナルデジタルアシスタント（例えば、ａｎｄｒｏｉｄ、ｉＰｈｏｎｅ（登録商標）、Ｐａｌｍ  Ｐｉｌｏｔ（登録商標）、Ｂｌａｃｋｂｅｒｒｙ（登録商標））、セルラー電話機、キオスクなど）、オンライン通信、衛星通信、オフライン通信、無線通信、トランスポンダ通信、ローカルエリアネットワーク（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：ＬＡＮ）、ワイドエリアネットワーク（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：ＷＡＮ）、仮想プライベートネットワーク（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｒｔｅ  Ｎｅｔｗｏｒｋ：ＶＰＮ）、ネットワーク又はリンク型装置、キーボード、マウス、及び／又は任意の適切な通信又はデータ入力モードなどの任意の適切な通信チャネルを通じて実現されてもよい。インターネットとの関連において利用されるプロトコル、規格、及びアプリケーションソフトウェアに関係した具体的な情報については、一般に、当業者には既知であり、且つ、従って、本明細書において詳述する必要はない。
【００７１】
「クラウド」又は「クラウド演算」は、最小限の管理の努力又はサービスプロバイダのやり取りによって迅速に提供及び解放されうる構成可能な演算リソース（例えば、ネットワーク、サーバー、ストレージ、アプリケーション、及びサービス）の共有プールに対する便利なオンデマンドのネットワークアクセスを可能にするモデルを含む。クラウドコンピューティングは、場所から独立したコンピュータ利用を含んでもよく、これによれば、共有サーバーは、リソース、ソフトウェア、及びデータをコンピュータ及びその他の装置にオンデマンドで提供する。
【００７２】
システム、方法、及びコンピュータプログラムプロダクトが提供される。「様々な実施形態」、「いくつかの実施形態」、「１つの実施形態」、「一実施形態」、「例示用の一実施形態」などに対する参照は、記述されている実施形態が、特定の特徴、構造、又は特性を含んでもよいが、すべての実施形態が、必ずしも、特定の特徴、構造、又は特性を含まなくてもよいことを示している。更には、このようなフレーズは、必ずしも、同一の実施形態を参照するものではない。更には、特定の特徴、構造、又は特性が１つの実施形態との関連において記述されている際には、明示的に記述されているかどうかとは無関係に、その他の実施形態との関連において、このような特徴、構造、又は特性を用いることが当業者の知識に含まれていることにも留意されたい。この説明を参照した後に、当業者には、代替実施形態において本開示を実装する方法が明らかとなろう。
【００７３】
本明細書において開示された例との関連において記述されている方法又はアルゴリズムのステップは、直接的にハードウェアにおいて、プロセッサ１０２によって実行されるソフトウェアモジュールにおいて、或いは、これら２つの組合せにおいて、実施されてもよい。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードウェア、着脱自在のディスク、ＣＤ−ＲＯＭ、又は当技術分野において既知の任意のその他の形態のストレージ媒体内に存在してもよい。例示用のストレージ媒体は、プロセッサ１０２が、ストレージ媒体から情報を読み取ると共にこれに対して情報を書き込みうるように、プロセッサ１０２に対して結合されている。代替肢においては、ストレージ媒体は、プロセッサ１０２と一体化されたものであってもよい。プロセッサ１０２及びストレージ媒体は、アプリケーション固有の集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）内に存在してもよい。
【００７４】
方法／システムは、本明細書においては、機能ブロックのコンポーネント、画面ショット、任意選択の選択肢、及び様々な処理ステップの観点において記述されている場合がある。このような機能ブロックは、特定の機能を実行するように構成された任意の数のハードウェア及び／又はソフトウェアコンポーネントによって実現されうることを理解されたい。例えば、方法／システムは、１つ又は複数のマイクロプロセッサ又はその他の制御装置の制御下において、様々な機能を実行してもよい、例えば、メモリ要素、処理要素、ロジック要素、ルックアップテーブル、及びこれらに類似したものなどの様々な統合された回路コンポーネントを利用してもよい。同様に、方法／システムのソフトウェア要素は、様々なアルゴリズムがデータ構造、物体、プロセス、ルーチン、又はその他のプログラミング要素の任意の組合せによって実装される状態において、ＶＰＬ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ、ＪａｖａＳｃｒｉｐｔ、ＶＢＳｃｒｉｐｔ、Ｍａｃｒｏｍｅｄｅｉａ  Ｃｏｌｄ  Ｆｕｓｉｏｎ、ＣＯＢＯＬ、Ｍｉｃｒｏｓｏｆｔ  Ａｃｔｉｖｅ  Ｓｅｒｖｅｒ  Ｐａｇｅ、アセンブリ、ＰＥＲＬ、ＰＨＰ、ａｗｋ、Ｐｙｔｈｏｎ、Ｖｉｓｕａｌ  Ｂａｓｉｃ、ＳＱＬ  Ｓｔｏｒｅｄ  Ｐｒｏｃｅｄｕｒｅ、ＰＬ／ＳＱＬ、任意のＵｎｉｘシェルスクリプト、及びＸＭＬなどの任意のプログラミング又はスクリプティング言語によって実装されてもよい。更には、方法／システムは、データ送信、シグナリング、データ処理、ネットワーク制御、及びこれらに類似したもののための任意の数の従来の技法を利用してもよいことに留意されたい。
【００７５】
当業者には理解されるように、方法／システムは、既存システムのカスタマイズ、アドオン製品、アップグレードされたソフトウェア、スタンドアロンシステム、分散システム、方法、データ処理システム、データ処理用の装置、及び／又はコンピュータプログラムプロダクトとして実施されてもよい。更には、方法／システムは、ストレージ媒体内において実施されたコンピュータ可読プログラムコード手段を有する一時的ではないコンピュータ可読ストレージ媒体上のコンピュータプログラムプロダクトの形態を有してもよい。ハードディスク、ＣＤ−ＲＯＭ、光学ストレージ装置、磁気ストレージ装置、及び／又はこれらに類似したものを含む任意の適切なコンピュータ可読ストレージ媒体が利用されてもよい。
【００７６】
方法／システムの例示用の実施形態は、例示を目的としたスタイルで開示されている。従って、全体を通じて利用されている用語は、非限定的な方式で判読されることを要する。本明細書における教示内容に対する小規模な変更が当業者によって想起されることになるが、本出願に対して付与される特許の範囲に含まれることが意図されているものは、本明細書において寄与されている当技術分野に対する進歩の範囲に合理的に含まれるすべてのこのような実施形態であり、且つ、その範囲は、添付の請求項及びその均等物によるものを除いて、限定されるものではないことを理解されたい。
【図１】
0006306683.tif 000002
【図２】
0006306683.tif 000003
【図３Ａ】
0006306683.tif 000004
【図３Ｂ】
0006306683.tif 000005
【図３Ｃ】
0006306683.tif 000006
【図３Ｄ】
0006306683.tif 000007
【図３Ｅ】
0006306683.tif 000008
【図４Ａ】
0006306683.tif 000009
【図４Ｂ】
0006306683.tif 000010
【図４Ｃ】
0006306683.tif 000011
【図４Ｄ】
0006306683.tif 000012
【図４Ｅ】
0006306683.tif 000013
【図４Ｆ】
0006306683.tif 000014
【図５Ａ】
0006306683.tif 000015
【図５Ｂ】
0006306683.tif 000016
【図５Ｃ】
0006306683.tif 000017
【図５Ｄ】
0006306683.tif 000018
【図５Ｅ】
0006306683.tif 000019
【図６Ａ】
0006306683.tif 000020
【図６Ｂ】
0006306683.tif 000021