登录后复制

随着自动驾驶技术的迅猛发展,构建高保真、动态的仿真场景成为了行业的迫切需求。传统的三维重建方法在处理复杂场景时常常面临效率和精度的挑战。在此背景下,3D高斯点阵渲染(3DGS)技术应运而生,成为自动驾驶仿真场景重建的关键突破。

一、3DGS技术概述与原理

1、3DGS的技术概述

3DGS是一种基于3D高斯分布的三维场景表示方法。通过将场景中的对象转化为多个3D高斯点,每个点包含位置、协方差矩阵和不透明度等信息,3DGS能够精确地表达复杂场景的几何形状光照特性

传统的神经辐射场(NeRF)方法相比,3DGS在渲染速度和图像质量方面表现出色,弥补了NeRF在动态场景处理和细节保留上的不足。

图1:3DGS重建流程

2、3DGS的技术原理

在3DGS中,首先通过SfM(Structure from Motion)技术进行数据预处理,校准相机位置并恢复其内部和外部参数,生成稀疏点云。然后,基于这些点云初始化一组3D高斯点,每个高斯点的初始位置、协方差矩阵和不透明度都会进行设置。

训练过程中,3DGS通过反向传播不断优化这些高斯点的位置、形状和不透明度。值得注意的是,3DGS采用了自适应密度控制,能够在每次反向传播后去除那些不重要的高斯点,并根据需要对高斯点进行分裂或克隆,以保证场景重建的精度和细节。

图2:训练过程中高斯点的优化

二、3DGS在自动驾驶仿真中的应用

在自动驾驶领域,3DGS技术被广泛应用于高保真仿真场景的重建。通过将多视角图像转化为3D高斯点云,3DGS能够快速、精确地重建复杂的街道场景,为自动驾驶系统的训练和验证提供真实的虚拟环境。例如,Huang等人提出的S³Gaussian方法,通过自监督学习,从4D一致性中分解动态和静态元素,实现了高质量的街道场景重建。

此外,Zhou等人提出的DrivingGaussian方法,针对环视动态自动驾驶场景,发展了基于3D高斯的重建仿真技术。该方法能够有效建模复杂的多尺度背景和前景,提升了自动驾驶系统在复杂环境下的感知能力。

图3:S³Gaussian方法

图4:DrivingGaussian方法

1、3DGS的优势与挑战

(1)优势

高效性:通过显式建模方法,3DGS避免了传统神经网络训练中的计算开销,训练速度更快,渲染效率更高。

精度:3D高斯点可以细致地捕捉场景中的每个细节,从而实现高精度的三维重建。

实时性:3DGS支持实时渲染,适合需要快速响应的应用场景,如自动驾驶仿真。

(2)挑战

场景复杂度:对于极为复杂的三维场景,3DGS可能需要大量的高斯点,这会增加计算负担和内存消耗。

动态场景的支持:目前,3DGS主要集中在静态场景的重建,如何高效地处理动态场景中的物体变化,仍然是一个技术挑战。

三、aiSim的3DGS重建功能

aiSim仿真平台结合3DGS技术,可以提供强大的三维重建功能,极大地提升了自动驾驶仿真测试的效率和精度。

在aiSim中,3DGS被用于从多视角图像中重建复杂的三维场景。aiSim能够精确地捕捉环境的几何形状光照特性,为自动驾驶系统提供高保真的虚拟环境。这种高精度的三维重建使得自动驾驶算法能够在仿真中进行更为真实的测试,减少了对实际道路测试的依赖。

图5:大FoV相机渲染出现非一致性(左)重建3DGS渲染方案后(右)

aiSim新构建的GGSR通用高斯泼溅渲染器优化了重建场景下光线追踪传感器的渲染效果,增强了广角镜头渲染下的一致性,并能减少伪影的产生,实现高保真度的3DGS重建场景兼容。

在重建的静态场景之上,aiSim支持自定义动态的场景交通流。通过添加动态实体,aiSim可以模拟交通流、行人行为等动态元素,为自动驾驶系统提供更为全面的测试场景。这种动态重建能力使得aiSim在验证自动驾驶系统的泛化能力和应对复杂场景的能力方面,展现出了巨大的优势。

图6:十字路口车辆起步场景

四、结语

3DGS作为一种新兴的三维场景重建技术,凭借其高效、精确和实时的特点,在自动驾驶仿真领域展现出了巨大的潜力。我们有理由相信,未来3DGS将为更多行业带来创新性的解决方案。

▍参考文献

1. 3D Gaussian Splatting for Real-Time Radiance Field Rendering

2. S3Gaussian: Self-Supervised Street Gaussians for Autonomous Driving

3. DrivingGaussian: Composite Gaussian Splatting for Surrounding Dynamic Autonomous Driving Scenes


我是分享自动驾驶技术的康谋

期待与您的进一步交流

康谋分享 | 3DGS:革新自动驾驶仿真场景重建的关键技术的更多相关文章

  1. 基于DRL和TORCS的自动驾驶仿真系统——之环境配置

    基于DRL和TORCS的自动驾驶仿真系统 --之环境配置 玩TORCS和DRL差不多有一整年了,开始的摸爬滚打都是不断碰壁过来的,近来在参与CMU的DRL10703课程学习和翻译志愿者工作,也将自己以 ...

  2. 开源自动驾驶仿真平台 AirSim (1) - Unreal Engine

    AirSim 官方Github: https://github.com/Microsoft/AirSim AirSim 是微软的开源自动驾驶仿真平台(其实它还能做很多事情,这里主要用于自动驾驶仿真研究 ...

  3. zz自动驾驶复杂环境下高精度定位技术

    今天为大家分享下,自动驾驶在复杂环境下的高精度定位技术. 定位/导航负责实时提供载体的运动信息,包括载体的:位置.速度.姿态.加速度.角速度等信息. 自动驾驶对定位系统的基本要求: 1. 高精度:达到 ...

  4. Carla 自动驾驶仿真平台的安装与配置指南

    简介 Carla 是一款基于 Python 编写和 UE(虚幻引擎)的开源仿真器,用于模拟自动驾驶车辆在不同场景下的行为和决策.它提供了高度可定制和可扩展的驾驶环境,包括城市.高速公路和农村道路等.C ...

  5. 开源自动驾驶仿真平台 AirSim (2) - 编译 AirSim

    AirSim 的官方 Github: https://github.com/Microsoft/AirSim 对于 Unreal Engine 来说,AirSim 其实是作为一个插件存在,说白了就是把 ...

  6. 开源自动驾驶仿真平台 AirSim (3) - 运行 AirSim

    AirSim 的官方 Github: https://github.com/Microsoft/AirSim 之前配置了很多,终于要让 AirSim 自己跑起来了. 我们需要把 AirSim 这个插件 ...

  7. Mechanical Simulation借助UE发力自动驾驶仿真

    Source https://www.unrealengine.com/en-US/blog/making-autonomous-vehicles-safer-before-they-hit-the- ...

  8. AirSim 自动驾驶仿真 (2-3) python控制无人机 win10

    1首先搭建好环境 参考 2 python控制 https://blog.csdn.net/Zhaoxi_Li/article/details/108002544 官方代码位置 自己pythonj教程 ...

  9. 带你了解基于Ploto构建自动驾驶平台

    摘要:华为云Solution as Code推出基于Ploto构建自动驾驶平台解决方案. 本文分享自华为云社区<基于Ploto构建自动驾驶平台>,作者:阿米托福 . 2022年6月15日, ...

  10. zz“老司机”成长之路:自动驾驶车辆调试实践

    随着自动驾驶技术的发展,一辆新车从被改装到上路需要经过的调试流程也有了许多提升.今天,我希望结合自己之前的调车经验来跟大家分享一下我们是如何将系统的各个模块逐步上车.调试.集成,进而将一辆“新手”车培 ...

随机推荐

  1. MySQL中联合主键的 in 查询

    就一句话: SELECT * from Projects WHERE (Prj,SubID) in (SELECT Prj,SubID FROM SP where stage='设计' and 负责人 ...

  2. 使用MTR网络诊断

    安装 MTR Ubuntu: apt update apt upgrade apt install mtr-tiny CentOS: yum update yum install mtr 使用 MTR ...

  3. NOIP 游记

    前情提要:color \(100\to 0\),arena \(92/100\to 36\). 最后一场模拟赛喜提 0+0+100+0,挺乐的. Day 0 晚上九点睡,然而还是很早就醒了,但是时间体 ...

  4. flutter-使用flutter_app_upgrade进行版本更新要点

  5. [联合省选 2020A] 组合数问题 题解

    后面有一只大大的组合数,考虑下降幂干过去.\(x^k\) 并不好使,这边考虑转化 \(f(x)=\sum a_ix^i=\sum b_ix^\underline i\). \[\sum_{k=0}^n ...

  6. windows设置定时任务

  7. Oracle - [03] 存储过程

    一.什么是存储过程 存储过程是一种数据库对象,是一种存储在数据库中的可执行程序,是一些经过编写.编译而存在数据库中的SQL语句集. 二.创建存储过程的语法 create or replace proc ...

  8. IDEA - 文件上方的文档注释如何自定义

    1.在设置中打开文件和代码模板,根据描述中的参考信息进行自定义配置 File > Settings > Editor > File and Code Templates 2.配置完成 ...

  9. DW002 - 数据仓库模型设计

    数据模型 关系模型与维度模型 常见数据模型设计方法 数据模型 1. 什么是数据模型 模型 - Model 模型是指对于某个实际问题或者客观事物.规律进行抽象后的一种形式化表达方式 比如地图.建筑设计沙 ...

  10. Wifi - 查看连接过的Wifi的密码

    使用管理员身份打开命令提示符 Microsoft Windows [版本 10.0.22621.1702] (c) Microsoft Corporation.保留所有权利. C:\Windows\S ...