JP5722502B2 - モバイルデバイスのための平面マッピングおよびトラッキング - Google Patents

モバイルデバイスのための平面マッピングおよびトラッキング Download PDF

Info

Publication number
JP5722502B2
JP5722502B2 JP2014513519A JP2014513519A JP5722502B2 JP 5722502 B2 JP5722502 B2 JP 5722502B2 JP 2014513519 A JP2014513519 A JP 2014513519A JP 2014513519 A JP2014513519 A JP 2014513519A JP 5722502 B2 JP5722502 B2 JP 5722502B2
Authority
JP
Japan
Prior art keywords
new
pose
planar
key frame
keyframe
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014513519A
Other languages
English (en)
Other versions
JP2014515530A (ja
Inventor
ピルヒハイム、クリスティアン
ライトメイアー、ゲルハルト
Original Assignee
クゥアルコム・インコーポレイテッドQualcomm Incorporated
クゥアルコム・インコーポレイテッドQualcomm Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US201161490764P priority Critical
Priority to US61/490,764 priority
Priority to US13/463,643 priority
Priority to US13/463,643 priority patent/US9020187B2/en
Application filed by クゥアルコム・インコーポレイテッドQualcomm Incorporated, クゥアルコム・インコーポレイテッドQualcomm Incorporated filed Critical クゥアルコム・インコーポレイテッドQualcomm Incorporated
Priority to PCT/US2012/036624 priority patent/WO2012166293A1/en
Publication of JP2014515530A publication Critical patent/JP2014515530A/ja
Application granted granted Critical
Publication of JP5722502B2 publication Critical patent/JP5722502B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods

Description

関連出願
本願は、2011年5月27日に出願された「Planar Mapping and Tracking for Mobile Phones」と題された米国仮出願番号第61/490,764号に対して米国特許法119条に基づき優先権を主張する2012年5月3日に出願された「Planar Mapping and Tracking for Mobile Phones」と題された米国出願番号第13/463,643号に対して優先権を主張し、それらの両方は本願の譲受人に譲渡され、本願に参照によって組み込まれる。
本明細書で説明される主題の実施形態は、概してトラッキングおよびマッピングに関し、より詳細にはモバイルデバイスによる視覚に基づいたマッピングおよびトラッキングに関する。
近年、モデルベースのトラッキングがモバイルデバイスの最先端となってきた。リアルタイムでの、アプリオリに知られた十分にテクスチャされた(well-textured)画像の自然的特徴の検出およびトラッキングは、複数のグループによって示されており、それら技術は商用アプリケーションおよびソフトウェア開発キットに用いられている。
単眼カメラを用いた6自由度(6DOF)でのトラッキング、および完全な3次元でのアプリオリに未知なシーンのマッピングは、特にセルラ電話やスマートフォンのようなモバイルデバイスにおいて未だ困難なタスクであり続けている。ロボット工学コミュニティから知られる古典的な拡張カルマンフィルタ(EKF:Extended Kalman filter)ベースのアプローチは、現在計算的に実行不可能である。良く知られている並列トラッキングとマッピング(PTAM)システムのみが、現在のスマートフォン上でプロトタイプとして稼働することが示されている。しかしながら、PTAMマッピング方法は、バンドル調整技法に基づいており、高い計算能力が要求されることによるマップサイズの増大にうまく対応できない。
リアルタイムトラッキングおよびマッピングは、未知の平面オブジェクトの画像を使用して行われる。平面オブジェクトの複数の画像がキャプチャされる。新しい画像が新しいキーフレームとして選択される。ホモグラフィ(homography)が、空間的に分散した平面オブジェクトについて、新しいキーフレームおよび複数の以前のキーフレームの各々について推定される。グラフ構造が、新しいキーフレームおよび複数の以前のキーフレームの各々ならびに新しいキーフレームと複数の以前のキーフレームの各々との間のホモグラフィを使用して生成される。グラフ構造は、木ベースのグラフ構造であり得、新しいキーフレームおよび複数の以前のキーフレームの各々は、ノードであり、新しいキーフレームと複数の以前のキーフレームの各々との間のホモグラフィは、ノード間のエッジである。グラフ構造は、平面オブジェクトのマップを作成するために使用される。平面オブジェクトがマップおよび後でキャプチャされた画像に基づいてトラッキングされる。
1つの態様では、方法は、平面オブジェクトの複数の画像をキャプチャすることと、新しい画像を新しいキーフレームとして選択することと、空間的に分散した平面オブジェクトについて、新しいキーフレームと複数の以前のキーフレームの各々との間のホモグラフィを算出することと、新しいキーフレームおよび複数の以前のキーフレームの各々ならびに新しいキーフレームと複数の以前のキーフレームの各々との間のホモグラフィを使用して、グラフ構造を生成することと、グラフ構造を使用して平面オブジェクトのマップを作成することと、マップおよび後でキャプチャされた画像に基づいて平面オブジェクトをトラッキングすることと、を含む。
1つの態様では、装置は、平面オブジェクトの複数の画像をキャプチャできるカメラと、そのカメラに結合されたプロセッサとを含み、該プロセッサは、新しい画像を新しいキーフレームとして選択し、空間的に分散した平面オブジェクトについて、新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出し、新しいキーフレームおよび複数の以前のキーフレームの各々ならびに新しいキーフレームと複数の以前のキーフレームの各々との間のホモグラフィを使用して、グラフ構造を生成し、平面オブジェクトのマップを作成するためにグラフ構造を使用し、マップおよび後でキャプチャされた画像に基づいて平面オブジェクトをトラッキングするように構成される。
1つの態様では、装置は、平面オブジェクトの複数の画像をキャプチャする手段と、新しい画像を新しいキーフレームとして選択する手段と、空間的に分散した平面オブジェクトについて、新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出する手段と、新しいキーフレームおよび複数の以前のキーフレームの各々ならびに新しいキーフレームと複数の以前のキーフレームの各々との間のホモグラフィを使用して、グラフ構造を生成する手段と、グラフ構造を使用して平面オブジェクトのマップを作成する手段と、マップおよび後でキャプチャされた画像に基づいて平面オブジェクトをトラッキングする手段と、を含む。
1つの態様では、プログラムコードが記憶された非一時的なコンピュータ可読媒体は、キャプチャされた平面オブジェクトの複数の画像から、新しい画像を新しいキーフレームとして選択するプログラムコードと、空間的に分散した平面オブジェクトについて、新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出するプログラムコードと、新しいキーフレームおよび複数の以前のキーフレームの各々ならびに新しいキーフレームと複数の以前のキーフレームの各々との間のホモグラフィを使用して、グラフ構造を生成するプログラムコードと、グラフ構造を使用して平面オブジェクトのマップを作成するプログラムコードと、マップおよび後でキャプチャされた画像に基づいて平面オブジェクトをトラッキングするプログラムコードと、を含む。
図1は、未知のテクスチャされた平面オブジェクトのキャプチャされた画像を使用してリアルタイムポーズトラッキングおよびマッピングが可能なモバイルデバイスを示す。 図2は、ポーズトラッキングおよびマッピングのためにモバイルデバイスによって使用される、密接に結合されたトラッキングコンポーネントおよびマッピングコンポーネントを示す。 図3は、四分木で構造化された2つのキーフレーム内の点からなる平面マップ、および2つのキーフレームの間のホモグラフィを示す。 図4は、平面オブジェクトのキャプチャされた画像を使用するリアルタイムポーズトラッキングおよびマッピングの方法を示すフローチャートである。 図5は、複数のキーフレームをグラフのノードとして示し、キーフレーム間のホモグラフィをグラフのエッジとして表示するポーズグラフを示す。 図6Aは、平面画像レクティフィケーション(rectification)・パラメタリゼーションの幾何学的解釈を示す。 図6Bは、平面画像レクティフィケーション・パラメタリゼーションの幾何学的解釈を示す。 図6Cは、平面画像レクティフィケーション・パラメタリゼーションの幾何学的解釈を示す。 図6Dは、平面画像レクティフィケーション・パラメタリゼーションの幾何学的解釈を示す。 図7は、ポーズ一貫性(pose consistency)に基づいてキーフレーム候補をキーフレームとして選択する方法を示すフローチャートである。 図8は、図5で示されたポーズグラフと類似しているが、キーフレーム候補Fを含むポーズグラフを示す。 図9は、新しいキーフレームについてのノード(ポーズ)およびエッジ(ホモグラフィ)を含むグラフ構造を使用するマップを作成する方法を示す。 図10Aは、平面推定およびポーズアップデートのためのホモグラフィ読み出し操作への異なるアプローチを示す。 図10Bは、平面推定およびポーズアップデートのためのホモグラフィ読み出し操作への異なるアプローチを示す。 図11は、平面点マップに対するカメラポーズをトラッキングする方法のフローチャートである。 図12は、上述の、キャプチャされた画像を使用してポーズトラッキングおよびマッピングが可能なモバイルデバイスのブロック図である。
図1は、例えば、較正された単眼カメラであり得るカメラ110から取得された、キャプチャされた画像を使用して、未知のテクスチャされた平面オブジェクトのリアルタイムポーズトラッキングおよびマッピングが可能なモバイルデバイス100を示す。モバイルデバイス100は、キーフレーム、およびキーフレーム間の平面により誘導されたホモグラフィ(plane-induced homographies)に基づくマッピングアプローチを使用する。キーフレームポーズを推定することについての平面再構成問題は、基本的に、計測されたキーフレーム間のホモグラフィの数における線形時間での画像レクティフィケーション処理によって解決される。ポーズトラッキングは、ロバスト(robustly)に推定されたポーズを提供するために、継続的に拡張されリファインされた(refined)平面点マップを使用する。
モバイルデバイス100は、ハウジング101、タッチスクリーンディスプレイであり得るディスプレイ102、ならびにスピーカ104、およびマイクロフォン106を含むものとして示されている。ディスプレイ102は、カメラ110によってキャプチャされた画像、マップ、または任意の他の所望のものを表示し得る。モバイルデバイス100は、トラッキングコンポーネント120およびマッピングコンポーネント130を含む。トラッキングコンポーネント120は、カメラ110からの平面環境の画像ストリームを処理し、カメラポーズを計算することによって、カメラポーズをトラッキングする。トラッキングコンポーネント120は、キーフレーム候補キュー内のマッピングコンポーネントに、選択されたキーフレームを提供する。マッピングコンポーネント130は、キャプチャされた平面シーンの新しいビューが利用可能になると、キーフレームを処理して、拡大されリファインされたマップを生成する。マッピングコンポーネント130は平面により誘導された、キーフレーム間のホモグラフィを計算し、それらの関係を専用のポーズグラフに構造化する。マッピングコンポーネント130は、点およびキーフレームのマップをトラッキングコンポーネント120に提供し、それによってトラッキングコンポーネント120はカメラポーズをトラッキングする。もちろん、モバイルデバイス100は、本開示に必ずしも関係しない追加のコンポーネントを含み得る。
本明細書で使用される場合、モバイルデバイスは、セルラ無線通信デバイスまたは他の無線通信デバイス、パーソナル通信システム(PCS)デバイス、パーソナルナビゲーションデバイス(PND)、パーソナル情報マネジャ(PIM)、ポータブル情報端末(PDA)、ラップトップ、または他の適切なモバイルプラットフォームなどの任意のポータブル電子デバイスを指す。モバイルプラットフォームは、無線通信信号、および/または航法測位信号などの航法信号を受信可能であり得る。「モバイルデバイス」という用語は、また、衛星信号受信、支援データ受信、および/または位置関連処理がデバイスまたはパーソナルナビゲーションデバイス(PND)で行なわれているかにどうかに関わらず、短距離無線、赤外線、有線接続、または他の接続などによってPNDと通信するデバイスを含むことが意図されている。また、「モバイルデバイス」は、ポーズトラッキングおよびマッピングにおいて使用される画像をキャプチャすることが可能な、無線通信デバイス、コンピュータ、ラップトップ、タブレットコンピュータ、スマートフォン、等を含むすべての電子デバイスを含むことが意図されている。
図2は、ポーズトラッキングおよびマッピングのためにモバイルデバイス100によって使用される、密接に結合されたトラッキングコンポーネント120およびマッピングコンポーネント130を示す。図2において示されるように、トラッキングコンポーネント120は、較正された単眼カメラ110の画像ストリームを処理し、カメラポーズを例えば6自由度(6DOF)で計算することによって、カメラポーズトラッキング122を行う。カメラポーズトラッキング122は、画像ストリームからキーフレームを個別に選択し、選択されたキーフレームをキーフレーム候補キューにおいてマッピングコンポーネント130に提供する。マッピングコンポーネント130は、キーフレームを処理して、平面シーンの新しいビューが利用可能になるのに伴って、例えば連続的な仕方で、時間と共に拡大されリファインされる持続性マップ134を生成する。キーフレーム間で、平面により誘導されたホモグラフィが計算され、それらの関係が専用のポーズグラフにおいて構造化される。マッピングコンポーネント130は、四分木で構造化された点の平面マップ124、キーフレーム、およびグラフで構造化されたホモグラフィを、トラッキングのためにトラッキングコンポーネント120に提供する。
図3は、例として、四分木142で構造化された2つのキーフレームIi、Ij内の点からなる平面マップ140を示す。キーフレーム内の各点は、図3では「×」として示される。キーフレームIi、Ijは、顕著な画像計測を提供し、それぞれ、カメラポーズPiおよびPjを通じて平面マップ140と関連する。キーフレームは、2次元(2D)シーンの種々のビューを示し、1つのキーフレームから別のキーフレームへピクセルをマッピングする、平面により誘導されたホモグラフィを計算するために使用される。ホモグラフィHは、キーフレームI間で点を射影し、例えば、図3に示されるように、ホモグラフィHjiは、キーフレームIi、Ij間で点を射影する。結果として生じる関係は、ポーズグラフ内で管理され、例えば、キーフレームおよびホモグラフィは、グラフ内でノードおよびエッジとして記憶される。
マッピングコンポーネント130は、トラッキングコンポーネント120から渡されたキーフレームのセットによって観測された未知のテクスチャされた平面シーンのマップを作成する。マップは、平面の表面をサンプリングする3次元(3D)の点から構成される。点観測は、顕著なキーフレームのコーナーから、または、ポーズもしくはホモグラフィ推定の一部としての特徴マッチングから始まる。平面マップの点は、四分木で構造化され、例えば、異なるスケールレベルでデータが追加されていない(unpopulated)マップ領域の探索期間では、高速な点の読み出しが用いられることになる。
図4は、平面オブジェクトのキャプチャされた画像を使用するリアルタイムポーズトラッキングおよびマッピングの方法を示すフローチャートである。図示されているように、例えばカメラ110からの画像ストリームまたはビデオストリーム内のフレームとして、平面オブジェクトの複数の画像がキャプチャされる(202)。新しい画像が新しいキーフレームとして選択される(204)。例えば、新しい画像が良質のポーズ推定を生み出す場合、十分なオーバーラップがあるかどうかを決定するために、例えば閾値を使用して、新しい画像が複数の以前のキーフレーム(および候補キーフレーム)と比較され得る。十分なオーバーラップがある場合、新しい画像は、トラッキングコンポーネント120によってキーフレーム候補キュー132に追加され得る。追加的に、新しい画像をキーフレームとして選択するために、その新しい画像は、平面オブジェクト上にあることが検証され得る。検証は、例えば隣接キーフレームのポーズ、および新しい画像と隣接キーフレームとの間の対応するホモグラフィに基づいて、新しい画像について複数のポーズを決定することによって行われ得る。複数のポーズは、平面マップに関して新しい画像をトラッキングすることで生み出される新しい画像についてトラッキングコンポーネント120によって生み出されたトラッカ(tracker)ポーズと比較され得る。例えば、複数のポーズとトラッカポーズとの間の、ペアワイズ(pairwise)ポーズ差分の和が閾値内である場合、新しい画像は該平面オブジェクトのものであると決定され得る。
ホモグラフィは、空間的に分散した平面オブジェクトについて、新しいキーフレームと複数の以前のキーフレームの各々との間で算出される(206)。グラフ構造は、新しいキーフレームおよび複数の以前のキーフレームの各々ならびに新しいキーフレームと複数の以前のキーフレームの各々との間のホモグラフィを使用して生成される(208)。図5は、例として、複数のキーフレーム(A,B,C,D,E)をグラフのノードとして示し、キーフレーム間のホモグラフィを破線として示されるグラフのエッジとして示す、ポーズグラフを示す。各キーフレームのポーズはまた平面に関して示される。キーフレームのペア(i,j)をつなぐホモグラフィHj,i推定の各々について、対応するノードIiおよびIjをつなぐ有向エッジが加えられる。独立した計測を取得するためにホモグラフィがキーフレームのペア間で両方向において独立に推定されるので、グラフは有向である。図5で示されているように、ホモグラフィは、新しいキーフレームEと、直前のキーフレームではなく空間的に分散した複数の以前のキーフレームA,C,Dの各々との間で算出される。
グラフ構造は、平面オブジェクトのマップを作成するために使用される(210)。例えば、マップは、複数の以前のキーフレームから基準キーフレームを選択し、平面オブジェクトに関して基準キーフレームについてのポーズを算出することによって作成され得る。基準キーフレームは、グラフ構造のセンタノードへの近さおよび新しいキーフレームへの近さのうちの1つに基づいて選択され得る。基準キーフレームのポーズ、および基準キーフレームとキーフレームの残りのセットとの間のホモグラフィを使用して、キーフレームの残りのセットについてポーズが算出される。次いで、基準キーフレームのポーズおよびキーフレームの残りのセットのポーズは、マップを作成するために使用され得る。次いで、平面オブジェクトは、マップおよびその後にキャプチャされた画像に基づいてトラッキングされる(212)。
ポーズグラフ
マップを生成するためのマッピングコンポーネント130のための入力は、キーフレームのセットおよびそれらの間で計測されたホモグラフィである。キーフレームIiに対応するカメラポーズは、世界座標系からローカルカメラ座標系(local camera coordinate system)への剛体変換および後続の射影を表す3×4変換行列Pi=(R|t)として表される。いくつかのキーフレームペア(i,j)について、図3で示されているようにキーフレームIiからキーフレームIjへ点をマッピングするホモグラフィHj,iが計測される。
図4で示されているように、これらキーフレーム・ホモグラフィ関係は、キーフレームをノードとして、ホモグラフィをエッジとして有する有向グラフで管理され得る。新しいキーフレームが生成されるに伴い、近隣キーフレームに対する新しいホモグラフィが計測され、両方がグラフに加えられる。平面マップという前提を維持するため、同じ平面上のキーフレームだけが加えられるべきである。それゆえに、主なシーン平面と一貫性を持たないホモグラフィを導くアウトライア領域(例えば、異なる平面または非平面オブジェクトを描画する領域)のビューを主に表示するキーフレームに関してフィルタリングが行われる。例えば、一貫性チェックが新しいキーフレームに採用され得る。キーフレーム候補キュー132内の候補キーフレームで一貫性チェックに不合格となるものは拒絶され得る。候補キーフレームで一貫性チェックに合格するものは、受け入れられ、グラフに加えられ得る。
平面推定
3Dの点のマップを作成するために、キーフレームに対応する未知のカメラポーズPiが推定される。平面に対する未知のキーフレームカメラポーズの算出のために、レクティフィケーションアルゴリズムが採用され得る。画像間の既知のホモグラフィを使用して平面を推定する問題を解決するための2つの一般的なアプローチは、ホモグラフィ分解(homography decomposition)および画像レクティフィケーションを含む。ホモグラフィ分解は、平面オブジェクトの2つの画像間のホモグラフィ行列を所与として、カメラモーションを計算することを指す。画像レクティフィケーションアルゴリズムは、例えば1D探索空間における点マッチングの目的で、画像ペアのエピポーラ線をアラインする、画像ペアに適用される既知のエピポーラ幾何学(または、平面のケースではホモグラフィ)から射影変換を計算する。専用の基準カメラと他のカメラとの間における可変数のホモグラフィ計測を使用する、2DOFだけの計算的に効率の良い非線形最適化スキームが使用され得る。
費用関数およびパラメタリゼーション
最適化スキームの数学的定式化が提供される。シーン平面が、(x,y)平面に対応する標準位置(canonical position)z=0に位置すると定義する。したがって、平面上の点は、ゼロに等しいz座標を有し、同次座標において(x,z,0,1)と書くことができる。最適化において未知なものは、この平面に対するカメラポーズPiである。すべての世界点は平面上にあるという仮定のもとで、カメラポーズは、ポーズ行列Piの第3列(third column)を消去することによって容易に2Dホモグラフィとして再定式化されることができる:
結果として得られるポーズホモグラフィは、その第1および第2の列(column)が正規直交ベクトルであり、r1およびr2がそれぞれRの第1および第2の列である、という所見に基づいて、以下の重要なプロパティを有する:
追加的に、ポーズホモグラフィC1、および、カメラC1からC2にマッピングするホモグラフィH2,1を考えると、対応するポーズホモグラフィC2は以下のように計算できる:
C1は拘束式2を観測しなければならない。さらに、式3を式2に代入することによって、C1に関する以下の追加の拘束が得られる:
非対角エントリを0とし対角エントリが同じ値を有するようにすることで、拘束をC1の費用関数として定式化することができる。それゆえに、1つのホモグラフィHi,1について以下の費用関数を定義する:
結果として得られる式6の費用関数は、絶対円錐曲線の画像への、よく知られている直交性拘束を活用し、基準カメラから別のカメラiへマッピングする任意のホモグラフィHi,1に有効である。そのすべてが基準カメラC1への個々のホモグラフィHi,1とつながれたカメラのセットCiに関して、すべての個々の費用を足し合わせて費用関数を構築し、未知の基準カメラポーズC1のための単一の費用関数を取得する:
概して、すべてのカメラポーズCiを推定することの問題全体は、式7の総費用関数を最小化する1つのカメラポーズC1を見つけることに単純化できる。
2つのカメラの間のホモグラフィH2,1は、スケールに合致して定義されるので、8自由度を有する。第1のカメラC1に対して第2のカメラC2の向きおよび平行移動(translation)を固定し、平面だけが自由に動くようにすることによって、第1のカメラC1には残り2自由度だけが残る。本明細書に参照により組み込まれる、A. Ruiz、P. E. L. de TeruelおよびL. Fernandezによる「Practical planar metric rectification」(In Proc. BMVC, 2006, Edinburgh, UK, Sept 4-7 2006)において、カメラポーズC1は2自由度での共役回転として表すことができることが観察されており、それは対応するカメラ画像において水平線、つまり無限遠直線の位置を固定する。結果として得られる回転行列は、平面のカメラ画像を透視変換し、直角と平行線とを計測することができる、レクティフィケーションされたオルソ画像(orthoimage)を合成するために使用され得る。Ruizらは、定位置カメラを連続してx軸(傾斜角)およびz軸(ロール角)の周りで回転させることによって水平線を記述することを提案した。6DOFカメラポーズは、2DOF共役回転、および、任意の平面座標系(方位、スケール、位置)を定義する4DOF相似行列から構成され得る。図6A、図6B、図6C、および図6Dは、平面画像レクティフィケーション・パラメタリゼーションの幾何学的解釈を示す。図6Aおよび6Dに示されているように、平面および基準カメラは、標準位置に位置するものと定義され、ここで、平面が世界(x,y)平面とアラインされ、基準カメラが位置(0,0,−1)に配置され、そうすることで世界座標系とカメラ座標系とがアラインされる。平面は、固定されたままの基準カメラの周りの単位半球上を回転する。図6Aに示されているように、x軸周りの第1の回転は、平面が(y,z)カメラ平面とアラインされた円に沿って動くことを許容する。図6Bに示されているように、第2の回転は、平面が(x,y)カメラ平面とアラインされた別の円に沿って動くことを許容する。平面がカメラの背後に回転されることを回避するよう、x軸回転パラメータの範囲として(−π/2,π/2)を定義する。z軸回転パラメータについては、解の対称性を回避するために[−π/2,π/2)を有効な範囲として定義する。図6Cに示されているように、それぞれx軸およびz軸回転からなるレクティフィケーション変換後に、カメラは標準位置にとどまる。図6Dに示されているように、最終的な平面座標系は、カメラのz軸半直線を平面と交差させて相似変換をもたらすことによって定義される。
プロパティ
式7の費用関数、および結果として生じる2DOF費用表面(cost surface)の形状と深度(depth)が分析された。基準カメラの選択およびキーフレーム間の動きに応じて、以下に説明されるような様々な効果が見いだされた。
入力ホモグラフィにおいてエンコードされた動きは、費用表面の深度にかなりの影響を与えることが見いだされた。例えば、単一の平行移動軸に沿って画像のオーバーラップの増加を伴いつつ、固定されたカメラC1から推定された単一のホモグラフィをカメラC2に渡すときには、費用深度は、平行移動の大きさに伴って直線的に増加する。
費用深度および動きは、誤差関数の解の多様性に影響を与える。概して、一意的な2DOF解を生じる費用表面の大域的最小点を見つけることが望ましい。しかしながら、費用表面は、通常、平面の正面および背後のカメラポーズを説明する解に対応する2つの極小点を示す。ホモグラフィにおいてエンコードされた動きの量を増加させることは、平面の正面のカメラポーズを説明する正確な大域的最小点が有利になるように、極小点を消滅させる。
費用関数を変更せず、それゆえに有効な解を生じない、デジェネレート・モーション(degenerate motion)のケースに遭遇することがあり得る。例えば、知られているデジェネレート・モーションのケースは、面法線に沿った純粋な回転および平行移動を含む。
平面マッピング
以上で述べたように、マッピングコンポーネント130は、トラッキングコンポーネント120によって提供されたキーフレーム候補を処理する。キーフレーム候補は、平面再構成を改善するために使用され得、リファインされ拡張されたマップをもたらす、平面シーンについての新しい情報を提供する。
図7は、ポーズ一貫性に基づいてキーフレーム候補をキーフレームとして選択する方法を示すフローチャートである。図示されているように、例えばトラッキングコンポーネント120(図2)からキーフレーム候補キュー132においてキーフレーム候補が受信される(220)。例えばオーバーラップの量に基づいて、キーフレーム候補に関して隣接キーフレームが決定される(222)。キーフレーム候補および隣接キーフレームについてのホモグラフィが推定され(224)、候補キーフレームについてのポーズが各隣接キーフレームのポーズおよび推定されたホモグラフィを使用して計算される(226)。キーフレーム候補について計算されたポーズは、例えば図2のトラッキングコンポーネント120によって生み出された、トラッキングポーズと比較される(228)。結果として得られる比較が所望の閾値未満(230)の場合、キーフレーム候補は、キーフレームとして選択され(232)、そうでない場合、候補キーフレームは、拒絶される(234)。
隣接キーフレーム
前述のように、図7のステップ222では、各キーフレーム候補について、隣接キーフレームノードのセットが後のホモグラフィ推定に関してグラフから選択される。その目的のためにペアワイズ画像オーバーラップが計算され得る。
ソースキーフレーム/ターゲットキーフレームのペアワイズオーバーラップは、ホモグラフィとともに、ソースキーフレームの画像のコーナーをターゲットキーフレーム上に射影することによって計算される。ホモグラフィは、既知のキーフレームポーズから導出される。結果として得られる4点ポリゴンは、交差されて一体化され、別の2つのポリゴンを結果として生じる。所望のオーバーラップは、これらポリゴン面積の比r(A,B)である。
所与の候補キーフレームは、グラフ内の既存のキーフレームの各々と対にされ、オーバーラップ比の対応するリストを結果として生じる。実際の選択は、得られるリストをオーバーラップ比で降順にソートし、そのリストの先頭から(例えば5つの)限られたキーフレームのセットを読み出すことによって、隣接キーフレームセットを結果として生じさせることにより、行われ得る。
ポーズ一貫性チェック
図7のステップ224で言及されるように、候補キーフレームを以前に選択された隣接キーフレームのセットと組み合わせることで、ペアワイズホモグラフィが両方向で推定される。例として、ロバスト推定のために、ランダムサンプリングコンセンサス(RANSAC:RANdom SAmple Consensus)アルゴリズムが使用され得る。結果として生じるホモグラフィは、現在マッピングされている平面と矛盾する平面によって誘導され得る。例えば、不十分な画像のオーバーラップ、不均衡な特徴の分布、または(高いノイズまたはアウトライアに起因する)低い対応カウント(correspondence count)から、推定誤りが発生し得る。
それゆえに、候補キーフレームについてトラッキングコンポーネント120によって提供されるトラッカポーズを、隣接キーフレームポーズおよび推定されたホモグラフィから計算されるポーズ観測と比較することによって、誤りがあるホモグラフィをフィーチャー(feature)する候補キーフレームを検出することが望ましい。各隣接キーフレームIiについて、隣接キーフレームのポーズを対応するホモグラフィと組み合わせることによって、キーフレーム候補についてのポーズOiが計算される(図7のステップ226)。図8は、例として、図5に示されたポーズグラフと類似しているが、候補キーフレームFを含むポーズグラフを示す。候補キーフレームFのポーズOAは、キーフレームAについてのポーズPAおよびホモグラフィHFAに基づいて算出され、ポーズOEは、キーフレームEについてのポーズPEおよびホモグラフィHFEに基づいて算出され、ポーズODは、キーフレームDについてのポーズPDおよびホモグラフィHFDに基づいて算出される。平面トラッキングコンポーネント120から取得された候補カメラポーズ位置Pに対するポーズOiについての位置の差(図7のステップ228)は、このように決定され得る:
結果として得られるRMS誤差が所望の閾値未満(図7のステップ230)の場合、キーフレーム候補は、キーフレームとして選択され(図7のステップ232)、推定されたホモグラフィは、それぞれノードおよびエッジとしてグラフに挿入され、そうでない場合、キーフレーム候補は拒絶される(図7のステップ234)。
再構成
平面再構成プロシージャは、キーフレームカメラポーズおよびマップ点の初期化およびリファインメントを組み込む。キーフレームカメラポーズは、グラフから読み出されたホモグラフィを使用する平面推定アルゴリズムによって再評価される選択された基準キーフレームポーズに関して計算される。マップ点は、各マップ点に関連付けられた画像観測から計算される。
図9は、新しいキーフレームについてのノード(ポーズ)およびエッジ(ホモグラフィ)を含むグラフ構造を使用するマップを作成する方法を示す。新しいキーフレームについてのノード(ポーズ)およびエッジ(ホモグラフィ)を含む、生成されたグラフ構造と共に、画像化された平面オブジェクトのマップが、図9で示されているように、グラフ構造を使用して作成される(図4のステップ210)。新しいキーフレームが追加された後、基準キーフレームが複数の以前のキーフレームから選択される(280)。基準キーフレームについてのポーズが平面オブジェクトに関して算出される(282)。キーフレームの残りのセットについてのポーズが、基準キーフレームのポーズ、および基準キーフレームとキーフレームの残りのセットとの間のホモグラフィを使用して算出される(284)。基準キーフレームのポーズおよびキーフレームの残りのセットのポーズは、マップを作成するために使用される(286)。
基準キーフレームの選択
基準キーフレームの選択(ステップ280)は、すべてのキーフレームポーズが基準キーフレームに関して計算されるので、再構成の全体的な質にかなりの影響を与える。
基準キーフレームの選択のために、実行時において実際のカメラ軌道から結果として生じるポーズグラフの構造に基づいて異なるアプローチが使用され得る。ポーズグラフが明確なセンタノードを示す場合、それが基準キーフレームとして使用され得る。そうでない場合、正面の(最新の)キーフレームに近いリーディングノード(leading node)がより良いものであり得る。後で、ポーズグラフは、キーフレームノード間のホモグラフィ経路を読み出すために使用される。ホモグラフィは、基準キーフレーム推定およびマップ作成のために採用される。どちらのケースでも、ホモグラフィ誤差は経路に従って蓄積されるので、例えばホモグラフィ経路深度を最小化することによって、(混成)ホモグラフィによって誘発される全体的な誤差を最小化することが望まれる。
両方のアプローチのために、幅優先グラフ操作から読み出された値でパラメータ化された採点機能が実装され得る。ポーズグラフが明確なセンタノードを有するかどうかを決めるために、よく知られている、フリーマン(Freeman)によるネットワーク中心測定(network centralization measure)が使用され得る。最大の中心性(centrality)測定値を有するノードが計算され、理論上の最大値に対して比較される。得られる比が既定の閾値を超える場合、最大の測定値を有したノードが基準キーフレームとして使用され得る。代替的に、最新のキーフレームノードからの経路深度引く何らかの可変オフセット(例えば、2)が最小である、グラフノードが使用され得る。
基準ポーズ推定
基準キーフレームの選択と共に、平面推定アルゴリズムが入力ホモグラフィのセットと一緒に初期化され、その後、すべてのキーフレームポーズが基準キーフレームのアップデートされたカメラポーズに関して再算出される。
図10Aおよび図10Bは、平面推定およびポーズアップデートのためのホモグラフィ読み出し操作を示す。平面推定アルゴリズムは、異なるホモグラフィ読み出しアプローチを使用し得る。1つのアプローチは、入力ホモグラフィにおいてエンコードされた動きを最大化することを目標とし、誤りがある単一のホモグラフィがレクティフィケーションアルゴリズム費用表面に間違いを引き起こさないように、冗長性を与える。図10Aで示されているように、所与のルートノードCについて、グラフのすべての(いずれかの方向の)エッジを含む他のすべてのノードへの経路が読み出される。最大数のエッジを組み込むことは多量の動きを保証し、ターゲットノード、例えばノードEに複数の経路を提供し、そうすることで、個々の誤りのあるホモグラフィを含む混成ホモグラフィが補償される。図10Bにおいて示される別のアプローチでは、すべてのグラフエッジが組み込まれる訳ではなく、基準キーフレームCから他のすべてのキーフレームへの最短の経路が読み出される。
読み出されたホモグラフィ経路で式7の費用関数を最小化することによって、基準キーフレームのポーズを取得する(図9のステップ282)。ホモグラフィの所与のセットについて、単一の利用可能な最善の解が計算され得る。解の多様性に応じて、最善の解は一意的な大域的最小点であり得、あるいは解の不明確なケースでは、極小点のセットからの選択された最善の最小点でありうる。珍しいデジェネレートのケースでは、アルゴリズムが有効な解を一切生じないことがあり得る。
費用関数を最小化するため、費用表面は(例えば、各パラメータ寸法において10の度合で)個別にサンプリングされ、サンプル最小点のセットは、サンプリングされた費用値を単純にそれらの近隣と比較することによって計算される。サンプル最小点のセットから、極小点のセットが計算される。各サンプル最小点は、最適化されたパラメータを見つけるために、ネルダーとミードによるダウンヒルシンプレックス法(Nelder-Mead downhill simplex solver)でリファインされる。結果として得られた、有効な範囲の外のパラメータをフィーチャーする極小点は、破棄される。さらに、極小点は2つ一組で比較され、重複は破棄される。数値的不正確があるので、大域的最小点である可能性のあるものが、有効性についてのステップで破棄され得る。大域的最小点の存在は、すべての極小点を、最小の費用を有するサンプリングされた最小点と比較することでチェックされる。より小な費用を有する極小点が発見できない場合、最小費用のサンプル最小点が極小点のセットに加えられる。
マップ作成
再構成のこの段階において、平面に関しての基準キーフレームのポーズは既知である。残りのキーフレームポーズは、基準ポーズをキーフレーム間のホモグラフィで乗算することによって計算される(図9のステップ284)。マップ作成は、マップの点を再評価することによって完了する(図9のステップ286)。
キーフレームポーズアップデート
平面推定アルゴリズムから得られる基準ポーズホモグラフィCrを、キーフレームポーズホモグラフィCkを取得するためにホモグラフィHk,rで乗算することによって、キーフレームポーズPkが計算される。次いで、完全なポーズPkが、回転行列の第3列を算出することを通じて復元される。追加的に、平面座標系の原点を第1のキーフレームの逆投影された主点(principle point)へと動かす、相似変換Sが適用され得る:
ホモグラフィHk,rの読み出しのために、基準からキーフレームへの最短経路が、幅優先探索を使用して算出され得る。
点評価
マップの点の位置は、対応するキーフレームカメラポーズを使用して、その逆投影されたキーフレーム画像観測のセントロイドが割り当てられる。観測からセントロイドまでの平均距離を算出し、ある特定の閾値(例えば、平均距離の2倍)の外の観測を破棄することによって、全体のアウトライア観測が検出される。こうしたケースでは、セントロイドは、インライア(inlier)観測だけを使用して再評価される。
平面トラッキング
図11は、平面点マップに対するカメラポーズをトラッキングする方法のフローチャートである。トラッキングコンポーネント120は、較正された単眼カメラ110から入ってくる画像ストリームからのキャプチャされた画像を処理し、マッピングコンポーネント130によって提供される平面点マップに対するカメラポーズを計算する。こうして、図11に示されているように、画像ストリームが受信される(300)。システムの起動時において、マップは、まだ存在せず、それに応じて、システムは、例えば2つのキーフレームを使用して、初期化される(302)。システムが初期化されると、マップは、マッピングコンポーネント130から受信され(304)、マップからの点を使用しそれらを現在の画像とマッチングすることでポーズが推定される(306)。カメラポーズは、動きモデルおよびロバストポーズリファイナ(robust pose refiner)を使用して推定される。画像が既存のキーフレームとわずかなオーバーラップしか持たない良質なポーズを生み出した場合、その画像は候補キーフレームキューに加えられる(308)。こうして、候補キーフレームは、トラッキングコンポーネント120によって選択され、マッピングコンポーネント130に渡され、その結果として、拡張されリファインされたマップを生じる。
初期化
マッピングおよびトラッキングシステムが、例えば、第1のキーフレームを手動で選択し得るユーザによって、初期化される(図11のステップ300)。例えば、ユーザによってマッピングおよびトラッキングアプリケーションが初期化されたときには、第1のキーフレームは、第1の画像フレームであり得る。あるいは、ユーザは、マッピングおよびトラッキングアプリケーションが初期化された後で、タッチスクリーンディスプレイ102に触れることによって所望の第1のキーフレームを選択し得る。そのキーフレームと現在の入力画像との間のホモグラフィは継続的に推定される。追加的に、各ホモグラフィは、上述の画像レクティフィケーションアルゴリズムに渡され、第1のキーフレームに関して現在の画像についてポーズ推定が生み出される。
ホモグラフィ推定
キーフレームは、異なる画像スケールレベルでの顕著な画像計測の固定されたセットをフィーチャーする。例えば、スケールインバリアンスを改善するために、3つのレベルを持つローパス(low-pass)画像ピラミッドが生成され得る。各ピラミッドレベルで、コーナー計測のセットを生成するためにFAST(Features from Accelerated Segment Test)コーナー検出器が適用され得る。SIFTまたはSURF(Speeded-up Robust Features)または任意の他の所望の方法のような、キーポイント(keypoint)を抽出するための他の方法が使用され得る。例えば、FAST特徴を低いスコアでフィルタリングすることによって、後の計算費用を制限するために、キーポイントカウントは、限定され得る。
ソースキーフレーム(つまり、第1のキーフレーム)とターゲットキーフレーム(つまり、現在のキーフレーム)との間の2D−2D点対応からのホモグラフィ推定のために、ロバストRANSAC推定アルゴリズムが使用され得る。(最も粗いものから最も細かいものまでの)各画像レベルについて、ソースキーフレームによって提供される顕著な画像計測を反復し、ターゲットキーフレームにおけるマッチング対応を計算する。各レベルの後、ホモグラフィは、追加されたレベルと点の対応でリファインされる。RANSACアウトライア閾値が、既知の内部カメラパラメータに関してセットされ得る。
点の対応は、正規化相互相関(NCC)を用いたサーチウインドウを通したアクティブサーチを用いたサブピクセル精度のアフィンパッチマッチングアルゴリズムによって計算され得る。2つの画像および最初のホモグラフィを所与として、局所1×1ピクセル座標系がソース画像のソース点位置において確立される。局所アフィンワーピング(warping)行列は、局所座標系をターゲット画像に射影することで生成され得る。ソース画像レベルを調節した後、NCCを誤差計測として使用して、所与の半径(例えば3−5ピクセル)を持つサーチウインドウを通してターゲット画像と相関されるソース画像から8×8パッチがサンプリングされる。ターゲット画像点のNCCの値がある特定の閾値より大(例えば、>0.9)の場合、ソースおよびターゲット点は相関していると見なされ得る。
初期のマップ
第2のキーフレームの自動選択を用いて、マッピングコンポーネント130は、結果として生じたキーフレームのペアおよび対応するホモグラフィから初期のマップを計算する。第2のキーフレームは、画像のオーバーラップおよび平面推定の質に基づいて選択される。第1のキーフレームと現在の画像との間の画像のオーバーラップが、ある特定の閾値(例えば、0.75)を超過し、レクティフィケーションアルゴリズムが第1のキーフレームを基準として使用して有効でありかつ不明確ではない平面推定をもたらす場合、第2のキーフレームが選択され、マップが初期化される。
マップの初期化は、第2のキーフレームから第1のキーフレームへのホモグラフィの推定、両方のキーフレームについてのポーズ推定、および、キーフレームから逆投影された点を追加することを備える。マップの点の位置は、逆投影された関連する画像観測のセントロイドによって定義される。世界座標系の原点は、第1のキーフレーム画像の主点を逆投影することによって定義される。追加的に、初期のグラフは、第1および第2のキーフレームをノードとして、それらのホモグラフィをエッジとして加えることによって設定される。
マップトラッキング
初期の平面マップの作成後、トラッキングコンポーネント120は、マップを受信し(図11の304)、マップからの点を使用してカメラポーズを推定し、それらを現在の画像とマッチングする(306)。追加的に、キーフレームが画像ストリームから選択され、マッピングコンポーネント130に渡される。
ポーズ推定
トラッキングコンポーネント120は、マッピングコンポーネント130によって提供された平面マップに対する6DOFカメラポーズをロバストに推定する。継続的に衰える動きモデル(constant decaying motion model)は以前のポーズ観測に基づいて現在の画像のポーズを予測する。動きモデルポーズは、現在の画像には見えないマップ点を破棄するために使用されるカメラフラスタム(frustum)を初期化するために使用される。残りのマップ点は、予測されたポーズを使用して現在の画像へと射影され、結果として可視点のセットを生じる。
点のマッチングは、正規化相互相関を使用して、最も粗いレベルから始まり、連続的に各画像レベルについて実行される。あるレベルについて完了した後、マッチングされたレベル対応は、顕著な点のセットに加えられ、ポーズリファインメントステップが行われる。採用されるポーズリファインメントアルゴリズムは、アウトライアを破棄するために、ロバストなテューキーM推定器(Tukey M-estimator)を使用して再投影誤差を最小化することを目標とする。結果として得られるポーズのインライア点のセットは、対応するテューキーM推定器重みを所定の閾値で区分することによって、顕著な入力点セットから計算され得る。
すべてのレベルでの点マッチングが完了した後、結果として得られるポーズの有効性および質がチェックされる。ポーズの質は、顕著な特徴対インライア特徴のカウントの比によって定義され得る。比がある特定の閾値よりも大、例えば>0.75の場合、それは良質な比とみなされ、比がある特定の閾値よりも小、例えば<0.5の場合、それは悪質な比とみなされ、それ以外の場合、中間とみなされる。例えば点の対応が少なすぎるという理由で、ポーズ推定器が有効でないポーズを示す場合、リローカリゼーション(relocalization)モードが使用され得る。1つの可能なリローカリゼーションモードは、現在の画像のSIFT特徴記述子を計算しマップの特徴の記述子を含むデータベースとマッチングし、結果として得られる対応によってポーズを推定することを試みる、というものであり得る。
キーフレーム選択およびマップアップデート
キーフレーム候補は、現在のポーズの質および画像ストリームからの画像オーバーラップに基づいて選択され得る。前述のように良質のポーズ推定を生じる画像だけが、キーフレームとみなされる。現在の画像と十分にオーバーラップする既存のキーフレームまたは候補キーフレームキューからの候補キーフレームが発見されない場合、例えば最大のオーバーラップ比が0.75または0.60未満である場合、現在の画像はマッピングコンポーネント130によって処理されたキーフレーム候補キューに追加される(ステップ308)。オーバーラップパラメータは、マップデータ量に影響を及ぼし得、それゆえに、全体的なシステムパフォーマンスに影響を及ぼし得る。オーバーラップの増加に伴って、キーフレームの数は徐々に増加し、3D空間のより高密度なサンプリングを結果として生じる。その結果として、候補キーフレームは、より多くの隣接キーフレームをフィーチャーし、より多くのホモグラフィの推定を可能にし、グラフの連結性に影響を与える。しかしながら、オーバーラップパラメータは、精度に対して有意な影響を及ぼさないように思われる。驚くべきことに、データを増やすことは、オブジェクト空間誤差も再投影誤差も大いには改善しない。60%のオーバーラップが、再投影誤差が3ピクセル未満でありオブジェクト空間誤差が軌道サイズの1.5%未満である、良質で平面再構成を解決するのに十分なデータを提供するように思われる。
マッピングコンポーネント130は、対応するフラグをセットすることによってリファインされたマップの完成を示す。リファインされたマップは、例えば基準キーフレームの変化に起因して、大きく変化し得るので、例えば最新の2つの画像からの、対応が記憶され、新しいマップに対してのそれらのポーズが再度推定される。次いで、動きモデルがこれらの新しいポーズからアップデートされ得る。
図12は、前述のような、キャプチャされた画像を使用してポーズトラッキングおよびマッピングが可能なモバイルデバイス100のブロック図である。モバイルデバイス100は、較正された単眼カメラ110を含む。モバイルデバイス100はさらに、ディスプレイ102、キーパッド105、またはユーザがそれにより情報をモバイルデバイス100に入力できる他の入力デバイスを含む、ユーザインターフェイス103を含み得る。必要に応じて、キーパッド105は、タッチセンサを伴うディスプレイ102に仮想キーパッドを組み込むことによって、除かれ得る。ユーザインターフェイス103は、例えばモバイルデバイス100がセルラ電話のようなモバイルデバイスである場合、マイクロフォン106およびスピーカ104もまた含み得る。もちろん、モバイルデバイス100は、本開示には関係のない他のエレメントを含み得る。
モバイルデバイス100はまた、カメラ110に接続されカメラ110と通信する制御ユニット180を含む。制御ユニット180は、バス180bと、プロセッサ181、および、関連づけられたメモリ184と、ハードウェア182と、ソフトウェア185と、ファームウェア183とによって提供され得る。制御ユニット180は、上述のように動作するトラッキングコンポーネント120およびマッピングコンポーネント130を含む。明瞭のために、トラッキングコンポーネント120およびマッピングコンポーネント130は分離されて図示され、プロセッサ181とは別個のものとして示されているが、単一のユニットであることも、組合されたユニットであることも、および/またはプロセッサ181で走るソフトウェア185における命令に基づいてプロセッサ181において実装されたものでもあり得る。本明細書で使用される、プロセッサ181並びにトラッキングコンポーネント120およびマッピングコンポーネント130のうちの1つまたは複数は、1つまたは複数のマイクロプロセッサ、内蔵プロセッサ、コントローラ、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、およびそれらに類するものを含むことができるが、必ずしも含むとは限らないということが理解されるだろう。プロセッサという用語は、特定のハードウェアではなく、システムによって実現される機能を説明することを意図する。さらに、本明細書において使用される「メモリ」という用語は、モバイルデバイスに関連づけられた長期メモリ、短期メモリ、または他のメモリを含む任意のタイプのコンピュータ記憶媒体のことを指すが、任意の特定のメモリタイプまたは任意の特定のメモリ数、またはメモリが記憶される媒体のタイプに限定されるべきではない。
モバイルデバイスは平面オブジェクトの複数の画像をキャプチャする手段を含み、それは例えばカメラ110であり得る。新しい画像を新しいキーフレームとして選択する手段は、トラッキングコンポーネント120を含み得る。空間的に分散した平面オブジェクトについて、新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出する手段は、マッピングコンポーネント130であり得る。新しいキーフレームおよび複数の以前のキーフレームの各々ならびに新しいキーフレームと複数の以前のキーフレームの各々との間のホモグラフィを使用して、グラフ構造を生成する手段は、マッピングコンポーネント130であり得る。平面オブジェクトのマップを作成するためにグラフ構造を使用する手段は、マッピングコンポーネント130を含み得る。マップおよび後でキャプチャされた画像に基づいて平面オブジェクトをトラッキングする手段は、トラッキングコンポーネント120を含み得る。
本明細書で説明された方法は、用途に応じて、様々な手段によって実現され得る。例えば、これらの方法は、ハードウェア182、ファームウェア163、ソフトウェア185、またはそれらの任意の組み合わせにおいて実現され得る。ハードウェアの実現では、1つ以上の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号プロセッシングデバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、本明細書で説明された機能を実行するように設計された他の電子ユニット、またはそれらの組み合わせの中に、処理ユニットが実装され得る。
ファームウェアおよび/またはソフトウェアの実現では、本明細書で説明された機能を実行するモジュール(例えば、プロシージャ、関数、等)を用いて方法が実現され得る。命令を実体的に具現化する任意の機械可読媒体が、本明細書で説明された方法を実現するのに使用され得る。例えば、ソフトウェアコードがメモリ184に記憶されることができ、プロセッサ181によって実行され得る。メモリは、プロセッサ181の内部または外部に実装され得る。ファームウェアおよび/またはソフトウェアで実現される場合、機能は、コンピュータ可読媒体において、1つ以上の命令またはコードとして、記憶され得る。データ構造によってコード化された非一時的なコンピュータ可読媒体や、コンピュータプログラムによってコード化されたコンピュータ可読媒体が、例に含まれる。コンピュータ可読媒体は、物理的なコンピュータ記憶媒体を含む。記憶媒体は、コンピュータによってアクセスされることができる入手可能な任意の媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROM、または他の光ディスク記憶装置、磁気ディスク記憶装置、または他の磁気記憶デバイス、または、命令またはデータ構造の形態で所望のプログラムコードを記憶するために使用されることができ、かつ、コンピュータによってアクセスされることができる任意の他の媒体を含むことができる。ディスク(disk)およびディスク(disc)は、本明細書で使用される場合、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびブルーレイ(登録商標)ディスク(disc)を含み、ディスク(disk)は通常、磁気的にデータを再生するが、ディスク(disc)は、レーザーを用いて光学的にデータを再生する。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
本発明は、説明の目的で特定の実施形態に関連して示されたが、本発明は、それらに限定されるものではない。本発明の範囲から逸脱せずに、さまざまな適応および変更が行われ得る。したがって、請求項の趣旨および範囲は、前述した説明に限定されるべきではない。
以下に、本願の出願当初請求項に記載された発明を付記する。
[C1]
平面オブジェクトの複数の画像をキャプチャすることと、
新しい画像を新しいキーフレームとして選択することと、
空間的に分散した前記平面オブジェクトについて、前記新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出することと、
前記新しいキーフレームおよび前記複数の以前のキーフレームの各々ならびに前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィを使用して、グラフ構造を生成することと、
前記平面オブジェクトのマップを作成するために前記グラフ構造を使用することと、
前記マップおよび後でキャプチャされた画像に基づいて前記平面オブジェクトをトラッキングすることと、
を備える、方法。
[C2]
前記グラフ構造は木ベースのグラフ構造であり、前記新しいキーフレームおよび前記複数の以前のキーフレームの各々はノードであり、前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィは前記ノード間のエッジである、請求項1に記載の方法。
[C3]
前記グラフ構造を使用して前記平面オブジェクトの前記マップを作成することが、
前記複数の以前のキーフレームから基準キーフレームを選択することと、
前記平面オブジェクトに関して前記基準キーフレームについてのポーズを算出することと、
前記基準キーフレームの前記ポーズ、および前記基準キーフレームとキーフレームの残りのセットとの間のホモグラフィを使用して、キーフレームの残りのセットについてのポーズを算出することと、
前記マップを作成するために、前記基準キーフレームの前記ポーズおよび前記キーフレームの残りのセットについての前記ポーズを使用することと、
を含む、請求項1に記載の方法。
[C4]
前記基準キーフレームが、前記グラフ構造のセンタノードへの近さおよび前記新しいキーフレームへの近さのうちの1つに基づいて選択される、請求項3に記載の方法。
[C5]
前記新しい画像を前記新しいキーフレームとして選択することが、前記新しい画像と前記複数の以前のキーフレームとのオーバーラップを決定するために前記新しい画像を前記複数の以前のキーフレームと比較することと、前記オーバーラップを閾値と比較することと、を含む、請求項1に記載の方法。
[C6]
前記新しい画像を前記新しいキーフレームとして選択することが、前記新しい画像が前記平面オブジェクトのものであることを検証することを含む、請求項1に記載の方法。
[C7]
前記新しい画像が前記平面オブジェクトのものであることを検証することが、
隣接キーフレームのポーズ、および前記新しい画像と前記隣接キーフレームとの間の対応するホモグラフィに基づいて、前記新しい画像についての複数のポーズを決定することと、
前記複数のポーズを、前記マップに関して前記新しい画像をトラッキングすることによって生み出された前記新しい画像についてのトラッカポーズと比較することと、
前記複数のポーズと前記トラッカポーズとの間のペアワイズポーズ差分の和が閾値内にあり、前記新しい画像が前記平面オブジェクトのものであることを示していること、を決定することと、
を含む、請求項6に記載の方法。
[C8]
平面オブジェクトの複数の画像をキャプチャすることが可能なカメラと、
前記カメラに結合されたプロセッサであって、新しい画像を新しいキーフレームとして選択することと、空間的に分散した前記平面オブジェクトについて、前記新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出することと、前記新しいキーフレームおよび前記複数の以前のキーフレームの各々ならびに前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィを使用して、グラフ構造を生成することと、前記平面オブジェクトのマップを作成するために前記グラフ構造を使用することと、前記マップおよび後でキャプチャされた画像に基づいて前記平面オブジェクトをトラッキングすることと、を行うように構成されたプロセッサと、
を備える装置。
[C9]
前記グラフ構造は木ベースのグラフ構造であり、前記新しいキーフレームおよび前記複数の以前のキーフレームの各々はノードであり、前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィは前記ノード間のエッジである、上記C8に記載の装置。
[C10]
前記プロセッサが、前記複数の以前のキーフレームから基準キーフレームを選択することと、前記平面オブジェクトに関して前記基準キーフレームについてのポーズを算出することと、前記基準キーフレームの前記ポーズ、および前記基準キーフレームとキーフレームの残りのセットとの間のホモグラフィを使用して、キーフレームの残りのセットについてのポーズを算出することと、前記基準キーフレームの前記ポーズおよび前記キーフレームの残りのセットについての前記ポーズを使用して、前記マップを作成することと、を行うように構成されていることによって、前記グラフ構造を使用して前記平面オブジェクトの前記マップを作成するように構成された、上記C8に記載の装置。
[C11]
前記プロセッサが前記グラフ構造のセンタノードへの近さおよび前記新しいキーフレームへの近さのうちの1つに基づいて前記基準キーフレームを選択するように構成された、上記C10に記載の装置。
[C12]
前記プロセッサが、前記新しい画像と前記複数の以前のキーフレームとのオーバーラップを決定するために前記新しい画像を前記複数の以前のキーフレームと比較することと、前記オーバーラップを閾値と比較することと、を行うように構成されていることによって、前記新しい画像を前記新しいキーフレームとして選択するように構成された、上記C8に記載の装置。
[C13]
前記プロセッサが、前記新しい画像が前記平面オブジェクトのものであることを検証するように構成されていることによって、前記新しい画像を前記新しいキーフレームとして選択するように構成された、上記C8に記載の装置。
[C14]
前記プロセッサが、隣接キーフレームのポーズ、および前記新しい画像と前記隣接キーフレームとの間の対応するホモグラフィに基づいて、前記新しい画像についての複数のポーズを決定することと、前記複数のポーズを、前記マップに関して前記新しい画像をトラッキングすることによって生み出された前記新しい画像についてのトラッカポーズと比較することと、前記複数のポーズと前記トラッカポーズとの間のペアワイズポーズ差分の和が閾値内にあり、前記新しい画像が前記平面オブジェクトのものであることを示していること、を決定することと、を行うように構成されていることによって、前記新しい画像が前記平面オブジェクトのものであることを検証するように構成された、上記C13に記載の装置。
[C15]
平面オブジェクトの複数の画像をキャプチャする手段と、
新しい画像を新しいキーフレームとして選択する手段と、
空間的に分散した前記平面オブジェクトについて、前記新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出する手段と、
前記新しいキーフレームおよび前記複数の以前のキーフレームの各々ならびに前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィを使用して、グラフ構造を生成する手段と、
前記グラフ構造を使用して前記平面オブジェクトのマップを作成する手段と、
前記マップおよび後でキャプチャされた画像に基づいて前記平面オブジェクトをトラッキングする手段と、
を備える装置。
[C16]
前記グラフ構造は木ベースのグラフ構造であり、前記新しいキーフレームおよび前記複数の以前のキーフレームの各々はノードであり、前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィは前記ノード間のエッジである、上記C15に記載の装置。
[C17]
前記グラフ構造を使用して前記平面オブジェクトの前記マップを作成するための前記手段が、
前記複数の以前のキーフレームから基準キーフレームを選択する手段と、
前記平面オブジェクトに関して前記基準キーフレームについてのポーズを算出する手段と、
前記基準キーフレームの前記ポーズおよび前記基準キーフレームとキーフレームの残りのセットとの間のホモグラフィを使用して、キーフレームの残りのセットについてのポーズを算出する手段と、
前記基準キーフレームの前記ポーズ、および前記キーフレームの残りのセットについての前記ポーズを使用して、前記マップを作成する手段と、
を含む、上記C15に記載の装置。
[C18]
前記新しい画像を前記新しいキーフレームとして選択するための前記手段が、前記新しい画像と前記複数の以前のキーフレームとのオーバーラップを決定するために前記新しい画像を前記複数の以前のキーフレームと比較する手段と、前記オーバーラップを閾値と比較する手段と、を含む、上記C15に記載の装置。
[C19]
前記新しい画像を前記新しいキーフレームとして選択するための前記手段が、前記新しい画像が前記平面オブジェクトのものであることを検証する手段を含む、上記C15に記載の装置。
[C20]
前記新しい画像が前記平面オブジェクトのものであることを検証するための前記手段が、
隣接キーフレームのポーズ、および前記新しい画像と前記隣接キーフレームとの間の対応するホモグラフィに基づいて、前記新しい画像についての複数のポーズを決定する手段と、
前記複数のポーズを、前記マップに関して前記新しい画像をトラッキングすることによって生み出された前記新しい画像についてのトラッカポーズと比較する手段と、
前記複数のポーズと前記トラッカポーズとの間のペアワイズポーズ差分の和が閾値内にあり、前記新しい画像が前記平面オブジェクトのものであることを示していること、を決定する手段と、
を含む、上記C19に記載の装置。
[C21]
プログラムコードが記憶された非一時的なコンピュータ可読媒体であって、
キャプチャされた平面オブジェクトの複数の画像から、新しい画像を新しいキーフレームとして選択するプログラムコードと、
空間的に分散した前記平面オブジェクトについて、前記新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出するプログラムコードと、
前記新しいキーフレームおよび前記複数の以前のキーフレームの各々ならびに前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィを使用して、グラフ構造を生成するプログラムコードと、
前記グラフ構造を使用して前記平面オブジェクトのマップを作成するプログラムコードと、
前記マップおよび後でキャプチャされた画像に基づいて前記平面オブジェクトをトラッキングするプログラムコードと、
を備える、非一時的なコンピュータ可読媒体。
[C22]
前記グラフ構造は木ベースのグラフ構造であり、前記新しいキーフレームおよび前記複数の以前のキーフレームの各々はノードであり、前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィは前記ノード間のエッジである、上記C21に記載の非一時的なコンピュータ可読媒体。
[C23]
前記グラフ構造を使用して前記平面オブジェクトの前記マップを作成する前記プログラムコードが、
前記複数の以前のキーフレームから基準キーフレームを選択するプログラムコードと、
前記平面オブジェクトに関して前記基準キーフレームについてのポーズを算出するプログラムコードと、
前記基準キーフレームの前記ポーズ、および前記基準キーフレームとキーフレームの残りのセットとの間のホモグラフィを使用して、キーフレームの残りのセットについてのポーズを算出するプログラムコードと、
前記基準キーフレームの前記ポーズ、および前記キーフレームの残りのセットについての前記ポーズを使用して、前記マップを作成するプログラムコードと、
を含む、上記C21に記載の非一時的なコンピュータ可読媒体。
[C24]
前記新しい画像を前記新しいキーフレームとして選択する前記プログラムコードが、前記新しい画像と前記複数の以前のキーフレームとのオーバーラップを決定するために前記新しい画像を前記複数の以前のキーフレームと比較するプログラムコードと、前記オーバーラップを閾値と比較するプログラムコードとを含む、上記C21に記載の非一時的なコンピュータ可読媒体。
[C25]
前記新しい画像を前記新しいキーフレームとして選択する前記プログラムコードが、前記新しい画像が前記平面オブジェクトのものであることを検証するプログラムコードを含む、上記C21に記載の非一時的なコンピュータ可読媒体。
[C26]
前記新しい画像が前記平面オブジェクトのものであることを検証する前記プログラムコードが、
隣接キーフレームのポーズ、および前記新しい画像と前記隣接キーフレームとの間の対応するホモグラフィに基づいて、前記新しい画像についての複数のポーズを決定するプログラムコードと、
前記複数のポーズを、前記マップに関して前記新しい画像をトラッキングすることによって生み出された前記新しい画像についてのトラッカポーズと比較するプログラムコードと、
前記複数のポーズと前記トラッカポーズとの間のペアワイズポーズ差分の和が閾値内にあり、前記新しい画像が前記平面オブジェクトのものであることを示していること、を決定するプログラムコードと、
を含む、上記C25に記載の非一時的なコンピュータ可読媒体。

Claims (18)

  1. 平面オブジェクトの複数の画像をキャプチャすることと、
    新しい画像を新しいキーフレームとして選択することと、
    空間的に分散した前記平面オブジェクトについて、前記新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出することと、
    前記新しいキーフレームおよび前記複数の以前のキーフレームの各々ならびに前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィを使用して、グラフ構造を生成することであって、前記グラフ構造では、前記新しいキーフレームおよび前記複数の以前のキーフレームの各々はノードであり、前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィは前記ノード間のエッジである、グラフ構造を生成することと、
    前記平面オブジェクトのマップを作成するために前記グラフ構造を使用することと、
    前記マップおよび後でキャプチャされた画像に基づいて前記平面オブジェクトをトラッキングすることと、
    を備える、方法
    ここにおいて、前記平面オブジェクトの前記マップを作成するために前記グラフ構造を使用することが、
    前記複数の以前のキーフレームから基準キーフレームを選択することと、
    前記平面オブジェクトに関して前記基準キーフレームについてのポーズを算出することと、
    前記基準キーフレームの前記ポーズ、および前記基準キーフレームとキーフレームの残りのセットとの間のホモグラフィを使用して、キーフレームの残りのセットについてのポーズを算出することと、
    前記マップを作成するために、前記基準キーフレームの前記ポーズおよび前記キーフレームの残りのセットについての前記ポーズを使用することと、を含む
  2. 前記基準キーフレームが、前記グラフ構造のセンタノードへの近さおよび前記新しいキーフレームへの近さのうちの1つに基づいて選択される、請求項に記載の方法。
  3. 前記新しい画像を前記新しいキーフレームとして選択することが、前記新しい画像と前記複数の以前のキーフレームとのオーバーラップを決定するために前記新しい画像を前記複数の以前のキーフレームと比較することと、前記オーバーラップを閾値と比較することと、を含む、請求項1に記載の方法。
  4. 前記新しい画像を前記新しいキーフレームとして選択することが、前記新しい画像が前記平面オブジェクトのものであることを検証することを含む、請求項1に記載の方法。
  5. 前記新しい画像が前記平面オブジェクトのものであることを検証することが、
    隣接キーフレームのポーズ、および前記新しい画像と前記隣接キーフレームとの間の対応するホモグラフィに基づいて、前記新しい画像についての複数のポーズを決定することと、
    前記複数のポーズを、前記マップに関して前記新しい画像をトラッキングすることによって生み出された前記新しい画像についてのトラッカポーズと比較することと、
    前記複数のポーズと前記トラッカポーズとの間のペアワイズポーズ差分の和が閾値内にあり、前記新しい画像が前記平面オブジェクトのものであることを示していること、を決定することと、
    を含む、請求項に記載の方法。
  6. 平面オブジェクトの複数の画像をキャプチャすることが可能なカメラと、
    前記カメラに結合されたプロセッサであって、新しい画像を新しいキーフレームとして選択することと、空間的に分散した前記平面オブジェクトについて、前記新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出することと、前記新しいキーフレームおよび前記複数の以前のキーフレームの各々ならびに前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィを使用して、グラフ構造を生成することであって、前記グラフ構造では、前記新しいキーフレームおよび前記複数の以前のキーフレームの各々はノードであり、前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィは前記ノード間のエッジである、グラフ構造を生成することと、前記平面オブジェクトのマップを作成するために前記グラフ構造を使用することと、前記マップおよび後でキャプチャされた画像に基づいて前記平面オブジェクトをトラッキングすることと、を行うように構成されたプロセッサと、
    を備える装置
    ここにおいて、前記プロセッサは、前記複数の以前のキーフレームから基準キーフレームを選択することと、前記平面オブジェクトに関して前記基準キーフレームについてのポーズを算出することと、前記基準キーフレームの前記ポーズ、および前記基準キーフレームとキーフレームの残りのセットとの間のホモグラフィを使用して、キーフレームの残りのセットについてのポーズを算出することと、前記基準キーフレームの前記ポーズおよび前記キーフレームの残りのセットについての前記ポーズを使用して、前記マップを作成することと、を行うように構成されていることによって、前記グラフ構造を使用して前記平面オブジェクトの前記マップを作成するように構成される
  7. 前記プロセッサが前記グラフ構造のセンタノードへの近さおよび前記新しいキーフレームへの近さのうちの1つに基づいて前記基準キーフレームを選択するように構成された、請求項に記載の装置。
  8. 前記プロセッサが、前記新しい画像と前記複数の以前のキーフレームとのオーバーラップを決定するために前記新しい画像を前記複数の以前のキーフレームと比較することと、前記オーバーラップを閾値と比較することと、を行うように構成されていることによって、前記新しい画像を前記新しいキーフレームとして選択するように構成された、請求項に記載の装置。
  9. 前記プロセッサが、前記新しい画像が前記平面オブジェクトのものであることを検証するように構成されていることによって、前記新しい画像を前記新しいキーフレームとして選択するように構成された、請求項に記載の装置。
  10. 前記プロセッサが、隣接キーフレームのポーズ、および前記新しい画像と前記隣接キーフレームとの間の対応するホモグラフィに基づいて、前記新しい画像についての複数のポーズを決定することと、前記複数のポーズを、前記マップに関して前記新しい画像をトラッキングすることによって生み出された前記新しい画像についてのトラッカポーズと比較することと、前記複数のポーズと前記トラッカポーズとの間のペアワイズポーズ差分の和が閾値内にあり、前記新しい画像が前記平面オブジェクトのものであることを示していること、を決定することと、を行うように構成されていることによって、前記新しい画像が前記平面オブジェクトのものであることを検証するように構成された、請求項に記載の装置。
  11. 平面オブジェクトの複数の画像をキャプチャする手段と、
    新しい画像を新しいキーフレームとして選択する手段と、
    空間的に分散した前記平面オブジェクトについて、前記新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出する手段と、
    前記新しいキーフレームおよび前記複数の以前のキーフレームの各々ならびに前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィを使用して、グラフ構造を生成する手段であって、前記グラフ構造では、前記新しいキーフレームおよび前記複数の以前のキーフレームの各々はノードであり、前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィは前記ノード間のエッジである、グラフ構造を生成する手段と、
    前記グラフ構造を使用して前記平面オブジェクトのマップを作成する手段と、
    前記マップおよび後でキャプチャされた画像に基づいて前記平面オブジェクトをトラッキングする手段と、
    を備える装置
    ここにおいて、前記グラフ構造を使用して前記平面オブジェクトの前記マップを作成するための前記手段が、
    前記複数の以前のキーフレームから基準キーフレームを選択する手段と、
    前記平面オブジェクトに関して前記基準キーフレームについてのポーズを算出する手段と、
    前記基準キーフレームの前記ポーズおよび前記基準キーフレームとキーフレームの残りのセットとの間のホモグラフィを使用して、キーフレームの残りのセットについてのポーズを算出する手段と、
    前記基準キーフレームの前記ポーズ、および前記キーフレームの残りのセットについての前記ポーズを使用して、前記マップを作成する手段とを含む
  12. 前記新しい画像を前記新しいキーフレームとして選択するための前記手段が、前記新しい画像と前記複数の以前のキーフレームとのオーバーラップを決定するために前記新しい画像を前記複数の以前のキーフレームと比較する手段と、前記オーバーラップを閾値と比較する手段と、を含む、請求項11に記載の装置。
  13. 前記新しい画像を前記新しいキーフレームとして選択するための前記手段が、前記新しい画像が前記平面オブジェクトのものであることを検証する手段を含む、請求項11に記載の装置。
  14. 前記新しい画像が前記平面オブジェクトのものであることを検証するための前記手段が、
    隣接キーフレームのポーズ、および前記新しい画像と前記隣接キーフレームとの間の対応するホモグラフィに基づいて、前記新しい画像についての複数のポーズを決定する手段と、
    前記複数のポーズを、前記マップに関して前記新しい画像をトラッキングすることによって生み出された前記新しい画像についてのトラッカポーズと比較する手段と、
    前記複数のポーズと前記トラッカポーズとの間のペアワイズポーズ差分の和が閾値内にあり、前記新しい画像が前記平面オブジェクトのものであることを示していること、を決定する手段と、
    を含む、請求項13に記載の装置。
  15. プログラムコードが記憶された非一時的なコンピュータ可読記憶媒体であって、
    キャプチャされた平面オブジェクトの複数の画像から、新しい画像を新しいキーフレームとして選択することをプロセッサに実行させるプログラムコードと、
    空間的に分散した前記平面オブジェクトについて、前記新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出することをプロセッサに実行させるプログラムコードと、
    前記新しいキーフレームおよび前記複数の以前のキーフレームの各々ならびに前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィを使用して、グラフ構造を生成することをプロセッサに実行させるプログラムコードであって、前記グラフ構造では、前記新しいキーフレームおよび前記複数の以前のキーフレームの各々はノードであり、前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィは前記ノード間のエッジである、プログラムコードと、
    前記グラフ構造を使用して前記平面オブジェクトのマップを作成することをプロセッサに実行させるプログラムコードと、
    前記マップおよび後でキャプチャされた画像に基づいて前記平面オブジェクトをトラッキングすることをプロセッサに実行させるプログラムコードと、
    を備え
    前記グラフ構造を使用して前記平面オブジェクトのマップを作成することをプロセッサに実行させる前記プログラムコードが、さらに、
    前記複数の以前のキーフレームから基準キーフレームを選択することをプロセッサに実行させるプログラムコードと、
    前記平面オブジェクトに関して前記基準キーフレームについてのポーズを算出することをプロセッサに実行させるプログラムコードと、
    前記基準キーフレームの前記ポーズ、および前記基準キーフレームとキーフレームの残りのセットとの間のホモグラフィを使用して、キーフレームの残りのセットについてのポーズを算出することをプロセッサに実行させるプログラムコードと、
    前記基準キーフレームの前記ポーズ、および前記キーフレームの残りのセットについての前記ポーズを使用して、前記マップを作成することをプロセッサに実行させるプログラムコードとを含む、非一時的なコンピュータ可読記憶媒体。
  16. 前記新しい画像を前記新しいキーフレームとして選択することをプロセッサに実行させる前記プログラムコードが、前記新しい画像と前記複数の以前のキーフレームとのオーバーラップを決定するために前記新しい画像を前記複数の以前のキーフレームと比較することをプロセッサに実行させるプログラムコードと、前記オーバーラップを閾値と比較することをプロセッサに実行させるプログラムコードとを含む、請求項15に記載の非一時的なコンピュータ可読記憶媒体。
  17. 前記新しい画像を前記新しいキーフレームとして選択することをプロセッサに実行させる前記プログラムコードが、前記新しい画像が前記平面オブジェクトのものであることを検証することをプロセッサに実行させるプログラムコードを含む、請求項15に記載の非一時的なコンピュータ可読記憶媒体。
  18. 前記新しい画像が前記平面オブジェクトのものであることを検証することをプロセッサに実行させる前記プログラムコードが、
    隣接キーフレームのポーズ、および前記新しい画像と前記隣接キーフレームとの間の対応するホモグラフィに基づいて、前記新しい画像についての複数のポーズを決定することをプロセッサに実行させるプログラムコードと、
    前記複数のポーズを、前記マップに関して前記新しい画像をトラッキングすることによって生み出された前記新しい画像についてのトラッカポーズと比較することをプロセッサに実行させるプログラムコードと、
    前記複数のポーズと前記トラッカポーズとの間のペアワイズポーズ差分の和が閾値内にあり、前記新しい画像が前記平面オブジェクトのものであることを示していること、を決定することをプロセッサに実行させるプログラムコードと、
    を含む、請求項17に記載の非一時的なコンピュータ可読記憶媒体。
JP2014513519A 2011-05-27 2012-05-04 モバイルデバイスのための平面マッピングおよびトラッキング Expired - Fee Related JP5722502B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US201161490764P true 2011-05-27 2011-05-27
US61/490,764 2011-05-27
US13/463,643 2012-05-03
US13/463,643 US9020187B2 (en) 2011-05-27 2012-05-03 Planar mapping and tracking for mobile devices
PCT/US2012/036624 WO2012166293A1 (en) 2011-05-27 2012-05-04 Planar mapping and tracking for mobile devices

Publications (2)

Publication Number Publication Date
JP2014515530A JP2014515530A (ja) 2014-06-30
JP5722502B2 true JP5722502B2 (ja) 2015-05-20

Family

ID=47219248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014513519A Expired - Fee Related JP5722502B2 (ja) 2011-05-27 2012-05-04 モバイルデバイスのための平面マッピングおよびトラッキング

Country Status (6)

Country Link
US (1) US9020187B2 (ja)
EP (1) EP2715667B1 (ja)
JP (1) JP5722502B2 (ja)
KR (1) KR101532864B1 (ja)
CN (1) CN103858148B (ja)
WO (1) WO2012166293A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012166814A1 (en) * 2011-05-31 2012-12-06 Honda Motor Co., Ltd. Online environment mapping
US10262462B2 (en) * 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US9952042B2 (en) 2013-07-12 2018-04-24 Magic Leap, Inc. Method and system for identifying a user location
US9237340B2 (en) * 2012-10-10 2016-01-12 Texas Instruments Incorporated Camera pose estimation
US9332243B2 (en) * 2012-10-17 2016-05-03 DotProduct LLC Handheld portable optical scanner and method of using
US10674135B2 (en) * 2012-10-17 2020-06-02 DotProduct LLC Handheld portable optical scanner and method of using
US9684941B2 (en) * 2012-10-29 2017-06-20 Digimarc Corporation Determining pose for use with digital watermarking, fingerprinting and augmented reality
US10733798B2 (en) 2013-03-14 2020-08-04 Qualcomm Incorporated In situ creation of planar natural feature targets
US9501725B2 (en) 2013-06-11 2016-11-22 Qualcomm Incorporated Interactive and automatic 3-D object scanning method for the purpose of database creation
US9036044B1 (en) * 2013-07-22 2015-05-19 Google Inc. Adjusting camera parameters associated with a plurality of images
JP6071142B2 (ja) * 2013-08-28 2017-02-01 Kddi株式会社 画像変換装置
JP6168601B2 (ja) * 2013-09-27 2017-07-26 Kddi株式会社 画像変換装置
KR20150097251A (ko) * 2014-02-18 2015-08-26 한국전자통신연구원 다중 영상간 대응점을 이용한 카메라 정렬 방법
US9547935B2 (en) * 2014-02-24 2017-01-17 Vricon Systems Ab Method and a system for building a three-dimensional model from satellite images
GB2524960B (en) * 2014-04-04 2019-05-15 Imagineer Systems Ltd Processing of digital motion images
WO2016065375A1 (en) * 2014-10-27 2016-05-06 Fts Computertechnik Gmbh Computer vision monitoring for a computer vision system
US10185775B2 (en) * 2014-12-19 2019-01-22 Qualcomm Technologies, Inc. Scalable 3D mapping system
US9791264B2 (en) * 2015-02-04 2017-10-17 Sony Corporation Method of fast and robust camera location ordering
EP3078935A1 (en) * 2015-04-10 2016-10-12 The European Atomic Energy Community (EURATOM), represented by the European Commission Method and device for real-time mapping and localization
US9558424B2 (en) * 2015-06-30 2017-01-31 Mitsubishi Electric Research Laboratories, Inc. On-road stereo visual odometry without explicit pose determinations
US9852550B2 (en) * 2015-08-05 2017-12-26 Civic Resource Group International Inc. System and method of markerless injection of ads in AR
CN105719314A (zh) * 2016-01-30 2016-06-29 西北工业大学 基于单应性估计和扩展卡尔曼滤波的无人机位置估计方法
JP6775969B2 (ja) * 2016-02-29 2020-10-28 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US10558881B2 (en) * 2016-08-24 2020-02-11 Electronics And Telecommunications Research Institute Parallax minimization stitching method and apparatus using control points in overlapping region
US10466953B2 (en) 2017-03-30 2019-11-05 Microsoft Technology Licensing, Llc Sharing neighboring map data across devices
US10379606B2 (en) 2017-03-30 2019-08-13 Microsoft Technology Licensing, Llc Hologram anchor prioritization
CN110800024A (zh) * 2018-05-31 2020-02-14 谷歌有限责任公司 基于明确表达的距离场的手跟踪
CN110517319A (zh) * 2017-07-07 2019-11-29 腾讯科技(深圳)有限公司 一种相机姿态信息确定的方法及相关装置
US10762713B2 (en) * 2017-09-18 2020-09-01 Shoppar Inc. Method for developing augmented reality experiences in low computer power systems and devices
US10636205B2 (en) 2018-01-05 2020-04-28 Qualcomm Incorporated Systems and methods for outlier edge rejection
US10593014B2 (en) 2018-03-26 2020-03-17 Ricoh Company, Ltd. Image processing apparatus, image processing system, image capturing system, image processing method

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6137491A (en) 1998-06-05 2000-10-24 Microsoft Corporation Method and apparatus for reconstructing geometry using geometrically constrained structure from motion with points on planes
JP2004198211A (ja) 2002-12-18 2004-07-15 Aisin Seiki Co Ltd 移動体周辺監視装置
GB2400287A (en) 2003-04-02 2004-10-06 Autodesk Canada Inc Three-Dimensional Image Compositing
US7565004B2 (en) 2003-06-23 2009-07-21 Shoestring Research, Llc Fiducial designs and pose estimation for augmented reality
GB0625455D0 (en) * 2006-12-20 2007-01-31 Mitsubishi Electric Inf Tech Graph-based multiple panorama extraction from unordered image sets
AU2008271910A1 (en) 2007-06-29 2009-01-08 Three Pixels Wide Pty Ltd Method and system for generating a 3D model from images
JP4337929B2 (ja) 2007-12-25 2009-09-30 トヨタ自動車株式会社 移動状態推定装置
US20100045701A1 (en) 2008-08-22 2010-02-25 Cybernet Systems Corporation Automatic mapping of augmented reality fiducials
JP2011043419A (ja) * 2009-08-21 2011-03-03 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
CN101763647A (zh) * 2010-02-02 2010-06-30 浙江大学 一种基于关键帧的实时摄像机跟踪方法
CN102075686B (zh) * 2011-02-10 2013-10-30 北京航空航天大学 一种鲁棒的实时在线摄像机跟踪方法

Also Published As

Publication number Publication date
EP2715667A1 (en) 2014-04-09
CN103858148A (zh) 2014-06-11
WO2012166293A1 (en) 2012-12-06
EP2715667B1 (en) 2019-01-23
US20120300979A1 (en) 2012-11-29
US9020187B2 (en) 2015-04-28
KR20140014298A (ko) 2014-02-05
JP2014515530A (ja) 2014-06-30
CN103858148B (zh) 2017-12-01
KR101532864B1 (ko) 2015-06-30

Similar Documents

Publication Publication Date Title
US10650546B2 (en) Method of providing a descriptor for at least one feature of an image and method of matching features
Forster et al. SVO: Semidirect visual odometry for monocular and multicamera systems
Walch et al. Image-based localization using lstms for structured feature correlation
US9330307B2 (en) Learning based estimation of hand and finger pose
US9679381B2 (en) Localisation and mapping
EP2917754B1 (en) Image processing method, particularly used in a vision-based localization of a device
JP6043856B2 (ja) Rgbdカメラを用いた頭部ポーズ推定
JP6374107B2 (ja) アイトラッキングシステムのための改良されたキャリブレーション
US10062003B2 (en) Real-time, model-based object detection and pose estimation
Baak et al. A data-driven approach for real-time full body pose reconstruction from a depth camera
CN105210113B (zh) 具有一般和全景相机移动的单眼视觉slam
JP6162805B2 (ja) 拡張の継続性の維持
US9058514B2 (en) Apparatus and method for estimating joint structure of human body
EP3001384B1 (en) Three-dimensional coordinate computing apparatus, three-dimensional coordinate computing method, and program for three-dimensional coordinate computing
Baboud et al. Automatic photo-to-terrain alignment for the annotation of mountain pictures
US9378431B2 (en) Method of matching image features with reference features and integrated circuit therefor
Ventura et al. Global localization from monocular slam on a mobile phone
Fathi et al. Automated sparse 3D point cloud generation of infrastructure using its distinctive visual features
TWI485650B (zh) 用於多相機校準之方法及配置
JP5660648B2 (ja) マルチユーザ拡張現実におけるオンライン参照生成および追跡
Paucher et al. Location-based augmented reality on mobile phones
Wagner et al. Robust and unobtrusive marker tracking on mobile phones
US9135514B2 (en) Real time tracking/detection of multiple targets
JP2015015021A (ja) 被写体の三次元表現を生成する方法およびシステム
Tanskanen et al. Live metric 3d reconstruction on mobile phones

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141028

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150325

R150 Certificate of patent or registration of utility model

Ref document number: 5722502

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees