TWI745818B - 視覺定位方法、電子設備及電腦可讀儲存介質 - Google Patents

視覺定位方法、電子設備及電腦可讀儲存介質 Download PDF

Info

Publication number
TWI745818B
TWI745818B TW108148436A TW108148436A TWI745818B TW I745818 B TWI745818 B TW I745818B TW 108148436 A TW108148436 A TW 108148436A TW 108148436 A TW108148436 A TW 108148436A TW I745818 B TWI745818 B TW I745818B
Authority
TW
Taiwan
Prior art keywords
image
target
candidate
sequence
images
Prior art date
Application number
TW108148436A
Other languages
English (en)
Other versions
TW202109357A (zh
Inventor
鮑虎軍
章國鋒
余海林
葉智超
盛崇山
Original Assignee
大陸商浙江商湯科技開發有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 大陸商浙江商湯科技開發有限公司 filed Critical 大陸商浙江商湯科技開發有限公司
Publication of TW202109357A publication Critical patent/TW202109357A/zh
Application granted granted Critical
Publication of TWI745818B publication Critical patent/TWI745818B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/587Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/36Applying a local operator, i.e. means to operate on image points situated in the vicinity of a given point; Non-linear local filtering operations, e.g. median filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/752Contour matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/7625Hierarchical techniques, i.e. dividing or merging patterns to obtain a tree-like representation; Dendograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/86Arrangements for image or video recognition or understanding using pattern recognition or machine learning using syntactic or structural representations of the image or video pattern, e.g. symbolic string recognition; using graph matching
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Library & Information Science (AREA)
  • Remote Sensing (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Nonlinear Science (AREA)
  • Image Analysis (AREA)

Abstract

本公開實施例關於電腦視覺領域,公開了一種視覺定位方法、電子設備和電腦可讀儲存介質,該方法包括:從圖像庫中確定第一備選圖像序列;所述圖像庫用於構建電子地圖,所述第一備選圖像序列中的各幀圖像按照與第一圖像的匹配度順序排列,所述第一圖像為相機採集的圖像;根據目標視窗調整所述第一備選圖像序列中各幀圖像的順序,得到第二備選圖像序列;所述目標視窗為從圖像庫中確定的包含目標幀圖像的連續多幀圖像,所述目標幀圖像為所述圖像庫中與第二圖像相匹配的圖像,所述第二圖像為所述相機在採集到第一圖像之前所採集的圖像;根據所述第二備選圖像序列確定所述相機在採集所述第一圖像時的目標位姿。

Description

視覺定位方法、電子設備及電腦可讀儲 存介質
本公開關於電腦視覺領域但不限於電腦視覺領域,尤其關於一種視覺定位方法、電子設備及電腦可讀儲存介質。
定位技術在人們的日常生活中非常重要。由於全球定位系統(Global Positioning System,GPS)進行定位,但是GPS定位多用於室外定位。目前,室內定位系統的實現主要是基於Wi-Fi信號、藍牙信號和超寬頻技術(Ultra Wide Band,UWB)等。基於Wi-Fi信號的定位,需要事先佈置好很多無線接入點(Access Point,AP)。
視覺資訊獲取簡單方便,不需要對場景進行改造,用手機等設備拍攝圖像就能獲取周圍豐富的視覺資訊。基於視覺的定位技術是利用手機等圖像或視頻採集設備採集的視覺資訊(圖像或視頻)進行定位。
本公開實施例提供視覺定位方法、電子設備及電腦可讀儲存介質。
第一方面,本公開實施例提供了一種視覺定位方法,該方法包括:從圖像庫中確定第一備選圖像序列;所述圖像庫用於構建電子地圖,所述第一備選圖像序列中的各幀圖像按照與第一圖像的匹配度順序排列,所述第一圖像為相機採集的圖像;根據目標視窗調整所述第一備選圖像序列中各幀圖像的順序,得到第二備選圖像序列;所述目標視窗為從圖像庫中確定的包含目標幀圖像的連續多幀圖像,所述目標幀圖像為所述圖像庫中與第二圖像相匹配的圖像,所述第二圖像為所述相機在採集到第一圖像之前所採集的圖像;根據所述第二備選圖像序列確定所述相機在採集所述第一圖像時的目標位姿。
本申請本公開實施例,利用圖像幀在時序上的連貫性,有效提升連續幀的定位速度。
在一些實施例中,所述根據所述第二備選圖像序列確定所述相機在採集所述第一圖像時的目標位姿包括:根據第一圖像序列和所述第一圖像,確定所述相機的第一位姿;所述第一圖像序列包括所述圖像庫中與第一參考幀圖像相鄰的連續多幀圖像,所述第一參考幀圖像包含於所述第二備選序列所述第一參考幀圖像包含於所述第二備選圖像序列;在確定根據所述第一位姿成功定位所述相機的位置的情況下,確定所述第一位姿為所述目標位姿。
在一些實施例中,所述根據第一圖像序列和所述第一圖像,確定所述相機的第一位姿之後,所述方法還包括:在確定根據所述第一位姿未成功定位所述相機的位置的情況,根據第二圖像序列和所述第一圖像,確定所述相機的第二位姿;所述第二圖像序列包括所述圖像庫中與第二參考幀圖像相鄰的連續多幀圖像,所述第二參考幀圖像為所述第二備選圖像序列中所述第一參考幀圖像的後一幀圖像或前一幀圖像;在確定根據所述第二位姿成功定位所述相機的位置的情況下,確定所述第二位姿為所述目標位姿。
在一些實施例中,所述根據第一圖像序列和所述第一圖像,確定所述相機的第一位姿包括:從所述第一圖像序列中各圖像提取的特徵中,確定與從所述第一圖像提取的特徵相匹配的F個特徵,F為大於0的整數;根據所述F個特徵、所述F個特徵在點雲地圖中對應的空間座標點以及所述相機的內參,確定所述第一位姿;所述點雲地圖為待定位場景的電子地圖,所述待定位場景為所述相機採集所述第一圖像時所處的場景。
在一些實施例中,所述根據目標視窗調整第一備選圖像序列中各幀圖像的順序,得到第二備選圖像序列包括:在所述第一備選圖像序列中的各幀圖像按照與所述第一圖像的匹配度從低到高的順序排列的情況下,將所述第一備選圖像序列中位於所述目標視窗的圖像調整至所述第一備選圖像序列最後位置;在所述第一備選圖像序列中的各幀圖像按照與所述第一圖像的匹配度從高到低的順序排列的情 況下,將所述第一備選圖像序列中位於所述目標視窗的圖像調整至所述第一備選圖像序列最前位置。
在一些實施例中,所述從圖像庫中確定第一備選圖像序列包括:
確定所述圖像庫中對應的視覺詞向量與所述第一圖像對應的視覺詞向量相似度最高的多個備選圖像;所述圖像庫中任一圖像對應一個視覺詞向量,所述圖像庫中的圖像用於構建所述目標設備採集所述第一圖像時所處的待定位場景的電子地圖;
將所述多個備選圖像分別與所述第一圖像做特徵匹配,得到各備選圖像與所述第一圖像相匹配的特徵的數量;
獲取所述多個備選圖像中與所述第一圖像的特徵匹配數量最多的M個圖像,得到所述第一備選圖像序列。
在一些實施例中,所述確定所述圖像庫中對應的視覺詞向量與所述第一圖像對應的視覺詞向量相似度最高的多個備選圖像包括:確定所述圖像庫中與所述第一圖像對應至少一個相同視覺單詞的圖像,得到多個初選圖像;所述圖像庫中任一圖像對應至少一個視覺單詞,所述第一圖像對應至少一個視覺單詞;確定所述多個初選圖像中對應的視覺詞向量與所述第一圖像的視覺詞向量相似度最高的多個備選圖像。
在一些實施例中,所述確定所述多個初選圖像中對應的視覺詞向量與所述第一圖像的視覺詞向量相似度最高的多個備選圖像包括:確定所述多個初選圖像中對應的 視覺詞向量與所述第一圖像的視覺詞向量相似度最高的前百分之Q的圖像,得到所述多個備選圖像;Q為大於0的實數。
在一些實施例中,所述確定所述多個初選圖像中對應的視覺詞向量與所述第一圖像的視覺詞向量相似度最高的多個備選圖像包括:
利用詞彙樹將從所述第一圖像提取的特徵轉換為目標詞向量;所述詞彙樹為將從所述待定位場景採集的訓練圖像中提取的特徵進行聚類得到的;
分別計算所述目標詞向量與所述多個初選圖像中各初選圖像對應的視覺詞向量的相似度;所述多個初選圖像中任一初選圖像對應的視覺詞向量為利用所述詞彙樹由從所述任一初選圖像提取的特徵得到的視覺詞向量;
確定所述多個初選圖像中對應的視覺詞向量與所述目標詞向量相似度最高的多個備選圖像。
在該實現方式中,利用詞彙樹將從第一圖像提取的特徵轉換為目標詞向量,通過計算目標詞向量與各初選圖像對應的視覺詞向量的相似度來得到多個備選圖像,可以快速、準確地篩選出備選圖像。
在一些實施例中,所述詞彙樹中的每一個葉子節點對應一個視覺單詞,所述詞彙樹中最後一層的節點為葉子節點;所述利用詞彙樹將從所述第一圖像提取的特徵轉換為目標詞向量包括:
計算所述詞彙樹中各葉子節點對應的視覺單詞在所述第一圖像對應的權重;
將由所述各葉子節點對應的視覺單詞在所述第一圖像對應的權重組合成一個向量,得到所述目標詞向量。
在該實現方式中,可以快速地計算得到目標詞向量。
在一些實施例中,所述詞彙樹的每一個節點對應一個聚類中心;所述計算所述詞彙樹對應的各視覺單詞在所述第一圖像對應的權重包括:
利用所述詞彙樹對從所述第一圖像提取的特徵進行分類,得到分類到目標葉子節點的中間特徵;所述目標葉子節點為所述詞彙樹中的任意一個葉子節點,所述目標葉子節點與目標視覺單詞相對應;
根據所述中間特徵、所述目標視覺單詞的權重以及所述目標視覺單詞對應的聚類中心,計算所述目標視覺單詞在所述第一圖像對應的目標權重;所述目標權重與所述目標視覺單詞的權重正相關,所述目標視覺單詞的權重為根據生成所述詞彙樹時所述目標視覺單詞對應的特徵數量確定的。
在一些實施例中,所述中間特徵包括至少一個子特徵;所述目標權重為所述中間特徵包括的各子特徵對應的權重參數之和;所述子特徵對應的權重參數與特徵距離負相關,所述特徵距離為所述子特徵與對應的聚類中心的漢明距離。
在該實現方式中,考慮了落在同一視覺單詞當中的特徵的差異性。
在一些實施例中,所述將所述多個備選圖像分別與所述第一圖像做特徵匹配,得到各備選圖像與所述第一圖像相匹配的特徵的數量包括:
根據詞彙樹將從所述第一圖像提取的第三特徵分類至葉子節點;所述詞彙樹為將從所述待定位場景採集的圖像中提取的特徵進行聚類得到的;所述詞彙樹的最後一層的節點為葉子節點,每個葉子節點包含多個特徵;
對各所述葉子節點中的所述第三特徵和第四特徵做特徵匹配,以得到各所述葉子節點中與所述第三特徵相匹配的第四特徵;所述第四特徵為從目標備選圖像提取的特徵,所述目標備選圖像包含於所述第一備選圖像序列中的任一圖像;
根據各所述葉子節點中與所述第三特徵相匹配的第四特徵,得到所述目標備選圖像與所述第一圖像相匹配的特徵的數量。
採用這種方式,可以減少特徵匹配的運算量,大幅度提高特徵匹配的速度。
在一些實施例中,所述根據所述F個特徵、所述F個特徵在點雲地圖中對應的空間座標點以及所述相機的內參,確定所述第一位姿之後,所述方法還包括:
根據轉換矩陣和所述第一位姿,確定所述相機的三維位置;所述轉換矩陣為通過變換所述點雲地圖的角度和位置,將所述點雲地圖的輪廓和室內平面圖對齊得到的。
在一些實施例中,所述確定所述第一位姿成功定位所述相機的位置的情況包括:確定L對特徵點的位置關係均符合所述第一位姿,每對特徵點中的一個特徵點是從所述第一圖像提取的,另一個特徵點是從所述第一圖像序列中的圖像提取的,L為大於1的整數。
在該實現方式中,可以準確、快速的確定該第二位姿是否能成功定位目標設備的位置。
在一些實施例中,所述根據第一圖像序列和所述第一圖像,確定所述相機的第一位姿之前,所述方法還包括:
獲得多個圖像序列,每個圖像序列為採集待定位場景中的一個區域或多個區域得到的;
根據所述多個圖像序列,構建所述點雲地圖;其中,所述多個圖像序列中任一圖像序列用於構建一個或多個區域的子點雲地圖;所述點雲地圖包括所述第一電子地圖和所述第二電子地圖。
在該實現方式中,將待定位場景劃分為多個區域,分區域構建子點雲地圖。這樣當待定位場景中某個區域變換後,僅需採集該區域的視頻序列來構建該區域的子點雲地圖,而不同重新構建整個待定位場景的點雲地圖;可以有效減少工作量。
在一些實施例中,所述利用詞彙樹將從所述第一圖像提取的特徵轉換為目標詞向量之前,所述方法還包括:
獲得拍攝所述待定位場景得到的多張訓練圖像;
對所述多張訓練圖像進行特徵提取,以得到訓練特徵集;
對所述訓練特徵集中的特徵進行多次聚類,得到所述詞彙樹。
在一些實施例中,所述視覺定位方法應用於伺服器;所述從圖像庫中確定第一備選圖像序列之前,所述方法還包括:接收來自目標設備的所述第一圖像,所述目標設備安裝有所述相機。
在該實現方式中,伺服器根據來自目標設備的第一圖像進行定位,可以充分伺服器在處理速度以及儲存空間方面的優勢,定位精度高、定位速度快。
在一些實施例中,所述確定所述第二位姿成功定位所述目標設備的位置的情況之後,所述方法還包括:將所述相機的位置資訊發送至所述目標設備。
在該實現中,伺服器將目標設備的位置資訊發送給該目標設備,以便於該目標設備顯示該位置資訊,可以使得使用者準確地知道其所處的位置。
在一些實施例中,所述視覺定位方法應用於安裝有所述相機的電子設備。
第二方面,本公開實施例提供了另一種視覺定位方法,該方法可包括:通過相機採集目標圖像;
向伺服器發送目標資訊,所述目標資訊包括所述目標圖像或從所述目標圖像提取出的特徵序列,以及所述相機的內參;
接收位置資訊,所述位置資訊用於指示所述相機的位置和方向;所述位置資訊為所述伺服器根據第二備選圖像序列確定的所述相機採集所述目標圖像時的位置的資訊;所述第二備選圖像序列為所述伺服器根據目標視窗調整第一備選圖像序列中各幀圖像的順序得到的,所述目標視窗為從圖像庫中確定的包含目標幀圖像的連續多幀圖像,所述圖像庫用於構建電子地圖,所述目標幀圖像為所述圖像庫中與第二圖像相匹配的圖像,所述第二圖像為所述相機在採集到第一圖像之前所採集的圖像,所述第一備選圖像序列中的各幀圖像按照與所述第一圖像的匹配度順序排列;
顯示電子地圖,所述電子地圖中包含所述相機的位置和方向。
第三方面,本公開實施例提供了一種視覺定位裝置,該裝置包括:
篩選單元,配置為從圖像庫中確定第一備選圖像序列;所述圖像庫用於構建電子地圖,所述第一備選圖像序列中的各幀圖像按照與第一圖像的匹配度順序排列,所述第一圖像為相機採集的圖像;
所述篩選單元,還配置為根據目標視窗調整所述第一備選圖像序列中各幀圖像的順序,得到第二備選圖像序列;所述目標視窗為從圖像庫中確定的包含目標幀圖像的連續多幀圖像,所述目標幀圖像為所述圖像庫中與第二圖像相匹配的圖像,所述第二圖像為所述相機在採集到第一圖像之前所採集的圖像;
確定單元,配置為根據所述第二備選圖像序列確定所述相機在採集所述第一圖像時的目標位姿。
第四方面,本公開實施例提供了一種終端設備,該終端設備包括:
相機,配置為採集目標圖像;
發送單元,配置為向伺服器發送目標資訊,所述目標資訊包括所述目標圖像或從所述目標圖像提取出的特徵序列,以及所述相機的內參;
接收單元,配置為接收位置資訊,所述位置資訊用於指示所述相機的位置和方向;所述位置資訊為所述伺服器根據第二備選圖像序列確定的所述相機採集所述目標圖像時的位置的資訊;所述第二備選圖像序列為所述伺服器根據目標視窗調整第一備選圖像序列中各幀圖像的順序得到的,所述目標視窗為從圖像庫中確定的包含目標幀圖像的連續多幀圖像,所述圖像庫用於構建電子地圖,所述目標幀圖像為所述圖像庫中與第二圖像相匹配的圖像,所述第二圖像為所述相機在採集到第一圖像之前所採集的圖像,所述第一備選圖 像序列中的各幀圖像按照與所述第一圖像的匹配度順序排列;
顯示單元,配置為顯示電子地圖,所述電子地圖中包含所述相機的位置和方向。
第五方面,本公開實施例提供了一種電子設備,該電子設備包括:記憶體,用於儲存程式;處理器,配置為執行所述記憶體儲存的所述程式,當所述程式被執行時,所述處理器用於執行如上述第一方面至上述第二方面以及任一種實現方式的方法。
第六方面,本公開實施例提供了一種視覺定位系統,包括:伺服器和終端設備,所述伺服器執行如上述第一方面以及任一種實現方式的方法,所述終端設備用於執行上述第二方面的方法。
第七方面,本公開實施例提供了一種電腦可讀儲存介質,該電腦儲存介質儲存有電腦程式,該電腦程式包括程式指令,該程式指令當被處理器執行時使該處理器執行上述第一方面至第二方面以及任一種實現方式的方法。
第八方面,本公開實施例提供一種電腦程式產品,其中,所述電腦程式產品包含有程式指令;其中,所述程式指令當被處理器執行時使所述處理器執行前述任意實施例提供的視覺定位方法。
301‧‧‧拍攝圖像
302‧‧‧提取特徵
304‧‧‧中間詞向量
305‧‧‧查詢目標資料庫
306‧‧‧備選圖像
307‧‧‧特徵匹配
308‧‧‧局部點雲地圖
309‧‧‧幀-局部點雲地圖匹配
310‧‧‧確定位姿
311‧‧‧位置資訊
313‧‧‧顯示結果
501‧‧‧啟動目標應用
502‧‧‧輸入的目的地址
503‧‧‧圖像或特徵
504‧‧‧確定相機的位姿
505‧‧‧確定相機的三維位置
506‧‧‧位置資訊
507‧‧‧顯示圖像和標記
701‧‧‧篩選單元
702‧‧‧確定單元
703‧‧‧第一獲取單元
704‧‧‧地圖構建單元
705‧‧‧第二獲取單元
706‧‧‧特徵提取單元
707‧‧‧聚類單元
708‧‧‧接收單元
709‧‧‧發送單元
801‧‧‧攝影頭
802‧‧‧發送單元
803‧‧‧接收單元
804‧‧‧顯示單元
805‧‧‧特徵提取單元
901‧‧‧處理器
902‧‧‧記憶體
903‧‧‧收發器
904‧‧‧攝影頭
905‧‧‧輸入輸出設備
906‧‧‧匯流排
1022‧‧‧中央處理器
1026‧‧‧電源
1030‧‧‧儲存介質
1032‧‧‧記憶體
1041‧‧‧操作系統
1042‧‧‧應用程式
1044‧‧‧資料
1050‧‧‧有線或無線網路介面
1058‧‧‧輸入輸出介面
1100‧‧‧伺服器
為了更清楚地說明本公開實施例中的技術方案,下面將對本公開實施例或背景技術中所需要使用的附圖進行說明。
圖1為本公開實施例提供的一種詞彙樹的示意圖;
圖2為本公開實施例提供的一種視覺定位方法;
圖3為本公開實施例提供的另一種視覺定位方法;
圖4為本公開實施例提供的又一種視覺定位方法;
圖5為本公開實施例提供的一種定位導航方法;
圖6為本公開實施例提供的一種構建點雲地圖的方法;
圖7為本公開實施例提供的一種視覺定位裝置的結構示意圖;
圖8為本公開實施例提供的一種終端的結構示意圖;
圖9為本公開實施例提供的另一種終端的結構示意圖;
圖10為本公開實施例提供的一種伺服器的結構示意圖。
為了使本技術領域的人員更好地理解本公開實施例方案,下面將結合本公開實施例中的附圖,對本公開實施例中的技術方案進行清楚地描述,顯然,所描述的實施例僅僅是本公開一部分的實施例,而不是全部的實施例。
本公開的說明書實施例和申請專利範圍及上述附圖中的術語“第一”、“第二”、和“第三”等是用於區別類似的物件,而不必用於描述特定的順序或先後次序。此外,術語“包括”和“具有”以及他們的任何變形,意圖在於覆蓋 不排他的包含,例如,包含了一系列步驟或單元。方法、系統、產品或設備不必限於清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對於這些過程、方法、產品或設備固有的其它步驟或單元。
由於基於非視覺資訊的定位方法通常需要事先在待定位場景佈置設備,並且定位精度不高。如今,基於視覺資訊的定位方法是目前研究的主要方向。本公開實施例提供的視覺定位方法能夠應用在位置識別、定位導航等場景。下面分別對本公開實施例提供的視覺定位方法在位置識別場景以及定位導航場景中的應用進行簡單的介紹。
位置識別場景:譬如在大的商場中,可以對商場(即待定位場景)劃分區域,對各個區域採用運動恢復結構(Structure from Motion,SFM)等技術構建商場的點雲地圖。用戶在該商場中想要確定自身所在的位置和/或方向時,該用戶可以啟動手機上的目標應用,該手機利用攝影頭採集周圍的圖像,在螢幕上顯示電子地圖,並在該電子地圖上標出該用戶當前所在的位置和方向。該目標應用為實現室內的精確定位專門開發的應用。
定位導航場景:譬如在大的商場中,可以對商場劃分區域,對各個區域採用SFM等技術構建商場的點雲地圖。用戶在商場中迷路或者想要去某個店,該用戶啟動手機上的目標應用,並輸入需要到達的目的地址;該使用者舉起手機對著前方採集圖像,該手機即時顯示採集的圖像,並顯示指示該使用者達到目的地址的標記,例如箭頭。該目標 應用為實現室內的精確定位專門開發的應用。由於手機的計算性能很小,所以需要放到雲端進行計算,即由雲端實現定位操作。由於商場經常變動,可以只對變動的區域重新構建點雲地圖即可,不用整個商場全部重新構建。
由於本公開實施例涉及圖像特徵提取、SFM演算法以及位姿估計等,為了便於理解,下面先對本公開實施例涉及的相關術語及相關概念進行介紹。
(1)特徵點、描述子以及二進位定向簡單描述符(Oriented Fast and Rotated Brief,ORB)演算法。
圖像的特徵點可以簡單的理解為圖像中比較顯著的點,如輪廓點,較暗區域中的亮點,較亮區域中的暗點等。這個定義基於特徵點周圍的圖像灰度值,檢測候選特徵點周圍一圈的像素值,如果候選點周圍領域內有足夠多的像素點與該候選點的灰度值差別夠大,則認為該候選點為一個特徵點。得到特徵點後需要以某種方式描述這些特徵點的屬性。這些屬性的輸出稱之為該特徵點的描述子(Feature Descritors)。ORB演算法是一種快速特徵點提取和描述的演算法。ORB演算法是採用FAST(Features from Accelerated Segment Test)演算法來檢測特徵點。FAST演算法是一種用於角點檢測的演算法,該演算法的原理是取圖像中檢測點,以該點為圓心的周圍的16個像素點判斷檢測點是否為角點。ORB演算法是採用BRIEF演算法來計算一個特徵點的描述子。BRIEF演算法的核心思想是在關鍵 點P的周圍以一定模式選取N個點對,把這N個點對的比較結果組合起來作為描述子。
ORB演算法最大的特點就是計算速度快。這首先得益於使用FAST檢測特徵點,FAST的檢測速度正如它的名字一樣是出了名的快。再次是使用BRIEF演算法計算描述子,該描述子特有的二進位串的表現形式不僅節約了儲存空間,而且大大縮短了匹配的時間。例如特徵點A、B的描述子如下:A:10101011;B:10101010。我們設定一個閾值,比如80%。當A和B的描述子的相似度大於90%時,我們判斷A和B是相同的特徵點,即這2個點匹配成功。在這個例子中A和B只有最後一位不同,相似度為87.5%,大於80%;則A和B是匹配的。
(2)SFM演算法
運動恢復結構(Structure From Motion,SFM)演算法是一種基於各種收集到的無序圖片進行三維重建的離線演算法。在進行核心的演算法Structure From Motion之前需要一些準備工作,挑選出合適的圖片。首先從圖片中提取焦距資訊,然後利用SIFT等特徵提取演算法去提取圖像特徵,採用kd-tree模型去計算兩張圖片特徵點之間的歐式距離進行特徵點的匹配,從而找到特徵點匹配個數達到要求的圖像對。SIFT(Scale-Invariant Feature Transform)是一種檢測局部特徵的演算法。kd-tree是從BST(Binary Search Tree)發展而來,是一種高維索引樹形資料結構。常用於大規模高維資料密集的查找比對的使 用場景中,主要是最近鄰查找(Nearest Neighbor)以及近似最近鄰查找(Approximate Nearest Neighbor)。在電腦視覺中主要是圖像檢索和識別中的高維特徵向量的查找和比對。對於每一個圖像匹配對,計算對極幾何,估計基礎矩陣(即F陣)並通過ransac演算法優化改善匹配對。如果有特徵點可以在這樣的匹配對中鏈式地傳遞下去,一直被檢測到,那麼就可以形成軌跡。之後進入Structure From Motion部分,關鍵的第一步就是選擇好的圖像對去初始化整個集束調整(Bundle Adjustment,BA)過程。首先對初始化選擇的兩幅圖片進行第一次BA,然後迴圈添加新的圖片進行新的BA,最後直到沒有可以繼續添加的合適的圖片,BA結束。得到相機估計參數和場景幾何資訊,即稀疏的3D點雲(點雲地圖)。
(3)RANSAC演算法
隨機抽樣一致演算法(random sample consensus,RANSAC)採用反覆運算的方式從一組包含離群的被觀測資料中估算出數學模型的參數。RANSAC演算法的基本假設是樣本中包含正確資料(inliers,可以被模型描述的資料),也包含異常資料(outliers,偏離正常範圍很遠、無法適應數學模型的資料),即資料集中含有雜訊。這些異常資料可能是由於錯誤的測量、錯誤的假設、錯誤的計算等產生的。RANSAC演算法的輸入是一組觀測資料,一個可以解釋或者適應於觀測資料的參數化模型,一些可信的參數。RANSAC通過反復選擇資料中的一組隨機子 集來達成目標。被選取的子集被假設為局內點,並用下述方法進行驗證:1、有一個模型適應於假設的局內點,即所有的未知參數都能從假設的局內點計算得出。2、用1中得到的模型去測試所有的其它資料,如果某個點適用於估計的模型,認為它也是局內點。3、如果有足夠多的點被歸類為假設的局內點,那麼估計的模型就足夠合理。4、然後,用所有假設的局內點去重新估計模型,因為它僅僅被初始的假設局內點估計過。5、最後,通過估計局內點與模型的錯誤率來評估模型。這個過程被重複執行固定的次數,每次產生的模型要麼因為局內點太少而被捨棄,要麼因為比現有的模型更好而被選用。
(4)詞彙樹
詞彙樹是一種高效的基於視覺詞彙(也稱視覺單詞)檢索圖像的資料結構。面對海量的圖像庫,一個樹狀結構允許在次線性時間內進行的關鍵字查詢,而不是掃描全體關鍵字去尋找匹配的圖像,這樣就可以大幅度的提高檢索速度。下面介紹一下構建詞彙樹的步驟:1、提取所有訓練圖像的ORB特徵。每幅訓練圖像提取約3000個特徵。訓練圖像從待定位場景中採集。2、把所有提取的特徵用K均值(k-mean)聚成K類,對每一類再用同樣的方式再聚成K類直到L層,保留每層中各個聚類中心,最終生成詞彙樹。K和L均為大於1的整數,例如K為10,L為6。葉子結點即第L層的結點為最終的視覺單詞。詞彙樹中的一個節點為一個聚類中心。圖1為本公開實施例提供的一種詞彙樹的示意 圖。如圖1所示,詞彙樹一共包括(L+1)層,第一層包括一個根節點,最後一層包括多個葉子節點。
圖2為本公開實施例提供的一種視覺定位方法,如圖2所示,該方法可包括如下:
201、視覺定位裝置從圖像庫中確定第一備選圖像序列。
該視覺定位裝置可以是伺服器,也可以是手機、平板電腦等可採集圖像的移動終端。該圖像庫用於構建電子地圖。該第一備選圖像序列包括M個圖像,該第一備選圖像序列中的各幀圖像按照與第一圖像的匹配度順序排列。該第一圖像為目標設備的相機採集的圖像,M為大於1的整數。例如,M為5、6或8等。該目標設備可以是手機、平板電腦等可採集圖像和/或視頻的設備在該實現中,先通過計算視覺詞向量的相似度來選出多個備選圖像,再從該多個備選圖像中獲取與第一圖像的特徵匹配數量最多的M個圖像,圖像檢索效率高。
在一些實施例中,該第一備選圖像序列中第一幀圖像與該第一圖像的特徵匹配數量最多,該第一備選圖像序列中最後一幀圖像與該第一圖像的特徵匹配數量最少。
在一些實施例中,該第一備選圖像序列中第一幀圖像與該第一圖像的特徵匹配數量最少,該第一備選圖像序列中最後一幀圖像與該第一圖像的特徵匹配數量最多。
在一些實施例中,視覺定位裝置為伺服器,第一圖像為接收的來自手機等移動終端的圖像,該第一圖像可以是移動終端在待定位場景採集的圖像。
在一些實施例中,視覺定位裝置為手機、平板電腦等可採集圖像的移動終端,第一圖像為該視覺定位裝置在待定位場景提取的圖像。
採用這種方式可以從圖像庫中初步篩選出一些圖像,再從這些圖像出選擇出對應的視覺詞向量與該第一圖像的視覺詞向量相似度最高的多個備選圖像;可以大幅度提高圖像檢索的效率。
202、根據目標視窗調整第一備選圖像序列中各幀圖像的順序,得到第二備選圖像序列。該目標視窗包含從圖像庫中確定的包含目標幀圖像的連續多幀圖像,該目標幀圖像為該圖像庫中與第二圖像相匹配的圖像,該第二圖像為該相機在採集到第一圖像之前所採集的圖像。
在一些實施例中,根據目標視窗調整該第一備選圖像序列中各幀圖像的順序,得到第二備選圖像序列的實現方式如下:在該第一備選圖像序列中的各幀圖像按照與該第一圖像的匹配度從低到高的順序排列的情況下,將該第一備選圖像序列中位於該目標視窗的圖像調整至該第一備選圖像序列最後位置;在該第一備選圖像序列中的各幀圖像按照與該第一圖像的匹配度從高到低的順序排列的情況下,將該第一備選圖像序列中位於該目標視窗的圖像調整至該第 一備選圖像序列最前位置。視覺定位裝置可儲存或關聯有圖像庫,該圖像庫中的圖像用於構建待定位場景的點雲地圖。
在一些實施例中,該圖像庫包括一個或多個圖像序列,每個圖像序列包括採集該待定位場景的一個區域得到的連續多幀圖像,每個圖像序列可用於構建一個子點雲地圖,即一個區域的點雲地圖。這些子點雲地圖構成該點雲地圖。可以理解,該圖像庫中的圖像可以是連續的。在實際應用中,可對待定位場景劃分區域,對每個區域採集多角度的圖像序列,每個區域至少需要正反兩個方向的圖像序列。
該目標視窗可以是包括該目標幀圖像的一個圖像序列,也可以是包括該目標幀圖像的圖像序列的一部分。舉例來說,該目標視窗包括61幀圖像,即目標幀圖像以及該目標幀圖像的前後各三十幀圖像。本公開實施例中,目標視窗的大小不作限定。假定第一備選圖像序列中的圖像依次為圖像1、圖像2、圖像3、圖像4以及圖像5,其中,圖像3和圖像5為標定圖像,則該第二備選圖像序列中的圖像依次為圖像3、圖像5、圖像1、圖像2以及圖像4。可以理解,圖2中的方法流程實現的是連續幀定位,視覺定位裝置執行步驟201、步驟203、步驟204以及步驟205可實現單幀定位。
203、根據該第二備選圖像序列確定該相機在採集該第一圖像時的目標位姿。
此處的目標位姿為至少可包括相機在採集第一圖像時的位置;在另一些實施例中,該目標位姿可包括:相 機在採集第一圖像時的位置和姿態。該相機的姿態包括但不限於相機的朝向。
在一些實施例中,根據該第二備選圖像序列確定該相機在採集該第一圖像時的目標位姿的實現方式如下:根據第一圖像序列和該第一圖像,確定該相機的第一位姿;該第一圖像序列包括該圖像庫中與第一參考幀圖像相鄰的連續多幀圖像,該第一參考幀圖像包含於該第二備選圖像序列。在確定根據該第一位姿成功定位該相機的位置的情況下,確定該第一位姿為該目標位姿。在確定根據該第一位姿未成功定位該相機的位置的情況,根據第二圖像序列和該第一圖像,確定該相機的第二位姿。該第二圖像序列包括該圖像庫中與第二參考幀圖像相鄰的連續多幀圖像,該第二參考幀圖像為該第二備選圖像序列中該第一參考幀圖像的後一幀圖像或前一幀圖像。
在一些實施例中,該第一圖像序列包括該第一參考幀圖像的前K1幀圖像、該第一參考幀圖像以及該第一參考幀圖像的後K1幀圖像;K1為大於1的整數,例如K1為10。
在一些實施例中,該根據第一圖像序列和該第一圖像,確定該相機的第一位姿可以是:從該第一圖像序列中各圖像提取的特徵中,確定與從該第一圖像提取的特徵相匹配的F個特徵,F為大於0的整數;根據該F個特徵、該F個特徵在點雲地圖中對應的空間座標點以及該相機的內參,確定該第一位姿。該點雲地圖為待定位場景的電子地 圖,該待定位場景為該相機採集該第一圖像時所處的場景。該待定位場景為該目標設備採集該第一圖像時所處的場景。
例如,視覺定位裝置可採用PnP演算法根據該F個特徵、該F個特徵在該點雲地圖中對應的空間座標點以及相機的內參,確定該相機的第一位姿。該F個特徵中每個特徵對應圖像中的一個特徵點。也就是說,每個特徵對應的一個2D參考點(即特徵點在圖像中的二維座標)。通過匹配2D參考點和空間座標點(即3D參考點)可以確定每個2D參考點對應的空間座標點,這樣就可以知道2D參考點與空間座標點的一一對應關係。由於每個特徵對應一個2D參考點,每個2D參考點匹配一個空間座標點,這樣就可以知道每個特徵對應的空間座標點。視覺定位裝置也可以採用其他方式確定各特徵在點雲地圖中對應的空間座標點,本公開不作限定。該F個特徵在點雲地圖中對應的空間座標點即為F個世界座標系中的3D參考點(即空間座標點)。多點透視成像(Perspective-n-Point,PnP)是求解3D到2D點對的運動的方法:即給出F個3D空間點時,如何求解相機的位姿。PnP問題的已知條件:F個世界座標系中的3D參考點(3D reference points)座標,F為大於0的整數;與這F個3D點對應的、投影在圖像上的2D參考點(2D reference points)座標;攝影頭的內參。求解PnP問題可以得到相機(也可以是攝影頭)的位姿。典型的PnP問題求解方式有很多種,例如P3P,直接線性變換(DLT),EPnP(Efficient PnP),UPnP,還有非線性優化方法等。因此,視覺定位 裝置可以採用任一種求解PnP問題的方式,根據F個特徵、該F個特徵在點雲地圖中對應的空間座標點以及相機的內參,確定相機的第二位姿。另外,考慮到存在特徵誤匹配的情況,這裡可以使用Ransac演算法進行反覆運算,每輪反覆運算統計出內點個數。當內點數滿足某個比例或是反覆運算固定輪數後,停止反覆運算,把內點數最大的解(R和r)返回。其中,R為旋轉矩陣,t為平移向量,即該相機的位姿包括的兩組參數。本公開實施例中,相機等同於攝影頭以及其他圖像或視頻採集裝置。
本申請本公開實施例提供的是一種連續幀定位方法,利用第一圖像之前的一幀定位出相機的第一位姿的圖像來調整第一備選圖像序列中各圖像的排序,能夠充分利用圖像在時序上的連貫性,將最可能與該第一圖像相匹配的圖像排在該第一備選圖像序列的最前面,這樣就可以更快地找到與該第一圖像相匹配的圖像。
在一些實施例中,視覺定位裝置在執行步驟203之後,還可以執行如下操作確定相機的三維位置:根據轉換矩陣和該相機的目標位姿,確定該相機的三維位置。其中,該轉換矩陣為通過變換點雲地圖的角度和位置,將該點雲地圖的輪廓和室內平面圖對齊得到的。具體的,將旋轉矩陣R和平移向量t拼成4*4的矩陣
Figure 108148436-A0101-12-0024-1
,採用轉換矩陣T i 左乘該矩陣T'得到新矩陣
Figure 108148436-A0101-12-0024-21
,將把T表示為
Figure 108148436-A0101-12-0025-3
t*即為相機最後的三維位置。在該實現方式中,可以準確地確定相機的三維位置,實現簡單。
本公開實施例提供的是一種連續幀定位方法,利用第一圖像之前的一幀定位出相機的第一位姿的圖像來調整第一備選圖像序列中各圖像的排序,能夠充分利用圖像在時序上的連貫性,將最可能與該第一圖像相匹配的圖像排在該第一備選圖像序列的最前面,這樣就可以更快地找到與該第一圖像相匹配的圖像,進而更快地定位。
在一個實現方式中,根據第一位姿成功定位相機的位置的情況可以是:確定L對特徵點的位置關係均符合該第一位姿,每對特徵點中的一個特徵點是從該第一圖像提取的,另一個特徵點是從該第一圖像序列中的圖像提取的,L為大於1的整數。示例性的,根據該第一位姿採用Ransac演算法反覆運算求解PnP,每輪反覆運算統計出內點個數。當內點個數大於目標閾值(例如12)時,確定根據第一位姿成功定位該相機的位置;當內點個數不大於該目標閾值(例如12)時,根據該第一位姿未成功定位該相機的位置。在實際應用中,視覺定位裝置如果利用第二備選圖像序列中的某幀圖像未成功定位該相機的位置,則利用該第二備選圖像序列中該幀圖像的下一幀圖像進行定位。
如果使用該第二備選圖像序列中的每幀圖像都不能成功定位該相機的位置,則返回定位失敗。本公開實施例提供的是連續幀定位方法,當利用第一圖像成功定位相機 的位置後,繼續採用相機採集的該第一圖像的下一幀圖像進行定位。
在實際應用中,視覺定位裝置可按照第二備選序列中各幀圖像的先後順序依次使用各幀圖像來定位相機的位置,直到定位出該相機的位置。如果使用該第二備選圖像序列中的每幀圖像都不能成功定位該相機的位置,則返回定位失敗。舉例來說,視覺定位裝置先使用第二備選圖像序列中的第一幀圖像進行定位,如果定位成功,則停止本次定位;如果定位未成功,則使用該第二備選圖像序列中的第二幀圖像進行定位;依次類推。不同次使用圖像序列和第一圖像序列進行相機的目標位姿定位的方法可相同。
下面介紹如何從圖像庫中確定第一備選圖像序列的方式,即步驟201的實現方式。
在一個實現方式中,該從圖像庫中確定第一備選圖像序列的方式可以如下:利用詞彙樹將從該第一圖像提取的特徵轉換為目標詞向量;計算該目標詞向量與圖像庫中各圖像對應的詞向量的相似性評分;獲取該圖像庫包括的每個圖像序列中與該第一圖像的相似性評分最高的前10幀圖像,得到初選圖像序列;按照相似性評分由高到低的順序對該初選圖像序列中的各圖像進行排序之後,取出前20%的圖像作為中選圖像序列,如果小於10幀則直接取前10幀;對該中選圖像序列中的每一幀圖像與該第一圖像進行特徵匹配;按照該中選圖像序列中各幀圖像與該第一圖像的特徵匹 配的數量由多到少排序之後,選取前M個圖像,得到第一備選圖像序列。
在一個實現方式中,該從圖像庫中確定第一備選圖像序列的方式可以如下:確定圖像庫中對應的視覺詞向量與該第一圖像對應的視覺詞向量相似度(即相似性評分)最高的多個備選圖像;將該多個備選圖像分別與該第一圖像做特徵匹配,得到各備選圖像與該第一圖像相匹配的特徵的數量;獲取該多個備選圖像中與該第一圖像的特徵匹配數量最多的該M個圖像,得到該第一備選圖像序列。
在一些實施例中,M為5。該圖像庫中任一圖像對應一個視覺詞向量,該圖像庫中的圖像用於構建該目標設備採集該第一圖像時所處的待定位場景的電子地圖。
在一些實施例中,該確定該圖像庫中對應的視覺詞向量與該第一圖像對應的視覺詞向量相似度最高的多個備選圖像可以是:確定該圖像庫中與該第一圖像對應至少一個相同的視覺單詞的圖像,得到多個初選圖像;確定該多個初選圖像中對應的視覺詞向量與該第一圖像的視覺詞向量相似度最高的前百分之Q的圖像,得到該多個備選圖像;Q為大於0的實數。例如Q為10、15、20、30等。該圖像庫中任一圖像對應至少一個視覺單詞,該第一圖像對應至少一個視覺單詞。
在一些實施例中,視覺定位裝置採用如下方式得到多個備選圖像:利用詞彙樹將從該第一圖像提取的特徵轉換為目標詞向量;分別計算該目標詞向量與該多個初選圖 像中各初選圖像對應的視覺詞向量的相似度;確定該多個初選圖像中對應的視覺詞向量與該目標詞向量相似度最高的前百分之Q的圖像,得到該多個備選圖像。該詞彙樹為將從該待定位場景採集的訓練圖像中提取的特徵進行聚類得到的。該多個初選圖像中任一初選圖像對應的視覺詞向量為利用該詞彙樹由從該任一初選圖像提取的特徵得到的視覺詞向量。
在一些實施例中,該將該多個備選圖像分別與該第一圖像做特徵匹配,得到各備選圖像與該第一圖像相匹配的特徵的數量可以是:根據詞彙樹將從該第一圖像提取的第三特徵分類至參考葉子節點;對該第三特徵和第四特徵做特徵匹配,以得到與該第三特徵相匹配的特徵。該詞彙樹為將從該待定位場景採集的圖像中提取的特徵進行聚類得到的;該詞彙樹的最後一層的節點為葉子節點,每個葉子節點包含多個特徵。該第四特徵包含於該參考葉子節點且為從目標備選圖像提取的特徵,該目標備選圖像包含於該第一備選圖像序列。可以理解,若從第一圖像提取的某個特徵對應參考葉子節點(詞彙樹中任一葉子節點),視覺定位裝置對該特徵和從某個備選圖像提取出的特徵做特徵匹配時,僅需對該特徵和從該備選圖像提取出的特徵中對應該參考葉子節點的特徵做特徵匹配,而不需要對該特徵與其他特徵做特徵匹配。
視覺定位裝置可以預先儲存有各視覺單詞(即葉子節點)對應的圖像索引以及特徵索引。在一些實施例 中,在每個視覺單詞中添加相應的圖像索引以及特徵索引,這些索引用來加速特徵匹配。舉例來說,圖像庫中100個圖像均對應某個視覺單詞,則在該視覺單詞中添加這100個圖像的索引(即圖像索引)以及這100圖像中落在該視覺單詞對應的葉子節點的特徵的索引(即特徵索引)。又舉例來說,從第一圖像提取出的參考特徵落在參考節點,在對該參考特徵和從多個備選圖像提取出的特徵做特徵匹配時,先確定該多個備選圖像中該參考節點的圖像索引所指示的目標備選圖像,根據特徵索引確定該目標備選圖像落在該參考節點的特徵,對該參考特徵與該目標備選圖像中落在該參考節點的特徵做匹配。採用這種方式減少特徵匹配的運算量,大幅度提高特徵匹配的速度。
下面介紹如何利用詞彙樹將從第一圖像提取的特徵轉換為目標詞向量的方式。
該利用詞彙樹將從第一圖像提取的特徵轉換為目標詞向量包括:根據從第一圖像提取的特徵、目標視覺單詞的權重以及該目標視覺單詞對應的聚類中心,計算該目標視覺單詞在該第一圖像對應的目標權重;該目標詞向量包括詞彙樹對應的各視覺單詞在該第一圖像對應的權重;該目標權重與該目標視覺單詞的權重正相關。在該實現方式中,採用殘差加權的方式計算詞向量,考慮到落在同一視覺單詞當中的特徵的差異性,增加了區分性,很容易的接入TF-IDF(term frequency-inverse document frequency)框架中,能夠提高圖像檢索以及特徵匹配的速度。
在一些實施例中,採用如下公式利用詞彙樹將從該第一圖像提取的特徵轉換為目標詞向量:
Figure 108148436-A0101-12-0030-4
其中,W iweight 為第i個視覺單詞本身的權重,Dis(f i ,c i )為特徵f i 到第i個視覺單詞的聚類中心c i 的漢明距離,n表示從該第一圖像提取出的特徵落在第i個視覺單詞對應的節點上的特徵的數量,W i 表示第i個視覺單詞在該第一圖像對應的權重。詞彙樹中的一個葉子節點對應一個視覺單詞,該目標詞向量包括該詞彙樹對應的各視覺單詞在該第一圖像對應的權重。該詞彙樹的一個節點對應一個聚類中心。舉例來說,詞彙樹包括1000個葉子節點,每個葉子節點對應一個視覺單詞,視覺定位裝置需要計算每個視覺單詞在該第一圖像對應的權重,以得到該第一圖像的目標詞向量。在一些實施例中,視覺定位裝置可計算該詞彙樹中各葉子節點對應的視覺單詞在該第一圖像對應的權重;將由該各葉子節點對應的視覺單詞在該第一圖像對應的權重組合成一個向量,得到該目標詞向量。可以理解,可以採用相同的方式計算圖像庫中各圖像對應的詞向量,以得到上述各初選圖像對應的視覺詞向量。i和n均為大於1的整數。特徵f i 為從該第一圖像提取的任一特徵,任一特徵對應一個二進位串,即f i 為一個二進位字元串。每個視覺單詞中心對應一個二進位串。也就是說,c i 為一個二進位串。因此,可以計算特徵f i 到第i個視覺單詞中心c i 的漢明距離。漢明距離表示兩個(相同長度)字對應 位不同的數量。換句話說,它就是將一個字串變換成另外一個字串所需要替換的字元個數。例如:1011101與1001001之間的漢明距離是2。在一些實施例中,詞彙樹中各視覺單詞本身的權重與其對應的節點包括的特徵的數量負相關。在一些實施例中,若W i 不為0,則在第i個視覺單詞中添加對應圖像的索引,該索引用來加速圖像的檢索。
在一些實施例中,該根據從第一圖像提取的特徵、目標視覺單詞的權重以及該目標視覺單詞對應的聚類中心,計算該目標視覺單詞在該第一圖像對應的目標權重包括:利用詞彙樹對從該第一圖像提取的特徵進行分類,得到分類到目標葉子節點的中間特徵;根據該中間特徵、該目標視覺單詞的權重以及該目標視覺單詞對應的聚類中心,計算該目標視覺單詞在該第一圖像對應的該目標權重。其中,該目標葉子節點與該目標視覺單詞相對應。從公式(1)可以看出,該目標權重為該中間特徵包括的各特徵對應的權重參數之和。舉例來說,特徵f i 對應的權重參數:
Figure 108148436-A0101-12-0031-5
該中間特徵可以包括第一特徵和第二特徵;該第一特徵與該聚類中心的漢明距離為第一距離,該第二特徵與該聚類中心的漢明距離為第二距離;若該第一距離和該第二距離不同,則該第一特徵對應的第一權重參數與該第二特徵對應的第二權重參數不同。
在該實現方式中,採用殘差加權的方式計算詞向量,考慮到落在同一視覺單詞當中的特徵的差異性,增加了區分性,很容易的接入TF-IDF(term frequency-inverse document frequency)框架中,能夠提高圖像檢索以及特徵匹配的速度。
下面介紹基於單張圖像進行定位的具體示例。圖3為本公開實施例提供的另一種視覺定位方法,該方法可包括如下:
301、終端拍攝一幅目標圖像。
該終端可以是手機以及其他具有攝影功能和/或拍照功能的設備。
302、終端採用ORB演算法提取目標圖像的ORB特徵。
在一些實施例中,終端採用其他特徵提取方式提取該目標圖像的特徵。
303、終端將從目標圖像提取的ORB特徵以及相機的內參傳輸至伺服器。
步驟302至步驟303可以替代為:終端將目標圖像以及相機的內參傳輸至伺服器。這樣可以由伺服器提取該圖像的ORB特徵,以便於減少終端的計算量。在實際應用中,使用者可以啟動終端上的目標應用,通過該目標應用利用相機採集目標圖像並將該目標圖像傳輸至伺服器。相機的內參可以是該終端的攝影頭的內參。
304、伺服器將ORB特徵轉換為中間詞向量。
伺服器將ORB特徵轉換為中間詞向量的方式與前述實施例中利用詞彙樹將從第一圖像提取的特徵轉換為目標詞向量的方式相同,這裡不再詳述。
305、伺服器根據中間詞向量確定每個圖像序列中與目標圖像最相似的前H張圖像,並得到每個圖像序列中與該目標圖像的相似性評分最高的前H張圖像對應的相似性評分。
每個圖像序列均包含於圖像庫,每個圖像序列用於構建一個子點雲地圖,這些子點雲地圖組成待定位場景對應的點雲地圖。步驟305為查詢圖像庫的每個圖像序列中與目標圖像最相似的前H張圖像。H為大於1的整數,例如H為10。每個圖像序列可以是採集該待定位場景的一個或多個區域得到的。伺服器根據中間詞向量計算每個圖像序列中各圖像與目標圖像的相似性評分。相似性評分公式可以如下:
Figure 108148436-A0101-12-0033-6
其中,s(v1,v2)表示視覺詞向量v1和視覺詞向量v2)的相似性評分。視覺詞向量v1可以是根據從目標圖像提取的ORB特徵,採用公式(1)計算得到的詞向量;視覺詞向量v2)可以是根據從圖像庫中任一圖像提取的ORB特徵,採用公式(1)計算得到的詞向量。假定詞彙樹包括L個葉子節點,每個葉子節點對應一個視覺單詞,v1=[W 1 W 2...W L ],其中,W L 表示第L個視覺單詞在該目標圖像對應的權重,L為大於1的整數。 可以理解,視覺詞向量v1和視覺詞向量v2)的維度相同。伺服器可以儲存有圖像庫中各圖像對應的視覺詞向量(對應於上述參考詞向量)。每個圖像對應的視覺詞向量為根據該圖像提取出的特徵,採用公式(1)計算得到。可以理解,伺服器僅需計算目標圖像對應的視覺詞向量,而不需要計算圖像庫中各圖像序列包括的圖像對應的視覺詞向量。
在一些實施例中,伺服器只查詢和中間詞向量有共同視覺單詞的圖像,即只根據中間詞向量中非零項對應的葉子節點中的圖像索引來比較相似度。也就是說,確定圖像庫中與目標圖像對應至少一個相同的視覺單詞的圖像,得到多個初選圖像;根據中間詞向量查詢該多個初選圖像中與該目標圖像最相似的前H幀圖像。舉例來說,若第i個視覺單詞在目標圖像對應的權重以及在某個初選圖像對應的權重均不為0,則該目標圖像與該初選圖像均對應該第i個視覺單詞。
306、伺服器按照每個圖像序列中與目標圖像的相似性評分最高的前H張圖像對應的相似性評分由高到低的排序,取出與該目標圖像的相似性評分較高的多張圖像作為備選圖像。
在一些實施例中,圖像庫包括F個圖像序列,取出(F×H)張圖像中與該目標圖像的相似性評分最高的前20%的圖像作為備選圖像。該(F×H)張圖像包括每個圖像序列中與該目標圖像的相似性評分最高的前H張圖像。如果 與該前20%的圖像的個數小於10張,則直接取前10張圖像。步驟306為篩選備選圖像的操作。
307、伺服器對備選圖像中每一張圖像與目標圖像做特徵匹配,並確定特徵匹配的數量最多的前G張圖像。
G為大於1的整數,例如G為5。在一些實施例中,先把目標圖像的特徵根據詞彙樹逐一分類到L層某個節點,分類方式為從根節點開始逐層選擇與當前特徵距離(漢明距離)最短的聚類中心點(樹中的節點),對每個分類後的特徵只與對應節點中存在著特徵索引且其所屬的圖像為備選圖像的特徵進行匹配。這樣可以加速特徵匹配。步驟307是備選圖像中每一張圖像與目標圖像做特徵匹配的過程。因此,步驟307可以看作是兩張圖像做特徵匹配的過程。
308、伺服器獲取參考圖像序列中連續(2K+1)張圖像。
該參考圖像序列中的圖像按照採集得到的先後順序排序。該參考圖像序列包括該前G張圖像中的任一張圖像,該(2K+1)張圖像(對應局部點雲地圖)包括該任一張圖像、該任一張圖像的前K張圖像以及該任一張圖像的後K張圖像。步驟308為確定局部點雲地圖的操作。
309、伺服器確定從(2K+1)張圖像提取的特徵中與從目標圖像提取的特徵相匹配的多個特徵。
該參考圖像序列中連續(2K+1)張圖像對應一個局部點雲地圖。因此,步驟309可以看作是目標圖像與該 局部點雲地圖的匹配操作,即圖3中幀-局部點雲地圖匹配。在一些實施例中,先利用詞彙樹對從對應的相似性評分提取的特徵進行分類,然後對從目標圖像提取的特徵進行相同的處理,只考慮落在同一個節點中的兩部分的特徵的匹配,這樣可以加速特徵匹配。其中,該兩部分中一部分為該目標圖像,另一部分為該(2K+1)張圖像。
310、伺服器根據多個特徵、該多個特徵在點雲地圖中對應的空間座標點以及相機的內參,確定相機的位姿。
步驟310與圖2中的步驟203相似,這裡不再詳述。在伺服器執行步驟310,未成功確定相機的位姿的情況下,利用前G張圖像中另一張圖像重新執行步驟308至步驟310,直至成功確定該相機的位姿。舉例來說,先根據前G張圖像中第一張圖像確定(2K+1)張圖像,再利用該(2K+1)張圖像確定相機的位姿;若未成功確定相機的位姿的情況下,根據前G張圖像中第二張圖像確定新的(2K+1)張圖像,再利用新的(2K+1)張圖像確定相機的位姿;重複執行上述操作,直至成功確定該相機的位姿。
311、伺服器在成功確定相機的位姿的情況下,向終端發送相機的位置資訊。
該位置資訊可以包括該相機的三維位置以及該相機的方向。伺服器在成功確定相機的位姿的情況下,可以根據轉換矩陣與該相機的位姿,確定該相機的三維位置,並生成該位置資訊。
312、伺服器在未成功確定相機的位姿的情況下,執行步驟308。
伺服器每次執行步驟308都需要根據前G張圖像中的一張圖像,確定連續(2K+1)張圖像。應理解,伺服器每次執行步驟308確定的連續(2K+1)張圖像不同。
313、終端在電子地圖中顯示相機的位置。
在一些實施例中,終端在電子地圖中顯示相機的位置和方向。可以理解,相機(即攝影頭)安裝在終端上,該相機的位置即為該終端的位置。使用者可以根據該相機的位置和方向,可以準確地、快速地確定自身所在的位置和方向。
本公開實施例中,終端和伺服器協同工作,該終端採集圖像以及提取特徵,該伺服器負責定位並向該終端發送定位結果(即位置資訊);使用者僅需利用終端向伺服器發送一張圖像就可以準確地確定自身所在的位置。
圖3介紹了基於單張圖像進行定位的具體示例。在實際應用中,伺服器也可以根據終端發送的連續多幀圖像或者連續多幀圖像的特徵進行定位。下面介紹基於連續多幀圖像進行定位的具體示例。圖4為本公開實施例提供的另一種視覺定位方法,如圖4所示,該方法可包括如下:
401、伺服器獲得終端採集的連續多幀圖像或者多組特徵。
每組特徵可以為從一幀圖像提取出的特徵,該多組特徵依次為從連續多幀圖像提取出的特徵。該連續多幀圖像按照採集得到的先後順序排序。
402、伺服器根據第一幀圖像或者從該第一幀圖像提取的特徵,確定相機的位姿。
該第一幀圖像為該連續多幀圖像中的第一幀圖像。步驟402對應於圖3中基於單張圖像進行定位的方法。 也就是說,伺服器可以採用圖3中的方法,利用該第一幀圖像確定相機的位姿。利用連續多幀圖像中的第一幀圖像進行定位和基於單張圖像進行定位是一樣的。也就是說,連續多幀定位中的第一幀定位和單張定位是一樣的。若定位成功,則轉入連續幀定位;若定位失敗,則繼續單張定位。
403、伺服器在根據前一幀圖像成功確定相機的位姿的情況下,確定目標圖像序列中N幀連續的圖像。
前一幀圖像成功確定相機的位姿的情況指的是伺服器執行步驟402成功確定該相機的位姿。該目標圖像序列為前一幀圖像成功定位出相機的位姿所使用的特徵屬於的圖像序列。舉例來說,伺服器利用目標圖像序列中某張圖像的前K張圖像、該張圖像以及該張圖像的後K張圖像與前一幀圖像做特徵匹配,並利用相匹配的特徵點成功定位相機的位姿;則伺服器獲取該目標圖像序列中該張圖像的前三十張圖像、該張圖像以及該張圖像的後三十張圖像,即連續的N幀圖像。
404、伺服器根據目標圖像序列中N幀連續的圖像,確定相機的位姿。
步驟404對應於圖3中的步驟308至步驟310。
405、伺服器在根據前一幀圖像未成功確定相機的位姿的情況下,確定多張備選圖像。
該多張備選圖像為伺服器根據前一幀圖像確定的備選圖像。也就是說,在根據前一幀圖像未成功確定相機的位姿的情況下,伺服器可以將前一幀的備選圖像作為當前幀圖像的備選圖像。這樣可以減少圖像檢索的步驟,節省時間。
406、伺服器根據前一幀圖像的備選圖像,確定相機的位姿。
步驟406對應於圖3中的步驟307至步驟310。
伺服器進入連續幀定位後,主要是利用前一幀定位成功的先驗知識,推導出與當前幀相匹配的圖像有大概率是在上一次定位成功的圖像附近。這樣就可以在上一次定位成功的圖像附近開啟一個視窗,優先考慮落在該視窗中的那些幀圖像。視窗大小可以至多為61幀,前後各三十幀,不足三十幀的則截斷。若定位成功,則將視窗傳遞下去;若定位不成功,則按照單幀的備選圖像進行定位。本公開實施例中,採用連續幀滑動視窗機制,利用時序上連貫資訊,有效的減少計算量,可以提升定位成功率。
本公開實施例中,伺服器進行連續幀定位時,可以利用前一幀定位成功的先驗知識,來加速後續的定位操作。
圖4介紹了連續幀定位,下面介紹連續幀定位的一種應用實施例。圖5為本公開實施例提供的一種定位導航方法,如圖5所示,該方法可包括如下:
501、終端啟動目標應用。
該目標應用為實現室內的精確定位專門開發的應用。在實際應用中,使用者點擊目標應用在終端的螢幕上對應的圖示後,啟動該目標應用。
502、終端通過目標介面接收使用者輸入的目的地址。
該目標介面為終端啟動該目標應用後,該終端的螢幕顯示的介面,即該目標應用的介面。該目的地址可以是餐館、咖啡廳、電影院等。
503、終端顯示當前採集到的圖像,並將採集到的圖像或從採集到的圖像提取的特徵傳輸至伺服器。
終端接收使用者輸入的目的地址後,可以即時或接近即時的通過相機(即該終端上的攝影頭)採集周圍環境的圖像,並按照固定間隔將採集的圖像傳輸至伺服器。在一些實施例中,終端提取採集的圖像的特徵,並按照固定間隔將提取的特徵傳輸至伺服器。
504、伺服器根據接收到的圖像或特徵,確定相機的位姿。
步驟504對應於圖4中的步驟401至步驟406。也就是說,伺服器採用圖4中的定位方法,根據接收到每一幀圖像或每一幀圖像的特徵,確定相機的位姿。可以理解,伺服器可以根據終端發送的圖像序列或特徵序列,依次確定相機的位姿,進而確定該相機的位置。也就是說,伺服器可以即時或接近即時的確定相機的位姿。
505、伺服器根據轉換矩陣和相機的位姿,確定該相機的三維位置。
其中,該轉換矩陣為通過變換點雲地圖的角度和位置,將該點雲地圖的輪廓和室內平面圖對齊得到的。具體的,將旋轉矩陣R和平移向量t拼成4*4的矩陣
Figure 108148436-A0101-12-0041-7
,採用轉換矩陣T i 左乘該矩陣T'得到新矩陣
Figure 108148436-A0101-12-0041-22
,將把T表示為
Figure 108148436-A0101-12-0041-8
t*即為相機最後的三維位置。
506、伺服器向終端發送位置資訊。
該位置資訊可以包括該相機的三維位置、該相機的方向以及標記資訊。該標記資訊指示使用者從當前位置達到目標位址所需行走的路線。在一些實施例中,標記資訊僅指示目標距離內的路線,該目標距離為與當前顯示圖像中道路的最遠距離,該目標距離可以是10米、20米、50米等。伺服器在成功確定相機的位姿的情況下,可以根據轉換矩陣與該相機的位姿,確定該相機的三維位置。伺服器在執行步驟506之前,可以根據該相機的位置、目的地址以及電子地圖,生成該標記資訊。
507、終端即時顯示採集的圖像,並顯示指示使用者達到目的地址的標記。
舉例來說,用戶在商場中迷路或者想要去某個店,該用戶啟動手機上的目標應用,並輸入需要到達的目的地址;該使用者舉起手機對著前方採集圖像,該手機即時顯示採集的圖像,並顯示指示該使用者達到目的地址的標記,例如箭頭。
本公開實施例中,伺服器可以準確地定位相機的位置,並向使用者提供導航資訊,該使用者可以根據指引,快速地達到目標位址。
前述實施例中,伺服器確定相機的位姿需要用到點雲地圖。下面介紹一種構建點雲地圖的具體舉例。圖6為本公開實施例提供的一種構建點雲地圖的方法。如圖6所示,該方法可包括如下:
601、伺服器獲取多個視頻序列。
使用者可以對待定位場景劃分區域,對每個區域採集多角度的視頻序列,每個區域至少需要正反兩個方向的視頻序列。該多個視頻序列為對待定位場景中每個區域從多角度進行拍攝得到的視頻序列。
602、伺服器對多個視頻序列中每個視頻序列按照目標幀率提取圖像,以得到多個圖像序列。
伺服器按照目標幀率提取一個視頻序列可以得到一個圖像序列。該目標幀率可以是30幀/秒。每個圖像序列用於構建一個子點雲地圖。
603、伺服器利用各圖像序列構建出點雲地圖。
伺服器可以採用SFM演算法利用每個圖像序列構建一個子點雲地圖,所有的子點雲地圖組成該點雲地圖。
本公開實施例中,將待定位場景劃分為多個區域,分區域構建子點雲地圖。這樣當待定位場景中某個區域變換後,僅需採集該區域的視頻序列來構建該區域的子點雲地圖,而不同重新構建整個待定位場景的點雲地圖;可以有效減少工作量。
伺服器在獲得用於構建待定位場景的點雲地圖的多個圖像序列後,可以將該多個圖像序列儲存至圖像庫,並利用詞彙樹確定該多個圖像序列中各圖像對應的視覺詞向量。伺服器可以儲存該多個圖像序列中各圖像對應的視覺詞向量。在一些實施例中,在詞彙樹包括的各視覺單詞中添加對應圖像的索引。舉例來說,詞彙樹中某個視覺單詞在圖像庫中的某個圖像對應的權重不為0,則在該視覺單詞中添加該圖像的索引。在一些實施例中,伺服器在詞彙樹包括的各視覺單詞中添加對應圖像的索引以及特徵索引。伺服器可以利用詞彙樹將每個圖像的每個特徵分類至葉子節點,每個葉子節點對應一個視覺單詞。舉例來說,從各圖像序列中的圖像提取的特徵中100個特徵落在某個葉子節點,則在該葉子節點對應的視覺單詞調整該100個特徵的特徵索引。該特徵索引指示該100個特徵。
以下提供一種基於圖像序列和第一圖像定位相機的目標位姿的具體示例,可包括:基於所述圖像庫,確定基於所述第一圖像序列建立的子點雲地圖,其中,子點雲地圖包括:3D座標及與所述3D座標對應的3D描述子;確定所述第一圖像的2D座標及所述2D座標對應的2D描述子;將所述2D座標和所述2D描述子,與所述3D座標和3D描述子進行匹配;根據匹配成功的所述2D座標和2D描述子與3D座標和3D描述子之間的轉換關係,確定出第一位姿或第二位姿等,可用於定位相機的位姿。該3D描述子可為3D座標的描述資訊,包括:該3D座標相鄰的座標和/或響鈴座標的屬性資訊。2D描述子可為2D座標的描述資訊。例如,使用pnp演算法利用上述轉換關係,確定出相機的第一位姿或第二位姿。
圖7為本公開實施例提供的一種視覺定位裝置的結構示意圖,如果7所示,該視覺定位裝置可包括如下:
篩選單元701,配置為從圖像庫中確定第一備選圖像序列;該圖像庫用於構建電子地圖,該第一備選圖像序列中的各幀圖像按照與第一圖像的匹配度順序排列,該第一圖像為相機採集的圖像;
篩選單元701,還配置為根據目標視窗調整該第一備選圖像序列中各幀圖像的順序,得到第二備選圖像序列;該目標視窗為從圖像庫中確定的包含目標幀圖像的連續多幀圖像,該目標幀圖像為該圖像庫中與第二圖像相匹配的圖像,該第二圖像為該相機在採集到第一圖像之前所採集的圖像;
確定單元702,配置為根據該第二備選圖像序列確定該相機在採集該第一圖像時的目標位姿。
在一個在一些實施例中實現方式中,確定單元702,配置為根據第一圖像序列和該第一圖像,確定該相機的第一位姿;該第一圖像序列包括該圖像庫中與第一參考幀圖像相鄰的連續多幀圖像,該第一參考幀圖像包含於該第二備選序列;
在確定根據該第一位姿成功定位該相機的位置的情況下,確定該第一位姿為該目標位姿。
在一個在一些實施例中實現方式中,確定單元702,配置為在確定根據該第一位姿未成功定位該相機的位置的情況,根據第二圖像序列和該第一圖像,確定該相機的第二位姿;該第二圖像序列包括該圖像庫中與第二參考幀圖像相鄰的連續多幀圖像,該第二參考幀圖像為該第二備選圖像序列中該第一參考幀圖像的後一幀圖像或前一幀圖像;在確定根據該第二位姿成功定位該相機的位置的情況下,確定該第二位姿為該目標位姿。
在一個在一些實施例中實現方式中,確定單元702,配置為從該第一圖像序列中各圖像提取的特徵中,確定與從該第一圖像提取的特徵相匹配的F個特徵,F為大於0的整數;
根據該F個特徵、該F個特徵在點雲地圖中對應的空間座標點以及該相機的內參,確定該第一位姿;該點雲地圖為 待定位場景的電子地圖,該待定位場景為該相機採集該第一圖像時所處的場景。
在一個在一些實施例中實現方式中,篩選單元701,配置為在該第一備選圖像序列中的各幀圖像按照與該第一圖像的匹配度從低到高的順序排列的情況下,將該第一備選圖像序列中位於該目標視窗的圖像調整至該第一備選圖像序列最後位置;
在該第一備選圖像序列中的各幀圖像按照與該第一圖像的匹配度從高到低的順序排列的情況下,將該第一備選圖像序列中位於該目標視窗的圖像調整至該第一備選圖像序列最前位置。
在一個在一些實施例中實現方式中,篩選單元701,配置為在該第一備選圖像序列中的各幀圖像按照與該第一圖像的匹配度從低到高的順序排列的情況下,將該第一備選圖像序列中位於該目標視窗的圖像調整至該第一備選圖像序列最後位置;在該第一備選圖像序列中的各幀圖像按照與該第一圖像的匹配度從高到低的順序排列的情況下,將該第一備選圖像序列中位於該目標視窗的圖像調整至該第一備選圖像序列最前位置。
在一個在一些實施例中實現方式中,篩選單元701,配置為確定該圖像庫中與該第一圖像對應至少一個相同視覺單詞的圖像,得到多個初選圖像;該圖像庫中任一圖像對應至少一個視覺單詞,該第一圖像對應至少一個視覺單 詞;確定該多個初選圖像中對應的視覺詞向量與該第一圖像的視覺詞向量相似度最高的多個備選圖像。
在一個在一些實施例中實現方式中,篩選單元701,配置為確定該多個初選圖像中對應的視覺詞向量與該第一圖像的視覺詞向量相似度最高的前百分之Q的圖像,得到該多個備選圖像;Q為大於0的實數。
在一個在一些實施例中實現方式中,篩選單元701,配置為利用詞彙樹將從該第一圖像提取的特徵轉換為目標詞向量;該詞彙樹為將從該待定位場景採集的訓練圖像中提取的特徵進行聚類得到的;
分別計算該目標詞向量與該多個初選圖像中各初選圖像對應的視覺詞向量的相似度;該多個初選圖像中任一初選圖像對應的視覺詞向量為利用該詞彙樹由從該任一初選圖像提取的特徵得到的視覺詞向量;
確定該多個初選圖像中對應的視覺詞向量與該目標詞向量相似度最高的多個備選圖像。
在一個在一些實施例中實現方式中,該詞彙樹中的一個葉子節點對應一個視覺單詞,該詞彙樹中最後一層的節點為葉子節點;
篩選單元701,配置為計算該詞彙樹中各葉子節點對應的視覺單詞在該第一圖像對應的權重;將由該各葉子節點對應的視覺單詞在該第一圖像對應的權重組合成一個向量,得到該目標詞向量。
在一個在一些實施例中實現方式中,該詞彙樹的一個節點對應一個聚類中心;
篩選單元701,配置為利用該詞彙樹對從該第一圖像提取的特徵進行分類,得到分類到目標葉子節點的中間特徵;該目標葉子節點為該詞彙樹中的任意一個葉子節點,該目標葉子節點與目標視覺單詞相對應;
根據該中間特徵、該目標視覺單詞的權重以及該目標視覺單詞對應的聚類中心,計算該目標視覺單詞在該第一圖像對應的目標權重;該目標權重與該目標視覺單詞的權重正相關,該目標視覺單詞的權重為根據生成該詞彙樹時該目標視覺單詞對應的特徵數量確定的。
在一個在一些實施例中實現方式中,篩選單元701,配置為於根據詞彙樹將從該第一圖像提取的第三特徵分類至葉子節點;該詞彙樹為將從該待定位場景採集的圖像中提取的特徵進行聚類得到的;該詞彙樹的最後一層的節點為葉子節點,每個葉子節點包含多個特徵;
對各該葉子節點中的該第三特徵和第四特徵做特徵匹配,以得到各該葉子節點中與該第三特徵相匹配的第四特徵;該第四特徵為從目標備選圖像提取的特徵,該目標備選圖像包含於該第一備選圖像序列中的任一圖像;
根據各該葉子節點中與該第三特徵相匹配的第四特徵,得到該目標備選圖像與該第一圖像相匹配的特徵的數量。
在一個在一些實施例中實現方式中,確定單元702,還配置為根據轉換矩陣和該第一位姿,確定該相機的三維位置;該轉換矩陣為通過變換該點雲地圖的角度和位置,將該點雲地圖的輪廓和室內平面圖對齊得到的。
在一個在一些實施例中實現方式中,確定單元702,配置為確定L對特徵點的位置關係均符合該第一位姿,每對特徵點中的一個特徵點是從該第一圖像提取的,另一個特徵點是從該第一圖像序列中的圖像提取的,L為大於1的整數。
在一個在一些實施例中實現方式中,該裝置還包括:
第一獲取單元703,配置為獲得多個圖像序列,每個圖像序列為採集待定位場景中的一個區域或多個區域得到的;地圖構建單元704,配置為根據該多個圖像序列,構建該點雲地圖;其中,該多個圖像序列中任一圖像序列用於構建一個或多個區域的子點雲地圖;該點雲地圖包括該第一電子地圖和該第二電子地圖。
在一個在一些實施例中實現方式中,該裝置還包括:
第二獲取單元705,配置為獲得拍攝該待定位場景得到的多張訓練圖像;
特徵提取單元706,配置為對該多張訓練圖像進行特徵提取,以得到訓練特徵集;
聚類單元707,配置為對該訓練特徵集中的特徵進行多次聚類,得到該詞彙樹。第二獲取單元705和第一獲取單元703可以是同一單元,也可以是不同的單元。
在一個在一些實施例中實現方式中,該視覺定位裝置為伺服器,該裝置還包括:
接收單元708,配置為接收來自目標設備的該第一圖像,該目標設備安裝有該相機。
在一個在一些實施例中實現方式中,該裝置還包括:
發送單元709,配置為將該相機的位置資訊發送至該目標設備。
圖8為本公開實施例提供的一種終端的結構示意圖,如果8所示,該終端可包括:
攝影頭801,配置為採集目標圖像;
發送單元802,配置為向伺服器發送目標資訊,該目標資訊包括該目標圖像或從該目標圖像提取出的特徵序列,以及該攝影頭的內參;
接收單元803,配置為接收位置資訊;該位置資訊用於指示該相機的位置和方向;該位置資訊為該伺服器根據第二備選圖像序列確定的該相機採集該目標圖像時的位置的資訊;該第二備選圖像序列為該伺服器根據目標視窗調整第一備選圖像序列中各幀圖像的順序得到的,該目標視窗為從圖像庫中確定的包含目標幀圖像的連續多幀圖像,該圖像庫用於構建電子地圖,該目標幀圖像為該圖像庫中與第二圖像相 匹配的圖像,該第二圖像為該相機在採集到第一圖像之前所採集的圖像,該第一備選圖像序列中的各幀圖像按照與該第一圖像的匹配度順序排列;
顯示單元804,配置為顯示電子地圖,該電子地圖中包含攝影頭的位置和方向。
在一些實施例中,該終端還包括:特徵提取單元805,用於提取該目標圖像中的特徵。
該位置資訊可以包括該攝影頭的三維位置以及該攝影頭的方向。攝影頭801可具體用於執行步驟301中所提到的方法以及可以等同替換的方法;特徵提取單元805可具體用於執行步驟302中所提到的方法以及可以等同替換的方法;發送單元802可具體用於執行步驟303中所提到的方法以及可以等同替換的方法;顯示單元804具體用於執行步驟313和步驟507中所提到的方法以及可以等同替換的方法。可以理解,圖8中的終端可以實現圖3以及圖5中的終端所執行的操作。
應理解以上視覺定位裝置和終端中的各個單元的劃分僅僅是一種邏輯功能的劃分,實際實現時可以全部或部分集成到一個物理實體上,也可以物理上分開。例如,以上各個單元可以為單獨設立的處理元件,也可以集成同一個晶片中實現,此外,也可以以程式碼的形式儲存於控制器的記憶元件中,由處理器的某一個處理元件調用並執行以上各個單元的功能。此外各個單元可以集成在一起,也可以獨立實現。這裡的處理元件可以是一種積體電路晶片,具有信號 的處理能力。在實現過程中,上述方法的各步驟或以上各個單元可以通過處理器元件中的硬體的集成邏輯電路或者軟體形式的指令完成。該處理元件可以是通用處理器,例如中央處理器(英文:central processing unit,簡稱:CPU),還可以是被配置成實施以上方法的一個或多個積體電路,例如:一個或多個特定積體電路(英文:application-specific integrated circuit,簡稱:ASIC),或,一個或多個微處理器(英文:digital signal processor,簡稱:DSP),或,一個或者多個現場可程式設計閘陣列(英文:field-programmable gate array,簡稱:FPGA)等。
參見圖9,是本公開實施例提供的另一種終端結構示意圖。如圖9所示的本實施例中的終端可以包括:一個或多個處理器901、記憶體902、收發器903、攝影頭904以及輸入輸出設備905。上述處理器901、收發器903、記憶體902、攝影頭904以及輸入輸出設備905通過匯流排906連接。記憶體902用於儲存指令,處理器901用於執行記憶體902儲存的指令。收發器903用於接收和發送資料。攝影頭904用於採集圖像。其中,處理器901用於控制收發器903、攝影頭904以及輸入輸出設備905,來實現圖3以及圖5中的終端所執行的操作。
應當理解,在本公開實施例中,所稱處理器901可以是中央處理單元(Central Processing Unit,CPU),該處理器還可以是其他通用處理器、數位訊號處理器(Digital Signal Processor,DSP)、專用積體電路 (Application Specific Integrated Circuit,ASIC)、現成可程式設計閘陣列(Field-Programmable Gate Array,FPGA)或者其他可程式設計邏輯器件、分立門或者電晶體邏輯器件、分立硬體元件等。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。
該記憶體902可以包括唯讀記憶體和隨機存取記憶體,並向處理器901提供指令和資料。記憶體902的一部分還可以包括非易失性隨機存取記憶體。例如,記憶體902還可以儲存裝置類型的資訊。
具體實現中,本公開實施例中所描述的處理器901、記憶體902、收發器903、攝影頭904以及輸入輸出設備905可執行前述任一實施例所描述的終端的實現方式,在此不再贅述。具體的,收發器903可實現發送單元802和接收單元803的功能。處理器901可實現特徵提取單元805的功能。輸入輸出設備905用於實現顯示單元804的功能,輸入輸出設備905可以是顯示幕。
圖10是本公開實施例提供的一種伺服器結構示意圖,該伺服器1100可因配置或性能不同而產生比較大的差異,可以包括一個或一個以上中央處理器(central processing units,CPU)1022(例如,一個或一個以上處理器)和記憶體1032,一個或一個以上儲存應用程式1042或資料1044的儲存介質1030(例如一個或一個以上海量儲存裝置)。其中,記憶體1032和儲存介質1030可以是短暫儲存或持久儲存。儲存在儲存介質1030的程式可以包 括一個或一個以上模組(圖示沒標出),每個模組可以包括對伺服器中的一系列指令操作。更進一步地,中央處理器1022可以設置為與儲存介質1030通信,在伺服器1100上執行儲存介質1030中的一系列指令操作。
伺服器1100還可以包括一個或一個以上電源1026,一個或一個以上有線或無線網路介面1050,一個或一個以上輸入輸出介面1058,和/或,一個或一個以上操作系統1041,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述實施例中由伺服器所執行的步驟可以基於該圖10所示的伺服器結構。具體的,輸入輸出介面1058可實現接收單元708以及發送單元709的功能。中央處理器1022可實現篩選單元701、確定單元702、第一獲取單元703、地圖構建單元704、第二獲取單元705、特徵提取單元706、聚類單元707的功能。
在本公開的實施例中提供一種電腦可讀儲存介質,上述電腦可讀儲存介質儲存有電腦程式,上述電腦程式被處理器執行時實現:從圖像庫中確定第一備選圖像序列;所述圖像庫用於構建電子地圖,所述第一備選圖像序列中的各幀圖像按照與第一圖像的匹配度順序排列,所述第一圖像為相機採集的圖像;根據目標視窗調整所述第一備選圖像序列中各幀圖像的順序,得到第二備選圖像序列;所述目標視窗為從圖像庫中確定的包含目標幀圖像的連續多幀圖像,所述目標幀圖像為所述圖像庫中與第二圖像相匹配的圖像,所 述第二圖像為所述相機在採集到第一圖像之前所採集的圖像;根據所述第二備選圖像序列確定所述相機在採集所述第一圖像時的目標位姿。
在本公開的實施例中提供了另一種電腦可讀儲存介質,上述電腦可讀儲存介質儲存有電腦程式,上述電腦程式被處理器執行時實現:通過相機採集目標圖像;向伺服器發送目標資訊,所述目標資訊包括所述目標圖像或從所述目標圖像提取出的特徵序列,以及所述相機的內參;接收位置資訊,所述位置資訊用於指示所述相機的位置和方向;所述位置資訊為所述伺服器根據第二備選圖像序列確定的所述相機採集所述目標圖像時的位置的資訊;所述第二備選圖像序列為所述伺服器根據目標視窗調整第一備選圖像序列中各幀圖像的順序得到的,所述目標視窗為從圖像庫中確定的包含目標幀圖像的連續多幀圖像,所述圖像庫用於構建電子地圖,所述目標幀圖像為所述圖像庫中與第二圖像相匹配的圖像,所述第二圖像為所述相機在採集到第一圖像之前所採集的圖像,所述第一備選圖像序列中的各幀圖像按照與所述第一圖像的匹配度順序排列;顯示電子地圖,所述電子地圖中包含所述相機的位置和方向。以上所述,僅為本公開的具體實施方式,但本公開的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本公開揭露的技術範圍內,可輕易想到各種等效的修改或替換,這些修改或替換都應涵蓋在本公開的保護範圍之內。因此,本公開的保護範圍應以申請專利範圍的保護範圍為準。
圖2代表圖為流程圖,無元件符號簡單說明。

Claims (15)

  1. 一種視覺定位方法,包括:從圖像庫中確定第一備選圖像序列;所述第一備選圖像序列中的各幀圖像按照與第一圖像的匹配度順序排列,所述第一圖像為相機採集的圖像;根據目標視窗調整所述第一備選圖像序列中各幀圖像的順序,得到第二備選圖像序列;所述目標視窗為從圖像庫中確定的包含目標幀圖像的連續多幀圖像,所述目標幀圖像為所述圖像庫中與第二圖像相匹配的圖像,所述第二圖像為所述相機在採集到第一圖像之前所採集的圖像;根據所述第二備選圖像序列確定所述相機在採集所述第一圖像時的目標位姿;其中,所述根據目標視窗調整第一備選圖像序列中各幀圖像的順序,得到第二備選圖像序列包括:在所述第一備選圖像序列中的各幀圖像按照與所述第一圖像的匹配度從低到高的順序排列的情況下,將所述第一備選圖像序列中位於所述目標視窗的圖像調整至所述第一備選圖像序列最後位置;在所述第一備選圖像序列中的各幀圖像按照與所述第一圖像的匹配度從高到低的順序排列的情況下,將所述第一備選圖像序列中位於所述目標視窗的圖像調整至所述第一備選圖像序列最前位置。
  2. 根據請求項1所述的方法,其中,所述根據所述第二備選圖像序列確定所述相機在採集所述第一圖像時的目標位姿包括:根據第一圖像序列和所述第一圖像,確定第一位姿;所述第一圖像序列包括所述圖像庫中與第一參考幀圖像相鄰的連續多幀圖像,所述第一參考幀圖像包含於所述第二備選序列;在根據所述第一位姿成功定位所述相機的位置的情況下,確定所述第一位姿為所述目標位姿。
  3. 根據請求項2所述的方法,其中,所述根據第一圖像序列和所述第一圖像,確定第一位姿之後,所述方法還包括:在根據所述第一位姿未成功定位所述相機的位置的情況下,根據第二圖像序列和所述第一圖像,確定第二位姿;所述第二圖像序列包括所述圖像庫中與第二參考幀圖像相鄰的連續多幀圖像,所述第二參考幀圖像為所述第二備選圖像序列中所述第一參考幀圖像的後一幀圖像或前一幀圖像;在根據所述第二位姿成功定位所述相機的位置的情況下,確定所述第二位姿為所述目標位姿。
  4. 根據請求項1所述的方法,其中,所述從圖像庫中確定第一備選圖像序列包括:確定所述圖像庫中對應的視覺詞向量與所述第一圖像對應的視覺詞向量相似度最高的多個備選圖像;所述圖像 庫中任一圖像對應一個視覺詞向量,所述圖像庫中的圖像用於構建所述目標設備採集所述第一圖像時所處的待定位場景的電子地圖;將所述多個備選圖像分別與所述第一圖像做特徵匹配,得到各備選圖像與所述第一圖像相匹配的特徵的數量;獲取所述多個備選圖像中與所述第一圖像的特徵匹配數量最多的M個圖像,得到所述第一備選圖像序列。
  5. 根據請求項4所述的方法,其中,所述確定所述圖像庫中對應的視覺詞向量與所述第一圖像對應的視覺詞向量相似度最高的多個備選圖像包括:確定所述圖像庫中與所述第一圖像對應至少一個相同視覺單詞的圖像,得到多個初選圖像;所述圖像庫中任一圖像對應至少一個視覺單詞,所述第一圖像對應至少一個視覺單詞;確定所述多個初選圖像中對應的視覺詞向量與所述第一圖像的視覺詞向量相似度最高的多個備選圖像。
  6. 根據請求項5所述的方法,其中,所述確定所述多個初選圖像中對應的視覺詞向量與所述第一圖像的視覺詞向量相似度最高的多個備選圖像包括:確定所述多個初選圖像中對應的視覺詞向量與所述第一圖像的視覺詞向量相似度最高的前百分之Q的圖像,得到所述多個備選圖像;Q為大於0的實數。
  7. 根據請求項5所述的方法,其中,所述確定所述多個初選圖像中對應的視覺詞向量與所述第一圖像的視覺詞向量相似度最高的多個備選圖像包括:利用詞彙樹將從所述第一圖像提取的特徵轉換為目標詞向量;所述詞彙樹為將從所述待定位場景採集的訓練圖像中提取的特徵進行聚類得到的;分別計算所述目標詞向量與所述多個初選圖像中各初選圖像對應的視覺詞向量的相似度;所述多個初選圖像中任一初選圖像對應的視覺詞向量為利用所述詞彙樹由從所述任一初選圖像提取的特徵得到的視覺詞向量;確定所述多個初選圖像中對應的視覺詞向量與所述目標詞向量相似度最高的多個備選圖像。
  8. 根據請求項7所述的方法,其中,所述詞彙樹中的每一個葉子節點對應一個視覺單詞,所述詞彙樹中最後一層的節點為葉子節點;所述利用詞彙樹將從所述第一圖像提取的特徵轉換為目標詞向量包括:計算所述詞彙樹中各葉子節點對應的視覺單詞在所述第一圖像對應的權重;將由所述各葉子節點對應的視覺單詞在所述第一圖像對應的權重組合成一個向量,得到所述目標詞向量。
  9. 根據請求項8所述的方法,其中,所述詞彙樹的每一個節點對應一個聚類中心;所述計算所述詞彙樹對應的各視覺單詞在所述第一圖像對應的權重包括: 利用所述詞彙樹對從所述第一圖像提取的特徵進行分類,得到分類到目標葉子節點的中間特徵;所述目標葉子節點為所述詞彙樹中的任意一個葉子節點,所述目標葉子節點與目標視覺單詞相對應;根據所述中間特徵、所述目標視覺單詞的權重以及所述目標視覺單詞對應的聚類中心,計算所述目標視覺單詞在所述第一圖像對應的目標權重;所述目標權重與所述目標視覺單詞的權重正相關,所述目標視覺單詞的權重為根據生成所述詞彙樹時所述目標視覺單詞對應的特徵數量確定的。
  10. 根據請求項4所述的方法,其中,所述將所述多個備選圖像分別與所述第一圖像做特徵匹配,得到各備選圖像與所述第一圖像相匹配的特徵的數量包括:根據詞彙樹將從所述第一圖像提取的第三特徵分類至葉子節點;所述詞彙樹為將從所述待定位場景採集的圖像中提取的特徵進行聚類得到的;所述詞彙樹的最後一層的節點為葉子節點,每個葉子節點包含多個特徵;對各所述葉子節點中的所述第三特徵和第四特徵做特徵匹配,以得到各所述葉子節點中與所述第三特徵相匹配的第四特徵;所述第四特徵為從目標備選圖像提取的特徵,所述目標備選圖像包含於所述第一備選圖像序列中的任一圖像; 根據各所述葉子節點中與所述第三特徵相匹配的第四特徵,得到所述目標備選圖像與所述第一圖像相匹配的特徵的數量。
  11. 根據請求項2所述的方法,其中,所述確定所述第一位姿成功定位所述相機的位置的情況包括:確定L對特徵點的位置關係均符合所述第一位姿,每對特徵點中的一個特徵點是從所述第一圖像提取的,另一個特徵點是從所述第一圖像序列中的圖像提取的,L為大於1的整數。
  12. 根據請求項2或3所述的方法,其中,根據第一圖像序列和所述第一圖像,確定第一位姿所述根據第一圖像序列和所述第一圖像,確定第一位姿之前,所述方法還包括:獲得多個圖像序列,每個圖像序列為採集待定位場景中的一個區域或多個區域得到的;根據所述多個圖像序列,構建所述點雲地圖;其中,所述多個圖像序列中任一圖像序列用於構建一個或多個區域的子點雲地圖;所述點雲地圖包括所述第一電子地圖和所述第二電子地圖。
  13. 一種視覺定位方法,包括:通過相機採集目標圖像;向伺服器發送目標資訊,所述目標資訊包括所述目標圖像或從所述目標圖像提取出的特徵序列,以及所述相機的內參; 接收位置資訊,所述位置資訊用於指示所述相機的位置和方向;所述位置資訊為所述伺服器根據第二備選圖像序列確定的所述相機採集所述目標圖像時的位置的資訊;所述第二備選圖像序列為所述伺服器根據目標視窗調整第一備選圖像序列中各幀圖像的順序得到的,所述目標視窗為從圖像庫中確定的包含目標幀圖像的連續多幀圖像,所述圖像庫用於構建電子地圖,所述目標幀圖像為所述圖像庫中與第二圖像相匹配的圖像,所述第二圖像為所述相機在採集到第一圖像之前所採集的圖像,所述第一備選圖像序列中的各幀圖像按照與所述第一圖像的匹配度順序排列;顯示電子地圖,所述電子地圖中包含所述相機的位置和方向;其中,所述第二備選圖像序列為所述伺服器根據目標視窗調整第一備選圖像序列中各幀圖像的順序得到的包括:在所述第一備選圖像序列中的各幀圖像按照與所述第一圖像的匹配度從低到高的順序排列的情況下,將所述第一備選圖像序列中位於所述目標視窗的圖像調整至所述第一備選圖像序列最後位置;在所述第一備選圖像序列中的各幀圖像按照與所述第一圖像的匹配度從高到低的順序排列的情況下,將所述第一備選圖像序列中位於所述目標視窗的圖像調整至所述第一備選圖像序列最前位置。
  14. 一種電子設備,包括:記憶體,配置為儲存程式;處理器,配置為執行所述記憶體儲存的所述程式,當所述程式被執行時,所述處理器用於執行如請求項1至12中任一項或請求項13所述的方法。
  15. 一種電腦可讀儲存介質,其中,所述電腦儲存介質儲存有電腦程式,所述電腦程式包括程式指令,所述程式指令當被處理器執行時使所述處理器執行如請求項1至12任一項或請求項13所述的方法。
TW108148436A 2019-08-30 2019-12-30 視覺定位方法、電子設備及電腦可讀儲存介質 TWI745818B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910821911.3A CN112445929B (zh) 2019-08-30 2019-08-30 视觉定位方法及相关装置
CN201910821911.3 2019-08-30

Publications (2)

Publication Number Publication Date
TW202109357A TW202109357A (zh) 2021-03-01
TWI745818B true TWI745818B (zh) 2021-11-11

Family

ID=74684964

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108148436A TWI745818B (zh) 2019-08-30 2019-12-30 視覺定位方法、電子設備及電腦可讀儲存介質

Country Status (6)

Country Link
US (1) US20220148302A1 (zh)
JP (1) JP7430243B2 (zh)
KR (1) KR20220024736A (zh)
CN (1) CN112445929B (zh)
TW (1) TWI745818B (zh)
WO (1) WO2021035966A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11620829B2 (en) * 2020-09-30 2023-04-04 Snap Inc. Visual matching with a messaging application
CN113177971A (zh) * 2021-05-07 2021-07-27 中德(珠海)人工智能研究院有限公司 一种视觉跟踪方法、装置、计算机设备及存储介质
KR102366364B1 (ko) * 2021-08-25 2022-02-23 주식회사 포스로직 기하학적 패턴 매칭 방법 및 이러한 방법을 수행하는 장치
CN114463429B (zh) * 2022-04-12 2022-08-16 深圳市普渡科技有限公司 机器人、地图创建方法、定位方法及介质
CN118052867A (zh) * 2022-11-15 2024-05-17 中兴通讯股份有限公司 定位方法、终端设备、服务器及存储介质
CN116659523B (zh) * 2023-05-17 2024-07-23 深圳市保臻社区服务科技有限公司 一种基于社区进入车辆的位置自动定位方法及装置
CN117708357B (zh) * 2023-06-16 2024-08-23 荣耀终端有限公司 一种图像检索方法和电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446815A (zh) * 2016-09-14 2017-02-22 浙江大学 一种同时定位与地图构建方法
CN107368614A (zh) * 2017-09-12 2017-11-21 重庆猪八戒网络有限公司 基于深度学习的图像检索方法及装置
CN107796397A (zh) * 2017-09-14 2018-03-13 杭州迦智科技有限公司 一种机器人双目视觉定位方法、装置和存储介质
CN108596976A (zh) * 2018-04-27 2018-09-28 腾讯科技(深圳)有限公司 相机姿态追踪过程的重定位方法、装置、设备及存储介质
US20180297207A1 (en) * 2017-04-14 2018-10-18 TwoAntz, Inc. Visual positioning and navigation device and method thereof
CN109710724A (zh) * 2019-03-27 2019-05-03 深兰人工智能芯片研究院(江苏)有限公司 一种构建点云地图的方法和设备
CN109816769A (zh) * 2017-11-21 2019-05-28 深圳市优必选科技有限公司 基于深度相机的场景地图生成方法、装置及设备
CN110057352A (zh) * 2018-01-19 2019-07-26 北京图森未来科技有限公司 一种相机姿态角确定方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2418588A1 (en) * 2010-08-10 2012-02-15 Technische Universität München Visual localization method
EP2423873B1 (en) * 2010-08-25 2013-12-11 Lakeside Labs GmbH Apparatus and Method for Generating an Overview Image of a Plurality of Images Using a Reference Plane
US9324151B2 (en) * 2011-12-08 2016-04-26 Cornell University System and methods for world-scale camera pose estimation
JP5387723B2 (ja) * 2012-04-26 2014-01-15 カシオ計算機株式会社 画像表示装置、及び画像表示方法、画像表示プログラム
US10121266B2 (en) * 2014-11-25 2018-11-06 Affine Technologies LLC Mitigation of disocclusion artifacts
CN104700402B (zh) * 2015-02-06 2018-09-14 北京大学 基于场景三维点云的视觉定位方法及装置
CN108198145B (zh) * 2017-12-29 2020-08-28 百度在线网络技术(北京)有限公司 用于点云数据修复的方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446815A (zh) * 2016-09-14 2017-02-22 浙江大学 一种同时定位与地图构建方法
US20180297207A1 (en) * 2017-04-14 2018-10-18 TwoAntz, Inc. Visual positioning and navigation device and method thereof
CN107368614A (zh) * 2017-09-12 2017-11-21 重庆猪八戒网络有限公司 基于深度学习的图像检索方法及装置
CN107796397A (zh) * 2017-09-14 2018-03-13 杭州迦智科技有限公司 一种机器人双目视觉定位方法、装置和存储介质
CN109816769A (zh) * 2017-11-21 2019-05-28 深圳市优必选科技有限公司 基于深度相机的场景地图生成方法、装置及设备
CN110057352A (zh) * 2018-01-19 2019-07-26 北京图森未来科技有限公司 一种相机姿态角确定方法及装置
CN108596976A (zh) * 2018-04-27 2018-09-28 腾讯科技(深圳)有限公司 相机姿态追踪过程的重定位方法、装置、设备及存储介质
CN109710724A (zh) * 2019-03-27 2019-05-03 深兰人工智能芯片研究院(江苏)有限公司 一种构建点云地图的方法和设备

Also Published As

Publication number Publication date
JP7430243B2 (ja) 2024-02-09
KR20220024736A (ko) 2022-03-03
CN112445929A (zh) 2021-03-05
WO2021035966A1 (zh) 2021-03-04
US20220148302A1 (en) 2022-05-12
JP2022541559A (ja) 2022-09-26
TW202109357A (zh) 2021-03-01
CN112445929B (zh) 2022-05-17

Similar Documents

Publication Publication Date Title
TWI745818B (zh) 視覺定位方法、電子設備及電腦可讀儲存介質
WO2021057744A1 (zh) 定位方法及装置、设备、存储介质
WO2020259481A1 (zh) 定位方法及装置、电子设备、可读存储介质
WO2021057742A1 (zh) 定位方法及装置、设备、存储介质
KR101895647B1 (ko) 위치 기반 인식 기법
EP4056952A1 (en) Map fusion method, apparatus, device, and storage medium
CN111323024B (zh) 定位方法及装置、设备、存储介质
US20230351794A1 (en) Pedestrian tracking method and device, and computer-readable storage medium
WO2017114237A1 (zh) 一种图像查询方法和装置
EP2895986A2 (en) Methods, devices and systems for detecting objects in a video
WO2023221790A1 (zh) 图像编码器的训练方法、装置、设备及介质
CN111709317A (zh) 一种基于显著性模型下多尺度特征的行人重识别方法
Xue et al. A fast visual map building method using video stream for visual-based indoor localization
WO2023284358A1 (zh) 相机标定方法、装置、电子设备及存储介质
CN111291611A (zh) 一种基于贝叶斯查询扩展的行人重识别方法及装置
JP7336653B2 (ja) ディープラーニングを利用した屋内位置測位方法
US11127199B2 (en) Scene model construction system and scene model constructing method
US20230281867A1 (en) Methods performed by electronic devices, electronic devices, and storage media
Sui et al. An accurate indoor localization approach using cellphone camera
Sinha et al. Image retrieval using landmark indexing for indoor navigation
CN116563352A (zh) 融合深度视觉信息的单线激光雷达回环检测方法及系统
Han et al. Crowded pedestrian detection with optimal bounding box relocation
Yin et al. A PCLR-GIST algorithm for fast image retrieval in visual indoor localization system
Li et al. Vision-based indoor localization via a visual SLAM approach
CN116664812B (zh) 一种视觉定位方法、视觉定位系统及电子设备