【论文笔记】ChangeNet-GAN:基于GAN的变化检测网络

本文是论文《ChangeNet: Learning to Detect Changes in Satellite Images》的阅读笔记。

一、相关工作

卫星图像变化检测中包含相关变化和不相关变化两种,相关变化通常是有限的并且有着明确的定义,比如建筑物、道路的变化;而不相关变化则是多种多样的,比如光照的变化、气候特征(云、雾)的变化以及季节的变化等,这就使得定位和辨别有意义的变化变得困难。本文着重于研究道路和建筑物的变化。

在有监督神经网络中,预测的标签和期望的标签往往有偏差,该概率的角度来说,这是真实的标签分布和生成的标签分布之间的差距导致的,而GAN可以生成类似或等于真实标签的分布以解决该问题。

传统的变化检测方法有两种,一是分类后比较,另一种是比较后分析。分类后比较估计每个输入图像的类别概率图,然后对比这两个类别概率图得到像素级的变化区域图。这种方法的缺点是分类的误差会影响到后面的变化检测。比较后分析可以直接对比输入图像特征信息,首先计算两张输入图像的相似特征图或差图,然后对其进行分析以提取变化区域。后一步可以使用阈值法、聚类法、马尔科夫随机场法等。

Change detection in images can be expressed as: Given two images I 1 I_1 I1, I 2 I_2 I2 taken in the same location at different times, detect and localize all pixels with relevant changes。用 ( x , y ) (x,y) (x,y)表示像素坐标,用 I ( x , y ) I(x,y) I(x,y)表示图像的像素值, c c c表示图像通道数, O O O表示变化图,变化图中的0、1和2分别表示无变化的背景、变化的道路和建筑物。

变化检测结果示意图。

二、方法和网络结构

在传统的GAN中,是不能控制生成的数据的种类的,因此本文使用的是cGAN(条件生成对抗网络),它可以以标签、文本或图像等作为生成器额外的输入,并生成相应的图像。本文使用的cGAN是基于U-Net的,并且在其编码器和解码器之间加入了ASPP(Atrous Spatial Pyramid Pooling)以让分割更具鲁棒性。 G e n c G_{enc} Genc G d e c G_{dec} Gdec分别表示生成器的编码器和解码器部分,生成器使用的是VGG-16,每个卷积块包括卷积层、批正则化、激活函数,卷积核大小为 3 × 3 3\times3 3×3。整个网络都使用ReLU激活函数,网络结构如下图。

条件生成对抗网络的目标函数如下:
min ⁡ G max ⁡ D V ( D , G ) = E x , y [ log ⁡ ( D ( x , y ) ) ] + E x , z [ log ⁡ ( 1 − D ( x , G ( x , z ) ) ] \min _{G} \max _{D} V(D, G)=E_{x, y}[\log (D(x, y))]+E_{x, z}[\log (1-D(x, G(x, z))] GminDmaxV(D,G)=Ex,y[log(D(x,y))]+Ex,z[log(1D(x,G(x,z))]
为了使生成器不仅能骗过判别器,而且还能把每个像素都分类到正确的标签,因此添加了一个多类交叉熵损失 L C L S ( G ) L_{CLS}(G) LCLS(G),其公式如下:
L C L S ( G ) = − 1 N ∑ i = 1 N ∑ j = 1 H × W ∑ c = 1 C y i j c log ⁡ y ^ i j c \mathcal{L}_{C L S}(G)=-\frac{1}{N} \sum_{i=1}^{N} \sum_{j=1}^{H \times W} \sum_{c=1}^{C} y_{i j c} \log \hat{y}_{i j c} LCLS(G)=N1i=1Nj=1H×Wc=1Cyijclogy^ijc
其中, C C C是图像通道数, H × W H\times W H×W是图像大小, N N N是训练图像数, y ^ \hat y y^ y y y分别是生成的变化图和真实的标签图。

GAN的总损失函数如下:
L G A N ( G , D ) = L b c e ( D ) + L b c e ( D , G ) \mathcal{L}_{G A N}(G, D)=\mathcal{L}_{b c e}(D)+\mathcal{L}_{b c e}(D, G) LGAN(G,D)=Lbce(D)+Lbce(D,G)
其中, L b c e L_{bce} Lbce是二值交叉熵损失,其公式如下:
L b c e ( ∗ ) = − 1 N ∑ i = 1 N ∑ j = 1 H × W ( v i j log ⁡ v ^ i j + ( 1 − v i j ) log ⁡ ( 1 − v ^ i j ) ) \mathcal{L}_{b c e}(*)=-\frac{1}{N} \sum_{i=1}^{N} \sum_{j=1}^{H \times W}\left(v_{i j} \log \hat{v}_{i j}+\left(1-v_{i j}\right) \log \left(1-\hat{v}_{i j}\right)\right) Lbce()=N1i=1Nj=1H×W(vijlogv^ij+(1vij)log(1v^ij))
其中 v ^ \hat v v^ v v v分别表示假的和真的概率图。

最终的目标函数如下:
L ( G , D ) = L C L S ( G ) + λ L G A N ( G , D ) \mathcal{L}(G, D)=\mathcal{L}_{C L S}(G)+\lambda \mathcal{L}_{G A N}(G, D) L(G,D)=LCLS(G)+λLGAN(G,D)
文章使用Adam优化器来优化生成器的损失项 L C L S ( G ) + λ L b c e ( D , G ) { v = 1 } \mathcal{L}_{C L S}(G)+\lambda \mathcal{L}_{b c e}(D, G)\{v=1\} LCLS(G)+λLbce(D,G){v=1}和判别器的损失项 L b c e ( D ) { v = 1 } + L b c e ( D , G ) { v = 0 } \mathcal{L}_{b c e}(D)\{v=1\}+\mathcal{L}_{b c e}(D, G)\{v=0\} Lbce(D){v=1}+Lbce(D,G){v=0},其中 { v = 1 } \{v=1\} {v=1} { v = 0 } \{v=0\} {v=0}分别表示全1和全0的ground truth概率图,1和0表示全1和全0的矩阵。Adam优化器的 β 1 = 0.5 \beta_1=0.5 β1=0.5 β 2 = 0.999 \beta_2=0.999 β2=0.999,学习率为0.0001,batch size为16,4个epoch。

生成器和判别器的详细结构如上表。

三、实验

实验使用的数据集是Massachusetts road and building detection数据集。为了生成变化的图像,首先移除标记的道路和建筑物,并使用图像修复技术进行填充,使用预训练的CycleGAN改变合成的图像季节和光照。图像修复极算法有两种,一种是纹理合成技术来从给定的样例纹理生成大图像区域,第二种是可以填充小图像间隙的图像修复技术。最后把图像切分成 256 × 256 256\times256 256×256大小的小图像,共获得大约1.5w张图像,并划分训练集、验证集和测试集。

评价指标选用的是每类的平均精度(accuracy)、每类的准确率(precision)和召回率、每类的F1值和每类的IoU,IoU的定义如下:
I o U = T P T P + F P + F N I o U=\frac{T P}{T P+F P+F N} IoU=TP+FP+FNTP
选用CDNet、MFCN、SU-Net三个模型作为对比。将两幅输入图像分别送入两个独立的编码器,然后在输出特征图上叠加的方式称为ChangeNet1,将先将输入图像进行叠加再送入一个编码器的方式称为ChangeNet2。

从a~h分别表示测试图像、参考图像、ground truth、CDNet的结果、MFCN的结果、SU-Net的结果、ChangeNet1的结果、ChangeNet2的结果。

不同变化检测方法的各种评价指标值。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值