(57)【要約】【課題】好適に画像に注釈をつけることを提供すること。【解決手段】一実施形態では、本発明は、ユーザが、２次元画像を見ながら、３次元オブジェクトに対応する注釈を作成できるようにする。一実施形態では、これは、選択オブジェクトを、複数の２次元画像から作成された３次元モデル上に投影することによって達成される。選択オブジェクトは、３次元モデルの一部分に対応する第１の画像を見ながら、ユーザによって入力される。３次元モデル上への投影に対応する位置が決定され、第１の画像を見ながらユーザによって入力されたコンテンツが、該位置と関連付けられる。コンテンツは、注釈を形成するように、位置情報と共に記憶される。注釈は、位置に対応する他の画像と共に、回収し、表示することができる。【選択図】図４
2015005298.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のコンピューティングデバイスにより、１つ以上の２次元の画像内の複数の特徴を識別することと、
前記１つ以上のコンピューティングデバイスにより、前記１つ以上の２次元の画像の前記複数の特徴のうちの少なくとも一部の特徴を、１つ以上の近傍の２次元の画像の特徴と一致させることと、
前記１つ以上のコンピューティングデバイスにより、前記一致された特徴の各々について位置を計算することであって、前記計算により、３次元空間内の点の群が得られる、ことと、
前記１つ以上のコンピューティングデバイスにより、前記点の群に基づいて、少なくとも１つの外観平面を推定することと、
前記１つ以上のコンピューティングデバイスにより、街路の位置に基づいて、少なくとも１つの街路平面を推定することであって、前記街路は、前記１つ以上の２次元の画像のうちの所与の２次元の画像に関連付けられている、ことと、
前記１つ以上のコンピューティングデバイスにより、前記少なくとも１つの推定された外観平面および前記少なくとも１つの推定された街路平面から、３次元モデルを形成することであって、前記３次元モデルは、前記２次元の画像に示される１つ以上のオブジェクトに対応する、ことと
を含む、方法。
【請求項２】
前記少なくとも１つの推定された外観平面と前記少なくとも１つの推定された街路平面とが、共に、少なくとも１つの表面を形成する、請求項１に記載の方法。
【請求項３】
前記少なくとも１つの外観平面を推定することは、最小二乗最適化を用いて決定される、請求項１に記載の方法。
【請求項４】
前記少なくとも１つの外観平面を推定することは、前記街路から軸上で前記少なくとも１つの外観平面を平行移動させることを含む、請求項１に記載の方法。
【請求項５】
前記平行移動させることは、平行移動の各ステージで、前記点の群のうち、前記１つ以上の外観平面の所定の範囲内にある点の数を求めることを含む、請求項４に記載の方法。
【請求項６】
前記街路に対して各外観平面の角度を変化させることをさらに含む、請求項４に記載の方法。
【請求項７】
前記少なくとも１つの街路平面を推定することは、前記１つ以上の２次元の画像のうちの選択された２次元の画像をキャプチャーするために用いられるカメラに対する前記街路の位置に基づく、請求項１に記載の方法。
【請求項８】
境界ボックスを前記３次元モデル上に投影することと、
前記投影された境界ボックスに対応する位置を識別することと、
前記識別された位置に関連付けられた注釈の表示を生成することと
をさらに含む、請求項１に記載の方法。
【請求項９】
前記注釈が、前記識別された位置に対応する選択された画像と共に、または前記識別された位置に対応する選択された画像上に、表示可能なように、前記表示が生成される、請求項８に記載の方法。
【請求項１０】
１つ以上の２次元の画像内の複数の特徴を識別することと、
前記１つ以上の２次元の画像の前記複数の特徴のうちの少なくとも一部の特徴を、１つ以上の近傍の２次元の画像の特徴と一致させることと、
前記一致された特徴の各々について位置を計算することであって、前記計算により、３次元空間内の点の群が得られる、ことと、
前記点の群に基づいて、少なくとも１つの外観平面を推定することと、
街路の位置に基づいて、少なくとも１つの街路平面を推定することであって、前記街路は、前記１つ以上の２次元の画像のうちの所与の２次元の画像に関連付けられている、ことと、
前記少なくとも１つの推定された外観平面および前記少なくとも１つの推定された街路平面から、３次元モデルを形成することであって、前記３次元モデルは、前記２次元の画像に示される１つ以上のオブジェクトに対応し、前記３次元モデルは、モデルデータベース内に記憶される、ことと
を実行するように構成されている１つ以上のコンピューティングデバイスを備えるシステム。
【請求項１１】
前記少なくとも１つの外観平面を推定することは、前記街路から軸上で前記少なくとも１つの外観平面を平行移動させることを含む、請求項１０に記載のシステム。
【請求項１２】
前記平行移動させることは、平行移動の各ステージで、前記点の群のうち、前記１つ以上の外観平面の所定の範囲内にある点の数を求めることを含む、請求項１１に記載のシステム。
【請求項１３】
前記１つ以上のコンピューティングデバイスは、さらに、前記街路に対して各外観平面の角度を変化させるように構成される、請求項１１に記載のシステム。
【請求項１４】
前記少なくとも１つの街路平面を推定することは、前記１つ以上の２次元の画像のうちの選択された２次元の画像をキャプチャーするために用いられるカメラに対する前記街路の位置に基づく、請求項１０に記載のシステム。
【請求項１５】
前記１つ以上のコンピューティングデバイスは、さらに、
境界ボックスを前記３次元モデル上に投影することと、
前記投影された境界ボックスに対応する位置を識別することと、
前記識別された位置に関連付けられた注釈の表示を生成することと
を実行するように構成されている、請求項１０に記載のシステム。
【請求項１６】
前記注釈が、前記識別された位置に対応する選択された画像と共に、または前記識別された位置に対応する選択された画像上に、表示可能なように、前記表示が生成される、請求項１５に記載のシステム。
【請求項１７】
プログラムのコンピュータ読み取り可能な命令が記憶された非一時的なコンピュータ読み取り可能な記憶媒体であって、前記命令は、１つ以上のコンピューティングデバイスにより実行されると、前記１つ以上のコンピューティングデバイスに方法を実行させ、前記方法は、
１つ以上の２次元の画像内の複数の特徴を識別することと、
前記１つ以上の２次元の画像の前記複数の特徴のうちの少なくとも一部の特徴を、１つ以上の近傍の２次元の画像の特徴と一致させることと、
前記一致された特徴の各々について位置を計算することであって、前記計算により、３次元空間内の点の群が得られる、ことと、
前記点の群に基づいて、少なくとも１つの外観平面を推定することと、
街路の位置に基づいて、少なくとも１つの街路平面を推定することであって、前記街路は、前記１つ以上の２次元の画像のうちの所与の２次元の画像に関連付けられている、ことと、
前記少なくとも１つの推定された外観平面および前記少なくとも１つの推定された街路平面から、３次元モデルを形成することであって、前記３次元モデルは、前記２次元の画像に示される１つ以上のオブジェクトに対応する、ことと
を含む、非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項１８】
前記少なくとも１つの外観平面を推定することは、前記街路から軸上で前記少なくとも１つの外観平面を平行移動させることを含む、請求項１７に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項１９】
前記平行移動させることは、平行移動の各ステージで、前記点の群のうち、前記１つ以上の外観平面の所定の範囲内にある点の数を求めることを含む、請求項１８に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項２０】
前記方法は、
境界ボックスを前記３次元モデル上に投影することと、
前記投影された境界ボックスに対応する位置を識別することと、
前記識別された位置に関連付けられた注釈の表示を生成することと
をさらに含む、請求項１７に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に注釈をつけることに関する。
【背景技術】
【０００２】
画像を記憶し、表示するコンピュータシステムが存在する。これらの画像は、建物等の３次元オブジェクトの写真を含むことができる。表示される画像は、地図上の位置に対応するように、ジオコーディングされ（ｇｅｏ−ｃｏｄｅｄ）得る。加えて、注釈は、画像に関する情報を提供するために使用され得る。一実施例として、注釈が、画像に示される特定の建物に関連付けられる企業を識別するテキストを含み得る。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
画像の注釈の作成を促進する新しい方法およびシステムが必要である。
【課題を解決するための手段】
【０００４】
本発明は、画像に注釈をつけることに関する。一実施形態では、本発明は、ユーザが、２次元画像を見ながら、３次元オブジェクトに対応する注釈を作成できるようにする。一実施形態では、これは、選択オブジェクト（例えば、境界ボックス等）を、複数の２次元画像から作成された３次元モデル上に投影することによって、達成される。選択オブジェクトは、３次元モデルの一部分に対応する第１の画像を見ながら、ユーザによって入力される。３次元モデル上への投影に対応する位置が決定され、第１の画像を見ながらユーザによって入力されたコンテンツが、位置と関連付けられる。コンテンツは、注釈を形成するように、位置情報と共に記憶される。注釈は、位置に対応する他の画像と共に、回収し、表示することができる。
【０００５】
本発明のさらなる実施形態、特徴、および利点、ならびに本発明の種々の実施形態の構造および動作は、添付の図面を参照して、以下により詳細に記載される。
本願明細書は、例えば、以下の項目も提供する。
（項目１）
注釈を作成し、表示するための方法であって、
（１）選択オブジェクトを３次元モデル上に投影することであって、該選択オブジェクトは、該３次元モデルの一部分に対応する第１の画像を見ながら、ユーザによって入力される、ことと、
（２）該３次元モデル上への該投影に対応する位置を決定することと、
（３）該位置を、該第１の画像を見ながら該ユーザによって入力されたコンテンツと関連付けることと、
（４）注釈を形成するように、該位置と共に該コンテンツを記憶することと、
（５）該位置に対応する第２の画像と共に、該注釈を表示することと
を含む、方法。
（項目２）
前記第１の画像は、地上レベルから撮影されたパノラマ画像である、項目１に記載の方法。
（項目３）
（５）は、前記注釈をパノラマ画像と共に表示することを含む、項目１に記載の方法。
（項目４）
（５）は、前記注釈を地図と共に表示することを含む、項目１に記載の方法。
（項目５）
（６）複数の２次元画像から前記３次元モデルを作成することをさらに含む、項目１に記載の方法。
（項目６）
（６）は、
（ａ）第３の画像の第１の複数の特徴と、第４の画像の第２の複数の特徴とを識別することと、
（ｂ）複数対の特徴を決定することであって、各対の特徴は、該第１の複数の特徴からの第１の特徴と、該第１の特徴と類似する、該第２の複数の特徴からの第２の特徴とを含む、ことと、
（ｃ）該複数対の特徴に対応する複数の点を決定することと、
（ｄ）該複数の点に基づき、外観平面を決定することと
を含む、項目５に記載の方法。
（項目７）
（ａ）は、高速化ロバスト特徴（Ｓｐｅｅｄｅｄ  Ｕｐ  Ｒｏｂｕｓｔ  Ｆｅａｔｕｒｅｓ：ＳＵＲＦ）アルゴリズムを使用することを含む、項目６に記載の方法。
（項目８）
（ｂ）は、
（ｉ）前記第１の複数の特徴のスピルツリーを決定することと、
（ｉｉ）前記第２の画像内の各特徴の近似の最も近傍のものおよび近似の２番目に近傍のものについて、該スピルツリーを検索することと、
（ｉｉｉ）該近似の最も近傍のものおよび該近似の２番目に近傍のものの特徴類似比率を、閾値と比較することと
を含む、項目６に記載の方法。
（項目９）
前記閾値は、０．５から０．９５である、項目８に記載の方法。
（項目１０）
（ｃ）は、
（ｉ）前記複数対の特徴の各対の特徴について、前記第３の画像の第１のカメラ視点から、該対からの前記第１の特徴を通って延在する第１の射線と、前記第４の画像の第２のカメラ視点から、該対からの前記第２の特徴を通って延在する第２の射線とを決定する、ことと、
（ｉｉ）該複数対の特徴の各対の特徴について、該第１の射線および該第２の射線の交点に対応する点を決定することと
を含む、項目６に記載の方法。
（項目１１）
注釈を作成し、表示するためのシステムであって、
注釈ジェネレータを含むサーバであって、
該注釈ジェネレータは、
第１の画像を見ながらユーザによって入力される選択オブジェクトを、複数の２次元画像に対応する３次元モデル上に投影することと、
該３次元モデル上への該投影に対応する位置を決定することと、
該位置を、該ユーザによって入力されたコンテンツと関連付けることと
によって第１の注釈を作成する、
サーバと、
該注釈ジェネレータによって作成された注釈を記憶する、該サーバに連結される注釈データベースと
を備え、該サーバは、該注釈データベースから該第１の注釈を回収し、表示するために、該第１の注釈をブラウザに転送する、
システム。
（項目１２）
前記第１の画像は、地上レベルから撮影されたパノラマ画像である、項目１１に記載のシステム。
（項目１３）
前記サーバは、第２の画像と共に表示するために、前記第１の注釈を前記ブラウザに転送する、項目１１に記載のシステム。
（項目１４）
前記サーバは、地図と共に表示するために、前記第１の注釈を前記ブラウザに転送する、項目１１に記載のシステム。
（項目１５）
注釈を作成し、表示するためのシステムであって、
第１の画像を見ながら、ユーザが選択オブジェクトおよび注釈のコンテンツを入力できるようにする、注釈エディタと、
注釈ジェネレータであって、
該選択オブジェクトを、複数の２次元画像に対応する３次元モデル上に投影することと、
該３次元モデル上への該投影に対応する位置を決定することと、
該位置を該コンテンツと関連付けることと
によって第１の注釈を作成する、
注釈ジェネレータと、
第２の画像と共に該第１の注釈を表示する、注釈ビューアと
を備える、システム。
（項目１６）
第３の画像の第１の複数の特徴と、第４の画像の第２の複数の特徴とを識別する、特徴エクストラクタと、
複数対の特徴を決定する特徴マッチャであって、各対の特徴は、該第１の複数の特徴からの第１の特徴と、該第２の複数の特徴からの第２の特徴とを含み、該第１の特徴は、該第２の特徴と類似する、特徴マッチャと、
該複数対の特徴に対応する複数の点を決定する、点カリキュレータと、
該複数の点に基づき、前記３次元モデルを作成する、表面エスティメータと
をさらに備える、項目１６に記載のシステム。
（項目１７）
前記特徴エクストラクタは、高速化ロバスト特徴アルゴリズムを使用する、項目１６に記載のシステム。
（項目１８）
前記特徴マッチャは、前記第１の複数の特徴のスピルツリーを決定し、前記第４の画像内の各特徴の近似の最も近傍のものおよび近似の２番目に近傍のものについて、該スピルツリーを検索し、該近似の最も近傍のものおよび該近似の２番目に近傍のものの特徴類似比率が、閾値を下回るかどうかを決定する、項目１６に記載のシステム。
（項目１９）
前記特徴類似比率の前記閾値は、０．５から０．９５である、項目１８に記載のシステム。
（項目２０）
前記点カリキュレータは、前記複数対の特徴の各対の特徴について、前記第３の画像の第１のカメラ視点から、該対からの前記第１の特徴を通って延在する第１の射線と、前記第４の画像の第２のカメラ視点から、該対からの前記第２の特徴を通って延在する第２の射線と、該第１の射線および該第２の射線の交点に対応する、３次元空間内の点とを決定する、項目１６に記載のシステム。
（項目２１）
注釈を作成し、表示するための装置であって、
選択オブジェクトを３次元モデル上に投影するための手段であって、該選択オブジェクトは、該３次元モデルの一部分に対応する第１の画像を見ながら、ユーザによって入力される、手段と、
該３次元モデル上への該投影に対応する位置を決定するための手段と、
該位置を、該第１の画像を見ながら該ユーザによって入力されたコンテンツと関連付けるための手段と、
注釈を形成するように、該位置と共に該コンテンツを記憶するための手段と、
該位置に対応する第２の画像と共に該注釈を表示するための手段と
を備える、装置。
【図面の簡単な説明】
【０００６】
本明細書に組み込まれ、本明細書の一部を形成する、添付の図面は、本発明を図示し、さらに、説明と共に、本発明の原理を説明し、当業者が本発明を作成し、使用できるようにするのに役立つ。
【図１】図１は、本発明の一実施形態による、一例示的な注釈を図示する、略図である。
【図２Ａ】図２Ａは、本発明の一実施形態による、注釈の位置を決定するために、画像を使用することを図示する、略図である。
【図２Ｂ】図２Ｂは、図２Ａの注釈を表示することを図示する、略図である。
【図３】図３は、本発明の一実施形態による、注釈を作成し、表示するための方法を図示する、フローチャートである。
【図４】図４は、本発明の一実施形態による、画像データから３次元モデルを作成するための方法を図示する、フローチャートである。
【図５Ａ】図５Ａ−Ｃは、図４の方法に従って、一致する特徴を探すことを図示する、略図である。
【図５Ｂ】図５Ａ−Ｃは、図４の方法に従って、一致する特徴を探すことを図示する、略図である。
【図５Ｃ】図５Ａ−Ｃは、図４の方法に従って、一致する特徴を探すことを図示する、略図である。
【図６】図６−７は、図４の方法に従って、１対の一致する特徴に基づき、点を決定することを図示する、略図である。
【図７】図６−７は、図４の方法に従って、１対の一致する特徴に基づき、点を決定することを図示する、略図である。
【図８Ａ】図８Ａ−Ｂは、図４の方法に従って決定された、複数の点を図示する、略図である。
【図８Ｂ】図８Ａ−Ｂは、図４の方法に従って決定された、複数の点を図示する、略図である。
【図９Ａ】図９Ａ−Ｃは、図４の方法に従って、複数の点に基づき、表面を決定することを図示する、略図である。
【図９Ｂ】図９Ａ−Ｃは、図４の方法に従って、複数の点に基づき、表面を決定することを図示する、略図である。
【図９Ｃ】図９Ａ−Ｃは、図４の方法に従って、複数の点に基づき、表面を決定することを図示する、略図である。
【図１０】図１０は、本発明の一実施形態による、注釈を作成し、表示するためのシステムを図示する、略図である。
【図１１】図１１は、図１０のシステムのための一例示的なブラウザインターフェースを図示する、略図である。
【図１２】図１２は、本発明の一実施形態による、画像データから３次元モデルを作成するためのシステムを図示する、略図である。
【発明を実施するための形態】
【０００７】
要素が最初に現れる図面は、典型的に、対応する参照番号の最左の数字によって示される。図中、同様の参照番号は、同一または機能的に同一の要素を示し得る。
【０００８】
本発明は、画像に注釈をつけることに関する。以下の本発明の詳細な説明では、「一実施形態（ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ）」、「一実施形態（ａｎ  ｅｍｂｏｄｉｍｅｎｔ）」、「一例示的な実施形態（ａｎ  ｅｘａｍｐｌｅ  ｅｍｂｏｄｉｍｅｎｔ）」等への言及は、記載される実施形態が、特定の特徴、構造、または特性を含み得るが、すべての実施形態が、特定の特徴、構造、または特性を含むわけではないことを示す。さらに、そのような句は、必ずしも同一の実施形態を参照するわけではない。さらに、一実施形態に関連して、特定の特徴、構造、または特性が記載される時は、明示的に記載されているか否かに関わらず、他の実施形態に関連して、そのような特徴、構造、または特性を達成するように、当業者の知識内で提示される。
【０００９】
一実施形態では、本明細書に記載されるように、本発明は、ユーザが、２次元画像を見ながら、３次元オブジェクトに対応する注釈を作成できるようにする。一実施形態では、これは、選択オブジェクトを、複数の２次元画像から作成された３次元モデル上に投影することによって達成される。選択オブジェクトは、３次元モデルの一部分に対応する第１の画像を見ながら、ユーザによって入力される。３次元モデル上への投影に対応する位置が決定され、第１の画像を見ながらユーザによって入力されたコンテンツが、位置と関連付けられる。コンテンツは、注釈を形成するように、位置情報と共に記憶される。注釈は、位置に対応する他の画像と共に、回収し、表示することができる。
【００１０】
図１は、本発明の一実施形態による、注釈を作成するための一実施例１００を図示する、略図である。実施例１００は、３次元空間内に、木１１２および建物１１０を含む。また、実施例１００は、異なる観察点から木１１２および建物１１０を撮影した、画像１０２ならびに画像１０４も含む。画像１０２および画像１０４のそれぞれは、２次元画像である。一実施形態では、画像１０２および画像１０４は、街路上の異なる点から撮影された、写真画像であり得る。
【００１１】
実施例１００に示されるように、ユーザは、画像１０２を見ながら、選択オブジェクト１２２（例えば、境界ボックス）およびテキスト１０６を入力し得る。選択オブジェクト１２２は、建物１１０を示す画像１０２の一部分を含む。以下により詳細に記載されるように、本発明の実施形態は、選択オブジェクト１２２に対応する位置を決定する。示される実施例では、選択オブジェクト１２２について決定される位置は、建物１１０に対応する位置である。テキスト１０６は、本発明に従って注釈を形成するように、選択オブジェクト１２２について決定される位置（例えば、建物１１０の位置）と共に記憶される。記憶された注釈は、例えば、別の画像（例えば、画像１０４）または地図と共に、回収され、表示され得る。図１では、位置１０８において画像１０４の最上部に表示された、注釈が示されている。
【００１２】
図２Ａおよび図２Ｂは、本発明による、注釈を作成し、表示することを、より詳細に図示する、略図である。図２Ａは、本発明の一実施形態による、作成された注釈の位置を決定するために、画像１０２を使用することを図示する、略図である。図２Ｂは、注釈が作成された後に、それを表示することを図示する、略図である。
【００１３】
図２Ａを参照すると、注釈の位置を決定するために、画像１０２を使用することを明示する、一実施例２００が図示される。実施例１００（図１を参照）にあるように、実施例２００は、木１１２および建物１１０を含む。また、実施例２００は、木１１２および建物１１０を撮影した画像１０２も含む。
【００１４】
図２に図示されるように、選択オブジェクト１２２は、２次元画像１０２の一部分を選択するために、ユーザによって入力される。示される実施例では、選択オブジェクト１２２は、建物１１０を示す画像１０２の一部分を囲む、長方形または境界ボックスである。しかしながら、選択オブジェクト１２２は、画像１０２の一部分を選択する、いずれかの形状であり得る。他の実施例では、選択オブジェクト１２２は、例えば、円、投げ縄、または点であり得る。
【００１５】
カメラ視点２０２から、選択オブジェクト１２２が３次元モデル２０６上に投影される。選択オブジェクト１２２の３次元モデル２０６上への投影２０４は、注釈の位置または位置情報を決定するために使用される。一実施形態では、３次元モデル２０６は、外観平面および街路平面を含み得る。どのように３次元モデル２０６が生成されるかの一実施例は、以下により詳細に記載される。
【００１６】
図２Ａに示される実施例では、カメラ視点２０２は、画像１０２を撮影するために使用される、カメラの焦点であり得る。カメラは、焦点距離２０８を有し得る。射線２１０等の射線は、カメラ視点２０２および選択オブジェクト１２２を使用して決定される。一実施形態では、各射線は、３次元モデル２０６と交わるように、焦点２０２から選択オブジェクト１２２の点を通って延在する。３次元モデル２０６との交点は、注釈の位置を決定するために使用される。実施形態では、決定される位置は、例えば、選択オブジェクト１２２の中心に対応する位置、または選択オブジェクト１２２上の点に対応する位置であり得る。
【００１７】
一実施形態では、注釈の決定される位置は、選択オブジェクト１２２の３次元モデル２０６上への投影２０４に対応する、３次元空間内のジオメトリである。ジオメトリは、例えば、１組の座標または三角形メッシュによって、定義され得る。本明細書に記載されるように、位置は、注釈を形成するように、テキスト１０６または他のコンテンツと関連付けられ得る。この注釈は、回収し、他の画像または地図と共に表示するために、例えば、データベースに記憶され得る。
【００１８】
図２Ｂは、実施例２００で作成された注釈を、例えば、画像１０４等の別の画像上に表示することの一実施例２５０を描写する、略図である。画像１０４は、建物１１０および木１１２を示す画像である。画像１０４の観察点は、実施例２００で決定された位置を含み、そのため、画像１０４は、位置に対応すると言うことができる。結果として、実施例２００で作成された注釈のコンテンツは、画像１０４上の位置１０８に表示される。実施形態では、注釈のテキストは、注釈に関連付けられる位置情報に対応する画像１０４の一部分を指す、情報バルーン内に表示され得る。一実施形態では、位置に対応する画像１０４の一部分は、縁取りまたはハイライトされ得る。一実施形態では、実施例２００で作成された注釈は、地図上に表示され得る。これらの実施例は、厳密に一例であり、本発明を制限することは意図されない。
【００１９】
図３は、本発明の一実施形態による、注釈を作成し、表示するための方法３００を明示する、フローチャートである。方法３００は、ステップ３０２で開始する。
【００２０】
ステップ３０２で、ユーザは、注釈を作成するための境界ボックス（例えば、選択オブジェクト）を選択する。境界ボックスは、地上レベルから撮影された画像の一部分を選択するために使用され得る。一実施形態では、ユーザは、例えば、マウス等の入力デバイスを用いて、画像に境界ボックスの周辺を描写することによって、境界ボックスを選択し得る。
【００２１】
ステップ３０４で、境界ボックス（選択オブジェクト）は、３次元モデル上に投影される。一実施形態では、投影は、カメラ視点からの射線を、境界ボックスを通して３次元モデルに延在させ、射線および３次元モデルの交点を決定することによって、実施され得る。この一実施例は、図２Ａを参照して上述されている。
【００２２】
ステップ３０６で、ステップ３０４で実施された投影に対応する位置が、ユーザによって入力されたコンテンツ（例えば、注釈）と共に記憶される。一実施例として、ステップ３０６で、注釈は、データベースに記憶され得る。実施形態では、ユーザによって入力されるコンテンツは、テキスト、ＨＴＭＬ、ＸＭＬ、画像、動画、または他のマルチメディアコンテンツを含み得る。
【００２３】
ステップ３０８で、ステップ３０６で記憶された注釈が、ステップ３０４の投影の位置に対応する第２の画像と共に、またはその上に表示される。一実施例として、第２の画像は、地上レベルのパノラマ画像であり得る。一実施形態では、注釈は、地図と共に、またはその上に表示され得る。
【００２４】
図４は、本発明の一実施形態による、画像データから３次元モデルを作成するための方法４００を明示する、フローチャートである。方法４００は、ステップ４０２で開始する。
【００２５】
ステップ４０２で、画像の特徴が識別される。一実施形態では、特徴は、後の比較のために、画像から抽出される。これは、図５Ａ〜図５Ｂを参照して、以下により詳細に記載される。一実施形態では、使用される画像は、移動経路に沿った、互いに対する近隣位置から撮影された、地上レベルのパノラマ画像である。
【００２６】
ステップ４０４で、近傍画像内の特徴が一致される。一実施形態では、特徴を一致させることは、スピルツリーを構築することを含み得る。これは、図５Ｃを参照して、以下により詳細に記載される。
【００２７】
ステップ４０６で、例えば、３次元空間内の点として、特徴の位置が計算される。一実施形態では、点は、ステップ４０４で決定された複数対の一致する特徴を使用して、ステレオ三角測量を計算することによって、決定される。どのように３次元空間内の点を計算するかは、図６〜図７を参照して、以下により詳細に記載される。ステップ４０６の結果は、点の群である。
【００２８】
ステップ４０８で、ステップ４０６で計算された点の群に基づき、外観平面が推定される。一実施形態では、ステップ４０８は、適応的最適化アルゴリズムまたは最良適合アルゴリズムを使用することを含み得る。一実施形態では、ステップ４０８は、例えば、図９を参照して以下に記載されるように、街路と整列される平面を走査することを含む。
【００２９】
ステップ４１０で、街路の位置に基づき、街路平面が推定される。これらの街路平面は、ステップ４０８で推定された外観平面と共に、複数の２次元画像に示されるオブジェクトに対応する３次元モデルを形成するために使用される。
【００３０】
図５Ａ〜図５Ｃは、方法４００に従って、画像内の特徴をどのように識別し、一致させるかの一実施例を図示する。
【００３１】
図５Ａは、画像５０２および画像５０４を描写する。画像５０２および画像５０４は、例えば、異なる観察点からの同一の建物および木の２つの写真を表す。一実施形態では、画像５０２および画像５０４は、地上レベルのパノラマ画像の部分であり得る。２つの画像５０２および５０４は、近隣位置ではあるが、異なる観察点から撮影され得る。
【００３２】
一実施形態では、画像５０２および５０４は、８つのカメラのロゼットが取り付けられた、移動する車両から撮影され得る。８つのカメラは、異なる観察点から８つの画像を同時に撮影する。８つの画像は、パノラマを形成するために、続いて、共に合わせられ得る。画像５０２は、車両に対して垂直に向けられた８つのカメラのロゼットの第１のカメラからの、合わせられていない画像であり得る。画像５０４は、後の時点中に撮影された、第１のカメラに隣接する第２のカメラからの、合わせられていない画像であり得る。
【００３３】
図５Ｂは、方法４００のステップ４０４に従って識別／抽出された、代表的な特徴を有する、画像５０２および画像５０４を図示する。画像５０２は、代表的な特徴５０６、５０８、および５１２を含む。画像５０４は、代表的な特徴５１０、５１４、および５１６を含む。６つの代表的な特徴のみが示されるが、実際には、各画像に、数千の識別および抽出される特徴が存在し得る。
【００３４】
一実施形態では、特徴を抽出するステップは、関心点検出および特徴記述を含み得る。関心点検出は、条件に従って画像内の点を検出し、好ましくは、輝度および観察点の変化等の画像変化下で、再現可能である。各関心点の近辺は、特徴である。各特徴は、特徴ディスクリプタによって表現される。特徴ディスクリプタは、好ましくは、示差的である。
【００３５】
一実施例では、近傍画像から特徴を抽出するために、高速化ロバスト特徴（Ｓｐｅｅｄｅｄ  Ｕｐ  Ｒｏｂｕｓｔ  Ｆｅａｔｕｒｅｓ：ＳＵＲＦ）アルゴリズムが使用される。ＳＵＲＦアルゴリズムは、例えば、Ｈｅｒｂｅｒｔ  Ｂａｙ，  Ｔｉｎｎｅ  Ｔｕｙｔｅｌａａｒｓ，  Ｌｕｃ  Ｖａｎ  Ｇｏｏｌ，  “ＳＵＲＦ：  Ｓｐｅｅｄｅｄ  Ｕｐ  Ｒｏｂｕｓｔ  Ｆｅａｔｕｒｅｓ”，  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ｎｉｎｔｈ  Ｅｕｒｏｐｅａｎ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ，  Ｍａｙ  ２００６に記載される。ＳＵＲＦアルゴリズムは、関心点検出および特徴記述スキームを含む。ＳＵＲＦアルゴリズムでは、各特徴ディスクリプタは、ベクトルを含む。一実装では、ベクトルは、１２８次元であり得る。画像が、地上レベルから撮影されたパノラマである、一実施例では、ＳＵＲＦアルゴリズムは、各画像中に、４千〜５千の特徴を抽出し、結果として、１〜２メガバイトのサイズの特徴ディスクリプタファイルをもたらし得る。
【００３６】
図５Ｃは、一致される、抽出された特徴を図示する。図５Ｃは、一致５２０および一致５２２を描写する。一致５２０は、特徴５１２および特徴５１４を含む。一致５２２は、特徴５０６および特徴５１６を含む。図５Ｃに示されるように、画像５０２内のすべての特徴が、画像５０４内に一致する特徴を有するわけではなく、逆もまた同様である。例えば、画像５０２内の特徴５０８は、木の一部分を示す特徴５０８が、画像５０４では隠れているため、画像５０４内に一致する特徴を有さない。別の実施例では、画像５０４内の特徴５１０は、例えば、特徴識別の不正確さのため、画像５０２内に一致を有さない。特徴識別は、可能な限り正確であるべきである。しかしながら、照明、配向、および他の因子の変化により、ある程度の不正確さが生じ得る。この理由のため、この不正確さを補正する、特徴一致スキームが必要とされる。一例示的な特徴一致スキームが、以下に記載される。
【００３７】
一実施形態では、特徴５１２等の各特徴は、特徴ディスクリプタによって表現される。各特徴ディスクリプタは、１２８次元ベクトルを含む。第１の特徴と第２の特徴との間の類似性は、第１の特徴ディスクリプタのベクトルと第２の特徴ディスクリプタのベクトルとの間のユークリッド距離を探すことによって、決定され得る。
【００３８】
第２の画像内の特徴の中での第１の画像内の特徴の一致は、例えば、次のように決定され得る。第１に、第２の画像内の特徴の中から、第１の画像内の特徴の最も近傍のもの（例えば、１２８次元空間内）が決定される。第２に、第２の画像内の特徴の中から、第１の画像内の特徴の２番目に近傍のもの（例えば、１２８次元空間内）が決定される。第３に、第１の画像内の特徴と第２の画像内の最も近傍のものの特徴との間の第１の距離が決定され、第１の画像内の特徴と第２の画像内の２番目に近傍のものの特徴との間の第２の距離が決定される。第４に、第１の距離を第２の距離で除算することによって、特徴類似比率が計算される。特徴類似比率が、特定の閾値未満の場合、第１の画像内の特徴内の特徴と第２の画像内のその最も近傍のものとの間に、一致が存在する。
【００３９】
特徴類似比率が低すぎる場合、十分な一致が決定されない。特徴類似比率が高すぎる場合、あまりに多くの偽一致が存在する。一実施形態では、特徴類似比率は、０．５から０．９５であり得る。
【００４０】
一実施形態では、最も近傍のものおよび２番目に近傍のものは、第２の画像内の特徴のスピルツリーを構築することによって、決定され得る。スピルツリーは、最も近傍のものを綿密に近似し、プロセッサ資源を効率的に使用する。比較されている画像が、地上レベルから撮影されたパノラマ画像である、一実施例では、各対の画像に、数百の複数対の一致された特徴が存在し得る。各対の一致された特徴について、例えば、ステレオ三角測量を使用して、３次元空間内の点を決定することができる。
【００４１】
図６および図７は、３次元ステレオ三角測量を使用して、一致された特徴に基づき、３次元空間内の点を決定する、一実施例を図示する。一実施形態では、この技術は、例えば、方法４００のステップ４０６を実施するために使用される。１対の一致された特徴に対応する３次元空間内の点を決定するために、１対の一致された特徴について、射線が構築され、射線の交点に基づき、点が決定される。これは、以下により詳細に記載される。
【００４２】
図６は、どのように射線が形成されるかを図示する、一実施例６００を示す。図６に示されるように、射線６０６は、画像６０８のカメラ視点６０２からの射線を、画像６０８の特徴６０４を通して投影することによって、または延在させることによって、形成することができる。実施例６００では、カメラ視点６０２は、画像６０８を撮影するために使用される、カメラの焦点に対応する。画像６０８とカメラ視点６０２との間の距離は、焦点距離６１０と等しい。
【００４３】
一致する特徴のそれぞれについて射線が形成された後、３次元空間内の点が決定され得る。図７は、どのように点が決定されるかを描写する、一実施例７００を図示する。
【００４４】
実施例７００では、２つのカメラロゼット７０２および７０４が示される。一実施形態では、これらの２つのカメラロゼットは、同一であり得る（例えば、異なる位置および異なる時点で画像を撮影するために、同一のカメラロゼットを使用することができる）。各カメラロゼット７０２および７０４は、一致された特徴を有する画像を含む。実施例７００では、カメラロゼット７０２は、カメラロゼット７０４の特徴７０８と一致される、特徴７０６を含む。図７に示されるように、第１の射線７１０は、カメラロゼット７０２のカメラ視点からの射線７１０を、特徴７０６を通して延在させることによって形成される。同様に、第２の射線７１２は、カメラロゼット７０４のカメラ視点からの射線７１２を、特徴７０８を通して延在させることによって形成される。射線７１０および射線７１２の交点は、３次元点７１４である。実施形態では、例えば、特徴識別および一致の不正確さのため、射線７１０および７１２は、点７１４で実際に交わらない場合がある。射線７１０および７１２が実際に交わらない場合、射線が最も近接する線分を決定することができる。これらの状況では、使用される３次元点７１４は、線分の中点であり得る。
【００４５】
上述される実施形態では、３次元点の群を決定するために、各対の一致された特徴について、実施例６００および７００によって図示されるステップが繰り返される。
【００４６】
図８Ａは、建物８０６および木８０８を含む、３次元空間の一実施例８００を示す。また、実施例８００は、街路８１０も含む。一実施形態では、建物８０６および木８０８の写真画像は、街路８１０に沿って移動する車両から撮影され得る。第１の写真画像は、場所８０２から撮影され得、一方、第２の写真画像は、場所８０４から撮影され得る。
【００４７】
本明細書に記載されるように、本発明の一実施形態に従って、第１および第２の画像から特徴が抽出される。一致する特徴が識別され、各対の一致する特徴について、例えば、ステレオ三角測量を使用して、３次元点が決定される。これは、図８Ｂに図示されるもの等の３次元点の群をもたらす。図８Ｂは、３次元点８５２の群が描写される、一実施例８５０を図示する。
【００４８】
図９Ａ〜図９Ｃは、３次元空間内の複数の点に基づき、どのように外観表面を決定するかの一実施例を図示する。本実施例は、例示にすぎず、例えば、方法４００のステップ４０８を実施するために使用することができる。他の実施形態では、表面は、例えば、最小二乗アルゴリズムもしくは適応的最適化アルゴリズム等の最良適合アルゴリズムまたは回帰分析アルゴリズムを使用して、決定され得る。適応的最適化アルゴリズムの例には、山登りアルゴリズム、確率的山登りアルゴリズム、エースター（Ａ−ｓｔａｒ）アルゴリズム、および遺伝的アルゴリズムが挙げられるが、これらに限定されない。
【００４９】
図９Ａは、街路９０８および３次元点９１０の群を描写する。外観平面９０２は、街路９０８に対して平行に走っている。動作中、外観平面９０２は、街路９０８から軸上で外向きに平行移動させられる。外向きに移動する各場所で、外観平面９０２の特定範囲内の点の数の値が求められる。図９Ａでは、範囲は、点線９１２および９１４によって示される。図９Ａに示されるように、ゼロ個の点が、点線９１２と点線９１４との間に位置する。
【００５０】
図９Ｂは、街路９０８から軸上で外向きに平行移動させられた、外観平面９０４を示す。図９Ｂでは、外観平面９０４は、図９Ａに示される外観平面９０２より大きな距離だけ、街路９０８から外向きに移動されている。結果として、３つの点が、外観平面９０４からの範囲内にある。
【００５１】
一実施形態では、外観平面の場所（例えば、指定数の近点を有する場所）が見つからない場合、外観平面の角度は、街路に対して変化され得る。したがって、図９Ｃは、街路９０８に対して非平行角度を有する、外観平面９０６を示す。図９Ｃに示されるように、外観平面９０６に近接する、５つの点が存在する。
【００５２】
本明細書に記載されるように、また、本発明による３次元モデルは、１つ以上の街路平面（例えば、街路に対して平行な平面）を含み得る。一実施形態では、街路平面は、街路の既知の場所（例えば、ある人が、画像を撮影するために使用されたカメラに対する街路の場所を知り得る）に基づき、計算され得る。
【００５３】
図１０は、本発明の一実施形態による、注釈を作成し、表示するためのシステム１０００を示す。図１０に示されるように、システム１０００は、クライアント１００２を含む。クライアント１００２は、例えば、ネットワーク１０３４を通じて、１つ以上のサーバ１０２４と通信する。クライアント１００２は、汎用コンピュータであり得る。代替として、クライアント１００２は、例えば、携帯電話機等の専用コンピューティングデバイスであり得る。同様に、サーバ１０２４は、データをクライアント１００２に供給することができる、いずれかのコンピューティングデバイスを使用して、実装することができる。
【００５４】
サーバ１０２４は、ウェブサーバを含み得る。ウェブサーバは、ＨＴＴＰ応答によって、ハイパーテキスト転送プロトコル（ＨＴＴＰ）要求に応答する、ソフトウェアコンポーネントである。説明に役立つ実例として、ウェブサーバは、制限なく、アパッチ（Ａｐａｃｈｅ）ＨＴＴＰサーバ、アパッチトムキャット（Ａｐａｃｈｅ  Ｔｏｍｃａｔ）、マイクロソフトインターネット情報サーバ、ジェイボス（ＪＢｏｓｓ）アプリケーションサーバ、ウェブロジック（ＷｅｂＬｏｇｉｃ）アプリケーションサーバ、またはサンジャバ（Ｓｕｎ  Ｊａｖａ（登録商標））システムウェブサーバであり得る。ウェブサーバは、ハイパーテキストマークアップ言語（ＨＴＭＬ）、拡張可能マークアップ言語（ＸＭＬ）、文書、動画、画像、マルチメディア機能、またはこれらのいずれかの組み合わせ等のコンテンツを供給し得る。本例は、厳密に例示であり、本発明を制限しない。
【００５５】
サーバ１０２４は、以下に記載されるように、地図タイル１０１４、プログラム１０１６、設定情報１０１８、および／またはパノラマタイル１０２０を供給し得る。
【００５６】
ネットワーク１０３４は、データ通信を伝えることができる、いずれかのネットワークまたはネットワークの組み合わせであってもよく、本明細書において、コンピュータネットワークと称される場合がある。ネットワーク１０３４には、ローカルエリアネットワーク、中規模ネットワーク、および／またはインターネット等の広域ネットワークを挙げることができるが、これらに限定されない。ネットワーク１０３４は、ワールドワイドウェブプロトコルおよび／またはサービスを含むが、これらに限定されない、プロトコルならびに技術を支援することができる。特定のアプリケーションおよび環境によって、システム１０００のコンポーネント間に、中間ウェブサーバ、ゲートウェイ、または他のサーバが提供され得る。
【００５７】
サーバ１０２４は、パノラマデータベース１０２８、モデルデータベース１０３０、および注釈データベース１０３２に連結される。パノラマデータベース１０２８は、画像を記憶する。一実施形態では、画像は、地上レベルから撮影された写真画像であり得る。同一の位置から撮影された写真画像は、パノラマを形成するために、共に合わせられ得る。モデルデータベース１０３０は、パノラマデータベース１０２８内の画像に対応する３次元モデルを記憶する。注釈データベース１０３２は、ユーザによって生成される注釈を記憶する。
【００５８】
パノラマデータベース１０２８、モデルデータベース１０３０、および注釈データベース１０３２のそれぞれは、関係データベース管理システム上に実装され得る。関係データベースの例には、Ｏｒａｃｌｅ、Ｍｉｃｒｏｓｏｆｔ  ＳＱＬサーバ、およびＭｙＳＱＬが挙げられる。これらの例は、例示であり、本発明を制限しない。
【００５９】
サーバ１０２４は、注釈ジェネレータ１０２６を含み得る。注釈ジェネレータ１０２６は、選択オブジェクト（例えば、境界ボックス）を、モデルデータベース１０３０内の３次元モデル上に投影する。選択オブジェクトは、画像を見ながら、ユーザによってコンテンツと共に入力され得る。選択オブジェクトおよびコンテンツは、注釈データ１０２２として、サーバ１０２４によって受信され得る。注釈ジェネレータ１０２６は、モデルデータベース１０３０内の３次元モデル上への投影に対応する位置を決定する。位置は、３次元空間内のジオメトリである。ジオメトリは、例えば、１組の座標または三角形メッシュによって定義され得る。
【００６０】
位置が決定されると、注釈ジェネレータ１０２６は、位置を、ユーザによって入力されたコンテンツと関連付ける。次いで、注釈ジェネレータ１０２６は、注釈として、位置およびコンテンツを注釈データベース１０３２に記憶し得る。
【００６１】
一実施形態では、クライアント１００２は、マッピングサービス１００６およびパノラマビューア１００８を備えてもよい。マッピングサービス１００６およびパノラマビューア１００８のそれぞれは、独立型アプリケーションであってもよく、または、ブラウザ１００４内で実行され得る。実施形態では、ブラウザ１００４は、モジラのファイヤーフォックス（Ｍｏｚｉｌｌａ  Ｆｉｒｅｆｏｘ）またはマイクロソフトのインターネットエクスプローラ（Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ）であり得る。パノラマビューア１００８は、例えば、ブラウザ１００４内のスクリプトとして、ブラウザ１００４内のプラグインとして、またはＡｄｏｂｅ（Ｍａｃｒｏｍｅｄｉａ）Ｆｌａｓｈプラグイン等のブラウザプラグイン内で実行するプログラムとして、実行することができる。
【００６２】
マッピングサービス１００６は、ビューポートとして、地図タイルのグリッドに地図の視覚表示を表示する。マッピングシステム１００６は、マークアップおよびスクリプト記述要素の組み合わせを使用して、例えば、ＨＴＭＬおよびＪａｖａ（登録商標）スクリプトを使用して、実装される。ビューポートが移動される時、要求される地図タイルがまだローカルキャッシュメモリにないと仮定すると、マッピングサービス１００６は、サーバ１０２４から追加の地図タイル１０１４を要求する。特に、地図タイル１０１４を供給するサーバは、パノラマタイル１０２０、設定情報１０１８、または本明細書に関連する他のデータを供給するサーバと同一のサーバまたは異なるサーバであり得る。
【００６３】
一実施形態では、マッピングサービス１００６は、ブラウザ１００４に、サーバ１０２４からのパノラマビューア１００８のためのプログラム１０１６のダウンロードを開始し、プログラム１０１６を走らせるのに必要ないかなるプラグインのインスタンスも作成するように、要求することができる。プログラム１０１６は、実行可能なコンテンツのＦｌａｓｈファイル、またはいくつかの他の形態であり得る。パノラマビューア１００８は、プログラム１０１６に従って実行し、動作する。
【００６４】
パノラマビューア１００８は、サーバ１０２４から設定情報１０１８を要求する。設定情報は、パノラマ内の他のパノラマへのリンクに関する情報を含む、読み込まれるパノラマに関するメタ情報を含む。一実施形態では、設定情報は、拡張可能マークアップ言語（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ：ＸＭＬ）等の形態で提供される。パノラマビューア１００８は、例えば、パノラマ画像の形態、またはパノラマ画像タイルの形態のパノラマのビジュアルアセット１０２０を回収する。別の実施形態では、ビジュアルアセットは、関連ファイルフォーマットの設定情報を含む。パノラマビューア１００８は、設定情報１０１８およびビジュアルアセット１０２０から生成されたものとして、クライアント画面上へのパノラマの視覚表示、および追加のユーザインターフェース要素を提供する。パノラマの視覚表示を操作するために、ユーザが入力デバイスと対話する時、パノラマビューア１００８は、必要に応じて、視覚表示を更新し、追加の設定情報およびビジュアルアセットのダウンロードを開始する。
【００６５】
パノラマビューア１００８は、注釈ビューア１０１０および注釈エディタ１０１２を含み得る。注釈エディタ１０１２は、ユーザが選択オブジェクトおよび注釈のコンテンツを入力できるようにする。一実施例として、ユーザは、マウス等の入力デバイスを使用して、境界ボックスを入力し得る。ユーザは、パノラマビューア１００８によって表示されるパノラマ画像の一部分を選択するために、入力デバイスを使用し得る。ユーザが入力し得るコンテンツには、テキスト、ＨＴＭＬ、ＸＭＬ、画像、動画、または他のマルチメディアコンテンツが挙げられ得る。
【００６６】
ユーザが選択オブジェクト（例えば、境界ボックス）およびコンテンツを入力すると、注釈エディタ１０１２は、その情報を、注釈データ１０２２としてサーバ１０００に伝送する。一実施例として、注釈データ１０２２は、ＨＴＴＰパラメータとして、（ハイパーテキスト転送プロトコル）ＨＴＴＰ要求にパッケージされ得る。代替として、注釈データ１０２２は、ＸＭＬにエンコードされ得る。
【００６７】
注釈ビューア１０１０は、ユーザに注釈を表示する。一実施形態では、パノラマに近い位置を有する各注釈が、パノラマビューア１００８内に表示され得る。その実施形態では、設定情報１０１８は、各注釈のコンテンツおよび各注釈のパノラマ内の位置を含み得る。説明に役立つ実施例では、注釈ビューア１０１０は、注釈の位置を含むパノラマの範囲を縁取りし得、情報バルーン内に、注釈のコンテンツを表示し得る。
【００６８】
ブラウザ１００４、マッピングサービス１００６、パノラマビューア１００８、注釈ビューア１０１０、および注釈エディタ１０１２のそれぞれは、ハードウェア、ソフトウェア、ファームウェア、またはこれらのいずれかの組み合わせに実装され得る。
【００６９】
図１１は、システム１０００のための一例示的なブラウザインターフェース１１００を示す。例示的なブラウザインターフェース１１００は、厳密に例示であり、他のインターフェースが使用され得る。ブラウザインターフェース１１００は、ブラウザ１００４によって表示され得る（図１０参照）。ブラウザインターフェース１１００は、地図インターフェース１１０４およびパノラマビューポート１１０２を含む。地図インターフェース１１０４は、マッピングサービス１００６によって表示され得、パノラマビューポート１１０２は、パノラマビューア１００８によって表示され得る。
【００７０】
パノラマビューポート１１０２は、ユーザによって作成された注釈を示す。パノラマビューポート１１０２は、選択オブジェクト（例えば、境界ボックス）１１０６と、テキストフィールド１１１２と、提出ボタン１１１０とを含む。本実施例では、注釈を入力するために、ユーザは、選択オブジェクト１１０６によって示されるように、パノラマ画像の一部分を選択し得る。ユーザは、テキストフィールド１１１２にテキストを入力し得る。いったんユーザが選択オブジェクト１１０６を作成し、テキストフィールド１１１２にコンテンツを入力すると、ユーザは、提出ボタン１１０２を選択し得る。提出ボタン１１０２を選択することによって、選択オブジェクト１１０６の位置およびテキストフィールド１１１２内のコンテンツが、注釈データ１０２２としてサーバ１０２４に送信される（図１０参照）。次いで、サーバ１０２４は、注釈の位置を決定し、注釈を記憶する。この場合も同様に、本実施例は、例示でしかなく、本発明を制限することは意味されない。当業者に明らかであるように、他のインターフェースが使用され得る。
【００７１】
また、パノラマビューポート１１０２は、ユーザによって以前に記憶された注釈も表示する。パノラマビューポート１１０２は、縁取り１１１４を含む。縁取り１１１４は、任意選択であり、パノラマ内の注釈の位置を示す。また、パノラマビューポート１１０２は、注釈のテキストを表示する、情報バルーン１１０８も含む。一実施形態では、注釈のテキストおよびパノラマ内の注釈の位置は、設定情報１０１８の一部である（図１０参照）。
【００７２】
図１２は、本発明の一実施形態による、画像データから３次元モデルを作成するためのシステム１２００を示す。システム１２００は、それぞれが、処理パイプラインサーバ１２２４に連結される、パノラマデータベース１０２８およびモデルデータベース１０３０を含む。処理パイプラインサーバ１２２４は、いずれかのコンピューティングデバイスであり得る。例示的なコンピューティングデバイスには、コンピュータ、ワークステーション、分散コンピューティングシステム、内蔵システム、独立型電子デバイス、ネットワーク接続されたデバイス、携帯デバイス、ラックサーバ、テレビ、または他の種類のコンピューティングシステムが挙げられるが、これらに限定されない。
【００７３】
処理パイプラインサーバ１２２４は、特徴エクストラクタ１２１６と、特徴マッチャ１２１８と、点カリキュレータ１２２０と、表面エスティメータ１２２２とを含む。特徴エクストラクタ１２１６、特徴マッチャ１２１８、点カリキュレータ１２２０、および表面エスティメータ１２２２のそれぞれは、ハードウェア、ソフトウェア、ファームウェア、またはこれらのいずれかの組み合わせに実装され得る。
【００７４】
特徴エクストラクタ１２１６は、パノラマデータベース１０２８から画像１２０２を選択する。一実施形態では、画像１２０２は、合わせられていない地上レベルのパノラマ画像である、２つの画像を含み得る。２つの画像は、互いに対して近隣位置ではあるが、異なる観察点から撮影され得る。一実施形態では、画像は、８つのカメラのロゼットが取り付けられた、移動する車両から撮影される。８つのカメラは、異なる観察点から８つの画像を同時に撮影する。８つの画像は、パノラマを形成するために、続いて、共に合わせられ得る。第１の画像は、８つのカメラのロゼット内の第１のカメラからの、合わせられていない画像であり得る。第２の画像は、後の時点中に撮影された、第１のカメラに隣接する第２のカメラからの、合わせられていない画像であり得る。
【００７５】
特徴エクストラクタ１２１６は、画像１２０２から特徴を抽出する。一実施形態では、特徴エクストラクタ１２１６は、例えば、関心点検出および特徴記述等、２つ以上の機能を実施し得る。関心点検出は、条件に従って画像内の点を検出し、好ましくは、輝度および観察点の変化等の画像変化下で、再現可能である。次いで、各関心点の近辺が特徴として記述される。これらの特徴は、特徴ディスクリプタによって表現される。特徴ディスクリプタは、好ましくは、示差的である。
【００７６】
一実施例では、画像から特徴を抽出するために、高速化ロバスト特徴（Ｓｐｅｅｄｅｄ  Ｕｐ  Ｒｏｂｕｓｔ  Ｆｅａｔｕｒｅｓ：ＳＵＲＦ）アルゴリズムが使用され得る。ＳＵＲＦアルゴリズムは、関心点検出および特徴記述スキームを含む。ＳＵＲＦアルゴリズムでは、各特徴ディスクリプタは、ベクトルを含む。一実施では、ベクトルは、１２８次元であり得る。画像が、地上レベルから撮影されたパノラマである、一実施例では、ＳＵＲＦアルゴリズムは、各画像中に、４千〜５千の特徴を抽出し、結果として、１〜２メガバイトのサイズの特徴ディスクリプタファイル１２０４をもたらし得る。
【００７７】
特徴マッチャ１２１８は、２つの画像内の特徴を一致させるために、各特徴ディスクリプタファイル１２０４を使用する。一実施例では、各特徴は、特徴ディスクリプタファイル１２０４内の特徴ディスクリプタによって表現される。各特徴ディスクリプタは、１２８次元のベクトルを含む。第１の特徴と第２の特徴との間の類似性は、第１の特徴のベクトルと第２の特徴のベクトルとの間のユークリッド距離を探すことによって、決定され得る。
【００７８】
第２の画像内の特徴の中での第１の画像内の特徴の一致は、次のように決定され得る。第１に、特徴マッチャ１２１８は、第２の画像内の特徴の中から決定される、第１の画像内の特徴の最も近傍のもの（例えば、１２８次元空間内）を決定する。第２に、特徴マッチャ１２１８は、第２の画像内の特徴の中から決定される、第１の画像内の特徴の２番目に近傍のものを決定する。第３に、特徴マッチャ１２１８は、第１の画像内の特徴と第２の画像内の最も近傍のものの特徴との間の第１の距離を決定し、特徴マッチャ１２１８は、第１の画像内の特徴と第２の画像内の２番目に近傍のものの特徴との間の第２の距離を決定する。第４に、特徴マッチャ１２１８は、第１の距離を第２の距離で除算することによって、特徴類似比率を計算する。特徴類似比率が特定の閾値未満の場合、第１の画像内の特徴と第２の画像内のその最も近傍のものとの間に、一致が存在する。
【００７９】
特徴マッチャ１２１８は、例えば、スピルツリーを構築することによって、最も近傍のものおよび２番目に近傍のものを決定し得る。
【００８０】
特徴類似比率が低すぎる場合、特徴マッチャ１２１８は、十分な一致を決定しない場合がある。特徴類似比率が高すぎる場合、特徴マッチャ１２１８は、あまりに多くの偽一致を決定する場合がある。一実施形態では、特徴類似比率は、０．５から０．９５であり得る。画像が、地上レベルから撮影されたパノラマである、実施例では、数百の一致された特徴が存在し得る。一致された特徴は、一致された特徴１２０６として、点カリキュレータ１２２０に送信される。
【００８１】
点カリキュレータ１２２０は、各対の一致された特徴１２０６の３次元空間内の点を決定する。３次元空間内の点を決定するために、各特徴について射線が形成または決定され、点は、特徴の射線の交点に基づき、決定される。一実施形態では、射線が交わらない場合、点は、２つの射線を接続する最短線分の中点に基づき、決定される。点カリキュレータ１２２０の出力は、３次元点１２０８（例えば、各対の一致された特徴について１点）の群である。
【００８２】
表面エスティメータ１２２２は、点１２０８の群に基づき、外観平面を決定する。表面エスティメータ１２２２は、例えば、最小二乗アルゴリズムもしくは適応的最適化アルゴリズム等の最良適合アルゴリズムまたは回帰分析アルゴリズムを使用することによって、外観平面を決定し得る。適応的最適化アルゴリズムの例には、山登りアルゴリズム、確率的山登りアルゴリズム、エースター（Ａ−ｓｔａｒ）アルゴリズム、および遺伝的アルゴリズムが挙げられるが、これらに限定されない。代替として、表面エスティメータ１２２２は、図９Ａ〜図９Ｃを参照して上述されているように、平面の最適場所を決定するために、平面を軸に沿って平行移動させることによって、外観表面を決定し得る。
【００８３】
また、表面エスティメータ１２２２は、より多くの外観平面、またはより多くの街路平面を決定し得る。街路平面および外観平面は、共に、表面平面１２１０を形成する。表面エスティメータ１２２２は、モデルデータベース１０３０に表面平面１２１０を記憶する。
【００８４】
「発明の概要」および「要約」ではなく、「発明を実施するための形態」が、請求項を解釈するために使用されることが意図されることが理解される。「発明の概要」および「要約」は、発明者によって熟考される、すべてではないが、１つ以上の本発明の実施形態を説明し得、したがって、これらは、決して、本発明および添付の請求項を制限することは意図されない。
【００８５】
特定された機能の実装およびそれらの関係を図示する、機能性構築要素を用いて、本発明を上記で説明した。これらの機能性構築要素の境界は、説明の便宜のために、本明細書において、適宜定義されてきた。具体的な機能およびそれらの関係が、適切に実施される限り、代替の境界を定義することができる。さらに、本発明は、本明細書において、特定の用途の説明に役立つ実施形態を参照して記載されるが、本発明は、それに制限されないことを理解されたい。本明細書に提供される教示が入手可能な当業者は、追加の修正、用途、およびこれらの範囲内の実施形態、ならびに本発明が大いに有用であり得る追加の分野を認識するであろう。
【００８６】
具体的な実施形態の前述の説明は、本発明の要領を完全に明らかにするため、他の人は、当該技術分野の技術内の知識を適用することによって、本発明の一般概念から逸脱することなく、そのような具体的な実施形態を、過度の実験を行うことなく、種々の用途に容易に修正および／または適応できるであろう。したがって、そのような適応および修正は、本明細書に提示される教示および指導に基づき、開示される実施形態の同等物の意味および範囲内であることが意図される。本明細書の専門語または専門用語は、本明細書の専門用語または専門語が、教示および指導に照らして、当業者によって解釈されるように、制限のためではなく、説明のためのものであることが理解される。
【００８７】
本発明の幅および範囲は、いかなる上述の例示的な実施形態によっても制限されるべきではなく、以下の請求項およびそれらの同等物に従ってのみ定義されるべきである。
【図３】
2015005298.tif 000003
【図４】
2015005298.tif 000004
【図５Ａ】
2015005298.tif 000005
【図５Ｂ】
2015005298.tif 000006
【図５Ｃ】
2015005298.tif 000007
【図１０】
2015005298.tif 000008
【図１１】
2015005298.tif 000009
【図１２】
2015005298.tif 000010
【図１】
2015005298.tif 000011
【図２Ａ】
2015005298.tif 000012
【図２Ｂ】
2015005298.tif 000013
【図６】
2015005298.tif 000014
【図７】
2015005298.tif 000015
【図８Ａ】
2015005298.tif 000016
【図８Ｂ】
2015005298.tif 000017
【図９Ａ】
2015005298.tif 000018
【図９Ｂ】
2015005298.tif 000019
【図９Ｃ】
2015005298.tif 000020