【论文阅读笔记】Bicubic++: Slim, Slimmer, Slimmest Designing an Industry-Grade Super-Resolution Network

论文地址:https://arxiv.org/pdf/2305.02126.pdf

论文小结

  本文提出的实时性、轻量级的图像超分网络,名为Bicubic++

  Bicubic++的网络结构,首先学习了图像的快速可逆降级和低分辨率特征,以减少计算量。
  然后作者还设计了一个训练管道,可以在不使用幅度或梯度(magnitude or gradient)等指标的情况下实现端对端的全局结构裁剪,让优化后的网络可以专注于优化在验证集上的PSNR指标。

  此外,作者发现,偏置项占用了相当多的时间,会略微增加PSNR,因此作者在卷积的过程中移除偏置选项。

  在性能上,对比双三次差值算法,本文的方法在所有的SR测试数据集提升PSNR ∼ 1 d B \sim1dB 1dB。在720p输入和4K输出的 3 3 3倍超分目标,在RTX3090上耗时约1.17ms,在RTX3070上耗时约2.9ms,运行精度为FP16。目标是成为工业界现在使用的Bicubic++的替代方案。

  Bicubic++是NTIRE 2023 RTSR Track2赛道,即 3 3 3倍超分比赛的第一名,是所有竞争方法中最快的。

  总的来说,没啥新想法,主打的应用尝试。和bicubic比效果,和其他深度学习方法比时间。

论文简介

  网络的整体架构,是先进行 × 2 \times2 ×2的下采样,缩小图像特征,以显著减少计算量,然后在最后使用 × 6 \times6 ×6上采样。网络架构如上图所示。

  在训练阶段,提出三阶段训练管道来训练网络。首先训练一个卷积层通道大于“硬件最佳点”(hardware’s sweet spot)的网络。然后在不影响权重或梯度规范的情况下,使用全局结构化层裁剪(global structured layer pruning)。裁剪期间的重点在于维持PSNR的优化,卷积层bias的移除,和finetune操作,以进一步降低其运行速度,同时不会造成视觉效果的牺牲。

  整篇论文的优化方向,也就是竞赛中的计算分数(下列公式(1)),其中 P P P P b i c P_{bic} Pbic是网络和Bicubic上采样在测试集上的PSNR值, t t t 720 P 720P 720P 4 K 4K 4K的运行时间: S ( P , t ) = { 0 i f   P ≤ P b i c 2 P − P b i c × 2 0.1 × t e l s e (1) S(P,t)=\begin{cases} 0 \quad &if \ P\leq P_{bic} \\ \frac{2^{P-P_{bic}}\times2}{0.1\times\sqrt{t}} \quad & else \end{cases}\tag{1} S(P,t)={00.1×t 2PPbic×2if PPbicelse(1)

方法介绍

  作者对比了几种下采样方法(如下图所示),最后选择了带下采样的卷积,而不是S2D

  在通道数量的设计上,作者发现连续卷积层中某层的通道数降低,并不总是反馈到运行时间的降低。所以,作者决定在通道数上一直保持一致,除非在维持必要的输出通道数时。
  在一些超分方法上,通过Squeeze和expand模块来更好地提取特征。但作者认为,这种模块对于运行时间的增加大大超过了其对于模型带来的增益。
  为了得到最佳通道数,作者做了个实验,观察到运行时间与通道数并不是一直都是正相关的,存在一些“最佳点”,如下图所示。在作者的设计下,在实时性的约束下,RFDN论文中使用的 56 56 56个通道,和ABPN使用的 28 28 28个通道并不是最佳点。所以,如下图所示,本文最终模型使用的通道数为 32 32 32
  然而,作者一开始训练采用的通道数是 34 34 34,是一个非最优通道,然后对模型进行全局裁剪,获得最后的 32 32 32个通道

  作者对bias移除也进行了实验,证明相对于运行时间的降低,PSNR的降低是较小的。所以,在最后的网络中,也将偏置选项移除了。

训练细节

  本文总共训练三个管道:(1)大channel的模型;(2)channel裁剪的模型;(3)移除bias的模型。第二第三个模型,都进行finetune训练。三个训练管道均使用 Adam 优化器, β 1 = 0.99 \beta_1=0.99 β1=0.99 β 2 = 0.999 \beta_2=0.999 β2=0.999。每个管道都训练 1000 1000 1000个epoch,每个epoch由 800 800 800 组随机裁剪和翻转的对组成。每组LR的 patchSize 108 108 108,由DIV2K训练数据集经过 J P E G Q = 90 JPEG Q=90 JPEGQ=90 衰退而来。
  初始学习率为 5 e − 4 5e^{-4} 5e4,在所有阶段使用学习率衰减调度程序:其中在前 500 500 500个epoch中,学习率lr保持不变,在后500个epoch中,lr线性衰减,直到 1 e − 8 1e^{-8} 1e8

阶段一

  训练网络如下图所示。其中, c h = 34 , m = 2 , R = 1 ch=34,m=2,R=1 ch=34,m=2,R=1,DS是上面所提及的 s t r i d e = 2 stride=2 stride=2的卷积层,此时每层都有卷积偏置项bias。参数在后续有所解释。

阶段二

  模型裁剪阶段,全局结构化裁剪。裁剪channel。此时还在应用conv bias。此时将ch从 34 34 34降到 32 32 32

阶段三

  消除卷积层的偏置项。再次finetune网络。

论文实验

  量化分析网络的各个组成结构,消融实验如下表所示。

消融学习

  消融实验部分由五个方面组成:
  (1)下采样(Downscaling, DS),偏置(bias, b),激活层函数选择。
  从实验Q到T,可以看出,即便在通道数较少的情况下,带有stride的卷积(SC),比离散小波变换(discrete wavelet transform,DWT)和space-to-space(S2D)要好(score是有一个比赛的公式得到的)。
  对比Q和Z,尽管Q的通道数更少,但Q和Z几乎获得相同的分数(score以psnr和runtime为平衡)。
  对比T和A,可以看出LReLU比ReLU能带来较大收益,而基本没有运行时间的损失
  对比A和E,可以看出,移除偏置项bias,可以得到更高的分数。

  (2)残差模块数量(R)和卷积层数量(m)
  1到4和E的实验结果表明,设置为 m = 2 m=2 m=2 R = 1 R=1 R=1在尝试的模型架构中得到最佳分数。因此,最终的模型参数为 c h = 32 ch=32 ch=32,DS为SC,激活层为Leaky ReLU,并且在某个时刻禁用偏置项。
  但可以看出, m 和 R 的提升也带来了PSNR的提升。

   (3)确定裁剪前模型的通道数量
  为了确定裁剪到 channel为32模型的大模型通道数。从P/B/R的实验看,通道数为 34 34 34的大模型好一点,有最高的裁剪分数。

   (4)finetune和偏置项移除
  从上面的模型 B B B剪枝得到了 B ∗ B^* B后,再次对剪枝模型进行微调,得到模型 C C C
  对比C和F,可以看出剪枝的积极效果。剪枝后的训练,比直接训练,指标要略微提升一点。
  最后,作者从模型 C C C中移除偏置项,再次进行微调,就获得了本文提出的模型 Bicubic++ 。模型 I I I 和模型 F F F无法得到最优指标,这都表明了通过剪枝这种训练管道的优势

  几种训练管道实验步骤( A → G , E → H , A → F → I , A → E → H → J A\rightarrow G, E\rightarrow H, A\rightarrow F\rightarrow I, A\rightarrow E\rightarrow H\rightarrow J AG,EH,AFI,AEHJ)的视觉效果对比如下图所示。

  (5)不同的R(残差块)和m(卷积层数)参数的加载
  提高R和m抗原带来更高的PSNR以及更慢的运行时间,本文的目标是在RTX3070保持在3ms以下,所以就坚持上面的选择。

对比结果

  定量和定性的比较结果如下图所示。本文提出的Bicubic++比Bicubic好,比其他相关方法运行速度快。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值