(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-09-26
(54)【発明の名称】視覚的測位方法及び関連装置
(51)【国際特許分類】
G06T 7/70 20170101AFI20220915BHJP
G06T 7/00 20170101ALI20220915BHJP
【FI】
G06T7/70 B
G06T7/00 300
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022503488
(86)(22)【出願日】2019-11-11
(85)【翻訳文提出日】2022-01-18
(86)【国際出願番号】 CN2019117224
(87)【国際公開番号】W WO2021035966
(87)【国際公開日】2021-03-04
(31)【優先権主張番号】201910821911.3
(32)【優先日】2019-08-30
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】519454800
【氏名又は名称】浙江商▲湯▼科技▲開▼▲発▼有限公司
【氏名又は名称原語表記】ZHEJIANG SENSETIME TECHNOLOGY DEVELOPMENT CO., LTD.
【住所又は居所原語表記】Room 288-8, No. 857, Shixinbei Road, Ningwei Street, Xiaoshan District Hangzhou, Zhejiang 311215 China
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】▲鮑▼▲虎▼▲軍▼
(72)【発明者】
【氏名】章国▲鋒▼
(72)【発明者】
【氏名】余▲海▼林
(72)【発明者】
【氏名】叶智超
(72)【発明者】
【氏名】盛崇山
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA08
5L096BA18
5L096CA02
5L096FA67
5L096HA13
5L096JA03
5L096JA28
(57)【要約】
本願の実施例は、コンピュータビジョン分野に関し、視覚的測位方法及び関連装置を開示する。該方法は、画像ライブラリから、第1候補画像シーケンスを決定することであって、画像ライブラリは、電子マップを構築するためのものであり、第1候補画像シーケンスにおける各フレームの画像は、第1画像とのマッチング度の順番に応じてソートされ、第1画像は、カメラにより収集された画像である、ことと、ターゲットウィンドウに応じて、第1候補画像シーケンスにおける各フレームの画像の順番を調整し、第2候補画像シーケンスを得ることであって、ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレームの画像を含む連続した複数フレームの画像であり、ターゲットフレームの画像は、画像ライブラリにおける、第2画像とマッチングした画像であり、第2画像は、カメラにより第1画像を収集する前に収集された画像である。
【特許請求の範囲】
【請求項1】
視覚的測位方法であって、
画像ライブラリから、第1候補画像シーケンスを決定することであって、前記画像ライブラリは、電子マップを構築するためのものであり、前記第1候補画像シーケンスにおける各フレームの画像は、第1画像とのマッチング度の順番に応じてソートされ、前記第1画像は、カメラにより収集された画像である、ことと、
ターゲットウィンドウに応じて、前記第1候補画像シーケンスにおける各フレームの画像の順番を調整し、第2候補画像シーケンスを得ることであって、前記ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレームの画像を含む連続した複数フレームの画像であり、前記ターゲットフレームの画像は、前記画像ライブラリにおける、第2画像とマッチングした画像であり、前記第2画像は、前記カメラにより第1画像を収集する前に収集された画像である、ことと、
前記第2候補画像シーケンスに基づいて、前記第1画像を収集する時の前記カメラのターゲット姿勢を決定することと、を含む、前記視覚的測位方法。
【請求項2】
前記第2候補画像シーケンスに基づいて、前記第1画像を収集する時の前記カメラのターゲット姿勢を決定することは、
第1画像シーケンス及び前記第1画像に基づいて、前記カメラの第1姿勢を決定することであって、前記第1画像シーケンスは、前記画像ライブラリにおける、第1参照フレーム画像に隣接する連続した複数フレームの画像を含み、前記第1参照フレーム画像は、前記第2候補画像シーケンスに含まれる、ことと、
前記第1姿勢に基づいて前記カメラの位置を測位することに成功したと判定した場合、前記第1姿勢を前記ターゲット姿勢として決定することと、を含むことを特徴とする
請求項1に記載の視覚的測位方法。
【請求項3】
前記第1画像シーケンス及び前記第1画像に基づいて、前記カメラの第1姿勢を決定した後、前記視覚的測位方法は、
前記第1姿勢に基づいて前記カメラの位置を測位することに失敗したと判定した場合、第2画像シーケンス及び前記第1画像に基づいて、前記カメラの第2姿勢を決定することであって、前記第2画像シーケンスは、前記画像ライブラリにおける、第2参照フレーム画像に隣接する連続した複数フレームの画像を含み、前記第2参照フレーム画像は、前記第2候補画像シーケンスにおける、前記第1参照フレーム画像の1フレーム後の画像又は1フレーム前の画像である、ことと、
前記第2姿勢に基づいて前記カメラの位置を測位することに成功したと判定した場合、前記第2姿勢を前記ターゲット姿勢として決定することと、を更に含むことを特徴とする
請求項2に記載の視覚的測位方法。
【請求項4】
前記第1画像シーケンス及び前記第1画像に基づいて、前記カメラの第1姿勢を決定することは、
前記第1画像シーケンスにおける各画像から抽出された特徴のうち、前記第1画像から抽出された特徴とマッチングしたF個の特徴を決定することであって、Fは、0より大きい整数である、ことと、
前記F個の特徴、ポイントクラウドマップでの、前記F個の特徴に対応する空間座標点及び前記カメラの内部パラメータに基づいて、前記第1姿勢を決定することであって、前記ポイントクラウドマップは、測位されるべきシーンの電子マップであり、前記測位されるべきシーンは、前記カメラが前記第1画像を収集する時に所在するシーンである、ことと、を含むことを特徴とする
請求項2又は3に記載の視覚的測位方法。
【請求項5】
前記ターゲットウィンドウに基づいて、第1候補画像シーケンスにおける各フレームの画像の順番を調整し、第2候補画像シーケンスを得ることは、
前記第1候補画像シーケンスにおける各フレームの画像が前記第1画像とのマッチング度の昇順に応じてソートされた場合、前記第1候補画像シーケンスにおける、前記ターゲットウィンドウに位置する画像を、前記第1候補画像シーケンスの最終位置に調整することと、
前記第1候補画像シーケンスにおける各フレームの画像が前記第1画像とのマッチング度の降順に応じてソートされた場合、前記第1候補画像シーケンスにおける、前記ターゲットウィンドウに位置する画像を、前記第1候補画像シーケンスの先頭位置に調整することと、を含むことを特徴とする
請求項1から4のうちいずれか一項に記載の視覚的測位方法。
【請求項6】
前記画像ライブラリから、第1候補画像シーケンスを決定することは、
前記画像ライブラリにおける、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することであって、前記画像ライブラリにおけるいずれか1つの画像は、1つの視覚的ワードベクトルに対応し、前記画像ライブラリにおける画像は、前記ターゲット機器が前記第1画像を収集する時に所在する測位されるべきシーンの電子マップを構築するためのものである、ことと、
前記複数の候補画像をそれぞれ前記第1画像と特徴マッチングし、各候補画像の、前記第1画像とマッチングした特徴の数を得ることと、
前記複数の候補画像のうち、前記第1画像とマッチングした特徴の数が最も多いM個の画像を取得し、前記第1候補画像シーケンスを得ることと、を含むことを特徴とする
請求項5に記載の視覚的測位方法。
【請求項7】
前記画像ライブラリにおける、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することは、
前記画像ライブラリにおける、対応する視覚的ワードの少なくとも1つが前記第1画像に対応する視覚的ワードと同じである画像を決定し、複数の予備選択画像を得ることであって、前記画像ライブラリにおけるいずれか1つの画像は、少なくとも1つ視覚的ワードに対応し、前記第1画像は、少なくとも1つの視覚的ワードに対応する、ことと、
前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することと、を含むことを特徴とする
請求項6に記載の視覚的測位方法。
【請求項8】
前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することは、
前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い上位Qパーセントの画像を決定し、前記複数の候補画像を得ることであって、Qは、0より大きい実数である、ことを含むことを特徴とする
請求項7に記載の視覚的測位方法。
【請求項9】
前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することは、
語彙ツリーを利用して、前記第1画像から抽出された特徴をターゲットワードベクトルに変換することであって、前記語彙ツリーは、前記測位されるべきシーンで収集された訓練画像から抽出された特徴をクラスタリングすることで得られたものである、ことと、
前記ターゲットワードベクトルと前記複数の予備選択画像のうちの各予備選択画像に対応する視覚的ワードベクトルとの類似度をそれぞれ算出することであって、前記複数の予備選択画像のうちのいずれか1つの予備選択画像に対応する視覚的ワードベクトルは、前記語彙ツリーを利用して、前記いずれか1つの予備選択画像から抽出された特徴により得た視覚的ワードベクトルである、ことと、
前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記ターゲットワードベクトルとの類似度が最も高い複数の候補画像を決定することと、を含むことを特徴とする
請求項7又は8に記載の視覚的測位方法。
【請求項10】
前記語彙ツリーにおける各リーフノードは、1つの視覚的ワードに対応し、前記語彙ツリーにおける最終層のノードは、リーフノードであり、語彙ツリーを利用して、前記第1画像から抽出された特徴をターゲットワードベクトルに変換することは、
前記第1画像での、前記語彙ツリーにおける各リーフノードに対応する視覚的ワードに対応する重みを算出することと、
前記第1画像での、前記各リーフノードに対応する視覚的ワードに対応する重みを組み合わせて1つのベクトルを形成し、前記ターゲットワードベクトルを得ることと、を含むことを特徴とする
請求項9に記載の視覚的測位方法。
【請求項11】
前記語彙ツリーの各ノードは、1つのクラスタ中心に対応し、前記第1画像での、前記語彙ツリーに対応する各視覚的ワードに対応する重みを算出することは、
前記語彙ツリーを利用して、前記第1画像から抽出された特徴を分類し、ターゲットリーフノードに分類された中間特徴を得ることであって、前記ターゲットリーフノードは、前記語彙ツリーにおけるいずれか1つのリーフノードであり、ターゲットリーフノードは、ターゲット視覚的ワードに対応する、ことと、
前記中間特徴、前記ターゲット視覚的ワードの重み及び前記ターゲット視覚的ワードに対応するクラスタ中心に基づいて、前記第1画像での、前記ターゲット視覚的ワードに対応するターゲット重みを算出することであって、前記ターゲット重みは、前記ターゲット視覚的ワードの重みと正に相関し、前記ターゲット視覚的ワードの重みは、前記語彙ツリーを生成する時に前記ターゲット視覚的ワードに対応する特徴の数に基づいて決定される、ことと、を含むことを特徴とする
請求項10に記載の視覚的測位方法。
【請求項12】
前記中間特徴は、少なくとも1つのサブ特徴を含み、前記ターゲット重みは、前記中間特徴に含まれる各サブ特徴に対応する重みパラメータの和であり、前記サブ特徴に対応する重みパラメータは、特徴距離と負に相関し、前記特徴距離は、前記サブ特徴と対応するクラスタ中心とのハミング距離であることを特徴とする
請求項11に記載の視覚的測位方法。
【請求項13】
前記複数の候補画像と前記第1画像に対して特徴マッチングを行い、前記第1画像とマッチングした各候補画像の特徴の数を得ることは、
語彙ツリーに基づいて、前記第1画像から抽出された第3特徴をリーフノードに分類することであって、前記語彙ツリーは、前記測位されるべきシーンで抽出された画像から抽出された特徴をクラスタリングすることで得られたものであり、前記語彙ツリーの最終層のノードは、リーフノードであり、各リーフノードは、複数の特徴を含む、ことと、
各前記リーフノードにおける前記第3特徴と第4特徴に対して特徴マッチングを行い、各前記リーフノードにおける、前記第3特徴とマッチングした第4特徴を得ることであって、前記第4特徴は、ターゲット候補画像から抽出された特徴であり、前記ターゲット候補画像は、前記第1候補画像シーケンスに含まれるいずれか1つの画像である、ことと、
各前記リーフノードにおける、前記第3特徴とマッチングした第4特徴に基づいて、前記ターゲット候補画像の、前記第1画像とマッチングした特徴の数を得ることと、を含むことを特徴とする
請求項6から12のうちいずれか一項に記載の視覚的測位方法。
【請求項14】
前記F個の特徴、ポイントクラウドマップでの、前記F個の特徴に対応する空間座標点及び前記カメラの内部パラメータに基づいて、前記第1姿勢を決定した後、前記視覚的測位方法は、
変換行列及び前記第1姿勢に基づいて、前記カメラの三次元位置を決定することであって、前記変換行列は、前記ポイントクラウドマップの角度及び位置を変換し、前記ポイントクラウドマップの輪郭と屋内平面図をアライメントすることで得られたものである、ことを更に含むことを特徴とする
請求項4から13のうちいずれか一項に記載の視覚的測位方法。
【請求項15】
前記第1姿勢に基づいて前記カメラの位置を測位することに成功したと判定したことは、L対の特徴点の位置関係がいずれも前記第1姿勢に合致すると判定することであって、各対の特徴点のうちの1つの特徴点は前記第1画像から抽出されたものであり、もう1つの特徴点は、前記第1画像シーケンスにおける画像から抽出されたものであり、Lは、1より大きい整数である、ことを含むことを特徴とする
請求項1から14のうちいずれか一項に記載の視覚的測位方法。
【請求項16】
前記第1画像シーケンス及び前記第1画像に基づいて前記カメラの第1姿勢を決定する前に、前記視覚的測位方法は、
複数の画像シーケンスを取得することであって、各画像シーケンスは、測位されるべきシーンにおける1つ又は複数の領域を収集することで得られたものである、ことと、
前記複数の画像シーケンスに基づいて、前記ポイントクラウドマップを構築することであって、前記複数の画像シーケンスのうちのいずれか1つの画像シーケンスは、1つ又は複数の領域のサブポイントクラウドマップを構築するためのものであり、前記ポイントクラウドマップは、前記第1電子マップ及び前記第2電子マップを含む、ことと、を更に含むことを特徴とする
請求項2から15のうちいずれか一項に記載の視覚的測位方法。
【請求項17】
前記語彙ツリーを利用して、前記第1画像から抽出された特徴をターゲットワードベクトルに変換する前に、前記視覚的測位方法は、
前記測位されるべきシーンに対して撮影を行うことで得られた複数枚の訓練画像を取得することと、
前記複数枚の訓練画像に対して特徴抽出を行い、訓練特徴集合を得ることと、
前記訓練特徴集合における特徴に対して複数回のクラスタリングを行い、前記語彙ツリーを得ることと、を更に含むことを特徴とする
請求項9から16のうちいずれか一項に記載の視覚的測位方法。
【請求項18】
前記視覚的測位方法がサーバに適用され、前記画像ライブラリから第1候補画像シーケンスを決定する前に、前記視覚的測位方法は、
ターゲット機器からの前記第1画像を受信することであって、前記ターゲット機器に前記カメラが搭載された、ことを更に含むことを特徴とする
請求項1から17のうちいずれか一項に記載の視覚的測位方法。
【請求項19】
前記第1姿勢に基づいて前記カメラの位置を測位することに成功したと判定した後、前記視覚的測位方法は、
前記カメラの位置情報を前記ターゲット機器に送信することを更に含むことを特徴とする
請求項18に記載の視覚的測位方法。
【請求項20】
前記視覚的測位方法は、前記カメラを搭載した電子機器に適用されることを特徴とする
請求項1から17のうちいずれか一項に記載の視覚的測位方法。
【請求項21】
視覚的測位方法であって、
カメラによりターゲット画像を収集することと、
サーバにターゲット情報を送信することであって、前記ターゲット情報は、前記ターゲット画像又は前記ターゲット画像から抽出された特徴シーケンス、及び前記カメラの内部パラメータを含む、ことと、
位置情報を受信することであって、前記位置情報は、前記カメラの位置及び方向を示すためのものであり、前記位置情報は、前記サーバにより第2候補画像シーケンスに基づいて決定された、前記ターゲット画像を収集する時の前記カメラの位置情報であり、前記第2候補画像シーケンスは、前記サーバによりターゲットウィンドウに基づいて第1候補画像シーケンスにおける各フレームの画像の順番を調整することで得られたものであり、前記ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレーム画像を含む連続した複数フレームの画像であり、前記画像ライブラリは、電子マップを構築するためのものであり、前記ターゲットフレーム画像は、前記画像ライブラリにおける、第2画像とマッチングした画像であり、前記第2画像は、前記カメラにより第1画像を収集する前に収集された画像であり、前記第1候補画像シーケンスにおける各フレームの画像は、前記第1画像とのマッチング度の順番に応じてソートされる、ことと、
電子マップを表示することであって、前記電子マップに前記カメラの位置及び方向が含まれる、ことと、を含む、前記視覚的測位方法。
【請求項22】
視覚的測位装置であって、
画像ライブラリから、第1候補画像シーケンスを決定するように構成される選別ユニットであって、前記画像ライブラリは、電子マップを構築するためのものであり、前記第1候補画像シーケンスにおける各フレームの画像は、第1画像とのマッチング度の順番に応じてソートされ、前記第1画像は、カメラにより収集された画像である、選別ユニットを備え、
前記選別ユニットは更に、ターゲットウィンドウに応じて、前記第1候補画像シーケンスにおける各フレームの画像の順番を調整し、第2候補画像シーケンスを得るように構成され、前記ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレームの画像を含む連続した複数フレームの画像であり、前記ターゲットフレームの画像は、前記画像ライブラリにおける、第2画像とマッチングした画像であり、前記第2画像は、前記カメラにより第1画像を収集する前に収集された画像であり、
前記視覚的測位装置は、前記第2候補画像シーケンスに基づいて、前記第1画像を収集する時の前記カメラのターゲット姿勢を決定するように構成される決定ユニットを更に備える、前記視覚的測位装置。
【請求項23】
前記決定ユニットは更に、第1画像シーケンス及び前記第1画像に基づいて、前記カメラの第1姿勢を決定するように構成され、前記第1画像シーケンスは、前記画像ライブラリにおける、第1参照フレーム画像に隣接する連続した複数フレームの画像を含み、前記第1参照フレーム画像は、前記第2候補画像シーケンスに含まれ、
前記決定ユニットは更に、前記第1姿勢に基づいて前記カメラの位置を測位することに成功したと判定した場合、前記第1姿勢を前記ターゲット姿勢として決定するように構成されることを特徴とする
請求項22に記載の視覚的測位装置。
【請求項24】
前記決定ユニットは更に、前記第1姿勢に基づいて前記カメラの位置を測位することに失敗したと判定した場合、第2画像シーケンス及び前記第1画像に基づいて、前記カメラの第2姿勢を決定するように構成され、前記第2画像シーケンスは、前記画像ライブラリにおける、第2参照フレーム画像に隣接する連続した複数フレームの画像を含み、前記第2参照フレーム画像は、前記第2候補画像シーケンスにおける、前記第1参照フレーム画像の1フレーム後の画像又は1フレーム前の画像であり、前記決定ユニットは更に、前記第2姿勢に基づいて前記カメラの位置を測位することに成功したと判定した場合、前記第2姿勢を前記ターゲット姿勢として決定するように構成されることを特徴とする
請求項23に記載の視覚的測位装置。
【請求項25】
前記決定ユニットは、前記第1画像シーケンスにおける各画像から抽出された特徴のうち、前記第1画像から抽出された特徴とマッチングしたF個の特徴を決定するように構成され、Fは、0より大きい整数であり、前記決定ユニットは、前記F個の特徴、ポイントクラウドマップでの、前記F個の特徴に対応する空間座標点及び前記カメラの内部パラメータに基づいて、前記第1姿勢を決定するように構成され、前記ポイントクラウドマップは、測位されるべきシーンの電子マップであり、前記測位されるべきシーンは、前記カメラが前記第1画像を収集する時に所在するシーンであることを特徴とする
請求項23又は24に記載の視覚的測位装置。
【請求項26】
前記選別ユニットは、前記第1候補画像シーケンスにおける各フレームの画像が前記第1画像とのマッチング度の昇順に応じてソートされた場合、前記第1候補画像シーケンスにおける、前記ターゲットウィンドウに位置する画像を、前記第1候補画像シーケンスの最終位置に調整し、前記第1候補画像シーケンスにおける各フレームの画像が前記第1画像とのマッチング度の降順に応じてソートされた場合、前記第1候補画像シーケンスにおける、前記ターゲットウィンドウに位置する画像を、前記第1候補画像シーケンスの先頭位置に調整するように構成されることを特徴とする
請求項22から25のうちいずれか一項に記載の視覚的測位装置。
【請求項27】
前記選別ユニットは、前記第1候補画像シーケンスにおける各フレームの画像が前記第1画像とのマッチング度の昇順に応じてソートされた場合、前記第1候補画像シーケンスにおける、前記ターゲットウィンドウに位置する画像を、前記第1候補画像シーケンスの最終位置に調整し、
前記第1候補画像シーケンスにおける各フレームの画像が前記第1画像とのマッチング度の降順に応じてソートされた場合、前記第1候補画像シーケンスにおける、前記ターゲットウィンドウに位置する画像を、前記第1候補画像シーケンスの先頭位置に調整するように構成されることを特徴とする
請求項26に記載の視覚的測位装置。
【請求項28】
前記選別ユニットは、前記画像ライブラリにおける、対応する視覚的ワードの少なくとも1つが前記第1画像に対応する視覚的ワードと同じである画像を決定し、複数の予備選択画像を得るように構成され、前記画像ライブラリにおけるいずれか1つの画像は、少なくとも1つ視覚的ワードに対応し、前記第1画像は、少なくとも1つの視覚的ワードに対応し、
前記選別ユニットは、前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定するように構成されることを特徴とする
請求項27に記載の視覚的測位装置。
【請求項29】
前記選別ユニットは、前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い上位Qパーセントの画像を決定し、前記複数の候補画像を得るように構成され、Qは、0より大きい実数であることを特徴とする
請求項28に記載の視覚的測位装置。
【請求項30】
前記選別ユニットは、語彙ツリーを利用して、前記第1画像から抽出された特徴をターゲットワードベクトルに変換するように構成され、前記語彙ツリーは、前記測位されるべきシーンで収集された訓練画像から抽出された特徴をクラスタリングすることで得られたものであり、
前記選別ユニットは、前記ターゲットワードベクトルと前記複数の予備選択画像のうちの各予備選択画像に対応する視覚的ワードベクトルとの類似度をそれぞれ算出するように構成され、前記複数の予備選択画像のうちのいずれか1つの予備選択画像に対応する視覚的ワードベクトルは、前記語彙ツリーを利用して、前記いずれか1つの予備選択画像から抽出された特徴により得た視覚的ワードベクトルであり、
前記選別ユニットは、前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記ターゲットワードベクトルとの類似度が最も高い複数の候補画像を決定するように構成されることを特徴とする
請求項28又は29に記載の視覚的測位装置。
【請求項31】
前記語彙ツリーにおける各リーフノードは、1つの視覚的ワードに対応し、前記語彙ツリーにおける最終層のノードは、リーフノードであり、
前記選別ユニットは、前記第1画像での、前記語彙ツリーにおける各リーフノードに対応する視覚的ワードに対応する重みを算出し、
前記第1画像での、前記各リーフノードに対応する視覚的ワードに対応する重みを組み合わせて1つのベクトルを形成し、前記ターゲットワードベクトルを得るように構成されることを特徴とする
請求項30に記載の視覚的測位装置。
【請求項32】
前記語彙ツリーの各ノードは、1つのクラスタ中心に対応し、
前記選別ユニットは、
前記語彙ツリーを利用して、前記第1画像から抽出された特徴を分類し、ターゲットリーフノードに分類された中間特徴を得るように構成され、前記ターゲットリーフノードは、前記語彙ツリーにおけるいずれか1つのリーフノードであり、ターゲットリーフノードは、ターゲット視覚的ワードに対応し、
前記選別ユニットは、前記中間特徴、前記ターゲット視覚的ワードの重み及び前記ターゲット視覚的ワードに対応するクラスタ中心に基づいて、前記第1画像での、前記ターゲット視覚的ワードに対応するターゲット重みを算出するように構成され、前記ターゲット重みは、前記ターゲット視覚的ワードの重みと正に相関し、前記ターゲット視覚的ワードの重みは、前記語彙ツリーを生成する時に前記ターゲット視覚的ワードに対応する特徴の数に基づいて決定されることを特徴とする
請求項31に記載の視覚的測位装置。
【請求項33】
前記中間特徴は、少なくとも1つのサブ特徴を含み、前記ターゲット重みは、前記中間特徴に含まれる各サブ特徴に対応する重みパラメータの和であり、前記サブ特徴に対応する重みパラメータは、特徴距離と負に相関し、前記特徴距離は、前記サブ特徴と対応するクラスタ中心とのハミング距離であることを特徴とする
請求項32に記載の視覚的測位装置。
【請求項34】
前記選別ユニットは、語彙ツリーに基づいて、前記第1画像から抽出された第3特徴をリーフノードに分類するように構成され、前記語彙ツリーは、前記測位されるべきシーンで抽出された画像から抽出された特徴をクラスタリングすることで得られたものであり、前記語彙ツリーの最終層のノードは、リーフノードであり、各リーフノードは、複数の特徴を含み、
前記選別ユニットは、各前記リーフノードにおける前記第3特徴と第4特徴に対して特徴マッチングを行い、各前記リーフノードにおける、前記第3特徴とマッチングした第4特徴を得るように構成され、前記第4特徴は、ターゲット候補画像から抽出された特徴であり、前記ターゲット候補画像は、前記第1候補画像シーケンスに含まれるいずれか1つの画像であり、
前記選別ユニットは、各前記リーフノードにおける、前記第3特徴とマッチングした第4特徴に基づいて、前記ターゲット候補画像の、前記第1画像とマッチングした特徴の数を得るように構成されることを特徴とする
請求項27から33のうちいずれか一項に記載の視覚的測位装置。
【請求項35】
前記決定ユニットは更に、変換行列及び前記第1姿勢に基づいて、前記カメラの三次元位置を決定するように構成され、前記変換行列は、前記ポイントクラウドマップの角度及び位置を変換し、前記ポイントクラウドマップの輪郭と屋内平面図をアライメントすることで得られたものであることを特徴とする
請求項25から34のうちいずれか一項に記載の視覚的測位装置。
【請求項36】
前記決定ユニットは、L対の特徴点の位置関係がいずれも前記第1姿勢に合致すると判定するように構成され、各対の特徴点のうちの1つの特徴点は前記第1画像から抽出されたものであり、もう1つの特徴点は、前記第1画像シーケンスにおける画像から抽出されたものであり、Lは、1より大きい整数であることを特徴とする
請求項22から35のうちいずれか一項に記載の視覚的測位装置。
【請求項37】
前記視覚的測位装置は、
複数の画像シーケンスを取得するように構成される第1取得ユニットであって、各画像シーケンスは、測位されるべきシーンにおける1つ又は複数の領域を収集することで得られたものである、第1取得ユニットと、
前記複数の画像シーケンスに基づいて、前記ポイントクラウドマップを構築するように構成される地図構築ユニットであって、前記複数の画像シーケンスのうちのいずれか1つの画像シーケンスは、1つ又は複数の領域のサブポイントクラウドマップを構築するためのものであり、前記ポイントクラウドマップは、前記第1電子マップ及び前記第2電子マップを含む、地図構築ユニットと、を更に備えることを特徴とする
請求項23から36のうちいずれか一項に記載の視覚的測位装置。
【請求項38】
前記視覚的測位装置は、
前記測位されるべきシーンに対して撮影を行うことで得られた複数枚の訓練画像を取得するように構成される第2取得ユニットと、
前記複数枚の訓練画像に対して特徴抽出を行い、訓練特徴集合を得るように構成される特徴抽出ユニットと、
前記訓練特徴集合における特徴に対して複数回のクラスタリングを行い、前記語彙ツリーを得るように構成されるクラスタリングユニットと、を更に備えることを特徴とする
請求項30から37のうちいずれか一項に記載の視覚的測位装置。
【請求項39】
前記視覚的測位装置は、サーバであり、前記視覚的測位装置は、
ターゲット機器からの前記第1画像を受信するように構成される受信ユニットであって、前記ターゲット機器に前記カメラが搭載された、受信ユニットを更に備えることを特徴とする
請求項22から37のうちいずれか一項に記載の視覚的測位装置。
【請求項40】
前記視覚的測位装置は、
前記カメラの位置情報を前記ターゲット機器に送信するように構成される送信ユニットを更に備えることを特徴とする
請求項39に記載の視覚的測位装置。
【請求項41】
前記視覚的測位装置は、前記カメラを搭載した電子機器であることを特徴とする
請求項22から38のうちいずれか一項に記載の視覚的測位装置。
【請求項42】
端末装置であって、
ターゲット画像を収集するように構成されるカメラと、
サーバにターゲット情報を送信するように構成される送信ユニットであって、前記ターゲット情報は、前記ターゲット画像又は前記ターゲット画像から抽出された特徴シーケンス、及び前記カメラの内部パラメータを含む、送信ユニットと、
位置情報を受信するように構成される受信ユニットであって、前記位置情報は、前記カメラの位置及び方向を示すためのものであり、前記位置情報は、前記サーバにより第2候補画像シーケンスに基づいて決定された、前記ターゲット画像を収集する時の前記カメラの位置情報であり、前記第2候補画像シーケンスは、前記サーバによりターゲットウィンドウに基づいて第1候補画像シーケンスにおける各フレームの画像の順番を調整することで得られたものであり、前記ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレーム画像を含む連続した複数フレームの画像であり、前記画像ライブラリは、電子マップを構築するためのものであり、前記ターゲットフレーム画像は、前記画像ライブラリにおける、第2画像とマッチングした画像であり、前記第2画像は、前記カメラにより第1画像を収集する前に収集された画像であり、前記第1候補画像シーケンスにおける各フレームの画像は、前記第1画像とのマッチング度の順番に応じてソートされる、受信ユニットと、
電子マップを表示するように構成される表示ユニットであって、前記電子マップに前記カメラの位置及び方向が含まれる、表示ユニットと、を備える、前記端末装置。
【請求項43】
視覚的測位システムであって、サーバと、端末装置と、を備え、前記サーバは、請求項1から19のうちいずれか一項に記載の視覚的測位方法を実行するように構成され、前記端末装置は、請求項21に記載の視覚的測位方法を実行するように構成される、前記視覚的測位システム。
【請求項44】
電子機器であって、
プログラムを記憶するためのメモリと、
前記メモリに記憶された前記プログラムを実行するように構成されるプロセッサと、を備え、前記プログラムが実行される時、前記プロセッサは、請求項1から20のうちいずれか一項に記載の視覚的測位方法を実行する、前記電子機器。
【請求項45】
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体にコンピュータプログラムが記憶されており、該コンピュータプログラムは、プログラム命令を含み、前記プログラム命令がプロセッサにより実行される時、前記プロセッサに、請求項1から20のうちいずれか一項に記載の視覚的測位方法を実行させる、前記コンピュータ可読記憶媒体。
【請求項46】
コンピュータプログラム製品であって、前記コンピュータプログラムは、プログラム命令を含み、前記プログラムがプロセッサにより実行される時、前記プロセッサに、請求項1から20のうちいずれか一項に記載の視覚的測位方法を実行させる、前記コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、2019年08月30日に提出された出願番号201910821911.3の中国特許出願に基づく優先権を主張し、該中国特許出願の全内容が参照として本願に組み込まれる。
【0002】
本願は、コンピュータビジョン分野に関するが、これに限定されず、特に視覚的測位方法及び関連装置に関する。
【背景技術】
【0003】
測位技術は、人々の日常生活において非常に重要である。全地球測位システム(Global Positioning System:GPS)が測位に用いられるが、GPS測位は、屋外測位に用いられることが多い。現在、屋内測位システムは、主に、Wi-Fi信号、ブルートゥース(登録商標)信号及び超広帯域技術(Ultra Wide Band:UWB)等に基づいて実現する。Wi-Fi信号に基づいて測位を行う場合、多くの無線アクセスポイント(Access Point:AP)を事前配置する必要がある。
【0004】
視覚的情報の取得が容易であり、シーンに対する改造を必要としない。携帯電話などの装置により画像を撮ることで、周りの豊富な視覚的情報を得ることができる。視覚的測位技術は、携帯電話などの画像又は映像収集装置により収集された視覚的情報(画像又は映像)を利用して測位を行う。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本願の実施例は、視覚的測位方法及び関連装置を提供する。
【課題を解決するための手段】
【0006】
第1態様によれば、本願の実施例は、視覚的測位方法を提供する。該方法は、画像ライブラリから、第1候補画像シーケンスを決定することであって、前記画像ライブラリは、電子マップを構築するためのものであり、前記第1候補画像シーケンスにおける各フレームの画像は、第1画像とのマッチング度の順番に応じてソートされ、前記第1画像は、カメラにより収集された画像である、ことと、ターゲットウィンドウに応じて、前記第1候補画像シーケンスにおける各フレームの画像の順番を調整し、第2候補画像シーケンスを得ることであって、前記ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレームの画像を含む連続した複数フレームの画像であり、前記ターゲットフレームの画像は、前記画像ライブラリにおける、第2画像とマッチングした画像であり、前記第2画像は、前記カメラにより第1画像を収集する前に収集された画像である、ことと、前記第2候補画像シーケンスに基づいて、前記第1画像を収集する時の前記カメラのターゲット姿勢を決定することと、を含む。
【0007】
本願の実施例は、タイムシーケンスでの、画像フレームの連続性を利用して、連続フレームの測位速度を効果的に向上させる。
【0008】
幾つかの実施例において、前記第2候補画像シーケンスに基づいて、前記第1画像を収集する時の前記カメラのターゲット姿勢を決定することは、第1画像シーケンス及び前記第1画像に基づいて、前記カメラの第1姿勢を決定することであって、前記第1画像シーケンスは、前記画像ライブラリにおける、第1参照フレーム画像に隣接する連続した複数フレームの画像を含み、前記第1参照フレーム画像は、前記第2候補画像シーケンスに含まれる、ことと、前記第1姿勢に基づいて前記カメラの位置を測位することに成功したと判定した場合、前記第1姿勢を前記ターゲット姿勢として決定することと、を含む。
【0009】
幾つかの実施例において、第1画像シーケンス及び前記第1画像に基づいて、前記カメラの第1姿勢を決定した後、前記視覚的測位方法は、前記第1姿勢に基づいて前記カメラの位置を測位することに失敗したと判定した場合、第2画像シーケンス及び前記第1画像に基づいて、前記カメラの第2姿勢を決定することであって、前記第2画像シーケンスは、前記画像ライブラリにおける、第2参照フレーム画像に隣接する連続した複数フレームの画像を含み、前記第2参照フレーム画像は、前記第2候補画像シーケンスにおける、前記第1参照フレーム画像の1フレーム後の画像又は1フレーム前の画像である、ことと、前記第2姿勢に基づいて前記カメラの位置を測位することに成功したと判定した場合、前記第2姿勢を前記ターゲット姿勢として決定することと、を更に含む。
【0010】
幾つかの実施例において、第1画像シーケンス及び前記第1画像に基づいて、前記カメラの第1姿勢を決定することは、前記第1画像シーケンスにおける各画像から抽出された特徴のうち、前記第1画像から抽出された特徴とマッチングしたF個の特徴を決定することであって、Fは、0より大きい整数である、ことと、前記F個の特徴、ポイントクラウドマップでの、前記F個の特徴に対応する空間座標点及び前記カメラの内部パラメータに基づいて、前記第1姿勢を決定することであって、前記ポイントクラウドマップは、測位されるべきシーンの電子マップであり、前記測位されるべきシーンは、前記カメラが前記第1画像を収集する時に所在するシーンである、ことと、を含む。
【0011】
幾つかの実施例において、ターゲットウィンドウに基づいて、第1候補画像シーケンスにおける各フレームの画像の順番を調整し、第2候補画像シーケンスを得ることは、前記第1候補画像シーケンスにおける各フレームの画像が前記第1画像とのマッチング度の昇順に応じてソートされた場合、前記第1候補画像シーケンスにおける、前記ターゲットウィンドウに位置する画像を、前記第1候補画像シーケンスの最終位置に調整することと、前記第1候補画像シーケンスにおける各フレームの画像が前記第1画像とのマッチング度の降順に応じてソートされた場合、前記第1候補画像シーケンスにおける、前記ターゲットウィンドウに位置する画像を、前記第1候補画像シーケンスの先頭位置に調整することと、を含む。
【0012】
幾つかの実施例において、前記画像ライブラリから、第1候補画像シーケンスを決定することは、
前記画像ライブラリにおける、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することであって、前記画像ライブラリにおけるいずれか1つの画像は、1つの視覚的ワードベクトルに対応し、前記画像ライブラリにおける画像は、前記ターゲット機器が前記第1画像を収集する時に所在する測位されるべきシーンの電子マップを構築するためのものである、ことと、
前記複数の候補画像をそれぞれ前記第1画像と特徴マッチングし、各候補画像の、前記第1画像とマッチングした特徴の数を得ることと、
前記複数の候補画像のうち、前記第1画像とマッチングした特徴の数が最も多いM個の画像を取得し、前記第1候補画像シーケンスを得ることと、を含む。
【0013】
幾つかの実施例において、前記画像ライブラリにおける、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することは、
前記画像ライブラリにおける、対応する視覚的ワードの少なくとも1つが前記第1画像に対応する視覚的ワードと同じである画像を決定し、複数の予備選択画像を得ることであって、前記画像ライブラリにおけるいずれか1つの画像は、少なくとも1つ視覚的ワードに対応し、前記第1画像は、少なくとも1つの視覚的ワードに対応する、ことと、前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することと、を含む。
【0014】
幾つかの実施例において、前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することは、前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い上位Qパーセントの画像を決定し、前記複数の候補画像を得ることであって、Qは、0より大きい実数である、ことを含む。
【0015】
幾つかの実施例において、前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することは、
語彙ツリーを利用して、前記第1画像から抽出された特徴をターゲットワードベクトルに変換することであって、前記語彙ツリーは、前記測位されるべきシーンで収集された訓練画像から抽出された特徴をクラスタリングすることで得られたものである、ことと、
前記ターゲットワードベクトルと前記複数の予備選択画像のうちの各予備選択画像に対応する視覚的ワードベクトルとの類似度をそれぞれ算出することであって、前記複数の予備選択画像のうちのいずれか1つの予備選択画像に対応する視覚的ワードベクトルは、前記語彙ツリーを利用して、前記いずれか1つの予備選択画像から抽出された特徴により得た視覚的ワードベクトルである、ことと、
前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記ターゲットワードベクトルとの類似度が最も高い複数の候補画像を決定することと、を含む。
【0016】
該実現形態において、語彙ツリーを利用して、第1画像から抽出された特徴をターゲットワードベクトルに変換し、ターゲットワードベクトルと各予備選択画像に対応する視覚的ワードベクトルとの類似度を算出することで複数の候補画像を得る。従って、候補画像を迅速かつ正確に選別することができる。
【0017】
幾つかの実施例において、前記語彙ツリーにおける各リーフノードは、1つの視覚的ワードに対応し、前記語彙ツリーにおける最終層のノードは、リーフノードであり、語彙ツリーを利用して、前記第1画像から抽出された特徴をターゲットワードベクトルに変換することは、
前記第1画像での、前記語彙ツリーにおける各リーフノードに対応する視覚的ワードに対応する重みを算出することと、
前記第1画像での、前記各リーフノードに対応する視覚的ワードに対応する重みを組み合わせて1つのベクトルを形成し、前記ターゲットワードベクトルを得ることと、を含む。
【0018】
該実現形態において、ターゲットワードベクトルを迅速に算出することができる。
【0019】
幾つかの実施例において、前記語彙ツリーの各ノードは、1つのクラスタ中心に対応し、前記第1画像での、前記語彙ツリーに対応する各視覚的ワードに対応する重みを算出することは、
前記語彙ツリーを利用して、前記第1画像から抽出された特徴を分類し、ターゲットリーフノードに分類された中間特徴を得ることであって、前記ターゲットリーフノードは、前記語彙ツリーにおけるいずれか1つのリーフノードであり、ターゲットリーフノードは、ターゲット視覚的ワードに対応する、ことと、
前記中間特徴、前記ターゲット視覚的ワードの重み及び前記ターゲット視覚的ワードに対応するクラスタ中心に基づいて、前記第1画像での、前記ターゲット視覚的ワードに対応するターゲット重みを算出することであって、前記ターゲット重みは、前記ターゲット視覚的ワードの重みと正に相関し、前記ターゲット視覚的ワードの重みは、前記語彙ツリーを生成する時に前記ターゲット視覚的ワードに対応する特徴の数に基づいて決定される、ことと、を含む。
【0020】
幾つかの実施例において、前記中間特徴は、少なくとも1つのサブ特徴を含み、前記ターゲット重みは、前記中間特徴に含まれる各サブ特徴に対応する重みパラメータの和であり、前記サブ特徴に対応する重みパラメータは、特徴距離と負に相関し、前記特徴距離は、前記サブ特徴と対応するクラスタ中心とのハミング距離である。
【0021】
該実現形態において、同一の視覚的ワードにある特徴の相違性を考慮した。
【0022】
幾つかの実施例において、前記複数の候補画像と前記第1画像に対して特徴マッチングを行い、前記第1画像とマッチングした各候補画像の特徴の数を得ることは、
語彙ツリーに基づいて、前記第1画像から抽出された第3特徴をリーフノードに分類することであって、前記語彙ツリーは、前記測位されるべきシーンで抽出された画像から抽出された特徴をクラスタリングすることで得られたものであり、前記語彙ツリーの最終層のノードは、リーフノードであり、各リーフノードは、複数の特徴を含む、ことと、
各前記リーフノードにおける前記第3特徴と第4特徴に対して特徴マッチングを行い、各前記リーフノードにおける、前記第3特徴とマッチングした第4特徴を得ることであって、前記第4特徴は、ターゲット候補画像から抽出された特徴であり、前記ターゲット候補画像は、前記第1候補画像シーケンスに含まれるいずれか1つの画像である、ことと、
各前記リーフノードにおける、前記第3特徴とマッチングした第4特徴に基づいて、前記ターゲット候補画像の、前記第1画像とマッチングした特徴の数を得ることと、を含む。
【0023】
このような方式により、特徴マッチングの演算量を低減させ、特徴マッチング速度を大幅に向上させることができる。
【0024】
幾つかの実施例において、前記F個の特徴、ポイントクラウドマップでの、前記F個の特徴に対応する空間座標点及び前記カメラの内部パラメータに基づいて、前記第1姿勢を決定した後、前記視覚的測位方法は、
変換行列及び前記第1姿勢に基づいて、前記カメラの三次元位置を決定することであって、前記変換行列は、前記ポイントクラウドマップの角度及び位置を変換し、前記ポイントクラウドマップの輪郭と屋内平面図をアライメントすることで得られたものである、ことを更に含む。
【0025】
幾つかの実施例において、前記第1姿勢に基づいて前記カメラの位置を測位することに成功したと判定したことは、L対の特徴点の位置関係がいずれも前記第1姿勢に合致すると判定することであって、各対の特徴点のうちの1つの特徴点は前記第1画像から抽出されたものであり、もう1つの特徴点は、前記第1画像シーケンスにおける画像から抽出されたものであり、Lは、1より大きい整数である、ことを含む。
【0026】
該実現形態において、該第2姿勢に基づいて前記カメラの位置を測位することに成功できるかどうかを正確かつ迅速に判定することができる。
【0027】
幾つかの実施例において、第1画像シーケンス及び前記第1画像に基づいて前記カメラの第1姿勢を決定する前に、前記視覚的測位方法は、
複数の画像シーケンスを取得することであって、各画像シーケンスは、測位されるべきシーンにおける1つ又は複数の領域を収集することで得られたものである、ことと、
前記複数の画像シーケンスに基づいて、前記ポイントクラウドマップを構築することであって、前記複数の画像シーケンスのうちのいずれか1つの画像シーケンスは、1つ又は複数の領域のサブポイントクラウドマップを構築するためのものであり、前記ポイントクラウドマップは、前記第1電子マップ及び前記第2電子マップを含む、ことと、を更に含む。
【0028】
該実現形態において、測位されるべきシーンを複数の領域に分割し、各領域に対してサブポイントクラウドマップを構築する。従って、測位されるべきシーンにおける1つの領域が変換された後、測位されるべきシーン全体のポイントクラウドマップを構築する必要がなく、該領域のビデオシーケンスを収集して該領域のサブポイントクラウドマップを構築すればよい。作業量を効果的に減少させることができる。
【0029】
幾つかの実施例において、前記語彙ツリーを利用して、前記第1画像から抽出された特徴をターゲットワードベクトルに変換する前に、前記視覚的測位方法は、
前記測位されるべきシーンに対して撮影を行うことで得られた複数枚の訓練画像を取得することと、
前記複数枚の訓練画像に対して特徴抽出を行い、訓練特徴集合を得ることと、
前記訓練特徴集合における特徴に対して複数回のクラスタリングを行い、前記語彙ツリーを得ることと、を更に含む。
【0030】
幾つかの実施例において、前記視覚的測位方法は、サーバに適用され、画像ライブラリから第1候補画像シーケンスを決定する前に、前記視覚的測位方法は、ターゲット機器からの前記第1画像を受信することであって、前記ターゲット機器に前記カメラが搭載された、ことを更に含む。
【0031】
該実現形態において、サーバは、ターゲット機器からの第1画像に基づいて測位を行う。処理速度及び記憶空間の点でのサーバの優位性を十分に利用することができる。測位精度が高く、測位速度が速い。
【0032】
幾つかの実施例において、前記第2姿勢に基づいて前記カメラの位置を測位することに成功したと判定した後、前記視覚的測位方法は、前記カメラの位置情報を前記ターゲット機器に送信することを更に含む。
【0033】
該実現形態において、サーバは、ターゲット機器の位置情報を該ターゲット機器に送信する。これにより、該ターゲット機器に該位置情報を表示し、所在位置をユーザに正確に知らせることができる。
【0034】
幾つかの実施例において、前記視覚的測位方法は、前記カメラを搭載した電子機器に適用される。
【0035】
第2態様によれば、本願の実施例は、もう1つの視覚的測位方法を提供する。該方法は、カメラによりターゲット画像を収集することと、サーバにターゲット情報を送信することであって、前記ターゲット情報は、前記ターゲット画像又は前記ターゲット画像から抽出された特徴シーケンス、及び前記カメラの内部パラメータを含む、ことと、
位置情報を受信することであって、前記位置情報は、前記カメラの位置及び方向を示すためのものであり、前記位置情報は、前記サーバにより第2候補画像シーケンスに基づいて決定された、前記ターゲット画像を収集する時の前記カメラの位置情報であり、前記第2候補画像シーケンスは、前記サーバによりターゲットウィンドウに基づいて第1候補画像シーケンスにおける各フレームの画像の順番を調整することで得られたものであり、前記ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレーム画像を含む連続した複数フレームの画像であり、前記画像ライブラリは、電子マップを構築するためのものであり、前記ターゲットフレーム画像は、前記画像ライブラリにおける、第2画像とマッチングした画像であり、前記第2画像は、前記カメラにより第1画像を収集する前に収集された画像であり、前記第1候補画像シーケンスにおける各フレームの画像は、前記第1画像とのマッチング度の順番に応じてソートされる、ことと、
電子マップを表示することであって、前記電子マップに前記カメラの位置及び方向が含まれる、ことと、を含む。
【0036】
第3態様によれば、本願の実施例は、視覚的測位装置を提供する。該装置は、
画像ライブラリから、第1候補画像シーケンスを決定するように構成される選別ユニットであって、前記画像ライブラリは、電子マップを構築するためのものであり、前記第1候補画像シーケンスにおける各フレームの画像は、第1画像とのマッチング度の順番に応じてソートされ、前記第1画像は、カメラにより収集された画像である、選別ユニットを備え、
前記選別ユニットは更に、ターゲットウィンドウに応じて、前記第1候補画像シーケンスにおける各フレームの画像の順番を調整し、第2候補画像シーケンスを得るように構成され、前記ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレームの画像を含む連続した複数フレームの画像であり、前記ターゲットフレームの画像は、前記画像ライブラリにおける、第2画像とマッチングした画像であり、前記第2画像は、前記カメラにより第1画像を収集する前に収集された画像であり、
該装置は、前記第2候補画像シーケンスに基づいて、前記第1画像を収集する時の前記カメラのターゲット姿勢を決定するように構成される決定ユニットを更に備える。
【0037】
第4態様によれば、本願の実施例は、端末装置を提供する。該端末装置は、
ターゲット画像を収集するように構成されるカメラと、
サーバにターゲット情報を送信するように構成される送信ユニットであって、前記ターゲット情報は、前記ターゲット画像又は前記ターゲット画像から抽出された特徴シーケンス、及び前記カメラの内部パラメータを含む、送信ユニットと、
位置情報を受信するように構成される受信ユニットであって、前記位置情報は、前記カメラの位置及び方向を示すためのものであり、前記位置情報は、前記サーバにより第2候補画像シーケンスに基づいて決定された、前記ターゲット画像を収集する時の前記カメラの位置情報であり、前記第2候補画像シーケンスは、前記サーバによりターゲットウィンドウに基づいて第1候補画像シーケンスにおける各フレームの画像の順番を調整することで得られたものであり、前記ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレーム画像を含む連続した複数フレームの画像であり、前記画像ライブラリは、電子マップを構築するためのものであり、前記ターゲットフレーム画像は、前記画像ライブラリにおける、第2画像とマッチングした画像であり、前記第2画像は、前記カメラにより第1画像を収集する前に収集された画像であり、前記第1候補画像シーケンスにおける各フレームの画像は、前記第1画像とのマッチング度の順番に応じてソートされる、受信ユニットと、
電子マップを表示するように構成される表示ユニットであって、前記電子マップに前記カメラの位置及び方向が含まれる、表示ユニットと、を備える。
【0038】
第5態様によれば、本願の実施例は、電子機器を提供する。該電子機器は、プログラムを記憶するためのメモリと、前記メモリに記憶された前記プログラムを実行するように構成されるプロセッサと、を備え、前記プログラムが実行される時、前記プロセッサは、上記第1態様から上記第2態様及びいずれか1つの実現形態に記載の視覚的測位方法を実行するように構成される。
【0039】
第6態様によれば、本願の実施例は、視覚的測位システムを提供する。前記視覚的測位システムは、サーバと、端末装置と、を備え、前記サーバは、上記第1及びいずれか1つ実現形態に記載の視覚的測位方法を実行し、前記端末装置は、上記第2態様に記載の視覚的測位方法を実行するように構成される。
【0040】
第7態様によれば、本願の実施例は、コンピュータ可読記憶媒体を提供する。該コンピュータ可読記憶媒体にコンピュータプログラムが記憶されており、該コンピュータプログラムは、プログラム命令を含み、該プログラム命令がプロセッサにより実行される時、該プロセッサに上記第1態様から第2態様及びいずれか1つの実現態様に記載の視覚的測位方法を実行させる。
【0041】
第8態様によれば、本願の実施例は、コンピュータプログラム製品を提供する。前記コンピュータプログラムは、プログラム命令を含み、前記プログラムがプロセッサにより実行される時、前記プロセッサに前記いずれか1つの実施例で提供される視覚的測位方法を実行させる。
【図面の簡単な説明】
【0042】
【
図1】本願の実施例による語彙ツリーを示す概略図である。
【
図2】本願の実施例による視覚的測位方法を示す図である。
【
図3】本願の実施例によるもう1つの視覚的測位方法を示す図である。
【
図4】本願の実施例によるまた1つの視覚的測位方法を示す図である。
【
図5】本願の実施例による測位ナビゲーション方法を示す図である。
【
図6】本願の実施例によるポイントクラウドマップ構築方法を示す図である。
【
図7】本願の実施例による視覚的測位装置の構造を示す概略図である。
【
図8】本願の実施例による端末の構造を示す概略図である。
【
図9】本願の実施例によるもう1つの端末の構造を示す概略図である。
【
図10】本願の実施例によるサーバの構造を示す概略図である。
【0043】
本願の実施例における技術的解決手段をより明確に説明するために、以下、本願の実施例又は背景技術に必要な図面を説明する。
【発明を実施するための形態】
【0044】
当業者に本願の技術的解決手段をより良く理解させるために、以下、本願の実施例における図面を参照しながら、本願の実施例における技術的解決手段を明瞭に説明する。勿論、記述される実施例は、全ての実施例ではなく、ただ本願の一部の実施例である。
【0045】
なお、本願の明細書における実施例及び特許請求の範囲並びに上記図面に言及された「第1」、「第2」及び「第3」等の用語は、類似した対象を区別するためのものであり、特定の順番又は前後順序を説明するためのものではない。なお、「備える」と「有する」という用語及びそれらの如何なる変形は、非排他的な包含を網羅することを意図している。例えば、一連の工程又はユニットを含む方法、システム、製品又は装置は、明記された工程又はユニットに限定されず、明記されていないか又はこれらのプロセス、方法、製品又は装置固有の他の工程又はユニットを含んでもよい。
【0046】
非視覚的情報に基づいた測位方法は、一般的には、測位されるべきシーンに装置を事前配置する必要があり、且つ測位精度が高くない。現在、視覚的情報に基づいた測位方法は、主な研究方向である。本願の実施例で提供される視覚的測位方法は、位置認識、測位ナビゲーションなどのシーンに適用可能である。以下、本願の実施例で提供される視覚的測位方法の位置認識シーン及び測位ナビゲーションシーンへの適用を簡単に説明する。
【0047】
位置認識シーンにおいて、例えば、大型デパートでは、デパート(即ち、測位されるべきシーン)に対して領域分割を行い、各領域に対して運動からの構造復元(Structure from Motion:SFM)等の技術を利用してデパートのポイントクラウドマップを構築することができる。ユーザは、該デパートにおいて、自己の所在位置及び/又は方向を決定しようとする場合、携帯電話におけるターゲットアプリケーションを起動することができる。該携帯電話は、カメラにより周りの画像を収集し、電子マップをディスプレイに表示し、該電子マップで、該ユーザの現在の所在位置及び方向を示す。該ターゲットアプリケーションは、屋内での正確な測位を実現するために特別に開発されたアプリケーションである。
【0048】
測位ナビゲーションシーンにおいて、例えば、大型デパートでは、デパートに対して領域分割を行い、各領域に対してSFM等の技術を利用してデパートのポイントクラウドマップを構築することができる。ユーザがデパートにおいて迷っているか又はある店に行きたい場合、該ユーザは、携帯電話におけるターゲットアプリケーションを起動し、到着すべき宛先アドレスを入力する。該ユーザは、携帯電話をかざして前方に向けて画像を収集する。収集された画像を該携帯電話にリアルタイムで表示し、例えば矢印のような、該ユーザが到着すべき宛先アドレスを示すマークを表示する。該ターゲットアプリケーションは、屋内での正確な測位を実現するために特別に開発されたアプリケーションである。携帯電話の演算能力が低いため、クラウド側で演算を行う必要があり、つまり、クラウド側で測位操作を実現させる必要がある。デパートに常に変動が発生するため、デパート全体に対してポイントクラウドマップを再構築する必要がなく、変動した領域のみに対してポイントクラウドマップを再構築すればよい。
【0049】
本願の実施例は、画像特徴抽出、SFMアルゴリズム及び姿勢推定等に係るため、理解を容易にするために、以下、まず、本願の実施例に係る関連用語及び相関概念を説明する。
【0050】
(1)特徴点、記述子及び方向付きFASTと回転BRIEF(Oriented Fast and Rotated Brief:ORB)アルゴリズム
画像の特徴点は、例えば、輪郭点、暗い領域における輝点、明るい領域における暗点などのような画像における著しい点と理解されてもよい。該定義を得るために、特徴周囲の画像階調値に基づいて、候補特徴点の周囲の画素値を検出し、候補点の周囲領域において、該候補点の階調値との差が大きい画素点の数が十分であると、候補点を特徴点と認める。特徴点を得た後、1つの方式でこれらの特徴点の属性を記述する必要がある。これらの属性の出力は、該特徴点の記述子(Feature Descritors)と呼ばれる。ORBアルゴリズムは、特徴点を迅速に抽出して記述するアルゴリズムである。ORBアルゴリズムは、FAST(Features from Accelerated Segment Test)アルゴリズムを利用して特徴点を検出する。FASTアルゴリズムは、コーナー検出に用いられるアルゴリズムである。該アルゴリズムの原理は、画像における検出点を取り、該点を円心とした周囲の16個の画素点により、検測点がコーナーであるかどうかを判定することである。ORBアルゴリズムは、BRIEFアルゴリズムを利用して1つの特徴点の記述子を算出する。BRIEFアルゴリズムの要旨は、キーポイントPの周囲で、所定のモデルでN個のポイント対を選択し、該N個のポイント対の比較結果を組み合わせて記述子とすることである。
【0051】
ORBアルゴリズムの最大の特徴は、演算速度が速いことである。それは、FASTを利用して特徴点を検出することによるものである。FASTの検出速度は、その名称の通り、非常に速いことが知られている。また、それは、BRIEFアルゴリズムを利用して記述子を算出する。該記述子に特有のバイナリストリングの表現形態は、記憶空間を節約するだけでなく、マッチングにかかる時間を大幅に短縮する。例えば、特徴点A、Bの記述子は、A:10101011、B:10101010と記述される。例えば、80%のような閾値を設定する。AとBの記述子の類似度が90%より大きい場合、AとBが同一の特徴点であると判定する。つまり、該2つの点のマッチングに成功した。該例において、AとBとは、最終桁のみが異なり、類似度が87.5%であり、80%より大きい。従って、Aは、Bとマッチングした。
【0052】
(2)SFMアルゴリズム
運動からの構造復元(Structure From Motion:SFM)アルゴリズムは、収集された種々の無秩序なピクチャに基づいて三次元再構築を行うオフラインアルゴリズムである。核心的なアルゴリズムStructure From Motionを行う前に、準備を行い、適切なピクチャを選別する必要がある。まず、ピクチャから焦点距離情報を抽出し、続いて、SIFTなどの特徴抽出アルゴリズムを利用して画像特徴を抽出し、kd-treeモデルを利用して2枚のピクチャの特徴点同士のユークリッド距離を算出して特徴点のマッチングを行うことで、マッチングした特徴点の数が要件を満たす画像対を得る。SIFT(Scale-Invariant Feature Transform)は、局所的特徴を検出するアルゴリズムである。kd-treeは、BST(Binary Search Tree)から進化したものであり、高次元インデックスツリー型データ構造である。大規模な高次元データに対する密な探索比較シーンに適用されることが多く、主に、最近傍探索(Nearest Neighbor)及び近似最近傍探索(Approximate Nearest Neighbor)である。コンピュータビジョンにおいて主に、画像検索及び認識における高次元特徴ベクトルの探索及び比較である。各画像マッチング対に対して、に対してエピポーラ幾何を算出し、基礎行列(即ち、F行列)を推定し、ransacアルゴリズムによりマッチング対を最適化して改良する。このようなマッチング対において、検出されるまでチェーンのように伝達される特徴点があれば、軌跡を形成することができる。続いて、Structure From Motionに入る。肝心なステップ1において、好適な画像対を選択してバンドル調整(Bundle Adjustment:BA)プロセス全体を初期化する。まず、選択された初期されるべき2枚のピクチャに対して第1回のBAをおコアに、続いて、新たなピクチャを繰り返して追加し、新たなBAを行い、追加可能な好適ピクチャがなくなければ、BAを終了する。カメラ推定パラメータ及びシーンの幾何情報を得る。つまり、スパース3Dポイントクラウド(ポイントクラウドマップ)を得る。
【0053】
(3)RANSACアルゴリズム
ランダムサンプルコンセンサスアルゴリズム(random sample consensus,RANSAC)は、反復の方式で、アウトライアを含む一組の観測されるデータから、数学的モデルのパラメータを推算する。RANSACアルゴリズムの基本的仮定は、サンプルにインライア(inliers:モデルにより記述される可能なデータ)が含まれ、アウトライア(outliers:正常な範囲から大きく外れて数学的モデルに適応できないデータ)も含まれ、つまり、データ集合に騒音が含まれることである。これらのアウトライアは、誤った測定、誤った仮定、誤った演算により発生したものである可能性がある。RANSACアルゴリズムの入力は、一組の観測データ、観測データを解釈であるか又は観測データに適応できるパラメータ化モデル、幾つかの信頼できるパラメータである。RANSACは、データにおける一組のランダム部分集合を繰り返して選択することでターゲットを達成する。選択された部分集合は、インライアポイントと過程され、下記方法で検証される。ステップ1において、1つのモデルが仮設したインライアポイントに適応し、つまり、全ての未知パラメータは、いずれも仮設したインライアポイントにより算出されることが可能である。ステップ2において、ステップ1で得られたモデルにより、全ての他のデータをテストする。あるポイントが推定したモデルに適用可能であれば、これもインライアポイントと認める。ステップ3において、仮設したインライアポイントと分類されたポイントが十分に多ければ、推定したモデルは、十分に合理的である。ステップ4において、モデルが初期仮設インライアポイントのみにより推定されたため、仮設した全てのインライアポイントにより、モデルを再推定する。ステップ5において、最後に、インライアポイントとモデルの誤り率を推定することでモデルを評価する。該プロセスは、所定の回数で繰り返して実行される。各回で発生したモデルは、インライアポイントが少な過ぎるため捨てられるか又は既存のモデルより好適であるため利用される。
【0054】
(4)語彙ツリー
語彙ツリーは、視覚的語彙(視覚的ワードとも呼ばれる)に基づいて画像を検出するための効率的なデータ構造である。膨大な画像ライブラリに対して、1つのツリー構造は、マッチングした画像を探すために全てのキーワードを走査することなく、準線形時間内で行われるキーワード検索を許容する。従って、検索速度を大幅に向上させることができる。以下、語彙ツリーの構築工程を紹介する。ステップ1において、全ての訓練画像のORB特徴を抽出する。各訓練画像に対して約3000個の特徴を抽出する。訓練画像は、測位されるべきシーンから収集される。ステップ2において、K平均法(k-mean)により、抽出された全ての特徴をK個のクラスタにクラスタリングする。各クラスタに対して同様な方式で、K個のクラスタにクラスタリングしてL層まで継続し、各層における各クラスタ中心を保留し、最終的に語彙ツリーを生成する。K及びLはいずれも1より大きい整数である。例えば、Kは、10であり、Lは、6である。リーフノードである第L層のノードは、最終的視覚的ワードである。語彙ツリーにおける1つのノードは、1つのクラスタ中心である。
図1は、本願の実施例による語彙ツリーを示す概略図である。
図1に示すように、語彙ツリーは、計(L+1)層を含み、第1層は、1つのルートノードを含み、最終層は、複数のリーフノードを含む。
【0055】
図2は、本願の実施例による視覚的測位方法を示す。
図2に示すように、該方法は以下を含んでもよい。
【0056】
201において、視覚的測位装置が画像ライブラリから第1候補画像シーケンスを決定する。
【0057】
該視覚的測位装置は、サーバであってもよく、携帯電話、タブレットなどのような画像を収集できる携帯端末であってもよい。該画像ライブラリは、電子マップを構築するためのものである。該第1候補画像シーケンスは、M個の画像を含み、該第1候補画像シーケンスにおける各フレームの画像は、第1画像とのマッチング度の順番に応じてソートされる。該第1画像は、ターゲット機器のカメラにより収集された画像であり、Mは、1より大きい整数である。例えば、Mは、5、6又は8等である。該ターゲット機器は、携帯電話、タブレットなどのような画像及び/又は映像を収集できる機器であってもよい。該実現形態において、まず、視覚的ワードベクトルの類似度を算出することで、複数の候補画像を選び出し、更に、該複数の候補画像から、第1画像とマッチングした特徴の数が最も多いM個の画像を取得する。画像検索効率が高い。
【0058】
幾つかの実施例において、該第1候補画像シーケンスにおける1フレーム目の画像の、該第1画像とマッチングした特徴の数は、最も多い。該第1候補画像シーケンスにおける最終フレームの画像の、該第1画像とマッチングした特徴の数は、最も少ない。
【0059】
幾つかの実施例において、該第1候補画像シーケンスにおける1フレーム目の画像の、該第1画像とマッチングした特徴の数は、最も少ない。該第1候補画像シーケンスにおける最終フレームの画像の、該第1画像とマッチングした特徴の数は、最も多い。
【0060】
幾つかの実施例において、視覚的測位装置はサーバであり、第1画像は、受信した、携帯電話などの携帯端末からの画像である。該第1画像は、携帯端末により測位されるべきシーンで収集された画像であってもよい。
【0061】
幾つかの実施例において、視覚的測位装置は、携帯電話、タブレットなどの画像を収集できる携帯端末であり、第1画像は、該視覚的測位装置により測位されるべきシーンで抽出された画像である。
【0062】
このような方式によれば、画像ライブラリから幾つかの画像をスクリーニングし、これらの画像から、対応する視覚的ワードベクトルと該第1画像の視覚的ワードベクトルとの類似度が最も高い複数の候補画像を選択することができる。画像検出の効率を大幅に向上させることができる。
【0063】
ステップ202において、ターゲットウィンドウに応じて、第1候補画像シーケンスにおける各フレームの画像の順番を調整し、第2候補画像シーケンスを得る。該ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレームの画像を含む連続した複数フレームの画像を含む。該ターゲットフレームの画像は、該画像ライブラリにおける、第2画像とマッチングした画像であり、該第2画像は、該カメラにより第1画像を収集する前に収集された画像である。
【0064】
幾つかの実施例において、ターゲットウィンドウに応じて、第1候補画像シーケンスにおける各フレームの画像の順番を調整し、第2候補画像シーケンスを得るための実現形態は、以下のとおりである。該第1候補画像シーケンスにおける各フレームの画像が該第1画像とのマッチング度の昇順に応じてソートされた場合、該第1候補画像シーケンスにおける、該ターゲットウィンドウに位置する画像を、該第1候補画像シーケンスの最終位置に調整する。該第1候補画像シーケンスにおける各フレームの画像が該第1画像とのマッチング度の降順に応じてソートされた場合、該第1候補画像シーケンスにおける、該ターゲットウィンドウに位置する画像を、該第1候補画像シーケンスの先頭位置に調整する。視覚的測位装置に画像ライブラリが記憶されてもよく、又は画像ライブラリが関連付けられてもよい。該画像ライブラリにおける画像は、測位されるべきシーンのポイントクラウドマップを構築するためのものである。
【0065】
幾つかの実施例において、該画像ライブラリは、1つ又は複数の画像シーケンスを含む。各画像シーケンスは、該測位されるべきシーンの1つの領域を収集することで得られた連続した複数フレームの画像を含む。各画像シーケンスは、1つのサブポイントクラウドマップの構築に用いられる。つまり、1つの領域のポイントクラウドマップの構築に用いられる。これらのサブポイントクラウドマップは、該ポイントクラウドマップを構成する。該画像ライブラリにおける画像は、連続したものであってもよいことが理解されるべきである。実際の適用において、測位されるべきシーンに対して領域分割を行い、各領域に対して多角度の画像シーケンスを収集する。各領域は、少なくとも正逆両方向の画像シーケンスを必要とする。
【0066】
該ターゲットウィンドウは、該ターゲットフレームの画像を含む1つの画像シーケンスであってもよく、該ターゲットフレームの画像を含む画像シーケンスの一部であってもよい。例えば、該ターゲットウィンドウは、61フレームの画像を含む。つまり、ターゲット画像及び該ターゲットフレームの画像の前後各30フレームの画像を含む。本願の実施例において、ターゲットウィンドウの大きさを限定しない。第1候補画像シーケンスにおける画像が順に画像1、画像2、画像3、画像4及び画像5であり、画像3及び画像5がキャリブレーション画像であるとすれば、該第2候補画像シーケンスにおける画像は、順に画像3、画像5、画像1、画像2及び画像4である。
図2における方法のプロセスは、連続したフレームの測位を実現させ、視覚的測位装置は、ステップ201、ステップ203、ステップ204及びステップ205を実行することで単一のフレームの測位を実現させることができることが理解されるべきである。
【0067】
203において、該第2候補画像シーケンスに基づいて、該第1画像を収集する時の該カメラのターゲット姿勢を決定する。
【0068】
ここのターゲット姿勢は、少なくとも、第1画像を収集する時のカメラの位置を含んでもよい。別の幾つかの実施例において、該ターゲット姿勢は、第1画像を収集する時のカメラの位置及び姿勢を含んでもよい。該カメラの姿勢は、カメラの向きを含むが、これに限定されない。
【0069】
幾つかの実施例において、該第2候補画像シーケンスに基づいて、該第1画像を収集する時の該カメラのターゲット姿勢を決定するための実現形態は以下のとおりである。第1画像シーケンス及び該第1画像に基づいて、該カメラの第1姿勢を決定する。該第1画像シーケンスは、該画像ライブラリにおける、第1参照フレーム画像に隣接する連続した複数フレームの画像を含み、該第1参照フレーム画像は、前記第2候補画像シーケンスに含まれる。該第1姿勢に基づいて該カメラの位置を測位することに成功したと判定した場合、該第1姿勢を該ターゲット姿勢として決定する。該第1姿勢に基づいて該カメラの位置を測位することに失敗したと判定した場合、第2画像シーケンス及び該第1画像に基づいて、該カメラの第2姿勢を決定する。該第2画像シーケンスは、該画像ライブラリにおける、第2参照フレーム画像に隣接する連続した複数フレームの画像を含み、該第2参照フレーム画像は、該第2候補画像シーケンスにおける、該第1参照フレーム画像の1フレーム後の画像又は1フレーム前の画像である。
【0070】
幾つかの実施例において、該第1画像シーケンスは、該第1参照フレーム画像の前のK1フレームの画像、該第1参照フレーム画像及び該第1参照フレーム画像の後のK1フレームの画像を含む。K1は、1より大きい整数であり、例えば、K1は、10である。
【0071】
幾つかの実施例において、第1画像シーケンス及び該第1画像に基づいて、該カメラの第1姿勢を決定することは、該第1画像シーケンスにおける各画像から抽出された特徴のうち、該第1画像から抽出された特徴とマッチングしたF個の特徴を決定することであって、Fは、0より大きい整数である、ことと、該F個の特徴、ポイントクラウドマップでの、該F個の特徴に対応する空間座標点及び該カメラの内部パラメータに基づいて、該第1姿勢を決定することであって、該ポイントクラウドマップは、測位されるべきシーンの電子マップであり、該測位されるべきシーンは、該カメラが該第1画像を収集する時に所在するシーンである、ことと、を含んでもよい。
【0072】
例えば、視覚的測位装置は、PnPアルゴリズムを用いて、該F個の特徴、ポイントクラウドマップでの、該F個の特徴に対応する空間座標点及び該カメラの内部パラメータに基づいて、該第1姿勢を決定することができる。該F個の特徴のうちの各特徴は、画像における1つの特徴点に対応する。各特徴は、1つの2D参照点(即ち、画像での、特徴点の二次元座標)に対応する。2D参照点と空間座標点(即ち、3D参照点)に対してマッチングを行うことで各2D参照点に対応する空間座標点を決定することができる。これにより、2D参照点と空間座標点との一対一関係を知ることができる。各特徴が1つの2D参照点に対応し、各2D参照点が1つの空間座標点とマッチングしたため、各特徴に対応する空間座標点を知ることができる。視覚的測位装置は、他の方式により、ポイントクラウドマップでの、各特徴に対応する空間座標点を決定することもでき、本願は、これを限定するものではない。ポイントクラウドマップでの、該F個の特徴に対応する空間座標点は、F個のワールド座標系における3D参照点(即ち、空間座標点)である。パースペクティブnポイント(Perspective-n-Point:PnP)は、3Dから2Dポイント対への運動を求める方法である。つまり、F個の3D空間点が与えられる場合、カメラの姿勢を求める。PnPの既知要件は、F個のワールド座標系における3D参照点(3D reference points)座標と、該F個の3D点に対応する、画像に投影された2D参照点(2D reference points)座標と、カメラの内部パラメータと、を含み、Fは、0より大きい整数である。PnP課題を解くことで、カメラ(カメラであってもよい)の姿勢を得ることができる。PnP課題を解くための方式は、例えば、P3P、直接的線形変換(DLT),EPnP(Efficient PnP)、UPnP及び非線形最適化方法などのような様々な方式を含む。従って、視覚的測位装置は、PnP課題を解くためのいずれか1つの方式により、F個の特徴、ポイントクラウドマップでの、該F個の特徴に対応する空間座標点及び前記カメラの内部パラメータに基づいて、カメラの第2姿勢を決定することができる。なお、特徴の誤マッチングが存在することを考慮すると、ここで、Ransacアルゴリズムを利用して反復を行い、各回の反復で内点の数を統計する。内点の数は所定の比例を満たすか又は反復を所定回数実行した後、反復を終了し、内点の数が最大になる解(R及びt)を返送する。ここで、Rは、回転行列であり、tは、並進ベクトルである。これらは、カメラの姿勢に含まれる2組のパラメータである。本願の実施例において、カメラは、カメラ及び他の画像又は映像収集装置に相当する。
【0073】
本願の実施例は、連続フレームによる測位方法を提供する。第1画像の前の、カメラの第1姿勢を測位した1フレームの画像を利用して、第1候補画像シーケンスにおける各画像の順番を調整する。タイムシーケンスでの、画像の連続性を十分に利用して、該第1画像とマッチングする可能性が最もかい画像を該第1候補画像シーケンスの先頭にソートすることができる。従って、該第1画像とマッチングする画像をより迅速に見付けることができる。
【0074】
幾つかの実施例において、視覚的測位装置は、ステップ203を実行した後、変換行列及び該カメラのターゲット姿勢に基づいて、該カメラの三次元位置を決定することもできる。ここで、該変換行列は、ポイントクラウドマップの角度及び位置を変換し、該ポイントクラウドマップの輪郭と屋内平面図をアライメントすることで得られたものである、具体的には、回転行列Rと並進ベクトルtを組み合わせて4*4の行列
【0075】
【0076】
を形成し、左から該行列
【0077】
【0078】
を変換行列
【0079】
【0080】
で乗算することで、新たな行列
【0081】
【0082】
を得る。Tを
【0083】
【0084】
で表す。
【0085】
【0086】
は、カメラの最終的な三次元位置である。該実現形態において、カメラの三次元位置を正確に決定することができ、実現しやすい。
【0087】
本願の実施例は、連続フレームによる測位方法を提供する。第1画像の前の、カメラの第1姿勢を測位した1フレームの画像を利用して、第1候補画像シーケンスにおける各画像の順番を調整する。タイムシーケンスでの、画像の連続性を十分に利用して、該第1画像とマッチングする可能性が最もかい画像を該第1候補画像シーケンスの先頭にソートすることができる。従って、該第1画像とマッチングする画像をより迅速に見付けることができ、更により迅速に測位することができる。
【0088】
一実施形態において、第1姿勢に基づいてカメラの位置を測位することに成功したと判定したことは、L対の特徴点の位置関係がいずれも該第1姿勢に合致すると判定することであって、各対の特徴点のうちの1つの特徴点は前記第1画像から抽出されたものであり、もう1つの特徴点は、該第1画像シーケンスにおける画像から抽出されたものであり、Lは、1より大きい整数である、ことを含んでもよい。例示的には、該第1姿勢に基づいて、Ransacアルゴリズムにより、PnPを反復的に解く。各回の反復において、内点の数を統計する。内点の数がターゲット閾値(例えば、12)より大きい場合、第1姿勢に基づいて該カメラの位置を測位することに成功したと判定する。内点の数が該ターゲット閾値(例えば、12)以下である場合、第1姿勢に基づいて該カメラの位置を測位することに失敗したと判定する。実施例の適用において、視覚的測位装置は、第2候補画像シーケンスにおける1フレームの画像により該カメラの位置を測位することに失敗した場合、該第2候補画像シーケンスにおける該フレームの画像の次のフレームの画像により測位を行う。
【0089】
該第2候補画像シーケンスにおける各フレームの画像により該カメラの位置を測位することに失敗した場合、測位失敗を返信する。本願の実施例で提供される方法は、連続フレームによる測位方法である。第1画像によりカメラの位置を測位することに成功した場合、引き続き、カメラにより収集された該第1画像の次のフレームの画像により測位を行う。
【0090】
実際の適用において、視覚的測位装置は、第2候補シーケンスにおける各フレームの画像の順番に応じて、各フレームの画像を順次利用してカメラの位置を測位し、該カメラの位置の測位に成功するまで継続することができる。該第2候補画像シーケンスにおける各フレームの画像により該カメラの位置を測位することに失敗した場合、測位失敗を返信する。例えば、視覚的測位装置は、まず、第2候補画像シーケンスにおける1フレーム目の画像により測位を行う。測位に成功した場合、今回の測位を終了する。測位に失敗した場合、該第2候補画像シーケンスにおける2フレーム目の画像により測位を行う。このように類推する。画像シーケンス及び第1画像シーケンスによりカメラのターゲット姿勢を測位する方法は、いずれも同じであってもよい。
【0091】
以下、画像ライブラリから第1候補画像シーケンスを如何に決定するかについて説明する。つまり、ステップ201の実現形態を説明する。
【0092】
一実現形態において、画像ライブラリから第1候補画像シーケンスを決定することは、語彙ツリーを利用して、該第1画像から抽出された特徴をターゲットワードベクトルに変換することと、該ターゲットワードベクトルと画像ライブラリにおける各画像に対応するワードベクトルとの類似性スコアを算出することと、該画像ライブラリに含まれる各画像シーケンスにおける、該第1画像との類似性スコアが最も高い上位10フレームの画像を取得し、予備選択画像シーケンスを得ることと、類似性スコアの降順に応じて、該予備選択画像シーケンスにおける各画像をソートした場合、上位20%の画像を取り出して中間選択画像シーケンスとし、10フレーム未満であると、上位10フレームを直接的に取り出すことと、該中間選択画像シーケンスにおける各フレームの画像と該第1画像に対して特徴マッチングを行うことと、該中間選択画像シーケンスにおける各フレームの画像の、該第1画像とマッチングした特徴の数の降順に応じてソートした後、最初のM個の画像を取り、第1候補画像シーケンスを得ることと、を含んでもよい。
【0093】
一実施形態において、画像ライブラリから第1候補画像シーケンスを決定することは、画像ライブラリにおける、対応する視覚的ワードベクトルと該第1画像に対応する視覚的ワードベクトルとの類似度(即ち、類似性スコア)が最も高い複数の候補画像を決定することと、該複数の候補画像と該第1画像に対して特徴マッチングをそれぞれ行い、各候補画像の、該第1画像とマッチングした特徴の数を得ることと、該複数の候補画像のうち、該第1画像とマッチングした特徴の数が最も多い該M個の画像を取得し、該第1候補画像シーケンスを得ることと、を含んでもよい。
【0094】
幾つかの実施例において、Mは5である。該画像ライブラリにおけるいずれか1つの画像は、1つの視覚的ワードベクトルに対応し、該画像ライブラリにおける画像は、該ターゲット機器が該第1画像を収集する時に所在する測位されるべきシーンの電子マップを構築するためのものである。
【0095】
幾つかの実施例において、該画像ライブラリにおける、対応する視覚的ワードベクトルと該第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することは、該画像ライブラリにおける、対応する視覚的ワードの少なくとも1つが該第1画像に対応する視覚的ワードと同じである画像を決定し、複数の予備選択画像を得ることと、該複数の予備選択画像のうち、対応する視覚的ワードベクトルと該第1画像に対応する視覚的ワードベクトルとの類似度が最も高い上位Qパーセントの画像を決定し、該複数の候補画像を得ることであって、Qは、0より大きい実数である、ことと、を含んでもよい。例えば、Qは10、15、20、30等であってもよい。該画像ライブラリにおけるいずれか1つの画像は、少なくとも1つの視覚的ワードに対応し、該第1画像は、少なくとも1つの視覚的ワードに対応する。
【0096】
幾つかの実施例において、視覚的測位装置は、下記方式で複数の候補画像を得る。語彙ツリーを利用して、該第1画像から抽出された特徴をターゲットワードベクトルに変換する。該ターゲットワードベクトルと該複数の予備選択画像のうちの各予備選択画像に対応する視覚的ワードベクトルとの類似度をそれぞれ算出する。該複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記ターゲットワードベクトルとの類似度が最も高い上位Qパーセントの画像を決定し、該複数の候補画像を得る。該語彙ツリーは、該測位されるべきシーンで収集された訓練画像から抽出された特徴をクラスタリングすることで得られたものである。該複数の予備選択画像のうちのいずれか1つの予備選択画像に対応する視覚的ワードベクトルは、該語彙ツリーを利用して、該いずれか1つの予備選択画像から抽出された特徴により得た視覚的ワードベクトルである。
【0097】
幾つかの実施例において、該複数の候補画像と該第1画像に対して特徴マッチングを行い、該第1画像とマッチングした各候補画像の特徴の数を得ることは、語彙ツリーに基づいて、該第1画像から抽出された第3特徴を参照リーフノードに分類することと、該第3特徴と第4特徴に対して特徴マッチングを行い、該第3特徴とマッチングした特徴を得ることと、を含んでもよい。該語彙ツリーは、該測位されるべきシーンで収集された画像から抽出された特徴をクラスタリングすることで得られたものである。該語彙ツリーの最終層のノードは、リーフノードであり、各リーフノードは、複数の特徴を含む。該第4特徴は、該参照リーフノードに含まれ、且つターゲット候補画像から抽出された特徴である。該ターゲット候補画像は、該第1候補画像シーケンスに含まれる。第1画像から抽出された1つの特徴が参照リーフノード(語彙ツリーにおけるいずれか1つのリーフノード)に対応すると、視覚的測位装置は、該特徴と1つの候補画像から抽出された特徴に対して特徴マッチングを行う場合、該特徴と、該候補画像から抽出された特徴のうち、該参照リーフノードに対応する特徴と、のみに対して特徴マッチングを行う必要があり、該特徴と他の特徴に対して特徴マッチングを行う必要がない。
【0098】
視覚的測位装置に、各視覚的ワード(即ち、リーフノード)に対応する画像インデックス及び特徴インデックスが事前記憶されてもよい。幾つかの実施例において、対応する画像インデックス及び特徴インデックスを各視覚的ワードに追加する。これらのインデックスは、特徴マッチングを速くするためのものである。例えば、画像ライブラリにおける100個の画像がいずれも1つの視覚的ワードに対応する場合、該視覚的ワードに該100個の画像のインデックス(即ち、画像インデックス)及び該100個の画像における、該視覚的ワードに対応するリーフノードに入る特徴のインデックス(即ち、特徴インデックス)を追加する。また例えば、第1画像から抽出された参照特徴点が参照ノードに入り、該参照特徴と複数の候補画像から抽出された特徴に対して特徴マッチングする場合、まず該複数の候補画像のうち、該参照ノードの画像インデックスにより指示されるターゲット候補画像を決定し、特徴インデックスに基づいて、該ターゲット候補画像の、該参照ノードに入る特徴を決定する。該参照特徴と該ターゲット候補画像の、該参照ノードに入る特徴に対してマッチングを行う。このような方式で特徴マッチングの演算量を低減させ、特徴マッチングの速度を大幅に向上させる。
【0099】
以下、語彙ツリーを利用して、第1画像から抽出された特徴を如何にターゲットワードベクトルに変換するかについて説明する。
【0100】
語彙ツリーを利用して、第1画像から抽出された特徴をターゲットワードベクトルに変換することは、第1画像から抽出された特徴、ターゲット視覚的ワードの重み及び該ターゲット視覚的ワードに対応するクラスタ中心に基づいて、該第1画像での、該ターゲット視覚的ワードに対応するターゲット重みを算出するであって、該ターゲットワードベクトルは、該第1画像での、語彙ツリーに対応する各視覚的ワードに対応する重みを含み、該ターゲット重みは、該ターゲット視覚的ワードの重みと正に相関する。該実現形態において、残余重みにより、ワードベクトルを算出する。同一の視覚的ワードに入る特徴の相違性を考慮し、区分性を増加させ、TF-IDF(term frequency-inverse document frequency)フレームワークにアクセスしやすく、画像検出及び特徴マッチングの速度を向上させることができる。
【0101】
幾つかの実施例において、下記式により、語彙ツリーを利用して、該第1画像から抽出された特徴をターゲットワードベクトルに変換する。
【0102】
【0103】
ただし、
【0104】
【0105】
は、i番目の視覚的ワード自体の重みであり、
【0106】
【0107】
は、特徴
【0108】
【0109】
からi番目の視覚的ワードのクラスタ中心
【0110】
【0111】
までのハミング距離であり、nは、該第1画像から抽出された特徴のうち、i番目の視覚的ワードに対応するノードに入る特徴の数を表す。
【0112】
【0113】
は、該第1画像での、i番目の視覚的ワードに対応する重みを表す。語彙ツリーにおける1つのリーフノードは、1つの視覚的ワードに対応し、該ターゲットワードベクトルは、該第1画像での、該語彙ツリーに対応する各視覚的ワードに対応する重みを含む。該語彙ツリーの1つのノードは、1つのクラスタ中心に対応する。例えば、語彙ツリーは、1000個のリーフノードを含み、各リーフノードは、1つの視覚的ワードに対応する。視覚的測位装置は、該第1画像のターゲットワードベクトルを得るために、該第1画像での、各視覚的ワードに対応する重みを算出する必要がある。幾つかの実施例において、視覚的測位装置は、該第1画像での、該語彙ツリーにおける各リーフノードに対応する視覚的ワードに対応する重みを算出し、該第1画像での、該各リーフノードに対応する視覚的ワードに対応する重みを組み合わせてベクトルを形成し、該ターゲットワードベクトルを得ることができる。同じ方式で、画像ライブラリにおける各画像に対応するワードベクトルを算出して、上記各予備選択画像に対応する視覚的ワードベクトルを得ることができる。i及びnはいずれも1より大きい整数である。特徴
【0114】
【0115】
は、該第1画像から抽出されたいずれか1つの特徴である。いずれか1つの特徴は、1つのバイナリストリングに対応する。つまり、
【0116】
【0117】
は、1つのバイナリストリングである。各視覚的ワード中心は、1つのバイナリストリングに対応する。つまり、
【0118】
【0119】
は、1つのバイナリストリングである。従って、特徴
【0120】
【0121】
からi番目の視覚的ワード中心
【0122】
【0123】
までのハミング距離を算出することができる。ハミング距離は、2つの(長さが同じである)ワード間で、対応する位置にある異なった文字数を表す。換言すれば、これは、1つの文字列をもう1つの文字列に変換する場合、置き換えられるべき文字の数を表す。例えば、1011101と1001001とのハミング距離は2である。幾つかの実施例において、語彙ツリーにおける各視覚的ワード自体の重みは、それに対応するノードに含まれる特徴の数と負に相関する。幾つかの実施例において、
【0124】
【0125】
が0でないと、対応する画像のインデックスをi番目の視覚的ワードに追加する。該インデックスは、画像の検出を速くするためのものである。
【0126】
幾つかの実施例において、第1画像抽出された特徴、ターゲット視覚的ワードの重み及び該ターゲット視覚的ワードに対応するクラスタ中心に基づいて、該第1画像での、該ターゲット視覚的ワードに対応するターゲット重みを算出することは、語彙ツリーを利用して、該第1画像から抽出された特徴を分類し、ターゲットリーフノードに分類された中間特徴を得ることと、該中間特徴、該ターゲット視覚的ワードの重み及び該ターゲット視覚的ワードに対応するクラスタ中心に基づいて、該第1画像での、該ターゲット視覚的ワードに対応するターゲット重みを算出することと、を含む。ここで、該ターゲットリーフノードは、該ターゲット視覚的ワードに対応する。式(1)から分かるように、該ターゲット重みは、該中間特徴に含まれる各特徴に対応する重みパラメータの和である。例えば、特徴
【0127】
【0128】
に対応する重みパラメータは、
【0129】
【0130】
である。該中間特徴は、第1特徴及び第2特徴を含んでもよい。該第1特徴と該クラスタ中心とのハミング距離は、第1距離であり、該第2特徴と該クラスタ中心とのハミング距離は、第2距離である。該第1距離と該第2距離が異なると、該第1特徴に対応する第1重みパラメータは、該第2特徴に対応する第2重みパラメータと異なる。
【0131】
該実現形態において、残余重みにより、ワードベクトルを算出する。同一の視覚的ワードに入る特徴の相違性を考慮し、区分性を増加させ、TF-IDF(term frequency-inverse document frequency)フレームワークにアクセスしやすく、画像検出及び特徴マッチングの速度を向上させることができる。
【0132】
以下、単一の画像に基づいて測位を行う具体的な例を説明する。
図3は、本願の実施例によるもう1つの視覚的測位方法を示す図である。該方法は、以下を含んでもよい。
【0133】
301において、端末が一枚のターゲット画像を取る。
【0134】
該端末は、携帯電話及び他の撮像機能及び/又は写真撮り機能を持つ機器であってもよい。
【0135】
302において、端末がORBアルゴリズムを利用してターゲット画像のORB特徴を抽出する。
【0136】
幾つかの実施例において、端末が他の特徴抽出方式で該ターゲット画像の特徴を抽出する。
【0137】
303において、端末がターゲット画像から抽出されたORB特徴及びカメラの内部パラメータをサーバに伝送する。
【0138】
ステップ302からステップ303は、端末がターゲット画像及びカメラの内部パラメータをサーバに伝送するステップで置き換えられてもよい。従って、サーバにより該画像のORB特徴を抽出することで、端末の演算量を低減させることができる。実際の適用において、ユーザは、端末におけるターゲットアプリケーションを起動し、該ターゲットアプリケーションによりカメラを利用してターゲット画像を収集し、該ターゲット画像をサーバに伝送することができる。カメラの内部パラメータは、該端末のカメラの内部パラメータであってもよい。
【0139】
304において、サーバは、ORB特徴を中間ワードベクトルに変換する。
【0140】
サーバは、ORB特徴を中間ワードベクトルに変換する方式は、前記実施例における語彙ツリーを利用して第1画像から抽出された特徴をターゲットワードベクトルに変換する方式と同じである。ここで、詳細な説明を省略する。
【0141】
305において、サーバが中間ワードベクトルに基づいて各画像シーケンスにおける、ターゲット画像と最も類似した上位H枚の画像を決定し、各画像シーケンスにおける、該ターゲット画像との類似性スコアが最も高い上位H枚の画像に対応する類似性スコアを得る。
【0142】
各画像シーケンスは、いずれも画像ライブラリに含まれる。各画像シーケンスは、サブポイントクラウドマップを構築するためのものである。これらのサブポイントクラウドマップは、測位されるべきシーンに対応するポイントクラウドマップを構成する。ステップ305において、画像ライブラリの各画像シーケンスにおける、ターゲット画像と最も類似した上位H枚の画像を検索する。Hは、1より大きい整数であり、例えば、Hは10である。各画像シーケンスは、該測位されるべきシーンの1つ又は複数の領域を収集すること得られたものであってもよい。サーバは、中間ワードベクトルに基づいて、各画像シーケンスにおける各画像とターゲット画像との類似性スコアを算出する。類似性スコアの式は、以下のとおりであってもよい。
【0143】
【0144】
ただし、
【0145】
【0146】
は、視覚的ワードベクトル
【0147】
【0148】
と視覚的ワードベクトル
【0149】
【0150】
との類似性スコアを表す。視覚的ワードベクトル
【0151】
【0152】
は、ターゲット画像から抽出されたORB特徴に基づいて、式(1)により算出されたワードベクトルであってもよい。視覚的ワードベクトル
【0153】
【0154】
は、画像ライブラリにおけるいずれか1つの画像から抽出されたORB特徴に基づいて、式(1)により算出されたワードベクトルであってもよい。語彙ツリーは、L個のリーフノードを含み、各リーフノードは、1つの視覚的ワードに対応し、
【0155】
【0156】
であり、ただし、
【0157】
【0158】
は、該ターゲット画像での、L番目の視覚的ワードに対応する重みを表し、Lは、1より大きい整数である。視覚的ワードベクトル
【0159】
【0160】
と視覚的ワードベクトル
【0161】
【0162】
の次元数が同じであることは理解されるべきである。サーバに画像ライブラリにおける各画像に対応する視覚的ワードベクトル(上記参照ワードベクトルに対応する)が記憶されてもよい。各画像に対応する視覚的ワードベクトルは、該画像から抽出された特徴に基づいて式(1)で算出されたものである。サーバは、画像ライブラリにおける各画像シーケンスに含まれる画像に対応する視覚的ワードベクトルを算出する必要がなく、ターゲット画像に対応する視覚的ワードベクトルのみを算出する必要があることは理解されるべきである。
【0163】
幾つかの実施例において、中間ワードベクトルと同一の視覚的ワードを有する画像のみを検索する。即ち、中間ワードベクトルにおける非ゼロ項に対応するリーフノードにおける画像インデックス宇のみに基づいて、類似度を比較する。つまり、画像ライブラリにおける、対応する視覚的ワードの少なくとも1つがターゲット画像に対応する視覚的ワードと同じである画像を決定し、複数の予備選択画像を得て、中間ワードベクトルに基づいて、該複数の予備選択画像のうち、該ターゲット画像と最も類似した上位Hフレームの画像を検索する。例えば、ターゲット画像での、i番目の視覚的ワードに対応する重み及び1つの予備選択画像での、対応する重みがいずれも0でないと、該ターゲット画像と該予備選択画像は、いずれも該i番目の視覚的ワードに対応する。
【0164】
306において、サーバが各画像シーケンスにおける、ターゲット画像との類似性スコアが最も高い上位H枚の画像に対応する類似性スコアの降順に応じて、該ターゲット画像との類似性スコアが高い複数枚の画像を取り出して候補画像とする。
【0165】
幾つかの実施例において、画像ライブラリは、F個の画像シーケンスを含む。(F×H)枚の画像のうち、該ターゲット画像との類似性スコアが最も高い上位20%の画像を取り出して候補画像とする。該(F×H)枚の画像は、各画像シーケンスにおける、該ターゲット画像との類似性スコアが最も高い上位H枚の画像を含む。該上位20%の画像の数が10枚未満であると、上位10枚の画像を直接的に取る。ステップ306において、候補画像の選別操作を行う。
【0166】
307において、サーバが候補画像における各画像とターゲット画像に対して特徴マッチングを行い、マッチングした特徴の数が最も多い上位G枚の画像を決定する。
【0167】
Gは、1より大きい整数であり、例えば、Gは、5である。幾つかの実施例において、まず、ターゲット画像の特徴を一個ずつL層の1つのノードに分類する。分類方式は、ルートノードから、現在の特徴との距離(ハミング距離)が最も短いクラスタ中心点(ツリーにおけるノード)を層ごとに選択する。各分類された特徴ついて、対応するノードに特徴インデックスが存在し且つその属する画像が候補画像の特徴のみに対してマッチングを行う。従って、特徴マッチングを速くすることができる。ステップ307は、候補画像における各画像とターゲット画像に対して特徴マッチングを行うプロセスである。従って、ステップ307は、2枚の画像に対する特徴マッチングプロセスと見做される。
【0168】
308において、サーバが参照画像シーケンスにおける連続した(2K+1)の画像を取得する。
【0169】
該参照画像シーケンスにおける画像は収集順に応じてソートされる。該参照画像シーケンスは、該上位G枚の画像のうちのいずれか一枚の画像、該(2K+1)枚の画像(局所的ポイントクラウドマップに対応する)は、該いずれか1枚の画像、該いずれか1枚の画像の前のK枚の画像及び該いずれか一枚の画像の後のK枚の画像を含む。ステップ308は、局所的ポイントクラウドマップの決定プロセスである。
【0170】
309において、サーバが(2K+1)枚の画像から抽出された特徴のうち、ターゲット画像から抽出された特徴とマッチングした複数の特徴を決定する。
【0171】
該参照画像シーケンスにおける連続した(2K+1)枚の画像は、1つの局所的ポイントクラウドマップに対応する。従って、ステップ309は、ターゲット画像と該局所的ポイントクラウドマップとのマッチングプロセス、即ち、
図3におけるフレーム-局所的ポイントクラウドマップのマッチングと見做される。幾つかの実施例において、まず、語彙ツリーを利用して、対応する類似性スコアから抽出された特徴を分類し、続いて、ターゲット画像から抽出された特徴に対して同様な処理を行い、同一のノードに入る両部分の特徴のマッチングのみを考慮する。従って、特徴マッチングを速くすることができる。ここで、該両部分のうちの一部分は、ターゲット画像であり、もう1つの部分は、該(2K+1)枚の画像である。
【0172】
310において、サーバが複数の特徴、ポイントクラウドマップでの、該複数の特徴に対応する空間座標点及びカメラの内部パラメータに基づいて、カメラの姿勢を決定する。
【0173】
ステップ310は、
図2におけるステップ203と類似し、ここで、詳細な説明を省略する。サーバがステップ310を実行し、カメラの姿勢の測位に失敗した場合、上位G枚の画像における別の1枚の画像を利用してステップ308からステップ310を再実行し、該カメラの姿勢の測位に成功するまで継続する。例えば、まず、上位G枚の画像における1枚目の画像に基づいて(2K+1)枚の画像を決定し、該(2K+1)枚の画像を利用してカメラの姿勢を決定する。カメラの姿勢の決定に失敗した場合、上位G枚の画像のうちの2枚目の画像に基づいて新たな(2K+1)枚の画像を決定し、新たな(2K+1)枚の画像を利用してカメラの姿勢を決定する。上記操作を繰り返して実行し、該カメラの姿勢の測位に成功するまで継続する。
【0174】
311、サーバがカメラの姿勢の決定に成功した場合、端末にカメラの位置情報を送信する。
【0175】
該位置情報は、該カメラの三次元位置及び該カメラの方向を含んでもよい。サーバがカメラの姿勢の決定に成功した場合、変換行列及び該カメラの姿勢に基づいて、該カメラの三次元位置を決定し、該位置情報を生成することができる。
【0176】
312において、サーバがカメラの姿勢の決定に失敗した場合、ステップ308を実行する。
【0177】
サーバはステップ308を実行するたびに、上位G枚の画像における1枚の画像に基づいて、連続した(2K+1)枚の画像を決定する必要もある。サーバがステップ308を実行するたびに決定した連続した(2K+1)枚の画像が異なることに留意されたい。
【0178】
313において、端末が電子マップにカメラの位置を表示する。
【0179】
幾つかの実施例において、端末は、電子マップにカメラの位置及び方向を表示する。カメラ(即ち、カメラ)が端末に搭載され、該カメラの位置は、該端末の位置である。ユーザは、該カメラの位置及び方向に基づいて、自己が所在する位置及び方向を正確かつ迅速に決定することができる。
【0180】
本願の実施例において、端末とサーバは、協働する。該端末は、画像収集及び特徴抽出を行う。該サーバは、測位を行い、測位結果(即ち、位置情報)を該端末に送信する。ユーザは、端末によりサーバに一枚の画像を送信すれば、自己が所在する位置を正確に決定することができる。
【0181】
図3は、単一の画像に基づいて測位を行う具体的な例を説明する。実際の適用において、サーバは、端末からの連続した複数フレームの画像又は連続した複数フレームの画像の特徴に基づいて測位を行うこともできる。以下、複数フレームの画像に基づいて測位を行う具体的な例を説明する。
図4は、本願の実施例によるもう1つの視覚的測位方法を示す。
図4に示すように、該方法は以下を含んでもよい。
【0182】
401において、サーバが端末により収集された連続した複数フレームの画像又は複数組の特徴を取得する。
【0183】
各組の特徴は、1フレームの画像から抽出された特徴であってもよい。該複数組の特徴は、順に、連続した複数フレームの画像から抽出された特徴である。該連続した複数フレームの画像は、収集順に応じてソートされる。
【0184】
402において、サーバが1フレーム目の画像又は該1フレーム目の画像から抽出された特徴に基づいて、カメラの姿勢を決定する。
【0185】
該1フレーム目の画像は、連続した複数フレームの画像のうちの1フレーム目の画像である。ステップ402は、
図3における単一の画像に基づいた測位方法に対応する。つまり、サーバは、
図3における方法で、該1フレーム目の画像によりカメラの姿勢を決定することができる。連続した複数フレームの画像のうちの1フレーム目の画像による測位は、単一の画像に基づいた測位と同じである。つまり、連続した複数フレームによる測位における1フレーム目による測位は、単一の画像に基づいた測位と同じである。測位に成功した場合、連続フレームによる測位へ進み、測位に失敗した場合、単一の画像に基づいた測位を引き続き実行する。
【0186】
403において、サーバが1フレーム前の画像に基づいてカメラの姿勢を決定することに成功した場合、ターゲット画像シーケンスにおけるNフレームの連続した画像を決定する。
【0187】
1フレーム前の画像に基づいてカメラの姿勢を決定することに成功したことは、サーバがステップ402を実行し、該カメラの姿勢の決定に成功したことを指す。該ターゲット画像シーケンスは、1フレーム前の画像に基づいてカメラの姿勢を決定することに成功した場合に用いられる特徴の属する画像シーケンスである。例えば、サーバは、ターゲット画像シーケンスにおける一枚の画像の前のK枚の画像、該画像及び該画像の後のK枚の画像と1フレーム前の画像に対して特徴マッチングを行い、マッチングした特徴点を利用してカメラの姿勢を測位するに成功した。サーバは、該ターゲット画像シーケンスにおける該画像の前の30枚の画像の、該画像及び該画像の後の30枚の画像を取得する。つまり、連続したNフレームの画像を取得する。
【0188】
404において、サーバが、ターゲット画像シーケンスにおけるNフレームの連続した画像に基づいて、カメラの姿勢を決定する。
【0189】
ステップ404は、
図3におけるステップ308からステップ310に対応する。
【0190】
405において、サーバは、1フレーム前の画像に基づいてカメラの姿勢を決定することに失敗した場合、複数枚の候補画像を決定する。
【0191】
該複数枚の候補画像は、サーバにより1フレーム前の画像に基づいて決定された候補画像である。つまり、1フレーム前の画像に基づいてカメラの姿勢を決定することに失敗した場合、サーバは、1フレーム前の候補画像を現在のフレームの画像の候補画像とすることができる。従って、画像検出の工程を減少させ、時間を節約することができる。
【0192】
406において、サーバが1フレーム前の候補画像に基づいて、カメラの姿勢を決定する。
【0193】
ステップ406は、
図3におけるステップ307からステップ310に対応する。
【0194】
サーバは、連続フレームによる測位に進んだ後、主に、1フレーム前による測位の成功経験を利用して、現在のフレームとマッチングした画像が前回測位に成功した画像の附近にある可能性があることを導き出す。従って、前回測位に成功した画像の附近に1つのウィンドウを開き、該ウィンドウに入ったこれらフレームの画像を優先的に考慮する。ウィンドウの大きさは、最大61フレームであり、前後に各30フレームがある。30フレーム未満である場合、カットオフする。測位に成功した場合、ウィンドウを伝達する。測位に失敗した場合、単一フレームの候補画像に基づいて測位を行う。本願の実施例において、連続フレームスライディングウィンドウメカニズムにより、タイムシーケンスでの連続した情報を利用して、演算量を効果的に減少させ、測位の成功率を向上させることができる。
【0195】
本願の実施例において、サーバが連続フレームによる測位を行う場合、1フレーム前による測位の成功経験を利用して、後続の測位操作を速くすることができる。
【0196】
図4は、連続フレームによる測位を説明する。以下、連続フレームによる測位の適用実施例を説明する。
図5は、本願の実施例による測位ナビゲーション方法を示す図である。
図5に示すように、該方法は、以下を含んでもよい。
【0197】
501において、端末がターゲットアプリケーションを起動する。
【0198】
該ターゲットアプリケーションは、屋内での正確な測位を実現させるために特別に開発されたアプリケーシである。実際の適用において、ユーザは、端末のディスプレイでの、ターゲットアプリケーションに対応するアイコンをクリックした後、該ターゲットアプリケーションを起動する。
【0199】
502において、端末がターゲットインタフェースにより、ユーザから入力された宛先アドレスを受信する。
【0200】
該ターゲットインタフェースは、端末が該ターゲットアプリケーションを起動した後、該端末のスクリーンに表示されたインタフェースである。つまり、ターゲットアプリケーションのインタフェースである。該宛先アドレスは、レストラン、カフェ、映画館などであってもよい。
【0201】
503において、端末が、現在収集された画像を表示し、収集された画像又は収集された画像から抽出された特徴をサーバに伝送する。
【0202】
端末は、ユーザから入力された宛先アドレスを受信した後、リアルタイム又はほぼリアルタイムにカメラ(即ち、該端末におけるカメラ)により周囲環境の画像を収集し、収集された画像を所定の間隔でサーバに伝送することができる。幾つかの実施例において、端末は、収集された画像の特徴を抽出し、抽出された特徴を所定の間隔でサーバに伝送する。
【0203】
504において、サーバが受信された画像又は特徴に基づいて、カメラの姿勢を決定する。
【0204】
ステップ504は、
図4におけるステップ401からステップ406に対応する。つまり、サーバは、
図4における測位方法で、受信された各フレームの画像又は各フレームの画像の特徴に基づいて、カメラの姿勢を決定する。サーバは、端末からの画像シーケンス又は特徴シーケンスに基づいて、順に、カメラの姿勢を決定し、更に該カメラの位置を決定することができることは理解されるべきである。つまり、サーバは、リアルタイム又はほぼリアルタイムにカメラの姿勢を決定することができる。
【0205】
ステップ505において、サーバが変換行列及びカメラの姿勢に基づいて、該カメラの三次元位置を決定する。
【0206】
ここで、該変換行列は、ポイントクラウドマップの角度及び位置を変換し、該ポイントクラウドマップの輪郭と屋内平面図をアライメントすることで得られたものである、具体的には、回転行列Rと並進ベクトルtを組み合わせて4*4の行列
【0207】
【0208】
を形成し、左から該行列
【0209】
【0210】
を変換行列
【0211】
【0212】
で乗算することで、新たな行列
【0213】
【0214】
を得る。Tを
【0215】
【0216】
で表す。
【0217】
【0218】
は、カメラの最終的な三次元位置である。
【0219】
506において、サーバが端末に位置情報を送信する。
【0220】
該位置情報は、該カメラの三次元情報、該カメラの方向及びマーキング情報を含んでもよい。該マーキング情報は、ユーザが現在の位置から宛先アドレスに到着するための経路を示す。幾つかの実施例において、マーキング情報は、ターゲット距離内の経路のみを示す。該ターゲット距離は、現在表示された画像における道路との最大距離である。該ターゲット距離は、10メートル、20メートル、50メートルなどであってもよい。サーバがカメラの姿勢の測位に成功した場合、変換行列及び該カメラの姿勢に基づいて、該カメラの三次元位置を決定することができる。サーバは、ステップ506を実行する前に、該カメラの位置、宛先アドレス及び電子マップに基づいて、該マーキング情報を生成することができる。
【0221】
507において、端末が収集された画像をリアルタイムに表示し、ユーザが到着すべき宛先アドレスを示すマークを表示する。
【0222】
例えば、ユーザがデパートにおいて迷っているか又はある店に行きたい場合、該ユーザは、携帯電話におけるターゲットアプリケーションを起動し、到着すべき宛先アドレスを入力する。該ユーザは、携帯電話をかざして前方に向けて画像を収集する。収集された画像を該携帯電話にリアルタイムで表示し、例えば矢印のような、該ユーザが到着すべき宛先アドレスを示すマークを表示する。
【0223】
本願の実施例において、サーバは、カメラの位置を正確に測位し、ユーザにナビゲーション情報を提供することができる。該ユーザは、案内に基づいて、宛先アドレスに迅速に到着することができる。
【0224】
前記実施例において、サーバがカメラの姿勢を決定する場合、ポイントクラウドマップを用いる必要がある。以下、ポイントクラウドマップ構築の具体的な例を説明する。
図6は、本願の実施例によるポイントクラウドマップ構築方法を示す図である。
図6に示すように、該方法は以下を含んでもよい。
【0225】
601において、サーバが複数のビデオシーケンスを取得する。
【0226】
ユーザは、測位されるべきシーンに対して領域分割を行い、各領域に対して多角度のビデオシーケンスを収集する。各領域は、少なくとも正逆両方向のビデオシーケンスを必要とする。該複数のビデオシーケンスは、測位されるべきシーンにおける領域を多角度から撮影することで得られたビデオシーケンスである。
【0227】
602において、サーバが複数のビデオシーケンスにおける各ビデオシーケンスに対してターゲットフレームレートで画像を抽出し、複数の画像シーケンスを得る。
【0228】
サーバは、ターゲットフレームレートで1つのビデオシーケンスを抽出することで、1つの画像シーケンスを得ることができる。該ターゲットフレームレートは、30フレーム/秒であってもよい。各画像シーケンスは、1つのサブポイントクラウドマップを構築するためのものである。
【0229】
603において、サーバは、各画像シーケンスを利用してポイントクラウドマップを構築する。
【0230】
サーバは、SFMアルゴリズムで、各画像シーケンスを利用してサブポイントクラウドマップを構築することができる。全てのサブポイントクラウドマップは、該ポイントクラウドマップを構成する。
【0231】
本願の実施例において、測位されるべきシーンを複数の領域に分割し、各領域に対してサブポイントクラウドマップを構築する。従って、測位されるべきシーンにおける1つの領域が変換された後、測位されるべきシーン全体のポイントクラウドマップを構築する必要がなく、該領域のビデオシーケンスを収集して該領域のサブポイントクラウドマップを構築すればよい。作業量を効果的に減少させることができる。
【0232】
サーバは、測位されるべきシーンのポイントクラウドマップを構築するための複数の画像シーケンスを得た後、該複数の画像シーケンスを画像ライブラリに記憶し、語彙ツリーを利用して該複数の画像シーケンスにおける各画像に対応する視覚的ワードベクトルを決定することができる。サーバは、該複数の画像シーケンスにおける各画像に対応する視覚的ワードベクトルを記憶することができる。幾つかの実施例において、語彙ツリーに含まれる各視覚的ワードに、対応する画像のインデックスを追加する。例えば、画像ライブラリにおける1つの画像での、語彙ツリーにおける1つの視覚的ワードに対応する重みが0ではないと、該視覚的ワードに該画像のインデックスを追加する。幾つかの実施例において、サーバは、語彙ツリーに含まれる各視覚的ワードに、対応する画像のインデックス及び特徴インデックスを追加する。サーバは、語彙ツリーを利用して、各画像の各特徴をリーフノードに分類することができる。各リーフノードは、1つの視覚的ワードに対応する。例えば、各画像シーケンスにおける画像から抽出された特徴のうち、100個の特徴が1つのリーフノードに入ると、該リーフノードに対応する視覚的ワードで該100個の特徴の特徴インデックスを調整する。該特徴インデックスは、該100個の特徴を示す。
【0233】
以下、画像シーケンス及び第1画像に基づいてカメラのターゲット姿勢を測位する具体的な例を提供する。それは、前記画像ライブラリに基づいて、前記第1画像シーケンスに基づいて構築されたサブポイントクラウドマップを決定することであって、サブポイントクラウドマップは、3D座標及び前記3D座標に対応する3D記述子を含む、ことと、前記第1画像の2D座標及び前記2D座標に対応する2D記述子を決定することと、前記2D座標及び前記2D記述子を前記3D座標及び3D記述とマッチングすることと、マッチングに成功した前記2D座標及び2D記述子と3D座標及び3D記述子との変換関係に基づいて、第1姿勢又は第2姿勢などのようなカメラ測位に利用可能な姿勢を決定することと、を含んでもよい。3D記述子は、3D座標の記述情報であってもよく、該3D座標に隣接する座標及び/又は隣接する座標の属性情報を含む。2D記述子は、2D座標の記述情報であってもよい。例えば、pnpアルゴリズムで、上記変換関係によりカメラの第1姿勢又は第2姿勢を決定する。
【0234】
図7は、本願の実施例による視覚的測位装置の構造を示す概略図である。
図7に示すように、該視覚的測位装置は、
画像ライブラリから、第1候補画像シーケンスを決定するように構成される選別ユニットであって、該画像ライブラリは、電子マップを構築するためのものであり、該第1候補画像シーケンスにおける各フレームの画像は、第1画像とのマッチング度の順番に応じてソートされ、該第1画像は、カメラにより収集された画像である、選別ユニット701を備え、
選別ユニット701は更に、ターゲットウィンドウに応じて、該第1候補画像シーケンスにおける各フレームの画像の順番を調整し、第2候補画像シーケンスを得るように構成され、該ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレームの画像を含む連続した複数フレームの画像であり、該ターゲットフレームの画像は、該画像ライブラリにおける、第2画像とマッチングした画像であり、該第2画像は、該カメラにより第1画像を収集する前に収集された画像であり、
該装置は、該第2候補画像シーケンスに基づいて、該第1画像を収集する時の該カメラのターゲット姿勢を決定するように構成される決定ユニット702を更に備える。
【0235】
幾つかの実施例の実現形態において、決定ユニット702は、第1画像シーケンス及び該第1画像に基づいて、該カメラの第1姿勢を決定するように構成され、該第1画像シーケンスは、該画像ライブラリにおける、第1参照フレーム画像に隣接する連続した複数フレームの画像を含み、該第1参照フレーム画像は、該第2候補画像シーケンスに含まれ、
決定ユニット702は、該第1姿勢に基づいて該カメラの位置を測位することに成功したと判定した場合、該第1姿勢を該ターゲット姿勢として決定するように構成される。
【0236】
幾つかの実施例の実現形態において、決定ユニット702は、該第1姿勢に基づいて該カメラの位置を測位することに失敗したと判定した場合、第2画像シーケンス及び該第1画像に基づいて、該カメラの第2姿勢を決定するように構成され、該第2画像シーケンスは、該画像ライブラリにおける、第2参照フレーム画像に隣接する連続した複数フレームの画像を含み、該第2参照フレーム画像は、該第2候補画像シーケンスにおける、該第1参照フレーム画像の1フレーム後の画像又は1フレーム前の画像であり、決定ユニット702は、該第2姿勢に基づいて該カメラの位置を測位することに成功したと判定した場合、該第2姿勢を該ターゲット姿勢として決定するように構成される。
【0237】
幾つかの実施例の実現形態において、決定ユニット702は、該第1画像シーケンスにおける各画像から抽出された特徴のうち、該第1画像から抽出された特徴とマッチングしたF個の特徴を決定するように構成され、Fは、0より大きい整数であり、
決定ユニット702は、該F個の特徴、ポイントクラウドマップでの、該F個の特徴に対応する空間座標点及び該カメラの内部パラメータに基づいて、該第1姿勢を決定するように構成され、該ポイントクラウドマップは、測位されるべきシーンの電子マップであり、該測位されるべきシーンは、該カメラが前記第1画像を収集する時に所在するシーンである。
【0238】
幾つかの実施例の実現形態において、選別ユニット701は、該第1候補画像シーケンスにおける各フレームの画像が該第1画像とのマッチング度の昇順に応じてソートされた場合、該第1候補画像シーケンスにおける、該ターゲットウィンドウに位置する画像を、該第1候補画像シーケンスの最終位置に調整し、
該第1候補画像シーケンスにおける各フレームの画像が該第1画像とのマッチング度の降順に応じてソートされた場合、該第1候補画像シーケンスにおける、該ターゲットウィンドウに位置する画像を、該第1候補画像シーケンスの先頭位置に調整するように構成される。
【0239】
幾つかの実施例の実現形態において、選別ユニット701は、該第1候補画像シーケンスにおける各フレームの画像が該第1画像とのマッチング度の昇順に応じてソートされた場合、該第1候補画像シーケンスにおける、該ターゲットウィンドウに位置する画像を、該第1候補画像シーケンスの最終位置に調整し、該第1候補画像シーケンスにおける各フレームの画像が該第1画像とのマッチング度の降順に応じてソートされた場合、該第1候補画像シーケンスにおける、該ターゲットウィンドウに位置する画像を、該第1候補画像シーケンスの先頭位置に調整するように構成される。
【0240】
幾つかの実施例の実現形態において、選別ユニット701は、該画像ライブラリにおける、対応する視覚的ワードの少なくとも1つが該第1画像に対応する視覚的ワードと同じである画像を決定し、複数の予備選択画像を得るように構成され、該画像ライブラリにおけるいずれか1つの画像は、少なくとも1つ視覚的ワードに対応し、該第1画像は、少なくとも1つの視覚的ワードに対応し、選別ユニット701は、該複数の予備選択画像のうち、対応する視覚的ワードベクトルと該第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定するように構成される。
【0241】
幾つかの実施例の実現形態において、選別ユニット701は、該複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い上位Qパーセントの画像を決定し、該複数の候補画像を得るように構成され、Qは、0より大きい実数である。
【0242】
幾つかの実施例の実現形態において、選別ユニット701は、語彙ツリーを利用して、該第1画像から抽出された特徴をターゲットワードベクトルに変換するように構成され、該語彙ツリーは、該測位されるべきシーンで収集された訓練画像から抽出された特徴をクラスタリングすることで得られたものであり、
選別ユニット701は、該ターゲットワードベクトルと該複数の予備選択画像のうちの各予備選択画像に対応する視覚的ワードベクトルとの類似度をそれぞれ算出するように構成され、該複数の予備選択画像のうちのいずれか1つの予備選択画像に対応する視覚的ワードベクトルは、該語彙ツリーを利用して、該いずれか1つの予備選択画像から抽出された特徴により得た視覚的ワードベクトルであり、
選別ユニット701は、該複数の予備選択画像のうち、対応する視覚的ワードベクトルと該ターゲットワードベクトルとの類似度が最も高い複数の候補画像を決定するように構成される。
【0243】
幾つかの実施例の実現形態において、該語彙ツリーにおける各リーフノードは、1つの視覚的ワードに対応し、該語彙ツリーにおける最終層のノードは、リーフノードであり、
選別ユニット701は、該第1画像での、該語彙ツリーにおける各リーフノードに対応する視覚的ワードに対応する重みを算出し、該第1画像での、該各リーフノードに対応する視覚的ワードに対応する重みを組み合わせて1つのベクトルを形成し、該ターゲットワードベクトルを得るように構成される。
【0244】
幾つかの実施例の実現形態において、該語彙ツリーの各ノードは、1つのクラスタ中心に対応し、
選別ユニット701は、該語彙ツリーを利用して、該第1画像から抽出された特徴を分類し、ターゲットリーフノードに分類された中間特徴を得るように構成され、該ターゲットリーフノードは、該語彙ツリーにおけるいずれか1つのリーフノードであり、ターゲットリーフノードは、ターゲット視覚的ワードに対応し、
選別ユニット701は、該中間特徴、該ターゲット視覚的ワードの重み及び該ターゲット視覚的ワードに対応するクラスタ中心に基づいて、該第1画像での、該ターゲット視覚的ワードに対応するターゲット重みを算出するように構成され、該ターゲット重みは、該ターゲット視覚的ワードの重みと正に相関し、該ターゲット視覚的ワードの重みは、該語彙ツリーを生成する時に該ターゲット視覚的ワードに対応する特徴の数に基づいて決定される。
【0245】
幾つかの実施例の実現形態において、選別ユニット701は、語彙ツリーに基づいて、該第1画像から抽出された第3特徴をリーフノードに分類するように構成され、該語彙ツリーは、該測位されるべきシーンで抽出された画像から抽出された特徴をクラスタリングすることで得られたものであり、該語彙ツリーの最終層のノードは、リーフノードであり、各リーフノードは、複数の特徴を含み、
選別ユニット701は、各該リーフノードにおける該第3特徴と第4特徴に対して特徴マッチングを行い、各該リーフノードにおける、該第3特徴とマッチングした第4特徴を得るように構成され、該第4特徴は、ターゲット候補画像から抽出された特徴であり、該ターゲット候補画像は、該第1候補画像シーケンスに含まれるいずれか1つの画像であり、
選別ユニット701は、各該リーフノードにおける、該第3特徴とマッチングした第4特徴に基づいて、該ターゲット候補画像の、該第1画像とマッチングした特徴の数を得るように構成される。
【0246】
幾つかの実施例の実現形態において、決定ユニット702は更に、変換行列及び該第1姿勢に基づいて、該カメラの三次元位置を決定するように構成され、該変換行列は、該ポイントクラウドマップの角度及び位置を変換し、該ポイントクラウドマップの輪郭と屋内平面図をアライメントすることで得られたものである。
【0247】
幾つかの実施例の実現形態において、決定ユニット702は、L対の特徴点の位置関係がいずれも該第1姿勢に合致すると判定するように構成され、各対の特徴点のうちの1つの特徴点は該第1画像から抽出されたものであり、もう1つの特徴点は、該第1画像シーケンスにおける画像から抽出されたものであり、Lは、1より大きい整数である。
【0248】
幾つかの実施例の実現形態において、該装置は、
複数の画像シーケンスを取得するように構成される第1取得ユニット703であって、各画像シーケンスは、測位されるべきシーンにおける1つ又は複数の領域を収集することで得られたものである、第1取得ユニット703と、
該複数の画像シーケンスに基づいて、該ポイントクラウドマップを構築するように構成される地図構築ユニット704であって、該複数の画像シーケンスのうちのいずれか1つの画像シーケンスは、1つ又は複数の領域のサブポイントクラウドマップを構築するためのものであり、該ポイントクラウドマップは、該第1電子マップ及び該第2電子マップを含む、地図構築ユニット704と、を更に備える。
【0249】
幾つかの実施例の実現形態において、該装置は、
該測位されるべきシーンに対して撮影を行うことで得られた複数枚の訓練画像を取得するように構成される第2取得ユニット705と、
該複数枚の訓練画像に対して特徴抽出を行い、訓練特徴集合を得るように構成される特徴抽出ユニット706と、
該訓練特徴集合における特徴に対して複数回のクラスタリングを行い、該語彙ツリーを得るように構成されるクラスタリングユニット707と、を更に備える。第2取得ユニット705と第1取得ユニット703は、同一のユニットであってもよく、異なるユニットであってもよい。
【0250】
幾つかの実施例の実現形態において、該視覚的測位装置は、サーバであり、該装置は、ターゲット機器からの該第1画像を受信するように構成される受信ユニット708であって、該ターゲット機器に該カメラが搭載された、受信ユニット708を更に備える。
【0251】
幾つかの実施例の実現形態において、該装置は、
該カメラの位置情報を該ターゲット機器に送信するように構成される送信ユニット709を更に備える。
【0252】
図8は、本願の実施例による端末の構造を示す概略図である。
図8に示すように、該端末は、
ターゲット画像を収集するように構成されるカメラ801と、
サーバにターゲット情報を送信するように構成される送信ユニット802であって、該ターゲット情報は、該ターゲット画像又は該ターゲット画像から抽出された特徴シーケンス、及び該カメラの内部パラメータを含む、送信ユニット802と、
位置情報を受信するように構成される受信ユニット803であって、該位置情報は、該カメラの位置及び方向を示すためのものであり、該位置情報は、該サーバにより第2候補画像シーケンスに基づいて決定された、該ターゲット画像を収集する時の該カメラの位置情報であり、該第2候補画像シーケンスは、該サーバによりターゲットウィンドウに基づいて第1候補画像シーケンスにおける各フレームの画像の順番を調整することで得られたものであり、該ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレーム画像を含む連続した複数フレームの画像であり、該画像ライブラリは、電子マップを構築するためのものであり、該ターゲットフレーム画像は、該画像ライブラリにおける、第2画像とマッチングした画像であり、該第2画像は、該カメラにより第1画像を収集する前に収集された画像であり、該第1候補画像シーケンスにおける各フレームの画像は、該第1画像とのマッチング度の順番に応じてソートされる、受信ユニット803と、
電子マップを表示するように構成される表示ユニット804であって、該電子マップに該カメラの位置及び方向が含まれる、表示ユニット804と、を備える。
【0253】
幾つかの実施例において、該端末は、該ターゲット画像における特徴を抽出するように構成される特徴抽出ユニット805を更に備える。
【0254】
該位置情報は、該カメラの三次元位置及び該カメラの方向を含んでもよい。カメラ801は具体的には、ステップ301で言及した方法及び均等物による置き換え可能な方法を実行するように構成されてもよい。特徴抽出ユニット805は具体的には、ステップ302で言及した方法及び均等物による置き換え可能な方法を実行するように構成されてもよい。送信ユニット802は具体的には、ステップ303で言及した方法及び均等物による置き換え可能な方法を実行するように構成されてもよい。表示ユニット804は具体的には、ステップ313及び507で言及した方法及び均等物による置き換え可能な方法を実行するように構成されてもよい。
図8における端末は、
図3及び
図5における端末により実行される動作を実現させることができることは、理解されるべきである。
【0255】
上記視覚的測位装置及び端末における各ユニットの分割は、ただロジック機能の分割であり、実際に実現する時、その全て又は一部は、1つの物理的エンティティに集積されてもよく、物理的に別個のものであってもよい。例えば、上記各ユニットは、単独で配置された処理ユニットであってもよく、同一のチップに集積されて実現してもよい。なお、プログラムコードの形態でコントローラの記憶素子に記憶されてもよく、プロセッサの処理素子により上記各ユニットの機能を呼び出して実行する。なお、各ユニットは、集積されてもよく、独立で実現してもよい。ここの処理は、信号処理能力を持つ集積回路チップであってもよい。実現プロセスにおいて、上記方法の各工程又は上記各ユニットは、実現する過程において、プロセッサ素子におけるハードウェアの集積論理回路又はソフトウェアの形の指令により完成することができる。該処理素子は、例えば、中央演算装置(central processing unit:CPUと略称)のような汎用プロセッサであってもよく、1つ又は複数の特定用途向け集積回路(Application Specific Intergrated Circuit:ASICと略称)、1つ又は複数のマイクロプロセッサ(digital signal processor:DSPと略称)又は1つ又は複数のフィールドプログラマブルゲートアレイ(Field-Programmable Gate Array:FPGAと略称)などのような前記方法を実行するように構成される1つ又は複数の集積回路であってもよい。
【0256】
図9は、本願の実施例によるもう1つの端末の構造を示す概略図である。
図9に示すように、本実施例における端末は、1つ又は複数のプロセッサ901、メモリ902、送受信機903、カメラ904及び入力出力装置905を備えてもよい。上記プロセッサ901、送受信機903、メモリ902、カメラ904及び入力出力装置905は、バス906を介して接続される。メモリ902は、メモリを記憶するように構成され、プロセッサ901は、メモリ902に記憶された命令を実行するように構成される。送受信機903は、データを送受信するように構成される。カメラ904は、画像を収集するように構成される。プロセッサ901は、送受信機903、カメラ904及び入力出力装置を制御し、
図3及び
図5における端末により実行される操作を実現させるように構成される。
【0257】
本願の実施例において、前記プロセッサ901は、中央演算装置(Central Processing Unit:CPU)であってもよく、該プロセッサは、他の汎用プロセッサ、デジタル信号プロセッサ (Digital Signal Processor:DSP)、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、フィールドプログラマブルゲートアレイ(Field-Programmable Gate Array:FPGA)又は他のプログラマブルロジックデバイス、ディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネント等であってもよい。汎用プロセッサはマイクロプロセッサであってもよいし、該プロセッサはマイクロプロセッサであってもよく、又は、該プロセッサは、如何なる従来のプロセッサ等であってもよい。
【0258】
該メモリ902は、読み出し専用メモリ及びランダムアクセスメモリを含んでもよく、それは、プロセッサ901に命令及びデータを供給する。メモリ902の一は、不揮発性ランダムアクセスメモリを含んでもよい。例えば、メモリ902は、装置タイプ情報を記憶することもできる。
【0259】
具体的な実現において、本願の実施例で記述されるプロセッサ901、メモリ902、送受信機903、カメラ904及び入力出力装置905は、前記いずれか1つの実施例に記載の端末の実現形態を実行することができ、ここで、詳細な説明を省略する。具体的には、送受信機903は送信ユニット802及び受信ユニット803の機能を実現させることができる。プロセッサ901は、特徴抽出ユニット805の機能を実現させることができる。入力出力装置905は、表示ユニット804の機能を実現させるように構成され、入力出力装置905は、ディスプレイであってもよい。
【0260】
図10は、本願の実施例によるサーバの構造を示す概略図である。該サーバ1100は、構成又は特性により大きく相違することがある。1つ又は1つ以上の中央演算装置(central processing units:CPU)1022(例えば、1つ又は1つ以上のプロセッサ)及びメモリ1032、1つ又は1つ以上の、アプリケーションプログラム1042又はデータ1044を記憶するための記憶媒体1030(例えば、1つ又は1つ以上の大容量記憶装置)を備えてもよい。ここで、メモリ1032及び記憶媒体1030は、一時的記憶媒体又は永続的な記憶媒体であってもよい。記憶媒体1030に記憶されたプログラムは、1つ又は1つ以上のモジュール(図示されず)を含んでもよい。各モジュールは、サーバにおける一連の命令操作を含んでもよい。更に、中央演算装置1022は、記憶媒体1030と通信し、サーバ1100で記憶媒体1030に記憶された一連の命令操作を実行するように構成されてもよい。
【0261】
サーバ1100は、1つ又は1つ以上の電源1026、1つ又は1つ以上の有線又は無線ネットワークインタフェース1050、1つ又は1つ以上の入力出力インタフェース1058及び/又は1つ又は1つ以上の、例えばWindows(登録商標) ServerTM、Mac OS XTM、Unix(登録商標)、Linux(登録商標)、FreeBSDTMなどのようなオペレーティングシステム1041を更に備えてもよい。
【0262】
上記実施例において、サーバにより実行される工程は、該
図10に示したサーバ構造によるものであってもよい。具体的には、入力出力インタフェース1058は、受信ユニット708及び送信ユニット709の機能を実現させることができる。中央演算装置1022は、選別ユニット701、決定ユニット702、第1取得ユニット703、地図構築ユニット704、第2取得ユニット705、特徴抽出ユニット706、クラスタリングユニット707の機能を実現させることができる。
【0263】
本願の実施例において、コンピュータ可読記憶媒体を提供する。上記コンピュータ可読記憶媒体にコンピュータプログラムが記憶されており、上記コンピュータプログラムがプロセッサにより実行される時、画像ライブラリから、第1候補画像シーケンスを決定することであって、前記画像ライブラリは、電子マップを構築するためのものであり、前記第1候補画像シーケンスにおける各フレームの画像は、第1画像とのマッチング度の順番に応じてソートされ、前記第1画像は、カメラにより収集された画像である、ことと、ターゲットウィンドウに応じて、前記第1候補画像シーケンスにおける各フレームの画像の順番を調整し、第2候補画像シーケンスを得ることであって、前記ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレームの画像を含む連続した複数フレームの画像であり、前記ターゲットフレームの画像は、前記画像ライブラリにおける、第2画像とマッチングした画像であり、前記第2画像は、前記カメラにより第1画像を収集する前に収集された画像である、ことと、前記第2候補画像シーケンスに基づいて、前記第1画像を収集する時の前記カメラのターゲット姿勢を決定することと、を実現させる。
【0264】
本願の実施例において、もう1つのコンピュータ可読記憶媒体を提供する。上記コンピュータ可読記憶媒体にコンピュータプログラムが記憶されており、上記コンピュータプログラムがプロセッサにより実行される時、カメラによりターゲット画像を収集することと、サーバにターゲット情報を送信することであって、前記ターゲット情報は、前記ターゲット画像又は前記ターゲット画像から抽出された特徴シーケンス、及び前記カメラの内部パラメータを含む、ことと、位置情報を受信することであって、前記位置情報は、前記カメラの位置及び方向を示すためのものであり、前記位置情報は、前記サーバにより第2候補画像シーケンスに基づいて決定された、前記ターゲット画像を収集する時の前記カメラの位置情報であり、前記第2候補画像シーケンスは、前記サーバによりターゲットウィンドウに基づいて第1候補画像シーケンスにおける各フレームの画像の順番を調整することで得られたものであり、前記ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレーム画像を含む連続した複数フレームの画像であり、前記画像ライブラリは、電子マップを構築するためのものであり、前記ターゲットフレーム画像は、前記画像ライブラリにおける、第2画像とマッチングした画像であり、前記第2画像は、前記カメラにより第1画像を収集する前に収集された画像であり、前記第1候補画像シーケンスにおける各フレームの画像は、前記第1画像とのマッチング度の順番に応じてソートされる、ことと、電子マップを表示することであって、前記電子マップに前記カメラの位置及び方向が含まれる、ことと、を実現させる。以上は本願の具体的な実施形態に過ぎず、本願の保護の範囲はそれらに制限されるものではなく、当業者が本願に開示された技術範囲内で容易に想到しうる変更や置換はいずれも、本願の保護範囲内に含まれるべきである。従って、本願の保護範囲は特許請求の範囲の保護範囲を基準とするべきである。
【手続補正書】
【提出日】2022-01-18
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
電子機器が実行する視覚的測位方法であって、
画像ライブラリから、第1候補画像シーケンスを決定することであって、前記画像ライブラリは、電子マップを構築するためのものであり、前記第1候補画像シーケンスにおける各フレームの画像は、第1画像とのマッチング度の順番に応じてソートされ、前記第1画像は、カメラにより収集された画像である、ことと、
ターゲットウィンドウに応じて、前記第1候補画像シーケンスにおける各フレームの画像の順番を調整し、第2候補画像シーケンスを得ることであって、前記ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレームの画像を含む連続した複数フレームの画像であり、前記ターゲットフレームの画像は、前記画像ライブラリにおける、第2画像とマッチングした画像であり、前記第2画像は、前記カメラにより第1画像を収集する前に収集された画像である、ことと、
前記第2候補画像シーケンスに基づいて、前記第1画像を収集する時の前記カメラのターゲット姿勢を決定することと、を含む、前記視覚的測位方法。
【請求項2】
前記第2候補画像シーケンスに基づいて、前記第1画像を収集する時の前記カメラのターゲット姿勢を決定することは、
第1画像シーケンス及び前記第1画像に基づいて、前記カメラの第1姿勢を決定することであって、前記第1画像シーケンスは、前記画像ライブラリにおける、第1参照フレーム画像に隣接する連続した複数フレームの画像を含み、前記第1参照フレーム画像は、前記第2候補画像シーケンスに含まれる、ことと、
前記第1姿勢に基づいて前記カメラの位置を測位することに成功したと判定した場合、前記第1姿勢を前記ターゲット姿勢として決定することと、を含むことを特徴とする
請求項1に記載の視覚的測位方法。
【請求項3】
前記第1画像シーケンス及び前記第1画像に基づいて、前記カメラの第1姿勢を決定した後、前記視覚的測位方法は、
前記第1姿勢に基づいて前記カメラの位置を測位することに失敗したと判定した場合、第2画像シーケンス及び前記第1画像に基づいて、前記カメラの第2姿勢を決定することであって、前記第2画像シーケンスは、前記画像ライブラリにおける、第2参照フレーム画像に隣接する連続した複数フレームの画像を含み、前記第2参照フレーム画像は、前記第2候補画像シーケンスにおける、前記第1参照フレーム画像の1フレーム後の画像又は1フレーム前の画像である、ことと、
前記第2姿勢に基づいて前記カメラの位置を測位することに成功したと判定した場合、前記第2姿勢を前記ターゲット姿勢として決定することと、を更に含むことを特徴とする
請求項2に記載の視覚的測位方法。
【請求項4】
前記第1画像シーケンス及び前記第1画像に基づいて、前記カメラの第1姿勢を決定することは、
前記第1画像シーケンスにおける各画像から抽出された特徴のうち、前記第1画像から抽出された特徴とマッチングしたF個の特徴を決定することであって、Fは、0より大きい整数である、ことと、
前記F個の特徴、ポイントクラウドマップでの、前記F個の特徴に対応する空間座標点及び前記カメラの内部パラメータに基づいて、前記第1姿勢を決定することであって、前記ポイントクラウドマップは、測位されるべきシーンの電子マップであり、前記測位されるべきシーンは、前記カメラが前記第1画像を収集する時に所在するシーンである、ことと、を含むことを特徴とする
請求項2又は3に記載の視覚的測位方法。
【請求項5】
前記ターゲットウィンドウに基づいて、第1候補画像シーケンスにおける各フレームの画像の順番を調整し、第2候補画像シーケンスを得ることは、
前記第1候補画像シーケンスにおける各フレームの画像が前記第1画像とのマッチング度の昇順に応じてソートされた場合、前記第1候補画像シーケンスにおける、前記ターゲットウィンドウに位置する画像を、前記第1候補画像シーケンスの最終位置に調整することと、
前記第1候補画像シーケンスにおける各フレームの画像が前記第1画像とのマッチング度の降順に応じてソートされた場合、前記第1候補画像シーケンスにおける、前記ターゲットウィンドウに位置する画像を、前記第1候補画像シーケンスの先頭位置に調整することと、を含
み、
前記画像ライブラリから、第1候補画像シーケンスを決定することは、
前記画像ライブラリにおける、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することであって、前記画像ライブラリにおけるいずれか1つの画像は、1つの視覚的ワードベクトルに対応し、前記画像ライブラリにおける画像は、前記ターゲット機器が前記第1画像を収集する時に所在する測位されるべきシーンの電子マップを構築するためのものである、ことと、
前記複数の候補画像をそれぞれ前記第1画像と特徴マッチングし、各候補画像の、前記第1画像とマッチングした特徴の数を得ることと、
前記複数の候補画像のうち、前記第1画像とマッチングした特徴の数が最も多いM個の画像を取得し、前記第1候補画像シーケンスを得ることと、を含むことを特徴とする
請求項1から4のうちいずれか一項に記載の視覚的測位方法。
【請求項6】
前記画像ライブラリにおける、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することは、
前記画像ライブラリにおける、対応する視覚的ワードの少なくとも1つが前記第1画像に対応する視覚的ワードと同じである画像を決定し、複数の予備選択画像を得ることであって、前記画像ライブラリにおけるいずれか1つの画像は、少なくとも1つ視覚的ワードに対応し、前記第1画像は、少なくとも1つの視覚的ワードに対応する、ことと、
前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することと、を含
み、
前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することは、
前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い上位Qパーセントの画像を決定し、前記複数の候補画像を得ることであって、Qは、0より大きい実数である、ことを含むことを特徴とする
請求項
5に記載の視覚的測位方法。
【請求項7】
前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することは、
語彙ツリーを利用して、前記第1画像から抽出された特徴をターゲットワードベクトルに変換することであって、前記語彙ツリーは、前記測位されるべきシーンで収集された訓練画像から抽出された特徴をクラスタリングすることで得られたものである、ことと、
前記ターゲットワードベクトルと前記複数の予備選択画像のうちの各予備選択画像に対応する視覚的ワードベクトルとの類似度をそれぞれ算出することであって、前記複数の予備選択画像のうちのいずれか1つの予備選択画像に対応する視覚的ワードベクトルは、前記語彙ツリーを利用して、前記いずれか1つの予備選択画像から抽出された特徴により得た視覚的ワードベクトルである、ことと、
前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記ターゲットワードベクトルとの類似度が最も高い複数の候補画像を決定することと、を含むことを特徴とする
請求項
6に記載の視覚的測位方法。
【請求項8】
前記語彙ツリーにおける各リーフノードは、1つの視覚的ワードに対応し、前記語彙ツリーにおける最終層のノードは、リーフノードであり、語彙ツリーを利用して、前記第1画像から抽出された特徴をターゲットワードベクトルに変換することは、
前記第1画像での、前記語彙ツリーにおける各リーフノードに対応する視覚的ワードに対応する重みを算出することと、
前記第1画像での、前記各リーフノードに対応する視覚的ワードに対応する重みを組み合わせて1つのベクトルを形成し、前記ターゲットワードベクトルを得ることと、を含
み、
前記語彙ツリーの各ノードは、1つのクラスタ中心に対応し、前記第1画像での、前記語彙ツリーに対応する各視覚的ワードに対応する重みを算出することは、
前記語彙ツリーを利用して、前記第1画像から抽出された特徴を分類し、ターゲットリーフノードに分類された中間特徴を得ることであって、前記ターゲットリーフノードは、前記語彙ツリーにおけるいずれか1つのリーフノードであり、ターゲットリーフノードは、ターゲット視覚的ワードに対応する、ことと、
前記中間特徴、前記ターゲット視覚的ワードの重み及び前記ターゲット視覚的ワードに対応するクラスタ中心に基づいて、前記第1画像での、前記ターゲット視覚的ワードに対応するターゲット重みを算出することであって、前記ターゲット重みは、前記ターゲット視覚的ワードの重みと正に相関し、前記ターゲット視覚的ワードの重みは、前記語彙ツリーを生成する時に前記ターゲット視覚的ワードに対応する特徴の数に基づいて決定される、ことと、を含み、
前記中間特徴は、少なくとも1つのサブ特徴を含み、前記ターゲット重みは、前記中間特徴に含まれる各サブ特徴に対応する重みパラメータの和であり、前記サブ特徴に対応する重みパラメータは、特徴距離と負に相関し、前記特徴距離は、前記サブ特徴と対応するクラスタ中心とのハミング距離であることを特徴とする
請求項
7に記載の視覚的測位方法。
【請求項9】
前記複数の候補画像と前記第1画像に対して特徴マッチングを行い、前記第1画像とマッチングした各候補画像の特徴の数を得ることは、
語彙ツリーに基づいて、前記第1画像から抽出された第3特徴をリーフノードに分類することであって、前記語彙ツリーは、前記測位されるべきシーンで抽出された画像から抽出された特徴をクラスタリングすることで得られたものであり、前記語彙ツリーの最終層のノードは、リーフノードであり、各リーフノードは、複数の特徴を含む、ことと、
各前記リーフノードにおける前記第3特徴と第4特徴に対して特徴マッチングを行い、各前記リーフノードにおける、前記第3特徴とマッチングした第4特徴を得ることであって、前記第4特徴は、ターゲット候補画像から抽出された特徴であり、前記ターゲット候補画像は、前記第1候補画像シーケンスに含まれるいずれか1つの画像である、ことと、
各前記リーフノードにおける、前記第3特徴とマッチングした第4特徴に基づいて、前記ターゲット候補画像の、前記第1画像とマッチングした特徴の数を得ることと、を含むことを特徴とする
請求項
5から8のうちいずれか一項に記載の視覚的測位方法。
【請求項10】
前記F個の特徴、ポイントクラウドマップでの、前記F個の特徴に対応する空間座標点及び前記カメラの内部パラメータに基づいて、前記第1姿勢を決定した後、前記視覚的測位方法は、
変換行列及び前記第1姿勢に基づいて、前記カメラの三次元位置を決定することであって、前記変換行列は、前記ポイントクラウドマップの角度及び位置を変換し、前記ポイントクラウドマップの輪郭と屋内平面図をアライメントすることで得られたものである、ことを更に含むことを特徴とする
請求項4から
9のうちいずれか一項に記載の視覚的測位方法。
【請求項11】
前記第1姿勢に基づいて前記カメラの位置を測位することに成功したと判定したことは、L対の特徴点の位置関係がいずれも前記第1姿勢に合致すると判定することであって、各対の特徴点のうちの1つの特徴点は前記第1画像から抽出されたものであり、もう1つの特徴点は、前記第1画像シーケンスにおける画像から抽出されたものであり、Lは、1より大きい整数である、ことを含むことを特徴とする
請求項
2から
10のうちいずれか一項に記載の視覚的測位方法。
【請求項12】
前記第1画像シーケンス及び前記第1画像に基づいて前記カメラの第1姿勢を決定する前に、前記視覚的測位方法は、
複数の画像シーケンスを取得することであって、各画像シーケンスは、測位されるべきシーンにおける1つ又は複数の領域を収集することで得られたものである、ことと、
前記複数の画像シーケンスに基づいて、前記ポイントクラウドマップを構築することであって、前記複数の画像シーケンスのうちのいずれか1つの画像シーケンスは、1つ又は複数の領域のサブポイントクラウドマップを構築するためのものであり、前記ポイントクラウドマップは、前記第1電子マップ及び前記第2電子マップを含む、ことと、を更に含むことを特徴とする
請求項2から
11のうちいずれか一項に記載の視覚的測位方法。
【請求項13】
前記語彙ツリーを利用して、前記第1画像から抽出された特徴をターゲットワードベクトルに変換する前に、前記視覚的測位方法は、
前記測位されるべきシーンに対して撮影を行うことで得られた複数枚の訓練画像を取得することと、
前記複数枚の訓練画像に対して特徴抽出を行い、訓練特徴集合を得ることと、
前記訓練特徴集合における特徴に対して複数回のクラスタリングを行い、前記語彙ツリーを得ることと、を更に含むことを特徴とする
請求項
7から12のうちいずれか一項に記載の視覚的測位方法。
【請求項14】
前記視覚的測位方法がサーバに適用され、前記画像ライブラリから第1候補画像シーケンスを決定する前に、前記視覚的測位方法は、
ターゲット機器からの前記第1画像を受信することであって、前記ターゲット機器に前記カメラが搭載された、ことを更に含
み、
前記第1姿勢に基づいて前記カメラの位置を測位することに成功したと判定した後、前記視覚的測位方法は、
前記カメラの位置情報を前記ターゲット機器に送信することを更に含むことを特徴とする
請求項
1から13のうちいずれか一項に記載の視覚的測位方法。
【請求項15】
視覚的測位方法であって、
カメラによりターゲット画像を収集することと、
サーバにターゲット情報を送信することであって、前記ターゲット情報は、前記ターゲット画像又は前記ターゲット画像から抽出された特徴シーケンス、及び前記カメラの内部パラメータを含む、ことと、
位置情報を受信することであって、前記位置情報は、前記カメラの位置及び方向を示すためのものであり、前記位置情報は、前記サーバにより第2候補画像シーケンスに基づいて決定された、前記ターゲット画像を収集する時の前記カメラの位置情報であり、前記第2候補画像シーケンスは、前記サーバによりターゲットウィンドウに基づいて第1候補画像シーケンスにおける各フレームの画像の順番を調整することで得られたものであり、前記ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレーム画像を含む連続した複数フレームの画像であり、前記画像ライブラリは、電子マップを構築するためのものであり、前記ターゲットフレーム画像は、前記画像ライブラリにおける、第2画像とマッチングした画像であり、前記第2画像は、前記カメラにより第1画像を収集する前に収集された画像であり、前記第1候補画像シーケンスにおける各フレームの画像は、前記第1画像とのマッチング度の順番に応じてソートされる、ことと、
電子マップを表示することであって、前記電子マップに前記カメラの位置及び方向が含まれる、ことと、を含む、前記視覚的測位方法。
【請求項16】
視覚的測位装置であって、
画像ライブラリから、第1候補画像シーケンスを決定するように構成される選別ユニットであって、前記画像ライブラリは、電子マップを構築するためのものであり、前記第1候補画像シーケンスにおける各フレームの画像は、第1画像とのマッチング度の順番に応じてソートされ、前記第1画像は、カメラにより収集された画像である、選別ユニットを備え、
前記選別ユニットは更に、ターゲットウィンドウに応じて、前記第1候補画像シーケンスにおける各フレームの画像の順番を調整し、第2候補画像シーケンスを得るように構成され、前記ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレームの画像を含む連続した複数フレームの画像であり、前記ターゲットフレームの画像は、前記画像ライブラリにおける、第2画像とマッチングした画像であり、前記第2画像は、前記カメラにより第1画像を収集する前に収集された画像であり、
前記視覚的測位装置は、前記第2候補画像シーケンスに基づいて、前記第1画像を収集する時の前記カメラのターゲット姿勢を決定するように構成される決定ユニットを更に備える、前記視覚的測位装置。
【請求項17】
端末装置であって、
ターゲット画像を収集するように構成されるカメラと、
サーバにターゲット情報を送信するように構成される送信ユニットであって、前記ターゲット情報は、前記ターゲット画像又は前記ターゲット画像から抽出された特徴シーケンス、及び前記カメラの内部パラメータを含む、送信ユニットと、
位置情報を受信するように構成される受信ユニットであって、前記位置情報は、前記カメラの位置及び方向を示すためのものであり、前記位置情報は、前記サーバにより第2候補画像シーケンスに基づいて決定された、前記ターゲット画像を収集する時の前記カメラの位置情報であり、前記第2候補画像シーケンスは、前記サーバによりターゲットウィンドウに基づいて第1候補画像シーケンスにおける各フレームの画像の順番を調整することで得られたものであり、前記ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレーム画像を含む連続した複数フレームの画像であり、前記画像ライブラリは、電子マップを構築するためのものであり、前記ターゲットフレーム画像は、前記画像ライブラリにおける、第2画像とマッチングした画像であり、前記第2画像は、前記カメラにより第1画像を収集する前に収集された画像であり、前記第1候補画像シーケンスにおける各フレームの画像は、前記第1画像とのマッチング度の順番に応じてソートされる、受信ユニットと、
電子マップを表示するように構成される表示ユニットであって、前記電子マップに前記カメラの位置及び方向が含まれる、表示ユニットと、を備える、前記端末装置。
【請求項18】
電子機器であって、
プログラムを記憶するためのメモリと、
請求項1から14のうちいずれか一項に記載の視覚的測位方法又は請求項15に記載の視覚的測位方法を実行するために、前記メモリに記憶された前記プログラムを実行するように構成されるプロセッサと、を備え
る、前記電子機器。
【請求項19】
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体にコンピュータプログラムが記憶されており、該コンピュータプログラムは、プログラム命令を含み、前記プログラム命令がプロセッサにより実行される時、前記プロセッサに、請求項1から
14のうちいずれか一項に記載の視覚的測位方法
又は請求項15に記載の視覚的測位方法を実行させる、前記コンピュータ可読記憶媒体。
【請求項20】
コンピュータ
に、請求項1から
14のうちいずれか一項に記載の視覚的測位方法
又は請求項15に記載の視覚的測位方法を実行させる、
コンピュータプログラム製品。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0041
【補正方法】変更
【補正の内容】
【0041】
第8態様によれば、本願の実施例は、コンピュータプログラム製品を提供する。前記コンピュータプログラムは、プログラム命令を含み、前記プログラムがプロセッサにより実行される時、前記プロセッサに前記いずれか1つの実施例で提供される視覚的測位方法を実行させる。
例えば、本願は以下の項目を提供する。
(項目1)
視覚的測位方法であって、
画像ライブラリから、第1候補画像シーケンスを決定することであって、前記画像ライブラリは、電子マップを構築するためのものであり、前記第1候補画像シーケンスにおける各フレームの画像は、第1画像とのマッチング度の順番に応じてソートされ、前記第1画像は、カメラにより収集された画像である、ことと、
ターゲットウィンドウに応じて、前記第1候補画像シーケンスにおける各フレームの画像の順番を調整し、第2候補画像シーケンスを得ることであって、前記ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレームの画像を含む連続した複数フレームの画像であり、前記ターゲットフレームの画像は、前記画像ライブラリにおける、第2画像とマッチングした画像であり、前記第2画像は、前記カメラにより第1画像を収集する前に収集された画像である、ことと、
前記第2候補画像シーケンスに基づいて、前記第1画像を収集する時の前記カメラのターゲット姿勢を決定することと、を含む、前記視覚的測位方法。
(項目2)
前記第2候補画像シーケンスに基づいて、前記第1画像を収集する時の前記カメラのターゲット姿勢を決定することは、
第1画像シーケンス及び前記第1画像に基づいて、前記カメラの第1姿勢を決定することであって、前記第1画像シーケンスは、前記画像ライブラリにおける、第1参照フレーム画像に隣接する連続した複数フレームの画像を含み、前記第1参照フレーム画像は、前記第2候補画像シーケンスに含まれる、ことと、
前記第1姿勢に基づいて前記カメラの位置を測位することに成功したと判定した場合、前記第1姿勢を前記ターゲット姿勢として決定することと、を含むことを特徴とする
項目1に記載の視覚的測位方法。
(項目3)
前記第1画像シーケンス及び前記第1画像に基づいて、前記カメラの第1姿勢を決定した後、前記視覚的測位方法は、
前記第1姿勢に基づいて前記カメラの位置を測位することに失敗したと判定した場合、第2画像シーケンス及び前記第1画像に基づいて、前記カメラの第2姿勢を決定することであって、前記第2画像シーケンスは、前記画像ライブラリにおける、第2参照フレーム画像に隣接する連続した複数フレームの画像を含み、前記第2参照フレーム画像は、前記第2候補画像シーケンスにおける、前記第1参照フレーム画像の1フレーム後の画像又は1フレーム前の画像である、ことと、
前記第2姿勢に基づいて前記カメラの位置を測位することに成功したと判定した場合、前記第2姿勢を前記ターゲット姿勢として決定することと、を更に含むことを特徴とする
項目2に記載の視覚的測位方法。
(項目4)
前記第1画像シーケンス及び前記第1画像に基づいて、前記カメラの第1姿勢を決定することは、
前記第1画像シーケンスにおける各画像から抽出された特徴のうち、前記第1画像から抽出された特徴とマッチングしたF個の特徴を決定することであって、Fは、0より大きい整数である、ことと、
前記F個の特徴、ポイントクラウドマップでの、前記F個の特徴に対応する空間座標点及び前記カメラの内部パラメータに基づいて、前記第1姿勢を決定することであって、前記ポイントクラウドマップは、測位されるべきシーンの電子マップであり、前記測位されるべきシーンは、前記カメラが前記第1画像を収集する時に所在するシーンである、ことと、を含むことを特徴とする
項目2又は3に記載の視覚的測位方法。
(項目5)
前記ターゲットウィンドウに基づいて、第1候補画像シーケンスにおける各フレームの画像の順番を調整し、第2候補画像シーケンスを得ることは、
前記第1候補画像シーケンスにおける各フレームの画像が前記第1画像とのマッチング度の昇順に応じてソートされた場合、前記第1候補画像シーケンスにおける、前記ターゲットウィンドウに位置する画像を、前記第1候補画像シーケンスの最終位置に調整することと、
前記第1候補画像シーケンスにおける各フレームの画像が前記第1画像とのマッチング度の降順に応じてソートされた場合、前記第1候補画像シーケンスにおける、前記ターゲットウィンドウに位置する画像を、前記第1候補画像シーケンスの先頭位置に調整することと、を含むことを特徴とする
項目1から4のうちいずれか一項に記載の視覚的測位方法。
(項目6)
前記画像ライブラリから、第1候補画像シーケンスを決定することは、
前記画像ライブラリにおける、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することであって、前記画像ライブラリにおけるいずれか1つの画像は、1つの視覚的ワードベクトルに対応し、前記画像ライブラリにおける画像は、前記ターゲット機器が前記第1画像を収集する時に所在する測位されるべきシーンの電子マップを構築するためのものである、ことと、
前記複数の候補画像をそれぞれ前記第1画像と特徴マッチングし、各候補画像の、前記第1画像とマッチングした特徴の数を得ることと、
前記複数の候補画像のうち、前記第1画像とマッチングした特徴の数が最も多いM個の画像を取得し、前記第1候補画像シーケンスを得ることと、を含むことを特徴とする
項目5に記載の視覚的測位方法。
(項目7)
前記画像ライブラリにおける、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することは、
前記画像ライブラリにおける、対応する視覚的ワードの少なくとも1つが前記第1画像に対応する視覚的ワードと同じである画像を決定し、複数の予備選択画像を得ることであって、前記画像ライブラリにおけるいずれか1つの画像は、少なくとも1つ視覚的ワードに対応し、前記第1画像は、少なくとも1つの視覚的ワードに対応する、ことと、
前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することと、を含むことを特徴とする
項目6に記載の視覚的測位方法。
(項目8)
前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することは、
前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い上位Qパーセントの画像を決定し、前記複数の候補画像を得ることであって、Qは、0より大きい実数である、ことを含むことを特徴とする
項目7に記載の視覚的測位方法。
(項目9)
前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定することは、
語彙ツリーを利用して、前記第1画像から抽出された特徴をターゲットワードベクトルに変換することであって、前記語彙ツリーは、前記測位されるべきシーンで収集された訓練画像から抽出された特徴をクラスタリングすることで得られたものである、ことと、
前記ターゲットワードベクトルと前記複数の予備選択画像のうちの各予備選択画像に対応する視覚的ワードベクトルとの類似度をそれぞれ算出することであって、前記複数の予備選択画像のうちのいずれか1つの予備選択画像に対応する視覚的ワードベクトルは、前記語彙ツリーを利用して、前記いずれか1つの予備選択画像から抽出された特徴により得た視覚的ワードベクトルである、ことと、
前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記ターゲットワードベクトルとの類似度が最も高い複数の候補画像を決定することと、を含むことを特徴とする
項目7又は8に記載の視覚的測位方法。
(項目10)
前記語彙ツリーにおける各リーフノードは、1つの視覚的ワードに対応し、前記語彙ツリーにおける最終層のノードは、リーフノードであり、語彙ツリーを利用して、前記第1画像から抽出された特徴をターゲットワードベクトルに変換することは、
前記第1画像での、前記語彙ツリーにおける各リーフノードに対応する視覚的ワードに対応する重みを算出することと、
前記第1画像での、前記各リーフノードに対応する視覚的ワードに対応する重みを組み合わせて1つのベクトルを形成し、前記ターゲットワードベクトルを得ることと、を含むことを特徴とする
項目9に記載の視覚的測位方法。
(項目11)
前記語彙ツリーの各ノードは、1つのクラスタ中心に対応し、前記第1画像での、前記語彙ツリーに対応する各視覚的ワードに対応する重みを算出することは、
前記語彙ツリーを利用して、前記第1画像から抽出された特徴を分類し、ターゲットリーフノードに分類された中間特徴を得ることであって、前記ターゲットリーフノードは、前記語彙ツリーにおけるいずれか1つのリーフノードであり、ターゲットリーフノードは、ターゲット視覚的ワードに対応する、ことと、
前記中間特徴、前記ターゲット視覚的ワードの重み及び前記ターゲット視覚的ワードに対応するクラスタ中心に基づいて、前記第1画像での、前記ターゲット視覚的ワードに対応するターゲット重みを算出することであって、前記ターゲット重みは、前記ターゲット視覚的ワードの重みと正に相関し、前記ターゲット視覚的ワードの重みは、前記語彙ツリーを生成する時に前記ターゲット視覚的ワードに対応する特徴の数に基づいて決定される、ことと、を含むことを特徴とする
項目10に記載の視覚的測位方法。
(項目12)
前記中間特徴は、少なくとも1つのサブ特徴を含み、前記ターゲット重みは、前記中間特徴に含まれる各サブ特徴に対応する重みパラメータの和であり、前記サブ特徴に対応する重みパラメータは、特徴距離と負に相関し、前記特徴距離は、前記サブ特徴と対応するクラスタ中心とのハミング距離であることを特徴とする
項目11に記載の視覚的測位方法。
(項目13)
前記複数の候補画像と前記第1画像に対して特徴マッチングを行い、前記第1画像とマッチングした各候補画像の特徴の数を得ることは、
語彙ツリーに基づいて、前記第1画像から抽出された第3特徴をリーフノードに分類することであって、前記語彙ツリーは、前記測位されるべきシーンで抽出された画像から抽出された特徴をクラスタリングすることで得られたものであり、前記語彙ツリーの最終層のノードは、リーフノードであり、各リーフノードは、複数の特徴を含む、ことと、
各前記リーフノードにおける前記第3特徴と第4特徴に対して特徴マッチングを行い、各前記リーフノードにおける、前記第3特徴とマッチングした第4特徴を得ることであって、前記第4特徴は、ターゲット候補画像から抽出された特徴であり、前記ターゲット候補画像は、前記第1候補画像シーケンスに含まれるいずれか1つの画像である、ことと、
各前記リーフノードにおける、前記第3特徴とマッチングした第4特徴に基づいて、前記ターゲット候補画像の、前記第1画像とマッチングした特徴の数を得ることと、を含むことを特徴とする
項目6から12のうちいずれか一項に記載の視覚的測位方法。
(項目14)
前記F個の特徴、ポイントクラウドマップでの、前記F個の特徴に対応する空間座標点及び前記カメラの内部パラメータに基づいて、前記第1姿勢を決定した後、前記視覚的測位方法は、
変換行列及び前記第1姿勢に基づいて、前記カメラの三次元位置を決定することであって、前記変換行列は、前記ポイントクラウドマップの角度及び位置を変換し、前記ポイントクラウドマップの輪郭と屋内平面図をアライメントすることで得られたものである、ことを更に含むことを特徴とする
項目4から13のうちいずれか一項に記載の視覚的測位方法。
(項目15)
前記第1姿勢に基づいて前記カメラの位置を測位することに成功したと判定したことは、L対の特徴点の位置関係がいずれも前記第1姿勢に合致すると判定することであって、各対の特徴点のうちの1つの特徴点は前記第1画像から抽出されたものであり、もう1つの特徴点は、前記第1画像シーケンスにおける画像から抽出されたものであり、Lは、1より大きい整数である、ことを含むことを特徴とする
項目1から14のうちいずれか一項に記載の視覚的測位方法。
(項目16)
前記第1画像シーケンス及び前記第1画像に基づいて前記カメラの第1姿勢を決定する前に、前記視覚的測位方法は、
複数の画像シーケンスを取得することであって、各画像シーケンスは、測位されるべきシーンにおける1つ又は複数の領域を収集することで得られたものである、ことと、
前記複数の画像シーケンスに基づいて、前記ポイントクラウドマップを構築することであって、前記複数の画像シーケンスのうちのいずれか1つの画像シーケンスは、1つ又は複数の領域のサブポイントクラウドマップを構築するためのものであり、前記ポイントクラウドマップは、前記第1電子マップ及び前記第2電子マップを含む、ことと、を更に含むことを特徴とする
項目2から15のうちいずれか一項に記載の視覚的測位方法。
(項目17)
前記語彙ツリーを利用して、前記第1画像から抽出された特徴をターゲットワードベクトルに変換する前に、前記視覚的測位方法は、
前記測位されるべきシーンに対して撮影を行うことで得られた複数枚の訓練画像を取得することと、
前記複数枚の訓練画像に対して特徴抽出を行い、訓練特徴集合を得ることと、
前記訓練特徴集合における特徴に対して複数回のクラスタリングを行い、前記語彙ツリーを得ることと、を更に含むことを特徴とする
項目9から16のうちいずれか一項に記載の視覚的測位方法。
(項目18)
前記視覚的測位方法がサーバに適用され、前記画像ライブラリから第1候補画像シーケンスを決定する前に、前記視覚的測位方法は、
ターゲット機器からの前記第1画像を受信することであって、前記ターゲット機器に前記カメラが搭載された、ことを更に含むことを特徴とする
項目1から17のうちいずれか一項に記載の視覚的測位方法。
(項目19)
前記第1姿勢に基づいて前記カメラの位置を測位することに成功したと判定した後、前記視覚的測位方法は、
前記カメラの位置情報を前記ターゲット機器に送信することを更に含むことを特徴とする
項目18に記載の視覚的測位方法。
(項目20)
前記視覚的測位方法は、前記カメラを搭載した電子機器に適用されることを特徴とする
項目1から17のうちいずれか一項に記載の視覚的測位方法。
(項目21)
視覚的測位方法であって、
カメラによりターゲット画像を収集することと、
サーバにターゲット情報を送信することであって、前記ターゲット情報は、前記ターゲット画像又は前記ターゲット画像から抽出された特徴シーケンス、及び前記カメラの内部パラメータを含む、ことと、
位置情報を受信することであって、前記位置情報は、前記カメラの位置及び方向を示すためのものであり、前記位置情報は、前記サーバにより第2候補画像シーケンスに基づいて決定された、前記ターゲット画像を収集する時の前記カメラの位置情報であり、前記第2候補画像シーケンスは、前記サーバによりターゲットウィンドウに基づいて第1候補画像シーケンスにおける各フレームの画像の順番を調整することで得られたものであり、前記ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレーム画像を含む連続した複数フレームの画像であり、前記画像ライブラリは、電子マップを構築するためのものであり、前記ターゲットフレーム画像は、前記画像ライブラリにおける、第2画像とマッチングした画像であり、前記第2画像は、前記カメラにより第1画像を収集する前に収集された画像であり、前記第1候補画像シーケンスにおける各フレームの画像は、前記第1画像とのマッチング度の順番に応じてソートされる、ことと、
電子マップを表示することであって、前記電子マップに前記カメラの位置及び方向が含まれる、ことと、を含む、前記視覚的測位方法。
(項目22)
視覚的測位装置であって、
画像ライブラリから、第1候補画像シーケンスを決定するように構成される選別ユニットであって、前記画像ライブラリは、電子マップを構築するためのものであり、前記第1候補画像シーケンスにおける各フレームの画像は、第1画像とのマッチング度の順番に応じてソートされ、前記第1画像は、カメラにより収集された画像である、選別ユニットを備え、
前記選別ユニットは更に、ターゲットウィンドウに応じて、前記第1候補画像シーケンスにおける各フレームの画像の順番を調整し、第2候補画像シーケンスを得るように構成され、前記ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレームの画像を含む連続した複数フレームの画像であり、前記ターゲットフレームの画像は、前記画像ライブラリにおける、第2画像とマッチングした画像であり、前記第2画像は、前記カメラにより第1画像を収集する前に収集された画像であり、
前記視覚的測位装置は、前記第2候補画像シーケンスに基づいて、前記第1画像を収集する時の前記カメラのターゲット姿勢を決定するように構成される決定ユニットを更に備える、前記視覚的測位装置。
(項目23)
前記決定ユニットは更に、第1画像シーケンス及び前記第1画像に基づいて、前記カメラの第1姿勢を決定するように構成され、前記第1画像シーケンスは、前記画像ライブラリにおける、第1参照フレーム画像に隣接する連続した複数フレームの画像を含み、前記第1参照フレーム画像は、前記第2候補画像シーケンスに含まれ、
前記決定ユニットは更に、前記第1姿勢に基づいて前記カメラの位置を測位することに成功したと判定した場合、前記第1姿勢を前記ターゲット姿勢として決定するように構成されることを特徴とする
項目22に記載の視覚的測位装置。
(項目24)
前記決定ユニットは更に、前記第1姿勢に基づいて前記カメラの位置を測位することに失敗したと判定した場合、第2画像シーケンス及び前記第1画像に基づいて、前記カメラの第2姿勢を決定するように構成され、前記第2画像シーケンスは、前記画像ライブラリにおける、第2参照フレーム画像に隣接する連続した複数フレームの画像を含み、前記第2参照フレーム画像は、前記第2候補画像シーケンスにおける、前記第1参照フレーム画像の1フレーム後の画像又は1フレーム前の画像であり、前記決定ユニットは更に、前記第2姿勢に基づいて前記カメラの位置を測位することに成功したと判定した場合、前記第2姿勢を前記ターゲット姿勢として決定するように構成されることを特徴とする
項目23に記載の視覚的測位装置。
(項目25)
前記決定ユニットは、前記第1画像シーケンスにおける各画像から抽出された特徴のうち、前記第1画像から抽出された特徴とマッチングしたF個の特徴を決定するように構成され、Fは、0より大きい整数であり、前記決定ユニットは、前記F個の特徴、ポイントクラウドマップでの、前記F個の特徴に対応する空間座標点及び前記カメラの内部パラメータに基づいて、前記第1姿勢を決定するように構成され、前記ポイントクラウドマップは、測位されるべきシーンの電子マップであり、前記測位されるべきシーンは、前記カメラが前記第1画像を収集する時に所在するシーンであることを特徴とする
項目23又は24に記載の視覚的測位装置。
(項目26)
前記選別ユニットは、前記第1候補画像シーケンスにおける各フレームの画像が前記第1画像とのマッチング度の昇順に応じてソートされた場合、前記第1候補画像シーケンスにおける、前記ターゲットウィンドウに位置する画像を、前記第1候補画像シーケンスの最終位置に調整し、前記第1候補画像シーケンスにおける各フレームの画像が前記第1画像とのマッチング度の降順に応じてソートされた場合、前記第1候補画像シーケンスにおける、前記ターゲットウィンドウに位置する画像を、前記第1候補画像シーケンスの先頭位置に調整するように構成されることを特徴とする
項目22から25のうちいずれか一項に記載の視覚的測位装置。
(項目27)
前記選別ユニットは、前記第1候補画像シーケンスにおける各フレームの画像が前記第1画像とのマッチング度の昇順に応じてソートされた場合、前記第1候補画像シーケンスにおける、前記ターゲットウィンドウに位置する画像を、前記第1候補画像シーケンスの最終位置に調整し、
前記第1候補画像シーケンスにおける各フレームの画像が前記第1画像とのマッチング度の降順に応じてソートされた場合、前記第1候補画像シーケンスにおける、前記ターゲットウィンドウに位置する画像を、前記第1候補画像シーケンスの先頭位置に調整するように構成されることを特徴とする
項目26に記載の視覚的測位装置。
(項目28)
前記選別ユニットは、前記画像ライブラリにおける、対応する視覚的ワードの少なくとも1つが前記第1画像に対応する視覚的ワードと同じである画像を決定し、複数の予備選択画像を得るように構成され、前記画像ライブラリにおけるいずれか1つの画像は、少なくとも1つ視覚的ワードに対応し、前記第1画像は、少なくとも1つの視覚的ワードに対応し、
前記選別ユニットは、前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い複数の候補画像を決定するように構成されることを特徴とする
項目27に記載の視覚的測位装置。
(項目29)
前記選別ユニットは、前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記第1画像に対応する視覚的ワードベクトルとの類似度が最も高い上位Qパーセントの画像を決定し、前記複数の候補画像を得るように構成され、Qは、0より大きい実数であることを特徴とする
項目28に記載の視覚的測位装置。
(項目30)
前記選別ユニットは、語彙ツリーを利用して、前記第1画像から抽出された特徴をターゲットワードベクトルに変換するように構成され、前記語彙ツリーは、前記測位されるべきシーンで収集された訓練画像から抽出された特徴をクラスタリングすることで得られたものであり、
前記選別ユニットは、前記ターゲットワードベクトルと前記複数の予備選択画像のうちの各予備選択画像に対応する視覚的ワードベクトルとの類似度をそれぞれ算出するように構成され、前記複数の予備選択画像のうちのいずれか1つの予備選択画像に対応する視覚的ワードベクトルは、前記語彙ツリーを利用して、前記いずれか1つの予備選択画像から抽出された特徴により得た視覚的ワードベクトルであり、
前記選別ユニットは、前記複数の予備選択画像のうち、対応する視覚的ワードベクトルと前記ターゲットワードベクトルとの類似度が最も高い複数の候補画像を決定するように構成されることを特徴とする
項目28又は29に記載の視覚的測位装置。
(項目31)
前記語彙ツリーにおける各リーフノードは、1つの視覚的ワードに対応し、前記語彙ツリーにおける最終層のノードは、リーフノードであり、
前記選別ユニットは、前記第1画像での、前記語彙ツリーにおける各リーフノードに対応する視覚的ワードに対応する重みを算出し、
前記第1画像での、前記各リーフノードに対応する視覚的ワードに対応する重みを組み合わせて1つのベクトルを形成し、前記ターゲットワードベクトルを得るように構成されることを特徴とする
項目30に記載の視覚的測位装置。
(項目32)
前記語彙ツリーの各ノードは、1つのクラスタ中心に対応し、
前記選別ユニットは、
前記語彙ツリーを利用して、前記第1画像から抽出された特徴を分類し、ターゲットリーフノードに分類された中間特徴を得るように構成され、前記ターゲットリーフノードは、前記語彙ツリーにおけるいずれか1つのリーフノードであり、ターゲットリーフノードは、ターゲット視覚的ワードに対応し、
前記選別ユニットは、前記中間特徴、前記ターゲット視覚的ワードの重み及び前記ターゲット視覚的ワードに対応するクラスタ中心に基づいて、前記第1画像での、前記ターゲット視覚的ワードに対応するターゲット重みを算出するように構成され、前記ターゲット重みは、前記ターゲット視覚的ワードの重みと正に相関し、前記ターゲット視覚的ワードの重みは、前記語彙ツリーを生成する時に前記ターゲット視覚的ワードに対応する特徴の数に基づいて決定されることを特徴とする
項目31に記載の視覚的測位装置。
(項目33)
前記中間特徴は、少なくとも1つのサブ特徴を含み、前記ターゲット重みは、前記中間特徴に含まれる各サブ特徴に対応する重みパラメータの和であり、前記サブ特徴に対応する重みパラメータは、特徴距離と負に相関し、前記特徴距離は、前記サブ特徴と対応するクラスタ中心とのハミング距離であることを特徴とする
項目32に記載の視覚的測位装置。
(項目34)
前記選別ユニットは、語彙ツリーに基づいて、前記第1画像から抽出された第3特徴をリーフノードに分類するように構成され、前記語彙ツリーは、前記測位されるべきシーンで抽出された画像から抽出された特徴をクラスタリングすることで得られたものであり、前記語彙ツリーの最終層のノードは、リーフノードであり、各リーフノードは、複数の特徴を含み、
前記選別ユニットは、各前記リーフノードにおける前記第3特徴と第4特徴に対して特徴マッチングを行い、各前記リーフノードにおける、前記第3特徴とマッチングした第4特徴を得るように構成され、前記第4特徴は、ターゲット候補画像から抽出された特徴であり、前記ターゲット候補画像は、前記第1候補画像シーケンスに含まれるいずれか1つの画像であり、
前記選別ユニットは、各前記リーフノードにおける、前記第3特徴とマッチングした第4特徴に基づいて、前記ターゲット候補画像の、前記第1画像とマッチングした特徴の数を得るように構成されることを特徴とする
項目27から33のうちいずれか一項に記載の視覚的測位装置。
(項目35)
前記決定ユニットは更に、変換行列及び前記第1姿勢に基づいて、前記カメラの三次元位置を決定するように構成され、前記変換行列は、前記ポイントクラウドマップの角度及び位置を変換し、前記ポイントクラウドマップの輪郭と屋内平面図をアライメントすることで得られたものであることを特徴とする
項目25から34のうちいずれか一項に記載の視覚的測位装置。
(項目36)
前記決定ユニットは、L対の特徴点の位置関係がいずれも前記第1姿勢に合致すると判定するように構成され、各対の特徴点のうちの1つの特徴点は前記第1画像から抽出されたものであり、もう1つの特徴点は、前記第1画像シーケンスにおける画像から抽出されたものであり、Lは、1より大きい整数であることを特徴とする
項目22から35のうちいずれか一項に記載の視覚的測位装置。
(項目37)
前記視覚的測位装置は、
複数の画像シーケンスを取得するように構成される第1取得ユニットであって、各画像シーケンスは、測位されるべきシーンにおける1つ又は複数の領域を収集することで得られたものである、第1取得ユニットと、
前記複数の画像シーケンスに基づいて、前記ポイントクラウドマップを構築するように構成される地図構築ユニットであって、前記複数の画像シーケンスのうちのいずれか1つの画像シーケンスは、1つ又は複数の領域のサブポイントクラウドマップを構築するためのものであり、前記ポイントクラウドマップは、前記第1電子マップ及び前記第2電子マップを含む、地図構築ユニットと、を更に備えることを特徴とする
項目23から36のうちいずれか一項に記載の視覚的測位装置。
(項目38)
前記視覚的測位装置は、
前記測位されるべきシーンに対して撮影を行うことで得られた複数枚の訓練画像を取得するように構成される第2取得ユニットと、
前記複数枚の訓練画像に対して特徴抽出を行い、訓練特徴集合を得るように構成される特徴抽出ユニットと、
前記訓練特徴集合における特徴に対して複数回のクラスタリングを行い、前記語彙ツリーを得るように構成されるクラスタリングユニットと、を更に備えることを特徴とする
項目30から37のうちいずれか一項に記載の視覚的測位装置。
(項目39)
前記視覚的測位装置は、サーバであり、前記視覚的測位装置は、
ターゲット機器からの前記第1画像を受信するように構成される受信ユニットであって、前記ターゲット機器に前記カメラが搭載された、受信ユニットを更に備えることを特徴とする
項目22から37のうちいずれか一項に記載の視覚的測位装置。
(項目40)
前記視覚的測位装置は、
前記カメラの位置情報を前記ターゲット機器に送信するように構成される送信ユニットを更に備えることを特徴とする
項目39に記載の視覚的測位装置。
(項目41)
前記視覚的測位装置は、前記カメラを搭載した電子機器であることを特徴とする
項目22から38のうちいずれか一項に記載の視覚的測位装置。
(項目42)
端末装置であって、
ターゲット画像を収集するように構成されるカメラと、
サーバにターゲット情報を送信するように構成される送信ユニットであって、前記ターゲット情報は、前記ターゲット画像又は前記ターゲット画像から抽出された特徴シーケンス、及び前記カメラの内部パラメータを含む、送信ユニットと、
位置情報を受信するように構成される受信ユニットであって、前記位置情報は、前記カメラの位置及び方向を示すためのものであり、前記位置情報は、前記サーバにより第2候補画像シーケンスに基づいて決定された、前記ターゲット画像を収集する時の前記カメラの位置情報であり、前記第2候補画像シーケンスは、前記サーバによりターゲットウィンドウに基づいて第1候補画像シーケンスにおける各フレームの画像の順番を調整することで得られたものであり、前記ターゲットウィンドウは、画像ライブラリから決定された、ターゲットフレーム画像を含む連続した複数フレームの画像であり、前記画像ライブラリは、電子マップを構築するためのものであり、前記ターゲットフレーム画像は、前記画像ライブラリにおける、第2画像とマッチングした画像であり、前記第2画像は、前記カメラにより第1画像を収集する前に収集された画像であり、前記第1候補画像シーケンスにおける各フレームの画像は、前記第1画像とのマッチング度の順番に応じてソートされる、受信ユニットと、
電子マップを表示するように構成される表示ユニットであって、前記電子マップに前記カメラの位置及び方向が含まれる、表示ユニットと、を備える、前記端末装置。
(項目43)
視覚的測位システムであって、サーバと、端末装置と、を備え、前記サーバは、項目1から19のうちいずれか一項に記載の視覚的測位方法を実行するように構成され、前記端末装置は、項目21に記載の視覚的測位方法を実行するように構成される、前記視覚的測位システム。
(項目44)
電子機器であって、
プログラムを記憶するためのメモリと、
前記メモリに記憶された前記プログラムを実行するように構成されるプロセッサと、を備え、前記プログラムが実行される時、前記プロセッサは、項目1から20のうちいずれか一項に記載の視覚的測位方法を実行する、前記電子機器。
(項目45)
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体にコンピュータプログラムが記憶されており、該コンピュータプログラムは、プログラム命令を含み、前記プログラム命令がプロセッサにより実行される時、前記プロセッサに、項目1から20のうちいずれか一項に記載の視覚的測位方法を実行させる、前記コンピュータ可読記憶媒体。
(項目46)
コンピュータプログラム製品であって、前記コンピュータプログラムは、プログラム命令を含み、前記プログラムがプロセッサにより実行される時、前記プロセッサに、項目1から20のうちいずれか一項に記載の視覚的測位方法を実行させる、前記コンピュータプログラム製品。
【国際調査報告】