CN112789631A - 基于采样的颜色信息生成和传输图像序列的系统和方法 - Google Patents
基于采样的颜色信息生成和传输图像序列的系统和方法 Download PDFInfo
- Publication number
- CN112789631A CN112789631A CN201880098118.9A CN201880098118A CN112789631A CN 112789631 A CN112789631 A CN 112789631A CN 201880098118 A CN201880098118 A CN 201880098118A CN 112789631 A CN112789631 A CN 112789631A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- learning model
- sample data
- frames
- pixel information
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/60—Image enhancement or restoration using machine learning, e.g. neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
- H04N13/117—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20182—Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Computer Graphics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
- Studio Devices (AREA)
Abstract
在一个实施例中,用于从稀疏数据生成完整帧的方法可以分别访问与帧的序列相关联的样本数据集。每个样本数据集可以包括相关联的帧的不完整像素信息。该系统可以使用第一机器学习模型基于样本数据集来生成帧序列,每个帧具有完整像素信息。第一机器学习模型被配置为保留与生成的帧相关联的时空表示。然后,该系统可以访问下一个样本数据集,该下一个样本数据集包括帧序列之后的下一个帧的不完整像素信息。该系统可以使用第一机器学习模型,基于下一个样本数据集生成下一个帧。该下一个帧具有完整像素信息,该完整像素信息包括该下一个样本数据集的不完整像素信息以及附加像素信息,基于该下一个样本数据集和由模型保留的时空表示来生成附加像素信息。
Description
技术领域
本公开总体上涉及机器学习、计算机图形(computer graphics)和图像压缩。
背景
“计算机图形”是指使用图形硬件和软件来创建的计算机生成的图像数据(包括静态图像和视频)。用于生成计算机图形(尤其是具有高分辨率和/或高帧率的计算机图形)的计算成本很高。例如,生成分辨率为1920x1080的单个图像意味着需要确定多于200万像素的颜色。为了生成每秒60帧(60fps)的视频,每秒所需的像素数量迅速接近1.25亿。此外,典型的三维(3D)计算机图形是通过在虚拟环境的3D模型上应用基于物理的渲染模型(例如,光线跟踪或光线投射技术)来渲染的。3D模型的复杂性以及基于物理的渲染模型的复杂性增加了渲染成本。此外,在某些应用中,完全渲染的图像可能需要经历后处理以产生期望的视觉效果(例如,模糊),这进一步增加了总体计算成本。
除了计算成本之外,图像数据的大小也可能对系统资源造成负担,无论图像数据是由计算机生成的还是由相机或其他设备记录的(例如,在线流式传输或经由对等(peer-to-peer)连接传输的电影或视频片段(video clip))。例如,高分辨率图像很容易超过10兆字节,几分钟长的高帧率视频可以用千兆字节来度量。因此,即使对于预先生成的图像或视频(例如,预先生成的计算机图形或使用相机捕获的预先记录的图像或视频),其施加较少的实时计算约束,它们的文件大小仍然可能存在技术瓶颈,尤其是当涉及(例如,通过互联网、蜂窝数据、短程无线通信等)数据传输时。
因此,根据需要计算机图形的特定应用,用于生成和/或传输图像数据的高计算成本通常限制了在实践中可以使用的图像质量水平。例如,在实时应用(例如,360度视频和全景、游戏、虚拟现实或增强现实)中或在计算环境具有有限系统资源(例如,处理能力、存储器(memory)、存储装置(storage)或传输带宽)的应用中,可能需要牺牲图像质量来满足这些应用的运行时要求(runtime requirement)。
附图简述
图1提供了示出人的视觉敏锐度在其视野上的差异的简化图。
图2A示出了中央凹压缩(foveated compression)的概念。
图2B示出了根据特定实施例的在场景内利用观看者的中央凹视觉的图像采样的示例。
图3A-图3B示出了根据特定实施例的示例,其中由于跨帧序列的空间数据的可用性,可以进一步减少每个视频帧的图像采样。
图4示出了图像的示例和对应的采样数据集(sampling dataset)以及它们的时空数据(space-time data)的视觉描绘。
图5示出了示例采样数据集,其包括RGB像素样本和指示它们的位置的二进制掩码。
图6示出了根据特定实施例的生成性对抗网络(generative adversarialnetwork)的示例训练配置。
图7A-图7D示出了根据特定实施例的生成器机器学习模型的示例部件。
图8A-图8C示出了根据特定实施例的鉴别器机器学习模型的示例部件。
图9示出了根据特定实施例的使用经训练的生成器机器学习模型从样本数据集(sample dataset)生成完整图像的示例方法。
图10示出了与社交网络系统相关联的示例网络环境。
图11示出了示例计算机系统。
特定实施例的概述
本文描述的实施例涉及一种机器学习方法,该机器学习方法用于基于具有不完整像素信息(例如,像素颜色的稀疏样本数据集)的视频帧序列来生成和/或压缩和重建感知精确的图像(例如,包括视频帧)。由于可以使用机器学习从稀疏样本数据集生成感知精确的图像,所以计算上更昂贵的渲染流水线(rendering pipeline)(例如,使用光线跟踪、光线投射或其他基于物理的计算机图形技术)可能只需要针对图像中总像素的稀疏子集来进行。这样,本文描述的实施例显著降低了生成图像所需的总体计算成本、时间和系统资源。此外,由于使用本文描述的实施例可以从图像的样本数据集重建完整的图像,因此需要传输图像数据的应用可以传输对应的样本数据集而不是完整像素信息,从而显著降低传输成本。作为示例,实验已经表明,本文描述的实施例可以将渲染成本和传输带宽降低大约两个数量级。
本发明的实施例可以包括人工现实系统或结合人工现实系统来被实现。人工现实是一种在呈现给用户之前已经以某种方式进行了调整的现实形式,其可以包括例如虚拟现实(VR)、增强现实(AR)、混合现实(mixed reality,MR)、混杂现实(hybrid reality)或其某种组合和/或衍生物。人工现实内容可以包括完全生成的内容或与捕获的内容(例如,真实世界的照片)相结合的生成的内容。人工现实内容可以包括视频、音频、触觉反馈、或其某种组合,且其中任何一个都可以在单个通道中或在多个通道中(例如向观看者产生三维效果的立体视频)被呈现。另外,在一些实施例中,人工现实可以与应用、产品、附件、服务或其某种组合相关联,这些应用、产品、附件、服务或其某种组合例如用于在人工现实中创建内容和/或在人工现实中被使用(例如,在人工现实中执行活动)。可以在各种平台(包括连接到主计算机系统的头戴式显示器(HMD)、独立的HMD、移动设备或计算系统、或者能够向一个或更多个观看者提供人工现实内容的任何其他硬件平台)上实现提供人工现实内容的人工现实系统。
本文公开的实施例仅仅是示例,并且本公开的范围不限于它们。特定实施例可以包括以上公开的实施例的部件、元件、特征、功能、操作或步骤中的全部、一些或不包括它们。根据本发明的实施例在涉及方法、存储介质、系统和计算机程序产品的所附权利要求中被具体公开,其中在一个权利要求类别(例如方法)中提到的任何特征也可以在另一个权利要求类别(例如系统)中要求保护。在所附权利要求中的从属性或往回引用仅为了形式原因而被选择。然而,也可以要求保护由对任何前面的权利要求的有意往回引用(特别是多项引用)而产生的任何主题,使得权利要求及其特征的任何组合被公开并且可被要求保护,而不考虑在所附权利要求中选择的从属性。可以被要求保护的主题不仅包括如在所附权利要求中阐述的特征的组合,而且还包括在权利要求中的特征的任何其他组合,其中,在权利要求中提到的每个特征可以与在权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的实施例和特征中的任一个可以在单独的权利要求中和/或以与本文描述或描绘的任何实施例或特征的任何组合或以与所附权利要求的任何特征的任何组合被要求保护。
在一个实施例中,一种方法可以包括,由计算系统:
分别访问与一个或更多个帧的序列相关联的一个或更多个样本数据集,其中一个或更多个样本数据集中的每一个包括相关联的帧的不完整像素信息;
使用第一机器学习模型,基于一个或更多个样本数据集生成一个或更多个帧,其中一个或更多个生成的帧中的每一个都具有完整像素信息,其中第一机器学习模型被配置为保留与一个或更多个生成的帧相关联的时空表示;
访问下一个样本数据集,该下一个样本数据集包括一个或更多个帧的序列之后的下一个帧的不完整像素信息;和
使用第一机器学习模型,基于下一个样本数据集生成下一个帧,其中下一个帧具有完整像素信息,该完整像素信息包括下一个样本数据集的不完整像素信息以及附加像素信息,基于下一个样本数据集和由第一机器学习模型保留的时空表示来生成附加像素信息。
第一机器学习模型可以通过以下方式来训练:
分别从多个训练帧生成多个训练样本数据集;
使用第一机器学习模型,分别基于多个训练样本数据集生成多个重建帧;
使用第二机器学习模型确定多个重建帧是由第一机器学习模型生成的可能性;和
基于由第二机器学习模型确定的每个可能性的正确性来更新第一机器学习模型。
第一机器学习模型的更新可以基于多个重建帧和多个训练帧之间的比较。
在一个实施例中,第一机器学习模型可以包括串联连接的多个编码器和多个解码器,多个编码器可以包括第一编码器和最后一个编码器,并且多个解码器可以包括第一解码器和最后一个解码器;
其中第一编码器的输出被配置为最后一个解码器的输入;和
其中最后一个编码器的输出被配置为第一解码器的输入。
多个解码器可以是循环解码器。
在一个实施例中,一种方法可以包括:
使用基于物理的计算机图形渲染模块生成一个或更多个样本数据集。
一个或更多个样本数据集中的至少一个样本数据集的生成可以包括:
确定在与样本数据集相关联的帧内的一个或更多个感兴趣区域;
使用一个或更多个感兴趣区域生成不完整像素信息;
其中不完整像素信息的与一个或更多个感兴趣区域相对应的一个或更多个部分包括比不完整像素信息的其他部分更密集的像素样本。
在一个实施例中,一种方法可以包括:
基于由眼睛跟踪设备获得的眼睛跟踪数据来确定用户的注视方向;
其中一个或更多个感兴趣区域的确定基于所确定的用户的注视方向。
一个或更多个样本数据集中的每一个可以包括:
具有像素颜色的图像,该像素颜色对应于与样本数据集相关联的不完整像素信息;和
指示像素颜色的位置的二进制掩码。
在一个实施例中,一个或更多个计算机可读非暂时性存储介质可以体现软件,该软件在被执行时可操作来:
分别访问与一个或更多个帧的序列相关联的一个或更多个样本数据集,其中一个或更多个样本数据集中的每一个包括相关联的帧的不完整像素信息;
使用第一机器学习模型,基于一个或更多个样本数据集生成一个或更多个帧,其中一个或更多个生成的帧中的每一个都具有完整像素信息,其中第一机器学习模型被配置为保留与一个或更多个生成的帧相关联的时空表示;
访问下一个样本数据集,该下一个样本数据集包括一个或更多个帧的序列之后的下一个帧的不完整像素信息;和
使用第一机器学习模型,基于下一个样本数据集生成下一个帧,其中下一个帧具有完整像素信息,该完整像素信息包括下一个样本数据集的不完整像素信息以及附加像素信息,基于下一个样本数据集和由第一机器学习模型保留的时空表示来生成附加像素信息。
第一机器学习模型可以通过包括以下操作的过程来训练:
分别从多个训练帧生成多个训练样本数据集;
使用第一机器学习模型,分别基于多个训练样本数据集生成多个重建帧;
使用第二机器学习模型确定多个重建帧是由第一机器学习模型生成的可能性;和
基于由第二机器学习模型确定的每个可能性的正确性来更新第一机器学习模型。
第一机器学习模型的更新可以基于多个重建帧和多个训练帧之间的比较。
在介质的实施例中,第一机器学习模型可以包括串联连接的多个编码器和多个解码器,多个编码器可以包括第一编码器和最后一个编码器,并且多个解码器可以包括第一解码器和最后一个解码器;
其中第一编码器的输出被配置为最后一个解码器的输入;和
其中最后一个编码器的输出被配置为第一解码器的输入。
多个解码器可以是循环解码器。
软件在被执行时可以可操作来:
使用基于物理的计算机图形渲染模块生成一个或更多个样本数据集。
在一个实施例中,一种系统可以包括:一个或更多个处理器;以及耦合到一个或更多个处理器的一个或更多个计算机可读非暂时性存储介质,该一个或更多个计算机可读非暂时性存储介质包括当由一个或更多个处理器执行时可操作来使系统执行以下操作的指令:
分别访问与一个或更多个帧的序列相关联的一个或更多个样本数据集,其中一个或更多个样本数据集中的每一个包括相关联的帧的不完整像素信息;
使用第一机器学习模型,基于一个或更多个样本数据集生成一个或更多个帧,其中一个或更多个生成的帧中的每一个都具有完整像素信息,其中第一机器学习模型被配置为保留与一个或更多个生成的帧相关联的时空表示;
访问下一个样本数据集,该下一个样本数据集包括一个或更多个帧的序列之后的下一个帧的不完整像素信息;和
使用第一机器学习模型,基于下一个样本数据集生成下一个帧,其中下一个帧具有完整像素信息,该完整像素信息包括下一个样本数据集的不完整像素信息以及附加像素信息,基于下一个样本数据集和由第一机器学习模型保留的时空表示来生成附加像素信息。
第一机器学习模型可以通过包括以下操作的过程来训练:
分别从多个训练帧生成多个训练样本数据集;
使用第一机器学习模型,分别基于多个训练样本数据集生成多个重建帧;
使用第二机器学习模型确定多个重建帧是由第一机器学习模型生成的可能性;和
基于由第二机器学习模型确定的每个可能性的正确性来更新第一机器学习模型。
第一机器学习模型的更新可以基于多个重建帧和多个训练帧之间的比较。
在系统的实施例中,第一机器学习模型可以包括串联连接的多个编码器和多个解码器,多个编码器可以包括第一编码器和最后一个编码器,并且多个解码器可以包括第一解码器和最后一个解码器;
其中第一编码器的输出被配置为最后一个解码器的输入;和
其中最后一个编码器的输出被配置为第一解码器的输入。
一个或更多个计算机可读非暂时性存储介质可以包括当由一个或更多个处理器执行时可操作来使系统执行以下操作的指令:
使用基于物理的计算机图形渲染模块生成一个或更多个样本数据集。
在根据本发明的实施例中,一个或更多个计算机可读非暂时性存储介质可以体现软件,该软件在被执行时可操作来执行根据本发明或任何上面提到的实施例的方法。
在根据本发明的实施例中,一种系统可以包括:一个或更多个处理器;以及至少一个存储器,该至少一个存储器耦合到处理器,并且包括可由处理器执行的指令,处理器在执行指令时可操作来执行根据本发明或任何上面提到的实施例的方法。
在根据本发明的实施例中,一种计算机程序产品,优选地包括计算机可读非暂时性存储介质,该计算机程序产品在数据处理系统上被执行时,可以可操作来执行根据本发明或任何上面提到的实施例的方法。
示例实施例的描述
渲染和/或传输高分辨率和高帧率的视频是一个成本高昂的过程。为了降低该成本,本文描述的实施例使得应用能够根据人类的视觉敏锐度仅渲染/传输视频中的像素的小子集,并使用神经网络生成/重建完整的视频。
特定实施例利用了人类的视觉敏锐度。图1提供了示出人101的视觉敏锐度在其视野150上的差异的简化图。在该图中,中心区域110代表人101的中央凹(fovea)视野。人101的视觉敏锐度随着远离中央凹视野110而衰减。例如,人101在邻近区域120和121中的视觉敏锐度低于中央凹视野110的视觉敏锐度,并且区域130和131中的视觉敏锐度更差。
观察到人类视觉系统的敏锐度向他/她的周边视觉快速衰减,本文描述的实施例被设计成在中央凹视野中渲染/传输高像素密度,同时渐进地和显著地对延伸到周边的区域中的时空像素体积(spatio-temporal pixel volume)进行二次采样(subsampling)(称为“损坏(corruption)”)。通过这样做,本文描述的技术可以显著改善生成和/或传输视频帧所需的时间。例如,在特定实施例中,本文描述的实施例允许渲染系统使用更昂贵的渲染过程来生成一部分像素(在中央凹区域中具有更高的密集度),并且使用计算上更便宜的机器学习模型来生成其余的像素(在中央凹区域之外具有更高的密集度),而不是使用传统的图形流水线来渲染每一帧的每个像素。在其他实施例中,当传输视频时,发送器可以基于观看者的中央凹区域对原始视频帧的一部分进行采样(例如,更靠近中央凹区域的像素比更远离中央凹区域的像素被更密集地采样),并且仅发送这些样本,以避免必须发送视频的每个像素。在接收方设备上,从发送方接收的稀疏像素信息可用于使用机器学习模型来重建完整视频帧。
图2A和图2B示出了中央凹渲染和/或压缩的概念。图2A示出了从特定视点(viewpoint)捕获的或将针对特定视点渲染的场景200。场景200包含位于视点中心的人210、位于视点左侧的狗220和位于视点右侧的猫230。虚线同心圆用于在视觉上描绘观看者的视觉敏锐度。最小圆内的区域201代表观看者的中央凹视野;两个圆之间的区域202代表远离中央凹视野的观看者视野的一部分;并且较大圆之外的区域203代表离中央凹视野更远的观看者视野的一部分。
图2B示出了场景200内的图像二次采样的示例,其利用了观看者的中央凹视觉。在图2B中,子样本(subsample)位置由虚线方块(例如,299a、299b和299c)可视地表示。如本文所使用的,术语“二次采样”指的是确定特定像素(或采样位置)的颜色信息的过程,可以通过例如从现有图像/帧(例如,预先记录的电影或视频片段)中提取像素信息、或者基于3D模型经由计算机图形渲染来渲染感兴趣的像素,来完成该过程。在特定实施例中,子样本的密度可以与观看者的视觉敏锐度直接相关。例如,由于观看者的中央凹视野以区域201为中心,所以二次采样可能在该区域201内是高度密集的。对于远离观看者的中央凹视野中心的区域,可以获得逐渐减少或不太密集的子样本。例如,在图2B中,区域202内的子样本比区域201内的子样本密度小,但比区域203内的子样本密度大。由于观看者的视觉敏锐度在周边较低,因此在这些区域具有较小的子样本密度对观看者的观看体验影响最小。如下面将进一步详细描述的,对于没有获得子样本的区域,可以使用机器学习模型来近似它们的颜色信息。由于观看者无论如何都会因生物学或晶状体限制(biological or lensinglimitation)而无法清楚地看到周边,因此在相应的图像中具有较低质量或较不准确的颜色信息将不会显著影响观看者的观看体验(如果有的话)。这允许图形渲染系统例如基于观看者的视点选择性地渲染像素(例如,可以假设中央凹视野位于中心或者由眼睛跟踪设备来检测),并且避免必须渲染完整的图像或帧,从而节省大量的计算资源和时间。类似地,视频传输应用(例如,移动设备上的视频流式传输服务或视频共享应用)可以基于观看者的视点选择性地传输一部分像素,并在接收设备上重建其余像素,以避免传输视频序列中的每个像素。
如上面所提到的,可以使用机器学习模型来重建图像(例如视频帧序列中的帧)的缺失或未采样部分。机器学习模型可以基于当前帧可用的子样本来重建缺失的信息(图像的子样本集合可以被称为该帧的样本数据集)。此外,机器学习模型的特定实施例还可以保留来自由机器学习模型处理的先前帧的场景的时空信息。来自先前帧的时空信息是用来重建当前帧的良好信息源,因为视频序列在空间上以及特别是在时间上表现出高度冗余。因此,如果来自先前帧的子样本处于不同的位置(例如,随机地或伪随机地采样)和/或场景在帧之间略有变化,则随时间而聚合(aggregate)的时空信息将有助于机器学习模型重建当前帧的缺失像素信息。
图3A-图3B示出了根据特定实施例的示例,其中由于跨帧序列的空间数据的可用性,可以进一步减少每个视频帧的图像采样。图3A示出了场景300,类似于图2A-图2B所示的场景200,场景300包含人310、左侧的狗320和右侧的猫330。以类似的方式,最小圆内的区域301代表观看者的中央凹视野;两个同心圆之间的区域302代表远离中央凹视野的观看者视野的一部分;并且较大圆之外的区域303代表离中央凹视野更远的观看者视野的一部分。子样本位置(例如,399a、399b和399c)由虚线方块可视地表示。在图3A中,子样本的密度在区域301内最大,在区域302中较小,并且在区域303中最小。
图3B示出了在包括图3A所示的场景300的场景序列中的另一个场景350。作为示例,图3A所示的场景300可以在时间上位于图3B的场景350之前。与图3A中的场景300相比,场景350中的狗320和猫330已经移动得更靠近人310并且朝向视点前进。尽管有这些变化,两个场景300和350仍然包含冗余信息。例如,场景310和350中的人310保持在原位,并且可能看起来一致。虽然狗320和猫330在场景之间进行了移动,但是它们的外观信息仍然在两个场景中被捕获。因此,根据特定实施例的机器学习模型可以被训练成使用来自场景300和350的样本数据集来重建特定帧的任何缺失像素信息。因为机器学习模型可以从与多个场景相关联的样本数据集获得信息,所以每个场景的样本数据集可以比原本需要的更稀疏。例如,与图2B相比,图3A和图3B中的子样本密度较低。在特定实施例中,为了改善场景内不同区域或对象的覆盖范围,子样本位置可以因场景而异。例如,场景350的子样本位置(例如,399x、399y、399z)不同于场景300的子样本位置。虽然图3A-图3B中所示的示例示出了场景中的对象改变位置,但是上述相同的原理同样适用于由于观看者的视点的改变(例如,观看者可能正在移动)或者观看者的视点的改变与对象位置的改变的组合而导致的场景改变。
图4示出了图像410的示例和对应的采样数据集420的视觉表示,以及它们的时空数据430和440的视觉描绘。在所示的例子中,图像410(其可以是视频序列中的帧)在整个图像中包含高像素密度。采样数据集420是基于图像410中的像素的二次采样生成的(采样数据集420也可以被称为图像410的损坏)。采样数据集420的视觉表示包含已经采样的像素的颜色信息,其中未采样区域被涂成黑色。视觉表示420中所示的浅色点对应于图像410中的浅色像素,这些浅色像素与黑色未采样区域形成高对比度。深色像素在该特定视觉表示420中可能不容易区分,因为未采样区域被涂成黑色,但是深色像素已经被采样并存在于采样数据集420中。在该示例中,观看者的中央凹区域位于图像410的中心,因此,中心区域中的二次采样更密集,如采样数据集420的中心区域中更密集的点图案所示。在远离中心的区域,点的密度逐渐变得越来越稀疏。
如上所述,视频序列通常在空间上以及特别是在时间上表现出高度冗余。图像430通过随时间(垂直轴)绘制图像410中所示场景的水平线上的像素来说明这一点。跨时间看似拉长但失真的颜色信息提供了同一像素信息可在不同的时间获得的视觉指示。图像430的对应采样数据集440显示,当随时间聚合时,子样本位置提供了每个空间区域的足够的采样覆盖率。通过利用编码在帧序列中的冗余信息,子样本(即使是稀疏的子样本)为机器学习模型提供了足够的信息来重建或内绘(in-paint)缺失的视频内容,使得在周边视觉下观察时,重建看起来似乎难以区分。
效率是机器学习模型所使用的重建算法的一个期望特征。具体地,与渲染/传输完整视频内容的简单解决方案(solution)相比,该算法的执行应该会显著节省计算和功率。渲染完整的视频内容意味着需要(例如,通过光线跟踪可见性测试、着色(shading)等)渲染每个视频帧的每个像素,并且传输完整的视频内容意味着传输每个像素信息(无论其是否被编码或压缩)。就处理能力和时间、存储器、存储装置、传输带宽等而言,这两种操作都可能是资源密集型的。本文描述的重建算法通过减少需要渲染/传输的像素数量并使用机器学习模型来重建其余部分,在这些领域提供了显著的节约。
特定实施例可以被设计成能够访问当前和过去的信息。例如,如参考图3A-图3B所述,与过去帧(例如,对应于场景300)相关联的采样数据集可以与当前采样数据集(例如,对应于场景350)一起使用,以重建感兴趣的当前帧的缺失的未采样部分。在特定实施例中,重建系统可以通信地耦合到眼睛跟踪系统,因此可以动态地确定观看者的当前眼睛位置,以确定哪些区域采样更多,哪些区域采样更少。
在特定实施例中,机器学习模型可以是被训练来执行重建任务的循环神经网络。在特定实施例中,网络可以是生成性对抗网络(GAN)。深度学习算法在图像合成和分析领域不断展示出前所未有的质量的结果。由于它们的固定功能流水线,它们非常适合在硬件上执行。因此,它们是解决当前问题的自然选择。
在详细描述机器学习模型之前,将描述模型的输入。图5示出了示例采样数据集,其包括RGB像素样本510和指示它们的位置的二进制掩码520。像素样本510和二进制掩码520都可以从同一个帧导出或者与同一个帧相关联。RGB像素样本510可以通过对现有帧进行采样或者经由任何合适的计算机图形渲染流水线渲染特定像素样本来生成。子样本位置可以取决于观看者的观看方向和/或用于观察图像的光学器件的配置(例如,在虚拟现实或增强现实头戴式装置(headset)中使用的光学器件)。更靠近观看者的中央凹视野或注视方向的区域可以被更密集地采样,而更远的区域可以被更不密集地(或更稀疏地)采样。在特定实施例中,基于每个区域的期望子样本密度,系统可以随机确定子样本位置并确定对应的颜色。在特定实施例中,可以使用二进制掩码520来存储子样本位置。二进制掩码520可以具有对应于RGB像素样本510的像素位置。二进制掩码520中的每个像素可以指示该像素是采样的还是未采样的(例如,0可以指示未采样的像素,而1可以指示采样的像素,或者1可以指示未采样的像素,而0可以指示采样的像素)。由于采样的像素可能具有与未采样区域相同的颜色值,所以二进制掩码可以用于消除这种情况(例如,采样的黑色颜色可以具有相关联的值0,这将与未采样区域的默认0值混淆)的歧义。在特定实施例中,采样的RGB颜色和二进制掩码可以存储在图像的四个通道中(例如,RGB颜色信息可以存储在图像的RGB通道中,而二进制掩码信息可以存储在图像的α通道中)。
图6示出了根据特定实施例的生成性对抗网络(GAN)的示例训练配置。GAN可以包括生成器640和鉴别器660。在高层级上,生成器640可以被配置成生成或重建“伪(fake)”图像,该“伪”图像具有针对缺失像素信息而内绘的部分。另一方面,鉴别器660可以被配置成评估给定图像是“伪的”(或由生成器640生成的)还是“真实的(real)”(或不是由生成器640生成的)。在训练期间,高层级目标是提高生成器640生成能够愚弄鉴别器660的“伪”图像的能力,并且同时提高鉴别器660检测由生成器640生成的“伪”图像的能力。训练结束时的目标是生成器640生成逼真的“伪”图像。因此,一旦训练完成,生成器640(而不是鉴别器660)可以在推断时间期间投入运行,并生成或重建视频帧。
在训练过程的特定实施例中,用于训练GAN网络的训练样本可以是帧序列610,每个帧具有完整像素信息(例如图4中的410)。帧序列610可以是由摄像机捕获或使用计算机图形渲染的场景视图的时间序列。在特定实施例中,帧序列610可以由损坏模块620处理。损坏模块620可以对每个帧610进行采样,并输出对应的样本数据集630(例如图4中的420或图5中所示的RGB图像510和二进制掩码520)。每个帧的样本数据集630可以包含稀疏的、不完整的像素信息,其中区域密度取决于观看者的注视方向(或中央凹区域)。
在特定实施例中,样本数据集630可用于训练GAN网络。可以将样本数据集630输入到生成器640中。生成器640可以包括神经网络,其参数可以在训练过程期间被更新/训练。生成器640可以输出生成的帧650(或重建帧)的序列,这些帧对应于原始帧序列610以及这些帧的相关联的样本数据集630。如前所述,每个样本数据集630包括稀疏的、不完整的像素信息。对应的生成的帧650可以具有由生成器640填充的缺失像素信息。每个生成的帧650也可以被认为是“伪”图像。
在特定实施例中,生成的帧由鉴别器670测试,并且结果用于训练或更新生成器640和鉴别器670的神经网络。在特定实施例中,原始帧序列610中的每一帧可由预先训练过的神经网络(例如VGG卷积神经网络或任何其他合适的网络(例如,ResNet))处理,以提取图像特征。类似地,每个生成的帧650可以由预先训练过的神经网络660处理,以提取它们的图像特征。在特定实施例中,每个原始帧610的(通过VGG网络615)提取的图像特征可以与对应的生成的帧650的(通过VGG网络660)提取的图像特征进行比较,以确定生成的帧650的内容损失690(由Lc表示)。例如,如果生成的帧650与对应的原始帧610非常相似,则内容损失690可能很小(期望的结果)。另一方面,如果生成的帧650与对应的原始帧610不相似,则内容损失690可能很大(不期望的结果)。在特定实施例中,可以将每个生成的帧650的提取特征输入到鉴别器670中,鉴别器670将确定输入帧是“伪的”(或由生成器640生成的)的可能性。如果生成的帧650看起来是自然的(或者不是内绘的),则鉴别器可以被“愚弄”而确定生成的帧650是“真实的”(或者不是由生成器640生成的)。类似地,也可以将原始帧610输入到鉴别器670中,使得鉴别器670可以确定原始帧610是“真实的”还是“伪的”。鉴别器670的输出可用于确定GAN网络的对抗损失680(由La表示)。帧序列的对抗损失680和对应的内容损失690可以迭代地用作损失函数(由L=Lc+La表示),以更新生成器640和鉴别器670,使得生成器640和鉴别器670中的每一个都更好地执行它们各自的任务(换句话说,两个网络的参数被更新以减少后续迭代中的损失)。一旦训练完成(例如,当损失函数低于某个阈值,或者已经使用足够大的训练样本集来训练GAN网络时),生成器640可以在推断时间中用于生成或内绘稀疏帧的缺失像素信息。
在特定实施例中,对抗损失La可以基于Wasserstein距离来定义,并用于执行鉴别器的频谱归一化。在特定实施例中,内容损失Lc可以将按帧(例如,使用VGG网络)提取的特征进行比较,并执行额外的时间正则化。内容损失可由以下等式表示:
其中,
If表示帧f处的原始帧;
I’f表示帧f处的样本数据集或损坏帧;
θ表示神经网络的可训练网络参数;
Φl表示VGG网络层l;
g表示生成器网络;
λl表示各个VGG层的权重;和
λt表示时间正则化的权重。
从概念上讲,损失函数Lc(θ)可以分为两部分。第一部分由l值范围内的第一次求和描绘,表示原始帧If和其对应的生成的帧g(I’f,θ)之间的内容比较。更具体地,该方程计算原始帧If的每个VGG层l和生成的帧g(I’f,θ)的对应VGG层l输出之间的差,将该差乘以VGG层l的权重λl,并对每个VGG层的结果求和。从概念上来说,结果表示生成的帧与对应的原始帧有多大差异,大的差异应该受到惩罚。损失函数还考虑了使用由l值范围内的第二次求和描绘的方程部分进行的时间正则化。在这里,测量生成的帧g(I’f,θ)随时间的变化。更具体地,由每个VGG层l输出的所生成的帧g(I’f,θ)随时间的变化由它们各自的权重λl来加权并被聚合。从概念上讲,因为这些帧是视频中的序列,所以顺序生成的帧之间的过量差异应该受到惩罚。在训练期间,网络参数θ可以被更新以最小化以这种方式定义的内容损失。
在训练完成之后,生成器640可以在操作中(或在推断时间)用于基于稀疏像素数据来完成完整的视频帧。在特定实施例中,生成器640可以用于优化计算机图形应用的中央凹渲染和/或图像传输应用的中央凹压缩。关于中央凹渲染,生成器640可以用于提高生成计算机图形的速度。例如,计算机图形应用(例如,AR/VR应用、游戏等)可以使用任何合适的渲染技术(例如,诸如光线跟踪的基于物理的渲染算法)来渲染稀疏像素数据。在更靠近中央凹区的区域中,所渲染的像素密度可能比更远离中央凹区的区域中更高(例如,中央凹区可以基于眼睛跟踪设备来确定,或者基于设备的透镜参数或通过应用来预先确定)。应用可以使用经训练的生成器640来填充缺失的像素信息,而不是以相同的方式渲染其余的像素。即使由机器学习模型(或生成器640)生成的像素可能不如由传统渲染算法可以生成的像素精确,但是由于观看者的中央凹视野限制,对于观看者来说,感知差异将很小或没有。
关于中央凹传输,发送器可以使用特定的实施例来有效地传输比原本所需的图像数据更少的图像数据,从而减少传输时间。例如,可以指示发送器向接收器发送视频。视频可以是预先存储的视频(例如,由相机捕获的视频、计算机生成的动画等)并包含帧序列。发送器可以基于观看者的中央凹区域对每个视频帧进行采样,并且仅将采样后的像素数据发送给接收器。一旦接收到采样后的像素数据,接收器可以使用经训练的生成器640来重建完整的视频帧。同样,即使由机器学习模型(或生成器640)生成的像素可能不如原始视频帧中的实际像素精确,但是由于观看者的中央凹视野限制,观看者的感知差异将很小或没有。
现在描述生成器和鉴别器的网络架构的进一步细节。图7A-图7D示出了根据特定实施例的生成器640的示例部件。图7A示出了生成器640的高层级架构。在特定实施例中,系统的生成器640可以是自动编码器,其包括四个匹配编码器块(例如,702、703、704和705)和解码器块(例如,707、708、709、710)以及瓶颈块(bottleneck block)706。虽然在该示例中示出了四对匹配编码器和解码器,但是也可以使用任何其他数量的匹配编码器和解码器对,例如三对、五对、七对、九对等。楔形块指示下采样和上采样。例如,编码器块702、703、704和705各自由楔形表示,该楔形从左侧开始比右侧更宽,从而表示特征图(feature map)的下采样。随着特征图被下采样,其空间维度会降低,但在特征计数上会变得更深。另一方面,解码器块707、708、709、710各自由楔形表示,该楔形从左侧开始比右侧更窄,从而表示特征图的上采样。上采样过程将特征图的降维返回到其原始维度。
在特定实施例中,生成器640可以将包含帧的样本数据集(例如,RGB和二进制掩码信息)的图像701作为输入。四个连续的编码器块702、703、704、705在空间维度上缩小输入的RGB信息,并增加特征计数。使用掩码卷积来处理输入的掩码。瓶颈块706以低空间分辨率处理最后一个编码器层705的输出。四个匹配解码器块707、708、709、710执行空间上采样,同时减少特征计数。在特定实施例中,利用跳跃连接(skip connection)(例如,由诸如块702和710、块703和709、块704和708以及块705和707的对称匹配块之间的箭头表示的)来连接匹配编码器和解码器。因此,每个解码器块(例如709)的输入是前一个块(例如708)的输出和对应的编码器块(例如703)的掩码输出。从概念上讲,跳跃连接有助于每个解码块保留所采样的像素信息的特征(使用掩码隔离)。此外,解码器块707、708、709、710可以是循环网络,该循环网络随着时间的推移保留它们的最终激活(由每个块上的圆环表示),使得它们的先前输出可以与它们的当前输入级联,建立循环系统。此功能有助于网络保留从先前帧中学习到的时空表示,并使用它们来生成当前帧。最后,最后一个解码器块710的输出是生成的帧711。
图7B提供了根据特定实施例的编码器块730(例如,702、703、704、705)的细节。黑色箭头表示RGB信息的处理流程,而虚线箭头表示二进制掩码信息的处理流程。在特定实施例中,RGB信息(例如从输入RGB样本提取的特征图)和相关联的二进制掩码信息可以由掩码卷积层732处理。然后,激活层734处理与RGB信息相关联的输出特征图。然后,激活层734的输出连同由掩码卷积层732输出的掩码特征一起被掩码卷积层736下采样。来自该掩码卷积层736的、与RGB信息相关联的输出特征图由另一个激活层738处理。激活层738的输出和来自掩码卷积层736的下采样掩码特征然后被传递到下一个编码器块或瓶颈块740。如图7A所示,激活层734的预下采样输出和来自掩码卷积层732的掩码特征经由跳跃连接被传递到对应的匹配解码器块。
图7C提供了根据特定实施例的瓶颈块740(例如706)的进一步细节。瓶颈块740可以将紧接在前的编码器块(例如,图7A中的705)的输出作为输入。瓶颈块可以使用卷积层742处理来自最后一个编码器块705的与RGB信息相关联的下采样特征图。然后,该卷积层742的输出由激活层744处理,激活层744的输出由另一卷积层746处理,该另一卷积层746的输出由另一激活层748处理。最后一个激活层748的输出然后可以被输出到第一解码器块750(例如,图7A中的707)。
图7D提供了根据特定实施例的解码器块750(例如,707、708、709、710)的进一步细节。每个解码器块750可以将紧接在前的块(例如,另一个解码器块750或瓶颈块740)的特征图输出作为输入。此外,每个解码器块经由前述的跳跃连接将匹配编码器块730的输出作为输入。具体地,跳跃连接将与RGB信息相关联的预下采样特征图和对应的掩码特征从对应的编码器块730发送到解码器块750。来自紧接在前的块的输入首先被上采样751,并且结果与来自对应的编码器740的预下采样特征图级联。因此,在级联点处,来自紧接在前的块的特征图和经由跳跃连接接收的特征图具有相同的维度。然后,掩码卷积层753使用经由跳跃连接接收的掩码特征来处理级联的结果。然后,由激活层754处理得到的特征图。然后,该激活层754的输出与来自解码器块750的先前迭代的激活输出被级联755。以这种方式,解码器块750随着时间的推移保留其最终激活以建立循环系统(换句话说,解码器块保留从其处理的其他先前帧中学习到的时空信息)。级联的结果然后经历另一次卷积756,并且卷积756的输出由最终激活层757处理。激活层757的输出然后被输出到下一个解码器块750(如果有的话),或者激活层757输出最终生成的帧。
图8A-图8C示出了根据特定实施例的鉴别器670的示例部件。图8A示出了鉴别器670架构的实施例。在所示的实施例中,预先训练过的VGG网络660(例如,VGG-19)的五个中间层各自被馈送到时间残差卷积块(temporal residual convolutional block)的序列中,这些卷积块的输出被组合以产生最终的标量评价(scalar critic)(例如,输入帧是否是“伪的”)。具体而言,如以上参考图6所讨论的,来自生成器640的生成的帧650可以被馈送到预先训练过的VGG网络660,并且来自该网络的输出可以由鉴别器670处理。转向图8A所示的实施例,VGG神经网络660可以使用多个网络层对输入帧执行空间推理(spatialreasoning)。VGG神经网络660的每一层的输出对应于生成的帧的不同抽象级别。
在特定实施例中,从VGG网络660的五个中间层810、820、830、840、850(或任何其他数量的中间层,例如一个、三个、七个、十个等)输出的信息可以通过鉴别器670的时间残差块序列(例如,811-815、821-825、831-835、841-845、851-855)随时间被聚合。与生成器640相反,鉴别器670一次处理一系列帧,因此可以推断时空关系。时间残差块通过仅在时间域中执行一维(1D)卷积来随时间聚合信息。转到图8A所示的例子,来自VGG conv1_2层810的输出可以由时间残差块811处理,时间残差块811可以对输入执行1D时间卷积,然后在增加特征深度的同时对空间维度进行下采样。这种类型的时间残差块可以被称为类型A块。由类型A时间残差块812、813和814顺序执行相同的操作。最后一个时间残差块814的输出然后由另一种类型的时间残差块815处理,该另一种类型的时间残差块815执行时间卷积而不执行下采样。这种类型的时间残差块可以被称为类型B块。然后,使用全连接层(fullyconnected layer)860,将类型B块815的输出和与其他VGG层(例如,820、830、840、850)相关联的输出进行组合。
对于其他每一个VGG层,过程都是相似的,但类型A块和类型B块的数量不同。例如,VGG conv2_2 820的输出在空间上小于VGG conv1_2 810的输出;因此,使用三个(而不是四个)类型A块821、822、823来执行时间卷积和下采样,直到特征图的空间维度具有类型B块所预期的期望的统一大小。最后一个类型A块823的输出然后由两个类型B块824的序列处理。结果,在到达全连接层860之前,VGG conv2_2层820的输出经历与其他VGG层(例如,810、830、840和850)的输出相同数量的时间卷积序列(在该示例中,五个)。例如,VGG conv3_2层830的输出由两个类型A块831、832和三个类型B块833、834、835的序列处理。VGG conv4_2层840的输出由一个类型A块841和四个类型B块842、843、844、845的序列处理。VGG conv5_2层850的输出不被类型A块处理(因为它已经在期望的空间维度上),但被五个类型B块851、852、853、854、855的序列处理。然后,使用全连接层860将五个VGG层810、820、830、840、850的最后一个类型B块815、825、835、845、855的输出进行组合,并且全连接层860的输出由激活层861处理,然后由另一个连接层862处理,以达到最终的标量评价(例如,该帧是否是“伪的”)。
图8B示出了类型A时间残差块880(例如,图8A中所示的块811-814、821-823、831-832和841)的实施例。类型A时间残差块880从其前一个块获取输入(例如,VGG层或另一个类型A块880的输出),并执行时间卷积881(例如,1D时间卷积)。然后,输出由激活层882处理,并且其结果被添加883到该时间残差块880的原始输入。然后,聚合的结果在空间维度上被下采样884,并输出到下一个块(例如,另一个类型A块880或类型B块890)。
图8C示出了类型B时间残差块890(例如,图8A中所示的块815、824-825、833-835、842-845和851-855)的实施例。类型B时间残差块890从其前一个块获取输入(例如,类型A块880或另一个类型B块890的输出),并执行时间卷积891(例如,1D时间卷积)。然后,输出由激活层892处理,并且其结果被添加893到该时间残差块890的原始输入,并输出到下一个块(例如,另一个类型B块890或全连接层860)。与类型A块880不同,类型B块890不执行下采样。
在特定实施例中,上述生成器640和鉴别器670可以被扩展以考虑时域中的数据,从而更好地处理时间相干的帧序列,并在没有闪烁(flicker)的情况下重建它。在特定实施例中,这可以通过用3D卷积代替2D卷积或者添加循环卷积层来实现。例如,关于生成器640,每个编码器块(例如,图7A中的702-705)中的最后一个卷积层可以用卷积LSTM网络代替。例如,参考图7B,编码器块730中的卷积层736可以用卷积LSTM网络代替。关于鉴别器670,所有2D卷积层可以用3D卷积层代替。例如,两种类型的时间残差块880和890中的卷积层881和891可以用3D卷积层代替。可以使用自然视频序列(例如,由相机捕获的视频序列,其可以包括注释、视听特征等),使用通过时间的反向传播(backpropagation through time)(由于循环层),训练修订的生成器640和鉴别器640。在特定实施例中,小批量(minibatch)的图像可以用短视频序列代替。每个短视频序列可以被配置为包括16帧或任何其他合适数量的帧(例如,4帧、8帧、32帧等)。
图9示出了根据特定实施例的使用经训练的生成器机器学习模型从样本数据集生成完整图像的示例方法900。该过程可以在步骤910开始,在步骤910,计算系统可以访问分别与一个或更多个帧的序列相关联的一个或更多个样本数据集。该一个或更多个样本数据集中的每一个都包括相关联的帧的不完整像素信息(例如,子样本数据可用于一些像素,但不能用于所有像素)。在特定实施例中,可以使用基于物理的计算机图形渲染模块(例如,执行光线跟踪或光线投射)或者根据对具有完整颜色信息的现有帧的颜色采样来生成一个或更多个样本数据集。例如,系统(可以是访问样本数据集的同一计算系统或不同的计算系统)可以确定在与样本数据集相关联的帧内的一个或更多个感兴趣区域(例如,子样本位置)。然后,系统可以使用一个或更多个感兴趣区域生成不完整像素信息。例如,系统可以执行可见度测试并使用着色算法来确定那些感兴趣区域的颜色,或者系统可以对具有完整颜色信息的现有帧内的那些感兴趣区域处的颜色进行采样。在特定实施例中,一个或更多个样本数据集中的每一个可以包括具有像素颜色(例如,RGB)的图像和指示这些像素颜色的位置的二进制掩码,这些像素颜色对应于与样本数据集相关联的不完整像素信息。然后,生成样本数据集的系统可以将稀疏数据发送到另一个系统,或者在以后的时间它自己处理数据以重建完整的帧。
在特定实施例中,感兴趣区域的密度在整个样本数据集中可能不是空间均匀的。例如,不完整像素信息的对应于一个或更多个感兴趣区域的一个或更多个部分包括比不完整像素信息的其他部分更密集的像素样本。在特定实施例中,密度分布可以基于用户的注视,因为用户的注视确定了用户的中央凹区域和/或任何适用的光学失真。例如,系统可以确定用户的注视方向(例如,基于由眼睛跟踪设备获得的眼睛跟踪数据),并且基于所确定的用户的注视方向来确定一个或更多个感兴趣区域。
在步骤920,系统可以使用第一机器学习模型,基于一个或更多个样本数据集生成一个或更多个帧,其中一个或更多个生成的帧中的每一个都具有完整像素信息。第一机器学习模型(例如GAN网络的生成器)被配置为保留与一个或更多个生成的帧相关联的时空表示。在特定实施例中,第一机器学习模型包括串联连接的多个编码器和多个解码器(其可以是循环解码器)(例如,如图7A中的示例所示)。在特定实施例中,每个编码器的输出可以经由跳跃连接被传递到对应的匹配解码器。例如,多个编码器可以包括第一编码器和最后一个编码器,并且多个解码器可以包括第一解码器和最后一个解码器。第一编码器的输出可以被配置为最后一个解码器的输入,并且最后一个编码器的输出可以被配置为第一解码器的输入。
在步骤930,系统可以访问下一个样本数据集,该下一个样本数据集包括一个或更多个帧的序列之后的下一个帧的不完整像素信息。在步骤940,系统可以使用第一机器学习模型,基于下一个样本数据集生成下一个帧。该下一个帧可以具有完整像素信息,该完整像素信息包括下一个样本数据集的不完整像素信息以及附加像素信息,基于下一个样本数据集和由第一机器学习模型保留的时空表示来生成附加像素信息。
在特定实施例中,前述的第一机器学习模型可以是GAN网络的生成器。在特定实施例中,生成器可以如下训练。训练系统可以分别从多个训练帧生成多个训练样本数据集。该系统可以使用第一机器学习模型,分别基于多个训练样本数据集生成多个重建帧。然后,该系统可以使用第二机器学习模型(例如,鉴别器)来确定多个重建帧是由第一机器学习模型生成的可能性。然后,该系统可以基于由第二机器学习模型确定的每个可能性的正确性(例如,通过对抗损失来度量)来更新第一机器学习模型。在特定实施例中,第一机器学习模型的更新还可以基于多个重建帧和多个训练帧之间的比较(例如,内容损失)。
图10示出了与社交网络系统相关联的示例网络环境1000。网络环境1000包括通过网络1010连接到彼此的客户端系统1030、社交网络系统1060和第三方系统1070。尽管图10示出了客户端系统1030、社交网络系统1060、第三方系统1070和网络1010的特定布置,但是本公开设想了客户端系统1030、社交网络系统1060、第三方系统1070和网络1010的任何合适的布置。作为示例而不是作为限制,客户端系统1030、社交网络系统1060和第三方系统1070中的两个或更多个可以绕过网络1010直接连接到彼此。作为另一示例,客户端系统1030、社交网络系统1060和第三方系统1070中的两个或更多个可以全部或部分地在物理上或逻辑上彼此位于同一位置。例如,AR/VR头戴式装置1030可以通过短程无线通信(例如,蓝牙)连接到本地计算机或移动计算设备1070。此外,尽管图10示出了特定数量的客户端系统1030、社交网络系统1060、第三方系统1070和网络1010,但是本公开设想了任何合适数量的客户端系统1030、社交网络系统1060、第三方系统1070和网络1010。作为示例而不是作为限制,网络环境1000可以包括多个客户端系统1030、社交网络系统1060、第三方系统1070和网络1010。
本公开设想了任何合适的网络1010。作为示例而不是作为限制,网络1010的一个或更多个部分可以包括短程无线网络(例如,蓝牙、Zigbee等)、自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、无线广域网(WWAN)、城域网(MAN)、互联网的一部分、公共交换电话网(PSTN)的一部分、蜂窝电话网或这些网络中的两个或更多个的组合。网络1010可以包括一个或更多个网络1010。
链路1050可以将客户端系统1030、社交网络系统1060和第三方系统1070连接到通信网络1010或连接到彼此。本公开设想了任何合适的链路1050。在特定实施例中,一个或更多个链路1050包括一个或更多个有线(诸如例如数字用户线路(DSL)或基于电缆的数据服务接口规范(DOCSIS))链路、无线(诸如例如Wi-Fi、全球互通微波接入(WiMAX)、蓝牙)链路、或光(诸如例如同步光网络(SONET)或同步数字体系(SDH))链路。在特定实施例中,一个或更多个链路1050各自包括自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、互联网的一部分、PSTN的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一链路1050、或两个或更多个这种链路1050的组合。链路1050不需要在整个网络环境1000中是相同的。一个或更多个第一链路1050可以在一个或更多个方面上不同于一个或更多个第二链路1050。
在特定实施例中,客户端系统1030可以是一种电子设备,该电子设备包括硬件、软件或嵌入式逻辑组件、或两个或更多个这样的组件的组合,并且能够执行由客户端系统1030实现或支持的适当功能。作为示例而不是作为限制,客户端系统1030可以包括计算机系统,例如VR/AR头戴式装置、台式计算机、笔记本或膝上型计算机、上网本、平板计算机、电子书阅读器、GPS设备、相机、个人数字助理(PDA)、手持电子设备、蜂窝电话、智能手机、增强/虚拟现实设备、其他合适的电子设备、或其任何合适的组合。本公开设想了任何合适的客户端系统1030。客户端系统1030可以使客户端系统1030处的网络用户能够访问网络1010。客户端系统1030可以使其用户能够与其他客户端系统1030处的其他用户通信。
在特定实施例中,社交网络系统1060可以是可以托管在线社交网络的网络可寻址计算系统。社交网络系统1060可以生成、存储、接收并发送社交网络数据(例如,用户简档数据、概念简档数据、社交图信息或与在线社交网络相关的其他合适的数据)。社交网络系统1060可以由网络环境1000的其他组件直接地或经由网络1010来访问。作为示例而不是作为限制,客户端系统1030可以使用web浏览器或与社交网络系统1060相关联的原生(native)应用(例如,移动社交网络应用、消息传送应用、另一合适的应用或其任何组合)直接地或经由网络1010来访问社交网络系统1060。在特定实施例中,社交网络系统1060可以包括一个或更多个服务器1062。每个服务器1062可以是单一服务器(unitary server)或跨越多台计算机或多个数据中心的分布式服务器。服务器1062可以具有各种类型,诸如,例如且没有限制,web服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、适合于执行本文描述的功能或过程的另一服务器、或者其任何组合。在特定实施例中,每个服务器1062可以包括用于执行由服务器1062实现或支持的适当功能的硬件、软件或嵌入式逻辑组件、或两个或更多个这样的部件的组合。在特定实施例中,社交网络系统1060可以包括一个或更多个数据储存器1064。数据储存器1064可以用于存储各种类型的信息。在特定实施例中,可以根据特定的数据结构来组织存储在数据储存器1064中的信息。在特定实施例中,每个数据储存器1064可以是关系数据库、纵列(columnar)数据库、相关性数据库或其他合适的数据库。尽管本公开描述或示出了特定类型的数据库,但是本公开设想了任何合适类型的数据库。特定实施例可以提供使客户端系统1030、社交网络系统1060或第三方系统1070能够管理、检索、修改、添加或删除存储在数据储存器1064中的信息的接口。
在特定实施例中,社交网络系统1060可以在一个或更多个数据储存器1064中存储一个或更多个社交图。在特定实施例中,社交图可以包括多个节点——其可以包括多个用户节点(各自对应于特定用户)或多个概念节点(各自对应于特定概念)——以及连接节点的多条边。社交网络系统1060可以向在线社交网络的用户提供与其他用户通信和交互的能力。在特定实施例中,用户可以经由社交网络系统1060加入在线社交网络,且然后添加与社交网络系统1060中的他们想要关连到的多个其他用户的关连(connection)(例如,关系)。在本文,术语“朋友”可以指社交网络系统1060的任何其他用户,用户经由社交网络系统1060与任何其他用户形成关连、关联(association)或关系。
在特定实施例中,社交网络系统1060可以向用户提供对由社交网络系统1060支持的各种类型的项目或对象采取动作的能力。作为示例而不是作为限制,项目和对象可以包括社交网络系统1060的用户可以属于的群组或社交网络、用户可能感兴趣的事件或日历条目、用户可以使用的基于计算机的应用、允许用户经由服务来购买或销售商品的交易、用户可以执行的与广告的交互、或其他合适的项目或对象。用户可以与能够在社交网络系统1060中或者由第三方系统1070的外部系统表示的任何事物进行交互,第三方系统1070与社交网络系统1060分离并且经由网络1010耦合到社交网络系统1060。
在特定实施例中,社交网络系统1060能够链接各种实体。作为示例而不是作为限制,社交网络系统1060可以使用户能够彼此交互以及从第三方系统1070或其他实体接收内容,或者允许用户通过应用编程接口(API)或其他通信渠道与这些实体交互。
在特定实施例中,第三方系统1070可以包括通信地耦合到客户端系统1030的本地计算设备。例如,如果客户端系统1030是AR/VR头戴式装置,则第三方系统1070可以是被配置为执行必要的图形渲染并将渲染结果提供给AR/VR头戴式装置1030用于后续处理和/或显示的本地膝上型电脑。在特定实施例中,第三方系统1070可以执行与客户端系统1030相关联的软件(例如,渲染引擎)。第三方系统1070可以生成具有视频帧的稀疏像素信息的样本数据集,并将稀疏数据发送到客户端系统1030。客户端系统1030然后可以生成从样本数据集重建的帧。
在特定实施例中,第三方系统1070可以包括一种或更多种类型的服务器、一个或更多个数据储存器、一个或更多个接口(包括但不限于API)、一个或更多个web服务、一个或更多个内容源、一个或更多个网络或任何其他合适的组件(例如,服务器可以与这些组件通信)。第三方系统1070可以由与操作社交网络系统1060的实体不同的实体进行操作。然而,在特定实施例中,社交网络系统1060和第三方系统1070可以结合彼此来操作以向社交网络系统1060或第三方系统1070的用户提供社交网络服务。在这个意义上,社交网络系统1060可以提供平台或骨干网,其他系统(例如第三方系统1070)可以使用该平台或骨干网来在整个互联网上向用户提供社交网络服务和功能。
在特定实施例中,第三方系统1070可以包括第三方内容对象提供者(例如,包括本文描述的稀疏样本数据集)。第三方内容对象提供者可以包括可以被传送到客户端系统1030的内容对象的一个或更多个源。作为示例而不是作为限制,内容对象可以包括关于用户感兴趣的事情或活动的信息,诸如例如电影放映时间、电影评论、餐馆评论、餐馆菜单、产品信息和评论或其他合适的信息。作为另一个示例而不是作为限制,内容对象可以包括激励内容对象(例如优惠券、折扣券、礼品券或其他合适的激励对象)。
在特定实施例中,社交网络系统1060还包括用户生成的内容对象,其可以增强用户与社交网络系统1060的交互。用户生成的内容可以包括用户可以添加、上传、发送或“发布”到社交网络系统1060的任何内容。作为示例而不是作为限制,用户从客户端系统1030向社交网络系统1060传递帖子。帖子可以包括数据,例如状态更新或其他文本数据、位置信息、照片、视频、链接、音乐或其他类似数据或媒体。内容还可以由第三方通过“通信渠道”(例如动态消息(newsfeed)或流)来添加到社交网络系统1060。
在特定实施例中,社交网络系统1060可以包括各种服务器、子系统、程序、模块、日志和数据储存器。在特定实施例中,社交网络系统1060可以包括下列项中的一个或更多个:web服务器、动作记录器、API请求服务器、相关性和排序引擎、内容对象分类器、通知控制器、动作日志、第三方内容对象暴露日志、推理模块、授权/隐私服务器、搜索模块、广告定位模块(advertisement-targeting module)、用户界面模块、用户简档储存器、关连储存器、第三方内容储存器或位置储存器。社交网络系统1060还可以包括合适的组件,例如网络接口、安全机构、负载平衡器、故障转移服务器、管理和网络操作控制台、其他合适的组件、或其任何合适的组合。在特定实施例中,社交网络系统1060可以包括用于存储用户简档的一个或更多个用户简档储存器。用户简档可以包括例如,传记信息、人口统计信息、行为信息、社交信息或其他类型的描述性信息(例如工作经历、教育历史、爱好或偏好、兴趣、亲和性或位置)。兴趣信息可以包括与一个或更多个类别相关的兴趣。类别可以是一般的或特定的。作为示例而不是作为限制,如果用户“赞(like)”关于一种品牌的鞋的文章,则该类别可以是品牌,或者“鞋”或“衣服”的一般类别。关连储存器可以用于存储关于用户的关连信息。关连信息可以指示具有相似或共同的工作经历、组成员资格、爱好、教育历史或者以任何方式相关或共享共同属性的用户。关连信息还可以包括在不同用户和内容(内部和外部)之间的用户定义的关连。web服务器可以用于经由网络1010将社交网络系统1060链接到一个或更多个客户端系统1030或一个或更多个第三方系统1070。web服务器可以包括邮件服务器或用于在社交网络系统1060和一个或更多个客户端系统1030之间接收并路由(routing)消息的其他消息传送功能。API请求服务器可以允许第三方系统1070通过调用一个或更多个API来访问来自社交网络系统1060的信息。动作记录器可以用于从web服务器接收关于用户在社交网络系统1060上或之外的动作的通信。结合动作日志,可以维护用户暴露于第三方内容对象的第三方内容对象日志。通知控制器可以向客户端系统1030提供关于内容对象的信息。信息可以作为通知被推送到客户端系统1030,或者信息可以响应于从客户端系统1030接收的请求而从客户端系统1030中被拉取。授权服务器可以用于实施社交网络系统1060的用户的一个或更多个隐私设置。用户的隐私设置确定与用户相关联的特定信息可以如何被共享。授权服务器可以例如通过设置适当的隐私设置来允许用户选择加入或选择退出使他们的动作由社交网络系统1060记录或者与其他系统(例如,第三方系统1070)共享。第三方内容对象储存器可以用于存储从第三方(例如第三方系统1070)接收的内容对象。位置储存器可以用于存储从客户端系统1030接收的与用户相关联的位置信息。广告定价模块可以组合社交信息、当前时间、位置信息或其他合适的信息以用通知的形式向用户提供相关广告。
图11示出了示例计算机系统1100。在特定实施例中,一个或更多个计算机系统1100执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在特定实施例中,一个或更多个计算机系统1100提供本文描述或示出的功能。在特定实施例中,在一个或更多个计算机系统1100上运行的软件执行本文描述或示出的一个或更多个方法的一个或更多个步骤,或者提供本文描述或示出的功能。特定实施例包括一个或更多个计算机系统1100的一个或更多个部分。在本文,在适当的情况下,对计算机系统的引用可以包括计算设备,反之亦然。此外,在适当的情况下,对计算机系统的引用可以包括一个或更多个计算机系统。
本公开设想了任何合适数量的计算机系统1100。本公开设想了采取任何合适的物理形式的计算机系统1100。作为示例而不是作为限制,计算机系统1100可以是嵌入式计算机系统、片上系统(SOC)、单板计算机系统(SBC)(诸如例如,模块上计算机(COM)或模块上系统(SOM))、台式计算机系统、膝上型或笔记本计算机系统、交互式信息亭、大型机、计算机系统网状网、移动电话、个人数字助理(PDA)、服务器、平板计算机系统、增强/虚拟现实设备或者这些中的两个或更多个的组合。在适当的情况下,计算机系统1100可以包括一个或更多个计算机系统1100;可以是整体式的或分布式的;跨越多个位置;跨越多台机器;跨越多个数据中心;或者驻留在云中,云可以包括在一个或更多个网络中的一个或更多个云部件。在适当的情况下,一个或更多个计算机系统1100可以在没有实质性空间或时间限制的情况下执行本文描述或示出的一个或更多个方法的一个或更多个步骤。作为示例而不是作为限制,一个或更多个计算机系统1100可以实时地或以批处理模式来执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在适当的情况下,一个或更多个计算机系统1100可以在不同的时间或在不同的位置处执行本文描述或示出的一个或更多个方法的一个或更多个步骤。
在特定实施例中,计算机系统1100包括处理器1102、存储器1104、存储装置1106、输入/输出(I/O)接口1108、通信接口1110和总线1112。尽管本公开描述并示出了具有在特定布置中的特定数量的特定部件的特定计算机系统,但是本公开设想了具有在任何合适布置中的任何合适数量的任何合适部件的任何合适的计算机系统。
在特定实施例中,处理器1102包括用于执行指令(例如构成计算机程序的那些指令)的硬件。作为示例而不是作为限制,为了执行指令,处理器1102可以从内部寄存器、内部高速缓存、存储器1104或存储装置1106中检索(或取回)指令;将这些指令解码并执行它们;以及然后将一个或更多个结果写到内部寄存器、内部高速缓存、存储器1104或存储装置1106。在特定实施例中,处理器1102可以包括用于数据、指令或地址的一个或更多个内部高速缓存。在适当的情况下,本公开设想了包括任何合适数量的任何合适的内部高速缓存的处理器1102。作为示例而不是作为限制,处理器1102可以包括一个或更多个指令高速缓存、一个或更多个数据高速缓存、以及一个或更多个转译后备缓冲区(TLB)。在指令高速缓存中的指令可以是在存储器1104或存储装置1106中的指令的副本,并且指令高速缓存可以加速处理器1102对那些指令的检索。在数据高速缓存中的数据可以是:在存储器1104或存储装置1106中的数据的副本,用于供在处理器1102处执行的指令操作;在处理器1102处执行的先前指令的结果,用于由在处理器1102处执行的后续指令访问或者用于写到存储器1104或存储装置1106;或其他合适的数据。数据高速缓存可以加速由处理器1102进行的读或写操作。TLB可以加速关于处理器1102的虚拟地址转译。在特定实施例中,处理器1102可以包括用于数据、指令或地址的一个或更多个内部寄存器。在适当的情况下,本公开设想了包括任何合适数量的任何合适的内部寄存器的处理器1102。在适当的情况下,处理器1102可以包括一个或更多个算术逻辑单元(ALU);可以是多核处理器;或者包括一个或更多个处理器1102。尽管本公开描述并示出了特定的处理器,但是本公开设想了任何合适的处理器。
在特定实施例中,存储器1104包括主存储器,其用于存储供处理器1102执行的指令或供处理器1102操作的数据。作为示例而不是作为限制,计算机系统1100可以将指令从存储装置1106或另一个源(诸如例如,另一个计算机系统1100)加载到存储器1104。处理器1102然后可以将指令从存储器1104加载到内部寄存器或内部高速缓存。为了执行指令,处理器1102可以从内部寄存器或内部高速缓存中检索指令并将它们解码。在指令的执行期间或之后,处理器1102可以将一个或更多个结果(其可以是中间结果或最终结果)写到内部寄存器或内部高速缓存。处理器1102然后可以将这些结果中的一个或更多个写到存储器1104。在特定实施例中,处理器1102仅执行在一个或更多个内部寄存器或内部高速缓存中或在存储器1104(而不是存储装置1106或其他地方)中的指令,并且仅对在一个或更多个内部寄存器或内部高速缓存中或在存储器1104(而不是存储装置1106或其他地方)中的数据进行操作。一个或更多个存储器总线(其可以各自包括地址总线和数据总线)可以将处理器1102耦合到存储器1104。如下所述,总线1112可以包括一个或更多个存储器总线。在特定实施例中,一个或更多个存储器管理单元(MMU)驻留在处理器1102和存储器1104之间,并且便于由处理器1102请求的对存储器1104的访问。在特定实施例中,存储器1104包括随机存取存储器(RAM)。在适当的情况下,该RAM可以是易失性存储器。在适当的情况下,该RAM可以是动态RAM(DRAM)或静态RAM(SRAM)。此外,在适当的情况下,该RAM可以是单端口RAM或多端口RAM。本公开设想了任何合适的RAM。在适当的情况下,存储器1104可以包括一个或更多个存储器1104。尽管本公开描述并示出了特定的存储器,但是本公开设想了任何合适的存储器。
在特定实施例中,存储装置1106包括用于数据或指令的大容量存储装置。作为示例而不是作为限制,存储装置1106可以包括硬盘驱动器(HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器、或这些中的两个或更多个的组合。在适当的情况下,存储装置1106可以包括可移动或不可移动(或固定)介质。在适当的情况下,存储装置1106可以在计算机系统1100的内部或外部。在特定实施例中,存储装置1106是非易失性固态存储器。在特定实施例中,存储装置1106包括只读存储器(ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可变ROM(EAROM)、或闪存、或这些中的两个或更多个的组合。本公开设想了采用任何合适的物理形式的大容量存储装置1106。在适当的情况下,存储装置1106可以包括便于在处理器1102和存储装置1106之间的通信的一个或更多个存储装置控制单元。在适当的情况下,存储装置1106可以包括一个或更多个存储装置1106。尽管本公开描述并示出了特定的存储装置,但是本公开设想了任何合适的存储装置。
在特定实施例中,I/O接口1108包括为在计算机系统1100和一个或更多个I/O设备之间的通信提供一个或更多个接口的硬件、软件或两者。在适当的情况下,计算机系统1100可以包括这些I/O设备中的一个或更多个。这些I/O设备中的一个或更多个可以实现在人和计算机系统1100之间的通信。作为示例而不是作为限制,I/O设备可以包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静态摄像机、触笔、平板计算机、触摸屏、跟踪球、视频摄像机、另一个合适的I/O设备、或这些设备中的两个或更多个的组合。I/O设备可以包括一个或更多个传感器。本公开设想了任何合适的I/O设备以及用于它们的任何合适的I/O接口1108。在适当的情况下,I/O接口1108可以包括使处理器1102能够驱动这些I/O设备中的一个或更多个的一个或更多个设备或软件驱动器。在适当的情况下,I/O接口1108可以包括一个或更多个I/O接口1108。尽管本公开描述并示出了特定的I/O接口,但是本公开设想了任何合适的I/O接口。
在特定实施例中,通信接口1110包括提供用于在计算机系统1100和一个或更多个其他计算机系统1100或一个或更多个网络之间的通信(例如,基于包(packet-based)的通信)的一个或更多个接口的硬件、软件或两者。作为示例而不是作为限制,通信接口1110可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(NIC)或网络适配器,或者用于与无线网络(例如WI-FI网络)进行通信的无线NIC(WNIC)或无线适配器。本公开设想了任何合适的网络和用于它的任何合适的通信接口1110。作为示例而不是作为限制,计算机系统1100可以与自组织网络、个域网(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)或互联网的一个或更多个部分、或这些中的两个或更多个的组合进行通信。这些网络中的一个或更多个的一个或更多个部分可以是有线的或无线的。作为示例,计算机系统1100可以与无线PAN(WPAN)(诸如,例如,蓝牙WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(诸如,例如,全球移动通信系统(GSM)网络)、或其他合适的无线网络、或这些中的两个或更多个的组合进行通信。在适当的情况下,计算机系统1100可以包括用于这些网络中的任一个的任何合适的通信接口1110。在适当的情况下,通信接口1110可以包括一个或更多个通信接口1110。尽管本公开描述并示出了特定的通信接口,但是本公开设想了任何合适的通信接口。
在特定实施例中,总线1112包括将计算机系统1100的部件耦合到彼此的硬件、软件或两者。作为示例而不是作为限制,总线1112可以包括加速图形端口(AGP)或其他图形总线、扩展工业标准体系结构(EISA)总线、前端总线(FSB)、HYPERTRANSPORT(HT)互连、工业标准体系结构(ISA)总线、INFINIBAND互连、低引脚数(LPC)总线、存储器总线,微通道体系结构(MCA)总线、外围部件互连(PCI)总线、PCI-Express(PCIe)总线、串行高级技术附件(SATA)总线、视频电子标准协会本地(VLB)总线、或任何其他合适的总线、或这些中的两个或更多个的组合。在适当的情况下,总线1112可以包括一个或更多个总线1112。尽管本公开描述并示出了特定总线,但是本公开设想了任何合适的总线或互连。
在本文,在适当的情况下,一个或更多个计算机可读非暂时性存储介质可以包括一个或更多个基于半导体的或其他集成电路(IC)(诸如例如,现场可编程门阵列(FPGA)或专用IC(ASIC))、硬盘驱动器(HDD)、混合硬盘驱动器(HHD)、光盘、光盘驱动器(ODD)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(FDD)、磁带、固态驱动器(SSD)、RAM驱动器、安全数字(SECURE DIGITAL)卡或驱动器、任何其他合适的计算机可读非暂时性存储介质、或这些中的两个或更多个的任何合适组合。在适当的情况下,计算机可读非暂时性存储介质可以是易失性的、非易失性的或者易失性和非易失性的组合。
本文中,除非另有明确指示或通过上下文另有指示,否则“或”是包括性的而非排他性的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“A或B”意指“A、B、或两者”。此外,除非另有明确指示或通过上下文另有指示,否则“和”既是联合的又是各自的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“A和B”意指“A和B,联合地或各自地”。
本公开的范围包括本领域中的普通技术人员将理解的对本文描述或示出的示例实施例的所有改变、替换、变化、变更和修改。本公开的范围不限于本文描述或示出的示例实施例。此外,尽管本公开将本文的相应实施例描述并示为包括特定的部件、元件、特征、功能、操作或步骤,但是这些实施例中的任何一个可以包括本领域中的普通技术人员将理解的在本文任何地方描述或示出的任何部件、元件、特征、功能、操作或步骤的任何组合或置换。此外,在所附权利要求中对适合于、被布置成、能够、被配置成、实现来、可操作来、或操作来执行特定功能的装置或系统或装置或系统的部件的引用包括该装置、系统、部件,无论它或那个特定功能是否被激活、开启或解锁,只要该装置、系统或部件是这样被调整、被布置、使能够、被配置、被实现、可操作的、或操作的。此外,尽管本公开将特定实施例描述或示为提供特定优点,但是特定实施例可以提供这些优点中的一些、全部或不提供这些优点。
Claims (34)
1.一种方法,包括由计算系统:
分别访问与一个或更多个帧的序列相关联的一个或更多个样本数据集,其中所述一个或更多个样本数据集中的每一个包括相关联的帧的不完整像素信息;
使用第一机器学习模型,基于所述一个或更多个样本数据集生成所述一个或更多个帧,其中一个或更多个生成的帧中的每一个都具有完整像素信息,其中所述第一机器学习模型被配置为保留与所述一个或更多个生成的帧相关联的时空表示;
访问下一个样本数据集,所述下一个样本数据集包括所述一个或更多个帧的序列之后的下一个帧的不完整像素信息;和
使用所述第一机器学习模型,基于所述下一个样本数据集生成所述下一个帧,其中所述下一个帧具有包括所述下一个样本数据集的不完整像素信息以及附加像素信息的完整像素信息,基于所述下一个样本数据集和由所述第一机器学习模型保留的时空表示来生成所述附加像素信息。
2.根据权利要求1所述的方法,其中所述第一机器学习模型通过以下方式来训练:
分别从多个训练帧生成多个训练样本数据集;
使用所述第一机器学习模型,分别基于所述多个训练样本数据集生成多个重建帧;
使用第二机器学习模型确定所述多个重建帧是由所述第一机器学习模型生成的可能性;和
基于由所述第二机器学习模型确定的每个可能性的正确性来更新所述第一机器学习模型。
3.根据权利要求2所述的方法,其中所述第一机器学习模型的更新还基于所述多个重建帧和所述多个训练帧之间的比较。
4.根据权利要求1所述的方法,
其中所述第一机器学习模型包括串联连接的多个编码器和多个解码器,所述多个编码器包括第一编码器和最后一个编码器,并且所述多个解码器包括第一解码器和最后一个解码器;
其中所述第一编码器的输出被配置为所述最后一个解码器的输入;和
其中所述最后一个编码器的输出被配置为所述第一解码器的输入。
5.根据权利要求4所述的方法,其中所述多个解码器是循环解码器。
6.根据权利要求1所述的方法,还包括:
使用基于物理的计算机图形渲染模块生成所述一个或更多个样本数据集。
7.根据权利要求6所述的方法,其中所述一个或更多个样本数据集中的至少一个样本数据集的生成包括:
确定在与该样本数据集相关联的帧内的一个或更多个感兴趣区域;
使用所述一个或更多个感兴趣区域生成所述不完整像素信息;
其中所述不完整像素信息的与所述一个或更多个感兴趣区域相对应的一个或更多个部分包括比所述不完整像素信息的其他部分更密集的像素样本。
8.根据权利要求7所述的方法,还包括:
基于由眼睛跟踪设备获得的眼睛跟踪数据来确定用户的注视方向;
其中所述一个或更多个感兴趣区域的确定基于所确定的用户的注视方向。
9.根据权利要求1所述的方法,其中所述一个或更多个样本数据集中的每一个包括:
具有像素颜色的图像,所述像素颜色对应于与该样本数据集相关联的不完整像素信息;和
指示所述像素颜色的位置的二进制掩码。
10.一个或更多个计算机可读非暂时性存储介质,其体现软件,所述软件在被执行时可操作来:
分别访问与一个或更多个帧的序列相关联的一个或更多个样本数据集,其中所述一个或更多个样本数据集中的每一个包括相关联的帧的不完整像素信息;
使用第一机器学习模型,基于所述一个或更多个样本数据集生成所述一个或更多个帧,其中一个或更多个生成的帧中的每一个都具有完整像素信息,其中所述第一机器学习模型被配置为保留与所述一个或更多个生成的帧相关联的时空表示;
访问下一个样本数据集,所述下一个样本数据集包括所述一个或更多个帧的序列之后的下一个帧的不完整像素信息;和
使用所述第一机器学习模型,基于所述下一个样本数据集生成所述下一个帧,其中所述下一个帧具有包括所述下一个样本数据集的不完整像素信息以及附加像素信息的完整像素信息,基于所述下一个样本数据集和由所述第一机器学习模型保留的时空表示来生成所述附加像素信息。
11.根据权利要求10所述的介质,其中所述第一机器学习模型通过包括以下操作的过程来训练:
分别从多个训练帧生成多个训练样本数据集;
使用所述第一机器学习模型,分别基于所述多个训练样本数据集生成多个重建帧;
使用第二机器学习模型确定所述多个重建帧是由所述第一机器学习模型生成的可能性;和
基于由所述第二机器学习模型确定的每个可能性的正确性来更新所述第一机器学习模型。
12.根据权利要求11所述的介质,其中所述第一机器学习模型的更新还基于所述多个重建帧和所述多个训练帧之间的比较。
13.根据权利要求10所述的介质,
其中所述第一机器学习模型包括串联连接的多个编码器和多个解码器,所述多个编码器包括第一编码器和最后一个编码器,并且所述多个解码器包括第一解码器和最后一个解码器;
其中所述第一编码器的输出被配置为所述最后一个解码器的输入;和
其中所述最后一个编码器的输出被配置为所述第一解码器的输入。
14.根据权利要求13所述的介质,其中所述多个解码器是循环解码器。
15.根据权利要求10所述的介质,其中所述软件在被执行时还可操作来:
使用基于物理的计算机图形渲染模块生成所述一个或更多个样本数据集。
16.一种系统,包括:一个或更多个处理器;以及耦合到一个或更多个所述处理器的一个或更多个计算机可读非暂时性存储介质,并且所述一个或更多个计算机可读非暂时性存储介质包括当由一个或更多个所述处理器执行时可操作来使所述系统执行以下操作的指令:
分别访问与一个或更多个帧的序列相关联的一个或更多个样本数据集,其中所述一个或更多个样本数据集中的每一个包括相关联的帧的不完整像素信息;
使用第一机器学习模型,基于所述一个或更多个样本数据集生成所述一个或更多个帧,其中一个或更多个生成的帧中的每一个都具有完整像素信息,其中所述第一机器学习模型被配置为保留与所述一个或更多个生成的帧相关联的时空表示;
访问下一个样本数据集,所述下一个样本数据集包括所述一个或更多个帧的序列之后的下一个帧的不完整像素信息;和
使用所述第一机器学习模型,基于所述下一个样本数据集生成所述下一个帧,其中所述下一个帧具有包括所述下一个样本数据集的不完整像素信息以及附加像素信息的完整像素信息,基于所述下一个样本数据集和由所述第一机器学习模型保留的时空表示来生成所述附加像素信息。
17.根据权利要求16所述的系统,其中所述第一机器学习模型通过包括以下操作的过程来训练:
分别从多个训练帧生成多个训练样本数据集;
使用所述第一机器学习模型,分别基于所述多个训练样本数据集生成多个重建帧;
使用第二机器学习模型确定所述多个重建帧是由所述第一机器学习模型生成的可能性;和
基于由所述第二机器学习模型确定的每个可能性的正确性来更新所述第一机器学习模型。
18.根据权利要求17所述的系统,其中所述第一机器学习模型的更新还基于所述多个重建帧和所述多个训练帧之间的比较。
19.根据权利要求16所述的系统,
其中所述第一机器学习模型包括串联连接的多个编码器和多个解码器,所述多个编码器包括第一编码器和最后一个编码器,并且所述多个解码器包括第一解码器和最后一个解码器;
其中所述第一编码器的输出被配置为所述最后一个解码器的输入;和
其中所述最后一个编码器的输出被配置为所述第一解码器的输入。
20.根据权利要求16所述的系统,其中,所述一个或更多个计算机可读非暂时性存储介质还包括当由一个或更多个所述处理器执行时可操作来使所述系统执行以下操作的指令:
使用基于物理的计算机图形渲染模块生成所述一个或更多个样本数据集。
21.一种方法,包括由计算系统:
分别访问与一个或更多个帧的序列相关联的一个或更多个样本数据集,其中所述一个或更多个样本数据集中的每一个包括相关联的帧的不完整像素信息;
使用第一机器学习模型,基于所述一个或更多个样本数据集生成所述一个或更多个帧,其中一个或更多个生成的帧中的每一个都具有完整像素信息,其中所述第一机器学习模型被配置为保留与所述一个或更多个生成的帧相关联的时空表示;
访问下一个样本数据集,所述下一个样本数据集包括所述一个或更多个帧的序列之后的下一个帧的不完整像素信息;和
使用所述第一机器学习模型,基于所述下一个样本数据集生成所述下一个帧,其中所述下一个帧具有包括所述下一个样本数据集的不完整像素信息以及附加像素信息的完整像素信息,基于所述下一个样本数据集和由所述第一机器学习模型保留的时空表示来生成所述附加像素信息。
22.根据权利要求21所述的方法,其中所述第一机器学习模型通过以下方式来训练:
分别从多个训练帧生成多个训练样本数据集;
使用所述第一机器学习模型,分别基于所述多个训练样本数据集生成多个重建帧;
使用第二机器学习模型确定所述多个重建帧是由所述第一机器学习模型生成的可能性;和
基于由所述第二机器学习模型确定的每个可能性的正确性来更新所述第一机器学习模型;
可选地,其中所述第一机器学习模型的更新还基于所述多个重建帧和所述多个训练帧之间的比较。
23.根据权利要求21或22所述的方法,
其中所述第一机器学习模型包括串联连接的多个编码器和多个解码器,所述多个编码器包括第一编码器和最后一个编码器,并且所述多个解码器包括第一解码器和最后一个解码器;
其中所述第一编码器的输出被配置为所述最后一个解码器的输入;和
其中所述最后一个编码器的输出被配置为所述第一解码器的输入;
可选地,其中所述多个解码器是循环解码器。
24.根据权利要求21至23中任一项所述的方法,还包括:
使用基于物理的计算机图形渲染模块生成所述一个或更多个样本数据集。
25.根据权利要求24所述的方法,其中所述一个或更多个样本数据集中的至少一个样本数据集的生成包括:
确定在与该样本数据集相关联的帧内的一个或更多个感兴趣区域;
使用所述一个或更多个感兴趣区域生成所述不完整像素信息;
其中所述不完整像素信息的与所述一个或更多个感兴趣区域相对应的一个或更多个部分包括比所述不完整像素信息的其他部分更密集的像素样本;
可选地,所述方法还包括:
基于由眼睛跟踪设备获得的眼睛跟踪数据来确定用户的注视方向;
其中所述一个或更多个感兴趣区域的确定基于所确定的用户的注视方向。
26.根据权利要求21至24中任一项所述的方法,其中所述一个或更多个样本数据集中的每一个包括:
具有像素颜色的图像,所述像素颜色对应于与该样本数据集相关联的不完整像素信息;和
指示所述像素颜色的位置的二进制掩码。
27.一个或更多个计算机可读非暂时性存储介质,其体现软件,所述软件在被执行时可操作来:
分别访问与一个或更多个帧的序列相关联的一个或更多个样本数据集,其中所述一个或更多个样本数据集中的每一个包括相关联的帧的不完整像素信息;
使用第一机器学习模型,基于所述一个或更多个样本数据集生成所述一个或更多个帧,其中一个或更多个生成的帧中的每一个都具有完整像素信息,其中所述第一机器学习模型被配置为保留与所述一个或更多个生成的帧相关联的时空表示;
访问下一个样本数据集,所述下一个样本数据集包括所述一个或更多个帧的序列之后的下一个帧的不完整像素信息;和
使用所述第一机器学习模型,基于所述下一个样本数据集生成所述下一个帧,其中所述下一个帧具有包括所述下一个样本数据集的不完整像素信息以及附加像素信息的完整像素信息,基于所述下一个样本数据集和由所述第一机器学习模型保留的时空表示来生成所述附加像素信息。
28.根据权利要求27所述的介质,其中所述第一机器学习模型通过包括以下操作的过程来训练:
分别从多个训练帧生成多个训练样本数据集;
使用所述第一机器学习模型,分别基于所述多个训练样本数据集生成多个重建帧;
使用第二机器学习模型确定所述多个重建帧是由所述第一机器学习模型生成的可能性;和
基于由所述第二机器学习模型确定的每个可能性的正确性来更新所述第一机器学习模型;
可选地,其中所述第一机器学习模型的更新还基于所述多个重建帧和所述多个训练帧之间的比较。
29.根据权利要求27或28所述的介质,
其中所述第一机器学习模型包括串联连接的多个编码器和多个解码器,所述多个编码器包括第一编码器和最后一个编码器,并且所述多个解码器包括第一解码器和最后一个解码器;
其中所述第一编码器的输出被配置为所述最后一个解码器的输入;和
其中所述最后一个编码器的输出被配置为所述第一解码器的输入;
可选地,其中所述多个解码器是循环解码器。
30.根据权利要求27至29中任一项所述的介质,其中所述软件在被执行时还可操作来:
使用基于物理的计算机图形渲染模块生成所述一个或更多个样本数据集。
31.一种系统,包括:一个或更多个处理器;以及耦合到一个或更多个所述处理器的一个或更多个计算机可读非暂时性存储介质,并且所述一个或更多个计算机可读非暂时性存储介质包括当由一个或更多个所述处理器执行时可操作来使所述系统执行以下操作的指令:
分别访问与一个或更多个帧的序列相关联的一个或更多个样本数据集,其中所述一个或更多个样本数据集中的每一个包括相关联的帧的不完整像素信息;
使用第一机器学习模型,基于所述一个或更多个样本数据集生成所述一个或更多个帧,其中一个或更多个生成的帧中的每一个都具有完整像素信息,其中所述第一机器学习模型被配置为保留与所述一个或更多个生成的帧相关联的时空表示;
访问下一个样本数据集,所述下一个样本数据集包括所述一个或更多个帧的序列之后的下一个帧的不完整像素信息;和
使用所述第一机器学习模型,基于所述下一个样本数据集生成所述下一个帧,其中所述下一个帧具有包括所述下一个样本数据集的不完整像素信息以及附加像素信息的完整像素信息,基于所述下一个样本数据集和由所述第一机器学习模型保留的时空表示来生成所述附加像素信息。
32.根据权利要求31所述的系统,其中所述第一机器学习模型通过包括以下操作的过程来训练:
分别从多个训练帧生成多个训练样本数据集;
使用所述第一机器学习模型,分别基于所述多个训练样本数据集生成多个重建帧;
使用第二机器学习模型确定所述多个重建帧是由所述第一机器学习模型生成的可能性;和
基于由所述第二机器学习模型确定的每个可能性的正确性来更新所述第一机器学习模型;
可选地,其中所述第一机器学习模型的更新还基于所述多个重建帧和所述多个训练帧之间的比较。
33.根据权利要求31或32所述的系统,
其中所述第一机器学习模型包括串联连接的多个编码器和多个解码器,所述多个编码器包括第一编码器和最后一个编码器,并且所述多个解码器包括第一解码器和最后一个解码器;
其中所述第一编码器的输出被配置为所述最后一个解码器的输入;和
其中所述最后一个编码器的输出被配置为所述第一解码器的输入。
34.根据权利要求31至33中任一项所述的系统,其中,所述一个或更多个计算机可读非暂时性存储介质还包括当由一个或更多个所述处理器执行时可操作来使所述系统执行以下操作的指令:
使用基于物理的计算机图形渲染模块生成所述一个或更多个样本数据集。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862736991P | 2018-09-26 | 2018-09-26 | |
US62/736,991 | 2018-09-26 | ||
US16/191,776 | 2018-11-15 | ||
US16/191,776 US10846888B2 (en) | 2018-09-26 | 2018-11-15 | Systems and methods for generating and transmitting image sequences based on sampled color information |
PCT/US2018/061942 WO2020068140A1 (en) | 2018-09-26 | 2018-11-20 | Systems and methods for generating and transmitting image sequences based on sampled color information |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112789631A true CN112789631A (zh) | 2021-05-11 |
Family
ID=69884541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880098118.9A Pending CN112789631A (zh) | 2018-09-26 | 2018-11-20 | 基于采样的颜色信息生成和传输图像序列的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10846888B2 (zh) |
EP (1) | EP3857470A4 (zh) |
JP (1) | JP7231708B2 (zh) |
KR (1) | KR20210049947A (zh) |
CN (1) | CN112789631A (zh) |
WO (1) | WO2020068140A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220301310A1 (en) * | 2021-03-17 | 2022-09-22 | Qualcomm Incorporated | Efficient video processing via dynamic knowledge propagation |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018176000A1 (en) | 2017-03-23 | 2018-09-27 | DeepScale, Inc. | Data synthesis for autonomous control systems |
US10671349B2 (en) | 2017-07-24 | 2020-06-02 | Tesla, Inc. | Accelerated mathematical engine |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US11157441B2 (en) | 2017-07-24 | 2021-10-26 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
US11215999B2 (en) | 2018-06-20 | 2022-01-04 | Tesla, Inc. | Data pipeline and deep learning system for autonomous driving |
US11361457B2 (en) | 2018-07-20 | 2022-06-14 | Tesla, Inc. | Annotation cross-labeling for autonomous control systems |
US11636333B2 (en) | 2018-07-26 | 2023-04-25 | Tesla, Inc. | Optimizing neural network structures for embedded systems |
US11562231B2 (en) | 2018-09-03 | 2023-01-24 | Tesla, Inc. | Neural networks for embedded devices |
AU2019357615B2 (en) | 2018-10-11 | 2023-09-14 | Tesla, Inc. | Systems and methods for training machine models with augmented data |
US11196678B2 (en) | 2018-10-25 | 2021-12-07 | Tesla, Inc. | QOS manager for system on a chip communications |
US11538143B2 (en) * | 2018-10-26 | 2022-12-27 | Nec Corporation | Fully convolutional transformer based generative adversarial networks |
WO2020098360A1 (en) * | 2018-11-15 | 2020-05-22 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method, system, and computer-readable medium for processing images using cross-stage skip connections |
US11816585B2 (en) | 2018-12-03 | 2023-11-14 | Tesla, Inc. | Machine learning models operating at different frequencies for autonomous vehicles |
US11537811B2 (en) | 2018-12-04 | 2022-12-27 | Tesla, Inc. | Enhanced object detection for autonomous vehicles based on field view |
US11610117B2 (en) | 2018-12-27 | 2023-03-21 | Tesla, Inc. | System and method for adapting a neural network model on a hardware platform |
WO2020141108A1 (en) * | 2019-01-03 | 2020-07-09 | Dolby International Ab | Method, apparatus and system for hybrid speech synthesis |
US11150664B2 (en) | 2019-02-01 | 2021-10-19 | Tesla, Inc. | Predicting three-dimensional features for autonomous driving |
US10997461B2 (en) | 2019-02-01 | 2021-05-04 | Tesla, Inc. | Generating ground truth for machine learning from time series elements |
US11567514B2 (en) | 2019-02-11 | 2023-01-31 | Tesla, Inc. | Autonomous and user controlled vehicle summon to a target |
US10956755B2 (en) | 2019-02-19 | 2021-03-23 | Tesla, Inc. | Estimating object properties using visual image data |
US10885343B1 (en) | 2019-08-30 | 2021-01-05 | Amazon Technologies, Inc. | Repairing missing frames in recorded video with machine learning |
CN110474815B (zh) * | 2019-09-23 | 2021-08-13 | 北京达佳互联信息技术有限公司 | 带宽预测方法、装置、电子设备及存储介质 |
US11321737B2 (en) * | 2019-12-13 | 2022-05-03 | Ebay Inc. | Techniques of prefetching operation cost based digital content and digital content with emphasis |
EP3885991A1 (en) * | 2020-03-26 | 2021-09-29 | Another Brain | Autoencoder-based segmentation mask generation in an alpha channel |
CN111553202B (zh) * | 2020-04-08 | 2023-05-16 | 浙江大华技术股份有限公司 | 进行活体检测的神经网络的训练方法、检测方法及装置 |
US11645761B2 (en) * | 2020-08-14 | 2023-05-09 | Meta Platforms Technologies, Llc | Adaptive sampling of images |
US11776273B1 (en) * | 2020-11-30 | 2023-10-03 | Amazon Technologies, Inc. | Ensemble of machine learning models for automatic scene change detection |
CN112565763A (zh) * | 2020-11-30 | 2021-03-26 | 北京达佳互联信息技术有限公司 | 异常图像样本生成方法及装置、图像检测方法及装置 |
US20220188645A1 (en) * | 2020-12-16 | 2022-06-16 | Oracle International Corporation | Using generative adversarial networks to construct realistic counterfactual explanations for machine learning models |
US12266157B2 (en) * | 2021-04-06 | 2025-04-01 | Nec Corporation | Temporal augmentation for training video reasoning system |
US11748988B1 (en) | 2021-04-21 | 2023-09-05 | Amazon Technologies, Inc. | Shot contras five self-supervised learning of a plurality of machine learning models for video analysis applications |
KR20220146900A (ko) * | 2021-04-26 | 2022-11-02 | 삼성전자주식회사 | 휘도 데이터를 이용하여 심도 정보를 생성하는 처리 회로를 포함하는 전자 장치, 및 심도 정보 생성 방법 |
WO2024155967A1 (en) * | 2023-01-21 | 2024-07-25 | Meta Platforms Technologies, Llc | Gaze-based super-resolution for extended reality devices |
US20250039566A1 (en) * | 2023-07-24 | 2025-01-30 | Varjo Technologies Oy | Complementing subsampling in stereo cameras |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040042662A1 (en) * | 1999-04-26 | 2004-03-04 | Wilensky Gregg D. | Identifying intrinsic pixel colors in a region of uncertain pixels |
US20160239711A1 (en) * | 2013-10-18 | 2016-08-18 | Vision Semanatics Limited | Visual Data Mining |
US20180007269A1 (en) * | 2016-06-30 | 2018-01-04 | Facebook, Inc. | Neural network to optimize video stabilization parameters |
US20180129902A1 (en) * | 2016-11-08 | 2018-05-10 | Sony Corporation | Method and system for video processing |
US20180137389A1 (en) * | 2016-11-16 | 2018-05-17 | Facebook, Inc. | Deep Multi-Scale Video Prediction |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003078760A (ja) * | 2001-08-30 | 2003-03-14 | Fuji Xerox Co Ltd | 画像処理装置及び画像処理方法 |
US9626798B2 (en) * | 2011-12-05 | 2017-04-18 | At&T Intellectual Property I, L.P. | System and method to digitally replace objects in images or video |
EP3161791A4 (en) * | 2014-06-24 | 2018-01-03 | Sportlogiq Inc. | System and method for visual event description and event analysis |
US10284789B2 (en) * | 2017-09-15 | 2019-05-07 | Sony Corporation | Dynamic generation of image of a scene based on removal of undesired object present in the scene |
-
2018
- 2018-11-15 US US16/191,776 patent/US10846888B2/en active Active
- 2018-11-20 WO PCT/US2018/061942 patent/WO2020068140A1/en unknown
- 2018-11-20 KR KR1020217012117A patent/KR20210049947A/ko not_active Ceased
- 2018-11-20 JP JP2021507467A patent/JP7231708B2/ja active Active
- 2018-11-20 EP EP18934608.3A patent/EP3857470A4/en not_active Withdrawn
- 2018-11-20 CN CN201880098118.9A patent/CN112789631A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040042662A1 (en) * | 1999-04-26 | 2004-03-04 | Wilensky Gregg D. | Identifying intrinsic pixel colors in a region of uncertain pixels |
US20160239711A1 (en) * | 2013-10-18 | 2016-08-18 | Vision Semanatics Limited | Visual Data Mining |
US20180007269A1 (en) * | 2016-06-30 | 2018-01-04 | Facebook, Inc. | Neural network to optimize video stabilization parameters |
US20180129902A1 (en) * | 2016-11-08 | 2018-05-10 | Sony Corporation | Method and system for video processing |
US20180137389A1 (en) * | 2016-11-16 | 2018-05-17 | Facebook, Inc. | Deep Multi-Scale Video Prediction |
Non-Patent Citations (5)
Title |
---|
DAVID B. PHILLIPS 等: "Adaptive foveated single-pixel imaging with dynamic super-sampling", 《ARXIV.ORG》, 27 June 2016 (2016-06-27), pages 1 - 12 * |
FANG LIU 等: "Research of Image Deblurring Based on the Deep Neural Network", 《THE 33RD YOUTH ACADEMIC ANNUAL CONFERENCE OF CHINESE ASSOCIATED OF AUTOMATION(YAC)》, 20 May 2018 (2018-05-20), pages 28 - 31, XP033372496, DOI: 10.1109/YAC.2018.8405801 * |
JUN GUO 等: "Building an End-to-End Spatial-Temporal Convolutional Network for Video Super-Resolution", 《PROCEEDINGS OF THE THIRTY-FIRST AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE (AAAI-17), 4 February 2017 (2017-02-04), pages 4053 - 4060, XP055618668 * |
JUN GUO 等: "Building an End-to-End Spatial-Temporal Convolutional Network for Video Super-Resolution", 《PROCEEDINGS OF THE THIRTY-FIRST AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE (AAAI-17)》, 4 February 2017 (2017-02-04), pages 4053 - 4060, XP055618668 * |
ZEEVI Y.Y. 等: "Neural computers for foveating vision systems", 《ADVANCED NEURAL COMPUTERS》, 1 January 1990 (1990-01-01), pages 323 - 330, XP009530577, DOI: 10.1016/B978-0-444-88400-8.50042-X * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220301310A1 (en) * | 2021-03-17 | 2022-09-22 | Qualcomm Incorporated | Efficient video processing via dynamic knowledge propagation |
US12067777B2 (en) * | 2021-03-17 | 2024-08-20 | Qualcomm Incorporated | Efficient video processing via dynamic knowledge propagation |
Also Published As
Publication number | Publication date |
---|---|
JP7231708B2 (ja) | 2023-03-01 |
EP3857470A4 (en) | 2021-11-24 |
JP2022511256A (ja) | 2022-01-31 |
US20200098139A1 (en) | 2020-03-26 |
WO2020068140A1 (en) | 2020-04-02 |
EP3857470A1 (en) | 2021-08-04 |
KR20210049947A (ko) | 2021-05-06 |
US10846888B2 (en) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7231708B2 (ja) | サンプリングされた色情報に基づいて画像シーケンスを生成および伝送するシステムおよび方法 | |
US11037531B2 (en) | Neural reconstruction of sequential frames | |
US20210233312A1 (en) | Systems, methods, and media for displaying real-time visualization of physical environment in artificial reality | |
US11544894B2 (en) | Latency-resilient cloud rendering | |
US12198275B2 (en) | Generative scene networks | |
US11842442B2 (en) | Camera reprojection for faces | |
US20230343050A1 (en) | Systems and Methods for Providing User Experiences on AR/VR Systems | |
US11644685B2 (en) | Processing stereo images with a machine-learning model | |
US20230196627A1 (en) | Anti-aliasing by encoding primitive edge representations | |
WO2022098512A1 (en) | Latency-resilient cloud rendering | |
US11645761B2 (en) | Adaptive sampling of images | |
WO2023057781A1 (en) | Generation of a virtual viewpoint image of a person from a single captured image | |
US11386532B2 (en) | Blue noise mask for video sampling | |
US11481877B2 (en) | Enhancing the resolution of a video stream | |
CN116071478B (zh) | 图像重建模型的训练方法和虚拟场景渲染方法 | |
WO2022066487A1 (en) | Efficient motion-compensated spatiotemporal sampling | |
US20240371112A1 (en) | Augmented reality capture | |
US12243251B1 (en) | Robust consistent video depth estimation | |
US20240339121A1 (en) | Voice Avatars in Extended Reality Environments |
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 | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Yuan Platform Technology Co.,Ltd. Address before: California, USA Applicant before: Facebook Technologies, LLC |
|
CB02 | Change of applicant information |