使用 1 × 1 1 \times 1 1×1卷积的通道维度来扩展其注意力,以替换现有的 3 × 3 3 \times 3 3×3卷积。
文中提出了一种简单而有效的全
1
×
1
1 \times 1
1×1卷积网络,名为Shift-Conv-based Network(SCNet)。通过结合一个无参数的空间位移操作,使全
1
×
1
1 \times 1
1×1卷积网络具备了强大的表示能力。所提出的SCNet在Manga109测试数据集(×4)上的性能如图1所示。
论文链接:http://arxiv.org/abs/2307.16140 (哈工大)
代码链接:https://github.com/Aitical/SCNet
一、关键问题
尺寸为 1 × 1 1 \times 1 1×1的较小卷积核可以减少参数数量,但由于固定的感受野和与相邻像素的局部特征聚合缺失,会损害学习能力。
二、创新点
1、Shift-Conv层:沿着通道维度将输入特征图分成不同的组,然后对每个组应用具有不同空间方向的空间位移操作。这确保了生成的特征图中的每个像素都围绕着沿通道维度的特征组装,弥合了与
3
×
3
3 \times 3
3×3卷积的表示能力差距,如图3所示。将通过空间位移操作实现的扩展
1
×
1
1 \times 1
1×1卷积与局部特征聚合称为Shift-Conv层(简称为SC层)。与普通的
3
×
3
3 \times 3
3×3卷积相比,SC层显著减少了参数数量,同时保持了有竞争力的性能。
2、SC-ResBlock:在广泛使用的残差块之后,提出了一种移位卷积残差块,简称为SC-ResBlock。
3、SCNet:由多个SC-ResBlocks堆叠而成,命名为SCNet。
三、原理说明
1、框架说明
如图2所示,大量基本的SR-ResBlocks堆叠在提出的SCNet的主干部分之后,随后是上采样层,用于重建高分辨率(HR)图像。给定LR图像
I
L
R
∈
R
C
×
H
×
W
I_{LR} ∈ R^{C \times H \times W}
ILR∈RC×H×W,其中
H
H
H、
W
W
W和
C
C
C分别为图像的高度、宽度和通道数。首先,使用普通的
1
×
1
1 \times 1
1×1卷积作为浅层特征提取器,将图像空间映射到潜在空间。浅层提取器被标记为
N
h
e
a
d
N_{head}
Nhead,潜在特征为
f
h
e
a
d
=
N
h
e
a
d
(
I
L
R
)
∈
R
C
l
a
t
e
n
t
×
H
×
W
f_{head} = N_{head}(I_{LR}) ∈ R^{C_{latent} \times H \times W}
fhead=Nhead(ILR)∈RClatent×H×W,其中
C
l
a
t
e
n
t
C_{latent}
Clatent是潜在空间的通道维度。
主干部分
N
b
a
c
k
b
o
n
e
N_{backbone}
Nbackbone由大量基本的SC-ResBlocks堆叠而成,这些块由shift-conv和
1
×
1
1 \times 1
1×1卷积层实现,取代了普通残差块中的
3
×
3
3 \times 3
3×3卷积层。在这里,主干部分
N
b
a
c
k
b
o
n
e
N_{backbone}
Nbackbone以浅层特征
f
h
e
a
d
f_{head}
fhead作为输入,并提取深层特征
f
b
a
c
k
b
o
n
e
=
N
b
a
c
k
b
o
n
e
(
f
h
e
a
d
)
f_{backbone} = N_{backbone}(f_{head})
fbackbone=Nbackbone(fhead)。
然后,给定提取的深层特征
f
b
a
c
k
b
o
n
e
f_{backbone}
fbackbone,利用上采样模块重建HR结果。我们采用SC层、ReLU、
1
×
1
1 \times 1
1×1卷积和像素洗牌操作构建上采样模块
N
r
e
c
N_{rec}
Nrec,并使用普通的
1
×
1
1 \times 1
1×1卷积将上采样特征映射到具有3个通道的输出。此外,通过双线性插值添加上采样的LR图像,超分辨输出为
I
S
R
=
N
r
e
c
(
f
b
a
c
k
b
o
n
e
)
+
B
i
l
i
n
e
a
r
(
I
L
R
)
I_{SR} = N_{rec}(f_{backbone}) + Bilinear(I_{LR})
ISR=Nrec(fbackbone)+Bilinear(ILR)。最后,通过最小化L1损失来训练SR网络。
2、Shift-Conv Residual Block 空间移位残差模块
空间移位操作:将位移方向表示为
d
∈
1
,
0
,
−
1
d ∈ {1, 0, -1}
d∈1,0,−1,并分别取
d
h
d_{h}
dh和
d
w
d_{w}
dw为每个方向。相应地,步长被表示为
s
h
s_{h}
sh和
s
w
s_{w}
sw。然后,可以通过将方向和步长结合起来得到空间位移步骤,即
s
t
e
p
=
(
d
h
∗
s
h
,
d
w
∗
s
w
)
step = (d_{h} * s_{h}, d_{w} * s_{w})
step=(dh∗sh,dw∗sw),空间位移步骤的集合为
S
=
s
t
e
p
i
,
i
=
1
,
.
.
.
,
n
S = {step_{i}, i = 1, . . . , n}
S=stepi,i=1,...,n,其中n是聚合特征的数量,
s
t
e
p
i
step_{i}
stepi表示第i个局部像素特征的步骤。
如果我们想要像普通的3×3卷积一样获取周围8个局部像素,空间位移步骤的集合可以定义为
(
0
,
1
)
,
(
0
,
−
1
)
,
(
1
,
0
)
,
(
1
,
1
)
,
(
1
,
−
1
)
,
(
−
1
,
0
)
,
(
−
1
,
1
)
,
(
−
1
,
−
1
)
{(0, 1), (0, -1), (1, 0), (1, 1), (1, -1), (-1, 0), (-1, 1), (-1, -1)}
(0,1),(0,−1),(1,0),(1,1),(1,−1),(−1,0),(−1,1),(−1,−1)。我们利用
s
t
e
p
i
step_{i}
stepi来定位目标像素特征,可以利用任何地方的像素,甚至可以使用较大的步长值。此外,通过设置不同的空间位移步骤,可以采取不同的局部聚合方案。为了公平比较和评估完全1×1卷积SCNet的有效性,文中将像普通的3×3卷积层一样获取周围8个像素作为默认设置。
Pytorch实现空间移位操作逻辑如下图所示。
说明:给定输入特征 f f f,我们沿着通道维度均匀将其分成 n n n组,其中 n = S n = S n=S,并获得n个更薄的张量 f i ∈ R C l a t e n t n × H × W , i = 1 , . . . , C l a t e n t n f^{i} ∈ R^{\frac{C_{latent}}{n} \times H \times W},i = 1, . . . , \frac{C_{latent}}{n} fi∈RnClatent×H×W,i=1,...,nClatent。然后,每个分离的特征组根据给定的步长参数进行位移,得到位移后的特征 f s h i f t f_{shift} fshift。 f s h i f t f_{shift} fshift中的每个像素特征都包含沿着通道维度周围的局部特征。将常数零值作为默认填充。
Shift-Conv层(简称SC层):由一个 1 × 1 1 \times 1 1×1卷积层和空间位移操作堆叠而成,因此SC层扩展了普通的 1 × 1 1 \times 1 1×1卷积,具有局部特征聚合以及更少的参数。
Shift-Conv残差块:如图4(a)所示。为了公平比较,提出了用于轻量级图像超分辨率的全1×1卷积网络。基于深度学习的SISR技术取得了显著进展,但与此同时,它们的性能已经变得越来越饱和。在这项工作中,我们没有探索更复杂的网络架构,而是回顾了最小的CNN单元,并提出了一个轻量级的SCNet,它采用完全
1
×
1
1 \times 1
1×1卷积来减少参数和计算成本。
作者对论文的主旨说明:
本工作的目标不是提出一种新颖的操作算法。相反,我们尝试构建一个基准SR网络,其中仅包含最简单的特征聚合(空间位移操作)和最简单的特征提取(1×1卷积)。我们希望这能为低级图像恢复任务的网络设计带来一些新的启示,特别是对于轻量级架构设计。
四、实验
实验设置:使用固定大小为 64 × 64 64 \times 64 64×64的图像块进行训练,对应的低分辨率(LR)图像块通过双三次插值进行下采样。所有训练图像块都通过随机水平翻转和旋转进行增强。我们将批量大小设置为32,并使用ADAM优化器,设置参数 β 1 = 0.9 \beta_{1} = 0.9 β1=0.9,\beta_{2} = 0.999。初始学习率设置为 2 × 1 0 − 4 2×10^{-4} 2×10−4。
数据集和评估指标:按照[39,41]的方法,我们从DIV2K [50]中选取800张图像和从Flickr2K中选取2650张图像进行训练。测试数据集包括Set5 [51]、Set14 [52]、B100 [53]、Urban100 [54]和Manga109 [55],上采样因子为2、3和4。为了比较,我们在转换后的YCbCr空间的Y通道上测量峰值信噪比(PSNR)和结构相似性指数(SSIM)。
1、超分对比结果
2、可视化对比结果
3、计算复杂度
4、推理时间(input LR: 256 × 256 256 \times 256 256×256)
5、选择不同的移位及其可视化LAM
6、设计不同深度网络
7、加入注意力模块
8、不同上采样方法及量化比较
五、总结
本文选择了一种极简主义的、完全 1 × 1 1 \times 1 1×1卷积的网络,命名为SCNet,从而显著减少了参数和计算成本。将 1 × 1 1 \times 1 1×1卷积扩展为 Shift-Conv 层。通过引入空间位移操作,它在通道维度上促进了局部特征的聚合,而不增加计算开销。