2019CVPR超分文章记录系列二:IKC-MetaSR-ODEInspired
2019CVPR超分文章记录系列一:FSTRN-resLR-SRFBN-RBPN
2019前超分文章记录 SRCNN-FSRCNN-ESPCN-VDCN-DRCN-RDN-LapSRN-SRDenseNet
1、Learning Parallax Attention for Stereo Image Super-Resolution(2019CVPR PASSRnet)
1.1 方法
输入:a stereo image pair as input and super-resolves the left image
一个立体图像对作为输入和左图像超分结果?
总体网络结构图如图所示:
1.1.1 Residual Atrous Spatial Pyramid Pooling (ASPP) Module
利用密集的像素采样率和尺度扩大感受野、提取特征。
这个模块设计了ige串联形的残差ASPP模块和残差模块。ASPP模块包括三个dilated convolultion,ASPP产生了多尺度特征,然后送入residual模块做特征融合。ASPP模块扩大了感受野,同时丰富了卷积的多样性,有不同的dilation rates。如上图b模块
1.1.2 Parallax-attention Module (PAM) (视差注意力模块)
用于捕获全局联系。
Parallax-attention Mechanism
如上图c所示。先将特征
A
A
A和
B
B
B送入一个转换残余模块?(transition residual block)产生
A
0
A_0
A0和
B
0
B_0
B0。
A
0
A_0
A0用于产生查询特征
Q
∈
R
H
∗
W
∗
C
Q \in R^{H*W*C}
Q∈RH∗W∗C,同时
B
0
B_0
B0产生
S
∈
R
H
∗
W
∗
C
S \in R^{H*W*C}
S∈RH∗W∗C,之后reshape成
R
H
∗
C
∗
W
R^{H*C*W}
RH∗C∗W。使用Batch-wise matrix multiplication(批量矩阵乘法)和softmax,产生了paralla attention map
M
B
→
A
∈
R
H
∗
W
∗
W
M_{B \to A} \in R^{H*W*W}
MB→A∈RH∗W∗W,
B
B
B再经过一个
1
∗
1
1*1
1∗1的卷积产生
R
∈
R
H
∗
W
∗
C
R \in R^{H*W*C}
R∈RH∗W∗C,再和
M
B
→
A
M_{B\to A}
MB→A做运算产生特征
O
∈
R
H
∗
W
∗
C
O \in R^{H*W*C}
O∈RH∗W∗C。O与所有对应的局部特征A进行积分,作为所有可能差异的特征加权总和。
由于可以产生
M
B
→
A
M_{B \to A}
MB→A,A和B可以交换产生
M
A
→
B
M_{A \to B}
MA→B,产生有效的mask,最后将叠加的特征和有效的掩模送入
1
∗
1
1*1
1∗1卷积做特征融合。
作者设计的这个模块可以让网络学习到极线最相似的特征,而不是手机所有相似的特征,这种会产生稀疏的attention maps。
M
r
i
g
h
t
→
l
e
f
t
(
i
,
j
,
k
)
M_{right \to left}(i, j, k)
Mright→left(i,j,k)代表右图
(
i
,
k
)
(i, k)
(i,k)位置到左图
(
i
,
j
)
(i, j)
(i,j)位置的contribution。
Left-right Consistency & Cycle Consistency
提供一对LR stereo图片对的深度特征
(
I
l
e
f
t
L
,
I
r
i
g
h
t
L
)
(I_{left}^L, I_{right}^L)
(IleftL,IrightL)和两个极线注意力maps
(
M
l
e
f
t
→
r
i
g
h
t
,
M
r
i
g
h
t
→
l
e
f
t
)
(M_{left \to right},M_{right \to left})
(Mleft→right,Mright→left),有下面的关系
I
l
e
f
t
L
=
M
r
i
g
h
t
→
l
e
f
t
⊗
I
r
i
g
h
t
L
I_{left}^L = M_{right \to left} ⊗ I_{right}^L
IleftL=Mright→left⊗IrightL
I
r
i
g
h
t
L
=
M
l
e
f
t
→
r
i
g
h
t
⊗
I
l
e
f
t
L
I_{right}^L = M_{left \to right} ⊗ I_{left}^L
IrightL=Mleft→right⊗IleftL
由此,可以有
I
l
e
f
t
L
=
M
l
e
f
t
→
r
i
g
h
t
→
l
e
f
t
⊗
I
l
e
f
t
L
I_{left}^L= M_{left \to right \to left} ⊗ I_{left}^L
IleftL=Mleft→right→left⊗IleftL
其中
M
l
e
f
t
→
r
i
g
h
t
→
l
e
f
t
=
M
r
i
g
h
t
→
l
e
f
t
⊗
M
l
e
f
t
→
r
i
g
h
t
M_{left \to right \to left} =M_{right \to left} ⊗ M_{left \to right}
Mleft→right→left=Mright→left⊗Mleft→right
Valid Masks
由于遮挡区域的左右一致性和周期一致性不成立,使用遮挡检测方法来生成有效的掩模。只对有效区域强制一致性。遮挡区域的权重总是很小,所以有
V
l
e
f
t
→
r
i
g
h
t
(
i
,
j
)
=
{
1
,
i
f
∑
k
∈
[
1
,
W
]
M
l
e
f
t
→
r
i
g
h
t
(
i
,
k
,
j
)
>
τ
0
,
o
t
h
e
r
w
i
s
e
V_{left \to right}(i, j) = \left \{ \begin{aligned} 1, if \sum_{k \in [1,W]} M_{left \to right}(i, k, j) > \tau \\ 0, otherwise \end{aligned} \right.
Vleft→right(i,j)=⎩⎪⎨⎪⎧1,ifk∈[1,W]∑Mleft→right(i,k,j)>τ0,otherwise
因为左图遮挡的像素在有图找不到对应的点,所以他们的值会很低。我们使用几种形态学运算来处理有效mask中孤立的像素和孔。 注意,左图像中的遮挡区域不能从右图像获得附加信息。
V
l
e
f
t
→
r
i
g
h
t
V_{left \to right}
Vleft→right可以用来引导特征融合。
1.2 Loss
L = L S R + λ ( L p h o t o m e t r i c + L s m o o t h + L c y c l e ) L = L_{SR} + \lambda (L_{photometric} + L_{smooth} + L_{cycle}) L=LSR+λ(Lphotometric+Lsmooth+Lcycle)
- SR LOSS
MSE L S R = ∣ ∣ I l e f t S R − I l e f t H ∣ ∣ 2 2 L_{SR} = ||I_{left}^{SR} - I_{left}^H||_2^2 LSR=∣∣IleftSR−IleftH∣∣22 - Photometric Loss
MAE(mean absolute error (MAE) loss)
L p h o t o m e t r i c = ∑ p ∈ V l e f t → r i g h t ∣ ∣ I l e f t L ( p ) − ( M r i g h t → l e f t ⊗ I r i g h t L ) ( p ) ∣ ∣ 1 + ∑ p ∈ V r i g h t → l e f t ∣ ∣ I r i g h t L ( p ) − ( M l e f t → r i g h t ⊗ I l e f t L ) ( p ) ∣ ∣ 1 \begin{aligned} L_{photometric} = \sum_{p \in V_{left \to right}}||I_{left}^L(p) - (M_{right \to left} ⊗ I_{right}^L)(p) ||_1 \\ +\sum_{p\in V_{right \to left}} ||I_{right}^L(p) - (M_{left \to right} ⊗ I_{left}^L)(p) ||_1 \end{aligned} Lphotometric=p∈Vleft→right∑∣∣IleftL(p)−(Mright→left⊗IrightL)(p)∣∣1+p∈Vright→left∑∣∣IrightL(p)−(Mleft→right⊗IleftL)(p)∣∣1
p p p代表具有有mask的像素 - Smoothness Loss
在没有纹理的区域产生精确一致的注意机制
L s m o o t h = ∑ M ∑ i , j , k ( ∣ ∣ M ( i , j , k ) − M ( i + 1 , j , k ) ∣ ∣ 1 + ∣ ∣ M ( i , j , k ) − M ( i , j + 1 , k + 1 ) ∣ ∣ 1 ) \begin{aligned} L_{smooth} = \sum_M \sum_{i,j,k}(||M(i,j, k) - M(i+1, j, k)||_1 \\ + ||M(i, j, k) - M(i, j+1, k+1)||_1) \end{aligned} Lsmooth=M∑i,j,k∑(∣∣M(i,j,k)−M(i+1,j,k)∣∣1+∣∣M(i,j,k)−M(i,j+1,k+1)∣∣1)
M ∈ { M l e f t → r i g h t , M r i g h t → l e f t } M \in \{M_{left \to right}, M_{right \to left}\} M∈{Mleft→right,Mright→left},这个loss实现水平和垂直方向的注意力一致性。 - Cycle Loss
M l e f t → r i g h t → l e f t M_{left \to right \to left} Mleft→right→left和 M r i g h t → l e f t → r i g h t M_{right \to left \to right} Mright→left→right可以看成单位矩阵
L c y c l e = ∑ p ∈ V l e f t → r i g h t ∣ ∣ M l e f t → r i g h t → l e f t ( p ) − I ( p ) ∣ ∣ 1 + ∑ p ∈ V r i g h t → l e f t ∣ ∣ M r i g h t → l e f t → r i g h t ( p ) − I ( p ) ∣ ∣ 1 \begin{aligned} L_{cycle} = \sum_{p \in V_{left \to right}}||M_{left \to right \to left}(p) - I(p)||_1 \\ + \sum_{p \in V_{right \to left}}||M_{right \to left \to right}(p) - I(p)||_1 \end{aligned} Lcycle=p∈Vleft→right∑∣∣Mleft→right→left(p)−I(p)∣∣1+p∈Vright→left∑∣∣Mright→left→right(p)−I(p)∣∣1
I ∈ R H ∗ W ∗ W I \in R^{H*W*W} I∈RH∗W∗W
2.Natural and Realistic Single Image Super-Resolution with Explicit Natural Manifold Discrimination
代码地址
本文作者想实现的是更自然真实的超分。提高感知质量perceptual quality,以往有一些distortion-oriented network,但是这类网络出来的结果并没能恢复出细节。这是因为面向失真模型的结果是可能的HR图像的平均值。为了解决这些问题,又了percption-oriented models,像SRGAN, EnhanceNet方法,有时候会产生伪影。之前也有一些方法产生自然的超分图像。作者提出的方法是约束low-level domain prior而不是high-level semantics。作者通过一个discriminator决定决策边界,然后通过约束输出图片在自然流形空间,用一个generative model产生图片。
本文作者提出了两个模型,一个是distortion-oriented network (FRSR) shows,另一个是perception-oriented network (NatSR)
2.1 问题建模
LR-HR的关系可以如下描述
I
L
R
=
h
(
I
H
R
)
↓
I_{LR} = h(I_HR)^{↓}
ILR=h(IHR)↓
h
(
.
)
h(.)
h(.)表示低通滤波,
↓
↓
↓表示下采样。
超分的问题就是提供了LR然后得到HR,可以看成是求条件似然 p ( I H R ∣ I L R ) p(I_{HR}|I_{LR}) p(IHR∣ILR)。由于它具有一对多的特性,最好将其建模为生成模型而不是区分模型。
2.2 Natural Manifold Discrimination(自然流形判别)
2.2.1 自然流形设计
如图三
U
:
[
0
,
1
]
H
∗
W
∗
C
U:[0,1]^{H*W*C}
U:[0,1]H∗W∗C是整个image set,对于一个具体的
I
L
R
I_{LR}
ILR,
V
V
V是所有经过低通滤波器和下采样会得到
I
L
R
I_{LR}
ILR的空间按。也可以说
I
L
R
I_{LR}
ILR经过超分会得到
V
V
V中的结果。
为了对自然流形建模,作者将
V
V
V分成三个不相交集
A
=
{
I
A
∣
I
A
=
(
1
−
α
)
h
(
I
L
R
↑
)
+
α
I
H
R
}
A = \{I_A | I_A = (1 - \alpha)h(I_{LR}^{↑}) + \alpha I_{HR}\}
A={IA∣IA=(1−α)h(ILR↑)+αIHR}
h
(
⋅
)
h(\cdot)
h(⋅)表示低通滤波器,
↑
↑
↑表示原始值之间零插入的上采样。因此
h
(
I
L
R
↑
)
h(I_{LR}^{↑})
h(ILR↑) 对应于图2c,
α
\alpha
α用于决定集合
A
A
A和
N
N
N的决策边界。下面公式对应于图2的a和c。
h
(
I
A
)
↓
=
h
(
(
1
−
α
)
h
(
I
L
R
↑
)
+
α
I
H
R
)
↓
=
h
(
(
1
−
α
)
h
(
I
L
R
↑
)
)
↓
+
h
(
α
I
H
R
)
=
(
1
−
α
)
I
L
R
+
α
I
L
R
=
I
L
R
\begin{aligned} h(I_A)^{↓} \\ &=h((1 - \alpha)h(I_{LR}^{↑}) + \alpha I_{HR})^{↓} \\ &= h((1 - \alpha)h(I_{LR}^{↑}))^{↓} + h(\alpha I_{HR}) \\ &=(1-\alpha)I_{LR} + \alpha I_{LR} \\ &=I_{LR} \end{aligned}
h(IA)↓=h((1−α)h(ILR↑)+αIHR)↓=h((1−α)h(ILR↑))↓+h(αIHR)=(1−α)ILR+αILR=ILR
第二种集合B,下面公式对应于图2的a和d。
I
B
I_B
IB可以看成
I
H
R
I_{HR}
IHR和
I
H
R
+
n
0
I_{HR}+n_0
IHR+n0的凸组合
B
=
{
I
B
∣
I
B
=
I
H
R
+
n
}
B = \{I_B | I_B = I_{HR} + n \}
B={IB∣IB=IHR+n}
n
n
n是高频噪声,标准差是
σ
\sigma
σ,
h
(
I
B
)
↓
=
h
(
I
H
R
+
n
)
=
h
(
I
H
R
)
↓
+
h
(
n
)
↓
=
h
(
I
H
R
)
↓
=
I
L
R
\begin{aligned} h(I_B)^{↓} \\ &=h(I_{HR}+n) \\ &= h(I_{HR})^{↓} + h(n)^{↓} \\ &= h(I_{HR})^{↓}\\ &=I_{LR} \end{aligned}
h(IB)↓=h(IHR+n)=h(IHR)↓+h(n)↓=h(IHR)↓=ILR
模糊
I
A
I_A
IA和带有噪声的I_B$可以来用训练自然流形的discriminator。通过DCT操作假造。
2.2.2 Natural Manifold Discriminator(NMD)
为了将目标空间缩小到自然流形,设计一个区分自然图像和模糊/噪声图像的鉴别器。设计了一个CNN分类器区分是N还是
A
∪
B
A\cup B
A∪B。训练采用二元交叉熵损失函数
−
E
x
∈
A
∪
B
[
l
o
g
(
1
−
D
N
M
(
x
)
)
]
−
E
x
∈
N
[
l
o
g
(
D
N
M
(
x
)
)
]
-E_{x \in A \cup B}[log(1 - D_NM(x))] - E_{x \in N}[log(D_{NM}(x))]
−Ex∈A∪B[log(1−DNM(x))]−Ex∈N[log(DNM(x))]
D
N
M
(
⋅
)
D_{NM}(\cdot)
DNM(⋅)表示NMD的sigmoid输出。网络结构如图所示。一个VGG类型的CNN。对于
α
\alpha
α和
σ
\sigma
σ都有初始值和相应的更新规则。
2.3 Natural and Realistic Super-Resolution (NatSR)
2.3.1网络结构
网络结构如图所示,residual方式,有local residual learning(LRL)和global residual learning(GRL)。作者还用了fractal residual learning(FRL)。discriminator的结构和NMD类似。
2.3.2 训练loss
- 重建loss reconstruction loss,MAE
L R e c o n = E [ ∣ ∣ I H R − I S R ∣ ∣ 1 ] L_{Recon} = E[||I_{HR} - I_{SR}||_1] LRecon=E[∣∣IHR−ISR∣∣1] - 自然loss natrualness Loss
基于NMD设计的loss
L N a t u r a l = E [ − l o g ( D N M ( I S R ) ) ] L_{Natural} = E[-log(D_{NM}(I_{SR}))] LNatural=E[−log(DNM(ISR))] - Adversarial Loss
L G L_G LG和 L D L_D LD - 总的LOSS
L = λ 1 R R c o n d + λ 2 L N a t u r a l + λ 3 L G L = \lambda_1 R_{Rcond} + \lambda_2 L_{Natural} + \lambda_3L_G L=λ1RRcond+λ2LNatural+λ3LG
文章第六部分的分析也是挺值得看的,这里不细写
3、Modulating Image Restoration with Continual Levels via Adaptive Feature Modification Layers
在图片恢复,比如去噪和超分,恢复水平的连续模态有很大的意义。但现在很多深度学习的方法没办法实现这个功能,学习离散和固定恢复水平的深度不能很好地泛化到连续、unseen level。作者提出一个只有少量额外参数的single-level model可以解决任意恢复level。提出的模块叫做AdaFM,网络为AdaFM-Net。
问题
1、实际中图片的退化是连续的
2、工业和商业中,通常需要建立连续的恢复模式应对不同的需求
作者的目标:实现任意水平的图片重建和一个能实现连续模态的改变的统一CNN框架。
之前类似的工作有
IN:但是SR对图片细节要求更高,IN的方法会有比较多的伪影
DA,通常用于high-level的视觉问题。不适合SR。
作者设计了一个简单的网络,基于一种思想:对图片不同程度的恢复类似于对滤波器的scale和方差进行调节。所以模型的输出结果可以通过修改特征/滤波器的统计实现连续的改变。具体实现方式是提出了一个AdaFM层。
3.1 方法
consecutive modulate of restoration levels(恢复水平的连续调制?)定义如下:
假设有一个开始的恢复水平
−
L
a
-L_{a}
−La和结束的恢复水平
−
L
b
-L_{b}
−Lb,目标是建立一个深度网络可以处理任意的退化水平
L
c
(
L
a
≤
L
c
≤
L
b
)
L_c(L_a \leq L_c \leq L_b)
Lc(La≤Lc≤Lb)。
所以作者的pipeline包括两个阶段 - model training 和 modulation testing
在模型的训练部分,训练一个基础模型和一个自适应模型分别处理
L
a
L_a
La和
L
b
L_b
Lb水平。在modulation testing,提出一个网络可以实现任意的恢复能力通过具体的超参。
3.1.1 Observation
- observation 1
不同恢复水平的滤波器模式很相似,但是有不同的权重和方差。
如图所示,对每个 f 15 f_{15} f15滤波器,可以通过一个卷积 g g g做运算,得到类似 f 5 0 f_50 f50的结果。根据结合律,有 ( g ∗ f 15 ) ∗ x = g ∗ ( f 15 ∗ x ) (g * f_{15}) * x = g*(f_{15} * x) (g∗f15)∗x=g∗(f15∗x)
对于每个feature map x, g g g可以通过下面优化
m i n g ∣ ∣ f 50 ∗ x − g ∗ ( f 15 ∗ x ) ∣ ∣ 2 min_{g} ||f_{50}*x - g*(f_{15} * x)||^2 ming∣∣f50∗x−g∗(f15∗x)∣∣2
可以看成是在网络中多加一层
- observation 2
网络输出可以通过改变特征/滤波器的统计特性实现连续改变。 g g g通过梯度下降逐渐更新,如果通过插入中间结果来控制更新过程
f m i d = f 15 + λ ( g − I ) ∗ f 15 , 0 ≤ λ ≤ 1 f_{mid} = f_{15} + \lambda(g - I) * f_{15}, 0 \leq \lambda \leq 1 fmid=f15+λ(g−I)∗f15,0≤λ≤1
λ \lambda λ是一个插值因子。 λ \lambda λ的范围是从0到1, f m i d f_{mid} fmid从 f 15 f_{15} f15逐渐变化到 g ∗ f 15 g*f_{15} g∗f15。实现了连续变化。
3.1.2 Adaptive Feature Modification
所以作者设计了满足上面功能的网络层相应的策略。
增加一个可以操作滤波器统计特性的层。如同观察1,可以在每个卷积后面,每个relu前面加数量个feature map一样的层,这个Adaptive Feature Modification层可以写成
A
d
a
F
M
(
x
i
)
=
g
i
∗
x
i
+
b
i
,
0
<
i
≤
N
AdaFM(x_i) = g_i * x_i + b_i, 0 < i \leq N
AdaFM(xi)=gi∗xi+bi,0<i≤N
x
i
x_i
xi事input feature map,
N
N
N是总量,
g
g
g和
b
b
b滤波器和偏差。
3.1.3 Model Training
作者用了两个网络
一个是基础网络
N
b
a
s
a
N_{bas}^a
Nbasa,可以是任意的标准CNN模型,从
L
a
L_a
La开始。另一个是插入了AdaFM层的
N
a
d
a
N_{ada}
Nada。通过固定参数可以
N
b
a
s
a
N_{bas}^a
Nbasa,优化AdaFM层到最后的
L
b
L_b
Lb。作者还研究了滤波器大小,恢复方向,范围对结果的影响。
3.1.4 Modulating testing
根据观察2,得到网络
N
a
d
a
c
N_{ada}^c
Nadac。
λ
\lambda
λ和
L
c
L_c
Lc的关系可以看成
λ
=
f
(
L
c
)
=
∑
j
=
0
M
w
j
L
c
j
\lambda = f(L_c) = \sum_{j=0}^M w_jL_c^j
λ=f(Lc)=j=0∑MwjLcj
M
M
M是顺序,
{
w
j
}
0
M
\{w_j\}_0^M
{wj}0M是系数。