3D高斯语义占据预测:从LiDAR引导的可变形注意力到自动驾驶场景理解 1. 从体素到高斯为什么我们需要一种新的场景表示如果你最近在关注自动驾驶或者三维视觉领域大概率会频繁听到“3D Gaussian Splatting”这个词。它最初在NeRF领域大放异彩以其惊人的渲染质量和速度几乎重塑了我们对神经渲染的认知。但今天我们不聊渲染我们来聊聊一个更“硬核”的应用如何用3D高斯来预测一个动态、复杂、充满未知的驾驶环境里每一个空间位置是道路、车辆、行人还是建筑物的语义属性——也就是所谓的“3D语义占据预测”。传统的3D语义占据预测几乎被体素Voxel统治了。把世界切成一个个小立方体格子给每个格子预测一个语义标签直观、规整也便于用3D卷积处理。但问题同样明显为了追求精细度你需要把格子切得很小内存和计算量呈立方级增长为了覆盖远距离你又需要一个大范围导致大部分格子是空的计算严重浪费。这就像用一张极高分辨率的网格纸去描绘一幅素描大部分纸面是留白但墨水计算却一点没少用。3D高斯提供了一种截然不同的思路。它不再用固定的、均匀的网格去“框”住场景而是用一组可学习的、参数化的“小椭球”去“描述”场景。每个高斯有自己的位置、协方差决定椭球的形状和朝向、不透明度决定它有多“实”和外观特征比如颜色在语义预测里就是语义特征。这种表示是连续的、非结构化的并且极度紧凑——只有真正有东西的地方才会分配高斯。这听起来很美但直接把它从“渲染神器”搬到“感知任务”里会遇到几个核心挑战第一初始化难题。在渲染任务里高斯可以从稀疏的点云如COLMAP生成的SfM点初始化然后通过可微渲染优化。但在动态的、实时的自动驾驶场景里我们没有时间去做这种离线优化。我们需要一个快速、鲁棒的方法能从传感器数据尤其是LiDAR点云直接生成一个几何合理的3D高斯初始分布。第二特征融合难题。自动驾驶感知的核心是多模态融合。相机提供丰富的纹理和语义信息LiDAR提供精确的几何信息。在体素体系下我们可以把图像特征“投影”或“体素化”到3D网格里然后做融合。但对于一堆离散的、位置各异的高斯点如何高效、准确地将多视角图像特征“附着”到它们身上传统的基于投影或最近邻的方法在遮挡和远距离情况下容易失效。第三效率与精度平衡难题。高斯的优势是紧凑但处理成千上万个高斯点之间的交互比如为了平滑预测、结合上下文如果简单地用全连接或基于距离的图神经网络计算开销又会变得难以承受。GaussianFormer3D这篇工作正是瞄准这三个挑战而来。它没有停留在“用高斯做渲染”的舒适区而是大胆地将其推进到“用高斯做理解”的深水区提出了一套完整的、面向多模态LiDAR相机语义占据预测的框架。其核心创新在我看来可以概括为两把“手术刀”一把是“Voxel-to-Gaussian”初始化策略巧妙地借用体素的规整性为高斯赋予精准的几何先验另一把是“LiDAR-Guided 3D Deformable Attention”机制在3D空间里实现了一种受几何引导的、稀疏且高效的特征采样与融合。接下来我们就一层层剥开这个框架看看它具体是怎么工作的以及为什么这些设计是有效的。2. 框架总览高斯如何成为感知的基石在深入细节之前我们先从高空俯瞰一下GaussianFormer3D的整体架构。它遵循了一个相对清晰的编码-解码范式但其中的“表示”从始至终都是3D高斯。整个流程可以分解为四个核心阶段多模态特征提取与体素化输入是环视相机图像和LiDAR点云。图像通过一个2D主干网络如ResNet、Swin Transformer提取多尺度特征图。LiDAR点云则被体素化形成一个稀疏的3D体素网格每个非空体素包含其内部点的平均特征如反射强度、或多个点的特征聚合。这一步是标准的操作为后续提供了图像2D特征和LiDAR 3D稀疏体素特征。Voxel-to-Gaussian初始化这是第一个关键步骤。系统不会凭空生成高斯而是利用上一步得到的LiDAR体素。每个非空的LiDAR体素可以看作一个小的3D空间单元被转换成一个3D高斯。这个转换是确定性的高斯的中心位置均值就是该体素的中心坐标高斯的形状协方差矩阵初始值可以设为各向同性一个球或者根据该体素内点的分布通过主成分分析PCA来初始化一个椭球使其大致贴合局部几何。同时这个高斯会被赋予一个初始的特征向量这个特征可以来源于该体素自身的LiDAR特征也可以暂时置零等待后续融合。这一步的精妙之处在于它利用LiDAR数据天生的几何准确性为高斯群体提供了一个非常合理的空间分布先验避免了高斯在空白区域胡乱生长。LiDAR引导的3D可变形注意力特征提升这是整个框架的灵魂。现在我们有了一组带有初始几何和可能带有初始特征的高斯点以及多视角的2D图像特征。目标是把图像特征“贴”到这些高斯点上。传统方法可能是将高斯点投影到图像上取投影点周围的图像特征。但这种方法在遮挡、边缘和低纹理区域容易出错。 GaussianFormer3D的做法更高级它将这个过程构建为一个在3D空间中的注意力机制。具体来说以每个3D高斯点作为“查询”Query。这个查询点不仅包含其空间坐标还包含了从LiDAR体素继承或衍生的几何特征这正是“LiDAR引导”的含义。然后对于每一个查询高斯模型会预测一组3D空间中的偏移量offset。这些偏移量指向一些3D空间位置这些位置才是真正去图像特征中采样的地方。 为什么需要偏移因为高斯点的中心位置可能并不是获取最佳语义特征的位置。例如一个代表车辆侧面的高斯其最佳语义特征可能来自侧面相机视角中稍微靠前或靠后一点的位置而不是严格投影点。这个可学习的偏移机制让模型能够自适应地、稀疏地采样最相关的图像特征。 接下来系统将这些偏移后的3D采样点通过相机参数投影到各个视角的图像特征图上通过双线性插值获取对应的图像特征。最后这些从多视角采样到的特征被聚合起来更新到原始的查询高斯点上。这个过程可以迭代多次形成多层Transformer解码器般的结构让高斯特征不断被精炼。语义占据解码与输出经过多轮特征提升后每个3D高斯点都携带了融合了多模态信息的丰富特征。最后一个轻量级的解码器例如一个MLP被用于根据每个高斯点的最终特征预测其语义类别。由于高斯表示是连续的我们可以根据需要在任何分辨率下查询空间中任意一点的语义只需找到该点附近的高斯根据它们的特征、距离和不透明度进行加权聚合就能得到该点的语义预测。这就生成了最终的3D语义占据图。整个流程的核心思想是用LiDAR保证几何的“稳”用可变形注意力实现特征融合的“准”用高斯表示达成内存和计算的“省”。下面我们就来拆解其中最核心的两个技术点。3. 核心引擎LiDAR引导的3D可变形注意力机制详解如果说Voxel-to-Gaussian初始化是打下了坚实的地基那么LiDAR引导的3D可变形注意力就是在这地基上建造的、高效运转的智能引擎。这是GaussianFormer3D性能超越传统体素方法的关键值得我们深入每一个齿轮的转动。3.1 为什么是“可变形注意力”要理解这一点我们需要回顾一下标准的视觉Transformer中的注意力以及它在3D感知中直接应用的困难。在2D图像上注意力机制通常是在一个规整的网格特征图上进行的。每个查询点比如一个像素位置会与所有其他位置或一个局部窗口内的键值对计算注意力权重。但在3D空间中如果使用体素虽然网格规整但计算全局注意力的代价是O(N^2)N是体素数量这是不可接受的。如果使用点云或高斯这类无序集合直接计算所有点对之间的注意力同样昂贵。“可变形注意力”是一种高效的解决方案。它的核心思想是不让查询与所有位置交互而是让查询自己“学习”应该去看哪几个最重要的位置。对于每个查询网络预测一小部分比如4个或8个参考点的偏移量然后只去这些偏移后的位置采样特征进行计算。这极大地减少了计算量从O(N^2)降到了O(N*K)其中K是采样的点数通常很小。在3D语义占据任务中这种“学习去看哪里”的能力至关重要。一个位于物体边界的高斯它需要的信息可能来自物体内部用于分类和背景用于确定边界这些关键位置并不一定是其自身的投影点。可变形注意力赋予了模型这种自适应感受野的能力。3.2 “LiDAR引导”具体如何实现这是GaussianFormer3D最具特色的设计。普通的可变形注意力其查询Query通常只包含语义特征。但在这里查询被增强了。查询Query的构成对于每一个作为查询的3D高斯点其查询向量Q由两部分拼接而成语义特征可能是上一轮迭代更新的特征或者是初始化时的特征。几何特征这是LiDAR引导的核心。它直接来源于生成这个高斯的原始LiDAR体素信息。具体可以包括体素的位置编码。体素内点云的统计特征如密度、反射率均值方差。甚至是从原始LiDAR点云中提取的局部几何特征如法向量、曲率等。将几何特征显式地注入查询相当于给注意力机制提供了一个强大的“寻路提示”。网络在预测采样偏移量时不仅能依据“这个点看起来像什么”语义特征还能依据“这个点在空间中的几何处境是什么”几何特征。例如一个位于垂直平面如建筑墙面上的高斯其几何特征会提示网络其重要的上下文信息可能沿着该平面的法线方向分布从而引导偏移量向墙面内部或外部寻找特征而不是随机搜索。3.3 3D空间中的采样与特征聚合流程让我们一步步走通这个流程输入一组3D高斯点G {g_i}, 每个g_i包含位置(x_i, y_i, z_i)和融合了语义与几何的查询特征q_i。同时我们有L个环视相机视角每个视角对应一个2D图像特征图F^l和相机内外参P^l。预测采样偏移与权重一个小的神经网络通常是一个线性层或轻量MLP以查询特征q_i为输入为第i个高斯预测K个3D偏移量{Δp_i^k}_{k1}^K和对应的注意力权重{a_i^k}_{k1}^K。这里K是预设的采样点数如4。计算3D采样点对于每个偏移生成一个3D采样点p_i^k (x_i, y_i, z_i) Δp_i^k。这个点p_i^k是一个3D空间坐标。投影与2D特征采样对于每个采样点p_i^k我们将其投影到第l个相机视图u_i^{k,l} P^l * p_i^k。然后在特征图F^l上对应的2D坐标u_i^{k,l}处通过双线性插值采样得到特征向量f_i^{k,l}。这个过程对所有L个视角进行。多视角特征聚合对于同一个采样点p_i^k我们从L个视角采到了L个特征{f_i^{k,l}}_{l1}^L。需要将它们融合成一个特征。简单的方法是取平均或加权平均。更高级的方法可以引入视角权重例如根据采样点与该相机光心的夹角、或者根据该视角下该点是否被遮挡通过深度检查来调整权重。最终得到该采样点的聚合特征f_i^k。注意力加权聚合现在对于查询高斯g_i我们有了K个采样点的特征{f_i^k}_{k1}^K以及对应的预测注意力权重{a_i^k}_{k1}^K通常经过softmax归一化。最终的更新特征Δf_i就是这些采样特征的加权和Δf_i Σ_{k1}^K a_i^k * f_i^k。特征更新将得到的Δf_i与原始特征通过残差连接等方式结合更新高斯的特征q_i Update(q_i, Δf_i)。这个更新函数可以是一个简单的加法也可以是一个带有LayerNorm和FFN的Transformer层。这个过程可以堆叠多层让高斯的特征不断迭代精炼。第一层可能更多地关注局部几何一致性深层则可以捕获更远距离的语义上下文。3.4 与相关工作的对比为了更清楚理解其价值我们可以将其与几种常见方法对比方法核心思路优点缺点GaussianFormer3D的改进点体素投影法将体素中心投影到图像取特征。实现简单与体素网格对齐。特征对齐粗糙易受投影误差和遮挡影响无法处理非网格点。将采样点从固定的体素中心变为可学习偏移的3D点实现亚像素级特征对齐。点云特征插值将图像特征反投影到点云再用点云网络处理。保留了点的灵活性。反投影特征稀疏且点云网络难以高效处理长程依赖。在连续的3D空间进行可变形采样特征更密集、更相关利用注意力机制显式建模长程交互。3D稀疏卷积在稀疏体素网格上使用3D卷积。效率高感受野规整。感受野固定且有限难以建模非局部关系内存消耗随分辨率立方增长。使用高斯表示内存与真实场景内容成正比而非与体积成正比可变形注意力提供灵活的非局部感受野。普通3D注意力在体素或点集上计算全局/局部注意力。能捕获任意距离依赖。计算复杂度极高O(N^2)无法应用于大规模场景。稀疏采样只采K个点将复杂度降至O(N*K)使其可行。通过这个对比可以看出GaussianFormer3D的3D可变形注意力本质上是为无序、稀疏的3D高斯集合设计了一种高效的、几何感知的、非局部特征融合模块。它结合了卷积的局部性先验通过LiDAR几何引导偏移和注意力的全局建模能力通过自适应采样同时规避了二者的主要缺点。4. 实战推演从数据到输出的完整链路与调参心得理解了原理我们更关心如何把它用起来。虽然论文提供了整体框架但在实际复现或理解实验细节时有几个关键环节需要格外注意。这部分结合我阅读论文和类似工作的经验梳理一下从数据准备到训练输出的完整链路中那些容易忽略的“魔鬼细节”。4.1 数据预处理与体素化策略一切始于数据。对于自动驾驶数据集如nuScenes, Waymo Open Dataset你需要同步的环视图像6-8个相机和LiDAR点云。图像处理图像会经过标准化、缩放然后送入一个预训练的2D主干网络如ResNet-50/101 Swin-T/S/B。这里的关键是特征图的下采样率。通常主干网络会输出多尺度特征例如C2, C3, C4, C5。选择哪一层的特征进行后续的投影采样论文中通常使用较高层如C4或C5的特征因为其语义信息更强空间分辨率也足够进行上采样和精细定位。实践中可能会采用FPN结构来融合多尺度特征为3D采样提供更丰富的上下文。LiDAR点云体素化这是Voxel-to-Gaussian初始化的基础。体素大小voxel size是一个超参数例如(0.1m, 0.1m, 0.2m)。它决定了初始高斯的密度和场景的粗糙度。体素越小初始高斯越多细节可能越好但内存和计算量也越大。一个重要的技巧是使用稀疏体素化只保留非空体素并用哈希表或稀疏张量存储这是处理大规模点云的标准操作。体素特征提取每个非空体素需要提取一个特征向量。最简单的是取体素内所有点的反射强度均值。更复杂的可以用一个小的PointNet-like网络输入体素内点的坐标和反射率输出一个特征。这个特征将作为对应高斯初始特征的一部分。4.2 Voxel-to-Gaussian初始化的具体实现初始化不仅仅是位置映射。位置初始化高斯的中心μ直接设为对应体素的中心坐标(x_v, y_v, z_v)。这是最直接的方式。协方差尺度/旋转初始化这是体现几何先验的地方。各向同性初始化最简单将协方差矩阵设为σ^2 * I其中σ是一个与体素尺寸相关的标量如体素对角线长度的一半。这样高斯是一个球。PCA初始化更精细。对体素内的所有点进行主成分分析PCA。三个主成分的方向作为高斯椭球的三个轴向主成分的方差或特征值经过缩放后作为沿各轴的长度。这能让高斯更好地贴合局部表面如地面是扁平的椭球柱子是细长的椭球。论文中提到的方法更倾向于这种因为它从LiDAR数据中继承了更强的几何信息。不透明度初始化通常初始化为一个接近1的值如0.99表示初始高斯是“实心的”。特征初始化高斯的特征向量可以初始化为体素特征或者零向量。由于后续有强大的注意力机制进行特征融合初始特征的重要性相对较低零初始化也是常见选择。4.3 3D可变形注意力层的配置与训练技巧这是模型的核心模块其实现和训练有诸多讲究。采样点数K的选择K决定了模型每次查询的上下文范围大小。K太小如2可能信息不足K太大如16计算量增加且可能引入噪声。在自动驾驶场景中K4或8是一个常见的平衡选择。论文中可能采用了多头部注意力每个头预测不同的偏移以关注不同类型的上下文。偏移量预测网络通常就是一个线性层Δp, a Linear(q_i)。输出维度是K*3偏移量和K权重。这里有一个关键偏移量的范围需要被约束。不能让一个高斯点跑到离自己太远的地方去采样那会失去局部性也容易不稳定。常见的做法是在训练初期使用一个较小的学习率或者在损失函数中加入对偏移量大小的正则化L2惩罚或者直接对偏移量进行裁剪clipping。多视角融合策略当把一个3D采样点投影到多个相机时它可能在某个视角下被遮挡投影点深度大于该视角的深度图值或者在图像边界外。一个鲁棒的系统必须处理这些情况有效性掩码对于每个采样点-视角对计算一个二进制有效性标志是否在图像内且未被遮挡。加权融合在聚合多视角特征{f_i^{k,l}}时使用有效性掩码作为权重。无效视角的特征贡献为零。也可以让网络学习一个视角权重与有效性掩码结合。深度监督这是一个非常重要的训练技巧。仅仅依靠最终的语义占据损失来训练整个网络尤其是可变形注意力模块是非常困难的。因为偏移量的学习是一个非直接、非凸的优化问题。常见的做法是引入中间监督。可以在某个中间层例如第一层可变形注意力之后将当前的高斯特征渲染成一个低分辨率的语义占据图并计算一个辅助损失。更直接的是可以对预测的偏移量本身进行监督吗这很难因为没有真值。但一个启发式的方法是鼓励采样点落在“有信息”的地方。例如可以计算采样点投影到图像上后其周围图像特征的梯度幅值梯度大的地方通常是边缘、纹理丰富区域特征信息量大。可以将这个幅值作为一个软目标鼓励注意力权重向这些采样点倾斜。4.4 损失函数设计语义占据预测是一个密集预测任务损失函数通常结合了分类损失和正则项。语义分类损失这是主损失。由于场景中大部分空间是空的自由空间类别极度不平衡。常用的损失函数是加权交叉熵损失或Focal Loss。Focal Loss通过降低易分类样本的权重更专注于难分类的样本对于处理前景-背景不平衡问题非常有效。几何一致性损失可选但推荐为了利用LiDAR提供的精确几何可以引入一个额外的损失鼓励预测的占据与LiDAR点云对齐。例如可以计算每个LiDAR点所在位置的预测语义概率确保该点被正确分类如地面点预测为地面。这相当于一个稀疏的、基于点的监督信号能显著提升几何边界的准确性。偏移正则化损失如前所述对预测的3D偏移量Δp施加L1或L2正则化防止其过大保持采样的局部性。总损失L_total L_semantic λ_geo * L_geometry λ_offset * L_offset。λ是平衡各项损失的权重超参数。4.5 推理与后处理训练完成后推理过程相对直接。输入传感器数据经过网络前向传播得到一组带有最终语义特征的高斯点。为了生成规整的、可用于下游规划模块的占据栅格图需要进行渲染Rendering。对于目标3D网格中的每一个查询点体素中心找到其附近例如在3倍标准差范围内的所有高斯点。根据这些高斯点到查询点的马氏距离计算每个高斯的权重类似于Splatting中的α值然后对所有高斯点的语义特征向量进行加权求和再通过一个softmax得到该查询点的语义类别概率分布。这个过程可以并行化高效地生成任意分辨率的语义占据图。一个实用的后处理技巧是基于密度的过滤。在场景中非常远或非常稀疏的区域可能由于传感器噪声或初始化问题会产生一些孤立的、置信度不高的高斯预测。可以在渲染后对每个体素统计其周围一定区域内高斯的数量和总体不透明度过低的可视为噪声并过滤掉或者将其类别重置为“空”。5. 性能剖析优势、局限与未来演进方向任何技术都有其边界。GaussianFormer3D提出了一种新颖且强大的范式但它并非银弹。结合论文中的实验数据和我的分析我们来客观看待它的表现和潜在的改进空间。5.1 性能优势的具体体现论文在nuScenes、Waymo等数据集上进行了实验对比了传统的体素方法如TPVFormer, OccFormer和早期的基于点的占据方法。其优势主要体现在三个方面内存与计算效率这是高斯表示最直观的优势。在同样预测精度下GaussianFormer3D的内存占用显著低于密集体素方法。因为它只在实际有物质的地方分配高斯。在推理速度上由于可变形注意力的稀疏采样特性以及高斯渲染的高效性其FPS帧每秒也有竞争力。这对于车载嵌入式平台至关重要。预测精度特别是细节和边界得益于可变形注意力精细的特征对齐能力模型在物体边界、薄结构如电线杆、栏杆和小物体上的预测更加准确。LiDAR引导的几何先验使得高斯的形状和位置更能贴合真实表面从而产出了更“锐利”的占据预测结果。在语义IoU和几何精度如Chamfer Distance指标上它都展示了SOTA或接近SOTA的水平。表示的灵活性高斯是一种连续的表示。这意味着你可以轻松地以任意分辨率查询占据而不需要重新训练模型。你可以为近距离感知生成高分辨率占据图为远距离规划生成低分辨率占据图所有都来自同一组高斯参数。这种灵活性是离散体素表示难以提供的。5.2 当前框架的局限性尽管前景光明GaussianFormer3D的现有形式仍有几个挑战对LiDAR的依赖框架的核心——Voxel-to-Gaussian初始化和LiDAR引导——严重依赖于LiDAR数据。在纯视觉Camera-Only的场景下如何稳定、准确地初始化3D高斯是一个悬而未决的问题。虽然可以从单目或多视图几何中估计深度和点云但其噪声和不确定性远大于LiDAR这可能导致高斯初始化混乱进而影响整个流程。动态场景建模目前的框架主要处理静态场景的语义占据。对于动态物体车辆、行人论文中可能将其作为一类语义类别进行预测但高斯的参数位置、形状是静态的无法表征物体的运动状态。未来的工作需要探索如何将速度、加速度等运动属性嵌入高斯表示或者引入时序建模预测未来时刻的高斯状态实现4D语义占据预测。训练稳定性与收敛性联合优化高斯参数位置、协方差和语义特征并通过可变形注意力进行复杂特征融合使得训练损失曲面可能非常复杂。需要仔细设计学习率调度、损失权重以及如前所述的中间监督策略才能稳定训练。这比训练一个标准的体素网络门槛更高。理论上的“孔洞”问题高斯表示本质上是“粒子”系统。在非常稀疏的区域或者两个高斯之间的间隙可能会因为缺乏足够的覆盖而导致预测不确定或错误。虽然渲染时的加权求和可以缓解但在极端情况下仍可能出现“空洞”。这需要设计更好的高斯放置策略或渲染算法。5.3 未来可能的演进方向基于这些局限性我认为这个方向有几个有趣的拓展纯视觉版本研究如何仅从图像序列中稳健地生成3D高斯先验。可以借鉴SLAM或深度估计中的方法先重建一个稠密点云或深度图再从中初始化高斯。或者探索一种“从粗到细”的策略先预测一个低分辨率的体素占据再将其转化为高斯进行细化。时序与4D高斯将3D高斯拓展到4D3D空间时间。每个高斯除了空间参数还可以有时间上的轨迹参数如起始位置、速度。这样一套高斯系统可以同时描述场景的静态结构和动态物体的运动。这将是通向真正场景理解的关键一步。最近出现的“4D Gaussian Splatting”动态场景渲染工作为这个方向提供了技术灵感。与规划控制的紧耦合目前的占据预测还是一个感知模块。如何将这种紧凑的、连续的场景表示直接输入到运动规划和控制模块中例如规划算法可以直接在高斯表示的势场中搜索路径或者利用高斯的不透明度来评估碰撞概率。这需要设计新的、可微的接口实现端到端的感知-规划学习。不确定性量化在高斯表示中每个高斯的不透明度和语义概率本身就带有不确定性信息。可以进一步显式地建模预测的不确定性如认知不确定性这对于自动驾驶的安全冗余系统至关重要。例如让网络同时预测每个高斯参数的方差。GaussianFormer3D为我们打开了一扇门展示了一种超越体素的、更紧凑、更灵活的3D场景理解范式。它将渲染领域的明星技术成功地迁移到感知任务中并通过创新的LiDAR引导可变形注意力解决了特征融合的核心难题。虽然前路仍有挑战但其思路的启发性是巨大的。它提醒我们在追求更高精度感知的同时效率和表示的优雅性同样重要。对于从业者而言理解这套框架不仅有助于复现和应用更能激发我们去思考如何用更少的资源更巧妙地表达和理解这个复杂的三维世界。