(57)【特許請求の範囲】
【請求項１】
ラインマッピングのコンピュータ実装方法であって、
実世界環境の1つまたは複数のアスペクトに対応する少なくとも第1および第2の3次元(3D)ラインを含む3Dマップを取得するステップと、
前記1つまたは複数のアスペクトの少なくとも一部を含む第1の1つまたは複数の画像を取得するステップと、
前記3Dマップと前記第1の1つまたは複数の画像との組み合わせに応じて1つまたは複数の仮説的3Dラインを生成するステップと、
前記1つまたは複数のアスペクトの少なくとも一部を含む第2の1つまたは複数の画像を取得するステップであって、前記第2の1つまたは複数の画像が前記第1の1つまたは複数の画像とは異なる位置からキャプチャされる、ステップと、
前記第2の1つまたは複数の画像から、前記1つまたは複数の仮説的3Dラインのうちの少なくとも1つが前記1つまたは複数のアスペクトに対応することを検証するステップとを含み、
前記第2の1つまたは複数の画像から、前記1つまたは複数の仮説的3Dラインのうちの少なくとも1つが前記1つまたは複数のアスペクトに対応することを検証するステップは、前記1つまたは複数の仮説的3Dラインの大きさを取得するために前記第2の1つまたは複数の画像にエッジフィルタを適用するステップを含む、方法。
【請求項２】
前記1つまたは複数の仮説的3Dラインが成功裏に検証されたことに応答して、前記3Dマップを前記1つまたは複数の仮説的3Dラインを含むように更新するステップをさらに含む、請求項1に記載の方法。
【請求項３】
1つまたは複数の仮説的3Dラインを生成するステップは、
前記第1の3Dラインおよび前記第2の3Dラインに基づいて3D空間内に平面を定義するステップと、
前記平面に直交する1つまたは複数の3Dラインを識別するステップと、
前記平面に直交する前記3Dラインのうちの1つまたは複数を前記1つまたは複数の仮説的3Dラインとして選択するステップとを含む、請求項1に記載の方法。
【請求項４】
前記エッジフィルタを適用するステップは、ソーベルエッジフィルタを適用するステップを含む、請求項1に記載の方法。
【請求項５】
前記1つまたは複数の仮説的3Dラインを生成するステップは、前記第1の1つまたは複数の画像から1つまたは複数のラインを抽出するステップを含み、前記仮説的3Dラインは、前記抽出された1つまたは複数のラインに基づく、請求項1に記載の方法。
【請求項６】
前記1つまたは複数の仮説的3Dラインが前記アスペクトに対応することを検証するステップは、
前記第1の3Dラインおよび前記第2の3Dラインに基づいて3D空間内に平面を定義するステップと、
前記1つまたは複数の仮説的3Dラインが前記平面と同一平面上に位置するかどうかを判定するステップとを含む、請求項5に記載の方法。
【請求項７】
プロセッサによって実行可能なラインマッピングプログラム命令が記憶された機械可読記憶媒体であって、前記ラインマッピングプログラム命令が、
実世界環境の1つまたは複数のアスペクトに対応する少なくとも第1および第2の3次元(3D)ラインを含む3Dマップを取得するための命令と、
前記1つまたは複数のアスペクトの少なくとも一部を含む第1の1つまたは複数の画像を取得するための命令と、
前記3Dマップと前記第1の1つまたは複数の画像との組み合わせに応じて1つまたは複数の仮説的3Dラインを生成するための命令と、
前記1つまたは複数のアスペクトの少なくとも一部を含む第2の1つまたは複数の画像を取得するための命令であって、前記第2の1つまたは複数の画像が前記第1の1つまたは複数の画像とは異なる位置からキャプチャされる、取得するための命令と、
前記第2の1つまたは複数の画像から、前記1つまたは複数の仮説的3Dラインのうちの少なくとも1つが前記1つまたは複数のアスペクトに対応することを検証するための命令とを含み、
前記第2の1つまたは複数の画像から、前記1つまたは複数の仮説的3Dラインのうちの少なくとも1つが前記1つまたは複数のアスペクトに対応することを検証するための前記命令は、前記1つまたは複数の仮説的3Dラインの大きさを取得するために前記1つまたは複数の画像にエッジフィルタを適用するための命令を含む、機械可読記憶媒体。
【請求項８】
前記1つまたは複数の仮説的3Dラインが成功裏に検証されたことに応答して、前記3Dマップを前記1つまたは複数の仮説的3Dラインを含むように更新するための命令をさらに含む、請求項7に記載の機械可読記憶媒体。
【請求項９】
1つまたは複数の仮説的3Dラインを生成するための命令は、
前記第1の3Dラインおよび前記第2の3Dラインに基づいて3D空間内に平面を定義するための命令と、
前記平面に直交する1つまたは複数の3Dラインを識別するための命令と、
前記平面に直交する前記3Dラインのうちの1つまたは複数を前記1つまたは複数の仮説的3Dラインとして選択するための命令とを含む、請求項7に記載の機械可読記憶媒体。
【請求項１０】
前記エッジフィルタを適用するための前記命令は、ソーベルエッジフィルタを適用するための命令を含む、請求項7に記載の機械可読記憶媒体。
【請求項１１】
前記1つまたは複数の仮説的3Dラインを生成するための前記命令は、前記1つまたは複数の画像から1つまたは複数のラインを抽出するための命令を含み、前記仮説的3Dラインは、前記抽出された1つまたは複数のラインに基づく、請求項7に記載の機械可読記憶媒体。
【請求項１２】
前記1つまたは複数の仮説的3Dラインが前記アスペクトに対応することを検証するための前記命令は、
前記第1の3Dラインおよび前記第2の3Dラインに基づいて3D空間内に平面を定義するための命令と、
前記1つまたは複数の仮説的3Dラインが前記平面と同一平面上に位置するかどうかを判定するための命令とを含む、請求項11に記載の機械可読記憶媒体。
【請求項１３】
ラインマッピングのためのデバイスであって、
メモリと、
前記メモリに結合されたプロセッサであって、
実世界環境の1つまたは複数のアスペクトに対応する少なくとも第1および第2の3次元(3D)ラインを含む3Dマップを取得することと、
前記1つまたは複数のアスペクトの少なくとも一部を含む第1の1つまたは複数の画像を取得することと、
前記3Dマップと前記第1の1つまたは複数の画像との組み合わせに応じて1つまたは複数の仮説的3Dラインを生成することと、
前記1つまたは複数のアスペクトの少なくとも一部を含む第2の1つまたは複数の画像を取得することであって、前記第2の1つまたは複数の画像が前記第1の1つまたは複数の画像とは異なる位置からキャプチャされる、取得することと、
前記第2の1つまたは複数の画像から、前記1つまたは複数の仮説的3Dラインのうちの少なくとも1つが前記1つまたは複数のアスペクトに対応することを検証することとを行うように構成されたプロセッサとを備え、
前記第2の1つまたは複数の画像から、前記1つまたは複数の仮説的3Dラインのうちの少なくとも1つが前記1つまたは複数のアスペクトに対応することを検証するための命令は、前記1つまたは複数の仮説的3Dラインの大きさを取得するために前記1つまたは複数の画像にエッジフィルタを適用するための命令を含む、デバイス。
【請求項１４】
前記1つまたは複数の仮説的3Dラインが成功裏に検証されたことに応答して、前記3Dマップを前記1つまたは複数の仮説的3Dラインを含むように更新するための命令をさらに含む、請求項13に記載のデバイス。
【請求項１５】
前記第1の3Dラインおよび前記第2の3Dラインを処理するための命令は、
前記第1の3Dラインおよび前記第2の3Dラインに基づいて3D空間内に平面を定義するための命令と、
前記平面に直交する1つまたは複数の3Dラインを識別するための命令と、
前記平面に直交する前記3Dラインのうちの1つまたは複数を前記1つまたは複数の仮説的3Dラインとして選択するための命令とを含む、請求項13に記載のデバイス。
【請求項１６】
前記エッジフィルタを適用するための前記命令は、ソーベルエッジフィルタを適用するための命令を含む、請求項13に記載のデバイス。
【請求項１７】
前記1つまたは複数の仮説的3Dラインを判定するための命令は、前記1つまたは複数の画像から1つまたは複数のラインを抽出するための命令を含み、前記仮説的3Dラインは、前記抽出された1つまたは複数のラインに基づく、請求項13に記載のデバイス。
【請求項１８】
前記1つまたは複数の仮説的3Dラインが前記アスペクトに対応することを検証するための前記命令は、
前記第1の3Dラインおよび前記第2の3Dラインに基づいて3D空間内に平面を定義するための命令と、
前記1つまたは複数の仮説的3Dラインが前記平面と同一平面上に位置するかどうかを判定するための命令とを含む、請求項17に記載のデバイス。
【請求項１９】
ラインマッピングを実行するための装置であって、
実世界環境の1つまたは複数のアスペクトに対応する少なくとも第1および第2の3次元(3D)ラインを含む3Dマップを取得するための手段と、
前記1つまたは複数のアスペクトの少なくとも一部を含む第1の1つまたは複数の画像を取得するための手段と、
前記3Dマップと前記第1の1つまたは複数の画像との組み合わせに応じて1つまたは複数の仮説的3Dラインを生成するための手段と、
前記1つまたは複数のアスペクトの少なくとも一部を含む第2の1つまたは複数の画像を取得するための手段であって、前記第2の1つまたは複数の画像が前記第1の1つまたは複数の画像とは異なる位置からキャプチャされる手段と、
前記第2の1つまたは複数の画像から、前記1つまたは複数の仮説的3Dラインのうちの少なくとも1つが前記1つまたは複数のアスペクトに対応することを検証するための手段とを備え、
前記第2の1つまたは複数の画像から、前記1つまたは複数の仮説的3Dラインのうちの少なくとも1つが前記1つまたは複数のアスペクトに対応することを検証するための前記手段は、前記1つまたは複数の仮説的3Dラインの大きさを取得するために前記1つまたは複数の画像にエッジフィルタを適用するための手段を備える、装置。
【請求項２０】
前記1つまたは複数の仮説的3Dラインが成功裏に検証されたことに応答して、前記3Dマップを前記1つまたは複数の仮説的3Dラインを含むように更新するための手段をさらに備える、請求項19に記載の装置。
【請求項２１】
前記1つまたは複数の仮説的3Dラインを生成するための前記手段は、
前記第1の3Dラインおよび前記第2の3Dラインに基づいて3D空間内に平面を定義するための手段と、
前記平面に直交する1つまたは複数の3Dラインを識別するための手段と、
前記平面に直交する前記3Dラインのうちの1つまたは複数を前記1つまたは複数の仮説的3Dラインとして選択するための手段とを備える、請求項19に記載の装置。
【請求項２２】
前記エッジフィルタを適用するための前記手段は、ソーベルエッジフィルタを適用するための手段を含む、請求項19に記載の装置。
【請求項２３】
前記1つまたは複数の仮説的3Dラインを生成するための前記手段は、前記1つまたは複数の画像から1つまたは複数のラインを抽出するための手段を含み、前記仮説的3Dラインは、前記抽出された1つまたは複数のラインに基づく、請求項19に記載の装置。
【請求項２４】
前記1つまたは複数の仮説的3Dラインが前記アスペクトに対応することを検証するための前記手段は、
前記第1の3Dラインおよび前記第2の3Dラインに基づいて3D空間内に平面を定義するための手段と、
前記1つまたは複数の仮説的3Dラインが前記平面と同一平面上に位置するかどうかを判定するための手段とを含む、請求項23に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照により本明細書に組み込まれている、2015年7月2日に出願された「HYPOTHESES LINE MAPPING AND VERIFICATION FOR 3D MAPS」という名称の米国特許出願第14/791,205号からの優先権の利益を主張する。
【０００２】
本開示は、概してコンピュータビジョンベースのオブジェクト認識アプリケーションに関し、具体的には、それだけには限らないが、3次元(3D)ラインマッピングに関する。
【背景技術】
【０００３】
モバイルワイヤレス通信デバイス、携帯情報端末(PDA)、ラップトップコンピュータ、デスクトップコンピュータ、デジタルカメラ、デジタル記録デバイスなどを含む広範囲の電子デバイスが、マシンビジョン技法を使用して多用途の撮像機能を実現している。これらの機能には、ユーザがランドマークを認識し、友人および/または他人を識別するのを助け、様々な他のタスクを実行するのを助ける機能を含めてもよい。
【０００４】
拡張現実(AR)システムは、カメラによってキャプチャされたカラー画像データまたはグレースケール画像データに基づく、モデルベース(たとえば、3Dモデル)の追跡アルゴリズム、またはSimultaneous Localization and Mapping(SLAM)アルゴリズムに依存している。SLAMアルゴリズムは、ある環境のアスペクト(たとえば、ランドマークおよびターゲットオブジェクト)を環境内の識別可能な特徴に基づいて検出し追跡する場合がある。いくつかのSLAMシステムは、点ベースの特徴選択を使用してアスペクト/ターゲットオブジェクトを検出し追跡する場合がある。しかし、多くの環境(たとえば、人工の環境)は、エッジ状の特徴を検出するうえで助けになる豊富なエッジを有する。エッジ状の特徴を識別して環境の3Dマップに付加するプロセスは、ラインマッピングと呼ばれることが多い。しかし、一般的なラインマッピングシステムでは、1つの3Dラインを三角行列化するために少なくとも3つのキーフレームを生成することが必要になることが多いので不完全な3Dラインが生成される。1つの3Dラインに関して3つのキーフレームを処理する要件は、モバイルデバイスなどの比較的低度の処理機能しか有さないデバイスには負担が大きい。
【発明の概要】
【課題を解決するための手段】
【０００５】
本明細書で説明するいくつかの実施形態は、3Dマッピングシステムにおいて改良された(たとえば、より高速な)ラインマッピングを可能にする。より詳細には、本明細書で説明する実施形態は、既存の3Dマップに含まれる既存の3Dラインから新しい3Dラインを延長させるかまたは生成することを含む。説明するプロセスは、カメラの小さい動きを使用する(すなわち、キーフレームの生成を待つ代わりに少数のカメラ画像を使用する)ことによって新しい3Dラインを生成してもよい。一般に、このプロセスは、3Dマップにおける既存のラインを観察することによって仮説的3Dライン(Hypotheses 3D Line)を生成するか、または受信された画像から仮説的3Dラインを生成することを含む。仮説的3Dラインは、着信画像のうちの1つまたは複数に対して検証されてもよい。
【０００６】
一実施形態では、ラインマッピングのコンピュータ実装方法が、実世界環境(Real World Environment)の1つまたは複数のアスペクトに対応する少なくとも第1および第2の3Dラインを含む3次元(3D)マップを取得するステップと、1つまたは複数のアスペクトの少なくとも一部を含む第1の1つまたは複数の画像を取得するステップとを含む。この方法はまた、3Dマップ、第1の1つまたは複数の画像、あるいはそれらの組合せのうちの1つまたは複数に応じて1つまたは複数の仮説的3Dラインを生成するステップを含んでもよい。この方法はまた、1つまたは複数のアスペクトの少なくとも一部を含む第2の1つまたは複数の画像を取得するステップであって、第2の1つまたは複数の画像が第1の1つまたは複数の画像とは異なる位置からキャプチャされる、ステップを含んでもよい。さらに、この方法は、第2の1つまたは複数の画像から、1つまたは複数の仮説的3Dラインのうちの少なくとも1つが1つまたは複数のアスペクトに対応することを検証することを含んでもよい。
【０００７】
別の実施形態では、コンピュータ可読媒体にラインマッピングに関するプログラムコードが記憶される。一実施形態では、このプログラムコードは、実世界環境の1つまたは複数のアスペクトに対応する少なくとも第1および第2の3Dラインを含む3次元(3D)マップを取得するための命令と、1つまたは複数のアスペクトの少なくとも一部を含む第1の1つまたは複数の画像を取得するための命令とを含む。これらの命令はまた、3Dマップ、第1の1つまたは複数の画像、あるいはそれらの組合せのうちの1つまたは複数に応じて1つまたは複数の仮説的3Dラインを生成してもよい。これらの命令はまた、1つまたは複数のアスペクトの少なくとも一部を含む第2の1つまたは複数の画像を取得してもよく、その場合、第2の1つまたは複数の画像は第1の1つまたは複数の画像とは異なる位置からキャプチャされる。さらに、これらの命令は、第2の1つまたは複数の画像から、1つまたは複数の仮説的3Dラインのうちの少なくとも1つが1つまたは複数のアスペクトに対応することを検証してもよい。
【０００８】
さらに別の実施形態では、デバイスが、処理ユニットに結合されたメモリを含む。メモリは、ラインマッピングに関するプログラムコードを記憶するように適合され、処理ユニットは、プログラムコードに含まれる命令にアクセスしこれらの命令を実行するように適合される。命令が処理ユニットによって実行されるときに、処理ユニットは、デバイスに、実世界環境の1つまたは複数のアスペクトに対応する少なくとも第1および第2の3Dラインを含む3次元(3D)マップを取得することと、1つまたは複数のアスペクトの少なくとも一部を含む第1の1つまたは複数の画像を取得することとを行うように指示する。これらの命令はまた、3Dマップ、第1の1つまたは複数の画像、あるいはそれらの組合せのうちの1つまたは複数に応じて1つまたは複数の仮説的3Dラインを生成してもよい。これらの命令はまた、1つまたは複数のアスペクトの少なくとも一部を含む第2の1つまたは複数の画像を取得してもよく、この場合、第2の1つまたは複数の画像は第1の1つまたは複数の画像とは異なる位置からキャプチャされる。さらに、これらの命令は、第2の1つまたは複数の画像から、1つまたは複数の仮説的3Dラインのうちの少なくとも1つが1つまたは複数のアスペクトに対応することを検証してもよい。
【０００９】
さらなる一実施形態では、ラインマッピングのための装置が、実世界環境の1つまたは複数のアスペクトに対応する少なくとも第1および第2の3Dラインを含む3次元(3D)マップを取得するための手段と、1つまたは複数のアスペクトの少なくとも一部を含む第1の1つまたは複数の画像を取得するための手段とを含む。この装置はまた、3Dマップ、第1の1つまたは複数の画像、あるいはそれらの組合せのうちの1つまたは複数に応じて1つまたは複数の仮説的3Dラインを生成するための手段を含んでもよい。この装置はまた、1つまたは複数のアスペクトの少なくとも一部を含む第2の1つまたは複数の画像を取得するための手段であって、第2の1つまたは複数の画像が第1の1つまたは複数の画像とは異なる位置からキャプチャされる手段を含んでもよい。さらに、この装置は、第2の1つまたは複数の画像から、1つまたは複数の仮説的3Dラインのうちの少なくとも1つが1つまたは複数のアスペクトに対応することを検証するための手段を含んでもよい。
【００１０】
本開示の上記および他の実施形態、目的、および特徴は、添付の図面に関連して与えられる、様々な実施形態の以下の説明から明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１Ａ】一実施形態における、ラインマッピングが可能なモバイルプラットフォームの前面部を示す図である。
【図１Ｂ】一実施形態における、ラインマッピングが可能なモバイルプラットフォームの背面部を示す図である。
【図２】一実施形態におけるラインマッピングプロセスを示すフローチャートである。
【図３Ａ】一実施形態における直交性仮定に基づいて仮説的3Dラインを生成するプロセス300Aを示すフローチャートである。
【図３Ｂ】一実施形態における直交性仮定から生成された仮説的3Dラインを検証するプロセス300Bを示すフローチャートである。
【図４Ａ】一実施形態におけるターゲットオブジェクトの画像を示す図である。
【図４Ｂ】一実施形態におけるターゲットオブジェクトに対応する既存の3Dモデルの第1および第2の既存の3Dラインを示す図である。
【図４Ｃ】一実施形態における第1および第2の3Dラインに基づいて3D空間に定義された平面を示す図である。
【図４Ｄ】一実施形態における定義された平面に直交するいくつかの仮説的3Dラインを示す図である。
【図４Ｅ】一実施形態における仮説的3Dラインの検証された部分を示す図である。
【図４Ｆ】一実施形態における更新された3Dマップの3Dラインを示す図である。
【図５Ａ】一実施形態における共面性仮定に基づいて仮説的3Dラインを生成するプロセスを示すフローチャートである。
【図５Ｂ】一実施形態における共面性仮定に基づいて生成された仮説的3Dラインを検証するプロセスを示すフローチャートである。
【図６Ａ】ターゲットオブジェクトおよび背景オブジェクトの例示的な画像を示す図である。
【図６Ｂ】一実施形態におけるターゲットオブジェクトに対応する既存の3Dモデルの第1および第2の既存の3Dラインを示す図である。
【図６Ｃ】一実施形態における共面性仮定に基づいて生成された仮説的3Dラインを示す図である。
【図６Ｄ】一実施形態における第1および第2の3Dラインに基づいて3D空間に定義された平面を示す図である。
【図６Ｅ】一実施形態における更新された3Dマップの既存の3Dラインおよび検証された3Dラインを示す図である。
【図７】本明細書で説明するプロセスを実行することが可能なデバイスの一実施形態の機能ブロック図である。
【図８】本明細書で説明するプロセスを実行することが可能な例示的な画像処理システムの機能ブロック図である。
【発明を実施するための形態】
【００１２】
本明細書全体を通して「一実施形態(one embodiment)」、「一実施形態(an embodiment)」、「一例(one example)」、または「一例(an example)」への参照は、実施形態または例に関連して説明する特定の特徴、構造、または特性が、本発明の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体を通して様々な箇所における「一実施形態では(in one embodiment)」、または「一実施形態では(in an embodiment)」という語句の出現は、必ずしもすべて同じ実施形態を指すわけではない。さらに、特定の特徴、構造、または特性は、1つまたは複数の実施形態において任意の適切な方法で組み合わせられてもよい。本明細書に記載の任意の例または実施形態は、他の例または実施形態よりも好ましいかまたは有利であると解釈されるべきではない。
【００１３】
一実施形態では、本明細書で説明する改良されたコンピュータビジョンラインマッピング技法は、ある環境(たとえば、実世界環境)の(たとえば、本明細書ではオブジェクトまたは要素とも呼ばれる)1つまたは複数のアスペクト(Aspect)の検出および/または追跡を可能にする。一実施形態では、入力画像におけるカメラの小さい動きを利用することによって、仮説的3Dライン(たとえば、所定の3Dマップ内の3D空間において識別されておらずまたマップされていない新しいライン)を判定するのに3Dマップに含まれる3Dライン(たとえば、所定のマップまたは受信されたマップにおける既存のライン)が使用される。仮説的3Dラインは、入力画像に従って精度に関して検証されてもよい。たとえば、仮説的3Dラインは、環境の1つまたは複数の検出または追跡されたアスペクト(たとえば、ターゲットオブジェクトまたは環境の他の要素)に対応する実際のラインを表すかどうかを判定するために分析されてもよい。本開示のこれらの特徴および他の特徴について以下でさらに詳細に説明する。
【００１４】
図1Aおよび図1Bは、ラインマッピングが可能なモバイルプラットフォーム/装置のそれぞれ、前面部および背面部を示す。モバイルプラットフォーム100は、ディスプレイ102と、スピーカー104と、マイクロフォン106とを含むように示されている。モバイルプラットフォーム100は、環境のイメージをキャプチャするためのカメラ108をさらに含む。さらに、モバイルプラットフォーム100は、加速度計、ジャイロスコープなどのモーションセンサ(不図示)を含んでもよく、これらのモーションセンサは、モバイルプラットフォーム100の姿勢を決定する際の補助に用いられてもよく、または同様に、モーションセンサに対する既知の/キャリブレーションされた位置関係を有する場合があるカメラ108の姿勢を決定する際の補助に用いられてもよい。モバイルプラットフォーム100の姿勢は、ビジョンベースの追跡技法を用いて付加的または代替的に判定されてもよい。
【００１５】
モバイルプラットフォームは本明細書で使用される場合は、セルラーもしくは他のワイヤレス通信デバイス、パーソナル通信システム(PCS)デバイス、パーソナルナビゲーションデバイス(PND)、個人情報マネージャ(PIM)、携帯情報端末(PDA)、タブレット、ウェアラブルデバイス、ヘッドマウントディスプレイ(HMD)、または他の適したモバイルデバイスなどの任意のポータブル電子デバイスを指す。モバイルプラットフォームは、ワイヤレス通信信号、および/またはナビゲーション位置決め信号のようなナビゲーション信号を受信することが可能であってもよい。「モバイルプラットフォーム」という用語は、衛星信号受信、支援データ受信、および/または位置関連処理がデバイスで行われるかパーソナル航法デバイス(PND)で行われるかにかかわらず、短距離ワイヤレス、赤外線、有線接続、または他の接続などによって、PNDと通信するデバイスを含むようにも意図されている。また、「モバイルプラットフォーム」は、拡張現実(AR)アプリケーションを実行することが可能であるワイヤレス通信デバイス、コンピュータ、ラップトップ、タブレットコンピュータなどを含む、すべての電子デバイスを含むように意図されている。
【００１６】
ARアプリケーションでは、現実世界のオブジェクトが撮像され、画像、3Dバーチャルアクター、またはテキスト情報などのコンピュータ生成情報とともにスクリーン上に表示される。ARでは、撮像された現実世界のオブジェクトは、その撮像された現実世界のオブジェクトに対するカメラの位置と向き(姿勢)の情報を判定するために検出され追跡されてもよい。この情報は、現実世界のオブジェクトとともに表示されることになるグラフィカルオブジェクトを正確にレンダリングするために用いられる。検出され追跡される現実世界のオブジェクトは、2次元(2D)オブジェクトであっても、または3次元(3D)オブジェクトであってもよい。
【００１７】
モバイル電話または他のモバイルプラットフォーム上でARを可能にするうえでの重要な課題として、カメラの姿勢を正確にかつリアルタイムに推定して追跡する問題がある。ARアプリケーションのための姿勢追跡には、非常に厳しい要件がある。すなわち、姿勢追跡は、完全な6自由度を実現し、所与の座標系に対して絶対測定を行うことができなければならず、かつ非常にロバストでなければならず、リアルタイムに実行されなければならない。ここで対象となるのは、コンピュータビジョン(CV)ベースの手法を使用して姿勢を計算する方法であり、そのような方法は、まずカメラの視野内で1つまたは複数のオブジェクトを検出し、続いて各オブジェクトを追跡することに基づく。
【００１８】
動作時には、拡張現実を実装するモバイルプラットフォームは、ある環境(たとえば、モバイルプラットフォームのカメラ視点から見えるローカル環境)のアスペクト(たとえば、ランドマーク、ターゲットオブジェクト、または要素)に対して第1の位置にある間にその環境のアスペクトの第1の画像をキャプチャしてもよい。モバイルプラットフォームは、第2の位置にある間に環境のアスペクトを含む第2の画像をキャプチャしてもよい。モバイルプラットフォームの動きに起因して、環境のアスペクトに対するカメラの姿勢が変化する場合がある。たとえば、モバイルプラットフォームの動きを第1の画像と第2の画像との間のターゲットオブジェクトの動きに変換することができる。モバイルプラットフォームのこの動きによって、ディスプレイ102上のオブジェクトが移動する。コンピュータ生成されたARグラフィックスが、画角またはグラフィックスのサイズを更新することによって調整されてもよい。様々な例では、オブジェクトの動きが、実際のオブジェクトの動き、モバイルプラットフォームの動き、またはその両方の組合せによって生じてもよい。モバイルプラットフォームは、レンダリングされた拡張が適切な位置、サイズ、および視点に残るようにオブジェクトの動きを追跡することができる。
【００１９】
エッジ検出および対応確立が、画像内のターゲットオブジェクトの存在を検出するために使用されてもよく、および/またはARアプリケーションにおけるターゲットオブジェクトの動きの追跡において使用されてもよい。しかし、上述のように、一般的なラインマッピングシステムは、モバイルプラットフォームに加える処理負担が大きいので不完全な3Dラインを生成する。たとえば、SLAMなどの従来の3Dマッピングシステムは、単一のラインを三角行列化するために少なくとも3つのキーフレームを生成することに基づくことが多く、このことはシステムにおいて極めて時間がかかり、かつ/または面倒であり得る。
【００２０】
ターゲットオブジェクトの動きを検出および/または追跡するために、本開示の実施形態は改良された(たとえば、より高速な)コンピュータビジョンラインマッピング(たとえば、3D SLAMまたは他のシステムなどのリアルタイムマッピングおよび追跡)を可能にする。より詳細には、本明細書で説明する実施形態は、既存の3Dマップに含まれる既存の3Dラインから新しい3Dラインを延長させるかまたは生成することを含む。説明するプロセスは、カメラの小さい動きを使用する(すなわち、キーフレームの生成を待たなければならない代わりに少数のカメラ画像を使用する)ことによって新しい3Dラインを生成してもよい。一般に、このプロセスは、3Dマップにおける既存のラインを観察することによって仮説的3Dラインを生成することを含む。仮説的ラインは、着信画像のうちの1つまたは複数を使用して検証されてもよい。したがって、本開示の実施形態は、少なくとも2つの異なる動作を含んでもよい。(1)仮説的3Dラインの生成、および(2)そのような仮説的3Dラインに関する、ターゲットオブジェクトに対応する実際のラインとしての検証。本開示のこれらの特徴および他の特徴について以下でさらに詳細に説明する。
【００２１】
図2は、ラインマッピングのプロセス200を示すフローチャートである。プロセスブロック205は、まず、実世界環境の1つまたは複数のアスペクトに対応する少なくとも第1および第2の3Dラインを含む3Dマップを取得することを含む。たとえば、環境内のアスペクト(たとえば、ターゲットオブジェクト)に対応する2つの既存の3Dライン。
【００２２】
プロセスブロック210は、次に、1つまたは複数のアスペクトの少なくとも一部を含む第1の1つまたは複数の画像を取得することを含む。たとえば、モバイルプラットフォーム100などのデバイスは、カメラから画像を受信してもよく、これらの画像は、ターゲットオブジェクトまたは環境の他のアスペクトの一部または全体を含んでもよい。
【００２３】
プロセスブロック215は、3Dマップ、第1の1つまたは複数の画像、あるいはそれらの組合せのうちの1つまたは複数に応じて1つまたは複数の仮説的3Dラインを生成することを含む。たとえば、仮説的3Dラインを生成することは、直交性仮定に基づいても、または3Dマップから得た既存の3Dラインに対する共面性仮定に基づいてもよい。すなわち、一実施形態では、仮説的3Dラインが、既存の3Dラインによって定義される平面と直交することが仮定されるように生成されてもよく、一方、別の実施形態では、仮説的3Dラインが、既存の3Dラインによって定義される平面と同一平面上に位置することが仮定されるように生成されてもよい。いくつかの実施形態では、共面性仮定では、3Dマップの代わりに画像から仮説的3Dラインを抽出してもよく、または3Dマップに加えて画像から仮説的3Dラインを抽出してもよい。
【００２４】
プロセスブロック220は、1つまたは複数のアスペクトの少なくとも一部を含む第2の1つまたは複数の画像を取得することを含み、この場合、第2の1つまたは複数の画像は第1の1つまたは複数の画像とは異なる位置からキャプチャされる。たとえば、画像は、ブロック205から得られる第1の1つまたは複数の画像と同じカメラセンサーによってキャプチャされてもよい。カメラセンサーの視点は、たとえば、第1の1つまたは複数の画像から後の時点に得られる画像では、第1の1つまたは複数の画像とは位置が異なってもよい。一実施形態では、第2の1つまたは複数の画像は、第1の1つまたは複数の画像とは異なる姿勢を有してもよい。
【００２５】
プロセスブロック225は、第2の1つまたは複数の画像から、1つまたは複数の仮説的3Dラインのうちの少なくとも1つが1つまたは複数のアスペクトに対応することを検証することを含む。たとえば、検証は、仮説的3Dラインが実際にアスペクトまたはターゲットオブジェクトに対応するかどうかを判定することを含んでもよい。仮説的ラインを検証するように(たとえば、第1の1つまたは複数の画像とは異なる位置を有する)カメラの小さい動きを含む1つまたは複数のキャプチャされた画像(たとえば、第2の1つまたは複数の画像)にわたって既存のラインが観察されてもよい。仮説的ラインが実世界環境のアスペクトに対応することが検証された場合、プロセスは場合によっては、3Dマップデータを更新してもよく、それによって、更新された3Dマップは、新たに生成され検証された仮説的3Dラインの表現を含む。たとえば、更新された3Dマップは、仮説的3Dラインが成功裏に検証されたことに応じて判定された3Dライン、および仮説判定の前に3Dマップの一部であった既存の3Dラインを含んでもよい。
【００２６】
図3Aは、一実施形態における直交性仮定に基づいて仮説的3Dラインを生成するプロセス300Aを示すフローチャートである。プロセス300Aは、プロセス200のプロセスブロック210の1つの可能な実装形態である。プロセス300Aは、直交性仮定に基づいて仮説的3Dラインを生成する考えられるプロセスを表す。図3Aに示すように、プロセスブロック305は、3Dマップデータに含まれる既存のラインに基づいて3D空間内に平面を定義することを含む。一実施形態では、仮説的3Dラインを生成するプロセスは、ターゲットオブジェクトに対応する少なくとも2つの3Dラインを含む3Dマップを受信することを含む。図4Aは、ターゲットオブジェクト404の画像402を示す。図4Bは、ターゲットオブジェクト404の既存の3Dマップデータに含まれる既存の3Dライン406および408を示す。次いで、2つの3Dライン406および408を使用して3D空間内に平面410(図4C)を定義する。
【００２７】
次いで、仮説的3Dラインが、平面410に直交するように生成されてもよい(すなわち、図3Aのプロセスブロック310)。たとえば、図4Dは、平面410に直交する仮説的3Dライン412〜418を示す。図示の例では、仮説的3Dライン412および414が、ライン特徴406のラインセグメントの端部の所に生成される。同様に、仮説的3Dライン416および418が、3Dライン408のラインセグメントの端部の所に生成される。仮説的3Dライン417が、ライン406とライン408の投影された交差点の所に生成されてもよい。一実施形態では、仮説的3Dラインは、2つの既存のライン406と408のクロス積をとることによって生成されてもよい。
【００２８】
図3Bは、一実施形態における直交性仮定から生成された仮説的3Dラインを検証するプロセス300Bを示すフローチャートである。プロセス300Bは、プロセス200のプロセスブロック220の1つの可能な実装形態である。プロセス300Bは、直交性仮定に基づいて生成された仮説的3Dラインを検証する一実施形態を表す。一実施形態では、仮説的3Dラインが3Dマップに付加すべき実際のラインであることを検証するためにターゲットオブジェクトの1つまたは複数の受信された画像が使用されてもよい。この検証では、仮説的3Dラインのリアルエッジスコアを算出する。一実施形態では、画像に含まれる任意のエッジを強調するためにソーベルフィルタなどのエッジフィルタが着信画像に適用されてもよい(すなわち、プロセスブロック315)。次いで、姿勢を変化させることによる1つまたは複数のフィルタ処理済み画像を使用して、仮説的3Dラインが実際のラインであることを検証してもよい。たとえば、フィルタ処理済み画像を使用して仮説的3Dラインの大きさ(Magnitude)を取得してもよく、かつ/または非エッジライン特徴を除去してもよい(すなわち、プロセスブロック320)。図4Eは、仮説的3Dラインの検証された部分(412'〜418')を示す図である。
【００２９】
上記で説明したように、3Dマップがこの時点において前の3Dライン406および408ならびに新たに生成された3Dライン412'〜418'を含むように、検証された3Dラインが次に3Dマップデータに付加されてもよい(図4F)。次いで、更新された3Dマップが、将来ターゲットオブジェクトを検出し追跡するのに使用されてもよい。
【００３０】
図5Aは、共面性仮定に基づいて仮説的3Dラインを生成するプロセス500Aを示すフローチャートである。プロセス500Aは、プロセス200におけるプロセスブロック210の1つの可能な実装形態である。プロセス500Aは、共面性仮定に基づいて仮説的3Dラインを生成する考えられるプロセスを表す。プロセスブロック505は、1つまたは複数の受信された画像から1つまたは複数のラインを抽出することを含む。たとえば、関連するカメラ姿勢を有する受信された画像(たとえば、現在の画像またはすでに取得された画像)からラインが抽出されてもよい。いくつかの実施形態では、画像から仮説的3Dラインを抽出する代わりにまたはそれに加えて、既存の3Dマップ(たとえば、本明細書で説明するように再構成されたラインを含む3Dマップ)から仮説的3Dラインが判定されてもよい。
【００３１】
3D仮説的ライン判定の一実施形態では、領域「R」が平面である(たとえば、構成可能なしきい値または指定されたしきい値内である)かどうかを判定するために(たとえば、3Dマップラインから取得された)平面「P」が画像および画像のカメラ姿勢(たとえば、カメラ画像が連続的に受信される現在の画像またはすでに受信された画像であり、「前の画像」は、デバイスによって現在の画像が表示またはバッファされる直前の画像である)上に投影される。2Dラインを領域「R」内で検出し、2Dラインの対応する姿勢によって逆投影して、3Dライン座標を判定してもよい。次の画像が受信されたときに、(たとえば、本明細書における検証プロセスにおいて説明するように)仮説的3Dラインが検証されてもよい。
【００３２】
たとえば、図6Aは、ターゲットオブジェクト604ならびに背景オブジェクト606および608を含む画像602を示す。各オブジェクトは、画像602によって表される環境のアスペクトと見なすこともでき、本明細書ではそのように呼ぶことがある。図6Bは、ターゲットオブジェクト/アスペクト604の既存の3Dマップまたは他の所定の3Dマップに含まれる2つの既存の3Dライン610および612または他の所定の3Dライン610および612を示す。一実施形態では、画像602は、画像に含まれる1つまたは複数のラインを検出するように処理される(すなわち、プロセスブロック505)。たとえば、画像602は、ソーベルエッジフィルタまたは他のフィルタによって処理されてもよい。図6Cは、いくつかの検出されたライン614〜624を示す。一実施形態では、検出されたラインは、仮説的3Dラインと見なされるように最小しきい値よりも大きいラインセグメント長を有さなければならない。その場合、検出されたライン614〜626は、既存の3Dライン610および612と同一平面上に位置すると仮定することによって仮説的3Dラインと見なされてもよい(すなわち、プロセスブロック510)。
【００３３】
図5Bは、一実施形態における共面性仮定に基づいて生成された仮説的3Dラインを検証するプロセス500Bを示すフローチャートである。プロセス500Bは、プロセス200のプロセスブロック220の1つの可能な実装形態である。プロセス500Bは、共面性仮定に基づいて生成された仮説的3Dラインを検証する一実施形態を表す。プロセスブロック515は、既存の3Dラインに基づいて3D空間内に平面を定義することを含む。たとえば、図6Dは、既存の3Dライン610および612に基づいて平面630を定義した状態を示す。
【００３４】
プロセスブロック520は次に、仮説的3Dラインが実際に、定義された平面と同一平面上に位置するかどうかを判定することを含む。姿勢を変化させることによるターゲットオブジェクトの1つまたは複数の画像を使用して、仮説的3Dラインが実際に平面630内に位置するかどうかを検証してもよい。図6Dに示すように、仮説的3Dライン622および624は、平面630上に位置しておらず、したがって、無視されてもよい。しかし、3Dライン614〜620および626は実際は平面630と同一平面上にあり、したがって、実際の3Dライン614'〜620'および626'として検証される。図6Eは、この時点では既存の3Dライン610および612ならびに検証された3Dライン614'〜620'および626'を含む更新された3Dマップの3Dラインを示す。
【００３５】
図7は、本明細書で説明するプロセスを実行することが可能なデバイス700の機能ブロック図である。デバイス700は、図1Aおよび図1Bのモバイルプラットフォーム100の1つの可能な実装形態である。また、デバイス700は、衛星信号受信、支援データ受信、および/または位置関連処理がそのデバイスにおいて行われるか、サーバにおいて行われるか、またはネットワークに関連する別のデバイスにおいて行われるかにかかわらず、インターネット、WiFi、または他のネットワークを介してなど、サーバとの通信が可能であるワイヤレス通信デバイス、コンピュータ、ラップトップなどを含むすべてのデバイスを含むデバイスであってもよい。デバイス700は、拡張現実(AR)、仮想現実(VR)、および/または複合現実(MR)アプリケーションが可能なすべての電子デバイスも含んでもよい。
【００３６】
デバイス700は、場合によっては、カメラ702、ならびにカメラ702によってキャプチャされた画像を表示することが可能なディスプレイ722を含む任意のユーザインターフェース706を含んでもよい。ユーザインターフェース706は、キーパッド724、またはユーザが情報をデバイス700に入力することができる他の入力デバイスも含んでもよい。必要な場合、キーパッド724は、タッチセンサー付きディスプレイ722に仮説的キーパッドを統合することによってなくされてもよい。ユーザインターフェース706はまた、マイクロフォン726とスピーカー728とを含んでもよい。
【００３７】
デバイス700はまた、カメラ702に接続されカメラ702と通信し、かつユーザインターフェース706が存在する場合にはユーザインターフェース706にも接続されてユーザインターフェース706とも通信する制御ユニット704を含む。制御ユニット704は、カメラ702および/またはネットワークアダプタ716から受信された画像を受け入れて、処理する。制御ユニット704は、処理ユニット708および関連するメモリ714、ハードウェア710、ソフトウェア715、ならびにファームウェア712によって構成されてもよい。
【００３８】
制御ユニット704は、必要に応じてディスプレイ722において所望のデータをレンダリングするために、たとえばゲームエンジンである場合があるグラフィックスエンジン720をさらに含んでもよい。処理ユニット708およびグラフィックスエンジン720は、明確にするために別々に示されているが、単一のユニットであってもよく、かつ/または、処理ユニット708内で実行されているソフトウェア715内の命令に基づいて処理ユニット708に実装されてもよい。処理ユニット708、およびグラフィックスエンジン720は、必ずしも必要ないが、1つまたは複数のマイクロプロセッサ、組込みプロセッサ、コントローラ、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)などを含むことができる。プロセッサおよび処理ユニットという用語は、特定のハードウェアではなくシステムによって実装される機能を表す。さらに、本明細書で使用する「メモリ」という用語は、長期メモリ、短期メモリ、またはデバイス700に関連付けられる他のメモリを含む、任意のタイプのコンピュータ記憶媒体(すなわち、機械可読非一時的記憶媒体)を指し、任意の特定のタイプもしくは任意の特定の数のメモリ、またはメモリが記憶される媒体のタイプに限定されない。
【００３９】
本明細書に記載のプロセスは、アプリケーションに応じて様々な手段によって実装されてもよい。たとえば、これらのプロセスは、ハードウェア710、ファームウェア712、ソフトウェア715、またはそれらの任意の組合せに実装されてもよい。ハードウェア実装形態の場合、処理ユニットは、1つまたは複数の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、本明細書に記載の機能を実行するように設計された他の電子ユニット、またはそれらの組合せ内に実装されてもよい。
【００４０】
ファームウェアおよび/またはソフトウェアの実装形態の場合、プロセスは、本明細書で説明する機能を実行するモジュール(たとえば、プロシージャ、関数など)によって実装されてもよい。命令を具体的に実施する任意の非一時的コンピュータ可読媒体が、本明細書に記載のプロセスを実装する際に使用されてもよい。たとえば、プログラムコードはメモリ714に記憶されて、処理ユニット708によって実行されてもよい。メモリは、処理ユニット708内に実装されてもよく、または処理ユニット808の外部に実装されてもよい。
【００４１】
機能は、ファームウェアおよび/またはソフトウェアにおいて実装される場合、コンピュータ可読媒体上の1つまたは複数の命令またはコードとして記憶されてもよい。これらの例には、データ構造により符号化された非一時的コンピュータ可読媒体、およびコンピュータプログラムにより符号化されたコンピュータ可読媒体が含まれる。コンピュータ可読媒体には、物理的コンピュータ記憶媒体が含まれる。記憶媒体は、コンピュータによってアクセスすることのできる任意の入手可能な媒体であってもよい。限定ではなく、例として、そのようなコンピュータ可読媒体は、RAM、ROM、フラッシュメモリ、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または所望のプログラムコードを命令もしくはデータ構造の形で記憶するのに使用することができ、かつコンピュータによってアクセスすることのできる任意の他の媒体を含む可能性があり、本明細書で使用するディスク(diskおよびdisc)には、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびブルーレイディスク(disc)が含まれ、ディスク(disk)は通常、データを磁気的に再生するが、ディスク(disc)はデータをレーザによって光学的に再生する。前記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【００４２】
図8は、画像処理システム800の機能ブロック図である。図示のように、画像処理システム800は、オブジェクト814を含むシーンの画像をキャプチャすることのできるカメラ(現在ビューには示されていない)を含む例示的なモバイルプラットフォーム802を含む。データベース812が、ターゲットオブジェクト814の既存の3Dラインを含むデータを含んでもよい。
【００４３】
モバイルプラットフォーム802は、カメラによってキャプチャされた画像を表示するためのディスプレイを含んでもよい。モバイルプラットフォーム802はまた、たとえば、衛星ビークル806、あるいはセルラータワー804またはワイヤレス通信アクセスポイント805を含む、位置を決定するための他の任意の適切なソースを含む、衛星測位システム(SPS)からの信号を使用してその緯度および経度を決定することに基づいて、ナビゲーションに使用されてもよい。モバイルプラットフォーム802はまた、モバイルプラットフォーム802の方位を決定するために使用することのできる、デジタルコンパス、加速度計、またはジャイロスコープなどの、方位センサを含んでもよい。
【００４４】
衛星測位システム(SPS)は通常、エンティティがトランスミッタから受信された信号に少なくとも部分的に基づいて地球上または地球の上方のエンティティの位置を判定するのを可能にするように位置するトランスミッタのシステムを含む。そのようなトランスミッタは通常、設定された数のチップの繰返し擬似ランダム雑音(PN)コードでマークされた信号を送信し、地上ベースの制御局、ユーザ機器、および/または宇宙船上に位置してもよい。特定の例では、そのようなトランスミッタは、地球周回衛星ビークル(SV)806上に位置してもよい。たとえば、全地球測位システム(GPS)、ガリレオ、グロナス、またはコンパスなどの全地球的航法衛星システム(GNSS)のコンステレーション内のSVは、コンステレーション内の他のSVによって送信されたPNコードから区別可能なPNコードでマークされた信号(たとえば、GPSにおけるように衛星ごとに異なるPNコードを使用するか、グロナスにおけるように異なる周波数上で同じコードを使用して)を送信してもよい。
【００４５】
いくつかの実施形態によれば、本明細書に提示された技術はSPS用のグローバルシステム(たとえば、GNSS)に制限されない。たとえば、本明細書で提供する技法は、たとえば、日本の準天頂衛星システム(QZSS)、インドのインド地域航法衛星システム(IRNSS)、中国の北斗などのような様々な地域システム、ならびに/あるいは、1つもしくは複数の全地球および/もしくは地域航法衛星システムと関連する場合がある、または場合によってはこれらとともに使用できるようにされる場合がある、様々な補強システム(たとえば、静止衛星型衛星航法補強システム(SBAS))に対して適用されてもよく、またはそれらのシステムにおいて使用できるようにされてもよい。限定ではなく例として、SBASは、たとえば広域補強システム(WAAS)、欧州静止衛星航法オーバーレイサービス(EGNOS)、多機能衛星補強システム(MSAS)、GPS支援静止補強ナビゲーションまたはGPSおよび静止補強ナビゲーションシステム(GAGAN)、ならびに/あるいは同様のものなどの、完全性情報、微分補正などを提供する補強システムを含んでもよい。したがって、本明細書で使用する場合、SPSは1つもしくは複数の全地球および/または地域航法衛星システムならびに/あるいは補強システムの任意の組合せを含んでもよく、またSPS信号はSPS信号、SPS様信号、および/またはそのような1つもしくは複数のSPSに関連する他の信号を含んでもよい。
【００４６】
位置決定技法は、ワイヤレスワイドエリアネットワーク(WWAN)、ワイヤレスローカルエリアネットワーク(WLAN)、ワイヤレスパーソナルエリアネットワーク(WPAN)など、セルラータワー804を含む様々なワイヤレス通信ネットワークおよびワイヤレス通信アクセスポイント805からの様々なワイヤレス通信ネットワークとともに実装されてもよいので、モバイルプラットフォーム802は位置決定のためのSPSでの使用に限定されない。さらに、モバイルプラットフォーム802は、セルラータワー804を介した様々なワイヤレス通信ネットワークおよびワイヤレス通信アクセスポイント805からの様々なワイヤレス通信ネットワークを使用して、または、必要であれば衛星ビークル806を使用して、既存の3Dラインを含む3Dマップデータなどのデータをデータベース812から取得するために、1つまたは複数のサーバ808にアクセスしてもよい。「ネットワーク」および「システム」という用語は、しばしば互換可能に使用される。WWANは、符号分割多元接続(CDMA)ネットワーク、時分割多元接続(TDMA)ネットワーク、周波数分割多元接続(FDMA)ネットワーク、直交周波数分割多元接続(OFDMA)ネットワーク、シングルキャリア周波数分割多元接続(SC-FDMA)ネットワーク、ロングタームエボリューション(LTE)などであってもよい。CDMAネットワークは、cdma2000、Wideband-CDMA(W-CDMA)などの1つまたは複数の無線アクセス技術(RAT)を実装してもよい。cdma2000は、IS-95、IS-2000、およびIS-856標準を含む。TDMAネットワークは、モバイル通信用グローバルシステム(GSM(登録商標))、デジタルアドバンストモバイルフォンシステム(D-AMPS)、または他の何らかのRATを実装してもよい。GSM(登録商標)およびW-CDMAは、「第3世代パートナーシッププロジェクト」(3GPP)という名称のコンソーシアムからの文書に記載されている。cdma2000は、「第3世代パートナーシッププロジェクト2」(3GPP2)という名称のコンソーシアムからの文書に記載されている。3GPPおよび3GPP2の文書は、公に入手可能である。WLANは、IEEE 802.11xネットワークであってもよく、WPANは、Bluetooth(登録商標)ネットワーク、IEEE 802.15x、または何らかの他のタイプのネットワークであってもよい。本技法はまた、WWAN、WLAN、および/またはWPANの任意の組合せとともに実装されてもよい。
【００４７】
図8に示すように、システム800は、SLAM(または他の追跡システム)を使用して追跡すべきオブジェクト814の画像をキャプチャするモバイルプラットフォーム802を含む。図示のように、モバイルプラットフォーム802は、たとえばセルラータワー804またはワイヤレス通信アクセスポイント805を介してワイヤレスワイドエリアネットワーク(WWAN)などのネットワーク810にアクセスしてもよく、セルラータワー804またはワイヤレス通信アクセスポイント805は、サーバ808に結合され、サーバ808は、ターゲットオブジェクトに関する情報を記憶し、かつターゲットオブジェクトに対応する既存の3Dラインを有する3Dマップデータを含む場合もあるデータベース812に接続される。図8は1つのサーバ808を示しているが、複数のサーバ、および複数のデータベース812が使用されてもよいことが理解されるべきである。モバイルプラットフォーム802は、サーバ808からデータベース812のうちの少なくとも一部を取得して、ダウンロードされた地図データをモバイルプラットフォーム802内部のローカルデータベースに記憶することによって、図8に示すように、オブジェクト追跡自体を実行してもよい。サーバ808から取得されたデータベースの一部分は、モバイルプラットフォームの測位システムによって決定されたモバイルプラットフォームの地理的位置に基づいてもよい。さらに、サーバ808から取得されたデータベースの一部分は、モバイルプラットフォーム802上のデータベースを必要とする具体的な適用例に依存してもよい。モバイルプラットフォームの地理的位置に基づいてデータベース812のわずかな部分をダウンロードすることと、モバイルプラットフォーム802上でオブジェクト検出を実行することとによって、ネットワーク遅延の問題を回避される場合があり、オーバーザエア(OTA)帯域幅の使用量が、クライアント(すなわち、モバイルプラットフォーム)側のメモリ要件とともに減少される。しかしながら、必要に応じて、オブジェクト検出および追跡は、サーバ808(または、他のサーバ)によって実行されてもよく、画像自体または画像から抽出された特徴のいずれかが、モバイルプラットフォーム802によってサーバ808に供給される。
【００４８】
プロセスブロックのうちのいくつかまたはすべてが上述の各プロセスに現れる順序は、限定的と見なされるべきではない。むしろ、本開示の利益を有する当業者は、プロセスブロックのうちのいくつかは、示されていない様々な順序で実行されてもよいことを理解するであろう。
【００４９】
本明細書において開示された実施形態に関連して説明した様々な例示的な論理ブロック、モジュール、エンジン、回路およびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェアまたは両方の組合せとして実装されてもよいことが、当業者にはさらに理解されよう。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、エンジン、回路およびステップについて、上記では、概してそれらの機能に関して説明した。そのような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、システム全体に課される具体的な用途および設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装してもよいが、そのような実装上の決定は本発明の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【００５０】
本明細書に開示された実施形態への様々な修正が当業者には容易に明らかになり、本明細書で定義された一般原理は、本発明の趣旨または範囲から逸脱することなしに他の実施形態に適用されてもよい。したがって、本発明は、本明細書に示される実施形態に限定されることが意図されるものではなく、本明細書に開示された原理および新規の特徴に矛盾しない最も広い範囲を与えられるべきである。
【符号の説明】
【００５１】
100  モバイルプラットフォーム
102  ディスプレイ
108  カメラ
402  画像
404  ターゲットオブジェクト
406  ライン特徴
410  平面
602  画像
630  平面
702  カメラ
704  制御ユニット
706  ユーザインターフェース
708  処理ユニット
710  ハードウェア
712  ファームウェア
714  メモリ
715  ソフトウェア
716  検出ユニット
718  追跡ユニット
720  グラフィックスエンジン
722  ディスプレイ
724  キーパッド
726  マイクロフォン
728  スピーカー
800  画像処理システム
802  モバイルプラットフォーム
808  サーバ
810  ネットワーク
812  データベース
814  オブジェクト
【図１Ａ】
0006393000.tif 000002
【図１Ｂ】
0006393000.tif 000003
【図２】
0006393000.tif 000004
【図３Ａ】
0006393000.tif 000005
【図３Ｂ】
0006393000.tif 000006
【図４Ａ】
0006393000.tif 000007
【図４Ｂ】
0006393000.tif 000008
【図４Ｃ】
0006393000.tif 000009
【図４Ｄ】
0006393000.tif 000010
【図４Ｅ】
0006393000.tif 000011
【図４Ｆ】
0006393000.tif 000012
【図５Ａ】
0006393000.tif 000013
【図５Ｂ】
0006393000.tif 000014
【図６Ａ】
0006393000.tif 000015
【図６Ｂ】
0006393000.tif 000016
【図６Ｃ】
0006393000.tif 000017
【図６Ｄ】
0006393000.tif 000018
【図６Ｅ】
0006393000.tif 000019
【図７】
0006393000.tif 000020
【図８】
0006393000.tif 000021