CN110892419A - 停止码容忍的图像压缩神经网络 - Google Patents
停止码容忍的图像压缩神经网络 Download PDFInfo
- Publication number
- CN110892419A CN110892419A CN201880028534.1A CN201880028534A CN110892419A CN 110892419 A CN110892419 A CN 110892419A CN 201880028534 A CN201880028534 A CN 201880028534A CN 110892419 A CN110892419 A CN 110892419A
- Authority
- CN
- China
- Prior art keywords
- iteration
- neural network
- reconstruction
- image
- tile
- 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.)
- Granted
Links
Images
Classifications
-
- 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
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
用于图像压缩和重构的方法、系统和设备,包括在计算机存储介质上编码的计算机程序。接收到生成输入图像的编码表示的请求。然后生成输入图像的编码表示。该编码表示在每个迭代时包括各自的二进制代码集。从初始二进制集生成用于迭代的二进制代码集包括:对于在任何先前迭代期间已被掩蔽的任何图块,掩蔽该图块。对于在任何先前迭代期间尚未被掩蔽的任何图块,做出关于当从先前迭代中的二进制代码重构时的图块的重构误差是否满足误差阈值的确定。当重构质量满足误差阈值时,掩蔽该图块。
Description
背景技术
本说明书涉及使用神经网络压缩和重构图像。
神经网络是使用一层或多层非线性部件针对接收到的输入预测输出的机器学习模型。一些神经网络除输出层外还包括一个或多个隐藏层。每个隐藏层的输出用作网络中的下一层(即下一个隐藏层或输出层)的输入。网络的每一层根据相应的参数集的当前值从接收到的输入生成输出。
一些神经网络是递归神经网络。递归神经网络是一种接收输入序列并从输入序列生成输出序列的神经网络。特别地,递归神经网络可以在计算当前时间步长的输出时使用来自先前时间步长中的网络的部分或全部内部状态。递归神经网络的一个示例是长短期(LSTM)神经网络,其包括一个或多个LSTM存储块。每个LSTM存储块可以包括一个或多个单元,每个单元包括输入门、遗忘门和输出门,允许单元存储该单元的先前状态,例如,用于生成电流激活或待要提供给LSTM神经网络的其他组件。
发明内容
本说明书描述了使用停止码容忍(SCT)(stop-code tolerant)的方法利用递归卷积神经网络进行图像压缩和高质量重构的技术。
通常,在本说明书中描述的主题的一个创新方面可以体现在以下方法中,该方法包括使用停止码容忍的方法利用卷积神经网络压缩和重构图像的动作。该方面的其他实施例包括记录在一个或多个计算机存储装置上的相应的计算机系统、设备和计算机程序,每个计算机存储装置被配置为执行所述方法的动作。对于一个或多个要配置为执行特定操作或动作的计算机的系统,意味着该系统已在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中导致系统执行该操作或动作。对于将被配置为执行特定操作或动作的一个或多个计算机程序,意味着该一个或多个程序包括指令,该指令在由数据处理设备执行时使该设备执行该操作或动作。
前述和其他实施例可各自可选地独立地或组合地包括一个或多个以下特征。特别地,一个实施例包括以下所有特征的组合。
可以接收生成输入图像的编码表示的请求。然后可以生成输入图像的编码表示。编码表示可以包括在每个迭代中的相应的二进制代码集。每个二进制代码集包括用于输入图像中的每个图块的相应的二进制代码子集。生成编码表示可以包括在每个迭代中使用编码器神经网络处理用于迭代的编码器输入,以及生成用于该迭代的二进制代码集。编码器神经网络可以被配置为处理编码器输入以生成用于迭代的初始二进制代码集。初始二进制代码集可以包括用于多个图块中的每个图块的相应的初始二进制代码子集。可以从初始二进制代码集生成用于迭代的二进制代码集。生成用于迭代的二进制代码集可以包括:对于在迭代中的任何先前迭代期间已经被掩蔽的任何图块,通过将二进制代码集中的用于图块的每个二进制代码设置为零来掩蔽该图块;对于在先前迭代中的任一个迭代期间尚未被掩蔽的任何图块,确定当从先前迭代中的二进制代码重构时的图块的重构误差是否满足误差阈值;当重构质量满足误差阈值时,通过将二进制代码集中的用于图块的每个二进制代码设置为零来掩蔽该图块。
生成用于迭代的二进制代码集可以包括:当重构误差不满足误差阈值时,避免修改用于图块的初始二进制代码。
可以通过使用数据压缩算法压缩编码表示中的二进制代码来压缩输入图像。
数据压缩算法可以是经训练的熵代码化器。
已压缩的输入图像可以被发送到解码器系统用于对该输入图像的解压缩。编码器神经网络可以是具有二值化器输出层的递归神经网络。
用于第一迭代的编码器输入可以是输入图像。
用于所述第一迭代之后的每个迭代的编码器输入可以是(i)输入图像与(ii)由解码器神经网络从先前迭代中的二进制代码集生成的重构之间的残差图像。解码器神经网络可以是被配置为在每个迭代中接收包括在迭代中的二进制代码集的解码器输入并且处理该解码器输入以生成输入图像的重构的递归神经网络。
确定当从先前迭代中的二进制代码重构时的图块的重构误差是否满足误差阈值可包括确定与作为迭代中的编码器输入的残差图像中的图块相对应的部分的重构误差。
训练解码器神经网络可以包括获得批次的训练图像。对于每个迭代和对于每个训练图像,可以根据编码器神经网络的参数的当前值使用编码器神经网络来生成用于迭代的初始二进制代码集。可以根据误差阈值从初始二进制代码集生成用于迭代和用于每个训练图像的二进制代码集。对于迭代和对于每个训练图像,可以通过使用解码器神经网络根据解码器神经网络的参数的当前值处理用于迭代和用于训练图像的二进制代码集来生成训练图像的重构。对于迭代和对于每个训练图像,可以生成在训练图像和训练图像的重构之间的用于迭代的残差。对于至少一次迭代,可以确定人为的高误差阈值。人为的高误差阈值可高于误差阈值。对于迭代和对于批次中的每个训练图像,可以根据人为的高误差阈值从初始二进制代码集生成用于迭代和用于每个训练图像的强制掩码二进制代码集。对于迭代和对于每个训练图像,可通过使用解码器神经网络根据解码器神经网络的参数的当前值处理用于迭代和用于训练图像的强制掩码二进制代码集来生成训练图像的强制掩码重构。对于迭代以及对于每个训练图像,可以生成在训练图像和强制掩模重构之间的用于迭代的强制掩模残差。确定相对于取决于残差和强制掩模残差的目标函数的解码器神经网络参数的梯度,并且可使用该梯度更新解码器神经网络参数的当前值。
梯度可以反向传播到编码器神经网络中以更新编码器神经参数的当前值。
对于迭代和对于每个训练图像,可以通过使用解码器神经网络根据解码器神经网络的参数的当前值处理用于迭代和用于训练图像的二进制代码集来生成训练图像的重构。在处理之前,可将解码器神经网络的内部状态设置为在处理来自紧接在前的迭代的用于训练图像的二进制代码集之后的解码器神经网络的内部状态。
可以通过使用解码器神经网络根据解码器神经网络的参数的当前值处理用于迭代和用于训练图像的强制掩码二进制码集来生成用于迭代和用于每个训练图像的训练图像的强制掩码重构。在处理之前,可以将解码器神经网络的内部状态设置为在处理来自紧接在前的迭代的用于训练图像的二进制代码集之后的解码器神经网络的内部状态。
确定人为的高误差阈值可包括确定用于任何先前迭代的任何图块的最大重构误差,确定用于任何先前迭代的任何图块的最小重构误差,以及为最大重构误差、最小重构误差和误差阈值确定用于迭代的人为的高误差阈值。
对于迭代和对于每个训练图像,可以通过使用解码器神经网络根据解码器神经网络的参数的当前值处理用于迭代和用于训练图像的二进制代码集来生成训练图像的重构。在处理之前,解码器的内部状态
本说明书中描述的主题可以在特定实施例中实现,以实现以下优点中的一个或多个。如本文档中所述的图像压缩和重构系统使用停止码容忍(SCT)的递归卷积神经网络进行有损图像压缩。通过使用如上所述的SCT神经网络,该系统可以提高有损压缩的质量,即对于给定的递归计数(熵前和熵后编码两者),实现较低的真实比特率。例如,与联合摄影专家组(JPEG)和跨数据集的递归神经网络(RNN)自动编码相比,SCT体系结构在所有压缩率下均保持或超过图像质量。此外,SCT技术会导致整个输入图像的图像质量的较小变化。
在使用卷积神经网络来压缩图像的常规技术中,来自神经网络的输出代码在整个压缩图像程度内具有固定的符号尺寸(“深度”)。另一方面,如上所述,所描述的系统使用停止码和代码修整来改善压缩的数据效率。然而,卷积递归神经网络中的停止码和代码修整的困难在于它们的卷积性质导致对由于早期停止码而被省略的符号的广泛空间依赖性。停止码容忍的递归神经网络的简单训练方法往往会产生阻塞伪像和模糊重构。停止码引起的间隙周围区域的阻塞伪像是由于递归神经网络的卷积过分依赖相邻代码,然后在省略这些代码时失败。发生模糊重构是因为学习过程即使在复杂的图像页面中也试图进行代码修整。
因此,本说明书的图像压缩和重构系统使用两轮次(pass)方法来训练递归神经网络,以通过停止码和代码修整实现高质量的图像重构。在每个迭代中,第一轮次利用包括停止码掩蔽的二进制代码示例训练图像压缩和重构系统的解码器网络,并且第二轮次训练解码器网络以进行准确的重构。
通过引入这种两轮次方法,图像压缩和重构系统允许网络确定既满足停止码结构又有效代表输入图像的符号分配。该系统还能够基于基础内容来适应性地改变针对压缩图像的不同部分传输的符号的数量,例如,对于图像的较简单部分发送较少的符号,而对于难以压缩的部分发送更多的符号。
该系统产生在整个图像上的质量变化更小的重构。由于将较少的比特给予较简单的区域,因此可以将更多的比特分配给较复杂的区域。因为人们偏好重构的更均匀质量,所以此重构不具有趋向于导致较低人类评估分值的较高变化质量。
本说明书的主题的一个或多个实施例的细节在附图和以下描述中阐述。本主题的其他特征,方面和优点将从说明书、附图和权利要求书中变得显而易见。
附图说明
图1示出了使用递归卷积神经网络的示例图像压缩和重构系统。
图2示出了用于压缩图像的示例编码器和二值化器。
图3示出了用于压缩和重构图像的SCT-网络掩蔽逻辑的示例。
图4示出了用于使用SCT-网络技术来创建高质量图像重构的示例解码器。
图5a图示了用于掩蔽输入图像的图块的示例过程。
图5b图示了用于掩蔽输入图像的图块的示例过程。
图5c图示了用于掩蔽输入图像的图块的示例过程。
图6图示了用于在图像压缩和重构系统中训练神经网络的示例过程。
在各个附图中,相同的附图标记和标记表示相同的元件。
具体实施方式
本说明书大体描述使用停止码容忍的方法来压缩和重构图像的图像压缩和重构系统和方法。
图像压缩是一种应用于数字图像以减少存储或传输数字图像的成本的数据压缩。该图像压缩可能是无损的或有损的。无损压缩允许从压缩数据完全重构原始数据,而有损压缩提供原始数据的近似值的重构。
示例图像压缩和重构系统利用递归卷积神经网络使用停止码容忍的方法进行有损图像压缩。该系统基于图像的基础内容而自适应地改变所传输的用于表示压缩图像的一部分的输出符号的数量。例如,图像可以是由蓝天背景和人脸组成。蓝天背景可以是图像的简单部分,需要很少的输出符号以表示该部分的压缩版本,即,允许基于输出符号准确地重构该部分。人脸可能是比较困难的部分,其需要许多输出符号来表示压缩版本。因此,图像压缩和重构系统可以发送较少的符号来表示图像的蓝天部分,并且发送更多的符号来表示难以压缩的部分,例如包含人脸的部分。
图1图示了示例图像压缩和重构系统100。图像压缩和重构系统100是被实现为一个或多个位置中的一台或多台计算机上的计算机程序的系统的示例,其中可以实现以下所述的系统、组件和技术。
系统100压缩输入图像104,并通过停止码和代码修整来确定输入图像104的高质量图像重构,从而允许改变用于输入图像的不同部分的输出符号的数量,但是整个图像上的图像质量的偏差很小。虽然图1示出了系统的编码和解码组件作为同一系统的一部分,在一些实现中,这些组件可以是单独的系统并且位于单独的计算设备上。例如,在一个示例实现中,编码组件,即压缩输入图像104所必需的那些组件,可以位于服务器上,并且解码组件,即重构输入图像104所必需的那些组件,可以位于客户端设备上。
在操作期间,图像压缩和重构系统100接收要压缩的输入图像104。
然后,系统100通过在多个迭代中的每个迭代中生成各自的二进制代码集来压缩输入图像104。
具体地,在每个迭代中,编码器神经网络106接收用于该迭代的编码器输入并且对该编码器输入进行编码,以生成用于输入图像的每个部分或图块的二进制代码集,该二进制代码集表示该图块的编码版本。在第一迭代中,编码器输入是输入104。在第一迭代之后的每个迭代中,编码器输入是来自先前迭代的残差图像。编码器神经网络106和生成残差图像将在下面参照图5更详细地描述。
在每个迭代中,系统100应用停止码容忍(SCT)的掩蔽过程110以强制执行停止码行为。该过程从二值化器108获取二进制代码以及当前迭代时的掩码,以及如果有的话,残差图像,以产生掩蔽代码116。
在所有迭代都完成之后,将所得的掩蔽代码(即,来自所有迭代中指定每个图块的完整的掩蔽代码集的数据)提供给解码器118,以使解码器118使用深度到空间混洗(depth-to-space shuffling)重构完整的H x W图像120。在一些实现中,系统100在传输用于重构的已压缩的二进制代码集之前通过使用数据压缩算法压缩最终的掩蔽代码集来进一步压缩输入图像。数据压缩算法可以是经训练的熵代码化器或硬编码的熵代码化器。
系统100执行的编码迭代的数量可以是固定的,或者系统可以继续执行编码迭代,直到可以由解码器118重构图像的每个图块以满足目标质量为止。
将参照图4更详细地讨论解码器。
图像压缩和重构系统100还包括SCT网络训练引擎112,其联合训练解码器神经网络和编码器神经网络。将参照图6更详细地讨论该训练过程。
图2图示了用于压缩图像的示例编码器106和二值化器108。编码器106是递归卷积神经网络,其包含若干二维卷积层(204,206),每个二维卷积层对图像执行空间卷积。编码器神经网络的示例递归架构描述于G.Toderici,D.Vincent,N.Johnston,S.J.Hwang,D.Minnen,J.Shor,and M.Covell,“Full resolution image compression withrecurrent neural networks”,CoRR,vol.abs/1608.05148,2016,其全部内容通过引用整体并入本文。编码器神经网络106利用空间下采样(例如4层空间下采样)来交错长短期记忆(LSTM)部件(206a-c)。尽管在图2中图示了用于示例编码器神经网络106的示例架构,但是编码器神经网络106不限于该架构。
在执行中,编码器106从编码过程的先前迭代中获取H×W输入图像104或残差图像,并使用空间下采样产生图像220的编码表示,例如H/16x W/16表示。
如上所述,二值化器108将编码图像220转换为二进制代码212。二值化器108使用二维卷积层210来执行该转换。编码器106中的空间下采样导致二值化器108针对来自输入图像104的每个空间“图块”输出一堆代码,例如,针对来自输入图像104的每个16×16空间“图块”输出一堆(0/1)代码。
图3图示了示例停止码容忍的掩蔽逻辑301。在代表输入图像104的一部分的每个图块的每个编码迭代的结尾处执行该掩蔽逻辑。停止码容忍的掩蔽逻辑301在掩蔽302之前获取用于图块的二进制代码并确定是否掩蔽该图块。
掩蔽逻辑301在若干情况之一中掩蔽图块。掩蔽图块是指将来自当前迭代的用于图块的所有二进制代码设置为零。
例如,当用于图块的重构质量超过用于重构图像308的目标质量水平时,掩蔽逻辑301掩蔽图块。用于图块的重构质量是残差图像中的图块与原始输入图像之间的重构误差的值。目标质量水平是预定的。掩蔽逻辑301确定在从先前迭代中的二进制代码重构时,图块的重构误差是否满足定义的目标质量水平。如果重构质量满足误差阈值,则掩蔽逻辑301通过将用于图块的每个二进制代码设置为零来掩蔽图块。当重构误差不满足误差阈值时,系统避免修改图块的初始二进制代码。
当用于迭代的编码器网络的输出是停止码(即,其中所有比特都被设置为零的图块的二进制代码集)时,掩蔽逻辑另外或替代地掩蔽图块。掩蔽逻辑301将掩蔽302之前的代码与停止码310进行比较。如果该代码与停止码匹配,则掩蔽逻辑301更新当前掩码以指示图块现在被掩蔽。
掩蔽逻辑301可以附加地或可替代地确定用于迭代的代码在较早的迭代上被掩蔽。掩蔽逻辑301通过检查以查看图块的来自先前迭代的停止码是否全部为零或通过检查当前掩码来做出该确定。如果该代码在先前被掩蔽,则掩蔽逻辑301对于该迭代通过将图块的每个二进制代码设置为零来掩蔽图块。也就是说,一旦在编码过程的给定迭代中掩蔽图块,则掩蔽逻辑301在所有后续迭代中继续掩蔽该图块。
图4示出了用于创建输入图像的高质量重构的解码器的示例。如上所述,解码器神经网络118包含若干二维卷积层(404,406),例如,图像上的空间卷积。解码器神经网络将长短期记忆(LSTM)部件(406a-d)与深度到空间混洗405a-d交错。解码器神经网络的示例递归架构描述于G.Toderici,D.Vincent,N.Johnston,S.J.Hwang,D.Minnen,J.Shor,andM.Covell,“Full resolution image compression with recurrent neural networks,”CoRR,vol.abs/1608.05148,2016,其全部内容通过引用整体并入本文。
图5a至图5c是用于压缩和重构图像以实施停止码行为的示例过程500的流程图。为了方便,过程500将被描述为由位于一个或多个位置的一个或多个计算机的系统执行,并且根据本说明书被适当地编程。例如,图像压缩和重构系统(例如,图1的图像压缩和重构系统100)适当地编程,可以执行过程500。
如图5所示,图像压缩和重构系统接收生成输入图像的编码表示的请求502。然后,系统开始迭代过程以提供输入图像的压缩的重构表示。
在过程500的每个迭代中,系统使用编码器处理输入以生成用于该迭代的初始二进制代码集。
对于第一迭代,输入是输入图像。在该第一迭代中,系统处理输入图像以二进制代码集形式生成输入图像的编码表示504。
然后,系统基于初始二进制代码集和当前掩码生成用于该第一迭代的最终二进制代码集(506,508),并且更新当前掩码以指示在第一迭代时是否掩蔽了任何图块。第一迭代的当前掩码表示没有任何掩码被掩蔽。
系统使用用于第一迭代的最终二进制代码集来生成输入图像的重构,然后使用该重构来计算残差图像。残差图像是由输入图像与从初始二进制代码集生成的重构之间的差异产生的图像。
对于每个后续迭代,系统将来自先前迭代的残差图像用作过程输入。然后,系统处理残差图像以生成用于当前迭代的初始二进制代码集。系统基于用于该迭代的初始二进制代码集、来自先前迭代的残差图像和当前掩码生成最终二进制代码集。为了确定用于该迭代的最终二进制代码集,系统首先确定输入图像的任何图块(即来自先前迭代的残差图像)是否已经在较早的迭代中被掩蔽。
参照图5c,对于已经被掩蔽的图像的每个图块,系统通过将表示该迭代中的图块的所有比特都改变为零来掩蔽该迭代中的图块(520,540)。对于尚未被掩蔽的图像的每个图块,系统确定残差图像和实际图像之间的重构误差是否满足误差阈值530。系统被提供有该定义的误差阈值或误差阈值可以被动态确定。如果重构误差满足误差阈值,则系统掩蔽图块540。否则,系统不执行任何操作550。为了确定重构误差是否满足阈值,系统计算用于该迭代的残差图像中的当前图块与实际图像中的当前图块之间的重构损失。
重构损失可以是可用于确定局部图像重构质量的任何失真测量。这些损失测量的经典示例是L2误差、反PSNR或反结构相似性(SSIM)。较新的测量包括在神经网络的每一层上形成的嵌入空间中的分隔距离,这些神经网络已针对一般识别任务进行了训练,例如,O.Russakovsky,J.Deng,H.Su,J.Krause,S.Satheesh,S.Ma,Z.Huang,A.Karpathy,A.Khosla,M.Bernstein,A.Berg,L.Fei-Fei,“ImageNet Large Scale VisualRecognition Challenge,”CoRR,vol.abs/1409.0575,2015中描述的VGG。
如果重构损失小于阈值,则系统将掩蔽表示图块的二进制代码。在一些实现中,系统使用质量度量,其不是重构损失,其中越高的值更好。在这些实现中,系统确定重构值(例如质量)是否大于阈值。该系统还确定,网络是否已经发出用于当前图块的停止码,即初始二进制码集全为零。如果网络已发出用于当前图块的停止码,则系统不会更改二进制代码。因此,在后续迭代中将始终掩蔽该图块。
系统处理最终二进制代码集以生成重构。然后,系统使用该重构来计算残差图像,用于下一迭代。
取决于实现方式,此过程持续固定的迭代次数,或者直到所有图块都被掩蔽。由于该过程是迭代的,因此在每个迭代之后,系统继续为每个图块添加越来越多的二进制代码,除非图块已被掩蔽的情形。然后,新代码始终是用于图块的停止码。
为了训练解码器神经网络以及可选地编码器神经网络,系统优化目标函数,该目标函数取决于从使用误差阈值生成的二进制代码生成的残差和从使用人工高误差阈值生成的二进制代码生成的残差。如果还对编码器进行了训练,则系统会将梯度从解码器反向传播到编码器中。
系统使用训练损失,该训练损失包括重构损失以及二进制代码中的非零比特的惩罚。这种惩罚使代码分布偏向零比特,从而使熵压缩更加有效。
特别地,在训练期间,系统从两个交错的重构轮次优化组合的损失函数:一个轮次训练神经网络用于准确的重构,并且第二轮次针对停止码容忍度进行训练。如果没有停止码容忍的轮次,则网络在训练过程的后期前不会看到掩蔽的代码和代码修整。然后,网络将无法调整到没有伪像的掩蔽代码,因为网络已经在二值化器上进行了不能符合全零停止码的符号分配。
作为优化组合的损失函数的一部分,系统获得了一批次训练图像来训练神经网络。
对于每个编码迭代和批次中的每个训练图像,系统使用编码器神经网络根据编码器神经网络的参数的当前值来处理用于迭代和用于训练图像的编码器输入,以生成用于迭代的初始二进制代码集。系统根据误差阈值从初始二进制代码集中生成二进制代码集。然后,系统通过使用解码器神经网络根据解码器神经网络的参数的当前值处理该二进制代码集来生成训练图像的重构。系统生成在训练图像和该训练图像的重构之间的用于该迭代的残差。
对于至少一个编码迭代,系统为该迭代确定人为的高误差阈值,该误差阈值高于误差阈值。也就是说,人为的高误差阈值对重构质量施加了比对实际误差阈值较不严格的要求,因此图像中的图块更容易被掩蔽。对于该至少一个迭代中的每个迭代以及该批次中的每个训练图像,系统根据人为的高误差阈值(即代替使用训练后将被使用的实际误差阈值)从初始二进制代码集中生成用于迭代的强制掩码二进制代码集。对于迭代和对于每个训练图像,系统通过使用解码器神经网络根据解码器神经网络的参数的当前值处理用于迭代和用于训练图像的强制掩码二进制代码集来生成训练图像的强制掩码重构。对于迭代和对于每个训练图像,系统生成在训练图像和该训练图像的强制掩模重构之间的用于该迭代的强制掩模残差图像。系统还使用实际误差阈值和用于迭代的实际掩蔽代码生成用于迭代的残差图像。
然后,系统相对于取决于残差和强制掩码残差的目标函数的解码器神经网络参数确定梯度,并使用该梯度更新解码器神经网络参数的当前值。
在一些实现中,可以将梯度反向传播到编码器神经网络中以更新编码器神经网络参数的当前值。
更详细地并且参照图6,系统100的训练过程112恰好在训练数据集中的每个微型批次的第k次迭代之前,记录了所有解码器的LSTM部件的状态Sk-1和单元Ck-1向量604。系统还记录-1和-1,即微型批次上的最大和最小重构误差605。然后,系统执行第k次迭代两次。首先,系统通过迭代执行容忍的停止码的训练轮次,以允许神经网络学习带有掩蔽代码的示例606。在某些实现中,为了向网络呈现带有掩蔽代码的合理示例,系统设置人为的高掩蔽阈值,创建始终具有某些被掩蔽区域的人工掩码。在掩蔽区域中,系统将解码器将看到的所有比特重置为零。系统将人为的高掩蔽阈值设置为(k/K*(-1--1))+-1),其中K是系统训练的最大迭代次数。系统将由强制掩码迭代生成的输出的L1重构误差与第二轮次的自然掩码重构的重构误差损失相加。
然后,系统将LSTM存储器恢复到Sk-1和Ck-1,以使遍历第k次迭代的先前的强制掩蔽轮次不会影响系统结果607。然后,系统遍历迭代执行第二轮次608。在第二轮次中,系统使用通过根据当前迭代的二进制代码中存在的停止码扩展前一次迭代的掩码而自然生成的掩码。
系统使用重构来形成主要重构误差及其对应的损失。然后,系统在下一迭代之前记录来自此自然解码的Sk,Ck,-1和-1值。如上所述,系统使用第一和第二路径的组合损失函数来生成梯度609。组合损失函数将自然掩蔽的重构(没有人工高阈值来决定掩蔽)的重构损失和强制掩蔽重构(由人工高阈值引起的掩蔽)的重构损失相加(或合并)。然后,系统随时间反向传播梯度,以生成神经网络的更新参数610。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中,在具体体现的计算机软件或固件中,在计算机硬件中实施,包括本说明书中公开的结构及其等同结构,或以其中一个或多个。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即,在有形的非暂时性存储介质上编码的计算机程序指令的一个或多个模块,以由数据处理设备执行或控制数据的操作。计算机存储介质可以是机器可读存储设备,机器可读存储基板,随机或串行访问存储设备或它们中的一个或多个的组合。替代地或附加地,程序指令可以被编码在人工产生的传播信号上,例如机器产生的电、光或电磁信号,其被产生来编码信息以传输到合适的接收器设备而由数据处理设备执行。
术语“数据处理设备”是指数据处理硬件并且涵盖用于处理数据的所有类型的设备、装置和机器,例如包括可编程处理器、计算机或多个处理器或计算机作为示例。设备还可以是或进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除硬件之外,该设备可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件,协议栈,数据库管理系统,操作系统或它们一种或多种的组合的代码。
计算机程序,也可以称为或描述为程序,软件,软件应用程序,应用程序,模块,软件模块,脚本或代码,可以以任何形式的编程语言,包括已编译的或解释性语言或声明性或程序性语言编写;并且它可以以任何形式进行部署,包括作为独立程序或作为模块,组件,子例程或适用于计算环境的其他部件。程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中,例如存储在标记语言文档中的一个或多个脚本,在专用于所讨论程序的单个文件中,或多个协调文件中,例如存储一个或多个模块,子程序或部分代码的文件。可以将计算机程序部署为在位于一个站点上或分布在多个站点上并通过数据通信网络互连的一台计算机或多台计算机上执行。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能的一个或多个可编程计算机来执行。该过程和逻辑流程还可以由专用逻辑电路(例如,FPGA或ASIC)执行,或者由专用逻辑电路和一个或多个编程计算机的组合来执行。
适用于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或者基于任何其他类型的中央处理器。通常,中央处理部件将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或执行指令的中央处理部件以及用于存储指令和数据的一个或多个存储设备。中央处理部件和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括或可操作地耦合以从一个或多个用于存储数据的大容量存储设备(例如,磁盘,磁光盘或光盘)接收数据或将数据传输到一个或多个大容量存储设备或将数据传输到这两个或多个存储设备。但是,计算机不必具有此类设备。此外,计算机可以被嵌入到另一个设备中,例如,移动电话,个人数字助理(PDA),移动音频或视频播放器,游戏机,全球定位系统(GPS)接收器或便携式存储设备例如通用串行总线(USB)闪存驱动器,仅举几例。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器,介质和存储设备,包括例如半导体存储装置,例如,EPROM,EEPROM和闪存装置;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。
为了提供与用户的交互,可以在具有用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及键盘和指示设备(例如鼠标或轨迹球,用户可以通过该指示设备向计算机提供输入)的计算机上实现本说明书中描述的主题的实施例。其他种类的设备也可以用于提供与用户的交互。例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈,听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音,语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档以及从用户使用的设备接收文档来与用户进行交互。例如,通过响应从网络浏览器收到的请求,将网页发送到用户设备上的网络浏览器。而且,计算机可以通过向个人设备(例如,智能手机)发送文本消息或其他形式的消息来与用户交互,运行消息应用程序,并从用户处接收响应消息。
可以在包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如具有图形用户界面的客户端计算机,Web浏览器或应用程序(用户可通过该应用程序与本规范中描述的主题的实现进行交互)),或一个或多个此类后端组件,中间组件或前端组件的任意组合的计算系统中实现本说明书中描述的主题的实施例。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是通过在各自计算机上运行并彼此具有客户端-服务器关系的计算机程序产生的。在一些实施例中,服务器例如向用户设备发送数据,例如HTML页面,以用于向与充当客户端的与设备交互的用户显示数据并从其接收用户输入的目的。可以在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。
实施例一是一种方法,包括:接收用于生成输入图像的编码表示的请求;和生成输入图像的编码表示,其中该编码表示包括在多个迭代中的每个迭代中的相应的二进制代码集,其中每个二进制代码集包括用于所述输入图像中的多个图块中的每个图块的相应的二进制代码子集,并且其中对于多个迭代中的每个迭代,该生成包括:使用编码器神经网络处理用于迭代的编码器输入,其中编码器神经网络被配置为处理编码器输入以生成用于迭代的初始二进制代码集,该初始二进制代码集包括用于多个图块中的每个图块的相应的初始二进制代码子集;并且从初始二进制代码集生成用于迭代的二进制代码集包括:对于在多个迭代的任何先前迭代期间已经被掩蔽的任何图块:通过将二进制代码集中的用于该图块的每个二进制代码设置为零来掩蔽该图块;对于在所述多个迭代中的任何先前迭代期间尚未被掩蔽的任何图块:确定当从先前迭代中的二进制代码重构时的该图块的重构误差是否满足误差阈值;并且当重构质量满足误差阈值时,通过将二进制代码集中的用于该图块的每个二进制代码设置为零来掩蔽该图块。
实施例2是实施例1的方法,其中,生成用于迭代的二进制代码集进一步包括:当重构误差不满足误差阈值时,避免修改用于图块的初始二进制代码。
实施例3是实施例1或2中任一项的方法,进一步包括:通过使用数据压缩算法压缩编码表示中的二进制代码来压缩输入图像。
实施例4是实施例3的方法,其中,数据压缩算法是经训练的熵代码化器。
实施例5是实施例3或4的方法,进一步包括:将已压缩的输入图像发送到解码器系统用于对输入图像的解压缩。
实施例6是实施例1-5中任一项的方法,其中,编码器神经网络是具有二值化器输出层的递归神经网络。
实施例7是实施例6的方法,其中,用于多个迭代中的第一迭代的编码器输入是输入图像。
实施例8是实施例6或7中任一项的方法,其中,用于多个迭代中的在第一迭代之后的每个迭代的编码器输入是(i)输入图像与(ii)由解码器神经网络从先前迭代中的二进制代码集生成的重构之间的残差图像,其中解码器神经网络是被配置为在多个迭代中的每一个迭代中接收包括在该迭代中的该二进制代码集的解码器输入并且处理解码器输入以生成输入图像的重构的递归神经网络。
实施例9是实施例8的方法,其中,确定当从先前迭代中的二进制代码重构时的图块的重构误差是否满足误差阈值包括:确定与作为迭代中的编码器输入的残差图像中的图块相对应的部分的重构误差。
实施例10是训练实施例8或9中任一项的解码器神经网络的方法,该方法包括:获取批次的训练图像;和对于多个迭代中的每个迭代和对于每个训练图像,使用编码器神经网络根据编码器神经网络的参数的当前值来生成用于迭代的初始二进制代码集;根据误差阈值,从初始二进制代码集生成用于迭代和每个训练图像的二进制代码集;对于迭代和对于每个训练图像,通过使用解码器神经网络根据解码器神经网络的参数的当前值处理用于迭代和用于训练图像的二进制代码集来生成训练图像的重构;和对于迭代和对于每个训练图像,生成在训练图像和训练图像的重构之间的用于该迭代的残差;对于多个迭代中的至少一个:确定用于该迭代的人为的高误差阈值,其中人为的高误差阈值高于误差阈值;对于至少一个迭代中的每个迭代以及对于批次中的每个训练图像:根据人为的高误差阈值,从初始二进制代码集生成用于迭代和用于每个训练图像的强制掩码二进制代码集;对于迭代和对于每个训练图像,通过使用解码器神经网络根据解码器神经网络的参数的当前值处理用于迭代和用于训练图像的强制掩码二进制代码集来生成训练图像的强制掩码重构;和对于迭代和对于每个训练图像,生成在训练图像和训练图像的强制掩模重构之间的用于该迭代的强制掩模残差;确定相对于取决于残差和强制掩码残差的目标函数的解码器神经网络参数的梯度;和使用梯度更新解码器神经网络参数的当前值。
实施例11是实施例10的方法,进一步包括:将梯度反向传播到编码器神经网络中以更新编码器神经网络参数的当前值。
实施例12是实施例10或11中任一项的方法,其中,对于迭代和对于每个训练图像,通过使用解码器神经网络根据解码器神经网络的参数的当前值处理用于迭代和用于训练图像的二进制代码集来生成训练图像的重构包括:在处理之前,将解码器神经网络的内部状态设置为在处理来自多个迭代中紧接在前的迭代的用于训练图像的二进制代码集之后的解码器神经网络的内部状态。
实施例13是实施例12的方法,其中对于迭代和对于每个训练图像,通过使用解码器神经网络根据解码器神经网络的参数的当前值处理用于迭代和用于训练图像的强制掩码二进制码集来生成训练图像的强制掩码重构包括:在处理之前,将解码器神经网络的内部状态设置为在处理来自多个迭代中紧接在前的迭代的用于训练图像的二进制代码集之后的解码器神经网络的内部状态。
实施例14是实施例10-13中的任一项的方法,其中,确定用于所述迭代的人为的高误差阈值包括:确定用于所述多个迭代中的任何先前迭代的任何图块的最大重构误差;确定所述多个迭代中的任何先前迭代的任何图块的最小重构误差;和为最大重构误差、最小重构误差和误差阈值确定用于迭代的人为的高误差阈值。
实施例15是一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令当由一个或多个计算机执行时使所述一个或多个计算机执行实施例1至14中任一项的相应方法的操作。
实施例16是一种或多种存储指令的计算机存储介质,所述指令当由一个或多个计算机执行时使所述一个或多个计算机执行实施例1-14中任一项的相应方法的操作。
尽管本说明书包含许多特定的实施细节,但是这些不应被解释为对任何发明的范围或可能要求保护的范围的限制,而应解释为对特定发明的特定实施例而言特定的特征的描述。在本说明书在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合来实现。而且,尽管以上可能将特征描述为以某些组合形式起作用,甚至最初是这样要求保护的,但是在某些情况下,可以从组合中切除所要求保护的组合中的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变体。
类似地,尽管在附图中以特定顺序描绘了操作,但是这不应理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者执行所有示出的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品或系统中或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。在一些实施方式中,基础网络不需要迭代,并且不需要通过传统方法来确定损失。取而代之的是,损失可以基于学习到的测量值。
Claims (16)
1.一种计算机实现的图像压缩和重构方法,包括:
接收用于生成输入图像的编码表示的请求;和
生成所述输入图像的所述编码表示,其中所述编码表示包括在多个迭代的每个迭代中的相应的二进制代码集,其中每个二进制代码集包括用于所述输入图像中的多个图块中的每个图块的相应的二进制代码子集,并且其中所述生成包括,对于所述多个迭代中的每个迭代:
使用编码器神经网络处理用于所述迭代的编码器输入,其中所述编码器神经网络被配置为处理所述编码器输入以生成用于所述迭代的初始二进制代码集,所述初始二进制代码集包括用于所述多个图块中的每个图块的相应的初始二进制代码子集;和
从所述初始二进制代码集生成用于所述迭代的所述二进制代码集,包括:
对于在所述多个迭代中的任何先前迭代期间已经被掩蔽的任何图块:
通过将所述二进制代码集中的用于所述图块的每个所述二进制代码设置为零来掩蔽所述图块;
对于在所述多个迭代中的任何先前迭代期间尚未被掩蔽的任何图块:
确定当从所述先前迭代中的二进制代码重构时所述图块的重构误差是否满足误差阈值;和
当所述重构质量满足所述误差阈值时,通过将所述二进制代码集中的用于所述图块的每个所述二进制代码设置为零来掩蔽所述图块。
2.根据权利要求1所述的方法,其中,生成用于所述迭代的所述二进制代码集进一步包括:
当所述重构误差不满足所述误差阈值时,避免修改所述图块的所述初始二进制代码。
3.根据权利要求1或2中任一项所述的方法,进一步包括:
通过使用数据压缩算法压缩所述编码表示中的所述二进制代码来压缩所述输入图像。
4.根据权利要求3所述的方法,其中,所述数据压缩算法是经训练的熵代码化器。
5.根据权利要求3或4所述的方法,进一步包括:
将已压缩的输入图像发送到解码器系统,以用于对所述输入图像解压缩。
6.根据权利要求1-5中任一项所述的方法,其中,所述编码器神经网络是具有二值化器输出层的递归神经网络。
7.根据权利要求6所述的方法,其中,用于所述多个迭代中的第一迭代的所述编码器输入是所述输入图像。
8.根据权利要求6或7中的任一项所述的方法,其中,用于所述多个迭代中的在所述第一迭代之后的每个迭代的所述编码器输入是在(i)所述输入图像与(ii)由解码器神经网络从所述先前迭代中的所述二进制代码集生成的重构之间的残差图像,其中所述解码器神经网络是递归神经网络,所述递归神经网络被配置为在所述多个迭代中的每个迭代中接收包括在所述迭代中的所述二进制代码集的解码器输入,并且处理所述解码器输入以生成所述输入图像的重构。
9.根据权利要求8所述的方法,其中,确定当从所述先前迭代中的二进制代码重构时所述图块的重构误差是否满足误差阈值包括:
确定与作为所述迭代中的所述编码器输入的所述残差图像中的所述图块相对应的部分的所述重构误差。
10.一种训练根据权利要求8或9中的任一项所述的解码器神经网络的方法,所述方法包括:
获取批次的训练图像;和
对于所述多个迭代中的每个迭代和对于每个训练图像,使用所述编码器神经网络根据所述编码器神经网络的参数的当前值来生成用于所述迭代的初始二进制代码集;
根据所述误差阈值,从所述初始二进制代码集生成用于所述迭代和用于每个训练图像的二进制代码集;
对于所述迭代和对于每个训练图像,通过使用所述解码器神经网络根据所述解码器神经网络的参数的当前值处理用于所述迭代和用于所述训练图像的所述二进制代码集,来生成所述训练图像的重构;和
对于所述迭代和对于每个训练图像,生成在所述训练图像和所述训练图像的所述重构之间的用于所述迭代的残差;
对于所述多个迭代中的至少一个迭代:
确定用于所述迭代的人为的高误差阈值,其中,所述人为的高误差阈值高于所述误差阈值;
对于所述至少一个迭代中的每个迭代和对于所述批次中的每个训练图像:
根据所述人为的高误差阈值,从所述初始二进制代码集生成用于所述迭代和用于每个训练图像的强制掩码二进制代码集;
对于所述迭代和对于每个训练图像,通过使用所述解码器神经网络根据所述解码器神经网络的参数的所述当前值处理用于所述迭代和用于所述训练图像的所述强制掩码二进制代码集,来生成所述训练图像的强制掩码重构;和
对于所述迭代和对于每个训练图像,生成在所述训练图像和所述训练图像的所述强制掩码重构之间的用于所述迭代的强制掩码残差;
确定相对于目标函数的所述解码器神经网络参数的梯度,所述目标函数取决于所述残差和所述强制掩码残差;和
使用所述梯度来更新所述解码器神经网络参数的所述当前值。
11.根据权利要求10所述的方法,进一步包括:
将所述梯度反向传播到所述编码器神经网络中以更新所述编码器神经网络参数的所述当前值。
12.根据权利要求10或11中的任一项所述的方法,其中,对于所述迭代和对于每个训练图像,通过使用所述解码器神经网络根据所述解码器神经网络的参数的当前值处理用于所述迭代和用于所述训练图像的二进制代码集来生成该训练图像的重构包括:
在所述处理之前,将所述解码器神经网络的内部状态设置为在处理来自所述多个迭代中紧接在前的迭代的用于所述训练图像的所述二进制代码集之后的所述解码器神经网络的内部状态。
13.根据权利要求12所述的方法,其中,对于所述迭代和对于每个训练图像,通过使用所述解码器神经网络根据所述解码器神经网络的参数的所述当前值处理用于所述迭代和用于所述训练图像的所述强制掩码二进制码集来生成所述训练图像的强制掩码重构包括:
在处理之前,将所述解码器神经网络的内部状态设置为在处理来自所述多个迭代中紧接在前的迭代的用于所述训练图像的所述二进制代码集之后的所述解码器神经网络的内部状态。
14.根据权利要求10至13中任一项所述的方法,其中,确定用于所述迭代的人为的高误差阈值包括:
确定用于所述多个迭代中的任何先前迭代的任何图块的最大重构误差;
确定用于所述多个迭代中的任何先前迭代的任何图块的最小重构误差;和
为所述最大重构误差、所述最小重构误差和所述误差阈值确定用于所述迭代的人为的高误差阈值。
15.一种包括一个或多个计算机和存储指令的一个或多个存储设备的系统,所述指令当由所述一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1至14中任一项所述的相应方法的操作。
16.一种或多种存储指令的计算机存储介质,所述指令当由一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1至14中任一项所述的相应方法的操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762506993P | 2017-05-16 | 2017-05-16 | |
US62/506,993 | 2017-05-16 | ||
PCT/US2018/033043 WO2018213499A1 (en) | 2017-05-16 | 2018-05-16 | Stop code tolerant image compression neural networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110892419A true CN110892419A (zh) | 2020-03-17 |
CN110892419B CN110892419B (zh) | 2023-08-08 |
Family
ID=62778977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880028534.1A Active CN110892419B (zh) | 2017-05-16 | 2018-05-16 | 停止码容忍的图像压缩神经网络 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11354822B2 (zh) |
EP (1) | EP3602415B1 (zh) |
CN (1) | CN110892419B (zh) |
WO (1) | WO2018213499A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023136780A3 (zh) * | 2022-01-14 | 2023-09-14 | 脸萌有限公司 | 图像处理方法及设备 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3603070A1 (en) * | 2017-05-26 | 2020-02-05 | Google LLC | Tiled image compression using neural networks |
CN113424200A (zh) * | 2019-02-15 | 2021-09-21 | 诺基亚技术有限公司 | 用于视频编码和视频解码的方法、装置和计算机程序产品 |
CN112416352A (zh) * | 2019-08-23 | 2021-02-26 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
US11501173B1 (en) | 2020-03-26 | 2022-11-15 | Amazon Technologies, Inc. | Reinforcement learning for training compression policies for machine learning models |
US11755603B1 (en) | 2020-03-26 | 2023-09-12 | Amazon Technologies, Inc. | Searching compression profiles for trained neural networks |
US11809992B1 (en) * | 2020-03-31 | 2023-11-07 | Amazon Technologies, Inc. | Applying compression profiles across similar neural network architectures |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050131660A1 (en) * | 2002-09-06 | 2005-06-16 | Joseph Yadegar | Method for content driven image compression |
CN105357537A (zh) * | 2015-12-11 | 2016-02-24 | 辽宁工程技术大学 | 一种基于混沌的多级树集合分裂编码图像加密方法 |
CN106445939A (zh) * | 2015-08-06 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 图像检索、获取图像信息及图像识别方法、装置及系统 |
US20170076438A1 (en) * | 2015-08-31 | 2017-03-16 | Cape Analytics, Inc. | Systems and methods for analyzing remote sensing imagery |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9703441D0 (en) * | 1997-02-19 | 1997-04-09 | British Tech Group | Progressive block-based coding for image compression |
GB9716579D0 (en) * | 1997-08-05 | 1997-10-08 | Univ Bath | Signal coding and decoding |
-
2018
- 2018-05-16 EP EP18734990.7A patent/EP3602415B1/en active Active
- 2018-05-16 US US16/610,063 patent/US11354822B2/en active Active
- 2018-05-16 CN CN201880028534.1A patent/CN110892419B/zh active Active
- 2018-05-16 WO PCT/US2018/033043 patent/WO2018213499A1/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050131660A1 (en) * | 2002-09-06 | 2005-06-16 | Joseph Yadegar | Method for content driven image compression |
CN106445939A (zh) * | 2015-08-06 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 图像检索、获取图像信息及图像识别方法、装置及系统 |
US20170076438A1 (en) * | 2015-08-31 | 2017-03-16 | Cape Analytics, Inc. | Systems and methods for analyzing remote sensing imagery |
CN105357537A (zh) * | 2015-12-11 | 2016-02-24 | 辽宁工程技术大学 | 一种基于混沌的多级树集合分裂编码图像加密方法 |
Non-Patent Citations (1)
Title |
---|
匡泰等: "一种新的用于LBG图像压缩初始码书生成算法", 《浙江工业大学学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023136780A3 (zh) * | 2022-01-14 | 2023-09-14 | 脸萌有限公司 | 图像处理方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
US20210335017A1 (en) | 2021-10-28 |
CN110892419B (zh) | 2023-08-08 |
EP3602415B1 (en) | 2020-11-11 |
EP3602415A1 (en) | 2020-02-05 |
WO2018213499A1 (en) | 2018-11-22 |
US11354822B2 (en) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110892419B (zh) | 停止码容忍的图像压缩神经网络 | |
US10713818B1 (en) | Image compression with recurrent neural networks | |
JP7225333B2 (ja) | ニューラルネットワークを使用するタイル型画像圧縮 | |
JP7476631B2 (ja) | 画像コーディング方法及び装置並びに画像デコーディング方法及び装置 | |
CN116584098A (zh) | 图像编码和解码、视频编码和解码:方法、系统和训练方法 | |
CN109451308B (zh) | 视频压缩处理方法及装置、电子设备及存储介质 | |
CN110248190B (zh) | 一种基于压缩感知的多层残差系数图像编码方法 | |
CN113473149A (zh) | 用于无线图像传输的语义信道联合编码方法及装置 | |
JP7355916B2 (ja) | ウェーブレット変換に基づく画像符号化/復号方法および装置 | |
CN111641826B (zh) | 对数据进行编码、解码的方法、装置与系统 | |
CN110753225A (zh) | 一种视频压缩方法、装置及终端设备 | |
WO2020068498A1 (en) | Data compression using integer neural networks | |
KR20200138079A (ko) | 전역적 문맥을 이용하는 기계 학습 기반의 이미지 압축을 위한 방법 및 장치 | |
CN114792347A (zh) | 一种基于多尺度空间和上下文信息融合的图像压缩方法 | |
CN115866252B (zh) | 一种图像压缩方法、装置、设备及存储介质 | |
CN111050170A (zh) | 基于gan的图片压缩系统构建方法、压缩系统及方法 | |
CN115393452A (zh) | 一种基于非对称自编码器结构的点云几何压缩方法 | |
CN111343458B (zh) | 一种基于重建残差的稀疏灰度图像编解码方法及系统 | |
CN110717948A (zh) | 一种图像后处理方法、系统及终端设备 | |
CN114663536B (zh) | 一种图像压缩方法及装置 | |
CN114598874B (zh) | 视频量化编解码方法、装置、设备及存储介质 | |
US11683515B2 (en) | Video compression with adaptive iterative intra-prediction | |
CN110324635B (zh) | 分像素插值方法、系统、计算机设备和介质 | |
KR20240025629A (ko) | 광학 흐름를 이용한 비디오 압축 | |
JP2023146864A (ja) | 量子化誤差補正装置、量子化誤差補正方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |