2019CVPR超分文章记录系列三:PASSRnet-NatSR-AdaFMNet
2019CVPR超分文章记录系列二:IKC-MetaSR-ODEInspired
2019CVPR超分文章记录系列一:FSTRN-resLR-SRFBN-RBPN
超分文章记录 SRCNN-FSRCNN-ESPCN-VDCN-DRCN-RDN-LapSRN-SRDenseNet-SRGAN
1、Second-order Attention Network for Single Image Super-Resolution
1.1 总结
以往的网络都是通过更深更大的结构来实现超分,但是他们忽略了中间层的特征联系,没有发挥出网络的表示作用。
作者提出了一个second-order attention(SAN)网络,可以有更强的特征表示和特征关系学习。具体来说有一个second-order channel attention(SOCA) module通过二阶特征统计特性自适应调整channel-wise特征。
最后提出一个non-locally enhanced residual group(NLRG)结构,不仅合并了non-local操作去捕获long-distance spatial contxtual information,同时包含local-source residual attention groups(LSRAG)学习日益抽象的特征表示。
之前的方法存在的问题
1、优化过程需要的时间长
2、当图片统计特性改变时性能快速下降。
存在CNN SR方法还有以下问题
1、不能充分利用原始LR图像的信息,导致性能较差
2、主要致力于设计更深层或更广的网络,以了解更多有区别的高层特征,而很少利用中间层的固有特征相关性,从而阻碍了cnn的表现能力
1.2 Second-order Attention Network (SAN)
1.2.1 网络框架
SAN包括了四部分
- shallow feature extraction
- non-locally enhanced residual group (NLRG) based deep feature extraction
- up-scale module
- reconstruction part
首先是一个单层的卷积 H S F H_{SF} HSF 提取浅层特征 F 0 F_0 F0。然后是 H N L R G H_{NLRG} HNLRG,用了几个non-local module扩大感受野,还用了几个local-source residual attention group(LSRAG)模块。得到特征 F D F F_{DF} FDF。最后上采样 H ↑ H_{\uparrow} H↑得到了超分图片 F ↑ F_{\uparrow} F↑。然后作者是采样了 L 1 L_1 L1 loss:
L Θ = 1 N ∑ i = 1 N ∣ ∣ H S A N ( I L R i ) − I H R i ∣ ∣ 1 L_{\Theta} = \frac{1}{N}\sum_{i=1}^N||H_{SAN}(I_{LR}^i) - I_{HR}^i||_1 LΘ=N1i=1∑N∣∣HSAN(ILRi)−IHRi∣∣1
1.2.2 Non-locally Enhanced Residual Group(NLRG)
NLRG包括了region-level non-local(RL-NL)模块和share-source residual group(SSRG) structure。RL-NL充分利用了LR特征中丰富的结构线索和HR自然场景中的自相似性。SSRG由G个local-source residual attention groups(LSRAG)和share-source skip connections (SSC)组成。每个LSRAG包括M个具有local-source skip connection的简化residual blocks,然后是一个二阶信道注意(SOCA)模块来利用特征的互依性。
在网络中LSRAG最为基本模块,第
g
g
g个LSRAG的输入输出及其关系表示为:
F
g
=
W
S
S
C
F
0
+
H
g
(
F
g
−
1
)
F_g = W_{SSC}F_0 + H_g(F_{g-1})
Fg=WSSCF0+Hg(Fg−1)
$ W_{SSC}
表
示
卷
积
的
权
重
。
最
后
表示卷积的权重。最后
表示卷积的权重。最后F_{DF}$ 可以写成
F
D
F
=
F
G
+
W
S
S
C
F
0
F_{DF} = F_G + W_{SSC} F_0
FDF=FG+WSSCF0
RL-NL模块:利用LR特征中丰富的结构线索和HR自然场景中的自相似性。global-level non-local有一些局限性。 RL-NL将特征分成几个块的输入进行操作,利用特征的空间相关性,对特征表示进行非局部增强,然后进入后续层。
LSRAG模块:
第
g
g
g个LSRAG中的第m个
m
m
mresidual可以写成
F
g
,
m
=
H
g
,
m
(
F
g
,
m
−
1
)
F_{g, m} = H_{g,m}(F_{g,m-1})
Fg,m=Hg,m(Fg,m−1)
最后的输出是
F
g
=
W
g
F
g
−
1
+
F
g
,
M
F_g = W_gF_{g-1} + F_{g,M}
Fg=WgFg−1+Fg,M
作者在LSRAG最后加了SOCA,学习自适应rescale channel-wise feature通过考虑二阶特征统计特性。
SOCA
用了covariance normalization,后面作者用了一个加速的方法在GPU上用。
作者认为协方差可以体现差异性。
考虑输入的特征为
F
=
[
f
1
,
.
.
.
,
f
C
]
F = [f_1, ..., f_C]
F=[f1,...,fC],每一层大小为
H
∗
W
H*W
H∗W,可以写成一个二维矩阵
X
X
X,每一行特征为
s
=
W
H
s = WH
s=WH,有
C
C
C行。
那么有
Σ
=
X
I
^
X
T
\Sigma =X \hat I X^T
Σ=XI^XT,
I
^
=
1
s
(
I
−
1
s
1
)
\hat I = \frac{1}{s}(I - \frac{1}{s}1)
I^=s1(I−s11),最终为
s
∗
s
s*s
s∗s大小。
也可以写成
Σ
=
U
Λ
U
T
\Sigma = U Λ U^T
Σ=UΛUT,做幂运算有,
Y
^
=
Σ
α
=
U
Λ
α
U
T
\hat Y = \Sigma^{\alpha} = U Λ^{\alpha} U^T
Y^=Σα=UΛαUT
可以得到
Y
^
\hat Y
Y^的大小为
c
∗
c
c*c
c∗c
Channel attention
让
Y
^
=
[
y
1
,
.
.
.
,
y
C
]
\hat Y = [y_1, ... ,y_C]
Y^=[y1,...,yC]
可以得到
z
c
=
H
G
C
P
(
y
c
)
=
1
C
∑
i
C
y
c
(
i
)
z_c = H_{GCP}(y_c) = \frac{1}{C}\sum_i^Cy_c(i)
zc=HGCP(yc)=C1i∑Cyc(i)
z
c
z_c
zc最用在最开始输入的特征,实现channel attention
2、Towards Real Scene Super-Resolution with Raw Images
代码地址
很多存在的超分方法对真实场景超分效果不好,主要是缺少这方面的训练数据。
本文作者提出了一种模拟数码相机产生图片的方式生成逼真的训练数据
同时提出一个dual卷积神经网络来利用原始图像中捕获的辐射信息,同时提出学习一个空间变分颜色转换恢复细节。
使用原始图片的几个优势:
- raw pixel有很多信息,他们通常是12bit或者14 bit,但是经过ISP得到的图片通常是8 bit,但是经过ISP还有降噪和压缩损失了信息。
- 原始数据与场景辐射成正比,而ISP包含非线性操作,比如色调映射。因此,图像处理过程中的线性退化,包括模糊和噪声,在经过处理的RGB空间中是非线性的。
- SP中的去模块化步骤与超分辨率高度相关,因为这两个问题都涉及到摄像机的分辨率限制。(这一句看不出表达什么,可能就是说要对原始数据做处理比较好)
作者提出了:
提出了一个dual CNN网络结构,将退化的原始图像和彩色图像作为输入。原始图像的分支可以得到细节和清晰的结构,彩色图像有颜色细节。
使用densely connected convolution layers获取multi-scale特征,使用encoder-decoder框架做图片恢复。颜色矫正模块使用一个global transformation。提出了pixel-wise颜色转换取解决更复杂的空间颜色变化操作。
问题:
作者针对的是真实场景,网络的输入包括了raw image,这个数据实际中可能不好拿到。看了文章,有这方面的数据集,MIT-Adobe 5K,和之前超分用的普遍的数据集不一样。
2.1 方法
2.1.1训练数据
训练数据产生:
首先通过对高质量的原始图像进行下采样来合成gt
X
l
i
n
∈
R
H
∗
W
∗
3
X_{lin} \in R^{H*W*3}
Xlin∈RH∗W∗3,通过模仿相机ISP系统的颜色校准步骤得到
X
g
t
∈
R
H
∗
W
∗
3
X_{gt} \in R^{H * W *3}
Xgt∈RH∗W∗3。
为了产生退化的低像素原始图像
X
r
a
w
∈
R
H
2
∗
W
2
X_{raw} \in R^{\frac{H}{2} * \frac{W}{2}}
Xraw∈R2H∗2W。采样了模糊,降采,Bayer采样,加噪
X
r
a
w
=
f
B
a
y
e
r
(
f
d
o
w
n
(
X
l
i
n
∗
k
d
e
f
∗
k
m
o
t
)
)
+
n
X_{raw} = f_{Bayer}(f_{down}(X_{lin} * k_{def} * k_{mot})) + n
Xraw=fBayer(fdown(Xlin∗kdef∗kmot))+n
还根据每个像素的亮度加了 heteroscedastic Gaussian noise。
2.1.2 网络结构
使用raw image恢复结构和细节,color image得到高保真图像。
Image restoration:带有dense net的encoder-decoder
Color correction
用CNN预测一个转换
Φ
(
X
r
e
)
∈
R
3
∗
3
\Phi(X_{re}) \in R^{3*3}
Φ(Xre)∈R3∗3,产生全局颜色矫正。
最后的结果是
X
^
[
i
,
j
]
=
Φ
(
X
r
e
f
)
[
i
,
j
]
X
^
l
i
n
[
i
,
j
]
\hat X[i, j] = \Phi(X_{ref})[i, j]\hat X_{lin}[i,j]
X^[i,j]=Φ(Xref)[i,j]X^lin[i,j]
Φ
(
X
r
e
f
)
[
i
,
j
]
∈
R
3
∗
3
\Phi(X_{ref})[i, j] \in R^{3*3}
Φ(Xref)[i,j]∈R3∗3。使用U-Net结构预测
Φ
(
X
r
e
f
)
\Phi(X_{ref})
Φ(Xref),将编码器和解码器中具有相同分辨率的特征映射连接到扩展层次特征。最后对每个像素产生
3
∗
3
3*3
3∗3的权重。
Feature fusion
分别对两个支路encoder出来的特征做融合,由于具有不同的维度,通过weighted sum实现。
g
2
(
X
r
e
f
)
←
g
2
(
X
r
e
f
)
+
ϕ
(
g
1
(
X
r
a
w
)
)
g_2(X_{ref}) \leftarrow g_2(X_{ref}) + \phi(g_1(X_{raw}))
g2(Xref)←g2(Xref)+ϕ(g1(Xraw))
ϕ
\phi
ϕ是
1
∗
1
1*1
1∗1卷积。然后更新后的
g
2
(
X
r
e
f
)
g_2(X_{ref})
g2(Xref)放入原来的分支中,decoder可以用融合特征做transformation estimation。
卷积用零初始化,以避免中断颜色校正分支的初始行为。
3、Deep Plug-and-Play Super-Resolution for Arbitrary Blur Kernels
代码地址
盲超分目前还是个问题。同时即插即用的图片恢复模块有很高的灵活性。
本文提出了一种基于双三次退化的深度SISR算法,并借助于plug-and-play框架,对具有任意模糊核的LR图像进行处理。
目前很多的SISR方法都是基于特定的退化模型设计的。有两个广泛应用的退化模型。
第一个是模糊核降采样加噪。这些方法大多假设一个先验的模糊核,在实际应用中很难估计。
第二种是bicubic degradation
所以作者考虑了两个问题
1、designing an alternative degradation model
2、扩展存在的基于双三次退化的DNN到新的退化模型。
最终作者提出一个简单有效的退化模型,假设LR图像是HR图像的双三次下采样、模糊和噪声版本。好处是提供了两种方式的优点,推广了双三次退化模型。同时能够采用现有的盲去模糊方法从给定的LR图像中估计出模糊核。
作者提出了deep plug-and-play super-resolution (DPSR) 框架,集成了基于DNN的super-resolver和基于variable split的优化迭代转换。
3.1 方法
3.1.1 New degradation model
y
=
(
x
↓
s
)
⊗
k
+
n
y = (x\downarrow_s)⊗k + n
y=(x↓s)⊗k+n
↓
\downarrow
↓是双三次降采器,然后模糊加噪。
建立能量方程
m
i
n
x
1
2
σ
2
∣
∣
y
−
(
x
↓
s
)
⊗
k
∣
∣
2
+
λ
Φ
(
x
)
min_x \frac{1}{2\sigma^2}||y - (x \downarrow_s) ⊗k ||^2 + \lambda \Phi(x)
minx2σ21∣∣y−(x↓s)⊗k∣∣2+λΦ(x)
其中
1
2
σ
2
∣
∣
y
−
(
x
↓
s
)
⊗
k
∣
∣
2
\frac{1}{2\sigma^2}||y - (x \downarrow_s) ⊗k ||^2
2σ21∣∣y−(x↓s)⊗k∣∣2是数据保真(似然)项,由退化模型决定。
Φ
(
x
)
\Phi(x)
Φ(x)是正则化项。
3.1.2 Deep plug-and-play SISR
使用变分分割技术引入一个辅助变量
z
z
z
x
^
=
a
r
g
m
i
n
x
1
2
σ
2
∣
∣
y
−
z
⊗
k
∣
∣
2
s
u
b
j
e
c
t
t
o
z
=
x
↓
s
\hat x = argmin_x \frac{1}{2\sigma^2}||y - z⊗k||^2 \\subject \ to \ z = x \downarrow_s
x^=argminx2σ21∣∣y−z⊗k∣∣2subject to z=x↓s
通过最小化下面方程可以解决上面的方程
L
μ
(
x
,
z
)
=
1
2
σ
2
∣
∣
y
−
z
⊗
k
∣
∣
2
+
λ
Φ
(
x
)
+
μ
2
∣
∣
z
−
x
↓
s
∣
∣
2
L_{\mu}(x,z)=\frac{1}{2\sigma^2}|| y - z⊗k||^2 + \lambda \Phi(x) + \frac{\mu}{2}||z - x\downarrow_s||^2
Lμ(x,z)=2σ21∣∣y−z⊗k∣∣2+λΦ(x)+2μ∣∣z−x↓s∣∣2
μ
\mu
μ是罚项(有点像最优化的外点法??)
μ
\mu
μ是一个逐渐上升的顺序。
{
z
k
+
1
=
a
r
g
m
i
n
z
∣
∣
y
−
z
⊗
k
∣
∣
2
+
μ
σ
2
∣
∣
−
x
k
↓
x
∣
∣
2
x
k
+
1
=
a
r
g
m
i
n
x
μ
z
∣
∣
z
k
+
1
−
x
↓
s
∣
∣
2
+
λ
Φ
(
x
)
\left\{ \begin{array}{lr} z_{k+1} = argmin_z||y - z⊗k||^2 + \mu\sigma^2|| - x_{k\downarrow_x}||^2\\ x_{k+1} = argmin_x \frac{\mu}{z}||z_{k+1} - x\downarrow_s||^2 + \lambda\Phi(x) \end{array} \right.
{zk+1=argminz∣∣y−z⊗k∣∣2+μσ2∣∣−xk↓x∣∣2xk+1=argminxzμ∣∣zk+1−x↓s∣∣2+λΦ(x)
假设卷积是用圆边界条件进行的,上面第一个方程有快速的封闭形式的解决方案。