Meta-SR:A Magnification-Arbitrary Network for Super-Resolution 论文阅读笔记
本文主要的创新点:
- 提出了Meta-Upscale module,首次通过dynamically predict weights,实现了单一模型对输入图片进行任意尺度的上采样
Feature Learning Module
feature learning module与普通的超分网络一样,本文使用RDN(residual dense network)作为超分网络,RDN网络结构包含3个卷积层以及16个residual dense blocks(RDBs) ,RDB结构如上图所示,每个RDB包含8个卷积层,特征通道数为64。
Meta-Upscale Module
利用Feature Learning Module提取特征 F L R F^{LR} FLR,假设上采样尺度因子为 r r r,对SR图像中的每个像素点 ( i , j ) (i,j) (i,j)的值,都由 F L R F^{LR} FLR中的像素点 ( i ′ , j ′ ) (i^{'}, j^{'}) (i′,j′)和相对应的卷积核决定。因此,首先,up-scale module需要将 ( i , j ) (i,j) (i,j)与 ( i ′ , j ′ ) (i^{'}, j^{'}) (i′,j′)对应,然后利用一个特殊的卷积核,根据 ( i ′ , j ′ ) (i^{'}, j^{'}) (i′,j′)的值求得SR图像中 ( i , j ) (i,j) (i,j)位置的像素值。up-scale formulate如下:
I S R ( i , j ) = Φ ( F L R ( i ′ , j ′ ) , W ( i , j ) ) I^{SR}(i,j)=\Phi(F^{LR}(i^{'}, j^{'}), W(i,j)) ISR(i,j)=Φ(FLR(i′,j′),W(i,j))
其中, Φ ( ⋅ ) \Phi(\cdot) Φ(⋅)代表feature mapping function用来计算pixel value。 W ( i , j ) W(i,j) W(i,j)代表计算SR中像素点 ( i , j ) (i,j) (i,j)时的卷积核。
由于SR图像中的每个像素点都与卷积核有关,对于不同的尺度因子 r r r,卷积核的weights都不相同,为了实现任意尺度的超分,本文提出了基于尺度因子和坐标的Meta-Upscale Module来动态预测weights W ( i , j ) W(i,j) W(i,j)。Meta-Upscale Module由三个重要的模块组成:Location Projection, Weights Prediction以及Feature Mapping
Location Projection
对于SR图像中的每个像素点
(
i
,
j
)
(i,j)
(i,j),均需找到
F
L
R
F^{LR}
FLR中的一个像素点
(
i
′
,
j
′
)
(i^{'},j^{'})
(i′,j′)与之相对应。
(
i
′
,
j
′
)
=
T
(
i
,
j
)
=
(
⌊
i
r
⌋
,
⌊
j
r
⌋
)
(i^{'},j^{'})=T(i,j)=(\lfloor \frac{i}{r} \rfloor, \lfloor \frac{j}{r} \rfloor)
(i′,j′)=T(i,j)=(⌊ri⌋,⌊rj⌋)
其中, T T T是transformation function, ⌊ ⌋ \lfloor \rfloor ⌊⌋是向下取整函数。
如上图所示,当尺度 r = 2 r=2 r=2时, F L R F^{LR} FLR中的每个像素点 ( i ′ , j ′ ) (i^{'},j^{'}) (i′,j′)决定SR图像中的两个点,当尺度尺度 r r r为非整数时,如尺度 r = 1.5 r=1.5 r=1.5时, F L R F^{LR} FLR中的有些像素点决定SR图像中的两个点,有些决定SR图像中的一个点。
Weights Prediction
对于传统的upsale module,不同的尺度因子都有与之对应的、从训练集中学到的卷积核
W
W
W。但是,本文的Meta-Upscale Module利用神经网络来预测weights,公式如下:
W
(
i
,
j
)
=
φ
(
v
i
j
;
θ
)
W(i,j)=\varphi(v_{ij};\theta)
W(i,j)=φ(vij;θ)
其中,
W
(
i
,
j
)
W(i,j)
W(i,j)为SR中像素点
(
i
,
j
)
(i,j)
(i,j)卷积核,
φ
(
⋅
)
\varphi(\cdot)
φ(⋅)时weight prediction network,
v
i
j
v_{ij}
vij是网络的输入,与像素点
(
i
,
j
)
(i,j)
(i,j)有关,
θ
\theta
θ是weight prediction network的参数。
v
i
j
=
(
i
r
−
⌊
i
r
⌋
,
j
r
−
⌊
j
r
⌋
)
v_{ij}=(\frac{i}{r}-\lfloor \frac{i}{r}\rfloor,\frac{j}{r}-\lfloor \frac{j}{r}\rfloor)
vij=(ri−⌊ri⌋,rj−⌊rj⌋)
为了同时训练不同尺度的超分网络,最好将尺度因子加入到
v
i
j
v_{ij}
vij中。理由:如果你想对一张图像做2倍和4倍超分,假设分别用
I
2
S
R
I_2^{SR}
I2SR和
I
4
S
R
I_4^{SR}
I4SR表示超分图像,由于
I
2
S
R
I_2^{SR}
I2SR中的像素点
(
i
,
j
)
(i,j)
(i,j)和
I
4
S
R
I_4^{SR}
I4SR中像素点
(
2
i
,
2
j
)
(2i,2j)
(2i,2j)对weight prediction network的输入相等:
v
i
j
=
(
i
2
−
⌊
i
2
⌋
,
j
2
−
⌊
j
2
⌋
)
=
(
2
i
4
−
⌊
2
i
4
⌋
,
2
j
4
−
⌊
2
j
4
⌋
)
=
v
2
i
2
j
v_{ij}=(\frac{i}{2}-\lfloor \frac{i}{2}\rfloor,\frac{j}{2}-\lfloor \frac{j}{2}\rfloor)=(\frac{2i}{4}-\lfloor \frac{2i}{4}\rfloor,\frac{2j}{4}-\lfloor \frac{2j}{4}\rfloor)=v_{2i2j}
vij=(2i−⌊2i⌋,2j−⌊2j⌋)=(42i−⌊42i⌋,42j−⌊42j⌋)=v2i2j
从而使得weight prediction network预测的卷积核相同(这意味着
I
2
S
R
I_2^{SR}
I2SR是
I
4
S
R
I_4^{SR}
I4SR的子图),进而严重影响最后超分的性能,因此,将尺度因子加入到
v
i
j
v_{ij}
vij中。
v i j = ( i r − ⌊ i r ⌋ , j r − ⌊ j r ⌋ , 1 r ) v_{ij}=(\frac{i}{r}-\lfloor \frac{i}{r}\rfloor,\frac{j}{r}-\lfloor \frac{j}{r}\rfloor, \frac{1}{r}) vij=(ri−⌊ri⌋,rj−⌊rj⌋,r1)
Feature Mapping
在利用Feature Learning Module得到
F
L
R
F^{LR}
FLR、利用weight prediction network得到卷积核后,要做的最后一件事情就是mapping feature to the value of the pixel on the SR image.公式如下:
Φ
(
F
L
R
(
i
′
,
j
′
)
,
W
(
i
,
j
)
)
=
F
L
R
(
i
′
,
j
′
)
⋅
W
(
i
,
j
)
\Phi(F^{LR}(i^{'},j^{'}),W(i,j))=F^{LR}(i^{'},j^{'})\cdot W(i,j)
Φ(FLR(i′,j′),W(i,j))=FLR(i′,j′)⋅W(i,j)
本文提出的Meta-Upscale Module流程如下图所示:
Meta Upscale Module详细过程:
- 根据尺度因子 r r r找到 I S R I^{SR} ISR中的像素点 ( i , j ) (i,j) (i,j)在低分图像 F L R F^{LR} FLR中的对应点 ( i ′ , j ′ ) = ( i r − ⌊ i r ⌋ , j r − ⌊ j r ⌋ ) (i^{'},j^{'})=(\frac{i}{r}-\lfloor \frac{i}{r}\rfloor,\frac{j}{r}-\lfloor \frac{j}{r}\rfloor) (i′,j′)=(ri−⌊ri⌋,rj−⌊rj⌋)。
- 求得weight prediction network的输入向量(每个点对应3个数,横纵坐标的增量以及尺度因子, I S R I^{SR} ISR中共有 H × W H\times W H×W个像素点,因此共有 H × W × 3 H\times W\times 3 H×W×3个数,如图1所示) v i j = ( i r − ⌊ i r ⌋ , j r − ⌊ j r ⌋ , 1 r ) v_{ij}=(\frac{i}{r}-\lfloor \frac{i}{r}\rfloor,\frac{j}{r}-\lfloor \frac{j}{r}\rfloor, \frac{1}{r}) vij=(ri−⌊ri⌋,rj−⌊rj⌋,r1),网络输出 H × W H\times W H×W个大小为 k × k × i n C × o u t C k\times k\times inC\times outC k×k×inC×outC的卷积核。
- F L R F^{LR} FLR的大小为 N × i n H × i n W × i n C N\times inH\times inW\times inC N×inH×inW×inC,对于 I S R I^{SR} ISR中的像素点 ( i , j ) (i,j) (i,j), 找到与之对应的 F L R F^{LR} FLR中的像素点 ( i ′ , j ′ ) (i^{'},j^{'}) (i′,j′)以及以 v i j v_{ij} vij为输入的weight prediction network预测的卷积核 W ( i , j ) W(i,j) W(i,j)(尺寸为 k × k × i n H × i n W k\times k\times inH\times inW k×k×inH×inW)
- 将 F L R F^{LR} FLR中以像素点 ( i ′ , j ′ ) (i^{'},j^{'}) (i′,j′)为中心的 k × k k\times k k×k的区域与 W ( i , j ) W(i,j) W(i,j)做卷积,最终得到 I S R I^{SR} ISR中的像素点 ( i , j ) (i,j) (i,j)。
结果