赞
踩
基于深度去噪的即插即用图像恢复
问题:当更深更大的CNN模型迅速流行时,现有的即插即用图像恢复由于缺乏合适的去噪器而阻碍了其性能。
为了突破即插即用图像恢复的局限性,我们通过训练一个高度灵活有效的CNN去噪器,建立了一个基准深度去噪器。然后,我们将深度去噪器作为一个模块插入到基于半二次分裂的迭代算法中,以解决各种图像恢复问题。
从贝叶斯的角度来看,解x可以通过解决最大后验概率(MAP)估计问题得到:
其中logp(y|x)表示观测y的对数似然值,logp(x)表示干净图像x的先验值,与退化图像y无关。
(1)可以重新表述为:
数据项(第一项)保证解决方案符合退化过程,而先验项(第二项)通过在解决方案上强制要求的属性来减轻图像恢复这种逆问题的不适性。
一般来说,求解(2)的方法可以分为两大类:(1)基于模型的方法;(2)基于学习的方法。
前者的目标是通过一些优化算法直接求解(2),而后者主要是通过在包含N个退化-干净图像对{(yi,xi)}的训练集上优化损失函数来训练。
基于学习的方法通常被建模为下面的双层优化问题:
基于模型的方法与基于学习的方法的一个主要区别是:基于模型的方法可以通过简单指定T来灵活地处理各种IR任务,并且可以直接对退化的图像y进行优化;而后者在测试前需要繁琐的训练来学习模型,并且通常受到专门任务的限制。
然而,基于学习的方法不仅测试速度快,而且由于端到端的训练,往往可以提供更好的性能。相比之下,基于模型的方法通常是耗时的,为了获得良好的性能,需要复杂的先验。
因此研究综合利用它们各自的优点将是很有吸引力的。这种集成产生了深度即插即用IR方法:它用基于学习的CNN去噪先验代替了基于模型优化的去噪子问题。
其主要思想是借助变量分裂算法,如乘数交替方向法(ADMM)和半二次分裂法(HQS),可以分别处理数据项和先验项,特别是先验项只对应一个去噪子问题,可以通过深度CNN去噪来解决。
本文是对我们之前的工作(IRCNN)的扩展,使用了更灵活、更强大的深度CNN去噪器。受FFDNet的启发,提出的深度去噪可以通过一个单一的模型,以噪声水平映射为输入处理大范围的噪声水平。利用ResNet和U-Net的优点,提高了其有效性。提出了一种新的周期性几何自集成方法,在不增加计算量的情况下提高了性能。
(1)一个灵活和强大的深度CNN去噪训练。该方法不仅优于现有的深度高斯去噪模型,而且适用于即插即用IR去噪。
(2)本文从参数设置、中间结果和经验收敛等方面对基于HQS的即插即用IR进行了深入分析,从而更好地理解其工作机理。
(3)在去模糊、超分辨率和消噪方面的大量实验结果表明,所提出的即插即用IR深度去噪先验的优越性。
即插即用IR通常包括两个步骤:
(1)通过一定的变量分裂算法将目标函数的数据项和先验项解耦,得到一个由数据子问题和先验子问题交替求解组成的迭代方案。
(2)是用现成的去噪器(如K-SVD、非局部均值、BM3D)解决先验子问题。
即插即用IR虽然可以利用CNN去噪器强大的表达能力,但现有方法一般利用DnCNN或IRCNN,没有充分利用CNN。
通常,即插即用IR的降噪器应该是非盲的,并且需要处理大范围的噪声水平。然而,DnCNN需要针对每个噪声级分别学习一个模型。虽然IRCNN去噪器可以处理范围广泛的噪声水平,但它由25个独立的7层去噪器组成,其中每个去噪器在间隔噪声水平为2的情况下进行训练。这种降噪器有两个缺点。首先,它不能灵活地设定一个特定的噪音等级。第二,由于浅层,它不够有效。
基于上述考虑,有必要设计一种灵活、强大的去噪器来提高即插即用IR的性能。
即插即用IR去噪的设计应采用非盲高斯去噪。原因有两方面。
(1)如即插即用IR迭代解(6b)(下文)所示,该子问题实际上对应于高斯噪声级的非盲高斯去噪问题。
(2)虽然盲高斯去噪可以解决非盲高斯去噪问题,但对于即插即用IR来说,高斯去噪的作用是平滑未知噪声(如迭代过程中引入的结构噪声),而不是去除高斯噪声。
如第6节所示,迭代过程中的噪声分布通常是非高斯分布,并且随着不同的IR任务甚至不同的迭代而变化。此外,我们将在第5.1.4节中看到,非盲高斯去噪可以通过设置适当的噪声级来平滑非高斯噪声,但盲高斯去噪没有这种能力,它只能去除类高斯噪声。
从贝叶斯的角度来看,即插即用IR去噪应该是高斯去噪。因此,可以在干净图像中加入合成高斯噪声进行监督训练。
也许最适合即插即用IR降噪的是FFDNet,它以噪声水平图作为输入,可以处理大范围的噪声级。然而,FFDNet仅具有DnCNN和IRCNN的性能,因此缺乏提高即插即用IR性能的有效性。为此,我们提出利用目前广泛使用的U-Net和ResNet进行架构设计,对FFDNet进行改进。
U-Net对于图像到图像的平移是有效且高效的,而ResNet在通过叠加多个残块来增加建模能力方面更有优势。
在FFDNet以噪声水平图为输入的基础上,本文提出的去噪算法即DRUNet进一步将残差块整合到U-Net中,实现有效的去噪先验建模。
这项工作的重点是提供灵活和强大的预先训练的去噪,以有利于现有的即插即用IR方法,而不是设计新的去噪网络体系结构。
Figure 1 DRUNet
像FFDNet一样,DRUNet能够通过一个单一的模型处理不同的噪声水平。
DRUNet的主干是由四个scales组成的U形网,每个尺度在2 × 2跨步卷积(SConv)下采样和2 × 2转置卷积(TConv)上采样操作之间有一个恒等跳跃连接(identity skip connection)。
从第一个尺度到第四个尺度,每一层的通道数量分别为64、128、256和512。
每个尺度的下采样和上采样采用四个连续的残差块。
第一层和最后一层卷积(Conv)以及SConv和TConv层都没有激活功能。每个残块只包含一个ReLU激活函数。
所提出的DRUNet是无偏差的,这意味着在所有的Conv、SConv和TConv层中都没有使用偏差。
原因:
(1)具有ReLU激活和恒等跳过连接的无偏置网络自然增强了许多图像恢复任务的缩放不变性,即f(ax) = af(x)对任意标量a≥0都成立。
(2)从经验上观察到,对于有偏差的网络,偏差的大小会比滤波器的大得多,这反过来又会损害泛化性。
实验结果部分在后面
(1)HQS算法的简单性和快速收敛性。
(2)为了获得良好的性能,需要仔细设置参数。
(3)提出一种周期性的几何自集成策略来潜在地提高性能。
1、为了解耦(2)的数据项和先验项,HQS引入了一个辅助变量z,得到了一个约束优化问题:
2、(4)通过最小化以下问题来解决:
µ是一个惩罚参数。
3、这个问题可以通过迭代求解x和z的以下子问题来解决:
数据项和先验项被解耦为两个独立的子问题。
具体来说,(6a)的目标是找到z(k−1)的近端点,通常有一个依赖于T的fast closed-form solution,而(6b)从贝叶斯的角度来看,对应的是xk上的高斯去噪,噪声级为根号下λ/µ。
因此,任意高斯去噪可以代入交替迭代来求解(2)。
为了解决这个问题,我们将(6b)改写如下:
可以从(7)中得到两个观察结果:
从(6a)和(6b)之间的交替迭代中,有三个可调参数,包括惩罚参数µ、正则化参数λ和总迭代次数K。
为了保证xk和zk收敛到一个固定点,需要一个较大的µ,但这需要一个较大的K来收敛。因此,通常的方法是采用延续策略逐渐增加µ,从而产生µ1<…<µk<…<µK的序列。然而,需要引入新的参数来控制步长,使得参数设置更加复杂。
由(7)可以看出,在去噪先验的第k次迭代中,μ控制了噪声水平;另一方面,对于σk来说,[0,50]的噪声水平范围就足够了。
受到这些领域知识的启发,我们可以通过设置σk和λ来隐式地确定μk。根据σk应该是单调递增的事实,我们在对数空间中将σk从大噪声水平σ1均匀采样到小噪声水平σK。这意味着可以通过确定µk。
σ1固定为49,而σK由图像噪声水平σ确定。由于K是用户指定的,且σK具有明确的物理含义,因此它们实际上很容易设置。
目前为止,要设置的其余参数是λ,由于λ来自于先验项,因此应该是固定的,我们可以通过在验证数据集上进行grid serch来选择最优λ。
根据经验,λ可以在[0.19,0.55]范围内产生良好的性能。在本文中,除非另有说明,否则我们将其修改为0.23。需要注意的是,由于λ可以被吸收到σ中,并且在数据项和先验项之间起着控制折衷的作用,因此可以通过将σ乘以标量隐式地调整λ。
为了对参数设置有清晰的认识,在图5中,取,并假设σK= σ = 1,绘制出不同迭代次数K= 8、24、40时的αk和σk值。
于翻转和旋转的几何自集成是一种常用的提高IR性能的策略。首先通过翻转和旋转对输入进行变换,生成8幅图像,然后将这8幅图像输入到模型中得到相应的恢复图像,最后进行反变换得到平均结果。虽然可以通过几何自集成获得性能增益,但其代价是增加推理时间。
与上述方法不同的是,我们在每连续8次迭代中周期性地应用几何自集成。在每次迭代中,去噪前有一个变换,去噪后有对应的逆变换。请注意,由于降噪先验模型的输入在迭代过程中会发生变化,因此放弃了平均步骤。我们把这种方法称为周期几何自集合。它的显著优点是总的推理时间不会增加。我们发现,几何自集成总体上可以提高PSNR 0.02dB ~ 0.2dB。
数据集:包含400张BSD图像、4744张Waterloo Exploration Database、900张DIV2K数据集、来自Flick2K数据集的2750张图像。
输入:干净图像x对应的噪声图像y是通过加上噪声水平为σ的AWGN得到的。噪声水平图用σ填充的均匀图,并且具有与噪声图像相同的空间大小。
噪声水平:为了处理大范围的噪声等级,噪声等级σ是在训练期间从[0,50]中随机选择的。注意噪声图像并没有被裁剪到[0,255]的范围内。原因是剪切操作会改变噪声的分布,从而导致即插即用IR解的不准确。
优化:通过Adam算法优化网络参数,使用L1损失,而不是L2损失(虽没有直接证据,但普遍认为L1损耗在处理异常值方面比L2损耗更稳健)。在去噪方面,AWGN的采样过程中可能会出现异常值。因此,在去噪网络训练中,L1损失比L2损失更稳定。
学习率:从1e-4开始,然后每100,000次迭代减少一半,在小于5e-7时结束。
比较了提出DRUNet去噪与:
两种基于模型的方法BM3D和WNNM;五种基于CNN的方法,它们分别学习每个噪声水平的单个模型,即DnCNN,N3Net,NLRN,RNAN,FOCNet;两种基于CNN的方法,能够处理各种噪声水平,即IRCNN和FFDNet。
Table 1
由于现有的方法主要针对灰度图像去噪,因此我们只比较了DRUNet与CBM3D、DnCNN、IRCNN和FFDNet在颜色去噪方面的差异。
DRUNet还适用于去除其他不同类型的噪声,例如JPEG压缩伪影。
通过简单地改变训练数据并用JPEG压缩的质量因子q代替AWGN的噪声级σ,训练了JPEG图像去块的DRUNet模型。我们将质量因子范围设置为[10,95],其中质量因子10表示较低的质量和较高的压缩。使用与去噪中相同的训练数据进行训练。
由于DnCNN3也被训练去噪和SISR,我们用我们的训练数据重新训练了一个非盲DnCNN3模型。与原DnCNN3模型相比,新模型在两个测试数据集上的平均PSNR增益分别为0.21dB和0.19dB。为了量化训练数据的性能贡献,我们还训练了一个训练数据较少的DRUNet模型。结果表明,PSNR平均降低了0.04dB,说明大量的训练数据可以略微提高JPEG图像的分块性能。
为了展示无偏差的DRUNet的优势,我们还训练了一个DRUNet+B模型,该模型的偏差是从均匀分布中随机初始化的[−1,1]。
该噪声图像具有200的非常大的不可见噪声水平。
由于DnCNN和IRCNN不具备更改噪声级的灵活性,我们首先将噪声图像乘以系数0.25,使噪声级从200变为50。然后应用DnCNN和IRCNN模型进行去噪,最后通过4的乘法得到去噪结果。
量化了不同因素的性能贡献,如残差块、训练数据、偏差和噪声水平图。
Case1:DRUNet没有跳过连接的残差块;
Case2:DRUNet减少训练数据;
Case3:DRUNet带偏差(即DRUNet + B);
Case4:DRUNet没有采取噪声水平图作为输入。
为了验证所提出的DPIR算法的有效性,考虑了三个经典的IR任务,包括图像去模糊、单图像超分辨率(SISR)和彩色图像去马赛克。
对于每个任务,我们将提供具体的退化模型、算法1中(6a)的快速解、K和σK的参数设置、z0的初始化以及与其他最先进方法的性能比较。
输入:深度去噪先验模型(论文前面训练的),退化图像y,退化算子T,图像噪声σ,在总共K次迭代中,去噪先验模型在第k次迭代时的σk,权衡参数λ。
输出:恢复图像zk。
使用均匀模糊(或图像反卷积)对模糊图像进行去模糊的退化模型通常表示为:
假设卷积是在圆形边界条件下进行的, 则(6a)的快速解由下式给出:
其中F(·)和F^−1(·)表示快速傅里叶变换(FFT)和逆FFT,
考虑了如图6所示的6张经典测试图像和[76]中8个真实模糊核中的2个。
具体来说,测试图像由3张灰度图像和3张彩色图像组成。其中House和leaf都是重复结构,可以用来评估非局部自相似先验。对于两个模糊核,它们的大小分别是17×17和27×27。
也考虑了不同噪声水平2.55(1%)和7.65(3%)的高斯噪声。在此基础上,首先应用模糊核,然后加入带有噪声水平σ的AWGN来合成模糊图像。参数K和σK分别设置为8和σ。z0初始化为y。
四种具有代表性的方法:基于模型的EPLL方法、基于学习的非盲方法FDN、基于学习的盲方法DMPHN以及即插即用的方法IRCNN和IRCNN+。
视觉对比
图8(a)-(e)在图7的测试图像上提供xk和zk在不同迭代的视觉结果,而图8(f)显示了xk和zk的PSNR收敛曲线。
虽然我们将总迭代次数K固定为8,第一次迭代的σ1噪声级别固定为49,但研究使用其他设置的性能是很有趣的。表7给出了图7测试图像在不同K和σ1组合下的PSNR结果
通过去除噪声级图来训练盲的DRUNet去噪。在相同的参数设置下,我们使用盲DRUNet去噪器在噪声和模糊的树叶上提供了不同DPIR迭代的xk和zk的视觉结果和PSNR结果,如图9:
现有的SISR方法主要针对双三次退化模型:
但是这样的话,如果真实的退化模型偏离了假设的模型,这种方法将会严重退化。
为了弥补这一点,另一种方法是采用经典但实用的退化模型:
考虑到了模糊、噪声。↓s表示标准的s-fold下采样器,即为每个不同的s×s patch选择左上角像素。
在本文中,我们考虑上述两个退化模型的SISR,对于(6a)的解,双三次退化可采用迭代反投影解:
对(12)进一步修改,处理经典退化模型:
其中↑s表示通过用0填充新条目来向上采样空间大小。特别值得注意的是,存在一种快速的封闭解来代替上述的迭代格式。假设卷积是在圆形边界条件下进行的,如去模糊中所述,closed-form solution为:
,
其中
一般来说,封闭解(14)应该优于迭代解(13)。原因在于前者是包含一个参数(即αk)的精确解,而后者是包含两个参数(即每外部迭代的内迭代次数和步长)的不精确解
整体参数设置,K为24,σK为max(σ, s)。对于(12)和(13)中的参数,γ固定为1.75,每次外部迭代所需的内部迭代次数设为5。z0初始化为LR图像的双三次插值。特别是,由于经典的退化模型为每个不同的s×s patch选择左上角像素,因此应该适当地解决移位问题。为了解决这个问题,我们使用2D线性网格插值来调整z0。
考虑了双三次退化模型和8种不同高斯模糊核的经典退化模型(如图10),这8个核由4个标准偏差不同的各向同性核(即0.7,1.2,1.6,2.0)和4个各向异性核组成,不考虑运动模糊核,因为已经指出高斯核对于SISR任务是足够的。考虑了(s = 2, σ = 0)、(s = 3, σ = 0)和(s = 3, σ = 7.65)三种不同的尺度因子和噪声水平组合。
RCAN是最先进的基于双三次退化的深度模型,由约400层组成。
SRFBN是一种具有反馈机制的递归神经网络。
MZSR是一种zero-shot method based on meta-transfer learning,该方法首先学习初始网络,然后在一对给定的LR图像上对模型进行微调,并通过少量梯度更新对其重新退化的LR图像进行微调。由于MZSR需要向下采样LR图像进行微调,为了获取足够的信息,比例因子不应该太大。因此,MZSR主要针对尺度因子2设计。
与IRCNN和DPIR类似,MZSR是一种非盲方法。
视觉对比
图12(a)-(e)提供了在图11的测试图像上DPIR的不同迭代的xk和zk的视觉结果和PSNR结果。
相应的峰值信噪比收敛曲线如图12(f)所示,可以看出xk和zk快速收敛到固定点。
然即插即用IR去噪器的先验训练用于高斯去噪,但这并不意味着GT具有高斯分布。事实上,噪声分布在不同的IR任务甚至不同的迭代中都有所不同。
去噪先验主要是去除噪声和一些细节,而后续的数据子问题则起到了缓解噪声无关性退化和恢复丢失细节的作用。这是以失去效率和专业化为代价的,因为这样的通用高斯去噪器的优先级和超参数的手动选择。
相比之下,通过联合学习特定于任务的去噪先验和超参数,deep unfolding IR可以训练出性能更好的紧凑推理。以SISR为例,deep unfolding去噪器可以恢复高频细节,而不是通过深度即插即用去噪器来平滑细节。
(1)通过利用半二次分割算法,对三种不同的图像恢复任务进行迭代优化,包括去模糊、超分辨率和彩色图像去噪,由交替求解具有闭式解的数据子问题和可由深度去噪器代替的先验子问题组成。
(2)对参数设置、中间结果和经验收敛性进行了广泛的实验和分析。结果表明,即插即用图像恢复与强大的深度去噪先验有几个优点。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。