TW202301273A - 圖像配准方法、視覺定位方法、電子設備和電腦可讀儲存介質 - Google Patents
圖像配准方法、視覺定位方法、電子設備和電腦可讀儲存介質 Download PDFInfo
- Publication number
- TW202301273A TW202301273A TW110143067A TW110143067A TW202301273A TW 202301273 A TW202301273 A TW 202301273A TW 110143067 A TW110143067 A TW 110143067A TW 110143067 A TW110143067 A TW 110143067A TW 202301273 A TW202301273 A TW 202301273A
- Authority
- TW
- Taiwan
- Prior art keywords
- image
- pose
- image frame
- current
- transformation parameter
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
- Studio Devices (AREA)
- Image Processing (AREA)
Abstract
本發明實施例提供了一種圖像配准方法、視覺定位方法、電子設備和電腦可讀儲存介質,其中,所述圖像配准方法由電子設備執行,所述方法包括:獲取當前圖像幀;基於當前圖像幀與其它圖像幀中的目標圖像資訊,確定當前圖像幀與其它圖像幀之間的第一變換參數;其中,目標圖像資訊為關於目標圖像的圖像資訊;所述第一變換參數,包括所述當前圖像幀與所述其它圖像幀之間的單應性矩陣;基於第一變換參數、以及其它圖像幀與目標圖像之間的第二變換參數,得到當前圖像幀與目標圖像之間的第三變換參數;所述第二變換參數,包括所述當前圖像幀與所述目標圖像之間的單應性矩陣。通過該方法,能夠提高配准速度以及圖像配准的準確度。
Description
本發明關於人工智慧技術領域,尤其關於一種圖像配准方法、視覺定位方法、電子設備和電腦可讀儲存介質。
隨著電子資訊技術的發展,擴增實境(Augmented Reality,AR)、虛擬實境(Virtual Reality,VR)等成為電腦視覺領域中的應用熱點,這些技術以相機作為輸入裝置,借助於圖像演算法處理,通過電子設備的計算協助工具,就可以數位化周圍環境,從而使用戶獲得與真實環境交互的使用體驗。圖像配准是AR、VR等電腦視覺領域中的研究重點,通過圖像配准技術可以獲取相機拍攝到的當前圖像與目標圖像之間的變換參數,從而可以通過變換參數,確定目標圖像在當前圖像中的位置。
然而,在實際的圖像配準時,通常是將每一幀圖像都與目標圖像進行配准,以此獲得變換參數,這樣的配准方法,運算量大且準確度不高。
因此,如何提高圖像的配准準確度已成為亟待解決的問題。
本發明實施例提供了一種圖像配准方法、視覺定位方法、裝置、設備、介質及程式。
本發明實施例提供了一種圖像配准方法,所述方法由電子設備執行,所述方法包括:
獲取當前圖像幀;基於當前圖像幀與其它圖像幀中的目標圖像資訊,確定當前圖像幀與其它圖像幀之間的第一變換參數;其中,目標圖像資訊為關於目標圖像的圖像資訊;所述第一變換參數,包括所述當前圖像幀與所述其它圖像幀之間的單應性矩陣;
基於第一變換參數、以及其它圖像幀與目標圖像之間的第二變換參數,得到當前圖像幀與目標圖像之間的第三變換參數;其中,所述第二變換參數,包括所述當前圖像幀與所述目標圖像之間的單應性矩陣。
如此,通過獲得當前圖像幀與其它圖像幀之間的第一變換參數,再結合第一變換參數和其它圖像幀與目標圖像之間的第二變換參數,就可以直接利用當前圖像幀與其它圖像幀中的目標圖像資訊,實現了當前圖像幀與目標圖像的配准,相比於利用當前圖像幀與每一其它圖像幀中所有圖像資訊進行圖像配准,該方法計算量較小,能夠提高配准速度以及圖像配准的準確度。
本發明實施例還提供了一種視覺定位方法,所述方法由電子設備執行,所述方法包括:獲取當前圖像幀與目標圖像之間的當前變換參數,其中,當前變換參數為通過如前任一所述的圖像配准方法獲得的第三變換參數;利用當前變換參數,得到當前圖像幀在世界座標系中的第一位姿,其中,世界座標系是基於目標圖像所在的平面建立的。
由此,通過獲取當前圖像幀與目標圖像之間的當前變換參數,並且基於目標圖像所在的平面建立世界座標系,可以得到當前圖像幀在世界座標系中的第一位姿,實現了對拍攝設備的視覺定位。
本發明實施例還提供了一種圖像配准裝置,包括:圖像配准裝置、第一參數獲取模組和第二參數獲取模組,其中:
所述圖像獲取模組,配置為獲取當前圖像幀;
所述第一參數獲取模組,配置為基於當前圖像幀與其它圖像幀中的目標圖像資訊,確定當前圖像幀與其它圖像幀之間的第一變換參數;其中,目標圖像資訊為關於目標圖像的圖像資訊;所述第一變換參數,包括所述當前圖像幀與所述其它圖像幀之間的單應性矩陣;
所述第二參數獲取模組,配置為基於第一變換參數、以及其它圖像幀與目標圖像之間的第二變換參數,得到當前圖像幀與目標圖像之間的第三變換參數;所述第二變換參數,包括所述當前圖像幀與所述目標圖像之間的單應性矩陣。
本發明實施例還提供了一種視覺定位裝置,包括:參數獲取模組和第一位姿獲取模組,其中:
所述參數獲取模組,配置為獲取當前圖像幀與目標圖像之間的當前變換參數,其中,當前變換參數為如前任一圖像配准方法獲得的第三變換參數;
所述第一位姿獲取模組,配置為利用當前變換參數,得到當前圖像幀在世界座標系中的第一位姿,其中,世界座標系是基於目標圖像所在的平面建立的。
本發明實施例還提供了一種電子設備,包括相互耦接的記憶體和處理器,處理器用於執行記憶體中儲存的程式指令,以實現上述第一方面中的圖像配准方法和第二方面的視覺定位方法。
本發明實施例還提供了一種電腦可讀儲存介質,其上儲存有程式指令,程式指令被處理器執行時實現如前所述的圖像配准方法和如前所述的視覺定位方法。
本發明實施例還提供了一種電腦程式,所述電腦程式包括電腦可讀代碼,在所述電腦可讀代碼在電子設備中運行的情況下,所述電子設備的處理器執行用於實現如前任一項所述的圖像配准方法、以及如前任一項所述的視覺定位方法。
由以上可知,本發明實施例提供的圖像配准方法,通過獲得當前圖像幀與其它圖像幀之間的第一變換參數,再結合第一變換參數和其它圖像幀與目標圖像之間的第二變換參數,可以直接利用當前圖像幀與其它圖像幀中的目標圖像資訊,實現了當前圖像幀與目標圖像的配准,相比於利用當前圖像幀與其它圖像幀中所有圖像資訊進行圖像配准,該方法計算量較小,還能提高配准速度以及圖像配准的準確度。
為使本發明的上述目的、特徵和優點能更明顯易懂,下文特舉較佳實施例,並配合所附附圖,作詳細說明如下。
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發明實施例的元件可以以各種不同的配置來佈置和設計。因此,以下對在附圖中提供的本發明的實施例的詳細描述並非旨在限制要求保護的本發明的範圍,而是僅僅表示本發明的選定實施例。基於本發明的實施例,本領域技術人員在沒有做出創造性勞動的前提下所獲得的所有其它實施例,都屬於本發明保護的範圍。
下面結合說明書附圖,對本發明實施例的方案進行詳細說明。
以下描述中,為了說明而不是為了限定,提出了諸如特定系統結構、介面、技術之類的具體細節,以便透徹理解本發明。
本文中術語“系統”和“網路”在本文中常被可互換使用。本文中術語“和/或”,僅僅是一種描述關聯物件的關聯關係,表示可以存在三種關係,例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情況。另外,本文中字元“/”,一般表示前後關聯物件是一種“或”的關係。此外,本文中的“多”表示兩個或者多於兩個。
圖1是本發明實施例提供的圖像配准方法的流程示意圖。
需要說明的是,本發明實施例提供的圖像配准方法,由電子設備執行;其中,圖像配准方法,可以通過電子設備的處理器執行。
示例性的,電子設備的處理器,可以為特定用途積體電路(Application Specific Integrated Circuit,ASIC)、數位訊號處理器(Digital Signal Processor,DSP)、數位信號處理裝置(Digital Signal Processing Device,DSPD)、可程式設計邏輯裝置(Programmable Logic Device,PLD)、現場可程式設計邏輯閘陣列(Field Programmable Gate Array,FPGA)、中央處理器(Central Processing Unit,CPU)、控制器、微控制器、微處理器中的至少一種。
如圖1所示,該流程可以包括S11步驟至步驟S13。
步驟S11:獲取當前圖像幀。
在一種實施方式中,當前圖像幀可以是電子設備的圖像採集裝置拍攝到的圖像。示例性的,在AR、VR等應用場景中,當前圖像幀可以是諸如手機、平板電腦、智慧眼鏡等電子設備所拍攝到的圖像;或者,在視頻監控場景中,當前圖像幀可以是監控相機所拍攝到的圖像,在此不做限定。其它場景可以以此類推,在此不再一一舉例。
在一種實施方式中,當前圖像幀中可以包括目標圖像;示例性的,若當前圖像幀中包括目標圖像,可以實現當前圖像幀與目標圖像的配准。
步驟S12:基於當前圖像幀與其它圖像幀中的目標圖像資訊,確定當前圖像幀與其它圖像幀之間的第一變換參數。
其中,第一變換參數,包括當前圖像幀與其它圖像幀之間的單應性矩陣。
在一種實施方式中,目標圖像可以是平面上的圖像,示例性的,平面可以是平整的地面,或者平整的牆面;示例性的,目標圖像可以是預先獲取的,也即目標圖像可以在執行本發明實施例提供的圖像配准方法之前預先確定。
在一種實施方式中,目標圖像可以根據實際應用情況進行設置。示例性的,在需要確定當前圖像幀中建築物A的位置的情況下,可以預先獲取建築物A的圖像;或者,在需要確定當前圖像幀中人物B的位置的情況下,可以預先獲取人物B的圖像,其它情況可以以此類推,在此不再一一舉例。
在一種實施方式中,可以從已經獲取的圖像中,確定目標圖像。示例性的,可以預先對建築物的內部情況進行拍照,以得到一定數量的建築物內部圖像,然後在這些圖像中,選擇包含特定物件的圖像區域作為目標圖像,如某一圖像中包括一幅畫,則可以將這幅畫作為目標圖像。
在一種實施方式中,目標圖像資訊可以為關於目標圖像的圖像資訊。示例性的,目標圖像資訊,可以為對當前圖像幀與其它圖像幀中的目標圖像進行特徵提取,得到的特徵點以及相應的特徵表示。特徵提取演算法可以是特徵點檢測(Features From Accelerated Segment Test,FAST)演算法,尺度不變特徵轉換(Scale-invariant Feature Transform,SIFT)演算法,快速特徵點提取(Oriented FAST and Rotated BRIEF,ORB)演算法等等。示例性的,在特徵提取演算法為ORB演算法的情況下,在利用ORB演算法提取特徵點時,通過ORB演算法得到的描述子可以作為特徵表示。在本實施例中,基於圖像幀進行特徵提取的特徵點,可以認為與目標圖像處於同一個平面。
以上實施例提及的通過特徵提取演算法進行特徵提取得到的特徵點,都可以認為與目標圖像處於同一平面。
在一種實施方式中,在當前圖像幀和其它幀圖像中,均可以包括目標圖像,用於實現本發明實施例提供的圖像配准方法。其它幀圖像與當前圖像幀類似,即它們可以是拍攝得到,或是視頻監控機拍攝得到的。
在一種實施方式中,其它圖像幀和當前圖像幀是由電子設備的圖像採集裝置先後拍攝得到。也就是說,其它圖像幀的拍攝時間早於當前圖像幀的拍攝時間。
在一種實施方式中,可以已知目標圖像在其它圖像幀的位置,然後利用特徵點跟蹤的方法,例如通過光流演算法,跟蹤其它圖像幀中目標圖像上的點在當前圖像幀的位置,以此確定目標圖像在當前圖像幀的位置,進而可以獲得當前圖像幀與其它圖像幀中的目標圖像資訊。
在一種實施方式中,在得到當前圖像幀與其它圖像幀中的目標圖像資訊後,可以基於通用的圖像配准方法,對當前圖像幀與其它圖像幀進行配准;示例性的,圖像配准演算法可以是基於灰度和範本的演算法,或者是基於特徵的匹配方法。示例性的,通過基於特徵的匹配方法,可以獲得一定數量的關於當前圖像幀與目標圖像的匹配點對,就可以利用隨機一致性採樣演算法(Random Sample Consensus,RANSAC)計算當前圖像幀與目標圖像之間的變換參數,以此實現兩圖像的配准。
步驟S13:基於第一變換參數、以及其它圖像幀與目標圖像之間的第二變換參數,得到當前圖像幀與目標圖像之間的第三變換參數。
其中,第二變換參數,包括其它圖像幀與目標圖像之間的單應性矩陣。
在一種實施方式中,在其它圖像幀中包括目標圖像的情況下,可以利用其它圖像幀與目標圖像進行配准。示例性的,其它圖像幀與目標圖像之間的第二變換參數,可以是利用通用的圖像配准演算法得到的。
在一些實施例中,第二變換參數,可以是通過範本匹配的方法獲取,或者是基於特徵的匹配方法獲取等。示例性的,在基於特徵的匹配方法中,可以首先獲取其它圖像幀上的特徵點與目標圖像上的特徵點,然後進行匹配計算,最後獲得第二變換參數。示例性的,若其它圖像幀A的之前圖像幀B(如前一圖像幀)已確定之前變換幀B與目標圖像之間的變換參數,則可以採用類似本發明實施例提供的方法得到第二變換參數,即利用其它圖像幀A與其之前圖像幀B之間的變換參數、以及之前圖像幀B與目標圖像之間的變換參數,得到其它圖像幀A與目標圖像之間的變換參數,即上述第二變換參數。
在一種實施方式中,在得到第一變換參數和第二變換參數以後,可以根據當前圖像幀與其它圖像幀之間的第一變換參數,以及其它圖像幀與目標圖像之間的第二變換參數,將其它圖像幀作為聯結點,建立當前圖像幀與目標圖像的配准關係,即基於第一變換參數以及第二變換參數,可以得到第三變換參數。
在本發明實施例提供的圖像配准方法中,可以將第一變換參數與第二變換參數的乘積,作為第三變換參數,如式(1)所示:
(1)
其中,
為當前圖像幀與目標圖像之間的第三變換參數;
為其它圖像幀與目標圖像之間的第二變換參數;
為當前圖像幀與其它圖像幀之間的第一變換參數。
由此,在本發明實施例提供的圖像配准方法中,通過獲得當前圖像幀與其它圖像幀之間的第一變換參數之後,結合第一變換參數、以及其它圖像幀與目標圖像之間的第二變換參數,就可以直接利用當前圖像幀與其它圖像幀中的目標圖像資訊,實現當前圖像幀與目標圖像的配准,相比於利用當前圖像幀與每一其它圖像幀中所有圖像資訊進行圖像配准,該方法計算量較小,提高了配准速度以且圖像配准的準確度。
圖2是本發明實施例提供的圖像配准方法中確定第一變換參數的流程示意圖。如圖2所示,步驟S12,可以通過步驟S121至步驟S123實現。
步驟S121:從其它圖像幀中查找出關於目標圖像的至少一個第一特徵點。
在一種實施方式中,在其它圖像中包括目標圖像的條件下,就可以在其它圖像幀中查找出關於目標圖像的至少一個第一特徵點;示例性的,第一特徵點可以是利用特徵提取演算法得到,特徵提取演算法可以是ORB演算法。在本發明實施例提供的圖像配准方法中,從圖像幀中提取的特徵點,可以包括基於該圖像幀建立的圖像金字塔中的一系列的圖像幀進行特徵提取得到的特徵點。
在本發明實施例提供的圖像配准方法中,步驟S121可以通過步驟S1211至步驟S1212實現。
步驟S1211:基於第二變換參數確定目標圖像在其它圖像幀中的目標區域。
示例性的,其它圖像幀與目標圖像之間的第二變換參數,可以用於表示目標圖像上的點與其它圖像幀上的點的對應關係,因此可以確定目標圖像的點在其它圖像幀中對應的點,由此可以確定目標區域。
步驟S1212:從目標區域中提取至少一個第一特徵點。
在一種實施方式中,確定目標區域以後,可以從目標區域中提取至少一個第一特徵點,例如可以利用特徵提取演算法得到至少一個第一特徵點。
在一種實施方式中,利用第二變換參數,可以確定其它圖像幀上的目標區域,由此可以獲得至少一個第一特徵點,用於後續的圖像配准。
步驟S122:從當前圖像幀中查找出關於目標圖像的至少一個第二特徵點。
在一種實施方式中,當前圖像幀中查找出關於目標圖像的至少一個第二特徵點,可以是利用特徵提取演算法在當前圖像幀中進行特徵點提取,從而可以得到一系列的特徵點,然後將這些特徵點與第一特徵點進行匹配,最後將匹配程度滿足要求的特徵點作為第二特徵點。
在一種實施方式中,可以將從當前圖像幀中提取得到的特徵點與從目標圖像上得到的特徵點進行匹配,然後將匹配程度滿足要求的特徵點作為第二特徵點。
在一種實施方式中,可以利用特徵點跟蹤的方法獲得第二特徵點。其中,特徵點跟蹤的方法可以是光流演算法。示例性的,可以分別對至少一個第一特徵點進行跟蹤,得到當前圖像幀中關於目標圖像的至少一個第二特徵點,也就是說,可以對每一個第一特徵點進行跟蹤,以獲得每一個第一特徵點在當前圖像幀中對應的點,然後對這些對應的點進行特徵提取獲得第二特徵點。由此,通過利用特徵點跟蹤的方法,可以獲得當前圖像幀中與第一特徵點對應的特徵點,繼而得到至少一個第二特徵點,用於後續的圖像配准。
步驟S123:基於第一特徵點和第二特徵點,確定第一變換參數。
示例性的,在得到第一特徵點和第二特徵點以後,可以基於第一特徵點和第二特徵點的特徵資訊,得到第一變換參數。例如,可以基於特徵點匹配的方法對第一特徵點以及第二特徵點進行處理,從而確定第一變換參數。示例性的,可以利用RANSAC對第一特徵點以及第二特徵點進行處理,確定第一變換參數。
由此,通過得到其它圖像幀上的第一特徵點,以及前圖像幀中上的第二特徵點,可以實現當前圖像幀和其它圖像幀的配准。
在一種實施方式中,在得到當前圖像幀與目標圖像幀之間的第三變換參數之後,還可以進一步對第三變換參數進行優化,以得到更加準確的第三變換參數。示例性的,可以利用預設優化方式,對第三變換參數進行優化。
在一種實施方式中,預設優化方式,可以是反覆運算優化;示例性的,可以通過反覆運算優化的方法,計算目標圖像與當前幀圖像中的目標圖像的相似度,並以此為依據優化第三變換參數。
示例性的,優化第三變換參數可以通過式(2)實現:
(2)
在式(2)中,
代表相似度得分,得分越高,代表目標圖像與當前幀圖像越相似;
表示當前幀圖像
經第三候選變換參數
變換的結果;
函數用於計算目標圖像
與
之間的相似度,即
函數用於計算目標圖像與當前幀圖像的相似程度,示例性的,該函數可以為誤差平方和(Sum of Squared Differences,SSD)函數,或者歸一化互相關(Normalized Cross Correlation,NCC)函數等;
表示利用反覆運算優化的方法優化
,使得目標圖像與當前幀圖像的相似程度盡可能的提高。反覆運算優化的方法例如是高斯—牛頓(Gauss-Newton)反覆運算法或是Levenberg-Marquard演算法等等。
示例性的,SSD函數可以如式(3)所示:
(3)
其中,
表示對目標圖像
中圖元點
以及由第三變換參數
在當前圖像幀
中確定的與其對應的圖元點
所組成的對應的點對的圖元值進行誤差平方求和。由此可見,相似度
越小,目標圖像與當前圖像幀之間的相似度越高,反之,相似度
越大,目標圖像與待配准圖像之間的相似度越低。
示例性的,SSD函數還可以如式(4)所示:
(4)
其中,
表示對目標圖像
中圖元點
以及由第三變換參數H在當前圖像幀
中確定的與其對應的圖元點
所組成的對應的點對的圖元值進行歸一化互相關處理。此外,
表示目標圖像中圖元點
圖元值的平均值,
表示當前圖像幀中圖元點
圖元值的平均值。需要說明的是,
的值域為-1至1,且
越接近於1,表示目標圖像與當前圖像幀之間的相似度越高。
通過以上方式,可以實現對第三變換參數的優化,從而可以得到更加準確的第三變換參數,進而能夠提高圖像配准的效果。
圖3是本發明實施例提供的視覺定位方法的第一流程示意圖。
需要說明的是,本發明實施例提供的視覺定位方法,由電子設備執行,其中,視覺定位,可以通過電子設備的處理器執行。示例性的,電子設備的處理器,可以為ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微處理器中的至少一種。
如圖3所示,該方法包括步驟S21至步驟S22。
步驟S21:獲取當前圖像幀與目標圖像之間的當前變換參數。
在本發明實施中,當前變換參數為利用前述實施例提供的的圖像配准方法得到的第三變換參數。
步驟S22:利用當前變換參數,得到當前圖像幀在世界座標系中的第一位姿。
在一種實施方式中,世界座標系可以是基於目標圖像所在的平面建立的。示例性的,可以以目標圖像所在的平面為世界座標系的預設平面,例如以目標圖像所在的平面為世界座標系的XOY面,或者是XOZ面、YOZ面。示例性的,目標圖像的中心可以在世界座標系的原點,目標圖像的橫軸可以平行於世界座標系的X軸,目標圖像的縱軸可以平行於世界座標系的Y軸,世界座標系的Z軸可以垂直於目標圖像平面。
示例性的,在已經獲取當前圖像幀與目標圖像之間的當前變換參數、並且世界座標系也是基於目標圖像所在的平面建立的的情況下,可以對當前變換參數進行換算,得到當前圖像幀在世界座標系中的第一位姿,示例性的,第一位姿可以是相對於電子設備的圖像採集裝置在拍攝的當前圖像幀時對應的世界座標系時的位姿。對當前變換參數進行換算得到第一位姿的演算法可以是位姿估計(Perspective-n-Point,PnP)演算法。
由以上可知,在本發明實施例提供的視覺定位方法中,通過獲取當前圖像幀與目標圖像之間的當前變換參數,並且基於目標圖像所在的平面建立世界座標系,就能夠得到當前圖像幀在世界座標系中的第一位姿,從而實現了對拍攝設備的視覺定位。
圖4是本發明實施例提供的視覺定位方法中第一位姿的確定流程示意圖。如圖4所示,在本發明實施例提供的視覺定位方法中,在步驟S22之前,還可以執行步驟S31至步驟S33。
步驟S31:判斷當前變換參數是否滿足預設要求。
在一種實施方式中,判斷變換參數是否滿足預設要求,可以包括判斷當前變換參數的準確度是否滿足要求,示例性的,若當前變換參數的準確度滿足預設要求,則可以認為當前變換參數的準確度較高;若當前變換參數的準確度不滿足預設要求,則可以認為當前變換參數的準確度較低,不能利用當前變換參數來得到第一位姿。
在一種實施方式中,判斷變換參數是否滿足預設要求,可以是對利用當前變換參數計算得到的當前圖像幀與目標圖像之間的相似度是否滿足預設要求進行判斷。
示例性的,在變換參數滿足預設要求時,可以執行步驟S32;在變換參數不滿足預設要求時,可以執行步驟S33。
步驟S32:回應於當前變換參數滿足預設要求,執行利用當前變換參數,得到當前圖像幀在世界座標系中的第一位姿。
示例性的,在當前變換參數滿足預設要求的情況下,意味著當前變換參數的準確度較高,此時可以執行回應於當前變換參數滿足預設要求,執行利用當前變換參數,得到當前圖像幀在世界座標系中的第一位姿的操作。
步驟S33:回應於當前變換參數不滿足預設要求,利用其它圖像在世界座標系中的第二位姿、以及當前圖像幀與其它圖像幀之間的光度誤差,確定第一位姿。
示例性的,若當前變換參數不滿足預設要求,意味著當前變換參數的準確度不高,即通過當前變換參數得到的第一位姿的準確度也不高,此時可以執行回應於當前變換參數不滿足預設要求,利用其它圖像在世界座標系中的第二位姿、以及當前圖像幀與其它圖像幀之間的光度誤差,確定第一位姿的操作。
由以上可知,在本發明實施例提供的視覺定位方法中,通過判斷當前變換參數是否滿足預設要求,在滿足預設要求時可以通過當前變換參數得到第一位姿,在不滿足預設要求時,通過其它方法得到第一位姿,由此能夠通過多種途徑靈活的得到更加準確的第一位姿。
在本發明實施例中,在執行獲取當前圖像幀與目標圖像之間的當前變換參數之前,還可以先執行獲取於上一圖像幀的位姿獲取方式的操作,以此來確定於上一圖像幀的位姿獲取方式。在本實施例中,上一圖像幀的位姿可以是通過圖像跟蹤的方式來獲取,也可以是通過其它方式來獲取的,示例性的,其它方式可以是視覺導航等方法。
在本發明實施例提供的視覺定位方法中,在執行獲取當前圖像幀與目標圖像之間的當前變換參數之前,還可以執行以下操作:
回應於上一圖像幀的位姿獲取方式為圖像跟蹤方式,執行獲取當前圖像幀與目標圖像之間的當前變換參數。
其中,圖像跟蹤方式為利用上一圖像幀與目標圖像之間的變換參數確定上一圖像幀在世界座標系中的位姿。
在一種實施方式中,可以通過上一圖像幀與目標圖像之間的單應性矩陣,獲取上一圖像幀在世界座標系中的位姿。示例性的,由於上一圖像幀的位姿是通過圖像跟蹤方式獲取的,這就意味著上一圖像幀中存在目標圖像,那麼當前圖像幀也可能存在目標圖像,因此可以選擇通過當前圖像幀與目標圖像之間的當前變換參數,得到當前圖像幀在世界座標系中的第一位姿。
在一種實施方式中,若上一圖像幀的位姿獲取方式不是通過圖像跟蹤方式獲取的,則意味著上一圖像幀中可能不存在目標圖像,因此可以選擇通過其它方法來獲得當前圖像幀在世界座標系中的第一位姿。
在本發明實施例提供的視覺定位方法中,視覺定位方法實現時電子設備的定位狀態可以包括兩種狀態,一種是圖像跟蹤狀態,一種是視覺導航狀態。
示例性的,在執行獲取當前圖像幀與目標圖像之間的當前變換參數之前,還可以先執行判斷電子設備定位狀態的操作,以確定是否獲取當前圖像幀與目標圖像之間的當前變換參數。示例性的,定位狀態,可以是根據上一圖像幀在世界座標系中的位姿的獲取方式確定的。示例性的,若上一圖像幀在世界座標系中的位姿,是通過圖像配准方法,對目標圖像進行檢測得到的,再得到變換參數來確定的,則可以確定定位狀態為圖像跟蹤狀態;示例性的,圖像配准方法,可以包括前述實施例提供的圖像配准方法。
示例性的,若上一圖像幀在世界座標系中的位姿不是通過圖像配准方法得到的,則可以確定定位狀態為視覺導航狀態。
示例性的,若電子設備當前不處於圖像跟蹤狀態,那麼當前可以處於視覺導航狀態,此時可以執行獲取當前圖像幀與目標圖像之間的當前變換參數,使得後續可以獲得第一位姿。示例性的,在當前處於視覺導航狀態的情況下,可以執行步驟S33。
在本發明實施例提供的視覺定位方法中,在判斷當前變換參數是否滿足預設要求執行之後,可以表示已經執行了獲取當前圖像幀與目標圖像之間的當前變換參數這一操作,此時可以確認定位狀態為圖像跟蹤狀態。
示例性的,在後續,可以根據當前變換參數是否滿足預設要求的判斷結果,再次確定定位狀態。比如,在當前變換參數滿足預設要求的情況下,保持處於圖像跟蹤狀態,當前變換參數滿足預設要求,表示可以通過當前變換參數獲得當前圖像幀的第一位姿,因此可以保持處於圖像跟蹤狀態。示例性的,在當前變換參數不滿足預設要求的情況下,表示不能通過當前變換參數來獲得當前圖像幀的第一位姿,此時可以切換至視覺導航狀態,並執行步驟S33。
因此,在本發明實施例提供的視覺定位方法中,通過當前變換參數是否滿足預設要求,就可以確定電子設備的定位狀態,進而確定獲取第一位姿的具體方法。
圖5是本發明實施例提供的視覺定位方法的第二流程示意圖。在本發明實施例提供的視覺定位方法中,其它圖像幀和當前圖像幀是由電子設備的圖像採集裝置先後拍攝得到的。在這種情況下,利用其它圖像在世界座標系中的第二位姿、以及當前圖像幀與其它圖像幀之間的光度誤差,確定第一位姿,可以通過步驟S331至步驟S333實現。
步驟S331:獲取第一參考姿態。
其中,第一參考姿態是圖像採集裝置對應於當前圖像幀的拍攝時刻且相對於參考平面的姿態。
在一種實施方式中,第一參考姿態,可以是電子設備的旋轉資訊,即電子設備相對於參考平面的旋轉資訊。
在一種實施方式中,第一參考姿態,可以是由電子設備的傳感裝置檢測得到的。示例性的,傳感裝置可以是陀螺儀。
在一種實施方式中,第一參考姿態的檢測時刻與當前圖像幀的拍攝時刻之間的差值不超過第一預設時間差。示例性的,第一預設差值可以是較短的時間長度,比如可以是20毫秒或者15毫秒等等,第一預設差值可以根據實際需要調整和設置。
在一種實施方式中,在多個檢測時刻與當前圖像幀的拍攝時刻之間的差值,均不超過第一預設時間差的情況下,可以選擇與當前圖像幀的拍攝時刻最接近的檢測時刻、所對應的圖像採集裝置相對於參考平面的姿態來獲取第一參考姿態;示例性的,檢測時刻與當前圖像幀的拍攝時刻之間的差值不超過第一預設時間差,即檢測時刻與當前圖像幀的拍攝時刻非常接近,此時可以認為第一參考姿態是當前圖像幀的拍攝時刻的設備的姿態資訊。示例性的,參考平面例如是基於傳感裝置的檢測參數確定的某一平面。
步驟S332:利用參考平面與世界座標系中的預設平面之間的偏移量,對第一參考姿態進行調整,得到第二參考姿態。
示例性的,世界座標系中的預設平面,例如是世界座標系的XOY平面,或是XOZ平面,YOZ平面等等。在一種實施方式中,預設平面可以是世界座標系的XOY平面。在一種實施方式中,目標圖像所在的平面可以為預設平面。
示例性的,在得到第一參考姿態以後,可以表示已經獲得電子設備相對於參考平面的旋轉資訊。此時,可以獲取參考平面與其它平面之間的偏移量,並利用偏移量對第一參考姿態進行調整,以此得到電子設備相對於其它平面的第二參考姿態,示例性的,第二參考姿態,可以包括電子設備相對其它平面的旋轉資訊。
在本發明實施例提供的視覺定位方法中,其它平面可以是世界座標系中的預設平面,因此第二參考姿態可以認為是電子設備相對於世界座標系的預設平面的旋轉資訊。
在一種實施方式中,第一參考姿態可以是由陀螺儀檢測得到的,因此參考平面可以是基於陀螺儀確定的某一平面,此時,通過利用參考平面與世界座標系中的預設平面之間的偏移量,對第一參考姿態進行調整,而得到的第二參考姿態,也可以認為是將參考平面變換到預設平面需要的旋轉量。
由此,通過獲取參考平面與世界座標系中的預設平面之間的偏移量,可以基於該偏移量對第一參考姿態資訊進行調整,得到第二參考姿態資訊,就能夠獲得相對於參考平面以外的平面(例如是世界座標系的預設平面)的參考姿態資訊,使得世界座標系的預設平面可以位於參考平面以外的任意平面,並且也同時可以利用參考姿態資訊來優化最終位姿資訊,提高了最終位姿資訊的準確度。
圖6為本發明實施例提供的視覺定位方法中偏移量獲取的流程示意圖。如圖6所示,在本發明實施例提供的視覺定位方法中,在步驟S332之前,還可以執行步驟S41至步驟S42。
步驟S41:獲取第一歷史圖像幀在世界座標系中的第三位姿,獲取第三參考姿態。
其中,第三參考姿態,是圖像採集裝置對應於第一歷史圖像幀的拍攝時刻且相對於參考平面的姿態;第三位姿是基於目標圖像確定的;預設平面為目標圖像所在的平面。
在一種實施方式中,預設平面可以為目標圖像所在的平面。
在一種實施方式中,第三位姿可以是基於目標圖像確定的;示例性的,第三位姿,可以是基於目標圖像,利用圖像配准演算法檢測第一歷史圖像幀與目標圖像,得到它們之間的第四變換參數後再對第四變換參數進行換算後得到的。
在一種實施方式中,第三參考姿態,可以是電子設備的圖像採集裝置對應於第二歷史圖像幀的拍攝時刻且相對於參考平面的姿態;示例性的,第二歷史圖像幀位於第一歷史圖像幀之前。
在一種實施方式中,第三參考姿態,可以是電子由設備的傳感裝置檢測得到的;示例性的,第三參考姿態的檢測時刻與第一歷史圖像幀的拍攝時刻之間的差值不超過第二預設時間差,此時,可以認為第三參考姿態與第三位姿的姿態資訊相同。
在一種實施方式中,通過對第一歷史圖像幀和目標圖像分別進行特徵提取,可以得到與第一歷史圖像幀對應的第一特徵點,以及與目標圖像對應的第二特徵點。本發明實施例對特徵點的數量不做具體限制。示例性的,對第一歷史圖像幀以及目標圖像進行特徵提取可以是通過特徵提取演算法實現的,特徵提取演算法可以是FAST演算法、SIFT演算法以及ORB演算法中的任一演算法。
在一種實施方式中,在得到第一特徵點以及第二特徵點以後,還可以得到與每個特徵點對應的特徵表示,示例性的,特徵表示可以是特徵向量,在這種情況下,每一個特徵點,可以均有一個與其對應的特徵表示。
在本發明實施例提供的視覺定位方法中,通過計算每一個第一特徵點與每一個第二特徵點的匹配程度,可以得到一系列的匹配點對,然後可以選擇匹配程度高的匹配點作為第一匹配點對。示例性的,計算第一特徵點和第二特徵點的匹配程度,可以是計算第一特徵點的特徵表示與第二特徵點的特徵表示之間的距離,距離越近,可以確定第一特徵點與第二特徵點越匹配。
在本發明實施例提供的視覺定位方法中,獲取第一歷史圖像幀在世界座標系中的第三位姿,可以通過以下操作實現:
利用基於上述匹配操作得到的一系列第一匹配點對,利用圖像配准演算法,確定第一歷史圖像幀與目標圖像之間的第四變換參數,並利用第四變換參數得到第三位姿。示例性的,圖像配准演算法可以是RANSAC。
在本發明實施例提供的視覺定位方法中,獲取第一歷史圖像幀在世界座標系中的第三位姿,可以通過以下操作實現:
基於第一歷史圖像幀與第二歷史圖像幀之間的第二匹配點對,確定第一歷史圖像幀與第二歷史圖像幀之間的第五變換參數;利用第五變換參數和第二歷史圖像幀與目標圖像之間的第六變換參數,得到第四變換參數,最後再基於第四變換參數得到第三位姿。
其中,第二歷史圖像幀位於第一歷史圖像幀之前。
示例性的,獲得第二匹配點對的過程,可以參照上述獲得第一匹配點對的具體描述,此處不再贅述;得到第五變換參數的可以參照上述的圖像配准方法實施例,此處不再贅述;第二歷史圖像幀與目標圖像之間的第六變換參數可以基於圖像配准演算法得到,此處不再贅述。
由以上可知,在本發明實施例提供的視覺定位方法中,通過獲得第一歷史圖像幀與目標圖像之間的第四變換參數,或是通過利用第一歷史圖像幀與第二歷史圖像幀之間的第五變換參數、以及第二歷史圖像幀與目標圖像之間的第六變換參數來得到第四變換參數,均可以獲得第一歷史圖像幀的第三位姿,實現視覺定位,從而使得視覺定位的方式更加靈活。
在本發明實施例提供的視覺定位方法中,利用第四變換參數得到第三位姿,可以通過以下操作實現:
回應於第四變換參數滿足預設要求,確定處於圖像跟蹤狀態,利用第四變換參數得到第三位姿。
也就是說,在利用第四變換參數得到第三位姿之前,還可以先判斷第四變換參數是否滿足預設要求。
示例性的,在第四變換參數不滿足預設要求的情況下,可以確定電子設備處於視覺導航狀態,執行前述實施例提供的利用其它圖像在世界座標系中的第二位姿、以及當前圖像幀與其它圖像幀之間的光度誤差,確定第一位姿的操作。
由以上可知,在本發明實施例提供的視覺定位方法中,通過判斷第四變換參數是否滿足預設要求,可以利用準確度較高的第四變換參數來獲得更加準確的第三位姿。
在本發明實施例提供的視覺定位方法中,獲得第一歷史圖像幀與目標圖像的第四變換參數,或者獲得第二歷史圖像幀與目標圖像的第六變換參數的過程,可以通過步驟A1至步驟A2實現。
步驟A1:選擇其中一組第一匹配點對作為目標匹配點對。
在一種實施方式中,對目標圖像進行特徵提取得到的特徵點,可以定義為第三特徵點;基於第一歷史圖像幀或者第二歷史圖像幀進行特徵提取得到的特徵點,可以定義為第四特徵點;示例性的,通過計算第三特徵點與第四特徵點的匹配程度,可以得到第一匹配點對。
示例性的,選擇一組第一匹配點對作為目標匹配點對,可以是從最匹配的點對開始選起,在目標匹配點中,第三特徵點可以為第一匹配點,第四特徵點可以為第二匹配點。
步驟A2:基於目標匹配點對的方向資訊,得到與目標匹配點對相對應的單應性矩陣。
示例性的,目標匹配點對的方向資訊可以表示第一歷史幀圖像相對於目標圖像的旋轉角度,或者可以表示第二歷史幀圖像相對於目標圖像的旋轉角度。示例性的,首先可以在目標圖像中提取以第一匹配點為中心的第一圖像區域,在第一歷史圖像幀或者第二歷史圖像幀中提取以第二匹配點為中心的第二圖像區域;然後,確定第一圖像區域的第一偏轉角度以及第二圖像區域的第二偏轉角度;再基於第一偏轉角度和第二偏轉角度,得到變換參數。示例性的,變換參數,可以是基於目標匹配點對的方向資訊,以及目標匹配點對中的第一匹配點與第二匹配點的圖元座標資訊得到的。
在一種實施方式中,第一偏轉角度,可以為第一圖像區域的形心與第一圖像區域的中心的連線、與預設方向(例如是世界座標系的X軸)之間的有向夾角;第二偏轉角度,可以為第二圖像區域的形心與第二圖像區域的中心的連線、與預設方向之間的有向夾角。
示例性的,第一偏轉角度
可以直接通過式(5)得到:
(5)
在式(5)中,
表示第一圖像區域中某一圖元點相對第一圖像區域中心的偏移量,
表示該圖元點的圖元值,
表示求和,其求和範圍為第一圖像區域中的圖元點。同理,第二偏轉角度也可以按照相同的方法計算得到。
在一種實施方式中,可以通過步驟B1至步驟B2得到第一歷史幀圖像或者第二歷史幀圖像與目標圖像之間的變換參數。
步驟B1:獲取第一偏轉角度與第二偏轉角度之間的角度差。
步驟B2:基於角度差和第一匹配點對所對應的尺度,得到第一候選變換參數。
示例性的,第一候選變換參數,可以是第一歷史幀圖像或者第二歷史幀圖像與目標圖像之間對應的單應性矩陣。
其中,單應性矩陣的計算可以通過式(7)實現:
(7)
其中,
為目標圖像與第一歷史幀圖像或者第二歷史幀圖像之間對應的單應性矩陣,即第一候選變換參數;
表示第一歷史幀圖像或者第二歷史幀圖像相對於目標圖像的平移量;
表示第一匹配點對所對應的尺度,示例性的,尺度可以為在對目標圖像進行縮放時的比例資訊;
表示第一歷史幀圖像或者第二歷史幀圖像相對於目標圖像的旋轉量,
表示平移之後復位的平移量。
為了求得角度差,可以對式(7)進行變換,得到式(8):
(8)
在式(8)中,
為第一匹配點在目標圖像上的圖元座標;
為第二匹配點在第一歷史幀圖像或者第二歷史幀圖像上的圖元座標;
為第一匹配點對所對應的尺度,即點
對應的尺度;
為角度差。
由以上可知,在本發明實施例提供的視覺定位方法中,通過計算目標匹配點對的方向資訊,獲得第一歷史幀圖像或者第二歷史幀圖像相對於目標圖像的旋轉角度,從而可以利用該旋轉角度資訊得到第一歷史幀圖像或者第二歷史幀圖像與目標圖像之間的變換參數,實現了利用匹配點對計算變換參數。
步驟S42:利用第三位姿中的姿態和第三參考姿態,得到偏移量。
其中,第三位姿中的姿態是相對於預設平面的姿態。
示例性的,第三位姿,可以為相對於預設平面的旋轉量資訊。
在一種實施方式中,可以將第三位姿中的姿態與第三參考姿態之間的比值,作為偏移量,即可以通過求取比值的方式,獲得偏移量。
在一種實施方式中,在第三位姿中的姿態為
、第二參考姿態位
、
表示偏移量的情況下,偏移量的計算可以通過式(9)實現:
(9)
由以上可知,通過第三位姿中的姿態資訊,以及可以視為與第三位姿資訊拍攝時刻同時刻獲取的第三參考姿態,即可以獲得參考平面與世界座標系中的預設平面之間的偏移量。
在本發明實施例中,通過特徵提取演算法進行特徵提取得到的特徵點,可以認為與目標圖像位於同一平面。
步驟S333:基於第二參考姿態、第二位姿以及當前圖像幀與歷史圖像幀之間的光度誤差,確定第一位姿。
在一種實施方式中,可以首先得到當前圖像幀與其它圖像幀之間的相對位姿變化,計算當前圖像幀與其它圖像幀之間的光度誤差,利用相對位姿變化得到當前圖像幀的最終位姿,然後利用第二參考姿態作為約束因素,優化並減小光度誤差,從而確定第一位姿。
在一種實施方式中,可以首先得到當前圖像幀在世界座標系中的位姿資訊作為初始位姿,然後利用其它圖像幀在世界座標系中的的位姿資訊,得到當前圖像幀與其它圖像幀之間的光度誤差,再利用第二參考姿態作為約束因素,優化並減小光度誤差,從而確定第一位姿。
由以上可知,通過獲取參考平面與世界座標系中預設平面之間的偏移量,再基於該偏移量對第一參考姿態資訊進行調整,得到第二參考姿態資訊,就可以獲得相對於參考平面以外的平面(例如是世界座標系的預設平面)的參考姿態資訊,從而使得世界座標系的預設平面可以位於參考平面以外的任意平面,並且也同時可以利用參考姿態資訊來優化最終位姿資訊,提高了第一位姿的準確度。
在本發明實施例提供的視覺定位方法中,步驟S333可以通過以下方式實現。
獲取至少一個第一候選位姿,基於第二參考姿態、第二位姿以及當前圖像幀和其它圖像幀之間的第一圖元值差異,選擇一第一候選位姿作為第一位姿。
在一種實施方式中,第一候選位姿可以是當前圖像幀在世界座標系中的位姿資訊;示例性的,第一候選位姿可以是基於影像處理演算法計算得到的;示例性的,第一候選位姿,也可以通過計算當前圖像幀和其它圖像幀的相對位姿變化和其它圖像幀的第二位姿得到的,還可以直接選擇距離當前圖像幀最近的具有位姿資訊的圖像幀的位姿作為第一候選位姿,然後,可以利用反覆運算優化的方法,生成多個第一候選位姿。
在此基礎上,可以基於每一個第一候選位姿,並基於第二參考姿態、以及當前圖像幀與其它圖像幀之間的第一圖元值差異,得到對應於每一個第一候選位姿的第一圖元值差異,然後選擇一個第一候選位姿作為最終位姿。
示例性的,當前圖像幀與其它圖像幀之間的第一圖元值差異,可以是當前圖像幀上的圖元點在其它圖像幀上對應的圖元點的圖元值差異。例如,空間中有三維點A,A在當前圖像幀上圖元點的為a1,A在其它圖像幀上的圖元點為a2,那麼,a1可以為A在其它圖像幀上的點a2對應的圖元點。示例性的,還可以利用第二參考姿態與第一候選位姿中的姿態之間的姿態差異來優化第一圖元值差異。
因此,通過利用第二參考姿態、第二位姿、以及當前圖像幀和其它圖像幀之間的第一圖元值差異來選擇第一候選位姿,可以得到更加準確的第一候選位姿。
在一種實施方式中,可以利用式(10)來選擇一第一候選位姿作為最終位姿。
(10)
其中,
為最終的誤差資訊;
為第一候選位姿,
為旋轉量資訊(也可以稱為旋轉量或朝向),
為平移量信息;
是第二參考姿
與第一候選位姿中的姿態
之間的姿態差異;空間三維點
是基於第一候選位姿確定與其它圖像幀中的特徵點對應的空間點;
為空間三維點
投影在當前圖像幀上的特徵點,
為空間三維點
在當前圖像幀上對應的特徵點的圖元值;K為電子設備的圖像採集裝置的記憶體矩陣;
為空間三維點
在其它圖像幀上對應的特徵點的圖元值;
為第一圖元值差異;
表示對當前圖像幀與其它圖像幀上對應的特徵點計算第一圖元值差異求和;α,β為兩個約束項的調整參數。可通過實際使用進行比例設定。
表示利用反覆運算優化的方法,生成多個第一候選位姿,並從中選擇出最終的誤差資訊
最小的時候,對應的第一候選位姿。
在式(11)中,
是傳感裝置檢測,例如是通過陀螺儀檢測得到的資料,然後結合偏移量δ求得的相對於預設平面的旋轉量資訊,而
為通過計算得到的第一候選位姿中的旋轉量資訊,也是相對於預設平面的旋轉量資訊,二者理論上應當是相同的。因此,它們可以用來作為優化的第一候選位姿的約束資訊。
由以上可知,通過利用陀螺儀的資料來對第一候選位姿進行約束,可以在對第一候選位姿進行反覆運算優化時,求得更加準確的第一候選位姿。
在一種實施方式中,在求得最終的誤差資訊以後,可以選擇最終的誤差資訊滿足第一預設要求的第二特徵點所對應的第一候選位姿,作為最終位姿;示例性的,第一預設要求可以根據需要設置,此處不做限定。
在本發明實施例提供的視覺定位方法中,獲取至少一個第一候選位姿,並基於第二參考姿態、以及第二位姿和當前圖像幀和其它圖像幀之間的第一圖元值差異,選擇一第一候選位姿作為第一位姿,可以通過步驟D1至步驟D2實現。
步驟D1:利用第二位姿,確定與其它圖像幀中的第五特徵點對應的空間點。
在本發明實施例提供的視覺定位方法中,第五特徵點即為前述實施例中的第一特徵點。
在一種實施方式中,其它圖像幀在世界座標系中的第二位姿,可以是基於圖像配准演算法計算得到的,也可以是利用視覺跟蹤演算法得到的。
在一種實施方式中,在得到第二位姿以後,可以計算第五特徵點對應的空間點的深度值,然後就可以計算該空間點的三維座標,以此可以確定該空間點的位置。由此,可以確定一定數量的其它圖像幀中的第五特徵點對應的空間點。
步驟D2:基於每個第一候選位姿和空間點從當前圖像幀中確定與第一候選位姿對應的第六特徵點,基於第一圖元值差異以及第二參考姿態與第一候選位姿之間的位姿差異,選擇一第一候選位姿作為第一位姿。
在本發明實施例提供的視覺定位方法中,第六特徵點可以為前述實施例中的第二特徵點。
在一種實施方式中,在得到其它圖像幀中的第五特徵點對應的空間點的三維座標、其它圖像幀在世界座標系中的第二位姿、以及當前幀圖像在世界座標系中的第一候選位姿以後,可以利用投影的方式,在當前圖像幀中確定與空間點對應的第六特徵點;示例性的,該第六特徵點即為其它圖像幀上的第五特徵點在當前圖像中上對應的點。
示例性的,可以基於第五特徵點和第六特徵點得到第一圖元值差異,比如基於第五特徵點的圖元值和第六特徵點的圖元值得到第一圖元值差異。然後,就可以基於第一圖元值差異以及第二參考姿態與第一候選位姿之間的姿態差異,選擇一第一候選位姿作為最終位姿。具體的計算方法可以參考式(10)。
由此,通過利用確定空間中的三維點在其它圖像幀中以及在當前圖像幀中的對應的點,就可以通過計算圖元值的差異方法,求得較為準確的第一候選位姿。
在一種實施方式中,第一候選位姿為基於當前圖像幀在世界座標系中的初始位姿確定的。也就是說,可以基於初始位姿,通過反覆運算優化的方法,得到一系列的第一候選位姿,再從這一系列的第一候選位姿中選擇一個最終位姿。
在一種實施方式中,初始位姿,可以是基於當前圖像幀和其它圖像幀之間的光度誤差確定的。也就是說,可以利用光度誤差方程,結合反覆運算優化的方法,求得初始位姿。
在一種實施方式中,可以執行以下方式得到初始位姿。
獲取至少一個第二候選位姿,並基於當前圖像幀和其它圖像幀之間的第二圖元值差異,選擇一第二候選位姿作為初始位姿。
示例性的,第二候選位姿,可以是其它圖像幀相對於世界座標系的位姿資訊;第二候選位姿可以是基於影像處理演算法計算得到的,其數量可以為若干個;也可以直接選擇距離當前圖像幀最近的具有位姿資訊的圖像幀的位姿作為一個第二候選位姿;或者直接將第二位姿作為第二候選位姿。示例性的,可以利用反覆運算優化的方法,生成多個第二候選位姿。示例性的,可以以第二位姿為基礎,利用反覆運算優化的方法,生成多個第二候選位姿。在此基礎上,可以基於每一個第二候選位姿,並基於當前圖像幀和其它圖像幀之間的第二圖元值差異,然後選擇一個第二候選位姿作為初始位姿。示例性的,當前圖像幀和其它圖像幀之間的第二圖元值差異,可以是當前圖像幀上的圖元點在其它圖像幀上對應的圖元點的圖元值差異。例如。空間中有三維點B,B在當前圖像幀上的圖元點為B1,B在其它圖像幀上的圖元點為B2,B1為B在其它圖像幀上點B2對應的圖元點。
在一種實施方式中,可以通過式(12)來選擇一個第二候選位姿作為當前圖像幀與其它圖像幀之間的初始變化位姿。
(12)
在式(10)中,
為第二圖元值差異;
為第二候選位姿,
為旋轉量信息;
為平移量信息;空間三維點
是基於第二候選位姿確定與其它圖像幀中的第五特徵點對應的空間點;
為空間三維點
投影在當前圖像幀上的第六特徵點;
為當前圖像幀上第六特徵點的圖元值;K為電子設備的圖像採集裝置的記憶體矩陣;
為其它圖像幀上對應的第五特徵點的圖元值;
為第二圖元值差異;
表示對當前圖像幀與其它圖像幀上存在對應的點(第五特徵點和第六特徵點)計算第二圖元值差異並求和;
表示利用反覆運算優化的方法,生成多個第二候選位姿,並從中選擇出第二圖元值差異
最小時對應的第二候選位姿,作為初始位姿。
在一種實施方式中,在得到第二圖元值差異之後,還可以選擇第二圖元值差異滿足第二預設要求的第二特徵點所對應的第二候選位姿,作為初始變化位姿。示例性的,第二預設要求可以根據需要設置,此處不做限定。示例性的,若通過式(12)計算第二圖元值差異,則是選擇滿足預設要求的
對應的第二候選位姿資訊作為初始位姿。由此,通過篩選滿足預設要求的第二候選位姿,可以獲得相對準確的位姿資訊。
由此,通過計算第二圖元值的差異求得符合要求的初始位姿;然後再基於初始位姿,結合檢測資料(第二參考姿態)和光度誤差來求最終的誤差資訊,繼而能夠得到符合要求的最終位姿。通過利用第二參考姿態的校正,可以得到準確度更高的最終位姿。
圖7是本發明實施例提供的視覺定位方法的第三流程示意圖。如圖7所示,該方法可以包括步驟S51至步驟S55。
步驟S51:初始化:進行圖像配准,獲取初始圖像位姿。
示例性的,圖像配准是用利用電子設備拍攝到的當前圖像幀與目標圖像進行圖像配准檢測,若檢測成功,則可以獲得當前圖像幀在基於目標圖像建立的世界座標系中的初始圖像位姿,即電子設備在世界座標系中的位姿。
示例性的,還可以判斷當前圖像幀與目標圖像之間的變換參數是否滿足預設要求,若變換參數滿足預設要求,則可以認為在當前圖像幀檢測到目標圖像,圖像配准檢測成功,可以獲取初始圖像位姿;若變換參數不滿足預設要求,則可以認為在當前圖像幀中未檢測到目標圖像,即圖像配准檢測失敗。
示例性的,若圖像配准檢測成功,則重複執行步驟S51,直至獲得初始圖像位姿為止。
步驟S52:利用圖像配准方法,獲得第二圖像幀與第一圖像幀對應的圖像變換參數。
示例性的,可以將獲得初始圖像位姿時對應的圖像幀定義為第一圖像幀;在獲得初始圖像位姿以後,電子設備還可以獲取第二圖像幀。
示例性的,若第一圖像幀是利用圖像配准方法得到的初始位姿,可以確定此時電子設備處於圖像跟蹤狀態。此時,設備會執行前述實施例提及的圖像配准方法,以此可以獲得與第二圖像幀與第一圖像幀對應的圖像變換參數。
步驟S53:判斷圖像變換參數是否滿足預設要求。
示例性的,圖像變換參數,可以包括第一變換參數;判斷圖像變換參數是否滿足預設要求的方法,可以參照前述實施例,此處不再贅述。
若圖像變換參數滿足預設要求,則執行步驟S54;若圖像變換參數不滿足預設要求,則執行步驟S55。
步驟S54:進入圖像跟蹤狀態,利用圖像變換參數獲取第二位姿。
示例性的,若圖像變換參數滿足預設要求,則可以確認電子設備當前處於圖像跟蹤狀態,此時可以利用該圖像變換參數獲得第二圖像幀對應的第二位姿。
步驟S55:進入視覺導航狀態,利用其它圖像在世界座標系中的第二位姿、以及當前圖像幀與其它圖像幀之間的光度誤差,確定第一位姿。
示例性的,若圖像變換參數不滿足預設要求,則可以確認電子設備進入視覺導航狀態,並執行“利用其它圖像在世界座標系中的第二位姿、以及當前圖像幀與其它圖像幀之間的光度誤差,確定第一位姿”步驟。關於本步驟的具體描述,請參照前述實施例,此處不再贅述。
在後續的過程中,若執行了步驟S54,則會重新執行步驟S52獲得第三圖像幀與第二圖像幀的圖像變換參數,並繼續執行後續步驟。若執行了步驟S55,則會重複執行步驟S55,設備持續處於視覺導航狀態。
在一種實施方式中,當電子設備重新執行了步驟S51時,則可以繼續執行後續的步驟。
圖8是本發明實施例提供的圖像配准裝置的結構示意圖。圖像配准裝置80包括圖像獲取模組81、第一參數獲取模組82和第二參數獲取模組83。其中:
圖像獲取模組81,配置為獲取當前圖像幀;
第一參數獲取模組82,配置為基於當前圖像幀與其它圖像幀中的目標圖像資訊,確定當前圖像幀與其它圖像幀之間的第一變換參數,其中,目標圖像資訊為關於目標圖像的圖像資訊;第一變換參數,包括當前圖像幀與其它圖像幀之間的單應性矩陣;
第二參數獲取模組83,配置為基於第一變換參數、以及其它圖像幀與目標圖像之間的第二變換參數,得到當前圖像幀與目標圖像之間的第三變換參數;其中,第二變換參數,包括當前圖像幀與目標圖像之間的單應性矩陣。
在一種實施方式中,第一參數獲取模組82,配置為從其它圖像幀中查找出關於目標圖像的至少一個第一特徵點;在從當前圖像幀中查找出關於目標圖像的至少一個第二特徵點;基於第一特徵點和第二特徵點,確定第一變換參數。
在一種實施方式中,第一參數獲取模組82,配置為基於第二變換參數確定目標圖像在其它圖像幀中的目標區域;從目標區域中提取至少一個第一特徵點;
第一參數獲取模組82,還配置為分別對至少一個第一特徵點進行跟蹤,得到當前圖像幀中關於目標圖像的至少一個第二特徵點。
在一種實施方式中,第二參數獲取模組83,配置為將第一變換參數與第二變換參數的乘積,作為第三變換參數。
圖像配准裝置80還包括優化模組,在第二參數獲取模組,配置為基於第一變換參數、以及其它圖像幀與目標圖像之間的第二變換參數,得到當前圖像幀與目標圖像之間的第三變換參數之後,優化模組,配置為利用預設優化方式,對第三變換參數進行優化。
圖9是本發明實施提供的視覺定位裝置90的結構示意圖。視覺定位裝置90包括參數獲取模組91和第一位姿獲取模組92,其中:
參數獲取模組91,配置為獲取當前圖像幀與目標圖像之間的當前變換參數;其中,當前變換參數為如前述實施例提供的圖像配准方法獲得的第三變換參數;
第一位姿獲取模組92,配置為利用當前變換參數,得到當前圖像幀在世界座標系中的第一位姿,其中,世界座標系是基於目標圖像所在的平面建立的。
在一種實施方式中,視覺定位裝置90還包括判斷模組和第二位姿獲取模組,其中:
第一位姿獲取模組,配置為利用當前變換參數,得到當前圖像幀在世界座標系中的第一位姿之前,判斷模組,配置為判斷當前變換參數滿足是否預設要求。
第一位姿獲取模組,還配置為回應於當前變換參數滿足預設要求,利用當前變換參數,得到當前圖像幀在世界座標系中的第一位姿。
第二位姿獲取模組,配置為回應於當前變換參數不滿足預設要求,利用其它圖像在世界座標系中的第二位姿、以及當前圖像幀與其它圖像幀之間的光度誤差,確定第一位姿。
在一種實施方式中,視覺定位裝置90還包括狀態確定模組,狀態確定模組,配置為在參數獲取模組,配置為獲取當前圖像幀與目標圖像之間的當前變換參數之前,響應於上一圖像幀的位姿獲取方式為圖像跟蹤方式,執行獲取當前圖像幀與目標圖像之間的當前變換參數,其中,圖像跟蹤方式為利用上一圖像幀與目標圖像之間的變換參數確定上一圖像幀在世界座標系中的位姿。
其中,上述的其它圖像幀和當前圖像幀是由設備的圖像採集裝置先後拍攝得到。
第二位姿獲取模組,配置為獲取第一參考姿態,對第一參考姿態進行調整,得到第二參考姿態;基於第二參考姿態、第二位姿和當前圖像幀與歷史圖像幀之間的光度誤差,確定第一位姿;其中,第一參考姿態是圖像採集裝置對應於當前圖像幀的拍攝時刻且相對於參考平面的姿態;利用參考平面與世界座標系中的預設平面之間的偏移量。
在一種實施方式中,視覺定位裝置90還包括偏移量獲取模組,配置為在利用參考平面與世界座標系中的預設平面之間的偏移量,對第一參考姿態進行調整,得到第二參考姿態之前,獲取第一歷史圖像幀在世界座標系中的第三位姿,以及獲取第三參考姿態,利用第三位姿中的姿態和第三參考姿態,得到偏移量,其中,第三參考姿態是圖像採集裝置對應於第一歷史圖像幀的拍攝時刻且相對於參考平面的姿態,第三位姿是基於目標圖像確定的,預設平面為目標圖像所在的平面;第三位姿中的姿態是相對於預設平面的姿態。
在一種實施方式中,第二位姿獲取模組,配置為獲取至少一個第一候選位姿,基於第二參考姿態、第二位姿和當前圖像幀和其它圖像幀之間的第一圖元值差異,選擇一第一候選位姿作為第一位姿。
其中,上述的第一候選位姿是基於當前圖像幀在世界座標系中的初始位姿確定的,初始位姿是基於當前圖像幀和其它圖像幀之間的光度誤差確定的;和/或,上述的第二位姿獲取模組,配置為利用第二位姿,確定與其它圖像幀中的第一特徵點對應的空間點;基於每個第一候選位姿和空間點從當前圖像幀中確定與第一候選位姿對應的第二特徵點,獲取第一特徵點與第二特徵點的第一圖元值差異,並基於第一圖元值差異以及第二參考姿態與第一候選位姿之間的位姿差異,選擇一第一候選位姿作為第一位姿。
在一種實施方式中,視覺定位裝置90還包括歷史圖像幀位姿獲取模組,配置為基於第一歷史圖像幀與目標圖像之間的第一匹配點對,確定第一歷史圖像幀與目標圖像之間的第四變換參數,利用第四變換參數得到第二位姿;或者,基於第一歷史圖像幀與第二歷史圖像幀之間的第二匹配點對,確定第一歷史圖像幀與第二歷史圖像幀之間的第五變換參數,利用第五變換參數和第二歷史圖像幀與目標圖像之間的第六變換參數得到第四變換參數,利用第四變換參數得到第二位姿,其中,第二歷史圖像幀位於第一歷史圖像幀之前。
在一種實施方式中,歷史圖像幀位姿獲取模組,配置為利用第四變換參數得到第二位姿之前,判斷第四變換參數是否滿足預設要求;回應於第四變換參數滿足預設要求,歷史圖像幀位姿獲取模組,配置為確定處於圖像跟蹤狀態,並執行利用第四變換參數得到第二位姿。
圖10是本發明實施例提供的電子設備的結構示意圖。電子設備100包括相互耦接的記憶體101和處理器102,處理器102用於執行記憶體101中儲存的程式指令,以實現上述任一圖像配准方法實施例的步驟,或者是上述任一覺定位方法實施例的步驟。
示例性的,電子設備100可以包括但不限於:微型電腦、伺服器,此外,電子設備100還可以包括筆記型電腦、平板電腦等移動設備,在此不做限定。
示例性的,處理器102用於控制其自身以及記憶體101以實現上述任一圖像配准方法實施例的步驟,或者是上述任一覺定位方法實施例的步驟。處理器102還可以為CPU、通用處理器、DSP、ASIC、FPGA或者其它可程式設計邏輯器件、分立門或者電晶體邏輯器件、分立硬體元件。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。另外,處理器102可以由積體電路晶片共同實現。
圖11為本發明實施例提供的電腦可讀儲存介質的結構示意圖。如圖11所示,電腦可讀儲存介質111儲存有能夠被處理器運行的程式指令1111,程式指令1111用於實現上述任一圖像配准方法實施例的步驟,或者是上述任一覺定位方法實施例的步驟。
本發明實施例還提供了一種電腦程式,該電腦程式包括電腦可讀代碼,在該電腦可讀代碼在電子設備中運行的情況下,電子設備的處理器,配置為實現前述實施例所述的圖像配准方法、以及實現前述實施例所述的視覺定位方法。
在一些實施例中,本發明實施例提供的裝置具有的功能或包含的模組可以用於執行上文方法實施例描述的方法,其具體實現可以參照上文方法實施例的描述,為了簡潔,這裡不再贅述。
上文對各個實施例的描述傾向於強調各個實施例之間的不同之處,其相同或相似之處可以互相參考,為了簡潔,本文不再贅述。
在本發明所提供的幾個實施例中,應該理解到,所揭露的方法和裝置,可以通過其它的方式實現。例如,以上所描述的裝置實施方式僅僅是示意性的,例如,模組或單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如單元或元件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些介面,裝置或單元的間接耦合或通信連接,可以是電性、機械或其它的形式。
本發明實施例中涉及的電子設備可以是系統、方法和電腦程式產品中的至少之一。電腦程式產品可以包括電腦可讀儲存介質,其上載有用於使處理器實現本發明的各個方面的電腦可讀程式指令。
電腦可讀儲存介質可以是可以保持和儲存由指令執行設備使用的指令的有形設備。電腦可讀儲存介質例如可以是但不限於電存放裝置、磁存放裝置、光存放裝置、電磁存放裝置、半導體存放裝置或者上述的任意合適的組合。電腦可讀儲存介質的例子(非窮舉的列表)包括:可擕式電腦盤、硬碟、隨機存取記憶體(Random Access Memory,RAM)、唯讀記憶體(Read-Only Memory,ROM)、可擦除可程式設計唯讀記憶體(Electrical Programmable Read Only Memory,EPROM)或快閃記憶體、靜態隨機存取記憶體(Static Random-Access Memory,SRAM)、可擕式壓縮磁碟唯讀記憶體(Compact Disc Read-Only Memory,CD-ROM)、數位多功能盤(Digital Video Disc,DVD)、記憶棒、軟碟、機械編碼設備、例如其上儲存有指令的打孔卡或凹槽內凸起結構、以及上述的任意合適的組合。這裡所使用的電腦可讀儲存介質不被解釋為暫態信號本身,諸如無線電波或者其他自由傳播的電磁波、通過波導或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈衝)、或者通過電線傳輸的電信號。
這裡所描述的電腦可讀程式指令可以從電腦可讀儲存介質下載到各個計算/處理設備,或者通過網路、例如網際網路、局域網、廣域網路和無線網中的至少之一下載到外部電腦或外部存放裝置。網路可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火牆、交換機、閘道電腦和邊緣伺服器中的至少之一。每個計算/處理設備中的網路介面卡或者網路介面從網路接收電腦可讀程式指令,並轉發該電腦可讀程式指令,以供儲存在各個計算/處理設備中的電腦可讀儲存介質中。
用於執行本發明操作的電腦程式指令可以是彙編指令、指令集架構(Industry Standard Architecture,ISA)指令、機器指令、機器相關指令、微代碼、固件指令、狀態設置資料、或者以一種或多種程式設計語言的任意組合編寫的原始程式碼或目標代碼,所述程式設計語言包括物件導向的程式設計語言—諸如Smalltalk、C++等,以及常規的過程式程式設計語言,諸如“C”語言或類似的程式設計語言。電腦可讀程式指令可以完全地在使用者電腦上執行、部分地在使用者電腦上執行、作為一個獨立的套裝軟體執行、部分在使用者電腦上部分在遠端電腦上執行、或者完全在遠端電腦或伺服器上執行。在涉及遠端電腦的情形中,遠端電腦可以通過任意種類的網路,包括局域網(Local Area Network,LAN)或廣域網路(Wide Area Network,WAN)連接到使用者電腦,或者,可以連接到外部電腦(例如利用網際網路服務提供者來通過網際網路連接)。在一些實施例中,通過利用電腦可讀程式指令的狀態資訊來個性化定制電子電路,例如可程式設計邏輯電路、FPGA或可程式設計邏輯陣列(Programmable Logic Arrays,PLA),該電子電路可以執行電腦可讀程式指令,從而實現本發明的各個方面。
作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分佈到網路單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施方式方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。
集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以儲存在一個電腦可讀取儲存介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該電腦軟體產品儲存在一個儲存介質中,包括若干指令用以使得一台電腦設備(可以是個人電腦,伺服器,或者網路設備等)或處理器(processor)執行本發明各個實施方式方法的全部或部分步驟。而前述的儲存介質包括:U盤、移動硬碟、ROM、 RAM、磁碟或者光碟等各種可以儲存程式碼的介質。
工業實用性
本發明實施例提供了一種圖像配准方法、視覺定位方法、裝置、設備、介質及程式,其中,所述圖像配准方法由電子設備執行,所述方法包括:獲取當前圖像幀;基於當前圖像幀與其它圖像幀中的目標圖像資訊,確定當前圖像幀與其它圖像幀之間的第一變換參數;其中,目標圖像資訊為關於目標圖像的圖像資訊;所述第一變換參數,包括所述當前圖像幀與所述其它圖像幀之間的單應性矩陣;基於第一變換參數、以及其它圖像幀與目標圖像之間的第二變換參數,得到當前圖像幀與目標圖像之間的第三變換參數;所述第二變換參數,包括所述當前圖像幀與所述目標圖像之間的單應性矩陣。通過該方法,能夠提高配准速度以及圖像配准的準確度。
80:圖像配准裝置
81:圖像獲取模組
82:第一參數獲取模組
83:第二參數獲取模組
90:視覺定位裝置
91:參數獲取模組
92:第一位姿獲取模組
100:電子設備
101:記憶體
102:處理器
111:腦可讀儲存介質
1111:程式指令
S11~S13,S121~S123,S21~S22,S31~SS33,S331~S333,S41~S42,S51~S55:步驟
為了更清楚地說明本發明實施例的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,此處的附圖被併入說明書中並構成本說明書中的一部分,這些附圖示出了符合本發明的實施例,並與說明書一起用於說明本發明實施例的技術方案。應當理解,以下附圖僅示出了本發明的某些實施例,因此不應被看作是對範圍的限定,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他相關的附圖。
圖1是本發明實施例提供的圖像配准方法的流程示意圖;
圖2是本發明實施例提供的圖像配准方法中確定第一變換參數的流程示意圖;
圖3是本發明實施例提供的視覺定位方法的第一流程示意圖;
圖4是本發明實施例提供的視覺定位方法中第一位姿的確定流程示意圖;
圖5是本發明實施例提供的視覺定位方法的第二流程示意圖;
圖6是本發明實施例提供的視覺定位方法中偏移量獲取的流程示意圖;
圖7是本發明實施例提供的視覺定位方法的第三流程示意圖;
圖8是本發明實施例提供的圖像配准裝置的結構示意圖;
圖9是本發明實施例提供的視覺定位裝置的結構示意圖;
圖10是本發明實施例提供的電子設備的結構示意圖;
圖11為本發明實施例提供的電腦可讀儲存介質的結構示意圖。
S11~S13:步驟
Claims (15)
- 一種圖像配准方法,所述方法由電子設備執行,所述方法包括: 獲取當前圖像幀; 基於所述當前圖像幀與其它圖像幀中的目標圖像資訊,確定所述當前圖像幀與所述其它圖像幀之間的第一變換參數;其中,所述目標圖像資訊為關於目標圖像的圖像資訊;所述第一變換參數,包括所述當前圖像幀與所述其它圖像幀之間的單應性矩陣; 基於所述第一變換參數、以及所述其它圖像幀與所述目標圖像之間的第二變換參數,得到所述當前圖像幀與所述目標圖像之間的第三變換參數;其中,所述第二變換參數,包括所述當前圖像幀與所述目標圖像之間的單應性矩陣。
- 根據請求項1所述的方法,其中,所述基於所述當前圖像幀與其它圖像幀中的目標圖像資訊,確定所述當前圖像幀與所述其它圖像幀之間的第一變換參數,包括: 從所述其它圖像幀中查找出關於所述目標圖像的至少一個第一特徵點; 從所述當前圖像幀中查找出關於所述目標圖像的至少一個第二特徵點; 基於所述第一特徵點和第二特徵點,確定所述第一變換參數。
- 根據請求項2所述的方法,其中,所述從所述其它圖像幀中查找出關於所述目標圖像的至少一個第一特徵點,包括: 基於所述第二變換參數確定所述目標圖像在所述其它圖像幀中的目標區域; 從所述目標區域中提取至少一個所述第一特徵點; 所述從所述當前圖像幀中查找出關於所述目標圖像的至少一個第二特徵點,包括: 分別對所述至少一個第一特徵點進行跟蹤,得到所述當前圖像幀中關於所述目標圖像的至少一個第二特徵點。
- 根據請求項1至3任一項所述的方法,其中,所述基於所述第一變換參數、以及所述其它圖像幀與所述目標圖像之間的第二變換參數,得到所述當前圖像幀與所述目標圖像幀之間的第三變換參數,包括: 將所述第一變換參數與所述第二變換參數的乘積,作為所述第三變換參數;和/或, 在所述基於所述第一變換參數、以及所述其它圖像幀與所述目標圖像之間的第二變換參數,得到所述當前圖像幀與所述目標圖像幀之間的第三變換參數之後,所述方法還包括: 利用預設優化方式,對所述第三變換參數進行優化。
- 一種視覺定位方法,所述方法由電子設備執行,所述方法包括: 獲取當前圖像幀與目標圖像之間的當前變換參數;其中,所述當前變換參數為利用請求項1至4任一項所述的圖像配准方法獲得的第三變換參數; 利用所述當前變換參數,得到所述當前圖像幀在世界座標系中的第一位姿;其中,所述世界座標系是基於所述目標圖像所在的平面建立的。
- 根據請求項5所述的方法,其中,在所述利用所述當前變換參數,得到所述當前圖像幀在世界座標系中的第一位姿之前,所述方法還包括: 回應於所述當前變換參數滿足預設要求,執行所述利用所述當前變換參數,得到所述當前圖像幀在所述世界座標系中的第一位姿; 回應於所述當前變換參數不滿足所述預設要求,利用其它圖像在所述世界座標系中的第二位姿、以及所述當前圖像幀與所述其它圖像幀之間的光度誤差,確定所述第一位姿。
- 根據請求項6所述的方法,其中,在所述獲取當前圖像幀與目標圖像之間的當前變換參數之前,所述方法還包括: 回應於上一圖像幀的位姿獲取方式為圖像跟蹤方式,執行所述獲取當前圖像幀與目標圖像之間的當前變換參數;其中,所述圖像跟蹤方式,為利用所述上一圖像幀與目標圖像之間的變換參數確定所述上一圖像幀在所述世界座標系中的位姿。
- 根據請求項6或7所述的方法,其中,所述其它圖像幀和當前圖像幀是由所述電子設備的圖像採集裝置先後拍攝得到;所述利用其它圖像在所述世界座標系中的第二位姿、以及所述當前圖像幀與所述其它圖像幀之間的光度誤差,確定所述第一位姿,包括: 獲取第一參考姿態;其中,第一參考姿態是所述圖像採集裝置對應於所述當前圖像幀的拍攝時刻且相對於參考平面的姿態; 利用所述參考平面與世界座標系中的預設平面之間的偏移量,對所述第一參考姿態進行調整,得到第二參考姿態; 基於所述第二參考姿態、所述第二位姿以及所述當前圖像幀與歷史圖像幀之間的光度誤差,確定所述第一位姿。
- 根據請求項8所述的方法,其中,在所述利用所述參考平面與世界座標系中的預設平面之間的偏移量,對所述第一參考姿態進行調整,得到第二參考姿態之前,所述方法還包括: 獲取第一歷史圖像幀在所述世界座標系中的第三位姿,獲取第三參考姿態;其中,所述第三參考姿態,是所述圖像採集裝置對應於所述第一歷史圖像幀的拍攝時刻且相對於參考平面的姿態;所述第三位姿是基於所述目標圖像確定的;所述預設平面為所述目標圖像所在的平面; 利用所述第三位姿中的姿態和第三參考姿態,得到所述偏移量;其中,所述第三位姿中的姿態是相對於所述預設平面的姿態。
- 根據請求項8所述的方法,其中,所述基於所述第二參考姿態、所述第二位姿以及所述當前圖像幀與歷史圖像幀之間的光度誤差,確定所述第一位姿,包括: 獲取至少一個第一候選位姿;其中,所述第一候選位姿為所述當前圖像幀在所述世界座標系中的位姿資訊; 基於所述第二參考姿態、所述第二位姿以及所述當前圖像幀和其它圖像幀之間的第一圖元值差異,選擇一所述第一候選位姿作為所述第一位姿。
- 根據請求項10所述的方法,其中,所述第一候選位姿是基於所述當前圖像幀在世界座標系中的初始位姿確定的,所述初始位姿是基於所述當前圖像幀和所述其它圖像幀之間的光度誤差確定的;所述基於所述第二參考姿態、所述第二位姿以及所述當前圖像幀和其它圖像幀之間的第一圖元值差異,選擇一所述第一候選位姿作為第一位姿,包括: 利用所述第二位姿,確定與所述其它圖像幀中的第一特徵點對應的空間點; 基於每個所述第一候選位姿和所述空間點,從所述當前圖像幀中確定與所述第一候選位姿對應的第二特徵點; 獲取所述第一特徵點與第二特徵點的第一圖元值差異,並基於所述第一圖元值差異以及所述第二參考姿態與第一候選位姿之間的位姿差異,選擇一所述第一候選位姿作為第一位姿。
- 根據請求項9所述的方法,其中,所述獲取第一歷史圖像幀在所述世界座標系中的第三位姿,包括: 基於所述第一歷史圖像幀與所述目標圖像之間的第一匹配點對,確定所述第一歷史圖像幀與所述目標圖像之間的第四變換參數,利用所述第四變換參數得到所述第三位姿;或者, 基於所述第一歷史圖像幀與第二歷史圖像幀之間的第二匹配點對,確定所述第一歷史圖像幀與第二歷史圖像幀之間的第五變換參數,利用所述第五變換參數、以及所述第二歷史圖像幀與所述目標圖像之間的第六變換參數得到所述第四變換參數,利用所述第四變換參數得到所述第三位姿;其中,所述第二歷史圖像幀位於所述第一歷史圖像幀之前。
- 根據請求項12所述的方法,其中,所述利用所述第四變換參數得到所述第三位姿,包括: 回應於所述第四變換參數滿足預設要求,確定處於圖像跟蹤狀態,利用所述第四變換參數得到所述第三位姿。
- 一種電子設備,包括相互耦接的記憶體和處理器,所述處理器用於執行所述記憶體中儲存的程式指令,以實現請求項1至4任一項所述的圖像配准方法,以及請求項5至13任一項所述的視覺定位方法。
- 一種電腦可讀儲存介質,其上儲存有程式指令,所述程式指令被處理器執行時實現請求項1至4任一項所述的圖像配准方法,以及請求項5至13任一項所述的視覺定位方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110713164.9 | 2021-06-25 | ||
CN202110713164.9A CN113393505B (zh) | 2021-06-25 | 2021-06-25 | 图像配准方法、视觉定位方法及相关装置、设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202301273A true TW202301273A (zh) | 2023-01-01 |
Family
ID=77624135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110143067A TW202301273A (zh) | 2021-06-25 | 2021-11-18 | 圖像配准方法、視覺定位方法、電子設備和電腦可讀儲存介質 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN113393505B (zh) |
TW (1) | TW202301273A (zh) |
WO (1) | WO2022267257A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113393505B (zh) * | 2021-06-25 | 2023-11-03 | 浙江商汤科技开发有限公司 | 图像配准方法、视觉定位方法及相关装置、设备 |
CN113763437B (zh) * | 2021-09-16 | 2023-12-05 | Oppo广东移动通信有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN116740651B (zh) * | 2023-08-11 | 2023-10-17 | 南京吾悦农业科技有限公司 | 基于智能决策的食用菌栽培监控方法及系统 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339658B (zh) * | 2008-08-12 | 2010-09-01 | 北京航空航天大学 | 航拍交通视频的快速鲁棒配准方法 |
US9858681B2 (en) * | 2014-10-27 | 2018-01-02 | Digimarc Corporation | Signal detection, recognition and tracking with feature vector transforms |
CN105046644B (zh) * | 2015-07-06 | 2021-08-13 | 嘉恒医疗科技(上海)有限公司 | 基于线性相关性的超声与ct图像配准方法和系统 |
CN106874949B (zh) * | 2017-02-10 | 2019-10-11 | 华中科技大学 | 基于红外图像的运动成像平台运动目标检测方法及系统 |
CN108629843B (zh) * | 2017-03-24 | 2021-07-13 | 成都理想境界科技有限公司 | 一种实现增强现实的方法及设备 |
CN107747941B (zh) * | 2017-09-29 | 2020-05-15 | 歌尔股份有限公司 | 一种双目视觉定位方法、装置及系统 |
CN108550104B (zh) * | 2018-02-28 | 2022-06-10 | 北京集光通达科技股份有限公司 | 图像配准方法、装置 |
CN108682038B (zh) * | 2018-04-27 | 2021-12-14 | 腾讯科技(深圳)有限公司 | 位姿确定方法、装置及存储介质 |
CN109242951A (zh) * | 2018-08-06 | 2019-01-18 | 宁波盈芯信息科技有限公司 | 一种脸部实时三维重建方法 |
CN110310338B (zh) * | 2019-06-24 | 2022-09-06 | 西北工业大学 | 一种基于多中心投影模型的光场相机标定方法 |
CN110335317B (zh) * | 2019-07-02 | 2022-03-25 | 百度在线网络技术(北京)有限公司 | 基于终端设备定位的图像处理方法、装置、设备和介质 |
CN110728705B (zh) * | 2019-09-24 | 2022-07-15 | Oppo广东移动通信有限公司 | 图像处理方法、装置、存储介质及电子设备 |
CN111327840A (zh) * | 2020-02-27 | 2020-06-23 | 努比亚技术有限公司 | 一种多帧特效视频获取方法、终端及计算机可读存储介质 |
CN111402221B (zh) * | 2020-03-11 | 2023-02-17 | 联想(北京)有限公司 | 一种图像处理方法、装置及电子设备 |
CN111445526B (zh) * | 2020-04-22 | 2023-08-04 | 清华大学 | 一种图像帧之间位姿的估计方法、估计装置和存储介质 |
CN111932587A (zh) * | 2020-08-03 | 2020-11-13 | Oppo广东移动通信有限公司 | 图像处理方法和装置、电子设备、计算机可读存储介质 |
CN111932595A (zh) * | 2020-09-24 | 2020-11-13 | 平安科技(深圳)有限公司 | 图像配准方法、装置、电子设备及存储介质 |
CN112435223B (zh) * | 2020-11-11 | 2021-11-23 | 马鞍山市瀚海云星科技有限责任公司 | 目标检测方法、装置及存储介质 |
CN112907620A (zh) * | 2021-01-25 | 2021-06-04 | 北京地平线机器人技术研发有限公司 | 相机位姿的估计方法、装置、可读存储介质及电子设备 |
CN112991411B (zh) * | 2021-03-05 | 2024-04-12 | 浙江华感科技有限公司 | 图像配准方法和设备、存储介质 |
CN113012226A (zh) * | 2021-03-22 | 2021-06-22 | 浙江商汤科技开发有限公司 | 相机位姿的估计方法、装置、电子设备及计算机存储介质 |
CN112884840A (zh) * | 2021-03-29 | 2021-06-01 | 湖南国科微电子股份有限公司 | 一种视觉定位方法、装置、设备及存储介质 |
CN113393505B (zh) * | 2021-06-25 | 2023-11-03 | 浙江商汤科技开发有限公司 | 图像配准方法、视觉定位方法及相关装置、设备 |
-
2021
- 2021-06-25 CN CN202110713164.9A patent/CN113393505B/zh active Active
- 2021-09-27 WO PCT/CN2021/121049 patent/WO2022267257A1/zh unknown
- 2021-11-18 TW TW110143067A patent/TW202301273A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN113393505B (zh) | 2023-11-03 |
WO2022267257A1 (zh) | 2022-12-29 |
CN113393505A (zh) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022267257A1 (zh) | 图像配准方法、视觉定位方法、装置、设备、介质及程序 | |
CN110322500B (zh) | 即时定位与地图构建的优化方法及装置、介质和电子设备 | |
Gordon et al. | What and where: 3D object recognition with accurate pose | |
Skrypnyk et al. | Scene modelling, recognition and tracking with invariant image features | |
WO2019205852A1 (zh) | 确定图像捕捉设备的位姿的方法、装置及其存储介质 | |
CN113409391B (zh) | 视觉定位方法及相关装置、设备和存储介质 | |
JP2016526313A (ja) | 総体的カメラ移動およびパノラマカメラ移動を使用した単眼視覚slam | |
TWI686771B (zh) | 三維模型重建方法、電子裝置及非暫態電腦可讀取記錄媒體 | |
US20220282993A1 (en) | Map fusion method, device and storage medium | |
JP5833507B2 (ja) | 画像処理装置 | |
WO2023060964A1 (zh) | 标定方法及相关装置、设备、存储介质和计算机程序产品 | |
WO2022267287A1 (zh) | 图像配准方法及相关装置、设备和存储介质 | |
JP7164589B2 (ja) | 室内測位方法、装置、機器および記憶媒体 | |
WO2019157922A1 (zh) | 一种图像处理方法、装置及ar设备 | |
JP6662382B2 (ja) | 情報処理装置および方法、並びにプログラム | |
WO2022247548A1 (zh) | 定位方法和装置、电子设备及存储介质 | |
CN114565668A (zh) | 即时定位与建图方法及装置 | |
TW202217755A (zh) | 視覺定位方法、設備和電腦可讀儲存介質 | |
JP2016136439A (ja) | グラフマッチングおよびサイクル検出による自動モデル初期化を用いた線トラッキング | |
CN113407030B (zh) | 视觉定位方法及相关装置、设备和存储介质 | |
JP2017090420A (ja) | 3次元情報復元装置及び3次元情報復元方法 | |
CN114882106A (zh) | 位姿确定方法和装置、设备、介质 | |
CN107704106B (zh) | 姿态定位方法、装置及电子设备 | |
CN112085842B (zh) | 深度值确定方法及装置、电子设备和存储介质 | |
JP2023056466A (ja) | グローバル測位装置及び方法 |