跳转至

Triangle Splatting SLAM

会议: ECCV 2026
论文: ECCV 官方页面 (Poster 5458)
项目主页: https://nmjfry.github.io/triangle-splatting-slam/
领域: 3D 视觉
关键词: RGB-D SLAM, 三角形泼溅, 可微渲染, 德劳内三角化, 在线网格重建

一句话总结

首个直接将可微三角形汤(Triangle Soup)作为唯一核心地图表征的密集 RGB-D SLAM 系统,通过解析相机位姿雅可比加速追踪、正三角形几何正则化与在线德劳内三角化,实现了超越 3D/2D 高斯泼溅的高保真 3D 几何重建与实时在线网格编辑。

研究背景与动机

具身智能与机器人系统迫切需要相机在三维空间中增量移动时实时构建显式 3D 地图。过去数年,密集视觉 SLAM 从早期的稀疏点标逐步演进为可微渲染驱动的密集辐射场重构。然而,三维表征的选择始终处于权衡之中:隐式 NeRF 方案受限于极其耗时的光线步进与 MLP 查询,难以满足实时在线系统的吞吐需求;3D 高斯泼溅(3DGS)虽然大幅提升了新视角合成的渲染速率与视觉保真度,但高斯椭球本质上仍属于体积型、离散无拓扑连接的基元,难以直接提取出精确的流形表面,无法直接接入传统图形管线、物理仿真、碰撞检测与几何交互编辑。

三角网格(Triangle Mesh)作为计算机图形学数十年来成熟的标准图元,具备 GPU 硬件天然支持的高速光栅化管线、自适应表面解析度以及内建的拓扑连续性,然而这一拓扑约束在增量式动态重构中却成了巨大的负担。在连续整合未知环境的传感器测量时,动态维护网格的拓扑一致性极其困难。以往基于 TSDF 体素网格的方案依赖 Marching Cubes 周期性整体重建,分辨率固定且内存爆炸;基于 Surfel 或高斯基元的方案即使在后处理中提取网格,提取出的表面也未在前端优化闭环中受到直接几何监督,导致深度与表面一致性脱节。

既然离线渲染近期证明了无拓扑约束的“三角形汤”(Triangle Soup)可以通过可微光栅化联合优化并在后处理中转为连续网格,那么是否可以直接跳过高斯或隐式体素等中间代理,用三角形作为唯一的 SLAM 地图基元?本文的核心 idea 是:完全以可微三角形作为密集 SLAM 的基础底层地图表征,推导解析位姿雅可比实现实时位姿追踪,引入正三角形与法向正则化约束几何退化,并借助受限德劳内三角化(Restricted Delaunay Triangulation)实现轻量、免离线后处理的实时在线连续网格生成与交互编辑。

方法详解

整体框架

Triangle Splatting SLAM 采用单进程、时序交替的前端位姿追踪与后端几何建图架构。系统接收连续的 RGB-D 传感器输入流,前端冻结地图基元,基于光度与几何误差优化当前帧位姿至收敛;关键帧基于与历史帧的三角形共视重叠率(IoU)进行自适应判定;后端在关键帧处反投影深度初始生成局部自适应大小的正三角形,维护一个包含最大共视帧、随机历史帧与最新帧的局部回放窗口,联合微调位姿与三角形顶点属性,并执行基于不透明度与投影面积的无效三角形剪枝,以及高模糊区域的四叉中点细分加密。当需要连续表面时,直接调用受限德劳内三角化连接顶点,形成支持形变与碰撞的网格。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["输入 RGB-D 视频流"] --> B["解析位姿雅可比追踪<br/>光度/深度误差优化至收敛"]
    B --> C{"共视重叠率判定<br/>与上一关键帧比较 IoU"}
    C -->|常规帧| B
    C -->|新关键帧| D["法向与自适应尺寸初始化<br/>最近邻反投影构建正三角形"]
    D --> E["多约束联合几何建图<br/>光度+深度+法向+正三角形正则"]
    E --> F["动态拓扑剪枝与中点细分加密<br/>按透明度与投影面积优化基元"]
    F --> G["受限德劳内三角化<br/>免后处理生成连续网格与在线编辑"]

关键设计

1. 顶点共享三角形参数化与平滑光栅化:避免连通性跳变并保证全顶点梯度传播

系统将场景建模为 \(N\) 个顶点集合 \(\mathcal{V}\),每个顶点参数化为三维世界坐标、颜色与不透明度 \(v_i = (x_i, y_i, z_i, c_i, o_i)\)。三角形面片由三个顶点的索引三元组 \(F_m = \{v_i, v_j, v_k\}\) 定义,内部像素颜色通过重心坐标插值 \(c_{F_m} = \lambda_i c_i + \lambda_j c_j + \lambda_k c_k\) 获得。这种顶点共享机制与逐面独立着色的传统 Triangle Splatting 截然不同,它保证了在拓扑结构重新索引时属性过渡平滑。针对 Mesh Splatting 将面片不透明度取最小值 \(\min(o_i, o_j, o_k)\) 导致非连续且梯度仅流向最低不透明度顶点的缺陷,本文改为取顶点平均值 \(o_{F_m} = \frac{1}{3}(o_i + o_j + o_k)\),确保所有顶点均能接收平滑梯度更新。在光栅化阶段,通过三角形在图像空间的二维有符号距离场(SDF)\(\phi(p) = \max_{i \in \{1,2,3\}} L_i(p)\) 及以内切圆心 \(s\) 为基准的平滑衰减函数 \(I(p) = \text{ReLU}\left(\frac{\phi(p)}{\phi(s)}\right)^\sigma\) 赋予面片边界可微边缘,沿视线按深度次序累积颜色: $\(C(p) = \sum_{n=1}^N c_{F_n} o_{F_n} I_n(p) \prod_{i=1}^{n-1} (1 - o_{F_i} I_i(p))\)$

2. SE(3) 流形上的解析相机位姿雅可比:消除自动微分瓶颈实现高效追踪

前端相机位姿优化通常需要约 80 次梯度下降迭代才能精确收敛。若依赖 PyTorch 的自动微分图机制,内存占用与反向传播延迟将彻底拖垮系统帧率。为此,本文直接在 CUDA 内核的 backward 阶段手工推导了解析相机位姿雅可比矩阵。对于李代数扰动 \(\tau \in \mathfrak{se}(3)\),相机坐标系下的三维顶点坐标 \(v_C\) 对相机李代数微元的导数满足标准刚体变换流形微分: $\(\frac{\mathcal{D} v_C}{\mathcal{D} \mathbf{T}_{CW}} = \begin{bmatrix} \mathbf{I}_3 & -[v_C]_\times \end{bmatrix}\)$ 结合像素到相机平面的二维投影微分 \(\frac{\partial v_I}{\partial v_C}\) 以及损失函数对投影坐标的梯度 \(\frac{\partial L}{\partial v_I}\),通过链式法则在单个 CUDA 核函数内完成闭式计算,使得前端追踪耗时降至数百毫秒,支撑了密集 SLAM 的顺畅迭代。

3. 法向引导与正三角形正规化建图:抑制无约束漂移与病态狭长图元

后端建图面临两大几何病态问题:一是深度反投影在欠约束视角的法向歧义;二是可微三角形在梯度驱动下拉伸退化为极细长的狭长病态三角形。针对法向,关键帧初始化时直接利用传感器深度图的一阶差分反投影计算参考法向 \(\bar{N} = \frac{\partial_x p_d \times \partial_y p_d}{\|\partial_x p_d \times \partial_y p_d\|}\),在后端回放中施加余弦相似度损失 \(E_{norm} = \sum_{p \in \mathcal{P}} (1 - N(V, \mathbf{T}_{CW})_p \cdot \bar{N}_p)\)。针对形状退化,本文设计了正三角形正则化损失 \(E_{equi}\),计算每个面片 \(F_m\) 的三个内角 \(\theta_{m,1}, \theta_{m,2}, \theta_{m,3}\) 的余弦值,惩罚其偏离等边三角形内角 \(60^\circ\) 的偏差: $\(E_{equi} = \frac{1}{|\mathcal{F}|} \sum_{F_m \in \mathcal{F}} \frac{1}{3} \sum_{k=1}^3 (\cos \theta_{m,k} - 0.5)^2\)$ 结合光度误差 \(E_{pho}\)(包含 \(L_1\) 与 D-SSIM)和深度误差 \(E_{dep}\),多重几何约束迫使空间三角形紧贴物体实际物理表面,阻断了病态穿插与孔洞产生。

4. 局部回放窗口下的自适应加密剪枝与在线受限德劳内网格化

在关键帧时,系统根据点云局部最近邻间距自适应确定初始三角形外接球半径 \(r_i\)。在后端优化回放中,系统根据混合重采样策略选取 4 个共视程度最高帧、2 个随机历史帧以及最新关键帧进行各 30 次重渲染更新。对不透明度均值低于阈值 \(\epsilon_o\) 或屏幕投影面积大于阈值 \(\epsilon_a\) 的冗余/欠拟合三角形执行剔除(Prune);对图像投影覆盖超过模糊阈值 \(\theta_{blur} \cdot H \cdot W\) 的欠采样区域三角形,沿其三条边引入中点顶点,线性插值生成 4 个子三角形替换原图元完成中点细分(Subdivision)。当地图需要导出或进行下游交互时,直接在当前优化后的三角形顶点集上执行受限德劳内三角化(Restricted Delaunay Triangulation),无需运行体素 Marching Cubes 即可在十余秒内提取出具备正确流形拓扑的连续网格,并在保持真实渲染外观的同时支持局部网格拖拽变形与碰撞检测。

损失函数 / 训练策略

系统在前追踪阶段使用光度与深度组合损失: $\(E_{track} = E_{pho} + \lambda_{dep} E_{dep}\)$ 其中 \(E_{pho} = (1 - \lambda_{ssim}) \|I(V, \mathbf{T}_{CW}) - \bar{I}\|_1 + \lambda_{ssim} L_{\text{D-SSIM}}(I(V, \mathbf{T}_{CW}), \bar{I})\)。 在后端建图阶段,总体优化目标综合了多重视监督与几何正则项: $\(E_{map} = E_{pho} + \lambda_{dep} E_{dep} + \lambda_{norm} E_{norm} + \lambda_{equi} E_{equi}\)$ 局部回放窗口中每批次选取 7 帧进行交替联合迭代,确保局部高精度与全局一致性兼备。

实验关键数据

主实验

在标准 Replica 数据集上评估 3D 重建几何精度(Chamfer Distance,采样 100 万点,单位 cm ↓)与网格生成耗时(秒 ↓):

方法 / 表征 几何提取方式 r0 r1 r2 o0 o1 o2 o3 o4 平均 Chamfer (cm) ↓ 平均网格耗时 (s) ↓
MonoGS TSDF Fusion 3.76 4.39 4.63 2.93 4.78 4.18 4.36 3.26 4.03 -
MonoGS-2D* TSDF Fusion 1.93 1.16 1.54 1.56 0.70 1.49 1.37 1.15 1.36 -
本文 (Ours) TSDF Fusion 1.00 0.77 1.01 0.66 0.56 1.12 1.69 0.78 0.95 33.44
本文 (Ours) Delaunay (剪枝) 1.16 1.01 1.09 0.77 0.69 1.37 2.00 1.02 1.14 15.66
本文 (Ours) Delaunay (未剪枝) 1.99 1.35 1.41 1.23 1.18 1.55 2.38 1.28 1.55 11.18

在 TUM-RGBD 数据集上的相机绝对轨迹误差(ATE RMSE,单位 cm ↓):

输入模式 回环检测 算法 fr1/desk fr2/xyz fr3/office 平均 ATE (cm) ↓
RGB-D 无回环 iMAP 4.90 2.00 5.80 4.23
RGB-D 无回环 NICE-SLAM 4.26 6.19 3.87 4.77
RGB-D 无回环 Co-SLAM 2.40 1.70 2.40 2.17
RGB-D 无回环 Point-SLAM 4.34 1.31 3.48 3.04
RGB-D 无回环 MonoGS 1.50 1.44 1.49 1.47
RGB-D 无回环 MonoGS-2D* 1.58 1.20 1.83 1.54
RGB-D 无回环 本文 (Ours) 1.77 1.12 1.83 1.57
RGB-D 带回环 BAD-SLAM 1.70 1.10 1.70 1.50
RGB-D 带回环 ORB-SLAM2 1.60 0.40 1.00 1.00

系统在 TUM 及 Replica 上的计算延迟、内存与基元规模分析:

评估指标 fr1/desk fr2/xyz fr3/office Replica office1
帧率 FPS (Hz) ↑ 0.82 2.33 1.29 0.55
全流程每帧延迟 (ms) ↓ 1225 429 775 1809
前端追踪延迟 (ms) 584 352 494 892
后端建图延迟 (ms) 642 77 282 918
地图三角形图元数 29.0k 24.0k 34.4k 152.2k
模型存储大小 (MB) ↓ 5.0 4.4 7.6 16.4
显存峰值 GPU Usage (GB) ↓ 0.47 0.47 0.53 1.25

关键发现

  • 几何精度显著优于高斯 SLAM:在 Replica 全部 8 个场景上,本文无论是通过深度图做 TSDF 融合(Chamfer 0.95 cm),还是直接德劳内提取网格(Chamfer 1.14 cm / 1.55 cm),均全面击败 3DGS 基线 MonoGS(4.03 cm)与 2DGS 基线 MonoGS-2D*(1.36 cm)。
  • 网格提取的效率与质量权衡清晰:剪枝后的德劳内网格生成时间仅需 15.66 秒,相比 TSDF Fusion 的 33.44 秒提速超过 50%,且 Chamfer 距离保持在 1.14 cm 的高精度水准。未剪枝德劳内最快(11.18 秒),仅在未观测边缘存在外围杂乱面片。
  • 轨迹精度与内存开销平衡优异:在 TUM-RGBD 序列上取得 1.57 cm 的平均轨迹误差,与领先的 MonoGS-2D (1.54 cm) 旗鼓相当。同时,地图三角形数量仅为 24k~152k,模型体积仅 4.4~16.4 MB,显存占用不足 1.3 GB,具备高度紧凑性。

亮点与洞察

  • 跨越表征壁垒:这是首个成功将离散可微三角形直接部署于密集 SLAM 闭环的系统。彻底打通了连续高保真光度渲染与显式网格拓扑之间的桥梁,摒弃了昂贵的多阶段神经网络或体素隐式中介。
  • 手工推导 CUDA 解析雅可比极具工程价值:将李代数相机扰动的几何微积分直接内嵌至反向传播 CUDA 核函数中,免除了自动微分图带来的算力与显存激增,是使可微三角形得以在 SLAM 前端实现实时追踪的关键。
  • 细长退化与拓扑跳变的巧妙化解:采用顶点不透明度均值平滑梯度路由,配合正三角形内角偏差惩罚与传感器法向监督,使三角形基元在缺乏显式刚性连接的自由优化阶段仍能自发形成平滑规则的流形拟合面。

局限与展望

  • 拓扑水密性尚未完全数学保证:当前的德劳内提取在极少观测或视线外区域容易残留非流形或自相交面片,作者指出未来需进一步在优化中引入流形硬约束。
  • 帧率尚未达到满帧真实实时:在复杂大场景(如 Replica office1)中每帧耗时仍需 1.8 秒左右(约 0.55~2.3 FPS),距离 30 FPS 硬实时仍有差距。未来需通过多进程解耦、共轭梯度优化与稀疏光束法平差(SBA)进一步提速。
  • 依赖已知深度输入:系统目前严重依赖 RGB-D 提供的初始深度与表面法向,向纯单目单目视频拓展需要集成强大的单目几何深度先验(如 MASt3R)。

相关工作与启发

  • vs Gaussian Splatting SLAM (MonoGS / SplaTAM): 高斯 SLAM 使用 3D 椭球高斯,提取网格需要密度场阈值化或 Marching Cubes,不仅几何表面存在大量漂浮物与厚度伪影,且无法在线实施变形编辑;本文采用三角形基元,表面天然显式锐利,且可无缝转为流形网格。
  • vs 2D Gaussian Splatting (MonoGS-2D / 4DTAM): 2D 高斯虽将基元扁平化为圆形盘片,但仍是割裂的独立离散分布,下游仿真与物理碰撞仍无法原生识别;本文三角形参数化天然匹配现代图形学与仿真物理引擎格式。
  • vs Mesh Splatting (Held et al., CVPR 2026): Mesh Splatting 针对离线多视角重建,采用最小不透明度截断与全局共享网格,在增量式 SLAM 这种数据逐步到来的在线动态场景下极易发散锁死;本文采用均值不透明度、正三角形正则化及中点动态细分,专为在线流式建图量身定制。

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 首次将可微三角形汤光栅化与在线受限德劳内三角化成功引入密集视觉 SLAM,打破了 NeRF 和高斯对辐射场 SLAM 的垄断。
  • 实验充分度: ⭐⭐⭐⭐⭐ 在 Replica 与 TUM 经典基准上全面对比了轨迹误差、深度误差、Chamfer 距离与网格生成耗时,且包含详细的基元规模与计算性能剖析。
  • 写作质量: ⭐⭐⭐⭐⭐ 概念阐述清晰,数学推导完备,实验设计严谨自洽。
  • 价值: ⭐⭐⭐⭐⭐ 成功连接了神经渲染与传统下游图形学/物理仿真管线,为具身智能在线交互与数字孪生提供了极具潜力的底层表征范式。