説明

拡張現実における動的モデリングによる頑強なオブジェクト認識

動的モデリングに基づいて、頑強なオブジェクト認識方式を提供するための技術が一般に説明される。セル状領域をより高次のエンティティグループグループ化するために、セル状領域の微小スケールの時間的構造内の相関を用いることが可能である。これらのエンティティは、リッチな構造を表し、ハイレベルなオブジェクトを符号化するために使用可能である。オブジェクト認識は、弾性グラフマッチングとしてフォーマット可能である。

【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2010年3月10日に出願した、ROBUST OBJECT RECOGNITION BY DYNAMIC MODELING IN AUGMENTED REALITYという表題の米国特許出願第12/720,858号の利益を主張するものである。本特許出願の開示は、参照によりすべての目的で組み込まれる。
【背景技術】
【0002】
別段本明細書において示されない限り、本節で説明される材料は、本出願の請求項に対する先行技術ではなく、本節に包含することによって先行技術であると認められるものではない。
【0003】
拡張現実(Augmented reality)(AR)は、その要素が、仮想画像、典型的には、コンピュータ生成画像によって拡張され、それによって複合現実を生み出す物質界(実世界)環境の眺めを指す。この拡張は、通常、リアルタイムであり、スポーツイベント、軍事演習、ゲームなどの環境要素に関連し得る。AR技術は、オブジェクト認識と画像生成とを追加することによって、人物を取り巻く実世界に関する情報を双方向性にし、デジタル的に使用可能にできる。環境およびオブジェクトに関する人工情報を実世界のビューレイヤから分離した情報レイヤとして記憶して、取り出すことが可能である。
【0004】
本開示では、ARシステムにいくつかの制限が存在することを理解している。オブジェクト認識は、ARの主なコンポーネントであり、オブジェクト認識ではアピアランスベースの(appearance−based)手法が一般に使用される。アピアランスベースのオブジェクト認識手法は、形、反射特徴、シーン内のポーズ、照明状態、および同等効果の組み合わせ効果を処理することが可能である。さらに、アピアランスベースの表現は、伝統的な形状表現と異なり、自動学習段階を通じて獲得可能である。しかし、アピアランスベースの認識技法は、直接的なアピアランスベースのマッチングに基礎を置き、オクルージョン(occlusions)、アウトライア(outliers)、および変動背景をうまく処理することができないため、アピアランスベースの認識技法にはさまざまな課題が残っている。すなわち、アピアランスベースの手法は頑強ではなく、この場合、頑強性という用語は、結果が、さまざまなタイプの雑音の存在下で安定した状態を保ち、一定のアウトライアを許容できることを指す。
【発明の概要】
【課題を解決するための手段】
【0005】
以下の概要は、単なる例示であり、決して限定的なものではない。上述の例示的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴は、図面と以下の詳細な説明とを参照することによって明らかになるであろう。
【0006】
本開示は、一般に、拡張現実(AR)システムにおいてオブジェクト認識を実行するための方法を説明する。拡張現実(AR)システムにおいてオブジェクト認識を実行するための方法は、オブジェクトの二次元画像を画像領域表現に変換することを含むことが可能である。拡張現実(AR)システムにおいてオブジェクト認識を実行するための方法は、画像領域表現のノード同士の間のリンクに基づいて、画像領域内の属性付きグラフ(attributed graph)を画定することと、モデル領域内の別の属性付きグラフを画定することとを含むことも可能である。拡張現実(AR)システムにおいてオブジェクト認識を実行するための方法は、属性付きグラフの対応するノード同士の間のリンクを識別および活性化することによって、画像領域内の属性付きグラフとモデル領域内の属性付きグラフとをマッチングさせることをさらに含むことが可能である。
【0007】
本開示は、拡張現実(AR)システムにおいてオブジェクト認識を実行するための装置も説明する。拡張現実(AR)システムにおいてオブジェクト認識を実行するための装置は、画像データとグラフデータとを記憶するように適合されたメモリと、動的モデリングモジュールを実行するように適合された第1の処理装置であって、動的モデリングモジュールが、二次元(2D)画像を記憶された画像データから、それぞれが画像領域内の少なくとも1つの別個の特徴を符号化する、リンクされたノードの2Dアレイを含む画像領域表現に変換することと、画像領域内のそれぞれのノードに関する少なくとも1つの特徴の活動ベクトル(activity vector)を表す頂点ラベルを決定することと、画像領域のノード同士の間の接続性を表すエッジラベルを決定することと、頂点ラベルおよび/またはエッジラベルのうちの1つもしくは複数に基づいてモデル領域内の属性付きグラフを画定することであって、属性付きグラフがグラフデータの一部としてメモリ内に記憶されている、画定することとを行うように適合可能な第1の処理装置とを含むことが可能である。拡張現実(AR)システムにおいてオブジェクト認識を実行するための装置は、グラフマッチングモジュールを実行するように適合された第2の処理装置であって、グラフマッチングモジュールが、画像領域内のノードとモデル領域内の対応するノードとの間のリンクを識別および活性化することと、類似の特徴を備えたノード同士の間のいくつかの接続を削減することとを行うように適合された第2の処理装置をさらに含むことが可能である。
【0008】
本開示は、拡張現実(AR)システムにおいてオブジェクト認識を実行するための命令を記憶しているコンピュータ可読記憶媒体をさらに説明する。これらの命令は、オブジェクトの二次元画像を、それぞれが特徴検出器のセットを含む複数のリンクされたノードを含む画像領域表現に変換することを含むことが可能である。これらの命令は、特徴検出器を二次元画像のそれぞれの画素に適用することによって、特徴検出器の活動ベクトルを表す頂点ラベルを決定することを含むことも可能である。これらの命令は、それぞれのノード同士の間のリンクを検出することによって、ノード同士の間の接続性を表すエッジラベルを決定することを含むことも可能である。これらの命令は、頂点ラベルとエッジラベルとに基づいて、画像領域内の属性付きグラフを生成することと、モデル領域内の属性付きグラフを画定することであって、モデル領域内の属性付きグラフが画像領域内の属性付きグラフの理想化された複写であってもよい、画定することとを含むことも可能である。これらの命令は、属性付きグラフの頂点ラベルとエッジラベルとをマッチングさせることに基づいて、画像領域内の属性付きグラフとモデル領域内の属性付きグラフとの間の接続を決定することと、接続を画像領域とモデル領域との間のトポロジ保存写像(topology−preserving mapping)に削減することとをさらに含むことが可能である。
【0009】
本開示は、拡張現実(AR)システムにおいてオブジェクト認識を実行するためのシステムをさらに説明する。拡張現実(AR)システムにおいてオブジェクト認識を実行するためのシステムは、実シーンの二次元(2D)画像を取り込むように適合された少なくとも1つのセンサと、2D画像を、それぞれが特徴検出器のセットを含む、画像領域内のノードの2Dアレイを含む画像領域表現に変換するように適合された画像処理サーバとを含むことが可能である。拡張現実(AR)システムにおいてオブジェクト認識を実行するためのシステムは、画像領域内のそれぞれのノードに関する少なくとも1つの特徴の活動ベクトルを表す頂点ラベルを決定することと、画像領域のノード同士の間の接続性を表すエッジラベルを決定することと、頂点ラベルとエッジラベルとに基づいて、領域内の属性付きグラフとモデル領域内の属性付きグラフとを画定することと、画像領域内のノードとモデル領域内の対応するノードとの間のリンクを識別および活性化することと、類似の特徴を備えたノード同士の間のいくつかの接続を削減することとを行うように適合された現実サーバを含むことも可能である。拡張現実(AR)システムにおいてオブジェクト認識を実行するためのシステムは、2D画像と、画像領域内の属性付きグラフと画像領域内の他の属性付きグラフとの間の削減された接続に基づいてレンダリングされた(rendered)仮想画像とをオーバーレイすることによって、拡張シーンを生成するように適合された画像生成サーバを含むことも可能である。
【0010】
本開示の前述の特徴および他の特徴は、添付の図面と共に、以下の説明および添付の請求項から十分明らかになるであろう。これらの図面は本開示によるいくつかの実施形態だけを示し、したがって、その範囲の限定と見なさないことを理解して、本開示は、添付の図面を使用することによって、追加の特異性および詳細を用いて説明される。
【図面の簡単な説明】
【0011】
【図1】ある例示的な拡張現実(AR)システムを示す図である。
【図2】動的モデリングとグラフマッチングとを用いたある例示的なARシステムのブロック図である。
【図3A】ある例示的な動的モデリングサブシステムにおける例示的なプロセスのブロック図である。
【図3B】ある例示的なグラフマッチングサブシステムにおける動作の図である。
【図3C】ある例示的なグラフ選択サブシステムにおける動作の図である。
【図4】動的モデリングとグラフマッチングとを用いたシステムにおいて入力画像をどのように属性付きグラフとして表すことができるかを例示する図である。
【図5】ARシステムにおいて動的モデリングとグラフマッチングとを実施するために使用可能な汎用コンピューティング装置を例示する図である。
【図6】図5の装置500など、コンピューティング装置によって実行可能な、ある例示的な方法を示す流れ図である。
【図7】すべて本明細書で説明される少なくともいくつかの実施形態に従って構成された、ある例示的なコンピュータプログラム製品のブロック図である。
【発明を実施するための形態】
【0012】
以下の詳細な説明において、詳細な説明の一部を形成する添付の図面が参照される。図面において、文脈上別段の規定がない限り、類似の記号は、通常、類似のコンポーネントを識別する。詳細な説明、図面、および請求項で説明される例示的な実施形態は、限定的であることが意味されない。本明細書で提示される主題の趣旨または範囲から逸脱せずに、その他の実施形態を利用することが可能であり、その他の変更を行うことが可能である。一般に、本明細書で説明され、図面において例示される本開示の態様は、そのすべてが本明細書で明示的に企図される、幅広い異なる構成で構成、置き換え、組み合わせ、分離、および設計できる点を容易に理解されよう。
【0013】
本開示は、一般に、特に、動的モデリングとグラフマッチングとに基づくARシステムにおいての頑強なオブジェクト認識に関する方法、装置、システム、デバイス、および/またはコンピュータプログラム製品を対象とする。
【0014】
簡単に説明すると、動的モデリングに基づく頑強なオブジェクト認識方式は、セル状領域をより高次のエンティティグループにグループ化するために、これらの領域の微小スケールの時間的構造(fine scale temporal structure)の相関を用いる。これらのエンティティは、リッチな構造を表し、ハイレベルなオブジェクトを符号化するために使用可能である。オブジェクト認識は、弾性グラフマッチングとしてフォーマット可能である。
【0015】
図1は、いくつかの実施形態を本開示に従って実施することができる、ある例示的な拡張現実(AR)システム100を示す。ARは、実世界表示を拡張するために、ライブビデオストリーム内にコンピュータ生成画像を適用することを探索する。ARシステムは、一般に、いくつかのセンサおよびアクチュエータと、実像およびコンピュータ生成画像を処理するための1つまたは複数のコンピューティング装置と、ヘッドマウントディスプレイ、バーチャル網膜ディスプレイ、モニタまたは類似の正規のディスプレイ、および同等の装置などの可視化システムとを含む、制御された環境を含む。
【0016】
ARシステム100は、実シーンのライブ画像(オブジェクト)102を取り込むように構成されたセンサ104を含む。センサ104は、取込み画像としてアナログ画像もしくはデジタル画像を提供できるデジタルカメラ、ウェブカメラ、および/または類似の画像取込み装置であってもよい。(1つもしくは複数の)取込み画像は、センサ104によって、アナログ画像のデジタル画像へのデジタル化を実行し、デジタル画像を受信し、かつ/またはデジタル画像を処理するように適合可能な画像処理サブシステム106に提供することが可能である。画像処理サブシステム106によって提供される処理は、画像内の特徴点の位置の決定、アファイン射影の計算、エッジの追跡、フィルタリング、および/または類似の動作を含むことが可能である。画像処理サブシステム106は、上述の動作の結果など、射影情報を現実エンジン110に提供するように適合することも可能である。現実エンジン110は、取込み画像に基づいて、シーンをレンダリングするためにグラフィックスプロセスを実行するように適合可能である。仮想オブジェクトは、下でより詳細に議論されるように、動的モデリングとグラフマッチングとを用いるように構成可能な現実エンジン110によって提供することが可能である。
【0017】
画像生成器108は、センサ104から(1つまたは複数の)基準画像を受信して、現実エンジン110から(1つまたは複数の)仮想オブジェクトを受信して、拡張シーンを生成するために、取り込まれた実シーン画像を(1つまたは複数の)仮想オブジェクトとオーバーレイするように適合可能である。1つの例示的な実装形態では、仮想シーンと実シーンの融合は、ルミナンスキーイング(luminance keying)を介して実行可能であり、この場合、仮想画像はキー入力であり、実シーン画像は基準入力である。その実装形態では、実シーン画像は、ルミナンスキーに背景信号を提供し、キーヤ(keyer)(画像生成器)に関する同期信号としての機能も果たす。ディスプレイ112は、ユーザによる閲覧のために、拡張シーンを生成するために使用可能な1つの例示的な可視化機構である。先に議論されたように、拡張シーン114の可視化をユーザに提供するために、その他のタイプのディスプレイ装置を使用することが可能である。
【0018】
画像処理サブシステム106、現実エンジン110、および画像生成器108は、別個のアプリケーションとして、統合アプリケーションとして、集中サービスとして、または1つもしくは複数のコンピューティング装置上の分散型サービスとして実施可能である。1つまたは複数のコンピューティング装置は、異種であっても、同種であってもよく、汎用コンピューティング装置として実施されても、独立型コンピュータ、ネットワーク接続されたコンピュータシステム、汎用処理装置(たとえば、マイクロプロセッサ、マイクロコンとローラ、デジタル信号プロセッサ、すなわちDSP、など)、もしくは専用処理装置として含まれることが可能な専用コンピューティング装置として実施されてもよい。異なるコンピューティング装置上で実施される場合、ARシステム100のさまざまなコンポーネントは、1つまたは複数のネットワーク上で互いに通信するように構成可能である。
【0019】
(1つまたは複数の)ネットワークは、サーバ、クライアント、スイッチ、ルータ、モデム、インターネットサービスプロバイダ、および任意の適切な通信媒体(たとえば、有線通信または無線通信)のいずれかのトポロジを含むことが可能である。実施形態によるシステムは、静的または動的なネットワークトポロジを有することが可能である。(1つまたは複数の)ネットワークは、企業ネットワーク(たとえば、LAN、WAN、もしくはWLAN)など、安全なネットワーク、ワイヤレスオープンネットワーク(たとえば、IEEE802.11無線ネットワーク)など、安全でないネットワーク、またはワールドワイドネットワーク(たとえば、インターネット)を含むことが可能である。(1つまたは複数の)ネットワークは、共に動作するように適合された複数の別個のネットワークを含むことも可能である。(1つまたは複数の)ネットワークは、本明細書で説明されるノード同士の間に通信を提供するように適合される。限定ではなく、例として、(1つまたは複数の)ネットワークは、音響媒体、RF媒体、赤外線媒体、およびその他の無線媒体などの無線媒体を含むことが可能である。
【0020】
図2は、本明細書で説明される少なくともいくつかの実施形態による、動的モデリングとグラフマッチングとを用いたある例示的なARシステムのブロック図200を示す。オブジェクト認識は、たとえば、中でも、検査、登録、および操作のために、マシンビジョン業界(machine vision industry)で広く使用されている。しかし、オブジェクト認識に関する従来のシステムは、通常、相関ベースのテンプレートマッチングに依存する。本開示は、これらの従来のシステムはオブジェクトポーズと照度とが厳重に制御された一定の設計環境にとって効果的な可能性があるが、テンプレートマッチングは、オブジェクトの回転、スケール、照度、および三次元ポーズが変化することが可能にされるとき、計算上厄介になる可能性があり、部分的な可視性と大きなモデルデータベースとを処理するときには一層厄介になる可能性があることを確認および認識する。
【0021】
本開示の少なくともいくつかの実施形態による動的モデリングベースのシステムは、構文的にリンクした構造に基づくデータフォーマットを活用することができる。より詳細には、画像を属性付きグラフとして画像領域内に表すことができる。したがって、画像領域は、ノードの二次元のアレイを含む。特定の位置のそれぞれのノードは、いくつかの異なる特徴を含む場合がある。例示的な特徴タイプは、局所光強度、反射特性、シーン内のポーズ、オクルージョン、および/または背景変動のうちの1つもしくは複数を含むことが可能である。しかし、フィルタリング動作を通じて導出可能なより複雑な特徴タイプを使用することも可能である。画像領域内のノード同士の間の関係は、励起接続(excitatory connections)と呼ばれる場合がある。2つのノード同士の間の励起接続は、重み付けされた接続であり、この場合、重みは正であり得る(すなわち、システム内にシステム励起または正の信号を引き起こす)。いくつかの例示的な実装形態では、近傍のノードは接続可能である。他の実装形態では、任意の数のノード同士の間の複雑な接続が存在する可能性がある。動的モデルによれば、特定のオブジェクトは、オブジェクトの影響を受ける可能性がある画像領域のサブグラフによって表すことができる。
【0022】
モデル領域は、画像領域内の属性付きグラフ(すなわち、サブグラフの理想化された複写)の集合物であり得る。したがって、励起接続は、画像領域とモデル領域との間に存在する可能性がある。これらの励起接続は、いくつかの特徴を保存することができる。たとえば、2つのノード、すなわち、画像領域内に1つのノード、モデル領域内に1つのノードが存在する場合、これらのノードが対応する特徴タイプに属するとき、これらのノードは互いの間に接続を有することが可能である。そのような構造の場合、オブジェクト認識は、グラフマッチングのプロセスとして実現でき、オブジェクトを符号化するモデル領域内の属性付きグラフは、視点の変形と変更とを反映するために、局所的に歪曲可能である。
【0023】
ある例示的なグラフマッチングでは、画像領域の複数のノードとモデル領域の複数のノードとの間に近似的な近傍保存および特徴タイプ保存写像(approximate neighborhood preserving and feature type preserving mappinng)が存在するとき、2つのグラフをほぼ同一と見なすことができる。グラフマッチングは、画像領域のサブグラフのノードをグループ化して、選択的に活性化することによって、いくつかの実施形態に従って実施可能である。これは、単に類似の特徴ベクトルを備えたノードを結合させることによって、モデル領域を参照せずに一部達成できる。結果として、1つのオブジェクトに対応する画像の部分内のノードはその活動を同期化する傾向があり、一方、異なる画像セグメント同士の間のノードはその動的リンクを非同期化して、破壊する傾向がある。次に、サブグラフ内のノードおよびリンクをモデル領域において識別および活性化することができる(すなわち、接続パターンに関する連想メモリから取り出された接続パターン)。モデル領域内のリンクの識別および活性化に続いて、類似の特徴を備えた、画像領域内のノードとモデル領域内のノードとの間の(多対多)接続を一貫した(すなわち、トポロジ保存)1対1の写像に削減することが可能である。上述の動作は連続的に実行されなくてもよい点に留意されたい。実際には、それぞれの動作は他の動作の部分的な結果を必要とする場合があるため、実施形態によるシステムは、これらの活動をインターレース様式で実行することが可能である。
【0024】
図2を参照すると、ブロック図200は、説明される実施形態のうちの少なくとも1つに従って、ARシステムの動的モデリングブロック226に提供可能な三次元(3D)オブジェクト222の二次元(2D)画像224を示す。動的モデリングブロック226は、フィルタリングなどの(1つまたは複数の)画像領域変換を実行するように適合可能であり、頂点属性とエッジ属性とを決定することが可能であり、(頂点ラベルとエッジラベルとを有する)属性付き画像領域グラフをグラフマッチングブロック228に提供することが可能である。グラフマッチングブロック228は、既に議論されたように、サブグラフのノード同士の間のリンクを識別および活性化して、モデル領域内のリンクを識別および活性化して、その接続を1対1の写像に削減するように適合可能である。結果として生じるパターン230は、提供エンジンなど、任意の消費アプリケーション232に提供可能である。
【0025】
図3Aは、本明細書で説明される少なくともいくつかの実施形態に従って構成された、ある例示的な動的モデリングサブシステム326内の例示的なプロセスのブロック図300を示す。いくつかの実施形態による動的モデリングベースのオブジェクト認識システムは、2つのサブシステム内、すなわち、動的モデリングサブシステム内およびグラフマッチングサブシステム内において実行されるプロセスを含むことが可能である。図300に示すように、画像表示は、動的構造をモデリング2Dグレイスケールデジタル画像に適用して、結果として、グラフモデル(364、366)を抽出することによって、動的モデリングサブシステム326内で達成することができる。抽出されたグラフモデル364および366を使用して、図3Bに関して下でより詳細に議論されるように、(1つまたは複数の)クラスラベルを割り当てる目的で、データベースからマッチするグラフを検索するために、グラフマッチングアルゴリズムを入力グラフに適用することが可能である。
【0026】
動的モデリングサブシステム326は、ハードウェアとして、ソフトウェアとして、またはハードウェアとソフトウェアの組み合わせとして実施可能である。たとえば、汎用ビデオプロセッサまたは専用ビデオプロセッサは、下で説明される動作を実行するように構成可能である。動的モデリングサブシステム326の一例は、2D画像系列を入力340として受信するように適合される。実施形態による、動的モデルを使用したオブジェクト認識の目標は、画像領域内のグラフの属性およびリンクに関する情報を符号化するためのデータフォーマットを見出して、その情報をモデル領域に転送することである。画像を前処理することは、画像領域内のそれぞれのニューロンの実際の属性値を推定することを必要とする場合がある。これは、それぞれのニューロンに関する変動画像のセット(たとえば、ビデオからの画像の系列)からの時間平均化によって達成可能である。ニューロン同士の間の結合は、信号伝送に関するシナプス荷重の役割を担う時間相関の形で符号化可能である。
【0027】
第1のステップとして、(たとえば、ビデオから取り込まれた)デジタル画像または静止画像の系列340は、枠342においてグラフ表示(すなわち、グラフ属性ベクトル)を生成するために処理可能である。グラフの抽出および表示のある例示的なプロセスは、図4に関して下で示される。前処理およびグラフ抽出の結果として、画像領域内のグラフ346が取得される。次元構造の削減が続くため、これらのグラフは完全次元グラフと呼ばれる。同様に、属性付きグラフは、枠350においてモデル領域内で画定およびセットアップでき、結果として、モデル領域グラフデータベース352をもたらす。画像が画像領域内で形成されるとき、その地点のうちの1つに中心を置く局所特徴検出器は束ねられて、複合特徴検出器を形成することが可能である。複合特徴検出器は、全体として、他の複合特徴検出器と比較するためにモデル領域に提供され、それによって、属性付きモデル領域グラフを確立することが可能である。複合特徴検出器の使用は、新しいオブジェクトクラスを認識できる前に、複雑な特徴に関する検出器として新しい個々の特徴をトレーニングする必要を削減することによって、ARシステム上の計算上の負担とメモリ負担とを削減することが可能である。
【0028】
モデル領域内のグラフは、それを用いてグラフマッチングアルゴリズムを実施できるプロトタイプグラフデータベースの役割を担うことが可能である。(図3Cで説明される)プロトタイプグラフ選択プロセス354は、画像領域内のグラフとモデル領域内のグラフ(344、356)とを分解する際に使用できるプロトタイプグラフセット362をもたらすことが可能である。モデル領域グラフデータベース352は、属性付きグラフの集合、すなわち、画像領域内のサブグラフの理想化された複写でもある。プロトタイプサブグラフセット362を確立した後で、画像領域内の抽出されたグラフを事前に定義された規則に従ってグラフ(344)に削減することが可能である。画像領域内の削減された次元グラフ348は、プロトタイプグラフからのサブセットの組み合わせから構成可能である。同様に、モデル領域内の(モデル領域グラフデータベース352からの)グラフを分解して(356)プロトタイプグラフからのサブセットの組み合わせにし、結果として、画像領域内およびモデル領域内に構造の次元を削減したグラフ(それぞれ、348、360)をもたらすことも可能である。
【0029】
次いで、図3Bに関して下で議論されるように、画像領域内の近傍関係とモデル領域内の近傍関係とを表すリンクをセットアップすることが可能である。これによって、ニューラルオブジェクト(Neural objects)は、内部構造を獲得し、このとき、それらの関係をオブジェクト認識に関する基礎を形成するマッチする統語構造(syntactical structure)との組み合わせに制約することが可能である。
【0030】
図3Bは、本明細書で説明される少なくともいくつかの実施形態に従って構成された、ある例示的なグラフマッチングサブシステム328内の動作350の例示的な図である。グラフマッチングサブシステム328は、図3Aの動的モデリングサブシステム326と同じ装置(および/もしくはソフトウェア)によって、または異なる装置(および/もしくはソフトウェア)によって実施可能である。
【0031】
動作350は、ブロック368、370、372、374、376、および/または330のうちの1つもしくは複数を含むことが可能である。ブロック368「シナプス荷重および接続計算」において、コンピューティング装置内で実施されるグラフマッチングアルゴリズムを前処理属性付き画像領域グラフに適合することができる(参照番号364によって示される接続)。この前処理は、画像領域内のそれぞれのニューロンの実際の属性値を推定することを必要とする場合があり、これは、それぞれのニューロンに関する変動画像のセットからの時間平均化によって行うことができる。ニューロン同士の間の結合は、時間相関の形で符号化可能であり、これは、信号伝送に関するシナプス荷重として利用することができる。
【0032】
ブロック368の後に、ブロック370が続いてもよい。ブロック370「画像領域セグメント化」において、画像領域のサブグラフI内のノードをグループ化することが可能である。このグループ化またはセグメント化は、類似の特徴ベクトルを備えたノードを結合させることによって達成可能であり、そのようなノードは、同じオブジェクト内に存在する可能性が高い。このように、1つのオブジェクトに対応する画像またはシーンの部分内のノードはその活動を同期化する傾向にあり、一方、異なる画像セグメント同士の間のノードはその動的リンクを非同期化して、破壊する傾向がある。
【0033】
ブロック370の後に、ブロック372が続いてもよい。ブロック372「費用関数検査」において、費用関数検査を動的モデリングサブシステムによって提供されたグラフ属性に基づいて、グラフマッチングの一部として実行することが可能である。費用関数は、所与の問題に関して、ある特定の解決策が最適な解決策とどの程度の隔たりがあるかの尺度である。この場合、最適化は、頂点ラベルとエッジラベルのマッチングを必要とする。
【0034】
ブロック372の後に、ブロック374が続いてもよい。ブロック374「最終的な属性付きグラフマッチング」において、属性付きグラフマッチングをオブジェクト認識に適用することが可能である。属性付きグラフマッチングは、記憶されたモデルグラフMが存在する場合、記憶されたモデルグラフMと同一またはほぼ同一の画像領域の部分(サブグラフ)Iから構成されるサブグラフを見出して、選択的に活性化すること(参照番号366によって示される接続)に基づいてもよい。属性付きグラフマッチングの一部として、I内およびM内の対応する地点同士の間の1対1接続を決定することも可能である。詳細には、このプロセスは、上述の、確立された費用関数に従って、頂点ラベルとエッジラベルのマッチングを同時に最適化する、頂点位置のセットに関する検索によって実施可能である。I内およびM内の類似の特徴を備えたノード同士の間の多対多接続を対にして、ブロック374で説明される動作の間に一貫した1対1の写像に削減することも可能である。
【0035】
ブロック374の後に、ブロック376が続いてもよい。ブロック376「バックラベリング(BACK LABELING)」において、認識されたパターンを画像にバックラベリングすることが可能である。グラフマッチング処理は、対応する位置を備えた、I内の近傍のニューロンのブロックおよびM内の近傍のニューロンのブロックの同時活性化を伴うイベントを含むことが可能である。結果として、マッチしたグラフ同士の間の動的な結合は、認識されているパターンを画像にバックラベリングして、それらのパターンに基づいて、複合オブジェクトおよびシーンの表示を形成するために使用可能である。これらのパターンは、動作350を実行するグラフマッチングサブシステム328の出力330であり得る。
【0036】
図3Cは、本明細書で説明される少なくともいくつかの実施形態に従って構成された、ある例示的なグラフ選択サブシステムにおける動作の図を例示する。図3Cで説明される動作は、図3Aの動的モデリングサブシステムのプロトタイプグラフ選択枠354内で実行可能である。
【0037】
リアルタイムでグラフマッチングを実行する際の大きな課題は、グラフモデルの複雑性が高いことにある。この複雑性は、グラフの複雑な構造と、グラフ固有の高次元性とによって引き起こされる場合がある。実施形態のうちのいくつかによれば、効果的なグラフ選択方法を開発することによって、次元のより低いベクトル表示(すべてのグラフ表示のサブセット)を構築するための自動化方法を用いることが可能である。
【0038】
このプロセスは、入力ブロック378「プロトタイプグラフセットを作成する」から始めることができ、たとえば、グラフを任意に選択することによって、プロトタイプグラフの初期セットP={p,...,p}を構築することができる。この初期セットは、より簡素な構造グラフを含むことが可能であり、画像領域内とモデル領域内の両方のより完全なグラフモデルを補うために使用可能である。プロトタイプグラフセットは、さまざまなプロトタイプグラフ選択アルゴリズムを使用して、モデル領域内のトレーニンググラフセットから構築可能である。次いで、認識のために元のグラフの最も有益な情報を維持すると同時に、入力画像領域から抽出されたグラフとモデル領域内のトレーニンググラフとを構造の点でより簡素なそれぞれの領域に関するグラフのサブセットに分解することができる。
【0039】
詳細には、プロトタイプグラフ選択の目標は、まさにそれらのグラフ構造に関して異なるクラスを表すグラフのサブセットをモデル領域のトレーニングセットから(たとえば、モデル領域グラフデータベース352から)選ぶことであり得る。このプロトタイプグラフは、画像領域内とモデル領域内の両方でより複雑なグラフ構造を補うために十分小さくてもよい。プロトタイプグラフは、類似のグラフを選択するという点で冗長性を回避することと、十分な情報を伝達することとを同時に行うことができる。
【0040】
ブロック380「初期セットを作成する」において、それぞれのセットが1つのプロトタイプS={p},...,S={p}を含むように、n個のセットSを選択することができる。ブロック382「グラフを見出すためにTを走査する」において、グラフg∈T\Pを見出すために、モデル領域からの(1つまたは複数の)トレーニンググラフセットを走査することが可能である。それぞれのグラフgに関して、その最近傍、すなわち、p∈Pを見出すことができ、ブロック384「gとPとの間の距離を計算する」、ブロック386「最近傍であるか?」、およびブロック388「gをセットSに追加する」によって示されるように、考慮中のグラフは、プロトタイプpに対応するセットSに追加される。これらのステップは、結果として、T∪1<i<nを伴う、n個の互いに素なセット(disjointed sets)をもたらし得る。
【0041】
ブロック390「Pの中心cを計算する」において、それぞれのセットSに関して中心cを見出すことができる。cは、S内の他のオブジェクトまでの最大距離が最小であるグラフであってもよい。c=pである、それぞれの中心cに関して、決定ブロック394「c=p?」および出力ブロック392「プロトタイプグラフセットSを出力する」によって示されるように、出力プロトタイプグラフセットSを提供することが可能ある。c≠pである、それぞれの中心cに関して、ブロック396「pをS内のcで置き替える」に示されるように、pをS内のcで置き替えることができ、このプロセスは、別のトレーニングセットを取得するために、ブロック382に戻った。セットS内にそれ以上の変更が発生しないとき、このプロセスは終了できる。これらのプロトタイプグラフは、n個の互いに素なセットの中心によって提供可能である。
【0042】
実施形態は特定の例、コンポーネント、および構成を使用して上で議論されているが、これらの実施形態は、ARシステムにおける動的モデリングを通じた頑強なオブジェクト認識に関して使用されることになる一般的な指針を提供することが意図される。これらの例は、本明細書で説明される原理を使用して、他のコンポーネント、モジュール、および構成を使用して実施可能な実施形態の限定を構成しない。たとえば、頂点ラベルとエッジラベルとをマッチングさせる際に任意の適切な費用関数を使用することが可能である。さらに、上で議論された活動は、さまざまな順序で、特に、インターレース様式で実行することが可能である。
【0043】
図4は、本明細書で説明される少なくともいくつかの例による、動的モデリングとグラフマッチングとを用いたシステムにおいて入力画像を属性付きグラフとしてどのように表示可能できるかを例示する。いくつかの実施形態による画像表示では、動的な構造をモデリング2Dデジタル画像に適用することが可能であり、結果として、図442に例示されるプロセスを通じて、グラフモデルが抽出される。動的な構造は、画像領域内およびモデル領域内のグラフ表示を含むことが可能である。第1のステップとして、これらの特徴を使用してグラフ表示406(すなわち、画像領域表現)を形成するために、特徴(W1−WN)を入力デジタル画像から抽出することが可能である。画像領域内のグラフ表示406は、それぞれがN個の異なる特徴検出器ニューロン402を含むノードの2Dアレイであってもよい。一態様では、画像領域内で入力画像424のグラフ表示406を形成することは、特徴検出器402のセットを選択して、フィルタ404を入力画像424の画素に適用することに相当し得る。これらの結果は、いわゆる、頂点ラベル408、すなわち、局所特徴検出器の活動を表す特徴ベクトルである。
【0044】
第2のステップは、それぞれのノード同士の間のリンクを形成することを含むことが可能である。その結果は、頂点同士の間の接続性を表す、いわゆる、グラフ表示406のエッジラベル410であり得る。これにより、入力画像424を頂点とエッジの両方に付随する属性(特徴ベクトル)を備えた画像領域内の属性付きグラフに変換することが可能である。オブジェクトは、結果として、類似の属性を備えた画像領域内のサブグラフであり得る。
【0045】
画像領域内のグラフとなる画像が抽出されるとき、その地点のうちの1つに中心を置く局所特徴検出器は、図442に示されるように、束ねられて複合特徴検出器を形成することに対応し得る。この複合特徴検出器は、モデル領域に提供されて、そこで他の複合特徴検出器と比較されることが可能である。これは、新しいオブジェクトクラスを認識できる前に、複雑な特徴に関する検出器として新しい個々の特徴をトレーニングする必要を除去または削減することができる。
【0046】
図5は、本開示によるARシステムにおいて動的モデリングとグラフマッチングとを実施するために使用可能な、ある例示的な汎用コンピューティング装置500を示す。非常に基本的な構成502において、コンピューティング装置500は、通常、1つまたは複数のプロセッサ504とシステムメモリ506とを含む。メモリバス508は、プロセッサ504とシステムメモリ506との間の通信のために使用可能である。
【0047】
所望の構成に応じて、プロセッサ504は、マイクロプロセッサ(μP)、マイクロコントローラ(μC)、デジタル信号プロセッサ(DSP)、またはそれらのなんらかの組み合わせを含むが、それらに限定されない、任意のタイプのものであってもよい。プロセッサ504は、レベルキャッシュメモリ512など、1つまたは複数のレベルのキャッシュと、プロセッサコア514と、レジスタ516とを含むことが可能である。例示的なプロセッサコア514は、論理演算装置(ALU)、浮動小数点演算装置(FPU)、デジタル信号処理コア(DSPコア)、またはそれらのなんらかの組み合わせを含むことが可能である。ある例示的なメモリコントローラ518は、プロセッサ504と共に使用することも可能であり、または、いくつかの実装形態では、メモリコントローラ518は、プロセッサ504の内部部品であってもよい。
【0048】
所望の構成に応じて、システムメモリ506は、(RAMなど)揮発性メモリ、(ROM、フラッシュメモリなど)不揮発性メモリ、またはそれらのなんらかの組み合わせを含むが、それらに限定されない任意のタイプのものであってもよい。システムメモリ506は、オペレーティングシステム520と、1つまたは複数のアプリケーション522と、プログラムデータ524とを含むことが可能である。アプリケーション522は、上で議論されたように、動的モデリングと属性付きグラフマッチングとを使用して、オブジェクト認識システムの操作パラメータを調整するように構成されたARモジュール526を含むことが可能である。プログラムデータ524は、図3Aおよび3Bに関して上で議論されたように、撮像データ、モデルデータ528−1、グラフデータ528−2、および類似のデータのうちの1つまたは複数を含むことが可能である。このデータは、本明細書で説明される画像領域サブグラフとモデル領域サブグラフとの間の1対1の写像を生成する際に有用であり得る。いくつかの実施形態では、アプリケーション522は、本明細書で説明されるように、三次元オブジェクトが認識されて、仮想表示が生成されるように、オペレーティングシステム520上でプログラムデータ524と共に動作するように構成可能である。この説明された基本的な構成502は、内側の破線内のコンポーネントによって図5に例示される。
【0049】
コンピューティング装置500は、さらなる特徴または機能性、ならびに基本的な構成502と任意の必要とされる装置およびインタフェースとの間の通信を円滑にするためのさらなるインタフェースを有することが可能である。たとえば、バス/インタフェースコントローラ530は、記憶インタフェースバス534を経由して基本的な構成502と1つまたは複数のデータ記憶装置532との間の通信を円滑にするために使用可能である。データ記憶装置532は、取外し式記憶装置536であっても、非取外し式記憶装置538であっても、それらの組み合わせであってもよい。取外し式記憶装置および非取外し式記憶装置の例は、ほんのいくつかの例を挙げると、フレキシブルディスクドライブおよびハードディスクドライブ(HDD)などの磁気ディスク装置、コンパクトディスク(CD)ドライブまたはデジタル多用途ディスク(DVD)ドライブなどの光ディスクドライブ、固体ドライブ(SSD)、およびテープドライブを含む。例示的なコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなど、情報を記憶するためのなんらかの方法または技術で実施される揮発性媒体および不揮発性媒体、取外し式媒体および非取外し式媒体を含むことが可能である。
【0050】
システムメモリ506、取外し式記憶装置536、および非取外し式記憶装置538は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体は、所望の情報を記憶するために使用可能であり、かつコンピューティング装置500によってアクセス可能なRAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または任意の他の媒体を含むが、これらに限定されない。任意のそのようなコンピュータ記憶媒体は、コンピューティング装置500の一部であってもよい。
【0051】
コンピューティング装置500は、バス/インタフェースコントローラ530を経由して、さまざまなインタフェース装置(たとえば、出力装置542、周辺インタフェース544、および通信装置546)から基本的な構成502への通信を円滑にするためのインタフェースバス540を含むことも可能である。例示的な出力装置542は、1つまたは複数のA/Vポート552を経由して、ディスプレイもしくはスピーカなど、さまざまな外部装置と通信するように構成され得るグラフィックス処理装置548および音声処理装置550を含む。例示的な周辺インタフェース544は、1つまたは複数のI/Oポート558を経由して、入力装置(たとえば、キーボード、マウス、ペン、音声入力装置、タッチ入力装置など)または他の周辺装置(たとえば、プリンタ、スキャナなど)など、外部装置と通信するように構成可能な直列インタフェースコントローラ554または並列インタフェースコントローラ556を含む。ある例示的な通信装置546は、1つまたは複数の通信ポート564を経由して、ネットワーク通信リンク上で1つまたは複数の他のコンピューティング装置562との通信を円滑にするように構成可能なネットワークコントローラ560を含む。
【0052】
ネットワーク通信リンクは、通信媒体の一例であり得る。通信媒体は、通常、搬送波または他のトランスポートメカニズムなど、変調されたデータ信号内でコンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータによって実施可能であり、任意の情報配信媒体を含むことが可能である。「変調されたデータ信号」は、信号内の情報を符号化するように1つもしくは複数のその特性が設定または変更された信号であり得る。限定ではなく、例として、通信媒体は、有線ネットワークまたは直接配線接続など、有線媒体と、音響媒体、無線周波数(RF)媒体、マイクロ波媒体、赤外線(IR)媒体および他の無線媒体など、無線媒体とを含むことが可能である。本明細書で使用される場合、コンピュータ可読媒体という用語は、記憶媒体と通信媒体の両方を含む。
【0053】
コンピューティング装置500は、上記の機能のうちのいずれかを含むセル電話、携帯情報端末(PDA)、パーソナルメディアプレイヤ装置、ワイヤレスウェブウォッチ装置、パーソナルヘッドセット装置、特定用途向け装置、またはハイブリッド装置など、スモールフォームファクタ(small−form factor)の可搬(すなわち、モバイル)電子装置の一部として実施可能である。コンピューティング装置500は、ラップトップコンピュータ構成と非ラップトップコンピュータ構成の両方を含むパーソナルコンピュータとして実施することも可能である。さらに、コンピューティング装置500は、ネットワーク接続されたシステムとして、または汎用サーバもしくは専用サーバの一部として実施することも可能である。
【0054】
例示的な実施形態は、方法を含むことも可能である。これらの方法は、本明細書で説明される構造を含めて、任意の数の様式で実施可能である。1つのそのような様式は、本開示で説明されたタイプの装置の機械動作による。別のオプションの様式は、方法の1つまたは複数の個々の動作が、1人または複数の人間オペレータが動作のうちのいくつかを実行すると同時に、他の動作が機械によって実行されることに関して実行されることに関する。これらの人間オペレータは、互いと同じ場所に配置される必要がなく、それぞれ、プログラムの一部を実行する機械と共にいればよい。別の例では、人間の相互作用は、機械によって自動化された事前に選択された基準によってなど、自動化することが可能である。
【0055】
図6は、本明細書で説明される少なくともいくつかの実施形態に従って構成された、図7の装置500などのコンピューティング装置によって実行可能な、ある例示的な方法を示す流れ図である。例示的な方法は、1つもしくは複数のブロック622、624、626、628、630、632、および/または632によって例示されるような、1つもしくは複数の動作、機能、または活動を含むことが可能である。ブロック622から634で説明される動作は、コンピューティング装置610のコンピュータ可読媒体620など、コンピュータ可読媒体内にコンピュータ実行可能命令として記憶することも可能である。
【0056】
ARオブジェクト認識において動的モデリングとグラフマッチングとを用いるプロセスは、ブロック622「2D画像を画像領域に変換する」から始めることができる。ブロック622において、コンピューティング装置のプロセッサ(たとえば、コンピューティング装置500のプロセッサ504、またはグラフィックス処理装置548)によって、実シーン内の3Dオブジェクトの2D画像を取得することが可能である。画像領域内のそれぞれのノードは、いくつかの異なる特徴検出器ニューロンからなり得る。特徴検出器のセットを選択して、オプションのフィルタリングプロセスにおいて、2D画像のそれぞれの画素に適用することが可能である。
【0057】
ブロック622の後に、ブロック624「ノード同士の間にリンクを確立する」が続いてもよい。ブロック624において、それぞれのノード頂点同士の間のリンクをセットアップして、結果として、それぞれのノード同士の間の接続性を表すエッジラベルをもたらすことができる。これにより、画像を、頂点とエッジの両方に付随する属性を備えた、画像領域内の属性付きグラフに変換することが可能である。
【0058】
ブロック624の後に、ブロック626「画像領域内の属性付きグラフを画定する」が続いてもよい。ブロック626において、頂点ラベルとエッジラベルとにより属性付きグラフが画定される。ブロック622から626は、第1のコンピューティング装置のプロセッサ(たとえば、コンピューティング装置500のプロセッサ504またはグラフィックス処理装置548)の動的モデリングモジュールによって実行可能である。他方で、ブロック628から634は、ネットワークを介して第1のコンピューティング装置に結合された第2のコンピューティング装置上の同じプロセッサまたは別のプロセッサのグラフマッチングモジュールによって実行可能である。当然、すべてのブロックを単一のモジュールによって実行することも同様に可能である。
【0059】
ブロック626の後に、ブロック628「それぞれのノードの実際の属性値を推定する」が続いてもよい。ブロック628において、それぞれのノードの実際の属性値は、たとえば、それぞれのノードに関する変動画像のセットからの時間平均化によって、画像領域内で推定可能である。この推定は、リンクに関するシナプス荷重と接続計算とを含むことも可能な前処理の一部である。
【0060】
ブロック628の後に、ブロック630「属性付きグラフをマッチングさせる」が続いてもよい。ブロック630において、画像領域のサブグラフ内のノードを見出して、選択的に活性化させることに基づいて、属性付きグラフをマッチングさせることが可能である。属性付きグラフマッチングの一環として、画像領域内およびモデル領域のサブグラフ内の対応する地点同士の間の1対1接続を決定することも可能である。画像領域内のセグメント化とも呼ばれる、グラフマッチングの初期部分は、類似の特徴ベクトルを備えたノードを結合させることによって達成可能である。
【0061】
ブロック630の後に、ブロック632「(1つまたは複数の)サブグラフ内のリンクを識別および活性化する」が続いてもよい。ブロック632において、属性付きグラフの第2の部分は、連想メモリから両方領域内のノードに関する接続パターンを取り出すことによって達成可能である。リンクの識別および活性化の一環として、確立された費用関数に従って、頂点ラベルとエッジラベルのマッチングを最適化することができる。
【0062】
ブロック632の後に、ブロック634「写像接続」が続いてもよい。ブロック634において、画像領域サブグラフ内およびモデル領域サブグラフ内の類似の特徴を備えたノード同士の間の多対多接続を1対1接続に削減することが可能である。結果として、認識されているパターンを画像にバックラベリングするために、マッチングされたグラフ同士の間の動的な結合を使用することが可能である。次いで、同じコンピューティング装置上または他のコンピューティング装置上のレンダリングソフトウェアおよび/もしくはレンダリングハードウェアによるパターンに基づいて、複合オブジェクトおよびシーンの表示を形成することが可能である。
【0063】
上述のプロセス内に含まれたブロックは、例示のためである。より少ないブロックまたはさらなるブロックを用いて類似のプロセスによって、動的モデリングとグラフマッチングとによるオブジェクト認識を実施することが可能である。いくつかの例では、これらのブロックを異なる順序で実行することも可能である。いくつかの実施形態では、さまざまなブロックを無くすことも可能である。さらに他の例では、さまざまなブロックをさらなるブロックに分割することが可能であるか、または組み合わせてより少ないブロックにすることも可能である。
【0064】
図7は、本明細書で説明される少なくともいくつかの実施形態に従って構成された、ある例示的なコンピュータプログラム製品700のブロック図を示す。いくつかの例では、図7に示されるように、コンピュータプログラム製品700は、たとえば、プロセッサによって実行されたとき、図5および図6に関して上述の機能性を提供できる機械可読命令704を含むことも可能な信号伝達媒体702を含むことが可能である。したがって、たとえば、プロセッサ504を参照すると、ARモジュール526は、本明細書で説明される動的モデリングに基づいて、オブジェクト認識に関連する活動を実行するために媒体702によってプロセッサ504に伝達された命令704に応答して、図7に示される1つまたは複数のタスクに着手することが可能である。これらの命令のうちのいくつかは、ノード同士の間にリンクを確立することと、属性付きグラフを画定することと、画像領域とモデル領域との間で属性付きグラフをマッチングさせることと、写像された接続を決定することとを含むことが可能である。
【0065】
いくつかの実装形態では、図7に示される信号伝達媒体702は、ハードディスクドライブ、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、デジタルテープ、メモリなどに限定されないが、これらなどのコンピュータ可読媒体706を包含することが可能である。いくつかの実装形態では、信号伝達媒体702は、メモリ、読出し/書込み(R/W)CD、R/W DVDなどに限定されないが、これらなどの記録可能媒体708を包含することが可能である。いくつかの実装形態では、信号伝達媒体702は、デジタル通信媒体および/またはアナログ通信媒体(たとえば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど)に限定されないが、これらなどの通信媒体710を包含することが可能である。したがって、たとえば、プログラム製品700をRF信号伝達媒体702によってプロセッサ504の1つまたは複数のモジュールに伝達することが可能であり、この場合、信号伝達媒体702は、無線通信媒体710(たとえば、IEEE802.11標準に準拠する無線通信媒体)によって伝達される。
【0066】
本開示は、一般に、拡張現実(AR)システム(100)においてオブジェクト認識を実行するための方法を説明する。拡張現実(AR)システムにおいてオブジェクト認識を実行するための方法は、オブジェクト222の二次元画像224を画像領域表現に変換することを含むことが可能である。拡張現実(AR)システムにおいてオブジェクト認識を実行するための方法は、画像領域表現のノード同士の間のリンクに基づいて、画像領域内の属性付きグラフを画定すること(626)と、モデル領域内の別の属性付きグラフ(350)を画定することとを含むことも可能である。拡張現実(AR)システムにおいてオブジェクト認識を実行するための方法は、属性付きグラフの対応するノード同士の間のリンクを識別および活性化すること(632)によって、画像領域内の属性付きグラフとモデル領域内の属性付きグラフとをマッチングさせること(630)をさらに含むことが可能である。
【0067】
いくつかの例によれば、拡張現実(AR)システムにおいてオブジェクト認識を実行するための方法は、画像領域内の属性付きグラフとモデル領域領域内の属性付きグラフとの間のいくつかの接続(634)を削減することと、削減された接続に基づくパターンを二次元画像のモデル領域表現にバックラベリングすること(370)とを含むことが可能である。
【0068】
いくつかの例によれば、拡張現実(AR)システムにおいてオブジェクト認識を実行するための方法は、二次元画像224をモデル領域表現230とオーバーレイすることによって、合成画像をレンダリングすることを含むことが可能である。
【0069】
いくつかの例では、拡張現実(AR)システムにおいてオブジェクト認識を実行するための方法は、画像領域表現内のそれぞれのノードに関連する特徴を決定することと、それらの特徴を二次元画像224の画像に適用することによって、画像領域表現内のそれぞれのノードに関する局所特徴の活動ベクトルを表す頂点ラベル344を取得することを含むことが可能である。
【0070】
さらなる例によれば、拡張現実(AR)システムにおいてオブジェクト認識を実行するための方法は、画像領域表現のノード同士にリンクを確立することによって、画像領域表現のノード同士の間の接続性を表すエッジラベル346を取得することを含むことが可能である。
【0071】
拡張現実(AR)システムにおいてオブジェクト認識を実行するための方法のさらなる例によれば、画像領域内の属性付きグラフ348は、画像領域表現内のノード、ならびに関連する頂点ラベル344およびエッジラベル346の集合物として画定できる。
【0072】
さらなる例によれば、モデル領域内のそれぞれのノードに関する変動画像のセットに時間平均化を適用することによって、モデル領域内のノードに関して実際の属性値を推定する628、拡張現実(AR)システムにおいてオブジェクト認識を実行するための方法。
【0073】
さらなる例によれば、モデル領域内のノード同士の間の結合362を時間相関として符号化する、拡張現実(AR)システムにおいてオブジェクト認識を実行するための方法。
【0074】
さらなる例によれば、符号化された結合362に基づいて、重みを計算して、モデル領域内のノード同士の間のリンクに割り当てる、拡張現実(AR)システムにおいてオブジェクト認識を実行するための方法。
【0075】
本開示は、拡張現実(AR)システム(100)においてオブジェクト認識を実行するための装置700も説明する。拡張現実(AR)システムにおいてオブジェクト認識を実行するための装置は、画像データとグラフデータ(528−1、528−2)とを記憶するように適合されたメモリ506と、動的モデリングモジュール326を実行するように適合された第1の処理装置であって、動的モデリングモジュールが、二次元(2D)画像を記憶された画像データから、それぞれが画像領域内の少なくとも1つの別個の特徴を符号化するリンクされたノード(342)の2Dアレイを含む画像領域表現に変換することと、画像領域内のそれぞれのノードに関する少なくとも1つの特徴の活動ベクトルを表す頂点ラベル344を決定することと、画像領域のノード同士の間の接続性を表すエッジラベル346を決定することと、頂点ラベルおよび/またはエッジラベルのうちの1つもしくは複数に基づいてモデル領域内の属性付きグラフ350を画定することであって、属性付きグラフがグラフデータの一部としてメモリ内に記憶されている、画定することとを行うように適合可能な第1の処理装置を含むことが可能である。拡張現実(AR)システムにおいてオブジェクト認識を実行するための装置は、グラフマッチングモジュール328を実行するように適合された第2の処理装置であって、グラフマッチングモジュールが、画像領域内のノードとモデル領域内の対応するノードとの間のリンクを識別および活性化すること(632)と、類似の特徴を備えたノード同士の間のいくつかの接続を削減することとを行うように適合された第2の処理装置をさらに含むことが可能である。
【0076】
拡張現実(AR)システムにおいてオブジェクト認識を実行するための装置のいくつかの例によれば、動的モデリングモジュール326は、画像領域内のノードをグループ化して、選択的に活性化する(624)ようにさらに適合可能である。
【0077】
拡張現実(AR)システムにおいてオブジェクト認識を実行するための装置のいくつかの例によれば、動的モデリングモジュール326は、類似の特徴ベクトルを備えた、画像領域内のノードを結合させることによって、画像領域内のノードをグループ化するようにさらに適合可能である。
【0078】
拡張現実(AR)システムにおいてオブジェクト認識を実行するための装置のいくつかの例によれば、グラフマッチングモジュール328は、メモリ506から接続パターンを取り出することと、メモリから取り出された接続パターンを備えた頂点位置に関する検索を実行することとによって、画像領域内のノードとモデル領域内のノードとの間のリンクを識別および活性化する(632)ようにさらに適合可能である。
【0079】
拡張現実(AR)システムにおいてオブジェクト認識を実行するための装置のいくつかの例によれば、グラフマッチングモジュール328は、事前に画定された費用関数に従って、頂点ラベル344とエッジラベル346とをマッチングさせるようにさらに適合可能である。
【0080】
いくつかの例によれば、拡張現実(AR)システムにおいてオブジェクト認識を実行するための装置は、レンダリングモジュール(108)を実行するように適合された第3の処理装置であって、レンダリングモジュールが、削減された接続に基づいて、二次元画像224を画像のモデル領域表現とオーバーレイすることによって、合成画像をレンダリングするように適合可能な第3の処理装置を含むことが可能である。
【0081】
拡張現実(AR)システムにおいてオブジェクト認識を実行するための装置のいくつかの例によれば、第1の処理装置、第2の処理装置、および第3の処理装置は、それぞれ、第1のコンピューティング装置106内、第2のコンピューティング装置110内、および第3のコンピューティング装置108内に統合することが可能であり、第1のコンピューティング装置、第2のコンピューティング装置、および第3のコンピューティング装置は、ネットワークを介して通信可能である。
【0082】
拡張現実(AR)システムにおいてオブジェクト認識を実行するための装置のいくつかの例によれば、第1の処理装置、第2の処理装、および第3の処理装置は、同じプロセッサ504の一部であってもよい。
【0083】
本開示は、拡張現実(AR)システム(100)においてオブジェクト認識を実行するための命令704を記憶しているコンピュータ可読記憶媒体706をさらに説明する。これらの命令は、オブジェクトの二次元画像を、それぞれが特徴検出器のセットを含む複数のリンクされたノードを含む画像領域表現に変換すること(622)を含むことが可能である。これらの命令は、特徴検出器を二次元画像のそれぞれの画像に適用することによって、特徴検出器の活動ベクトルを表す頂点ラベル344を決定することを含むことも可能である。これらの命令は、それぞれのノード間のリンクを検出することによって、ノード同士の間の接続性を表すエッジラベル346を決定することを含むことも可能である。これらの命令は、頂点ラベル344とエッジラベル346とに基づいて、画像領域内の属性付きグラフ348を生成することと、モデル領域350内の属性付きグラフを画定することであって、モデル領域内の属性付きグラフが画像領域内の属性付きグラフの理想化された複写であり得る、画定することとを含むことも可能である。これらの命令は、属性付きグラフの頂点ラベルとエッジラベルとをマッチングさせること(630)に基づいて、画像領域内の属性付きグラフとモデル領域内の属性付きグラフとの間の接続を決定すことと、接続を画像領域とモデル領域との間のトポロジ保存写像に削減すること(634)とをさらに含むことが可能である。
【0084】
いくつかの例によれば、拡張現実(AR)システム(100)においてオブジェクト認識を実行するための命令704を記憶しているコンピュータ可読記憶媒体は、写像された接続に基づいてパターン(481〜487)を認識することと、それらの認識されたパターンに基づいて、仮想画像(474)を生成することと、二次元画像(472)と仮想画像(474)とをオーバーレイすることに基づいて、合成画像を生成することを含むことが可能である。
【0085】
いくつかの例によれば、拡張現実(AR)システム(100)においてオブジェクト認識を実行するための命令704を記憶しているコンピュータ可読記憶媒体は、頂点位置に関して検索して、事前に定義された費用関数に従って、それぞれの頂点位置に関する頂点ラベル344とエッジラベル346との間のマッチを最適化することによって、画像領域内の属性付きグラフとモデル領域内の属性付きグラフとの間の接続を決定すること(632)をさらに含むことが可能である。
【0086】
いくつかの例によれば、拡張現実(AR)システム(100)においてオブジェクト認識を実行するための命令704を記憶しているコンピュータ可読記憶媒体は、モデル領域を参照せずに、類似の特徴ベクトルを備えた、画像領域内のノード(348)を結合させることをさらに含むことが可能である。
【0087】
いくつかの例によれば、拡張現実(AR)システム(100)においてオブジェクト認識を実行するための命令704を記憶しているコンピュータ可読記憶媒体は、属性付きグラフの実質的にすべてのノード同士の間に近似的な近傍保存および特徴タイプ保存写像が存在するとき、それぞれ、画像領域内およびモデル領域内の属性付きグラフの対に関する接続を決定すること(632)をさらに含むことが可能である。
【0088】
いくつかの例によれば、拡張現実(AR)システム(100)においてオブジェクト認識を実行するための命令704を記憶しているコンピュータ可読記憶媒体は、画像領域内のノード同士の間のリンク(362)に割り当てられた重みに基づいて、それぞれ、画像領域内およびモデル領域内の属性付きグラフの対に関する接続を決定すること(632)をさらに含むことが可能である。
【0089】
拡張現実(AR)システム(100)においてオブジェクト認識を実行するための命令704を記憶しているコンピュータ可読記憶媒体のいくつかの例によれば、画像領域内の属性付きグラフ(348)を生成することと、モデル領域内の属性付きグラフ(350)を画定することと、画像領域内の属性付きグラフとモデル領域内の属性付きグラフとの間の接続を決定すること(632)とをインターレース様式で実行することが可能である。
【0090】
拡張現実(AR)システム(100)においてオブジェクト認識を実行するための命令704を記憶しているコンピュータ可読記憶媒体のいくつかの例によれば、それぞれのノードを、局所光強度、反射特性、オブジェクトポーズ、オクルージョン、および/または背景変動を含む1つもしくは複数の特徴と関連付けることが可能である。
【0091】
本開示は、拡張現実(AR)システムにおいてオブジェクト認識を実行するためのシステムをさらに説明する。拡張現実(AR)システムにおいてオブジェクト認識を実行するためのシステムは、実シーン102の二次元(2D)画像224を取り込むように適合された少なくとも1つのセンサ104と、2D画像224を、それぞれが特徴検出器のセットを含む、画像領域内のノードの2Dアレイを含む画像領域表現に変換する(622)ように適合された画像処理サーバ106とを含むことが可能である。拡張現実(AR)システムにおいてオブジェクト認識を実行するためのシステムは、画像領域内のそれぞれのノードに関する少なくとも1つの特徴の活動ベクトルを表す頂点ラベル344を決定することと、画像領域のノード同士の間の接続性を表すエッジラベル346を決定すること、頂点ラベルとエッジラベルとに基づいて、画像領域内の属性付きグラフ348とモデル領域内の別の属性付きグラフ350とを画定することと、画像領域内のノードとモデル領域内の対応するノードとの間のリンクを識別および活性化すること(632)と、類似の特徴を備えたノード同士の間のいくつかの接続を削減すること(634)とを行うように適合された現実サーバ110を含むことも可能である。拡張現実(AR)システムにおいてオブジェクト認識を実行するためのシステムは、画像領域内の属性付きグラフと画像領域内の他の属性付きグラフとの間の削減された接続に基づいて、2D画像224とレンダリングされた仮想画像とをオーバーレイすることによって、拡張シーン114を生成するように適合された画像生成サーバ108を含むことも可能である。
【0092】
いくつかの例によれば、拡張現実(AR)システムにおいてオブジェクト認識を実行するためのシステムは、モデル領域内の属性付きグラフを連想データ記憶装置352内に記憶するようにさらに適合可能である。
【0093】
いくつかの例によれば、拡張現実(AR)システムにおいてオブジェクト認識を実行するためのシステムは、属性付きグラフの実質的にすべてのノード同士の間の近似的な近傍保存および特徴タイプ保存写像を決定することによって、画像領域内のノードとモデル領域内の対応するノードとの間リンクを識別および活性化すること(632)と、接続をトポロジ保存接続に削減すること(634)とを行うようにさらに適合可能である。
【0094】
拡張現実(AR)システムにおいてオブジェクト認識を実行するためのシステムのいくつかの例によれば、画像処理サーバ106、現実サーバ110、および画像生成サーバ108は、集中ARシステムおよび分散型ARシステムのうちの1つの一部であってもよい。
【0095】
いくつかの例によれば、拡張現実(AR)システムにおいてオブジェクト認識を実行するためのシステムは、拡張シーン114を可視化するように適合された可視化システム112をさらに含むことが可能であり、この場合、この可視化システムは、ヘッドマウントディスプレイ、バーチャル網膜ディスプレイ、および/またはモニタのうちの1つもしくは複数を含むことが可能である。
【0096】
システムの側面でのハードウェアの実装形態とソフトウェアの実装形態との間には、ほとんど相違が残されていない。ハードウェアまたはソフトウェアの使用は、一般に(いつもそうではないが、ある状況ではハードウェアとソフトウェアの間の選択が重要になり得るという点で)コスト対効果のトレードオフを表す設計上の選択である。本明細書に記載された、プロセスおよび/またはシステムおよび/または他の技術をもたらすことができるさまざまな達成手段があり(たとえば、ハードウェア、ソフトウェア、および/またはファームウェア)、好ましい達成手段は、プロセスおよび/またはシステムおよび/または他の技術が導入される状況によって異なる。たとえば、実装者が速度と正確性が最も重要であると決定すると、実装者は主にハードウェアおよび/またはファームウェアの達成手段を選択することができる。フレキシビリティが最も重要なら、実装者は主にソフトウェアの実装形態を選択することができる。または、さらに別の代替案として、実装者は、ハードウェア、ソフトウェア、および/またはファームウェアのなんらかの組み合わせを選択することができる。
【0097】
前述の詳細な説明では、ブロック図、フローチャート、および/または例の使用によって、装置および/またはプロセスのさまざまな実施形態を説明してきた。そのようなブロック図、フローチャート、および/または例が1つまたは複数の機能および/または動作を含む限りにおいて、そのようなブロック図、フローチャート、または例の中のそれぞれの機能および/または動作は、広範囲のハードウェア、ソフトウェア、ファームウェア、または実質上それらのすべての組み合わせにより、個別におよび/または集合的に実装可能であることが、当業者には理解されるであろう。ある実施形態では、本明細書に記載された主題のいくつかの部分は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、または他の集積化方式によって実装することができる。しかし、本明細書で開示された実施形態のいくつかの態様が、全体においてまたは一部において、1つまたは複数のコンピュータ上で動作する1つまたは複数のコンピュータプログラムとして(たとえば、1つまたは複数のコンピュータシステム上で動作する1つまたは複数のプログラムとして)、1つまたは複数のプロセッサ上で動作する1つまたは複数のプログラムとして(たとえば、1つまたは複数のマイクロプロセッサ上で動作する1つまたは複数のプログラムとして)、ファームウェアとして、あるいは実質上それらの任意の組み合わせとして、等価に集積回路に実装することができることを、当業者は認識するであろうし、電気回路の設計ならびに/またはソフトウェアおよび/もしくはファームウェアのコーディングが、本開示に照らして十分当業者の技能の範囲内であることを、当業者は認識するであろう。
【0098】
本開示は、さまざまな態様の例示として意図される、本明細書で説明された特定の実施形態の点で限定されるべきではない。当業者に明らかになるように、その趣旨および範囲から逸脱せずに、多くの修正および改変を行うことが可能である。本明細書に列挙された方法および装置に加えて、本開示の範囲内の機能的に同等の方法および装置は、前述の説明から当業者に明らかになるであろう。そのような修正および改変は、添付の請求項の範囲に包含されることが意図される。本開示は、添付の請求項が資格を有する同等物の完全範囲と共に、そのような請求項の点でのみ限定されるべきである。本開示は、当然異なり得る特定の方法、試薬、化合物生成または生物系に限定されない点を理解されたい。本明細書で使用される専門用語は、特定の実施形態を説明するためだけであり、限定することが意図されない点も理解されたい。
【0099】
さらに、本明細書に記載された主題のメカニズムをさまざまな形式のプログラム製品として配布することができることを、当業者は理解するであろうし、本明細書に記載された主題の例示的な実施形態が、実際に配布を実行するために使用される信号伝達媒体の特定のタイプにかかわらず適用されることを、当業者は理解するであろう。信号伝達媒体の例には、フロッピーディスク、ハードディスクドライブ、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、デジタルテープ、コンピュータメモリ、などの記録可能なタイプの媒体、ならびに、デジタル通信媒体および/またはアナログ通信媒体(たとえば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど)の通信タイプの媒体が含まれるが、それらには限定されない。
【0100】
本明細書で説明したやり方で装置および/またはプロセスを記載し、その後そのように記載された装置および/またはプロセスを、データ処理システムに統合するためにエンジニアリング方式を使用することは、当技術分野で一般的であることを当業者は認識するであろう。すなわち、本明細書に記載された装置および/またはプロセスの少なくとも一部を、妥当な数の実験によってデータ処理システムに統合することができる。通常のデータ処理システムは、一般に、システムユニットハウジング、ビデオディスプレイ装置、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステムなどの計算実体、ドライバ、グラフィカルユーザインタフェース、およびアプリケーションプログラムのうちの1つもしくは複数、タッチパッドもしくはスクリーンなどの1つもしくは複数の相互作用装置、ならびに/またはフィードバックループおよびコントロールモータを含むコントロールシステム(たとえば、ガントリーシステムの位置検知用および/もしくは速度検知用フィードバック、コンポーネントの移動用および/もしくは数量の調整用コントロールモータ)を含むことを、当業者は理解するであろう。
【0101】
通常のデータ処理システムは、データコンピューティング/通信システムおよび/またはネットワークコンピューティング/通信システムの中に通常見られるコンポーネントなどの、市販の適切なコンポーネントを利用して実装することができる。本明細書に記載された主題は、さまざまなコンポーネントをしばしば例示しており、これらのコンポーネントは、他のさまざまなコンポーネントに包含されるか、または他のさまざまなコンポーネントに接続される。そのように図示されたアーキテクチャは、単に例示にすぎず、実際には、同じ機能を実現する多くの他のアーキテクチャが実装可能であることが理解されよう。概念的な意味で、同じ機能を実現するコンポーネントの任意の構成は、所望の機能が実現されるように効果的に「関連付け」される。したがって、特定の機能を実現するために組み合わされた、本明細書における任意の2つのコンポーネントは、アーキテクチャまたは中間のコンポーネントにかかわらず、所望の機能が実現されるように、お互いに「関連付け」されていると見ることができる。同様に、そのように関連付けされた任意の2つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に接続」または「動作可能に結合」されていると見なすこともでき、そのように関連付け可能な任意の2つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に結合できる」と見なすこともできる。動作可能に結合できる場合の具体例には、物理的に接続可能な、および/もしくは物理的に相互作用するコンポーネント、ならびに/またはワイヤレスに相互作用可能な、および/もしくはワイヤレスに相互作用するコンポーネント、ならびに/または論理的に相互作用する、および/もしくは論理的に相互作用可能なコンポーネントが含まれるが、それらに限定されない。
【0102】
本明細書における実質的にすべての複数形および/または単数形の用語の使用に対して、当業者は、状況および/または用途に適切なように、複数形から単数形に、および/または単数形から複数形に変換することができる。さまざまな単数形/複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【0103】
通常、本明細書において、特に添付の特許請求の範囲(たとえば、添付の特許請求の範囲の本体部)において使用される用語は、全体を通じて「オープンな(open)」用語として意図されていることが、当業者には理解されよう(たとえば、用語「含む(including)」は、「含むがそれに限定されない(including but not limited to)」と解釈されるべきであり、用語「有する(having)」は、「少なくとも有する(having at least)」と解釈されるべきであり、用語「含む(includes)」は、「含むがそれに限定されない(includes but is not limited to)」と解釈されるべきである、など)。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。たとえば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも1つの(at least one)」および「1つまたは複数の(one or more)」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「1つまたは複数の」または「少なくとも1つの」および「a」または「an」などの不定冠詞を含む場合であっても、不定冠詞「a」または「an」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に1つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではない(たとえば、「a」および/または「an」は、「少なくとも1つの」または「1つまたは複数の」を意味すると解釈されるべきである)。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう(たとえば、他の修飾語なしでの「2つの記載(two recitations)」の単なる記載は、少なくとも2つの記載、または2つ以上の記載を意味する)。
【0104】
さらに、「A、BおよびC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(たとえば、「A、B、およびCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。「A、B、またはC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(たとえば、「A、B、またはCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。2つ以上の代替用語を提示する事実上いかなる離接する語および/または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方(one of the terms)、当該用語のいずれか(either of the terms)、または両方の用語(both terms)を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。たとえば、句「AまたはB」は、「A」または「B」あるいは「AおよびB」の可能性を含むことが理解されよう。
【0105】
さらに、本開示の特徴または態様がマーカッシュグループによって記載されている場合、本開示は、それによって、マーカッシュグループの任意の個々の要素または要素のサブグループによっても説明されることを当業者は認識されよう。
【0106】
当業者が理解することになるように、明細書を提供することに関してなど、なんらかのあらゆる目的で、本明細書で開示されたすべての範囲は、任意のあらゆる可能な部分範囲およびその部分範囲の組み合わせも包含する。任意の列挙された範囲は、同じ範囲が少なくとも等しい半分、3分の1、4分の1、5分の1、10分の1などに分解されていることを十分に説明し、これを可能にするとして容易に理解されよう。非限定的な例として、本明細書で議論されたそれぞれの範囲は、下3分の1、中3分の1、および上3分の1などに容易に分解可能である。やはり当業者が理解することになるように、「最高で」、「少なくとも」、「以上」、「以下」など、すべての言語は、列挙される数を含み、上で議論されたように後で部分範囲に分解され得る範囲を指す。最後に、当業者が理解することになるように、範囲はそれぞれの個々の要素を含む。したがって、たとえば、1〜3個のセルを有するグループは、1個のセルを有するグループ、2個のセルを有するグループ、または3個のセルを有するグループを指す。同様に、1〜5個のセルを有するグループは、1個のセルを有するグループ、2個のセルを有するグループ、3個のセルを有するグループ、4個のセルを有するグループ、または5個のセルを有するグループを指す、等々である。
【0107】
さまざまな態様および実施形態が本明細書において開示されているが、その他の態様および実施形態は当業者に明らかになるであろう。本明細書で開示されたさまざまな態様および実施形態は、例示のためであり、限定的であることが意図されず、真の範囲および趣旨は、以下の請求項によって示されている。

【特許請求の範囲】
【請求項1】
拡張現実(AR)システムにおいてオブジェクト認識を実行するための方法であって、
オブジェクトの二次元画像を画像領域表現に変換することと、
前記画像領域表現のノード同士の間のリンクに基づいて、前記画像領域内の属性付きグラフを画定することと、
モデル領域内の別の属性付きグラフを画定することと、
前記属性付きグラフの対応するノード同士の間のリンクを識別および活性化することによって、前記画像領域内の前記属性付きグラフと前記モデル領域内の前記属性付きグラフとをマッチングさせることとを含む方法。
【請求項2】
前記画像領域内の前記属性付きグラフと前記モデル領域内の前記属性付きグラフとの間のいくつかの接続を削減することと、
前記削減された接続に基づくパターンを前記二次元画像のモデル領域表現にバックラベリングすることと
をさらに備える、請求項1に記載の方法。
【請求項3】
前記二次元画像を前記モデル領域表現とオーバーレイすることによって、合成画像をレンダリングすること
をさらに備える、請求項2に記載の方法。
【請求項4】
前記画像領域表現内のそれぞれのノードに関連する特徴を決定することと、
前記特徴を前記二次元画像の画素に適用することによって、前記画像領域表現内のそれぞれのノードに関する局所特徴の活動ベクトルを表す頂点ラベルを取得することと
をさらに備える、請求項1に記載の方法。
【請求項5】
前記画像領域表現の前記ノード同士の間にリンクを確立することによって、前記画像領域表現の前記ノード同士の間の接続性を表すエッジラベルを取得すること
をさらに備える、請求項4に記載の方法。
【請求項6】
前記画像領域内の前記属性付きグラフが、前記画像領域表現内の前記ノード、ならびに関連する頂点レベルおよびエッジラベルの集合物として画定される、請求項5に記載の方法。
【請求項7】
前記モデル領域内のそれぞれのノードに関する変動画像のセットに時間平均化を適用することによって、前記モデル領域内の前記ノードに関する実際の属性値を推定すること
をさらに備える、請求項1に記載の方法。
【請求項8】
前記モデル領域内のノード同士の間の結合を時間相関として符号化すること
をさらに備える、請求項7に記載の方法。
【請求項9】
前記符号化された結合に基づいて、重みを計算して、前記モデル領域内の前記ノード同士の間のリンクに割り当てること
をさらに備える、請求項8に記載の方法。
【請求項10】
拡張現実(AR)システムにおいてオブジェクト認識を実行するための装置であって、
画像データとグラフデータとを記憶するように適合されたメモリと、
動的モデリングモジュールを実行するように適合された第1の処理装置であって、前記動的モデリングモジュールが、
二次元(2D)画像を前記記憶された画像データから、それぞれが画像領域内の少なくとも1つの別個の特徴を符号化するリンクされたノードの2Dアレイを含む画像領域表現に変換することと、
前記画像領域内のそれぞれのノードに関する前記少なくとも1つの特徴の活動ベクトルを表す頂点ラベルを決定することと、
前記画像領域の前記ノード同士の間の接続性を表すエッジラベルを決定することと、
前記頂点ラベルおよび/または前記エッジラベルのうちの1つもしくは複数に基づいてモデル領域内の属性付きグラフを画定することであって、前記属性付きグラフが前記グラフデータの一部として前記メモリ内に記憶されていることと
を行うように適合された第1の処理装置と、
グラフマッチングモジュールを実行するように適合された第2の処理装置であって、前記グラフマッチングモジュールが、
前記画像領域内の前記ノードと前記モデル領域内の対応するノードとの間のリンクを識別および活性化することと、
類似の特徴を備えたノード同士の間のいくつかの接続を削減することと
を行うように適合された第2の処理装置とを備える装置。
【請求項11】
前記動的モデリングモジュールが、
前記画像領域内の前記ノードをグループ化して、選択的に活性化するようにさらに適合された、請求項10に記載の装置。
【請求項12】
前記動的モデリングモジュールが、類似の特徴ベクトルを備えた、前記画像領域内のノードを結合させることによって、前記画像領域内の前記ノードをグループ化するようにさらに適合された、請求項11に記載の装置。
【請求項13】
前記グラフマッチングモジュールが、
前記メモリから接続パターンを取り出すことと、
前記メモリから取り出された前記接続パターンを備えた頂点位置に関する検索を実行することとによって、前記画像領域内の前記ノードと前記モデル領域内の前記ノードとの間の前記リンクを識別および活性化するようにさらに適合された、請求項10に記載の装置。
【請求項14】
前記グラフマッチングモジュールが、
事前に画定された費用関数に従って、前記頂点ラベルと前記エッジラベルとをマッチングさせるようにさらに適合された、請求項13に記載の装置。
【請求項15】
レンダリングモジュールを実行するように適合された第3の処理装置であって、前記レンダリングモジュールが、前記削減された接続に基づいて、前記二次元画像を前記画像のモデル領域表現とオーバーレイすることによって、合成画像をレンダリングするように適合された第3の処理装置
をさらに備える、請求項10に記載の装置。
【請求項16】
前記第1の処理装置、前記第2の処理装置、および前記第3の処理装置が、それぞれ、第1のコンピューティング装置内、第2のコンピューティング装置内、第3のコンピューティング装置内に統合され、前記第1のコンピューティング装置、前記第2のコンピューティング装置、および前記第3のコンピューティング装置が、ネットワークを介して通信可能である、請求項15に記載の装置。
【請求項17】
前記第1の処理装置、前記第2の処理装置、および前記第3の処理装置が、同じプロセッサの一部である、 請求項15に記載の装置。
【請求項18】
拡張現実(AR)システムにおいてオブジェクト認識を実行するための命令を記憶しているコンピュータ可読記憶媒体であって、前記命令が、
オブジェクトの二次元画像を、それぞれが特徴検出器のセットを含む複数のリンクされたノードを含む画像領域表現に変換することと、
前記特徴検出器を前記二次元画像のそれぞれの画素に適用することによって、前記特徴検出器の活動ベクトルを表す頂点ラベルを決定することと、
それぞれのノード同士の間のリンクを検出することによって、前記ノード同士の間の接続性を表すエッジラベルを決定することと、
前記頂点ラベルと前記エッジラベルとに基づいて、前記画像領域内の属性付きグラフを生成することと、
モデル領域内の属性付きグラフを画定することであって、前記モデル領域内の前記属性付きグラフが前記画像領域内の前記属性付きグラフの理想化された複写であることと、
前記属性付きグラフの頂点ラベルとエッジラベルとをマッチングさせることに基づいて、前記画像領域内の前記属性付きグラフと前記モデル領域内の前記属性付きグラフとの間の接続を決定することと、
前記接続を前記画像領域と前記モデル領域との間のトポロジ保存写像に削減することとを含むコンピュータ可読記憶媒体。
【請求項19】
前記命令が、
前記写像された接続に基づいてパターンを認識することと、
前記認識されたパターンに基づいて、仮想画像を生成することと、
前記二次元画像と前記仮想画像とをオーバーレイすることに基づいて、合成画像を生成することとをさらに含む、請求項18に記載のコンピュータ可読記憶媒体。
【請求項20】
前記命令が、
頂点位置に関して検索して、事前に画定された費用関数に従って、それぞれの頂点位置に関する頂点ラベルとエッジラベルとの間のマッチを最適化することによって、前記画像領域内の前記属性付きグラフと前記モデル領域内の前記属性付きグラフとの間の前記接続を決定することをさらに含む、請求項18に記載のコンピュータ可読記憶媒体。
【請求項21】
前記命令が、
前記モデル領域を参照せずに、類似の特徴ベクトルを備えた、前記画像領域内のノードを結合させることをさらに含む、請求項18に記載のコンピュータ可読記憶媒体。
【請求項22】
前記命令が、
前記属性付きグラフの実質的にすべてのノード同士の間に近似的な近傍保存および特徴タイプ保存写像が存在するとき、それぞれ、前記画像領域内および前記モデル領域内の属性付きグラフの対に関する接続を決定することをさらに含む、請求項18に記載のコンピュータ可読記憶媒体。
【請求項23】
前記命令が、
前記画像領域内のノード同士の間のリンクに割り当てられた重みに基づいて、それぞれ、前記画像領域内および前記モデル領域内の属性付きグラフの対に関する接続を決定することをさらに含む、請求項18に記載のコンピュータ可読記憶媒体。
【請求項24】
前記画像領域内の前記属性付きグラフを生成することと、前記モデル領域内の前記属性付きグラフを画定することと、前記画像領域内の前記属性付きグラフと前記モデル領域内の前記属性付きグラフとの間の接続を決定することとが、インターレース方式で実行される、請求項18に記載のコンピュータ可読記憶媒体。
【請求項25】
それぞれのノードが、局所光強度、反射特性、オブジェクトポーズ、オクルージョン、および/または背景変動を含む1つもしくは複数の特徴と関連付けられる、請求項18に記載のコンピュータ可読記憶媒体。
【請求項26】
拡張現実(AR)システムにおいてオブジェクト認識を実行するためのシステムであって、
実シーンの二次元(2D)画像を取り込むように適合された少なくとも1つのセンサと、
前記2D画像を、それぞれが特徴検出器のセットを含む、前記画像領域内のノードの2Dアレイを含む画像領域表現に変換するように適合された画像処理サーバと、
前記画像領域内のそれぞれのノードに関する前記少なくとも1つの特徴の活動ベクトルを表す頂点ラベルを決定することと、
前記画像領域の前記ノード同士の間の接続性を表すエッジラベルを決定することと、
前記頂点ラベルと前記エッジラベルとに基づいて、前記画像領域内の属性付きグラフとモデル領域内の別の属性付きグラフとを画定することと、
前記画像領域内の前記ノードと前記モデル領域内の対応するノードとの間のリンクを識別および活性化することと、
類似の特徴を備えたノード同士の間のいくつかの接続を削減することと
を行うように適合された現実サーバと、
前記2D画像と、前記画像領域内の前記属性付きグラフと前記画像領域内の他の属性付きグラフとの間の前記削減された接続に基づいてレンダリングされた仮想画像とをオーバーレイすることによって、拡張シーンを生成するように適合された画像生成サーバとを備えたシステム。
【請求項27】
前記現実サーバが、
前記モデル領域内の前記属性付きグラフを連想データ記憶装置内に記憶するようにさらに適合された、請求項26に記載のシステム。
【請求項28】
前記現実サーバが、
前記属性付きグラフの実質的にすべてのノード同士の間の近似的な近傍保存および特徴タイプ保存写像を決定することによって、前記画像領域内の前記ノードと前記モデル領域内の対応するノードとの間のリンクを識別および活性化することと、
前記接続をトポロジ保存接続に削減することとを行うようにさらに適合された、請求項26に記載のシステム。
【請求項29】
前記画像処理サーバ、前記現実サーバ、および前記画像生成サーバが、集中ARシステムおよび分散型ARシステムのうちの1つの一部である、請求項26に記載のシステム。
【請求項30】
前記拡張シーンを可視化するように適合された可視化システムをさらに含み、前記可視化システムが、ヘッドマウントディスプレイ、バーチャル網膜ディスプレイ、および/またはモニタのうちの1つもしくは複数を含む、請求項26に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図3C】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公表番号】特表2013−513191(P2013−513191A)
【公表日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願番号】特願2012−543348(P2012−543348)
【出願日】平成23年2月25日(2011.2.25)
【国際出願番号】PCT/US2011/026252
【国際公開番号】WO2011/112368
【国際公開日】平成23年9月15日(2011.9.15)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
2.EEPROM
【出願人】(509348786)エンパイア テクノロジー ディベロップメント エルエルシー (117)
【Fターム(参考)】