论文分享|Dual Heterogeneous Complementary Networks for Single Image Deraining 2022CVPR
【论文分享】Dual Heterogeneous Complementary Networks for Single Image Deraining 2022CVPR
?Introduction
作者发现的问题:
- 普通卷积去雨网络的缺点:只是增加了网络的深度而没有多尺度特征表示的能力
- 多尺度去雨网络的缺点:多个同质的结构带来复杂的结构和更大的计算量
- 编解码网络的缺点:建模能力不充分,对于细节信息恢复不充分
目前去雨研究方向:
- 构建更深更复杂的网络来恢复可靠的细节
- 使用多尺度编解码结构来通过更大的感受野来学习语义上下文(主流)
作者提出的想法:
- 将提取细节网络和语义上下文网络进行互补
💬Related Work
作者很准确的对单尺度和多尺度去雨网络进行区分,并指出它们各自的作用!
- Single-scale deep models 单尺度网络
单尺度具有很强的建模能力(依赖于网络的深度和复杂的连接)适合从原始雨图中恢复结构和纹理 - Multi-scale deep models 多尺度网络
多尺度可以分离多个雨纹层和分辨出各种各样的图像内容,虽然功能强大但是编解码网络在不同尺度下通常采用相同的卷积块,可能会导致恢复细节的表达能力不足
🍵Proposed dual heterogeneous complementary network
论文提出的网络大致可以分为四部分:
- 单尺度的主网络采用多个
双注意引导卷积块(dual attention guided convolution blocks,DAGCB) 来自动选择空间和通道的有效特征,以恢复详细的纹理和空间结构,空间细节丰富 - 多尺度
编解码结构 的辅助网络用于辅助主子网的特征学习,从编码器和解码器路径中提取的多尺度上下文与主子网的中间特征进行聚合,以增强建模能力 伪标签引导注意模块(pseudo-label guided attention module,PLGAM) 用于同时评估两个分支在训练阶段的损失,来进一步指导主子网中的特征学习的正确- 采用多种loss:(1)Charbonnier loss(2)基于边缘的loss用于恢复可靠形状信息
(3)基于VGG的感知loss
下面是作者提出的DHCN(Dual Heterogeneous Complementary Networks)网络的框图
1??主网络
对应网络的框图的灰色部分,可以看到主干网络主要是由双注意引导卷积块DAGCB组成,左边是通道注意力块CAB,右边是作者仿照CAB设计的空间注意力块,DAGCB用公式表述为:
X
C
=
X
^
⊙
A
C
,
X
S
=
X
^
⊙
A
S
\mathbf{X}_{C}=\hat{\mathbf{X}} \odot \mathbf{A}_{C}, \mathbf{X}_{S}=\hat{\mathbf{X}} \odot \mathbf{A}_{S}
XC?=X^⊙AC?,XS?=X^⊙AS?
X
 ̄
=
X
+
X
C
+
X
S
\overline{\mathbf{X}}=\mathbf{X}+\mathbf{X}_{C}+\mathbf{X}_{S}
X=X+XC?+XS? 其中
X
\mathbf{X}
X是输入特征图,
X
^
\hat{\mathbf{X}}
X^是经过两层卷积后变换特征图,
⊙
\odot
⊙表示哈达玛积,
A
C
\mathbf{A}_{C}
AC?表示通道注意力图,
A
S
\mathbf{A}_{S}
AS?表示空间注意力图,
X
C
\mathbf{X}_{C}
XC?是通道注意力特征图,
X
S
\mathbf{X}_{S}
XS?是空间注意力特征图,
X
 ̄
\overline{\mathbf{X}}
X是聚合之后的注意力特征。 设计DAGCB的目的是为了保护细节
2??辅助网络
这部分和MPRNet做法类似,都是从编解码的每层中抽取特征出来传递给另一个网络,数学表示为:
X
s
D
=
f
C
a
t
(
f
P
w
(
Y
s
+
1
E
)
,
f
U
p
(
Y
s
+
1
D
)
)
\mathbf{X}_{s}^{D}=f_{Cat}\left(f_{Pw}\left(\mathbf{Y}_{s+1}^{E}\right), f_{Up}\left(\mathbf{Y}_{s+1}^{D}\right)\right)
XsD?=fCat?(fPw?(Ys+1E?),fUp?(Ys+1D?)) 其中
f
C
a
t
f_{Cat}
fCat?是连接层,
f
P
w
f_{Pw}
fPw?是通过卷积来完成编码过程。
f
U
p
f_{Up}
fUp?是通过双线性上采样操作来完成解码过程,
X
s
D
\mathbf{X}_{s}^{D}
XsD?是第s层融合编解码的特征,
Y
s
+
1
E
\mathbf{Y}_{s+1}^{E}
Ys+1E?是第s+1层的编码特征,
Y
s
+
1
D
\mathbf{Y}_{s+1}^{D}
Ys+1D?是第s+1层的解码特征
3??伪标签引导注意模块
根据前面辅助子网络的最后一层解码器的输出特征
Y
O
D
Y_{O}^{D}
YOD?即上图最左边的图,然后经过重建层恢复得到输出图像
G
A
G_{A}
GA?作为伪标签 即浅黄虚框部分,然后生成注意力图来细化上下文特征并最终利用残差结构来生成用以进一步加强主子网的建模能力的特征
4??多种loss
L
?
=
L
?
M
S
E
+
L
?
E
d
g
e
+
L
?
P
e
r
\mathcal{L}_{*}=\mathcal{L}_{*}^{M S E}+\mathcal{L}_{*}^{E d g e}+\mathcal{L}_{*}^{P e r}
L??=L?MSE?+L?Edge?+L?Per?
L
?
M
S
E
=
(
G
?
?
G
)
2
+
?
2
L
?
E
d
g
e
=
(
Lap
?
(
G
?
)
?
Lap
?
(
G
)
)
2
+
?
2
L
?
P
e
r
=
∑
i
∥
?
i
(
G
?
)
?
?
i
(
G
)
∥
\begin{array}{l} \mathcal{L}_{*}^{M S E}=\sqrt{\left(\mathbf{G}_{*}-\mathbf{G}\right)^{2}+\epsilon^{2}} \\ \mathcal{L}_{*}^{E d g e}=\sqrt{\left(\operatorname{Lap}\left(\mathbf{G}_{*}\right)-\operatorname{Lap}(\mathbf{G})\right)^{2}+\epsilon^{2}} \\ \mathcal{L}_{*}^{P e r}=\sum_{i}\left\|\phi_{i}\left(\mathbf{G}_{*}\right)-\phi_{i}(\mathbf{G})\right\| \end{array}
L?MSE?=(G???G)2+?2
?L?Edge?=(Lap(G??)?Lap(G))2+?2
?L?Per?=∑i?∥?i?(G??)??i?(G)∥? Lap()拉普拉斯操作,?为常数10-3, ?()基于预训练的VGG模型,相比于MPRNet多了一个
L
?
P
e
r
\mathcal{L}_{*}^{P e r}
L?Per?感知loss
??Experimental Results
1??定量和定性结果
2??消融实验
sinNet是只有主网络,DualNet是主网络和辅助网络,SA是DAGCB中的空间注意力。可以看到SnNet由于没有上下文信息所以加入PLGAM并不会带来什么提升,而加入的感知loss是有用的,可以辅助网络去雨。DualNet在利用网络上下文信息加入PLGAM确实辅助了提升了去雨效果!
📢Conclusions
文章借鉴了MPRNet的思想,网络更精简,贡献是
- 证实了原有loss基础上添加感知loss能使去雨效果更好
- 提供了另一种在空间方面的注意力机制解决方案
- 证明了上下文信息应该作为辅助信息来引导CNNs网络
如果觉得对你有帮助的话: 👍 点赞,你的认可是我创作的动力! ?? 收藏,你的青睐是我努力的方向! 👄 评论,你的意见是我进步的财富!
|