(57)【特許請求の範囲】
【請求項１】
複数の区別可能な視覚特徴を含む物理空間中の少なくとも１つの画像を分析する処理であって、前記視覚特徴の少なくとも１つは関連付けられた意味情報を有する所定のマーカであるとともに、前記関連付けられた意味情報は、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義されることを特徴とする処理と、
前記関連付けられた意味情報に少なくとも部分的に基づき前記モデルを定義する処理と、
前記マーカの少なくとも１つと関連付けられる前記意味情報に基づいて、前記モデルの非幾何特徴を定義する処理と、
をコンピュータに実行させるためのプログラム。
【請求項２】
前記物理空間において少なくとも１つの所定のマーカの姿勢を決定する処理と、
前記意味情報と共に、前記所定のマーカの少なくとも１つの姿勢に基づいて、前記モデルの幾何特徴を定義する処理と、
をさらにコンピュータに実行させるための、請求項１に記載のプログラム。
【請求項３】
前記モデルの態様の少なくとも１つは、前記マーカのサブセットと関連付けられる意味情報に基づいて特定され、
前記サブセットは、少なくとも２つのマーカを含む、
請求項１または２に記載のプログラム。
【請求項４】
前記マーカの前記サブセットと関連付けられる前記意味情報がサブモデルを定義するために用いられる、請求項３に記載のプログラム。
【請求項５】
前記所定のマーカの少なくとも１つは挿入マーカであり、
前記挿入マーカの少なくともサブセットに関して、前記サブセットにおける各個別の挿入マーカと関連付けられる前記意味情報が、前記サブモデルの複製が、前記個別の挿入マーカの前記物理空間における姿勢に対して相対的に決定される姿勢を有する前記モデル中に、挿入されることを表す、
請求項４に記載のプログラム。
【請求項６】
前記マーカの前記サブセットと関連付けられる前記意味情報は、前記モデルに含まれる前記少なくとも１つの画像の領域を表す、請求項３〜請求項５のいずれか１項に記載のプログラム。
【請求項７】
前記モデルの態様は、モデル構成要素、モデル構成要素の姿勢、または、モデル構成要素の視覚的外観の記述のうちの少なくとも１つである、請求項１〜請求項６のいずれか１項に記載のプログラム。
【請求項８】
前記区別可能な視覚特徴の少なくとも１つは、画像特徴検出アルゴリズムによって識別される視覚的特徴を含む、請求項１〜請求項７のいずれか１項に記載のプログラム。
【請求項９】
少なくとも１つの所定のマーカと関連付けられる前記意味情報は、前記少なくとも１つの所定のマーカの位置および向きによって表される姿勢で、挿入可能なアイテムが前記モデルに挿入されることを表す、請求項１〜請求項７のいずれか１項に記載のプログラム。
【請求項１０】
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサによる実行のために少なくとも１つのモジュールを格納するメモリと、
を備え、
前記少なくとも１つのモジュールは、
複数の区別可能な視覚特徴を含む物理空間の少なくとも１つの画像を分析する命令と、
関連付けられた意味情報に少なくとも部分的に基づきモデルを定義する命令と、
を含み、
前記視覚特徴の少なくとも１つは、関連付けられた意味情報を有する所定のマーカであり、
前記関連付けられた意味情報は、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義され、
前記マーカの少なくとも１つと関連付けられる前記意味情報に基づいて、前記モデルの非幾何特徴を定義する、
モデルを定義するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元モデルの定義に関し、詳細には、物理空間の画像において見ることのできる所定の視覚的マーカを利用してマークアップ言語を用いたモデルを自動的に定義することに関する。
【背景技術】
【０００２】
ますます多くのアプリケーションが、物理空間の仮想表現を利用している。しかし、そのような仮想モデルの作成は、高価であり、時間がかかり、物理空間の個別の態様の直接測定、写真撮影および高度なグラフィカルツールを必要とする。場合によっては、アーティストが、対話型モデル化ツールを用いて空間の画像から物理空間の３次元モデルを作成するために雇われる。他の場合には、専門の画像形成機器が、物理空間の物理パラメータを捕捉するために必要とされ、次にモデルの態様を定義するために用いられることができる。これらの技術では、専門家の時間および／または専門のハードウェアに相当投資する必要がある。これは、多くのアプリケーションにとって物理空間の３次元モデルの作成にコストがかかりすぎることになるために、残念なことである。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ギルゲンゾーンら(Girgensohn, et al.)、「ＤＯＴＳ：効率的なビデオ監視サポート(DOTS: Support for Effective Video Surveillance)」、ＡＣＭマルチメディア２００７(ACM Multimedia 2007)、頁４２３〜４３２
【非特許文献２】リエフェルら(Rieffel, et al.)、「マルチカメラ監視システムの幾何ツール(Geometric Tools for Multicamera Surveillance Systems)」、ＩＣＤＳＣ２００７、頁１３２〜１３９
【非特許文献３】ロウら(Rohs, et al.)、「現実世界のオブジェクトとやりとりするためのカメラ搭載モバイル電話の使用(Using Camera-Equipped Mobile Phones for Interacting with Real-World Objects)」、パーベイシブ・コンピューティングの進展(Advances in Pervasive Computing)、２００４年、頁２６５〜２７１
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記に鑑み、物理空間の仮想表現がさらに容易に構築されることができ、そのようなモデルの作成に関連する時間および／またはコストのために、これまでは実用的でなかった多種多様なアプリケーションにおいて用いられることができるようにするために、相対的に簡易な物理空間の画像に基づくモデルの定義方法に対する需要がある。
【課題を解決するための手段】
【０００５】
物理空間の画像に基づくモデルの定義に関連する上記の欠点および他の問題点は、少なくとも１つが関連付けられた意味情報を有する所定のマーカである複数の区別可能な視覚特徴を含む物理空間の１つまたは複数の画像を分析し、その関連付けられた意味情報の少なくとも一部に基づいてモデルを定義するシステムおよび方法によって低減される。一部の実施形態において、関連付けられた意味情報は、モデル態様および複数のマーカから意味情報を組み合わせるための規則を特定するマークアップ言語に基づいて定義される。
【０００６】
本願明細書に記載される一部の実施形態のさらなる利点は、動的要素を有するモデルが、物理空間の静的画像から定義されてもよいことである。一部の実施形態において、モデルは、静的構造における空間の複数の画像を分析することによって定義され、画像の少なくとも１つは、１つまたは複数の区別可能な視覚特徴を含む。一部の実施形態において、区別可能な視覚特徴は、意味情報に関連付けられ、モデルは、関連意味情報に基づいて定義される。一部の実施形態において、モデルは、区別可能な視覚特徴の１つまたは複数に関連付けられる少なくとも１つのモデル態様を含み、モデル態様は、区別可能な視覚特徴の１つまたは複数に関連付けられた意味情報に基づいた動的挙動を行うことが可能である。
【０００７】
本発明の第１の態様はプログラムであり、複数の区別可能な視覚特徴を含む物理空間中の少なくとも１つの画像を分析する処理であって、前記視覚特徴の少なくとも１つは関連付けられた意味情報を有する所定のマーカであるとともに、前記関連付けられた意味情報は、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義されることを特徴とする処理と、前記関連付け意味情報に少なくとも部分的に基づき前記モデルを定義する処理と、をコンピュータに実行させる。
【０００８】
本発明の第２の態様は、第１の態様のプログラムであって、前記物理空間において少なくとも１つの所定のマーカの姿勢を決定する処理と、前記意味情報と共に、前記所定のマーカの少なくとも１つの姿勢に基づいて、前記モデルの幾何特徴を定義する処理と、をさらにコンピュータに実行させる。
【０００９】
本発明の第３の態様は、第１の態様のプログラムであって、前記マーカの少なくとも１つと関連付けられる前記意味情報に基づいて、前記モデルの非幾何特徴を定義する処理、をさらにコンピュータに実行させる。
【００１０】
本発明の第４の態様は、第１の態様のプログラムであって、前記モデルの態様の少なくとも１つは、前記マーカのサブセットと関連付けられる意味情報に基づいて特定され、前記サブセットは、少なくとも２つのマーカを含む。
【００１１】
本発明の第５の態様は、第１の態様のプログラムであって、前記マーカの前記サブセットと関連付けられる前記意味情報がサブモデルを定義するために用いられる。
【００１２】
本発明の第６の態様は、第５の態様のプログラムであって、前記所定のマーカの少なくとも１つは挿入マーカであり、前記挿入マーカの少なくともサブセットに関して、前記サブセットにおける各個別の挿入マーカと関連付けられる前記意味情報が、前記サブモデルの複製が、前記個別の挿入マーカの前記物理空間における姿勢に対して相対的に決定される姿勢を有する前記モデル中に、挿入されることを表す。
【００１３】
本発明の第７の態様は、第１の態様のプログラムであって、前記マーカのサブセットと関連付けられる意味情報は、前記モデルに含まれる前記少なくとも１つの画像の領域を表す。
【００１４】
本発明の第８の態様は、第１の態様のプログラムであって、前記モデルの態様は、モデル構成要素、モデル構成要素の姿勢、または、モデル構成要素の視覚的外観の記述のうちの少なくとも１つである。
【００１５】
本発明の第９の態様は、第１の態様のプログラムであって、前記区別可能な視覚特徴の少なくとも１つは、画像特徴検出アルゴリズムによって識別される視覚的特徴を含む。
【００１６】
本発明の第１０の態様は、第１の態様のプログラムであって、少なくとも１つの所定のマーカと関連付けられる前記意味情報は、前記少なくとも１つの所定のマーカの位置および向きによって表される姿勢で、挿入可能なアイテムが前記モデルに挿入されることを表す。
【００２１】
本発明の第１１の態様は、モデルを定義するシステムであって、少なくとも１つのプロセッサと、前記少なくとも１つのプロセッサによる実行のために少なくとも１つのモジュールを格納するメモリと、を備え、前記少なくとも１つのモジュールは、複数の区別可能な視覚特徴を含む物理空間の少なくとも１つの画像を分析する命令と、前記関連付けられた意味情報に少なくとも部分的に基づき前記モデルを定義する命令と、を含み、前記視覚特徴の少なくとも１つは、関連付けられた意味情報を有する所定のマーカであり、前記関連付けられた意味情報は、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義される。
【００２２】
本発明の第１２の態様はプログラムであって、物理空間において配置されるように構成可能な複数の所定の物理的マーカと意味情報を関連付ける処理と、ユーザに前記マーカの少なくともサブセットを提供する処理と、をコンピュータに実行させる。前記マーカの前記サブセットにおける第１のマーカが前記第１のマーカと関連付けられた意味情報を表す関連付けラベルを有し、前記マーカは、前記マーカの少なくとも１つを含む画像を分析することによって、モデルを定義することを可能にするアプリケーションプログラムと共に用いるように構成されている。
【００２４】
本発明の第１３の態様はプログラムであって、静的構造において空間の複数の画像を分析する処理であって、前記画像の少なくとも１つは少なくとも１つの区別可能な視覚特徴を含むことを特徴とする処理と、前記区別可能な視覚特徴を意味情報と関連付ける処理と、前記関連付けられた意味情報に基づき前記モデルを定義する処理と、をコンピュータに実行させる。前記モデルは、前記区別可能な視覚特徴の少なくとも１つと関連付けられるモデルの態様を含み、前記モデルの態様は、前記区別可能な視覚特徴の少なくとも１つと関連付けられる前記意味情報に基づいて、動的挙動を行うことが可能である。
【発明の効果】
【００４０】
本発明では、多種多様なアプリケーションで用いることができる物理空間の仮想表現を相対的に簡易に構築することができる。
【図面の簡単な説明】
【００４１】
【図１Ａ】物理空間を示す。
【図１Ｂ】一部の実施形態に基づく物理空間の少なくともいくつかの態様を代表するモデルを示す。
【図２】一部の実施形態に基づく計算デバイスを示すブロック図である。
【図３Ａ】一部の実施形態に基づくモデルを定義するための方法を示すフローチャートである。
【図３Ｂ】一部の実施形態に基づくモデルを定義するための方法を示すフローチャートである。
【図４Ａ】一部の実施形態に基づくモデルを定義するためのシステムを示すブロック図である。
【図４Ｂ】一部の実施形態に基づく物理空間における区別可能な視覚特徴の姿勢が推定されることができる方法を示すフローチャートである。
【図４Ｃ】一部の実施形態に基づくモデルの態様を決定することができる方法を示すフローチャートである。
【図５Ａ】一部の実施形態に基づく物理空間を示すブロック図である。
【図５Ｂ】一部の実施形態に基づく物理空間の画像を示すブロック図である。
【図５Ｃ】一部の実施形態に基づく物理空間の画像を示すブロック図である。
【図５Ｄ】一部の実施形態に基づく物理空間における物理的要素とマーカを関連付ける異なる方法を示すブロック図である。
【図６】一部の実施形態に基づく一連のルックアップテーブルを示すブロック図である。
【図７】一部の実施形態に基づく意味情報構造を示すブロック図である。
【図８Ａ】一部の実施形態に基づく所定のマーカの一例を示すブロック図である。
【図８Ｂ】一部の実施形態に基づく所定のマーカを含むシートの一例を示すブロック図である。
【図８Ｃ】一部の実施形態に基づく所定のマーカの例示のタイプを示すブロック図である。
【図９】一部の実施形態に基づく計算デバイスを示すブロック図である。
【図１０】一部の実施形態に基づく動的要素を有するモデルが定義されることができる方法を示すフローチャートである。
【図１１】一部の実施形態に基づくモデルの所望の動的挙動を示すために、物理空間にマーカを配置する異なる方法を示すブロック図である。
【発明を実施するための形態】
【００４２】
ここで、添付図面に示される実施形態、実施例を詳細に参照する。以下の詳細な説明において、本発明の完全な理解を提供するために、数々の特定の詳細が記載されている。しかし、本発明は、これらの特定の詳細がなくても実行されることができることは当業者には明らかであろう。他の場合において、実施形態の態様を不必要に不明瞭にすることを避けるため、公知の方法、手順、構成要素、回路およびネットワークは、詳細に記載されていない。
【００４３】
ここで、モデルを定義するための方法、システムおよびコンピュータプログラム製品の実施形態が、記載される。一部の実施形態において、モデルの態様は、物理空間の物理的な構造に基づいて決定することができる。一部の実施形態において、モデルの態様の少なくとも１つが、物理空間での構造に対応していない、ユーザによって配置される所定のマーカに基づいて決定される。一部の実施形態において、これらのモデルの態様は、画像のシーケンス中で見ることができる１つまたは複数の所定のマーカに意味情報を関連付けた上で定義される。モデル態様は、モデルの中のいかなる値、測定値、パラメータ、関係、制約、オブジェクトであってもよく、またはモデルを構築するために有用な情報を表すモデル内のオブジェクトの特徴であってもよい。たとえば、１つのモデルの態様は、同一の平面にある特徴の集合を表してもよい。他のモデルの態様は、円筒体などの３次元パラメトリック形状、または２次元パラメトリック形状を表すマーカの集合、および３次元への２次元パラメトリック形状の成形（ｅｘｔｒｕｓｉｏｎ）を表すために成形マーカを表してもよい。モデルの態様はまた、特定の位置で挿入される挿入可能なアイテムを表すポインタを含んでもよく、またはオブジェクトがそのモデル内に配置されることを示す指示表示、またはオブジェクトが特定の色である必要があることを示す指示表示を含んでもよい。一部の実施形態において、この方法を用いて作成される１つまたは複数のモデルの態様に関して、物理空間での１つまたは複数の構造とは異なっていたり、または矛盾しているようにすることもできる。
【００４４】
ここで、本方法の実施形態に対して注意が向けられる。図１Ａは、物理空間１１０の画像を示す図である。物理空間１１０は、多数の区別可能な視覚特徴（ｄｉｓｔｉｎｃｔｉｖｅ  ｖｉｓｕａｌ  ｆｅａｔｕｒｅｓ）１１２を含む。一部の実施形態において、区別可能な視覚特徴として、予め定義したマーカ１１２−１である１つまたは複数の特徴を含み、また、未定義のマーカ１１２−２である１つまたは複数の特徴を含んでもよい。一部の実施形態において、１つまたは複数の所定のマーカ１１２−１は、ユーザによって物理空間１１０の周囲に配置される。マーカを配置するための考慮事項は、壁および床などの物理空間の主要要素を識別することと、机および椅子などの部屋における物理的オブジェクトを識別することを含む。より多くの所定のマーカ１１２−１が、ユーザにとって特定の関心がある物理空間の領域に配置されてもよく、より少数の所定のマーカ１１２−１が、ユーザにとって特定の関心がない物理空間の領域に配置されてもよい。さらに、一部の所定のマーカ１１２−１は、物理空間における任意の特定のオブジェクトに対応しなくてもよい。一部の実施形態において、マーカは、物理空間において存在しないモデルまたは物理空間における異なる位置に存在するモデルにおいて、所望の要素の位置を示すために、物理空間において配置されてもよい。たとえば、所定のマーカ１１２−１を、物理空間の中間（ｍｉｄｄｌｅ）に配置させた場合でも、所定のマーカの姿勢（ｐｏｓｅ）に相対的な姿勢を有するモデルの中に、壁が配置されることを示すように定義することが可能である。結果として生じるモデルにおいて、この実施例では、モデルの中間に配置された壁を有することになる。
【００４５】
一部の実施形態において、所定のマーカ１１２−１は、再位置決め可能なオブジェクトで再現される２次元画像であってもよい。所定のマーカ１１２−１の一例は、１枚の紙の上に再現される黒と白のパターンである。所定のマーカ１１２−１はまた、ユーザが所定のマーカ１１２−１を物理空間における物理的オブジェクトに永久的にまたは半永久的に添付することを可能にする要素を含んでもよい。たとえば、１枚の紙の上に再現される黒と白のパターンを含む所定のマーカはまた、接着剤付き裏当てを有してもよい。あるいは、所定のマーカ１１２−１は、物理空間におけるフックまたは他の取付具に所定のマーカを吊るための取付部を有してもよい。一部の実施形態において、所定のマーカ１１２−１は、所定のマーカ１１２−１の一部ではない添付手段を用いて物理空間における物理的オブジェクトに半永久的に関連付けられてもよい。たとえば、マーカは、テープ、接着剤、ステープルまたは他の添付手段を用いて物理的オブジェクトに添付されてもよい。所定のマーカではない区別可能な視覚特徴１１２−２は、画像処理技術によって検出可能な物理空間１１０における特徴であってもよい。一部の実施形態において、画像処理技術によって検出可能な特徴は、物理空間１１０において多様な角度から多種多様な位置において見た場合に一意に識別可能な特徴を含んでもよく、また、多様な照明条件において一意に識別可能であってもよい。たとえば、そのような可視特徴は、限定されることなく、物理的オブジェクトの検出されるエッジ、物理的オブジェクトの角、画像における矩形、およびスケール不変の特徴変換を用いて検出可能な他の物理的特徴を含むことが可能である。さらに、一部のモデルを更新するための実施形態において、所定のマーカに関連付けられる意味論的意味（ｓｅｍａｎｔｉｃ  ｍｅａｎｉｎｇｓ）は、所定のマーカではない付近の可視的に区別可能な特徴（たとえば、識別可能な角、エッジ、壁の亀裂または染み）に関連付けられることができ、この場合、もし所定のマーカが除去されたとしても、その後に捕捉される画像における意味論的意味は持続される。この実施形態において、マーカによって提供される情報は、マーカが取り払われた後であっても、モデルを更新するのに役立ち続けることができる。
【００４６】
図１Ｂは、物理空間１１０（図１Ａ）を代表するモデル１２０を示す図である。図５Ａから図５Ｃを参照して以下にさらに詳細に記載されるように、物理空間１１０の１つまたは複数の画像のシーケンスが、ユーザの指示によって収集される。次に、これらの画像は、以下の図４Ａから図４Ｃを参照してさらに詳細に説明されるように、モデル１２０を定義するために用いられる。一部の実施形態において、モデルは、本願明細書に記載される方法の少なくとも１つを具体化するコンピュータ読み出し可能記憶媒体に格納されるソフトウェアを実行する計算デバイスによって決定され、例示の計算デバイスは、図２に関して以下にさらに詳細に記載される。計算デバイスは、コンピュータ読み出し可能記憶媒体に格納される命令に基づいて、計算を行うことができる任意のデバイスであってもよく、たとえば、計算デバイスは、ワークステーションシステム、パーソナルコンピュータ、携帯情報端末、携帯電話または任意の他の固定（ｓｔａｔｉｏｎａｒｙ）コンピュータまたはモバイルコンピュータであってもよい。
【００４７】
図２は、上述の方法を実行する計算デバイス２００の実施形態を示しており、１つまたは複数の処理ユニット（ＣＰＵ）２０２、１つまたは複数のネットワークまたは他の通信インターフェイス２０４、メモリ２０６、およびこれらの構成要素を相互接続するための１つまたは複数の通信バス２０８を含む。通信バス２０８は、システム構成要素間を相互接続して通信を制御する回路（チップセットと呼ばれることもある）を含んでもよい。計算デバイス２００は任意に、ユーザインターフェイス２１０を含んでもよい。一部の実施形態において、ユーザインターフェイス２１０は、ディスプレイデバイス２１２および／またはキーボード２１４を含むが、ユーザインターフェイスデバイスの他の構造もまた用いられてもよい。計算デバイス２００は任意に、１つまたは複数のカメラ２１５と共に用いられてもよく、１つまたは複数のカメラ２１５を含んでもよい。カメラ２１５は、画像を捕捉するように構成された１つまたは複数のセンサを含んでもよく、カメラ２１５の向きまたは位置などの他の情報を捕捉するように構成された他のセンサを任意に含んでもよい。画像がカメラ２１５によって捕捉されている間、または１つまたは複数の画像がカメラ２１５によって捕捉された後で、カメラ２１５は、計算デバイス２００と通信してもよい。あるいは、カメラ２１５は、計算デバイス２００から独立していてもよく、画像は、有線インターフェイスまたは無線インターフェイスを介して、ユーザによってカメラ２１５から計算デバイス２００に伝送されてもよい。メモリ２０６は、高速ランダム・アクセス・メモリを含んでもよく、１つまたは複数の磁気格納ディスクまたは光学格納ディスクなどの不揮発性メモリ、フラッシュメモリデバイスまたは他の不揮発性固体格納デバイスを含んでもよい。高速ランダム・アクセス・メモリは、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲＲＡＭまたは他のランダムアクセス固体メモリデバイスなどのメモリデバイスを含んでもよい。メモリ２０６は任意に、ＣＰＵ２０２から遠隔位置にある大容量格納装置を含んでもよい。メモリ２０６またはあるいはメモリ２０６内の不揮発性メモリデバイスは、コンピュータ読み出し可能記憶媒体を含む。メモリ２０６は、以下の要素またはこれらの要素のサブセット(subset)を格納し、以下の追加要素もまた含んでもよい。
【００４８】
・種々の基本システムサービスを扱い、ハードウェアに依存するタスクを行うための手順を含むオペレーティングシステム２１６
・１つまたは複数の通信ネットワークインターフェイス２０４および１つまたは複数の通信ネットワーク、たとえば、インターネット、他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどを介して、計算デバイス２００を他のコンピュータに接続するために用いられるネットワーク通信モジュール（または命令）２１８
・ユーザインターフェイスモジュール２２１、画像コレクタアプリケーション２２２、姿勢エスティメータアプリケーション２２４、１つまたは複数のマークアップハンドラ２２７を任意に含むモデルビルダアプリケーション２２６、３次元（３Ｄ）モデルレンダラアプリケーション２２８、を含むことができるアプリケーション２２０
・データ２３０（画像データベース２３２、マーカデータベース２３６、姿勢データベース２３８、意味情報データベース２４０、モデルレンダリング命令データベース２４２、挿入可能なアイテムデータベース２４４、ＣＡＤデータベース２４６を含むことができる。）
○画像データベース２３２（一部の実施形態において、１つまたは複数の画像２３４および他の情報、たとえば、１つまたは複数の画像に関連付けられる一意の識別子、画像が捕捉されたときに、カメラによって自動的に格納された画像に関するメタデータ、またはユーザによって手動入力されるか、またはシステムによって推定された画像に関するメタデータなどを含んでもよい。）
○マーカデータベース２３６（一部の実施形態において、１つまたは複数のマーカの区別可能な視覚外観を代表するデータなどのマーカ情報、１つまたは複数のマーカのサイズ、１つまたは複数のマーカに関連付けられる一意の識別子、または複数のマーカ間の関連付けを表す関連付けデータを含んでもよい。）
○姿勢データベース２３８（一部の実施形態において、１つまたは複数のマーカに関する姿勢情報、１つまたは複数の画像に関する姿勢情報、１つまたは複数の特徴の一意の識別子、１つまたは複数の画像の一意の識別子、１つまたは複数のマーカの区別可能な視覚外観を代表するデータ、または１つまたは複数の画像を代表するデータを含んでもよい。）
○意味情報データベース２４０（一部の実施形態において、１つまたは複数の特徴の一意の識別子、１つまたは複数の特徴に関連付けられた意味情報（図６を参照して以下にさらに詳細に記載される）を含んでもよい。）
○モデルレンダリング命令データベース２４２（一部の実施形態において、静的パラメータおよび動的パラメータなどのモデルの態様を含んでもよい。）
○挿入可能なアイテムデータベース２４４（一部の実施形態において、画像ファイル、３Ｄ  ＣＡＤファイル、ビデオファイル、ビデオストリームへのリンクまたは挿入可能なアイテム用のプレースホルダオブジェクトなどの挿入可能なアイテムを代表するデータを含んでもよい。）
○オブジェクトの３Ｄ表現のライブラリを含むＣＡＤデータベース２４６
ここで、モデル１２０を定義するための一部の実施形態による方法の記述に対して注意が向けられる。図３Ａは、モデル１２０を定義するための方法の一実施形態を示すフローチャートである。物理空間の１つまたは複数の画像が収集される（３０２）。画像２３４が捕捉されるときに、カメラ２１５が計算デバイス２００に関連付けられる実施形態において、画像２３４の収集は、自動的に行われてもよい。たとえば、画像２３４が計算デバイス２００に関連付けられるカメラ２１５によって捕捉され、次に、画像データベース２３２における画像コレクタアプリケーション２２２によって格納されてもよい。別の実施形態において、画像２３４は、計算デバイス２００に添付されているかどうかに関係なく、カメラ２１５によって捕捉されてもよい。手動で捕捉された画像２３４は次に、ユーザの指示によって画像データベース２３２に格納されてもよい。ユーザはまた、ユーザインターフェイスモジュール２２１への入力によって、アプリケーション２２０またはデータベースに格納されるデータ２３０に他の修正を加えてもよい。ユーザインターフェイスモジュール２２１は、他のモジュールおよびアプリケーションと別個であってもよく、または他のモジュールおよびアプリケーションと結合されてもよい。
【００４９】
画像２３４は、メタデータの有無に関係なく、画像データベース２３２に格納されてもよいことは理解されるべきである。このメタデータは、画像２３４を物理空間１１０の上にさらに正確に写像されることを可能にするような、画像捕捉変数（焦点距離、レンズの歪み、樽形歪み）のほか、カメラ２１５によって自動的に記録される他の情報、またはユーザによる手動入力を含んでもよい。たとえば、他のそのようなメタデータは、時間および日付情報、カメラのＧＰＳ座標、１つの画像または画像の集合に関するユーザラベル（たとえば、これらの画像はすべて、部屋Ａで撮影された）を含むことが可能である。一部の実施形態において、画像のサブセット（全体に対する一部分）（またはすべて）に関して、カメラ２１５の画像捕捉変数は、一定に保持されてもよく、カメラが、画像捕捉変数のサブセットに基づいて較正されてもよい。一部の実施形態において、１台のカメラ２１５が、モデル定義プロセスの精度に影響を及ぼす可能性がある画像捕捉変数における変動が、導入されないことを保証するために用いられる。別の実施形態において、画像捕捉変数が画像に関するメタデータとして記録され、コンピュータソフトウェアが、画像２３４間の画像捕捉変数における任意の変動を補償するために用いられる。画像メタデータはまた、画像データベース２３２における画像２３４の少なくとも部分集合を、画像２３４に関する接続情報を有するシーケンスに順序付けるデータを含んでもよい。たとえば、画像２３４が各画像間の時間間隔で画像のシーケンスを特定するメタデータを含んでもよく、その結果、画像２３４は、ビデオ記録として表示され、各画像２３４はビデオ記録における１フレームとして機能することが可能である。一部の実施形態において、これらの画像は、スチールカメラによって個別の画像として記録され、他の実施形態において、これらの画像は、ビデオカメラによるビデオ（またはビデオフレームのシーケンス）として記録される。
【００５０】
一部の実施形態において、物理空間１１０におけるオブジェクトに関連付けられる区別可能な視覚特徴１１２を識別するために、画像の少なくともサブセットが、解析される（３０４）。これらの区別可能な視覚特徴１１２は一般に、多種多様な照明条件において、区別可能な視覚特徴１１２からのカメラの異なる位置、向きおよび距離においてロバスト（すなわち、一意に識別可能）である。一部の実施形態において、このことは、区別可能な視覚特徴１１２が一般に、少なくともある程度のスケール不変（すなわち、異なる拡縮倍率で見たときに、特徴の区別可能な視覚外観の少なくとも一部が認識可能である）、ある程度の回転不変（すなわち、異なる角度で見たときに、特徴の区別可能な視覚外観の少なくとも一部が認識可能である）を呈しなければならないことを意味する。一部の実施形態において、区別可能な視覚特徴はまた、ある程度の回転非対称を呈する。一部の実施形態において、区別可能な視覚特徴１１２は、スケール不変の特徴変換を用いて識別される（３０８）。一部の実施形態において、所定のマーカ１１２−１が、識別される（３１０）。一部の実施形態において、これらの技術の組み合わせが用いられてもよい。一部の実施形態において、所定のマーカ１１２−１は、図８Ａを参照して以下にさらに詳細に記載されるように、計算デバイス２００によって容易に識別されることができるように設計されてもよい。当業者は、本願明細書に記載される区別可能な視覚特徴が、これらの技術の任意の組み合わせまたは区別可能な視覚特徴を識別するための当該技術分野では周知の他の技術を用いて、画像において識別されることが可能であることを認識することは理解されるべきである。
「意味情報」
図３Ａに示されるように、一部の実施形態において、所定のマーカ１１２−１のサブセットに関連付けられた意味情報データベース２４０からの意味情報が、識別されてもよい（３１２）。意味情報は、所定のマーカ１１２−１またはマーカの集合に特定の意味を与える情報である。この意味情報は、予め割り当てられてもよく、またはマーカが物理空間に配置された（たとえば、物理空間における物理的オブジェクトへの関連付け、モデルにおけるオブジェクトの所望の位置への関連付け、またはモデルの環境特徴に関するモデル態様を示す意味のためにモデル内に配置）後、ユーザによって割り当てられてもよい。
【００５１】
一部の実施形態において、関連付け意味情報は、１つまたは複数のマーカまたは所定のマーカのサブセットが関連付けられる１つまたは複数のオブジェクトの間の関係を表してもよい（３１４）。所定のマーカのサブセットが関連付けられることは、たとえば、所定のマーカのサブセットにおけるすべてのマーカが、共通の制約の集合の対象となっていること（３１６）、所定のマーカのサブセットにおけるすべてのマーカが、共通の表面に関連付けられること（３１８）、所定のマーカのサブセットにおけるすべてのマーカが、共通の向きを有すること、サブセットにおけるすべてのマーカが、同一の色またはテクスチャの表面上にあること、または所定のマーカのサブセットにおけるすべてのマーカが、共通のオブジェクトに関連付けられることを表す。一部の実施形態において、これらの関係は、物理空間における物理的オブジェクトの間の実際の物理的関係を表している。他の実施形態において、この関係は、物理空間における実際の物理的関係を表さないモデルにおける所望の関係を表している。さらに、この関係は、任意の特定の画像２３４において全体を完全に見ることができない１つのオブジェクトが実際には、１つの連続的なオブジェクトであることを表してもよい。この関係は、１つの部屋におけるオブジェクトによって部分的に隠される配管または壁を表すために用いられてもよい。さらにこの関係は、部屋の中にあって、１つの画像中では見ることができない２つの別個の側面を有するオブジェクトの別個の側面に対して２つのマーカが関連付けられることを表すために用いられてもよい（たとえば、第１のマーカは、扉の前面に関連付けられることが可能であり、第２のマーカは扉の後面に関連付けられることが可能である）。一部の実施形態において、この関係は、２つの異なる部屋によって共有される壁または床または天井に対向する側面、または建物の内壁および外壁を表すために用いられてもよい。
【００５２】
この種の意味情報は、第１の領域と、第１の領域とは視覚的に分離される１つまたは複数の他の領域と、を含む物理空間を代表するモデルを定義するための方式を提供する。たとえば、２つの隣接する部屋の間の関係は、以下の方式でマーカと関連付けられた意味情報によって特定することができる。第１の部屋は、壁の第１の側面に関連付けられる第１のマーカを有してもよく、第２の部屋は、壁の第２の側面に関連付けられる第２のマーカを有してもよい。壁の第１の側面および第２の側面が同一の壁の２つの側面であることを表す意味情報にマーカの一方が関連付けられている場合には、モデルビルダ２２６は、２つの部屋が隣接しており、壁の第１の側面および壁の第２の側面が共通の壁を形成するモデルを構築することを決定することができる。モデルビルダ２２６は、予め入力された、あるいは、第1の側面を含む物理空間画像の解析等によって得られる、壁の第１の側面のサイズを用いて、壁の第２の側面のサイズを推定してもよい。このプロセスはまた、異なる部屋に存在する床および天井などの他の構造物の対向する側面を識別するために用いられてもよい。大量の部屋に関してこの技術を用いて、建物全体または建物の領域の物理パラメータが決定され、モデルのパラメータの一部を定義するために用いることが可能である。前述の説明から、前述のリストは単なる例示であり、関連付け意味情報によって表されることが可能な関係にはさまざまな種類があることは理解されるべきであり、このことは、当業者には容易に明白となるであろう。
【００５３】
別の実施形態において、個別の所定のマーカまたはマーカの集合の関連付け意味情報は、たとえば、個別のオブジェクトの色（３２２）、個別のオブジェクトのテクスチャ（３２４）を含む１つまたは複数の所定のマーカが関連付けられる個別のオブジェクトの静的特徴を表し（３２０）、個別のオブジェクトが挿入可能なオブジェクトであることを表す（３２６）。一部の実施形態において、オブジェクトは、物理空間における物理的オブジェクトを表してもよい。他の実施形態において、オブジェクトは、物理空間における物理的オブジェクトを表さないモデルにおける所望のオブジェクトであってもよい。たとえば、モデルにおける関連付けられるオブジェクトの位置を表すために、マーカが空中に吊り下げられるときなどである。マーカの静的特徴を表す意味情報は、多様な方式でマーカと関連付けることができる。色および／またはテクスチャ情報を、予め定義することができること、マーカが配置された後、色および／またはテクスチャ情報を、ユーザが、すなわちユーザインターフェイスモジュール２２１への入力を提供したユーザが、選択することもできることである。さらに、色および／またはテクスチャは、マーカが見ることができる画像２３４からサンプリングされる。色および／またはテクスチャのサンプリングは、マーカによって示された所定の領域（たとえば、マーカのエリア）で行うことができ、またはマーカに関連付けられるユーザ定義の領域からサンプリングできる。
マーカと関連付けられた意味情報が、マーカと関連付けられるオブジェクトの実際の色またはテクスチャを表す情報を含むとき、色またはテクスチャは、「サンプリングされる」、とここでは用いる。サンプリングされた色またはテクスチャは、物理空間における任意の関連付けられた領域の色またはテクスチャに一致あるいは一致しない、マーカに設定された意味に従って、他の領域に適用されてもよい。物理空間の画像からテクスチャをサンプリングすることは、１つの画像（または複数の画像）の領域を抽出することを含む。画像のその抽出された領域は次に、ユーザによって決定された位置でモデルに挿入されてもよい。たとえば、関連付けられるオブジェクトが写真またはディスプレイであることを意味情報が表す場合には、オブジェクトを含む画像２３４の一部（またはすべて）が、選択され、マーカと関連付けられる追加情報として格納されてもよい。この実施例において、マーカと関連付けられた意味情報は、マーカが壁における矩形の画像（たとえば、絵画またはポスタ）を含む特定の領域と関連付けられることを示してもよく、矩形の画像がサンプリングされることになっていることを表してもよい。画像処理ソフトウェアは次に、マーカと関連付けられる領域における最大の矩形を識別するために用いられ、次に挿入可能なアイテムデータベース２４４にその矩形の内容の新たな画像を格納し、マーカと関連付けられた意味情報として意味情報データベース２４０にそのアイテムに対する参照先を配置してもよい。一部の実施形態において、３Ｄモデルレンダラ２２８は、その関連付けられる情報を用いて、１つまたは複数の場所でモデル１２０に矩形の画像（たとえば、絵画またはポスタ）を配置してもよい。他の実施形態において、モデルにおける関連付けられるオブジェクトがピクチャまたはディスプレイであることを意味情報が表す場合には、ピクチャまたはディスプレイを含む領域が、モデル中に示されてもよく、その結果、オブジェクトまたはデータストリームは、その位置に現れるようにするために、ユーザによって選択されることができる。
【００５４】
物理空間の画像から色をサンプリングすることは、マーカによって表される画像における特定の位置における色値を決定することと、画像または画像の一部に関して平均色値を決定することを含んでもよい。サンプリングされた色は次に、１つまたは複数のモデルの態様に適用されてもよい。たとえば、ユーザが、壁の色をサンプリングしたい場合がある。この実施例において、ユーザは、サンプリングするための壁の特定の位置を示すために、壁にマーカを配置することが可能である。あるいは、ユーザは、サンプリングするために壁の領域を示すことが可能であり、その領域の色値が平均化されることが可能である（たとえば、ユーザはサンプリングされる色を含む壁の領域の拡大画像を捕捉することが可能である）。追加マーカは、サンプリングされた色が、モデルにおける他の壁などのモデルの他の構成要素に適用されることを示すことが可能である。前述の説明から、前述のリストは単なる例示であり、関連付け意味情報によって表されることが可能なモデルにはさまざまな異なる態様があることは理解されるべきであり、このことは、当業者には容易に明白となるであろう。
【００５５】
別の実施形態において、個別の所定のマーカまたはマーカの集合の関連付け意味情報は、挿入可能なアイテムデータベース２４４から挿入可能なアイテムが、所定のマーカの位置に対する位置に挿入されることができることを示す（３２６）。挿入可能なアイテムは、データファイルまたはメモリ２０６に格納されることが可能であるオブジェクトの他の表現であってもよく、たとえば、ディジタル写真または（前段落で記載したような）他のディジタル画像（３２８）、コンピュータ支援設計によって作成されるオブジェクトなどの３次元オブジェクトの表現（３３０）、ビデオ記録またはビデオストリーム、たとえば、ウェブカムまたは他のライブビデオ供給などであってもよい。前述の説明から、前述のリストは単なる例示であり、関連付け意味情報によって表されることが可能な挿入可能なアイテムにはさまざまな種類があることは理解されるべきであり、このことは、当業者には容易に明白となるであろう。
【００５６】
さらに別の実施形態において、個別の所定のマーカの関連付け意味情報が、サブモデルを定義するのに役立つことを示す。サブモデルは、そのサブモデルと関連付けられるマーカのすべてから決定されてもよい。サブモデルは、物理空間において類似物を有してもよく、または類似物を有していなくてもよい。サブモデルは、挿入可能なオブジェクトのデータベースに格納されることができる。データベースにおけるサブモデルの格納は、多くの利点を有することができる。たとえば、物理的オブジェクト（たとえば、教室における机）は、多数の明確に類似の形状の物理的オブジェクトを代表してもよい。一部の実施形態において、ユーザが、類似の形状の物理的オブジェクトの１つのサブモデルを定義するために、１つまたは複数の所定のマーカを含む視覚特徴を用いたい場合がある。他の挿入マーカもまた、オブジェクトの定義されたサブモデルがモデルにおける１つまたは複数の位置に挿入されることになっていることを表すために、ユーザによって配置されてもよい。一部の実施形態において、これらの挿入マーカは、物理空間において存在する実際の物理的オブジェクトを表す。他の実施形態において、これらの挿入マーカは、物理空間における実際の物理的オブジェクトに対応しないモデルにおける所望のオブジェクトを表してもよい。
【００５７】
たとえば、多数の類似の机または同一の机がある教室の実施例において、机が詳細にモデル化されることができるように、マーカの一群における多数のマーカは、机の１つと関連付けられてもよい。マーカの一群に関する参照マーカは、机のモデルおよびその定義に関する参照フレームを表してもよい。他の机が部屋に存在する場合には、格納された机のモデルが、これらの位置のそれぞれに挿入されるべきであることを表すのに、部屋における他の机のそれぞれについて同一の相対的位置および向きに配置される１つの挿入マーカで十分である。他の机が部屋に存在しない場合には、格納された机のモデルが、その位置に挿入されるべきであることを表すのに１つの挿入マーカで十分である。この方式で関連付け意味情報を用いることは、複数の類似または同一の物理的オブジェクトの態様を定義するために必要な作業量を削減することから、モデルの定義の効率および速度を向上する。前述の説明から、前述のリストは単なる例示であり、関連付け意味情報によって表されることが可能な多くの意味があることは理解されるべきであり、このことは、当業者には容易に明白となるであろう。また、ユーザが、所定のマーカでない区別可能な視覚特徴を有する意味情報を関連付けることが可能であることも理解されるべきである。
「姿勢決定」
ここで、画像２３４における区別可能な視覚特徴１１２の姿勢の決定に注意が向けられる。区別可能な視覚特徴１１２の姿勢は、その特徴の位置および向きを含む。デカルト座標系において、区別可能な視覚特徴の姿勢は、特徴の位置（たとえば、ｘ軸、ｙ軸およびｚ軸に沿ったその位置）のほか、特徴の向き（たとえば、ｘ軸、ｙ軸およびｚ軸を中心としたその回転）によって定義される。この実施例においてデカルト座標系の使用は、便宜上に過ぎないことを理解されるべきであり、当業者は、ユーザにとって好都合である任意の座標系が、物理空間１１０における区別可能な視覚特徴の姿勢を一意に識別するために、その配置において用いられることが可能であることを容易に理解するであろう。
【００５８】
最初に、少なくとも１つの区別可能な視覚特徴１１２が基準特徴として識別される。一部の環境において、固定座標系に対する物理空間１１０における物理的オブジェクトの実際の姿勢を認識することが望ましい。これらの環境において、ユーザが、固定座標系に対する基準特徴の姿勢を決定してもよい。一部の実施形態において、基準特徴は、固定座標系に対する決定可能な第１の姿勢（３３４）を有する。一部の実施形態において、基準特徴が識別され、次に基準特徴の姿勢が、基準特徴の物理的測定を行うことによって決定される。他の実施形態において、基準特徴に関する所望の姿勢が決定され、次に、基準特徴が所望の姿勢に配置される。この実施形態は、物理空間の外側にある１つまたは複数の物理的オブジェクトの位置が、関連しているとき、たとえば、物理空間の下（すなわち、外側）にある水道管に関する器具の位置決めを決定するための青写真として用いられてもよいモデル１２０を作成するときに、特に有用である可能性がある。
【００５９】
特徴姿勢に基づいて画像姿勢を決定するためのプロセス、および画像姿勢に基づいて特徴姿勢を決定するためのプロセスは、写真測量法などの技術を用いることによって、当技術分野では公知である。一部の実施形態において、エーアールツールキットプラス（ＡＲＴｏｏｌＫｉｔＰｌｕｓ）（ＡＲＴｏｏｌＫｉｔは、実時間における区別可能な視覚特徴に対するカメラの位置および向きを計算するために用いられることができるソフトウェアライブラリであり、ＡＲＴｏｏｌＫｉｔＰｌｕｓは、ＡＲＴｏｏｌＫｉｔの視覚コードの拡張バージョンである。）のような画像処理ソフトウェアが、既知の姿勢を有する１つまたは複数の区別可能な視覚特徴１１２を含む画像２３４に基づく画像姿勢を決定するために用いることができる。さらに、一部の実施形態において、同一の画像処理ソフトウェアが、画像の既知の姿勢に基づく画像２３４における識別された区別可能な視覚特徴１１２の特徴姿勢を決定するために用いることができる。これらの技術は、当該技術分野では公知であり、ここではさらに記載しない。
【００６０】
一部の実施形態において、基準特徴の姿勢は、固定座標系に対して決定されないが、他の特徴の姿勢は、基準特徴の姿勢に対して決定される。これは、固定座標系に対する物理空間１１０における区別可能な視覚特徴の実際の姿勢を認識する必要がない状況において適切であり、物理空間１１０における他のオブジェクトに対する、物理空間１１０における区別可能な視覚特徴の姿勢を単に認識するために十分である。これらの環境において、基準特徴の姿勢の実際の測定を行わないために、さらに高速である可能性がある。一部の実施形態において、基準特徴の実際の姿勢が決定されていない場合には、座標系は、基準特徴の姿勢に対して定義することができる。たとえば、実質的に平面の矩形の基準特徴の場合には、座標系は、基準特徴の角を座標系の原点として定義し、基準特徴の角に隣接する第１のエッジをｘ軸に平行であるものとして定義し、基準特徴の角に隣接する第２のエッジをｙ軸に平行であるものとして定義し、基準特徴の面をｚ軸に垂直であるものとして定義することによって、一意に定義することができる。この実施形態は、ユーザが視覚特徴の相対姿勢を決定し、マーカのいずれかの姿勢を測定するために時間を取ることなく、モデルを定義することができるため、視覚特徴の相対的姿勢のみが必要とされるときには特に有用である可能性がある。
【００６１】
一部の実施形態において、基準特徴は、ユーザによって識別される。他の実施形態において、基準特徴は、姿勢エスティメータ２２４によって自動的に識別される（図２）。一部の実施形態において、第１の区別可能な視覚特徴は、視覚特徴が検出される（たとえば、検出される第１の視覚特徴が、基準特徴であるように取得されてもよい）順序および第１の区別可能な視覚特徴を含む画像に存在する他の区別可能な視覚特徴の数に基づいて、基準特徴として自動的に識別されてもよく、または図５Ｃ（ａ）、図５Ｃ（ｂ）および図５Ｃ（ｃ）を参照して以下にさらに詳細に記載されるように、第１の区別可能な視覚特徴との共通視認性（ｃｏ−ｖｉｓｉｂｉｌｉｔｙ）グラフの一部である他の区別可能な視覚特徴の数に基づいて、基準特徴として自動的に識別されてもよい。一旦、基準特徴が識別されると、１つまたは複数の区別可能な視覚特徴に関する第２の姿勢が、第１の姿勢に対して決定される（３３６）。一部の実施形態において、区別可能な視覚特徴に関する第２の姿勢が、１つまたは複数の画像のサブセットを選択し（３３８）、もしあるのであれば、シーケンスにおける各個別の画像が、シーケンスにおいて直前に置かれる個別の画像と少なくとも１つの視覚特徴を共有し、シーケンスにおける少なくとも１つの画像が基準特徴を含むように、シーケンスにおいて画像の１つまたは複数のサブセットを順序付けし（３４０）、第１の姿勢に基づいて、画像のサブセットにおける視覚特徴の少なくとも１つの個別の第２の姿勢を反復的に決定する（３４２）ことによって、決定される。区別可能な視覚特徴の個別の第２の姿勢を決定するこのプロセスは、図４Ｂおよび図５Ａ〜図５Ｄを参照して以下にさらに詳細に記載される。
【００６２】
一部の実施形態において、モデルの少なくとも一部の態様は、個別の特徴の姿勢および関連付け意味情報に少なくとも部分的に基づいて特定される（３４４）。モデルの態様に少なくとも部分的に基づくモデルを定義するプロセスは、図５Ａから図５Ｄを参照して以下にさらに詳細に記載される。一部の実施形態において、定義されたモデルは、識別された区別可能な視覚特徴の姿勢および区別可能な視覚特徴と関連付けられた意味情報に基づいて、レンダリングされる（３４６）。モデルをレンダリングするプロセスは、図４Ａから図４Ｃを参照して以下にさらに詳細に記載される。
【００６３】
モデルを定義するための方法の別の実施形態が、図３Ｂを参照して記載される。この実施形態において、画像は、物理空間から収集される（３５２）。これらの画像は、物理空間における区別可能な視覚特徴を識別するために分析され（３５４）、視覚特徴の少なくとも１つは、関連付け意味情報を有する所定のマーカである。一部の実施形態において、区別可能な視覚特徴は、画像特徴検出アルゴリズムを用いて識別される特徴である（３５６）。一部の実施形態において、区別可能な視覚特徴は、所定のマーカである（３５８）。一部の実施形態において、所定のマーカの少なくともサブセットは、関連付け意味情報を有し、その情報が識別され（３６０）、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて解釈される（３６２）。マークアップ言語は、図４Ｃを参照して以下にさらに詳細に記載される。モデルの態様は、モデル構成要素（たとえば、扉）、モデル構成要素の姿勢（たとえば、扉の位置および向き）またはモデル構成要素の視覚的外観の記述（たとえば、扉の色）などのモデルの要素を含んでもよい。
【００６４】
マークアップ言語に基づいて意味情報を解釈することは、物理空間において１つまたは複数の所定のマーカの姿勢を決定することと、関連付け意味情報と共に所定のマーカの１つまたは複数の姿勢に基づいて、モデルの幾何的特徴を定義することと、を含んでもよい（３６４）。一部の実施形態において、意味情報を解釈することは、モデルの非幾何的態様を定義するために、１つまたは複数のマーカと関連付けられた意味情報の使用を含んでもよい（３６６）。モデルのこれらの非幾何的態様は、モデルにおける照明の位置決め、モデルにおける仮想照明のタイプ、所定のモデルの視点および他の非幾何的態様を含んでもよい。一部の実施形態において、モデルの態様の少なくとも１つは、マーカのサブセットと関連付けられた意味情報に基づいて特定され、サブセットは、少なくとも２つのマーカを含み（３６８）、したがって、意味情報の一定の種類に関して、少なくとも２つのマーカが、モデルの態様を特定するために必要とされることになる（たとえば、２つのマーカの間の長さ、または各角に１つのマーカを配置することによって識別される要素）。一部の実施形態において、マーカのこれらのサブセットは、サブモデルを定義するため（３７０）またはサブモデルをモデルに挿入するため（３７２）に用いることが可能である。一部の実施形態において、複数の挿入マーカが、１つのサブモデルを挿入するために用いられてもよい。他の実施形態において、１つの挿入マーカが、個別の挿入マーカの物理空間における姿勢に対して決定されるモデルにおける姿勢を有するモデルの中の位置に、１つのサブモデルを挿入するために用いられてもよい。挿入マーカのそれぞれが同一のサブモデルを参照する場合には、サブモデルの複数の複製が、物理空間に複数の挿入マーカを配置するだけで、モデルの中に挿入されてもよい。
【００６５】
一部の実施形態において、マーカのサブセットと関連付けられた意味情報は、モデルに含まれる１つまたは複数の画像の領域を表す（３７４）。１つまたは複数の画像の領域は、モデルにおける画像の部分、複数の画像から作成される画像の部分、マッチングアルゴリズムによって見つけられるデータベースからの画像の部分および他の画像領域を含んでもよい。さらに、１つまたは複数の所定のマーカと関連付けられた意味情報は、挿入可能なアイテムが、１つまたは複数の所定のマーカの位置および向きによって示される位置で、モデルに挿入されることになっていることを示してもよい（３７６）。一部の実施形態において、挿入可能なアイテムは、画像（３７８）、ビデオストリーム（３８０）または３次元オブジェクトの表現（３８２）である。一部の実施形態において、モデルは、関連付け意味情報に少なくとも部分的に基づいて定義される（３８４）。図４Ａから図４Ｃを参照して以下にさらに詳細に記載されるように、この定義されたモデルは次に、３Ｄモデルレンダラによってレンダリングされてもよい（３８６）。
【００６６】
ここで、図４Ａに注意が向けられる。図４Ａは、上述した方法を実行するためのシステムの一実施形態を示すブロック図である。カメラ２１５は、物理空間１１０の画像２３４を捕捉するために使用されてもよい。物理空間の画像２３４はまた、図２に関して上述したように画像２３４に関する情報を表すメタデータを含んでもよい（または関連付けられてもよい）。一部の実施形態において、画像は、画像コレクタ２２２によって収集され、画像データベース２３２に格納される。他の実施形態において、画像は、ユーザの指示によって画像データベース２３２に格納される。
【００６７】
一旦、１つまたは複数の画像２３４が、画像データベース２３２に格納されると、一部の実施形態において、姿勢エスティメータ２２４は、図３Ａを参照して記載された方法に基づき、画像データベース２３２に格納された画像２３４における区別可能な視覚特徴１１２の少なくとも一部の姿勢を推定する。一部の実施形態において、モデルビルダ２２６は、（図４Ｃを参照して以下にさらに詳細に説明されるように）モデル態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて、モデルを定義する。モデルビルダ２２６は次に、モデルを定義し、定義されたモデルに基づき、仮想モデルをレンダリングするためのモデルレンダリング命令４０４を決定する。一部の実施形態において、モデルビルダ２２６は、姿勢データベース２３８からの画像姿勢および特徴姿勢情報と、意味情報データベース２４０からの意味情報とを用いて、モデル１２０を構築する。モデルビルダによって決定されたモデルレンダリング命令４０４は次に、モデルレンダリング命令データベース２４２に格納されてもよい。
【００６８】
一部の実施形態において、画像分析器４０２は、任意の互換性のある３次元モデルレンダラによって用いられてもよいモデルレンダリング命令４０４をユーザに提供し、定義されたモデルに基づいて３次元仮想モデルをレンダリングしてもよい。他の実施形態において、画像分析器４０２は、定義されたモデルのモデルレンダリング命令４０４を、統合された３Ｄモデルレンダラ２２８に自動的に提供する（図４Ａ）。３Ｄモデルレンダラ２２８は、モデルレンダリング命令４０４と、挿入可能なアイテムデータベース２４４からのアイテムとを用いて、モデルをレンダリングしてもよい（図４Ａ）。モデルレンダリング命令４０４は、３Ｄモデルレンダラ２２８に対し、定義されたモデルの寸法および向き、モデル内のオブジェクトまたは構造物の位置、向きおよびサイズ、モデルにおけるオブジェクトの色、テクスチャおよび他の静的特徴に関する命令を提供してもよく、モデルに挿入するために、挿入可能なアイテムデータベース２４４からの挿入可能なアイテムを表すために提供してもよい（図４Ａ）。一部の実施形態において、３Ｄモデルレンダラ２２８は、モデルを自動的に構築し、モデルをユーザに提示する。他の実施形態において、ユーザは、モデルを構築するプロセスに介入し、３Ｄモデルレンダラ２２８がモデルを構築しているときに、３Ｄモデルレンダラ２２８に追加入力を提供してもよく、その入力は、１つまたは複数の画像が無視されるべきであることを表すか、１つまたは複数のマーカの姿勢が不十分に推定される可能性があることを表すことを含む。ユーザ入力は、ユーザインターフェイスによってユーザインターフェイスモジュール２２１（図２）に提供されてもよい。一部の実施形態において、ユーザ入力は、３Ｄレンダラ２２８に提供されるユーザ入力に加えて、または３Ｄレンダラ２２８に提供されるユーザ入力に代わって、モデルビルダ２２６に提供されてもよい。モデルが構築中および／またはレンダリング中であるとき、ユーザに入力を提供することを可能にすることは、追加時間を取るが、モデルの品質も向上する可能性がある。一部の実施形態において、モデルの品質は、物理空間を表現する際にその精度を表す。他の実施形態において、モデルの品質は、ユーザによって想像されるモデルに対してその精度を表す。本願明細書に記載されるモジュールは例示に過ぎないことを理解されるべきであり、同一の結果を達成するために、一定モジュールが、他のモジュールと組み合わせられることが可能であり、細分されることも可能であることを当業者は容易に認識するであろう。
【００６９】
ここで、一部の実施形態に基づき姿勢エスティメータの動作を示す図４Ｂに注意が向けられる。姿勢エスティメータは、画像データベース２３２から画像２３４、マーカデータベース２３６から所定のマーカの少なくともサブセット（たとえば、図１Ａにおける１１２−１）のサイズを表すマーカ・サイズ・データ、少なくとも１つの基準特徴の姿勢（４２０）、または既知のまたは事前に決定された姿勢を有する他の特徴１１２を受信する。次に、一部の実施形態に基づき、姿勢エスティメータ２２４は、基準特徴姿勢を用いて、基準特徴を含む画像の画像姿勢を計算し（４２２）、姿勢データベース２３８に画像姿勢を格納する。一部の実施形態において、ＡＲＴｏｏｌＫｉｔ（コンピュータ視覚アルゴリズムを用いた拡張現実（ＡＲ）アプリケーションを構築するためのソフトウェアライブラリ）などのソフトウェアパッケージまたは何か他の周知の姿勢推定ツールが、画像姿勢を計算するために用いられる。一部の実施形態において、画像姿勢は、画像２３４が捕捉された時点におけるカメラ２１５の位置および向きである。画像姿勢はまた、焦点距離、レンズの歪み、樽形歪みなどの画像２３４の他の態様を表すメタデータを含んでもよく、カメラ２１５によって自動的に記録されるか、またはユーザによって手動入力される（これにより、画像２３４を物理空間１１０にさらに正確に写像することが可能とされる）、他の情報を含んでもよい。一部の実施形態において、所定のマーカのサイズおよび形状は既知のであり、所定のマーカを含む画像２３４の姿勢は、所定のマーカの既知のサイズおよびマーカの姿勢を用いて決定される。一部の実施形態において、所定のマーカではない区別可能な視覚特徴のサイズは、当技術分野において公知である技術を用いて決定することができる。一部の実施形態において、これらの技術は、画像のそれぞれが既知の姿勢を有する場合には、区別可能な視覚特徴を含む２つまたはそれ以上の画像を必要とする。
【００７０】
一旦、画像姿勢４３０が計算されると、画像における新たな区別可能な視覚特徴が識別され（４２４）、これらの特徴の特徴姿勢が推定される（４２８）。一部の実施形態において、ＡＲＴｏｏｌＫｉｔなどのソフトウェアパッケージまたは何か他の公知の姿勢推定ツールが、姿勢を計算するために用いられる。特徴姿勢４３２は、画像姿勢４３０の他、所定のマーカ用のマーカデータ（マーカ・サイズ・データなど）および意味情報（たとえば、マーカが他の公知のマーカと共通の平面に位置している場合）を用いて、推定されてもよい。特徴姿勢４３２は次に、姿勢データベース２３８に格納される。追加の特徴姿勢４３２が既知になると、これらの追加の既知の特徴姿勢４３２が、新たな画像姿勢４３０を計算するために用いられる（４２２）。一部の実施形態において、この反復プロセスは、決定するための画像姿勢または特徴姿勢がなくなるまで続く。一部の実施形態において、この反復プロセスは、ある所定数の画像姿勢および特徴姿勢が決定されるまで続く。一部の実施形態において、この反復プロセスは、物理空間の物理的パラメータが適切に推定されることができるように、十分な特徴姿勢が既知のであると決定されるまで続く。十分な特徴姿勢が知られているかどうかの決定は、物理空間を十分に代表するモデルを構成することができるかどうかに基づいてもよい。この決定は、ユーザによって行われてもよく、または自動的に行われてもよい。他の実施形態において、十分な特徴姿勢が知られているかどうかの決定は、モデルがユーザによって所望される特徴を有するかどうかに基づいてもよいが、それらの特徴は、物理空間の物理的パラメータを表していなくてもよい。
【００７１】
姿勢推定プロセスにおいて認識される１つの問題点は、前の推定からの推定に基づくときに、累積誤差が生じる可能性があることである。測定におけるこの累積誤差を削減する方法を見出すことが有益である。一部の実施形態において、バンドル調整（４３４）が、姿勢データベース２３８における既知の姿勢の集合で行われ、姿勢推定プロセスにおける任意の累積誤差を補正する。一部の実施形態において、ＳＢＡ（Ｌｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔアルゴリズムに基づく一般的な疎バンドル調整Ｃ／Ｃ＋＋パッケージ）などのソフトウェアパッケージが、バンドル調整を行うために用いられるが、他のバンドル調整ツールもまた、用いられることが可能である。他の実施形態において、姿勢推定プロセスにおける累積誤差は、特徴姿勢を認証するプロセスによって低減される。一部の実施形態において、特徴姿勢は、ユーザインターフェイスモジュール２２１への入力を提供するユーザによって手動で認証され、他の実施形態において、特徴姿勢は自動的に認証される。認証手続きの一実施例において、（図４Ｂに示されるように）姿勢推定プロセスの各反復において、既知の姿勢を有する大部分の画像において見られる特徴は、すべての認証された特徴およびそのような特徴を含む画像と共にバンドル調整されてもよく、バンドル調整が成功する場合には、この特徴が認証されることになる。特に、バンドル調整に関する既知の問題点は、その数値の最適化が、極小値で行き詰まる可能性があることである。この認証手続きは、よい解に収束しない悪いバンドル調整の初期化を回避するのを助ける。
【００７２】
認証手続きの一実施形態において、特徴姿勢は、一旦認証されると、画像の姿勢を推定するために用いられるだけである。一部の実施形態において、姿勢推定プロセスの各反復において、既知の姿勢を有する大部分の画像において見られる特徴は、バンドル調整されて、認証されることになる。さらに、一部の実施形態において、この手続きを用いて、画像の姿勢を推定するために認証された特徴のみが用いられてもよい。
「マークアップ言語」
一部の実施形態において、たとえば、本願明細書に記載されるようなマーカと関連付けられた意味情報は、モデルを定義するための豊富なマーカに基づくマークアップ言語を形成するために体系化されてもよい。このマークアップ言語は、モデルを構成することができる基本命令の集合を表す所定のマーカと関連付けられることができる異なる意味を多数含んでもよい。１つのマーカは、複数の関連付けられる意味を有することができる。一部の意味は、１つのマーカではなく、マーカの集合と関連付けられるだけであってもよい。一部の実施形態において、マークアップ言語はまた、モデルの要素を記述するためにマーカがどのようにそれらの関連付けられる意味と結合されることができるかを示す規則も含む。一部の実施形態において、これらの規則は、どのマーカが他のマーカと結合されることができるかを制限してもよく、またはマーカ間の競合をどのように克服するかを示してもよい。一部のマーカは、モデルの１つまたは複数の所望の静的態様を表すために、独立に用いられてもよい。これらのマーカは、モデル態様のさらに複雑な集合を表すために、他のマーカと結合されてもよい。一部の実施形態において、同一のタイプの２つまたはそれ以上のマーカが、モデルの所望の態様を表すために用いられなければならない。他の実施形態において、マーカは、物理空間におけるオブジェクトのサンプリングまたは定義を指示する空間をモデル化するための命令を表してもよく、１つまたは複数のモデル位置でモデルに挿入されることになっている命令を表してもよい。一部の実施形態において、このマークアップ言語は、マーカの意味の２つの主要なカテゴリを有し、静的モデルの態様を決定するためのマーカの意味と、動的モデルの態様を決定するためのマーカの意味と、を有する。一部の実施形態において、静的モデルの態様を決定するためのマーカの意味は、動的モデルの態様を決定するためのマーカの意味と結合されてもよい。
【００７３】
一部の実施形態において、静的モデルの態様を決定するためのマーカの意味は、以下のタイプのうち１つまたは複数のタイプを含んでもよい。
【００７４】
・平面、パラメトリック形状、押出の幾何的定義
○平面：１つまたは複数のマーカが、同一の平面上にある。この意味情報は、平面を定義するために用いられてもよい。
【００７５】
○パラメトリック形状：マーカの集合が、パラメータ化された形状にある。この意味情報は、パラメータ化された形状の位置およびパラメータを推測するために用いられてもよい。パラメータ化された形状は、平面上にある２次元形状であってもよく、または完全に３次元のパラメータ化された形状であってもよい。たとえば、パラメータ化された形状は、特定の半径を有する円であってもよく、押出マーカは、円筒の高さを定義するために用いることが可能である。あるいは、パラメータ化された形状は、円の半径およびその高さを含み、したがって円筒を表すことが可能である。
【００７６】
○押出：１つまたは複数のマーカは、押し出された表面上にある。これらのマーカまたは他のマーカもまた、２次元のパラメトリック形状に存在することを意味する関連付けられた意味を有する場合には、この情報は、形状を３次元に押し出すことによって、モデルを定義する際に用いることができる。このとき、押出マーカは、その形状がどの程度まで３次元に押し出される必要があるかを表す。
【００７７】
・画像／テクスチャ／色エクストラクタ、オブジェクト挿入、定義などの抽出マーカ／挿入マーカ
○画像／テクスチャ／色エクストラクタ：ピクチャまたは掲示板などの画像が位置するエリアを定義するマーカの集合。
【００７８】
○オブジェクト挿入：既存の３次元モデルが含まれることになっているオブジェクトの位置を定義するマーカまたはマーカの集合。
【００７９】
○定義：モデルと異なる場所に複製され得るグループを構成する関連付けられたオブジェクトを示すマーカの集合。
【００８０】
・線、角などの他の定義された形状を修正するためのモデファイアマーカ
○線：線上にあるマーカの集合。
【００８１】
○角：特定の角度で角を定義する１つまたは複数のマーカ。たとえば、１つの角のマーカは、直角の角を表してもよい。これは、少数のマーカで矩形の領域を指定する好都合な方式を提供し得る。
【００８２】
一部の実施形態において、動的モデルの態様を決定するためのマーカの意味は、以下のタイプの１つまたは複数を含んでもよい。
【００８３】
・連携制約：連携位置、連携タイプ、連携軸および連携終了を含んでもよい。
【００８４】
・移動特徴：移動タイプ、移動速度および移動方向を含んでもよい。
【００８５】
・材料特徴：材料タイプ、材料密度、材料摩擦、回復係数などの材料跳ね返りパラメータを含んでもよい。材料特徴は一般に、動的モデルの作成における物理モデラによって用いられることが可能な任意の特徴である。
【００８６】
・動的要素の挿入：制御部（たとえば、スライダ、スイッチ、レバー、ハンドル）、モータ、コンベヤベルト、滑車、ばね、ホイール、振り子および関節式連携部（たとえば、ロボットアーム）を含んでもよい。
【００８７】
・モデル環境の動的態様：色、テクスチャまたは照明を含んでもよい。
【００８８】
ここで、図４Ｃに注意が払われ、図４Ｃは、一部の実施形態に基づいて上述したマークアップ言語を用いて、モデルを定義する方法を示している。モデルビルダ２２６は、マークアップ言語から異なる意味を処理するための多数のハンドラを含んでもよい。一部の実施形態において、マークアップハンドラは、以下のうちの１つまたは複数を含んでもよい。壁マークアップハンドラ２２７−Ａ、扉マークアップハンドラ２２７−Ｂ、色マークアップハンドラ２２７−Ｃおよび画像エクストラクタ・マークアップ・ハンドラ２２７−Ｄである。壁マーカについて、壁マークアップハンドラ２２７−Ａは、一連のステップを行ってもよい。特徴の識別されるサブセットに関して（４５０）、壁マークアップハンドラ２２７−Ａは、特徴姿勢データベース２３８における特徴を検索する（４５２）。一部の実施形態において、特徴と関連付けられた意味情報は、意味情報データベース２４０において検索される。一部の実施形態において、壁の初期モデルは、マーカの姿勢および関連付け意味情報によって課せられる制約に基づいて、壁マークアップハンドラによって作成されてもよい（４５６）。既に作成されたモデルがある場合には、モデルを更新するために、追加の特徴が分析されてもよい（４５８）。たとえば、扉マークアップハンドラ２２７−Ｂが、壁に扉があることを決定する場合には、扉マークアップハンドラは、モデルを更新して、扉を取り付けることができる穴が壁にあるようにする。
【００８９】
たとえば、物理空間（たとえば、図１Ａにおける１１０）において、壁のそれぞれに所定のマーカがあってもよく、部屋の壁である平面と関連付けられるものとしてマーカを識別する関連付け意味情報を有してもよい。初期の推定は、壁と関連付けられるマーカの姿勢に基づいて方向付けられる平坦で無限（または任意に大きい）平面領域である壁が、物理空間中に存在するというものであってもよい。しかし、一部の実施形態において、一旦、２つまたはそれ以上の壁が、個別のマーカによって識別されると、平面領域のそれぞれが、他の平面領域の１つまたは複数と交差してもよい。平面領域の２つが交差すると決定されるとき、マーカを含まないいずれかの平面領域の任意の部分を廃棄してもよい。このプロセスは、任意の数の交差する平面領域を含んでもよい。一部の実施形態において、マーカを有していない平面領域の部分が排除された後、今廃棄された平面領域との交差のために別の平面領域が廃棄される場合には、その別の平面領域を、共有エッジに沿って拡張してもよい。類似のプロセスが、天井、床または扉などの他の平面領域と共に用いられてもよい。一実施形態において、一旦、平面領域の望ましくない部分が廃棄されると、残りの平面領域は、モデルのための基部を形成してもよい。他の実施形態において、一旦、平面領域の望ましくない部分が廃棄されると、天井の高さ、床のサイズおよび形状、および部屋の他の寸法などの物理的関係を表す物理的パラメータが、決定されてもよい。一部の実施形態において、類似のプロセスが、物理空間に存在しないが物理空間において位置決めされる所定のマーカによって物理空間の画像において表される、モデルにおける壁を定義するために用いられてもよい。類似のプロセスが、非平面特徴の性質に基づく制約を用いて、平面でない特徴を含むモデルを定義するために用いられてもよいことは理解されるべきである。一部の実施形態において、図３Ａを参照してさらに詳細に前述したように、追加の意味情報が、モデルをさらに定義するために用いられてもよい。
「マーカの位置決め」
ここで、図５Ａ〜図５Ｄに注意が向けられる。図５Ａ〜図５Ｄは、物理空間に配置された区別可能な視覚特徴１１２の例示の実施例を提供する。図５Ａにおいて、複数の区別可能な視覚特徴１１２−Ａから１１２−Ｌが図５Ａおよび図５Ｂに示されているように、部屋の角などの物理空間に配置される。一部の実施形態において、これらの区別可能な視覚特徴１１２の１つまたは複数は、所定のマーカである。所定のマーカは、ユーザによって物理空間５００における種々の物理的要素と関連付けられてもよい。これらの物理的要素は、物理空間における物理的オブジェクトまたは他の特徴であってもよい。所定のマーカは、物理空間の実際の態様に関する情報を表すために用いられてもよく、またはモデルの所望の態様を表すために用いられてもよい。図５Ａにおける物理空間５００のブロック図において、物理空間は、第１の壁５０２と、第１の壁５０２に連結されるが、第１の壁５０２とは異なり、窓またはディスプレイまたはポスタまたは他の要素または壁５０２における特定の関心領域であってもよい要素５０４と、第２の壁５０６、オブジェクト５０８、扉５１０とを含む。ユーザは、物理空間５００に含まれる１つまたは複数の要素と１つまたは複数の所定のマーカを関連付けてもよい。たとえば、ユーザは、第１の壁５０２と１つまたは複数のマーカ１１２−Ｂ、１１２−Ｄを関連付けてもよい。ユーザはまた、窓またはディスプレイまたはポスタまたは壁５０２とは異なる他の要素であってもよい要素５０４とマーカ１１２−Ｃを関連付けてもよい。あるいは、図５Ｄ−１、図５Ｄ−２および図５Ｄ−３に関して以下に記載するように、ユーザは、要素５０４とマーカ１１２−Ｂを関連付けてもよく、または要素５０４と１つまたは複数のマーカ１１２−Ａ、１１２−Ｂ、１１２−Ｄおよび１１２−Ｅを関連付けてもよい。ユーザはまた、第１の壁５０２とは異なる第２の壁５０６とマーカ１１２−Ｇを関連付けてもよい。一部の実施形態において、オブジェクト５０８などの他の要素が、たとえば、マーカ１１２−Ｆと関連付けられてもよい。扉５１０は、１つまたは複数のマーカ１１２−Ｊおよび１１２−Ｉと関連付けられてもよい。マーカ１１２−Ｈでない１つまたは複数の追加の区別可能な視覚特徴が、識別されてもよく、物理空間５００の物理的パラメータの決定または物理空間の少なくとも一部に基づくモデルの定義を助けるために用いられてもよい。物理空間５００は、本願明細書に記載されていない他の要素を含んでもよく、それらの要素は、所定のマーカに関連付けられてもよく、または関連付けられなくてもよいことは理解されるべきである。
【００９０】
一部の実施形態において、一旦、１つまたは複数の所定のマーカが物理空間５００における要素と関連付けられると、画像２３４が、物理空間から取得される。図５Ｂにおいて、画像２３４−Ａ、２３４−Ｂおよび２３４−Ｃの例示の集合が、破線によって示されている。一部の実施形態において、２つ以上の画像２３４がある場合には、画像２３４のサブセットは、各画像２３４が１つまたは複数の区別可能な視覚特徴１１２を１つまたは複数の他の画像２３４と共有するように重なる。たとえば、第１の画像２３４−Ａおよび第２の画像２３４−Ｂが重なり、区別可能な視覚特徴１１２−Ｄおよび１１２−Ｅを各画像において見ることができる。同様に、第２の画像２３４−Ｂおよび第３の画像２３４−Ｃが重なり、区別可能な視覚特徴１１２−Ｈを各画像において見ることができる。これは、図５Ｃ（ａ）、図５Ｃ（ｂ）および図５Ｃ（ｃ）において明らかにわかり、第１の画像２３４−Ａ（図５Ｃ（ａ））、第２の画像２３４−Ｂ（図５Ｃ（ｂ））および第３の画像２３４−Ｃ（図５Ｃ（ｃ））がそれぞれ、個別に示されている。一部の実施形態において、画像２３４が重なる要件は、各区別可能な視覚特徴が共通視認性グラフにおけるノードであり、２つのノードが両方とも１つの画像に存在するときかつそのときに限り、エッジによって接続される場合、以下のように共通視認性グラフを作成することによって交互に定義することができる。この共通視認性グラフが接続され、基準特徴および第２の区別可能な視覚特徴を含む場合には、第２の特徴の姿勢は、基準特徴の姿勢に対して決定することができる。
【００９１】
重なる画像のシーケンスが必要とされる実施形態において、場合によっては、ユーザにとって特定の関心がある物理空間の２つまたはそれ以上の領域があってもよいが、２つまたはそれ以上の領域は、重なる画像のシーケンスによって連結することができない可能性がある。１つの領域からの特徴が、別の領域の特徴を含む画像において見られないように、領域および区別可能な視覚特徴が位置決めされる場合には、２つの領域は、重なる画像のシーケンスによって連結することができない。この場合には、上述した方法によって、他の領域における要素の姿勢に対して、領域の１つにおける要素の姿勢を決定することは不可能であろう。たとえば、共有される特徴１１２−Ｈが、図５Ｂから除去される場合には、第１の画像２３４−Ａおよび第２の画像２３４−Ｂにおける特徴の姿勢を第３の画像２３４−Ｃにおける特徴の姿勢と接続する方法はなくなる。一部の実施形態において、この問題は、共有される特徴１１２−Ｈの位置に所定のマーカを配置することによって克服される。一部の実施形態においては、共有される特徴１１２−Ｈの位置におけるこの所定のマーカが、任意の関連付け意味情報を有さず、主に第３の画像２３４−Ｃにおける特徴の姿勢を第１の画像２３４−Ａおよび第２の画像２３４−Ｂにおける特徴の姿勢に対して決定することが可能となるように機能する。別の解決策は、各領域において１つの基準特徴を選択し、一方の基準特徴のそれぞれの姿勢を他方に対して決定することである。また、たとえば、共有される特徴１１２−Ｈが存在しなかった場合には、ユーザは、同一の座標系に対して、第１の画像２３４−Ａにおける第１のマーカ１１２−Ａの姿勢および第３の画像２３４−Ｃにおける第２のマーカ１１２−Ｌの姿勢を測定することを可能にし、次に、基準マーカとして第１の特徴１１２−Ａおよび第２の特徴１１２−Ｌの両方を定義することを可能にする。
【００９２】
共通視認性グラフ（たとえば、画像の鎖）を構成することによって特徴のサブセットの姿勢を決定する１つの特定の実施例が、図５Ｃを参照して以下に記載される。この実施例において、第１の区別可能な視覚特徴１１２−Ａは、基準特徴として選択され、最後の区別可能な視覚特徴１１２−Ｌの最終的な姿勢を決定するプロセスは、図５Ｃにおける画像をシーケンス（たとえば、第１の画像２３４−Ａ、第２の画像２３４−Ｂおよび第３の画像２３４−Ｃ）に順序付けし、次に、基準特徴１１２−Ａの姿勢から第１の画像２３４−Ａの画像姿勢を決定し、画像２３４−Ａの画像姿勢に基づいて、第２の特徴１１２−Ｄの特徴姿勢を決定し、１１２−Ｄの第２の特徴姿勢に基づいて、第２の画像２３４−Ｂの画像姿勢を決定し、第２の画像２３４−Ｂの画像姿勢に基づいて、第３の特徴１１２−Ｈの特徴姿勢を決定し、第３の特徴１１２−Ｈの特徴姿勢に基づいて、第３の画像２３４−Ｃの画像姿勢を決定し、第３の画像２３４−Ｃの画像姿勢に基づいて、最終的な特徴１１２−Ｌの特徴姿勢を決定する。
【００９３】
ここで図５Ｄ（ａ）、図５Ｄ（ｂ）および図５Ｄ（ｃ）に注意が向けられる。これらの図面は、一部の実施形態に基づき、物理空間の画像に現れる可能性がある所定のマーカの異なるタイプを示す。前述したように、マーカ１１２は、物理空間（たとえば、図５Ａにおける５００）において物理的要素（たとえば、物理的オブジェクトまたは特徴）と関連付けられてもよい。この関連付けは、多様な手段によって達成されてもよい。図５Ｄ（ａ）は、物理的オブジェクト５０４と直接結合されるマーカ５５０と直接結合される所定のマーカ１１２−Ｂの一実施形態を示す。図５Ｄ（ｂ）は、物理的オブジェクト５０４の角付近であることを表す関連付け意味情報を有する所定のマーカ１１２−Ｂの一実施形態を示す。一部の実施形態において、マーカのこのタイプは、角定義マーカ５５２と呼ぶことができる。そのようなマーカの集合は、その物理的オブジェクト５０４の寸法を直接的に決定することができる。あるいは、所定のマーカ１１２と関連付けられる意味は、矩形の物理的オブジェクト５０４と関連付けられることを示してもよく、画像処理ソフトウェアが、所定のマーカ１１２によって示される位置の近傍の角を有する矩形を検出するために用いられてもよい。図５Ｄ（ｃ）は、領域定義マーカ５５４である所定のマーカ（たとえば、１１２−Ａ、１１２−Ｂ、１１２−Ｄおよび１１２−Ｅ）の一実施形態を示しており、領域定義マーカ５５４は、領域の境界を定義し、表された境界内に位置しているオブジェクト（たとえば、要素５０４）を示す。一部の実施形態において、オブジェクトの形状が表され、画像処理ソフトウェアが、境界内で表された形状を識別するために用いられる。たとえば、所定のマーカ１１２と関連付けられた意味情報は、矩形の周囲に位置していることを表してもよい。画像処理ソフトウェアを次に、所定のマーカによって定義される境界内に位置している最大の矩形を識別するために用いることができる。そのような実施形態は、マーカを開口部に直接的に結合することが可能でない場合に、所定のマーカ１１２を開口部と関連付けるために、もしくは、マーカをオブジェクトに直接的に結合することが不都合であるかまたは損傷を及ぼす場合に、ディスプレイ、窓または他のオブジェクトと所定のマーカ１１２を関連付けるために、特に有用となり得る。物理空間において物理的要素をマーカと関連付けるための可能な方法は多くあることを理解すべきであり、当業者は、上述した方法とは異なる代替物を容易に認識するであろう。
【００９４】
上述した実施形態などの物理的要素と直接的に結合される所定のマーカ１１２を必要としない実施形態は、マーカが関連付けられる物理的要素に対して正確に位置決めされる必要がないという追加的な利点を有する。たとえば、４つの所定のマーカ（たとえば、１１２−Ａ、１１２−Ｂ、１１２−Ｄおよび１１２−Ｅ）は、多くの異なる位置に位置決めされることができ、画像処理ソフトウェアが所定のマーカ（たとえば、１１２−Ａ、１１２−Ｂ、１１２−Ｄおよび１１２−Ｅ）によって包囲される要素５０４を容易に識別することが可能であるように、境界をさらに定義することができる。所定のマーカの配置における誤差に対するこの許容差により、注意深い測定を必要としないことから、ユーザは、マーカを相対的に迅速に配置することが可能となる。
【００９５】
ここで、図６に注意が向けられる。図６は、一部の実施形態に基づいて、一連のルックアップテーブルを示す。一部の実施形態において、一旦、物理空間の画像２３４が捕捉されると、それらは姿勢エスティメータ２２４（図２）によって処理されてもよい。特徴６０２のうちの１つまたは複数を表すデータは、特徴ＩＤ６０４および特徴姿勢情報６０６と関連付けられてもよい。一部の実施形態において、特徴姿勢情報は、特徴のサブセットに関して利用可能であるに過ぎない可能性がある。一部の実施形態において、唯一の部分特徴姿勢情報は、特徴のサブセットに関して利用可能であってもよい。他の実施形態において、完全な特徴姿勢情報は、特徴のすべてに関して利用可能であってもよい。さらに、画像６０８のうちの１つまたは複数を表すデータが、画像ＩＤ６１０および画像姿勢情報６１２と関連付けられてもよい。一部の実施形態において、モデルビルダ２２６（図２）が、特徴のサブセットを選択し、特徴のサブセットにおける各特徴に関して、モデルビルダ２２６は、姿勢データベース２３８からその特徴の姿勢６０６を識別し、意味情報データベース２４０から特徴と関連付けられる任意の意味情報４０６を識別し、図４Ｃに関して上述したように、モデルを定義する。３Ｄモデルレンダラ２２８（図２）は、モデルを取得し、定義されたモデルに基づいて３次元モデルをレンダリングする。モデルに挿入可能なアイテムを挿入するために、３Ｄモデルレンダラは、挿入可能なアイテムデータベース２４４に挿入可能なアイテムＩＤ６１４を検索し、そのＩＤと関連付けられるアイテム６１６をモデルに挿入してもよい。一部の実施形態において、挿入可能なアイテム６１６は、画像ファイル、ビデオファイル、ビデオストリーム、３Ｄ  ＣＡＤファイルまたは視覚的に表現されることができる他の格納ファイルである。他の実施形態において、プレースホルダアイテムは、挿入可能なアイテムデータベース（たとえば、一般的な椅子）に格納され、その結果、ユーザは、モデルに配置される特定のアイテムを特定することなく、アイテムのタイプを特定することができる。その後、ユーザは、多数の可能な特定のアイテム６１８から選択して、プレースホルダアイテムに置き換える（たとえば、ＣＡＤデータベース２４６から「椅子３」を取り上げる）というオプションを選択することができる。
【００９６】
この実施例において、一旦、姿勢が決定され、姿勢データベース２３８に格納されると、モデルビルダ２２６は、特徴１１２−Ｅの少なくとも１つを選択し、姿勢データベース２３８における姿勢情報を検索してもよい。モデルビルダ２２６が、椅子がその姿勢（すなわち、その位置および向き）においてモデルに挿入されることになっていることを表す特徴に関連付けられた意味情報を用いる。椅子の特定の３Ｄ  ＣＡＤモデルが、挿入可能なアイテムデータベース２４４に格納される場合には、３Ｄモデルレンダラ２２８はモデルに特定の３Ｄ  ＣＡＤモデルを挿入してもよい。椅子の特定の３Ｄ  ＣＡＤモデルが、挿入可能なアイテムデータベース２４４に格納されない場合には、３Ｄモデルレンダラ２２８は代わりに、モデルに椅子用のプレースホルダを挿入してもよく、これは、一般的な椅子の３Ｄ  ＣＡＤモデルであってもよく、または椅子が特徴１１２−Ｅの位置に配置されるべきであることを示す別の視覚的インジケータであってもよい。ユーザが、モデルによって提示されるとき、ユーザは、ＣＡＤデータベース２４６から椅子の特定の３Ｄ  ＣＡＤモデルを選択するか、または挿入可能なアイテムデータベース２４４に椅子の特定の３Ｄ  ＣＡＤモデルをアップロードするように促されてもよい。
【００９７】
アイテムはまた、モデルビルダ２２６によって挿入可能なアイテムデータベース２４４に格納されてもよい。一部の実施形態において、テクスチャが物理空間からサンプリングされ、モデルに配置されることになっていることを意味情報データベース２４０が表す場合には、モデルビルダ２２６（図４Ａ）は、画像２３４におけるテクスチャを識別し、挿入可能なアイテムデータベース２４４に格納する。３Ｄモデルレンダラ２２８は次に、挿入可能なアイテムデータベース２４４からテクスチャを取得し、それをモデルに挿入してもよい。たとえば、要素５０４が絵画である場合には、１つまたは複数の関連付けられる特徴の集合が、要素が矩形のオブジェクトであり、モデルビルダ２２６が、特徴の集合と関連付けられる矩形の要素を識別し、画像から要素のテクスチャをサンプリングするべきであることを表す、関連付け意味情報を有してもよい。これらのマーカまたは他のマーカと関連付けられる意味は、テクスチャがモデルにおいて特定の位置に挿入されることになっていることを表してもよい。モデルビルダ２２６は次に、テクスチャをサンプリングし、挿入可能なアイテムデータベース２４４にテクスチャを含む画像２３４−Ａの一部を格納してもよい。一部の実施形態において、３Ｄモデルレンダラ２２８（図４Ａ）は、モデルレンダリング命令データベース２４２におけるモデルレンダリング命令を用いて、モデルを構築し、次に、挿入可能なアイテムデータベース２４４にサンプリングされたテクスチャを含む画像ファイルを検索し、それを表された１つまたは複数の位置でモデルに挿入してもよい。これらの実施形態は例示に過ぎないことを理解されるべきであり、当業者は、上述した方法の明白な代替物を容易に認識するであろう。
【００９８】
ここで、図７に注意が向けられる。一部の実施形態に基づいて、意味情報データベース２４０に格納された意味情報が、１つまたは複数のクラスおよびサブクラスに分類される。各意味クラスおよびサブクラスは、一定の制約と関連付けられる。関連付け意味情報が含む特徴は、クラスまたはサブクラスがそれらの制約の対象であることである。意味情報の構造の実施形態を示す概略図が、図７において提供される。図７において、平面に関する意味情報構造の実施例が、記載される。この実施形態において、意味情報は、階層における各サブクラスが、属するクラスまたはサブクラスからの制約のすべてを継承するような階層構造を有する。他の実施形態において、サブクラスは、属するクラスの制約の一部のみを継承してもよい。制約のこのクラス継承の一実施形態が、図７に示されているが、この実施形態は例示に過ぎず、他のクラス継承構造が、例示の実施形態の代わりにまたは例示の実施形態と組み合わせて用いられてもよいことは理解されるべきである。
【００９９】
たとえば、モデルにおける要素が、関連付け意味情報「平面」７０２を有する特徴と関連付けられる場合には、モデルビルダは、クラス「平面」と関連付けられる制約のすべてを、たとえば、特徴が平坦な２次元の表面に位置しているという制約を、その特徴に適用してもよい。モデルビルダはまた、特徴の姿勢を表す情報を有してもよく、平面の姿勢を決定するために用いられることができる。一旦、平面の姿勢が決定されると、図４Ｃを参照して前述したように、モデルの種々の態様（たとえば、物理的パラメータ）を計算することができる。さらに、モデルの要素が、関連付け意味情報「壁」７０４を有する特徴と関連付けられる場合には、モデルビルダは、クラス「平面」と関連付けられる制約のすべてを特徴に適用してもよく、さらなる制約も適用してもよい。一部の実施形態において、これらの追加制約は、壁が垂直であることを含んでもよい。さらに、モデルの要素が、関連付け意味情報「壁１」７０６−Ａを有する第１の特徴と関連付けられる場合には、モデルビルダは、クラス「平面」およびサブクラス「壁」と関連付けられる制約のすべてを特徴に適用してもよく、さらなる制約も適用してもよい。一部の実施形態において、これらの追加制約は、第２の特徴もまた、関連付け意味情報「壁１」を有することを含み、その場合には、モデルビルダは、第１の特徴および第２の特徴の両方が、モデルにおける同一の壁と関連付けられるという制約を適用してもよい。さらに、一部の実施形態において、第２の特徴が、関連付け意味情報「壁２」を有してもよく、その場合には、モデルビルダは、第１の壁が、第２の壁とは異なる場合には、第１の特徴が第１の壁にあり、第２の特徴が第２の壁にあるという制約を適用してもよい。さらに、一部の実施形態において、サブクラス「天井」７０８は、マーカが上からサブクラス「壁」における平面と境界をなす実質的に水平の平面にあるという関連付け意味情報を含んでもよい。同様に、一部の実施形態において、サブクラス「床」７１０は、マーカが下からサブクラス「壁」における平面と境界をなす実質的に水平の平面にあるという関連付け意味情報を含んでもよい。
【０１００】
ここで、所定のマーカ１１２−１の特定の実施形態に注意が向けられる。図８Ａは、本発明による物理空間に配置されることができる所定のマーカ８０２の実施例を示す。一部の実施形態において、所定のマーカ１１２−１は、以下の特徴の一部またはすべてを満たす。マーカが、画像処理ソフトウェアによって画像２３４において容易に認識されること、マーカが視覚的に一意であること、マーカが大きな距離で一意に識別されることができること、マーカが誤差補正特性を含むこと、およびマーカが回転対称でないことである。バーコードおよびＱＲコードなどの公知のマーカの一部の種類は、これらの特性の少なくとも一部を満たす。マーカは、ユーザによって必要とされるものに応じて、さまざまな異なるサイズであってもよい。物理空間に関する詳細を捕捉するために用いられることが可能である拡大図の場合には、より小さなマーカが、物理空間の画像の中に完全に適合する確率が高い場合がある。物理空間のより大きな部分から要素を捕捉するために用いられることが可能である遠くから見た図の場合には、より大きなマーカが、目で見ることができ、カメラによって認識可能である確率が高い場合がある。一部の実施形態において、小さなマーカのみが用いられてもよく、他の実施形態において、より大きなマーカのみが用いられてもよく、さらに他の実施形態において、２つ以上のサイズのマーカが用いられてもよい。マーカのサイズ情報は、マーカデータベースに格納されてもよく、これにより、異なるサイズのマーカを含む画像において正確な姿勢推定を可能にする。
【０１０１】
一部の実施形態において、マーカは、ＡＲＴｏｏｌＫｉｔなどの画像処理ソフトウェア、または大域的な閾値を適用することによって、任意のカラー画像を黒および白に変換することによる他の類似のソフトウェアなどによって、識別される。一部の実施形態において、マーカの検出速度および精度を改善するために、精度が、時間および処理能力の効率的な使用よりはるかに重要である場合には、候補マーカの位置を決定するための第１の検出後、ＡＲＴｏｏｌＫｉｔなどの画像処理ソフトウェアを再び実行する前に、閾値選択技術が、各関心領域で用いられることができる。画像処理ソフトウェアは、各関心領域に関して２モードの強度ヒストグラムを作成してもよく、これにより、優れた精度でマーカの検出を可能にする。
【０１０２】
一部の実施形態において、所定のマーカ１１２−１は、マーカ間で一致する１つまたは複数の一様な要素を有してもよい。一部の実施形態において、これらの一様な要素は、マーカのある点に対する既知の位置を有し、同一線上にはない３つまたはそれ以上の点を提供する。マーカ８０２は、所定のマーカ１１２−１の一実施形態である。この実施形態において、マーカ８０２は、マーカの既知の点（たとえば、マーカの中心）に対する既知の位置を有し、同一線上にはないマーカの４点として機能する、角８０４−Ａ、８０４−Ｂ、８０４−Ｃおよび８０４−Ｄを有する。マーカ８０２の実施例の場合のように、マーカに３つまたはそれ以上の点（同一線上にはない）を有することは、モデルを定義する際に役立ち、物理空間の物理的パラメータに基づいてもよい追加情報を提供する。たとえば、平面は、３つの同一線上にはない点によって一意に決定されることができる。マーカが、既知の向きを有し、関連付け意味情報が、マーカが平面上に位置していることを表す場合には、平面の向きは、３つの既知の同一線上にはない点を含む１つのマーカを見ることによって決定されることができる。
「モデルを定義するユーザが実行する方法」
ここで、図８Ｂから図８Ｃに注意が向けられる。図８Ｂは、一部の実施形態に基づく所定のマーカを含むシートを示すブロック図である。本発明の一部の実施形態によれば、複数の所定の物理的マーカが、作成される。これらの所定のマーカは、物理空間に配置されるように構成されてもよい。これらのマーカの少なくとも一部が、関連付け意味情報を有する。ユーザは、マーカの少なくとも一部を提供され、マーカの一部における第１のマーカは、第１のマーカと関連付けられた意味情報を表す関連付けられるラベルを有する。マーカは、マーカのうちの１つまたは複数を含む画像を分析することによって、モデルを定義するアプリケーションプログラムと共に用いられるように構成される。一部の実施形態において、アプリケーションプログラムは、図２に対して前述した方法に基づいて動作する。一部の実施形態において、意味情報は、モデル態様と、複数の所定のマーカと関連付けられた意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義される。
【０１０３】
一部が関連付け意味情報を有する所定のマーカ（たとえば、図１Ａの１１２−１）を備えるユーザは、物理空間（たとえば、図１Ａの１１０）において物理的要素と所定のマーカ１１２−１を関連付けてもよい。一部の実施形態において、所定のマーカ１１２−１は、所定のマーカ１１２−１を物理的要素に添付することによって物理的オブジェクトと関連付けられる。添付方法は、永久、半永久または一時的であってもよい。一部の実施形態において、ユーザは、物理空間において位置決めされるマーカによって、物理空間の画像を収集することができる。ユーザは次に、画像２３４からの情報に基づいて、モデルを定義するためにアプリケーションプログラムを用いることができ、任意に３次元仮想モデルなどのモデル（たとえば、図１Ａの１２０）をレンダリングすることができる。一部の実施形態において、ユーザは、ユーザ・インターフェイス・モジュール（たとえば、図２の２２１）への入力を提供することによって、モデルを構築する中間段階で介入することができる。ユーザによる介入は、たとえば、種々の特徴と意味情報を関連付けることによって、情報を追加するためであってもよい。ユーザによる介入はまた、たとえば、３Ｄモデルレンダラに一定の画像または特徴を無視するように命令することによって、あるいは１つまたは複数の特徴の姿勢が不十分に推定されるような、３Ｄモデルレンダラにおける誤差を補正するためであってもよい。
【０１０４】
一部の実施形態において、ユーザが、１つまたは複数のページ８１２を含む本８１０における１つまたは複数の所定のマーカ１１２−１を提示される。一部の実施形態において、所定のマーカ１１２−１は、接着剤付きの裏当てを有する。ユーザに提示される所定のマーカ１１２−１は、関連付け意味情報に基づいてグループ化され、関連付け意味情報を表すシンボルでラベル付けされる。関連付け意味情報に基づくマーカのグループ化は、ユーザが適切な関連付け意味情報を有するマーカを迅速に位置決めすることを可能にする。たとえば、マーカのページ８１２において、マーカが、３つのグループ、「壁１マーカ」８１４、「壁２マーカ」８１６および「赤いマーカ」８１８に体系化されてもよい。一部の実施形態において、グループ「壁１マーカ」８１４における所定のマーカ１１２−１は、それらがすべて、実質的に垂直である同一の平坦な平面上に位置決めされることを表す関連付け意味情報を有してもよく、グループ「壁２マーカ」８１６における所定のマーカ１１２−１は、それらがすべて、実質的に垂直であり、グループ「壁１マーカ」８１４からの任意のマーカを含む表面とは異なる同一の平坦な平面上に位置決めされることを表す関連付け意味情報を有してもよい。一部の実施形態において、グループ「赤いマーカ」８１８における所定のマーカ１１２−１は、モデルにおいてこれらのマーカの１つと関連付けられるオブジェクトが赤色であることを示す関連付け意味情報を有する。一部の実施形態において、この色は、マーカと関連付けられる物理的オブジェクトの色に対応してもよく、そのマーカを示す画像をサンプリングすることによって決定されてもよく、他の実施形態において、この色は、マーカと関連付けられる物理的オブジェクトの色に対応しないユーザによって選択された色であってもよい。一実施形態において、色を示す色サンプルは、ページ上に印刷され、グループと関連付けられてもよい。
【０１０５】
一部の実施形態において、他のマーカは、関連付け意味情報の表示と共にユーザに提示される。これらの表示は、グラフィカル表示であってもよい。これらのグラフィカル表示は、テキストを含んでもよい。図８Ｃは、関連付け意味情報のグラフィカル表示を有する一部の所定のマーカ１１２−１の実施例を示す。単語を含むかどうかに関係なく、矢印および他のグラフィカルシンボルが、ユーザに所定のマーカ１１２−１と関連付けられる意味情報を示すために、所定のマーカ１１２−１を含むページ上に印刷されてもよいが、グラフィカルシンボルは、所定のマーカ１１２−１の一部であってもよく、または一部でなくてもよい。たとえば、線マーカ８２０は、線が所定のマーカ１１２−１の近傍に位置して、所定のマーカ１１２−１の１つのエッジに実質的に平行であることを表す関連付け意味情報を含んでもよい。ユーザが線を表すためにマーカを適切に用いるためには、ユーザは、線に対する所定のマーカ１１２−１の適切な位置および向きを知っていなければならない。一実施形態において、線マーカ８２０に含まれるグラフィカルシンボルは、拡張された記述を必要とすることなく、明確にこの情報を伝える。同様に、角マーカ８２２は、マーカのどの角が、角マーカ８２２によって表されることになっている角の付近に配置されなければならないかを識別するために、他のシンボルを用いてもよい。別の角マーカ８２４もまた、所定のマーカ１１２−１のどの角が、角マーカ８２４によって表されることになっている角の付近に配置されなければならないかを識別するために、別のシンボルを用いてもよい。一部の実施形態において、テクスチャまたは色サンプルマーカ８２６が、そのテクスチャおよび／または色に関してサンプリングされる領域のサイズおよび位置を表す。一部の実施形態において、所定のマーカ１１２−１は、ユーザの指示によって物理空間に配置される前に、グラフィカルシンボルから分離されてもよく、他の実施形態において、グラフィカルシンボルを含むマーカが、物理空間に配置されてもよい。物理空間にグラフィカルシンボルを含むマーカを共に配置することは、ユーザにマーカをさらに正確に配置するように案内するのに役立つ可能性があるという利点がある。しかし、場合によっては、グラフィカルシンボルは、物理空間の重要な態様を不明瞭にする可能性があり、したがって、ユーザは、グラフィカルシンボルから所定のマーカ１１２−１を分離し、物理空間に所定のマーカ１１２−１のみを配置してもよい。
【０１０６】
所定のマーカ１１２−１と意味情報を関連付ける別の方法もまた、検討される。たとえば、マーカは、所定のマーカ１１２−１を生成することが可能な電子デバイスに格納されることが可能である。ユーザは次に、電子デバイスに必要な意味情報の表示を提供することが可能であり、一部の実施形態に基づいて、本願明細書に記載したように、物理空間１１０の画像の少なくとも一部に基づき、モデルを定義する際に用いるために、１つまたは複数の所定のマーカを生成して、意味情報データベース２４０におけるマーカを表す情報と共に、ユーザが表した意味情報を格納することが可能である。
「動的指定マーカ」
一部の実施形態において、モデルの態様は、前述したように、静的態様に制限される。他の実施形態において、モデルの態様は、静的態様および動的態様の両方を含んでもよい。一実施形態において、モデルを定義するコンピュータ実行方法は、静的構成における物理空間（たとえば、図１Ａの１１０）の図９の１つまたは複数の画像２３４を分析することを含む。画像の少なくとも１つは、１つまたは複数の区別可能な視覚特徴（たとえば、図１Ａの１１２）を含む。一部の実施形態において、意味情報は、区別可能な視覚特徴と関連付けられ、モデルは、関連付け意味情報に基づいて定義される。定義されたモデルは、区別可能な視覚特徴の１つまたは複数と関連付けられる少なくとも１つのモデルの態様を含み、モデルの態様は、区別可能な視覚特徴の１つまたは複数と関連付けられる意味情報に基づいて、動的挙動を可能にする。一部の実施形態は、ＯＤＥ、Ｎｅｗｔｏｎ、ＰｈｙｓＸなどのアニメーションのスクリプト記述の提供する、および／または、動的物理モデラを使用する表示アプリケーションにおいて、動的挙動をレンダリングするステップを任意に含む。動的態様を含むモデルにおいて、モデルは、モデルにおける２つまたはそれ以上のオブジェクトの間の関係を定義する連携を含んでもよい。第１のオブジェクトと第２のオブジェクトとの間の連携（たとえば、扉と壁との間の蝶番）は、第１のオブジェクトまたは第２のオブジェクトまたはその両方の位置において制約を課してもよい（たとえば、扉は、扉と壁との間の蝶番を中心として回転するだけであってもよい）。以下にさらに詳細に記載するように、動的態様は、連携の制約、動きの特徴、材料特徴、動的要素の挿入およびモデル環境の動的態様を含んでもよい。
【０１０７】
ここで、上述した方法を実行する計算デバイス９００の一実施形態を示す図９に注意が向けられる。計算デバイス９００の要素の多くは、計算デバイス２００および図２を参照してさらに詳細に前述される。一部の実施形態において、計算デバイス９００は、メモリ９０６が任意に、ＣＰＵ２０２から遠隔位置にある大容量格納装置を含んでもよいことを含む。メモリ９０６またはあるいはメモリ９０６内の不揮発性メモリデバイスは、コンピュータ読み出し可能記憶媒体を含む。メモリ９０６は、以下の要素またはこれらの要素のサブセットを格納し、以下の追加要素もまた含んでもよい。
【０１０８】
・連携の制約、動きの特徴、材料特徴、動的要素の挿入およびモデル環境の動的態様などの、仮想モデルの動的態様をモデル化するための手順を含む、動的態様モデラ９０２、
・動的３次元モデルの動的挙動および動的態様に少なくとも部分的に基づくモデルにおけるオブジェクトを決定するための手順を含む、モデル表示アプリケーション９０４（ＯＤＥ、Ｎｅｗｔｏｎ、ＰｈｙｓＸまたは他の剛体物理モデラなど）または他の動的モデラ（ＶＲＭＬアニメーションを支援するＶＲＭＬブラウザなど）。一部の実施形態において、モデル表示アプリケーションは、Ｏｐｅｎ  Ｄｙｎａｍｉｃｓ  Ｅｎｇｉｎｅなどの剛体物理エンジンであってもよい。（Ｏｐｅｎ  Ｄｙｎａｍｉｃｓ  Ｅｎｇｉｎｅは、剛体動性をシミュレートするためのオープンソースの高性能ライブラリである。高度連携タイプを有し、摩擦による統合衝突検出を有する。）一部の実施形態において、動的挙動は、ユーザがモデルにおけるオブジェクトと相互作用することにより入力を提供するとき、モデルの適切な応答を表す情報である。一部の実施形態において、動的態様の挙動は、非物理的であり、物理的モデル化は、必要とされない。たとえば、モデルは、ユーザが扉を単にクリックする場合に、開閉の間で扉が切り替わるスクリプト記述された挙動を有してもよい。あるいは、扉は、サイズ、密度および摩擦および壁との蝶番連携を含む動的態様を有してもよい。これにより、ユーザが「仮想的に」扉を押すことによって扉と相互作用するときに、モデル表示アプリケーションは、扉の挙動をシミュレートすることが可能である。この実施例において、扉を開けるユーザを表す入力がある場合には、扉が回転されてもよく、回転速度は、扉のサイズ、密度および摩擦と共に、ユーザが扉を押す力を表す入力によって決定されてもよい。
【０１０９】
・図２における要素に対応し、図２を参照して本願明細書にさらに詳細に記載される図９に示される追加要素。
【０１１０】
ここで、少なくとも一部の動的態様を含むモデルを定義するための一部の実施形態による方法の記述に対して注意が向けられる。図１０は、そのような態様を定義するための方法の一実施形態を示すフローチャートである。一部の実施形態において、静的構成における空間の１つまたは複数の画像２３４が、分析され（１０１０）。画像の少なくとも１つが、１つまたは複数の区別可能な視覚特徴を含む。一部の実施形態において、意味情報は、区別可能な視覚特徴の少なくとも１つと関連付けられる（１０１２）。一部の実施形態において、区別可能な視覚特徴は、所定のマーカである（１０１４）。一部の実施形態において、１つまたは複数のマーカと関連付けられる意味情報は、識別される（１０１６）。一部の実施形態において、意味情報は、モデルの静的特徴態様（１０２２）またはモデルに挿入されることになっている構成要素（１０２４）などの、モデルの１つまたは複数の静的態様を表してもよい。モデルの静的態様を表す意味情報は、図３Ａから図３Ｂを参照してさらに詳細に上述される。一部の実施形態において、意味情報は、モデルの幾何的特徴（１０１８）、モデルの非幾何的特徴（１０２０）、連携制約（１０２６）、動き特徴（１０２８）、材料特徴（１０３０）、動的要素の挿入（１０３２）またはモデル環境の動的態様（１０３４）などの、モデルの１つまたは複数の動的態様を表してもよい。一部の実施形態において、動的態様は、物理空間の対応する動的態様を表している。一部の実施形態において、動的態様は、物理空間の任意の対応する動的態様を表していないが、仮想モデルの所望の動的態様を表してもよい。
【０１１１】
一部の実施形態において、連携制約を表す意味情報は、モデルにおける少なくとも第１のオブジェクトと第２のオブジェクトとの間の動的関係を表す。一部の実施形態において、関係は、第１のオブジェクトの移動の範囲が、第２のオブジェクトの位置に対して制約が課せられるものであってもよい。一部の実施形態において、連携制約マーカの１つのタイプのみが用いられる。他の実施形態において、連携制約マーカの複数のタイプが、第１のオブジェクトと第２のオブジェクトとの間の動的関係を表すために用いられる。一部の実施形態において、連携制約（１０２６）は、以下を含んでもよい。
【０１１２】
・連携位置または連携の位置を表すアンカ。たとえば、マーカは、連携が、マーカの姿勢に対する位置でモデルに位置決めされることになっていることを表してもよい。
【０１１３】
・連携タイプ（１０３６）。第１のオブジェクトが、第２のオブジェクトに対して固定されること、第１のオブジェクトが、第２のオブジェクトとは分離可能であること、または第２のオブジェクトに対する第１のオブジェクトの移動範囲が、軸を中心とした回転、所定の方向における摺動、または所定の経路に沿った摺動に限定されることを表す。
【０１１４】
・連携軸（１０３８）。第１のオブジェクトがその周りに回転することができる軸を表す。一部の実施形態において、軸は、座標系の軸と自動的に整合されてもよい。たとえば、ｚ軸が床に垂直であるように座標系が定義される場合には、扉の蝶番である連携軸を表すマーカは、ｚ軸に平行であるように自動的に整合されてもよい（たとえば、連携は、「垂直にスナップしてもよい（ｓｎａｐ  ｔｏ  ｖｅｒｔｉｃａｌ）」。
【０１１５】
・連携停止（１０４０）。回転移動に関する最大進行角または摺動移動に関する最大進行直線距離などの物理的な移動範囲を表す。たとえば、連携停止マーカは、壁における扉が、壁と平行な位置から９０°を超えて進まなくてもよいことを示してもよい。別の実施例において、連携停止マーカは、キャビネットの引き出しが、一定の距離より長くキャビネットから引っ張り出されなくてもよいことを示してもよい。一部の実施形態において、距離は予め決定されてもよく、他の実施形態において、距離は、キャビネットの深さに基づいて自動的に計算されてもよい。
【０１１６】
一部の実施形態において、動き特徴を表す意味情報（１０２８）は、第１のオブジェクトの動きに関する情報を表す。一部の実施形態において、動きは、所定の座標系に対してである。他の実施形態において、動きは、モデルにおける第２のオブジェクトに対してである。一部の実施形態において、動き特徴は、第２のオブジェクトに対する第１のオブジェクトの動きが、特定の性質、たとえば、回転運動（たとえば、モータ）、往復運動（たとえば、ピストン）または直線運動（たとえば、コンベヤベルトの上面図）を有することを示してもよい動きタイプ（１０４２）を含む。一部の実施形態において、動き特徴は、速度（１０４４）を含み、オブジェクトまたはオブジェクトの一部が、モデルにおける他のオブジェクトに対して移動する速度を表してもよい。一部の実施形態において、速度は、１つの所定のマーカによって表される。他の実施形態において、速度は、２つのマーカによって表され、マーカ間の距離は、所定の時間量におけるオブジェクトによって進行される距離を表す。たとえば、１ｍ離隔して配置される２つのマーカは、関連付けられるオブジェクトが１秒当たり１ｍ移動することを表してもよく、２ｍ離隔して配置される２つのマーカは、関連付けられるオブジェクトが１秒当たり２ｍ移動することを表してもよい。一部の実施形態において、動き特徴は、第１のオブジェクトが移動中である方向を表してもよい動き方向（１０４６）を含む。一部の実施形態において、１つのマーカが方向を表してもよく（たとえば、動きの方向が、動き方向マーカの姿勢に対して定義されてもよい）、他の実施形態において、２つ以上のマーカが、動きの方向を表すために用いられてもよい（たとえば、動きの方向は、直線における第２のマーカの位置まで第１のマーカを移動するために必要とされるように、動きの方向によって表されてもよい）。これらのマーカは、たとえば、コンベヤベルトの速度、モータの所望の速度またはモータの最大速度を表すために用いられることができる。マーカは、線に沿ってまたはホイール上に配置されることができる。複数の速度が、このように複数のマーカによって表されることが可能であり、モデルにおける制御部は、ユーザがこれらの速度の１つを選択することを可能にする。
【０１１７】
一部の実施形態において、材料特徴を表す意味情報（１０３０）は、モデルにおけるオブジェクトの材料の特徴を示す。一部の実施形態において、第１のマーカによって表されるオブジェクトの一定のタイプは、デフォルトの材料特徴（たとえば、デフォルトの扉は、木から形成されてもよい）を有してもよく、第２のマーカが、オブジェクトに関する関連付け追加意味情報を有してもよく、追加意味情報は、デフォルトの材料特徴の少なくとも一部とは異なり、それを無効にする材料特徴を含むオブジェクトの別の材料特徴を含む（たとえば、マーカは、扉がデフォルトの木ではなく、金属から形成されることを表してもよい）。一部の実施形態において、材料特徴は、材料密度、摩擦および反発力を表す材料タイプマーカ（１０４８）を含んでもよい。一部の実施形態において、材料密度（１０５０）、材料摩擦（１０５２）および材料反発係数（すなわち、反発力パラメータ）が、個別のマーカによって表されてもよい。一部の実施形態において、マーカは、多数の特定の材料特徴が、少数の特定のマーカによって表される材料特徴を無効にすることを表す。たとえば、オブジェクトは、オブジェクトが扉である（デフォルト材料タイプ：木、デフォルト材料密度：中実）ことを示すマーカ、オブジェクトの材料タイプが金属である（デフォルト材料密度：中実）ことを示すマーカ、およびオブジェクトが中空であることを示すマーカを有してもよい。この実施例において、モデルビルダ２２６、３Ｄモデルレンダラ２２８、動的態様モデラ９０２およびモデル表示アプリケーション９０４（図９）は、オブジェクトを中空の金属の扉として識別する。他の実施形態において、より一般的なマーカは、より特定のマーカを無効にする可能性がある。この実施形態において、モデルビルダ２２６、３Ｄモデルレンダラ２２８、動的態様モデラ９０２およびモデル表示アプリケーション９０４（図９）は、オブジェクトを木製の扉として識別する。他の実施形態において、マーカは、その関連付け意味情報が、他のマーカと関連付けられる任意の矛盾する意味情報を無効にすることを表す関連付け意味情報を有してもよい。一部の実施形態において、サンプリングされたテクスチャなどの静的態様もまた、図３Ａを参照して前述したように、モデルにおけるオブジェクトと関連付けられてもよい。
【０１１８】
一部の実施形態において、動的要素の挿入を表す意味情報（１０３２）は、動的態様を有する要素が、関連付け意味情報を有するマーカに対して特定の姿勢に挿入されることになっていることを表してもよい。一部の実施形態において、動的要素は、制御部である。たとえば、マーカは、制御部が、特定の位置でモデルに挿入される必要があり、制御部は、ボタン、スイッチ、ハンドルまたはスライダまたは他の制御部であってもよいことを表してもよい。制御部（たとえば、スイッチ）は、物理空間における制御部（たとえば、部屋における照明スイッチ）でモデル化されてもよく、または制御部が物理空間に存在しない場合には、モデルに制御部を挿入するための位置を示唆してもよい。一部の制御部は、モデルにおける照明の状態を変更する照明スイッチなどの結果として生じるモデルにおける所定の意味を有してもよい。制御部がユーザによる選択を可能にする考えられる設定は、上記されたように決定されるコンベヤに関する可能な速度などのマーカ意味から生じてもよい。一部の実施形態において、制御部は、モデルがレンダリングされた後、ユーザによって意味と関連付けられてもよい。一部の実施形態において、一部の制御部は、所定の意味を有しなくてもよいが、モデルビルダ２２６によって自動的に割り当てられる意味であってもよい（図２）。制御部は、その近接性に基づいて、他の動的要素に意味を自動的に割り当てられてもよく、たとえば、一部の実施形態において、扉における一般的な制御部の挿入を表すマーカは、「ハンドル」の意味に自動的に割り当てられてもよく、ユーザによって選択されるときには、扉の開閉をしてもよい。一部の実施形態において、制御部は、エンドユーザが、モデル内の色、テクスチャまたは照明を変更するために、モデルと相互作用することを可能にしてもよい。一部の実施形態において、動的要素は、モータ、コンベヤベルト、滑車、ばね、ホイール、振り子および関節式連携部（たとえば、ロボットアーム）であってもよい。これらの要素の態様のすべてまたは一部は、予め定義されてもよく、またはユーザによって定義されてもよい。一部の実施形態において、要素の態様は、要素と関連付けられるマーカを用いて定義される。
【０１１９】
一部の実施形態において、意味情報は、モデル環境の一定の態様を変更することができるように、モデル環境の動的態様（１０３４）を表す。一部の実施形態において、モデル環境の動的態様は、モデルの照明を含んでもよく、照明の光源、方向、強度または色を表してもよい。たとえば、一実施形態において、マーカは、モデルにおける光源が、モデルにおける窓を通じてモデルに入る太陽光であることを表すことが可能であり、一部の実施形態において、モデル環境の動的態様は、この光の方向および強度が一日の時間と共に変化してもよい。一実施形態において、マーカは、光源が、天井の中心にある照明器具であることを表すことが可能であり、一部の実施形態において、モデル環境の動的態様は、照明の強度が仮想制御によって変更されることができることであってもよい（たとえば、照明は、オン、オフまたは減光のいずれであってもよい）。他の実施形態において、モデル環境の動的態様は、重力などのモデル環境の態様を含んでもよい（たとえば、マーカは、重力の方向および／または強度を表してもよい）。
【０１２０】
一部の実施形態において、１つまたは複数のマーカの姿勢は、上述したように決定される（１０５４）。姿勢を決定するための例示の方法は、図３Ａから図３Ｂを参照してさらに詳細に上述される。一部の実施形態において、所定のマーカおよび／または他の区別可能な視覚特徴の追加姿勢は、姿勢エスティメータ２２４（図９）によって決定されてもよい。一部の実施形態において、物理空間における区別可能な視覚特徴の姿勢は、モデルにおける区別可能な視覚特徴の姿勢を表す。モデルにおける、第１の所定のマーカと関連付けられるオブジェクトの配置は、第１の所定のマーカの姿勢に基づいて決定されてもよい（１０５６）。図９を参照して上述したように、一部の実施形態において、動的態様は、動的態様モデラ９０２（図９）によってモデル化されてもよい。
【０１２１】
一部の実施形態において、モデルの静的態様はまた、１つの特徴の姿勢および関連付け意味情報に少なくとも部分的に基づいて定義される。モデルの静的態様を定義するための例示の方法は、図３Ａから図３Ｂおよび図４Ａから図４Ｃを参照してさらに詳細に上述される。一部の実施形態において、モデルは、関連付け意味情報に基づいて定義され（１０５８）、モデルは、区別可能な視覚特徴の１つまたは複数と関連付けられる少なくとも１つのモデルの態様を含む。一部の実施形態において、モデルの動的挙動は、区別可能な視覚特徴の少なくとも１つと関連付けられる意味情報に基づいて決定される（１０６０）。定義されたモデルは、任意の適切なレンダリング技術を用いてレンダリングされてもよい（１０６２）。一部の実施形態において、定義されたモデルの１つまたは複数の動的態様の動的挙動は、（剛体物理モデラーなどの）モデル表示アプリケーションを用いてレンダリングされる（１０６４）。一部の実施形態において、定義されたモデルは、一般化された関節式モデルである。一般化された関節式モデルは、連携部によって接続される剛体を含む物理エンジンによって用いられるタイプのモデルであってもよく、連携部に取り付けられるコンベヤベルトおよびモータのほか、材料、色、テクスチャおよび照明などの一部の修正可能な非幾何的特徴を含む。一実施形態において、このモデルは、静的態様および動的態様の両方を含む定義されたモデルに基づいて、レンダリングされる。他の実施形態において、図３Ａを参照してさらに詳細に上述されたように、モデルは、静的態様に基づいて構成される。
【０１２２】
ここで、図１１に注意が向けられ、図１１は、モデルの所望の動的態様を表すために、物理空間にマーカを配置する異なる方法を示す。図１１は、物理空間に配置される区別可能な視覚特徴１１２の例示の実施例を提供する。図１１において、複数の区別可能な視覚特徴１１２−Ｍから１１２−Ｘが、図１１に示されるような部屋の角などの物理空間１１００に配置される。一部の実施形態において、これらの区別可能な視覚特徴１１２の１つまたは複数は、所定のマーカである。所定のマーカは、ユーザによって物理空間１１００において種々の物理的要素と関連付けられてもよい。これらの物理的要素は、物理空間１１００における物理的オブジェクトまたは他の特徴であってもよい。所定のマーカは、物理空間の実際の態様に関する情報を表すために用いられてもよく、またはモデルの所望の態様を表すために用いられてもよい。図１１における物理空間１１００のブロック図において、物理空間は、第１の壁１１０２と、第１の壁１１０２に連結されるが、第１の壁１１０２とは異なり、窓またはディスプレイまたはポスタまたは他の要素または壁１１０２における特定の関心領域であってもよい要素１１０４と、第２の壁１１０６、オブジェクト１１０８、扉１１１０を含む。ユーザは、物理空間１１００に含まれる１つまたは複数の要素と１つまたは複数の所定のマーカを関連付けてもよい。たとえば、ユーザは、第１の壁１１０２と１つまたは複数のマーカ１１２−Ｍ、１１２−Ｎを関連付けてもよい。ユーザはまた、窓、ディスプレイ、ポスタ、または壁１１０２とは異なる他の要素であってもよい要素１１０４とマーカ１１２−Ｏを関連付けてもよい。ユーザはまた、第１の壁１１０２とは異なる第２の壁１１０６とマーカ１１２−Ｐを関連付けてもよい。マーカ１１２−Ｑでない１つまたは複数の追加の区別可能な視覚特徴が、識別されてもよく、物理空間１１００の物理的パラメータの決定または物理空間の少なくとも一部に基づくモデルの定義を助けるために用いられてもよい。さらに、一部の実施形態において、物理空間の要素の１つまたは複数は、動的態様を有してもよい。たとえば、一実施形態において、１つまたは複数のマーカ１１２−Ｒは、動的要素（たとえば、照明のスイッチ）がマーカの姿勢に対して特定の位置でモデルに挿入されることになっていることを表してもよい。さらに、一部の実施形態において、オブジェクト１１０８などの他の動的要素は、たとえば、１つまたは複数のマーカ１１２−Ｓおよび１１２−Ｔと関連付けられてもよい。一部の実施形態において、扉１１１０は動的態様であってもよく、その動的性質は、１つまたは複数の関連付けられるマーカ１１２−Ｕ、１１２−Ｖ，１１２−Ｗおよび１１２−Ｘによって表されてもよい。物理空間１１００は、本願明細書に記載されていない他の要素を含んでもよく、それらの要素は、所定のマーカに関連付けられてもよく、または関連付けられなくてもよいことは理解されるべきである。したがって、モデルの動的態様である扉そのものに加えて、扉の動き特性、材料特徴および連携制約（追加マーカによって表されてもよい）もまた、モデルの動的態様であってもよい。
【０１２３】
たとえば、一実施形態において、マーカ１１２−Ｒは、仮想モデルに挿入されることになっている制御部を表してもよい。一部の実施形態において、この制御部は、物理空間に存在する制御部（たとえば、照明スイッチが、物理空間における照明スイッチの位置に対応する位置に配置されるモデルに挿入されることになっていることを表すマーカ）を表してもよい。他の実施形態において、制御部は、異なるタイプの制御部（たとえば、スイッチの代わりにボタンまたはダイアル）であってもよく、または物理空間において制御部がない位置に制御部を挿入してもよい。たとえば、物理空間１１００において、照明スイッチが第１の壁１１２０に位置しているとしても、照明スイッチを挿入するマーカ（たとえば、１１２−Ｒ）は、第１の壁１１０２上ではなく、第２の壁１１０６上に配置されてもよい。この実施例において、この物理空間１１００の画像を分析することによって作成されたモデルは、第１の壁１１０２上ではなく第２の壁１１０６上のスイッチを有する。一実施形態において、制御部挿入マーカ１１２−Ｒと関連付けられるモデルの動的態様は、要素が照明スイッチであってもよい。この実施形態において、一旦、モデルがレンダリングされると、モデルにおけるこの要素のユーザ選択は、仮想モデルにおいて照明をオフにすることであってもよい。
【０１２４】
一実施例として、１つまたは複数のマーカ１１２−Ｓおよび１１２−Ｔは、動的態様を有するモデルにおけるオブジェクト１１０８を表してもよい。一実施形態において、オブジェクト１１０８は、キャビネットであってもよく、オブジェクトと関連付けられる第１のマーカ１１２−Ｔは、オブジェクト１１０８がキャビネットであることを表してもよく、オブジェクト１１０８のデフォルトの材料特徴（たとえば、材料タイプ：木、材料密度：中実および／または材料摩擦係数＝１）を表してもよい。一部の実施形態において、オブジェクト１１０８と関連付けられる第２のマーカ１１２−Ｓは、オブジェクトに関する追加態様を表してもよい。一部の実施形態において、これらの追加特徴は、材料特徴（たとえば、材料タイプ：金属、材料密度：中空および／または材料摩擦係数＝２）を含んでもよい。他の実施形態において、第２のマーカ１１２−Ｓは、オブジェクト１１０８が関連付けられる連携タイプを有することを表してもよい。この実施形態において、連携タイプは、オブジェクト１１０８が摺動連携部を有する摺動可能な要素１１０９（たとえば、引き出し）を有することであってもよい。関連付けられる動き特性は、摺動可能な要素１１０９が所定の経路に沿って摺動可能であることを表してもよい。一実施形態において、所定の経路は、オブジェクト１１０８の面に垂直である。一部の実施形態において、第２のマーカ１１２−Ｓはまた、連携停止を表し、これらの連携停止は、動きの物理的な範囲を含んでもよく、物理的な範囲は、回転移動に関する最大進行角または摺動移動に関する最大進行直線距離を含む。キャビネットにおける引き出しの実施例において、連携停止は、摺動可能な要素１１０９（たとえば、キャビネットにおける引き出し）が、オブジェクト１１０８の深さ（たとえば、キャビネットの深さ）に等しい最大進行直線距離を有することを表してもよい。
【０１２５】
一実施形態において、１つまたは複数のマーカ１１２−Ｕ、１１２−Ｖ、１１２−Ｗおよび１１２−Ｘは、モデルの動的態様である扉１１１０を表してもよい。一部の実施形態において、１つまたは複数のマーカ１１２−Ｕ、１１２−Ｖ、１１２−Ｗおよび１１２−Ｘによって表される扉の動的挙動は、物理空間における扉の動的挙動と一致してもよく、他の実施形態において、１つまたは複数のマーカ１１２−Ｕ、１１２−Ｖ、１１２−Ｗおよび１１２−Ｘによって表される扉の動的挙動は、物理空間における扉の動的挙動と一致しないモデルにおける扉の所望の動的挙動であってもよい。一部の実施形態において、１つまたは複数のマーカは、物理空間において対応する位置に扉がない特定の位置で扉がモデルに位置決めされるべきであることを表してもよい。一部の実施形態において、マーカ１１２−Ｗは、オブジェクトが扉１１１０であることを表してもよく、扉１１１０が動的挙動を有することを表してもよい。たとえば、動的挙動は、扉が壁１１０６との連携部を有することを含んでもよい。扉が物理空間における扉に対応する実施形態において、物理空間における扉が物理空間の１つまたは複数の画像において部分的に開いている場合には、画像処理ソフトウェアは、扉のどのエッジが蝶着されているか、扉が内または外にスイングするかどうかを識別するために用いられてもよく、扉が、物理空間の画像において閉じられている場合には、マーカは、この情報を表すために扉上または扉付近に配置される必要がある可能性がある。一実施形態において、マーカ１１２−Ｘは、扉が物理空間１１００の中にスイングする場合には、壁と扉との間の連携部が回転連携部であることを表してもよい。別の実施形態において、壁１１０６の上のマーカ１１２−Ｕおよび１１２−Ｖは、扉１１１０が壁との回転連携部を有することを表してもよい。さらに、一部の実施形態において、壁の上のマーカ１１２−Ｕおよび１１２−Ｖまたは扉の上のマーカ１１２−Ｗおよび１１２−Ｘは、連携軸を表してもよい。前述したように、一部の実施形態において、連携軸は、垂直にスナップしてもよい。一部の実施形態において、連携停止は、マーカ（たとえば、１１２−Ｕ）によって表されてもよく、他の実施形態において、モデルビルダ２２０４（図９）または別のアプリケーションが、扉が取り付けられる壁１１０６および別の壁（たとえば、１１０２）または貫通することができないオブジェクト（たとえば、１１０８）を認識することによって、扉の蝶番用の連携停止を自動的に決定することが可能であってもよい。
【０１２６】
さらに、一部の実施形態において、扉１１１０と関連付けられるマーカ１１２−Ｗの１つは、扉の動き特性（たとえば、常に回転する扉である）などのモデルの追加動的態様を表してもよい。一部の実施形態において、マーカの第１のマーカは、オブジェクトを表してもよく、第１の意味情報は、デフォルトの動的態様を含み、マーカの第２のマーカは、オブジェクトに関する第２の関連付け意味情報を有してもよく、デフォルトの動的態様の少なくとも一部とは異なり、デフォルトの動的態様の少なくとも一部を無効にする、第２の動的態様を含むオブジェクトの別の動的態様を含んでもよい。たとえば、物理空間１１００において、扉１１１０と関連付けられる第１のマーカ１１２−Ｘは、オブジェクトが扉であることを表してもよく、扉１１１０のデフォルトの動的態様を含む関連付け意味情報を含んでもよい。これらのデフォルトの動的態様は、扉が、垂直軸によって扉の右側に壁との回転連携部を有すること、および扉が木の材料特徴を有することを含んでもよい。一部の実施形態において、第２のマーカ１１２−Ｗが、扉１１１０と関連付けられてもよく、扉に関する別の動的態様を表してもよい。たとえば、別の動的態様は、扉が壁との摺動連携部を有し、ガラスから形成されることを表してもよい。一部の実施形態において、別の動的態様は、デフォルトの動的態様の少なくとも一部を無効にする。
【０１２７】
図９から図１１に関して前述した実施形態の１つの利点は、モデルの動的態様が、静的構造における物理空間の画像から決定されることができることである。言い換えれば、一部の実施形態において、モデルの動的態様は、何も移動しなかった物理空間の画像の集合から決定されることができる。たとえば、扉が蝶番によって壁に取り付けられ、部屋の中にスイングするが、壁から９０°で停止することを示す関連付け意味情報をマーカが有する場合には、１つまたは複数の所定のマーカは、物理空間における扉と関連付けられることができる。静的シーンの画像の集合において、これらのマーカおよび関連付け意味情報を識別することによって、動的モデルが作成されることができる。モデルの動的態様を決定する前述の内容は例示に過ぎないこと、および当業者は、本願明細書に記載される動的態様が、本願明細書に記載される技術または当技術分野では周知の他の技術の任意の組み合わせを用いて、決定されることが可能であることを認識するであろうことは、理解されるべきである。
【０１２８】
前述の内容は、説明の目的のためであり、特定の実施形態を参照して記載した。しかし、上記の例示の説明は、開示された正確な形態に本発明を網羅するため、または限定することを意図していない。上記の教示に照らして、種々の修正および変形が可能である。実施形態は、本発明の原理およびその実用性を最もよく説明するために選択され、記載されており、それにより、当業者が、検討される特定の用途に適するような種々の修正によって、本発明および種々の実施形態を最もよく利用することが可能である。
【符号の説明】
【０１２９】
１１０  物理空間
１１２  視覚特徴
１２０  モデル
２０２  ＣＰＵ
２２４  姿勢エスティメータ
２３８  姿勢データベース
２４０  意味情報データベース
【図２】
0005521628.tif 000002
【図３Ａ】
0005521628.tif 000003
【図３Ｂ】
0005521628.tif 000004
【図４Ａ】
0005521628.tif 000005
【図４Ｂ】
0005521628.tif 000006
【図４Ｃ】
0005521628.tif 000007
【図５Ａ】
0005521628.tif 000008
【図５Ｂ】
0005521628.tif 000009
【図５Ｃ】
0005521628.tif 000010
【図５Ｄ】
0005521628.tif 000011
【図６】
0005521628.tif 000012
【図７】
0005521628.tif 000013
【図８Ａ】
0005521628.tif 000014
【図８Ｂ】
0005521628.tif 000015
【図８Ｃ】
0005521628.tif 000016
【図９】
0005521628.tif 000017
【図１０】
0005521628.tif 000018
【図１１】
0005521628.tif 000019
【図１Ａ】
0005521628.tif 000020
【図１Ｂ】
0005521628.tif 000021