本文是论文《DASNet: Dual attentive fully convolutional siamese networks for change detection in high-esolution satellite images》的阅读笔记。
现有的模型只要关注两幅输入图像的不同信息,对于伪变化信息缺乏鲁棒性。为解决该问题,文章提出了基于双注意力全卷积孪生神经网络的变化检测模型DASNet。此外提出了加权的双边际对比损失WDMC(weighted double-margin contrastive loss)来能解决样本不平衡的问题,该损失可以对无变化的特征注意力进行惩罚,而增加对变化特征的注意力。在CDD(change detection dataset)和BCDD(building change detection dataset)两个数据集上的实验显示,效果比选用baseline都好。
一、相关工作
遥感图像变化检测主要包括特征提取和变化区域识别两步。
根据研究目标的不同,传统方法可以分为两类:基于像素和基于物体的变化检测。基于像素的变化检测通过直接对比像素的光谱信息或纹理信息产生一张差图,并通过阈值分割或聚类的方法产生最终的结果图。这种方法虽然易于实现,但忽略了空间上下文信息并且会产生大量椒盐噪声。基于物体的变化检测将图像分成不相连的物体,并使用光谱、纹理、结构和几何信息分析图像之间的差异。传统的方法有:变化向量分析(CVA)、主成分分析(PCA)、多元蚀变检测(MAD)、慢特征分析(SFA)等。
基于深度学习的变化检测方法也可以分为两类:一是使用FCN通过最大化边界来检测变化,而不是直接测量变化。二是通过从测量特征对之间的距离来检测变化。但是现有的方法对伪变化鲁棒性较低,原因有二:一是能够有效区分变化区域和未变化区域的特征较少,且对噪音、角度、阴影等因素敏感。二是变化数据和未变化数据严重不平衡,未变化的样本数远大于变化的样本数。基于深度学习的方法有:SCCN、DSCN、CDNet、BiDateNet、FC-EF, FC-Siam-Conc, FC-Siam-Diff等。
WDMC损失通过设置权重系数缓和未变化区域的影响,并通过设置双边际减轻未变化特征对和变化特征对的不平衡性。
二、网络结构和方法
1. 网络结构
上图是网络的整体结构。
以上两图分别是空间注意力和通道注意力机制示意图。
2. 损失函数
传统的对比损失公式如下:
contrastive loss
=
∑
i
,
j
1
2
[
(
1
−
y
i
,
j
)
d
i
,
j
2
+
y
i
,
j
max
(
d
i
,
j
−
m
,
0
)
2
]
\begin{aligned}\text { contrastive loss }=& \sum_{i, j} \frac{1}{2}\left[\left(1-y_{i, j}\right) d_{i, j}^{2}\right.\\&\left.+y_{i, j} \max \left(d_{i, j}-m, 0\right)^{2}\right]\end{aligned}
contrastive loss =i,j∑21[(1−yi,j)di,j2+yi,jmax(di,j−m,0)2]
其中
f
0
,
f
1
f_0,f_1
f0,f1为两张输入图像,
d
i
,
j
d_{i,j}
di,j表示
f
0
,
f
1
f_0,f_1
f0,f1在
(
i
,
j
)
(i,j)
(i,j)处的特征向量之间的距离,
m
m
m是变化特征对的边际,
y
=
0
y=0
y=0表示像素对未变化,
y
=
1
y=1
y=1变化。
只有当未变化特征对之间的距离为0时,传统的对比损失才不会对损失值有贡献。然而在遥感变化检测中,未变化区域受很多因素的影响,当距离超过一定的边际时就会对损失值有贡献。这导致了对变化和未变化的不平衡性。
WDMC损失的公式如下:
W
D
M
C
loss
=
∑
i
,
j
1
2
[
w
1
(
1
−
y
i
,
j
)
max
(
d
i
,
j
−
m
1
,
0
)
2
+
w
2
y
i
,
j
max
(
d
i
,
j
−
m
2
,
0
)
2
]
\begin{aligned}W D M C \text { loss } &=\sum_{i, j} \frac{1}{2}\left[w_{1}\left(1-y_{i, j}\right) \max \left(d_{i, j}-m_{1}, 0\right)^{2}\right.\\&\left.+w_{2} y_{i, j} \max \left(d_{i, j}-m_{2}, 0\right)^{2}\right]\end{aligned}
WDMC loss =i,j∑21[w1(1−yi,j)max(di,j−m1,0)2+w2yi,jmax(di,j−m2,0)2]
其中
m
1
,
m
2
m_1,m_2
m1,m2表示未变化样本对的边际和变化样本对的边际,
w
1
,
w
2
w_1,w_2
w1,w2表示未变化特征对的权重和变化特征对的权重,公式如下:
w
1
=
1
P
U
w
2
=
1
P
C
\begin{array}{l}w_{1}=\frac{1}{P_{U}} \\w_{2}=\frac{1}{P_{C}}\end{array}
w1=PU1w2=PC1
其中,
P
U
,
P
C
P_U,P_C
PU,PC是变化和未变化像素对的频率。
受到深度监督策略的启发,在计算WDMC损失时,通过空间注意力模块获取的特征对、通过通道注意力模块获取的特征对和最终输出的特征对三者loss的和作为WDMC损失,其中
L
s
a
,
L
c
a
,
L
e
L_{sa},L_{ca},L_{e}
Lsa,Lca,Le分别表示上述提到的3个子损失,总损失公式如下:
Loss
=
λ
1
L
s
a
+
λ
2
L
c
a
+
λ
3
L
e
\operatorname{Loss}=\lambda_{1} L_{s a}+\lambda_{2} L_{c a}+\lambda_{3} L_{e}
Loss=λ1Lsa+λ2Lca+λ3Le
使用VGG-16或ResNet50作为Siam-Conv网络的结构,
w
1
,
w
2
w_1,w_2
w1,w2是数据集中变化区域和未变化区域的像素率,
m
1
,
m
2
m_1,m_2
m1,m2必须通过手工调整以优化模型的效果。
三、实验
实验选用的数据集是:CDD(change detection dataset)和BCDD(building change detection dataset)数据集。
上图是BCDD数据集的样例图。
a~e分别是未变化图、变化图、标签、DASNet(VGG-16)的余弦相似性距离图、DASNet(VGG-16)的L2距离图。
选用的评价指标有:precision §, recall ®, F1 score (F1), and overall accuracy (OA)。在变化检测任务中,准确率越高,错检的结果越少;召回率越大,被漏检的预测结果越少;F1值和OA是预测结果的整体评价指标,它们的值越大,预测结果越好。其公式如下:
P
=
T
P
T
P
+
F
P
R
=
T
P
T
P
+
F
N
f
1
=
2
P
R
P
+
R
O
A
=
T
P
+
T
N
T
P
+
T
N
+
F
P
+
F
N
\begin{array}{c}P=\frac{T P}{T P+F P} \\R=\frac{T P}{T P+F N} \\f_{1}=\frac{2 P R}{P+R} \\O A=\frac{T P+T N}{T P+T N+F P+F N}\end{array}
P=TP+FPTPR=TP+FNTPf1=P+R2PROA=TP+TN+FP+FNTP+TN
上图是在CDD数据集上几种损失函数的对比。
a~e分别是未变化图、变化图、标题、传统对比损失的ResNet50结构的DASNet结果图、WDMC损失的ResNet50结构的DASNet结果图。
上图是注意力机制的消融实验。
CDD数据集上的结果表。
BCDD数据集上的结果表。
a~j分别是未变化图、变化图、标签、CDNet结果、FC-EF结果、FC-Siam-Diff结果、FC-Siam-Con结果、BiDateNet结果、DASNet(VGG-16)结果、DASNet(ResNet50)结果。