TWI760978B - 用於依據由一相機擷取之影像定位該相機之方法及相關之非暫時性電腦可讀儲存媒體與電腦系統 - Google Patents
用於依據由一相機擷取之影像定位該相機之方法及相關之非暫時性電腦可讀儲存媒體與電腦系統 Download PDFInfo
- Publication number
- TWI760978B TWI760978B TW109145174A TW109145174A TWI760978B TW I760978 B TWI760978 B TW I760978B TW 109145174 A TW109145174 A TW 109145174A TW 109145174 A TW109145174 A TW 109145174A TW I760978 B TWI760978 B TW I760978B
- Authority
- TW
- Taiwan
- Prior art keywords
- map
- line
- client device
- location
- camera
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 239000013598 vector Substances 0.000 claims description 30
- 230000009471 action Effects 0.000 claims description 4
- 230000000007 visual effect Effects 0.000 abstract description 2
- 238000013507 mapping Methods 0.000 description 24
- 238000013135 deep learning Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000003190 augmentative effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000012549 training Methods 0.000 description 6
- 230000004438 eyesight Effects 0.000 description 5
- 238000009795 derivation Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004807 localization Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000001404 mediated effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
Images
Classifications
-
- 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/216—Input arrangements for video game devices characterised by their sensors, purposes or types using geographical information, e.g. location of the game device or player using GPS
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/65—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3602—Input other than that of destination using image analysis, e.g. detection of road signs, lanes, buildings, real preceding vehicles using a camera
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3626—Details of the output of route guidance instructions
- G01C21/3635—Guidance using 3D or perspective road maps
- G01C21/3638—Guidance using 3D or perspective road maps including 3D objects and buildings
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3863—Structures of map data
- G01C21/3867—Geometry of map features, e.g. shape points, polygons or for simplified maps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/579—Depth or shape recovery from multiple images from motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local 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/443—Local 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/25—Output arrangements for video game devices
-
- 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
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Multimedia (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Geometry (AREA)
- Environmental & Geological Engineering (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
- Apparatus For Radiation Diagnosis (AREA)
Abstract
本文中描述用於判定一用戶端裝置之一位置之一系統及方法。特定而言,一用戶端裝置接收由該用戶端裝置處之一相機擷取之影像。該用戶端裝置識別該等影像中之特徵。該等特徵可係線接點、線、曲線或存在於影像中之任何其他特徵。該用戶端裝置自地圖資料庫檢索環境之一3D地圖且比較該等經識別特徵與該環境之該3D地圖,該3D地圖包含地圖特徵,諸如地圖線接點、地圖線、地圖曲線及諸如此類。該用戶端裝置識別自該等影像識別之該等特徵與該等地圖特徵之間的一對應性且基於該對應性判定該用戶端裝置在真實世界中之一位置。該用戶端裝置可顯示表示對應於該真實世界中之該位置的一虛擬世界中之一位置之視覺資料。
Description
本發明大體而言係關於3D地圖建立,且特定而言係關於使用3D線接點來判定一裝置之位置。
可提供平行於真實世界之至少一部分之一共享虛擬世界之一平行實境遊戲可代管(host)可吸引一玩家群體之各種互動。提供具有平行於真實世界之至少一部分之一地形之一虛擬世界會允許玩家藉由在真實世界中導航而在虛擬世界中導航。在玩遊戲期間,一玩家可在一手持式或可佩戴式裝置中觀看虛擬世界,該手持式或可佩戴式裝置使用電腦介導之實境技術來增加、減少或以其他方式更改玩家對其環境之視覺或聽覺感知。
然而,準確地更改玩家對環境之視覺感知通常涉及準確地知曉玩家在真實世界中之位置。此可係難以確定的,乃因傳統定位裝置並非係足夠準確的而無法在不具有一相當大之誤差範圍之情況下判定一玩家之位置。因此,用於判定一玩家在真實世界中之位置之經改良方法係合意的。
在基於位置之平行實境遊戲中,玩家藉由帶著一位置感知用戶端裝置(諸如一智慧型電話)在真實世界中移動而在一虛擬世界中導航。玩家在平行實境遊戲中使用之許多用戶端裝置可包含隨著玩家在玩平行實境遊戲時在真實世界中移動而追蹤玩家位置資訊之定位裝置。在各項實施例中,用戶端裝置使用由裝置上相機擷取之影像資料來判定玩家之位置,該等玩家位置可替代自定位裝置收集之玩家位置資訊來使用或用於補充自定位裝置收集之玩家位置資訊。用戶端裝置可產生擴增實境(AR)影像來基於經判定玩家位置覆疊於該影像資料上。
根據一項實施例,一AR平臺判定一相機在一平行實境遊戲之一環境中之位置。使用由該相機擷取之一或多個影像,該AR平臺識別線接點,該等線接點係該一或多個影像中之空間中之線相交之點。該AR平臺比較此等線接點與該環境之三維(3D)地圖以判定該等線接點是否對應於該3D地圖中之地圖線接點。基於由該AR平臺識別之一或多個對應性,該AR平臺判定該相機在該環境中之一位置。該AR平臺可產生一電腦介導之實境影像以供在與該相機相關聯之一用戶端裝置上顯示,該電腦介導之實境影像反映虛擬世界中之一位置,該位置對應於真實世界中之該經判定位置。
在額外或替代實施例中,該AR平臺可接收表示由該相機看到之環境之一接近即時視圖之一或多個影像及來自整合於用戶端裝置中之一地理位置/全球定位系統之一地理位置。該AR平臺估計在一特定時間點之一相機位置與該一或多個影像中之一或多個映射點之間的距離。基於該經估計距離,該AR平臺將該一或多個影像與位於該3D地圖中之一特定位置中之一電腦產生之影像覆疊。該電腦產生之影像在一玩家將該相機移動
至空間中之不同位置時保持定位於該特定位置中。
參考以下說明及隨附申請專利範圍可較佳地理解此等及其他特徵、態樣及優點。隨附圖式圖解說明特定實施例且與說明一起用於解釋各種原理。然而,圖式不應被視為係限制性的。而是,保護範疇應自申請專利範圍判定。
100:擴增實境運算系統/系統
102:用戶端裝置
104:網路
106:遊戲引擎
108:擴增實境平臺
110:複雜視覺模組/複雜電腦視覺模組
112:定位與地圖建立模組
114:地圖檢索模組
116:深度學習模組
118:擴增實境後端引擎
120:一個世界地圖建立模組
122:物件辨識模組
124:地圖資料庫
126:物件資料庫
128:深度學習訓練模組/深度學習模組
200:平面
210:相機空間
220:世界空間
302:步驟
304:步驟
306:步驟
308:步驟
310:步驟
312:步驟
314:步驟
316:步驟
318:步驟
320:雲端地圖儲存
322:物件資料庫
324:雲端環境推斷
326:儲存地圖
328:建立新地圖
400:真實世界
410:虛擬世界/平行虛擬世界
412:位置
414:位置
422:對應位置
424:對應位置
430:虛擬元素
432:虛擬項目
440:地標/地理位置/物件/真實世界地標或物件
450:虛擬能量
500:處理程序
510:步驟
520:步驟
530:步驟
540:步驟
550:步驟
600:電腦/電腦系統
602:處理器
604:晶片組
606:記憶體
608:儲存裝置
610:鍵盤
612:圖形配接器
614:指標裝置
616:網路配接器
618:顯示器
620:記憶體控制器集線器
622:輸入/輸出控制器集線器
D1:方向向量/接點方向
D2:方向向量/接點方向
L1:相交線/線
L2:相交線/線
li1:線/線1
li2:線
Oi:相機中心
P:點
Pi:點
Q:點/接點
圖1係根據一項實施例之一AR運算系統100之一方塊圖。
圖2A繪示根據一項實施例之一線接點。
圖2B繪示根據一項實施例之一線接點處之相交線。
圖2C繪示根據一項實施例之2D及3D中之一線接點之一圖示。
圖3係圖解說明根據一項實施例之可由圖1之運算系統執行以用於產生及顯示經擴增實境資料之處理程序的一流程圖。
圖4繪示根據一項實施例之平行於可充當一基於位置之平行實境遊戲之玩家之遊戲台之真實世界的一虛擬世界之一概念圖。
圖5係圖解說明根據一項實施例之用於判定一相機在一環境中之一位置之一處理程序的一流程圖。
圖6係圖解說明根據一項實施例之適合於在圖1之經網路連線運算環境中使用之一實例電腦系統之一方塊圖。
相關申請案之交叉參考
本申請案主張2019年12月20日提出申請之美國臨時申請案第62/952,016號之權益,該美國臨時申請案係以全文引用方式併入。
一系統及方法判定一用戶端裝置在一環境中之一位置且使得一使用者能夠經由該用戶端裝置基於該位置而與真實世界互動。此外,該系統可建立該環境之三維(3D)地圖(例如,具有一公分之一解析度)以用於判定該用戶端裝置之該位置。在各項實施例中,映射係在用戶端側(例如,一電話或耳機)上完成且與一後端伺服器配對,該後端伺服器將先前編譯之影像及映射提供回至用戶端裝置。
在一項實施例中,該系統使用一或多個模型來基於由一相機擷取之一或多個影像評定該相機(例如,在一用戶端裝置上)之位置。使用一或多個模型涉及該系統偵測一或多個影像內之線接點且在3D與2D空間之間投影該等線接點以判定其是否對應於來自相機周圍之環境之一3D地圖之地圖線接點。基於該等線接點與地圖線接點之間的對應性,該系統可對該相機在空間中之位置進行三角剖分。使用此位置,該系統可擴增一平行實境遊戲之一或多個影像,使得使用用戶端裝置的該遊戲之一玩家可看到虛擬世界中之虛擬元素或其他虛擬資訊,該等虛擬元素或其他虛擬資訊對應於其在真實世界中之位置。
實例系統
圖1係根據一項實施例之一AR運算系統100之一方塊圖。AR運算系統100包含與經由一網路104存取之元件合作之一用戶端裝置102。舉例而言,該等元件可係經組態以產生AR資料之一伺服器裝置之組件。在所展示之實施例中,用戶端裝置102包含一遊戲引擎106及一AR平臺108。遊戲引擎106再現一平行實境遊戲以供用戶端裝置102之一使用者來玩。該遊戲引擎可係UNITY®遊戲引擎或另一物理/再現引擎。AR平臺108可對由用戶端裝置102之一相機擷取之影像資料執行分段及物件辨
識。
圖1中所展示之AR平臺108包含一複雜視覺模組110、一定位與地圖建立模組112、一地圖檢索模組114及一深度學習模組116。在其他實施例中,AR平臺可包含替代或額外模組,諸如一訓練模組或一物件辨識模組。此外,在某些實施例中,AR平臺可與該等元件一起位於伺服器裝置處且經由網路104存取,或該等元件可位於AR平臺108處。
複雜電腦視覺模組110執行用戶端側影像處理。此影像處理可包含影像分段、局部3D估計及諸如此類。在某些實施例中,複雜電腦視覺模組110可將影像轉換為點雲或處理影像以將影像中所描述之特徵添加至用戶端裝置102周圍之一環境之一3D地圖。
定位與地圖建立模組112將用戶端裝置102周圍之環境建立地圖且判定用戶端裝置102在該環境中之位置。定位與地圖建立模組112可使用複數種方法中之一或多者來將環境建立地圖且判定用戶端裝置102之位置。
定位與地圖建立模組112自用戶端裝置102之一相機接收一或多個影像(或其他影像資料,諸如視訊)。在某些實施例中,定位與地圖建立模組112接收由用戶端裝置102擷取之其他感測器資料(例如,照明資料、影像資料及/或GPS座標),定位與地圖建立模組112可使用該等資料來判定用戶端裝置102之一位置。定位與地圖建立模組112可在用戶端裝置102在環境中到處移動時即時地接收影像(及感測器資料)。
定位與地圖建立模組112基於所接收影像判定用戶端裝置102在環境中之一位置。在某些實施例中,定位與地圖建立模組112自位於用戶端裝置102處之一全球定位系統接收用戶端裝置102在真實世界中
之GPS座標。定位與地圖建立模組112可使用此等GPS座標來表示用戶端裝置102之位置或可將此等GPS座標用作用戶端裝置102之一大體位置之參考且使用一或多個其他模型或系統判定用戶端裝置102之一更準確位置。
在某些實施例中,定位與地圖建立模組112使用同時定位與地圖建立(SLAM)軟體開發套件(SDK)功能來產生環境之一地圖。特定而言,SLAM SDK功能可包含基於影像或其他影像資料構建點雲之一地圖建立系統,該等點雲用於形成環境之一地圖。定位與地圖建立模組112可在本端儲存地圖或可將地圖儲存於地圖資料庫124中。基於地圖,定位與地圖建立模組112可使用追蹤來尋找用戶端裝置102在空間中之位置。定位與地圖建立模組112進一步使用SLAM處理程序來將一或多個動畫或一擴增值再投影至影像上以供顯示給用戶端裝置之一使用者。舉例而言,基於用戶端裝置之位置,定位與地圖建立模組112可將來自虛擬世界之一或多個虛擬元素或其他資訊添加至使用者之影像來觀看。關於圖4描述虛擬元素及諸如此類。
在其他實施例中,定位與地圖建立模組112具有可用於判定用戶端裝置102之位置之多個模型。此等模型可包含一基於點雲之模型(例如,藉由SLAM提供)、一平面匹配模型、一線匹配模型、一地理資訊系統(GIS)模型、一建築物辨識模型,及一景觀辨識模型。定位與地圖建立模組112可基於由用戶端裝置102擷取之感測器資料選擇該等模型中之一或多者來用於進行定位。舉例而言,平面及線匹配模型可在戶內係最準確的,而景觀及建築物模型可在戶外係最準確的。因此,用戶端裝置102可基於感測器資料判定用戶端裝置102係在戶內還是戶外且選擇最有效模型來進行定位。
在一項例示性實施例中,定位與地圖建立模組112將一線接點模型應用於影像以對用戶端裝置102進行定位。特定而言,線接點模型識別一或多個影像中之一或多個線接點。線接點係空間中之兩個或更多個線相遇處之點,如影像中所繪示。舉例而言,一桌子之正面之一影像可在邊緣(例如,線)相遇處的桌子上之每一拐角處呈現線接點。在某些實施例中,線接點模型可識別影像中之其他特徵,諸如曲線。
線接點模型存取環境之一3D地圖。3D地圖可在本端儲存在用戶端裝置處或儲存在經由網路104存取之地圖資料庫124處。3D地圖可含有係已在3D地圖中識別之線接點之地圖線接點或其他特徵,諸如線及曲線。另一選擇係,地圖檢索模組114可為線接點模型存取3D地圖且將3D地圖輸入至線接點模型。
線接點模型比較經識別線接點(或在某些情形中,特徵)與3D地圖以找出對應線接點(或特徵)。基於由線接點模型找出之對應性,線接點模型判定用戶端裝置102在環境中之一位置。關於圖2A至圖2C進一步描述由線接點模型使用來判定用戶端裝置102之位置之處理程序。
在一項實施例中,為了選擇一或多個模型,定位與地圖建立模組112為每一模型指派指示模型將產生用戶端裝置102之一準確位置之可能性之一得分。該等得分可基於由感測器資料指示的用戶端裝置102之一當前情境來判定。定位與地圖建立模組112基於該等得分及一組選擇準則來選擇一或多個模型以用於進行定位。舉例而言,用戶端裝置102可選擇具有最高得分之模型、三個最高得分模型或具有高於一臨限值之一得分之所有模型。
另外或另一選擇係,定位與地圖建立模組112可基於先前在
類似位置中選擇了哪些模型而選擇一或多個模型。舉例而言,若用戶端裝置102之GPS座標在其中先前成功地使用了平面匹配模型之GPS座標之一臨限值內,則定位與地圖建立模組112可提升平面匹配模型之得分或選擇平面匹配模組,除非另一模型之得分比平面匹配模型之得分超出一臨限量。類似地,若先前選擇了一特定模型且其未能提供一準確位置,則定位與地圖建立模組112可減小彼模型之得分。因此,模型在類似GPS座標處之成功及失敗可用於告知定位與地圖建立模組112選擇哪一模型或哪些模型來判定比GPS座標所提供的更精確之一位置(例如,達到在一公分內)。
以一類似方式,定位與地圖建立模組112可考量在感測器資料指示與用戶端裝置102之當前位置類似之位置處模型之成功及失敗。舉例而言,定位與地圖建立模組112可將位置分類為戶內及戶外且基於感測器資料指示用戶端裝置102當前是在戶內還是戶外而排除或選擇某些模型(或者增加或減小其對應得分)。類似地,定位與地圖建立模組112可基於照明位準選擇一或多個模型(例如,一個模型可在低光條件下相對於其他模型尤其有效,且因此若由用戶端裝置102偵測之照明位準低於一臨限值,則該一個模型優先被選擇)。熟習此項技術者將認識到經收集資料可用於影響哪一模型或哪些模型被選擇來偏袒對最可能在當前條件下產生一準確結果之彼等模型之選擇的其他方式。
定位與地圖建立模組112可應用經選擇模型或若干經選擇模型以產生用戶端裝置102之潛在位置。在其中僅選擇一單個模型之情形中,定位與地圖建立模組112可使用所產生位置作為用戶端裝置102之實際位置。然而,在GPS座標可用之情況下,若使用模型判定之位置與GPS座標相差超過一臨限量,則定位與地圖建立模組112可應用額外模型或以
其他方式尋求驗證當前位置。
在選擇多於一個模型之情況下,每一模型可產生用戶端裝置102之一潛在位置。定位與地圖建立模組112基於該等潛在位置判定用戶端裝置102之一當前位置。在一項實施例中,定位與地圖建立模組112將當前位置計算為藉由模型產生之位置之平均數。在另一實施例中,定位與地圖建立模組112使用潛在位置之一經加權平均值。舉例而言,定位與地圖建立模組112可藉由來自模型選擇階段之模型得分將每一模型之貢獻加權。另一選擇係,定位與地圖建立模組112可預設定權重以相比於其他模型偏袒某些模型。在其他實施例中,定位與地圖建立模組112可以其他方式組合潛在位置,諸如採取最接近地匹配裝置之GPS座標之位置。
在某些實施例中,一旦定位與地圖建立模組112已判定用戶端裝置102之一位置,定位與地圖建立模組112便檢索描述虛擬世界之AR資料以添加至將在用戶端裝置102處呈現之一或多個影像。例如,定位與地圖建立模組112可存取一地圖資料庫124(在本端儲存或儲存在經由網路104存取之一伺服器裝置處)以檢索一或多個來自虛擬世界之虛擬元素或其他資訊以添加至該等影像。關於圖4描述虛擬元素及諸如此類。
地圖檢索模組114檢索先前產生之地圖。例如,地圖檢索模組114可經由網路104存取一地圖資料庫124且將自地圖資料庫檢索之資訊發送至用戶端裝置102之一或多個其他模組,諸如定位與地圖建立模組112。在某些實施例中,地圖檢索模組114可在本端儲存某些地圖(例如,一使用者之家位置之一地圖)。深度學習模組116應用機器學習型演算法來進行物件辨識。深度學習模組116可在經由網路104進行訓練之後獲得機器學習型演算法。在某些實施例中,深度學習模組116亦可提供物件辨識
之結果及/或使用者回饋以使得能夠進行進一步模型訓練。
在所展示之實施例中,經由網路104存取之組件(例如,在一伺服器運算裝置處)包含與一個世界地圖建立模組120、一物件辨識模組122、一地圖資料庫124、一物件資料庫126及一深度學習訓練模組128進行通信之一AR後端引擎118。在其他實施例中,可包含額外或不同組件。此外,功能性可以不同於本文中所描述之方式分散。舉例而言,物件辨識功能性中之某些及所有可在用戶端裝置102處執行。
一個世界地圖建立模組120將不同局部地圖融合在一起以建立一複合真實世界地圖。如先前所述,可使用來自最初產生地圖之用戶端裝置102之GPS位置資料來識別可能毗鄰或重疊之局部地圖。然後可使用圖案匹配來識別地圖之重疊部分或識別出兩個局部地圖彼此毗鄰(例如,因其包含同一物件之相對側之表示)。若判定兩個局部地圖係重疊或毗鄰,則可儲存(例如,在地圖資料庫中)指示兩個地圖如何彼此相關之一映射。
物件辨識模組122使用影像/物件資訊及經收集3D資料來識別在資料中表示之在真實世界中之特徵。以此方式,伺服器裝置判定一椅子(舉例而言)係在一3D位置處且存取與該位置相關聯之一物件資料庫126。深度學習模組128可用於融合地圖資訊與物件資訊。以此方式,系統100可連接3D資訊以進行物件辨識且融合回成一地圖。
地圖資料庫124包含經組態以儲存由用戶端裝置102產生之地圖資料之一或多個電腦可讀媒體。該地圖資料可包含與由用戶端裝置102在一位置處收集之影像及其他感測器資料相關聯地儲存之3D點雲之局部地圖。該地圖資料亦可包含指示不同局部地圖之間的地理關係之映射資
訊。類似地,物件資料庫126包含經組態以儲存關於經辨識物件之資訊之一或多個電腦可讀媒體。舉例而言,物件資料庫126可包含已知物件(例如,椅子、桌子、樹、建築物等)與對應位置以及彼等物件之性質之一清單。該等性質可係物件類型泛用的或針對物件之每一例項具體定義的(例如,所有椅子可被視為家具但每一椅子之位置係個別定義的)。儘管地圖資料庫124及物件資料庫126被展示為單個實體,但其可跨越多個裝置處之多個儲存媒體來分散(例如,作為一分散式資料庫)。
實例線接點模型
定位與地圖建立模組112可基於其擷取之一或多個影像採用使用一3D地圖來定位一用戶端裝置102之一線接點模型。以下段落解釋如何定義及在數學上應用該模型之一項實施例。
1.將3D接點參數化
圖2A繪示根據一項實施例之一3D線接點之一實例。該線接點包括點Q及方向向量(或者在某些實施例中,線或線段)D 1及D 2。每一方向向量係具有一長度1之一單位向量。每一3D線接點具有七個自由度:點Q之三個自由度表示其在3D空間中之位置,且每一方向向量(D 1及D 2)由於其係單位向量而有兩個自由度。
為了避免受約束之最佳化,線接點模型將兩個方向向量參數化為如下,其中X、Y及Z表示方向向量在3D空間中之座標,θ表示與+Z軸之角度增大所沿之方向,且α表示X-Y平面中之角度自+Z軸沿逆時針方向增大所沿之方向:D 1=(X 1,Y 1,Z1)=(cosθ 1 cosα 1,cosθ 1 sinα 1,sinθ 1)。
D 2=(X 2,Y 2,Z2)=(cosθ 2 cosα 2,cosθ 2 sinα 2,sinθ 2)。
由於一單位向量之範數係1,則
(cosθcosα)2+(cosθsinα)2+(sinθ)2=cos 2 θ(cos 2 α+sin 2 α)+sin 2 θ=ωs 2 θ+sin 2 θ=1…(1)
因此,線接點模型可將3D線接點參數化為一7向量(θ x ,θ y ,θ z,θ 1,α 1,θ 2,α 2)。
2.將3D接點投影至2D空間
線接點模型將3D線接點投影至2D空間中以得到兩個相交線(L 1 及L 2 ),如圖2B中所展示。特定而言,使用點Q、一個方向向量D 1 及相機位姿(R,T),將2D線函數定位為線上之兩個相異點(P 1 及P 2 )之交叉乘積,從而導致以下方程式:P 1∧P 2~(RQ+T)∧(R(Q+D 1)T)~(RQ+T)∧(RQ+T+RD 1)~(RQ+T)∧(RQ+T)+(RQ+T)∧(RD 1)~(RQ+T)∧(RD 1)~R(Q∧D 1)+T∧RD 1~(RQ x +T x R)D 1...(2)
其中P 1 、P 2 係線上之兩個點,∧係交叉乘積,且Q x 、T x 係向量Q及T之斜對稱矩陣。
因此,方向向量D1之2D投影係(RQ x +T x R)D 1。線接點模型可使用相同處理程序來導出方向向量D 2 之2D投影。
3.再投影誤差
線接點模型判定一或多個影像中之關鍵線以判定在自3D線接點建立2D投影時之一誤差。關鍵線係將影像內之不同色彩之區分開之
邊界線。由於2D投影係一線函數,因此線接點模型可比較自一經偵測關鍵線之兩個端點之點至線距離。若將兩個關鍵線上之四個端點分別表示為u、v、x及y,則線接點模型可針對每一者判定距離。以u作為一實例,該
距離係,其中L=(A,B,C)係一2D線投影之2D線方程式且d 2=A 2+B 2。
L=(RQ x -T x R)D…(3)
4.最佳化設置
為了將2D投影之設置最佳化,線接點模型必須解決一不受約束之最小化問題以判定用戶端裝置102(例如,相機)在環境中之位置。由於非線性,在一項實施例中,線接點模型使用一列文伯格-馬誇爾特(Levenberg-Marquardt)(或「LM」)解算器。一大體更新步長係如下:△P=-(J T J+λI)-1 J t r
其中J係再投影誤差之亞可比式(Jacobian),r係殘差,且λ係一req項。
一或多個影像包含複數個地標(例如,線接點、點雲、線
等),且由於在一典型影像中存在大量地標,因此線接點模型可使用一交替方向方法來將設置最佳化。此使得線接點模型能夠在使所有其他變數保持固定之同時一次運算一影像之一個地標或圖框之一步長。此方法之一優點係亞可比矩陣具有一相對小的大小,此導致線接點模型之較快速運算。
在一項實施例中,在線接點模型之前用於最佳化之管線可概括為如下:在未收斂時:針對每一地標:運算LM步長更新地標針對每一圖框:運算LM步長更新圖框。
線接點模型使用此處理程序來最佳化且運算每一變數之亞可比式,如下文所描述。關於線接點模型描述了此等導出,但在某些實施例中,線接點模型可能不會在其每次被應用時完成此等導出或者線接點模型可僅使用所得方程式來判定用戶端裝置102之一位置而非自身完成該等導出。
5.亞可比式-3D接點-接點Q
因此,使用此等方程式,線接點模型可解算亞可比式之第一列J k 且類似地解算其他列。
6.亞可比式-3D接點-接點方向D
1
、D
2
線接點模型運算D 1 及D 2 之亞可比式。由於D 2 之導出係實質上相同的,因此使用D 1 作為一實例,線接點模型開始於殘差及亞可比式維度,如上文在章節5中所描述。殘差等同於方程式(6),而亞可比式係:
7.亞可比式-R、T
接點三角剖分
使用上文導出之方程式,在給出一或多個影像之情況下,線接點模型可判定一相機(例如,用戶端裝置102)在一環境中之一位姿(位置及定向)。在一項實施例中,線接點模型使用一3D地圖來判定3D地圖內之端點,該等端點被用作3D線接點之頂點。線接點模型使用一經預測位姿將該等端點自3D投影至2D以判定在該一或多個影像中是否反映了該等端點。由於在投影時存在誤差,因此線接點模型運算再投影誤差且針對該
一或多個影像更新相機之經預測位姿或若干經預測位姿以減小再投影誤差。藉由針對多個迭代使相機位姿變化,線接點模型可收斂其對相機之位姿之估計,直至經計算誤差低於一臨限值為止。線接點模型使用此經判定位置作為相機在環境中之位置。
其中M i 具有形式,且Pi具有形式,且在每一圖框上,存在由兩個2D線方程式及兩個線相遇處之一個相交點(類似於圖2A之Q或圖2B之P)組成之一2D線接點J i =(l i1 ,l i2 ,P i )。
注意,一2D線之方程式係藉由連接相機之中心與線之兩個端點而橫跨的2D線在3D空間中之法向向量。藉由假設所有相機已進行校準,線接點模型可利用相機座標來工作。舉例而言,J i -(l i1 ,l 12 ,P i )皆在一相機座標系統中。
在給出一線接點之K個對應性之情況下,線接點模型之目標係將該等對應性三角剖分至3D空間中以獲得一3D線接點。線接點模型可使用任何適當3D點三角剖分方法(例如,使用2D及3D接點)。在一項實施例上,一3D線接點可定義為J-(L 1 ,L 2 ,P),其中L 1 、L 2 係指示兩個方向之兩個單位向量,且P係兩個3D線在3D空間中相遇之接點。
不同於兩個2D線,兩個3D線可不相交,無論其是否不平行。然而,在一項實施例中,線接點模型強加彼兩個3D線相交之約束,從而使得線接點模型能夠使用兩個方向向量及一個點來表示一3D線接
點。由於兩個方向向量係如先前所描述之單位向量,因此此表示具有7個自由度。此由圖2C表示,圖2C繪示一相機空間210中具有點P i 以及線l i1 及l i2 之一2D線接點與一世界空間220中具有點P以及線L 1 及L 2 之一3D線接點之關係。線接點模型或定位與地圖建立模組112可藉由將一或多個影像投影至頂點(點)與邊緣(線)之一圖形中而建立類似於圖2C之環境之一表示且使用該表示來識別線接點。
自3D至2D
圖2C繪示一3D線接點如何與2D線接點相關。一相機中心O i 、一影像之一圖框上之一2D線接點之一點P i 及線1(l i1 )上之任一點給出用戶端裝置102之相機之相機空間210中之一平面200。平面200之法向向量係線1(l i1 )之方程式。
藉由{O i ,P i ,q i }橫跨之平面上之表示為x i 之任一點滿足:l i1 T x i =0 (2)
類似地,針對藉由{O i ,P i ,S i }橫跨之平面上之任一點y i P i2 T y i =0。 (2)
注意,方向向量亦表示此平面上之一點,但其係在世界空間220而非相機空間210中。為了將一圖框i上之L 1 帶入相機210空間,線接點模型使用以下變換。
q i =R i L 1+t i
此對所有圖框i=1,...,K皆適用。
點P可使用以下方程式自世界220空間轉移至相機空間210:P i =R i P+t i (5)
自2D至3D
(4)及(6)給出方程式來依據2D接點對應性解算一3D接點。
令L 1 係與最小奇異值相關聯之一奇異向量且對L2進行相同運算。
線接點模型可使用上文所描述之處理程序來在相機(例如,用戶端裝置102)在環境中到處移動時多次計算相機之位置且擷取更多影像。
實例資料流
圖3係展示根據一項實施例之由一用戶端裝置102及一伺服器裝置執行以產生且顯示AR資料之處理程序之一流程圖。用戶端裝置102及伺服器裝置(統稱為「裝置」)可類似於圖1中所展示之彼等用戶端裝置及伺服器裝置,其中伺服器裝置由藉由網路104連接至用戶端裝置102之元件表示。虛線表示用戶端裝置102與伺服器裝置之間的資料傳遞,而實線指示該等裝置中之一者內之資料傳遞。在其他實施例中,功能性可在該等裝置之間以不同方式分散及/或可使用不同裝置。
在302處,在用戶端裝置102處由用戶端裝置102上之一或多個感測器收集感測器資料。在一項實施例中,該感測器資料包含影像及慣性量測資訊。該等影像係由一或多個相機擷取。該慣性量測資訊可使用用戶端裝置102上之一全球定位系統(例如,GPS)及陀螺儀/加速度計模組來收集。可收集額外感測器資料,諸如壓力位準、照明位準、聲音位準、音訊資料等。
用戶端裝置102可在304處維持一局部地圖儲存。該局部地圖儲存可含於圖1中所展示之定位與地圖建立模組112中或用戶端裝置102處之另一位置中。該局部地圖儲存包含局部點雲資料。點雲資料包括空間中形成一網格表面之位置,該網格表面可被構建成一或多個環境之3D地圖,該等3D地圖亦可儲存於該局部地圖儲存處。
若在306處將一地圖初始化,則用戶端裝置102可在308處起始定位與地圖建立模組112處之SLAM功能。SLAM功能包含一地圖建立系統,該地圖建立系統構建點雲且使用追蹤來找出相機(例如,在用戶端裝置102上)在空間中之位置。該實例之SLAM處理程序進一步將動畫或一擴增值再投影回至真實世界中。若無可在304處儲存於局部地圖儲存處之地圖位於310處,則用戶端裝置102使用一初始化模組來在312處建立地圖。
在於314處偵測到環境中之一新穎視點之情況下(例如,若將一拐角變成未建立地圖/成像之一區或在存在一重疊且真實世界之當前可見部分並未全部建立地圖/成像之情況下),則用戶端裝置102可在316處記錄藉由用戶端裝置102處之一局部環境推斷而搜集之資料。舉例而言,在判定用戶端裝置102當前具有一新穎視點時,可將由相機利用彼視點攜取之影像發送至伺服器裝置。局部環境推斷可用於判定何時及如何在用戶端裝置102與伺服器裝置之間傳遞具有3D資料之影像。局部環境推斷可包含局部地圖建立系統(例如,定位與地圖建立模組112)之經更新關鍵圖框及序列化影像及/或地圖資料。
在伺服器側上,在由伺服器裝置執行動作之情況下,可在318處將新穎視點資料(例如,包括首要地具有網格資料之點雲資訊)儲存在雲端地圖儲存320中。若雲端地圖儲存320並未儲存地圖326,則伺服器裝置可建立新地圖328以儲存在雲端地圖儲存320中。伺服器裝置可自所儲存雲端地圖儲存320及一物件資料庫322添加一真實世界地圖之不同部分。可將雲端環境推斷324(包括由用戶端裝置102擷取且由伺服器裝置處理之所添加資料)發送回至用戶端裝置102。所添加資料可包含將在304處
儲存在局部地圖儲存處之點及網格以及具有語義標籤(例如,一牆或一床)之物件資料。
虛擬世界之概念圖
圖4繪示根據一項實施例之平行於可充當一基於位置之平行實境遊戲之玩家之遊戲台之真實世界400的一虛擬世界410之一概念圖。圖1之用戶端裝置102可代管具有對應於真實世界400之一虛擬世界410(如圖4中所展示)之一平行實境遊戲(或其他基於位置之遊戲)。
如所圖解說明,虛擬世界410可包含平行於真實世界400之地形之一地形。特定而言,定義真實世界400中之一地理區或空間之一座標範圍映射至定義虛擬世界410中之一虛擬空間之一對應座標範圍。真實世界400中之座標範圍可與一城鎮、鄰裡、城市、校園、地區、一國家、大陸、整個地球或其他地理區相關聯。該地理座標範圍中之每一地理座標映射至虛擬世界中之一虛擬空間中之一對應座標。
一玩家在虛擬世界410中之位置對應於玩家在真實世界400中之位置。例如,位於真實世界400中之位置412處之玩家A具有虛擬世界410中之一對應位置422。類似地,位於真實世界中之位置414處之玩家B具有虛擬世界中之一對應位置424。當玩家在真實世界400中之一地理座標範圍中到處移動時,該等玩家亦在定義虛擬世界410中之虛擬空間之座標範圍中到處移動。特定而言,與一玩家攜帶之用戶端裝置102相關聯之一定位系統(例如,一GPS系統或由定位與地圖建立模組112使用之其他系統)可用於在玩家在真實世界中之地理座標範圍中導航時追蹤玩家之位置。與玩家在真實世界400中之位置相關聯之資料用於更新玩家在定義虛擬世界410中之虛擬空間之對應座標範圍中之位置。以此方式,玩家可藉
由簡單地在真實世界400中之對應地理座標範圍當中行進而在定義虛擬世界410中之虛擬空間之座標範圍中導航一連續軌跡,而不必須簽入或週期性地更新真實世界400中之特定離散位置處之位置資訊。
平行實境遊戲可包含需要玩家行進至散佈在虛擬世界410中之各種虛擬位置處之各種虛擬元素及/或虛擬物件及/或與其互動之複數個遊戲目標。一玩家可藉由行進至虛擬元素或物件在真實世界400中之對應位置而行進至此等虛擬位置。例如,用戶端裝置102之一定位系統可連續地追蹤玩家之位置,使得在玩家在真實世界400中連續地導航時,玩家亦在平行虛擬世界410中連續地導航。玩家可然後與特定位置處之各種虛擬元素及/或物件互動以達成或執行一或多個遊戲目標。
舉例而言,參考圖4,一遊戲目標可需要玩家攜取位於虛擬世界410中之各種虛擬位置處之虛擬元素430或宣告對虛擬元素430之所有權。此等虛擬元素430可連結至真實世界400中之地標、地理位置或物件440。真實世界地標或物件440可係藝術品、紀念館、建築物、企業、圖書管、博物館或其他適合真實世界地標或物件。為了攜取此等虛擬元素430,一玩家必須行進至真實世界中之連結至虛擬元素430之地標、地理位置或物件440且必須執行與虛擬世界410中之虛擬元素430之任何必要互動。舉例而言,圖4之玩家A將必須行進至真實世界400中之一地標440以便經由用戶端裝置102與和彼特定地標440連結之一虛擬元素430互動或攜取該虛擬元素。與虛擬元素430之互動可需要真實世界400中之動作,諸如拍攝一照片及/或驗證、獲得或攜取關於與虛擬元素430相關聯之地標或物件440之其他資訊。
遊戲目標可需要玩家使用玩家在平行實境遊戲中收集之一
或多個虛擬項目。例如,玩家可必須在虛擬世界410行進以尋找可有用於完成遊戲目標之虛擬項目(例如武器或其他項目)。此等虛擬項目可藉由行進至真實世界400中之不同位置或藉由完成虛擬世界410或真實世界400中之各種動作而被找到或收集。在圖4中所展示之實例中,一玩家使用虛擬項目432來攜取一或多個虛擬元素430。特定而言,一玩家可將虛擬項目432部署在虛擬世界410中接近於虛擬元素430之位置處。將一或多個虛擬項目432部署在接近於一虛擬元素430處可導致特定玩家或特定玩家之團隊/幫派攜取虛擬元素430。
在一項特定實施方案中,作為平行實境遊戲之部分,一玩家可必須搜集虛擬能量。如圖4中所繪示,虛擬能量450可散佈在虛擬世界410中之不同位置處。一玩家可藉由行進至虛擬能量450在現實世界400中之對應位置而收集虛擬能量450。虛擬能量450可用於為虛擬項目提供動力及/或執行平行實境遊戲中之各種遊戲目標。失去所有虛擬能量450之一玩家可與平行實境遊戲斷開連接。
根據本發明之態樣,平行實境遊戲可係其中平行實境遊戲中之每一參與者共享同一虛擬世界之一大型多玩家基於位置之遊戲。玩家可劃分成單獨團隊或幫派且可一起工作以達成一或多個遊戲目標,諸如攜取一虛擬元素430或宣告對一虛擬元素430之所有權。以此方式,平行實境遊戲可本質上係鼓勵玩家之間在平行實境遊戲內協作之一社交遊戲。來自對立團隊之玩家可在平行實境遊戲期間彼此對抗地工作。一玩家可使用虛擬項目432來攻擊或阻礙對立團隊之玩家之前進。
平行實境遊戲可具有各種特徵來增強及鼓勵平行實境遊戲內之遊戲玩法。例如,玩家可累積一虛擬貨幣或可遍及平行實境遊戲使用
之其他虛擬報酬。隨著玩家完成一或多個遊戲目標且在平行實境遊戲內獲得經驗,玩家可前進至各種等級。玩家可透過在平行實境遊戲中提供之一或多個通信介面而彼此通信。玩家亦可獲得可用於完成平行實境遊戲內之遊戲目標之經增強「動力」或虛擬項目432。使用本文中所提供之揭示內容,熟習此項技術者應理解,平行實境遊戲可包含各種其他遊戲特徵,此並不背離本發明之範疇。
實例方法
圖5係圖解說明根據一項實施例用於判定一相機在一環境中之一位置之一處理程序(或「方法」)之一流程圖。圖5之步驟係自一用戶端裝置102執行處理程序500之角度圖解說明的。然而,該等步驟中之某些或所有步驟可藉由其他實體或組件(諸如藉由一伺服器裝置)執行。另外,某些實施例可並行地執行該等步驟、以不同次序執行該等步驟,或執行不同步驟。
在圖5中所展示之實施例中,處理程序500開始於用戶端裝置102接收510由用戶端裝置102之一相機擷取之影像。在某些實施例中,用戶端裝置102可接收額外感測器資料,包含視訊、音訊、光位準、聲音位準、慣性資料、定向、壓力,及/或來自感測器之任何其他可用資料。用戶端裝置102識別520該等影像中之特徵。該等特徵可係線接點、線、曲線,或存在於該等影像中之任何其他特徵。
用戶端裝置102自地圖資料庫124檢索環境之一3D地圖。該3D地圖可能已由一用戶端裝置102或伺服器裝置使用由一或多個相機擷取之環境之影像資料及在擷取影像資料時一或多個相機之相對位置而建立。用戶端裝置102比較530經識別特徵與環境之3D地圖,該3D地圖包含地圖
特徵,諸如地圖線接點、地圖線、地圖曲線及諸如此類。用戶端裝置102識別540自影像識別520之特徵與地圖特徵之間的一對應性。在某些實施例中,用戶端裝置102可將圖案匹配應用於經識別520特徵及3D地圖以判定經識別520特徵與3D地圖是否重疊或毗鄰(例如,對應)。用戶端裝置102基於對應性判定550用戶端裝置102之一位置。該位置可係一真實世界位置,該真實世界位置對應於一平行實境遊戲之一虛擬世界中之一位置。若在一伺服器裝置處判定該位置,則該伺服器裝置可將虛擬世界中之該位置之一視圖發送至用戶端裝置102以供一玩家經由一顯示器來觀看。
在某些實施例中,用戶端裝置102可選擇且應用其他定位模型來產生用戶端裝置102之潛在位置。例如,每一模型可輸出一潛在位置。該等潛在位置可係基於一局部地圖內之一座標系統而定義的(例如,基於用戶端裝置102之GPS座標而選擇的)。舉例而言,GPS座標可指示用戶端裝置102可能在一建築物內之某處,因此使用彼建築物之一局部地圖。用戶端裝置102可比較經判定550位置與潛在位置以判定用戶端裝置102在一建築物內之一更準確位置(例如,旨在一公分之一精確度)。在某些實施例中,用戶端裝置102可基於潛在位置更改經判定550位置或可組合經判定550位置與潛在位置以產生用戶端裝置102之一新位置。此外,可使用一平均值、經加權組合或其他適合技術來自經判定550位置及潛在位置產生一新位置。
此外,用戶端裝置102可基於感測器資料檢查經判定550位置之可行性。例如,用戶端裝置102可判定經判定550位置是否在由GPS座標指示之位置之一臨限距離內,判定影像中之經偵測照明位準與經判定550位置之預期一致,判定由用戶端裝置102擷取之影像與在類似位置處
擷取之其他影像一致,及諸如此類。
在某些實施例中,用戶端裝置102可自一平行實境遊戲中之連接至用戶端裝置102之一額外用戶端裝置接收一或多個額外影像。該等額外影像可展示環境中之用戶端裝置102,且用戶端裝置102可使用此等額外影像來判定用戶端裝置之位置。
運算機器架構
圖6係圖解說明適合於用作一用戶端裝置102或一伺服器之一實例電腦600之一高階方塊圖。實例電腦600包含耦合至一晶片組604之至少一個處理器602。晶片組604包含一記憶體控制器集線器620及一輸入/輸出(I/O)控制器集線器622。一記憶體606及一圖形配接器612耦合至記憶體控制器集線器620,且一顯示器618耦合至圖形配接器612。一儲存裝置608、鍵盤610、指標裝置614及網路配接器616耦合至I/O控制器集線器622。電腦600之其他實施例具有不同架構。
在圖6中所展示之實施例中,儲存裝置608係一非暫時性電腦可讀儲存媒體,諸如一硬碟機、光碟唯讀記憶體(CD-ROM)、DVD或一固態記憶體裝置。記憶體606保持由處理器602使用之指令及資料。指標裝置614係一滑鼠、追蹤球、觸控螢幕或其他類型之指標裝置,且與鍵盤610(其可係一螢幕上鍵盤)組合地用於將資料輸入至電腦系統600中。圖形配接器612在顯示器618上顯示影像及其他資訊。網路配接器616將電腦系統600耦合至一或多個電腦網路。
由圖1之實體使用之電腦類型可取決於實施例及實體所需之處理能力而變化。舉例而言,一伺服器可包含一分散式資料庫系統,該分散式資料庫系統包括共同工作以提供所描述之功能性之多個刀鋒(blade)伺
服器。此外,該等電腦可缺乏上文所描述之組件中之某些組件,諸如鍵盤610、圖形配接器612及顯示器618。
熟習此項技術者可在不背離所描述之概念之情況下對本文中所揭示之設備及技術做出諸多使用及修改以及與其之背離。舉例而言,本發明中所圖解說明或描述之組件或特徵不限於所圖解說明或描述之位置、設定或內容脈絡。相比於參考前述各圖中之一或多者描述之彼等組件,根據本發明之設備之實例可包含其中之所有組件、較少組件或不同組件。本發明因此不限於本文中所描述之特定實施方案,而是應被賦予與隨附申請專利範圍及其等效內容一致之可能的最寬廣範疇。
100:擴增實境運算系統/系統
102:用戶端裝置
104:網路
106:遊戲引擎
108:擴增實境平臺
110:複雜視覺模組/複雜電腦視覺模組
112:定位與地圖建立模組
114:地圖檢索模組
116:深度學習模組
118:擴增實境後端引擎
120:一個世界地圖建立模組
122:物件辨識模組
124:地圖資料庫
126:物件資料庫
128:深度學習訓練模組/深度學習模組
Claims (20)
- 一種用於在一環境中依據由一相機擷取之一或多個影像定位該相機之方法,該方法包括:接收由一用戶端裝置之該相機擷取之一或多個影像;識別該一或多個影像中繪示之線;藉由將該一或多個影像投影至頂點與邊緣之一圖形中而使用該等線建立該相機周圍之該環境之一表示;基於該表示識別線接點,其中該等線接點係該等線之兩者或更多者在三維空間中相遇之點;比較該等經識別線接點與該環境之一3D地圖,該3D地圖包含地圖線接點;識別一經識別線接點與一地圖線接點之間的一對應性;及使用該對應性判定該相機在該環境內之一位置。
- 如請求項1之方法,其中該等經識別線接點係自該表示識別的,該等經識別線接點包括該表示中之重疊邊緣。
- 如請求項1之方法,其進一步包括:自一虛擬遊戲之連接至該用戶端裝置之一額外用戶端裝置接收影像資料。
- 如請求項1之方法,其中比較該等經識別線接點與該環境之一3D地圖 包括:將圖案匹配應用於該等經識別線接點及該3D地圖以判定該等經識別線接點與該3D地圖是否重疊或毗鄰。
- 如請求項1之方法,其中該3D地圖係使用由一或多個相機擷取之該環境之影像資料及在擷取該影像資料時該一或多個相機之相對位置而建立的。
- 如請求項1之方法,其中該經判定位置對應於一虛擬世界中之一位置。
- 如請求項6之方法,其進一步包括:將對應於該經判定位置的該虛擬世界中之該位置之一視圖發送至該用戶端裝置。
- 如請求項1之方法,其中該等經識別線接點中之每一者具有七個自由度,其中針對一接點具有三個自由度,針對兩個方向向量之每一者各具有兩個自由度。
- 如請求項1之方法,其中該一或多個影像係各自藉由利用一列文伯格-馬誇爾特解算器運算出該線接點之一更新而被逐圖框最佳化的。
- 如請求項1之方法,其中識別該一或多個影像中之該等線接點包括: 判定該一或多個影像中之線之2D線方程式,其中每一2D線方程式描述3D空間中之一法向向量;判定該一或多個影像中之每一者之2D線接點,其中每一2D線接點由兩個2D線方程式及一相交點構成;將該等2D線接點三角剖分至3D空間中以獲得3D線接點。
- 如請求項10之方法,其中三角剖分該等2D線接點包括:將來自該一或多個影像中之每一者之該等2D線接點之座標轉換成一個相機座標空間;及將該等經轉換2D線接點變換成3D線接點。
- 一種非暫時性電腦可讀儲存媒體,其包括用於在一環境中依據由一相機擷取之一或多個影像定位該相機之指令,該等指令包括:用於接收由一用戶端裝置之該相機擷取之一或多個影像之指令;用於識別該一或多個影像中繪示之線之指令;用於藉由將該一或多個影像投影至頂點與邊緣之一圖形中而使用該等線建立該相機周圍之該環境之一表示之指令;用於基於該表示識別線接點之指令,其中該等線接點係該等線之兩者或更多者在三維空間中相遇之點;用於比較該等經識別線接點與該環境之一3D地圖之指令,該3D地圖包含地圖線接點;用於識別一經識別線接點與一地圖線接點之間的一對應性之指令;及 用於使用該對應性判定該相機在該環境內之一位置之指令。
- 如請求項12之非暫時性電腦可讀儲存媒體,其中該等經識別線接點係自該表示識別的,該等經識別線接點包括該表示中之重疊邊緣。
- 如請求項12之非暫時性電腦可讀儲存媒體,該等指令進一步包括:用於自一虛擬遊戲之連接至該用戶端裝置之一額外用戶端裝置接收影像資料之指令。
- 如請求項12之非暫時性電腦可讀儲存媒體,其中該等用於比較該等經識別線接點與該環境之一3D地圖之指令進一步包括:用於將圖案匹配應用於該等經識別線接點及該3D地圖以判定該等經識別線接點與該3D地圖是否重疊或毗鄰之指令。
- 如請求項12之非暫時性電腦可讀儲存媒體,其中該3D地圖係使用由一或多個相機擷取之該環境之影像資料及在擷取該影像資料時該一或多個相機之相對位置而建立的。
- 如請求項12之非暫時性電腦可讀儲存媒體,其中該經判定位置對應於一虛擬世界中之一位置。
- 如請求項17之非暫時性電腦可讀儲存媒體,該等指令進一步包括: 用於將對應於該經判定位置的該虛擬世界中之該位置之一視圖發送至該用戶端裝置之指令。
- 如請求項12之非暫時性電腦可讀儲存媒體,其中該等經識別線接點中之每一者具有七個自由度,其中針對一接點具有三個自由度,針對兩個方向向量之每一者各具有兩個自由度。
- 一種電腦系統,其包括:一電腦處理器;及一非暫時性電腦可讀儲存媒體,其儲存用於在一環境中依據由一相機擷取之一或多個影像定位該相機之指令,該等指令在由該電腦處理器執行時執行包括以下各項之動作:接收由一用戶端裝置之該相機擷取之一或多個影像;識別該一或多個影像中繪示之線;藉由將該一或多個影像投影至頂點與邊緣之一圖形中而使用該等線建立該相機周圍之該環境之一表示;基於該表示識別線接點,其中該等線接點係該等線之兩者或更多者在三維空間中相遇之點;比較該等經識別線接點與該環境之一3D地圖,該3D地圖包含地圖線接點;識別一經識別線接點與一地圖線接點之間的一對應性;及使用該對應性判定該相機在該環境內之一位置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962952016P | 2019-12-20 | 2019-12-20 | |
US62/952,016 | 2019-12-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202135009A TW202135009A (zh) | 2021-09-16 |
TWI760978B true TWI760978B (zh) | 2022-04-11 |
Family
ID=76437965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109145174A TWI760978B (zh) | 2019-12-20 | 2020-12-18 | 用於依據由一相機擷取之影像定位該相機之方法及相關之非暫時性電腦可讀儲存媒體與電腦系統 |
Country Status (9)
Country | Link |
---|---|
US (2) | US11847792B2 (zh) |
EP (1) | EP4076693A4 (zh) |
JP (1) | JP7453383B2 (zh) |
KR (1) | KR20220119664A (zh) |
CN (1) | CN115175749A (zh) |
AU (1) | AU2020404610A1 (zh) |
CA (1) | CA3165417A1 (zh) |
TW (1) | TWI760978B (zh) |
WO (1) | WO2021124286A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240046564A1 (en) * | 2022-08-02 | 2024-02-08 | Niantic, Inc. | Simulated Consistency Check for Points of Interest on Three-Dimensional Maps |
CN117170501B (zh) * | 2023-08-24 | 2024-05-03 | 北京自动化控制设备研究所 | 基于点线融合特征的视觉跟踪方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140058861A (ko) * | 2012-11-07 | 2014-05-15 | 한국과학기술연구원 | 영상기반 실내 위치 검출방법 및 이를 이용한 휴대용 단말기 |
US20150084951A1 (en) * | 2012-05-09 | 2015-03-26 | Ncam Technologies Limited | System for mixing or compositing in real-time, computer generated 3d objects and a video feed from a film camera |
WO2015192117A1 (en) * | 2014-06-14 | 2015-12-17 | Magic Leap, Inc. | Methods and systems for creating virtual and augmented reality |
TW201939105A (zh) * | 2018-03-06 | 2019-10-01 | 仁寶電腦工業股份有限公司 | 同步定位與地圖建構及手勢辨識方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5109294B2 (ja) | 2006-06-19 | 2012-12-26 | 三菱電機株式会社 | 3次元位置補正装置 |
US8506404B2 (en) | 2007-05-07 | 2013-08-13 | Samsung Electronics Co., Ltd. | Wireless gaming method and wireless gaming-enabled mobile terminal |
US8049750B2 (en) * | 2007-11-16 | 2011-11-01 | Sportvision, Inc. | Fading techniques for virtual viewpoint animations |
US20150213590A1 (en) * | 2011-07-29 | 2015-07-30 | Google Inc. | Automatic Pose Setting Using Computer Vision Techniques |
JP6278790B2 (ja) * | 2014-03-31 | 2018-02-14 | 株式会社デンソーアイティーラボラトリ | 車両位置検出装置、車両位置検出方法及び車両位置検出用コンピュータプログラムならびに車両位置検出システム |
JP6716996B2 (ja) | 2016-03-29 | 2020-07-01 | 富士通株式会社 | 画像処理プログラム、画像処理装置、及び画像処理方法 |
US10885714B2 (en) * | 2017-07-07 | 2021-01-05 | Niantic, Inc. | Cloud enabled augmented reality |
US10841486B2 (en) * | 2017-07-20 | 2020-11-17 | Eclo, Inc. | Augmented reality for three-dimensional model reconstruction |
JP6828668B2 (ja) * | 2017-12-04 | 2021-02-10 | 株式会社デンソー | 車線ネットワークデータ生成装置、車線ネットワークデータ生成プログラム及び記憶媒体 |
WO2020006299A1 (en) * | 2018-06-27 | 2020-01-02 | Niantic, Inc. | Multi-sync ensemble model for device localization |
-
2020
- 2020-12-18 EP EP20902667.3A patent/EP4076693A4/en active Pending
- 2020-12-18 AU AU2020404610A patent/AU2020404610A1/en active Pending
- 2020-12-18 CA CA3165417A patent/CA3165417A1/en active Pending
- 2020-12-18 TW TW109145174A patent/TWI760978B/zh active
- 2020-12-18 CN CN202080097259.6A patent/CN115175749A/zh active Pending
- 2020-12-18 KR KR1020227025053A patent/KR20220119664A/ko active Search and Examination
- 2020-12-18 US US17/127,136 patent/US11847792B2/en active Active
- 2020-12-18 JP JP2022538066A patent/JP7453383B2/ja active Active
- 2020-12-18 WO PCT/IB2020/062238 patent/WO2021124286A1/en unknown
-
2023
- 2023-11-08 US US18/504,943 patent/US20240078701A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150084951A1 (en) * | 2012-05-09 | 2015-03-26 | Ncam Technologies Limited | System for mixing or compositing in real-time, computer generated 3d objects and a video feed from a film camera |
KR20140058861A (ko) * | 2012-11-07 | 2014-05-15 | 한국과학기술연구원 | 영상기반 실내 위치 검출방법 및 이를 이용한 휴대용 단말기 |
WO2015192117A1 (en) * | 2014-06-14 | 2015-12-17 | Magic Leap, Inc. | Methods and systems for creating virtual and augmented reality |
TW201939105A (zh) * | 2018-03-06 | 2019-10-01 | 仁寶電腦工業股份有限公司 | 同步定位與地圖建構及手勢辨識方法 |
Also Published As
Publication number | Publication date |
---|---|
US11847792B2 (en) | 2023-12-19 |
WO2021124286A1 (en) | 2021-06-24 |
AU2020404610A1 (en) | 2022-08-18 |
JP7453383B2 (ja) | 2024-03-19 |
EP4076693A1 (en) | 2022-10-26 |
JP2023507498A (ja) | 2023-02-22 |
EP4076693A4 (en) | 2022-10-26 |
US20240078701A1 (en) | 2024-03-07 |
US20210190538A1 (en) | 2021-06-24 |
CA3165417A1 (en) | 2021-06-24 |
KR20220119664A (ko) | 2022-08-30 |
TW202135009A (zh) | 2021-09-16 |
CN115175749A (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102493185B1 (ko) | 깊이 힌트를 사용하는 깊이 추정 모델의 자가 감독 훈련 | |
EP3815398B1 (en) | Multi-sync ensemble model for device localization | |
US20240078701A1 (en) | Location determination and mapping with 3d line junctions | |
US20240046610A1 (en) | Determining visual overlap of images by using box embeddings | |
TWI797571B (zh) | 用於自單一影像判定可遍歷空間之電腦實施方法及電腦可讀儲存媒體 | |
JP2024503135A (ja) | 3d拡張シーンの構造フロアプランへの位置合わせ | |
TWI797715B (zh) | 用於使用從透視校正影像中所提取之特徵的特徵匹配之電腦實施方法、電腦系統及非暫時性電腦可讀記憶體 | |
TWI839513B (zh) | 用於利用深度提示之深度預估模型之自我監督訓練之電腦實施之方法及非暫時性電腦可讀儲存媒體 | |
WO2024095744A1 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
TW202241569A (zh) | 合併來自地圖建立裝置之局部地圖 |