arxiv:https://arxiv.org/abs/2407.14108
本期概述
哈 喽大家周末好!BeV(Bird's-eye View)自被提出以来就是感知侧绕不开的话题,今天的这篇研究内容:GaussianBeV,是首个在在线环境中使用3D Gaussian建模和渲染过程的方法,能够无需对特定场景进行优化,直接集成到单阶段模型中进行BeV场景理解。听起来很厉害哦!李小毛 和大家一起学习一下吧!
研究内容
GaussianBeV,一种新的 3D 感知模型,通过 3D Gaussian 表示实现鸟瞰图(BeV)语义分割。该模型处理来自多视角摄像机的图像,利用图像骨干网络提取特征,再通过 3D Gaussian 生成器将这些特征转化为精细的 3D 表示。然后,使用 BeV 栅格化器将这些 3D 表示渲染为 BeV 特征图,最终通过 BeV 主干网络和分割头生成分割结果。
研究的主要贡献包括 : 提出了一种新的视图转换方法,利用 3D Gaussian 表示实现在线 3D 场景建模,并且首次将这种表示集成到一个感知模型中
多种表示方法在BeV语义分割中的应用。这些方法分别是基于深度的方法 (a)、基于投影的方法(b)、基于注意力的方法(c)和本文提出的 GaussianBeV方法(d)。图中每个子图都用不同颜色表示了街灯(蓝色)、汽车(红色)和车道标记(绿色)。(a)基于深度的方法 :这种方法将图像特征放置在物体表面的光学射线上。这种方法的缺点在于特征定位依赖于深度离散化的粒度,可能会导致特征定位不准确。 (b)基于投影的方法 :这种方法将3D网格点投影到摄像机上,并从中收集相应的特征。缺点是光学射线上的所有网格点都会接收到相同的特征,导致2D到3D的反投影不准确。 (c)基于注意力的方法 :这种方法使用下采样的密集空间查询以减少内存成本,虽然在3D物体检测中有效,但在BeV表示中的密集查询会导致计算成本高。 (d)GaussianBeV方法 :场景通过一组旋转的Gaussian表示,这些Gaussian精细地描述了场景中的语义结构。这种方法允许在3D空间中以不同的细节级别覆盖场景,提供更精细的建模。
Pipeline
GaussianBeV 模型的总体PipeLine。 (1) 输入图像 包含来自多个摄像头的图像,每个图像的维度为 ,其中 是摄像头数量, 和 分别是图像的高度和宽度,3 表示颜色通道 (RGB)。图像通过图像骨干网络和颈部 (Image backbone + neck) 提取特征,生成特征图 。 (2) 接下来,3D Gaussian 生成器模块接收特征图 ,并预测场景的 3D Gaussian 表示集合 ,其维度为 ,其中 和 是特征图的高度和宽度, 是通道数, 11 表示每个 Gaussian 的参数(包括位置、尺度、旋转等)。然后,3D Gaussian 集合 通过 BeV 栅格化器模块,生成 BeV 特征图 ,其维度为 ,其中 和 分别是 BeV 特征图的高度和宽度。 (3) BeV 特征图 通过 BeV 主干网络和分割头进行处理,生成最终的预测结果。 (1)3D Gaussian 生成器 :从输入特征图 中预测场景的 3D Gaussian 表示。这一模块通过多个预测头对每个像素进行处理,预测 Gaussian 的中心位置、尺度、旋转、不透明度和嵌入特征。
现在我们对3D Gaussian 生成器 的各个输出进行详细解释~ 1.输入特征图 : 输入的特征图 来自图像骨干网络和颈部,维度为 ,其中 是图像数量, 和 分别是特征图的高度和宽度, 是特征图的通道数。 2.深度头 (Depth head):深度头预测每个像素的视差 ,结合摄像头内参矩阵 ,计算每个像素在相机参考系中的初始 3 D 位置 : 3.3D 偏移头 (3D offsets head):3D 偏移头预测 3D 偏移量 ,用于细化初始 3D 位置: 4.旋转头 (Rotation head): 旋转头预测相对于光学射线的旋转 ,转换为相对于相机参考系的旋转 : 5.位姿计算 (Cams to world):将 3D 位置和旋转从相机参考系转换到世界参考系,使用外参矩阵 和 : 6.尺度头 (Scale head)、不透明度头 (Opacity head) 和特征头 (Feature head): 分别预测 Gaussian 的尺度 、不透明度 和嵌入特征 。 7.合并 (Concatenation): 所有预测的 Gaussian 参数 、 、 、 、 进行合并,生成场景的 3D Gaussian 表示集合 : (2)BeV 栅格化器 :用于将 3D Gaussian 表示 渲染为 BeV 特征图 。该过程基于 Gaussian splatting 渲染技术,适应了语义重建任务中需要渲染 维特征而非颜色的需求。渲染算法被参数化为生成正交投影,而非透视投影,更适合场景的 BeV 表示。 (3)GaussianBeV 训练 : 模型的训练通过以下损失函数进行端到端优化: 其中, 是二元交叉熵损失, 是中心度损失, 是偏移损失, 、 和 是权重参数。 为了提高 Gaussian 表示的质量,还引入了两个正则化损失: 2.早期监督损失 , ,优化bev特征图在应用bev主干网络和分割头之前的表示质量,损失函数为:
GaussianBeV 模型在不同场景下的实验结果。实验结果显示GaussianBeV 在各种复杂场景下均能准确地进行语义分割,主要体现在以下几个方面: 1.高精度的预测 :对比真实值和预测结果,GaussianBeV 能够准确地分割出车辆和车道标记,特别是在复杂的城市环境和交叉路口等场景中,表现出色。2.细节捕捉能力 :在行人、车辆和车道标记等细节处,GaussianBeV 能够很好地捕捉和还原,显示出其在处理高复杂度场景方面的优势。3.BeV 特征图质量 :通过 PCA 可视化的 BeV 特征图展示了 GaussianBeV 在生成高质量特征表示方面的能力。这些特征图不仅展示了场景的整体结构,还能反映出细节信息,如车道标记和车辆的位置和形状。4.鲁棒性 :在各种天气和光照条件下(如阴天、晴天、不同光照角度等),GaussianBeV 依然能够保持较高的分割精度,表明其在实际应用中的鲁棒性。
使用不同的输入分辨率和不同的可见性滤波,在nuScenes验证集上进行车辆分割的结果。
在nuScenes验证集上的可驾驶区域和车道边界分割结果。 相比之前的AIGC研究,本期的研究更偏向于应用层面,对模块没有做太多修改,如果有同学觉得本期内容太过“Easy”,欢迎回顾小毛之前分享的硬核内容哦!常温常新,我们一起为自己加油! 如果对你的开发、科研有帮助,拜托拜托关注我们,我们将持续奉上优秀的端到端自动驾驶领域研究的分享干货! 温馨提示: 点赞=学会, 收藏= 精通
点击 在看 ,我们一起充电!