Paper: arxiv.org/pdf/2007.09547.pdf (ECCV 2020)
code:https://github.com/songtaohe/Sat2Graph
1 摘要
从卫星图像中推断道路图是一项具有挑战性的计算机视觉任务。之前的解决方案分为两类:(1)基于像素分割的方法,预测每个像素是否在道路上,以及(2)基于图的方法,迭代地预测道路图。我们发现,这两种方法有互补的优势,但也有它们自己内在的限制。
在本文中,我们提出了一种新的方法,sat2graph,它将前面两个类别的优点结合到一个统一的框架中。sat2graph的关键思想是一种新的编码方案,图张量编码(graph-tensor encoding,GTE),它将道路图编码为张量表示。GTE使得可以训练一个简单的、非循环的、有监督的模型来预测直接从图像中捕获图结构的丰富特征集。我们使用两个大的数据集来评估sat2graph。我们发现sat2graph在两种广泛使用的度量指标,TOPO和APLS上超过了先前的方法。此外,虽然之前的工作只推断出平面道路图,但我们的方法能够推断出堆积的道路(如立交桥),并且做得很好。
2 论文的贡献
- 在美国20个城市和流行的720km2区域的大型城市数据集的评估中,在广泛使用的拓扑相似度度量上超过了最先进的方法。
- sat2graph可以自然地推断出堆积的道路,而之前的方法无法处理(如图1所示)。
3 方法
在这一节中,我们展示了我们提出的方法的细节——Sat2图。卫星2图依赖于一种新的编码方案,可以将道路网络图编码为一个三维张量。我们称此编码方案为图形张量编码(graph-tensor encoding,GTE)。这种图张量编码方案允许我们训练一个简单的、非递归的神经网络模型,以将输入的卫星图像直接映射到道路网络图(即边缘和顶点)。如前言所述,该图的构造策略结合了基于分割和基于图的方法的优点。
Graph-Tensor Encoding (GTE)
我们在图2(a)中展示了图张量编码(GTE)方案。对于覆盖W米区域的道路网图G={V、E},GTE使用W / λ×H / λ ×(1+3·Dmax)3D张量(表示为T)来存储图的编码。这里,λ是空间分辨率,即1米,它限制了编码图,在λ×λ网格中没有两个顶点,Dmax是每个λ×λ网格中可以编码的最大边
T的前二维对应于二维平面上的两个空间轴。我们使用向量在每个空间位置u(x,y)=[Tx,y,1,Tx,y,2,…,Tx,y(1+3·Dmax]]来编码图形信息。如图2(a)所示,矢量u(x、y)具有(1个+3·Dmax)元素。它的第一个元素pv∈[0,1](顶点)编码在位置(x,y)有顶点为的概率。第一个元素后面的是Dmax3元素组,每个元素组编码来自位置(x、y)的潜在输出边缘的信息。对于i-3元素组,它的第一个元素pei∈[0,1](边缘)编码有一个输出边向(dxi,dyi)的概率,即指向从(x,y)到(x+xdxi,y+dyi)的边。在这里,我们将Dmax设置为6,因为我们发现度大于6的顶点在道路网络图中非常罕见。
为了减少同一输入图中可能存在的不同同构编码的数量,GTE仅使用i-第3个元素组来编码指向D360最大度扇区的边缘,从(i−1)·D360最大度到i·D360最大度。我们在图2(a)中显示此限制和示例边缘(红色)。这种策略对编码图施加了一个新的限制——对于编码图中的每个顶点,对每个D360最大度扇区最多只能有一个输出边。然而,我们发现这一限制并不影响GTE对大多数道路图的表示能力。这是因为由GTE编码的图是无定向的。我们将在第5节中对此展开讨论。
Encode
将道路网络图编码成GTE是很简单的。对于路网提取应用,编码算法首先对路网图中的直线路段进行插值。它选择平均间距的中间点的最小数量,以便连续点之间的距离小于d米。这种插值策略调节了GTE中边缘向量的长度,使训练过程稳定。这里是一个很小的d值,e.g.,d<5,将GTE转换为道路分割,使得GTE无法代表堆叠道路。一个非常大的d值,例如。d=50,使GTE很难接近曲线优美的道路。由于这些原因,我们认为在15到25之间的d值效果最好。在我们的设置中,我们将d设置为20。
对于堆叠的道路,插值可以产生属于位于同一位置的两个重叠路段的顶点。当这种情况发生时,我们使用一个迭代的冲突解决算法来移动两条边的端点顶点的位置。其目标是确保任何两个顶点(从两个重叠的边缘)之间的距离大于5米。在训练过程中,这种解决冲突的预处理也会产生对堆叠道路的更一致的监督信号,—重叠的边缘往往总是在每条边缘的中间交叉。在此步骤之后,编码算法按照图2(a)所示的方案将每个顶点映射到3D张量T。例如,当位置(x、y)有顶点时,算法将ux、y的顶点(pv)设置为1,否则顶点将设置为0。
decode
GTE的解码算法将预测的GTE(通常有噪声)转换为常规图形格式(G={V、E})。解码算法包括两个步骤,(1)顶点提取和,(2)边缘连接。由于顶点预测和边缘度预测都是0和1之间的实数,因此我们只考虑概率大于阈值(用pthr表示)的顶点和边。
在顶点提取步骤中,解码算法通过定位顶点映射的局部最大值来提取潜在顶点(如图2(b)示)。该算法只考虑顶度大于pthr的局部极大值。
在边缘连接步骤中,对于每个候选顶点v∈V,解码算法将其输出的边缘连接到其他顶点。对于顶点v∈V的第i个边,该算法通过以下距离函数计算其到所有附近顶点u的距离,
其中余弦距离(v1、v2)是两个向量的余弦距离,w是距离函数中余弦距离的权重。在这里,我们将w设置为一个很大的数,即,100,以避免错误的连接。在计算了这个距离后,解码算法得到一个顶点u0,使距离函数d(v,i,u)最小化,并在v和u0之间增加一条边。我们设置了一个最大距离阈值,即15米,以避免在附近没有好的候选顶点时向图中添加不正确的边。
实验结果