【论文阅读】Segment Anything Model for Road Network Graph Extraction

【论文阅读】Segment Anything Model for Road Network Graph Extraction (CVPRW 2024)

Paper链接:https://openaccess.thecvf.com/content/CVPR2024W/SG2RL/html/Hetang_Segment_Anything_Model_for_Road_Network_Graph_Extraction_CVPRW_2024_paper.html

文章目录

  • [【论文阅读】Segment Anything Model for Road Network Graph Extraction (CVPRW 2024)](#【论文阅读】Segment Anything Model for Road Network Graph Extraction (CVPRW 2024))
    • [1. 摘要](#1. 摘要)
    • [2. 方法](#2. 方法)
      • [2.1 整体结构](#2.1 整体结构)
      • [2.2 Image Encoder](#2.2 Image Encoder)
      • [2.3 Mask Decoder](#2.3 Mask Decoder)
      • [2.4 Topology Decoder](#2.4 Topology Decoder)
      • [2.5 Label Generation](#2.5 Label Generation)

1. 摘要

简单来说,本工作将矢量道路线提取的部分流程视为分割任务,利用SAM预训练模型的强大分割能力,实现了SOTA精度和极高的推理速度。

2. 方法

2.1 整体结构

SAM-Road整体由三个部分构成:

  1. Image Encoder:预训练SAM Image Encoder
  2. Geometry Decoder:即图中的Mask Decoder,由4层转置卷积构成,输出分割概率图
  3. Topology Decoder:由Transformer实现拓扑结构中的Message Passing

2.2 Image Encoder

采用最小版本,即ViT-B。训练时采用0.1倍的基础学习率来微调。

2.3 Mask Decoder

为了提升整体以及交叉点的提取精度,Mask Decoder同时输出两个通道数为1的masks ,形状为(H_img, W_img, 2)。

  1. mask_0用于提取graph vertices。首先,道路由连续的mask表示,因此,每个像素点均有可能是graph vertex。为了获取sparse vertices,本工作设计了一种用于抑制多余vertices的NMS算法。

    复制代码
    NMS of Vertices算法
    1. 根据threshold预处理,消除分数低的像素。
    2. 以d_v为抑制距离(类似目标检测NMS中的IoU),半径内保留分数最高的vertex。

    这一步可能出现road vertices分数大于附近intersections的情况,从而出现误消除intersections的情况。

  2. mask_1用于提取intersections。使用同样的NMS算法。

两个masks经处理后,对二者进行join,并将intersections设置较高的分数,再次应用NMS得到最终的graph vertices。

2.4 Topology Decoder

Topology Decoder由3层多头注意力组成,用于将"离散"的vertices连接成拓扑结构。

本方法目的是寻找每个顶点的一阶邻居,并将此视为二分类任务。步骤如下:

  1. 选择一个source vertex;

  2. 在 R n b r R_{nbr} Rnbr范围内选择至多 N n b r N_{nbr} Nnbr个target vertex,构成多个vertex pairs;

    注意,source vertex与每个target vertex都是一阶邻居关系

  3. 对所有选中的顶点计算特征(根据坐标,通过在特征图上进行Bilinear Sample得到顶点特征,即Figure 2中的Source Feat和Target Feat);

  4. 对所有vertex pairs计算offset,得到 d k d_{k} dk;

  5. 拼接Source Feat,Target Feat和 d k d_k dk,得到形状为 ( N n b r , 2 D f e a t + 2 ) (N_{nbr}, 2D_{feat}+2) (Nnbr,2Dfeat+2)的向量,并proj到 ( N n b r , D f e a t ) (N_{nbr}, D_{feat}) (Nnbr,Dfeat)作为query;

  6. 经3层多头注意力后,将query输入线性层得到分类logits,表示vertex pairs相连的概率。

2.5 Label Generation

  • Mask Labels

    1. 使用宽度为3个像素的mask代表道路线段;
    2. 使用半径为3个像素的mask代表intersections;
  • Topology Labels

    • 以教师强制方式训练Topology Decoder

      1. 均匀采样gt mask得到模拟概率图,在此基础上应用NMS Vertices等算法;
      2. 使用高斯分布对gt vertices坐标进行随机扰动;
相关推荐
宝贝儿好8 小时前
【强化学习实战】第十一章:Gymnasium库的介绍和使用(1)、出租车游戏代码详解(Sarsa & Q learning)
人工智能·python·深度学习·算法·游戏·机器学习
阿_旭12 小时前
基于YOLO26深度学习的交警手势识别系统【python源码+Pyqt5界面+数据集+训练代码】
人工智能·python·深度学习·交警手势识别
love530love13 小时前
Windows 11 源码编译 vLLM 0.16 完全指南(CUDA 12.6 / PyTorch 2.7.1+cu126)
人工智能·pytorch·windows·python·深度学习·comfyui·vllm
有Li15 小时前
CIA-net:用于多模态MRI卵巢肿瘤分割的跨模态交互与聚合网络/文献速递-大模型与图像分割在医疗影像中应用
论文阅读·人工智能·深度学习·计算机视觉·文献
WeeJot嵌入式15 小时前
ICLR 2026低秩Transformer解决方案:多变量时间序列异常检测与定位的数学原理
人工智能·深度学习·transformer
工业甲酰苯胺17 小时前
制造业数字化转型:低代码核心系统技术解析与落地实践
人工智能·深度学习·低代码
卓律涤17 小时前
【工作篇】 Dell机架式服务器,采用RAID 5,怎么部署win系统
运维·服务器·单片机·嵌入式硬件·深度学习·程序人生·安全
敲代码的猴先生18 小时前
论文分享 | TwinBreak:基于孪生提示词的大模型安全对齐越狱攻击
论文阅读·人工智能·安全·语言模型
Tadas-Gao18 小时前
从暴力美学到理性重构:Transformer架构的黄昏与后AI时代的新曙光
人工智能·深度学习·架构·大模型·transformer