CMDSR | 为解决多退化盲图像超分问题,浙江大学&字节跳动提出了具有退化信息提取功能的CMDSR

编辑:Happy
首发:AIWalker

标题&作者团队

本文是浙江大学&字节跳动在多退化盲图像超分方面的一次尝试。针对训练与测试时不同的退化偏移导致的模型性能下降问题,本文采用ConditionNet从输入图像提取关于退化信息的条件特征,然后根据该特征对后续的超分网络BaseNet的参数进行调整,最后参数调整后的BaseNet对输入图像进行处理得到最终的超分图像。无需关于退化的先验信息,所提方法可以自适应从不同退化数据中提取合适条件特征并生成令人满意的超分结果。

Abstract

尽管图像超分在单一退化(比如Bicubic、Blur-down)方面取得极大成功,但是,当面对真实场景的复杂且多样退化时,模型的性能会出现严重的下降。近来也有一些针对多退化问题的盲/非盲图像超分,然而这些方法在训练数据与测试数据分布存在偏差时仍会出现性能的下降。

为解决上述问题,我们首次提出一种条件元网络框架:CMDSR,它有助于SR模型学习如何针对输入分布进行自适应调整。具体来说,ConditionNet首先从支撑集(由相同任务的不同退化图像块构成)中学习退化先验信息;然后根据ConditionNet所提取的先验信息自适应调整BaseNet的参数。更进一步,为更好的提取退化先验信息,我们提出了一种任务对比损失减小同任务退化先验信息的距离,提升不同任务退化先验信息的距离。

无需预定义退化映射关系,所提盲超分方案可以通过单模型自适应生成相当好的超分结果。我们通过充分的实验验证了所提CMDSR的有效性与灵活性。

本文的主要贡献包含以下几点:

  • 提出首个条件元网络框架用于盲图像超分,它可以自适应的进行多种退化类型的图像超分;
  • 提出一种任务对比损失用于特征提取,即退化先验信息;
  • 所提方案是一种通用框架,具有盲、快速以及灵活等特性。

Method

本文的主要目标:仅仅利用少量样本,开发一种可以自适应的覆盖多种退化的框架。为此,我们需要寻找一种可以刻画退化先验信息的表达并用于指导模型对该退化模式进行自适应调整。

考虑到这样一个事实:相同任务的LR图像具有相同的退化模式,我们从任务(而非图像)这个更粗的维度来看到退化问题;然后,所提取的关于退化的特征用作超分模型的先验信息并用于调整模型参数。

在该框架中,我们提供两种配置访问训练数据:

  • 训练数据按照不同任务分组。假设多任务 { T 1 , T 2 , ⋯ T m } \{\mathcal{T}_1, \mathcal{T}_2,\cdots \mathcal{T}_m\} {T1,T2,Tm},每个任务包含LR-HR数据对 { x 1 ( 1 ) , ⋯   , x m ( i ) } , { y 1 ( 1 ) , ⋯   , y m ( i ) } \{x_1^{(1)},\cdots, x_m^{(i)} \}, \{y_1^{(1)},\cdots, y_m^{(i)} \} {x1(1),,xm(i)},{y1(1),,ym(i)}
  • ConditionNet从LR图像块提取任务级特征,BaseNet则对图像 x k ( i ) x_k^{(i)} xk(i)进行超分。

CMDSR

framework

上图给出了本文所提方案,它包含ConditionNet与BaseNet两个模块。BaseNet并不限定具体形式的架构,在实验中作者采用了SRResNet-10作为基准。

首先,ConditionNet(表示为 F c F_c Fc)从退化模式i赌赢的输入支撑集 X ( i ) X^{(i)} X(i)中提取条件特征 f c ( i ) f_c^{(i)} fc(i),该过程可以描述如下:
f c ( i ) = F c ( X ( i ) ; ϕ ) = F c ( x 1 ( i ) , ⋯   , x n ( i ) ; ϕ ) f_c^{(i)} = F_c(X^{(i)};\phi) = F_c(x_1^{(i)},\cdots,x_n^{(i)};\phi) fc(i)=Fc(X(i);ϕ)=Fc(x1(i),,xn(i);ϕ)
ConditionNet是一种比较浅的网络,它包含两个均值池化和4个卷积操作,同时保持训练与测试时的输入样本尺寸不变。

然后,BaseNet(表示为 F s r F_{sr} Fsr)将根据条件特征 f c ( i ) f_c^{(i)} fc(i)将原始参数 θ \theta θ调整为 θ ′ \theta^{'} θ。具体来说,我们对10个残差模块的20个卷积参数进行自适应调整。我们采用20个全连接层以 f c ( i ) f_c^{(i)} fc(i)作为输入生成自适应系数。此时,卷积权值调整可以描述为:
ω p q ′ = ω ∗ f p q ′ ( i ) \omega_{pq}^{'} = \omega * f_{pq}^{'(i)} ωpq=ωfpq(i)
最后,参数调制后的BaseNet将输入 x j ( i ) x_j^{(i)} xj(i)复原为超分图像 y ^ i ( i ) \hat{y}_i^{(i)} y^i(i),整个过程描述如下:
y ^ i ( i ) = F s r ( x j ( i ) , f c ( i ) ; θ ) = F s r ( x j ( i ) ; θ ′ ) \hat{y}_i^{(i)} = F_{sr}(x_j^{(i)}, f_c^{(i)};\theta) = F_{sr}(x_j^{(i)};\theta^{'}) y^i(i)=Fsr(xj(i),fc(i);θ)=Fsr(xj(i);θ)

Species of Loss Functions

考虑到ConditionNe与BaseNet的不同作用、对学习率和损失函数的不同敏感性,我们采用不同的学习率、优化目标对两者进行交替优化。BaseNet每训练t次迭代再对ConditionNet进行一次训练。

Reconstruction Loss 类似其他图像超分,我们对BaseNet采用 L 1 L_1 L1损失进行优化训练:
L r e s = ∥ I H R − F s r ( I L R ; θ ) ∥ 1 L_{res} = \| I_{HR} - F_{sr}(I_{LR;\theta}) \|_1 Lres=IHRFsr(ILR;θ)1
Task Contrastive Loss 正如前面所提到的:ConditionNet应当输出具有判别性的条件特征,即相同退化具有相似的特征,不同的退化具有不相似的特征。受启发于对比学习,我们提出了一种任务对比损失用于减小相同任务的特征距离,增大不同任务的特征距离。此时定义相同任务的特征损失与不同任务的特征损失:
L i n n e r = ∥ F c ( X i ; θ ) − F c ( X i ′ ; θ ) ∥ 2 = ∥ f c 1 ( i ) − f c 2 ( i ) ∥ 2 L c r o s s = ∥ F c ( X i ; θ ) − F c ( X j ; θ ) ∥ 2 = ∥ f c ( i ) − f c ( j ) ∥ 2 L_{inner} = \| F_c(X_i; \theta) - F_c(X_i^{'};\theta) \|^2 = \|f_{c_1}^{(i)} - f_{c_2}^{(i)} \|^2 \\ L_{cross} = \|F_c(X_i;\theta) - F_c(X_j;\theta)\|^2 = \|f_c^{(i)} - f_c^{(j)}\|^2 \\ Linner=Fc(Xi;θ)Fc(Xi;θ)2=fc1(i)fc2(i)2Lcross=Fc(Xi;θ)Fc(Xj;θ)2=fc(i)fc(j)2
最后,我们采用对数与指数变换组合上述两个损失:
L c o n = l n ( 1 + e − L c r o s s ) + l n ( 1 + e L i n n e r ) L_{con} = ln(1+e^{-L_{cross}}) + ln(1+e^{L_{inner}}) Lcon=ln(1+eLcross)+ln(1+eLinner)
Combined Loss 如果仅仅采用无监督方式训练ConditionNet,输出特征对于超分泛化性能并不好。为平衡任务级特征提取与超分重建,我们将两种损失进行组合:
L = L c o n + λ ∗ L r e s L = L_{con} + \lambda * L_{res} L=Lcon+λLres

CMDSR训练与测试流程

Training 下图给出了CMDSR的训练流程:ConditionNet与BaseNet交替训练直到两者达到收敛。在每次迭代时,从退化分布 p ( T ) p(\mathcal{T}) p(T)中随机采样k个任务;然后对BaseNet进行自适应调整与训练。此外,每 t 0 t_{0} t0次迭代对ConditionNet进行一次联合优化。

training

Test 下图给出了测试阶段的流程。对于测试集X,我们从其他LR图像块(或者自身图像块)中提取条件特征;然后再采用BaseNet对测试集图像进行超分重建。

test

Experiments

在训练过程中,任务数量 k = 8 k=8 k=8,每个任务的支撑集 n = 20 n=20 n=20,图像块为 48 × 48 48\times 48 48×48,更新迭代 t 0 = 10 t_0=10 t0=10:这意味着BaseNet训练9次后再进行ConditionNet的联合训练。损失函数系数 λ = 0.1 \lambda=0.1 λ=0.1,BaseNet与ConditionNet的初始学习率分别为0.001与0.0001,优化器为Adam。

训练数据采用了DIV2K,不同的退化方式选用了不同的各向同性高斯模糊( 15 × 15 15\times 15 15×15各项同性高斯模糊,核宽范围 σ G ∈ [ 0.2 , s ] \sigma_G \in [0.2,s] σG[0.2,s])以及加性高斯噪声(噪声水平 σ N ∈ [ 0 , 75 ] \sigma_N \in [0,75] σN[0,75])。

Synthetic Images

我们先看一下合成数据上的效果对比。在这方面有三种类型的退化测试集:(1) Simple, 7 × 7 7\times 7 7×7各向同性高斯模糊核,核宽 λ = 0.2 \lambda=0.2 λ=0.2+BI下采样 g 0.2 b g_{0.2}^b g0.2b,噪声强度为15;(2)Middle, 7 × 7 7\times 7 7×7各项同性高斯模糊核,核宽 λ = 2.6 \lambda=2.6 λ=2.6+BI下采样 g 2.6 b g_{2.6}^b g2.6b,噪声强度为15;(3) Severe, 7 × 7 7\times 7 7×7各向异性高斯模糊核,核宽 λ 1 = 4 , λ 1 = 1 \lambda_1=4, \lambda_1=1 λ1=4,λ1=1,角度 Θ = − 0.5 \Theta=-0.5 Θ=0.5,BI下采样 g a n t i b g_{anti}^b gantib,噪声强度为50。

simple&middle

上图给出了Simple与Middle测试数据方面的指标与视觉效果对比,从中可以看到:

  • 由于退化的未知性,BI退化的RCAN导致了比较差的PSNR指标;
  • DnCNN+SRMDNF的组合出现了PSNR的严重下降与过度锐化问题;
  • 在Simple退化方面,本文所提CMDSR取得了盲超分中的最佳PSNR指标,但稍差于非盲方案。
  • 在Middle退化方面,本文所提CMDSR取得了最佳的PSNR指标,且优于非盲方案。这说明:当退化变得复杂后,所提方案的泛化性能变的更为重要。
  • 在视觉效果方面,CMDSR生成了更为锐化和清晰的超分结果。

severe

上图给出了Severe退化方面的性能与视觉效果对比,从中可以看到:CMDSR以较大优势超过了其他盲与非盲超分方案。此外需要注意:SRMD采用各向异性与各向同性高斯模糊同时进行训练,而本文所提CMDSR仅仅采用了各向同性高斯模糊进行训练。这进一步说明:本文所提方法在处理分布偏移方面的泛化性能。

Real Images

RealDataset

我们再来看一下真实数据上的对比,结果见上图。可以看到:

  • DnCNN+IKC生成了过度锐化的超分结果;
  • SRMD难以重建锐利边缘;
  • CMDSR则生成最佳的视觉效果:更少伪影、更锐利边缘、更亮丽色彩。

Ablation Experiments

为更好地说明本文所提方法不同模块的作用,我们进行了不同的消融实验分析。

conditionnet

上表对比了ConditionNet的作用。尽管ConditionNet并不直接用于超分,但它却是引入了更多的参数。为公平对比,我们将其与同参数量的SRResNet16进行对比。可以看到:CMDSR的PSNR指标更高,证实了ConditionNet的重要性

ConditionalFeature

为说明ConditionNet可以有效提取任务级特征,我们对齐所提取的特征进行了可视化,见上图。很明显:相同退化数据提取的条件特征具有强相似性;不同退化数据提取的条件特征具有不相似性

loss

上表给出了不同损失函数的重要性。可以看到:

  • 如果ConditionNet采用 L r e s L_{res} Lres进行训练,此时模型会出现性能崩溃,甚至比单一BaseNet还差;
  • 当ConditionNet仅仅采用 L c o n L_{con} Lcon进行训练时,模型性能还可以接受;
  • 当ConditionNet采用组合损失进行训练时,模型取得了最佳PSNR指标,这是因为模型在特征提取与超分重建方面取得了最佳均衡。

extend

上表给出了所提方案采用其他架构的超分模型时的性能对比。可以看到:替换为其他超分架构后仍可以取得了显著的性能提升;EDSR以更多的参数量取得了更佳的PSNR指标。

推荐阅读

  1. 你的感知损失可能用错了,沈春华团队提出随机权值广义感知损失
  2. CVPR2021|超分性能不变,计算量降低50%,董超等人提出用于low-level加速的ClassSR
  3. SANet|融合空域与通道注意力,南京大学提出置换注意力机制
  4. GhostSR|针对图像超分的特征冗余,华为诺亚&北大联合提出GhostSR
  5. 图像超分中的那些知识蒸馏
  6. ICLR2021 | 显著提升小模型性能,亚利桑那州立大学&微软联合提出SEED
  7. RepVGG|让你的ConVNet一卷到底,plain网络首次超过80%top1精度
  8. Transformer再下一城!low-level多个任务榜首被占领
  9. 通道注意力新突破!从频域角度出发,浙大提出FcaNet
  10. 无需额外数据、Tricks、架构调整,CMU开源首个将ResNet50精度提升至80%+新方法
  11. 46FPS+1080Px2超分+手机NPU,arm提出一种基于重参数化思想的超高效图像超分方案
  12. 动态卷积超进化!通道融合替换注意力,减少75%参数量且性能显著提升 ICLR 2021
  13. CVPR2021|“无痛涨点”的ACNet再进化,清华大学&旷视科技提出Inception类型的DBB
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AIWalker-Happy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值