DiffBIR: Towards Blind Image Restoration with Generative Diffusion Prior

DiffBIR: Towards Blind Image Restoration with Generative Diffusion Prior

  • Abstract
  • 1. Introduction
  • 2. Relate work
  • 3. Methodology
    • 3.1 退化去除预训练
    • 3.2 利用生成先验进行图像重建
    • 3.3 保真度-真实性权衡的潜在图像引导
  • 4. Experiments
    • 4.1 数据集、实现、度量
    • 4.2 与最先进方法的比较

Abstract

我们提出了DiffBIR,它利用预训练的文本到图像扩散模型来解决盲图像恢复问题。我们的框架采用两阶段pipeline。在第一阶段,我们在多种退化中预训练恢复模块,以提高现实场景中的泛化能力。第二阶段利用潜在扩散模型的生成能力,实现真实的图像恢复。具体来说,我们引入了一个injective modulation 子网络——LAControlNet进行微调,而预训练的Stable Diffusion是为了保持其生成能力。最后,我们引入了一个可控模块,通过在推理过程的去噪过程中引入潜在图像引导,使用户能够平衡质量和保真度。大量的实验已经证明了它在合成和现实世界数据集上的盲图像超分辨率和盲人脸恢复任务方面优于最先进的方法。

1. Introduction

图像恢复的目的是从低质量的观测中重建出高质量的图像。典型的图像恢复问题,如图像去噪、去模糊和超分辨率,通常是在受限的环境下定义的,其中退化过程是简单和已知的(例如高斯噪声和双三次降采样)。他们成功地推广了大量优秀的恢复算法,但天生具有有限的泛化能力。为了处理现实世界中退化的图像,盲图像恢复 (BIR) 成为一个很有前途的方向。BIR 的最终目标是在具有一般退化的一般图像上实现真实的图像重建。BIR不仅扩展了经典图像修复任务的边界,而且具有广泛的实际应用领域(如旧照片/胶片修复)。

BIR的研究还处于初级阶段,需要对其现状进行更多的解释。根据问题设置的不同,现有的BIR方法大致可以分为三个研究方向,

  • 盲图像超分辨率(BSR)
  • zero-shot图像恢复(ZIR)
  • 盲人脸恢复(BFR)
  • 盲图像超分辨率(Blind Image Super-Resolution,简称BSR)是指在图像超分辨率重建任务中,不需要事先了解输入低分辨率图像的真实内容或放大倍数的情况下进行超分辨率处理。算法试图自动估计图像的真实内容和放大倍数,然后通过学习从低分辨率到高分辨率的映射关系来进行图像超分辨率处理。
  • 零样本图像恢复(Zero-shot Image Restoration)是指在没有特定任务的训练样本的情况下,通过模型处理具体任务的图像恢复问题。在图像恢复中,任务通常包括超分辨率、去噪、去模糊等。零样本图像恢复的目标是在没有特定任务的先验知识的情况下,使模型能够有效地处理新任务的图像恢复需求。
  • 盲人脸恢复(Blind Face Restoration)旨在从低质量的人脸图像中恢复高质量的人脸图像,广泛应用于监控图像修复、老照片修复和人脸图像超分辨率等各种场景。

它们都取得了显著的进步,但也有明显的局限性。BSR最初是为了解决现实世界的超分辨率问题而提出的,其中低分辨率图像包含未知的退化。根据最近的BSR综述调查[37],最流行的解决方案可能是BSRGAN[64]和Real-ESRGAN[55]。他们将BSR表述为一个有监督的大规模退化过拟合问题。

有监督的大规模退化过拟合问题是指当在大规模有标签的数据集上进行训练时,模型会过度依赖于训练集中的噪声或异常样本,导致在未见过的数据上表现较差的现象。
在有监督学习中,模型通过使用包含特征和相应标签的训练数据来学习从输入到输出的映射关系。然而,当训练集非常庞大时,可能存在一些噪声或错误标签的样本。如果模型过度拟合这些异常样本,它可能无法在真实世界中泛化,而且对未知数据的预测性能会下降。
退化过拟合问题还可能与训练数据的分布不一致有关。如果训练集与真实世界中的数据分布有显著差异,模型可能会在训练数据上表现良好,但在未知数据上表现较差。

  • 为了模拟真实的退化,分别提出了一种退化混洗策略和高阶退化建模。然后是对抗性损失[31;17;56;41;49]以端到端方式学习重建过程。它们确实消除了一般图像上的大部分退化,但无法生成逼真的细节。此外,它们的退化设置仅限于×4/ × 8超分辨率,这对于BIR问题来说是不完整的。
  • 第二组ZIR是一个新出现的方向。代表作品有DDRM[26]、DDNM[57]、GDP[16]。它们将强大的扩散模型作为附加先验,因此比基于GAN的方法具有更大的生成能力。通过适当的退化假设,它们可以在经典IR任务中实现令人印象深刻的zero-shot恢复。但是,ZIR的问题设置与BIR不一致。他们的方法只能处理明确定义的退化(线性或非线性),但不能很好地推广到未知的退化。换句话说,它们可以在一般图像上实现逼真的重建,但不能在一般退化图像上实现。
  • 第三类是BFR,主要研究人脸修复。最先进的方法可以参考CodeFormer[68]和VQFR[18]。它们具有与BSR方法相似的pipeline,但在退化模型和生成网络上有所不同。由于图像空间较小,这些方法可以利用VQGAN和Transformer在真实世界的人脸图像上取得令人惊讶的好结果。然而,BFR只是BIR的一个子域。它通常假设固定的输入大小和有限的图像空间,因此不能应用于一般图像。

由以上分析可知,我们可以看到,现有的BIR方法不能实现(1)真实的图像重建,(2)一般图像,(3)一般退化。因此,我们希望一种新的BIR方法来克服这些限制。

在这项工作中,我们提出了DiffBIR,将以往工作的优点整合到一个统一的框架中。具体来说,DiffBIR

  • 采用了一种扩展的退化模型,可以推广到现实世界的退化;
  • 利用训练良好的Stable Diffusion作为先验来提高生成能力;
  • 引入了一个两阶段的pipeline来保证真实和保真。

我们也做了专门的设计来实现这些策略。首先,为了提高泛化能力,我们将BSR的多种退化类型和BFR的广泛退化范围结合起来,建立了一个更实用的退化模型。这有助于DiffBIR处理各种极端退化情况。其次,为了利用Stable Diffusion,我们引入了一个injective modulation 子网络——LAControlNet,可以针对我们的特定任务进行优化。与ZIR类似,预训练的Stable Diffusion在微调期间是固定的,以保持其生成能力。第三,为了实现真实和逼真的图像重建,我们首先应用恢复模块(即SwinIR)来减少大多数退化,然后微调生成模块(即LAControlNet)来生成新的纹理。如果没有这个pipeline,模型可能会产生过度平滑的结果(删除生成模块)或生成错误的细节(删除恢复模块)。此外,为了满足用户多样化的需求,我们进一步提出了一个可控模块,可以实现第一阶段的恢复结果和第二阶段的生成结果之间的连续过渡效果。这是通过在去噪过程中引入潜在图像引导而无需重新训练来实现的。适用于潜在图像距离的梯度尺度可以调整以权衡真实感和保真度。

在这里插入图片描述

设置了上述组件,所提出的DiffBIR在合成和现实数据集上的BSR和BFR任务中都表现出优异的性能。值得注意的是,DiffBIR在一般图像恢复方面实现了很大的性能飞跃,优于现有的BSR和BFR方法(如BSRGAN[64]、Real-ESRGAN[55]、CodeFormer[68]等)。我们可以观察到这些方法在某些方面的差异。对于复杂的纹理,BSR方法往往会产生不真实的细节,而DiffBIR方法可以产生视觉上令人愉悦的结果,参见图1(第一行)。对于语义区域,BSR方法倾向于实现过度平滑的效果,而DiffBIR可以重建语义细节,参见图1(第二行)。对于微小的条纹,BSR方法倾向于删除这些细节,而DiffBIR方法仍然可以增强它们的结构,参见图1(第三行)。此外,DiffBIR能够处理极端的降级并重新生成逼真而生动的语义内容,参见图1(最后一行)。这些都表明DiffBIR成功地打破了现有BSR方法的瓶颈。对于盲人面部恢复,DiffBIR在处理一些困难的情况下表现出优势,例如在被其他物体遮挡的面部区域保持良好的保真度(见图1 (b)第一行),在面部区域之外成功恢复(见图1 (b)第一行)。综上所述,我们的DiffBIR首次能够在统一的框架内获得具有竞争力的BSR和BFR任务性能。广泛而深入的实验证明了我们提出的DiffBIR优于现有的最先进的BSR和BFR方法。

在这里插入图片描述

在这里插入图片描述

2. Relate work

盲图像超分辨率(BSR)。BSR的最新进展[37]探索了更复杂的退化模型来近似真实世界的退化。BSRGAN[64]旨在基于随机混洗策略合成更实用的退化,Real-ESRGAN[55]利用“高阶”退化建模。它们都利用GAN [17;41;49个;31;56]学习复杂退化下的图像重建过程。SwinIR-GAN[36]使用新的主流骨干Swin Transformer[38]来实现更好的图像恢复性能。FeMaSR[6]将SR表述为基于预训练的VQ-GAN的特征匹配问题[15]。尽管BSR方法可以有效地消除现实世界中的退化,但它们并不擅长生成真实的细节。此外,他们通常假设低质量图像输入被一些特定的尺度(例如×4/× 8)下采样,这对于BIR问题是有限的。

Zero-shot图像恢复(ZIR)。ZIR旨在通过以无监督的方式利用预训练的先验网络来实现图像恢复。早期工作[2;10;40;44]主要集中于在预训练的GAN的潜在空间中搜索潜在编码。该领域的最新进展包括使用去噪扩散概率模型[21;51;52;46;45;48]。DDRM[26]引入了一种基于SVD的方法来有效地处理线性图像恢复任务。同时,DDNM[57]从理论上分析了向量的范围-零空间分解,并基于零空间设计了采样方案。受分类器引导[12]的启发,GDP[16]引入了一种更方便有效的引导方法,可以在推理过程中对退化模型进行估计。虽然这些工作促进了zero-shot图像恢复技术的进步,但对于现实世界的低质量图像,ZIR方法仍然不能达到令人满意的恢复效果。

盲人脸图像修复(BFR)。人脸图像作为一般图像的特定子域,通常承载着更多的结构和语义信息。早期的尝试利用几何先验(例如面部解析图[5]、面部地标[9;27],面部成分热图[62])或参考先验[34;33;32;13]作为辅助信息来指导面部恢复过程。随着生成网络的快速发展,许多BFR方法都采用了强大的生成先验算法来重建高真实感的人脸。基于GAN先验的代表性方法[54;61;19;4]已经证明了他们在实现高质量和高保真的面部重建方面的能力。最先进的工作[68;18;59]引入HQ码本,通过利用矢量量化(VQ)字典学习来生成令人惊讶的逼真面部细节[53;15)。

3. Methodology

在这项工作中,我们的目标是利用强大的生成 prior-Stable Diffusion来解决普通图像和人脸图像的盲恢复问题。我们提出的框架采用有效、稳健和灵活的两阶段pipeline。首先,我们使用恢复模块来去除损坏,例如使用回归损失的噪声或失真伪影。由于丢失的局部纹理和粗/细细节仍然不存在,我们然后利用 Stable Diffusion来弥补信息丢失。整个框架如图2所示。具体来说,我们首先在大规模数据集上预训练一个SwinIR[36],以实现跨多种退化的初步退化去除(第3.1节)。然后,利用生成先验来产生逼真的恢复结果(第3.2节)。此外,还引入了一种基于潜在图像引导的可控模块,用于在真实感和保真度之间进行权衡(第3.3节)。

3.1 退化去除预训练

退化模型。BIR旨在从具有未知和复杂退化的低质量(LQ)图像中恢复干净图像。通常,模糊,噪声,压缩伪影和低分辨率经常涉及。为了更好地覆盖LQ图像的退化空间,我们采用了考虑多样化退化和高阶退化的综合退化模型。在所有退化中,模糊、调整大小和噪声是现实场景中的三个关键因素[64]。我们的多样化退化涉及

  • 模糊:各向同性高斯核和各向异性高斯核;
  • 调整大小:区域调整大小,双线性插值和双立方调整大小;
  • 噪声:加性高斯噪声、泊松噪声和JPEG压缩噪声。

关于高阶退化,我们按照[55]使用二阶退化,它重复经典退化模型:模糊-调整大小-噪声过程两次。请注意,我们的退化模型是为图像恢复而设计的,因此所有退化的图像将被重新调整到原始大小。

所谓的高阶退化模型通俗的说就是将经典退化算法排列组合

恢复模块。为了构建一个鲁棒的生成图像恢复pipeline,我们采用了一种保守但可行的解决方案,首先去除LQ图像中的大部分退化(特别是噪声和压缩伪像),然后使用随后的生成模块来重现丢失的信息。这种设计将促进潜在扩散模型更多地关注纹理/细节的生成,而不受噪声损坏的干扰,并且在没有错误细节的情况下获得更真实/清晰的结果(参见4.3节)。我们修改了SwinIR 作为我们的恢复模块。具体来说,我们利用像素重排[50]操作以8的比例因子对原始低质量输入 I L Q I_{LQ} ILQ进行下采样。然后,采用3 × 3卷积层进行浅层特征提取。所有后续的Transformer操作都在低分辨率空间中进行,类似于潜在扩散模型。深度特征提取采用多个残差Transformer块(Residual Swin Transformer block, RSTB),每个RSTB有多个SwinTransformer层(STL)。将增加浅层和深层特征,以同时维护低频和高频信息。为了将深度特征上采样回原始图像空间,我们执行了三次最接近插值,每次插值之后是一个卷积层和一个Leaky ReLU激活层。我们通过最小化 L 2 L_2 L2像素损失来优化恢复模块的参数。公式如下:
I r e g = S w i n I R ( I L Q ) , L r e g = ∥ I r e g − I H Q ∥ 2 2 (1) I_{reg}=SwinIR(I_{LQ}), \mathcal L_{reg}=\|I_{reg}−I_{HQ}\|_2^2 \tag{1} Ireg=SwinIR(ILQ),Lreg=IregIHQ22(1)其中 I H Q I_{HQ} IHQ I L Q I_{LQ} ILQ分别表示高质量图像和低质量对应图像。 I r e g I_{reg} Ireg是通过回归学习得到的,将用于对潜在扩散模型的微调。

3.2 利用生成先验进行图像重建

初步: Stable Diffusion。在本文中,我们基于大规模文本到图像的潜在扩散模型——Stable Diffusion来实现我们的方法。扩散模型通过估计数据分布分数的去噪序列来学习生成数据样本。为了获得更好的效率和稳定的训练,Stable Diffusion预训练了一个自动编码器[29],该编码器使用编码器 E {\mathcal{E}} E将图像 x x x 转换为潜在 z z z,并使用解码器 D {\mathcal{D}} D进行重建。这种潜在表示是通过使用VAE[30]、Patch-GAN[23]和LPIPS[67]的混合目标来学习的。扩散和去噪过程在潜在空间中进行。在扩散过程中,将时刻 t t t 方差 β t ∈ ( 0 , 1 ) β_t \in (0,1) βt(0,1)的高斯噪声加入到编码潜在函数 z = E ( x ) z = \mathcal{E}(x) z=E(x)中,产生噪声潜在特征:
z t = α ˉ t z + 1 − α ˉ t ϵ , (2) z_t = \sqrt{ \bar α_t}z + \sqrt{1 − \bar α_t}ϵ, \tag{2} zt=αˉt z+1αˉt ϵ,(2)其中 ϵ ∼ N ( 0 , I ) , α t = 1 − β t ϵ∼N (0, I), \alpha_t = 1−\beta_t ϵN(0,I),αt=1βt α ˉ t = ∏ s = 1 t α s \bar{\alpha}_{t}=\prod_{s=1}^{t}\alpha_{s} αˉt=s=1tαs。当 t t t 足够大时,潜在的 z t z_t zt接近于标准高斯分布。

通过在随机选择的时间步 t t t上预测以 c c c (即文本提示)为条件的噪声 λ λ λ 来学习网络 ϵ θ ϵ_θ ϵθ。潜在扩散模型的优化定义如下:
L l d m = E z , c , t , ϵ [ ∣ ∣ ϵ − ϵ θ ( z t = α ˉ t z + 1 − α ˉ t ϵ , c , t ) ∣ ∣ 2 2 ] , (3) \mathcal L_{ldm} = \mathbb E_{z,c,t,\epsilon}[||ϵ − ϵ_θ(z_t = \sqrt{ \bar α_t}z + \sqrt{1 − \bar α_t}ϵ,c,t)||_2^2], \tag{3} Lldm=Ez,c,t,ϵ[∣∣ϵϵθ(zt=αˉt z+1αˉt ϵ,c,t)22],(3)

其中 x , c x,c x,c 表示从数据集中采样, z = E ( x ) z = \mathcal{E}(x) z=E(x), t 均匀采样, ϵ \epsilon ϵ 从标准高斯分布中采样。

在这里插入图片描述
LAControlNet。虽然第一阶段可以消除大多数退化,但获得的图像通常过于平滑,距离高质量自然图像的分布还很远。然后,我们利用预训练的Stable Diffusion与我们获得的 I r e g − I H Q I_{reg}-I_{HQ} IregIHQ对进行图像重建。首先,我们利用Stable Diffusion预训练的VAE编码器将 I r e g I_{reg} Ireg 映射到潜在空间中,得到条件潜在 E ( I r e g ) \mathcal{E}(I_{reg}) E(Ireg)。UNet[47]去噪器执行潜在扩散,它包含一个编码器、一个中间块和一个解码器。特别是,解码器从编码器接收特征并在不同尺度上进行融合。在这里,我们创建一个并行模块 (在图2中用橙色表示),它包含与UNet去噪器中相同的编码器和中间块。然后,我们将条件潜在 E ( I r e g ) \mathcal{E}(I_{reg}) E(Ireg)与随机采样的噪声 z t z_t zt 合并起来作为并行模块的输入。由于此串联操作将增加并行模块中第一个卷积层的通道数,因此我们将新添加的参数初始化为零,其中所有其他权重都从预训练的UNet去噪检查点初始化。并行模块的输出被添加到原始UNet解码器。此外,在每个尺度的加法运算之前,应用一个1 × 1的卷积层。在微调过程中,并行模块和这些1×1卷积层同时进行优化,其中提示条件设置为空。我们的目标是尽量极小化以下潜在扩散目标:

L l d m = E z t , c , t , E ( I r e g ) [ ∣ ∣ ϵ − ϵ θ ( z t , c , t , E ( I r e g ) ∣ ∣ 2 2 ] , (4) \mathcal L_{ldm} = \mathbb E_{z_t,c,t,\mathcal E(I_{reg})}[||ϵ − ϵ_θ(z_t,c,t,\mathcal E(I_{reg})||_2^2], \tag{4} Lldm=Ezt,c,t,E(Ireg)[∣∣ϵϵθ(zt,c,t,E(Ireg)22],(4)

这一阶段得到的结果记为 I d i f I_{dif} Idif 。总而言之,只有UNet去噪器中的跃迁连接特征才会针对我们的特定任务进行调整。该策略缓解了小训练数据集的过拟合问题,并继承了Stable Diffusion的高质量生成。更重要的是,与ControlNet[66]相比,我们的条件调节机制对于图像重建任务更直接有效,ControlNet使用从头开始训练的附加条件网络来编码条件信息。在我们的LAControlNet中,训练有素的VAE编码器能够将条件图像投影到与潜在变量相同的表示空间中。该策略显著减轻了潜在扩散模型中内部知识与外部条件信息对齐的负担。在实验中,直接使用ControlNet进行图像重建会导致严重的颜色偏移。

3.3 保真度-真实性权衡的潜在图像引导

虽然上述两阶段的方法已经可以获得很好的恢复效果,但由于用户的不同偏好,仍然需要在真实和保真之间进行权衡。因此,我们提出了一个可控的模块,可以引导降噪过程在第一阶段获得的 I r e g I_{reg} Ireg,从而在真实和平滑结果之间进行调整。分类器引导是由Dhariwal和Nichol[12]提出的,它利用在噪声图像上训练的分类器来引导生成到目标类。而在大多数情况下,作为指导的预训练模型通常是在干净的图像上训练的。为处理这种情况,工作在[1;16]转向引导中间变量 x ~ 0 \tilde{x}_{0} x~0来控制扩散模型的生成过程。具体来说,在采样过程中,他们通过估计 x t x_t xt中的噪声,从噪声图像 x t x_t xt中估计出一个干净的图像 x 0 x_0 x0。在这项工作中,扩散和去噪过程是基于潜在空间的。因此,我们的目标是得到一个干净的潜在 z 0 z_0 z0,通过以下公式:
z ~ 0 = z t α ˉ t − 1 − α ˉ t ϵ θ ( z t , c , t , E ( I r e g ) ) α ˉ t . (4) \tilde{z}_{0}=\frac{z_{t}}{\sqrt{\bar{\alpha}_{t}}}-\frac{\sqrt{1-\bar{\alpha}_{t}} \epsilon_{\theta}\left(z_{t}, c, t, \mathcal{E}\left(I_{r e g}\right)\right)}{\sqrt{\bar{\alpha}_{t}}} . \tag{4} z~0=αˉt ztαˉt 1αˉt ϵθ(zt,c,t,E(Ireg)).(4)

然后,将基于潜在的损失 D l a t e n t \mathcal{D}_{latent} Dlatent定义为潜在图像引导 E ( I r e g ) \mathcal{E}(I_{reg}) E(Ireg)与估计的干净潜在变量 z ~ 0 \tilde z_0 z~0之间的 L 2 \mathcal{L}_2 L2 距离:
D latent  ( x , I reg  ) = L ( z ~ 0 , E ( I reg  ) ) = ∑ j 1 C j H j W j ∥ z ~ 0 − E ( I reg  ) ) ∥ 2 2 (5) \left.\mathcal{D}_{\text {latent }}\left(x, I_{\text {reg }}\right)=\mathcal{L}\left(\tilde{z}_{0}, \mathcal{E}\left(I_{\text {reg }}\right)\right)=\sum_{j} \frac{1}{C_{j} H_{j} W_{j}} \| \tilde{z}_{0}-\mathcal{E}\left(I_{\text {reg }}\right)\right) \|_{2}^{2}\tag{5} Dlatent (x,Ireg )=L(z~0,E(Ireg ))=jCjHjWj1z~0E(Ireg ))22(5)

上述引导可以迭代地强制潜在特征之间的空间对齐和颜色一致性,并引导生成的潜在保留参考潜在的内容。因此,可以控制从参考图像 I r e g I_{reg} Ireg中保留多少信息(如结构、布局和颜色),从而实现从生成的输出到更平滑的结果的过渡。我们的潜在图像引导的整个算法在算法1中进行了说明。

在这里插入图片描述

4. Experiments

4.1 数据集、实现、度量

数据集。我们在ImageNet[11]数据集上以512 × 512分辨率训练DiffBIR。对于BFR,我们使用FFHQ[25]数据集,并将其大小调整为512 × 512。为了合成LQ图像,我们在训练过程中利用提出的退化pipeline对HQ图像进行处理(详见附录A)。对于BSR,我们使用RealSRSet[3]数据集在现实环境中进行比较。为了在现实场景中进行更彻底的比较,我们从互联网上收集了47张图像,记为Real47。它包含了各种场景的一般图像,如自然户外景观,老照片,建筑,人物从肖像到密集的人群,植物,动物等。对于BFR任务,我们在合成数据集CelebA-Test[39]和三个真实数据集:LFW-Test[54]、CelebChild-Test[54]和WIDER-Test[68]上评估了我们的方法。特别是,CelebA-Test包含从CelebA-HQ数据集中选择的3,000张图像,其中LQ图像是在与我们的训练设置相同的退化范围下合成的。

实现。恢复模块采用8个残差Swin Transformer block (RSTB),每个RSTB包含6个Swin Transformer Layers (STL)。head数设置为6,窗口大小设置为8。我们训练恢复模块,批量大小为96,迭代150k。我们使用Stable Diffusion 2.1-base 3作为生成先验,并对扩散模型进行了微调,迭代次数为25k,批大小为192。我们使用Adam[28]优化器,将学习率设置为10−4。训练过程在512 × 512分辨率下使用8个NVIDIA A100 GPU进行。对于推理,我们采用间隔DDPM采样[43],时间步长为50。我们的DiffBIR能够处理大于512 × 512的任意大小的图像。对于边长< 512的图像,我们首先将它们的短边放大到512,然后将它们调整回来。

度量。对于基于真实值的评价,我们采用传统的指标:PSNR、SSIM和LPIPS[67]。为了更好地评估BIR任务的真实性,我们还包括了几个无参考图像质量评估(IQA)指标:MANIQA4[60]和NIQE。对于BFR,我们评估了identity preservation-IDS[68],并采用了广泛使用的感知度量FID[20]。我们还部署了一项用户研究,以进行更彻底的比较。

4.2 与最先进方法的比较

对于BSR,我们将DiffBIR与最先进的BSR方法进行了比较:Real-ESRGAN+[55]、BSRGAN[64]、SwinIR-GAN[36]和FeMaSR[6]。最近最先进的ZIR方法(DDNM[57]和GDP[16])也包括在内。对于BFR任务,我们比较了最新的最先进的方法:DMDNet[35]、GFP-GAN[54]、GPEN[61]、GCFSR[19]、VQFR[18]、CodeFormer[68]、RestoreFormer[59]。

真实数据集上的BSR

我们在表1中提供了对真实数据集的定量比较。可以观察到,我们的DiffBIR在广泛使用的RealSRSet[24]和我们收集的Real47上都在MANIQA中获得了最好的分数。而BSRGAN和Real-ESRGAN+在两个数据集上都可以在MANIQA中获得前3名的结果。

在这里插入图片描述

目视比较结果如图3所示。可以看出,DiffBIR能够更自然地还原文本信息,而其他方法往往会扭曲字符或产生模糊的输出。另一方面,我们的DiffBIR也可以为自然图像生成逼真的纹理细节,而其他方法会产生过于光滑的结果。
在这里插入图片描述

为了进一步将DiffBIR与其他最先进的方法进行比较,我们对收集的Real47数据集进行了用户研究。本用户研究比较了DiffBIR、SwinIR-GAN、BSRGAN和RealESRGAN+。对于每张图像,用户被要求对四种方法的结果进行排序,并按升序为不同的方法分配1-4点。更准确地说,结果越好,得分越高。在详细的指导下,招募了31名用户进行这项用户研究。各方法得到的分数分布如图4所示。可以看出,DiffBIR的中位数得分最高,其上四分位数超过3。这表明用户倾向于将DiffBIR的结果排在首位。用户研究结果再次证明DiffBIR的视觉结果优于其他方法,这与它在MANIQA上的最高分一致。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/348250.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

接口性能优化常见12式

目录 1.批处理 2.异步处理 3.空间换时间 4.预处理 5.池化思想 6.串行改并行 7.索引 8.避免大事务 9.优化程序结构 10.深分页问题 11.SQL优化 12.锁粒度避免过粗 1.批处理 批量思想&#xff1a;批量操作数据库&#xff0c;这个很好理解&#xff0c;我们在循环插入场…

github上传代码

github上传代码 分为三步&#xff1a; 1.在自己的github上找个放代码地方&#xff0c;比如创建一个仓库 2. 在该仓库中点击上传代码 3. 然后直接把代码拖拽过来或者点击choose your files&#xff0c;上传后点击一下commit即可 最后代码就可以上传上来啦 &#xff0c;如果想在该…

C++——函数

1&#xff0c;概述 函数的作用&#xff1a;将一段经常使用的代码封装起来&#xff0c;减少重复代码 一个较大的程序&#xff0c;一般分为若干个程序块&#xff0c;每个模块实现特定的功能。 2&#xff0c;函数的定义 函数的定义一般主要有五个步骤&#xff1a; 1&#xff…

爬虫(一)

1. HTTP协议与WEB开发 1. 什么是请求头请求体&#xff0c;响应头响应体 2. URL地址包括什么 3. get请求和post请求到底是什么 4. Content-Type是什么1.1 简介 HTTP协议是Hyper Text Transfer Protocol&#xff08;超文本传输协议&#xff09;的缩写,是用于万维网&#xff08;…

金融OCR领域实习日志(一)——OCR技术从0到1全面调研

一、OCR基础 任务要求&#xff1a; 工作原理 OCR&#xff08;Optical Character Recognition&#xff0c;光学字符识别&#xff09;是指电子设备&#xff08;例如扫描仪或数码相&#xff09;检查纸上打印的字符&#xff0c;经过检测暗、亮的模式肯定其形状&#xff0c;而后用…

SRPC 框架服务端源码解析

0. RPC Context 保存某些必要的上下文信息&#xff1b; 某端独有功能&#xff1a;Client 获取请求成功或失败 1. RPCBuffer const 和 constexpr 变量的主要区别是&#xff1a;const 变量的初始化可以被推迟到运行期&#xff0c;constexpr 必须在编译期初始化&#xff1b;所…

OpenHarmony开发——GN快速上手

背景 最近在研究鸿蒙操作系统的开源项目OpenHarmony&#xff0c;该项目使用了GNNinja工具链进行配置&#xff0c;编译&#xff0c;于是开始研究GN如何使用。 本文的所有信息均来自GN官网和本人个人体会。 GN快速入门 使用GN GN的主要功能是根据配置文件&#xff08;.gn, BU…

Android开发--状态栏布局隐藏的方法

1.问题如下&#xff0c;安卓布局很不协调 2.先将ActionBar设置为NoActionBar 先打开styles.xml 3.使用工具类 package com.afison.newfault.utils;import android.annotation.TargetApi; import android.app.Activity; import android.content.Context; import android.graph…

字符串匹配(BF KMP)详解 + 刷题

目录 &#x1f33c;前言 BF 算法 KMP 算法 &#xff08;1&#xff09;前缀函数 -- O(n^3) &#xff08;2&#xff09;前缀函数 -- O(n^2) &#xff08;3&#xff09;前缀函数 -- O(n) &#xff08;4&#xff09;辅助理解 &#x1f40b;P1308 -- 统计单词数 …

【深度学习】线性回归模型与梯度下降法

线性回归模型与梯度下降法 线性回归模型与枚举法 线性回归模型定义: w:权重b:偏置#mermaid-svg-ZAxF27Mw5dXNQgw2 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-ZAxF27Mw5dXNQgw2 .error-icon{fill:#552222;}…

pyecharts模块的下载方法以及介绍,折线图的创立

目录 1.pyecharts是什么 2.pyecharts下载方法 1.在屏幕左下角搜索这里输入cmd&#xff0c;找到命令提示符并且打开 2.输入pip install pyecharts 然后回车进行下载 3.检查是否下载完成 4.另一个方法 3.pyecharts入门 4.pyecharts的配置选项 set_global_opts全局配置选…

[docker] Docker资源管理

一、docker资源控制 Docker通过Cgroup 来控制容器使用的资源配额&#xff0c;包括CPU、内存、磁盘三大方面&#xff0c;基本覆盖了常见的资源配额和使用量控制。Caroup 是ControlGroups的缩写&#xff0c;是Linux 内核提供的一种可以限制、记录、隔离进程组所使用的物理资源(如…

OpenKruise :Kubernetes背后的托底

一、 诞生背景 Kubernetes 自身提供的应用部署管理功能&#xff0c;无法满足大规模应用场景的需求&#xff0c;例如应用发布时的原地升级策略&#xff0c;流式扩容&#xff0c;缩容顺序控制等等。所以OpenKruise的出现弥补了 Kubernetes 在应用部署、升级、防护、运维等领域的不…

剪映声音克隆;多位滴滴前中高层加入小红书提速商业化;中国和新加坡互免签证

今日精选 • 剪映推出 AI 音色克隆功能&#xff0c;录制 5 秒声音即可完成克隆• 商业化全面提速&#xff0c;多位滴滴前中高层加入小红书• 2 月 9 日起&#xff0c;中国和新加坡互免签证 科技动态 • 夸克上线大模型新产品“AI PPT”&#xff0c;可一键生成提纲、创作 PPT…

Unity - gamma space下还原linear space效果

文章目录 环境目的环境问题实践结果处理要点处理细节【OnPostProcessTexture 实现 sRGB 2 Linear 编码】 - 预处理【封装个简单的 *.cginc】 - shader runtime【shader需要gamma space下还原记得 #define _RECOVERY_LINEAR_IN_GAMMA】【颜色参数应用前 和 颜色贴图采样后】【灯…

接口自动化测试实践

众所周知&#xff0c;接口自动化测试有着如下特点&#xff1a; 低投入&#xff0c;高产出。 比较容易实现自动化。 和UI自动化测试相比更加稳定。 如何做好一个接口自动化测试项目呢&#xff1f; 我认为&#xff0c;一个“好的”自动化测试项目&#xff0c;需要从“时间”…

【算法练习Day51】柱状图中最大的矩形

​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;练题 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 柱状图中最大的矩形思路动态…

HTML+CSS:飞翔按钮

效果演示 实现了一个按钮的动画效果&#xff0c;当鼠标悬停在按钮上时&#xff0c;按钮的背景颜色和图标会发生变化&#xff0c;并且图标会旋转45度并向右移动1.2em&#xff0c;同时按钮中的文字也会向右移动5em。当鼠标点击按钮时&#xff0c;按钮会变小并向下移动0.1em。整个…

软考复习之软件工程篇

软件生命周期 问题定义&#xff1a;要示系统分析员与用户进行交流&#xff0c;弄清”用户需要计算机解决什么问题”然后提出关于“系统目标与范围的说明”&#xff0c;提交用户审查和确认 可行性研究&#xff1a;一方面在于把待开发的系统的目标以明确的语言描述出来&#xf…

LINUX服务之YUM仓库

1. YUM概述 YUM基于RPM包构建的软件更新机制 可以自动解决依赖关系 所有软件包由集中的YUM软件仓库提供 YUM支持软件源 搭建yum支持的的软件源主要有以下三种&#xff1a; 本地yum&#xff1a;file&#xff1a;//… 网络yum&#xff0c;又分为HTTP服务器&#xff1a;http…