速度提高60倍!GaussianCity:重建你的自动驾驶场景(南洋理工)

点击下方卡片,关注“自动驾驶之心”公众号

戳我-> 领取自动驾驶近15个方向学习路线

>>点击进入→自动驾驶之心BEV感知技术交流群

论文作者 | 自动驾驶Daily

编辑 | 自动驾驶之心

写在前面

基于NeRF的方法生成3D城市显示出了有希望的生成结果,但在计算上效率不高。最近,3D高斯Splatting(3D-GS)已成为目标级3D生成的高效替代方案。然而,将3D-GS从有限尺度的3D物体和人类扩展到无限尺度的3D城市并非易事。无边界的3D城市生成会产生显著的存储开销(内存溢出问题),因为需要将点扩展到数十亿个,这通常需要数百GB的VRAM来呈现一个跨越10km²的城市场景。

GaussianCity,一个生成性Gaussain Saplatting框架,专门用于通过单次前馈传递高效地合成无边界的3D城市。主要贡献有两点:

1)紧凑的3D场景表示:引入了BEV-Point作为高度紧凑的中间表示,确保无边界场景中的VRAM使用量增长保持不变,从而实现无边界城市的生成。

2)空间感知的高斯属性解码器:提出了空间感知的BEV-Point解码器来生成3D高斯属性,该解码器利用点序列化器整合BEV点的结构和上下文特征。

大量实验表明,GaussianCity在无人机视角和街道视角的3D城市生成中都取得了最先进的结果。特别值得注意的是,与CityDreamer相比,GaussianCity表现出更优越的性能,速度提高了60倍(10.72 FPS vs 0.18 FPS)。

GaussianCity方法介绍

GaussianCity的框架如下所示:为了创建一个无边界的3D城市,首先从BEV地图的一个局部区域生成BEV点,这些点包括高度场H、语义地图S和二进制密度地图D。然后,为每个点生成BEV-Point属性,并为每个实例生成样式查找表。接下来,BEV-Point解码器从BEV-Point属性中生成高斯属性A。最后,高斯渲染器R生成渲染图像R。

4cdb13b51b2e1f1de4b336b73942f110.png

BEV-Point Initialization

在3D-GS中,所有的3D高斯函数在优化过程中都会使用一组预定义的参数进行初始化。然而,随着场景规模的扩大,VRAM的使用量会急剧增加,使得生成大规模场景变得不实际。为了解决这个问题,这里提出了一种高度紧凑的表示方法,即BEV-Point。在BEV-Point表示法中,仅保留可见的BEV点,因为只有它们会影响当前帧的apperance。它确保VRAM的使用量保持不变,因为给定固定的相机参数,可见BEV点的数量不会随着场景规模的增加而增加。

在BEV地图的一个局部区域中,该区域包含一个语义地图M和一个高度场H,可以通过根据高度场H中对应的值将语义地图S中的像素挤出,来生成该区域内的BEV点集合。这里进一步引入了二进制密度图D来调整不同语义类别的采样密度。这是基于观察到某些类别具有更简单的纹理(例如,道路、水域),因此可以通过降低密度来管理计算成本,而其他类别(例如,建筑立面)具有复杂的纹理,需要更多的点来表示。生成的BEV点的坐标,记作,可以按照以下方式生成:

25f3334918eec6e686ecaca765b72486.png

得益于二进制密度图D,已经省略了相当数量的冗余BEV点。然而,剩余的数量,通常约为2000万个BEV点,对于优化来说仍然太大。为了解决这个问题,额外进行了射线相交检测,以获取二进制可见性映射V:(x, y, z) → v,其中v ∈ {0, 1},用于过滤出可见的BEV点。因此,可见的BEV点的坐标可以生成为:

646b760d50c9d6b7a88d4d45468bb686.png

BEV-Point Feature Generation

BEV-Point表示中的特征可以分为三类:实例属性、BEV-Point属性和样式查找表。实例属性包含每个实例的基本细节,如实例标签、大小和中心坐标。BEV-Point属性决定了实例内的apperance,而样式查找表则控制不同实例之间的样式变化。

实例属性。语义地图S为BEV点提供了语义标签,参照CityDreamer,这里引入了实例地图Q来处理城市环境中建筑和车辆的多样性。

0cf43b0a496653d0295e28295c6e0745.png

其中,Inst(·) 表示通过在语义地图上检测连通分量来进行实例化。因此,BEV点的实例标签I可以计算为:

5232e237faf5686e1957c029855ea8f6.png

BEV-Point属性。在BEV-Point初始化中,生成了绝对坐标,其原点设置在世界坐标系的中心。除了绝对坐标外,还引入了相对坐标,其原点设置在每个实例的中心,以指定相对于实例的归一化点坐标。

291dcbc9c6a2b79c0f6430b9367e38e3.png fb5b1697e56ce86a4fbdefa2675e5d28.png

在生成过程中,为BEV点整合上下文信息变得至关重要。这是通过引入从BEV地图中获取的、并使用绝对坐标索引的场景特征来实现的。

a1bad69fc3cc3fac8340c0fe353bfa4d.png

样式查找表。在3D-GS中,3D高斯函数的外观由每个高斯函数的属性定义。随着3D高斯函数数量的增加,对VRAM和文件存储的需求也显著增加,使得无限制的场景生成变得不可行。为了进一步降低计算成本,实例的外观被编码为一组潜在向量ZT 即:

b22cf25b27ec6344d1e2b28558ec5a86.png

BEV-Point Decoding

BEV-Point解码器被设计用来利用BEV-Point特征生成高斯属性A。它包含五个关键模块:positional encoder, point serializer, point transformer, modulated MLP, and Gaussian rasterizer。

位置编码器。位置编码器不是直接将坐标输入到后续网络中,而是将每个点坐标和相应的特征转换为更高维度的位置嵌入,具体过程如下:

7b509816955fcd3a537bee058a91b2fa.png

点序列化器。与NeRF不同,NeRF维持了沿射线采样的点之间的空间相关性,但由于点云的不规则性,BEV点和3D高斯函数是无结构和无序的。因此,直接将多层感知机(MLPs)应用于从FP生成高斯属性可能不会产生最优结果,因为MLPs并没有完全考虑点云的结构和上下文特性。

为了将无结构的BEV点转换为结构化格式,这里提出了点序列化器L: (x, y, z) → o,其中o ∈ Z,用于将点坐标转换为整数,以反映该点在给定BEV点中的顺序。

7f5cde910521898ff034ddf42e0b1a50.png

point transformer。在序列化之后,BEV点的特征可以通过一个Transformer F进行处理:

76f6ed9ea65ddf69e3bb729dd8b984da.png

调制多层感知机(MLPs)。通过应用多层感知机(MLPs)M ,结合BEV点的特征对样式代码和实例标签I进行调制,生成3D高斯函数A :

d9fad9bcc39488229c7e69e31ce6a91f.png

高斯栅格化器。给定相机的内参和外参,可以使用高斯栅格化器R来渲染图像。

705027fbdb14ec1d36aca366955569c7.png

在栅格化过程中,如果A中未生成所需的属性,则会使用默认值。这些默认值包括缩放因子s = 1,旋转四元数q = [1, 0, 0, 0],以及不透明度α = 1。

损失函数

7b613ea38181892604cc60a1f892201a.png

实验对比

6074244a73e1a5f3eb313f19f2458ee8.png 54a4ef3872870b7f1c6f9c1a241463df.png 36111b4d1976b5d15d4460e0db67cc96.png 15e51a8bb843e840dfa0d7f75f7abb81.png f44719f3de3818dde527d520cd99c567.png

参考

[1] GaussianCity: Generative Gaussian Splatting for Unbounded 3D City Generation

投稿作者为『自动驾驶之心知识星球』特邀嘉宾,欢迎加入交流!

① 全网独家视频课程

BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测车道线检测轨迹预测在线高精地图世界模型点云3D目标检测目标跟踪Occupancy、cuda与TensorRT模型部署大模型与自动驾驶Nerf语义分割自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

fad22e423147dc91271b1bf7d3f7fcc8.png 网页端官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

国内最大最专业,近3000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案大模型、端到端等,更有行业动态和岗位发布!欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频

335ead61c33b08ede3b6cee68fdcb6a0.png

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦感知、定位、融合、规控、标定、端到端、仿真、产品经理、自动驾驶开发、自动标注与数据闭环多个方向,目前近60+技术交流群,欢迎加入!扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

d971dcb85e9c886ee9a09e1bde585198.jpeg

④【自动驾驶之心】全平台矩阵

dabe0e79cafda51d300f4bc7c4f9dbea.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值