投稿问答最小化  关闭

万维书刊APP下载

基于卫星Sentinel-2影像的蓝藻遥感分类方法

2023/9/8 14:41:37  阅读:62 发布者:

一种利用贝叶斯优化的蓝藻遥感分类方法

田晨1, 张金龙1, 金义蓉1, 董世元2, 王彬2, 张乃祥2

1.苏州市水利水务信息调度指挥中心,苏州 215011

2.苏州中科蓝迪软件技术有限公司,苏州 215163

摘要:

利用Sentinel-2遥感卫星影像,结合遥感优势以光谱、指数、纹理等14种多种特征信息为输入,依托贝叶斯优化算法,设计了一种能自动获取最优超参数组合的BO-XGBoost方法,并将其成功应用于2021年阳澄湖蓝藻信息提取。结果表明: ①通过贝叶斯优化算法获取最优超参数组合,进行训练得到BO-XGBoost蓝藻分类模型,其训练结果在测试集和训练集上表现效果良好,准确率高达96.07%; ②将BO-XGBoost应用于参与样本集构建的影像,其蓝藻识别结果与人工解译成果对比,2种方法得到的蓝藻空间分布情况基本一致,交并比最低为41.31%; ③为评价该分类模型在其他时相的适用性,选择其他时相影像数据进行蓝藻提取,BO-XGBoost与人工解译2种方法蓝藻空间分布情况基本一致,交并比最低为43.85%

0 引言

蓝藻大面积暴发,不仅破坏湖泊景观,导致生物量减少,同时也会造成水体自净能力失衡,严重影响湖泊水生态环境[1]。自“十三五”规划以来,内陆湖泊生态环境得到改善,但是受常年环境问题影响,蓝藻暴发等一系列问题仍然严重威胁水生生态系统。随着遥感技术的发展,越来越多的卫星遥感技术应用于环境治理中[2-3],利用卫星遥感技术的空间优势可实时快捷地获取蓝藻暴发区域地时空分布特征,掌握蓝藻生长情况,为环境治理、管控提供数据和技术支撑。

目前,国内外众多学者采用多种方法进行遥感影像蓝藻信息提取。其中光谱指数法应用较为广泛,该方法通过蓝藻光谱特性构建能够表征蓝藻特征的光谱指数,主要包括: 归一化植被指数(normalized difference vegetation index, NDVI)[4]、增强型植被指数(enhanced vegetation index, EVI)[2-3,5]、漂浮藻类指数(floating algae index, FAI)[5]、替代型漂浮藻类指数(alternative floating algae index,AFAI)[6]; 同时也有学者进一步结合多个光谱指数构建利用机器学习分类方法,: 决策树、支持向量机、神经网络、随机森林等蓝藻提取方法[7⇓⇓⇓⇓-12]。此外还有学者提出了蓝藻提取的非监督分类方法[13]。综合对比以上几种分类方法,光谱指数法通过专家经验设定固定阈值对蓝藻信息信息提取,缺乏可拓展性,难以针对长时间序列的遥感影像数据集确定唯一有效阈值进行蓝藻识别; 监督分类方法识别精度相比于其他方法精度较高,但在训练过程中需要设定模型超参数,然而对于模型超参数的选择上往往靠过去的经验和大量的人工调试,很难得到最优的网络结构和参数,另一方面训练蓝藻分类模型需要标记大量样本,人工成本较高; 非监督分类方法的分类精度则无法保证,需要大量的长时间序列数据进行分析。

XGBoost(eXtreme Gradient Boost)2016SIGKDD大会提出,是一种结合梯度提升和决策树的集成学习方法[14],能够自动利用CPU的多线程进行并行,在算法运行效率和精度上有明显提升,近年来广泛应用于遥感监测领域,如总磷、总氮、叶绿素a等水质指标反演[15],以及遥感地物分类[16],目前XGBoost分类算法在遥感蓝藻监测研究中鲜有报道。机器学习分类模型训练精度受超参数影响较大,较差的超参数组合策略易导致模型过拟合或者欠拟合,贝叶斯优化算法(Bayesian optimization)利用先验知识逼近未知函数的后验分布从而调节最优超参数组合,相较于传统的专家经验设定、网格检索等方法,贝叶斯优化算法更能反映实际问题的本质,并在众多领域中获得应用,: 经济预测、舆情分析等领域[17]。在以往遥感监测分类算法研究中,机器学习超参数选取一般基于专家经验进行选择,利用贝叶斯优化寻找最优解的方法涉及较少。

光学遥感影像包含光谱特征、指数特征、纹理特征,结合多遥感特征进行蓝藻分类提取可以避免光谱混淆,提升模型精度[18]。本文以遥感影像包含的光谱、指数、灰度共生矩阵等多特征信息作为输入,利用贝叶斯优化算法寻找XGBoost模型全局最优解对蓝藻识别模型进行训练,生成BO-XGBoost蓝藻识别模型,将该模型应用于2021年阳澄湖蓝藻信息提取,与人工标注结果进行对比验证,并针对BO-XGBoost模型的适用性和优缺点进行评价。本研究的成果可为遥感领域机器学习算法优化问题提供参考,以及分析阳澄湖蓝藻发生规律和进一步湖泊生态环境治理提供技术指导。

1研究区概况与数据源

1.1 研究区概况

阳澄湖位于江苏省苏州市北部,是典型内陆湖泊,占地约120 km2。阳澄湖由于富营养化引起的蓝藻暴发是水生态安全、生物多样化的重要影响因素,严重威胁苏州市、昆山市饮用水安全[19]。图1展示了阳澄湖水域范围,其中,阳澄湖包含大面积的大闸蟹围网养殖区域,易与蓝藻发生混淆,经观察发现阳澄湖围网养殖区域常年不变,因此该部分区域不在研究范围内。

1.2 数据获取及处理

阳澄湖湖泊面积较小,及时掌握阳澄湖蓝藻暴发的空间分布形态对卫星遥感影像空间、时间分辨率要求较高。本文使用欧洲航空安全局(European Aviation Safety Agency,ESA)提供的免费数据源Sentinel-2,其空间分辨率为10 m,S2AS2B星联合观测时间分辨率可达5 d[20],能够满足阳澄湖蓝藻暴发监测的需求。Sentinel-2数据可从ESA官方网站(https://scihub.copernicus.eu/dhus/#/home)进行下载,下载得到L1C数据,该数据已进行过几何纠正和辐射校正,利用官方推荐的Sen2cor软件对其进行大气校正,可得到10 m分辨率的反射率数据。本文使用2021610月份无云或少云的8期遥感数据进行蓝藻监测,1展示了本文中使用的Sentinel-2卫星数据日期。

1   阳澄湖影像过境时间

2研究方法

2.1 特征提取

通过光谱特征和光谱指数只能表征单一像元的地物类型,忽略了遥感影像携带的空间纹理特征,本文使用常用的纹理特征提取方法——灰度共生矩阵,通过计算相对位置固定像素对的灰度频率来提取纹理信息[21]。本文利用NDVI作为灰度矩阵,灰度量化级选择值为32,统计像元窗口大小为9像元×9像元,提取了8个纹理特征,包括: 对比度、相异性、同质性、角二阶矩、方差、均值、最大概率和相关性。

将光谱特征、指数特征、纹理特征共14个特征进行融合,多特征图如图2所示,并用于Sentinel-2的蓝藻分类提取特征集。

2.2 样本选取

2021610月期间,选择天气晴朗且有Sentinel-2影像数据过境日期对阳澄湖进行实地踏勘。图32021826日阳澄湖实地踏勘成果和对应日期的Sentinel-2影像数据,3(a)可以看出点位2,3,5,20有藻类聚集,点位11,12,17,18有水生植被聚集。观察图3(a)和图3(b)蓝藻与其他水生植被在影像呈现的状态,发现蓝藻多以大面积,絮状分布为主,其他水生植被一般有明显的分类边界,以小范围、零散、近陆地分布为主。通过计算NDVI,并结合实地调研结果,对蓝藻在遥感影像上进行标注,标注结果如图3(c)。选取表14景遥感影像数据进行样本提取,分别为77日、826日、930日、1030,根据人工标注结果,针对蓝藻、其他植被、水体、云4类目标物各随机选取250个点位共计1 000个样本数据,其中蓝藻为目标,其他植被、水体、云为背景。剩余4期影像数据不参与模型训练过程,以便验证分类模型的泛化能力。

3   2021826日数据展示

2.3 基于贝叶斯优化的XGBoost分类方法

XGBoost是基于决策树的监督模型,属于集成学习Boosting算法的一种,思想是使用多个CART分类树作为弱学习器,增加的决策树学习上一轮预测结果的残差,通过不断地增加新树使得损失值最低,最终基于加法模型将多个弱学习器集成为一个强学习器,进而获得一个高精度的机器学习模型。XGBoost算法需要在训练前设定子模型数量、学习率、树最大深度、惩罚系数等超参数,使用人工检索或网格搜索方法确定最优超参数组合达到最小误差和避免过拟合,会消耗大量计算时间。本文使用贝叶斯优化自动调整XGBoost超参数,在有限的检索次数内达到最优值,从而保证得到最优超参数组合进行蓝藻识别和提取。

利用贝叶斯优化算法,XGBoost算法进行30次评估,单次评估过程中设置五折交叉验证,并利用准确率指标对目标参数进行评估。在贝叶斯优化过程中,每次观测到的准确率如图4所示。在贝叶斯优化评估结束后,得到最优可行点,最优参数取值表2所示,在此参数下XGBoost模型对蓝藻的识别性能在验证集上准确度达到98.71%

2   XGBoost最优超参数组合

2.4 精度评价

通过混淆矩阵对BO-XGBoost蓝藻分类模型精度进行评估,确定4个评价指标,即精确率(Precision)、召回率(Recall)F1指标和Kappa系数。另外,利用交并比(intersection over union,IoU)评价人工标注成果和识别结果之间的差异大小,以验证分类模型实际应用效果。精确率描述正确分类的数量与模型识别出的数量占比; 召回率描述正确分类的数量与真实数量的占比; F1指标为精确率和召回率的调和平均数; Kappa系数描述模型预测结果和实际分类结果的一致性; IoU描述正确分类区域与模型识别结果和真实区域交集的比值。

3 结果与分析

3.1 模型分类结果

采用依托贝叶斯优化生成的最优参数组合,利用XGBoost算法对提取的1 000条样本集进行训练,随机抽取70%样本数据作为样本集,30%样本数据作为测试集。经训练后生成BO-XGBoost模型,利用精确率、召回率、F1指标、Kappa系数对样本集进行评价,3展示了BO-XGBoost分类算法分别在训练集和测试集上的表现,其中水体、云、其他植被为背景物,蓝藻为目标物。从表3可以看出,在训练集、测试集上,云类识别精度最高,水体次之,蓝藻精度较低但F1指标仍在98%以上。BO-XGBoost在测试集上各项指标精度均高于96.07%,且测试集、训练集表现相似相差较小,该模型在样本数据训练过程中不存在过拟合和欠拟合的问题。

3   分类模型精度评价

为确定BO-XGBoost分类模型的实际应用情况,利用77日、826日、930日、1030日参与样本集提取的4期影像数据进行蓝藻提取。图5(a)(d)展示了Sentinel-2的标准假彩色影像,5(e)(h)展示了BO-XGBoost的蓝藻分类结果,其中黄色区域为蓝藻区域,5(i)(l)展示了人工判别标注的蓝藻分类结果。对比BO-XGBoost和人工解译蓝藻提取成果可发现,人工目视解译成果的蓝藻空间分布与BO-XGBoost识别结果相似,图中可知4期遥感影像数据蓝藻主要暴发区域为阳澄西湖,2种方法蓝藻区域表征基本一致。在蓝藻聚集程度较低的区域,遥感影像上蓝藻与水体边界不清晰,表征不明显,仅利用真彩色、假彩色、NDVI等指数进行人工解译的方法,蓝藻提取结果受主观因素影响较大,尤其蓝藻边界区域的划分。BO-XGBoost机器学习分类算法具备一定客观性,同时该算法从光谱、纹理、光谱指数多个角度对蓝藻区域进行判别,可有效对蓝藻边界进行区分。

5   2021年参与样本集构建的蓝藻识别成果对比

为更好地表征BO-XGBoost算法与人工解译提取的蓝藻结果的区别,选取826日发生大规模蓝藻聚集区域进行细节对比,如图6所示。从图中可以看出: BO-XGBoost相比于人工解译方法,蓝藻监测区域较大,能够提取出低聚集蓝藻区域; BO-XGBoost算法受岸线混合像元影响,将岸边植被误提取为蓝藻; ③人工解译结果标准不统一,如图6(c)红框范围处蓝藻零星出现,但人为判断过程中将此处标记为蓝藻。

6   826日蓝藻识别成果细节对比

为定量化描述BO-XGBoost分类模型与人工解译成果之间的蓝藻分类差异程度。表4展示了BO-XGBoost分类算法和人工解译提取的蓝藻面积,以及2种方法得到蓝藻区域的IoU计算结果。IoU指标存在一定差异,2种方法得到的蓝藻区域IoU高于41.31%,其中77日最高为55.46%,造成这种差异的主要原因在于: 人工解译进行蓝藻提取过程主要利用NDVI值和人工目视解译方法进行判别,针对不同区域不同情况下NDVI划分阈值,最后再依据人工经验对NDVI划分阈值的结果边界进行修订,最终得到蓝藻提取结果,过程中受人为主观影响因素较大。对比图5的蓝藻成果细节,IoU指标差异主要体现在以下2: ①算法提取结果受岸边混合像元影响,岸边易被误识别为蓝藻,而人工解译结果,在人工审核过程中已经去除岸边的细碎斑点; ②由于人工解译过程,其结果受人为主观因素影响,其边界判定条件不统一,无法客观表征蓝藻提取结果。

4   蓝藻提取面积及IoU评价指标

综上所述,基于贝叶斯优化进行XGBoost模型超参数选取的方法,提取的超参数组合适用于遥感蓝藻分类。同时,基于光谱、指数、灰度共生矩阵为多特征输入,其训练结果,应用Sentinel-2影像数据时,与人工判读结果区域表征基本一致,蓝藻提取结果和其他地物边界区分明显。

3.2 适用性分析

受大气状况、气象条件、传感器硬件等影响,大部分研究人员利用阈值对蓝藻进行提取时所利用的阈值相差甚远[26-28]。为验证BO-XGBoost分类算法在其他时序遥感影像上的适用性,本文将622日、712日、831日、105日未参与样本提取的4期遥感影像数据,分别利用BO-XGBoost和人工解译2种分类方法进行蓝藻提取。

5展示了BO-XGBoost算法和人工解译提取的蓝藻面积和交并比IoU指标。IoU指标在712日最低为43.85%,105日最高为50.22%622日、712BO-XGBoost蓝藻提取面积高于人工解译结果,其余2期面积接近。图7展示了BO-XGBoost算法和人工解译2种方法提取的蓝藻空间分布情况,图中黄色区域为蓝藻分布情况,对比图7(b)(c)可以发现,2种方法提取的蓝藻分布情况基本一致,蓝藻暴发区域主要集中于阳澄西湖沿岸附近。

5   蓝藻提取面积及IoU评价指标

7   2021年未参与样本集构建的蓝藻识别成果对比

4 结论

本文以江苏省苏州市阳澄湖为研究区域,利用Sentinel-2遥感图像数据以及实地踏勘情况对样本进行标注,以遥感数据特有的光谱、指数、纹理等多特征为分类模型输入,结合贝叶斯优化和XGBoost算法构建BO-XGBoost蓝藻提取模型。经实验验证该模型算法对2021年不同月份蓝藻监测具有很好的适用性,蓝藻分类准确度高达96%,实际应用中所提取的蓝藻与人工提取的蓝藻空间分布结果一致性较高,并经长时序影像数据验证该模型泛化能力强,能够适应不同月份的蓝藻提取和分类应用。

本文提出的BO-XGBoost训练模式,可自动确定XGBoost模型最优超参数组合,且该参数组合能够在提升模型精度的同时,避免模型过拟合和欠拟合情况发生。结合遥感影像优势,以光谱、指数、灰度共生矩阵多特征为输入进行模型训练,其蓝藻提别结果与其他地物边界区分明显,蓝藻提取区域与人工解译区域基本一致。表明本文所提方法能够有效对湖泊蓝藻进行自动有效提取。

本文虽然利用贝叶斯优化、XGBoost、多特征进行湖泊蓝藻信息提取,同时验证了在相同区域其他时相遥感影像数据蓝藻信息提取的有效性,但仍存在不足之处在于,该蓝藻识别模型是否可直接应用于其他湖泊进行蓝藻信息提取有待验证; 输入多特征进行模型训练时,光谱、指数、灰度共生矩阵包含的14类特征哪一类特征更能表征蓝藻分布情况,并未进行验证。后续工作将针对其他湖泊区域进行实验以验证模型的泛化能力,另外基于基尼指数、卡方检验等方法对特征重要性进行评价。

(原文有删减)

【作者简介】田晨(1982-),,硕士,主要从事环境水利学方向研究工作。Email: tc1115@126.com

【通讯作者】董世元(1994-),,硕士,主要从事遥感信息提取、机器学习、深度学习等研究工作。Email: dongsyrs@163.com

【】苏州市水利水务科技项目“基于光学与SAR联合观测的湖泊凤眼莲分布自动化提取研究”(2021009)

【】田晨, 张金龙, 金义蓉, 董世元, 王彬, 张乃祥. 一种利用贝叶斯优化的蓝藻遥感分类方法[J]. 自然资源遥感, 2023, 35(1): 49-56.

转自:“测绘学术资讯”微信公众号

如有侵权,请联系本站删除!


  • 万维QQ投稿交流群    招募志愿者

    版权所有 Copyright@2009-2015豫ICP证合字09037080号

     纯自助论文投稿平台    E-mail:eshukan@163.com