CN117795532A - 在压缩域中在线训练计算机视觉任务模型 - Google Patents
在压缩域中在线训练计算机视觉任务模型 Download PDFInfo
- Publication number
- CN117795532A CN117795532A CN202380011137.4A CN202380011137A CN117795532A CN 117795532 A CN117795532 A CN 117795532A CN 202380011137 A CN202380011137 A CN 202380011137A CN 117795532 A CN117795532 A CN 117795532A
- Authority
- CN
- China
- Prior art keywords
- image
- decoder
- computer vision
- task
- 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
Links
- 238000012549 training Methods 0.000 title claims abstract description 182
- 238000013528 artificial neural network Methods 0.000 claims abstract description 186
- 238000012545 processing Methods 0.000 claims abstract description 36
- 238000000034 method Methods 0.000 claims description 118
- 230000006835 compression Effects 0.000 claims description 113
- 238000007906 compression Methods 0.000 claims description 113
- 230000008569 process Effects 0.000 description 79
- 238000013527 convolutional neural network Methods 0.000 description 30
- 238000011176 pooling Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 14
- 238000005457 optimization Methods 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 8
- 230000001537 neural effect Effects 0.000 description 8
- 238000013139 quantization Methods 0.000 description 6
- 238000002347 injection Methods 0.000 description 5
- 239000007924 injection Substances 0.000 description 5
- 238000010606 normalization Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000006837 decompression Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- 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
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Analysis (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种处理电路系统,其根据输入图像以及基于图像的计算机视觉任务关于该输入图像产生的指导图像来执行压缩域计算机视觉任务框架(CDCVTF)的在线训练。CDCVTF包括编码部分和解码部分。编码部分将输入图像压缩到压缩域中,并且解码部分在压缩域中执行基于图像的计算机视觉任务。在线训练至少确定对解码部分中的神经网络的更新,该更新减少基于图像的计算机视觉任务在压缩域中的结果与指导图像之间的损失。该处理电路系统将输入图像编码成编码图像,并形成携载该编码图像和附加比特的比特流。附加比特指示对解码部分中的神经网络的更新。
Description
通过引用并入
本申请要求于2023年3月22日提交的美国专利申请第18/125,008号“ONLINETRAINING COMPUTER VISION TASK MODELS IN COMPRESSION DOMAIN”的优先权权益,该美国专利申请要求于2022年4月14日提交的美国临时申请第63/331,162号“ONLINE TRAININGCOMPUTER VISION TASK MODELS IN COMPRESSION DOMAIN”的优先权权益。这些在先申请的公开内容在此通过引用整体并入。
技术领域
本公开内容描述了总体上涉及图像/视频处理的实施方式。
背景技术
本文中提供的背景技术描述的目的在于总体上呈现本公开内容的背景。就该背景技术部分中描述的工作的程度而言,目前署名的发明人的工作以及在提交时可以不被另外限定为现有技术的描述的各方面既没有明确地也没有隐含地被承认为针对本公开内容的现有技术。
图像/视频压缩可以有助于在不同设备、存储装置和网络之间传输图像/视频文件,而使质量下降最小。改进图像/视频压缩工具可能需要大量的专业知识、精力和时间。机器学习技术可以被应用于图像/视频压缩,以简化和加速压缩工具的改进。
发明内容
本公开内容的各方面提供用于图像/视频处理(例如,编码和解码)的方法和装置。在一些示例中,用于图像/视频处理的装置包括处理电路系统。根据本公开内容的一些方面,处理电路系统根据输入图像以及基于图像的计算机视觉任务关于输入图像产生的指导图像,来执行压缩域计算机视觉任务框架(compression domain computer vision taskframework,CDCVTF)的在线训练。CDCVTF包括编码部分和解码部分。编码部分将输入图像压缩到压缩域中,并且解码部分在压缩域中执行基于图像的计算机视觉任务。在线训练至少确定对解码部分中的神经网络的减少基于图像的计算机视觉任务在压缩域中的结果与指导图像之间的损失的更新。处理电路系统将输入图像编码成编码图像,并形成携载编码图像和附加比特的比特流。附加比特指示对解码部分中的神经网络的减少基于图像的计算机视觉任务在压缩域中的结果与指导图像之间的损失的更新。
在一些示例中,处理电路系统在未压缩域中针对输入图像执行基于图像的计算机视觉任务,以生成与输入图像对应的指导图像。
在一些示例中,附加比特分别指示解码部分中的一个或更多个可调参数的一个或更多个经更新的值。
在一些示例中,附加比特指示解码部分的神经网络中的附加层,并且附加比特指示附加层的参数值。在示例中,附加层是卷积层。
在一些示例中,编码部分被配置成将输入图像压缩成编码图像,并且解码部分被配置成针对编码图像执行基于图像的计算机视觉任务以生成重构图像,并且在线训练基于重构图像和指导图像来确定更新。
在一些示例中,在线训练确定对解码部分的更新以及对编码部分中的神经网络的编码器更新。
注意,基于图像的计算机视觉任务包括图像去噪、图像去块和超分辨率中的至少一种。
根据本公开内容的一些方面,装置的处理电路系统可以接收比特流,该比特流包括第一比特和第二比特,第一比特携载与图像对应的编码图像,第二比特指示针对压缩域中基于图像的计算机视觉任务的解码器中的神经网络的更新。解码器对应于压缩域计算机视觉任务框架(compression domain computer vision task framework,CDCVTF)中的解码部分。该更新通过根据图像以及基于图像的计算机视觉任务关于图像产生的指导图像对CDCVTF进行在线训练来确定。在线训练确定的该更新减少基于图像的计算机视觉任务在压缩域中的结果与指导图像之间的损失。处理电路系统根据第二比特更新解码器的神经网络,并且利用解码器以及神经网络中的更新、根据比特流中的第一比特生成重构图像。
在一些示例中,第二比特分别指示神经网络中的一个或更多个参数的一个或更多个经更新的值。
在一些示例中,第二比特指示神经网络中的附加层,并且第二比特指示附加层的参数值。在示例中,附加层是卷积层。
注意,基于图像的计算机视觉任务包括图像去噪、图像去块和超分辨率中的至少一种。
根据本公开内容的一些方面,装置的处理电路系统根据压缩域计算机视觉任务框架(compression domain computer vision task framework,CDCVTF)的在线训练来确定输入图像的替代图像。CDCVTF包括编码部分和解码部分。编码部分将具有当前迭代更新的输入图像压缩到压缩域中,并且解码部分在压缩域中执行基于图像的计算机视觉任务。在线训练确定替代图像,该替代图像减少基于图像的计算机视觉任务在压缩域中的结果与由基于图像的计算机视觉任务关于输入图像(在未压缩域中)产生的指导图像之间的损失。处理电路系统通过编码部分将替代图像编码到比特流中。
在一些示例中,处理电路系统在未压缩域中针对输入图像执行基于图像的计算机视觉任务,以生成对应于输入图像的指导图像。
在一些示例中,在在线训练期间,编码部分被配置成将具有当前迭代更新的输入图像压缩成当前经编码的更新图像,并且解码部分被配置成针对当前经编码的更新图像执行基于图像的计算机视觉任务以生成当前重构图像,以及基于当前重构图像和指导图像来确定下一迭代更新。
注意,基于图像的计算机视觉任务包括图像去噪、图像去块和超分辨率中的至少一种。编码部分和解码部分中的神经网络的参数被固定成预训练的值。
本公开内容的各方面还提供存储程序的非暂态计算机可读存储介质,该程序可由至少一个处理器执行以执行用于图像/视频编码和/或解码的方法。
附图说明
根据以下详细描述和附图,所公开的主题的其他特征、性质和各种优点将更加明显,在附图中:
图1示出了一些示例中的神经图像压缩(neural image compression,NIC)框架。
图2示出了一些示例中的主编码器网络的示例。
图3示出了一些示例中的主解码器网络的示例。
图4示出了一些示例中的超编码器网络的示例。
图5示出了一些示例中的超解码器网络的示例。
图6示出了一些示例中的上下文模型神经网络的示例。
图7示出了一些示例中的熵参数神经网络的示例。
图8示出了一些示例中的图像编码器。
图9示出了一些示例中的图像解码器。
图10至图11示出了一些示例中的图像编码器和对应的图像解码器。
图12示出了一些示例中的用于在压缩域中执行计算机视觉(computer vision,CV)任务的系统。
图13示出了一些示例中的用于在压缩域中执行CV任务的系统。
图14示出了根据本公开内容的一些实施方式的基于在线训练的压缩域计算机视觉任务框架(compression domain computer vision task framework,CDCVTF)。
图15示出了一些示例中的在CDCVTF中执行基于在线训练的后处理的系统。
图16示出了一些示例中的在CDCVTF中执行基于在线训练的预处理的系统。
图17示出了概述一些示例中的过程的流程图。
图18示出了概述一些示例中的过程的流程图。
图19示出了概述一些示例中的过程的流程图。
图20是一些示例中的计算机系统的示意图。
具体实施方式
根据本公开内容的一方面,一些视频编解码器可能难以作为整体进行优化。例如,对视频编解码器中单个模块(例如,编码器)的改进可能不会在整体性能上实现编码增益。相比之下,在基于人工神经网络(artificial neural network,ANN)的视频/图像编码框架中,可以执行机器学习过程,然后可以从输入到输出对基于ANN的视频/图像编码框架的不同模块进行联合优化,以改进最终目标(例如,率失真性能,例如本公开内容中描述的率失真损失L)。例如,可以针对基于ANN的视频/图像编码框架执行学习过程或训练过程(例如,机器学习过程),以联合优化基于ANN的视频/图像编码框架的模块,从而实现整体优化的率失真性能,因此优化结果可以是经端到端(end to end,E2E)优化的神经图像压缩(neuralimage compression,NIC)。
在下面的描述中,通过神经图像压缩(NIC)框架来说明基于ANN的视频/图像编码框架。虽然在下面的描述中说明了图像压缩(例如,编码和解码),但是应当注意,用于图像压缩的技术可以适当地应用于视频压缩。
根据本公开内容的一些方面,可以在离线训练过程和/或在线训练过程中训练NIC框架。在离线训练过程中,先前收集的一组训练图像可以用于训练NIC框架,以优化NIC框架。在一些示例中,通过离线训练过程确定的NIC框架的参数可以被称为预训练参数,并且具有预训练参数的NIC框架可以被称为预训练NIC框架。预训练NIC框架可以用于图像压缩操作。
在一些示例中,当一个或更多个图像(也称为一个或更多个目标图像)可用于图像压缩操作时,在在线训练过程中基于这一个或更多个目标图像对预训练NIC框架进行进一步训练,以调整NIC框架的参数。通过在线训练过程调整的NIC框架的参数可以被称为经在线训练的参数,并且具有经在线训练的参数的NIC框架可以被称为经在线训练的NIC框架。然后,经在线训练的NIC框架可以针对一个或更多个目标图像执行图像压缩操作。本公开内容的一些方面提供了用于神经图像压缩中的基于在线训练的编码器调整的技术。
神经网络指的是对生物大脑进行建模的计算架构。神经网络可以是以软件或硬件来实现的模型,其通过使用经由连接线连接的大量人工神经元来对生物系统的计算能力进行仿真。被称为节点的人工神经元相互连接并共同操作以对输入数据进行处理。神经网络(neural network,NN)也被称为人工神经网络(artificial neural network,ANN)。
ANN中的节点可以以任何合适的架构来进行组织。在一些实施方式中,ANN中的节点被组织成层,所述层包括接收ANN的输入信号的输入层和输出ANN的输出信号的输出层。在实施方式中,ANN还包括在输入层与输出层之间的可以被称为隐藏层的层。不同层可以对不同层的相应输入执行不同种类的变换。信号可以从输入层行进至输出层。
在输入层与输出层之间具有多个层的ANN可以被称为深度神经网络(deep neuralnetwork,DNN)。DNN可以具有任何合适的结构。在一些示例中,DNN被配置成前馈网络结构,在该前馈网络结构中数据从输入层流向输出层而不环回。在一些示例中,DNN被配置成全连接网络结构,在该全连接网络结构中一层中的每个节点均连接至下一层中的所有节点。在一些示例中,DNN被配置成递归神经网络(recurrent neural network,RNN)结构,在该递归神经网络结构中数据可以沿任何方向流动。
至少具有执行卷积操作的卷积层的ANN可以被称为卷积神经网络(convolutionneural network,CNN)。CNN可以包括输入层、输出层以及在输入层与输出层之间的隐藏层。隐藏层可以包括执行卷积例如二维(two-dimensional,2D)卷积的卷积层(例如,在编码器中使用)。在实施方式中,在卷积层中执行的2D卷积在卷积核(也称为滤波器或通道,例如5x5矩阵)与到卷积层的输入信号(例如,2D矩阵诸如2D块,256x 256矩阵)之间。卷积核的维数(例如,5x 5)小于输入信号的维数(例如,256x 256)。在卷积操作期间,针对卷积核和输入信号(例如,256x256矩阵)中与卷积核大小相同的补丁(例如,5x 5区域)执行点积运算,以生成用于输入至下一层的输出信号。输入信号(例如,256x 256矩阵)中与卷积核大小相同的补丁(例如,5x 5区域)可以被称为下一层中相应节点的感受野(receptive field)。
在卷积期间,计算卷积核与输入信号中对应感受野的点积。卷积核将权重包括为元素,卷积核的每个元素都是施加于感受野中的对应样本的权重。例如,由5x 5矩阵表示的卷积核具有25个权重。在一些示例中,对卷积层的输出信号施加偏置,并且输出信号基于点积和偏置之和。
在一些示例中,卷积核可以沿输入信号(例如,2D矩阵)移动被称为步幅的大小,因此卷积操作生成特征图或激活图(例如,另一2D矩阵),这进而对CNN中下一层的输入做出贡献。例如,输入信号是具有256x 256个样本的2D块,步幅是2个样本(例如,步幅为2)。当步幅为2时,卷积核沿X方向(例如,水平方向)和/或Y方向(例如,垂直方向)移动2个样本。
在一些示例中,可以在同一卷积层中对输入信号应用多个卷积核以分别生成多个特征图,其中每个特征图可以表示输入信号的特定特征。在一些示例中,卷积核可以对应于特征图。具有N个卷积核(或N个通道)、每个卷积核具有M x M个样本并且步幅为S的卷积层可以被指定为Conv:MxM cN sS。例如,具有192个卷积核(或192个通道)、每个卷积核具有5x5个样本并且步幅为2的卷积层被指定为Conv:5x5 c192 s2。隐藏层可以包括执行反卷积例如2D反卷积的反卷积层(例如,在解码器中使用)。反卷积是卷积的逆。具有192个反卷积核(或192个通道)、每个反卷积核具有5x 5个样本并且步幅为2的反卷积层被指定为DeConv:5x5c192 s2。
在CNN中,相对大量的节点可以共享相同滤波器(例如,相同的权重)和相同的偏置(如果使用偏置),因此可以减少内存占用,这是因为可以在共享相同滤波器的所有感受野之间使用单个偏置和单个权重向量。例如,对于具有100x 100个样本的输入信号,具有包含5x 5个样本的卷积核的卷积层具有25个可学习参数(例如,权重)。如果使用偏置,则一个通道使用26个可学习参数(例如,25个权重和一个偏置)。如果卷积层具有N个卷积核,则总的可学习参数为26x N个。与全连接前馈神经网络层相比,可学习参数的数量相对小。例如,对于全连接前馈层,使用100x 100(即10000)个权重来生成结果信号以供输入至下一层中的每个节点。如果下一层具有L个节点,则总的可学习参数为10000x L个。
CNN还可以包括一个或更多个其他层,例如池化层、可以将一层中的每个节点连接至另一层中的每个节点的全连接层、归一化层等。CNN中的层可以以任何合适的顺序和任何合适的架构(例如,前馈架构、循环架构)布置。在示例中,卷积层之后是其他层,例如池化层、全连接层、归一化层等。
池化层可以用于通过将来自一个层处的多个节点的输出组合成下一层中的单个节点中来减少数据的维数。下面描述针对将特征图作为输入的池化层的池化操作。该描述可以适当地适用于其他输入信号。可以将特征图划分为子区域(例如,矩形子区域),并且可以例如通过取平均池化中的平均值或最大池化中的最大值来将相应子区域中的特征独立地下采样(或池化)成单个值。
池化层可以执行池化,例如局部池化、全局池化、最大池化、平均池化等。池化是非线性下采样的形式。局部池化组合特征图中的少量节点(例如,局部节点集群,例如2x 2个节点)。全局池化可以组合例如特征图的所有节点。
池化层可以减小表示的大小,从而减少参数的数量、内存占用以及CNN中的计算量。在示例中,在CNN中的连续卷积层之间插入池化层。在示例中,池化层之后是激活函数,例如整流线性单元(rectified linear unit,ReLU)层。在示例中,在CNN中的连续卷积层之间省略池化层。
归一化层可以是ReLU、泄漏ReLU、广义除法归一化(generalized divisivenormalization,GDN)、逆GDN(inverse GDN,IGDN)等。ReLU可以应用非饱和激活函数以通过将负值设置为零来从输入信号(例如,特征图)中去除负值。对于负值,泄漏ReLU可以具有小的斜率(例如,0.01)而不是平坦的斜率(例如,0)。因此,如果值x大于0,则来自泄漏ReLU的输出是x。否则,来自泄漏ReLU的输出是值x乘以小的斜率(例如,0.01)。在示例中,斜率是在训练之前确定的,并且因此在训练期间不进行学习。
NIC框架可以对应于用于图像压缩的压缩模型。NIC框架接收输入图像x,并输出与输入图像x对应的重构图像NIC框架可以包括神经网络编码器(例如,基于诸如DNN的神经网络的编码器)和神经网络解码器(例如,基于诸如DNN的神经网络的解码器)。将输入图像x作为输入提供给神经网络编码器以计算压缩表示(例如,紧凑表示)/>该压缩表示/>可以是紧凑的以例如用于存储和传输目的。将压缩表示/>作为输入提供给神经网络解码器,以生成重构图像/>在各种实施方式中,输入图像x和重构图像/>在空间域中,压缩表示/>在不同于空间域的域中。在一些示例中,对压缩表示/>进行量化和熵编码。
在一些示例中,NIC框架可以使用变分自动编码器(variational autoencoder,VAE)结构。在VAE结构中,可以将整个输入图像x输入至神经网络编码器。整个输入图像x可以通过(神经网络编码器的)用作用于计算压缩表示的黑盒的一组神经网络层。压缩表示是神经网络编码器的输出。神经网络解码器可以将整个压缩表示/>作为输入。压缩表示可以通过(神经网络解码器的)用作用于计算重构图像/>的黑盒的另一组神经网络层。可以利用权衡超参数λ例如根据式1对率失真(R-D)损失L/>进行优化,以实现重构图像/>的失真损失D/>与紧凑表示/>的比特消耗R之间的权衡:
神经网络(例如,ANN)可以从示例中学习执行任务,而无需特定于任务的编程。ANN可以配置有连接的节点或人工神经元。节点之间的连接可以将信号从第一节点传输至第二节点(例如,接收节点),并且可以通过权重来修改信号,该权重可以由连接的权重系数来指示。接收节点可以对来自向接收节点传送信号的节点的信号(即,对于接收节点而言,是输入信号)进行处理,并且然后通过将函数应用于输入信号来生成输出信号。该函数可以是线性函数。在示例中,输出信号是输入信号的加权和。在示例中,另外通过可以由偏置项指示的偏置来对输出信号进行修改,因此输出信号是偏置与输入信号的加权和的总和。该函数可以包括例如针对偏置与输入信号的加权和的加权和和或总和的非线性运算。输出信号可以被发送至与接收节点连接的节点(下游节点)。可以通过参数(例如,连接的权重和/或偏置)来表示或配置ANN。可以通过利用示例对ANN进行训练(例如,离线训练、在线训练等)来获得权重和/或偏置,在所述训练中可以迭代地调整权重和/或偏置。配置有经确定的权重和/或经确定的偏置的经训练的ANN可以用于执行任务。
图1示出了一些示例中的NIC框架(100)(例如,NIC系统)。NIC框架(100)可以基于神经网络,例如DNN和/或CNN。NIC框架(100)可以用于对图像进行压缩(例如,编码)以及对压缩图像(例如,编码图像)进行解压缩(例如,解码或重构)。
具体地,在图1的示例中,NIC框架(100)中的压缩模型包括两个级别,这两个级别被称为压缩模型的主级别和压缩模型的超级别。压缩模型的主级别和压缩模型的超级别可以使用神经网络来实现。在图1中,用于压缩模型的主级别的神经网络被示为第一子NN(151),并且压缩模型的超级别被示为第二子NN(152)。
第一子NN(151)可以类似于自动编码器,并且可以被训练用于生成输入图像x的压缩图像以及对压缩图像(即,编码图像)/>进行解压缩以获得重构图像/>第一子NN(151)可以包括多个部件(或模块),例如主编码器神经网络(或主编码器网络)(111)、量化器(112)、熵编码器(113)、熵解码器(114)和主解码器神经网络(或主编码器网络)(115)。
参照图1,主编码器网络(111)可以从输入图像x(例如,要压缩或编码的图像)生成潜在(latent)或潜在表示y。在示例中,使用CNN来实现主编码器网络(111)。潜在表示y与输入图像x之间的关系可以使用式2来描述:
y=f1(x;θ1) 式2
其中参数θ1表示如下参数,例如在主编码器网络(111)中的卷积核中使用的权重以及偏置(如果在主编码器网络(111)中使用偏置)。
可以使用量化器(112)对潜在表示y进行量化以生成经量化的潜在例如,可以由熵编码器(113)使用无损压缩对经量化的潜在/>进行压缩,以生成作为输入图像x的压缩表示/>的压缩图像(例如,编码图像)/>(131)。熵编码器(113)可以使用诸如霍夫曼编码、算术编码等的熵编码技术。在示例中,熵编码器(113)使用算术编码并且是算术编码器。在示例中,编码图像(131)在编码比特流中被传输。
编码图像(131)可以由熵解码器(114)进行解压缩(例如,熵解码)以生成输出。熵解码器(114)可以使用与熵编码器(113)中使用的熵编码技术对应的熵编解码技术诸如霍夫曼编码、算术编码等。在示例中,熵解码器(114)使用算术解码并且是算术解码器。在示例中,在熵编码器(113)中使用无损压缩,在熵解码器(114)中使用无损解压缩,并且可以忽略诸如由于编码图像(131)的传输而产生的噪声,熵解码器(114)的输出是经量化的潜在
主解码器网络(115)可以对经量化的潜在进行解码以生成重构图像/>在示例中,使用CNN来实现主解码器网络(115)。重构图像/>(即,主解码器网络(115)的输出)与经量化的潜在/>(即,主解码器网络(115)的输入)之间的关系可以使用式3来描述:
其中参数θ2表示如下参数,例如在主解码器网络(115)中的卷积核中使用的权重以及偏置(如果在主解码器网络(115)中使用偏置)。因此,第一子NN(151)可以对输入图像x进行压缩(例如,编码)以获得编码图像(131),并且可以对编码图像(131)进行解压缩(例如,解码)以获得重构图像由于由量化器(112)引入的量化损失,重构图像/>可能会与输入图像x不同。
在一些示例中,第二子NN(152)可以针对用于熵编码的经量化的潜在学习熵模型(例如,先验概率模型)。因此,熵模型可以是取决于输入图像x的条件熵模型,例如高斯混合模型(Gaussian mixture model,GMM)、高斯尺度模型(Gaussian scale model,GSM)。
在一些示例中,第二子NN(152)可以包括上下文模型NN(116)、熵参数NN(117)、超编码器网络(121)、量化器(122)、熵编码器(123)、熵解码器(124)和超解码器网络(125)。上下文模型NN(116)中使用的熵模型可以是针对潜在(例如,经量化的潜在)的自回归模型。在示例中,超编码器网络(121)、量化器(122)、熵编码器(123)、熵解码器(124)和超解码器网络(125)形成可以使用超级别的神经网络(例如,超先验NN)实现的超先验模型。超先验模型可以表示对校正基于上下文的预测有用的信息。来自上下文模型NN(116)和超先验模型的数据可以通过熵参数NN(117)来组合。熵参数NN(117)可以生成参数,例如用于诸如条件高斯熵模型(例如,GMM)的熵模型的均值和尺度参数。
参照图1,在编码器侧,来自量化器(112)的经量化的潜在被馈送至上下文模型NN(116)中。在解码器侧,来自熵解码器(114)的经量化的潜在/>被馈送至上下文模型NN(116)中。上下文模型NN(116)可以使用诸如CNN的神经网络来实现。上下文模型NN(116)可以基于上下文/>生成输出ocm,i,该上下文/>是上下文模型NN(116)可用的经量化的潜在上下文/>可以包括编码器侧的先前经量化的潜在或解码器侧的先前被熵解码的经量化的潜在。上下文模型NN(116)的输出ocm,i与输入(例如,/>)之间的关系可以使用式4来描述:
其中参数θ3表示如下参数,例如在上下文模型NN(116)中的卷积核中使用的权重以及偏置(如果在上下文模型NN(116)中使用偏置)。
来自上下文模型NN(116)的输出ocm,i和来自超解码器网络(125)的输出ohc被馈送至熵参数NN(117)中以生成输出oep。熵参数NN(117)可以使用诸如CNN的神经网络来实现。熵参数NN(117)的输出oep与输入(例如,ocm,i和ohc)之间的关系可以使用式5来描述:
oep=f4(ocm,i,ohc;θ4) 式5
其中参数θ4表示如下参数,例如在熵参数NN(117)中的卷积核中使用的权重以及偏置(如果在熵参数NN(117)中使用偏置)。熵参数NN(117)的输出oep可以用于确定(例如,调节)熵模型,并且因此,经调节的熵模型可以例如经由来自超解码器网络(125)的输出ohc而依赖于输入图像x。在示例中,输出oep包括用于调节熵模型(例如,GMM)的参数,例如均值和尺度参数。参照图1,熵编码器(113)和熵解码器(114)可以分别在熵编码和熵解码中使用熵模型(例如,条件熵模型)。
下面可以描述第二子NN(152)。潜在y可以被馈送至超编码器网络(121)中以生成超潜在z。在示例中,超编码器网络(121)使用诸如CNN的神经网络来实现。超潜在z与潜在y之间的关系可以使用式6来描述:
z=f5(y;θ5) 式6
其中参数θ5表示如下参数,例如在超编码器网络(121)中的卷积核中使用的权重以及偏置(如果在超编码器网络(121)中使用偏置)。
通过量化器(122)对超潜在z进行量化以生成经量化的潜在例如,可以由熵编码器(123)使用无损压缩对经量化的潜在/>进行压缩,以生成诸如来自超神经网络的编码比特(132)的边信息。熵编码器(123)可以使用诸如霍夫曼编码、算术编码等的熵编码技术。在示例中,熵编码器(123)使用算术编码并且是算术编码器。在示例中,可以例如与编码图像(131)一起以编码比特流的形式传输诸如编码比特(132)的边信息。
可以由熵解码器(124)对诸如编码比特(132)的边信息进行解压缩(例如,熵解码)以生成输出。熵解码器(124)可以使用诸如霍夫曼编解码、算术编解码等的熵编解码技术。在示例中,熵解码器(124)使用算术解码并且是算术解码器。在示例中,在熵编码器(123)中使用无损压缩,在熵解码器(124)中使用无损解压缩,并且可以忽略例如由于边信息的传输而产生的噪声,熵解码器(124)的输出可以是经量化的潜在超解码器网络(125)可以对经量化的潜在/>进行解码以生成输出ohc。输出ohc与经量化的潜在/>之间的关系可以使用式7来描述:
其中参数θ6表示如下参数,例如在超解码器网络(125)中的卷积核中使用的权重以及偏置(如果在超解码器网络(125)中使用偏置)。
如上面所描述的,压缩比特或编码比特(132)可以被作为边信息添加到编码比特流,这使得熵解码器(114)能够使用条件熵模型。因此,熵模型可以是图像相关且空间上自适应的,并且因此可以比固定熵模型更准确。
可以对NIC框架(100)进行适当调整,以例如省略图1中所示的一个或更多个部件、修改图1中所示的一个或更多个部件以及/或者包括图1中未示出的一个或更多个部件。在示例中,使用固定熵模型的NIC框架包括第一子NN(151),而不包括第二子NN(152)。在示例中,NIC框架包括NIC框架(100)中除熵编码器(123)和熵解码器(124)之外的部件。
在实施方式中,使用诸如CNN的神经网络来实现图1中所示的NIC框架(100)中的一个或更多个部件。NIC框架(例如,NIC框架(100))中的每个基于NN的部件(例如,主编码器网络(111)、主解码器网络(115)、上下文模型NN(116)、熵参数NN(117)、超编码器网络(121)或超解码器网络(125))可以包括任何合适的架构(例如,具有任何合适的层组合)、包括任何合适类型的参数(例如,权重、偏置、权重与偏置的组合等)并且包括任意合适数目的参数。
在实施方式中,使用相应的CNN来实现主编码器网络(111)、主解码器网络(115)、上下文模型NN(116)、熵参数NN(117)、超编码器网络(121)和超解码器网络(125)。
图2示出了根据本公开内容的实施方式的针对主编码器网络(111)的示例性CNN。例如,主编码器网络(111)包括四组层,其中每组层包括跟随有GDN层的卷积层5x5 c192s2。可以修改和/或省略图2中所示的一个或更多个层。可以将另外的层添加到主编码器网络(111)。
图3示出了根据本公开内容的实施方式的针对主解码器网络(115)的示例性CNN。例如,主解码器网络(115)包括三组层,其中每组层包括跟随有IGDN层的去卷积层5x5 c192s2。另外,三组层之后是跟随有IGDN层的去卷积层5x5 c3 s2。可以修改和/或省略图3中所示的一个或更多个层。可以将另外的层添加到主解码器网络(115)。
图4示出了根据本公开内容的实施方式的针对超编码器网络(121)的示例性CNN。例如,超编码器网络(121)包括跟随有泄漏ReLU的卷积层3x3 c192 s1、跟随有泄漏ReLU的卷积层5x5 c192 s2以及卷积层5x5c192 s2。可以修改和/或省略图4中所示的一个或更多个层。可以将另外的层添加到超编码器网络(121)。
图5示出了根据本公开内容的实施方式的针对超解码器网络(125)的示例性CNN。例如,超解码器网络(125)包括跟随有泄漏ReLU的去卷积层5x5 c192 s2、跟随有泄漏ReLU的去卷积层5x5 c288 s2以及去卷积层3x3 c384 s1。可以修改和/或省略图5中所示的一个或更多个层。可以将另外的层添加到超解码器网络(125)。
图6示出了根据本公开内容的实施方式的针对上下文模型NN(116)的示例性CNN。例如,上下文模型NN(116)包括掩蔽卷积5x5 c384 s1以供上下文预测,并且因此式4中的上下文包括有限的上下文(例如,5x5卷积核)。可以修改图6中的卷积层。可以将另外的层添加到上下文模型NN(116)。
图7示出了根据本公开内容的实施方式的针对熵参数NN(117)的示例性CNN。例如,熵参数NN(117)包括跟随有泄漏ReLU的卷积层1x1c640 s1、跟随有泄漏ReLU的卷积层1x1c512 s1以及卷积层1x1 c384 s1。可以修改和/或省略图7中所示的一个或更多个层。可以将另外的层添加到熵参数NN(117)。
如参照图2至图7所描述的,NIC框架(100)可以使用CNN来实现。可以对NIC框架(100)进行适当调整,使得使用任何合适类型的神经网络(例如,基于CNN或基于非CNN的神经网络)来实现NIC框架(100)中的一个或更多个部件(例如,(111)、(115)、(116)、(117)、(121)和/或(125))。可以使用神经网络来实现NIC框架(100)的一个或更多个其他部件。
可以对包括神经网络(例如,CNN)的NIC框架(100)进行训练以学习神经网络中使用的参数。例如,在使用CNN的情况下,可以在训练过程(例如,离线训练过程、在线训练过程等)中分别学习由θ1至θ6表示的参数,例如在主编码器网络(111)中的卷积核中使用的权重和偏置(如果在主编码器网络(111)中使用偏置)、在主解码器网络(115)中的卷积核中使用的权重和偏置(如果在主解码器网络(115)中使用偏置)、在超编码器网络(121)中的卷积核中使用的权重和偏置(如果在超编码器网络(121)中使用偏置)、在超解码器网络(125)中的卷积核中使用的权重和偏置(如果在超解码器网络(125)中使用偏置)、在上下文模型NN(116)中的卷积核中使用的权重和偏置(如果在上下文模型NN(116)中使用偏置)、以及在熵参数NN(117)中的卷积核中使用的权重和偏置(如果在熵参数NN(117)中使用偏置)。
在示例中,参照图2,主编码器网络(111)包括四个卷积层,其中每个卷积层具有5x5的卷积核和192个通道。因此,在主编码器网络(111)中的卷积核中使用的权重的数量为19200(即,4x5x5x192)。主编码器网络(111)中使用的参数包括19200个权重和可选的偏置。当在主编码器网络(111)中使用偏置和/或另外的NN的情况下,可以包括另外的参数。
参照图1,NIC框架(100)包括建立在神经网络上的至少一个部件或模块。至少一个部件可以包括主编码器网络(111)、主解码器网络(115)、超编码器网络(121)、超解码器网络(125)、上下文模型NN(116)和熵参数NN(117)中的一个或更多个。至少一个部件可以被单独训练。在示例中,训练过程被用于分别学习每个部件的参数。至少一个部件可以被作为群组联合训练。在示例中,训练过程被用于联合学习至少一个部件的子集的参数。在示例中,训练过程被用于学习至少一个部件中的所有部件的参数,并因此被称为E2E优化。
在针对NIC框架(100)中的一个或更多个部件的训练过程中,可以对一个或更多个部件的权重(或权重系数)进行初始化。在示例中,基于预训练的对应神经网络模型(例如,DNN模型、CNN模型)对权重进行初始化。在示例中,通过将权重设置为随机数来对权重进行初始化。
例如,在对权重进行初始化之后,可以使用一组训练图像来训练一个或更多个部件。该组训练图像可以包括具有任何合适大小的任何合适的图像。在一些示例中,该组训练图像包括来自空间域中的原始图像、自然图像、计算机生成的图像等的图像。在一些示例中,该组训练图像包括来自残差图像或在空间域中具有残差数据的残差图像的图像。残差数据可以由残差计算器来计算。在一些示例中,原始图像和/或包括残差数据的残差图像可以直接用于训练NIC框架(例如,NIC框架(100))中的神经网络。因此,原始图像、残差图像、来自原始图像的图像和/或来自残差图像的图像可以用于训练NIC框架中的神经网络。
为了简洁起见,下面使用训练图像作为示例来描述训练过程(例如,离线训练过程、在线训练过程等)。该描述可以适当地适于训练块。可以使该组训练图像中的训练图像t通过图1中的编码过程以生成压缩表示(例如,例如到比特流的编码信息)。可以使编码信息通过图1中描述的解码过程以对重构图像进行计算和重构。
对于NIC框架(100),使两个竞争目标例如重构质量和比特消耗平衡。质量损失函数(例如,失真或失真损失)可以用于指示重构质量,例如重构(例如,重构图像/>)与原始图像(例如,训练图像t)之间的差异。率(或率损失)R可以用于指示压缩表示的比特消耗。在示例中,率损失R还包括例如在确定上下文模型时使用的边信息。
对于神经图像压缩,可以在E2E优化中使用量化的可微分近似(differentiableapproximations)。在各种示例中,在基于神经网络的图像压缩的训练过程中,使用噪声注入来模拟量化,并且因此,通过噪声注入来模拟量化而不是由量化器(例如,量化器(112))来执行量化。因此,利用噪声注入进行的训练可以可变地逼近量化误差。可以使用每像素比特(bits per pixel,BPP)估计器来模拟熵编码器,并且因此,通过BPP估计器来模拟熵编码而不是通过熵编码器(例如,(113))和熵解码器(例如,(114))来执行熵编码。因此,可以例如基于噪声注入和BPP估计器来估计式1所示的损失函数L在训练过程期间的率损失R。通常,较高的率R可以实现较低的失真D,而较低的率R可能导致较高的失真D。因此,可以使用式1中的权衡超参数λ来优化联合R-D损失L,其中作为λD和R的总和的L可以被优化。训练过程可以被用于调整NIC框架(100)中的一个或更多个部件(例如,(111)(115))的参数,使得联合R-D损失L被最小化或被优化。在一些示例中,可以根据下式使用权衡超参数λ来优化联合率失真(R-D)损失:
其中,E度量经解码的图像残差相比于编码之前的原始图像残差的失真,其充当残差编码/解码DNN和编码/解码DNN的正则化损失。β是用于平衡正则化损失的重要性的超参数。
可以使用各种模型来确定失真损失D和率损失R,从而确定式1中的联合R-D损失L。在示例中,失真损失被表示为峰值信噪比(peak signal-to-noise ratio,PSNR),该峰值信噪比是基于均方误差、多尺度结构相似性(multiscale structural similarity,MS-SSIM)质量指数、PSNR和MS-SSIM的加权组合等的度量。
在示例中,训练过程的目标是训练诸如要在编码器侧使用的视频编码器的编码神经网络(例如,编码DNN)以及诸如要在解码器侧使用的视频解码器的解码神经网络(例如,解码DNN)。在示例中,参照图1,编码神经网络可以包括主编码器网络(111)、超编码器网络(121)、超解码器网络(125)、上下文模型NN(116)和熵参数NN(117)。解码神经网络可以包括主解码器网络(115)、超解码器网络(125)、上下文模型NN(116)和熵参数NN(117)。视频编码器和/或视频解码器可以包括基于NN和/或不基于NN的其他部件。
可以以E2E方式训练NIC框架(例如,NIC框架(100))。在示例中,在训练过程中以E2E方式基于反向传播梯度(例如,使用梯度下降算法)来对编码神经网络和解码神经网络进行联合更新。梯度下降算法可以迭代地优化NIC框架的参数,以找到NIC框架的可微分函数的局部最小值(例如,率失真损失的局部最小值)。例如,梯度下降算法可以在当前点处可微分函数的梯度(或近似梯度)的相反方向上采取重复的步骤。
在对NIC框架(100)中的神经网络的参数进行训练之后,NIC框架(100)中的一个或更多个部件可以用于对图像进行编码和/或解码。在实施方式中,在编码器侧,图像编码器被配置成将输入图像x编码成要在比特流中传输的编码图像(131)。图像编码器可以包括NIC框架(100)中的多个部件。在实施方式中,在解码器侧,对应的图像解码器被配置成将比特流中携载的编码图像(131)解码成重构图像图像解码器可以包括NIC框架(100)中的多个部件。
注意,根据NIC框架的图像编码器和图像解码器可以具有对应的结构。
图8示出了根据本公开内容的实施方式的示例性图像编码器(800)。图像编码器(800)包括主编码器网络(811)、量化器(812)、熵编码器(813)和第二子NN(852)。主编码器网络(811)与主编码器网络(111)类似地配置,量化器(812)与量化器(112)类似地配置,熵编码器(813)与熵编码器(113)类似地配置,并且第二子NN(852)与第二子NN(152)类似地配置。上面已经参照图1提供了描述,为了清楚起见,在此将省略该描述。
图9示出了根据本公开内容的实施方式的示例性图像解码器(900)。图像解码器(900)可以对应于图像编码器(800)。图像解码器(900)可以包括主解码器网络(915)、熵解码器(914)、上下文模型NN(916)、熵参数NN(917)、熵解码器(924)和超解码器网络(925)。主解码器网络(915)与主解码器网络(115)类似地配置,熵解码器(914)与熵解码器(114)类似地配置,上下文模型NN(916)与上下文模型NN(116)类似地配置,熵参数NN(917)与熵参数NN(117)类似地配置,熵解码器(924)与熵解码器(124)类似地配置,并且超解码器网络(925)与超解码器网络(125)类似地配置。上面已经参照图1提供了描述,为了清楚起见,在此将省略该描述。
参照图8至图9,在编码器侧,图像编码器(800)可以生成要在比特流中传输的编码图像(831)和编码比特(832)。在解码器侧,图像解码器(900)可以接收编码图像(931)和编码比特(932)并对其进行解码。可以从接收到的比特流中解析编码图像(931)和编码比特(932)。
图10至图11分别示出了根据本公开内容的实施方式的示例性图像编码器(1000)和对应的图像解码器(1100)。参照图10,图像编码器(1000)包括主编码器网络(1011)、量化器(1012)和熵编码器(1013)。主编码器网络(1011)与主编码器网络(111)类似地配置,量化器(1012)与量化器(112)类似地配置,并且熵编码器(1013)与熵编码器(113)类似地配置。上面已经参照图1提供了描述,为了清楚起见,在此将省略该描述。
参照图11,图像解码器(1100)包括主解码器网络(1115)和熵解码器(1114)。主解码器网络(1115)与主解码器网络(115)类似地配置,并且熵解码器(1114)与熵解码器(114)类似地配置。上面已经参照图1提供了描述,为了清楚起见,在此将省略该描述。
参照图10和图11,图像编码器(1000)可以生成要包括在比特流中的编码图像(1031)。图像解码器(1100)可以接收比特流并对比特流中携载的编码图像(1131)进行解码。
根据本公开内容的一些方面,图像压缩可以去除图像中的冗余,因此可以使用数量小得多的比特来表示压缩图像。图像压缩可以有利于图像的传输和存储。压缩图像可以被称为压缩域中的图像。针对压缩图像的图像处理可以被称为压缩域中的图像处理。在一些示例中,可以以不同的压缩率执行图像压缩,并且在一些示例中,压缩域可以被称为多率压缩域。
计算机视觉(computer vision,CV)是使用带有神经网络的计算机来检测、理解和处理图像的内容的人工智能(artificial intelligence,AI)领域。CV任务可以包括(但不限于)图像分类、对象检测、超分辨率(从一个或更多个低分辨率图像生成高分辨率图像)、图像去噪等。在一些相关示例中,针对诸如未经压缩的原始图像、来自压缩图像的重构图像等的未压缩图像(例如,在未压缩域中)执行CV任务。在一些示例中,针对压缩图像进行解压缩以生成重构图像,并且针对重构图像执行CV任务。重构可能是计算密集型的。在压缩域中执行CV任务而不进行图像重构可以降低计算复杂度并减少CV任务的延迟时间。
本公开内容的一些方面提供了用于压缩域中的计算机视觉任务神经网络的技术。在一些示例中,这些技术可以被用在包括压缩域CV任务框架(compression domain CVtask framework,CDCVTF)的模型的端到端(end-to-end,E2E)优化框架中。E2E优化框架包括编码器(也称为编码部分)和解码器(也称为解码部分)。编码器可以生成输入图像的编码比特流,解码器对编码比特流进行解码以生成基于CV任务的结果。端到端(end-to-end,E2E)优化框架可以是预训练的基于人工神经网络(artificial neural network,ANN)的框架。
在一些示例中,可以由神经网络的两个部分对压缩图像执行CV任务。在一些示例中,神经网络的两个部分形成可以端到端训练的E2E框架。神经网络的两个部分包括图像编码神经网络的第一部分和CV任务神经网络的第二部分。在一些示例中,图像编码神经网络也被称为图像压缩编码器,并且CV任务神经网络也被称为CV任务解码器。图像压缩编码器可以将图像编码成编码比特流。CV任务解码器可以对编码比特流进行解码,以在压缩域中生成CV任务结果。CV任务解码器基于压缩图像(例如,在压缩域中)执行CV任务。
在一些示例中,由NIC框架的编码器对图像进行压缩以生成携载压缩图像或压缩特征图的编码比特流。此外,可以将压缩图像或压缩特征图提供给CV任务神经网络以生成CV任务结果。
图12示出了一些示例中的用于在压缩域中执行CV任务的系统(1200)。系统(1200)包括图像压缩编码器(1220)、图像压缩解码器(1250)和CV任务解码器(1270)。图像压缩解码器(1250)可以对应于图像压缩编码器(1220)。例如,图像压缩编码器(1220)可以与图像编码器(800)类似地配置,并且图像压缩解码器(1250)可以与图像解码器(900)类似地配置。在另一示例中,图像压缩编码器(1220)可以与图像编码器(1000)类似地配置,并且图像压缩解码器(1250)可以与图像解码器(1100)类似地配置。在一些示例中,图像压缩编码器(1220)被配置为NIC框架的编码部分(具有编码器模型),并且图像压缩解码器(1250)被配置为NIC框架的解码部分(具有解码器模型)。可以对NIC框架进行端到端训练,以确定用于E2E优化框架的编码器模型和解码器模型的预训练参数。根据具有预训练参数的编码器模型和解码器模型对图像压缩编码器(1220)和图像压缩解码器(1220)进行配置。图像压缩编码器(1220)可以接收输入图像、压缩输入图像并生成携载与输入图像对应的压缩图像的编码比特流。图像压缩解码器(1250)可以接收编码比特流,对压缩图像进行解压缩,并生成重构图像。
CV任务解码器(1270)被配置成对携载压缩图像的编码比特流进行解码,并生成对应于输入图像的CV任务结果。CV任务解码器(1270)可以是单任务解码器或者可以是多任务解码器。CV任务可以包括但不限于超分辨率、对象检测、图像去噪、图像分类等。
CV任务解码器(1270)包括基于训练数据而训练的神经网络(例如,CV任务解码器模型)。例如,训练数据可以包括训练图像、(例如,通过图像压缩编码器(1220))压缩的训练图像、训练图像的指导CV任务结果。例如,CV任务解码器(1270)可以将压缩的训练图像作为输入并生成训练CV任务结果。然后(例如,利用可调神经网络结构和可调参数)对CV任务解码器(1270)进行训练,以使指导CV任务结果与训练CV任务结果之间的损失最小化。训练确定CV任务解码器(1270)的结构和预训练参数。
注意,CV任务解码器(1270)可以具有任何合适的神经网络结构来生成CV任务结果。在一些实施方式中,CV任务解码器(1270)对编码比特流进行解码以直接生成CV任务结果,而无需图像重构。在一些实施方式中,CV任务解码器(1270)首先对编码比特流进行解码并生成解压缩图像(也称为重构图像),并且然后针对解压缩图像应用CV任务模型以生成CV任务结果。
在一些示例中,图像压缩编码器(1220)、图像压缩解码器(1250)和CV任务解码器(1270)在不同的电子设备中。例如,图像压缩编码器(1220)在第一设备(1210)中,图像压缩解码器(1250)在第二设备(1240)中,CV任务解码器(1270)在第三设备(1260)中。在一些示例中,图像压缩解码器(1250)和CV任务解码器(1270)可以在同一设备中。在一些示例中,图像压缩编码器(1220)和图像压缩解码器(1250)可以在同一设备中。在一些示例中,图像压缩编码器(1220)、CV任务解码器(1270)可以在同一设备中。在一些示例中,图像压缩编码器(1220)、图像压缩解码器(1250)和CV任务解码器(1270)可以在同一设备中。
图13示出了一些示例中的用于在压缩域中执行CV任务的系统(1300)。系统(1300)包括图像压缩编码器(1320)和CV任务解码器(1370)。在一些示例中,图像压缩编码器(1320)被配置为NIC框架的编码部分(具有编码器模型),并且CV任务解码器(1370)被配置为NIC框架的解码部分(具有解码器模型)。可以基于训练数据对NIC框架进行端到端训练,以确定用于E2E优化框架的编码器模型和解码器模型的预训练参数。例如,训练数据可以包括训练图像(未压缩)、训练图像的指导CV任务结果。例如,NIC框架可以将训练图像作为输入并生成训练CV任务结果。然后(利用可调神经网络结构和可调参数)对NIC框架进行训练,以使指导CV任务结果与训练CV任务结果之间的损失最小化。根据预训练参数对图像压缩编码器(1320)和CV任务解码器(1370)进行配置。
然后,图像压缩编码器(1320)可以接收输入图像并生成携载压缩图像或压缩特征图的编码比特流。CV任务解码器(1370)可以接收编码比特流、对压缩图像或压缩特征图进行解压缩并生成CV任务结果。
CV任务解码器(1370)可以是单任务解码器或者可以是多任务解码器。CV任务可以包括但不限于超分辨率、对象检测、图像去噪、图像分类。
注意,CV任务解码器(1370)可以是任何合适的神经网络结构。在一些实施方式中,CV任务解码器(1370)对编码比特流进行解码以直接生成CV任务结果,而无需图像重构。在一些实施方式中,CV任务解码器(1370)首先对编码比特流进行解码并生成解压缩图像(也称为重构图像),并且然后针对解压缩图像应用CV任务模型以生成CV任务结果。
在一些示例中,图像压缩编码器(1320)和CV任务解码器(1370)在不同的电子设备中。例如,图像压缩编码器(1320)在第一设备(1310)中,CV任务解码器(1370)在第二设备(1360)中。在一些示例中,图像压缩编码器(1320)和CV任务解码器(1370)可以在同一设备中。
在一些示例中,在线训练可以被用于利用神经网络进行的图像处理,例如基于人工智能(artificial intelligence,AI)的神经图像压缩(neural image compression,NIC)等。在一些示例中,用于基于在线训练的图像压缩的技术可以被应用于端到端(end-to-end,E2E)优化框架的压缩模型。E2E优化框架包括编码部分(也称为编码器)和解码部分(也称为解码器)。在一些示例中,编码部分包括可以将一个或更多个图像编码成比特流的一个或更多个预训练神经网络(称为一个或更多个第一预训练神经网络)。解码部分包括可以对比特流进行解码以生成一个或更多个重构图像的一个或更多个预训练神经网络(称为一个或更多个第二预训练神经网络)。
在一些示例中,在线训练既可以被应用于编码器侧(称为NIC编码器在线训练)又被可以应用于解码器侧(称为NIC解码器在线训练)。在一些示例中,对于NIC编码器在线训练,可以调整输入图像、编码器参数和/或编码器网络结构以实现更好的压缩率。在一些示例中,对于NIC解码器在线训练,可以调整和更新解码器参数以实现更好的性能。在一些示例中,对于NIC解码器在线训练,可以在在线训练期间在NIC解码器侧添加附加的网络层/模块以实现更好的性能。注意,在示例中,所添加的模块参数与压缩图像一起被编码到比特流中,以供解码器使用。例如,可以在解码器部分中添加3x3卷积层作为附加层,在在线训练期间调整卷积层的参数以实现更好的性能。参数是在比特流中用信号通知的,因此解码器侧能够设置卷积层并将卷积层应用到重构图像上。
根据本公开内容的一些方面,在计算机视觉任务是诸如去噪和超分辨率的基于重构图像的任务(例如,计算机视觉任务的输出是图像)时,可以在压缩域计算机视觉任务框架(compression domain computer vision task framework,CDCVTF)中使用基于在线训练的处理,以提高CDCVTF的性能。在一些示例中,在线训练处理可以在编码器侧对CDCVTF,例如输入图像、编码器参数和/或编码器网络结构进行调整。在示例中,在线训练处理可以确定取代原始输入图像作为CDCVTF的输入图像的最佳替代图像,并且这样的在线训练处理可以被称为基于在线训练的预处理。
在一些示例中,在线训练处理可以在解码器侧对CDCVTF,例如解码器参数和/或解码器网络结构进行调整,这样的在线训练处理可以被称为基于在线训练的后处理。CDCVTF是端到端(E2E)优化框架,其是基于预训练人工神经网络(artificial neural network,ANN)的框架。
图14示出了根据本公开内容的一些实施方式的基于在线训练的CDCVTF(1400)。基于在线训练的CDCVTF(1400)可以用于基于图像的CV任务,例如去噪、去块、超分辨率等。注意,基于图像的CV任务的输出是图像。
在图14的示例中,基于在线训练的CDCVTF(1400)包括耦接在一起的图像压缩编码器(1420)、CV任务解码器(1440)、CV任务模块(1430)和在线训练控制器(1450)。注意,可以将图像压缩编码器(1420)、CV任务解码器(1440)、CV任务模块(1430)和在线训练控制器(1450)分别实现为软件模块、硬件模块或其组合。可以使用计算机编程语言来开发软件模块(例如,计算机程序)。可以使用处理电路系统和/或存储器来实现硬件模块。每个模块可以使用一个或更多个处理器(或处理器和存储器)来实现。同样,处理器(或处理器和存储器)可以用于实现一个或更多个模块。此外,每个模块可以是全部模块的包括该模块的功能的部分。
在一些示例中,图像压缩编码器(1420)被配置为NIC框架的编码部分(具有编码器模型),并且CV任务解码器(1440)被配置为NIC框架的解码部分(具有解码器模型)。可以基于训练数据对NIC框架进行端到端训练,以确定用于E2E优化框架的编码器模型和解码器模型的预训练参数。例如,训练数据可以包括训练图像(未压缩)、训练图像的指导CV任务结果。例如,NIC框架可以将训练图像作为输入,并生成训练CV任务结果。然后(利用可调神经网络结构和可调参数)对NIC框架进行训练以使指导CV任务结果与训练CV任务结果之间的损失最小化。根据预训练参数对图像压缩编码器(1420)和CV任务解码器(1440)进行配置。
CV任务解码器(1440)可以是单任务解码器或者可以是多任务解码器。CV任务解码器(1440)被配置成执行输出为图像的一个或更多个基于图像的CV任务。由CV任务解码器(1440)执行的基于图像的CV任务可以包括但不限于超分辨率、图像去噪、图像去块等。注意,CV任务解码器(1440)可以具有任何合适的神经网络结构。
在一些示例中,CV任务模块(1430)包括被配置成在未压缩域中执行一个或更多个基于图像的CV任务的神经网络。基于训练数据对神经网络进行训练(例如,预训练)以确定预训练参数。例如,训练数据可以包括训练图像(未压缩的)和对应的指导CV任务图像(例如,超分辨率图像、低噪声图像等)。例如,神经网络可以将训练图像作为输入,并生成训练CV任务图像。然后(利用可调神经网络结构和可调参数)对神经网络进行训练以使训练CV任务图像与对应的指导CV任务图像之间的损失最小化。注意,在一些示例中,CV任务模块(1430)可以使用其他合适的技术来在未压缩域中执行一个或更多个基于图像的CV任务。
在一些示例中,图像压缩编码器(1420)可以接收输入图像并生成编码图像(例如,压缩图像或压缩特征图)。CV任务解码器(1440)可以接收编码图像、对压缩图像或压缩特征图进行解压缩并生成基于CV任务的重构图像。
此外,将输入图像输入至在未压缩域中执行CV任务的CV任务模块(1430),以生成与输入图像对应的基于CV任务的处理图像。
在线训练控制器(1450)接收基于CV任务的重构图像和基于CV任务的处理图像,并确定基于在线训练的CDCVTF(1400)中的调整,例如输入图像调整、编码器参数调整、编码器结构调整、解码器参数调整、解码器结构调整等。
在一些示例中,在线训练控制器(1450)确定对CV任务解码器(1440)的调整更新,并且这样的在线训练处理可以被称为在线训练后处理。在一些示例中,在线训练控制器(1450)确定代替输入图像的最佳替代图像,并且这样的在线训练处理可以被称为在线训练预处理。
图15示出了一些示例中的执行基于在线训练的后处理的系统(1500)。该系统(1500)包括经由任何合适的通信信道耦接在一起的第一电子设备(1501)和第二电子设备(1502)。
第一电子设备(1501)包括基于在线训练的CDCVTF(1510)。具体地,基于在线训练的CDCVTF(1510)包括耦接在一起的图像压缩编码器(1520)、CV任务解码器(1540)、CV任务模块(1530)和在线训练控制器(1550)。图像压缩编码器(1520)与图像压缩编码器(1420)类似地配置;CV任务解码器(1540)与CV任务解码器(1440)类似地配置;CV任务模块(1530)与CV任务模块(1430)类似地配置;并且在线训练控制器(1550)与在线训练控制器(1450)类似地配置。上面已经参照图14提供了描述,并且为了清楚起见,在此将省略该描述。
在图15的示例中,在在线训练期间,图像压缩编码器(1520)接收输入图像并生成编码图像(例如,压缩图像或压缩特征图)。CV任务解码器(1540)接收编码图像、对压缩图像或压缩特征图进行解压缩并生成基于CV任务的重构图像。此外,将输入图像输入至在未压缩域中执行CV任务的CV任务模块(1530),以生成与输入图像对应的基于CV任务的处理图像。
此外,在图15的示例中,在线训练控制器(1550)被配置成根据基于CV任务的处理图像和基于CV任务的重构图像来确定对CV任务解码器(1540)的更新。例如,在线训练控制器(1550)可以确定对CV任务解码器(1540)的更新,所述更新针对重构的CV图像和处理的CV图像的率失真性能进行优化。在示例中,在在线训练期间,在线训练控制器(1550)可以以E2E方式基于反向传播梯度,例如使用梯度下降算法,来确定对CV任务解码器(1540)的更新。梯度下降算法可以迭代地优化CV任务解码器(1540)的参数,以找到基于在线训练的CDCVTF(1510)的可微分函数的局部最小值(例如,率失真损失的局部最小值)。例如,梯度下降算法可以在可微分函数的梯度(或近似梯度)的相反方向上采取重复步骤。
在一些示例中,CV任务解码器(1540)中的部分参数可以是可调整的并且可以被更新。在一些示例中,CV任务解码器(1540)的全部参数可以是可调整的并且可以被更新。在一些示例中,可以更新CV任务解码器(1540)的神经网络结构。在示例中,向CV任务解码器(1540)添加附加层/模块。在线训练控制器(1550)可以调整附加层/模块的参数。
在图15的示例中,基于在线训练的CDCVTF(1510)可以生成比特流,该比特流携载由图像压缩编码器(1520)编码的编码图像以及对CV任务解码器(1540)的更新。在示例中,对CV任务解码器(1540)的部分参数进行更新,并且比特流可以包括指示CV任务解码器(1540)中的部分参数的更新的附加比特。在另一示例中,对CV任务解码器(1540)的全部参数进行更新,并且比特流可以包括指示CV任务解码器(1540)中的全部参数的更新的附加比特。在示例中,在CV任务解码器(1540)中添加附加卷积层(例如,3x3卷积层),例如作为CV任务解码器(1540)中的神经网络的最后一层。比特流可以包括指示附加卷积层的附加比特。
注意,在一些示例中,可以基于多个输入图像执行在线训练,以确定对CV任务解码器(1540)的更新。
第二电子设备(1502)包括解析器(1560)和CV任务解码器(1570)。解析器(1560)可以接收比特流并且提取指示编码图像的第一比特和指示更新的第二比特。
在一些示例中,CV任务解码器(1570)对应于在线训练之前的CV任务解码器(1540)。例如,CV任务解码器(1570)具有与在线训练之前的CV任务解码器(1540)具有相同的神经网络结构和相同的参数值的神经网络。基于指示更新的第二比特,可以对CV任务解码器(1570)进行更新以使之对应于在线训练之后的CV任务解码器(1540)。在将更新应用于CV任务解码器(1570)之后,CV任务解码器(1570)然后对编码图像进行解码并生成具有更好性能(与没有更新相比)的基于CV任务的重构图像。
图16示出了一些示例中的执行基于在线训练的预处理的系统(1600)。该系统(1600)包括经由任何合适的通信信道耦接在一起的第一电子设备(1601)和第二电子设备(1602)。
第一电子设备(1601)包括基于在线训练的CDCVTF(1610)。具体地,基于在线训练的CDCVTF(1610)包括耦接在一起的图像压缩编码器(1620)、CV任务解码器(1640)、CV任务模块(1630)、在线训练控制器(1650)和图像更新模块(1660)。图像压缩编码器(1620)与图像压缩编码器(1420)类似地配置;CV任务解码器(1640)与CV任务解码器(1440)类似地配置;CV任务模块(1630)与CV任务模块(1430)类似地配置;并且在线训练控制器(1650)与在线训练控制器(1450)类似地配置。上面已经参照图14提供了描述,并且为了清楚起见,在此将省略该描述。图像更新模块(1660)可以被实现为软件模块、硬件模块或其组合。
在图16的示例中,图像更新模块(1660)被配置成接收输入图像并对输入图像应用更新以生成经更新的输入图像。在在线训练期间,最初,图像更新模块(1660)对输入图像应用初始更新(例如,无更新)以生成经更新的输入图像。图像压缩编码器(1620)接收经更新的输入图像并生成经编码的更新图像(例如,压缩图像或压缩特征图)。CV任务解码器(1640)接收经编码的更新图像,对压缩图像或压缩特征图进行解压缩,并生成基于CV任务的重构图像。此外,CV任务模块(1630)在未压缩域中针对输入图像执行CV任务,以生成与输入图像对应的基于CV任务的处理图像(也称为指导图像)。
此外,在图16的示例中,在线训练控制器(1650)被配置成根据基于CV任务的处理图像和基于CV任务的重构图像来确定对输入图像的更新(也称为迭代更新)。例如,在线训练控制器(1650)可以利用对输入图像的更改(迭代更新)来确定(针对输入图像的)最佳替代图像,并用最佳替代图像代替输入图像以进行图像压缩。
在示例中,在在线训练期间,在线训练控制器(1650)可以以E2E方式基于反向传播梯度,例如使用梯度下降算法,来确定对输入图像的更新。例如,诸如图像压缩编码器(1620)的参数、CV任务模块(1630)的参数的模型参数在在线训练期间是固定参数(例如,不可调参数)。在线训练控制器(1650)可以根据基于CV任务的处理图像和基于CV任务的重构图像来计算损失(例如,率失真损失)。该损失可以是可微分函数,并且在线训练控制器(1650)可以基于该损失计算梯度。在线训练控制器(1650)可以使用梯度下降算法,该梯度下降算法可以迭代地优化输入图像,以找到基于在线训练的CDCVTF(1610)的可微分函数的局部最小值(例如,率失真损失的局部最小值)。例如,梯度下降算法可以在可微分函数的梯度(或近似梯度)的相反方向上采取重复步骤,以确定对输入图像的更新(也称为迭代更新)。
注意,通过用可微分部分代替不可微分部分(例如,用噪声注入代替量化),基于在线训练的CDCVTF(1610)的整个模型可以是可微分的(使得梯度可以被反向传播)。因此,可以通过梯度下降来迭代地求解上述优化。
在图16的示例中,在在线训练之后,图像压缩编码器(1620)可以对所更新的图像例如通过在线训练确定的最佳替代图像进行压缩并生成经编码的更新图像。然后,基于在线训练的CDCVTF(1610)生成携载经编码的更新图像的比特流。
第二电子设备(1602)包括CV任务解码器(1670)。在一些示例中,CV任务解码器(1670)对应于CV任务解码器(1640)。例如,CV任务解码器(1670)具有与CV任务解码器(1640)相同的神经网络结构和相同的参数值的神经网络,例如预训练神经网络。CV任务解码器(1670)对经编码的更新图像进行解码,并生成具有更好性能(与对应于原始输入图像的编码图像相比)的基于CV任务的重构图像。
图17示出了概述根据本公开内容的实施方式的过程(1700)的流程图。过程(1700)是编码过程。过程(1700)可以在电子设备例如电子设备(1501)中执行。在一些实施方式中,过程(1700)以软件指令的形式实现,因此在处理电路系统执行软件指令时,处理电路系统执行处理(1700)。该过程在(S1701)处开始,并进行至(S1710)。
在(S1710)处,根据输入图像以及基于图像的计算机视觉任务关于输入图像产生的指导图像,执行压缩域计算机视觉任务框架(compression domain computer visiontask framework,CDCVTF)的在线训练。CDCVTF包括编码部分和解码部分,编码部分将输入图像压缩到压缩域中,解码部分在压缩域中执行基于图像的计算机视觉任务。在线训练至少确定对解码部分中的神经网络的更新,该更新减少基于图像的计算机视觉任务在压缩域中的结果与指导图像之间的损失。
在(S1720)处,由CDCVTF的编码部分将输入图像编码成编码图像。在一些示例中,当在线训练确定不存在对编码部分的更新时,在在线训练期间由编码部分将输入图像编码成编码图像。在一些示例中,当在线训练确定对编码部分的编码器更新时,由编码部分利用该编码器更新将输入图像编码成编码图像。
在(S1730)处,形成比特流。比特流携载编码图像和附加比特,附加比特指示对解码部分中的神经网络的更新。
在一些示例中,在未压缩域中针对输入图像执行基于图像的计算机视觉任务,以生成对应于输入图像的指导图像。
在一些示例中,附加比特分别指示解码部分中的一个或更多个可调参数的一个或更多个经更新的值。在示例中,附加比特指示对解码部分中的所有参数的更新。
在一些示例中,附加比特指示解码部分的神经网络中的附加层。附加比特可以指示附加层的参数值。在示例中,附加层是卷积层。
在一些示例中,编码部分被配置成将输入图像压缩成编码图像,并且解码部分被配置成针对编码图像执行基于图像的计算机视觉任务以生成重构图像,并且在线训练基于重构图像和指导图像来确定更新。
在一些示例中,在线训练确定对解码部分的更新,以及对编码部分中的神经网络的编码器更新。
注意,基于图像的计算机视觉任务的输出是图像。基于图像的计算机视觉任务可以是图像去噪、图像去块和超分辨率中的至少一种。
然后,过程(1700)进行至(S1799)并终止。
可以使过程(1700)适当地适合于各种场景,并且可以相应地调整处理(1700)中的步骤。可以对过程(1700)中的步骤中的一个或更多个步骤进行修改、省略、重复和/或组合。可以使用任何合适的次序来实现过程(1700)。可以添加附加的步骤。
图18示出了概述根据本公开内容的实施方式的过程(1800)的流程图。过程(1800)是解码过程。过程(1800)可以在电子设备例如电子设备(1502)中执行。在一些实施方式中,过程(1800)以软件指令的形式实现,因此在处理电路系统执行软件指令时,处理电路系统执行处理(1800)。该过程在(S1801)处开始,并进行至(S1810)。
在(S1810)处,接收比特流。比特流包括第一比特和第二比特,第一比特携载与图像对应的编码图像,第二比特指示针对压缩域中基于图像的计算机视觉任务的解码器中的神经网络的更新。解码器对应于压缩域计算机视觉任务框架(CDCVTF)中的解码部分。所述更新通过根据图像以及基于图像的计算机视觉任务关于该图像(在未压缩域中)产生的指导图像对CDCVTF进行在线训练来确定。在线训练确定减少基于图像的计算机视觉任务在压缩域中的结果与指导图像之间的损失的更新。
在(S1820)处,根据第二比特更新解码器的神经网络。
在(S1830)处,利用解码器以及神经网络中的更新,根据比特流中的第一比特生成重构图像。
在一些示例中,第二比特分别指示神经网络中的一个或更多个参数的一个或更多个经更新的值。在示例中,第二比特指示神经网络中所有参数的值变化。
在一些示例中,第二比特指示神经网络中的附加层,并且指示附加层的参数值。在示例中,附加层是卷积层。
注意,基于图像的计算机视觉任务的输出是图像。基于图像的计算机视觉任务可以是图像去噪、图像去块和超分辨率中的至少一种。
然后,过程(1800)进行至(S1899)并终止。
可以使过程(1800)适当地适合于各种场景,并且可以相应地调整过程(1800)中的步骤。可以对过程(1800)中的步骤中的一个或更多个步骤进行修改、省略、重复和/或组合。可以使用任何合适的次序来实现过程(1800)。可以添加附加的步骤。
图19示出了概述根据本公开内容的实施方式的过程(1900)的流程图。过程(1900)是编码过程。过程(1900)可以在电子设备例如电子设备(1601)中执行。在一些实施方式中,过程(1900)以软件指令的形式实现,因此在处理电路执行软件指令时,处理电路执行过程(1900)。该过程在(S1901)处开始,并进行至(S1910)。
在(S1910)处,根据压缩域计算机视觉任务框架(CDCVTF)的在线训练来确定输入图像的替代图像。CDCVTF包括编码部分和解码部分。编码部分将具有当前迭代更新的输入图像压缩到压缩域中,解码部分在压缩域中执行基于图像的计算机视觉任务。在线训练确定替代图像,该替代图像减少基于图像的计算机视觉任务在压缩域中的结果与由基于图像的计算机视觉任务关于输入图像产生的指导图像之间的损失。
在(S1920)处,由编码部分将替代图像编码到比特流中。
在一些示例中,在未压缩域中针对输入图像执行基于图像的计算机视觉任务以生成指导图像。
此外,在一些示例中,编码部分被配置成将具有当前迭代更新的输入图像压缩成当前经编码的更新图像,并且解码部分被配置成针对当前经编码的更新图像执行基于图像的计算机视觉任务以生成当前重构图像,并且然后基于当前重构图像和指导图像确定下一迭代更新。
注意,基于图像的计算机视觉任务的输出是图像。基于图像的计算机视觉任务可以是图像去噪、图像去块和超分辨率中的至少一种。
注意,在一些示例中,编码部分和解码部分中的神经网络的参数被固定在预训练值。
然后,处理(1900)进行至(S1999)并终止。
可以使处理(1900)适当地适合于各种场景,并且可以相应地调整处理(1900)中的步骤。可以对处理(1900)中的步骤中的一个或更多个步骤进行修改、省略、重复和/或组合。可以使用任何合适的次序来实施处理(1900)。可以添加附加步骤。
上面所描述的技术可以被实现为使用计算机可读指令并且物理地存储在一个或更多个计算机可读介质中的计算机软件。例如,图20示出了适于实现所公开的主题的某些实施方式的计算机系统(2000)。
计算机软件可以使用任何合适的机器码或计算机语言来编码,所述机器代码或计算机语言可以经受汇编、编译、链接等机制以创建包括指令的代码,所述指令可以由一个或更多个计算机中央处理单元(central processing unit,CPU)、图形处理单元(GraphicsProcessing Unit,GPU)等直接执行或者通过解译、微代码执行等执行。
指令可以在各种类型的计算机或其部件(包括例如个人计算机、平板计算机、服务器、智能电话、游戏设备、物联网设备等)上执行。
图20中示出的用于计算机系统(2000)的部件本质上是示例性的,并且不旨在关于实现本公开内容的实施方式的计算机软件的使用范围或功能提出任何限制。部件的配置也不应当被解释为具有与计算机系统(2000)的示例性实施方式中示出的部件中的任何一个部件或部件的组合有关的任何依赖性或要求。
计算机系统(2000)可以包括某些人机接口输入设备。这样的人机接口输入设备可以响应于由一个或更多个人类用户通过例如触觉输入(例如:击键、滑动、数据手套移动)、音频输入(例如:语音、拍打)、视觉输入(例如:姿势)、嗅觉输入(未描绘)进行的输入。人机接口设备还可以用于捕获不一定与人的有意输入直接有关的某些媒体,例如,音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(例如,二维视频、包括立体视频的三维视频)。
输入人机接口设备可以包括以下各项中的一个或更多个(每项仅描绘一个):键盘(2001)、鼠标(2002)、轨迹板(2003)、触摸屏(2010)、数据手套(未示出)、操纵杆(2005)、麦克风(2006)、扫描仪(2007)和摄像装置(2008)。
计算机系统(2000)还可以包括某些人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感官。这样的人机接口输出设备可以包括:触觉输出设备(例如,通过触摸屏(2010)、数据手套(未示出)或操纵杆(2005)进行的触觉反馈,但是也可以存在不用作输入设备的触觉反馈设备);音频输出设备(例如:扬声器(2009)、头戴式耳机(未描绘));视觉输出设备(例如,屏幕(2010),包括CRT屏幕、LCD屏幕、等离子屏幕、OLED屏幕,每个均具有或不具有触摸屏输入能力,每个均具有或不具有触觉反馈能力——其中的一些可能能够通过诸如立体图像输出的方式输出二维视觉输出或多于三维输出;虚拟现实眼镜(未描绘);全息显示器和烟罐(未描绘));以及打印机(未描绘)。
计算机系统(2000)还可以包括人类可访问的存储设备及其相关联的介质,例如包括具有CD/DVD等介质(2021)的CD/DVD ROM/RW(2020)的光学介质、拇指驱动器(2022)、可移除硬盘驱动器或固态驱动器(2023)、诸如磁带和软盘的传统磁介质(未描绘)、基于专用ROM/ASIC/PLD的设备诸如安全软件狗(未描绘)等。
本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不包含传输介质、载波或其他瞬时信号。
计算机系统(2000)还可以包括到一个或更多个通信网络(2055)的接口(2054)。网络可以例如是无线的、有线的、光学的。网络还可以是局域网、广域网、城域网、车辆和工业网络、实时网络、延迟容忍网络等。网络的示例包括局域网诸如以太网、无线LAN,包括GSM、3G、4G、5G、LTE等的蜂窝网络,包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络,包括CANBus的车辆和工业网络等。某些网络通常需要附接至某些通用数据端口或外围总线(2049)(例如,计算机系统(2000)的USB端口)的外部网络接口适配器;其他网络通常通过附接至如下所述的系统总线而集成到计算机系统(2000)的核中(例如,通过以太网接口集成到PC计算机系统,或通过蜂窝网络接口集成到智能电话计算机系统)。计算机系统(2000)可以通过使用这些网络中的任何网络与其他实体进行通信。这样的通信可以是单向仅接收的(例如,广播电视)、单向仅发送的(例如,到某些CANbus设备的CANbus)、或双向的,例如到使用局域或广域数字网络的其他计算机系统。可以在如上所述的这些网络和网络接口中的每个网络和网络接口上使用特定的协议和协议栈。
以上提及的人机接口设备、人类可访问存储设备和网络接口可以附接至计算机系统(2000)的核(2040)。
核(2040)可以包括一个或更多个中央处理单元(Central Processing Unit,CPU)(2041)、图形处理单元(Graphics Processing Unit,GPU)(2042)、现场可编程门区域(Field Programmable Gate Area,FPGA)(2043)形式的专用可编程处理单元、用于某些任务的硬件加速器(2044)、图形适配器(2050)等。这些设备以及只读存储器(Read-onlymemory,ROM)(2045)、随机存取存储器(2046)、内部大容量存储装置(2047)例如内部非用户可访问的硬盘驱动器、SSD等可以通过系统总线(2048)连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线(2048),以通过另外的CPU、GPU等实现扩展。外围设备可以直接地或通过外围总线(2049)附接至核的系统总线(2048)。在示例中,屏幕(2010)可以连接至图形适配器(2050)。外围总线的架构包括PCI、USB等。
CPU(2041)、GPU(2042)、FPGA(2043)和加速器(2044)可以执行某些指令,这些指令可以组合构成以上提及的计算机代码。该计算机代码可以被存储在ROM(2045)或RAM(2046)中。过渡数据也可以被存储在RAM(2046)中,而永久数据可以被存储在例如内部大容量存储装置(2047)中。可以通过使用缓存存储器来实现针对存储设备中的任何存储设备的快速存储和检索,该缓存存储器可以与一个或更多个CPU(2041)、GPU(2042)、大容量存储装置(2047)、ROM(2045)、RAM(2046)等紧密关联。
计算机可读介质上可以具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是出于本公开内容的目的而专门设计和构造的介质和计算机代码,或者介质和计算机代码可以具有计算机软件领域的技术人员公知且可用的类型。
作为示例而非限制,具有架构的计算机系统(2000)特别是核(2040)可以提供作为处理器(包括CPU、GPU、FPGA、加速器等)执行体现在一个或更多个有形计算机可读介质中的软件的结果而提供的功能。这样的计算机可读介质可以是与如以上所介绍的用户可访问的大容量存储装置相关联的介质,以及具有非暂态性质的核(2040)的某些存储装置,例如核内部的大容量存储装置(2047)或ROM(2045)。可以将实现本公开内容的各种实施方式的软件存储在这样的设备中并且由核(2040)执行。根据特定需求,计算机可读介质可以包括一个或更多个存储器设备或芯片。软件可以使核(2040)——特别是其中的处理器(包括CPU、GPU、FPGA等)——执行本文中描述的特定过程或特定过程的特定部分,包括限定存储在RAM(2046)中的数据结构以及根据由软件限定的过程来修改这样的数据结构。另外地或作为替选,计算机系统可以由于硬连线或以其他方式体现在电路(例如:加速器(2044))中的逻辑而提供功能,该逻辑可以代替软件进行操作或与软件一起操作以执行本文中描述的特定过程或特定过程的特定部分。在适当的情况下,提及软件可以包含逻辑,并且反之提及逻辑也可以包含软件。在适当的情况下,提及计算机可读介质可以包含存储用于执行的软件的电路(例如,集成电路(integrated circuit,IC))、实施用于执行的逻辑的电路或上述两者。本公开内容包括硬件与软件的任何合适的组合。
虽然本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的变更、置换和各种替代等同物。因此将认识到,虽然本文中没有明确示出或描述,但是本领域技术人员能够设想实施本公开内容的原理并且因此在其精神和范围内的许多系统和方法。
Claims (20)
1.一种用于图像处理的方法,包括:
根据输入图像以及基于图像的计算机视觉任务关于所述输入图像产生的指导图像,来执行压缩域计算机视觉任务框架(CDCVTF)的在线训练,所述CDCVTF包括编码部分和解码部分,所述编码部分将所述输入图像压缩到压缩域中,并且所述解码部分在所述压缩域中执行所述基于图像的计算机视觉任务,所述在线训练至少确定对所述解码部分中的神经网络的减少所述基于图像的计算机视觉任务在所述压缩域中的结果与所述指导图像之间的损失的更新;
将所述输入图像编码成编码图像;以及
形成携载所述编码图像和附加比特的比特流,所述附加比特指示对所述解码部分中的神经网络的减少所述基于图像的计算机视觉任务在所述压缩域中的结果与所述指导图像之间的损失的更新。
2.根据权利要求1所述的方法,还包括:
在未压缩域中针对所述输入图像执行所述基于图像的计算机视觉任务,以生成对应于所述输入图像的指导图像。
3.根据权利要求1所述的方法,其中,所述附加比特分别指示所述解码部分中的一个或更多个可调参数的一个或更多个经更新的值。
4.根据权利要求1所述的方法,其中,所述附加比特指示所述解码部分的神经网络中的附加层。
5.根据权利要求4所述的方法,其中,所述附加比特指示所述附加层的参数值。
6.根据权利要求4所述的方法,其中,所述附加层是卷积层。
7.根据权利要求1所述的方法,其中,所述编码部分被配置成将所述输入图像压缩成所述编码图像,并且所述解码部分被配置成针对所述编码图像执行所述基于图像的计算机视觉任务以生成重构图像,并且所述在线训练基于所述重构图像和所述指导图像来确定所述更新。
8.根据权利要求1所述的方法,其中,所述在线训练确定对所述解码部分的更新以及对所述编码部分中的神经网络的编码器更新。
9.根据权利要求1所述的方法,其中,所述基于图像的计算机视觉任务包括图像去噪、图像去块和超分辨率中的至少一种。
10.一种用于图像处理的方法,包括:
接收比特流,所述比特流包括第一比特和第二比特,所述第一比特携载与图像对应的编码图像,所述第二比特指示针对压缩域中基于图像的计算机视觉任务的解码器中的神经网络的更新,所述解码器对应于压缩域计算机视觉任务框架(CDCVTF)中的解码部分,所述更新通过根据所述图像以及所述基于图像的计算机视觉任务关于所述图像产生的指导图像对所述CDCVTF进行在线训练来确定,所述在线训练确定的所述更新减少所述基于图像的计算机视觉任务在所述压缩域中的结果与所述指导图像之间的损失;
根据所述第二比特更新所述解码器的神经网络;以及
利用所述解码器以及所述神经网络中的所述更新,根据所述比特流中的第一比特生成重构图像。
11.根据权利要求10所述的方法,其中,所述第二比特分别指示所述神经网络中的一个或更多个参数的一个或更多个经更新的值。
12.根据权利要求10所述的方法,其中,所述第二比特指示所述神经网络中的附加层。
13.根据权利要求12所述的方法,其中,所述第二比特指示所述附加层的参数值。
14.根据权利要求13所述的方法,其中,所述附加层是卷积层。
15.根据权利要求10所述的方法,其中,所述基于图像的计算机视觉任务包括图像去噪、图像去块和超分辨率中的至少一种。
16.一种用于图像处理的方法,包括:
根据压缩域计算机视觉任务框架(CDCVTF)的在线训练来确定输入图像的替代图像,所述CDCVTF包括编码部分和解码部分,所述编码部分将具有当前迭代更新的所述输入图像压缩到压缩域中,并且所述解码部分在所述压缩域中执行基于图像的计算机视觉任务,所述在线训练确定所述替代图像,所述替代图像减少所述基于图像的计算机视觉任务在所述压缩域中的结果与由所述基于图像的计算机视觉任务关于所述输入图像产生的指导图像之间的损失;以及
通过所述编码部分将所述替代图像编码到比特流中。
17.根据权利要求16所述的方法,还包括:
在未压缩域中执行所述基于图像的计算机视觉任务以生成所述指导图像。
18.根据权利要求17所述的方法,其中,在所述在线训练期间,所述编码部分被配置成将具有所述当前迭代更新的输入图像压缩成当前经编码的更新图像,并且所述解码部分被配置成针对所述当前经编码的更新图像执行所述基于图像的计算机视觉任务以生成当前重构图像,以及基于所述当前重构图像和所述指导图像来确定下一迭代更新。
19.根据权利要求16所述的方法,其中,所述基于图像的计算机视觉任务包括图像去噪、图像去块和超分辨率中的至少一种。
20.根据权利要求16所述的方法,其中,所述编码部分和所述解码部分中的神经网络的参数被固定成预训练的值。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263331162P | 2022-04-14 | 2022-04-14 | |
US63/331,162 | 2022-04-14 | ||
US18/125,008 | 2023-03-22 | ||
US18/125,008 US20230334718A1 (en) | 2022-04-14 | 2023-03-22 | Online training computer vision task models in compression domain |
PCT/US2023/016233 WO2023200576A1 (en) | 2022-04-14 | 2023-03-24 | Online training computer vision task models in compression domain |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117795532A true CN117795532A (zh) | 2024-03-29 |
Family
ID=88307850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202380011137.4A Pending CN117795532A (zh) | 2022-04-14 | 2023-03-24 | 在压缩域中在线训练计算机视觉任务模型 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230334718A1 (zh) |
KR (1) | KR20240004777A (zh) |
CN (1) | CN117795532A (zh) |
WO (1) | WO2023200576A1 (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7483581B2 (en) * | 2001-07-02 | 2009-01-27 | Qualcomm Incorporated | Apparatus and method for encoding digital image data in a lossless manner |
WO2017136083A1 (en) * | 2016-02-05 | 2017-08-10 | Google Inc. | Compressing images using neural networks |
US10671939B2 (en) * | 2016-04-22 | 2020-06-02 | New York University | System, method and computer-accessible medium for learning an optimized variational network for medical image reconstruction |
-
2023
- 2023-03-22 US US18/125,008 patent/US20230334718A1/en active Pending
- 2023-03-24 WO PCT/US2023/016233 patent/WO2023200576A1/en active Application Filing
- 2023-03-24 KR KR1020237041295A patent/KR20240004777A/ko unknown
- 2023-03-24 CN CN202380011137.4A patent/CN117795532A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20240004777A (ko) | 2024-01-11 |
WO2023200576A1 (en) | 2023-10-19 |
US20230334718A1 (en) | 2023-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nagaraj et al. | Competent ultra data compression by enhanced features excerption using deep learning techniques | |
CN113259665B (zh) | 一种图像处理方法以及相关设备 | |
US20210326710A1 (en) | Neural network model compression | |
CN110677651A (zh) | 一种视频压缩方法 | |
CN111147862B (zh) | 一种基于目标编码的端到端图像压缩方法 | |
CN110753225A (zh) | 一种视频压缩方法、装置及终端设备 | |
Hong et al. | Efficient neural image decoding via fixed-point inference | |
WO2020165490A1 (en) | A method, an apparatus and a computer program product for video encoding and video decoding | |
Ranjbar Alvar et al. | Joint image compression and denoising via latent-space scalability | |
CN117061760A (zh) | 一种基于注意力机制的视频压缩方法和系统 | |
TW202348029A (zh) | 使用限幅輸入數據操作神經網路 | |
CN117795532A (zh) | 在压缩域中在线训练计算机视觉任务模型 | |
US20230336738A1 (en) | Multi-rate of computer vision task neural networks in compression domain | |
US20230316048A1 (en) | Multi-rate computer vision task neural networks in compression domain | |
US20230306239A1 (en) | Online training-based encoder tuning in neural image compression | |
US20230316588A1 (en) | Online training-based encoder tuning with multi model selection in neural image compression | |
JP2024519675A (ja) | 圧縮領域におけるマルチレートのコンピュータビジョンタスクニューラルネットワーク | |
JP2024521021A (ja) | 画像処理方法 | |
US11683515B2 (en) | Video compression with adaptive iterative intra-prediction | |
TW202345034A (zh) | 使用條件權重操作神經網路 | |
Uludağ | Deep image compression with a unified spatial and channel context auto-regressive model | |
CN117499711A (zh) | 视频生成模型的训练方法、装置、设备及存储介质 | |
KR20240071400A (ko) | 가변 보조 입력을 이용하는 트랜스포머 기반 신경망 | |
CN117616753A (zh) | 使用光流的视频压缩 | |
CN114025161A (zh) | 图像处理中的频率特定压缩与补偿技术 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |