前言

【视觉定位】 指估计拍摄一幅图像时相机的 位姿.

这可以是六自由度、三自由度或者两自由度的位姿,要想获得准确的位姿估计结果,一般都需要一个地图先验。发展研究至今,出现了许许多多的地图形式,这包括传统的点云地图(稀疏/稠密)、压缩后的点云地图、Mesh地图、CAD地图、线地图、神经网络隐式表征的地图、平面图、无地图等等各种形式地图。

如果把三维地图看成对真实世界的“数字化表达”,那么不同地图类型,本质上是在回答同一个问题:

我们究竟想用什么形式,去描述这个三维世界?

有的表达追求轻量、实时、便于定位
有的表达追求细节完整、便于感知与重建
有的表达追求表面连续、便于渲染与仿真
还有的表达追求工程精确、便于设计、制造与长期维护

本文汇总视觉定位常见几种地图并附带 原理、优缺点、应用场景与当前发展


提示:以下是本篇文章正文内容,下面案例可供参考
在这里插入图片描述


一、稀疏点云地图

首先是点云地图,这是目前视觉定位中最常见的一种地图形式,一般由SFM或者SLAM生成构造。

1.1 定义与原理

什么是稀疏点云地图?

稀疏点云地图是一种用少量、具有代表性的三维特征点来表达环境结构的地图。
这些点通常来自图像中的角点、纹理显著点或重复可匹配的局部特征,例如建筑边角、路标、纹理丰富区域等。

它的核心思想不是“把场景所有地方都采样出来”,而是:

只保留那些最有利于定位、匹配和几何恢复的关键点。

因此,稀疏点云地图常见于:

  • Structure from Motion(SfM)
  • Visual SLAM
  • Visual Odometry(VO)
  • 基于特征点的重定位系统

可以把它想象成这样:

  • 你面对一个房间,不需要把墙面上每一平方厘米都记住;
  • 你只要记住门把手、桌角、窗框、海报边缘这些“有辨识度”的地方;
  • 下次再看到这些特征,就能快速判断自己在房间中的位置。

这就是稀疏点云地图的思路。

在这里插入图片描述

如何通过视觉传感器(如单目或双目相机)生成稀疏点云?
  • 视觉传感器数据采集: 使用单目或双目相机捕捉图像,通过图像处理技术提取特征点。
  • 特征点提取: 利用算法(如SIFT、SURF、ORB等)从图像中提取关键点和描述符。
  • 三维坐标计算: 通过三角测量法,结合多视角的图像数据,计算出特征点在三维空间中的坐标。
  • 地图构建: 将计算出的三维坐标点云组合起来,形成稀疏点云地图。

数学表达与基本公式

稀疏点云地图最经典的数学基础来自多视图几何。

1)三维点集合表达

一张稀疏点云地图通常可以表示为:

P = { X i ∈ R 3 ∣ i = 1 , 2 , … , N } \mathcal{P}=\{\mathbf{X}_i \in \mathbb{R}^3 \mid i=1,2,\dots,N\} P={XiR3i=1,2,,N}

其中:

  • X i = ( x i , y i , z i ) T \mathbf{X}_i=(x_i,y_i,z_i)^T Xi=(xi,yi,zi)T 表示第 i i i 个三维点;
  • N N N 是地图中的关键三维点数量。

2)相机投影模型

图像中的像素点和三维空间点之间通过相机成像模型联系起来:

x i j ∼ K [ R j ∣ t j ] X i \mathbf{x}_{ij} \sim \mathbf{K}[\mathbf{R}_j \mid \mathbf{t}_j]\mathbf{X}_i xijK[Rjtj]Xi

其中:

  • X i \mathbf{X}_i Xi:第 i i i 个三维点;
  • R j , t j \mathbf{R}_j, \mathbf{t}_j Rj,tj:第 j j j 帧相机位姿;
  • K \mathbf{K} K:相机内参矩阵;
  • x i j \mathbf{x}_{ij} xij:三维点在第 j j j 张图像中的投影像素。

这条公式本质上说明:

三维地图点和图像观测之间,是通过相机模型绑定在一起的。


3)三角化

如果一个特征点在多张图像中被观测到,就可以通过三角化恢复它的三维位置。

理想情况下,三维点 X \mathbf{X} X 应满足多视角射线尽量相交。实际中常通过最小化重投影误差求解:

min ⁡ X ∑ j ∥ x j − π ( T j , X ) ∥ 2 \min_{\mathbf{X}} \sum_j \left\| \mathbf{x}_j - \pi(\mathbf{T}_j,\mathbf{X}) \right\|^2 Xminjxjπ(Tj,X)2

其中 π ( ⋅ ) \pi(\cdot) π() 表示投影函数。


4)Bundle Adjustment(BA)

BA 是稀疏点云地图最核心的优化步骤之一,它同时优化相机位姿和三维点位置:

min ⁡ { T j } , { X i } ∑ i , j ∥ x i j − π ( T j , X i ) ∥ 2 \min_{\{\mathbf{T}_j\},\{\mathbf{X}_i\}} \sum_{i,j} \left\| \mathbf{x}_{ij} - \pi(\mathbf{T}_j,\mathbf{X}_i) \right\|^2 {Tj},{Xi}mini,jxijπ(Tj,Xi)2

可以把 BA 理解为:

不断调整“相机轨迹”和“地图点位置”,让所有图像观测尽可能解释得通。

主要生成方式与系统链路
阶段输入输出典型方法
图像采集单目/双目/RGB 相机图像图像序列相机、移动平台、机器人
特征提取图像关键点+描述子SIFT、SURF、ORB、FAST+BRIEF
特征匹配相邻帧/多帧图像匹配对暴力匹配、FLANN、Hamming 匹配
几何验证匹配点内点匹配RANSAC、基础矩阵/本质矩阵估计
位姿恢复匹配观测相机位姿五点法、PnP、EPnP
三角化多视图匹配+位姿三维点Linear Triangulation、Optimal Triangulation
全局优化位姿+地图点稳定稀疏地图Bundle Adjustment、Pose Graph

1.2 应用场景

相关核心与经典算法:
算法类别代表算法作用备注
特征检测Harris、FAST、DoG找到图像中稳定关键点是前端起点
特征描述SIFT、SURF、BRIEF、ORB构造可匹配描述子决定匹配稳定性
几何约束Eight-point、Five-point求基础矩阵/本质矩阵多视图几何核心
位姿求解PnP、EPnP、UPnP已知 3D-2D 对应求位姿重定位常用
三角化DLT、Midpoint、Optimal Triangulation恢复三维点坐标地图点生成核心
后端优化BA、Pose Graph Optimization全局一致性优化精度关键来源
系统代表PTAM、ORB-SLAM、COLMAP经典稀疏视觉地图系统工程影响力很大
场景为什么适合
视觉 SLAM稀疏特征足够支撑定位和闭环检测
视觉里程计通过连续帧特征跟踪估计位姿变化
AR/VR 初始定位稀疏地图轻量、适合实时识别环境特征
机器人导航中的重定位能快速做 2D-3D/3D-3D 匹配
SfM 建图适合作为多视图重建的第一阶段结果
  1. SLAM(同步定位与地图构建)中的应用:
    稀疏点云地图在SLAM中用于 实时定位地图更新。通过与已知地图的匹配,机器人或自动驾驶车辆可以确定其在环境中的位置。

  2. 在视觉里程计中的作用:
    视觉里程计依赖于稀疏点云地图来估计相机的位姿变化。通过比较连续帧之间的点云差异,可以计算出相机的移动。


1.3 信息量

【含有】

  • 空间几何结构信息:

    • 【物体轮廓与位置】:了解物体大致形状和方位、帮助确定自身的大致相对位置
    • 【空间布局】:展现不同物体之间的相对距离和分布情况,有助于规划路径,避免碰撞
  • 特征信息:

    • 【显著特征点】:如角点、边缘点等。这些特征点具有独特的几何属性,能够被快速识别和匹配。
    • 【颜色特征】:部分稀疏点云地图可能会携带颜色信息
  • 动态变化信息:

    • 【移动迹象】:不同时间点的对比可以反映出物体的移动迹象
    • 【地图更新依据】:动态变化信息可以作为地图更新的依据

【缺乏】

  • 细节信息:
    • 【物体表面纹理缺失】:稀疏点云地图难以呈现物体表面的纹理细节。无法从稀疏点云地图地图中分辨出物体表面是光滑的、粗糙的,还是具有特定图案的
    • 【小尺寸物体模糊】:由于采集的点云较为稀疏,小物体可能只被几个点或者根本没有点表示出来。
  • 几何不精确
    • 【曲面表达失真】:稀疏点云地图很难准确地描述其曲面形状。它只能给出大致的轮廓,无法精确地反映曲面的曲率变化等细节。
    • 【尺寸失真】:由于采集的点云较为稀疏,通过稀疏点云地图确定物体的尺寸可能存在较大误差。
  • 语义信息缺乏
    • 【物体类别确定困难】:稀疏点云地图本身通常不包含物体的语义信息
    • 【场景理解困难】:缺乏语义信息使得对整个场景的理解变得困难。难以从稀疏点云地图中判断出当前所处的场景是城市街道、公园还是室内空间

1.4 优缺点

【优点】发展起步很早,各种相关算法都比较成熟,比如点的特征提取、匹配、对极几何、三角化、BA、PNP等等;所以以此为基础的视觉定位算法精度、鲁棒性都很高。

  • 高效性: 稀疏点云地图只包含关键特征点,减少了数据量,提高了处理速度。
  • 低计算资源需求: 由于数据量小,对计算资源的需求较低,适合资源有限的设备。
  • 实时性: 适合实时应用,如自动驾驶和机器人导航。

【缺点】由于点云地图中三维点数量庞大,其实相对于视觉定位任务来说是冗余的,所以其地图的存储消耗比较大,计算效率往往不高,这限制了在移动端的应用部署。

  • 细节表现上的局限性: 稀疏点云地图可能无法捕捉到环境中的所有细节,特别是在纹理较少的区域。
  • 环境变化敏感: 如果环境发生变化,如物体移动,稀疏点云地图可能无法准确反映新的环境状态。
  • 光照条件限制: 在光照条件不佳的情况下,特征点提取的效果可能会受到影响,从而影响地图的准确性。

二、稠密点云地图

在这里插入图片描述

2.1 定义与原理

什么是稠密点云地图?

稠密点云地图是一种使用 大量三维采样点 来表达场景几何结构的地图。
与稀疏点云相比,它不仅保留关键位置,还会尽量覆盖物体表面的大部分区域,因此能提供 更丰富、更细致的几何信息

生成方法:
  • 深度相机: 使用深度相机(如Kinect或RealSense)直接获取物体表面的三维坐标。
  • 激光雷达(LiDAR): 通过发射激光脉冲并测量反射回来的时间,计算出物体的距离,从而生成点云。
  • 多视角立体视觉: 结合多个相机从不同角度拍摄的图像,通过立体匹配算法计算出每个像素点的三维坐标。

数学表达与基本公式
1)点云集合表达

稠密点云地图一般表示为:

P = { p i ∈ R 3 } i = 1 N \mathcal{P}=\{\mathbf{p}_i \in \mathbb{R}^3\}_{i=1}^{N} P={piR3}i=1N

其中:

  • p i = ( x i , y i , z i ) T \mathbf{p}_i=(x_i,y_i,z_i)^T pi=(xi,yi,zi)T 为第 i i i 个三维点;
  • N N N 一般远大于稀疏点云中的点数。

在很多系统中,一个点还会附带额外属性:

p i = ( x i , y i , z i , n i , c i ) \mathbf{p}_i=(x_i,y_i,z_i,\mathbf{n}_i,\mathbf{c}_i) pi=(xi,yi,zi,ni,ci)

其中:

  • n i \mathbf{n}_i ni:法向量;
  • c i \mathbf{c}_i ci:颜色或反射强度。

2)深度反投影模型

如果点云来自深度图,那么每个像素都可以反投影到三维空间:

X ( u , v ) = D ( u , v ) K − 1 [ u v 1 ] \mathbf{X}(u,v)=D(u,v)\mathbf{K}^{-1} \begin{bmatrix} u\\ v\\ 1 \end{bmatrix} X(u,v)=D(u,v)K1 uv1

其中:

  • D ( u , v ) D(u,v) D(u,v):像素 ( u , v ) (u,v) (u,v) 处的深度值;
  • K \mathbf{K} K:相机内参矩阵。

这条公式说明:

深度图本质上是“每个像素对应一个三维距离”,经过相机模型反投影后就能得到三维点。


3)点云配准

多帧点云通常位于不同坐标系中,因此需要进行对齐。最经典的方法之一是 ICP,其基本形式为:

min ⁡ R , t ∑ i ∥ q i − ( R p i + t ) ∥ 2 \min_{\mathbf{R},\mathbf{t}} \sum_i \left\| \mathbf{q}_i-(\mathbf{R}\mathbf{p}_i+\mathbf{t}) \right\|^2 R,tminiqi(Rpi+t)2

其中:

  • p i \mathbf{p}_i pi:源点云中的点;
  • q i \mathbf{q}_i qi:目标点云中的对应点;
  • R , t \mathbf{R},\mathbf{t} R,t:待求的刚体变换。

如果使用点到平面形式,则常写为:

min ⁡ R , t ∑ i ( n i T ( R p i + t − q i ) ) 2 \min_{\mathbf{R},\mathbf{t}} \sum_i \left( \mathbf{n}_i^T(\mathbf{R}\mathbf{p}_i+\mathbf{t}-\mathbf{q}_i) \right)^2 R,tmini(niT(Rpi+tqi))2

这类方法的目标是:

把不同时间、不同视角采到的点云拼接到同一个统一坐标系里。


4)多帧融合

在多帧建图中,系统会不断把新点云融合到已有地图:

P t + 1 = P t ∪ P new \mathcal{P}_{t+1} = \mathcal{P}_t \cup \mathcal{P}_{\text{new}} Pt+1=PtPnew

实际系统中往往还会配合:

  • 去噪
  • 体素下采样
  • 法向估计
  • TSDF 融合
  • 八叉树或哈希体素管理

主要生成方式与系统链路

阶段输入输出典型方法
数据采集LiDAR / 深度相机 / 多视图图像原始观测传感器采样
深度恢复图像或扫描数据深度图/原始点云Stereo Matching、MVS、ToF
点云生成深度图/激光回波三维点集反投影、极坐标转笛卡尔坐标
多帧配准多帧点云对齐点云ICP、Point-to-Plane ICP、GICP、NDT
融合优化对齐点云稠密点云地图TSDF、体素融合、滤波
后处理原始地图更干净的点云去噪、重采样、法向估计

2.2 应用场景

算法类别核心算法主要作用
立体匹配SGM、PatchMatch Stereo从图像恢复稠密深度
点云配准ICP、Point-to-Plane ICP、GICP、NDT对齐不同帧点云
激光建图LOAM、LeGO-LOAM、FAST-LIO 系列实时激光 SLAM
深度融合KinectFusion、Voxel Hashing、TSDF Fusion多帧深度融合
点云后处理Statistical Outlier Removal、Voxel Grid、MLS去噪与重采样
场景作用
自动驾驶高精定位、障碍感知、环境建模
建筑测绘快速获取高精度三维现场数据
文保与三维扫描记录真实对象几何外形
机器人导航建立丰富的环境几何地图
三维重建作为 Mesh 和表面重建的重要输入
  1. 自动驾驶中的高精度定位:
    稠密点云地图可以提供丰富的环境细节,有助于自动驾驶车辆进行 精确的定位路径规划

  2. 建筑、3D重建中的使用:
    在建筑领域,稠密点云可以用于创建建筑物的精确三维模型,有助于设计、施工和维护。
    在3D重建中,稠密点云是构建真实世界物体三维模型的基础。


2.3 信息量

【含有】

  • 空间几何结构信息:

    • 【物体轮廓与位置】:了解物体大致形状和方位、帮助确定自身的大致相对位置
    • 【空间布局】:展现不同物体之间的相对距离和分布情况,有助于规划路径,避免碰撞
  • 特征信息:

    • 【显著特征点】:如角点、边缘点等。这些特征点具有独特的几何属性,能够被快速识别和匹配。
    • 【颜色特征】:部分稀疏点云地图可能会携带颜色信息
  • 动态变化信息:

    • 【移动迹象】:不同时间点的对比可以反映出物体的移动迹象
    • 【地图更新依据】:动态变化信息可以作为地图更新的依据

【缺乏】

  • 内部结构信息:
    • 【遮挡部分信息】:对于被遮挡的部分,点云地图无法提供准确信息。比如被建筑物遮挡的道路情况
    • 【内部构造信息】:只能展示物体的外部形状,对于物体的内部结构一无所知。
  • 动态行为信息:
    • 【运动状态】:不能直接反映物体的运动状态,比如车辆的行驶速度、行人的行走方向等。即使是动态采集的点云地图,也只是在不同时间点的静态记录,难以捕捉物体的连续运动行为。
    • 【交互关系】:对于物体之间的动态交互关系无法体现,比如车辆之间的碰撞风险、人与物体的交互动作等。
  • 语义信息

2.4 优缺点

【优点】稠密点云地图在提供丰富细节的同时,也带来了对计算和存储资源的高需求。

  • 高细节度: 稠密点云地图可以提供丰富的细节信息,非常适合需要精确环境描述的应用。
  • 高精度: 通过高精度传感器如激光雷达生成的点云,可以非常精确地反映物体的形状和位置。
  • 全面性: 能够覆盖整个场景,提供全面的三维信息。
  • 适用于复杂场景: 在复杂或动态变化的环境中,稠密点云地图可以提供更可靠的数据。
  • 可用于多种应用: 可以用于自动驾驶、机器人导航、3D建模、城市规划、考古、环境监测等多种领域。
  • 数据丰富性: 可以用于机器学习和计算机视觉算法的训练,提供丰富的训练样本。

【缺点】

  • 计算密集: 生成和处理稠密点云需要大量的计算资源,尤其是在实时应用中。
  • 存储需求大: 稠密点云数据量巨大,需要大量的存储空间。
  • 数据冗余: 在某些情况下,稠密点云可能包含大量不必要的数据,导致数据冗余。
  • 处理时间长: 由于数据量大,稠密点云的生成和处理通常需要较长时间。
  • 对硬件要求高: 需要高性能的硬件来处理稠密点云,这可能增加了成本。
  • 易受噪声影响: 传感器噪声和环境变化可能导致点云数据中的误差。
  • 数据融合挑战: 当从多个传感器或视角获取数据时,融合这些数据以生成一致的点云地图可能是一个挑战。
  • 后处理需求: 通常需要后处理步骤来滤除异常值、去噪和优化点云。

2.5 技术挑战

高计算和存储要求应对策略-
计算资源硬件优化高性能的处理器和图形处理单元(GPU)来加速计算
存储需求数据压缩采用数据压缩技术减少存储需求,同时保证数据质量
实时处理云计算利用云计算资源进行数据处理和存储,减轻本地设备的负担
高计算和存储要求:
  1. 计算资源: 稠密点云的生成和处理需要大量的计算资源,因为涉及到大量的数据点和复杂的算法。
  2. 存储需求: 稠密点云数据量大,需要较大的存储空间来保存。
  3. 实时处理: 在某些应用中,如自动驾驶,需要实时生成和更新稠密点云,这对计算速度提出了更高的要求。
应对策略:
  1. 硬件优化: 使用高性能的处理器和图形处理单元(GPU)来加速计算。
  2. 算法优化: 开发更高效的算法来减少计算量,例如使用多分辨率表示或视点简化技术。
  3. 数据压缩: 采用数据压缩技术减少存储需求,同时保证数据质量。
  4. 云计算: 利用云计算资源进行数据处理和存储,减轻本地设备的负担。

三、Mesh地图

3.1 定义与原理

在这里插入图片描述
在这里插入图片描述

Mesh 地图是一种三维地图,它由多个多边形(通常是三角形)组成,这些多边形连接在一起形成一个网格,用以表示三维空间中的表面。

与点云只记录“这里有点”不同,Mesh 地图进一步记录:

这些点之间是如何连接成连续表面的。

因此,Mesh 地图更适合用于三维可视化、物理仿真、碰撞检测和纹理映射。

【原理】

  1. 表面重建: 从点云、深度图或隐式场恢复连续表面。
  2. 网格生成: 将表面离散为多个多边形面片,最常见的是三角形。
  3. 拓扑组织: 记录顶点、边和面之间的连接关系。
  4. 纹理映射: 将图像或颜色信息附着到表面,提高可视化效果。

数学表达与基本公式理论

1)Mesh 的基本表示

一个网格模型通常表示为:

M = ( V , E , F ) \mathcal{M}=(V,E,F) M=(V,E,F)

其中:

  • V = { v i } V=\{\mathbf{v}_i\} V={vi}:顶点集合;
  • E E E:边集合;
  • F F F:面集合。

如果是三角网格,则一个面可以写成:

f k = ( i , j , m ) f_k=(i,j,m) fk=(i,j,m)

表示第 k k k 个三角形由第 i , j , m i,j,m i,j,m 个顶点构成。


2)三角面片插值

三角形内部任意一点都可以通过重心坐标表示为:

p = α v 1 + β v 2 + γ v 3 , α + β + γ = 1 \mathbf{p}=\alpha \mathbf{v}_1+\beta \mathbf{v}_2+\gamma \mathbf{v}_3, \quad \alpha+\beta+\gamma=1 p=αv1+βv2+γv3,α+β+γ=1

这说明:

三角网格虽然由很多离散面片构成,但每个面片内部仍然可以连续表达位置。


3)法向计算

三角面片法向常用叉乘计算:

n = ( v 2 − v 1 ) × ( v 3 − v 1 ) ∥ ( v 2 − v 1 ) × ( v 3 − v 1 ) ∥ \mathbf{n}= \frac{(\mathbf{v}_2-\mathbf{v}_1)\times(\mathbf{v}_3-\mathbf{v}_1)} {\|(\mathbf{v}_2-\mathbf{v}_1)\times(\mathbf{v}_3-\mathbf{v}_1)\|} n=(v2v1)×(v3v1)(v2v1)×(v3v1)

法向在以下任务中非常重要:

  • 光照渲染
  • 阴影计算
  • 表面分析
  • 碰撞检测
  • 物理仿真

4)泊松表面重建

从带法向的点云恢复连续表面时,一个经典方法是 Poisson Surface Reconstruction,其核心思想常写为:

Δ χ = ∇ ⋅ V \Delta \chi = \nabla \cdot \mathbf{V} Δχ=V

其中:

  • χ \chi χ:待求的隐式函数;
  • V \mathbf{V} V:由点云法向构成的向量场。

通俗理解就是:

算法试图寻找一个最符合点云法向分布的光滑表面。

主要生成方式与系统链路
阶段输入输出典型方法
数据采集点云 / 深度图 / 多视图图像原始几何数据LiDAR、RGB-D、MVS
预处理原始数据去噪点云、法向滤波、法向估计、重采样
表面重建点云或隐式体连续表面Poisson、BPA、TSDF
网格生成表面函数MeshMarching Cubes、Delaunay
纹理映射Mesh + 图像纹理化 MeshUV 展开、贴图融合
优化简化原始 Mesh轻量 MeshQEM、Remeshing、Edge Collapse

3.2 应用场景

核心与经典算法

算法类别核心算法主要作用
表面重建Poisson Surface Reconstruction从点云恢复光滑表面
网格生成Delaunay Triangulation构造三角连接关系
表面滚动Ball Pivoting Algorithm逐步生成三角面片
等值面提取Marching Cubes从体素/隐式场提取网格
网格优化Laplacian Smoothing、Remeshing提升表面质量
网格简化QEM、Edge Collapse降低面数,优化渲染性能

应用场景

场景作用
游戏与影视构建高质量三维场景与角色表面
建筑可视化直观展示建筑外观与空间结构
VR/AR提供可交互的三维环境
科学可视化展示分子、地形、医学结构等复杂对象
机器人仿真用于碰撞检测与物理环境模拟
  1. 游戏和娱乐: Mesh地图常用于视频游戏和电影制作中,用于创建逼真的三维场景。
  2. 建筑可视化: 在建筑和城市规划中,Mesh地图可以用于创建详细的三维模型,帮助设计师和客户理解设计。
  3. 虚拟现实(VR)和增强现实(AR): Mesh地图为VR和AR应用提供了丰富的三维环境,增强用户体验。
  4. 科学可视化: 在科学研究中,Mesh地图可以用于展示复杂的三维数据,如分子结构或地质构造。

3.3 信息量

【含有】

  • 几何形状信息

    • 【精确的表面表示】:Mesh 地图以多边形网格的形式呈现物体或场景的表面形状。与点云地图相比,它能够更清晰地定义物体的边界和轮廓,提供更准确的几何形状描述。
    • 【细节层次】:可以根据需要调整细节层次,从粗糙的近似表示到非常精细的模型。这使得在不同的应用场景中,可以根据计算资源和需求选择合适的细节程度。
  • 纹理信息:

    • 【材质属性】:Mesh 地图可以包含材质信息,如颜色、纹理、反射率等。
    • 【光照效果】:结合材质信息和光照模型,可以模拟出光照在物体表面的效果,如阴影、高光等。
  • 拓扑结构信息:

    • 【连接关系】:Mesh 地图中的多边形网格定义了物体表面的连接关系,可以通过拓扑结构确定物体的相邻面、边缘和顶点,从而进行碰撞检测、物理模拟等操作。
    • 【区域划分】:可以根据拓扑结构将物体或场景划分为不同的区域
  • 空间关系信息:

    • 【相对位置】:与点云地图类似,Mesh 地图也可以表示物体之间的相对位置关系。通过 Mesh 模型的坐标系统,可以确定不同物体在空间中的位置和方向,从而进行空间布局分析和规划。
    • 【遮挡关系】:由于 Mesh 地图具有明确的表面形状,可以更准确地判断物体之间的遮挡关系。
  • 元数据信息:

    • 【名称和标签】:可以为 Mesh 地图中的物体或区域添加名称和标签,以便进行识别和分类。
    • 【其它属性】:如创建时间、作者、版权信息等。

【缺乏】

  • 内部结构信息:

    • 【遮挡部分信息】:对于被遮挡的部分,点云地图无法提供准确信息。比如被建筑物遮挡的道路情况
    • 【内部构造信息】:只能展示物体的外部形状,对于物体的内部结构一无所知。
  • 动态行为信息:

    • 【运动状态】:不能直接反映物体的运动状态,比如车辆的行驶速度、行人的行走方向等。即使是动态采集的点云地图,也只是在不同时间点的静态记录,难以捕捉物体的连续运动行为。
    • 【交互关系】:对于物体之间的动态交互关系无法体现,比如车辆之间的碰撞风险、人与物体的交互动作等。
  • 语义信息:

    • 【物体功能】:无法直接表明物体的具体功能
    • 【动态行为含义】:不能传达物体的动态行为相关信息,比如某个区域可能在特定时间会有大量人员流动
  • 高精度测量信息:

    • 【绝对精度】
    • 【微小细节测量】

3.4 优缺点

【优点】

  • 直观性: Mesh地图提供了直观的三维表面表示,易于理解和可视化。
  • 细节丰富: 可以包含丰富的表面细节和纹理信息。
  • 灵活性: 可以根据需要调整网格的密度,平衡细节和性能。
  • 兼容性: 许多三维建模和渲染软件都支持Mesh地图,易于集成和使用。

【缺点】

  • 数据量大: 高精度的Mesh地图可能包含大量的多边形,导致数据量很大。
  • 计算密集: 渲染和处理大量的多边形需要较高的计算资源。
  • 存储需求: 需要较大的存储空间来保存高精度的Mesh数据。
  • 生成复杂: 高质量的Mesh地图生成过程可能很复杂,需要专业的软件和技能。
  • 优化困难: 在不损失太多细节的情况下优化Mesh地图以减少多边形数量可能是一个挑战。

四、CAD地图

在这里插入图片描述

4.1 定义与原理

什么是CAD地图?

CAD 地图是一种以计算机辅助设计(Computer-Aided Design, CAD)模型为核心表达的三维地图。

它不是简单地把场景表面离散成三角形,而是通过点、线、圆弧、样条曲线、曲面、实体、尺寸约束、装配关系等几何与工程元素,对对象进行结构化、参数化、可编辑的表达。

在工程领域,CAD地图更强调“可设计、可修改、可计算、可制造、可复用”的表达能力,常用于建筑、机械、基础设施、工业设备和数字化工程资产管理等场景。

【原理】

  1. 参数化几何建模: 以点、直线、圆弧、样条曲线、平面、旋转面、扫描面、布尔实体等几何元为基础,通过参数定义对象形状,而不是单纯记录离散表面。
  2. 拓扑与约束表达: CAD 地图不仅描述几何外形,还记录顶点、边、面、体之间的拓扑关系,以及平行、垂直、同心、相切、等距等工程约束。
  3. 精确实体表达: 常通过 B-rep(边界表示)、CSG(构造实体几何)或参数特征树来定义实体,使模型具备高精度、可求交、可测量、可编辑的能力。
  4. 语义化组织: 不同于普通三维表面模型,CAD 地图往往能够附带构件名称、规格、材料、工艺、装配层级、编号等工程语义信息。
  5. 工程计算驱动: 基于几何参数与拓扑结构,可进一步支持尺寸分析、公差分析、干涉检查、路径规划、加工制造、仿真分析与资产管理。

数学表达与基本公式理论

1)参数曲线

在这里插入图片描述

而CAD 中的曲线通常写为:

c ( t ) : [ 0 , 1 ] → R 3 \mathbf{c}(t):[0,1]\rightarrow \mathbb{R}^3 c(t):[0,1]R3

其中:

  • t t t 是曲线参数;
  • c ( t ) \mathbf{c}(t) c(t) 表示三维空间中的曲线点。

这类表达可用于直线、圆弧、Bezier 曲线、B 样条曲线等。


2)参数曲面

CAD 中的曲面通常写为:

S ( u , v ) : Ω ⊂ R 2 → R 3 \mathbf{S}(u,v):\Omega\subset\mathbb{R}^2\rightarrow\mathbb{R}^3 S(u,v):ΩR2R3

其中:

  • ( u , v ) (u,v) (u,v) 是参数域中的二维坐标;
  • S ( u , v ) \mathbf{S}(u,v) S(u,v) 表示三维空间中的曲面点。

平面、圆柱面、球面、旋转面和 NURBS 曲面都可以用这种方式表达。


3)NURBS 曲线表达

在这里插入图片描述

CAD 中非常经典的一类表达是 NURBS:

C ( u ) = ∑ i = 0 n N i , p ( u ) w i P i ∑ i = 0 n N i , p ( u ) w i \mathbf{C}(u)= \frac{\sum_{i=0}^{n}N_{i,p}(u)w_i\mathbf{P}_i} {\sum_{i=0}^{n}N_{i,p}(u)w_i} C(u)=i=0nNi,p(u)wii=0nNi,p(u)wiPi

其中:

  • P i \mathbf{P}_i Pi:控制点;
  • w i w_i wi:权重;
  • N i , p ( u ) N_{i,p}(u) Ni,p(u):B 样条基函数。

它的核心意义在于:

用少量控制参数稳定地表达复杂而光滑的工程曲线。


4)B-rep 表达

在这里插入图片描述

CAD 实体常常使用边界表示(Boundary Representation):

B = ( V , E , F , I , A ) \mathcal{B}=(V,E,F,\mathcal{I},\mathcal{A}) B=(V,E,F,I,A)

其中:

  • V V V:顶点集合;
  • E E E:边集合;
  • F F F:面集合;
  • I \mathcal{I} I:关联关系;
  • A \mathcal{A} A:邻接关系。

这意味着 CAD 地图不仅保存几何,还保存:

  • 哪些边属于哪个面;
  • 哪些面相互相邻;
  • 每个面由什么解析曲面定义;
  • 哪些边界对面进行修剪。

5)约束建模

CAD 模型往往还带有参数约束:

g k ( θ ) = 0 g_k(\theta)=0 gk(θ)=0

或者更一般地写成优化问题:

min ⁡ θ ∑ k ∥ g k ( θ ) ∥ 2 \min_{\theta}\sum_k \|g_k(\theta)\|^2 θminkgk(θ)2

其中:

  • θ \theta θ:模型参数;
  • g k ( θ ) g_k(\theta) gk(θ):第 k k k 个几何或工程约束。

例如:

  • 两条边平行;
  • 两个孔同心;
  • 某个尺寸固定为 20 mm;
  • 某个面与基准面垂直。

这说明:

CAD 地图的关键价值,不只是“几何外观”,而是“可编辑的设计逻辑”。


主要生成方式与系统链路

阶段输入输出典型方法
数据采集点云 / 图像 / Mesh原始几何观测LiDAR、摄影测量、结构光
几何分割原始数据区域/构件分块RANSAC 分割、区域生长、学习分割
几何元拟合分割结果曲线/曲面/基元Plane/Cylinder/Cone/Sphere fitting
拓扑恢复几何元集合邻接与连接关系B-rep 构造、布尔关系恢复
约束推断初始模型参数与约束平行、垂直、同心、尺寸推断
参数优化几何+约束可编辑 CAD 模型非线性最小二乘、约束求解
工程组织几何实体构件级 CAD 地图装配树、属性绑定、版本管理

4.2 应用场景

相关的核心与经典算法

算法类别核心算法/方法主要作用
几何拟合RANSAC、Least Squares Fitting拟合平面、圆柱、球等基元
曲线曲面表达Bezier、B-spline、NURBS表达复杂曲线曲面
实体表达CSG、B-rep组织工程实体
约束求解Constraint Solving、Nonlinear Least Squares满足参数与装配约束
CAD 逆向Primitive Recognition、Surface Segmentation从扫描数据恢复 CAD 结构
前沿方向Point2CAD、BrepGaussian 等从感知数据走向工程语义表达

  1. 建筑与基础设施设计: 在建筑、桥梁、隧道、道路、市政管网等领域,CAD 地图可用于工程建模、施工图设计、结构拆分与方案推演。
  2. 机械与装备制造: 在机械零件、工业设备、机器人机构、夹具治具等场景中,CAD 地图可直接作为设计、加工、装配和维护的基础数据。
  3. 数字孪生与工业资产管理: 对工厂、园区、机房、产线等环境进行 CAD 化建模后,可形成可检索、可分析、可追踪的工程资产底座。
  4. BIM / GIS / 三维引擎协同: CAD 地图可以作为 BIM 模型、GIS 空间底图和三维可视化平台之间的重要桥梁,支撑多系统数据融合。
  5. 仿真与机器人应用: 在路径规划、碰撞检测、抓取分析、运动学仿真、工艺仿真中,CAD 地图由于具有精确几何和拓扑信息,更适合作为环境模型。
  6. 逆向工程与工业重建: 通过点云、图像、Mesh 等数据重建出的场景,若进一步转化为 CAD 地图,就能进入设计、编辑、制造和长期维护链路。
  7. 工程测绘与竣工归档: 在工程交付、资产归档、设施维护阶段,CAD 地图能够提供标准化、长期可用的工程表达形式,便于版本管理和后续改造。

4.3 优缺点

【优点】

  • 精度高: CAD 地图通常基于参数曲线、曲面和精确实体表达,适合高精度建模、尺寸标注和工程测量。
  • 可编辑性强: 通过参数与约束驱动,可以方便地对结构尺寸、形状和装配关系进行修改,而不必整体重建。
  • 工程语义丰富: 相比点云和 Mesh,CAD 地图更容易承载构件属性、材料、规格、功能分区、装配层级等工程信息。
  • 适合分析与制造: 可直接支持碰撞检测、有限元分析、数控加工、装配仿真、路径规划等下游任务。
  • 表达规范: CAD 地图具备较强的标准化能力,便于在设计、施工、制造、维护和归档等多个环节中传递。
  • 长期复用价值高: 一旦形成高质量 CAD 地图,其作为工程资产的生命周期往往远长于纯视觉模型,便于迭代维护和多项目复用。

【缺点】

  • 建模成本高: 高质量 CAD 地图的建立往往依赖专业人员和专业软件,人工建模或高精度逆向重建成本较高。
  • 对复杂自由形态不友好: 对自然场景、不规则物体、破损表面、植被、非标准结构等,CAD 表达通常不如点云或 Mesh 直接、高效。
  • 生成流程复杂: 从实景采集数据自动恢复到可用 CAD 地图,需要经过分割、拟合、拓扑恢复、约束推断、合法性检查等复杂流程。
  • 真实细节保真度受限: CAD 地图倾向于结构化、规则化表达,对于微小纹理、表面噪声、随机细节和真实材质外观的保留能力较弱。
  • 软件生态门槛较高: CAD 数据常涉及专有格式、行业标准和专业工作流,跨平台共享与轻量化展示相对不如 Mesh 灵活。
  • 自动化难度大: 从点云、影像或高斯表示自动生成“工程可用”的 CAD 地图,本质上是几何、拓扑、语义与约束联合恢复问题,技术门槛很高。
层级地图类型更关注什么
第 1 层稀疏点云地图定位与几何锚点
第 2 层稠密点云地图尽可能完整的几何采样
第 3 层Mesh 地图连续表面与可视化表达
第 4 层CAD 地图参数化工程结构与语义组织

通俗理解就是:

  • 稀疏点云地图: 知道“关键点在哪”
  • 稠密点云地图: 知道“哪里几乎都有点”
  • Mesh 地图: 知道“这些点怎么连成表面”
  • CAD 地图: 知道“这个结构是怎么被设计出来的”

五、线地图

5.1 定义与原理

什么是线地图?

线地图(Line Map)是一种以 线段、边缘、几何轮廓或结构线 作为核心表达单元的地图。
与点云地图强调“点的位置”不同,线地图更强调:

环境中哪些地方具有稳定的方向性、边界性和结构性。

这类地图特别适合以下场景:

  • 人工结构明显的室内外环境
  • 建筑、走廊、道路边界等“线性结构”丰富的场景
  • 纹理较弱、但几何边缘清晰的环境
  • 需要轻量表达且又希望保留结构轮廓的系统
为什么线可以成为地图?

因为在大量真实场景中,很多关键结构天然以“线”的形式存在,例如:

  • 墙与墙的交线
  • 地面与墙面的边界
  • 门框、窗框、桌边、柜边
  • 道路边缘、车道线、建筑轮廓线

相较于离散点,线具有两个天然优势:

  1. 更强的结构表达能力:一条线往往能概括一整段局部几何;
  2. 更高的几何稳定性:在弱纹理场景中,线往往比点更容易长期稳定跟踪。

5.2 数学表达与基本公式理论

1)二维图像中的直线表达

在图像中,一条直线常用齐次形式表示为:

l = ( a , b , c ) T l = (a,b,c)^T l=(a,b,c)T

满足线上任一点 x = ( u , v , 1 ) T \mathbf{x}=(u,v,1)^T x=(u,v,1)T 都有:

l T x = a u + b v + c = 0 l^T \mathbf{x} = au + bv + c = 0 lTx=au+bv+c=0

这说明:

图像中的线,可以通过一个线性方程来表达。


2)三维空间中的直线表达

在三维空间中,一条直线可以用点向式表示:

L ( t ) = p + t d , t ∈ R \mathbf{L}(t)=\mathbf{p}+t\mathbf{d}, \quad t\in\mathbb{R} L(t)=p+td,tR

其中:

  • p \mathbf{p} p:直线上的一点;
  • d \mathbf{d} d:方向向量。

这表示:

一条三维直线,就是一个起点加上某个方向上的无限延伸。


3)Plücker 坐标表示

在几何计算和多视图几何中,三维直线常用 Plücker 坐标表示:

L = ( d , m ) \mathcal{L}=(\mathbf{d},\mathbf{m}) L=(d,m)

其中:

  • d \mathbf{d} d:直线方向向量;
  • m = p × d \mathbf{m}=\mathbf{p}\times \mathbf{d} m=p×d:矩向量(moment)。

它满足约束:

d T m = 0 \mathbf{d}^T\mathbf{m}=0 dTm=0

Plücker 表示的优势在于:

  • 便于直线与平面、射线之间的几何计算
  • 适合多视图重建中的线特征建模
  • 在 SLAM、PnL、线结构优化中常用

4)图像线与三维线的投影关系

三维直线投影到图像平面后仍然是二维直线。
若空间中一条线由两点 X 1 , X 2 \mathbf{X}_1,\mathbf{X}_2 X1,X2 张成,那么它投影到图像中的线可以由两投影点叉乘得到:

l = x 1 × x 2 l = \mathbf{x}_1 \times \mathbf{x}_2 l=x1×x2

其中:

  • x 1 , x 2 \mathbf{x}_1,\mathbf{x}_2 x1,x2:两空间点在图像中的投影;
  • l l l:图像平面中的线。

这说明:

空间中的线结构,经过相机成像后会转化为图像中的边缘或线段。


5)线特征重投影误差

在线 SLAM 中,常用点到线距离衡量投影误差。
若某个重投影点 x \mathbf{x} x 理应落在线 l = ( a , b , c ) T l=(a,b,c)^T l=(a,b,c)T 上,则误差可写为:

d ( x , l ) = ∣ a u + b v + c ∣ a 2 + b 2 d(\mathbf{x},l)=\frac{|a u+b v+c|}{\sqrt{a^2+b^2}} d(x,l)=a2+b2 au+bv+c

这个误差项常被放入优化目标中,用于:

  • 位姿优化
  • 线结构地图优化
  • 线特征约束融合

5.3 主要生成方式与系统链路

阶段输入输出典型方法
图像/点云采集相机、LiDAR、RGB-D原始观测数据单目、双目、深度相机
线特征提取图像/点云线段、边界、轮廓LSD、EDLines、Hough、点云边缘检测
线匹配与跟踪多帧观测线对应关系描述子匹配、方向约束、端点匹配
三维线恢复多视图线观测空间线段三角化、PnL、结构恢复
地图优化位姿+线特征稳定线地图BA、图优化、点线联合优化
后处理原始线图结构化线地图合并、简化、共线聚类
系统链路的直观理解

图像 / 点云采集

线特征提取

跨帧匹配与跟踪

三维线恢复

位姿与地图联合优化

线地图


5.4 相关的核心与经典算法

算法类别核心算法主要作用
图像线检测Hough Transform、LSD、EDLines从图像中提取线段
线描述与匹配LBD、MLLD构造线特征描述子
位姿估计PnL(Perspective-n-Line)利用线特征求位姿
点线联合 SLAMPL-SLAM、LineSLAM同时利用点和线建图定位
点云边缘提取曲率阈值、区域生长、结构边界检测从三维点云中恢复线性结构
地图优化BA、Pose Graph、点线联合优化提升全局一致性

5.5 信息量

【含有】
信息类别具体内容通俗解释
结构轮廓信息墙边、门框、道路边界、建筑外轮廓能很好表达场景骨架
方向信息线的方向与延伸关系有利于几何约束和姿态估计
几何关系信息平行、共线、垂直、交叉适合结构化场景建模
轻量级拓扑信息某些线的连接关系能形成较强场景轮廓感
【缺乏】
缺失类别具体表现原因
表面信息无法表达大面积连续表面线只表示边界或骨架
纹理与材质信息不包含表面外观细节表达对象是几何线
完整三维几何曲面、体积和内部结构表达不足线地图本质上很抽象
密集感知能力不适合直接做精细避障或渲染表达过于稀疏

5.6 应用场景

场景作用
室内 SLAM在弱纹理建筑环境中增强定位稳定性
建筑结构建模表达墙线、边界、框架结构
道路场景理解提取车道线、路沿线、建筑轮廓
轻量地图表达在资源受限设备中提供结构化地图
点线联合定位与点特征互补,提高鲁棒性

5.7 优缺点

【优点】
优点说明
结构表达强一条线往往比多个点更能概括局部结构
轻量数据量相对较低
对弱纹理更友好边界清晰的场景往往能稳定提线
几何约束丰富平行、垂直、交线等关系可直接建模
【缺点】
缺点说明
提取不稳定光照变化、遮挡、断裂边缘会影响线检测
匹配较难线段缺少像点那样精确的局部纹理描述
信息不完整难以独立表达完整几何外形
在自然场景中效果受限树木、草地等不规则场景线结构弱

六、压缩后的点云地图

6.1 定义与原理

什么是压缩后的点云地图?

压缩后的点云地图,是指在尽可能保留几何结构、定位能力或感知价值的前提下,
通过 降采样、编码、聚合、分层表达、特征压缩或学习式压缩 等手段,对原始点云地图进行体量缩减后的地图表示。

换句话说,它解决的核心问题是:

原始点云地图太大了,如何在“够用”的前提下把它压小。

这在以下场景尤为重要:

  • 移动端与边缘设备部署
  • 自动驾驶车端地图加载
  • 大规模三维地图云端分发
  • 机器人长期运行的地图维护
  • 多机器人协同中的地图传输

6.2 数学表达与基本公式理论

1)原始点云表示

原始点云可写为:

P = { p i ∈ R 3 } i = 1 N \mathcal{P}=\{\mathbf{p}_i \in \mathbb{R}^3\}_{i=1}^{N} P={piR3}i=1N

压缩的目标是得到一个更小的表示:

C = f ( P ) \mathcal{C}=f(\mathcal{P}) C=f(P)

并在解码时恢复近似点云:

P ^ = g ( C ) \hat{\mathcal{P}}=g(\mathcal{C}) P^=g(C)

其中:

  • f f f:压缩编码函数;
  • g g g:解码恢复函数。

2)压缩误差

压缩后通常希望恢复点云与原始点云尽可能接近。
经典误差度量之一是 Chamfer Distance:

d C D ( P , P ^ ) = ∑ p ∈ P min ⁡ p ^ ∈ P ^ ∥ p − p ^ ∥ 2 + ∑ p ^ ∈ P ^ min ⁡ p ∈ P ∥ p ^ − p ∥ 2 d_{CD}(\mathcal{P},\hat{\mathcal{P}})= \sum_{\mathbf{p}\in\mathcal{P}}\min_{\hat{\mathbf{p}}\in\hat{\mathcal{P}}}\|\mathbf{p}-\hat{\mathbf{p}}\|^2 + \sum_{\hat{\mathbf{p}}\in\hat{\mathcal{P}}}\min_{\mathbf{p}\in\mathcal{P}}\|\hat{\mathbf{p}}-\mathbf{p}\|^2 dCD(P,P^)=pPp^P^minpp^2+p^P^pPminp^p2

它衡量:

压缩恢复后的点云,和原始点云在空间位置上差多少。


3)体素化压缩

一种最经典的压缩思路是体素化。
将空间划分为边长为 Δ \Delta Δ 的体素格,每个点映射到某个体素中:

v i = ( ⌊ x i Δ ⌋ , ⌊ y i Δ ⌋ , ⌊ z i Δ ⌋ ) \mathbf{v}_i= \left( \left\lfloor \frac{x_i}{\Delta} \right\rfloor, \left\lfloor \frac{y_i}{\Delta} \right\rfloor, \left\lfloor \frac{z_i}{\Delta} \right\rfloor \right) vi=(Δxi,Δyi,Δzi)

然后每个体素仅保留一个代表点,如体素中心或均值点。
这本质上是在做:

“多个近邻点合并成一个代表点”的空间聚合。


4)率失真优化

压缩问题常写成率失真优化(Rate-Distortion Optimization):

min ⁡    D + λ R \min \; D + \lambda R minD+λR

其中:

  • D D D:失真,表示压缩后的精度损失;
  • R R R:码率,表示压缩后所需存储/传输成本;
  • λ \lambda λ:二者之间的权衡系数。

它表达了一个非常工程化的思想:

地图不可能既无限精确又无限小,压缩本质上是在精度和体积之间做权衡。


6.3 主要生成方式与系统链路

阶段输入输出典型方法
原始点云获取LiDAR / RGB-D / 重建系统原始点云地图SLAM、扫描、重建
预处理原始点云去噪点云离群点去除、法向估计
压缩表示生成去噪点云紧凑编码体素化、八叉树、关键帧子图、PCA、学习压缩
存储/传输压缩结果地图文件/网络流MPEG G-PCC、V-PCC、自定义编码
解码与恢复压缩编码近似点云地图八叉树解码、神经解码、子图重建
下游应用压缩地图定位/感知/可视化匹配、加载、渲染
系统链路的直观理解

原始点云地图

去噪与规整

空间聚合 / 编码压缩

存储与传输

解码恢复

压缩后的点云地图应用


6.4 相关的核心与经典算法

算法类别核心算法/方法主要作用
几何降采样Voxel Grid、Farthest Point Sampling减少点数
层次表达Octree、KD-Tree、LOD分层管理与渐进加载
经典编码G-PCC、V-PCC点云标准化压缩
特征聚合Superpoint、局部块压缩用更少的单元表达区域
学习式压缩AutoEncoder、Sparse Convolution Compression数据驱动压缩编码
地图子图压缩Keyframe Map、Submap Compression面向 SLAM 的结构压缩

6.5 信息量

【含有】
信息类别具体内容通俗解释
近似几何信息原始点云的大部分主要结构大轮廓通常还能保留
多尺度信息不同精度层级下的场景结构适合分级加载
局部感知能力在适度压缩下仍能支撑定位或重建“压小但还能用”
【缺乏】
缺失类别具体表现原因
极细微几何细节小边缘、小裂缝、小目标丢失压缩会牺牲高频信息
高保真表面表达局部可能变粗糙点聚合或量化造成损失
原始采样完整性不再是一对一保留所有点压缩本身就意味着舍弃

6.6 应用场景

场景作用
自动驾驶地图分发降低车端加载和通信压力
机器人长期建图降低地图维护成本
云边协同感知支持高效上传与下发
大规模数字孪生控制海量三维资产体量
移动端可视化提升加载速度和交互体验

6.7 优缺点

【优点】
优点说明
节省存储明显降低地图体积
提升传输效率更适合网络分发与车端部署
支持多分辨率可按需加载不同精度
工程实用性强是大规模系统落地的重要手段
【缺点】
缺点说明
精度损失不可避免压缩越强,细节损失越大
压缩策略依赖任务定位友好压缩不一定适合重建
编码解码复杂高级压缩方法实现成本高
误差累积风险若用于长期地图更新,误差管理更复杂

七、平面图

7.1 定义与原理

什么是平面图?

这里的平面图,主要指将三维空间中的环境信息 投影、切片或抽象到二维平面 后形成的地图表达。
常见形式包括:

  • 室内建筑平面图
  • 占据栅格地图(Occupancy Grid Map)
  • 楼层图 / 户型图
  • 二维导航图
  • 俯视语义图

它的核心思想是:

对于很多导航和规划任务,并不需要完整三维,只要“地面这一层”的空间关系就够用了。


7.2 数学表达与基本公式理论

1)二维占据栅格表示

平面图中最经典的一种形式是二维占据栅格地图。
将平面离散成网格单元,每个网格有占据概率:

m i j ∈ [ 0 , 1 ] m_{ij}\in[0,1] mij[0,1]

其中:

  • m i j = 1 m_{ij}=1 mij=1 表示该栅格被障碍物占据;
  • m i j = 0 m_{ij}=0 mij=0 表示为空闲区域;
  • 中间值表示不确定性。

2)贝叶斯更新

占据栅格常用贝叶斯方式融合多次观测:

p ( m ∣ z 1 : t , x 1 : t ) p(m|z_{1:t},x_{1:t}) p(mz1:t,x1:t)

为了便于更新,通常使用对数几率形式(log-odds):

l t = l t − 1 + log ⁡ p ( m ∣ z t , x t ) 1 − p ( m ∣ z t , x t ) − l 0 l_t = l_{t-1} + \log \frac{p(m|z_t,x_t)}{1-p(m|z_t,x_t)} - l_0 lt=lt1+log1p(mzt,xt)p(mzt,xt)l0

其中:

  • z t z_t zt:第 t t t 次传感器观测;
  • x t x_t xt:第 t t t 次位姿;
  • l 0 l_0 l0:先验项。

它意味着:

一个格子是否被占据,不是一次就定死,而是随着不断观测逐渐“投票”出来。


3)三维到二维投影

若有三维点云 P \mathcal{P} P,可通过投影或高度切片得到二维平面表示:

π x y ( x , y , z ) = ( x , y ) \pi_{xy}(x,y,z)=(x,y) πxy(x,y,z)=(x,y)

或者只保留某一高度区间内的点:

z ∈ [ z min ⁡ , z max ⁡ ] z \in [z_{\min}, z_{\max}] z[zmin,zmax]

这在楼层图、机器人室内导航中非常常见。


4)距离变换

很多平面图还会进一步计算到最近障碍物的距离:

D ( x ) = min ⁡ o ∈ O ∥ x − o ∥ D(\mathbf{x}) = \min_{\mathbf{o}\in\mathcal{O}} \|\mathbf{x}-\mathbf{o}\| D(x)=oOminxo

这可用于:

  • 路径规划
  • 代价地图
  • 安全边界分析

7.3 主要生成方式与系统链路

阶段输入输出典型方法
数据采集激光雷达、深度相机、点云、建筑图纸原始环境数据2D LiDAR、3D LiDAR、RGB-D
平面提取/投影三维观测俯视平面信息投影、切片、地面估计
栅格化/矢量化点/边界二维地图单元Occupancy Grid、轮廓提取
多帧融合连续观测全局平面图SLAM、图优化
后处理原始平面图干净可用平面图开闭运算、区域合并、墙线提取
系统链路的直观理解

三维/二维传感器观测

投影或切片

二维栅格化 / 墙线提取

多帧融合

平面图


7.4 相关的核心与经典算法

算法类别核心算法主要作用
占据建图Occupancy Grid Mapping建立二维障碍分布图
2D SLAMGMapping、Cartographer、Hector SLAM构建全局二维地图
墙线提取Hough、RANSAC line fitting从栅格或点集中提取墙线
房间分割区域生长、拓扑分割、语义分割生成结构化平面图
代价地图Euclidean Distance Transform、Inflation Layer用于路径规划

7.5 信息量

【含有】
信息类别具体内容通俗解释
通行空间信息哪些区域可走、哪些区域有障碍非常适合导航
房间结构信息墙体、门洞、走廊布局室内场景尤其常用
平面拓扑信息连通性、区域划分有利于路径规划和任务调度
【缺乏】
缺失类别具体表现原因
三维高度信息无法区分高低差和立体结构被投影到二维平面了
表面细节不表达纹理和立体外观平面图只关注布局
上下层关系多楼层耦合表达较弱二维表达天然受限

7.6 应用场景

场景作用
室内机器人导航快速路径规划与避障
建筑管理楼层图、房间组织、资产布置
安防巡检平面区域规划与路线设计
清扫机器人高效覆盖与区域分区
数字孪生的基础底图作为上层业务的平面入口

7.7 优缺点

【优点】
优点说明
简洁高效二维表示便于存储与计算
规划友好非常适合路径规划与区域管理
易于人理解人类天然熟悉平面布局图
工程成熟大量机器人系统都基于此工作
【缺点】
缺点说明
三维信息损失明显无法表达复杂立体空间
对多层空间不够自然楼梯、夹层等表达困难
对复杂场景抽象较粗某些场景需要更丰富的三维信息

八、神经网络隐式表征的地图

在这里插入图片描述

8.1 定义与原理

什么是神经网络隐式表征的地图?

神经网络隐式表征地图,是指不用显式存储点、面或体素,而是用一个神经网络函数来表示场景几何、颜色、密度或语义信息的地图。

简单说,它不直接存“地图长什么样”,而是存一个函数:

给我一个空间位置,我告诉你这里是什么。

这类地图是近年三维视觉和神经渲染领域最重要的方向之一,典型代表包括:

  • NeRF(Neural Radiance Field)
  • SDF / Neural SDF
  • Occupancy Network
  • Instant-NGP
  • Neural Map / Scene Representation Network
  • 以及与 3DGS、隐式场耦合的各种地图方法

8.2 数学表达与基本公式理论

1)隐式场函数

最基本的形式,是用神经网络表示一个连续函数:

f θ : R 3 → R k f_\theta : \mathbb{R}^3 \rightarrow \mathbb{R}^k fθ:R3Rk

其中:

  • 输入是空间位置 x ∈ R 3 \mathbf{x}\in\mathbb{R}^3 xR3
  • 输出可以是密度、颜色、SDF 值、占据概率、语义类别等;
  • θ \theta θ 是网络参数。

这说明:

地图不再是离散存储,而是被压进了网络参数里。


2)NeRF 形式

NeRF 常写成:

f θ ( x , d ) = ( σ , c ) f_\theta(\mathbf{x},\mathbf{d})=(\sigma,\mathbf{c}) fθ(x,d)=(σ,c)

其中:

  • x \mathbf{x} x:空间位置;
  • d \mathbf{d} d:观察方向;
  • σ \sigma σ:体密度;
  • c \mathbf{c} c:颜色。

然后沿一条光线做体渲染积分:

C ( r ) = ∫ t n t f T ( t ) σ ( r ( t ) ) c ( r ( t ) , d ) d t C(\mathbf{r})=\int_{t_n}^{t_f} T(t)\sigma(\mathbf{r}(t))\mathbf{c}(\mathbf{r}(t),\mathbf{d})dt C(r)=tntfT(t)σ(r(t))c(r(t),d)dt

其中透射率:

T ( t ) = exp ⁡ ( − ∫ t n t σ ( r ( s ) ) d s ) T(t)=\exp\left(-\int_{t_n}^{t}\sigma(\mathbf{r}(s))ds\right) T(t)=exp(tntσ(r(s))ds)

这表示:

一张图像中的像素颜色,是光线穿过场景体密度场后逐步累积出来的。


3)SDF 形式

若地图表达的是符号距离场,则常写为:

f θ ( x ) = s f_\theta(\mathbf{x}) = s fθ(x)=s

其中:

  • s > 0 s>0 s>0 表示点在物体外部;
  • s < 0 s<0 s<0 表示点在物体内部;
  • s = 0 s=0 s=0 对应表面。

理想 SDF 满足 Eikonal 条件:

∥ ∇ f θ ( x ) ∥ = 1 \|\nabla f_\theta(\mathbf{x})\| = 1 ∥∇fθ(x)=1

这类表达特别适合:

  • 表面重建
  • 几何优化
  • 法向恢复
  • 碰撞与距离查询

4)占据概率形式

Occupancy Network 类方法则输出某点是否被占据:

o θ ( x ) ∈ [ 0 , 1 ] o_\theta(\mathbf{x}) \in [0,1] oθ(x)[0,1]

这等价于:

问网络:这个位置是在物体内部,还是在空空间中?


5)训练目标

隐式表征地图通常通过重建误差训练,例如颜色重建损失:

L r g b = ∑ r ∥ C ( r ) − C ^ ( r ) ∥ 2 \mathcal{L}_{rgb}=\sum_r \|C(r)-\hat{C}(r)\|^2 Lrgb=rC(r)C^(r)2

也可能叠加:

  • 深度损失
  • Eikonal 正则
  • 稀疏正则
  • 语义交叉熵
  • 几何一致性损失

8.3 主要生成方式与系统链路

阶段输入输出典型方法
数据采集多视图图像 / 深度 / 位姿训练数据集相机轨迹、深度观测
编码表示原始观测隐式网络输入位置编码、哈希编码、特征网格
网络训练多视图监督隐式场函数NeRF、SDF、Occupancy
场查询/渲染空间点或光线颜色/密度/距离/语义光线采样、体渲染、Marching Cubes
地图应用隐式函数重建/定位/新视角合成渲染、表面提取、配准
系统链路的直观理解

多视图图像 / 深度 / 位姿

网络编码与训练

得到隐式场函数

空间查询 / 光线渲染 / 表面提取

神经隐式地图


8.4 相关的核心与经典算法

算法类别核心算法/方法主要作用
辐射场NeRF、Mip-NeRF、Instant-NGP新视角合成与隐式场表示
距离场DeepSDF、NeuS、VolSDF几何重建与表面恢复
占据场Occupancy Networks、Convolutional Occupancy Networks物体/场景占据建模
隐式 SLAMNICE-SLAM、iMAP、ESLAM隐式地图与在线定位结合
神经编码Positional Encoding、Hash Grid Encoding提升高频表达能力
表面提取Marching Cubes、Dual Contouring从隐式场提取 Mesh

8.5 信息量

【含有】
信息类别具体内容通俗解释
连续几何信息连续空间中的密度/距离/占据比离散点更“连续”
高保真外观信息颜色、视角相关外观很适合神经渲染
可微分结构对位置和参数可导有利于优化与训练
紧凑函数表达网络参数中压缩大量场景信息一定程度具备紧凑性
【缺乏】
缺失类别具体表现原因
显式结构可解释性不像点云和网格那样直观信息被“藏”在网络参数中
工程可编辑性修改局部结构往往不方便神经隐式场缺少显式构件
实时部署便利性训练和查询成本可能较高需要较强算力支撑
标准化程度工程链路尚未像 CAD/点云那样成熟仍处于快速发展阶段

8.6 应用场景

场景作用
新视角合成从少量图像生成任意视角图像
高保真场景重建学习连续几何与外观
隐式 SLAM将地图和渲染/几何联合起来
数字孪生展示生成高质量视觉体验
几何重建从神经场中提取表面或距离信息

8.7 优缺点

【优点】
优点说明
表达连续不再受限于离散采样分辨率
外观保真度高尤其适合照片级渲染
函数表示紧凑用网络参数编码复杂场景
可微性强易于结合优化与学习框架
【缺点】
缺点说明
训练成本高传统 NeRF 训练较慢
解释性较弱不如显式地图直观
交互编辑困难局部修改不够自然
工程链路尚不完全成熟在大规模、实时系统中仍有门槛

九、高精地图

9.1 定义与原理

什么是高精地图?

高精地图(HD Map, High Definition Map)是一种面向自动驾驶、智能交通和高等级辅助驾驶系统的高精度、结构化、语义化地图。
它不只是“把道路画出来”,而是尽可能精确地表达:

  • 车道中心线
  • 车道边界
  • 路沿、护栏、交通标志
  • 红绿灯、停止线、斑马线
  • 路口拓扑关系
  • 限速、车道属性、可通行规则

它的核心目标是:

让自动驾驶系统不只知道“自己在哪”,还知道“这个位置该怎么开”。


9.2 数学表达与基本公式理论

1)位姿定位误差模型

高精地图最常见的用途之一是车辆定位。
车辆位姿常记为:

T ∈ S E ( 3 ) \mathbf{T}\in SE(3) TSE(3)

系统通过传感器观测 Z \mathcal{Z} Z 与地图特征 M \mathcal{M} M 进行匹配,求:

T ^ = arg ⁡ min ⁡ T d ( Z , M ; T ) \hat{\mathbf{T}}= \arg\min_{\mathbf{T}} d(\mathcal{Z}, \mathcal{M}; \mathbf{T}) T^=argTmind(Z,M;T)

其中 d ( ⋅ ) d(\cdot) d() 可以是:

  • 点到线距离
  • 点到面距离
  • 强度一致性误差
  • 语义匹配误差

2)车道中心线参数化

车道中心线常表示为二维或三维参数曲线:

c ( s ) = ( x ( s ) , y ( s ) , z ( s ) ) \mathbf{c}(s)=(x(s),y(s),z(s)) c(s)=(x(s),y(s),z(s))

其中:

  • s s s 是弧长参数;
  • c ( s ) \mathbf{c}(s) c(s) 给出沿车道前进时的空间位置。

在工程中常用:

  • 折线
  • 样条曲线
  • 三次多项式
  • clothoid(渐开线/缓和曲线)

3)车道边界约束

若车辆横向偏移量为 e y e_y ey,航向误差为 e ψ e_\psi eψ,则横向控制中经常以车道中心线为参考建立误差模型。
这说明高精地图不仅用于定位,还直接参与:

  • 轨迹规划
  • 横向控制
  • 场景规则推理

4)拓扑图表示

高精地图还常被抽象成有向图:

G = ( V , E ) G=(V,E) G=(V,E)

其中:

  • V V V:车道段、路口节点、决策节点;
  • E E E:可行驶连接关系。

这使得地图可以支撑:

  • 全局路径规划
  • 路网通行关系查询
  • 规则级决策

9.3 主要生成方式与系统链路

阶段输入输出典型方法
数据采集测绘车、LiDAR、相机、GNSS/IMU多模态道路数据高精测绘系统
几何建模原始感知数据道路几何特征点云配准、车道线提取、路沿拟合
语义标注几何特征标志、信号、规则属性人工标注、半自动标注、学习识别
拓扑构建局部道路元素路网级图结构车道连接关系构建
地图发布HD Map 数据可供车端加载的地图Lanelet2、OpenDRIVE、Apollo HD Map
系统链路的直观理解

多传感器测绘

道路几何恢复

车道/路沿/标志提取

语义与规则标注

拓扑组织

高精地图


9.4 相关的核心与经典算法

算法类别核心算法/方法主要作用
地图定位NDT Matching、ICP、语义匹配将车辆定位到高精地图中
车道线检测图像分割、曲线拟合、点云边界检测恢复车道结构
多传感器融合EKF、图优化、LiDAR-camera fusion构建统一测绘结果
路网建模Lane Graph、Lanelet2、OpenDRIVE表达路网拓扑
自动更新Change Detection、Map Update Pipeline维护地图时效性

9.5 信息量

【含有】
信息类别具体内容通俗解释
几何精度信息车道边界、路沿、标志位置位置非常准
交通语义信息信号灯、限速、标线规则不只是“哪里”,还是“怎么走”
路网拓扑信息哪条车道能并到哪条车道支撑规划和决策
局部高精地标信息可匹配特征和定位基准高精定位核心依赖
【缺乏】
缺失类别具体表现原因
实时动态信息临时施工、事故、动态障碍不会天然包含地图一般是静态底座
全场景通用性室内、非道路环境不适用高精地图主要服务道路交通
低成本更新能力维护成本高需要高质量测绘与标注流程

9.6 应用场景

场景作用
自动驾驶高精定位、路径规划、规则理解
高级辅助驾驶车道级引导与风险预警
智慧交通路网级交通管理与调度
无人配送/无人巴士限定区域内高可靠导航

9.7 优缺点

【优点】
优点说明
精度高可实现车道级乃至厘米级定位支撑
语义强含有丰富交通规则信息
拓扑完备适合全局与局部规划
工程价值高是高等级自动驾驶的重要基础设施
【缺点】
缺点说明
采集与维护成本高建图和更新都很昂贵
时效性压力大道路变化会让地图过时
依赖区域覆盖没有测过的区域就没有地图红利
系统复杂几何、语义、规则、拓扑都要维护

十、矢量图

在这里插入图片描述

10.1 定义与原理

什么是矢量图?

矢量图(Vector Map)是以 点、线、面、多边形、曲线等几何元素 来表达空间对象的地图。
与栅格图按像素存储不同,矢量图按几何对象存储,因此非常适合表示:

  • 道路中心线
  • 建筑轮廓
  • 区域边界
  • 河流、管线、行政边界
  • 车道线、拓扑节点

它的核心特点是:

地图由“几何对象”组成,而不是由像素格子堆出来。


10.2 数学表达与基本公式理论

1)点、线、面几何基元

矢量图的基础单元可表示为:

  • 点: p = ( x , y ) \mathbf{p}=(x,y) p=(x,y)
  • 线串: L = { p 1 , p 2 , … , p n } \mathcal{L}=\{\mathbf{p}_1,\mathbf{p}_2,\dots,\mathbf{p}_n\} L={p1,p2,,pn}
  • 面:由闭合折线或曲线围成区域

这说明矢量图本质上是一组几何对象集合。


2)多边形面积

若一个区域由顶点序列 ( x i , y i ) (x_i,y_i) (xi,yi) 围成,其面积可由鞋带公式计算:

A = 1 2 ∣ ∑ i = 1 n x i y i + 1 − y i x i + 1 ∣ A=\frac{1}{2}\left|\sum_{i=1}^{n}x_i y_{i+1}-y_i x_{i+1}\right| A=21 i=1nxiyi+1yixi+1

这类公式在:

  • 地块面积计算
  • 区域分析
  • GIS 空间运算

中很常见。


3)线段长度

折线总长度可写为:

L = ∑ i = 1 n − 1 ∥ p i + 1 − p i ∥ L=\sum_{i=1}^{n-1}\|\mathbf{p}_{i+1}-\mathbf{p}_i\| L=i=1n1pi+1pi

这适用于:

  • 道路长度统计
  • 路径代价评估
  • 管线分析

4)拓扑图表示

矢量地图通常还会组织成图结构:

G = ( V , E ) G=(V,E) G=(V,E)

其中:

  • V V V:交叉口、节点、关键点;
  • E E E:道路段、连接线、流向边。

因此矢量图不仅能表示几何,还能表示拓扑关系。


10.3 主要生成方式与系统链路

阶段输入输出典型方法
数据来源图纸、遥感、点云、栅格地图、感知结果原始空间信息GIS、SLAM、遥感、标注
几何提取原始数据点线面对象边界提取、轮廓追踪、矢量化
拓扑组织几何对象图结构邻接分析、连通构图
属性绑定几何+业务字段结构化矢量地图GIS 属性表、交通属性
发布应用矢量数据可查询地图GeoJSON、Shapefile、Lanelet2
系统链路的直观理解

原始空间数据

边界/中心线/区域提取

点线面矢量化

拓扑与属性组织

矢量图


10.4 相关的核心与经典算法

算法类别核心算法/方法主要作用
边界提取Canny、轮廓追踪、Marching Squares从图像或栅格中提取边界
矢量化Polygonization、Douglas-Peucker将离散边界转为几何对象
拓扑构图邻接分析、图构建建立点线面拓扑
GIS 空间分析Buffer、Overlay、Intersection几何与区域运算
路网生成Centerline Extraction、Skeletonization恢复道路/通道中轴线

10.5 信息量

【含有】
信息类别具体内容通俗解释
几何轮廓信息点线面对象很适合表达结构边界
拓扑关系信息连通、邻接、包含关系适合图分析
属性信息名称、类型、编号、规则字段便于业务系统使用
可编辑性几何对象可直接修改比栅格图更灵活
【缺乏】
缺失类别具体表现原因
高密度细节不适合表达复杂表面细节矢量图偏抽象表达
真实纹理信息不保存像素级外观它不是影像图
三维立体信息大多数矢量图主要是二维或 2.5D原生更适合平面空间表达

10.6 应用场景

场景作用
GIS行政边界、道路、水系等空间对象管理
自动驾驶表达车道中心线、边界和路网拓扑
建筑平面组织房间边界、墙线、功能区表达
资产管理管线、设施、区域边界表达
轻量地图发布适合网页和移动端加载

10.7 优缺点

【优点】
优点说明
表达简洁用少量几何对象表示较大空间结构
可编辑性强便于人工修订和规则维护
拓扑友好很适合图分析与规划
工程成熟GIS 与交通行业大量使用
【缺点】
缺点说明
细节表达弱不适合真实世界高保真外观表达
自动化提取有难度从复杂感知数据到高质量矢量并不简单
对自由形态支持有限复杂自然形态矢量化成本高

十一、语义地图

在这里插入图片描述

11.1 定义与原理

什么是语义地图?

语义地图(Semantic Map)是在几何地图之上,进一步加入 “这是什么、有什么功能、彼此什么关系” 的地图。

如果说普通几何地图回答的是:

  • 东西在哪里?
  • 长什么样?
  • 能不能走?

那么语义地图进一步回答:

  • 这是墙、门、桌子还是车辆?
  • 这是车道线、停止线还是人行道?
  • 这个区域是厨房、客厅还是机房?
  • 这个物体是可通行障碍物,还是需要重点关注的目标?

因此,语义地图的本质是:

把“几何世界”升级为“可理解世界”。


11.2 数学表达与基本公式理论

1)几何+语义联合表示

语义地图可抽象表示为:

M = { ( g i , y i , a i ) } i = 1 N \mathcal{M}=\{(\mathbf{g}_i, y_i, \mathbf{a}_i)\}_{i=1}^{N} M={(gi,yi,ai)}i=1N

其中:

  • g i \mathbf{g}_i gi:几何单元(点、体素、面、对象等);
  • y i y_i yi:语义类别标签;
  • a i \mathbf{a}_i ai:附加属性,如置信度、功能、状态等。

这说明:

语义地图不是替代几何地图,而是在几何单元上附加“意义”。


2)语义概率分布

某个地图单元通常不是一次就被确定类别,而是具有概率分布:

p ( y i = c ∣ z 1 : t ) p(y_i=c \mid z_{1:t}) p(yi=cz1:t)

其中:

  • c c c:类别;
  • z 1 : t z_{1:t} z1:t:截至时刻 t t t 的全部观测。

这表示:

系统会随着越来越多的观测,不断更新自己对“这是什么”的判断。


3)贝叶斯语义融合

如果某个单元多次被识别,可以递推更新类别概率:

p ( y ∣ z 1 : t ) ∝ p ( z t ∣ y )   p ( y ∣ z 1 : t − 1 ) p(y|z_{1:t}) \propto p(z_t|y)\, p(y|z_{1:t-1}) p(yz1:t)p(zty)p(yz1:t1)

这是语义地图里非常基础的思想:

语义标签不是单帧判决,而是跨时间融合的结果。


4)图结构语义关系

语义地图还常用图来表达对象关系:

G = ( V , E ) G=(V,E) G=(V,E)

其中:

  • V V V:语义对象,如桌子、门、车辆、车道段;
  • E E E:关系,如“相邻”“包含”“可通行”“连接到”“属于”。

这就把地图从“分类”提升到了“关系理解”。


11.3 主要生成方式与系统链路

阶段输入输出典型方法
几何地图构建点云、栅格、Mesh、图像基础几何地图SLAM、重建
感知识别图像/点云/多模态数据类别预测2D/3D 分割、目标检测
投影与关联识别结果+地图地图单元语义标签2D-3D 投影、体素融合
语义融合多帧标签稳定语义地图贝叶斯更新、时序滤波
关系建模语义对象对象图/场景图Scene Graph、拓扑图
系统链路的直观理解

几何地图

图像/点云语义识别

语义投影到地图单元

多帧语义融合

关系建模

语义地图


11.4 相关的核心与经典算法

算法类别核心算法/方法主要作用
图像语义分割FCN、DeepLab、SegFormer、Mask2Former获取像素级语义
点云语义分割PointNet++、KPConv、MinkowskiNet获取点云/体素语义
语义 SLAMSemanticFusion、Panoptic Mapping、Kimera将语义融入建图
场景图构建Scene Graph、3D Scene Graph建模对象关系
时序融合Bayes fusion、CRF、Kalman-like fusion提升语义稳定性

11.5 信息量

【含有】
信息类别具体内容通俗解释
几何信息位置、形状、结构几何底座仍然存在
类别信息物体是什么、区域是什么地图开始“有意义”
功能信息可走、危险、可操作、关键设施等可用于任务决策
关系信息相邻、包含、连接、从属关系能支持场景理解和推理
【缺乏】
缺失类别具体表现原因
绝对正确的语义误检、漏检、类别混淆感知算法本身存在误差
完整常识推理不一定知道“为什么这么用”语义地图不等于通用知识系统
长期一致性场景变化后标签可能过期需要持续更新机制

11.6 应用场景

场景作用
服务机器人识别桌椅、门、可操作区域
自动驾驶区分车道、行人区、交通设施
室内导航按房间功能或物体类别导航
数字孪生支持资产、空间和业务语义联动
智能巡检将“设备类别”和“位置”结合起来

11.7 优缺点

【优点】
优点说明
场景可理解性强不再只是几何,而是带“意义”的地图
更利于决策能支撑高层任务规划和人机交互
可与业务系统联动易和资产管理、调度、运维结合
是高级智能系统的重要基础几何理解迈向语义理解的关键一步
【缺点】
缺点说明
强依赖感知模型质量语义错误会直接传递到地图中
维护复杂动态场景中的语义会变化
标注与训练成本高高质量语义系统通常依赖大量数据
融合链路复杂几何、时序、对象关系都要统一处理

总结

12.1 从“几何地图”到“理解地图”

如果把整篇内容串起来看,会发现各种地图并不是彼此孤立的,而是对应着不同层次的世界表达能力。

地图类型更核心回答的问题
稀疏点云地图我能否快速稳定地定位?
稠密点云地图我能否更完整地采样场景几何?
Mesh 地图我能否得到连续表面?
CAD 地图我能否得到工程可编辑结构?
线地图我能否抓住场景的骨架与结构边界?
压缩后的点云地图我能否在资源受限下仍然保留地图价值?
平面图我能否用二维抽象高效支持导航与布局?
神经网络隐式表征地图我能否用连续函数学习复杂几何与外观?
高精地图我能否支撑车道级定位与规则级驾驶?
矢量图我能否用点线面对象高效组织空间结构?
语义地图我能否让系统理解“这是什么、该怎么用”?

12.2 一个更通俗但更本质的理解方式

可以把这些地图看成不同抽象层级下的“世界模型”:

  • 点云地图 更像采样结果;
  • 线地图 更像骨架提炼;
  • Mesh 地图 更像连续外壳;
  • 平面图/矢量图 更像规则化抽象;
  • CAD 地图 更像工程设计模型;
  • 高精地图 更像自动驾驶规则底座;
  • 语义地图 更像“带意义”的几何世界;
  • 神经隐式地图 更像“用函数记住整个场景”。

因此,没有一种地图能在所有维度都最好。
真正合理的问题应该是:

在我的任务目标、算力预算、部署环境和工程链路下,哪一种地图最合适?


12.3 从算法演进角度看地图发展趋势

从底层算法和数学理论的发展路径来看,地图表达大致经历了以下演进:

1)从离散采样到连续表达
  • 早期更多是点、线、栅格、体素等离散表示;
  • 后来逐渐发展到 Mesh、SDF、NeRF 等连续场表达。

这背后对应的是一个核心诉求:

我们希望地图不只是“有数据”,而是“更像真实空间”。

2)从几何到底层语义
  • 早期地图更关注位置、边界、表面;
  • 现代系统越来越关注物体类别、交通规则、区域功能、对象关系。

这说明地图正在从“空间表达”走向“空间理解”。

3)从静态地图到底座级世界模型

未来很多系统并不满足于把地图当作一次性产物,而是把地图当作长期运行的世界模型,需要具备:

  • 持续更新
  • 动态变化建模
  • 多模态融合
  • 云边协同
  • 与业务系统深度联动

12.4 工程视角下如何选地图?

如果从工程落地角度粗略总结,可以这样理解:

任务目标更适合的地图类型
轻量定位 / SLAM稀疏点云地图、线地图
高保真三维重建稠密点云地图、Mesh 地图、神经隐式地图
室内导航 / 规划平面图、矢量图、语义地图
自动驾驶高精地图、矢量图、语义地图
工程设计 / 资产管理CAD 地图、矢量图、语义地图
大规模部署 / 车端加载压缩点云地图、矢量图
高层智能与任务理解语义地图、场景图、神经世界模型

12.5 结语

三维地图从来不只是“把世界存下来”这么简单。
它本质上是在回答一个越来越深的问题:

系统究竟要以什么方式理解世界?

是用点来理解?
是用线来理解?
是用表面来理解?
是用工程几何来理解?
还是用语义、规则、关系,乃至神经函数来理解?

从稀疏点云到语义地图,从二维平面图到神经隐式场,这条路线展示的不是单一技术分支,而是整个智能空间系统不断升级的认知层级:

  • 从“看到”
  • 到“建出来”
  • 到“压缩与组织”
  • 到“理解和推理”
  • 再到“面向任务决策”

因此,真正先进的地图系统,往往不是只押注某一种表示,而是能够在多种表示之间建立稳定、可解释、可维护、可演进的转换链路。

地图的终点,不只是更精细的几何,而是更完整的世界模型。


深度学习链接

一、总览 / 综述 / 通用参考

COLMAP 官方文档
COLMAP Tutorial
COLMAP GitHub
ORB-SLAM3 GitHub
Open3D 官方文档
Point Cloud Library (PCL) 官方文档
Point Cloud Library (PCL) Tutorials
Point Cloud Library (PCL) GitHub

二、稀疏点云地图 / SfM / 特征地图

COLMAP 官方文档
COLMAP Tutorial
COLMAP GitHub
ORB-SLAM3 GitHub
Open3D Point Cloud Tutorial
Open3D ICP Registration Tutorial

三、稠密点云地图 / Dense Mapping

KinectFusion: Real-Time Dense Surface Mapping and Tracking
KinectFusion: Real-time 3D Reconstruction and Interaction
ElasticFusion: Dense SLAM Without A Pose Graph
Open3D Point Cloud Tutorial
Open3D ICP Registration Tutorial
PCL 官方文档
PCL Tutorials
MeshLab 官网

四、Mesh 地图 / 网格地图 / 表面重建

Poisson Surface Reconstruction
Poisson Surface Reconstruction PDF
Screened Poisson Surface Reconstruction PDF
CGAL Polygon Mesh Processing: User Manual
MeshLab 官网
MeshLab GitHub
PyMeshLab 文档

五、CAD 地图 / 工程几何 / B-rep / 逆向工程

Open CASCADE Technology Overview
Open CASCADE Modeling Algorithms
BRepBuilderAPI Class Reference
Point2CAD: Reverse Engineering CAD Models from 3D Point Clouds
Point2CAD CVPR 2024 PDF
Point2CAD Project Page
Point2CAD GitHub
BrepGaussian: CAD reconstruction from Multi-View Images with Gaussian Splatting

六、线地图 / 线特征地图 / 结构化线地图

LSD: a Line Segment Detector
3D Line Mapping Revisited
3D Line Mapping Revisited CVPR 2023 PDF
LIMAP Microsoft Research 页面
IDLL: Inverse Depth Line based Visual Localization in Challenging Indoor Environments
Towards Light-weight and Real-time Line Segment Detection (M-LSD)

七、压缩后的点云地图 / Point Cloud Compression

Draco 官网
Draco GitHub
Draco Bitstream Specification
Mapbox Vector Tile Specification
Geometry-based Point Cloud Compression Test Model (TMC13)
Video-based Point Cloud Compression Test Model (TMC2)
Point Cloud Compression (V-PCC, G-PCC & branches)
3D Point Cloud Compression: A Survey
Point Cloud Compression and Objective Quality Assessment
An Introduction to Point Cloud Compression Standards

八、平面图 / Floor Plan / 室内布局地图

LaLaLoc++: Global Floor Plan Comprehension for Layout-based Localization in Unseen Environments
PALMS+: Modular Image-Based Floor Plan Localization Leveraging Depth Foundation Model
Supercharging Floorplan Localization with Semantic Rays
FloorPlanActiveLocalization GitHub

九、神经网络隐式表征的地图 / Neural Implicit Maps / NeRF-SLAM

NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
NeRF Project Page
iMAP: Implicit Mapping and Positioning in Real-Time
iMAP GitHub(复现版)
NICE-SLAM Project Page
NICE-SLAM GitHub
vMAP GitHub
NeuraLoc: Visual Localization in Neural Implicit Map with Dual Complementary Features
awesome-Implicit-NeRF-SLAM

十、高精地图 / HD Map / 自动驾驶地图

Lanelet2 GitHub
ASAM OpenDRIVE 标准页
ASAM OpenDRIVE 最新规范
Autoware Lanelet2 扩展文档
Autoware Lanelet2 Format Extension
Monocular Localization with Vector HD Map (MLVHM)
VectorMapNet: End-to-end Vectorized HD Map Learning

十一、二维导航地图 / Occupancy Grid / 2D Navigation Map

High Resolution Maps from Wide Angle Sonar
OctoMap 官网
OctoMap API Documentation
OctoMap GitHub
Cartographer ROS 文档
Cartographer ROS API 文档
Nav2 Map Server 文档
nav2_map_server ROS 文档
Nav2 with SLAM 教程

十二、矢量图 / Vector Map / GIS Vector Representation

OpenStreetMap Wiki
OpenStreetMap Elements
OpenStreetMap Node
OpenStreetMap Way
OpenStreetMap Relation
OpenStreetMap Map Features
OpenStreetMap Downloading Data
Mapbox Vector Tile Specification GitHub
Mapbox Vector Tile Specification 官网
Mapbox Vector Tiles Standards

十三、语义地图 / Semantic Map / Semantic Localization

Semantic Visual Localization CVPR 2018 PDF
A Light-Weight Semantic Map for Visual Localization towards Autonomous Driving
SemanticKITTI 官网
SemanticKITTI 论文
SemanticKITTI ICCV 2019 PDF
SemanticKITTI API
Vision-based Mapping of Lane Semantics and Topology for Autonomous Driving

十四、神经渲染 / 3DGS / 新型地图表达

3D Gaussian Splatting for Real-Time Radiance Field Rendering
3D Gaussian Splatting Official Project Page
3D Gaussian Splatting Official GitHub
A Survey on 3D Gaussian Splatting
awesome-3D-gaussian-splatting
gsplat: An Open-Source Library for Gaussian Splatting
gsplat GitHub
gsplat Documentation
Nerfstudio Documentation
Splatfacto (Nerfstudio)
Introduction to 3D Gaussian Splatting (Hugging Face Blog)
LearnOpenCV: 3D Gaussian Splatting Explained
SuGaR GitHub

十五、 工程参考

Open3D Point Cloud Tutorial
Open3D Tensor PointCloud Tutorial
PCL Walkthrough
MeshLab 官网
PyMeshLab 文档
Cartographer ROS 文档
Nav2 Map Server 文档
Open CASCADE Technology Overview
CGAL Polygon Mesh Processing: User Manual

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐