基于对象级特征与XGBoost的城市河流提取方法
Urban River Extraction Method Based on Object-Level Features and XGBoost Algorithm
摘要: 为准确提取城市河流信息,本文提出一种基于对象级特征与XGBoost的城市河流提取方法:首先利用NDWI指数对GF-1号影像进行像素级的水体提取;接着将提取结果形成水体对象,并计算对象形状特征,构建样本集;然后对样本进行打标,并利用样本集训练XGBoost算法,通过调整超参数,使XGBoost算法适应实际样本情况;最后,利用训练好的XGBoost算法进行河流对象提取,并进行提取精度分析。实验证明,本方法能减少城市阴影的干扰,并有效区分河流与湖泊,河流提取的准确率达到90.91%。
Abstract: To extract urban river information accurately, this paper proposes an object-level feature and XGBoost-based method for urban river extraction. The methodology comprises the following steps: first, the NDWI index is applied to GF-1 imagery for pixel-level water extraction; subsequently, the extraction results are formed into water body objects, with object shape features calculated to construct a sample set; then, the samples are labeled and used to train the XGBoost algorithm, where hyperparameter tuning is performed to adapt the algorithm to the actual sample characteristics; finally, the trained XGBoost algorithm is employed for river object extraction. Experimental results demonstrate that this method effectively minimizes interference from urban shadows, and successfully distinguishes rivers from lakes, achieving a river extraction accuracy of 90.91%.
文章引用:李珏, 马幪浩, 熊利洪, 刘迪. 基于对象级特征与XGBoost的城市河流提取方法[J]. 水资源研究, 2025, 14(5): 524-531. https://doi.org/10.12677/jwrr.2025.145057

1. 引言

随着城市化进程的加速,城市河流作为城市生态系统的重要组成部分,对城市的气候调节、水源涵养以及居民的生活质量都有着深远的影响。准确地提取城市河流信息,对于城市规划、水资源管理以及生态环境保护等工作至关重要。

在传统方法中,常用的水体信息提取方法可以分为光谱指数法和影像分割法两大类[1]。其中光谱指数法较为具有代表性的有NDWI [2]、MNDWI [3]等指数,该方法分类速度快,适合进行大范围的水体特征提取,然而如何自适应选取阈值是利用光谱进行水体提取的一个难点,尤其是在高分辨率影像中,错分和误分现象大量存在。影像分割法主要包括基于聚类的、基于区域的和基于特征的影像分割方法。近年来,随着机器学习算法在遥感图像处理领域的广泛应用,水体信息提取领域有了新的发展。吴辉杰提出了基于决策树的浙江省河流水系遥感信息提取方法[4],能减少阴影对水体提取的影响;刘扬洋提出了基于模糊聚类的遥感图像河流区域提取方法[5],解决物类型复杂,边缘轮廓模糊情况下的噪声影响。但这些研究大多关注停留在像素级的水体提取与地物分类上,更关注水体像素本身是否被正确提取出来。

随着遥感影像分辨率的提升,水体提取边界更为准确,但由于影像细节更为丰富,尤其是在城市地区,提取结果中往往存在更多噪声,对提取结果的应用造成了更多的挑战。因此,众多学者开始研究对象级的水体提取,一方面致力于将误提取的噪声剔除,另一方面,还能对提取出的水体对象进行进一步的分类,服务于特定的行业需求。Huang等提出了一种新的像素–对象两级机器学习框架[6],先基于像素提取水体,再基于几何和纹理特征,使用决策树、随机森林等机器学习方法对水体类型进行分类,实现了对复杂城市地区水体的高精度提取和分类。Li等基于随机森林分类器的分类方法[7],将水体分为了河流、水库、湖泊、农业池塘、季节性湿地和稻田。李梦云提出了基于形状与水体淹没频率特征的地表水体分类方法[8],利用随机森林树作为对象级分类器,实现了研究区内10米空间分辨率的地表水体类型的精细化识别。上述方法基本采用了随机森林进行分类,其在抗过拟合、可解释性、效率上都具有较强优越性。然而在城市河流提取中,由于建筑、阴影的干扰,大量的提取对象都是小面积噪声,小部分的是水体;而在水体对象中,还广泛包括湖泊、水库、水池等其他水体对象,河流的对象的数量也占比较小,样本类别极度不平衡。XGBoost [9]在在处理样本不平衡方面,比随机森林更具优势,因此,本文提出基于对象级特征与XGBoost的城市河流提取方法,利用高分辨率影像,开展水体提取,根据河流的形状特点,构造水体对象样本空间构建,输入XGBoost算法进行训练,从而消除噪声,并从水体这个大类别中,将河流水体提取出来。

2. 算法原理

2.1. 总体思路

本文综合采用光谱特征和形状特征对遥感影像进行分割,提取河流水体。首先进行水体像素级特征提取,利用NDWI指数提取水体,并对提取结果进行后处理,去除城市河流水体中的船舶对水体形状造成的影响;接着将提取结果形成水体对象,再根据河流水体形状与湖泊、池塘等水体,以及建筑阴影等误提取对象的形状差异,形成水体对象级的形状特征;接着将提取出的水体对象作为样本集,对水体对象进行打标,并将各样本计算形成的特征作为特征空间,投入XGBoost算法进行训练;最后利用训练后的算法,实现水体的二次分类,完成河流水体的提取。具体思路见图1

1. 水体提取XGBoost算法构建总体思路

2.2. 水体像素级特征提取

1) NDWI指数水体提取

采用NDWI指数进行水体提取,其计算公式如式(1),其中 ρ( NIR ) 为近红外波段灰度值, ρ( Red ) 为红波段灰度值, ρ( Green ) 为绿波段灰度值。

NDWI= ρ( Green )ρ( NIR ) ρ( Green )+ρ( NIR ) (1)

NDWI指数提取难以避免误提取和漏提取现象,为保证水体尽可能完整地保留,采用经验阈值进行分割,使分割结果将较多地完整保留水体部分。

2) 图像后处理

为减少河流中船只对河流多边形特征的计算,对所有水体对象进行填洞接后处理。根据目前长江干流过闸的主要船舶尺寸[10]估算,船舶大小一般小于2119平方米,为尽可能消除水体内船舶形成的洞对水体形状特征计算造成的影响,将3000平方米以下的水体中的洞进行填补,能覆盖我国城市主流的船舶大小。

2.3. 水体对象级特征提取

提取出的水体对象包括河流、湖泊、城市水渠,以及其他误提取的地物,其形状特征具有明显差异。如河流水体与湖泊水体相比,河流水体呈现明显的线状地物特征,和湖泊水体则普遍呈现面状地物特征;城市水渠相比,河流走势相对蜿蜒,城市水渠则一般会根据城市规划,相对平直;与水池以及阴影、建筑等噪声相比,水池、阴影、建筑等,一般面积较小,相对聚集。为将河流水体与其他水体、误提取地物进行进一步分割,结合上述形状上的区别,构造水体对象级形状特征,量化水体对象形状的差异。

在提取出的水体对象基础上,获取最小外接矩形和最小外接圆,见图2,计算出水体对象的面积( A )、边界长( BL ),最小外接矩形的面积( A br )、周长( B L br )、长度( L br )、宽度( W br ),以及最小外接圆的半径( r )。

(a) 水体多边形与最小外接矩形 (b) 水体多边形与最小外接圆

2. 特征多边形提取结果

进一步利用各参数之间的组合关系,综合反应对象的形状特点、边界平滑度、线条蜿蜒水平、面积大小等。本文参考常用形状指数[8],采用如下8个特征,见表1

1. 形状指数

特征名称

计算公式

特征计算描述

面积(Area)

A=n×u

表示区域中包含的像素数乘以单个像素的面积。

边界长度(Border Length)

BL= b 0 + b i

表示几何图形的周长,如果几何图形包含多个其他几何图形,则边界长度为所有几何图形的周长之和。

形状指数(Shape index)

SI= BL/ A

表示几何图形的边界长度除以其面积的平方根。

边界指数(Boundary index)

BI= BL/ B L br

表示对象的边界长度与最小外接矩形之间的比值,描述影像对象的锯齿状况。

密度(Density)

D=A/r

表示对象面积除以最小外接圆半径。

紧致度(Compactness)

Com= A br /A

表示对象最小外接矩形面积除以对象面积。

长宽比(Length/Width)

R= L br / W br

表示最小外接矩形长度与宽度的比值。

面积归一化(Normalization)

A norm = A A min A max A min

表示对象面积减去最小对象面积的差,除以做大对象面积减去最小对象面积的差。

2.4. XGBoost算法构建

极限梯度提升(Extreme Gradient Boosting, XGBoost)算法[9]是由Chen等在梯度提升决策树(Gradient Boosting Decision Tree, GBDT)的基础之上提出的一种集成学习模型,其主要思路为每一步都添加一个新的决策树,用以计算前一轮模型的预测结果与真实值之间的残差,从而不断减小模型的预测误差[11]。XGBoost在传统的梯度提升算法基础上进行了目标函数的正则化处理、更高效的树结构学习算法以及对稀疏数据的处理等方面改进,使其在模型的准确性、效率和可扩展性方面显著提升。

XGBoost的目标函数如下:

Ojb = i=1 n l( y i , y ^ i ) + k=1 K Ω( f k ) (2)

其中 l( y i , y ^ i ) 是损失函数,衡量预测值和真实值之间的差异; Ω( f k ) 是正则化项,用于控制模型的复杂度,防止过拟合。

y ^ i t = y ^ i ( t1 ) + f t ( x i ) (3)

y ^ i ( t1 ) 是前t−1轮迭代模型对第i个样本的预测值, f t ( x i ) 是第t轮新添加的决策树对第i个样本的预测值。

Ω( f )=γT+ 1 2 λ ω 2 (4)

其中, T 是决策树叶子节点的数量, γ 是正则化参数,用于控制树的叶子节点数量,防止过拟合; λ 是正则化参数,用于约束叶子节点权重的大小, ω 是叶子节点的权重向量。

对目标函数进行泰勒展开近似,并求取最优权重,可获得目标函数为:

Ob j ( t ) = 1 2 j=1 T ( i I j g i ) 2 i I j h i +λ +γT (5)

其中, g i 是损失函数在第t − 1轮模型预测值处的一阶导数, h i 是损失函数在第t − 1轮模型预测值处的二阶导数, I j 表示被分配到第j个叶子节点的样本集合。

在构建决策树时,XGBoost算法通过计算一阶导数 g 和二阶导数 h ,并构造增益Gain来评估分裂节点的好坏:

Gain= 1 2 [ ( g L ) 2 h L +λ + ( g R ) 2 h R +λ + ( g ) 2 h +λ ]γ (6)

其中, g L h L 是左子节点的一阶导数和二阶导数, g R h R 是右子节点的一阶导数和二阶导数。

XGBoost算法提供了一套可调整的超参数,并设置了相对通用的默认值,使其在多数数据集上能获得较为平衡的基线性能,确保模型能够正常训练且不易严重过拟合。但本文中,针对河流对象样本和非河流对象样本数量极不平衡的情况,需对超参数进行调整,从而提高模型性能,处理类别不平衡问题,并增强训练稳定性,使其更适合城市河流对象提取的情况。

在精度评定方面,由于样本类别不均衡,往往容易出现总体上表现较好,但是少数类上表现较差的情况。本文中,河流样本为少数类,但正好是精度关注的重点,因此利用以下指标开展算法的精度分析,更能反映河流提取的精度:

1) 精确率(Precision):衡量预测为河流对象的准确性;

2) 召回率(Recall):衡量河流对象被正确识别的比例;

3) F1分数:精确率和召回率的调和平均数;

4) ROC-AUC分数:评估模型在不同阈值下的整体性能;

5) Kappa系数:模型分类结果和实际分类的一致性指标。

3. 实验与分析

3.1. 实验过程

为进一步验证算法在城市水体提取问题上的功能和性能,开展以下实验。实验的研究区域为武汉地区:该区域建筑和森林阴影与水体交错分布,同时道路桥梁对河流的截断、湖泊水库对河流分类的干扰也将会影响河流提取的效率,具有典型的城市水体特点;实验影像选择高分一号8米分辨率影像:一方面,其波段和分辨率设计具有代表性,能代表国产主流的高分辨率影像;另一方面,国产高分一号影像数据来源稳定可靠,配套文件齐全,数据质量高,可以较快完成预处理等工作。

按照算法开展过程,首先利用NDWI指数对图像的像素级特征进行提取与分割,使用经验阈值0.2分割影像,获得15,492个水体多边形,形成水体对象;以水体对象为基础,开展对象级特征的计算与提取,得到由面积( A )、边界长( BL ),最小外接矩形的面积( A br )、周长( B L br )、长度( L br )、宽度( W br )、最小外接圆的半径( r )组成的水体对象样本集,并全部进行打标,河流对象标记为1,非河流对象标记为0,形成112个河流样本和15,382个非河流样本;在样本集中,随机选取40%的河流样本和40%的非河流样本形成训练集,其余样本集数据形成测试集,开展XGBoost分类器训练,通过调整超参数优化分类器,取值情况如表2所示。

2. 超参数取值

超参数名称

含义

取值

取值原因

objective

学习任务类型

binary:logistic

区分河流对象和非河流对象,采用二分类逻辑回归

n_estimators

决策树的数量(提升轮数)

200

增加树的数量以提高模型表达能力,同时配合降低的learning_rate避免过拟合

learning_rate

学习率/收缩步长

0.05

降低学习率使模型训练更稳定,有助于提高泛化能力

max_depth

树的最大深度

5

适度减小树深度防止过拟合,同时保留足够的模型复杂度

min_child_weight

叶子节点所需的最小样本权重和

2

增加最小叶子节点样本权重和,防止在小样本节点上过拟合

gamma

分裂所需的最小损失减少

0.1

设置分裂最小损失减少阈值,控制模型复杂度

subsample

训练样本采样比例

0.8

使用部分样本进行训练,增加随机性防止过拟合

colsample_bytree

特征采样比例

0.8

使用部分特征进行训练,增强模型多样性

scale_pos_weight

正类权重,用于不平衡数据

ratio_of_negative_to_positive**0.3

非河流样本与河流样本的数量比的0.3次方,动态计算的类别权重比

reg_alpha

L1正则化项权重

0.01

添加轻微L1正则化,帮助特征选择

eg_lambda

L2正则化项权重

0.5

调整L2正则化强度,控制模型复杂度

eval_metric

评估指标列表

logloss, error, aucpr

增加aucpr指标,更适合评估类别不平衡场景

最后,利用精确率(Precision)、召回率(Recall)、F1分数、ROC-AUC分数、Kappa指数对XGBoost算法的分类结果进行精度分析。

3.2. 实验结果

图3(a)影像为研究区域的近红外假彩色影像;使用NDWI指数对影像进行像素级水体提取,结果如图3(b)影像所示,水体基本能完整的提取出来,城市建筑和阴影也大量被当成了水体,其面积普遍较小,数量极大。计算水体对象的8个对象级特征,并带入XGBoost算法开展训练与分类,得到河流分类如图3(c)所示,其中蓝色为提取出的河流,黄色为噪声与湖泊。图4可见,建筑、阴影普遍形状面积较小、边界情况复杂、紧致度较高,本方法能有效将其与水体区分开;图5可见,湖泊形状通常形状面积较大,但是长宽比较小、紧致度较高、形状指数较小,也能表现出和河流多边形具有较大差异的特征。总体上,本方法能较好地将河流水体与其他水体、城市建筑和阴影等造成区分开来。

(a) 原始影像 (b) NDWI提取结果 (c) 本方法分类结果

3. 实验区域算法运行总体情况

(a) 原始影像 (b) NDWI提取结果 (c) 本方法分类结果

4. 河流及建筑、阴影提取结果细节对比

(a) 原始影像 (b) NDWI提取结果 (c) 本方法分类结果

5. 河流、湖泊提取结果细节对比

3.3. 精度分析

进一步利用精确率(Precision)、召回率(Recall)、F1分数、ROC-AUC分数、Kappa指数验证XGBoost算法的分类结果,具体结果见表3

3. 精度分析表

指标

指标值(%)

精确率(Precision)

92.59

召回率(Recall)

89.29

F1分数

90.91

ROC-AUC分数

99.94

Kappa指数

90.84

从精度指标可见,被分类为河流的对象中,92.59%实际确实是河流,所有实际的河流对象中,89.29%被正确分类出来,综合的调和平均数精度为90.91%,ROC-AUC分数和Kappa指数则分别达到99.94%和90.84%,因此利用本模型进行河流对象提取,总体精度达到90.91%。

4. 结论

本方法在利用NDWI指数对GF-1号影像进行像素级水体的基础上,对提取的水体对象计算对象级形状特征,并构造XGBoost算法的训练集与测试集,最后训练XGBoost算法,并进行河流提取。结果表明,本方法充分考虑了河流的光谱特征和形状特征,能有效消除建筑、阴影对水体提取的干扰,实现河流与其他水体的区分;考虑到河流对象样本和非河流样本不均衡的问题,通过对XGBoost算法超参数的调整,能有效提高河流提取精度,总体精度为90.91%。后续需要进一步总结形状特征指数,针对桥梁影响、形状蜿蜒且复杂的河流进行进一步的研究。

NOTES

作者简介:李珏(1992-),女,硕士,工程师,研究方向:水利遥感。Email: 616482420@qq.com

参考文献

[1] 蔡阳, 孟令奎, 成建国, 等. 卫星遥感水利监测模型及其应用[M]. 北京: 科学出版社, 2018.
[2] MCFEETERS, S. K. The use of the Normalized Difference Water Index (NDWI) in the delineation of open water features. International Journal of Remote Sensing, 1996, 17(7): 1425-1432. [Google Scholar] [CrossRef
[3] 徐涵秋. 利用改进的归一化差异水体指数(MNDWI)提取水体信息的研究[J]. 遥感学报, 2005(5): 590-595.
[4] 吴辉杰, 程春梅. 基于决策树的浙江省河流水系遥感信息提取研究[J]. 黑龙江科学, 2024, 15(14): 49-51.
[5] 刘扬洋. 基于模糊聚类的遥感图像河流区域提取方法研究[D]: [硕士学位论文]. 兰州: 兰州交通大学, 2024.
[6] HUANG, X., XIE, C., FANG, X., et al. Combining pixel-and object-based machine learning for identification of water-body types from urban high-resolution remote-sensing imagery. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2015, 8(5): 2097-2110. [Google Scholar] [CrossRef
[7] LI, Y., NIU, Z. G. Systematic method for mapping fine-resolution water cover types in China based on time series Sentinel-1 and 2 images. International Journal of Applied Earth Observations and Geoinformation, 2022, 106: 102656.[CrossRef
[8] 李梦云. 复杂地理环境下的地表水体精细化分类方法研究——以长江中游城市群为例[D]: [硕士学位论文]. 昆明: 云南师范大学, 2023.
[9] CHEN, T., GUESTRIN, C. XGBoost: A scalable tree boosting system. In Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining. New York: ACM, 2016: 785-794.[CrossRef
[10] 国家市场监督管理总局, 中国国家标准化管理委员会. GB 38030.1-2019内河过闸运输船舶标准船型主尺度系列 第1部分: 长江水系[S]. 北京: 中国标准出版社, 2019.
[11] 范霄, 孔金玲, 钟炎伶, 等. 基于XGBoost算法的遥感图像云检测[J]. 遥感技术与应用, 2023, 38(1): 156-162.