时间:2024-07-28
冯东东,张志华,石浩月
(1.兰州交通大学测绘与地理信息学院,兰州 730070;2.地理国情监测技术应用国家地方联合工程研究中心,兰州 730070;3.甘肃省地理国情监测工程实验室,兰州 730070)
改造城中村不但能够保证村内居民生产生活需要,而且可有效集约土地,提升城市美观性与协调性[1]。目前有关城中村的研究主要集中在理论和政策层面,易受时空因素制约,缺少数据支撑及定量分析。因此如何从城市结构中精细提取出城中村区域,逐渐成为学者们研究的热点。
近年来有学者提出利用遥感影像提取城中村,例如刘辉[1]基于深度神经网络模型和场景语义描述的方法,以深圳和武汉为例提取城中村;Boutell等[2]将地物场景分割为一定数量的子块,然后计算每个子块的光谱特征,最后根据子块特征,使用支持向量机算法实现地物的分类。此外,还有学者提出基于面向对象的城中村提取方法,例如尚春艳[3]利用传统的面向对象法对研究区的城中村土地利用进行检测,并提取变化信息;Li等[4]利用高分辨率影像,以非监督深度学习为基础,建立了多种分割模型,对深圳市城中村进行提取。然而,由于城中村内房屋建筑复杂,特征不一,常用的分割算法难以准确分割出城中村与相邻地物对象,因此面向像元和对象的提取方法难以有效应用于城中村提取。
鉴于此,本文结合多元空间数据,利用遥感影像提取技术与地理信息系统(geographic information system,GIS)空间分析技术相结合的方法对城中村进行提取;并通过对广州市主城区的城中村进行定量空间分析,总结出城中村的分布特征,从而为解决城中村改造等问题提供数据支撑和方法参考。
广州市位于广东省中南部,濒临南海,是国家首批沿海开放城市,属珠三角地区和粤港澳大湾区经济中心,截至2019年,广州市人口总数约1 531万人,城镇化率接近90%[5]。选取广州市的4个中心城区(天河区、越秀区、荔湾区和海珠区)作为研究区域,其在广州市的地理位置如图1所示。本项研究数据源主要有:①广州市高分一号卫星影像数据;②道路网数据,由开源地图OpenStreetMap (OSM)提供;③建筑物轮廓数据,研究区共计101 453栋建筑物轮廓面数据,其中包含建筑物矢量边界信息及楼层高度和面积属性信息;④兴趣点(point of interest,POI)数据,研究区共计545 812个点数据,共3大类,18种具体类型。
图1 研究区概况Fig.1 Overview of the research area
本文从提取研究区城中村的角度出发,结合了互联网POI数据、高分辨率遥感影像数据以及建筑物轮廓数据等,实现对研究区城中村提取。首先对原始数据进行空间分析和处理,构造出城中村地块特征属性,然后对包含特征属性的城中村地块数据进行分类,得到提取结果。本文实验的主要实验流程如图2所示。
图2 实验流程图Fig.2 Experimental flow chart
深度学习是指利用分层迭代算法的思想,让计算机对输入的各种形式的文件、图案等内容进行自动的归纳识别[6]。ENVI Deep Learning是基于TensorFlow模型构建的,TensorFlow是一个开源框架,ENVI使用它来执行深度学习任务[7]。利用深度学习提取城中村的步骤如下:
1)影像预处理。主要包括影像的辐射定标、大气校正、几何纠正及波段融合等过程。
2)创建标签图像。通过裁剪影像子集,绘制标签数据,并使用模块工具生成标签图像(label raster)。标签数据需要选择具有代表性的典型区域进行样本采集。
3)训练模型。利用感兴趣区和标签图像初始化一个新的模型,并在模块中设置训练参数,对模型进行训练。
4)执行分类。使用模块提供的工具对图像进行分类,该工具会生成一幅类激活图像(class activation map,CAM)。CAM是一个灰度图像,其像元值表示属于提取目标的概率。对CAM图像进行分类后处理,可直观表示出城中村提取结果。
由于单方面利用遥感影像提取出的城中村信息存在与老城区、工业厂房等混淆的问题,因此需要进一步的精细提取。城中村其明显的特征为房屋不高且密集,本文通过统计建筑物高度面积等属性信息,再结合高分辨率遥感影像的光谱特征,以及各类POI核密度属性实现对城中村信息的提取。
以详尽的道路网络划分出的区域作为城中村基本地块单元,根据地块单元的矢量图斑,分割研究区高分辨率影像,计算每个地块单元中影像各波段的均值及亮度值,融合建筑物、POI等空间信息构建地块单元特征集合。详细步骤如下:
1)在eCognition中对高分一号影像进行分割,通过计算得到研究区地块单元的光谱属性信息,存入对应的地块单元矢量图斑下[8]。实现以地块图斑为基本单元,将影像分割成地块影像单元集合,并为每个影像单元赋予唯一的编号ID,便于索引。
2)原始建筑物轮廓数据包含楼层高度信息,利用ArcGIS计算出建筑物面积值,再将地块单元矢量数据与建筑物数据进行空间关联,从而统计出每个地块单元内建筑物的高度、面积等属性信息[9]。通过计算每个地块单元内建筑物的平均高度、高度标准差、建筑物面积总和以及平均建筑面积信息,作为建筑物属性值。
3)使用ArcGIS核密度分析工具,计算每个输出栅格像元周围邻域内输入POI点的密度[10-11],这在一定程度上可反映城中村与非城中村地区的POI差异性。其中核密度分析中关键参数搜索半径SR的计算方法如式(1)所示:
(1)
式中:SD为要素之间的标准距离;Dm为要素之间的中值距离;n为没有使用 population 字段的点数,如果提供population字段,则n是population字段值的总和,其中,population字段是指在核密度分析过程中,计算目标位置时的样本个数。
结合研究区城市POI类型及特点,选取不同的核密度参数得到实验结果,其中住宅用地POI核密度搜索半径(带宽)值设为1 500 m,公共服务用地POI核密度搜索半径值为3 000 m,而商业服务用地2 000 m。得到各类POI的核密度栅格图后,利用ArcGIS的分区统计工具和属性表连接功能,将各类POI的核密度栅格值连接到之前的地块单元矢量数据中。可在ArcGIS中查看构建的研究区地块单元矢量图斑属性表,其中包含地块ID、地块类别、地块光谱特征属性、建筑物特征属性及各类POI特征属性。
统计标签数据中每个对象的光谱信息、建筑物属性信息以及各类POI核密度属性后,即完成研究区带有特征城中村标签数据的构建,构建的特征类型如表1所示[12]。
表1 构建的地块单元特征Tab.1 Features of constructed land units
支持向量机(support vector machine,SVM)是一种对已知样本的特点进行学习,从而预测未知样本类别的机器学习方法,通常用于数据的二分类问题。利用SVM分类算法进行城中村的精细分类,为了使分类面能将训练样本无误地分类且具有最大的分类间隔,训练样本还需要满足[13-14]:
yi[(w·xi)+b]-1≥0,
(2)
式中:i为样本集序号;x,y和b均为列向量;w为支持向量对应的样本点到决策面的距离向量。
(3)
为了便于求解,构造出Lagrange函数,即
(4)
式中:i为样本集下标,i=1,2,…,l;ai为Lagrange系数,对w和b求偏微分得:
(5)
(6)
将式(2),(5)和(6)作为约束条件,就将原始问题转成求解二次规划时的对偶性问题,可得出:
(7)
(8)
式(7)是一个二次函数,在式(8)约束下存在唯一最优解。若ai*为最优解,且b*可由约束条件式(2)求得,b*为最优解下向量b的取值。求解公式得最优分类函数为:
(9)
本文选取天河区为样本集,首先绘制城中村标签数据[15],共105个及背景地物321个,共计样本总数426个,其中包含输入图像的原始波段和掩模波段,掩模波段中DN值为1的像元代表目标,0代表背景。然后利用感兴趣区和标签图像初始化一个新模型,在Train TensorFlow Mask Model中设置训练参数,经多次试验,选取参数模型如下:PatchSize值为316,Epochs值为20,ClassWeight值为0~2,LossWeight值为1,SolidDistance值为1,BlurDistance值为0~2。最后使用训练模型对影像分类,其结果会产生一幅CAM图像,该灰度图像的像元值表示属于提取目标的概率,图像中高亮显示部分即与目标特征的匹配度较高,如图3所示。对CAM图像进行密度分割,使其按照不同颜色进行显示,如图4所示。
图3 CAM类激活图Fig.3 CAM class activation diagram
图4 城中村提取结果Fig.4 Extraction results from urban villages
初步提取到的图像存在图斑小且边缘锯齿明显的现象,需使用Sieve Classes与Clump Classes工具对图像进行过滤和聚合[16],将处理后的结果叠加到影像图上,截取部分影像如图5所示。
图5 分类后处理的城中村矢量Fig.5 Urban village vector after classification processing
ENVI Deep Learning精度可用以下4个指标来表示:Loss为训练损失,用于表示模型与验证训练数据的匹配程度;Precision为用户精度,表示正确分类的像元数占该类别像元数的比例;Recall为生产者精度,表示正确分类的像元数占该类别实际像元数的比例;F1为模型精度系数,是Precision和Recall的调和平均值,计算方法为[17-18]:
(10)
精度高低可通过Loss和F1的值来评价,在ENVI深度学习模块下查看训练模型精度参数,绘制精度参数折线图,如图6所示。
图6 深度学习模型精度参数Fig.6 Precision parameters of deep learning model
通过图6可知,随迭代次数增加,模型的损失值Loss降低,精度F1值上升,表明深度学习工具可以较好地训练提取模型,实现对城中村的提取,共计识别出城中村423个,发现有272个被正确识别,正确识别率为64.31%。
原始的OSM数据存在缺失与拓扑错误,需进行后处理;然后将道路网络数据转化为面状图斑,最终得到6 718个地块单元,如图7所示。
图7 研究区地块单元矢量图斑Fig.7 Plot unit vector pattern spot in the study area
在棋盘分割算法的基础上,对地块单元矢量图斑添加图层,将研究区的高分影像进行分割[19],影像局部分割结果如图8所示。
图8 影像基于矢量分割结果Fig.8 Image segmentation is based on vector segmentation results
将分割出的矢量图层与上文利用ENVI Deep Learning提取出的轮廓信息进行叠加,并为各地块对象添加城中村与非城中村的属性值,最后进行修正统计,制作一份完整的标签数据。
利用机器学习软件包LIBSVM[20]分类器完成地块单元数据集的分类,通过自定义选取数据集中的特征向量,对光谱特征、建筑物特征和POI特征进行不同的组合叠加[21-22],得出LIBSVM分类器在选取不同特征向量时的城中村分类精度(表2)。
表2 选择不同特征属性的分类精度Tab.2 Select the classification accuracy of different feature attributes
由表2可知,使用LIBSVM分类器区分城中村与非城中村地块,仅利用影像的光谱特征,难以达到较好分类效果,融合POI特征和建筑物特征后,可以取得较好的分类效果。将结果映射到地块单元矢量文件的属性表中,得到如图9所示的识别结果,图中共计识别出城中村地块455个,根据统计结果,发现有401个城中村被正确识别,分类精度高达90.19%。图10为部分识别结果叠加Google Earth影像。
图9 城中村识别结果Fig.9 Urban village identification results
图10 在Google Earth上显示识别结果Fig.10 Display the recognition results in Google Earth
城中村的错分对象主要为老旧居民区和工业区。三者之间共同特征为绿化率低、楼层较矮,当单个面积较小的建筑物所占该地块总比例较高时,三者在影像上表现出的特征极为相似,所以LIBSVM分类器很容易误判。
海珠区中城中村数量最多、密度最大;其次是天河区、荔湾区;最后是越秀区,越秀区为中心商业区,城中村改造完成度高;整体而言,研究区城中村分布较为分散,分布在整个城市区域中。
针对目前城中村研究缺少数据支撑和定量分析等问题,将遥感影像提取技术与GIS空间分析技术相结合,提出基于深度学习工具提取城中村和基于多元空间数据识别城中村地块的方法。实验结果表明,利用深度学习工具,能够较好地提取出城中村边界信息。基于路网分割高分辨率遥感影像,结合机器学习分类方法识别城市不同地块单元,对城中村可精细提取,分类精度高达90%。
本文基于多元数据对城中村提取进行了研究,但提取结果仍存在一定的偏差,进一步研究的问题主要包括:
1)在融合多元空间数据辅助提取城中村时,可考虑添加Sentinel卫星数据,表示出地物的空间高度信息,用于区分城中村建筑和平整的运动场等地物。
2)因训练模型耗时较长,且模型训中存在一定的随机性,对于高分辨率遥感影像复杂的地物环境,提取结果仍存在与老旧居民区、工业区混合现象,可考虑进一步优化模型参数,提升提取效率及精度。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!