佘佐明,申勇智,宋剑虹,向玉瑨
(贵阳市测绘院,贵州 贵阳 550000)
遥感卫星数据及分析解译初级成果在自然资源部门及其他相关业务领域中需求逐渐加大,在住房建设、矿业监管、水土保持、生态修复、疫情防控等方面的应用十分广泛。笔者所在单位自2021年11月,在卫星遥感解译分析中开展了多个方面的研究与探索,包括地表矿区状态信息发现、地表自然资源要素的变化监测、城市“热岛效应”,以及道路与水系等现状要素的自动、半自动化提取等多个方面,通过解译实现地表特征精细化量测及三维地物模型重建,更高效地掌握市区范围的地表信息情况,建立解译成果综合数据库,为下一步做好城市建设提供基础数据支撑,为多类要素的快速查询与分析提供科学依据。本文在道路要素自动化解译过程中,利用机器学习、深度学习等人工智能技术,自动与半自动化提取地理实体、地理场景数据,并对数据进行优化处理,结合交通流数据完善道路等级属性,实现地理实体的多粒度、多模态智能高效提取。
针对高分辨率遥感影像,人工解译道路提取方法费时费力的问题,近几年,利用深度学习提取地表各种矢量要素的方法大大提高了道路获取和更新的效率[1],其中卷积神经网络方法是最为热门的。但方法中各个环节的模型参数具有较大的可变性,对于不同分辨率、不同矢量要素、不同地表纹理特征,这种参数的模型和参数具有一定的范围适应性,通常为输入源感知的网络训练模型[2-3]。通过建立贵阳市区域有代表性的影像道路样本集,确定深度学习模型且通过模型学习获得参数。
数据源样本包括两个影像集。一个为影像道路集,命名为GY_RoadSample,原始图像分辨率为0.8 m,拍摄区域为贵阳市观山湖公园周边约10 km2范围,采集时间为2021年11月,拼接后的影像尺寸较大。因大尺寸的训练图像在进行训练时对硬件性能的要求较高,训练耗时也将更长。因此在实践中制作了标准尺寸的影像,将图像切分成边长为64×64、128×128、256×256、512×512、1024×1024像素等大小的图像,作为训练对象,每个训练图像标注时,将道路覆盖的像素赋值为255,剩余区域赋值为0,通过这种方法制成了道路训练Label集合[4-5]。考虑到多个试验的验证效率,试验中使用了2173张训练图像和163张验证图像。另一个为一部分非正方形的影像道路集,命名为GY_RoadSet,单个文件原始尺寸为1900×2300像素,由709张训练图像和16张验证图像组成。为了防止在训练过程中模型对某个特定区域的特征形成小范围的适应性聚集的情况,所有原始图像和标签图像均以随机顺序的方式排列,以降低试验中有序样本产生的影响[6]。
参考文献[7—9]影像道路提取,在借鉴经典的卷积神经网络(convolutional neural network,CNN)结构的基础上设计了适用于贵阳市区域道路的识别模型。总体思路如图1所示,在构建过程中,主要考虑池化方式的确定、激活函数对比、网络深度优化和输入尺寸选取4个方面的结果输出、对比分析与参数调整。将之前建立的样本数据集作为不同的数据源基础,针对以上4个方面分别进行试验验证,根据各次试验的最优结果选择合理的运算模型,并进行参数集范围的缩小与确定,最终形成适用于贵阳市区域的道路识别模型。试验采取识别到单条道路即为该道路识别成功(不考虑形状匹配)的判断方式。
图1 深度学习道路提取模型的分解过程
(1)池化方式的确定。在CNN中,池化的目标是降低特征的维度,且提取具有重要语义信息的特征。常用的典型池化方式有最大池化法和平均池化法。最大池化会忽视信息较少的特征,提取具有重点信息的特征作为输出,从而达到关注重点特征的目的。当特征图中的信息都比较重要时,平均池化能较平均地提取特征图中的信息,较好地保留图像的背景信息。由于道路形状大都由线状、面状要素构成,与其他线状要素相比,粗细宽度较均匀,在不考虑背景干扰的情况下,只提取线条特征,即值最大的像素点能代表临近的特征,在训练样本GY_RoadSample网络算法时采用最大池化进行特征提取。
(2)激活函数的选择。深度学习模型结构中,神经网络模型的任意两层神经元之间通常存在一个激活函数,将线性输入转换为非线性输入,使神经网络逐步逼近非线性函数,从而拥有更强的特征表示能力。激活函数主要包含Sigmoid、Tanh、ReLU、LeakyReLU、RReLU、PReLU和ELU等。
在传统的试验中,大多采用应用广泛的ReLU函数为激活函数。本文为了寻求最适合于贵阳道路网识别网络的激活函数,综合考虑准确率与计算量建立试验,将各个激活函数分别应用于神经网络中,卷积层数量设为16,数据集采用GY_RoadSample,挑选10个大类和113个小类的数据源输入,将各次试验获得的分类准确率对比,结果见表1。对于采取的数据范围,使用上述激活函数所得到的分类准确率均较高且差异较小,综合评价最高的为LeakyReLU函数。
表1 激活函数对比试验结果
最终获得的激活函数准确率如图2所示。图中粉色与绿色的曲线分别代表LeakyReLU和ReLU激活函数,在测试过程中均获得了非常高的分类准确率,且表现最稳定。综合考虑推理时间和准确率,试验将主要以LeakyReLU作为道路识别网络的激活函数。
图2 不同激活函数分类准确率对比
(3)网络深度的选择。针对道路识别中CNN网络的识别结果与最优结果相差微小,考虑可能是由于层数少或经典CNN网络模型规模较小的原因[10]。因此,为探究网络深度对道路网络识别产生的影响,在隐藏层中,分别采用卷积层不同的网络层数进行试验。以按每次9层的方式递增设定网络深度,分别为16、25、34、43及52层。试验采用的数据集为GY_RoadSample,采用留出法对训练集、测试集和验证集的数量进行分配,比例为6∶2∶2,将划分好的数据输入到16、25、34、43及52层卷积层神经网络中,将各次训练的样本批量数目Batchsize(单包大小)设置为16,结果见表2。可知,参与试验的各种深度卷积神经网络差距较小,均获得了较好的识别效果,分类准确率均达99%以上,层数为16层时模型结果最优,在25个训练周期时,分类准确率达99.73%。
表2 网络深度对比实验结果
如图3所示,黑色曲线为16层时模型精度最高,结果表明,针对道路网络的识别并不是网络越深越好,随着层数的增加,无论在测试集上还是验证集上,分类准确率均存在下降的现象,反而卷积层数为16、25前后的神经网络设计比较适合。
图3 不同深度卷积神经网络分类准确率对比
(4)输入尺寸的选择。将GY_RoadSample数据集按样本数量随机划分为两组:第1组数据的每个类别包含1000个样本,地域无序排列;第2组数据的每个类别包含2000个样本,地域无序排列。为了探讨数据样本数量及数据输入尺寸对识别的影响,考虑设置32×32、64×64、128×128、256×256、512×512和1024×1024像素的几种输入尺寸。其中,256×256和512×512代表最接近真实原始数据样本的分辨率。
采用的模型为15层的卷积神经网络,数据集为GY_RoadSet,按6∶2∶2的比例将数据集划分为训练集、验证集和测试集,将包大小(Batchsize)设置为16,学习率设置为0.001,采用LeakyReLU作为激活函数,训练20、25、30个周期。通过测试,结果见表3。
表3 输入尺寸对比试验结果
结果显示,虽然总体识别效果相差不大,但输入尺寸对识别精度仍有影响,且1024×1024与64×64像素的输入设置所得到的分类准确率均不是最高,证明针对该网络并不是输入尺寸越大或越小识别效果越好。由表2可知,尺寸为128×128与512×512像素输入得到的相对准确率最高,显示了以数据集平均宽高的尺寸作为输入所得到的准确率最优。可将针对于识别网络模型的输入尺寸定为128×128像素。经过特征编码后,可以得到较高级的特征图像。
利用完成训练的网络模型进行道路提取,待预测数据采用数据源为:2020年1月至2021年9月时间段的北京二号、高分二号、高分七号、高景一号数据,其分辨率为0.8、0.8、0.65、0.5 m的贵阳市全域卫星遥感影像数据,覆盖范围为贵阳市主要区域,面积约为8500 km2,由贵州省自然资源卫星应用技术中心提供,数据经过辐射定标、大气校正与正射校正、数据配准等预处理,且变化监测实施前的数据为具有相同的投影坐标系、不同时期的两版镶嵌影像数据。
为避免客观因素干扰,通过CNN网络模型实现贵阳市道路要素提取,采用硬件配置为:处理器为32核心英特尔处理器,主频为2.16 GHz,型号为Xeon系列Silver 4216;内存为运行带宽2400 MHz,共计256 GB;图形硬件显卡共计4个,型号为NVIDIA Quadro RTX 4000 8+128 GB。待提取影像数据为2020年1月至2021年9月,分辨率为0.8 m的贵阳市全域卫星遥感影像镶嵌成果数据,覆盖面积约8500 km2。将模型预测概率阈值设为0.35,并自动剔除50×50像素的碎小图斑。
利用CNN网络模型提取贵阳市道路要素,按照待提取影像规模,采用单节点4进程进行运算,提取效果部分展示如图4所示。
图4 道路要素提取过程中的原始影像与二值化结果
将自动提取结果与三调道路数据比对,提取匹配度较好。为验证道路连通性及剔除碎小无效图斑后结果,利用ArcGIS软件进行道路中心线提取,如图5所示。首先对道路矢量面数据进行栅格二值化,然后将道路与非道路重分类设置为0和1两类。
图5 道路栅格二值化结果和道路中心线矢量化结果
利用ArcScan工具条矢量化命令,选择中心线矢量化方法,设置栅格参数,选择在区域内部生成要素,即生成道路中心线。此方法提取的道路中心线整体完整度较好,但丢失部分属性信息,同时由于原始矢量面数据与影像判读的实际情况存在差异,部分高架桥、楼体树木阴影、隧道、交叉路口等存在大量拓扑问题,需进一步优化处理。
使用CNN实现道路要素提取,从训练的模型提取效果来看,使用卷积神经网络所提取的道路线和面结果仍然存在一些结构和拓扑问题。主要表现为:原始数据质量问题,以及样本数量和样本覆盖类别不够,这使得影像道路识别难、准确性降低、泛化能力降低;车辆、绿化带和建筑物的阴影与遮挡道路提取形成干扰、阻断导致道路面出现碎小漏洞、缝隙等问题;河流、河堤、铁路等线状物体与道路的相似性也为道路提取制造了困难;道路中心线出现碎小短线未连接、道路交叉口、碎小支路等拓扑结构问题,如图6所示。
图6 提取道路要素存在的部分问题
针对使用CNN实现道路要素提取过程中出现的上述困难和问题,通过调整解译输入、参数设置结合算法模型等多种后处理技术手段,对道路要素几何特征进行优化处理。
(1)对由于车辆、绿化带和建筑物的阴影与遮挡道路提取形成的干扰、阻断,导致道路面出现碎小漏洞、缝隙等问题,采用填补面洞的方式处理。
(2)利用ArcScan工具条矢量化命令,重新提取道路中心线,解决了由于干扰要素导致的零散道路中心线等存在的大量拓扑问题。
(3)通过优化算法模型进一步对道路中心线存在的其他拓扑结构问题进行优化处理。
通过算法模型的优化处理,解决了道路要素线和面存在的一些问题,如道路面缝隙、中心线零散、碎小面、道路中心线碎小短线、道路交叉口轮廓线抽稀等,如图7所示。最终实现了基于CNN网络模型对贵阳市道路要素的提取,并完成了几何特征的优化,使得整体上视觉效果有所改善,达到了预期效果,如图8所示。
图7 道路要素优化处理前后效果对比
图8 贵阳市道路要素提取成果
(1)道路提取时效性量化分析。为了验证本次模型的时间效益,对本模型提取过程和成果进行量化分析,成果量化指标见表4。为了更加直观地对模型提取结果进行分析,基于上述提取结果统计了模型运行各个步骤时的耗时情况,见表5。
表4 提取成果量化指标
表5 模型运行耗时情况
模型运行结果显示,对于贵阳市特殊的地形地貌,能够在98 986 s时间完成提取累计总长度约39 452.606 km的道路要素,综合提取速度约为2.5 s/km。改进后的模型在满足基本拓扑关系和道路匹配程度的要求下,在模型的算法优化上实现了较好的时效性,由试验成果与整体耗时情况对比可知,本文提出的模型对于道路要素的自动化提取效率符合预期,相对于目视解译的方式,极大地减少了人工采集的时间,为研究自动化提取地理实体提供了经验基础。
(2)道路几何特征的准确性评价。经过对全市域遥感卫星影像的道路要素提取,选取部分重点区域作为样本,以通过CNN提取的道路要素为试验结果,将人工目视解译判读为验证结果,对比基于深度学习神经网络模型提取的要素与影像的套合程度,结果如图9所示。
图9 道路要素自动提取结果与人工采集数据匹配情况
对于不同的场景,基于神经网络模型的全自动化提取结果并不相同。在主城区范围内,针对城市主干道提取的结果,与影像道路边界匹配度较高;而针对高架桥、隧道的提取结果,与影像道路边界匹配度较低,部分道路缺失,且高架桥梁拓扑关系错误。在乡村郊区范围内,针对乡村道路、林间小路的提取结果,其与影像道路边界匹配度较高。道路被树林覆盖时,会导致道路面要素出现空洞、不连续、不规则等情况,需要后期进行优化拟合。
针对整体情况而言,通过深度学习技术进行道路提取的准确率约为80%(不完全统计)。完全使用全自动提取技术进行道路要素提取,受影像质量、时相、现实复杂情况等因素的影响,会导致精度不可控,仍然需要后续的人工干预及结果优化。此外,在道路要素特征的空间定义中,部分参数需要按照影像的不同差异进行针对性设置,真正的全自动化参数设置还有待深入研究。
针对贵阳市地域的道路特征,本文综合考虑解译过程中的准确性、运算能力及对贵阳市域环境的适应性,对深度学习神经网络模型中的几个环节进行了分解。通过多轮对比试验与分析,建立了适用于贵阳市道路要素遥感影像自动提取的模型,并对批处理数据进行优化处理,结合人员参与完成部分道路属性的完善工作,部分程度实现了道路实体的自动化智能高效提取。其中,涉及的现实问题与技术路线,可对市县级卫星遥感应用技术部门开展的自然资源类业务工作提供参考。对于本文的成果,还存在一些不足,如在道路要素的准确度或精确度的评价上,还没有建立科学的量化评价体系,目前还需要靠人工的方法判别和评价,下一步的研究方向将在道路的几何特性上建立合理的评价体系,在属性特征上,结合交通流量数据[11-12],实现道路属性信息的动态更新机制。