GaussianFormer3D:基于3D高斯与可变形注意力的自动驾驶语义占据预测
1. 从感知到理解为什么我们需要语义占据栅格在自动驾驶和机器人领域让机器“看见”世界只是第一步更重要的是让它“理解”世界。传统的感知任务比如目标检测或语义分割通常只告诉你“那里有什么物体”比如一辆车、一个行人。但对于一个需要自主规划路径的智能体来说这远远不够。它需要知道“那里能不能走”、“那里是什么材质”、“那里是静态的还是动态的”。这就是语义占据栅格要解决的问题。简单来说语义占据栅格是一个稠密的、三维的、带有语义标签的体素网格。它将整个感兴趣的三维空间划分成无数个小立方体体素并为每一个小立方体预测一个类别标签如可行驶区域、车辆、行人、建筑物、植被等以及一个占据状态空或被占据。这相当于为机器构建了一个精细的、可理解的3D场景“语义地图”。那么为什么这个任务如此重要又如此具有挑战性挑战主要来自三个方面三维性与2D图像不同3D空间的数据量呈立方级增长对计算和内存都是巨大负担。稠密预测需要为每一个空间位置体素都做出预测而不是像目标检测那样只关注稀疏的物体中心。多模态融合单一传感器有局限性。相机提供丰富的纹理和颜色信息但缺乏精确的深度激光雷达提供精确的几何结构但缺乏纹理和远距离细节。如何有效融合两者优势是提升性能的关键。近年来基于体素的方法一直是这个领域的主流。但体素表示有一个根本性缺陷它是离散的。无论你把体素做得多小它本质上还是用一个个小方块去近似连续的世界这会导致细节丢失和内存浪费大量空白体素仍需存储。于是一种名为3D Gaussian Splatting的技术从神经渲染领域横空出世为3D表示带来了新的思路。它用一系列带有各向异性协方差的3D高斯椭球来表征场景是一种连续的、可微的表示能够极其高效地渲染出逼真的新视角。GaussianFormer3D这篇工作的核心洞见就在于为什么不把这种更高效、更连续的3D高斯表示引入到自动驾驶的语义占据预测任务中来呢这就是它标题所揭示的——一个基于多模态3D高斯的、使用3D可变形注意力的语义占据预测框架。2. 核心架构解析GaussianFormer3D 如何工作GaussianFormer3D 的整体流程可以概括为从多模态数据到3D高斯再到语义占据栅格。下面我们来拆解它的几个核心组成部分。2.1 基石从体素到高斯——Voxel-to-Gaussian 初始化直接从头开始优化数十万甚至上百万个3D高斯参数是不现实的尤其是在需要几何精确性的自动驾驶场景中。因此作者设计了一个巧妙的Voxel-to-Gaussian 初始化策略。为什么需要这个策略3D高斯初始化的质量至关重要。在NeRF或Splatting的原始工作中高斯可以从随机点或SfM点云初始化。但在自动驾驶中我们需要的是精确的、有物理意义的几何先验。激光雷达点云提供了这种先验但点云本身是稀疏的。直接在每个激光雷达点上放置一个高斯无法覆盖被遮挡区域或形成连续的表面。具体怎么做体素化处理首先将激光雷达点云投影到预定义的3D空间网格中生成一个粗糙的、二值的体素占据栅格。每个被点云占据的体素标记为1否则为0。高斯生成然后对于每一个被占据的体素在其中心位置初始化一个3D高斯。位置体素中心坐标。尺度初始化为一个较小的值如体素尺寸的一半后续通过优化调整。旋转初始化为单位矩阵各向同性后续优化其方向以贴合表面。不透明度初始化为一个固定值如0.5。球谐系数用于存储颜色信息初始化为零等待后续从图像中提取特征进行填充。这个步骤的妙处在哪里几何锚点它利用激光雷达的精确测距信息为3D高斯提供了准确的几何锚点确保了场景基本结构的正确性。均匀覆盖通过体素化即使在某些区域激光点云稀疏也能保证高斯的空间分布相对均匀为后续的优化和特征附着奠定了良好的基础。效率与精度的平衡体素的粒度是一个超参数。粒度太粗会丢失细节粒度太细会产生过多高斯增加计算负担。通常会选择一个折中的分辨率例如0.4米在后续步骤中高斯的位置、尺度和形状都可以被优化调整从而弥补初始离散化带来的精度损失。实操心得初始化粒度的选择在我们的实验复现中初始化体素的尺寸对最终性能影响显著。对于城市驾驶场景如nuScenes0.4m-0.8m是一个不错的起点。对于更精细的室内或结构化场景可能需要0.1m-0.2m。关键在于要让初始高斯足够密集以捕捉场景的主要结构但又不能多到让优化过程难以收敛。一个实用的技巧是可以先用一个较粗的粒度初始化训练几轮后根据梯度的幅值或高斯的尺度对高斯进行克隆分裂或修剪实现自适应的密度控制。2.2 灵魂LiDAR-Guided 3D Deformable Attention有了3D高斯作为几何载体接下来需要为它们赋予语义信息。这就是网络主干需要完成的工作。GaussianFormer3D 的核心创新在于其LiDAR-Guided 3D Deformable Attention机制。首先什么是3D可变形注意力传统的Transformer注意力机制需要计算所有查询和所有键值对之间的关系计算复杂度是序列长度的平方。在3D空间中序列长度即体素或高斯数量极大这是不可承受的。可变形注意力是一种高效的替代方案对于每个查询元素它不关注所有位置而是只学习去关注一小部分例如4个或8个最关键的特征位置。这些位置是通过一个小的神经网络从查询特征中预测出来的偏移量。那么“LiDAR-Guided”又是什么意思在纯视觉的3D占用预测中可变形注意力的采样点是在3D空间中自由预测的。然而空间是空旷且均匀的网络很难在没有几何先验的情况下准确地知道“该去哪里看”。激光雷达点云正好提供了这个几何先验。具体来说对于每一个作为查询的3D高斯LiDAR-Guided 3D Deformable Attention 机制会以激光雷达点云为参考首先在查询高斯的位置附近查找最近的K个激光雷达点。预测偏移然后网络以查询高斯的特征和这些激光雷达点的相对位置为输入预测一组相对于这些激光雷达点的精细偏移量。采样特征最后根据这些“激光雷达点预测偏移”得到的三维坐标去多模态特征图中进行双线性插值采样出图像特征。这个过程为什么有效缩小搜索范围激光雷达点云将网络的注意力“锚定”在真实的物体表面附近避免了在空旷区域进行无意义的搜索极大地提升了学习效率和收敛速度。实现模态对齐这个机制强制让图像特征去“对齐”激光雷达定义的几何位置。例如一个位于车顶的高斯它的注意力会聚焦在图像中车顶的像素区域从而将正确的纹理和语义信息“粘贴”到正确的几何位置上。保持灵活性预测的偏移量提供了灵活性。因为激光雷达点可能不完全精确噪声或者图像特征的最佳对齐位置需要微调如物体的边缘。这个可学习的偏移量允许网络进行微调实现像素级的精确对齐。2.3 特征提取与融合构建多模态特征体在应用上述注意力机制之前我们需要准备多模态的特征。GaussianFormer3D 采用了一个经典的多模态编码器架构但在特征提升Lifting方式上有所不同。图像特征提取使用一个标准的CNN主干网络如ResNet或Vision Transformer从多视角环视图像中提取2D特征图。激光雷达特征提取使用一个稀疏3D卷积网络如SparseConvNet或柱状网络PillarNet从激光雷达点云中提取3D体素特征。特征提升与融合这是关键步骤。传统方法会将2D图像特征通过相机参数反投影到3D体素网格中形成“视锥特征”。但GaussianFormer3D是在3D高斯空间中进行操作。对于每一个3D高斯我们通过LiDAR-Guided 3D Deformable Attention从多视角的2D图像特征图中采样并聚合特征。同时每个高斯也可以从其对应的或邻近的激光雷达3D体素特征中获取几何特征。这些来自图像和激光雷达的特征会被拼接起来并通过一个小型MLP进行融合最终得到每个高斯的多模态特征向量。这种方式的优势是什么特征与表示对齐传统的体素方法中特征存储在固定的、离散的网格中。而高斯的属性位置、形状是可优化的。将特征直接附着在高斯上意味着当高斯的位置或形状在优化中发生变化时它所携带的特征是“随身携带”的。这更符合物理直觉。计算聚焦注意力机制只在高斯位置附近进行特征采样避免了在巨大的3D空间中进行稠密特征计算更高效。3. 优化与渲染从带特征的高斯到语义占据图经过主干网络处理后我们得到了一组“增强版”的3D高斯每个高斯都有其几何属性位置、协方差、不透明度和语义特征。接下来的目标是将它们转换为可用于下游任务的语义占据栅格。3.1 高斯场景的优化虽然初始化提供了几何先验但高斯的参数尤其是尺度和旋转需要根据多模态特征进行优化以更好地拟合场景表面。优化目标通常包括重构损失从高斯的视角渲染出RGB图像与输入的真实图像计算L1或L2损失。这确保了高斯能够准确地模拟场景的外观和几何。深度损失如果有点云或深度图监督可以计算渲染深度与真实深度的一致性损失。语义损失这是本文的重点。每个高斯除了颜色还被预测了一个语义标签。我们可以渲染出语义分割图与2D或3D的语义真值图进行计算损失如交叉熵损失。优化通常采用随机梯度下降并应用一系列针对高斯的自适应控制策略克隆与分裂对于梯度幅值大的区域通常是细节丰富或重建误差大的地方将高斯克隆或分裂成更小的高斯。修剪对于不透明度低于阈值的高斯对渲染贡献小将其移除。重置定期重置过大的尺度或畸变的旋转保持数值稳定性。注意事项语义与几何的联合优化在联合优化几何和语义时一个常见的陷阱是语义损失会干扰几何优化。例如一个高斯为了最小化语义分类错误可能会移动到错误的几何位置。为了解决这个问题实践中通常采用分阶段训练或损失权重调整。阶段一几何重建主要使用RGB和深度损失让高斯先收敛到正确的几何形状上固定或使用较小的语义损失权重。阶段二联合优化在几何相对稳定后增大语义损失的权重让网络学习在正确的几何位置上预测正确的语义。阶段三微调最后使用一个较小的学习率对所有损失进行微调。3.2 占据栅格的渲染与预测最终我们需要一个规则的、稠密的语义占据栅格输出。GaussianFormer3D 采用了一种可微的渲染方式将3D高斯“投射”到体素网格上。具体步骤定义目标栅格在场景坐标系下定义一个固定范围如[-40m, 40m] in X,Y, [-5m, 3m] in Z和分辨率如0.2m的3D体素网格。可微光栅化对于每一个体素单元格计算所有3D高斯对该体素的“贡献度”。这类似于从体素中心“看向”各个高斯。贡献度由高斯的多元高斯函数在该体素中心位置的值与距离和协方差有关以及高斯的不透明度共同决定。语义聚合每个高斯携带一个语义特征向量经过分类头后的logits。体素单元格的语义logits是所有高斯贡献度的加权和。然后通过softmax函数就可以得到该体素属于各个类别的概率分布。阈值化通常我们不仅关心语义还关心“是否被占据”。可以设定一个占据概率阈值。如果一个体素被预测为“非空”类别的最大概率超过该阈值且该类别不是“空”或“背景”则认为该体素被占据。这种渲染方式的优点可微性整个过程从高斯参数到体素语义分布是可微的允许梯度从占据预测损失反向传播到高斯参数和特征网络实现端到端训练。连续性由于高斯是连续表示渲染出的占据栅格在边界上更加平滑和连续避免了体素方法的“方块”瑕疵。高效性在推理时可以通过空间数据结构如KD树快速查询每个体素附近的高斯加速渲染过程。4. 实验与性能它真的更好吗任何新方法的提出都必须回答这个问题。根据论文所述GaussianFormer3D 在多个自动驾驶数据集上进行了验证主要对比了以下几个指标语义IoU这是衡量语义占据预测精度的核心指标针对每个类别计算交集除以并集。论文报告在nuScenes、Occ3D等数据集上该方法达到了SOTAState-of-the-Art水平。几何精度通过预测的占据栅格与激光雷达真值扫描的对比计算精确率、召回率等指标表明其几何重建的准确性。内存消耗与传统的稠密体素方法相比由于3D高斯是一种稀疏的、自适应的表示在存储场景表示时内存占用显著降低论文中称减少约30%-50%。推理速度虽然高斯渲染需要计算但由于其稀疏性和优化的光栅化器整体推理速度与高效的体素方法相当甚至更快。性能提升的关键来源分析更优的表示3D高斯比体素更连续、更紧凑能更高效地建模表面尤其是对于复杂形状和细结构。更好的融合LiDAR-Guided 3D Deformable Attention 实现了像素级到点级的精准特征对齐是多模态融合效果提升的核心。端到端优化几何、外观、语义在一个统一的、可微的框架下联合优化使得三者相互促进。5. 复现与部署实战中的挑战与技巧如果你对GaussianFormer3D感兴趣并想在自己的数据或任务上尝试这里有一些从实践角度出发的思考。5.1 数据准备与预处理传感器标定多模态融合的基石是精确的时间同步和外参/内参标定。相机和激光雷达之间的位姿关系必须极其精确任何误差都会在特征对齐阶段被放大。务必使用经过良好标定的数据并在预处理中检查投影的一致性。数据增强对于3D任务有效的增强包括全局旋转、平移、缩放以及针对点云的随机丢弃、针对图像的色彩抖动。需要注意的是增强操作必须同步应用于所有模态以保持空间一致性。标签处理3D语义占据的真值通常由激光雷达点云标注并插值得到或者从高精地图生成。处理时需要注意类别不平衡问题以及如何定义“空”体素。5.2 模型训练技巧学习率与调度由于联合优化多个任务学习率策略至关重要。推荐使用Warmup和余弦退火。几何相关参数高斯的位置、旋转、尺度的学习率通常比外观颜色和语义参数的学习率要小变化更缓慢。梯度裁剪3D高斯的优化有时会出现梯度爆炸特别是协方差矩阵的参数。对梯度进行裁剪是保证训练稳定的常用手段。监控与可视化除了损失曲线必须定期进行可视化检查。渲染图像查看RGB和语义渲染结果与真值的对比。高斯分布在3D查看器中可视化高斯椭球检查它们是否贴合在物体表面尺度是否合理。占据预测将预测的3D占据栅格以可视化的形式展示并与点云真值叠加查看。5.3 常见问题与排查高斯数量爆炸或消失如果高斯数量在训练初期急剧增长或减少可能是自适应密度控制克隆/修剪的阈值设置不当或者重构损失权重过大。需要调整相关超参数。语义模糊或错误如果渲染的语义图很模糊可能是语义损失权重太小或者特征融合不充分。检查LiDAR-Guided Attention的采样点是否准确融合MLP是否足够强大。训练速度慢3D可变形注意力的计算开销集中在特征采样和插值上。可以尝试减少每个查询的采样点数量如从8个减到4个或在高斯初始化时使用更粗的体素粒度以减少查询数量。内存不足这是3D任务的老大难问题。除了使用混合精度训练还可以采用场景分块训练的策略。将大场景划分为重叠的子区块分别训练高斯模型最后再合并。推理时也可以按需加载区块。5.4 下游任务应用生成的语义占据栅格是一个强大的中间表示可以直接用于下游任务运动规划规划模块可以直接查询栅格中哪些区域是可行驶的如道路、哪些是障碍物如车辆、行人、哪些是未知区域从而进行安全和舒适的轨迹生成。预测通过对时序占据栅格的分析可以识别动态物体的运动轨迹和意图用于预测其他交通参与者的未来行为。建图与定位语义占据栅格本身就是一个局部地图可以用于与先验高精地图进行匹配定位或用于构建动态更新的语义地图。GaussianFormer3D 将神经渲染领域炙手可热的3D高斯表示与自动驾驶的核心感知任务相结合通过创新的LiDAR-Guided注意力机制实现了高效精准的多模态语义占据预测。它不仅仅是一个精度更高的模型更代表了一种思路的转变从离散的体素走向连续的、可微的、与渲染紧密关联的场景表示。这种表示范式或许会为未来的3D场景理解打开新的大门。