轻量化语义分割网络多采用深度可分离卷积和空洞卷积结合的方式,提升性能的同时保持尽可能大的感受野,但是前者对于标准卷积的不恰当近似和后者存在的空格效应,使得特征图信息丢失,模型表现不佳。为此文章提出C3模块即"Concentrated-Comprehensive Convolution Block",用于构建新型的轻量化语义分割网络。
论文的主要贡献在于:1)提出新型的卷积模块替换标准的空洞卷积以降低模型复杂度的同时保证模型精度;2)进行了大量的实验验证C3模块的即插即用性;3)基于C3模块提出了一个新型轻量化语义分割模型;3)定性证明深度可分离空洞卷积由于信息丢失无法有效激活特征,而C3模块却可以。
深度可分离空洞卷积的问题
空洞卷积是语义分割中的常用操作,实现感受野扩张的同时不会减小特征图尺寸,为了降低复杂度,通常会为其结合深度可分离卷积。令
C
i
,
C
o
,
H
i
(
o
)
,
W
i
(
o
)
,
M
,
N
C_i,C_o,H_{i(o)},W_{i(o)},M,N
Ci,Co,Hi(o),Wi(o),M,N分别表示:输入和输出的特征图通道数,输入/输出特征图的高和宽,卷积核的尺寸,输入特征图
F
∈
R
C
i
×
H
i
×
W
i
F\in R^{C_i\times H_i \times W_i}
F∈RCi×Hi×Wi,卷积核
K
∈
R
C
i
×
C
o
×
M
×
N
K\in R^{C_i\times C_o\times M\times N}
K∈RCi×Co×M×N,扩张率为
d
d
d的扩张卷积的输出特征图
O
∈
R
C
o
×
H
o
×
W
o
O\in R^{C_o\times H_o \times W_o}
O∈RCo×Ho×Wo的计算如下所示:
为该扩张卷积应用应用深度可分离卷积,有:
上述过程并没有计算跨通道的信息,也就是通道之间没有实现有效的信息交流,仅仅是在空间维度进行了计算。这里参数量从
k
2
C
i
C
o
k^2C_iC_o
k2CiCo减少到了
C
i
(
k
2
+
C
o
)
C_i(k^2+C_o)
Ci(k2+Co)(当
M
=
N
=
k
M=N=k
M=N=k),而浮点数运算则从
2
k
2
C
i
C
o
2k^2C_iC_o
2k2CiCo减少到了
2
C
i
(
k
2
+
C
o
)
2C_i(k^2+C_o)
2Ci(k2+Co)。
但是这种对标准空洞卷积的近似会造成明显的模型表现衰退,况且标准空洞卷积本身也并非“完人”(一是空洞卷积本质上是空间离散的操作,这会导致信息的丢失;二是空洞卷积跳过了邻近特征反而会受到更远的区域的影响,这使得对于小目标或者窄目标的分割容易失误。如下图所示)。
Concentrated-Comprehensive Convolution
基于上面的观察提出C3模块,包含两个阶段,concentration阶段和comprehensive convolution阶段。如下图所示:前者通过在空洞卷积之前应用一个简单的深度卷积来消除特征信息的损失,这能够压缩跳跃的特征信息并且增强局部一致性。相较于使用常规的深度卷积参数量和FLOPS分别为
(
2
d
−
1
)
2
C
i
(2d-1)^2C_i
(2d−1)2Ci和
2
(
2
d
−
1
)
2
H
o
W
o
C
i
2(2d-1)^2H_oW_oC_i
2(2d−1)2HoWoCi,论文使用了两个不对称的的深度卷积,将计算复杂度从
O
(
N
2
)
降
低
到
了
2
O
(
N
)
O(N^2)降低到了2O(N)
O(N2)降低到了2O(N),并且在二者之间加入了PReLU和BN;后者则使用深度空洞卷积来扩张感受野,之后通过一个
1
×
1
1\times 1
1×1的点卷积进行跨通道混合。简单来看,C3综合了深度可分离卷积和空洞卷积的优势,使得模型参数量和计算复杂度降低的同时能够实现较好的模型表现。
C3模块
基于上述的C3 block为轻量分割模型设计了一个C3模块, 如下图所示,首先通过一个
1
×
1
1\times 1
1×1点卷积降低通道数,然后通过一个并行结构,经过一个分层特征融合(扩张率从小到大的融合),与跳跃结构形成最后的输出。
实验结果
Cityscapes数据集。
欢迎关注 深度学习与数学 [获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]