1.本发明涉及目标识别领域,具体涉及一种基于机器学习的高原冰湖自动提取方法。
背景技术:2.冰湖是一类特殊的湖泊,具有一般湖泊的属性,同时又不同于一般的湖泊,不同区域的冰湖往往在遥感影像中有不同的表现。传统的冰湖提取算法具有不同的适用范围和限制条件。手工矢量化适用于小范围高精度的冰湖制图,且需要大量人工处理,过程耗时耗力;基于光谱信息的冰湖提取方法简单有效,单仅适用于小范围的冰湖提取。在大尺度应用中,例如山体阴影、融化冰川等地物的光谱特征与冰湖相似,该方法难以直接消除干扰因素的影响;基于图像分割的方法从冰湖的图像特征入手,能够准确的获得冰湖边界,但该方法需要一定的后处理工作,且不同区域,不同大小的冰湖的分割尺度不尽相同;基于机器学习的冰湖提取方法应用较多,通常适用于具有先验知识的研究区,但仍需要足够的先验知识和训练样本数据。从目前的冰湖提取研究进展来看,由于冰湖内部像元光谱同质均一,但冰湖间的像元光谱表现出差异性的特点,难以使用单一算法进行冰湖的大范围提取,同时,由于高原地区地形起伏较大,山体阴影干扰严重,且山体阴影的特征与冰湖的特征非常相似,难以通过一次性设置阈值来大面积提取冰湖。因此,结合不同方法思路,从多种角度筛选合适的冰湖特征,采用较少的人工参与的方法以实现算法的自动化,快速准确地进行大范围冰湖的识别和提取,是未来冰湖提取算法的发展趋势。
3.由于冰湖大多处于环境较为恶劣的高山冰川区,地形复杂、交通不便,受自然因素的限制难以有效地获得长期监测数据,尤其是在高海拔地区,难以通过实地调查数据全面掌握冰湖的实时状态及动态变化情况。早期针对青藏高原冰湖的调查研究主要利用航空相片、地形图、文献记录与实地考察进行对比以获得较短时间周期的变化。随着卫星遥感技术的发展,能够实时、准确、连续地获取大范围的地表数据,遥感影像的时间和空间分辨率已经可以满足冰湖长时间序列监测的要求,得以对冰湖进行综合、快速和宏观监测。
技术实现要素:4.针对现有技术中的上述不足,本发明提供了一种基于机器学习的高原冰湖自动提取方法。
5.为了达到上述发明目的,本发明采用的技术方案为:
6.一种基于机器学习的高原冰湖自动提取方法,包括如下步骤:
7.s1、获取冰湖影像数据;
8.s2、对所获取的冰湖影像数据进行预处理,得到冰湖光谱特征参数和冰湖地形特征参数;
9.s3、根据所获取的冰湖光谱特征参数和冰湖地形特征参数构建冰湖特征集,并对构建的冰湖特征集进行重要性评价,计算输入特征的归一化特征重要性;
10.s4、构建随机森林分类模型,根据输入特征的归一化特征重要性进行模型训练,利用训练好的模型对冰湖特征集中的数据进行分类;
11.s5、对分类后的冰湖特征集中的数据进行精度评价。
12.进一步的,所述s1中冰湖影像数据包括光谱特征数据和地形特征数据,其中,所述光谱特征数据包括7个通道的地表反射率、地表温度和3个通道的光谱指数;地形特征数据包括从dem数据获取的高程、坡度和坡向。
13.进一步的,所述s2中数据预处理方式为:
14.提取landsat-8c2l2 oli地表反射率及tirs传感器的地表温度产品共计8个通道特征;并对光谱指数进行归一化处理,包括归一化水体指数、归一化植被指数和归一化差分积雪指数。
15.进一步的,所述s3中冰湖特征集的构建方式为:
16.s301、根据冰湖的面状分布特征,以地球高清分辨率影像数据为依据随机抽样选取训练样本集作为随机森林分类模型学习的自变量;
17.s302、根据冰湖的面状分布特征,以已有冰湖矢量数据为依据随机抽样选取训练样本集作为随机森林分类模型学习的因变量;
18.s303、对样本库进行筛选,按照设定规则剔除其中的无效样本。
19.进一步的,所述s3中对对构建的冰湖特征集进行重要性评价的具体方式为:
20.s311、基于oob数据计算归一和原始的特征重要性参数;
21.s312、将oob样本在各自的特征中随机排列;
22.s313、利用基于未经随机排列的oob样本计算的精度减去基于经过随机排列的obb样本计算精度,输入特征的归一化特征重要性并进行定级。
23.进一步的,所述s4具体包括:
24.s41、构建具有多个决策树的随机森林分类模型;
25.s42、将每个决策树对训练样本有放回的取样作为训练集,并用未抽到的样本作为验证集;
26.s43、利用分离特征作为参数冰湖特征集中的数据进行分类;
27.s44、对多个决策树的分类结果进行投票,以得票最多的结果作为冰湖特征集中的数据分类结果。
28.本发明具有以下有益效果:
29.结合不同方法思路,从多种角度筛选合适的冰湖特征,采用较少的人工参与的方法以实现算法的自动化,快速准确地进行大范围冰湖的识别和提取,是未来冰湖提取算法的发展趋势。
附图说明
30.图1为本发明基于机器学习的高原冰湖自动提取方法流程示意图。
31.图2为本发明实施例算法流程示意图。
32.图3为本发明实施例研究区地理位置图以及假彩色合成影像数据示意图。
33.图4为本发明实施例用于随机森林分类的部分输入特征,其中,(a)为彩色合成影像(5/4/3);(b)为地表温度;(c)为ndvi;(d)为ndwi;(e)为ndsi;(f)为高程;(g)为坡度;(h)
为坡向;
34.图5为本发明实施例随机森林模型训练分类流程图。
35.图6为本发明实施例研究区冰湖及非冰湖样本分布示意图。
具体实施方式
36.下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
37.一种基于机器学习的高原冰湖自动提取方法,如图1、图2所示,包括如下步骤:
38.s1、获取冰湖影像数据;
39.由于青藏高原地区的冰湖分布广泛,且冰湖的分布具有明显的地域性,冰湖受其发育环境的影响,在遥感影像中也呈现出不同的特征。因此,本实施例在位于西藏自治区东部的念青唐古拉山东段以及唐古拉山东段地区中选取了两个区域(30
×
30km)作为冰湖提取算法的实验研究区,结合本研究的覆盖范围以及精度需求,选取landsat-8oli及tirs影像、nasadem数据展开冰湖提取实验,采用谷歌地球影像以及已有的冰湖矢量成果数据作为冰湖精度评定的依据,landsat-8卫星发射于2013年2月11日,是landsat系列的最新卫星,相较于上一代landsat卫星,其性能有了全方位的提升。landsat-8全色波段的空间分辨率为30m,目前landsat-8数据已广泛地应用于冰冻圈的研究中,在冰湖的识别、提取、监测中已表现出巨大的潜力。本实验所选择landsat-8数据的过境时间均介于9月至10月,能够避免季节性积雪以及云层等因素的影响,在这个时期内冰川由融化向结冰状态过渡,冰湖状态稳定、边界清晰,有助于开展冰湖的提取实验。同时为了减少云量的影响,所选取的影像云量均控制在10%左右。
40.此外,由于研究区地形起伏较大,本研究还将利用高程数据获取坡度坡向信息减少山体阴影对冰湖提取的干扰。这部分将选用nasadem数据,该套数据发布于2020年2月,通过处理改进srtm数据、高程控制、空隙填充以及合并其他高程辅助数据,改善了数字高程模型(dem)的高度精度以及数据覆盖范围,减少了水体区域的数值异常,格式为geotiff,空间分辨率为1弧度秒(约30米),与landsat-8数据分辨率相一致,由该数据生成的高精度坡度模型,能够为去除landsat-8影像上的山体阴影提供可靠依据。
41.具体而言,本实施例里,冰湖影像数据包括光谱特征数据和地形特征数据,其中,所述光谱特征数据包括7个通道的地表反射率、地表温度和3个通道的光谱指数;地形特征数据包括从dem数据获取的高程、坡度和坡向,其中包括landsat8 c2 l2数据集提供的7个通道oli地表反射率产品以及tirs传感器的地表温度产品,3个不同地表类型的光谱指数以及3个地形特征因子。
42.s2、对所获取的冰湖影像数据进行预处理,得到冰湖光谱特征参数和冰湖地形特征参数;
43.本实施例里,提取landsat-8c2l2 oli地表反射率及tirs传感器的地表温度产品共计8个通道特征;并对光谱指数进行归一化处理,包括归一化水体指数、归一化植被指数和归一化差分积雪指数,具体而言,
44.光谱特征包括地表反射率、地表温度和光谱指数。其中地表反射率和地表温度可以从landsat-8oli和tirs数据获取。本实验所选择的landsat-8c2l2oli地表反射率及tirs传感器的地表温度产品共计8个通道特征如表1所示,
45.表1 landsat8 oli及tirs波段简介
[0046][0047]
本研究选取影像的时间范围主要集中在9月-10月,这段时期的冰湖面积较为稳定,其次,云量能满足低于10%的要求,采用的冰湖提取研究的数据具体如下表2所示
[0048]
表2研究区landsat-8影像概况
[0049][0050]
光谱指数包括归一化差异植被指数(normalized difference vegetation index,ndvi)、归一化差异水体指数(normalized difference water index,ndwi)和归一化差异雪被指数(normalized difference snow index,ndsi)。其中,ndvi主要用于识别植被信息,ndwi能够突出水体信息抑制背景信息,ndsi能够区分冰雪和背景信息,可用于识别冰川信息。具体定义如下:
[0051]
(1)归一化水体指数(ndwi)
[0052]
根据水体的光谱特点,突出水体信息抑制背景信息,达到区分水体和背景信息的目的。水体对太阳光具有强吸收性,并且通常表现出弱反射率,并且随着波长的增加具有进
一步减弱的趋势。而植被在近红外波段具有较强的反射率,因此,采用绿波段光谱值和近红外波段光谱值的比率并经归一化处理得到的ndwi可以突出影像中的水信息,最大程度地抑制植被信息,从而达到突出水体信息的目的。mndwi对于湖泊和冰雪的区分能力较差,值非常接近。mcfeeters(1996)提出的归一化差异水体指数ndwi,具体计算公式如下:
[0053][0054]
其中,ρ
green
代表绿光波段,ρ
nir
代表近红外波段,分别为landsat-8影像中的3波段和5波段。
[0055]
(2)归一化植被指数(ndvi)
[0056]
归一化差异植被指数(ndvi)由rouse等人(1973)提出,用于研究植被生长情况和监测植被覆盖率,计算公式如下:
[0057][0058]
其中,ρ
red
代表绿光波段,ρ
nir
代表近红外波段,分别为landsat-8影像中的4波段和5波段。
[0059]
(3)归一化差分积雪指数(ndsi)
[0060]
与一般湖泊水体提取的不同之处在于,冰湖多位于高海拔地区,常年有积雪覆盖,积雪的光谱特征与冰湖相近,会对提取进行干扰。ndsi指数是利用可见光(主要是绿光)及短波红外波段的组合突显了影像中积雪的覆盖部分,可用于区分云和雪、检测复杂阴影地形中的冰川冰、探测结冰的湖水等,具体计算公式如下:
[0061][0062]
其中,ρ
green
代表绿光波段,ρ
swir1
代表短波红外波段,分别为landsat-8影像中的3波段和6波段。ndsi》0.4的像元被认为存在积雪,而ndsi《=0.4的像元则认为是无雪地表。
[0063]
从dem数据可以获取主要的三种地形特征,包括高程、坡度和坡向。s3、根据所获取的冰湖光谱特征参数和冰湖地形特征参数构建冰湖特征集,并对构建的冰湖特征集进行重要性评价,计算输入特征的归一化特征重要性;
[0064]
随机森林分类器通过基于oob数据计算的归一和原始的特征重要性参数来估计分类特征的重要性。具体来说,每棵决策树的oob样本在各自的特征中随机排列后,用于运行决策树来计算精度。利用基于未经过随机排列的oob样本计算的精度减去基于经过随机排列的oob样本计算的精度得到的差值来计算。这些差值在每棵决策树之间都是不同的,随机森林中所有树的差值的平均值可以得到各个特征的原始特征重要性值。利用原始特征重要性与各自标准差的比值可以得到归一化特征重要性值。针对两个研究区,分别计算了14个输入特征的归一化特征重要性,以念青唐古拉山地区(研究区a)和唐古拉山地区(研究区b)为例,图3显示的是利用变量重要性评价函数对两个区域上筛选出来的输入参数重要性进行的分别评价和定级。可以看出,在两个研究区中,近红外波段均为所有输入参数中最重要的一项,在研究区a中依次为swir2波段、swir1波段、ndvi以及ndwi,研究区b中依次为ndsi、swir2波段、swir1波段以及ndwi。
[0065]
综上将地表反射率、地表温度、光谱指数和地形特征综合在一起,在gee平台上进行数据的预处理、掩膜以及特征参数指数的计算、地形信息的提取与计算,最终生成包含14
个虚拟波段的数据集,作为随机森林分类器的分类输入特征,如图4所示。
[0066]
s4、构建随机森林分类模型,根据输入特征的归一化特征重要性进行模型训练,利用训练好的模型对冰湖特征集中的数据进行分类;
[0067]
冰湖间光谱差异较大且冰湖一般面积较小,小冰湖在遥感影像中常表现为一种“弱信息”,同时由于山体阴影等因素的影响,传统冰湖提取方法难以准确提取冰湖信息。针对冰湖提取的难点,基于机器学习的方法是利用遥感影像中的少量信息对模型进行训练,之后利用模型对整个影像处理的过程,该方法的关键则在于训练样本的选取和训练模型的构建。该类算法中具有代表性的算法包括聚类,决策树,神经网络,支持向量机等算法。
[0068]
机器学习中的随机森林算法稳定性好且训练速度较快,对异常值有较好的容忍度,抗噪能力较强,不易出现过拟合现象。此外,随机森林方法可以接受高维度的不同属性的数据,需要调整的参数较少,具有能高效处理大样本数据、泛化能力强、可以估计分类特征重要性等优点,已被各遥感领域广泛应用于解决分类问题。因此,本研究选择随机森林作为冰湖的自动提取方法。随机森林分类是由多个决策树整合形成的分类器,每一个决策树都对训练样本有放回的取样作为训练集,并用未抽取到的样本作为验证集。然后有针对性地应用分离特征作为参数的执行分类。并将生成的大量决策树构成随机森林分类器,使用该分类器的多个决策树投票并以投票次数最多的结果输出作为分类结果,如图5所示。
[0069]
确定分类输入特征后,进行冰湖提取训练样本集的构建。以冰湖信息提取为目标,综合考虑研究区范围以及研究区地表地物可分性的情况,将研究区划分为两大类:冰湖及非冰湖,其中非冰湖区域包括植被、裸地、冰川、山体阴影以及其他土地覆盖类型。根据冰湖的面状分布特征,训练样本的选取采取随机抽样和分层人工抽样相结合的方法,基于谷歌地球高分辨率影像和已有的冰湖矢量数据作为参考,选取出具有代表性的样本区域构建冰湖训练样本集,将作为机器学习的因变量,其中非冰湖区域的冰川、裸土、植被以及冰湖区的中心等覆盖面积较大的区域可以通过随机取样获取;对于覆盖面较小的冰湖以及其他地类如山体阴影区等将进行人工选取。在选取样本的时候,尽量将样本选在地物分布均匀且预期动态变化较小的区域内。
[0070]
本实验样本选取在matlab搭建的样本选取平台上进行,样本选取使用的是landsat-8影像,结合google earth高分辨率影像以及已有冰湖目视解译矢量结果作为参考数据,结合表3
[0071]
表3冰湖提取样本库各类地物类别及描述
[0072]
[0073]
中样本库地物的类别,在影像上选取对应的样本保存。
[0074]
通过随机取样以及人工取样选取出具有代表性的样本区域构建冰湖训练样本库,将作为机器学习的因变量,由于landsat-8地表反射率存在空值,部分异常值还导致光谱指数计算结果异常。dem数据在水体范围存在部分异常值(通常开放水体的坡度为0
°
,这有利于区分山体阴影和水体)。为了保证所选样本具有代表性,避免这类异常值对分类结果造成影响,在进行模型训练之前,对样本库进行全面筛选,按照一定规则从中剔除无效样本。
[0075]
s5、对分类后的冰湖特征集中的数据进行精度评价。
[0076]
将获取的冰湖特征集将作为机器学习的自变量,地表类型样本集作为机器学习的因变量。冰湖特征集共有14个输入因子,包括7个通道的地表反射率、地表温度、3个光谱指数(ndvi、ndwi、ndsi)以及3个地形特征(高程、坡度、坡向)。地表类型主要分为冰湖和非冰湖类。配套的因变量和自变量都作为机器学习算法的输出和输入,机器学习将自动模拟人脑的学习行为以自动获取自变量与因变量之间存在的非线性复杂关系。为了便于机器算法的训练和后续机器学习算法的误差估计,选取的分类样本随机分成两部分。其中,70%的随机样本用作分类的训练样本,剩下30%的样本被用作检验分类结果的验证样本,测试机器学习算法进行分类的精度是否满足需求,如达不到精度需求则继续训练,直到精度达到预期的阈值为止,最终得到分类模型。随机森林分类后由于数据异常值出现一些零星分布的像元,按照一定规则(面积及高程)设置过滤阈值剔除错分的冰湖像元,对湖泊初步提取结果进行修正。
[0077]
对基于遥感数据提取的湖泊结果进行验证的方法主要有两类。一种是通过实地考察湖泊范围进行验证,该方法精度较高,但耗时耗力、效率不高。由于研究区内大多数湖泊分布在高海拔和寒冷山区的陡峭边缘地区,利用野外实测数据对湖泊提取结果进行准确性评估十分困难。因此,实地验证一般适用于小范围的湖泊研究。另一种是通过使用更高分辨率的影像的目视解译结果或者已有的目视解译结果作为参考。在目视解译过程中,高分辨率的影像有助于确定湖泊的位置和形状。利用选取的验证样本对冰湖提表征分类精度的指标有很多,其中最常用的就是从混淆矩阵衍生出来各种分类精度指标,其中总体分类精度(oa)和卡帕系数(kappa)应用最为广泛。
[0078]
经统计,传统方法(ndwi阈值法)的kappa系数为0.6123,oa为98.88,而本研究提出的方法kappa系数为0.8602,oa为99.49。因此,可以认为最终提取的冰湖结果精度较好,可以满足研究需要,为分析湖泊变化特征提供数据支持,如图6所示。
[0079]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0080]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0081]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0082]
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
[0083]
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
技术特征:1.一种基于机器学习的高原冰湖自动提取方法,其特征在于,包括如下步骤:s1、获取冰湖影像数据;s2、对所获取的冰湖影像数据进行预处理,得到冰湖光谱特征参数和冰湖地形特征参数;s3、根据所获取的冰湖光谱特征参数和冰湖地形特征参数构建冰湖特征集,并对构建的冰湖特征集进行重要性评价,计算输入特征的归一化特征重要性;s4、构建随机森林分类模型,根据输入特征的归一化特征重要性进行模型训练,利用训练好的模型对冰湖特征集中的数据进行分类;s5、对分类后的冰湖特征集中的数据进行精度评价。2.根据权利要求1所述的一种基于机器学习的高原冰湖自动提取方法,其特征在于,所述s1中冰湖影像数据包括光谱特征数据和地形特征数据,其中,所述光谱特征数据包括7个通道的地表反射率、地表温度和3个通道的光谱指数;地形特征数据包括从dem数据获取的高程、坡度和坡向。3.根据权利要求1所述的一种基于机器学习的高原冰湖自动提取方法,其特征在于,所述s2中数据预处理方式为:提取landsat-8c2l2 oli地表反射率及tirs传感器的地表温度产品共计8个通道特征;并对光谱指数进行归一化处理,包括归一化水体指数、归一化植被指数和归一化差分积雪指数。4.根据权利要求1所述的一种基于机器学习的高原冰湖自动提取方法,其特征在于,所述s3中冰湖特征集的构建方式为:s301、根据冰湖的面状分布特征,以地球高清分辨率影像数据为依据随机抽样选取训练样本集作为随机森林分类模型学习的自变量;s302、根据冰湖的面状分布特征,以已有冰湖矢量数据为依据随机抽样选取训练样本集作为随机森林分类模型学习的因变量;s303、对样本库进行筛选,按照设定规则剔除其中的无效样本。5.根据权利要求1所述的一种基于机器学习的高原冰湖自动提取方法,其特征在于,所述s3中对对构建的冰湖特征集进行重要性评价的具体方式为:s311、基于oob数据计算归一和原始的特征重要性参数;s312、将oob样本在各自的特征中随机排列;s313、利用基于未经随机排列的oob样本计算的精度减去基于经过随机排列的obb样本计算精度,输入特征的归一化特征重要性并进行定级。6.根据权利要求1所述的一种基于机器学习的高原冰湖自动提取方法,其特征在于,所述s4具体包括:s41、构建具有多个决策树的随机森林分类模型;s42、将每个决策树对训练样本有放回的取样作为训练集,并用未抽到的样本作为验证集;s43、利用分离特征作为参数冰湖特征集中的数据进行分类;s44、对多个决策树的分类结果进行投票,以得票最多的结果作为冰湖特征集中的数据分类结果。
技术总结本发明公开了一种基于机器学习的高原冰湖自动提取方法,首先获取冰湖影像数据;对所获取的冰湖影像数据进行预处理,得到冰湖光谱特征参数和冰湖地形特征参数;根据所获取的冰湖光谱特征参数和冰湖地形特征参数构建冰湖特征集,并对构建的冰湖特征集进行重要性评价,计算输入特征的归一化特征重要性;构建随机森林分类模型,根据输入特征的归一化特征重要性进行模型训练,利用训练好的模型对冰湖特征集中的数据进行分类;对分类后的冰湖特征集中的数据进行精度评价。该方法结合不同方法思路,从多种角度筛选合适的冰湖特征,采用较少的人工参与的方法以实现算法的自动化,快速准确地进行大范围冰湖的识别和提取,是未来冰湖提取算法的发展趋势。提取算法的发展趋势。提取算法的发展趋势。
技术研发人员:陈虹 常胜 涂杰楠 贺鹏 童立强 郭兆成
受保护的技术使用者:中国科学院空天信息创新研究院
技术研发日:2022.07.22
技术公布日:2022/11/1