TW201837783A - 一種相機姿態資訊確定的方法及相關裝置 - Google Patents

一種相機姿態資訊確定的方法及相關裝置 Download PDF

Info

Publication number
TW201837783A
TW201837783A TW107121953A TW107121953A TW201837783A TW 201837783 A TW201837783 A TW 201837783A TW 107121953 A TW107121953 A TW 107121953A TW 107121953 A TW107121953 A TW 107121953A TW 201837783 A TW201837783 A TW 201837783A
Authority
TW
Taiwan
Prior art keywords
image
feature point
matrix
homography matrix
target
Prior art date
Application number
TW107121953A
Other languages
English (en)
Other versions
TWI683259B (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 TW201837783A publication Critical patent/TW201837783A/zh
Application granted granted Critical
Publication of TWI683259B publication Critical patent/TWI683259B/zh

Links

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
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/02Affine transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/04Context-preserving transformations, e.g. by using an importance map
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/269Analysis of motion using gradient-based methods
    • 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
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/17Image acquisition using hand-held instruments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/225Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on a marking or identifier characterising the area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • 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
    • 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/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or 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
    • 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/757Matching configurations of points or features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • 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/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • 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/30204Marker
    • 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/30204Marker
    • G06T2207/30208Marker matrix
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)

Abstract

本發明提供一種相機姿態資訊確定的方法,包括:獲取第一圖像、第二圖像以及範本圖像;從範本圖像的每個圖像層中分別提取第一特徵點,並在原始圖像層中確定第一特徵點;將第一特徵點與第二特徵點進行匹配,以在原始圖像層的每個柵格中確定一個目標特徵點,目標特徵點用於確定第一單應矩陣;根據第一圖像中的第一光流特徵點和第二圖像的第二光流特徵點確定第一目標單應矩陣,並根據第一目標單應矩陣和範本圖像中的第三光流特徵點確定第二單應矩陣;根據第一單應矩陣與第二單應矩陣確定相機姿態資訊。本發明還提供一種相機姿態資訊確定裝置。

Description

一種相機姿態資訊確定的方法及相關裝置
本發明涉及電腦技術領域,尤其涉及一種相機姿態資訊確定的方法及相關裝置。
增強現實(Augmented Reality,AR)技術,是一種即時地計算攝影機影像的位置及角度並加上相應圖像、視頻或3D模型的技術,這種技術的目標是在螢幕上把虛擬世界套在現實世界並進行互動。
目前,在AR類的遊戲宣傳等互動場景中,可以採用自然圖像作為用於匹配的範本圖像(Marker)並得到相應的相機姿態資訊。自然圖像即為正常拍攝的圖像,Marker圖像除了可以是自然圖像,還可以是規則圖像。即具有非常明顯幾何特徵的圖像。在根據Marker圖像得到相機姿態資訊的過程中,首先需要對Marker圖像進行檢測,在檢測到Marker圖像之後依賴於對其特徵點的追蹤進行相機定位,即得到相機姿態資訊。
然而,在當前圖像中追蹤Marker圖像的特徵點時,並沒有考慮到特徵點的變化。在仿射變換明顯的情況下,若將Marker圖像中一個圖像層的特徵點與當前圖像中的特徵點進行匹配,所得到的相機姿態資訊精度較低;若獲取Marker圖像中多個圖像層,並將每個圖像層的特徵點與當 前圖像中的特徵點進行匹配,則需要過多的匹配開銷,不利於運行效率。
本發明實施例提供了一種相機姿態資訊確定的方法及相關裝置,將範本圖像劃分為多個相等的柵格,且一個柵格中僅存在一個目標特徵點,因此目標特徵點分佈較為均勻並具有較高的匹配度和融合度,從而在保證運行效率的情況下,利用目標特徵點可以獲取到精度較高的相機姿態資訊。
有鑑於此,本發明第一方面提供一種相機姿態資訊確定的方法,包括:獲取第一圖像、第二圖像以及範本圖像,其中,所述第一圖像是所述第二圖像的上一幀圖像,所述範本圖像為待匹配的圖像,所述範本圖像包含多個圖像層;從所述範本圖像的每個圖像層中分別提取第一特徵點,並在原始圖像層中確定所述第一特徵點,所述原始圖像層為所述範本圖像中的一個圖像層,所述原始圖像層中包含多個柵格;將所述第一特徵點與第二特徵點進行匹配,以在所述原始圖像層的每個柵格中確定一個目標特徵點,其中,所述目標特徵點為所述第一特徵點與所述第二特徵點之間匹配度最大的特徵點,所述目標特徵點用於確定第一單應矩陣,所述第二特徵點是從所述第二圖像中提取的特徵點;根據所述第一圖像中的第一光流特徵點和所述第二圖像的第二光流特徵點確定第一目標單應矩陣,並根據所述第一目標單應矩陣和第二目標單應矩陣確定第二單應矩陣; 根據所述第一單應矩陣與所述第二單應矩陣確定相機姿態資訊。
本發明第二方面提供了一種相機姿態資訊確定裝置,包括:第一獲取模組,用於獲取第一圖像、第二圖像以及範本圖像,其中,所述第一圖像是所述第二圖像的上一幀圖像,所述範本圖像為待匹配的圖像,所述範本圖像包含多個圖像層;第一提取模組,用於從所述第一獲取模組獲取的所述範本圖像的每個圖像層中分別提取第一特徵點,並在原始圖像層中確定所述第一特徵點,所述原始圖像層為所述範本圖像中的一個圖像層,所述原始圖像層中包含多個柵格;匹配模組,用於將所述第一提取模組提取的所述第一特徵點與第二特徵點進行匹配,以在所述原始圖像層的每個柵格中確定一個目標特徵點,其中,所述目標特徵點為所述第一特徵點與所述第二特徵點之間匹配度最大的特徵點,所述目標特徵點用於確定第一單應矩陣,所述第二特徵點是從所述第二圖像中提取的特徵點;第一確定模組,用於根據所述第一圖像中的第一光流特徵點和所述第二圖像的第二光流特徵點確定第一目標單應矩陣,並根據所述第一目標單應矩陣和第二目標單應矩陣確定第二單應矩陣;第二確定模組,用於根據所述第一單應矩陣與所述第一確定模組確定的所述第二單應矩陣確定相機姿態資訊。
本發明第三方面提供了一種相機姿態資訊確定裝置,包括:記憶體、收發器、處理器以及匯流排系統; 其中,所述記憶體用於存儲程式;所述處理器用於執行所述記憶體中的程式,具體包括如下步驟:獲取第一圖像、第二圖像以及範本圖像,其中,所述第一圖像是所述第二圖像的上一幀圖像,所述範本圖像為待匹配的圖像,所述範本圖像包含多個圖像層;從所述範本圖像的每個圖像層中分別提取第一特徵點,並在原始圖像層中確定所述第一特徵點,所述原始圖像層為所述範本圖像中的一個圖像層,所述原始圖像層中包含多個柵格;將所述第一特徵點與第二特徵點進行匹配,以在所述原始圖像層的每個柵格中確定一個目標特徵點,其中,所述目標特徵點為所述第一特徵點與所述第二特徵點之間匹配度最大的特徵點,所述目標特徵點用於確定第一單應矩陣,所述第二特徵點是從所述第二圖像中提取的特徵點;根據所述第一圖像中的第一光流特徵點和所述第二圖像的第二光流特徵點確定第一目標單應矩陣,並根據所述第一目標單應矩陣和第二目標單應矩陣確定第二單應矩陣;根據所述第一單應矩陣與所述第二單應矩陣確定相機姿態資訊;所述匯流排系統用於連接所述記憶體、所述收發器以及所述處理器,以使所述記憶體、所述收發器以及所述處理器進行通信。
本發明的第四方面提供了一種電腦可讀存儲介質,所述電腦可讀存儲介質中存儲有指令,當其在電腦上運行時,使得電腦執行上述各 方面所述的方法。
從以上技術方案可以看出,本發明實施例具有以下優點:本發明實施例中,提供一種相機姿態資訊確定的方法,相機姿態資訊確定裝置首選獲取第一圖像、第二圖像以及範本圖像,然後從範本圖像的每個圖像層中分別提取第一特徵點,並在原始圖像層中確定第一特徵點,原始圖像層為範本圖像中的一個圖像層,原始圖像層中包含多個柵格,相機姿態資訊確定裝置再將第一特徵點與第二特徵點進行匹配,以在原始圖像層的每個柵格中確定一個目標特徵點,其中,所述目標特徵點為所述第一特徵點與所述第二特徵點之間匹配度最大的特徵點,目標特徵點用於確定第一單應矩陣,而第二特徵點是從第二圖像中提取的特徵點,接下來,相機姿態資訊確定裝置可以根據第一圖像中的第一光流特徵點和第二圖像的第二光流特徵點確定第一目標單應矩陣,並根據第一目標單應矩陣和第二目標單應矩陣確定第二單應矩陣,最後根據第一單應矩陣與第二單應矩陣確定相機姿態資訊。通過上述方式,將範本圖像劃分為多個相等的柵格,且一個柵格中僅存在一個目標特徵點,因此目標特徵點分佈較為均勻並具有較高的匹配度和融合度,從而在保證運行效率的情況下,利用目標特徵點可以獲取到精度較高的相機姿態資訊。
101~110‧‧‧模組
201~205‧‧‧步驟
30‧‧‧相機姿態資訊確定裝置
301‧‧‧第一獲取模組
302‧‧‧第一提取模組
303‧‧‧匹配模組
304‧‧‧第一確定模組
305‧‧‧第二確定模組
3021‧‧‧第一提取單元
3022‧‧‧第二提取單元
3023‧‧‧投影單元
3031‧‧‧匹配單元
3032‧‧‧選擇單元
306‧‧‧第二提取模組
3041‧‧‧第一獲取單元
3042‧‧‧第二獲取單元
3043‧‧‧第一計算單元
3044‧‧‧第三獲取單元
3045‧‧‧第二計算單元
307‧‧‧第二獲取模組
3051‧‧‧確定單元
3052‧‧‧處理單元
30511‧‧‧第一計算子單元
30512‧‧‧第二計算子單元
30521‧‧‧第一輸入子單元
30522‧‧‧第二輸入子單元
30523‧‧‧確定子單元
410‧‧‧射頻電路
420‧‧‧記憶體
430‧‧‧輸入單元
431‧‧‧觸控面板
432‧‧‧其他輸入裝置
440‧‧‧顯示單元
450‧‧‧感測器
460‧‧‧音訊電路
461‧‧‧揚聲器
462‧‧‧傳聲器
470‧‧‧WiFi模組
480‧‧‧處理器
490‧‧‧電源
為了更清楚地說明本揭示實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹:圖1為本發明實施例中Marker圖像的示意圖; 圖2為本發明實施例中在當前圖像中檢測到Marker圖像的示意圖;圖3為本發明實施例中確定相機姿態資訊的一個流程示意圖;圖4為本發明實施例中相機姿態資訊確定的方法一個實施例示意圖;圖5為本發明實施例中範本圖像的示意圖;圖6為本發明實施例中在原始圖像層上確定目標特徵點的實施例示意圖;圖7為本發明實施例中對第一旋轉平移矩陣和第二旋轉平移矩陣進行濾波處理的實施例示意圖;圖8為本發明實施例中相機姿態資訊確定裝置一個實施例示意圖;圖9為本發明實施例中相機姿態資訊確定裝置另一個實施例示意圖;圖10為本發明實施例中相機姿態資訊確定裝置另一個實施例示意圖;圖11為本發明實施例中相機姿態資訊確定裝置另一個實施例示意圖;圖12為本發明實施例中相機姿態資訊確定裝置另一個實施例示意圖;圖13為本發明實施例中相機姿態資訊確定裝置另一個實施例示意圖;圖14為本發明實施例中相機姿態資訊確定裝置另一個實施例示意圖;圖15為本發明實施例中相機姿態資訊確定裝置另一個實施例示意圖;圖16為本發明實施例中相機姿態資訊確定裝置另一個實施例示意圖;圖17為本發明實施例中相機姿態資訊確定裝置一個結構示意圖。
請參照圖式,其中相同的元件符號代表相同的元件或是相似的元件,本揭示的原理是以實施在適當的運算環境中來舉例說明。以下的說明是基於所例示的本揭示具體實施例,其不應被視為限制本揭示未在此 詳述的其它具體實施例。
本發明實施例提供了一種相機姿態資訊確定的方法及相關裝置,將範本圖像劃分為多個相等的柵格,且一個柵格中僅存在一個目標特徵點,因此目標特徵點分佈較為均勻並具有較高的匹配度和融合度,從而在保證運行效率的情況下,利用目標特徵點可以獲取到精度較高的相機姿態資訊。
本發明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”、“第三”、“第四”等(如果存在)是用於區別類似的物件,而不必用於描述特定的順序或先後次序。應該理解這樣使用的資料在適當情況下可以互換,以便這裡描述的本發明的實施例例如能夠以除了在這裡圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在於覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限於清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對於這些過程、方法、產品或設備固有的其它步驟或單元。
應理解,本發明針對移動設備運算能力低的特點,本方案利用互補濾波演算法準確地融合對使用者儲存的自然圖像的檢測結果及圖像幀間追蹤的結果,從而實現了一套穩定的、快速的且強健性強的相機姿態資訊確定方法。該方法可以應用於AR場景,如AR類的遊戲宣傳等互動場景。基於Marker圖像的相機定位及姿態矯正等應用中。本發明中的範本圖像即為Marker圖像。
Marker圖像包括某種規則圖像或者正常拍攝的自然圖像,自 然圖像是指正常的一張拍攝圖像,規則圖像是具有非常明顯幾何特徵的圖像,如一個黑色矩形框,棋盤格等。
下面將介紹一個具體場景,假設用戶希望能夠直接在某一個指定的場景(如給定一個圖像)上進行交交互操作,這樣可以便於引導用戶體驗。請參閱圖1,圖1為本發明實施例中Marker圖像的示意圖,如圖所示,在智慧手機的AR遊戲中,用戶可以通過一張給定的自然圖像,或者用手機現場拍攝一張圖作為Marker圖像,之後手機將在當前圖像中檢測該Marker部分,並在Marker坐標系上繪製一個虛擬物體,如圖2所示,圖2為本發明實施例中在當前圖像中檢測到Marker圖像的示意圖,從而完成和用戶的互動。
為了便於理解,請參閱圖3,圖3為本發明實施例中確定相機姿態資訊的一個流程示意圖,如圖所示,在101模組中首先載入新的一幀圖像,然後通過103模組的檢測器檢測出範本圖像到當前圖像(即第二圖像)的第一單應矩陣,進而在105模組判斷是否得到第一單應矩陣,如果是,則到達107模組。在102模組中判斷追蹤器是否已經初始化,若是,則進入104模組,若否,則跳轉至101模組。在104模組之後,進入106模組,判斷是否得到第二單應矩陣,如果是,則到達107模組,若否,則跳轉至101模組。
模組104中將追蹤範本圖像,並更新第二單應矩陣。於是可以在模組107中將第一單應矩陣和第二單應矩陣進行融合,在模組108中輸出融合後得到的相機姿態資訊。如果105模組判斷出檢測有結果且109模組判斷追蹤器沒有初始化,則初始化追蹤器(如110模組所示),追蹤器從下一幀開始工作。
可以理解的是,檢測器和追蹤器屬於相機姿態資訊確定裝置。
下面將從相機姿態資訊確定裝置的角度,對本發明中相機姿態資訊確定的方法進行介紹,請參閱圖4,本發明實施例中相機姿態資訊確定的方法一個實施例包括下列步驟:201、獲取第一圖像、第二圖像以及範本圖像,其中,第一圖像是第二圖像的上一幀圖像,範本圖像為待匹配的圖像,範本圖像包含多個圖像層;本實施例中,相機姿態資訊確定裝置獲取第一圖像、第二圖像以及範本圖像,其中,第一圖像是第二圖像的上一幀圖像,第二圖像可以理解為是當前拍攝到的圖像。而範本圖像為待匹配的圖像,也可以稱為Marker圖像,範本圖像包含多個圖像層。
相機姿態資訊確定裝置可以終端設備,例如手機、平板電腦、個人數位助理(Personal Digital Assistant,PDA)、銷售終端(Point of Sales,POS)或者車載電腦等任意終端設備。
202、從範本圖像的每個圖像層中分別提取第一特徵點,並在原始圖像層中確定第一特徵點,原始圖像層為範本圖像中的一個圖像層,原始圖像層中包含多個柵格;本實施例中,由於範本圖像包含了多個圖像層,通常情況下,這些圖像層的尺寸大小不一致。對於原始的範本圖像降採樣生成金字塔,對於每一層都提取第一特徵點,故得到了多個尺度下的範本圖像的多層特徵描述子(即第一特徵點),同時放縮這些第一特徵點,把所有第一特 徵點的位置放縮到原始圖像層的大小,並製作一個原始圖像層大小的掩膜(即掩膜的尺寸和原始圖形層的尺寸一致),將掩膜均勻劃分成多個小柵格備用。
需要說明的是,第一特徵點可以是尺度不變特徵變換(scale-invariant feature transform,SIFT),或者加速穩健特徵(speeded-up robust features,SURF),或者快速提取和描述(oriented fast and rotated brief,ORB)特徵點,或者方向梯度長條圖(histogram of oriented gradient,HOG)特徵,或者局部二值模式(local binary patterns,LBP),為了保證即時性,我們在本方案中採用ORB特徵點作為第一特徵點,然而這並不構成對本方案的限定。
ORB特徵點是加速演算法的描述子,添加了旋轉不變性,速度很快。
203、將第一特徵點與第二特徵點進行匹配,以在原始圖像層的每個柵格中確定一個目標特徵點,其中,目標特徵點為第一特徵點與第二特徵點之間匹配度最大的特徵點,目標特徵點用於確定第一單應矩陣,第二特徵點是從第二圖像中提取的特徵點;本實施例中,由於第一特徵點沒有尺度不變性,而我們的應用中範本圖像尺度變化很明顯,用戶可能在不同的尺度下拍攝到範本圖像,故必須解決尺度問題。於是需要通過對範本圖像生成金字塔,每一層都提取第一特徵點,然後和第二圖像中的第二特徵點進行匹配。
相機姿態資訊確定裝置檢測當前拍攝的第二圖像中可能存在的範本圖像,原理是將第二圖像上提取的第二特徵點與原始圖像層上的 第一特徵點進行匹配,匹配規則為在原始圖像層中的每個柵格上選擇一個特徵點作為目標特徵點,然後利用這些目標特徵點計算第一單應矩陣。
204、根據第一圖像中的第一光流特徵點和第二圖像的第二光流特徵點確定第一目標單應矩陣,並根據第一目標單應矩陣和第二目標單應矩陣確定第二單應矩陣;本實施例中,步驟202至步驟203是完成了範本圖像的檢測工作,在步驟204中相機姿態資訊確定裝置需要追蹤圖像。具體地,在追蹤圖像時主要採用光流Lucas-Kanade演算法,從新圖像來時利用上一幀圖像(即第一圖像)提取的第一光流特徵點進行光流,從而找到兩幀之間的匹配點,從而計算出第一圖像到第二圖像的第一目標單應矩陣,以及範本圖像到第一圖像的第二目標單應矩陣,進而得到範本圖像到第二圖像的第二單應矩陣。
205、根據第一單應矩陣與第二單應矩陣確定相機姿態資訊。
本實施例中,相機姿態資訊確定裝置根據第一單應矩陣和第二單應矩陣可以計算得到相機姿態資訊。
本發明實施例中,提供一種相機姿態資訊確定的方法,相機姿態資訊確定裝置首選獲取第一圖像、第二圖像以及範本圖像,然後從範本圖像的每個圖像層中分別提取第一特徵點,並在原始圖像層中確定第一特徵點,原始圖像層為範本圖像中的一個圖像層,原始圖像層中包含多個柵格,相機姿態資訊確定裝置再將第一特徵點與第二特徵點進行匹配,以在原始圖像層的每個柵格中確定一個目標特徵點,其中,所述目標特徵點為所述第一特徵點與所述第二特徵點之間匹配度最大的特徵點,目標特徵 點用於確定第一單應矩陣,而第二特徵點是從第二圖像中提取的特徵點,接下來,相機姿態資訊確定裝置可以根據第一圖像中的第一光流特徵點和第二圖像的第二光流特徵點確定第一目標單應矩陣,並根據第一目標單應矩陣和第二目標單應矩陣確定第二單應矩陣,最後根據第一單應矩陣與第二單應矩陣確定相機姿態資訊。通過上述方式,將範本圖像劃分為多個相等的柵格,且一個柵格中僅存在一個目標特徵點,因此目標特徵點分佈較為均勻並具有較高的匹配度和融合度,從而在保證運行效率的情況下,利用目標特徵點可以獲取到精度較高的相機姿態資訊。
可選地,在上述圖4對應的實施例的基礎上,本發明實施例提供的相機姿態資訊確定的方法第一個可選實施例中,從範本圖像的每個圖像層中分別提取第一特徵點,並在原始圖像層中確定第一特徵點,可以包括:從範本圖像的第一圖像層中提取第一特徵點;從範本圖像的第二圖像層中提取第一特徵點,其中,第一圖像層與第二圖像層具有不同的尺寸大小;對第一圖像層的中的第一特徵點以及第二圖像層中的第一特徵點進行縮放處理,並投影至原始圖像層。
本實施例中,將介紹在原始圖像層中確定第一特徵點的方式。首先在範本圖像中提取多層圖像,且這些圖像的尺寸呈金字塔型,即圖像的尺寸從小到大排序。假設第一圖像層在第二圖像層之上,那麼可以認為第一圖像層比第二圖像層的尺寸小一些。然後相機姿態資訊確定裝置分別從第一圖像層和第二圖像層中提取第一特徵點,再將所有的第一特徵 點進行縮放,以投影到原始圖像層上。
可以理解的是,原始圖像層的尺寸可以根據實際情況進行設計,此處不作限定。
其次,本發明實施例中,相機姿態資訊確定裝置首先從範本圖像的第一圖像層中提取第一特徵點,從範本圖像的第二圖像層中提取第一特徵點,其中,第一圖像層與第二圖像層具有不同的尺寸大小,然後對第一圖像層的中的第一特徵點以及第二圖像層中的第一特徵點進行縮放處理,並投影至原始圖像層。通過上述方式,可以在範本圖像對應的原始圖形層上融合每個圖形層提取出來的所有第一特徵點,從而得到盡可能多的第一特徵點以便於對這些第一特徵點進行進一步的篩選,由此提升篩選的準確度。同時增強了匹配性能,保證了在大尺度變化下也能檢測到物體。
可選地,在上述圖4對應的第一個實施例的基礎上,本發明實施例提供的相機姿態資訊確定的方法第二個可選實施例中,將第一特徵點與第二特徵點進行匹配之前,還可以包括:從第二圖像中提取第二特徵點;將第一特徵點與第二特徵點進行匹配,以在原始圖像層的每個柵格中確定一個目標特徵點,可以包括:在原始圖像層的每個柵格中,將第一特徵點與第二特徵點進行匹配,並得到至少一個待選擇特徵點,其中,每個待選擇特徵點對應一個匹配分值;在原始圖像層的每個柵格中,從至少一個待選擇特徵點中選擇匹配分值最高的特徵點作為目標特徵點。
本實施例中,假設範本圖像傾斜很嚴重,如圖5所示,圖5為本發明實施例中範本圖像的示意圖,這種情況下左半部分尺度很小,而右半部分尺度很大,單一一層的金字塔空間無法準確描述這種情況。因此,可以採用如下方式描述這類特徵。
具體地,請參閱圖6,圖6為本發明實施例中在原始圖像層上確定目標特徵點的實施例示意圖,對於原始的範本圖像降採樣生成金字塔,對於每一層都提取第一特徵點,故得到了多個尺度下的範本圖像的多層第一特徵點。同時放縮特徵點,把所有特徵點的位置放縮統一到原始圖像層大小,並製作一個原始圖像層大小的掩膜,均勻劃分成多個小柵格備用。
對於新讀取的每一張圖像,只提取一次第二特徵點,然後分別與原始圖像層上的第一特徵點進行匹配,即可得到多個尺度下特徵匹配。對於上述的每一個匹配,都包括有一個當前圖像上的點和一個範本圖像上的點,對於範本圖像上的點而言,由於每個點有多個尺度且都放縮到了原始圖像層大小,故會有多個匹配上的特徵點聚集在同一個柵格區域內。對於每一個柵格內,只選取一個匹配分數最高的點作為代表。通過網格篩檢程式(例如網格過濾器)的篩選,就可以得到一組柵格篩選後的範本圖像到第二圖像的匹配。
在這樣的範本圖像的柵格裡,可能融合了不止一層的特徵點。我們的柵格篩選法就相當於平滑了相鄰的兩層特徵點,按照比例利用了兩層的匹配資訊,因此可以大大降低需要的金字塔層數。柵格篩選自動的選擇對應尺度,在左半部分選擇了低尺度,在右半部分選擇了高尺度, 從而可以匹配的更好。
再次,本發明實施例中,相機姿態資訊確定裝置先從第二圖像中提取第二特徵點,然後在原始圖像層的每個柵格中,將第一特徵點與第二特徵點進行匹配,並得到至少一個待選擇特徵點,其中,每個待選擇特徵點對應一個匹配分值,最後在原始圖像層的每個柵格中,從至少一個待選擇特徵點中選擇匹配分值最高的特徵點作為目標特徵點。通過上述方式,採用柵格限制了匹配的最大數量,保證了計算第一單應矩陣的穩定性,且在運行是只對第二圖像提取一次第二特徵點,增加的特徵匹配耗時較小,並不會影響運行速度,從而加快了匹配效率。
可選地,在上述圖4對應的實施例的基礎上,本發明實施例提供的相機姿態資訊確定的方法第三個可選實施例中,根據第一圖像中的第一光流特徵點和第二圖像的第二光流特徵點確定第一目標單應矩陣,可以包括:在第一圖像的預設區域中獲取第一光流特徵點;根據所述第一光流特徵點獲取第二光流特徵點;根據第一光流特徵點與第二光流特徵點,計算從第一圖像到第二圖像的第一目標單應矩陣。
本實施例中,相機姿態資訊確定裝置在確定第一目標單應矩陣的過程中,需要在第一圖像的預設區域中獲取第一光流特徵點,預設區域可以包括四個頂點,這四個頂點即初始化一個圖像區域,在此區域上提取一些Shi-Tomasi角點作為第一光流特徵點。
隨著相機移動,之前的光流特徵點可能會不那麼好,尤其隨 著旋轉和透視投影之前的光流點可能在當前圖像上都不能再觀測到,因此需要每隔數幀更新光流追蹤的光流特徵點。利用上一幀計算出來的預設區域的四個頂點(可以參閱圖6右下方的圖),縮小一圈找一個掩膜,利用光流演算法在該掩膜中確定第二光流特徵點。可以理解的是,這整個過程都是在後臺執行緒運行,不影響主執行緒速度。通過上述方法,自動的更新了追蹤的光流特徵點,保證了光流演算法的穩定性。根據第一光流特徵點與第二光流特徵點,計算從第一圖像到第二圖像的第一目標單應矩陣,該第一目標單應矩陣作為第一圖像到範本圖像的遞推基礎。
掩膜的圖元數量小於預設區域的圖元數量,這是因為我們需要得到範本圖像上的光流特徵點,邊緣的特徵點容易檢測錯誤,所以縮小一圈得到的掩膜圖元數量也就少了。
其次,本發明實施例中,相機姿態資訊確定裝置在在第一圖像的預設區域中獲取第一光流特徵點,並且根據光流演算法和第一光流特徵點在第二圖像的掩膜中獲取第二光流特徵點。最後根據第一光流特徵點與第二光流特徵點,計算從第一圖像到第二圖像的第一目標單應矩陣。通過上述方式,利用上一幀圖像計算出來的預設區域頂點縮小一圈,得到掩膜,這樣可以減少檢測到邊緣特徵點的情況,從而降低檢測的錯誤率。
可選地,在上述圖4對應的第三個實施例的基礎上,本發明實施例提供的相機姿態資訊確定的方法第四個可選實施例中,根據第一目標單應矩陣和第二目標單應矩陣確定第二單應矩陣,可以包括:獲取範本圖像到第一圖像的第二目標單應矩陣;根據第一目標單應矩陣和第二目標單應矩陣,計算從第二圖 像到範本圖像的第二單應矩陣。
本實施例中,相機姿態資訊確定裝置在確定第二單應矩陣的過程中,需要在範本圖像中獲取第三光流特徵點,然後根據第三光流特徵點和第一光流特徵點找到範本圖像與第一圖像的匹配點,從而計算出第三單應矩陣,第三單應矩陣乘以第一目標單應矩陣得到範本圖像到第二圖像的第二單應矩陣。
其中,當前圖像為第二圖像,上一幀圖像即為第一圖像。
再次,本發明實施例中,介紹了相機姿態資訊確定確定第二單應矩陣的方式,即先獲取範本圖像到第一圖像的第二目標單應矩陣,然後根據第一目標單應矩陣和第二目標單應矩陣,計算從第二圖像到範本圖像的第二單應矩陣。通過上述方式,可以利用光流特徵點得到第二單應矩陣,從而提升方案的可行和實用性。
可選地,在上述圖4對應的第三個或第四個實施例的基礎上,本發明實施例提供的相機姿態資訊確定的方法第五個可選實施例中,還可以包括:若第二光流特徵點的數量小於預設門限,則獲取q個光流特徵點作為第二光流特徵點,以使第二光流特徵點的數量達到預設門限,q為正整數。
本實施例中,如果第二圖像中從掩膜中獲取的第二光流特徵點數量小於預設門限,說明剩下的第二光流特徵點太少了,不足以表示掩膜的特徵,因此需要再次在掩膜中提取q個光流特徵點作為第二光流特徵點,以使得第二光流特徵點的數量達到預設門限。
可以理解的是,預設門限可以是50,或者100,也可以是其他的數值,此處不做限定。
進一步地,本發明實施例中,如果第二光流特徵點的數量小於預設門限,則相機姿態資訊確定裝置從掩膜中獲取q個光流特徵點作為第二光流特徵點,以使第二光流特徵點的數量達到預設門限。通過上述方式,在第二光流特徵點數量不夠的情況下,可以重新提取新的光流特徵點來彌補,也就相當於自動更新了追蹤的特徵點,提升了光流演算法的穩定性。
可選地,在上述圖4對應的實施例的基礎上,本發明實施例提供的相機姿態資訊確定的方法第六個可選實施例中,根據第一單應矩陣與第二單應矩陣確定相機姿態資訊,可以包括:根據第一單應矩陣確定第一旋轉平移矩陣,並根據第二單應矩陣確定第二旋轉平移矩陣,其中,第一單應矩陣和第二單應矩陣為二維資訊,第一旋轉平移矩陣與第二旋轉平移矩陣為三維資訊;對第一旋轉平移矩陣和第二旋轉平移矩陣進行互補濾波處理,以獲取相機姿態資訊。
本實施例中,相機姿態資訊確定裝置在確定相機姿態資訊時,需要分為兩個步驟,第一個步驟主要為確定兩個旋轉平移矩陣。第二個步驟主要為對這兩個旋轉平移矩陣進行互補濾波處理,最後得到相機姿態資訊。
將單應矩陣轉換為旋轉平移矩陣的過程,可以理解為是將二維座標轉換為三維座標的過程,具體的實現方式可以參閱圖4對應的第七個實施例。得到三維座標即可確定範本圖像在當前相機中的位置。
可以理解的是,對於相機姿態資訊確定裝置而言,耗時的部分主要在於檢測上,對於一幀圖像而言,追蹤器追蹤一幀圖像最多不超過10毫秒,檢測器檢測一幀圖像接近30毫秒。因此另外一種替代方案是,將第一旋轉平移矩陣和第二旋轉平移矩陣進行融合並不是在每一幀都做,而是將每一幀圖像的檢測和融合都放到後端執行緒,將融合得到的修正增量用於修正後續的相機姿態,這樣主執行緒就只需要追蹤的時間,檢測和融合就不會阻塞主執行緒,計算速度就會得以提升。
其次,本發明實施例中,將確定相機姿態資訊的過程分為兩個部分,一部分為根據第一單應矩陣確定第一旋轉平移矩陣,並根據第二單應矩陣確定第二旋轉平移矩陣,另一部分為對第一旋轉平移矩陣和第二旋轉平移矩陣進行互補濾波處理,以獲取相機姿態資訊。通過上述方式,可以將二維的單應矩形分解成三維的旋轉平移矩陣,由於將範本圖像上的所有第一特徵點都在原始圖形層上做了融合,因此可以只得到一組旋轉平移矩陣的解,從而提升方案的可操作性。採用互補濾波的方式能夠得到更平滑的相機姿態資訊。
可選地,在上述圖4對應的第六個實施例的基礎上,本發明實施例提供的相機姿態資訊確定的方法第七個可選實施例中,根據第一單應矩陣確定第一旋轉平移矩陣,並根據第二單應矩陣確定第二旋轉平移矩陣,可以包括:根據第一單應矩陣、第二圖像的透視投影矩陣以及範本圖像的透視投影矩陣計算第一旋轉平移矩陣;根據第二單應矩陣、第二圖像的透視投影矩陣以及範本圖像 的透視投影矩陣計算第二旋轉平移矩陣。
本實施例中,當我們有了第一單應矩陣,再結合上相機參數即可分解出第一旋轉平移矩陣。同樣地,有了第二單應矩陣,再結合上相機參數即可分解出第二旋轉平移矩陣。下面將以分解得到第一旋轉平移矩陣為例進行介紹,分解出第二旋轉平移矩陣的方式與分解出第一旋轉平移矩陣的方式類似,此處不做贅述。
利用我們的範本圖像上的所有點都在同一個平面上的特性,我們採用如下的方法,可以分解出一組確定的解,根據單應矩陣的定義和相機間旋轉平移矩陣的定義,可以有如下的公式:xc=H*xm;xc=s*P*(R|T)*P-1*xm;其中,xc表示是第二圖像上的二維座標齊次表示,xm為範本圖像上的二維座標齊次表示,H表示第一單應矩陣,(R|T)表示第一旋轉平移矩陣,P表示透視投影矩陣,s表示尺度因數,這是由於xm反投影出三維點時取z=1,丟失了深度,故需要用尺度因數s進行補償。
比如2D點[x,y]T的齊次座標是[x,y,1]T,3D點[x,y,z]T的齊次座標是[x,y,z,1]T。故可以推出: ;其中,Pc表示第二圖像的透視投影矩陣,Pm表示範本圖像的透視投影矩陣。上述公式中xm通過範本圖像的相機參數反投影出的三維點全是z=1的點,然而,因為所有的點都在同一個平面上,故可把z=1平移到z=0,上述式子並不會改變,但同時由於z=0,故R|T的第三列均為0,可以刪去,從而得到新的等式,如下:
因此可以對應的求出sR00,sR10,sR20...,sT0,sT1,sT2
由於R為旋轉矩陣,滿足列向量為單位矩陣的特性,從而可以求出尺度因數s,通過R0和R1可以算出第三列R2,用S和左式第三列可以算出T。尺度因數s有正負號的選擇,可以通過算出RT後計算範本圖像在第二圖像中的位置,由位置一定在相機前方(Tz<0)可以推斷出s的符號,從而得到一組確定的旋轉平移矩陣,從而得到確定的相機姿態資訊。
再次,本發明實施例中,相機姿態資訊確定裝置介紹了計算第一旋轉平移矩陣和第二旋轉平移矩陣的方式,通過上述方式,可以得到更加可靠計算結果,且提升方案的實用性。
可選地,在上述圖4對應的第六個實施例的基礎上,本發明實施例提供的相機姿態資訊確定的方法第八個可選實施例中,對第一旋轉平移矩陣和第二旋轉平移矩陣進行互補濾波處理,以獲取相機姿態資訊,可以包括: 將第一旋轉平移矩陣輸入至低通濾波器,並得到第一濾波結果;將第二旋轉平移矩陣輸入是高通濾波器,並得到第二濾波結果;根據第一濾波結果和第二濾波結果確定相機姿態資訊。
本實施例中,獲取第一旋轉平移矩陣的速度較慢,精度較低,輸出的結果在正確值周圍波動,具有高頻誤差但均值較穩定。相比起來,獲取第二旋轉平移矩陣的速度較快,精度較高,輸出的結果更加穩定平滑,不會有高頻的抖動,但是隨著時間的推移會累計誤差從而產生漂移。第一旋轉平移矩陣和第二旋轉平移矩陣結合正好形成互補,故進行互補濾波,可以得到平滑的輸出結果。
需要說明的是,低通濾波器和高通濾波器可以組成互補濾波器,此外,卡爾曼濾波器也可以實現低通濾波器和高通濾波器的功能。卡爾曼濾波器和互補濾波器在性能上相差無幾,但互補濾波器更為簡潔,且我們應用場景的特性和互補濾波器更為接近,故採用類似的思想實現一個視覺的互補濾波器。
為了便於介紹,請參閱圖7,圖7為本發明實施例中對第一旋轉平移矩陣和第二旋轉平移矩陣進行濾波處理的實施例示意圖,如圖所示,第一單應矩陣表示從檢測器中檢測出來的單應矩陣,代表著從範本圖像到當前相機圖像的轉換。該第一單應矩陣可以直接分解出第一旋轉平移矩陣(R1|T1)。第二單應矩陣代表從追蹤器中追蹤出來的單應矩陣,代表從上一幀圖像(即第一圖像)到當前圖像(即第二圖像)的轉換,通過積 分運算,即可得到從範本圖像到當前圖像的轉換,該第二單應矩陣可以分解出第二旋轉平移矩陣(R2|T2),R1|T1經過一個低通濾波器可以過濾掉高頻的雜訊,得到第一濾波結果(Rf1|Tf1),R2|T2經過一個高通濾波器過濾掉低頻的漂移,得到第二濾波結果(Rf2|Tf2)。
對於平移T具有可加性,故可以直接融合,旋轉不直接具有可加性,需要先利用羅德里格旋轉公式(Rodrigues)公式轉換為四元數,通過球面線性(slerp)插值進行融合,從而得到過濾後的真實資料。該過濾後的真實資料描述了準確的從範本圖像到當前相機圖像的旋轉和平移(R|T)變化。即,融合得到相機姿態資訊。
通過相機參數可以算出範本圖像坐標系下四個頂點的真實座標,乘上上述R|T可以算出對應的當前相機上範本圖像的四個頂點的三維座標,通過透視投影計算出對應二維座標,從而找到四組範本圖像到當前相機圖像上二維座標點的匹配,從而計算出更新後的單應矩陣,用它來更新積分儀,從而消除了追蹤器的累積誤差。即,更新相機姿態資訊對應的單應矩陣。
需要說明的是,本實施例提供的互補濾波是一種框架,能進行濾波的不僅僅局限於檢測和光流追蹤,而可以是任意兩種或者多種不同來源的範本圖像,甚至包括外界感測器傳入的資料(如慣性測量單元測得的資料),同樣的也可以採用卡爾曼濾波器進行對應的處理。
再次,本發明實施例中,採用對第一旋轉平移矩陣和第二旋轉平移矩陣進行互補濾波處理,即將第一旋轉平移矩陣輸入至低通濾波器,並得到第一濾波結果,同時將第二旋轉平移矩陣輸入是高通濾波器, 並得到第二濾波結果,最後根據第一濾波結果和所述第二濾波結果確定相機姿態資訊。通過上述方式,可以彌補第一旋轉平移矩陣精度低,且具有高頻誤差的缺點,也可以彌補第二旋轉平移矩陣因為時間推移累積誤差而產生漂移的缺點,採用互補濾波的方式能夠得到平滑的輸出結果,從而提升方案的可行性。
下面對本發明中的相機姿態資訊確定裝置進行詳細描述,請參閱圖8,圖8為本發明實施例中相機姿態資訊確定裝置一個實施例示意圖,相機姿態資訊確定裝置30包括:第一獲取模組301,用於獲取第一圖像、第二圖像以及範本圖像,其中,所述第一圖像是所述第二圖像的上一幀圖像,所述範本圖像為待匹配的圖像,所述範本圖像包含多個圖像層;第一提取模組302,用於從所述第一獲取模組301獲取的所述範本圖像的每個圖像層中分別提取第一特徵點,並在原始圖像層中確定所述第一特徵點,所述原始圖像層為所述範本圖像中的一個圖像層,所述原始圖像層中包含多個柵格;匹配模組303,用於將所述第一提取模組302提取的所述第一特徵點與第二特徵點進行匹配,以在所述原始圖像層的每個柵格中確定一個目標特徵點,其中,所述目標特徵點為所述第一特徵點與所述第二特徵點之間匹配度最大的特徵點,所述目標特徵點用於確定第一單應矩陣,所述第二特徵點是從所述第二圖像中提取的特徵點;第一確定模組304,用於根據所述第一圖像中的第一光流特徵點和所述第二圖像的第二光流特徵點確定第一目標單應矩陣,並根據所 述第一目標單應矩陣和第二目標單應矩陣確定第二單應矩陣;第二確定模組305,用於根據所述第一單應矩陣與所述第一確定模組304確定的所述第二單應矩陣確定相機姿態資訊。
本實施例中,第一獲取模組301獲取第一圖像、第二圖像以及範本圖像,其中,第一圖像是第二圖像的上一幀圖像,範本圖像為待匹配的圖像,範本圖像包含多個圖像層,第一提取模組302從第一獲取模組301獲取的範本圖像的每個圖像層中分別提取第一特徵點,並在原始圖像層中確定第一特徵點,原始圖像層為範本圖像中的一個圖像層,原始圖像層中包含多個柵格,匹配模組303將第一提取模組302提取的第一特徵點與第二特徵點進行匹配,以在原始圖像層的每個柵格中確定一個目標特徵點,其中,目標特徵點為第一特徵點與第二特徵點之間匹配度最大的特徵點,目標特徵點用於確定第一單應矩陣,第二特徵點是從第二圖像中提取的特徵點,第一確定模組304根據第一圖像中的第一光流特徵點和第二圖像的第二光流特徵點確定第一目標單應矩陣,並根據第一目標單應矩陣和第二目標單應矩陣確定第二單應矩陣,第二確定模組305根據第一單應矩陣與第一確定模組304確定的第二單應矩陣確定相機姿態資訊。
本發明實施例中,提供一種相機姿態資訊確定裝置,採用該相機姿態資訊確定裝置可將範本圖像劃分為多個相等的柵格,且一個柵格中僅存在一個目標特徵點,因此目標特徵點分佈較為均勻並具有較高的匹配度和融合度,從而在保證運行效率的情況下,利用目標特徵點可以獲取到精度較高的相機姿態資訊。
可選地,在上述圖8所對應的實施例的基礎上,請參閱圖9, 本發明實施例提供的相機姿態資訊確定裝置30的另一實施例中,所述第一提取模組302包括:第一提取單元3021,用於從所述第一獲取模組301獲取的所述範本圖像的第一圖像層中提取所述第一特徵點;第二提取單元3022,用於從所述第一獲取模組301獲取的所述範本圖像的第二圖像層中提取所述第一特徵點,其中,所述第一圖像層與所述第二圖像層具有不同的尺寸大小;投影單元3023,用於對所述第一提取單元3021提取的所述第一圖像層的中的所述第一特徵點,以及所述第二提取單元3022提取的所述第二圖像層中的所述第一特徵點進行縮放處理,並投影至所述原始圖像層。
其次,本發明實施例中,相機姿態資訊確定裝置首先從範本圖像的第一圖像層中提取第一特徵點,從範本圖像的第二圖像層中提取第一特徵點,其中,第一圖像層與第二圖像層具有不同的尺寸大小,然後對第一圖像層的中的第一特徵點以及第二圖像層中的第一特徵點進行縮放處理,並投影至原始圖像層。通過上述方式,可以在範本圖像對應的原始圖形層上融合每個圖形層提取出來的所有第一特徵點,從而得到盡可能多的第一特徵點以便於對這些第一特徵點進行進一步的篩選,由此提升篩選的準確度。同時增強了匹配性能,保證了在大尺度變化下也能檢測到物體。
可選地,在上述圖9所對應的實施例的基礎上,請參閱圖10,本發明實施例提供的相機姿態資訊確定裝置30的另一實施例中,所述相機姿態資訊確定裝置30還包括:第二提取模組306,用於所述匹配模組303將所述第一特徵點 與第二特徵點進行匹配之前,從所述第二圖像中提取第二特徵點;所述匹配模組303包括:匹配單元3031,用於在所述原始圖像層的每個柵格中,將所述第一特徵點與第二特徵點進行匹配,並得到至少一個待選擇特徵點,其中,每個待選擇特徵點對應一個匹配分值;選擇單元3032,用於在所述原始圖像層的每個柵格中,從所述匹配單元3031得到的所述至少一個待選擇特徵點中選擇匹配分值最高的特徵點作為所述目標特徵點。
再次,本發明實施例中,相機姿態資訊確定裝置先從第二圖像中提取第二特徵點,然後在原始圖像層的每個柵格中,將第一特徵點與第二特徵點進行匹配,並得到至少一個待選擇特徵點,其中,每個待選擇特徵點對應一個匹配分值,最後在原始圖像層的每個柵格中,從至少一個待選擇特徵點中選擇匹配分值最高的特徵點作為目標特徵點。通過上述方式,採用柵格限制了匹配的最大數量,保證了計算第一單應矩陣的穩定性,且在運行是只對第二圖像提取一次第二特徵點,增加的特徵匹配耗時較小,並不會影響運行速度,從而加快了匹配效率。
可選地,在上述圖8所對應的實施例的基礎上,請參閱圖11,本發明實施例提供的相機姿態資訊確定裝置30的另一實施例中,所述第一確定模組304包括:第一獲取單元3041,用於在所述第一圖像的預設區域中獲取第一光流特徵點;第二獲取單元3042,用於根據所述第一獲取單元3041獲取的 所述第一光流特徵點獲取第二光流特徵點;第一計算單元3043,用於根據所述第一獲取單元3041獲取的所述第一光流特徵點與所述第二獲取單元3042獲取的所述第二光流特徵點,計算從所述第一圖像到所述第二圖像的所述第一目標單應矩陣。
其次,本發明實施例中,相機姿態資訊確定裝置在在第一圖像的預設區域中獲取第一光流特徵點,並且根據光流演算法和第一光流特徵點在第二圖像的掩膜中獲取第二光流特徵點。最後根據第一光流特徵點與第二光流特徵點,計算從第一圖像到第二圖像的第一目標單應矩陣。通過上述方式,利用上一幀圖像計算出來的預設區域頂點縮小一圈,得到掩膜,這樣可以減少檢測到邊緣特徵點的情況,從而降低檢測的錯誤率。
可選地,在上述圖11所對應的實施例的基礎上,請參閱圖12,本發明實施例提供的相機姿態資訊確定裝置30的另一實施例中,所述第一確定模組304包括:第三獲取單元3044,用於獲取所述範本圖像到所述第一圖像的第二目標單應矩陣;第二計算單元3045,用於根據所述第一目標單應矩陣和所述第三獲取單元3044獲取的所述第二目標單應矩陣,計算從所述第二圖像到所述範本圖像的所述第二單應矩陣。
再次,本發明實施例中,介紹了相機姿態資訊確定確定第二單應矩陣的方式,即先獲取範本圖像到第一圖像的第二目標單應矩陣,然後根據第一目標單應矩陣和第二目標單應矩陣,計算從第二圖像到範本圖像的第二單應矩陣。通過上述方式,可以利用光流特徵點得到第二單應矩 陣,從而提升方案的可行和實用性。
可選地,在上述圖11或圖12所對應的實施例的基礎上,請參閱圖13,本發明實施例提供的相機姿態資訊確定裝置30的另一實施例中,所述相機姿態資訊確定裝置30還包括:第二獲取模組307,用於若所述第二光流特徵點的數量小於預設門限,則從所述掩膜中獲取q個光流特徵點作為所述第二光流特徵點,以使所述第二光流特徵點的數量達到所述預設門限,所述q為正整數。
進一步地,本發明實施例中,如果第二光流特徵點的數量小於預設門限,則相機姿態資訊確定裝置從掩膜中獲取q個光流特徵點作為第二光流特徵點,以使第二光流特徵點的數量達到預設門限。通過上述方式,在第二光流特徵點數量不夠的情況下,可以重新提取新的光流特徵點來彌補,也就相當於自動更新了追蹤的特徵點,提升了光流演算法的穩定性。
可選地,在上述圖8所對應的實施例的基礎上,請參閱圖14,本發明實施例提供的相機姿態資訊確定裝置30的另一實施例中,所述第二確定模組305包括:確定單元3051,用於根據所述第一單應矩陣確定第一旋轉平移矩陣,並根據所述第二單應矩陣確定第二旋轉平移矩陣,其中,所述第一單應矩陣和所述第二單應矩陣為二維資訊,所述第一旋轉平移矩陣與所述第二旋轉平移矩陣為三維資訊;處理單元3052,用於對所述確定單元3051確定的所述第一旋轉平移矩陣和所述第二旋轉平移矩陣進行互補濾波處理,以獲取所述相機姿態資訊。
其次,本發明實施例中,將確定相機姿態資訊的過程分為兩個部分,一部分為根據第一單應矩陣確定第一旋轉平移矩陣,並根據第二單應矩陣確定第二旋轉平移矩陣,另一部分為對第一旋轉平移矩陣和第二旋轉平移矩陣進行互補濾波處理,以獲取相機姿態資訊。通過上述方式,可以將二維的單應矩形分解成三維的旋轉平移矩陣,由於將範本圖像上的所有第一特徵點都在原始圖形層上做了融合,因此可以只得到一組旋轉平移矩陣的解,從而提升方案的可操作性。採用互補濾波的方式能夠得到更平滑的相機姿態資訊。
可選地,在上述圖14所對應的實施例的基礎上,請參閱圖15,本發明實施例提供的相機姿態資訊確定裝置30的另一實施例中,所述確定單元3051包括:第一計算子單元30511,用於根據所述第一單應矩陣、所述第二圖像的透視投影矩陣以及所述範本圖像的透視投影矩陣計算所述第一旋轉平移矩陣;第二計算子單元30512,用於根據所述第二單應矩陣、所述第二圖像的透視投影矩陣以及所述範本圖像的透視投影矩陣計算所述第二旋轉平移矩陣。
再次,本發明實施例中,相機姿態資訊確定裝置介紹了計算第一旋轉平移矩陣和第二旋轉平移矩陣的方式,通過上述方式,可以得到更加可靠計算結果,且提升方案的實用性。
可選地,在上述圖14所對應的實施例的基礎上,請參閱圖16,本發明實施例提供的相機姿態資訊確定裝置30的另一實施例中, 所述處理單元3052包括:第一輸入子單元30521,用於將所述第一旋轉平移矩陣輸入至低通濾波器,並得到第一濾波結果;第二輸入子單元30522,用於將所述第二旋轉平移矩陣輸入是高通濾波器,並得到第二濾波結果;確定子單元30523,用於根據所述第一輸入子單元30521輸入的所述第一濾波結果和所述第二輸入子單元30522輸入的所述第二濾波結果確定所述相機姿態資訊。
再次,本發明實施例中,採用對第一旋轉平移矩陣和第二旋轉平移矩陣進行互補濾波處理,即將第一旋轉平移矩陣輸入至低通濾波器,並得到第一濾波結果,同時將第二旋轉平移矩陣輸入是高通濾波器,並得到第二濾波結果,最後根據第一濾波結果和所述第二濾波結果確定相機姿態資訊。通過上述方式,可以彌補第一旋轉平移矩陣精度低,且具有高頻誤差的缺點,也可以彌補第二旋轉平移矩陣因為時間推移累積誤差而產生漂移的缺點,採用互補濾波的方式能夠得到平滑的輸出結果,從而提升方案的可行性。
本發明實施例還提供了另一種相機姿態資訊確定裝置,如圖17所示,為了便於說明,僅示出了與本發明實施例相關的部分,具體技術細節未揭示的,請參照本發明實施例方法部分。該終端可以為包括手機、平板電腦、PDA、POS、車載電腦等任意終端設備,以終端為手機為例:圖17示出的是與本發明實施例提供的終端相關的手機的部分結構的框圖。參考圖17,手機包括:射頻(Radio Frequency,RF)電路 410、記憶體420、輸入單元430、顯示單元440、感測器450、音訊電路460、無線保真(wireless fidelity,WiFi)模組470、處理器480、以及電源490等部件。本領域技術人員可以理解,圖17中示出的手機結構並不構成對手機的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件佈置。
下面結合圖17對手機的各個構成部件進行具體的介紹:RF電路410可用於收發資訊或通話過程中,信號的接收和發送,特別地,將基站的下行資訊接收後,給處理器480處理;另外,將設計上行的資料發送給基站。通常,RF電路410包括但不限於天線、至少一個放大器、收發信機、耦合器、低雜訊放大器(Low Noise Amplifier,LNA)、雙工器等。此外,RF電路410還可以通過無線通訊與網路和其他設備通信。上述無線通訊可以使用任一通信標準或協定,包括但不限於全球移動通訊系統(Global System of Mobile communication,GSM)、通用分組無線服務(General Packet Radio Service,GPRS)、碼分多址(Code Division Multiple Access,CDMA)、寬頻碼分多址(Wideband Code Division Multiple Access,WCDMA)、長期演進(Long Term Evolution,LTE)、電子郵件、短消息服務(Short Messaging Service,SMS)等。
記憶體420可用於存儲軟體程式以及模組,處理器480通過運行存儲在記憶體420的軟體程式以及模組,從而執行手機的各種功能應用以及資料處理。記憶體420可主要包括存儲程式區和存儲資料區,其中,存儲程式區可存儲作業系統、至少一個功能所需的應用程式(比如聲音播放功能、圖像播放功能等)等;存儲資料區可存儲根據手機的使用所創建的資 料(比如音訊資料、電話本等)等。此外,記憶體420可以包括高速隨機存取記憶體,還可以包括非易失性記憶體,例如至少一個磁碟記憶體件、快閃記憶體器件、或其他易失性固態記憶體件。
輸入單元430可用於接收輸入的數位或字元資訊,以及產生與手機的用戶設置以及功能控制有關的鍵信號輸入。具體地,輸入單元430可包括觸控面板431以及其他輸入裝置432。觸控面板431,也稱為觸控式螢幕,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板431上或在觸控面板431附近的操作),並根據預先設定的程式驅動相應的連接裝置。可選的,觸控面板431可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測使用者的觸摸方位,並檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸資訊,並將它轉換成觸點座標,再送給處理器480,並能接收處理器480發來的命令並加以執行。此外,可以採用電阻式、電容式、紅外線以及表面聲波等多種類型實現觸控面板431。除了觸控面板431,輸入單元430還可以包括其他輸入裝置432。具體地,其他輸入裝置432可以包括但不限於物理鍵盤、功能鍵(比如音量控制按鍵、開關按鍵等)、軌跡球、滑鼠、搖桿等中的一種或多種。
顯示單元440可用於顯示由使用者輸入的資訊或提供給使用者的資訊以及手機的各種功能表。顯示單元440可包括顯示面板441,可選的,可以採用液晶顯示器(Liquid Crystal Display,LCD)、有機發光二極體(Organic Light-Emitting Diode,OLED)等形式來配置顯示面板441。進一步的,觸控面板431可覆蓋顯示面板441,當觸控面板431檢測到在其上或附 近的觸摸操作後,傳送給處理器480以確定觸摸事件的類型,隨後處理器480根據觸摸事件的類型在顯示面板441上提供相應的視覺輸出。雖然在圖17中,觸控面板431與顯示面板441是作為兩個獨立的部件來實現手機的輸入和輸入功能,但是在某些實施例中,可以將觸控面板431與顯示面板441集成而實現手機的輸入和輸出功能。
手機還可包括至少一種感測器450,比如光感測器、運動感測器以及其他感測器。具體地,光感測器可包括環境光感測器及接近感測器,其中,環境光感測器可根據環境光線的明暗來調節顯示面板441的亮度,接近感測器可在手機移動到耳邊時,關閉顯示面板441和/或背光。作為運動感測器的一種,加速計感測器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用於識別手機姿態的應用(比如橫豎屏切換、相關遊戲、磁力計姿態校準)、振動識別相關功能(比如計步器、敲擊)等;至於手機還可配置的陀螺儀、氣壓計、濕度計、溫度計、紅外線感測器等其他感測器,在此不再贅述。
音訊電路460、揚聲器461,傳聲器462可提供用戶與手機之間的音訊介面。音訊電路460可將接收到的音訊資料轉換後的電信號,傳輸到揚聲器461,由揚聲器461轉換為聲音信號輸出;另一方面,傳聲器462將收集的聲音信號轉換為電信號,由音訊電路460接收後轉換為音訊資料,再將音訊資料輸出處理器480處理後,經RF電路410以發送給比如另一手機,或者將音訊資料輸出至記憶體420以便進一步處理。
WiFi屬於短距離無線傳輸技術,手機通過WiFi模組470可以說明使用者收發電子郵件、流覽網頁和訪問流式媒體等,它為用戶提供了 無線的寬頻互聯網訪問。雖然圖17示出了WiFi模組470,但是可以理解的是,其並不屬於手機的必須構成,完全可以根據需要在不改變發明的本質的範圍內而省略。
處理器480是手機的控制中心,利用各種介面和線路連接整個手機的各個部分,通過運行或執行存儲在記憶體420內的軟體程式和/或模組,以及調用存儲在記憶體420內的資料,執行手機的各種功能和處理資料,從而對手機進行整體監控。可選的,處理器480可包括一個或多個處理單元;可選的,處理器480可集成應用處理器和調製解調處理器,其中,應用處理器主要處理作業系統、使用者介面和應用程式等,調製解調處理器主要處理無線通訊。可以理解的是,上述調製解調處理器也可以不集成到處理器480中。
手機還包括給各個部件供電的電源490(比如電池),可選的,電源可以通過電源管理系統與處理器480邏輯相連,從而通過電源管理系統實現管理充電、放電、以及功耗管理等功能。
儘管未示出,手機還可以包括攝像頭、藍牙模組等,在此不再贅述。
在本發明實施例中,該終端所包括的處理器480還具有以下功能:獲取第一圖像、第二圖像以及範本圖像,其中,所述第一圖像是所述第二圖像的上一幀圖像,所述範本圖像為待匹配的圖像,所述範本圖像包含多個圖像層;從所述範本圖像的每個圖像層中分別提取第一特徵點,並在 原始圖像層中確定所述第一特徵點,所述原始圖像層為所述範本圖像中的一個圖像層,所述原始圖像層中包含多個柵格;將所述第一特徵點與第二特徵點進行匹配,以在所述原始圖像層的每個柵格中確定一個目標特徵點,其中,所述目標特徵點為所述第一特徵點與所述第二特徵點之間匹配度最大的特徵點,所述目標特徵點用於確定第一單應矩陣,所述第二特徵點是從所述第二圖像中提取的特徵點;根據所述第一圖像中的第一光流特徵點和所述第二圖像的第二光流特徵點確定第一目標單應矩陣,並根據所述第一目標單應矩陣和第二目標單應矩陣確定第二單應矩陣;根據所述第一單應矩陣與所述第二單應矩陣確定相機姿態資訊。
所屬領域的技術人員可以清楚地瞭解到,為描述的方便和簡潔,上述描述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本發明所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或元件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些介面,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理 上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。
所述集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以存儲在一個電腦可讀取存儲介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該電腦軟體產品存儲在一個存儲介質中,包括若干指令用以使得一台電腦設備(可以是個人電腦,伺服器,或者網路設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬碟、唯讀記憶體(Read-Only Memory,ROM)、隨機存取記憶體(Random Access Memory,RAM)、磁碟或者光碟等各種可以存儲程式碼的介質。
以上所述,以上實施例僅用以說明本發明的技術方案,而非對其限制;儘管參照前述實施例對本發明進行了詳細的說明,本領域所屬技術領域中具有通常知識者應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的精神和範圍。
雖然本揭示已用較佳實施例揭露如上,然其並非用以限定本揭示,本揭示所屬技術領域中具有通常知識者,在不脫離本揭示之精神和範圍內,當可作各種之更動與潤飾,因此本揭示之保護範圍當視後附之申請專利範圍所界定者為準。

Claims (15)

  1. 一種相機姿態資訊確定的方法,包括:獲取第一圖像、第二圖像以及範本圖像,其中,所述第一圖像是所述第二圖像的上一幀圖像,所述範本圖像為待匹配的圖像,所述範本圖像包含多個圖像層;從所述範本圖像的每個圖像層中分別提取第一特徵點,並在原始圖像層中確定所述第一特徵點,所述原始圖像層為所述範本圖像中的一個圖像層,所述原始圖像層中包含多個柵格;將所述第一特徵點與第二特徵點進行匹配,以在所述原始圖像層的每個柵格中確定一個目標特徵點,其中,所述目標特徵點為所述第一特徵點與所述第二特徵點之間匹配度最大的特徵點,所述目標特徵點用於確定第一單應矩陣,所述第二特徵點是從所述第二圖像中提取的特徵點;根據所述第一圖像中的第一光流特徵點和所述第二圖像的第二光流特徵點確定第一目標單應矩陣,並根據所述第一目標單應矩陣和第二目標單應矩陣確定第二單應矩陣;根據所述第一單應矩陣與所述第二單應矩陣確定相機姿態資訊。
  2. 如申請專利範圍第1項所述的方法,其中所述從所述範本圖像的每個圖像層中分別提取第一特徵點,並在原始圖像層中確定所述第一特徵點,包括:從所述範本圖像的第一圖像層中提取所述第一特徵點;從所述範本圖像的第二圖像層中提取所述第一特徵點,其中,所述第一圖像層與所述第二圖像層具有不同的尺寸大小; 對所述第一圖像層的中的所述第一特徵點以及所述第二圖像層中的所述第一特徵點進行縮放處理,並投影至所述原始圖像層。
  3. 如申請專利範圍第2項所述的方法,其中所述將所述第一特徵點與第二特徵點進行匹配之前,所述方法還包括:從所述第二圖像中提取第二特徵點;所述將所述第一特徵點與第二特徵點進行匹配,以在所述原始圖像層的每個柵格中確定一個目標特徵點,包括:在所述原始圖像層的每個柵格中,將所述第一特徵點與第二特徵點進行匹配,並得到至少一個待選擇特徵點,其中,每個待選擇特徵點對應一個匹配分值;在所述原始圖像層的每個柵格中,從所述至少一個待選擇特徵點中選擇匹配分值最高的特徵點作為所述目標特徵點。
  4. 如申請專利範圍第1項所述的方法,其中所述根據所述第一圖像中的第一光流特徵點和所述第二圖像的第二光流特徵點確定第一目標單應矩陣,包括:在所述第一圖像的預設區域中獲取第一光流特徵點;根據所述第一光流特徵點獲取第二光流特徵點;根據所述第一光流特徵點與所述第二光流特徵點,計算從所述第一圖像到所述第二圖像的所述第一目標單應矩陣。
  5. 如申請專利範圍第4項所述的方法,其中所述根據所述第一目標單應矩陣和第二目標單應矩陣確定第二單應矩陣,包括:獲取所述範本圖像到所述第一圖像的第二目標單應矩陣; 根據所述第一目標單應矩陣和所述第二目標單應矩陣,計算從所述第二圖像到所述範本圖像的所述第二單應矩陣。
  6. 如申請專利範圍第4至5任一項所述的方法,其中所述方法還包括:若所述第二光流特徵點的數量小於預設門限,則獲取q個光流特徵點作為所述第二光流特徵點,以使所述第二光流特徵點的數量達到所述預設門限,所述q為正整數。
  7. 如申請專利範圍第1項所述的方法,其中所述根據所述第一單應矩陣與所述第二單應矩陣確定相機姿態資訊,包括:根據所述第一單應矩陣確定第一旋轉平移矩陣,並根據所述第二單應矩陣確定第二旋轉平移矩陣,其中,所述第一單應矩陣和所述第二單應矩陣為二維資訊,所述第一旋轉平移矩陣與所述第二旋轉平移矩陣為三維資訊;對所述第一旋轉平移矩陣和所述第二旋轉平移矩陣進行互補濾波處理,以獲取所述相機姿態資訊。
  8. 如申請專利範圍第7項所述的方法,其中所述根據所述第一單應矩陣確定第一旋轉平移矩陣,並根據所述第二單應矩陣確定第二旋轉平移矩陣,包括:根據所述第一單應矩陣、所述第二圖像的透視投影矩陣以及所述範本圖像的透視投影矩陣計算所述第一旋轉平移矩陣;根據所述第二單應矩陣、所述第二圖像的透視投影矩陣以及所述範本圖像的透視投影矩陣計算所述第二旋轉平移矩陣。
  9. 如申請專利範圍第7項所述的方法,其中所述對所述第一旋轉平移 矩陣和所述第二旋轉平移矩陣進行互補濾波處理,以獲取所述相機姿態資訊,包括:將所述第一旋轉平移矩陣輸入至低通濾波器,並得到第一濾波結果;將所述第二旋轉平移矩陣輸入是高通濾波器,並得到第二濾波結果;根據所述第一濾波結果和所述第二濾波結果確定所述相機姿態資訊。
  10. 一種相機姿態資訊確定裝置,包括:第一獲取模組,用於獲取第一圖像、第二圖像以及範本圖像,其中,所述第一圖像是所述第二圖像的上一幀圖像,所述範本圖像為待匹配的圖像,所述範本圖像包含多個圖像層;第一提取模組,用於從所述第一獲取模組獲取的所述範本圖像的每個圖像層中分別提取第一特徵點,並在原始圖像層中確定所述第一特徵點,所述原始圖像層為所述範本圖像中的一個圖像層,所述原始圖像層中包含多個柵格;匹配模組,用於將所述第一提取模組提取的所述第一特徵點與第二特徵點進行匹配,以在所述原始圖像層的每個柵格中確定一個目標特徵點,其中,所述目標特徵點為所述第一特徵點與所述第二特徵點之間匹配度最大的特徵點,所述目標特徵點用於確定第一單應矩陣,所述第二特徵點是從所述第二圖像中提取的特徵點;第一確定模組,用於根據所述第一圖像中的第一光流特徵點和所述第二圖像的第二光流特徵點確定第一目標單應矩陣,並根據所述第一目標單應矩陣和第二目標單應矩陣確定第二單應矩陣;第二確定模組,用於根據所述第一單應矩陣與所述第一確定模組確定 的所述第二單應矩陣確定相機姿態資訊。
  11. 如申請專利範圍第10項所述的相機姿態資訊確定裝置,其中所述第二確定模組包括:確定單元,用於根據所述第一單應矩陣確定第一旋轉平移矩陣,並根據所述第二單應矩陣確定第二旋轉平移矩陣,其中,所述第一單應矩陣和所述第二單應矩陣為二維資訊,所述第一旋轉平移矩陣與所述第二旋轉平移矩陣為三維資訊;處理單元,用於對所述確定單元確定的所述第一旋轉平移矩陣和所述第二旋轉平移矩陣進行互補濾波處理,以獲取所述相機姿態資訊。
  12. 一種相機姿態資訊確定裝置,包括:記憶體、收發器、處理器以及匯流排系統;其中,所述記憶體用於存儲程式;所述處理器用於執行所述記憶體中的程式,具體包括如下步驟:獲取第一圖像、第二圖像以及範本圖像,其中,所述第一圖像是所述第二圖像的上一幀圖像,所述範本圖像為待匹配的圖像,所述範本圖像包含多個圖像層;從所述範本圖像的每個圖像層中分別提取第一特徵點,並在原始圖像層中確定所述第一特徵點,所述原始圖像層為所述範本圖像中的一個圖像層,所述原始圖像層中包含多個柵格;將所述第一特徵點與第二特徵點進行匹配,以在所述原始圖像層的每個柵格中確定一個目標特徵點,其中,所述目標特徵點為所述第一特徵點與所述第二特徵點之間匹配度最大的特徵點,所述目標特徵點用於確定第 一單應矩陣,所述第二特徵點是從所述第二圖像中提取的特徵點;根據所述第一圖像中的第一光流特徵點和所述第二圖像的第二光流特徵點確定第一目標單應矩陣,並根據所述第一目標單應矩陣和第二目標單應矩陣確定第二單應矩陣;根據所述第一單應矩陣與所述第二單應矩陣確定相機姿態資訊;所述匯流排系統用於連接所述記憶體、所述收發器以及所述處理器,以使所述記憶體、所述收發器以及所述處理器進行通信。
  13. 如申請專利範圍第12項所述的相機姿態資訊確定裝置,其中所述處理器具體用於執行如下步驟:從所述範本圖像的第一圖像層中提取所述第一特徵點;從所述範本圖像的第二圖像層中提取所述第一特徵點,其中,所述第一圖像層與所述第二圖像層具有不同的尺寸大小;對所述第一圖像層的中的所述第一特徵點以及所述第二圖像層中的所述第一特徵點進行縮放處理,並投影至所述原始圖像層。
  14. 如申請專利範圍第12項所述的相機姿態資訊確定裝置,其中所述處理器具體用於執行如下步驟:根據所述第一單應矩陣確定第一旋轉平移矩陣,並根據所述第二單應矩陣確定第二旋轉平移矩陣,其中,所述第一單應矩陣和所述第二單應矩陣為二維資訊,所述第一旋轉平移矩陣與所述第二旋轉平移矩陣為三維資訊;對所述第一旋轉平移矩陣和所述第二旋轉平移矩陣進行互補濾波處理,以獲取所述相機姿態資訊。
  15. 一種電腦可讀存儲介質,包括指令,當所述指令在電腦上運行時,使得電腦執行如申請專利範圍第1至5項以及第7至9項任一項所述的方法。
TW107121953A 2017-07-07 2018-06-26 一種相機姿態資訊確定的方法及相關裝置 TWI683259B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
??201710552105.1 2017-07-07
CN201710552105.1A CN109215077B (zh) 2017-07-07 2017-07-07 一种相机姿态信息确定的方法及相关装置
CN201710552105.1 2017-07-07

Publications (2)

Publication Number Publication Date
TW201837783A true TW201837783A (zh) 2018-10-16
TWI683259B TWI683259B (zh) 2020-01-21

Family

ID=64797133

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107121953A TWI683259B (zh) 2017-07-07 2018-06-26 一種相機姿態資訊確定的方法及相關裝置

Country Status (7)

Country Link
US (2) US10963727B2 (zh)
EP (1) EP3579192B1 (zh)
JP (1) JP6824433B2 (zh)
KR (1) KR102319207B1 (zh)
CN (2) CN109215077B (zh)
TW (1) TWI683259B (zh)
WO (1) WO2019007258A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI812369B (zh) * 2021-07-28 2023-08-11 宏達國際電子股份有限公司 控制方法、追蹤系統以及非暫態電腦可讀取媒體

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109215077B (zh) * 2017-07-07 2022-12-06 腾讯科技(深圳)有限公司 一种相机姿态信息确定的方法及相关装置
CN107590453B (zh) * 2017-09-04 2019-01-11 腾讯科技(深圳)有限公司 增强现实场景的处理方法、装置及设备、计算机存储介质
US11113837B2 (en) * 2019-10-25 2021-09-07 7-Eleven, Inc. Sensor mapping to a global coordinate system
US11292129B2 (en) * 2018-11-21 2022-04-05 Aivot, Llc Performance recreation system
CN111563840B (zh) * 2019-01-28 2023-09-05 北京魔门塔科技有限公司 分割模型的训练方法、装置、位姿检测方法及车载终端
WO2020170462A1 (ja) * 2019-02-22 2020-08-27 公立大学法人会津大学 動画像距離算出装置および動画像距離算出用プログラムを記録したコンピュータ読み取り可能な記録媒体
CN110503604B (zh) * 2019-07-31 2022-04-29 武汉大学 一种基于高精度pos的航空面阵影像实时正射拼接方法
CN110880160B (zh) * 2019-11-14 2023-04-18 Oppo广东移动通信有限公司 图片帧超分方法、装置、终端设备及计算机可读存储介质
CN111080683B (zh) * 2019-12-09 2023-06-02 Oppo广东移动通信有限公司 图像处理方法、装置、存储介质及电子设备
CN111179309B (zh) * 2019-12-19 2024-05-24 联想(北京)有限公司 一种跟踪方法及设备
CN116797971A (zh) * 2019-12-31 2023-09-22 支付宝实验室(新加坡)有限公司 一种视频流识别方法及装置
CN111598927B (zh) * 2020-05-18 2023-08-01 京东方科技集团股份有限公司 一种定位重建方法和装置
CN111578839B (zh) * 2020-05-25 2022-09-20 阿波罗智联(北京)科技有限公司 障碍物坐标处理方法、装置、电子设备及可读存储介质
CN111681282A (zh) * 2020-06-18 2020-09-18 浙江大华技术股份有限公司 一种栈板识别处理方法及装置
CN111768454B (zh) * 2020-08-05 2023-12-22 腾讯科技(深圳)有限公司 位姿确定方法、装置、设备及存储介质
CN112085789A (zh) * 2020-08-11 2020-12-15 深圳先进技术研究院 位姿估计方法、装置、设备及介质
CN112066988B (zh) * 2020-08-17 2022-07-26 联想(北京)有限公司 定位方法及定位设备
EP3965071A3 (en) * 2020-09-08 2022-06-01 Samsung Electronics Co., Ltd. Method and apparatus for pose identification
CN112150558B (zh) * 2020-09-15 2024-04-12 阿波罗智联(北京)科技有限公司 用于路侧计算设备的障碍物三维位置获取方法及装置
CN113141518B (zh) * 2021-04-20 2022-09-06 北京安博盛赢教育科技有限责任公司 直播课堂中视频帧图像的控制方法、控制装置
CN113628275B (zh) * 2021-08-18 2022-12-02 北京理工大学深圳汽车研究院(电动车辆国家工程实验室深圳研究院) 一种充电口位姿估计方法、系统、充电机器人及存储介质
CN113837949B (zh) * 2021-08-19 2024-01-19 广州医软智能科技有限公司 一种图像处理方法和装置
WO2023068527A1 (ko) * 2021-10-18 2023-04-27 삼성전자 주식회사 콘텐트를 식별하기 위한 전자 장치 및 방법
CN114419437A (zh) * 2022-01-12 2022-04-29 湖南视比特机器人有限公司 基于2d视觉的工件分拣系统及其控制方法和控制装置
CN114782447B (zh) * 2022-06-22 2022-09-09 小米汽车科技有限公司 路面检测方法、装置、车辆、存储介质及芯片
CN115937305A (zh) * 2022-06-28 2023-04-07 北京字跳网络技术有限公司 图像处理方法、装置及电子设备
CN115861428B (zh) * 2023-02-27 2023-07-14 广东粤港澳大湾区硬科技创新研究院 一种位姿测量方法、装置、终端设备及存储介质
CN116580083B (zh) * 2023-07-13 2023-09-22 深圳创维智慧科技有限公司 摄像设备的位姿估计方法、装置、电子设备及存储介质
CN116645400B (zh) * 2023-07-21 2023-12-08 江西红声技术有限公司 视觉及惯性混合位姿跟踪方法、系统、头盔及存储介质

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7403658B2 (en) * 2005-04-15 2008-07-22 Microsoft Corporation Direct homography computation by local linearization
JP5434608B2 (ja) * 2010-01-08 2014-03-05 トヨタ自動車株式会社 測位装置及び測位方法
EP2375376B1 (en) * 2010-03-26 2013-09-11 Alcatel Lucent Method and arrangement for multi-camera calibration
CN102375984B (zh) * 2010-08-06 2014-02-26 夏普株式会社 特征量计算装置、图像连接装置、图像检索装置及特征量计算方法
US8855406B2 (en) * 2010-09-10 2014-10-07 Honda Motor Co., Ltd. Egomotion using assorted features
CN102088569B (zh) * 2010-10-13 2013-06-19 首都师范大学 低空无人飞行器序列图像拼接方法和系统
WO2012083982A1 (en) * 2010-12-21 2012-06-28 Metaio Gmbh Method for determining a parameter set designed for determining the pose of a camera and/or for determining a three-dimensional structure of the at least one real object
KR101207535B1 (ko) * 2010-12-31 2012-12-03 한양대학교 산학협력단 이동 로봇의 이미지 기반 동시적 위치 인식 및 지도 작성 방법
CN103415860B (zh) * 2011-01-27 2019-07-12 苹果公司 确定第一和第二图像间的对应关系的方法以及确定摄像机姿态的方法
JP2012164188A (ja) * 2011-02-08 2012-08-30 Sony Corp 画像処理装置、画像処理方法およびプログラム
KR101755687B1 (ko) * 2011-04-01 2017-07-07 에스케이 주식회사 촬영화상의 카메라 자세 추정 시스템 및 방법
US9020187B2 (en) * 2011-05-27 2015-04-28 Qualcomm Incorporated Planar mapping and tracking for mobile devices
EP2786307A1 (en) * 2011-11-29 2014-10-08 Layar B.V. Dynamically configuring an image processing function
US8965057B2 (en) * 2012-03-02 2015-02-24 Qualcomm Incorporated Scene structure-based self-pose estimation
JP5465299B2 (ja) * 2012-09-21 2014-04-09 キヤノン株式会社 情報処理装置、情報処理方法
US9418480B2 (en) * 2012-10-02 2016-08-16 Augmented Reailty Lab LLC Systems and methods for 3D pose estimation
KR20140108828A (ko) * 2013-02-28 2014-09-15 한국전자통신연구원 카메라 트래킹 장치 및 방법
US20140369557A1 (en) * 2013-06-14 2014-12-18 Qualcomm Incorporated Systems and Methods for Feature-Based Tracking
US9336440B2 (en) * 2013-11-25 2016-05-10 Qualcomm Incorporated Power efficient use of a depth sensor on a mobile device
CN104050475A (zh) * 2014-06-19 2014-09-17 樊晓东 基于图像特征匹配的增强现实的系统和方法
KR101666959B1 (ko) * 2015-03-25 2016-10-18 ㈜베이다스 카메라로부터 획득한 영상에 대한 자동보정기능을 구비한 영상처리장치 및 그 방법
JP6464934B2 (ja) * 2015-06-11 2019-02-06 富士通株式会社 カメラ姿勢推定装置、カメラ姿勢推定方法およびカメラ姿勢推定プログラム
US10129527B2 (en) * 2015-07-16 2018-11-13 Google Llc Camera pose estimation for mobile devices
CN105043392B (zh) * 2015-08-17 2018-03-02 中国人民解放军63920部队 一种飞行器位姿确定方法及装置
CN105069809B (zh) * 2015-08-31 2017-10-03 中国科学院自动化研究所 一种基于平面混合标识物的相机定位方法及系统
JP6602141B2 (ja) * 2015-10-05 2019-11-06 キヤノン株式会社 画像処理装置および方法
CN105261042A (zh) * 2015-10-19 2016-01-20 华为技术有限公司 光流估计的方法及装置
CN105512606B (zh) * 2015-11-24 2018-12-21 北京航空航天大学 基于ar模型功率谱的动态场景分类方法及装置
CN105869166B (zh) 2016-03-29 2018-07-10 北方工业大学 一种基于双目视觉的人体动作识别方法及系统
CN105953796A (zh) * 2016-05-23 2016-09-21 北京暴风魔镜科技有限公司 智能手机单目和imu融合的稳定运动跟踪方法和装置
CN109215077B (zh) * 2017-07-07 2022-12-06 腾讯科技(深圳)有限公司 一种相机姿态信息确定的方法及相关装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI812369B (zh) * 2021-07-28 2023-08-11 宏達國際電子股份有限公司 控制方法、追蹤系統以及非暫態電腦可讀取媒體

Also Published As

Publication number Publication date
KR102319207B1 (ko) 2021-10-28
KR20190127838A (ko) 2019-11-13
EP3579192A4 (en) 2020-11-25
WO2019007258A1 (zh) 2019-01-10
CN110517319B (zh) 2022-03-15
EP3579192A1 (en) 2019-12-11
JP2020509506A (ja) 2020-03-26
US20190244050A1 (en) 2019-08-08
CN109215077A (zh) 2019-01-15
US10963727B2 (en) 2021-03-30
US11605214B2 (en) 2023-03-14
CN110517319A (zh) 2019-11-29
CN109215077B (zh) 2022-12-06
TWI683259B (zh) 2020-01-21
JP6824433B2 (ja) 2021-02-03
EP3579192B1 (en) 2023-10-25
US20210174124A1 (en) 2021-06-10

Similar Documents

Publication Publication Date Title
TWI683259B (zh) 一種相機姿態資訊確定的方法及相關裝置
WO2019184889A1 (zh) 增强现实模型的调整方法、装置、存储介质和电子设备
CN108615248B (zh) 相机姿态追踪过程的重定位方法、装置、设备及存储介质
CN108648235B (zh) 相机姿态追踪过程的重定位方法、装置及存储介质
CN108682038B (zh) 位姿确定方法、装置及存储介质
CN110599549B (zh) 界面显示方法、装置及存储介质
WO2019233229A1 (zh) 一种图像融合方法、装置及存储介质
WO2020221012A1 (zh) 图像特征点的运动信息确定方法、任务执行方法和设备
CN108604379A (zh) 用于确定图像中的区域的系统及方法
CN110059652B (zh) 人脸图像处理方法、装置及存储介质
CN108776822B (zh) 目标区域检测方法、装置、终端及存储介质
CN111986250A (zh) 物体体积测量方法、装置、测量设备及存储介质
CN111556337B (zh) 一种媒体内容植入方法、模型训练方法以及相关装置
CN107516099B (zh) 一种标记图片检测的方法、装置及计算机可读存储介质
CN110941327A (zh) 虚拟对象的显示方法和装置
CN111258413A (zh) 虚拟对象的控制方法和装置
CN108829600B (zh) 算法库的测试方法、装置、存储介质和电子设备
CN113706446A (zh) 一种镜头检测方法和相关装置
CN114093020A (zh) 动作捕捉方法、装置、电子设备及存储介质
CN113849142B (zh) 图像展示方法、装置、电子设备及计算机可读存储介质
CN111981975B (zh) 物体体积测量方法、装置、测量设备及存储介质
CN110941974B (zh) 虚拟对象的控制方法和装置
US20220321798A1 (en) Shooting method, apparatus, and electronic device
CN113676718A (zh) 图像处理方法、移动终端及可读存储介质
CN113705309A (zh) 一种景别类型判断方法、装置、电子设备和存储介质