图像视频去噪论文Learning Deformable Kernels for Image and Video Denoising阅读笔记

论文链接:1904.06903.pdf (arxiv.org)

论文来源:TIP2020

作者:商汤

Abstract

大多数经典的去噪方法都是通过选择和平均噪声输入中的像素来恢复清晰的结果。我们建议使用深层神经网络明确地学习这个过程,而不是依赖手工制作的选择和平均策略。具体来说,我们提出了可变形二维核用于图像去噪,其中采样位置和核权重都是学习的。该核能够自然地适应图像结构,并能有效地减少过平滑伪影。此外,我们还开发了用于视频去噪的三维可变形核,以便在时空空间中更有效地采样像素。我们的方法能够解决动态场景中大运动的失准问题。为了更好地训练我们的视频去噪模型,我们引入了三线性采样器和一个新的正则化项。我们证明了所提出的方法在合成数据和真实数据上都优于最先进的图像和视频去噪方法。

1. Introduction

图像捕获系统总是受到噪声的影响,包括光子的散粒噪声和传感器的读取噪声[10]。对于在微光环境下拍摄的图像和视频,或者通过手机的小口径相机拍摄的图像和视频,这个问题变得更加严重。因此,研究去噪算法以产生高质量的图像和视频帧非常重要[3,6,16,20,18,22]。

大多数传统的去噪方法都是通过对图像中的像素进行选择和平均来达到很好的去噪效果。如何有效地选择合适的像素点并计算平均权值是各种去噪方法的关键。作为典型示例,双边平滑模型[29]对局部正方形区域中的像素进行采样,并使用高斯函数计算权重。此外,BM3D[6]通过块匹配搜索相关像素,并使用经验维纳滤波器确定平均权重。然而,这些方法通常使用手工制作的像素采样和加权方案,这在复杂场景中并不总是有效。

与传统方法不同,深度神经网络也被用于图像去噪[31,26]。这些数据驱动模型可以利用大量训练数据中的自然图像先验知识,学习从噪声图像到期望清晰输出的映射函数,这有助于获得比传统方法更好的结果。但是,基于深度学习的方法没有使用加权平均明确地处理输入像素,直接使用深度网络和空间不变卷积核合成结果可能导致图像纹理损坏和过度平滑伪影。

为了解决上述问题,我们建议以数据驱动的方式明确学习图像去噪的选择和平均过程。具体地,我们使用深度卷积神经网络(CNNs)来估计噪声图像中的每个像素的2D可变形卷积核(图2中(c)中的贴片)。通过学习核的采样位置和权重,分别对应于传统去噪模型的像素选择和权重策略。我们的可变形内核的优点是双重的。一方面,所提出的方法可以通过从数据中学习来改进经典的平均过程,这与手工制作的方案形成了鲜明的对比。另一方面,我们的模型直接过滤噪声输入,这限制了输出空间,从而减少了其他基于深度学习的方法的伪影。请注意,虽然可以简单地使用与KPN[22]类似的普通内核从刚性网格(图2(b))中采样像素,但它通常会导致有限的感受野,并且无法有效地利用图像中的结构信息。刚性内核中不相关的采样位置可能会影响性能。相比之下,我们的可变形内核自然地适应图像结构,并且能够在不采样更多像素的情况下增加感受野。

 

除了上述单个图像的情况外,我们还可以在视频去噪中使用所提出的方法,一种简单的方法是在每个帧上分别应用2D可变形核,如图2(c)所示。然而,这种简单的2D策略在处理具有大运动的视频时存在困难,因为在相邻帧中几乎找不到可靠的像素。为了克服这一限制,我们需要在可靠性较高的帧(如参考帧X0)上分配更多的采样位置,并避免剧烈运动的帧;这就要求我们的算法能够在输入视频的时空空间中搜索像素。因此,我们没有预测噪声输入中像素的2D核,而是为所需输出中的每个像素开发3D可变形核(图2(d)),以自适应地选择视频时空空间中信息量最大的像素。如图2(d)所示,建议的内核通过捕获3D位置之间的依赖关系并在更可靠的帧上采样,自然地解决了大型运动问题。此外,我们的方法可以有效地处理动态场景引起的错位,并减少现有视频去噪方法的杂乱边界和重影伪影[20,22],如图1所示。

在本文中,我们做出以下贡献。首先,我们建立了传统去噪方法与可变形卷积方法之间的联系,并提出了一种新的带可变形核的图像去噪方法,以明确学习经典的选择和平均过程。其次,我们将提出的2D核扩展到时空空间,以便更好地处理视频去噪中的大运动,从而进一步减少伪影并提高性能。我们还引入了退火术语,以便于训练3D内核。此外,我们还对所提出的算法进行了全面的分析,分析了可变形核如何帮助改进去噪结果。对合成数据和真实数据的大量实验表明,我们的方法在单个图像和视频输入方面都优于现有技术。

3. Proposed Algorithm

我们提出了一种新的基于可变形卷积核的图像和视频去噪框架。与具有刚性采样网格和固定卷积权重的普通核不同,我们使用可变形网格和动态权重[13]作为建议的核,这与经典去噪方法的像素选择和权重过程相对应。网格的变形可以表示为添加到刚性采样位置的偏移。

图3显示了所提出算法的概述。我们首先训练一个深度CNN来估计所提出的核的偏移量。然后,我们根据预测的偏移量对噪声输入中的像素进行采样,并通过将采样像素、噪声输入和偏移网络的特征串联起来来估计核权重。最后,我们可以通过将采样像素与学习的核权重进行卷积来生成去噪输出。

 

3.1. Learning to Sample and Average Pixels

对于有噪声的输入X,用于图像去噪的加权平均过程[29]可以表示为:

 其中(y,x)是去噪输出y上的像素,表示具有N个采样位置的采样网格,F是平均像素的权重。例如:

在提出的可变形核中,采样网格可以由预测的偏移量V生成:

 

 请注意,~yn和~xn都是(y,x)的函数,这表明我们的可变形内核在空间上是可变的。由于V中的偏移通常是分数,我们使用双线性插值对像素X(y+~yn,X+~xn)进行采样,类似于[14]。

在自适应采样之后,我们可以通过将采样的像素与学习的核F进行卷积来恢复清晰的输出Y,如(1)所示。注意,F的权重在空间上也是可变的,并且取决于输入视频,这与具有固定均匀卷积核的正常cnn不同。

3D deformable kernels. 

我们也可以使用所提出的方法进行视频去噪。假设我们有一个嘈杂的视频序列:{X−τ、 …,X0,…,Xτ},其中X0为参考系。处理此输入的一种简单方法是在每个帧上分别应用上述2D内核:

然而,如图2所示,这种简单的策略在处理大运动时存在问题。为了解决这个问题,我们开发了3D可变形核(图4(a)),它可以更有效地在时空空间中分布采样位置。3D内核直接获取连接的视频帧X∈ RH×W×(2τ+1)作为输入,我们可以将滤波过程表述为: 

其中tn表示时间维度中的采样坐标,N'表示3D内核的像素数。

 与(3)-(4)类似,我们通过预测三维偏移V生成采样网格。此外,为了对视频帧中的像素进行采样,我们引入了三线性插值,通过该插值,X(y+yn,X+xn,tn)可以表示为:

其中,只有x的三维空间中最接近(y+yn,x+xn,tn)的像素有助于插值结果。由于三线性采样机制是可微的,我们可以通过端到端的方式使用反向传播学习可变形3D核。该取样器的衍生物如附录A所示。 

Gamma correction.

我们在类似于[2]的线性原始空间中训练去噪模型。利用线性输出Y,我们进一步进行伽马校正,以生成最终结果,从而获得更好的感知质量:

其中φ是伽马校正的sRGB变换函数,α=0.055[1]。

3.2. Network Architecture

图3中的偏移网络将单个图像作为图像去噪的输入,将2τ+1相邻帧序列作为视频去噪的输入。如图4(b)所示,我们采用了U-Net架构[27],该架构已广泛用于像素级估计任务[4,30]。U-Net是一个编码器-解码器网络,其中编码器顺序地将输入帧转换为低分辨率特征嵌入,并且解码器相应地将特征扩展回全分辨率估计。我们使用编码器和解码器中的跳过连接执行像素级求和,以联合使用低级和高级特征进行估计。此外,我们将采样像素、噪声输入和来自偏移网络最后一层的特征连接起来,然后将它们馈送到三个卷积层以估计核权重(图3)。所有卷积层使用3×3的核,步长为1。我们网络各层的特征图编号如表1所示。我们使用ReLU[23]作为卷积层的激活函数,除了最后一个是Tanh以输出归一化偏移。由于所提出的估计网络是完全卷积的,因此它能够在推理过程中处理任意的空间大小。

3.3. Loss Function

利用线性空间中的预测结果Y和地面真值图像Ygt,我们可以简单地使用L1loss来训练我们的网络进行单图像去噪:

 

其中,伽马校正用于强调较暗区域中的错误,并产生更令人愉悦的感知结果。 

Regularization term for video denoising.

由于可变形3D内核对视频帧中的像素进行采样,因此在训练期间,网络可能陷入局部最小值,其中所有采样位置都位于参考帧周围。为了避免这个问题并鼓励网络利用更多的时间信息,我们引入了一个正则化项,让采样像素的子集单独学习3D滤波。

具体来说,我们将三维网格{(yn,xn,tn)}中的N个采样位置分成s组:N1,…,Ns,每组由N/s点组成。与(6)类似,第i像素组的滤波结果可以计算为:

其中, i ∈ {1,2, ..., s},乘法器s用于匹配Y的比例。使用Yi正则化,我们将视频去噪的最终损失函数设置为: 

 在训练过程中,正则化的每一个Yi都会慢慢减少,超参数η和γ用于控制退火过程,类似于[19]。p是迭代次数。在网络优化开始时,ηγp>>1且第二项是突出的,它鼓励网络查找3D内核子集的特定信息像素。当p变大时,该约束消失,整个采样网格学习重新排列采样位置,以便所有过滤组(即学习的3D内核的不同部分)可以协同工作。

4. Experimental Results

Datasets.

对于视频去噪,我们从互联网上收集了27个高质量的长视频,每个视频的分辨率为1080×1920或720×1280,帧速率为20、25或30fps。我们使用23个长视频进行训练,另外4个用于测试,分别分成205个和65个非重叠场景。对于不同场景的视频,我们提取20K序列进行训练,其中每个序列由2τ+1个连续帧组成。我们的测试数据集由4个子集组成,每个子集从4个测试视频中采样约30个序列。用于测试的序列不重叠。此外,我们只需使用视频中每个序列的中间帧用于单图像去噪的训练和测试。

与[25]类似,我们通过首先执行逆伽马校正,然后添加与信号相关的高斯噪声:N(0,σsq+σ2r),为我们的模型生成噪声输入,其中q表示像素的强度,噪声参数σs和σr分别随机采样自[10−4,10−2] 及[10−3,10−1.5]。在我们的实验中,我们对网络进行了盲和非盲训练。对于非盲版本,假设参数σs和σr是已知的,并且噪声级作为输入的附加信道馈入网络。与[31]类似,我们估计噪声水平为:其中qref表示视频去噪中参考帧x0的强度值,或单帧去噪中输入图像的强度值。

Comparisons on the synthetic dataset.

我们在不同噪声水平的合成数据集上,将所提出的算法与最先进的图像和视频去噪方法[22,20,6,3,31]进行了比较。我们对NLM[3]、BM3D[6]和VBM4D[20]进行了详尽的超参数微调,包括盲版本和非盲版本,并选择了性能最佳的结果。我们还使用相同的设置在数据集上训练KPN[22]和DnCNN[31]。虽然[22]最初设计用于多帧输入,但我们也通过改变网络输入将其调整为单个图像,以便进行更全面的评估。

如表2和表3所示,与具有不同噪声水平的所有子集中的最新方法相比,所提出的算法在单图像和视频去噪方面在PSNR和结构相似性(SSIM)方面都取得了一致的更好的结果。即使我们的盲版本模型也能够实现有竞争力的性能,而其他方法依赖于oracle noise参数来获得良好的结果。此外,KPN[22]使用刚性核进行视频去噪,因此无法有效学习像素选择过程。由于不适当的采样位置,简单地扩大KPN的内核大小不会导致表2-3所示的显著改进。

图5显示了合成数据集上的图像和视频去噪示例。传统方法[6,3,20]采用手工制作的采样和加权策略,效果不佳,会产生严重的伪影。特别是,VBM4D[20]使用L2norm选择像素来测量面片相似性,这往往会产生过平滑结果,如图5(j)所示。另一方面,直接用深层CNN合成结果[31]可能导致结构损坏,并经常丢失细节(图5(e))。此外,KPN[22]学习用于视频去噪的刚性核,由于刚性采样的限制,无法处理大于2像素的偏差。当未对准超出此限制时,学习的权重将退化为单个图像滤波器,从而导致过度平滑结果(图5(k)),或者陷入定向障碍,从而可能导致高对比度边界周围的重影伪影,如图6所示。相比之下,我们以数据驱动的方式学习经典去噪过程,并以较少的伪影获得更清晰的结果(图5(f)、(l)和图6(g))。

 Temporal consistency.

为了更好地评估视频上的结果,我们在图7中显示了时间对比,通过60个连续帧,用红色虚线突出显示了1D样本的时间剖面,这表明了所提出方法的更好时间一致性。

 5. Discussion and Analysis

Ablation study.

在本节中,我们将对算法的不同部分进行烧蚀分析,以便更好地进行评估。我们在表4中显示了我们模型的六个变体的PSNR和SSIM,其中“our full model 3×3×3” 是我们的默认设置。在第一行,模型“direct”使用图4中的偏移网络无法直接合成去噪输出,无法产生高质量的结果。为了学习经典模型的加权策略,我们对提出的可变形核使用动态加权。如表4第二行所示,学习没有动态权重的模型会显著降低去噪性能。在第三行和第四行,我们学习不同内核大小的固定的3D内核。结果表明,学习像素采样策略对于学习经典去噪过程和提高去噪性能具有重要意义。此外,第五行显示退火项也有利于模型训练,最终将所有组件组合在一起可获得最佳结果。请注意,大小为3×3×3的内核可以从大的感受野(在我们的实验中通常为±4-±15像素)采样像素,进一步增加可变形3D内核的内核大小只能略微提高性能。因此,我们选择较小的内核大小作为默认设置,以减轻计算负载。

 Effectiveness of the deformable 3D kernels. 

如图2所示,提出的可变形3D内核在时空空间中对像素进行采样,从而更好地处理大型运动视频。为了进一步验证三维核对大运动的有效性,我们比较了我们的可变形二维核和三维核在不同运动水平下的性能。具体地说,我们从Adobe240数据集中采样了240fps的大运动视频剪辑[28]。然后,我们对高帧速率视频进行时间下采样,得到7个不同帧速率的测试子集:120、80、60、48、40、30和24fps,其中每个包含180个输入序列。请注意,不同的帧速率对应不同的运动级别,并且所有子集使用相同的参考帧。我们对输出中的每个像素使用一个大小为3×3×3的可变形3D核,同时应用多个3×3 2D核分别处理每个帧。如图8所示,随着帧速率的降低,2D和3D内核之间的性能差距越来越大,这表明了时空采样在大运动上的优越性。我们还注意到,这两种核在更大的帧速率下都能获得更好的结果(较小的MSE),这表明了在视频去噪中利用时间信息的重要性。

 Effectiveness of the regularization term in (11).

图9显示了测试数据集中时间维度上采样位置的分布。如图9(b)所示,在视频去噪中,直接优化L1损耗而不使用退火项通常会导致不希望的局部极小值,其中大多数采样位置都在参考帧周围。通过添加正则化项,网络被迫在更大的时间范围内搜索更多信息像素,这有助于避免局部极小值(图9(a))。

 Visualization of the learned kernels.

我们在图10中展示了一个示例,以可视化学习到的可变形内核。与固定核(图10(a)中的蓝点)相比,我们的可变形核学习沿不同帧的黑色边缘采样像素,从而有效地扩大感受野并减少不适当像素的干扰。而在空间和时间上采样的能力对于我们的方法恢复干净的结构和细节至关重要。

 

 Generalization to real images.

我们将我们的方法与最先进的去噪方法[6,31,22,20]进行了比较,对图1和图11中由手机拍摄的真实图像和视频序列进行去噪。在对合成数据进行训练时,我们的模型能够从实际捕获的噪声输入中恢复细微的边缘,并且能够很好地处理大运动中的失准。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值