DeblurGAN-v2: Deblurring (Orders-of-Magnitude) Faster and Better

news2024/12/23 19:45:40

文章目录

  • 摘要
  • 1、引言
  • 2、相关工作
    • 2.1、图像去模糊
    • 2.2、生成对抗网络
  • 3、DeblurGAN-v2 架构
    • 3.1、特征金字塔去模糊
    • 3.2、骨干网络的选择:性能与效率之间的权衡
    • 3.3、双尺度RaGAN-LS判别器
    • 3.4、训练数据集
  • 4、实验评估
    • 4.1、实现细节
    • 4.2、在GoPro数据集上的定量评估
    • 4.3、Kohler数据集上的定量评估
    • 4.4、DVD数据集上的定量评估
    • 4.5、Lai数据集上的主观评估
    • 4.6、消融研究与分析
    • 4.7、扩展至一般图像恢复
  • 5、结论

摘要

我们提出了一种新的端到端生成对抗网络(GAN),用于单图像运动去模糊,名为DeblurGAN-v2,该网络大大提升了去模糊的效率、质量和灵活性。DeblurGAN-v2基于具有双尺度判别器的相对论条件GAN。我们首次将特征金字塔网络引入去模糊领域,作为DeblurGAN-v2生成器的核心构建块。它可以灵活地与各种骨干网络配合使用,以在性能和效率之间取得平衡。使用先进的骨干网络(例如,Inception-ResNet-v2)可以带来稳固的先进的去模糊效果。同时,使用轻量级骨干网络(例如,MobileNet及其变体),DeblurGAN-v2的速度比最近的竞争对手快10到100倍,同时保持接近最先进的结果,这意味着有实时视频去模糊的选项。我们证明,在去模糊质量(客观和主观)以及效率方面,DeblurGAN-v2在几个流行的基准测试上均获得了极具竞争力的性能。此外,我们还展示了该架构对于一般图像恢复任务的有效性。我们的代码、模型和数据可在以下网址获取:https://github.com/KupynOrest/DeblurGANv2。

1、引言

本文着重关注单图像盲运动去模糊这一具有挑战性的设置。运动模糊通常出现在手持相机拍摄的照片或包含移动物体的低帧率视频中。模糊会降低人类的感知质量,并对后续的计算机视觉分析构成挑战。现实世界的模糊通常具有未知且空间变化的模糊核,且进一步受到噪声和其他伪影的复杂化影响。
在这里插入图片描述

深度学习的近期繁荣已经在图像恢复领域取得了显著进展[48,28]。具体来说,生成对抗网络(GANs)[9]通常能够产生比经典前馈编码器更锐利、更合理的纹理,并在图像超分辨率[23]和图像修复[53]方面取得了成功。最近,[21]通过将其视为特殊的图像到图像转换任务[13],将GAN引入去模糊领域。提出的模型名为DeblurGAN,已被证明能够从合成和现实世界的模糊图像中恢复出视觉上令人愉悦且清晰的图像。当时,DeblurGAN的速度也比其最接近的竞争对手快5倍[33]。

在DeblurGAN成功的基础上,本文旨在推动基于GAN的运动去模糊技术的进一步发展。我们引入了一个新的框架来改进DeblurGAN,称为DeblurGAN-v2,以在去模糊性能、推理效率以及质量和效率谱上的高灵活性方面取得提升。我们的创新总结如下:

  • 框架层面:我们为去模糊任务构建了一个新的条件GAN框架。对于生成器,我们首次将最初为对象检测开发的特征金字塔网络(FPN)[27]引入图像恢复任务中。对于判别器,我们采用带有包裹在内的最小平方损失的相对论判别器[16],并且设置两列,分别评估全局(图像)和局部(块)尺度。

  • 骨干层面:尽管上述框架对生成器骨干的选择是无关的,但选择会影响去模糊的质量和效率。为了追求最先进的去模糊质量,我们插入了复杂的Inception-ResNet-v2骨干。为了转向更高效的模型,我们采用了MobileNet,并进一步创建了其变体,即具有深度可分离卷积的MobileNet(MobileNet-DSC)。后两者在尺寸上非常紧凑,推理速度也非常快。

  • 实验层面:我们在三个流行的基准测试上进行了广泛的实验,以展示DeblurGAN-v2实现的最新(或接近最新)性能(PSNR、SSIM和感知质量)。在效率方面,使用MobileNet-DSC的DeblurGAN-v2比DeblurGAN[21]快11倍,比[33, 45]快100倍以上,并且模型大小仅为4MB,这暗示了实时视频去模糊的可能性。我们还对真实模糊图像的去模糊质量进行了主观研究。最后,我们还展示了我们的模型在一般图像恢复任务中的潜力,作为额外的灵活性。

2、相关工作

2.1、图像去模糊

单图像运动去模糊传统上被视为一个反卷积问题,可以通过盲去模糊或非盲去模糊的方式来解决。前者假设给定或预先估计的模糊核[39,52]。后者更为现实,但高度病态。早期的模型依赖于自然图像先验来正则化去模糊过程[20,36,25,5]。然而,大多数手工设计的先验不能很好地捕获真实图像中复杂的模糊变化。

新兴的深度学习技术推动了图像恢复任务的突破。Sun等人[43]利用卷积神经网络(CNN)来估计模糊核。Gong等人[8]使用全卷积网络来估计运动流。除了这些基于核的方法外,还探索了端到端的无核CNN方法,直接从模糊的输入中恢复出清晰的图像,例如[33, 35]。Tao等人[45]的最新工作将[33]中的多尺度CNN扩展为尺度循环CNN用于盲图像去模糊,取得了令人印象深刻的结果。

GAN在图像恢复方面的成功也影响了单图像去模糊,自Ramakrishnan等人[37]首次通过参考图像翻译思想[13]解决图像去模糊问题以来。最近,Kupyn等人[21]引入了DeblurGAN,它利用了带有梯度惩罚[10]和感知损失[15]的Wasserstein GAN[2]。

2.2、生成对抗网络

GAN(生成对抗网络)由两个模型组成:判别器D和生成器G,它们形成了一个两人极小极大博弈。生成器学习产生人工样本,并经过训练来欺骗判别器,其目标是捕获真实数据的分布。特别是,作为流行的GAN变体,条件GANs[31]已被广泛应用于图像到图像的翻译问题,其中图像恢复和增强是特殊情况。它们除了将潜在代码作为输入外,还将标签或观察到的图像作为输入。

该极小极大博弈中的价值函数 V(D, G) 定义为以下形式[9](假-真标签设为 0-1):

min ⁡ G max ⁡ D V ( D , G ) = E x ∼ p data  ( x ) [ log ⁡ D ( x ) ] + E z ∼ p z ( z ) [ log ⁡ ( 1 − D ( G ( z ) ) ) ] \begin{aligned} \min _{G} \max _{D} V(D, G) & =\mathbb{E}_{x \sim p_{\text {data }}(x)}[\log D(x)] \\ & +\mathbb{E}_{z \sim p_{z}(z)}[\log (1-D(G(z)))] \end{aligned} GminDmaxV(D,G)=Expdata (x)[logD(x)]+Ezpz(z)[log(1D(G(z)))]

这样的目标函数非常难以优化,并且需要在训练过程中应对许多挑战,例如模式崩溃和梯度消失/爆炸。为了解决梯度消失问题并稳定训练,最小二乘GAN的判别器[30]试图引入一个损失函数,该函数提供更平滑且不饱和的梯度。作者观察到[9]中的对数型损失很快就会饱和,因为它忽略了 x 到决策边界的距离。相比之下,L2损失提供了与该距离成比例的梯度,因此远离边界的假样本会受到更大的惩罚。提出的损失函数还最小化了Pearson χ2散度,这有助于更好的训练稳定性。LSGAN的目标函数可以表示为:

min ⁡ D V ( D ) = 1 2 E x ∼ p data  ( x ) [ ( D ( x ) − 1 ) 2 ] + 1 2 E z ∼ p z ( z ) [ D ( G ( z ) ) 2 ] min ⁡ G V ( G ) = 1 2 E z ∼ p z ( z ) [ ( D ( G ( z ) ) − 1 ) 2 ] \begin{aligned} \min _{D} V(D) & =\frac{1}{2} \mathbb{E}_{x \sim p_{\text {data }}(x)}\left[(D(x)-1)^{2}\right] \\ & +\frac{1}{2} \mathbb{E}_{z \sim p_{z}(z)}\left[D(G(z))^{2}\right] \\ \min _{G} V(G) & =\frac{1}{2} \mathbb{E}_{z \sim p_{z}(z)}\left[(D(G(z))-1)^{2}\right] \end{aligned} DminV(D)GminV(G)=21Expdata (x)[(D(x)1)2]+21Ezpz(z)[D(G(z))2]=21Ezpz(z)[(D(G(z))1)2]

对GAN的另一项相关改进是相对论GAN[16]。它使用相对论判别器来估计给定真实数据比随机采样的假数据更真实的概率。正如作者所主张的那样,这会考虑到先验知识,即迷你批次中有一半的数据是假的。与其他GAN类型(包括在DeblurGAN-v1中使用的WGAN-GP[10])相比,相对论判别器显示出更稳定且计算效率更高的训练过程。

3、DeblurGAN-v2 架构

DeblurGAN-v2 架构的概述如图2所示。它通过训练好的生成器从单个模糊图像 I B I_{B} IB 中恢复出清晰的图像 I S I_{S} IS
在这里插入图片描述

3.1、特征金字塔去模糊

现有的用于图像去模糊(以及其他恢复问题)的卷积神经网络(CNNs)通常参考ResNet-like结构。大多数最先进的方法[33,45]处理不同级别的模糊,利用多流CNN和在不同尺度上的输入图像金字塔。然而,处理多个尺度的图像既耗时又占用内存。据我们所知,我们首次将特征金字塔网络(FPN)的思想引入图像去模糊(更广泛地说,图像恢复和增强领域)。我们将这种新颖的方法视为一种轻量级的替代方案,用于整合多尺度特征。

FPN模块最初是为目标检测而设计的[27]。它生成多个特征图层,这些图层编码不同的语义并包含更好的质量信息。FPN包含一个自下而上的路径和一个自上而下的路径。自下而上的路径是通常用于特征提取的卷积网络,沿此路径空间分辨率会下采样,但会提取和压缩更多的语义上下文信息。通过自上而下的路径,FPN从语义丰富的图层中重构出更高的空间分辨率。自下而上和自上而下路径之间的横向连接补充了高分辨率的细节并有助于定位目标。

我们的架构包含一个FPN骨干网络,我们从其中提取五个不同尺度的最终特征图作为输出。这些特征随后被上采样到与输入相同大小的 1 4 \frac{1}{4} 41 ,并连接成一个包含不同级别语义信息的张量。此外,我们在网络的末端增加了两个上采样和卷积层,以恢复原始图像大小并减少伪影。与[21,29]类似,我们从输入到输出引入了一个直接的跳跃连接,以便学习主要集中在残差上。输入图像被归一化到[-1, 1]范围。我们还使用tanh激活层将输出保持在相同的范围内。除了多尺度特征聚合能力外,FPN还在准确性和速度之间达到了平衡:请参见实验部分。

3.2、骨干网络的选择:性能与效率之间的权衡

新的嵌入FPN的架构在选择特征提取器骨干网络时是无关紧要的。由于这种即插即用的特性,我们有权在准确性和效率的范围内灵活选择。默认情况下,我们选择使用ImageNet预训练的骨干网络来传递更多与语义相关的特征。作为一种选择,我们使用Inception-ResNet-v2[44]来追求强大的去模糊性能,尽管我们发现其他骨干网络,如SEResNeXt[12],同样有效。

由于移动设备上进行图像增强的需求日益普及,对高效恢复模型的需求也引起了越来越多的关注[54,50,47]。为了探索这一方向,我们选择MobileNet V2骨干网络[40]作为一个选项。为了进一步降低复杂性,我们在DeblurGANv2和MobileNet V2的基础上尝试了另一种更激进的选择,即将整个网络(包括不在骨干网络中的部分)中的所有常规卷积替换为深度可分离卷积[6]。所得模型称为MobileNet-DSC,可以提供极轻量级且高效的图像去模糊效果。

为了向实践者释放这种重要的灵活性,在我们的代码中,我们已经将骨干网络的切换实现为简单的单行命令:它可以与许多最先进的预训练网络兼容。

3.3、双尺度RaGAN-LS判别器

在DeblurGAN中使用的WGAN-GP判别器基础上,我们在DeblurGAN-v2中提出了几项升级。我们首先在LSGAN[30]的成本函数上采用了相对论“包装”方法[16],创建了一个新的RaGAN-LS损失:

L D RaLSGAN  = E x ∼ p data  ( x ) [ ( D ( x ) − E z ∼ p z ( z ) D ( G ( z ) ) − 1 ) 2 ] + E z ∼ p z ( z ) [ ( D ( G ( z ) ) − E x ∼ p data  ( x ) D ( x ) + 1 ) 2 ] \begin{aligned} L_{D}^{\text {RaLSGAN }} & =\mathbb{E}_{x \sim p_{\text {data }}(x)}\left[\left(D(x)-\mathbb{E}_{z \sim p_{z}(z)} D(G(z))-1\right)^{2}\right] \\ & +\mathbb{E}_{z \sim p_{z}(z)}\left[\left(D(G(z))-\mathbb{E}_{x \sim p_{\text {data }}(x)} D(x)+1\right)^{2}\right] \end{aligned} LDRaLSGAN =Expdata (x)[(D(x)Ezpz(z)D(G(z))1)2]+Ezpz(z)[(D(G(z))Expdata (x)D(x)+1)2]

与使用WGAN-GP目标相比,观察到这种方法可以使训练更快且更稳定。我们还根据经验得出结论,生成的结果具有更高的感知质量和更清晰的输出。相应地,DeblurGANv2生成器的对抗损失 L a d v L_{adv} Ladv将针对G优化(2)。

扩展至全局和局部尺度。Isola等人[13]建议使用PatchGAN判别器,该判别器在大小为70×70的图像块上操作,这证明可以产生比标准“全局”判别器(对整个图像进行操作)更清晰的结果。PatchGAN的想法在DeblurGAN中得到了采纳[21]。

然而,我们观察到,对于高度不均匀的模糊图像,尤其是涉及复杂物体运动的情况时,“全局”尺度对于判别器来说仍然非常重要,以便纳入完整的空间上下文[14]。为了充分利用全局和局部特征,我们提出使用双尺度判别器,由一个在像[13]那样的补丁级别上操作的局部分支和一个接收整个输入图像的全局分支组成。我们观察到,这样可以让DeblurGAN-v2更好地处理更大且更复杂的真实模糊情况。

整体损失函数。在训练图像恢复GAN时,需要在训练阶段比较重建图像和原始图像,采用某种度量标准。一个常见的选择是像素空间损失 L P L_{P} LP,例如最简单的 L 1 L_{1} L1 L 2 L_{2} L2距离。正如[23]所指出的,使用 L P L_{P} LP往往会导致像素空间输出过于平滑。[21]建议使用感知距离[15]作为“内容”损失 L X L_{X} LX。与 L 2 L_{2} L2不同,它在VGG19[41]的conv3_3特征图上计算欧氏损失。我们整合了这些先前的智慧,并使用一个混合的三项损失来训练DeblurGAN-v2:

L G = 0.5 ∗ L P + 0.006 ∗ L X + 0.01 ∗ L a d v L_{G} = 0.5 * L_{P} + 0.006 * L_{X} + 0.01 * L_{adv} LG=0.5LP+0.006LX+0.01Ladv

L a d v L_{adv} Ladv项包含全局和局部判别器损失。此外,我们选择均方误差(MSE)损失作为 L P L_{P} LP:尽管DeblurGAN没有包含 L P L_{P} LP项,但我们发现它有助于纠正颜色和纹理失真。

3.4、训练数据集

GoPro数据集[33]使用GoPro Hero 4相机捕获每秒240帧(fps)的视频序列,并通过平均连续短曝光帧来生成模糊图像。它是图像运动模糊的一个常见基准,包含3,214对模糊/清晰图像。我们遵循相同的划分[33],使用2,103对图像进行训练,其余1,111对图像进行评估。

DVD数据集[42]收集了71个由各种设备(如iPhone 6s、GoPro Hero 4和Nexus 5x)以240fps拍摄的现实世界视频。作者通过平均连续短曝光帧来近似更长的曝光时间,生成了6708对合成模糊和清晰图像[46]。该数据集最初用于视频去模糊,但后来也被引入到图像去模糊领域。

NFS数据集[17]最初是为了基准视觉对象跟踪而提出的。它包含75个使用iPhone 6和iPad Pro的高帧率相机拍摄的视频。此外,还从YouTube收集了25个序列,这些序列是使用各种不同设备以240fps拍摄的。它涵盖了各种场景,包括运动、跳伞、水下、野生动物、路边和室内场景。
在这里插入图片描述

训练数据准备:传统上,模糊帧是通过连续清晰帧的平均值来生成的。然而,我们注意到直接平均帧时会出现不真实的重影效果,如图3(a)©所示。为了缓解这一问题,我们首先使用视频帧插值模型[34]将原始240fps视频增加到3840fps,然后在相同的时间窗口内(但现在有更多的帧)进行平均池化。这会导致更平滑和更连续的模糊效果,如图3(b)(d)所示。实验上,这种数据准备并没有明显影响PSNR/SSIM,但观察到视觉质量结果有所改善。

4、实验评估

4.1、实现细节

我们使用PyTorch[1]实现了我们所有的模型。我们通过从GoPro和DVD数据集中选择每秒的第二帧,以及从NFS数据集中选择每十帧,来组成我们的训练集,希望减少对任何特定数据集的过拟合。然后,我们在得到的约10,000对图像对上训练DeblurGANv2。我们评估了三种骨干网络:Inception-ResNetv2、MobileNet和MobileNet-DSC。前者针对高性能去模糊,而后两者更适合资源受限的边缘应用。具体来说,极其轻量级的DeblurGANv2(MobileNet-DSC)比DeblurGAN-v2(Inception-ResNet-v2)少用了96%的参数。

所有模型均使用单个Tesla-P100 GPU进行训练,采用Adam优化器[18],学习率初始设为10-4,进行150个周期的训练,接着再进行150个周期的训练,期间学习率线性衰减至10-7。在训练的前3个周期内,我们冻结了预训练骨干网络的权重,之后解冻所有权重并继续训练。未预训练的部分使用随机高斯分布进行初始化。整个训练过程需要5天才能收敛。由于模型是完全卷积的,因此可以应用于任意大小的图像。

4.2、在GoPro数据集上的定量评估

我们将我们的模型与一系列最先进的模型进行了比较:其中一个是Xu等人提出的传统方法[51],其余都是基于深度学习的模型,包括Sun等人提出的模型[43]、DeepDeblur[33]、SRN[45]和DeblurGAN[21]。我们在标准性能指标(PSNR、SSIM)和推理效率(在单个GPU上测量的平均每张图像的运行时间)上进行了比较。结果总结在表1中。
在这里插入图片描述

在PSNR/SSIM方面,DeblurGAN-v2(InceptionResNet-v2)和SRN排名前二:DeblurGAN-v2(Inception-ResNet-v2)的PSNR略低,这并不奇怪,因为它不是在纯MSE损失下训练的;但它在SSIM上超过了SRN。然而,我们很高兴地观察到,DeblurGAN-v2(InceptionResNet-v2)的推理时间比SRN少了78%。此外,我们的两个轻量级模型,DeblurGAN-v2(MobileNet)和DeblurGAN-v2(MobileNet-DSC),显示出的SSIM(0.925和0.922)与其他两种最新的深度去模糊方法,即DeblurGAN(0.927)和DeepDeblur(0.916),相当,但它们的运行速度却快达100倍。

特别值得一提的是,MobileNet-DSC每张图像仅需要0.04秒,这使得它甚至能够实现接近实时的视频帧去模糊,对于25帧每秒的视频来说尤为适用。据我们所知,DeblurGAN-v2(MobileNet-DSC)是目前唯一能够同时实现(相对)高性能和高推理效率的去模糊方法。

4.3、Kohler数据集上的定量评估

Kohler数据集[19]包含4张图像,每张图像都使用12种不同的模糊核进行模糊处理。它是评估盲去模糊算法的标准基准。该数据集是通过记录和分析真实的相机运动,然后在机器人平台上回放这些运动,从而记录一系列清晰图像,采样6D相机运动轨迹生成的。
在这里插入图片描述

比较结果如表2所示。与GoPro数据集类似,SRN和DeblurGAN-v2(Inception-ResNetv2)仍然是PSNR/SSIM表现最好的两个模型,但这次SRN在两者中略胜一筹。然而,请注意,与GoPro的情况类似,这一“几乎打成平手”的结果是在DeblurGAN-v2(Inception-ResNet-v2)的推理复杂度仅为SRN的五分之一的情况下实现的。此外,DeblurGAN-v2(MobileNet)和DeblurGAN-v2(MobileNet-DSC)在Kohler数据集的SSIM和PSNR上都超过了DeblurGAN,考虑到前两个模型的权重更轻,这一表现令人印象深刻。
在这里插入图片描述

图4展示了Kohler数据集上的视觉示例。DeblurGAN-v2有效地恢复了边缘和纹理,没有明显的伪影。对于这个特定的示例,SRN在放大时显示了一些颜色伪影。

4.4、DVD数据集上的定量评估

接下来,我们在[42]中使用的DVD测试集上测试DeblurGAN-v2,但使用单帧设置(将所有帧视为单独的图像),而不使用多帧联合处理。我们与两种强大的视频去模糊方法进行比较:WFA[7]和DVD[42]。对于后者,我们采用作者在将单帧作为模型输入时自行报告的结果(表示为“single”),以便进行公平比较。如表6所示,DeblurGAN-v2(MobileNet)在性能上优于WFA和DVD(single),同时运行速度至少快17倍(DVD在降低分辨率至960x540上进行测试,而DeblurGAN-v2在1280x720上进行测试)。

尽管DeblurGAN-v2并未专门针对视频去模糊进行优化,但它显示出良好的潜力,我们将在未来的工作中将其扩展到视频去模糊领域。

4.5、Lai数据集上的主观评估

Lai数据集[22]包含不同质量和分辨率的真实模糊图像,这些图像是在各种场景中收集的。这些真实图像没有清晰/锐利的对应图像,因此无法进行全参考定量评估。遵循[22]的做法,我们进行了一项主观调查,以比较这些真实图像上的去模糊性能。

我们采用Bradley-Terry模型[3]来估计每种方法的主观得分,以便进行排名。这一流程遵循了先前的基准工作[24,26]。每张模糊图像都使用以下算法进行处理:Krishnan等人[20],Whyte等人[49],Xu等人[51],Sun等人[43],Pan等人[36],DeepDeblur[33],SRN[45],以及三种DeblurGAN-v2变体(Inception-ResNet-v2,MobileNet,MobileNet-DSC)。将十一种去模糊结果连同原始模糊图像一起发送进行成对比较,以构建获胜矩阵。我们从22位评分者处收集了成对比较结果。我们观察到评分者之间的一致性较好,个体差异较小,这使得得分可靠。
在这里插入图片描述

表4报告了主观得分。由于缺少真实值,我们没有对得分进行归一化处理。因此,重要的是得分排名,而不是绝对得分值。可以观察到,基于深度学习的去模糊算法通常比传统方法具有更理想的视觉效果(有些甚至使视觉质量比模糊输入更差)。DeblurGAN[21]的表现优于DeepDeblur[33],但落后于SRN[45]。使用Inception-ResNetv2作为骨干网络,DeblurGAN-v2在感知质量上明显优于SRN,成为主观质量方面的最佳表现者。与Inception-ResNet-v2版本相比,使用MobileNet和MobileNet-DSC作为骨干网络的DeblurGAN-v2在性能上略有下降。然而,与DeepDeblur和DeblurGAN相比,主观评分者仍然更偏爱这两者,同时它们的运行速度要快2-3个数量级。
在这里插入图片描述

图5展示了“face2”图像去模糊效果的视觉对比示例。DeblurGAN-v2(Inception-ResNet-v2)(5j)和SRN(5h)是最受欢迎的前两名结果,它们都在边缘清晰度和整体平滑度之间取得了很好的平衡。通过放大观察,我们发现SRN在这个示例中仍然产生了一些鬼影伪影,例如从衣领到右下脸部区域的白色“入侵”。相比之下,DeblurGAN-v2(Inception-ResNet-v2)显示了无伪影的去模糊效果。此外,DeblurGAN-v2(MobileNet)和DeblurGAN-v2(MobileNet-DSC)的结果也很平滑,视觉上比DeblurGAN更好,尽管它们的清晰度不如DeblurGAN-v2(Inception-ResNet-v2)。

在这里插入图片描述

4.6、消融研究与分析

我们针对DeblurGAN-v2流程中的特定组件进行了消融研究。从原始的DeblurGAN(ResNet G,局部尺度的补丁D,WGAN-GP + 感知损失)开始,我们逐步在生成器(添加FPN)、判别器(添加全局尺度)和损失(将WGANGP损失替换为RaGAN-LS,并添加MSE项)中引入我们的修改。结果总结在表6中。我们可以看到,我们提出的所有组件都稳步提高了PSNR和SSIM。特别是,FPN模块贡献最大。此外,添加MSE或感知损失都有利于训练的稳定性和最终结果。
在这里插入图片描述

为了额外验证FPN的效率,我们尝试创建了一个“紧凑”版的SRN,其大约具有相同的浮点运算次数(456 GFLOPs),以匹配DeblurGAN-v2 InceptionResNet-v2(411 GFLOPs)。我们在每个EBlock/DBlock中减少了2/3的ResBlock数量,同时保持其3尺度的递归结构。然后,我们在GoPro数据集上与DeblurGAN-v2(Inception-ResNet-v2)进行比较,发现这个“紧凑”版的SRN仅实现了PSNR = 28.92 dB和SSIM = 0.9324。我们还尝试使用通道剪枝[11]来减少SRN的浮点运算次数,但结果并没有变得更好。

4.7、扩展至一般图像恢复

真实世界的自然图像通常会同时经历多种类型的退化(噪声、模糊、压缩等),而最近的一些工作致力于此类联合增强任务[32,55]。我们研究了DeblurGAN-v2在一般图像恢复任务上的效果。虽然这不是本文的主要焦点,但我们旨在展示DeblurGAN-v2的通用架构优越性,特别是相对于DeblurGAN所做的修改。

我们合成了一个新的具有挑战性的Restore数据集。我们从GoPRO中选取600张图像,从DVD中选取600张图像,这两组图像都已有运动模糊(与上述相同)。然后,我们使用albumentations库[4]进一步在这些图像上添加高斯噪声和斑点噪声、JPEG压缩以及上采样伪影。最终,我们分割出8000张图像用于训练,1200张用于测试。我们训练和比较了DeblurGAN-v2(Inception-ResNet-v2)、DeblurGAN-v2(MobileNet-DSC)和DeblurGAN。如表6和图6所示,DeblurGAN-v2(Inception-ResNet-v2)在PSNR、SSIM和视觉质量上均取得了最佳表现。

在这里插入图片描述

5、结论

本文介绍了DeblurGAN-v2,这是一个强大且高效的图像去模糊框架,具有令人鼓舞的定量和定性结果。DeblurGAN-v2能够在不同的主干网络之间进行切换,从而在性能和效率之间实现灵活的权衡。我们计划将DeblurGAN-v2扩展到实时视频增强和更好地处理混合退化问题。

致谢:O. Kupyn和T. Martyniuk得到了SoftServe、Let’s Enhance和UCU的支持。J. Wu和Z. Wang得到了NSF Award RI-1755701的支持。作者感谢Arseny Kravchenko、Andrey Luzan和Yifan Jiang的建设性讨论,以及Igor Krashenyi和Oles Dobosevych在计算资源方面的支持。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

服务器数据恢复—存储硬盘坏道,指示灯亮黄色的数据恢复案例

服务器数据恢复环境&故障: 一台某品牌EqualLogic PS系列某型号存储,存储中有一组由16块SAS硬盘组建的RAID5磁盘阵列,RAID5上划分VMFS文件系统存放虚拟机文件。存储系统上层一共分了4个卷。 raid5阵列中磁盘出现故障,有2块硬盘…

5款文案生成器,帮你智能写作优秀文案

在当今数字化时代,文案写作是营销和传播领域中至关重要的一环。然而,对于许多人来说,撰写引人注目且有吸引力的文案可能是一项具有挑战性的任务。这就是为什么文案生成器变得如此受欢迎的原因。通过结合人工智能和自然语言处理技术&#xff0…

C++之STL-String

目录 一、STL简介 1.1 什么是STL 1.2 STL的版本 1.3 STL的六大组件 ​编辑 1.4 STL的重要性 二、String类 2.1 Sting类的简介 2.2 string之构造函数 2.3 string类对象的容量操作 2.3.1 size() 2.3.2 length() 2.3.3 capacity() 2.3.4 empty() 2.3.5 clear() 2.3.6…

JDBC查询大数据时怎么防止内存溢出-流式查询

文章目录 1.前言2.流式查询介绍3.使用流式查询3.1不开启流式查询的内存占用情况3.2开启流式查询的内存占用情况 4.开启流式查询的注意点 1.前言 在使用 JDBC 查询大数据时,由于 JDBC 默认将整个结果集加载到内存中,当查询结果集过大时,很容易…

【项目】YOLOv8/YOLOv5/YOLOv9半监督ssod火灾烟雾检测(YOLOv8_ssod)

假期闲来无事找到一份火灾烟雾数据集,自己又补充标注了一些,通过论文检索发现现在的火灾检测工作主要局限于对新场景的泛化性不够强,所以想着用半监督,扩充数据集的方法解决这个问题,所以本文结合使用现在检测精度较高…

Canal入门使用

说明:canal [kə’nl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费(官方介绍)。一言以蔽之,Canal是一款实现数据同步的组件。可以实现数据库之间、数…

网络相关知识总结

1、网口设置 网口设置IP,即操作/etc/sysconfig/network-scripts路径下的ifcfg-xx文件 主要参数详解: DEVICE:网口名 ONBOOT:表示启动系统时是否激活网卡,yes为激活,no不激活 HWADDR:mac值 DEFROUTE://默认路由设置…

[C++基础学习]----01-C++数据类型详解

前言 C是一种静态类型的编程语言,它提供了丰富的数据类型来存储和操作数据。这些数据类型为C程序员提供了丰富的选择,可以根据具体需求来选择最合适的类型来存储和操作数据。下面详细解释一些常见的C数据类型,包括其原理和使用方法&#xff1…

ADOP带您科普什么是光纤网卡,它跟普通网卡有什么区别?

光纤网卡,也称为网络适配器或网络接口卡(NIC),是一种用于将计算机和服务器等设备连接到数据网络的硬件设备。它通常装有一个或多个端口,可以通过这些端口连接不同类型的网络线缆,如RJ45接口的网络跳线或SFP…

云贝餐饮连锁V2-2.9.9源码

云贝餐饮连锁V2独立版、版本更新至2.9.9,小程序、公众号版本,全插件,公众号小程序端,独立版; 带商家端,修复收银台、排队点餐、堂食点餐;最新版更新 搭建环境教程: 系统环境:CentO…

Wi-Fi HaLow:重塑物联网的未来

Wi-Fi HaLow:引领物联网连接的革命 数字时代的蓬勃发展正在引发一场深刻的变革,物联网已经融入到我们的日常生活和工作中,成为不可或缺的一部分。随着新一代Wi-Fi技术一Wi-Fi HaLow的崭露头角,有望在2024年及未来,重新…

stm32f4单片机强制类型转换为float程序跑飞问题

如题,在一个数据解析函数中使用了*(float *)&data[offset],其中data为uint8类型指针,指向的value地址为 可以看到地址0x20013A31非对齐,最终在执行VLDR指令时导致跑飞 VLDR需要使用对齐访问 跑飞后查看SCB寄存器发现确实是非…

磁盘未格式化,数据恢复大揭秘

一、磁盘未格式化现象概述 在日常使用电脑的过程中,我们有时会遇到磁盘未格式化的提示,这意味着我们的磁盘突然间变得不可识别,所有的数据和文件都似乎消失了。这种情况常常发生在外接硬盘、U盘等存储设备上,给我们的工作和生活带…

LC 142. 环形链表 II

142. 环形链表 II 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评…

C++ ─── 隐式类型转换、static成员、友元、内部类

目录 1. explicit关键字 2. static成员 2.1 概念 2.2 特性 3. 友元 3.1 友元函数 3.2 友元类 4. 内部类 5. 再次理解类和对象 1. explicit关键字 构造函数不仅可以构造与初始化对象,对于接收单个参数的构造函数,还具有类型转换的作用。接收单个…

基因组组装:NextDenovo2 使用大全

简介 NextDenovo 是一种针对长序列读取(包括CLR和ONT技术)的新型基因组组装工具。它采取了一种“先校正错误再进行组装”的方法,这与canu工具类似,但对于PacBio HiFi读取数据则无需进行校正。相较于其他工具,NextDenov…

使用 Vitepress 构建博客并部署到 github 平台

前言 最近写了好多篇 Chrome 浏览器插件相关的文章,有十几二十篇,就想着构建个博客,用来放置相应的文章。 正好前段时间看到 VitePress 1.0.0 发布了,而且是用 markdown 写文章,正好写插件文章的时候文章都是 md 格式…

达梦数据查询语句不带模式名称,报错无效的表或视图名[某某表]

[执行语句1]: select * from sys_config 执行失败(语句1) -2106: 第2 行附近出现错误: 无效的表或视图名[SYS_CONFIG]1条语句执行失败 解决方案: 保证模式名和用户名一致,而且你当前登录的用户要和模式名一致 把用户换成一样的,查询就可以不 …

如何利用 GPT 自我提高写作能力

GPT革命:如何用AI技术重新定义写作 介绍 在我们的数字时代,了解自我提高写作的必要性至关重要。 随着 GPT 的兴起,我们正在见证书写的变革时代。 这篇扩展文章深入探讨了 GPT 如何显着提高写作技能。 拥抱未来: 人工智能时代的写…

HarmonyOS 应用开发——入门

首先当然是华为的官方文档了,要认真学习: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/start-overview-0000001478061421-V2 不想花时间看,可以看我下面总结的干货,哈哈 第一个问题:stage架构和fa架构的区…