Segment Anything Model for Road Network Graph Extraction道路网络图提取的任意分割模型

只用了SAMImage Encoder!!!

提出的SAM- road,用于从影像中提取矢量化道路网络图。为了预测图形几何,我们将其表述为密集语义分割任务。对SAM的图像编码器进行微调,生成道路和交叉口的概率掩模,通过简单的非极大值抑制提取图顶点。为了预测图拓扑,我们设计了一个轻量级的基于transformer的图神经网络,该网络利用SAM图像嵌入来估计顶点之间的边缘存在概率。我们的方法直接预测大区域的图顶点和边,而不需要昂贵和复杂的后处理启发式,并且能够在几秒钟内构建跨越多平方公里的完整道路网络图。凭借其简单的设计,SAM-Road达到了与最先进的方法RNGDet++相当的精度,同时在城市规模数据集上快40倍。该代码可在https://github.com/htcr/sam road上获得。

路网图通常以矢量化格式存储,由顶点和边组成。顶点可以表示路口,边可以表示路段。我们将问题分为两个主要部分:几何预测和拓扑推理。我们用一组2D顶点来建模图形几何,当密集采样时,这些顶点准确地反映了图形的整体形状。SAM-Road模型预测密集掩模来表示道路元素的可能性,然后使用简单的非最大抑制将像素转换为所需密度的顶点。

基于分割的映射方法的一个显著挑战是从密集图像推断拓扑的困难。这种方法通常依赖于缓慢而复杂的后处理启发式,即使有额外的指示方向和连接的通道,它们仍然容易出错。受基于学习的图预测的启发,我们开发了一个基于transformer的图神经网络作为我们模型的第二阶段。该网络的重点是预测每个顶点周围的局部子图,并确定与附近顶点的连通性,以建立总体图拓扑。它利用相对顶点位置和来自SAM主干的图像嵌入来指导其预测。

2.相关工作

对路网图检测代表性的方法分为两类:基于分割的方法和基于图的方法。

基于分割的方法将任务视为密集掩码预测。它们通过一张或多张图像来表示路网图结构,然后采用细化和寻径等后处理启发式方法提取矢量化图结构。

这种方法的好处:1)分割掩码能够将复杂的几何形状表示为自下而上的体积表示;2)易于对大面积进行并行的逐块推理,以及随后的结果聚合以进行细化。

挑战:手工制作的启发式算法往往因掩模质量差而失败;即使使用高质量的掩模,从中导出的拓扑结构仍然是病态的。对于所有复杂的道路结构,如多路交叉口、多车道公路、立交桥等,不存在通用的启发式算法。此外,启发式算法往往依赖于cpu密集型逻辑,这往往成为推理速度的瓶颈。

基于图的方法提供了一种更加端到端的方法,它直接以矢量化形式预测图节点和边缘。局限性:1)由于transformer层的计算复杂度为O(N2),难以处理几十个实体,限制了它们对可能有数千个节点和边的城市规模道路网络图的适用性;2)自回归方法难以并行化,因为它们依赖于之前步骤的结果,大大减缓了过程。

我们的方法结合了基于分割和基于图的方法的优点。它利用SAM生成用于几何预测的高质量掩模,并使用基于transformer的图神经网络直接生成图结构,而无需手工制作的后处理启发式。

3. 方法

3.1 总体架构

SAM-Road的总体结构如图1所示。它包含一个从预训练的SAM中提取的图像编码器,一个几何解码器和一个拓扑解码器。该模型以RGB影像作为输入。首先,图像编码器生成图像特征嵌入。然后,几何解码器预测道路和十字路口的每像素存在概率。通过一个简单的非最大值抑制过程,从这些掩模中提取代表二维位置的图顶点集V{vi∈R 2},详细内容见算法1。给定预测的顶点,拓扑解码器遍历每个顶点,根据其本地上下文确定是否应该在给定半径Rnbr内连接到附近的顶点。对于一条边(vi, vj),它预测了它存在的概率。一条边可以被预测多次,它的最终得分将是平均值。最终,路网图G被预测为顶点V和边E的集合。

图1 SAM-Road:直接从输入的RGB图像中预测矢量化的图形顶点(黄色)和边缘(橙色)

3.2. 图像编码器

我们使用最小的ViT-B变体,在训练过程中,我们以0.1倍的基本学习率对整个图像编码器进行微调,使其适应卫星图像。

3.3. 几何解码器

掩码解码器有一个极简的设计:它只是4个转置卷积层,3 × 3核和步幅2,每个空间特征分辨率加倍,减少通道数。最终生成两个与输入图像大小相同的(Himg, Wing, 2)张量的概率图,表示路口点和道路的存在概率。

获取掩码后,从中提取图顶点。这个过程将密集的掩模图像转换成一组稀疏的顶点,它们之间的间隔dv大致相同。它是通过简单的非最大值抑制实现的:我们首先将像素置于概率阈值t之下,然后按概率降序遍历它们。在当前一个dv半径内的像素被移除。剩余像素点的(x, y)位置构成图形顶点V{vi∈R2}。参见算法1。(这样就将一组mask转为许多顶点)

我们预测了十字路口和道路的掩模,以获得更准确的十字路口图结构。如果只有道路遮罩存在,则不能保证保持路口的中心点,从而产生如图5所示的错误模式。为了缓解这个问题:1)用相同的NMS算法从两个掩码中提取顶点。

图5 左:标准SAM路。中间:无交叉掩码。十字路口明显比较嘈杂。右图:使用Astar算法进行拓扑预测,导致许多误报连接。

2)将两组点连接起来,所有相交点的得分高于任何道路点的得分。3)然后将合并后的集合再次进行NMS-ed以产生最终结果。这可以确保尽可能多地保留交点。

3.4拓扑解码器

拓扑解码器将预测的图顶点“连接”到正确的结构中。它是一种基于transformer的图神经网络预测边是否存在的。它预测每个顶点周围的小局部子图中边的存在概率。具体来说,对于给定的源顶点,在半径为Rnbr的范围内,最多可以找到Nnbr个最近的顶点。这些就是目标顶点。然后,拓扑解码器根据每个目标的空间布局和图像上下文预测源顶点是否与每个目标连接。图2进一步说明了这一点。

图 2 说明拓扑标签的定义。在(a)中,白色虚线圈表示Rnbr;较大的点是源节点,较小的黄色点是目标节点。橙色的线是连接的对。在(b)中,给出了一些用于训练的真实拓扑样本。对一个源节点的查询以相同的颜色显示。白线为正标签,无线为负标签

下面来解释如何运行图网络)我们将拓扑预测任务表述为基于图像上下文的(Vsrc, Vtgt)顶点对的二值分类问题。解码器的输入是一个高维特征向量序列

,其中f src和ftgt k是顶点特征。它们是在源顶点和目标顶点位置从SAM图像特征映射中进行双线性采样获得的图像嵌入向量。dk是从源到第k个目标的偏移量,来编码感兴趣顶点的相对空间布局。这些向量被连接到一个形状为(Nnbr, 2Dfeat + 2)的张量,然后投影到一个(Nnbr, Dfeat)特征张量。我们将Nnbr维度作为序列长度,并将其通过3个带有ReLU激活的多头自关注层进行消息传递,以理解多跳结构。将相互作用的特征序列形状(Nnbr, Dfeat)送入线性层,得到Nnbr二分类逻辑。sigmoid层将这些转换为(0,1)概率,表示边存在的可能性。

3.5. 标签生成(2个)

Mask标签。对于道路掩模标签,我们栅格化groundtruth道路线,将每个边缘绘制为线段,宽度为3像素。线段所覆盖的像素设置为1,其他像素设置为0。对于交集标签,我们找到度数不等于2的所有图形顶点,并将它们渲染为半径为3像素的圆。这部分是受OpenPose工作的启发,该工作将人体关键点图形表示为热图。

拓扑标签。在训练过程中,我们不运行顶点提取过程。拓扑解码器以教师强制的方式进行训练,其中被要求的顶点不是来自模型预测,而是从groundtruth道路网络图中采样以模拟预测。这是通过首先细分真值图,然后运行与推理阶段相同的NMS过程来实现的。为了模拟各种NMS结果,为每个细分顶点分配统一的随机分数。

有了模拟的顶点预测,我们随机采样源顶点,并应用3.4节中描述的规则来查找其目标和连接标签。此外,在顶点坐标上施加一个小的随机高斯扰动来模拟预测噪声,以获得更好的泛化。

使用的数据集中的卫星图像覆盖了4平方公里的大正方形区域,因此我们将RGB图像、ground-truth mask和图形随机裁剪成更小的patch,以获得更多的训练样本并保持内存消耗可控。

  • 17
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值