很少有研究旨在借助神经网络简化矢量地图中的建筑物,本文提出了一种基于GCNN,将建筑物简化表述为节点移除分类和节点移动回归的联合任务。
实现代码:https: //github.com/chouisgiser/MapGeneralizer。
一、建筑物的图形表示
特征矩阵
一个N*D矩阵,其中N是构造多边形图的节点数,D=4是每个节点的特征特征数。包括前一条边和后一条边的长度,以及从给定节点的前一条边到后一条边的旋转角度和方向表示,如下图所示。(选这四个是因为作者用了很多特征工程,这四个好)
邻接矩阵
一个N*N矩阵表示多边形图中每对节点之间的邻接关系。1和0。
二、问题定义
本研究将建筑物的简化表述为两个子任务的联合任务,如图 2 所示:移除和移动单个建筑多边形的顶点。
(1)节点移除分类
如图 2 的上半部分所示,首先检测每个节点状态:移除、移动或保持静态,分别标记为 0、1 和 2,因此将此类过程建模为节点分类任务。
(2)节点移动回归
图 2 的下半部分,需要移动的多边形节点计算数值位移向量。这部分被表述为节点移动回归任务。本研究计算沿其前一条边和后一条边的方向的距离(图2红色虚线)。
总结:给定一个来自源地图的多边形图𝐺及其特征矩阵𝑋,构建简化的问题是学习映射函数:𝑓(𝐺,𝑋)→𝑌{0,1,2},其中𝑌{0,1,2}是一个包含三个元素的元组,表示从源构建到目标构建的节点操作,包括用于节点移除分类的三类标签,以及用于节点移动回归的沿前边和后边的数值移动距离。
图 2.将构建简化作为节点删除和节点移动的联合任务。首先进行节点移除分类,判断多边形图的每个节点是应该移除(0)、移动(1)还是保持静态(2),然后对移动的节点进行节点移动回归。
三、网络
(1)输入:4维节点特征矩阵和邻接矩阵可以基于图构建,然后作为模型的输入。
(2)节点移除分类层:如图3中的红框所示,引入3个图卷积神经(GCN)层,依次产生32维、16维和3维特征,提取多边形图特征进行节点移除分类。最后,应用 LogSoftmax 激活函数输出三类节点删除标签,即图 2 中的 0(已删除)、1(移动)和 2(保持静态)。
(3)节点移动回归层:节点移动回归任务还由两个子任务组成,分别预测每个节点沿前边和后边的位移距离。相应的层在图 3 中为蓝色。最初,由于节点位移应主要应用于从节点移除分类图层进行分类以移动的节点,因此通过将节点移除分类图层中提取的三维特征与原始输入的 4 维特征连接起来,将用于移动回归的输入节点特征扩展到 7 维。为了能够共享与回归位移距离相似的特征,首先引入了一个共享的GCN层(参见图3中的深蓝色框),然后应用两层图卷积来编码沿节点两个方向移动的图特征。最后,使用全连接(FC)层输出位移矢量。
四、GraphSAGE卷积运算
有许多图卷积算子,例如传统的图卷积算子(GCN),图注意力算子(GAT)和GraphSAGE算子。与卷积神经网络中的层传播一样,GCN 某一层的节点嵌入通过基于整个图的邻接矩阵和度矩阵聚合其前一层的节点嵌入来更新。考虑到 GCN 中节点嵌入的聚合不允许边缘连接节点的重要性,因此开发了 GAT 以聚合具有注意力权重的节点特征。然而,GCN和GAT中节点特征的更新都依赖于整个图的邻接矩阵和度矩阵,这意味着整个图的结构(例如节点数量)与节点嵌入的生成密切相关,因此GCN和GAT在学习节点数量不固定的图的节点嵌入方面并不灵活。此外,这样的全局更新也会对学习的计算效率产生负面影响。
GraphSAGE有能力解决这些限制。它与 GCN 和 GAT 的本质区别在于,它的目标是学习一组聚合器函数,通过对一定数量的相邻节点进行采样来在本地诱导和更新节点嵌入,而不是像 GCN 和 GAT 那样基于整个图结构更新节点嵌入。因此,GraphSAGE 具有更好的通用性,可以学习具有不固定节点的图的嵌入,并且计算效率也高于 GCN 和 GAT。由于单个建筑物的每个多边形图都有不同数量的节点,这意味着多边形图的结构彼此不同,因此选择GraphSAGE来执行所提出的模型中涉及的图卷积操作,如图3所示。值得注意的是,GraphSAGE中相邻节点的采样是随机执行的,以获得给定数量的节点。但是,由于我们概念化的多边形图是一个循环图,其中每个节点总是有两个相邻节点,这是一个很小的尺寸,因此我们直接将抽样大小设置为 2,以使模型去除抽样效应。
图 4.使用 GraphSAGE 生成多边形图节点嵌入的过程。