IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 馭勢科技(北京)有限公司の特許一覧

特許7002574視覚的自己位置推定マップの記憶及びロード方法、装置、システム並びに記憶媒体
<>
  • 特許-視覚的自己位置推定マップの記憶及びロード方法、装置、システム並びに記憶媒体 図1
  • 特許-視覚的自己位置推定マップの記憶及びロード方法、装置、システム並びに記憶媒体 図2
  • 特許-視覚的自己位置推定マップの記憶及びロード方法、装置、システム並びに記憶媒体 図3
  • 特許-視覚的自己位置推定マップの記憶及びロード方法、装置、システム並びに記憶媒体 図4
  • 特許-視覚的自己位置推定マップの記憶及びロード方法、装置、システム並びに記憶媒体 図5
  • 特許-視覚的自己位置推定マップの記憶及びロード方法、装置、システム並びに記憶媒体 図6
  • 特許-視覚的自己位置推定マップの記憶及びロード方法、装置、システム並びに記憶媒体 図7
  • 特許-視覚的自己位置推定マップの記憶及びロード方法、装置、システム並びに記憶媒体 図8
  • 特許-視覚的自己位置推定マップの記憶及びロード方法、装置、システム並びに記憶媒体 図9
  • 特許-視覚的自己位置推定マップの記憶及びロード方法、装置、システム並びに記憶媒体 図10
  • 特許-視覚的自己位置推定マップの記憶及びロード方法、装置、システム並びに記憶媒体 図11
  • 特許-視覚的自己位置推定マップの記憶及びロード方法、装置、システム並びに記憶媒体 図12
  • 特許-視覚的自己位置推定マップの記憶及びロード方法、装置、システム並びに記憶媒体 図13
  • 特許-視覚的自己位置推定マップの記憶及びロード方法、装置、システム並びに記憶媒体 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-01-04
(45)【発行日】2022-01-20
(54)【発明の名称】視覚的自己位置推定マップの記憶及びロード方法、装置、システム並びに記憶媒体
(51)【国際特許分類】
   G06T 7/70 20170101AFI20220113BHJP
【FI】
G06T7/70 A
【請求項の数】 14
(21)【出願番号】P 2019572826
(86)(22)【出願日】2018-07-19
(65)【公表番号】
(43)【公表日】2021-02-18
(86)【国際出願番号】 CN2018096313
(87)【国際公開番号】W WO2020014924
(87)【国際公開日】2020-01-23
【審査請求日】2020-06-03
(73)【特許権者】
【識別番号】520003435
【氏名又は名称】馭勢科技(北京)有限公司
【氏名又は名称原語表記】UISEE TECHNOLOGIES (BEIJING) LTD.
【住所又は居所原語表記】Room 401, Building 2 NO. 85, Hongan Road, Fangshan District, Beijing 102402, China
(74)【代理人】
【識別番号】100146374
【弁理士】
【氏名又は名称】有馬 百子
(72)【発明者】
【氏名】馮 威
(72)【発明者】
【氏名】林 偉
(72)【発明者】
【氏名】張 丹
(72)【発明者】
【氏名】周 ▲しん▼
【審査官】山田 辰美
(56)【参考文献】
【文献】米国特許出願公開第2016/0379092(US,A1)
【文献】特表2016-534450(JP,A)
【文献】国際公開第2017/109977(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/70
(57)【特許請求の範囲】
【請求項1】
視覚的自己位置推定マップ記憶方法であって、
視覚的自己位置推定マップを取得することと、
前記視覚的自己位置推定マップにおける各キーフレームのキーフレーム抽象的な情報を抽出することと、
前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化することと、
各グループに対して、該グループのキーフレーム抽象的な情報を用いて該グループのマップサブファイルを生成して記憶することと、
全てのグループのキーフレーム抽象的な情報に基づいてキーフレーム空間インデックス情報を確立することと、
前記キーフレーム空間インデックス情報に基づいて前記マップサブファイルにインデックスを付けるためのマップマスターファイルを生成して記憶すること、とを含み、
前記キーフレーム抽象的な情報は、キーフレームの識別情報及び/又はパラメータ情報を含み、前記パラメータ情報は、キーフレームの6DoF姿勢情報を含み、前記キーフレームの6DoF姿勢情報は、キーフレームの三次元世界座標及び3つの異なる方向の回転角度を含み、
前記キーフレーム抽象的な情報には、キーフレームの一意の識別番号が含まれ、
前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化することは、
前記一意の識別番号に基づいて前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化することを含み、
前記一意の識別番号に基づいて前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化することは、
前記一意の識別番号の大きさに応じて前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をソートすることと、
ソートされたキーフレーム抽象的な情報をグループ化し、各グループにおけるキーフレーム抽象的な情報のシリアル番号が連続的であって且つ各グループにおけるキーフレーム抽象的な情報の数がグループ閾値以下であることと、を含む視覚的自己位置推定マップ記憶方法。
【請求項2】
前記のソートされたキーフレーム抽象的な情報をグループ化することは、
前記のソートされたキーフレーム抽象的な情報における(S×i+1)番目~(S×i+S)番目を(i+1)番目のグループ(ただし、前記Sは前記のグループ閾値と等しく、
であり、前記Mが前記視覚的自己位置推定マップにおけるキーフレームの数である)にグループ化することと、
グループ化されないキーフレーム抽象的な情報を最後のグループにグループ化することと、を含む請求項に記載の方法。
【請求項3】
視覚的自己位置推定マップ記憶方法であって、
視覚的自己位置推定マップを取得することと、
前記視覚的自己位置推定マップにおける各キーフレームのキーフレーム抽象的な情報を抽出することと、
前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化することと、
各グループに対して、該グループのキーフレーム抽象的な情報を用いて該グループのマップサブファイルを生成して記憶することと、
全てのグループのキーフレーム抽象的な情報に基づいてキーフレーム空間インデックス情報を確立することと、
前記キーフレーム空間インデックス情報に基づいて前記マップサブファイルにインデックスを付けるためのマップマスターファイルを生成して記憶することと、を含み、
前記キーフレーム抽象的な情報は、キーフレームの識別情報及び/又はパラメータ情報を含み、前記パラメータ情報は、キーフレームの6DoF姿勢情報を含み、前記キーフレームの6DoF姿勢情報は、キーフレームの三次元世界座標及び3つの異なる方向の回転角度を含み、
前記キーフレーム抽象的な情報にキーフレームの一意の識別番号と三次元世界座標が含まれて、前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化することは、
前記視覚的自己位置推定マップにおける全てのキーフレームの数Mに従ってグループの数Nを決定することと、
N個のヒープを取得するように、前記三次元世界座標に基づいて前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報を空間クラスタリングすることと、
前記N個のヒープに基づいて前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化することと、を含む視覚的自己位置推定マップ記憶方法。
【請求項4】
前記N個のヒープに基づいて前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化することは、
前記N個のヒープにおける各々を直接に1つのグループとすることを含む請求項に記載の方法。
【請求項5】
前記視覚的自己位置推定マップにおける全てのキーフレームの数Mに従ってグループの数Nを決定することは、
下式でグループの数N、
を計算し、Sはグループ閾値であることを含む請求項に記載の方法。
【請求項6】
前記N個のヒープに基づいて前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化することは、
該ヒープ内の全てのキーフレーム抽象的な情報を充填するまで、或いは該グループにおけるキーフレーム抽象的な情報の数がグループ閾値Sに達するまで、前記N個のヒープにおける1つのヒープのキーフレーム抽象的な情報を1つずつに1つのグループに充填し、次に、次のグループを充填し始める充填ステップと、
前記N個のヒープを遍歴するように、前記N個のヒープの中で操作されないヒープが存在する場合に対して、現在の操作ヒープのクラスタリングの中心点から最も近い1つの操作されないヒープを選択して前記充填ステップを繰り返して実行するステップと、を含む請求項に記載の方法。
【請求項7】
前記の各グループに対して該グループのキーフレーム抽象的な情報を用いて該グループのマップサブファイルを生成して記憶することは、
前記視覚的自己位置推定マップから該グループにおけるキーフレーム抽象的な情報に対応するキーフレームを抽出して該グループのマップサブファイルに充填すること、
前記視覚的自己位置推定マップから該グループにおけるキーフレーム抽象的な情報にマッチするマップポイントを抽出して該グループのマップサブファイルに充填することと、を含む請求項1~のいずれか1項に記載の方法。
【請求項8】
前記キーフレーム抽象的な情報にキーフレームの三次元世界座標が含まれ、前記の全てのグループのキーフレーム抽象的な情報に基づいてキーフレーム空間インデックス情報を確立することは、
各キーフレームの三次元世界座標に基づいてキーフレーム空間インデックス情報のキーワードを構築することと、
各キーフレームのキーフレーム抽象的な情報のグループ番号に基づいて前記キーフレーム空間インデックス情報のインデックス値を決定することと、を含む請求項1~のいずれか1項に記載の方法。
【請求項9】
前記の各グループに対して該グループのキーフレーム抽象的な情報を用いて該グループのマップサブファイルを生成して記憶することは、
各マップサブファイルのチェックサムを計算することをさらに含む請求項に記載の方法。
【請求項10】
前記キーフレーム空間インデックス情報に基づいてマップマスターファイルを生成して記憶することは、
前記キーフレーム空間インデックス情報と前記チェックサムを用いてマップメタデータを構築することと、
前記マップメタデータを記憶して且つ前記マップマスターファイルに出力することと、を含む請求項に記載の方法。
【請求項11】
視覚的自己位置推定マップのロード方法であって、
前記視覚的自己位置推定マップの、請求項3に記載の視覚的自己位置推定マップ記憶方法によって得られたマップマスターファイルとマップサブファイルを取得することと、
特定の位置の三次元世界座標に基づいて前記マップマスターファイルからインデックスを付けて予め定義された部分マップの範囲情報に対応するキーフレームのグループ番号を取得することと、
前記グループ番号に基づいて対応するマップサブファイルをロードし、前記部分マップを構築することと、を含み、
前記予め定義された部分マップの範囲情報に現在位置の三次元世界座標から最も近いキーフレームの数が含まれる視覚的自己位置推定マップのロード方法
【請求項12】
前記予め定義された部分マップの範囲情報に前記現在位置の三次元世界座標を円心とする半径距離が含まれる請求項11に記載の方法。
【請求項13】
記部分マップの中で前記グループ番号に対応しないマップサブファイルのメモリ空間を解放することをさらに含む請求項11または12に記載の方法。
【請求項14】
前記グループ番号に基づいて対応するマップサブファイルをロードして前記部分マップを構築することは、
前記マップマスターファイルから前記グループ番号に対応するマップサブファイルのチェックサムを取得することと、
前記チェックサムに基づいて前記グループ番号に対応するマップサブファイルをチェックすることと、をさらに含む請求項11または12に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は人工知能分野に関し、より具体的に視覚的自己位置推定マップの記憶方法、視覚的自己位置推定マップのロード方法、装置、システム及び記憶媒体に関する。
【背景技術】
【0002】
視覚的自己位置推定マップは視覚的自己位置推定と環境マップ作成によって得られたマップである。一般的に視覚的な自己位置推定と環境マップ作成を同時に行う(Simultaneously Localization and Mapping、SLAMと略称)技術によって視覚的自己位置推定マップを構築する。視覚的自己位置推定マップの構築プロセスにおいてキーフレームとマップポイント情報を取得した。各キーフレームに対して、それとマッチするマップポイントが存在する。キーフレーム、マップポイント及びそれらの間のマッチング関係は通常の意味での視覚的自己位置推定マップを共に構成した。視覚的自己位置推定マップのデータ要素間に複雑な相互参照関係が存在するため、従来の視覚的自己位置推定マップが常に完全な単一のマップファイルとして記憶及びロードして使用される。実際の使用では、1、マップ全体をロードして使用することしかできないため、大きなシーンの視覚的自己位置推定マップが運転される場合に、メモリのオーバーヘッドのニーズは非常に大きく、2、視覚的自己位置推定マップファイルが非常に大きいため、視覚的自己位置推定システムのコールドスタート時のロード時間が長くなるという2つの問題が発生する。
従って、上記問題を解決するように、新たな視覚的自己位置推定マップ記憶及びロード技術を必要とする。
【発明の概要】
【0003】
本発明は、上記の問題を考慮してなされたものである。 本発明は、視覚ポジショニングマップ記憶方法、装置、システムおよび記憶媒体、ならびに視覚ポジショニングマップローディング方法、装置、システムおよび記憶媒体を提供する。
【0004】
本発明は提供する視覚的自己位置推定マップ記憶方法であって、
視覚的自己位置推定マップを取得することと、
前記視覚的自己位置推定マップにおける各キーフレームのキーフレーム抽象的な情報を抽出することと、
前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化することと、
各グループに対して、該グループのキーフレーム抽象的な情報を用いて該グループのマップサブファイルを生成して記憶することと、
全てのグループのキーフレーム抽象的な情報に基づいてキーフレーム空間インデックス情報を確立することと、
前記キーフレーム空間インデックス情報に基づいて前記マップサブファイルにインデックスを付けるためのマップマスターファイルを生成して記憶することと、を含む視覚的自己位置推定マップ記憶方法。
【0005】
例として、前記キーフレーム抽象的な情報にキーフレームの一意の識別番号が含まれ、前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化する前記ことは、
前記一意の識別番号に基づいて前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化することを。
【0006】
例として、前記一意の識別番号に基づいて前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化する前記ことは、
前記一意の識別番号の大きさに応じて前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をソートすることと、
【0007】
ソートされたキーフレーム抽象的な情報をグループ化し、各グループにおけるキーフレーム抽象的な情報のシリアル番号が連続的であって且つ各グループにおけるキーフレーム抽象的な情報の数がグループ閾値以下であることと。
例として、前記のソートされたキーフレーム抽象的な情報をグループ化することは、
【0008】
前記のソートされたキーフレーム抽象的な情報における(S×i+1)番目~(S×i+S)番目を(i+1)番目のグループ(ただし、前記Sは前記のグループ閾値と等しく、
であり、前記Mが前記視覚的自己位置推定マップにおけるキーフレームの数である)にグループ化することと、
グループ化されないキーフレーム抽象的な情報を最後のグループにグループ化することと。
【0009】
例として、前記キーフレーム抽象的な情報にキーフレームの一意の識別番号と三次元世界座標が含まれて、前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化する前記ことは、
前記視覚的自己位置推定マップにおける全てのキーフレームの数Mに従ってグループの数Nを決定することと、
【0010】
N個のヒープを取得するように、前記三次元世界座標に基づいて前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報を空間クラスタリングすることと、
前記N個のヒープに基づいて前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化することと。
【0011】
例として、前記N個のヒープに基づいて前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化する前記ことは、
前記N個のヒープにおける各々を直接に1つのグループとすること。
【0012】
例として、前記視覚的自己位置推定マップにおける全てのキーフレームの数Mに従ってグループの数Nを決定する前記ことは、
下式でグループの数N、
を計算し、Sはグループ閾値であること。
例として、前記N個のヒープに基づいて前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化する前記ことは、
【0013】
該ヒープ内の全てのキーフレーム抽象的な情報を充填するまで、或いは該グループにおけるキーフレーム抽象的な情報の数がグループ閾値Sに達するまで、前記N個のヒープにおける1つのヒープのキーフレーム抽象的な情報を1つずつに1つのグループに充填し、次に、次のグループを充填し始めることと、
【0014】
前記N個のヒープを遍歴するように、前記N個のヒープの中で操作されないヒープが存在する場合に対して、現在の操作ヒープのクラスタリングの中心点から最も近い1つの操作されないヒープを選択して前記充填ステップを繰り返して実行することと。
例として、前記の各グループに対して該グループのキーフレーム抽象的な情報を用いて該グループのマップサブファイルを生成して記憶することは、
【0015】
前記視覚的自己位置推定マップから該グループにおけるキーフレーム抽象的な情報に対応するキーフレームを抽出して該グループのマップサブファイルに充填すること、
【0016】
前記視覚的自己位置推定マップから該グループにおけるキーフレーム抽象的な情報にマッチするマップポイントを抽出して該グループのマップサブファイルに充填することと。
【0017】
例として、前記キーフレーム抽象的な情報にキーフレームの三次元世界座標が含まれ、前記の全てのグループのキーフレーム抽象的な情報に基づいてキーフレーム空間インデックス情報を確立することは、
各キーフレームの三次元世界座標に基づいてキーフレーム空間インデックス情報のキーワードを構築することと、
各キーフレームのキーフレーム抽象的な情報のグループ番号に基づいて前記キーフレーム空間インデックス情報のインデックス値を決定することと。
例として、前記の各グループに対して該グループのキーフレーム抽象的な情報を用いて該グループのマップサブファイルを生成して記憶することは、
各マップサブファイルのチェックサムを計算することをさら。
例として、前記キーフレーム空間インデックス情報に基づいてマップマスターファイルを生成して記憶する前記ことは、
前記キーフレーム空間インデックス情報と前記チェックサムを用いてマップメタデータを構築することと、
前記マップメタデータを記憶して且つ前記マップマスターファイルに出力することと。
本発明の別の態様によれば、また提供される視覚的自己位置推定マップを記憶するための装置であって、
視覚的自己位置推定マップを取得するための取得モジュールと、
前記視覚的自己位置推定マップにおける各キーフレームのキーフレーム抽象的な情報を抽出するための抽出モジュールと、
前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化するためのグループ化モジュールと、
【0018】
各グループに対して、該グループのキーフレーム抽象的な情報を用いて該グループのマップサブファイルを生成して記憶するためのサブファイル生成モジュールと、
全てのグループのキーフレーム抽象的な情報に基づいてキーフレーム空間インデックス情報を確立するためのインデックス確立モジュールと、
【0019】
前記キーフレーム空間インデックス情報に基づいて前記マップサブファイルにインデックスを付けるためのマップマスターファイルを生成して記憶するマスターファイル生成モジュールと、を備える視覚的自己位置推定マップを記憶するための装置。
【0020】
本発明の別の態様によれば、また提供さ視覚的自己位置推定マップを記憶するためのシステムであって、プロセッサーとメモリを含み、前記メモリにコンピュータプログラム命令が記憶され、前記コンピュータプログラム命令が前記プロセッサーによって運転されを実行することに用いられる視覚的自己位置推定マップを記憶するためのシステム。
【0021】
本発明の別の態様によれば、また提供さ記憶媒体は、記憶媒体上にプログラム命令を記憶し、プログラム命令は、実行時に前述の視覚的ポジショニングマップ記憶方法を実行するために使用される。
本発明の別の態様によれば、また提供さ視覚的自己位置推定マップのロード方法であって、
前記視覚的自己位置推定マップの、上記視覚的自己位置推定マップ記憶方法によって得られたマップマスターファイルとマップサブファイルを取得することと、
【0022】
特定の位置の三次元世界座標に基づいて前記マップマスターファイルからインデックスを付けて予め定義された部分マップの範囲情報に対応するキーフレームのグループ番号を取得することと、
前記グループ番号に基づいて対応するマップサブファイルをロードし、前記部分マップを構築することと、を含む視覚的自己位置推定マップのロード方法。
例として、前記予め定義された部分マップの範囲情報に前記現在位置の三次元世界座標から最も近いキーフレームの数。
例として、前記予め定義された部分マップの範囲情報に前記現在位置の三次元世界座標を円心とする半径距離。
例として、前記部分マップの中で前記グループ番号に対応しないマップサブファイルのメモリ空間を解放することをさら。
例として、前記グループ番号に基づいて対応するマップサブファイルをロードして前記部分マップを構築することは、
前記マップマスターファイルから前記グループ番号に対応するマップサブファイルのチェックサムを取得することと、
前記チェックサムに基づいて前記グループ番号に対応するマップサブファイルをチェックすることと。
本発明の別の態様によれば、また提供される視覚的自己位置推定マップをロードするための装置であって、
【0023】
前記視覚的自己位置推定マップの、上記視覚的自己位置推定マップ記憶方法によって得られたマップマスターファイルとマップサブファイルを取得するための取得モジュールと、
【0024】
特定の位置の三次元世界座標に基づいて前記マップマスターファイルからインデックスを付けて予め定義された部分マップの範囲情報に対応するキーフレームのグループ番号を取得するためのインデックスモジュールと、
【0025】
前記グループ番号に基づいて対応するマップサブファイルをロードし、前記部分マップを構築するための構築モジュール、を備える視覚的自己位置推定マップをロードするための装置。
【0026】
本発明の別の態様によれば、また提供される視覚的自己位置推定マップをロードするためのシステムであって、プロセッサーとメモリを含み、前記メモリにコンピュータプログラム命令が記憶され、前記コンピュータプログラム命令が前記プロセッサーによって運転される際に記載の視覚的自己位置推定マップのロード方法を実行することに用いられる視覚的自己位置推定マップをロードするためのシステム。
【0027】
本発明の別の態様によれば、また提供される記憶媒体であって、前記記憶媒体にプログラム命令が記憶され、前記プログラム命令が運転される際に記載の視覚的自己位置推定マップのロード方法を実行することに用いられる記憶媒体。
【0028】
本発明の実施形態による視覚的ポジショニングマップのための方法、装置、システムおよび記憶媒体、ならびに対応するローディング方法、装置、システムおよび記憶媒体データ量が巨大で単一の視覚的自己位置推定マップファイルを複数のマップサブファイルに分解することによって、視覚的自己位置推定マップを使用ニーズに応じて柔軟にロードして管理しやすくし、それにより、視覚的自己位置推定マップの拡張性、使用上のロード効率及び実行時の空間効率を大幅に向上させる。
【0029】
上記の説明は、本発明の技術的解決策の概要に過ぎず、本発明の技術的手段をより明確に理解するために、説明の内容に従って実施することができ、本発明の上記および他の目的、特徴、および利点をより明白かつ理解可能にするために実施することができる。 以下において、本発明の特定の実施形態が列挙される。
【図面の簡単な説明】
【0030】
図1】は本発明の一実施例による視覚的自己位置推定マップ記憶方法1000の概略フローチャートを示す。
図2】は本発明の一実施例によるキーフレームの一意の識別番号に基づいて視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化するの概略フローチャートである。
図3】は本発明の一実施例によるキーフレームの一意の識別番号に基づいて視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化する結果模式図である。
図4】は本発明の一実施例によるキーフレームの三次元世界座標に基づいて視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化する結果模式図である。
図5】は本発明の一実施例によるグループ閾値の大きさに従って空間クラスタリングによって得られたN個のヒープをグループ化する結果模式図である。
図6】は本発明の一実施例によるグループ閾値の大きさに従って空間クラスタリングによって得られたN個のヒープをグループ化する概略プロセスブロック図である。
図7】は本発明の一実施例による空間クラスタリングのN個のヒープに基づいて視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化する結果模式図である。
図8】は本発明の一実施例による グループ化されたキーフレーム抽象化情報を使用して、グループ化されたマップサブファイルを生成および保存する 概略プロセスブロック図である。
図9】は本発明の一実施例によるマップサブファイルがデータを含む模式図である。
図10】は、本発明の一実施例によるグループ化されたすべてのキーフレーム抽象情報に基づいてキーフレーム空間インデックス情報を確立する概略フローチャートである。
図11】は、本発明の一実施例によるキーフレームスペースインデックス情報に基づいてマップマスターファイルを生成および保存する概略フローチャートである。
図12】は本発明の一実施例による視覚的自己位置推定マップを記憶するための装置の模式的なブロック図である。
図13】は、本発明の一実施例による視覚的自己位置推定マップロード方法3000の概略フローチャートである。
図14】は、本発明の一実施例による視覚的自己位置推定マップをロードするための装置の模式的なブロック図である。
【発明を実施するための形態】
【0031】
本発明の目的、技術的解決策、および利点をより明確にするために、添付の図面を参照して、本発明による例示的な実施形態を以下に詳細に説明する。 明らかに、記載された実施形態は、本発明のすべての実施形態ではなく、本発明の実施形態の一部にすぎない。本発明は、本明細書に記載された例示的な実施形態によって限定されない。 本発明に記載された本発明の実施形態に基づいて、創造的な努力を払うことなく当業者によって得られた他のすべての実施形態は、本発明の保護範囲に含まれるべきである。
【0032】
視覚的自己位置推定マップは視覚的自己位置推定環境マップ作成によって得られたマップである。視覚的自己位置推定マップは、キーフレーム、マップポイント及びそれらの間のマッチング関係を含む。大きなシーンに対して、その視覚的自己位置推定マップファイルが巨大であり、それにより、実際の使用ではメモリオーバーヘッド及びロード遅延などが困難になる。本発明の実施例において、視覚的自己位置推定マップの単一のマップファイルを複数のマップサブファイルに分解して記憶し、それにより、使用時に実際の必要に応じて必要なマップサブファイルを選択して部分マップを構築することができる。以下、図1を参照しながら本発明の一実施例による視覚的自己位置推定マップの記憶方法を説明する。
【0033】
図1は本発明の一実施例による視覚的自己位置推定マップ記憶方法1000の概略フローチャートを示す。図1に示すように、方法1000は、以下のステップを含む。
ステップS1100、視覚的自己位置推定マップを取得する。
【0034】
視覚的自己位置推定マップはキーフレームを含む任意の適切なマップであってもよい。任意の従来技術、例えばVSLAM技術、又は将来の開発技術によって構築されるマップであってもよい。一つの例では、シーンの視覚的自己位置推定マップを予め構築して且つファイルに永続化する。該永続化方式はマップランタイムのメモリインスタンスシリアル化を使用してファイルに出力できる。
ステップS1200、ステップS1100で得られた視覚的自己位置推定マップにおける各キーフレームのキーフレーム抽象的な情報を抽出する。
【0035】
キーフレーム抽象的な情報はキーフレームの最も簡単な記述データであり、該キーフレームの識別情報及び/又はパラメータ情報を含んでもよい。該パラメータ情報はキーフレームの6DoF姿勢情報を含んでもよい。該キーフレームの6DoF姿勢情報はキーフレームの三次元世界座標及び3つの異なる方向の回転角度を含んでもよい。キーフレーム抽象的な情報によって対応するキーフレームにインデックスを付けて且つそれに対してロード、計算及び記憶等の様々な処理を行うことができる。
【0036】
一つの例では、視覚的自己位置推定マップを分析して、キーフレーム抽象的な情報シーケンスを抽出することができる。該シーケンスはキーフレーム抽象的な情報セットが特定の順序で配列するデータであってもよい。該特定の順序は例えば視覚的自己位置推定マップの環境マップ作成時のキーフレームの作成順序である。
【0037】
キーフレーム抽象的な情報でキーフレームを代表してキーフレーム関連処理を行うことによって、処理する必要があるデータの量を大幅に削減できるため、システム効率を向上させる。
ステップS1300、ステップS1200で抽出した視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化する。
【0038】
異なるグループに異なるキーフレームのキーフレーム抽象的な情報が含まれる。特定のルールに従ってキーフレーム抽象的な情報をグループ化することができる。キーフレーム抽象的な情報に基づいてグループ化し、それに対応して、視覚的自己位置推定マップにおける全てのキーフレームを複数のグループにグループ化することができる。
【0039】
視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報を異なるグループにグループ化する。実際のニーズに応じてグループの大きさを決定することができ、グループが大きいほど、大きいマップサブファイルに対応し、逆に、グループが小さいほど、小さいマップサブファイルに対応する。グループの大きさは完全な視覚的自己位置推定マップを分解記憶して管理する粒度を反映する。
【0040】
異なるグループ化方法は、完全な視覚的自己位置推定マップへの分解方法を反映する。例えば環境マップ作成軌跡によるグループ化は環境マップ作成軌跡によるマップサブファイルの分解に対応する。また、例えばキーフレーム所在の地理空間の相関性によるグループ化は地理空間の相関性によるマップサブファイルの分解に対応する。
【0041】
視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化することによって、該視覚的自己位置推定マップを分解記憶して管理する基盤を確立した。
【0042】
あるいは、視覚的自己位置推定マップにおける各キーフレームのキーフレーム抽象的な情報の中でキーフレームの自己位置推定に関連する情報に基づいてグループ化する。実際の使用では、一般的に自己位置推定ニーズを有する。キーフレームの自己位置推定によるグループ化によって後続の自己位置推定位置に関連する部分マップのロード自己位置推定が容易になり、ユーザーエクスペリエンスが向上する。
【0043】
ステップS1400、ステップS1300で得られた各グループに対して、該グループのキーフレーム抽象的な情報を用いて該グループのマップサブファイルを生成して記憶する。
【0044】
各グループに対して、対応するマップサブファイルを生成するように、該グループ内のキーフレーム抽象的な情報を用いて視覚的自己位置推定マップの中で対応するマップデータを抽出する。なお、該マップデータはキーフレームデータとマップポイントデータを含む。各マップサブファイルを独立して記憶し、それにより、単一の視覚的自己位置推定マップファイルを柔軟に記憶しロードしやすい複数のマップサブファイルに分解する。各マップサブファイルは1つの対応する部分マップを生成することに用いられることができる。
ステップS1500、ステップS1300で得られた全てのグループのキーフレーム抽象的な情報に基づいてキーフレーム空間インデックス情報を確立する。
【0045】
キーフレーム空間インデックス情報は、特定の情報に基づいて各グループ内のキーフレーム抽象的な情報に対応するキーフレームにインデックスを付けることに用いられる。あるいは、該特定の情報は、ある空間位置の三次元世界座標であってもよい。キーフレーム空間インデックス情報を用いて該空間位置に関連するキーフレーム、例えば、該空間位置との間の距離が特定の閾値より小さいキーフレーム及び該空間位置に最も近い特定の数のキーフレームにインデックスを付けることができる。さらに、キーフレーム空間インデックス情報に基づいて、インデックスを付けたキーフレームが所在するグループの情報を取得することができ、それにより、該空間位置に関連するマップサブファイルを決定する。
【0046】
ステップS1600、ステップS1500で確立したキーフレーム空間インデックス情報に基づいて前記マップサブファイルにインデックスを付けるためのマップマスターファイルを生成して記憶する。
【0047】
キーフレーム空間インデックス情報に基づいてマップメタデータを生成して、該マップメタデータを出力してマップマスターファイルとして記憶し、それにより、マップマスターファイルに基づいて、必要なマップサブファイルにインデックスを付けることができる。
【0048】
上記方法1000によると、データ量が巨大で単一の視覚的自己位置推定マップファイルを複数のマップサブファイルに分解することによって、視覚的自己位置推定マップを使用ニーズに応じて柔軟にロードして管理しやすくし、それにより、視覚的自己位置推定マップの拡張性、使用上のロード効率及び実行時の空間効率を大幅に向上させる。
【0049】
当業者はなお、上記方法1000は、本発明の技術的解決手段の例に過ぎず、本発明の技術的解決手段を制限しない。例えば、ステップS1400は必ずしもステップS1500とステップS1600に先立って実行しない。ステップS1400はステップS1500及び/又はステップS1600の後に実行し、或いはそれらと同時に実行することができる。
【0050】
一例として、上記キーフレーム抽象的な情報はキーフレームの一意の識別番号を含む。キーフレームの一意の識別番号は視覚的自己位置推定マップの構築プロセスにおいて各キーフレームに与える一意の番号である。一意の識別番号とキーフレームとの間に一々対応関係が存在する。環境マップ作成時に取得されたキーフレームの時間順序に基づいて、キーフレームの一意の識別番号は昇順番号であってもよい。互いに隣接するキーフレームの一意の識別番号は連続番号であってもよいし、不連続の番号であってもよい。
【0051】
一例として、上記一意の識別番号に基づいて視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化することができる。
【0052】
キーフレームの一意の識別番号は、視覚的自己位置推定マップの環境マップ作成軌跡を反映する。なお、一意の識別番号によるグループ化は環境マップ作成軌跡による視覚的自己位置推定マップの分解に相当する。このようなグループ化方法は、軌跡型アプリケーションシナリオの視覚的自己位置推定マップ、例えば道路の視覚的自己位置推定マップに最適である。視覚的自己位置推定マップを走行軌跡に応じて複数の道路セグメントのマップサブファイルに分解する。視覚的自己位置推定マップを用いて自動車をアシスト運転又は自動運転する自動自己位置推定時に、現在の位置に応じて使用する必要がある付近の道路セグメントのマップサブファイルをロードすることができ、それにより、アシスト運転又は自動自己位置推定時にマップをロードする時間効率と空間効率を大幅に向上させる。
【0053】
図2に示すように、一意の識別番号に基づいて視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化する。図2は方法1000におけるステップS1300のある具体的な実施形態を示す。図2に示すように、ステップS1300は以下のサブステップを含んでもよい。
【0054】
ステップS1311、キーフレームの一意の識別番号の大きさに従って、視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をソートする。
【0055】
一意の識別番号を昇順又は降順の順序でソートすることができる。一つの例では、昇順の順序は環境マップ作成の時間順序又はフォワード環境マップ作成軌跡に対応し、降順の順序は環境マップ作成の時間逆順又はリバース環境マップ作成軌跡に対応する。ソートされた各キーフレーム抽象的な情報は対応するシリアル番号を有する。
【0056】
ステップS1312、ソートされたキーフレーム抽象的な情報をグループ化し、各グループにおけるキーフレーム抽象的な情報のシリアル番号が連続的で且つグループにおけるキーフレーム抽象的な情報の数がグループ閾値以下である。
【0057】
あるいは、最大グループの大きさを制限するために、グループ閾値を設定することができる。ソートされたキーフレーム抽象的な情報を必要に応じてグループ化する。
【0058】
道路の視覚的自己位置推定マップを例として、ステップS1200によって該視覚的自己位置推定マップから500個のキーフレーム抽象的な情報を抽出した。一例として、まず、ステップS1311によってキーフレームの一意の識別番号の昇順の順序で、キーフレーム抽象的な情報をソートする。次に、約5キロメートル以内のキーフレームでキーフレーム抽象的な情報をグループ化し、グループ閾値は50個のキーフレーム抽象的な情報である。その結果、1番目のグループはシリアル番号が1~30のキーフレーム抽象的な情報を含み、2番目のグループはシリアル番号が21~56のキーフレーム抽象的な情報を含み、3番目のグループはシリアル番号が57~106のキーフレーム抽象的な情報を含み、……、最後のグループはシリアル番号が484~500のキーフレーム抽象的な情報を含む。上記グループにおいて、1番目のグループに含まれた30個のキーフレーム抽象的な情報が該視覚的自己位置推定マップの最初の5キロの直線道路に対応し、2番目のグループに含まれた36個のキーフレーム抽象的な情報が該視覚的自己位置推定マップの続いた約5キロの曲がりくねった道に対応し、3番目のグループに含まれた50個のキーフレーム抽象的な情報が該視覚的自己位置推定マップの続いた約2キロのロータリーの道路に対応し、……、最後のグループに含まれた17個のキーフレーム抽象的な情報が該視覚的自己位置推定マップの最後の一部の道路に対応する。
【0059】
上記グループ化方法によって、視覚的自己位置推定マップを必要に応じてロードして管理しやすいマップサブファイルに分解することができ、自己位置推定ナビゲーション等のアプリケーションのマップロード更新パフォーマンスを効果的に向上させる。
一例として、上記ステップS1312はソートされたキーフレーム抽象的な情報をグループ化することは以下のサブステップを含む。
【0060】
サブステップ1、ソートされたキーフレーム抽象的な情報における(S×i+1)番目~(S×i+S)番目(ただし、前記Sは上記グループ閾値と等しく、
であり、前記Mが視覚的自己位置推定マップにおけるキーフレームの数である。)を(i+1)番目のグループにグループ化し、キーフレームとそのキーフレーム抽象的な情報は一々対応関係を有するため、Mもキーフレーム抽象的な情報の数である。
【0061】
大規模なシーンの視覚的自己位置推定マップに対して、上記例に同じであり、実際のマップシーンに従って1つずつグループ化すると、非常に大きな作業負荷がある。あるいは、グループ閾値の大きさに従ってソートされたキーフレーム抽象的な情報を直接にグループ化することができる。例えば5213個のキーフレームを含む視覚的自己位置推定マップをグループ化し、グループ閾値Sが50であり、該視覚的自己位置推定マップにおけるキーフレームの数Mが5213である。式
によってiの取り得る値範囲0≦i<104が得られる。ソートされたキーフレーム抽象的な情報における1番目~50番目を1番目のグループにグループ化し、51番目~100番目を2番目のグループにグループ化し、……、5151番目~5200番目を104番目のグループにグループ化する。
サブステップ2、グループ化されないキーフレーム抽象的な情報を最後のグループにグループ化する。
【0062】
上記サブステップ1のグループ化操作を行った後、グループ化されないキーフレーム抽象的な情報が存在する場合に対して、グループ化されないキーフレーム抽象的な情報を最後のグループにグループ化する。また、上記例を用いて、5201番目~5213番目のキーフレームがグループ化されておらず、これらのグループのキーフレーム抽象的な情報を最後のグループ、即ち105番目のグループにグループ化する。これまで、該視覚的自己位置推定マップのキーフレームのキーフレーム抽象的な情報へのグループ化が完了した。
【0063】
図3は本発明の一実施例によるキーフレームの一意の識別番号に基づいて視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化する結果模式図である。異なる灰色の線は異なるグループを表す。灰色の線の傍らの数字は該グループのシリアル番号である。視覚的自己位置推定マップは三次元マップであり、グループ化効果を理解しやすくするために、図3は二次元平面模式図である。図3に示すように、該視覚的自己位置推定マップは道路の双方向環境マップ作成である。左上隅から、時計回りに運転して外輪の道路を環境マップ作成し、左上隅に戻った後、再び反時計回りに運転して内輪の道路を環境マップ作成する。環境マップ作成の最初の1番目のキーフレームの一意の識別番号から始め、新たなキーフレームの一意の識別番号を昇順で番号付ける。一意の識別番号が連続的であってもよいし、連続的ではなくてもよい。一意の識別番号の昇順の順序で全てのキーフレームのキーフレーム抽象的な情報をソートし、ソートされたキーフレーム抽象的な情報をグループ化し、グループ化によって該視覚的自己位置推定マップを12個のサブマップに分解する。図3に示すように、該視覚的自己位置推定マップの分解は環境マップ作成軌跡に対応する。
【0064】
上記グループ閾値の大きさに従って直接にグループ化する方法を用いて、グループ化操作の効率を向上させることができる。それと同時に、最後のグループ以外、その他のグループのキーフレーム抽象的な情報の数が同じであり、それにより、構築されたマップサブファイルの大きさが類似し、メモリ管理が容易になる。
【0065】
一例として、キーフレーム抽象的な情報はキーフレームの一意の識別番号と三次元世界座標を含む。キーフレームの三次元世界座標は該キーフレームを取得する時点の世界座標系におけるカメラの位置である。
【0066】
一例として、上記三次元世界座標に基づいて視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化することができる。図4は方法1000におけるステップS1300の別の具体的な実施形態を示す。図4に示すように、ステップS1300は以下のサブステップを含んでもよい。
ステップS1321、視覚的自己位置推定マップにおける全てのキーフレームの数Mに従ってグループの数Nを決定する。
【0067】
視覚的自己位置推定マップにおける全てのキーフレームの数Mは該視覚的自己位置推定マップの規模を反映する。Mに従って適切なグループの数Nを決定することによって、該視覚的自己位置推定マップを大きさが適切なN個のマップサブファイルに分解することができる。
【0068】
ステップS1322、N個のヒープを取得するように、キーフレームの三次元世界座標に従って視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報に対して空間クラスタリングを行う。
【0069】
空間クラスタリングは視覚的自己位置推定マップにおける全てのキーフレームの三次元世界座標の間の距離に基づいて、キーフレーム抽象的な情報を空間の隣接するN個のヒープに分ける。空間クラスタリングはKーmeans、Kーmeans++、ISODATAなどの従来のクラスタリング方法を使用してもよいし、その他の既存又は将来開発のクラスタリング方法を使用してもよい。異なる距離メトリックがクラスタリングの結果に影響を及ぼし、ユークリッド距離、マンハッタン距離、チェビシェフ距離などの距離メトリックに基づいて空間クラスタリングすることができる。
空間クラスタリングによって、同一のヒープに属するキーフレーム抽象的な情報の三次元世界座標が近く、異なるヒープの互いの間の距離が遠い可能性がある。
【0070】
ステップS1323、上記ステップS1322の空間クラスタリングによって得られたN個のヒープに従って該視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化する。
【0071】
上記N個のヒープをグループ化することによって、空間が近接するグループを取得することができる。それにより、視覚的自己位置推定マップをキーフレーム空間の近接関係に従ってマップサブファイルに分解することができる。使用時に現在の位置に応じて近接空間のマップサブファイルをロードすることが容易になり、それにより、マップリアルタイムロード切替の時間効率を向上させ且つメモリの空間効率を向上させる。
【0072】
一例として、上記N個のヒープにおける各々を直接に1つのグループとすることができる。このように得られたグループはキーフレームに空間近接関係を有する自然グループであり、これにより、キーフレームの空間関係に従って視覚的自己位置推定マップを分解し得て、一般的に様々なアプリケーションシナリオに適する。
一例として、視覚的自己位置推定マップにおける全てのキーフレームの数Mに従って下式でグループの数Nを計算し、Sがグループ閾値であり、
である。
【0073】
一例として、上記ステップS1323は以下のサブステップを含み、図5に示すように、グループ閾値の大きさに従って空間クラスタリングによって得られたN個のヒープをグループ化する。
【0074】
サブステップS1323_1、前記N個のヒープにおける1つのヒープのキーフレーム抽象的な情報を1つずつに1つのグループに充填し、該ヒープ内の全てのキーフレーム抽象的な情報を充填するまで、或いは該グループにおけるキーフレーム抽象的な情報の数がグループ閾値Sに達するまで、次に、次のグループを充填し始める。なお、該ヒープはN個のヒープからランダムに選択することができる。
【0075】
該ヒープ内のキーフレーム抽象的な情報の数がグループ閾値S以下である場合に対して、該ヒープへの充填ステップは該ヒープ内の全てのキーフレーム抽象的な情報の充填が完了した時に終了する。該ヒープ内のキーフレーム抽象的な情報の数がグループ閾値より大きい場合に対して、該ヒープへの充填ステップは該グループにおけるキーフレーム抽象的な情報の数がグループ閾値Sに達した時に終了する。該ヒープ内の残されたグループ化されないキーフレーム抽象的な情報を次のグループに充填する。
【0076】
サブステップS1323_2、前記N個のヒープを遍歴するように、前記N個のヒープの中で操作されないヒープが存在する場合に対して、現在の操作ヒープのクラスタリングの中心点から最も近い1つの操作されないヒープを選択して前記充填ステップを繰り返して実行する。ここで、グループ化の操作を続けるように、ヒープのクラスタリングの中心点の間の距離に応じて新たなヒープを選択する。このように、距離が近いキーフレームのキーフレーム抽象的な情報を同じなグループにグループ化することを確保することができる。例えば、ヒープAの充填ステップでは、該ヒープAにおけるキーフレーム抽象的な情報の一部をグループaに充填したが、グループaにおけるキーフレーム抽象的な情報の数がグループ閾値Sに達するまで、ヒープAの中で一部のキーフレーム抽象的な情報が残る。残されたキーフレーム抽象的な情報を次のグループbに充填する。グループbにおけるキーフレーム抽象的な情報の数がグループ閾値Sに達しないと、その後に選択したヒープBをグループbに充填し続ける。上記N個のヒープの遍歴方法によってヒープAとヒープBとの距離が最も近いのを確保する。これによって、同一のグループにおけるキーフレーム抽象的な情報に対応するキーフレームの距離が近いのを確保する。さらに、各マップサブファイルにおけるキーフレームの間の距離が近いのを確保するとともに、一部のマップのロード効率を確保する。
【0077】
図6は本発明の一実施例によるグループ閾値の大きさに従って空間クラスタリングによって得られたN個のヒープをグループ化する概略プロセスブロック図である。以下、図6を参照しながら、上記ステップS1323及びサブステップS1323_1とサブステップS1323_2の具体的な実施プロセスを詳細に説明する。
【0078】
ステップa、現在グループにおけるキーフレーム抽象的な情報の数Zを0に初期化し、且つ上記ステップS1322の空間クラスタリングによって得られたN個のヒープから1つのヒープを現在の操作ヒープとして任意に選択する。
【0079】
ステップb、(D+Z)及びSを比較して、(D+Z)<Sであると、ステップcを実行し、そうでないと、ステップdを実行する。Dは現在操作ヒープにおけるキーフレーム抽象的な情報の数である。
ステップc、(D+Z)<Sの場合に対して、以下のような操作を実行し、
該現在の操作ヒープにおけるD個のキーフレーム抽象的な情報を現在のグループに充填し、
現在グループにおけるキーフレーム抽象的な情報の数Z=(D+Z)を更新して、ステップeに進む。
ステップd、(D+Z)≧Sの場合に対して、以下のような操作を実行し、
【0080】
該現在の操作ヒープにおける(SーZ)個のキーフレーム抽象的な情報を現在グループに充填して、現在の操作ヒープにおけるキーフレーム抽象的な情報の数D=(D+ZーS)を更新し、
【0081】
次の充填操作の現在グループとするように、新たなグループを作成し、且つ新たなグループにおけるキーフレーム抽象的な情報の数Zを0とし、次にステップbに進む。
ステップe、操作されないヒープが存在するか否かを決定し、操作されないヒープが存在すると、ステップfを実行し、存在しないと、ステップgを実行する。
【0082】
ステップf、現在の操作ヒープのクラスタリング中心点から最も近い1つの操作されないヒープを選択して、上記充填ステップb、ステップc及びステップdを繰り返して実行する。
ステップg、操作されないヒープが存在しないと、N個のヒープの遍歴を完成し、グループが終了する。
【0083】
上記グループ閾値の大きさに従って空間クラスタリングによって得られたN個のヒープをグループ化する方法は、最後のグループ以外、その他のグループのキーフレーム数が同じである。これにより、空間関係に従って視覚的自己位置推定マップを分解して、大きさが大差ないマップサブファイルを取得することができ、メモリ管理が容易になり、一般的に様々なアプリケーションシナリオに適する。
【0084】
図7は本発明の一実施例による空間クラスタリングのN個のヒープに基づいて視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化する結果模式図である。異なる灰色の線は異なるグループを表す。灰色の線の傍らの数字は該グループのシリアル番号である。視覚的自己位置推定マップは三次元マップであり、グループ化効果を理解しやすくするために、図7は二次元平面模式図である。図7に示すように、該視覚的自己位置推定マップは図3と類似する双方向道路の環境マップ作成である。上記空間クラスタリングに基づくグループ化方法を使用して、該視覚的自己位置推定マップを12個のサブマップに分解する。各サブマップ空間が集めて且つサブマップ間に相対的に独立する。これにより、使用時の現在位置に応じてマップサブファイルをロードすることが容易になる。
【0085】
一例として、図8に示すように、ステップS1400は、各グループに対して、該グループのキーフレーム抽象的な情報を用いて該グループのマップサブファイルを生成して記憶することは以下のようなサブステップを含み、図8に示すように、各グループに対して、以下のようなサブステップを実行し得る。
【0086】
サブステップS1410、視覚的自己位置推定マップから該グループにおけるキーフレーム抽象的な情報に対応するキーフレームを抽出して該グループのマップサブファイルに充填する。
【0087】
各グループに対して、対応するマップサブファイルを作成する。グループに含まれたキーフレーム抽象的な情報における一意の識別番号に基づいて、視覚的自己位置推定マップから該一意の識別番号に対応するキーフレームを抽出して、該グループに対応するマップサブファイルに充填する。このように該グループに含まれた全てのキーフレーム抽象的な情報を遍歴し、対応する全てのキーフレームを該グループに対応するマップサブファイルに充填する。
【0088】
サブステップS1420、視覚的自己位置推定マップから該グループにおけるキーフレーム抽象的な情報にマッチするマップポイントを抽出して該グループのマップサブファイルに充填する。
【0089】
グループに含まれたキーフレーム抽象的な情報における一意の識別番号に基づいて、視覚的自己位置推定マップから該一意の識別番号に対応するキーフレームにマッチするマップポイントを抽出して、該グループに対応するマップサブファイルに充填する。このように該グループに含まれた全てのキーフレーム抽象的な情報を遍歴し、対応する全てのキーフレームはそれぞれマッチしたマップポイントを該グループに対応するマップサブファイルに充填する。
【0090】
図9は本発明の一実施例によるマップサブファイルがデータを含む模式図である。グループ1は3つのキーフレーム抽象的な情報を含み、それぞれキーフレームK1、K2及びK3に属する。キーフレームK1、K2及びK3にマッチするマップポイントはM1~M8の合計で8個のマップポイントがある。該視覚的自己位置推定マップからキーフレームK1、K2およびK3及びマップポイントM1~M8を抽出してグループ1のマップサブファイル1に充填する。グループ2も3つのキーフレーム抽象的な情報を含む、それぞれキーフレームK4、K5及びK6に属する。キーフレームK4、K5及びK6にマッチするマップポイントはM6~M10の合計で5つのマップポイントがある。該視覚的自己位置推定マップからキーフレームK4、K5およびK6及びマップポイントM6~M10を抽出してグループ2のマップサブファイル2に充填する。これから見ると、マップサブファイル1とマップサブファイル2は全て共通視野関係を有するマップポイントM6、M7及びM8を含む。
【0091】
上記方法によって、データ量が巨大で単一の視覚的自己位置推定マップファイルを複数のデータ量が適切なマップサブファイルに分解し、ファイルのロード効率と記憶空間効率を向上させるようにする。
【0092】
一例として、ステップS1500、図10に示すように、全てのグループのキーフレーム抽象的な情報に基づいてキーフレーム空間インデックス情報を確立することは、以下のようなサブステップを含む。
サブステップS1510、各キーフレームの三次元世界座標に基づいてキーフレーム空間インデックス情報のキーワードを構築する。
サブステップS1520、各キーフレームのグループ番号に基づいて前記キーフレーム空間インデックス情報のインデックス値を決定する。
【0093】
従来技術又は将来の開発技術を用いて上記キーフレーム空間インデックス情報、例えばK次元ツリー(KーDimensional Treeは、単にKDーTreeと呼ばれる)空間データ構造を構築し得る。キーフレーム空間インデックス情報に基づいて、三次元世界座標によって範囲検索及び/又は最近傍検索を行うことができる。例えば、自動運転車の現在位置に基づいて、該現在位置を中心として、半径が2キロの範囲のキーフレームを検索することができる。また、例えば、現在位置に基づいて、距離が最も近い50個のキーフレームを検索することができる。それにより、これらのキーフレームが属するグループ番号を取得し、グループ番号に従って対応するマップサブファイルをロードし、該現在位置を中心として一部のマップを構築するようにする。
【0094】
あるいは、インデックス値は、キーフレーム抽象的な情報とそのグループにおける該キーフレーム抽象的な情報のオフセット、即ち該キーフレーム抽象的な情報が該グループにおける何番目の抽象的な情報であることを含んでもよい。
【0095】
一例として、ステップS1400、各グループに対して、該グループのキーフレーム抽象的な情報を用いて該グループのマップサブファイルを生成して記憶することは、各マップサブファイルのチェックサムを計算することをさらに含む。
【0096】
一例として、ステップS1600、図11に示すように、前記キーフレーム空間インデックス情報に基づいてマップマスターファイルを生成して記憶することは、以下のサブステップをさらに含む。
【0097】
ステップS1610、ステップS1500で構築されたキーフレーム空間インデックス情報とステップS1400で計算されたチェックサムを用いてマップメタデータを構築する。
ステップS1620、上記マップメタデータを記憶して且つマップマスターファイルに出力する。
【0098】
マップマスターファイルに基づいて、必要なマップサブファイルにインデックスを付けて且つ該マップサブファイルのチェックサムを取得することができる。そのチェックサムを用いてマップサブファイルに対してデータ完全性チェックを行うことができ、これにより、ロードされたマップサブファイルのデータ完全性を確保し、システムの信頼性を向上させる。
【0099】
本発明の別の態様によると、視覚的自己位置推定マップを記憶するための装置をさらに提供する。図12は本発明の一実施例による視覚的自己位置推定マップを記憶するための装置の模式的なブロック図である。図12に示すように、装置2000は、取得モジュール2100、抽出モジュール2200、グループ化モジュール2300、サブファイル生成モジュール2400、インデックス確立モジュール2500及びマスターファイル生成モジュール2600を備える。
【0100】
取得モジュール2100は、視覚的自己位置推定マップを取得することに用いられる。抽出モジュール2200は、前記視覚的自己位置推定マップにおける各キーフレームのキーフレーム抽象的な情報を抽出することに用いられる。グループ化モジュール2300は、前記視覚的自己位置推定マップにおける全てのキーフレームのキーフレーム抽象的な情報をグループ化することに用いられる。サブファイル生成モジュール2400は、各グループに対して、該グループのキーフレーム抽象的な情報を用いて該グループのマップサブファイルを生成して記憶することに用いられる。インデックス確立モジュール2500は、全てのグループのキーフレーム抽象的な情報に基づいてキーフレーム空間インデックス情報を確立する。マスターファイル生成モジュール2600は、前記キーフレーム空間インデックス情報に基づいてマップマスターファイルを生成して記憶し、前記マップサブファイルにインデックスを付けることに用いられる。
【0101】
要するに、視覚的自己位置推定マップを記憶するための装置2000における各モジュールは上記視覚的自己位置推定マップの記憶方法における対応するステップを具体的に実行することに用いられる。上記該方法に関する記述を読むことによって、当業者は、上記視覚的自己位置推定マップを記憶するための装置2000の具体的な実現と技術的効果を理解できる。
【0102】
本発明の別の態様によると、視覚的自己位置推定マップを記憶するためのシステムをさらに提供する。該システムはプロセッサーとメモリを含む。前記メモリに本発明の実施例による視覚的自己位置推定マップの記憶方法における各ステップを実現するためのコンピュータプログラム命令が含まれる。前記プロセッサーは、本発明の実施例による視覚的自己位置推定マップの記憶方法の対応するステップを実行するように、前記メモリに記憶されたコンピュータプログラム命令を運転することに用いられ、且つ本発明の実施例による視覚的自己位置推定マップを記憶するための装置2000における取得モジュール2100、抽出モジュール2200、グループ化モジュール2300、サブファイル生成モジュール2400、インデックス確立モジュール2500及びマスターファイル生成モジュール2600を実現することに用いられる。
【0103】
本発明の更なる態様によると、記憶媒体をさらに提供し、前記記憶媒体にプログラム命令が記憶されており、前記プログラム命令がコンピューター又はプロセッサーによって運転される場合に前記コンピューター又はプロセッサーが本発明の実施例による視覚的自己位置推定マップの記憶方法の対応するステップを実行させ、且つ本発明の実施例による視覚的自己位置推定マップを記憶するための装置における対応するモジュールを実現することに用いられる。前記記憶媒体は例えばタブレットの記憶媒体、パソコンのハードディスク、読み取り専用メモリ(ROM)、消去可能なプログラム可能な読み取り専用メモリ(EPROM)、ポータブルコンパクトディスク読み出し専用メモリ(CDーROM)、USBメモリ、或いは上記記憶媒体の任意の組み合わせを含んでもよい。前記コンピューター読み取り可能な記憶媒体は1つ又は複数のコンピューター読み取り可能な記憶媒体の任意の組み合わせであってもよい。
【0104】
なお、本発明の一態様によると、視覚的自己位置推定マップロード方法を提供する。図13は、本発明の一実施例による視覚的自己位置推定マップロード方法3000の概略フローチャートである。図13に示すように、方法3000は、以下のステップを含む。
【0105】
ステップS3100、視覚的自己位置推定マップの、上記視覚的自己位置推定マップ記憶方法によって得られたマップマスターファイルとマップサブファイルを取得する。
【0106】
本発明の実施例による視覚的自己位置推定マップ記憶方法、装置、システム又は記憶媒体によって取得された視覚的自己位置推定マップのマップマスターファイルとマップサブファイルを取得する。マップサブファイルは該視覚的自己位置推定マップの分解サブマップである。マップマスターファイルに各マップサブファイルを説明するメタデータが記憶される。該メタデータに視覚的自己位置推定マップのキーフレームの三次元世界座標に基づいて構築したキーフレーム空間インデックス情報が含まれてもよい。該メタデータに各マップサブファイルのチェックサムがさらに含まれてもよい。該メタデータを用いてマップサブファイル及び関連情報にインデックスを付けることができる。
【0107】
ステップS3200、特定の位置の三次元世界座標に基づいてステップS3100で取得されたマップマスターファイルからインデックスを付け、予め定義されたローカルマップの範囲情報に対応するキーフレームのグループ番号を取得するようにする。
【0108】
特定の位置は例えば自動運転車の現在の自己位置推定位置である。実際のアプリケーションシナリオ及び/又はシステムリソースに応じて、予め定義された部分マップの範囲情報を決定することができる。例えば高速で走行する自動運転車は、ナビゲーションと自己位置推定のためにより広い地理的領域の部分マップを使用する必要がある。システムに多くのメモリリソースがある場合は、より大きな部分マップをロードすることもできる。該特定の位置の三次元世界座標をキーワードとして用いてステップS3100で取得されたマップマスターファイルから予め定義された部分マップの範囲情報内でのキーフレームのグループ番号にインデックスを付ける。インデックスを付けたグループ番号に応じて、対応するマップサブファイルをロードして部分マップを構築する。一つの例では、現在位置に基づいて100個のキーフレームにインデックスを付け、この100個のキーフレームのグループ番号が3、4、5を含む。
【0109】
一例として、上記予め定義された部分マップの範囲情報に特定の位置の三次元世界座標から最も近いキーフレームの数、例えば、現在位置の三次元世界座標から最も近い100個のキーフレームが含まれる。
【0110】
一例として、上記予め定義された部分マップの範囲情報に特定の位置の三次元世界座標を円心とする半径距離、例えば、現在位置を円心として、半径距離が3キロである範囲が含まれる。
【0111】
ステップS3300、ステップS3200で取得されたグループ番号に従って、対応するマップサブファイルをロードして部分マップを構築する。上記例では、グループ番号がそれぞれ3、4及び5のグループに対応するマップサブファイル3、マップサブファイル4及びマップサブファイル5をロードして必要な部分マップを構築することができる。
あるいは、方法3000は、部分マップにおけるグループ番号に対応しないマップサブファイルのメモリ空間を解放する。
【0112】
現在位置のリアルタイム変化に伴って、例えば自動運転車の走行過程において、必要な部分マップもリアルタイムで更新する必要がある。新たな位置に基づいてインデックスを付けて新たなグループ番号を取得する。また上記例を例として、現在位置が変化した後、インデックスを付けた新たなグループ番号は4、5、7である。現在にロードしたマップサブファイル3、マップサブファイル4及びマップサブファイル5と比べて、4、5が元のグループ番号であり、7が新たなグループ番号であり、3が不必要なグループ番号であることが分かる。これにより、マップサブファイル4とマップサブファイル5が既に現在の部分マップに存在しており、マップサブファイル7のみをロードする必要がある。それと同時に、マップサブファイル3の必要がないため、マップサブファイル3のメモリ空間を解放することができる。それにより不必要なメモリ消耗を節約して、システムの使用効率を向上させることができる。
【0113】
一例として、ステップS3300、グループ番号に従って対応するマップサブファイルをロードして前記部分マップを構築することは、以下のようなサブステップをさらに含み、
サブステップ1、マップマスターファイルからグループ番号に対応するマップサブファイルのチェックサムを取得する。
サブステップ2、該チェックサムに基づいて該グループ号に対応するマップサブファイルをチェックする。
【0114】
マップサブファイルの生成時に計算されたチェックサムを用いて、ロードされたマップサブファイルをチェックすることによって、マップサブファイルデータの完全性を確保する。これにより、システムの信頼性を向上させる。
【0115】
本発明の別の態様によると、視覚的自己位置推定マップをロードするための装置をさらに提供する。図14は、本発明の一実施例による視覚的自己位置推定マップをロードするための装置の模式的なブロック図である。図14に示すように、装置4000は取得モジュール4100、インデックスモジュール4200及び構築モジュール4300を備える。
【0116】
取得モジュール4100は、視覚的自己位置推定マップの、上記視覚的自己位置推定マップ記憶方法によって得られたマップマスターファイルとマップサブファイルを取得することに用いられる。インデックスモジュール4200は、特定の位置の三次元世界座標に基づいて前記マップマスターファイルからインデックスを付けて、予め定義された部分マップの範囲情報に対応するキーフレームのグループ番号を取得することに用いられる。構築モジュール4300は、前記グループ番号に従って対応するマップサブファイルをロードして前記部分マップを構築することに用いられる。
【0117】
要するに、視覚的自己位置推定マップをロードするための装置4000における各モジュールは上記視覚的自己位置推定マップのロード方法における対応するステップを具体的に実行することに用いられる。上記該方法に関する記述を読むことによって、当業者は、上記視覚的自己位置推定マップをロードするための装置4000の具体的な実現と技術的効果を理解できる。
【0118】
本発明の別の態様によると、視覚的自己位置推定マップをロードするためのシステムをさらに提供する。該システムはプロセッサーとメモリを含む。前記メモリに本発明の実施例による視覚的自己位置推定マップのロード方法における各ステップを実現するためのコンピュータプログラム命令が含まれる。前記プロセッサーは、本発明の実施例による視覚的自己位置推定マップのロード方法の対応するステップを実行するように、前記メモリに記憶されたコンピュータプログラム命令を運転することに用いられ、且つ本発明の実施例による視覚的自己位置推定マップをロードするための装置4000における取得モジュール4100、インデックスモジュール4200及び構築モジュール4300を実現することに用いられる。
【0119】
本発明の更なる態様によると、記憶媒体をさらに提供し、前記記憶媒体にプログラム命令が記憶されており、前記プログラム命令がコンピューター又はプロセッサーによって運転される場合に前記コンピューター又はプロセッサーが本発明の実施例による視覚的自己位置推定マップのロード方法の対応するステップを実行させ、且つ本発明の実施例による視覚的自己位置推定マップをロードするための装置における対応するモジュールを実現することに用いられる。前記記憶媒体は例えばタブレットの記憶媒体、パソコンのハードディスク、読み取り専用メモリ(ROM)、消去可能なプログラム可能な読み取り専用メモリ(EPROM)、ポータブルコンパクトディスク読み出し専用メモリ(CDーROM)、USBメモリ、或いは上記記憶媒体の任意の組み合わせを含んでもよい。前記コンピューター読み取り可能な記憶媒体は1つ又は複数のコンピューター読み取り可能な記憶媒体の任意の組み合わせであってもよい。
【0120】
本明細書に開示される実施形態と組み合わせて説明される各例のユニットおよびアルゴリズムステップは、電子ハードウェア、またはコンピュータソフトウェアと電子ハードウェアの組み合わせによって実装できることを当業者は理解するであろう。これらの機能がハードウェアで実行されるかソフトウェアで実行されるかは、特定のアプリケーションと技術ソリューションの設計上の制約に依存します。当業者は、特定のアプリケーションごとに説明された機能を実装するために異なる方法を使用することができるが、そのような実装は本発明の範囲を超えると見なされるべきではない。
【0121】
本出願で提供されるいくつかの実施形態では、開示されたデバイスおよび方法は他の方法で実装され得ることを理解されたい。たとえば、上記のデバイスの実施形態は概略的なものに過ぎず、たとえば、ユニットの分割は論理的な機能の分割にすぎない。実際の実装では、別の分割方法があり得る。別のデバイスに統合することも、一部の機能を無視するか実装しないこともできます。
【0122】
ここで提供される説明では、多くの具体的な詳細が説明されています。しかし、本発明の実施形態は、これらの特定の詳細なしで実施され得ることが理解される。場合によっては、仕様の理解を不明瞭にしないために、よく知られている方法、構造、および手法は詳細に示されていません。
【0123】
同様に、本発明を合理化し、本発明の様々な態様の1つまたは複数の理解を助けるために、本発明の例示的な実施形態を説明する際に、本発明の様々な特徴が単一の実施形態、図、またはその説明で。しかしながら、本発明の方法は、請求された発明が各請求項で明示的に列挙された特徴よりも多くの特徴を必要とするという意図を反映するように解釈されるべきではない。むしろ、対応する特許請求の範囲に反映されるように、本発明は、開示された単一の実施形態のすべての特徴よりも少ない特徴で対応する技術的問題を解決できることである。したがって、特定の実施形態に続くクレームは、この特定の実施形態に明示的に組み込まれ、各クレーム自体が本発明の別個の実施形態として機能する。
【0124】
当業者は、特徴の相互排除に加えて、本明細書に開示されるすべての特徴のすべての組み合わせ(添付の特許請求の範囲、要約、および図面を含む)およびそのように開示される方法またはデバイスを理解することができる。プロセスまたはユニットは結合されます。本明細書で開示される各機能(添付の特許請求の範囲、要約、および図面を含む)は、特に明記しない限り、同じ、同等、または同様の目的を果たす代替機能に置き換えることができます。
【0125】
さらに、当業者は、本明細書に記載のいくつかの実施形態が他の実施形態に含まれるいくつかの特徴を含むが他の特徴は含まないが、異なる実施形態の特徴の組み合わせは本発明の範囲内であることを理解できる異なる実施形態内で形成する。例えば、請求項において、請求された実施形態のいずれか1つは、任意の組み合わせで使用することができる。
【0126】
本発明の様々な構成要素の実施形態は、ハードウェアによって、または1つ以上のプロセッサ上で実行されるソフトウェアモジュールによって、またはそれらの組み合わせによって実装され得る。当業者は、実際には、マイクロプロセッサまたはデジタル信号プロセッサ(DSP)を使用して、本発明の実施形態による視覚測位マップローディング装置のいくつかのモジュールの一部またはすべての機能を実装できることを理解するはずである。本発明は、本明細書に記載の方法の一部または全部を実行するためのデバイスプログラム(たとえば、コンピュータプログラムおよびコンピュータプログラム製品)として実装することもできる。本発明を実施するそのようなプログラムは、コンピュータ可読媒体に格納されてもよいし、1つ以上の信号の形態を有してもよい。このような信号は、インターネットWebサイトからダウンロードしたり、キャリア信号で提供したり、他の形式で提供したりできます。
【0127】
上述の実施形態は、本発明を限定するのではなく本発明を例示するものであり、当業者は、添付の特許請求の範囲から逸脱することなく代替実施形態を設計できることに留意されたい。請求項では、括弧の間に置かれた参照符号は、請求項を制限するものとして解釈されないものとします。 「含む」という言葉は、クレームにリストされていない要素またはステップの存在を排除するものではありません。要素に先行する単語「a」または「an」は、複数のそのような要素の存在を排除しない。本発明は、いくつかの別個の要素を含むハードウェアによって、および適切にプログラムされたコンピュータによって実施することができる。いくつかのデバイスをリストするユニットクレームでは、これらのデバイスのいくつかは同じハードウェアアイテムによって具現化されます。単語first、second、およびthirdの使用は、順序を意味するものではありません。これらの単語は名前として解釈できます。
【0128】
上記の説明は、本発明の特定の実施形態または特定の実施形態の説明に過ぎず、本発明の保護範囲はこれに限定されず、当業者であれば、本発明が開示する技術的範囲内で容易に変更を加えることができる。あらゆる変更または交換は、本発明の保護範囲に含まれるとみなされる。本発明の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14