TW202238068A - 自監督多圖框單眼深度估計模型 - Google Patents
自監督多圖框單眼深度估計模型 Download PDFInfo
- Publication number
- TW202238068A TW202238068A TW110145947A TW110145947A TW202238068A TW 202238068 A TW202238068 A TW 202238068A TW 110145947 A TW110145947 A TW 110145947A TW 110145947 A TW110145947 A TW 110145947A TW 202238068 A TW202238068 A TW 202238068A
- Authority
- TW
- Taiwan
- Prior art keywords
- depth
- image
- estimation model
- depth estimation
- game
- Prior art date
Links
- 238000012549 training Methods 0.000 claims description 90
- 238000000034 method Methods 0.000 claims description 38
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 238000013527 convolutional neural network Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000013480 data collection Methods 0.000 description 11
- 238000001514 detection method Methods 0.000 description 8
- 230000003190 augmentative effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 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/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/22—Measuring arrangements characterised by the use of optical techniques for measuring depth
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/18—Image warping, e.g. rearranging pixels individually
-
- 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
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- 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/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- 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/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本發明揭示一種多圖框深度估計模型。該模型經訓練且經組態以接收一輸入影像及一額外影像。該模型基於該輸入影像及該額外影像而輸出該輸入影像之一深度圖。該模型可提取該輸入影像之一特徵圖及該額外影像之一額外特徵圖。對於複數個深度平面之各者,該模型基於該輸入影像與該額外影像之間的相對姿勢、該深度平面及攝影機本質而將該特徵圖扭曲至該深度平面。該模型從該複數個深度平面之該等經扭曲特徵圖建構一成本量。該模型之一解碼器輸入該成本量及該輸入影像以輸出該深度圖。
Description
所描述之標的大體上係關於估計輸入影像之一深度圖,且特定言之係關於一種使用來自一單眼(單筒望遠鏡)視訊之多個圖框來估計深度圖之機器學習模型。
問題
深度感測在導航及場景理解中皆有應用。許多方法使用訓練模型或網路以從一單色輸入影像判定一深度圖。存在使用不同種類之訓練資料來訓練深度估計系統之一些方法。舉例而言,可使用一偵測及測距系統來訓練一深度估計系統以針對與藉由一攝影機拍攝之相同場景之影像配對之一環境(例如,無線電偵測及測距(RADAR)、光偵測及測距(LIDAR)等)中之物件建立一實況深度。儘管偵測及測距系統可提供物件之深度之一實況,然不斷利用偵測及測距系統來感測許多不同環境之深度可為一項時間及資源成本高昂的工作。此外,偵測及測距系統無法判定具有使其等無法藉由偵測及測距系統偵測之材料性質之一些物件(例如,反射物件)之深度。
可訓練自監督單眼深度估計網路以使用附近訓練時間圖框作為一監督信號來預測場景深度。然而,對於許多應用,呈視訊圖框形式之序列資訊在測試時間亦可用。許多單眼深度估計網路未利用此額外信號,因此忽略可用於改良預測深度之有價值資訊。使用運算成本高(即,不切實務)測試時間精選技術,或使用僅間接存取固有可用幾何資訊且在訓練期間可為運算要求高之現成循環網路。
本發明描述運用使用一時間序列影像(例如,來自一單眼視訊之圖框)之一自監督方法來訓練一深度估計模型。在部署時,模型可從一單一輸入影像產生一深度圖且使用一時間序列中之額外影像作為補充輸入(若可用)。舉例而言,可使用一單眼視訊中之一圖框及來自視訊之一組N個先前圖框來產生該圖框之一深度圖。模式可使用一自適應成本量,其指示具有一最小值與最大值之間的一可能深度值範圍之各者之像素之可能性。深度範圍係自適應的,以解決因使用自監督訓練而產生之標度模糊(scale ambiguity)。在模型之訓練期間,可使用採用一單一影像輸入之一次級深度估計網路來指導訓練程序以減少過度擬合。次級深度估計網路可與模型共用一姿勢估計網路。
相關申請案之交叉參考
本申請案主張2020年12月12日申請之美國臨時申請案第63/124,757號之優先權,該案亦以引用之方式併入。
圖及以下描述僅藉由圖解描述某些實施例。熟習此項技術者將容易從以下描述辨識,可在不脫離所描述之原理之情況下採用結構及方法之替代實施例。現將參考數項實施例,在隨附圖中繪示實施例之實例。只要可行,在圖中使用類似或相似元件符號以指示類似或相似功能性。在元件共用一共同數字,後接一不同字母之情況下,元件係類似的或相同的。數字單獨指代此等元件之任一者或任何組合。
使用深度模型之實例性平行實境遊戲系統
在一平行實境遊戲之背景內容中描述各項實施例,該遊戲包含一虛擬世界地理中之擴增實境內容,其與真實世界地理之至少一部分平行,使得玩家在真實世界中之移動及動作影響虛擬世界中之動作且反之亦然。一般技術者使用本文中提供之揭示內容將理解,所描述之標的可應用於需要從影像資料判定深度資訊之其他情境中。另外,基於電腦之系統之固有靈活性允許系統之組件之間及當中之任務及功能性之各種可能組態、組合及劃分。例如,可使用一單一運算裝置或跨多個運算裝置(例如,連接於一電腦網路中)實施根據本發明之態樣之系統及方法。
圖1繪示一網路運算環境100之一項實施例。網路運算環境100提供具有與真實世界平行之一地理之一虛擬世界中之玩家之互動。特定言之,真實世界中之一地理區域可直接連結或映射至虛擬世界中之一對應區域。一玩家可藉由移動至真實世界中之各種地理位置而在虛擬世界中移動。例如,一玩家在真實世界中之位置可經追蹤且用於更新玩家在虛擬世界中之位置。通常,藉由找到一用戶端裝置120之位置而判定玩家在真實世界中之位置,玩家透過用戶端裝置120與虛擬世界互動且假定玩家處於相同(或近似相同)位置。舉例而言,在各項實施例中,若玩家在真實世界中之位置在對應於虛擬世界中之一虛擬元素之虛擬位置之真實世界位置之一臨限距離(例如,10米、20米等)內,則玩家可與虛擬元素互動。為了方便起見,參考「玩家之位置」描述各項實施例但熟習此項技術者將瞭解,此等參考可指代玩家之用戶端裝置120之位置。
在圖1中展示之實施例中,網路運算環境100使用一用戶端-伺服器架構,其中一遊戲伺服器120經由一網路105與一用戶端裝置110通信以向用戶端裝置110處之一玩家提供一平行實境遊戲。網路運算環境100亦可包含其他外部系統,諸如贊助商/廣告商系統或商業系統。儘管圖1中僅繪示一個用戶端裝置110,然任何數目個用戶端110或其他外部系統可經由網路105連接至遊戲伺服器120。此外,網路運算環境100可含有不同或額外元件且功能性可以不同於下文描述之一方式分佈於用戶端裝置110與伺服器120之間。
一用戶端裝置110可為一玩家可用於與遊戲伺服器120介接之任何可攜帶運算裝置。例如,一用戶端裝置110可為一無線裝置、一個人數位助理(PDA)、可攜帶遊戲裝置、蜂巢式電話、智慧型電話、平板電腦、導航系統、手持GPS系統、可穿戴運算裝置、具有一或多個處理器之一顯示器或其他此裝置。在另一例項中,用戶端裝置110係一習知電腦系統,諸如一桌上型或一膝上型電腦。然而,用戶端裝置110可為具有一運算裝置之一運載工具。作為一運算裝置,用戶端裝置110可包含一或多個處理器及一或多個電腦可讀儲存媒體。電腦可讀儲存媒體可儲存導致處理器執行操作之指令。用戶端裝置110較佳地係一玩家可容易攜帶或以其他方式運輸之一可攜帶運算裝置,諸如一智慧型電話或平板電腦。
用戶端裝置110與遊戲伺服器120通信,從而向遊戲伺服器120提供一物理環境之感測資料。在一項實施例中,用戶端裝置110包含一攝影機總成125,攝影機總成125在用戶端裝置110周圍之物理環境中之一場景之二維中擷取影像資料。用戶端裝置110亦包含一深度估計模型130、一遊戲模組135及一定位模組140。用戶端裝置110可包含用於從一玩家接收資訊或向一玩家提供資訊之各種其他軟體模組或輸入/輸出裝置。實例性輸入/輸出裝置包含一顯示螢幕、一觸控螢幕、一觸控板、資料鍵入鍵、揚聲器及適於語音識別之一麥克風。用戶端裝置110亦可包含用於記錄來自用戶端裝置110之資料之其他各種感測器,包含(但不限於)移動感測器、加速度計、陀螺儀、其他慣性量測單元(IMU)、氣壓計、定位系統、溫度計、光感測器等。用戶端裝置110可進一步包含一網路介面,以經由網路105提供通信。一網路介面可包含用於與一或多個網路介接之任何適合組件,包含(舉例而言)傳輸器、接收器、埠、控制器、天線或其他適合組件。
攝影機總成125擷取用戶端裝置110周圍之環境之一場景之影像資料。攝影機總成125可利用具有以不同擷取速率變化之色彩擷取範圍之各種光感測器。攝影機總成125可含有一廣角透鏡或一望遠透鏡。攝影機總成125可經組態以擷取單一影像或視訊作為影像資料。此外,攝影機總成125之定向可平行於地面,其中攝影機總成125瞄準地平線。影像資料可附加描述包含感測資料(例如,溫度、環境亮度)或擷取資料(例如,曝光、溫暖、快門速度、焦距、擷取時間等)之影像資料的其他細節之後設資料。攝影機總成125可包含可擷取影像資料之一或多個攝影機。在一個例項中,攝影機總成125包括一個攝影機且經組態以擷取單眼影像資料。在各種其他實施方案中,攝影機總成125包括各經組態以擷取影像資料之複數個攝影機。
深度估計模型130接收一場景之一輸入影像。深度估計模型130亦可接收與輸入影像具有一密切時間關係之場景之一或多個額外影像(例如,緊接在輸入影像之前從其獲取輸入影像之一單眼視訊之圖框)。深度估計模型130基於輸入影像而輸出場景之一深度圖。在額外時間影像可用之實施例中,深度估計模型130可進一步基於額外影像而輸出深度圖。深度估計模型130可藉由一深度估計訓練系統170進行訓練且可藉由深度估計訓練系統170進行更新或調整,此在下文更詳細地論述。
可藉由攝影機總成125之一攝影機或來自另一用戶端裝置110之另一攝影機擷取所接收輸入影像。在一些實施例中,一些或全部所接收輸入影像及額外影像具有指定攝影機之本質之附加後設資料。本質可包含在擷取影像時攝影機之一或多個幾何性質,例如,在擷取影像時攝影機之焦距、攝影機之主點偏移、攝影機之歪斜等。運用本質,深度估計模型130可產生考量本質之一本質矩陣。在一些實施例中,深度估計模型130判定影像是否令人滿意,例如,超過一臨限解析度。若不令人滿意,則深度估計模型130可執行一或多個預處理技術以確保影像令人滿意,例如,在判定場景之深度圖之前將所討論影像上取樣至一所要解析度。其他實例條件包含調整曝光、一對比度、一晶粒、一色度或影像之其他特性等。
運用一或多個機器學習演算法來實施深度估計模型130。可用於深度估計模型130之機器學習演算法包含神經網路、決策樹、隨機森林、廻歸因子、聚類、其等之其他導數演算法或其等之某一組合。在一或多項實施例中,深度估計模型130經結構化為包括複數個層之一神經網路,該複數個層包含經組態以接收輸入影像(及在可用之情況下,額外影像)之至少一輸入層及經組態以輸出深度預測之一輸出層。各層包括多個節點,藉由前一層中之一或多個節點之一加權組合定義各節點。在藉由深度估計訓練系統170訓練期間判定繼輸入層之後定義節點之權重。在一個實例性架構中,深度估計模型130可包括被稱為經組態以在擷取輸入影像及任何額外影像時判定攝影機之姿勢(可為來自一固定座標系統之一絕對姿勢或在一對影像之間相對定義之一相對姿勢)之一姿勢網路的一第一組層及被稱為經組態以判定輸入影像之相同維度的一深度圖之一深度網路的一第二組層。
遊戲模組135向一玩家提供參與平行實境遊戲之一介面。遊戲伺服器120經由網路105將遊戲資料傳輸至用戶端裝置110以供用戶端裝置110處之遊戲模組135使用,以向遠離遊戲伺服器120之位置處之玩家提供遊戲之本端版本。遊戲伺服器120可包含用於經由網路105提供通信之一網路介面。一網路介面可包含用於與一或多個網路介接之任何適合組件,包含(舉例而言)傳輸器、接收器、埠、控制器、天線或其他適合組件。
藉由用戶端裝置110執行之遊戲模組135提供一玩家與平行實境遊戲之間的一介面。遊戲模組135可在與用戶端裝置110相關聯之一顯示裝置上呈現一使用者介面,其顯示與遊戲相關聯之一虛擬世界(例如,呈現虛擬世界之影像)且允許一使用者在虛擬世界中互動以執行各種遊戲目標。在一些其他實施例中,遊戲模組135呈現用來自平行實境遊戲之虛擬元素增強之來自真實世界之影像資料(例如,藉由攝影機總成125擷取)。在此等實施例中,遊戲模組135可根據從用戶端裝置110之其他組件接收之其他資訊產生虛擬內容或調整虛擬內容。舉例而言,遊戲模組135可根據在影像資料中擷取之場景之一深度圖(例如,藉由深度估計模型130判定)來調整待在使用者介面上顯示之一虛擬物件。
遊戲模組135亦可控制各種其他輸入以允許一玩家與遊戲互動而無需玩家觀看一顯示螢幕。例如,遊戲模組135可控制允許玩家在未查看顯示螢幕之情況下玩遊戲之各種音訊、振動或其他通知。遊戲模組135可存取從遊戲伺服器120接收之遊戲資料以向使用者提供遊戲之一準確表示。遊戲模組135可接收並處理玩家輸入且經由網路105向遊戲伺服器120提供更新。遊戲模組135亦可產生或調整待藉由用戶端裝置110顯示之遊戲內容。舉例而言,遊戲模組135可基於深度資訊(例如,如藉由深度估計模型130判定)產生一虛擬元素。
定位模組140可為用於監測用戶端裝置110之位置之任何裝置或電路系統。舉例而言,定位模組140可藉由使用一衛星導航定位系統(例如,一GPS系統、一伽利略定位系統、全球導航衛星系統(GLONASS)、北斗衛星導航及定位系統)、一慣性導航系統、一航位推算系統、基於IP位址、藉由使用三角量測或近接蜂巢塔或Wi-Fi熱點或用於判定位置之其他適合技術而判定實際或相對位置。定位模組140可進一步包含可輔助準確定位用戶端裝置110位置之各種其他感測器。
當玩家在真實世界中與用戶端裝置110一起四處移動時,定位模組140追蹤玩家之位置且向遊戲模組135提供玩家位置資訊。遊戲模組135基於玩家在真實世界中之實際位置而更新與遊戲相關聯之虛擬世界中之玩家位置。因此,一玩家可簡單地藉由在真實世界中攜帶或運輸用戶端裝置110而與虛擬世界互動。特定言之,玩家在虛擬世界中之位置可對應於玩家在真實世界中之位置。遊戲模組135可經由網路105向遊戲伺服器120提供玩家位置資訊。作為回應,遊戲伺服器120可實施各種技術以驗證用戶端裝置110位置以防止騙子欺騙用戶端裝置110位置。應瞭解,僅在已通知一玩家應存取玩家之位置資訊且在遊戲之背景內容中如何利用位置資訊(例如,以更新虛擬世界中之玩家位置)之後授予權限時,才利用與玩家相關聯之位置資訊。另外,將以保護玩家隱私之一方式儲存並維護與玩家相關聯之任何位置資訊。
遊戲伺服器120可為任何運算裝置且可包含一或多個處理器及一或多個電腦可讀儲存媒體。電腦可讀儲存媒體可儲存導致處理器執行操作之指令。遊戲伺服器120可包含一遊戲資料庫115或可與一遊戲資料庫115通信。遊戲資料庫115儲存在平行實境遊戲中使用之遊戲資料以經由網路105伺服或提供給用戶端120。
儲存於遊戲資料庫115中之遊戲資料可包含:(1)與平行實境遊戲中之虛擬世界相關聯之資料(例如,用於在一顯示裝置上呈現虛擬世界之影像資料、虛擬世界中之位置之地理座標等);(2)與平行實境遊戲之玩家相關聯之資料(例如,玩家個人檔案,包含(但不限於)玩家資訊、玩家經驗等級、玩家貨幣、虛擬世界/真實世界中之當前玩家位置、玩家能量位凖、玩家偏好、團隊資訊、派系資訊等);(3)與遊戲目標相關聯之資料(例如,與當前遊戲目標、遊戲目標之狀態、過去遊戲目標、未來遊戲目標、所要遊戲目標等相關聯之資料);(4)與虛擬世界中之虛擬元素相關聯之資料(例如,虛擬元素之位置、虛擬元素之類型、與虛擬元素相關聯之遊戲目標;虛擬元素之對應實際世界位置資訊;虛擬元素之行為、虛擬元素之相關性等);(5)與真實世界物件、地標、連結至虛擬世界元素之位置相關聯之資料(例如,真實世界目標/地標之位置、真實世界物件/地標之描述、連結至真實世界物件之虛擬元素之相關性等);(6)遊戲狀態(例如,當前玩家數目、遊戲目標之當前狀態、玩家排行榜等);(7)與玩家動作/輸入相關聯之資料(例如,當前玩家位置、過去玩家位置、玩家移動、玩家輸入、玩家查詢、玩家通信等);及(8)在實施平行實境遊戲期間使用、相關或獲得之任何其他資料。可藉由系統管理員或藉由從系統100之使用者/玩家(諸如經由網路105從一用戶端裝置110)接收之資料離線或即時填入儲存於遊戲資料庫115中之遊戲資料。
遊戲伺服器120可經組態以從一用戶端裝置110接收對遊戲資料之請求(例如經由遠端程序呼叫(RPC))且經由網路105回應於該等請求。例如,遊戲伺服器120可將遊戲資料編碼成一或多個資料檔案且向用戶端裝置110提供該等資料檔案。另外,遊戲伺服器120可經組態以經由網路105從一用戶端裝置110接收遊戲資料(例如,玩家位置、玩家動作、玩家輸入等)。例如,用戶端裝置110可經組態以將玩家輸入及其他更新週期性地發送至遊戲伺服器120,遊戲伺服器120使用其等來更新遊戲資料庫115中之遊戲資料以反映遊戲之任何及全部已改變狀況。
在所展示實施例中,伺服器120包含一通用遊戲模組145、一商業遊戲模組150、一資料收集模組155、一事件模組160及一深度估計訓練系統170。如上文提及,遊戲伺服器120與可為遊戲伺服器120之部分或遠端存取之一遊戲資料庫115互動(例如,遊戲資料庫115可為經由網路105存取之一分佈式資料庫)。在其他實施例中,遊戲伺服器120含有不同或額外元件。另外,功能可以不同於描述之一方式分佈於元件中。例如,遊戲資料庫115可整合至遊戲伺服器120中。
通用遊戲模組145為全部玩家託管平行實境遊戲且充當全部玩家之平行實境遊戲之當前狀態之權威來源。作為主機,通用遊戲模組145產生遊戲內容以(例如)經由其等各自用戶端裝置110呈現給玩家。通用遊戲模組145可在託管平行實境遊戲時存取遊戲資料庫115以擷取或儲存遊戲資料。通用遊戲模組145亦從用戶端裝置110接收遊戲資料(例如,深度資訊、玩家輸入、玩家位置、玩家動作、地標資訊等)且將所接收之遊戲資料併入平行實境遊戲之全部玩家之整體平行實境遊戲中。通用遊戲模組145亦可管理經由網路105將遊戲資料遞送至用戶端裝置110。通用遊戲模組145亦可管理用戶端裝置110之安全態樣,包含(但不限於)保護用戶端裝置110與遊戲伺服器120之間的連接,在各種用戶端裝置110之間建立連接,及驗證各種用戶端裝置110之位置。
在包含一個商業遊戲模組150之實施例中,商業遊戲模組150可與通用遊戲模組145分離或為通用遊戲模組145之一部分。商業遊戲模組150可管理在平行實境遊戲內包含與真實世界中之一商業活動連結之各種遊戲特徵。例如,商業遊戲模組150可經由網路105 (經由一網路介面)從諸如贊助商/廣告商、企業或其他實體之外部系統接收請求以在平行實境遊戲中包含與商業活動連結之遊戲特徵。接著,商業遊戲模組150可配置將此等遊戲特徵包含於平行實境遊戲中。
遊戲伺服器120可進一步包含一資料收集模組155。在包含一個資料收集模組155之實施例中,資料收集模組155可與通用遊戲模組145分離或為通用遊戲模組145之一部分。資料收集模組155可管理在平行實境遊戲內包含與真實世界中之一資料收集活動連結之各種遊戲特徵。例如,資料收集模組155可修改儲存於遊戲資料庫115中之遊戲資料以在平行實境遊戲中包含與資料收集活動連結之遊戲特徵。資料收集模組155亦可分析藉由玩家按照資料收集活動收集之資料且提供資料以供各種平台存取。
事件模組160管理玩家對平行實境遊戲中之事件之存取。儘管為了方便起見使用術語「事件」,然應瞭解,此術語無需指代一特定位置或時間之一特定事件。實情係,其可指代任何提供存取控制遊戲內容,其中使用一或多個存取準則來判定玩家是否可存取該內容。此內容可為包含具有較少存取控制或不具有存取控制之遊戲內容之一較大平行實境遊戲之部分或可為一獨立存取控制平行實境遊戲。
深度估計訓練系統170訓練一深度估計模型(例如,向用戶端裝置110提供之深度估計模型130)。深度估計訓練系統170接收用於訓練深度估計模型之影像集。各集包含一時間序列影像。在一項實施例中,時間序列影像係來自一單眼視訊(即,相對於指代雙攝影機系統之雙眼,藉由一單一攝影機擷取之視訊)之圖框。在估計一特定影像之深度圖時,深度估計訓練系統170使用來自時間序列中之特定影像之前及之後之影像。相比之下,當部署模型時,其在判定一深度圖以啓用在線應用時可考量來自一特定影像之前之影像。
通常,對於一組給定影像,深度估計訓練系統170執行任何所要預處理,將該組輸入至深度估計模型中以產生一深度預測,使用預測深度圖從一或多個附近影像(例如,視訊中之鄰近圖框)產生一或多個合成影像,基於從原始影像與合成影像之間的差異判定之一損失函數而計算一損失,且反覆地調整深度估計模型之參數以最小化損失。上述一般程序描述一自監督訓練演算法。通常,自監督訓練無需如監督訓練演算法通常將需要之訓練之實況深度。深度估計系統170部分基於量測一個影像與附近影像(例如,來自一視訊之一圖框與視訊中之該圖框之前及之後之N個圖框)之間的幾何相容性之一成本量而訓練模型。
深度估計訓練系統170藉由最小化總損失而訓練深度估計模型130。深度估計訓練系統170透過調整深度估計模型130之參數訓練以最小化各訓練影像對之總損失。一訓練影像對可指代從一第一訓練影像及時間上鄰近第一影像對之一第二訓練影像產生之一合成影像。在一項實施例中,深度估計訓練系統170反向傳播通過深度估計模型130,從而調整深度估計模型130之參數以最小化總損失。深度估計訓練系統170可執行反覆批次訓練,例如,訓練深度估計模型130進行逐批訓練影像對。用於訓練之若干輪(epoch)判定透過深度估計模型130向前及向後饋送訓練影像資料之若干例項。在訓練結束時,深度估計訓練系統170可運用一訓練影像資料集及實況深度資料來驗證深度估計模型130以判定訓練深度估計模型130之一準確度。
在各項實施例中,成本量係自適應的。特定言之,定義成本量之最小及最大距離(即,深度)係在訓練期間學習之參數。成本量受益於允許深度估計模型利用來自多個視角之輸入(例如,從單眼視訊導出之額外影像)。最小及最大深度通常係可在假設一靜態真實世界環境之情況下設定之超參數。在一些實施例中,在訓練期間調諧最小及最大深度。
在其他各項實施例中,從額外影像濾除對於深度預測不可靠之像素。在此等實施例中,使用一次級深度網路來輔助訓練。次級網路將單一影像而非一時間序列影像作為輸入且輸出估計深度圖。次級深度網路可與經訓練之深度估計模型共用一姿勢網路以提供一致性。使用次級深度網路來識別藉由經訓練之模型產生之深度值對於其不可靠之像素。舉例而言,移動物件通常導致來自經訓練之模型之不準確深度值,此係因為其將一時間序列影像作為輸入,此會導致模型過度擬合由運動導致之假影而非學習準確地預測像素之深度。類似地,具有很少紋理之物件亦可產生不準確深度值。經訓練之模型及次級深度網路針對其產生相差超過一臨限值之結果之像素可被標記為不可靠。舉例而言,深度估計訓練系統170可產生指示可靠及不可靠像素之二進制遮罩,且包含不可靠像素之損失函數中之一項,其鼓勵經訓練之模型與藉由次級深度網路產生之值更緊密地對準。
在一些實施例中,深度估計訓練系統170考量一時間序列中之影像(例如,藉由一靜態攝影機擷取之視訊)之間幾乎不存在變化之案例。深度估計訓練系統170藉由隨機(例如,以一指定概率)對一單一影像進行色彩增強而模擬一靜態攝影機以判定具有色彩增強版本之成本量。類似地,為考量僅提供一單一輸入影像之部署情境,訓練程序之隨機選定反覆可用全零(或某一其他恆定值)替換成本量,藉此產生一空白成本量。因此,在僅一單一輸入影像可用之部署情境中,一空白成本量可輸入至模型中,其已經訓練以在缺少可用於產生一成本量之額外影像之情況下仍產生合理深度圖。
深度估計訓練系統170在運用訓練影像訓練其模型之後可為深度估計模型130提供參數以接收一時間序列之輸入影像,且使用藉由深度估計訓練系統170學習之參數來產生影像之一或多者之一深度圖。注意,儘管為了方便起見深度估計訓練系統170被展示為遊戲伺服器120之部分,然一些或全部模型可藉由其他運算裝置進行訓練且以各種方式提供給用戶端裝置110,包含作為作業系統之部分、包含於一遊戲應用中或按需在雲中存取。
一旦訓練深度估計模型,深度估計模型便接收影像資料且基於該影像資料而輸出環境之深度資訊。深度估計訓練系統170向用戶端裝置110提供訓練模型。用戶端裝置110使用訓練模型來估計影像(例如,藉由裝置上之一攝影機擷取)中之像素之深度。深度估計可具有各種用途,諸如輔助呈現虛擬內容以增強真實世界影像、輔助機器人導航、偵測自動駕駛車輛之潛在危險及類似者。
網路105可為任何類型之通信網路,諸如一區域網路(例如,內部網路)、廣域網路(例如,網際網路)或其等之某一組合。網路亦可包含一用戶端裝置110與遊戲伺服器120之間的一直接連接。一般而言,可經由使用任何類型之有線或無線連接、使用各種通信協定(例如,TCP/IP、HTTP、SMTP、FTP)、編碼或格式(例如,HTML、XML、JSON)或保護方案(例如,VPN、安全HTTP、SSL)之一網路介面進行遊戲伺服器120與一用戶端裝置110之間的通信。
本文中論述之技術參考伺服器、資料庫、軟體應用程式及其他基於電腦之系統,以及所採取之動作及向及從此等系統發送之資訊。一般技術者將辨識,基於電腦之系統之固有靈活性允許組件之間及當中之任務及功能性之各種可能組態、組合及劃分。例如,可使用一單一伺服器或組合工作之多個伺服器來實施本文中論述之伺服器程序。資料庫及應用程式可在一單一系統上實施或跨多個系統分佈。分佈式組件可循序或並行操作。
另外,在本文中論述之系統及方法存取並分析關於使用者之個人資訊,或利用個人資訊(諸如位置資訊)之情境中,可向使用者提供機會以控制程式或特徵是否收集資訊且控制是否或如何從系統或其他應用程式接收內容。不會收集或使用此資訊或資料,直至已向使用者提供將收集哪些資訊及如何使用資訊之有意義的通知。不會收集或使用資訊,除非使用者同意,其可由使用者隨時撤銷或修改。因此,使用者可控制如何收集關於使用者之資訊且如何由應用程式或系統使用該資訊。另外,某些資訊或資料在儲存或使用之前可以一或多個方式進行處理,使得移除個人可識別資訊。舉例而言,可處理一使用者之身份,使得無法判定使用者之個人可識別資訊。
實例性平行實境遊戲
現參考圖2,圖2描繪根據一項實施例之與可充當一平行實境遊戲之玩家之遊戲板之真實世界200平行之一虛擬世界210之一概念圖。如繪示,虛擬世界210可包含與真實世界200之地理平行之一地理。特定言之,在真實世界200中界定一地理區域或空間之一座標範圍映射至在虛擬世界210中界定一虛擬空間之一對應座標範圍。真實世界200中之座標範圍可與城鎮、社區、城市、校園、場所、國家、大陸、整個地球或其他地理區域相關聯。地理座標範圍中之各地理座標映射至虛擬世界中之一虛擬空間中之一對應座標。
一玩家在虛擬世界210中之位置對應於玩家在真實世界200中之位置。例如,定位於真實世界200中之位置212處之玩家A在虛擬世界210中具有一對應位置222。類似地,定位於真實世界中之位置214處之玩家B在虛擬世界中具有一對應位置224。當玩家在真實世界中之一地理座標範圍中移動時,玩家亦在界定虛擬世界210中之虛擬空間之座標範圍中移動。特定言之,與藉由玩家攜帶之一行動運算裝置相關聯之一定位系統(例如,一GPS系統)可用於在玩家在真實世界中導航地理座標範圍時追蹤玩家之位置。與玩家在真實世界200中之位置相關聯之資料用於更新玩家在界定虛擬世界210中之虛擬空間之對應座標範圍中之位置。以此方式,玩家可藉由簡單地在真實世界200中之對應地理座標範圍中行進而在界定虛擬世界210中之虛擬空間之座標範圍中沿一連續軌跡導航,而不必登記或週期性地更新真實世界200中之特定離散位置處之位置資訊。
基於位置之遊戲可包含複數個遊戲目標,要求玩家行進至分散於虛擬世界中之各種虛擬位置處之各種虛擬元素或虛擬物件或與其互動。一玩家可藉由行進至虛擬元素或物件在真實世界中之對應位置而行進至此等虛擬位置。例如,一定位系統可連續追蹤玩家之位置,使得當玩家連續導航真實世界時,玩家亦連續導航平行虛擬世界。接著,玩家可與特定位置處之各種虛擬元素或物件互動以達成或執行一或多個遊戲目標。
舉例而言,一遊戲目標使玩家與定位於虛擬世界210中之各種虛擬位置處之虛擬元素230互動。此等虛擬元素230可連結至真實世界200中之地標、地理位置或物件240。真實世界地標或物件240可為藝術品、紀念碑、建築物、企業、圖書館、博物館或其他適合真實世界地標或物件。互動包含擷取、主張所有權、使用某一虛擬物項、花費一些虛擬貨幣等。為擷取此等虛擬元素230,一玩家必須行進至連結至真實世界中之虛擬元素230之地標或幾何位置240且必須執行與虛擬世界210中之虛擬元素230之任何必要互動。舉例而言,圖2之玩家A可能必須行進至真實世界200中之一地標240以便與和該特定地標240連結之一虛擬元素230互動或擷取虛擬元素230。與虛擬元素230之互動可能需要真實世界中之動作,諸如拍攝照片或驗證、獲得或擷取關於與虛擬元素230相關聯之地標或物件240之其他資訊。
遊戲目標可能要求玩家使用藉由玩家在基於位置之遊戲中收集之一或多個虛擬物項。例如,玩家可在虛擬世界210中尋求可用於完成遊戲目標之虛擬物項(例如,武器、生物、升級道具或其他物項)。可藉由行進至真實世界200中之不同位置或藉由在虛擬世界210或真實世界200中完成各種動作而發現或收集此等虛擬物項。在圖2中展示之實例中,一玩家使用虛擬物項232來擷取一或多個虛擬元素230。特定言之,一玩家可將虛擬物項232部署於虛擬世界210中近接虛擬元素230或在虛擬元素230內之位置。以此方式部署一或多個虛擬物項232會導致針對特定玩家或針對特定玩家之團隊/派系擷取虛擬元素230。
在一個特定實施方案中,一玩家可能必須收集虛擬能量作為平行實境遊戲之部分。如圖2中描繪,虛擬能量250可分散於虛擬世界210中之不同位置。一玩家可藉由行進至虛擬能量250在現實世界200中之對應位置而收集虛擬能量250。虛擬能量250可用於供電給虛擬物項或執行遊戲中之各種遊戲目標。失去全部虛擬能量250之一玩家可與遊戲斷開連接。
根據本發明之態樣,平行實境遊戲可為一大型多玩家基於位置之遊戲,其中遊戲中之每一參與者共用相同虛擬世界。玩家可被劃分成不同團隊或派系且可團結合作以達成一或多個遊戲目標,諸如擷取或主張一虛擬元素之所有權。以此方式,平行實境遊戲本質上可為鼓勵遊戲內玩家之間合作之一社交遊戲。來自對立團隊之玩家可在平行實境遊戲期間相互對抗(或有時合作以達成共同目標)。一玩家可使用虛擬物項來攻擊或阻礙對立團隊之玩家前進。在一些情況中,鼓勵玩家聚焦於真實世界位置以進行平行實境遊戲中之合作或互動事件。在此等情況中,遊戲伺服器試圖確保玩家實際上實體存在且並非欺騙。
平行實境遊戲可具有各種特徵以增強及鼓勵平行實境遊戲內之遊戲玩法。例如,玩家可累積一虛擬貨幣或可在整個遊戲中使用(例如,以購買遊戲內物項、兌換其他物項、製作物項等)之另一虛擬獎勵(例如,虛擬代幣、虛擬點數、虛擬材料資源等)。隨著玩家完成一或多個遊戲目標且在遊戲內獲得經驗,玩家可透過各個級別前進。在一些實施例中,玩家可透過在遊戲中提供之一或多個通信介面彼此通信。玩家亦可獲得可用於在遊戲內完成遊戲目標之增強「力量」或虛擬物項。一般技術者使用本文中提供之揭示內容應瞭解,在不偏離本發明之範疇之情況下平行實境遊戲可包含各種其他遊戲特徵。
圖3描繪一遊戲介面300之一項實施例,其可作為一玩家與虛擬世界210之間的介面之部分呈現於一用戶端120之一顯示器上。遊戲介面300包含一顯示視窗310,其可用於顯示虛擬世界210及遊戲之各種其他態樣,諸如玩家位置222及虛擬元素230、虛擬物項232及虛擬能量250在虛擬世界210中之位置。使用者介面300亦可顯示其他資訊,諸如遊戲資料資訊、遊戲通信、玩家資訊、用戶端位置驗證指令及與遊戲相關聯之其他資訊。舉例而言,使用者介面可顯示玩家資訊315,諸如玩家名稱、經驗等級及其他資訊。使用者介面300可包含用於存取各種遊戲設定及與遊戲相關聯之其他資訊的一選單320。使用者介面300亦可包含一通信介面330,其實現遊戲系統與玩家之間及平行實境遊戲之一或多個玩家之間的通信。
根據本發明之態樣,一玩家可藉由簡單地在真實世界中攜帶一用戶端裝置120而與平行實境遊戲互動。例如,一玩家可藉由簡單地在一智慧型電話上存取與平行實境遊戲相關聯之一應用程式且運用智慧型電話在真實世界中移動來玩遊戲。在此方面,玩家不必為了玩基於位置之遊戲而在一顯示螢幕上連續觀看虛擬世界之一視覺表示。因此,使用者介面300可包含允許一使用者與遊戲互動之複數個非視覺元素。例如,當玩家接近遊戲中之一虛擬元素或物件時或當平行實境遊戲中發生一重要事件時,遊戲介面可向玩家提供聲音通知。一玩家可運用音訊控制340來控制此等聲音通知。可取決於虛擬元素或事件之類型而向使用者提供不同類型之聲音通知。取決於一玩家與一虛擬元素或物件之近接程度,聲音通知可增大或減小頻率或音量。可向使用者提供其他非視覺通知及信號,諸如一振動通知或其他適合通知或信號。
一般技術者使用本文中提供之揭示內容將瞭解,鑑於本發明將明白眾多遊戲介面組態及基本功能性。本發明不意欲限於任一特定組態。
實例方法
圖4繪示根據一或多項實施例之一實例性深度估計模型400。可藉由深度估計訓練系統170訓練深度估計模型400。圖4之描述繪示一輸入影像410及一單一額外影像415之深度估計之原理。原理可擴展至多個額外影像。在其他實施例中,深度估計模型400可包含如本發明中描述之額外步驟、不同步驟或較少步驟。
深度估計模型400接收一輸入影像410以及時間上鄰近輸入影像410的一額外影像415 (例如,來自一單眼視訊)。深度估計模型400之一特徵提取器420基於輸入影像410產生一特徵圖430且產生額外影像415之一額外特徵圖435。特徵提取器420可實施一或多個運算演算法以從輸入影像提取特徵。用於特徵提取之實例演算法可包含一廻旋內核、邊緣偵測演算法、物件偵測演算法等。在一些實施例中,藉由特徵提取器420產生之特徵圖具有小於輸入影像之維度。
深度估計模型400基於額外影像415建構一成本量470以補充輸入影像410之深度估計。藉由扭曲模組450將額外特徵圖435扭曲至兩個或更多個深度平面。為使額外特徵圖435扭曲,扭曲模組450考量(額外影像與輸入影像410之間的)一相對姿勢、一或複數個深度平面及攝影機之本質。藉由一姿勢CNN 440判定相對姿勢,姿勢CNN 440可實施為一廻旋神經網路以基於額外影像415及輸入影像410判定相對姿勢。在其他實施例中,可使用一不同姿勢判定方法論(例如,使用一同時定位及映射(SLAM)演算法(視覺或基於IMU)、基於加速度計資料之其他姿勢判定演算法等)來判定相對姿勢。可運用在d
min與d
max之間間隔開之假設深度445判定垂直於輸入影像之光軸之一組有序深度平面P。假設深度445之間距可為線性的或非線性的(例如,指數間距),此可允許不同深度處之成本量之可變粒度(例如,較近深度具有透過緊密間距之細粒粒度且較遠深度具有透過展開間距之大粒粒度)。在其他實施例中,深度及/或平面之數目可經最佳化以權衡深度估計模型400之運算成本及準確度(例如,深度/或平面越多,運算成本越高且準確度越高)。可透過交叉驗證或透過神經架構搜尋來完成最佳化。
額外特徵圖435經扭曲以產生一經扭曲特徵圖455,從而將額外特徵圖435有效地投射至複數個深度平面P。基於經扭曲特徵圖455及特徵圖430獲取一差異(展示為l
1距離460)且其用於建構成本量470,從而連接各經扭曲特徵圖455 (對於各深度平面d)與特徵圖430之間的一差異。舉例而言,成本量470之各層包含深度平面d處之一經扭曲特徵圖455與特徵圖430之間的l
1距離。l
1距離係一絕對差,但可實施其他距離度量(例如,l
2距離、曼哈坦距離、閔可夫斯基距離、漢明距離等)。在具有多個額外影像之實施例中,可跨全部額外影像415進一步平均成本量470。在一或多項實施例中,深度估計模型400藉由在不使用差異之情況下連接經扭曲特徵圖455及特徵圖430而建構一成本量。
深度估計模型400之解碼器490輸入特徵圖430及成本量470以產生輸入影像410之一深度圖490。在一些實施例中,跳過連接485在缺少額外影像415之情況下將特徵圖430直接饋送至解碼器。在一項實施例中,額外影像415係從一單眼視訊獲取之輸入影像410之一時間上接近(例如,鄰近)圖框。在部署期間,額外影像415包括相對於輸入影像410之一先前圖框,即,在一較早時間獲取。在其他實施例中,額外影像415可為從一雙眼視訊獲取之時間上接近圖框,其中扭曲模組450考量擷取雙眼視訊之攝影機系統中之兩個攝影機之間的相對姿勢。
圖5係描述根據一或多項實施例之訓練深度估計模型之一方法500之一流程圖。從執行方法500之深度估計訓練系統170之視角繪示圖5之步驟。然而,可藉由其他實體及/或組件執行一些或全部步驟。另外,一些實施例可並行執行步驟,依不同順序執行步驟,或執行不同步驟。
在所展示之實施例中,深度估計訓練系統170存取510包括複數個時間序列之影像(諸如單眼視訊)之訓練影像資料。深度估計訓練系統170針對各時間序列之影像執行操作520至550。
在處理一給定時間序列之影像時,深度估計訓練系統170產生520序列中之一影像之一成本量且使用經訓練之模型來產生530影像之一深度圖。使用來自時間序列之影像及一或多個額外影像來產生成本量及深度圖。
深度估計訓練系統170判定540深度圖中之深度值之一可靠性。在一項實施例中,藉由比較藉由經訓練之模型產生之值與藉由已經預訓練以估計來自一單一輸入影像之深度之一次級深度網路產之值而判定540可靠性。次級網路可與經訓練之模型共用一姿勢網路。可靠性可表示為將深度圖中之各像素指定為可靠或不可靠之二進制可靠性圖。深度估計訓練系統170計算使用深度圖將時間序列中之一或多個額外影像投射至影像上之一損失。損失可依據重建損失及像素之可靠性而變化。
深度估計訓練系統170藉由最小化時間序列上之組合損失而訓練560深度估計模型130。在最小化損失時,深度估計訓練系統170可使用反向傳播來細化深度估計模型130之參數。
圖6係描述根據一或多項實施例之使用一深度估計模型130之一般方法600之一流程圖。從執行方法600之用戶端裝置110之視角繪示圖6之步驟。然而,可藉由其他實體及/或組件執行一些或全部步驟。另外,一些實施例可並行執行步驟,依不同順序執行步驟,或執行不同步驟。
用戶端裝置110接收610一場景的一時間序列影像。時間序列影像可為藉由用戶端裝置110之一攝影機擷取或連接至用戶端裝置110之一視訊。在平行實境遊戲之背景內容中,場景可具有可映射至一虛擬世界中之一虛擬位置之一真實世界位置。
用戶端裝置110將場景之一系列影像輸入620至一訓練深度估計模型130中。可藉由深度估計系統170 (例如)經由圖5之程序500訓練深度估計模型130。深度估計模型接收場景之影像且產生630對應於場景之影像之場景之一深度圖。如先前所述,可針對一當前影像產生深度圖且時間序列影像可為藉由攝影機擷取之一或多個先前影像之一集合(例如,一視訊中之一或多個先前圖框)。深度圖之各像素具有描述場景之影像中之對應像素處之一表面之一相對距離之一深度值。深度估計接收場景之影像且基於針對深度估計模型訓練之參數而輸出深度圖。
用戶端裝置110可運用所產生之深度圖來執行各種額外操作。舉例而言,用戶端裝置110可為能夠在具有深度圖之一真實世界環境中導航之一自動駕駛車輛。在另一實例中,用戶端裝置110係一擴增實境系統之部分且可呈現用虛擬內容增強之真實世界影像。為完成此任務,用戶端裝置110可利用所產生之深度圖來產生虛擬內容,從而導致虛擬內容在正確深度處與真實世界影像中之物件互動。
在額外實施例中,用戶端裝置110基於場景之深度圖而產生640虛擬內容。虛擬內容可源自平行實境遊戲之內容,例如,儲存於遊戲資料庫115中。所產生之虛擬內容可為可增強至場景之影像上之擴增實境內容。舉例而言,產生可在瞭解場景之深度之情況下在場景中移動之一虛擬角色。在一個例項中,當虛擬角色在街道上走向使用者時,虛擬角色之大小可增加。在另一例項中,虛擬角色可躲在樹後面,其中虛擬角色之一部分接著被樹遮擋。
用戶端裝置110顯示650用虛擬內容增強之場景之影像。用戶端裝置包含一電子顯示器。電子顯示器可提供藉由具有增強虛擬內容之攝影機擷取之視訊之一持續饋送。
按照上述實例,平行實境遊戲可能提供與虛擬角色互動作為一目標。為與虛擬角色互動,行動裝置之一使用者可能需要四處移動其等行動裝置同時將虛擬角色保持在攝影機之一視域中。當使用者四處移動行動裝置時,行動裝置可不斷擷取視訊或影像資料,其可用於反覆地產生場景之深度資訊,此係因為場景隨著使用者移動行動裝置而改變。行動裝置可更新顯示器上之視訊饋送同時亦基於所產生之深度資訊更新虛擬角色,使得使用者會將虛擬角色感知為始終在場景內適當地互動,例如,不穿過物件、不具有被切斷而無任何物件遮擋部分的該等部分等。
實例性運算系統
圖7係根據一實施例之一運算裝置之一實例性架構。儘管圖7描繪繪示根據一實施例之用作本文中描述之一或多個實體之部分或全部之一電腦之實體組件之一高階方塊圖,然一電腦可具有圖7中提供之額外、較少組件或組件之變動。儘管圖7描繪一電腦700,然圖意欲作為可存在於電腦系統中之各種特徵之功能描述而非作為本文中描述之實施方案之一結構示意圖。實務上,且如一般技術者辨識,可組合單獨展示之物項且可分離一些物項。
圖7中繪示耦合至一晶片組704之至少一個處理器702。一記憶體706、一儲存裝置708、一鍵盤710、一圖形配接器712、一指標裝置714及一網路配接器716亦耦合至晶片組704。一顯示器718耦合至圖形配接器712。在一項實施例中,藉由一記憶體控制器集線器720及一I/O集線器722提供晶片組704之功能性。在另一實施例中,記憶體706直接耦合至處理器702而非晶片組704。在一些實施例中,電腦700包含用於使此等組件互連之一或多個通信匯流排。一或多個通信匯流排視情況包含使系統組件之間的通信互連且控制系統組件之間的通信的電路系統(有時被稱為一晶片組)。
儲存裝置708係任何非暫時性電腦可讀儲存媒體,諸如一硬碟機、光碟唯讀記憶體(CD-ROM)、DVD或一固態記憶體裝置或其他光學儲存器、磁帶盒、磁帶、磁碟儲存器或其他磁性儲存裝置、磁碟儲存裝置、光碟儲存裝置、快閃記憶體裝置或其他非揮發性固態儲存裝置。此一儲存裝置708亦可被稱為永久記憶體。指標裝置714可為一滑鼠、軌跡球或其他類型之指標裝置,且與鍵盤710組合使用以將資料輸入至電腦700中。圖形配接器712在顯示器718上顯示影像及其他資訊。網路配接器716將電腦700耦合至一區域或廣域網路。
記憶體706保存處理器702使用之指令及資料。記憶體706可為非永久記憶體,其之實例包含高速隨機存取記憶體,諸如DRAM、SRAM、DDR RAM、ROM、EEPROM、快閃記憶體。
如此項技術中已知,一電腦700可具有除圖7中展示之組件以外之不同或其他組件。另外,電腦700可能缺少某些所繪示組件。在一項實施例中,充當一伺服器之一電腦700可能缺少一鍵盤710、指標裝置714、圖形配接器712或顯示器718。此外,儲存裝置708可位於本端或遠離電腦700 (諸如具體實施於一儲存區域網路(SAN)內)。
如此項技術中已知,電腦700經調適以執行用於提供本文中描述之功能性之電腦程式模組。如本文中使用,術語「模組」係指用於提供指定功能性之電腦程式邏輯。因此,可在硬體、韌體或軟體中實施一模組。在一項實施例中,程式模組儲存於儲存裝置708上,載入至記憶體706中,且藉由處理器702執行。
額外考量
上文描述之一些部分在演算法程序或操作方面描述實施例。此等演算法描述及表示常被熟習資料處理技術者用於將其等工作主旨有效地傳達給其他熟習此項技術者。此等操作在功能上、運算上或邏輯上描述時被理解為藉由包括供一處理器或等效電路執行之指令、微碼或類似者之電腦程式實施。此外,在不失一般性之情況下,有時亦證明將功能操作之此等配置稱為模組係方便的。
如本文中使用,對「一項實施例」或「一實施例」之任何引用意謂結合實施例描述之一特定元件、特徵、結構或特性包含於至少一項實施例中。在說明書中之各個位置出現之片語「在一項實施例中」不一定全部指代相同實施例。
可使用表述「耦合」及「連接」連同其等衍生詞來描述一些實施例。應瞭解,此等術語不意欲作為彼此的同義詞。舉例而言,可使用術語「連接」來描述一些實施例以指示兩個或更多個元件彼此直接實體或電接觸。在另一實例中,可使用術語「耦合」來描述一些實施例以指示兩個或更多個元件直接實體或電接觸。然而,術語「耦合」亦可意謂兩個或更多個元件彼此不直接接觸,但仍彼此合作或互動。實施例不限於此背景內容。
如本文中使用,術語「包括(comprises)」、「包括(comprising)」、「包含(includes)」、「包含(including)」、「具有(has)」、「具有(having)」或其等之任何其他變動意欲涵蓋一非排他包含。舉例而言,包括一元件清單之一程序、方法、物品或設備不一定限於僅該等元件,但可包含未明確列出或此程序、方法、物品或設備固有之其他元件。此外,除非相反地明確規定,否則「或」係指包含或而不係指排他或。舉例而言,一條件A或B滿足以下各者之任一者:A為真(或存在)且B為假(或不存在),A為假(或不存在)且B為真(或存在),且A及B皆為真(或存在)。
另外,採用「一」或「一個」之使用來描述實施例之元件及組件。此僅為了方便起見且給出本發明之一般意義而完成。此描述應被理解為包含一個或至少一個且單數亦包含複數,除非顯然另有含義。
在閱讀本發明後,熟習此項技術者將瞭解,用於驗證與一在線服務提供商之一帳戶之一系統及一程序之額外替代結構及功能設計對應於一真正業務。因此,雖然已繪示且描述特定實施例及應用程式,但應瞭解,所描述之標的不限於本文中揭示之精確構造及組件且可在所揭示之方法及設備之配置、操作及細節中作出熟習此項技術者將明白之各種修改、改變及變動。保護範疇應僅受以下發明申請專利範圍限制。
100:網路運算環境
105:網路
110:用戶端裝置
115:遊戲資料庫
120:遊戲伺服器
125:攝影機總成
130:深度估計模型
135:遊戲模組
140:定位模組
145:通用遊戲模組
150:商業遊戲模組
155:資料收集模組
160:事件模組
170:深度估計訓練系統
200:真實世界
210:虛擬世界
212:位置
214:位置
222:玩家位置
224:對應位置
230:虛擬元素
232:虛擬物項
240:地標、地理位置或物件
250:虛擬能量
300:遊戲介面/使用者介面
310:顯示視窗
315:玩家資訊
320:選單
330:通信介面
340:音訊控制
400:深度估計模型
410:輸入影像
415:額外影像
420:特徵提取器
430:特徵圖
435:額外特徵圖
440:姿態CNN
445:假設深度
450:扭曲模組
455:經扭曲特徵圖
460:l
1距離
470:成本量
485:跳過連接
490:深度圖
500:方法
510:操作
520:操作
530:操作
540:操作
550:操作
560:操作
600:方法
610:操作
620:操作
630:操作
640:操作
650:操作
700:電腦
702:處理器
704:晶片組
706:記憶體
708:儲存裝置
710:鍵盤
712:圖形配接器
714:指標裝置
716:網路配接器
718:顯示器
720:記憶體控制器集線器
722:I/O集線器
圖1繪示根據一或多項實施例之一網路運算環境。
圖2描繪根據一或多項實施例之具有與真實世界平行之一地理之一虛擬世界之一表示。
圖3描繪根據一或多項實施例之一平行實境遊戲之一例示性遊戲介面。
圖4繪示根據一或多項實施例之一深度估計模型。
圖5係描述根據一或多項實施例之運用立體影像資料及深度提示來訓練一深度估計模型之一般程序之一流程圖。
圖6係描述根據一或多項實施例之在一擴增實境應用中使用深度提示訓練之一深度估計模型之一實例使用之一流程圖。
圖7繪示根據一或多項實施例之適合用於訓練或應用一深度估計模型之一實例性電腦系統。
500:方法
510:操作
520:操作
530:操作
540:操作
550:操作
560:操作
Claims (20)
- 一種電腦實施方法,其包括: 接收包含一主影像及來自比該主影像更早之一時間的一額外影像之一場景的一時間序列影像; 將該時間序列影像輸入至一深度估計模型中; 接收該主影像之一深度圖作為來自該深度估計模型之輸出,已使用來自該主影像及該額外影像之資訊來產生該深度圖; 使用該深度圖來產生虛擬內容;及 顯示用該虛擬內容增強之場景之一影像。
- 如請求項1之電腦實施方法,其中從單眼視訊導出一場景之該時間序列影像。
- 如請求項1之電腦實施方法,其中接收該深度圖作為來自該深度估計模型之輸出包括: 針對該主影像產生一主特徵圖且針對該額外影像產生一額外特徵圖; 對於複數個深度平面之各者,基於該主影像與該額外影像之間的一相對姿勢而將該額外特徵圖扭曲至該深度平面; 對於各經扭曲特徵圖,計算該經扭曲特徵圖與該主特徵圖之間的一差異; 藉由連接該等經扭曲特徵圖與該主特徵圖之間的該等差異而建構一成本量; 其中該輸出基於該成本量及該主特徵圖。
- 如請求項3之電腦實施方法,其中藉由單獨訓練以判定兩個影像之間的該相對姿勢之一廻旋神經網路判定該相對姿勢。
- 如請求項3之電腦實施方法,其中使該額外特徵圖扭曲進一步基於用於擷取該主影像及該額外影像之一攝影機之本質。
- 如請求項3之電腦實施方法,其中該差異係一絕對差。
- 如請求項3之電腦實施方法,其中藉由以下各者訓練該深度估計模型: 調諧該複數個深度平面中之一最小深度平面及一最大深度平面。
- 如請求項3之電腦實施方法,其中藉由以下各者訓練該深度估計模型: 將一訓練次級影像輸入至一次級深度估計模型中以預測該訓練次級影像之一估計深度; 基於該估計深度產生二進制遮罩; 應用該二進制遮罩以從該訓練次級影像濾除不可靠像素;且 基於具有經濾除不可靠像素之該訓練次級影像及一訓練輸入影像而訓練該深度估計模型。
- 如請求項3之電腦實施方法,其中藉由以下各者訓練該深度估計模型: 根據一設定概率用一訓練輸入影像之一色彩增強版本隨機替換一訓練次級影像;且 與該訓練輸入影像相比,基於該訓練輸入影像之該色彩增強版本而訓練該深度估計模型。
- 如請求項3之電腦實施方法,其中藉由以下各者訓練該深度估計模型: 根據一設定概率將一訓練次級影像之一成本量隨機設定為一恆定值以產生一空白成本量;且 基於該空白成本量及一訓練輸入影像而訓練該深度估計模型。
- 一種儲存指令之非暫時性電腦可讀儲存媒體,該等指令在藉由一處理器執行時導致該處理器執行操作,該等操作包括: 接收包含一主影像及來自比該主影像更早之一時間的一額外影像之一場景的一時間序列影像; 將該時間序列影像輸入至一深度估計模型中; 接收該主影像之一深度圖作為來自該深度估計模型之輸出,已使用來自該主影像及該額外影像之資訊來產生該深度圖; 使用該深度圖來產生虛擬內容;及 顯示用該虛擬內容增強之場景之一影像。
- 如請求項11之非暫時性電腦可讀儲存媒體,其中從單眼視訊導出一場景之該時間序列影像。
- 如請求項11之非暫時性電腦可讀儲存媒體,其中接收該深度圖作為來自該深度估計模型之輸出包括: 針對該主影像產生一主特徵圖且針對該額外影像產生一額外特徵圖; 對於複數個深度平面之各者,基於該主影像與該額外影像之間的一相對姿勢而將該額外特徵圖扭曲至該深度平面; 對於各經扭曲特徵圖,計算該經扭曲特徵圖與該主特徵圖之間的一差異; 藉由連接該等經扭曲特徵圖與該主特徵圖之間的該等差異而建構一成本量; 其中該輸出基於該成本量及該主特徵圖。
- 如請求項13之非暫時性電腦可讀儲存媒體,其中藉由單獨訓練以判定兩個影像之間的該相對姿勢之一廻旋神經網路判定該相對姿勢。
- 如請求項13之非暫時性電腦可讀儲存媒體,其中使該額外特徵圖扭曲進一步基於用於擷取該主影像及該額外影像之一攝影機之本質。
- 如請求項13之非暫時性電腦可讀儲存媒體,其中該差異係一絕對差。
- 如請求項13之非暫時性電腦可讀儲存媒體,其中藉由以下各者訓練該深度估計模型: 調諧該複數個深度平面中之一最小深度平面及一最大深度平面。
- 如請求項13之非暫時性電腦可讀儲存媒體,其中藉由以下各者訓練該深度估計模型: 將一訓練次級影像輸入至一次級深度估計模型中以預測該訓練次級影像之一估計深度; 基於該估計深度產生二進制遮罩; 應用該二進制遮罩以從該訓練次級影像濾除不可靠像素;且 基於具有經濾除不可靠像素之該訓練次級影像及一訓練輸入影像而訓練該深度估計模型。
- 如請求項13之非暫時性電腦可讀儲存媒體,其中藉由以下各者訓練該深度估計模型: 根據一設定概率用一訓練輸入影像之一色彩增強版本隨機替換一訓練次級影像;且 與該訓練輸入影像相比,基於該訓練輸入影像之該色彩增強版本而訓練該深度估計模型。
- 如請求項13之非暫時性電腦可讀儲存媒體,其中藉由以下各者訓練該深度估計模型: 根據一設定概率將一訓練次級影像之一成本量隨機設定為一恆定值以產生一空白成本量;且 基於該空白成本量及一訓練輸入影像而訓練該深度估計模型。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063124757P | 2020-12-12 | 2020-12-12 | |
US63/124,757 | 2020-12-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202238068A true TW202238068A (zh) | 2022-10-01 |
TWI837557B TWI837557B (zh) | 2024-04-01 |
Family
ID=
Also Published As
Publication number | Publication date |
---|---|
US20220189049A1 (en) | 2022-06-16 |
WO2022123452A1 (en) | 2022-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7174139B2 (ja) | 深度ヒントを使用した深度推定モデルの自己教師ありトレーニング | |
US20220189049A1 (en) | Self-Supervised Multi-Frame Monocular Depth Estimation Model | |
US20220189060A1 (en) | Visual Camera Re-Localization using Graph Neural Networks and Relative Pose Supervision | |
US20230196690A1 (en) | High-Speed Real-Time Scene Reconstruction from Input Image Data | |
US11957978B2 (en) | Refining camera re-localization determination using prior pose model | |
TWI797571B (zh) | 用於自單一影像判定可遍歷空間之電腦實施方法及電腦可讀儲存媒體 | |
TWI837557B (zh) | 用於自監督多圖框單眼深度估計模型之電腦實施方法及非暫時性電腦可讀儲存媒體 | |
TWI839513B (zh) | 用於利用深度提示之深度預估模型之自我監督訓練之電腦實施之方法及非暫時性電腦可讀儲存媒體 | |
TWI829167B (zh) | 用於採用小波分解之影像深度預測之方法及非暫時性電腦可讀儲存媒體 | |
US20240046564A1 (en) | Simulated Consistency Check for Points of Interest on Three-Dimensional Maps | |
US20240216809A1 (en) | Refining Camera Re-Localization Determination Using Prior Pose Model | |
US20240202967A1 (en) | Accelerated Coordinate Encoding: Learning to Relocalize in Minutes Using RBG and Poses | |
US20240185478A1 (en) | Virtual Occlusion Mask Prediction Through Implicit Depth Estimation |