动态SLAM的“既要又要”难题,DL-SLAM用像素层+物体层双层概率解决了

动态SLAM的“既要又要”难题,DL-SLAM用像素层+物体层双层概率解决了
「不再“一刀切”删动态物体」目录01 动态SLAM的一刀切困境1.1 静态世界假设的崩塌1.2 WildGS-SLAM的进步与遗留问题02 双层概率框架像素做加权物体做删除2.1 像素级动态概率语义 几何双重判决2.2 物体级动态概率近期加权 时序确认2.3 反馈闭环用纯净地图反过来修正像素概率2.4 语义标签精炼解决遮挡和帧间不一致03 实验数据3.1 跟踪精度BONN 和 TUM 两个数据集的对比3.2 渲染质量无伪影的静态地图3.3 消融实验的结论3.4 时效与内存04 写在最后3D高斯泼溅 SLAM这两年跑得飞快从NeRF时代一路卷到了高保真稠密重建。但有一个老问题始终没解决利索动态物体怎么处理。传统做法粗暴得很语义分割出“人”“车”这些动态类别直接全部丢掉。问题是一个站在路边不动的人对SLAM来说就是一堆高质量的几何约束——他的轮廓、深度、纹理全可以用非要把人家删了纯属浪费。尤其在人群密集的场景里静态背景被动态物体大面积遮挡剩下来的结构根本不够约束相机位姿。DL-SLAM给了一个直接且干净的解法双层概率框架像素层和物体层各干各的再用一个反馈闭环把两者拧在一起。短暂静止的物体该用来定位就用来定位该从地图里删掉就删掉互不干扰。在BONN和TUM数据集上跟踪精度最高提升13%地图干净无伪影论文已被ACMMM 2026接收。01 动态SLAM的一刀切困境1.1 静态世界假设的崩塌3DGS SLAM的底层逻辑建立在场景是静态的这一假设上。动态物体一出现帧间对应关系被污染位姿估计直接崩建图就更不用说移动过的物体留在地图里就是一堆鬼影。过去大多数方案的处理方式简单粗暴预先定义人行、车辆等动态类别语义分割后一刀切除。这套逻辑的代价是三重的第一短暂静止的动态物体提供的几何约束白白丢掉——在人群密集场景尤其致命静态结构被大面积遮挡后位姿根本算不准第二预定义类别之外的运动物体比如被风吹动的箱子、滚动的球无法覆盖第三切得太干净反而把有用的约束也切没了。1.2 WildGS-SLAM的进步与遗留问题WildGS-SLAM是一个重要转向——它用逐像素不确定性图加权跟踪让短暂静止的物体参与位姿估计。这个思路是对的但实现上有两个致命短板。首先是它把低不确定性的物体直接熔进了静态地图。一个人站了三秒不动这期间不确定性很低三秒后他走了他的高斯点却永久留在地图里了、变成了伪影。其次是它的不确定性估计纯靠几何信息——光流残差大就说不确定、残差小就说确定——到了物体边界处根本算不准因为边界上的几何约束天然模糊。DL-SLAM的设计出发点就是同时解决这两个问题既让短暂静止物体为跟踪出力又不让它们污染地图。02 双层概率框架像素做加权物体做删除2.1 像素级动态概率语义 几何双重判决DL-SLAM不是简单地把人标记为动态而是用开放集语义识别RAM Grounding DINO MobileSAMv2把场景里的每个物体实例都单独识别出来再用对极几何计算每个像素究竟动了多少。具体而言当前帧和上一关键帧之间估算光流 → 用光流对应点估算基础矩阵 → 计算每个像素的Sampson重投影误差 → 把误差建模成卡方分布用CDF算出这个像素是动态的概率。最终像素的动态概率不仅来自几何误差还做了语义层面的聚合——同一个物体实例上的像素共享运动状态取前四分位数和中位数的平均值作为该实例的整体概率避免个别误判像素带偏整体判断。图 | 系统整体框架——从输入图像到相机位姿与静态3D地图展示像素级概率估计跟踪→ 物体级概率估计建图→ 贝叶斯概率更新反馈闭环的完整管线2.2 物体级动态概率近期加权 时序确认像素概率被提升到3D高斯表示后每个高斯点都带两个额外属性动态概率和语义标签。这就可以做物体级的推理了。一个直接的想法是按物体取所有关联高斯的概率均值。但这里有坑一个长期静止的物体突然开始移动新增的高斯点概率高但会被历史积累的大量低概率高斯稀释掉——模型反应太慢。DL-SLAM用了近期加权给每个高斯点按其创建时间赋予指数衰减权重——越新的高斯权重越大。这一步相当于让模型更相信最近看到的情况。做完加权后还有一步时序确认物体概率超过阈值 τ_prune 必须连续三个关键帧都满足才算真正被标记为动态并删除。这避免了因单帧误判过早删除静态物体。图 | 消融实验——像素级概率移除 / 物体级概率移除 / 语义标签精炼三项模块独立贡献2.3 反馈闭环用纯净地图反过来修正像素概率这是论文最巧妙的部分。像素级概率的质量受限于初始估计——几何约束在低纹理、弱光照条件下不准语义分割也可能出错。DL-SLAM的做法是物体级删除完成后得到一个纯净的静态地图用这个纯净地图渲染一张它认为正确的概率图然后把这张渲染图作为先验用贝叶斯公式更新原来的像素级概率。换句话说系统在跟踪过程中不断做自我纠偏——建图越干净概率估计越准概率估计越准跟踪越稳跟踪越稳建图越好。一个自洽的闭环。2.4 语义标签精炼解决遮挡和帧间不一致动态物体会遮挡背景导致背后的区域建不出高斯点、标签碎片化。另外逐帧的语义分割本身存在帧间标签不一致——同一个物体这一帧叫box下一帧叫package。图 | 语义标签精炼效果——输入标签 vs. 未精炼 vs. 精炼后DL-SLAM的应对是两招一是融合IoU空间匹配和CLIP外观匹配的跨帧对齐同名物体三次连续匹配确认后合并标签二是在动态物体遮挡区域做语义梯度引导的加密重建补全那些被遮挡导致稀疏的区域。03 实验数据3.1 跟踪精度BONN 和 TUM 两个数据集的对比图 | BONN 数据集跟踪性能——全序列 ATE RMSE 对比传统 / NeRF / 3DGS 三类方法横向比较BONN数据集包含大量动态场景行人移动、箱子搬运等DL-SLAM平均ATE RMSE 2.2cmWildGS-SLAM 2.5cmDG-SLAM 4.2cm。需要指出的是BONN使用了外部深度传感器RGB-D不是纯单目数据质量本身比纯视觉场景高。图 | TUM RGB-D 动态数据集跟踪性能——8个序列 ATE RMSE 逐项对比TUM数据集上DL-SLAM平均RMSE 1.3cm比次优方案下降13%。“w_r”走动旋转这种最难的序列上保持2.9cmDG-SLAM是4.4cm。说明在复杂运动交织的场景里双层概率框架对动态干扰的抑制效果更明显。3.2 渲染质量无伪影的静态地图图 | 渲染定性对比——WildGS-SLAM因融合短暂静止物体而产生伪影wandering 序列中的两个人、mv_box 中移动的箱子DL-SLAM通过物体级删除实现无伪影渲染渲染指标上DL-SLAM全面最优但这里需要提醒读者注意3DGS的渲染质量在动态场景下本身就不稳定SSIM和LPIPS这些指标反映的不只是建图质量还包括纹理复杂度、光照变化等因素的叠加效应。不能简单地把渲染指标的提升全部归因于动态处理——语义精炼对纹理一致性的贡献可能同样关键。图 | Wild-SLAM iPhone 和 BONN 数据集渲染性能——PSNR / SSIM / LPIPS 三项指标全场景对比3.3 消融实验的结论去掉像素级概率w/o pixel-level prob.跟踪ATE从2.2cm恶化到4.8cm说明像素级动态加权对跟踪鲁棒性的贡献是决定性的。去掉物体级概率w/o object-level prob.渲染质量明显下降短暂静止的物体留在地图里产生伪影。去掉语义精炼w/o semantic refinementPSNR从19.99掉到18.74语义标签的帧间一致性对渲染质量有独立贡献。图 | 渲染消融定性对比——真值 / 去掉物体级概率 / 完整 DL-SLAM3.4 时效与内存表 | Table 4: TUM RGB-D 运行时与内存——分割 / 追踪 / 建图各模块耗时 模型大小 GPU 显存跟踪139.6ms/帧、建图590.4ms/帧单GPU RTX 3090可跑。内存11.5GB的使用量不算低比SGS-SLAM的6.5GB高了不少——额外的语义标签和动态概率属性确实吃显存但换来了物体级推理能力。换到低配设备上可能会有压力论文没有给出Jetson等边缘平台的实测数据。另外有个小功能值得提一下因为每个物体都有独立标签和实例ID用户输入自然语言提示可以直接从重建地图里删除指定物体。图 | 交互式场景编辑——通过用户提示定位目标物体并从最终地图中删除04 写在最后DL-SLAM解决了一个在动态GS-SLAM领域被反复绕过的工程问题怎么在跟踪时利用短暂静止物体的约束同时又不在建图时留下它们的痕迹。双层概率框架的设计逻辑值得关注——它不是简单加一个模块、改一个损失函数而是用两种尺度、两种逻辑、一套闭环去系统性地处理一个本质上是既要又要的矛盾问题。当然开放集语义的稳定性、内存占用、对动态物体轨迹建模的缺失都是真实部署中需要补的课。但在一众一刀切方案中DL-SLAM提供了一种更精细、更务实的分层处理思路。参考论文论文标题DL-SLAM: Enabling High-Fidelity Gaussian Splatting SLAM in Dynamic Environments based on Dual-Level Probability论文链接https://arxiv.org/pdf/2607.01860Accepted to ACMMM 2026