(57)【特許請求の範囲】
【請求項１】
平面オブジェクトの複数の画像をキャプチャすることと、
新しい画像を新しいキーフレームとして選択することと、
空間的に分散した前記平面オブジェクトについて、前記新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出することと、
前記新しいキーフレームおよび前記複数の以前のキーフレームの各々ならびに前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィを使用して、グラフ構造を生成することであって、前記グラフ構造では、前記新しいキーフレームおよび前記複数の以前のキーフレームの各々はノードであり、前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィは前記ノード間のエッジである、グラフ構造を生成することと、
前記平面オブジェクトのマップを作成するために前記グラフ構造を使用することと、
前記マップおよび後でキャプチャされた画像に基づいて前記平面オブジェクトをトラッキングすることと、
を備える、方法、
ここにおいて、前記平面オブジェクトの前記マップを作成するために前記グラフ構造を使用することが、
前記複数の以前のキーフレームから基準キーフレームを選択することと、
前記平面オブジェクトに関して前記基準キーフレームについてのポーズを算出することと、
前記基準キーフレームの前記ポーズ、および前記基準キーフレームとキーフレームの残りのセットとの間のホモグラフィを使用して、キーフレームの残りのセットについてのポーズを算出することと、
前記マップを作成するために、前記基準キーフレームの前記ポーズおよび前記キーフレームの残りのセットについての前記ポーズを使用することと、を含む。
【請求項２】
前記基準キーフレームが、前記グラフ構造のセンタノードへの近さおよび前記新しいキーフレームへの近さのうちの１つに基づいて選択される、請求項１に記載の方法。
【請求項３】
前記新しい画像を前記新しいキーフレームとして選択することが、前記新しい画像と前記複数の以前のキーフレームとのオーバーラップを決定するために前記新しい画像を前記複数の以前のキーフレームと比較することと、前記オーバーラップを閾値と比較することと、を含む、請求項１に記載の方法。
【請求項４】
前記新しい画像を前記新しいキーフレームとして選択することが、前記新しい画像が前記平面オブジェクトのものであることを検証することを含む、請求項１に記載の方法。
【請求項５】
前記新しい画像が前記平面オブジェクトのものであることを検証することが、
隣接キーフレームのポーズ、および前記新しい画像と前記隣接キーフレームとの間の対応するホモグラフィに基づいて、前記新しい画像についての複数のポーズを決定することと、
前記複数のポーズを、前記マップに関して前記新しい画像をトラッキングすることによって生み出された前記新しい画像についてのトラッカポーズと比較することと、
前記複数のポーズと前記トラッカポーズとの間のペアワイズポーズ差分の和が閾値内にあり、前記新しい画像が前記平面オブジェクトのものであることを示していること、を決定することと、
を含む、請求項４に記載の方法。
【請求項６】
平面オブジェクトの複数の画像をキャプチャすることが可能なカメラと、
前記カメラに結合されたプロセッサであって、新しい画像を新しいキーフレームとして選択することと、空間的に分散した前記平面オブジェクトについて、前記新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出することと、前記新しいキーフレームおよび前記複数の以前のキーフレームの各々ならびに前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィを使用して、グラフ構造を生成することであって、前記グラフ構造では、前記新しいキーフレームおよび前記複数の以前のキーフレームの各々はノードであり、前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィは前記ノード間のエッジである、グラフ構造を生成することと、前記平面オブジェクトのマップを作成するために前記グラフ構造を使用することと、前記マップおよび後でキャプチャされた画像に基づいて前記平面オブジェクトをトラッキングすることと、を行うように構成されたプロセッサと、
を備える装置、
ここにおいて、前記プロセッサは、前記複数の以前のキーフレームから基準キーフレームを選択することと、前記平面オブジェクトに関して前記基準キーフレームについてのポーズを算出することと、前記基準キーフレームの前記ポーズ、および前記基準キーフレームとキーフレームの残りのセットとの間のホモグラフィを使用して、キーフレームの残りのセットについてのポーズを算出することと、前記基準キーフレームの前記ポーズおよび前記キーフレームの残りのセットについての前記ポーズを使用して、前記マップを作成することと、を行うように構成されていることによって、前記グラフ構造を使用して前記平面オブジェクトの前記マップを作成するように構成される。
【請求項７】
前記プロセッサが前記グラフ構造のセンタノードへの近さおよび前記新しいキーフレームへの近さのうちの１つに基づいて前記基準キーフレームを選択するように構成された、請求項６に記載の装置。
【請求項８】
前記プロセッサが、前記新しい画像と前記複数の以前のキーフレームとのオーバーラップを決定するために前記新しい画像を前記複数の以前のキーフレームと比較することと、前記オーバーラップを閾値と比較することと、を行うように構成されていることによって、前記新しい画像を前記新しいキーフレームとして選択するように構成された、請求項６に記載の装置。
【請求項９】
前記プロセッサが、前記新しい画像が前記平面オブジェクトのものであることを検証するように構成されていることによって、前記新しい画像を前記新しいキーフレームとして選択するように構成された、請求項６に記載の装置。
【請求項１０】
前記プロセッサが、隣接キーフレームのポーズ、および前記新しい画像と前記隣接キーフレームとの間の対応するホモグラフィに基づいて、前記新しい画像についての複数のポーズを決定することと、前記複数のポーズを、前記マップに関して前記新しい画像をトラッキングすることによって生み出された前記新しい画像についてのトラッカポーズと比較することと、前記複数のポーズと前記トラッカポーズとの間のペアワイズポーズ差分の和が閾値内にあり、前記新しい画像が前記平面オブジェクトのものであることを示していること、を決定することと、を行うように構成されていることによって、前記新しい画像が前記平面オブジェクトのものであることを検証するように構成された、請求項９に記載の装置。
【請求項１１】
平面オブジェクトの複数の画像をキャプチャする手段と、
新しい画像を新しいキーフレームとして選択する手段と、
空間的に分散した前記平面オブジェクトについて、前記新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出する手段と、
前記新しいキーフレームおよび前記複数の以前のキーフレームの各々ならびに前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィを使用して、グラフ構造を生成する手段であって、前記グラフ構造では、前記新しいキーフレームおよび前記複数の以前のキーフレームの各々はノードであり、前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィは前記ノード間のエッジである、グラフ構造を生成する手段と、
前記グラフ構造を使用して前記平面オブジェクトのマップを作成する手段と、
前記マップおよび後でキャプチャされた画像に基づいて前記平面オブジェクトをトラッキングする手段と、
を備える装置、
ここにおいて、前記グラフ構造を使用して前記平面オブジェクトの前記マップを作成するための前記手段が、
前記複数の以前のキーフレームから基準キーフレームを選択する手段と、
前記平面オブジェクトに関して前記基準キーフレームについてのポーズを算出する手段と、
前記基準キーフレームの前記ポーズおよび前記基準キーフレームとキーフレームの残りのセットとの間のホモグラフィを使用して、キーフレームの残りのセットについてのポーズを算出する手段と、
前記基準キーフレームの前記ポーズ、および前記キーフレームの残りのセットについての前記ポーズを使用して、前記マップを作成する手段とを含む。
【請求項１２】
前記新しい画像を前記新しいキーフレームとして選択するための前記手段が、前記新しい画像と前記複数の以前のキーフレームとのオーバーラップを決定するために前記新しい画像を前記複数の以前のキーフレームと比較する手段と、前記オーバーラップを閾値と比較する手段と、を含む、請求項１１に記載の装置。
【請求項１３】
前記新しい画像を前記新しいキーフレームとして選択するための前記手段が、前記新しい画像が前記平面オブジェクトのものであることを検証する手段を含む、請求項１１に記載の装置。
【請求項１４】
前記新しい画像が前記平面オブジェクトのものであることを検証するための前記手段が、
隣接キーフレームのポーズ、および前記新しい画像と前記隣接キーフレームとの間の対応するホモグラフィに基づいて、前記新しい画像についての複数のポーズを決定する手段と、
前記複数のポーズを、前記マップに関して前記新しい画像をトラッキングすることによって生み出された前記新しい画像についてのトラッカポーズと比較する手段と、
前記複数のポーズと前記トラッカポーズとの間のペアワイズポーズ差分の和が閾値内にあり、前記新しい画像が前記平面オブジェクトのものであることを示していること、を決定する手段と、
を含む、請求項１３に記載の装置。
【請求項１５】
プログラムコードが記憶された非一時的なコンピュータ可読記憶媒体であって、
キャプチャされた平面オブジェクトの複数の画像から、新しい画像を新しいキーフレームとして選択することをプロセッサに実行させるプログラムコードと、
空間的に分散した前記平面オブジェクトについて、前記新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出することをプロセッサに実行させるプログラムコードと、
前記新しいキーフレームおよび前記複数の以前のキーフレームの各々ならびに前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィを使用して、グラフ構造を生成することをプロセッサに実行させるプログラムコードであって、前記グラフ構造では、前記新しいキーフレームおよび前記複数の以前のキーフレームの各々はノードであり、前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィは前記ノード間のエッジである、プログラムコードと、
前記グラフ構造を使用して前記平面オブジェクトのマップを作成することをプロセッサに実行させるプログラムコードと、
前記マップおよび後でキャプチャされた画像に基づいて前記平面オブジェクトをトラッキングすることをプロセッサに実行させるプログラムコードと、
を備え、
前記グラフ構造を使用して前記平面オブジェクトのマップを作成することをプロセッサに実行させる前記プログラムコードが、さらに、
前記複数の以前のキーフレームから基準キーフレームを選択することをプロセッサに実行させるプログラムコードと、
前記平面オブジェクトに関して前記基準キーフレームについてのポーズを算出することをプロセッサに実行させるプログラムコードと、
前記基準キーフレームの前記ポーズ、および前記基準キーフレームとキーフレームの残りのセットとの間のホモグラフィを使用して、キーフレームの残りのセットについてのポーズを算出することをプロセッサに実行させるプログラムコードと、
前記基準キーフレームの前記ポーズ、および前記キーフレームの残りのセットについての前記ポーズを使用して、前記マップを作成することをプロセッサに実行させるプログラムコードとを含む、非一時的なコンピュータ可読記憶媒体。
【請求項１６】
前記新しい画像を前記新しいキーフレームとして選択することをプロセッサに実行させる前記プログラムコードが、前記新しい画像と前記複数の以前のキーフレームとのオーバーラップを決定するために前記新しい画像を前記複数の以前のキーフレームと比較することをプロセッサに実行させるプログラムコードと、前記オーバーラップを閾値と比較することをプロセッサに実行させるプログラムコードとを含む、請求項１５に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１７】
前記新しい画像を前記新しいキーフレームとして選択することをプロセッサに実行させる前記プログラムコードが、前記新しい画像が前記平面オブジェクトのものであることを検証することをプロセッサに実行させるプログラムコードを含む、請求項１５に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１８】
前記新しい画像が前記平面オブジェクトのものであることを検証することをプロセッサに実行させる前記プログラムコードが、
隣接キーフレームのポーズ、および前記新しい画像と前記隣接キーフレームとの間の対応するホモグラフィに基づいて、前記新しい画像についての複数のポーズを決定することをプロセッサに実行させるプログラムコードと、
前記複数のポーズを、前記マップに関して前記新しい画像をトラッキングすることによって生み出された前記新しい画像についてのトラッカポーズと比較することをプロセッサに実行させるプログラムコードと、
前記複数のポーズと前記トラッカポーズとの間のペアワイズポーズ差分の和が閾値内にあり、前記新しい画像が前記平面オブジェクトのものであることを示していること、を決定することをプロセッサに実行させるプログラムコードと、
を含む、請求項１７に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【関連出願】
【０００１】
本願は、２０１１年５月２７日に出願された「Planar Mapping and Tracking for Mobile Phones」と題された米国仮出願番号第６１／４９０，７６４号に対して米国特許法１１９条に基づき優先権を主張する２０１２年５月３日に出願された「Planar Mapping and Tracking for Mobile Phones」と題された米国出願番号第１３／４６３，６４３号に対して優先権を主張し、それらの両方は本願の譲受人に譲渡され、本願に参照によって組み込まれる。
【技術分野】
【０００２】
本明細書で説明される主題の実施形態は、概してトラッキングおよびマッピングに関し、より詳細にはモバイルデバイスによる視覚に基づいたマッピングおよびトラッキングに関する。
【背景技術】
【０００３】
近年、モデルベースのトラッキングがモバイルデバイスの最先端となってきた。リアルタイムでの、アプリオリに知られた十分にテクスチャされた（well-textured）画像の自然的特徴の検出およびトラッキングは、複数のグループによって示されており、それら技術は商用アプリケーションおよびソフトウェア開発キットに用いられている。
【０００４】
単眼カメラを用いた６自由度（６ＤＯＦ）でのトラッキング、および完全な３次元でのアプリオリに未知なシーンのマッピングは、特にセルラ電話やスマートフォンのようなモバイルデバイスにおいて未だ困難なタスクであり続けている。ロボット工学コミュニティから知られる古典的な拡張カルマンフィルタ（ＥＫＦ：Extended Kalman filter）ベースのアプローチは、現在計算的に実行不可能である。良く知られている並列トラッキングとマッピング（ＰＴＡＭ）システムのみが、現在のスマートフォン上でプロトタイプとして稼働することが示されている。しかしながら、ＰＴＡＭマッピング方法は、バンドル調整技法に基づいており、高い計算能力が要求されることによるマップサイズの増大にうまく対応できない。
【発明の概要】
【０００５】
リアルタイムトラッキングおよびマッピングは、未知の平面オブジェクトの画像を使用して行われる。平面オブジェクトの複数の画像がキャプチャされる。新しい画像が新しいキーフレームとして選択される。ホモグラフィ（homography）が、空間的に分散した平面オブジェクトについて、新しいキーフレームおよび複数の以前のキーフレームの各々について推定される。グラフ構造が、新しいキーフレームおよび複数の以前のキーフレームの各々ならびに新しいキーフレームと複数の以前のキーフレームの各々との間のホモグラフィを使用して生成される。グラフ構造は、木ベースのグラフ構造であり得、新しいキーフレームおよび複数の以前のキーフレームの各々は、ノードであり、新しいキーフレームと複数の以前のキーフレームの各々との間のホモグラフィは、ノード間のエッジである。グラフ構造は、平面オブジェクトのマップを作成するために使用される。平面オブジェクトがマップおよび後でキャプチャされた画像に基づいてトラッキングされる。
【０００６】
１つの態様では、方法は、平面オブジェクトの複数の画像をキャプチャすることと、新しい画像を新しいキーフレームとして選択することと、空間的に分散した平面オブジェクトについて、新しいキーフレームと複数の以前のキーフレームの各々との間のホモグラフィを算出することと、新しいキーフレームおよび複数の以前のキーフレームの各々ならびに新しいキーフレームと複数の以前のキーフレームの各々との間のホモグラフィを使用して、グラフ構造を生成することと、グラフ構造を使用して平面オブジェクトのマップを作成することと、マップおよび後でキャプチャされた画像に基づいて平面オブジェクトをトラッキングすることと、を含む。
【０００７】
１つの態様では、装置は、平面オブジェクトの複数の画像をキャプチャできるカメラと、そのカメラに結合されたプロセッサとを含み、該プロセッサは、新しい画像を新しいキーフレームとして選択し、空間的に分散した平面オブジェクトについて、新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出し、新しいキーフレームおよび複数の以前のキーフレームの各々ならびに新しいキーフレームと複数の以前のキーフレームの各々との間のホモグラフィを使用して、グラフ構造を生成し、平面オブジェクトのマップを作成するためにグラフ構造を使用し、マップおよび後でキャプチャされた画像に基づいて平面オブジェクトをトラッキングするように構成される。
【０００８】
１つの態様では、装置は、平面オブジェクトの複数の画像をキャプチャする手段と、新しい画像を新しいキーフレームとして選択する手段と、空間的に分散した平面オブジェクトについて、新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出する手段と、新しいキーフレームおよび複数の以前のキーフレームの各々ならびに新しいキーフレームと複数の以前のキーフレームの各々との間のホモグラフィを使用して、グラフ構造を生成する手段と、グラフ構造を使用して平面オブジェクトのマップを作成する手段と、マップおよび後でキャプチャされた画像に基づいて平面オブジェクトをトラッキングする手段と、を含む。
【０００９】
１つの態様では、プログラムコードが記憶された非一時的なコンピュータ可読媒体は、キャプチャされた平面オブジェクトの複数の画像から、新しい画像を新しいキーフレームとして選択するプログラムコードと、空間的に分散した平面オブジェクトについて、新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出するプログラムコードと、新しいキーフレームおよび複数の以前のキーフレームの各々ならびに新しいキーフレームと複数の以前のキーフレームの各々との間のホモグラフィを使用して、グラフ構造を生成するプログラムコードと、グラフ構造を使用して平面オブジェクトのマップを作成するプログラムコードと、マップおよび後でキャプチャされた画像に基づいて平面オブジェクトをトラッキングするプログラムコードと、を含む。
【図面の簡単な説明】
【００１０】
【図１】図１は、未知のテクスチャされた平面オブジェクトのキャプチャされた画像を使用してリアルタイムポーズトラッキングおよびマッピングが可能なモバイルデバイスを示す。
【図２】図２は、ポーズトラッキングおよびマッピングのためにモバイルデバイスによって使用される、密接に結合されたトラッキングコンポーネントおよびマッピングコンポーネントを示す。
【図３】図３は、四分木で構造化された２つのキーフレーム内の点からなる平面マップ、および２つのキーフレームの間のホモグラフィを示す。
【図４】図４は、平面オブジェクトのキャプチャされた画像を使用するリアルタイムポーズトラッキングおよびマッピングの方法を示すフローチャートである。
【図５】図５は、複数のキーフレームをグラフのノードとして示し、キーフレーム間のホモグラフィをグラフのエッジとして表示するポーズグラフを示す。
【図６Ａ】図６Ａは、平面画像レクティフィケーション（rectification）・パラメタリゼーションの幾何学的解釈を示す。
【図６Ｂ】図６Ｂは、平面画像レクティフィケーション・パラメタリゼーションの幾何学的解釈を示す。
【図６Ｃ】図６Ｃは、平面画像レクティフィケーション・パラメタリゼーションの幾何学的解釈を示す。
【図６Ｄ】図６Ｄは、平面画像レクティフィケーション・パラメタリゼーションの幾何学的解釈を示す。
【図７】図７は、ポーズ一貫性（pose consistency）に基づいてキーフレーム候補をキーフレームとして選択する方法を示すフローチャートである。
【図８】図８は、図５で示されたポーズグラフと類似しているが、キーフレーム候補Ｆを含むポーズグラフを示す。
【図９】図９は、新しいキーフレームについてのノード（ポーズ）およびエッジ（ホモグラフィ）を含むグラフ構造を使用するマップを作成する方法を示す。
【図１０Ａ】図１０Ａは、平面推定およびポーズアップデートのためのホモグラフィ読み出し操作への異なるアプローチを示す。
【図１０Ｂ】図１０Ｂは、平面推定およびポーズアップデートのためのホモグラフィ読み出し操作への異なるアプローチを示す。
【図１１】図１１は、平面点マップに対するカメラポーズをトラッキングする方法のフローチャートである。
【図１２】図１２は、上述の、キャプチャされた画像を使用してポーズトラッキングおよびマッピングが可能なモバイルデバイスのブロック図である。
【発明を実施するための形態】
【００１１】
図１は、例えば、較正された単眼カメラであり得るカメラ１１０から取得された、キャプチャされた画像を使用して、未知のテクスチャされた平面オブジェクトのリアルタイムポーズトラッキングおよびマッピングが可能なモバイルデバイス１００を示す。モバイルデバイス１００は、キーフレーム、およびキーフレーム間の平面により誘導されたホモグラフィ（plane-induced homographies）に基づくマッピングアプローチを使用する。キーフレームポーズを推定することについての平面再構成問題は、基本的に、計測されたキーフレーム間のホモグラフィの数における線形時間での画像レクティフィケーション処理によって解決される。ポーズトラッキングは、ロバスト（robustly）に推定されたポーズを提供するために、継続的に拡張されリファインされた（refined）平面点マップを使用する。
【００１２】
モバイルデバイス１００は、ハウジング１０１、タッチスクリーンディスプレイであり得るディスプレイ１０２、ならびにスピーカ１０４、およびマイクロフォン１０６を含むものとして示されている。ディスプレイ１０２は、カメラ１１０によってキャプチャされた画像、マップ、または任意の他の所望のものを表示し得る。モバイルデバイス１００は、トラッキングコンポーネント１２０およびマッピングコンポーネント１３０を含む。トラッキングコンポーネント１２０は、カメラ１１０からの平面環境の画像ストリームを処理し、カメラポーズを計算することによって、カメラポーズをトラッキングする。トラッキングコンポーネント１２０は、キーフレーム候補キュー内のマッピングコンポーネントに、選択されたキーフレームを提供する。マッピングコンポーネント１３０は、キャプチャされた平面シーンの新しいビューが利用可能になると、キーフレームを処理して、拡大されリファインされたマップを生成する。マッピングコンポーネント１３０は平面により誘導された、キーフレーム間のホモグラフィを計算し、それらの関係を専用のポーズグラフに構造化する。マッピングコンポーネント１３０は、点およびキーフレームのマップをトラッキングコンポーネント１２０に提供し、それによってトラッキングコンポーネント１２０はカメラポーズをトラッキングする。もちろん、モバイルデバイス１００は、本開示に必ずしも関係しない追加のコンポーネントを含み得る。
【００１３】
本明細書で使用される場合、モバイルデバイスは、セルラ無線通信デバイスまたは他の無線通信デバイス、パーソナル通信システム（ＰＣＳ）デバイス、パーソナルナビゲーションデバイス（ＰＮＤ）、パーソナル情報マネジャ（ＰＩＭ）、ポータブル情報端末（ＰＤＡ）、ラップトップ、または他の適切なモバイルプラットフォームなどの任意のポータブル電子デバイスを指す。モバイルプラットフォームは、無線通信信号、および／または航法測位信号などの航法信号を受信可能であり得る。「モバイルデバイス」という用語は、また、衛星信号受信、支援データ受信、および／または位置関連処理がデバイスまたはパーソナルナビゲーションデバイス（ＰＮＤ）で行なわれているかにどうかに関わらず、短距離無線、赤外線、有線接続、または他の接続などによってＰＮＤと通信するデバイスを含むことが意図されている。また、「モバイルデバイス」は、ポーズトラッキングおよびマッピングにおいて使用される画像をキャプチャすることが可能な、無線通信デバイス、コンピュータ、ラップトップ、タブレットコンピュータ、スマートフォン、等を含むすべての電子デバイスを含むことが意図されている。
【００１４】
図２は、ポーズトラッキングおよびマッピングのためにモバイルデバイス１００によって使用される、密接に結合されたトラッキングコンポーネント１２０およびマッピングコンポーネント１３０を示す。図２において示されるように、トラッキングコンポーネント１２０は、較正された単眼カメラ１１０の画像ストリームを処理し、カメラポーズを例えば６自由度（６ＤＯＦ）で計算することによって、カメラポーズトラッキング１２２を行う。カメラポーズトラッキング１２２は、画像ストリームからキーフレームを個別に選択し、選択されたキーフレームをキーフレーム候補キューにおいてマッピングコンポーネント１３０に提供する。マッピングコンポーネント１３０は、キーフレームを処理して、平面シーンの新しいビューが利用可能になるのに伴って、例えば連続的な仕方で、時間と共に拡大されリファインされる持続性マップ１３４を生成する。キーフレーム間で、平面により誘導されたホモグラフィが計算され、それらの関係が専用のポーズグラフにおいて構造化される。マッピングコンポーネント１３０は、四分木で構造化された点の平面マップ１２４、キーフレーム、およびグラフで構造化されたホモグラフィを、トラッキングのためにトラッキングコンポーネント１２０に提供する。
【００１５】
図３は、例として、四分木１４２で構造化された２つのキーフレームＩｉ、Ｉｊ内の点からなる平面マップ１４０を示す。キーフレーム内の各点は、図３では「×」として示される。キーフレームＩｉ、Ｉｊは、顕著な画像計測を提供し、それぞれ、カメラポーズＰｉおよびＰｊを通じて平面マップ１４０と関連する。キーフレームは、２次元（２Ｄ）シーンの種々のビューを示し、１つのキーフレームから別のキーフレームへピクセルをマッピングする、平面により誘導されたホモグラフィを計算するために使用される。ホモグラフィＨは、キーフレームＩ間で点を射影し、例えば、図３に示されるように、ホモグラフィＨｊｉは、キーフレームＩｉ、Ｉｊ間で点を射影する。結果として生じる関係は、ポーズグラフ内で管理され、例えば、キーフレームおよびホモグラフィは、グラフ内でノードおよびエッジとして記憶される。
【００１６】
マッピングコンポーネント１３０は、トラッキングコンポーネント１２０から渡されたキーフレームのセットによって観測された未知のテクスチャされた平面シーンのマップを作成する。マップは、平面の表面をサンプリングする３次元（３Ｄ）の点から構成される。点観測は、顕著なキーフレームのコーナーから、または、ポーズもしくはホモグラフィ推定の一部としての特徴マッチングから始まる。平面マップの点は、四分木で構造化され、例えば、異なるスケールレベルでデータが追加されていない（unpopulated）マップ領域の探索期間では、高速な点の読み出しが用いられることになる。
【００１７】
図４は、平面オブジェクトのキャプチャされた画像を使用するリアルタイムポーズトラッキングおよびマッピングの方法を示すフローチャートである。図示されているように、例えばカメラ１１０からの画像ストリームまたはビデオストリーム内のフレームとして、平面オブジェクトの複数の画像がキャプチャされる（２０２）。新しい画像が新しいキーフレームとして選択される（２０４）。例えば、新しい画像が良質のポーズ推定を生み出す場合、十分なオーバーラップがあるかどうかを決定するために、例えば閾値を使用して、新しい画像が複数の以前のキーフレーム（および候補キーフレーム）と比較され得る。十分なオーバーラップがある場合、新しい画像は、トラッキングコンポーネント１２０によってキーフレーム候補キュー１３２に追加され得る。追加的に、新しい画像をキーフレームとして選択するために、その新しい画像は、平面オブジェクト上にあることが検証され得る。検証は、例えば隣接キーフレームのポーズ、および新しい画像と隣接キーフレームとの間の対応するホモグラフィに基づいて、新しい画像について複数のポーズを決定することによって行われ得る。複数のポーズは、平面マップに関して新しい画像をトラッキングすることで生み出される新しい画像についてトラッキングコンポーネント１２０によって生み出されたトラッカ（tracker）ポーズと比較され得る。例えば、複数のポーズとトラッカポーズとの間の、ペアワイズ（pairwise）ポーズ差分の和が閾値内である場合、新しい画像は該平面オブジェクトのものであると決定され得る。
【００１８】
ホモグラフィは、空間的に分散した平面オブジェクトについて、新しいキーフレームと複数の以前のキーフレームの各々との間で算出される（２０６）。グラフ構造は、新しいキーフレームおよび複数の以前のキーフレームの各々ならびに新しいキーフレームと複数の以前のキーフレームの各々との間のホモグラフィを使用して生成される（２０８）。図５は、例として、複数のキーフレーム（Ａ，Ｂ，Ｃ，Ｄ，Ｅ）をグラフのノードとして示し、キーフレーム間のホモグラフィを破線として示されるグラフのエッジとして示す、ポーズグラフを示す。各キーフレームのポーズはまた平面に関して示される。キーフレームのペア（ｉ，ｊ）をつなぐホモグラフィＨｊ，ｉ推定の各々について、対応するノードＩｉおよびＩｊをつなぐ有向エッジが加えられる。独立した計測を取得するためにホモグラフィがキーフレームのペア間で両方向において独立に推定されるので、グラフは有向である。図５で示されているように、ホモグラフィは、新しいキーフレームＥと、直前のキーフレームではなく空間的に分散した複数の以前のキーフレームＡ，Ｃ，Ｄの各々との間で算出される。
【００１９】
グラフ構造は、平面オブジェクトのマップを作成するために使用される（２１０）。例えば、マップは、複数の以前のキーフレームから基準キーフレームを選択し、平面オブジェクトに関して基準キーフレームについてのポーズを算出することによって作成され得る。基準キーフレームは、グラフ構造のセンタノードへの近さおよび新しいキーフレームへの近さのうちの１つに基づいて選択され得る。基準キーフレームのポーズ、および基準キーフレームとキーフレームの残りのセットとの間のホモグラフィを使用して、キーフレームの残りのセットについてポーズが算出される。次いで、基準キーフレームのポーズおよびキーフレームの残りのセットのポーズは、マップを作成するために使用され得る。次いで、平面オブジェクトは、マップおよびその後にキャプチャされた画像に基づいてトラッキングされる（２１２）。
【００２０】
ポーズグラフ
マップを生成するためのマッピングコンポーネント１３０のための入力は、キーフレームのセットおよびそれらの間で計測されたホモグラフィである。キーフレームＩｉに対応するカメラポーズは、世界座標系からローカルカメラ座標系（local camera coordinate system）への剛体変換および後続の射影を表す３×４変換行列Ｐｉ＝（Ｒ｜ｔ）として表される。いくつかのキーフレームペア（ｉ，ｊ）について、図３で示されているようにキーフレームＩｉからキーフレームＩｊへ点をマッピングするホモグラフィＨｊ，ｉが計測される。
【００２１】
図４で示されているように、これらキーフレーム・ホモグラフィ関係は、キーフレームをノードとして、ホモグラフィをエッジとして有する有向グラフで管理され得る。新しいキーフレームが生成されるに伴い、近隣キーフレームに対する新しいホモグラフィが計測され、両方がグラフに加えられる。平面マップという前提を維持するため、同じ平面上のキーフレームだけが加えられるべきである。それゆえに、主なシーン平面と一貫性を持たないホモグラフィを導くアウトライア領域（例えば、異なる平面または非平面オブジェクトを描画する領域）のビューを主に表示するキーフレームに関してフィルタリングが行われる。例えば、一貫性チェックが新しいキーフレームに採用され得る。キーフレーム候補キュー１３２内の候補キーフレームで一貫性チェックに不合格となるものは拒絶され得る。候補キーフレームで一貫性チェックに合格するものは、受け入れられ、グラフに加えられ得る。
【００２２】
平面推定
３Ｄの点のマップを作成するために、キーフレームに対応する未知のカメラポーズＰｉが推定される。平面に対する未知のキーフレームカメラポーズの算出のために、レクティフィケーションアルゴリズムが採用され得る。画像間の既知のホモグラフィを使用して平面を推定する問題を解決するための２つの一般的なアプローチは、ホモグラフィ分解（homography decomposition）および画像レクティフィケーションを含む。ホモグラフィ分解は、平面オブジェクトの２つの画像間のホモグラフィ行列を所与として、カメラモーションを計算することを指す。画像レクティフィケーションアルゴリズムは、例えば１Ｄ探索空間における点マッチングの目的で、画像ペアのエピポーラ線をアラインする、画像ペアに適用される既知のエピポーラ幾何学（または、平面のケースではホモグラフィ）から射影変換を計算する。専用の基準カメラと他のカメラとの間における可変数のホモグラフィ計測を使用する、２ＤＯＦだけの計算的に効率の良い非線形最適化スキームが使用され得る。
【００２３】
費用関数およびパラメタリゼーション
最適化スキームの数学的定式化が提供される。シーン平面が、（ｘ，ｙ）平面に対応する標準位置（canonical position）ｚ＝０に位置すると定義する。したがって、平面上の点は、ゼロに等しいｚ座標を有し、同次座標において（ｘ，ｚ，０，１）と書くことができる。最適化において未知なものは、この平面に対するカメラポーズＰｉである。すべての世界点は平面上にあるという仮定のもとで、カメラポーズは、ポーズ行列Ｐｉの第３列（third column）を消去することによって容易に２Ｄホモグラフィとして再定式化されることができる：
【数１】
0005722502.tif 000002
【００２４】
結果として得られるポーズホモグラフィは、その第１および第２の列（column）が正規直交ベクトルであり、ｒ１およびｒ２がそれぞれＲの第１および第２の列である、という所見に基づいて、以下の重要なプロパティを有する：
【数２】
0005722502.tif 000003
【００２５】
追加的に、ポーズホモグラフィＣ１、および、カメラＣ１からＣ２にマッピングするホモグラフィＨ２，１を考えると、対応するポーズホモグラフィＣ２は以下のように計算できる：
【数３】
0005722502.tif 000004
【００２６】
Ｃ１は拘束式２を観測しなければならない。さらに、式３を式２に代入することによって、Ｃ１に関する以下の追加の拘束が得られる：
【数４】
0005722502.tif 000005
【００２７】
非対角エントリを０とし対角エントリが同じ値を有するようにすることで、拘束をＣ１の費用関数として定式化することができる。それゆえに、１つのホモグラフィＨｉ，１について以下の費用関数を定義する：
【数５】
0005722502.tif 000006
【数６】
0005722502.tif 000007
【００２８】
結果として得られる式６の費用関数は、絶対円錐曲線の画像への、よく知られている直交性拘束を活用し、基準カメラから別のカメラｉへマッピングする任意のホモグラフィＨｉ，１に有効である。そのすべてが基準カメラＣ１への個々のホモグラフィＨｉ，１とつながれたカメラのセットＣｉに関して、すべての個々の費用を足し合わせて費用関数を構築し、未知の基準カメラポーズＣ１のための単一の費用関数を取得する：
【数７】
0005722502.tif 000008
【００２９】
概して、すべてのカメラポーズＣｉを推定することの問題全体は、式７の総費用関数を最小化する１つのカメラポーズＣ１を見つけることに単純化できる。
【００３０】
２つのカメラの間のホモグラフィＨ２，１は、スケールに合致して定義されるので、８自由度を有する。第１のカメラＣ１に対して第２のカメラＣ２の向きおよび平行移動（translation）を固定し、平面だけが自由に動くようにすることによって、第１のカメラＣ１には残り２自由度だけが残る。本明細書に参照により組み込まれる、A. Ruiz、P. E. L. de TeruelおよびL. Fernandezによる「Practical planar metric rectification」（In Proc. BMVC, 2006, Edinburgh, UK, Sept 4-7 2006）において、カメラポーズＣ１は２自由度での共役回転として表すことができることが観察されており、それは対応するカメラ画像において水平線、つまり無限遠直線の位置を固定する。結果として得られる回転行列は、平面のカメラ画像を透視変換し、直角と平行線とを計測することができる、レクティフィケーションされたオルソ画像（orthoimage）を合成するために使用され得る。Ruizらは、定位置カメラを連続してｘ軸（傾斜角）およびｚ軸（ロール角）の周りで回転させることによって水平線を記述することを提案した。６ＤＯＦカメラポーズは、２ＤＯＦ共役回転、および、任意の平面座標系（方位、スケール、位置）を定義する４ＤＯＦ相似行列から構成され得る。図６Ａ、図６Ｂ、図６Ｃ、および図６Ｄは、平面画像レクティフィケーション・パラメタリゼーションの幾何学的解釈を示す。図６Ａおよび６Ｄに示されているように、平面および基準カメラは、標準位置に位置するものと定義され、ここで、平面が世界（ｘ，ｙ）平面とアラインされ、基準カメラが位置（０，０，−１）に配置され、そうすることで世界座標系とカメラ座標系とがアラインされる。平面は、固定されたままの基準カメラの周りの単位半球上を回転する。図６Ａに示されているように、ｘ軸周りの第１の回転は、平面が（ｙ，ｚ）カメラ平面とアラインされた円に沿って動くことを許容する。図６Ｂに示されているように、第２の回転は、平面が（ｘ，ｙ）カメラ平面とアラインされた別の円に沿って動くことを許容する。平面がカメラの背後に回転されることを回避するよう、ｘ軸回転パラメータの範囲として（−π／２，π／２）を定義する。ｚ軸回転パラメータについては、解の対称性を回避するために［−π／２，π／２）を有効な範囲として定義する。図６Ｃに示されているように、それぞれｘ軸およびｚ軸回転からなるレクティフィケーション変換後に、カメラは標準位置にとどまる。図６Ｄに示されているように、最終的な平面座標系は、カメラのｚ軸半直線を平面と交差させて相似変換をもたらすことによって定義される。
【００３１】
プロパティ
式７の費用関数、および結果として生じる２ＤＯＦ費用表面（cost surface）の形状と深度（depth）が分析された。基準カメラの選択およびキーフレーム間の動きに応じて、以下に説明されるような様々な効果が見いだされた。
【００３２】
入力ホモグラフィにおいてエンコードされた動きは、費用表面の深度にかなりの影響を与えることが見いだされた。例えば、単一の平行移動軸に沿って画像のオーバーラップの増加を伴いつつ、固定されたカメラＣ１から推定された単一のホモグラフィをカメラＣ２に渡すときには、費用深度は、平行移動の大きさに伴って直線的に増加する。
【００３３】
費用深度および動きは、誤差関数の解の多様性に影響を与える。概して、一意的な２ＤＯＦ解を生じる費用表面の大域的最小点を見つけることが望ましい。しかしながら、費用表面は、通常、平面の正面および背後のカメラポーズを説明する解に対応する２つの極小点を示す。ホモグラフィにおいてエンコードされた動きの量を増加させることは、平面の正面のカメラポーズを説明する正確な大域的最小点が有利になるように、極小点を消滅させる。
【００３４】
費用関数を変更せず、それゆえに有効な解を生じない、デジェネレート・モーション（degenerate motion）のケースに遭遇することがあり得る。例えば、知られているデジェネレート・モーションのケースは、面法線に沿った純粋な回転および平行移動を含む。
【００３５】
平面マッピング
以上で述べたように、マッピングコンポーネント１３０は、トラッキングコンポーネント１２０によって提供されたキーフレーム候補を処理する。キーフレーム候補は、平面再構成を改善するために使用され得、リファインされ拡張されたマップをもたらす、平面シーンについての新しい情報を提供する。
【００３６】
図７は、ポーズ一貫性に基づいてキーフレーム候補をキーフレームとして選択する方法を示すフローチャートである。図示されているように、例えばトラッキングコンポーネント１２０（図２）からキーフレーム候補キュー１３２においてキーフレーム候補が受信される（２２０）。例えばオーバーラップの量に基づいて、キーフレーム候補に関して隣接キーフレームが決定される（２２２）。キーフレーム候補および隣接キーフレームについてのホモグラフィが推定され（２２４）、候補キーフレームについてのポーズが各隣接キーフレームのポーズおよび推定されたホモグラフィを使用して計算される（２２６）。キーフレーム候補について計算されたポーズは、例えば図２のトラッキングコンポーネント１２０によって生み出された、トラッキングポーズと比較される（２２８）。結果として得られる比較が所望の閾値未満（２３０）の場合、キーフレーム候補は、キーフレームとして選択され（２３２）、そうでない場合、候補キーフレームは、拒絶される（２３４）。
【００３７】
隣接キーフレーム
前述のように、図７のステップ２２２では、各キーフレーム候補について、隣接キーフレームノードのセットが後のホモグラフィ推定に関してグラフから選択される。その目的のためにペアワイズ画像オーバーラップが計算され得る。
【００３８】
ソースキーフレーム／ターゲットキーフレームのペアワイズオーバーラップは、ホモグラフィとともに、ソースキーフレームの画像のコーナーをターゲットキーフレーム上に射影することによって計算される。ホモグラフィは、既知のキーフレームポーズから導出される。結果として得られる４点ポリゴンは、交差されて一体化され、別の２つのポリゴンを結果として生じる。所望のオーバーラップは、これらポリゴン面積の比ｒ（Ａ，Ｂ）である。
【数８】
0005722502.tif 000009
【００３９】
所与の候補キーフレームは、グラフ内の既存のキーフレームの各々と対にされ、オーバーラップ比の対応するリストを結果として生じる。実際の選択は、得られるリストをオーバーラップ比で降順にソートし、そのリストの先頭から（例えば５つの）限られたキーフレームのセットを読み出すことによって、隣接キーフレームセットを結果として生じさせることにより、行われ得る。
【００４０】
ポーズ一貫性チェック
図７のステップ２２４で言及されるように、候補キーフレームを以前に選択された隣接キーフレームのセットと組み合わせることで、ペアワイズホモグラフィが両方向で推定される。例として、ロバスト推定のために、ランダムサンプリングコンセンサス（ＲＡＮＳＡＣ：RANdom SAmple Consensus）アルゴリズムが使用され得る。結果として生じるホモグラフィは、現在マッピングされている平面と矛盾する平面によって誘導され得る。例えば、不十分な画像のオーバーラップ、不均衡な特徴の分布、または（高いノイズまたはアウトライアに起因する）低い対応カウント（correspondence count）から、推定誤りが発生し得る。
【００４１】
それゆえに、候補キーフレームについてトラッキングコンポーネント１２０によって提供されるトラッカポーズを、隣接キーフレームポーズおよび推定されたホモグラフィから計算されるポーズ観測と比較することによって、誤りがあるホモグラフィをフィーチャー（feature）する候補キーフレームを検出することが望ましい。各隣接キーフレームＩｉについて、隣接キーフレームのポーズを対応するホモグラフィと組み合わせることによって、キーフレーム候補についてのポーズＯｉが計算される（図７のステップ２２６）。図８は、例として、図５に示されたポーズグラフと類似しているが、候補キーフレームＦを含むポーズグラフを示す。候補キーフレームＦのポーズＯＡは、キーフレームＡについてのポーズＰＡおよびホモグラフィＨＦＡに基づいて算出され、ポーズＯＥは、キーフレームＥについてのポーズＰＥおよびホモグラフィＨＦＥに基づいて算出され、ポーズＯＤは、キーフレームＤについてのポーズＰＤおよびホモグラフィＨＦＤに基づいて算出される。平面トラッキングコンポーネント１２０から取得された候補カメラポーズ位置Ｐに対するポーズＯｉについての位置の差（図７のステップ２２８）は、このように決定され得る：
【数９】
0005722502.tif 000010
【００４２】
結果として得られるＲＭＳ誤差が所望の閾値未満（図７のステップ２３０）の場合、キーフレーム候補は、キーフレームとして選択され（図７のステップ２３２）、推定されたホモグラフィは、それぞれノードおよびエッジとしてグラフに挿入され、そうでない場合、キーフレーム候補は拒絶される（図７のステップ２３４）。
【００４３】
再構成
平面再構成プロシージャは、キーフレームカメラポーズおよびマップ点の初期化およびリファインメントを組み込む。キーフレームカメラポーズは、グラフから読み出されたホモグラフィを使用する平面推定アルゴリズムによって再評価される選択された基準キーフレームポーズに関して計算される。マップ点は、各マップ点に関連付けられた画像観測から計算される。
【００４４】
図９は、新しいキーフレームについてのノード（ポーズ）およびエッジ（ホモグラフィ）を含むグラフ構造を使用するマップを作成する方法を示す。新しいキーフレームについてのノード（ポーズ）およびエッジ（ホモグラフィ）を含む、生成されたグラフ構造と共に、画像化された平面オブジェクトのマップが、図９で示されているように、グラフ構造を使用して作成される（図４のステップ２１０）。新しいキーフレームが追加された後、基準キーフレームが複数の以前のキーフレームから選択される（２８０）。基準キーフレームについてのポーズが平面オブジェクトに関して算出される（２８２）。キーフレームの残りのセットについてのポーズが、基準キーフレームのポーズ、および基準キーフレームとキーフレームの残りのセットとの間のホモグラフィを使用して算出される（２８４）。基準キーフレームのポーズおよびキーフレームの残りのセットのポーズは、マップを作成するために使用される（２８６）。
【００４５】
基準キーフレームの選択
基準キーフレームの選択（ステップ２８０）は、すべてのキーフレームポーズが基準キーフレームに関して計算されるので、再構成の全体的な質にかなりの影響を与える。
【００４６】
基準キーフレームの選択のために、実行時において実際のカメラ軌道から結果として生じるポーズグラフの構造に基づいて異なるアプローチが使用され得る。ポーズグラフが明確なセンタノードを示す場合、それが基準キーフレームとして使用され得る。そうでない場合、正面の（最新の）キーフレームに近いリーディングノード（leading node）がより良いものであり得る。後で、ポーズグラフは、キーフレームノード間のホモグラフィ経路を読み出すために使用される。ホモグラフィは、基準キーフレーム推定およびマップ作成のために採用される。どちらのケースでも、ホモグラフィ誤差は経路に従って蓄積されるので、例えばホモグラフィ経路深度を最小化することによって、（混成）ホモグラフィによって誘発される全体的な誤差を最小化することが望まれる。
【００４７】
両方のアプローチのために、幅優先グラフ操作から読み出された値でパラメータ化された採点機能が実装され得る。ポーズグラフが明確なセンタノードを有するかどうかを決めるために、よく知られている、フリーマン（Freeman）によるネットワーク中心測定（network centralization measure）が使用され得る。最大の中心性（centrality）測定値を有するノードが計算され、理論上の最大値に対して比較される。得られる比が既定の閾値を超える場合、最大の測定値を有したノードが基準キーフレームとして使用され得る。代替的に、最新のキーフレームノードからの経路深度引く何らかの可変オフセット（例えば、２）が最小である、グラフノードが使用され得る。
【００４８】
基準ポーズ推定
基準キーフレームの選択と共に、平面推定アルゴリズムが入力ホモグラフィのセットと一緒に初期化され、その後、すべてのキーフレームポーズが基準キーフレームのアップデートされたカメラポーズに関して再算出される。
【００４９】
図１０Ａおよび図１０Ｂは、平面推定およびポーズアップデートのためのホモグラフィ読み出し操作を示す。平面推定アルゴリズムは、異なるホモグラフィ読み出しアプローチを使用し得る。１つのアプローチは、入力ホモグラフィにおいてエンコードされた動きを最大化することを目標とし、誤りがある単一のホモグラフィがレクティフィケーションアルゴリズム費用表面に間違いを引き起こさないように、冗長性を与える。図１０Ａで示されているように、所与のルートノードＣについて、グラフのすべての（いずれかの方向の）エッジを含む他のすべてのノードへの経路が読み出される。最大数のエッジを組み込むことは多量の動きを保証し、ターゲットノード、例えばノードＥに複数の経路を提供し、そうすることで、個々の誤りのあるホモグラフィを含む混成ホモグラフィが補償される。図１０Ｂにおいて示される別のアプローチでは、すべてのグラフエッジが組み込まれる訳ではなく、基準キーフレームＣから他のすべてのキーフレームへの最短の経路が読み出される。
【００５０】
読み出されたホモグラフィ経路で式７の費用関数を最小化することによって、基準キーフレームのポーズを取得する（図９のステップ２８２）。ホモグラフィの所与のセットについて、単一の利用可能な最善の解が計算され得る。解の多様性に応じて、最善の解は一意的な大域的最小点であり得、あるいは解の不明確なケースでは、極小点のセットからの選択された最善の最小点でありうる。珍しいデジェネレートのケースでは、アルゴリズムが有効な解を一切生じないことがあり得る。
【００５１】
費用関数を最小化するため、費用表面は（例えば、各パラメータ寸法において１０の度合で）個別にサンプリングされ、サンプル最小点のセットは、サンプリングされた費用値を単純にそれらの近隣と比較することによって計算される。サンプル最小点のセットから、極小点のセットが計算される。各サンプル最小点は、最適化されたパラメータを見つけるために、ネルダーとミードによるダウンヒルシンプレックス法（Nelder-Mead downhill simplex solver）でリファインされる。結果として得られた、有効な範囲の外のパラメータをフィーチャーする極小点は、破棄される。さらに、極小点は２つ一組で比較され、重複は破棄される。数値的不正確があるので、大域的最小点である可能性のあるものが、有効性についてのステップで破棄され得る。大域的最小点の存在は、すべての極小点を、最小の費用を有するサンプリングされた最小点と比較することでチェックされる。より小な費用を有する極小点が発見できない場合、最小費用のサンプル最小点が極小点のセットに加えられる。
【００５２】
マップ作成
再構成のこの段階において、平面に関しての基準キーフレームのポーズは既知である。残りのキーフレームポーズは、基準ポーズをキーフレーム間のホモグラフィで乗算することによって計算される（図９のステップ２８４）。マップ作成は、マップの点を再評価することによって完了する（図９のステップ２８６）。
【００５３】
キーフレームポーズアップデート
平面推定アルゴリズムから得られる基準ポーズホモグラフィＣｒを、キーフレームポーズホモグラフィＣｋを取得するためにホモグラフィＨｋ，ｒで乗算することによって、キーフレームポーズＰｋが計算される。次いで、完全なポーズＰｋが、回転行列の第３列を算出することを通じて復元される。追加的に、平面座標系の原点を第１のキーフレームの逆投影された主点（principle point）へと動かす、相似変換Ｓが適用され得る：
【数１０】
0005722502.tif 000011
【００５４】
ホモグラフィＨｋ，ｒの読み出しのために、基準からキーフレームへの最短経路が、幅優先探索を使用して算出され得る。
【００５５】
点評価
マップの点の位置は、対応するキーフレームカメラポーズを使用して、その逆投影されたキーフレーム画像観測のセントロイドが割り当てられる。観測からセントロイドまでの平均距離を算出し、ある特定の閾値（例えば、平均距離の２倍）の外の観測を破棄することによって、全体のアウトライア観測が検出される。こうしたケースでは、セントロイドは、インライア（inlier）観測だけを使用して再評価される。
【００５６】
平面トラッキング
図１１は、平面点マップに対するカメラポーズをトラッキングする方法のフローチャートである。トラッキングコンポーネント１２０は、較正された単眼カメラ１１０から入ってくる画像ストリームからのキャプチャされた画像を処理し、マッピングコンポーネント１３０によって提供される平面点マップに対するカメラポーズを計算する。こうして、図１１に示されているように、画像ストリームが受信される（３００）。システムの起動時において、マップは、まだ存在せず、それに応じて、システムは、例えば２つのキーフレームを使用して、初期化される（３０２）。システムが初期化されると、マップは、マッピングコンポーネント１３０から受信され（３０４）、マップからの点を使用しそれらを現在の画像とマッチングすることでポーズが推定される（３０６）。カメラポーズは、動きモデルおよびロバストポーズリファイナ（robust pose refiner）を使用して推定される。画像が既存のキーフレームとわずかなオーバーラップしか持たない良質なポーズを生み出した場合、その画像は候補キーフレームキューに加えられる（３０８）。こうして、候補キーフレームは、トラッキングコンポーネント１２０によって選択され、マッピングコンポーネント１３０に渡され、その結果として、拡張されリファインされたマップを生じる。
【００５７】
初期化
マッピングおよびトラッキングシステムが、例えば、第１のキーフレームを手動で選択し得るユーザによって、初期化される（図１１のステップ３００）。例えば、ユーザによってマッピングおよびトラッキングアプリケーションが初期化されたときには、第１のキーフレームは、第１の画像フレームであり得る。あるいは、ユーザは、マッピングおよびトラッキングアプリケーションが初期化された後で、タッチスクリーンディスプレイ１０２に触れることによって所望の第１のキーフレームを選択し得る。そのキーフレームと現在の入力画像との間のホモグラフィは継続的に推定される。追加的に、各ホモグラフィは、上述の画像レクティフィケーションアルゴリズムに渡され、第１のキーフレームに関して現在の画像についてポーズ推定が生み出される。
【００５８】
ホモグラフィ推定
キーフレームは、異なる画像スケールレベルでの顕著な画像計測の固定されたセットをフィーチャーする。例えば、スケールインバリアンスを改善するために、３つのレベルを持つローパス（low-pass）画像ピラミッドが生成され得る。各ピラミッドレベルで、コーナー計測のセットを生成するためにＦＡＳＴ（Features from Accelerated Segment Test）コーナー検出器が適用され得る。ＳＩＦＴまたはＳＵＲＦ（Speeded-up Robust Features）または任意の他の所望の方法のような、キーポイント（keypoint）を抽出するための他の方法が使用され得る。例えば、ＦＡＳＴ特徴を低いスコアでフィルタリングすることによって、後の計算費用を制限するために、キーポイントカウントは、限定され得る。
【００５９】
ソースキーフレーム（つまり、第１のキーフレーム）とターゲットキーフレーム（つまり、現在のキーフレーム）との間の２Ｄ−２Ｄ点対応からのホモグラフィ推定のために、ロバストＲＡＮＳＡＣ推定アルゴリズムが使用され得る。（最も粗いものから最も細かいものまでの）各画像レベルについて、ソースキーフレームによって提供される顕著な画像計測を反復し、ターゲットキーフレームにおけるマッチング対応を計算する。各レベルの後、ホモグラフィは、追加されたレベルと点の対応でリファインされる。ＲＡＮＳＡＣアウトライア閾値が、既知の内部カメラパラメータに関してセットされ得る。
【００６０】
点の対応は、正規化相互相関（ＮＣＣ）を用いたサーチウインドウを通したアクティブサーチを用いたサブピクセル精度のアフィンパッチマッチングアルゴリズムによって計算され得る。２つの画像および最初のホモグラフィを所与として、局所１×１ピクセル座標系がソース画像のソース点位置において確立される。局所アフィンワーピング（warping）行列は、局所座標系をターゲット画像に射影することで生成され得る。ソース画像レベルを調節した後、ＮＣＣを誤差計測として使用して、所与の半径（例えば３−５ピクセル）を持つサーチウインドウを通してターゲット画像と相関されるソース画像から８×８パッチがサンプリングされる。ターゲット画像点のＮＣＣの値がある特定の閾値より大（例えば、＞０．９）の場合、ソースおよびターゲット点は相関していると見なされ得る。
【００６１】
初期のマップ
第２のキーフレームの自動選択を用いて、マッピングコンポーネント１３０は、結果として生じたキーフレームのペアおよび対応するホモグラフィから初期のマップを計算する。第２のキーフレームは、画像のオーバーラップおよび平面推定の質に基づいて選択される。第１のキーフレームと現在の画像との間の画像のオーバーラップが、ある特定の閾値（例えば、０．７５）を超過し、レクティフィケーションアルゴリズムが第１のキーフレームを基準として使用して有効でありかつ不明確ではない平面推定をもたらす場合、第２のキーフレームが選択され、マップが初期化される。
【００６２】
マップの初期化は、第２のキーフレームから第１のキーフレームへのホモグラフィの推定、両方のキーフレームについてのポーズ推定、および、キーフレームから逆投影された点を追加することを備える。マップの点の位置は、逆投影された関連する画像観測のセントロイドによって定義される。世界座標系の原点は、第１のキーフレーム画像の主点を逆投影することによって定義される。追加的に、初期のグラフは、第１および第２のキーフレームをノードとして、それらのホモグラフィをエッジとして加えることによって設定される。
【００６３】
マップトラッキング
初期の平面マップの作成後、トラッキングコンポーネント１２０は、マップを受信し（図１１の３０４）、マップからの点を使用してカメラポーズを推定し、それらを現在の画像とマッチングする（３０６）。追加的に、キーフレームが画像ストリームから選択され、マッピングコンポーネント１３０に渡される。
【００６４】
ポーズ推定
トラッキングコンポーネント１２０は、マッピングコンポーネント１３０によって提供された平面マップに対する６ＤＯＦカメラポーズをロバストに推定する。継続的に衰える動きモデル（constant decaying motion model）は以前のポーズ観測に基づいて現在の画像のポーズを予測する。動きモデルポーズは、現在の画像には見えないマップ点を破棄するために使用されるカメラフラスタム（frustum）を初期化するために使用される。残りのマップ点は、予測されたポーズを使用して現在の画像へと射影され、結果として可視点のセットを生じる。
【００６５】
点のマッチングは、正規化相互相関を使用して、最も粗いレベルから始まり、連続的に各画像レベルについて実行される。あるレベルについて完了した後、マッチングされたレベル対応は、顕著な点のセットに加えられ、ポーズリファインメントステップが行われる。採用されるポーズリファインメントアルゴリズムは、アウトライアを破棄するために、ロバストなテューキーＭ推定器（Tukey M-estimator）を使用して再投影誤差を最小化することを目標とする。結果として得られるポーズのインライア点のセットは、対応するテューキーＭ推定器重みを所定の閾値で区分することによって、顕著な入力点セットから計算され得る。
【００６６】
すべてのレベルでの点マッチングが完了した後、結果として得られるポーズの有効性および質がチェックされる。ポーズの質は、顕著な特徴対インライア特徴のカウントの比によって定義され得る。比がある特定の閾値よりも大、例えば＞０．７５の場合、それは良質な比とみなされ、比がある特定の閾値よりも小、例えば＜０．５の場合、それは悪質な比とみなされ、それ以外の場合、中間とみなされる。例えば点の対応が少なすぎるという理由で、ポーズ推定器が有効でないポーズを示す場合、リローカリゼーション（relocalization）モードが使用され得る。１つの可能なリローカリゼーションモードは、現在の画像のＳＩＦＴ特徴記述子を計算しマップの特徴の記述子を含むデータベースとマッチングし、結果として得られる対応によってポーズを推定することを試みる、というものであり得る。
【００６７】
キーフレーム選択およびマップアップデート
キーフレーム候補は、現在のポーズの質および画像ストリームからの画像オーバーラップに基づいて選択され得る。前述のように良質のポーズ推定を生じる画像だけが、キーフレームとみなされる。現在の画像と十分にオーバーラップする既存のキーフレームまたは候補キーフレームキューからの候補キーフレームが発見されない場合、例えば最大のオーバーラップ比が０．７５または０．６０未満である場合、現在の画像はマッピングコンポーネント１３０によって処理されたキーフレーム候補キューに追加される（ステップ３０８）。オーバーラップパラメータは、マップデータ量に影響を及ぼし得、それゆえに、全体的なシステムパフォーマンスに影響を及ぼし得る。オーバーラップの増加に伴って、キーフレームの数は徐々に増加し、３Ｄ空間のより高密度なサンプリングを結果として生じる。その結果として、候補キーフレームは、より多くの隣接キーフレームをフィーチャーし、より多くのホモグラフィの推定を可能にし、グラフの連結性に影響を与える。しかしながら、オーバーラップパラメータは、精度に対して有意な影響を及ぼさないように思われる。驚くべきことに、データを増やすことは、オブジェクト空間誤差も再投影誤差も大いには改善しない。６０％のオーバーラップが、再投影誤差が３ピクセル未満でありオブジェクト空間誤差が軌道サイズの１．５％未満である、良質で平面再構成を解決するのに十分なデータを提供するように思われる。
【００６８】
マッピングコンポーネント１３０は、対応するフラグをセットすることによってリファインされたマップの完成を示す。リファインされたマップは、例えば基準キーフレームの変化に起因して、大きく変化し得るので、例えば最新の２つの画像からの、対応が記憶され、新しいマップに対してのそれらのポーズが再度推定される。次いで、動きモデルがこれらの新しいポーズからアップデートされ得る。
【００６９】
図１２は、前述のような、キャプチャされた画像を使用してポーズトラッキングおよびマッピングが可能なモバイルデバイス１００のブロック図である。モバイルデバイス１００は、較正された単眼カメラ１１０を含む。モバイルデバイス１００はさらに、ディスプレイ１０２、キーパッド１０５、またはユーザがそれにより情報をモバイルデバイス１００に入力できる他の入力デバイスを含む、ユーザインターフェイス１０３を含み得る。必要に応じて、キーパッド１０５は、タッチセンサを伴うディスプレイ１０２に仮想キーパッドを組み込むことによって、除かれ得る。ユーザインターフェイス１０３は、例えばモバイルデバイス１００がセルラ電話のようなモバイルデバイスである場合、マイクロフォン１０６およびスピーカ１０４もまた含み得る。もちろん、モバイルデバイス１００は、本開示には関係のない他のエレメントを含み得る。
【００７０】
モバイルデバイス１００はまた、カメラ１１０に接続されカメラ１１０と通信する制御ユニット１８０を含む。制御ユニット１８０は、バス１８０ｂと、プロセッサ１８１、および、関連づけられたメモリ１８４と、ハードウェア１８２と、ソフトウェア１８５と、ファームウェア１８３とによって提供され得る。制御ユニット１８０は、上述のように動作するトラッキングコンポーネント１２０およびマッピングコンポーネント１３０を含む。明瞭のために、トラッキングコンポーネント１２０およびマッピングコンポーネント１３０は分離されて図示され、プロセッサ１８１とは別個のものとして示されているが、単一のユニットであることも、組合されたユニットであることも、および／またはプロセッサ１８１で走るソフトウェア１８５における命令に基づいてプロセッサ１８１において実装されたものでもあり得る。本明細書で使用される、プロセッサ１８１並びにトラッキングコンポーネント１２０およびマッピングコンポーネント１３０のうちの１つまたは複数は、１つまたは複数のマイクロプロセッサ、内蔵プロセッサ、コントローラ、特定用途向け集積回路（ＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、およびそれらに類するものを含むことができるが、必ずしも含むとは限らないということが理解されるだろう。プロセッサという用語は、特定のハードウェアではなく、システムによって実現される機能を説明することを意図する。さらに、本明細書において使用される「メモリ」という用語は、モバイルデバイスに関連づけられた長期メモリ、短期メモリ、または他のメモリを含む任意のタイプのコンピュータ記憶媒体のことを指すが、任意の特定のメモリタイプまたは任意の特定のメモリ数、またはメモリが記憶される媒体のタイプに限定されるべきではない。
【００７１】
モバイルデバイスは平面オブジェクトの複数の画像をキャプチャする手段を含み、それは例えばカメラ１１０であり得る。新しい画像を新しいキーフレームとして選択する手段は、トラッキングコンポーネント１２０を含み得る。空間的に分散した平面オブジェクトについて、新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出する手段は、マッピングコンポーネント１３０であり得る。新しいキーフレームおよび複数の以前のキーフレームの各々ならびに新しいキーフレームと複数の以前のキーフレームの各々との間のホモグラフィを使用して、グラフ構造を生成する手段は、マッピングコンポーネント１３０であり得る。平面オブジェクトのマップを作成するためにグラフ構造を使用する手段は、マッピングコンポーネント１３０を含み得る。マップおよび後でキャプチャされた画像に基づいて平面オブジェクトをトラッキングする手段は、トラッキングコンポーネント１２０を含み得る。
【００７２】
本明細書で説明された方法は、用途に応じて、様々な手段によって実現され得る。例えば、これらの方法は、ハードウェア１８２、ファームウェア１６３、ソフトウェア１８５、またはそれらの任意の組み合わせにおいて実現され得る。ハードウェアの実現では、１つ以上の特定用途向け集積回路（ＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、デジタル信号プロセッシングデバイス（ＤＳＰＤ）、プログラマブル論理デバイス（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、本明細書で説明された機能を実行するように設計された他の電子ユニット、またはそれらの組み合わせの中に、処理ユニットが実装され得る。
【００７３】
ファームウェアおよび／またはソフトウェアの実現では、本明細書で説明された機能を実行するモジュール（例えば、プロシージャ、関数、等）を用いて方法が実現され得る。命令を実体的に具現化する任意の機械可読媒体が、本明細書で説明された方法を実現するのに使用され得る。例えば、ソフトウェアコードがメモリ１８４に記憶されることができ、プロセッサ１８１によって実行され得る。メモリは、プロセッサ１８１の内部または外部に実装され得る。ファームウェアおよび／またはソフトウェアで実現される場合、機能は、コンピュータ可読媒体において、１つ以上の命令またはコードとして、記憶され得る。データ構造によってコード化された非一時的なコンピュータ可読媒体や、コンピュータプログラムによってコード化されたコンピュータ可読媒体が、例に含まれる。コンピュータ可読媒体は、物理的なコンピュータ記憶媒体を含む。記憶媒体は、コンピュータによってアクセスされることができる入手可能な任意の媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、または他の光ディスク記憶装置、磁気ディスク記憶装置、または他の磁気記憶デバイス、または、命令またはデータ構造の形態で所望のプログラムコードを記憶するために使用されることができ、かつ、コンピュータによってアクセスされることができる任意の他の媒体を含むことができる。ディスク（disk）およびディスク（disc）は、本明細書で使用される場合、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）、およびブルーレイ（登録商標）ディスク（disc）を含み、ディスク（disk）は通常、磁気的にデータを再生するが、ディスク（disc）は、レーザーを用いて光学的にデータを再生する。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【００７４】
本発明は、説明の目的で特定の実施形態に関連して示されたが、本発明は、それらに限定されるものではない。本発明の範囲から逸脱せずに、さまざまな適応および変更が行われ得る。したがって、請求項の趣旨および範囲は、前述した説明に限定されるべきではない。
以下に、本願の出願当初請求項に記載された発明を付記する。
［Ｃ１］
平面オブジェクトの複数の画像をキャプチャすることと、
新しい画像を新しいキーフレームとして選択することと、
空間的に分散した前記平面オブジェクトについて、前記新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出することと、
前記新しいキーフレームおよび前記複数の以前のキーフレームの各々ならびに前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィを使用して、グラフ構造を生成することと、
前記平面オブジェクトのマップを作成するために前記グラフ構造を使用することと、
前記マップおよび後でキャプチャされた画像に基づいて前記平面オブジェクトをトラッキングすることと、
を備える、方法。
［Ｃ２］
前記グラフ構造は木ベースのグラフ構造であり、前記新しいキーフレームおよび前記複数の以前のキーフレームの各々はノードであり、前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィは前記ノード間のエッジである、請求項１に記載の方法。
［Ｃ３］
前記グラフ構造を使用して前記平面オブジェクトの前記マップを作成することが、
前記複数の以前のキーフレームから基準キーフレームを選択することと、
前記平面オブジェクトに関して前記基準キーフレームについてのポーズを算出することと、
前記基準キーフレームの前記ポーズ、および前記基準キーフレームとキーフレームの残りのセットとの間のホモグラフィを使用して、キーフレームの残りのセットについてのポーズを算出することと、
前記マップを作成するために、前記基準キーフレームの前記ポーズおよび前記キーフレームの残りのセットについての前記ポーズを使用することと、
を含む、請求項１に記載の方法。
［Ｃ４］
前記基準キーフレームが、前記グラフ構造のセンタノードへの近さおよび前記新しいキーフレームへの近さのうちの１つに基づいて選択される、請求項３に記載の方法。
［Ｃ５］
前記新しい画像を前記新しいキーフレームとして選択することが、前記新しい画像と前記複数の以前のキーフレームとのオーバーラップを決定するために前記新しい画像を前記複数の以前のキーフレームと比較することと、前記オーバーラップを閾値と比較することと、を含む、請求項１に記載の方法。
［Ｃ６］
前記新しい画像を前記新しいキーフレームとして選択することが、前記新しい画像が前記平面オブジェクトのものであることを検証することを含む、請求項１に記載の方法。
［Ｃ７］
前記新しい画像が前記平面オブジェクトのものであることを検証することが、
隣接キーフレームのポーズ、および前記新しい画像と前記隣接キーフレームとの間の対応するホモグラフィに基づいて、前記新しい画像についての複数のポーズを決定することと、
前記複数のポーズを、前記マップに関して前記新しい画像をトラッキングすることによって生み出された前記新しい画像についてのトラッカポーズと比較することと、
前記複数のポーズと前記トラッカポーズとの間のペアワイズポーズ差分の和が閾値内にあり、前記新しい画像が前記平面オブジェクトのものであることを示していること、を決定することと、
を含む、請求項６に記載の方法。
［Ｃ８］
平面オブジェクトの複数の画像をキャプチャすることが可能なカメラと、
前記カメラに結合されたプロセッサであって、新しい画像を新しいキーフレームとして選択することと、空間的に分散した前記平面オブジェクトについて、前記新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出することと、前記新しいキーフレームおよび前記複数の以前のキーフレームの各々ならびに前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィを使用して、グラフ構造を生成することと、前記平面オブジェクトのマップを作成するために前記グラフ構造を使用することと、前記マップおよび後でキャプチャされた画像に基づいて前記平面オブジェクトをトラッキングすることと、を行うように構成されたプロセッサと、
を備える装置。
［Ｃ９］
前記グラフ構造は木ベースのグラフ構造であり、前記新しいキーフレームおよび前記複数の以前のキーフレームの各々はノードであり、前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィは前記ノード間のエッジである、上記Ｃ８に記載の装置。
［Ｃ１０］
前記プロセッサが、前記複数の以前のキーフレームから基準キーフレームを選択することと、前記平面オブジェクトに関して前記基準キーフレームについてのポーズを算出することと、前記基準キーフレームの前記ポーズ、および前記基準キーフレームとキーフレームの残りのセットとの間のホモグラフィを使用して、キーフレームの残りのセットについてのポーズを算出することと、前記基準キーフレームの前記ポーズおよび前記キーフレームの残りのセットについての前記ポーズを使用して、前記マップを作成することと、を行うように構成されていることによって、前記グラフ構造を使用して前記平面オブジェクトの前記マップを作成するように構成された、上記Ｃ８に記載の装置。
［Ｃ１１］
前記プロセッサが前記グラフ構造のセンタノードへの近さおよび前記新しいキーフレームへの近さのうちの１つに基づいて前記基準キーフレームを選択するように構成された、上記Ｃ１０に記載の装置。
［Ｃ１２］
前記プロセッサが、前記新しい画像と前記複数の以前のキーフレームとのオーバーラップを決定するために前記新しい画像を前記複数の以前のキーフレームと比較することと、前記オーバーラップを閾値と比較することと、を行うように構成されていることによって、前記新しい画像を前記新しいキーフレームとして選択するように構成された、上記Ｃ８に記載の装置。
［Ｃ１３］
前記プロセッサが、前記新しい画像が前記平面オブジェクトのものであることを検証するように構成されていることによって、前記新しい画像を前記新しいキーフレームとして選択するように構成された、上記Ｃ８に記載の装置。
［Ｃ１４］
前記プロセッサが、隣接キーフレームのポーズ、および前記新しい画像と前記隣接キーフレームとの間の対応するホモグラフィに基づいて、前記新しい画像についての複数のポーズを決定することと、前記複数のポーズを、前記マップに関して前記新しい画像をトラッキングすることによって生み出された前記新しい画像についてのトラッカポーズと比較することと、前記複数のポーズと前記トラッカポーズとの間のペアワイズポーズ差分の和が閾値内にあり、前記新しい画像が前記平面オブジェクトのものであることを示していること、を決定することと、を行うように構成されていることによって、前記新しい画像が前記平面オブジェクトのものであることを検証するように構成された、上記Ｃ１３に記載の装置。
［Ｃ１５］
平面オブジェクトの複数の画像をキャプチャする手段と、
新しい画像を新しいキーフレームとして選択する手段と、
空間的に分散した前記平面オブジェクトについて、前記新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出する手段と、
前記新しいキーフレームおよび前記複数の以前のキーフレームの各々ならびに前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィを使用して、グラフ構造を生成する手段と、
前記グラフ構造を使用して前記平面オブジェクトのマップを作成する手段と、
前記マップおよび後でキャプチャされた画像に基づいて前記平面オブジェクトをトラッキングする手段と、
を備える装置。
［Ｃ１６］
前記グラフ構造は木ベースのグラフ構造であり、前記新しいキーフレームおよび前記複数の以前のキーフレームの各々はノードであり、前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィは前記ノード間のエッジである、上記Ｃ１５に記載の装置。
［Ｃ１７］
前記グラフ構造を使用して前記平面オブジェクトの前記マップを作成するための前記手段が、
前記複数の以前のキーフレームから基準キーフレームを選択する手段と、
前記平面オブジェクトに関して前記基準キーフレームについてのポーズを算出する手段と、
前記基準キーフレームの前記ポーズおよび前記基準キーフレームとキーフレームの残りのセットとの間のホモグラフィを使用して、キーフレームの残りのセットについてのポーズを算出する手段と、
前記基準キーフレームの前記ポーズ、および前記キーフレームの残りのセットについての前記ポーズを使用して、前記マップを作成する手段と、
を含む、上記Ｃ１５に記載の装置。
［Ｃ１８］
前記新しい画像を前記新しいキーフレームとして選択するための前記手段が、前記新しい画像と前記複数の以前のキーフレームとのオーバーラップを決定するために前記新しい画像を前記複数の以前のキーフレームと比較する手段と、前記オーバーラップを閾値と比較する手段と、を含む、上記Ｃ１５に記載の装置。
［Ｃ１９］
前記新しい画像を前記新しいキーフレームとして選択するための前記手段が、前記新しい画像が前記平面オブジェクトのものであることを検証する手段を含む、上記Ｃ１５に記載の装置。
［Ｃ２０］
前記新しい画像が前記平面オブジェクトのものであることを検証するための前記手段が、
隣接キーフレームのポーズ、および前記新しい画像と前記隣接キーフレームとの間の対応するホモグラフィに基づいて、前記新しい画像についての複数のポーズを決定する手段と、
前記複数のポーズを、前記マップに関して前記新しい画像をトラッキングすることによって生み出された前記新しい画像についてのトラッカポーズと比較する手段と、
前記複数のポーズと前記トラッカポーズとの間のペアワイズポーズ差分の和が閾値内にあり、前記新しい画像が前記平面オブジェクトのものであることを示していること、を決定する手段と、
を含む、上記Ｃ１９に記載の装置。
［Ｃ２１］
プログラムコードが記憶された非一時的なコンピュータ可読媒体であって、
キャプチャされた平面オブジェクトの複数の画像から、新しい画像を新しいキーフレームとして選択するプログラムコードと、
空間的に分散した前記平面オブジェクトについて、前記新しいキーフレームと複数の以前のキーフレームの各々と間のホモグラフィを算出するプログラムコードと、
前記新しいキーフレームおよび前記複数の以前のキーフレームの各々ならびに前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィを使用して、グラフ構造を生成するプログラムコードと、
前記グラフ構造を使用して前記平面オブジェクトのマップを作成するプログラムコードと、
前記マップおよび後でキャプチャされた画像に基づいて前記平面オブジェクトをトラッキングするプログラムコードと、
を備える、非一時的なコンピュータ可読媒体。
［Ｃ２２］
前記グラフ構造は木ベースのグラフ構造であり、前記新しいキーフレームおよび前記複数の以前のキーフレームの各々はノードであり、前記新しいキーフレームと前記複数の以前のキーフレームの各々との間の前記ホモグラフィは前記ノード間のエッジである、上記Ｃ２１に記載の非一時的なコンピュータ可読媒体。
［Ｃ２３］
前記グラフ構造を使用して前記平面オブジェクトの前記マップを作成する前記プログラムコードが、
前記複数の以前のキーフレームから基準キーフレームを選択するプログラムコードと、
前記平面オブジェクトに関して前記基準キーフレームについてのポーズを算出するプログラムコードと、
前記基準キーフレームの前記ポーズ、および前記基準キーフレームとキーフレームの残りのセットとの間のホモグラフィを使用して、キーフレームの残りのセットについてのポーズを算出するプログラムコードと、
前記基準キーフレームの前記ポーズ、および前記キーフレームの残りのセットについての前記ポーズを使用して、前記マップを作成するプログラムコードと、
を含む、上記Ｃ２１に記載の非一時的なコンピュータ可読媒体。
［Ｃ２４］
前記新しい画像を前記新しいキーフレームとして選択する前記プログラムコードが、前記新しい画像と前記複数の以前のキーフレームとのオーバーラップを決定するために前記新しい画像を前記複数の以前のキーフレームと比較するプログラムコードと、前記オーバーラップを閾値と比較するプログラムコードとを含む、上記Ｃ２１に記載の非一時的なコンピュータ可読媒体。
［Ｃ２５］
前記新しい画像を前記新しいキーフレームとして選択する前記プログラムコードが、前記新しい画像が前記平面オブジェクトのものであることを検証するプログラムコードを含む、上記Ｃ２１に記載の非一時的なコンピュータ可読媒体。
［Ｃ２６］
前記新しい画像が前記平面オブジェクトのものであることを検証する前記プログラムコードが、
隣接キーフレームのポーズ、および前記新しい画像と前記隣接キーフレームとの間の対応するホモグラフィに基づいて、前記新しい画像についての複数のポーズを決定するプログラムコードと、
前記複数のポーズを、前記マップに関して前記新しい画像をトラッキングすることによって生み出された前記新しい画像についてのトラッカポーズと比較するプログラムコードと、
前記複数のポーズと前記トラッカポーズとの間のペアワイズポーズ差分の和が閾値内にあり、前記新しい画像が前記平面オブジェクトのものであることを示していること、を決定するプログラムコードと、
を含む、上記Ｃ２５に記載の非一時的なコンピュータ可読媒体。
【図１】
0005722502.tif 000012
【図２】
0005722502.tif 000013
【図３】
0005722502.tif 000014
【図４】
0005722502.tif 000015
【図５】
0005722502.tif 000016
【図６Ａ】
0005722502.tif 000017
【図６Ｂ】
0005722502.tif 000018
【図６Ｃ】
0005722502.tif 000019
【図６Ｄ】
0005722502.tif 000020
【図７】
0005722502.tif 000021
【図８】
0005722502.tif 000022
【図９】
0005722502.tif 000023
【図１０Ａ】
0005722502.tif 000024
【図１０Ｂ】
0005722502.tif 000025
【図１１】
0005722502.tif 000026
【図１２】
0005722502.tif 000027