论文标题:Multi-Content Complementation Network for Salient Object Detection in Optical Remote Sensing Images
论文地址:IEEE | arXiv
论文代码:GitHub
文章目录
瞅一眼标题
论文阅读笔记
1. 摘要
在计算机视觉领域,自然场景图像的显著性目标检测(NSI-SOD)已经取得了很大的进展;相比之下,光学遥感图像中的显著性目标检测(RSI-SOD)仍然是一个具有挑战性的新兴课题。光学遥感图像独特的一些特征,如尺度、光源和成像方向,使 NSI-SOD 和 RSI-SOD 这两项任务之间具有显著的差异。
在该篇论文中,作者提出了一个新颖的多内容互补网络(MCCNet)来探索 RSI-SOD 的多内容互补性。具体来说,MCCNet 基于一般的 Encoder-Decoder 架构,包含一个名为多内容互补模块(Multi-Content Complementation Module, MCCM)的关键组件,它连接了 Encoder 和 Decoder。在这个 MCCM 模块中,作者考虑了对 RSI-SOD 至关重要的多种类型的特征,包括前景特征、边缘特征、背景特征和全局图像级特征,并利用它们之间的内容互补性,通过注意力机制突出 RSI 图像不同尺度的特征中的显著区域。
此外,作者在训练阶段全面引入了像素级、地图级和度量感知的损失,并在两个流行的数据集上进行了大量实验。实验结果表明,作者所提出的 MCCNet 优于23种最先进的方法,包括 NSI-SOD 和 RSI-SOD 方法。
2. 论文知识点
端到端(Encoder - Decoder)结构
本文使用的基本网络为端到端编码与解码结构。编码段端的作用是将图像通过卷积操作输出特征张量 f e t f_e^t fet ,该特征张量将在解码端被进行恢复与重建。特别的,本文在编码段输出的特征张量 f e t f_e^t fet 输入解码端前,创新性地引入了多内容互补模块(Multi-Content Complementation Module)将 f e t f_e^t fet 补全为 f m c c m t f_\mathrm{mccm}^t fmccmt ,再输入解码网络。
多内容互补模块(Multi-Content Complementation Module)
多内容互补模块(Multi-Content Complementation Module)的 “多内容” 表示 前景信息内容、背景信息内容、边缘信息内容、全局图像内容 ; “互补” 表示 前景信息、背景信息、边缘信息内容会通过注意力机制进行互相补全 。这些信息的输入源自于骨干网络提取的特征张量 f e t f_e^t fet 。
前景注意力图和边缘注意力图由净化后的特征张量
f
C
A
t
f_{\mathrm{CA}}^t
fCAt 经过通道注意力计算得到,由于前景注意力图和边缘注意力图均描述显著性目标本身,则可通过矩阵加方式融合,即:
f
c
a
t
=
C
A
(
f
e
t
)
⊙
f
e
t
a
f
t
=
S
A
(
f
c
a
t
)
a
e
t
=
S
A
(
f
c
a
t
)
a
f
e
t
=
a
f
t
+
a
e
t
\begin{array}{c} f_{\mathrm{ca}}^{t}=\mathrm{CA}\left( f_{e}^{t} \right) \odot f_{e}^{t}\\ \boldsymbol{a}_{\mathrm{f}}^{t}=\mathrm{SA}\left( f_{\mathrm{ca}}^{t} \right)\\ \boldsymbol{a}_{\mathrm{e}}^{t}=\mathrm{SA}\left( f_{\mathrm{ca}}^{t} \right)\\ \boldsymbol{a}_{\mathrm{fe}}^{t}=\boldsymbol{a}_{\mathrm{f}}^{t}+\boldsymbol{a}_{\mathrm{e}}^{t}\\ \end{array}
fcat=CA(fet)⊙fetaft=SA(fcat)aet=SA(fcat)afet=aft+aet其中
C
A
(
⋅
)
\mathrm{CA}\left(\cdot\right)
CA(⋅) 是通道注意力计算操作,而
S
A
(
⋅
)
\mathrm{SA}\left(\cdot\right)
SA(⋅) 是空间注意力计算操作。同时其权值更新方式不同:前景注意力图由自适应方式得到,而边缘注意力图由真实的 Ground Truth 图进行监督学习得到。而背景注意力图则简单地由前景与边缘联合注意力图取反得到,即:
a
b
t
=
1
⊖
a
f
e
t
\boldsymbol{a}_{\mathrm{b}}^{t}=1\ominus \boldsymbol{a}_{\mathrm{fe}}^{t}
abt=1⊖afet
同时,为了确定全局特征信息的”色调“,全局信息在经过池化、加权、上采样后得到像素级特征张量,并进行空间注意力计算操作得到整体的色调注意力图:
a
g
t
=
S
A
(
u
p
(
c
o
n
v
1
×
1
(
G
A
P
s
(
f
e
t
)
)
)
)
\boldsymbol{a}_{g}^{t}=\mathrm{SA}\left( \mathrm{up}\left( \mathrm{conv}_{1\times 1}\left( \mathrm{GAP}_s\left( f_{e}^{t} \right) \right) \right) \right)
agt=SA(up(conv1×1(GAPs(fet))))
得到了四类注意力图后,将其与原特征张量进行矩阵点乘操作即可得到对应的前景与边缘特征张量、背景特征张量与全局色调特征张量,即:
f
f
e
t
=
a
f
e
t
⊛
f
c
a
t
f
b
t
=
a
b
t
⊛
f
c
a
t
f
g
t
=
a
g
t
⊛
f
e
t
\begin{array}{c} f_{\mathrm{fe}}^{t}=\boldsymbol{a}_{\mathrm{fe}}^{t}\circledast f_{\mathrm{ca}}^{t}\\ f_{\mathrm{b}}^{t}=\boldsymbol{a}_{\mathrm{b}}^{t}\circledast f_{\mathrm{ca}}^{t}\\ f_{\mathrm{g}}^{t}=\boldsymbol{a}_{\mathrm{g}}^{t}\circledast f_{e}^{t}\\ \end{array}
ffet=afet⊛fcatfbt=abt⊛fcatfgt=agt⊛fet
随后,将其各自经过卷积操作,拼接为单独一个张量,将其再经过一个卷积层,以补充残差的方式与原特征
f
e
t
f_e^t
fet 进行融合,得到互补修正后的特征张量,即:
f
m
c
c
m
t
=
c
o
n
v
3
×
3
(
f
^
f
e
t
⊚
f
^
b
t
⊚
f
^
g
t
)
⊕
f
e
t
f_{\mathrm{mccm}}^{t}=\mathrm{conv}_{3\times 3}\left( \hat{f}_{\mathrm{fe}}^{t}\circledcirc \hat{f}_{\mathrm{b}}^{t}\circledcirc \hat{f}_{\mathrm{g}}^{t} \right) \oplus f_{e}^{t}
fmccmt=conv3×3(f^fet⊚f^bt⊚f^gt)⊕fet
该输出的修正特征向量
f
m
c
c
m
t
f_{\mathrm{mccm}}^t
fmccmt 将用于后续Decoder层的输入。
损失函数设计
本文一共有两处地方需要进行损失函数监督,在 MCCM 模块中,而边缘注意力图由真实的 Ground Truth 图进行监督学习得到,故本文引入二分类交叉熵损失 BCE 损失函数对边缘注意力图进行监督,即:
L
e
t
=
l
b
c
e
[
u
p
(
a
e
t
)
,
G
e
]
\mathbb{L} _{e}^{t}=\mathscr{l}_{\mathrm{bce}}\left[ \mathrm{up}\left( \boldsymbol{a}_{e}^{t} \right) , \mathbf{G}_e \right]
Let=lbce[up(aet),Ge]
与此同时,MCCM 模块输出的修正特征向量
f
m
c
c
m
t
f_{\mathrm{mccm}}^t
fmccmt 在经过解码端后,得到对应尺寸的显著性目标预测图
S
t
\mathbf{S}^t
St ,其需要真实的 Ground Truth 图进行监督,故本文引入了三种损失函数,从三个角度对其进行监督:使用 BCE 损失函数进行像素级别的监督、使用 IoU损失函数进行图级别的监督、使用 F-m 损失函数进行度量感知级别的监督,并将三类损失函数求和,即:
L
s
t
=
l
b
c
e
[
u
p
(
S
t
)
,
G
e
]
+
l
i
o
u
[
u
p
(
S
t
)
,
G
e
]
+
l
f
m
[
u
p
(
S
t
)
,
G
e
]
\mathbb{L} _{s}^{t}=\mathscr{l}_{\mathrm{bce}}\left[ \mathrm{up}\left( \mathbf{S}^t \right) , \mathbf{G}_e \right] +\mathscr{l}_{\mathrm{iou}}\left[ \mathrm{up}\left( \mathbf{S}^t \right) , \mathbf{G}_e \right] +\mathscr{l}_{\mathrm{fm}}\left[ \mathrm{up}\left( \mathbf{S}^t \right) , \mathbf{G}_e \right]
Lst=lbce[up(St),Ge]+liou[up(St),Ge]+lfm[up(St),Ge]
并将不同层级的损失函数整体求和,得到最终损失函数,即:
L
t
o
t
a
l
=
∑
t
=
1
5
(
L
s
t
+
L
e
t
)
\mathbb{L} _{\mathrm{total}}=\sum_{t=1}^5{\left( \mathbb{L} _{s}^{t}+\mathbb{L} _{e}^{t} \right)}
Ltotal=t=1∑5(Lst+Let)
3. 实验设置与实验数据
实验设置
本文实验使用的数据集为 ORSSD 与 EORSSD 。对于 ORSSD ,作者以 3 : 1 的方式划分了训练集与测试集;对于 EORSSD ,作者以 7 : 3 的方式划分了训练集与测试集。
对比实验
以其为基础,作者测量了23种已有的显著性目标检测的方法,实验证明其在大多数指标上获得了 SOTA 的结果。
消融实验
对于该 SOTA 结果,作者额外设置了消融实验,以证明 MCCM 模块内部各分项、损失函数的设计是有效且不可删去的。
对于 MCCM 模块内部各分项,作者提供了10种 MCCM 变种网络,包含或不包含部分分项,以相同的超参数进行训练,得到的结果表明,所有分项(前景信息、背景信息、边缘信息、全局信息)的加入均单独对结果起到了提升作用。
对于损失函数,作者也以相同的方法进行了消融实验,结果证明,三项损失函数均单独对结果起到了提升作用。
4. 自问自答 Q&A
- MCCM 模块为什么要有一步净化操作,净化至特征张量
f
C
A
t
f_{\mathrm{CA}}^t
fCAt?
由于原始的 Encoder 端使用的 backbone 提取的特征向量比较粗糙,故使用通道注意力机制对粗糙的原始特征向量进行净化。 - MCCM 模块中为什么全局注意力图不使用净化特征张量而是使用原始特征张量
f
e
t
f_e^t
fet ?
全局注意力图反应的是整体图像的色调,不同于前景、边缘、背景信息,其对应特征本身反应全局信息,无需被净化。 - MCCM 模块中有提出前景注意力图由自适应方式得到,而边缘注意力图由真实的边缘 Ground Truth 图进行监督学习得到。何谓自适应方式(an adaptive way)?
能力有限,查阅不到相关资料,姑且认为是跟随整体损失函数的梯度反向传导进行权值更新,而不使用单独的损失函数去监督这一部分。该条不确定,待完善