CN116965030A - 使用稀疏表示来生成图像 - Google Patents

使用稀疏表示来生成图像 Download PDF

Info

Publication number
CN116965030A
CN116965030A CN202280011822.2A CN202280011822A CN116965030A CN 116965030 A CN116965030 A CN 116965030A CN 202280011822 A CN202280011822 A CN 202280011822A CN 116965030 A CN116965030 A CN 116965030A
Authority
CN
China
Prior art keywords
coefficients
coefficient
network
sub
neural network
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
Application number
CN202280011822.2A
Other languages
English (en)
Inventor
查理·托马斯·柯蒂斯·纳什
彼得·威廉·巴塔利亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DeepMind Technologies Ltd
Original Assignee
DeepMind Technologies Ltd
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 DeepMind Technologies Ltd filed Critical DeepMind Technologies Ltd
Publication of CN116965030A publication Critical patent/CN116965030A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20052Discrete cosine transform [DCT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Discrete Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

用于生成合成图像的压缩表示的方法、系统和装置,包括在计算机存储介质上编码的计算机程序。所述方法之一是一种使用生成式神经网络来生成合成图像的方法,并且包括:使用生成式神经网络来生成多个系数,所述多个系数表示在已经使用有损压缩算法来对合成图像进行编码之后的合成图像;以及通过对多个系数应用有损压缩算法来对合成图像进行解码。

Description

使用稀疏表示来生成图像
背景技术
本说明书涉及神经网络。
神经网络是采用一个或多个非线性单元层来针对接收到的输入预测输出的机器学习模型。一些神经网络除了包括输出层之外还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中的下一个层——即下一个隐藏层或输出层——的输入。网络的每个层依照相应一组参数的当前值从接收到的输入生成输出。
发明内容
本说明书描述一种在一个或多个位置中的一个或多个计算机上作为计算机程序实现的系统,该系统实现被配置成生成合成图像的稀疏表示的生成式神经网络。所述生成式神经网络生成表示在已经使用有损压缩算法来对图像进行编码之后的合成图像的数据。
所述生成式神经网络能够通过生成合成图像的压缩版本的系数——例如表示在对合成图像应用DCT压缩之后的合成图像的DCT系数——的序列高效地生成合成图像。每个系数能够识别i)合成图像中的位置、ii)系数通道(例如,在DCT压缩中表示频率)以及iii)系数通道值。生成式神经网络因此可以被认为在特定有损压缩算法的编码空间中操作。
在所述生成式神经网络已经生成了合成图像的系数之后,系统能够通过根据有损压缩算法处理系数来对合成图像进行解码。也就是说,系统能够通过根据有损压缩算法处理系数来恢复合成图像。例如,在使用DCT系数的情况下,可以使用所生成的系数来执行逆DCT变换,以恢复DCT系数所表示的对应图像。
根据一个方面,提供了一种使用生成式神经网络来生成合成图像的方法。该方法包括:使用生成式神经网络来生成多个系数,所述多个系数表示在已经使用有损压缩算法来对合成图像进行编码之后的合成图像。该方法进一步包括:通过对多个系数应用有损压缩算法来对合成图像进行解码。所述生成式神经网络可以被训练成在有损压缩算法的编码空间中生成图像数据。
在一些实现方式中,所述生成式神经网络被配置成生成全新合成图像。所述生成式神经网络可以被进一步配置成处理识别合成图像的期望属性的调节输入以便生成表示合成图像的多个系数。例如,调节输入可以是识别合成图像的期望类的类标签。在另一示例中,调节输入可以是文本输入,该文本输入表示描述合成图像的标题或其他文本序列。在另一个示例中,可以使用随机种子。所述生成式神经网络可以被配置成基于在上面训练系统的图像生成合成图像。
在一些其他实现方式中,所述生成式神经网络被配置成生成作为现有图像的更新或增强版本的合成图像,例如,通过向黑白现有图像添加颜色和/或通过提高现有图像的分辨率(超分辨率)。因此,所述生成式神经网络可以被配置成执行图像增强任务。所述生成式神经网络可以被配置成处理初始图像以便生成表示合成图像的多个系数。合成图像可以是初始图像的较高分辨率版本。合成图像可以是初始图像的彩色化版本。如先前描述的,彩色化可以是从黑白图像到全彩色图像的转换,或者彩色化可以具有应用诸如棕褐色过滤器的特定滤色器、去除特定颜色元素或任何其他形式的颜色调整的效果。在另一示例中,合成图像可以是诸如卡通画或美术画的不同艺术风格的初始图像的版本。在进一步示例中,图像增强可以包括调整初始图像的焦点或表观场深、调整亮度、锐度、对比度、模糊或其他图像效果。图像增强可以进一步包括例如在图像已经褪色、毁坏或已经被损坏的情况下以某种方式修复图像。所述生成式神经网络可以被配置成执行图像压缩,并且合成图像可以是初始图像的压缩版本或较低分辨率版本。
在一些实现方式中,所述生成式神经网络可以包括被配置成预测新系数的系数通道的子网络。所述生成式神经网络能够包括被配置成预测新系数在合成图像中的位置的子网络。所述生成式神经网络能够包括被配置成预测新系数的值的子网络。相应的子网络输出可以被进一步处理以为每个相应的通道、位置和/或系数值生成似然值。例如,可以使用一个或多个线性神经网络层来生成似然值。可以基于似然值选择相应的通道、位置和/或系数值,例如,可以选择具有最高似然值的通道作为新系数的通道。换句话说,可以基于相应的子网络输出来生成遍及可能的选择的集合的概率分布。可以根据有损压缩算法从量化值的离散集合中选择新系数的值。或者,系数值可以是连续值。可以根据有损压缩算法限制连续值的范围。
在所述生成式神经网络包括多个子网络的情况下,多个子网络可以被链接,使得每个子网络能够接收前一个子网络的输出作为输入。例如,所述生成式神经网络能够首先生成新系数的系数通道,然后(使用该系数通道)生成新系数的位置,然后(使用该系数通道和位置)生成值。更具体地,生成新系数可以包括:使用第一子网络来处理基于多个先前系数的第一子网络输入,以生成表示新系数的系数通道的第一子网络输出;使用第二子网络来处理从第一子网络输出生成的第二子网络输入,以生成表示新系数在合成图像中的位置的第二子网络输出;以及使用第三子网络来处理从第二子网络输出生成的第三子网络输入,以生成表示新系数的系数通道值的第三子网络输出。可以从多个先前系数的嵌入生成第一子网络输入。可以使用嵌入神经网络来生成嵌入或者可以分析上生成嵌入。例如,可以汇总系数以生成嵌入。可以使用对应于与新系数相同的位置的一个或多个先前生成的系数进一步生成第三子网络输入。
在一些实现方式中,所述生成式神经网络可以包括编码器子网络和/或解码器子网络。上述第一子网络、第二子网络和第三子网络可以是解码器子网络的部分。编码器子网络可以包括一个或多个自注意力层。解码器子网络可以包括i)一个或多个自注意力层和ii)一个或多个编码器-解码器自注意力层。编码器子网络和解码器子网络可以是基于Transformer型神经网络架构。一般而言,Transformer神经网络架构、编码器或解码器可以是通过具有一系列自注意力神经网络层所表征的神经网络架构、编码器或解码器。自注意力神经网络层对于输入的每个元素具有注意力层输入,并且被配置成在注意力层输入上应用注意力机制以为输入的每个元素生成注意力层输出。存在可以被使用的许多不同的注意力机制。
在一些实现方式中,合成图像被分段成多个像素块,并且其中,每个像素块由多个系数中的一个或多个相应系数表示。
在一些实现方式中,生成多个系数包括,在多个时间点中的每一个时间点:获得由所述生成式神经网络在相应的先前时间点生成的多个先前系数;以及处理多个先前系数以生成新系数。
在一些实现方式中,每个系数表示像素或像素块,并且识别与i)相应的系数通道和ii)像素或像素块在合成图像中的相应位置相对应的系数通道值;并且生成新系数包括预测i)新系数在合成图像中的位置、ii)新系数的系数通道以及iii)新系数的系数通道值。也就是说,所述生成式神经网络可以确定新系数在合成图像中的位置、通道和值。每个系数可以包括值的元组,例如,系数通道的标识符、合成图像中的位置的标识符和系数的值。
在一些实现方式中,处理多个先前系数以生成新系数包括:根据第一多个系数的系数通道对所述第一多个系数进行排序;以及处理排序后的第一多个系数以生成新系数。因此,系数通道可以具有基于通道的特性的特定排序。例如,可以根据系数通道所表示的空间频率以升序或降序对多个系数进行排序。另外,或替换地,系数通道具有特定分类,并且排序可以包括将相同或类似类型的系数分组在一起。
在一些实现方式中,每个系数对应于多个图像通道中的一个。例如,图像通道可以对应于图像的颜色空间编码,诸如YCbCr或RGB。与相同相应的图像通道相对应的系数的序列可以在排序后的第一多个系数中以间隔交错。例如,系数序列可以包括与相同的空间频率相对应的Y通道系数、然后是Cb通道系数、然后是Cr通道系数的组,其中每个YCbCr组根据空间频率按顺序次序出现。
在一些实现方式中,生成多个系数可以包括:为合成图像获得随机种子;使用所述神经网络的编码器子网络来处理随机种子以生成随机种子的编码表示。生成可以进一步包括:在多个时间点中的每一个时间点:获得由所述生成式神经网络在相应的先前时间点生成的多个先前系数;以及使用所述生成式神经网络的解码器子网络来处理i)随机种子的编码表示和ii)多个先前系数以生成新系数。
在一些实现方式中,在合成图像将是初始图像的更新或增强版本的情况下,生成多个系数可以包括:获得多个初始系数,所述多个初始系数表示在已经使用有损压缩算法来对初始图像进行编码之后的初始图像;以及使用所述神经网络的编码器子网络来处理多个初始系数以生成多个初始系数的编码表示。生成可以进一步包括:在多个时间点中的每一个时间点:获得由所述生成式神经网络在相应的先前时间点生成的多个先前系数;以及使用所述生成式神经网络的解码器子网络来处理i)多个初始系数的编码表示和ii)多个先前系数以生成新系数。多个初始系数可以在由编码器子网络处理之前被重新排列成合适的格式。例如,当多个系数包括系数通道、图像位置和系数值元组的列表时,多个系数可以被重新排列为3D张量,其中图像的高度和宽度对应于前两个维度并且通道对应于第三维度。3D张量的各个元素然后可以用特定空间位置和通道处的对应系数值填充。在没有对应空间位置和通道的数据的情况下,这可以指示零值。3D张量可以作为输入被提供给编码器子网络并且也可以被事先展平。通过基于图像维度将多个初始系数排列为3D张量,编码器的输入可以是固定大小,然而初始系数的数目可以变化。此固定大小的输入确保与初始系数的数目无关的恒定存储器和计算,并且使得能够在大或可变序列上训练。特别地,对于基于Transformer的架构,自注意力层的存储器要求随着序列长度呈四次方缩放。初始图像可以是有部分遗漏的部分编码图像,或者如以上所讨论的,可以是较低分辨率图像或包含如适于任务的仅灰度数据或部分颜色数据的图像。
在一些实现方式中,生成多个系数可以进一步包括:生成第一多个系数;使用所述神经网络的编码器子网络来处理第一多个系数以生成第一多个系数的编码表示;以及在多个第二时间点中的每一个第二时间点:获得由所述生成式神经网络在相应的先前第二时间点生成的多个先前系数;以及使用所述生成式神经网络的解码器子网络来处理i)第一多个系数的编码表示和ii)多个先前系数以生成新系数。以这种方式,可以更新由解码器子网络处理的编码表示以考虑到先前生成的系数(第一多个系数)。第一多个系数可以包括先前生成的所有系数或先前生成的系数的子集。
在一些实现方式中,在每个时间步生成的系数的数目是固定的。这也有助于确保生成过程中的恒定存储器和计算要求。
在一些实现方式中,生成多个系数可以进一步包括:重复地执行包括以下步骤的操作:获得由所述生成式神经网络先前生成的所有系数并且使用编码器子网络来处理所获得的系数以生成所获得的系数的编码表示;以及使用所获得的系数的编码表示来生成固定数目的新系数。
在一些实现方式中,每个系数表示像素或像素块,并且识别与i)相应的系数通道和ii)像素或像素块在合成图像中的相应位置相对应的系数通道值;并且解码器子网络包括:第一子网络,该第一子网络被配置成预测新系数的系数通道;第二子网络,该第二子网络被配置成预测新系数在合成图像中的位置;以及第三子网络,该第三子网络被配置成预测新系数的系数通道值。
在一些实现方式中,生成新系数包括:使用第一子网络来处理从i)第一多个系数的编码表示和ii)多个先前系数的嵌入生成的第一子网络输入,以生成表示新系数的系数通道的第一子网络输出;使用第二子网络来处理从i)第一多个系数的编码表示和ii)第一子网络输出生成的第二子网络输入,以生成表示新系数在合成图像中的位置的第二子网络输出;以及使用第三子网络来处理从i)第一多个系数的编码表示和ii)第二子网络输出生成的第三子网络输入,以生成表示新系数的系数通道值的第三子网络输出。
在一些实现方式中,第三子网络输入是使用由所述生成式神经网络先前生成的与新系数在合成图像中的相同位置相对应的每个系数来进一步生成的。
在一些实现方式中,生成新系数进一步包括:处理第一子网络输出以为每个系数通道生成新系数对应于系数通道的似然值;处理第二子网络输出以为合成图像中的每个位置生成新系数位于该位置处的似然值;以及处理第三子网络输出以为多个系数通道值带中的每一个生成新系数具有该系数通道值带中的系数通道值的似然值。
在一些实现方式中,每个系数是离散余弦变换(DCT)系数,所述DCT系数识别合成图像的相应块的相应DCT通道的通道值。
根据另一方面,提供了一种训练诸如以上方面的生成式神经网络的生成式神经网络的方法。该训练方法包括:获得多个系数,所述多个系数表示在已经使用有损压缩算法来对训练图像进行编码之后的训练图像;以及确定系数的第一子集。该训练方法可以进一步包括:使用所述神经网络的编码器子网络来处理第一子集以生成第一子集的编码表示。该方法可以进一步包括:在多个训练时间步中的每一个训练时间步:获得在相应的先前训练时间步生成的多个预测系数;以及使用所述神经网络的解码器子网络来处理i)第一子集的编码表示和ii)多个预测系数以生成新预测系数;使用训练图像的对应系数来确定预测系数的误差;以及使用所确定的误差来更新所述生成式神经网络的多个参数。
如以上所讨论的,可以对多个系数进行排序。例如,可以根据系数通道的增加空间频率来对多个系数进行排序。系数的第一子集可以对应于空间频率的第一子集,并且预测系数的目标可以是根据对空间频率的排序的空间频率的后续集。以这种方式,所述生成式神经网络可以被训练成执行超分辨率,即,以较高分辨率提供图像的版本。也就是说,通过向图像添加较高频率信息,在图像中提供增加的细节并且可以提高图像的分辨率。在另一示例中,多个系数可以对应于YCbCr颜色空间编码。系数的第一子集可以是与对应于黑白图像的Y(亮度)通道相对应的系数。预测系数的目标可以是对应的Cb和Cr系数。以这种方式,所述生成式神经网络可以被训练成执行彩色化。
在一些实现方式中,训练图像的多个系数的目标子集被确定,并且系数的第一子集是基于目标子集而确定的。例如,可以从多个系数中随机选择目标子集,并且系数的第一子集可以是在目标子集之前的特定大小的子集。然而第一子集和目标子集可以重叠。可以基于均匀分布随机选择目标子集。在另一示例中,可以基于与l-3成比例的似然选择目标子集,其中l是目标子集将开始的系数序列中的位置。这使选择偏向序列的开头,并且在序列按增加空间频率排序的情况下,选择包含低频率信息的目标序列。
在一些实现方式中,训练图像可以包括多个图像通道,并且可以在使用有损压缩算法编码之前对一个或多个图像通道进行下采样。例如,可以按因数2对Cb和Cr通道进行下采样,然而可以维持Y通道的分辨率。
根据另一方面,提供了一种使用生成式神经网络来处理输入序列以生成具有多个输出元素的输出序列的方法。所述生成式神经网络包括编码器子网络和多个解码器子网络序列,编码器子网络包括一个或多个自注意力层,解码器子网络序列中的每个解码器子网络包括i)一个或多个自注意力层和ii)一个或多个编码器-解码器自注意力层。该方法包括:使用编码器子网络来处理包括输入序列的编码器子网络输入,以生成输入序列的嵌入;以及在多个时间步中的每一个时间步:使用解码器子网络序列中的第一解码器子网络来处理从i)输入序列的嵌入和ii)在先前时间步生成的多个输出词元(token)生成的第一解码器子网络输入,以生成第一解码器子网络输出;对于解码器子网络序列中的每个后续解码器子网络:使用后续解码器子网络来处理从i)输入序列的嵌入和ii)由解码器子网络序列中的先前解码器子网络生成的解码器子网络输出生成的后续解码器子网络输入,以生成子序列解码器子网络输出;以及使用解码器子网络输出来在输出序列中生成新的输出元素。
输入和输出可以是任何类型的信号,该信号能够使用有损压缩算法来处理以生成该信号的压缩表示。例如,所述神经网络能够被配置成生成文本序列、音频数据序列或视频帧序列。
根据另一方面,提供了一种系统,该系统包括一个或多个计算机和一个或多个存储指令的存储设备,所述指令当由一个或多个计算机执行时,使一个或多个计算机执行上述方法方面中的任一个。
根据进一步方面,提供了一种或多种存储指令的计算机存储介质,所述指令当由一个或多个计算机执行时,使一个或多个计算机执行上述方法方面中的任一个。
应领会,在一个方面的上下文中描述的特征可以与在另一方面的上下文中描述的特征组合。
能够在特定实施例中实现本说明书中描述的主题以便实现以下优点中的一个或多个。
用于生成合成图像的一些现有技术使用自回归神经网络来生成合成图像中的每个像素。对于具有数十万个像素或更多的图像,生成每个像素的计算成本可能高昂得令人难以承受的。使用本说明书中描述的技术,生成式神经网络可以生成合成图像的稀疏表示,从而显著地减少生成合成图像所需要的时间、存储器和计算成本。例如,所述生成式神经网络可以生成表示图像中的最重要信息的系数,同时通过避免生成相对不重要的信息,即在合成图像的压缩期间会丢失的信息,来节省计算。
使用本说明书中描述的技术,所述生成式神经网络能够被训练成生成图像的反映现有压缩算法的表示,从而利用关于图像的最重要方面的领域知识。像在必须训练自动编码器来学习输入张量的对来自输入张量的尽可能多的信息进行编码的嵌入空间的一些现有系统中一样,所述生成式神经网络因此不需要为压缩合成图像学习最佳嵌入空间。相反,所述生成式神经网络能够利用现有嵌入空间,从而允许系统直接使用可容易获得的训练示例(例如,使用现成压缩库压缩的图像)来训练所述生成式神经网络。因此,系统能够在显著更少的时间中并且使用较少的计算资源来训练所述生成式神经网络。
使用本说明书中描述的技术,神经网络例如在使用LSUN数据集(arXiv:1506.03365)、FFHQ数据集(arXiv:1812.04948)、类-条件ImageNet数据集(arXiv:1409.0575)或OpenImages数据集(arXiv:1811.00982)来训练时,能够生成相较于其他现有技术具有较高精度(例如,高5%的精度)、较高召回率(例如,高64%的召回率)、较低弗雷歇起始距离(FED)(例如,低14%的FED)和/或较低空间弗雷歇起始距离(sFID)(例如,低23%的sFED)的合成图像。
在下面的附图和描述中阐述本说明书的主题的一个或多个实施例的细节。根据描述、附图和权利要求,主题的其他特征、方面和优点将变得清楚。
附图说明
图1A和图1B是示例合成图像生成系统的图。
图2A和图2B是被配置成生成合成图像的压缩表示的示例神经网络的图。
图3是示例训练系统的图。
图4是用于生成合成图像的压缩表示的示例过程的流程图。
图5是使用被配置成生成合成图像的压缩表示的神经网络来生成的示例合成图像的图示。
在各个附图中相似的附图标记和名称指示相似的元素。
具体实施方式
本说明书描述一种在一个或多个位置中的一个或多个计算机上作为计算机程序实现的系统,该系统被配置成运行生成式神经网络以生成合成图像的压缩表示。
图1A是示例合成图像生成系统100的图。合成图像生成系统100是在一个或多个位置中的一个或多个计算机上作为计算机程序实现的系统的示例,其中能够实现下述系统、组件和技术。
合成图像生成系统100被配置成:处理初始图像102(即,以处理初始图像102的像素的强度值),并且生成作为初始图像102的更新版本的合成图像的压缩表示122。也就是说,合成图像描绘与初始图像102相同的内容,但是相对于初始图像102,合成图像已经由合成图像生成系统100以某种方式增强。
压缩表示122表示在已经使用有损压缩算法来压缩合成图像之后的合成图像。在本说明书中,压缩算法是用于相较于数据对象的原始表示使用较少的比特来对数据对象进行编码的算法。也就是说,使用压缩算法来处理数据对象包括处理数据对象的原始表示以生成数据对象的编码表示,数据对象的编码表示相较于原始表示包括较少的比特。如果数据对象的编码表示从数据对象的原始表示中丢失一些信息,则压缩算法是有损的。换句话说,不保证从数据对象的编码表示完美地恢复数据对象的原始表示。
合成图像生成系统100包括压缩引擎110和神经网络120。压缩引擎110被配置成对初始图像102应用有损压缩算法以生成初始图像的压缩表示112。
例如,有损压缩算法可以是将图像投影到二维频率的合集中的离散余弦变换(DCT)压缩。对于图像102的多个B×B像素块中的每一个,并且对于图像102的一个或多个通道中的每一个,压缩引擎110能够计算:
其中x和y表示块内的水平像素分量和垂直像素分量,并且u和v为水平空间频率和垂直空间频率编索引。
对于图像102的每个像素块并且对于图像102的每个通道,DCT压缩(在量化之前)为每个水平频率和垂直频率对生成相应的DCT值。为了清楚,在本说明书中水平频率和垂直频率对被称作“DCT通道”,然而图像102的原始通道被称作“图像通道”。也就是说,对于每个像素块并且对于每个图像通道,DCT压缩(在量化之前)为每个DCT通道生成相应的DCT值。
例如,如果图像102是RGB图像,则对于图像102中的每个像素块,压缩引擎110能够为图像的红色通道、绿色通道和蓝色通道中的每一个生成相应的DCT值。作为另一示例,如果图像102是YCbCr图像,则对于图像102中的每个像素块,压缩引擎110能够为Y通道(即,亮度通道)、Cb通道(即,蓝色差色度通道)和Cr通道(即,红色差色度通道)中的每一个生成相应的DCT值。
在一些实现方式中,对于图像102的一个或多个图像通道,压缩引擎110在执行DCT压缩之前对图像通道进行下采样。例如,如果图像102是YCbCr图像,则压缩引擎110能够对Cb通道和Cr通道进行下采样(例如,2的因数),同时保存Y通道的分辨率。通常,相较于亮度通道对色度通道进行下采样的感知成本更少;也就是说,对一个或两个色度通道进行下采样能够显著地降低合成图像生成系统100的计算成本,同时最小地降低合成图像的压缩表示122的质量。
作为其他示例,压缩算法可以是小波变换算法、离散正弦变换算法、离散傅里叶变换算法,或将图像表示为与图像的相应像素或像素块相对应的系数的集合或序列的任何压缩算法。虽然为了方便本说明书经常提及DCT压缩,但是应当理解,能够使用任何适当的压缩算法来应用本说明书中描述的技术。
对于初始图像102的每个图像通道,在为初始图像102中的每个像素块(或单个像素)生成DCT值之后,压缩引擎110能够对像素块进行量化(即,对与每个像素块相对应的DCT值的集合进行量化),以去除对初始图像102的完整表示未作出重大贡献的频率。例如,压缩引擎110能够通过去除相较于较低频率更难以由人眼检测的较高频率来对像素块进行量化。在一些实现方式中,压缩引擎110能够通过逐元素除以量化矩阵并且舍入到最近整数来对像素块进行量化。量化矩阵能够被构造为使得像素块的较高频率分量相较于较低频分量被在更大程度上压制。
因此,使用DCT压缩,压缩引擎110能够生成压缩的初始图像表示112,其对于初始图像102的每个图像通道包括系数的集合,所述系数的集合中的每一个系数包括(i)像素块在初始图像102中的位置的标识、(ii)DCT通道的标识以及(iii)DCT值。
初始图像表示112能够由包括初始图像102的每一个图像通道的相应系数的系数序列表示。在序列中系数可以具有任何适当的次序。例如,在一些实现方式中,序列包括包含与第一图像通道相对应的每一个系数的第一子序列,后面是包括与第二图像通道相对应的每一个系数的第二子序列,依此类推。在一些其他实现方式中,差图像通道的相应系数在序列中以间隔交错。系数的排序能够被预先确定并且跨由合成图像生成系统100接收到的所有图像102一致,使得当神经网络102被训练时,神经网络能够学习以预先确定的次序生成新系数。在下面参考图3更详细地描述训练神经网络120。
在一些实现方式中,初始图像102的每个图像通道能够对应于系数的DCT通道的可能值的相应不同的且不相交的子集。例如,如果存在N个可能的DCT通道(例如,对于8的像素块大小而言为64个可能的DCT通道),则第一图像通道能够对应于系数的前N个DCT通道值(例如,值0至63),第二图像通道能够对应于系数的接下来N个DCT通道值(例如,值64至127),依此类推。因此,给定特定系数,能够从系数的DCT通道值直接确定哪个图像通道由系数表示。在一些其他实现方式中,每个系数包括识别该系数所表示的图像通道的第四参数。
神经网络120被配置成处理压缩的初始图像表示112,并且生成合成图像的压缩表示122。也就是说,神经网络130能够被配置成处理包括或表示压缩的初始图像表示112的网络输入,例如,表示由压缩引擎110生成的系数序列中的一些或全部的网络输入。在一些实现方式中,如在下面参考图2A更详细地描述的,神经网络120被配置成进一步处理识别合成图像的期望属性的调节输入。神经网络120能够具有用于生成合成图像的压缩表示122的任何适当的网络架构。在下面参考图2A和图2B更详细地讨论示例网络架构。
例如,合成图像生成系统100能够被配置成处理黑白初始图像102,以生成初始图像102的合成彩色化版本的压缩表示122。作为特定示例,压缩的初始图像表示112能够表示用于黑白初始图像102的亮度通道的DCT系数,并且神经网络130能够被配置成生成表示用于YCbCr合成图像的两个色度通道的相应的DCT系数的网络输出,所述YCbCr合成图像是现有图像的彩色化版本。
作为另一示例,合成图像生成系统100能够被配置成处理低分辨率初始图像102,以生成初始图像102的合成较高分辨率版本的压缩表示122。作为特定示例,压缩的初始图像表示112能够表示从现有图像生成的较低维DCT系数的序列,并且神经网络130能够被配置成增强该序列,以添加表示现有图像中描绘的内容的更精细细节的较高维DCT系数。
尽管本说明书提及生成图像的稀疏表示,但是所描述的技术能够通常用于生成不是图像的输出的稀疏表示。也就是说,神经网络130能够被配置成生成任何适当类型的数据的稀疏表示。输出可以是任何类型的信号,该信号能够使用有损压缩算法来处理以生成该信号的压缩表示。例如,神经网络能够130被配置成生成文本序列、音频数据序列或视频帧序列。
图1B是示例合成图像生成系统150的图。合成图像生成系统150是在一个或多个位置中的一个或多个计算机上作为计算机程序实现的系统的示例,其中能够实现下述系统、组件和技术。
合成图像生成系统150被配置成生成全新合成图像——即不基于如以上参考图1A所描述的现有图像的合成图像——的压缩表示162。
合成图像生成系统150包括神经网络160。神经网络160被配置成处理随机种子152,例如,用于使合成图像的压缩表示162的生成随机化的随机生成的张量。神经网络160能够具有用于生成合成图像的压缩表示162的任何适当的网络架构。在下面参考图2A和图2B更详细地讨论示例网络架构。
例如,神经网络130能够被配置成自回归地生成压缩表示162的系数序列。
在一些实现方式中,神经网络160也接收识别合成图像的期望特性的调节输入作为输入。例如,调节输入能够指定对合成图像的内容的要求。在下面参考图2A更详细地描述调节输入以及神经网络如何能够被配置成在生成合成图像的压缩表示时并入调节输入的示例。
图2A是被配置成生成合成图像的压缩表示226的示例神经网络200的图。压缩表示226表示在已经使用压缩算法来处理合成图像之后的合成图像。
在一些实现方式中,神经网络200被配置成生成全新合成图像的压缩表示。例如,能够类似于以上参考图1B描述的神经网络160配置神经网络200。在一些其他实现方式中,神经网络200被配置成生成作为现有图像的增强版本的合成图像的压缩表示。例如,能够类似于以上参考图1A描述的神经网络120配置神经网络200。
神经网络200能够包括编码器子网络210和解码器子网络220。
编码器子网络210被配置成处理网络输入202并且生成作为网络输入202的嵌入的编码网络输入212。在本说明书中,嵌入是在特定嵌入空间中表示输入的数值的有序合集。例如,嵌入可以是浮点或其他数值的具有固定维数的向量。
在神经网络200的训练期间,能够从训练图像的压缩表示生成网络输入202;在下面参考图3更详细地描述此过程。
在神经网络被配置成生成作为现有图像的增强版本的合成图像的压缩表示226的实现方式中,网络输入202表示在已经使用压缩算法来压缩现有图像之后的现有图像。特别地,网络输入202包括或者表示如上所述每一个均表示现有图像的相应像素或像素块的系数序列。
在一些实现方式中,编码网络输入212包括由网络输入202表示的系数序列中的相应系数的嵌入序列。例如,编码器子网络210可以是对网络输入202的系数序列应用自注意力以生成包括序列中的每个系数的更新表示的编码网络输入212的自注意力神经网络。换句话说,编码器子网络210可以是Transformer编码器。
在神经网络被配置成生成新合成图像的压缩表示226的实现方式中,网络输入202表示随机种子,例如,用于使合成图像的压缩表示226的生成随机化的随机生成的张量。在一些此类实现方式中,神经网络200能够通过不使用编码器子网络210来处理随机网络输入202而是替代地直接生成随机编码网络输入212来节省计算资源。
在一些实现方式中,神经网络200也接收识别其压缩表示226将由神经网络200生成的合成图像的期望特性的调节输入204作为输入。例如,调节输入204能够指定对合成图像的内容的要求。
例如,调节输入204能够包括识别合成图像的期望类的类标签。作为特定示例,类标签能够识别应该在合成图像中描绘的语义对象,例如,“狗”或“城市”。作为另一特定示例,类标签能够识别合成图像中描绘的环境的语义状态,例如,“白天”或“冬天”。在一些实现方式中,神经网络200在处理网络输入202之前,将类标签作为网络输入202所表示的系数序列的新元素附加。在一些其他实现方式中,神经网络200在处理网络输入202之前,将类标签连结到网络输入202所表示的序列中系数中的一个或多个(例如,连结到每一个系数)。
作为另一示例,调节输入204能够包括文本输入,该文本输入表示描述合成图像的标题或其他文本序列。神经网络200然后能够例如使用神经网络200的编码器子网络210或不同的编码器子网络来处理表示文本输入的序列,以生成文本输入的嵌入,并且将文本输入的嵌入与编码网络输入212组合。替代地或另外,神经网络200能够将文本输入的嵌入与编码器子网络210和/或解码器子网络220的相应的神经网络层(例如,自注意力层)的一个或多个中间输出组合(例如,通过添加)。
解码器子网络220被配置成处理编码网络输入212并且自回归地生成表示用于合成图像的压缩表示226的新系数的子输出222。也就是说,在第一时间步,解码器子网络220能够处理编码网络输入212以生成表示合成图像的压缩表示的第一新系数的第一子输出222。然后,在多个后续时间步,解码器子网络220能够处理(i)在前面时间步生成的相应的子输出222以及可选地(ii)编码网络输入220,以生成表示后续新系数的相应的后续子输出222。
如以上参考图1A所描述的,解码器子网络220能够被配置成以特定次序,例如以图像通道、DCT通道、位置和/或值的次序生成表示相应的新系数的子输出222。
在一些实现方式中,解码器子网络220是对在前面时间步生成的子输出222的序列应用自注意力的自注意力神经网络。在一些此类实现方式中,解码器子网络220能够执行掩蔽自注意力,使得后续子输出222不用于关注生成的子输出的序列中的前面子输出222。替代地或另外,解码器子网络220能够包括一个或多个交叉注意力神经网络层,其中编码网络输入212(其能够包括由网络输入202表示的系数的相应嵌入)用于关注所生成的子输出222。换句话说,解码器子网络220可以是Transformer解码器。
在一些实现方式中,神经网络200使用编码器子网络210周期性地处理生成的子输出222的集合224以生成新的编码网络输入212。也就是说,解码器子网络220能够使用原始编码网络输入212来生成表示相应的新系数的n个子输出222;使用编码器子网络210来处理n个子输出222(可选地连同原始网络输入202一起,例如,通过将子输出222所表示的新系数与网络输入202所表示的系数序列连结)以生成新的编码网络输入212;并且如上所述使用新的编码网络输入212来生成另一n个子输出222;依此类推。
在一些实现方式中,解码器子网络220包括与表示合成图像的压缩表示226的系数的相应分量相对应的多个不同的解码器。在下面参考图2B更详细地描述具有多个解码器的示例解码器子网络。
神经网络200的最终网络输出,即压缩表示226,能够包括由解码器子网络220生成的每个子输出222,即,合成图像的压缩表示中的每个新系数。在网络输入202它本身表示系数序列的实现方式中,压缩表示226能够包括(i)网络输入202中的系数和(ii)由解码器子网络220生成的系数两者。
在一些实现方式中,解码器子网络220在输出最终压缩表示226之前生成固定数目的子输出222。例如,在神经网络200的训练期间,解码器子网络220能够生成与在目标输出中存在的系数相同数目的子输出222。在下面参考图3更详细地描述用于训练神经网络200的示例技术。在一些其他实现方式中,解码器子网络220被配置成生成作为用于指示合成图像完成的“停止词元(stopping token)”的子输出222。
图2B是被配置成生成合成图像的压缩表示256的示例神经网络230的图。压缩表示256表示在已经使用压缩算法来处理合成图像之后的合成图像。
在一些实现方式中,神经网络230被配置成生成全新合成图像的压缩表示。例如,能够类似于以上参考图1B描述的神经网络160配置神经网络230。在一些其他实现方式中,神经网络230被配置成生成作为现有图像的增强版本的合成图像的压缩表示。例如,能够类似于以上参考图1A描述的神经网络120配置神经网络230。
神经网络230被配置成接收(i)网络输入232和可选地(ii)调节输入234作为输入。
在神经网络230的训练期间,能够从训练图像的压缩表示生成网络输入232;在下面参考图3更详细地描述此过程。
在一些实现方式中,神经网络230被配置成从头开始生成合成图像的压缩表示256。在这些实现方式中,在神经网络230已经被训练之后,网络输入232能够表示随机种子,例如,用于使合成图像的压缩表示256的生成随机化的随机地生成的张量。
在一些其他实现方式中,神经网络230被配置成生成作为相应的现有黑白图像的彩色化版本的合成图像的压缩表示256。在这些实现方式中,网络输入232能够包括表示现有黑白图像的压缩表示的系数序列。
在一些其他实现方式中,神经网络230被配置成生成作为相应的现有图像的较高分辨率版本的合成图像的压缩表示256。在这些实现方式中,网络输入232能够包括表示现有图像的压缩表示的系数序列。
编码器子网络240被配置成处理网络输入232并且生成作为网络输入232的嵌入的编码网络输入242。在网络输入232包括图像的压缩表示的系数序列的实现方式中,编码网络输入242能够包括每一个系数的相应嵌入。
如以上参考图2A所描述的,调节输入234能够识别其压缩表示256将由神经网络230生成的合成图像的一个或多个期望属性。在这些实现方式中,编码器子网络240可以如以上参考图2A所描述的那样组合调节输入234和网络输入232(或其嵌入)。
在随机地生成网络输入232的一些实现方式中,神经网络230能够通过不使用编码器子网络240来处理随机网络输入232而是替代地直接生成随机编码网络输入242来节省计算资源。
解码器子网络250被配置成处理编码网络输入242并且为合成图像的压缩表示256自回归地生成新系数252。也就是说,在第一时间步,解码器子网络250能够处理编码网络输入242以生成合成图像的压缩表示的第一新系数252。然后,在多个后续时间步,解码器子网络250能够处理(i)在前面时间步生成的相应系数252以及可选地(ii)编码网络输入242,以生成相应的后续新系数252。
解码器子网络250包括每一个均作为被配置成生成新系数252的元素的子网络的三个解码器:被配置成生成新系数252的通道262的标识的通道解码器260、被配置成生成新系数252的位置272的标识的位置解码器270、以及被配置成生成新系数252的值282的值解码器280。
在每个时间步,通道解码器260被配置成处理(i)编码网络输入242,并且在第一时间步之后,处理(ii)一个或多个先前生成的系数252,以生成新系数252的通道262的标识。在压缩图像表示256具有通过DCT压缩定义的格式的实现方式中,通道262是DCT通道。也就是说,通常通道262不表示图像通道的标识,而是通过神经网络230被配置成根据其生成压缩图像表示256的压缩算法所定义的系数通道。
例如,通道解码器260可以是对先前生成的系数252的序列应用掩蔽自注意力并且在先前生成的系数252与编码网络输入242之间应用交叉注意力的Transformer解码器。作为特定示例,通道解码器260能够将隐藏状态H通道计算为:
E通道=C1:S-1+P1:-1+V1:S-1+P组块
H通道=decode通道(E通道;E输入)
其中C1:S-1表示先前生成的系数222的通道262;P1:S-1表示先前生成的系数252的位置272;并且V1:S-1表示先前生成的系数252的值282。对于每个先前生成的系数252,P组块表示系数252在“组块”(即,子序列)内的位置,例如,识别该系数在迄今为止由解码器子网络250生成的所有系数当中的位置(或该系数在响应于处理由编码器子网络240生成的特定编码网络输入242而生成的系数当中的位置;如以上参考图2A所描述的,在一些实现方式中,编码器子网络240能够在神经网络230的执行期间迭代地生成多个不同的编码网络输入242)。函数decode通道表示通道解码器260的神经网络层的序列,其中神经网络层对首先列举的输入(即,E通道)应用掩蔽自注意力并且对其次列举的输入(即,E输入)应用交叉注意力。
然后能够例如使用一个或多个前馈神经网络层来处理隐藏状态H通道,以确定通道262的标识。作为特定示例,通道解码器260能够使用一个或多个神经网络层来处理隐藏状态H通道,以对于每个可能的通道,生成新系数252对应于通道的似然值,并且识别具有最高似然的通道262。
在每个时间步,位置解码器270被配置成处理从(i)由通道解码器260生成的通道262的标识、(ii)一个或多个先前生成的系数252、以及可选地(iii)编码网络输入242生成的输入,以生成新系数252的位置272的标识。位置272从如上所述的一组预先确定的像素块中识别新系数252将表示合成图像中的哪个像素块。
例如,位置解码器270可以是Transformer解码器,该Transformer解码器将由通道解码器260生成的通道252的标识(或由通道解码器260生成的中间表示,例如,H通道)与先前生成的系数252的序列组合,并且(i)对组合应用掩蔽自注意力,以及(ii)在组合与编码网络输入242之间应用交叉注意力。作为特定示例,位置解码器270能够将隐藏状态H位置计算为:
E位置=H通道+C2:S
H位置=decode位置(E位置;E输入)
其中C2:S是通过将通道262的标识连结到先前生成的系数252的通道的标识而生成的。函数decode位置表示位置解码器270的神经网络层的序列,其中神经网络层对首先列举的输入(即,E位置)应用掩蔽自注意力并且对其次列举的输入(即,E输入)应用交叉注意力。
然后能够例如使用一个或多个前馈神经网络层来处理隐藏状态H位置,以确定位置272的标识。作为特定示例,位置解码器270能够使用一个或多个神经网络层来处理隐藏状态H通道,以对于合成图像中的每个可能的位置,生成新系数252对应于位置的似然值,并且识别具有最高似然的位置272。
在每个时间步,值解码器280被配置成处理从(i)由通道解码器260生成的通道262的标识、(ii)由位置解码器270生成的位置272的标识、(iii)一个或多个先前生成的系数252、以及可选地(iv)编码网络输入242生成的输入,以生成新系数252的值282。
例如,值解码器280可以是Transformer解码器,该Transformer解码器将由位置解码器270生成的位置272的标识(或由位置解码器270生成的中间表示,例如,H位置)与先前生成的系数252在合成图像中的相同位置272中的值组合,并且(i)对组合应用掩蔽自注意力,以及(ii)在组合与编码网络输入242之间应用交叉注意力。作为特定示例,值解码器250能够将隐藏状态H计算为:
E=H位置+gather(E输入,P2:S)
H=decode(E;E输入)
其中P2:S是通过将位置272的标识连结到先前生成的系数252的位置的标识而生成的,并且对于P2:S中的每个位置,函数“gather”选择在编码网络输入242中与相同位置相对应的相应嵌入,从而允许值解码器280访问值解码器280将进行预测的位置处的其他值282。也就是说,函数“gather”获得(i)对于每一个先前生成的系数252,在编码网络输入242中与和该系数相同的空间位置相对应的嵌入,以及(ii)在编码网络输入242中与和由位置解码器270生成的位置272相同的空间位置相对应的嵌入。
函数decode表示值解码器280的神经网络层的序列,其中神经网络层对首先列举的输入(即,E)应用掩蔽自注意力并且对其次列举的输入(即,E输入)应用交叉注意力。
然后能够例如使用一个或多个前馈神经网络层来处理隐藏状态H,以确定新值282。
在一些实现方式中,神经网络230使用编码器子网络240周期性地处理由解码器子网络250生成的系数252的集合254以生成新的编码网络输入242,然后使用该新的编码网络输入242来生成附加的新系数252,如以上参考图2A所描述的。
尽管如图2B中描绘的,值解码器280跟随位置解码器270,位置解码器270跟随通道解码器260,但是通常这三个解码器能够具有任何次序。在一些其他实现方式中,解码器260、270或280中的两个或更多个能够并行执行,即,能够取不要求完成其他解码器中的一者或两者的输入。
图3是示例训练系统300的图。训练系统300是在一个或多个位置中的一个或多个计算机上作为计算机程序实现的系统的示例,其中能够实现下述系统、组件和技术。
训练系统300被配置成将神经网络330训练成生成合成图像的压缩表示。也就是说,训练系统300将神经网络330训练成生成表示在已经使用压缩算法来压缩合成图像之后的合成图像的数据。然后能够根据压缩算法对由神经网络330生成的压缩表示进行解码以恢复合成图像。如以上参考图1A所描述的,压缩算法可以是有损压缩算法,即,其中仅能够从由神经网络330生成的压缩表示恢复合成图像的近似。
在训练系统300训练神经网络330之前预配置有损压缩算法,使得神经网络330被训练成生成与有损压缩算法匹配的输出。换句话说,有损压缩算法不是与神经网络330的训练联合地学习的,而是相反神经网络330被训练成生成其格式由预配置的有损压缩算法定义的输出。
训练系统300被配置成使用训练图像302来训练神经网络330。通常,训练系统300在神经网络330的训练期间使用多个不同的训练图像302来重复下述过程(即,使用相应的训练图像302或训练图像302的批次来为神经网络330的参数生成多个参数更新362)。
训练系统300包括压缩引擎310、采样引擎320、神经网络330和训练引擎360。
压缩引擎310被配置成使用压缩算法来处理训练图像302以生成训练图像302的压缩表示312。压缩图像表示312能够包括系数的集合,每一个所述系数定义训练图像302的相应像素或像素块的参数。每个系数能够识别(i)该系数所表示的合成图像中的位置、(ii)该系数所表示的合成图像的压缩表示的系数通道、以及(iii)该系数的值。可选地,每个系数能够进一步识别对应的图像通道;在一些其他实现方式中,图像通道由系数通道的值暗示,如以上参考图1A所描述的。在压缩表示312中系数能够以任何适当的次序布置在序列中。
损失压缩算法可以是用于生成图像302的压缩表示312的任何适当的压缩算法。例如,压缩引擎310能够使用以上参考图1A描述的任何压缩算法,例如,DCT压缩。尽管为了方便以下描述提及DCT压缩,但是应当理解,通常训练系统300能够将神经网络330训练成根据任何适当的压缩算法生成合成图像的压缩表示。
如以上参考图1A所描述的,在一些实现方式中,对于训练图像302的一个或多个图像通道,压缩引擎310在执行压缩之前对图像通道进行下采样。例如,如果训练图像302是YCbCr图像,则压缩引擎310能够对Cb通道和Cr通道进行下采样(例如,2的因数),同时保存Y通道的分辨率。
如以上参考图1A所描述的,对于训练图像302的每个图像通道,在为训练图像302中的每个像素块(或单个像素)生成DCT值之后,压缩引擎310能够对像素块进行量化(即,对与每个像素块相对应的DCT值的集合进行量化),以去除对训练图像302的完整表示未作出重大贡献的频率。
因此,使用DCT压缩,压缩引擎310能够生成压缩图像表示312,其对于训练图像302的每个图像通道,包括系数的集合,每一个所述系数包括:(i)像素块在训练图像302中的位置的标识、(ii)DCT通道的标识以及(iii)DCT值。
采样引擎320被配置成从训练图像302的压缩表示312生成用于神经网络330的网络输入322和目标输出324,该目标输出324表示应该由神经网络330响应于处理网络输入322而生成的网络输出356。
目标输出324表示压缩图像表示312所表示的系数序列的第一子序列。通过将神经网络330训练成生成与表示不同的压缩图像表示312的不同子序列的目标输出324匹配的网络输出356,训练系统300能够将神经网络330训练成为新合成图像的压缩表示生成整个系数序列(或者,在神经网络330被配置成如下所述使现有图像彩色化或者提高现有图像的分辨率的实现方式中,增强现有图像的压缩表示的系数序列)。
网络输入322表示压缩图像表示312所表示的系数序列的第二子序列,其中在压缩图像表示中第二子序列在第一序列之前。例如,第二子序列能够包括在压缩图像表示312所表示的系数序列中在第一子序列之前的每个系数。作为另一示例,第二子序列能够包括在压缩图像表示312所表示的系数序列中紧接在第一子序列之前的固定数目的系数。
在一些实现方式中,采样引擎320从压缩图像表示312中的系数序列中均匀地对目标输出324进行采样。在一些其他实现方式中,采样引擎320使针对目标输出324的子序列的选择偏向压缩图像表示312中的系数序列的开头,该系数序列的开头包含更多的低频率信息,因此对合成图像的质量具有较高的影响。作为特定示例,采样引擎320能够以与l-3成比例的似然(例如,下至最小似然)对在系数序列中的位置l处的系数进行采样以作为目标输出324的开头。
在一些实现方式中,在目标输出324和网络输入322中存在系数的重叠;这种重叠能够在生成前几个系数(即,重叠中的系数)时帮助神经网络330。
训练系统300将神经网络330训练成响应于处理网络输入322来生成与目标输出324匹配的网络输出356。也就是说,训练系统300将神经网络330训练成响应于处理表示压缩图像表示312的系数的前面第二子序列来生成系数的第一子序列。
在一些实现方式中,神经网络330被配置成从头开始生成合成图像的压缩表示,即,完全新合成图像的压缩表示。例如,神经网络330能够被配置成自回归地生成压缩表示的系数序列。因此,训练系统300能够通过将神经网络330训练成响应于处理系数的前面第二子序列来对于表示相应不同的训练图像302的多个不同的系数序列生成系数的相应的第一子序列,来将神经网络训练成生成新合成图像的压缩表示。
在一些其他实现方式中,神经网络330被配置成生成作为现有图像的增强的合成图像的压缩表示。在这些实现方式中,神经网络330能够被配置成处理表示现有图像的网络输入322,例如,表示如上所述表示现有图像的压缩表示的系数序列中的一些或全部的网络输入322。
神经网络330能够具有用于从网络输入322生成表示合成图像的压缩表示的网络输出356的任何适当的网络架构。例如,能够类似于以上参考图2A描述的神经网络200或以上参考图2B描述的神经网络230配置神经网络330。
在一些实现方式中,如以上参考图1A所描述的,神经网络330也接收识别网络输出356所表示的合成图像的期望特性的调节输入326作为输入。
在神经网络330生成包括用于合成图像的压缩表示的系数的网络输出356之后,神经网络330能够将网络输出356提供给训练引擎360。
训练引擎360被配置成确定以下项之间的误差:(i)表示由神经网络330生成的系数的网络输出356以及(ii)表示训练图像302的压缩表示312的“真实”系数的目标输出324。训练引擎360然后能够使用所确定的误差来为神经网络330的一组可学习参数(例如,编码器子网络340和解码器子网络350的网络参数)生成参数更新362。例如,所确定的误差可以是交叉熵误差。
训练系统300能够针对多个不同的训练图像302重复以上过程,直到神经网络330被训练为止,例如,直到神经网络330的性能(例如,如由预测准确性所测量的)达到预先确定的阈值为止、直到对神经网络330的性能的边缘改进下降至预先确定的阈值以下为止、直到已经执行阈值数目的训练迭代为止、或直到阈值时间量已经过去为止。可以基于随机梯度下降或其他适当的神经网络训练技术确定参数更新362。
在训练之后,神经网络330能够被部署在推断环境中,例如,以生成新合成图像,使现有黑白图像彩色化,并且/或者提高现有低分辨率图像的分辨率。例如,在训练之后,神经网络330能够被部署在以上参考图1A描述的合成图像增强系统100和/或以上参考图1B描述的合成图像生成系统150中。
图4是用于生成合成图像的压缩表示的示例过程400的流程图。为了方便,过程400将被描述为由位于一个或多个位置中的一个或多个计算机的系统执行。例如,依照本说明书适当地编程的合成图像生成系统,例如图1A中描绘的合成图像生成系统100或图1B中描绘的合成图像生成系统150,能够执行过程400。
可选地,系统获得表示在已经使用有损压缩算法来对初始图像进行编码之后的初始图像的初始系数(步骤402)。
系统使用生成式神经网络来生成表示在已经使用有损压缩算法来对合成图像进行编码之后的合成图像的系数(步骤404)。
例如,合成图像能够被分段成多个像素块,并且每个像素块能够由一个或多个所生成的系数表示。作为特定示例,每个系数可以是离散余弦变换(DCT)系数,该DCT系数识别合成图像的相应块的相应DCT通道的通道值。
在一些实现方式中,生成式神经网络是自回归神经网络,该自回归神经网络在多个时间点中的每一个时间点,(i)获得由生成式神经网络在相应的先前时间点生成的先前系数并且(ii)处理先前系数以生成当前时间点的新系数。
在一些实现方式中,生成式神经网络从头开始为合成图像生成系数;也就是说,系统不执行步骤402。在这些实现方式中,系统能够为合成图像获得随机种子;使用生成式神经网络的编码器子网络来处理随机种子以生成随机种子的编码表示;以及在多个时间点中的每一个时间点:获得由生成式神经网络在相应的先前时间点生成的先前系数;并且使用生成式神经网络的解码器子网络来处理i)随机种子的编码表示和ii)先前系数以生成新系数。
在一些其他实现方式中,系统执行步骤402,并且合成图像是初始图像的更新版本。在这些实现方式中,系统能够使用神经网络的编码器子网络来处理初始系数以生成初始系数的编码表示;以及在多个时间点中的每一个时间点:获得由生成式神经网络在相应的先前时间点生成的先前系数;并且使用生成式神经网络的解码器子网络来处理i)初始系数的编码表示和ii)多个先前系数以生成新系数。
作为特定示例,合成图像可以是初始图像的彩色化版本;或初始图像的较高分辨率版本。
系统通过对在步骤404中生成的系数应用有损压缩算法来对合成图像进行解码(步骤406)。系统能够将解码后的合成图像提供给任何适当的外部系统,例如,以供存储或进一步处理。
图5是使用被配置成生成合成图像的压缩表示的神经网络来生成的示例合成图像510、520和530的图示。
例如,可能已经使用以上参考图1A描述的合成图像生成系统100的神经网络120、以上参考图1B描述的合成图像生成系统150的神经网络160、以上参考图2A描述的神经网络200、或以上参考图2B描述的神经网络230生成了合成图像510、520和530。
特别地,合成图像510、520和530是由神经网络生成的合成图像510、520和530的相应的压缩表示的解码版本。神经网络能够被配置成生成压缩表示的系数的集合,例如,通过如上所述自回归地生成表示相应系数的输出。
在一些实现方式中,合成图像510、520和530中的一个或多个是相应的原始图像的增强版本。例如,可能已经通过处理合成图像520的低分辨率版本(例如,现实蘑菇的低分辨率图像)生成了描绘蘑菇的第二合成图像520。
在一些实现方式中,合成图像510、520和530中的一个或多个是全新的,即,尚不是基于相应的现有图像而生成的。例如,可能已经从随机种子生成了描绘人的第一合成图像510。
在一些实现方式中,已经从识别合成图像510、520和530的期望特性的相应的调节输入生成了合成图像510、520和530中的一个或多个。例如,可能已经从例如识别对象的数目或配置的调节输入生成了描绘反射和消光几何对象集合的第三合成图像530。
本说明书连同系统和计算机程序组件一起使用术语“被配置”。让一个或多个计算机的系统被配置成执行特定操作或动作意味着该系统已经在其上安装了在操作中使该系统执行操作或动作的软件、固件、硬件或它们的组合。让一个或多个计算机程序被配置成执行特定操作或动作意味着该一个或多个程序包括当由数据处理装置运行时使该装置执行操作或动作的指令。
本说明书中描述的主题和功能操作的实现方式能够用数字电子电路、用有形地体现的计算机软件或固件、用计算机硬件(包括本说明书中公开的结构及其结构等同物)、或者用它们中的一个或多个的组合加以实现。本说明书描述的主题的实现方式能够作为一个或多个计算机程序,即在有形非暂时性存储介质上编码以供由数据处理装置运行或者控制数据处理装置的操作的计算机程序指令的一个或多个模块被实现。计算机存储介质可以是机器可读存储设备、机器可读存储基底、随机或串行存取存储器设备、或它们中的一个或多个的组合。替换地或另外,程序指令能够被编码在人工生成的传播信号例如机器生成的电、光或电磁信号上,所述信号被生成来对信息进行编码以供发送到合适的接收装置以供由数据处理装置运行。
术语“数据处理装置”指数据处理硬件并且包含用于处理数据的所有种类的装置、设备和机器,作为示例包括可编程处理器、计算机或多个处理器或计算机。所述装置也可以是或者进一步包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。所述装置除了包括硬件之外,还能够可选地包括为计算机程序创造执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
计算机程序(其也可以被称为或描述为程序、软件、软件应用、app、模块、软件模块、脚本或代码)能够用包括编译或解释语言或声明或过程语言的任何形式的编程语言编写;并且它能够被以任何形式部署,所述任何形式包括作为独立程序或者作为模块、组件、子例程或适合于在计算环境中使用的其他单元。程序可以但不必对应于文件系统中的文件。能够在保持其他程序或数据(例如,存储在标记语言文件中的一个或多个脚本)的文件的一部分中、在专用于所述程序的单个文件中、或在多个协调文件(例如,存储代码的一个或多个模块、子程序或部分的文件)中存储程序。计算机程序能够被部署成在一个计算机上或在多个计算机上运行,所述多个计算机位于一个站点处或者跨多个站点分布并且通过数据通信网络互连。
在本说明书中,术语“数据库”广泛地用于指数据的任何合集:数据不需要被以任何特定方式构造,或者根本未被构造,并且它能够被存储在一个或多个位置中的存储设备上。因此,例如,索引数据库能够包括数据的多个合集,每个合集可以被不同地组织和访问。
类似地,在本说明书中术语“引擎”广泛地用于指被编程来执行一个或多个特定功能的基于软件的系统、子系统或过程。通常,引擎将被实现为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定引擎;在其他情况下,能够在一个或多个相同的计算机上安装和运行多个引擎。
本说明书中描述的过程和逻辑流程可以是通过一个或多个可编程计算机运行一个或多个计算机程序以通过对输入数据进行操作并且生成输出来执行功能来执行的。过程和逻辑流程也能够由专用逻辑电路(例如,FPGA或ASIC)执行,或者由专用逻辑电路和一个或多个编程计算机的组合执行。
适合于运行计算机程序的计算机能够基于通用微处理器或专用微处理器或两者,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元件是用于执行或运行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器能够由专用逻辑电路补充,或者并入在专用逻辑电路中。通常,计算机也将包括以下项,或者在操作上耦合以从以下项接收数据或者向以下各转移数据,或者兼而有之:用于存储数据的一个或多个大容量存储设备,例如,磁盘、磁光盘或光盘。然而,计算机不需要具有此类设备。此外,计算机能够被嵌入在下列另一设备中:例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备,例如,通用串行总线(USB)闪存驱动器,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,作为示例包括:半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动盘;磁光盘;以及CD ROM和DVD-ROM盘。
为了提供与用户的交互,能够在计算机上实现本说明书中描述的主题的实施例,该计算机具有用于向用户显示信息的显示设备,例如,CRT(阴极射线管)或LCD(液晶显示器)监视器,并且具有用户能够借以向该计算机提供输入的键盘和指点设备,例如,鼠标或轨迹球。其他种类的设备也能够用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声学输入、语音输入或触觉输入。另外,计算机能够通过向用户所使用的设备发送文件和从用户所使用的设备接收文件来与用户交互;例如,通过响应于从用户的设备上的web浏览器接收到的请求来向该web浏览器发送web页面。另外,计算机能够通过向个人设备(例如,正在运行消息传送应用的智能电话)发送文本消息或其他形式的消息并且从用户接收响应消息作为回报来与用户交互。
用于实现机器学习模型的数据处理装置也能够包括例如用于处理机器学习训练或产生即推断工作负载的常见且计算密集部分的专用硬件加速器单元。
机器学习模型能够使用机器学习框架(例如,TensorFlow框架)来实现和部署。
能够在计算系统中实现本说明书中描述的主题的实施例,该计算系统包括后端组件,例如,作为数据服务器,或者包括中间件组件,例如,应用服务器,或者包括前端组件,例如,具有用户能够借以与本说明书中描述的主题的实现方式交互的图形用户界面、web浏览器或app的客户端计算机,或者包括一个或多个此类后端、中间件或前端组件的任何组合。系统的组件能够通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如,因特网。
计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实现方式中,服务器例如出于向与作为客户端的设备交互的用户显示数据并且从与作为客户端的设备交互的用户接收用户输入的目的而向用户设备发送数据,例如,HTML页面。在用户设备处生成的数据,例如,用户交互的结果,可以是在服务器处从该设备接收的。
虽然本说明书包含许多具体实现方式细节,但是这些不应该被解释为对任何发明的范围或可能被要求保护的范围的限制,而是相反被解释为可以特定于特定发明的特定实施例的特征的描述。也能够在单个实施例中相结合地实现在本说明书中在单独的实施例中描述的某些特征。相反地,也能够在多个实施例中单独地或以任何合适的子组合实现在单个实施例的上下文中描述的各种特征。此外,尽管特征可能在上面被描述为以某些组合起作用并且甚至最初被如此要求保护,但是来自要求保护的组合的一个或多个特征可以在一些情况下被从组合中除去,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然以特定次序在附图中描绘并且在权利要求中叙述操作,但是这不应该被理解为要求以所示特定次序或以顺序次序执行此类操作,或者要求执行所有图示的操作,以实现所希望的结果。在某些情况下,多任务处理和并行处理可以是有利的。此外,各种系统模块和组件在上述实施例中的分离不应该被理解为在所有实施例中要求这种分离,并且应该理解,所描述的程序组件和系统通常能够被一起集成在一个软件产品中或包装到多个软件产品中。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中叙述的动作能够被以不同次序执行并且仍然实现所希望的结果。作为一个示例,附图中描绘的过程不一定要求所示特定次序或顺序次序来实现所希望的结果。在一些情况下,多任务处理和并行处理可以是有利的。

Claims (22)

1.一种使用生成式神经网络来生成合成图像的方法,所述方法包括:
使用所述生成式神经网络来生成多个系数,所述多个系数表示在已经使用有损压缩算法来对所述合成图像进行编码之后的所述合成图像;以及
通过对所述多个系数应用所述有损压缩算法来对所述合成图像进行解码。
2.根据权利要求1所述的方法,其中,所述合成图像被分段成多个像素块,并且其中,每个像素块由所述多个系数中的一个或多个相应系数表示。
3.根据权利要求1或权利要求2中的任一项所述的方法,其中,生成所述多个系数包括,在多个时间点中的每一个时间点:
获得由所述生成式神经网络在相应先前时间点生成的多个先前系数;以及
处理所述多个先前系数以生成新系数。
4.根据权利要求3所述的方法,其中:
每个系数表示像素或像素块并且识别与i)相应系数通道和ii)所述像素或所述像素块在所述合成图像中的相应位置相对应的系数通道值;以及
生成所述新系数包括预测i)所述新系数在所述合成图像中的位置、ii)所述新系数的系数通道和iii)所述新系数的系数通道值。
5.根据权利要求4所述的方法,其中,生成所述新系数进一步包括:
使用第一子网络来处理从所述多个先前系数的嵌入生成的第一子网络输入,以生成表示所述新系数的系数通道的第一子网络输出;
使用第二子网络来处理从所述第一子网络输出生成的第二子网络输入,以生成表示所述新系数在所述合成图像中的位置的第二子网络输出;以及
使用第三子网络来处理从所述第二子网络输出生成的第三子网络输入,以生成表示所述新系数的系数通道值的第三子网络输出。
6.根据权利要求4或权利要求5中的任一项所述的方法,其中,处理所述多个先前系数以生成所述新系数包括:
根据第一多个系数的系数通道对所述第一多个系数进行排序;以及
处理经排序的第一多个系数以生成所述新系数。
7.根据权利要求6所述的方法,其中:
每个系数对应于多个图像通道中的一个;并且
与相同的相应图像通道相对应的系数序列在所述经排序的第一多个系数中以间隔交错。
8.根据权利要求1至7中的任一项所述的方法,其中,生成所述多个系数包括:
为所述合成图像获得随机种子;
使用所述神经网络的编码器子网络来处理所述随机种子以生成所述随机种子的编码表示;以及
在多个时间点中的每一个时间点:
获得由所述生成式神经网络在相应先前时间点生成的多个先前系数;以及
使用所述生成式神经网络的解码器子网络来处理i)所述随机种子的所述编码表示和ii)所述多个先前系数以生成新系数。
9.根据权利要求1至7中的任一项所述的方法,其中:
所述合成图像是初始图像的更新版本;并且
生成所述多个系数包括:
获得多个初始系数,所述多个初始系数表示在已经使用所述有损压缩算法来对所述初始图像进行编码之后的所述初始图像;
使用所述神经网络的编码器子网络来处理所述多个初始系数以生成所述多个初始系数的编码表示;以及
在多个时间点中的每一个时间点:
获得由所述生成式神经网络在相应先前时间点生成的多个先前系数;以及
使用所述生成式神经网络的解码器子网络来处理i)所述多个初始系数的所述编码表示和ii)所述多个先前系数以生成新系数。
10.根据权利要求9所述的方法,其中,所述合成图像是以下中的一个或多个:
所述初始图像的彩色化版本;或
所述初始图像的较高分辨率版本。
11.根据权利要求1至10中的任一项所述的方法,其中,生成所述多个系数包括:
生成第一多个系数;
使用所述神经网络的编码器子网络来处理所述第一多个系数以生成所述第一多个系数的编码表示;以及
在多个第二时间点中的每一个第二时间点:
获得由所述生成式神经网络在相应先前第二时间点生成的多个先前系数;以及
使用所述生成式神经网络的解码器子网络来处理i)所述第一多个系数的所述编码表示和ii)所述多个先前系数以生成新系数。
12.根据权利要求11所述的方法,其中,生成所述多个系数进一步包括:
重复地执行包括以下的操作:
获得由所述生成式神经网络先前生成的所有系数;
使用所述编码器子网络来处理所获得的系数以生成所获得的系数的编码表示;以及
使用所获得的系数的所述编码表示来生成固定数目的新系数。
13.根据权利要求11或权利要求12中的任一项所述的方法,其中:
每个系数表示像素或像素块并且识别与i)相应系数通道和ii)所述像素或所述像素块在所述合成图像中的相应位置相对应的系数通道值;并且
所述解码器子网络包括:
第一子网络,所述第一子网络被配置成预测所述新系数的所述系数通道;
第二子网络,所述第二子网络被配置成预测所述新系数在所述合成图像中的位置;以及
第三子网络,所述第三子网络被配置成预测所述新系数的所述系数通道值。
14.根据权利要求13所述的方法,其中,生成所述新系数包括:
使用所述第一子网络来处理从i)所述第一多个系数的所述编码表示和ii)所述多个先前系数的嵌入生成的第一子网络输入,以生成表示所述新系数的所述系数通道的第一子网络输出;
使用所述第二子网络来处理从i)所述第一多个系数的所述编码表示和ii)所述第一子网络输出生成的第二子网络输入,以生成表示所述新系数在所述合成图像中的位置的第二子网络输出;以及
使用所述第三子网络来处理从i)所述第一多个系数的所述编码表示和ii)所述第二子网络输出生成的第三子网络输入,以生成表示所述新系数的所述系数通道值的第三子网络输出。
15.根据权利要求14所述的方法,其中,所述第三子网络输入是进一步使用由所述生成式神经网络先前生成的与所述新系数在所述合成图像中的相同位置相对应的每个系数来生成的。
16.根据权利要求14或权利要求15中的任一项所述的方法,其中,生成所述新系数进一步包括:
处理所述第一子网络输出以为每个系数通道生成所述新系数对应于该系数通道的似然值;
处理所述第二子网络输出以为所述合成图像中的每个位置生成所述新系数位于该位置处的似然值;以及
处理所述第三子网络输出以为多个系数通道值带中的每一个生成所述新系数具有该系数通道值带中的系数通道值的似然值。
17.根据权利要求8至16中的任一项所述的方法,其中:
所述编码器子网络包括一个或多个自注意力层;并且
所述解码器子网络包括i)一个或多个自注意力层和ii)一个或多个编码器-解码器自注意力层。
18.根据权利要求1至17中的任一项所述的方法,其中,每个系数是离散余弦变换(DCT)系数,所述DCT系数识别所述合成图像的相应块的相应DCT通道的通道值。
19.一种训练根据权利要求1至18中的任一项所述的生成式神经网络的方法,所述方法包括:
获得多个系数,所述多个系数表示在已经使用所述有损压缩算法来对训练图像进行编码之后的所述训练图像;
确定所述系数的第一子集;
使用所述神经网络的编码器子网络来处理所述第一子集以生成所述第一子集的编码表示;
在多个训练时间步中的每一个训练时间步:
获得在相应先前训练时间步生成的多个预测系数;以及
使用所述神经网络的解码器子网络来处理i)所述第一子集的所述编码表示和ii)所述多个预测系数以生成新预测系数;
使用所述训练图像的对应系数来确定所述预测系数的误差;以及
使用所确定的误差来更新所述生成式神经网络的多个参数。
20.一种使用生成式神经网络来处理输入序列以生成具有多个输出元素的输出序列的方法,其中:
所述生成式神经网络包括编码器子网络和多个解码器子网络序列,
所述编码器子网络包括一个或多个自注意力层,
所述解码器子网络序列中的每个解码器子网络包括i)一个或多个自注意力层和ii)一个或多个编码器-解码器自注意力层,
所述方法包括:
使用所述编码器子网络来处理包括所述输入序列的编码器子网络输入,以生成所述输入序列的嵌入;以及
在多个时间步中的每一个时间步:
使用所述解码器子网络序列中的第一解码器子网络来处理从i)所述输入序列的所述嵌入和ii)在先前时间步生成的多个输出词元生成的第一解码器子网络输入,以生成第一解码器子网络输出;
对于所述解码器子网络序列中的每个后续解码器子网络:
使用该后续解码器子网络来处理从i)所述输入序列的所述嵌入和ii)由所述解码器子网络序列中的先前解码器子网络生成的解码器子网络输出生成的后续解码器子网络输入,以生成子序列解码器子网络输出;以及
使用所述解码器子网络输出来在所述输出序列中生成新输出元素。
21.一种系统,所述系统包括一个或多个计算机和一个或多个存储指令的存储设备,所述指令在由所述一个或多个计算机执行时,使所述一个或多个计算机执行根据权利要求1至20中的任一项所述的方法。
22.一个或多个存储指令的计算机存储介质,所述指令在由所述一个或多个计算机执行时,使所述一个或多个计算机执行根据权利要求1至21中的任一项所述的方法。
CN202280011822.2A 2021-02-05 2022-02-07 使用稀疏表示来生成图像 Pending CN116965030A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163146474P 2021-02-05 2021-02-05
US63/146,474 2021-02-05
PCT/EP2022/052895 WO2022167659A1 (en) 2021-02-05 2022-02-07 Generating images using sparse representations

Publications (1)

Publication Number Publication Date
CN116965030A true CN116965030A (zh) 2023-10-27

Family

ID=80786183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280011822.2A Pending CN116965030A (zh) 2021-02-05 2022-02-07 使用稀疏表示来生成图像

Country Status (4)

Country Link
US (1) US20240104785A1 (zh)
EP (1) EP4256786A1 (zh)
CN (1) CN116965030A (zh)
WO (1) WO2022167659A1 (zh)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118194921A (zh) * 2017-10-27 2024-06-14 谷歌有限责任公司 基于关注的图像生成神经网络
CN112218094A (zh) * 2019-07-11 2021-01-12 四川大学 一种基于dct系数预测的jpeg图像去压缩效应方法

Also Published As

Publication number Publication date
US20240104785A1 (en) 2024-03-28
WO2022167659A1 (en) 2022-08-11
EP4256786A1 (en) 2023-10-11

Similar Documents

Publication Publication Date Title
US20200027247A1 (en) Data compression using conditional entropy models
KR20230074137A (ko) 머신 러닝 시스템들을 이용한 인스턴스 적응적 이미지 및 비디오 압축
US20200304804A1 (en) Video compression using deep generative models
TW202247650A (zh) 使用機器學習系統進行隱式圖像和視訊壓縮
US11177823B2 (en) Data compression by local entropy encoding
US12026925B2 (en) Channel-wise autoregressive entropy models for image compression
CN116233445B (zh) 视频的编解码处理方法、装置、计算机设备和存储介质
Shin et al. Expanded adaptive scaling normalization for end to end image compression
US11887277B2 (en) Removing compression artifacts from digital images and videos utilizing generative machine-learning models
US20230412821A1 (en) Encoding a Video Frame Using Different Compression Ratios for Text Blocks and Non-Text Blocks
CN113038134B (zh) 一种图片处理方法、智能终端及存储介质
CN116965030A (zh) 使用稀疏表示来生成图像
Gao et al. Mixed entropy model enhanced residual attention network for remote sensing image compression
US20240223817A1 (en) Video compression using optical flow
US11936866B2 (en) Method and data processing system for lossy image or video encoding, transmission and decoding
Ehrlich The first principles of deep learning and compression
CN113034625B (zh) 一种基于图片的无损压缩方法、智能终端及存储介质
US20240020887A1 (en) Conditional variational auto-encoder-based online meta-learned image compression
KR20230158597A (ko) 신경 이미지 압축에서의 온라인 트레이닝 기반 인코더 튜닝
CN114764806A (zh) 基于搜索空间的图像分割模型生成方法、分割方法及装置
CN117716687A (zh) 使用机器学习系统的隐式图像和视频压缩
CN114095728A (zh) 一种端到端的视频压缩方法、装置和计算机可读存储介质
CN117750014A (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