TW202303527A - 擴展現實環境中的圖像擷取 - Google Patents

擴展現實環境中的圖像擷取 Download PDF

Info

Publication number
TW202303527A
TW202303527A TW111102585A TW111102585A TW202303527A TW 202303527 A TW202303527 A TW 202303527A TW 111102585 A TW111102585 A TW 111102585A TW 111102585 A TW111102585 A TW 111102585A TW 202303527 A TW202303527 A TW 202303527A
Authority
TW
Taiwan
Prior art keywords
user
digital representation
world environment
frames
real
Prior art date
Application number
TW111102585A
Other languages
English (en)
Inventor
威斯利詹姆士 侯蘭德
Original Assignee
美商高通公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商高通公司 filed Critical 美商高通公司
Publication of TW202303527A publication Critical patent/TW202303527A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2621Cameras specially adapted for the electronic generation of special effects during image pickup, e.g. digital cameras, camcorders, video cameras having integrated special effects capability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

提供了用於在擴展現實環境中擷取自我圖像的技術和系統。在某些實例中,系統擷取擴展現實系統的使用者的姿勢。使用者的姿勢包括使用者在與擴展現實系統相關聯的現實世界環境中的位置。系統亦產生使用者的數位表示。使用者的數位表示反映了使用者的姿勢。系統亦擷取現實世界環境的一或多個訊框,並且將使用者的數位表示覆加到現實世界環境的一或多個訊框上。

Description

擴展現實環境中的圖像擷取
本案整體上係關於用於在擴展現實環境中擷取圖像(諸如自我圖像或「自拍」)的技術和系統。
擴展現實技術可用於向使用者呈現虛擬內容,及/或可將來自實體世界的現實環境和虛擬環境結合起來,為使用者提供擴展現實體驗。術語擴展現實可以涵蓋虛擬實境、增強現實、混合現實等。擴展現實系統可以允許使用者經由將虛擬內容覆加到現實世界環境的圖像上來體驗擴展現實環境,使用者可以經由擴展現實設備(例如,頭戴式顯示器、擴展現實眼鏡或其他設備)觀看擴展現實環境。現實世界環境可以包括實體物件、人物或其他現實世界物件。XR技術可以在各種應用和領域中實施,包括娛樂(例如遊戲)、電話會議和教育等應用和領域。目前,正在開發XR系統,以使使用者能夠擷取自己的照片或視訊(例如,「自拍」)。
某些類型的設備(諸如手機和平板電腦)配備了讓使用者擷取自己圖像的機制。然而,對於XR系統而言,自我圖像擷取可能具有挑戰性。例如,戴在頭上的XR設備(例如,頭戴式顯示器、XR眼鏡和其他設備)通常包括被配置為擷取現實世界環境的場景的攝像頭。該等攝像頭定位在面向外部的方向(例如,遠離使用者),因此,攝像頭無法擷取使用者的圖像。此外,位於XR設備內部的攝像頭(例如,內置攝像頭)可能無法擷取到超出使用者面部或頭部的一小部分。已經開發了一些XR系統來促進自我圖像擷取。該等XR系統可以將使用者的化身(avatar)覆加到現實世界環境的圖像及/或視訊上。然而,該等化身可能具有有限的姿勢及/或表情。此外,可能需要使用者在圖像及/或視訊中手動定位化身。因此,需要用於自我圖像擷取的改良的XR系統。
本文描述的系統和技術可以被實施以在擴展現實環境中擷取自我圖像。根據至少一個實例,提供了用於在擴展現實環境中擷取自我圖像的裝置。示例性裝置可以包括記憶體(或多個記憶體)和耦合到記憶體(或多個記憶體)的一個處理器或多個處理器(例如,在電路系統中實施)。處理器(或多個處理器)被配置為:擷取擴展現實系統的使用者的姿勢,使用者的姿勢包括使用者在與擴展現實系統相關聯的現實世界環境中的位置;產生使用者的數位表示,使用者的數位表示反映使用者的姿勢;擷取現實世界環境的一或多個訊框;及將使用者的數位表示覆加到現實世界環境的一或多個訊框上。
另一個示例性裝置可以包括:用於擷取擴展現實系統的使用者的姿勢的構件,使用者的姿勢包括使用者在與擴展現實系統相關聯的現實世界環境中的位置;用於產生使用者的數位表示的構件,使用者的數位表示反映使用者的姿勢;用於擷取現實世界環境的一或多個訊框的構件;及用於將使用者的數位表示覆加到現實世界環境的一或多個訊框上的構件。
在另一個實例中,提供了用於在擴展現實環境中擷取自我圖像的方法。示例性方法可以包括以下步驟:擷取擴展現實系統的使用者的姿勢,使用者的姿勢包括使用者在與擴展現實系統相關聯的現實世界環境中的位置。方法亦可以包括以下步驟:產生使用者的數位表示,使用者的數位表示反映了使用者的姿勢。方法可以包括以下步驟:擷取現實世界環境的一或多個訊框。方法亦可以包括以下步驟:將使用者的數位表示覆加到現實世界環境的一或多個訊框上。
在某些態樣,方法可以由擴展現實系統執行。在類似的態樣,方法可以包括以下步驟:由擴展現實系統擷取擴展現實系統的使用者的姿勢,使用者的姿勢包括使用者在與擴展現實系統相關聯的現實世界環境中的位置;由擴展現實系統產生使用者的數位表示,使用者的數位表示反映使用者的姿勢;由擴展現實系統擷取現實世界環境的一或多個訊框;及由擴展現實系統將使用者的數位表示覆加到現實世界環境的一或多個訊框上並且使用擴展現實系統向使用者呈現。
在另一個實例中,提供了用於在擴展現實環境中擷取自我圖像的非暫時性電腦可讀取媒體。一種示例性非暫時性電腦可讀取儲存媒體可以儲存指令,在由一或多個處理器執行時,指令使一或多個處理器:擷取擴展現實系統的使用者的姿勢,使用者的姿勢包括使用者在與擴展現實系統相關聯的現實世界環境中的位置;產生使用者的數位表示,使用者的數位表示反映使用者的姿勢;擷取現實世界環境的一或多個訊框;及將使用者的數位表示覆加到現實世界環境的一或多個訊框上。
在某些態樣,將使用者的數位表示覆加到現實世界環境的一或多個訊框上可以包括將使用者的數位表示覆加在對應於使用者在現實世界環境內的位置的訊框位置中。
在某些態樣,產生使用者的數位表示可以在擷取現實世界環境的一或多個訊框之前執行。在某些實例中,如前述的方法、裝置和電腦可讀取媒體可以包括在擴展現實系統的顯示器內,在與使用者在現實世界環境內的位置相對應的顯示位置中顯示使用者的數位表示,其中經由顯示器,現實世界環境是可見的。在一個實例中,如前述的方法、裝置和電腦可讀取媒體可以包括:當使用者的數位表示顯示在擴展現實系統的顯示器內時,偵測對應於擷取現實世界環境的一或多個訊框的指令的使用者輸入;及基於使用者輸入擷取現實世界環境的一或多個訊框。
在某些態樣,擷取現實世界環境的一或多個訊框可以在擷取使用者的姿勢之前執行。在某些實例中,如前述的方法、裝置和電腦可讀取媒體可以包括在擴展現實系統的顯示器內,在與使用者在現實世界環境內的位置相對應的顯示位置中顯示使用者的數位表示,其中現實世界環境的一或多個訊框在顯示器上顯示。在一個實例中,如前述的方法、裝置和電腦可讀取媒體可以包括基於偵測到使用者在現實世界環境內的位置的變化來更新使用者的數位表示的顯示位置。在另一個實例中,如前述的方法、裝置和電腦可讀取媒體可以包括:當使用者的數位表示顯示在擴展現實系統的顯示器內時,偵測對應於擷取使用者的姿勢的指令的使用者輸入;及基於使用者輸入擷取使用者的姿勢。
在某些態樣,第一數位表示基於第一機器學習演算法,並且使用者的第二數位表示基於第二機器學習演算法。例如,產生使用者的數位表示可以包括:基於第一機器學習演算法產生使用者的第一數位表示;及基於第二機器學習演算法獲得使用者的第二數位表示。在某些態樣,與使用者的第一數位表示相比,使用者的第二數位表示可以是使用者的更高保真度的數位表示。例如,在某些實例中,如前述的方法、裝置和電腦可讀取媒體可以包括:產生使用者的、具有第一保真度的第一數位表示;及獲得使用者的、具有第二保真度的第二數位表示,其中第二保真度高於第一保真度。在某些實例中,如前述的方法、裝置和電腦可讀取媒體可以包括:在擷取使用者的姿勢之前,在擴展現實系統的顯示器內(例如,使用使用者的當前姿勢)顯示使用者的第一數位表示;基於正被擷取的使用者的姿勢產生使用者的第二數位表示;及將使用者的第二數位表示覆加到現實世界環境的一或多個訊框上。在其他的實例中,如前述的方法、裝置和電腦可讀取媒體可以包括:在擷取現實世界環境的一或多個訊框之前,在擴展現實系統的顯示器內(例如,使用使用者的擷取的姿勢)顯示使用者的第一數位表示;基於正被擷取的現實世界環境的一或多個訊框產生使用者的第二數位表示;及將使用者的第二數位表示覆加到現實世界環境的一或多個訊框上。在某些態樣中,產生使用者的第一數位表示可以包括在擴展現實系統上實施第一機器學習演算法。在某些實例中,獲得使用者的第二數位表示可以包括使被配置為產生使用者的數位表示的伺服器基於實施第二機器學習演算法來產生使用者的第二數位表示。
在某些態樣,如前述的方法、裝置和電腦可讀取媒體可以包括:在現實世界環境中擷取人物的姿勢;產生人物的數位表示,人物的數位表示反映了人物的姿勢;及將使用者的數位表示和人物的數位表示覆加到現實世界環境的一或多個訊框上。在某些實例中,可以至少部分地基於與人物的數位表示相關聯的資訊來產生人物的數位表示,其中人物的數位表示是從人物的擴展現實系統接收到的。在某些態樣,與人物的數位表示相關聯的資訊可以包括被訓練以產生人物的數位表示的機器學習模型。
在某些態樣,如前述的方法、裝置和電腦可讀取媒體可以包括:擷取使用者的、與複數個訊框相關聯的複數個姿勢;產生使用者的、對應於複數個訊框的複數個數位表示;及將使用者的複數個數位表示覆加到現實世界環境的一或多個訊框上,現實世界環境的一或多個訊框包括現實世界環境的複數個訊框。
在某些態樣,如前述的方法、裝置和電腦可讀取媒體可以包括:使用第一機器學習演算法產生使用者的數位表示;及使用第二機器學習演算法將使用者的數位表示覆加到現實世界環境的一或多個訊框上。
在某些態樣,擷取使用者的姿勢可以包括使用擴展現實系統的內置攝像頭系統擷取圖像資料。在某些實例中,擷取使用者的姿勢可以包括決定使用者的表情。在其他實例中,擷取使用者的姿勢可以包括決定使用者的手勢。
在某些態樣,如前述的方法、裝置和電腦可讀取媒體可以包括:至少部分地基於產生現實世界環境的三維地圖來決定使用者在現實世界環境內的位置。
在某些態樣,擷取現實世界環境的一或多個訊框可以包括使用擴展現實系統的外置攝像頭系統擷取圖像資料。
在某些態樣,上述每個裝置是或包括攝像頭、行動設備(例如,行動電話或所謂的「智慧型電話」或其他行動設備)、智慧可穿戴設備、擴展現實設備(例如,虛擬實境(VR)設備、增強現實(AR)設備或混合現實(MR)設備)、個人電腦、膝上型電腦、伺服器電腦、車輛(例如,自動駕駛車輛)或其他設備。在某些態樣,裝置包括用於擷取一或多個視訊及/或圖像的一或多個攝像頭。在某些態樣,裝置亦包括用於顯示一或多個視訊及/或圖像的顯示器。在某些態樣,上述裝置可以包括一或多個感測器。
本概述不意欲辨識所主張保護的標的的關鍵或基本特徵,亦不意欲孤立地用於決定所主張保護的標的的範疇。應當經由參考本專利的整個說明書的適當部分、任何或所有附圖以及每個請求項來理解標的。
在參考以下說明書、請求項和附圖時,前述內容以及其他特徵和實例將變得更加明顯。
下文提供了本案的某些態樣和實例。該等態樣和實例中的一些可以獨立應用,並且其中的一些可以組合應用,此舉對於熟習此項技術者而言是顯而易見的。在以下描述中,出於說明的目的,闡述了具體細節以便提供對本案標的的透徹理解。然而,顯而易見的是,可以在沒有該等具體細節的情況下實踐各種實例。附圖和描述並非意欲限制。
隨後的描述僅提供說明性實例,並不意欲限制本案的範疇、適用性或配置。相反,隨後的描述將為熟習此項技術者提供用於實施說明性實例的有效描述。應當理解,在不脫離所附請求項中所闡述的本案的精神和範疇的情況下,可以對元件的功能和佈置進行各種改變。
如前述,擴展現實(XR)技術可用於向使用者呈現虛擬內容,及/或可將來自實體世界的現實環境和虛擬環境結合起來,為使用者提供擴展現實體驗。術語擴展現實可以涵蓋虛擬實境(VR)、增強現實(AR)、混合現實(MR)等。XR系統可以允許使用者經由將虛擬內容覆加到現實世界環境的圖像上來體驗擴展現實環境,使用者可以經由擴展現實設備(例如,頭戴式顯示器、擴展現實眼鏡或其他設備)觀看擴展現實環境。現實世界環境可以包括實體物件、人物或其他現實世界物件。XR技術可以在各種應用和領域中實施,包括娛樂(例如遊戲)、房間設計及/或虛擬購物、食品/健康監測、視訊通話、電話會議和教育等應用和領域。
某些類型的設備(諸如手機和平板電腦)配備了讓使用者擷取自己圖像(例如,「自我圖像」或「自拍」)的機制。然而,對於XR系統而言,自我圖像擷取可能具有挑戰性。例如,戴在使用者頭上的XR設備(例如,頭戴式顯示器、XR眼鏡和其他設備)通常包括配置為擷取現實世界環境的場景的攝像頭。該等攝像頭定位在面向外部的方向(例如,遠離使用者),因此,攝像頭無法擷取使用者的圖像。此外,位於XR設備內部的攝像頭(例如,內置攝像頭)可能無法擷取到超出使用者面部或頭部的一小部分。已經開發了一些XR系統來促進自我圖像擷取。該等XR系統可以將使用者的化身覆加到現實世界環境的圖像及/或視訊上。然而,化身可能具有有限的姿勢及/或表情。此外,可能需要使用者在圖像及/或視訊內手動定位化身,從而導致相對於背景的化身的不自然(例如,不真實)圖像及/或不精確構圖。
本案描述了用於在XR環境中執行圖像擷取的系統、裝置、方法和電腦可讀取媒體(統稱為「系統和技術」)。在某些態樣,該等技術和系統為頭戴式XR系統提供了擷取佩戴頭戴式XR系統的使用者的一或多個自我圖像(例如,照片及/或視訊)的能力。例如,XR系統可以將使用者的數位表示(例如,化身或其他類型的數位表示)覆加在由XR系統的前置攝像頭擷取的一或多個訊框上。使用者的數位表示可以反映使用者的姿勢(例如,使用者的手勢、肢體方位、面部表情等)。XR系統可以在訊框內覆加使用者的數位表示,使得數位表示的位置對應於使用者在現實世界環境中的實際位置(例如,當使用者的姿勢被擷取時使用者的位置)。一旦數位表示被覆加在訊框內,在擷取訊框時,訊框可能看起來好像使用者(例如,使用者的數位表示)正面對XR系統的攝像頭。如此,訊框對應於使用者的自我圖像(或「自拍」)。
在某些情況下,產生使用者的自我圖像的過程可以涉及至少兩個操作。一個操作包括擷取將用作自我圖像的背景的一或多個訊框。另一個操作涉及擷取使用者的姿勢以併入使用者的數位表示(例如,化身或其他數位表示)。在某些情況下,XR系統可以經由XR系統的一或多個追蹤能力來擷取使用者的姿勢。XR系統的追蹤能力可以包括用於眼球追蹤、6自由度(6DOF)方位追蹤、手部追蹤、身體追蹤、面部表情追蹤、其任意組合及/或其他類型的追蹤的機制及/或技術。在某些實例中,擷取使用者的姿勢並將使用者的姿勢併入數位表示(例如,化身)中可以稱為使用者的數位表示的「木偶操縱」。用於產生自我圖像的兩個操作可以連續執行(例如,一個操作在另一個操作之後)。此外,可以以任何順序執行操作。例如,可以在擷取使用者的姿勢之前擷取背景訊框,或者可以在擷取背景訊框之前擷取使用者的姿勢。實施操作的具體過程可以根據操作的順序變化。在某些情況下,XR系統在偵測到與啟動自我圖像擷取模式對應的使用者輸入後,可以導引使用者按照一定的順序進行操作。在其他情況下,XR系統可以偵測與較佳順序相對應的使用者輸入。
在第一用例場景中,數位表示(例如,化身)在擷取背景訊框之前被木偶操縱。在此種場景中,XR系統可以擷取使用者的姿勢,並產生反映擷取到的使用者姿勢的使用者的數位表示。在某些情況下,XR系統可以在XR系統的顯示器內渲染數位表示。例如,XR系統可以在顯示器內定位數位表示,使得當擷取使用者的狀態時,數位表示看起來與使用者位於現實世界環境中的相同位置。當使用者在現實世界環境中移動時,經由XR系統的顯示器可見的現實世界環境部分(例如,情景)發生變化,但數位表示似乎保持在同一位置。經由此種方式,使用者的數位表示是「世界鎖定的」。為了在擷取使用者的狀態時決定使用者的位置,XR系統可以使用一或多個映射及/或定位技術來映射環境,映射及/或定位技術包括基於電腦視覺的追蹤、基於模型的追蹤、同時定位和映射(SLAM)技術、其任意組合及/或其他映射及/或定位技術。在XR系統產生使用者的化身或其他數位表示之後(上述的第二操作),XR系統可以擷取作為自我圖像背景的一訊框(上述的第一操作)。例如,使用者可以在環境中移動,同時在XR系統的顯示器上渲染數位表示(例如,化身)。當使用者決定經由顯示器的視圖是適合及/或期望的自我圖像背景時,使用者可以導引XR系統擷取環境的訊框。隨後,XR系統可以產生合成訊框,其中使用者的數位表示被覆加到擷取的環境訊框上。
在第二用例場景中,在使用者的數位表示被木偶操縱之前擷取背景訊框。在此種場景中,XR系統可以在使用者的方向上擷取現實世界環境的一訊框。在某些情況下,背景訊框會在XR系統的顯示器的一部分內(例如,在預覽訊窗內)渲染。在預覽訊窗中擷取及/或渲染背景訊框之後(上述第一操作),XR系統可以基於使用者的姿勢木偶操縱使用者的化身或其他數位表示(上述第二操作)。例如,XR系統可以在預覽訊窗內(例如,在預定位置)渲染化身。當使用者在環境中移動時,XR系統可以將化身移動到預覽訊窗內的相應位置。如此,化身就「頭部鎖定」了。當使用者對其位置及/或姿勢感到滿意時,使用者可以導引XR系統擷取使用者的姿勢。隨後,XR系統可以產生合成訊框,其中使用者的數位表示(例如,化身)被覆加到擷取的環境訊框上。
在第三用例場景中,XR系統可以產生具有多訊框的自我圖像(例如,視訊)。在此場景的一個實例中,XR系統可以經由在擷取背景訊框之前對使用者的數位表示(例如,代表使用者的化身)進行木偶操縱來產生視訊。例如,XR系統可以在一段時間內擷取使用者的姿勢並產生使用者的數位表示(例如,化身),以反映使用者在時間段內姿勢的任何變化。時間段可以對應於預定時間段、預定訊框數或使用者指定的時間段。隨後,XR系統可以在同一時間段內記錄現實世界環境的訊框。現實世界環境的情景可以在整個時間段內保持不變,或者情景可以改變(例如,使用者可以在擷取訊框的同時在環境中移動)。在某些情況下,XR系統可以在XR系統的顯示器內渲染使用者的數位表示,同時XR系統記錄環境的訊框。例如,XR系統可以渲染使用者的數位表示,使得當使用者的姿勢被擷取時,數位表示看起來與使用者處於相同的位置(例如,使用者的數位表示是世界鎖定的)。在此用例場景的另一個實例中,XR系統可以經由在對使用者的數位表示進行木偶操縱之前擷取背景訊框來產生視訊。例如,XR系統可以擷取環境中的一訊框作為視訊的靜態背景。隨後,XR系統可以在一段時間內擷取使用者的姿勢並產生使用者的數位表示(例如,化身),以反映在時間段內的使用者的姿勢的任何變化。當使用者在一段時間內在環境中移動時,XR系統可以在包括訊框的預覽訊窗內顯示使用者的數位表示以及相應的移動及/或姿勢。在該實例中,使用者的數位表示(例如,代表使用者的化身)是頭部鎖定的。
在第四用例場景中,XR系統可以產生包括多個人物的自我圖像。在該場景的一個實例中,XR系統可以在使用者與一或多個人物合影時擷取使用者的姿勢。隨後,XR系統可以擷取包括一或多個人物的背景訊框。例如,使用者可以在環境中移動以面對一或多個人物,而一或多個人物保持其原始姿勢。隨後,XR系統可以將反映使用者的狀態的數位表示(例如,化身)插入到背景訊框中。在該用例場景的另一個實例中,待包括在自我圖像之每一者人物正在佩戴頭戴式XR系統。在該實例中,每個XR系統皆可以擷取相應人物的姿勢並產生反映人物的姿勢的數位表示(例如,化身)。此外,其中XR系統中的一個可以擷取背景訊框。擷取背景訊框的XR系統可以向其他XR系統發送請求,以獲取其他XR系統產生的數位表示(例如,化身)。隨後,XR系統可以結合背景訊框和數位表示。在該實例中,可以在產生數位表示之前擷取背景訊框,或者可以在擷取背景訊框之前產生數位表示。
XR系統可以以各種方式產生使用者的化身或其他數位表示。在某些實例中,XR系統可以擷取使用者的一或多個訊框(例如,使用者的一或多個全身圖像)。可以將訊框輸入到模型,模型基於在訊框內偵測到的實體特徵產生數位表示。在某些情況下,可以訓練模型以基於擷取的使用者姿勢來適應使用者的數位表示。例如,若XR系統決定使用者正在揮手,則模型可以產生類似於使用者揮手的數位表示,即使模型沒有使用者揮手的實際圖像。在一個實例中,模型可以是機器學習模型,諸如神經網路。在非限制性實例中,模型可以是產生對抗網路(GAN)。在以下情況下,XR系統可以產生使用者的初始數位表示(例如,化身)。例如,XR系統正在擷取使用者的背景訊框及/或姿勢時,使用者的初始數位表示可以在XR系統的顯示器內渲染。一旦確認了使用者的姿勢及/或數位表示在背景訊框內的佈置,XR系統可以用使用者的數位表示(例如,使用者的最終化身)替換初始數位表示。在某些情況下,最終數位表示可能比初始數位表示品質更高(例如,更逼真)。例如,初始化身可能看起來卡通化,並且最終化身可以是照片級真實感的(或近似照片級真實感的)。因為產生照片級真實感的數位表示可能需要大量時間及/或處理能力,所以使用品質相對較低的初始數位表示可以減少XR系統在產生自我圖像過程中的等待時間及/或工作量。
將參照附圖描述本案的各個態樣。圖1A、圖1B和圖1C提供了可以由一些現有XR系統產生的示例性化身的圖示。例如,圖1A圖示包括覆加在背景訊框106上的化身108的自我圖像訊框102。在一個實例中,XR系統可以經由將使用者的一幅或多幅圖像輸入到模型(例如,基於機器學習的模型)中來產生化身108,模型被訓練以產生其實體外觀對應使用者的實體外觀的化身。如圖所示,化身108可以是使用者的卡通化表示或其他抽象表示(而不是使用者的照片級真實感的或近似照片級真實感的表示)。在某些情況下,XR系統可以要求及/或導引使用者將化身108定位在背景訊框106內的選定位置。例如,XR系統可以提供圖1A所示的定位工具110,定位工具110使使用者能夠經由在背景訊框106內拖動定位工具110來改變化身108的定位。圖1B中所示的自我圖像訊框104圖示在化身108已經使用定位工具110定位之後的化身108。在某些情況下,自我圖像擷取系統可以使使用者能夠經由為化身108選擇姿勢(例如,手勢、情緒、表情、移動等)來定製自我圖像訊框104。例如,自我圖像擷取系統可以提供預定及/或預配置姿勢的功能表或列表,並偵測與選擇所相對應的使用者輸入。此外,在某些情況下,自我圖像擷取系統可以使使用者能夠在背景訊框106內對化身108進行動畫處理。例如,如圖1C所示,自我圖像擷取系統可以使使用者能夠使用定位工具110為化身108繪製路徑。基於對應於路徑的使用者輸入,自我圖像擷取系統可以產生顯示化身108沿著路徑移動的視訊。圖1D是可以由一些現有XR系統產生的其他示例性化身的圖示。例如,圖1D圖示包括兩個化身(例如,化身118和120)的訊框116。在該實例中,對應於化身118和120的使用者可以在使用者佩戴的XR設備(例如,HMD)的顯示器內查看該兩個化身。
在以下情況下,被配置為產生圖1A-圖1D所圖示的化身的XR系統可能具有各種限制,使XR系統不適合及/或不需要產生佩戴HMD或其他類型XR設備的使用者的自我圖像。例如,XR系統可能涉及(例如,需要)手動使用者輸入以將化身定位在訊框內。因此,包含渲染化身的訊框可能看起來並不是自然或逼真的「自拍」。此外,所渲染的化身可能無法準確地反映使用者的當前(例如,實際)姿勢。此外,由於渲染化身中涉及大量計算資源,該等XR系統產生的化身可能品質較低(例如,低保真度)。
圖2是圖示根據本案的某些態樣的示例性擴展現實系統200的圖。擴展現實系統200可以是單個計算設備或多個計算設備的一部分或由其實施。在某些情況下,擴展現實系統200可以是XR系統或設備的一部分或由其實施。例如,擴展現實系統200可以運行(或執行)XR應用程式並實施XR操作。包括及/或實施擴展現實系統200的XR系統或設備可以是XR頭戴式顯示器(HMD)設備(例如,虛擬實境(VR)耳機、增強現實(AR)耳機或混合現實(MR)耳機)、XR眼鏡(例如,AR眼鏡)以及其他XR系統或設備。在某些實例中,擴展現實系統200可以是任何其他設備或系統的一部分或由其實施,諸如攝像頭系統(例如,數位攝像頭、IP攝像頭、攝像頭、安全性攝像頭等)、電話系統(例如,智慧型電話、蜂巢式電話、會議系統等)、桌上型電腦、膝上型電腦或筆記型電腦、平板電腦、機上盒、聯網電視(或所謂的「智慧」電視)、顯示設備、遊戲控制台、視訊串流設備、物聯網路(IoT)設備、車輛(或車輛的計算設備)及/或任何其他合適的電子設備。
在某些實例中,擴展現實系統200可以執行追蹤和定位、實體世界(例如,情景)的映射,以及虛擬內容在顯示器(例如,螢幕、可見平面/區域及/或其他顯示器)上的定位和渲染作為XR體驗的一部分。例如,擴展現實系統200可以產生實體世界中情景的地圖(例如,3D地圖),追蹤擴展現實系統200相對於情景(例如,相對於情景的3D地圖)的姿勢(例如,位置和方位),在情景的地圖上的特定位置定位及/或錨定虛擬內容,並在顯示器上渲染虛擬內容。擴展現實系統200可以在顯示器上渲染虛擬內容,使得虛擬內容在情景中的位置看起來與虛擬內容在情景的地圖中被定位及/或錨定的特定位置對應。在某些實例中,顯示器可以包括眼鏡、螢幕、鏡頭及/或允許使用者看到現實世界環境並且亦允許在其上顯示XR內容的其他顯示機構。
如圖2所示,擴展現實系統200可以包括一或多個圖像感測器202、加速度計204、陀螺儀206、儲存208、計算元件210、XR引擎220、自我圖像引擎222、圖像處理引擎224和渲染引擎226。應注意的是,圖2中所示的元件202-226是為了說明和解釋目的而提供的非限制性實例,並且其他實例可以包括比圖2中所示的更多、更少或不同的元件。例如,在某些情況下,擴展現實系統200可以包括圖2中未圖示的一或多個其他感測器(例如,一或多個慣性量測單元(IMU)、雷達、光偵測和測距(LIDAR)感測器、音訊感測器等)、一或多個顯示設備、一或多個其他處理引擎、一或多個其他硬體元件,及/或一或多個其他軟體及/或硬體元件。下文關於圖10進一步描述可由擴展現實系統200實施的示例性架構和示例性硬體元件。
為了簡單和說明的目的,一或多個圖像感測器202在本文中將被稱為圖像感測器202(例如,以單數形式)。然而,一般技術者將認識到擴展現實系統200可以包括單個圖像感測器或多個圖像感測器。此外,以單數或複數形式對擴展現實系統200的任何元件(例如,202-226)的引用不應被解釋為將由擴展現實系統200實施的此類元件的數量限制為一個或多於一個。例如,對單數形式的加速度計204的引用不應被解釋為將由擴展現實系統200實施的加速度計的數量限制為一個。一般技術者將認識到,對於圖2中所示的任何元件202-226,擴展現實系統200可以僅包括此類元件中的一個或此類元件中的多於一個。
擴展現實系統200可以包括輸入設備或與輸入設備通訊(有線或無線)。輸入設備可以包括任何合適的輸入設備,諸如觸控式螢幕、筆或其他指標設備、鍵盤、滑鼠、按鈕或鍵、用於接收語音命令的麥克風、用於接收手勢命令的手勢輸入設備、其任何組合,及/或其他輸入設備。在某些情況下,圖像感測器202可以擷取可以被處理以解釋手勢命令的圖像。
擴展現實系統200可以是單個計算設備或多個計算設備的一部分或由其實施。在某些實例中,擴展現實系統200可以是電子設備(或多個電子設備)的一部分,諸如擴展現實頭戴式顯示器(HMD)設備、擴展現實眼鏡(例如,增強現實或AR眼鏡)、攝像頭系統(例如,數位攝像頭、IP攝像頭、攝像頭、安全性攝像頭等)、電話系統(例如,智慧型電話、蜂巢式電話、會議系統等)、桌上型電腦、膝上型電腦或筆記型電腦、平板電腦、機上盒、智慧電視、顯示設備、遊戲控制台、視訊串流設備、物聯網路(IoT)設備,及/或任何其他合適的電子設備。
在一些實施方式中,一或多個圖像感測器202、加速度計204、陀螺儀206、儲存208、計算元件210、XR引擎220、自我圖像引擎222、圖像處理引擎224和渲染引擎226皆可以是同一計算設備的一部分。例如,在某些情況下,一或多個圖像感測器202、加速度計204、陀螺儀206、儲存208、計算元件210、XR引擎220、自我圖像引擎222、圖像處理引擎224和渲染引擎226皆可以整合到HMD、擴展現實眼鏡、智慧型電話、膝上型電腦、平板電腦、遊戲系統及/或任何其他計算設備。然而,在一些實施方式中,一或多個圖像感測器202、加速度計204、陀螺儀206、儲存208、計算元件210、XR引擎220、自我圖像引擎222、圖像處理引擎224和渲染引擎226皆可以是兩個或更多個獨立計算設備的一部分。例如,在某些情況下,元件202-226中的一些可以是一個計算設備的一部分或由其實施,而其餘元件可以是一或多個其他計算設備的一部分或由其實施。
儲存208可以是用於儲存資料的任何儲存設備。此外,儲存208可以儲存來自擴展現實系統200的任何元件的資料。例如,儲存208可以儲存來自圖像感測器202的資料(例如,圖像或視訊資料)、來自加速度計204的資料(例如,量測值)、來自陀螺儀206的資料(例如,量測值)、來自計算元件210的資料(例如,處理參數、偏好、虛擬內容、渲染內容、情景地圖、追蹤和定位資料、物件偵測資料、隱私資料、XR應用資料、人臉辨識資料、遮擋資料等)、來自XR引擎220的資料、來自自我圖像引擎222的資料、來自圖像處理引擎224的資料,及/或來自渲染引擎226的資料(例如,輸出訊框)。在某些實例中,儲存208可以包括用於儲存供計算元件210處理的訊框的緩衝器。
一或多個計算元件210可以包括中央處理單元(CPU)212、圖形處理單元(GPU)214、數位信號處理器(DSP)216及/或圖像信號處理器(ISP)218。計算元件210可以執行各種操作,諸如圖像增強、電腦視覺、圖形渲染、擴展現實(例如,追蹤、定位、姿勢估計、映射、內容錨定、內容渲染等)、圖像/視訊處理、感測器處理、辨識(例如,文字辨識、臉孔辨識、物件辨識、特徵辨識、追蹤或模式辨識、情景辨識、遮擋偵測等)、機器學習、過濾和本文描述的任何各種操作。在該實例中,計算元件210實施XR引擎220、自我圖像引擎222、圖像處理引擎224和渲染引擎226。在其他實例中,計算元件210亦可以實施一或多個其他處理引擎。
圖像感測器202可以包括任何圖像及/或視訊感測器或擷取設備。在某些實例中,圖像感測器202可以是多攝像頭配件的一部分,諸如雙攝像頭配件。圖像感測器202可以擷取圖像及/或視訊內容(例如,原始圖像及/或視訊資料),隨後圖像及/或視訊內容可以由如本文所述的計算元件210、XR引擎220、自我圖像引擎222、圖像處理引擎224及/或渲染引擎226處理。
在某些實例中,圖像感測器202可以擷取圖像資料並且可以基於圖像資料產生訊框及/或可以將圖像資料或訊框提供給XR引擎220、自我圖像引擎222、圖像處理引擎224,及/或渲染引擎226用於處理。訊框可以包括視訊序列的視訊訊框或靜止圖像。訊框可以包括表示情景的圖元陣列。例如,訊框可以是每個圖元具有紅色、綠色和藍色分量的紅-綠-藍(RGB)訊框;每個圖元具有一個亮度分量和兩個色度(顏色)分量(紅色色度和藍色色度)的亮度、紅色色度、藍色色度(YCbCr)訊框;或任何其他合適類型的彩色或單色圖片。
在某些情況下,圖像感測器202(及/或擴展現實系統200的其他圖像感測器或攝像頭)可以亦被配置為擷取深度資訊。例如,在一些實施方式中,圖像感測器202(及/或其他攝像頭)可以包括RGB-深度(RGB-D)攝像頭。在某些情況下,擴展現實系統200可以包括一或多個深度感測器(未圖示),深度感測器與圖像感測器202(及/或其他攝像頭)分離並且可以擷取深度資訊。例如,此類深度感測器可以獨立於圖像感測器202獲得深度資訊。在某些實例中,深度感測器可以實體地安裝在與圖像感測器202的大概相同位置,但可以以與圖像感測器202不同的頻率或訊框速率操作。在某些實例中,深度感測器可以採用光源的形式,光源可以將結構化或紋理化的光圖案投影到情景中的一或多個物件上,結構化或紋理化的光圖案可以包括一或多個窄頻光帶。隨後可以經由利用由物件的表面形狀形成的投影圖案的幾何失真來獲得深度資訊。在一個實例中,可以從立體感測器獲得深度資訊,諸如紅外線結構光投影儀和註冊到攝像頭(例如RGB攝像頭)的紅外線攝像頭的組合。
如前述,在某些情況下,擴展現實系統200亦可以包括除了圖像感測器202之外的一或多個感測器(未圖示)。例如,一或多個感測器可以包括一或多個加速度計(例如,加速度計204)、一或多個陀螺儀(例如,陀螺儀206)及/或其他感測器。一或多個感測器可以向計算元件210提供速度、朝向及/或其他定位相關資訊。例如,加速度計204可以經由擴展現實系統200偵測加速度並且可以基於偵測到的加速度產生加速度量測值。在某些情況下,加速度計204可以提供一或多個平移向量(例如,上/下、左/右、前/後),其可以用於決定擴展現實系統200的定位或姿勢。陀螺儀206可以偵測和量測擴展現實系統200的朝向和角速度。例如,陀螺儀206可用於量測擴展現實系統200的俯仰、滾動和偏航。在某些情況下,陀螺儀206可以提供一或多個旋轉向量(例如,俯仰、偏航、滾動)。在某些實例中,圖像感測器202及/或XR引擎220可以使用由加速度計204(例如,一或多個平移向量)及/或陀螺儀206(例如,一或多個旋轉向量)獲得的量測值來計算擴展現實系統200的姿勢。如前述,在其他實例中,擴展現實系統200亦可以包括其他感測器,諸如慣性量測單元(IMU)、磁力計、機器視覺感測器、智慧情景感測器、語音辨識感測器、衝擊感測器、震動感測器、方位感測器、傾斜感測器等。
在某些情況下,一或多個感測器可以包括至少一個IMU。IMU是使用一或多個加速度計、一或多個陀螺儀及/或一或多個磁力計的組合來量測擴展現實系統200的特定力、角速率及/或朝向的電子設備。在某些實例中,一或多個感測器可以輸出與由圖像感測器202(及/或擴展現實系統200的其他攝像頭)擷取的圖像的擷取相關聯的量測資訊,及/或使用擴展現實系統200的一或多個深度感測器獲得的深度資訊。
擴展現實引擎220可以使用一或多個感測器(例如,加速度計204、陀螺儀206、一或多個IMU及/或其他感測器)的輸出來決定擴展現實系統200的姿勢(亦被稱為頭部姿勢)及/或圖像感測器202(或擴展現實系統200的其他攝像頭)的姿勢。在某些情況下,擴展現實系統200的姿勢和圖像感測器202(或其他攝像頭)的姿勢可以相同。圖像感測器202的姿勢是指圖像感測器202相對於參考系的方位和朝向。在某些實施方式中,可以針對6自由度(6DOF)決定攝像頭姿態,其指的是三個平移分量(例如,可以相對於參考系由X(水平)、Y(垂直)和Z(深度)座標提供,諸如圖像平面)和三個角度分量(例如,相對於同一參考系的滾動、俯仰和偏航)。
在某些情況下,設備追蹤器(未圖示)可以使用來自一或多個感測器的量測值和來自圖像感測器202的圖像資料來追蹤擴展現實系統200的姿勢(例如,6DOF姿勢)。例如,設備追蹤器可以將來自擷取的圖像資料的視覺資料(例如,使用視覺追蹤解決方案)與慣性量測資料融合以決定擴展現實系統200相對於實體世界(例如,情景)以及實體世界的地圖的方位和運動。如下所述,在某些實例中,當追蹤擴展現實系統200的姿勢時,設備追蹤器可以產生情景(例如,現實世界)的三維(3D)地圖及/或產生情景的3D地圖更新。3D地圖更新可以包括,例如但不限於與情景及/或情景的3D地圖相關聯的新的或更新的特徵及/或特徵或地標點、辨識或更新情景和情景的3D地圖內擴展現實系統200的方位的定位更新等。3D地圖可以提供現實/實體世界中的情景的數位表示。在某些實例中,3D地圖可以將基於位置的物件及/或內容錨定到現實世界座標及/或物件。擴展現實系統200可以使用映射情景(例如,由3D地圖表示及/或與3D地圖相關聯的實體世界中的情景)來合併實體世界和虛擬世界及/或將虛擬內容或物件與實體環境合併。
在某些態樣,作為一個整體,圖像感測器202及/或擴展現實系統200的姿勢可以由計算元件210使用視覺追蹤解決方案基於由圖像感測器202(及/或擴展現實系統200的其他攝像頭)擷取的圖像來決定及/或追蹤。例如,在某些實例中,計算元件210可以使用基於電腦視覺的追蹤、基於模型的追蹤及/或同時定位和映射(SLAM)技術來執行追蹤。例如,計算元件210可以執行SLAM或者可以與SLAM引擎(未圖示)進行(有線或無線)通訊。SLAM指的是一類技術,其中建立環境地圖(例如,由擴展現實系統200建模的環境地圖),同時追蹤攝像頭(例如,圖像感測器202)及/或擴展現實系統200相對於地圖的姿勢。地圖可以稱為SLAM地圖,並且可以是3D的。SLAM技術可以經由由圖像感測器202(及/或擴展現實系統200的其他攝像頭)擷取的彩色或灰階圖像資料來執行,並且可以用於產生圖像感測器202及/或擴展現實系統200的6DOF姿勢量測值的估計。此類配置為執行6DOF追蹤的SLAM技術可以稱為6DOF SLAM。在某些情況下,一或多個感測器(例如,加速度計204、陀螺儀206、一或多個IMU及/或其他感測器)的輸出可用於估計、校正及/或以其他方式調整估計的姿勢。
在某些情況下,6DOF SLAM(例如,6DOF追蹤)可以將從來自圖像感測器202(及/或其他攝像頭)的某些輸入圖像中觀察到的特徵與SLAM地圖相關聯。例如,6DOF SLAM可以使用來自輸入圖像的特徵點關聯來決定圖像感測器202及/或擴展現實系統200的姿勢(方位和朝向)用於輸入圖像。亦可以執行6DOF映射來更新SLAM地圖。在某些情況下,使用6DOF SLAM維護的SLAM地圖可以包含從兩個或更多個圖像三角剖分的3D特徵點。例如,可以從輸入圖像或視訊串流中選擇關鍵訊框來表示觀察到的情景。對於每個關鍵訊框,可以決定與圖像相關聯的相應6DOF攝像頭姿勢。圖像感測器202及/或擴展現實系統200的姿勢可以經由將來自3D SLAM地圖的特徵投影到圖像或視訊訊框中並根據驗證的2D-3D對應性更新攝像頭姿勢來決定。
在一個說明性實例中,計算元件210可以從每個輸入圖像或每個關鍵訊框中提取特徵點。如此處所用,特徵點(亦稱為配準點)是圖像的獨特或可辨識部分,諸如手的一部分、桌子的邊緣等。從擷取的圖像中提取的特徵可以表示沿三維空間(例如,X、Y和Z軸上的座標)的不同特徵點,並且每個特徵點皆可以具有關聯的特徵位置。關鍵訊框中的特徵點要麼與先前擷取的輸入圖像或關鍵訊框的特徵點匹配(相同或對應),要麼不匹配。特徵偵測可用於偵測特徵點。特徵偵測可以包括用於檢查圖像的一或多個圖元以決定特徵是否存在於特定圖元處的圖像處理操作。特徵偵測可用於處理整個擷取的圖像或圖像的某些部分。對於每個圖像或關鍵訊框,一旦偵測到特徵,就可以提取特徵周圍的局部圖像塊。可以使用任何合適的技術提取特徵,諸如尺度不變特徵變換(SIFT)(定位特徵並產生其描述)、加速穩健特徵(SURF)、梯度定位-朝向長條圖(GLOH)、正規化互相關(NCC),或其他合適的技術。
在某些情況下,擴展現實系統200亦可以追蹤使用者的手及/或手指以允許使用者在虛擬環境中與虛擬內容互動及/或控制虛擬內容。例如,擴展現實系統200可以追蹤使用者的手及/或指尖的姿勢及/或移動,以辨識或平移使用者與虛擬環境的互動。使用者互動可以包括,例如但不限於移動虛擬內容項、調整虛擬內容項的大小及/或虛擬私人空間的位置、選擇虛擬使用者介面中的輸入介面元素(例如,行動電話、虛擬鍵盤及/或其他虛擬介面的虛擬表示)、經由虛擬使用者介面提供輸入等。
XR引擎220、自我圖像引擎222、圖像處理引擎224和渲染引擎226的操作可以由任何計算元件210來實施。在一個說明性實例中,渲染引擎226的操作可以由GPU 214實施,並且XR引擎220、自我圖像引擎222和圖像處理引擎224的操作可以由CPU 212、DSP 216及/或ISP 218實施。在某些情況下,計算元件210可以包括其他電子電路或硬體、電腦軟體、韌體或其任何組合,以執行在此描述的各種操作中的任何一個。
在某些實例中,XR引擎220可以執行XR操作以基於來自圖像感測器202、加速度計204、陀螺儀206及/或擴展現實系統200上的一或多個感測器的資料產生XR體驗,諸如一或多個IMU、雷達等。在某些實例中,XR引擎220可以執行追蹤、定位、姿勢估計、映射、內容錨定操作及/或任何其他XR操作/功能。XR體驗可以包括使用擴展現實系統200在虛擬通信期向使用者呈現XR內容(例如,虛擬實境內容、增強現實內容、混合現實內容等)。在某些實例中,擴展現實系統200可以經由XR應用程式(例如,由XR引擎220執行或實施)來提供XR內容和體驗,其中XR應用程式提供特定XR體驗,諸如XR遊戲體驗、XR課堂體驗、XR購物體驗、XR娛樂體驗、XR活動(例如,操作、故障排除活動等)等等。在XR體驗期間,使用者可以使用擴展現實系統200查看及/或與虛擬內容互動。在某些情況下,使用者可以查看及/或與虛擬內容互動,同時亦能夠查看及/或與使用者周圍的實體環境進行互動,從而使用者能在實體環境和與虛擬內容混合或結合的實體環境之間獲得身臨其境的體驗。
自我圖像引擎222可以執行與擷取自我圖像相關聯的各種操作。在某些情況下,自我圖像引擎222可以經由組合使用者的化身(或使用者的另一種類型的數位表示)和一或多個背景訊框來產生自我圖像。例如,自我圖像引擎222(結合擴展現實系統200的一或多個其他元件)可以執行多操作自我圖像擷取過程。自我圖像擷取過程的一個操作可以涉及擷取擴展現實系統200所在的現實世界環境的一或多個訊框。自我圖像擷取過程的另一操作可以涉及產生反映使用者的擷取姿勢(例如,表情、手勢、體態、位置等)的化身。自我圖像擷取過程的進一步操作可以涉及組合化身和現實世界環境的一或多個訊框。如將在下文更詳細解釋的,自我圖像引擎222可以以各種順序及/或方式執行多操作自我圖像擷取過程的操作。
圖3A和圖3B是分別圖示自我圖像擷取系統300(A)和自我圖像擷取系統300(B)的實例的方塊圖。在某些情況下,自我圖像擷取系統300(A)和300(B)可以表示單個系統或設備(例如,單個擴展現實系統或設備)的不同示例性實施方式或操作,以及在此描述的自我圖像擷取技術的不同示例性實施方式。例如,自我圖像擷取系統300(A)和300(B)可以對應於擴展現實系統200的自我圖像引擎222的不同實施方式或操作。如圖所示,自我圖像擷取系統300(A)和300(B)可以包括相同元件中的一或多個。例如,自我圖像擷取系統300(A)和300(B)可以包括一或多個引擎,包括自我圖像啟動引擎302、化身引擎304、背景訊框引擎306和合成引擎308。自我圖像擷取系統300(A)和300(B)的引擎可以被配置為產生自我圖像訊框316。自我圖像訊框316可以包括一或多個背景訊框(例如,背景訊框314),其中至少一個使用者的數位表示(例如,化身318)被覆加在背景訊框上。例如,自我圖像訊框316可以對應於「自拍」圖片或「自拍」視訊。
在某些情況下,自我圖像擷取系統300(A)和300(B)可以被分別配置為執行用於自我圖像擷取的多操作過程。以下描述將提供由自我圖像擷取系統300(A)和300(B)執行的自我圖像擷取過程的各種操作的一般說明。下文將具體參考各個附圖來提供對應於自我圖像擷取系統300(A)和自我圖像擷取系統300(B)的具體實施方式的更詳細的解釋。
在某些情況下,自我圖像啟動引擎302可以偵測與自我圖像擷取過程的啟動相對應的使用者輸入(例如,使用者輸入310)。例如,自我圖像啟動引擎302可以在XR設備(或其他類型的設備)內偵測與「自拍模式」的啟用相對應的使用者輸入,其中XR設備實施自我圖像擷取系統300(A)及/或300(B)。使用者輸入310可以包括各種類型的使用者輸入,諸如語音命令、觸摸輸入、手勢輸入以及其他類型的輸入。在某些情況下,當使用者在現實世界環境中佩戴及/或使用XR設備時,自我圖像啟動引擎302可以偵測使用者輸入310。例如,當XR設備在使用中時,自我圖像啟動引擎302可以針對使用者輸入310監控XR設備的一或多個使用者介面。
基於偵測到使用者輸入310,自我圖像擷取系統300(A)及/或300(B)可以啟動自我圖像擷取過程中的下一個操作。在一個實例中,化身引擎304可以決定使用者姿勢312。使用者姿勢312可以包括及/或對應於使用者的身體素質及/或特徵。例如,使用者姿勢312可以包括使用者的當前表情、情緒、手勢(例如,手勢(hand gestures))、肢體方位等中的一項或多項。此外,使用者姿勢312可以包括及/或對應於使用者在現實世界環境中的實體位置(例如,3D位置)。化身引擎304可以使用各種追蹤及/或掃瞄技術及/或演算法來決定使用者姿勢312。例如,化身引擎304可以使用一或多個眼睛追蹤技術、SLAM技術、6DOF定位技術、身體追蹤技術、面部表情追蹤技術、電腦視覺技術、其任何組合,或其他追蹤及/或掃瞄技術來決定使用者姿勢312。在一個實例中,化身引擎304可以經由將一或多個此類追蹤及/或掃瞄技術應用到由XR設備(例如,HMD)的內置攝像頭擷取的圖像資料來決定使用者姿勢312。在某些情況下,XR設備的內置攝像頭可能能夠擷取使用者面部及/或身體的一部分。例如,內置攝像頭的視場(FOV)可以對應於小於使用者的整個面部及/或身體的部分(例如,由於攝像頭及/或XR設備的放置,在視覺上擋住使用者的臉)。因此,在某些情況下,化身引擎304可以基於對應於使用者的一部分的圖像資料來決定(例如,推斷及/或估計)使用者姿勢312。例如,如下文將更詳細解釋的,化身引擎304可以使用機器學習演算法來決定使用者姿勢312,其中機器學習演算法被訓練以基於對應於使用者部分的圖像資料來決定使用者姿勢。此外,在某些實例中,化身引擎304可以使用XR設備的一或多個外置攝像頭來決定使用者姿勢312。例如,化身引擎304可以至少部分地基於由內置攝像頭擷取的圖像資料來決定使用者的面部表情,並且至少部分地基於由外置攝像頭擷取的圖像資料來決定使用者的肢體方位及/或手勢。化身引擎304可以使用XR設備的內置攝像頭、外置攝像頭及/或附加攝像頭的任何組合來決定使用者姿勢312。
在某些情況下,化身引擎304可以基於附加的使用者輸入來擷取使用者姿勢312。例如,化身引擎304可以偵測用於導引化身引擎304擷取使用者的當前姿勢的使用者輸入。附加的使用者輸入可以包括各種類型的使用者輸入,諸如語音命令、觸摸輸入、手勢輸入以及其他類型的輸入。在說明性實例中,一旦使用者對其當前姿勢及/或位置感到滿意,就可以提供輸入。此外,使用者輸入可以包括用於導引化身引擎304擷取對應於使用者姿勢312的單個訊框的輸入(例如,用於產生單個自我圖像),或用於導引化身引擎304擷取對應於使用者姿勢312的一系列訊框的輸入(例如,用於產生自我視訊)。
在某些實例中,化身引擎304可以產生反映使用者姿勢312的使用者的化身318。如本文所用,術語「化身」可以包括使用者的全部或部分的任何數位表示。在一個實例中,使用者的化身可以包括電腦產生的圖像資料。附加地或可選地,使用者的化身可以包括由圖像感測器擷取的圖像資料。此外,使用者的化身可以對應於使用者的抽象(例如,卡通化的)表示,或使用者的照片級真實感的(或幾乎照片級真實感的)表示。在某些情況下,產生化身318以反映使用者姿勢312可以被稱為「木偶操縱」化身318。
在某些實例中,化身引擎304可以使用一或多個機器學習系統及/或演算法來產生化身318。例如,化身引擎304可以基於機器學習模型來產生化身318,其中機器學習模型是使用機器學習演算法就與各種使用者姿勢相關聯的圖像資料進行訓練的。在該實例中,在推理期間將指示所擷取的使用者姿勢的資訊輸入到模型時,機器學習模型可以被訓練以輸出化身,其中化身的姿勢對應於擷取的使用者姿勢。在說明性實例中,一旦機器學習模型被訓練,化身引擎304可以提供用於指示所擷取的使用者姿勢和使用者的一或多個圖像的資訊作為模型的輸入。在某些情況下,使用者的一或多個圖像可能與使用者的姿勢無關。例如,化身引擎304可以擷取使用者的一或多個圖像(例如,使用者的全身圖像)作為為使用者設置及/或配置自我圖像擷取系統的一部分。基於擷取到的使用者姿勢和使用者的一或多個圖像,機器學習模型可以輸出在擷取到的姿勢中與使用者相似的化身。例如,若擷取的使用者姿勢包括特定手勢(例如,「和平手勢」),則機器學習模型可以輸出類似於做出特定手勢的使用者的化身(即使模型之前沒有與做出特定手勢的使用者相關聯的圖像資料)。
化身引擎304可以實施各種類型的機器學習演算法來產生化身318。在說明性實例中,化身引擎304可以實施深度神經網路(NN),諸如產生對抗網路(GAN)。下文參考圖8和圖9描述深度神經網路的說明性實例。機器學習模型的附加實例包括但不限於時間延遲神經網路(TDNN)、深度前饋神經網路(DFFNN)、循環神經網路(RNN)、自動編碼器(AE)、變體AE(VAE)、去雜AE(DAE)、稀疏AE(SAE)、瑪律可夫鏈(MC)、感知器或其某種組合。機器學習演算法可以是監督學習演算法、無監督學習演算法、半監督學習演算法、其任意組合,或其他學習技術。
在某些實例中,化身引擎304可以實施多個(例如,兩個或更多個)機器學習模型,模型被配置為產生化身318的不同版本。例如,如圖3A和圖3B所示,化身引擎304可以可選地包括化身引擎304(A)和化身引擎304(B)。在某些情況下,化身引擎304(A)可以產生或獲得化身的第一版本(表示為化身318(A))和化身的第二版本(表示為化身318(B))。在一個實例中,化身318(A)可以對應於化身318的預覽或初始版本。在此類實例中,化身318(B)可以對應於化身318的最終版本。在某些情況下,化身318(A)(預覽或初始版本)可以是與化身318(B)(最終版本)相比保真度較低的版本。在某些實例中,化身引擎304(A)可以在擷取使用者姿勢312及/或背景訊框314之前產生及/或顯示化身318(A)(例如,以促進擷取期望的使用者姿勢312及/或背景訊框314)。一旦擷取到使用者姿勢312及/或背景訊框314,化身引擎304(B)就可以產生化身318(B)。合成引擎308可以使用化身318(B)產生自我圖像訊框316。例如,當使用者處於其當前姿勢時,XR設備或系統顯示較低保真度的化身(例如,化身318(A))。隨後使用者可以操作XR設備或系統來擷取最終姿勢(例如,用於產生化身318(B)),其中合成引擎308可以在產生自我圖像訊框316時將其用於合成。在姿勢擷取階段或背景圖像擷取階段呈現給較低保真度的化身(例如,化身318(A))的益處是能在使用較高保真度化身(例如,化身318(B))執行最終合成之前以較低的處理能力執行合成。
在某些情況下,化身引擎304(A)可以實施產生化身318(A)的第一機器學習模型(例如,化身318的預覽或初始版本)。在某些情況下,化身引擎304(B)可以實施產生化身318(B)的第二機器學習模型(例如,化身318的最終版本)。在某些態樣,由化身引擎304(A)實施的第一機器學習模型可能需要比由化身引擎304(B)實施的第二機器學習模型更少的處理能力。例如,第一機器學習模型可以是相對簡單(例如,低保真度)的模型,其可以在本端(例如,在XR系統或設備內)實施。在某些態樣,第一機器學習模型亦可以即時(或近似即時)地實施。第二機器學習模型可能相對複雜(例如,高保真度)。在某些態樣,第二機器學習模型可以離線實施(例如,使用被配置用於產生化身的遠端伺服器或設備)。
在某些情況下,背景訊框引擎306可以擷取一或多個背景訊框(例如,背景訊框314)。背景訊框314可以包括及/或對應於將成為自我圖像(或自我視訊)的背景的任何訊框。在一個實例中,背景訊框引擎306可以基於附加的使用者輸入來擷取背景訊框314。例如,背景訊框引擎306可以偵測使用者輸入,其中使用者輸入導引背景訊框引擎306使用XR系統或設備的外置攝像頭擷取現實世界環境的一或多個訊框。附加的使用者輸入可以包括各種類型的使用者輸入,諸如語音命令、觸摸輸入、手勢輸入以及其他類型的輸入。在說明性實例中,一旦對現實世界環境的當前視圖(可以在XR設備的顯示器上及/或經由XR設備的顯示器顯示)感到滿意,使用者就可以提供輸入。此外,使用者輸入可以包括用於導引背景訊框引擎306擷取現實世界環境的單個訊框的輸入(例如,用於產生單個自我圖像),或用於導引背景訊框引擎306擷取現實世界環境的一系列訊框的輸入(例如,用於產生自我視訊)。
合成引擎308可以基於化身318(例如化身318(B))和背景訊框314產生自我圖像訊框316(或一系列自我圖像訊框)。例如,合成引擎308可以將化身318覆加在背景訊框314上。如前述,化身引擎304可以決定對應於使用者姿勢312的使用者的3D位置。因此,合成引擎308可以將化身318覆加在處於對應位置的背景訊框314內。例如,合成引擎308可以在背景訊框314內渲染化身318,使得化身318在化身引擎304擷取使用者姿勢312時看起來與使用者位於相同的3D位置。以此種方式,得到的自我圖像訊框316可以看起來是從面向使用者的角度拍攝的使用者圖像(例如,用於擷取習知「自拍」的前置攝像頭的角度)。
在某些實例中,合成引擎308可以使用一或多個機器學習系統及/或演算法來將化身318覆加到背景訊框314上。例如,合成引擎308可以基於機器學習模型來將化身318覆加到背景訊框314上,其中機器學習模型是使用機器學習演算法就與各種化身及/或背景訊框相關聯的圖像資料進行訓練的。在該實例中,可以訓練機器學習模型以將化身併入背景訊框中,使得化身的視覺特徵(例如,燈光、顏色等)與背景訊框的視覺特徵一致及/或連貫。例如,一旦機器學習模型被訓練,合成引擎308可以提供一或多個背景訊框和與化身(例如,至少部分渲染的化身及/或被訓練產生化身的機器學習模型)相關聯的資訊作為模型的輸入。基於與化身相關聯的資訊,機器學習模型可以以自然及/或照片級真實感的方式將化身疊映到一或多個背景訊框上。在說明性實例中,模型可以決定一或多個背景訊框在化身將被覆加的位置中包括陰影。在此實例中,模型可以渲染化身以包括相應的陰影。
合成引擎308可以實施各種類型的機器學習演算法以產生自我圖像訊框316,包括可以由化身引擎304實施以產生化身318(如前述)的任何機器學習演算法。在某些情況下,由合成引擎308實施的機器學習模型可能與由化身引擎304實施的機器學習模型不同。例如,被訓練來產生化身318的機器學習模型的輸出可以被輸入到被訓練來產生自我圖像訊框316的機器學習模型。
在說明性實例中,圖3A中所示的自我圖像擷取系統300(A)可以在擷取背景訊框314的操作之前執行產生化身318的操作。圖4A、圖4B和圖4B說明了此類自我圖像擷取過程的實例。在該實例中,自我圖像啟動引擎302可以偵測與XR設備的自我圖像擷取模式的啟動相對應的使用者輸入310。回應於使用者輸入310,自我圖像擷取系統300(A)可以啟動姿勢擷取模式,其中化身引擎304可以擷取使用者姿勢312。在說明性實例中,化身引擎304可以輸出指令(例如,在XR設備的顯示器內),導引使用者為自我圖像採取期望的姿勢。然而,在某些實例中,化身引擎304可能不輸出指令(例如,若使用者熟悉自我圖像擷取過程)。在某些情況下,期望的姿勢可以包括現實世界環境中的期望的3D位置(例如,以促進在背景訊框314內的對應位置中渲染化身318)。在處於姿勢擷取模式時,化身引擎304可以偵測用於導引化身引擎304擷取使用者姿勢312的使用者輸入。
圖4A圖示對應於使用者姿勢312的至少一部分的示例性訊框402。在該實例中,使用者姿勢312包括手勢(例如,「和平手勢」)。化身引擎304可以至少部分地基於由XR設備的一或多個外置攝像頭擷取的圖像資料來偵測手勢。儘管未圖示,但使用者姿勢312可以包括關於使用者的實體外觀的附加資訊。例如,化身引擎304可以決定關於使用者身體及/或其他肢體的方位的資訊。在另一個實例中,化身引擎304可以(例如,至少部分地基於由XR設備的一或多個內置攝像頭擷取的圖像資料)決定與使用者的表情相關的資訊。基於使用者姿勢312,化身引擎304可以產生(例如,木偶操縱)化身318。例如,化身引擎304可以將使用者姿勢312(以及使用者的一或多個圖像)提供給機器學習模型,其中機器學習模型經過訓練以產生反映使用者姿勢的化身。在說明性實例中,化身引擎304(A)可以基於使用者姿勢312產生化身318(A)(例如,化身318的預覽版本)。
一旦化身引擎304產生化身318(例如,化身318(A)),自我圖像擷取系統300(A)就可以啟動背景擷取模式,其中背景訊框引擎306可以擷取背景訊框314。在說明性實例中,背景訊框引擎306可以(例如,在XR設備的顯示器內)輸出指令,指令導引使用者在現實世界環境內為自我圖像(或自我視訊)選擇3D位置。然而,在某些實例中,背景訊框引擎306可能不輸出指令(例如,若使用者熟悉自我圖像擷取過程)。在一個實例中,使用者可以在現實世界環境中移動,直到XR設備的顯示器的當前FOV對應於自我圖像訊框316的期望背景訊框。在處於背景擷取模式時,背景訊框引擎306可以偵測用於導引背景訊框引擎306擷取期望的背景訊框的使用者輸入。一旦背景訊框引擎306擷取背景訊框314,合成引擎308可以經由將化身318覆加在背景訊框314上來產生自我圖像訊框316。例如,合成引擎308可以在背景訊框314內與使用者姿勢312的3D位置相對應的位置處渲染化身318。在說明性實例中,化身引擎304(B)可以基於正在被擷取的背景訊框314產生及/或獲得化身318(B)(例如,化身318的最終版本)。在該實例中,合成引擎308可以經由在背景訊框314內渲染化身318(B)來產生自我圖像訊框316。
在某些情況下,當自我圖像擷取系統300(A)在背景擷取模式下操作時(例如,當使用者圍繞現實世界環境移動以選擇背景訊框314時),化身引擎304可以在XR設備的顯示器內渲染化身318。例如,當使用者姿勢312被擷取時,化身引擎304可以在與使用者的3D位置相對應的位置處渲染化身318(例如,化身318(A))。隨著XR設備的顯示器的FOV改變(例如,基於使用者的移動),化身引擎304可以調整所渲染的化身318(例如,化身318(A))在顯示器內的位置以進行移動。因此,在自我圖像擷取系統300(A)實施的自我圖像擷取過程中,化身318可以「世界鎖定」。在某些情況下,世界鎖定的化身可以使使用者能夠選擇適合於對應於化身318的現實世界位置的背景訊框。例如,若XR設備移動使得對應於化身318的3D位置不再在XR設備的FOV內,則化身引擎304可以從顯示器中移除化身318。如此,使用者可以確保化身318正確地定位在對應於背景訊框314的FOV內。
圖4B圖示示例性訊框404,其中當自我圖像擷取系統300(A)在背景擷取模式下操作時,示例性訊框404對應於XR設備的FOV。圖4C圖示示例性訊框406,其中一旦背景訊框引擎306擷取背景訊框314,示例性訊框406對應於由合成引擎308產生的自我圖像訊框316。在該等實例中,訊框404包括化身318(A)並且訊框406包括化身318(B)。例如,當自我圖像擷取系統300(A)處於背景擷取模式時,化身引擎304可以渲染化身318(A),並且當產生自我圖像訊框316時,合成引擎308可以用化身318(B)替換化身318(A)。如前述,化身318(A)可以是化身318的低保真度版本,並且化身318(B)可以是化身318的高保真度版本。例如,化身引擎304可以使用化身引擎304(A)和304(B)實施的不同機器學習模型來產生化身318(A)和318(B)。在一個實例中,化身引擎304(A)可以使用低保真度機器學習模型來產生化身318(A),其中低保真度機器學習模型涉及及/或需要比化身引擎304(B)使用的高保真度機器學習模型更少的處理能力及/或時間來產生化身318(B)。隨著XR設備的FOV在背景擷取模式期間發生變化,使用低保真度機器學習模型來產生化身318(A)可以使化身引擎304(A)能夠即時(或幾乎即時地)更新XR設備的顯示器內的化身318(A)的位置。此外,使用高保真度機器學習模型來產生化身318(B)可以為最終決定的自我圖像產生更高品質(例如,更逼真)的化身。例如,圖4B中的化身318(A)是卡通化的,而圖4C中的化身318(B)是照片級真實感的。在一個實例中,化身引擎304(A)可以在XR設備上(例如,本端)實施低保真度機器學習模型,而化身引擎304(B)可以導引遠端伺服器來實施高保真度機器學習模型,其中遠端伺服器被配置為產生化身。化身引擎304可以產生任何類型或數量的化身(包括使用單個機器學習模型的單個化身)。
參考圖3B,自我圖像擷取系統300(B)可以在產生化身318的操作之前執行擷取背景訊框314的操作。圖4D、圖4E和圖4F說明了此類自我圖像擷取過程的實例。在該實例中,自我圖像啟動引擎302可以偵測與XR設備的自我圖像擷取模式的啟動相對應的使用者輸入310。回應於使用者輸入310,自我圖像擷取系統300(B)可以啟動背景擷取模式,其中背景訊框引擎306可以擷取背景訊框314。在背景擷取模式中,背景訊框引擎306可以可選地輸出指令,指令導引使用者在現實世界環境內為自我圖像(或自我視訊)選擇3D位置。在一個實例中,使用者可以在現實世界環境中移動,直到XR設備的顯示器的當前FOV對應於自我圖像訊框316的期望背景訊框。在處於背景擷取模式時,背景訊框引擎306可以偵測用於導引背景訊框引擎306擷取期望的背景訊框的使用者輸入。圖4D圖示對應於擷取的背景訊框的示例性訊框408。儘管自我圖像擷取系統300(B)的背景擷取模式可能與自我圖像擷取系統300(A)的背景擷取模式相似,但此背景擷取模式的不同之處可能在於化身318(例如,化身318(A))在使用者選擇自我圖像的位置時不在XR設備的顯示器內顯示(例如,木偶操縱)。
一旦背景訊框引擎306擷取到背景訊框314,自我圖像擷取系統300(B)可以啟動姿勢擷取模式,其中化身引擎304可以擷取使用者姿勢312。在某些情況下,化身引擎304可以可選地輸出指令,其中指令導引使用者採取期望的姿勢獲得自我圖像。在某些實例中,期望的姿勢可以包括現實世界環境中的期望的3D位置(例如,以促進在背景訊框314內的對應位置中渲染化身318)。在處於姿勢擷取模式時,化身引擎304可以偵測用於導引化身引擎304擷取使用者姿勢312的使用者輸入。基於使用者姿勢312,化身引擎304可以產生(例如,木偶操縱)化身318。例如,化身引擎304可以將使用者姿勢312(以及使用者的一或多個圖像)提供給機器學習模型,其中機器學習模型經過訓練以產生反映使用者姿勢的化身。在說明性實例中,化身引擎304(B)可以基於使用者姿勢312產生化身318(B)。一旦化身引擎304產生化身318(例如,化身318(B)),合成引擎308可以經由將化身318覆加到背景訊框314上來產生自我圖像訊框316。例如,合成引擎308可以在背景訊框314內與使用者姿勢312的3D位置相對應的位置處渲染化身318。
在某些情況下,當自我圖像擷取系統300(B)處於姿勢擷取模式時(例如,在使用者姿勢312被擷取前,當使用者在圍繞現實世界環境移動時),化身引擎304(A)可以在XR設備的顯示器內渲染化身318(A)。例如,化身引擎304可以基於使用者姿勢的變化來(例如,即時或近似即時地)動態地更新化身318(A)。使用者姿勢的變化可以包括使用者在現實世界環境中的3D位置的變化及/或使用者的實體外觀的變化(例如,使用者的表情、手勢、肢體方位等)。化身引擎304(A)可以在顯示背景訊框314的預覽訊窗內顯示化身318(A)。例如,化身引擎304(A)可以在XR設備的顯示器內顯示預覽訊窗,並且隨著使用者圍繞現實世界環境移動而更新化身318(A)。在某些情況下,化身318(A)的版本可以是「頭部鎖定」的(例如,與由自我圖像擷取系統300(A)產生的化身318(A)的「世界鎖定」版本相反)。在一個實例中,頭部鎖定的化身可以經由使使用者選擇適合於先前選擇的背景訊框314的使用者姿勢來促進精確的自我圖像合成。
圖4E圖示包括預覽訊窗414的示例性訊框410。預覽訊窗414可以顯示(靜態)背景訊框314和動態更新的化身318(A)。例如,隨著使用者的姿勢改變(例如,由於使用者在現實世界環境中的移動),化身引擎304(A)可以更新預覽訊窗414內的化身318(A)以進行變化。當顯示化身318(A)時,化身引擎304(B)可以偵測使用者輸入,其中使用者輸入用於導引化身引擎304(B)擷取當前的使用者姿勢(例如,對應於使用者姿勢312)。基於接收到此類使用者輸入,化身引擎304(B)可以基於使用者姿勢312產生(例如,木偶操縱)化身318(B)。圖4F圖示示例性訊框412,其中一旦化身引擎304(B)基於使用者姿勢312產生化身318(B),示例性訊框412就對應於由合成引擎308產生的自我圖像訊框316。如前述,化身318(A)可以對應於化身318的低保真度版本,並且化身318(B)可以對應於化身318的高保真度版本。例如,化身引擎304(A)可以使用本端及/或低保真度機器學習演算法產生化身318(A),並且化身引擎304(B)可以使用遠端及/或高保真度機器學習演算法產生及/或獲得化身318(B)。自我圖像擷取系統300(B)可以使用任何合適的機器學習演算法來產生任何類型或數量的化身。
如前述,自我圖像擷取系統300(A)和300(B)可以實施用於在XR環境中自我圖像擷取的各種序列化過程。該等自我圖像擷取系統可以使HMD和其他設備(諸如行動電話的前置攝像頭)產生自然和逼真的自我圖像,其中設備沒有為自我圖像擷取而設計的機制。此外,經由在不同時間點擷取使用者的姿勢和背景訊框,所揭示的自我圖像擷取系統可以使使用者能夠精確地定製及/或最佳化自我圖像的合成。
如前述,在某些情況下,所揭示的自我圖像擷取技術和系統可用於產生自我視訊。自我圖像擷取系統300(A)和自我圖像擷取系統300(B)皆可以用來產生自我視訊。圖5A是示例性過程500(A)的流程圖,其中自我視訊擷取可以由自我圖像擷取系統300(A)執行。在操作502,過程500(A)可以包括自我視訊啟動。例如,自我圖像擷取系統300(A)可以偵測與自我視訊模式的啟動相對應的使用者輸入。在操作504,過程500(A)可以包括開始記錄使用者的姿勢。例如,自我圖像擷取系統300(A)可以使用XR設備的內置攝像頭及/或外置攝像頭來擷取一或多個訊框。自我圖像擷取系統300(A)可以產生(例如,木偶操縱)複數個化身(例如,一系列化身),化身對應於所有或部分擷取的訊框所指示的使用者的姿勢。在操作506,自我圖像擷取系統300(A)可以停止記錄使用者的姿勢。自我圖像擷取系統300(A)可以在操作504和操作506之間記錄與使用者的姿勢相關聯的任意數量的訊框。在一個實例中,自我圖像擷取系統300(A)可以記錄預定數量的訊框(例如,10個訊框、50個訊框等)及/或記錄用於預定時間量(例如,2秒、5秒等)的訊框。在另一個實例中,自我圖像擷取系統300(A)可以記錄訊框直到偵測到用於導引自我圖像擷取系統300(A)停止記錄的使用者輸入。
在操作508,過程500(A)可以包括開始記錄一或多個背景訊框(例如,使用XR設備的前置攝像頭)。在操作510,自我圖像擷取系統300(A)可以停止記錄背景訊框。自我圖像擷取系統300(A)可以在操作508和操作510之間記錄任意數量的背景訊框。在一個實例中,自我圖像擷取系統300(A)可以記錄大量的訊框,訊框的數量與記錄訊框的數量(例如,在操作504,記錄的訊框的數量)相對應,記錄訊框與使用者的姿勢相關聯。例如,在與使用者的姿勢相關聯的記錄訊框相對應的時間量之後,用於記錄背景訊框的記錄過程可以自動終止(例如,超時)。在另一個實例中,自我圖像擷取系統300(A)可以記錄單個背景訊框。在此實例中,單個背景訊框可以對應於自我視訊的靜態背景。在操作512,過程500(A)可以包括自我視訊合成。例如,自我圖像擷取系統300(A)可以將複數個化身覆加在一或多個背景訊框上。
圖5B是用於自我視訊擷取的示例性過程500(B)的流程圖,其中自我視訊擷取可以由自我圖像擷取系統300(B)執行。在操作514,過程500(B)可以包括自我視訊啟動。例如,自我圖像擷取系統300(B)可以偵測與自我視訊模式的啟動相對應的使用者輸入。在操作516,過程500(B)可以包括開始記錄一或多個背景訊框(例如,使用XR設備的前置攝像頭)。在操作518,自我圖像擷取系統300(B)可以停止記錄背景訊框。自我圖像擷取系統300(B)可以在操作516和操作518之間記錄任意數量的背景訊框。在一個實例中,自我圖像擷取系統300(B)可以記錄預定數量的背景訊框及/或記錄背景訊框達預定時間量。在另一個實例中,自我圖像擷取系統300(B)可以記錄背景訊框,直到偵測到導引自我圖像擷取系統300(A)停止記錄的使用者輸入。
在操作520,過程500(B)可以包括開始記錄使用者的姿勢。例如,自我圖像擷取系統300(B)可以使用XR設備的內置攝像頭及/或外置攝像頭來擷取一或多個訊框。自我圖像擷取系統300(B)可以產生(例如,木偶操縱)複數個化身,化身對應於所有或部分擷取的訊框所指示的使用者的姿勢。在操作522,自我圖像擷取系統300(B)可以停止記錄與使用者的姿勢相關聯的訊框。自我圖像擷取系統300(B)可以記錄與使用者的姿勢相關聯的任意數量的訊框。在一個實例中,自我圖像擷取系統300(B)可以記錄與記錄的背景訊框的數量相對應的大量的訊框。例如,在與記錄背景訊框相對應的時間量之後,用於記錄使用者的姿勢的記錄過程可以自動終止(例如,超時)。在操作524,過程500(B)可以包括自我視訊合成。例如,自我圖像擷取系統300(B)可以將複數個化身覆加在一或多個背景訊框上。
在某些情況下,所揭示的用於在XR環境中進行自我圖像擷取的技術和系統可用於產生包括多人的自我圖像或自我視訊。自我圖像擷取系統300(A)和自我圖像擷取系統300(B)皆可以用來產生包括多人的自我圖像或自我視訊。圖6A是用於多使用者自我圖像擷取的示例性過程600(A)的流程圖,其中多使用者自我圖像擷取可以由自我圖像擷取系統300(A)執行。在操作602,過程600(A)可以包括多使用者自我圖像啟動。例如,自我圖像擷取系統300(A)可以偵測與多使用者自我圖像擷取模式的啟動相對應的使用者輸入。在操作604,過程600(A)可以包括基於擷取的使用者姿勢產生化身。例如,自我圖像擷取系統300(A)可以木偶操縱與佩戴XR設備的使用者的當前姿勢相對應的化身。在某些情況下,當使用者與一或多個其他人合影以包括在多使用者自我圖像中時,自我圖像擷取系統300(A)可以擷取使用者的姿勢。
在操作606,過程600(A)可以包括獲得對應於附加人物的化身資料。例如,自我圖像擷取系統300(A)(在使用者佩戴的XR設備上實施)可以向一或多個附近的XR設備發送請求,以接收與將被包括在多使用者自我圖像中的任何其他人的化身相關聯的資料。在一個實例中,自我圖像擷取系統300(A)可以向自我圖像擷取系統300(A)的廣播範圍內的任何XR設備廣播請求。在另一個實例中,自我圖像擷取系統300(A)可以將特定的請求發送到已知與一或多個人物相關聯的XR設備,以包括在多使用者自我圖像中。例如,自我圖像擷取系統300(A)可以基於使用者輸入向特定XR設備發送請求,及/或向自我圖像擷取系統300(A)先前已與之通訊及/或連接的XR設備發送請求。
在一個實例中,自我圖像擷取系統300(A)請求的化身資料可以包括對應於一或多個其他人物的化身,以包括在多使用者自我圖像內。例如,自我圖像擷取系統300(A)可以促使在XR設備上實施的自我圖像擷取系統產生對應於一或多個其他人物的擷取姿勢的化身,其中XR設備與一或多個人物相關聯。在另一個實例中,化身資料可以包括資料,資料使自我圖像擷取系統300(A)能夠產生對應於一或多個其他人物的化身。例如,化身資料可以包括關於一或多個其他人物的擷取姿勢相關的資訊。化身資料亦可以包括經過訓練以產生一或多個其他人物的化身的機器學習模型(例如,化身條件網路)。在某些情況下,可以使用一或多個其他人物的一或多個圖像(例如全身圖像)來訓練模型。值得注意的是,在某些情況下,要包括在多使用者自我圖像中的人物(或多人)可能沒有佩戴及/或與配置為產生化身的XR設備相關聯。在該等情況下,自我圖像擷取系統300(A)可能無法獲得與對應於人物的化身相關聯的資料。
在操作608,過程600(A)可以包括擷取背景訊框。例如,自我圖像擷取系統300(A)可以偵測使用者輸入,使用者輸入用於導引自我圖像擷取系統300(A)來擷取與XR設備的當前FOV相對應的背景訊框。在一個實例中,背景訊框可以包括對應於一或多個其他人物的圖像資料,以包括在多使用者自我圖像內。例如,當一或多個其他人物保持靜止時,使用者可以在現實世界環境中移動。一旦使用者決定XR設備的當前FOV適合於背景訊框(例如,基於包括一或多個其他人物的當前FOV),使用者可以提供輸入,其中輸入用於導引自我圖像擷取系統300(A)擷取背景訊框。
在操作610,過程600(A)可以包括多使用者自我圖像合成。在自我圖像擷取系統300(A)接收一或多個人物的化身(例如,先前產生的化身)的實例中,自我圖像擷取系統300(A)可以將化身(以及使用者的化身)覆加在背景訊框上。例如,自我圖像擷取系統300(A)可以用適當的化身替換對應於一或多個其他人物的圖像資料。在自我圖像擷取系統300(A)接收器器學習模型的實例中,機器學習模型被訓練以產生一或多個其他人物的化身,自我圖像擷取系統300(A)可以使用模型渲染在背景訊框內對應於一或多個其他人物的化身。
例如,圖6C是多使用者自我圖像擷取系統622的方塊圖。多使用者自我圖像擷取系統622可以接收使用者姿勢630(1)-(N),其對應於一或多個其他人物的擷取的使用者姿勢。多使用者自我圖像擷取系統622亦可以接收化身網路624(1)-624(N),其對應於被訓練以產生一或多個其他人物的化身的機器學習模型(例如,機器學習模型的模型檔案)。基於使用者姿勢630(1)-(N),多使用者自我圖像擷取系統622可以實施化身網路624(1)-624(N)以產生對應於一或多個其他人物的化身。產生的化身可以被輸入到自我圖像產生器626,自我圖像產生器對應於機器學習模型,機器學習模型被訓練以在背景訊框內渲染一或多個化身。自我圖像產生器626可以產生多使用者自我圖像628,其包括對應於使用者和一或多個其他人物的化身。在某些情況下,自我圖像產生器626可以確保化身在多使用者自我圖像628內是全域一致的及/或內聚的。例如,自我圖像產生器626可以標準化化身的燈光、顏色及/或其他視覺特徵。在某些情況下,自我圖像產生器628亦可以移除在背景訊框中可見的任何可能遮掩化身的部分的遮擋物。此外,自我圖像產生器626可以確保一或多個人物佩戴的XR設備不在多使用者自我圖像628內圖示。在將包括在多使用者自我圖像628內的人物(或多個人物)不與XR設備及/或化身相關聯的實例中,多使用者自我圖像擷取系統622可以使背景訊框內與人物對應的圖像資料保持不變。
圖6B是用於多使用者自我圖像擷取的示例性過程600(B)的流程圖,其中多使用者自我圖像擷取可以由自我圖像擷取系統300(B)執行。在操作612,過程600(B)可以包括多使用者自我圖像啟動。例如,自我圖像擷取系統300(B)可以偵測與多使用者自我圖像擷取模式的啟動相對應的使用者輸入。在操作614,過程600(B)可以包括擷取背景訊框。例如,自我圖像擷取系統300(B)可以偵測使用者輸入,使用者輸入用於導引自我圖像擷取系統300(B)來擷取與XR設備的當前FOV相對應的背景訊框。在某些實例中,背景訊框可以不包括對應於一或多個人物的圖像資料,以包括在多使用者自我圖像內。例如,使用者與一或多個其他人物為了實現多使用者自我圖像而合影前,自我圖像擷取系統300(B)可以擷取背景訊框。在操作616,過程600(B)可以包括基於擷取的使用者姿勢產生化身。例如,自我圖像擷取系統300(B)可以偵測使用者輸入,使用者輸入用於導引自我圖像擷取系統300(B)來擷取使用者的姿勢(例如,一旦使用者和一或多個其他人物已經合影)。自我圖像擷取系統300(B)可以木偶操縱與佩戴XR設備的使用者的當前姿勢相對應的化身。
在操作618,過程600(B)可以包括獲得對應於一或多個其他人物的化身資料。例如,自我圖像擷取系統300(B)(在使用者的XR設備上實施)可以向一或多個附近的XR設備發送請求,以接收一或多個其他人物的化身。在另一個實例中,自我圖像擷取系統300(B)可以發送請求以接收資料,資料使自我圖像擷取系統300(B)能夠產生一或多個其他人物的化身。例如,自我圖像擷取系統300(B)可以發送請求以接收器器學習模型,機器學習模型被訓練為產生一或多個其他人物的化身(諸如圖6C中所示的化身網路624(1)-(N))。在某些情況下,自我圖像擷取系統300(B)可以按照以下方式中的任何一種向附近的XR設備發送請求,方式與自我圖像擷取系統300(A)在過程600(A)的操作606處執行的方式相同。在操作620,過程600(B)可以執行多使用者自我圖像合成。在自我圖像擷取系統300(B)接收一或多個人物的化身(例如,先前產生的化身)的實例中,自我圖像擷取系統300(B)可以將化身(以及使用者的化身)覆加在背景訊框上。在自我圖像擷取系統300(B)接收器器學習模型的實例中,機器學習模型被訓練以產生一或多個其他人物的化身,自我圖像擷取系統300(B)可以使用模型渲染在背景訊框內對應於一或多個其他人物的化身。例如,自我圖像擷取系統300(B)可以將模型產生的化身輸入到圖6C所示的自我圖像產生器626中。
圖7是圖示用於在擴展現實環境中進行自我圖像擷取的示例性過程700的流程圖。為了清楚起見,過程700是參照圖3A和圖3B所示的自我圖像擷取系統300(A)和300(B)來描述的。本文概述的步驟或操作是實例並且可以以其任何組合來實施,包括排除、添加或修改某些步驟或操作的組合。
在操作702,過程700包括擷取擴展現實系統的使用者的姿勢,使用者的姿勢包括使用者在與擴展現實系統相關聯的現實世界環境中的位置。在某些實例中,化身引擎304可以至少部分地基於圖像資料來擷取使用者的姿勢,圖像資料是由擴展現實系統的內置攝像頭系統擷取的。此外,化身引擎304可以至少部分地基於決定使用者的表情及/或決定使用者的手勢來擷取使用者的姿勢。在一個實例中,化身引擎304可以至少部分地基於產生現實世界環境的三維地圖來決定使用者在現實世界環境內的位置。
在操作704,過程700包括產生使用者的數位表示,使用者的數位表示反映了使用者的姿勢。在某些實例中,過程700可以產生使用者的第一數位表示和使用者的第二數位表示。在某些情況下,與使用者的第一數位表示相比,使用者的第二數位表示可以是使用者的更高保真度的數位表示。例如,過程700可以包括產生或獲得具有第一保真度的第一數位表示,以及產生或獲得具有第二保真度的第二數位表示(第二保真度高於第一保真度)。在某些態樣,使用者的第一數位表示可以對應於使用者的預覽數位表示,預覽數位表示可以顯示給使用者以促進擷取使用者的期望背景訊框及/或姿勢。在某些態樣,使用者的第二數位表示可以對應於使用者的最終數位表示。
在某些實例中,化身引擎304可以使用機器學習演算法來產生使用者的數位表示。例如,在某些情況下,化身引擎304可以基於第一機器學習演算法來產生使用者的第一數位表示。化身引擎304可以基於第二機器學習演算法來獲得使用者的第二數位表示。在某些情況下,化身引擎304可以基於在擴展現實系統上實施第一機器學習演算法來產生使用者的第一數位表示。在某些情況下,經由使伺服器使用第二機器學習演算法來產生使用者的第二數位表示,化身引擎304可以獲得使用者的第二數位表示,其中伺服器被配置為產生使用者的數位表示。
在操作706,方法700包括以下步驟:擷取現實世界環境的一或多個訊框。在某些實例中,背景訊框引擎306可以使用擴展現實系統的外置攝像頭系統來擷取現實世界環境的一或多個訊框。在一個實例中,可以在操作702及/或操作704之後執行操作706。例如,在背景訊框引擎306擷取現實世界環境的一或多個訊框之前,化身引擎304可以產生使用者的數位表示。在該實例中,化身引擎304可以在擴展現實系統的顯示器內,在與使用者在現實世界環境內的位置相對應的顯示位置中顯示使用者的數位表示,其中經由顯示器,現實世界環境是可見的。在某些實例中,化身引擎304可以使用擷取的使用者的姿勢(在操作702擷取的)來顯示使用者的數位表示。當使用者的數位表示顯示在擴展現實系統的顯示器內時,背景訊框引擎306可以偵測與指令相對應的使用者輸入以便擷取現實世界環境的一或多個訊框。隨後背景訊框引擎306可以基於使用者輸入擷取現實世界環境的一或多個訊框。在一個實例中,在背景訊框引擎306擷取現實世界環境的一或多個訊框之前,化身引擎304可以在擴展現實系統的顯示器內顯示使用者的第一(例如,預覽)數位表示。化身引擎304可以基於正在被擷取的現實世界環境的一或多個訊框及/或基於使用者在一或多個訊框中的姿勢來產生使用者的第二(例如,最終)數位表示。
在另一個實例中,可以在操作702及/或操作704之前執行操作706。例如,在化身引擎304擷取使用者的姿勢之前,背景訊框引擎306可以擷取現實世界環境的一或多個訊框。在該實例中,化身引擎304可以在擴展現實系統的顯示器內,在與使用者在現實世界環境內的位置相對應的顯示位置中顯示使用者的數位表示,其中現實世界環境的一或多個訊框顯示在顯示器上。在某些實例中,化身引擎304可以使用使用者的當前姿勢來顯示使用者的數位表示。化身引擎304可以基於偵測到使用者在現實世界環境內的位置的變化來更新使用者的數位表示的顯示位置。當使用者的數位表示在擴展現實系統的顯示器內顯示時,化身引擎304可以偵測與指令相對應的使用者輸入,指令是要擷取使用者的姿勢。隨後化身引擎304可以基於使用者輸入擷取使用者的姿勢。在一個實例中,在擷取使用者的姿勢之前,化身引擎304可以在擴展現實系統的顯示器內顯示使用者的第一(例如,預覽)數位表示。化身引擎304可以基於正在被擷取的現實世界環境的一或多個訊框及/或基於正在被擷取的使用者的姿勢來產生使用者的第二(例如,最終)數位表示。
在操作708,過程700包括將使用者的數位表示覆加到現實世界環境的一或多個訊框上。在某些實例中,合成引擎308可以在對應於使用者在現實世界環境內的位置的訊框位置中將使用者的數位表示覆加到現實世界環境的一或多個訊框上。在一個實例中,合成引擎308可以使用機器學習演算法將使用者的數位表示覆加到現實世界環境的一或多個訊框上。機器學習演算法可以不同於化身引擎304用來產生使用者的數位表示的機器學習演算法。
在某些實例中,過程700可以包括在現實世界環境中擷取人物的姿勢並產生人物的數位表示。人物的數位表示可以反映人物的姿勢。過程700亦可以包括將使用者的數位表示和人物的數位表示覆加到現實世界環境的一或多個訊框上。在一個實例中,化身引擎304可以至少部分地基於與人物的數位表示相關聯的資訊來產生人物的數位表示,其中人物的數位表示是從人物的擴展現實系統接收到的。與人物的數位表示相關聯的資訊可以包括被訓練以產生人物的數位表示的機器學習模型。
在進一步的實例中,過程700可以包括擷取使用者的、與複數個訊框相關聯的複數個姿勢,並且產生與複數個訊框相對應的使用者的複數個數位表示。過程700亦可以包括將使用者的複數個數位表示覆加到現實世界環境的一或多個訊框上,現實世界環境的一或多個訊框包括現實世界環境的複數個訊框。
在某些實例中,過程500(A)、500(B)、600(A)、600(B)、700及/或在此描述的其他過程可以由一或多個計算設備或裝置來執行。在某些實例中,過程500(A)、500(B)、600(A)、600(B)、700及/或在此描述的其他過程可以由圖2所示的擴展現實系統200、圖3A所示的自我圖像擷取系統300(A)、圖3B所示的自我圖像擷取系統300(B)、圖6C所示的多使用者自我圖像擷取系統622,及/或具有圖1000所示的計算設備架構1000的一或多個計算設備來執行。在某些情況下,此類計算設備或裝置可以包括處理器、微處理器、微型電腦,或被配置為執行過程500(A)、500(B)、600(A)、600(B)、700的步驟的設備的其他元件。在某些實例中,此類計算設備或裝置可以包括一或多個被配置為擷取圖像資料的感測器。例如,計算設備可以包括智慧型電話、攝像頭、頭戴式顯示器、行動設備,或其他合適的設備。在某些實例中,此類計算設備或裝置可以包括被配置為擷取一或多個圖像或視訊的攝像頭。在某些情況下,此類計算設備可以包括用於顯示圖像的顯示器。在某些實例中,一或多個感測器及/或攝像頭與計算設備分離,在此種情況下計算設備接收感測資料。此類計算設備亦可以包括被配置為傳送資料的網路介面。
計算設備的元件可以在電路系統中實施。例如,元件可以包括及/或可以使用電子電路或其他電子硬體來實施,電子電路或其他電子硬體可以包括一或多個可程式設計電子電路(例如,微處理器、圖形處理單元(GPU)、數位信號處理器(DSP)、中央處理單元(CPU)及/或其他合適的電子電路),及/或可以包括及/或使用電腦軟體、韌體或其任何組合來實施,以執行在此描述的各種操作。計算設備亦可以包括顯示器(作為輸出設備的實例或除了輸出設備之外)、被配置為傳送及/或接收資料的網路介面、其任何組合,及/或其他元件。網路介面可以被配置為傳送及/或接收基於網際網路協定(IP)的資料或其他類型的資料。
過程500(A)、500(B)、600(A)、600(B)、700被圖示為邏輯流程圖,其操作表示可以在硬體、電腦指令,或其組合中實施的操作的順序。在電腦指令的上下文中,操作表示儲存在一或多個電腦可讀取儲存媒體上的電腦可執行指令,當由一或多個處理器執行時,電腦可執行指令執行該等操作。通常,電腦可執行指令包括執行特定功能或實施特定資料類型的常式、程式、物件、元件、資料結構等。描述操作的順序不意欲被解釋為限制,並且任何數量的描述的操作可以以任何順序及/或並行組合以實施過程。
此外,在此描述的過程500(A)、500(B)、600(A)、600(B)、700及/或其他過程可以在配置有可執行指令的一或多個電腦系統的控制下執行,並且可以由硬體或其組合實施為在一或多個處理器上共同執行的代碼(例如,可執行指令、一或多個電腦程式或一或多個應用程式)。如前述,代碼可以儲存在電腦可讀取或機器可讀取儲存媒體上,例如,以包括可由一或多個處理器執行的複數個指令的電腦程式的形式。電腦可讀取或機器可讀取儲存媒體可以是非暫時性的。
圖8是可由光估計器使用的深度學習神經網路800的說明性實例。輸入層820包括輸入資料。在一個說明性實例中,輸入層820可以包括表示輸入訊框的圖元的資料。神經網路800包括多個隱藏層822a、822b到822n。隱藏層822a、822b到822n包括「n」個隱藏層,其中「n」是大於或等於1的整數。隱藏層的數量可以包含給定應用所需的儘可能多的層。神經網路800亦包括輸出層824,其提供由隱藏層822a、822b到822n執行處理產生的輸出。在一個說明性實例中,輸出層824可以提供與給一訊框提供燈光相關聯的光估計。光估計可以包括燈光參數及/或潛在特徵向量。
神經網路800是互連節點的多層神經網路。每個節點可以表示一條資訊。與節點相關聯的資訊在不同層之間共享,並且每層在處理資訊時保留資訊。在某些情況下,神經網路800可以包括前饋網路,在此種情況下,沒有回饋連接,其中網路的輸出被回饋回其自身。在某些情況下,神經網路800可以包括循環神經網路,循環神經網路可以具有允許在讀入輸入時跨節點載運資訊的循環。
經由各個層之間的節點到節點互連,可以在節點之間交換資訊。輸入層820的節點可以啟用第一隱藏層822a中的一組節點。例如,如圖所示,輸入層820的輸入節點中的每一個皆連接到第一隱藏層822a的節點中的每一個。隱藏層822a、822b到822n的節點可以經由將啟用函數應用於該等資訊來變換每個輸入節點的資訊。從變換得到的資訊隨後可以被傳遞到並且可以啟用下一個隱藏層822b的節點,隱藏層822b可以執行其自己的指定功能。示例性函數包括迴旋、上取樣、資料變換及/或任何其他合適的函數。隨後隱藏層822b的輸出可以啟用下一個隱藏層的節點,以此類推。最後一個隱藏層822n的輸出可以啟用輸出層824的一或多個節點,在節點處提供輸出。在某些情況下,儘管神經網路800中的節點(例如,節點826)被顯示為具有多個輸出線,但節點具有單個輸出並且所有被顯示為從節點輸出的線表示相同的輸出值。
在某些情況下,每個節點或節點之間的互連可以具有權重,權重是從神經網路800的訓練匯出的一組參數。一旦神經網路800被訓練,神經網路800就可以被稱為訓練的神經網路,訓練的神經網路可以用來對一或多個物件進行分類。例如,節點之間的互連可以表示一條關於互連節點的資訊。互連可以具有可調數值權重,可調數值權重可以(例如,基於訓練資料集)調整,允許神經網路800適應輸入並且能夠隨著越來越多的資料被處理而學習。
神經網路800被預訓練以使用不同的隱藏層822a、822b到822n來處理來自輸入層820中的資料的特徵,以便經由輸出層824提供輸出。在神經網路800用於辨識圖像中的物件的實例中,可以使用包括圖像和標籤的訓練資料來訓練神經網路800。例如,可以將訓練圖像輸入到網路中,每個訓練圖像皆有一個標籤,指示每個圖像中一或多個物件的類別(基本上,向網路指示物件是什麼以及該等物件具有什麼特徵)。在一個說明性實例中,訓練圖像可以包括數值2的圖像,在此種情況下,圖像的標籤可以是[0 0 1 0 0 0 0 0 0 0]。
在某些情況下,神經網路800可以使用稱為反向傳播的訓練過程來調整節點的權重。反向傳播可以包括前向傳遞、損失函數、後向傳遞和權重更新。前向傳遞、損失函數、後向傳遞和參數更新在一次訓練反覆運算中執行。對於每組訓練圖像,過程可以重複一定次數的反覆運算,直到神經網路800被訓練得足夠好,使得層的權重被準確地調整。
對於辨識圖像中的物件的實例,前向傳遞可以包括使訓練圖像經由神經網路800傳遞。在訓練神經網路800之前,權重最初是隨機化的。圖像可以包括例如表示圖像圖元的數值陣列。陣列之每一者數值皆可以包含一個從0到255的值,用於描述陣列中位置的圖元強度。在一個實例中,陣列可以包括具有28行和28列圖元和3個顏色分量(諸如紅色、綠色和藍色,或亮度和兩個色度分量等)的28×28×3數值陣列。
對於神經網路800的第一訓練反覆運算,由於在初始化時隨機選擇權重,輸出將可能包括不優先於任何特定類別的值。例如,若輸出是向量,其中向量具有物件包括不同類別的概率,則不同類別中的每一個的概率值可能相等或至少非常相似(例如,對於十個可能的類別,每個類別可能具有概率值0.1)。使用初始權重,神經網路800無法決定低級特徵,因此無法準確決定物件的分類可能是什麼。損失函數可用於分析輸出中的誤差。可以使用任何合適的損失函數定義。損失函數的一個實例包括均方誤差(MSE)。MSE定義為
Figure 02_image001
,其計算實際答案乘以二分之一後再減去預測(輸出)答案的平方的總和。損失可以設置為等於
Figure 02_image003
的值。
第一訓練圖像的損失(或誤差)會很高,因為實際值將與預測輸出有很大不同。訓練的目標是最小化損失量,使預測輸出與訓練標籤相同。神經網路800可以經由決定何者輸入(權重)對網路的損失貢獻最大來執行後向傳遞,並且可以調整權重以使損失減少並最終最小化。
可以計算損失相對於權重的導數(表示為 dL/dW,其中 W是特定層的權重)以決定對網路損失貢獻最大的權重。在計算出導數之後,可以經由更新濾波器的所有權重來執行權重更新。例如,可以更新權重,以便該等權重在梯度的相反方向上變化。權重更新可以表示為
Figure 02_image005
,其中 w表示權重, w i 表示初始權重,並且 η表示學習率。學習率可以被設置為任何合適的值,高學習率包括較大的權重更新,並且較低的值表示較小的權重更新。
神經網路800可以包括任何合適的深度網路。一個實例包括迴旋神經網路(CNN),其包括輸入層和輸出層,在輸入層和輸出層之間具有多個隱藏層。下文參考圖8描述CNN的實例。CNN的隱藏層包括一系列迴旋層、非線性層、池化(用於下取樣)層和全連接層。神經網路800可以包括除CNN之外的任何其他深度網路,諸如自動編碼器、深度置信網路(DBN)、循環神經網路(RNN)等。
圖9是迴旋神經網路900(CNN 900)的說明性實例。CNN 900的輸入層920包括表示圖像的資料。例如,資料可以包括表示圖像圖元的數值陣列,陣列之每一者數值包括從0到255的值,描述陣列中位置的圖元強度。使用從上述獲得的前述實例,陣列可以包括具有28行和28列圖元和3個顏色分量(例如紅色、綠色和藍色,或亮度和兩個色度分量等)的28×28×3數值陣列。圖像可以通過迴旋隱藏層922a、可選的非線性啟用層、池化隱藏層922b和全連接隱藏層922c以在輸出層924處獲得輸出。儘管所有隱藏層中僅有一個在圖9中顯示,一般技術者將理解多個迴旋隱藏層、非線性層、池化隱藏層及/或全連接層皆可以包括在CNN 900中。如前述,輸出可以指示物件的單個類別,或者可以包括最能描述圖像中物件的類別的概率。
CNN 900的第一層是迴旋隱藏層922a。迴旋隱藏層922a分析輸入層920的圖像資料。迴旋隱藏層922a的每個節點皆連接到輸入圖像的節點(圖元)區域,稱為感受域。迴旋隱藏層922a可以被認為是一或多個濾波器(每個濾波器對應於不同的啟用或特徵圖),濾波器的每個迴旋反覆運算是迴旋隱藏層922a的節點或神經元。例如,濾波器在每次迴旋反覆運算中覆蓋的輸入圖像區域將是濾波器的感受域。在一個說明性實例中,若輸入圖像包括一個28×28陣列,並且每個濾波器(和相應的感受域)是一個5×5陣列,則在迴旋隱藏層922a中將有24×24節點。節點和節點的感受域之間的每個連接皆會學習權重,並且在某些情況下,亦會學習整體偏差,以便每個節點學習分析其在輸入圖像中的特定局部感受域。隱藏層922a的每個節點皆將具有相同的權重和偏差(稱為共享權重和共享偏差)。例如,濾波器有一個權重陣列(數值)和與輸入相同的深度。對於視訊訊框實例,濾波器的深度為3(根據輸入圖像的三個顏色分量)。濾波器陣列的說明性示例性大小是5×5×3,對應於節點的感受域的大小。
迴旋隱藏層922a的迴旋性質是由於迴旋層的每個節點被應用於其對應的感受域。例如,迴旋隱藏層922a的濾波器可以從輸入圖像陣列的左上角開始並且可以圍繞輸入圖像進行迴旋。如前述,濾波器的每次迴旋反覆運算可以被認為是迴旋隱藏層922a的節點或神經元。在每次迴旋反覆運算中,濾波器的值與圖像的相應數量的原始圖元值相乘(例如,5×5濾波器陣列乘以輸入圖像陣列左上角的5×5輸入圖元值陣列)。每次迴旋反覆運算的乘積皆可以加在一起以獲得反覆運算或節點的總和。過程接下來根據迴旋隱藏層922a中下一個節點的感受域在輸入圖像中的下一個位置繼續。例如,一個濾波器可以移動一個等級數到下一個感受域。等級數可以設置為1或其他合適的量。例如,若等級數設置為1,則在每次迴旋反覆運算時,濾波器將向右移動1個圖元。在輸入體積的每個唯一位置處處理濾波器產生表示位置的濾波結果的數值,導致為迴旋隱藏層922a的每個節點決定總和值。
從輸入層到迴旋隱藏層922a的映射被稱為啟用圖(或特徵圖)。啟用圖包括每個節點的值,表示輸入體積的每個位置處的濾波結果。啟用圖可以包括一個陣列,陣列包括從輸入體積上的濾波器的每次反覆運算產生的各種總和值。例如,若將5×5濾波器應用於28×28輸入圖像的每個圖元(等級數為1),則啟用圖將包括24×24陣列。迴旋隱藏層922a可以包括幾個啟用圖以便辨識圖像中的多個特徵。如圖9所示的實例包括三個啟用圖。使用三個啟用圖,迴旋隱藏層922a可以偵測三種不同類型的特徵,每個特徵皆可以在整個圖像中偵測到。
在某些實例中,可以在迴旋隱藏層922a之後應用非線性隱藏層。非線性層可用於將非線性引入一直在計算線性運算的系統。非線性層的一個說明性實例是整流線性單元(ReLU)層。ReLU層可以將函數f(x)=max(0, x)應用於輸入體積中的所有值,此舉會將所有負啟用變為0。ReLU因此可以增加網路900的非線性特性而不影響迴旋隱藏層922a的感受域。
池化隱藏層922b可以應用在迴旋隱藏層922a之後(並且在使用時在非線性隱藏層之後)。池化隱藏層922b用於簡化來自迴旋隱藏層922a的輸出中的資訊。例如,池化隱藏層922b可以獲取從迴旋隱藏層922a輸出的每個啟用圖,並使用池化函數產生壓縮的啟用圖(或特徵圖)。最大池化是池化隱藏層執行的函數的一個實例。池化隱藏層922b使用其他形式的池化函數,諸如平均池化、L2-範數池化或其他合適的池化函數。池化函數(例如,最大池化濾波器、L2-範數濾波器或其他合適的池化濾波器)被應用於迴旋隱藏層922a中包括的每個啟用圖。在圖9所示的實例中,三個池化濾波器用於迴旋隱藏層922a中的三個啟用圖。
在某些實例中,可以經由應用具有等級數(例如,等於濾波器的維度,諸如等級數為2)的最大池化濾波器(例如,具有2×2的大小)來使用最大池化從迴旋隱藏層922a輸出的啟用圖。最大池化濾波器的輸出包括濾波器到處迴旋的每個子區域中的最大數量。以2×2濾波器為例,池化層之每一者單元皆可以匯總上一層中2×2節點的區域(每個節點是啟用圖中的一個值)。例如,啟用圖中的四個值(節點)將在濾波器的每次反覆運算中由2×2最大池化濾波器分析,四個值中的最大值作為「最大值」輸出。若將此種最大池化濾波器應用於來自迴旋隱藏層922a的具有24×24節點維度的啟用濾波器,則池化隱藏層922b的輸出將是12×12節點的陣列。
在某些實例中,亦可以使用L2-範數池化濾波器。L2-範數池化濾波器包括計算啟用圖的2×2區域(或其他合適區域)中值的平方和的平方根(而不是像在最大池化中一般計算最大值),並使用計算值作為輸出。
直觀而言,池化函數(例如,最大池化、L2-範數池化或其他池化函數)決定是否在圖像區域的任何位置找到給定特徵,並丟棄確切的方位資訊。此舉可以在不影響特徵偵測結果的情況下完成,因為一旦找到特徵,特徵的確切位置就不如其相對於其他特徵的大致位置重要。最大池化(以及其他池化方法)提供的好處是池化特徵更少,從而減少了CNN 900後續層所需的參數數量。
網路中的連接的最後一層是全連接層,全連接層將池化隱藏層922b之每一者節點連接到輸出層924的輸出節點中的每一個。使用上文的實例,輸入層包括28×28節點,節點編碼輸入圖像的圖元強度。基於(用於濾波器)5×5局部感受域到三個啟用圖的應用,迴旋隱藏層922a包括3×24×24隱藏特徵節點。並且基於最大池濾波器到三個特徵圖中的每一個的2×2區域的應用,池化層922b包括一個3×12×12隱藏特徵節點的層。擴展該實例,輸出層924可以包括十個輸出節點。在此種實例中,3×12×12池化隱藏層922b的每個節點皆連接到輸出層924的每個節點。
全連接層922c可以獲得前一個池化層922b的輸出(其應表示高級特徵的啟用圖),並決定與特定類別最相關的特徵。例如,全連接層922c層可以決定與特定類別最密切相關的高級特徵,並且可以包括高級特徵的權重(節點)。可以計算全連接層922c和池化隱藏層922b的權重之間的乘積,以獲得不同類別的概率。例如,若CNN 900被用於預測視訊訊框中的物件是人物,則表示人物的高級特徵的啟用圖中將出現高值(例如,呈現兩條腿、一張臉呈現於物件的頂部,兩隻眼睛呈現於臉部的左上角和右上角,鼻子呈現於臉部中間,嘴巴呈現於臉部底部,及/或人物的其他共同特徵)。
在某些實例中,來自輸出層924的輸出可以包括M維向量(在之前的實例中,M=10),其中M可以包括程式在將圖像中的物件分類時必須從中選擇的類別的數量。亦可以提供其他示例性輸出。M維向量之每一者數值皆可以表示物件屬於某一類的概率。在一個說明性實例中,若表示十個不同類別物件的10維輸出向量為[0 0 0.05 0.8 0 0.15 0 0 0 0],則向量表示圖像有5%的概率是第三類別物件(例如,狗),有80%的概率是第四類別物件(例如,人物),並且有15%的概率是第六類別物件(例如,袋鼠)。一個類別的概率可以被認為是物件是類別的一部分的置信水平。
圖10是圖示用於實施本發明技術的某些態樣的系統的實例的圖。特別地,圖10圖示計算系統1000的實例,其可以是例如構成內部計算系統的任何計算設備、遠端計算系統、攝像頭或其任何元件,其中系統的元件使用連接1005彼此通訊。連接1005可以是使用匯流排的實體連接,或者是到處理器1010的直接連接,諸如在晶片組架構中。連接1005亦可以是虛擬連接、網路連接或邏輯連接。
在某些實例中,計算系統1000是分散式系統,其中本案中描述的功能可以分佈在資料中心、多個資料中心、同級網路等內部。在某些實例中,所描述的系統元件中的一或多個表示許多此類元件各自執行描述元件的部分或全部功能。在某些情況下,元件可以是實體或虛擬設備。
示例性系統1000包括至少一個處理單元(CPU或處理器)1010和將各種系統元件耦合到處理器1010的連接1005,其中系統元件包括系統記憶體1015,諸如唯讀記憶體(ROM)1020和隨機存取記憶體(RAM)1025。計算系統1000可以包括高速記憶體的快取記憶體1012,高速記憶體與處理器1010直接連接、靠近或整合為處理器1010的一部分。
處理器1010可以包括任何通用處理器和硬體服務或軟體服務,諸如儲存在儲存設備1030中的服務1032、1034和1036,被配置為控制處理器1010以及專用處理器,其中軟體指令被併入到實際的處理器設計。處理器1010本質上可以是完全獨立的計算系統,包含多個核心或處理器、匯流排、記憶體控制器、快取記憶體等。多核處理器可以是對稱的或不對稱的。
為了實現使用者互動,計算系統1000包括輸入設備1045,其可以表示任意數量的輸入機制,諸如用於語音的麥克風、用於手勢或圖形輸入的觸敏螢幕、鍵盤、滑鼠、手勢輸入、語音等。計算系統1000亦可以包括輸出設備1035,其可以是多個輸出機制中的一或多個。在某些情況下,多模式系統可以使使用者提供多種類型的輸入/輸出以與計算系統1000進行通訊。計算系統1000可以包括通訊介面1040,其通常可以支配和管理使用者輸入和系統輸出。通訊介面可以使用有線及/或無線收發器執行或促進接收及/或傳輸有線或無線通訊,包括使用音訊插孔/插頭、麥克風插孔/插頭、通用序列匯流排(USB)埠/插頭、Apple®Lightning®埠/插頭、乙太網路埠/插頭、光纖埠/插頭、專有有線埠/插頭、BLUETOOTH®無線信號傳輸、BLUETOOTH®低能量(BLE)無線信號傳輸、IBEACON®無線信號傳輸、射頻辨識(RFID)無線信號傳輸、近場通訊(NFC)無線信號傳輸、專用短距離通訊(DSRC)無線信號傳輸、802.10 Wi-Fi無線信號傳輸、無線區域網路(WLAN)信號傳輸、可見光通訊(VLC)、全球互通微波存取性(WiMAX)、紅外(IR)通訊無線信號傳輸、公用交換電話網絡(PSTN)信號傳輸、整合式服務數位網路(ISDN)信號傳輸、3G/4G/5G/LTE蜂巢資料網路無線信號傳輸、ad-hoc網路信號傳輸、無線電波信號傳輸、微波信號傳輸、紅外信號傳輸、可見光信號傳輸、紫外光信號傳輸、沿電磁頻譜的無線信號傳輸,或其某種組合,的通訊。通訊介面1040亦可以包括一或多個全球導航衛星系統(GNSS)接收器或收發器,其用於基於從一或多個衛星接收的一或多個信號來決定計算系統1000的位置,其中衛星與一或多個GNSS系統相關聯。GNSS系統包括但不限於美國的全球定位系統(GPS)、俄羅斯的全球導航衛星系統(GLONASS)、中國的北斗導航衛星系統(BDS)和歐洲的伽利略GNSS。對在任何特定硬體佈置上的操作沒有限制,因此此處的基本特徵可以很容易地替換為改良的硬體或韌體佈置,因為該等基本特徵正在開發。
儲存設備1030可以是非揮發性及/或非暫時性及/或電腦可讀取記憶體設備,並且可以是硬碟或可以儲存電腦可存取的資料的其他類型的電腦可讀取媒體,諸如磁帶盒、快閃記憶卡、固態記憶體設備、數位萬能光碟、盒式磁帶、軟碟、可折疊磁碟、硬碟、磁帶、磁條/道、任何其他磁儲存媒體、快閃記憶體、憶阻器記憶體、任何其他固態記憶體、壓縮光碟唯讀記憶體(CD-ROM)光碟、可重寫壓縮光碟(CD)光碟、數位視訊光碟(DVD)光碟、藍光光碟(BDD)光碟、全息光碟、另一種光學媒體、安全數位(SD)卡、微型安全數位(microSD)卡、Memory Stick®卡、智慧卡晶片、EMV晶片、用戶身份模組(SIM)卡,迷你/縮微/奈米/微微SIM卡,另一個積體電路(IC)晶片/卡,隨機存取記憶體(RAM)、靜態RAM(SRAM)、動態RAM(DRAM)、唯讀記憶體(ROM)、可程式設計唯讀記憶體(PROM)、可抹除可程式設計唯讀記憶體(EPROM)、電子可抹除可程式設計唯讀記憶體(EEPROM)、快閃記憶體EPROM(FLASHEPROM)、快取記憶體(L1/L2/L3/L4/L5/L#)、電阻隨機存取記憶體(RRAM/ReRAM)、相變記憶體(PCM)、自旋轉移矩RAM(STT-RAM)、另一種記憶體晶片或盒式磁帶及/或其組合。
儲存設備1030可以包括軟體服務、伺服器、服務等,當處理器1010執行定義此種軟體的代碼時,該代碼使系統執行功能。在某些實例中,執行特定功能的硬體服務可以包括儲存在電腦可讀取媒體中的軟體元件,軟體元件與諸如處理器1010、連接1005、輸出設備1035等必要的硬體元件相結合,以執行功能。
如本文所用,術語「電腦可讀取媒體」包括但不限於可攜式或非可攜式儲存設備、光學儲存設備,以及能夠儲存、包含或攜帶指令及/或資料的各種其他媒體。電腦可讀取媒體可以包括非暫時性媒體,其中非暫時性媒體可以儲存資料並且不包括無線或經由有線連接傳播的載波及/或暫時性電子信號。非暫時性媒體的實例可以包括但不限於磁碟或磁帶、諸如壓縮光碟(CD)或數位萬能光碟(DVD)之類的光學儲存媒體、快閃記憶體、記憶體或記憶體設備。電腦可讀取媒體上可能儲存有代碼及/或機器可執行指令,代碼及/或機器可執行指令可以表示程序、函數、副程式、程式、常式、子常式、模組、套裝軟體、類別,或指令、資料結構或程式語句的任何組合。經由傳遞及/或接收資訊、資料、引數、參數或記憶體內容,程式碼片段可以耦合到另一個程式碼片段或硬體電路。資訊、引數、參數、資料等可以使用包括記憶體共享、訊息傳遞、符記傳遞、網路傳輸等的任何合適的方式來傳遞、轉發或傳輸。
在某些實例中,電腦可讀取儲存設備、媒體和記憶體可以包括包含位元串流等的電纜或無線信號。然而,當提及時,非暫時性電腦可讀取儲存媒體明確排除諸如能量、載波信號、電磁波和信號本身之類的媒體。
在上文的描述中提供了具體細節以提供對此處提供的實例的透徹理解。然而,讓一般技術者容易理解的是,可以在沒有該等具體細節的情況下實踐實例。為了實現清晰的解釋,在某些情況下,本技術可以被呈現為包括單獨的功能方塊,功能方塊包括在以軟體或硬體和軟體的組合實施的方法中的設備、設備元件、操作、步驟或常式。可以使用除了圖中所示及/或此處描述的彼等之外的附加元件。例如,電路、系統、網路、過程和其他元件可以被顯示為方塊圖形式的元件,以免在不必要的細節中模糊化實例。在其他例子中,可以圖示熟知的電路、過程、演算法、結構和技術而沒有提供不必要的細節,以避免混淆實例。
上文可以將各個實例描述為圖示為流程圖、流程圖表、資料流程圖、結構圖或方塊圖的過程或方法。儘管流程圖可以將操作描述為序列過程,但很多操作可以並行或併發進行。另外,可以重新安排操作的順序。一個過程在其操作完成時終止,但可能具有圖中未包括的其他操作。過程可以對應於方法、函數、程序、子常式、副程式等。當過程對應於函數時,其終止可以對應於函數返回調用函數或主函數。
根據上述實例的過程和方法可以使用電腦可執行指令來實施,其中電腦可執行指令儲存在或以其他方式從電腦可讀取媒體獲得。此類指令可以包括,例如,導致或以其他方式配置通用電腦、專用電腦或處理設備以執行特定功能或功能群組的指令和資料。使用的部分電腦資源可以經由網路存取。電腦可執行指令可以是例如二進位、中間格式指令,諸如組合語言、韌體、原始程式碼等。根據所述實例,可以用於儲存指令,使用的資訊及/或在使用方法期間創造的資訊的電腦可讀取媒體的實例包括磁碟或光碟、快閃記憶體、提供有非揮發性記憶體的USB設備、網路儲存設備等。
實施根據該等揭示的過程和方法的設備可以包括硬體、軟體、韌體、中間軟體、微代碼、硬體描述語言或其任何組合,並且可以採用多種形式因素中的任何一種。當以軟體、韌體、中間軟體或微代碼實施時,用於執行必要任務的程式碼或程式碼片段(例如,電腦程式產品)可以儲存在電腦可讀取或機器可讀取媒體中。處理器可以執行必要的任務。各種形狀因數的典型實例包括膝上型電腦、智慧型電話、行動電話、平板設備或其他小型個人電腦、個人數位助理、機架式設備、獨立設備等。此處描述的功能亦可以體現在周邊設備或附加卡中。作為進一步的實例,此類功能亦可以在不同晶片或在單個設備中執行的不同過程之間的電路板上實施。
指令、用於傳送此類指令的媒體、用於執行此類指令的計算資源,以及用於支援此類計算資源的其他結構是用於提供本案中描述的功能的示例性手段。
在前面的描述中,參考其具體實例描述了本案的各個態樣,但是熟習此項技術者將認識到本案不限於此。因此,儘管本文已經詳細描述了本案的說明性實例,但是應當理解,本發明構思可以以其他方式不同地體現和採用,並且所附請求項意欲被解釋為包括此種變化,經由現有技術除非受到限制。上述應用的各種特徵和態樣可以單獨或聯合使用。此外,在不脫離本說明書的更廣泛的精神和範疇的情況下,實例可以在超出在此描述的彼等的任何數量的環境和應用中使用。因此,說明書和附圖被認為是說明性的而不是限制性的。出於說明的目的,以特定順序描述了方法。應當理解,在替代實例中,可以以與所描述的順序不同的順序來執行該等方法。
一般技術者將理解,在此使用的小於(「<」)和大於(「>」)符號或術語可以分別替換為小於或等於(「≦」)和大於或等於(「≧」)符號,而不脫離本描述的範疇。
在元件被描述為「配置為」執行某些操作的情況下,可以經由例如設計電子電路或其他硬體來執行操作、經由對可程式設計電子電路(例如微處理器或其他合適的電子電路)進行程式設計來實現此類配置以執行操作或其任何組合。
短語「耦合到」是指直接或間接實體連接到另一個元件的任何元件,及/或與另一個元件直接或間接通訊的任何元件(例如,經由有線或無線連接,連接到另一個元件,及/或其他合適的通訊介面)。
引用一組「至少一個」及/或一組「一或多個」的請求項語言或其他語言表示集合的一個成員或集合的多個成員(以任何組合)滿足請求項。例如,引用「A和B中的至少一個」的請求項語言是指A、B或A和B。在另一個實例中,引用「A、B和C中的至少一個」的請求項語言是指A、B、C,或A和B,或A和C,或B和C,或A和B和C。語言一組「至少一個」及/或一組「一或多個」不將集合限制為集合中列出的項目。例如,引用「A和B中的至少一個」的請求項語言可以表示A、B或A和B,並且可以另外包括未在集合A和B中列出的項目。
結合本文揭示的實例的各種說明性的邏輯區塊、模組、電路和演算法操作可以被實施為電子硬體、電腦軟體、韌體或組合。為了清楚地說明硬體和軟體的此種可互換性,上文已經對各種說明性元件、方塊、模組、電路和操作在其功能態樣進行了整體描述。將此種功能性實施為硬體還是軟體取決於特定的應用和施加在整體系統上的設計約束。熟習此項技術者可以針對每個特定應用以不同方式實施所描述的功能性,但是此種實施決策不應被解釋為導致脫離本應用的範疇。
本文中所描述的技術可實施於電子硬體、電腦軟體、韌體或其任何組合。該等技術可實施於多種設備(例如通用電腦、無線通訊設備手持機,或積體電路設備)中的任何一個,其具有包括在無線通訊設備手持機及其他設備中的應用的多種用途。被描述為模組或元件的任何特徵可一起實施於整合邏輯設備或分開來實施為離散但可交互操作的邏輯設備。若在軟體中實施,則該等技術可至少部分地由包括程式碼的電腦可讀取資料儲存媒體來實現,該程式碼包括在被執行時執行上文所描述的方法中的一或多個的指令。電腦可讀取資料儲存媒體可形成電腦程式產品的一部分,產品可包括封裝材料。電腦可讀取媒體可包括記憶體或資料儲存媒體,例如,隨機存取記憶體(RAM)(例如,同步動態隨機存取記憶體(SDRAM))、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、電子可抹除可程式設計唯讀記憶體(EEPROM)、快閃記憶體、磁性或光學資料儲存媒體等等。附加地或可選地該等技術可至少部分地由電腦可讀取通訊媒體來實現,電腦可讀取通訊媒體以指令或資料結構的形式載運或傳送程式碼且可由諸如傳播信號或傳播波的電腦存取、讀取及/或執行。
程式碼可被處理器執行,處理器可包含一或多個處理器,例如一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、現場可程式設計邏輯陣列(FPGA)或其他等效整合或離散邏輯電路系統。此種處理器可被配置來執行本案中所描述的技術中的任何一個。通用處理器可為微處理器;但在替代方案中,處理器可為任何習知處理器、控制器、微控制器或狀態機。處理器亦可實施為計算設備的組合,例如DSP和微處理器的組合、複數個微處理器、與DSP核結合的一或多個微處理器,或任何其他此類配置。因此,如本文中所使用的術語「處理器」可指前述結構中的任何一個、前述結構的任何組合,或適合於實施本文中所描述的技術的任何其他結構或裝置。另外,在某些態樣,可將本文中所描述的功能提供在被配置用於編碼和解碼的專用軟體模組或硬體模組內,或併入組合的視訊編碼解碼器(CODEC)中。
本案的說明性態樣如下:
態樣1:一種用於在擴展現實環境中擷取自我圖像的裝置,裝置包括記憶體;及耦合到記憶體的一或多個處理器,一或多個處理器被配置為:擷取擴展現實系統的使用者的姿勢,使用者的姿勢包括使用者在與擴展現實系統相關聯的現實世界環境中的位置;產生使用者的數位表示,使用者的數位表示反映使用者的姿勢;擷取現實世界環境的一或多個訊框;及將使用者的數位表示覆加到現實世界環境的一或多個訊框上。
態樣2:根據請求項1之裝置,其中一或多個處理器被配置為在對應於使用者在現實世界環境內的位置的訊框位置中將使用者的數位表示覆加到現實世界環境的一或多個訊框上。
態樣3:根據請求項1之裝置,其中一或多個處理器被配置為在擷取現實世界環境的一或多個訊框之前產生使用者的數位表示。
態樣4:根據請求項1至3中任一項之裝置,其中一或多個處理器被配置為在擴展現實系統的顯示器內,在與使用者在現實世界環境內的位置相對應的顯示位置中顯示使用者的數位表示,其中經由顯示器,現實世界環境是可見的。
態樣5:根據請求項4之裝置,其中一或多個處理器被配置為:當使用者的數位表示顯示在擴展現實系統的顯示器內時,偵測對應於擷取現實世界環境的一或多個訊框的指令的使用者輸入;及基於使用者輸入擷取現實世界環境的一或多個訊框。
態樣6:根據請求項1之裝置,其中一或多個處理器被配置為在擷取使用者的姿勢之前擷取現實世界環境的一或多個訊框。
態樣7:根據請求項6之裝置,其中一或多個處理器被配置為在擴展現實系統的顯示器內,在與使用者在現實世界環境內的位置相對應的顯示位置中顯示使用者的數位表示,其中現實世界環境的一或多個訊框經由顯示器顯示。
態樣8:根據請求項7之裝置,其中一或多個處理器被配置為基於偵測到使用者在現實世界環境中的位置的變化來更新使用者的數位表示的顯示位置。
態樣9:根據請求項7之裝置,其中一或多個處理器亦被配置為:當使用者的數位表示顯示在擴展現實系統的顯示器內時,偵測對應於擷取使用者的姿勢的指令的使用者輸入;及基於使用者輸入擷取使用者的姿勢。
態樣10:根據請求項1至9中任一項之裝置,其中一或多個處理器被配置為:產生使用者的、具有第一保真度的第一數位表示;及獲得使用者的、具有第二保真度的第二數位表示,其中第二保真度高於第一保真度。
態樣11:根據請求項10之裝置,其中一或多個處理器被配置為:在擷取使用者的姿勢之前,在擴展現實系統的顯示器內顯示使用者的第一數位表示;基於正被擷取的使用者的姿勢產生使用者的第二數位表示;及將使用者的第二數位表示覆加到現實世界環境的一或多個訊框上。
態樣12:根據請求項10之裝置,其中一或多個處理器被配置為:在擷取現實世界環境的一或多個訊框之前,在擴展現實系統的顯示器內顯示使用者的第一數位表示;基於正被擷取的現實世界環境的一或多個訊框產生使用者的第二數位表示;及將使用者的第二數位表示覆加到現實世界環境的一或多個訊框上。
態樣13:根據請求項10之裝置,其中第一數位表示基於第一機器學習演算法,並且使用者的第二數位表示基於第二機器學習演算法。
態樣14:根據請求項13之裝置,其中一或多個處理器被配置為:基於在擴展現實系統上實施第一機器學習演算法,產生使用者的第一數位表示;及使被配置為產生使用者的數位表示的伺服器基於實施第二機器學習演算法來產生使用者的第二數位表示。
態樣15:根據請求項1-14中任一項之裝置,其中一或多個處理器被配置為:在現實世界環境中擷取人物的姿勢;產生人物的數位表示,人物的數位表示反映了人物的姿勢;及將使用者的數位表示和人物的數位表示覆加到現實世界環境的一或多個訊框上。
態樣16:根據請求項15之裝置,其中一或多個處理器被配置為至少部分地基於與人物的數位表示相關聯的資訊來產生人物的數位表示,其中人物的數位表示是從人物的擴展現實系統接收到的。
態樣17:根據請求項16之裝置,其中與人物的數位表示相關聯的資訊包括被訓練以產生人物的數位表示的機器學習模型。
態樣18:根據請求項1-17中任一項之裝置,其中一或多個處理器被配置為:擷取使用者的、與複數個訊框相關聯的複數個姿勢;產生使用者的、對應於複數個訊框的複數個數位表示;及將使用者的複數個數位表示覆加到現實世界環境的一或多個訊框上,現實世界環境的一或多個訊框包括現實世界環境的複數個訊框。
態樣19:根據請求項1-18中任一項之裝置,其中一或多個處理器被配置為:使用第一機器學習演算法產生使用者的數位表示;及使用第二機器學習演算法將使用者的數位表示覆加到現實世界環境的一或多個訊框上。
態樣20:根據請求項1-19中任一項之裝置,其中一或多個處理器被配置為至少部分地基於圖像資料來擷取使用者的姿勢,其中圖像資料是由擴展現實系統的內置攝像頭系統擷取的。
態樣21:根據請求項1-20中任一項之裝置,其中一或多個處理器被配置為至少部分地基於決定使用者的表情來擷取使用者的姿勢。
態樣22:根據請求項1-21中任一項之裝置,其中一或多個處理器被配置為至少部分地基於決定使用者的手勢來擷取使用者的姿勢。
態樣23:根據請求項1-22中任一項之裝置,其中一或多個處理器被配置為至少部分地基於產生現實世界環境的三維地圖來決定使用者在現實世界環境內的位置。
態樣24:根據請求項1-23中任一項之裝置,其中一或多個處理器被配置為使用擴展現實系統的外置攝像頭系統來擷取現實世界環境的一或多個訊框。
態樣25:根據請求項1-24中任一項之裝置,其中裝置包括擴展現實系統。
態樣26:根據請求項1-25中任一項之裝置,其中裝置包括行動設備。
態樣27:根據請求項1-26中任一項之裝置,亦包括顯示器。
態樣28:一種用於在擴展現實環境中擷取自我圖像的方法,方法包括以下步驟:擷取擴展現實系統的使用者的姿勢,使用者的姿勢包括使用者在與擴展現實系統相關聯的現實世界環境中的位置;產生使用者的數位表示,使用者的數位表示反映使用者的姿勢;擷取現實世界環境的一或多個訊框;及將使用者的數位表示覆加到現實世界環境的一或多個訊框上。
態樣29:根據請求項28之方法,其中將使用者的數位表示覆加到現實世界環境的一或多個訊框上包括將使用者的數位表示覆加在對應於使用者在現實世界環境內的位置的訊框位置中。
態樣30:根據請求項28之方法,其中產生使用者的數位表示是在擷取現實世界環境的一或多個訊框之前執行的。
態樣31:根據請求項28-30中任一項之方法,亦包括以下步驟:在擴展現實系統的顯示器內,在與使用者在現實世界環境內的位置相對應的顯示位置中顯示使用者的數位表示,其中經由顯示器,現實世界環境是可見的。
態樣32:根據請求項31之方法,其中擷取現實世界環境的一或多個訊框亦包括:當使用者的數位表示顯示在擴展現實系統的顯示器內時,偵測對應於擷取現實世界環境的一或多個訊框的指令的使用者輸入;及基於使用者輸入擷取現實世界環境的一或多個訊框。
態樣33:根據請求項28之方法,其中擷取現實世界環境的一或多個訊框是在擷取使用者的姿勢之前執行的。
態樣34:根據請求項33之方法,亦包括以下步驟:在擴展現實系統的顯示器內,在與使用者在現實世界環境內的位置相對應的顯示位置中顯示使用者的數位表示,其中在顯示器上顯示現實世界環境的一或多個訊框。
態樣35:根據請求項34之方法,亦包括以下步驟:基於偵測到使用者在現實世界環境內的位置的變化來更新使用者的數位表示的顯示位置。
態樣36:根據請求項34之方法,其中擷取擴展現實系統的使用者的姿勢亦包括:當使用者的數位表示顯示在擴展現實系統的顯示器內時,偵測對應於擷取使用者的姿勢的指令的使用者輸入;及基於使用者輸入擷取使用者的姿勢。
態樣37:根據請求項28-36中任一項之方法,其中產生使用者的數位表示包括:產生使用者的、具有第一保真度的第一數位表示;及獲得使用者的、具有第二保真度的第二數位表示,其中第二保真度高於第一保真度。
態樣38:根據請求項37之方法,亦包括以下步驟:在擷取使用者的姿勢之前,顯示使用者在擴展現實系統的顯示器內的第一數位表示;基於正被擷取的使用者的姿勢產生使用者的第二數位表示;及將使用者的第二數位表示覆加到現實世界環境的一或多個訊框上。
態樣39:根據請求項37之方法,亦包括以下步驟:在擷取現實世界環境的一或多個訊框之前,顯示使用者在擴展現實系統的顯示器內的第一數位表示;基於正被擷取的現實世界環境的一或多個訊框產生使用者的第二數位表示;及將使用者的第二數位表示覆加到現實世界環境的一或多個訊框上。
態樣40:根據請求項37之方法,其中第一數位表示基於第一機器學習演算法,並且使用者的第二數位表示基於第二機器學習演算法。
態樣41:根據請求項40之方法,其中:產生使用者的第一數位表示包括在擴展現實系統上實施第一機器學習演算法;及獲得使用者的第二數位表示包括使被配置為產生使用者的數位表示的伺服器基於實施第二機器學習演算法來產生使用者的第二數位表示。
態樣42:根據請求項28-41中任一項之方法,亦包括以下步驟:在現實世界環境中擷取人物的姿勢;產生人物的數位表示,人物的數位表示反映了人物的姿勢;及將使用者的數位表示和人物的數位表示覆加到現實世界環境的一或多個訊框上。
態樣43:根據請求項42之方法,其中至少部分地基於與人物的數位表示相關聯的資訊來產生人物的數位表示,其中人物的數位表示是從人物的擴展現實系統接收到的。
態樣44:根據請求項43之方法,其中與人物的數位表示相關聯的資訊包括被訓練以產生人物的數位表示的機器學習模型。
態樣45:根據請求項28-44中任一項之方法,亦包括以下步驟:擷取使用者的、與複數個訊框相關聯的複數個姿勢;產生使用者的、對應於複數個訊框的複數個數位表示;及將使用者的複數個數位表示覆加到現實世界環境的一或多個訊框上,現實世界環境的一或多個訊框包括現實世界環境的複數個訊框。
態樣46:根據請求項28-45中任一項之方法,其中產生使用者的數位表示包括使用第一機器學習演算法;及將使用者的數位表示覆加到現實世界環境的一或多個訊框上包括使用第二機器學習演算法。
態樣47:根據請求項28-46中任一項之方法,其中擷取使用者的姿勢包括使用擴展現實系統的內置攝像頭系統擷取圖像資料。
態樣48:根據請求項28-47中任一項之方法,其中擷取使用者的姿勢包括決定使用者的表情。
態樣49:根據請求項28-48中任一項之方法,其中擷取使用者的姿勢包括決定使用者的手勢。
態樣50:根據請求項28-49中任一項之方法,亦包括以下步驟:至少部分地基於產生現實世界環境的三維地圖來決定使用者在現實世界環境內的位置。
態樣51:根據請求項28-50中任一項之方法,其中擷取現實世界環境的一或多個訊框包括使用擴展現實系統的外置攝像頭系統擷取圖像資料。
態樣52:一種用於在擴展現實環境中擷取自我圖像的非暫時性電腦可讀取儲存媒體,非暫時性電腦可讀取儲存媒體包括儲存在其中的指令,當由一或多個處理器執行時,指令使一或多個處理器根據態樣1-51中任一項執行操作。
態樣53:一種用於在擴展現實環境中擷取自我圖像的裝置,裝置包括用於根據態樣1-51中任一項執行操作的構件。
102:自我圖像訊框 104:自我圖像訊框 106:背景訊框 108:化身 110:定位工具 116:訊框 118:化身 120:化身 200:擴展現實系統 202:圖像感測器 204:加速度計 206:陀螺儀 208:儲存 210:計算元件 212:中央處理單元(CPU) 214:圖形處理單元(GPU) 216:數位信號處理器(DSP) 218:圖像信號處理器(ISP) 220:XR引擎 222:自我圖像引擎 224:圖像處理引擎 226:渲染引擎 300(A):自我圖像擷取系統 300(B):自我圖像擷取系統 302:自我圖像啟動引擎 304:化身引擎 304(A):化身引擎 304(B):化身引擎 306:背景訊框引擎 308:合成引擎 310:使用者輸入 312:使用者姿勢 314:背景訊框 316:自我圖像訊框 318:化身 318(A):化身 318(B):化身 402:訊框 404:訊框 406:訊框 408:訊框 410:訊框 412:訊框 414:預覽訊窗 500(A):過程 500(B):過程 502:操作 504:操作 506:操作 508:操作 510:操作 512:操作 514:操作 516:操作 518:操作 520:操作 522:操作 524:操作 600(A):過程 600(B):過程 602:操作 604:操作 606:操作 608:操作 610:操作 612:操作 614:操作 616:操作 618:操作 620:操作 622:多使用者自我圖像擷取系統 624(1):化身網路 624(N):化身網路 626:自我圖像產生器 628:多使用者自我圖像 630(1):使用者姿勢 630(N):使用者姿勢 700:過程 702:操作 704:操作 706:操作 708:操作 800:神經網路 820:輸入層 822a:隱藏層 822b:隱藏層 822n:隱藏層 824:輸出層 826:節點 900:迴旋神經網路 920:輸入層 922a:迴旋隱藏層 922b:池化隱藏層 922c:全連接隱藏層 924:輸出層 1000:計算系統 1005:連接 1010:處理器 1012:快取記憶體 1015:系統記憶體 1020:唯讀記憶體(ROM) 1025:隨機存取記憶體(RAM) 1030:儲存設備 1032:服務 1034:服務 1035:輸出設備 1036:服務 1040:通訊介面 1045:輸入設備
下文結合以下附圖對本案的示例性實例進行詳細描述:
圖1A、圖1B、圖1C和圖1D是根據一些實例由擴展現實系統產生的示例性化身的圖示;
圖2是圖示根據某些實例的擴展現實系統的示例性架構的方塊圖;
圖3A和圖3B是根據某些實例的用於在擴展現實環境中進行自我圖像擷取的示例性系統的方塊圖;
圖4A、圖4B、圖4C、圖4D、圖4E和圖4F是根據某些實例的由用於在擴展現實環境中進行自我圖像擷取的系統產生的示例性自我圖像的圖示;
圖5A和圖5B是圖示在擴展現實環境中進行自我視訊擷取的過程的實例的流程圖;
圖6A和圖6B是圖示在擴展現實環境中進行多使用者自我圖像擷取的過程的實例的流程圖;
圖6C是根據某些實例的用於在擴展現實環境中進行多使用者自我圖像擷取的系統的實例的方塊圖;
圖7是根據某些實例的用於在擴展現實環境中進行自我圖像擷取的過程的流程圖;
圖8是圖示根據某些實例的深度學習神經網路的實例的圖;
圖9是圖示根據某些實例的迴旋神經網路的實例的圖;
圖10是圖示用於實施本文描述的某些態樣的系統的實例的圖。
國內寄存資訊(請依寄存機構、日期、號碼順序註記) 無 國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記) 無
200:擴展現實系統
202:圖像感測器
204:加速度計
206:陀螺儀
208:儲存
210:計算元件
212:中央處理單元(CPU)
214:圖形處理單元(GPU)
216:數位信號處理器(DSP)
218:圖像信號處理器(ISP)
220:XR引擎
222:自我圖像引擎
224:圖像處理引擎
226:渲染引擎

Claims (52)

  1. 一種用於在擴展現實環境中擷取自我圖像的裝置,該裝置包括: 一記憶體;及 與該記憶體耦合的一或多個處理器,該一或多個處理器被配置為: 擷取一擴展現實系統的一使用者的一姿勢,該使用者的該姿勢包括該使用者在與該擴展現實系統相關聯的一現實世界環境中的一位置; 產生該使用者的一數位表示,該使用者的該數位表示反映了該使用者的該姿勢; 擷取該現實世界環境的一或多個訊框;及 將該使用者的該數位表示覆加到該現實世界環境的該一或多個訊框上。
  2. 根據請求項1之裝置,其中該一或多個處理器被配置為在對應於該使用者在該現實世界環境內的該位置的一訊框位置中,將該使用者的該數位表示覆加到該現實世界環境的該一或多個訊框上。
  3. 根據請求項1之裝置,其中該一或多個處理器被配置為在擷取該現實世界環境的該一或多個訊框之前產生該使用者的該數位表示。
  4. 根據請求項3之裝置,其中該一或多個處理器被配置為在該擴展現實系統的一顯示器內,在與該使用者在該現實世界環境內的該位置相對應的一顯示位置中顯示該使用者的該數位表示,其中經由該顯示器,該現實世界環境是可見的。
  5. 根據請求項4之裝置,其中該一或多個處理器被配置為: 當該使用者的該數位表示顯示在該擴展現實系統的該顯示器內時,偵測對應於擷取該現實世界環境的該一或多個訊框的一指令的使用者輸入;及 基於該使用者輸入擷取該現實世界環境的該一或多個訊框。
  6. 根據請求項1之裝置,其中該一或多個處理器被配置為在擷取該使用者的該姿勢之前擷取該現實世界環境的該一或多個訊框。
  7. 根據請求項6之裝置,其中該一或多個處理器被配置為在該擴展現實系統的一顯示器內,在與該使用者在該現實世界環境內的該位置相對應的一顯示位置中顯示該使用者的該數位表示,其中該現實世界環境的該一或多個訊框在該顯示器上顯示。
  8. 根據請求項7之裝置,其中該一或多個處理器被配置為基於偵測到該使用者在該現實世界環境內的該位置的一變化來更新該使用者的該數位表示的該顯示位置。
  9. 根據請求項7之裝置,其中該一或多個處理器亦被配置為: 當該使用者的該數位表示顯示在該擴展現實系統的該顯示器內時,偵測對應於擷取該使用者的該姿勢的一指令的使用者輸入;及 基於該使用者輸入擷取該使用者的該姿勢。
  10. 根據請求項1之裝置,其中該一或多個處理器被配置為: 產生該使用者的、具有一第一保真度的一第一數位表示;及 獲得該使用者的、具有一第二保真度的一第二數位表示,其中該第二保真度高於該第一保真度。
  11. 根據請求項10之裝置,其中該一或多個處理器被配置為: 在該使用者的該姿勢被擷取之前,在該擴展現實系統的一顯示器內顯示該使用者的該第一數位表示; 基於正被擷取的該使用者的該姿勢產生該使用者的該第二數位表示;及 將該使用者的該第二數位表示覆加到該現實世界環境的該一或多個訊框上。
  12. 根據請求項10之裝置,其中該一或多個處理器被配置為: 在該現實世界環境的該一或多個訊框被擷取之前,在該擴展現實系統的一顯示器內顯示該使用者的該第一數位表示; 基於正被擷取的該現實世界環境的該一或多個訊框,產生該使用者的該第二數位表示;及 將該使用者的該第二數位表示覆加到該現實世界環境的該一或多個訊框上。
  13. 根據請求項10之裝置,其中該第一數位表示基於一第一機器學習演算法,並且該使用者的該第二數位表示基於一第二機器學習演算法。
  14. 根據請求項13之裝置,其中該一或多個處理器被配置為: 基於在該擴展現實系統上實施該第一機器學習演算法,產生該使用者的該第一數位表示;及 使被配置為產生使用者的數位表示的一伺服器基於實施該第二機器學習演算法來產生該使用者的該第二數位表示。
  15. 根據請求項1之裝置,其中該一或多個處理器被配置為: 在該現實世界環境內擷取一人物的一姿勢; 產生該人物的一數位表示,該人物的數位表示反映了該人物的該姿勢;及 將該使用者的該數位表示和該人物的該數位表示覆加到該現實世界環境的該一或多個訊框上。
  16. 根據請求項15之裝置,其中該一或多個處理器被配置為至少部分地基於與該人物的該數位表示相關聯的資訊來產生該人物的該數位表示,其中與該人物的該數位表示相關聯的資訊是從該人物的一擴展現實系統接收到的。
  17. 根據請求項16之裝置,其中與該人物的該數位表示相關聯的該資訊包括被訓練以產生該人物的數位表示的一機器學習模型。
  18. 根據請求項1之裝置,其中該一或多個處理器被配置為: 擷取該使用者的、與複數個訊框相關聯的複數個姿勢; 產生該使用者的、對應於該複數個訊框的複數個數位表示;及 將該使用者的該複數個數位表示覆加到該現實世界環境的該一或多個訊框上,該現實世界環境的該一或多個訊框包括該現實世界環境的複數個訊框。
  19. 根據請求項1之裝置,其中該一或多個處理器被配置為: 使用一第一機器學習演算法產生該使用者的該數位表示;及 使用一第二機器學習演算法將該使用者的該數位表示覆加到該現實世界環境的該一或多個訊框上。
  20. 根據請求項1之裝置,其中該一或多個處理器被配置為至少部分地基於由該擴展現實系統的一內置攝像頭系統擷取的圖像資料來擷取該使用者的該姿勢。
  21. 根據請求項1之裝置,其中該一或多個處理器被配置為至少部分地基於決定該使用者的一表情來擷取該使用者的該姿勢。
  22. 根據請求項1之裝置,其中該一或多個處理器被配置為至少部分地基於決定該使用者的一手勢來擷取該使用者的該姿勢。
  23. 根據請求項1之裝置,其中該一或多個處理器被配置為至少部分地基於產生該現實世界環境的一三維地圖來決定該使用者在該現實世界環境內的該位置。
  24. 根據請求項1之裝置,其中該一或多個處理器被配置為使用該擴展現實系統的一外置攝像頭系統來擷取該現實世界環境的該一或多個訊框。
  25. 根據請求項1之裝置,其中該裝置包括該擴展現實系統。
  26. 根據請求項1之裝置,其中該裝置包括一行動設備。
  27. 根據請求項1之裝置,亦包括一顯示器。
  28. 一種用於在擴展現實環境中擷取自我圖像的方法,該方法包括以下步驟: 擷取一擴展現實系統的一使用者的一姿勢,該使用者的該姿勢包括該使用者在與該擴展現實系統相關聯的一現實世界環境中的一位置; 產生該使用者的一數位表示,該使用者的該數位表示反映了該使用者的該姿勢; 擷取該現實世界環境的一或多個訊框;及 將該使用者的該數位表示覆加到該現實世界環境的該一或多個訊框上。
  29. 根據請求項28之方法,其中將該使用者的該數位表示覆加到該現實世界環境的該一或多個訊框上之步驟包括以下步驟:將該使用者的該數位表示覆加在對應於該使用者在該現實世界環境內的該位置的一訊框位置中。
  30. 根據請求項28之方法,其中產生該使用者的該數位表示是在擷取該現實世界環境的該一或多個訊框之前執行的。
  31. 根據請求項30之方法,亦包括以下步驟:在該擴展現實系統的一顯示器內,在與該使用者在該現實世界環境內的該位置相對應的一顯示位置中顯示該使用者的該數位表示,其中經由該顯示器,該現實世界環境是可見的。
  32. 根據請求項31之方法,其中擷取該現實世界環境的該一或多個訊框之步驟亦包括以下步驟: 當該使用者的該數位表示顯示在該擴展現實系統的該顯示器內時,偵測對應於擷取該現實世界環境的該一或多個訊框的一指令的使用者輸入;及 基於該使用者輸入擷取該現實世界環境的該一或多個訊框。
  33. 根據請求項28之方法,其中擷取該現實世界環境的該一或多個訊框是在擷取該使用者的該姿勢之前執行的。
  34. 根據請求項33之方法,亦包括以下步驟:在該擴展現實系統的一顯示器內,在與該使用者在該現實世界環境內的該位置相對應的一顯示位置中顯示該使用者的該數位表示,其中該現實世界環境的該一或多個訊框在該顯示器上顯示。
  35. 根據請求項34之方法,亦包括以下步驟:基於偵測到該使用者在該現實世界環境內的該位置的一變化來更新該使用者的該數位表示的該顯示位置。
  36. 根據請求項34之方法,其中擷取該擴展現實系統的該使用者的該姿勢之步驟亦包括以下步驟: 當該使用者的該數位表示顯示在該擴展現實系統的該顯示器內時,偵測對應於擷取該使用者的該姿勢的一指令的使用者輸入;及 基於該使用者輸入擷取該使用者的該姿勢。
  37. 根據請求項28之方法,其中產生該使用者的該數位表示之步驟包括以下步驟: 產生該使用者的、具有一第一保真度的一第一數位表示;及 獲得該使用者的、具有一第二保真度的一第二數位表示,其中該第二保真度高於該第一保真度。
  38. 根據請求項37之方法,亦包括以下步驟: 在該使用者的該姿勢被擷取之前,在該擴展現實系統的一顯示器內顯示該使用者的該第一數位表示; 基於正被擷取的該使用者的該姿勢產生該使用者的該第二數位表示;及 將該使用者的該第二數位表示覆加到該現實世界環境的該一或多個訊框上。
  39. 根據請求項37之方法,亦包括以下步驟: 在該現實世界環境的該一或多個訊框被擷取之前,在該擴展現實系統的一顯示器內顯示該使用者的該第一數位表示; 基於正被擷取的該現實世界環境的該一或多個訊框,產生該使用者的該第二數位表示;及 將該使用者的該第二數位表示覆加到該現實世界環境的該一或多個訊框上。
  40. 根據請求項37之方法,其中該第一數位表示基於一第一機器學習演算法,並且該使用者的該第二數位表示基於一第二機器學習演算法。
  41. 根據請求項40之方法,其中: 產生該使用者的該第一數位表示之步驟包括以下步驟:在該擴展現實系統上實施該第一機器學習演算法;及 獲得該使用者的該第二數位表示之步驟包括以下步驟:使被配置為產生使用者的數位表示的一伺服器基於實施該第二機器學習演算法來產生該使用者的該第二數位表示。
  42. 根據請求項28之方法,亦包括以下步驟: 在該現實世界環境內擷取一人物的一姿勢; 產生該人物的一數位表示,該人物的該數位表示反映了該人物的該姿勢;及 將該使用者的該數位表示和該人物的該數位表示覆加到該現實世界環境的該一或多個訊框上。
  43. 根據請求項42之方法,其中該人物的該數位表示是至少部分地基於與該人物的該數位表示相關聯的資訊來產生的,其中與該人物的該數位表示相關聯的資訊是從該人物的一擴展現實系統接收到的。
  44. 根據請求項43之方法,其中與該人物的該數位表示相關聯的該資訊包括被訓練以產生該人物的數位表示的一機器學習模型。
  45. 根據請求項28之方法,亦包括以下步驟: 擷取該使用者的、與複數個訊框相關聯的複數個姿勢; 產生該使用者的、對應於該複數個訊框的複數個數位表示;及 將該使用者的該複數個數位表示覆加到該現實世界環境的該一或多個訊框上,該現實世界環境的該一或多個訊框包括該現實世界環境的複數個訊框。
  46. 根據請求項28之方法,其中: 產生該使用者的該數位表示之步驟包括以下步驟:使用一第一機器學習演算法;及 將該使用者的該數位表示覆加到該現實世界環境的該一或多個訊框上之步驟包括以下步驟:使用一第二機器學習演算法。
  47. 根據請求項28之方法,其中擷取該使用者的該姿勢之步驟包括以下步驟:使用該擴展現實系統的一內置攝像頭系統擷取圖像資料。
  48. 根據請求項28之方法,其中擷取該使用者的該姿勢之步驟包括以下步驟:決定該使用者的一表情。
  49. 根據請求項28之方法,其中擷取該使用者的該姿勢之步驟包括以下步驟:決定該使用者的一手勢。
  50. 根據請求項28之方法,亦包括以下步驟:至少部分地基於產生該現實世界環境的一三維地圖來決定該使用者在該現實世界環境內的該位置。
  51. 根據請求項28之方法,其中擷取該現實世界環境的該一或多個訊框之步驟包括以下步驟:使用該擴展現實系統的一外置攝像頭系統擷取圖像資料。
  52. 一種非暫時性電腦可讀取儲存媒體,用於在擴展現實環境中擷取自我圖像,該非暫時性電腦可讀取儲存媒體包括: 儲存在其中的指令,當由一或多個處理器執行時,該等指令使該一或多個處理器執行以下操作: 擷取一擴展現實系統的一使用者的一姿勢,該使用者的該姿勢包括該使用者在與該擴展現實系統相關聯的一現實世界環境中的一位置; 產生該使用者的一數位表示,該使用者的該數位表示反映了該使用者的該姿勢; 擷取該現實世界環境的一或多個訊框;及 將該使用者的該數位表示覆加到該現實世界環境的該一或多個訊框上。
TW111102585A 2021-02-11 2022-01-21 擴展現實環境中的圖像擷取 TW202303527A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/174,137 US11644890B2 (en) 2021-02-11 2021-02-11 Image capturing in extended reality environments
US17/174,137 2021-02-11

Publications (1)

Publication Number Publication Date
TW202303527A true TW202303527A (zh) 2023-01-16

Family

ID=80786790

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111102585A TW202303527A (zh) 2021-02-11 2022-01-21 擴展現實環境中的圖像擷取

Country Status (7)

Country Link
US (1) US11644890B2 (zh)
EP (1) EP4292053A1 (zh)
JP (1) JP2024506024A (zh)
KR (1) KR20230122173A (zh)
CN (1) CN116897375B (zh)
TW (1) TW202303527A (zh)
WO (1) WO2022173579A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6590329B1 (ja) * 2019-06-26 2019-10-16 株式会社ラディウス・ファイブ 画像表示システム及びプログラム
US11538216B2 (en) * 2019-09-03 2022-12-27 Adobe Inc. Dynamically estimating light-source-specific parameters for digital images using a neural network
JPWO2021149509A1 (zh) * 2020-01-23 2021-07-29
US11632258B1 (en) * 2020-04-12 2023-04-18 All Turtles Corporation Recognizing and mitigating displays of unacceptable and unhealthy behavior by participants of online video meetings
US11710280B1 (en) * 2020-08-14 2023-07-25 United Services Automobile Association (Usaa) Local physical environment modeling in extended reality environments
CN113181619A (zh) * 2021-04-09 2021-07-30 青岛小鸟看看科技有限公司 一种运动训练方法、装置和系统
JP2023011262A (ja) * 2021-07-12 2023-01-24 トヨタ自動車株式会社 仮想現実シミュレータ及び仮想現実シミュレーションプログラム
US20240096033A1 (en) * 2021-10-11 2024-03-21 Meta Platforms Technologies, Llc Technology for creating, replicating and/or controlling avatars in extended reality
US11861778B1 (en) * 2022-07-25 2024-01-02 Gravystack, Inc. Apparatus and method for generating a virtual avatar
US11756277B1 (en) * 2023-02-23 2023-09-12 Intuit Inc. Network platform impersonation mitigation systems and methods
CN117173382B (zh) * 2023-10-27 2024-01-26 南京维赛客网络科技有限公司 Vr交互中的虚拟数字人体态矫正方法、系统及存储介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991285B2 (en) * 2008-01-08 2011-08-02 Sony Ericsson Mobile Communications Ab Using a captured background image for taking a photograph
US8988558B2 (en) * 2011-04-26 2015-03-24 Omnivision Technologies, Inc. Image overlay in a mobile device
SG11201503974SA (en) 2012-11-22 2015-06-29 Agency Science Tech & Res Method, apparatus and system for virtual clothes modelling
KR102064973B1 (ko) * 2013-06-04 2020-01-10 삼성전자주식회사 듀얼 이미지를 편집하는 전자 장치 및 방법
KR102114377B1 (ko) * 2013-07-05 2020-05-25 삼성전자주식회사 전자 장치에 의해 촬영된 이미지들을 프리뷰하는 방법 및 이를 위한 전자 장치
DE112016004437T5 (de) * 2015-09-29 2018-07-05 BinaryVR, Inc. Head-Mounted-Display mit Gesichtsausdruck-Erkennungsfähigkeit
US10665019B2 (en) * 2016-03-24 2020-05-26 Qualcomm Incorporated Spatial relationships for integration of visual images of physical environment into virtual reality
WO2018176017A1 (en) * 2017-03-24 2018-09-27 Revealit Corporation Method, system, and apparatus for identifying and revealing selected objects from video
WO2018195293A1 (en) * 2017-04-19 2018-10-25 Vidoni, Inc. Augmented reality learning system and method using motion captured virtual hands
US10304239B2 (en) * 2017-07-20 2019-05-28 Qualcomm Incorporated Extended reality virtual assistant
US9996940B1 (en) * 2017-10-25 2018-06-12 Connectivity Labs Inc. Expression transfer across telecommunications networks
KR20200097292A (ko) * 2017-12-15 2020-08-18 매직 립, 인코포레이티드 디스플레이 디바이스에 대한 향상된 포즈 결정
JP7344894B2 (ja) * 2018-03-16 2023-09-14 マジック リープ, インコーポレイテッド 眼追跡カメラからの顔の表情
JP6856583B2 (ja) * 2018-07-25 2021-04-07 ファナック株式会社 センシングシステム、作業システム、拡張現実画像の表示方法、拡張現実画像の記憶方法、およびプログラム
US10529139B1 (en) * 2018-08-21 2020-01-07 Jeremy Greene System, method, and apparatus for avatar-based augmented reality electronic messaging
JP6559871B1 (ja) 2018-11-30 2019-08-14 株式会社ドワンゴ 動画合成装置、動画合成方法及び動画合成プログラム
US10885693B1 (en) 2019-06-21 2021-01-05 Facebook Technologies, Llc Animating avatars from headset cameras
US11475639B2 (en) * 2020-01-03 2022-10-18 Meta Platforms Technologies, Llc Self presence in artificial reality
US11449131B2 (en) * 2020-07-28 2022-09-20 Qualcomm Incorporated Obfuscated control interfaces for extended reality
US11579693B2 (en) * 2020-09-26 2023-02-14 Apple Inc. Systems, methods, and graphical user interfaces for updating display of a device relative to a user's body
US11954242B2 (en) * 2021-01-04 2024-04-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with three-dimensional environments

Also Published As

Publication number Publication date
WO2022173579A1 (en) 2022-08-18
US20220253126A1 (en) 2022-08-11
CN116897375A (zh) 2023-10-17
US11644890B2 (en) 2023-05-09
KR20230122173A (ko) 2023-08-22
EP4292053A1 (en) 2023-12-20
JP2024506024A (ja) 2024-02-08
CN116897375B (zh) 2024-05-03

Similar Documents

Publication Publication Date Title
CN116897375B (zh) 扩展现实环境中的图像捕获
US9789403B1 (en) System for interactive image based game
US20220100265A1 (en) Dynamic configuration of user interface layouts and inputs for extended reality systems
US20220122326A1 (en) Detecting object surfaces in extended reality environments
CN113228625A (zh) 支持复合视频流的视频会议
US20240119692A1 (en) Context-aware extended reality systems
US11727576B2 (en) Object segmentation and feature tracking
EP4248413A1 (en) Multiple device sensor input based avatar
US20240007760A1 (en) Low-power fusion for negative shutter lag capture
US20230093827A1 (en) Image processing framework for performing object depth estimation
WO2023244882A1 (en) Systems and methods of automated imaging domain transfer
WO2023003642A1 (en) Adaptive bounding for three-dimensional morphable models
US20240095997A1 (en) Systems and methods of image reprojection
US20240161418A1 (en) Augmented reality enhanced media
US20240193873A1 (en) Independent scene movement based on mask layers
US20240020901A1 (en) Method and application for animating computer generated images
US20240087232A1 (en) Systems and methods of three-dimensional modeling based on object tracking
US20240029354A1 (en) Facial texture synthesis for three-dimensional morphable models
WO2023056149A1 (en) Image processing framework for performing object depth estimation
CN117813626A (zh) 从多视图立体(mvs)图像重建深度信息
TW202414341A (zh) 自動成像域轉移的系統和方法
WO2024118233A1 (en) Dynamic camera selection and switching for multi-camera pose estimation