地图空间形状认知的自编码器深度学习方法

2021-06-29 00:26晏雄锋艾廷华郑建滨
测绘学报 2021年6期
关键词:编码器形状检索

晏雄锋,艾廷华,杨 敏,郑建滨

1. 同济大学测绘与地理信息学院,上海 200092; 2. 武汉大学资源与环境科学学院,湖北 武汉 430079

空间认知旨在理解和阐释人们在空间信息认识活动中如何获取、组织、利用、修改和表达信息[1-2],是认知科学的重要研究领域。空间认知能够帮助人们建立对地理空间事物或现象的空间概念,包括位置方位、形状尺寸、景观格局、时空变化及相互关系等[3],并形成认知地图、指导空间行为[4]。空间认知研究通常从两个角度展开:①认知主体特征,即人对事物的认知行为或规律,例如Gestalt原则揭示了人们从视觉上认知事物时会自然而然地先追求结构的整体性或守形性趋势,再逐渐认识局部细节内容[5-6]。②认知客体特征,即地理空间要素自身所具有的特性,包括几何特征、结构特征和分布模式等,通过人脑的认知演绎,推导出地理事物现象的高层次特征规律。

形状是地理空间要素最直接的特征之一,其精细地表达了要素的几何特征和空间分布,是人们建立空间概念的重要依据。地图空间中不同组织方式的对象,其形状表示与识别方法也有差别。针对遥感影像等栅格对象,形状通过对像元或光栅单元的集成化处理获得,如记录边界轨迹的链式编码或剖分单元的属性统计值[7]。针对点云等三维对象,形状通过手工设计提取特征(如法向量、曲率、上下文信息)或深度表征学习获得[8]。针对平面矢量对象,形状是指边界点所构成的结构模式,包括区域和边界两种表示方法[9]:区域表示是基于整体的指标,如紧凑度、凹度[10-11];边界表示是以字符串或函数来近似拟合形状边界,如形状上下文[12]、傅里叶算子[13]和转角函数[14]等。现有研究在形状度量解释和优化方面具有成效,但在多特征使用和集成上还不完善,且缺乏对形状认知的合理性解释。

近年来,以深度学习为代表的人工智能技术快速发展为空间形状认知提供了理论方法支持的可能:①大数据时代丰富的空间数据资源提供了学习的素材,包括多级尺度、现势性完好、覆盖完整的基础地理信息数据库产品[15]。②启发于空间关联性[16]和地理学第一定律[17]等理论,空间形状认知过程中往往会顾及相邻点串、转角或弧段等局部特征,最终得到整体结构上的认知结果;而深度学习对这类局部视觉特征具有强而有力的表征能力,例如卷积神经网络,即通过小尺寸卷积核和权值共享等技术实现局部特征保持[18]。③深度学习对形状特征具有一定偏好性[19],即优先根据形状判别对象,而不是颜色或质地。基于上述基础,深度学习已在地理要素特征描述和认知方面取得了初步成果。例如文献[20]针对栅格形状提出了形状识别的卷积自监督学习;文献[21]针对一维轨迹数据提出了基于深度学习的相似性度量方法;文献[22]则关注空间对象的群组特征,提出了图卷积神经网络的识别方法。

建筑物是地理空间的重要组成要素,具有直角转折、轴线对称等明显的形状特征,且针对建筑物的综合化简[23]、变化发现[24]、数据更新[25]、质量评价[26]等任务都是以不同形式的形状识别和认知为基础。本文以二维平面矢量建筑物形状认知为研究案例,借助深度学习的特征挖掘能力,提取其形状表示,为空间认知的机理和形式化提供支撑。考虑到基于边界的矢量建筑物形状表达具有冗余度低、表示精确、信息密度高等优点,本文首先以形状边界为基础,将建筑物形状转换为序列数据,并提取其描述特征;然后利用sequence-to-sequence(Seq2seq)自编码学习模型,对无标签的建筑物形状数据进行非监督学习训练,获得编码能力。其中,Seq2seq是谷歌提出用于实现机器翻译的模型[27],其输入输出分别为不同语言的文本序列,因其支持变长的输入输出序列而被广泛用于处理文本、语音、视频等具有序列特征的数据。本文中,将利用Seq2seq自编码模型对输入数据进行非线性变换编码,再重构为原始输入,实现对建筑物形状的特征编码和知识发现。

1 基于深度学习的形状编码

1.1 整体框架

本文以深度学习技术为核心,通过获得合理的形状编码,实现对形状的认知表达目的。整体框架包括4部分:数据预处理、特征提取、形状自编码学习和形状表达与认知,如图1所示。

图1 基于深度学习的建筑物形状编码整体框架Fig.1 Framework of building shape coding using deep auto-encoder learning

数据预处理是将二维建筑物形状以序列表示,特征提取过程即为序列点提取多维尺度特征;随后通过深度自编码器得到该建筑物的形状编码,形成编码库;最后基于该编码库,可得到形状相似度,并应用于形状检索和匹配等场景。

1.2 数据预处理

预处理采取两个步骤:①标准化,包括平移、缩放和旋转;②序列化,包括化简、插值。标准化处理目的是消除建筑物位置、尺寸、方向等因素对形状认知带来的干扰,其中平移操作将建筑物中心点移动至坐标原点,缩放操作将全部建筑物调整为面积一致,旋转操作以最小外接矩形长边方向作为参考。序列化处理目的是从可能存在表达精度差异的矢量建筑物数据中得到点分布较为均衡的序列,其中化简操作采用极小参量的Douglas算法以消除轻微抖动和冗余数据点,插值操作采用等距离插值以保证建筑物形状序列点数一致。预处理后按顺时针方向将形状边界转换为满足Seq2seq输入要求的序列。

1.3 特征提取

几何形状特征提取应考虑局部差异性、全局整体性、上下文相关性等方面,往往具有认知上的不确定性。本文以三角形结构[28]和三角形质心距离[29]等形状表达方式为基础,参考本领域对形状的定性定量分析并结合建筑物的特点,确立边界上点的描述特征,包括局部结构特征和区域结构特征,如图2所示。

图2 建筑物形状序列的多尺度特征Fig.2 Illustration of the multi-scale features of building shape sequence

1.3.1 局部结构特征

此外,形状描述特征应当满足平移、缩放、旋转不变性。局部结构特征是按相对位置提取的,不会因形状平移和旋转而变化;而形状缩放时,三角形面积和弦长特征也随之变化,因此需要对其进行标准化。面积特征取其与建筑物面积S的比值、弦长特征取其与面积S算术平方根的比值,即

(1)

(2)

1.3.2 区域结构特征

(3)

(4)

(5)

考虑M个领域尺寸,那么每一个形状序列点i都可提取7×M维度的特征pi,即

k∈{1,…,M}

(6)

整个形状序列的特征维度为N×7M,N为序列点数。这些特征蕴含了边界上下文信息,如转角和曲率信息。同时,结合边界点与区域中心提取特征,也符合Gestalt原则对整体和局部的认知过程。

1.4 Seq2seq自编码学习模型

本文利用深度自编码学习思想构建形状编码模型,从边界序列点的描述特征学习建筑物形状的编码特征。模型包括编码器(encoder)和解码器(decoder)两部分,分别用两个神经网络实现。二者功能相反,编码器负责将输入的序列特征编码为一组向量,而解码器负责从该向量重构出原始序列特征,重构结果越接近,则该编码向量信息损失就越少。

经典的神经网络没有考虑输入序列的顺序,特征之间互相独立,并不适用于处理形状边界序列特征,因此本文使用循环神经网络作为自编码器中的基本网络结构,即Seq2seq模型。此外,在形状边界序列中间隔很远的点也可能在二维空间中距离接近,存在视觉联系,经典的循环神经网络不能很好地解决这种长期依赖问题,因此本文采用的是长短期记忆网络(long short-term memory,LSTM)[30]。模型如图3所示。

图3 Seq2seq自编码器模型架构Fig.3 Architecture of seq2seq auto-encoder model

1.4.1 编码器

编码器为一个LSTM网络,其接受输入为表示单个形状的N×7M维度矩阵。设置隐藏层神经元数量为zsize,即形状编码维度。循环中每个时间步的计算为

[hi;ci]=fe(pi,hi-1,ci-1)

(7)

式中,hi和ci为LSTM单元的输出值和状态值;pi表示输入;fe(·)表示编码器中的每个时间步单元计算。形状编码z为最后一个时间步单元的输出值,即z=hN。

1.4.2 解码器

解码器为一个LSTM网络和一个全连接层的组合,其接受输入为N×(zsize+7M)维度矩阵。为了保持与编码器状态值维度相同,隐藏层神经元数量也设置为zsize。LSTM的输出添加一个线性全连接层,将序列输出的维度约束为输入样本的维度,实现序列重构。计算过程为

[Hi;Ci]=fd([pi;z],Hi-1,Ci-1)

(8)

(9)

1.4.3 自编码学习

(10)

同时使用“teacher forcing”方式进行解码器训练,即解码器的每个输入不采用上一时间步的输出,而直接使用训练数据中对应位置的值,可以加快模型的收敛速度。

1.5 相似度度量

Seq2seq自编码模型将建筑物形状变换为特征空间内的一组编码。基于该编码,可采用欧氏距离、余弦相似度等方式度量形状之间的相似性。考虑到形状的复杂性和多样性,同一形状不同起点构成的特征序列,其编码有所差异。对此,本文按下列方式计算相似度。

(11)

2 形状编码试验与分析

本文开展了系列试验讨论和分析模型的有效性,包括模型训练、形状编码可视化及形状相似度分析。

2.1 数据准备

试验建筑物数据从OpenStreetMap获取,并按10个标准形状挑选,包括T形、U形等。挑选数据时,尽可能考虑不同地理特征下的建筑物结构,以保证建筑物形状的多样性。

Seq2seq自编码模型的训练过程并不需要标注信息,但为了评价和分析形状编码结果,所选形状数据由3个志愿者手工分类并标注为相应类别。每个类别包括约150个形状,每个形状作为一个训练样本,共1500个样本。表1展示了10个标准形状及其训练形状示例。

表1 训练样本中10类形状示例

2.2 模型训练

根据相关模型的训练经验和初步尝试的试验效果,本文选择tanh激活函数,采用RMSProp优化器,学习率设为0.001,序列点数设为64。训练时,模型结构中的形状编码维度zsize和数据预处理中的邻域尺寸k可能对性能存在影响,下面通过试验来具体分析。

分别设置8、16、32、64、128共5种编码维度,{1}、{2}、{4}、{8}、{2,4}、{2,4,8}、{4,8}、{1,2,4,8}共8种尺度组合,训练结果如图4所示。可以看出,损失曲线收敛情况都较为一致,即开始阶段急速收敛,中间逐渐放缓,最后趋于平稳。

图4 模型的训练损失曲线Fig.4 Model training loss

比较图4(a)中不同邻域尺寸下的损失曲线发现,{1}和{1,2,4,8}损失最高,{2}、{2,4}、{2,4,8}次之,{4}、{4,8}其三,{8}最低。这意味着损失收敛值主要取决于最小邻域尺寸。分析可能的原因是,邻域尺寸越小,特征波动越大,其重构难度也越大;反之则特征相对平滑,更易于重构。比较图4(b)不同编码维度下的损失曲线发现,损失收敛值随维度升高而减小。可以理解为,用更高的编码维度来表示形状特征,其重构原序列的难度更小。需要注意的是,更小的损失意味着更准确地重构原形状特征,但并不能说明形状编码的优劣;使用更高的编码维度虽然能获得更低的损失值,但是维度过高可能会削弱模型的信息压缩能力,甚至只需简单地复制或映射即可重构序列。

2.3 编码可视化

不同形状在编码空间中应当保持同类聚集、异类互斥的分布模式。但由于编码的质量差异或数据本身的不确定性,可能会存在不同形状编码之间有一定的重叠,导致形状相似度度量不准确。图5是对训练后的32维形状编码使用t-SNE方法降维可视化的结果[31]。

图5 形状编码的t-SNE降维可视化[31]Fig.5 Visualization of shape coding in two-dimensional space using t-SNE method[31]

由图5可知,不同形状形成显著群簇,即同一类别的形状在空间分布上距离较近,而与其他类别的形状则距离较远,这表现本文编码具有较好的区分度。相似形状的群簇距离相对接近,例如E形和F形形状、I形和O形形状以及T形和Y形形状。同时也注意到,T形和Y形形状的群簇出现了部分重叠,分析可能的原因是两者在认知上相互接近,例如图5中左下角的第2个T形形状旋转后从认知上也一定程度上符合Y形特征。此外,Z形群簇出现了分离,形成了两个较为独立的子簇,可能原因是Z形形状较为复杂,同一类别的形状之间差异也较大,例如图5中示意的两个Z形形状的形态差异较大。

3 形状编码应用

通过形状编码的可视化分析,可以初步认为Seq2seq自编码模型能够产生符合形状认知、具有相似度计算意义的形状编码。为了进一步验证其有效性,下面以形状检索和匹配等应用场景开展形状认知试验。

3.1 试验区域

选择武汉某居民区OpenStreetMap建筑数据作为训练样本,该区域内包含了一些典型的建筑模式,如H形、U形、TT形等,共474个建筑形状,如图6所示。

图6 试验区域Fig.6 Experimental area

采用上述模型对试验区域内建筑物形状进行训练,得到形状编码库,为后续应用做准备。训练时,序列点数N、邻域尺寸k和编码维度zsize分别设为64、{2,4}和32。

3.2 形状匹配

使用试验区域内8个建筑物,基于形状编码计算他们与标准形状之间的相似度,并确定匹配关系,结果见表2。

表2 建筑物与标准形状相似度

分析表2可知,第1组建筑物与V形形状、第3组建筑物与U形建筑物的相似度显著高于其他,符合视觉认知;而第2组建筑物在视觉上偏向于I形,但与这7个标准形状相似度均较低,体现出其中段折角特征对形状度量的影响;第4组建筑物不是标准的E形,但视觉认知上存在相似之处,其相似度也最高,体现了形状编码对整体结构的准确表达;第5、6组建筑物均是TT形,结果符合视觉认知,但第5组相似度明显高于第6组,区别在于其偏心率与标准形状更接近;第7、8组建筑物均是T形,区别在于第8组存在明显局部凹处,因此虽然匹配结果正确,但相似度稍微偏低,且与TT形相似度明显提高,原因在于二者视觉上都具有连续凹角特征。

总体来说,对于特征明确的形状,本文模型能检索出正确标准形状,例如第1、3、5、7组;对于边界有微小扰动但不影响全局特征的形状,也基本能检索正确,例如第8组。此外,一些整体性的转折变化和偏心率变化可能对相似度计算有较大影响,例如第2、6组。

3.3 形状检索

本文选择典型的建筑物,并从形状编码库中检索与之最相似的形状。图7展示了6组建筑物的前4个检索结果,其中数字为建筑物与检索形状之间的余弦相似度。

图7 形状检索结果Fig.7 Results of building shape retrieval

对于简单形状,形状编码能够有效区分,如前5组形状。对于第6组,其形状较复杂且具有丰富的局部特征,可能会对相似度计算造成一定影响,检索结果也一定程度偏向有较多细节的形状。此外,从第2组检索结果中可以看到,形状编码不受形状旋转方向的影响;而第5组结果检索到了试验区内全部的H形建筑物,尽管最后一个检索结果与其差异较大,相似度也明显偏低,但仍可注意其具有了H形的部分边界特征。

进一步分析发现,形状编码对建筑形状的偏心率相对敏感,如第2、3组检索结果都倾向于检索出偏心率一致的形状,而对较小的形变不敏感;第4组检索中结果基本符合视觉效果,但相似度普遍偏低,这可能也是偏心率差异较大的缘故。

3.4 方法比较

本文以建筑物形状检索应用为例,比较Seq2seq模型与傅里叶算子[13]、转角函数[14]在形状识别与认知上性能。以图7中前5组建筑物为检索目标进行10次检索(分别返回前一至十个相似建筑物),计算每次检索中5组结果的准确率和召回率并取平均值,得到precision-recall曲线(图8)。曲线与坐标轴形成的面积越大,性能越佳。

图8 不同方法的形状查询准确率和召回率Fig.8 Precision and recall of building shape retrieval using different methods

与转角函数方法相比,Seq2seq模型的形状认知性能有了提高,可能的原因是转交函数只考虑了单一的转角特征,而Seq2seq模型融合了局部和区域结构的多个特征。傅里叶方法与Seq2seq模型性能相近,但对于建筑物等人工对象,其顶点较少且常以直角方式转折,傅里叶变换需要以更高阶数的多项式函数来拟合,这会带来较大的计算开销。而Seq2Seq模型的计算量主要集中在训练阶段,该过程独立完成,且对相似数据可以尝试迁移式训练;在空间查询阶段,基于预存储的编码信息计算形状相似度,可以满足快速响应的应用需求。

4 结 语

形状识别是空间认知的重要内容。本文提出了建筑物形状的Seq2seq自编码学习模型。该模型借助深度学习的特征挖掘能力,集成边界序列的多尺寸邻域下的多组特征,并通过非监督训练方式学习建筑形状的本质特征,形成编码,为空间认知的机理和形式化提供支撑。试验表明,本文提出的学习模型能够构建符合形状认知的形状编码,该编码具备对不同形状的区分能力,能够用于度量形状之间的相似性;同时,在形状检索和匹配等应用场景中,该编码能有效地表达建筑物形状的全局和局部特征,符合视觉认知结果。

虽然该模型能较好地实现形状表示任务,但是也存在一些问题,如形状编码在空间分布上存在部分重叠、局部扰动影响形状度量结果等。后续工作将尝试通过改进神经网络结构、结合变分自编码器以及引入认知结果作为监督知识进行训练等方式予以改进。

猜你喜欢
编码器形状检索
挖藕 假如悲伤有形状……
你的形状
基于FPGA的同步机轴角编码器
基于双增量码道的绝对式编码器设计
看到的是什么形状
专利检索中“语义”的表现
JESD204B接口协议中的8B10B编码器设计
多总线式光电编码器的设计与应用
国际标准检索
国际标准检索