论文阅读笔记(DPIR):Plug-and-Play Image Restoration with Deep Denoiser Prior

Plug-and-Play Image Restoration with Deep Denoiser Prior

论文地址:https://arxiv.org/abs/2008.13751

代码地址:https://github.com/cszn/DPIR

Abstract

目标:突破即插即用图像恢复的上限。
主导策略:降噪器隐式地作为基于模型的方法的图像先验。

目前缺乏合适的先验降噪器,阻碍了即插即用图像恢复的性能。

本文思路:
通过训练一个灵活高效的CNN去噪器设置基准深度去噪先验,将它作为模块插入基于HQS的迭代算法,从而可以解决各种图像复原问题。

图像退化模型:

𝐲 = 𝒯 ( 𝐱 ) + 𝐧 𝐲=𝒯(𝐱)+𝐧 y=T(x)+n

其中,𝒯为噪声不相关的退化操作,𝐧为标准差为𝜎的加性高斯白噪声。

  • 当𝒯为恒等操作,IR任务对应去噪问题
  • 当𝒯为二维卷积, IR任务对应去模糊问题
  • 当𝒯为卷积下采样复合, IR任务对应超分辨问题
  • 当𝒯为彩色滤波阵列(CFA)masking操作, IR任务对应彩图去马赛克问题

Introduction

即插即用IR算法思路:

借助变量分裂算法(ADMM/HQS),分别处理数据项(保真项)和先验项(正则项),先验项只对应一个去噪子问题。

目前即插即用IR算法缺点:

  • 采用不同降噪器去覆盖一个广泛的噪声级,或者使用在一个特定的噪声级上训练的单个降噪器;
  • 深度降噪器不够强大,性能受限的原因不清楚;
  • 对工作机制缺乏深入的实证理解。

本文思路:

  • 受到FFDNet的启发,将噪声级别图作为输入,通过单个模型处理广泛的噪声级别;
  • 利用ResNet和U-Net提高效率;
  • 提出周期性几何自集成策略,不增加额外的计算负担的同时提高性能。

本文贡献:

  • 训练了一个灵活高效的深度CNN去噪器,优于最好的深度高斯降噪模块;
  • 对于基于HQS的即插即用IR在参数设置、中间结果和经验收敛方面进行了彻底分析;
  • 在去模糊、超分辨和去马赛克任务中表现非常好。

Method

半二次方分裂法(HQS):

将正则项中的原始变量进行变量替换,增加拉格朗日乘子项和二次惩罚项,从而去耦合。

x ^ = a r g m i n x 1 2 σ 2 ∣ ∣ y − 𝒯 ( x ) ∣ ∣ 2 + λ R ( x ) \hat{x} = argmin{_x}{\frac{1}{2\sigma^2}\lvert\lvert{y-𝒯(x)}\rvert\rvert^2+\lambda R(x)} x^=argminx2σ21yT(x)2+λR(x)

注:对比IRCNN中的部分在数据项部分增加了一个 σ 2 \sigma^2 σ2的分母,对应的是输入的噪声级别图的噪声水平 σ \sigma σ

引入辅助变量z,将惩罚项中的x替换成z:

L μ ( x , z ) = 1 2 σ 2 ∣ ∣ y − 𝒯 ( x ) ∣ ∣ 2 + λ R ( z ) + μ 2 ∣ ∣ z − x ∣ ∣ 2 L_{\mu}(x,z)=\frac{1}{2\sigma^2}\lvert\lvert{y-𝒯(x)}\rvert\rvert^2+\lambda R(z)+\frac{\mu}{2}\lvert\lvert{z-x}\rvert\rvert^2 Lμ(x,z)=2σ21yT(x)2+λR(z)+2μzx2

迭代求解:

x k = a r g m i n x ∣ ∣ y − 𝒯 ( x ) ∣ ∣ 2 + μ σ 2 ∣ ∣ x − z k − 1 ∣ ∣ 2 x_k=argmin_x{\lvert\lvert{y-𝒯(x)}\rvert\rvert^2}+\mu\sigma^2\lvert\lvert{x-z_{k-1}}\rvert\rvert^2 xk=argminxyT(x)2+μσ2xzk12

z k = a r g m i n z 1 2 ( λ μ ) 2 ∣ ∣ z − x k ∣ ∣ 2 + R ( z ) z_k=argmin_z{\frac{1}{2(\sqrt{\frac{\lambda}{\mu}})^2}\lvert\lvert{z-x_k}\rvert\rvert^2+R(z)} zk=argminz2(μλ )21zxk2+R(z)

α k ≜ λ σ 2 / σ k 2 α_k≜λσ^2/σ_k^2 αkλσ2/σk2代入公式:

x k = a r g m i n x ∣ ∣ y − 𝒯 ( x ) ∣ ∣ 2 + α k ∣ ∣ x − z k − 1 ∣ ∣ 2 x_k=argmin_x{\lvert\lvert{y-𝒯(x)}\rvert\rvert^2}+\alpha_k\lvert\lvert{x-z_{k-1}}\rvert\rvert^2 xk=argminxyT(x)2+αkxzk12

z k = a r g m i n z 1 2 ( λ μ ) 2 ∣ ∣ z − x k ∣ ∣ 2 + R ( z ) z_k=argmin_z{\frac{1}{2(\sqrt{\frac{\lambda}{\mu}})^2}\lvert\lvert{z-x_k}\rvert\rvert^2+R(z)} zk=argminz2(μλ )21zxk2+R(z)重写成对应于通过噪声水平为 λ μ \frac{\lambda}{\mu} μλ的高斯降噪器对图像 x k x_k xk进行去噪:

z k = D e n o i s e ( x k , λ μ ) z_k=Denoise(x_k,\sqrt{\frac{\lambda}{\mu}}) zk=Denoise(xk,μλ )

CNN Denoiser:

像FFDNet一样将噪声级别图和噪声图像输入。
在这里插入图片描述

网络细节:

具有四个尺度U-Net结构网络

  • Strided conv 跨步卷积 下采样
  • Transpose conv 转置卷积 上采样
  • 每个尺度的SConv和TConv之间有一个恒等跳过连接
  • Conv层(Conv/SConv/TConv)都没有激活函数
  • 每个残差块仅包含一个ReLU
  • 所有层都没有偏置

周期几何自集成策略:

基于翻转和旋转几何自集成:
通过翻转和旋转对输入图像进行变换生成八幅图像,将图像送入模型得到相应恢复图像,最终获得逆变换后的平均结果。
周期几何自集成:
每连续八次迭代应用一次,但不进行最后的平均操作。

注:源代码中实现过程为迭代次数i%8为零时输出原图像,否则从1~7有对图像进行不同的旋转翻转等处理。

DPIR算法:

在这里插入图片描述

算法步骤:
输入:深度去噪先验模型,退化图像y,退化操作𝒯,图像噪声级𝜎,第k次迭代的去噪先验模型噪声水平𝜎𝑘,平衡参数𝜆。
输出:恢复图像𝑧𝑘
1由y初始化𝑧0,预计算 α k ≜ λ σ 2 / σ k 2 α_k≜λσ^2/σ_k^2 αkλσ2/σk2
2 k由1到K:
x k = a r g m i n x ∣ ∣ y − 𝒯 ( x ) ∣ ∣ 2 + α k ∣ ∣ x − z k − 1 ∣ ∣ 2 x_k=argmin_x{\lvert\lvert{y-𝒯(x)}\rvert\rvert^2}+\alpha_k\lvert\lvert{x-z_{k-1}}\rvert\rvert^2 xk=argminxyT(x)2+αkxzk12
z k = D e n o i s e ( x k , λ μ ) z_k=Denoise(x_k,\sqrt{\frac{\lambda}{\mu}}) zk=Denoise(xk,μλ )
(使用DRUNet去噪器降噪,应用周期几何自集成策略)

一些设置:

训练设置:
数据集选择:400 BSD images,4744 Waterloo Exploration Database,900 DIV2K dataset,2750 Flick2K dataset。

Noise level map是和噪声图像一样大的均匀填充噪声水平𝜎的图。训练时从[0,50]中随机选择噪声级进行训练。

使用Adam优化器最小化去噪图像与groundtruth之间的L1 Loss。(比L2 Loss更稳定)

参数设置:
可调参数:惩罚参数𝜇,正则化参数λ,迭代次数K。
K由用户指定,噪声级 σ k \sigma_k σk范围为[0,50],
μ k \mu_k μk逐步增大, μ k = λ / ( σ k 2 ) \mu_k=\lambda/(\sigma_k^2) μk=λ/(σk2),
对验证集进行网格搜索选择最佳λ,范围在[0.19,0.55]。

注: σ k \sigma_k σk,作者已经设置好 初始 σ 0 \sigma_0 σ0为49,然后逐步下降到0,具体情况在fig5 和 table5。

在这里插入图片描述
在这里插入图片描述

针对不同任务的封闭解:
在这里插入图片描述

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值