摘要:道路数据具有数量大、变化频率高的特点,是地理空间数据的重要组成部分,道路要素化简也是地图制图综合和空间数据更新的核心技术环节之一。传统方法基于数据点压缩、弯曲识别和现有机器学习算法在道路化简中存在稳定性差、可控性弱,自动化程度低等问题,本文在视觉思维和句法模式
本文内容来源于《测绘学报》2024年第10期(审图号GS京(2024)2165号)
一种生成式神经网络的道路简化方法
罗飘,1,2,3, 许俊奎,1,2,3, 武芳4, 吕亚坤1,2,3, 庄清文1,2,31.河南大学地理与环境学院,河南 开封 475001
2.
3.
4.
摘要:道路数据具有数量大、变化频率高的特点,是地理空间数据的重要组成部分,道路要素化简也是地图制图综合和空间数据更新的核心技术环节之一。传统方法基于数据点压缩、弯曲识别和现有机器学习算法在道路化简中存在稳定性差、可控性弱,自动化程度低等问题,本文在视觉思维和句法模式相结合的理论基础上,利用深度学习算法的特征挖掘能力将生成式人工神经网络模型引入道路化简领域。首先,将需化简道路数据转化为序列数据,提取其序列特征,以此构造特征数据集;然后,利用门控循环单元(gated recurrent unit,GRU)神经网络构建的Seq2Seq编码模型,将大比例尺道路数据进行嵌入形成高维语义编码,通过对语义编码的解码生成化简后的小比例尺道路数据;最后,根据弧段压缩率、长度变化率、曲线折度、缓冲区限差4个指标评估模型有效性和适用性。通过试验与传统算法对比试验表明,本文模型可应用到道路形状化简中,丰富道路化简方法,促进地图制图综合智能化发展。
关键词:生成式神经网络道路简化深度学习句法模式识别Seq2Seq编码模型地图制图综合
基金项目
罗飘(1996—),男,硕士生,研究方向为智能地图综合和空间认知。E-mail:
通信作者:许俊奎 E-mail:10130153@vip.henu.edu.cn
本文引用格式
罗飘, 许俊奎, 武芳, 等.
LUO Piao, XU Junkui, WU Fang, et al.
阅读全文
近年来,随着我国基础设施建设步伐的加快和人民生产、生活的需要,道路的数量和覆盖程度急剧增长,使得道路成为地图上变化最为活跃的要素之一。地图制图综合是地图制图的核心技术环节,无论过去、现在或将来,都是现代地图学中最具挑战性和创新性的研究领域,是空间数据分析和挖掘的基本手段之一[1]。道路化简广泛应用于大比例尺数据缩编更新小比例尺地图数据,国内外学者从不同角度对道路化简进行大量研究并取得了一定的成果,道路化简早已成为地图制图综合的经典研究内容之一。
传统的道路化简方法常采用Douglas-Peucker(D-P)算法[2]、Li-Openshaw(L-O)算法[3]、垂比弦法[4]等算法及其改进和拓展算法[5-7]以进一步提升化简效果。以上化简主要思想是以节点作为化简的基本单元,通过节点数量压缩实现道路化简。
随着研究深入,有学者从空间认知角度发现道路蕴含的地理特征结构化信息主要通过弯曲进行表达,地图制图综合受地理特征和认知规律影响,通过删除小弯曲、保留特征弯曲实现道路化简更符合人类的空间认知[8]。基于弯曲的道路化简方法包括弯曲的识别[9-10]、特征提取和取舍。文献[11]基于约束Delaunay三角网模型,提出弯曲深度层次结构的二叉树表达,使弯曲的划分更加符合视觉感受,但单个方向以二叉树表示弯曲层次关系不符合视觉认知,导致相邻弯曲重叠区域化简结果存在模糊性。在文献[11]的基础上,文献[12]利用约束Delaunay三角网多叉树表达,提出曲线形态的结构化表达方法,将弯曲划分为基本弯曲和复合弯曲,可以在一定程度上表达弯曲的层次性,但难以识别平滑曲线上的弯曲,忽略了相邻弯曲间的相互影响。此外还有一些基于弯曲的线要素化简改进算法[13-15],通过人工设定部分参数,它们的化简结果既符合认知规律又有利于地理特征保持,然而化简程度很大程度上依赖人的主观设置。
综上所述,目前道路化简算法集中在对已有的节点压缩算法和弯曲删减算法的拓展和改进,诸多方法在道路化简上已经趋于成熟,化简的正确率得到一定提升,但现有化简方法的创新改进越来越困难,且自动化不强,需要人工参与修正、调整参数,寻找适合的阈值等烦琐工作。探索新领域方法以改进已有研究的不足,现有研究尝试蚁群优化算法、支持向量机等机器学习算法[16-17],但其稳定性、可控性仍较弱。文献[18]将多种机器算法与智能算法结合;文献[19—20]利用智能算法进行地图制图综合研究;文献[21]对道路智能化制图综合提供了思路。随着计算机技术快速发展,深度学习技术中的循环神经网络(recurrent neural network,RNN)模型在自然语言理解、翻译、航线预测等实际问题中广泛运用。通过观察,认为自然语言是语义单元的逻辑序列,道路可以看作是弧段的空间序列,基于此,借鉴自然语言翻译的技术思路,本文提出以序列结构表达道路数据,运用门控循环单元(gated recurrent unit,GRU)网络构建的Seq2Seq(sequence to sequence,Seq2Seq)编解码器模型具有强大的生成能力的特点,编码大比例尺道路数据序列信息从而生成小比例尺序列以达到化简目的。
1.1 视觉思维的道路形态认知地图是由一系列点、线、面要素构成,是人类空间认知的产物,其中线要素是建立在人脑对地理物体轮廓的空间认知基础上,是实际地物的抽象化、符号化表达。道路的地理特征通过地图中线要素信息表达。人类在认知曲线过程中,通过视觉思维实现对曲线弯曲的认识,视觉思维是视觉活动和认知活动相互作用、相互影响的结果,主要表现对曲线弯曲的注意、记忆、经历、意象、处理反馈等信息加工过程,即曲线被视觉感知后所进行一系列思维活动。在视觉思维中,视觉选择性思维、视觉注视性思维及视觉结构联想性思维作为视觉思维具体形式[22],在曲线弯曲认知过程中发挥了重要作用。视觉选择性思维通过选择表达曲线不同特征的弯曲,忽略曲线形态表达不突出的弯曲;视觉注视性思维更加注视某一弯曲形态特征,获取更多的特征信息;视觉结构联想性思维将从整体形态认知曲线弯曲,使曲线描述更加符合人眼感受,如图1所示。据此,人类对曲线弯曲认知时,影响视觉感知的不仅仅是单个弯曲对象,还需联系弯曲间、多个弯曲形成的整体视觉形态等。
图1图1 视觉思维的认知活动
Fig.1 Cognitive activities of visual thinking
基于视觉思维的道路形态认知对不同比例尺道路进行化简,不再局限于数学处理,虽然与以往化简方法在一定程度上不谋而合,但本文抛弃传统方法直接在原道路形态上对数据点进行删减或对某些不可见弯曲进行直接剔除,结合视觉思维对道路弯曲认知及化简结果的视觉效果,包括局部及整体的视觉效果对道路形态进行化简,即对大比例道路中不可见弯曲及关键凹凸弯曲的生成,杜绝“一刀切”现象。以此使得不同比例尺所包含的模糊关系、层次关系得以表达。
1.2 句法模式识别道路形态认知以往研究以曲线上的数据点为基本单位展开研究,如图2(a)所示,且仅对单个弯曲或相邻弯曲进行研究,容易导致曲线表达不完整及信息丢失,如图3(a)所示。
图2图2 不同算法基本单元提取
Fig.2 Basic unit extraction of different algorithms
图3图3 视觉思维与传统算法化简
Fig.3 Visual thinking and traditional algorithm simplification
在长期的语言实践中,人们以字、词为单位进行语义的编码与传递。在字、词的基础上出现了句子,以传递简短的信息,每个字、词承担一定的句子功能,如主、谓、宾、定、状补等。多个句子组成段落,用来传递更长的信息。地图也是一种信息传递的手段。为通俗地理解本文研究,将道路由弧段构成的特点与句法模式结合,句法模式识别是一种用模式的基本组成元素及其相互间的结构关系对模式进行描述和识别的技术;当然,单个弧段在道路中的作用不像句子结构那么明确。即对大而复杂的模式运用基元串对其进行编码并设计相应语法规则进行描述[23]。
本文将道路作为一个句子,单个弯曲可表示为一个子句,以弧段为基元进行模式编码,基元如图2(b)所示,子句可编码表达为a-b-c-d-e-f-g-h-i-j。将弧段作为研究对象,一是有利于基元间的相互约束,二是有利于不同基元通过语法规则进行信息的传递与保留。正如人类对一段文字的表达,基元是一句话中的一个字(词),一句话作为一段文字的组成部分,即子模式组成整个模式,要使一段文字传递信息且有逻辑,不仅需要一句话中每个词之间有逻辑关系而且所组成的子模式间也有逻辑关系,同时蕴含着不同信息及信息的传递。本文以弧段为基元,弯曲为子模式,要使一个模式能表达出人类视觉思维效果,即一段文字所传达的信息,不仅需要各弧段及弯曲间的相互作用,还需要融入视觉思维信息对弯曲整体形态进行约束,使得曲线形态在整体上进行表达,如图3(b)所示。
1.3 神经网络的道路形态转化通过上文对道路形态认知分析及道路由一系列数据点构成的特点,道路形态是由若干连续,大小形态各异的弯曲单元表现。本文将视觉思维与句法模式识别技术结合,一是运用生成式神经网络Seq2Seq编码模拟人脑对道路认知的过程,二是运用Attention机制模拟视觉思维对道路进行整体和局部的视觉认知。为了对生成式网络提供生成信息支持,首先,需对道路进行序列化处理,既获取相邻道路数据点间的弧段作为单个字符,从而将道路转化为字符串以达到序列化处理目的;其次,根据弧段端点坐标提取弧段中点经、纬度、方位角、弧段长度4个特征并构建维度为N×4M的特征矩阵,N为弧段数,M为数据特征维度,这些特征所蕴含弧段的地理特征、各种弯曲之间的模糊关系及认知规律等保持不变。
2.1 算法整体框架流程本文算法包括数据处理模块与Seq2Seq编码/解码器模型两部分,整体技术框架如图4所示,流程可分为数据预处理、弧段特征提取、Seq2Seq自编码器及结果度量4步,具体可见后文介绍。
图4图4 本文算法技术框架
Fig.4 Flowchart of the proposed algorithm
2.2 弧段特征提取本文运用Seq2Seq模型对道路进行化简,根据道路是由一系列数据节点组成的特点,相邻两节点构成弧段,多条弧段链接构成弯曲,形状各异的弯曲构成道路的特性,对数据进行序列化处理,表达如式(1)所示
(1)
式中,di表示道路数据i点坐标;loni为经度;lati为纬度;线段xt类似于一个字符。
(2)
式中,以X表示一条道路,可视为字符串。
根据道路属性提取线段中点经度xij、纬度yij,线段长度lij,方位角αij等4个特征,为提高方位角精度,将在地理坐标下进行计算,最后在投影坐标下落脚,则有弧段特征向量(式(3)),这些特征向量的组合即道路特征矩阵如式(4)所示
(3)
(4)
(5)
(6)
式中,R=6371为地球半径;lon′、lat′为经、纬度弧度值;i为组成道路的线段编号1,2,…,n,且n+1=m,m为道路数据点数;j为特征属性编号1、2、3、4;i1、i2分别为线段相邻两端点编号,且i1+1=i2。γ、A、y、x的计算公式如下
(7)
式中,MOD为弧度值转为角度值;A为弧度值;双变量反正切函数为arctan 2。
2.3 数据归一化对输入数据作归一化处理的目的在于减小特征间量差大所带来的网络生成误差,经过数据归一化处理以消除不同量纲及数据范围的影响,但数据中存在的关系不会发生改变。被归一化处理后的输入数据缩放至[0,1]范围内,从而在训练时加快梯度下降速度以求解最优参数矩阵,使模型更快地收敛。本文采用最大最小值归一化(min-max normalization)的方法进行输入数据特征归一化处理,公式如式(8)所示
(8)
式中,xmax为样本数据特征最大值;xmin为样本数据特征最小值;X′为归一化处理后的样本数据特征;X为原始样本数据特征。
2.4 Seq2Seq自编码模型2.4.1 Seq2Seq自编码结构设计近年来,Google团队使用循环神经网络作为Seq2Seq模型的基本网络结构[24],在机器翻译和语音识别等领域广泛应用且已取得丰硕成果,但经典的循环神经网络解决长序列信息时,易导致网络梯度消失或发生梯度爆炸等现象,因此本文采用门控循环单元(GRU)[25-26],GRU前向传播如式(9)所示(9)
式中,σ(x)=1/(1+e-x),称为Sigmoid函数,可以将一个实值映射到区间[0,1],用于描述信息通过的多少。当门的输出值为0,表示没有信息通过,输出值为1则表示所有信息都可以通过。
利用深度学习思想对一种序列进行编码,挖掘序列中所蕴含的信息,进而将可变长度输入序列映射到可变长度输出序列,如式(10)所示
(10)
模型包括编码器(Encoder)和解码器(Decoder)两部分,均由门控循环神经网络实现(图5)。
图5图5 Seq2Seq编码模型
Fig.5 Seq2Seq coding model
模型编码部分使用由单层GRU单元与全连接层的组合,输入单条道路为N×4M维度矩阵,通过全连接层将特征维度4嵌入GRU输入维度,特征维度中每个时序数据和上一时序隐藏状态ht-1以某种方式合并后输入GRU单元编码获取输入数据的特征语义向量C,其中初始隐藏状态一般设置为h0=0,当选择q(h1,h2,…,ht)=ht时,语义向量是编码序列最终时序隐藏状态ht的计算式如(11)所示
(11)
式中,wrelu为Linear带ReLU激活函数的网络参数;wencoder为GRU网络参数;h1,h2,…,ht为编码器每时序隐藏状态值。
解码器采用单层GRU单元与全连接层组合,其接受输入为N×(C+4M)维度矩阵。但不同于传统Seq2Seq模型中起始符〈SOS〉,终止符〈EOS〉;本文起始符号以编码输入序列第一个时序作为第一个输入,终止符以输入序列最后一个时序为终点,设置阈值大小0.002 cm,生成序列在该阈值范围内则终止解码。通过全连接层将输入特征维度4嵌入GRU输入维度,特征维度中每个时序数据和编码语义信息以一种方式合并输入GRU单元解码输出,初始隐藏层h0=C,输出值经过Attention机制后,进入下一个时序解码直至遇到终止符,后文详细介绍,将生成的所有数据点通过全连接层输出大小为V×2M维度,计算如式(12)所示
式中,wtanh为带Tanh激活函数网络参数;wdecoder为GRU网络参数;wattention为注意力机制网络参数;为生成的坐标经、纬度值。2.4.2 Attention机制当Encoder输入序列越来越长时,导致语义信息C中对编码信息丢失且应用到Decoder中所有时刻C相同,Decoder解码效果表现越来越差。文献[27]提出基于注意力的神经机器翻译方法,文献[28]提出联合学习对齐和翻译的神经机器翻译在不同时序都会接受来自Encoder编码不同加权信息,从而使得Decoder解码在不同时序有着不同输入上下文信息Ci,Ci计算如式(13)所示
式中,αij为Encoder编码在不同时序权重;hj为Encoder编码隐藏状态;为Decoder在i时刻的注意力隐藏状态;Tx为序列长度;eij为Decoder解码i时刻隐藏状态与Encoder编码所有时刻隐藏状态hj的相似度;score向量点乘dot。相似度eij使用矩阵点乘相似度进行度量;获取上下文信息Ci可以计算本时刻输出和隐藏状态si,再计算Encoder编码所有时刻隐藏状态与si的相似度,以此往复直到解码结束。
2.4.3 自编码模型学习及评估基于Seq2Seq编码模型对道路化简即网络学习参数过程,本文使用均方误差(mean squared error,MSE)[29]作为损失函数,输入模型特征为4,输出为数据点经、纬度2个特征,通过聚焦输出变量,可以使模型专注于生成道路数据点位置坐标,提高网络的收敛能力,获取结果精确更高,计算如式(14)所示
式中,yi=(loni,lati)为真实值;为化简值;n表示序列长度。本文采用自适应学习率梯度更新优化算法Adam[30]更新权值矩阵。通过数据训练模型参数,针对道路数据生成回归类模型,采用均方误差(MSE)、平均绝对百分比误差(mean absolute percentage error,MAPE)和准确率(ACC)、训练时间等指标评估算法性能,如式(15)所示
(15)
3.1 数据预处理及试验环境配置试验调取河南省1∶25万和1∶100万同区域环境、同时间段和同制图条件下路网数据,运用缓冲区匹配算法,匹配后的道路数据为同名道路数据对。结合ArcGIS软件对已提取同名道路匹配数据中误匹配的道路数据进行修正或删除。
经误匹配与链接处理后的同名道路数据对,存在读取顺序不一致(异读取)问题,如图6(a)所示。本文考虑所应用数据特性及获取方式,采用两种不同方式处理:①对同一数据对中某一比例尺道路首尾设置阈值大小0.002 cm,如图6(b)所示,判断另一比例尺数据首尾点是否在所设阈值内确定是否需要不一致性处理,若另一道路数据的起点或终点在所设置起始或终止点范围内,则不做处理;否则将其中一条道路顶末点读取顺序颠倒。②将不同比例尺道路首、尾顶点相互链接,判断不同比例尺下同首、尾点链接直线段长度是否大于不同首、尾点链接直线段,确定是否需要不一致性处理,若同首、尾点直线段长度大于不同首尾点直线段,则说明存在读取顺序不一致,将其中一条条道路数据点读取顺序颠倒;否则不作任何处理。如图6(c)所示,共提取数据为6300对数据作为最后模型训练数据集,在数据集中选取训练集的5%作为验证集数据。对所提取的每条道路数据进行序列化处理,将相邻两节点链接的线段作为一个弧段,根据弧段两端点坐标获取弧段中点经度、纬度、弧段长度、方位角4个特征,构建四维特征矩阵。
图6图6 道路节点数据读取一致性处理
Fig.6 Road node data reading consistency processing
本文试验环境采用硬件为:处理器Intel(R) Core(TM) i7-10700 CPU,主频2.90 GHz,内存32.00 GB;试验软件为:操作系统Windows10专业版,基于深度学习框架Pytorch1.7,试验程序语言Python 3.7,编译器PyCharm 2020.3.4专业版64位操作系统。
3.2 模型试验与分析对模型所使用的学习率、Batch-size训练批次、隐藏层神经元数、网络层数等超参数进行试验调整,参数衰减率decay-rate=1×10-7,dropout=0.0。从试验MSE损失值、精确度ACC和训练耗时等指标对本文模型进行综合评价。试验表明,通过模型试验化简前后道路形态保持一致,且弧段数目得到实质性压缩,证明模型实用性;将开封市尉氏县通过平移增强的道路网测试证明模型的稳健性。本文还将GRU与D-P、L-O算法进行对比分析,证明GRU构建Seq2Seq编码模型相比两种经典算法在道路化简中更有优势。
3.2.1 模型参数试验学习率作为神经网络模型更新的重要参数之一,直接影响模型性能。本文通过试验初步确定初始学习率lr=0.000 5,通过自适应调整学习率确定最优学习率,如图7所示。不同学习率的比较见表1。
图7图7 固定学习率与自适应学习率的影响
Fig.7 The influence of fixed learning rate and adaptive learning rate
学习率MSE训练耗时0.000 50.007 8233 h 10 min自适应调整0.004 0633 h 21 min0.000 015 6250.035 133 h 38 min新窗口打开| 下载CSV
由图7(a)可知,自适应学习率的MSE损失随训练epoch的增加而减小,在epoch=100左右验证集MSE损失基本保持平稳不下降,当以0.5倍调整学习率后继续训练,模型MES损失继续下降,如此持续调整学习率直至验证集损失不再下降时,此时epoch=300,lr=0.000 015 625,验证集MSE损失为0.004 06,模型训练以达到收敛状态,学习率调整如图7(b)所示。为探索自适应调整学习更适合本模型,分别将固定学习率lr=0.000 5与lr=0.000 015 625训练的MSE损失与自适应调整学习率对比,由图7(c)、图7(d)可知,其最优MSE损失分别为0.007 82和0.035 1。
不同学习率之间最优误差及训练耗时见表1,训练耗时随着学习率的减小而增加。本文通过平均绝对百分比评价模型精确度,由图8可知,3种不同学习率对模型精确度分别为86.59%、94.82%、63.48%,自适应调整学习率有着更高的精确度。
图8图8 不同学习率模型精确度
Fig.8 Different learning rate models' accuracy
计算机并行运算性能提升网络模型运行速度,使得Batch-size在神经网络训练速度和模型泛化中有着重要作用;但已有研究[31]发现较大较小Batch-size并不能提升训练速度和模型的泛化性能,所以本文初步确定Batch-size范围大小为〈1,2,4,8,16,32〉,通过试验确定Batch-size大小。
据图9(a)可见,随着Batch-size的增加,模型MSE损失增加,训练时间呈现先下降后上升趋势,如图9(b)所示。当Batch-size=1时模型的MSE损失最低,Batch-size=8训练耗时是其他训练耗时的一半,在本文模型中Batch-size对模型训练有着加速作用,但其精确度随着Batch-size的增加而减小,如图10所示。故本文模型训练小批次有着更高的精度,但以训练耗时为代价,鉴于MSE损失与精确度ACC,确定Batch-size=1为模型训练批次值。
图9图9 Batch-size对MSE损失与训练时间影响
Fig.9 Effect of Batch-size on MSE loss and training time
图10图10 不同Batch-size对模型精确度影响
Fig.10 Effect of different Batch-size on model accuracy
网络层数增加神经网络复杂度,也会使网络有更强的学习能力,网络层数的增加不仅需要消耗更多的训练时间,且网络因学习能力太强会出现过拟合现象,本文主要试验编码器网络层数,初步确定网络层数为〈1,2,3〉,根据试验确定网络层数。表2为网络层数的比较。
表2网络层数比较
Tab.2 Comparison of network layers
网络层数MSE训练耗时最优Acc迭代最优Acc耗时10.004 0633 h 21 min28031 h 06 min20.004 4942 h 39 min29241 h 27 min30.005 6852 h 10 min30052 h 10 min新窗口打开| 下载CSV
由图11(a)可知,网络在epoch=150左右呈现收敛趋势,由图11(b)可知,网络层2精确度以94.94%高于网络层1精度94.82%的0.12%达到网络最优,网络层3以精确度93.32%到达网络最优。鉴于MSE损失与ACC两个指标分析网络层1、2各有优势且精确度相差甚小,引入训练耗时作为评价指标(表2),网络层2训练耗时将比网络层1增加1/3。综合考虑选择网络层数1作为模型网络层。
图11图11 网络层对MSE损失与ACC影响
Fig.11 Effect of network layer on MSE loss and ACC
网络神经元数对化简模型性能有不同程度的影响,神经元数越多学习性能越强,但消耗时间越长;反之则性能弱且训练耗时小,易导致欠拟合,生成结果不佳。本文选择神经元数范围〈64,128,256〉进行试验分析,试验结果如图12所示。
图12图12 神经元数对MSE损失与ACC影响
Fig.12 Effect of number of neurons on MSE loss and ACC
由图12(a)可知,随着神经元数增加MSE损失开始下降速度加快,当epoch=150左右时,神经元数256的MSE损失呈现收敛状态;神经元数128及64继续下降至epoch=250呈现收敛状态,且hide=128最优MSE损失值小于hide=256,差值为0.000 62(表3);由图12(b)可知,随着神经元数量增加准确度开始提升速度快,最终hide=256的准确度以95.76%分别高于其他0.94%和5.35%达到最优;训练耗时随神经元增加而增加,但神经元数量256在到达最优精确度训练耗时更小(表3)。由此本文将256作为模型神经元数。
表3神经元数比较
Tab.3 Neuron number comparison
神经元数MSE训练耗时Acc/(%)最优Acc迭代最优Acc耗时640.005 6130 h 00 min90.4130030 h 00 min1280.004 0633 h 21 min94.8228031 h 06 min2560.004 6840 h 58 min95.7621529 h 16 min新窗口打开| 下载CSV
经过以上试验确定模型参数后测试化简样例如图13所示,在视觉上化简后的道路形态与原道路形态符合性较高,对碎部小弯曲取舍有度,且弯曲光滑度更温和,进一步证实网络模型能很好地学习序列弯曲间及序列之间存在的模糊关系,可挖掘并表达道路数据弯曲特征。
图13图13 Seq2Seq模型化简样例
Fig.13 Seq2Seq model simplification example
3.2.2 对比试验分析与讨论本文模型对提取的化简案例对进行训练学习,从化简样例的生成可以看出,模型对案例库进行了很好的学习,对新验证数据有较高的拟合准确度。为验证模型的可行性,与D-P算法和L-O算法进行对比试验,其中D-P算法中的阈值大小设置和L-O算法阈值将根据式(16)计算[3](16)
式中,St为生成的目标比例尺;Sf为原比例尺;D参数取值0.4 mm,有利于保证分辨视觉最小值。
试验数据为开封市尉氏县道路数据,比例尺大小为1∶25万;包含58条道路数据,共涉及2147个数据节点,经度范围:113.2°E—114.3°E,纬度范围:34.2°N—34.5°N,单条道路最大数据节点数152个,最小数据节点数8个。本文运用弧段压缩率、长度变化率、曲线折度、缓冲区限差4个评估指标进行统计分析。弧段压缩率为化简中删除弧段数与化简前弧段数比,反映化简力度。长度变化比为化简前后曲线长度比,线曲折度变化比为化简前后组成曲线相邻弧段夹角累加变化;缓冲区限差为在原始曲线上建立缓冲区,缓冲区半径的大小设置为目标比例尺图上两个点要素之间最小距离值(0.2 cm)的1~2倍[32];位置误差与缓冲区限差反映了化简前后曲线精度保持度[33]。由表4可知,D-P算法化简力度最大,化简后压缩率为89.42%;L-O算法与本文网络模型算法相对较低,但本文网络模型算法与参考样例压缩率基本一致,进一步验证对案例库进行了较好学习。D-P算法根据所设置阈值保留垂距较大的节点,导致细部弯曲节点被删除,结果产生严重尖峰,破坏道路基本形态,L-O算法在一定程度上可克服尖峰的产生,保持道路形态。
表4不同算法对道路节点压缩率评估
Tab.4 Evaluation of compression ratio of road nodes by different algorithms
化简方法删除弧段数压缩率/(%)D-P192089.42L-O115453.75Seq2Seq网络106149.42参考样例105148.95新窗口打开| 下载CSV
由表5可知,D-P算法与本文算法在长度变化比上基本一致,但在曲折度变化比上,本文算法相对另外两种算法更高,由上文生成样例视觉上可与原道路形态保持一致,对弯曲化简结果更为光滑。可克服D-P算法与L-O算法缺点,与原始道路形态有较高的保持程度。缓冲区作为空间位置分析技术,在原道路上建立缓冲区,通过缓冲区误差能有效地反映道路位置精度,由表5可知,本文网络模型与D-P算法、L-O算法位置精度误差基本相同,由此可知本文模型有效保证道路位置精度。
表5不同算法对道路化简精度评估
Tab.5 Evaluation of road simplification accuracy by different algorithms
化简方法长度变化比曲折度缓冲区误差D-P0.998 40.518 90.981 8L-O0.996 10.671 00.995 5Seq2Seq网络0.998 40.763 80.989 0新窗口打开| 下载CSV
由图14可知,化简后道路形态与化简前形态上有着高度的重合度,基本符合化简前后道路形态一致性。对化简数据点统计见表6,化简后数据节点为1106,相比化简前减少1061个数据点,压缩率为49.42%;压缩幅度最大为ID16(表6中道路ID),数据点减少24,压缩率达77.42%。
图14图14 比例尺1∶25万与比例尺1∶100万化简试验结果
Fig.14 Simplification experimental results of scale 1∶250 000 and scale 1∶1 000 000
表6部分尉氏县道路化简前后数据统计
Tab.6 Some data statistics before and after road simplification in Weishi county
4 结论针对现有机器学习算法在道路化简中稳定性、可控性弱,自动化程度低等问题,本文将生成式人工神经网络模型Seq2Seq编码模型引入道路化简领域,建立基于视觉思维和句法模式识别理论的道路化简算法,将道路相邻两数据节点间弧段作为最小基本单元,提取弧段特征组成特征矩阵作为序列特征,以表达道路序列及弯曲之间的结构关系。将提取的大、小比例尺道路数据对分别作为模型训练数据,运用Seq2Seq编码部分对输入的大比例尺道路数据进行编码提取语义信息,通过解码部分生成小化简后的比例尺道路数据,实现对大比例尺向小比例尺道路的操作化简。试验结果表明,利用门控循环神经网络组成的Seq2Seq编码模型的特性能够有效地学习道路序列间及弯曲之间的模糊关系,实现道路化简任务,算法自动化程度高,化简结果符合人类认知习惯。但缺点是对于不同比例尺、不同区域道路化简需要建立不同案例库,训练样本需求大,下一步将加强对算法迁移能力的研究以适应不同区域、比例尺道路数据的化简需求。
来源:测绘学报