モデルを定義するコンピュータ実行方法、システムおよび方法
【課題】物理空間の仮想表現を相対的に迅速かつ廉価に構築する。
【解決手段】複数の区別可能な視覚特徴を含む物理空間の少なくとも1つの画像を分析する。前記視覚特徴の少なくとも1つは関連付け意味情報を有する所定のマーカであり、前記関連付けられた意味情報は、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義される。前記関連付けられた意味情報に少なくとも部分的に基づき前記モデルを定義する。前記物理空間において少なくとも1つの所定のマーカの姿勢を決定し、前記関連付けられた意味情報と共に、前記所定のマーカの少なくとも1つの姿勢に基づいて、前記モデルの幾何特徴を定義してもよい。
【解決手段】複数の区別可能な視覚特徴を含む物理空間の少なくとも1つの画像を分析する。前記視覚特徴の少なくとも1つは関連付け意味情報を有する所定のマーカであり、前記関連付けられた意味情報は、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義される。前記関連付けられた意味情報に少なくとも部分的に基づき前記モデルを定義する。前記物理空間において少なくとも1つの所定のマーカの姿勢を決定し、前記関連付けられた意味情報と共に、前記所定のマーカの少なくとも1つの姿勢に基づいて、前記モデルの幾何特徴を定義してもよい。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元モデルの定義に関し、詳細には、物理空間の画像において見ることのできる所定の視覚的マーカを利用してマークアップ言語を用いたモデルを自動的に定義することに関する。
【背景技術】
【0002】
ますます多くのアプリケーションが、物理空間の仮想表現を利用している。しかし、そのような仮想モデルの作成は、高価であり、時間がかかり、物理空間の個別の態様の直接測定、写真撮影および高度なグラフィカルツールを必要とする。場合によっては、アーティストが、対話型モデル化ツールを用いて空間の画像から物理空間の3次元モデルを作成するために雇われる。他の場合には、専門の画像形成機器が、物理空間の物理パラメータを捕捉するために必要とされ、次にモデルの態様を定義するために用いられることができる。これらの技術では、専門家の時間および/または専門のハードウェアに相当投資する必要がある。これは、多くのアプリケーションにとって物理空間の3次元モデルの作成にコストがかかりすぎることになるために、残念なことである。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】ギルゲンゾーンら(Girgensohn, et al.)、「DOTS:効率的なビデオ監視サポート(DOTS: Support for Effective Video Surveillance)」、ACMマルチメディア2007(ACM Multimedia 2007)、頁423〜432
【非特許文献2】リエフェルら(Rieffel, et al.)、「マルチカメラ監視システムの幾何ツール(Geometric Tools for Multicamera Surveillance Systems)」、ICDSC2007、頁132〜139
【非特許文献3】ロウら(Rohs, et al.)、「現実世界のオブジェクトとやりとりするためのカメラ搭載モバイル電話の使用(Using Camera-Equipped Mobile Phones for Interacting with Real-World Objects)」、パーベイシブ・コンピューティングの進展(Advances in Pervasive Computing)、2004年、頁265〜271
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記に鑑み、物理空間の仮想表現がさらに容易に構築されることができ、そのようなモデルの作成に関連する時間および/またはコストのために、これまでは実用的でなかった多種多様なアプリケーションにおいて用いられることができるようにするために、相対的に簡易な物理空間の画像に基づくモデルの定義方法に対する需要がある。
【課題を解決するための手段】
【0005】
物理空間の画像に基づくモデルの定義に関連する上記の欠点および他の問題点は、少なくとも1つが関連付けられた意味情報を有する所定のマーカである複数の区別可能な視覚特徴を含む物理空間の1つまたは複数の画像を分析し、その関連付けられた意味情報の少なくとも一部に基づいてモデルを定義するシステムおよび方法によって低減される。一部の実施形態において、関連付けられた意味情報は、モデル態様および複数のマーカから意味情報を組み合わせるための規則を特定するマークアップ言語に基づいて定義される。
【0006】
本願明細書に記載される一部の実施形態のさらなる利点は、動的要素を有するモデルが、物理空間の静的画像から定義されてもよいことである。一部の実施形態において、モデルは、静的構造における空間の複数の画像を分析することによって定義され、画像の少なくとも1つは、1つまたは複数の区別可能な視覚特徴を含む。一部の実施形態において、区別可能な視覚特徴は、意味情報に関連付けられ、モデルは、関連意味情報に基づいて定義される。一部の実施形態において、モデルは、区別可能な視覚特徴の1つまたは複数に関連付けられる少なくとも1つのモデル態様を含み、モデル態様は、区別可能な視覚特徴の1つまたは複数に関連付けられた意味情報に基づいた動的挙動を行うことが可能である。
【0007】
本発明の第1の態様は、モデルを定義するコンピュータ実行方法であって、複数の区別可能な視覚特徴を含む物理空間中の少なくとも1つの画像を分析し、前記視覚特徴の少なくとも1つは関連付けられた意味情報を有する所定のマーカであり、前記関連付けられた意味情報は、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義され、前記関連付け意味情報に少なくとも部分的に基づき前記モデルを定義する。
【0008】
本発明の第2の態様は、第1の態様の方法であって、前記物理空間において少なくとも1つの所定のマーカの姿勢を決定し、前記意味情報と共に、前記所定のマーカの少なくとも1つの姿勢に基づいて、前記モデルの幾何特徴を定義する、ことをさらに含む。
【0009】
本発明の第3の態様は、第1の態様の方法であって、前記マーカの少なくとも1つと関連付けられる前記意味情報に基づいて、前記モデルの非幾何特徴を定義する、ことをさらに含む。
【0010】
本発明の第4の態様は、第1の態様の方法であって、前記モデルの態様の少なくとも1つは、前記マーカのサブセットと関連付けられる意味情報に基づいて特定され、前記サブセットは、少なくとも2つのマーカを含む。
【0011】
本発明の第5の態様は、第1の態様の方法であって、前記マーカの前記サブセットと関連付けられる前記意味情報がサブモデルを定義するために用いられる。
【0012】
本発明の第6の態様は、第5の態様の方法であって、前記所定のマーカの少なくとも1つは挿入マーカであり、前記挿入マーカの少なくともサブセットに関して、前記サブセットにおける各個別の挿入マーカと関連付けられる前記意味情報が、前記サブモデルの複製が、前記個別の挿入マーカの前記物理空間における姿勢に対して相対的に決定される姿勢を有する前記モデル中に、挿入されることを表す。
【0013】
本発明の第7の態様は、第1の態様の方法であって、前記マーカのサブセットと関連付けられる意味情報は、前記モデルに含まれる前記少なくとも1つの画像の領域を表す。
【0014】
本発明の第8の態様は、第1の態様の方法であって、前記モデルの態様は、モデル構成要素、モデル構成要素の姿勢、または、モデル構成要素の視覚的外観の記述のうちの少なくとも1つである。
【0015】
本発明の第9の態様は、第1の態様の方法であって、前記区別可能な視覚特徴の少なくとも1つは、画像特徴検出アルゴリズムによって識別される視覚的特徴を含む。
【0016】
本発明の第10の態様は、第1の態様の方法であって、少なくとも1つの所定のマーカと関連付けられる前記意味情報は、前記少なくとも1つの所定のマーカの位置および向きによって表される姿勢で、挿入可能なアイテムが前記モデルに挿入されることを表す。
【0017】
本発明の第11の態様は、第10の態様の方法であって、前記挿入可能なアイテムは、画像、ビデオストリーム、3次元オブジェクトの表現のうちの少なくとも1つである。
【0018】
本発明の第12の態様は、第1の態様の方法であって、前記マークアップ言語は、クラスの継承を有する階層マークアップ言語であり、前記クラスがモデルの態様に対応し、前記クラスは、平面、パラメトリック形状、押出、画像抽出、アイテム挿入および定義を含む。
【0019】
本発明の第13の態様は、第12の態様の方法であって、前記クラスが平面である場合、サブクラスは、扉、壁、天井、床および机を含み、前記態様のクラスがモデファイアである場合、前記モデルの態様サブクラスが、線および角を含む。
【0020】
本発明の第14の態様は、第1の態様の方法であって、前記定義されたモデルに基づき、3次元モデルをレンダリングすることをさらに含む。
【0021】
本発明の第15の態様は、モデルを定義するシステムであって、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサによる実行のために少なくとも1つのモジュールを格納するメモリと、を備え、前記少なくとも1つのモジュールは、複数の区別可能な視覚特徴を含む物理空間の少なくとも1つの画像を分析する命令と、前記関連付けられた意味情報に少なくとも部分的に基づき前記モデルを定義する命令と、を含み、前記視覚特徴の少なくとも1つは、関連付けられた意味情報を有する所定のマーカであり、前記関連付けられた意味情報は、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義される。
【0022】
本発明の第16の態様は、モデルを定義する方法であって、物理空間において配置されるように構成可能な複数の所定の物理的マーカを作成し、前記マーカと意味情報を関連付け、前記ユーザに前記マーカの少なくともサブセットを提供する。前記マーカの前記サブセットにおける第1のマーカが前記第1のマーカと関連付けられた意味情報を表す関連付けラベルを有し、前記マーカは、前記マーカの少なくとも1つを含む画像を分析することによって、モデルを定義することを可能にするアプリケーションプログラムと共に用いるように構成されている。
【0023】
本発明の第17の態様は、第16の態様の方法であって、前記意味情報は、モデルの態様と、複数の所定のマーカと関連付けられた意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義される。
【0024】
本発明の第18の態様は、モデルを定義するコンピュータ実行方法であって、静的構造において空間の複数の画像を分析し、前記画像の少なくとも1つは少なくとも1つの区別可能な視覚特徴を含み、前記区別可能な視覚特徴を意味情報と関連付け、前記関連付けられた意味情報に基づき前記モデルを定義する、ことを含む。前記モデルは、前記区別可能な視覚特徴の少なくとも1つと関連付けられるモデルの態様を含み、前記モデルの態様は、前記区別可能な視覚特徴の少なくとも1つと関連付けられる前記意味情報に基づいて、動的挙動を行うことが可能である。
【0025】
本発明の第19の態様は、第18の態様の方法であって、前記関連付け意味情報は、モデルの態様と、複数の区別可能な視覚特徴と関連付けられる意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義される。
【0026】
本発明の第20の態様は、第18の態様の方法であって、前記区別可能な視覚特徴は、所定のマーカである。
【0027】
本発明の第21の態様は、第18の態様の方法であって、前記空間において少なくとも1つの区別可能な視覚特徴の姿勢を決定し、前記視覚特徴と関連付けられる前記意味情報と共に、前記視覚特徴の少なくとも1つの姿勢に基づいて、前記モデルの幾何特徴を定義する、ことをさらに含む。
【0028】
本発明の第22の態様は、第18の態様の方法であって、前記マーカの少なくとも1つと関連付けられる前記意味情報に基づいて、前記モデルの非幾何特徴を定義することをさらに含む。
【0029】
本発明の第23の態様は、第18の態様の方法であって、前記モデルにおいて、剛体物理モデラを用いて、前記態様の前記動的挙動をモデル化する、ことをさらに含む。
【0030】
本発明の第24の態様は、第18の態様の方法であって、第1の区別可能な視覚特徴と関連付けられる前記関連付け意味情報は、連携制約、動き特徴、材料特徴および動的要素の挿入のうちの少なくとも1つを含む。
【0031】
本発明の第25の態様は、第24の態様の方法であって、前記連携制約は、連携タイプ、連携軸、連携停止、連携位置および連携アンカのうちの少なくとも1つを含む。
【0032】
本発明の第26の態様は、第24の態様の方法であって、前記動き特徴は、動きタイプ、速度および方向の少なくとも1つを含む。
【0033】
本発明の第27の態様は、第24の態様の方法であって、前記材料特徴は、材料タイプ、密度、摩擦および回復係数などの跳ね返りパラメータの少なくとも1つを含む。
【0034】
本発明の第28の態様は、第24の態様の方法であって、前記動的要素は、制御部およびモータの少なくとも1つを含む。
【0035】
本発明の第29の態様は、第24の態様の方法であって、前記動的要素は、オブジェクトの位置決め、照明または材料の色などの前記モデルの動的態様を変更するために、モデル表示アプリケーションにおいてエンドユーザによって相互作用してもよい制御部を含む。
【0036】
本発明の第30の態様は、第25の態様の方法であって、前記連携停止は、動きの物理的範囲を含み、動きの前記物理的範囲は、回転移動に関する最大進行角または摺動移動に関する最大進行直線距離を含む。
【0037】
本発明の第31の態様は、第24の態様の方法であって、第1の区別可能な視覚特徴は、モデルオブジェクトのデフォルト材料特徴を含む関連付け意味情報を有し、第2の区別可能な視覚特徴は、前記デフォルト材料特徴の少なくとも一部とは異なり、前記デフォルト材料特徴の少なくとも一部を無効にする前記モデルオブジェクトの別の材料特徴を含む第2の関連付け意味情報を有する。
【0038】
本発明の第32の態様は、モデルを定義するシステムであって、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサによる実行のために少なくとも1つのモジュールを格納するメモリと、を備える。前記少なくとも1つのモジュールは、静的構造において、複数の画像の少なくとも1つが少なくとも1つの区別可能な視覚特徴を含む、空間の該複数の画像を分析する命令と、前記区別可能な視覚特徴と意味情報を関連付ける命令と、前記関連付けられた意味情報に基づき前記モデルを定義する命令と、を含み、前記モデルは、前記区別可能な視覚特徴の少なくとも1つに関連付けられたモデルの態様を含み、前記モデルの態様は、前記区別可能な視覚特徴の少なくとも1つと関連付けられる前記意味情報に基づく動的挙動を行うことを可能にする。
【0039】
本発明の第33の態様は、モデルを定義するコンピュータプログラムであって、コンピュータに、複数の区別可能な視覚特徴を含む物理空間中の少なくとも1つの画像を分析し、前記視覚特徴の少なくとも1つは関連付けられた意味情報を有する所定のマーカであり、前記関連付けられた意味情報は、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義され、前記関連付け意味情報に少なくとも部分的に基づき前記モデルを定義する、機能を実現させる。
【発明の効果】
【0040】
本発明では、多種多様なアプリケーションで用いることができる物理空間の仮想表現を相対的に簡易に構築することができる。
【図面の簡単な説明】
【0041】
【図1A】物理空間を示す。
【図1B】一部の実施形態に基づく物理空間の少なくともいくつかの態様を代表するモデルを示す。
【図2】一部の実施形態に基づく計算デバイスを示すブロック図である。
【図3A】一部の実施形態に基づくモデルを定義するための方法を示すフローチャートである。
【図3B】一部の実施形態に基づくモデルを定義するための方法を示すフローチャートである。
【図4A】一部の実施形態に基づくモデルを定義するためのシステムを示すブロック図である。
【図4B】一部の実施形態に基づく物理空間における区別可能な視覚特徴の姿勢が推定されることができる方法を示すフローチャートである。
【図4C】一部の実施形態に基づくモデルの態様を決定することができる方法を示すフローチャートである。
【図5A】一部の実施形態に基づく物理空間を示すブロック図である。
【図5B】一部の実施形態に基づく物理空間の画像を示すブロック図である。
【図5C】一部の実施形態に基づく物理空間の画像を示すブロック図である。
【図5D】一部の実施形態に基づく物理空間における物理的要素とマーカを関連付ける異なる方法を示すブロック図である。
【図6】一部の実施形態に基づく一連のルックアップテーブルを示すブロック図である。
【図7】一部の実施形態に基づく意味情報構造を示すブロック図である。
【図8A】一部の実施形態に基づく所定のマーカの一例を示すブロック図である。
【図8B】一部の実施形態に基づく所定のマーカを含むシートの一例を示すブロック図である。
【図8C】一部の実施形態に基づく所定のマーカの例示のタイプを示すブロック図である。
【図9】一部の実施形態に基づく計算デバイスを示すブロック図である。
【図10】一部の実施形態に基づく動的要素を有するモデルが定義されることができる方法を示すフローチャートである。
【図11】一部の実施形態に基づくモデルの所望の動的挙動を示すために、物理空間にマーカを配置する異なる方法を示すブロック図である。
【発明を実施するための形態】
【0042】
ここで、添付図面に示される実施形態、実施例を詳細に参照する。以下の詳細な説明において、本発明の完全な理解を提供するために、数々の特定の詳細が記載されている。しかし、本発明は、これらの特定の詳細がなくても実行されることができることは当業者には明らかであろう。他の場合において、実施形態の態様を不必要に不明瞭にすることを避けるため、公知の方法、手順、構成要素、回路およびネットワークは、詳細に記載されていない。
【0043】
ここで、モデルを定義するための方法、システムおよびコンピュータプログラム製品の実施形態が、記載される。一部の実施形態において、モデルの態様は、物理空間の物理的な構造に基づいて決定することができる。一部の実施形態において、モデルの態様の少なくとも1つが、物理空間での構造に対応していない、ユーザによって配置される所定のマーカに基づいて決定される。一部の実施形態において、これらのモデルの態様は、画像のシーケンス中で見ることができる1つまたは複数の所定のマーカに意味情報を関連付けた上で定義される。モデル態様は、モデルの中のいかなる値、測定値、パラメータ、関係、制約、オブジェクトであってもよく、またはモデルを構築するために有用な情報を表すモデル内のオブジェクトの特徴であってもよい。たとえば、1つのモデルの態様は、同一の平面にある特徴の集合を表してもよい。他のモデルの態様は、円筒体などの3次元パラメトリック形状、または2次元パラメトリック形状を表すマーカの集合、および3次元への2次元パラメトリック形状の成形(extrusion)を表すために成形マーカを表してもよい。モデルの態様はまた、特定の位置で挿入される挿入可能なアイテムを表すポインタを含んでもよく、またはオブジェクトがそのモデル内に配置されることを示す指示表示、またはオブジェクトが特定の色である必要があることを示す指示表示を含んでもよい。一部の実施形態において、この方法を用いて作成される1つまたは複数のモデルの態様に関して、物理空間での1つまたは複数の構造とは異なっていたり、または矛盾しているようにすることもできる。
【0044】
ここで、本方法の実施形態に対して注意が向けられる。図1Aは、物理空間110の画像を示す図である。物理空間110は、多数の区別可能な視覚特徴(distinctive visual features)112を含む。一部の実施形態において、区別可能な視覚特徴として、予め定義したマーカ112−1である1つまたは複数の特徴を含み、また、未定義のマーカ112−2である1つまたは複数の特徴を含んでもよい。一部の実施形態において、1つまたは複数の所定のマーカ112−1は、ユーザによって物理空間110の周囲に配置される。マーカを配置するための考慮事項は、壁および床などの物理空間の主要要素を識別することと、机および椅子などの部屋における物理的オブジェクトを識別することを含む。より多くの所定のマーカ112−1が、ユーザにとって特定の関心がある物理空間の領域に配置されてもよく、より少数の所定のマーカ112−1が、ユーザにとって特定の関心がない物理空間の領域に配置されてもよい。さらに、一部の所定のマーカ112−1は、物理空間における任意の特定のオブジェクトに対応しなくてもよい。一部の実施形態において、マーカは、物理空間において存在しないモデルまたは物理空間における異なる位置に存在するモデルにおいて、所望の要素の位置を示すために、物理空間において配置されてもよい。たとえば、所定のマーカ112−1を、物理空間の中間(middle)に配置させた場合でも、所定のマーカの姿勢(pose)に相対的な姿勢を有するモデルの中に、壁が配置されることを示すように定義することが可能である。結果として生じるモデルにおいて、この実施例では、モデルの中間に配置された壁を有することになる。
【0045】
一部の実施形態において、所定のマーカ112−1は、再位置決め可能なオブジェクトで再現される2次元画像であってもよい。所定のマーカ112−1の一例は、1枚の紙の上に再現される黒と白のパターンである。所定のマーカ112−1はまた、ユーザが所定のマーカ112−1を物理空間における物理的オブジェクトに永久的にまたは半永久的に添付することを可能にする要素を含んでもよい。たとえば、1枚の紙の上に再現される黒と白のパターンを含む所定のマーカはまた、接着剤付き裏当てを有してもよい。あるいは、所定のマーカ112−1は、物理空間におけるフックまたは他の取付具に所定のマーカを吊るための取付部を有してもよい。一部の実施形態において、所定のマーカ112−1は、所定のマーカ112−1の一部ではない添付手段を用いて物理空間における物理的オブジェクトに半永久的に関連付けられてもよい。たとえば、マーカは、テープ、接着剤、ステープルまたは他の添付手段を用いて物理的オブジェクトに添付されてもよい。所定のマーカではない区別可能な視覚特徴112−2は、画像処理技術によって検出可能な物理空間110における特徴であってもよい。一部の実施形態において、画像処理技術によって検出可能な特徴は、物理空間110において多様な角度から多種多様な位置において見た場合に一意に識別可能な特徴を含んでもよく、また、多様な照明条件において一意に識別可能であってもよい。たとえば、そのような可視特徴は、限定されることなく、物理的オブジェクトの検出されるエッジ、物理的オブジェクトの角、画像における矩形、およびスケール不変の特徴変換を用いて検出可能な他の物理的特徴を含むことが可能である。さらに、一部のモデルを更新するための実施形態において、所定のマーカに関連付けられる意味論的意味(semantic meanings)は、所定のマーカではない付近の可視的に区別可能な特徴(たとえば、識別可能な角、エッジ、壁の亀裂または染み)に関連付けられることができ、この場合、もし所定のマーカが除去されたとしても、その後に捕捉される画像における意味論的意味は持続される。この実施形態において、マーカによって提供される情報は、マーカが取り払われた後であっても、モデルを更新するのに役立ち続けることができる。
【0046】
図1Bは、物理空間110(図1A)を代表するモデル120を示す図である。図5Aから図5Cを参照して以下にさらに詳細に記載されるように、物理空間110の1つまたは複数の画像のシーケンスが、ユーザの指示によって収集される。次に、これらの画像は、以下の図4Aから図4Cを参照してさらに詳細に説明されるように、モデル120を定義するために用いられる。一部の実施形態において、モデルは、本願明細書に記載される方法の少なくとも1つを具体化するコンピュータ読み出し可能記憶媒体に格納されるソフトウェアを実行する計算デバイスによって決定され、例示の計算デバイスは、図2に関して以下にさらに詳細に記載される。計算デバイスは、コンピュータ読み出し可能記憶媒体に格納される命令に基づいて、計算を行うことができる任意のデバイスであってもよく、たとえば、計算デバイスは、ワークステーションシステム、パーソナルコンピュータ、携帯情報端末、携帯電話または任意の他の固定(stationary)コンピュータまたはモバイルコンピュータであってもよい。
【0047】
図2は、上述の方法を実行する計算デバイス200の実施形態を示しており、1つまたは複数の処理ユニット(CPU)202、1つまたは複数のネットワークまたは他の通信インターフェイス204、メモリ206、およびこれらの構成要素を相互接続するための1つまたは複数の通信バス208を含む。通信バス208は、システム構成要素間を相互接続して通信を制御する回路(チップセットと呼ばれることもある)を含んでもよい。計算デバイス200は任意に、ユーザインターフェイス210を含んでもよい。一部の実施形態において、ユーザインターフェイス210は、ディスプレイデバイス212および/またはキーボード214を含むが、ユーザインターフェイスデバイスの他の構造もまた用いられてもよい。計算デバイス200は任意に、1つまたは複数のカメラ215と共に用いられてもよく、1つまたは複数のカメラ215を含んでもよい。カメラ215は、画像を捕捉するように構成された1つまたは複数のセンサを含んでもよく、カメラ215の向きまたは位置などの他の情報を捕捉するように構成された他のセンサを任意に含んでもよい。画像がカメラ215によって捕捉されている間、または1つまたは複数の画像がカメラ215によって捕捉された後で、カメラ215は、計算デバイス200と通信してもよい。あるいは、カメラ215は、計算デバイス200から独立していてもよく、画像は、有線インターフェイスまたは無線インターフェイスを介して、ユーザによってカメラ215から計算デバイス200に伝送されてもよい。メモリ206は、高速ランダム・アクセス・メモリを含んでもよく、1つまたは複数の磁気格納ディスクまたは光学格納ディスクなどの不揮発性メモリ、フラッシュメモリデバイスまたは他の不揮発性固体格納デバイスを含んでもよい。高速ランダム・アクセス・メモリは、DRAM、SRAM、DDRRAMまたは他のランダムアクセス固体メモリデバイスなどのメモリデバイスを含んでもよい。メモリ206は任意に、CPU202から遠隔位置にある大容量格納装置を含んでもよい。メモリ206またはあるいはメモリ206内の不揮発性メモリデバイスは、コンピュータ読み出し可能記憶媒体を含む。メモリ206は、以下の要素またはこれらの要素のサブセット(subset)を格納し、以下の追加要素もまた含んでもよい。
【0048】
・種々の基本システムサービスを扱い、ハードウェアに依存するタスクを行うための手順を含むオペレーティングシステム216
・1つまたは複数の通信ネットワークインターフェイス204および1つまたは複数の通信ネットワーク、たとえば、インターネット、他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどを介して、計算デバイス200を他のコンピュータに接続するために用いられるネットワーク通信モジュール(または命令)218
・ユーザインターフェイスモジュール221、画像コレクタアプリケーション222、姿勢エスティメータアプリケーション224、1つまたは複数のマークアップハンドラ227を任意に含むモデルビルダアプリケーション226、3次元(3D)モデルレンダラアプリケーション228、を含むことができるアプリケーション220
・データ230(画像データベース232、マーカデータベース236、姿勢データベース238、意味情報データベース240、モデルレンダリング命令データベース242、挿入可能なアイテムデータベース244、CADデータベース246を含むことができる。)
○画像データベース232(一部の実施形態において、1つまたは複数の画像234および他の情報、たとえば、1つまたは複数の画像に関連付けられる一意の識別子、画像が捕捉されたときに、カメラによって自動的に格納された画像に関するメタデータ、またはユーザによって手動入力されるか、またはシステムによって推定された画像に関するメタデータなどを含んでもよい。)
○マーカデータベース236(一部の実施形態において、1つまたは複数のマーカの区別可能な視覚外観を代表するデータなどのマーカ情報、1つまたは複数のマーカのサイズ、1つまたは複数のマーカに関連付けられる一意の識別子、または複数のマーカ間の関連付けを表す関連付けデータを含んでもよい。)
○姿勢データベース238(一部の実施形態において、1つまたは複数のマーカに関する姿勢情報、1つまたは複数の画像に関する姿勢情報、1つまたは複数の特徴の一意の識別子、1つまたは複数の画像の一意の識別子、1つまたは複数のマーカの区別可能な視覚外観を代表するデータ、または1つまたは複数の画像を代表するデータを含んでもよい。)
○意味情報データベース240(一部の実施形態において、1つまたは複数の特徴の一意の識別子、1つまたは複数の特徴に関連付けられた意味情報(図6を参照して以下にさらに詳細に記載される)を含んでもよい。)
○モデルレンダリング命令データベース242(一部の実施形態において、静的パラメータおよび動的パラメータなどのモデルの態様を含んでもよい。)
○挿入可能なアイテムデータベース244(一部の実施形態において、画像ファイル、3D CADファイル、ビデオファイル、ビデオストリームへのリンクまたは挿入可能なアイテム用のプレースホルダオブジェクトなどの挿入可能なアイテムを代表するデータを含んでもよい。)
○オブジェクトの3D表現のライブラリを含むCADデータベース246
ここで、モデル120を定義するための一部の実施形態による方法の記述に対して注意が向けられる。図3Aは、モデル120を定義するための方法の一実施形態を示すフローチャートである。物理空間の1つまたは複数の画像が収集される(302)。画像234が捕捉されるときに、カメラ215が計算デバイス200に関連付けられる実施形態において、画像234の収集は、自動的に行われてもよい。たとえば、画像234が計算デバイス200に関連付けられるカメラ215によって捕捉され、次に、画像データベース232における画像コレクタアプリケーション222によって格納されてもよい。別の実施形態において、画像234は、計算デバイス200に添付されているかどうかに関係なく、カメラ215によって捕捉されてもよい。手動で捕捉された画像234は次に、ユーザの指示によって画像データベース232に格納されてもよい。ユーザはまた、ユーザインターフェイスモジュール221への入力によって、アプリケーション220またはデータベースに格納されるデータ230に他の修正を加えてもよい。ユーザインターフェイスモジュール221は、他のモジュールおよびアプリケーションと別個であってもよく、または他のモジュールおよびアプリケーションと結合されてもよい。
【0049】
画像234は、メタデータの有無に関係なく、画像データベース232に格納されてもよいことは理解されるべきである。このメタデータは、画像234を物理空間110の上にさらに正確に写像されることを可能にするような、画像捕捉変数(焦点距離、レンズの歪み、樽形歪み)のほか、カメラ215によって自動的に記録される他の情報、またはユーザによる手動入力を含んでもよい。たとえば、他のそのようなメタデータは、時間および日付情報、カメラのGPS座標、1つの画像または画像の集合に関するユーザラベル(たとえば、これらの画像はすべて、部屋Aで撮影された)を含むことが可能である。一部の実施形態において、画像のサブセット(全体に対する一部分)(またはすべて)に関して、カメラ215の画像捕捉変数は、一定に保持されてもよく、カメラが、画像捕捉変数のサブセットに基づいて較正されてもよい。一部の実施形態において、1台のカメラ215が、モデル定義プロセスの精度に影響を及ぼす可能性がある画像捕捉変数における変動が、導入されないことを保証するために用いられる。別の実施形態において、画像捕捉変数が画像に関するメタデータとして記録され、コンピュータソフトウェアが、画像234間の画像捕捉変数における任意の変動を補償するために用いられる。画像メタデータはまた、画像データベース232における画像234の少なくとも部分集合を、画像234に関する接続情報を有するシーケンスに順序付けるデータを含んでもよい。たとえば、画像234が各画像間の時間間隔で画像のシーケンスを特定するメタデータを含んでもよく、その結果、画像234は、ビデオ記録として表示され、各画像234はビデオ記録における1フレームとして機能することが可能である。一部の実施形態において、これらの画像は、スチールカメラによって個別の画像として記録され、他の実施形態において、これらの画像は、ビデオカメラによるビデオ(またはビデオフレームのシーケンス)として記録される。
【0050】
一部の実施形態において、物理空間110におけるオブジェクトに関連付けられる区別可能な視覚特徴112を識別するために、画像の少なくともサブセットが、解析される(304)。これらの区別可能な視覚特徴112は一般に、多種多様な照明条件において、区別可能な視覚特徴112からのカメラの異なる位置、向きおよび距離においてロバスト(すなわち、一意に識別可能)である。一部の実施形態において、このことは、区別可能な視覚特徴112が一般に、少なくともある程度のスケール不変(すなわち、異なる拡縮倍率で見たときに、特徴の区別可能な視覚外観の少なくとも一部が認識可能である)、ある程度の回転不変(すなわち、異なる角度で見たときに、特徴の区別可能な視覚外観の少なくとも一部が認識可能である)を呈しなければならないことを意味する。一部の実施形態において、区別可能な視覚特徴はまた、ある程度の回転非対称を呈する。一部の実施形態において、区別可能な視覚特徴112は、スケール不変の特徴変換を用いて識別される(308)。一部の実施形態において、所定のマーカ112−1が、識別される(310)。一部の実施形態において、これらの技術の組み合わせが用いられてもよい。一部の実施形態において、所定のマーカ112−1は、図8Aを参照して以下にさらに詳細に記載されるように、計算デバイス200によって容易に識別されることができるように設計されてもよい。当業者は、本願明細書に記載される区別可能な視覚特徴が、これらの技術の任意の組み合わせまたは区別可能な視覚特徴を識別するための当該技術分野では周知の他の技術を用いて、画像において識別されることが可能であることを認識することは理解されるべきである。
「意味情報」
図3Aに示されるように、一部の実施形態において、所定のマーカ112−1のサブセットに関連付けられた意味情報データベース240からの意味情報が、識別されてもよい(312)。意味情報は、所定のマーカ112−1またはマーカの集合に特定の意味を与える情報である。この意味情報は、予め割り当てられてもよく、またはマーカが物理空間に配置された(たとえば、物理空間における物理的オブジェクトへの関連付け、モデルにおけるオブジェクトの所望の位置への関連付け、またはモデルの環境特徴に関するモデル態様を示す意味のためにモデル内に配置)後、ユーザによって割り当てられてもよい。
【0051】
一部の実施形態において、関連付け意味情報は、1つまたは複数のマーカまたは所定のマーカのサブセットが関連付けられる1つまたは複数のオブジェクトの間の関係を表してもよい(314)。所定のマーカのサブセットが関連付けられることは、たとえば、所定のマーカのサブセットにおけるすべてのマーカが、共通の制約の集合の対象となっていること(316)、所定のマーカのサブセットにおけるすべてのマーカが、共通の表面に関連付けられること(318)、所定のマーカのサブセットにおけるすべてのマーカが、共通の向きを有すること、サブセットにおけるすべてのマーカが、同一の色またはテクスチャの表面上にあること、または所定のマーカのサブセットにおけるすべてのマーカが、共通のオブジェクトに関連付けられることを表す。一部の実施形態において、これらの関係は、物理空間における物理的オブジェクトの間の実際の物理的関係を表している。他の実施形態において、この関係は、物理空間における実際の物理的関係を表さないモデルにおける所望の関係を表している。さらに、この関係は、任意の特定の画像234において全体を完全に見ることができない1つのオブジェクトが実際には、1つの連続的なオブジェクトであることを表してもよい。この関係は、1つの部屋におけるオブジェクトによって部分的に隠される配管または壁を表すために用いられてもよい。さらにこの関係は、部屋の中にあって、1つの画像中では見ることができない2つの別個の側面を有するオブジェクトの別個の側面に対して2つのマーカが関連付けられることを表すために用いられてもよい(たとえば、第1のマーカは、扉の前面に関連付けられることが可能であり、第2のマーカは扉の後面に関連付けられることが可能である)。一部の実施形態において、この関係は、2つの異なる部屋によって共有される壁または床または天井に対向する側面、または建物の内壁および外壁を表すために用いられてもよい。
【0052】
この種の意味情報は、第1の領域と、第1の領域とは視覚的に分離される1つまたは複数の他の領域と、を含む物理空間を代表するモデルを定義するための方式を提供する。たとえば、2つの隣接する部屋の間の関係は、以下の方式でマーカと関連付けられた意味情報によって特定することができる。第1の部屋は、壁の第1の側面に関連付けられる第1のマーカを有してもよく、第2の部屋は、壁の第2の側面に関連付けられる第2のマーカを有してもよい。壁の第1の側面および第2の側面が同一の壁の2つの側面であることを表す意味情報にマーカの一方が関連付けられている場合には、モデルビルダ226は、2つの部屋が隣接しており、壁の第1の側面および壁の第2の側面が共通の壁を形成するモデルを構築することを決定することができる。モデルビルダ226は、予め入力された、あるいは、第1の側面を含む物理空間画像の解析等によって得られる、壁の第1の側面のサイズを用いて、壁の第2の側面のサイズを推定してもよい。このプロセスはまた、異なる部屋に存在する床および天井などの他の構造物の対向する側面を識別するために用いられてもよい。大量の部屋に関してこの技術を用いて、建物全体または建物の領域の物理パラメータが決定され、モデルのパラメータの一部を定義するために用いることが可能である。前述の説明から、前述のリストは単なる例示であり、関連付け意味情報によって表されることが可能な関係にはさまざまな種類があることは理解されるべきであり、このことは、当業者には容易に明白となるであろう。
【0053】
別の実施形態において、個別の所定のマーカまたはマーカの集合の関連付け意味情報は、たとえば、個別のオブジェクトの色(322)、個別のオブジェクトのテクスチャ(324)を含む1つまたは複数の所定のマーカが関連付けられる個別のオブジェクトの静的特徴を表し(320)、個別のオブジェクトが挿入可能なオブジェクトであることを表す(326)。一部の実施形態において、オブジェクトは、物理空間における物理的オブジェクトを表してもよい。他の実施形態において、オブジェクトは、物理空間における物理的オブジェクトを表さないモデルにおける所望のオブジェクトであってもよい。たとえば、モデルにおける関連付けられるオブジェクトの位置を表すために、マーカが空中に吊り下げられるときなどである。マーカの静的特徴を表す意味情報は、多様な方式でマーカと関連付けることができる。色および/またはテクスチャ情報を、予め定義することができること、マーカが配置された後、色および/またはテクスチャ情報を、ユーザが、すなわちユーザインターフェイスモジュール221への入力を提供したユーザが、選択することもできることである。さらに、色および/またはテクスチャは、マーカが見ることができる画像234からサンプリングされる。色および/またはテクスチャのサンプリングは、マーカによって示された所定の領域(たとえば、マーカのエリア)で行うことができ、またはマーカに関連付けられるユーザ定義の領域からサンプリングできる。
マーカと関連付けられた意味情報が、マーカと関連付けられるオブジェクトの実際の色またはテクスチャを表す情報を含むとき、色またはテクスチャは、「サンプリングされる」、とここでは用いる。サンプリングされた色またはテクスチャは、物理空間における任意の関連付けられた領域の色またはテクスチャに一致あるいは一致しない、マーカに設定された意味に従って、他の領域に適用されてもよい。物理空間の画像からテクスチャをサンプリングすることは、1つの画像(または複数の画像)の領域を抽出することを含む。画像のその抽出された領域は次に、ユーザによって決定された位置でモデルに挿入されてもよい。たとえば、関連付けられるオブジェクトが写真またはディスプレイであることを意味情報が表す場合には、オブジェクトを含む画像234の一部(またはすべて)が、選択され、マーカと関連付けられる追加情報として格納されてもよい。この実施例において、マーカと関連付けられた意味情報は、マーカが壁における矩形の画像(たとえば、絵画またはポスタ)を含む特定の領域と関連付けられることを示してもよく、矩形の画像がサンプリングされることになっていることを表してもよい。画像処理ソフトウェアは次に、マーカと関連付けられる領域における最大の矩形を識別するために用いられ、次に挿入可能なアイテムデータベース244にその矩形の内容の新たな画像を格納し、マーカと関連付けられた意味情報として意味情報データベース240にそのアイテムに対する参照先を配置してもよい。一部の実施形態において、3Dモデルレンダラ228は、その関連付けられる情報を用いて、1つまたは複数の場所でモデル120に矩形の画像(たとえば、絵画またはポスタ)を配置してもよい。他の実施形態において、モデルにおける関連付けられるオブジェクトがピクチャまたはディスプレイであることを意味情報が表す場合には、ピクチャまたはディスプレイを含む領域が、モデル中に示されてもよく、その結果、オブジェクトまたはデータストリームは、その位置に現れるようにするために、ユーザによって選択されることができる。
【0054】
物理空間の画像から色をサンプリングすることは、マーカによって表される画像における特定の位置における色値を決定することと、画像または画像の一部に関して平均色値を決定することを含んでもよい。サンプリングされた色は次に、1つまたは複数のモデルの態様に適用されてもよい。たとえば、ユーザが、壁の色をサンプリングしたい場合がある。この実施例において、ユーザは、サンプリングするための壁の特定の位置を示すために、壁にマーカを配置することが可能である。あるいは、ユーザは、サンプリングするために壁の領域を示すことが可能であり、その領域の色値が平均化されることが可能である(たとえば、ユーザはサンプリングされる色を含む壁の領域の拡大画像を捕捉することが可能である)。追加マーカは、サンプリングされた色が、モデルにおける他の壁などのモデルの他の構成要素に適用されることを示すことが可能である。前述の説明から、前述のリストは単なる例示であり、関連付け意味情報によって表されることが可能なモデルにはさまざまな異なる態様があることは理解されるべきであり、このことは、当業者には容易に明白となるであろう。
【0055】
別の実施形態において、個別の所定のマーカまたはマーカの集合の関連付け意味情報は、挿入可能なアイテムデータベース244から挿入可能なアイテムが、所定のマーカの位置に対する位置に挿入されることができることを示す(326)。挿入可能なアイテムは、データファイルまたはメモリ206に格納されることが可能であるオブジェクトの他の表現であってもよく、たとえば、ディジタル写真または(前段落で記載したような)他のディジタル画像(328)、コンピュータ支援設計によって作成されるオブジェクトなどの3次元オブジェクトの表現(330)、ビデオ記録またはビデオストリーム、たとえば、ウェブカムまたは他のライブビデオ供給などであってもよい。前述の説明から、前述のリストは単なる例示であり、関連付け意味情報によって表されることが可能な挿入可能なアイテムにはさまざまな種類があることは理解されるべきであり、このことは、当業者には容易に明白となるであろう。
【0056】
さらに別の実施形態において、個別の所定のマーカの関連付け意味情報が、サブモデルを定義するのに役立つことを示す。サブモデルは、そのサブモデルと関連付けられるマーカのすべてから決定されてもよい。サブモデルは、物理空間において類似物を有してもよく、または類似物を有していなくてもよい。サブモデルは、挿入可能なオブジェクトのデータベースに格納されることができる。データベースにおけるサブモデルの格納は、多くの利点を有することができる。たとえば、物理的オブジェクト(たとえば、教室における机)は、多数の明確に類似の形状の物理的オブジェクトを代表してもよい。一部の実施形態において、ユーザが、類似の形状の物理的オブジェクトの1つのサブモデルを定義するために、1つまたは複数の所定のマーカを含む視覚特徴を用いたい場合がある。他の挿入マーカもまた、オブジェクトの定義されたサブモデルがモデルにおける1つまたは複数の位置に挿入されることになっていることを表すために、ユーザによって配置されてもよい。一部の実施形態において、これらの挿入マーカは、物理空間において存在する実際の物理的オブジェクトを表す。他の実施形態において、これらの挿入マーカは、物理空間における実際の物理的オブジェクトに対応しないモデルにおける所望のオブジェクトを表してもよい。
【0057】
たとえば、多数の類似の机または同一の机がある教室の実施例において、机が詳細にモデル化されることができるように、マーカの一群における多数のマーカは、机の1つと関連付けられてもよい。マーカの一群に関する参照マーカは、机のモデルおよびその定義に関する参照フレームを表してもよい。他の机が部屋に存在する場合には、格納された机のモデルが、これらの位置のそれぞれに挿入されるべきであることを表すのに、部屋における他の机のそれぞれについて同一の相対的位置および向きに配置される1つの挿入マーカで十分である。他の机が部屋に存在しない場合には、格納された机のモデルが、その位置に挿入されるべきであることを表すのに1つの挿入マーカで十分である。この方式で関連付け意味情報を用いることは、複数の類似または同一の物理的オブジェクトの態様を定義するために必要な作業量を削減することから、モデルの定義の効率および速度を向上する。前述の説明から、前述のリストは単なる例示であり、関連付け意味情報によって表されることが可能な多くの意味があることは理解されるべきであり、このことは、当業者には容易に明白となるであろう。また、ユーザが、所定のマーカでない区別可能な視覚特徴を有する意味情報を関連付けることが可能であることも理解されるべきである。
「姿勢決定」
ここで、画像234における区別可能な視覚特徴112の姿勢の決定に注意が向けられる。区別可能な視覚特徴112の姿勢は、その特徴の位置および向きを含む。デカルト座標系において、区別可能な視覚特徴の姿勢は、特徴の位置(たとえば、x軸、y軸およびz軸に沿ったその位置)のほか、特徴の向き(たとえば、x軸、y軸およびz軸を中心としたその回転)によって定義される。この実施例においてデカルト座標系の使用は、便宜上に過ぎないことを理解されるべきであり、当業者は、ユーザにとって好都合である任意の座標系が、物理空間110における区別可能な視覚特徴の姿勢を一意に識別するために、その配置において用いられることが可能であることを容易に理解するであろう。
【0058】
最初に、少なくとも1つの区別可能な視覚特徴112が基準特徴として識別される。一部の環境において、固定座標系に対する物理空間110における物理的オブジェクトの実際の姿勢を認識することが望ましい。これらの環境において、ユーザが、固定座標系に対する基準特徴の姿勢を決定してもよい。一部の実施形態において、基準特徴は、固定座標系に対する決定可能な第1の姿勢(334)を有する。一部の実施形態において、基準特徴が識別され、次に基準特徴の姿勢が、基準特徴の物理的測定を行うことによって決定される。他の実施形態において、基準特徴に関する所望の姿勢が決定され、次に、基準特徴が所望の姿勢に配置される。この実施形態は、物理空間の外側にある1つまたは複数の物理的オブジェクトの位置が、関連しているとき、たとえば、物理空間の下(すなわち、外側)にある水道管に関する器具の位置決めを決定するための青写真として用いられてもよいモデル120を作成するときに、特に有用である可能性がある。
【0059】
特徴姿勢に基づいて画像姿勢を決定するためのプロセス、および画像姿勢に基づいて特徴姿勢を決定するためのプロセスは、写真測量法などの技術を用いることによって、当技術分野では公知である。一部の実施形態において、エーアールツールキットプラス(ARToolKitPlus)(ARToolKitは、実時間における区別可能な視覚特徴に対するカメラの位置および向きを計算するために用いられることができるソフトウェアライブラリであり、ARToolKitPlusは、ARToolKitの視覚コードの拡張バージョンである。)のような画像処理ソフトウェアが、既知の姿勢を有する1つまたは複数の区別可能な視覚特徴112を含む画像234に基づく画像姿勢を決定するために用いることができる。さらに、一部の実施形態において、同一の画像処理ソフトウェアが、画像の既知の姿勢に基づく画像234における識別された区別可能な視覚特徴112の特徴姿勢を決定するために用いることができる。これらの技術は、当該技術分野では公知であり、ここではさらに記載しない。
【0060】
一部の実施形態において、基準特徴の姿勢は、固定座標系に対して決定されないが、他の特徴の姿勢は、基準特徴の姿勢に対して決定される。これは、固定座標系に対する物理空間110における区別可能な視覚特徴の実際の姿勢を認識する必要がない状況において適切であり、物理空間110における他のオブジェクトに対する、物理空間110における区別可能な視覚特徴の姿勢を単に認識するために十分である。これらの環境において、基準特徴の姿勢の実際の測定を行わないために、さらに高速である可能性がある。一部の実施形態において、基準特徴の実際の姿勢が決定されていない場合には、座標系は、基準特徴の姿勢に対して定義することができる。たとえば、実質的に平面の矩形の基準特徴の場合には、座標系は、基準特徴の角を座標系の原点として定義し、基準特徴の角に隣接する第1のエッジをx軸に平行であるものとして定義し、基準特徴の角に隣接する第2のエッジをy軸に平行であるものとして定義し、基準特徴の面をz軸に垂直であるものとして定義することによって、一意に定義することができる。この実施形態は、ユーザが視覚特徴の相対姿勢を決定し、マーカのいずれかの姿勢を測定するために時間を取ることなく、モデルを定義することができるため、視覚特徴の相対的姿勢のみが必要とされるときには特に有用である可能性がある。
【0061】
一部の実施形態において、基準特徴は、ユーザによって識別される。他の実施形態において、基準特徴は、姿勢エスティメータ224によって自動的に識別される(図2)。一部の実施形態において、第1の区別可能な視覚特徴は、視覚特徴が検出される(たとえば、検出される第1の視覚特徴が、基準特徴であるように取得されてもよい)順序および第1の区別可能な視覚特徴を含む画像に存在する他の区別可能な視覚特徴の数に基づいて、基準特徴として自動的に識別されてもよく、または図5C(a)、図5C(b)および図5C(c)を参照して以下にさらに詳細に記載されるように、第1の区別可能な視覚特徴との共通視認性(co−visibility)グラフの一部である他の区別可能な視覚特徴の数に基づいて、基準特徴として自動的に識別されてもよい。一旦、基準特徴が識別されると、1つまたは複数の区別可能な視覚特徴に関する第2の姿勢が、第1の姿勢に対して決定される(336)。一部の実施形態において、区別可能な視覚特徴に関する第2の姿勢が、1つまたは複数の画像のサブセットを選択し(338)、もしあるのであれば、シーケンスにおける各個別の画像が、シーケンスにおいて直前に置かれる個別の画像と少なくとも1つの視覚特徴を共有し、シーケンスにおける少なくとも1つの画像が基準特徴を含むように、シーケンスにおいて画像の1つまたは複数のサブセットを順序付けし(340)、第1の姿勢に基づいて、画像のサブセットにおける視覚特徴の少なくとも1つの個別の第2の姿勢を反復的に決定する(342)ことによって、決定される。区別可能な視覚特徴の個別の第2の姿勢を決定するこのプロセスは、図4Bおよび図5A〜図5Dを参照して以下にさらに詳細に記載される。
【0062】
一部の実施形態において、モデルの少なくとも一部の態様は、個別の特徴の姿勢および関連付け意味情報に少なくとも部分的に基づいて特定される(344)。モデルの態様に少なくとも部分的に基づくモデルを定義するプロセスは、図5Aから図5Dを参照して以下にさらに詳細に記載される。一部の実施形態において、定義されたモデルは、識別された区別可能な視覚特徴の姿勢および区別可能な視覚特徴と関連付けられた意味情報に基づいて、レンダリングされる(346)。モデルをレンダリングするプロセスは、図4Aから図4Cを参照して以下にさらに詳細に記載される。
【0063】
モデルを定義するための方法の別の実施形態が、図3Bを参照して記載される。この実施形態において、画像は、物理空間から収集される(352)。これらの画像は、物理空間における区別可能な視覚特徴を識別するために分析され(354)、視覚特徴の少なくとも1つは、関連付け意味情報を有する所定のマーカである。一部の実施形態において、区別可能な視覚特徴は、画像特徴検出アルゴリズムを用いて識別される特徴である(356)。一部の実施形態において、区別可能な視覚特徴は、所定のマーカである(358)。一部の実施形態において、所定のマーカの少なくともサブセットは、関連付け意味情報を有し、その情報が識別され(360)、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて解釈される(362)。マークアップ言語は、図4Cを参照して以下にさらに詳細に記載される。モデルの態様は、モデル構成要素(たとえば、扉)、モデル構成要素の姿勢(たとえば、扉の位置および向き)またはモデル構成要素の視覚的外観の記述(たとえば、扉の色)などのモデルの要素を含んでもよい。
【0064】
マークアップ言語に基づいて意味情報を解釈することは、物理空間において1つまたは複数の所定のマーカの姿勢を決定することと、関連付け意味情報と共に所定のマーカの1つまたは複数の姿勢に基づいて、モデルの幾何的特徴を定義することと、を含んでもよい(364)。一部の実施形態において、意味情報を解釈することは、モデルの非幾何的態様を定義するために、1つまたは複数のマーカと関連付けられた意味情報の使用を含んでもよい(366)。モデルのこれらの非幾何的態様は、モデルにおける照明の位置決め、モデルにおける仮想照明のタイプ、所定のモデルの視点および他の非幾何的態様を含んでもよい。一部の実施形態において、モデルの態様の少なくとも1つは、マーカのサブセットと関連付けられた意味情報に基づいて特定され、サブセットは、少なくとも2つのマーカを含み(368)、したがって、意味情報の一定の種類に関して、少なくとも2つのマーカが、モデルの態様を特定するために必要とされることになる(たとえば、2つのマーカの間の長さ、または各角に1つのマーカを配置することによって識別される要素)。一部の実施形態において、マーカのこれらのサブセットは、サブモデルを定義するため(370)またはサブモデルをモデルに挿入するため(372)に用いることが可能である。一部の実施形態において、複数の挿入マーカが、1つのサブモデルを挿入するために用いられてもよい。他の実施形態において、1つの挿入マーカが、個別の挿入マーカの物理空間における姿勢に対して決定されるモデルにおける姿勢を有するモデルの中の位置に、1つのサブモデルを挿入するために用いられてもよい。挿入マーカのそれぞれが同一のサブモデルを参照する場合には、サブモデルの複数の複製が、物理空間に複数の挿入マーカを配置するだけで、モデルの中に挿入されてもよい。
【0065】
一部の実施形態において、マーカのサブセットと関連付けられた意味情報は、モデルに含まれる1つまたは複数の画像の領域を表す(374)。1つまたは複数の画像の領域は、モデルにおける画像の部分、複数の画像から作成される画像の部分、マッチングアルゴリズムによって見つけられるデータベースからの画像の部分および他の画像領域を含んでもよい。さらに、1つまたは複数の所定のマーカと関連付けられた意味情報は、挿入可能なアイテムが、1つまたは複数の所定のマーカの位置および向きによって示される位置で、モデルに挿入されることになっていることを示してもよい(376)。一部の実施形態において、挿入可能なアイテムは、画像(378)、ビデオストリーム(380)または3次元オブジェクトの表現(382)である。一部の実施形態において、モデルは、関連付け意味情報に少なくとも部分的に基づいて定義される(384)。図4Aから図4Cを参照して以下にさらに詳細に記載されるように、この定義されたモデルは次に、3Dモデルレンダラによってレンダリングされてもよい(386)。
【0066】
ここで、図4Aに注意が向けられる。図4Aは、上述した方法を実行するためのシステムの一実施形態を示すブロック図である。カメラ215は、物理空間110の画像234を捕捉するために使用されてもよい。物理空間の画像234はまた、図2に関して上述したように画像234に関する情報を表すメタデータを含んでもよい(または関連付けられてもよい)。一部の実施形態において、画像は、画像コレクタ222によって収集され、画像データベース232に格納される。他の実施形態において、画像は、ユーザの指示によって画像データベース232に格納される。
【0067】
一旦、1つまたは複数の画像234が、画像データベース232に格納されると、一部の実施形態において、姿勢エスティメータ224は、図3Aを参照して記載された方法に基づき、画像データベース232に格納された画像234における区別可能な視覚特徴112の少なくとも一部の姿勢を推定する。一部の実施形態において、モデルビルダ226は、(図4Cを参照して以下にさらに詳細に説明されるように)モデル態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて、モデルを定義する。モデルビルダ226は次に、モデルを定義し、定義されたモデルに基づき、仮想モデルをレンダリングするためのモデルレンダリング命令404を決定する。一部の実施形態において、モデルビルダ226は、姿勢データベース238からの画像姿勢および特徴姿勢情報と、意味情報データベース240からの意味情報とを用いて、モデル120を構築する。モデルビルダによって決定されたモデルレンダリング命令404は次に、モデルレンダリング命令データベース242に格納されてもよい。
【0068】
一部の実施形態において、画像分析器402は、任意の互換性のある3次元モデルレンダラによって用いられてもよいモデルレンダリング命令404をユーザに提供し、定義されたモデルに基づいて3次元仮想モデルをレンダリングしてもよい。他の実施形態において、画像分析器402は、定義されたモデルのモデルレンダリング命令404を、統合された3Dモデルレンダラ228に自動的に提供する(図4A)。3Dモデルレンダラ228は、モデルレンダリング命令404と、挿入可能なアイテムデータベース244からのアイテムとを用いて、モデルをレンダリングしてもよい(図4A)。モデルレンダリング命令404は、3Dモデルレンダラ228に対し、定義されたモデルの寸法および向き、モデル内のオブジェクトまたは構造物の位置、向きおよびサイズ、モデルにおけるオブジェクトの色、テクスチャおよび他の静的特徴に関する命令を提供してもよく、モデルに挿入するために、挿入可能なアイテムデータベース244からの挿入可能なアイテムを表すために提供してもよい(図4A)。一部の実施形態において、3Dモデルレンダラ228は、モデルを自動的に構築し、モデルをユーザに提示する。他の実施形態において、ユーザは、モデルを構築するプロセスに介入し、3Dモデルレンダラ228がモデルを構築しているときに、3Dモデルレンダラ228に追加入力を提供してもよく、その入力は、1つまたは複数の画像が無視されるべきであることを表すか、1つまたは複数のマーカの姿勢が不十分に推定される可能性があることを表すことを含む。ユーザ入力は、ユーザインターフェイスによってユーザインターフェイスモジュール221(図2)に提供されてもよい。一部の実施形態において、ユーザ入力は、3Dレンダラ228に提供されるユーザ入力に加えて、または3Dレンダラ228に提供されるユーザ入力に代わって、モデルビルダ226に提供されてもよい。モデルが構築中および/またはレンダリング中であるとき、ユーザに入力を提供することを可能にすることは、追加時間を取るが、モデルの品質も向上する可能性がある。一部の実施形態において、モデルの品質は、物理空間を表現する際にその精度を表す。他の実施形態において、モデルの品質は、ユーザによって想像されるモデルに対してその精度を表す。本願明細書に記載されるモジュールは例示に過ぎないことを理解されるべきであり、同一の結果を達成するために、一定モジュールが、他のモジュールと組み合わせられることが可能であり、細分されることも可能であることを当業者は容易に認識するであろう。
【0069】
ここで、一部の実施形態に基づき姿勢エスティメータの動作を示す図4Bに注意が向けられる。姿勢エスティメータは、画像データベース232から画像234、マーカデータベース236から所定のマーカの少なくともサブセット(たとえば、図1Aにおける112−1)のサイズを表すマーカ・サイズ・データ、少なくとも1つの基準特徴の姿勢(420)、または既知のまたは事前に決定された姿勢を有する他の特徴112を受信する。次に、一部の実施形態に基づき、姿勢エスティメータ224は、基準特徴姿勢を用いて、基準特徴を含む画像の画像姿勢を計算し(422)、姿勢データベース238に画像姿勢を格納する。一部の実施形態において、ARToolKit(コンピュータ視覚アルゴリズムを用いた拡張現実(AR)アプリケーションを構築するためのソフトウェアライブラリ)などのソフトウェアパッケージまたは何か他の周知の姿勢推定ツールが、画像姿勢を計算するために用いられる。一部の実施形態において、画像姿勢は、画像234が捕捉された時点におけるカメラ215の位置および向きである。画像姿勢はまた、焦点距離、レンズの歪み、樽形歪みなどの画像234の他の態様を表すメタデータを含んでもよく、カメラ215によって自動的に記録されるか、またはユーザによって手動入力される(これにより、画像234を物理空間110にさらに正確に写像することが可能とされる)、他の情報を含んでもよい。一部の実施形態において、所定のマーカのサイズおよび形状は既知のであり、所定のマーカを含む画像234の姿勢は、所定のマーカの既知のサイズおよびマーカの姿勢を用いて決定される。一部の実施形態において、所定のマーカではない区別可能な視覚特徴のサイズは、当技術分野において公知である技術を用いて決定することができる。一部の実施形態において、これらの技術は、画像のそれぞれが既知の姿勢を有する場合には、区別可能な視覚特徴を含む2つまたはそれ以上の画像を必要とする。
【0070】
一旦、画像姿勢430が計算されると、画像における新たな区別可能な視覚特徴が識別され(424)、これらの特徴の特徴姿勢が推定される(428)。一部の実施形態において、ARToolKitなどのソフトウェアパッケージまたは何か他の公知の姿勢推定ツールが、姿勢を計算するために用いられる。特徴姿勢432は、画像姿勢430の他、所定のマーカ用のマーカデータ(マーカ・サイズ・データなど)および意味情報(たとえば、マーカが他の公知のマーカと共通の平面に位置している場合)を用いて、推定されてもよい。特徴姿勢432は次に、姿勢データベース238に格納される。追加の特徴姿勢432が既知になると、これらの追加の既知の特徴姿勢432が、新たな画像姿勢430を計算するために用いられる(422)。一部の実施形態において、この反復プロセスは、決定するための画像姿勢または特徴姿勢がなくなるまで続く。一部の実施形態において、この反復プロセスは、ある所定数の画像姿勢および特徴姿勢が決定されるまで続く。一部の実施形態において、この反復プロセスは、物理空間の物理的パラメータが適切に推定されることができるように、十分な特徴姿勢が既知のであると決定されるまで続く。十分な特徴姿勢が知られているかどうかの決定は、物理空間を十分に代表するモデルを構成することができるかどうかに基づいてもよい。この決定は、ユーザによって行われてもよく、または自動的に行われてもよい。他の実施形態において、十分な特徴姿勢が知られているかどうかの決定は、モデルがユーザによって所望される特徴を有するかどうかに基づいてもよいが、それらの特徴は、物理空間の物理的パラメータを表していなくてもよい。
【0071】
姿勢推定プロセスにおいて認識される1つの問題点は、前の推定からの推定に基づくときに、累積誤差が生じる可能性があることである。測定におけるこの累積誤差を削減する方法を見出すことが有益である。一部の実施形態において、バンドル調整(434)が、姿勢データベース238における既知の姿勢の集合で行われ、姿勢推定プロセスにおける任意の累積誤差を補正する。一部の実施形態において、SBA(Levenberg−Marquardtアルゴリズムに基づく一般的な疎バンドル調整C/C++パッケージ)などのソフトウェアパッケージが、バンドル調整を行うために用いられるが、他のバンドル調整ツールもまた、用いられることが可能である。他の実施形態において、姿勢推定プロセスにおける累積誤差は、特徴姿勢を認証するプロセスによって低減される。一部の実施形態において、特徴姿勢は、ユーザインターフェイスモジュール221への入力を提供するユーザによって手動で認証され、他の実施形態において、特徴姿勢は自動的に認証される。認証手続きの一実施例において、(図4Bに示されるように)姿勢推定プロセスの各反復において、既知の姿勢を有する大部分の画像において見られる特徴は、すべての認証された特徴およびそのような特徴を含む画像と共にバンドル調整されてもよく、バンドル調整が成功する場合には、この特徴が認証されることになる。特に、バンドル調整に関する既知の問題点は、その数値の最適化が、極小値で行き詰まる可能性があることである。この認証手続きは、よい解に収束しない悪いバンドル調整の初期化を回避するのを助ける。
【0072】
認証手続きの一実施形態において、特徴姿勢は、一旦認証されると、画像の姿勢を推定するために用いられるだけである。一部の実施形態において、姿勢推定プロセスの各反復において、既知の姿勢を有する大部分の画像において見られる特徴は、バンドル調整されて、認証されることになる。さらに、一部の実施形態において、この手続きを用いて、画像の姿勢を推定するために認証された特徴のみが用いられてもよい。
「マークアップ言語」
一部の実施形態において、たとえば、本願明細書に記載されるようなマーカと関連付けられた意味情報は、モデルを定義するための豊富なマーカに基づくマークアップ言語を形成するために体系化されてもよい。このマークアップ言語は、モデルを構成することができる基本命令の集合を表す所定のマーカと関連付けられることができる異なる意味を多数含んでもよい。1つのマーカは、複数の関連付けられる意味を有することができる。一部の意味は、1つのマーカではなく、マーカの集合と関連付けられるだけであってもよい。一部の実施形態において、マークアップ言語はまた、モデルの要素を記述するためにマーカがどのようにそれらの関連付けられる意味と結合されることができるかを示す規則も含む。一部の実施形態において、これらの規則は、どのマーカが他のマーカと結合されることができるかを制限してもよく、またはマーカ間の競合をどのように克服するかを示してもよい。一部のマーカは、モデルの1つまたは複数の所望の静的態様を表すために、独立に用いられてもよい。これらのマーカは、モデル態様のさらに複雑な集合を表すために、他のマーカと結合されてもよい。一部の実施形態において、同一のタイプの2つまたはそれ以上のマーカが、モデルの所望の態様を表すために用いられなければならない。他の実施形態において、マーカは、物理空間におけるオブジェクトのサンプリングまたは定義を指示する空間をモデル化するための命令を表してもよく、1つまたは複数のモデル位置でモデルに挿入されることになっている命令を表してもよい。一部の実施形態において、このマークアップ言語は、マーカの意味の2つの主要なカテゴリを有し、静的モデルの態様を決定するためのマーカの意味と、動的モデルの態様を決定するためのマーカの意味と、を有する。一部の実施形態において、静的モデルの態様を決定するためのマーカの意味は、動的モデルの態様を決定するためのマーカの意味と結合されてもよい。
【0073】
一部の実施形態において、静的モデルの態様を決定するためのマーカの意味は、以下のタイプのうち1つまたは複数のタイプを含んでもよい。
【0074】
・平面、パラメトリック形状、押出の幾何的定義
○平面:1つまたは複数のマーカが、同一の平面上にある。この意味情報は、平面を定義するために用いられてもよい。
【0075】
○パラメトリック形状:マーカの集合が、パラメータ化された形状にある。この意味情報は、パラメータ化された形状の位置およびパラメータを推測するために用いられてもよい。パラメータ化された形状は、平面上にある2次元形状であってもよく、または完全に3次元のパラメータ化された形状であってもよい。たとえば、パラメータ化された形状は、特定の半径を有する円であってもよく、押出マーカは、円筒の高さを定義するために用いることが可能である。あるいは、パラメータ化された形状は、円の半径およびその高さを含み、したがって円筒を表すことが可能である。
【0076】
○押出:1つまたは複数のマーカは、押し出された表面上にある。これらのマーカまたは他のマーカもまた、2次元のパラメトリック形状に存在することを意味する関連付けられた意味を有する場合には、この情報は、形状を3次元に押し出すことによって、モデルを定義する際に用いることができる。このとき、押出マーカは、その形状がどの程度まで3次元に押し出される必要があるかを表す。
【0077】
・画像/テクスチャ/色エクストラクタ、オブジェクト挿入、定義などの抽出マーカ/挿入マーカ
○画像/テクスチャ/色エクストラクタ:ピクチャまたは掲示板などの画像が位置するエリアを定義するマーカの集合。
【0078】
○オブジェクト挿入:既存の3次元モデルが含まれることになっているオブジェクトの位置を定義するマーカまたはマーカの集合。
【0079】
○定義:モデルと異なる場所に複製され得るグループを構成する関連付けられたオブジェクトを示すマーカの集合。
【0080】
・線、角などの他の定義された形状を修正するためのモデファイアマーカ
○線:線上にあるマーカの集合。
【0081】
○角:特定の角度で角を定義する1つまたは複数のマーカ。たとえば、1つの角のマーカは、直角の角を表してもよい。これは、少数のマーカで矩形の領域を指定する好都合な方式を提供し得る。
【0082】
一部の実施形態において、動的モデルの態様を決定するためのマーカの意味は、以下のタイプの1つまたは複数を含んでもよい。
【0083】
・連携制約:連携位置、連携タイプ、連携軸および連携終了を含んでもよい。
【0084】
・移動特徴:移動タイプ、移動速度および移動方向を含んでもよい。
【0085】
・材料特徴:材料タイプ、材料密度、材料摩擦、回復係数などの材料跳ね返りパラメータを含んでもよい。材料特徴は一般に、動的モデルの作成における物理モデラによって用いられることが可能な任意の特徴である。
【0086】
・動的要素の挿入:制御部(たとえば、スライダ、スイッチ、レバー、ハンドル)、モータ、コンベヤベルト、滑車、ばね、ホイール、振り子および関節式連携部(たとえば、ロボットアーム)を含んでもよい。
【0087】
・モデル環境の動的態様:色、テクスチャまたは照明を含んでもよい。
【0088】
ここで、図4Cに注意が払われ、図4Cは、一部の実施形態に基づいて上述したマークアップ言語を用いて、モデルを定義する方法を示している。モデルビルダ226は、マークアップ言語から異なる意味を処理するための多数のハンドラを含んでもよい。一部の実施形態において、マークアップハンドラは、以下のうちの1つまたは複数を含んでもよい。壁マークアップハンドラ227−A、扉マークアップハンドラ227−B、色マークアップハンドラ227−Cおよび画像エクストラクタ・マークアップ・ハンドラ227−Dである。壁マーカについて、壁マークアップハンドラ227−Aは、一連のステップを行ってもよい。特徴の識別されるサブセットに関して(450)、壁マークアップハンドラ227−Aは、特徴姿勢データベース238における特徴を検索する(452)。一部の実施形態において、特徴と関連付けられた意味情報は、意味情報データベース240において検索される。一部の実施形態において、壁の初期モデルは、マーカの姿勢および関連付け意味情報によって課せられる制約に基づいて、壁マークアップハンドラによって作成されてもよい(456)。既に作成されたモデルがある場合には、モデルを更新するために、追加の特徴が分析されてもよい(458)。たとえば、扉マークアップハンドラ227−Bが、壁に扉があることを決定する場合には、扉マークアップハンドラは、モデルを更新して、扉を取り付けることができる穴が壁にあるようにする。
【0089】
たとえば、物理空間(たとえば、図1Aにおける110)において、壁のそれぞれに所定のマーカがあってもよく、部屋の壁である平面と関連付けられるものとしてマーカを識別する関連付け意味情報を有してもよい。初期の推定は、壁と関連付けられるマーカの姿勢に基づいて方向付けられる平坦で無限(または任意に大きい)平面領域である壁が、物理空間中に存在するというものであってもよい。しかし、一部の実施形態において、一旦、2つまたはそれ以上の壁が、個別のマーカによって識別されると、平面領域のそれぞれが、他の平面領域の1つまたは複数と交差してもよい。平面領域の2つが交差すると決定されるとき、マーカを含まないいずれかの平面領域の任意の部分を廃棄してもよい。このプロセスは、任意の数の交差する平面領域を含んでもよい。一部の実施形態において、マーカを有していない平面領域の部分が排除された後、今廃棄された平面領域との交差のために別の平面領域が廃棄される場合には、その別の平面領域を、共有エッジに沿って拡張してもよい。類似のプロセスが、天井、床または扉などの他の平面領域と共に用いられてもよい。一実施形態において、一旦、平面領域の望ましくない部分が廃棄されると、残りの平面領域は、モデルのための基部を形成してもよい。他の実施形態において、一旦、平面領域の望ましくない部分が廃棄されると、天井の高さ、床のサイズおよび形状、および部屋の他の寸法などの物理的関係を表す物理的パラメータが、決定されてもよい。一部の実施形態において、類似のプロセスが、物理空間に存在しないが物理空間において位置決めされる所定のマーカによって物理空間の画像において表される、モデルにおける壁を定義するために用いられてもよい。類似のプロセスが、非平面特徴の性質に基づく制約を用いて、平面でない特徴を含むモデルを定義するために用いられてもよいことは理解されるべきである。一部の実施形態において、図3Aを参照してさらに詳細に前述したように、追加の意味情報が、モデルをさらに定義するために用いられてもよい。
「マーカの位置決め」
ここで、図5A〜図5Dに注意が向けられる。図5A〜図5Dは、物理空間に配置された区別可能な視覚特徴112の例示の実施例を提供する。図5Aにおいて、複数の区別可能な視覚特徴112−Aから112−Lが図5Aおよび図5Bに示されているように、部屋の角などの物理空間に配置される。一部の実施形態において、これらの区別可能な視覚特徴112の1つまたは複数は、所定のマーカである。所定のマーカは、ユーザによって物理空間500における種々の物理的要素と関連付けられてもよい。これらの物理的要素は、物理空間における物理的オブジェクトまたは他の特徴であってもよい。所定のマーカは、物理空間の実際の態様に関する情報を表すために用いられてもよく、またはモデルの所望の態様を表すために用いられてもよい。図5Aにおける物理空間500のブロック図において、物理空間は、第1の壁502と、第1の壁502に連結されるが、第1の壁502とは異なり、窓またはディスプレイまたはポスタまたは他の要素または壁502における特定の関心領域であってもよい要素504と、第2の壁506、オブジェクト508、扉510とを含む。ユーザは、物理空間500に含まれる1つまたは複数の要素と1つまたは複数の所定のマーカを関連付けてもよい。たとえば、ユーザは、第1の壁502と1つまたは複数のマーカ112−B、112−Dを関連付けてもよい。ユーザはまた、窓またはディスプレイまたはポスタまたは壁502とは異なる他の要素であってもよい要素504とマーカ112−Cを関連付けてもよい。あるいは、図5D−1、図5D−2および図5D−3に関して以下に記載するように、ユーザは、要素504とマーカ112−Bを関連付けてもよく、または要素504と1つまたは複数のマーカ112−A、112−B、112−Dおよび112−Eを関連付けてもよい。ユーザはまた、第1の壁502とは異なる第2の壁506とマーカ112−Gを関連付けてもよい。一部の実施形態において、オブジェクト508などの他の要素が、たとえば、マーカ112−Fと関連付けられてもよい。扉510は、1つまたは複数のマーカ112−Jおよび112−Iと関連付けられてもよい。マーカ112−Hでない1つまたは複数の追加の区別可能な視覚特徴が、識別されてもよく、物理空間500の物理的パラメータの決定または物理空間の少なくとも一部に基づくモデルの定義を助けるために用いられてもよい。物理空間500は、本願明細書に記載されていない他の要素を含んでもよく、それらの要素は、所定のマーカに関連付けられてもよく、または関連付けられなくてもよいことは理解されるべきである。
【0090】
一部の実施形態において、一旦、1つまたは複数の所定のマーカが物理空間500における要素と関連付けられると、画像234が、物理空間から取得される。図5Bにおいて、画像234−A、234−Bおよび234−Cの例示の集合が、破線によって示されている。一部の実施形態において、2つ以上の画像234がある場合には、画像234のサブセットは、各画像234が1つまたは複数の区別可能な視覚特徴112を1つまたは複数の他の画像234と共有するように重なる。たとえば、第1の画像234−Aおよび第2の画像234−Bが重なり、区別可能な視覚特徴112−Dおよび112−Eを各画像において見ることができる。同様に、第2の画像234−Bおよび第3の画像234−Cが重なり、区別可能な視覚特徴112−Hを各画像において見ることができる。これは、図5C(a)、図5C(b)および図5C(c)において明らかにわかり、第1の画像234−A(図5C(a))、第2の画像234−B(図5C(b))および第3の画像234−C(図5C(c))がそれぞれ、個別に示されている。一部の実施形態において、画像234が重なる要件は、各区別可能な視覚特徴が共通視認性グラフにおけるノードであり、2つのノードが両方とも1つの画像に存在するときかつそのときに限り、エッジによって接続される場合、以下のように共通視認性グラフを作成することによって交互に定義することができる。この共通視認性グラフが接続され、基準特徴および第2の区別可能な視覚特徴を含む場合には、第2の特徴の姿勢は、基準特徴の姿勢に対して決定することができる。
【0091】
重なる画像のシーケンスが必要とされる実施形態において、場合によっては、ユーザにとって特定の関心がある物理空間の2つまたはそれ以上の領域があってもよいが、2つまたはそれ以上の領域は、重なる画像のシーケンスによって連結することができない可能性がある。1つの領域からの特徴が、別の領域の特徴を含む画像において見られないように、領域および区別可能な視覚特徴が位置決めされる場合には、2つの領域は、重なる画像のシーケンスによって連結することができない。この場合には、上述した方法によって、他の領域における要素の姿勢に対して、領域の1つにおける要素の姿勢を決定することは不可能であろう。たとえば、共有される特徴112−Hが、図5Bから除去される場合には、第1の画像234−Aおよび第2の画像234−Bにおける特徴の姿勢を第3の画像234−Cにおける特徴の姿勢と接続する方法はなくなる。一部の実施形態において、この問題は、共有される特徴112−Hの位置に所定のマーカを配置することによって克服される。一部の実施形態においては、共有される特徴112−Hの位置におけるこの所定のマーカが、任意の関連付け意味情報を有さず、主に第3の画像234−Cにおける特徴の姿勢を第1の画像234−Aおよび第2の画像234−Bにおける特徴の姿勢に対して決定することが可能となるように機能する。別の解決策は、各領域において1つの基準特徴を選択し、一方の基準特徴のそれぞれの姿勢を他方に対して決定することである。また、たとえば、共有される特徴112−Hが存在しなかった場合には、ユーザは、同一の座標系に対して、第1の画像234−Aにおける第1のマーカ112−Aの姿勢および第3の画像234−Cにおける第2のマーカ112−Lの姿勢を測定することを可能にし、次に、基準マーカとして第1の特徴112−Aおよび第2の特徴112−Lの両方を定義することを可能にする。
【0092】
共通視認性グラフ(たとえば、画像の鎖)を構成することによって特徴のサブセットの姿勢を決定する1つの特定の実施例が、図5Cを参照して以下に記載される。この実施例において、第1の区別可能な視覚特徴112−Aは、基準特徴として選択され、最後の区別可能な視覚特徴112−Lの最終的な姿勢を決定するプロセスは、図5Cにおける画像をシーケンス(たとえば、第1の画像234−A、第2の画像234−Bおよび第3の画像234−C)に順序付けし、次に、基準特徴112−Aの姿勢から第1の画像234−Aの画像姿勢を決定し、画像234−Aの画像姿勢に基づいて、第2の特徴112−Dの特徴姿勢を決定し、112−Dの第2の特徴姿勢に基づいて、第2の画像234−Bの画像姿勢を決定し、第2の画像234−Bの画像姿勢に基づいて、第3の特徴112−Hの特徴姿勢を決定し、第3の特徴112−Hの特徴姿勢に基づいて、第3の画像234−Cの画像姿勢を決定し、第3の画像234−Cの画像姿勢に基づいて、最終的な特徴112−Lの特徴姿勢を決定する。
【0093】
ここで図5D(a)、図5D(b)および図5D(c)に注意が向けられる。これらの図面は、一部の実施形態に基づき、物理空間の画像に現れる可能性がある所定のマーカの異なるタイプを示す。前述したように、マーカ112は、物理空間(たとえば、図5Aにおける500)において物理的要素(たとえば、物理的オブジェクトまたは特徴)と関連付けられてもよい。この関連付けは、多様な手段によって達成されてもよい。図5D(a)は、物理的オブジェクト504と直接結合されるマーカ550と直接結合される所定のマーカ112−Bの一実施形態を示す。図5D(b)は、物理的オブジェクト504の角付近であることを表す関連付け意味情報を有する所定のマーカ112−Bの一実施形態を示す。一部の実施形態において、マーカのこのタイプは、角定義マーカ552と呼ぶことができる。そのようなマーカの集合は、その物理的オブジェクト504の寸法を直接的に決定することができる。あるいは、所定のマーカ112と関連付けられる意味は、矩形の物理的オブジェクト504と関連付けられることを示してもよく、画像処理ソフトウェアが、所定のマーカ112によって示される位置の近傍の角を有する矩形を検出するために用いられてもよい。図5D(c)は、領域定義マーカ554である所定のマーカ(たとえば、112−A、112−B、112−Dおよび112−E)の一実施形態を示しており、領域定義マーカ554は、領域の境界を定義し、表された境界内に位置しているオブジェクト(たとえば、要素504)を示す。一部の実施形態において、オブジェクトの形状が表され、画像処理ソフトウェアが、境界内で表された形状を識別するために用いられる。たとえば、所定のマーカ112と関連付けられた意味情報は、矩形の周囲に位置していることを表してもよい。画像処理ソフトウェアを次に、所定のマーカによって定義される境界内に位置している最大の矩形を識別するために用いることができる。そのような実施形態は、マーカを開口部に直接的に結合することが可能でない場合に、所定のマーカ112を開口部と関連付けるために、もしくは、マーカをオブジェクトに直接的に結合することが不都合であるかまたは損傷を及ぼす場合に、ディスプレイ、窓または他のオブジェクトと所定のマーカ112を関連付けるために、特に有用となり得る。物理空間において物理的要素をマーカと関連付けるための可能な方法は多くあることを理解すべきであり、当業者は、上述した方法とは異なる代替物を容易に認識するであろう。
【0094】
上述した実施形態などの物理的要素と直接的に結合される所定のマーカ112を必要としない実施形態は、マーカが関連付けられる物理的要素に対して正確に位置決めされる必要がないという追加的な利点を有する。たとえば、4つの所定のマーカ(たとえば、112−A、112−B、112−Dおよび112−E)は、多くの異なる位置に位置決めされることができ、画像処理ソフトウェアが所定のマーカ(たとえば、112−A、112−B、112−Dおよび112−E)によって包囲される要素504を容易に識別することが可能であるように、境界をさらに定義することができる。所定のマーカの配置における誤差に対するこの許容差により、注意深い測定を必要としないことから、ユーザは、マーカを相対的に迅速に配置することが可能となる。
【0095】
ここで、図6に注意が向けられる。図6は、一部の実施形態に基づいて、一連のルックアップテーブルを示す。一部の実施形態において、一旦、物理空間の画像234が捕捉されると、それらは姿勢エスティメータ224(図2)によって処理されてもよい。特徴602のうちの1つまたは複数を表すデータは、特徴ID604および特徴姿勢情報606と関連付けられてもよい。一部の実施形態において、特徴姿勢情報は、特徴のサブセットに関して利用可能であるに過ぎない可能性がある。一部の実施形態において、唯一の部分特徴姿勢情報は、特徴のサブセットに関して利用可能であってもよい。他の実施形態において、完全な特徴姿勢情報は、特徴のすべてに関して利用可能であってもよい。さらに、画像608のうちの1つまたは複数を表すデータが、画像ID610および画像姿勢情報612と関連付けられてもよい。一部の実施形態において、モデルビルダ226(図2)が、特徴のサブセットを選択し、特徴のサブセットにおける各特徴に関して、モデルビルダ226は、姿勢データベース238からその特徴の姿勢606を識別し、意味情報データベース240から特徴と関連付けられる任意の意味情報406を識別し、図4Cに関して上述したように、モデルを定義する。3Dモデルレンダラ228(図2)は、モデルを取得し、定義されたモデルに基づいて3次元モデルをレンダリングする。モデルに挿入可能なアイテムを挿入するために、3Dモデルレンダラは、挿入可能なアイテムデータベース244に挿入可能なアイテムID614を検索し、そのIDと関連付けられるアイテム616をモデルに挿入してもよい。一部の実施形態において、挿入可能なアイテム616は、画像ファイル、ビデオファイル、ビデオストリーム、3D CADファイルまたは視覚的に表現されることができる他の格納ファイルである。他の実施形態において、プレースホルダアイテムは、挿入可能なアイテムデータベース(たとえば、一般的な椅子)に格納され、その結果、ユーザは、モデルに配置される特定のアイテムを特定することなく、アイテムのタイプを特定することができる。その後、ユーザは、多数の可能な特定のアイテム618から選択して、プレースホルダアイテムに置き換える(たとえば、CADデータベース246から「椅子3」を取り上げる)というオプションを選択することができる。
【0096】
この実施例において、一旦、姿勢が決定され、姿勢データベース238に格納されると、モデルビルダ226は、特徴112−Eの少なくとも1つを選択し、姿勢データベース238における姿勢情報を検索してもよい。モデルビルダ226が、椅子がその姿勢(すなわち、その位置および向き)においてモデルに挿入されることになっていることを表す特徴に関連付けられた意味情報を用いる。椅子の特定の3D CADモデルが、挿入可能なアイテムデータベース244に格納される場合には、3Dモデルレンダラ228はモデルに特定の3D CADモデルを挿入してもよい。椅子の特定の3D CADモデルが、挿入可能なアイテムデータベース244に格納されない場合には、3Dモデルレンダラ228は代わりに、モデルに椅子用のプレースホルダを挿入してもよく、これは、一般的な椅子の3D CADモデルであってもよく、または椅子が特徴112−Eの位置に配置されるべきであることを示す別の視覚的インジケータであってもよい。ユーザが、モデルによって提示されるとき、ユーザは、CADデータベース246から椅子の特定の3D CADモデルを選択するか、または挿入可能なアイテムデータベース244に椅子の特定の3D CADモデルをアップロードするように促されてもよい。
【0097】
アイテムはまた、モデルビルダ226によって挿入可能なアイテムデータベース244に格納されてもよい。一部の実施形態において、テクスチャが物理空間からサンプリングされ、モデルに配置されることになっていることを意味情報データベース240が表す場合には、モデルビルダ226(図4A)は、画像234におけるテクスチャを識別し、挿入可能なアイテムデータベース244に格納する。3Dモデルレンダラ228は次に、挿入可能なアイテムデータベース244からテクスチャを取得し、それをモデルに挿入してもよい。たとえば、要素504が絵画である場合には、1つまたは複数の関連付けられる特徴の集合が、要素が矩形のオブジェクトであり、モデルビルダ226が、特徴の集合と関連付けられる矩形の要素を識別し、画像から要素のテクスチャをサンプリングするべきであることを表す、関連付け意味情報を有してもよい。これらのマーカまたは他のマーカと関連付けられる意味は、テクスチャがモデルにおいて特定の位置に挿入されることになっていることを表してもよい。モデルビルダ226は次に、テクスチャをサンプリングし、挿入可能なアイテムデータベース244にテクスチャを含む画像234−Aの一部を格納してもよい。一部の実施形態において、3Dモデルレンダラ228(図4A)は、モデルレンダリング命令データベース242におけるモデルレンダリング命令を用いて、モデルを構築し、次に、挿入可能なアイテムデータベース244にサンプリングされたテクスチャを含む画像ファイルを検索し、それを表された1つまたは複数の位置でモデルに挿入してもよい。これらの実施形態は例示に過ぎないことを理解されるべきであり、当業者は、上述した方法の明白な代替物を容易に認識するであろう。
【0098】
ここで、図7に注意が向けられる。一部の実施形態に基づいて、意味情報データベース240に格納された意味情報が、1つまたは複数のクラスおよびサブクラスに分類される。各意味クラスおよびサブクラスは、一定の制約と関連付けられる。関連付け意味情報が含む特徴は、クラスまたはサブクラスがそれらの制約の対象であることである。意味情報の構造の実施形態を示す概略図が、図7において提供される。図7において、平面に関する意味情報構造の実施例が、記載される。この実施形態において、意味情報は、階層における各サブクラスが、属するクラスまたはサブクラスからの制約のすべてを継承するような階層構造を有する。他の実施形態において、サブクラスは、属するクラスの制約の一部のみを継承してもよい。制約のこのクラス継承の一実施形態が、図7に示されているが、この実施形態は例示に過ぎず、他のクラス継承構造が、例示の実施形態の代わりにまたは例示の実施形態と組み合わせて用いられてもよいことは理解されるべきである。
【0099】
たとえば、モデルにおける要素が、関連付け意味情報「平面」702を有する特徴と関連付けられる場合には、モデルビルダは、クラス「平面」と関連付けられる制約のすべてを、たとえば、特徴が平坦な2次元の表面に位置しているという制約を、その特徴に適用してもよい。モデルビルダはまた、特徴の姿勢を表す情報を有してもよく、平面の姿勢を決定するために用いられることができる。一旦、平面の姿勢が決定されると、図4Cを参照して前述したように、モデルの種々の態様(たとえば、物理的パラメータ)を計算することができる。さらに、モデルの要素が、関連付け意味情報「壁」704を有する特徴と関連付けられる場合には、モデルビルダは、クラス「平面」と関連付けられる制約のすべてを特徴に適用してもよく、さらなる制約も適用してもよい。一部の実施形態において、これらの追加制約は、壁が垂直であることを含んでもよい。さらに、モデルの要素が、関連付け意味情報「壁1」706−Aを有する第1の特徴と関連付けられる場合には、モデルビルダは、クラス「平面」およびサブクラス「壁」と関連付けられる制約のすべてを特徴に適用してもよく、さらなる制約も適用してもよい。一部の実施形態において、これらの追加制約は、第2の特徴もまた、関連付け意味情報「壁1」を有することを含み、その場合には、モデルビルダは、第1の特徴および第2の特徴の両方が、モデルにおける同一の壁と関連付けられるという制約を適用してもよい。さらに、一部の実施形態において、第2の特徴が、関連付け意味情報「壁2」を有してもよく、その場合には、モデルビルダは、第1の壁が、第2の壁とは異なる場合には、第1の特徴が第1の壁にあり、第2の特徴が第2の壁にあるという制約を適用してもよい。さらに、一部の実施形態において、サブクラス「天井」708は、マーカが上からサブクラス「壁」における平面と境界をなす実質的に水平の平面にあるという関連付け意味情報を含んでもよい。同様に、一部の実施形態において、サブクラス「床」710は、マーカが下からサブクラス「壁」における平面と境界をなす実質的に水平の平面にあるという関連付け意味情報を含んでもよい。
【0100】
ここで、所定のマーカ112−1の特定の実施形態に注意が向けられる。図8Aは、本発明による物理空間に配置されることができる所定のマーカ802の実施例を示す。一部の実施形態において、所定のマーカ112−1は、以下の特徴の一部またはすべてを満たす。マーカが、画像処理ソフトウェアによって画像234において容易に認識されること、マーカが視覚的に一意であること、マーカが大きな距離で一意に識別されることができること、マーカが誤差補正特性を含むこと、およびマーカが回転対称でないことである。バーコードおよびQRコードなどの公知のマーカの一部の種類は、これらの特性の少なくとも一部を満たす。マーカは、ユーザによって必要とされるものに応じて、さまざまな異なるサイズであってもよい。物理空間に関する詳細を捕捉するために用いられることが可能である拡大図の場合には、より小さなマーカが、物理空間の画像の中に完全に適合する確率が高い場合がある。物理空間のより大きな部分から要素を捕捉するために用いられることが可能である遠くから見た図の場合には、より大きなマーカが、目で見ることができ、カメラによって認識可能である確率が高い場合がある。一部の実施形態において、小さなマーカのみが用いられてもよく、他の実施形態において、より大きなマーカのみが用いられてもよく、さらに他の実施形態において、2つ以上のサイズのマーカが用いられてもよい。マーカのサイズ情報は、マーカデータベースに格納されてもよく、これにより、異なるサイズのマーカを含む画像において正確な姿勢推定を可能にする。
【0101】
一部の実施形態において、マーカは、ARToolKitなどの画像処理ソフトウェア、または大域的な閾値を適用することによって、任意のカラー画像を黒および白に変換することによる他の類似のソフトウェアなどによって、識別される。一部の実施形態において、マーカの検出速度および精度を改善するために、精度が、時間および処理能力の効率的な使用よりはるかに重要である場合には、候補マーカの位置を決定するための第1の検出後、ARToolKitなどの画像処理ソフトウェアを再び実行する前に、閾値選択技術が、各関心領域で用いられることができる。画像処理ソフトウェアは、各関心領域に関して2モードの強度ヒストグラムを作成してもよく、これにより、優れた精度でマーカの検出を可能にする。
【0102】
一部の実施形態において、所定のマーカ112−1は、マーカ間で一致する1つまたは複数の一様な要素を有してもよい。一部の実施形態において、これらの一様な要素は、マーカのある点に対する既知の位置を有し、同一線上にはない3つまたはそれ以上の点を提供する。マーカ802は、所定のマーカ112−1の一実施形態である。この実施形態において、マーカ802は、マーカの既知の点(たとえば、マーカの中心)に対する既知の位置を有し、同一線上にはないマーカの4点として機能する、角804−A、804−B、804−Cおよび804−Dを有する。マーカ802の実施例の場合のように、マーカに3つまたはそれ以上の点(同一線上にはない)を有することは、モデルを定義する際に役立ち、物理空間の物理的パラメータに基づいてもよい追加情報を提供する。たとえば、平面は、3つの同一線上にはない点によって一意に決定されることができる。マーカが、既知の向きを有し、関連付け意味情報が、マーカが平面上に位置していることを表す場合には、平面の向きは、3つの既知の同一線上にはない点を含む1つのマーカを見ることによって決定されることができる。
「モデルを定義するユーザが実行する方法」
ここで、図8Bから図8Cに注意が向けられる。図8Bは、一部の実施形態に基づく所定のマーカを含むシートを示すブロック図である。本発明の一部の実施形態によれば、複数の所定の物理的マーカが、作成される。これらの所定のマーカは、物理空間に配置されるように構成されてもよい。これらのマーカの少なくとも一部が、関連付け意味情報を有する。ユーザは、マーカの少なくとも一部を提供され、マーカの一部における第1のマーカは、第1のマーカと関連付けられた意味情報を表す関連付けられるラベルを有する。マーカは、マーカのうちの1つまたは複数を含む画像を分析することによって、モデルを定義するアプリケーションプログラムと共に用いられるように構成される。一部の実施形態において、アプリケーションプログラムは、図2に対して前述した方法に基づいて動作する。一部の実施形態において、意味情報は、モデル態様と、複数の所定のマーカと関連付けられた意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義される。
【0103】
一部が関連付け意味情報を有する所定のマーカ(たとえば、図1Aの112−1)を備えるユーザは、物理空間(たとえば、図1Aの110)において物理的要素と所定のマーカ112−1を関連付けてもよい。一部の実施形態において、所定のマーカ112−1は、所定のマーカ112−1を物理的要素に添付することによって物理的オブジェクトと関連付けられる。添付方法は、永久、半永久または一時的であってもよい。一部の実施形態において、ユーザは、物理空間において位置決めされるマーカによって、物理空間の画像を収集することができる。ユーザは次に、画像234からの情報に基づいて、モデルを定義するためにアプリケーションプログラムを用いることができ、任意に3次元仮想モデルなどのモデル(たとえば、図1Aの120)をレンダリングすることができる。一部の実施形態において、ユーザは、ユーザ・インターフェイス・モジュール(たとえば、図2の221)への入力を提供することによって、モデルを構築する中間段階で介入することができる。ユーザによる介入は、たとえば、種々の特徴と意味情報を関連付けることによって、情報を追加するためであってもよい。ユーザによる介入はまた、たとえば、3Dモデルレンダラに一定の画像または特徴を無視するように命令することによって、あるいは1つまたは複数の特徴の姿勢が不十分に推定されるような、3Dモデルレンダラにおける誤差を補正するためであってもよい。
【0104】
一部の実施形態において、ユーザが、1つまたは複数のページ812を含む本810における1つまたは複数の所定のマーカ112−1を提示される。一部の実施形態において、所定のマーカ112−1は、接着剤付きの裏当てを有する。ユーザに提示される所定のマーカ112−1は、関連付け意味情報に基づいてグループ化され、関連付け意味情報を表すシンボルでラベル付けされる。関連付け意味情報に基づくマーカのグループ化は、ユーザが適切な関連付け意味情報を有するマーカを迅速に位置決めすることを可能にする。たとえば、マーカのページ812において、マーカが、3つのグループ、「壁1マーカ」814、「壁2マーカ」816および「赤いマーカ」818に体系化されてもよい。一部の実施形態において、グループ「壁1マーカ」814における所定のマーカ112−1は、それらがすべて、実質的に垂直である同一の平坦な平面上に位置決めされることを表す関連付け意味情報を有してもよく、グループ「壁2マーカ」816における所定のマーカ112−1は、それらがすべて、実質的に垂直であり、グループ「壁1マーカ」814からの任意のマーカを含む表面とは異なる同一の平坦な平面上に位置決めされることを表す関連付け意味情報を有してもよい。一部の実施形態において、グループ「赤いマーカ」818における所定のマーカ112−1は、モデルにおいてこれらのマーカの1つと関連付けられるオブジェクトが赤色であることを示す関連付け意味情報を有する。一部の実施形態において、この色は、マーカと関連付けられる物理的オブジェクトの色に対応してもよく、そのマーカを示す画像をサンプリングすることによって決定されてもよく、他の実施形態において、この色は、マーカと関連付けられる物理的オブジェクトの色に対応しないユーザによって選択された色であってもよい。一実施形態において、色を示す色サンプルは、ページ上に印刷され、グループと関連付けられてもよい。
【0105】
一部の実施形態において、他のマーカは、関連付け意味情報の表示と共にユーザに提示される。これらの表示は、グラフィカル表示であってもよい。これらのグラフィカル表示は、テキストを含んでもよい。図8Cは、関連付け意味情報のグラフィカル表示を有する一部の所定のマーカ112−1の実施例を示す。単語を含むかどうかに関係なく、矢印および他のグラフィカルシンボルが、ユーザに所定のマーカ112−1と関連付けられる意味情報を示すために、所定のマーカ112−1を含むページ上に印刷されてもよいが、グラフィカルシンボルは、所定のマーカ112−1の一部であってもよく、または一部でなくてもよい。たとえば、線マーカ820は、線が所定のマーカ112−1の近傍に位置して、所定のマーカ112−1の1つのエッジに実質的に平行であることを表す関連付け意味情報を含んでもよい。ユーザが線を表すためにマーカを適切に用いるためには、ユーザは、線に対する所定のマーカ112−1の適切な位置および向きを知っていなければならない。一実施形態において、線マーカ820に含まれるグラフィカルシンボルは、拡張された記述を必要とすることなく、明確にこの情報を伝える。同様に、角マーカ822は、マーカのどの角が、角マーカ822によって表されることになっている角の付近に配置されなければならないかを識別するために、他のシンボルを用いてもよい。別の角マーカ824もまた、所定のマーカ112−1のどの角が、角マーカ824によって表されることになっている角の付近に配置されなければならないかを識別するために、別のシンボルを用いてもよい。一部の実施形態において、テクスチャまたは色サンプルマーカ826が、そのテクスチャおよび/または色に関してサンプリングされる領域のサイズおよび位置を表す。一部の実施形態において、所定のマーカ112−1は、ユーザの指示によって物理空間に配置される前に、グラフィカルシンボルから分離されてもよく、他の実施形態において、グラフィカルシンボルを含むマーカが、物理空間に配置されてもよい。物理空間にグラフィカルシンボルを含むマーカを共に配置することは、ユーザにマーカをさらに正確に配置するように案内するのに役立つ可能性があるという利点がある。しかし、場合によっては、グラフィカルシンボルは、物理空間の重要な態様を不明瞭にする可能性があり、したがって、ユーザは、グラフィカルシンボルから所定のマーカ112−1を分離し、物理空間に所定のマーカ112−1のみを配置してもよい。
【0106】
所定のマーカ112−1と意味情報を関連付ける別の方法もまた、検討される。たとえば、マーカは、所定のマーカ112−1を生成することが可能な電子デバイスに格納されることが可能である。ユーザは次に、電子デバイスに必要な意味情報の表示を提供することが可能であり、一部の実施形態に基づいて、本願明細書に記載したように、物理空間110の画像の少なくとも一部に基づき、モデルを定義する際に用いるために、1つまたは複数の所定のマーカを生成して、意味情報データベース240におけるマーカを表す情報と共に、ユーザが表した意味情報を格納することが可能である。
「動的指定マーカ」
一部の実施形態において、モデルの態様は、前述したように、静的態様に制限される。他の実施形態において、モデルの態様は、静的態様および動的態様の両方を含んでもよい。一実施形態において、モデルを定義するコンピュータ実行方法は、静的構成における物理空間(たとえば、図1Aの110)の図9の1つまたは複数の画像234を分析することを含む。画像の少なくとも1つは、1つまたは複数の区別可能な視覚特徴(たとえば、図1Aの112)を含む。一部の実施形態において、意味情報は、区別可能な視覚特徴と関連付けられ、モデルは、関連付け意味情報に基づいて定義される。定義されたモデルは、区別可能な視覚特徴の1つまたは複数と関連付けられる少なくとも1つのモデルの態様を含み、モデルの態様は、区別可能な視覚特徴の1つまたは複数と関連付けられる意味情報に基づいて、動的挙動を可能にする。一部の実施形態は、ODE、Newton、PhysXなどのアニメーションのスクリプト記述の提供する、および/または、動的物理モデラを使用する表示アプリケーションにおいて、動的挙動をレンダリングするステップを任意に含む。動的態様を含むモデルにおいて、モデルは、モデルにおける2つまたはそれ以上のオブジェクトの間の関係を定義する連携を含んでもよい。第1のオブジェクトと第2のオブジェクトとの間の連携(たとえば、扉と壁との間の蝶番)は、第1のオブジェクトまたは第2のオブジェクトまたはその両方の位置において制約を課してもよい(たとえば、扉は、扉と壁との間の蝶番を中心として回転するだけであってもよい)。以下にさらに詳細に記載するように、動的態様は、連携の制約、動きの特徴、材料特徴、動的要素の挿入およびモデル環境の動的態様を含んでもよい。
【0107】
ここで、上述した方法を実行する計算デバイス900の一実施形態を示す図9に注意が向けられる。計算デバイス900の要素の多くは、計算デバイス200および図2を参照してさらに詳細に前述される。一部の実施形態において、計算デバイス900は、メモリ906が任意に、CPU202から遠隔位置にある大容量格納装置を含んでもよいことを含む。メモリ906またはあるいはメモリ906内の不揮発性メモリデバイスは、コンピュータ読み出し可能記憶媒体を含む。メモリ906は、以下の要素またはこれらの要素のサブセットを格納し、以下の追加要素もまた含んでもよい。
【0108】
・連携の制約、動きの特徴、材料特徴、動的要素の挿入およびモデル環境の動的態様などの、仮想モデルの動的態様をモデル化するための手順を含む、動的態様モデラ902、
・動的3次元モデルの動的挙動および動的態様に少なくとも部分的に基づくモデルにおけるオブジェクトを決定するための手順を含む、モデル表示アプリケーション904(ODE、Newton、PhysXまたは他の剛体物理モデラなど)または他の動的モデラ(VRMLアニメーションを支援するVRMLブラウザなど)。一部の実施形態において、モデル表示アプリケーションは、Open Dynamics Engineなどの剛体物理エンジンであってもよい。(Open Dynamics Engineは、剛体動性をシミュレートするためのオープンソースの高性能ライブラリである。高度連携タイプを有し、摩擦による統合衝突検出を有する。)一部の実施形態において、動的挙動は、ユーザがモデルにおけるオブジェクトと相互作用することにより入力を提供するとき、モデルの適切な応答を表す情報である。一部の実施形態において、動的態様の挙動は、非物理的であり、物理的モデル化は、必要とされない。たとえば、モデルは、ユーザが扉を単にクリックする場合に、開閉の間で扉が切り替わるスクリプト記述された挙動を有してもよい。あるいは、扉は、サイズ、密度および摩擦および壁との蝶番連携を含む動的態様を有してもよい。これにより、ユーザが「仮想的に」扉を押すことによって扉と相互作用するときに、モデル表示アプリケーションは、扉の挙動をシミュレートすることが可能である。この実施例において、扉を開けるユーザを表す入力がある場合には、扉が回転されてもよく、回転速度は、扉のサイズ、密度および摩擦と共に、ユーザが扉を押す力を表す入力によって決定されてもよい。
【0109】
・図2における要素に対応し、図2を参照して本願明細書にさらに詳細に記載される図9に示される追加要素。
【0110】
ここで、少なくとも一部の動的態様を含むモデルを定義するための一部の実施形態による方法の記述に対して注意が向けられる。図10は、そのような態様を定義するための方法の一実施形態を示すフローチャートである。一部の実施形態において、静的構成における空間の1つまたは複数の画像234が、分析され(1010)。画像の少なくとも1つが、1つまたは複数の区別可能な視覚特徴を含む。一部の実施形態において、意味情報は、区別可能な視覚特徴の少なくとも1つと関連付けられる(1012)。一部の実施形態において、区別可能な視覚特徴は、所定のマーカである(1014)。一部の実施形態において、1つまたは複数のマーカと関連付けられる意味情報は、識別される(1016)。一部の実施形態において、意味情報は、モデルの静的特徴態様(1022)またはモデルに挿入されることになっている構成要素(1024)などの、モデルの1つまたは複数の静的態様を表してもよい。モデルの静的態様を表す意味情報は、図3Aから図3Bを参照してさらに詳細に上述される。一部の実施形態において、意味情報は、モデルの幾何的特徴(1018)、モデルの非幾何的特徴(1020)、連携制約(1026)、動き特徴(1028)、材料特徴(1030)、動的要素の挿入(1032)またはモデル環境の動的態様(1034)などの、モデルの1つまたは複数の動的態様を表してもよい。一部の実施形態において、動的態様は、物理空間の対応する動的態様を表している。一部の実施形態において、動的態様は、物理空間の任意の対応する動的態様を表していないが、仮想モデルの所望の動的態様を表してもよい。
【0111】
一部の実施形態において、連携制約を表す意味情報は、モデルにおける少なくとも第1のオブジェクトと第2のオブジェクトとの間の動的関係を表す。一部の実施形態において、関係は、第1のオブジェクトの移動の範囲が、第2のオブジェクトの位置に対して制約が課せられるものであってもよい。一部の実施形態において、連携制約マーカの1つのタイプのみが用いられる。他の実施形態において、連携制約マーカの複数のタイプが、第1のオブジェクトと第2のオブジェクトとの間の動的関係を表すために用いられる。一部の実施形態において、連携制約(1026)は、以下を含んでもよい。
【0112】
・連携位置または連携の位置を表すアンカ。たとえば、マーカは、連携が、マーカの姿勢に対する位置でモデルに位置決めされることになっていることを表してもよい。
【0113】
・連携タイプ(1036)。第1のオブジェクトが、第2のオブジェクトに対して固定されること、第1のオブジェクトが、第2のオブジェクトとは分離可能であること、または第2のオブジェクトに対する第1のオブジェクトの移動範囲が、軸を中心とした回転、所定の方向における摺動、または所定の経路に沿った摺動に限定されることを表す。
【0114】
・連携軸(1038)。第1のオブジェクトがその周りに回転することができる軸を表す。一部の実施形態において、軸は、座標系の軸と自動的に整合されてもよい。たとえば、z軸が床に垂直であるように座標系が定義される場合には、扉の蝶番である連携軸を表すマーカは、z軸に平行であるように自動的に整合されてもよい(たとえば、連携は、「垂直にスナップしてもよい(snap to vertical)」。
【0115】
・連携停止(1040)。回転移動に関する最大進行角または摺動移動に関する最大進行直線距離などの物理的な移動範囲を表す。たとえば、連携停止マーカは、壁における扉が、壁と平行な位置から90°を超えて進まなくてもよいことを示してもよい。別の実施例において、連携停止マーカは、キャビネットの引き出しが、一定の距離より長くキャビネットから引っ張り出されなくてもよいことを示してもよい。一部の実施形態において、距離は予め決定されてもよく、他の実施形態において、距離は、キャビネットの深さに基づいて自動的に計算されてもよい。
【0116】
一部の実施形態において、動き特徴を表す意味情報(1028)は、第1のオブジェクトの動きに関する情報を表す。一部の実施形態において、動きは、所定の座標系に対してである。他の実施形態において、動きは、モデルにおける第2のオブジェクトに対してである。一部の実施形態において、動き特徴は、第2のオブジェクトに対する第1のオブジェクトの動きが、特定の性質、たとえば、回転運動(たとえば、モータ)、往復運動(たとえば、ピストン)または直線運動(たとえば、コンベヤベルトの上面図)を有することを示してもよい動きタイプ(1042)を含む。一部の実施形態において、動き特徴は、速度(1044)を含み、オブジェクトまたはオブジェクトの一部が、モデルにおける他のオブジェクトに対して移動する速度を表してもよい。一部の実施形態において、速度は、1つの所定のマーカによって表される。他の実施形態において、速度は、2つのマーカによって表され、マーカ間の距離は、所定の時間量におけるオブジェクトによって進行される距離を表す。たとえば、1m離隔して配置される2つのマーカは、関連付けられるオブジェクトが1秒当たり1m移動することを表してもよく、2m離隔して配置される2つのマーカは、関連付けられるオブジェクトが1秒当たり2m移動することを表してもよい。一部の実施形態において、動き特徴は、第1のオブジェクトが移動中である方向を表してもよい動き方向(1046)を含む。一部の実施形態において、1つのマーカが方向を表してもよく(たとえば、動きの方向が、動き方向マーカの姿勢に対して定義されてもよい)、他の実施形態において、2つ以上のマーカが、動きの方向を表すために用いられてもよい(たとえば、動きの方向は、直線における第2のマーカの位置まで第1のマーカを移動するために必要とされるように、動きの方向によって表されてもよい)。これらのマーカは、たとえば、コンベヤベルトの速度、モータの所望の速度またはモータの最大速度を表すために用いられることができる。マーカは、線に沿ってまたはホイール上に配置されることができる。複数の速度が、このように複数のマーカによって表されることが可能であり、モデルにおける制御部は、ユーザがこれらの速度の1つを選択することを可能にする。
【0117】
一部の実施形態において、材料特徴を表す意味情報(1030)は、モデルにおけるオブジェクトの材料の特徴を示す。一部の実施形態において、第1のマーカによって表されるオブジェクトの一定のタイプは、デフォルトの材料特徴(たとえば、デフォルトの扉は、木から形成されてもよい)を有してもよく、第2のマーカが、オブジェクトに関する関連付け追加意味情報を有してもよく、追加意味情報は、デフォルトの材料特徴の少なくとも一部とは異なり、それを無効にする材料特徴を含むオブジェクトの別の材料特徴を含む(たとえば、マーカは、扉がデフォルトの木ではなく、金属から形成されることを表してもよい)。一部の実施形態において、材料特徴は、材料密度、摩擦および反発力を表す材料タイプマーカ(1048)を含んでもよい。一部の実施形態において、材料密度(1050)、材料摩擦(1052)および材料反発係数(すなわち、反発力パラメータ)が、個別のマーカによって表されてもよい。一部の実施形態において、マーカは、多数の特定の材料特徴が、少数の特定のマーカによって表される材料特徴を無効にすることを表す。たとえば、オブジェクトは、オブジェクトが扉である(デフォルト材料タイプ:木、デフォルト材料密度:中実)ことを示すマーカ、オブジェクトの材料タイプが金属である(デフォルト材料密度:中実)ことを示すマーカ、およびオブジェクトが中空であることを示すマーカを有してもよい。この実施例において、モデルビルダ226、3Dモデルレンダラ228、動的態様モデラ902およびモデル表示アプリケーション904(図9)は、オブジェクトを中空の金属の扉として識別する。他の実施形態において、より一般的なマーカは、より特定のマーカを無効にする可能性がある。この実施形態において、モデルビルダ226、3Dモデルレンダラ228、動的態様モデラ902およびモデル表示アプリケーション904(図9)は、オブジェクトを木製の扉として識別する。他の実施形態において、マーカは、その関連付け意味情報が、他のマーカと関連付けられる任意の矛盾する意味情報を無効にすることを表す関連付け意味情報を有してもよい。一部の実施形態において、サンプリングされたテクスチャなどの静的態様もまた、図3Aを参照して前述したように、モデルにおけるオブジェクトと関連付けられてもよい。
【0118】
一部の実施形態において、動的要素の挿入を表す意味情報(1032)は、動的態様を有する要素が、関連付け意味情報を有するマーカに対して特定の姿勢に挿入されることになっていることを表してもよい。一部の実施形態において、動的要素は、制御部である。たとえば、マーカは、制御部が、特定の位置でモデルに挿入される必要があり、制御部は、ボタン、スイッチ、ハンドルまたはスライダまたは他の制御部であってもよいことを表してもよい。制御部(たとえば、スイッチ)は、物理空間における制御部(たとえば、部屋における照明スイッチ)でモデル化されてもよく、または制御部が物理空間に存在しない場合には、モデルに制御部を挿入するための位置を示唆してもよい。一部の制御部は、モデルにおける照明の状態を変更する照明スイッチなどの結果として生じるモデルにおける所定の意味を有してもよい。制御部がユーザによる選択を可能にする考えられる設定は、上記されたように決定されるコンベヤに関する可能な速度などのマーカ意味から生じてもよい。一部の実施形態において、制御部は、モデルがレンダリングされた後、ユーザによって意味と関連付けられてもよい。一部の実施形態において、一部の制御部は、所定の意味を有しなくてもよいが、モデルビルダ226によって自動的に割り当てられる意味であってもよい(図2)。制御部は、その近接性に基づいて、他の動的要素に意味を自動的に割り当てられてもよく、たとえば、一部の実施形態において、扉における一般的な制御部の挿入を表すマーカは、「ハンドル」の意味に自動的に割り当てられてもよく、ユーザによって選択されるときには、扉の開閉をしてもよい。一部の実施形態において、制御部は、エンドユーザが、モデル内の色、テクスチャまたは照明を変更するために、モデルと相互作用することを可能にしてもよい。一部の実施形態において、動的要素は、モータ、コンベヤベルト、滑車、ばね、ホイール、振り子および関節式連携部(たとえば、ロボットアーム)であってもよい。これらの要素の態様のすべてまたは一部は、予め定義されてもよく、またはユーザによって定義されてもよい。一部の実施形態において、要素の態様は、要素と関連付けられるマーカを用いて定義される。
【0119】
一部の実施形態において、意味情報は、モデル環境の一定の態様を変更することができるように、モデル環境の動的態様(1034)を表す。一部の実施形態において、モデル環境の動的態様は、モデルの照明を含んでもよく、照明の光源、方向、強度または色を表してもよい。たとえば、一実施形態において、マーカは、モデルにおける光源が、モデルにおける窓を通じてモデルに入る太陽光であることを表すことが可能であり、一部の実施形態において、モデル環境の動的態様は、この光の方向および強度が一日の時間と共に変化してもよい。一実施形態において、マーカは、光源が、天井の中心にある照明器具であることを表すことが可能であり、一部の実施形態において、モデル環境の動的態様は、照明の強度が仮想制御によって変更されることができることであってもよい(たとえば、照明は、オン、オフまたは減光のいずれであってもよい)。他の実施形態において、モデル環境の動的態様は、重力などのモデル環境の態様を含んでもよい(たとえば、マーカは、重力の方向および/または強度を表してもよい)。
【0120】
一部の実施形態において、1つまたは複数のマーカの姿勢は、上述したように決定される(1054)。姿勢を決定するための例示の方法は、図3Aから図3Bを参照してさらに詳細に上述される。一部の実施形態において、所定のマーカおよび/または他の区別可能な視覚特徴の追加姿勢は、姿勢エスティメータ224(図9)によって決定されてもよい。一部の実施形態において、物理空間における区別可能な視覚特徴の姿勢は、モデルにおける区別可能な視覚特徴の姿勢を表す。モデルにおける、第1の所定のマーカと関連付けられるオブジェクトの配置は、第1の所定のマーカの姿勢に基づいて決定されてもよい(1056)。図9を参照して上述したように、一部の実施形態において、動的態様は、動的態様モデラ902(図9)によってモデル化されてもよい。
【0121】
一部の実施形態において、モデルの静的態様はまた、1つの特徴の姿勢および関連付け意味情報に少なくとも部分的に基づいて定義される。モデルの静的態様を定義するための例示の方法は、図3Aから図3Bおよび図4Aから図4Cを参照してさらに詳細に上述される。一部の実施形態において、モデルは、関連付け意味情報に基づいて定義され(1058)、モデルは、区別可能な視覚特徴の1つまたは複数と関連付けられる少なくとも1つのモデルの態様を含む。一部の実施形態において、モデルの動的挙動は、区別可能な視覚特徴の少なくとも1つと関連付けられる意味情報に基づいて決定される(1060)。定義されたモデルは、任意の適切なレンダリング技術を用いてレンダリングされてもよい(1062)。一部の実施形態において、定義されたモデルの1つまたは複数の動的態様の動的挙動は、(剛体物理モデラーなどの)モデル表示アプリケーションを用いてレンダリングされる(1064)。一部の実施形態において、定義されたモデルは、一般化された関節式モデルである。一般化された関節式モデルは、連携部によって接続される剛体を含む物理エンジンによって用いられるタイプのモデルであってもよく、連携部に取り付けられるコンベヤベルトおよびモータのほか、材料、色、テクスチャおよび照明などの一部の修正可能な非幾何的特徴を含む。一実施形態において、このモデルは、静的態様および動的態様の両方を含む定義されたモデルに基づいて、レンダリングされる。他の実施形態において、図3Aを参照してさらに詳細に上述されたように、モデルは、静的態様に基づいて構成される。
【0122】
ここで、図11に注意が向けられ、図11は、モデルの所望の動的態様を表すために、物理空間にマーカを配置する異なる方法を示す。図11は、物理空間に配置される区別可能な視覚特徴112の例示の実施例を提供する。図11において、複数の区別可能な視覚特徴112−Mから112−Xが、図11に示されるような部屋の角などの物理空間1100に配置される。一部の実施形態において、これらの区別可能な視覚特徴112の1つまたは複数は、所定のマーカである。所定のマーカは、ユーザによって物理空間1100において種々の物理的要素と関連付けられてもよい。これらの物理的要素は、物理空間1100における物理的オブジェクトまたは他の特徴であってもよい。所定のマーカは、物理空間の実際の態様に関する情報を表すために用いられてもよく、またはモデルの所望の態様を表すために用いられてもよい。図11における物理空間1100のブロック図において、物理空間は、第1の壁1102と、第1の壁1102に連結されるが、第1の壁1102とは異なり、窓またはディスプレイまたはポスタまたは他の要素または壁1102における特定の関心領域であってもよい要素1104と、第2の壁1106、オブジェクト1108、扉1110を含む。ユーザは、物理空間1100に含まれる1つまたは複数の要素と1つまたは複数の所定のマーカを関連付けてもよい。たとえば、ユーザは、第1の壁1102と1つまたは複数のマーカ112−M、112−Nを関連付けてもよい。ユーザはまた、窓、ディスプレイ、ポスタ、または壁1102とは異なる他の要素であってもよい要素1104とマーカ112−Oを関連付けてもよい。ユーザはまた、第1の壁1102とは異なる第2の壁1106とマーカ112−Pを関連付けてもよい。マーカ112−Qでない1つまたは複数の追加の区別可能な視覚特徴が、識別されてもよく、物理空間1100の物理的パラメータの決定または物理空間の少なくとも一部に基づくモデルの定義を助けるために用いられてもよい。さらに、一部の実施形態において、物理空間の要素の1つまたは複数は、動的態様を有してもよい。たとえば、一実施形態において、1つまたは複数のマーカ112−Rは、動的要素(たとえば、照明のスイッチ)がマーカの姿勢に対して特定の位置でモデルに挿入されることになっていることを表してもよい。さらに、一部の実施形態において、オブジェクト1108などの他の動的要素は、たとえば、1つまたは複数のマーカ112−Sおよび112−Tと関連付けられてもよい。一部の実施形態において、扉1110は動的態様であってもよく、その動的性質は、1つまたは複数の関連付けられるマーカ112−U、112−V,112−Wおよび112−Xによって表されてもよい。物理空間1100は、本願明細書に記載されていない他の要素を含んでもよく、それらの要素は、所定のマーカに関連付けられてもよく、または関連付けられなくてもよいことは理解されるべきである。したがって、モデルの動的態様である扉そのものに加えて、扉の動き特性、材料特徴および連携制約(追加マーカによって表されてもよい)もまた、モデルの動的態様であってもよい。
【0123】
たとえば、一実施形態において、マーカ112−Rは、仮想モデルに挿入されることになっている制御部を表してもよい。一部の実施形態において、この制御部は、物理空間に存在する制御部(たとえば、照明スイッチが、物理空間における照明スイッチの位置に対応する位置に配置されるモデルに挿入されることになっていることを表すマーカ)を表してもよい。他の実施形態において、制御部は、異なるタイプの制御部(たとえば、スイッチの代わりにボタンまたはダイアル)であってもよく、または物理空間において制御部がない位置に制御部を挿入してもよい。たとえば、物理空間1100において、照明スイッチが第1の壁1120に位置しているとしても、照明スイッチを挿入するマーカ(たとえば、112−R)は、第1の壁1102上ではなく、第2の壁1106上に配置されてもよい。この実施例において、この物理空間1100の画像を分析することによって作成されたモデルは、第1の壁1102上ではなく第2の壁1106上のスイッチを有する。一実施形態において、制御部挿入マーカ112−Rと関連付けられるモデルの動的態様は、要素が照明スイッチであってもよい。この実施形態において、一旦、モデルがレンダリングされると、モデルにおけるこの要素のユーザ選択は、仮想モデルにおいて照明をオフにすることであってもよい。
【0124】
一実施例として、1つまたは複数のマーカ112−Sおよび112−Tは、動的態様を有するモデルにおけるオブジェクト1108を表してもよい。一実施形態において、オブジェクト1108は、キャビネットであってもよく、オブジェクトと関連付けられる第1のマーカ112−Tは、オブジェクト1108がキャビネットであることを表してもよく、オブジェクト1108のデフォルトの材料特徴(たとえば、材料タイプ:木、材料密度:中実および/または材料摩擦係数=1)を表してもよい。一部の実施形態において、オブジェクト1108と関連付けられる第2のマーカ112−Sは、オブジェクトに関する追加態様を表してもよい。一部の実施形態において、これらの追加特徴は、材料特徴(たとえば、材料タイプ:金属、材料密度:中空および/または材料摩擦係数=2)を含んでもよい。他の実施形態において、第2のマーカ112−Sは、オブジェクト1108が関連付けられる連携タイプを有することを表してもよい。この実施形態において、連携タイプは、オブジェクト1108が摺動連携部を有する摺動可能な要素1109(たとえば、引き出し)を有することであってもよい。関連付けられる動き特性は、摺動可能な要素1109が所定の経路に沿って摺動可能であることを表してもよい。一実施形態において、所定の経路は、オブジェクト1108の面に垂直である。一部の実施形態において、第2のマーカ112−Sはまた、連携停止を表し、これらの連携停止は、動きの物理的な範囲を含んでもよく、物理的な範囲は、回転移動に関する最大進行角または摺動移動に関する最大進行直線距離を含む。キャビネットにおける引き出しの実施例において、連携停止は、摺動可能な要素1109(たとえば、キャビネットにおける引き出し)が、オブジェクト1108の深さ(たとえば、キャビネットの深さ)に等しい最大進行直線距離を有することを表してもよい。
【0125】
一実施形態において、1つまたは複数のマーカ112−U、112−V、112−Wおよび112−Xは、モデルの動的態様である扉1110を表してもよい。一部の実施形態において、1つまたは複数のマーカ112−U、112−V、112−Wおよび112−Xによって表される扉の動的挙動は、物理空間における扉の動的挙動と一致してもよく、他の実施形態において、1つまたは複数のマーカ112−U、112−V、112−Wおよび112−Xによって表される扉の動的挙動は、物理空間における扉の動的挙動と一致しないモデルにおける扉の所望の動的挙動であってもよい。一部の実施形態において、1つまたは複数のマーカは、物理空間において対応する位置に扉がない特定の位置で扉がモデルに位置決めされるべきであることを表してもよい。一部の実施形態において、マーカ112−Wは、オブジェクトが扉1110であることを表してもよく、扉1110が動的挙動を有することを表してもよい。たとえば、動的挙動は、扉が壁1106との連携部を有することを含んでもよい。扉が物理空間における扉に対応する実施形態において、物理空間における扉が物理空間の1つまたは複数の画像において部分的に開いている場合には、画像処理ソフトウェアは、扉のどのエッジが蝶着されているか、扉が内または外にスイングするかどうかを識別するために用いられてもよく、扉が、物理空間の画像において閉じられている場合には、マーカは、この情報を表すために扉上または扉付近に配置される必要がある可能性がある。一実施形態において、マーカ112−Xは、扉が物理空間1100の中にスイングする場合には、壁と扉との間の連携部が回転連携部であることを表してもよい。別の実施形態において、壁1106の上のマーカ112−Uおよび112−Vは、扉1110が壁との回転連携部を有することを表してもよい。さらに、一部の実施形態において、壁の上のマーカ112−Uおよび112−Vまたは扉の上のマーカ112−Wおよび112−Xは、連携軸を表してもよい。前述したように、一部の実施形態において、連携軸は、垂直にスナップしてもよい。一部の実施形態において、連携停止は、マーカ(たとえば、112−U)によって表されてもよく、他の実施形態において、モデルビルダ2204(図9)または別のアプリケーションが、扉が取り付けられる壁1106および別の壁(たとえば、1102)または貫通することができないオブジェクト(たとえば、1108)を認識することによって、扉の蝶番用の連携停止を自動的に決定することが可能であってもよい。
【0126】
さらに、一部の実施形態において、扉1110と関連付けられるマーカ112−Wの1つは、扉の動き特性(たとえば、常に回転する扉である)などのモデルの追加動的態様を表してもよい。一部の実施形態において、マーカの第1のマーカは、オブジェクトを表してもよく、第1の意味情報は、デフォルトの動的態様を含み、マーカの第2のマーカは、オブジェクトに関する第2の関連付け意味情報を有してもよく、デフォルトの動的態様の少なくとも一部とは異なり、デフォルトの動的態様の少なくとも一部を無効にする、第2の動的態様を含むオブジェクトの別の動的態様を含んでもよい。たとえば、物理空間1100において、扉1110と関連付けられる第1のマーカ112−Xは、オブジェクトが扉であることを表してもよく、扉1110のデフォルトの動的態様を含む関連付け意味情報を含んでもよい。これらのデフォルトの動的態様は、扉が、垂直軸によって扉の右側に壁との回転連携部を有すること、および扉が木の材料特徴を有することを含んでもよい。一部の実施形態において、第2のマーカ112−Wが、扉1110と関連付けられてもよく、扉に関する別の動的態様を表してもよい。たとえば、別の動的態様は、扉が壁との摺動連携部を有し、ガラスから形成されることを表してもよい。一部の実施形態において、別の動的態様は、デフォルトの動的態様の少なくとも一部を無効にする。
【0127】
図9から図11に関して前述した実施形態の1つの利点は、モデルの動的態様が、静的構造における物理空間の画像から決定されることができることである。言い換えれば、一部の実施形態において、モデルの動的態様は、何も移動しなかった物理空間の画像の集合から決定されることができる。たとえば、扉が蝶番によって壁に取り付けられ、部屋の中にスイングするが、壁から90°で停止することを示す関連付け意味情報をマーカが有する場合には、1つまたは複数の所定のマーカは、物理空間における扉と関連付けられることができる。静的シーンの画像の集合において、これらのマーカおよび関連付け意味情報を識別することによって、動的モデルが作成されることができる。モデルの動的態様を決定する前述の内容は例示に過ぎないこと、および当業者は、本願明細書に記載される動的態様が、本願明細書に記載される技術または当技術分野では周知の他の技術の任意の組み合わせを用いて、決定されることが可能であることを認識するであろうことは、理解されるべきである。
【0128】
前述の内容は、説明の目的のためであり、特定の実施形態を参照して記載した。しかし、上記の例示の説明は、開示された正確な形態に本発明を網羅するため、または限定することを意図していない。上記の教示に照らして、種々の修正および変形が可能である。実施形態は、本発明の原理およびその実用性を最もよく説明するために選択され、記載されており、それにより、当業者が、検討される特定の用途に適するような種々の修正によって、本発明および種々の実施形態を最もよく利用することが可能である。
【符号の説明】
【0129】
110 物理空間
112 視覚特徴
120 モデル
202 CPU
224 姿勢エスティメータ
238 姿勢データベース
240 意味情報データベース
【技術分野】
【0001】
本発明は、3次元モデルの定義に関し、詳細には、物理空間の画像において見ることのできる所定の視覚的マーカを利用してマークアップ言語を用いたモデルを自動的に定義することに関する。
【背景技術】
【0002】
ますます多くのアプリケーションが、物理空間の仮想表現を利用している。しかし、そのような仮想モデルの作成は、高価であり、時間がかかり、物理空間の個別の態様の直接測定、写真撮影および高度なグラフィカルツールを必要とする。場合によっては、アーティストが、対話型モデル化ツールを用いて空間の画像から物理空間の3次元モデルを作成するために雇われる。他の場合には、専門の画像形成機器が、物理空間の物理パラメータを捕捉するために必要とされ、次にモデルの態様を定義するために用いられることができる。これらの技術では、専門家の時間および/または専門のハードウェアに相当投資する必要がある。これは、多くのアプリケーションにとって物理空間の3次元モデルの作成にコストがかかりすぎることになるために、残念なことである。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】ギルゲンゾーンら(Girgensohn, et al.)、「DOTS:効率的なビデオ監視サポート(DOTS: Support for Effective Video Surveillance)」、ACMマルチメディア2007(ACM Multimedia 2007)、頁423〜432
【非特許文献2】リエフェルら(Rieffel, et al.)、「マルチカメラ監視システムの幾何ツール(Geometric Tools for Multicamera Surveillance Systems)」、ICDSC2007、頁132〜139
【非特許文献3】ロウら(Rohs, et al.)、「現実世界のオブジェクトとやりとりするためのカメラ搭載モバイル電話の使用(Using Camera-Equipped Mobile Phones for Interacting with Real-World Objects)」、パーベイシブ・コンピューティングの進展(Advances in Pervasive Computing)、2004年、頁265〜271
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記に鑑み、物理空間の仮想表現がさらに容易に構築されることができ、そのようなモデルの作成に関連する時間および/またはコストのために、これまでは実用的でなかった多種多様なアプリケーションにおいて用いられることができるようにするために、相対的に簡易な物理空間の画像に基づくモデルの定義方法に対する需要がある。
【課題を解決するための手段】
【0005】
物理空間の画像に基づくモデルの定義に関連する上記の欠点および他の問題点は、少なくとも1つが関連付けられた意味情報を有する所定のマーカである複数の区別可能な視覚特徴を含む物理空間の1つまたは複数の画像を分析し、その関連付けられた意味情報の少なくとも一部に基づいてモデルを定義するシステムおよび方法によって低減される。一部の実施形態において、関連付けられた意味情報は、モデル態様および複数のマーカから意味情報を組み合わせるための規則を特定するマークアップ言語に基づいて定義される。
【0006】
本願明細書に記載される一部の実施形態のさらなる利点は、動的要素を有するモデルが、物理空間の静的画像から定義されてもよいことである。一部の実施形態において、モデルは、静的構造における空間の複数の画像を分析することによって定義され、画像の少なくとも1つは、1つまたは複数の区別可能な視覚特徴を含む。一部の実施形態において、区別可能な視覚特徴は、意味情報に関連付けられ、モデルは、関連意味情報に基づいて定義される。一部の実施形態において、モデルは、区別可能な視覚特徴の1つまたは複数に関連付けられる少なくとも1つのモデル態様を含み、モデル態様は、区別可能な視覚特徴の1つまたは複数に関連付けられた意味情報に基づいた動的挙動を行うことが可能である。
【0007】
本発明の第1の態様は、モデルを定義するコンピュータ実行方法であって、複数の区別可能な視覚特徴を含む物理空間中の少なくとも1つの画像を分析し、前記視覚特徴の少なくとも1つは関連付けられた意味情報を有する所定のマーカであり、前記関連付けられた意味情報は、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義され、前記関連付け意味情報に少なくとも部分的に基づき前記モデルを定義する。
【0008】
本発明の第2の態様は、第1の態様の方法であって、前記物理空間において少なくとも1つの所定のマーカの姿勢を決定し、前記意味情報と共に、前記所定のマーカの少なくとも1つの姿勢に基づいて、前記モデルの幾何特徴を定義する、ことをさらに含む。
【0009】
本発明の第3の態様は、第1の態様の方法であって、前記マーカの少なくとも1つと関連付けられる前記意味情報に基づいて、前記モデルの非幾何特徴を定義する、ことをさらに含む。
【0010】
本発明の第4の態様は、第1の態様の方法であって、前記モデルの態様の少なくとも1つは、前記マーカのサブセットと関連付けられる意味情報に基づいて特定され、前記サブセットは、少なくとも2つのマーカを含む。
【0011】
本発明の第5の態様は、第1の態様の方法であって、前記マーカの前記サブセットと関連付けられる前記意味情報がサブモデルを定義するために用いられる。
【0012】
本発明の第6の態様は、第5の態様の方法であって、前記所定のマーカの少なくとも1つは挿入マーカであり、前記挿入マーカの少なくともサブセットに関して、前記サブセットにおける各個別の挿入マーカと関連付けられる前記意味情報が、前記サブモデルの複製が、前記個別の挿入マーカの前記物理空間における姿勢に対して相対的に決定される姿勢を有する前記モデル中に、挿入されることを表す。
【0013】
本発明の第7の態様は、第1の態様の方法であって、前記マーカのサブセットと関連付けられる意味情報は、前記モデルに含まれる前記少なくとも1つの画像の領域を表す。
【0014】
本発明の第8の態様は、第1の態様の方法であって、前記モデルの態様は、モデル構成要素、モデル構成要素の姿勢、または、モデル構成要素の視覚的外観の記述のうちの少なくとも1つである。
【0015】
本発明の第9の態様は、第1の態様の方法であって、前記区別可能な視覚特徴の少なくとも1つは、画像特徴検出アルゴリズムによって識別される視覚的特徴を含む。
【0016】
本発明の第10の態様は、第1の態様の方法であって、少なくとも1つの所定のマーカと関連付けられる前記意味情報は、前記少なくとも1つの所定のマーカの位置および向きによって表される姿勢で、挿入可能なアイテムが前記モデルに挿入されることを表す。
【0017】
本発明の第11の態様は、第10の態様の方法であって、前記挿入可能なアイテムは、画像、ビデオストリーム、3次元オブジェクトの表現のうちの少なくとも1つである。
【0018】
本発明の第12の態様は、第1の態様の方法であって、前記マークアップ言語は、クラスの継承を有する階層マークアップ言語であり、前記クラスがモデルの態様に対応し、前記クラスは、平面、パラメトリック形状、押出、画像抽出、アイテム挿入および定義を含む。
【0019】
本発明の第13の態様は、第12の態様の方法であって、前記クラスが平面である場合、サブクラスは、扉、壁、天井、床および机を含み、前記態様のクラスがモデファイアである場合、前記モデルの態様サブクラスが、線および角を含む。
【0020】
本発明の第14の態様は、第1の態様の方法であって、前記定義されたモデルに基づき、3次元モデルをレンダリングすることをさらに含む。
【0021】
本発明の第15の態様は、モデルを定義するシステムであって、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサによる実行のために少なくとも1つのモジュールを格納するメモリと、を備え、前記少なくとも1つのモジュールは、複数の区別可能な視覚特徴を含む物理空間の少なくとも1つの画像を分析する命令と、前記関連付けられた意味情報に少なくとも部分的に基づき前記モデルを定義する命令と、を含み、前記視覚特徴の少なくとも1つは、関連付けられた意味情報を有する所定のマーカであり、前記関連付けられた意味情報は、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義される。
【0022】
本発明の第16の態様は、モデルを定義する方法であって、物理空間において配置されるように構成可能な複数の所定の物理的マーカを作成し、前記マーカと意味情報を関連付け、前記ユーザに前記マーカの少なくともサブセットを提供する。前記マーカの前記サブセットにおける第1のマーカが前記第1のマーカと関連付けられた意味情報を表す関連付けラベルを有し、前記マーカは、前記マーカの少なくとも1つを含む画像を分析することによって、モデルを定義することを可能にするアプリケーションプログラムと共に用いるように構成されている。
【0023】
本発明の第17の態様は、第16の態様の方法であって、前記意味情報は、モデルの態様と、複数の所定のマーカと関連付けられた意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義される。
【0024】
本発明の第18の態様は、モデルを定義するコンピュータ実行方法であって、静的構造において空間の複数の画像を分析し、前記画像の少なくとも1つは少なくとも1つの区別可能な視覚特徴を含み、前記区別可能な視覚特徴を意味情報と関連付け、前記関連付けられた意味情報に基づき前記モデルを定義する、ことを含む。前記モデルは、前記区別可能な視覚特徴の少なくとも1つと関連付けられるモデルの態様を含み、前記モデルの態様は、前記区別可能な視覚特徴の少なくとも1つと関連付けられる前記意味情報に基づいて、動的挙動を行うことが可能である。
【0025】
本発明の第19の態様は、第18の態様の方法であって、前記関連付け意味情報は、モデルの態様と、複数の区別可能な視覚特徴と関連付けられる意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義される。
【0026】
本発明の第20の態様は、第18の態様の方法であって、前記区別可能な視覚特徴は、所定のマーカである。
【0027】
本発明の第21の態様は、第18の態様の方法であって、前記空間において少なくとも1つの区別可能な視覚特徴の姿勢を決定し、前記視覚特徴と関連付けられる前記意味情報と共に、前記視覚特徴の少なくとも1つの姿勢に基づいて、前記モデルの幾何特徴を定義する、ことをさらに含む。
【0028】
本発明の第22の態様は、第18の態様の方法であって、前記マーカの少なくとも1つと関連付けられる前記意味情報に基づいて、前記モデルの非幾何特徴を定義することをさらに含む。
【0029】
本発明の第23の態様は、第18の態様の方法であって、前記モデルにおいて、剛体物理モデラを用いて、前記態様の前記動的挙動をモデル化する、ことをさらに含む。
【0030】
本発明の第24の態様は、第18の態様の方法であって、第1の区別可能な視覚特徴と関連付けられる前記関連付け意味情報は、連携制約、動き特徴、材料特徴および動的要素の挿入のうちの少なくとも1つを含む。
【0031】
本発明の第25の態様は、第24の態様の方法であって、前記連携制約は、連携タイプ、連携軸、連携停止、連携位置および連携アンカのうちの少なくとも1つを含む。
【0032】
本発明の第26の態様は、第24の態様の方法であって、前記動き特徴は、動きタイプ、速度および方向の少なくとも1つを含む。
【0033】
本発明の第27の態様は、第24の態様の方法であって、前記材料特徴は、材料タイプ、密度、摩擦および回復係数などの跳ね返りパラメータの少なくとも1つを含む。
【0034】
本発明の第28の態様は、第24の態様の方法であって、前記動的要素は、制御部およびモータの少なくとも1つを含む。
【0035】
本発明の第29の態様は、第24の態様の方法であって、前記動的要素は、オブジェクトの位置決め、照明または材料の色などの前記モデルの動的態様を変更するために、モデル表示アプリケーションにおいてエンドユーザによって相互作用してもよい制御部を含む。
【0036】
本発明の第30の態様は、第25の態様の方法であって、前記連携停止は、動きの物理的範囲を含み、動きの前記物理的範囲は、回転移動に関する最大進行角または摺動移動に関する最大進行直線距離を含む。
【0037】
本発明の第31の態様は、第24の態様の方法であって、第1の区別可能な視覚特徴は、モデルオブジェクトのデフォルト材料特徴を含む関連付け意味情報を有し、第2の区別可能な視覚特徴は、前記デフォルト材料特徴の少なくとも一部とは異なり、前記デフォルト材料特徴の少なくとも一部を無効にする前記モデルオブジェクトの別の材料特徴を含む第2の関連付け意味情報を有する。
【0038】
本発明の第32の態様は、モデルを定義するシステムであって、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサによる実行のために少なくとも1つのモジュールを格納するメモリと、を備える。前記少なくとも1つのモジュールは、静的構造において、複数の画像の少なくとも1つが少なくとも1つの区別可能な視覚特徴を含む、空間の該複数の画像を分析する命令と、前記区別可能な視覚特徴と意味情報を関連付ける命令と、前記関連付けられた意味情報に基づき前記モデルを定義する命令と、を含み、前記モデルは、前記区別可能な視覚特徴の少なくとも1つに関連付けられたモデルの態様を含み、前記モデルの態様は、前記区別可能な視覚特徴の少なくとも1つと関連付けられる前記意味情報に基づく動的挙動を行うことを可能にする。
【0039】
本発明の第33の態様は、モデルを定義するコンピュータプログラムであって、コンピュータに、複数の区別可能な視覚特徴を含む物理空間中の少なくとも1つの画像を分析し、前記視覚特徴の少なくとも1つは関連付けられた意味情報を有する所定のマーカであり、前記関連付けられた意味情報は、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義され、前記関連付け意味情報に少なくとも部分的に基づき前記モデルを定義する、機能を実現させる。
【発明の効果】
【0040】
本発明では、多種多様なアプリケーションで用いることができる物理空間の仮想表現を相対的に簡易に構築することができる。
【図面の簡単な説明】
【0041】
【図1A】物理空間を示す。
【図1B】一部の実施形態に基づく物理空間の少なくともいくつかの態様を代表するモデルを示す。
【図2】一部の実施形態に基づく計算デバイスを示すブロック図である。
【図3A】一部の実施形態に基づくモデルを定義するための方法を示すフローチャートである。
【図3B】一部の実施形態に基づくモデルを定義するための方法を示すフローチャートである。
【図4A】一部の実施形態に基づくモデルを定義するためのシステムを示すブロック図である。
【図4B】一部の実施形態に基づく物理空間における区別可能な視覚特徴の姿勢が推定されることができる方法を示すフローチャートである。
【図4C】一部の実施形態に基づくモデルの態様を決定することができる方法を示すフローチャートである。
【図5A】一部の実施形態に基づく物理空間を示すブロック図である。
【図5B】一部の実施形態に基づく物理空間の画像を示すブロック図である。
【図5C】一部の実施形態に基づく物理空間の画像を示すブロック図である。
【図5D】一部の実施形態に基づく物理空間における物理的要素とマーカを関連付ける異なる方法を示すブロック図である。
【図6】一部の実施形態に基づく一連のルックアップテーブルを示すブロック図である。
【図7】一部の実施形態に基づく意味情報構造を示すブロック図である。
【図8A】一部の実施形態に基づく所定のマーカの一例を示すブロック図である。
【図8B】一部の実施形態に基づく所定のマーカを含むシートの一例を示すブロック図である。
【図8C】一部の実施形態に基づく所定のマーカの例示のタイプを示すブロック図である。
【図9】一部の実施形態に基づく計算デバイスを示すブロック図である。
【図10】一部の実施形態に基づく動的要素を有するモデルが定義されることができる方法を示すフローチャートである。
【図11】一部の実施形態に基づくモデルの所望の動的挙動を示すために、物理空間にマーカを配置する異なる方法を示すブロック図である。
【発明を実施するための形態】
【0042】
ここで、添付図面に示される実施形態、実施例を詳細に参照する。以下の詳細な説明において、本発明の完全な理解を提供するために、数々の特定の詳細が記載されている。しかし、本発明は、これらの特定の詳細がなくても実行されることができることは当業者には明らかであろう。他の場合において、実施形態の態様を不必要に不明瞭にすることを避けるため、公知の方法、手順、構成要素、回路およびネットワークは、詳細に記載されていない。
【0043】
ここで、モデルを定義するための方法、システムおよびコンピュータプログラム製品の実施形態が、記載される。一部の実施形態において、モデルの態様は、物理空間の物理的な構造に基づいて決定することができる。一部の実施形態において、モデルの態様の少なくとも1つが、物理空間での構造に対応していない、ユーザによって配置される所定のマーカに基づいて決定される。一部の実施形態において、これらのモデルの態様は、画像のシーケンス中で見ることができる1つまたは複数の所定のマーカに意味情報を関連付けた上で定義される。モデル態様は、モデルの中のいかなる値、測定値、パラメータ、関係、制約、オブジェクトであってもよく、またはモデルを構築するために有用な情報を表すモデル内のオブジェクトの特徴であってもよい。たとえば、1つのモデルの態様は、同一の平面にある特徴の集合を表してもよい。他のモデルの態様は、円筒体などの3次元パラメトリック形状、または2次元パラメトリック形状を表すマーカの集合、および3次元への2次元パラメトリック形状の成形(extrusion)を表すために成形マーカを表してもよい。モデルの態様はまた、特定の位置で挿入される挿入可能なアイテムを表すポインタを含んでもよく、またはオブジェクトがそのモデル内に配置されることを示す指示表示、またはオブジェクトが特定の色である必要があることを示す指示表示を含んでもよい。一部の実施形態において、この方法を用いて作成される1つまたは複数のモデルの態様に関して、物理空間での1つまたは複数の構造とは異なっていたり、または矛盾しているようにすることもできる。
【0044】
ここで、本方法の実施形態に対して注意が向けられる。図1Aは、物理空間110の画像を示す図である。物理空間110は、多数の区別可能な視覚特徴(distinctive visual features)112を含む。一部の実施形態において、区別可能な視覚特徴として、予め定義したマーカ112−1である1つまたは複数の特徴を含み、また、未定義のマーカ112−2である1つまたは複数の特徴を含んでもよい。一部の実施形態において、1つまたは複数の所定のマーカ112−1は、ユーザによって物理空間110の周囲に配置される。マーカを配置するための考慮事項は、壁および床などの物理空間の主要要素を識別することと、机および椅子などの部屋における物理的オブジェクトを識別することを含む。より多くの所定のマーカ112−1が、ユーザにとって特定の関心がある物理空間の領域に配置されてもよく、より少数の所定のマーカ112−1が、ユーザにとって特定の関心がない物理空間の領域に配置されてもよい。さらに、一部の所定のマーカ112−1は、物理空間における任意の特定のオブジェクトに対応しなくてもよい。一部の実施形態において、マーカは、物理空間において存在しないモデルまたは物理空間における異なる位置に存在するモデルにおいて、所望の要素の位置を示すために、物理空間において配置されてもよい。たとえば、所定のマーカ112−1を、物理空間の中間(middle)に配置させた場合でも、所定のマーカの姿勢(pose)に相対的な姿勢を有するモデルの中に、壁が配置されることを示すように定義することが可能である。結果として生じるモデルにおいて、この実施例では、モデルの中間に配置された壁を有することになる。
【0045】
一部の実施形態において、所定のマーカ112−1は、再位置決め可能なオブジェクトで再現される2次元画像であってもよい。所定のマーカ112−1の一例は、1枚の紙の上に再現される黒と白のパターンである。所定のマーカ112−1はまた、ユーザが所定のマーカ112−1を物理空間における物理的オブジェクトに永久的にまたは半永久的に添付することを可能にする要素を含んでもよい。たとえば、1枚の紙の上に再現される黒と白のパターンを含む所定のマーカはまた、接着剤付き裏当てを有してもよい。あるいは、所定のマーカ112−1は、物理空間におけるフックまたは他の取付具に所定のマーカを吊るための取付部を有してもよい。一部の実施形態において、所定のマーカ112−1は、所定のマーカ112−1の一部ではない添付手段を用いて物理空間における物理的オブジェクトに半永久的に関連付けられてもよい。たとえば、マーカは、テープ、接着剤、ステープルまたは他の添付手段を用いて物理的オブジェクトに添付されてもよい。所定のマーカではない区別可能な視覚特徴112−2は、画像処理技術によって検出可能な物理空間110における特徴であってもよい。一部の実施形態において、画像処理技術によって検出可能な特徴は、物理空間110において多様な角度から多種多様な位置において見た場合に一意に識別可能な特徴を含んでもよく、また、多様な照明条件において一意に識別可能であってもよい。たとえば、そのような可視特徴は、限定されることなく、物理的オブジェクトの検出されるエッジ、物理的オブジェクトの角、画像における矩形、およびスケール不変の特徴変換を用いて検出可能な他の物理的特徴を含むことが可能である。さらに、一部のモデルを更新するための実施形態において、所定のマーカに関連付けられる意味論的意味(semantic meanings)は、所定のマーカではない付近の可視的に区別可能な特徴(たとえば、識別可能な角、エッジ、壁の亀裂または染み)に関連付けられることができ、この場合、もし所定のマーカが除去されたとしても、その後に捕捉される画像における意味論的意味は持続される。この実施形態において、マーカによって提供される情報は、マーカが取り払われた後であっても、モデルを更新するのに役立ち続けることができる。
【0046】
図1Bは、物理空間110(図1A)を代表するモデル120を示す図である。図5Aから図5Cを参照して以下にさらに詳細に記載されるように、物理空間110の1つまたは複数の画像のシーケンスが、ユーザの指示によって収集される。次に、これらの画像は、以下の図4Aから図4Cを参照してさらに詳細に説明されるように、モデル120を定義するために用いられる。一部の実施形態において、モデルは、本願明細書に記載される方法の少なくとも1つを具体化するコンピュータ読み出し可能記憶媒体に格納されるソフトウェアを実行する計算デバイスによって決定され、例示の計算デバイスは、図2に関して以下にさらに詳細に記載される。計算デバイスは、コンピュータ読み出し可能記憶媒体に格納される命令に基づいて、計算を行うことができる任意のデバイスであってもよく、たとえば、計算デバイスは、ワークステーションシステム、パーソナルコンピュータ、携帯情報端末、携帯電話または任意の他の固定(stationary)コンピュータまたはモバイルコンピュータであってもよい。
【0047】
図2は、上述の方法を実行する計算デバイス200の実施形態を示しており、1つまたは複数の処理ユニット(CPU)202、1つまたは複数のネットワークまたは他の通信インターフェイス204、メモリ206、およびこれらの構成要素を相互接続するための1つまたは複数の通信バス208を含む。通信バス208は、システム構成要素間を相互接続して通信を制御する回路(チップセットと呼ばれることもある)を含んでもよい。計算デバイス200は任意に、ユーザインターフェイス210を含んでもよい。一部の実施形態において、ユーザインターフェイス210は、ディスプレイデバイス212および/またはキーボード214を含むが、ユーザインターフェイスデバイスの他の構造もまた用いられてもよい。計算デバイス200は任意に、1つまたは複数のカメラ215と共に用いられてもよく、1つまたは複数のカメラ215を含んでもよい。カメラ215は、画像を捕捉するように構成された1つまたは複数のセンサを含んでもよく、カメラ215の向きまたは位置などの他の情報を捕捉するように構成された他のセンサを任意に含んでもよい。画像がカメラ215によって捕捉されている間、または1つまたは複数の画像がカメラ215によって捕捉された後で、カメラ215は、計算デバイス200と通信してもよい。あるいは、カメラ215は、計算デバイス200から独立していてもよく、画像は、有線インターフェイスまたは無線インターフェイスを介して、ユーザによってカメラ215から計算デバイス200に伝送されてもよい。メモリ206は、高速ランダム・アクセス・メモリを含んでもよく、1つまたは複数の磁気格納ディスクまたは光学格納ディスクなどの不揮発性メモリ、フラッシュメモリデバイスまたは他の不揮発性固体格納デバイスを含んでもよい。高速ランダム・アクセス・メモリは、DRAM、SRAM、DDRRAMまたは他のランダムアクセス固体メモリデバイスなどのメモリデバイスを含んでもよい。メモリ206は任意に、CPU202から遠隔位置にある大容量格納装置を含んでもよい。メモリ206またはあるいはメモリ206内の不揮発性メモリデバイスは、コンピュータ読み出し可能記憶媒体を含む。メモリ206は、以下の要素またはこれらの要素のサブセット(subset)を格納し、以下の追加要素もまた含んでもよい。
【0048】
・種々の基本システムサービスを扱い、ハードウェアに依存するタスクを行うための手順を含むオペレーティングシステム216
・1つまたは複数の通信ネットワークインターフェイス204および1つまたは複数の通信ネットワーク、たとえば、インターネット、他のワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどを介して、計算デバイス200を他のコンピュータに接続するために用いられるネットワーク通信モジュール(または命令)218
・ユーザインターフェイスモジュール221、画像コレクタアプリケーション222、姿勢エスティメータアプリケーション224、1つまたは複数のマークアップハンドラ227を任意に含むモデルビルダアプリケーション226、3次元(3D)モデルレンダラアプリケーション228、を含むことができるアプリケーション220
・データ230(画像データベース232、マーカデータベース236、姿勢データベース238、意味情報データベース240、モデルレンダリング命令データベース242、挿入可能なアイテムデータベース244、CADデータベース246を含むことができる。)
○画像データベース232(一部の実施形態において、1つまたは複数の画像234および他の情報、たとえば、1つまたは複数の画像に関連付けられる一意の識別子、画像が捕捉されたときに、カメラによって自動的に格納された画像に関するメタデータ、またはユーザによって手動入力されるか、またはシステムによって推定された画像に関するメタデータなどを含んでもよい。)
○マーカデータベース236(一部の実施形態において、1つまたは複数のマーカの区別可能な視覚外観を代表するデータなどのマーカ情報、1つまたは複数のマーカのサイズ、1つまたは複数のマーカに関連付けられる一意の識別子、または複数のマーカ間の関連付けを表す関連付けデータを含んでもよい。)
○姿勢データベース238(一部の実施形態において、1つまたは複数のマーカに関する姿勢情報、1つまたは複数の画像に関する姿勢情報、1つまたは複数の特徴の一意の識別子、1つまたは複数の画像の一意の識別子、1つまたは複数のマーカの区別可能な視覚外観を代表するデータ、または1つまたは複数の画像を代表するデータを含んでもよい。)
○意味情報データベース240(一部の実施形態において、1つまたは複数の特徴の一意の識別子、1つまたは複数の特徴に関連付けられた意味情報(図6を参照して以下にさらに詳細に記載される)を含んでもよい。)
○モデルレンダリング命令データベース242(一部の実施形態において、静的パラメータおよび動的パラメータなどのモデルの態様を含んでもよい。)
○挿入可能なアイテムデータベース244(一部の実施形態において、画像ファイル、3D CADファイル、ビデオファイル、ビデオストリームへのリンクまたは挿入可能なアイテム用のプレースホルダオブジェクトなどの挿入可能なアイテムを代表するデータを含んでもよい。)
○オブジェクトの3D表現のライブラリを含むCADデータベース246
ここで、モデル120を定義するための一部の実施形態による方法の記述に対して注意が向けられる。図3Aは、モデル120を定義するための方法の一実施形態を示すフローチャートである。物理空間の1つまたは複数の画像が収集される(302)。画像234が捕捉されるときに、カメラ215が計算デバイス200に関連付けられる実施形態において、画像234の収集は、自動的に行われてもよい。たとえば、画像234が計算デバイス200に関連付けられるカメラ215によって捕捉され、次に、画像データベース232における画像コレクタアプリケーション222によって格納されてもよい。別の実施形態において、画像234は、計算デバイス200に添付されているかどうかに関係なく、カメラ215によって捕捉されてもよい。手動で捕捉された画像234は次に、ユーザの指示によって画像データベース232に格納されてもよい。ユーザはまた、ユーザインターフェイスモジュール221への入力によって、アプリケーション220またはデータベースに格納されるデータ230に他の修正を加えてもよい。ユーザインターフェイスモジュール221は、他のモジュールおよびアプリケーションと別個であってもよく、または他のモジュールおよびアプリケーションと結合されてもよい。
【0049】
画像234は、メタデータの有無に関係なく、画像データベース232に格納されてもよいことは理解されるべきである。このメタデータは、画像234を物理空間110の上にさらに正確に写像されることを可能にするような、画像捕捉変数(焦点距離、レンズの歪み、樽形歪み)のほか、カメラ215によって自動的に記録される他の情報、またはユーザによる手動入力を含んでもよい。たとえば、他のそのようなメタデータは、時間および日付情報、カメラのGPS座標、1つの画像または画像の集合に関するユーザラベル(たとえば、これらの画像はすべて、部屋Aで撮影された)を含むことが可能である。一部の実施形態において、画像のサブセット(全体に対する一部分)(またはすべて)に関して、カメラ215の画像捕捉変数は、一定に保持されてもよく、カメラが、画像捕捉変数のサブセットに基づいて較正されてもよい。一部の実施形態において、1台のカメラ215が、モデル定義プロセスの精度に影響を及ぼす可能性がある画像捕捉変数における変動が、導入されないことを保証するために用いられる。別の実施形態において、画像捕捉変数が画像に関するメタデータとして記録され、コンピュータソフトウェアが、画像234間の画像捕捉変数における任意の変動を補償するために用いられる。画像メタデータはまた、画像データベース232における画像234の少なくとも部分集合を、画像234に関する接続情報を有するシーケンスに順序付けるデータを含んでもよい。たとえば、画像234が各画像間の時間間隔で画像のシーケンスを特定するメタデータを含んでもよく、その結果、画像234は、ビデオ記録として表示され、各画像234はビデオ記録における1フレームとして機能することが可能である。一部の実施形態において、これらの画像は、スチールカメラによって個別の画像として記録され、他の実施形態において、これらの画像は、ビデオカメラによるビデオ(またはビデオフレームのシーケンス)として記録される。
【0050】
一部の実施形態において、物理空間110におけるオブジェクトに関連付けられる区別可能な視覚特徴112を識別するために、画像の少なくともサブセットが、解析される(304)。これらの区別可能な視覚特徴112は一般に、多種多様な照明条件において、区別可能な視覚特徴112からのカメラの異なる位置、向きおよび距離においてロバスト(すなわち、一意に識別可能)である。一部の実施形態において、このことは、区別可能な視覚特徴112が一般に、少なくともある程度のスケール不変(すなわち、異なる拡縮倍率で見たときに、特徴の区別可能な視覚外観の少なくとも一部が認識可能である)、ある程度の回転不変(すなわち、異なる角度で見たときに、特徴の区別可能な視覚外観の少なくとも一部が認識可能である)を呈しなければならないことを意味する。一部の実施形態において、区別可能な視覚特徴はまた、ある程度の回転非対称を呈する。一部の実施形態において、区別可能な視覚特徴112は、スケール不変の特徴変換を用いて識別される(308)。一部の実施形態において、所定のマーカ112−1が、識別される(310)。一部の実施形態において、これらの技術の組み合わせが用いられてもよい。一部の実施形態において、所定のマーカ112−1は、図8Aを参照して以下にさらに詳細に記載されるように、計算デバイス200によって容易に識別されることができるように設計されてもよい。当業者は、本願明細書に記載される区別可能な視覚特徴が、これらの技術の任意の組み合わせまたは区別可能な視覚特徴を識別するための当該技術分野では周知の他の技術を用いて、画像において識別されることが可能であることを認識することは理解されるべきである。
「意味情報」
図3Aに示されるように、一部の実施形態において、所定のマーカ112−1のサブセットに関連付けられた意味情報データベース240からの意味情報が、識別されてもよい(312)。意味情報は、所定のマーカ112−1またはマーカの集合に特定の意味を与える情報である。この意味情報は、予め割り当てられてもよく、またはマーカが物理空間に配置された(たとえば、物理空間における物理的オブジェクトへの関連付け、モデルにおけるオブジェクトの所望の位置への関連付け、またはモデルの環境特徴に関するモデル態様を示す意味のためにモデル内に配置)後、ユーザによって割り当てられてもよい。
【0051】
一部の実施形態において、関連付け意味情報は、1つまたは複数のマーカまたは所定のマーカのサブセットが関連付けられる1つまたは複数のオブジェクトの間の関係を表してもよい(314)。所定のマーカのサブセットが関連付けられることは、たとえば、所定のマーカのサブセットにおけるすべてのマーカが、共通の制約の集合の対象となっていること(316)、所定のマーカのサブセットにおけるすべてのマーカが、共通の表面に関連付けられること(318)、所定のマーカのサブセットにおけるすべてのマーカが、共通の向きを有すること、サブセットにおけるすべてのマーカが、同一の色またはテクスチャの表面上にあること、または所定のマーカのサブセットにおけるすべてのマーカが、共通のオブジェクトに関連付けられることを表す。一部の実施形態において、これらの関係は、物理空間における物理的オブジェクトの間の実際の物理的関係を表している。他の実施形態において、この関係は、物理空間における実際の物理的関係を表さないモデルにおける所望の関係を表している。さらに、この関係は、任意の特定の画像234において全体を完全に見ることができない1つのオブジェクトが実際には、1つの連続的なオブジェクトであることを表してもよい。この関係は、1つの部屋におけるオブジェクトによって部分的に隠される配管または壁を表すために用いられてもよい。さらにこの関係は、部屋の中にあって、1つの画像中では見ることができない2つの別個の側面を有するオブジェクトの別個の側面に対して2つのマーカが関連付けられることを表すために用いられてもよい(たとえば、第1のマーカは、扉の前面に関連付けられることが可能であり、第2のマーカは扉の後面に関連付けられることが可能である)。一部の実施形態において、この関係は、2つの異なる部屋によって共有される壁または床または天井に対向する側面、または建物の内壁および外壁を表すために用いられてもよい。
【0052】
この種の意味情報は、第1の領域と、第1の領域とは視覚的に分離される1つまたは複数の他の領域と、を含む物理空間を代表するモデルを定義するための方式を提供する。たとえば、2つの隣接する部屋の間の関係は、以下の方式でマーカと関連付けられた意味情報によって特定することができる。第1の部屋は、壁の第1の側面に関連付けられる第1のマーカを有してもよく、第2の部屋は、壁の第2の側面に関連付けられる第2のマーカを有してもよい。壁の第1の側面および第2の側面が同一の壁の2つの側面であることを表す意味情報にマーカの一方が関連付けられている場合には、モデルビルダ226は、2つの部屋が隣接しており、壁の第1の側面および壁の第2の側面が共通の壁を形成するモデルを構築することを決定することができる。モデルビルダ226は、予め入力された、あるいは、第1の側面を含む物理空間画像の解析等によって得られる、壁の第1の側面のサイズを用いて、壁の第2の側面のサイズを推定してもよい。このプロセスはまた、異なる部屋に存在する床および天井などの他の構造物の対向する側面を識別するために用いられてもよい。大量の部屋に関してこの技術を用いて、建物全体または建物の領域の物理パラメータが決定され、モデルのパラメータの一部を定義するために用いることが可能である。前述の説明から、前述のリストは単なる例示であり、関連付け意味情報によって表されることが可能な関係にはさまざまな種類があることは理解されるべきであり、このことは、当業者には容易に明白となるであろう。
【0053】
別の実施形態において、個別の所定のマーカまたはマーカの集合の関連付け意味情報は、たとえば、個別のオブジェクトの色(322)、個別のオブジェクトのテクスチャ(324)を含む1つまたは複数の所定のマーカが関連付けられる個別のオブジェクトの静的特徴を表し(320)、個別のオブジェクトが挿入可能なオブジェクトであることを表す(326)。一部の実施形態において、オブジェクトは、物理空間における物理的オブジェクトを表してもよい。他の実施形態において、オブジェクトは、物理空間における物理的オブジェクトを表さないモデルにおける所望のオブジェクトであってもよい。たとえば、モデルにおける関連付けられるオブジェクトの位置を表すために、マーカが空中に吊り下げられるときなどである。マーカの静的特徴を表す意味情報は、多様な方式でマーカと関連付けることができる。色および/またはテクスチャ情報を、予め定義することができること、マーカが配置された後、色および/またはテクスチャ情報を、ユーザが、すなわちユーザインターフェイスモジュール221への入力を提供したユーザが、選択することもできることである。さらに、色および/またはテクスチャは、マーカが見ることができる画像234からサンプリングされる。色および/またはテクスチャのサンプリングは、マーカによって示された所定の領域(たとえば、マーカのエリア)で行うことができ、またはマーカに関連付けられるユーザ定義の領域からサンプリングできる。
マーカと関連付けられた意味情報が、マーカと関連付けられるオブジェクトの実際の色またはテクスチャを表す情報を含むとき、色またはテクスチャは、「サンプリングされる」、とここでは用いる。サンプリングされた色またはテクスチャは、物理空間における任意の関連付けられた領域の色またはテクスチャに一致あるいは一致しない、マーカに設定された意味に従って、他の領域に適用されてもよい。物理空間の画像からテクスチャをサンプリングすることは、1つの画像(または複数の画像)の領域を抽出することを含む。画像のその抽出された領域は次に、ユーザによって決定された位置でモデルに挿入されてもよい。たとえば、関連付けられるオブジェクトが写真またはディスプレイであることを意味情報が表す場合には、オブジェクトを含む画像234の一部(またはすべて)が、選択され、マーカと関連付けられる追加情報として格納されてもよい。この実施例において、マーカと関連付けられた意味情報は、マーカが壁における矩形の画像(たとえば、絵画またはポスタ)を含む特定の領域と関連付けられることを示してもよく、矩形の画像がサンプリングされることになっていることを表してもよい。画像処理ソフトウェアは次に、マーカと関連付けられる領域における最大の矩形を識別するために用いられ、次に挿入可能なアイテムデータベース244にその矩形の内容の新たな画像を格納し、マーカと関連付けられた意味情報として意味情報データベース240にそのアイテムに対する参照先を配置してもよい。一部の実施形態において、3Dモデルレンダラ228は、その関連付けられる情報を用いて、1つまたは複数の場所でモデル120に矩形の画像(たとえば、絵画またはポスタ)を配置してもよい。他の実施形態において、モデルにおける関連付けられるオブジェクトがピクチャまたはディスプレイであることを意味情報が表す場合には、ピクチャまたはディスプレイを含む領域が、モデル中に示されてもよく、その結果、オブジェクトまたはデータストリームは、その位置に現れるようにするために、ユーザによって選択されることができる。
【0054】
物理空間の画像から色をサンプリングすることは、マーカによって表される画像における特定の位置における色値を決定することと、画像または画像の一部に関して平均色値を決定することを含んでもよい。サンプリングされた色は次に、1つまたは複数のモデルの態様に適用されてもよい。たとえば、ユーザが、壁の色をサンプリングしたい場合がある。この実施例において、ユーザは、サンプリングするための壁の特定の位置を示すために、壁にマーカを配置することが可能である。あるいは、ユーザは、サンプリングするために壁の領域を示すことが可能であり、その領域の色値が平均化されることが可能である(たとえば、ユーザはサンプリングされる色を含む壁の領域の拡大画像を捕捉することが可能である)。追加マーカは、サンプリングされた色が、モデルにおける他の壁などのモデルの他の構成要素に適用されることを示すことが可能である。前述の説明から、前述のリストは単なる例示であり、関連付け意味情報によって表されることが可能なモデルにはさまざまな異なる態様があることは理解されるべきであり、このことは、当業者には容易に明白となるであろう。
【0055】
別の実施形態において、個別の所定のマーカまたはマーカの集合の関連付け意味情報は、挿入可能なアイテムデータベース244から挿入可能なアイテムが、所定のマーカの位置に対する位置に挿入されることができることを示す(326)。挿入可能なアイテムは、データファイルまたはメモリ206に格納されることが可能であるオブジェクトの他の表現であってもよく、たとえば、ディジタル写真または(前段落で記載したような)他のディジタル画像(328)、コンピュータ支援設計によって作成されるオブジェクトなどの3次元オブジェクトの表現(330)、ビデオ記録またはビデオストリーム、たとえば、ウェブカムまたは他のライブビデオ供給などであってもよい。前述の説明から、前述のリストは単なる例示であり、関連付け意味情報によって表されることが可能な挿入可能なアイテムにはさまざまな種類があることは理解されるべきであり、このことは、当業者には容易に明白となるであろう。
【0056】
さらに別の実施形態において、個別の所定のマーカの関連付け意味情報が、サブモデルを定義するのに役立つことを示す。サブモデルは、そのサブモデルと関連付けられるマーカのすべてから決定されてもよい。サブモデルは、物理空間において類似物を有してもよく、または類似物を有していなくてもよい。サブモデルは、挿入可能なオブジェクトのデータベースに格納されることができる。データベースにおけるサブモデルの格納は、多くの利点を有することができる。たとえば、物理的オブジェクト(たとえば、教室における机)は、多数の明確に類似の形状の物理的オブジェクトを代表してもよい。一部の実施形態において、ユーザが、類似の形状の物理的オブジェクトの1つのサブモデルを定義するために、1つまたは複数の所定のマーカを含む視覚特徴を用いたい場合がある。他の挿入マーカもまた、オブジェクトの定義されたサブモデルがモデルにおける1つまたは複数の位置に挿入されることになっていることを表すために、ユーザによって配置されてもよい。一部の実施形態において、これらの挿入マーカは、物理空間において存在する実際の物理的オブジェクトを表す。他の実施形態において、これらの挿入マーカは、物理空間における実際の物理的オブジェクトに対応しないモデルにおける所望のオブジェクトを表してもよい。
【0057】
たとえば、多数の類似の机または同一の机がある教室の実施例において、机が詳細にモデル化されることができるように、マーカの一群における多数のマーカは、机の1つと関連付けられてもよい。マーカの一群に関する参照マーカは、机のモデルおよびその定義に関する参照フレームを表してもよい。他の机が部屋に存在する場合には、格納された机のモデルが、これらの位置のそれぞれに挿入されるべきであることを表すのに、部屋における他の机のそれぞれについて同一の相対的位置および向きに配置される1つの挿入マーカで十分である。他の机が部屋に存在しない場合には、格納された机のモデルが、その位置に挿入されるべきであることを表すのに1つの挿入マーカで十分である。この方式で関連付け意味情報を用いることは、複数の類似または同一の物理的オブジェクトの態様を定義するために必要な作業量を削減することから、モデルの定義の効率および速度を向上する。前述の説明から、前述のリストは単なる例示であり、関連付け意味情報によって表されることが可能な多くの意味があることは理解されるべきであり、このことは、当業者には容易に明白となるであろう。また、ユーザが、所定のマーカでない区別可能な視覚特徴を有する意味情報を関連付けることが可能であることも理解されるべきである。
「姿勢決定」
ここで、画像234における区別可能な視覚特徴112の姿勢の決定に注意が向けられる。区別可能な視覚特徴112の姿勢は、その特徴の位置および向きを含む。デカルト座標系において、区別可能な視覚特徴の姿勢は、特徴の位置(たとえば、x軸、y軸およびz軸に沿ったその位置)のほか、特徴の向き(たとえば、x軸、y軸およびz軸を中心としたその回転)によって定義される。この実施例においてデカルト座標系の使用は、便宜上に過ぎないことを理解されるべきであり、当業者は、ユーザにとって好都合である任意の座標系が、物理空間110における区別可能な視覚特徴の姿勢を一意に識別するために、その配置において用いられることが可能であることを容易に理解するであろう。
【0058】
最初に、少なくとも1つの区別可能な視覚特徴112が基準特徴として識別される。一部の環境において、固定座標系に対する物理空間110における物理的オブジェクトの実際の姿勢を認識することが望ましい。これらの環境において、ユーザが、固定座標系に対する基準特徴の姿勢を決定してもよい。一部の実施形態において、基準特徴は、固定座標系に対する決定可能な第1の姿勢(334)を有する。一部の実施形態において、基準特徴が識別され、次に基準特徴の姿勢が、基準特徴の物理的測定を行うことによって決定される。他の実施形態において、基準特徴に関する所望の姿勢が決定され、次に、基準特徴が所望の姿勢に配置される。この実施形態は、物理空間の外側にある1つまたは複数の物理的オブジェクトの位置が、関連しているとき、たとえば、物理空間の下(すなわち、外側)にある水道管に関する器具の位置決めを決定するための青写真として用いられてもよいモデル120を作成するときに、特に有用である可能性がある。
【0059】
特徴姿勢に基づいて画像姿勢を決定するためのプロセス、および画像姿勢に基づいて特徴姿勢を決定するためのプロセスは、写真測量法などの技術を用いることによって、当技術分野では公知である。一部の実施形態において、エーアールツールキットプラス(ARToolKitPlus)(ARToolKitは、実時間における区別可能な視覚特徴に対するカメラの位置および向きを計算するために用いられることができるソフトウェアライブラリであり、ARToolKitPlusは、ARToolKitの視覚コードの拡張バージョンである。)のような画像処理ソフトウェアが、既知の姿勢を有する1つまたは複数の区別可能な視覚特徴112を含む画像234に基づく画像姿勢を決定するために用いることができる。さらに、一部の実施形態において、同一の画像処理ソフトウェアが、画像の既知の姿勢に基づく画像234における識別された区別可能な視覚特徴112の特徴姿勢を決定するために用いることができる。これらの技術は、当該技術分野では公知であり、ここではさらに記載しない。
【0060】
一部の実施形態において、基準特徴の姿勢は、固定座標系に対して決定されないが、他の特徴の姿勢は、基準特徴の姿勢に対して決定される。これは、固定座標系に対する物理空間110における区別可能な視覚特徴の実際の姿勢を認識する必要がない状況において適切であり、物理空間110における他のオブジェクトに対する、物理空間110における区別可能な視覚特徴の姿勢を単に認識するために十分である。これらの環境において、基準特徴の姿勢の実際の測定を行わないために、さらに高速である可能性がある。一部の実施形態において、基準特徴の実際の姿勢が決定されていない場合には、座標系は、基準特徴の姿勢に対して定義することができる。たとえば、実質的に平面の矩形の基準特徴の場合には、座標系は、基準特徴の角を座標系の原点として定義し、基準特徴の角に隣接する第1のエッジをx軸に平行であるものとして定義し、基準特徴の角に隣接する第2のエッジをy軸に平行であるものとして定義し、基準特徴の面をz軸に垂直であるものとして定義することによって、一意に定義することができる。この実施形態は、ユーザが視覚特徴の相対姿勢を決定し、マーカのいずれかの姿勢を測定するために時間を取ることなく、モデルを定義することができるため、視覚特徴の相対的姿勢のみが必要とされるときには特に有用である可能性がある。
【0061】
一部の実施形態において、基準特徴は、ユーザによって識別される。他の実施形態において、基準特徴は、姿勢エスティメータ224によって自動的に識別される(図2)。一部の実施形態において、第1の区別可能な視覚特徴は、視覚特徴が検出される(たとえば、検出される第1の視覚特徴が、基準特徴であるように取得されてもよい)順序および第1の区別可能な視覚特徴を含む画像に存在する他の区別可能な視覚特徴の数に基づいて、基準特徴として自動的に識別されてもよく、または図5C(a)、図5C(b)および図5C(c)を参照して以下にさらに詳細に記載されるように、第1の区別可能な視覚特徴との共通視認性(co−visibility)グラフの一部である他の区別可能な視覚特徴の数に基づいて、基準特徴として自動的に識別されてもよい。一旦、基準特徴が識別されると、1つまたは複数の区別可能な視覚特徴に関する第2の姿勢が、第1の姿勢に対して決定される(336)。一部の実施形態において、区別可能な視覚特徴に関する第2の姿勢が、1つまたは複数の画像のサブセットを選択し(338)、もしあるのであれば、シーケンスにおける各個別の画像が、シーケンスにおいて直前に置かれる個別の画像と少なくとも1つの視覚特徴を共有し、シーケンスにおける少なくとも1つの画像が基準特徴を含むように、シーケンスにおいて画像の1つまたは複数のサブセットを順序付けし(340)、第1の姿勢に基づいて、画像のサブセットにおける視覚特徴の少なくとも1つの個別の第2の姿勢を反復的に決定する(342)ことによって、決定される。区別可能な視覚特徴の個別の第2の姿勢を決定するこのプロセスは、図4Bおよび図5A〜図5Dを参照して以下にさらに詳細に記載される。
【0062】
一部の実施形態において、モデルの少なくとも一部の態様は、個別の特徴の姿勢および関連付け意味情報に少なくとも部分的に基づいて特定される(344)。モデルの態様に少なくとも部分的に基づくモデルを定義するプロセスは、図5Aから図5Dを参照して以下にさらに詳細に記載される。一部の実施形態において、定義されたモデルは、識別された区別可能な視覚特徴の姿勢および区別可能な視覚特徴と関連付けられた意味情報に基づいて、レンダリングされる(346)。モデルをレンダリングするプロセスは、図4Aから図4Cを参照して以下にさらに詳細に記載される。
【0063】
モデルを定義するための方法の別の実施形態が、図3Bを参照して記載される。この実施形態において、画像は、物理空間から収集される(352)。これらの画像は、物理空間における区別可能な視覚特徴を識別するために分析され(354)、視覚特徴の少なくとも1つは、関連付け意味情報を有する所定のマーカである。一部の実施形態において、区別可能な視覚特徴は、画像特徴検出アルゴリズムを用いて識別される特徴である(356)。一部の実施形態において、区別可能な視覚特徴は、所定のマーカである(358)。一部の実施形態において、所定のマーカの少なくともサブセットは、関連付け意味情報を有し、その情報が識別され(360)、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて解釈される(362)。マークアップ言語は、図4Cを参照して以下にさらに詳細に記載される。モデルの態様は、モデル構成要素(たとえば、扉)、モデル構成要素の姿勢(たとえば、扉の位置および向き)またはモデル構成要素の視覚的外観の記述(たとえば、扉の色)などのモデルの要素を含んでもよい。
【0064】
マークアップ言語に基づいて意味情報を解釈することは、物理空間において1つまたは複数の所定のマーカの姿勢を決定することと、関連付け意味情報と共に所定のマーカの1つまたは複数の姿勢に基づいて、モデルの幾何的特徴を定義することと、を含んでもよい(364)。一部の実施形態において、意味情報を解釈することは、モデルの非幾何的態様を定義するために、1つまたは複数のマーカと関連付けられた意味情報の使用を含んでもよい(366)。モデルのこれらの非幾何的態様は、モデルにおける照明の位置決め、モデルにおける仮想照明のタイプ、所定のモデルの視点および他の非幾何的態様を含んでもよい。一部の実施形態において、モデルの態様の少なくとも1つは、マーカのサブセットと関連付けられた意味情報に基づいて特定され、サブセットは、少なくとも2つのマーカを含み(368)、したがって、意味情報の一定の種類に関して、少なくとも2つのマーカが、モデルの態様を特定するために必要とされることになる(たとえば、2つのマーカの間の長さ、または各角に1つのマーカを配置することによって識別される要素)。一部の実施形態において、マーカのこれらのサブセットは、サブモデルを定義するため(370)またはサブモデルをモデルに挿入するため(372)に用いることが可能である。一部の実施形態において、複数の挿入マーカが、1つのサブモデルを挿入するために用いられてもよい。他の実施形態において、1つの挿入マーカが、個別の挿入マーカの物理空間における姿勢に対して決定されるモデルにおける姿勢を有するモデルの中の位置に、1つのサブモデルを挿入するために用いられてもよい。挿入マーカのそれぞれが同一のサブモデルを参照する場合には、サブモデルの複数の複製が、物理空間に複数の挿入マーカを配置するだけで、モデルの中に挿入されてもよい。
【0065】
一部の実施形態において、マーカのサブセットと関連付けられた意味情報は、モデルに含まれる1つまたは複数の画像の領域を表す(374)。1つまたは複数の画像の領域は、モデルにおける画像の部分、複数の画像から作成される画像の部分、マッチングアルゴリズムによって見つけられるデータベースからの画像の部分および他の画像領域を含んでもよい。さらに、1つまたは複数の所定のマーカと関連付けられた意味情報は、挿入可能なアイテムが、1つまたは複数の所定のマーカの位置および向きによって示される位置で、モデルに挿入されることになっていることを示してもよい(376)。一部の実施形態において、挿入可能なアイテムは、画像(378)、ビデオストリーム(380)または3次元オブジェクトの表現(382)である。一部の実施形態において、モデルは、関連付け意味情報に少なくとも部分的に基づいて定義される(384)。図4Aから図4Cを参照して以下にさらに詳細に記載されるように、この定義されたモデルは次に、3Dモデルレンダラによってレンダリングされてもよい(386)。
【0066】
ここで、図4Aに注意が向けられる。図4Aは、上述した方法を実行するためのシステムの一実施形態を示すブロック図である。カメラ215は、物理空間110の画像234を捕捉するために使用されてもよい。物理空間の画像234はまた、図2に関して上述したように画像234に関する情報を表すメタデータを含んでもよい(または関連付けられてもよい)。一部の実施形態において、画像は、画像コレクタ222によって収集され、画像データベース232に格納される。他の実施形態において、画像は、ユーザの指示によって画像データベース232に格納される。
【0067】
一旦、1つまたは複数の画像234が、画像データベース232に格納されると、一部の実施形態において、姿勢エスティメータ224は、図3Aを参照して記載された方法に基づき、画像データベース232に格納された画像234における区別可能な視覚特徴112の少なくとも一部の姿勢を推定する。一部の実施形態において、モデルビルダ226は、(図4Cを参照して以下にさらに詳細に説明されるように)モデル態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて、モデルを定義する。モデルビルダ226は次に、モデルを定義し、定義されたモデルに基づき、仮想モデルをレンダリングするためのモデルレンダリング命令404を決定する。一部の実施形態において、モデルビルダ226は、姿勢データベース238からの画像姿勢および特徴姿勢情報と、意味情報データベース240からの意味情報とを用いて、モデル120を構築する。モデルビルダによって決定されたモデルレンダリング命令404は次に、モデルレンダリング命令データベース242に格納されてもよい。
【0068】
一部の実施形態において、画像分析器402は、任意の互換性のある3次元モデルレンダラによって用いられてもよいモデルレンダリング命令404をユーザに提供し、定義されたモデルに基づいて3次元仮想モデルをレンダリングしてもよい。他の実施形態において、画像分析器402は、定義されたモデルのモデルレンダリング命令404を、統合された3Dモデルレンダラ228に自動的に提供する(図4A)。3Dモデルレンダラ228は、モデルレンダリング命令404と、挿入可能なアイテムデータベース244からのアイテムとを用いて、モデルをレンダリングしてもよい(図4A)。モデルレンダリング命令404は、3Dモデルレンダラ228に対し、定義されたモデルの寸法および向き、モデル内のオブジェクトまたは構造物の位置、向きおよびサイズ、モデルにおけるオブジェクトの色、テクスチャおよび他の静的特徴に関する命令を提供してもよく、モデルに挿入するために、挿入可能なアイテムデータベース244からの挿入可能なアイテムを表すために提供してもよい(図4A)。一部の実施形態において、3Dモデルレンダラ228は、モデルを自動的に構築し、モデルをユーザに提示する。他の実施形態において、ユーザは、モデルを構築するプロセスに介入し、3Dモデルレンダラ228がモデルを構築しているときに、3Dモデルレンダラ228に追加入力を提供してもよく、その入力は、1つまたは複数の画像が無視されるべきであることを表すか、1つまたは複数のマーカの姿勢が不十分に推定される可能性があることを表すことを含む。ユーザ入力は、ユーザインターフェイスによってユーザインターフェイスモジュール221(図2)に提供されてもよい。一部の実施形態において、ユーザ入力は、3Dレンダラ228に提供されるユーザ入力に加えて、または3Dレンダラ228に提供されるユーザ入力に代わって、モデルビルダ226に提供されてもよい。モデルが構築中および/またはレンダリング中であるとき、ユーザに入力を提供することを可能にすることは、追加時間を取るが、モデルの品質も向上する可能性がある。一部の実施形態において、モデルの品質は、物理空間を表現する際にその精度を表す。他の実施形態において、モデルの品質は、ユーザによって想像されるモデルに対してその精度を表す。本願明細書に記載されるモジュールは例示に過ぎないことを理解されるべきであり、同一の結果を達成するために、一定モジュールが、他のモジュールと組み合わせられることが可能であり、細分されることも可能であることを当業者は容易に認識するであろう。
【0069】
ここで、一部の実施形態に基づき姿勢エスティメータの動作を示す図4Bに注意が向けられる。姿勢エスティメータは、画像データベース232から画像234、マーカデータベース236から所定のマーカの少なくともサブセット(たとえば、図1Aにおける112−1)のサイズを表すマーカ・サイズ・データ、少なくとも1つの基準特徴の姿勢(420)、または既知のまたは事前に決定された姿勢を有する他の特徴112を受信する。次に、一部の実施形態に基づき、姿勢エスティメータ224は、基準特徴姿勢を用いて、基準特徴を含む画像の画像姿勢を計算し(422)、姿勢データベース238に画像姿勢を格納する。一部の実施形態において、ARToolKit(コンピュータ視覚アルゴリズムを用いた拡張現実(AR)アプリケーションを構築するためのソフトウェアライブラリ)などのソフトウェアパッケージまたは何か他の周知の姿勢推定ツールが、画像姿勢を計算するために用いられる。一部の実施形態において、画像姿勢は、画像234が捕捉された時点におけるカメラ215の位置および向きである。画像姿勢はまた、焦点距離、レンズの歪み、樽形歪みなどの画像234の他の態様を表すメタデータを含んでもよく、カメラ215によって自動的に記録されるか、またはユーザによって手動入力される(これにより、画像234を物理空間110にさらに正確に写像することが可能とされる)、他の情報を含んでもよい。一部の実施形態において、所定のマーカのサイズおよび形状は既知のであり、所定のマーカを含む画像234の姿勢は、所定のマーカの既知のサイズおよびマーカの姿勢を用いて決定される。一部の実施形態において、所定のマーカではない区別可能な視覚特徴のサイズは、当技術分野において公知である技術を用いて決定することができる。一部の実施形態において、これらの技術は、画像のそれぞれが既知の姿勢を有する場合には、区別可能な視覚特徴を含む2つまたはそれ以上の画像を必要とする。
【0070】
一旦、画像姿勢430が計算されると、画像における新たな区別可能な視覚特徴が識別され(424)、これらの特徴の特徴姿勢が推定される(428)。一部の実施形態において、ARToolKitなどのソフトウェアパッケージまたは何か他の公知の姿勢推定ツールが、姿勢を計算するために用いられる。特徴姿勢432は、画像姿勢430の他、所定のマーカ用のマーカデータ(マーカ・サイズ・データなど)および意味情報(たとえば、マーカが他の公知のマーカと共通の平面に位置している場合)を用いて、推定されてもよい。特徴姿勢432は次に、姿勢データベース238に格納される。追加の特徴姿勢432が既知になると、これらの追加の既知の特徴姿勢432が、新たな画像姿勢430を計算するために用いられる(422)。一部の実施形態において、この反復プロセスは、決定するための画像姿勢または特徴姿勢がなくなるまで続く。一部の実施形態において、この反復プロセスは、ある所定数の画像姿勢および特徴姿勢が決定されるまで続く。一部の実施形態において、この反復プロセスは、物理空間の物理的パラメータが適切に推定されることができるように、十分な特徴姿勢が既知のであると決定されるまで続く。十分な特徴姿勢が知られているかどうかの決定は、物理空間を十分に代表するモデルを構成することができるかどうかに基づいてもよい。この決定は、ユーザによって行われてもよく、または自動的に行われてもよい。他の実施形態において、十分な特徴姿勢が知られているかどうかの決定は、モデルがユーザによって所望される特徴を有するかどうかに基づいてもよいが、それらの特徴は、物理空間の物理的パラメータを表していなくてもよい。
【0071】
姿勢推定プロセスにおいて認識される1つの問題点は、前の推定からの推定に基づくときに、累積誤差が生じる可能性があることである。測定におけるこの累積誤差を削減する方法を見出すことが有益である。一部の実施形態において、バンドル調整(434)が、姿勢データベース238における既知の姿勢の集合で行われ、姿勢推定プロセスにおける任意の累積誤差を補正する。一部の実施形態において、SBA(Levenberg−Marquardtアルゴリズムに基づく一般的な疎バンドル調整C/C++パッケージ)などのソフトウェアパッケージが、バンドル調整を行うために用いられるが、他のバンドル調整ツールもまた、用いられることが可能である。他の実施形態において、姿勢推定プロセスにおける累積誤差は、特徴姿勢を認証するプロセスによって低減される。一部の実施形態において、特徴姿勢は、ユーザインターフェイスモジュール221への入力を提供するユーザによって手動で認証され、他の実施形態において、特徴姿勢は自動的に認証される。認証手続きの一実施例において、(図4Bに示されるように)姿勢推定プロセスの各反復において、既知の姿勢を有する大部分の画像において見られる特徴は、すべての認証された特徴およびそのような特徴を含む画像と共にバンドル調整されてもよく、バンドル調整が成功する場合には、この特徴が認証されることになる。特に、バンドル調整に関する既知の問題点は、その数値の最適化が、極小値で行き詰まる可能性があることである。この認証手続きは、よい解に収束しない悪いバンドル調整の初期化を回避するのを助ける。
【0072】
認証手続きの一実施形態において、特徴姿勢は、一旦認証されると、画像の姿勢を推定するために用いられるだけである。一部の実施形態において、姿勢推定プロセスの各反復において、既知の姿勢を有する大部分の画像において見られる特徴は、バンドル調整されて、認証されることになる。さらに、一部の実施形態において、この手続きを用いて、画像の姿勢を推定するために認証された特徴のみが用いられてもよい。
「マークアップ言語」
一部の実施形態において、たとえば、本願明細書に記載されるようなマーカと関連付けられた意味情報は、モデルを定義するための豊富なマーカに基づくマークアップ言語を形成するために体系化されてもよい。このマークアップ言語は、モデルを構成することができる基本命令の集合を表す所定のマーカと関連付けられることができる異なる意味を多数含んでもよい。1つのマーカは、複数の関連付けられる意味を有することができる。一部の意味は、1つのマーカではなく、マーカの集合と関連付けられるだけであってもよい。一部の実施形態において、マークアップ言語はまた、モデルの要素を記述するためにマーカがどのようにそれらの関連付けられる意味と結合されることができるかを示す規則も含む。一部の実施形態において、これらの規則は、どのマーカが他のマーカと結合されることができるかを制限してもよく、またはマーカ間の競合をどのように克服するかを示してもよい。一部のマーカは、モデルの1つまたは複数の所望の静的態様を表すために、独立に用いられてもよい。これらのマーカは、モデル態様のさらに複雑な集合を表すために、他のマーカと結合されてもよい。一部の実施形態において、同一のタイプの2つまたはそれ以上のマーカが、モデルの所望の態様を表すために用いられなければならない。他の実施形態において、マーカは、物理空間におけるオブジェクトのサンプリングまたは定義を指示する空間をモデル化するための命令を表してもよく、1つまたは複数のモデル位置でモデルに挿入されることになっている命令を表してもよい。一部の実施形態において、このマークアップ言語は、マーカの意味の2つの主要なカテゴリを有し、静的モデルの態様を決定するためのマーカの意味と、動的モデルの態様を決定するためのマーカの意味と、を有する。一部の実施形態において、静的モデルの態様を決定するためのマーカの意味は、動的モデルの態様を決定するためのマーカの意味と結合されてもよい。
【0073】
一部の実施形態において、静的モデルの態様を決定するためのマーカの意味は、以下のタイプのうち1つまたは複数のタイプを含んでもよい。
【0074】
・平面、パラメトリック形状、押出の幾何的定義
○平面:1つまたは複数のマーカが、同一の平面上にある。この意味情報は、平面を定義するために用いられてもよい。
【0075】
○パラメトリック形状:マーカの集合が、パラメータ化された形状にある。この意味情報は、パラメータ化された形状の位置およびパラメータを推測するために用いられてもよい。パラメータ化された形状は、平面上にある2次元形状であってもよく、または完全に3次元のパラメータ化された形状であってもよい。たとえば、パラメータ化された形状は、特定の半径を有する円であってもよく、押出マーカは、円筒の高さを定義するために用いることが可能である。あるいは、パラメータ化された形状は、円の半径およびその高さを含み、したがって円筒を表すことが可能である。
【0076】
○押出:1つまたは複数のマーカは、押し出された表面上にある。これらのマーカまたは他のマーカもまた、2次元のパラメトリック形状に存在することを意味する関連付けられた意味を有する場合には、この情報は、形状を3次元に押し出すことによって、モデルを定義する際に用いることができる。このとき、押出マーカは、その形状がどの程度まで3次元に押し出される必要があるかを表す。
【0077】
・画像/テクスチャ/色エクストラクタ、オブジェクト挿入、定義などの抽出マーカ/挿入マーカ
○画像/テクスチャ/色エクストラクタ:ピクチャまたは掲示板などの画像が位置するエリアを定義するマーカの集合。
【0078】
○オブジェクト挿入:既存の3次元モデルが含まれることになっているオブジェクトの位置を定義するマーカまたはマーカの集合。
【0079】
○定義:モデルと異なる場所に複製され得るグループを構成する関連付けられたオブジェクトを示すマーカの集合。
【0080】
・線、角などの他の定義された形状を修正するためのモデファイアマーカ
○線:線上にあるマーカの集合。
【0081】
○角:特定の角度で角を定義する1つまたは複数のマーカ。たとえば、1つの角のマーカは、直角の角を表してもよい。これは、少数のマーカで矩形の領域を指定する好都合な方式を提供し得る。
【0082】
一部の実施形態において、動的モデルの態様を決定するためのマーカの意味は、以下のタイプの1つまたは複数を含んでもよい。
【0083】
・連携制約:連携位置、連携タイプ、連携軸および連携終了を含んでもよい。
【0084】
・移動特徴:移動タイプ、移動速度および移動方向を含んでもよい。
【0085】
・材料特徴:材料タイプ、材料密度、材料摩擦、回復係数などの材料跳ね返りパラメータを含んでもよい。材料特徴は一般に、動的モデルの作成における物理モデラによって用いられることが可能な任意の特徴である。
【0086】
・動的要素の挿入:制御部(たとえば、スライダ、スイッチ、レバー、ハンドル)、モータ、コンベヤベルト、滑車、ばね、ホイール、振り子および関節式連携部(たとえば、ロボットアーム)を含んでもよい。
【0087】
・モデル環境の動的態様:色、テクスチャまたは照明を含んでもよい。
【0088】
ここで、図4Cに注意が払われ、図4Cは、一部の実施形態に基づいて上述したマークアップ言語を用いて、モデルを定義する方法を示している。モデルビルダ226は、マークアップ言語から異なる意味を処理するための多数のハンドラを含んでもよい。一部の実施形態において、マークアップハンドラは、以下のうちの1つまたは複数を含んでもよい。壁マークアップハンドラ227−A、扉マークアップハンドラ227−B、色マークアップハンドラ227−Cおよび画像エクストラクタ・マークアップ・ハンドラ227−Dである。壁マーカについて、壁マークアップハンドラ227−Aは、一連のステップを行ってもよい。特徴の識別されるサブセットに関して(450)、壁マークアップハンドラ227−Aは、特徴姿勢データベース238における特徴を検索する(452)。一部の実施形態において、特徴と関連付けられた意味情報は、意味情報データベース240において検索される。一部の実施形態において、壁の初期モデルは、マーカの姿勢および関連付け意味情報によって課せられる制約に基づいて、壁マークアップハンドラによって作成されてもよい(456)。既に作成されたモデルがある場合には、モデルを更新するために、追加の特徴が分析されてもよい(458)。たとえば、扉マークアップハンドラ227−Bが、壁に扉があることを決定する場合には、扉マークアップハンドラは、モデルを更新して、扉を取り付けることができる穴が壁にあるようにする。
【0089】
たとえば、物理空間(たとえば、図1Aにおける110)において、壁のそれぞれに所定のマーカがあってもよく、部屋の壁である平面と関連付けられるものとしてマーカを識別する関連付け意味情報を有してもよい。初期の推定は、壁と関連付けられるマーカの姿勢に基づいて方向付けられる平坦で無限(または任意に大きい)平面領域である壁が、物理空間中に存在するというものであってもよい。しかし、一部の実施形態において、一旦、2つまたはそれ以上の壁が、個別のマーカによって識別されると、平面領域のそれぞれが、他の平面領域の1つまたは複数と交差してもよい。平面領域の2つが交差すると決定されるとき、マーカを含まないいずれかの平面領域の任意の部分を廃棄してもよい。このプロセスは、任意の数の交差する平面領域を含んでもよい。一部の実施形態において、マーカを有していない平面領域の部分が排除された後、今廃棄された平面領域との交差のために別の平面領域が廃棄される場合には、その別の平面領域を、共有エッジに沿って拡張してもよい。類似のプロセスが、天井、床または扉などの他の平面領域と共に用いられてもよい。一実施形態において、一旦、平面領域の望ましくない部分が廃棄されると、残りの平面領域は、モデルのための基部を形成してもよい。他の実施形態において、一旦、平面領域の望ましくない部分が廃棄されると、天井の高さ、床のサイズおよび形状、および部屋の他の寸法などの物理的関係を表す物理的パラメータが、決定されてもよい。一部の実施形態において、類似のプロセスが、物理空間に存在しないが物理空間において位置決めされる所定のマーカによって物理空間の画像において表される、モデルにおける壁を定義するために用いられてもよい。類似のプロセスが、非平面特徴の性質に基づく制約を用いて、平面でない特徴を含むモデルを定義するために用いられてもよいことは理解されるべきである。一部の実施形態において、図3Aを参照してさらに詳細に前述したように、追加の意味情報が、モデルをさらに定義するために用いられてもよい。
「マーカの位置決め」
ここで、図5A〜図5Dに注意が向けられる。図5A〜図5Dは、物理空間に配置された区別可能な視覚特徴112の例示の実施例を提供する。図5Aにおいて、複数の区別可能な視覚特徴112−Aから112−Lが図5Aおよび図5Bに示されているように、部屋の角などの物理空間に配置される。一部の実施形態において、これらの区別可能な視覚特徴112の1つまたは複数は、所定のマーカである。所定のマーカは、ユーザによって物理空間500における種々の物理的要素と関連付けられてもよい。これらの物理的要素は、物理空間における物理的オブジェクトまたは他の特徴であってもよい。所定のマーカは、物理空間の実際の態様に関する情報を表すために用いられてもよく、またはモデルの所望の態様を表すために用いられてもよい。図5Aにおける物理空間500のブロック図において、物理空間は、第1の壁502と、第1の壁502に連結されるが、第1の壁502とは異なり、窓またはディスプレイまたはポスタまたは他の要素または壁502における特定の関心領域であってもよい要素504と、第2の壁506、オブジェクト508、扉510とを含む。ユーザは、物理空間500に含まれる1つまたは複数の要素と1つまたは複数の所定のマーカを関連付けてもよい。たとえば、ユーザは、第1の壁502と1つまたは複数のマーカ112−B、112−Dを関連付けてもよい。ユーザはまた、窓またはディスプレイまたはポスタまたは壁502とは異なる他の要素であってもよい要素504とマーカ112−Cを関連付けてもよい。あるいは、図5D−1、図5D−2および図5D−3に関して以下に記載するように、ユーザは、要素504とマーカ112−Bを関連付けてもよく、または要素504と1つまたは複数のマーカ112−A、112−B、112−Dおよび112−Eを関連付けてもよい。ユーザはまた、第1の壁502とは異なる第2の壁506とマーカ112−Gを関連付けてもよい。一部の実施形態において、オブジェクト508などの他の要素が、たとえば、マーカ112−Fと関連付けられてもよい。扉510は、1つまたは複数のマーカ112−Jおよび112−Iと関連付けられてもよい。マーカ112−Hでない1つまたは複数の追加の区別可能な視覚特徴が、識別されてもよく、物理空間500の物理的パラメータの決定または物理空間の少なくとも一部に基づくモデルの定義を助けるために用いられてもよい。物理空間500は、本願明細書に記載されていない他の要素を含んでもよく、それらの要素は、所定のマーカに関連付けられてもよく、または関連付けられなくてもよいことは理解されるべきである。
【0090】
一部の実施形態において、一旦、1つまたは複数の所定のマーカが物理空間500における要素と関連付けられると、画像234が、物理空間から取得される。図5Bにおいて、画像234−A、234−Bおよび234−Cの例示の集合が、破線によって示されている。一部の実施形態において、2つ以上の画像234がある場合には、画像234のサブセットは、各画像234が1つまたは複数の区別可能な視覚特徴112を1つまたは複数の他の画像234と共有するように重なる。たとえば、第1の画像234−Aおよび第2の画像234−Bが重なり、区別可能な視覚特徴112−Dおよび112−Eを各画像において見ることができる。同様に、第2の画像234−Bおよび第3の画像234−Cが重なり、区別可能な視覚特徴112−Hを各画像において見ることができる。これは、図5C(a)、図5C(b)および図5C(c)において明らかにわかり、第1の画像234−A(図5C(a))、第2の画像234−B(図5C(b))および第3の画像234−C(図5C(c))がそれぞれ、個別に示されている。一部の実施形態において、画像234が重なる要件は、各区別可能な視覚特徴が共通視認性グラフにおけるノードであり、2つのノードが両方とも1つの画像に存在するときかつそのときに限り、エッジによって接続される場合、以下のように共通視認性グラフを作成することによって交互に定義することができる。この共通視認性グラフが接続され、基準特徴および第2の区別可能な視覚特徴を含む場合には、第2の特徴の姿勢は、基準特徴の姿勢に対して決定することができる。
【0091】
重なる画像のシーケンスが必要とされる実施形態において、場合によっては、ユーザにとって特定の関心がある物理空間の2つまたはそれ以上の領域があってもよいが、2つまたはそれ以上の領域は、重なる画像のシーケンスによって連結することができない可能性がある。1つの領域からの特徴が、別の領域の特徴を含む画像において見られないように、領域および区別可能な視覚特徴が位置決めされる場合には、2つの領域は、重なる画像のシーケンスによって連結することができない。この場合には、上述した方法によって、他の領域における要素の姿勢に対して、領域の1つにおける要素の姿勢を決定することは不可能であろう。たとえば、共有される特徴112−Hが、図5Bから除去される場合には、第1の画像234−Aおよび第2の画像234−Bにおける特徴の姿勢を第3の画像234−Cにおける特徴の姿勢と接続する方法はなくなる。一部の実施形態において、この問題は、共有される特徴112−Hの位置に所定のマーカを配置することによって克服される。一部の実施形態においては、共有される特徴112−Hの位置におけるこの所定のマーカが、任意の関連付け意味情報を有さず、主に第3の画像234−Cにおける特徴の姿勢を第1の画像234−Aおよび第2の画像234−Bにおける特徴の姿勢に対して決定することが可能となるように機能する。別の解決策は、各領域において1つの基準特徴を選択し、一方の基準特徴のそれぞれの姿勢を他方に対して決定することである。また、たとえば、共有される特徴112−Hが存在しなかった場合には、ユーザは、同一の座標系に対して、第1の画像234−Aにおける第1のマーカ112−Aの姿勢および第3の画像234−Cにおける第2のマーカ112−Lの姿勢を測定することを可能にし、次に、基準マーカとして第1の特徴112−Aおよび第2の特徴112−Lの両方を定義することを可能にする。
【0092】
共通視認性グラフ(たとえば、画像の鎖)を構成することによって特徴のサブセットの姿勢を決定する1つの特定の実施例が、図5Cを参照して以下に記載される。この実施例において、第1の区別可能な視覚特徴112−Aは、基準特徴として選択され、最後の区別可能な視覚特徴112−Lの最終的な姿勢を決定するプロセスは、図5Cにおける画像をシーケンス(たとえば、第1の画像234−A、第2の画像234−Bおよび第3の画像234−C)に順序付けし、次に、基準特徴112−Aの姿勢から第1の画像234−Aの画像姿勢を決定し、画像234−Aの画像姿勢に基づいて、第2の特徴112−Dの特徴姿勢を決定し、112−Dの第2の特徴姿勢に基づいて、第2の画像234−Bの画像姿勢を決定し、第2の画像234−Bの画像姿勢に基づいて、第3の特徴112−Hの特徴姿勢を決定し、第3の特徴112−Hの特徴姿勢に基づいて、第3の画像234−Cの画像姿勢を決定し、第3の画像234−Cの画像姿勢に基づいて、最終的な特徴112−Lの特徴姿勢を決定する。
【0093】
ここで図5D(a)、図5D(b)および図5D(c)に注意が向けられる。これらの図面は、一部の実施形態に基づき、物理空間の画像に現れる可能性がある所定のマーカの異なるタイプを示す。前述したように、マーカ112は、物理空間(たとえば、図5Aにおける500)において物理的要素(たとえば、物理的オブジェクトまたは特徴)と関連付けられてもよい。この関連付けは、多様な手段によって達成されてもよい。図5D(a)は、物理的オブジェクト504と直接結合されるマーカ550と直接結合される所定のマーカ112−Bの一実施形態を示す。図5D(b)は、物理的オブジェクト504の角付近であることを表す関連付け意味情報を有する所定のマーカ112−Bの一実施形態を示す。一部の実施形態において、マーカのこのタイプは、角定義マーカ552と呼ぶことができる。そのようなマーカの集合は、その物理的オブジェクト504の寸法を直接的に決定することができる。あるいは、所定のマーカ112と関連付けられる意味は、矩形の物理的オブジェクト504と関連付けられることを示してもよく、画像処理ソフトウェアが、所定のマーカ112によって示される位置の近傍の角を有する矩形を検出するために用いられてもよい。図5D(c)は、領域定義マーカ554である所定のマーカ(たとえば、112−A、112−B、112−Dおよび112−E)の一実施形態を示しており、領域定義マーカ554は、領域の境界を定義し、表された境界内に位置しているオブジェクト(たとえば、要素504)を示す。一部の実施形態において、オブジェクトの形状が表され、画像処理ソフトウェアが、境界内で表された形状を識別するために用いられる。たとえば、所定のマーカ112と関連付けられた意味情報は、矩形の周囲に位置していることを表してもよい。画像処理ソフトウェアを次に、所定のマーカによって定義される境界内に位置している最大の矩形を識別するために用いることができる。そのような実施形態は、マーカを開口部に直接的に結合することが可能でない場合に、所定のマーカ112を開口部と関連付けるために、もしくは、マーカをオブジェクトに直接的に結合することが不都合であるかまたは損傷を及ぼす場合に、ディスプレイ、窓または他のオブジェクトと所定のマーカ112を関連付けるために、特に有用となり得る。物理空間において物理的要素をマーカと関連付けるための可能な方法は多くあることを理解すべきであり、当業者は、上述した方法とは異なる代替物を容易に認識するであろう。
【0094】
上述した実施形態などの物理的要素と直接的に結合される所定のマーカ112を必要としない実施形態は、マーカが関連付けられる物理的要素に対して正確に位置決めされる必要がないという追加的な利点を有する。たとえば、4つの所定のマーカ(たとえば、112−A、112−B、112−Dおよび112−E)は、多くの異なる位置に位置決めされることができ、画像処理ソフトウェアが所定のマーカ(たとえば、112−A、112−B、112−Dおよび112−E)によって包囲される要素504を容易に識別することが可能であるように、境界をさらに定義することができる。所定のマーカの配置における誤差に対するこの許容差により、注意深い測定を必要としないことから、ユーザは、マーカを相対的に迅速に配置することが可能となる。
【0095】
ここで、図6に注意が向けられる。図6は、一部の実施形態に基づいて、一連のルックアップテーブルを示す。一部の実施形態において、一旦、物理空間の画像234が捕捉されると、それらは姿勢エスティメータ224(図2)によって処理されてもよい。特徴602のうちの1つまたは複数を表すデータは、特徴ID604および特徴姿勢情報606と関連付けられてもよい。一部の実施形態において、特徴姿勢情報は、特徴のサブセットに関して利用可能であるに過ぎない可能性がある。一部の実施形態において、唯一の部分特徴姿勢情報は、特徴のサブセットに関して利用可能であってもよい。他の実施形態において、完全な特徴姿勢情報は、特徴のすべてに関して利用可能であってもよい。さらに、画像608のうちの1つまたは複数を表すデータが、画像ID610および画像姿勢情報612と関連付けられてもよい。一部の実施形態において、モデルビルダ226(図2)が、特徴のサブセットを選択し、特徴のサブセットにおける各特徴に関して、モデルビルダ226は、姿勢データベース238からその特徴の姿勢606を識別し、意味情報データベース240から特徴と関連付けられる任意の意味情報406を識別し、図4Cに関して上述したように、モデルを定義する。3Dモデルレンダラ228(図2)は、モデルを取得し、定義されたモデルに基づいて3次元モデルをレンダリングする。モデルに挿入可能なアイテムを挿入するために、3Dモデルレンダラは、挿入可能なアイテムデータベース244に挿入可能なアイテムID614を検索し、そのIDと関連付けられるアイテム616をモデルに挿入してもよい。一部の実施形態において、挿入可能なアイテム616は、画像ファイル、ビデオファイル、ビデオストリーム、3D CADファイルまたは視覚的に表現されることができる他の格納ファイルである。他の実施形態において、プレースホルダアイテムは、挿入可能なアイテムデータベース(たとえば、一般的な椅子)に格納され、その結果、ユーザは、モデルに配置される特定のアイテムを特定することなく、アイテムのタイプを特定することができる。その後、ユーザは、多数の可能な特定のアイテム618から選択して、プレースホルダアイテムに置き換える(たとえば、CADデータベース246から「椅子3」を取り上げる)というオプションを選択することができる。
【0096】
この実施例において、一旦、姿勢が決定され、姿勢データベース238に格納されると、モデルビルダ226は、特徴112−Eの少なくとも1つを選択し、姿勢データベース238における姿勢情報を検索してもよい。モデルビルダ226が、椅子がその姿勢(すなわち、その位置および向き)においてモデルに挿入されることになっていることを表す特徴に関連付けられた意味情報を用いる。椅子の特定の3D CADモデルが、挿入可能なアイテムデータベース244に格納される場合には、3Dモデルレンダラ228はモデルに特定の3D CADモデルを挿入してもよい。椅子の特定の3D CADモデルが、挿入可能なアイテムデータベース244に格納されない場合には、3Dモデルレンダラ228は代わりに、モデルに椅子用のプレースホルダを挿入してもよく、これは、一般的な椅子の3D CADモデルであってもよく、または椅子が特徴112−Eの位置に配置されるべきであることを示す別の視覚的インジケータであってもよい。ユーザが、モデルによって提示されるとき、ユーザは、CADデータベース246から椅子の特定の3D CADモデルを選択するか、または挿入可能なアイテムデータベース244に椅子の特定の3D CADモデルをアップロードするように促されてもよい。
【0097】
アイテムはまた、モデルビルダ226によって挿入可能なアイテムデータベース244に格納されてもよい。一部の実施形態において、テクスチャが物理空間からサンプリングされ、モデルに配置されることになっていることを意味情報データベース240が表す場合には、モデルビルダ226(図4A)は、画像234におけるテクスチャを識別し、挿入可能なアイテムデータベース244に格納する。3Dモデルレンダラ228は次に、挿入可能なアイテムデータベース244からテクスチャを取得し、それをモデルに挿入してもよい。たとえば、要素504が絵画である場合には、1つまたは複数の関連付けられる特徴の集合が、要素が矩形のオブジェクトであり、モデルビルダ226が、特徴の集合と関連付けられる矩形の要素を識別し、画像から要素のテクスチャをサンプリングするべきであることを表す、関連付け意味情報を有してもよい。これらのマーカまたは他のマーカと関連付けられる意味は、テクスチャがモデルにおいて特定の位置に挿入されることになっていることを表してもよい。モデルビルダ226は次に、テクスチャをサンプリングし、挿入可能なアイテムデータベース244にテクスチャを含む画像234−Aの一部を格納してもよい。一部の実施形態において、3Dモデルレンダラ228(図4A)は、モデルレンダリング命令データベース242におけるモデルレンダリング命令を用いて、モデルを構築し、次に、挿入可能なアイテムデータベース244にサンプリングされたテクスチャを含む画像ファイルを検索し、それを表された1つまたは複数の位置でモデルに挿入してもよい。これらの実施形態は例示に過ぎないことを理解されるべきであり、当業者は、上述した方法の明白な代替物を容易に認識するであろう。
【0098】
ここで、図7に注意が向けられる。一部の実施形態に基づいて、意味情報データベース240に格納された意味情報が、1つまたは複数のクラスおよびサブクラスに分類される。各意味クラスおよびサブクラスは、一定の制約と関連付けられる。関連付け意味情報が含む特徴は、クラスまたはサブクラスがそれらの制約の対象であることである。意味情報の構造の実施形態を示す概略図が、図7において提供される。図7において、平面に関する意味情報構造の実施例が、記載される。この実施形態において、意味情報は、階層における各サブクラスが、属するクラスまたはサブクラスからの制約のすべてを継承するような階層構造を有する。他の実施形態において、サブクラスは、属するクラスの制約の一部のみを継承してもよい。制約のこのクラス継承の一実施形態が、図7に示されているが、この実施形態は例示に過ぎず、他のクラス継承構造が、例示の実施形態の代わりにまたは例示の実施形態と組み合わせて用いられてもよいことは理解されるべきである。
【0099】
たとえば、モデルにおける要素が、関連付け意味情報「平面」702を有する特徴と関連付けられる場合には、モデルビルダは、クラス「平面」と関連付けられる制約のすべてを、たとえば、特徴が平坦な2次元の表面に位置しているという制約を、その特徴に適用してもよい。モデルビルダはまた、特徴の姿勢を表す情報を有してもよく、平面の姿勢を決定するために用いられることができる。一旦、平面の姿勢が決定されると、図4Cを参照して前述したように、モデルの種々の態様(たとえば、物理的パラメータ)を計算することができる。さらに、モデルの要素が、関連付け意味情報「壁」704を有する特徴と関連付けられる場合には、モデルビルダは、クラス「平面」と関連付けられる制約のすべてを特徴に適用してもよく、さらなる制約も適用してもよい。一部の実施形態において、これらの追加制約は、壁が垂直であることを含んでもよい。さらに、モデルの要素が、関連付け意味情報「壁1」706−Aを有する第1の特徴と関連付けられる場合には、モデルビルダは、クラス「平面」およびサブクラス「壁」と関連付けられる制約のすべてを特徴に適用してもよく、さらなる制約も適用してもよい。一部の実施形態において、これらの追加制約は、第2の特徴もまた、関連付け意味情報「壁1」を有することを含み、その場合には、モデルビルダは、第1の特徴および第2の特徴の両方が、モデルにおける同一の壁と関連付けられるという制約を適用してもよい。さらに、一部の実施形態において、第2の特徴が、関連付け意味情報「壁2」を有してもよく、その場合には、モデルビルダは、第1の壁が、第2の壁とは異なる場合には、第1の特徴が第1の壁にあり、第2の特徴が第2の壁にあるという制約を適用してもよい。さらに、一部の実施形態において、サブクラス「天井」708は、マーカが上からサブクラス「壁」における平面と境界をなす実質的に水平の平面にあるという関連付け意味情報を含んでもよい。同様に、一部の実施形態において、サブクラス「床」710は、マーカが下からサブクラス「壁」における平面と境界をなす実質的に水平の平面にあるという関連付け意味情報を含んでもよい。
【0100】
ここで、所定のマーカ112−1の特定の実施形態に注意が向けられる。図8Aは、本発明による物理空間に配置されることができる所定のマーカ802の実施例を示す。一部の実施形態において、所定のマーカ112−1は、以下の特徴の一部またはすべてを満たす。マーカが、画像処理ソフトウェアによって画像234において容易に認識されること、マーカが視覚的に一意であること、マーカが大きな距離で一意に識別されることができること、マーカが誤差補正特性を含むこと、およびマーカが回転対称でないことである。バーコードおよびQRコードなどの公知のマーカの一部の種類は、これらの特性の少なくとも一部を満たす。マーカは、ユーザによって必要とされるものに応じて、さまざまな異なるサイズであってもよい。物理空間に関する詳細を捕捉するために用いられることが可能である拡大図の場合には、より小さなマーカが、物理空間の画像の中に完全に適合する確率が高い場合がある。物理空間のより大きな部分から要素を捕捉するために用いられることが可能である遠くから見た図の場合には、より大きなマーカが、目で見ることができ、カメラによって認識可能である確率が高い場合がある。一部の実施形態において、小さなマーカのみが用いられてもよく、他の実施形態において、より大きなマーカのみが用いられてもよく、さらに他の実施形態において、2つ以上のサイズのマーカが用いられてもよい。マーカのサイズ情報は、マーカデータベースに格納されてもよく、これにより、異なるサイズのマーカを含む画像において正確な姿勢推定を可能にする。
【0101】
一部の実施形態において、マーカは、ARToolKitなどの画像処理ソフトウェア、または大域的な閾値を適用することによって、任意のカラー画像を黒および白に変換することによる他の類似のソフトウェアなどによって、識別される。一部の実施形態において、マーカの検出速度および精度を改善するために、精度が、時間および処理能力の効率的な使用よりはるかに重要である場合には、候補マーカの位置を決定するための第1の検出後、ARToolKitなどの画像処理ソフトウェアを再び実行する前に、閾値選択技術が、各関心領域で用いられることができる。画像処理ソフトウェアは、各関心領域に関して2モードの強度ヒストグラムを作成してもよく、これにより、優れた精度でマーカの検出を可能にする。
【0102】
一部の実施形態において、所定のマーカ112−1は、マーカ間で一致する1つまたは複数の一様な要素を有してもよい。一部の実施形態において、これらの一様な要素は、マーカのある点に対する既知の位置を有し、同一線上にはない3つまたはそれ以上の点を提供する。マーカ802は、所定のマーカ112−1の一実施形態である。この実施形態において、マーカ802は、マーカの既知の点(たとえば、マーカの中心)に対する既知の位置を有し、同一線上にはないマーカの4点として機能する、角804−A、804−B、804−Cおよび804−Dを有する。マーカ802の実施例の場合のように、マーカに3つまたはそれ以上の点(同一線上にはない)を有することは、モデルを定義する際に役立ち、物理空間の物理的パラメータに基づいてもよい追加情報を提供する。たとえば、平面は、3つの同一線上にはない点によって一意に決定されることができる。マーカが、既知の向きを有し、関連付け意味情報が、マーカが平面上に位置していることを表す場合には、平面の向きは、3つの既知の同一線上にはない点を含む1つのマーカを見ることによって決定されることができる。
「モデルを定義するユーザが実行する方法」
ここで、図8Bから図8Cに注意が向けられる。図8Bは、一部の実施形態に基づく所定のマーカを含むシートを示すブロック図である。本発明の一部の実施形態によれば、複数の所定の物理的マーカが、作成される。これらの所定のマーカは、物理空間に配置されるように構成されてもよい。これらのマーカの少なくとも一部が、関連付け意味情報を有する。ユーザは、マーカの少なくとも一部を提供され、マーカの一部における第1のマーカは、第1のマーカと関連付けられた意味情報を表す関連付けられるラベルを有する。マーカは、マーカのうちの1つまたは複数を含む画像を分析することによって、モデルを定義するアプリケーションプログラムと共に用いられるように構成される。一部の実施形態において、アプリケーションプログラムは、図2に対して前述した方法に基づいて動作する。一部の実施形態において、意味情報は、モデル態様と、複数の所定のマーカと関連付けられた意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義される。
【0103】
一部が関連付け意味情報を有する所定のマーカ(たとえば、図1Aの112−1)を備えるユーザは、物理空間(たとえば、図1Aの110)において物理的要素と所定のマーカ112−1を関連付けてもよい。一部の実施形態において、所定のマーカ112−1は、所定のマーカ112−1を物理的要素に添付することによって物理的オブジェクトと関連付けられる。添付方法は、永久、半永久または一時的であってもよい。一部の実施形態において、ユーザは、物理空間において位置決めされるマーカによって、物理空間の画像を収集することができる。ユーザは次に、画像234からの情報に基づいて、モデルを定義するためにアプリケーションプログラムを用いることができ、任意に3次元仮想モデルなどのモデル(たとえば、図1Aの120)をレンダリングすることができる。一部の実施形態において、ユーザは、ユーザ・インターフェイス・モジュール(たとえば、図2の221)への入力を提供することによって、モデルを構築する中間段階で介入することができる。ユーザによる介入は、たとえば、種々の特徴と意味情報を関連付けることによって、情報を追加するためであってもよい。ユーザによる介入はまた、たとえば、3Dモデルレンダラに一定の画像または特徴を無視するように命令することによって、あるいは1つまたは複数の特徴の姿勢が不十分に推定されるような、3Dモデルレンダラにおける誤差を補正するためであってもよい。
【0104】
一部の実施形態において、ユーザが、1つまたは複数のページ812を含む本810における1つまたは複数の所定のマーカ112−1を提示される。一部の実施形態において、所定のマーカ112−1は、接着剤付きの裏当てを有する。ユーザに提示される所定のマーカ112−1は、関連付け意味情報に基づいてグループ化され、関連付け意味情報を表すシンボルでラベル付けされる。関連付け意味情報に基づくマーカのグループ化は、ユーザが適切な関連付け意味情報を有するマーカを迅速に位置決めすることを可能にする。たとえば、マーカのページ812において、マーカが、3つのグループ、「壁1マーカ」814、「壁2マーカ」816および「赤いマーカ」818に体系化されてもよい。一部の実施形態において、グループ「壁1マーカ」814における所定のマーカ112−1は、それらがすべて、実質的に垂直である同一の平坦な平面上に位置決めされることを表す関連付け意味情報を有してもよく、グループ「壁2マーカ」816における所定のマーカ112−1は、それらがすべて、実質的に垂直であり、グループ「壁1マーカ」814からの任意のマーカを含む表面とは異なる同一の平坦な平面上に位置決めされることを表す関連付け意味情報を有してもよい。一部の実施形態において、グループ「赤いマーカ」818における所定のマーカ112−1は、モデルにおいてこれらのマーカの1つと関連付けられるオブジェクトが赤色であることを示す関連付け意味情報を有する。一部の実施形態において、この色は、マーカと関連付けられる物理的オブジェクトの色に対応してもよく、そのマーカを示す画像をサンプリングすることによって決定されてもよく、他の実施形態において、この色は、マーカと関連付けられる物理的オブジェクトの色に対応しないユーザによって選択された色であってもよい。一実施形態において、色を示す色サンプルは、ページ上に印刷され、グループと関連付けられてもよい。
【0105】
一部の実施形態において、他のマーカは、関連付け意味情報の表示と共にユーザに提示される。これらの表示は、グラフィカル表示であってもよい。これらのグラフィカル表示は、テキストを含んでもよい。図8Cは、関連付け意味情報のグラフィカル表示を有する一部の所定のマーカ112−1の実施例を示す。単語を含むかどうかに関係なく、矢印および他のグラフィカルシンボルが、ユーザに所定のマーカ112−1と関連付けられる意味情報を示すために、所定のマーカ112−1を含むページ上に印刷されてもよいが、グラフィカルシンボルは、所定のマーカ112−1の一部であってもよく、または一部でなくてもよい。たとえば、線マーカ820は、線が所定のマーカ112−1の近傍に位置して、所定のマーカ112−1の1つのエッジに実質的に平行であることを表す関連付け意味情報を含んでもよい。ユーザが線を表すためにマーカを適切に用いるためには、ユーザは、線に対する所定のマーカ112−1の適切な位置および向きを知っていなければならない。一実施形態において、線マーカ820に含まれるグラフィカルシンボルは、拡張された記述を必要とすることなく、明確にこの情報を伝える。同様に、角マーカ822は、マーカのどの角が、角マーカ822によって表されることになっている角の付近に配置されなければならないかを識別するために、他のシンボルを用いてもよい。別の角マーカ824もまた、所定のマーカ112−1のどの角が、角マーカ824によって表されることになっている角の付近に配置されなければならないかを識別するために、別のシンボルを用いてもよい。一部の実施形態において、テクスチャまたは色サンプルマーカ826が、そのテクスチャおよび/または色に関してサンプリングされる領域のサイズおよび位置を表す。一部の実施形態において、所定のマーカ112−1は、ユーザの指示によって物理空間に配置される前に、グラフィカルシンボルから分離されてもよく、他の実施形態において、グラフィカルシンボルを含むマーカが、物理空間に配置されてもよい。物理空間にグラフィカルシンボルを含むマーカを共に配置することは、ユーザにマーカをさらに正確に配置するように案内するのに役立つ可能性があるという利点がある。しかし、場合によっては、グラフィカルシンボルは、物理空間の重要な態様を不明瞭にする可能性があり、したがって、ユーザは、グラフィカルシンボルから所定のマーカ112−1を分離し、物理空間に所定のマーカ112−1のみを配置してもよい。
【0106】
所定のマーカ112−1と意味情報を関連付ける別の方法もまた、検討される。たとえば、マーカは、所定のマーカ112−1を生成することが可能な電子デバイスに格納されることが可能である。ユーザは次に、電子デバイスに必要な意味情報の表示を提供することが可能であり、一部の実施形態に基づいて、本願明細書に記載したように、物理空間110の画像の少なくとも一部に基づき、モデルを定義する際に用いるために、1つまたは複数の所定のマーカを生成して、意味情報データベース240におけるマーカを表す情報と共に、ユーザが表した意味情報を格納することが可能である。
「動的指定マーカ」
一部の実施形態において、モデルの態様は、前述したように、静的態様に制限される。他の実施形態において、モデルの態様は、静的態様および動的態様の両方を含んでもよい。一実施形態において、モデルを定義するコンピュータ実行方法は、静的構成における物理空間(たとえば、図1Aの110)の図9の1つまたは複数の画像234を分析することを含む。画像の少なくとも1つは、1つまたは複数の区別可能な視覚特徴(たとえば、図1Aの112)を含む。一部の実施形態において、意味情報は、区別可能な視覚特徴と関連付けられ、モデルは、関連付け意味情報に基づいて定義される。定義されたモデルは、区別可能な視覚特徴の1つまたは複数と関連付けられる少なくとも1つのモデルの態様を含み、モデルの態様は、区別可能な視覚特徴の1つまたは複数と関連付けられる意味情報に基づいて、動的挙動を可能にする。一部の実施形態は、ODE、Newton、PhysXなどのアニメーションのスクリプト記述の提供する、および/または、動的物理モデラを使用する表示アプリケーションにおいて、動的挙動をレンダリングするステップを任意に含む。動的態様を含むモデルにおいて、モデルは、モデルにおける2つまたはそれ以上のオブジェクトの間の関係を定義する連携を含んでもよい。第1のオブジェクトと第2のオブジェクトとの間の連携(たとえば、扉と壁との間の蝶番)は、第1のオブジェクトまたは第2のオブジェクトまたはその両方の位置において制約を課してもよい(たとえば、扉は、扉と壁との間の蝶番を中心として回転するだけであってもよい)。以下にさらに詳細に記載するように、動的態様は、連携の制約、動きの特徴、材料特徴、動的要素の挿入およびモデル環境の動的態様を含んでもよい。
【0107】
ここで、上述した方法を実行する計算デバイス900の一実施形態を示す図9に注意が向けられる。計算デバイス900の要素の多くは、計算デバイス200および図2を参照してさらに詳細に前述される。一部の実施形態において、計算デバイス900は、メモリ906が任意に、CPU202から遠隔位置にある大容量格納装置を含んでもよいことを含む。メモリ906またはあるいはメモリ906内の不揮発性メモリデバイスは、コンピュータ読み出し可能記憶媒体を含む。メモリ906は、以下の要素またはこれらの要素のサブセットを格納し、以下の追加要素もまた含んでもよい。
【0108】
・連携の制約、動きの特徴、材料特徴、動的要素の挿入およびモデル環境の動的態様などの、仮想モデルの動的態様をモデル化するための手順を含む、動的態様モデラ902、
・動的3次元モデルの動的挙動および動的態様に少なくとも部分的に基づくモデルにおけるオブジェクトを決定するための手順を含む、モデル表示アプリケーション904(ODE、Newton、PhysXまたは他の剛体物理モデラなど)または他の動的モデラ(VRMLアニメーションを支援するVRMLブラウザなど)。一部の実施形態において、モデル表示アプリケーションは、Open Dynamics Engineなどの剛体物理エンジンであってもよい。(Open Dynamics Engineは、剛体動性をシミュレートするためのオープンソースの高性能ライブラリである。高度連携タイプを有し、摩擦による統合衝突検出を有する。)一部の実施形態において、動的挙動は、ユーザがモデルにおけるオブジェクトと相互作用することにより入力を提供するとき、モデルの適切な応答を表す情報である。一部の実施形態において、動的態様の挙動は、非物理的であり、物理的モデル化は、必要とされない。たとえば、モデルは、ユーザが扉を単にクリックする場合に、開閉の間で扉が切り替わるスクリプト記述された挙動を有してもよい。あるいは、扉は、サイズ、密度および摩擦および壁との蝶番連携を含む動的態様を有してもよい。これにより、ユーザが「仮想的に」扉を押すことによって扉と相互作用するときに、モデル表示アプリケーションは、扉の挙動をシミュレートすることが可能である。この実施例において、扉を開けるユーザを表す入力がある場合には、扉が回転されてもよく、回転速度は、扉のサイズ、密度および摩擦と共に、ユーザが扉を押す力を表す入力によって決定されてもよい。
【0109】
・図2における要素に対応し、図2を参照して本願明細書にさらに詳細に記載される図9に示される追加要素。
【0110】
ここで、少なくとも一部の動的態様を含むモデルを定義するための一部の実施形態による方法の記述に対して注意が向けられる。図10は、そのような態様を定義するための方法の一実施形態を示すフローチャートである。一部の実施形態において、静的構成における空間の1つまたは複数の画像234が、分析され(1010)。画像の少なくとも1つが、1つまたは複数の区別可能な視覚特徴を含む。一部の実施形態において、意味情報は、区別可能な視覚特徴の少なくとも1つと関連付けられる(1012)。一部の実施形態において、区別可能な視覚特徴は、所定のマーカである(1014)。一部の実施形態において、1つまたは複数のマーカと関連付けられる意味情報は、識別される(1016)。一部の実施形態において、意味情報は、モデルの静的特徴態様(1022)またはモデルに挿入されることになっている構成要素(1024)などの、モデルの1つまたは複数の静的態様を表してもよい。モデルの静的態様を表す意味情報は、図3Aから図3Bを参照してさらに詳細に上述される。一部の実施形態において、意味情報は、モデルの幾何的特徴(1018)、モデルの非幾何的特徴(1020)、連携制約(1026)、動き特徴(1028)、材料特徴(1030)、動的要素の挿入(1032)またはモデル環境の動的態様(1034)などの、モデルの1つまたは複数の動的態様を表してもよい。一部の実施形態において、動的態様は、物理空間の対応する動的態様を表している。一部の実施形態において、動的態様は、物理空間の任意の対応する動的態様を表していないが、仮想モデルの所望の動的態様を表してもよい。
【0111】
一部の実施形態において、連携制約を表す意味情報は、モデルにおける少なくとも第1のオブジェクトと第2のオブジェクトとの間の動的関係を表す。一部の実施形態において、関係は、第1のオブジェクトの移動の範囲が、第2のオブジェクトの位置に対して制約が課せられるものであってもよい。一部の実施形態において、連携制約マーカの1つのタイプのみが用いられる。他の実施形態において、連携制約マーカの複数のタイプが、第1のオブジェクトと第2のオブジェクトとの間の動的関係を表すために用いられる。一部の実施形態において、連携制約(1026)は、以下を含んでもよい。
【0112】
・連携位置または連携の位置を表すアンカ。たとえば、マーカは、連携が、マーカの姿勢に対する位置でモデルに位置決めされることになっていることを表してもよい。
【0113】
・連携タイプ(1036)。第1のオブジェクトが、第2のオブジェクトに対して固定されること、第1のオブジェクトが、第2のオブジェクトとは分離可能であること、または第2のオブジェクトに対する第1のオブジェクトの移動範囲が、軸を中心とした回転、所定の方向における摺動、または所定の経路に沿った摺動に限定されることを表す。
【0114】
・連携軸(1038)。第1のオブジェクトがその周りに回転することができる軸を表す。一部の実施形態において、軸は、座標系の軸と自動的に整合されてもよい。たとえば、z軸が床に垂直であるように座標系が定義される場合には、扉の蝶番である連携軸を表すマーカは、z軸に平行であるように自動的に整合されてもよい(たとえば、連携は、「垂直にスナップしてもよい(snap to vertical)」。
【0115】
・連携停止(1040)。回転移動に関する最大進行角または摺動移動に関する最大進行直線距離などの物理的な移動範囲を表す。たとえば、連携停止マーカは、壁における扉が、壁と平行な位置から90°を超えて進まなくてもよいことを示してもよい。別の実施例において、連携停止マーカは、キャビネットの引き出しが、一定の距離より長くキャビネットから引っ張り出されなくてもよいことを示してもよい。一部の実施形態において、距離は予め決定されてもよく、他の実施形態において、距離は、キャビネットの深さに基づいて自動的に計算されてもよい。
【0116】
一部の実施形態において、動き特徴を表す意味情報(1028)は、第1のオブジェクトの動きに関する情報を表す。一部の実施形態において、動きは、所定の座標系に対してである。他の実施形態において、動きは、モデルにおける第2のオブジェクトに対してである。一部の実施形態において、動き特徴は、第2のオブジェクトに対する第1のオブジェクトの動きが、特定の性質、たとえば、回転運動(たとえば、モータ)、往復運動(たとえば、ピストン)または直線運動(たとえば、コンベヤベルトの上面図)を有することを示してもよい動きタイプ(1042)を含む。一部の実施形態において、動き特徴は、速度(1044)を含み、オブジェクトまたはオブジェクトの一部が、モデルにおける他のオブジェクトに対して移動する速度を表してもよい。一部の実施形態において、速度は、1つの所定のマーカによって表される。他の実施形態において、速度は、2つのマーカによって表され、マーカ間の距離は、所定の時間量におけるオブジェクトによって進行される距離を表す。たとえば、1m離隔して配置される2つのマーカは、関連付けられるオブジェクトが1秒当たり1m移動することを表してもよく、2m離隔して配置される2つのマーカは、関連付けられるオブジェクトが1秒当たり2m移動することを表してもよい。一部の実施形態において、動き特徴は、第1のオブジェクトが移動中である方向を表してもよい動き方向(1046)を含む。一部の実施形態において、1つのマーカが方向を表してもよく(たとえば、動きの方向が、動き方向マーカの姿勢に対して定義されてもよい)、他の実施形態において、2つ以上のマーカが、動きの方向を表すために用いられてもよい(たとえば、動きの方向は、直線における第2のマーカの位置まで第1のマーカを移動するために必要とされるように、動きの方向によって表されてもよい)。これらのマーカは、たとえば、コンベヤベルトの速度、モータの所望の速度またはモータの最大速度を表すために用いられることができる。マーカは、線に沿ってまたはホイール上に配置されることができる。複数の速度が、このように複数のマーカによって表されることが可能であり、モデルにおける制御部は、ユーザがこれらの速度の1つを選択することを可能にする。
【0117】
一部の実施形態において、材料特徴を表す意味情報(1030)は、モデルにおけるオブジェクトの材料の特徴を示す。一部の実施形態において、第1のマーカによって表されるオブジェクトの一定のタイプは、デフォルトの材料特徴(たとえば、デフォルトの扉は、木から形成されてもよい)を有してもよく、第2のマーカが、オブジェクトに関する関連付け追加意味情報を有してもよく、追加意味情報は、デフォルトの材料特徴の少なくとも一部とは異なり、それを無効にする材料特徴を含むオブジェクトの別の材料特徴を含む(たとえば、マーカは、扉がデフォルトの木ではなく、金属から形成されることを表してもよい)。一部の実施形態において、材料特徴は、材料密度、摩擦および反発力を表す材料タイプマーカ(1048)を含んでもよい。一部の実施形態において、材料密度(1050)、材料摩擦(1052)および材料反発係数(すなわち、反発力パラメータ)が、個別のマーカによって表されてもよい。一部の実施形態において、マーカは、多数の特定の材料特徴が、少数の特定のマーカによって表される材料特徴を無効にすることを表す。たとえば、オブジェクトは、オブジェクトが扉である(デフォルト材料タイプ:木、デフォルト材料密度:中実)ことを示すマーカ、オブジェクトの材料タイプが金属である(デフォルト材料密度:中実)ことを示すマーカ、およびオブジェクトが中空であることを示すマーカを有してもよい。この実施例において、モデルビルダ226、3Dモデルレンダラ228、動的態様モデラ902およびモデル表示アプリケーション904(図9)は、オブジェクトを中空の金属の扉として識別する。他の実施形態において、より一般的なマーカは、より特定のマーカを無効にする可能性がある。この実施形態において、モデルビルダ226、3Dモデルレンダラ228、動的態様モデラ902およびモデル表示アプリケーション904(図9)は、オブジェクトを木製の扉として識別する。他の実施形態において、マーカは、その関連付け意味情報が、他のマーカと関連付けられる任意の矛盾する意味情報を無効にすることを表す関連付け意味情報を有してもよい。一部の実施形態において、サンプリングされたテクスチャなどの静的態様もまた、図3Aを参照して前述したように、モデルにおけるオブジェクトと関連付けられてもよい。
【0118】
一部の実施形態において、動的要素の挿入を表す意味情報(1032)は、動的態様を有する要素が、関連付け意味情報を有するマーカに対して特定の姿勢に挿入されることになっていることを表してもよい。一部の実施形態において、動的要素は、制御部である。たとえば、マーカは、制御部が、特定の位置でモデルに挿入される必要があり、制御部は、ボタン、スイッチ、ハンドルまたはスライダまたは他の制御部であってもよいことを表してもよい。制御部(たとえば、スイッチ)は、物理空間における制御部(たとえば、部屋における照明スイッチ)でモデル化されてもよく、または制御部が物理空間に存在しない場合には、モデルに制御部を挿入するための位置を示唆してもよい。一部の制御部は、モデルにおける照明の状態を変更する照明スイッチなどの結果として生じるモデルにおける所定の意味を有してもよい。制御部がユーザによる選択を可能にする考えられる設定は、上記されたように決定されるコンベヤに関する可能な速度などのマーカ意味から生じてもよい。一部の実施形態において、制御部は、モデルがレンダリングされた後、ユーザによって意味と関連付けられてもよい。一部の実施形態において、一部の制御部は、所定の意味を有しなくてもよいが、モデルビルダ226によって自動的に割り当てられる意味であってもよい(図2)。制御部は、その近接性に基づいて、他の動的要素に意味を自動的に割り当てられてもよく、たとえば、一部の実施形態において、扉における一般的な制御部の挿入を表すマーカは、「ハンドル」の意味に自動的に割り当てられてもよく、ユーザによって選択されるときには、扉の開閉をしてもよい。一部の実施形態において、制御部は、エンドユーザが、モデル内の色、テクスチャまたは照明を変更するために、モデルと相互作用することを可能にしてもよい。一部の実施形態において、動的要素は、モータ、コンベヤベルト、滑車、ばね、ホイール、振り子および関節式連携部(たとえば、ロボットアーム)であってもよい。これらの要素の態様のすべてまたは一部は、予め定義されてもよく、またはユーザによって定義されてもよい。一部の実施形態において、要素の態様は、要素と関連付けられるマーカを用いて定義される。
【0119】
一部の実施形態において、意味情報は、モデル環境の一定の態様を変更することができるように、モデル環境の動的態様(1034)を表す。一部の実施形態において、モデル環境の動的態様は、モデルの照明を含んでもよく、照明の光源、方向、強度または色を表してもよい。たとえば、一実施形態において、マーカは、モデルにおける光源が、モデルにおける窓を通じてモデルに入る太陽光であることを表すことが可能であり、一部の実施形態において、モデル環境の動的態様は、この光の方向および強度が一日の時間と共に変化してもよい。一実施形態において、マーカは、光源が、天井の中心にある照明器具であることを表すことが可能であり、一部の実施形態において、モデル環境の動的態様は、照明の強度が仮想制御によって変更されることができることであってもよい(たとえば、照明は、オン、オフまたは減光のいずれであってもよい)。他の実施形態において、モデル環境の動的態様は、重力などのモデル環境の態様を含んでもよい(たとえば、マーカは、重力の方向および/または強度を表してもよい)。
【0120】
一部の実施形態において、1つまたは複数のマーカの姿勢は、上述したように決定される(1054)。姿勢を決定するための例示の方法は、図3Aから図3Bを参照してさらに詳細に上述される。一部の実施形態において、所定のマーカおよび/または他の区別可能な視覚特徴の追加姿勢は、姿勢エスティメータ224(図9)によって決定されてもよい。一部の実施形態において、物理空間における区別可能な視覚特徴の姿勢は、モデルにおける区別可能な視覚特徴の姿勢を表す。モデルにおける、第1の所定のマーカと関連付けられるオブジェクトの配置は、第1の所定のマーカの姿勢に基づいて決定されてもよい(1056)。図9を参照して上述したように、一部の実施形態において、動的態様は、動的態様モデラ902(図9)によってモデル化されてもよい。
【0121】
一部の実施形態において、モデルの静的態様はまた、1つの特徴の姿勢および関連付け意味情報に少なくとも部分的に基づいて定義される。モデルの静的態様を定義するための例示の方法は、図3Aから図3Bおよび図4Aから図4Cを参照してさらに詳細に上述される。一部の実施形態において、モデルは、関連付け意味情報に基づいて定義され(1058)、モデルは、区別可能な視覚特徴の1つまたは複数と関連付けられる少なくとも1つのモデルの態様を含む。一部の実施形態において、モデルの動的挙動は、区別可能な視覚特徴の少なくとも1つと関連付けられる意味情報に基づいて決定される(1060)。定義されたモデルは、任意の適切なレンダリング技術を用いてレンダリングされてもよい(1062)。一部の実施形態において、定義されたモデルの1つまたは複数の動的態様の動的挙動は、(剛体物理モデラーなどの)モデル表示アプリケーションを用いてレンダリングされる(1064)。一部の実施形態において、定義されたモデルは、一般化された関節式モデルである。一般化された関節式モデルは、連携部によって接続される剛体を含む物理エンジンによって用いられるタイプのモデルであってもよく、連携部に取り付けられるコンベヤベルトおよびモータのほか、材料、色、テクスチャおよび照明などの一部の修正可能な非幾何的特徴を含む。一実施形態において、このモデルは、静的態様および動的態様の両方を含む定義されたモデルに基づいて、レンダリングされる。他の実施形態において、図3Aを参照してさらに詳細に上述されたように、モデルは、静的態様に基づいて構成される。
【0122】
ここで、図11に注意が向けられ、図11は、モデルの所望の動的態様を表すために、物理空間にマーカを配置する異なる方法を示す。図11は、物理空間に配置される区別可能な視覚特徴112の例示の実施例を提供する。図11において、複数の区別可能な視覚特徴112−Mから112−Xが、図11に示されるような部屋の角などの物理空間1100に配置される。一部の実施形態において、これらの区別可能な視覚特徴112の1つまたは複数は、所定のマーカである。所定のマーカは、ユーザによって物理空間1100において種々の物理的要素と関連付けられてもよい。これらの物理的要素は、物理空間1100における物理的オブジェクトまたは他の特徴であってもよい。所定のマーカは、物理空間の実際の態様に関する情報を表すために用いられてもよく、またはモデルの所望の態様を表すために用いられてもよい。図11における物理空間1100のブロック図において、物理空間は、第1の壁1102と、第1の壁1102に連結されるが、第1の壁1102とは異なり、窓またはディスプレイまたはポスタまたは他の要素または壁1102における特定の関心領域であってもよい要素1104と、第2の壁1106、オブジェクト1108、扉1110を含む。ユーザは、物理空間1100に含まれる1つまたは複数の要素と1つまたは複数の所定のマーカを関連付けてもよい。たとえば、ユーザは、第1の壁1102と1つまたは複数のマーカ112−M、112−Nを関連付けてもよい。ユーザはまた、窓、ディスプレイ、ポスタ、または壁1102とは異なる他の要素であってもよい要素1104とマーカ112−Oを関連付けてもよい。ユーザはまた、第1の壁1102とは異なる第2の壁1106とマーカ112−Pを関連付けてもよい。マーカ112−Qでない1つまたは複数の追加の区別可能な視覚特徴が、識別されてもよく、物理空間1100の物理的パラメータの決定または物理空間の少なくとも一部に基づくモデルの定義を助けるために用いられてもよい。さらに、一部の実施形態において、物理空間の要素の1つまたは複数は、動的態様を有してもよい。たとえば、一実施形態において、1つまたは複数のマーカ112−Rは、動的要素(たとえば、照明のスイッチ)がマーカの姿勢に対して特定の位置でモデルに挿入されることになっていることを表してもよい。さらに、一部の実施形態において、オブジェクト1108などの他の動的要素は、たとえば、1つまたは複数のマーカ112−Sおよび112−Tと関連付けられてもよい。一部の実施形態において、扉1110は動的態様であってもよく、その動的性質は、1つまたは複数の関連付けられるマーカ112−U、112−V,112−Wおよび112−Xによって表されてもよい。物理空間1100は、本願明細書に記載されていない他の要素を含んでもよく、それらの要素は、所定のマーカに関連付けられてもよく、または関連付けられなくてもよいことは理解されるべきである。したがって、モデルの動的態様である扉そのものに加えて、扉の動き特性、材料特徴および連携制約(追加マーカによって表されてもよい)もまた、モデルの動的態様であってもよい。
【0123】
たとえば、一実施形態において、マーカ112−Rは、仮想モデルに挿入されることになっている制御部を表してもよい。一部の実施形態において、この制御部は、物理空間に存在する制御部(たとえば、照明スイッチが、物理空間における照明スイッチの位置に対応する位置に配置されるモデルに挿入されることになっていることを表すマーカ)を表してもよい。他の実施形態において、制御部は、異なるタイプの制御部(たとえば、スイッチの代わりにボタンまたはダイアル)であってもよく、または物理空間において制御部がない位置に制御部を挿入してもよい。たとえば、物理空間1100において、照明スイッチが第1の壁1120に位置しているとしても、照明スイッチを挿入するマーカ(たとえば、112−R)は、第1の壁1102上ではなく、第2の壁1106上に配置されてもよい。この実施例において、この物理空間1100の画像を分析することによって作成されたモデルは、第1の壁1102上ではなく第2の壁1106上のスイッチを有する。一実施形態において、制御部挿入マーカ112−Rと関連付けられるモデルの動的態様は、要素が照明スイッチであってもよい。この実施形態において、一旦、モデルがレンダリングされると、モデルにおけるこの要素のユーザ選択は、仮想モデルにおいて照明をオフにすることであってもよい。
【0124】
一実施例として、1つまたは複数のマーカ112−Sおよび112−Tは、動的態様を有するモデルにおけるオブジェクト1108を表してもよい。一実施形態において、オブジェクト1108は、キャビネットであってもよく、オブジェクトと関連付けられる第1のマーカ112−Tは、オブジェクト1108がキャビネットであることを表してもよく、オブジェクト1108のデフォルトの材料特徴(たとえば、材料タイプ:木、材料密度:中実および/または材料摩擦係数=1)を表してもよい。一部の実施形態において、オブジェクト1108と関連付けられる第2のマーカ112−Sは、オブジェクトに関する追加態様を表してもよい。一部の実施形態において、これらの追加特徴は、材料特徴(たとえば、材料タイプ:金属、材料密度:中空および/または材料摩擦係数=2)を含んでもよい。他の実施形態において、第2のマーカ112−Sは、オブジェクト1108が関連付けられる連携タイプを有することを表してもよい。この実施形態において、連携タイプは、オブジェクト1108が摺動連携部を有する摺動可能な要素1109(たとえば、引き出し)を有することであってもよい。関連付けられる動き特性は、摺動可能な要素1109が所定の経路に沿って摺動可能であることを表してもよい。一実施形態において、所定の経路は、オブジェクト1108の面に垂直である。一部の実施形態において、第2のマーカ112−Sはまた、連携停止を表し、これらの連携停止は、動きの物理的な範囲を含んでもよく、物理的な範囲は、回転移動に関する最大進行角または摺動移動に関する最大進行直線距離を含む。キャビネットにおける引き出しの実施例において、連携停止は、摺動可能な要素1109(たとえば、キャビネットにおける引き出し)が、オブジェクト1108の深さ(たとえば、キャビネットの深さ)に等しい最大進行直線距離を有することを表してもよい。
【0125】
一実施形態において、1つまたは複数のマーカ112−U、112−V、112−Wおよび112−Xは、モデルの動的態様である扉1110を表してもよい。一部の実施形態において、1つまたは複数のマーカ112−U、112−V、112−Wおよび112−Xによって表される扉の動的挙動は、物理空間における扉の動的挙動と一致してもよく、他の実施形態において、1つまたは複数のマーカ112−U、112−V、112−Wおよび112−Xによって表される扉の動的挙動は、物理空間における扉の動的挙動と一致しないモデルにおける扉の所望の動的挙動であってもよい。一部の実施形態において、1つまたは複数のマーカは、物理空間において対応する位置に扉がない特定の位置で扉がモデルに位置決めされるべきであることを表してもよい。一部の実施形態において、マーカ112−Wは、オブジェクトが扉1110であることを表してもよく、扉1110が動的挙動を有することを表してもよい。たとえば、動的挙動は、扉が壁1106との連携部を有することを含んでもよい。扉が物理空間における扉に対応する実施形態において、物理空間における扉が物理空間の1つまたは複数の画像において部分的に開いている場合には、画像処理ソフトウェアは、扉のどのエッジが蝶着されているか、扉が内または外にスイングするかどうかを識別するために用いられてもよく、扉が、物理空間の画像において閉じられている場合には、マーカは、この情報を表すために扉上または扉付近に配置される必要がある可能性がある。一実施形態において、マーカ112−Xは、扉が物理空間1100の中にスイングする場合には、壁と扉との間の連携部が回転連携部であることを表してもよい。別の実施形態において、壁1106の上のマーカ112−Uおよび112−Vは、扉1110が壁との回転連携部を有することを表してもよい。さらに、一部の実施形態において、壁の上のマーカ112−Uおよび112−Vまたは扉の上のマーカ112−Wおよび112−Xは、連携軸を表してもよい。前述したように、一部の実施形態において、連携軸は、垂直にスナップしてもよい。一部の実施形態において、連携停止は、マーカ(たとえば、112−U)によって表されてもよく、他の実施形態において、モデルビルダ2204(図9)または別のアプリケーションが、扉が取り付けられる壁1106および別の壁(たとえば、1102)または貫通することができないオブジェクト(たとえば、1108)を認識することによって、扉の蝶番用の連携停止を自動的に決定することが可能であってもよい。
【0126】
さらに、一部の実施形態において、扉1110と関連付けられるマーカ112−Wの1つは、扉の動き特性(たとえば、常に回転する扉である)などのモデルの追加動的態様を表してもよい。一部の実施形態において、マーカの第1のマーカは、オブジェクトを表してもよく、第1の意味情報は、デフォルトの動的態様を含み、マーカの第2のマーカは、オブジェクトに関する第2の関連付け意味情報を有してもよく、デフォルトの動的態様の少なくとも一部とは異なり、デフォルトの動的態様の少なくとも一部を無効にする、第2の動的態様を含むオブジェクトの別の動的態様を含んでもよい。たとえば、物理空間1100において、扉1110と関連付けられる第1のマーカ112−Xは、オブジェクトが扉であることを表してもよく、扉1110のデフォルトの動的態様を含む関連付け意味情報を含んでもよい。これらのデフォルトの動的態様は、扉が、垂直軸によって扉の右側に壁との回転連携部を有すること、および扉が木の材料特徴を有することを含んでもよい。一部の実施形態において、第2のマーカ112−Wが、扉1110と関連付けられてもよく、扉に関する別の動的態様を表してもよい。たとえば、別の動的態様は、扉が壁との摺動連携部を有し、ガラスから形成されることを表してもよい。一部の実施形態において、別の動的態様は、デフォルトの動的態様の少なくとも一部を無効にする。
【0127】
図9から図11に関して前述した実施形態の1つの利点は、モデルの動的態様が、静的構造における物理空間の画像から決定されることができることである。言い換えれば、一部の実施形態において、モデルの動的態様は、何も移動しなかった物理空間の画像の集合から決定されることができる。たとえば、扉が蝶番によって壁に取り付けられ、部屋の中にスイングするが、壁から90°で停止することを示す関連付け意味情報をマーカが有する場合には、1つまたは複数の所定のマーカは、物理空間における扉と関連付けられることができる。静的シーンの画像の集合において、これらのマーカおよび関連付け意味情報を識別することによって、動的モデルが作成されることができる。モデルの動的態様を決定する前述の内容は例示に過ぎないこと、および当業者は、本願明細書に記載される動的態様が、本願明細書に記載される技術または当技術分野では周知の他の技術の任意の組み合わせを用いて、決定されることが可能であることを認識するであろうことは、理解されるべきである。
【0128】
前述の内容は、説明の目的のためであり、特定の実施形態を参照して記載した。しかし、上記の例示の説明は、開示された正確な形態に本発明を網羅するため、または限定することを意図していない。上記の教示に照らして、種々の修正および変形が可能である。実施形態は、本発明の原理およびその実用性を最もよく説明するために選択され、記載されており、それにより、当業者が、検討される特定の用途に適するような種々の修正によって、本発明および種々の実施形態を最もよく利用することが可能である。
【符号の説明】
【0129】
110 物理空間
112 視覚特徴
120 モデル
202 CPU
224 姿勢エスティメータ
238 姿勢データベース
240 意味情報データベース
【特許請求の範囲】
【請求項1】
モデルを定義するコンピュータ実行方法であって、
複数の区別可能な視覚特徴を含む物理空間中の少なくとも1つの画像を分析し、
前記視覚特徴の少なくとも1つは関連付けられた意味情報を有する所定のマーカであり、
前記関連付けられた意味情報は、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義され、
前記関連付け意味情報に少なくとも部分的に基づき前記モデルを定義する、
方法。
【請求項2】
前記物理空間において少なくとも1つの所定のマーカの姿勢を決定し、
前記意味情報と共に、前記所定のマーカの少なくとも1つの姿勢に基づいて、前記モデルの幾何特徴を定義する、
ことをさらに含む、請求項1に記載の方法。
【請求項3】
前記マーカの少なくとも1つと関連付けられる前記意味情報に基づいて、前記モデルの非幾何特徴を定義する、ことをさらに含む、請求項1に記載の方法。
【請求項4】
前記モデルの態様の少なくとも1つは、前記マーカのサブセットと関連付けられる意味情報に基づいて特定され、
前記サブセットは、少なくとも2つのマーカを含む、
請求項1に記載の方法。
【請求項5】
前記マーカの前記サブセットと関連付けられる前記意味情報がサブモデルを定義するために用いられる、請求項1に記載の方法。
【請求項6】
前記所定のマーカの少なくとも1つは挿入マーカであり、
前記挿入マーカの少なくともサブセットに関して、前記サブセットにおける各個別の挿入マーカと関連付けられる前記意味情報が、前記サブモデルの複製が、前記個別の挿入マーカの前記物理空間における姿勢に対して相対的に決定される姿勢を有する前記モデル中に、挿入されることを表す、
請求項5に記載の方法。
【請求項7】
前記マーカのサブセットと関連付けられる意味情報は、前記モデルに含まれる前記少なくとも1つの画像の領域を表す、請求項1に記載の方法。
【請求項8】
前記モデルの態様は、モデル構成要素、モデル構成要素の姿勢、または、モデル構成要素の視覚的外観の記述のうちの少なくとも1つである、請求項1に記載の方法。
【請求項9】
前記区別可能な視覚特徴の少なくとも1つは、画像特徴検出アルゴリズムによって識別される視覚的特徴を含む、請求項1に記載の方法。
【請求項10】
少なくとも1つの所定のマーカと関連付けられる前記意味情報は、前記少なくとも1つの所定のマーカの位置および向きによって表される姿勢で、挿入可能なアイテムが前記モデルに挿入されることを表す、請求項1に記載の方法。
【請求項11】
前記挿入可能なアイテムは、画像、ビデオストリーム、3次元オブジェクトの表現のうちの少なくとも1つである、請求項10に記載の方法。
【請求項12】
前記マークアップ言語は、クラスの継承を有する階層マークアップ言語であり、
前記クラスがモデルの態様に対応し、
前記クラスは、平面、パラメトリック形状、押出、画像抽出、アイテム挿入および定義を含む、
請求項1に記載の方法。
【請求項13】
前記クラスが平面である場合、サブクラスは、扉、壁、天井、床および机を含み、
前記態様のクラスがモデファイアである場合、前記モデルの態様サブクラスが、線および角を含む、
請求項12に記載の方法。
【請求項14】
前記定義されたモデルに基づき、3次元モデルをレンダリングすることをさらに含む、請求項1に記載の方法。
【請求項15】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサによる実行のために少なくとも1つのモジュールを格納するメモリと、
を備え、
前記少なくとも1つのモジュールは、
複数の区別可能な視覚特徴を含む物理空間の少なくとも1つの画像を分析する命令と、
前記関連付けられた意味情報に少なくとも部分的に基づき前記モデルを定義する命令と、
を含み、
前記視覚特徴の少なくとも1つは、関連付けられた意味情報を有する所定のマーカであり、
前記関連付けられた意味情報は、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義される、
モデルを定義するシステム。
【請求項16】
物理空間において配置されるように構成可能な複数の所定の物理的マーカを作成し、
前記マーカと意味情報を関連付け、
前記ユーザに前記マーカの少なくともサブセットを提供する、
モデルを定義する方法であって、
前記マーカの前記サブセットにおける第1のマーカが前記第1のマーカと関連付けられた意味情報を表す関連付けラベルを有し、
前記マーカは、前記マーカの少なくとも1つを含む画像を分析することによって、モデルを定義することを可能にするアプリケーションプログラムと共に用いるように構成されている、
方法。
【請求項17】
前記意味情報は、モデルの態様と、複数の所定のマーカと関連付けられた意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義される、請求項16に記載の方法。
【請求項18】
静的構造において空間の複数の画像を分析し、
前記画像の少なくとも1つは少なくとも1つの区別可能な視覚特徴を含み、
前記区別可能な視覚特徴を意味情報と関連付け、
前記関連付けられた意味情報に基づき前記モデルを定義する、
ことを含む、モデルを定義するコンピュータ実行方法であって、
前記モデルは、前記区別可能な視覚特徴の少なくとも1つと関連付けられるモデルの態様を含み、
前記モデルの態様は、前記区別可能な視覚特徴の少なくとも1つと関連付けられる前記意味情報に基づいて、動的挙動を行うことが可能である、
方法。
【請求項19】
前記関連付け意味情報は、モデルの態様と、複数の区別可能な視覚特徴と関連付けられる意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義される、請求項18に記載の方法。
【請求項20】
前記区別可能な視覚特徴は、所定のマーカである、請求項18に記載の方法。
【請求項21】
前記空間において少なくとも1つの区別可能な視覚特徴の姿勢を決定し、
前記視覚特徴と関連付けられる前記意味情報と共に、前記視覚特徴の少なくとも1つの姿勢に基づいて、前記モデルの幾何特徴を定義する、
ことをさらに含む、請求項18に記載の方法。
【請求項22】
前記マーカの少なくとも1つと関連付けられる前記意味情報に基づいて、前記モデルの非幾何特徴を定義することをさらに含む、請求項18に記載の方法。
【請求項23】
前記モデルにおいて、剛体物理モデラを用いて、前記態様の前記動的挙動をモデル化する、ことをさらに含む、請求項18に記載の方法。
【請求項24】
第1の区別可能な視覚特徴と関連付けられる前記関連付け意味情報は、連携制約、動き特徴、材料特徴および動的要素の挿入のうちの少なくとも1つを含む、請求項18に記載の方法。
【請求項25】
前記連携制約は、連携タイプ、連携軸、連携停止、連携位置および連携アンカのうちの少なくとも1つを含む、請求項24に記載の方法。
【請求項26】
前記動き特徴は、動きタイプ、速度および方向の少なくとも1つを含む、請求項24に記載の方法。
【請求項27】
前記材料特徴は、材料タイプ、密度、摩擦および回復係数などの跳ね返りパラメータの少なくとも1つを含む、請求項24に記載の方法。
【請求項28】
前記動的要素は、制御部およびモータの少なくとも1つを含む、請求項24に記載の方法。
【請求項29】
前記動的要素は、オブジェクトの位置決め、照明または材料の色などの前記モデルの動的態様を変更するために、モデル表示アプリケーションにおいてエンドユーザによって相互作用してもよい制御部を含む、請求項24に記載の方法。
【請求項30】
前記連携停止は、動きの物理的範囲を含み、
動きの前記物理的範囲は、回転移動に関する最大進行角または摺動移動に関する最大進行直線距離を含む、
請求項25に記載の方法。
【請求項31】
第1の区別可能な視覚特徴は、モデルオブジェクトのデフォルト材料特徴を含む関連付け意味情報を有し、
第2の区別可能な視覚特徴は、前記デフォルト材料特徴の少なくとも一部とは異なり、前記デフォルト材料特徴の少なくとも一部を無効にする前記モデルオブジェクトの別の材料特徴を含む第2の関連付け意味情報を有する、
請求項24に記載の方法。
【請求項32】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサによる実行のために少なくとも1つのモジュールを格納するメモリと、
を備える、モデルを定義するシステムであって、
前記少なくとも1つのモジュールは、
静的構造において、複数の画像の少なくとも1つが少なくとも1つの区別可能な視覚特徴を含む、空間の該複数の画像を分析する命令と、
前記区別可能な視覚特徴と意味情報を関連付ける命令と、
前記関連付けられた意味情報に基づき前記モデルを定義する命令と、
を含み、
前記モデルは、前記区別可能な視覚特徴の少なくとも1つに関連付けられたモデルの態様を含み、
前記モデルの態様は、前記区別可能な視覚特徴の少なくとも1つと関連付けられる前記意味情報に基づく動的挙動を行うことを可能にする、
システム。
【請求項33】
コンピュータに、
複数の区別可能な視覚特徴を含む物理空間中の少なくとも1つの画像を分析し、
前記視覚特徴の少なくとも1つは関連付けられた意味情報を有する所定のマーカであり、
前記関連付けられた意味情報は、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義され、
前記関連付け意味情報に少なくとも部分的に基づき前記モデルを定義する、
機能を実現させるためのモデルを定義するコンピュータプログラム。
【請求項1】
モデルを定義するコンピュータ実行方法であって、
複数の区別可能な視覚特徴を含む物理空間中の少なくとも1つの画像を分析し、
前記視覚特徴の少なくとも1つは関連付けられた意味情報を有する所定のマーカであり、
前記関連付けられた意味情報は、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義され、
前記関連付け意味情報に少なくとも部分的に基づき前記モデルを定義する、
方法。
【請求項2】
前記物理空間において少なくとも1つの所定のマーカの姿勢を決定し、
前記意味情報と共に、前記所定のマーカの少なくとも1つの姿勢に基づいて、前記モデルの幾何特徴を定義する、
ことをさらに含む、請求項1に記載の方法。
【請求項3】
前記マーカの少なくとも1つと関連付けられる前記意味情報に基づいて、前記モデルの非幾何特徴を定義する、ことをさらに含む、請求項1に記載の方法。
【請求項4】
前記モデルの態様の少なくとも1つは、前記マーカのサブセットと関連付けられる意味情報に基づいて特定され、
前記サブセットは、少なくとも2つのマーカを含む、
請求項1に記載の方法。
【請求項5】
前記マーカの前記サブセットと関連付けられる前記意味情報がサブモデルを定義するために用いられる、請求項1に記載の方法。
【請求項6】
前記所定のマーカの少なくとも1つは挿入マーカであり、
前記挿入マーカの少なくともサブセットに関して、前記サブセットにおける各個別の挿入マーカと関連付けられる前記意味情報が、前記サブモデルの複製が、前記個別の挿入マーカの前記物理空間における姿勢に対して相対的に決定される姿勢を有する前記モデル中に、挿入されることを表す、
請求項5に記載の方法。
【請求項7】
前記マーカのサブセットと関連付けられる意味情報は、前記モデルに含まれる前記少なくとも1つの画像の領域を表す、請求項1に記載の方法。
【請求項8】
前記モデルの態様は、モデル構成要素、モデル構成要素の姿勢、または、モデル構成要素の視覚的外観の記述のうちの少なくとも1つである、請求項1に記載の方法。
【請求項9】
前記区別可能な視覚特徴の少なくとも1つは、画像特徴検出アルゴリズムによって識別される視覚的特徴を含む、請求項1に記載の方法。
【請求項10】
少なくとも1つの所定のマーカと関連付けられる前記意味情報は、前記少なくとも1つの所定のマーカの位置および向きによって表される姿勢で、挿入可能なアイテムが前記モデルに挿入されることを表す、請求項1に記載の方法。
【請求項11】
前記挿入可能なアイテムは、画像、ビデオストリーム、3次元オブジェクトの表現のうちの少なくとも1つである、請求項10に記載の方法。
【請求項12】
前記マークアップ言語は、クラスの継承を有する階層マークアップ言語であり、
前記クラスがモデルの態様に対応し、
前記クラスは、平面、パラメトリック形状、押出、画像抽出、アイテム挿入および定義を含む、
請求項1に記載の方法。
【請求項13】
前記クラスが平面である場合、サブクラスは、扉、壁、天井、床および机を含み、
前記態様のクラスがモデファイアである場合、前記モデルの態様サブクラスが、線および角を含む、
請求項12に記載の方法。
【請求項14】
前記定義されたモデルに基づき、3次元モデルをレンダリングすることをさらに含む、請求項1に記載の方法。
【請求項15】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサによる実行のために少なくとも1つのモジュールを格納するメモリと、
を備え、
前記少なくとも1つのモジュールは、
複数の区別可能な視覚特徴を含む物理空間の少なくとも1つの画像を分析する命令と、
前記関連付けられた意味情報に少なくとも部分的に基づき前記モデルを定義する命令と、
を含み、
前記視覚特徴の少なくとも1つは、関連付けられた意味情報を有する所定のマーカであり、
前記関連付けられた意味情報は、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義される、
モデルを定義するシステム。
【請求項16】
物理空間において配置されるように構成可能な複数の所定の物理的マーカを作成し、
前記マーカと意味情報を関連付け、
前記ユーザに前記マーカの少なくともサブセットを提供する、
モデルを定義する方法であって、
前記マーカの前記サブセットにおける第1のマーカが前記第1のマーカと関連付けられた意味情報を表す関連付けラベルを有し、
前記マーカは、前記マーカの少なくとも1つを含む画像を分析することによって、モデルを定義することを可能にするアプリケーションプログラムと共に用いるように構成されている、
方法。
【請求項17】
前記意味情報は、モデルの態様と、複数の所定のマーカと関連付けられた意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義される、請求項16に記載の方法。
【請求項18】
静的構造において空間の複数の画像を分析し、
前記画像の少なくとも1つは少なくとも1つの区別可能な視覚特徴を含み、
前記区別可能な視覚特徴を意味情報と関連付け、
前記関連付けられた意味情報に基づき前記モデルを定義する、
ことを含む、モデルを定義するコンピュータ実行方法であって、
前記モデルは、前記区別可能な視覚特徴の少なくとも1つと関連付けられるモデルの態様を含み、
前記モデルの態様は、前記区別可能な視覚特徴の少なくとも1つと関連付けられる前記意味情報に基づいて、動的挙動を行うことが可能である、
方法。
【請求項19】
前記関連付け意味情報は、モデルの態様と、複数の区別可能な視覚特徴と関連付けられる意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義される、請求項18に記載の方法。
【請求項20】
前記区別可能な視覚特徴は、所定のマーカである、請求項18に記載の方法。
【請求項21】
前記空間において少なくとも1つの区別可能な視覚特徴の姿勢を決定し、
前記視覚特徴と関連付けられる前記意味情報と共に、前記視覚特徴の少なくとも1つの姿勢に基づいて、前記モデルの幾何特徴を定義する、
ことをさらに含む、請求項18に記載の方法。
【請求項22】
前記マーカの少なくとも1つと関連付けられる前記意味情報に基づいて、前記モデルの非幾何特徴を定義することをさらに含む、請求項18に記載の方法。
【請求項23】
前記モデルにおいて、剛体物理モデラを用いて、前記態様の前記動的挙動をモデル化する、ことをさらに含む、請求項18に記載の方法。
【請求項24】
第1の区別可能な視覚特徴と関連付けられる前記関連付け意味情報は、連携制約、動き特徴、材料特徴および動的要素の挿入のうちの少なくとも1つを含む、請求項18に記載の方法。
【請求項25】
前記連携制約は、連携タイプ、連携軸、連携停止、連携位置および連携アンカのうちの少なくとも1つを含む、請求項24に記載の方法。
【請求項26】
前記動き特徴は、動きタイプ、速度および方向の少なくとも1つを含む、請求項24に記載の方法。
【請求項27】
前記材料特徴は、材料タイプ、密度、摩擦および回復係数などの跳ね返りパラメータの少なくとも1つを含む、請求項24に記載の方法。
【請求項28】
前記動的要素は、制御部およびモータの少なくとも1つを含む、請求項24に記載の方法。
【請求項29】
前記動的要素は、オブジェクトの位置決め、照明または材料の色などの前記モデルの動的態様を変更するために、モデル表示アプリケーションにおいてエンドユーザによって相互作用してもよい制御部を含む、請求項24に記載の方法。
【請求項30】
前記連携停止は、動きの物理的範囲を含み、
動きの前記物理的範囲は、回転移動に関する最大進行角または摺動移動に関する最大進行直線距離を含む、
請求項25に記載の方法。
【請求項31】
第1の区別可能な視覚特徴は、モデルオブジェクトのデフォルト材料特徴を含む関連付け意味情報を有し、
第2の区別可能な視覚特徴は、前記デフォルト材料特徴の少なくとも一部とは異なり、前記デフォルト材料特徴の少なくとも一部を無効にする前記モデルオブジェクトの別の材料特徴を含む第2の関連付け意味情報を有する、
請求項24に記載の方法。
【請求項32】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサによる実行のために少なくとも1つのモジュールを格納するメモリと、
を備える、モデルを定義するシステムであって、
前記少なくとも1つのモジュールは、
静的構造において、複数の画像の少なくとも1つが少なくとも1つの区別可能な視覚特徴を含む、空間の該複数の画像を分析する命令と、
前記区別可能な視覚特徴と意味情報を関連付ける命令と、
前記関連付けられた意味情報に基づき前記モデルを定義する命令と、
を含み、
前記モデルは、前記区別可能な視覚特徴の少なくとも1つに関連付けられたモデルの態様を含み、
前記モデルの態様は、前記区別可能な視覚特徴の少なくとも1つと関連付けられる前記意味情報に基づく動的挙動を行うことを可能にする、
システム。
【請求項33】
コンピュータに、
複数の区別可能な視覚特徴を含む物理空間中の少なくとも1つの画像を分析し、
前記視覚特徴の少なくとも1つは関連付けられた意味情報を有する所定のマーカであり、
前記関連付けられた意味情報は、モデルの態様と、複数のマーカから意味情報を結合するための規則と、を特定するマークアップ言語に基づいて定義され、
前記関連付け意味情報に少なくとも部分的に基づき前記モデルを定義する、
機能を実現させるためのモデルを定義するコンピュータプログラム。
【図2】
【図3A】
【図3B】
【図4A】
【図4B】
【図4C】
【図5A】
【図5B】
【図5C】
【図5D】
【図6】
【図7】
【図8A】
【図8B】
【図8C】
【図9】
【図10】
【図11】
【図1A】
【図1B】
【図3A】
【図3B】
【図4A】
【図4B】
【図4C】
【図5A】
【図5B】
【図5C】
【図5D】
【図6】
【図7】
【図8A】
【図8B】
【図8C】
【図9】
【図10】
【図11】
【図1A】
【図1B】
【公開番号】特開2011−18313(P2011−18313A)
【公開日】平成23年1月27日(2011.1.27)
【国際特許分類】
【出願番号】特願2010−37287(P2010−37287)
【出願日】平成22年2月23日(2010.2.23)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成23年1月27日(2011.1.27)
【国際特許分類】
【出願日】平成22年2月23日(2010.2.23)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]