一种基于语义分割的冰上湖提取的方法与流程

文档序号:21366495发布日期:2020-07-04 04:41阅读:337来源:国知局
一种基于语义分割的冰上湖提取的方法与流程

本发明属于冰上湖遥感图像处理技术领域,具体涉及一种基于语义分割的冰上湖提取的方法。



背景技术:

冰川对气候变化具有很高的敏感性。冰川湖提取可以帮助我们了解其空间分布和动态变化信息,对于分析湖泊变化与冰川波动的关系、评估冰川湖爆发洪水的风险具有重要意义。遥感技术由于其规模大、周期性强等特点,常被用于冰川湖的提取。目前,基于卫星图像的冰川湖提取研究主要集中在基于landsat等中等分辨率的多光谱卫星图像来进行冰上湖提取。这类方法通常需要对冰川湖泊的物理化学特征及其周围环境特征进行大量复杂的综合分析,实现过程较为复杂。并且,由于图像分辨率的限制,最终提取的结果精度不高。

语义分割(semanticsegmentation)是将标签分配给图片中的像素的过程。这里的标签主要是指像素的类别,应用到冰上湖提取中则是指像素为:冰上湖或非冰上湖。全卷积网络(fullconvolutionnetwork,fcn)的提出,将深度学习引入语义分割领域并大大提高了语义分割算法的精度。语义分割算法已经被广泛应用于各种需要精确和高效的分割机制的应用中,如自动驾驶、室内导航、虚拟或增强现实系统等。在遥感领域,也有将语义分割算法应用到地物分类等领域的研究,并取得了不错的效果。u-net和segnet都是基于深度学习的语义分割算法中,在遥感领域取得了不错效果的算法。目前还没有基于语义分割的冰上湖提取的详细研究,并且,在基于语义分割的冰上湖提取过程中所存在的技术难题也无法解决。

本发明提供一种基于语义分割的冰上湖提取的方法来克服上述缺陷。



技术实现要素:

本发明目的在于提供一种基于语义分割的冰上湖提取的方法,用于解决上述现有技术中存在的技术问题之一,如:目前还没有基于语义分割的冰上湖提取的详细研究,并且,在基于语义分割的冰上湖提取过程中所存在的技术难题也无法解决。

为实现上述目的,本发明的技术方案是:

一种基于语义分割的冰上湖提取的方法,包括以下步骤:

s1、利用高分辨率的冰上湖的历史遥感图像,通过特征提取的方式制作历史标签影像,利用所述历史遥感图像和历史标签影像建立初始训练数据集;

s2、在步骤s1的基础上,通过数据增广的方式增加训练样本数量,从而获得最终训练数据集;

s3、搭建基于u-net和segnet的堆叠网络,在步骤s2的基础上,将所述最终训练数据集输入所述堆叠网络进行训练,从而得到冰上湖提取模型;

s4、获取目标区域的遥感图像,所述遥感图像不同于上述训练过程所用的历史遥感图像,剪裁部分所述遥感图像,并通过特征提取的方式相应地制作部分目标标签影像,在步骤s3的基础上,将部分的所述遥感图像输入所述冰上湖提取模型进行测试,获取相应的测试结果,即测试部分目标标签影像,并根据所述测试结果和所述部分目标标签影像,对所述冰上湖提取模型进行优化,从而得到冰上湖优化提取模型;

s5、获取目标区域的遥感图像,在步骤s4的基础上,将所述目标区域的遥感图像输入到所述冰上湖优化提取模型中,从而完成对整个目标区域的冰上湖提取。

进一步的,步骤s1具体为:

对一幅从googleearth上下载的包含冰上湖的2-3m分辨率历史遥感图像,通过标注工具labelme对其依据水体的光谱特征曲线,通过人工标注判别每个像素是否为冰上湖,在lbaleme上将判断为冰上湖的区域圈出,生成背景区域值为0,冰上湖区域值为1的二值化图像制作对应的历史标签影像。

进一步的,步骤s2具体为:

对这幅历史遥感图像及其历史标签影像使用同样的数据增广,数据增广即:尺寸为256×256的随机裁剪、图像平移、图像旋转以及灰度变换,将由于冰上湖数量限制而样本较少的数据增加样本量,得到大量的尺寸为256×256的历史遥感图像及其对应历史标签影像,使之具有足够的数量作为基于深度学习的语义分割算法的训练数据。

进一步的,步骤s3具体为:

基于u-net和segnet的堆叠网络的搭建方法为,网络的输入端将输入的历史标签影像同时传入u-net网络和segnet网络,在输出端通过对两个网络的提取结果求平均,作为最终的输出结果,为了防止过拟合,在两种网络的编码器与解码器相连的两层加入dropout层,同时,考虑到最终判别结果为二值图,需要把两种网络的输出最后一层的分类层分类数设置为1,即分两类,并采用sigmoid函数进行最终的分类;

所述冰上湖提取模型的训练过程:

s20:将历史遥感影像与历史标签影像分别作为堆叠网络的输入和输出;

s21:利用s20中的输出端影像对初始的深度学习模型进行训练,在深度学习模型中,优化器选择为adam,学习速率为4e-5,损失函数为交叉熵损失函数,批尺寸为15,迭代次数为30进行训练,计算并更新所述深度学习模型的网络参数;

s22:计算深度学习模型的损失函数其中,l为交叉熵损失损失函数,y为样本,为样本标签为1的概率;

若训练迭代次数等于预设最大次数30,则训练完成,输出最后一次的训练模型作为最终冰上湖提取模型;否则,进入s21,继续训练。

进一步的,步骤s4具体为:

利用训练好的冰上湖提取模型通过滑动窗口法对测试用的遥感图像进行冰上湖提取,将提取结果与手工制作的标签影像对比,通过总体精度来直观判断模型的准确率、kappa系数以及f1值,进一步得到冰上湖优化提取模型;其中,总体精度是指模型在所有测试集上预测正确样本数量的与总体数量之间的比值;kappa系数为:通过把所有地表真实分类中的像元总数乘以混淆矩阵对角线的和,再减去某一类地表真实像元总数与该类中被分类像元总数之积对所有类别求和的结果,可用于评价结果的一致性,及评价结果的泛用性;f1值为:召回率即模型找到的正确正样本数与正样本总数的比值,与准确率即模型找到的正确正样本数与模型找到的正样本数的比值,两者的调和平均数,用于评价模型在全面性与准确性之间的平衡效果,评价模型精度。

进一步的,步骤s5具体为:

利用冰上湖优化提取模型,通过滑动窗口,窗口大小为256×256,步长为64,在目标区域的遥感图像上进行滑动,对每个窗口,利用冰上湖提取模型对其进行冰上湖提取,对于两个窗口重叠部分,通过聚类法,把各个窗口中判别为冰上湖的区域都判别为冰上湖,对整体目标区域的遥感图像进行冰上湖提取,作为最终的冰上湖提取结果。

与现有技术相比,本发明所具有的有益效果为:本发明是基于语义分割的冰上湖提取的详细研究,克服了在基于语义分割的冰上湖提取过程中所存在的技术难题;并且,针对基于理化特性分析的冰上湖提取算法实现复杂精度较低的特点,引入精度较高的基于语义分割的冰上湖提取方法,将冰上湖的提取精度提升到先进次元。

附图说明

图1是本发明的一个实施例的实验流程图。

图2是本发明的一个实施例的历史遥感图像和制作的标签数据的示例。

图3是本发明的一个实施例的基于u-net和segnet的堆叠网络的结构示意图。

图4是本发明的一个实施例的模型测试图像结果示例。

图5是本发明的一个实施例的模型测试评价结果。

图6是本发明的一个实施例的目标区域及最终冰上湖提取结果。

具体实施方式

下面结合本发明的附图1-6,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1:

如图1所示,一种基于语义分割的冰上湖提取的方法,包括以下步骤:

s1、利用高分辨率的冰上湖的历史遥感图像,通过特征提取的方式制作历史标签影像,利用所述历史遥感图像和历史标签影像建立初始训练数据集;

s2、在步骤s1的基础上,通过数据增广的方式增加训练样本数量,从而获得最终训练数据集;

s3、搭建基于u-net和segnet的堆叠网络,在步骤s2的基础上,将所述最终训练数据集输入所述堆叠网络进行训练,从而得到冰上湖提取模型;

s4、获取目标区域的遥感图像,所述遥感图像不同于上述训练过程所用的历史遥感图像,剪裁部分所述遥感图像,并通过特征提取的方式相应地制作部分目标标签影像,在步骤s3的基础上,将部分的所述遥感图像输入所述冰上湖提取模型进行测试,获取相应的测试结果,即测试部分目标标签影像,并根据所述测试结果和所述部分目标标签影像,对所述冰上湖提取模型进行优化,从而得到冰上湖优化提取模型;

s5、获取目标区域的遥感图像,在步骤s4的基础上,将所述目标区域的遥感图像输入到所述冰上湖优化提取模型中,从而完成对整个目标区域的冰上湖提取。

下面以喀刺昆仑山脉地区冰上湖提取的仿真实验详细说明四个步骤的过程。

喀刺昆仑山脉从阿富汗最东部向东南延伸约480公里。宽度约为240公里,长度为800公里。平均海拔超过5500米。为世界上高山和高纬度之外最长的冰川最集中的地方。

步骤1:制作初始训练数据;

从googleearth上下载了图像效果较好的加拿大lucania山脉附近的5幅分辨率为2.37m的高分辨率冰上湖影像,利用标注工具labelme,依据水体光谱特征,通过人工圈出图片中认为是冰上湖的部分,通过labelme输出冰上湖区域为1背景部分为0的二值图进行冰上湖标注工作,得到对应的标签影像,制作初始训练数据。原始影像和对应的标签数据的实例如图2所示。

步骤2:制作最终训练数据;

首先,考虑到网络的对输入图像尺寸的要求为256×256以及增加训练图像的数量以满足深度学习算法对样本数量的要求,采用随机裁剪的方法来裁剪初始训练数据,使得训练数据满足输入尺寸的同时增加训练数据数量。

然后,利用图像平移、图像翻转以及灰度变换等其他数据增广方法进一步增加训练数据数量,得到最终的80000幅尺寸为256×256的训练数据集。

步骤3:训练冰上湖提取模型;

u-net和segnet是两种适合于遥感影像等具有较大尺度的影像的语义分割算法。堆叠网络即是将二者的判别结果取均值来作为最终的判别结果,以此来平衡二者的判别结果。堆叠网络的网络结构图如图3所示,按照此结构搭建堆叠网络。

将训练数据输入堆叠网络,训练冰上湖提取模型时的具体参数设置如下:优化器(optimizer)选择为adam,学习速率(learningrate)为4e-5,损失函数为交叉熵损失函数(binarycrossentropy),批尺寸(batchsize)为15,迭代次数(epochs)为30,在迭代次数达到30时,输出此次迭代训练的模型结果(即各层权重值)。

步骤4:模型测试;

对从googleearth上下载的3.82m分辨率的整个喀刺昆仑山脉区域作为目标区域,从整个区域的影像中裁剪了5幅影像同步骤1的原理进行标注制作测试数据,将测试数据中原始图像利用滑动窗口法,窗口大小为256×256,步长为64在测试图像上滑动,每次用本方法训练好的模型对窗口内的影像进行冰上湖提取,最终对窗口重叠部分的判别结果,按聚类法,即重叠部分像素,只要有窗口判别为冰上湖,则在最终结果中判别为冰上湖,得到最终提取结果。将模型的冰上湖提取结果与对应标签影像比较,评价模型效果。原始图像、标签图像以及模型提取结果示例如图4所示。

从总体精度(overallaccuracy,overallacc)直观评价模型提取效果、kappa系数评价模型泛用性以及f1值(f1-score)评价模型在查准性于查全性之间的平很效果三个评价指标评价模型提取结果,评价结果如图5所示,可以看出每种指标在5幅测试图像上都达到了88%以上的精度,说明本方法在喀刺昆仑山脉区域冰上湖提取结果于人工标注结果非常相近,本方法具有可行性。

步骤5:冰上湖提取;

利用与步骤4中相同的滑动窗口法,将整个喀刺昆仑山脉目标区域影像输入模型,获取最终的冰上湖提取结果,如图6所示,该提取结果可用于分析喀刺昆仑山脉温度变化等实际应用中。

实施例2:

在实施例1的基础上,步骤3的训练冰上湖提取模型可替换为如下步骤:

第1:搭建待训练卷积神经网络,利用待训练卷积神经网络中的预训练卷积神经网络从输入历史遥感图像中提取多尺度特征图,并通过待训练卷积神经网络中的第一分类器从多尺度特征图中最低分辨率的特征图中获取初始粗糙冰上湖分割结果;

第2:结合提取的多尺度特征图,利用擦除注意力法对所述初始粗糙冰上湖分割结果进行迭代优化,得到原始分辨率冰上湖分割概率图;

第3:根据冰上湖分割概率图构建多尺度损失函数,并结合多尺度损失函数结合样本训练集对所述待训练卷积神经网络进行训练,得到具有最优精度的卷积神经网络;

第4:将待提取的高分辨率遥感影像输入第3中训练好的卷积神经网络,得到冰上湖提取结果。

其中,第1中所述多尺度特征图提取的具体步骤为:

将一张遥感影像作为输入,利用去掉全连接层的预训练卷积神经网络进行卷积和降采样操作,获得多尺度特征图。

其中,所述的多尺度特征图分辨率分别为其中,w和h分别代表输入遥感图像的宽度和高度。

其中,第1中所述初始粗糙冰上湖分割结果的获取步骤为:

选取最低分辨率的多尺度特征图,输入待训练卷积神经网络的第一分类器中,输出最低分辨率的初始粗糙冰上湖分割结果。

其中,第2中获取原始分辨率冰上湖分割概率图的具体步骤为:

步骤2.1:将步骤1得到的初始粗糙冰上湖分割结果进行上采样,获得待优化的冰上湖分割概率图;

步骤2.2:采用擦除注意力法对所述待优化的冰上湖分割概率图进行权重缩放处理,得到输出权重矩阵;

步骤2.3:采用所述输出权重矩阵对当前多尺度特征图中未优化的最低分辨率特征图进行加权处理,得到加权后的特征图;

步骤2.4:将步骤2.3得到的特征图输入待训练卷积神经网络的第二分类器,输出冰上湖分割概率残差图,并将该冰上湖分割概率残差图与当前待优化的冰上湖分割概率图相加,从而得到当前优化后的冰上湖分割概率图;

步骤2.5:将步骤2.4中所述当前优化后的冰上湖分割概率图作为下一次待优化的冰上湖分割概率图,重复步骤2.2到步骤2.4,按照分辨率从低到高的顺序对步骤1获得的多尺度特征图进行迭代优化,直至得到原始分辨率冰上湖分割概率图。

其中,所述擦除注意力法的具体过程为:

首先用0.5减去待优化的冰上湖分割概率图,得到一个反转的权重矩阵,对于权重矩阵中数值小于0的位置的权重置为0,擦除待优化的冰上湖分割概率图中概率大于0.5的部分,再用2乘以权重矩阵,将权重缩放到0至1之间,获得所述输出权重矩阵。

其中,第3中所述多尺度损失函数的构建步骤为:

步骤3.1:按照公式计算尺度i下的监督损失函数lossi,其中,i=(1,m),m为选取的除原始分辨率外的尺度总个数,gj为像素j的真实标签,gj=1表示为冰上湖像素,gj=0表示为非冰上湖像素;pj是像素j为冰上湖像素的预测概率;n为一张图像中的像素总数;

步骤3.2:基于监督损失函数lossi与原始分辨率下的监督损失函数loss0按照公式构建多尺度损失函数loss。

其中,所述尺度总个数m的取值为5,5个尺度损失函数的总权重设置为1,原始分辨率的监督损失函数loss0的权重设置为1。

本方法通过对具有真实冰上湖遥感图像训练数据集进行学习与训练,通过擦除注意力机制的引导,结合多尺度优化策略,在显著提高了总体冰上湖提取精度的同时,还加强了对细小冰上湖的识别与提取。

本方法通过训练一个端到端的网络,输入一幅遥感影像,输出一幅与输入图像同分辨率的冰上湖分割图。该过程不需要人工设计的特征来进行引导,网络本身可以从训练数据中学习得到所需要的特征,并加以合理的利用,因此具有更好地泛化能力,即便是在面对复杂场景的时候,也能有稳定的表现。其中,设计的擦除注意力方法和多尺度优化策略,可以引导网络在已有冰上湖分割结果的基础上,更多地关注未被准确分类的区域,逐步提升冰上湖提取的结果;并且擦除注意力方法没有引入任何额外的参数,因此,本发明设计的网络结构简单,复杂度低,并且易于训练。与其他方法直接从较低分辨率上采样到原始分辨率不同,本发明设计的网络是逐步将冰上湖分割结果上采样到原始分辨率大小,不会丢失太多的细节信息,显著提高了最终得到的冰上湖提取结果的精度,并且在细小冰上湖提取上效果好。

以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1