1、Deep Unfolding Network for Image Super-Resolution
1.1 总结
作者认为:
learning-base方法目前展现出相比传统model-base方法更好的结果。然而model-base方法可以解决的超分中一些问题,比如不同的缩放因子,模糊核,噪声水平。
所以作者提出了一个利用了model-base和learning-base两者优势的网络。
通过半二次分裂算法,可以得到由交替求解一个数据子问题和先验子问题组成的固定迭代次数,这部分可以由神经网络来实现。
在related work里面,作者介绍了
- degradataion models, bicubic, gaussian noise, jpeg compression noise。
- flexible SISR methods 之前的大多数方法都局限于高斯模糊核,2019有一篇deep plug-an-play,可以应对比较多的退化方式,但是里面的传统方法也有很多的计算量。作者是完全采样了神经网络来实现。
- deep undfolding image restoration 有half-quadratic splitting, alternation direction method of multipliers,primal-dual 。相比于简单的学习模型,unfolding methods可以融合退化约束到学习模型中。但是这些方法可能会有一些问题:1)模型能力不够;3)数据问题没有通过一个闭环的方式;3)预测阶段分成了预测和微调方式而不是一个end-to-end的方式。
1.2 方法
1.2.1 degradation model :classical vs. bicubic
退化模型可以表示为:
y
=
(
x
⊗
k
)
↓
s
+
n
y = (x ⊗ k) \downarrow_s + n
y=(x⊗k)↓s+n
bicubic退化可以近似为为上面的找到一个合适的模糊核。作者采用数据驱动的方式,通过最小化大量的的HR/bicubic-LR图片对
k
b
i
c
u
b
i
c
×
s
=
a
r
g
m
i
n
k
∣
∣
(
x
⊗
k
)
↓
s
−
y
∣
∣
k_{bicubic}^{\times s} = argmin_k ||(x ⊗ k )\downarrow_s - y||
kbicubic×s=argmink∣∣(x⊗k)↓s−y∣∣
1.2.2 unfolding optimization
根据MAP框架,HR图片可以通过下面的能量方程估计
E
(
x
)
=
1
2
σ
2
∣
∣
y
−
(
x
⊗
k
)
↓
s
)
∣
∣
2
+
λ
Φ
(
x
)
E(x) = \frac{1}{2\sigma^2}||y - (x⊗ k)\downarrow_s)||^2 + \lambda \Phi(x)
E(x)=2σ21∣∣y−(x⊗k)↓s)∣∣2+λΦ(x)
里面前一项事数据项,后一项是先验项。作者采用了half-quadratic spliting(HQS)算法。HQS解决上面的方程通过引进一个辅助变量
z
z
z,得到下面近似的方程:
E
μ
(
x
,
z
)
=
1
2
σ
2
∣
∣
y
−
(
z
⊗
k
)
↓
s
∣
∣
2
+
λ
Φ
(
x
)
+
μ
2
∣
∣
z
−
x
∣
∣
2
E_{\mu}(x,z) = \frac{1}{2\sigma^2}||y - (z ⊗ k)\downarrow_s||^2 + \lambda\Phi(x) + \frac {\mu}{2}||z-x||^2
Eμ(x,z)=2σ21∣∣y−(z⊗k)↓s∣∣2+λΦ(x)+2μ∣∣z−x∣∣2
μ
\mu
μ是惩罚参数。可以通过下面的方式迭代计算:
{
z
k
=
a
r
g
m
i
n
z
∣
∣
y
−
(
z
⊗
k
)
↓
s
∣
∣
2
+
μ
σ
2
∣
∣
z
−
x
k
−
1
∣
∣
x
k
=
a
r
g
m
i
n
x
μ
2
∣
∣
z
k
−
x
∣
∣
2
+
λ
Φ
(
x
)
\left\{ \begin{aligned} z_k & = argmin_z||y - (z⊗k)\downarrow_s||^2 + \mu \sigma^2||z-x_{k-1}|| \\ x_k & = argmin_x \frac{\mu}{2} ||z_k -x||^2 +\lambda\Phi(x) \end{aligned} \right.
⎩
⎨
⎧zkxk=argminz∣∣y−(z⊗k)↓s∣∣2+μσ2∣∣z−xk−1∣∣=argminx2μ∣∣zk−x∣∣2+λΦ(x)
μ
\mu
μ的选择应该是足够大,但是这样计算可能比较慢,所以选用了逐渐增大。
μ
\mu
μ在第k次迭代记为
μ
k
\mu_k
μk。上面的公式把分别表示了数据项和先验项。
z
k
z_k
zk可以通过FFT快速傅里叶计算基于circular boundary conditions卷积可以快速进行。
1.2.3 Deep unfolding network
网络包括一个
D
D
D和一个
P
P
P(prior term),同时还有一个超参模块
H
H
H。网络结构如下。
Data module D : 通过最小化数据项和二次正则化项得到高清HR。
简化为
z
k
=
D
(
x
k
−
1
,
s
,
k
,
y
,
α
k
)
z_k = D(x_{k-1},s,k,y,\alpha_k)
zk=D(xk−1,s,k,y,αk)
输入,缩放因子,模糊核,LR图片,参数。
x
0
x_0
x0通过
y
y
y 插值得到。上面的公式不包含可训练参数??。
Prior module P : 通过降噪,ResUNet结构。U-Net里面加ResNet。
x
k
=
P
(
z
k
,
β
k
)
x_k = P(z_k, \beta_k)
xk=P(zk,βk)
D
D
D可以作为一个高频信号恢复的细节增强器,消除模糊核引起的退化。
2、Meta-Transfer Learning for Zero-Shot Super-Resolution
2.1总结
CNNs方法对SISR图像有不错的效果。
尽管基于外部数据集的性能非常出色,但它们无法利用特定图像中的内部信息。
而且最对模型"认识过"的具体条件下的图片有超分的结果。比如通常的 biubic downsampled noise-free
zero-shot super-resoluton(ZSSR)用于解决灵活的内部学习。然而需要比较多的梯度更新、长时间的预测。
作者提出了 MZSR(meta-transfer)。基于线找到一个通用的适用于internal learning的初始参数,一个单一的梯度更新可以产生可观的结果,网络可以快速适用于给定的图片条件。
Meta-Transfer Learning for Zero-Shot SuperResolution
实现了kernel-agnostic,ZSSR只有一个meta-test阶段,作者通过meta-training使模型能更快地应用到新的模糊核上。同时通过迁移学习利用更多样本的信息。meta-learning实现了一个任务级的功能,可以应对不同的下采样核。在meta-test阶段,简单的自监督学习可以学习到特定于图像的信息,所以可以同时利用外部和内部的信息。再加上ZSSR,可以设计出轻量级的网络。
2.2 背景
SISR的图片退化模型可以表示为
I L R k = ( I H R ∗ k ) ↓ s + n I_{LR}^k = (I_{HR} * k)\downarrow_s + n ILRk=(IHR∗k)↓s+n
Meta-Learning主要有三个类别
- meric based methods
- memory network-based methods
- optimization based methods
ZSSR(Zero-Shot Super-Resolution)
unsupervised or self-supervised,训练和测试两个阶段都在运行时进行
训练的时候,训练集来自于测试的图片,将测试的图片
I
L
R
I_{LR}
ILR通过核产生
I
s
o
n
I_{son}
Ison,原来的
I
L
R
I_{LR}
ILR就是相对于
I
s
o
n
I_{son}
Ison的‘HR’,由此有了训练的 LR-HR图片对。所以训练只依赖于测试图片。在测试阶段,将
I
L
R
I_{LR}
ILR作为输入。
Meta-Learning
包括两个阶段:meta-training 和 meta-test。
作者的任务里,不同的模糊核代表不同的任务。
2.3 Method
2.3.1 Large-scale Training
首先合成大量的训练图片对
(
I
H
R
,
I
L
R
b
i
c
)
(I_{HR},I_{LR}^{bic})
(IHR,ILRbic),记为
D
D
D,通过下面的loss训练网络
L
D
(
θ
)
=
E
D
∼
(
I
H
R
,
I
L
R
b
i
c
)
[
∣
∣
I
H
R
−
f
θ
(
I
L
R
b
i
c
)
∣
∣
1
]
L^D(\theta) = E_{D \sim (I_{HR}, I_{LR}^{bic})}[||I_{HR} - f_{\theta}(I_{LR}^{bic})||_1]
LD(θ)=ED∼(IHR,ILRbic)[∣∣IHR−fθ(ILRbic)∣∣1]
这部分提供了超分任务共性,同时缓解了后面meta-learning训练的不稳定性。
2.3.2 Meta-Transfer Learning
更新原则
θ
i
=
θ
−
α
∇
θ
L
T
i
t
r
(
θ
)
\theta_i = \theta - \alpha ∇_{\theta}L_{T_i}^{tr}(\theta)
θi=θ−α∇θLTitr(θ)
meta-objective
a
r
g
m
i
n
θ
∑
T
i
∼
p
(
T
)
L
T
i
t
e
(
θ
i
)
=
a
r
g
m
i
n
θ
∑
T
i
∼
p
(
T
)
L
T
i
t
e
(
θ
−
α
∇
θ
L
T
i
t
r
(
θ
)
)
argmin_{\theta}\sum_{T_i \sim p(T)} L_{T_i}^{te}(\theta_i) = argmin_{\theta} \sum_{T_i \sim p(T)}L_{T_i}^{te}(\theta - \alpha ∇_{\theta}L_{T_i}^{tr}(\theta))
argminθTi∼p(T)∑LTite(θi)=argminθTi∼p(T)∑LTite(θ−α∇θLTitr(θ))
任何的基于梯度优化的方法都可以用于meta-transfer training。
2.3.3 Meta-Test
3. Residual Feature Aggregation Network for Image Super-Resolution
3.1总结
在SISR方法中,很多方法都用上了residual connections。随着网络深度不断增加,residual features也渐渐地聚焦在不同层面的特征上。现在的方法忽略了利用residual分支的分层信息。所以作者提出了一个新的 residual feature aggregation(RFA) 框架,可以聚集不同残差模块并通过skip connections将每个残差模块的特征聚集,前向传播。同时作者还加入了一个enhanced spatial attention(ESA)模块。
以往的方法对ResBlock的应用都是将残差特征和 identity features做融合,然后继续传播。作者认为residual features都可以利用起来。如下面的RFA框架。
3.2 方法
SR通用基础框架设计
基础的SR网络通常包括三部分: the head part, the trunk part, the reconstruction part。
- head part:浅层特征提取,通常都是一个卷积层设计
- trunk part:通常由T个基础模块组成。
- reconstructon part 上采样
网络通常是通过 L 1 L1 L1 loss训练。
L ( Θ ) = 1 N ∑ i = 1 N ∣ ∣ G ( I L R i ) − I H R i ∣ ∣ 1 L(\Theta) = \frac{1}{N}\sum_{i=1}^N||G(I_{LR}^i) - I_{HR}^i||_1 L(Θ)=N1i=1∑N∣∣G(ILRi)−IHRi∣∣1
Residual Feature Aggregation Framework Residual
作者认为以往的没有skip-connects的前向传播传递到后面的信息都很局部