摘要
遥感图像分割是利用遥感技术获取的高分辨率图像进行像素级别的分类,将图像中的不同物体或不同地物提取出来的过程。这个过程对于遥感应用具有重要意义,因为它能够提取出地物和地表特征,如河流、道路、建筑、植被、水体等,并且这些特征是地面实际存在的。图像分割可以为地面覆盖分类、土地利用覆盖变化分析、城市规划、农业资源监测、环境保护等领域提供实用信息。
本论文首先阐述了遥感图像分割和深度学习技术的原理,并用全卷积网络中的FCN-32s和FCN-8s网络构建了遥感图像分割模型,并用ISPRS Vaihingen 数据集训练和测试,经过测试FCN-32s模型的三个评价指标mean F1、mIOU和OA分别为80.45%、70.81%和82.32%,FCN-8s模型的三个评价指标mean F1、mIOU和OA分别为79.24%、70.35%和83.02%。紧接着本论文用U-Net网络构建了遥感图像分割的模型,经过测试U-Net模型的三个评价指标mean F1、mIOU和OA分别为82.10%、72.35%和84.56%。
关键词 遥感图像分割;U-Net;全卷积网络
Abstract
Remote sensing image segmentation is the process of extracting different objects or different features from an image by pixel-level classification using high-resolution images acquired by remote sensing technology. This process is important for remote sensing applications because it can extract features and surface features such as rivers, roads, buildings, vegetation, water bodies, etc. and these features are physically present on the ground. Image segmentation can provide practical information for ground cover classification, land use cover change analysis, urban planning, agricultural resource monitoring, environmental protection and other fields.
In this thesis, firstly, the principles of remote sensing image segmentation and deep learning techniques are explained, and remote sensing image segmentation models are constructed with FCN-32s and FCN-8s networks in full convolutional networks, and trained and tested with ISPRS Vaihingen dataset. After testing, the three evaluation indexes of FCN-8s model mean F1, mIOU and OA are 79.24%, 70.35% and 83.02%, respectively. The three evaluation indexes mean F1, mIOU and OA of the U-Net model were 82.10%, 72.35% and 84.56%, respectively.
Keywords:Remote Sensing Image Segmentation; U-Net; Full Convolutional Network
目录
1 绪论 1
1.1 选题背景及研究意义 1
1.2 国内外现状现状 1
1.2.1 基于聚类的方法 1
1.2.2 基于分割的方法 2
1.2.3 基于深度学习的方法 2
2 遥感图像分割和深度学习基础 3
2.1 基于深度学习的遥感图像分析 3
2.2 遥感图像分割常用的数据集 4
2.2.1 SIRI-WHU 数据集 4
2.2.2 WHU-RS19 数据集图 4
2.2.3 GID 数据集 5
2.2.4 ISPRS Vaihingen 数据集 5
2.3 数据预处理 6
2.4 卷积神经网络基础 7
2.4.1 卷积层 8
2.4.2 激活函数 8
2.4.3 池化层 10
3 基于全卷积网络的遥感图像分割 11
3.1 全卷积网络概述 11
3.2 全卷积网络结构 11
3.3 损失函数 13
3.4 FCN网络结构 13
3.5 全卷积网络模型构建和训练 15
4 基于U-Net网络的遥感图像分割 16
4.1 U-Net网络概述 16
4.2 U-Net网络结构 16
4.3 U-Net训练和结构分析 17
5 总结 18
绪论
选题背景及研究意义
遥感图像分割是利用遥感技术获取的高分辨率图像进行像素级别的分类,将图像中的不同物体或不同地物提取出来的过程。这个过程对于遥感应用具有重要意义,因为它能够提取出地物和地表特征,如河流、道路、建筑、植被、水体等,并且这些特征是地面实际存在的。图像分割可以为地面覆盖分类、土地利用覆盖变化分析、城市规划、农业资源监测、环境保护等领域提供实用信息。
近年来,卷积神经网络(CNN)在图像分割领域中取得了重要的进展。其中,U-Net是一种常用的深度学习模型,它是一种基于卷积神经网络(CNN)的全卷积神经网络(FCN)体系结构,被广泛应用于医学图像分割、遥感图像分割等领域。U-Net通过引入跳跃连接(skip connections)将卷积网络的特征向量与上采样的特征图进行连接,这使得U-Net能够捕获高层次特征和低层次细节信息,提高了遥感图像分割的准确性和鲁棒性。
在遥感图像分割方面,U-Net已经被应用于各种地物类型的分类,如建筑物、水体、植被、道路等。此外,基于U-Net的图像分割方法具有许多优点,例如可以自动学习特征、具有良好的分割效果和泛化能力等。
因此基于U-Net的遥感图像分割方法在土地利用、城市规划、环境保护、气象预报等领域具有广泛的应用前景。特别是在遥感图像分割中,由于遥感图像具有高分辨率、大数据量、多光谱等特点,传统的基于人工规则和手工特征的方法已经无法胜任,而深度学习算法在这方面具有更好的应用前景。因此,基于U-Net的遥感图像分割方法对于遥感应用领域的研究和实践具有重要的意义。
国内外现状现状
基于聚类的方法
基于聚类的方法是遥感图像分割中最常用的方法之一。其基本思想是将像素根据相似度聚成不同的类别,然后将同一类别的像素分成同一区域。K-means算法是最常用的聚类方法之一,其思想是将像素分成K个类别,每个像素属于与之最近的类别。另外,Fuzzy C-Means (FCM)算法和Possibilistic C-Means (PCM)算法也被用于遥感图像分割中,这些方法与K-means算法类似,但对噪声和异常点的鲁棒性更好。
国内外的研究者都在探索基于聚类的方法,但也存在不同的重点和方向。国外的研究者更注重对聚类算法的改进,如改进K-means算法的收敛性、Fuzzy C-Means算法的参数选择等。而国内的研究者则更加注重算法的应用,如在高分辨率遥感图像分割中的应用、基于小波变换的遥感图像分割等。
基于分割的方法
基于分割的方法是指将图像分割成若干个区域,然后对每个区域进行进一步处理。其中,区域生长法是一种常用的基于区域的分割方法,其基本思想是从一组种子像素开始,将与之相邻的像素添加到该区域中,直到无法继续添加为止。此外,基于边缘的方法也被广泛应用于遥感图像分割中,如基于Canny算法的边缘检测和基于边缘特征的图像分割等。
国内外的研究者都在探索基于分割的方法,但也存在不同的研究方向。国外的研究者更注重基于分割的方法的理论研究,如分割
准则的选择、分割算法的优化等。而国内的研究者则更注重算法的实际应用,如基于区域生长法的遥感图像分类、基于多尺度分割的遥感图像分析等。
基于深度学习的方法
近年来,深度学习在遥感图像分割中得到了广泛应用,特别是卷积神经网络 (CNN)。CNN在遥感图像分割中的应用主要包括两种方法:全卷积神经网络 (FCN)和卷积神经网络加级联分割器 (CNN-Cascade)。
FCN是第一个将深度学习方法应用于遥感图像分割的方法之一,其主要思想是将全连接层替换为卷积层,从而实现任意大小输入图像的输出分割。CNN-Cascade是一种新颖的分割方法,通过级联多个卷积神经网络来实现高精度的分割结果。
国内外的研究者都在深入研究基于深度学习的方法,但也存在不同的重点和方向。国外的研究者更注重深度学习模型的改进,如改进卷积神经网络结构、引入注意力机制等。而国内的研究者则更注重深度学习方法在遥感图像分割中的应用,如基于多源遥感图像的建筑物识别、基于深度学习的农作物分类等。
遥感图像分割和深度学习基础
基于深度学习的遥感图像分析
伴随着深度学习的蓬勃发展,遥感图像处理与分析领域也得到了飞速的发展。目前,基于深度学习的遥感图像分析主要在以下几个方面:
计算机视觉中的三大基础任务是分类、检测和分割,其中目标检测一直是热门的研究领域。随着现代信息技术的高速发展,遥感图像处理中的地物目标检测也变得尤为重要。这种应用在无人机、安全防护、军事航海和空中侦察等领域具有重要地位,如图2-1所示。自然场景图像的检测算法有很多,包括单阶段目标检测算法如SSD和YOLO,以及两阶段目标检测算法如Faster R-CNN和Mask R-CNN。此外,还有FCOS、CenterNet等优秀的目标检测算法。然而,在考虑到遥感图像应用的实际场景时,不仅需要算法的识别准确率高,还需要参数大小、速度快等方面的考虑。
图2-1 遥感图像目标检测
为了解决这些问题,一些研究者提出了一些特殊的算法。Yang等人设计了一种将残差网络和超矢量编码相结合的算法,可以高效地检测飞机目标。Xu等人为了提高遥感图像中飞机定位的精度,将特征融合技术应用到了全卷积神经网络中。Liu等人在YOLOv3网络中增加了CBL操作,能够更有效地完成特征提取,从而实现航拍汽车检测。这些算法都是为了解决特殊领域的问题而提出的,有着很高的实用价值。
遥感图像的语义分割任务比普通图像的语义分割更加具有挑战性,这主要是因为以下两个方面。首先,遥感图像通常具有更高的分辨率,这进一步提高了语义分割的难度。其次,由于地物种类繁多且外形相似,遥感图像的语义分割任务更加具有挑战性。近年来,随着深度学习技术的发展,基于深度学习的遥感图像语义分割成为该领域的研究热点。目前,一些高效的方法已经被提出并且获得了不错的效果。例如,CxtHGNet网络使用堆叠的沙漏模块和中间监督来提取丰富的多尺度特征;HSN网络则使用组合的inception模块替换常规的卷积层,以获取多尺度信息。此外,全局上下文信息的连接特征映射的方法也被广泛使用,通过本地和全局信息的融合,取得了显著的效果。
遥感图像分割常用的数据集
SIRI-WHU 数据集
SIRI-WHU数据集由武汉大学RS-IDEA集团设计,包含2400张遥感图像,每张图像的大小为200x200,覆盖中国城市地区。该数据集涵盖12个不同的场景类别,每个类别包含了200张图像,场景类别包括了城市、森林、田地等。这些图像资源来自谷歌地球,可以用于遥感图像分类、目标检测、语义分割等领域的研究。示例图像如图2-2所示。
图2-2 SIRI-WHU数据集示例图片
WHU-RS19 数据集图
WHU-RS19数据集共收录了1005张谷歌卫星影像所采集的遥感图像,每张图像的尺寸为600x600像素。该数据集覆盖了全球各地,并包含了19个不同的场景类别,具有多样性和挑战性。图2-3展示了WHU-RS19数据集的部分场景。
图2-3 WHU-RS19数据集示例图片
GID 数据集
高分图像数据集(Gaofen Image Dataset,简称GID)是由高分二号卫星所采集的遥感图像组成的数据集,覆盖了我国60多个不同城市的土地区域。GID数据集通常用于大规模的土地利用和土地覆盖分类任务。该数据集包含了150张图像,每张图像的分辨率大小为6908x7300像素,覆盖的土地区域超过了5万平方公里。图2-4展示了该数据集的部分图像。
图2-4 GID数据集示意图
ISPRS Vaihingen 数据集
本文的研究所采用的遥感数据集为国际摄影测量与遥感协会(ISPRS)所创建的Vaihingen数据集。该数据集是由无人机在德国城市Vaihingen拍摄获得的,主要以植物和树木为主,建筑物较少。Vaihingen数据集是一种广泛使用的大规模数据集,共包含33张大小为2494x2064像素的图像,每张图像包含六个类别(不透水表面、建筑、低植被、树木、汽车和杂物)。每张图像包含三个波段,分别对应近红外(IR)、红色®和绿色(G)波段。本文利用其中指定的16张图像进行训练,其余17张用于测试。ISPRS Vaihingen数据集的部分图像如图2-5所示。
图2-5 ISPRS Vaihingen数据集的部分图像
数据预处理
本研究所使用的遥感图像数据集来自ISPRS,主要是针对Vaihingen数据集进行实验。该数据集中包含了高分辨率的遥感图像,图像的平均大小约为2500x2500像素。由于实验时的硬件设备限制,需要对原始数据集中的图像进行裁剪处理。为了增强网络的泛化性并提高训练效果,采用了数据增强的方法对图像进行预处理。
为了实现深度训练并合理利用显存,我们对原始的高分辨率遥感图像进行了裁剪处理。在裁剪时,考虑到数据分布的一致性和完整性,我们选择了滑动窗口裁剪方法,而非随机裁剪。裁剪后的图像大小为512x512,采用RGB格式。裁剪后的图像之间重复率为40%。本设计采用7:3的比例将数据集划分为训练集和测试集。图2-6展示了裁剪后的图像和相应的标签。
图2-6 经过裁剪的Vaihingen数据集示意图
在经典的图像处理算法中,存在多种图像滤波算法,其中高斯滤波(Gaussian Blur)是一种有效去除高斯噪声的方法。该算法会根据高斯函数计算出每个像素点的新像素值,因此每个像素点的新值会受其周围像素点的值的影响。简而言之,该算法会平滑图像并模糊图像细节。
直方图均衡化是一种通过调整图像直方图来提高对比度的方法。当图像中像素的分布相对均匀时,使用直方图均衡化可以增强图像的局部对比度,同时不会影响整体对比度,使得亮度能够更加均匀地分布在直方图上。在本论文中,我们对裁剪后的图像进行了直方图均衡化处理,同时还进行了旋转、平移等操作,以此进行数据增强。
卷积神经网络基础
卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习模型,被广泛用于图像、视频等数据的分类和识别任务。CNN最初是受Hubel和Wiesel的研究启发而提出的,他们发现人类的视觉系统中存在简单细胞和复杂细胞,可以分别响应不同方向和大小的视觉刺激。CNN借鉴了这种生物视觉系统的原理,通过卷积和池化操作提取输入数据的特征,再使用全连接层进行分类。卷积层是CNN的核心部分,它使用一组卷积核来对输入数据进行卷积运算,提取局部特征。激活函数则是在卷积层后面使用的,用来增加网络的非线性能力。全连接层用于将卷积层提取的特征进行分类。CNN的一般结构包括输入层、多个卷积层、池化层、全连接层和输出层。著名的手写数字识别神经网络LeNet如图2-7所示。
图2-7 手写数字识别网络LeNet
卷积层
卷积层是卷积神经网络的重要组成部分,主要用于从图像或其他类型数据中提取特征。卷积层的数学原理是基于卷积运算,它是一种线性运算,将两个函数在每个重叠位置上进行加权平均,得到另一个函数。在卷积层中,卷积核的权重用于加权平均输入数据。卷积操作可以有效地提取数据的局部特征,并且由于卷积核的参数共享,可以大大减少网络的参数数量。如图2-8所示,卷积操作从输入数据的左上角开始,卷积核依次与相应的数据进行加权平均,然后向右移动一个像素位置,并在新位置重复该操作。通过多次卷积操作,可以得到输出结果。
图2-8 卷积计算过程示意图
激活函数
为什么需要在卷积神经网络加入非线性激活函数呢?这主要是因为在许多复杂的任务场景中,仅仅依靠线性模型是根本不可能完成的。而卷积层和池化层从它们各自的计算方法来看,本质上还是一种线性的操作,这样使得网络的使用极大地受到了限制。将非线性激活函数添加到卷积神经网络中,这样使得网络处理实际场景中的非线性任务的能力得到了极大的提高。接下来本文将会介绍几种在深度学习中常用的激活函数。
Sigmoid函数将输入信号转换为0-1之间的概率值,在深度学习早期应用广泛,但由于存在梯度消失和输出非0均值等问题,逐渐被ReLU函数所取代。Sigmoid激活函数的图像如图2-9所示。
图2-9 Sigmoid激活函数
ReLU函数是目前深度学习中最为流行的激活函数之一。当输入大于0时,它的输出等于输入;当输入小于等于0时,它的输出为0。ReLU函数具有简单的计算和较好的效果,在深度学习中得到广泛应用。ReLU激活函数的图像如图2-10所示。
图2-10 ReLU激活函数
Tanh函数与Sigmoid函数相似,但不同之处在于它的输出范围是从-1到1。相比于Sigmoid函数,Tanh函数的输出具有0均值和标准差的优点,因此可以加速网络的收敛速度。Tanh函数在深度学习中被广泛应用,尤其是在循环神经网络(RNN)中。其图像如2-11所示。
图2-11 Tanh激活函数
池化层
池化层在深度卷积神经网络中起到了降低输入特征图大小的作用。通常,一次池化操作会将特征图大小减半,使用大小为2x2,步长为2的池化核来完成。最常见的池化操作有两种方法: 最大池化和平均池化。最大池化选择池化核范围内像素点的最大像素值作为输出像素,而平均池化选择像素点的平均值作为输出像素。此外,还有一种较少使用的池化方法,即最小池化,选择像素点的最小值作为输出像素。图2-12展示了对4x4大小的输入特征图进行2x2大小、步长为2的池化操作得到2x2输出特征图的实现原理。根据不同的池化方法,输出特征图相应位置的像素点的像素值会不同。池化层具有以下特点:1-平移不变性和尺度不变性等。2-通过降低图像的分辨率达到减少网络参数量的效果,能够在一定程度上降低过拟合的风险,增强网络的泛化能力。3-降低了计算复杂度。4-能够将图像中的某些重要信息特征进行反馈,最大池化操作特别突出这一作用。
图2-12 不同方式的池化过程
基于全卷积网络的遥感图像分割
全卷积网络概述
全卷积神经网络在近年来得到了快速的发展,取得了在多个计算机视觉领域任务中的优异表现。该网络利用卷积和池化等操作来提取图像中的特征,这也是其取得显著效果的重要原因。卷积具有局部连接和权值共享的特点,能够有效地提取图像的特征。而通过不断进行池化操作,可以降低图像的分辨率,一方面可以减少计算量,另一方面也能够增加卷积操作提取到的高维特征。
在许多卓越的分类网络中,使用了全连接层。然而,这种方法的输入必须是固定的,这限制了网络的使用场景。在语义分割的全卷积网络中,不再使用全连接层,而只保留了卷积层和池化层。这种方法不限定输入图像的分辨率,并且可以帮助完成密集的逐像素分类任务。
1992年,Matan等人提出了一种能够处理任意大小的一维信号的卷积神经网络,但该网络不能处理二维信号。Wolf等人在1994年设计了一个能够处理二维图像的网络,并成功地应用于邮政地址定位任务。该网络仅包括卷积层和池化层,因此可以被视为全卷积网络。虽然该网络不能完成端到端的训练,但为全卷积网络的发展奠定了坚实的基础。目前,全卷积网络已广泛应用于图像处理的各个任务,包括目标检测和语义分割等。
全卷积网络结构
全卷积神经网络近年来获得了快速发展,在计算机视觉领域的多个任务中取得了显著成果。卷积和池化是全卷积神经网络中最常见的两种操作,它们可以有效地提取图像特征和降低图像分辨率以提高卷积操作的特征提取效率。与传统的分类网络使用全连接层不同,全卷积网络不使用全连接层,而是只保留卷积层和池化层,从而可以适用于不同大小的输入图像,也可完成像素级分类任务。早在1992年,Matan等人就提出了可以处理任意大小的一维信号的卷积神经网络,但该网络不能处理二维信号。1994年,Wolf等人设计了一个仅包含卷积层和池化层的网络,用于邮政地址定位任务,该网络为全卷积网络的发展奠定了基础。
2015年,全卷积网络的一个重要变体FCN网络的出现,标志着图像语义分割进入了新的阶段。网络整体结构如图3-1所示。
图3-1 FCN 网络结构
FCN网络能够端到端地完成逐像素级的分割任务,将深度卷积网络中的全连接层全部替换为卷积层,从而使得输入图像从进入网络模型开始到输出图像,只会通过卷积层,不会经历全连接层,生成与输入图像大小相同的预测图。输出图像中的每个像素点代表对该像素点类别的预测,实现了逐像素点预测。FCN网络包含编码和解码两个阶段。在编码阶段,为了获取高维特征,图像通过不断下采样降低分辨率;在解码阶段,为了恢复图像尺寸,采用上采样方法,如反卷积和双线性插值。FCN还使用跳级结构,将预测图融入网络不同阶段的语义信息,提高输出结果的语义和空间精度。FCN 的跳级结构如图3-2所示 FCN网络中常用的主干网络包括AlexNet、VGG-16和GoogleNet。
图3-2 FCN跳级结构
反卷积通常也被称为转置卷积(Transposed Convolution)。在全卷积网络中,编码-解码网络通常需要通过下采样操作来降低图像分辨率。在第二章中,我们已经介绍了池化操作作为下采样的一种常见手段。在解码阶段,需要通过连续的上采样操作来恢复图像大小。反卷积能够帮助完成这一上采样过程。虽然“转置”一词出现在反卷积的名称中,但这并不能简单地解释为将卷积矩阵转置并使用转置后的矩阵进行卷积运算。实际上,转置卷积操作是构建与普通卷积操作相反的连接关系。转置卷积的图像尺寸恢复过程如图3-3所示。此外,转置卷积中的参数是可以进行学习的,因此不需要事先定义任何方法。但使用转置卷积也有一些明显的缺点:首先,它可能会导致“棋盘效应”,其次,由于增加了可学习参数的数量,导致网络训练时间更长,甚至容易出现过拟合现象。
图3-3 转置卷积示意图
损失函数
本设计图像处理均使用的是交叉熵损失函数,多分类交叉熵损失函数如式3-1所示:
L=1/N ∑_i▒ L_i=-1/N ∑_i▒ ∑_(c=1)^M▒ y_ic log(p_ic ) (3-1)
其中:M是类别的数量,yic是符号函数(0或1),如果样本i的真实类别等于c取1,否则取0。Pic观测样本i属于类别c的预测概率。
对于图像语义分割是对像素点进行分割,即每个像素被分为两类,可以计算图像整体的交叉熵。
FCN网络结构
FCN-32s的网络结构如图3-4所示,FCN-32s网络的结构图分为两部分。第一部分是特征提取网络,它由多个卷积层和池化层组成,用于从输入图像中提取特征。在FCN-32s中,特征提取网络使用了VGG16网络的前13层卷积层作为基础网络。接着,为了保留更多的信息,最后一层全连接层被替换为卷积层,输出通道数与分类数相同。第二部分是上采样网络,它由反卷积层和跳跃连接层组成。在反卷积层中,使用转置卷积对特征图进行上采样。在跳跃连接层中,将特征图与特征提取网络中的中间结果进行连接,以获得更好的精度。FCN-32s使用了两个跳跃连接层,分别连接特征提取网络中pool4和pool3层的输出。最终,FCN-32s的输出是经过上采样网络处理后的特征图,其大小与输入图像相同,但通道数与分类数相同。在训练过程中,使用交叉熵作为损失函数对输出进行优化,以提高分类精度。简单来说,FCN-32s,不使用跨层连接,简单粗暴一条路走到头。图片进行下采样32倍后,直接使用64*64,步长为32的转置卷积层,将特征图放大至原图大小,channel变为21类别数(第21类为背景)。
图 3-4 FCN-32s的网络结构图
FCN-8s的特征提取网络同样采用了VGG16网络的前13层卷积层和一层转置卷积层。在特征提取网络之后,FCN-8s增加了三个跳跃连接层。第一个跳跃连接层将特征提取网络的pool4层的输出与转置卷积层的输出进行连接,第二个跳跃连接层将pool3层的输出与第一个跳跃连接层的输出进行连接。第三个跳跃连接层将VGG16网络的第一层卷积层的输出与第二个跳跃连接层的输出进行连接。
FCN-8s的上采样网络由两个转置卷积层组成,用于将特征图上采样到与输入图像相同的尺寸。最终输出层是一个1x1卷积层,其通道数与分类数相同。
FCN-8s的网络结构如图3-5所示。
图 3-5 FCN-8S网络结构图
全卷积网络模型构建和训练
本节实验的硬件和软件环境配置见表3-1所示,训练相关超参数设置见表3-2所示。此外,本节的实验模型的损失函数采用交叉嫡损失函数,优化器方法使用随机梯度下降。考虑到数据集的大小不同,本文实验在Vaihingen数据集上训练100轮。
表 3 1 实验的硬件和软件环境配置
GPU型号 训练框架 操作系统
GTX1050 Pytorch-1-8 Ubuntu16-04
表 3 2 训练相关超参数设置
数据集 批大小 学习率 衰减率
Vaihingen 8 0-003 5e-4
本实验对比了FCN-32s和FCN-8s两种不同跳级结构的全卷积模型。实验采用了表3-3中的结构进行训练和测试。实验结果表明,使用8倍上采样的FCN-8s结构在;两种结构中表现最好,其三个评价指标mean F1、mIOU和OA分别为81-24%、72-35%和85-02%。
表 3 3 FCN-32s、和 FCN-8s 对比实验
Model Mean F1 mLOU OA
FCN-32s 80-45 70-81 82-32
FCN-8s 79-24 70-35 83-02
这个实验结论表明,在语义分割任务中,增加跳级连接层可以提高模型精度。FCN-8s相比FCN-32s和FCN-16s增加了两个跳级连接层,使得模型更加准确。另外,通过8倍上采样可以更好地恢复图像细节,从而进一步提高分割精度。因此,在实际应用中,可以根据任务需要选择相应的全卷积模型结构,并采用上采样等技术来进一步提高模型精度。
基于U-Net网络的遥感图像分割
U-Net网络概述
U-net是一种用于图像分割的卷积神经网络,其名称来源于其网络结构的U形状。U-net最初由欧洲核子研究组织(CERN)的Olaf Ronneberger等人于2015年提出。与传统的全卷积网络相比,U-net在网络结构中添加了跳跃连接,使得其在分割任务中表现更加优异。
U-net在图像分割任务中表现出色,尤其是对于医学图像分割任务。其网络结构紧凑,精度高,同时训练速度也相对较快,因此被广泛应用于肺部、肝脏、心脏等器官的分割任务中。同时,U-net也被用于其他领域的图像分割任务,如自然图像分割、道路分割等。
U-Net网络结构
U-Net的网络结构分为两个部分:下采样和上采样。在下采样阶段,U-Net通过一系列的卷积和池化操作,将输入图像不断缩小,提取特征。在上采样阶段,U-Net通过一系列的反卷积和卷积操作,将特征图不断放大,同时与下采样阶段对应层的特征图进行拼接,从而恢复分辨率并提高分割精度。跳跃连接将下采样阶段对应的特征图直接传输到上采样阶段,使得网络可以直接使用更加精细的特征信息,从而更好地区分前景和背景。其网络结构如图4-1所示。
图 4-1 U-Net网络结构图
U-Net训练和结构分析
本节实验的硬件和软件环境配置见表4-1所示,训练相关超参数设置见表4-2所示。此外,本节的实验模型的损失函数采用交叉嫡损失函数,优化器方法使用随机梯度下降。考虑到数据集的大小不同,本文实验在Vaihingen数据集上训练100轮。
表 4 1 实验的硬件和软件环境配置
GPU型号 训练框架 操作系统
GTX1050 Pytorch-1-8 Ubuntu16-04
表 4 2 训练相关超参数设置
数据集 批大小 学习率 衰减率
Vaihingen 8 0-003 5e-4
经过测试,U-Net的测试如表4-3所示。
表 3 3 U-Net 测试实验
Model Mean F1 mLOU OA
U-Net 82-10 72-35 84-56
U-Net的预测结果图如4-2所示。
图 4-2 U-Net的预测结果
总结
本文设计了基于U-Net网络的遥感图像分割实验,并对比了FCN-32s和FCN-8s的结果。实验结果表明,U-Net网络在遥感图像分割任务中具有最好的效果。本文还介绍了常用的图像分割数据集和深度学习基础。
首先,本文介绍了图像分割任务的定义和应用场景。图像分割是指将一张图像分成若干个子区域的过程,通常是将图像中的物体或者区域进行分割。图像分割在计算机视觉、医学影像、遥感图像等领域都有广泛的应用。
其次,本文介绍了常用的图像分割数据集,包括SIRI-WHU、WHU-RS19、GID以及ISPRS Vaihingen数据集等。这些数据集包含了各种场景的图像,对于算法的评估和比较具有重要的意义。
接着,本文介绍了深度学习在图像分割任务中的应用。深度学习的出现使得图像分割任务得到了很大的改善。特别是卷积神经网络(CNN),在图像分割任务中表现出了很好的效果。本文介绍了两种基于CNN的图像分割模型:FCN和U-Net。
然后,本文介绍了FCN-32s和FCN-8s的实验结果。实验结果表明,在遥感图像分割任务中,FCN-8s的效果比FCN-32s要好。但是,与U-Net相比,FCN的效果还有提升空间。
最后,本文介绍了U-Net网络的结构和实验结果。U-Net网络是一种基于CNN的图像分割网络,它的特点是将输入图像分成两个分支,同时进行编码和解码操作。实验结果表明,U-Net网络在遥感图像分割任务中具有最好的效果,而且具有较好的泛化性能。
摘要
遥感图像分割是利用遥感技术获取的高分辨率图像进行像素级别的分类,将图像中的不同物体或不同地物提取出来的过程。这个过程对于遥感应用具有重要意义,因为它能够提取出地物和地表特征,如河流、道路、建筑、植被、水体等,并且这些特征是地面实际存在的。图像分割可以为地面覆盖分类、土地利用覆盖变化分析、城市规划、农业资源监测、环境保护等领域提供实用信息。
本论文首先阐述了遥感图像分割和深度学习技术的原理,并用全卷积网络中的FCN-32s和FCN-8s网络构建了遥感图像分割模型,并用ISPRS Vaihingen 数据集训练和测试,经过测试FCN-32s模型的三个评价指标mean F1、mIOU和OA分别为80.45%、70.81%和82.32%,FCN-8s模型的三个评价指标mean F1、mIOU和OA分别为79.24%、70.35%和83.02%。紧接着本论文用U-Net网络构建了遥感图像分割的模型,经过测试U-Net模型的三个评价指标mean F1、mIOU和OA分别为82.10%、72.35%和84.56%。
关键词 遥感图像分割;U-Net;全卷积网络
Abstract
Remote sensing image segmentation is the process of extracting different objects or different features from an image by pixel-level classification using high-resolution images acquired by remote sensing technology. This process is important for remote sensing applications because it can extract features and surface features such as rivers, roads, buildings, vegetation, water bodies, etc. and these features are physically present on the ground. Image segmentation can provide practical information for ground cover classification, land use cover change analysis, urban planning, agricultural resource monitoring, environmental protection and other fields.
In this thesis, firstly, the principles of remote sensing image segmentation and deep learning techniques are explained, and remote sensing image segmentation models are constructed with FCN-32s and FCN-8s networks in full convolutional networks, and trained and tested with ISPRS Vaihingen dataset. After testing, the three evaluation indexes of FCN-8s model mean F1, mIOU and OA are 79.24%, 70.35% and 83.02%, respectively. The three evaluation indexes mean F1, mIOU and OA of the U-Net model were 82.10%, 72.35% and 84.56%, respectively.
Keywords:Remote Sensing Image Segmentation; U-Net; Full Convolutional Network
目录
1 绪论 1
1.1 选题背景及研究意义 1
1.2 国内外现状现状 1
1.2.1 基于聚类的方法 1
1.2.2 基于分割的方法 2
1.2.3 基于深度学习的方法 2
2 遥感图像分割和深度学习基础 3
2.1 基于深度学习的遥感图像分析 3
2.2 遥感图像分割常用的数据集 4
2.2.1 SIRI-WHU 数据集 4
2.2.2 WHU-RS19 数据集图 4
2.2.3 GID 数据集 5
2.2.4 ISPRS Vaihingen 数据集 5
2.3 数据预处理 6
2.4 卷积神经网络基础 7
2.4.1 卷积层 8
2.4.2 激活函数 8
2.4.3 池化层 10
3 基于全卷积网络的遥感图像分割 11
3.1 全卷积网络概述 11
3.2 全卷积网络结构 11
3.3 损失函数 13
3.4 FCN网络结构 13
3.5 全卷积网络模型构建和训练 15
4 基于U-Net网络的遥感图像分割 16
4.1 U-Net网络概述 16
4.2 U-Net网络结构 16
4.3 U-Net训练和结构分析 17
5 总结 18
绪论
选题背景及研究意义
遥感图像分割是利用遥感技术获取的高分辨率图像进行像素级别的分类,将图像中的不同物体或不同地物提取出来的过程。这个过程对于遥感应用具有重要意义,因为它能够提取出地物和地表特征,如河流、道路、建筑、植被、水体等,并且这些特征是地面实际存在的。图像分割可以为地面覆盖分类、土地利用覆盖变化分析、城市规划、农业资源监测、环境保护等领域提供实用信息。
近年来,卷积神经网络(CNN)在图像分割领域中取得了重要的进展。其中,U-Net是一种常用的深度学习模型,它是一种基于卷积神经网络(CNN)的全卷积神经网络(FCN)体系结构,被广泛应用于医学图像分割、遥感图像分割等领域。U-Net通过引入跳跃连接(skip connections)将卷积网络的特征向量与上采样的特征图进行连接,这使得U-Net能够捕获高层次特征和低层次细节信息,提高了遥感图像分割的准确性和鲁棒性。
在遥感图像分割方面,U-Net已经被应用于各种地物类型的分类,如建筑物、水体、植被、道路等。此外,基于U-Net的图像分割方法具有许多优点,例如可以自动学习特征、具有良好的分割效果和泛化能力等。
因此基于U-Net的遥感图像分割方法在土地利用、城市规划、环境保护、气象预报等领域具有广泛的应用前景。特别是在遥感图像分割中,由于遥感图像具有高分辨率、大数据量、多光谱等特点,传统的基于人工规则和手工特征的方法已经无法胜任,而深度学习算法在这方面具有更好的应用前景。因此,基于U-Net的遥感图像分割方法对于遥感应用领域的研究和实践具有重要的意义。
国内外现状现状
基于聚类的方法
基于聚类的方法是遥感图像分割中最常用的方法之一。其基本思想是将像素根据相似度聚成不同的类别,然后将同一类别的像素分成同一区域。K-means算法是最常用的聚类方法之一,其思想是将像素分成K个类别,每个像素属于与之最近的类别。另外,Fuzzy C-Means (FCM)算法和Possibilistic C-Means (PCM)算法也被用于遥感图像分割中,这些方法与K-means算法类似,但对噪声和异常点的鲁棒性更好。
国内外的研究者都在探索基于聚类的方法,但也存在不同的重点和方向。国外的研究者更注重对聚类算法的改进,如改进K-means算法的收敛性、Fuzzy C-Means算法的参数选择等。而国内的研究者则更加注重算法的应用,如在高分辨率遥感图像分割中的应用、基于小波变换的遥感图像分割等。
基于分割的方法
基于分割的方法是指将图像分割成若干个区域,然后对每个区域进行进一步处理。其中,区域生长法是一种常用的基于区域的分割方法,其基本思想是从一组种子像素开始,将与之相邻的像素添加到该区域中,直到无法继续添加为止。此外,基于边缘的方法也被广泛应用于遥感图像分割中,如基于Canny算法的边缘检测和基于边缘特征的图像分割等。
国内外的研究者都在探索基于分割的方法,但也存在不同的研究方向。国外的研究者更注重基于分割的方法的理论研究,如分割
准则的选择、分割算法的优化等。而国内的研究者则更注重算法的实际应用,如基于区域生长法的遥感图像分类、基于多尺度分割的遥感图像分析等。
基于深度学习的方法
近年来,深度学习在遥感图像分割中得到了广泛应用,特别是卷积神经网络 (CNN)。CNN在遥感图像分割中的应用主要包括两种方法:全卷积神经网络 (FCN)和卷积神经网络加级联分割器 (CNN-Cascade)。
FCN是第一个将深度学习方法应用于遥感图像分割的方法之一,其主要思想是将全连接层替换为卷积层,从而实现任意大小输入图像的输出分割。CNN-Cascade是一种新颖的分割方法,通过级联多个卷积神经网络来实现高精度的分割结果。
国内外的研究者都在深入研究基于深度学习的方法,但也存在不同的重点和方向。国外的研究者更注重深度学习模型的改进,如改进卷积神经网络结构、引入注意力机制等。而国内的研究者则更注重深度学习方法在遥感图像分割中的应用,如基于多源遥感图像的建筑物识别、基于深度学习的农作物分类等。
遥感图像分割和深度学习基础
基于深度学习的遥感图像分析
伴随着深度学习的蓬勃发展,遥感图像处理与分析领域也得到了飞速的发展。目前,基于深度学习的遥感图像分析主要在以下几个方面:
计算机视觉中的三大基础任务是分类、检测和分割,其中目标检测一直是热门的研究领域。随着现代信息技术的高速发展,遥感图像处理中的地物目标检测也变得尤为重要。这种应用在无人机、安全防护、军事航海和空中侦察等领域具有重要地位,如图2-1所示。自然场景图像的检测算法有很多,包括单阶段目标检测算法如SSD和YOLO,以及两阶段目标检测算法如Faster R-CNN和Mask R-CNN。此外,还有FCOS、CenterNet等优秀的目标检测算法。然而,在考虑到遥感图像应用的实际场景时,不仅需要算法的识别准确率高,还需要参数大小、速度快等方面的考虑。
图2-1 遥感图像目标检测
为了解决这些问题,一些研究者提出了一些特殊的算法。Yang等人设计了一种将残差网络和超矢量编码相结合的算法,可以高效地检测飞机目标。Xu等人为了提高遥感图像中飞机定位的精度,将特征融合技术应用到了全卷积神经网络中。Liu等人在YOLOv3网络中增加了CBL操作,能够更有效地完成特征提取,从而实现航拍汽车检测。这些算法都是为了解决特殊领域的问题而提出的,有着很高的实用价值。
遥感图像的语义分割任务比普通图像的语义分割更加具有挑战性,这主要是因为以下两个方面。首先,遥感图像通常具有更高的分辨率,这进一步提高了语义分割的难度。其次,由于地物种类繁多且外形相似,遥感图像的语义分割任务更加具有挑战性。近年来,随着深度学习技术的发展,基于深度学习的遥感图像语义分割成为该领域的研究热点。目前,一些高效的方法已经被提出并且获得了不错的效果。例如,CxtHGNet网络使用堆叠的沙漏模块和中间监督来提取丰富的多尺度特征;HSN网络则使用组合的inception模块替换常规的卷积层,以获取多尺度信息。此外,全局上下文信息的连接特征映射的方法也被广泛使用,通过本地和全局信息的融合,取得了显著的效果。
遥感图像分割常用的数据集
SIRI-WHU 数据集
SIRI-WHU数据集由武汉大学RS-IDEA集团设计,包含2400张遥感图像,每张图像的大小为200x200,覆盖中国城市地区。该数据集涵盖12个不同的场景类别,每个类别包含了200张图像,场景类别包括了城市、森林、田地等。这些图像资源来自谷歌地球,可以用于遥感图像分类、目标检测、语义分割等领域的研究。示例图像如图2-2所示。
图2-2 SIRI-WHU数据集示例图片
WHU-RS19 数据集图
WHU-RS19数据集共收录了1005张谷歌卫星影像所采集的遥感图像,每张图像的尺寸为600x600像素。该数据集覆盖了全球各地,并包含了19个不同的场景类别,具有多样性和挑战性。图2-3展示了WHU-RS19数据集的部分场景。
图2-3 WHU-RS19数据集示例图片
GID 数据集
高分图像数据集(Gaofen Image Dataset,简称GID)是由高分二号卫星所采集的遥感图像组成的数据集,覆盖了我国60多个不同城市的土地区域。GID数据集通常用于大规模的土地利用和土地覆盖分类任务。该数据集包含了150张图像,每张图像的分辨率大小为6908x7300像素,覆盖的土地区域超过了5万平方公里。图2-4展示了该数据集的部分图像。
图2-4 GID数据集示意图
ISPRS Vaihingen 数据集
本文的研究所采用的遥感数据集为国际摄影测量与遥感协会(ISPRS)所创建的Vaihingen数据集。该数据集是由无人机在德国城市Vaihingen拍摄获得的,主要以植物和树木为主,建筑物较少。Vaihingen数据集是一种广泛使用的大规模数据集,共包含33张大小为2494x2064像素的图像,每张图像包含六个类别(不透水表面、建筑、低植被、树木、汽车和杂物)。每张图像包含三个波段,分别对应近红外(IR)、红色®和绿色(G)波段。本文利用其中指定的16张图像进行训练,其余17张用于测试。ISPRS Vaihingen数据集的部分图像如图2-5所示。
图2-5 ISPRS Vaihingen数据集的部分图像
数据预处理
本研究所使用的遥感图像数据集来自ISPRS,主要是针对Vaihingen数据集进行实验。该数据集中包含了高分辨率的遥感图像,图像的平均大小约为2500x2500像素。由于实验时的硬件设备限制,需要对原始数据集中的图像进行裁剪处理。为了增强网络的泛化性并提高训练效果,采用了数据增强的方法对图像进行预处理。
为了实现深度训练并合理利用显存,我们对原始的高分辨率遥感图像进行了裁剪处理。在裁剪时,考虑到数据分布的一致性和完整性,我们选择了滑动窗口裁剪方法,而非随机裁剪。裁剪后的图像大小为512x512,采用RGB格式。裁剪后的图像之间重复率为40%。本设计采用7:3的比例将数据集划分为训练集和测试集。图2-6展示了裁剪后的图像和相应的标签。
图2-6 经过裁剪的Vaihingen数据集示意图
在经典的图像处理算法中,存在多种图像滤波算法,其中高斯滤波(Gaussian Blur)是一种有效去除高斯噪声的方法。该算法会根据高斯函数计算出每个像素点的新像素值,因此每个像素点的新值会受其周围像素点的值的影响。简而言之,该算法会平滑图像并模糊图像细节。
直方图均衡化是一种通过调整图像直方图来提高对比度的方法。当图像中像素的分布相对均匀时,使用直方图均衡化可以增强图像的局部对比度,同时不会影响整体对比度,使得亮度能够更加均匀地分布在直方图上。在本论文中,我们对裁剪后的图像进行了直方图均衡化处理,同时还进行了旋转、平移等操作,以此进行数据增强。
卷积神经网络基础
卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习模型,被广泛用于图像、视频等数据的分类和识别任务。CNN最初是受Hubel和Wiesel的研究启发而提出的,他们发现人类的视觉系统中存在简单细胞和复杂细胞,可以分别响应不同方向和大小的视觉刺激。CNN借鉴了这种生物视觉系统的原理,通过卷积和池化操作提取输入数据的特征,再使用全连接层进行分类。卷积层是CNN的核心部分,它使用一组卷积核来对输入数据进行卷积运算,提取局部特征。激活函数则是在卷积层后面使用的,用来增加网络的非线性能力。全连接层用于将卷积层提取的特征进行分类。CNN的一般结构包括输入层、多个卷积层、池化层、全连接层和输出层。著名的手写数字识别神经网络LeNet如图2-7所示。
图2-7 手写数字识别网络LeNet
卷积层
卷积层是卷积神经网络的重要组成部分,主要用于从图像或其他类型数据中提取特征。卷积层的数学原理是基于卷积运算,它是一种线性运算,将两个函数在每个重叠位置上进行加权平均,得到另一个函数。在卷积层中,卷积核的权重用于加权平均输入数据。卷积操作可以有效地提取数据的局部特征,并且由于卷积核的参数共享,可以大大减少网络的参数数量。如图2-8所示,卷积操作从输入数据的左上角开始,卷积核依次与相应的数据进行加权平均,然后向右移动一个像素位置,并在新位置重复该操作。通过多次卷积操作,可以得到输出结果。
图2-8 卷积计算过程示意图
激活函数
为什么需要在卷积神经网络加入非线性激活函数呢?这主要是因为在许多复杂的任务场景中,仅仅依靠线性模型是根本不可能完成的。而卷积层和池化层从它们各自的计算方法来看,本质上还是一种线性的操作,这样使得网络的使用极大地受到了限制。将非线性激活函数添加到卷积神经网络中,这样使得网络处理实际场景中的非线性任务的能力得到了极大的提高。接下来本文将会介绍几种在深度学习中常用的激活函数。
Sigmoid函数将输入信号转换为0-1之间的概率值,在深度学习早期应用广泛,但由于存在梯度消失和输出非0均值等问题,逐渐被ReLU函数所取代。Sigmoid激活函数的图像如图2-9所示。
图2-9 Sigmoid激活函数
ReLU函数是目前深度学习中最为流行的激活函数之一。当输入大于0时,它的输出等于输入;当输入小于等于0时,它的输出为0。ReLU函数具有简单的计算和较好的效果,在深度学习中得到广泛应用。ReLU激活函数的图像如图2-10所示。
图2-10 ReLU激活函数
Tanh函数与Sigmoid函数相似,但不同之处在于它的输出范围是从-1到1。相比于Sigmoid函数,Tanh函数的输出具有0均值和标准差的优点,因此可以加速网络的收敛速度。Tanh函数在深度学习中被广泛应用,尤其是在循环神经网络(RNN)中。其图像如2-11所示。
图2-11 Tanh激活函数
池化层
池化层在深度卷积神经网络中起到了降低输入特征图大小的作用。通常,一次池化操作会将特征图大小减半,使用大小为2x2,步长为2的池化核来完成。最常见的池化操作有两种方法: 最大池化和平均池化。最大池化选择池化核范围内像素点的最大像素值作为输出像素,而平均池化选择像素点的平均值作为输出像素。此外,还有一种较少使用的池化方法,即最小池化,选择像素点的最小值作为输出像素。图2-12展示了对4x4大小的输入特征图进行2x2大小、步长为2的池化操作得到2x2输出特征图的实现原理。根据不同的池化方法,输出特征图相应位置的像素点的像素值会不同。池化层具有以下特点:1-平移不变性和尺度不变性等。2-通过降低图像的分辨率达到减少网络参数量的效果,能够在一定程度上降低过拟合的风险,增强网络的泛化能力。3-降低了计算复杂度。4-能够将图像中的某些重要信息特征进行反馈,最大池化操作特别突出这一作用。
图2-12 不同方式的池化过程
基于全卷积网络的遥感图像分割
全卷积网络概述
全卷积神经网络在近年来得到了快速的发展,取得了在多个计算机视觉领域任务中的优异表现。该网络利用卷积和池化等操作来提取图像中的特征,这也是其取得显著效果的重要原因。卷积具有局部连接和权值共享的特点,能够有效地提取图像的特征。而通过不断进行池化操作,可以降低图像的分辨率,一方面可以减少计算量,另一方面也能够增加卷积操作提取到的高维特征。
在许多卓越的分类网络中,使用了全连接层。然而,这种方法的输入必须是固定的,这限制了网络的使用场景。在语义分割的全卷积网络中,不再使用全连接层,而只保留了卷积层和池化层。这种方法不限定输入图像的分辨率,并且可以帮助完成密集的逐像素分类任务。
1992年,Matan等人提出了一种能够处理任意大小的一维信号的卷积神经网络,但该网络不能处理二维信号。Wolf等人在1994年设计了一个能够处理二维图像的网络,并成功地应用于邮政地址定位任务。该网络仅包括卷积层和池化层,因此可以被视为全卷积网络。虽然该网络不能完成端到端的训练,但为全卷积网络的发展奠定了坚实的基础。目前,全卷积网络已广泛应用于图像处理的各个任务,包括目标检测和语义分割等。
全卷积网络结构
全卷积神经网络近年来获得了快速发展,在计算机视觉领域的多个任务中取得了显著成果。卷积和池化是全卷积神经网络中最常见的两种操作,它们可以有效地提取图像特征和降低图像分辨率以提高卷积操作的特征提取效率。与传统的分类网络使用全连接层不同,全卷积网络不使用全连接层,而是只保留卷积层和池化层,从而可以适用于不同大小的输入图像,也可完成像素级分类任务。早在1992年,Matan等人就提出了可以处理任意大小的一维信号的卷积神经网络,但该网络不能处理二维信号。1994年,Wolf等人设计了一个仅包含卷积层和池化层的网络,用于邮政地址定位任务,该网络为全卷积网络的发展奠定了基础。
2015年,全卷积网络的一个重要变体FCN网络的出现,标志着图像语义分割进入了新的阶段。网络整体结构如图3-1所示。
图3-1 FCN 网络结构
FCN网络能够端到端地完成逐像素级的分割任务,将深度卷积网络中的全连接层全部替换为卷积层,从而使得输入图像从进入网络模型开始到输出图像,只会通过卷积层,不会经历全连接层,生成与输入图像大小相同的预测图。输出图像中的每个像素点代表对该像素点类别的预测,实现了逐像素点预测。FCN网络包含编码和解码两个阶段。在编码阶段,为了获取高维特征,图像通过不断下采样降低分辨率;在解码阶段,为了恢复图像尺寸,采用上采样方法,如反卷积和双线性插值。FCN还使用跳级结构,将预测图融入网络不同阶段的语义信息,提高输出结果的语义和空间精度。FCN 的跳级结构如图3-2所示 FCN网络中常用的主干网络包括AlexNet、VGG-16和GoogleNet。
图3-2 FCN跳级结构
反卷积通常也被称为转置卷积(Transposed Convolution)。在全卷积网络中,编码-解码网络通常需要通过下采样操作来降低图像分辨率。在第二章中,我们已经介绍了池化操作作为下采样的一种常见手段。在解码阶段,需要通过连续的上采样操作来恢复图像大小。反卷积能够帮助完成这一上采样过程。虽然“转置”一词出现在反卷积的名称中,但这并不能简单地解释为将卷积矩阵转置并使用转置后的矩阵进行卷积运算。实际上,转置卷积操作是构建与普通卷积操作相反的连接关系。转置卷积的图像尺寸恢复过程如图3-3所示。此外,转置卷积中的参数是可以进行学习的,因此不需要事先定义任何方法。但使用转置卷积也有一些明显的缺点:首先,它可能会导致“棋盘效应”,其次,由于增加了可学习参数的数量,导致网络训练时间更长,甚至容易出现过拟合现象。
图3-3 转置卷积示意图
损失函数
本设计图像处理均使用的是交叉熵损失函数,多分类交叉熵损失函数如式3-1所示:
L=1/N ∑_i▒ L_i=-1/N ∑_i▒ ∑_(c=1)^M▒ y_ic log(p_ic ) (3-1)
其中:M是类别的数量,yic是符号函数(0或1),如果样本i的真实类别等于c取1,否则取0。Pic观测样本i属于类别c的预测概率。
对于图像语义分割是对像素点进行分割,即每个像素被分为两类,可以计算图像整体的交叉熵。
FCN网络结构
FCN-32s的网络结构如图3-4所示,FCN-32s网络的结构图分为两部分。第一部分是特征提取网络,它由多个卷积层和池化层组成,用于从输入图像中提取特征。在FCN-32s中,特征提取网络使用了VGG16网络的前13层卷积层作为基础网络。接着,为了保留更多的信息,最后一层全连接层被替换为卷积层,输出通道数与分类数相同。第二部分是上采样网络,它由反卷积层和跳跃连接层组成。在反卷积层中,使用转置卷积对特征图进行上采样。在跳跃连接层中,将特征图与特征提取网络中的中间结果进行连接,以获得更好的精度。FCN-32s使用了两个跳跃连接层,分别连接特征提取网络中pool4和pool3层的输出。最终,FCN-32s的输出是经过上采样网络处理后的特征图,其大小与输入图像相同,但通道数与分类数相同。在训练过程中,使用交叉熵作为损失函数对输出进行优化,以提高分类精度。简单来说,FCN-32s,不使用跨层连接,简单粗暴一条路走到头。图片进行下采样32倍后,直接使用64*64,步长为32的转置卷积层,将特征图放大至原图大小,channel变为21类别数(第21类为背景)。
图 3-4 FCN-32s的网络结构图
FCN-8s的特征提取网络同样采用了VGG16网络的前13层卷积层和一层转置卷积层。在特征提取网络之后,FCN-8s增加了三个跳跃连接层。第一个跳跃连接层将特征提取网络的pool4层的输出与转置卷积层的输出进行连接,第二个跳跃连接层将pool3层的输出与第一个跳跃连接层的输出进行连接。第三个跳跃连接层将VGG16网络的第一层卷积层的输出与第二个跳跃连接层的输出进行连接。
FCN-8s的上采样网络由两个转置卷积层组成,用于将特征图上采样到与输入图像相同的尺寸。最终输出层是一个1x1卷积层,其通道数与分类数相同。
FCN-8s的网络结构如图3-5所示。
图 3-5 FCN-8S网络结构图
全卷积网络模型构建和训练
本节实验的硬件和软件环境配置见表3-1所示,训练相关超参数设置见表3-2所示。此外,本节的实验模型的损失函数采用交叉嫡损失函数,优化器方法使用随机梯度下降。考虑到数据集的大小不同,本文实验在Vaihingen数据集上训练100轮。
表 3 1 实验的硬件和软件环境配置
GPU型号 训练框架 操作系统
GTX1050 Pytorch-1-8 Ubuntu16-04
表 3 2 训练相关超参数设置
数据集 批大小 学习率 衰减率
Vaihingen 8 0-003 5e-4
本实验对比了FCN-32s和FCN-8s两种不同跳级结构的全卷积模型。实验采用了表3-3中的结构进行训练和测试。实验结果表明,使用8倍上采样的FCN-8s结构在;两种结构中表现最好,其三个评价指标mean F1、mIOU和OA分别为81-24%、72-35%和85-02%。
表 3 3 FCN-32s、和 FCN-8s 对比实验
Model Mean F1 mLOU OA
FCN-32s 80-45 70-81 82-32
FCN-8s 79-24 70-35 83-02
这个实验结论表明,在语义分割任务中,增加跳级连接层可以提高模型精度。FCN-8s相比FCN-32s和FCN-16s增加了两个跳级连接层,使得模型更加准确。另外,通过8倍上采样可以更好地恢复图像细节,从而进一步提高分割精度。因此,在实际应用中,可以根据任务需要选择相应的全卷积模型结构,并采用上采样等技术来进一步提高模型精度。
基于U-Net网络的遥感图像分割
U-Net网络概述
U-net是一种用于图像分割的卷积神经网络,其名称来源于其网络结构的U形状。U-net最初由欧洲核子研究组织(CERN)的Olaf Ronneberger等人于2015年提出。与传统的全卷积网络相比,U-net在网络结构中添加了跳跃连接,使得其在分割任务中表现更加优异。
U-net在图像分割任务中表现出色,尤其是对于医学图像分割任务。其网络结构紧凑,精度高,同时训练速度也相对较快,因此被广泛应用于肺部、肝脏、心脏等器官的分割任务中。同时,U-net也被用于其他领域的图像分割任务,如自然图像分割、道路分割等。
U-Net网络结构
U-Net的网络结构分为两个部分:下采样和上采样。在下采样阶段,U-Net通过一系列的卷积和池化操作,将输入图像不断缩小,提取特征。在上采样阶段,U-Net通过一系列的反卷积和卷积操作,将特征图不断放大,同时与下采样阶段对应层的特征图进行拼接,从而恢复分辨率并提高分割精度。跳跃连接将下采样阶段对应的特征图直接传输到上采样阶段,使得网络可以直接使用更加精细的特征信息,从而更好地区分前景和背景。其网络结构如图4-1所示。
图 4-1 U-Net网络结构图
U-Net训练和结构分析
本节实验的硬件和软件环境配置见表4-1所示,训练相关超参数设置见表4-2所示。此外,本节的实验模型的损失函数采用交叉嫡损失函数,优化器方法使用随机梯度下降。考虑到数据集的大小不同,本文实验在Vaihingen数据集上训练100轮。
表 4 1 实验的硬件和软件环境配置
GPU型号 训练框架 操作系统
GTX1050 Pytorch-1-8 Ubuntu16-04
表 4 2 训练相关超参数设置
数据集 批大小 学习率 衰减率
Vaihingen 8 0-003 5e-4
经过测试,U-Net的测试如表4-3所示。
表 3 3 U-Net 测试实验
Model Mean F1 mLOU OA
U-Net 82-10 72-35 84-56
U-Net的预测结果图如4-2所示。
图 4-2 U-Net的预测结果
总结
本文设计了基于U-Net网络的遥感图像分割实验,并对比了FCN-32s和FCN-8s的结果。实验结果表明,U-Net网络在遥感图像分割任务中具有最好的效果。本文还介绍了常用的图像分割数据集和深度学习基础。
首先,本文介绍了图像分割任务的定义和应用场景。图像分割是指将一张图像分成若干个子区域的过程,通常是将图像中的物体或者区域进行分割。图像分割在计算机视觉、医学影像、遥感图像等领域都有广泛的应用。
其次,本文介绍了常用的图像分割数据集,包括SIRI-WHU、WHU-RS19、GID以及ISPRS Vaihingen数据集等。这些数据集包含了各种场景的图像,对于算法的评估和比较具有重要的意义。
接着,本文介绍了深度学习在图像分割任务中的应用。深度学习的出现使得图像分割任务得到了很大的改善。特别是卷积神经网络(CNN),在图像分割任务中表现出了很好的效果。本文介绍了两种基于CNN的图像分割模型:FCN和U-Net。
然后,本文介绍了FCN-32s和FCN-8s的实验结果。实验结果表明,在遥感图像分割任务中,FCN-8s的效果比FCN-32s要好。但是,与U-Net相比,FCN的效果还有提升空间。
最后,本文介绍了U-Net网络的结构和实验结果。U-Net网络是一种基于CNN的图像分割网络,它的特点是将输入图像分成两个分支,同时进行编码和解码操作。实验结果表明,U-Net网络在遥感图像分割任务中具有最好的效果,而且具有较好的泛化性能。