(57)【特許請求の範囲】
【請求項１】
第1のロケーションから撮られた第1の画像と、第2のロケーションから撮られた第2の画像とを、1つまたは複数のプロセッサによって選択するステップと、
前記第2のロケーションに関連する前記第1のロケーションのポジションを、前記1つまたは複数のプロセッサによって決定するステップと、
前記ポジションに基づいて、前記第1の画像に関する第1のフレームと、前記第2の画像に関する第2のフレームとを、前記1つまたは複数のプロセッサによって選択するステップと、
前記第1のフレームにおける前記第1の画像の視覚特徴の第1のセットと、前記第2のフレームにおける前記第2の画像の視覚特徴の第2のセットとを、前記1つまたは複数のプロセッサによって識別するステップと、
視覚特徴の前記第1のセットと、視覚特徴の前記第2のセットとの間でいくつかのマッチする視覚特徴を、前記1つまたは複数のプロセッサによって決定するステップと、
前記マッチする視覚特徴の1つまたは複数のポジションを評価することによって、前記第1の画像と前記第2の画像との間の見通し線のための信頼度レベルを、前記1つまたは複数のプロセッサによって決定するステップと、
前記第1の画像から前記第2の画像へのナビゲーション経路を、少なくとも前記信頼度レベルに基づいて、前記1つまたは複数のプロセッサによって生成するステップと
を備える方法。
【請求項２】
前記第1のフレームは、前記第1のロケーションからの方向にあり、前記第2のフレームは、前記第2のロケーションからの方向にあり、前記第1および第2のフレームは、前記第1のロケーションと前記第2のロケーションとの間の直線経路の周囲に集められる、請求項1に記載の方法。
【請求項３】
前記ポジションを決定するステップはさらに、前記第1の画像および前記第2の画像のポーズ情報を決定するステップを備え、前記ポーズ情報は、基本方向に対する前記第1の画像および前記第2の画像の方位情報を備える、請求項1に記載の方法。
【請求項４】
マッチする第1および第2の視覚特徴の所与のペアについて、前記マッチする第1および第2の視覚特徴のポジションを評価するステップと、
第1のパノラマ画像において、前記第1のロケーションから、前記マッチする第1の視覚特徴へ第1の光線を投じるステップと、
第2のパノラマ画像において、前記第2のロケーションから、前記マッチする第2の視覚特徴へ第2の光線を投じるステップと、
前記第1の光線と前記第2の光線とが、前記第1のパノラマ画像と前記第2のパノラマ画像との間のエリアにおいて、互いに最も近くなるか否かを判定するステップと
をさらに備え、
前記信頼度レベルは、さらに、前記第1の光線と前記第2の光線とが、前記第1のパノラマ画像と前記第2のパノラマ画像との間のエリアにおいて、互いに最も近くなるか否かの判定に基づいて決定される、請求項1に記載の方法。
【請求項５】
前記信頼度レベルを決定するステップはさらに、マッチする視覚特徴の各ペアへ重みを割り当てるステップをさらに備え、前記重みは、
(1)マッチする所与の視覚特徴の再投影エラー、
(2)前記第1のロケーションと前記第2のロケーションとの間の直線経路からの前記マッチする所与の視覚特徴の各々の角距離、および
(3)前記マッチする所与の視覚特徴間の視覚類似性のうちの少なくとも1つに対応する、請求項1に記載の方法。
【請求項６】
前記信頼度レベルは、
(1)マッチする視覚特徴である識別された視覚特徴のパーセンテージ、
(2)マッチする視覚特徴の各ペアへ割り当てられる前記重み、
(3)前記第1の画像と前記第2の画像との間の距離、および
(4)前記マッチする視覚特徴の推定されたロケーションの残余誤差のうちの少なくとも1つに従って決定される、請求項5に記載の方法。
【請求項７】
前記マッチする視覚特徴の推定されたロケーションは、
視覚特徴の前記第1のセットにおいて、前記第1のロケーションから第1の特徴へ第1の光線を投じることと、
視覚特徴の前記第2のセットにおいて、前記第2のロケーションから第2の特徴へ第2の光線を投じることであって、前記第1の特徴および前記第2の特徴は、マッチする視覚特徴のペアである、投じることと、
前記第1の光線および前記第2の光線が、あらかじめ決定された互いの距離内にある場合、前記第1の光線と前記第2の光線とが互いに最も近くなるロケーションに最も近いポイントを、前記第1の特徴および前記第2の特徴の前記推定されたロケーションとして設定することと
によって決定される、請求項5に記載の方法。
【請求項８】
前記第1の光線および前記第2の光線が、前記あらかじめ決定された距離または分岐内にない場合、前記いくつかのマッチする視覚特徴から、マッチする視覚特徴の前記ペアを除去するステップをさらに備える、請求項7に記載の方法。
【請求項９】
前記ナビゲーション経路はさらに、1つまたは複数の制約に従って生成される、請求項1に記載の方法。
【請求項１０】
前記1つまたは複数の制約は、最小スパニングツリー制約、ドロネー三角形分割制約、交点当たりのエッジの数を設定すること、エッジのための最大距離を設定すること、1つの冗長レイヤのみを許可すること、および交点のペア間距離の最小化のうちの少なくとも1つを備える、請求項9に記載の方法。
【請求項１１】
複数の画像を、1つまたは複数のプロセッサによって選択するステップと、
前記複数の画像における画像のすべてのペアについて、
第2のロケーションにおいて撮られた前記ペアの第2の画像に関連する第1のロケーションにおいて撮られた前記ペアの第1の画像のポジションを、前記1つまたは複数のプロセッサによって決定することと、
フレームを、前記第1のロケーションと前記第2のロケーションとの間の直線経路に沿った前記第1のロケーションから、前記第1の画像および前記第2の画像へ、前記1つまたは複数のプロセッサによって投影することと、
前記第1の画像に関する前記フレームの前記投影内で、前記第1の画像の視覚特徴の第1のセットを、前記1つまたは複数のプロセッサによって識別することと、
前記第2の画像に関する前記フレームの前記投影内で、前記第2の画像の視覚特徴の第2のセットを、前記1つまたは複数のプロセッサによって識別することと、
視覚特徴の前記第1のセットと視覚特徴の前記第2のセットとの間でマッチする視覚特徴を、前記1つまたは複数のプロセッサによって決定することと
によって、画像の各ペア間の結合性の信頼度レベルを、前記1つまたは複数のプロセッサによって決定するステップと、
前記第1の画像と前記第2の画像との間の見通し線のための信頼度レベルを、少なくとも、前記マッチする視覚特徴に基づいて決定するステップと、
画像の各ペアの前記信頼度レベルに従って、画像の1つまたは複数のペア間のナビゲーション経路を、前記1つまたは複数のプロセッサによって生成するステップと
を備える方法。
【請求項１２】
結合グラフを前記1つまたは複数のプロセッサによって生成するステップをさらに備え、各画像は、前記結合グラフにおける交点であり、各ナビゲーション経路は、前記結合グラフにおけるエッジである、請求項11に記載の方法。
【請求項１３】
前記結合グラフを生成するステップはさらに、1つまたは複数の制約を適用することによって、少なくとも1つのエッジを除去するステップを備える、請求項12に記載の方法。
【請求項１４】
前記1つまたは複数の制約は、最小スパニングツリー制約、ドロネー三角形分割制約、交点当たりのエッジの数を設定すること、エッジのための最大距離を設定すること、1つの冗長レイヤのみを許可すること、および交点のペア間距離の最小化のうちの少なくとも1つを備える、請求項13に記載の方法。
【請求項１５】
第1のロケーションから撮られた第1の画像と、第2のロケーションから撮られた第2の画像とを記憶するメモリと、
前記第2のロケーションに関連する前記第1のロケーションのポジションを決定することと、
前記ポジションに基づいて、前記第1の画像に関する第1のフレームと、前記第2の画像に関する第2のフレームとを選択することと、
前記第1のフレームにおける前記第1の画像の視覚特徴の第1のセットと、前記第2のフレームにおける前記第2の画像の視覚特徴の第2のセットとを識別することと、
視覚特徴の前記第1のセットと、視覚特徴の前記第2のセットとの間でいくつかのマッチする視覚特徴を決定することと、
前記マッチする視覚特徴の1つまたは複数のポジションを評価することによって、前記第1の画像と前記第2の画像との間の見通し線のための信頼度レベルを決定することと、
前記第1の画像から前記第2の画像へのナビゲーション経路を、少なくとも前記信頼度レベルに基づいて生成することと
を行うように構成された1つまたは複数のプロセッサを有する1つまたは複数のコンピューティングデバイスと
を備えるシステム。
【請求項１６】
前記第1のフレームは、前記第1のロケーションからの方向にあり、前記第2のフレームは、前記第2のロケーションからの方向にあり、前記第1および第2のフレームは、前記第1のロケーションと前記第2のロケーションとの間の直線経路の周囲に集められる、請求項15に記載のシステム。
【請求項１７】
前記1つまたは複数のプロセッサはさらに、前記第1の画像および前記第2の画像のポーズ情報をさらに決定することによって前記ポジションを決定するように構成され、前記ポーズ情報は、基本方向に対する前記第1の画像および前記第2の画像の方位情報を含む、請求項15に記載のシステム。
【請求項１８】
前記1つまたは複数のプロセッサはさらに、マッチする第1および第2の視覚特徴の所与のペアについて、
第1のパノラマ画像において、前記第1のロケーションから、前記マッチする第1の視覚特徴へ第1の光線を投じることと、
第2のパノラマ画像において、前記第2のロケーションから、前記マッチする第2の視覚特徴へ第2の光線を投じることと、
前記第1の光線と前記第2の光線とが、前記第1のパノラマ画像と前記第2のパノラマ画像との間のエリアにおいて、互いに最も近くなるか否かを判定することと、
さらに、前記第1の光線と前記第2の光線とが、前記第1のパノラマ画像と前記第2のパノラマ画像との間のエリアにおいて、互いに最も近くなるか否かの判定に基づいて、前記信頼度レベルを決定することと
によって、マッチする前記第1および第2の視覚特徴のポジションを評価するように構成された、請求項15に記載のシステム。
【請求項１９】
前記1つまたは複数のプロセッサはさらに、マッチする視覚特徴の各ペアへ重みをさらに割り当てることによって、前記信頼度レベルを決定するように構成され、前記重みは、
(1)マッチする所与の視覚特徴の再投影エラー、
(2)前記第1のロケーションと前記第2のロケーションとの間の直線経路からの前記マッチする所与の視覚特徴の各々の角距離、および
(3)前記マッチする所与の視覚特徴間の視覚類似性のうちの少なくとも1つに対応する、請求項15に記載のシステム。
【請求項２０】
前記1つまたは複数のプロセッサはさらに、
視覚特徴の前記第1のセットにおいて、前記第1のロケーションから第1の特徴へ第1の光線を投じることと、
視覚特徴の前記第2のセットにおいて、前記第2のロケーションから第2の特徴へ第2の光線を投じることであって、前記第1の特徴および前記第2の特徴は、マッチする視覚特徴のペアである、投じることと、
前記第1の光線および前記第2の光線が、あらかじめ決定された互いの距離内にある場合、前記第1の光線と前記第2の光線とが互いに最も近くなるロケーションに最も近いポイントを、前記第1の特徴および前記第2の特徴の推定されたロケーションとして設定することと
によって、前記マッチする視覚特徴の前記推定されたロケーションを決定するように構成された、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、2015年8月7日に出願された米国特許出願第14/821,118号の継続出願であり、その開示は、参照により本明細書に組み込まれる。
【背景技術】
【０００２】
現在、世界中に、莫大な量の球状のパノラマ画像が存在する。パノラマ画像自体が、地球に対して現実的なポーズを取る場合、異なるパノラマ画像間の視覚的描写が揃うので、近くの結合されたパノラマ画像によって、ユーザは、あたかも現実の3次元空間をナビゲートしているかのように感じる手法で、これら画像を介してナビゲートすることが可能となる。しかしながら、特に、パノラマ画像の形状を知ることなく、距離およびグラフトポロジに基づいてパノラマ画像間の結合性(connectivity)を決定することは、簡単なことではない。追加されるチャレンジは、パノラマ画像が一般に見通し線(line-of-sight)を共有する通りまたは他のエリアに沿ってキャプチャされていないパノラマ画像のために提示される。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示の態様は、方法を提供する。方法は、第1のロケーション(location)から撮られた第1の画像と、第2のロケーションから撮られた第2の画像とを、1つまたは複数のプロセッサによって選択するステップと、第2のロケーションに関連する第1のロケーションのポジション(position)を、1つまたは複数のプロセッサによって決定するステップと、このポジションに基づいて、第1の画像に関する第1のフレームと、第2の画像に関する第2のフレームとを、1つまたは複数のプロセッサによって選択するステップと、第1のフレームにおける第1の画像の視覚特徴(visual feature)の第1のセットと、第2のフレームにおける第2の画像の視覚特徴の第2のセットとを、1つまたは複数のプロセッサによって識別するステップと、視覚特徴の第1のセットと、視覚特徴の第2のセットとの間でいくつかのマッチする視覚特徴を、1つまたは複数のプロセッサによって決定するステップと、マッチする視覚特徴の1つまたは複数のポジションを評価することによって、第1の画像と第2の画像との間の見通し線のための信頼度レベルを、1つまたは複数のプロセッサによって決定するステップと、第1の画像から第2の画像へのナビゲーション経路を、少なくとも信頼度レベルに基づいて、1つまたは複数のプロセッサによって生成するステップとを含む。
【０００４】
一例では、第1のフレームは、第1のロケーションからの方向にあり、第2のフレームは、第2のロケーションからの方向にあり、第1および第2のフレームは、第1のロケーションと第2のロケーションとの間の直線経路の周囲に集められる。別の例では、第2のロケーションに関連する第1のロケーションのポジションを決定するステップはまた、第1の画像および第2の画像のポーズ情報を決定するステップを含み、ポーズ情報は、基本方向に対する第1の画像および第2の画像の方位情報を含む。
【０００５】
さらなる例では、この方法はまた、マッチする第1および第2の視覚特徴の所与のペアについて、マッチする第1および第2の視覚特徴のポジションを評価するステップと、第1のパノラマ画像において、第1のロケーションから、マッチする第1の視覚特徴へ第1の光線を投じるステップと、第2のパノラマ画像において、第2のロケーションから、マッチする第2の視覚特徴へ第2の光線を投じるステップと、第1の光線と第2の光線とが、第1のパノラマ画像と第2のパノラマ画像との間のエリアにおいて、互いに最も近くなるか否かを判定するステップであって、信頼度レベルは、さらに、第1の光線と第2の光線とが、第1のパノラマ画像と第2のパノラマ画像との間のエリアにおいて、互いに最も近くなるか否かの判定に基づいて決定される、ステップとを含む。
【０００６】
さらに別の例では、見通し線のための信頼度レベルを決定するステップはまた、マッチする視覚特徴の各ペアへ重みを割り当てるステップを含み、この重みは、(1)マッチする所与の視覚特徴の再投影エラー、(2)第1のロケーションと第2のロケーションとの間の直線経路からのマッチする所与の視覚特徴の各々の角距離、および(3)マッチする所与の視覚特徴間の視覚類似性のうちの少なくとも1つに対応する。この例では、信頼度レベルは、(1)マッチする視覚特徴である識別された視覚特徴のパーセンテージ、(2)マッチする視覚特徴の各ペアへ割り当てられる重み、(3)第1の画像と第2の画像との間の距離、および(4)マッチする視覚特徴の推定されたロケーションの残余誤差のうちの少なくとも1つに従って決定され得る。
【０００７】
この例において代替的または追加的に、マッチする視覚特徴の推定されたロケーションは、視覚特徴の第1のセットにおいて、第1のロケーションから第1の特徴へ第1の光線を投じるステップと、視覚特徴の第2のセットにおいて、第2のロケーションから第2の特徴へ第2の光線を投じるステップであって、第1の特徴および第2の特徴は、マッチする視覚特徴のペアである、ステップと、第1の光線および第2の光線が、あらかじめ決定された互いの距離内にある場合、第1の光線と第2の光線とが互いに最も近くなるロケーションに最も近いポイントを、第1の特徴および第2の特徴の推定されたロケーションとして設定するステップとによって決定され得る。この代替または追加の例では、この方法はまた、第1の光線および第2の光線が、あらかじめ決定された距離または分岐内にない場合、いくつかのマッチする視覚特徴から、マッチする視覚特徴のペアを除去するステップを含む。
【０００８】
別の例ではまた、ナビゲーション経路が、1つまたは複数の制約に従って生成される。この例では、1つまたは複数の制約は、最小スパニングツリー制約、ドロネー三角形分割制約、交点当たりのエッジの数を設定すること、エッジのための最大距離を設定すること、1つの冗長レイヤのみを許可すること、および交点のペア間距離の最小化のうちの少なくとも1つを含み得る。
【０００９】
本開示の別の態様は、別の方法を提供する。この方法は、複数の画像を、1つまたは複数のプロセッサによって選択するステップと、複数の画像における画像のすべてのペアについて、(1)第2のロケーションにおいて撮られたペアの第2の画像に関連する第1のロケーションにおいて撮られたペアの第1の画像のポジションを、1つまたは複数のプロセッサによって決定し、(2)フレームを、第1のロケーションと第2のロケーションとの間の直線経路に沿った第1のロケーションから、第1の画像および第2の画像へ、1つまたは複数のプロセッサによって投影し、(3)第1の画像に関するフレームの投影内で、第1の画像の視覚特徴の第1のセットを、1つまたは複数のプロセッサによって識別し、(4)第2の画像に関するフレームの投影内で、第2の画像の視覚特徴の第2のセットを、1つまたは複数のプロセッサによって識別し、(5)視覚特徴の第1のセットと視覚特徴の第2のセットとの間でマッチする視覚特徴を、1つまたは複数のプロセッサによって決定することによって、画像の各ペア間の結合性の信頼度レベルを、1つまたは複数のプロセッサによって決定するステップと、第1の画像と第2の画像との間の見通し線のための信頼度レベルを、少なくとも、マッチする視覚特徴に基づいて決定するステップと、画像の各ペアの信頼度レベルに従って、画像の1つまたは複数のペア間のナビゲーション経路を、1つまたは複数のプロセッサによって生成するステップとを含む。
【００１０】
一例では、この方法はまた、結合グラフを1つまたは複数のプロセッサによって生成するステップを含み、各画像は、結合グラフにおける交点であり、各ナビゲーション経路は、結合グラフにおけるエッジである。この例では、結合グラフを生成するステップはまた、1つまたは複数の制約を適用することによって、少なくとも1つのエッジを除去するステップを含み得る。1つまたは複数の制約は、最小スパニングツリー制約、ドロネー三角形分割制約、交点当たりのエッジの数を設定すること、エッジのための最大距離を設定すること、1つの冗長レイヤのみを許可すること、および交点のペア間距離の最小化のうちの少なくとも1つを含む。
【００１１】
本開示のさらに別の態様は、システムを提供する。このシステムは、第1のロケーションから撮られた第1の画像と、第2のロケーションから撮られた第2の画像とを記憶するメモリと、第2のロケーションに関連する第1のロケーションのポジションを決定し、このポジションに基づいて、第1の画像に関する第1のフレームと、第2の画像に関する第2のフレームとを選択し、第1のフレームにおける第1の画像の視覚特徴の第1のセットと、第2のフレームにおける第2の画像の視覚特徴の第2のセットとを識別し、視覚特徴の第1のセットと、視覚特徴の第2のセットとの間でいくつかのマッチする視覚特徴を決定し、マッチする視覚特徴の1つまたは複数のポジションを評価することによって、第1の画像と第2の画像との間の見通し線のための信頼度レベルを決定し、第1の画像から第2の画像へのナビゲーション経路を、少なくとも信頼度レベルに基づいて生成するように構成された1つまたは複数のプロセッサを有する1つまたは複数のコンピューティングデバイスとを含む。
【００１２】
一例では、第1のフレームは、第1のロケーションからの方向にあり、第2のフレームは、第2のロケーションからの方向にあり、第1および第2のフレームは、第1のロケーションと第2のロケーションとの間の直線経路の周囲に集められる。別の例では、1つまたは複数のプロセッサはまた、第1の画像および第2の画像のポーズ情報をも決定することによって、ポジションを決定するように構成され、ポーズ情報は、基本方向に対する第1の画像および第2の画像の方位情報を含む。
【００１３】
さらなる例では、1つまたは複数のプロセッサはまた、マッチする第1および第2の視覚特徴の所与のペアについて、第1のパノラマ画像において、第1のロケーションから、マッチする第1の視覚特徴へ第1の光線を投じ、第2のパノラマ画像において、第2のロケーションから、マッチする第2の視覚特徴へ第2の光線を投じ、第1の光線と第2の光線とが、第1のパノラマ画像と第2のパノラマ画像との間のエリアにおいて、互いに最も近くなるか否かを判定し、さらに、第1の光線と第2の光線とが、第1のパノラマ画像と第2のパノラマ画像との間のエリアにおいて、互いに最も近くなるか否かの判定に基づいて、信頼度レベルを決定することによって、マッチする第1および第2の視覚特徴のポジションを評価するように構成される。
【００１４】
さらに別の例では、1つまたは複数のプロセッサはまた、マッチする視覚特徴の各ペアへ重みを割り当てることによっても、信頼度レベルを決定するように構成され、この重みは、(1)マッチする所与の視覚特徴の再投影エラー、(2)第1のロケーションと第2のロケーションとの間の直線経路からのマッチする所与の視覚特徴の各々の角距離、および(3)マッチする所与の視覚特徴間の視覚類似性のうちの少なくとも1つに対応する。この例では、1つまたは複数のプロセッサはまた、視覚特徴の第1のセットにおいて、第1のロケーションから第1の特徴へ第1の光線を投じ、視覚特徴の第2のセットにおいて、第2のロケーションから第2の特徴へ第2の光線を投じ、第1の特徴および第2の特徴は、マッチする視覚特徴のペアであり、第1の光線および第2の光線が、あらかじめ決定された互いの距離内にある場合、第1の光線と第2の光線とが互いに最も近くなるロケーションに最も近いポイントを、第1の特徴および第2の特徴の推定されたロケーションとして設定することによって、マッチする視覚特徴の推定されたロケーションを決定するように構成され得る。
【図面の簡単な説明】
【００１５】
【図１】本開示の態様に従う例示的なシステムの機能図である。
【図２】図1の例示的なシステムの絵図である。
【図３】本開示の態様に従う2つの画像間の関係を例示する図である。
【図４】本開示の態様に従う2つの画像およびフレーム間の関係を例示する図である。
【図５Ａ】本開示の態様に従う画像とデータを例示する図である。
【図５Ｂ】本開示の態様に従う画像とデータを例示する別の図である。
【図５Ｃ】本開示の態様に従う画像とデータを例示する別の図である。
【図５Ｄ】本開示の態様に従う画像とデータを例示する図である。
【図６】本開示の態様に従うパノラマ画像の集合と関係を例示する図である。
【図７】本開示の態様に従うパノラマ画像の別の例示的な集合と関係を例示する図である。
【図８】本開示の態様に従う例示的なフロー図である。
【図９】本開示の他の態様に従う別の例示的なフロー図である。
【発明を実施するための形態】
【００１６】
概説
本技術は、1つのロケーションから別のロケーションへの現実的なナビゲーションのための画像間の結合を自動的に生成することに関する。画像は、所与のロケーションから、広い視野をキャプチャするパノラマ画像であり得る。パノラマ画像の既知のロケーションおよびポーズを使用して、異なるパノラマ画像間の特徴が現実的に揃う手法で、1つのパノラマ画像が、近くのパノラマ画像へ結合され得る。現実的な結合を生成するために、壁またはブッシュのような障害物が、考慮されるべきである。この点に関し、その間に見通し線が存在するパノラマ画像のみが結合されるべきである。したがってユーザは、あたかも、実際の3D空間をナビゲートしているかのように、パノラマ画像を介してナビゲートし得、存在するあらゆる障害物を回避する。
【００１７】
通りに沿ったパノラマ画像のために、結合性は、画像のポジションおよび角度に大部分基づいて決定され得る。たとえば、車両が通りを駆け下りると、車両から画像がキャプチャされ得る。画像は走行中に、または、車両がある距離を移動すると規則的なインタバルで、キャプチャされ得る。デバイス上のセンサを使用して、画像がキャプチャされた瞬間において、ポーズおよびロケーション情報が、各画像に関連付けられ得る。この方式で、通りに沿ってキャプチャされた画像は、一般に、クリアな経路を辿る。そのため、視覚特徴を考慮することなく、画像のポーズおよびロケーション情報を使用して、近隣の画像が、自動的に空間的に結合され得る。言い換えれば、道路に沿って互いに隣にあるパノラマ画像が結合され得る。2つの道路の交差点におけるパノラマ画像もまた同様に、空間的に結合され得る。あるいは、画像がキャプチャされた時間における順序が、画像を空間的に自動的に結合するために使用され得る。しかしながら、処理をガイドするための通りのないパノラマ画像の集合の場合、距離、ポーズ、共通の特徴、共有される見通し線、形状などのような情報が、パノラマ画像間の結合性を正確かつ迅速に決定するために使用され得る。
【００１８】
2つのパノラマ画像間の結合性を決定するために、第1のパノラマ画像および第2のパノラマ画像が選択され得る。第1のパノラマ画像は、第1のロケーションからキャプチャされ得、第2のパノラマ画像は、第1のロケーションの近く、たとえば、多かれ少なかれ数メートル以内にある第2のロケーションからキャプチャされ得る。第1および第2のパノラマ画像は、ロケーション情報およびポーズ情報に関連付けられ得る。ロケーションおよびポーズ情報は、互いに関連する第1および第2のパノラマ画像のポジションを決定するために使用され得る。
【００１９】
パノラマ画像のポジションがいったん選択されると、第1のパノラマ画像および第2のパノラマ画像のフレームが識別され得る。識別されたフレームは、第1のロケーションと第2のロケーションとの間の直線経路の周囲に集められ得、フレームが存在するそれぞれのパノラマ画像のキャプチャロケーションに対する方向にポジションされ得る。この点に関し、2つのパノラマ画像間のフレームは、それぞれのパノラマ画像に対して同じポジションにあり得る。例として、それぞれのキャプチャロケーションから測定されるように、フレームは、ゼロ度と180度との間の角距離をカバーし得る。
【００２０】
各フレーム内の第1のパノラマ画像および第2のパノラマ画像の視覚特徴のセットが識別され得る。フレーム内および互いに関連する識別された視覚特徴のロケーションもまた識別され得る。視覚特徴は、任意の数の物体認識技術を使用して識別され得る。
【００２１】
第1のパノラマ画像に関するフレームにおいて識別された視覚特徴は、マッチする任意の特徴を識別するために、第2のパノラマ画像に関するフレームにおいて識別された視覚特徴と比較され得る。2つの視覚特徴間のマッチは、これら視覚特徴が、同じ物体または物体の一部を表すことを示し得る。
【００２２】
結合性は、第1のパノラマ画像と第2のパノラマ画像との間に見通し線が存在するか否かに基づき得る。言い換えれば、第1のパノラマ画像と第2のパノラマ画像との間に見通し線が存在するのであれば、第1および第2のパノラマ画像は結合され得る。
【００２３】
第1のパノラマ画像と第2のパノラマ画像との間の見通し線のための信頼度レベルを決定するために、マッチする視覚特徴のポジションが評価され得る。第1のパノラマ画像と第2のパノラマ画像との間に見通し線が存在し得、マッチする視覚特徴は、第1のパノラマ画像および第2のパノラマ画像に対して同じまたは類似の方向にポジションされる。したがって、2つの画像がキャプチャされたロケーションから発し、マッチする視覚特徴の所与のペアに向かって延びる光線が、同じまたは類似の方向を指すか否かに基づいて、結合性の信頼度レベルが決定され得る。マッチする視覚特徴の所与のペアのための光線が、同じまたは類似の方向を指すのであれば、これら光線が、反対のまたは反対に近い方向を指す場合よりも、信頼度レベルはより高くなり得る。
【００２４】
信頼度レベルはさらに、マッチする視覚特徴の各ペアへ与えられた重みに基づき得る。一例において、マッチする視覚特徴の所与のペアは、特徴の推定されたロケーションが、実際のロケーションにどれくらい近いかに基づいて重み付けられ得る。より正確な推定距離を有する視覚特徴のマッチするペアは、より不正確な推定距離を有するものよりも、より高い重みを与えられ得る。他方では、1つまたは両方の推定距離が、実際の差から許容可能な程度よりも異なっているのであれば、視覚特徴のマッチするペアは、誤ったマッチであると考えられ得、無視され得る。
【００２５】
マッチする視覚特徴の所与のペアを重み付ける別の例は、直線経路からの視覚特徴の角距離に基づく。小さな角距離を有するマッチする視覚特徴は、より大きな角距離を有するものよりも高く重み付けられ得る。マッチする視覚特徴の所与のペアに重み付けるさらなる基準は、2つのパノラマ画像の2つのフレーム間のマッチする視覚特徴である識別された特徴のパーセンテージであり得る。
【００２６】
信頼度レベルが、しきい信頼度値を満足するのであれば、第1のパノラマ画像と第2のパノラマ画像との間に見通し線が存在すると判定され得る。そのため、結合は、第1のロケーションと第2のロケーションとの間の直線経路に沿って、第1のパノラマ画像から第2のパノラマ画像へと生成され得る。しかしながら、信頼度レベルが、しきい値を満足しないのであれば、見通し線は存在しないこと、または、むしろ、第1のパノラマ画像のロケーションと第2のパノラマ画像のロケーションとの間に、ある障害物が存在し、これが、これらロケーションの間を人が直接移動することを妨げること、が判定され得る。この例では、第1および第2のパノラマ画像の間で、結合は生成されないことがあり得る。結合は、これら2つの画像間の3次元(3D)関係、または、直線経路に沿って第1のロケーションから第2のロケーションへの空間を介したナビゲーションを模擬する3D移行を識別する情報を含み得る。
【００２７】
パノラマ画像の全体的な集合について、上述した方法を使用して、結合グラフが生成され得る。結合グラフでは、パノラマ画像の各ロケーションは交点であり得、2つのパノラマ画像間の各結合は、エッジであり得る。1つのパノラマ画像は、1つよりも多くの他のパノラマ画像を有する結合を有し得る。結合グラフにおける結合の数は、いくつかの制約を適用することによって低減され得る。制約は、最小スパニングツリーおよび/またはドロネー三角形分割において使用されるものを含み得る。制約を適用することが、結合されていないパノラマ画像の2つの個別のセットを生成するのであれば、パノラマ画像の2つのセットの間の結合グラフにおける少なくとも1つの既存の結合が、除去され得ない。
【００２８】
例示的なシステム
図1および図2は、本明細書に記述された特徴が実施され得る例示的なシステム100を含む。それは、本開示の範囲、または、本明細書に記述された特徴の有用性を限定するものと考慮されるべきではない。この例では、システム100は、1つまたは複数のコンピューティングデバイス110、120、130および140、ならびに記憶システム150を含み得る。1つまたは複数のコンピューティングデバイス110は、1つまたは複数のプロセッサ112、メモリ114、および、汎用コンピューティングデバイスに典型的に存在する他の構成要素を含み得る。1つまたは複数のコンピューティングデバイス110のメモリ114は、1つまたは複数のプロセッサ112によって実行され得る命令116を含む、1つまたは複数のプロセッサ112によってアクセス可能な情報を記憶し得る。
【００２９】
メモリはまた、プロセッサによって、検索、操作、または記憶され得るデータ118を含み得る。メモリは、ハードドライブ、メモリカード、ROM、RAM、DVD、CD-ROM、書込可能、および読取専用メモリのように、プロセッサによってアクセス可能な情報を記憶することが可能な任意の非一時的なタイプからなり得る。
【００３０】
命令116は、プロセッサによって、マシンコードのようにダイレクトに、または、スクリプトのように非ダイレクトに実行されるべき命令の任意のセットであり得る。その点に関し、「命令」、「アプリケーション」、「ステップ」、および「プログラム」という用語は、本明細書において置換可能に使用され得る。命令は、プロセッサによるダイレクトな処理のために、オブジェクトコードフォーマットで、または、オンデマンドで解釈されるか、または、先行してコンパイルされる独立したソースコードモジュールのスクリプトまたは集合を含む他の任意のコンピューティングデバイス言語で記憶され得る。命令の関数、方法、およびルーチンは、以下により詳細に説明される。
【００３１】
データ118は、命令116に従ってプロセッサ112によって検索、記憶、または修正され得る。たとえば、本明細書に記述された主題は、任意の特定のデータ構造によって限定されないが、データは、コンピュータレジスタに、多くの異なるフィールドおよびレコードを有するテーブルとしてリレーショナルデータベースに記憶され得るか、または、構造化され得る(たとえば、XMLドキュメント)。データはまた、限定されないが、バイナリ値、ASCIIまたはUnicodeのような任意のコンピューティングデバイス読取可能なフォーマットでフォーマットされ得る。さらに、データは、数字、説明文、専用コード、ポインタ、他のネットワークロケーションにおけるような他のメモリに記憶されたデータに対する参照、または、関連データを計算するために関数によって使用される情報のような関連情報を識別するために十分なあらゆる情報を備え得る。
【００３２】
1つまたは複数のプロセッサ112は、市販のCPUのような、任意の従来式のプロセッサを含み得る。あるいは、プロセッサは、ASICまたは他のハードウェアベースのプロセッサのような専用構成要素であり得る。必要ではないが、1つまたは複数のコンピューティングデバイス110は、ビデオのデコード、画像とのビデオフレームのマッチング、ビデオの歪み、歪められたビデオのエンコードなどのような特定のコンピューティング処理を、より高速またはより効率的に実行するための専用のハードウェア構成要素を含み得る。
【００３３】
図1は、コンピューティングデバイス110のプロセッサ、メモリ、および他の要素を、同じブロック内のものとして機能的に例示しているが、プロセッサ、コンピュータ、コンピューティングデバイス、またはメモリは、実際には、同じ物理的ハウジング内に格納され得ることも、されないこともあり得る、多数のプロセッサ、コンピュータ、コンピューティングデバイス、またはメモリを備え得る。たとえば、メモリは、1つまたは複数のコンピューティングデバイス110のものとは異なる1つまたは複数のハウジング内に配置されたハードドライブまたは他の記憶媒体であり得る。したがって、プロセッサ、コンピュータ、コンピューティングデバイス、またはメモリへの参照は、並行して動作することも、しないこともあり得るプロセッサ、コンピュータ、コンピューティングデバイス、またはメモリの集合に対する参照を含むように理解されるであろう。たとえば、コンピューティングデバイス110は、負荷平準化されたサーバファームとして動作するサーバコンピューティングデバイスを含み得る。さらにまた、以下に記述されたいくつかの機能は、単一のプロセッサを有する単一のコンピューティングデバイス上で生じるものとして示されているが、本明細書に記述された主題の様々な態様は、たとえば、ネットワーク180を介して情報を通信する複数のコンピューティングデバイスによって実施され得る。
【００３４】
1つまたは複数のコンピューティングデバイス110は、ネットワーク180の様々なノードにおいて存在し得、ネットワーク180の他のノードとダイレクトおよび非ダイレクトに通信することが可能であり得る。図1〜図2には、ほんの少数のコンピューティングデバイスしか描写されていないが、典型的なシステムは、多数の結合されたコンピューティングデバイスを含み得、各異なるコンピューティングデバイス(ならびに収集デバイス)は、ネットワーク180の異なるノードにあることを諒解されたい。本明細書に記述されたネットワーク180および介在ノードは、様々なプロトコルおよびシステムを使用して相互結合され得、これによって、ネットワークは、インターネット、ワールドワイドウェブ、特別なイントラネット、広域ネットワーク、またはローカルネットワークの一部となることができる。ネットワークは、イーサネット(登録商標)、Wi-FiおよびHTTP、1つまたは複数の会社へ専用であるプロトコル、および前述したものの様々な組合せのような標準的な通信プロトコルを利用し得る。いくつかの利点は、上述したように情報が送信または受信される場合に取得されるが、本明細書に記述された主題の他の態様は、情報の送信のいずれの特定の方式にも限定されない。
【００３５】
例として、1つまたは複数のコンピューティングデバイス110は、記憶システム150と通信することが可能な1つまたは複数のウェブサーバ、ならびにネットワークを経由したコンピューティングデバイス120、130および140を含み得る。たとえば、1つまたは複数のサーバコンピューティングデバイス110は、ユーザ220、230または240のようなユーザへ情報を送信し、コンピューティングデバイス120、130または140のディスプレイ122、132または142のようなディスプレイ上に提示するために、ネットワーク180を使用し得る。この点に関し、コンピューティングデバイス120、130および140は、クライアントコンピューティングデバイスであると考慮され得、以下に記述される特徴のすべてまたはいくつかを実行し得る。
【００３６】
クライアントコンピューティングデバイスの各々は、上述された1つまたは複数のプロセッサ、メモリ、および命令を備え、サーバコンピューティングデバイス110と同様に構成され得る。各クライアントコンピューティングデバイス120、130または140は、ユーザ220、230、240による使用のために意図されたパーソナルコンピューティングデバイスであり得、中央処理装置(CPU)、データと命令を記憶するメモリ(たとえば、RAMおよび内部ハードドライブ)、ディスプレイ122、132、または142のようなディスプレイ(たとえば、スクリーン、タッチスクリーン、プロジェクタ、テレビジョン、または情報を表示するように動作可能な他のデバイスを有するモニタ)、およびユーザ入力デバイス124(たとえば、マウス、キーボード、タッチスクリーン、またはマイクロホン)のように、パーソナルコンピューティングデバイスに関連して通常使用される構成要素のすべてを有し得る。クライアントコンピューティングデバイスはまた、ビデオストリームを記録するためのカメラ、スピーカ、ネットワークインターフェースデバイス、および、これら要素を互いに結合するために使用される構成要素のすべてを含み得る。
【００３７】
クライアントコンピューティングデバイス120、130および140は各々、フルサイズのパーソナルコンピューティングデバイスを備え得るが、これらは、代わりに、インターネットのようなネットワークを介して、サーバと、ワイヤレスにデータを交換することが可能なモバイルコンピューティングデバイスを備え得る。例としてのみ、クライアントコンピューティングデバイス120は、モバイル電話であり得るか、または、ワイヤレス対応PDA、タブレットPC、または、インターネットを経由して情報を取得することが可能なネットブックのようなデバイスであり得る。別の例では、クライアントコンピューティングデバイス130は、ヘッドマウント型のコンピューティングシステムであり得る。例として、ユーザは、小型キーボード、キーパッド、マイクロホンを使用して、カメラを用いて視覚信号を使用して、または、タッチスクリーンを使用して情報を入力し得る。
【００３８】
記憶システム150は、様々なタイプの情報を記憶し得る。以下により詳細に記述されるように、記憶システム150は、画像またはビデオのような様々なフォーマットの視覚的な媒体を記憶し得る。記憶システム150にも記憶され得るいくつかの画像またはビデオは、ナビゲーション経験におけるシーケンスの一部であり得る。これらの画像またはビデオは、画像を検索するために使用され得る画像識別子、画像が生成された時間、画像が撮られたロケーション、どの角度から画像が見られているか、および画像フォーマット(JPEG、TIFFなど)のような他の情報に関連付けられた画像ファイルの一部であり得る。画像ファイルは、画像がキャプチャされた日および時間のような情報を備えたタイムスタンプを含み得る。画像ファイルはまた、(緯度および経度または他のロケーション座標のような)ロケーションを示す地理的ロケーション情報と、画像がキャプチャされた方位情報(ポーズ)とを含むポーズ情報を含み得る。
【００３９】
記憶システム150は、画像、画像ロケーションデータ、画像ポーズ情報、3D形状データ、および画像またはビデオを分析および操作するためのアルゴリズムを記憶し得る。例として、ロケーション情報は、緯度/経度座標を含み得る。画像が、地球に対して現実的にポーズを取られる(または、向けられる)ことができるように、画像のポーズが決定され得るか、または知られ得る。記憶された画像のうちの少なくともいくつかは、180度よりも大きな視野を有するパノラマ画像を含み得る。記憶された画像のうちのいくつかは、360度の視野を有する球状のパノラマ画像を含み得る。球状のパノラマ画像のために、ポーズ情報は、パノラマ画像のどの部分が、上、下、北、南、東、および/または西を指しているのかを示し得る。3D形状データは、画像の少なくともいくつかに描写されたロケーションにおける物理的な特徴を識別する3次元メッシュおよび/またはポイントを含み得る。画像は、類似のロケーションにおいてキャプチャされたこと、または、類似の特徴を有することに基づいて、集合として体系化され記憶され得る。画像間の結合は、記憶システム150にもまた同様に記憶され得る。
【００４０】
メモリ114と同様に、記憶システム150は、ハードドライブ、メモリカード、ROM、RAM、DVD、CD-ROM、書込可能、および読取専用メモリのように、サーバ110によってアクセス可能な情報を記憶することが可能な任意のタイプのコンピュータ化されたストレージであり得る。それに加えて、記憶システム150は、分散記憶システムを含み得、ここで、データは、同じまたは異なる地理的ロケーションに物理的に配置され得る複数の異なる記憶デバイスに記憶される。記憶システム150は、図1に示されるようにネットワーク180を経由してコンピューティングデバイスへ結合され得、および/または、コンピューティングデバイス110〜140(図示せず)のうちのいずれかにダイレクトに結合され得る、または、組み込まれ得る。
【００４１】
例示的な方法
上述され図面に例示された動作に加えて、様々な動作が次に記述される。以下の動作は、以下に記述される正確な順序で実行される必要はない。むしろ、様々なステップが、異なる順序でまたは同時に取り扱われ得、ステップはまた、追加または省略され得る。
【００４２】
図3に示されるように、ロケーションAからキャプチャされた第1のパノラマ画像310は、近隣のパノラマ画像への結合性を決定するために選択され得る。ロケーションB322からキャプチャされた近くの第2のパノラマ画像320が選択され得る。第1および第2のパノラマ画像は、ロケーション情報およびポーズ情報に関連付けられ得る。第1および第2のパノラマ画像は、第1および第2のロケーションのそれぞれからの完全な360度の視野を有する球状のパノラマ画像であり得る。第1および第2のパノラマ画像によってキャプチャされた空間の3D形状は既知であり得る。あるいは、空間の3D形状はまた、未知であり得る。互いに関連する第1および第2のパノラマ画像のポジションは、各パノラマ画像に関連付けられたロケーションおよびポーズ情報を使用して決定され得る。
【００４３】
パノラマ画像のポジションがいったん選択されると、第1のパノラマ画像および第2のパノラマ画像のフレームが識別され得る。したがって、図3に移って示すように、決定されたポジションを使用して、第1のパノラマ画像310における第1のフレーム330が選択され得る。選択された第1のフレーム330は、第2のパノラマ画像320に隣接した半球内であり得、ロケーションAとロケーションBとの間の直線経路340の周囲に集められ得る。第2のパノラマ画像320上の第2のフレーム350も選択され得る。第2のフレーム350は、直線経路340の周囲に集められ得る。第2のフレーム350は、ロケーションAに反対の半球において、第2のパノラマ画像320の一部を囲み得る。
【００４４】
図4に示されるように、第1のパノラマ画像310における第3のフレーム430もまた選択され得る。第3のフレーム430は、ロケーションBに反対の半球において、直線経路440の周囲に集められ得る。それに加えて、第2のパノラマ画像320上の第4のフレーム450が選択され得る。第4のフレーム450は、第1のパノラマ画像310に隣接する半球において、直線経路440の周囲に集められ得る。第1のフレーム330、第2のフレーム350、第3のフレーム430、および第4のフレーム450は、たとえば、45度または90度のように、それぞれのキャプチャロケーションから測定されるようなゼロ度と180度との間の角距離をカバーし得る。
【００４５】
各フレーム内の第1のパノラマ画像および第2のパノラマ画像の視覚特徴のセットが識別され得る。第1のフレーム330内の第1のパノラマ画像310の視覚特徴の第1のセットが識別され得る。第2のフレーム350内の第2のパノラマ画像320の視覚特徴の第2のセットもまた、同様に識別され得る。視覚特徴の第3および第4のセットは、第3のフレーム430および第4のフレーム450それぞれにおいて識別され得る。視覚特徴は、ライン、コーナ、テクスチャなどを含み得る。フレーム内の、互いに関連する識別された視覚特徴のロケーションもまた、同様に決定され得る。視覚特徴は、任意の数の物体認識技術を使用して識別され得る。
【００４６】
第1のパノラマ画像に関するフレームにおいて識別された視覚特徴は、マッチするいずれかの特徴を識別するために、第2のパノラマ画像に関するフレームにおいて識別された視覚特徴と比較され得る。この点に関し、視覚特徴の第1のセットは、視覚特徴の第2のセットと比較され得、視覚特徴の第3のセットは、視覚特徴の第4のセットと比較され得る。それに加えて、マッチするいずれかの特徴を識別するために、視覚特徴の第2のセットが、視覚特徴の第3のセットと比較され得る。2つの視覚特徴間のマッチは、視覚特徴が、同じ物体または物体の一部を表すことを示し得る。マッチする視覚特徴は、たとえば、対応するポジションにおいて、または、他の任意の既知の視覚特徴マッチングアルゴリズムにおいて、マッチする、または、対応する物体、パターン、テクスチャ、色、形状などを含み得る。
【００４７】
図5A〜図5Dに示されるように、第1のパノラマ画像と第2のパノラマ画像との間の見通し線のための信頼度レベルは、マッチする視覚特徴のポジションを評価することによって決定され得る。見通し線のための信頼度レベルは、パノラマ画像のキャプチャロケーションから、マッチする視覚特徴の所与のペアへ投じられた光線が、第1のパノラマ画像と第2のパノラマ画像との間のエリアにおいて交差するか否かに基づいて決定され得る。図5Aに示されるように、マッチする視覚特徴の所与のペアの光線が、第1のパノラマ画像と第2のパノラマ画像との間のエリアの外部で交差するのであれば、信頼度レベルは、図5Bに示されるように、光線が、パノラマ画像間のエリアにおいて交差する場合よりも高くなり得る。
【００４８】
図5Aに示されるように、光線は、第1のパノラマ画像310においてロケーションAから視覚特徴510へ、第2のパノラマ画像320においてロケーションBから視覚特徴520へ投じられ得る。図5Aにおける光線は、同じ方向を指しているので、見通し線のための信頼度レベルは、増加され得る。一方、図5Bに示されるように、光線は、第1のパノラマ画像310においてロケーションAから別の視覚特徴512へ、第2のパノラマ画像320においてロケーションBから別の視覚特徴522へ投じられ得る。図5Bにおける光線は、近くの反対方向を指すので、見通し線のための信頼度レベルは、減少され得る。
【００４９】
決定された信頼度レベルはさらに、マッチする視覚特徴の各ペアへ与えられた重みに基づき得る。マッチする視覚特徴の所与のペアを重み付ける1つの手法は、所与のペア同士の類似度のレベルに基づく。たとえば、マッチする視覚特徴の所与のペア同士の類似度が高くなると、マッチが良好である可能性がより高くなる。
【００５０】
マッチする視覚特徴の所与のペアを重み付ける別の手法は、再投影エラー、または、推定された特徴の距離が実際の距離にどのくらい近いのかに基づく。図5Cに示されるように、推定されたロケーションを決定するために、光線が、ロケーションAから、視覚特徴の第1のセットにおける特徴へ投じられ得る。別の光線が、ロケーションBから、視覚特徴の第2のセットにおけるマッチする特徴へ投じられ得る。光線530の交差、または、ほとんどの例では、実際に交差しない互いに最も近い光線同士の間のポイントが、推定された特徴のロケーションであり得る。ロケーションAおよびロケーションBに関連する特徴の実際の距離が、知られ得るか、または、第1および第2のパノラマ画像の既知の3D形状データ、または、これら画像のロケーションに基づいて決定され得る。したがって、ロケーションAと交差との間の推定された距離540(または、光線間のポイント)が決定され得、ロケーションAと特徴との間の実際の距離と比較され得る。同じことが、ロケーションBからの推定された距離542についても行われ得る。マッチする視覚特徴の所与のペアはその後、推定された距離540、542が実際の距離にどれくらい近いかに基づいて重み付けられ得る。より正確に推定された距離を有するマッチする視覚特徴は、より不正確に推定された距離を有するものよりもより重み付けられ得る。しかしながら、これら光線が、互いの最小しきい距離内に到達しない(たとえば、これら光線が、互いに遠すぎる)のであれば、または、1つまたは両方の推定された距離が、実際の差からの許容可能な程度よりも異なっているのであれば、マッチは、誤ったマッチであると考慮され得、無視され得る。
【００５１】
マッチする視覚特徴の所与のペアの重み付けはまた、マッチする視覚特徴の所与のペアの方向において投じられた2つの光線間の最も近いポイントにおける角度差に基づき得る。2つの光線が実際に交差するのであれば、角度差はゼロである。2つの光線が交差からより離れると、対応する視覚特徴間のマッチは、貧弱な品質となる。したがって、対応する光線が、より高い角度差を有している、マッチする視覚特徴のペアへ、より低い重みが割り当てられ得る。
【００５２】
マッチする視覚特徴の所与のペアを重み付ける別の例は、直線経路からの視覚特徴の角距離に基づく。図5Dに示されるように、マッチする特徴の角距離は、光線をロケーションAからマッチする特徴550、552、554へ投じ、光線と直線経路340との間の角度を測定することによって決定され得る。小さな角距離を有するマッチする視覚特徴は、より大きな角距離を有するものよりも高く重み付けられ得る。
【００５３】
信頼度レベルが、さらに、識別された特徴のうちの何パーセントが、マッチする視覚特徴であるかに基づいて決定され得る。マッチする視覚特徴のパーセンテージと信頼度レベルとの関係は、マッチする視覚特徴の所与のペアの重み、マッチする視覚特徴の絶対数、第1および第2のパノラマ画像間の距離、および、推定された特徴ロケーションの残余誤差のような他の要因に基づき得る。パーセンテージは小さいが、直線経路からの小さな角距離内で、高いパーセンテージでマッチする視覚特徴が存在するのであれば、信頼度レベルは高くなり得る。同じ手法で、マッチする視覚特徴の絶対数が高いのであれば、信頼度レベルは、マッチする視覚特徴の低いパーセンテージにもかかわらず、やはり高くなり得る。同じことが、パノラマ画像間の距離が長い場合、または、推定された特徴ロケーションの残余誤差が低い場合についても言える。
【００５４】
2つの画像間の見通し線のための最終的な信頼度レベルは、上記のうちの任意の組合せに基づき得る。この点に関し、重みは、総和、重み付けられた総和として、または、重み付けられた値を組み合わせる他の任意の既知の技術を使用して、ともに組み合わされ得る。
【００５５】
最終的な信頼度レベルが、しきい値を満足するのであれば、第1のパノラマ画像310と第2のパノラマ画像320との間に見通し線が存在することが判定され得、第1のパノラマ画像310から第2のパノラマ画像320へ、第1のロケーションと第2のロケーションとの間の直線経路340に沿って結合が生成され得る。しかしながら、最終的な信頼度レベルがしきい値を満足しないのであれば、見通し線が存在しないこと、または、むしろ、第1のパノラマ画像のロケーションと第2のパノラマ画像のロケーションとの間に、ある障害物が存在し、これが、これらロケーションの間を人が直接移動することを妨げることが判定され得る。結合は、これら2つの画像間の3次元(3D)関係、および、直線経路に沿って第1のロケーションから第2のロケーションへの空間を介したナビゲーションを模擬する3D移行を識別する情報を含み得る。この点に関し、各結合は、2つの画像間のナビゲーション経路を表し得る。
【００５６】
前述した特徴が、パノラマ画像の集合全体について実行される場合、結合グラフが生成され得る。図6に示されるように、結合グラフ600では、各ロケーションA、B、C、D、E、Fはロケーションに対応しており、パノラマ画像は、交点としてマップされ得、2つのパノラマ画像間の各結合610、620、630、640、650、660、670、680は、エッジであり得る。上述した特徴を使用して決定されたように、画像間に見通し線が存在する限り、1つのパノラマ画像は、1つよりも多くの他のパノラマ画像との結合を有し得る。集合におけるパノラマ画像が密に結合されている場合、グラフは、過剰結合となり得、すべてのパノラマ画像間で、大量の視覚特徴を共有し得る。図7に示されるように、チャレンジは、パノラマ画像の集合をシーケンシャルな方式で通過する現実的なナビゲーション経路となり得る結合を生成することとなる。
【００５７】
結合グラフにおける結合の数を低減するために、いくつかの制約が使用され得る。制約は、最小スパニングツリーおよび/またはドロネー三角形分割において使用されるものを含み得る。それに加えて、または、その代わりに、制約は、パノラマ画像毎に、あらかじめ決定された数の結合のみを生成すること、あらかじめ決定された距離未満の結合を生成すること、1つの冗長レイヤのみを許可すること、および/または、ノードの所与のペア間の距離を最小化すること、を含み得る。制約は、一連のさらに多くの限定的な反復に適用され得る。あるいは、結合の数を低減するために使用される制約は、上記記述された方法の最初における結合の形成への制約として設定され得る。その結果、図7に示されるように、結合620および650は、新たな、さほど密ではなく結合された結合グラフ700を生成するために、結合グラフ600における結合の数を低減するために除去され得る。
【００５８】
制約を適用することが、結合されていないパノラマ画像の2つの個別のセットを生成するのであれば、パノラマ画像の2つのセットの間の結合グラフにおける少なくとも1つの既存の結合が、除去されないことがある。あるいは、集合におけるすべてのパノラマ画像が、集合における少なくとも1つの他のパノラマ画像へ結合されることを保証するために、さほど限定的ではない制約が適用され得る。たとえば、結合680が結合グラフ700から除去されたのであれば、ロケーションFは、他の任意のロケーションへの結合を有さないであろう。したがって、制約を適用することが、結合680を除去することであれば、ロケーションFとの少なくとも1つの結合を保つために、結合680のために例外が作成され得る。
【００５９】
図8は、サーバコンピューティングデバイス110のような1つまたは複数のコンピューティングデバイスによって実行され得る、上述された態様のいくつかに従う例示的なフロー図800である。この例では、ブロック802において、第1のロケーションから撮られた第1の画像と、第2のロケーションから撮られた第2の画像とが選択され得る。その後、ブロック804において、第2のロケーションに関連する第1のロケーションのポジションが決定され得る。ブロック806において、第1の画像に関する第1のフレームと、第2の画像に関する第2のフレームとが選択され得る。第1のフレームおよび第2のフレームは、第1のポジションおよび第2のポジションそれぞれに対して同じ方向にある。ブロック808において、視覚特徴の第1のセットと、視覚特徴の第2のセットとが、第1のフレームおよび第2のフレームそれぞれにおいて識別され得る。同様の方式で、ブロック810において、第1の画像に関する第3のフレームと、第2の画像に関する第4のフレームとが選択され得、ブロック812において、視覚特徴の第3および第4のセットが、第3および第4のフレームそれぞれにおいて識別され得る。ブロック814において、第1のフレームと第2のフレームとの間、および第3のフレームと第4のフレームとの間でいくつかのマッチする視覚特徴が、決定され得る。ブロック816において、マッチする視覚特徴に基づいて、第1の画像と第2の画像との間の見通し線のための信頼度レベルが、決定され得る。ブロック818において、信頼度レベルに従って、第1の画像から第2の画像へのナビゲーション経路が生成され得る。
【００６０】
図9は、サーバコンピューティングデバイス110のような1つまたは複数のコンピューティングデバイスによって実行され得る、上述された態様のいくつかに従う別の例示的なフロー図900である。この例では、ブロック902において、複数の画像が選択され得る。ブロック904において、複数の画像における画像のすべてのペアについて、画像の各ペア間の見通し線のための信頼度レベルが決定され得る。ブロック906において、画像の各ペアのための信頼度レベルに従って、画像の1つまたは複数のペア間のナビゲーション経路が生成され得る。したがって、ブロック908において、結合グラフが生成され得る。ここでは、各画像は、結合グラフにおける交点であり、各ナビゲーション経路は、結合グラフにおけるエッジである。
【００６１】
ユーザ220のようなユーザは、人が世界中を歩き回るように、パノラマによって描写されたエリアを仮想的に探索するために、パノラマまたはパノラマの集合を使用し得る。ユーザ220は、明瞭な見通し線があるパノラマ間を移動し、壁のような物体によって妨害される経路を回避し得る。パノラマ間で形成された結合は、これら2つの画像間の3次元(3D)関係、および、直線経路に沿って第1のロケーションから第2のロケーションへの空間を介したナビゲーションを模擬する3D移行を識別する情報を含み得る。したがって、ユーザ220は、第1のパノラマ310で開始し、第1のパノラマと第2のパノラマとの間に見通し線がある場合、第2のパノラマ320へナビゲートする。第1のパノラマ310と第2のパノラマ320との間に見通し線がないのであれば、結合はなく、ユーザ220は、ちょうど、妨害がある場合、人が、第1のロケーションから第2のロケーションへナビゲートできなくなるように、第1のパノラマから第2のパノラマへナビゲートすることができない。
【００６２】
上述された特徴は、より現実的なユーザ経験を生成する、画像間の結合を、迅速かつ正確に生成するために使用され得る。これらの結合は、ユーザのために、2つのパノラマ画像によって描写された2つのロケーションの間のナビゲーションを良好にモデル化し得る。パノラマ画像におけるマッチする視覚特徴をロケーションおよびポーズ情報とともに使用することを通じて、共通の見通し線を有するパノラマ画像が結合される。一方、壁やブッシュのように、人間がそこを通って歩かない1つまたは複数の障害物が間にあるパノラマ画像は結合されない。パノラマ画像の集合においてこれら結合を生成することによって生成される、結果として得られるグラフは、あたかも、人がパノラマ画像に描写された空間を通って実際に歩いているかのように、パノラマ画像によって描写されたロケーションを仮想的に探索するために使用され得る。それに加えて、記述された特徴は、ユーザが、よりシーケンシャルな方式で、パノラマ画像を通じてナビゲートすることを可能にするためのパノラマ画像間の結合の数を最小化する。したがって、これら特徴は、ユーザが、ロケーションを仮想的により容易にナビゲートできるように、地理的に近いパノラマ画像のグループを結合するための迅速かつ自動的な手法を提供する。
【００６３】
本明細書における発明は、特定の実施形態を参照して記述されているが、これら実施形態は、本発明の原理および応用の単なる例示であることが理解されるべきである。したがって、例示的な実施形態に対して多くの修正がなされ得、添付された特許請求の範囲によって定義されるような本発明の精神および範囲から逸脱することなく、他の構成が考案され得ることが理解されるべきである。
【符号の説明】
【００６４】
100  システム
110  サーバコンピューティングデバイス
112  プロセッサ
114  メモリ
116  命令
118  データ
120  クライアントコンピューティングデバイス
122  ディスプレイ
124  ユーザ入力デバイス
130  クライアントコンピューティングデバイス
132  ディスプレイ
140  クライアントコンピューティングデバイス
142  ディスプレイ
150  記憶システム
180  ネットワーク
220  ユーザ
230  ユーザ
240  ユーザ
310  第1のパノラマ画像
320  第2のパノラマ画像
322  ロケーションB
330  第1のフレーム
340  直線経路
350  第2のフレーム
430  第3のフレーム
440  直線経路
450  第4のフレーム
510  視覚特徴
512  別の視覚特徴
520  視覚特徴
522  別の視覚特徴
530  光線
540  推定された距離
542  推定された距離
550  マッチする特徴
552  マッチする特徴
554  マッチする特徴
600  結合グラフ
610  結合
620  結合
630  結合
640  結合
650  結合
660  結合
670  結合
680  結合
700  結合グラフ
【要約】
本開示の態様は、画像間のナビゲーション経路を生成するステップに関連する。第1のロケーション(312)から撮られた第1の画像(310)と、第2のロケーション(322)から撮られた第2の画像(320)とが選択され得る。第2のロケーション(322)に関連する第1のロケーション(312)のポジションが決定され得る。このポジションに基づいて、第1および第2の画像の第1および第2のフレーム(330、350)が選択され得る。第1および第2の画像フレーム(330、350)の各々の視覚特徴の第1および第2のセットが識別され得る。視覚特徴の第1のセットと、視覚特徴の第2のセットとの間のマッチする視覚特徴(510、520)が決定され得る。マッチする視覚特徴(510、520)の1つまたは複数のポジションを評価することによって、第1および第2の画像(310、320)間の見通し線のための信頼度レベルが決定され得る。少なくとも信頼度レベルに基づいて、第1の画像(310)から第2の画像(320)へのナビゲーション経路(620)が生成される。【図１】
0006353175.tif 000002
【図２】
0006353175.tif 000003
【図３】
0006353175.tif 000004
【図４】
0006353175.tif 000005
【図５Ａ】
0006353175.tif 000006
【図５Ｂ】
0006353175.tif 000007
【図５Ｃ】
0006353175.tif 000008
【図５Ｄ】
0006353175.tif 000009
【図６】
0006353175.tif 000010
【図７】
0006353175.tif 000011
【図８】
0006353175.tif 000012
【図９】
0006353175.tif 000013