(57)【特許請求の範囲】
【請求項１】
拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための方法であって、
オブジェクトの二次元画像を画像領域表現に変換することと、
前記画像領域表現のノード同士の間のリンクに基づいて、前記画像領域内の属性付きグラフを画定することと、
モデル領域内の別の属性付きグラフを画定することと、
前記モデル領域内のそれぞれのノードに関する変動画像のセットに時間平均化を適用することによって、前記モデル領域内の前記ノードに関する実際の属性値を推定することと、
前記属性付きグラフの対応するノード同士の間のリンクを識別および活性化することによって、前記画像領域内の前記属性付きグラフと前記モデル領域内の前記属性付きグラフとをマッチングさせることとを含む方法。
【請求項２】
前記画像領域内の前記属性付きグラフと前記モデル領域内の前記属性付きグラフとの間のいくつかの接続を削減することと、
前記削減された接続に基づくパターンを前記二次元画像のモデル領域表現にバックラベリングすることと
をさらに備える、請求項１に記載の方法。
【請求項３】
前記二次元画像を前記モデル領域表現とオーバーレイすることによって、合成画像をレンダリングすること
をさらに備える、請求項２に記載の方法。
【請求項４】
前記画像領域表現内のそれぞれのノードに関連する特徴を決定することと、
前記特徴を前記二次元画像の画素に適用することによって、前記画像領域表現内のそれぞれのノードに関する局所特徴の活動ベクトルを表す頂点ラベルを取得することと
をさらに備える、請求項１に記載の方法。
【請求項５】
前記画像領域表現の前記ノード同士の間にリンクを確立することによって、前記画像領域表現の前記ノード同士の間の接続性を表すエッジラベルを取得すること
をさらに備える、請求項４に記載の方法。
【請求項６】
前記画像領域内の前記属性付きグラフが、前記画像領域表現内の前記ノード、ならびに関連する頂点レベルおよびエッジラベルの集合物として画定される、請求項５に記載の方法。
【請求項７】
前記モデル領域内のノード同士の間の結合を時間相関として符号化すること
をさらに備える、請求項１に記載の方法。
【請求項８】
前記符号化された結合に基づいて、重みを計算して、前記モデル領域内の前記ノード同士の間のリンクに割り当てること
をさらに備える、請求項７に記載の方法。
【請求項９】
拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための装置であって、
画像データとグラフデータとを記憶するように適合されたメモリと、
動的モデリングモジュールを実行するように適合された第１の処理装置であって、前記動的モデリングモジュールが、
二次元（２Ｄ）画像を前記記憶された画像データから、それぞれが画像領域内の少なくとも１つの別個の特徴を符号化するリンクされたノードの２Ｄアレイを含む画像領域表現に変換することと、
前記画像領域内のそれぞれのノードに関する前記少なくとも１つの特徴の活動ベクトルを表す頂点ラベルを決定することと、
前記画像領域の前記ノード同士の間の接続性を表すエッジラベルを決定することと、
前記頂点ラベルおよび／または前記エッジラベルのうちの１つもしくは複数に基づいてモデル領域内の属性付きグラフを画定することであって、前記属性付きグラフが前記グラフデータの一部として前記メモリ内に記憶されていることと
を行うように適合された第１の処理装置と、
グラフマッチングモジュールを実行するように適合された第２の処理装置であって、前記グラフマッチングモジュールが、
前記モデル領域内のそれぞれのノードに関する変動画像のセットに時間平均化を適用することによって、前記モデル領域内の前記ノードに関する実際の属性値を推定することと、
前記画像領域内の前記ノードと前記モデル領域内の対応するノードとの間のリンクを識別および活性化することと、
ノード同士の間のいくつかの接続を削減することと
を行うように適合された第２の処理装置とを備える装置。
【請求項１０】
前記動的モデリングモジュールが、
前記画像領域内の前記ノードをグループ化して、選択的に活性化するようにさらに適合された、請求項９に記載の装置。
【請求項１１】
前記グラフマッチングモジュールが、
前記メモリから接続パターンを取り出すことと、
前記メモリから取り出された前記接続パターンを備えた頂点位置に関する検索を実行することとによって、前記画像領域内の前記ノードと前記モデル領域内の前記ノードとの間の前記リンクを識別および活性化するようにさらに適合された、請求項９に記載の装置。
【請求項１２】
前記グラフマッチングモジュールが、
事前に画定された費用関数に従って、前記頂点ラベルと前記エッジラベルとをマッチングさせるようにさらに適合された、請求項１１に記載の装置。
【請求項１３】
レンダリングモジュールを実行するように適合された第３の処理装置であって、前記レンダリングモジュールが、前記削減された接続に基づいて、前記二次元画像を前記画像のモデル領域表現とオーバーレイすることによって、合成画像をレンダリングするように適合された第３の処理装置
をさらに備える、請求項９に記載の装置。
【請求項１４】
前記第１の処理装置、前記第２の処理装置、および前記第３の処理装置が、それぞれ、第１のコンピューティング装置内、第２のコンピューティング装置内、第３のコンピューティング装置内に統合され、前記第１のコンピューティング装置、前記第２のコンピューティング装置、および前記第３のコンピューティング装置が、ネットワークを介して通信可能である、請求項１３に記載の装置。
【請求項１５】
前記第１の処理装置、前記第２の処理装置、および前記第３の処理装置が、同じプロセッサの一部である、 請求項１３に記載の装置。
【請求項１６】
拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための命令を記憶しているコンピュータ可読記憶媒体であって、前記命令は、前記ＡＲシステムに、
オブジェクトの二次元画像を、それぞれが特徴検出器のセットを含む複数のリンクされたノードを含む画像領域表現に変換することと、
前記特徴検出器を前記二次元画像のそれぞれの画素に適用することによって、前記特徴検出器の活動ベクトルを表す頂点ラベルを決定することと、
それぞれのノード同士の間のリンクを検出することによって、前記ノード同士の間の接続性を表すエッジラベルを決定することと、
前記頂点ラベルと前記エッジラベルとに基づいて、前記画像領域内の属性付きグラフを生成することと、
モデル領域内の属性付きグラフを画定することと、
前記属性付きグラフの頂点ラベルとエッジラベルとをマッチングさせることに基づいて、前記画像領域内の前記属性付きグラフと前記モデル領域内の前記属性付きグラフとの間の接続を決定することと、
前記接続を前記画像領域と前記モデル領域との間のトポロジ保存写像に削減することとを実行させるためのものである、コンピュータ可読記憶媒体。
【請求項１７】
前記命令は、前記ＡＲシステムに、
前記写像された接続に基づいてパターンを認識することと、
前記認識されたパターンに基づいて、仮想画像を生成することと、
前記二次元画像と前記仮想画像とをオーバーレイすることに基づいて、合成画像を生成することとをさらに実行させるためのものである、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記命令は、前記ＡＲシステムに、
頂点位置に関して検索して、事前に画定された費用関数に従って、それぞれの頂点位置に関する頂点ラベルとエッジラベルとの間のマッチを最適化することによって、前記画像領域内の前記属性付きグラフと前記モデル領域内の前記属性付きグラフとの間の前記接続を決定することをさらに実行させるためのものである、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記命令は、前記ＡＲシステムに、
前記画像領域内のノード同士の間のリンクに割り当てられた重みに基づいて、それぞれ、前記画像領域内および前記モデル領域内の属性付きグラフの対に関する接続を決定することをさらに実行させるためのものである、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記画像領域内の前記属性付きグラフを生成することと、前記モデル領域内の前記属性付きグラフを画定することと、前記画像領域内の前記属性付きグラフと前記モデル領域内の前記属性付きグラフとの間の接続を決定することとが、インターレース方式で実行される、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項２１】
それぞれのノードが、局所光強度、反射特性、オブジェクトポーズ、オクルージョン、および／または背景変動を含む１つもしくは複数の特徴と関連付けられる、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項２２】
拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するためのシステムであって、
実シーンの二次元（２Ｄ）画像を取り込むように適合された少なくとも１つのセンサと、
前記２Ｄ画像を、それぞれが特徴検出器のセットを含む、前記画像領域内のノードの２Ｄアレイを含む画像領域表現に変換するように適合された画像処理サーバと、
前記画像領域内のそれぞれのノードに関する前記少なくとも１つの特徴の活動ベクトルを表す頂点ラベルを決定することと、
前記画像領域の前記ノード同士の間の接続性を表すエッジラベルを決定することと、
前記頂点ラベルと前記エッジラベルとに基づいて、前記画像領域内の属性付きグラフとモデル領域内の別の属性付きグラフとを画定することと、
前記モデル領域内のそれぞれのノードに関する変動画像のセットに時間平均化を適用することによって、前記モデル領域内の前記ノードに関する実際の属性値を推定することと、
前記画像領域内の前記ノードと前記モデル領域内の対応するノードとの間のリンクを識別および活性化することと、
ノード同士の間のいくつかの接続を削減することと
を行うように適合された現実サーバと、
前記２Ｄ画像と、前記画像領域内の前記属性付きグラフと前記画像領域内の他の属性付きグラフとの間の前記削減された接続に基づいてレンダリングされた仮想画像とをオーバーレイすることによって、拡張シーンを生成するように適合された画像生成サーバとを備えたシステム。
【請求項２３】
前記現実サーバが、
前記モデル領域内の前記属性付きグラフを連想データ記憶装置内に記憶するようにさらに適合された、請求項２２に記載のシステム。
【請求項２４】
前記画像処理サーバ、前記現実サーバ、および前記画像生成サーバが、集中ＡＲシステムおよび分散型ＡＲシステムのうちの１つの一部である、請求項２２に記載のシステム。
【請求項２５】
前記拡張シーンを可視化するように適合された可視化システムをさらに含み、前記可視化システムが、ヘッドマウントディスプレイ、バーチャル網膜ディスプレイ、および／またはモニタのうちの１つもしくは複数を含む、請求項２２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１０年３月１０日に出願した、ＲＯＢＵＳＴ  ＯＢＪＥＣＴ  ＲＥＣＯＧＮＩＴＩＯＮ  ＢＹ  ＤＹＮＡＭＩＣ  ＭＯＤＥＬＩＮＧ  ＩＮ  ＡＵＧＭＥＮＴＥＤ  ＲＥＡＬＩＴＹという表題の米国特許出願第１２／７２０，８５８号の利益を主張するものである。本特許出願の開示は、参照によりすべての目的で組み込まれる。
【背景技術】
【０００２】
別段本明細書において示されない限り、本節で説明される材料は、本出願の請求項に対する先行技術ではなく、本節に包含することによって先行技術であると認められるものではない。
【０００３】
拡張現実（Ａｕｇｍｅｎｔｅｄ  ｒｅａｌｉｔｙ）（ＡＲ）は、その要素が、仮想画像、典型的には、コンピュータ生成画像によって拡張され、それによって複合現実を生み出す物質界（実世界）環境の眺めを指す。この拡張は、通常、リアルタイムであり、スポーツイベント、軍事演習、ゲームなどの環境要素に関連し得る。ＡＲ技術は、オブジェクト認識と画像生成とを追加することによって、人物を取り巻く実世界に関する情報を双方向性にし、デジタル的に使用可能にできる。環境およびオブジェクトに関する人工情報を実世界のビューレイヤから分離した情報レイヤとして記憶して、取り出すことが可能である。
【０００４】
本開示では、ＡＲシステムにいくつかの制限が存在することを理解している。オブジェクト認識は、ＡＲの主なコンポーネントであり、オブジェクト認識ではアピアランスベースの（ａｐｐｅａｒａｎｃｅ−ｂａｓｅｄ）手法が一般に使用される。アピアランスベースのオブジェクト認識手法は、形、反射特徴、シーン内のポーズ、照明状態、および同等効果の組み合わせ効果を処理することが可能である。さらに、アピアランスベースの表現は、伝統的な形状表現と異なり、自動学習段階を通じて獲得可能である。しかし、アピアランスベースの認識技法は、直接的なアピアランスベースのマッチングに基礎を置き、オクルージョン（ｏｃｃｌｕｓｉｏｎｓ）、アウトライア（ｏｕｔｌｉｅｒｓ）、および変動背景をうまく処理することができないため、アピアランスベースの認識技法にはさまざまな課題が残っている。すなわち、アピアランスベースの手法は頑強ではなく、この場合、頑強性という用語は、結果が、さまざまなタイプの雑音の存在下で安定した状態を保ち、一定のアウトライアを許容できることを指す。
【発明の概要】
【課題を解決するための手段】
【０００５】
以下の概要は、単なる例示であり、決して限定的なものではない。上述の例示的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴は、図面と以下の詳細な説明とを参照することによって明らかになるであろう。
【０００６】
本開示は、一般に、拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための方法を説明する。拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための方法は、オブジェクトの二次元画像を画像領域表現に変換することを含むことが可能である。拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための方法は、画像領域表現のノード同士の間のリンクに基づいて、画像領域内の属性付きグラフ（ａｔｔｒｉｂｕｔｅｄ  ｇｒａｐｈ）を画定することと、モデル領域内の別の属性付きグラフを画定することとを含むことも可能である。拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための方法は、属性付きグラフの対応するノード同士の間のリンクを識別および活性化することによって、画像領域内の属性付きグラフとモデル領域内の属性付きグラフとをマッチングさせることをさらに含むことが可能である。
【０００７】
本開示は、拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための装置も説明する。拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための装置は、画像データとグラフデータとを記憶するように適合されたメモリと、動的モデリングモジュールを実行するように適合された第１の処理装置であって、動的モデリングモジュールが、二次元（２Ｄ）画像を記憶された画像データから、それぞれが画像領域内の少なくとも１つの別個の特徴を符号化する、リンクされたノードの２Ｄアレイを含む画像領域表現に変換することと、画像領域内のそれぞれのノードに関する少なくとも１つの特徴の活動ベクトル（ａｃｔｉｖｉｔｙ  ｖｅｃｔｏｒ）を表す頂点ラベルを決定することと、画像領域のノード同士の間の接続性を表すエッジラベルを決定することと、頂点ラベルおよび／またはエッジラベルのうちの１つもしくは複数に基づいてモデル領域内の属性付きグラフを画定することであって、属性付きグラフがグラフデータの一部としてメモリ内に記憶されている、画定することとを行うように適合可能な第１の処理装置とを含むことが可能である。拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための装置は、グラフマッチングモジュールを実行するように適合された第２の処理装置であって、グラフマッチングモジュールが、画像領域内のノードとモデル領域内の対応するノードとの間のリンクを識別および活性化することと、類似の特徴を備えたノード同士の間のいくつかの接続を削減することとを行うように適合された第２の処理装置をさらに含むことが可能である。
【０００８】
本開示は、拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための命令を記憶しているコンピュータ可読記憶媒体をさらに説明する。これらの命令は、オブジェクトの二次元画像を、それぞれが特徴検出器のセットを含む複数のリンクされたノードを含む画像領域表現に変換することを含むことが可能である。これらの命令は、特徴検出器を二次元画像のそれぞれの画素に適用することによって、特徴検出器の活動ベクトルを表す頂点ラベルを決定することを含むことも可能である。これらの命令は、それぞれのノード同士の間のリンクを検出することによって、ノード同士の間の接続性を表すエッジラベルを決定することを含むことも可能である。これらの命令は、頂点ラベルとエッジラベルとに基づいて、画像領域内の属性付きグラフを生成することと、モデル領域内の属性付きグラフを画定することであって、モデル領域内の属性付きグラフが画像領域内の属性付きグラフの理想化された複写であってもよい、画定することとを含むことも可能である。これらの命令は、属性付きグラフの頂点ラベルとエッジラベルとをマッチングさせることに基づいて、画像領域内の属性付きグラフとモデル領域内の属性付きグラフとの間の接続を決定することと、接続を画像領域とモデル領域との間のトポロジ保存写像（ｔｏｐｏｌｏｇｙ−ｐｒｅｓｅｒｖｉｎｇ  ｍａｐｐｉｎｇ）に削減することとをさらに含むことが可能である。
【０００９】
本開示は、拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するためのシステムをさらに説明する。拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するためのシステムは、実シーンの二次元（２Ｄ）画像を取り込むように適合された少なくとも１つのセンサと、２Ｄ画像を、それぞれが特徴検出器のセットを含む、画像領域内のノードの２Ｄアレイを含む画像領域表現に変換するように適合された画像処理サーバとを含むことが可能である。拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するためのシステムは、画像領域内のそれぞれのノードに関する少なくとも１つの特徴の活動ベクトルを表す頂点ラベルを決定することと、画像領域のノード同士の間の接続性を表すエッジラベルを決定することと、頂点ラベルとエッジラベルとに基づいて、領域内の属性付きグラフとモデル領域内の属性付きグラフとを画定することと、画像領域内のノードとモデル領域内の対応するノードとの間のリンクを識別および活性化することと、類似の特徴を備えたノード同士の間のいくつかの接続を削減することとを行うように適合された現実サーバを含むことも可能である。拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するためのシステムは、２Ｄ画像と、画像領域内の属性付きグラフと画像領域内の他の属性付きグラフとの間の削減された接続に基づいてレンダリングされた（ｒｅｎｄｅｒｅｄ）仮想画像とをオーバーレイすることによって、拡張シーンを生成するように適合された画像生成サーバを含むことも可能である。
【００１０】
本開示の前述の特徴および他の特徴は、添付の図面と共に、以下の説明および添付の請求項から十分明らかになるであろう。これらの図面は本開示によるいくつかの実施形態だけを示し、したがって、その範囲の限定と見なさないことを理解して、本開示は、添付の図面を使用することによって、追加の特異性および詳細を用いて説明される。
【図面の簡単な説明】
【００１１】
【図１】ある例示的な拡張現実（ＡＲ）システムを示す図である。
【図２】動的モデリングとグラフマッチングとを用いたある例示的なＡＲシステムのブロック図である。
【図３Ａ】ある例示的な動的モデリングサブシステムにおける例示的なプロセスのブロック図である。
【図３Ｂ】ある例示的なグラフマッチングサブシステムにおける動作の図である。
【図３Ｃ】ある例示的なグラフ選択サブシステムにおける動作の図である。
【図４】動的モデリングとグラフマッチングとを用いたシステムにおいて入力画像をどのように属性付きグラフとして表すことができるかを例示する図である。
【図５】ＡＲシステムにおいて動的モデリングとグラフマッチングとを実施するために使用可能な汎用コンピューティング装置を例示する図である。
【図６】図５の装置５００など、コンピューティング装置によって実行可能な、ある例示的な方法を示す流れ図である。
【図７】すべて本明細書で説明される少なくともいくつかの実施形態に従って構成された、ある例示的なコンピュータプログラム製品のブロック図である。
【発明を実施するための形態】
【００１２】
以下の詳細な説明において、詳細な説明の一部を形成する添付の図面が参照される。図面において、文脈上別段の規定がない限り、類似の記号は、通常、類似のコンポーネントを識別する。詳細な説明、図面、および請求項で説明される例示的な実施形態は、限定的であることが意味されない。本明細書で提示される主題の趣旨または範囲から逸脱せずに、その他の実施形態を利用することが可能であり、その他の変更を行うことが可能である。一般に、本明細書で説明され、図面において例示される本開示の態様は、そのすべてが本明細書で明示的に企図される、幅広い異なる構成で構成、置き換え、組み合わせ、分離、および設計できる点を容易に理解されよう。
【００１３】
本開示は、一般に、特に、動的モデリングとグラフマッチングとに基づくＡＲシステムにおいての頑強なオブジェクト認識に関する方法、装置、システム、デバイス、および／またはコンピュータプログラム製品を対象とする。
【００１４】
簡単に説明すると、動的モデリングに基づく頑強なオブジェクト認識方式は、セル状領域をより高次のエンティティグループにグループ化するために、これらの領域の微小スケールの時間的構造（ｆｉｎｅ  ｓｃａｌｅ  ｔｅｍｐｏｒａｌ  ｓｔｒｕｃｔｕｒｅ）の相関を用いる。これらのエンティティは、リッチな構造を表し、ハイレベルなオブジェクトを符号化するために使用可能である。オブジェクト認識は、弾性グラフマッチングとしてフォーマット可能である。
【００１５】
図１は、いくつかの実施形態を本開示に従って実施することができる、ある例示的な拡張現実（ＡＲ）システム１００を示す。ＡＲは、実世界表示を拡張するために、ライブビデオストリーム内にコンピュータ生成画像を適用することを探索する。ＡＲシステムは、一般に、いくつかのセンサおよびアクチュエータと、実像およびコンピュータ生成画像を処理するための１つまたは複数のコンピューティング装置と、ヘッドマウントディスプレイ、バーチャル網膜ディスプレイ、モニタまたは類似の正規のディスプレイ、および同等の装置などの可視化システムとを含む、制御された環境を含む。
【００１６】
ＡＲシステム１００は、実シーンのライブ画像（オブジェクト）１０２を取り込むように構成されたセンサ１０４を含む。センサ１０４は、取込み画像としてアナログ画像もしくはデジタル画像を提供できるデジタルカメラ、ウェブカメラ、および／または類似の画像取込み装置であってもよい。（１つもしくは複数の）取込み画像は、センサ１０４によって、アナログ画像のデジタル画像へのデジタル化を実行し、デジタル画像を受信し、かつ／またはデジタル画像を処理するように適合可能な画像処理サブシステム１０６に提供することが可能である。画像処理サブシステム１０６によって提供される処理は、画像内の特徴点の位置の決定、アファイン射影の計算、エッジの追跡、フィルタリング、および／または類似の動作を含むことが可能である。画像処理サブシステム１０６は、上述の動作の結果など、射影情報を現実エンジン１１０に提供するように適合することも可能である。現実エンジン１１０は、取込み画像に基づいて、シーンをレンダリングするためにグラフィックスプロセスを実行するように適合可能である。仮想オブジェクトは、下でより詳細に議論されるように、動的モデリングとグラフマッチングとを用いるように構成可能な現実エンジン１１０によって提供することが可能である。
【００１７】
画像生成器１０８は、センサ１０４から（１つまたは複数の）基準画像を受信して、現実エンジン１１０から（１つまたは複数の）仮想オブジェクトを受信して、拡張シーンを生成するために、取り込まれた実シーン画像を（１つまたは複数の）仮想オブジェクトとオーバーレイするように適合可能である。１つの例示的な実装形態では、仮想シーンと実シーンの融合は、ルミナンスキーイング（ｌｕｍｉｎａｎｃｅ  ｋｅｙｉｎｇ）を介して実行可能であり、この場合、仮想画像はキー入力であり、実シーン画像は基準入力である。その実装形態では、実シーン画像は、ルミナンスキーに背景信号を提供し、キーヤ（ｋｅｙｅｒ）（画像生成器）に関する同期信号としての機能も果たす。ディスプレイ１１２は、ユーザによる閲覧のために、拡張シーンを生成するために使用可能な１つの例示的な可視化機構である。先に議論されたように、拡張シーン１１４の可視化をユーザに提供するために、その他のタイプのディスプレイ装置を使用することが可能である。
【００１８】
画像処理サブシステム１０６、現実エンジン１１０、および画像生成器１０８は、別個のアプリケーションとして、統合アプリケーションとして、集中サービスとして、または１つもしくは複数のコンピューティング装置上の分散型サービスとして実施可能である。１つまたは複数のコンピューティング装置は、異種であっても、同種であってもよく、汎用コンピューティング装置として実施されても、独立型コンピュータ、ネットワーク接続されたコンピュータシステム、汎用処理装置（たとえば、マイクロプロセッサ、マイクロコンとローラ、デジタル信号プロセッサ、すなわちＤＳＰ、など）、もしくは専用処理装置として含まれることが可能な専用コンピューティング装置として実施されてもよい。異なるコンピューティング装置上で実施される場合、ＡＲシステム１００のさまざまなコンポーネントは、１つまたは複数のネットワーク上で互いに通信するように構成可能である。
【００１９】
（１つまたは複数の）ネットワークは、サーバ、クライアント、スイッチ、ルータ、モデム、インターネットサービスプロバイダ、および任意の適切な通信媒体（たとえば、有線通信または無線通信）のいずれかのトポロジを含むことが可能である。実施形態によるシステムは、静的または動的なネットワークトポロジを有することが可能である。（１つまたは複数の）ネットワークは、企業ネットワーク（たとえば、ＬＡＮ、ＷＡＮ、もしくはＷＬＡＮ）など、安全なネットワーク、ワイヤレスオープンネットワーク（たとえば、ＩＥＥＥ８０２．１１無線ネットワーク）など、安全でないネットワーク、またはワールドワイドネットワーク（たとえば、インターネット）を含むことが可能である。（１つまたは複数の）ネットワークは、共に動作するように適合された複数の別個のネットワークを含むことも可能である。（１つまたは複数の）ネットワークは、本明細書で説明されるノード同士の間に通信を提供するように適合される。限定ではなく、例として、（１つまたは複数の）ネットワークは、音響媒体、ＲＦ媒体、赤外線媒体、およびその他の無線媒体などの無線媒体を含むことが可能である。
【００２０】
図２は、本明細書で説明される少なくともいくつかの実施形態による、動的モデリングとグラフマッチングとを用いたある例示的なＡＲシステムのブロック図２００を示す。オブジェクト認識は、たとえば、中でも、検査、登録、および操作のために、マシンビジョン業界（ｍａｃｈｉｎｅ  ｖｉｓｉｏｎ  ｉｎｄｕｓｔｒｙ）で広く使用されている。しかし、オブジェクト認識に関する従来のシステムは、通常、相関ベースのテンプレートマッチングに依存する。本開示は、これらの従来のシステムはオブジェクトポーズと照度とが厳重に制御された一定の設計環境にとって効果的な可能性があるが、テンプレートマッチングは、オブジェクトの回転、スケール、照度、および三次元ポーズが変化することが可能にされるとき、計算上厄介になる可能性があり、部分的な可視性と大きなモデルデータベースとを処理するときには一層厄介になる可能性があることを確認および認識する。
【００２１】
本開示の少なくともいくつかの実施形態による動的モデリングベースのシステムは、構文的にリンクした構造に基づくデータフォーマットを活用することができる。より詳細には、画像を属性付きグラフとして画像領域内に表すことができる。したがって、画像領域は、ノードの二次元のアレイを含む。特定の位置のそれぞれのノードは、いくつかの異なる特徴を含む場合がある。例示的な特徴タイプは、局所光強度、反射特性、シーン内のポーズ、オクルージョン、および／または背景変動のうちの１つもしくは複数を含むことが可能である。しかし、フィルタリング動作を通じて導出可能なより複雑な特徴タイプを使用することも可能である。画像領域内のノード同士の間の関係は、励起接続（ｅｘｃｉｔａｔｏｒｙ  ｃｏｎｎｅｃｔｉｏｎｓ）と呼ばれる場合がある。２つのノード同士の間の励起接続は、重み付けされた接続であり、この場合、重みは正であり得る（すなわち、システム内にシステム励起または正の信号を引き起こす）。いくつかの例示的な実装形態では、近傍のノードは接続可能である。他の実装形態では、任意の数のノード同士の間の複雑な接続が存在する可能性がある。動的モデルによれば、特定のオブジェクトは、オブジェクトの影響を受ける可能性がある画像領域のサブグラフによって表すことができる。
【００２２】
モデル領域は、画像領域内の属性付きグラフ（すなわち、サブグラフの理想化された複写）の集合物であり得る。したがって、励起接続は、画像領域とモデル領域との間に存在する可能性がある。これらの励起接続は、いくつかの特徴を保存することができる。たとえば、２つのノード、すなわち、画像領域内に１つのノード、モデル領域内に１つのノードが存在する場合、これらのノードが対応する特徴タイプに属するとき、これらのノードは互いの間に接続を有することが可能である。そのような構造の場合、オブジェクト認識は、グラフマッチングのプロセスとして実現でき、オブジェクトを符号化するモデル領域内の属性付きグラフは、視点の変形と変更とを反映するために、局所的に歪曲可能である。
【００２３】
ある例示的なグラフマッチングでは、画像領域の複数のノードとモデル領域の複数のノードとの間に近似的な近傍保存および特徴タイプ保存写像（ａｐｐｒｏｘｉｍａｔｅ  ｎｅｉｇｈｂｏｒｈｏｏｄ  ｐｒｅｓｅｒｖｉｎｇ  ａｎｄ  ｆｅａｔｕｒｅ  ｔｙｐｅ  ｐｒｅｓｅｒｖｉｎｇ  ｍａｐｐｉｎｎｇ）が存在するとき、２つのグラフをほぼ同一と見なすことができる。グラフマッチングは、画像領域のサブグラフのノードをグループ化して、選択的に活性化することによって、いくつかの実施形態に従って実施可能である。これは、単に類似の特徴ベクトルを備えたノードを結合させることによって、モデル領域を参照せずに一部達成できる。結果として、１つのオブジェクトに対応する画像の部分内のノードはその活動を同期化する傾向があり、一方、異なる画像セグメント同士の間のノードはその動的リンクを非同期化して、破壊する傾向がある。次に、サブグラフ内のノードおよびリンクをモデル領域において識別および活性化することができる（すなわち、接続パターンに関する連想メモリから取り出された接続パターン）。モデル領域内のリンクの識別および活性化に続いて、類似の特徴を備えた、画像領域内のノードとモデル領域内のノードとの間の（多対多）接続を一貫した（すなわち、トポロジ保存）１対１の写像に削減することが可能である。上述の動作は連続的に実行されなくてもよい点に留意されたい。実際には、それぞれの動作は他の動作の部分的な結果を必要とする場合があるため、実施形態によるシステムは、これらの活動をインターレース様式で実行することが可能である。
【００２４】
図２を参照すると、ブロック図２００は、説明される実施形態のうちの少なくとも１つに従って、ＡＲシステムの動的モデリングブロック２２６に提供可能な三次元（３Ｄ）オブジェクト２２２の二次元（２Ｄ）画像２２４を示す。動的モデリングブロック２２６は、フィルタリングなどの（１つまたは複数の）画像領域変換を実行するように適合可能であり、頂点属性とエッジ属性とを決定することが可能であり、（頂点ラベルとエッジラベルとを有する）属性付き画像領域グラフをグラフマッチングブロック２２８に提供することが可能である。グラフマッチングブロック２２８は、既に議論されたように、サブグラフのノード同士の間のリンクを識別および活性化して、モデル領域内のリンクを識別および活性化して、その接続を１対１の写像に削減するように適合可能である。結果として生じるパターン２３０は、提供エンジンなど、任意の消費アプリケーション２３２に提供可能である。
【００２５】
図３Ａは、本明細書で説明される少なくともいくつかの実施形態に従って構成された、ある例示的な動的モデリングサブシステム３２６内の例示的なプロセスのブロック図３００を示す。いくつかの実施形態による動的モデリングベースのオブジェクト認識システムは、２つのサブシステム内、すなわち、動的モデリングサブシステム内およびグラフマッチングサブシステム内において実行されるプロセスを含むことが可能である。図３００に示すように、画像表示は、動的構造をモデリング２Ｄグレイスケールデジタル画像に適用して、結果として、グラフモデル（３６４、３６６）を抽出することによって、動的モデリングサブシステム３２６内で達成することができる。抽出されたグラフモデル３６４および３６６を使用して、図３Ｂに関して下でより詳細に議論されるように、（１つまたは複数の）クラスラベルを割り当てる目的で、データベースからマッチするグラフを検索するために、グラフマッチングアルゴリズムを入力グラフに適用することが可能である。
【００２６】
動的モデリングサブシステム３２６は、ハードウェアとして、ソフトウェアとして、またはハードウェアとソフトウェアの組み合わせとして実施可能である。たとえば、汎用ビデオプロセッサまたは専用ビデオプロセッサは、下で説明される動作を実行するように構成可能である。動的モデリングサブシステム３２６の一例は、２Ｄ画像系列を入力３４０として受信するように適合される。実施形態による、動的モデルを使用したオブジェクト認識の目標は、画像領域内のグラフの属性およびリンクに関する情報を符号化するためのデータフォーマットを見出して、その情報をモデル領域に転送することである。画像を前処理することは、画像領域内のそれぞれのニューロンの実際の属性値を推定することを必要とする場合がある。これは、それぞれのニューロンに関する変動画像のセット（たとえば、ビデオからの画像の系列）からの時間平均化によって達成可能である。ニューロン同士の間の結合は、信号伝送に関するシナプス荷重の役割を担う時間相関の形で符号化可能である。
【００２７】
第１のステップとして、（たとえば、ビデオから取り込まれた）デジタル画像または静止画像の系列３４０は、枠３４２においてグラフ表示（すなわち、グラフ属性ベクトル）を生成するために処理可能である。グラフの抽出および表示のある例示的なプロセスは、図４に関して下で示される。前処理およびグラフ抽出の結果として、画像領域内のグラフ３４６が取得される。次元構造の削減が続くため、これらのグラフは完全次元グラフと呼ばれる。同様に、属性付きグラフは、枠３５０においてモデル領域内で画定およびセットアップでき、結果として、モデル領域グラフデータベース３５２をもたらす。画像が画像領域内で形成されるとき、その地点のうちの１つに中心を置く局所特徴検出器は束ねられて、複合特徴検出器を形成することが可能である。複合特徴検出器は、全体として、他の複合特徴検出器と比較するためにモデル領域に提供され、それによって、属性付きモデル領域グラフを確立することが可能である。複合特徴検出器の使用は、新しいオブジェクトクラスを認識できる前に、複雑な特徴に関する検出器として新しい個々の特徴をトレーニングする必要を削減することによって、ＡＲシステム上の計算上の負担とメモリ負担とを削減することが可能である。
【００２８】
モデル領域内のグラフは、それを用いてグラフマッチングアルゴリズムを実施できるプロトタイプグラフデータベースの役割を担うことが可能である。（図３Ｃで説明される）プロトタイプグラフ選択プロセス３５４は、画像領域内のグラフとモデル領域内のグラフ（３４４、３５６）とを分解する際に使用できるプロトタイプグラフセット３６２をもたらすことが可能である。モデル領域グラフデータベース３５２は、属性付きグラフの集合、すなわち、画像領域内のサブグラフの理想化された複写でもある。プロトタイプサブグラフセット３６２を確立した後で、画像領域内の抽出されたグラフを事前に定義された規則に従ってグラフ（３４４）に削減することが可能である。画像領域内の削減された次元グラフ３４８は、プロトタイプグラフからのサブセットの組み合わせから構成可能である。同様に、モデル領域内の（モデル領域グラフデータベース３５２からの）グラフを分解して（３５６）プロトタイプグラフからのサブセットの組み合わせにし、結果として、画像領域内およびモデル領域内に構造の次元を削減したグラフ（それぞれ、３４８、３６０）をもたらすことも可能である。
【００２９】
次いで、図３Ｂに関して下で議論されるように、画像領域内の近傍関係とモデル領域内の近傍関係とを表すリンクをセットアップすることが可能である。これによって、ニューラルオブジェクト（Ｎｅｕｒａｌ  ｏｂｊｅｃｔｓ）は、内部構造を獲得し、このとき、それらの関係をオブジェクト認識に関する基礎を形成するマッチする統語構造（ｓｙｎｔａｃｔｉｃａｌ  ｓｔｒｕｃｔｕｒｅ）との組み合わせに制約することが可能である。
【００３０】
図３Ｂは、本明細書で説明される少なくともいくつかの実施形態に従って構成された、ある例示的なグラフマッチングサブシステム３２８内の動作３５０の例示的な図である。グラフマッチングサブシステム３２８は、図３Ａの動的モデリングサブシステム３２６と同じ装置（および／もしくはソフトウェア）によって、または異なる装置（および／もしくはソフトウェア）によって実施可能である。
【００３１】
動作３５０は、ブロック３６８、３７０、３７２、３７４、３７６、および／または３３０のうちの１つもしくは複数を含むことが可能である。ブロック３６８「シナプス荷重および接続計算」において、コンピューティング装置内で実施されるグラフマッチングアルゴリズムを前処理属性付き画像領域グラフに適合することができる（参照番号３６４によって示される接続）。この前処理は、画像領域内のそれぞれのニューロンの実際の属性値を推定することを必要とする場合があり、これは、それぞれのニューロンに関する変動画像のセットからの時間平均化によって行うことができる。ニューロン同士の間の結合は、時間相関の形で符号化可能であり、これは、信号伝送に関するシナプス荷重として利用することができる。
【００３２】
ブロック３６８の後に、ブロック３７０が続いてもよい。ブロック３７０「画像領域セグメント化」において、画像領域のサブグラフＩ内のノードをグループ化することが可能である。このグループ化またはセグメント化は、類似の特徴ベクトルを備えたノードを結合させることによって達成可能であり、そのようなノードは、同じオブジェクト内に存在する可能性が高い。このように、１つのオブジェクトに対応する画像またはシーンの部分内のノードはその活動を同期化する傾向にあり、一方、異なる画像セグメント同士の間のノードはその動的リンクを非同期化して、破壊する傾向がある。
【００３３】
ブロック３７０の後に、ブロック３７２が続いてもよい。ブロック３７２「費用関数検査」において、費用関数検査を動的モデリングサブシステムによって提供されたグラフ属性に基づいて、グラフマッチングの一部として実行することが可能である。費用関数は、所与の問題に関して、ある特定の解決策が最適な解決策とどの程度の隔たりがあるかの尺度である。この場合、最適化は、頂点ラベルとエッジラベルのマッチングを必要とする。
【００３４】
ブロック３７２の後に、ブロック３７４が続いてもよい。ブロック３７４「最終的な属性付きグラフマッチング」において、属性付きグラフマッチングをオブジェクト認識に適用することが可能である。属性付きグラフマッチングは、記憶されたモデルグラフＭが存在する場合、記憶されたモデルグラフＭと同一またはほぼ同一の画像領域の部分（サブグラフ）Ｉから構成されるサブグラフを見出して、選択的に活性化すること（参照番号３６６によって示される接続）に基づいてもよい。属性付きグラフマッチングの一部として、Ｉ内およびＭ内の対応する地点同士の間の１対１接続を決定することも可能である。詳細には、このプロセスは、上述の、確立された費用関数に従って、頂点ラベルとエッジラベルのマッチングを同時に最適化する、頂点位置のセットに関する検索によって実施可能である。Ｉ内およびＭ内の類似の特徴を備えたノード同士の間の多対多接続を対にして、ブロック３７４で説明される動作の間に一貫した１対１の写像に削減することも可能である。
【００３５】
ブロック３７４の後に、ブロック３７６が続いてもよい。ブロック３７６「バックラベリング（ＢＡＣＫ  ＬＡＢＥＬＩＮＧ）」において、認識されたパターンを画像にバックラベリングすることが可能である。グラフマッチング処理は、対応する位置を備えた、Ｉ内の近傍のニューロンのブロックおよびＭ内の近傍のニューロンのブロックの同時活性化を伴うイベントを含むことが可能である。結果として、マッチしたグラフ同士の間の動的な結合は、認識されているパターンを画像にバックラベリングして、それらのパターンに基づいて、複合オブジェクトおよびシーンの表示を形成するために使用可能である。これらのパターンは、動作３５０を実行するグラフマッチングサブシステム３２８の出力３３０であり得る。
【００３６】
図３Ｃは、本明細書で説明される少なくともいくつかの実施形態に従って構成された、ある例示的なグラフ選択サブシステムにおける動作の図を例示する。図３Ｃで説明される動作は、図３Ａの動的モデリングサブシステムのプロトタイプグラフ選択枠３５４内で実行可能である。
【００３７】
リアルタイムでグラフマッチングを実行する際の大きな課題は、グラフモデルの複雑性が高いことにある。この複雑性は、グラフの複雑な構造と、グラフ固有の高次元性とによって引き起こされる場合がある。実施形態のうちのいくつかによれば、効果的なグラフ選択方法を開発することによって、次元のより低いベクトル表示（すべてのグラフ表示のサブセット）を構築するための自動化方法を用いることが可能である。
【００３８】
このプロセスは、入力ブロック３７８「プロトタイプグラフセットを作成する」から始めることができ、たとえば、グラフを任意に選択することによって、プロトタイプグラフの初期セットＰ０＝｛ｐ１，．．．，ｐｎ｝を構築することができる。この初期セットは、より簡素な構造グラフを含むことが可能であり、画像領域内とモデル領域内の両方のより完全なグラフモデルを補うために使用可能である。プロトタイプグラフセットは、さまざまなプロトタイプグラフ選択アルゴリズムを使用して、モデル領域内のトレーニンググラフセットから構築可能である。次いで、認識のために元のグラフの最も有益な情報を維持すると同時に、入力画像領域から抽出されたグラフとモデル領域内のトレーニンググラフとを構造の点でより簡素なそれぞれの領域に関するグラフのサブセットに分解することができる。
【００３９】
詳細には、プロトタイプグラフ選択の目標は、まさにそれらのグラフ構造に関して異なるクラスを表すグラフのサブセットをモデル領域のトレーニングセットから（たとえば、モデル領域グラフデータベース３５２から）選ぶことであり得る。このプロトタイプグラフは、画像領域内とモデル領域内の両方でより複雑なグラフ構造を補うために十分小さくてもよい。プロトタイプグラフは、類似のグラフを選択するという点で冗長性を回避することと、十分な情報を伝達することとを同時に行うことができる。
【００４０】
ブロック３８０「初期セットを作成する」において、それぞれのセットが１つのプロトタイプＳ１＝｛ｐ１｝，．．．，Ｓｎ＝｛ｐｎ｝を含むように、ｎ個のセットＳｉを選択することができる。ブロック３８２「グラフを見出すためにＴを走査する」において、グラフｇ∈Ｔ＼Ｐを見出すために、モデル領域からの（１つまたは複数の）トレーニンググラフセットを走査することが可能である。それぞれのグラフｇに関して、その最近傍、すなわち、ｐｉ∈Ｐを見出すことができ、ブロック３８４「ｇとＰｉとの間の距離を計算する」、ブロック３８６「最近傍であるか？」、およびブロック３８８「ｇをセットＳｉに追加する」によって示されるように、考慮中のグラフは、プロトタイプｐｉに対応するセットＳｉに追加される。これらのステップは、結果として、Ｔ∪１＜ｉ＜ｎＳｉを伴う、ｎ個の互いに素なセット（ｄｉｓｊｏｉｎｔｅｄ  ｓｅｔｓ）をもたらし得る。
【００４１】
ブロック３９０「Ｐｉの中心ｃｉを計算する」において、それぞれのセットＳｉに関して中心ｃｉを見出すことができる。ｃｉは、Ｓｉ内の他のオブジェクトまでの最大距離が最小であるグラフであってもよい。ｃｉ＝ｐｉである、それぞれの中心ｃｉに関して、決定ブロック３９４「ｃｉ＝ｐｉ？」および出力ブロック３９２「プロトタイプグラフセットＳｉを出力する」によって示されるように、出力プロトタイプグラフセットＳｉを提供することが可能ある。ｃｉ≠ｐｉである、それぞれの中心ｃｉに関して、ブロック３９６「ｐｉをＳｉ内のｃｉで置き替える」に示されるように、ｐｉをＳｉ内のｃｉで置き替えることができ、このプロセスは、別のトレーニングセットを取得するために、ブロック３８２に戻った。セットＳｉ内にそれ以上の変更が発生しないとき、このプロセスは終了できる。これらのプロトタイプグラフは、ｎ個の互いに素なセットの中心によって提供可能である。
【００４２】
実施形態は特定の例、コンポーネント、および構成を使用して上で議論されているが、これらの実施形態は、ＡＲシステムにおける動的モデリングを通じた頑強なオブジェクト認識に関して使用されることになる一般的な指針を提供することが意図される。これらの例は、本明細書で説明される原理を使用して、他のコンポーネント、モジュール、および構成を使用して実施可能な実施形態の限定を構成しない。たとえば、頂点ラベルとエッジラベルとをマッチングさせる際に任意の適切な費用関数を使用することが可能である。さらに、上で議論された活動は、さまざまな順序で、特に、インターレース様式で実行することが可能である。
【００４３】
図４は、本明細書で説明される少なくともいくつかの例による、動的モデリングとグラフマッチングとを用いたシステムにおいて入力画像を属性付きグラフとしてどのように表示可能できるかを例示する。いくつかの実施形態による画像表示では、動的な構造をモデリング２Ｄデジタル画像に適用することが可能であり、結果として、図４４２に例示されるプロセスを通じて、グラフモデルが抽出される。動的な構造は、画像領域内およびモデル領域内のグラフ表示を含むことが可能である。第１のステップとして、これらの特徴を使用してグラフ表示４０６（すなわち、画像領域表現）を形成するために、特徴（Ｗ１−ＷＮ）を入力デジタル画像から抽出することが可能である。画像領域内のグラフ表示４０６は、それぞれがＮ個の異なる特徴検出器ニューロン４０２を含むノードの２Ｄアレイであってもよい。一態様では、画像領域内で入力画像４２４のグラフ表示４０６を形成することは、特徴検出器４０２のセットを選択して、フィルタ４０４を入力画像４２４の画素に適用することに相当し得る。これらの結果は、いわゆる、頂点ラベル４０８、すなわち、局所特徴検出器の活動を表す特徴ベクトルである。
【００４４】
第２のステップは、それぞれのノード同士の間のリンクを形成することを含むことが可能である。その結果は、頂点同士の間の接続性を表す、いわゆる、グラフ表示４０６のエッジラベル４１０であり得る。これにより、入力画像４２４を頂点とエッジの両方に付随する属性（特徴ベクトル）を備えた画像領域内の属性付きグラフに変換することが可能である。オブジェクトは、結果として、類似の属性を備えた画像領域内のサブグラフであり得る。
【００４５】
画像領域内のグラフとなる画像が抽出されるとき、その地点のうちの１つに中心を置く局所特徴検出器は、図４４２に示されるように、束ねられて複合特徴検出器を形成することに対応し得る。この複合特徴検出器は、モデル領域に提供されて、そこで他の複合特徴検出器と比較されることが可能である。これは、新しいオブジェクトクラスを認識できる前に、複雑な特徴に関する検出器として新しい個々の特徴をトレーニングする必要を除去または削減することができる。
【００４６】
図５は、本開示によるＡＲシステムにおいて動的モデリングとグラフマッチングとを実施するために使用可能な、ある例示的な汎用コンピューティング装置５００を示す。非常に基本的な構成５０２において、コンピューティング装置５００は、通常、１つまたは複数のプロセッサ５０４とシステムメモリ５０６とを含む。メモリバス５０８は、プロセッサ５０４とシステムメモリ５０６との間の通信のために使用可能である。
【００４７】
所望の構成に応じて、プロセッサ５０４は、マイクロプロセッサ（μＰ）、マイクロコントローラ（μＣ）、デジタル信号プロセッサ（ＤＳＰ）、またはそれらのなんらかの組み合わせを含むが、それらに限定されない、任意のタイプのものであってもよい。プロセッサ５０４は、レベルキャッシュメモリ５１２など、１つまたは複数のレベルのキャッシュと、プロセッサコア５１４と、レジスタ５１６とを含むことが可能である。例示的なプロセッサコア５１４は、論理演算装置（ＡＬＵ）、浮動小数点演算装置（ＦＰＵ）、デジタル信号処理コア（ＤＳＰコア）、またはそれらのなんらかの組み合わせを含むことが可能である。ある例示的なメモリコントローラ５１８は、プロセッサ５０４と共に使用することも可能であり、または、いくつかの実装形態では、メモリコントローラ５１８は、プロセッサ５０４の内部部品であってもよい。
【００４８】
所望の構成に応じて、システムメモリ５０６は、（ＲＡＭなど）揮発性メモリ、（ＲＯＭ、フラッシュメモリなど）不揮発性メモリ、またはそれらのなんらかの組み合わせを含むが、それらに限定されない任意のタイプのものであってもよい。システムメモリ５０６は、オペレーティングシステム５２０と、１つまたは複数のアプリケーション５２２と、プログラムデータ５２４とを含むことが可能である。アプリケーション５２２は、上で議論されたように、動的モデリングと属性付きグラフマッチングとを使用して、オブジェクト認識システムの操作パラメータを調整するように構成されたＡＲモジュール５２６を含むことが可能である。プログラムデータ５２４は、図３Ａおよび３Ｂに関して上で議論されたように、撮像データ、モデルデータ５２８−１、グラフデータ５２８−２、および類似のデータのうちの１つまたは複数を含むことが可能である。このデータは、本明細書で説明される画像領域サブグラフとモデル領域サブグラフとの間の１対１の写像を生成する際に有用であり得る。いくつかの実施形態では、アプリケーション５２２は、本明細書で説明されるように、三次元オブジェクトが認識されて、仮想表示が生成されるように、オペレーティングシステム５２０上でプログラムデータ５２４と共に動作するように構成可能である。この説明された基本的な構成５０２は、内側の破線内のコンポーネントによって図５に例示される。
【００４９】
コンピューティング装置５００は、さらなる特徴または機能性、ならびに基本的な構成５０２と任意の必要とされる装置およびインタフェースとの間の通信を円滑にするためのさらなるインタフェースを有することが可能である。たとえば、バス／インタフェースコントローラ５３０は、記憶インタフェースバス５３４を経由して基本的な構成５０２と１つまたは複数のデータ記憶装置５３２との間の通信を円滑にするために使用可能である。データ記憶装置５３２は、取外し式記憶装置５３６であっても、非取外し式記憶装置５３８であっても、それらの組み合わせであってもよい。取外し式記憶装置および非取外し式記憶装置の例は、ほんのいくつかの例を挙げると、フレキシブルディスクドライブおよびハードディスクドライブ（ＨＤＤ）などの磁気ディスク装置、コンパクトディスク（ＣＤ）ドライブまたはデジタル多用途ディスク（ＤＶＤ）ドライブなどの光ディスクドライブ、固体ドライブ（ＳＳＤ）、およびテープドライブを含む。例示的なコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなど、情報を記憶するためのなんらかの方法または技術で実施される揮発性媒体および不揮発性媒体、取外し式媒体および非取外し式媒体を含むことが可能である。
【００５０】
システムメモリ５０６、取外し式記憶装置５３６、および非取外し式記憶装置５３８は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体は、所望の情報を記憶するために使用可能であり、かつコンピューティング装置５００によってアクセス可能なＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または任意の他の媒体を含むが、これらに限定されない。任意のそのようなコンピュータ記憶媒体は、コンピューティング装置５００の一部であってもよい。
【００５１】
コンピューティング装置５００は、バス／インタフェースコントローラ５３０を経由して、さまざまなインタフェース装置（たとえば、出力装置５４２、周辺インタフェース５４４、および通信装置５４６）から基本的な構成５０２への通信を円滑にするためのインタフェースバス５４０を含むことも可能である。例示的な出力装置５４２は、１つまたは複数のＡ／Ｖポート５５２を経由して、ディスプレイもしくはスピーカなど、さまざまな外部装置と通信するように構成され得るグラフィックス処理装置５４８および音声処理装置５５０を含む。例示的な周辺インタフェース５４４は、１つまたは複数のＩ／Ｏポート５５８を経由して、入力装置（たとえば、キーボード、マウス、ペン、音声入力装置、タッチ入力装置など）または他の周辺装置（たとえば、プリンタ、スキャナなど）など、外部装置と通信するように構成可能な直列インタフェースコントローラ５５４または並列インタフェースコントローラ５５６を含む。ある例示的な通信装置５４６は、１つまたは複数の通信ポート５６４を経由して、ネットワーク通信リンク上で１つまたは複数の他のコンピューティング装置５６２との通信を円滑にするように構成可能なネットワークコントローラ５６０を含む。
【００５２】
ネットワーク通信リンクは、通信媒体の一例であり得る。通信媒体は、通常、搬送波または他のトランスポートメカニズムなど、変調されたデータ信号内でコンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータによって実施可能であり、任意の情報配信媒体を含むことが可能である。「変調されたデータ信号」は、信号内の情報を符号化するように１つもしくは複数のその特性が設定または変更された信号であり得る。限定ではなく、例として、通信媒体は、有線ネットワークまたは直接配線接続など、有線媒体と、音響媒体、無線周波数（ＲＦ）媒体、マイクロ波媒体、赤外線（ＩＲ）媒体および他の無線媒体など、無線媒体とを含むことが可能である。本明細書で使用される場合、コンピュータ可読媒体という用語は、記憶媒体と通信媒体の両方を含む。
【００５３】
コンピューティング装置５００は、上記の機能のうちのいずれかを含むセル電話、携帯情報端末（ＰＤＡ）、パーソナルメディアプレイヤ装置、ワイヤレスウェブウォッチ装置、パーソナルヘッドセット装置、特定用途向け装置、またはハイブリッド装置など、スモールフォームファクタ（ｓｍａｌｌ−ｆｏｒｍ  ｆａｃｔｏｒ）の可搬（すなわち、モバイル）電子装置の一部として実施可能である。コンピューティング装置５００は、ラップトップコンピュータ構成と非ラップトップコンピュータ構成の両方を含むパーソナルコンピュータとして実施することも可能である。さらに、コンピューティング装置５００は、ネットワーク接続されたシステムとして、または汎用サーバもしくは専用サーバの一部として実施することも可能である。
【００５４】
例示的な実施形態は、方法を含むことも可能である。これらの方法は、本明細書で説明される構造を含めて、任意の数の様式で実施可能である。１つのそのような様式は、本開示で説明されたタイプの装置の機械動作による。別のオプションの様式は、方法の１つまたは複数の個々の動作が、１人または複数の人間オペレータが動作のうちのいくつかを実行すると同時に、他の動作が機械によって実行されることに関して実行されることに関する。これらの人間オペレータは、互いと同じ場所に配置される必要がなく、それぞれ、プログラムの一部を実行する機械と共にいればよい。別の例では、人間の相互作用は、機械によって自動化された事前に選択された基準によってなど、自動化することが可能である。
【００５５】
図６は、本明細書で説明される少なくともいくつかの実施形態に従って構成された、図５の装置５００などのコンピューティング装置によって実行可能な、ある例示的な方法を示す流れ図である。例示的な方法は、１つもしくは複数のブロック６２２、６２４、６２６、６２８、６３０、６３２、および／または６３４によって例示されるような、１つもしくは複数の動作、機能、または活動を含むことが可能である。ブロック６２２から６３４で説明される動作は、コンピューティング装置６１０のコンピュータ可読媒体６２０など、コンピュータ可読媒体内にコンピュータ実行可能命令として記憶することも可能である。
【００５６】
ＡＲオブジェクト認識において動的モデリングとグラフマッチングとを用いるプロセスは、ブロック６２２「２Ｄ画像を画像領域に変換する」から始めることができる。ブロック６２２において、コンピューティング装置のプロセッサ（たとえば、コンピューティング装置５００のプロセッサ５０４、またはグラフィックス処理装置５４８）によって、実シーン内の３Ｄオブジェクトの２Ｄ画像を取得することが可能である。画像領域内のそれぞれのノードは、いくつかの異なる特徴検出器ニューロンからなり得る。特徴検出器のセットを選択して、オプションのフィルタリングプロセスにおいて、２Ｄ画像のそれぞれの画素に適用することが可能である。
【００５７】
ブロック６２２の後に、ブロック６２４「ノード同士の間にリンクを確立する」が続いてもよい。ブロック６２４において、それぞれのノード頂点同士の間のリンクをセットアップして、結果として、それぞれのノード同士の間の接続性を表すエッジラベルをもたらすことができる。これにより、画像を、頂点とエッジの両方に付随する属性を備えた、画像領域内の属性付きグラフに変換することが可能である。
【００５８】
ブロック６２４の後に、ブロック６２６「画像領域内の属性付きグラフを画定する」が続いてもよい。ブロック６２６において、頂点ラベルとエッジラベルとにより属性付きグラフが画定される。ブロック６２２から６２６は、第１のコンピューティング装置のプロセッサ（たとえば、コンピューティング装置５００のプロセッサ５０４またはグラフィックス処理装置５４８）の動的モデリングモジュールによって実行可能である。他方で、ブロック６２８から６３４は、ネットワークを介して第１のコンピューティング装置に結合された第２のコンピューティング装置上の同じプロセッサまたは別のプロセッサのグラフマッチングモジュールによって実行可能である。当然、すべてのブロックを単一のモジュールによって実行することも同様に可能である。
【００５９】
ブロック６２６の後に、ブロック６２８「それぞれのノードの実際の属性値を推定する」が続いてもよい。ブロック６２８において、それぞれのノードの実際の属性値は、たとえば、それぞれのノードに関する変動画像のセットからの時間平均化によって、画像領域内で推定可能である。この推定は、リンクに関するシナプス荷重と接続計算とを含むことも可能な前処理の一部である。
【００６０】
ブロック６２８の後に、ブロック６３０「属性付きグラフをマッチングさせる」が続いてもよい。ブロック６３０において、画像領域のサブグラフ内のノードを見出して、選択的に活性化させることに基づいて、属性付きグラフをマッチングさせることが可能である。属性付きグラフマッチングの一環として、画像領域内およびモデル領域のサブグラフ内の対応する地点同士の間の１対１接続を決定することも可能である。画像領域内のセグメント化とも呼ばれる、グラフマッチングの初期部分は、類似の特徴ベクトルを備えたノードを結合させることによって達成可能である。
【００６１】
ブロック６３０の後に、ブロック６３２「（１つまたは複数の）サブグラフ内のリンクを識別および活性化する」が続いてもよい。ブロック６３２において、属性付きグラフの第２の部分は、連想メモリから両方領域内のノードに関する接続パターンを取り出すことによって達成可能である。リンクの識別および活性化の一環として、確立された費用関数に従って、頂点ラベルとエッジラベルのマッチングを最適化することができる。
【００６２】
ブロック６３２の後に、ブロック６３４「写像接続」が続いてもよい。ブロック６３４において、画像領域サブグラフ内およびモデル領域サブグラフ内の類似の特徴を備えたノード同士の間の多対多接続を１対１接続に削減することが可能である。結果として、認識されているパターンを画像にバックラベリングするために、マッチングされたグラフ同士の間の動的な結合を使用することが可能である。次いで、同じコンピューティング装置上または他のコンピューティング装置上のレンダリングソフトウェアおよび／もしくはレンダリングハードウェアによるパターンに基づいて、複合オブジェクトおよびシーンの表示を形成することが可能である。
【００６３】
上述のプロセス内に含まれたブロックは、例示のためである。より少ないブロックまたはさらなるブロックを用いて類似のプロセスによって、動的モデリングとグラフマッチングとによるオブジェクト認識を実施することが可能である。いくつかの例では、これらのブロックを異なる順序で実行することも可能である。いくつかの実施形態では、さまざまなブロックを無くすことも可能である。さらに他の例では、さまざまなブロックをさらなるブロックに分割することが可能であるか、または組み合わせてより少ないブロックにすることも可能である。
【００６４】
図７は、本明細書で説明される少なくともいくつかの実施形態に従って構成された、ある例示的なコンピュータプログラム製品７００のブロック図を示す。いくつかの例では、図７に示されるように、コンピュータプログラム製品７００は、たとえば、プロセッサによって実行されたとき、図５および図６に関して上述の機能性を提供できる機械可読命令７０４を含むことも可能な信号伝達媒体７０２を含むことが可能である。したがって、たとえば、プロセッサ５０４を参照すると、ＡＲモジュール５２６は、本明細書で説明される動的モデリングに基づいて、オブジェクト認識に関連する活動を実行するために媒体７０２によってプロセッサ５０４に伝達された命令７０４に応答して、図７に示される１つまたは複数のタスクに着手することが可能である。これらの命令のうちのいくつかは、ノード同士の間にリンクを確立することと、属性付きグラフを画定することと、画像領域とモデル領域との間で属性付きグラフをマッチングさせることと、写像された接続を決定することとを含むことが可能である。
【００６５】
いくつかの実装形態では、図７に示される信号伝達媒体７０２は、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、デジタルテープ、メモリなどに限定されないが、これらなどのコンピュータ可読媒体７０６を包含することが可能である。いくつかの実装形態では、信号伝達媒体７０２は、メモリ、読出し／書込み（Ｒ／Ｗ）ＣＤ、Ｒ／Ｗ  ＤＶＤなどに限定されないが、これらなどの記録可能媒体７０８を包含することが可能である。いくつかの実装形態では、信号伝達媒体７０２は、デジタル通信媒体および／またはアナログ通信媒体（たとえば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど）に限定されないが、これらなどの通信媒体７１０を包含することが可能である。したがって、たとえば、プログラム製品７００をＲＦ信号伝達媒体７０２によってプロセッサ５０４の１つまたは複数のモジュールに伝達することが可能であり、この場合、信号伝達媒体７０２は、無線通信媒体７１０（たとえば、ＩＥＥＥ８０２．１１標準に準拠する無線通信媒体）によって伝達される。
【００６６】
本開示は、一般に、拡張現実（ＡＲ）システム（１００）においてオブジェクト認識を実行するための方法を説明する。拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための方法は、オブジェクト２２２の二次元画像２２４を画像領域表現に変換することを含むことが可能である。拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための方法は、画像領域表現のノード同士の間のリンクに基づいて、画像領域内の属性付きグラフを画定すること（６２６）と、モデル領域内の別の属性付きグラフ（３５０）を画定することとを含むことも可能である。拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための方法は、属性付きグラフの対応するノード同士の間のリンクを識別および活性化すること（６３２）によって、画像領域内の属性付きグラフとモデル領域内の属性付きグラフとをマッチングさせること（６３０）をさらに含むことが可能である。
【００６７】
いくつかの例によれば、拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための方法は、画像領域内の属性付きグラフとモデル領域領域内の属性付きグラフとの間のいくつかの接続（６３４）を削減することと、削減された接続に基づくパターンを二次元画像のモデル領域表現にバックラベリングすること（３７０）とを含むことが可能である。
【００６８】
いくつかの例によれば、拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための方法は、二次元画像２２４をモデル領域表現２３０とオーバーレイすることによって、合成画像をレンダリングすることを含むことが可能である。
【００６９】
いくつかの例では、拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための方法は、画像領域表現内のそれぞれのノードに関連する特徴を決定することと、それらの特徴を二次元画像２２４の画像に適用することによって、画像領域表現内のそれぞれのノードに関する局所特徴の活動ベクトルを表す頂点ラベル３４４を取得することを含むことが可能である。
【００７０】
さらなる例によれば、拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための方法は、画像領域表現のノード同士にリンクを確立することによって、画像領域表現のノード同士の間の接続性を表すエッジラベル３４６を取得することを含むことが可能である。
【００７１】
拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための方法のさらなる例によれば、画像領域内の属性付きグラフ３４８は、画像領域表現内のノード、ならびに関連する頂点ラベル３４４およびエッジラベル３４６の集合物として画定できる。
【００７２】
さらなる例によれば、モデル領域内のそれぞれのノードに関する変動画像のセットに時間平均化を適用することによって、モデル領域内のノードに関して実際の属性値を推定する６２８、拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための方法。
【００７３】
さらなる例によれば、モデル領域内のノード同士の間の結合３６２を時間相関として符号化する、拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための方法。
【００７４】
さらなる例によれば、符号化された結合３６２に基づいて、重みを計算して、モデル領域内のノード同士の間のリンクに割り当てる、拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための方法。
【００７５】
本開示は、拡張現実（ＡＲ）システム（１００）においてオブジェクト認識を実行するための装置７００も説明する。拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための装置は、画像データとグラフデータ（５２８−１、５２８−２）とを記憶するように適合されたメモリ５０６と、動的モデリングモジュール３２６を実行するように適合された第１の処理装置であって、動的モデリングモジュールが、二次元（２Ｄ）画像を記憶された画像データから、それぞれが画像領域内の少なくとも１つの別個の特徴を符号化するリンクされたノード（３４２）の２Ｄアレイを含む画像領域表現に変換することと、画像領域内のそれぞれのノードに関する少なくとも１つの特徴の活動ベクトルを表す頂点ラベル３４４を決定することと、画像領域のノード同士の間の接続性を表すエッジラベル３４６を決定することと、頂点ラベルおよび／またはエッジラベルのうちの１つもしくは複数に基づいてモデル領域内の属性付きグラフ３５０を画定することであって、属性付きグラフがグラフデータの一部としてメモリ内に記憶されている、画定することとを行うように適合可能な第１の処理装置を含むことが可能である。拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための装置は、グラフマッチングモジュール３２８を実行するように適合された第２の処理装置であって、グラフマッチングモジュールが、画像領域内のノードとモデル領域内の対応するノードとの間のリンクを識別および活性化すること（６３２）と、類似の特徴を備えたノード同士の間のいくつかの接続を削減することとを行うように適合された第２の処理装置をさらに含むことが可能である。
【００７６】
拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための装置のいくつかの例によれば、動的モデリングモジュール３２６は、画像領域内のノードをグループ化して、選択的に活性化する（６２４）ようにさらに適合可能である。
【００７７】
拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための装置のいくつかの例によれば、動的モデリングモジュール３２６は、類似の特徴ベクトルを備えた、画像領域内のノードを結合させることによって、画像領域内のノードをグループ化するようにさらに適合可能である。
【００７８】
拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための装置のいくつかの例によれば、グラフマッチングモジュール３２８は、メモリ５０６から接続パターンを取り出することと、メモリから取り出された接続パターンを備えた頂点位置に関する検索を実行することとによって、画像領域内のノードとモデル領域内のノードとの間のリンクを識別および活性化する（６３２）ようにさらに適合可能である。
【００７９】
拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための装置のいくつかの例によれば、グラフマッチングモジュール３２８は、事前に画定された費用関数に従って、頂点ラベル３４４とエッジラベル３４６とをマッチングさせるようにさらに適合可能である。
【００８０】
いくつかの例によれば、拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための装置は、レンダリングモジュール（１０８）を実行するように適合された第３の処理装置であって、レンダリングモジュールが、削減された接続に基づいて、二次元画像２２４を画像のモデル領域表現とオーバーレイすることによって、合成画像をレンダリングするように適合可能な第３の処理装置を含むことが可能である。
【００８１】
拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための装置のいくつかの例によれば、第１の処理装置、第２の処理装置、および第３の処理装置は、それぞれ、第１のコンピューティング装置１０６内、第２のコンピューティング装置１１０内、および第３のコンピューティング装置１０８内に統合することが可能であり、第１のコンピューティング装置、第２のコンピューティング装置、および第３のコンピューティング装置は、ネットワークを介して通信可能である。
【００８２】
拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するための装置のいくつかの例によれば、第１の処理装置、第２の処理装、および第３の処理装置は、同じプロセッサ５０４の一部であってもよい。
【００８３】
本開示は、拡張現実（ＡＲ）システム（１００）においてオブジェクト認識を実行するための命令７０４を記憶しているコンピュータ可読記憶媒体７０６をさらに説明する。これらの命令は、オブジェクトの二次元画像を、それぞれが特徴検出器のセットを含む複数のリンクされたノードを含む画像領域表現に変換すること（６２２）を含むことが可能である。これらの命令は、特徴検出器を二次元画像のそれぞれの画像に適用することによって、特徴検出器の活動ベクトルを表す頂点ラベル３４４を決定することを含むことも可能である。これらの命令は、それぞれのノード間のリンクを検出することによって、ノード同士の間の接続性を表すエッジラベル３４６を決定することを含むことも可能である。これらの命令は、頂点ラベル３４４とエッジラベル３４６とに基づいて、画像領域内の属性付きグラフ３４８を生成することと、モデル領域３５０内の属性付きグラフを画定することであって、モデル領域内の属性付きグラフが画像領域内の属性付きグラフの理想化された複写であり得る、画定することとを含むことも可能である。これらの命令は、属性付きグラフの頂点ラベルとエッジラベルとをマッチングさせること（６３０）に基づいて、画像領域内の属性付きグラフとモデル領域内の属性付きグラフとの間の接続を決定すことと、接続を画像領域とモデル領域との間のトポロジ保存写像に削減すること（６３４）とをさらに含むことが可能である。
【００８４】
いくつかの例によれば、拡張現実（ＡＲ）システム（１００）においてオブジェクト認識を実行するための命令７０４を記憶しているコンピュータ可読記憶媒体は、写像された接続に基づいてパターン（４８１〜４８７）を認識することと、それらの認識されたパターンに基づいて、仮想画像（４７４）を生成することと、二次元画像（４７２）と仮想画像（４７４）とをオーバーレイすることに基づいて、合成画像を生成することを含むことが可能である。
【００８５】
いくつかの例によれば、拡張現実（ＡＲ）システム（１００）においてオブジェクト認識を実行するための命令７０４を記憶しているコンピュータ可読記憶媒体は、頂点位置に関して検索して、事前に定義された費用関数に従って、それぞれの頂点位置に関する頂点ラベル３４４とエッジラベル３４６との間のマッチを最適化することによって、画像領域内の属性付きグラフとモデル領域内の属性付きグラフとの間の接続を決定すること（６３２）をさらに含むことが可能である。
【００８６】
いくつかの例によれば、拡張現実（ＡＲ）システム（１００）においてオブジェクト認識を実行するための命令７０４を記憶しているコンピュータ可読記憶媒体は、モデル領域を参照せずに、類似の特徴ベクトルを備えた、画像領域内のノード（３４８）を結合させることをさらに含むことが可能である。
【００８７】
いくつかの例によれば、拡張現実（ＡＲ）システム（１００）においてオブジェクト認識を実行するための命令７０４を記憶しているコンピュータ可読記憶媒体は、属性付きグラフの実質的にすべてのノード同士の間に近似的な近傍保存および特徴タイプ保存写像が存在するとき、それぞれ、画像領域内およびモデル領域内の属性付きグラフの対に関する接続を決定すること（６３２）をさらに含むことが可能である。
【００８８】
いくつかの例によれば、拡張現実（ＡＲ）システム（１００）においてオブジェクト認識を実行するための命令７０４を記憶しているコンピュータ可読記憶媒体は、画像領域内のノード同士の間のリンク（３６２）に割り当てられた重みに基づいて、それぞれ、画像領域内およびモデル領域内の属性付きグラフの対に関する接続を決定すること（６３２）をさらに含むことが可能である。
【００８９】
拡張現実（ＡＲ）システム（１００）においてオブジェクト認識を実行するための命令７０４を記憶しているコンピュータ可読記憶媒体のいくつかの例によれば、画像領域内の属性付きグラフ（３４８）を生成することと、モデル領域内の属性付きグラフ（３５０）を画定することと、画像領域内の属性付きグラフとモデル領域内の属性付きグラフとの間の接続を決定すること（６３２）とをインターレース様式で実行することが可能である。
【００９０】
拡張現実（ＡＲ）システム（１００）においてオブジェクト認識を実行するための命令７０４を記憶しているコンピュータ可読記憶媒体のいくつかの例によれば、それぞれのノードを、局所光強度、反射特性、オブジェクトポーズ、オクルージョン、および／または背景変動を含む１つもしくは複数の特徴と関連付けることが可能である。
【００９１】
本開示は、拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するためのシステムをさらに説明する。拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するためのシステムは、実シーン１０２の二次元（２Ｄ）画像２２４を取り込むように適合された少なくとも１つのセンサ１０４と、２Ｄ画像２２４を、それぞれが特徴検出器のセットを含む、画像領域内のノードの２Ｄアレイを含む画像領域表現に変換する（６２２）ように適合された画像処理サーバ１０６とを含むことが可能である。拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するためのシステムは、画像領域内のそれぞれのノードに関する少なくとも１つの特徴の活動ベクトルを表す頂点ラベル３４４を決定することと、画像領域のノード同士の間の接続性を表すエッジラベル３４６を決定すること、頂点ラベルとエッジラベルとに基づいて、画像領域内の属性付きグラフ３４８とモデル領域内の別の属性付きグラフ３５０とを画定することと、画像領域内のノードとモデル領域内の対応するノードとの間のリンクを識別および活性化すること（６３２）と、類似の特徴を備えたノード同士の間のいくつかの接続を削減すること（６３４）とを行うように適合された現実サーバ１１０を含むことも可能である。拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するためのシステムは、画像領域内の属性付きグラフと画像領域内の他の属性付きグラフとの間の削減された接続に基づいて、２Ｄ画像２２４とレンダリングされた仮想画像とをオーバーレイすることによって、拡張シーン１１４を生成するように適合された画像生成サーバ１０８を含むことも可能である。
【００９２】
いくつかの例によれば、拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するためのシステムは、モデル領域内の属性付きグラフを連想データ記憶装置３５２内に記憶するようにさらに適合可能である。
【００９３】
いくつかの例によれば、拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するためのシステムは、属性付きグラフの実質的にすべてのノード同士の間の近似的な近傍保存および特徴タイプ保存写像を決定することによって、画像領域内のノードとモデル領域内の対応するノードとの間リンクを識別および活性化すること（６３２）と、接続をトポロジ保存接続に削減すること（６３４）とを行うようにさらに適合可能である。
【００９４】
拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するためのシステムのいくつかの例によれば、画像処理サーバ１０６、現実サーバ１１０、および画像生成サーバ１０８は、集中ＡＲシステムおよび分散型ＡＲシステムのうちの１つの一部であってもよい。
【００９５】
いくつかの例によれば、拡張現実（ＡＲ）システムにおいてオブジェクト認識を実行するためのシステムは、拡張シーン１１４を可視化するように適合された可視化システム１１２をさらに含むことが可能であり、この場合、この可視化システムは、ヘッドマウントディスプレイ、バーチャル網膜ディスプレイ、および／またはモニタのうちの１つもしくは複数を含むことが可能である。
【００９６】
システムの側面でのハードウェアの実装形態とソフトウェアの実装形態との間には、ほとんど相違が残されていない。ハードウェアまたはソフトウェアの使用は、一般に（いつもそうではないが、ある状況ではハードウェアとソフトウェアの間の選択が重要になり得るという点で）コスト対効果のトレードオフを表す設計上の選択である。本明細書に記載された、プロセスおよび／またはシステムおよび／または他の技術をもたらすことができるさまざまな達成手段があり（たとえば、ハードウェア、ソフトウェア、および／またはファームウェア）、好ましい達成手段は、プロセスおよび／またはシステムおよび／または他の技術が導入される状況によって異なる。たとえば、実装者が速度と正確性が最も重要であると決定すると、実装者は主にハードウェアおよび／またはファームウェアの達成手段を選択することができる。フレキシビリティが最も重要なら、実装者は主にソフトウェアの実装形態を選択することができる。または、さらに別の代替案として、実装者は、ハードウェア、ソフトウェア、および／またはファームウェアのなんらかの組み合わせを選択することができる。
【００９７】
前述の詳細な説明では、ブロック図、フローチャート、および／または例の使用によって、装置および／またはプロセスのさまざまな実施形態を説明してきた。そのようなブロック図、フローチャート、および／または例が１つまたは複数の機能および／または動作を含む限りにおいて、そのようなブロック図、フローチャート、または例の中のそれぞれの機能および／または動作は、広範囲のハードウェア、ソフトウェア、ファームウェア、または実質上それらのすべての組み合わせにより、個別におよび／または集合的に実装可能であることが、当業者には理解されるであろう。ある実施形態では、本明細書に記載された主題のいくつかの部分は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、または他の集積化方式によって実装することができる。しかし、本明細書で開示された実施形態のいくつかの態様が、全体においてまたは一部において、１つまたは複数のコンピュータ上で動作する１つまたは複数のコンピュータプログラムとして（たとえば、１つまたは複数のコンピュータシステム上で動作する１つまたは複数のプログラムとして）、１つまたは複数のプロセッサ上で動作する１つまたは複数のプログラムとして（たとえば、１つまたは複数のマイクロプロセッサ上で動作する１つまたは複数のプログラムとして）、ファームウェアとして、あるいは実質上それらの任意の組み合わせとして、等価に集積回路に実装することができることを、当業者は認識するであろうし、電気回路の設計ならびに／またはソフトウェアおよび／もしくはファームウェアのコーディングが、本開示に照らして十分当業者の技能の範囲内であることを、当業者は認識するであろう。
【００９８】
本開示は、さまざまな態様の例示として意図される、本明細書で説明された特定の実施形態の点で限定されるべきではない。当業者に明らかになるように、その趣旨および範囲から逸脱せずに、多くの修正および改変を行うことが可能である。本明細書に列挙された方法および装置に加えて、本開示の範囲内の機能的に同等の方法および装置は、前述の説明から当業者に明らかになるであろう。そのような修正および改変は、添付の請求項の範囲に包含されることが意図される。本開示は、添付の請求項が資格を有する同等物の完全範囲と共に、そのような請求項の点でのみ限定されるべきである。本開示は、当然異なり得る特定の方法、試薬、化合物生成または生物系に限定されない点を理解されたい。本明細書で使用される専門用語は、特定の実施形態を説明するためだけであり、限定することが意図されない点も理解されたい。
【００９９】
さらに、本明細書に記載された主題のメカニズムをさまざまな形式のプログラム製品として配布することができることを、当業者は理解するであろうし、本明細書に記載された主題の例示的な実施形態が、実際に配布を実行するために使用される信号伝達媒体の特定のタイプにかかわらず適用されることを、当業者は理解するであろう。信号伝達媒体の例には、フロッピーディスク、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、デジタルテープ、コンピュータメモリ、などの記録可能なタイプの媒体、ならびに、デジタル通信媒体および／またはアナログ通信媒体（たとえば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど）の通信タイプの媒体が含まれるが、それらには限定されない。
【０１００】
本明細書で説明したやり方で装置および／またはプロセスを記載し、その後そのように記載された装置および／またはプロセスを、データ処理システムに統合するためにエンジニアリング方式を使用することは、当技術分野で一般的であることを当業者は認識するであろう。すなわち、本明細書に記載された装置および／またはプロセスの少なくとも一部を、妥当な数の実験によってデータ処理システムに統合することができる。通常のデータ処理システムは、一般に、システムユニットハウジング、ビデオディスプレイ装置、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステムなどの計算実体、ドライバ、グラフィカルユーザインタフェース、およびアプリケーションプログラムのうちの１つもしくは複数、タッチパッドもしくはスクリーンなどの１つもしくは複数の相互作用装置、ならびに／またはフィードバックループおよびコントロールモータを含むコントロールシステム（たとえば、ガントリーシステムの位置検知用および／もしくは速度検知用フィードバック、コンポーネントの移動用および／もしくは数量の調整用コントロールモータ）を含むことを、当業者は理解するであろう。
【０１０１】
通常のデータ処理システムは、データコンピューティング／通信システムおよび／またはネットワークコンピューティング／通信システムの中に通常見られるコンポーネントなどの、市販の適切なコンポーネントを利用して実装することができる。本明細書に記載された主題は、さまざまなコンポーネントをしばしば例示しており、これらのコンポーネントは、他のさまざまなコンポーネントに包含されるか、または他のさまざまなコンポーネントに接続される。そのように図示されたアーキテクチャは、単に例示にすぎず、実際には、同じ機能を実現する多くの他のアーキテクチャが実装可能であることが理解されよう。概念的な意味で、同じ機能を実現するコンポーネントの任意の構成は、所望の機能が実現されるように効果的に「関連付け」される。したがって、特定の機能を実現するために組み合わされた、本明細書における任意の２つのコンポーネントは、アーキテクチャまたは中間のコンポーネントにかかわらず、所望の機能が実現されるように、お互いに「関連付け」されていると見ることができる。同様に、そのように関連付けされた任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に接続」または「動作可能に結合」されていると見なすこともでき、そのように関連付け可能な任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に結合できる」と見なすこともできる。動作可能に結合できる場合の具体例には、物理的に接続可能な、および／もしくは物理的に相互作用するコンポーネント、ならびに／またはワイヤレスに相互作用可能な、および／もしくはワイヤレスに相互作用するコンポーネント、ならびに／または論理的に相互作用する、および／もしくは論理的に相互作用可能なコンポーネントが含まれるが、それらに限定されない。
【０１０２】
本明細書における実質的にすべての複数形および／または単数形の用語の使用に対して、当業者は、状況および／または用途に適切なように、複数形から単数形に、および／または単数形から複数形に変換することができる。さまざまな単数形／複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【０１０３】
通常、本明細書において、特に添付の特許請求の範囲（たとえば、添付の特許請求の範囲の本体部）において使用される用語は、全体を通じて「オープンな（ｏｐｅｎ）」用語として意図されていることが、当業者には理解されよう（たとえば、用語「含む（ｉｎｃｌｕｄｉｎｇ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきであり、用語「有する（ｈａｖｉｎｇ）」は、「少なくとも有する（ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ）」と解釈されるべきであり、用語「含む（ｉｎｃｌｕｄｅｓ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｅｓ  ｂｕｔ  ｉｓ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきである、など）。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。たとえば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも１つの（ａｔ  ｌｅａｓｔ  ｏｎｅ）」および「１つまたは複数の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「１つまたは複数の」または「少なくとも１つの」および「ａ」または「ａｎ」などの不定冠詞を含む場合であっても、不定冠詞「ａ」または「ａｎ」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に１つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではない（たとえば、「ａ」および／または「ａｎ」は、「少なくとも１つの」または「１つまたは複数の」を意味すると解釈されるべきである）。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう（たとえば、他の修飾語なしでの「２つの記載（ｔｗｏ  ｒｅｃｉｔａｔｉｏｎｓ）」の単なる記載は、少なくとも２つの記載、または２つ以上の記載を意味する）。
【０１０４】
さらに、「Ａ、ＢおよびＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（たとえば、「Ａ、Ｂ、およびＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、それに限定されない）。「Ａ、Ｂ、またはＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（たとえば、「Ａ、Ｂ、またはＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、それに限定されない）。２つ以上の代替用語を提示する事実上いかなる離接する語および／または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方（ｏｎｅ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、当該用語のいずれか（ｅｉｔｈｅｒ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、または両方の用語（ｂｏｔｈ  ｔｅｒｍｓ）を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。たとえば、句「ＡまたはＢ」は、「Ａ」または「Ｂ」あるいは「ＡおよびＢ」の可能性を含むことが理解されよう。
【０１０５】
さらに、本開示の特徴または態様がマーカッシュグループによって記載されている場合、本開示は、それによって、マーカッシュグループの任意の個々の要素または要素のサブグループによっても説明されることを当業者は認識されよう。
【０１０６】
当業者が理解することになるように、明細書を提供することに関してなど、なんらかのあらゆる目的で、本明細書で開示されたすべての範囲は、任意のあらゆる可能な部分範囲およびその部分範囲の組み合わせも包含する。任意の列挙された範囲は、同じ範囲が少なくとも等しい半分、３分の１、４分の１、５分の１、１０分の１などに分解されていることを十分に説明し、これを可能にするとして容易に理解されよう。非限定的な例として、本明細書で議論されたそれぞれの範囲は、下３分の１、中３分の１、および上３分の１などに容易に分解可能である。やはり当業者が理解することになるように、「最高で」、「少なくとも」、「以上」、「以下」など、すべての言語は、列挙される数を含み、上で議論されたように後で部分範囲に分解され得る範囲を指す。最後に、当業者が理解することになるように、範囲はそれぞれの個々の要素を含む。したがって、たとえば、１〜３個のセルを有するグループは、１個のセルを有するグループ、２個のセルを有するグループ、または３個のセルを有するグループを指す。同様に、１〜５個のセルを有するグループは、１個のセルを有するグループ、２個のセルを有するグループ、３個のセルを有するグループ、４個のセルを有するグループ、または５個のセルを有するグループを指す、等々である。
【０１０７】
さまざまな態様および実施形態が本明細書において開示されているが、その他の態様および実施形態は当業者に明らかになるであろう。本明細書で開示されたさまざまな態様および実施形態は、例示のためであり、限定的であることが意図されず、真の範囲および趣旨は、以下の請求項によって示されている。
【図１】
0005520387.tif 000002
【図２】
0005520387.tif 000003
【図３Ａ】
0005520387.tif 000004
【図３Ｂ】
0005520387.tif 000005
【図３Ｃ】
0005520387.tif 000006
【図４】
0005520387.tif 000007
【図５】
0005520387.tif 000008
【図６】
0005520387.tif 000009
【図７】
0005520387.tif 000010