(57)【特許請求の範囲】
【請求項１】
カメラでキャプチャされたシーンのクエリ画像を受信するステップと、
データベースから前記シーンの複数の参照画像を受信するステップであって、各参照画像は、前記参照画像がキャプチャされたときのカメラの位置である関連位置推定値を有し、前記各参照画像の関連位置推定値は、前記参照画像がキャプチャされたときのカメラの方位である関連方位を含まない、ステップと、
前記クエリ画像および前記複数の参照画像に基づいて、前記クエリ画像に関するカメラ中心の未知の位置と各参照画像に関する参照カメラ中心との間の方向を表す方向ベクトルを生成するステップと、
前記方向ベクトルおよび各参照画像の前記関連位置推定値を使用して、6自由度を有する前記カメラの姿勢を判断するステップと
を含む方法。
【請求項２】
前記クエリ画像に関する前記カメラ中心と各参照画像に関する前記参照カメラ中心との間の方向を表す前記方向ベクトルを生成するステップは、ホモグラフィ、エッセンシャル行列、およびファンダメンタル行列のうちの少なくとも1つを使用するステップを含む、請求項1に記載の方法。
【請求項３】
6自由度を有する前記カメラの前記姿勢は、前記方向ベクトルおよび各参照画像の前記関連位置推定値を使用して3点姿勢問題を解くことによって判断される、請求項1に記載の方法。
【請求項４】
前記データベースから前記シーンの前記複数の参照画像を受信するステップは、
前記クエリ画像がキャプチャされたときの前記カメラの概略位置を使用して、参照画像の第1のセットを生成するステップと、
前記クエリ画像中の特徴を各参照画像中の特徴とエピポーラ幾何の推定を使用してマッチングすることによって、参照画像の前記第1のセットをフィルタ処理して、前記複数の参照画像を生成するステップと
を含む、請求項1に記載の方法。
【請求項５】
各参照画像は、前記参照画像がキャプチャされたときのカメラキャリブレーション情報である関連する内部カメラキャリブレーションを有し、前記方向ベクトルを生成するステップは、各参照画像の前記関連する内部カメラキャリブレーションを使用する、請求項1に記載の方法。
【請求項６】
カメラでキャプチャされたシーンのクエリ画像を受信することが可能な第1のインターフェースと、
データベースから前記シーンの複数の参照画像を受信することが可能な第2のインターフェースであって、各参照画像は、前記参照画像がキャプチャされたときのカメラの位置である関連位置推定値を有し、各参照画像の前記関連位置推定値は、前記参照画像がキャプチャされたときのカメラの方位である関連方位を含まない、第2のインターフェースと、
前記第1のインターフェースからの前記クエリ画像および前記第2のインターフェースからの前記複数の参照画像を受信するように結合されたプロセッサであって、前記クエリ画像および前記複数の参照画像に基づいて、前記クエリ画像に関するカメラ中心の未知の位置と各参照画像に関する参照カメラ中心との間の方向を表す方向ベクトルを生成し、前記方向ベクトルおよび各参照画像の前記関連位置推定値を使用して、6自由度を有する前記カメラの姿勢を判断するように構成されたプロセッサと
を含む装置。
【請求項７】
前記装置は、前記カメラをさらに含み、前記第1のインターフェースは、前記カメラと前記プロセッサとの間のインターフェースであり、前記第2のインターフェースは、ワイヤレスインターフェースである、請求項6に記載の装置。
【請求項８】
前記第1のインターフェースは、ワイヤレスインターフェースであり、前記第2のインターフェースは、前記データベースと前記プロセッサとの間のインターフェースである、請求項6に記載の装置。
【請求項９】
前記プロセッサは、ホモグラフィ、エッセンシャル行列、およびファンダメンタル行列のうちの少なくとも1つを使用して、前記クエリ画像に関する前記カメラ中心と各参照画像に関する前記参照カメラ中心との間の方向を表す前記方向ベクトルを生成するように構成される、請求項6に記載の装置。
【請求項１０】
前記プロセッサは、前記方向ベクトルおよび各参照画像の前記関連位置推定値を使用して3点姿勢問題を解くことによって、6自由度を有する前記カメラの前記姿勢を判断するように構成される、請求項6に記載の装置。
【請求項１１】
前記プロセッサは、
前記クエリ画像中の特徴を各参照画像中の特徴とエピポーラ幾何の推定を使用してマッチングすることによって、前記複数の参照画像をフィルタ処理するようにさらに構成される、請求項7に記載の装置。
【請求項１２】
各参照画像は、前記参照画像がキャプチャされたときのカメラキャリブレーション情報である関連する内部カメラキャリブレーションを有し、前記方向ベクトルを生成するステップは、各参照画像の前記関連する内部カメラキャリブレーションを使用する、請求項6に記載の装置。
【請求項１３】
カメラでキャプチャされたシーンのクエリ画像を受信するための手段と、
データベースから前記シーンの複数の参照画像を受信するための手段であって、各参照画像は、前記参照画像がキャプチャされたときのカメラの位置である関連位置推定値を有し、各参照画像の前記関連位置推定値は、前記参照画像がキャプチャされたときのカメラの方位である関連方位を含まない、手段と、
前記クエリ画像および前記複数の参照画像に基づいて、前記クエリ画像に関するカメラ中心の未知の位置と各参照画像に関する参照カメラ中心との間の方向を表す方向ベクトルを生成するための手段と、
前記方向ベクトルおよび各参照画像の前記関連位置推定値を使用して、6自由度を有する前記カメラの姿勢を判断するための手段と
を含む装置。
【請求項１４】
前記クエリ画像に関する前記カメラ中心と各参照画像に関する前記参照カメラ中心との間の方向を表す前記方向ベクトルを生成するための前記手段は、ホモグラフィ、エッセンシャル行列、およびファンダメンタル行列のうちの少なくとも1つを使用する、請求項13に記載の装置。
【請求項１５】
6自由度を有する前記カメラの前記姿勢は、前記方向ベクトルおよび各参照画像の前記関連位置推定値を使用して3点姿勢問題を解くことによって判断される、請求項13に記載の装置。
【請求項１６】
前記データベースから前記シーンの前記複数の参照画像を受信するための前記手段は、前記クエリ画像がキャプチャされたときの前記カメラの概略位置を使用して、参照画像の第1のセットを生成し、前記クエリ画像中の特徴を各参照画像中の特徴とエピポーラ幾何の推定を使用してマッチングすることによって、参照画像の前記第1のセットをフィルタ処理して、前記複数の参照画像を生成する、請求項13に記載の装置。
【請求項１７】
各参照画像は、前記参照画像がキャプチャされたときのカメラキャリブレーション情報である関連する内部カメラキャリブレーションを有し、前記方向ベクトルを生成するための前記手段は、各参照画像の前記関連する内部カメラキャリブレーションを使用する、請求項13に記載の装置。
【請求項１８】
プログラムコードを記憶した非一時的コンピュータ可読記憶媒体であって、
カメラでキャプチャされたシーンのクエリ画像を受信するためのプログラムコードと、
データベースから前記シーンの複数の参照画像を受信するためのプログラムコードであって、各参照画像は、前記参照画像がキャプチャされたときのカメラの位置である関連位置推定値を有し、各参照画像の前記関連位置推定値は、前記参照画像が撮影された際のカメラの方位である関連方位を含まない、プログラムコードと、
前記クエリ画像および前記複数の参照画像に基づいて、前記クエリ画像に関するカメラ中心の未知の位置と各参照画像に関する参照カメラ中心との間の方向を表す方向ベクトルを生成するためのプログラムコードと、
前記方向ベクトルおよび各参照画像の前記関連位置推定値を使用して、6自由度を有する前記カメラの姿勢を判断するためのプログラムコードと
を含む非一時的コンピュータ可読記憶媒体。
【請求項１９】
前記クエリ画像に関する前記カメラ中心と各参照画像に関する前記参照カメラ中心との間の方向を表す前記方向ベクトルを生成するための前記プログラムコードは、ホモグラフィ、エッセンシャル行列、およびファンダメンタル行列のうちの少なくとも1つを使用する、請求項18に記載の非一時的コンピュータ可読記憶媒体。
【請求項２０】
6自由度を有する前記カメラの前記姿勢は、前記方向ベクトルおよび各参照画像の前記関連位置推定値を使用して3点姿勢問題を解くことによって判断される、請求項18に記載の非一時的コンピュータ可読記憶媒体。
【請求項２１】
前記データベースから前記シーンの前記複数の参照画像を受信するための前記プログラムコードは、
前記クエリ画像がキャプチャされたときの前記カメラの概略位置を使用して、参照画像の第1のセットを生成するためのプログラムコードと、
前記クエリ画像中の特徴を各参照画像中の特徴とエピポーラ幾何の推定を使用してマッチングすることによって、参照画像の前記第1のセットをフィルタ処理して、前記複数の参照画像を生成するためのプログラムコードと
を含む、請求項18に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
係属仮出願の相互参照
本出願は、2012年3月2日に出願した「Scene Structure-Based Self-Pose Estimation」という表題の米国仮出願第61/606,209号に対して米国特許法第119条による優先権を主張する、2012年7月12日に出願した「Scene Structure-Based Self-Pose Estimation」という表題の米国出願第13/547,987号の優先権を主張するものであり、それらの両方が本出願の譲受人に譲渡され、参照により本出願に組み込まれている。
【０００２】
本明細書で説明する主題の実施形態は、一般に、位置およびトラッキングに関し、より詳細には、ビジョンベーストラッキングに関する。
【背景技術】
【０００３】
姿勢推定は、既知または未知であり得る環境に対するカメラの外部キャリブレーションを判断するタスクを表す。最近、画像ベース姿勢推定方法が、非常に正確な6自由度(6DOF)姿勢推定を達成するタスクを解くための優れた選択であることが判明してきている。画像ベース姿勢推定は従来から、シーンの何らかの再構成または3Dモデルを必要とする。疎な3Dモデルの使用は、オンライン姿勢推定については正確性および速度の点で有利であるが、これらのモデルの構築は通常、複雑なオフラインプロセスである。したがって、一方では、必要な3Dモデルのスケーラビリティおよびメンテナビリティは、しかしながら依然として未解決の問題である。
【発明の概要】
【課題を解決するための手段】
【０００４】
クエリ画像およびデータベースからの参照画像においてキャプチャされたシーン構造を使用して、姿勢推定が実行される。参照画像の各々は、関連位置推定値を有する。クエリ画像および複数の参照画像に基づいて、クエリ画像に関するカメラ中心の未知の位置と各参照画像に関する参照カメラ中心との間の方向を表す方向ベクトルが生成される。方向ベクトルは、たとえばホモグラフィ、エッセンシャル行列、またはファンダメンタル行列を使用して生成され得る。方向ベクトルおよび各参照画像の関連位置推定値を使用して、6自由度を有する姿勢推定が判断される。姿勢推定は、たとえば、方向ベクトルおよび各参照画像の関連位置推定値を使用して3点姿勢問題を解くことによって判断され得る。
【０００５】
一実装形態では、方法が、カメラでキャプチャされたシーンのクエリ画像を受信するステップと、データベースからシーンの複数の参照画像を受信するステップであって、各参照画像は関連位置推定値を有する、ステップと、クエリ画像および複数の参照画像に基づいて、クエリ画像に関するカメラ中心の未知の位置と各参照画像に関する参照カメラ中心との間の方向を表す方向ベクトルを生成するステップと、方向ベクトルおよび各参照画像の関連位置推定値を使用して、6自由度を有するカメラの姿勢を判断するステップとを含む。
【０００６】
一実装形態では、装置が、カメラでキャプチャされたシーンのクエリ画像を受信することが可能な第1のインターフェースと、データベースからシーンの複数の参照画像を受信することが可能な第2のインターフェースであって、各参照画像は関連位置推定値を有する、第2のインターフェースと、第1のインターフェースからのクエリ画像および第2のインターフェースからの複数の参照画像を受信するように結合されたプロセッサであって、クエリ画像および複数の参照画像に基づいて、クエリ画像に関するカメラ中心の未知の位置と各参照画像に関する参照カメラ中心との間の方向を表す方向ベクトルを生成し、方向ベクトルおよび各参照画像の関連位置推定値を使用して、6自由度を有するカメラの姿勢を判断するように構成されたプロセッサとを含む。
【０００７】
一実装形態では、装置が、カメラでキャプチャされたシーンのクエリ画像を受信するための手段と、データベースからシーンの複数の参照画像を受信するための手段であって、各参照画像は関連位置推定値を有する、手段と、クエリ画像および複数の参照画像に基づいて、クエリ画像に関するカメラ中心の未知の位置と各参照画像に関する参照カメラ中心との間の方向を表す方向ベクトルを生成するための手段と、方向ベクトルおよび各参照画像の関連位置推定値を使用して、6自由度を有するカメラの姿勢を判断するための手段とを含む。
【０００８】
一実装形態では、プログラムコードを記憶した非一時的コンピュータ可読媒体が、カメラでキャプチャされたシーンのクエリ画像を受信するためのプログラムコードと、データベースからシーンの複数の参照画像を受信するためのプログラムコードであって、各参照画像は関連位置推定値を有する、プログラムコードと、クエリ画像および複数の参照画像に基づいて、クエリ画像に関するカメラ中心の未知の位置と各参照画像に関する参照カメラ中心との間の方向を表す方向ベクトルを生成するためのプログラムコードと、方向ベクトルおよび各参照画像の関連位置推定値を使用して、6自由度を有するカメラの姿勢を判断するためのプログラムコードとを含む。
【図面の簡単な説明】
【０００９】
【図１Ａ】シーン構造ベース姿勢推定を使用することが可能なモバイルデバイスの正面を示す図である。
【図１Ｂ】シーン構造ベース姿勢推定を使用することが可能なモバイルデバイスの裏面を示す図である。
【図２】モバイルデバイスがシーン構造ベース姿勢推定のために参照画像を取得するためにデータベースにアクセスするシステムを示すブロック図である。
【図３】画像のデータベースを使用して6DOF姿勢を判断する方法を示すフローチャートである。
【図４】画像のデータベースを使用した6DOF姿勢の判断を概略的に示す図である。
【図５】参照画像のデータベースの生成を概略的に示す図である。
【図６】シーン構造ベース姿勢推定を使用することが可能なモバイルデバイスのブロック図である。
【図７】画像のデータベースを使用して6DOF姿勢を判断することが可能なサーバのブロック図である。
【発明を実施するための形態】
【００１０】
下の図1Aおよび図1Bは、3D再構築の必要なしに6DOF姿勢を判断するためにシーン構造ベース姿勢推定を使用することが可能なモバイルデバイス100の、それぞれ正面、裏面を示す。本明細書で説明するように、クエリ画像およびデータベースからの参照画像においてキャプチャされたシーン構造を使用して、姿勢推定が実行される。参照画像の各々は、関連位置推定値を有する。たとえば、クエリ画像およびこれらの参照画像の各々によって形成されたペアに関して、たとえばSIFT(Scale-Invariant-Feature-Transform)などの画像特徴を使用してエピポーラ幾何が推定される。既知のエピポーラ幾何から、エピポールを取得することができ、エピポールを参照画像の既知の位置とともに、クエリ画像の単一の2D-3D対応として扱うことができる。少なくとも3つの参照画像に基づいて、標準的な3点姿勢問題が使用され得る。クエリカメラの完全な6DOF姿勢は、全体的文脈において、たとえばロバスト解法によるRANSAC(RANdom SAmple Consensus)ベース方式を適用することによって、推定され得る。この手法は、実世界点およびそれらの画像観測値からカメラの姿勢を推定するのとは対照的である。既知の参照カメラ位置は、世界点として扱われ、クエリカメラに対するカメラの配置は、観測値として扱われる。
【００１１】
図1に示すように、モバイルデバイス100は、筐体101、タッチスクリーンディスプレイであり得るディスプレイ102、ならびにスピーカ104およびマイクロフォン106を含む。モバイルデバイス100は、環境を撮像する前方カメラ110をさらに含む。モバイルデバイス100は、たとえばビデオのフレームとして、シーンの画像をキャプチャし、その画像を、データベースからのジオタグ付き参照画像とともに使用して、モバイルデバイス100の位置を判断する。モバイルデバイス100は、ジオタグ付き参照画像を、キャプチャされたクエリ画像とともに使用して、複数のホモグラフィ、エッセンシャル行列またはファンダメンタル行列に基づいて6DOF姿勢推定を判断する。
【００１２】
本明細書で使用される場合、モバイルデバイスは、セルラーもしくは他のワイヤレス通信デバイス、パーソナル通信システム(PCS)デバイス、パーソナルナビゲーションデバイス(PND)、個人情報マネージャ(PIM)、携帯情報端末(PDA)、または他の適したモバイルデバイスなどの任意のポータブル電子デバイスを指す。モバイルデバイスは、ナビゲーション測位信号など、ワイヤレス通信および/またはナビゲーション信号を受信することが可能であり得る。「モバイルデバイス」という用語はまた、衛星信号受信、支援データ受信、および/または位置関連処理がそのデバイスにおいて行われるか、パーソナルナビゲーションデバイス(PND)において行われるかにかかわらず、短距離ワイヤレス、赤外線、有線接続、または他の接続などによって、PNDと通信するデバイスを含むものである。また、「モバイルデバイス」は、その環境の画像(またはビデオ)をキャプチャすることが可能であるワイヤレス通信デバイス、コンピュータ、ラップトップ、タブレットコンピュータなどを含む、すべての電子デバイスを含むものである。
【００１３】
図2は、モバイルデバイス100がワイヤレスネットワーク120を介してリモートサーバ130を使用してデータベース135にアクセスし得るシステムを示すブロック図を示している。データベース135は、ジオタグ付き参照画像を含み得る。ジオタグ付き参照画像の関連セットは、たとえば、画像マッチングに基づいて、またはクエリ画像の大まかな位置推定値を使用して、データベース135に位置付けられ得る。クエリ画像の大まかな位置推定値は、衛星測位システム(SPS)122を使用する大まかなGPS測定またはアクセスポイント124もしくはセルラータワー126などのワイヤレスソースを使用する三辺測量などの従来型の測位技法を使用して、モバイルデバイス100から取得され得る。送信機のSPSシステム122は、エンティティが、地上または上空での自身の位置を、送信機から受信された信号に少なくとも一部基づいて判断することを可能にするように配置される。特定の例では、そのような送信機は地球周回軌道衛星ビークル(SV)に、たとえば、全地球測位システム(GPS)、Galileo、Glonassもしくはコンパスなどの全地球航法衛星システム(GNSS)のコンステレーションまたは他の非全地球システムに位置付けられ得る。したがって本明細書で使用する場合、SPSは1つまたは複数の全地球および/または地域航法衛星システムおよび/または補強システムの任意の組合せを含むことがあり、またSPS信号はSPS信号、SPS様信号、および/またはそのような1つもしくは複数のSPSに関連する他の信号を含んでよい。
【００１４】
モバイルデバイス100はまた、クエリ画像(またはクエリ画像からの特徴セット)をサーバ130に提供することができ、ジオタグ付き参照画像の関連セットを発見する作業負荷は、サーバ130ならびに本明細書で説明する任意の他の所望のプロセスで実行されることになる。代替として、サーバ130は、参照画像のセット、または各参照画像の事前計算済み特徴セットをモバイルデバイス100に提供することができ、モバイルデバイス100は、本明細書で説明するプロセスを実行することができる。さらに、参照画像のデータベース、または参照画像の事前計算済み特徴セットが、モバイルデバイス100に記憶されて、それにより、ネットワーク120を通じてリモートサーバ130にアクセスする必要性を取り除いてもよい。
【００１５】
図3は、画像のデータベースを使用して6DOF姿勢を判断する方法を示すフローチャートである。図示のように、カメラによってキャプチャされたシーンのクエリ画像Iが受信される(202)。クエリ画像は、たとえば、ビデオのフレームであり得る。たとえば、サーバ130が姿勢推定プロセスを実行する場合、クエリ画像Iはサーバ130によって、モバイルデバイス100からネットワーク120を介して受信され得る。モバイルデバイス100が姿勢推定プロセスを実行する場合、クエリ画像Iは、たとえば、モバイルデバイス100中のプロセッサによって、カメラ110から受信され得る。クエリ画像は、関連位置推定値、すなわち、クエリ画像をキャプチャしたカメラ中心の概略位置推定値を有することができ、これは、クエリ画像のキャプチャ時間中またはキャプチャ時間近くに取得され得る。クエリ画像に関連する関連位置推定値は、GPS測定またはワイヤレスソースを使用する三辺測量を含む既知の測位技法を使用して取得されてよく、したがって、測位技法の正確性(たとえば、GPSタイプの測定では10〜50フィート)に限定された概略位置である。
【００１６】
データベースからシーンの複数の参照画像I'(各参照画像は関連位置推定値を有する)が受信される(204)。たとえば、サーバ130が姿勢推定プロセスを実行する場合、複数の参照画像I'は、サーバ130中のプロセッサによって、データベース135から受信され得る。モバイルデバイス100が姿勢推定プロセスを実行する場合、複数の参照画像I'はモバイルデバイス100によって、データベース135からサーバ130およびネットワーク120を介して受信され得る。各参照画像の関連位置推定値は、関連方位を含まないことがある。したがって、たとえば、クエリ画像の関連位置推定値に基づいて、N個の関連画像の第1のセットSが、データベースをフィルタ処理することによって収集され得る。第1のセットSにおける各参照画像は、クエリ画像に関連する位置推定値に近い関連位置推定値を有する。クエリ画像の位置推定値と各参照画像の位置推定値との間の許容可能な距離は、ロケーション(たとえば、グランドキャニオンには、都市の場合よりも大きい距離が使用され得る)、ならびに参照画像の利用可能性(たとえば、参照画像が少ない場合またはシーン構造が遠くにある場合には、より大きい距離が許容可能であり得る)などの要因に依存し得る。たとえば、シーン構造は、それが通常、大きく離れて撮像される場合、遠くにあることがあり、たとえば、自由の女神は通常、ボートから、大きく離れて撮影される。第1のセットSにおける各参照画像は、クエリ画像が取られた位置の近くに位置付けられるので、これらの参照画像の一部は同じシーンを示している可能性が高い。参照画像のセットは、クエリ画像と同じシーンを示す参照画像のみを含むように改良され得る。たとえば、関連画像の第1のセットSは、参照画像の第1のセット中の各参照画像中の特徴とクエリ画像中の特徴を比較し、マッチする特徴を幾何学的に検証することによって、フィルタ処理されて、関連画像の第2のセットS'が生成され得る。例として、クエリ画像および参照画像によって形成されたすべての画像ペアに関して、画像特徴を使用してエピポーラ幾何が推定され得る。特徴マッチングからエラーが生じる可能性があることから、アウトライアー除去のためのロバスト方式が使用され得る。
【００１７】
クエリ画像Iおよび複数の参照画像I'に基づいて、クエリ画像Iに関するカメラ中心の未知の位置と各参照画像I'に関する参照カメラ中心との間の方向を表す3次元(3D)方向ベクトルが生成される(206)。言い換えれば、クエリカメラCと参照カメラC'との間の相対並進が判断される。方向ベクトルは、たとえばファンダメンタル行列、エッセンシャル行列、またはホモグラフィを使用して、クエリ画像Iおよび各参照画像I'から抽出されたエピポーラ幾何に基づいて生成され得る。方向ベクトルおよび各参照画像の関連位置推定値を使用して、6自由度を有するカメラの姿勢を判断する(208)。たとえば、6自由度を有するカメラの姿勢は、方向ベクトルおよび各参照画像の関連位置推定値を使用して3点姿勢問題を解くことによって判断され得る。
【００１８】
図4は、画像のデータベースを使用した6DOF姿勢の判断を概略的に示している。図示のように、クエリ画像Iがキャプチャされ、クエリ画像Iの大まかな位置推定値304を使用して、データベース135から参照画像I'のセットS、306を取得する。
【００１９】
図5は例として、データベース135の生成を概略的に示している。図5は、シーン309において四角によって複数の画像I'A、I'B、I'C、およびI'D(総称して画像I'と呼ばれることがある)が識別される位置とともに建物310、312を含むシーン309の上面図を示している。画像I'ならびに画像が取られたときのカメラの関連位置推定値(pos)がデータベース135に提供され、記憶される。所望される場合、内部カメラキャリブレーションなど、画像I'に関連する追加情報もデータベースに記憶され得る。所望される場合、データベース135は、画像全体自体ではなく、画像I'からの抽出された特徴のみを記憶することができる。
【００２０】
クエリ画像Iおよび参照画像I'のセットSが幾何回復316のために提供される。上記で説明したように、クエリ画像Iの大まかな位置推定値を使用して生成され得る参照画像の初期セットが、たとえばSIFT、SURF(Speeded Up Robust Feature)を使用して抽出された画像IおよびI'からの画像特徴のマッチング318を通じて改良され得る。マッチング318のプロセスは、画像ペア間のエピポーラ幾何を計算する間に実行され得る。モデル推定320は、たとえばファンダメンタル行列F、エッセンシャル行列E、またはホモグラフィHとして、各画像ペアIおよびI'の間の相対姿勢を生成する。
【００２１】
概して、カメラに関する情報が知られていない場合、ファンダメンタル行列Fが決定されてよく、一方で、内部キャリブレーションKがカメラで知られている場合、エッセンシャル行列Eが決定されてよい。加えて、シーンに支配的平面があると仮定され得る場合、誘起されたホモグラフィHが決定され得る。さらに、必要とされる対応の最少数が追加情報とともに減少し、たとえばファンダメンタル行列Fは少なくとも7個必要とし、エッセンシャル行列は5個必要とし、ホモグラフィHは4個のみ必要とする。
【００２２】
ファンダメンタル行列Fによって記述される、画像ペア間、たとえばクエリ画像Iと参照画像I'の各々との間のエピポーラ幾何が、たとえばSIFT(Scale Invariant Feature Transforms)、SURF(Speeded Up Robust Feature)などの画像特徴を使用して推定され得る。2つの画像IおよびI'について、随意のシーン特徴点Xが、Iにおける観測値xおよびI'における観測値x'として示される。観測値xの記述子と観測値x'の記述子とをマッチングすることによって、画像Iと画像I'との間の対応が確立される。多数の画像特徴について、対応のセット全体がこのように取得され得る。クエリ画像とマッチする特徴のしきい値を下回る参照画像がセットSから廃棄され得る。しきい値は、a)示されたシーン、b)用いられた特徴の推定パフォーマンス、およびc)初期マッチの数を含む、いくつかの要素に依存し得る。良好なヒューリスティックは、ファンダメンタル行列F、エッセンシャル行列E、またはホモグラフィHを後に推定するためのアルゴリズムに必要とされる数の対応を少なくとも有するペアを受け入れることであり、たとえば、ホモグラフィは4+1を使用してよく、一方で、標準的な8点アルゴリズムが用いられる場合、ファンダメンタル行列F、エッセンシャル行列Eは8+1を使用してよい。
【００２３】
ファンダメンタル行列Fは、クエリカメラCおよび参照カメラC'の完全固有射影幾何(full intrinsic projective geometry)をカプセル化し、非線形最適化を使用してクエリ画像Iと参照画像I'との間の少なくとも6個の対応から推定され得る。線形最小2乗法では8個の対応が使用され得る。ファンダメンタル行列Fは、画像IおよびI'における単一のシーン点Xiの観測値xiおよびx'iについて、以下が成り立つような3×3行列である。
【００２４】
【数１】
0005946924.tif 000002
【００２５】
代替として、クエリカメラCと参照カメラC'の両方の内部カメラキャリブレーションKおよびK'が知られている場合、次のように正規化座標を取得するためにカメラキャリブレーション逆関数(camera calibration inverse)が点に適用され得る。
【００２６】
【数２】
0005946924.tif 000003
【００２７】
正規化座標から、次のようなファンダメンタル行列Fの特殊形式としてエッセンシャル行列Eが推定され得る。
【００２８】
【数３】
0005946924.tif 000004
【００２９】
エッセンシャル行列Eは、クエリ画像Iと参照画像I'との間の少なくとも5個の対応から推定でき、以下によってファンダメンタル行列Fに関係する。
E=KTFK      式4
【００３０】
画像Iと画像I'との間の対応のセットに誤差が存在するために、ファンダメンタル行列Fまたはエッセンシャル行列Eのいずれかの推定は、RANSACをロバストに用いて実行され得る。
【００３１】
クエリ画像Iと参照画像I'との間のエピポーラ幾何に基づいて、クエリカメラCと参照カメラC'との間の相対並進を判断し、それにより、ファンダメンタル行列、エッセンシャル行列として図4の3D方向ベクトル324を提供することができる。たとえば、Cに対するC'の相対並進に関する情報、すなわち方向ベクトルは、次のように抽出され得る。
【００３２】
Fの右ヌルベクトルはエピポールeであり。これは基本的に、画像Iにおける参照カメラC'の観測値である。事実上、エピポールeは、参照カメラC'がクエリカメラCから見られる場合の方向を表す。クエリカメラCの内部キャリブレーションKによってエピポールeを正規化した後、
【００３３】
【数４】
0005946924.tif 000005
【００３４】
が、参照カメラC'が存在しなければならないクエリカメラCの座標系の方向を表す。すなわち、画像IおよびI'についてエッセンシャル行列Eを推定することが可能である場合、エピポール
【００３５】
【数５】
0005946924.tif 000006
【００３６】
が、Eの右ヌルベクトルとして直接計算され得る。分解の後、符号のあいまいさが存在し、したがって、ファンダメンタル行列Fおよびエッセンシャル行列Eは、方向性のないベクトルを提供する。
【００３７】
方向ベクトル324を導出するためにファンダメンタル行列またはエッセンシャル行列を使用することに加えて、ホモグラフィに基づくモデル推定320が、クエリ画像の未知の位置と各参照画像に関連する推定位置との間の方向ベクトル324を生成するために使用され得る。人工的環境では一般的である支配的平面構造をシーンが有し、クエリカメラCと参照カメラC'の両方の内部キャリブレーションKおよびK'が知られている場合、エピポーラ幾何ではなくホモグラフィを用いて、カメラの互いの相対配置を推定することができる。
【００３８】
単一の物理平面Πを仮定すると、IとI'との間の最低4個の対応が、2DホモグラフィHの推定に十分である。ホモグラフィHは、単一の基礎平面Πに有効なクエリ画像Iと参照画像I'との間の2D射影変換をカプセル化する。Π上の随意のシーン点Xiについて、3×3行列Hは、Iにおける点の観測値
【００３９】
【数６】
0005946924.tif 000007
【００４０】
をI'における点の観測値
【００４１】
【数７】
0005946924.tif 000008
【００４２】
に、以下が成り立つように変換する。
【００４３】
【数８】
0005946924.tif 000009
【００４４】
エピポーラ幾何と同様に、ホモグラフィHは、クエリカメラCと参照カメラC'との間の相対姿勢変化Pを符号化する。
P=[R|t]      式7
【００４５】
上式で、Rおよびtは、それぞれ姿勢変化の回転部分、並進部分を示す。Hがクエリ画像IとI'との間のホモグラフィを示すとすると、次のようになる。
【００４６】
【数９】
0005946924.tif 000010
【００４７】
上式で、dは、クエリカメラCから所与の平面Πまでの距離であり、nは、クエリカメラCに対するΠの法線ベクトルであり、Rおよびtは、クエリカメラCに対する参照カメラC'の相対回転および相対並進である。式8からの行列Hの分解323が実行され、この場合、数値の安定のために、det(H)=1となるように分解前にHが正規化される。結果として、R、t、dおよびnの2つの物理的に可能な解が計算される。
【００４８】
クエリカメラCと参照カメラC'との間の真の並進を、Hから完全に推定することはできない。しかしながら、特定の参照カメラC'の位置を考慮して、tは、クエリカメラCが存在しなければならない方向を定義する。並進tをクエリカメラCの座標系に変換して、以下を取得することができる。
v=-RTt      式9
【００４９】
上式で、vは、クエリカメラCの座標系に対する参照カメラC'の方向ベクトル324を示す。上述した、ファンダメンタル行列またはエッセンシャル行列を使用して取得された方向ベクトル324と同様に、この場合に、ホモグラフィを使用して生成された方向ベクトル324が、6自由度を有するクエリカメラCのロバスト姿勢推定328のために、参照画像I'の位置推定値326とともに使用されてよい。
【００５０】
クエリ画像Iの未知の位置と参照画像I'の各関連位置推定値との間の方向を表す方向ベクトル324および参照画像I'の各々に関連する位置推定値326により、クエリカメラCのロバスト姿勢推定328が、3点姿勢問題を使用して実行され得る。ピンホールカメラモデルの場合、既知のカメラキャリブレーションKにより、画像測定値xiを光線viに変換することが可能になり、それらのペアワイズ角度∠(vi; vj)が測定され得る。ピンホールカメラモデルでは、3つの既知の3D点Xiおよびそれらの対応する画像測定値xiが、3つのペアワイズ角度測定値をもたらす。これらは、カメラのロケーションおよび方位についての有限数の解を計算するのに十分である。解のもっともらしさを判断するために、3D点の第4の観測値が使用される。
【００５１】
しかしながら、ピンホールカメラモデルとは異なり、本ケースは画像空間において作用しない。言い換えれば、光線viは、ファンダメンタル行列Fもしくはエッセンシャル行列Eからのエピポール、またはホモグラフィHから取得された並進方向のいずれかとして取得される参照カメラC'iの推定方向ベクトル
【００５２】
【数１０】
0005946924.tif 000011
【００５３】
である。参照カメラC'iは、既知の3D点Xiを有する。ペアワイズ角度測定値
【００５４】
【数１１】
0005946924.tif 000012
【００５５】
が計算されてよく、これはピンホールカメラの場合と同じ方程式系に導く。3つの既知の参照カメラ位置C'iについて、ペアワイズ3D点距離li,jが計算され得る。さらに、角度θI, jは、対応する方向ベクトル
【００５６】
【数１２】
0005946924.tif 000013
【００５７】
および
【００５８】
【数１３】
0005946924.tif 000014
【００５９】
からわかる。未知数は、クエリカメラCの中心(ピンホールの場合における射影の中心に相当する)とカメラ中心C'iとの間の距離diである。
【００６０】
【数１４】
0005946924.tif 000015
【００６１】
コサインの法則を使用して、3点ペアの各々は、次のような1つの式を与える。
【００６２】
【数１５】
0005946924.tif 000016
【００６３】
式11は、従来型のピンホールカメラモデルの場合と同じ多項式系であり、同じ技法で解くことができ、ここでの違いは、ピンホールカメラモデルの場合に、カメラキャリブレーション行列Kを使用して、画像測定値をベクトル、ひいてはペアワイズユークリッド角度測定値に変換するのに対し、本ケースでは、光線が差分姿勢(differential pose)の並進部分によって定義されることである。
【００６４】
参照カメラC'がクエリカメラCによって見られる方向に符号のあいまいさがある。標準的な3点姿勢アルゴリズムの実装では、方向性のある光線を使用し、カメラ中心の後ろに3D点がある可能性を無視する。この問題を克服する1つの方法は、有効な解として四次式の負の累乗根を考慮して、実装を相応に変更することである。これは、部分的に点が反映された(partially point mirrored)姿勢をもたらす可能性がある。それらは、回転構成要素の否定判断をチェックすることによって検証され得る。代替として、当業者によって知られているような一般化された3点姿勢アルゴリズムは、無視できる追加コストで方向性のない光線において暗示的に効果を発揮し、同じ解を返すので、そのようなアルゴリズムが使用されることもある。
【００６５】
少なくとも3点-光線ペアが、問題を解くために必要であるが、解の物理的なもっともらしさを検証するためには、第4のペアが使用される。したがって、理論的には完全な6-DOF姿勢が、最低4個の参照画像I'を使用してクエリカメラCのために計算され得るが、実際には、10個以上の参照画像I'を使用して問題を解くのが望ましいことがある。その上、ホモグラフィ、エッセンシャル行列およびファンダメンタル行列によってもたらされる方向推定は、2つのあり得る解を提供するので、RANSACを用いるロバスト推定方式が使用され得る。
【００６６】
したがって、完全な6-DOF姿勢推定の問題は、手元にシーンの明示的な再構築を有することなく、かつ明示的にシーンを再構築する必要なしに解かれる。解の正確性は、参照画像I'の数および幾何推定の質に直接依存する。したがって、幾何回復316の計算労力(すなわち、ホモグラフィ、エッセンシャル行列またはファンダメンタル行列の推定)は、正確性の異なるレベルに対して決定され得る。
【００６７】
図6は、画像のデータベースを使用して6DOF姿勢を判断することが可能なモバイルデバイス100のブロック図である。モバイルデバイス100は、画像をキャプチャするためのカメラ110を含む。モバイルデバイス100は、(図2に示す)ネットワーク120からワイヤレス信号を受信するためのワイヤレスインターフェース170をさらに含み得る。ワイヤレスインターフェース170は、ワイヤレスワイドエリアネットワーク(WWAN)、ワイヤレスローカルエリアネットワーク(WLAN)、ワイヤレスパーソナルエリアネットワーク(WPAN)などのような、様々なワイヤレス通信ネットワークを使用し得る。「ネットワーク」および「システム」という用語は多くの場合に互換的に使用される。WWANは、符号分割多元接続(CDMA)ネットワーク、時分割多元接続(TDMA)ネットワーク、周波数分割多元接続(FDMA)ネットワーク、直交周波数分割多元接続(OFDMA)ネットワーク、単一搬送周波数分割多元接続(SC-FDMA)ネットワーク、ロングタームエボリューション(LTE)などでもよい。CDMAネットワークは、cdma2000、広帯域CDMA(W-CDMA)などの1つまたは複数の無線アクセス技術(RAT)を実装することができる。cdma2000は、IS-95、IS-2000、およびIS-856規格を含む。TDMAネットワークは、Global System for Mobile Communications(GSM（登録商標）)、Digital Advanced Mobile Phone System(D-AMPS)または何らかの他のRATを実装することができる。GSM（登録商標）およびW-CDMAは、「3rd Generation Partnership Project」(3GPP)という名称の組織からの文書に記載されている。cdma2000は、「3rd Generation Partnership Project 2」(3GPP2)という名称の組織からの文書に記載されている。3GPPおよび3GPP2の文書は公的に入手可能である。WLANは、IEEE802.11xネットワークであり得、またWPANはBluetooth（登録商標）ネットワーク、IEEE802.15x、または何らかの他のタイプのネットワークであり得る。その上、WWAN、WLANおよび/またはWPANの任意の組合せが使用され得る。
【００６８】
モバイルデバイス100は、動きまたは位置センサ、たとえば加速度計、ジャイロスコープ、電子コンパスまたは他の同様の動き検知要素などの非視覚的ナビゲーションセンサ171を随意に含むことができる。ナビゲーションセンサ171の使用は、上述の方法の複数のアクションを支援することができる。
【００６９】
モバイルデバイス100は、ディスプレイ102、キーパッド105、またはユーザが情報をモバイルデバイス100に入力することのできる他の入力デバイスを含むユーザインターフェース103をさらに含むことができる。所望される場合、キーパッド105は、仮想キーパッドをタッチセンサ付きディスプレイ102に組み込むことによって取り除くことができる。たとえば、モバイルデバイス100が、セルラー電話などのモバイルデバイスである場合、ユーザインターフェース103は、マイクロフォン106およびスピーカ104も含み得る。もちろん、モバイルデバイス100は、本開示に無関係の他の要素を含み得る。
【００７０】
図7は、モバイルデバイス100に類似し得る、画像のデータベースを使用して6DOF姿勢を判断することが可能なサーバ130のブロック図を示している。サーバ130は、ネットワーク120を介してモバイルデバイス100と通信するために使用される外部インターフェース131を含む。外部インターフェース131は、ルータ(図示せず)への有線インターフェースまたは任意の様々なワイヤレス通信ネットワークで使用されるワイヤレスインターフェースであり得る。サーバ130は、たとえば、ディスプレイ、ならびにキーパッド、またはユーザが情報をサーバ130に入力することのできる他の入力デバイスを含み得るユーザインターフェース133をさらに含むことができる。サーバ130は、データベース135を含むものとしてさらに示されているが、データベース135はサーバ130の外部にあってもよいことを理解されたい。
【００７１】
モバイルデバイス100とサーバ130の両方が、モバイルデバイス中のカメラ110およびサーバ130中のデータベース135からクエリ画像を受信するように接続された制御ユニットを含むものとして示されている。図6に示すように、制御ユニット180はカメラ110、SPS受信機150、ワイヤレスインターフェース170およびナビゲーションセンサ171(含まれる場合)に結合される。モバイルデバイス100において、制御ユニット180は上述のように、カメラ110から第1のインターフェース111を介してデータを、ならびにデータベース135から第2のインターフェース、すなわちワイヤレスインターフェース170を介して受信した参照画像I'を、受け入れて処理する。図7に示すように、制御ユニットは外部インターフェース131、ユーザインターフェース133、およびデータベース135に結合される。したがって、サーバ130において、制御ユニット180は上述のように、カメラ110から第1のインターフェース111、すなわち外部インターフェース131を介してデータを、ならびにデータベース135から第2のインターフェース137を介して参照画像I'を、受け入れて処理する。
【００７２】
モバイルデバイス100またはサーバ130のいずれかにおける制御ユニット180は、バス180b、プロセッサ181および関連するメモリ184、ハードウェア182、ソフトウェア185、ならびにファームウェア183によって提供され得る。制御ユニット180は上述のように、クエリ画像Iと参照画像I'との間の特徴を抽出してマッチングする画像マッチングユニット192、および、たとえばファンダメンタル行列、エッセンシャル行列またはホモグラフィを使用して、クエリ画像Iと参照画像I'との間の方向ベクトルを生成するモデル推定ユニット194を、含むことができる。さらに、方向ベクトルおよび参照画像I'に関連する位置推定値を使用して、6DOF姿勢を判断するロバスト姿勢推定ユニット196を含み得る。画像マッチングユニット192、モデル推定ユニット194およびロバスト姿勢推定ユニット196は、説明を簡単にするためにプロセッサ181とは別に示され、別個のものであるが、単一のユニットであってもよく、かつ/またはプロセッサ181の中で実行されるソフトウェア185内の命令に基づいてプロセッサ181の中で実装されてもよい。本明細書で使用する場合、プロセッサ181、ならびに画像マッチングユニット192、モデル推定ユニット194およびロバスト姿勢推定ユニット196のうちの1つまたは複数は、1つまたは複数のマイクロプロセッサ、組込みプロセッサ、コントローラ、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DPS)などを含み得るが、必ずしもそれらを含む必要はないことが理解されよう。プロセッサという用語は、特定のハードウェアではなく、システムによって実装される機能について説明することが意図される。さらに、本明細書で使用する場合、「メモリ」という用語は、長期メモリ、短期メモリ、またはモバイルプラットフォームに関連する他のメモリを含む任意のタイプのコンピュータ記憶媒体を指し、いかなる特定のタイプのメモリ、もしくはメモリの数、またはメモリが収納される媒体のタイプに限定されない。
【００７３】
したがって、モバイルデバイス100とサーバ130の両方は、カメラでキャプチャされたシーンのクエリ画像を受信するための手段を含み、これはたとえば、モバイルデバイス100中のインターフェース111またはサーバ130中の外部インターフェース131であり得る。データベースからシーンの複数の参照画像を受信するための手段であって、各参照画像は関連位置推定値を有する、手段は、モバイルデバイス100中のワイヤレスインターフェース170またはサーバ130中のインターフェース137であり得る。クエリ画像および複数の参照画像に基づいて、クエリ画像に関するカメラ中心の未知の位置と各参照画像に関する参照カメラ中心との間の方向を表す方向ベクトルを生成するための手段は、たとえば、モデル推定ユニット194、またはソフトウェア185から受信した命令を実行するプロセッサ181であり得る。方向ベクトルおよび各参照画像の関連位置推定値を使用して、6自由度を有するカメラの姿勢を判断するための手段は、ロバスト姿勢推定ユニット196、またはソフトウェア185から受信した命令を実行するプロセッサ181であり得る。
【００７４】
本明細書で説明する方法は、用途に応じて様々な手段によって実装され得る。たとえば、これらの方法は、ハードウェア182、ファームウェア183、ソフトウェア185、またはそれらの何らかの組合せの形で実装され得る。ハードウェアの実装形態の場合、処理ユニットは1つまたは複数の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPDs)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGAs)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、本明細書に記載された機能を実行するように設計された他の電子ユニット、またはそれらの組合せの範囲内で実装され得る。
【００７５】
ファームウェアおよび/またはソフトウェアの実装形態の場合、これらの方法を、本明細書に記載された機能を実行するモジュール(たとえば、プロシージャ、関数など)で実装することができる。本明細書に記載された方法を実装する際に、命令を有形に具現化する任意の機械可読媒体を使用することができる。たとえば、ソフトウェアコードがメモリ184に記憶され、プロセッサ181によって実行されてもよい。メモリは、プロセッサ181内に、またはプロセッサ181の外部に実装され得る。
【００７６】
ファームウェアおよび/またはソフトウェアに実装される場合、機能は、コンピュータ可読媒体に1つまたは複数の命令またはコードとして記憶され得る。例として、データ構造で符号化された非一時的コンピュータ可読媒体、およびコンピュータプログラムで符号化されたコンピュータ可読媒体がある。コンピュータ可読媒体には、物理的コンピュータ記憶媒体が含まれる。記憶媒体は、コンピュータによってアクセスされ得る任意の入手可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、所望のプログラムコードを命令もしくはデータ構造の形式で格納するために用いることができ、コンピュータによってアクセスすることができる他の任意の媒体を含むことができる。また本明細書で使用する場合にディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク(DVD)、フロッピー（登録商標）ディスクおよびブルーレイディスクを含む。ディスク(disk)は通常磁気的にデータを複製するが、ディスク(disc)はレーザーを用いて光学的にデータを複製する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【００７７】
説明のために本発明を特定の実施形態に関連して示したが、本発明はそれらの実施形態に限定されない。本発明の範囲から逸脱することなく様々な適合および改変がなされてもよい。したがって、添付の特許請求の範囲の趣旨および範囲は、上記の説明に限定されるべきではない。
【符号の説明】
【００７８】
304  位置推定値
306  参照画像I'のセットS
309  シーン
310  建物
312  建物
316  幾何回復
318  マッチング
320  モデル推定
323  分解
324  3D方向ベクトル、方向ベクトル
326  位置推定値
328  ロバスト姿勢推定
【図１Ａ】
0005946924.tif 000017
【図１Ｂ】
0005946924.tif 000018
【図２】
0005946924.tif 000019
【図３】
0005946924.tif 000020
【図４】
0005946924.tif 000021
【図５】
0005946924.tif 000022
【図６】
0005946924.tif 000023
【図７】
0005946924.tif 000024