没有合适的资源?快使用搜索试试~ 我知道了~
Ali Maleky1,3,*, Shayan Kousha1,3,∗, Michael S. Brown3, Marcus A. Brubaker1,2,3KLD=0.0621KLD=0.0152KLD=0.0059Camera NLFNoise FlowNoise2NoiseFlowReal noiseClean imageKLD=0.0707KLD=0.0148KLD=0.0074DnCNN-supervisedNoise2Noise+DnCNNNoise2NoiseFlowNoisyClean imagePSNR=53.65PSNR=54.18PSNR=55.80PSNR=51.07PSNR=51.31PSNR=53.40PSNR=55.80176320Noise2NoiseFlow:无需干净图像的真实相机噪声建模01约克大学2Vector研究所3三星AI中心-多伦多0摘要0图像噪声建模是计算机视觉中一个长期存在的问题,对许多应用具有重要意义。早期的尝试提出了一些简单的模型,如独立于信号的加性白高斯噪声或异方差高斯噪声模型(又称为相机噪声水平函数),但这些模型不足以学习相机传感器噪声的复杂行为。最近,提出了更复杂的基于学习的模型,在噪声合成和去噪等下游任务中取得了更好的结果。然而,它们对监督数据(即成对的干净图像)的依赖是一个限制因素,鉴于生成真实图像的挑战。本文提出了一种框架,可以同时训练噪声模型和去噪器,而只需一对噪声图像,而不是噪声/干净配对图像数据。我们将这个框架应用于NoiseFlow架构的训练。噪声合成和密度估计结果表明,我们的框架优于以前基于信号处理的噪声模型,并与其监督对应物相当。训练的去噪器也显著改进了监督和弱监督基线去噪方法。结果表明,联合训练去噪器和噪声模型可以显著改善去噪器。01. 引言0图像噪声建模是计算机视觉中一个长期存在的问题,对许多应用具有重要意义[6, 9, 10, 21, 22,29]。最近,基于深度学习的数据驱动噪声模型已经被提出[2, 12,23]。不幸的是,这些模型通常需要干净(即无噪声)图像,而在实际场景中收集这些图像是具有挑战性的[1]。在这项工作中,我们提出了一种新的方法,Noise2NoiseFlow,可以准确地学习噪声模型,而无需干净图像。相反,只需要一对固定场景的噪声图像。虽然在拍摄过程中会努力减少噪声,但后期建模是许多领域的关键部分,例如天文摄影和医学成像。因此,在许多成像领域中,噪声是信号捕获的一个重要且显著的部分,准确建模噪声至关重要。例如,噪声模型估计对于消除CMOS传感器的固定模式效应[11]和增强极低光条件下的视频[32]是必要的。噪声0* 本文作者为三星AI中心-多伦多的实习生期间完成的工作。0噪声模型0去噪器0噪声图像对0Noise2NoiseFlow0图1.Noise2NoiseFlow的概述。(顶部)给定相同场景的噪声图像对,Noise2NoiseFlow同时训练噪声模型和去噪器。(中部)与SIDD数据集中的真实噪声相比,Camera NLF、NoiseFlow和Noise2NoiseFlow产生的噪声在视觉上和KL散度上都最相似,但不需要干净的无噪声图像。(底部)联合训练的去噪器的示例去噪结果与其监督的DnCNN基线以及使用Noise2Noise损失训练的DnCNN进行比较。0下游任务和许多领域中,大量的噪声是问题的固有部分,例如天文摄影和医学成像。因此,噪声是许多成像领域中信号捕获的一个重要且显著的部分,准确建模噪声至关重要。例如,噪声模型估计对于消除CMOS传感器的固定模式效应[11]和增强极低光条件下的视频[32]是必要的。噪声176330模型也可以用来训练下游任务,以在存在现实输入噪声的情况下具有鲁棒性。最自然的是,它们还可以用来训练噪声降低算法,而无需收集干净和噪声图像对[2, 26,38]。然而,正如[3, 31,39]中所提到的,使用不现实的噪声模型(例如简单的高斯噪声)训练的去噪器可能在真实数据上表现不佳。早期的噪声建模尝试有限,并未完全捕捉到真实噪声的特征。简单的独立同分布高斯噪声(也称为同方差高斯噪声)忽略了光子噪声与信号相关的事实。异方差高斯噪声(例如[9])通过将噪声方差建模为干净图像强度的线性函数来捕捉这一点,但未考虑噪声功率的空间非均匀性、放大噪声、量化效应等。最近,提出了一种新的参数结构NoiseFlow[2],它使用条件归一化流来模拟相机成像管道中的噪声。该模型是无条件和有条件变换的组合,将简单的高斯噪声映射到更复杂、信号、相机和ISO相关的噪声分布,并在归一化流[17]框架中大幅优于以前的基线。然而,它需要监督的噪声数据,即成对的干净和噪声图像,以学习噪声模型。不幸的是,收集包含相应干净和噪声图像的监督数据可能具有挑战性[1, 3, 28,34],这是噪声真实特性的限制因素。对于其他下游任务来说,情况甚至更糟,这些任务通常需要大量的训练数据。特别是在图像去噪的情况下,近年来对避免需要监督数据(无论是通过精心收集还是合成)的方法引起了极大的兴趣。著名的BM3D方法[8]提出了一种基于变换域表示的去噪方案,而无需干净图像对应。然而,类似的块搜索步骤使得大规模数据集的推理时间复杂度低效。最近,Lehtinen等人[20]引入了Noise2Noise框架,允许在相同基础图像信号的噪声图像对中训练去噪器。在这项工作之后,还提出了其他几种旨在进一步减少数据需求的方法,特别是Noise2Void[18]和Noise2Self[4],它们允许仅使用单个噪声图像训练去噪器,通过强制去噪器仅使用其邻居预测每个像素的强度。其他方法尝试向噪声输入图像添加额外的噪声[25, 27,35],或者在GAN框架中使用非配对图像[5, 7,13-15]。然而,在所有情况下,这些方法主要针对去噪而不是噪声建模。在这项工作中,我们旨在利用这些最近在无直接监督训练去噪器方面的进展。0噪声建模的一个具体扩展是将Noise2Noise框架扩展为使用独立采样的噪声图像对而不是干净数据来训练噪声模型。得到的方法称为Noise2NoiseFlow,如图1所示,它既产生去噪器,又产生显式的噪声模型,两者在性能上与或优于完全监督训练的单个模型。02. 背景0图像噪声可以被描述为添加到底层干净信号中的不良干扰。形式上,0˜I = I + N,(1)0其中I是底层且大部分未观察到的干净图像,N是破坏信号的不希望的噪声,它们相加的结果是噪声观察˜I。不同的噪声模型由对N的分布的选择定义。广泛使用的噪声模型假设N(x, y)�N(0,σ^2),即每个像素的噪声是从一个均值为零、方差固定的高斯分布中抽取的。这个模型通常用于训练和测试去噪器;然而,它无法捕捉到真实噪声的重要方面,尤其是信号相关的方差,这是固有的泊松射线噪声的结果[22,24]。对此的一个显著改进是异方差高斯噪声(HGN)[9,10,22],它假设每个像素的噪声方差是干净图像强度的线性函数。即N(x, y)�N(0, σ^2(I(x, y))),其中σ^2(I) = β1I +β2,β1、β2是参数。这个模型有时也被称为“噪声水平函数”(NLF)。最近的研究表明,相机制造商的NLF参数通常校准不良[38];然而,NLF忽略了重要的噪声特征,包括空间相关性、缺陷像素、剪切、量化等。为了解决这些独立于像素的、基于高斯的噪声模型的局限性,Abdelhamed等人提出了NoiseFlow模型[2],这是一个基于条件归一化流的参数化噪声模型,专门设计用于捕捉相机成像流水线中的不同噪声成分。特别地,NoiseFlow可以看作是HGN的严格推广,因为它使用了一个信号相关的变换层。然而,与HGN不同,NoiseFlow能够捕捉到非高斯分布和复杂的空间相关性。最近,DeFlow模型[33]被提出来处理传统噪声之外的更广泛的图像退化。其他方法考虑使用混合模型或生成对抗网络(GAN)来模拟噪声和干净图像,用于去噪器训练的背景[5, 7,12-15,40]。然而,这些模型通常侧重于去噪而不是噪声建模。此外,L(D(˜I(i); θ), I(i)),(2)L(D(˜I(i)1 ; θ),˜I(i)2 ) + L(D(˜I(i)2 ; θ),˜I(i)1 ) .(3)3. Noise2NoiseFlow176340GAN没有可计算的似然函数,因此很难评估合成噪声的质量。最重要的是,上述方法需要干净图像,以及用于训练的噪声和对应的干净图像对。在这项工作中,我们构建了一个明确训练噪声模型而无需干净图像的公式。由于归一化流框架的灵活性和通用性以及其结果的质量,我们将重点介绍噪声流模型[2],尽管如我们将讨论的,其他选择也是可能的。02.1. 图像去噪0图像降噪一直是计算机视觉领域的研究课题[6, 8, 19, 21,29,37]。在这里,我们关注最近通过利用大规模训练集和深度学习架构取得成功的方法[36]。这些方法的特点是通过卷积神经网络通常回归从噪声图像观察到其干净对应物。给定一个训练集D = {(˜I(i),I(i))}Ni=1,其中˜I是噪声图像,I是对应的干净图像,学习去噪器D的目标是最小化0N0其中 L 通常是 L 1 或 L 2 范数,D 是具有参数 θ的深度神经网络。这种方法的局限性在于需要访问相应的干净图像I,最近已经探索了几种显著的方法来消除这个要求。与本工作最相关的是Lehtinen等人提出的Noise2Noise框架[20]。该框架不需要干净/噪声图像对,只需要两个相同基础干净信号的噪声观测。给定一组噪声图像对 { ( ˜ I ( i ) 1 , ˜ I ( i )2 ) } N i =1,Noise2Noise框架优化损失函数0N0也就是说,第二个噪声图像被用作第一个去噪器的目标,反之亦然。令人惊讶的是,尽管没有干净图像的访问权限,使用这个目标进行训练仍然能够产生高质量的去噪结果[20]。在这项工作中,我们的目标是探索这种方法对噪声建模的泛化能力。0在本节中,我们定义了通过仅使用一对噪声图像来学习噪声模型的方法。主要有两个组成部分,一个去噪器 D ( ∙ ; θ ),它学习预测干净图像0给定一个噪声图像 ˜ I 作为输入,以及一个给定干净图像 I的噪声图像模型 p ˜ I ( ∙| I ; ϕ)。去噪器和噪声模型分别具有参数 θ 和ϕ。我们的目标是学习分布 p ˜ I ( ˜ I | I),即噪声图像在给定干净图像的条件下的分布,而不需要显式地要求I。为了做到这一点,我们建议使用去噪器的输出作为干净图像的估计,即 I ≈ ˆ I = D ( ˜ I ; θ)。原则上,我们可以通过最小化 − log p ˜ I ( ˜ I | ˆ I ; ϕ )来学习 p ˜ I,其中 ϕ是噪声模型参数。然而,这需要一个训练良好的去噪器,而训练良好的去噪器通常需要访问干净图像进行训练。此外,如果我们尝试同时训练去噪器和噪声模型,会出现一个平凡的奇异最优解,其中去噪器收敛到恒等变换,噪声模型收敛到零的Diracdelta函数。受到Noise2Noise框架的启发[20],我们假设我们可以访问一对噪声观测 ˜ I 1,˜ I2,它们都具有相同的基础干净信号 I。也就是说,˜ I 1 = I+ N 1,˜ I ( i ) 2 = I + N 2,其中 N 1 和 N 2是独立的噪声样本。然后,给定噪声图像对,我们可以使用去噪器将一个图像的估计作为另一个图像的干净图像。也就是说,我们建议优化损失函数0L nm ( ˜ I 1 , ˜ I 2 ) = − log p ˜ I ( ˜ I 1 | D ( ˜ I 2 ; θ );ϕ ) − log p ˜ I ( ˜ I 2 | D ( ˜ I 1 ; θ ); ϕ ) (4)对于噪声模型参数 ϕ 和去噪器参数 θ。因为这两个图像是同一场景的,去噪器的输出理想情况下应该对两个噪声图像都是相同的。然而,由于这两个图像具有独立的噪声样本,去噪器不能简单地收敛到恒等变换。这类似于Noise2Noise目标函数,在该目标函数中,一个图像上去噪器的输出被用作另一个图像的目标。实际上,我们发现将Noise2Noise目标函数与噪声模型目标函数一起使用有助于稳定去噪器的训练。也就是说,我们建议使用损失函数L ( ˜ I 1 , ˜ I 2 ) = L nm ( ˜ I 1 , ˜ I 2 ) + λ L dn ( ˜ I 1 , ˜ I2 ) 来联合训练去噪器和噪声模型,其中0Ldn(˜I1, ˜I2) = ∥D(˜I1; θ) - ˜I2∥22 + ∥D(˜I2; θ) - ˜I1∥22 (5)0是Noise2Noise损失。给定一组噪声图像对的数据集,D ={(˜I(i)1, ˜I(i)2)}Ni=1,我们优化损失函数在一组对中。0i=1 L(˜I(i)1,˜I(i)2),0其中优化可以使用随机优化器完成。在这项工作中,我们使用Adam [16]。01请注意,这等价于通过将噪声分布移动到干净图像来学习噪声相对于干净图像的分布。Noisy image ෩𝐼1Noisy image ෩𝐼2Denoised image 𝐼2 = D(෩𝐼2)Estimated noise 𝑁1 = ෩𝐼1 − 𝐼2Estimated noise 𝑁2 = ෩𝐼2 − 𝐼1,,176350去噪网络D(例如,DnCNN,U-Net)0噪声模型�0(例如,Noise Flow,高斯模型)0去噪图像��1 = D(��1)0Noise2Noise0损失0Noise2Noise0损失0噪声建模0损失0图2.提出的Noise2NoiseFlow框架的训练损失概述。给定一对相同基础信号的独立噪声样本,它将两个噪声样本都通过去噪网络D运行,该网络输出估计的干净信号。然后,我们使用第一个图像中的估计干净图像代替第二个噪声观测的真实干净信号,反之亦然。这样可以防止去噪器崩溃成退化解的恒等变换。请注意,虽然在论文中我们将噪声模型定义为噪声图像˜I的分布,但如图所示,通常将噪声模型表示为残差噪声N = ˜I- I的分布。这两种表述是等价的。0图2显示了所提出方法的概述。我们注意到,该公式适用于选择去噪器和噪声模型,只要噪声模型的密度函数可以进行评估,并且噪声模型和去噪器都可以根据需要进行微分。在接下来的实验中,我们主要使用DnCNN架构[36]作为去噪器,因为它是一种基于残差连接和卷积层的标准去噪器架构。对于噪声模型,我们主要关注NoiseFlow[2],因为它具有灵活性和可追踪性,因此我们将我们提出的方法称为Noise2NoiseFlow。然而,我们还探索了其他选择,例如U-Net架构用于去噪器和异方差高斯噪声模型。04. 实验0在这里,我们探索了提出的Noise2NoiseFlow方法的性能。为此,我们利用智能手机图像去噪数据集(SIDD)[1]评估我们学习到的噪声模型和图像去噪器的准确性。SIDD包含10个不同场景的图像,包括各种对象和照明条件,这些图像是使用五个不同的智能手机相机在不同的ISO级别下拍摄的。为了为每个噪声图像生成相应的“干净”图像,对每个场景实例进行了多次拍摄并进行了精确对齐。虽然我们提出的方法不需要用于训练的干净图像,但我们确实利用它们对一系列基准方法进行定量评估,包括需要干净图像监督的方法。在这里,我们使用SIDD的两个不同子集,即SIDD-Full和SIDD-Medium。虽然SIDD提供了sRGB和rawRGB两种格式的图像0图像,这里我们只考虑原始RGB图像。SIDD-Full为每个对应的干净图像提供了150个不同的噪声捕获图像。相比之下,SIDD-Medium只包含每个干净图像的一个噪声图像。为了从SIDD-Full中提取我们方法训练所需的相同干净信号的噪声/噪声图像对,我们选择与同一干净图像对应的噪声图像对。为了最大化所选两个图像之间的对齐,我们从SIDD-Full中每个场景的150个可用图像中选择连续的图像。0我们使用SIDD-Medium来评估我们方法的性能。具体而言,虽然我们使用从SIDD-Full中提取的噪声/噪声图像对进行训练,如上所述,但我们使用SIDD-Medium中的噪声/清晰图像对来评估去噪器D(∙)和噪声模型p�I(∙|I)的性能。为了将Noise2NoiseFlow与我们的基线进行比较,我们使用SIDD-Medium中的有监督的噪声/清晰图像对。将(�I,I)表示为噪声/清晰图像对,我们使用每个维度的负对数似然D-1 logp�I(�I|I;ϕ)来评估噪声建模,其中D是输入中的总维度(像素和通道)。负对数似然是生成模型和密度估计的标准评估指标,但已知对于过度估计分布方差的分布不敏感。为了解决这个问题,我们还使用了在[2]中引入的Kullback-Leibler(KL)散度度量来评估模型。负对数似然和KL散度都以nats为单位报告。具体而言,给定一个噪声和清晰图像,我们通过减去清晰图像并计算两个直方图之间的KL散度来计算真实噪声和模型生成的噪声。详见[2]。176360有关此度量的更多详细信息。为了评估去噪器,我们计算峰值信噪比(PSNR)和结构相似性指数(SSIM)。SIDD包含ISO级别从50到10,000的场景;然而,许多ISO级别只有少量的图像可用。为了与使用SIDD进行噪声建模的其他方法保持一致,例如[2],我们删除了具有罕见ISO级别的图像,只保留ISO级别为100、400、800、1600和3200的图像。在过滤后,我们提取了大约500,000个大小为32×32像素的补丁。提取的补丁使用与[2]中使用的SIDD场景的训练和测试划分相同的训练和测试集进行分离。大约70%的提取补丁用于训练,其余的用于测试。我们使用Adam优化器[16]进行了2,000个epoch的训练。除非另有说明,否则在所有实验中我们使用λ =2^18的值。为了加快收敛速度并避免早期训练不稳定,我们使用Ldn仅在训练集上对去噪器D进行了预训练。NoiseFlow噪声模型和DnCNN去噪器的架构与[2]中的相同,但两者都在PyTorch中重新实现,并验证其产生与原始NoiseFlow实现相等的结果。04.1. 噪声建模0我们首先将我们提出的方法与传统的噪声模型进行了定量比较,这些模型是通过使用有监督的清晰图像进行校准的。表1将我们的模型与相机噪声级别函数(Cam-NLF),简单的加性白高斯噪声模型(AWGN)和Noise Flow[2]进行了比较。尽管只有访问一对噪声图像,但所提出的Noise2NoiseFlow与训练在清晰/噪声图像对上的最先进的NoiseFlow模型具有几乎相同的性能。为了证明联合训练的好处,我们训练了一个Noise2Noise去噪器[20],使用这个去噪器对图像进行去噪,然后用于训练NoiseFlow。我们将其称为“N2N+NF”。我们还将结果与最近发布的“校准的泊松-高斯”噪声模型进行了比较,该模型在[38]中进行了描述。这个比较的结果以KL散度的形式在表2中给出,该模型仅针对三种不同的传感器(iPhone7、三星Galaxy S6 Edge和GooglePixel)包含噪声参数。显然,虽然校准的P-G模型改进了相机内噪声级别函数,但它仍然落后于NoiseFlow和Noise2NoiseFlow。我们再次看到,所提出的Noise2NoiseFlow优于这个非常新的方法。图3显示了由Noise2NoiseFlow生成的定性噪声样本,以及与真实噪声进行比较的其他基线。这些样本是为不同的相机生成的。0模型 NLL D KL0AWGN -2.874 0.4815 相机NLF-3.282 0.0578 N2N+NF -3.4590.0363 噪声流 -3.502 0.02670Noise2NoiseFlow -3.501 0.02650表1.基准模型和我们提出的Noise2NoiseFlow模型在测试数据上的每个维度的负对数似然和DKL结果。Noise2NoiseFlow在AWGN和相机NLF上有显著改进,并且与噪声流模型相当,同时不需要干净图像。它还改进了分别训练Noise2Noise去噪器和NoiseFlow(N2N+NF)的结果,证明了联合训练的价值。0IP S6 GP 综合0AWGN 0.4353 0.4863 0.5865 0.4934 相机NLF 0.05130.1014 0.0212 0.0596 校准P-G 0.0188 0.0981 0.03320.0492 噪声流 0.0112 0.0469 0.0180 0.02500Noise2NoiseFlow 0.0125 0.0444 0.0190 0.02490表2.我们的模型Noise2NoiseFlow与基准模型在三个相机传感器上的KL散度性能对比,其中校准P-G模型也定义了这三个传感器的测试数据的综合结果。0不同相机、ISO水平和场景。从这些图像可以看出,Noise2NoiseFlow的结果在视觉和定量上都优于其他基准模型,特别是在低光/高ISO环境下,其他基准模型表现不佳。04.2. 噪声降低0尽管这项工作的主要目标是噪声建模,但它也包括作为关键组成部分的去噪器。在这里,我们通过评估其在保留测试集上的PSNR性能来研究去噪器的性能。我们与三种情况进行了比较,结果在表3中报告。在所有情况下,都使用了完全相同的DnCNN架构。首先,我们仅使用Noise2Noise[20]损失训练了相同的去噪器架构D。这在表4中显示为“Noise2Noise+DnCNN”,表明联合噪声模型训练确实将去噪性能提高了1.2dB以上,这是PSNR上的显著改进。其次,我们使用相应的干净图像补丁训练了一个有监督的DnCNN模型;这在表中被标记为“DnCNN-supervised”。尽管没有干净图像,Noise2NoiseFlow的性能仍然比这个基准模型提高了近1.5dB。事实上,Noise2Noise+DnCNN和Noise2NoiseFlow都优于这个基于干净图像的有监督基准模型,这表明KLD=0.3342KLD=0.0046KLD=0.0061KLD=0.0254KLD=0.0031KLD=0.7670KLD=0.0452KLD=0.0237KLD=0.0163KLD=0.0145KLD=0.2464KLD=0.0081KLD=0.0293KLD=0.0074KLD=1.5621KLD=0.1239KLD=0.0691KLD=0.0230KLD=0.0200KLD=2.9422KLD=0.1580KLD=0.1768KLD=0.0988KLD=0.0731KLD=1.303KLD=0.1063KLD=0.1653KLD=0.0447KLD=0.0245176370(a) 高斯 (b) 相机NLF (c) 校准P-G (d) 噪声流 (e) Noise2NoiseFlow (f) 真实噪声 (g) 干净图像0IP–100-N0IP–400-L0N6–800-N0S6–1600-N0不0可用0S6–3200-N0S6–3200-L0图3. (a) AWGN模型,(b) 相机NLF,(c) 校准P-G [38],(d) 噪声流[2]和我们提出的方法Noise2NoiseFlow的噪声合成样本,与SIDD中的(f)真实噪声进行比较。我们的样本在视觉感知和KL散度度量上更接近真实噪声。左侧的代码表示[相机]-[ISO]-[亮度]。对于校准P-G[38],SIDD的校准参数仅包括三个相机传感器(IP、GP和S6),因此某些合成结果不可用。0噪声图像对中可用的数据种类增加似乎比获取干净图像更有价值。我们还训练了一个有监督的NoiseFlow模型,并使用从该模型生成的样本来训练DnCNN去噪器。我们将这个基准称为“DnCNN - NFsynthesized”。与噪声流论文[2]中报告的结果一致,“DnCNN - NFsynthesized”优于“DnCNN-supervised”基准。然而,它仍然明显不及Noise2NoiseFlow。0图4显示了Noise2NoiseFlow和上述基线的定性去噪结果。结果显示,我们的模型在去噪方面表现更好,特别是在更严重的情况下(高ISO和低亮度)。估计的干净信号往往更加平滑和干净。0与两个基线相比,Noise2NoiseFlow在视觉感知和几乎所有情况下的PSNR方面都比较平滑和干净。综上所述,我们的结果表明,同时训练显式噪声模型和去噪器不仅可以进行弱监督训练,还可以改善估计的去噪器。04.3.消融研究0接下来,我们研究了我们框架的设计选择及其对结果的影响。首先,我们对λ的值进行了消融实验,λ是Noise2Noise损失的权重因子。我们尝试了从λ=0到λ=218的一系列值。对于每个值,我们计算了每个维度的负对数似然和去噪器的PSNR。PSNR=51.91PSNR=51.14PSNR=53.16100-N(b) DnCNN-supervised(c) Noise2Noise+DnCNN(d) Noise2NoiseFlow(a) Noisy(e) CleanPSNR=50.20PSNR=51.07PSNR=52.81400-NPSNR=47.88PSNR=47.77PSNR=50.10800-LPSNR=50.07PSNR=50.02PSNR=51.16800-NPSNR=43.32PSNR=43.46PSNR=47.391600-NPSNR=58.36PSNR=58.56PSNR=59.39400-LPSNR=51.15PSNR=51.81PSNR=53.041600-LNoise2Noise+DnCNN51.570.977DnCNN-supervised51.320.980DnCNN - NF synthesized51.710.9802.502.252.001.751.501.25NLL/dim47484950515253PSNRcross-sample lossself-sample loss0 20262112162172183.503.483.463.44cross-sample lossself-sample loss0 202621121621721830.032.535.037.540.042.5176380图4.来自SIDD-Medium测试数据的(b) DnCNN-supervised,(c)Noise2Noise与DnCNN训练,(d)Noise2NoiseFlow的去噪结果。左侧的代码表示ISO级别和光照条件。0模型 PSNR SSIM0Noise2NoiseFlow(我们的方法) 52.80 0.9840表3.使用SIDD-Medium的有噪声/干净对训练的DnCNN,使用有噪声/无噪声图像对训练的Noise2Noise,使用从有监督噪声流模型生成的噪声样本对训练的DnCNN,以及使用相同有噪声/有噪声数据训练的我们的去噪器模型的去噪结果,通过测试集上的PSNR和SSIM进行度量。0结果如图5所示,我们的结果对λ的选择相对稳健。λ=0时,结果仍然合理,但是λ较大时,结果更好。这表明方程5中的Noise2Noise损失在训练中起到了重要的稳定作用,并确保了去噪器的一致性。接下来,我们考虑了一种不同形式的损失函数0图5.作为正则化项λ的函数的负对数似然和PSNR结果在测试数据上的表现。Cross-sampleloss表示使用方程4进行训练,self-sampleloss表示使用方程6进行训练。十字标记表示在训练失败的情况下,即负对数似然和PSNR出现突变的情况下,最后一个时期的损失。所有使用self-sample loss和λ≤216的实验最终发散。0在噪声模型损失函数中,我们使用基于˜I1的估计干净图像作为数据。具体而言,我们使用噪声模型目标函数0L nm (˜I1, ˜I2) = -log p˜I(˜I1 | D(˜I1; θ); ϕ) - log p˜I(˜I2 |D(˜I2; θ); ϕ)(6),而不是方程4中提出的模型。我们将基于这个模型的训练称为self-sample loss,与cross-sampleloss相比。虽然这个改变看似无害,但基于方程6的训练非常不稳定。在这种情况下,去噪器可能会收敛到一个退化的解,即D(˜I) = ˜I,这使得噪声模型p˜I收敛到一个Diracdelta,而L nm (˜I1,˜I2)的值趋于负无穷。这种行为可以通过较大的λ值来缓解,如图5所示,其中λ的设置导致训练发散的情况用十字标记表示。如图所示,λ小于217的值会导致这种行为。相比之下,方程4中提出的损失函数对λ的选择是稳健的,甚至允许使用λ=0进行训练,从而完全禁用方程5中的L dn项。我们还尝试了更高的λ值(例如219),但没有观察到显著的行为变化。我们还尝试了不同的去噪器架构和噪声模型,因为我们的框架对这些具体选择是不可知的。对于去噪器,除了DnCNN架构,我们还考虑了在[20]中使用的U-Net[30]去噪器架构。对于噪声模型,除了基于噪声流的模型,我们还考虑了由于其普遍性而使用的异方差高斯噪声模型或噪声水平函数(NLF)。我们将NLF实现为噪声流架构的一个变体。具体而言,我们只采用噪声流模型的信号相关和增益层,而没有其他流层,这样得到的模型等效于NLF。Noise Flow-3.5020.0267N/ANoise2NoiseFlow-3.5010.026552.80R2RFlow-3.4430.098350.08the Noise Flow model for p˜I and report the results in Ta-ble 5, with this variation labelled as R2RFlow and com-pared against a clean-image supervised Noise Flow modeland the noisy-pair supervised Noise2NoiseFlow. The re-sults indicate that the R2RFlow approach yields a reason-able noise model, though significantly below the perfor-mance of Noise2NoiseFlow, particularly in terms of denois-ing. However, the experiment is enticing and suggests thatthis is a promising direction for future work.176390去噪器 噪声模型 NLL D KL PSNR0DnCNN Noise Flow -3.501 0.0265 52.80 U-NetNoise Flow -3.500 0.0255 52.64 DnCNN NLF-3.461 0.0288 52.69 U-Net NLF -3.463 0.033252.130表4.在我们的消融模型的测试数据上的性能。每一行对应于噪声模型和去噪器架构的特定选择。NLF是我们修改的异方差高斯模型的实现,作为一个双射的归一化流变换。0这个实验的结果可以在表4中找到,该表报告了每个维度的负对数似然、KL散度度量和生成的噪声模型和去噪器的PSNR。结果表明,去噪器架构的选择并不特别重要。无论是U-Net还是DnCNN,对于噪声模型的两种选择,它们都产生了类似的结果。然而,我们看到使用NoiseFlow模型而不是异方差高斯噪声模型确实提供了噪声建模和去噪性能的提升。此外,与最近在其他地方报告的结果一致[38],我们看到重新训练的异方差高斯噪声模型可以胜过相机制造商提供的参数。04.4. 使用单个噪声图像进行训练0在这里,我们提出了一种新颖的噪声模型训练方法,通过将噪声模型的训练与去噪器的训练相结合,基于Noise2Noise框架。这自然引发了一个问题,即是否可以仅使用单个噪声图像来训练噪声模型,特别是考虑到这些方法对于去噪器的成功。所有这些方法的目标都是防止去噪器陷入退化解的恒等变换解决方案,类似于上面在方程6中使用的另一种损失形式的行为,要么使用盲点网络架构(例如Noise2Void[18]和Noise2Self[4]),要么在输入图像中添加额外的噪声(例如Noisier2Noise [25],Noisy-as-Clean [35]和R2R[27])。为了研究这个想法,我们考虑使用R2R[27]框架,给定一个单个噪声图像˜I,生成两个新的噪声图像,如下所示:0˜ I 输入 = ˜ I + D T z , ˜ I 目标 = ˜ I − D − 1 z ,(7)0其中z是从N(0,I)中抽取的,D =αI是一个可逆矩阵,其中α是尺度参数。我们修改我们的损失函数以利用这些新图像,使Lnm = -log p˜ I (˜ I | D(˜ I 输入))和L dn = ∥˜ I 目标 - D(˜ I 输入)∥2 2,并通过优化L = Lnm + λL dn 进行训练,如上所述。我们对D使用相同的DnCNN架构,对p˜ I 使用NoiseFlow模型,并在表5中报告结果,将这种变化标记为R2RFlow,并与基于干净图像监督的NoiseFlow模型和基于噪声对监督的Noise2NoiseFlow进行比较。结果表明,R2RFlow方法得到了一个合理的噪声模型,但在去噪方面明显低于Noise2NoiseFlow的性能。然而,这个实验是令人鼓舞的,并且表明这是未来工作的一个有希望的方向。0模型 NLL D KL PSNR0表5.在我们提出的R2RFlow公式的测试数据上的性能,该公式仅需要单个噪声样本,不需要任何形式的监督,与Noise2NoiseFlow(弱监督)和Noise Flow模型(有监督)进行比较。05. 结论和未来工作0我们引入了一个新的框架,用于联合训练噪声模型和去噪器,不需要干净图像数据。我们的实验结果表明,即使没有相应的干净图像,仅使用一对噪声图像进行训练,噪声建模性能基本相同。我们相信,这种方法可以通过减少收集干净图像数据的需求来提高现实世界场景中现有噪声模型的实用性,这可能是一个具有挑战性、繁琐和耗时的过程,并且在某些情况下可能不可能,例如医学成像。此外,联合训练显示出与单独训练去噪器相比的去噪性能的提升。我们假设这是由于增加了噪声图像的数量,并且噪声建模可以为去噪提供有用的反馈。虽然在没有干净图像数据的情况下训练噪声模型是朝着更实用的噪声模型迈出的重要一步,但我们提出的方法仍然需要配对的噪声图像。我们相信,可能还可以进一步训练一个纯粹无监督的噪声模型,即不需要干净图像或噪声图像对。我们对R2R框架[27]进行的初步实验表明,这可能是可行的,但还有更多的工作要做。本文的代码可在以下网址找到:https://yorkucvil.github.io/Noise2NoiseFlow/。0致谢:本工作是在加拿大多伦多三星人工智能中心实习期间完成的。AM的实习资金由MitacsAccelerate资助。SK和AM的学生资助部分来自于加拿大第一研究卓越基金的Vision: Science to Applications (VISTA)计划和NSERCDiscovery Grant。176400参考文献0[1] A. Abdelhamed, S. Lin, and M. S. Brown,“用于智能手机相机的高质量去噪数据集”,CVPR,2018年。1,2,40[2] A. Abdelhamed, M. A. Brubaker, and M. S. Brown,“噪声流:条件正则化流的噪声建模”,ICCV,2019年。1,2,3,4,5,60[3] J. Anaya and A. Barbu,“Renoir:用于真实低光图像降噪的数据集”,视觉通信与图像表示杂志,第51页,第144-154页,2018年。20[4] J. Batson
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功