TW202201348A - 自單目影像產生立體影像資料 - Google Patents
自單目影像產生立體影像資料 Download PDFInfo
- Publication number
- TW202201348A TW202201348A TW110116994A TW110116994A TW202201348A TW 202201348 A TW202201348 A TW 202201348A TW 110116994 A TW110116994 A TW 110116994A TW 110116994 A TW110116994 A TW 110116994A TW 202201348 A TW202201348 A TW 202201348A
- Authority
- TW
- Taiwan
- Prior art keywords
- image
- disparity
- pixel
- depth
- game
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000006073 displacement reaction Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 4
- 238000012549 training Methods 0.000 abstract description 59
- 238000004891 communication Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 238000013480 data collection Methods 0.000 description 9
- 230000015572 biosynthetic process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000003786 synthesis reaction Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 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
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/261—Image signal generators with monoscopic-to-stereoscopic image conversion
- H04N13/268—Image signal generators with monoscopic-to-stereoscopic image conversion based on depth image-based rendering [DIBR]
-
- 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/25—Output arrangements for video game devices
- A63F13/26—Output arrangements for video game devices having at least one additional display device, e.g. on the game controller or outside a game booth
-
- 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/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- 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/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
- A63F13/525—Changing parameters of virtual cameras
-
- 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
-
- 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/67—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 adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
-
- 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
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- 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
-
- 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/593—Depth or shape recovery from multiple images from stereo images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/128—Adjusting depth or disparity
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8082—Virtual reality
-
- 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/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- 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/10028—Range image; Depth image; 3D point clouds
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Environmental & Geological Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Processing Or Creating Images (AREA)
Abstract
一種電腦系統自單目影像產生立體影像資料。該系統使用一單目深度估計方法為單一影像產生深度圖。該系統將該等深度圖轉換成視差圖且使用該等視差圖產生與該等單目影像形成立體對之額外影像。該等立體對可用來形成一立體影像訓練資料集用於訓練各種模型,包含深度估計模型或立體匹配模型。
Description
所描述之標的物大體上係關於機器視覺,且特定言之係關於自單目影像產生立體影像資料。
立體影像資料用於各種影像處理任務,包含立體匹配。立體匹配係判定一立體對中之影像之間的每像素位移(即視差)之程序。已採用各種方法來進行立體匹配,其中受訓練之深度網路係較成功實例之一者。然而,此等習知深度網路需要使用大量地面真實資料進行訓練。即,已知每個像素位移之立體影像對。產生此地面事實資料可能既昂貴又不便。例如,一種方法藉由使用LiDAR掃描儀評估場景來產生地面真實資料。一種替代方法係使用合成資料集(例如,由3D動畫軟體產生)訓練模型。然而,對於待在新穎實境世界場景中部署之此等模型,此通常需要使用來自目標域之額外對應資料進行大量微調。因此,需要適於訓練立體匹配模型或使用立體影像資料訓練之其他模型之新型立體影像源。
一電腦系統自單目影像產生立體影像資料。該系統使用一單目深度估計方法(諸如藉由使用一受訓練之單目深度估計模型)為單目影像產生深度圖。該系統將該等深度圖轉換成視差圖,且使用該等視差圖產生與該等單目影像形成立體對之額外影像。例如,該系統可藉由使用一對應視差圖前向撓曲該等單一影像來產生該等額外影像。該等立體對可用於產生一立體影像訓練資料集用於訓練各種類型之模型,諸如一深度估計模型或立體匹配模型。依此方式產生立體訓練資料使得可將單一RGB影像之一收集轉換成可用作訓練資料之立體影像對。與習知方法相比,此方法藉由減少對收集真實深度之依賴或使用人造設計之合成訓練資料來減少人力。
附圖及以下描述僅藉由圖解說明描述某些實施例。熟習此項技術者將自以下描述容易地認識到,在不脫離所描述之原理之情況下,可採用結構及方法之替代實施例。在可行之情況下,在附圖中使用類似或相同元件符號指示類似或相同功能。若元件共用一共同數字跟一不同字母,則此指示元件類似或相同。除非上下文另外指出,否則單獨地對數字之一引用通常指代此等元件之任何一者或任何組合。
在一平行實境遊戲之上下文中描述各種實施例,該平行實境遊戲在一虛擬世界地理環境中包含增強實境內容,該虛擬實境地理環境與實境世界地理環境之至少一部分平行,使得玩家在實境世界中之移動及動作影響在虛擬世界中之動作且反之亦然。使用本文中所提供之揭示內容之一般技術者將理解,所描述之標的物可適用於需要自影像資料判定深度資訊之其他情況。另外,基於電腦之系統之固有可撓性允許在系統組件之間當中的任務及功能之多種可行組態、組合及劃分。例如,可使用一單一計算裝置或跨多個計算裝置(例如,在一電腦網路中連接)來實施根據本發明之態樣之系統及方法。
圖1繪示適於提供一平行實境遊戲之一聯網計算環境100之一個實施例。聯網計算環境100提供一虛擬世界中玩家之互動,該虛擬世界具有與實境世界平行之一地理環境。特定言之,可將實境世界中之一地理區域直接鏈接或映射至虛擬世界中之一對應區域。一玩家可藉由移動至實境世界中之各種地理位置來在虛擬世界中移動。例如,可追蹤一玩家在實境世界中之位置且用來更新玩家在虛擬世界中之位置。通常,藉由找到一客戶端裝置110之位置來判定玩家在實境世界中之位置,透過其玩家與虛擬世界互動並假定玩家處於相同(或大致相同)位置處。例如,在各種實施例中,若玩家在實境世界中之位置在對應於虛擬世界中之一虛擬元素之虛擬位置之實境世界位置之一臨限值距離(例如,十米、二十米等等)內,則玩家可與該虛擬元素互動。為了方便起見,參考「玩家之位置」描述各種實施例,但熟習此項技術者將瞭解,此等參考可指玩家之客戶端裝置110之位置。
聯網計算環境100使用一客戶端伺服器架構,其中一遊戲伺服器120通過一網路170與一客戶端裝置110通信以向客戶端裝置110處之玩家提供一平行實境遊戲。聯網計算環境100亦可包含其他外部系統,諸如贊助商/廣告商系統或業務系統。儘管在圖1中僅繪示一個客戶端裝置110,然任何數目個客戶端110或其他外部系統可通過網路170連接至遊戲伺服器120。此外,聯網計算環境100可含有不同或額外元素且可依不同於下文所描述之一方式在客戶端裝置110與伺服器120之間分佈功能。
一客戶端裝置110可為由一玩家可用來與遊戲伺服器120互動之任何可攜式計算裝置。例如,一客戶端裝置110可為一無線裝置、一個人數位助理(PDA)、可攜式遊戲裝置、蜂巢式電話、智慧型電話、平板電腦、導航系統、手持GPS系統、可穿戴計算裝置、具有一或多個處理器之一顯示器或其他此等裝置。在另一例項中,客戶端裝置110包含一習知電腦系統,諸如一桌上型電腦或一膝上型電腦。仍然,客戶端裝置110可為具有一計算裝置之一車輛。簡而言之,一客戶端裝置110可為可能夠使一玩家與遊戲伺服器120互動之任何電腦裝置或系統。作為一計算裝置,客戶端裝置110可包含一或多個處理器及一或多個電腦可讀儲存媒體。電腦可讀儲存媒體可儲存使處理器執行操作之指令。客戶端裝置110較佳地係一可攜式計算裝置,其可使用一玩家(諸如一智慧型電話或平板電腦)容易地攜帶或以依其他方式運輸。下文參考圖2更詳細地描述客戶端裝置110之各種實施例。
遊戲伺服器120可為任何計算裝置且可包含一或多個處理器及一或多個電腦可讀儲存媒體。電腦可讀儲存媒體可儲存使處理器執行操作之指令。在各種實施例中,遊戲伺服器120維護一主遊戲狀態之一副本並管理玩家之客戶端裝置110之間的互動,使得所有玩家與一一致遊戲世界互動。
遊戲伺服器120可經組態以自一客戶端裝置110接收對遊戲資料之請求(例如經由遠端程序調用(RPC))並經由網路170回應彼等請求。例如,遊戲伺服器120可將遊戲資料編碼於一或多個資料檔中並將資料檔提供給客戶端裝置110。另外,遊戲伺服器120可經組態以經由網路170自一客戶端裝置110接收遊戲資料(例如,玩家位置、玩家動作、玩家輸入等等)。例如,客戶端裝置110可經組態以定期向遊戲伺服器120發送玩家輸入及其他更新,遊戲伺服器120使用該等更新來更新遊戲資料庫130中之遊戲資料以反映遊戲之任何及所有更改條件。下文參考圖3更詳細地描述遊戲伺服器120之各種實施例。
遊戲伺服器120可包含一遊戲資料庫130或與一遊戲資料庫130通信。遊戲資料庫130儲存在平行實境遊戲中使用之遊戲資料以通過網路170服務或提供給客戶端裝置110。儲存在遊戲資料庫130中之遊戲資料可包含:(1)與平行實境遊戲中之虛擬世界相關聯之資料(例如,用於在一顯示裝置上呈現虛擬世界之影像資料、虛擬世界中之位置之地理坐標等等);(2)與平行實境遊戲之玩家相關聯之資料(例如,玩家概況,包含(但不限於)玩家資訊、玩家經驗等級、玩家貨幣、虛擬世界/實境世界中之當前玩家位置、玩家精力等級、玩家偏好、團隊資訊、派系資訊等等);(3)與遊戲目標相關聯之資料(例如,與當前遊戲目標、遊戲目標之狀態、過去遊戲目標、未來遊戲目標、所需遊戲目標等等相關聯之資料);(4)與虛擬世界中之虛擬元素相關聯之資料(例如虛擬元素之位置、虛擬元素之類型、與虛擬元素相關聯之遊戲目標;虛擬元素之對應實際世界位置資訊;虛擬元素之行為、虛擬元素之相關性等等);(5)與實境世界對象、地標、鏈接至虛擬世界元素之位置相關聯之資料(例如,實境世界對象/地標之位置、實境世界對象/地標之描述、鏈接至實境世界對象之虛擬元素之相關性等等);(6)遊戲狀態(例如,當前玩家數目、遊戲目標之當前狀態、玩家排行榜等等);(7)與玩家動作/輸入相關聯之資料(例如,當前玩家位置、過去玩家位置、玩家移動、玩家輸入、玩家詢問、玩家通信等);及(8)在平行實境遊戲之實施方案期間使用、相關或獲得之任何其他資料。儲存於遊戲資料庫130中之遊戲資料可由系統管理員離線或即時填充或由自遊戲之使用者/玩家(諸如通過網路170自一客戶端裝置110)接收之資料填充。
模型訓練系統140訓練用於提供遊戲特徵或內容之一或多個模型。在一個實施例中,模型訓練系統140訓練一深度估計模型以自一單一輸入影像構建深度圖。可使用立體訓練資料、視訊訓練資料(其近似於真實立體資料)或兩者之一組合來訓練模型。在相同或不同實施例中,模型訓練系統140訓練一立體匹配模型以判定一對立體影像之間的每像素水平位移。在此等或其他實施例中,模型訓練系統140自單一輸入影像產生立體影像資料,諸如用於訓練一深度估計模型或一立體匹配模型。下文參考圖4更詳細地描述模型訓練系統之各種實施例。
網路170可為任何類型之通信網路,諸如一區域網路(例如內部網路)、廣域網路(例如網際網路)或其等之一些組合。該網路亦可包含一客戶端裝置110與遊戲伺服器120之間的一直接連接。一般而言,遊戲伺服器120與一客戶端裝置110之間的通信可經由一網路介面使用任何類型之有線或無線連接、使用各種通信協議(例如,TCP/IP、HTTP、SMTP、FTP)、編碼或格式(例如,HTML、XML、JSON)或保護方案(例如,VPN、安全HTTP、SSL)攜載。
本文中所討論之技術參考伺服器、資料庫、軟體應用程式及其他基於電腦之系統,以及對此等系統採取之行動及發送之資訊。一般技術者將認識到,基於電腦之系統之固有可撓性允許組件之間及組件當中之任務及功能之多種可行組態、組合及劃分。例如,可使用一單一伺服器或組合工作之多個伺服器來實施本文中所討論之伺服器程序。資料庫及應用程式可在一單一系統上實施或可跨多個系統。分佈式組件可循序或平行運行。
另外,在其中本文中所討論之系統及方法存取及分析關於使用者之個人資訊或利用個人資訊(諸如位置資訊)之情況下,可為使用者提供控制是否程式或特徵收集資訊且控制是否或如何自系統或其他應用程式接收內容之一機會。在已向使用者提供有關待收集哪些資訊及如何使用該資訊之有意義通知之前,不收集或使用此等資訊或資料。除非使用者提供同意,否則不收集或使用該資訊,該資訊可由使用者隨時撤銷或修改。因此,使用者可控制如何收集有關使用者之資訊及如何由應用程式或系統使用。另外,某些資訊或資料可在儲存或使用之前依一或多種方式處理,使得移除個人身份資訊。例如,一使用者之身份可經處理,使得無法為該使用者判定個人身份資訊。
圖2繪示一客戶端裝置110之一個實施例。在所展示之實施例中,客戶端裝置110包含一遊戲模組210、一定位模組220、一相機總成230及一立體匹配模組240。在其他實施例中,一客戶端裝置110可包含不同或額外元件。此外,功能可依與所描述之方式不同之方式在元件之間分佈。
遊戲模組210為一玩家提供參與平行實境遊戲之一介面。遊戲伺服器120通過網路170將遊戲資料傳輸至客戶端裝置110以供遊戲模組210使用以向遠離遊戲伺服器120之位置之玩家提供遊戲之本地版本。在一個實施例中,遊戲模組210呈現在與客戶端裝置110相關聯之一顯示裝置上之一使用者介面,其顯示與遊戲相關聯之一虛擬世界(例如,呈現虛擬世界之影像)且允許一使用者在虛擬世界中互動以執行各種遊戲目標。在一些實施例中,遊戲模組210呈現來自由來自平行實境遊戲之虛擬元素增強之實境世界之影像資料(例如由相機總成230捕獲)。在此等實施例中,遊戲模組210可根據自客戶端裝置110之其他組件接收之其他資訊來產生虛擬內容或調整虛擬內容。例如,遊戲模組210可根據在影像資料中捕獲之場景之一深度圖(例如,如由一深度估計模型產生)調整待顯示在使用者介面上之一虛擬對象。
遊戲模組210亦可控制各種其他輸出以允許一玩家與遊戲互動而無需玩家觀看一顯示螢幕。例如,遊戲模組210可控制各種音訊、振動或其他通知,該等通知允許玩家在不看顯示螢幕之情況下玩遊戲。遊戲模組210可存取自遊戲伺服器120接收之遊戲資料以向使用者提供遊戲之一準確表示。遊戲模組210可接收並處理玩家輸入且通過網路170向遊戲伺服器120提供更新。遊戲模組210亦可產生或調整待由客戶端裝置110顯示之遊戲內容。例如,遊戲模組210可基於深度資訊(例如,如由應用於由相機總成230捕獲之一或多個影像之一深度估計模型所判定)來產生一虛擬元素。
定位模組220可為用於監測客戶端裝置110之位置之任何裝置或電路系統。例如,定位模組220可藉由使用一衛星導航定位系統(例如,一GPS系統、一伽利略定位系統、全球導航衛星系統(GLONASS)、北斗衛星導航及定位系統)、一慣性導航系統、一推測航行系統、基於IP位址、藉由使用三角量測或接近行動通信基地塔或Wi-Fi熱點或用於判定位置之其他合適技術來判定實際或相對位址。定位模組220可進一步包含各種其他感測器,其等可幫助精確地定位客戶端裝置110之位置。
當玩家在實境世界中與客戶端裝置110一起移動時,定位模組220追蹤玩家之位置且將玩家位置資訊提供給遊戲模組210。遊戲模組210基於玩家在實境世界中之實際位置更新玩家在與遊戲相關聯之虛擬世界中之位置。因此,一玩家可簡單地藉由在實境世界中攜帶或運輸客戶端裝置110來與虛擬世界互動。特定言之,玩家在虛擬世界中之位置可對應於玩家在實境世界中之位置。遊戲模組210可通過網路170向遊戲伺服器120提供玩家位置資訊。作為回應,遊戲伺服器120可制定各種技術來驗證客戶端裝置110之位置以防止詐騙者電子欺騙客戶端裝置110之位置。應理解,僅在已通知一玩家已待存取該玩家之位置資訊及如何在遊戲之上下文中(例如更新玩家在虛擬世界中之位置)利用該位置資訊之後才給予許可,才利用與該玩家相關聯之位置資訊。另外,將依保護玩家隱私之一方式來儲存及維護與玩家相關聯之任何位置資訊。
相機總成230包含一或多個相機,該一或多個相機經組態以捕獲客戶端裝置110所位於之實體環境之影像。一影像中所描繪之實體環境之部分稱為一場景。相機總成230捕獲對應於場景之影像資料且將其儲存於客戶端裝置之一儲存媒體中。另外或替代地,影像資料可經由網路170發送至遊戲伺服器120。相機總成230可利用具有以不同捕獲率變化之色彩捕獲範圍之各種變化之光電感測器。相機總成230可包含一廣角鏡頭或一遠攝鏡頭。相機總成230可經組態以捕獲單一影像或視訊作為影像資料。客戶端裝置110亦可包含用於記錄關於客戶端裝置之實體環境之資料之其他感測器,諸如加速度計、陀螺儀、慣性量測單元(IMU)、氣壓計、溫度計、光感測器、麥克風等等。影像資料可附有描述影像資料之其他細節之元資料,包含感覺資料(例如溫度、環境亮度)或捕獲資料(例如曝光、溫暖、快門速度、焦距、捕獲時間等等)。
立體匹配模組240拍攝一立體影像對且判定左影像中之像素與右影像中之像素之間的每像素水平位移(即視差)或反之亦然。立體對可由客戶端裝置110上之一對相機或不同客戶端裝置110上之一對相機(例如,具有立體匹配模組240之客戶端裝置及一第二相機裝置)以相對於彼此之已知位置捕獲。替代地,立體對可為由一單一相機捕獲之一視訊中之一對圖框。
在各種實施例中,立體匹配模組240應用一立體匹配模型(例如,如由模型訓練系統140訓練)以產生指示如何將一個影像之像素轉譯成該對中之另一影像之像素之一映射。此映射可用於提供增強實境內容。例如,對於具有捕獲一場景之重疊部分之兩個或兩個以上相機之一客戶端裝置110,可使用立體匹配模型來獲得由兩個或兩個以上相機捕獲之場景之部分之一更佳理解,使得增強實境內容(例如一AR角色)以一更真實方式與場景互動。下文參考圖4更詳細地描述訓練此一模型之各種方法。此外,客戶端裝置110可包含一深度估計模型(例如,由模型訓練系統140訓練之一機器學習模型)用於估計相機總成230與對應於一影像中之各像素之實體對象之間的距離。
圖3繪示遊戲伺服器120之一個實施例。在所展示之實施例中,遊戲伺服器120包含一通用遊戲模組310、一商業遊戲模組320、一資料收集模組330及一事件模組340。如上文所提及,遊戲伺服器120與可為遊戲伺服器120之部分或可遠端存取之一遊戲資料庫130互動(例如,遊戲資料庫130可為經由網路170存取之一分佈式資料庫)。在其他實施例中,遊戲伺服器120含有不同或額外元件。另外,功能可依與所描述之方式不同之一方式在元件之間分配。例如,遊戲資料庫130可整合至遊戲伺服器120中。
通用遊戲模組310託管所有玩家之平行實境遊戲且充當所有玩家之平行實境遊戲之當前狀態之權威來源。作為主機,通用遊戲模組310產生遊戲內容用於(例如)經由其等各自客戶端裝置110呈現給玩家。通用遊戲模組310可在託管平行實境遊戲時存取遊戲資料庫130以檢索或儲存遊戲資料。通用遊戲模組310亦自客戶端裝置110接收遊戲資料(例如深度資訊、玩家輸入、玩家位置、玩家動作、地標資訊等等)且將所接收之遊戲資料併入整體平行實境遊戲中,以供平行實境遊戲之所有玩家使用。通用遊戲模組310亦可管理通過網路170向客戶端裝置110之遊戲資料之傳遞。通用遊戲模組310亦可管理客戶端裝置110之安全態樣,包含(但不限於)保護客戶端裝置110與遊戲伺服器120之間的連接、在各種客戶端裝置110之間建立連接及驗證各種客戶端裝置110之位置。
在其中包含一個之實施例中,商業遊戲模組320可與通用遊戲模組310分開或作為其一部分。商業遊戲模組320可管理與實境世界中之一商業活動鏈接之平行實境遊戲內各種遊戲特徵之包含。例如,商業遊戲模組320可通過網路170 (經由一網路介面)自外部系統(諸如贊助商/廣告商、企業或其他實體)接收請求以將與商業活動鏈接之遊戲特徵包含於平行實境遊戲中。接著,商業遊戲模組320可配置將此等遊戲特徵包含於平行實境遊戲中。
在其中包含一個之實施例中,資料收集模組330可與通用遊戲模組310分離或為通用遊戲模組310之一部分。資料收集模組330可管理平行實境遊戲內與實境世界中之一資料收集活動鏈接之各種遊戲特徵之包含。例如,資料收集模組330可修改儲存於遊戲資料庫130中之遊戲資料以包含與平行實境遊戲中之資料收集活動鏈接之遊戲特徵。資料收集模組330亦可分析及收集由玩家收集之資料(例如,作為一眾包工作之部分)並提供資料以供各種平台存取。為提供一具體實例,可提示玩家提交其等之環境中之地標及其他感興趣特徵之照片且資料收集模組330可基於玩家提交(例如,待驗證地標是否存在及是否位於提交玩家指示之位置)將對應於實境世界之地標或特徵之虛擬元素併入至平行實境遊戲中。
事件模組340管理玩家對平行實境遊戲中之事件之存取。儘管為方便起見使用術語「事件」,但應瞭解,此術語不必指代在一特定位置或時間之一特定事件。而係,其可係指存取控制之遊戲內容之任何提供,其中一或多個存取標準用於判定玩家是否可存取該內容。此內容可為一較大平行實境遊戲之部分,該較大平行實境遊戲包含具有較少存取控制或沒有存取控制之遊戲內容或可為一獨立、存取控制之平行實境遊戲。
圖4繪示模型訓練系統140之一個實施例,其經組態以自單目影像產生立體影像(例如,用於訓練一立體匹配或深度估計模型)。在所展示之實施例中,模型訓練系統140包含一深度估計模組410、一視差圖模組420、一銳化模組430、一立體合成模組440、一遮擋模組450、一衝突模組460及一訓練模組470。在其他實施例中,模型訓練系統140含有不同或額外元素。另外,功能可依與所描述之方式不同之一方式在元素之間分佈
深度估計模組410將一單目深度估計模型(例如一神經網路)應用於一輸入影像以產生該影像之一深度圖。單目深度估計模型可為一現成模型或一經特殊訓練之定制模型。在一個實施例中,深度圖包含針對輸入影像中之各像素之一估計深度。
視差圖模組420將由深度估計模組410產生之深度圖轉換成一視差圖。視差與深度成反比,且可使用自一個轉換成另一個之任何合適方法。在一些實施例中,視差圖模組420藉由應用一視差估計函數將深度圖轉換成一視差圖,該視差估計函數模擬用於判定深度圖或相機焦距之基線方法之可行類型之一範圍。在一個實施例中,視差圖模組420使用以下視差估計函數來使用深度圖來判定視差圖:
其中D
係視差圖,Z
係深度圖,Zmax
係一最大深度圖(例如,若深度係自零至一量測之一比例值,則深度值為1),且s
係自一最小視差值至一最大視差值之一範圍隨機採樣之一縮放因數。最小視差值及最大視差值確保所產生之視差值在一合理範圍內且可使用各種技術(諸如藉由使用預定義值)來判定。
銳化模組430,若包含,則應用一銳化程序以校正由深度估計模組410產生之深度圖中之模糊邊緣。在一個實施例中,銳化模組430將銳化程序應用於由視差圖模組420產生之視差圖。特定言之,銳化模組430調整在視差圖中識別之飛行像素,其中飛行像素係由於位於代表深度表面之像素(例如,場景中之實體對象)之間而導致不準確視差值之像素。例如,飛行像素可具有指示一深度表面之視差值,該深度表面歸因於在於對應於場景中實際存在之兩個或兩個以上深度表面之像素之間而實際上應存在空白空間。在一個實施例中,銳化模組430識別視差圖中之飛行像素作為一Sobel邊緣濾波器之一回應大於一臨限值(例如三個)之飛行像素。可基於視差圖中之一或多個非飛行像素之視差值來設置一飛行像素之視差值,諸如,視差圖中距飛行像素最近之非飛行像素。可使用各種技術來調整飛行像素之視差值,諸如將飛行像素之視差值設置為等於非飛行像素之視差值或多個非飛行像素之一平均視差值。此銳化程序藉由消除一些或全部飛行像素而導致視差圖中之較銳利邊緣。在相同或不同實施例中,銳化模組430在使用深度圖產生視差圖之前將一銳化程序直接應用於深度圖。
立體合成模組440藉由基於視差圖變換輸入影像來產生一人造第二影像以與輸入影像形成一立體對。例如,輸入影像可被認為係一左影像且人造影像係一右影像之一估計,該估計將由一假設第二相機在與捕獲輸入影像之相機相距右側之一固定距離處產生。類似地,輸入影像可被認為係一右影像且人造影像係一左影像之一估計。在一些實施例中,立體合成模組440藉由根據所判定之視差圖前向撓曲輸入影像中之像素來產生人造第二影像。立體合成模組440可根據對應於視差圖中之輸入像素之一視差值將輸入影像中之一像素向左或向右平移一些像素。例如,若對應於輸入影像中之一像素之視差圖中之視差值為5,則立體合成模組可將像素撓曲至第二影像中向右或向左一位置五個像素。在其他情況下,立體合成模組440可使用其他寬變換來前向撓曲像素。
遮擋模組450校正由前向翹曲程序導致之遮擋孔。遮擋孔係所產生之影像之區域,因為自輸入影像中之相機之角度來看其等被遮擋在一對象後面,因此像素不會自輸入影像變形至該區域。在一個實施例中,遮擋模組450使用來自一額外影像或來自輸入影像之另一區域之一紋理來填充所產生影像中之遮擋孔。若一額外影像用於填充遮擋孔,則該額外影像可為訓練集中之其他影像。可使用各種技術自訓練集選擇額外影像,諸如根據一或多個影像相似性度量,隨機選擇或與輸入影像具有一臨限值相似性之影像。可(諸如)藉由使用自輸入影像至自其獲得紋理之影像之一色彩轉移程序來調整用於填充遮擋孔之紋理中之像素之色彩以匹配所產生影像之整體輪廓。
衝突模組460解決由於輸入影像之多個像素翹曲至所產生影像中之相同像素位置而導致之像素衝突。衝突模組460可藉由自多個衝突像素選擇一個像素以用於所產生影像來解決此等像素衝突。在一個實施例中,衝突模組460在對應於相對於其他衝突像素之視差圖中之最大視差值之衝突像素中選擇一像素,因為最大視差值指示最短深度(即,最接近相機)。在其他實施例中,可使用不同技術自輸入影像之多個像素選擇一像素或依其他方式解決像素衝突。
訓練模組470使用由以上技術自單目影像產生之立體影像對來訓練一或多個模型。特定言之,訓練模組470可產生立體影像對之一訓練集,該立體影像對包含立體影像及立體影像之間的每像素之地面真實水平位移值。訓練模組470可使用立體影像對之訓練集來訓練一立體匹配模型以在給定一立體影像對之情況下預測每像素之水平位移。例如,訓練模組470可訓練一深度立體匹配網路。在相同或不同實施例中,訓練模組470可使用立體影像對來訓練其他類型之模型,諸如單目或立體深度估計模型。例如,訓練模組470可使用自我監督或半監督訓練技術來使用一組立體影像來訓練一深度估計模型。依此方式,可產生立體訓練資料而無需花費費用或捕獲立體影像之複雜性,使用雷達獲得地面真實深度資料或其類似者。另外或替代地,依此方式產生之立體對可用於補充其他形式之訓練資料。
例示性平行遊戲
圖5描繪根據一個實施例之與可充當一平行實境遊戲之玩家之遊戲板之實境世界500平行之一虛擬世界510之一概念圖。如所繪示,虛擬世界510可包含與實境世界500之地理區域平行之一地理區域。特定言杭州,界定實境世界500中之一地理區域或空間之一坐標範圍經映射至定義虛擬世界510中之一虛擬空間之一對應坐標範圍。實境世界500中之坐標範圍可與一城鎮、鄰裡、城市、校園、場所、一國家、大陸、整個地球或其他地理區域相關聯。地理坐標範圍中之各地理坐標映射至虛擬世界中一虛擬空間中之一對應坐標。
一玩家在虛擬世界510中之位置對應於玩家在實境世界500中之位置。例如,位於實境世界500中之位置512處之玩家A在虛擬世界510中具有一對應位置522。類似地,位於實境世界中之位置514處之玩家B在虛擬世界中具有一對應位置524。當玩家在實境世界中之一地理坐標範圍中移動時,玩家亦在界定虛擬世界510中之虛擬空間之坐標範圍中移動。特定言之,當玩家在實境世界中導航地理坐標範圍時,與由玩家攜帶之一行動計算裝置相關聯之一定位系統(例如一GPS系統)可用於追蹤一玩家之位置。與玩家在實境世界500中之位置相關聯之資料用於更新玩家在界定虛擬世界510中之虛擬空間之對應坐標範圍中之位置。依此方式,玩家可藉由簡單地在實境世界500中之對應地理坐標範圍之間行進而無需在實境世界500中之特定離散位置處檢入或定期更新位置資訊而在界定虛擬世界510中之虛擬空間之坐標範圍中沿一連續軌跡導航。
基於位置之遊戲可包含複數個遊戲目標,該等遊戲目標要求玩家行進至分散在虛擬世界中各種虛擬位置之各種虛擬元素或虛擬對象或與其互動。一玩家可藉由行進至實境世界中虛擬元素或對象之對應位置來行進至此等虛擬位置。例如,一定位系統可連續地追蹤玩家之位置,使得隨著玩家連續地導航實境世界,玩家亦連續地導航平行虛擬世界。接著,玩家可在特定位置與各種虛擬元素或對象互動以達成或執行一或多個遊戲目標。
例如,一遊戲目標具有使玩家與位於虛擬世界510中之各種虛擬位置之虛擬元素530互動。此等虛擬元素530可鏈接至實境世界500中之地標、地理位置或對象540。實境世界之地標或對象540可為藝術品、紀念碑、建築物、企業、圖書館、博物館或其他合適實境世界地標或對象。互動包含捕獲、使用一些虛擬物品主張所有權、花費一些虛擬貨幣等等。為了捕獲此等虛擬元素530,一玩家必須行進至鏈接至實境世界中虛擬元素530之地標或地理位置540且必須執行與虛擬世界510中之虛擬元素530之任何必要互動。例如,玩家A可必須行進至實境世界500中之一地標540以便與該特定地標540鏈接之一虛擬元素530互動或捕獲其。與虛擬元素530之互動可需要實境世界中之動作,諸如拍攝一照片或驗證、獲得或捕獲關於與虛擬元素530相關聯之地標或對象540之其他資訊。
遊戲目標可要求玩家使用由基於位置之遊戲中玩家收集之一或多個虛擬物品。例如,玩家可行進在虛擬世界510中,以尋找可對完成遊戲目標有用之虛擬物品(例如,武器、生物、道具或其他物品)。此等虛擬物品可藉由行進至實境世界500中之不同位置或藉由在虛擬世界510或實境世界500中完成各種動作來找到或收集。在圖5中所展示之實例中,一玩家使用虛擬物品532來捕獲一或多個虛擬元素530。特定言之,一玩家可將虛擬物品532部署在虛擬世界510中靠近虛擬元素530或在虛擬元素530內之位置處。依此方式部署一或多個虛擬物品532可導致針對特定玩家或針對特定玩家之團隊/陣營之虛擬元素530之捕獲。
在一個特定實施方案中,作為平行實境遊戲之部分,一玩家可能必須收集虛擬能量。如圖5中所描繪,虛擬能量550可散佈在虛擬世界510中之不同位置處。一玩家可藉由行進至實境世界500中之虛擬能量550之對應位置來收集虛擬能量550。虛擬能量550可用於支援虛擬物品或在遊戲中執行各種遊戲目標。失去所有虛擬能量550之一玩家可與遊戲斷開連接。
根據本發明之態樣,平行實境遊戲可為一大型多人基於位置之遊戲,其中游戲中之各參與者共用相同虛擬世界。玩家可分為單獨團隊或派系且可共同努力達成一或多個遊戲目標,諸如捕獲或主張一虛擬元素之所有權。依此方式,平行實境遊戲本質上可為鼓勵遊戲內玩家之間合作之一社交遊戲。在平行實境遊戲期間,來自相反團隊之玩家可彼此合作(或有時合作以達成共同目標)。一玩家可使用虛擬物品來攻擊或阻礙對手在對戰團隊中之前進。在一些情況下,鼓勵玩家聚集在實境世界位置處,以進行平行實境遊戲中之合作或互動事件。在此等情況下,遊戲伺服器設法確保玩家確實在場且沒有電子欺騙。
平行實境遊戲可具有各種特徵以增強及鼓勵平行實境遊戲內之遊戲玩法。例如,玩家可積累在整個遊戲中可使用之一虛擬貨幣或另一虛擬獎勵(例如,虛擬代幣、虛擬積分、虛擬材料資源等等)(例如,購買遊戲中之物品,兌換其他物品,製作物品等等)。隨著玩家完成一或多個遊戲目標並在遊戲內獲得經驗,玩家可前進至各種級別。在一些實施例中,玩家可透過遊戲中提供之一或多個通信介面彼此通信。玩家亦可獲得增強「力量」或虛擬物品,其可用於完成遊戲內之遊戲目標。使用本文中所提供之揭示內容之一般技術者應理解,在不脫離本發明內容之範疇之情況下,平行實境遊戲可包含各種其他遊戲特徵。
圖6描繪可在一客戶端裝置110之一顯示器上呈現之一遊戲介面600之一個實施例,作為一玩家與虛擬世界510之間的介面之部分。遊戲介面600包含可用於顯示虛擬世界510及遊戲之其他各種態樣(諸如玩家位置522及虛擬世界510中虛擬元素530、虛擬物品532及虛擬能量550之位置)之一顯示視窗610。使用者介面600亦可顯示其他資訊,諸如遊戲資料資訊、遊戲通訊、玩家資訊、客戶位置驗證說明及與遊戲相關聯之其他資訊。例如,使用者介面可顯示玩家資訊615,諸如玩家名稱、經驗等級及其他資訊。使用者介面600可包含用於存取各種遊戲設置及與遊戲相關聯之其他資訊之一菜單620。使用者介面600亦可包含一通信介面630,該通信介面630使遊戲系統與玩家之間及平行實境遊戲之一或多個玩家之間能夠通信。
根據本發明之態樣,一玩家可藉由簡單地在實境世界中隨身攜帶一客戶端裝置110來與平行實境遊戲互動。例如,一玩家可藉由簡單地進入與一智慧型電話上之平行實境遊戲相關聯之一應用程式並通過智慧型電話在實境世界中移動來玩遊戲。就此而言,玩家不必為了在基於位置之遊戲上玩而在一顯示螢幕上連續觀看虛擬世界之一視覺表示。因此,使用者介面600可包含允許一使用者與遊戲互動之複數個非視覺元素。例如,當玩家接近遊戲中之一虛擬元素或對象時或在平行實境遊戲中發生一重要事件時,遊戲介面可向玩家提供聲音通知。一玩家可通過音訊控制640控制此等聲音通知。可取決於虛擬元素或事件之類型向使用者提供不同類型之音訊通知。音訊通知之頻率或音量可增加或減少,取決於一玩家對一虛擬元素或對象之接近度。可向使用者提供其他非可視通知及信號,諸如一振動通知或其他合適通知或信號。
使用本文中所提供之揭示內容,一般技術者將瞭解,鑑於此揭示內容,將明白許多遊戲介面組態及底層功能。本發明不旨在限於任何一種特定組態。
產生立體資料
圖7係描述根據一或多個實施例之使用單目影像資料產生立體影像資料之一般程序700之一流程圖。程序700產生包含一輸入影像及一所產生影像之一立體影像對。如本文中所描述,程序700由模型訓練系統140執行。在其他實施例中,程序700可在其他計算裝置(諸如客戶端裝置110或遊戲伺服器120)上執行。此外,程序700之一些實施例可包含不同或額外步驟,以不同順序執行步驟或平行執行一或多個步驟。
在所展示之實施例中,程序700包含模型訓練系統140接收710一場景之一第一影像。場景之第一影像可由作為模型訓練系統140之一組件或在模型訓練系統140外部之一相機捕獲。第一影像可為由相機捕獲之一單一影像或替代地為來自由相機捕獲之視訊之一圖框。此外,第一影像可為旨在使用程序700產生立體影像對之一訓練集之一組單目影像之一者。
程序700包含模型訓練系統140判定720影像之一深度圖。例如,模型訓練系統140可使用一預訓練單目深度估計模型來判定深度圖,如上文參考深度估計模組410所描述。
程序700亦包含模型訓練系統140,該模型訓練系統140將深度圖轉換730成一視差圖。例如,模型訓練系統140可藉由將一視差估計函數應用於深度圖來將深度圖轉換成一視差圖,如上文參考視差圖模組420所描述。模型訓練系統140可另外應用一銳化程序至視差圖,如上文參考銳化模組430所描述。
程序700進一步包含模型訓練系統140使用視差圖自第一影像產生740一第二影像,其中第一影像及第二影像形成一立體對。例如,第一影像及第二影像可為一立體對之各自左影像及右影像或反之亦然。模型訓練系統140可藉由根據由視差圖界定之一變換使第一影像之像素前向撓曲來產生第二影像,如上文參考立體合成模組440所描述。例如,模型訓練系統140可藉由將第一影像之各個像素移位對應於個別像素之視差圖中之一視差值來使第一影像前向撓曲。在形成包含第一影像及第二影像之立體對之後,模型訓練系統140可使用立體對來產生立體影像對之一訓練集用於訓練一立體深度估計模型,如上文參考訓練模組470所描述。
模型訓練系統140可對所產生之第二影像執行進一步處理。例如,如上文參考遮擋模組450所描述來校正遮擋孔或如上文參考衝突模組460所描述來解決像素衝突。所產生之第二影像可與原始影像一起用作一立體對用於一訓練深度估計或立體匹配模型。
實例計算系統
圖8繪示根據一個實施例之一計算裝置之實例架構。儘管圖8描繪一高階方塊圖,其繪示用作本文中所描述之一或多個實體之部分或全部之一電腦之實體組件,但根據一實施例,一電腦可具有圖8中提供之組件之額外、更少或變體。儘管圖8描繪一電腦800,但該圖旨在作為電腦系統中可能存在之各種特徵之功能描述,而非作為本文中所描述之實施方案之一結構示意圖。在實踐中,且如一般技術者所認識,可組合單獨展示之項目且可分離一些項目。
圖8中所繪示係耦合至一晶片組804之至少一個處理器802。亦耦合至晶片組804的係一記憶體806、一儲存裝置808、一鍵盤810、一圖形適配器812、一指示裝置814及一網路適配器816。一顯示器818耦合至圖形適配器812。在一個實施例中,晶片組804之功能由一記憶體控制器集線器820及I/O集線器822提供。在另一實施例中,記憶體806直接耦合至處理器802而非晶片組804。在一些實施例中,電腦800包含用於互連此等組件之一或多個通信匯流排。一或多個通信匯流排可選地包含互連並控制系統組件之間的通信之電路系統(有時稱為一晶片組)。
儲存裝置808係任何非暫時性電腦可讀儲存媒體,諸如一硬碟機、光碟唯讀記憶體(CD-ROM)、DVD或一固態記憶體裝置或其他光儲存、盒式磁帶、磁帶、磁碟儲存器或其他磁性儲存裝置、磁碟儲存裝置、光碟儲存裝置、快閃記憶體裝置或其他非揮發性固態儲存裝置。此一儲存裝置808亦可指稱持久性記憶體。指示裝置814可為一滑鼠、軌跡球或其他類型之指示裝置,且與鍵盤810組合使用以將資料輸入至電腦800中。圖形適配器812在顯示器818上顯示影像及其他資訊。網路適配器816將電腦800耦合至一區域網路或廣域網路。
記憶體806保存由處理器802使用之指令及資料。記憶體806可為非持久性記憶體,其實例包含高速隨機存取記憶體,諸如DRAM、SRAM、DDR RAM、ROM、EEPROM、快閃記憶體。
如本技術中已知,一電腦800可具有與圖8中所展示之組件不同之組件或其他組件。此外,電腦800可缺少某些所繪示之組件。在一個實施例中,充當一伺服器之一電腦800可缺少一鍵盤810、指示裝置814、圖形適配器812或顯示器818。此外,儲存裝置808可在電腦800本地或遠端(諸如,體現在一儲存區域網路(SAN)內)。
如本技術中已知,電腦800適於執行電腦程式模組用於提供本文中所描述之功能。如本文中所使用,術語「模組」係指用於提供指定功能之電腦程式邏輯。因此,可用硬體、韌體或軟體來實施一模組。在一個實施例中,程式模組儲存於儲存裝置808上,加載至記憶體806中,且由處理器802執行。
額外考量
以上描述之一些部分在演算法程序或操作方面描述實施例。此等演算法之描述及表示通常由資料處理技術之技術者用來將其工作之實質有效地傳達給本技術之其他技術者。此等操作儘管在功能、計算或邏輯上進行描述,但應理解為由電腦程式實施,該等電腦程式包括用於由一處理器或等效電路、微碼或其類似者執行之指令。此外,在不失一般性之情況下,有時將功能操作之此等配置稱為模組亦係方便的。
如本文中所使用,對「一個實施例」或「一實施例」之任何引用意謂組合該實施例描述之一特定元件、特徵、結構或特性包含在至少一個實施例中。說明書中各種地方出現之片語「在一個實施例中」並不一定全係指相同實施例。
可使用表達「耦合」及「連接」及其派生詞來描述一些實施例。應理解,此等術語並不旨在彼此之間係同義詞。例如,可使用術語「連接」來描述一些實施例以指示兩個或兩個以上元件彼此直接實體或電接觸。在另一實例中,可使用術語「耦合」來描述一些實施例以指示兩個或兩個以上元件直接實體或電接觸。然而,術語「耦合」亦可意謂兩個或兩個以上元件不彼此直接接觸,但仍彼此協作或相互作用。實施例不限於此上下文。
如本文中所使用,術語「包括」、「包括」、「包含」、「包含」、「具有」或其任何其他變型旨在覆蓋一非排他性包含。例如,包括一系列元件之一程序、方法、物品或器件並不一定僅限於彼等元件,而係可包含未明確列出或此等程序、方法、物品或器件固有之其他元件。此外,除非明確指出相反意義,否則「或」係指一包含性「或」而非一排他性「或」。例如,一條件A或B由以下之任一者滿足:A為真(或存在)且B為假(或不存在),A為假(或不存在)且B為真(或存在),且A及B兩者為真(或存在)。
另外,使用「一」或「一個」來描述實施例之元件及組件。此做僅僅係為了方便並給出本發明之一般意義。此描述應理解為包含一個或至少一個且單數亦包含複數,除非顯而易見的係另有說明。
在閱讀本發明之後,熟習此項技術者將理解用於用於驗證一在線服務提供商之一賬戶之一系統及一程序之額外替代結構及功能設計對應於一真正業務。因此,儘管已繪示及描述特定實施例及應用,但應理解,所描述之標的物不限於本文中所揭示之精確建構及組件且可在所揭示之方法及器件之配置、操作及細節上做出熟習此項技術者將明白之各種修改、改變及變化。保護範疇應僅由以下申請專利範圍限制。
100:聯網計算環境
110:客戶端裝置
120:遊戲伺服器
130:遊戲資料庫
140:模型訓練系統
170:網路
210:遊戲模組
220:定位模組
230:相機總成
240:立體匹配模組
310:通用遊戲模組
320:商業遊戲模組
330:資料收集模組
340:事件模組
410:深度估計模組
420:視差圖模組
430:銳化模組
440:立體合成模組
450:遮擋模組
460:衝突模組
470:訓練模組
500:實境世界
510:虛擬世界
512:位置
514:位置
522:對應位置
524:對應位置
530:虛擬元素
532:虛擬物品
540:對象
550:虛擬能量
600:使用者介面
610:顯示視窗
615:玩家資訊
620:菜單
630:通信介面
640:音訊控制
700:程序
710:接收一場景之一第一影像
720:判定影像之一深度圖
730:將深度圖轉換成一視差圖
740:使用視差圖自第一影像產生一第二影像,其中第一影像及第二影像形成一立體對
800:電腦
802:處理器
804:晶片組
806:記憶體
808:儲存裝置
810:鍵盤
812:圖形適配器
814:指示裝置
816:網路適配器
818:顯示器
820:記憶體控制器集線器
822:I/O集線器
圖1係根據一個實施例之適於託管一平行實境遊戲之一聯網計算環境之一方塊圖。
圖2係根據一個實施例之圖1之客戶端裝置之一方塊圖。
圖3係根據一個實施例之圖1之遊戲伺服器之一方塊圖。
圖4係根據一個實施例之圖3之模型訓練系統之一方塊圖。
圖5描繪根據一個實施例之具有與實境世界平行之一地理環境之一虛擬世界之一表示。
圖6描繪根據一個實施例之一平行實境遊戲之一例示性遊戲介面。
圖7繪示根據一個實施例之適合在圖1之聯網計算環境中使用之一實例電腦系統。
圖8繪示根據一個實施例之一計算裝置之一實例架構。
700:程序
710:接收一場景之一第一影像
720:判定影像之一深度圖
730:將深度圖轉換成一視差圖
740:使用視差圖自第一影像產生一第二影像,其中第一影像及第二影像形成一立體對
Claims (21)
- 一種電腦實施方法,其包括: 接收一場景之一第一影像; 判定該第一影像之一深度圖; 將該深度圖轉換成一視差圖;及 使用該視差圖自該第一影像產生一第二影像,該第一影像及該第二影像形成一立體對。
- 如請求項1之方法,其中產生該第二影像包括使用該視差圖來對該影像之像素進行前向撓曲。
- 如請求項2之方法,其中產生該第二影像進一步包括使用來自一第三影像之一紋理來填充該第二影像中之一遮擋孔。
- 如請求項3之方法,其中該第三影像係自包含該第一影像及該第三影像之一組影像隨機選擇。
- 如請求項3之方法,其中填充該遮擋孔包括: 藉由在該第一影像與該第三影像之間執行色彩轉移來產生一第四影像;及 將該第二影像中之該遮擋孔之像素替換為該第四影像中之對應位置處之像素。
- 如請求項2之方法,其中產生該第二影像進一步包括:解決該第一影像之一第一像素與一第二像素之間的一衝突,該等像素兩者對應於該第二影像中之一位置,該衝突之該解決包括: 比較對應於該第一像素之該視差圖中之一第一視差與對應於該第二像素之該視差圖中之一第二視差;及 回應於基於該比較判定該第一視差高於該第二視差,使用該第二影像中之該位置處之該第一像素。
- 如請求項1之方法,其中將該深度圖轉換成一視差圖包括: 將一視差估計函數應用於該深度圖中包含之複數個深度值,該視差估計函數模擬複數個相機焦距。
- 如請求項7之方法,其中應用該視差估計函數包括: 藉由以下步驟判定對應於該深度圖之一深度值之該視差圖之一視差值: 判定一最大深度值與該深度值之一比率;及 應用一比例因數至該比率,該比例因數自一最小視差值至一最大視差值之一範圍隨機採樣。
- 如請求項1之方法,其中產生該第二影像進一步包括: 回應於該視差圖中對應於具有超過一回應臨限值之一邊緣濾波器回應之該像素之一視差值,將該第二影像中之一像素識別為一飛行像素;及 回應於識別該飛行像素,使用對應於該視差圖中之一非飛行像素之一額外視差值來調整對應於該像素之該視差值。
- 如請求項1之方法,其進一步包括: 訓練一深度估計模型以使用該立體影像對預測單一影像之深度圖。
- 如請求項9之方法,其進一步包括: 接收一額外場景之一額外影像; 使用該經訓練立體深度估計模型為該額外影像判定一額外深度圖;及 使用該額外深度圖顯示具有虛擬內容之該額外影像。
- 如請求項1之方法,其進一步包括: 訓練一立體匹配模型以使用該立體影像對判定立體影像對之每像素位移。
- 如請求項1之方法,其中判定該深度圖包括: 使用一預訓練深度估計模型產生該深度圖。
- 一種非暫時性電腦可讀儲存媒體,其儲存指令,該等指令在由一計算裝置執行時使該計算裝置執行包括以下之操作: 接收一場景之一第一影像; 判定該第一影像之一深度圖; 將該深度圖轉換成一視差圖;及 使用該視差圖自該第一影像產生一第二影像,該第一影像及該第二影像形成一立體對。
- 如請求項14之電腦可讀儲存媒體,其中產生該第二影像包括使用該視差圖來對該影像之像素進行前向撓曲。
- 如請求項15之電腦可讀儲存媒體,其中產生該第二影像進一步包括:使用來自一第三影像之一紋理來填充該第二影像中之一遮擋孔。
- 如請求項16之電腦可讀儲存媒體,其中該第三影像係自包含該第一影像及該第三影像之一組影像隨機選擇。
- 如請求項16之電腦可讀儲存媒體,其中填充該遮擋孔包括: 藉由在該第一影像與該第三影像之間執行色彩轉移來產生一第四影像;及 將該第二影像中之該遮擋孔之像素替換為該第四影像中之對應位置處之像素。
- 如請求項15之電腦可讀儲存媒體,其中產生該第二影像進一步包括:解決該第一影像之一第一像素與一第二像素之間的一衝突,該等像素兩者對應於該第二影像中之一位置,該衝突之該解決包括: 比較對應於該第一像素之該視差圖中之一第一視差與對應於該第二像素之該視差圖中之一第二視差;及 回應於基於該比較判定該第一視差高於該第二視差,使用該第二影像中之該位置處之該第一像素。
- 如請求項14之電腦可讀儲存媒體,其中將該深度圖轉換成一視差圖包括: 將一視差估計函數應用於該深度圖中包含之複數個深度值,該視差估計函數模擬複數個相機焦距。
- 如請求項20之電腦可讀儲存媒體,其中應用該視差估計函數包括: 藉由以下步驟判定對應於該深度圖之一深度值之該視差圖之一視差值: 判定一最大深度值與該深度值之一比率;及 應用一比例因數至該比率,該比例因數自一最小視差值至一最大視差值之一範圍隨機採樣。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063023247P | 2020-05-11 | 2020-05-11 | |
US63/023,247 | 2020-05-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202201348A true TW202201348A (zh) | 2022-01-01 |
TWI800828B TWI800828B (zh) | 2023-05-01 |
Family
ID=78413295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110116994A TWI800828B (zh) | 2020-05-11 | 2021-05-11 | 用於自單目影像產生立體影像資料之電腦實施方法及電腦可讀儲存媒體 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11805236B2 (zh) |
TW (1) | TWI800828B (zh) |
WO (1) | WO2021229455A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114598854A (zh) * | 2022-03-02 | 2022-06-07 | 广州弥德科技有限公司 | 基于单摄像机的3d影像视频摄制方法和系统 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11833432B2 (en) * | 2020-02-21 | 2023-12-05 | Sega Corporation | Instructions and information processing device for gaming |
US11443481B1 (en) * | 2021-02-26 | 2022-09-13 | Adobe Inc. | Reconstructing three-dimensional scenes portrayed in digital images utilizing point cloud machine-learning models |
CN114742703A (zh) * | 2022-03-11 | 2022-07-12 | 影石创新科技股份有限公司 | 双目立体全景图像的生成方法、装置、设备和存储介质 |
WO2023184527A1 (en) * | 2022-04-02 | 2023-10-05 | Covidien Lp | System and method for unsupervised stereoscopic reconstruction with disparity consistency |
CN117915057A (zh) * | 2022-10-19 | 2024-04-19 | 宏碁股份有限公司 | 图像处理方法和虚拟现实显示系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9414048B2 (en) * | 2011-12-09 | 2016-08-09 | Microsoft Technology Licensing, Llc | Automatic 2D-to-stereoscopic video conversion |
US9111350B1 (en) * | 2012-02-10 | 2015-08-18 | Google Inc. | Conversion of monoscopic visual content to stereoscopic 3D |
US9998726B2 (en) * | 2012-06-20 | 2018-06-12 | Nokia Technologies Oy | Apparatus, a method and a computer program for video coding and decoding |
WO2014044908A1 (en) * | 2012-09-21 | 2014-03-27 | Nokia Corporation | Method and apparatus for video coding |
KR101370718B1 (ko) * | 2012-10-26 | 2014-03-06 | 한국과학기술원 | 파노라마 이미지를 이용한 2d에서 3d로의 변환 방법 및 장치 |
US9736449B1 (en) * | 2013-08-12 | 2017-08-15 | Google Inc. | Conversion of 2D image to 3D video |
US9609307B1 (en) * | 2015-09-17 | 2017-03-28 | Legend3D, Inc. | Method of converting 2D video to 3D video using machine learning |
KR20180087994A (ko) * | 2017-01-26 | 2018-08-03 | 삼성전자주식회사 | 스테레오 매칭 방법 및 영상 처리 장치 |
CN109191512B (zh) * | 2018-07-27 | 2020-10-30 | 深圳市商汤科技有限公司 | 双目图像的深度估计方法及装置、设备、程序及介质 |
US11107230B2 (en) * | 2018-09-14 | 2021-08-31 | Toyota Research Institute, Inc. | Systems and methods for depth estimation using monocular images |
CN111047634B (zh) * | 2019-11-13 | 2023-08-08 | 杭州飞步科技有限公司 | 场景深度的确定方法、装置、设备及存储介质 |
CN111127401B (zh) * | 2019-11-29 | 2023-04-07 | 西安工程大学 | 一种基于深度学习的机器人立体视觉机械零件检测方法 |
-
2021
- 2021-05-11 WO PCT/IB2021/054030 patent/WO2021229455A1/en active Application Filing
- 2021-05-11 US US17/317,619 patent/US11805236B2/en active Active
- 2021-05-11 TW TW110116994A patent/TWI800828B/zh active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114598854A (zh) * | 2022-03-02 | 2022-06-07 | 广州弥德科技有限公司 | 基于单摄像机的3d影像视频摄制方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US20210352261A1 (en) | 2021-11-11 |
TWI800828B (zh) | 2023-05-01 |
US11805236B2 (en) | 2023-10-31 |
WO2021229455A1 (en) | 2021-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11991342B2 (en) | Self-supervised training of a depth estimation system | |
AU2020266341B2 (en) | Self-supervised training of a depth estimation model using depth hints | |
US11805236B2 (en) | Generating stereo image data from monocular images | |
TWI797715B (zh) | 用於使用從透視校正影像中所提取之特徵的特徵匹配之電腦實施方法、電腦系統及非暫時性電腦可讀記憶體 | |
US20240046610A1 (en) | Determining visual overlap of images by using box embeddings | |
US20230196690A1 (en) | High-Speed Real-Time Scene Reconstruction from Input Image Data | |
TWI797571B (zh) | 用於自單一影像判定可遍歷空間之電腦實施方法及電腦可讀儲存媒體 | |
TWI837557B (zh) | 用於自監督多圖框單眼深度估計模型之電腦實施方法及非暫時性電腦可讀儲存媒體 | |
US20240046564A1 (en) | Simulated Consistency Check for Points of Interest on Three-Dimensional Maps | |
TW202238068A (zh) | 自監督多圖框單眼深度估計模型 |