CN112042182B - 通过面部表情操纵远程化身 - Google Patents
通过面部表情操纵远程化身 Download PDFInfo
- Publication number
- CN112042182B CN112042182B CN201980029370.9A CN201980029370A CN112042182B CN 112042182 B CN112042182 B CN 112042182B CN 201980029370 A CN201980029370 A CN 201980029370A CN 112042182 B CN112042182 B CN 112042182B
- Authority
- CN
- China
- Prior art keywords
- face
- facial
- user
- texture
- captured image
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/147—Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
- H04N7/157—Conference systems defining a virtual conference space and using avatars or agents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/08—Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
-
- 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/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
方法(300)包括接收面部(20)的第一面部框架(144a)和第一捕获图像(130a)。第一面部框架对应于第一帧处的面部并且包括面部信息(140)的第一面部网格(142a)。该方法还包括将第一捕获图像投射到第一面部框架上,以及基于所投射的第一捕获图像确定与面部相对应的面部纹理(212)。该方法还包括接收在第二帧处的第二面部框架(144b),该第二面部框架包括面部信息的第二面部网格(142b),以及基于接收到的第二面部框架来更新面部纹理。该方法还包括将更新后的面部纹理显示为三维化身(160)。三维化身对应于面部的虚拟表示。
Description
技术领域
本公开涉及通过面部表情操纵(puppeteer)远程化身。
背景技术
随着技术的演进,人们继续采用技术作为一种交流形式。例如,技术允许通信从简单的物理对话扩展到远程实时对话。但是,随着这种扩展,远程通信形式通常缺乏捕获物理对话中涉及的表情和情感的能力。例如,通常很难从电子邮件或文本对话中解读(decipher)出情感上下文。为了克服这些缺陷,通信方法试图提供表示情感和表情的方式。例如,文本应用现在包括各种表情符号和动画,以表达心情、观点或仅提供异想天开的娱乐。随着人们越来越多地使用实时音频和视频连接进行通信,对在这些通信频道内反映用户个性和角色的方式的需求也在不断增长。
发明内容
本公开的一个方面提供了一种用于操纵远程化身的方法。该方法包括在数据处理硬件处接收具有中性面部表情的用户的面部的第一面部框架和第一捕获图像。第一面部框架对应于第一帧处的用户的面部并且包括面部信息的第一面部网格。该方法还包括由数据处理硬件将面部的第一捕获图像投射到第一面部框架上,以及由数据处理硬件基于所投射的捕获图像确定与用户的面部相对应的面部纹理。该方法还包括在数据处理硬件处接收与第二帧处的用户的面部相对应的第二面部框架。第二面部框架包括面部信息的第二面部网格。该方法还包括,由数据处理硬件基于接收到的第二面部框架来更新面部纹理,以及由数据处理硬件将更新后的面部纹理显示为三维化身。三维化身对应于用户面部的虚拟表示。
本公开的实施方式可以包括下述可选特征中的一个或多个。在一些实施方式中,该方法还包括:在数据处理硬件处接收用户的面部的第二捕获图像,该第二捕获图像捕获微笑作为用户的面部表情;在数据处理硬件处接收用户面部的第三捕获图像,该第三捕获图像捕获抬起的双眉作为用户的面部表情;在数据处理硬件处接收用户面部的第四捕获图像,该第四捕获图像捕获微笑并抬起的双眉作为用户的面部表情;对于每个捕获图像,由数据处理硬件确定与用户面部相对应的面部表情纹理;由数据处理硬件基于接收到的第二面部框架将每个捕获图像的面部表情纹理与更新后的面部纹理进行混合,以生成混合的面部纹理;以及由数据处理硬件使用混合的面部纹理渲染三维化身。在这些实施方式中,混合进一步包括:确定每个捕获图像的纹理矢量,该纹理矢量对应于与具有中性面部表情的第一捕获图像的差的矢量表示;基于接收到的第二面部框架来确定当前纹理矢量;基于当前纹理矢量和每个捕获图像的纹理矢量之间的差指配渲染权重;以及基于渲染权重使用混合的面部纹理来渲染三维化身。渲染权重的总和可等于一。在一些示例中,当前纹理矢量和每个捕获图像的纹理矢量中的每一个可以对应于五十二可变浮点矢量。在这些示例中,随着当前纹理矢量和每个捕获图像的纹理矢量之间的差增加,渲染权重在量值上下降。
在一些示例中,该方法还包括在数据处理硬件处接收具有第二帧处的面部信息的当前面部表情网格的用户的面部的捕获的当前图像,以及由数据处理硬件基于接收到的面部框架和捕获的当前图像来更新面部纹理。在一些实施方式中,接收到的捕获的当前图像对应于减少量的面部纹理。在这些实施方式中,该方法还可以包括:由数据处理硬件基于接收到的捕获的当前图像来确定用户面部的被遮挡的部分;以及由数据处理硬件将用户的面部的被遮挡的部分与从来自先前帧的未被遮挡的捕获图像生成的面部纹理进行混合。
在一些实施方式中,该方法还包括由数据处理硬件通过下述生成用户的眼睛或嘴巴的再现:由数据处理硬件检测眼睛或嘴巴的边缘;由数据处理硬件确定与眼睛或嘴巴的边缘相关联的角度之和对应于两个pi(360度);由数据处理硬件基于对应于两个pi的检测到的边缘,近似眼睛或嘴巴的位置;由数据处理硬件从面部的捕获的图像中在所近似的位置处提取嘴巴或眼睛;以及由数据处理硬件通过填充在所近似的位置处渲染所提取的嘴巴或所提取的眼睛。捕获的图像可以包括来自移动电话的红绿蓝(RGB)图像。三维化身可以被显示在增强现实(AR)设备上。
本公开的另一方面提供一种用于操纵远程化身的系统。该系统包括数据处理硬件和与该数据处理硬件通信的存储器硬件,该存储器硬件存储指令,该指令在数据处理硬件上执行时使数据处理硬件执行包括接收具有中性面部表情的用户的面部的第一面部框架和第一捕获图像的操作。第一面部框架对应于第一帧处的用户的面部并且包括面部信息的第一面部网格。这些操作还包括将面部的第一捕获图像投射到第一面部框架上并基于所投射的捕获图像确定与用户的面部相对应的面部纹理。该操作还包括接收与第二帧处的用户的面部相对应的第二面部框架。第二面部框架包括面部信息的第二面部网格。这些操作还包括基于接收到的第二面部框架来更新面部纹理,以及将更新后的面部纹理显示为三维化身。三维化身对应于用户面部的虚拟表示。
该方面可以包括以下可选特征中的一个或多个。在一些实施方式中,操作还包括:接收用户的面部的第二捕获图像,该第二捕获图像捕获微笑作为用户的面部表情;接收用户面部的第三捕获图像,该第三捕获图像捕获抬起的双眉作为用户的面部表情;接收用户面部的第四捕获图像,该第四捕获图像捕获微笑和抬起的双眉作为用户的面部表情;对于每个捕获图像,确定与用户的面部相对应的面部表情纹理;基于接收到的第二面部框架将每个捕获图像的面部表情纹理与更新后的面部纹理进行混合以生成混合的面部纹理;以及使用混合的面部纹理渲染三维化身。在这些实施方式中,混合进一步包括:确定每个捕获图像的纹理矢量,该纹理矢量对应于与具有中性面部表情的第一捕获图像的差的矢量表示;基于接收到的第二面部框架确定当前纹理矢量;基于当前纹理矢量和每个捕获到的图像的纹理矢量之间的差来指配渲染权重;以及基于渲染权重使用混合的面部纹理来渲染三维化身。渲染权重的总和可以等于一。在一些示例中,当前纹理矢量和每个捕获图像的纹理矢量中的每一个可以对应于五十二可变浮点矢量。在这些示例中,随着当前纹理矢量和每个捕获图像的纹理矢量之间的差增加,渲染权重在量值上下降。
在一些示例中,操作进一步包括接收具有第二帧处的面部信息的当前面部表情网格的用户的面部的捕获的当前图像,以及基于接收到的面部框架和捕获的当前图像来更新面部纹理。在一些实施方式中,接收到的捕获的当前图像对应于减少量的面部纹理。在这些实施方式中,操作还可以包括:基于接收到的捕获的当前图像来确定用户面部的被遮挡的部分;以及将用户的面部的被遮挡的部分与从来自先前帧的未被遮挡的捕获图像生成的面部纹理进行混合。
在一些实施方式中,操作还包括通过下述生成用户的眼睛或嘴部的再现:检测眼睛或嘴部的边缘;确定与眼睛或嘴巴的边缘相关联的角度之和对应于两个pi(360度);基于对应于两个pi的检测到的边缘来近似眼睛或嘴巴的位置;从面部的捕获的图像在所近似的位置处提取嘴巴或眼睛;以及通过填充在所近似的位置处渲染所提取的嘴巴或所提取的眼睛。捕获的图像可以包括来自移动电话的红绿蓝(RGB)图像。三维化身可以显示在增强现实(AR)设备上。
本公开的另一方面提供一种用于操纵远程化身的方法,该方法包括在数据处理硬件处接收具有中性面部表情的用户的面部的第一面部框架和第一捕获图像。第一面部框架对应于第一帧处的用户的面部并且包括面部信息的第一面部网格。该方法还包括由数据处理硬件将面部的第一捕获图像投射到第一面部框架上,以及由数据处理硬件基于所投射的第一捕获图像来确定与用户的面部相对应的面部纹理。该方法还包括由数据处理硬件将所确定的面部纹理显示为三维化身,该三维化身对应于用户面部的虚拟表示。
在附图和以下描述中阐述了本公开的一种或多种实施方式的细节。根据说明书和附图以及根据权利要求书,其他方面、特征和优点将是显而易见的。
附图说明
图1是示例化身操纵环境的示意图。
图2A至图2F是用于在图1的化身操纵环境中操纵化身的示例puppeteer的示意图。
图3是用于通过面部表情操纵远程化身的方法的操作的示例布置的流程图。
图4是可以被用于实现本文描述的系统和方法的示例计算设备的示意图。
在各个附图中,相似的附图标记指示相似的元件。
具体实施方式
图1是示例化身操纵环境100。化身操纵环境100是其中用户10、10a-b跨网络120经由用户设备110、110a-b进行对话12的环境。网络120包括任何类型的通信网络(例如,分组交换网络),其配置成在与用户设备110相关联的地址之间路由数据。
对话12通常指代至少两个用户10a、10b之间的可听语音序列。与每个用户10相关联的用户设备110被配置成通过网络120捕获并传达对话12。用户设备110不仅捕获对话12的语音的音频,而且捕获用户10当用户10在对话期间讲话时的面部20的图像130和面部信息140。基于面部20的捕获的图像130和面部信息140,每个用户设备110进一步被配置成生成用于相关联的用户10的面部表情22。因此,用户设备110使远程用户10能够被连接和参与实时对话12。
用户设备110可以是能够进行下述的任何计算设备或数据处理硬件:(1)将面部图像130和面部信息140传达到网络120和/或远程系统150;(2)显示三维(3D)化身160(例如,具有增强现实(AR)性能)。在一些示例中,与第一用户10a相关联的第一用户设备110a被配置成传达与第一用户10a相关联的面部图像130和面部信息140;而与第二用户10b相关联的第二用户设备110b被配置成显示与第一用户10a相关联的3D化身160。在所示的示例中,每个用户设备110包括数据处理硬件112、存储器硬件114和一个或多个图像捕获设备116。图像捕获设备116的一些示例是相机(例如,深度相机或RGB相机)或图像传感器(例如,激光成像传感器)。用户设备110包括但不限于增强现实(AR)设备、台式计算设备和移动计算设备,诸如膝上型计算机、平板电脑、智能电话和可穿戴计算设备(例如,头戴式耳机和/或手表)。用户设备110被配置成利用他们的图像捕获设备116以允许远程用户10跨网络120参与对话12。
继续参考图1,每个用户设备110(即,经由数据处理硬件112)执行实时通信(RTC)应用30,以使第一用户10a和第二用户10b能够进行彼此的对话12。当第一用户10a在对话12期间对第二用户10b讲话时,第一用户设备110a捕获可听见的语音(即,音频)25、第一用户10a的面部20的一个或多个面部图像130和/或与第一用户10a的面部20相对应的面部信息140。此后,在一些示例中,第一用户设备110a经由相应的音频A和数据D信道Ch,而不是视频信道Ch,V,将包括捕获到的可听语音25、一个或多个面部图像130和/或面部信息140的输出118传送到第二用户设备110b。这里,数据信道Ch,D包括有损数据信道,其被配置成传送面部图像130和/或面部信息140,而音频信道Ch,A被配置成传达音频。通过音频频道Ch,A传送的可听语音25包括第一用户10a讲出的语音的数字表示。在其他示例中,第一用户设备110a经由相应的视频信道Ch,V将包括音频25、一个或多个面部图像130和/或面部信息140的输出118传送到第二用户设备110b,以确保与来自对话12的相关音频25的同步。例如,经由视频信道Ch,V将面部图像130和/或面部信息140与音频25同步对于(例如,来自面部图像130和/或面部信息140的)大型数据集在实时对话期间避免时延问题可能是可取的。可选地,RTC应用30的配置指示用户设备使用的通信信道CH。
基于从第一用户设备110a传送的输出118,第二用户设备110b被配置成在第二用户设备110b的显示器119上显示与第一用户10a的面部20和面部表情相对应的3D化身160。在所示的示例中,在第二用户设备110b上执行的RTC应用30促进与puppeteer 200的通信,该puppeteer 200被配置成基于输出118生成第一用户10a的化身160,并将所生成的化身160提供给第二用户设备110b以显示在显示器119上。由puppeteer 200生成的3D化身160对应于第一用户20a的面部20的虚拟表示。puppeteer 200基于来自于第一用户设备110a的输出160将3D化身160生成为实时3D化身160。在一些实施方式中,第二用户设备110b经由网络120从第一用户设备110a接收包括捕获的可听语音25、一个或多个面部图像130和/或面部信息140的输出118,并向puppeteer 200提供输出118。在其他实施方式中,第一用户设备110a将输出118直接传送到puppeteer 200。在这些实施方式中,在第一用户设备110a上执行的RTC应用30可以激活相应的3D化身特征以允许第一用户设备110a将输出118直接提供给puppeteer 200以用于生成与第一用户10a的面部20和面部表情相对应的3D化身160。
在一些实施方式中,puppeteer 200包括经由用户设备110访问的由远程系统150(诸如云环境的分布式系统)托管的应用。在其他实施方式中,puppeteer 200包括下载到用户设备110的存储器硬件114的应用。puppeteer 200可以配置成与远程系统150通信,以访问资源152(例如,数据处理硬件154或存储器硬件156),以用于从面部图像130和/或面部新140生成3D化身160。另外或者可替选地,puppeteer 200可以将生成的3D化身300本地存储在用户设备110的存储器硬件114上和/或远程系统150的存储器硬件156上。例如,puppeteer 200和/或用户设备110可以稍后基于稍后接收到的面部图像130和/或面部信息140来增强或进一步渲染所存储的3D化身160。可选地,在用户设备110上执行的RTC应用可以在无需执行对远程系统150的资源152的访问的情况下本地执行puppeteer 200。
每个面部图像130是指由图像捕获设备116捕获到的用户10的面部20的图像。捕获的面部图像130在分辨率和嵌入数据两者上可能取决于捕获面部图像130的图像捕获设备116的类型而不同。例如,当具有深度能力的相机或传感器捕获用户10的面部图像130时,捕获的图像130包括识别面部特征和/或面部纹理(例如,阴影、照明、皮肤纹理等)之间的关系的深度数据。利用深度数据,捕获的图像130可以固有地包括面部信息140以形成面部网格142。例如,一些深度相机或传感器被配置成使用表面重建算法从捕获的图像130生成网格。在其他示例中,由没有深度性能的相机或传感器(例如,RBG相机)生成的捕获图像130需要使用诸如面部特征点检测和/或面部标记检测之类的技术进行进一步分析,以生成面部信息140。
面部信息140通常是指与面部20有关的数据的点云。利用面部信息140,表面重建算法可以生成与面部信息140相对应的面部网格142。在一些示例中,面部信息140和面部网格142的组合被称为面部框架144,因为这种组合对应于具有与面部信息140相关联的边界的面部结构。尽管面部框架144与用户10具有相似之处,但是面部网格142通常是面部信息140的平滑渲染。换句话说,用户10的面部20的一些独特特性(诸如皱纹、酒窝、光滑的皮肤、干性皮肤、油性皮肤、孔隙率等)通过用户10转化为面部框架144会丢失。为了解决这些丢失的方面,puppeteer 200被配置成基于面部框架144和至少一个捕获的图像130生成与这些唯一特性相对应的面部纹理212。
图2A至图2F是puppeteer 200基于包括捕获的图像130和面部信息140的接收到的输出118生成3D化身160的示例puppeteer。puppeteer 200包括纹理器210和更新器220。纹理器210被配置成确定面部纹理212,而更新器220被配置成基于随后接收到的面部框架144和/或捕获的图像130更新面部纹理212。参考图2A,puppeteer 200接收与用户10的面部20的第一捕获图像130和包括用户10的面部信息140的第一面部网格142的第一面部框架144a相对应的输出118。第一面部框架144a对应于第一帧F1处的用户10的面部20。捕获的图像130可以捕获用户10的面部表情22。例如,捕获的图像130可以包括用户10的中性面部表情22a。在所示的示例中,纹理器210将面部20的第一捕获图像130投射到第一面部框架144a上,以确定与面部20的中性面部表情22、22a相对应的面部纹理212、212a。在纹理器210确定面部纹理212(例如,第一面部纹理212a)之后,更新器220然后可以基于来自对话12的在时间上继第一帧F1之后而发生的后续帧F2来更新面部纹理212,以形成更新的面部纹理212、212U。基于该更新的面部纹理212U,当用户10继续实时交谈和改变面部表情22时,puppeteer 200更新显示的3D化身160。
实施方式包括puppeteer 200以最小的带宽要求进行操作。考虑到带宽,由纹理器210确定的面部纹理212包括仅基于面部信息140(诸如面部框架144)更新的静态纹理。换句话说,而是依赖于puppeteer 200处的捕获到的大的图像文件,puppeteer 200通过基于会话12中随后的帧F(例如,第二帧F2)的面部信息来更新面部纹理212来生成3D化身160。该静态方法允许实时更新面部网格142和面部结构144,而不会引起化身操纵环境100的带宽增加。图2A示出puppeteer 200的更新器220与对应于第二帧F2处的用户10的面部20的第二面部框架144b相结合地接收面部纹理212a。这里,非常类似于第一帧F1,第二面部框架144b包括在第二帧F2处的面部信息140的第二面部网格142b。在该配置中,更新器220基于接收到的第二面部框架144b来更新面部纹理212、212a以形成更新后的面部纹理212U。此后,puppeteer 200使用更新的面部纹理212U来生成3D化身160(或更新现有的3D化身160),并将所生成的3D化身160提供给用户设备110以在显示器119上显示。在一些示例中,puppeteer 200将更新的面部纹理212U提供给用户设备110,并且用户设备110(例如,经由RTC应用30)生成3D化身160或更新现有的3D化身160。
参考图2B,在一些实施方式中,puppeteer 200接收用户20的面部20的多个捕获图像130、130a-d,并通过将面部20的捕获图像投射到第一面部框架140a上来为每个捕获图像130确定对应的面部纹理212、212a-d。此后,puppeteer 200基于第二面部框架140b更新并混合每个面部纹理212a-d,以生成混合的面部纹理212blend。虽然图2B描绘使用四个捕获图像130a-d来生成混合的面部纹理212blend,但是在不脱离本公开的范围的情况下可以使用任何数量的捕获图像130。这样,通过将一个以上的捕获图像130合并到面部纹理生成中,puppeteer 200可以考虑除了图2A的单个中性面部表情22a之外或者代替其的其他基线面部表情22、22a-d。
在所示的示例中,puppeteer 200接收与用户10的面部20的四个捕获图像130、130a-d和包括在第一帧F1处的用户10的面部信息140的第一面部网格142的第一面部框架144a相对应的输出118。第一面部框架144a对应于在第一框架F1处的用户10的面部20。在此,每个捕获图像130a-d对应于用户10的用户面部表情22的不同面部表情22、22a-d。例如,第一捕获图像130a对应于中性面部表情22a,第二捕获图像130b对应于微笑的面部表情22b,第三捕获图像130c对应于双眉抬起的面部表情22c,并且第四捕获图像130d对应于微笑和双眉抬起的面部表情22d。因此,纹理器210被配置成通过将捕获图像130投射到第一面部框架144a上来确定每个捕获图像130的相应的面部纹理212、212a-d。
继续参考图2B,更新器220从纹理器210接收面部纹理212a-d。在一些示例中,更新器220基于接收到的第二面部框架144b更新每个面部纹理212a-d,并将相应的更新后的面部纹理212U混合在一起以生成第二帧F2处的混合后的面部纹理212blend。此后,puppeteer200使用混合后的面部纹理212blend来生成3D化身160(或更新现有的3D化身160),并将所生成的3D化身160提供给用户设备110以在显示器119上显示。在一些示例中,puppeteer 200将混合后的面部纹理212blend提供给用户设备110,并且用户设备110(例如,经由RTC应用30)生成3D化身160或更新现有的3D化身160。
参考图2C,在一些示例中,puppeteer 200进一步包括矢量生成器230和权重生成器240,其协作以向更新器220提供渲染权重244,以用于更新和混合从纹理器210输出的四个面部纹理212a-d以生成当前帧F(例如,图2C中的第二帧F2)处的混合的面部纹理212blend。在所示的示例中,矢量生成器230接收从纹理器210输出的每个面部纹理212a-d,并且生成相对于基线面部纹理212的相应的纹理矢量232。例如,基线面部纹理212可以对应于与对应于自然面部表情22a的第一捕获图像130a相关联的第一面部纹理212a。这样,矢量生成器230可以基于相对于第一面部纹理212a的第二面部纹理212b生成第一纹理矢量232ba,基于相对于第一面部纹理212a的第二面部纹理212c生成第二纹理矢量232ca,并且基于相对于第一面部纹理212a的第四面部纹理212d生成第三纹理矢量232da。此外,矢量生成器230生成与当前帧F(例如,第二帧F2)处的面部信息140相对应的当前纹理矢量232、232current。例如,矢量生成器230在第一帧F1处的第一面部框架144a与第二帧F2处的第二面部框架144b之间生成当前纹理矢量232current。
权重生成器240从矢量生成器230接收当前纹理矢量232current和纹理矢量232ba-da中的每一个,并基于当前纹理矢量232current与每个纹理矢量232ba-da之间的相应差242来生成渲染权重244。换句话说,渲染权重244解决当前帧相对于面部纹理212、212a-d的偏差。渲染权重244可以被配置成对应于已知的检测到的面部表情。例如,渲染权重244可以包括与面部标记的位置相关联的矢量,使得每个矢量表示距面部标记的基线位置(例如,在第二帧F2处从中性面部表情22、22a的第一面部框架144a到面部表情22的第二面部框架144b)的量值和方向。在一个示例中,渲染权重244形成五十二可变浮点矢量。在一些示例中,渲染权重244对应于混合百分比,使得渲染权重244的值包括总和等于1的相应比率。
在一些实施方式中,当纹理矢量232离当前纹理矢量232current最近时,权重生成器240将最高值指配给渲染权重244内的值。例如,当第二面部框架144b指示用户10的当前面部表情22接近微笑(例如,与第二纹理矢量232ba相关联的第二面部表情22b)时,当前纹理矢量232current和与微笑的面部表情22b相关联的第二纹理矢量232ba之间的相应差小于当前纹理矢量232current与其他纹理矢量232ca、232da之间的差。在这种情况下,权重生成器240将值指配给朝着微笑的面部表达22b偏置的渲染权重244(例如,更高的渲染权重值)。相应地,更新器220使用由权重生成器240指配的这些渲染权重244来生成朝向与微笑的面部表情22b相关联的第二面部纹理212b更多的混合的面部纹理222blend。
与以最小带宽要求操作的图2的puppeteer 200不同,图2B和图2C的puppeteer200通过考虑用户10的面部20的更多捕获图像130a-d而需要更大的带宽,以实现用户10的面部20的更精确的视觉表示。这里,具有有限数量的捕获图像(例如四个捕获图像130a-d)的puppeteer 200可以通过基于当前帧(例如,第二帧F2)处的面部信息140(例如,第二面部框架144b)更新3D化身160而不是从当前捕获的图像130、130current(如图2D中所示)更新面部纹理212始终最小化带宽的同时来增加精度。
图2D是接收在第二帧F2处的当前捕获图像130、130current的puppeteer 200的示例。在这种配置中,puppeteer 200的操作类似于图2A的puppeteer 200,不同之处在于更新器220基于第二面部框架144b和当前捕获图像130current两者来更新第一面部纹理212a。在一些实施方式中,当利用用户10的当前捕获图像130current时,puppeteer 200接收和/或减少与当前捕获图像130current相关联的面部纹理212的量。例如,更新器220基于具有面部纹理212的三分之一的当前捕获图像130current(例如,当与第一面部纹理212a比较时),来生成更新的面部纹理212U。通过减少当前捕获的图像130current内的面部纹理212的量,puppeteer200可以减少其操作带宽要求。
参考图2E,在一些示例中,面部信息140和/或面部框架144对应于用户10的面部20的部分捕获(例如,被遮挡的图像214)。例如,用户10在视野内移动或者移动图像捕获设备116。在这些示例中,puppeteer 200可以被附加地配置成解决这些问题。在一些配置中,纹理器210识别当前捕获图像130current和/或第二面部框架144b是否对应于被遮挡的图像。例如,纹理器210跟踪并分析平均接收到多少面部信息140,并将此数据与当前捕获图像130current和/或第二面部框架144b进行比较。当纹理器210识别被遮挡的图像和/或被遮挡的面部信息时,纹理器210识别未被遮挡的前一帧Fn-1,以针对被遮挡的捕获214的被遮挡部分生成面部纹理212。例如,当纹理器210确定第二帧F2包括被遮挡的图像214并且第一帧F1包括未被遮挡的图像(例如,第一捕获图像130a)时,纹理器210可以通过与第一帧F1相关联的面部信息140渲染被遮挡的捕获214(例如,接收到的当前捕获图像130current)。
参考图2F,在一些实施方式中,puppeteer 200包括特征填充器250。特征填充器250识别经常麻烦的特征,如眼睛或嘴巴,并填充(即,视觉上表示)与这些特征相关联的空腔。图2F示出简化的puppeteer 200,其专注于特征填充器250。在一些示例中,特征填充器250检测特征的边缘。例如,特征填充器250对以顶点为中心的所有角进行求和。当总和等于2个pi或360度时,特征填充器250确定特征为空腔,诸如眼睛或嘴巴。当总和不等于两个pi时,特征填充器250将特征识别为边缘顶点。一旦特征被识别为空腔,特征填充器250就基于面部比例和/或检测到的边缘的位所来近似空腔的位置。在此,特征填充器250在近似的位置处提取特征并用填充来渲染所提取的特征。在一些示例中,使用双耳方法填充特征,而面部纹理212映射在边缘检测期间用于特征填充器250的顶点。
图3是操纵远程化身160的方法300的操作的示例布置的流程图。在操作302处,方法300接收具有中性面部表情22、22a的用户10的面部20的第一面部框架144、144a和第一捕获图像130。第一面部框架144a对应于在第一帧F1处的用户10的面部20,并且包括面部信息140的第一面部网格142、142a。在操作304处,方法300将面部20的第一捕获图像130投射到第一面部框架144a上。在操作306处,方法300基于所投射的捕获图像130确定与用户10的面部20相对应的面部纹理212。在操作308处,方法300接收与在第二帧F2处的用户10的面部20相对应的第二面部框架144b。第二面部框架144b包括面部信息140的第二面部网格142、142b。在操作310处,方法300基于接收到的第二面部框架144b来更新面部纹理212。在操作312处,方法300将更新的面部纹理212显示为3D化身160。3D化身160对应于用户10的面部20的虚拟表示。
软件应用(即,软件资源)可以指使计算设备执行任务的计算机软件。在一些示例中,软件应用可以被称为“应用”、“app”或“程序”。示例应用包括但不限于系统诊断应用、系统管理应用、系统维护应用、文字处理应用、电子表格应用、消息传递应用、媒体流应用、社交网络应用和游戏应用。
图4是可用于实现本文档中所述的例如用户设备110、远程系统150以及puppeteer200的系统和方法的示例计算设备400的示意图。计算设备400旨在代表各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机、以及其它适当的计算机。本文所示的组件、它们的连接和关系以及它们的功能仅是例证性的,并不意味着限制本文档中描述和/或要求保护的发明的实施方式。
计算设备400包括处理器410(也被称为数据处理硬件)、存储器420(也被称为存储器硬件)、存储设备430、连接到存储器420和高速扩展端口450的高速接口/控制器440,以及连接到低速总线470和存储设备430的低速接口/控制器460。组件410、420、430、440、450和460中的每个组件使用各种总线互连,并且可以安装在公共主板上或以其它适当的方式安装。处理器410能够处理用于在计算设备400内执行的指令,包括存储在存储器420中或存储在存储设备430上的指令,以在诸如耦合到高速接口440的显示器480的外部输入/输出设备上显示用于图形用户界面(GUI)的图形信息。在其它实施方式中,可以适当地使用多个处理器和/或多个总线,以及多个存储器和存储器类型。而且,可以连接多个计算设备400,其中每个设备提供必要操作的部分(例如,作为服务器组、刀片服务器组或多处理器系统)。
存储器420在计算设备400内非暂时性地存储信息。存储器420可以是计算机可读介质、易失性存储器单元或非易失性存储器单元。非暂时性存储器420可以是用于临时或永久地存储程序(例如,指令序列)或数据(例如,程序状态信息)以供计算设备400使用的物理设备。非易失性存储器的示例包括但不限于闪存和只读存储器(ROM)/可编程只读存储器(PROM)/可擦可编程只读存储器(EPROM)/电子可擦可编程只读存储器(EEPROM)(例如,通常用于固件,诸如启动程序)。易失性存储器的示例包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、相变存储器(PCM)以及磁盘或磁带。
存储设备430能够为计算设备400提供大容量存储。在一些实施方式中,存储设备430是计算机可读介质。在各种不同的实施方式中,存储设备430可以是软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其它类似的固态存储设备,或设备阵列,包括在存储区域网络或其它配置中的设备。在另外的实施方式中,计算机程序产品有形地体现为信息载体。该计算机程序产品包含在被执行时执行一种或多种方法,诸如上述那些方法的指令。信息载体是计算机或机器可读介质,诸如存储器420、存储设备430或处理器410上的存储器。
高速控制器440管理计算设备400的带宽密集型操作,而低速控制器460管理较低带宽密集型操作。这种职责分配仅是例证性的。在一些实施方式中,高速控制器440耦合到存储器420、显示器480(例如,通过图形处理器或加速器)和可以接受各种扩展卡(未示出)的高速扩展端口450。在一些实施方式中,低速控制器460耦合到存储设备430和低速扩展端口490。可能包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口490可以例如通过网络适配器耦合到一个或多个输入/输出设备,例如键盘、定点设备、扫描仪或网络设备,例如交换机或路由器。
如图所示,可以以多种不同形式来实现计算设备400。例如,计算设备400可以被实现为标准服务器400a或在一组这样的服务器400a中多次实现,被实现为膝上型计算机400b或被实现为机架服务器系统400c的一部分。
本文所述的系统和技术的各种实施方式能够以数字电子和/或光学电路、集成电路、专门设计的ASIC(应用专用集成电路)、计算机硬件、固件、软件和/或其组合实现。这些各种实施方式能够包括在一个或多个计算机程序中的实现,该计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用的或通用的,耦合以从存储系统、至少一个输入设备以及至少一个输出设备接收数据和指令,并将数据和指令发送到这些设备。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且能够以高级过程和/或面向对象的编程语言和/或以汇编/机器语言实现。本文中使用的术语“机器可读介质”和“计算机可读介质”是指任何计算机程序产品、非暂时性计算机可读介质、用于向可编程处理器提供机器指令和/或数据的装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(PLD),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
本说明书中所述的过程和逻辑流程能够由执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能的一个或多个可编程处理器来执行。过程和逻辑流程也能够由专用逻辑电路执行,例如FPGA(现场可编程门阵列)或ASIC(应用专用集成电路)。例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备例如磁盘、磁光盘或光盘,或可操作地耦合至大容量存储设备以从中接收数据或对其传输数据,或者两者。然而,计算机不必具有此类设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器能够由专用逻辑电路补充或被并入专用逻辑电路中。
为了提供与用户的交互,本公开的一个或多个方面能够在具有显示设备和可选的键盘与定点设备的计算机上实现,显示设备例如是CRT(阴极射线管)、LCD(液晶显示器)监视器或触摸屏,以向用户显示信息,定点设备例如为鼠标和轨迹球,用户能够通过其向计算机提供输入。其它类型的设备也能够用于提供与用户的交互;例如,提供给用户的反馈能够为任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机能够通过向用户使用的设备发送文档以及从用户使用的设备接收文档来与用户进行交互;例如,通过响应于从Web浏览器收到的请求,将网页发送到用户客户端设备上的Web浏览器。该交互还可以包括提供API、从客户端软件接收请求、和/或产生格式化为可由客户端软件使用的响应。
除了以上描述之外,还可以向用户提供控件,该控件允许用户就是否以及何时在本文描述的系统、程序或特征可以使得能够收集用户信息(例如,有关用户的社交网络、社交行为或活动、职业、用户的偏好或用户的当前位置的信息)以及是否向用户发送来自服务器的内容或通信进行选择。另外,在存储或使用某些数据之前,可能会以一种或多种方式处理该数据,使得移除个人可识别信息。例如,可以处理用户的身份,使得无法为该用户确定任何个人可识别信息,或者可以在获得位所信息(诸如城市、邮政编码或州级别)的情况下概括用户的地理位所,使得无法确定用户的特定位所。因此,用户可以控制收集关于用户的哪些信息、如何使用该信息以及向用户提供哪些信息。
已经描述了许多实施方式。然而,应理解,在不脱离本公开的精神和范围的情况下,可以做出各种修改。因而,其它实施方式也在所附权利要求的范围内。
Claims (23)
1.一种用于操纵远程化身的方法(300),包括:
在数据处理硬件(154)处接收具有中性面部表情的用户(10)的面部(20)的第一面部框架(144a)和第一捕获图像,其中,所述第一面部框架(144a)对应于第一帧处的所述用户(10)的面部(20)并且包括面部信息(140)的第一面部网格(142a);
由所述数据处理硬件(154)将所述面部的第一捕获图像投射到所述第一面部框架(144a)上;
由所述数据处理硬件(154)基于所投射的第一捕获图像确定与所述用户(10)的面部(20)相对应的面部纹理;
在所述数据处理硬件(154)处接收第二面部框架(144b),所述第二面部框架(144b)对应于第二帧处的所述用户(10)的面部(20),并且包括面部信息(140)的第二面部网格(142b);
由所述数据处理硬件(154)基于所接收到的第二面部框架(144b)来更新所述面部纹理;
由所述数据处理硬件(154)将更新后的面部纹理显示为三维化身(160),所述三维化身(160)对应于所述用户(10)的面部(20)的虚拟表示;以及
由所述数据处理硬件通过下述生成所述用户的眼睛或嘴巴的再现:
由所述数据处理硬件检测所述眼睛或所述嘴巴的边缘;
由所述数据处理硬件确定与所述眼睛或所述嘴巴的边缘相关联的角度之和对应于两个pi的值;
由所述数据处理硬件基于对应于两个pi的值的所检测到的边缘来近似所述眼睛或所述嘴巴的位置;
由所述数据处理硬件从所述面部的捕获的图像中在所近似的位置处提取所述眼睛或所述嘴巴;以及
由所述数据处理硬件通过填充在所近似的位置处渲染所提取的嘴巴或所提取的眼睛。
2.根据权利要求1所述的方法(300),进一步包括:
在所述数据处理硬件(154)处接收所述用户(10)的面部(20)的第二捕获图像,所述第二捕获图像捕获微笑作为所述用户的面部表情;
在所述数据处理硬件(154)处接收所述用户(10)的面部(20)的第三捕获图像,所述第三捕获图像捕获抬起的双眉作为所述用户的面部表情;
在所述数据处理硬件(154)处接收所述用户(10)的面部(20)的第四捕获图像,所述第四捕获图像捕获微笑和抬起的双眉作为所述用户的面部表情;
对于每个捕获图像,由所述数据处理硬件(154)确定与所述用户(10)的面部(20)相对应的面部表情纹理;
由所述数据处理硬件(154)基于所接收到的第二面部框架(144b)将每个捕获图像的所述面部表情纹理与所述更新后的面部纹理进行混合,以生成混合的面部纹理;以及
由所述数据处理硬件(154)使用所述混合的面部纹理渲染所述三维化身(160)。
3.根据权利要求2所述的方法(300),其中,混合进一步包括:
确定每个捕获图像的纹理矢量,其中,所述纹理矢量对应于与具有所述中性面部表情的所述第一捕获图像的差的矢量表示;
基于所接收到的第二面部框架(144b)来确定当前纹理矢量;
基于所述当前纹理矢量和每个捕获图像的所述纹理矢量之间的差来指配渲染权重(244);以及
基于所述渲染权重(244),使用所述混合的面部纹理来渲染所述三维化身(160)。
4.根据权利要求3所述的方法(300),其中,所述渲染权重(244)的总和等于1。
5.根据权利要求3所述的方法(300),其中,所述当前纹理矢量和每个捕获图像的纹理矢量中的每一个对应于五十二变量浮点矢量。
6.根据权利要求5所述的方法(300),其中,随着所述当前纹理矢量和每个捕获图像的纹理矢量之间的差增加,所述渲染权重(244)在量值上下降。
7.根据权利要求1所述的方法(300),进一步包括:
在所述数据处理硬件(154)处,接收具有所述第二帧处的面部信息(140)的当前面部表情网格的所述用户(10)的面部(20)的捕获的当前图像;和
由所述数据处理硬件(154)基于所述捕获的当前图像来更新所述面部纹理。
8.根据权利要求7所述的方法(300),其中,所接收到的捕获的当前图像对应于减少量的面部纹理。
9.根据权利要求8所述的方法(300),进一步包括:
由所述数据处理硬件(154)基于所接收到的捕获的当前图像来确定所述用户(10)的面部(20)的被遮挡的部分;和
由所述数据处理硬件(154)将所述用户(10)的面部(20)的所述被遮挡的部分与从来自先前帧的未被遮挡的捕获图像生成的面部纹理进行混合。
10.根据权利要求1所述的方法(300),其中,所述第一捕获图像包括来自移动电话的红绿蓝(RGB)图像。
11.根据权利要求1-10中的任一项所述的方法(300),其中,所述三维化身(160)被显示在增强现实(AR)设备上。
12.一种用于操纵远程化身的系统,包括:
数据处理硬件(154);和
与所述数据处理硬件(154)通信的存储器硬件(156),所述存储器硬件(156)存储指令,所述指令在所述数据处理硬件(154)上执行时使所述数据处理硬件(154)执行包括下述的操作:
接收具有中性面部表情的用户(10)的面部(20)的第一面部框架(144a)和第一捕获图像,所述第一面部框架(144a)对应于第一帧处的所述用户(10)的面部(20)并且包括面部信息(140)的第一面部网格(142a);
将所述面部的第一捕获图像投射到所述第一面部框架(144a)上;
基于所投射的第一捕获图像确定与所述用户(10)的面部(20)相对应的面部纹理;
接收第二面部框架(144b),所述第二面部框架(144b)对应于第二帧处的所述用户(10)的面部(20)并且包括面部信息(140)的第二面部网格(142b);
基于所接收到的第二面部框架(144b)来更新所述面部纹理;
将更新后的面部纹理显示为三维化身(160),所述三维化身(160)对应于所述用户(10)的面部(20)的虚拟表示;以及
通过下述生成所述用户的眼睛或嘴巴的再现:
检测所述眼睛或所述嘴巴的边缘;
确定与所述眼睛或所述嘴巴的边缘相关联的角度之和对应于两个pi的值;
基于对应于两个pi的值的所检测到的边缘来近似所述眼睛或所述嘴巴的位置;
从所述面部的捕获的图像中在所近似的位置处提取所述眼睛或所述嘴巴;以及
通过填充在所近似的位置处渲染所提取的嘴巴或所提取的眼睛。
13.根据权利要求12所述的系统,其中,所述操作进一步包括:
接收所述用户(10)的面部(20)的第二捕获图像,所述第二捕获图像捕获微笑作为所述用户的面部表情;
接收所述用户(10)的面部(20)的第三捕获图像,所述第三捕获图像捕获抬起的双眉作为所述用户的面部表情;
接收所述用户(10)的面部(20)的第四捕获图像,所述第四捕获图像捕获微笑和抬起的双眉作为所述用户的面部表情;
对于每个捕获图像,确定与所述用户(10)的面部(20)相对应的面部表情纹理;
基于所接收到的第二面部框架(144b),将每个捕获图像的所述面部表情纹理与所述更新后的面部纹理进行混合,以生成混合的面部纹理;以及
使用所述混合的面部纹理渲染所述三维化身(160)。
14.根据权利要求13所述的系统,其中,混合进一步包括:
确定每个捕获图像的纹理矢量,所述纹理矢量对应于与具有中性面部表情的所述第一捕获图像的差的矢量表示;
基于所接收到的第二面部框架(144b)来确定当前纹理矢量;
基于所述当前纹理矢量和每个捕获图像的所述纹理矢量之间的差来指配渲染权重(244);以及
基于所述渲染权重(244),使用所述混合的面部纹理来渲染所述三维化身(160)。
15.根据权利要求14所述的系统,其中,所述渲染权重(244)的总和等于1。
16.根据权利要求14所述的系统,其中,所述当前纹理矢量和每个捕获图像的所述纹理矢量中的每一个对应于五十二变量浮点矢量。
17.根据权利要求16所述的系统,其中,随着所述当前纹理矢量和每个捕获图像的所述纹理矢量之间的差增加,所述渲染权重(244)在量值上下降。
18.根据权利要求12所述的系统,其中,所述操作进一步包括:
接收具有所述第二帧处的面部信息(140)的当前面部表情网格的所述用户(10)的面部(20)的捕获的当前图像;和
基于所述捕获的当前图像来更新所述面部纹理。
19.根据权利要求18所述的系统,其中,所接收到的捕获的当前图像对应于减少量的面部纹理。
20.根据权利要求19所述的系统,其中,所述操作进一步包括:
由所述数据处理硬件(154)基于所接收到的捕获的当前图像来确定所述用户(10)的面部(20)的被遮挡的部分;和
由所述数据处理硬件(154)将所述用户(10)的面部(20)的所述被遮挡的部分与从来自先前帧的未被遮挡的捕获图像生成的面部纹理进行混合。
21.根据权利要求12所述的系统,其中,所述第一捕获图像包括来自移动电话的红绿蓝(RGB)图像。
22.根据权利要求12至21中的任一项所述的系统,其中,所述三维化身(160)被显示在增强现实(AR)设备上。
23.一种用于操纵远程化身的方法(300),包括:
在数据处理硬件(154)处接收具有中性面部表情的用户(10)的面部(20)的第一面部框架(144a)和第一捕获图像,所述第一面部框架(144a)对应于第一帧处的所述用户(10)的面部(20)并且包括面部信息(140)的第一面部网格(142a);
由所述数据处理硬件(154)将所述面部的第一捕获图像投射到所述第一面部框架(144a)上;
由所述数据处理硬件(154)基于所投射的第一捕获图像确定与所述用户(10)的面部(20)相对应的面部纹理;
由所述数据处理硬件(154)将所确定的面部纹理显示为三维化身(160),所述三维化身(160)对应于所述用户(10)的面部(20)的虚拟表示;以及
通过下述生成所述用户的眼睛或嘴巴的再现:
检测所述眼睛或所述嘴巴的边缘;
确定与所述眼睛或所述嘴巴的边缘相关联的角度之和对应于两个pi的值;
基于对应于两个pi的值的所检测到的边缘来近似所述眼睛或所述嘴巴的位置;
从所述面部的捕获的图像中在所近似的位置处提取所述眼睛或所述嘴巴;以及
通过填充在所近似的位置处渲染所提取的嘴巴或所提取的眼睛。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211535731.7A CN115731294A (zh) | 2018-05-07 | 2019-05-01 | 通过面部表情操纵远程化身 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862667767P | 2018-05-07 | 2018-05-07 | |
US62/667,767 | 2018-05-07 | ||
PCT/US2019/030218 WO2019217177A1 (en) | 2018-05-07 | 2019-05-01 | Puppeteering a remote avatar by facial expressions |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211535731.7A Division CN115731294A (zh) | 2018-05-07 | 2019-05-01 | 通过面部表情操纵远程化身 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112042182A CN112042182A (zh) | 2020-12-04 |
CN112042182B true CN112042182B (zh) | 2022-12-13 |
Family
ID=68467043
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980029370.9A Active CN112042182B (zh) | 2018-05-07 | 2019-05-01 | 通过面部表情操纵远程化身 |
CN202211535731.7A Pending CN115731294A (zh) | 2018-05-07 | 2019-05-01 | 通过面部表情操纵远程化身 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211535731.7A Pending CN115731294A (zh) | 2018-05-07 | 2019-05-01 | 通过面部表情操纵远程化身 |
Country Status (5)
Country | Link |
---|---|
US (3) | US11538211B2 (zh) |
EP (2) | EP3791573B1 (zh) |
JP (1) | JP7090178B2 (zh) |
CN (2) | CN112042182B (zh) |
WO (1) | WO2019217177A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240116836A (ko) | 2017-05-16 | 2024-07-30 | 애플 인크. | 이모지 레코딩 및 전송 |
US11074753B2 (en) * | 2019-06-02 | 2021-07-27 | Apple Inc. | Multi-pass object rendering using a three- dimensional geometric constraint |
CN111583355B (zh) * | 2020-05-09 | 2024-01-23 | 维沃移动通信有限公司 | 面部形象生成方法、装置、电子设备及可读存储介质 |
AU2021290132C1 (en) | 2020-06-08 | 2024-04-18 | Apple Inc. | Presenting avatars in three-dimensional environments |
CN116368529A (zh) * | 2020-09-25 | 2023-06-30 | 苹果公司 | 基于当前用户外观的用户的表示 |
WO2022066432A1 (en) * | 2020-09-25 | 2022-03-31 | Sterling Labs Llc | Progressive body capture of user body for building an avatar of user |
US11995776B2 (en) | 2021-01-19 | 2024-05-28 | Samsung Electronics Co., Ltd. | Extended reality interaction in synchronous virtual spaces using heterogeneous devices |
IL281554B2 (en) * | 2021-03-16 | 2023-02-01 | Emza Visual Sense Ltd | Apparatus and method for detecting and outputting three-dimensional objects |
TWI817335B (zh) * | 2022-01-25 | 2023-10-01 | 宏碁股份有限公司 | 立體影像播放裝置及其立體影像產生方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2998099A (en) * | 1998-03-11 | 1999-09-27 | Entropic, Inc. | Face synthesis system and methodology |
US8893207B2 (en) * | 2002-12-10 | 2014-11-18 | Ol2, Inc. | System and method for compressing streaming interactive video |
JP4559092B2 (ja) * | 2004-01-30 | 2010-10-06 | 株式会社エヌ・ティ・ティ・ドコモ | 携帯通信端末及びプログラム |
US7176956B2 (en) * | 2004-05-26 | 2007-02-13 | Motorola, Inc. | Video enhancement of an avatar |
KR101019569B1 (ko) * | 2005-08-29 | 2011-03-08 | 에브릭스 테크놀로지스, 인코포레이티드 | 모바일 이미지 인식을 통한 상호작용 |
JP5419777B2 (ja) * | 2010-03-30 | 2014-02-19 | セコム株式会社 | 顔画像合成装置 |
KR101608253B1 (ko) * | 2011-08-09 | 2016-04-01 | 인텔 코포레이션 | 이미지 기반 멀티 뷰 3d 얼굴 생성 |
US8933928B2 (en) * | 2011-11-22 | 2015-01-13 | Seiko Epson Corporation | Multiview face content creation |
WO2013097139A1 (en) * | 2011-12-29 | 2013-07-04 | Intel Corporation | Communication using avatar |
WO2014036708A1 (en) * | 2012-09-06 | 2014-03-13 | Intel Corporation | System and method for avatar creation and synchronization |
US9325936B2 (en) * | 2013-08-09 | 2016-04-26 | Samsung Electronics Co., Ltd. | Hybrid visual communication |
US9317954B2 (en) * | 2013-09-23 | 2016-04-19 | Lucasfilm Entertainment Company Ltd. | Real-time performance capture with on-the-fly correctives |
JP2017531242A (ja) * | 2014-08-29 | 2017-10-19 | トムソン ライセンシングThomson Licensing | 顔画像を編集する方法及びデバイス |
US10334158B2 (en) * | 2014-11-03 | 2019-06-25 | Robert John Gove | Autonomous media capturing |
EP3275122A4 (en) | 2015-03-27 | 2018-11-21 | Intel Corporation | Avatar facial expression and/or speech driven animations |
US20170069124A1 (en) * | 2015-04-07 | 2017-03-09 | Intel Corporation | Avatar generation and animations |
US20180158246A1 (en) * | 2016-12-07 | 2018-06-07 | Intel IP Corporation | Method and system of providing user facial displays in virtual or augmented reality for face occluding head mounted displays |
-
2019
- 2019-05-01 EP EP19724319.9A patent/EP3791573B1/en active Active
- 2019-05-01 EP EP23195942.0A patent/EP4262193A3/en active Pending
- 2019-05-01 CN CN201980029370.9A patent/CN112042182B/zh active Active
- 2019-05-01 WO PCT/US2019/030218 patent/WO2019217177A1/en unknown
- 2019-05-01 US US17/052,161 patent/US11538211B2/en active Active
- 2019-05-01 CN CN202211535731.7A patent/CN115731294A/zh active Pending
- 2019-05-01 JP JP2020560922A patent/JP7090178B2/ja active Active
-
2022
- 2022-11-23 US US18/058,621 patent/US11887235B2/en active Active
-
2023
- 2023-12-21 US US18/391,767 patent/US20240127523A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240127523A1 (en) | 2024-04-18 |
US20210056747A1 (en) | 2021-02-25 |
EP3791573B1 (en) | 2023-10-18 |
US20230088308A1 (en) | 2023-03-23 |
JP7090178B2 (ja) | 2022-06-23 |
US11538211B2 (en) | 2022-12-27 |
EP4262193A3 (en) | 2023-11-29 |
CN112042182A (zh) | 2020-12-04 |
EP3791573A1 (en) | 2021-03-17 |
JP2021523437A (ja) | 2021-09-02 |
EP4262193A2 (en) | 2023-10-18 |
WO2019217177A1 (en) | 2019-11-14 |
CN115731294A (zh) | 2023-03-03 |
US11887235B2 (en) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112042182B (zh) | 通过面部表情操纵远程化身 | |
US11062494B2 (en) | Electronic messaging utilizing animatable 3D models | |
JP7110502B2 (ja) | 深度を利用した映像背景減算法 | |
US10750121B2 (en) | Modifying images from a camera | |
US20220319139A1 (en) | Multi-endpoint mixed-reality meetings | |
TWI656505B (zh) | 頭像管理和選擇的系統及方法 | |
CN107111427B (zh) | 修改视频通话数据 | |
WO2022252866A1 (zh) | 一种互动处理方法、装置、终端及介质 | |
CN112527115B (zh) | 用户形象生成方法、相关装置及计算机程序产品 | |
JP7389840B2 (ja) | 画像画質補強方法、装置、機器および媒体 | |
US11741650B2 (en) | Advanced electronic messaging utilizing animatable 3D models | |
CN112714337A (zh) | 视频处理方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |