写在前面&笔者的个人理解
BEV感知又要进化了!今天看到了一篇BEV感知结合3D Gaussian实现BEV分割的任务,很赞!!!性能暂时算不上惊艳,但范式上有很大的参考性,分割任务上是可行的,OCC、检测等任务也可以考虑!
BEV感知已经广泛用于环视3D感知。它允许将不同相机的特征合并到一个空间中,提供3D场景的统一表示。其核心是view transformer,将图像视图转换为BEV。然而基于几何或cross-att的view transformer方法并不能提供足够详细的场景表示,因为它们使用的3D空间的子采样对于建模环境的精细结构来说是不足的。于是本文提出了GaussianBEV,这是一种将图像特征转换为BEV的新方法,通过使用一组在3D空间中定位和定向的3D高斯来精细地表示场景。然后通过调整基于高斯splatting的3D表示渲染,以生成BEV特征图。GaussianBEV是第一种在线使用这种3D高斯建模和3D场景渲染过程的方法,即不在特定场景上对其进行优化,而是直接集成到单阶段模型中以用于BEV场景理解。实验表明,所提出的表示方法非常有效,将高斯BEV作为nuScenes数据集上BEV语义分割任务的最新技术。
总结来说,GaussianBEV主要贡献如下:
基于深度 。基于像素深度估计和图像特征的显式预测,建立了一系列模型。结合相机标定参数,这使得2D特征能够反投影到3D特征点云中,最终在BEV网格中聚合。为了适应深度估计的不确定性,特征实际上沿着穿过其像素的光线传播,并由离散的深度概率估计进行微调。为了改进深度预测,提出了一种在模型训练期间使用LiDAR数据的显式深度监督方案。然而,基于深度的方法对光线采样策略很敏感,通常是沿着光线和物体表面反向投影特征(见图1a)。
基于投影 。通过严格的比较研究,[7]建议放弃深度估计,转而采用更简单的投影方案:使用一组预定义的3D点来描述场景,并通过使用校准数据将点投影到相机特征图上来探测相机特征。此投影忽略了实际对象和背景放置,但返回了场景的更密集表示,没有超出对象表面深度的空隙。通过选择稀疏网格表示来减少生成BEV网格的计算和内存开销。基于投影的视图变换方法很简单,但会产生粗略的BEV表示,因为沿着光线的所有体素都接收到相同的特征(见图1b)。
基于注意力 。利用Transformer模型的最新进展,深度估计被基于注意力的特征调制方案所取代。提出了几种优化方案来解决图像和BEV网格标记之间成对匹配的计算复杂性:空间和时间注意力的因子分解、可变形注意力、标定和时间戳先验的引入。对于分割任务,由于需要定义密集的查询映射,基于注意力的视图转换在计算和内存方面都是密集的。这就是为什么一些方法预测低分辨率BEV(见图1c),然后通过逆卷积对其进行上采样。
高斯splatting 。高斯splatting(GS)是一种3D场景渲染技术,它使用3D高斯来描述场景。每个高斯函数都由其位置、比例、旋转、不透明度和球谐颜色模型参数化。整个渲染管道是差分的,允许基于一组图像将高斯参数优化到特定场景。GS既快速又并行,允许在GPU上进行实时操作。此外,通过修剪更窄、更透明的高斯分布,可以在细节和渲染速度之间进行权衡。与稀疏体素网格相比,高斯网格提供了更有效的场景表示,因为单个高斯网格可以描述大体积,而较小的高斯网格可以以任意分辨率精确编码更精细的细节。细节和光栅化分辨率是渲染管道的参数,而不是场景描述。已经提出了几个扩展,允许管理动态对象或从表示中的基础模型中提取语义特征。在所有情况下,高斯表示都是特定于场景的。
在我们的工作中,我们建议使用高斯表示来克服以前视图变换方法的缺点。与之前离线学习高斯表示的高斯电高斯splatting不同,我们建议学习一个能够提供场景在线高斯表示的神经网络。
整体结构如图2所示:
给定输入特征图F,3D高斯生成器使用多个预测头预测场景的3D高斯表示。图3说明了它如何在特征图上运行。
高斯中心。场景中高斯分布的3D位置由应用于F的深度头和3D偏移头估计。第一种方法预测3D中心沿光线的初始位置。第二种方法通过向其添加一个小的3D位移来细化这个3D位置,通过不沿光线冻结高斯分布,为高斯分布的定位提供了更大的灵活性。
更确切地说,对于坐标为($u_{n,i}$,$v_{n,i}$)的相机n的特征图中的像素i,深度头预测视差$d_{n,i}$∈[0,1]。为了补偿从一个相机到另一个相机的焦距多样性对深度预测的影响,如[23]中提出的,在参考焦距f中,视差被预测到一个缩放因子。知道与相机n相关的真实焦距fn,然后对度量深度$z_{n,i}$进行如下解码:
然后使用第n个相机的内参Kn推导出相机参考系中的相应3D点:
产生的3D点被约束为沿着穿过所考虑像素的光线。由于这种约束,它们的定位不一定是最优的。为了克服这个问题,我们建议使用3D偏移预测头。它的目的是提供一个小的位移$△_{n,i}$,应用于高斯的3D中心,以细化其在所有三个方向上的位置。通过以下步骤可以简单地获得精确的3D点:
在这个阶段,为每个相机计算的3D高斯中心在相应的相机参考系中表示。为了在世界参考系中表达这些点,应用了外参矩阵[Rn|tn],实现相机到世界的转换:
高斯旋转 。场景中高斯分布的3D旋转是通过应用于F的旋转头来估计的。对于相机n的特征图中的给定像素,它以单位四元数q的形式输出偏心旋转。像素的偏心旋转对应于相对于穿过它的3D光线的旋转。这种建模使旋转头更容易学习,因为它不知道与它正在处理的像素对应的光线。例如,放置在场景中两个不同位置并在相机参考系中具有不同绝对(自中心)旋转的两个对象在图像中可能具有相同的外观。在这种情况下,旋转头预测的偏心旋转将是相同的。然后,使用相机的固有参数来检索自中心旋转信息。
为此,计算表示穿过相机n的像素i的光线与轴$[0,0,1]^T$之间的旋转的四元数。然后通过以下步骤恢复表示相机参考系中的自中心旋转的四元数:
最后,对于高斯中心,使用$q^w_{n,i}$计算表示高斯在世界参考系中的旋转的四元数,该四元数对相机n的相机到世界的旋转进行建模:
高斯尺寸、不透明度和特征 。最后三个高斯参数不依赖于光学特性和相机定位,而是编码语义特性。因此,简单地使用三个头来预测BEV光栅化器模块渲染高斯集G所需的集S、O和E。
BEV光栅化器模块用于从3D高斯生成器预测的高斯集G中获得BEV特征图B。为此,高斯高斯splatting中提出的差分光栅化过程已被调整为执行这种渲染。第一种调整已经在其他离线语义重建工作中提出,包括渲染C维特征而不是颜色。在我们的例子中,这会产生一个包含感知任务所必需的语义特征的渲染。第二个调整涉及所使用的投影类型。我们对渲染算法进行了参数化,以生成正交渲染而不是透视渲染,更适合场景的BEV表示。
高斯正则化损失 。尽管高斯BEV可以通过上述损失进行有效训练,但直接作用于高斯表示的正则化函数的添加提高了其代表性。特别是,在训练过程中增加了两个正则化损失。
首先,深度损失旨在使用激光雷达在图像中的投影提供的深度信息来规范高斯人的位置。这种损失增加了对深度水头预测的约束,以获得初始3D位置,然后通过3D偏移对其进行细化。深度损失Ldepth定义如下:
其次,早期监督损失旨在优化BEV骨干之前的高斯表示。其想法是限制BEV特征,以直接为语义分割任务提供所有必要的信息。在实践中,分割头被添加并直接连接到BEV光栅化器模块的输出。早期监督损失的定义与Lsem类似。因此,总损失函数由下式定义:
本文介绍了GaussianBEV,这是一种新的图像到BEV变换方法,是BEV语义分割的最新进展。基于在线3D高斯生成器,它将图像特征图的每个像素转换为语义化的3D高斯。然后,高斯人被泼洒以获得BEV特征图。我们已经证明,高斯表示能够适应场景中存在的不同几何结构,从而实现精细的3D建模。我们希望这项初步工作将为使用在线高斯splatting表示的3D感知的进一步研究打开大门。
本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载者并注明出处:https://www.jmbhsh.com/shumazixun/35992.html