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 来表示它就很自然。
于是作者的做法是:
- 先从深度分布中得到均值和方差
- 再结合相机投影关系,把这种不确定性映射到 3D 空间
- 最后把每个像素表示成一个 3D Gaussian
- 再通过 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视觉