CVPR 2025 最新感知算法解读:GaussianLSS 如何用 Gaussian Splatting 重构 BEV 表示?

CVPR 2025|GaussianLSS:BEV 感知不一定非得"卷更大 Transformer",真正缺的可能是对深度不确定性的建模

摘要

这几年自动驾驶里的 BEV 感知几乎成了"必争之地",很多方法不断往更大的 Transformer、更密的 3D 网格、更复杂的跨视角注意力上堆。但问题也越来越明显:精度确实在涨,算力和显存也在一起涨。

今天这篇论文很有意思,它没有继续沿着"更重的 3D projection"往下做,而是回到经典的 Lift-Splat-Shoot 思路,重点解决一个老问题:

深度本来就不确定,为什么还要逼模型只给出一个特别确定的投影结果?

论文的核心想法很直接:与其让模型死命猜一个精确深度,不如直接让它把"这个目标大概在这个范围内"的不确定性表达出来,再把这种不确定性变成 3D Gaussian,最后通过 Gaussian Splatting 做 BEV 特征聚合。

如果你最近正在看自动驾驶感知、BEV 表示、多视角视觉到 3D 的转换,这篇论文很值得认真读。因为它讨论的不是"把 backbone 再做大一点",而是一个更本质的问题:

BEV 感知的瓶颈,可能不是模型不够重,而是你对深度这件事建模得不够对。


一、为什么这篇论文值得分析?

这篇论文的题目是:

Toward Real-world BEV Perception: Depth Uncertainty Estimation via Gaussian Splatting

它关注的是一个非常现实的问题:

BEV 感知虽然已经是自动驾驶里很成熟的中间表示,但现有方法大致分成两条路线:

  • 一条是 2D unprojection
  • 一条是 3D projection

前者通常更快、结构更轻,但更依赖深度质量;

后者通常精度更高,但计算和显存代价更重。

GaussianLSS 最值得看的地方就在于,它试图在这两者之间找到一个更适合真实系统落地的平衡点。

这点特别适合写成技术解读。因为很多人看 BEV 论文时,容易形成一个直觉:

想要更高精度,就只能接受更重的模型。

但这篇论文其实在反问这件事:

如果问题根源不是 backbone 不够强,而是你对深度这件事建模得不对,那是不是还有别的路?

这就是它最值得看的地方。


二、这篇论文到底在解决什么问题?

论文一开始就把问题讲得很清楚:现有 BEV 感知方法大致分成两类。

1. 2D unprojection 路线

典型代表就是 Lift-Splat-Shoot 这一类方法。

整体流程通常是:

  • 先预测深度
  • 再把图像特征 lift 到 3D 空间
  • 最后 splat 到 BEV 平面

这条路线的优点很明显:

  • 结构清晰
  • 速度快
  • 工程实现相对直接

但它的缺点也很明显:

太依赖深度预测是否准确。

只要深度估得有偏,后面整个 BEV 表示都会跟着偏。


2. 3D projection 路线

另一类方法则更像是:

  • 在 3D 网格或 BEV query 上做投影
  • 再通过跨视角注意力或特征采样完成空间对齐

这类方法通常精度更强,因为它不那么依赖显式深度估计。

但代价也很现实:

  • 3D 网格更密
  • query 更多
  • cross-attention 更重
  • 显存和计算量都更高

所以 GaussianLSS 想解决的不是一个小修小补的问题,而是一个更本质的矛盾:

BEV 感知能不能既保留 2D unprojection 的高效率,又尽量逼近 3D projection 的表现?

作者给出的答案是:

关键不在于要不要显式深度,而在于要不要显式建模"深度本身是不确定的"这件事。


三、GaussianLSS 的核心思路:不要只预测"一个深度",而要预测"一个带不确定性的空间范围"

这是整篇论文最值得记住的一句话。

传统 LSS 类方法虽然也会输出深度分布,但很多时候仍然主要把它当成一种 soft weighting,也就是用一组离散深度概率去加权图像特征,再投到 3D 空间里。

GaussianLSS 认为这还不够。

因为真实场景里的深度估计天然就是模糊的,尤其在这些情况下更明显:

  • 远距离目标
  • 小目标
  • 遮挡目标
  • 纹理弱区域
  • 边界不清晰区域

与其强迫模型给出一个特别"肯定"的深度,不如直接让模型把这种不确定性表达出来。

具体来说,GaussianLSS 会从每个像素的深度分布里计算两个量:

  • 一个是深度均值
  • 一个是深度方差,也就是不确定性

然后把原本的"离散深度加权"改成一个 uncertainty-aware range,也就是围绕均值深度的一个范围。

这个改动的意义很大,因为它不再要求模型说:

它一定就在这个点上。

而是允许模型说:

我大概知道它在这个深度附近,但它可能分布在一个范围里。

这其实更符合真实感知系统面对复杂场景时的状态。


四、为什么它会想到用 Gaussian Splatting?

这篇论文的第二个关键点,是它没有把这种深度不确定性停留在"数值层面",而是进一步把它变成了 3D Gaussian

你可以这样理解:

  • 如果一个像素对应的深度非常确定,那它更像一个比较集中的空间点
  • 如果一个像素对应的深度不确定,那它更像一团在空间里扩散开的概率云

既然是"云状分布",那用 Gaussian 来表示它就很自然。

于是作者的做法是:

  1. 先从深度分布中得到均值和方差
  2. 再结合相机投影关系,把这种不确定性映射到 3D 空间
  3. 最后把每个像素表示成一个 3D Gaussian
  4. 再通过 Gaussian Splatting,把这些带不确定性的 3D 表示高效渲染到 BEV 平面上

这个设计很巧。

因为 Gaussian Splatting 天然适合处理"不是一个点,而是一团带范围的空间分布"。

如果还是用硬投影、硬离散体素去处理这些不确定性,反而会把本来应该被温和表达的模糊区域变得很生硬。

GaussianLSS 等于是在说:

既然深度本来就是模糊的,那不如直接用 Gaussian 的方式去表达这种模糊。

这也是它最有辨识度的地方。


五、整篇论文的结构怎么理解?

如果把 GaussianLSS 翻译成人话,它大概可以拆成四步。

1. 先预测每个像素的深度分布

这一点和很多 LSS 类方法类似,模型仍然会为每个像素输出一组深度概率,而不是直接输出单一深度值。

不同的是,GaussianLSS 不只是拿这组分布去做 soft lifting,而是进一步把它当成一个统计对象来分析。


2. 从深度分布里提取均值和方差

这是它和普通 LSS 拉开差距的第一步。

作者显式计算深度分布的:

  • mean
  • variance

其中:

  • mean 代表大致深度位置
  • variance 代表深度不确定性

这个 variance 很关键。

因为它不只是"误差大小",还可以间接反映一个空间区域到底有多模糊、多不稳定。

你可以把它理解成:

这个像素对应的空间信息,到底是一个非常清楚的点,还是一个比较发散的区域。


3. 把深度不确定性转成 3D Gaussian

有了均值和方差之后,模型就可以在相机视锥里构建 3D Gaussian。

这一层的意义在于:

  • 不再把像素对应关系理解成一个刚性点投影
  • 而是理解成一个带空间扩散范围的概率分布

这就让原本很生硬的"像素到 3D"的映射,变得更柔和、更符合真实视觉深度的不确定性。


4. 用多尺度 BEV rendering 解决局部畸变问题

论文还观察到一个很现实的问题:

如果相邻像素的深度均值差异较大,直接渲染到 BEV 里,容易造成局部特征扭曲。

所以作者进一步用了 multi-scale BEV rendering 的策略:

  • 先在不同分辨率下分别渲染
  • 再上采样并融合到目标 BEV 分辨率

这样做不是为了"堆多尺度"本身,而是为了缓解局部深度不一致带来的形变问题。

这一步很工程化,也很实用。


六、这篇论文最关键的创新点是什么?

如果只看标题,很多人可能会以为它只是"把 Gaussian Splatting 套到 BEV 里"。

但我觉得它真正的创新,至少有下面三个层面。

创新点 1:它把"深度不确定性"从附属信息变成了主角

很多方法也知道深度估计有误差,但通常只是:

  • 加一个辅助监督
  • 加一个深度损失
  • 或者把 probabilistic depth 当成软权重

GaussianLSS 更进一步:

它不是试图消灭不确定性,而是试图利用不确定性。

这和很多传统思路是完全不同的。


创新点 2:它不是更重,而是更会表达空间模糊

很多高精度 BEV 方法的路线是:

  • 更密的 3D 网格
  • 更复杂的 query
  • 更多跨视角 attention
  • 更大的计算量

GaussianLSS 则换了一个角度:

真实空间本来就不是每个像素都那么确定,那我就用 Gaussian 去表达这种模糊。

也就是说,它不是靠"更复杂的网络"去换效果,而是靠"更合理的表示方式"去换效果。

这一点我觉得特别值得记住。


创新点 3:它重新定义了效率和效果之间的平衡点

这篇论文最有吸引力的地方之一,就是它不是"精度一般但很快",也不是"精度很强但特别重"。

它更像是在告诉你:

  • 我可以保留 2D unprojection 的高效率
  • 同时把表现往 3D projection 路线逼近
  • 而不需要付出特别夸张的算力代价

对于真实系统来说,这类方法往往比单纯刷榜更有价值。


七、实验结果到底强不强?

从整体趋势来看,GaussianLSS 不是那种"想法很新,但一落到 benchmark 就不行"的工作。

它在结果上是有说服力的。

1. 在 unprojection 路线里表现很强

如果只把它放在 2D unprojection 这一类方法里看,GaussianLSS 的表现是很有竞争力的。

这说明它并不是只提出了一个漂亮概念,而是真的把传统 LSS 这条路线往前推了一步。

也就是说,它证明了一件事:

显式深度路线并没有走死,只要你认真建模 depth uncertainty,它依然很能打。


2. 和重型 projection 方法相比,精度差距并不夸张

更有意思的是,它和一些更重的 projection-based 方法相比,虽然绝对精度上可能还略逊一点,但差距已经不大。

换来的却是:

  • 更快的推理速度
  • 更低的显存占用
  • 更适合高分辨率输入
  • 更适合实时系统

这一点很关键。

因为真实系统很多时候并不追求"绝对榜单第一",而是追求:

足够强 + 足够快 + 足够省

GaussianLSS 非常接近这个方向。


3. 对远距离目标更有帮助

论文里还有一个很值得注意的结论:

GaussianLSS 对 长距离目标 的处理更稳。

为什么?

因为远距离目标最容易出现深度模糊。

而 GaussianLSS 恰恰就是显式建模这种不确定性的,所以它在远处场景下往往更能保留合理的空间表示。

这个点非常有工程意义。

因为远距离目标往往正是很多纯视觉系统最头疼的部分:

  • 看得见
  • 但估不准
  • 感受到那里有东西
  • 但位置和边界不稳定

GaussianLSS 的启发就在于:

与其强行逼模型在远处也给出特别锐利的定位,不如先把这种不确定性合理表达出来。


八、工程上它有什么价值?

我觉得 GaussianLSS 最值得工程侧关注的,不只是"速度更快",而是它代表了一种设计取向变化。

1. 不是所有精度问题都要靠更重的 attention 解决

过去几年很多 BEV 感知方法的默认方向就是:

  • 精度不够,就加更复杂的 projection
  • 精度不够,就加更多 query
  • 精度不够,就加更强 transformer

GaussianLSS 提醒我们:

有些问题并不是模型容量不够,而是表示方式不对。

深度模糊本来就是视觉系统的天然属性。

如果你一直假装它不存在,那后面再堆多少模块都可能只是在修补症状。


2. 真实系统更看重"接近最优 + 低代价"

从学术角度看,GaussianLSS 不是那种"把所有方法都打穿"的绝对榜首路线。

但从系统角度看,它反而更有吸引力。

因为很多真实项目要的不是绝对最强,而是:

  • 精度不能太差
  • 显存别太大
  • 延迟别太高
  • 输入分辨率还能继续提

GaussianLSS 恰好就是在这几个点上取得了比较均衡的结果。


3. 它给显式深度路线续了一口气

过去一段时间,很多人已经默认 query-based、projection-based 才是 BEV 感知的未来,LSS 一类方法更像是效率派而不是精度派。

但 GaussianLSS 其实证明了一件事:

显式深度这条路并没有走死。

只要你愿意认真建模深度不确定性,它依然能很有竞争力。


九、这篇论文有没有局限?

有,而且这些局限也很真实。

1. 在最强 projection-based 方法面前,绝对精度仍然略逊一筹

GaussianLSS 的定位不是"完全取代更重的 projection 路线",而是:

用更低代价去逼近它们。

所以它更像是一个效率和性能的折中点,而不是单纯追榜单第一的路线。


2. 这条路线仍然需要仔细处理渲染与参数选择

既然它把深度不确定性转成 Gaussian,再渲染到 BEV,那渲染策略和参数设置自然会影响效果。

也就是说,这种方法不是"天然稳",仍然需要认真调:

  • uncertainty 范围
  • rendering 方式
  • 多尺度策略
  • Gaussian 表达强度

这也是它后续还能继续优化的空间。


3. 它的优势更偏"表示方式升级",不是"万能增强模块"

GaussianLSS 的强项在于它从根源上改了深度到 BEV 的表示方式。

这意味着它非常适合那些本来就走显式深度 lifting 路线的系统。

但如果你的系统本身完全不依赖这类表示,那它未必能无缝套进去。


十、我的总体评价

如果你现在关注的是下面这些方向,我觉得 GaussianLSS 很值得读:

  • BEV 感知
  • 多视角视觉到 BEV 的转换
  • 自动驾驶纯视觉方案
  • 深度不确定性建模
  • 轻量高效的 3D 感知表示

它最让我认可的一点,不是"又把某个榜单刷高了",而是它抓住了一个非常本质的问题:

视觉深度本来就是模糊的,为什么我们总是要求模型把它硬投成一个特别确定的 BEV 表示?

GaussianLSS 的回答很有启发:

不要和不确定性对着干,而是把它变成表示的一部分。

这其实不只是一个技巧,而是一种思维方式的变化。


十一、总结

GaussianLSS 这篇论文最有意思的地方,不是"又做了一个更强的 LSS 变体",而是它提醒我们:

BEV 感知真正难的,未必只是多视角融合本身,而是你怎么面对深度这件天然不确定的事。

如果你一直把深度模糊当成噪声,模型就会不停为这个噪声付出代价;

但如果你愿意把这种模糊显式表示出来,再用更合适的空间渲染方式把它转进 BEV,那么你可能就能在不大幅增加成本的前提下,把效果往前推一截。

这也是我觉得 GaussianLSS 很适合写成一篇技术解读文章的原因------它不仅有结果,而且有很强的方法论启发。


论文信息

论文标题: Toward Real-world BEV Perception: Depth Uncertainty Estimation via Gaussian Splatting

会议: CVPR 2025

研究方向: 自动驾驶感知、BEV 感知、多视角视觉、深度不确定性建模、Gaussian Splatting


标签建议

自动驾驶 感知算法 BEV感知 CVPR2025 多视角视觉 深度估计 Gaussian Splatting 3D视觉


相关推荐
勤劳的进取家2 小时前
数据链路层基础
网络·学习·算法
Advancer-2 小时前
第二次蓝桥杯总结(上)
java·算法·职场和发展·蓝桥杯
ん贤3 小时前
加密算法(对称、非对称、哈希、签名...)
算法·哈希算法
superior tigre3 小时前
78 子集
算法·leetcode·深度优先·回溯
天威?*3 小时前
bitset的数据结构用法
算法·动态规划
hoiii1874 小时前
粒子滤波跟踪系统 - 蒙特卡洛方法实现
算法
weisian1515 小时前
Java并发编程--47-分布式ID生成器:雪花算法(Snowflake)与时钟回拨问题
java·算法·时钟回拨·雪花算法id
itzixiao5 小时前
L1-066 猫是液体(5分)[java][python]
java·开发语言·python·算法
ytttr8735 小时前
MATLAB SIFT图像配准实现
算法·机器学习·matlab