(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025003367
(43)【公開日】2025-01-09
(54)【発明の名称】画像のみによる姿勢再位置特定
(51)【国際特許分類】
G06T 7/70 20170101AFI20241226BHJP
【FI】
G06T7/70 B
【審査請求】未請求
【請求項の数】3
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024096378
(22)【出願日】2024-06-14
(31)【優先権主張番号】202311042129
(32)【優先日】2023-06-23
(33)【優先権主張国・地域又は機関】IN
(31)【優先権主張番号】18/471,807
(32)【優先日】2023-09-21
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】500575824
【氏名又は名称】ハネウェル・インターナショナル・インコーポレーテッド
【氏名又は名称原語表記】Honeywell International Inc.
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100138759
【弁理士】
【氏名又は名称】大房 直樹
(72)【発明者】
【氏名】ジャック ツァイ
(72)【発明者】
【氏名】ザカリー フィッシャー
(72)【発明者】
【氏名】ビジェイ ベンカタラマン
(72)【発明者】
【氏名】ニキル グプタ
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096FA67
5L096JA03
(57)【要約】 (修正有)
【課題】画像のみによる姿勢再位置特定のためのシステム及び方法を提供する。
【解決手段】オブジェクトを含む環境のクエリフレームを取得するオブジェクト上の画像センサと、画像データベースを格納するメモと、を備えるナビゲーションシステムであって、略一致アルゴリズムを実行してクエリフレームに略一致する画像データベース内に格納されたデータの略一致フレームのセットを識別することと、高精度一致アルゴリズムを実行してクエリフレームに一致する略一致フレームのセット内の候補画像を識別することと、候補画像が有効性チェックを満たすか否かに基づいて、候補画像を一致画像として指定することと、取得されたクエリフレーム、一致画像、及び画像取得デバイスのためのパラメータに基づいて姿勢解決アルゴリズムを実行して、6自由度でオブジェクトの姿勢を推定することと、を実行する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
オブジェクトに装着された画像取得デバイスであって、前記画像取得デバイスは、前記オブジェクトを含む環境のクエリフレームを取得するように構成されている、画像取得デバイスと、
画像データベースを格納するように構成されたメモリデバイスと、
コンピュータ可読命令を実行するように構成された少なくとも1つのプロセッサであって、前記コンピュータ可読命令は、前記少なくとも1つのプロセッサに、
略一致アルゴリズムを実行して、前記クエリフレームに略一致する前記画像データベースに格納されたデータの略一致フレームのセットを識別することと、
高精度一致アルゴリズムを実行して、前記クエリフレームに一致する前記略一致フレームのセット内の候補画像を識別することと、
前記候補画像が有効性チェックを満たすか否かに基づいて、前記候補画像を一致画像として指定することと、
取得された前記クエリフレーム、前記一致画像、及び前記画像取得デバイスのためのパラメータに基づいて、姿勢解決アルゴリズムを実行して、6自由度で前記オブジェクトの姿勢を推定することと、を行うように指示する、少なくとも1つのプロセッサと、を備える、システム。
【請求項2】
前記候補画像を一致画像として指定するように前記少なくとも1つのプロセッサに指示する前記コンピュータ可読命令は、前記少なくとも1つのプロセッサに、
前記クエリフレームのクエリ局所記述子と前記候補画像のデータベース局所記述子との間の対応に基づいてホモグラフィ行列を算出することと、
前記クエリフレームのための境界を前記候補画像にマッピングすることと、
前記クエリ局所記述子のうちの少なくとも1つが前記マッピングされた境界内の前記データベース局所記述子に対応し、前記マッピングされた境界が前記候補画像上の有効なマッピングに関連付けられるとき、前記候補画像が前記一致画像であると判定することと、を行うように更に指示する、請求項1に記載のシステム。
【請求項3】
オブジェクトに装着された画像センサからクエリフレームを取得することと、
画像データベースから画像データを取得することと、
略一致アルゴリズムを実行して、前記クエリフレームに略一致する前記画像データベースに格納されたデータの略一致フレームのセットを識別することと、
高精度一致アルゴリズムを実行して、前記クエリフレームに一致する前記略一致フレームのセット内の候補画像を識別することと、
前記候補画像が有効性チェックを満たすか否かに基づいて、前記候補画像を一致画像として指定することと、
取得された前記クエリフレーム、前記一致画像、及び前記画像センサのためのパラメータに基づいて、姿勢解決アルゴリズムを実行して、6自由度における前記オブジェクトの姿勢を推定することと、を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2023年6月23日に出願された「Vision-Only Pose Relocalization」と題されたインド特許出願第202311042129号の利益及び優先権を主張する2023年9月21日に出願された「Vision-Only Pose Relocalization」と題された米国特許出願第18/471807号の利益及び優先権を主張し、これらの両方は、その全体が参照により本明細書に組み込まれている。
【背景技術】
【0002】
多くのビークル(vehicle)には、ビークルの位置及び姿勢を判定しようとするナビゲーションシステムが組み込まれている。通常、ナビゲーションシステムは、ビークルに装着された1つ以上のセンサ又は受信機からビークルの位置及び姿勢に関する情報を取得する。ナビゲーションシステムは、ビークルの位置及び姿勢を判定するためにナビゲーションシステムが使用するビークルの位置又は環境に関するナビゲーションデータを受信する。例えば、ナビゲーションシステムは、すべてが情報を提供又は受信する他のセンサの中でも、慣性センサ及び全地球航法衛星システム受信機を含み得る。更に、ナビゲーションシステムによって使用される一部のセンサは、画像センサであり得る。
【発明の概要】
【0003】
画像のみによる(vision-only)姿勢再位置特定のためのシステム及び方法は、オブジェクトに装着された画像取得デバイスを含み、画像取得デバイスは、オブジェクトを含む環境のクエリフレームを取得するように構成されている。システムはまた、画像データベースを格納するように構成されたメモリデバイスを備えることができる。更に、システムはまた、略一致(coarse-match)アルゴリズムを実行して、クエリフレームに略一致する画像データベースに格納されたデータの略一致フレームのセットを識別するように少なくとも1つのプロセッサに指示するコンピュータ可読命令を実行するように構成された少なくとも1つのプロセッサを備えることができる。加えて、コンピュータ可読命令は、高精度一致(fine-match)アルゴリズムを実行して、クエリフレームに一致する略一致フレームのセット内の候補画像を識別するように少なくとも1つのプロセッサに指示する。また、コンピュータ可読命令は、候補画像が有効性チェックを満たすか否かに基づいて、候補画像を一致画像として指定するように少なくとも1つのプロセッサに指示する。更に、コンピュータ可読命令は、取得されたクエリフレーム、一致画像、及び画像取得デバイスのためのパラメータに基づいて姿勢解決アルゴリズム(pose-solving algorithm)を実行して、6自由度における当該オブジェクトの姿勢を推定するように少なくとも1つのプロセッサに指示する。
【図面の簡単な説明】
【0004】
図は、本明細書に付随し、添付の特許請求の範囲に関連するいくつかの実施形態のみを示す。したがって、説明及び図示された実施形態は、範囲を限定するものと見なされるべきではない。添付の図面及び明細書は、例示的な実施形態及びその特徴を、更なる特異性及び詳細と共に説明する。
【
図1】本開示の一態様による画像のみによる姿勢再位置特定を実行するためのシステムを示すブロック図である。
【
図2】本開示の一態様による、画像データベースに格納するためのデータを準備するためのシステムを示すブロック図である。
【
図3】本開示の一態様による、画像のみによる姿勢再位置特定を実行するための方法を示すフローチャート図である。
【
図4】本開示の一態様による略一致画像のセットの識別を示すブロック図である。
【
図5】本開示の一態様による、高精度一致画像のセットの識別を示すブロック図である。
【
図6A】本開示の一態様による有効性チェックを実行するときのホモグラフィ行列の適用を示す図である。
【
図6B】本開示の一態様による有効性チェックを実行するときのホモグラフィ行列の適用を示す図である。
【
図7】本開示の一態様による、画像のみによる姿勢再位置特定を実行するための方法を示すフローチャート図である。
【0005】
慣例に従って、図面は、説明される様々な特徴を縮尺通りに示していないが、図面は、特徴の例示的な実施形態への関連性を強調するための特徴を示している。
【発明を実施するための形態】
【0006】
以下の詳細な説明は、本明細書の一部をなす添付の図面を参照する。図面は、例示によって、特定の例示的な実施形態を示す。しかしながら、他の実施形態を使用してもよく、論理的、機械的、及び電気的な変更をしてもよいことを理解すべきである。
【0007】
画像のみによる姿勢再位置特定のためのシステム及び方法が本明細書に記載される。例えば、オブジェクトに取り付けられたナビゲーションシステムは、環境のクエリフレーム表現を取得する画像取得デバイスを含む。更に、ナビゲーションシステムは、画像のデータベースを含むことができ、データベース内の候補画像は、取得されたクエリフレーム内で表される環境を表すことができる。画像のデータベース及び取得されたクエリフレームを用いて、ナビゲーションシステムは、一連のアルゴリズムを実行して、取得されたクエリフレーム内の情報によって表される同じ環境を記述する候補一致画像(一致候補)を識別することができる。特に、ナビゲーションシステムは、略一致アルゴリズムを実行して、画像のデータベース内の略一致候補のセットを識別する。ナビゲーションシステムが略一致候補を識別したとき、ナビゲーションシステムは高精度一致アルゴリズムを実行して、1つ以上の高精度一致候補を識別する。高精度一致候補から、ナビゲーションシステムは、有効性チェックを満たす一致候補を識別する。一致画像を識別した後、ナビゲーションシステムは、取得されたクエリフレーム、識別された一致候補、及び画像取得デバイスパラメータを使用して姿勢解決アルゴリズムを実行する。姿勢解決アルゴリズムは、ナビゲーションシステムが、画像取得デバイスから取得されたデータを使用して、6自由度でオブジェクトの位置を判定することを可能にし得る。
【0008】
本明細書で説明されるような画像のみによる姿勢再位置特定システムは、迷子のロボット問題(lost robot problem)として知られる問題に対する解決策を提供することができる。迷子のロボット問題は、典型的には、ロボットがその位置を見失うこと、又は環境において方向感覚を失わせることを指す。ビークル(及びロボットのようなオブジェクト)がますます自律的になるにつれて、環境内でビークルを適切な向きに保つのを助けるために、ナビゲーションシステムが必要とされる。6自由度すべてにおいて位置特定情報を提供することができる1つの情報源は、画像データである。特に、ナビゲーションシステムは、現在の環境から画像データを取得し、取得した画像データを既知の位置を表す格納された画像データと比較して、ナビゲーション情報を判定する。したがって、ナビゲーションシステムは、グローバルナビゲーション衛星システム、慣性センサ、又はナビゲーション情報の他のソースから取得された情報を使用せずに、画像情報を取得し、6自由度(緯度、経度、高度、ヨー、ピッチ、及びロール)でその姿勢を判定することができる。更に、判定された姿勢は、複数のセンサからの情報の融合に基づいてナビゲーションソリューションの精度を改善するのを助けるための入力として使用され得る。
【0009】
特定の実施形態では、ナビゲーションシステムは、コンピュータビジョンを使用して、ナビゲーションシステムに取り付けられた任意のオブジェクトの姿勢を判定するランドマークナビゲーションと呼ばれる再位置特定技法を実行することができる。上述したように、ナビゲーションシステムは、各画像が特定の領域を記述する画像のデータベースにアクセスすることができる。画像のデータベースをナビゲーションシステムに提供することの一部として、未加工画像データが、取得されたクエリフレームに対する格納された画像の比較を容易にするために準備され得る。例えば、未加工画像データは、オフラインで又はビークル動作とは無関係に取得され得る衛星又は他の画像データ(すなわち、ライダー)を含み得る。例えば、衛星画像データを用いる場合、航空機が飛行している可能性のある領域を表すデータが取得されてもよい。プロセッサ(サーバ等)又は複数のプロセッサ(大規模並列処理で採用されるもの等)は、未加工画像データのマルチスケーリング及び重複を使用して、画像のデータベースを前処理してもよく、未加工画像データは、1つ以上の機械学習モデルへの入力として提供される。機械学習モデルは、画像データベース内の異なる画像に対して異なる記述子を提供することができる。次に、記述子を画像に関連付け、画像と共に画像のデータベースに保存することができる。次いで、データベースは、動作中にナビゲーションシステムにアクセス可能なメモリデバイス内に格納される。
【0010】
更なる実施形態では、機械学習モデルは、画像のデータベース内の各画像に対して異なる記述子のセットを生成することができ、記述子の各セットは、異なる比較アルゴリズムを使用して比較を容易にする。例えば、第1の機械学習モデルは、データベース画像とナビゲーションシステムによって取得されたクエリフレームとの迅速な比較を容易にする、各画像の粗い記述子(coarse descriptor)のセットを生成し得る。また、第2の機械学習モデルは、データベース画像とナビゲーションシステムによって取得されたクエリフレームとの詳細な比較を容易にする、各画像の高精度な記述子(fine descriptor)のセットを生成し得る。例えば、粗い記述子は、画像のグローバル記述子であってもよく、高精度な記述子は、画像内のキーポイント局所記述子であってもよい。
【0011】
例示的な実施形態では、クエリフレームを取得すると、ナビゲーションシステムは、機械学習モデル又は他のアルゴリズムを使用して、クエリフレームのグローバル記述子を算出することができる。ナビゲーションシステムは、クエリフレームのグローバル記述子に最も近いグローバル記述子を有するデータベース内のいくつかの画像を識別する粗い比較を実行することができる。例えば、ナビゲーションシステムは、最も近いグローバル記述子を有するデータベース内のN個の画像を識別することができる。N個の画像を識別した後、ナビゲーションシステムは、機械学習モデル又は他のアルゴリズムを使用して、クエリフレームの高精度な記述子を算出することができる。例えば、機械学習モデルは、クエリフレームにおけるキーポイントを識別し得る。クエリフレームの高精度な記述子を識別した後、ナビゲーションシステムは、クエリフレーム内で見つかった高精度な記述子を、粗い比較中に識別された最も近い画像に関連付けられた以前に算出された高精度な記述子と比較することができ、ナビゲーションシステムは、クエリフレームの高精度な記述子に最もよく一致する高精度な記述子を有する候補画像を識別する。
【0012】
いくつかの実施形態では、ナビゲーションシステムが候補画像を識別したとき、ナビゲーションシステムは、候補画像の有効性チェックを実行することができる。特に、ナビゲーションシステムは、高精度な一致に由来する情報を使用して、クエリフレームのフットプリントを候補画像上にマッピングするホモグラフィ行列を算出することができる。フットプリントを候補画像上にマッピングした後、ナビゲーションシステムは、ホモグラフィ行列をクエリフレーム内で識別された点に適用し、ホモグラフィ行列が識別された点を候補画像上にマッピングされたフットプリント内の位置にマッピングすることを検証する。識別された点がフットプリントから外れる場合、ナビゲーションシステムは、クエリフレームの高精度な記述子に対して次に最も一致する新しい候補画像を選択し、ホモグラフィ行列の有効性チェックを繰り返す。
【0013】
特定の実施形態では、候補画像が有効性チェックに合格すると、ナビゲーションシステムは、候補画像を一致画像として指定することができる。ナビゲーションシステムは、一致画像を使用して、ナビゲーションシステムに関連付けられたオブジェクトの姿勢を最大6自由度で算出する。例えば、ナビゲーションシステムは、画像取得デバイスの位置と画像取得デバイスによって取得された画像との間のオブジェクトに対する関係を記述する画像取得デバイスのパラメータを格納することができる。格納されたパラメータ、並びにクエリフレーム及び候補画像において識別された一致点を記述する情報を使用して、ナビゲーションシステムは、6自由度でオブジェクトの姿勢を算出することができる。例えば、ナビゲーションシステムは、オブジェクトの位置(すなわち、緯度、経度、高度)及び姿勢(すなわち、ロール、ピッチ、ヨー)を算出する透視N点(perspective N point、PNP)アルゴリズムのための入力としてデータを使用することができる。したがって、本明細書で説明するシステム及び方法は、迷子のロボット問題を解決し、画像取得デバイスによって取得されたデータを使用してナビゲーション支援を提供する。
【0014】
図1は、視覚データを使用して姿勢再位置特定を提供することができる潜在的なナビゲーションシステム100を示すブロック図である。例えば、ナビゲーションシステム100は、画像センサ101(本明細書では画像取得デバイスとも呼ばれる)、1つ以上のプロセッサ103、及びメモリ105を含む。更に、メモリ105は、画像データベース107、粗いモデル109、及び高精度なモデル111を格納することができる。いくつかの代替実施形態では、ナビゲーションシステム100は、追加のセンサ113を含むことができる。
【0015】
特定の実施形態において、ナビゲーションシステム100は、既知の位置関係でオブジェクトにしっかりと装着されてもよい。したがって、ナビゲーションシステム100の位置及び姿勢を判定することによって、オブジェクトの位置及び姿勢を判定することができる。オブジェクトは、移動可能であり、又は移動される任意のオブジェクトであってもよい。例えば、オブジェクトは、航空機、列車、自動車、ボート、宇宙船等のようなビークルであってもよい。オブジェクトがビークルである場合、ビークルは有人であっても無人であってもよい。更に、オブジェクトは、パーソナル電子デバイス又は他のオブジェクトであってもよい。ナビゲーションシステム100は、オブジェクトの姿勢に関する情報を提供することができる。例えば、ナビゲーションシステム100は、特定の基準座標系に対して最大6自由度でオブジェクトの姿勢を判定することができる。基準座標系が地球基準座標系であるとき、ナビゲーションシステム100は、オブジェクトの緯度、経度、及び高度を判定することができる。更に、オブジェクトに適用可能な場合、ナビゲーションシステム100は、ヨー、ピッチ、及びロールのようなオブジェクトの姿勢を判定することができる。
【0016】
更なる実施形態において、画像センサ101は、ナビゲーションシステム100を取り囲む環境から画像データを取得するデバイスであってもよい。例えば、画像センサ101は、カメラ、深度カメラ、LiDAR、又は他の画像取得デバイスであってもよい。画像センサ101は、画像データのクエリフレームとして画像データを取得することができる。画像センサ101は、1つ以上のプロセッサ103に連結され得、画像センサ101は、取得された画像データを1つ以上のプロセッサ103に提供する。
【0017】
例示的な実施形態では、プロセッサ103は、画像センサ101から取得された画像データ(クエリフレーム)を受信し、プロセッサ103に最大6自由度でオブジェクトの姿勢を判定させる命令を実行する。プロセッサ103は、(汎用プロセッサ、マルチコアプロセッサ、複数のプロセッサ、専用回路などの)計算用デバイスであってもよい。プロセッサ103によって実行される機能は、ソフトウェア、ファームウェア、ハードウェア、又はこれらの任意の適切な組合せを使用して実装され得る。プロセッサ103及び他の計算用デバイスは、特別に設計された特定用途向け集積回路(application-specific integrated circuit、ASIC)又はフィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)によって補足されること、あるいはこれらに取り込まれることができる。プロセッサ103及び他の計算用デバイスはまた、本方法及びシステムで使用される様々なプロセスタスク機能、算出機能、及び制御機能を実行するためのソフトウェアプログラム、ファームウェア、又は他のコンピュータ可読命令を含むことができ、又はそれによって動作することができる。
【0018】
本方法は、プロセッサ103及び他の計算用デバイスによって実行されるプログラムモジュール又はコンポーネントなどのコンピュータ実行可能命令によって実施することができる。一般に、プログラムモジュールは、特定のタスクを行う、又は特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、データコンポーネント、データ構造、アルゴリズム、及び同類のものを含む。
【0019】
メモリは、例えば不揮発性メモリデバイスを含む、任意の好適なコンピュータ可読格納媒体であってよく、例えば、ランダムアクセスメモリ(random access memory、RAM)、読み出し専用メモリ(read-only memory、ROM)、電気的消去可能プログラマブルROM(electrically erasable programmable-ROM、EEPROM)、又はフラッシュメモリデバイスなどの半導体メモリデバイス、磁気ディスク(内部ハードディスク又は取り外し可能なディスク)、コンパクトディスク(compact disc、CD)、デジタル多用途ディスク(digital versatile disc、DVD)、ブルーレイディスクなどの光学記憶装置、又はコンピュータ実行可能命令若しくはデータ構造として所望のプログラムコードを搬送若しくは格納することができる他の媒体などである。
【0020】
特定の実施形態では、プロセッサ103は、メモリ105に追加的に連結され得、メモリ105は、プロセッサ103が画像センサ101から取得された画像データから姿勢情報を判定するために使用する情報を格納する。例えば、コンピュータ可読命令に加えて、メモリ105は画像データベース107を格納する。画像データベース107は、画像データの中央リポジトリから受信した画像のデータベースである。画像データベースは、ナビゲーションシステム100が移動している環境の画像データを含むことができる。例えば、オブジェクトが航空機である場合、画像データは、航空機が移動し得る地球の表面の重複するタイル化された衛星画像を含み得る。加えて、重複するタイル化された衛星画像は、3次元情報によって増強され得る。更なる実施形態では、画像データベース107内の各画像について、画像データベース107はまた、事前に算出された粗い記述子及び高精度な記述子を含んでもよい。例えば、粗い記述子について、画像データベース107は、各画像に対する一般的な記述子を格納することができる。高精度な記述子の場合、画像データベース107は、各画像内で見出される特徴を記述する事前に算出された局所記述子を格納することができる。いくつかの実装形態では、画像データは、3次元LiDARデータ又は他のタイプの画像データであり得る。
【0021】
更なる実施形態では、ナビゲーションシステム100は、オペレーションセンタ、データセンタ、又は他の場所などの中央リポジトリから画像データベース107内の情報を取得する。ナビゲーションシステム100は、中央リポジトリとの無線又は有線通信チャネルを介して画像データベース107内の情報を取得することができる。あるいは、ナビゲーションシステム100が中央リポジトリから遠隔に位置する場合、画像データは、コンピュータ可読媒体を使用することによって、又は無線若しくは有線通信チャネルを介して、ナビゲーションシステム100にインストールするためにナビゲーションシステム100の近くの別のコンピュータに送信することができる。
【0022】
特定の実施形態では、動作中に、画像センサ101は、画像データのフレーム(「クエリフレーム」と呼ばれる)を取得し、クエリフレームをプロセッサ103に提供する。クエリフレームを受信すると、プロセッサ103は、画像データベース107内の画像データとの比較のためにクエリフレームを準備する。比較のためにクエリフレームを準備するために、プロセッサ103は、粗いモデル109を実行して、クエリフレームの粗い記述子を判定することができ、プロセッサ103は、高精度なモデル111を実行して、クエリフレームの高精度な記述子を判定することができる。粗いモデル109及び高精度なモデル111は、画像データベース107に格納された画像データの粗い記述子及び高精度な記述子に匹敵する記述子を算出する機械学習モデルであり得る。いくつかの実装形態では、粗いモデル109及び高精度なモデル111は、画像データベース107に格納された事前に算出された粗い記述子及び高精度な記述子を作成するときに使用されるのと同じモデルであり得る。あるいは、粗いモデル109及び高精度なモデル111は、画像データベース107に格納された粗い記述子及び高精度な記述子に匹敵する記述子を生成する異なるモデルであってもよい。
【0023】
いくつかの実施形態では、ナビゲーションシステム100は、ナビゲーションシステム100が画像データを取得したときに画像を提供した中央リポジトリから粗いモデル109及び高精度なモデル111を取得する。代替的に、粗いモデル109及び高精度なモデル111が実質的に静的であるとき、粗いモデル109及び高精度なモデル111は、ナビゲーションシステム100の初期動作の前にメモリ105にロードされ得る。粗いモデル109及び高精度なモデル111がメモリ105において更新又は再インストールされる必要がある場合、ナビゲーションシステム100は、中央リポジトリとの無線又は有線通信チャネルを介して粗いモデル109及び高精度なモデル111を取得することができる。あるいは、ナビゲーションシステム100が中央リポジトリから離れて位置する場合、コンピュータ可読媒体を使用することによって、又は無線若しくは有線通信チャネルを介して、ナビゲーションシステム100にインストールするために、粗いモデル109及び高精度なモデル111をナビゲーションシステム100の近くの別のコンピュータに送信することができる。
【0024】
特定の実施形態では、プロセッサ103が、クエリフレームを入力として使用して粗いモデル109を実行することによってクエリフレームの粗い記述子を判定するとき、プロセッサ103は、画像データベース107に格納された異なる画像の粗い記述子に対して粗い記述子を比較し得る。次いで、プロセッサ103は、粗い記述子の比較に基づいて、画像データベース107に最もよく一致する画像データベース107内の画像のサブセットを識別する。
【0025】
例示的な実装形態では、画像データベース107は、米国地理調査(USGS:United States Geographic Survey)衛星画像などの前処理済み衛星画像タイルを含み得る。前処理済み衛星画像は、グローバル記述子技法を使用して列ベクトル画像記述子に符号化されたタイルであり得る。例えば、グローバル記述子を判定するための1つの技法では、機械学習モデルが、画像データのフレームを入力として受信する。機械学習モデルの一例は、残差ニューラルネットワーク(residual neural network、ResNet)を使用して作成され得、一般化平均プーリング(generalized mean-pooling、GeM)アルゴリズムがResNetの最後のレイヤに対して実行され得、GeMは、平均精度の最大化を目的として実行される。粗いモデル109は、画像データベース107内の画像の粗い記述子を生成するために使用されるモデルと同様であってもよい。トリプレットロス手法又は他のアルゴリズムなどの、グローバル記述子を生成するための他のアルゴリズムも使用され得る。
【0026】
いくつかの実施形態では、プロセッサ103は、クエリフレームの粗い記述子をデータベース内の画像の粗い記述子と比較することによって、画像のサブセットを識別し得る。例えば、プロセッサ103は、クエリフレームのグローバル記述子と、画像データベース107内の各画像又は画像のサブセットのグローバル記述子とのドット積を取ることができる。ドット積の結果に基づいて、プロセッサ103は、クエリフレームに最も一致する画像データベース107内のいくつかの略一致画像を識別することができる。例えば、プロセッサ103は、粗い記述子のドット積に基づいて20個(又は他の数)の最も一致する画像を識別することができる。いくつかの実施形態では、最も一致する画像として識別される画像データベース107内の略一致画像の数は、調整可能であり得る。例えば、ユーザは、ユーザインタフェース(図示せず)を介してプロセッサ103と通信して、選択される画像の数を制御してもよい。代替的に、画像データベース107から選択される画像の数は、別の外部システムによって事前設定又は制御され得る。略一致画像のセットを識別することによって、一致しない画像を追加の処理から除外することができ、画像データベース107内のすべての(又は相当数の)画像を処理するのとは対照的に、略一致画像のセットが処理されるので、処理速度を増加させることができる。
【0027】
特定の実施形態では、プロセッサ103が略一致画像を選択したとき、プロセッサ103は高精度一致アルゴリズムを実行して、略一致画像から候補画像を識別することができる。候補画像を識別するために、プロセッサ103は、クエリフレームを高精度なモデル111に提供し得る。高精度なモデル111は、他の画像において同様に識別された特徴との比較に好適である画像における特徴を識別するアルゴリズムであってもよい。本明細書で説明するように、高精度なモデル111によって生成された画像についての識別された特徴の記述は、画像の局所記述子として記述することができる。したがって、高精度なモデル111は、画像センサ101によって取得されたクエリフレームの局所記述子を生成し得る。画像データベース107内の画像とクエリフレームの局所記述子との間の比較を容易にするために、画像データベース107はまた、画像データベース107内に格納された画像の局所記述子を格納し得る。画像データベース107内の画像の局所記述子は、高精度なモデル111によって算出され得るが、高精度なモデル111と同様のモデルは、画像データベース107内の画像の局所記述子を算出するために別のシステムによってオフラインで実行され得る。事前に算出された局所記述子は、次いで、画像データベース107にロードされてもよく、事前に算出された局所記述子は、取得されたクエリフレームとの比較のためにプロセッサ103にアクセス可能である。
【0028】
いくつかの実施形態では、局所記述子を算出するために、高精度なモデル111を実行するプロセッサ103は、学習ベースの局所記述子識別アルゴリズムを実行し得る。加えて、略一致画像がクエリフレームに一致するか否かを判定するために、プロセッサ103によって実行される高精度なモデル111は、アテンショナルグラフィカルニューラルネットワーク(attentional graphical neural network)+最適一致レイヤを実行し得る。高精度なモデル111の実行において、プロセッサ103は、クエリフレームに対して学習ベース局所記述子アルゴリズムを実行してもよい。学習ベース局所記述子アルゴリズムは、画像から局所記述子(キーポイント及び記述子)を抽出する深層学習ベースのアルゴリズムである。次いで、抽出された局所記述子は、他の同様に処理された画像と比較される。局所記述子を取得した後、高精度なモデル111は、クエリフレームについて抽出された局所記述子と、各略一致画像について格納された局所記述子とを使用してグラフィカルニューラルネットワークアルゴリズムを実行するようにプロセッサ103に指示し得る。更に、高精度なモデル111は、最適一致層を有するグラフィカルニューラルネットワークであってもよい。プロセッサ103は、各略一致画像について別々にグラフィカルニューラルネットワークアルゴリズムを実行することができる。更に、グラフィカルニューラルネットワークアルゴリズムは、環境に関してオブジェクトの異なる向き、及び環境内の表面からの異なる距離を考慮するために、異なる略一致画像の異なる向き及びサイズに対して追加的に実行され得る。グラフィカルニューラルネットワークアルゴリズムもまた、特徴の一致及び幾何学的検証を実行する深層学習ベースのアルゴリズムである。グラフィカルニューラルネットワークアルゴリズムは、異なる画像から局所記述子を取得し、グラフニューラルネットワークを使用して、局所記述子を照合する。グラフィカルニューラルネットワークアルゴリズムは、推定一致に対するコンフィデンスメトリックを生成する。プロセッサ103は、生成されたコンフィデンスメトリックを合計して、略一致画像から候補画像を識別することができる。本明細書で使用される場合、候補画像という用語は、クエリフレーム内で撮像された環境に最も類似した表現である画像として識別される画像データベース107内の画像を指す。
【0029】
特定の実施形態では、プロセッサ103が候補画像を識別すると、プロセッサ103は、有効性チェックを実行して、候補画像が誤ったデータ関連付けに基づいて識別されなかったことを検証することができる。例えば、プロセッサ103は、クエリフレームの局所記述子を候補画像の局所記述子と照合し得る。局所記述子の一致に基づいて、プロセッサ103はホモグラフィ行列を推定することができる。ホモグラフィ行列を使用して、プロセッサ103は、クエリフレームの境界をマッピングし、クエリフレーム内の識別された特徴を候補画像上にマッピングすることができる。プロセッサ103は、次いで、クエリフレーム内の識別された特徴が、クエリフレームのマッピングされた境界内にある候補画像上の特徴にマッピングすることを検証し得る。クエリの特徴が、候補画像上のマッピングされた境界の外側にある候補画像上の特徴にマッピングされる場合、又はマッピングされた境界が候補画像上の不可能な潜在的なマッピングされた境界を表す場合(すなわち、非矩形、ガーブルなど)、プロセッサ103は、候補画像が誤一致であると判定することができる。候補画像が誤一致であると判定すると、プロセッサ103は、候補画像として高精度なモデル111の出力に基づいて、略一致画像の次に最も一致する画像を選択し、その後、プロセッサ103は有効性チェックを再び実行する。プロセッサ103は、また有効性チェックに合格する高精度なモデル111の出力に基づいて、プロセッサ103が最も一致する画像を見つけるまで、略一致画像を反復的に処理する。プロセッサ103が、すべての略一致画像を処理し、有効性チェックに合格する画像を依然として見出さなかった場合、プロセッサ103は、追加の略一致画像を識別し得る。
【0030】
いくつかの実施形態では、有効性チェックを実行するとき、プロセッサ103は、候補画像の有効性を保証するために、縮重サンプルコンセンサス(degenerate sample consensus、DEGENSAC)方法又は他の方法を実行し得る。例えば、クエリフレーム及び候補画像の局所記述子から、プロセッサ103は、一致する記述子のセットを選択し得る。プロセッサ103は、一致記述子のセットからホモグラフィ行列を生成することができる。一致記述子のセットから生成されたホモグラフィ行列を使用して、プロセッサ103は、クエリフレームの局所記述子を使用して、ホモグラフィ行列によって表される変換仮説の有効性をテストすることができる。ホモグラフィ行列の適用によって、局所記述子のうちのいくつかが、候補画像上にマッピングされたクエリフレームの予想される領域から外れる場合、プロセッサ103は、変換仮説が有効でなく、候補画像も有効でないと判定する。
【0031】
更なる実施形態では、プロセッサ103が、候補画像が有効であると判定すると、プロセッサ103は、候補画像を一致画像として指定し得る。次いで、プロセッサ103は、姿勢解決アルゴリズムを使用してオブジェクトの姿勢を算出する。例えば、いくつかの実装形態では、クエリフレームは、2次元画像であり得、一致画像は3次元であり得る。2次元画像の3次元画像への対応から、透視n点(perspective-n-point、PnP)アルゴリズム(EPnP、SQPnP、及びP3Pなど)を使用して、2次元画像に関連付けられたオブジェクトの姿勢を判定することができる。特に、プロセッサ103は、PnPアルゴリズムを使用するとき、特徴を照合するための以下の問題を解決する。
【0032】
【0033】
式中、
【0034】
【0035】
【数3】
は、ナビゲーションシステム100に取り付けられたオブジェクトに対する画像センサ101の関係を定義する画像センサ101の既知の特性である。更に、
【0036】
【数4】
は、観測されたピクセル位置に関連付けられた一致画像内の特徴についての地球フレーム内の3次元座標を指す。このデータを使用して、プロセッサ103は、6自由度でナビゲーションシステム100に取り付けられたオブジェクトの姿勢である
【0037】
【0038】
【数6】
は、オブジェクトのロール、ピッチ、ヨーを表し、
【0039】
【数7】
は、オブジェクトの位置を表す。したがって、プロセッサ103は、6自由度でオブジェクトの姿勢を算出することができる。プロセッサ103がオブジェクトの姿勢を判定すると、プロセッサ103、オブジェクト上の別のプロセッサ、又はユーザは、取り付けられたオブジェクトのナビゲーションを指示するために姿勢を使用することができる。
【0040】
いくつかの実施形態では、ナビゲーションシステム100は、追加のセンサ113を含んでよい。追加のセンサ113は、プロセッサ103が機首方位及び高度を判定するために使用することができる情報を提供するセンサを含む。例えば、追加のセンサ113は、慣性測定ユニット、GPS受信機、気圧計、磁力計、高度計などを含み得る。追加のセンサは、プロセッサ103が機首方位及び表面から離れた距離(地上の高度など)を算出するために使用する、オブジェクトの動きの測定値又は環境情報を提供する。機首方位及び距離を使用することにより、プロセッサ103が候補画像をより迅速に識別することを可能にする。
【0041】
例示的な実施形態では、機首方位及び表面からの距離の知識は、クエリフレームと画像データベース107内の画像との間で必要とされる比較の数を低減し得る。例えば、オブジェクトが航空機であり、画像データベースが、航空機が飛行し得る地形の画像を含むとき、クエリフレームは、画像データベース107内の画像を撮像するために使用される元のデバイスとは異なるスケール及び配向で地形を撮像し得る。したがって、クエリフレームを画像データベース107内の画像と比較すると、各画像は、クエリフレームのスケール及び向きを判定するために、増分的に拡大又は縮小され、回転され得る。機首方位及び高度が追加のセンサ113から取得された情報からわかると、プロセッサ103は、プロセッサ103が画像データベース107内の潜在的な一致画像の適切なスケール及び配向を選択し得るように、クエリフレームのスケール及び配向を判定し得る。
【0042】
上述したように、粗いモデル109、高精度なモデル111、有効性チェック、及び姿勢算出の実行は、ナビゲーションシステム100上のプロセッサ103によって実施される。しかしながら、いくつかの実装形態では、プロセッサ103は、中央サーバ又は他の計算設備等の外部システムと通信してもよい。かかる実装形態では、プロセッサ103は、画像センサ101によって取得されたクエリフレームを、上述した方法を用いてオブジェクトの姿勢を判定する外部システムに送信してもよい。次いで、外部システムは、オブジェクトのナビゲーションを指示するために、算出された姿勢をプロセッサ103に送信することができる。
【0043】
図2は、画像データから姿勢再位置特定を実行するナビゲーションシステム100などのシステムによる使用のための画像データベースを準備するためのシステム200のブロック図である。図示されるように、システム200は、画像ソース221及びサーバ223を備える。サーバ223は、画像ソース221から画像を取得し、ナビゲーションシステム100上の画像データベース107に格納するための画像情報を準備する。画像データベース107に格納するための画像を準備するために、サーバ223は、メモリ225、1つ以上のプロセッサ227、及び送受信機229を含むことができる。
【0044】
特定の実施形態では、画像ソース221は、ある領域にわたって撮像された画像データの任意のソースであり得る。例えば、画像データは、USGS NAIP又はUSGS HRO画像等の第三者から取得された衛星画像であってもよい。あるいは、画像データは、特定の領域について取得されたライダーデータであってもよい。サーバ223は、画像データを処理して、画像データのマルチスケール及び重複タイルを作成する。例えば、サーバ223は、約12,000平方キロメートルをカバーするUSGS衛星画像データを受信することができる。サーバ223は、画像を処理して、5つのレベルのスケーリングで50パーセントのオーバーラップを有するタイルを作成することができる。サーバ223は、画像ソース221から受信した画像と、メモリ225上の画像データベース231内の処理済み画像タイルとの両方を保存することができる。メモリ225は、より多くの異なるタイプの情報を格納することを除いて、上述したメモリ105と同様に機能することができる。画像ソース221から取得された画像の処理は、計算量の大きいタスクであり得るので、サーバ223は、複数のコアを有するプロセッサ227又は複数のプロセッサ227を有するスーパーコンピュータであり得る。プロセッサ227は、より多くのプロセッサを含むことができ、異なるタイプのデータを処理することを除いて、上述のプロセッサ103と同様に機能することができる。
【0045】
更なる実施形態では、画像データの異なるタイルを作成した後、プロセッサ227は、画像データのタイルが3次元であるように垂直情報を算出することができる。例えば、画像データのタイルが地理的画像である場合、プロセッサ227は、画像データのタイルに関する垂直方向の地理的情報(地形高度)を識別することができる。例えば、プロセッサは、USGSスペースシャトルトモグラフィ(space shuttle tomography、STRM)データベース又はUSGS米国3D標高プログラム(3D elevation program、3DEP)データベースによって提供される地形高度情報を使用して、画像データのタイル内の特徴の地形高度を判定することができる。地形高度が画像データのタイルに適用されると、プロセッサ227は、3次元タイルを画像データベース231に格納することができる。
【0046】
いくつかの実施形態では、プロセッサ227はまた、画像データベース231に格納された画像データのタイルの記述子を算出することができる。サーバ223上で記述子を事前算出することにより、ナビゲーションシステム100上の計算負荷を軽減することができ、また、ナビゲーションシステム100がオブジェクトの姿勢を判定することができる速度を高めることができる。記述子を事前算出するために、プロセッサ227は、
図1に関連して上述した粗いモデル109及び高精度なモデル111を実行することができる。いくつかの実装形態では、メモリ225に格納された粗いモデル109及び高精度なモデル111は、
図1のメモリ105に格納された粗いモデル109及び高精度なモデル111と同一でなくてもよい。
【0047】
上述したように、粗いモデル109の実行は、画像データのタイルのグローバル記述子を生成する。プロセッサ227は、生成されたグローバル記述子をグローバル記述子233としてメモリ225に格納し得る。更に、高精度なモデル111の実行は、画像データのタイルの局所記述子を生成する。プロセッサ227は、生成された局所記述子を局所記述子235としてメモリ225に格納することができる。
【0048】
記述子が生成され、画像データが準備されると、プロセッサ227は、送受信機229を介して、画像データベース107に格納するための
図1で上述した画像データをナビゲーションシステム100に送信することができる。例えば、プロセッサ227は、3次元画像データのタイルのすべて又はサブセットをナビゲーションシステム100に送信することができる。また、プロセッサ227は、送信された画像データに関連付けられたグローバル記述子233及び局所記述子235をナビゲーションシステム100に送信することができる。いくつかの実装形態では、プロセッサ227はまた、取得されたクエリフレームの記述子を算出する際の使用のための、粗いモデル109及び高精度なモデル111をナビゲーションシステム100に送信し得る。したがって、サーバ223は、
図1に関連して上述したように、ナビゲーションシステム100が6自由度で姿勢を判定することを可能にする情報を提供することができる。
【0049】
図3は、取得された画像データを使用してオブジェクトの姿勢を算出するための方法300のフローチャート図である。方法300の工程は、
図1に関連して上述された項目を参照して本明細書で説明される。方法300は301に進み、画像がデータベースから取得される。例えば、プロセッサ103は、画像データベース107から画像を取得することができ、画像データベース107内の画像は、3次元でエリアを記述する情報を含む。加えて、プロセッサ103は、画像データベース107内の画像の一般記述子及び局所記述子を取得することができる。更に、方法300は303に進み、クエリフレームが画像センサから取得される。例えば、プロセッサ103は、画像センサ101からクエリフレームを取得してもよい。
【0050】
特定の実施形態では、プロセッサ103が画像データベース107からクエリフレーム及び画像を取得したとき。方法300は305に進み、略一致画像のセットが選択される。例えば、プロセッサ103は、粗いモデル109を使用して、クエリフレームの一般記述子を生成し、プロセッサ103は、クエリフレームの一般記述子を画像データベース107内の画像の一般記述子と比較する。比較に基づいて、プロセッサ103は、略一致画像のセットを識別する。プロセッサ103が略一致画像のセットを識別すると、方法300は307に進み、候補画像が略一致画像のセットから選択される。例えば、プロセッサ103は、高精度なモデル111を使用して、クエリフレームの局所記述子を生成し、クエリフレームの局所記述子を、略一致画像のセット内の異なる画像の局所記述子と比較する。比較に基づいて、プロセッサ103は候補画像を選択することができる。
【0051】
追加の実施形態では、候補画像が選択されたとき、方法300は309に進み、有効性チェックが候補画像に対して実行される。例えば、プロセッサ103は、クエリフレームの局所記述子のうちのいくつかを候補画像中の対応する局所記述子に変換する(ホモグラフィ行列などの)変換モデルを識別し得る。ホモグラフィ行列を使用して、プロセッサ103は、候補画像上のクエリフレームの重ね合わせの境界を識別することができる。プロセッサ103は、ホモグラフィ行列が、クエリフレームの局所記述子を、重ね合わせの境界内にある候補画像上の位置にマッピングするか否かを判定することによって、有効性チェックを実行することができる。次いで、方法300は311に進み、プロセッサ103は、候補画像が有効性チェックに合格したか否かを判定する。候補画像が有効性チェックに不合格の場合、方法300は、略一致画像のセットから新しい候補画像を選択するための307に戻る。
【0052】
特定の実施形態では、候補画像が有効性チェックに合格すると、方法は313に進み、オブジェクトの姿勢が算出される。例えば、候補画像は一致画像として指定され、一致画像及びクエリフレームの対応する局所記述子を画像センサのためのパラメータと共に使用して、プロセッサ103は、PnPアルゴリズムを使用して、オブジェクトの姿勢を識別し得る。オブジェクトの姿勢を識別すると、次いで、算出された情報は、識別された姿勢情報から潜在的に利益を得るナビゲーション及び他の活動のために使用されることができる。
【0053】
図4及び
図5は、クエリフレームと画像データベース内の画像との粗い比較及び高精度な比較をそれぞれ示す図である。特に、
図4は、粗いモデル109を使用した略一致画像451のセットの識別を示す図である。更に、
図5は、高精度なモデル111を使用した候補画像の識別を示す図である。
【0054】
図4に関して、システム(
図1で説明したナビゲーションシステム100など)は、画像データベースからクエリフレーム441及びデータベース画像443のセットを取得することができる。クエリフレーム441は、粗いモデル109のための入力として提供され得る。粗いモデル109は、クエリフレーム441のためのクエリ一般記述子447を提供し得る。加えて、データベース画像443は、粗いモデル109への入力として別々に提供されて、データベース画像443の各々についてデータベース一般記述子449を生成し得る。データベース画像443は、粗いモデル109がクエリ一般記述子447を生成するのと同時に、粗いモデル109への入力として提供され得る。代替として、データベース一般記述子449は、システムによって又は別のシステムによって事前算出されてもよい。
【0055】
システムがクエリ一般記述子447及びデータベース一般記述子449を取得すると、システムは、クエリ一般記述子447をデータベース一般記述子449と比較して、略一致画像451のセットを識別することができる。例えば、システムは、クエリ一般記述子447とデータベース一般記述子449とのドット積を実行し、ドット積の最も高い結果を有するデータベース画像443を識別することができる。システムは、ドット積の最も高い結果を有する調整可能な数のデータベース画像443を略一致画像451のセットとして指定することができる。
【0056】
図5に関して、システムは、高精度なモデル111によって生成された局所記述子に基づいて、クエリフレーム441に一致する候補画像を略一致画像451のセットから識別し得る。例えば、システムは、クエリフレーム441を取得し、クエリ局所記述子557を識別する高精度なモデル111への入力としてクエリフレーム441を提供し得る。加えて、システムは、略一致画像451のセット内の各画像を高精度なモデル111への入力として提供して、略一致画像451のセット内の画像の各々についてデータベース局所記述子559を識別することができる。略一致画像451のセット内の画像は、データベース局所記述子559を生成するために、高精度なモデル111がクエリ局所記述子557を生成するのと同時に、高精度なモデル111への入力として提供され得る。代替として、データベース局所記述子559は、システムによって又は別のシステムによって事前算出されてもよい。
【0057】
システムがクエリ局所記述子557及びデータベース局所記述子559を取得すると、システムは、クエリ局所記述子557をデータベース局所記述子559と比較して、候補画像561を識別することができる。例えば、システムは、クエリ局所記述子557及びデータベース局所記述子559を、略一致画像451のセット内の画像とクエリフレーム441との間の推定一致に対するコンフィデンスメトリックを提供するモデルへの入力として提供することができる。システムは、略一致画像451のセットから候補画像561を識別するために、生成されたコンフィデンスメトリックを合計することができ、候補画像561は、最も高いコンフィデンスメトリック合計を有する。次いで、候補画像561は、上述したように、有効性についてチェックされ得る。
【0058】
図6A及び
図6Bは、候補画像への有効性チェックの適用を示す。特に、
図6Aは、クエリフレームを有効な候補画像にマッピングするクエリフレームへのホモグラフィ行列の適用を示し、
図6Bは、クエリフレームを無効な候補画像にマッピングするクエリフレームへのホモグラフィ行列の適用を示す。
【0059】
上述したように、
図6Aは、候補画像561への有効性チェックの適用を示す。有効性チェックを実行するとき、システムは、クエリ局所記述子557及びデータベース局所記述子559のうちの少なくともいくつかに基づいてホモグラフィ行列を識別することができる。識別されたホモグラフィ行列を使用して、システムは、候補画像561上へのクエリフレーム441の境界のマッピング663を作成することができる。マッピング663を作成した後、システムは、ホモグラフィ行列を使用して、クエリ局所記述子557を候補画像561上にマッピングすることができる。
図6Aに示すように、ホモグラフィ行列がクエリ局所記述子557に適用されると、クエリ局所記述子557は、マッピング663内に位置するデータベース局所記述子559にマッピングされる。マッピングされたデータベース局所記述子559はマッピング663内に位置するので、
図6Aの候補画像561は有効性チェックに合格し、候補画像561は一致画像として指定される。
【0060】
対照的に、同様のマッピング663がホモグラフィ行列から作成される
図6Bでは、クエリ局所記述子557のうちのいくつかは、マッピング663の外側に位置するデータベース局所記述子559にマッピングする。クエリ局所記述子557は、マッピング663の外側にあるデータベース局所記述子559にマッピングされるので、
図6Bの候補画像561は、有効性チェックに不合格となる。いくつかの実装形態では、候補画像561は、任意のクエリ局所記述子557がマッピング663の外側に位置するデータベース局所記述子559にマッピングされるとき、有効性チェックに不合格となり得る。しかしながら、候補画像561は、特定の数又は割合のクエリ局所記述子557が、マッピング663の外側に位置するデータベース局所記述子559にマッピングされる場合、有効性チェックに不合格となってもよい。
【0061】
加えて、ホモグラフィ行列から作成されたマッピング663は、候補画像561上の不可能な潜在的マッピング663を表し得る。例えば、マッピング663は、極端な非矩形形状又は不明瞭なマッピングであり得る。マッピング663が不可能なマッピングであるとき、不明瞭なマッピング又は不規則な形状は、局所記述子から得られたホモグラフィ行列が有効なマッピングではないことを示し得る。したがって、候補画像561は、クエリフレーム441に対する誤一致である。
【0062】
図7は、画像のみによる姿勢再位置特定を実行するための方法600のフローチャート図である。方法700は、701に進み、オブジェクトに装着された画像センサからクエリフレームが取得される。方法700は、703に更に進み、画像データが画像データベースから取得される。更に、方法700は、705に進み、略一致アルゴリズムが実行されて、クエリフレームに略一致する、画像データベースに格納されたデータの略一致フレームのセットを識別する。更に、方法707は、707に進み、高精度一致アルゴリズムが実行されて、クエリフレームに一致する略一致フレームのセット内の候補画像を識別する。また、方法は、709に進み、候補画像が有効性チェックを満たすか否かに基づいて、候補画像が一致画像として指定される。更に、方法700は、711に進み、取得されたクエリフレーム、一致画像、及び画像センサのパラメータに基づいて姿勢解決アルゴリズムが実行されて、6自由度でオブジェクトの姿勢が推定される。
【0063】
例示的な実施形態
実施例1は、オブジェクトに装着された画像取得デバイスであって、画像取得デバイスは、オブジェクトを含む環境のクエリフレームを取得するように構成されている、画像取得デバイスと、画像データベースを格納するように構成されたメモリデバイスと、コンピュータ可読命令を実行するように構成された少なくとも1つのプロセッサであって、コンピュータ可読命令は、少なくとも1つのプロセッサに、略一致アルゴリズムを実行して、クエリフレームに略一致する、画像データベースに格納されたデータの略一致フレームのセットを識別することと、高精度一致アルゴリズムを実行して、クエリフレームに一致する略一致フレームのセット内の候補画像を識別することと、候補画像が有効性チェックを満たすか否かに基づいて、候補画像を一致画像として指定することと、取得されたクエリフレーム、一致画像、及び画像取得デバイスのためのパラメータに基づいて姿勢解決アルゴリズムを実行して、6自由度でオブジェクトの姿勢を推定することと、を行うように指示する、少なくとも1つのプロセッサと、を備えるシステムを含む。
【0064】
実施例2は、少なくとも1つのプロセッサに略一致アルゴリズムを実行するように指示するコンピュータ可読命令が、少なくとも1つのプロセッサに、クエリフレームのクエリ一般記述子を算出することと、画像データベースに格納された複数のフレームのデータベース一般記述子を取得することと、複数のフレームの各々について、データベース一般記述子をクエリ一般記述子と比較することと、複数のフレーム内のいくつかのフレームを略一致フレームのセットとして指定することと、を行うように更に指示する、実施例1に記載のシステムを含む。
【0065】
実施例3は、クエリフレームのクエリ一般記述子が、メモリデバイス上に格納された機械学習モデルを使用して算出される、実施例2に記載のシステムを含む。
【0066】
実施例4は、クエリ一般記述子が、一般化平均プーリングを使用して算出される、実施例3に記載のシステムを含む。
【0067】
実施例5は、データベース一般記述子が、中央リポジトリから受信された後にメモリデバイスに格納され、データベース一般記述子が、中央リポジトリにおける複数のプロセッサによって算出されたものである、実施例2~4のいずれかに記載のシステムを含む。
【0068】
実施例6は、少なくとも1つのプロセッサに高精度一致アルゴリズムを実行するように指示するコンピュータ可読命令が、少なくとも1つのプロセッサに、クエリフレームのクエリ局所記述子を算出することと、画像データベースに格納された複数のフレームのデータベース局所記述子を取得することと、略一致フレームのセット内のフレームの各々について、データベース局所記述子をクエリ局所記述子と比較することと、略一致フレームのセット内の候補画像を識別することと、を行うように更に指示する、実施例1~5のいずれかに記載のシステムを含む。
【0069】
実施例7は、クエリフレームのクエリ局所記述子が、メモリデバイス上に格納された機械学習モデルを使用して算出される、実施例6に記載のシステムを含む。
【0070】
実施例8は、クエリ局所記述子が、学習ベースの局所記述子アルゴリズムを使用して算出される、実施例6~7のいずれかに記載のシステムを含む。
【0071】
実施例9は、データベース局所記述子が、中央リポジトリから受信された後にメモリデバイスに格納され、データベース局所記述子が、中央リポジトリにおける複数のプロセッサによって算出されたものである、実施例6~8のいずれかに記載のシステムを含む。
【0072】
実施例10は、データベース局所記述子が、アテンショナルグラフィカルニューラルネットワークアルゴリズムを使用して、クエリ局所記述子と比較される、実施例6~9のいずれかに記載のシステムを含む。
【0073】
実施例11は、候補画像を一致画像として指定するように少なくとも1つのプロセッサに指示するコンピュータ可読命令が、少なくとも1つのプロセッサに、クエリフレームのクエリ局所記述子と候補画像のデータベース局所記述子との間の対応に基づいて、ホモグラフィ行列を算出することと、クエリフレームの境界を候補画像上にマッピングすることと、クエリ局所記述子のうちの少なくとも1つがマッピングされた境界内のデータベース局所記述子に対応し、マッピングされた境界が候補画像上の有効なマッピングに関連付けられているとき、候補画像が一致画像であると判定することと、を行うように更に指示する、実施例1~10のいずれかに記載のシステムを含む。
【0074】
実施例12は、姿勢解決アルゴリズムが、透視N点アルゴリズムである、実施例1~11のいずれかに記載のシステムを含む。
【0075】
実施例13は、1つ以上の追加のセンサを更に備え、1つ以上の追加のセンサが、機首方位及び高度のナビゲーション測定値を提供し、少なくとも1つのプロセッサが、機首方位に関連付けられた向き及び高度に関連付けられたスケールにおいて、画像データベース内のデータに対して略一致アルゴリズムを実行する、実施例1~12のいずれかに記載のシステムを含む。
【0076】
実施例14は、オブジェクトに装着された画像センサからクエリフレームを取得することと、画像データベースから画像データを取得することと、略一致アルゴリズムを実行して、クエリフレームに略一致する画像データベースに格納されたデータの略一致フレームのセットを識別することと、高精度一致アルゴリズムを実行して、クエリフレームに一致する略一致フレームのセット内の候補画像を識別することと、候補画像が有効性チェックを満たすか否かに基づいて、候補画像を一致画像として指定することと、取得されたクエリフレーム、一致画像、及び画像センサのためのパラメータに基づいて、姿勢解決アルゴリズムを実行して、6自由度でオブジェクトの姿勢を推定することと、を含む、方法を含む。
【0077】
実施例15は、略一致アルゴリズムを実行することが、クエリフレームのクエリ一般記述子を算出することと、画像データベースに格納された複数のフレームのデータベース一般記述子を取得することと、複数のフレームの各々について、データベース一般記述子をクエリ一般記述子と比較することと、複数のフレーム内のいくつかのフレームを略一致フレームのセットとして指定することと、を更に含む、実施例14に記載の方法を含む。
【0078】
実施例16は、略一致アルゴリズムを実行することが、機械学習モデルを使用してクエリフレームのクエリ一般記述子を算出することを含む、実施例15に記載の方法を含む。
【0079】
実施例17は、高精度一致アルゴリズムを実行することが、クエリフレームのクエリ局所記述子を算出することと、画像データベースに格納された複数のフレームのデータベース局所記述子を取得することと、略一致フレームのセット内のフレームの各々について、データベース局所記述子をクエリ局所記述子と比較することと、略一致フレームのセット内の候補画像を識別することと、を更に含む、実施例14~16のいずれかに記載の方法を含む。
【0080】
実施例18は、クエリフレームのクエリ局所記述子が、機械学習モデルを使用して算出される、実施例17に記載の方法を含む。
【0081】
実施例19は、一致候補を指定することが、クエリフレームのクエリ局所記述子と候補画像のデータベース局所記述子との間の対応に基づいてホモグラフィ行列を算出することと、クエリフレームの境界を候補画像上にマッピングすることと、クエリ局所記述子がマッピングされた境界内のデータベース局所記述子に対応し、マッピングされた境界が候補画像上の有効なマッピングに関連付けられているとき、候補画像が一致画像であると判定することと、を更に含む、実施例14~18のいずれかに記載の方法を含む。
【0082】
実施例20は、複数のプロセッサと、第三者から取得された画像データのリポジトリを格納する画像データベースと、を含む中央リポジトリであって、複数のプロセッサは、画像データのリポジトリの一部を使用して、複数の機械学習モデルを実行して、複数の3次元画像と、複数の3次元画像内の画像の局所記述子及び一般記述子と、を作成する、中央リポジトリと、ナビゲーションシステムであって、オブジェクトに装着された画像センサであって、画像センサは、ナビゲーションシステムを含む環境のクエリフレームを取得するように構成されている、画像センサと、中央リポジトリから受信された3次元画像、局所記述子、及び一般記述子を格納するように構成されたメモリデバイスと、コンピュータ可読命令を実行するように構成された少なくとも1つのプロセッサであって、コンピュータ可読命令は、少なくとも1つのプロセッサに、略一致アルゴリズムを実行して、クエリフレームに略一致する3次元画像内のデータの略一致フレームのセットを識別することと、高精度一致アルゴリズムを実行して、クエリフレームに一致する略一致候補のセット内の候補画像を識別することと、候補画像が有効性チェックを満たすか否かに基づいて、候補画像を一致画像として指定することと、取得されたクエリフレーム、一致画像、及び画像センサのためのパラメータに基づいて姿勢解決アルゴリズムを実行して、6自由度でオブジェクトの姿勢を推定することと、を行うように指示する、少なくとも1つのプロセッサと、を含む、ナビゲーションシステムと、を備えるシステムを含む。
【0083】
本明細書では特定の実施形態が図示され、説明されているが、当業者には、示される特定の実施形態の代わりに、同一の目的を達成することが予測される任意の構成が用いられ得ることが理解されよう。したがって、本発明は、特許請求の範囲及びその均等物によってのみ限定されることが明らかに意図されている。
【外国語明細書】