本文是论文《A Conditional Adversarial Network for Change Detection in Heterogeneous Images》的阅读笔记。
文章针对异质SAR(合成孔径雷达)图像变化检测问题提出了一个基于条件生成对抗网络的模型,该模型包含一个翻译网络(生成器1)、一个评估网络(生成器2)和一个判别器,翻译网络用来将光学图像转换成SAR图像,评估网络用来减少SAR图像和生成的SAR图像之间的像素级的差别,判别器用来判别输入是真图像还是假图像。
一、相关工作
遥感图像分为很多种,包括合成孔径雷达(SAR)图像、极化SAR图像、多孔径图像等。根据图像来源,变化检测可以分为同质变化检测和异质变化检测,同质变化检测的图像是来自相同或相似的传感器的,而异质变化检测的图像是来自不同的传感器的。而在异质变化检测中,又可以分为两种方法:分类后比较和copula理论方法。分类后比较方法首先对图像分别分类,然后再对比分类图得到变化图,这种方法依赖于图像分类的准确率。copula理论方法是将一张图片转化成和另一张图像相同的分布,然后再做处理。
普通GAN的生成器
G
G
G的输入为分布为
p
z
(
z
)
p_z(z)
pz(z)的噪音
z
z
z,输出为生成的假的图像
G
(
z
)
G(z)
G(z);而判别器
D
D
D的输入是分布为
p
d
a
t
a
(
x
)
p_{data}(x)
pdata(x)的真图像
x
x
x和生成的假图像,判别器用来判别输入的是真图像还是假图像,当判别不出来的时候说明生成器生成的假图像可以以假乱真了。而条件GAN会有一个额外的输入
y
y
y,并根据
y
y
y生成指定类型的图像。cGAN的目标函数如下:
min
G
max
D
V
(
D
,
G
)
=
E
x
∼
p
data
(
x
)
[
log
(
D
(
x
)
)
]
+
E
y
∼
p
data
(
y
)
,
z
∼
p
z
(
z
)
[
log
(
1
−
D
(
G
(
y
,
z
)
)
)
]
\begin{array}{l}\min _{G} \max _{D} V(D, G) \\\qquad \begin{aligned}=& E_{x \sim p_{\text {data }}(x)}[\log (D(x))] \\&+E_{y \sim p_{\text {data }}(y), z \sim p_{z}(z)}[\log (1-D(G(y, z)))]\end{aligned}\end{array}
minGmaxDV(D,G)=Ex∼pdata (x)[log(D(x))]+Ey∼pdata (y),z∼pz(z)[log(1−D(G(y,z)))]
二、方法
网络结构如上图所示,首先翻译网络将光学图像转换成SAR图像,然后评估网络减少SAR图像和生成的SAR图像之间的像素级的差别,并根据生成的图像1和图像2得到最终的变化图CM。判别器用来判别输入是真图像还是假图像。
文章提出的模型的损失函数还加入了用来衡量像素之间差异的L1距离损失,其公式如下:
L
1
(
G
)
=
E
x
,
y
∼
p
data
(
x
,
y
)
,
z
∼
p
z
(
z
)
[
∥
x
−
G
(
y
,
z
)
∥
1
]
L_{1}(G)=E_{x, y \sim p_{\text {data }}(x, y), z \sim p_{z}(z)}\left[\|x-G(y, z)\|_{1}\right]
L1(G)=Ex,y∼pdata (x,y),z∼pz(z)[∥x−G(y,z)∥1]
因此,总的损失函数如下:
min
G
max
D
TN
(
D
,
G
)
=
V
(
D
,
G
)
+
λ
L
1
(
G
)
\min _{G} \max _{D} \operatorname{TN}(D, G)=V(D, G)+\lambda L_{1}(G)
GminDmaxTN(D,G)=V(D,G)+λL1(G)
SAR图像中的乘性散斑噪声被认为是一个Gamma分布
z
S
A
R
∼
Γ
(
L
,
L
−
1
)
z_{SAR}\sim \Gamma\left(L, L^{-1}\right)
zSAR∼Γ(L,L−1),其中
L
L
L是SAR图像处理中的looks数。而光学图像的损伤被认为是一个高斯分布
z
o
p
t
∼
N
(
0
,
σ
2
)
z_{\mathrm{opt}} \sim \mathcal{N}\left(0, \sigma^{2}\right)
zopt∼N(0,σ2)。
评估网络的目标函数如下:
L
1
(
A
N
)
=
P
u
(
x
,
y
)
∥
f
(
x
,
z
S
A
R
)
−
G
(
y
,
z
o
p
t
)
∥
1
L_{1}(\mathrm{AN})=P_{u}(x, y)\left\|f\left(x, z_{\mathrm{SAR}}\right)-G\left(y, z_{\mathrm{opt}}\right)\right\|_{1}
L1(AN)=Pu(x,y)∥f(x,zSAR)−G(y,zopt)∥1
其中
x
,
y
x,y
x,y分别表示SAR图像和光学图像,
f
f
f表示评估函数,
P
u
(
x
,
y
)
P_u(x,y)
Pu(x,y)表示
{
x
,
y
}
\{x,y\}
{x,y}是否发生改变,是否发送改变可以根据自动阈值方法——Kittler and Illingworth(GKI)阈值算法来决定,其公式如下:
{
P
u
(
x
,
y
)
=
1
2
(
1
−
sgn
(
∥
f
(
x
,
z
S
A
R
)
−
G
(
y
,
z
o
p
t
)
∥
2
2
−
τ
)
)
τ
=
GKI
(
X
,
Y
)
\left\{\begin{array}{l}P_{u}(x, y)=\frac{1}{2}\left(1-\operatorname{sgn}\left(\left\|f\left(x, z_{\mathrm{SAR}}\right)-G\left(y, z_{\mathrm{opt}}\right)\right\|_{2}^{2}-\tau\right)\right) \\\tau=\operatorname{GKI}(\mathcal{X}, \mathcal{Y})\end{array}\right.
{Pu(x,y)=21(1−sgn(∥f(x,zSAR)−G(y,zopt)∥22−τ))τ=GKI(X,Y)
其中
X
,
Y
\mathcal{X}, \mathcal{Y}
X,Y是
x
,
y
x,y
x,y的集合,该公式表示如果
{
f
(
x
,
z
S
A
R
)
,
G
(
y
,
z
o
p
t
)
}
\{f\left(x, z_{\mathrm{SAR}}\right),G\left(y, z_{\mathrm{opt}}\right)\}
{f(x,zSAR),G(y,zopt)}之间的差异小于
τ
\tau
τ,则
{
x
,
y
}
\{x,y\}
{x,y}将被认为是未变化,反之认为发生了变化。
翻译网络的目标函数如下:
min
G
max
D
T
N
∗
(
D
,
G
)
=
P
u
(
x
,
y
)
T
N
(
D
,
G
)
\min _{G} \max _{D} \mathrm{TN}^{*}(D, G)=P_{u}(x, y) \mathrm{TN}(D, G)
GminDmaxTN∗(D,G)=Pu(x,y)TN(D,G)
差图DI可以通过计算两张生成的图像之间的欧氏距离得到,对DI使用模糊c-均值算法得到变化图。
整个算法的流程如下图所示:
三、实验
作为对比的模型有PCC、copulas方法、SCCN,评价指标有FPs、FNs、全体准确率OA、Kappa系数KC、AUC。使用的数据集有Shuguang数据集和Sanshui数据集。
上图是Shuguang数据集中的2008年的SAR图像、2012年的光学图像和ground truth。
在Shuguang数据集的实验中,为了验证不同的图像分辨率的影响,使用滑动窗口的方法对SAR和光学图像的分辨率进行降低并形成了两个子数据集。
上图中a ~ c分别是PCC、copulas方法、SCCN得到的DI,d ~ f分别是a ~ c对应的CM。
上图是不同方法在Shuguang数据集上的结果。
上图是不同方法在Sanshui数据集上的结果。
上图是文章提出的方法在两个数据集上的不同评价指标情况。