自动驾驶中的神经辐射场:综述

24年4月清华大学论文“Neural Radiance Field in Autonomous Driving: A Survey”。

神经辐射场(NeRF)由于其固有的优势,特别是其隐式表示和新视图合成能力,引起了学术界和工业界的广泛关注。 随着深度学习的快速发展,出现了多种方法来探索 NeRF 在自动驾驶(AD)领域的潜在应用。 然而,当前文献中存在明显的空白。 为了弥补这一差距,本文对 NeRF 在 AD 背景下的应用进行了全面的调查。 该综述旨在对 NeRF 在自动驾驶 (AD) 中的应用进行分类,具体包括感知、3D 重建、同步定位和建图 (SLAM) 以及模拟。 深入分析并总结每个应用类别的研究结果,最后对该领域的未来方向提供见解和讨论。

如图是NeRF在自动驾驶的类别:
请添加图片描述

在 NeRF 模拟中,有两种类型。 第一种类型将驾驶场景分为静态和动态部分,并使用神经辐射场。 然后,它编辑车辆或行人的运动以生成新场景并模拟图像数据。 根据场景表示,这种类型进一步分为隐式和显式方法。 第二种类型的重点是从新角度模拟激光雷达数据,将激光雷达传感过程模型与神经辐射场相结合来描绘场景的几何形状。 根据激光雷达传感过程的建模差异,该类型分为射线模型和光束模型。

NeRF 在自动驾驶感知任务中展示了巨大的潜力,该任务分为两个分支:数据增强和模型训练,如图所示。 数据增强需要利用 NeRF 的创新视图合成功能对训练数据集进行逼真的数据增强,而模型训练则涉及将神经渲染集成到训练过程中以捕获几何细节并提高性能。

请添加图片描述

如表所示,将 3D 重建分为三个子问题:动态场景重建、表面重建和逆渲染。

请添加图片描述

由于 NeRF 具有基于姿态和视图方向渲染图像的强大能力,因此将 NeRF 与姿态估计以及 SLAM 相结合的尝试自然受到了众多研究人员的考虑和研究。 相关研究大致可以分为两类:NeRF 的姿态估计和 NeRF 的场景表示。

最近出现了几种利用 NeRF 估计实时姿态的具体方法,可分为 3D 隐式表示和 3D 特征提取。与 NeRF 优化姿态估计相反,NeRF 在 SLAM 中的另一个应用是表示整个场景以优化建图性能。 根据场景表示级别,相关研究分为MLP级、体素级、点级和3D高斯级表示。

自动驾驶仿真为传感器数据生成创建逼真的虚拟环境,为现实世界测试提供了一种更安全、更具成本效益的替代方案,有利于创建多样化的驾驶场景并降低安全风险。 CARLA [93] 和 AirSim [94] 等传统模拟方法依赖于手动场景创建,并且由于手工制作的资产和简化的物理原理而存在显着的模拟与真实差距,因此面临着局限性。 GeoSim [95] 试图通过结合图形和神经网络来生成视频场景来弥补这一差距,但未能模拟新视图的传感器数据。 神经辐射场方法显着增强了真实感,并减少了场景创建和编辑中的手动工作,为缩小现实世界和虚拟世界之间的域差距提供了一种有前景的解决方案。
模拟方法主要分为两大类:图像数据模拟和激光雷达数据模拟。

当前基于神经辐射场的自动驾驶图像数据模拟方法使用来自真实驾驶环境的图像序列以及相应的摄像头姿势来重建场景,从而允许在原始场景中修改车辆行为生成并渲染新的逼真图像。 根据表示技术,这些方法进一步分为隐式表示方法(以 NeRF 为代表)和显式表示方法(以 3D Gaussian Splatting 为代表)[42]。

LiDAR 数据模拟的目的是利用 LiDAR 测量数据来增强神经场景表示,从而促进从新角度合成真实的 LiDAR 扫描。 这些方法基于不同的激光雷达传感过程建模技术,主要分为两类:射线模型和光束模型。

射线方法将LiDAR传感过程简化为单条射线,取代了原始NeRF模型中的相机射线,并通过球面投影将LiDAR点云数据转换为360度全景图像作为真值,将点云数据转换为伪图像数据。与上述方法不同,NFL[105]使用具有散射角的发散光束来模拟LiDAR传感过程。 该技术可以准确地再现关键传感器行为,例如光束发散、二次返回和光线下降,如图所示。
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/701071.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux的命令(第二篇)

昨天学习到了第17个命令到 rm 命令(作用删除目录和文件),今天继续往下里面了解其他命令以及格式、选项: (17)wc命令(此wc非wc) 作用:统计行数、单词数、字符分数。 格…

Leetcode—100296. 两个字符串的排列差【简单】

2024每日刷题&#xff08;135&#xff09; Leetcode—100296. 两个字符串的排列差 实现代码 class Solution { public:int findPermutationDifference(string s, string t) {int maps[26];int mapt[26];for(int i 0; i < s.size(); i) {int idxs s[i] - a;int idxt t[i…

由于安全设置错误,远程桌面连接失败怎么办?

问题&#xff1a;远程桌面安全设置错误&#xff1f; “我是一名IT经理&#xff0c;需要经常使用远程桌面连接到办公室的电脑。近期&#xff0c;我在使用远程桌面时&#xff0c;远程桌面提示‘由于安全设置错误&#xff0c;客户端无法连接到远程计算机。’我不清楚是什么原因所…

GPT-4o: 从最难的“大海捞针”基准看起

大模型技术论文不断&#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读&#xff0c;主题还是围绕着行业实践和工程量产。若在阅读过程中有些知识点存在盲区&#xff0c;可以回到如何优雅的谈论大模型重新阅读。另外斯坦福2024人工智能报告解读为通识性读物。若对于如果…

CS144 Checkpoint 4: interoperating in the world(2024)

分析网络路径和性能&#xff1a; mtr命令 mtr 输出的详细分析&#xff1a; mtr 162.105.253.58 命令用于结合 traceroute 和 ping 的功能&#xff0c;实时监测并分析从你的计算机到目标主机&#xff08;IP 地址 162.105.253.58&#xff0c;北京大学计算中心&#xff09;之间…

如何压缩图片大小?7个实用软件教你快速压缩图片大小

如何压缩图片大小&#xff1f;7个实用软件教你快速压缩图片大小 以下是七个实用的软件&#xff0c;可以帮助您快速压缩图片大小&#xff1a; 图片编辑助手&#xff1a;这是一款功能强大的图像处理软件&#xff0c;其中包含了图像压缩功能。您可以打开需要压缩的图片&#xf…

MyBatis缓存的概念

缓存回顾 什么是缓存&#xff1f; 缓存就是内存中的数据&#xff0c;常常来自对数据库查询结果的保存。使用缓存可以避免频繁与数据库交互&#xff0c;进而提高 响应速度 。 MyBatis 对缓存的支持 MyBatis 也提供了对缓存的支持&#xff0c;分为 一级缓存 和 二级缓存。可以…

【数据可视化01】matplotlib实例介绍4之六边形分箱图

目录 一、引言二、实例介绍 一、引言 hexbin是一个二维直方图&#xff0c;其中箱子是六边形&#xff0c;颜色表示每个箱子内的数据点数。 二、实例介绍 import matplotlib.pyplot as plt import numpy as np# Fixing random state for reproducibility np.random.seed(19680…

LLM Agent智能体综述(超详细)

前言 &#x1f3c6;&#x1f3c6;&#x1f3c6;在上一篇文章中&#xff0c;我们介绍了如何部署MetaGPT到本地&#xff0c;获取OpenAI API Key并配置其开发环境&#xff0c;并通过一个开发小组的多Agent案例感受了智能体的强大&#xff0c;在本文中&#xff0c;我们将对AI Agent…

draw.io 网页版二次开发(2):开始修改代码

目录 一 说明 二 打开开发环境 1. 代码调整 2. 修改访问链接 3. 注意 三 部分功能的代码汇总 1. 保存功能 2. 菜单栏折叠按钮功能 3. 顶部菜单栏 4.在顶部菜单栏中的【文件】菜单中新增选项 &#xff08;1&#xff09; 方法一&#xff1a;单独增加 &#xff08;…

Kubernetes 群集部署

一、Kubernetes 概述 1.1、什么是 Kubernetes Kubernetes 是一个可移植、可扩展的开源容器编排系统&#xff0c;主要用于自动化部署、扩展和管理容器应用&#xff0c;提供资源调度、部署管理、服务发现、扩容缩容、监控等功能。对于负载均衡、服务发现、高可用、滚动升级、自…

android自定义view仿微信联系人列表

说明&#xff1a;最近碰到一个需求&#xff0c;弄一个类似国家或省份列表&#xff0c;样式参照微信联系人 文件列表&#xff1a; step1:主界面 加载列表数据~\app\src\main\java\com\example\iosdialogdemo\MainActivity.java step2:右侧列表数据排序~\app\src\com\example\io…