随着现代硬件的计算能力不断增强,在大规模数据集上学习的预先训练的深度学习模型(如BERT、GPT-3)已显示出其优于传统方法的有效性。这一重大进展主要归功于变压器及其变体架构的表示能力。在本文中,我们研究了低级别的计算机视觉任务(例如去噪、超分辨率和去噪),并开发了一个新的预训练模型,即图像处理变压器(IPT)。为了最大限度地挖掘转换器的能力,我们提出利用众所周知的ImageNet基准来生成大量损坏的图像对。IPT模型在这些图像上进行多头多尾训练。此外,为了更好地适应不同的图像处理任务,引入了对比学习。因此,预训练的模型可以在微调后有效地用于期望的任务。由于只有一个预先训练的模型,IPT在各种低级基准测试上优于当前最先进的方法。
1. Introduction
图像处理是更全局的图像分析或计算机视觉系统的低级部分的一个组成部分。来自图像处理的结果可以在很大程度上影响后续的高级部分来执行图像数据的识别和理解。近年来,深度学习被广泛应用于解决低级别的视觉任务,如图像超分辨率、修复、去噪和着色。与许多图像处理任务相关,期望在一个数据集上预先训练的模型可以对另一个数据集中有所帮助。但很少有研究将预训练推广到图像处理任务中。通过解决以下两个挑战,预训练有可能为图像处理任务提供一个有吸引力的解决方案:首先,特定于任务的数据可能受到限制。这一问题在涉及付费数据或数据隐私的图像处理任务中加剧,如医学图像[8]和卫星图像[83]。各种不一致的因素(例如相机参数、照明和天气)可能会进一步干扰用于训练的捕获数据的分布。第二,在呈现测试图像之前,不知道将请求哪种类型的图像处理作业。因此,我们必须在手边准备一系列图像处理模块。它们有明确的目标,但一些潜在的操作可以共享。现在,在自然语言处理和计算机视觉方面进行预训练是很常见的[12]。例如,对象检测模型[98,97]的主干通常在ImageNet分类上进行预训练[18]。现在可以很容易地从互联网获得训练有素的网络,包括AlexNet[43]、VGGNet[63]和ResNet[34]。开创性的作品Transformers[70]已广泛用于许多自然语言处理(NLP)任务,如翻译[73]和问答[66]。其成功的秘诀是在大型文本语料库上预训练基于变压器的模型,并在特定于任务的数据集上对其进行微调。Transformers的变体,如BERT[19]和GPT-3[5],进一步丰富了训练数据,提高了训练前的技能。在将Transformers的成功推广到计算机视觉领域方面,有很多有趣的尝试。例如,Wang等人[71]和Fu等人[25]应用基于自我关注的模型来捕获图像上的全局信息。Carion等人[7]提出DERT使用变压器架构进行端到端对象检测。最近,Dosovitskiy等人[22]引入了视觉变换器(ViT),将输入图像处理为16×16个单词,并在图像识别方面取得了优异的结果
前面提到的计算机视觉和自然语言预训练主要研究预测试分类任务,但图像处理任务中的输入和输出都是图像。直接应用这些现有的预培训策略可能不可行。此外,如何在预训练阶段有效地处理不同的目标图像处理任务仍然是一个艰巨的挑战。值得注意的是,图像处理模型的预训练具有基于原始真实图像自生成训练实例的便利性。综合处理的图像被用于训练,而原始图像本身是要重建的真值。
在本文中,我们使用转换器架构(即图像处理转换器(IPT))开发了一个预训练的图像处理模型。由于预训练的模型需要与不同的图像处理任务兼容,包括超分辨率、去噪和去模糊,因此整个网络由对应于不同任务的多对头部和尾部以及单个共享主体组成。由于变压器的潜力需要使用大规模数据集挖掘,因此我们应该准备大量具有相当多样性的图像来训练IPT模型。为此,我们选择ImageNet基准,它包含1000个类别的各种高分辨率。对于ImageNet中的每个图像,我们使用几个精心设计的操作生成多个损坏的副本,以执行不同的任务。例如,通过对原始图像进行下采样来生成超分辨率任务的训练样本。我们用于训练IPT的完整数据集包含大约1000多万张图像。
然后,在庞大的数据集上训练变换器架构,如下所示。训练图像输入到特定的头部,并且生成的特征被裁剪成小块(即“单词”)并随后展平为序列。变换器主体用于处理平坦特征,其中位置和任务嵌入分别用于编码器和解码器。此外,tails被迫根据特定任务预测具有不同输出大小的原始图像。此外,为了更好地适应不同的图像处理任务,引入了不同输入的块之间关系的对比损失。以端到端的方式学习所提出的图像处理变换器。在几个基准测试上进行的实验结果表明,经过预训练的IPT模型可以通过微调后的显著增强,在其自身任务上超过大多数现有方法。
2. Related Works
2.1. Image Processing
图像处理包括对图像的处理,包括超分辨率、去噪、去噪声、减噪、去模糊等。提出了多种基于深度学习的方法来执行一种或多种图像处理任务。对于超分辨率,Dong等人提出了SRCNN[20,21],这被认为是引入端到端模型的开创性工作,该模型从LR图像重建HR图像。Kim等人[41]进一步探索了具有更深层卷积网络的深层神经网络的能力。Ahn等人[2]和Lim等人[50]建议在SR任务中引入残差块。Zhang等人[92]以及Anwar和Barnes[3]利用注意力的力量来提高SR任务的绩效。还为其他任务提出了各种出色的工作,如去噪[68,32,37,45,24],去杂[6,46,85,80],去噪[36,78,62,29,74,47]和去杂[67,53,23,10]。与上述方法不同,我们挖掘了大模型和海量数据的容量。然后介绍了一种处理多个图像处理任务的预训练模型。
2.2. Transformer
Transformer[70]及其变体已证明其在各种自然语言处理任务中是强大的无监督或自我监督预训练框架。例如,GPT[59,60,5]以自回归的方式预先训练,以预测巨大文本数据集中的下一个单词。BERT[19]在没有明确监督的情况下从数据中学习,并基于上下文预测掩蔽词。Colin等人[61]提出了几种下游任务的通用预训练框架。Yinhan等人[52]为原始BERT提出了一种稳健的变体。由于基于Transformer的模型在NLP领域的成功,有许多尝试来探索其好处在计算机视觉任务中使用Transformer。这些尝试大致可分为两种类型。首先是将自我关注引入传统卷积神经网络。Yuan等人[82]将空间注意力引入图像分割。Fu等人[26]提出DANET通过结合空间和通道注意力来利用上下文信息。Wang等人[75]、Chen等人[15]、Jiang等人[38]和Zhang等人[91]也通过自我关注来增强特征,以增强模型在若干高级视觉任务中的性能。另一种是用自我注意块代替卷积神经网络。例如,Kolesnikov等人[42]和Dosovitskiy[22]使用变压器块进行图像分类。Carion等人[7]和Zhu等人[100]在检测中实现了基于变压器的模型。Chen等人[11]提出了用于生成和分类任务的预训练GPT模型。Wu等人[77]和Zhao等人[96]提出了用于图像识别任务的基于变换器的模型的预训练方法。Jiang等人[39]提出TransGAN使用Transformer生成图像。然而,很少有相关的工作专注于低级视觉任务。在本文中,我们探索了一种用于图像处理任务的通用预训练方法。
拟议图像处理变压器(IPT)的示意图。IPT模型由用于不同任务的多头和多尾以及包括编码器和解码器的共享变压器主体组成。首先将输入图像转换为视觉特征,然后将其分割成块作为视觉单词以供后续处理。所得到的具有高视觉质量的图像通过对输出补丁进行集合来重建。
3. Image Processing Transformer
......
3.1. IPT architecture
我们IPT的总体架构由四个组件组成:头部用于从输入损坏的图像(例如,具有噪声和低分辨率图像的图像)中提取特征,建立编码器-解码器转换器用于恢复输入数据中丢失的信息,尾部用于将特征映射到恢复的图像中。在这里,我们简要介绍了我们的架构,细节可以在补充材料中找到。
Heads.
Transformer encoder
Transformer decoder
Tails.
3.2. Pre-training on ImageNet
暗示,所提出的框架同时使用多个图像处理任务进行训练。具体来说,对于每个批次,我们从N个监督任务中随机选择一个任务进行训练,每个任务将同时使用相应的头部、尾部和任务嵌入进行处理。在对IPT模型进行预训练之后,它将捕获各种图像处理任务的固有特征和转换,从而可以使用新提供的数据集进一步微调以应用于所需任务。此外,其他头部和尾部将被丢弃以节省计算成本,剩余头部、尾部和主体中的参数将根据反向传播进行更新。然而,由于退化模型的多样性,我们无法为所有图像处理任务合成图像。例如,在实践中可能存在各种各样的噪声水平。因此,应进一步增强最终IPT的通用化能力。与预训练自然语言处理模型类似,图像块之间的关系也是信息性的。图像场景中的补丁可以被认为是自然语言处理中的一个单词。例如,从同一特征地图裁剪的面片更可能一起出现,这些面片应该嵌入到相似的位置。因此,我们引入对比学习[13,33]来学习通用特征,以便预训练的IPT模型可以用于未发现的任务。
4. Experiments
......