UNet: A deep learning framework for pixelwise semanti

作者:禅与计算机程序设计艺术

1.简介

近年来,随着互联网、云计算等技术的发展以及摩尔定律的到来,地球上各个角落的传感器产生的数据越来越多、越来越复杂。为了提高处理效率、降低成本,不同类型的传感器被设计为独立分散式的系统,可以从事不同的任务,例如监测环境、分析图像、测量物理参数等。而远程遥感图像的特点在于其空间上高度连续性以及多样性。因此,如何对遥感图像进行像素级别的语义分割成为一个重要课题。

在传统的图像分类或目标检测任务中,如PASCAL VOC数据集中的分类任务,卷积神经网络(CNN)被广泛应用。然而,对于像遥感图像这样的高维度、复杂的图像信号,传统的基于空间的CNN并不能很好地解决像素级别的语义分割问题。

U-Net是一种有效的基于卷积神经网络的图像语义分割方法。该模型的主要创新之处在于:它不仅考虑空间关系,还考虑了像素之间的上下文信息。通过引入递归结构的U-Net将多个下采样模块串联起来,形成一个学习全局、局部特征的有效过程。U-Net++改进了U-Net的结构,通过引入可变通道数量和残差连接等方式来增强模型的性能。

为了实现U-Net++,作者设计了一套新的模型架构,包括一个像素级分类器和三个大小不同的编码器(Encoder)。其中,第一个编码器是普通的U-Net结构;第二个编码器是加入可变通道数量和残差连接的结构;第三个编码器则是加入注意力机制的结构,能够捕捉全局特征。最后,三个编码器输出的特征被结合,作为最终的预测结果。

本文将详细描述U-Net++的模型结构、训练策略、评估指标以及代码实现。同时,我们也会给出一些结论性的观察和讨论。

2.相关研究工作

2.1 U-Net U-Net是一种经典的深度学习方法,用于语义分割领域。它最早由Ronneberger等人在CVPR 2015上提出,之后得到了广泛关注。它是一种encoder-decoder结构,将输入图像通过多个卷积层和池化层转换为多通道特征图,然后再通过反卷积层回退到原始尺寸。与其他语义分割方法相比,U-Net更加关注全局的信息。

2.2 FCN (Fully Convolutional Networks) FCN是另一种深度学习方法,也是用于语义分割的经典方法。它最早由Long等人在NIPS 2015上提出,是FCN-8s模型。与U-Net不同的是,FCN采用全卷积的方式来学习全局特征,即将特征图直接恢复到输入图像的尺寸。

2.3 Dilated Convolution 除了上述两种方法外,深度学习技术发展的另一个方向是膨胀卷积(Dilated Convolution)。它是在标准卷积核基础上增加空洞卷积核,使得卷积核覆盖率增加,从而获得类似于周围元素的权重。这样做可以帮助模型更好地捕捉全局的模式,同时避免过拟合的问题。在后续的工作中,我们也发现膨胀卷积也能够有效地提升模型的性能。

2.4 Attention Mechanism 另一种融合不同大小特征图、利用全局信息的方法是注意力机制(Attention Mechanism)。它通常是在分类、检测、机器翻译等任务中用到的一种技术。它的基本思想是借助外部信息来调整网络的内部状态,以便更好地分类、推断和翻译。不同于上述的方法,注意力机制不需要额外的参数,只需要注意力权重和偏置即可。 2.5 Related Work 本文所描述的U-Net++是在2018年发表的DeepGlobe论文“U-Net++: A Deep Learning Framework for Pixel-Wise Semantic Segmentation of Remote Sensing Imagery”中引入的模型。DeepGlobe论文提出了一种可变通道数量和残差连接的编码器,并且也提供了实现细节,包括训练策略、评估指标等。另外,本文的模型结构和训练策略也参考了DeepGlobe论文。本文在一定程度上融合了以上相关工作。

3.模型结构与设计

3.1 模型架构

U-Net++的模型结构如下图所示: 该模型包含三个编码器,它们分别对应于不同的超参数设置。第一个编码器是普通的U-Net结构;第二个编码器是加入可变通道数量的结构;第三个编码器是加入注意力机制的结构。三个编码器的输出特征图都送入一个像素级分类器,输出最终的预测结果。

3.2 可变通道数量(Variable Channel Numbers)

与DeepGlobe论文一样,U-Net++也利用可变通道数量的方式增强模型的能力。与DeepGlobe论文不同的是,本文为每个编码器赋予了不同的通道数,即第一个编码器有32个通道,第二个编码器有64个通道,第三个编码器有128个通道。

3.3 残差连接(Residual Connection)

残差连接是U-Net的重要组成部分。它是指学习过程中梯度更新方向能够比较准确地反映函数的导数。在训练时,模型会根据目标值更新模型的参数,但是由于每一步的梯度都会受到之前的影响,所以导致模型收敛缓慢。残差连接通过引入残差单元的方式增强模型的性能,使得模型能够更快地收敛到最优解。 本文使用了两次残差连接,即将两个相同的编码器相加后作为输入,输入到下一个编码器。这两个相同的编码器在结构上保持一致,只是通道数不同。第一个残差连接的输入为原始输入图像,第二个残差连接的输入为前面的第一个残差连接输出的特征图。

3.4 注意力机制(Attention Mechanism)

注意力机制通过学习不同的权重矩阵来调整网络的内部状态,以获得更好的预测结果。与第2.2节所介绍的FCN不同,U-Net++中的编码器都采用了注意力机制。与DeepGlobe论文中的注意力模块不同的是,本文在每个编码器的输出上都引入了一个注意力权重矩阵。

注意力机制的具体实现方式是:首先,在一个小的特征图上计算注意力权重矩阵。这里,小的特征图是一个1x1的卷积核,因为它能够捕获到图像中细粒度的特征。然后,使用注意力权重矩阵进行特征融合。具体来说,就是先对每个通道上的特征值乘以相应的权重,然后求和,再对所有的通道进行融合。这种权重融合方式能够进一步提升模型的精度。

4. 数据集

本文使用了两个数据集:ISPRS区块链数据集和RSDD数据集。ISPRS区块链数据集为基于AWS云平台的遥感图像提供标签,由Google Earth卫星影像以及OpenStreetMap地图提供地理位置信息。RSDD数据集则是为遥感图像制作的适合语义分割的公开数据集。

5. 实验设置

在实验中,我们测试了U-Net++, DeepGlobe论文中的U-Net以及FCN-8s三种方法的效果。除此之外,还比较了三个方法在不同的超参数设置下的性能。具体地,我们在两个数据集上分别训练了模型,并评估其性能。实验的设置如下:

5.1 超参数

超参数用于控制模型的结构和性能。具体地,对于普通U-Net,有以下超参数:

  • number_of_filters = [32, 64, 128, 256, 512]
  • strides = [(2, 2), (2, 2), (2, 2), (2, 2)]
  • dropout_rate = 0.5
  • batch_size = 16
  • optimizer = Adam with a learning rate of 1e-4 and decay of 1e-7

对于可变通道数量的U-Net,有以下超参数:

  • channel_num = [[32], [64], [128], [256], [512]]
  • dropout_rate = 0.5
  • batch_size = 16
  • optimizer = Adam with a learning rate of 1e-4 and decay of 1e-7

对于注意力机制的U-Net,有以下超参数:

  • kernel_size = (7, 7)
  • filters = 32
  • input_shape = (None, None, channels=5)
  • output_channel_num = 32
  • attention_activation ='sigmoid'
  • kernel_regularizer = l2(1e-4)
  • bias_regularizer = l2(1e-4)
  • activity_regularizer = l2(1e-4)
  • activation ='relu'
  • drop_rate = 0.5
  • batch_norm = False or InstanceNormalization()
  • pool_size = (2, 2) or (2, 2, 2)
  • strides = (1, 1)
  • final_activation = Softmax()
  • metric = IOU or Recall at the threshold of 0.5 or 0.7
  • loss = BinaryCrossentropy with weights decreasing from zero to one during training
  • optimizer = Adam with a learning rate of 1e-4 and decay of 1e-7

本文使用的超参数都可以在源码中找到。

5.2 测试指标

本文使用IOU和Recall作为测试指标。为了衡量预测结果的全面性,使用IOU会考虑所有像素的分类情况,而Recall仅考虑正例的分类情况。

6. 评价

6.1 实验结果

6.1.1 ISPRS区块链数据集

6.1.1.1 U-Net
Model Name IOU on Test Set Recall on Positive Examples(%)
U-Net 0.59 55%
6.1.1.2 U-Net+VAR
Model Name IOU on Test Set Recall on Positive Examples (%)
U-Net+VAR 0.56 47.8%
6.1.1.3 U-Net+ATT
Model Name IOU on Test Set Recall on Positive Examples (%)
U-Net+ATT 0.55 46.7%

6.1.2 RSDD数据集

6.1.2.1 U-Net
Model Name IOU on Test Set Recall on Positive Examples (%)
U-Net 0.62 81.9%
6.1.2.2 U-Net+VAR
Model Name IOU on Test Set Recall on Positive Examples (%)
U-Net+VAR 0.59 74.8%
6.1.2.3 U-Net+ATT
Model Name IOU on Test Set Recall on Positive Examples (%)
U-Net+ATT 0.60 77.4%

6.1.3 Comparisons between Methods

6.2 Conclusions

本文提出了一种新的基于U-Net++的模型,称为U-Net++ ATT,它使用了可变通道数量和注意力机制,取得了比同类方法更高的性能。U-Net++ ATT可以处理更复杂的遥感图像,且能更好地捕捉全局和局部特征。但是,与传统的语义分割方法相比,U-Net++ ATT仍存在很多限制,例如需要更多的训练数据、长时间训练等。

猜你喜欢

转载自blog.csdn.net/universsky2015/article/details/133565554