A Weakly Supervised Convolutional Network for Change Segmentation and Classification

Abstract

完全监督的变化检测方法要求难以获得像素级标签,而弱监督的方法可以使用图像级标签进行训练。但是,大多数这些方法都需要将变化的图像和不变的图像对组合在一起进行训练。因此,这些方法不能直接用于仅更改的图像对可用的数据集。我们介绍W-CDNet,这是一种新型的弱监督变更检测网络,可以使用图像级语义标签进行训练。此外,可以使用两种不同类型的数据集来训练W-CDNet,这些数据集要么仅包含更改的图像对,要么包含更改的图像和未更改的图像对的混合。由于我们使用图像级语义标签进行训练,因此我们同时创建了一个更改掩码,并为单标签图像添加了更改后的对象标签。 W-CDNet使用W形暹罗U型网络从图像对中提取特征图,然后将其进行比较以创建原始变更掩码。我们模型的核心部分是变更分段和分类(CSC)模块,它通过使用自定义重新映射块,然后用变更掩码对当前输入图像进行分段,来在隐藏层学习准确的变更掩码。分割的图像用于预测图像级别的语义标签。仅当更改掩码实际标记了相关更改时,才能预测正确的标签。这迫使模型学习准确的更改掩码。我们展示了我们的方法的分割和分类性能,并在AICD和HRSCD,两个公共航空影像变化检测数据集以及食物垃圾变化检测数据集上取得了最佳结果。我们的代码位于:\

Introduction

变更检测[1,2]是一项重要的计算机视觉任务。它可用于遥感[3,4],视频监控[5]和街景成像[6,7]等。这是一项具有挑战性的任务,因为必须将两个时间上不同的图像之间的相关变化与噪声以及不相关的语义变化区分开。一个图像对可以属于以下两个类别之一:已更改,这意味着两个图像之间存在相关更改;或者未更改,这意味着根本没有更改,或者只有不相关的更改。用户必须预先定义什么才算是相关更改。

许多数据驱动的变化检测方法都是使用像素级标签进行训练的[6,7,8]。但是,创建像素级变化检测数据集既昂贵又耗时,因为必须手动比较两个图像并在像素级上进行标记。结果,需要可以用更简单的标签(例如图像级标签或边界框)训练的变化检测方法。另外,许多弱监督的变更检测方法需要变更和不变的图像进行训练。这降低了它们对实际可用或可以通过图像增强生成不变图像的数据集的可用性。


在这项工作中,我们提出了W-CDNet,这是一种数据驱动的变更检测网络,可以使用图像级语义标签进行训练。通过图像级语义标签,我们的意思是标签不仅描述了图像对的二进制状态(更改或未更改,还用于其他作品[9,10,11])。因此,在发生食物浪费数据集的情况下,更改后的标签会进一步分为几个语义标签,例如苹果或面包。

与其他方法[9,10,11]相比,我们的方法可以采用以下两种方法之一进行训练:(i)仅使用更改的图像对,这意味着数据集中的每个图像对至少包含一些相关更改; (ii)混合使用已更改和未更改的图像对。

图1显示了我们的W-CDNet模型的高级概述。我们使用基于两个具有共同权重的U-Net [13]的Wshaped暹罗网络[12]进行特征提取。一组自定义比较块对来自暹罗网络的特征图进行比较,并创建一个高分辨率特征图,其中包含有关两个图像之间差异的信息。我们自定义的变更细分和分类(CSC)模块重新映射这些功能,以创建有意义的变更掩码,然后将其用于分割当前输入图像。分割的图像被编码,并与残差块的特征向量一起被馈送到预测图像级别标签的分类器。

如果在CSC模块内创建的更改掩码不包含相关更改,则分类器将无法预测正确的图像级标签。同时,由于有了我们的重新映射功能(CSC模块的一部分),该模型不能仅专注于完整图像。因此,该模型被迫学习一个标记不正确的变化掩码,该掩码标记相关的变化并抑制无关的变化,而监督却很弱。此外,我们集成了一个CRF-RNN层[14]来完善在CSC模块中创建的更改掩码。我们的方法适用于单标签图像。由于它是使用图像级语义标签训练的,因此我们可以直接对更改的对象进行分类。

我们工作的主要贡献包括:

(i)W-CDNet,这是一种新颖的变化检测网络,可以使用图像级语义标签在弱监督下进行训练。据我们所知,我们是第一个使用图像级语义标签而不是二进制标签来进行弱监督的人。

(ii)CSC,一个新颖的变更分割和分类模块,可在隐藏层创建高分辨率的变更掩码,并对分割后的当前输入图像进行编码。 CSC模块对于W-CDNet的性能至关重要。

(iii)我们证明了我们的W-CDNet改进了AICD数据集上弱监督变更检测的最新技术[15]。此外,我们是第一个在HRSCD [16]数据集上报告弱监督变更检测结果的公司。我们还报告了食物浪费数据集的绩效。

(iv)我们公开发布AICD数据集的新收集的图像级语义标签。

2 Related Work

变化检测在遥感[2,17,18,16]和街景图像[6,19,7]中起着重要作用。如今,随着深度学习的出现[20,21],数据驱动的方法被最广泛地使用,因为它们比以前的方法[22,23,24]具有更好的性能。这些相关的工作可以分为完全监督,弱监督和无监督的变更检测数据驱动方法。

2.1完全监督的变更检测

许多方法都经过完全监督的像素级标签训练,以获得良好的分割效果。根据确切的任务,使用二进制更改掩码或语义更改掩码。郭等。 [19]提出了一个暹罗全卷积网络。他们从三个隐藏层中减去了特征,使用结果创建了一个更改掩码,并提出了一个新的损失来惩罚嘈杂的更改。江等。 [25]介绍了一种基于金字塔特征的注意力导向的暹罗网络,该网络使用全局共注意力机制来强调输入特征对之间的相关性。 Daudt等。 [8]提出了三个全卷积网络用于变化检测。两个使用共享权重的暹罗架构作为编码器。解码器使用来自编码器的不同隐藏层的特征来创建更改掩码。 Lebedev等。 [18]创建了一个条件对抗网络,用于完全监督的变更检测。

Bu等。 [26]提出了一种用于检测未注册图像中的变化的方法。第一个模块粗略地预测图像对的变化区域和匹配信息,第二个模块细化变化区域。 Daudt等。 [16]提出了四种执行语义变化检测的方法,所有这些方法都使用相同的带有残余连接的编解码器结构。他们要么直接预测语义更改掩码,要么直接预测单个更改掩码和语义标签,然后在第二步中进行组合。

2.2弱监督和无监督变更检测

Sakurada等。 [27]提出了一个暹罗网络,该网络首先创建一个更改掩码,然后对更改后的区域执行语义分割。两个模型零件都使用像素级标签进行训练。他们使用单独的变更检测和语义细分数据集进行培训。江等。 [10]使用暹罗网络结合条件随机场(CRF)[28]。他们仅使用图像级标签进行培训。此外,他们提出了加权全局平均池化层(WGAP),这使他们能够共同预测像素级和图像级标签。 Yu等。 [17]使用主动学习和马尔可夫随机场来减少所需的地面真相变化掩膜的数量。 Jong等。 [29]在标准细分数据集上训练了他们的模型。然后,他们比较了两个图像的提取特征,以创建差异图像。 Minematsu等。 [11]提出了一个卷积神经网络(CNN),它使用两个输入图像的简单像素逐减作为附加约束。他们的模型仅使用图像级标签进行训练。 Chianucci等。 [30]使用空间变换器网络[31]和滑动窗口来检测两个图像之间的变化。他们没有执行变更分割,而是使用边界框进行了简单的变更检测。 Khan等。 [9]将CNN与CRF结合使用,以便同时执行二进制分类并创建更改掩码。他们使用CNN来预测第一个更改掩码,并使用CRF来完善更改掩码。他们使用图像级二进制标签训练了他们的模型。

与现有的弱监督变更检测方法相比,我们的方法可以使用描述变更对象的图像级语义标签进行训练。我们提出的变更分段和分类(CSC)模块允许我们创建变更掩码并同时为单标签图像标记变更后的对象。因此,我们的方法可以使用仅包含更改的图像对的数据集或包含更改的图像和未更改的图像对混合的数据集进行训练。另外,与其他作品[11,10,9]相比,我们的模型创建了一个更改蒙版,并将包含更改的图像分割到一个隐藏层。然后,使用CRF-RNN [14]层对生成的分割图像进行细化,并用于预测图像级语义标签。类似于[25,19,8,27,10],我们也使用暹罗网络从图像对中提取特征图。但是,我们提出了一个基于两个U-Net的W形暹罗网络[13],并引入了一个自定义的“比较块”来比较这些特征图,然后再使用我们新颖的CSC模块进行联合分割和分类。

3建议的方法

在本节中,我们介绍我们建议的W-CDNet。我们首先提供处理流程和体系结构的概述,然后提供每个主要组件的详细信息。我们还将说明变更细分和分类(CSC)模块如何使模型在隐藏层学习准确的变更掩码。

3.1 W-CDNet概述

我们引入了W-CDNet(见图2),这是一个弱监督的卷积网络,它检测并分割图像对中相关的像素级变化。如引言部分1所述,该方法是用图像级语义标签训练的。该模型将两个时间上不同的,共同注册的RGB图像作为输入(称为先前图像和当前图像)。如果图像对尚未共配准,我们将在预处理步骤中对齐它们。

由两个U-Net [13]组成的暹罗模型(共享权重)从图像对中提取特征图。这些功能图通过一系列比较块进行比较。通过比较来自几个隐藏层的特征,我们利用了高级别和低级别的信息,这些信息使我们能够过滤掉不需要的更改,同时仍然可以创建准确的高分辨率更改蒙版。

最后一个比较块的输出是原始更改掩码,由CSC模块处理。 CSC模块是W-CDNet的核心:它使模型可以在隐藏层学习更改掩码。以下各节将更详细地描述CSC模块和各个块。

3.2 Siamese Network: 连体网络

连体网络基于U-Net [13],该网络使用VGG16 [32]模型作为特征提取器。图像对用作模型输入。 U-Net从两个图像中提取高级和低级特征图。在每个上采样层之前生成的特征图将传递到比较模块。

3.3 Comparison Block :比较模块

该模块比较来自两个U-Net的特征图。它突出显示了两个图像之间相关特征的差异。图3显示了单个比较模块的不同层。我们总共使用了六个比较模块,每个模块都比较来自不同U-Net层的功能。这允许模型同时使用高级和低级信息来创建更改掩码。由一个比较模块创建的特征图将被上采样,并被馈送到下一个比较模块。最后一块的特征图由ReLU [33]激活的三个卷积层处理,然后输出一个单通道原始更改掩码。

3.4 CSC模块

CSC模块是W-CDNet的核心。它分为两个独立的分支。仅由一个残差块组成的一个分支提取的功能有助于确定图像对是否完全包含任何相关更改。
另一个分支进一步处理重新映射块中的原始更改掩码,该假定假定最高的掩码激活始终对应于相关更改,而与图像对中是否实际存在相关更改无关。重映射块创建一个更改掩码,该掩码由CRF-RNN [14]层进行完善。最终的更改掩码将用于分割当前输入图像。分割后的图像随后由VGG16 [32]模型进行编码。融合块将来自两个分支的特征向量连接起来,并预测图像级别的标签。该模型必须突出显示相关更改,否则Fusion Block将无法预测正确的图像级标签。现在,我们将更详细地描述CSC模块中的块。

Remapping Block : 重新映射块。

重新映射模块从比较模块接收原始更改掩码。假定具有较高激活率的更改遮罩像素(相对于其他像素)标记相关更改。这由以下公式强制执行:

其中,^X是原始变化掩码,可以包含区间[0,∞]的值,α是超参数,sig()是sigmoid函数,`Y是中间预测变化掩码,现在包含区间[0,1]的值。

等式(1)显示了重新映射过程的中间结果。与输入范围无关,Xmap的值位于区间[-α 2,α 2 ]中,其中最小值(X)映射到α 2,最大值(X)映射到α2(例外:X中的所有要素具有完全相同的值)。由于这些值随后被馈入sigmoid函数,超参数α影响标记相关变化的值与标记不相关变化的值分离的程度。α越小,变化掩码值的分布越平滑。我们将α设置为32用于训练(没有CRF-RNN层),将α设置为16用于微调(包括CRF-RNN层)。

现在可以用CRFRNN [14]层进一步细化中间变化掩模。最终的变化蒙版随后与当前输入图像元素相乘,这导致图像中只有具有相关变化的区域可见。这一步,结合上面解释的重新映射,迫使模型学习一个精确的变化掩码。然后,分割的图像被馈送到VGG16 [32]模型,该模型创建描述由变化掩模标记的区域的特征向量。

Residual Block 残余块。

虽然重新映射块假设在两个输入图像之间总是有一些相关的变化,但是残留块有助于确定这是否是真的。为此,残差块将原始变化掩码作为输入,并创建一个特征向量,帮助模型区分变化和未变化的图像对。如果没有剩余块,由于重映射块,模型无法进行这种区分。然而,当只在变化的图像上训练时,它仍然可以学习分割变化。图3显示了剩余块的不同层。

Fusion Block. 融合块。

融合块将由VGG16模型和残差块创建的特征向量连接起来,并将它们分类为N个类,其中n1个类描述了变化的对象,一个类是未变化的类。图3显示了融合块的不同层。

3.5模型变化 Model Variations

可以使用已更改和未更改图像对的组合来训练W-CDNet。通过从CSC模块中移除剩余块,可以仅使用改变的图像对来训练模型。在这种情况下,融合块只有一个输入,只是作为一个分类器。也可以在多任务学习环境中,在完全监督下训练我们的模型[34]。在这种情况下,可以使用变更遮罩和图像级别标签作为模型输出。

图3.更详细的比较块,残差块和融合块。块输入和输出的颜色参考图2中的颜色。

3.6 训练

为了加快培训速度,我们利用转移学习并为U-Net使用公开可用的预训练权重[35]。对于VGG16 [32]模型,我们使用ImageNet [36]上的培训提供的公开可用的预训练权重。通过从正态分布中采样来初始化所有其他权重。必须分两个步骤对模型进行训练:
(1)训练:从模型中删除了CRF-RNN层[14]。该模型必须学习正确标记图像对(图像级标签)。在此过程中,它将学习在隐藏层上创建未改进的更改掩码。更改对象的边界尚未准确分割,如图4所示。
(2)微调:在第二步中,将CRF-RNN层插入模型,并从步骤1中获得权重所有其他层均已加载。然后再次对模型进行端到端训练,但学习率降低。经过这一训练步骤后,由于CRF-RNN层对分割的细化,更改后的对象得到了更准确的分割,如图4所示。

图4. CRF-RNN层对变化分割性能的影响,针对AICD数据集中的图像对显示。从左到右:上一张图像,具有更改对象的当前图像,未经细化的更改遮罩,通过CRF-RNN层进行细化的更改遮罩,地面真实更改遮罩。

损失函数。

我们使用分类交叉熵损失来训练我们的弱监督模型。对于完全监督的训练,我们结合了两种损失:图像级语义标签LIL的分类交叉熵损失和像素级更改掩码的自定义条件损失LCM。如果max(Y)> 0,则LCM采用标准的二进制交叉熵损失的形式,否则将其设置为0。Y是地面真相更改掩码。由于模型分支(预测更改掩码)假设图像对中始终至少存在一些相关更改,因此需要有条件的损失。因此,如果图像对不包含任何更改,则我们不希望对更改掩码造成任何损失,而仅对图像级别的语义标签造成损失。 LIL和LCM总计为最终损失L。

4实验和结果

在本节中,我们描述了实验基准(数据集和性能指标),进行的实验,并讨论了与文献报道的结果相关的结果。只有极少数的弱监督变更检测方法可以在可公开获得的数据集上报告其结果。由于这些方法的代码通常是不公开的,因此我们使用它们所使用的性能指标将我们的结果与作者提供的结果进行比较。

4.1数据集
大多数变化检测数据集都包含像素级的二进制标签[37,15,38,6]。但是,在我们的工作中,我们使用了图像级语义标签。我们还可以从像素级语义标签中提取它们。 HRSCD [16],PSCD [27]和SCPAWC [39]包含用于语义变化检测的像素级标签,但是只有HRSCD可以公开获得。我们参考[1]对数据集和相关文献进行了扩展回顾。在这项工作中,我们验证了我们在HRSCD,AICD [15](我们为其收集了图像级别的语义标签)以及Food Waste数据集上的方法。

Food Waste Dataset。

“食物垃圾”数据集包含57,674个图像对,其中3,447对图像级别标签未更改。更改后的图像对分布在20个类别中,这导致数据集具有21个类别,包括未更改的类别。由于食物垃圾数据集非常新,因此大多数图像仅包含图像级标签。总共145张图像还包含像素级二进制标签。它们用于评估细分效果。手工仔细检查了1,050个图像对的图像级别标签。这些对用于评估语义和二进制分类性能(其中50个属于未更改的类)。图像从3,280×2,464像素调整为512×512像素,以进行训练和测试。该模型经过图像增强训练。

AICD数据集。
航空图像变化检测(AICD)数据集[15]是由1,000个图像对(600×800像素)组成的合成数据集,其中500个包含硬阴影。对于我们的实验,我们仅使用带有硬阴影的图像对。对于每个图像对,只有一个对象被视为相关更改。由于这些对象非常小,因此我们将图像分成48个大小为122×122像素的小块,且重叠最少,从而产生24,000个图像对。将小块调整为128×128像素以进行训练。我们使用图像级语义标签手动注释图像对。我们将公开提供标签以供进一步研究。

HRSCD数据集。
高分辨率语义变化检测(HRSCD)数据集[16]是一个非常具有挑战性的数据集,其中包含291对高分辨率航空图像对(10,000×10,000像素)。数据集包含5类(人工表面,农业表面,森林,湿地,水)的像素级语义标签。此外,每个图像对都有一个地面真相更改掩码。我们从像素级语义标签中提取了针对变化区域的图像级语义标签。
我们使用146对图像进行训练,并使用145对图像进行测试。我们处理尺寸为1,000×1,000像素的图像裁剪,并进一步调整为512×512像素以进行训练和测试。原始图像被裁剪而没有任何重叠,从而产生了29,100个图像对。
由于我们的模型仅适用于单标签图像对,而HRSCD包含多标签,因此我们为5个语义标签的每种可能组合创建了一个标签。这产生了31个唯一的语义标签,以及其他未更改的标签。我们对代表性不足的课程进行了过度采样,并确保每个课程至少有600个训练样本。

图5.预测的变化掩码的定性结果。第1行:上一张图片。第2行:当前图片。第3行:预测的更改掩码。第4行:地面真相更改掩码。第1-3栏:AICD数据集。第4-6列:食物垃圾数据集。第7-10栏:HRSCD数据集。

5结论

本文介绍了W-CDNet,这是一种用于变化检测的新型数据驱动卷积网络,可以使用图像级语义标签在弱监督下进行训练。所建议的变更分段和分类(CSC)模块使W-CDNet可以通过使用自定义重新映射块,然后使用预测的变更掩码对当前输入图像进行分段,来在隐藏层学习变更掩码。然后,将分割后的图像用于预测用于训练的图像级别语义标签。在烧蚀研究中,我们显示了残差块和集成的CRF-RNN层的重要性及其对W-CDNet整体性能的影响。
我们改进了AICD上的弱监督变更检测的最新技术,并率先在HRSCD数据集上报告了弱监督变更检测结果。在HRSCD上,我们的弱监督方法的性能与使用完全监督的相关工作相当。
为以后的工作,我们建议尝试多标签更改检测。由于我们的模型使用图像级语义标签进行训练,因此可以预测每个标签的单独更改掩码。也可以尝试改善模型内的信息共享以提高性能。另一个有趣的任务是对未注册的图像执行更改检测。另外,我们希望我们的模型可以在有或没有不变的图像对的情况下进行训练的事实,为弱监督变化检测方法的新应用提供了新的应用。

A Weakly Supervised Convolutional Network for Change Segmentation and Classification相关推荐

  1. WS-DAN:Weakly Supervised Data Augmentation Netowrk for Fine-Grained Visual Classification

    See Better Before Looking Closer: Weakly Supervised Data Augmentation Netowrk for Fine-Grained Visua ...

  2. Weakly Supervised Complementary Parts Models for Fine-Grained Image Classification

    这是2019年CVPR的一篇文章,作者来自香港大学和Deepwise AI Lab,该文章是关于细粒度图像分类的 解决的问题 用图像级标签训练的深度神经网络只倾向于聚焦于discriminative ...

  3. Weakly Supervised Semantic Segmentation list

    Weakly Supervised Semantic Segmentation list 文章转自Github:https://github.com/JackieZhangdx/WeakSupervi ...

  4. Fully Convolutional Networks for Semantic Segmentation (FCN)论文翻译和理解

    论文题目:Fully Convolutional Networks for Semantic Segmentation 论文来源:Fully Convolutional Networks for Se ...

  5. 【论文翻译】Fully Convolutional Networks for Semantic Segmentation

    论文题目:Fully Convolutional Networks for Semantic Segmentation 论文来源:Fully Convolutional Networks for Se ...

  6. FCN全连接卷积网络(3)--Fully Convolutional Networks for Semantic Segmentation阅读(摘要部分)

    1.摘要 1.1逐句理解一下: Convolutional networks are powerful visual models that yield hierarchies of features ...

  7. Contrastive learning of Class-agnostic Activation Map for Weakly Supervised Object Localization and

    paper: Contrastive learning of Class-agnostic Activation Map for Weakly Supervised Object Localizati ...

  8. 【U-net】【粗读】Retinal blood vessel segmentation using fully convolutional network with transfer...

    Retinal blood vessel segmentation using fully convolutional network with transfer learning 摘要 介绍 数据集 ...

  9. 【论文阅读】Regional Semantic Contrast and Aggregation for Weakly Supervised Semantic Segmentation

    论文标题: Regional Semantic Contrast and Aggregation for Weakly Supervised Semantic Segmentation 作者信息: 代 ...

最新文章

  1. SharePoint 2013中的视频体验增强(1)——把大象装进冰箱
  2. tomcat8.0.15+spring4.1.2的集群下共享WebSocketSession?
  3. 你必须收藏的Github技巧
  4. 聚宽macd底背离_MACD指标图解!如何解决滞后性,规避盲目买进卖出!
  5. 【opencv】opencv在图片、视频嵌中英文字符的方法
  6. 剖析:学思科的未来(一)
  7. 如何提高阅读源代码的效率 .
  8. 在中国,真正达到月收入1万以上的有多少
  9. java EE 监听器
  10. HDU 4927 大数运算
  11. Linux下virtualenv与virtualenvwrapper详解
  12. Django合并多个查询结果
  13. 滴滴passport设计之道:帐号体系高可用的7条经验
  14. macOS官方镜像下载
  15. TE波TM波和TEM波波阻抗
  16. 你的简历能帮你争取到面试机会吗?
  17. Word2019建立自己的模板
  18. 中琅条码软件连续打印设置方法
  19. Python基础学习(十二)标准库
  20. 批量多次复制依次粘贴工具【编程语言:易语言】

热门文章

  1. CPU GPU 扫盲帖
  2. 基于CUDA的GPU并行计算技术实现网课课表编排
  3. shell脚本编程笔记(十)—— 正则表达式
  4. 利用计算机模拟人类的活动属于,赠书 | 计算机能模拟人类心智吗?
  5. 计算机组成原理实验报告JMPR,计算机组成原理实验四:组合逻辑控制器部件教学实验...
  6. 【BUCTOJ训练:字符串最大跨距(Python)】
  7. Android WebView支持文件下载之调起浏览器下载(Java与Kotlin版)
  8. iPad pencil充放电曲线研究(娱乐向)
  9. 有哪些你一打开,就令你惊讶的网站?
  10. 数量关系-排列组合和概率