NeuRAD:领先多数据集的神经渲染技术在自动驾驶中的应用

论文”NeuRAD: Neural Rendering for Autonomous Driving”,来自Zenseact,Chalmers科技大学,Linkoping大学和Lund大学。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

neurad:领先多数据集的神经渲染技术在自动驾驶中的应用神经辐射场(nerf)在自动驾驶(ad)社区中越来越受欢迎。最近的方法显示了nerfs在闭环模拟、ad系统测试和训练数据增强技术方面的潜力。然而,现有的方法往往需要长的训练时间、密集的语义监督,缺乏可推广性。这反过来又阻碍了nerf在ad中的大规模应用。本文提出neurad,一种针对动态ad数据的稳健的新视图合成方法。该方法具有简单的网络设计、包括相机和激光雷达的传感器建模(包括滚动快门、光束发散和光线降落),适用于开箱即用的多个数据集。

如图所示:NeuRAD是一种为动态汽车场景量身定制的神经渲染方法。可以改变自车和其他道路使用者的姿态,也可以自由添加和/或移除参与者。这些功能使NeuRAD适合作为传感器逼真的闭环模拟器或强大数据增强引擎等组件的基础。

NeuRAD:领先多数据集的神经渲染技术在自动驾驶中的应用本文目标是学习一种表示,从中可以生成真实的传感器数据,其中可以改变自车平台、行动者的姿态,或者两者兼而有之。假设可以访问由移动平台收集的数据,由设定的相机图像和激光雷达点云组成,以及对任何移动行动者大小和姿态的估计。为了实用性,该方法需要在主要汽车数据集上的重建误差方面表现良好,同时将训练和推理时间保持在最低限度。

如图是本文提出方法NeuRAD的概览:学习一个用于汽车场景的静态和动态的联合神经特征场,通过行动者-觉察的哈希编码来区分。落入行动者边框内的点被转换为行动者局部坐标,并与行动者索引一起用于查询4D哈希网格。用上采样CNN将体渲染的光线级特征解码为RGB值,并用MLP将其解码为光线降落概率和强度。

NeuRAD:领先多数据集的神经渲染技术在自动驾驶中的应用在新视图合成[4,47]的工作基础上,作者用神经特征场(NFF)、NeRFs[25]的推广和类似方法[23]对世界进行建模。

先见AI 先见AI

数据为基,先见未见

先见AI 95 查看详情 先见AI

为了渲染图像,需要对一组相机射线进行体渲染,生成特征图F。如论文[47]所述,之后再利用卷积神经网络(CNN)来渲染最终的图像。在实际应用中,特征图的分辨率较低,需要使用CNN进行上采样,以大幅减少光线查询的数量

激光雷达传感器允许自动驾驶车辆测量一组离散点的深度和反射率(强度)。他们通过发射激光束脉冲和测量飞行时间来确定距离和反射率的返回功率。为了捕捉这些特性,将来自姿态激光雷达传感器的传输脉冲建模为一组射线,并使用类似体渲染技术。

考虑不返回任何点的激光束射线。如果返回功率过低,就会出现一种现象,称为射线降落,这对于减少模拟-实际差别的建模非常重要[21]。通常,这样的光线传播得很远而不会碰到表面,或者碰到光束反弹到空地上的表面,例如镜子、玻璃或潮湿的路面。对这些影响进行建模对于传感器真实模拟很重要,但如[14]所述,很难完全基于物理来捕捉,因为它们依赖于(通常未公开的)低层传感器检测逻辑的细节。因此,选择从数据中学习光线降落。与强度类似,可体渲染光线特征,并将其通过一个小MLP来预测光线下降概率pd(r)。请注意,与[14]不同的是,不对激光雷达光束的二次回波进行建模,因为实验中五个数据集中不存在此信息。

将神经特征场(NFF)的定义扩展为学习函数(s,f)=NFF(x,t,d),其中x是空间坐标,t表示时间,d表示视角方向。这个定义引入了时间作为输入,对于场景的动态方面建模至关重要

神经架构

NFF架构遵循NeRF[4,27]中公认的最佳方法。给定位置x和时间t,查询行动者-觉察哈希编码。然后,这种编码输入到一个小MLP中,该感知器计算有符号距离s和中间特征g。用球谐波[27]对视图方向d进行编码,使模型能够捕捉反射和其他与视图相关的效果。最后,通过第二个MLP联合处理方向编码和中间特征,用g的跳跃连接来增强,从而产生特征f。

场景构成

与以前的工作[18, 29, 46, 47]相似,我们将世界分为两个部分,即静态背景和一组刚性动态行动者,每个行动者由一个3D边框和一组SO(3)姿态来定义。我们提供了双重目的:简化学习过程,并允许一定程度的可编辑性,在训练后可以动态行动者生成新场景。不同于以前的方法将不同场景元素使用单独的NFF,我们使用单个统一NFF,其中所有网络都是共享的,静态和动态组件之间的区别由行动者-觉察的哈希编码透明处理。编码策略很简单:根据给定样本(x,t)是否位于行动者边框内,用两个函数中的一个对其进行编码

无界静态场景

使用多分辨率哈希网格来表示静态场景已被证明是一种高度表达和高效的表示方法。然而,为了将无界场景映射到网格上,我们采用了MipNerf-360中提出的收缩方法。这种方法可以用单个哈希网格准确地表示附近的道路元素和远处的云。与此相比,现有的方法利用专用的NFF来捕捉天空和其他遥远的区域

刚性动态行动者

当样本(x,t)落在行动者的边框内时,其空间坐标x和视角方向d在给定时间t转换到行动者的坐标系。忽略之后的时间方面,并从与时间无关的多分辨率哈希网格中采样特征,就像静态场景一样。简单地说,需要分别对多个不同的哈希网格进行采样,每个行动者是一个。然而,转而使用单个4D哈希网格,其中第四个维度对应于行动者索引。这种方法允许并行地对所有行动者特征进行采样,在匹配单独哈希网格性能的同时实现显著的加速。

多尺度场景问题

将神经渲染应用于汽车数据的最大挑战之一是处理这些数据中存在的多个细节级别。当汽车行驶很长距离时,无论是远处还是近距离,都会看到许多表面。在这种多尺度的情况下,简单地应用iNGP[27]或NeRF的位置嵌入会导致混叠伪影[2]。为了解决这个问题,许多方法将射线建模为截锥体,截锥体的纵向由bin的大小决定,径向由像素面积和与传感器的距离决定[2,3,13]

Zip-NeRF[4]是目前iNGP哈希网格的唯一抗混叠(anti-aliasing)方法,它结合了两种截头体建模技术:多采样和降低权重。在多采样中,对截头体多个位置的位置嵌入进行平均,捕捉纵向和径向范围。对于降低权重,每个样本都被建模为各向同性高斯,网格特征的权重与单元(cell)大小和高斯方差之间比例成比,从而有效地抑制更精细的分辨率。虽然组合技术显著提高了性能,但多重采样也显著增加了运行时间。所以本文目标是以最小的运行影响结合规模信息。受Zip-NeRF的启发,作者提出了一种直观的降低权重方案,根据哈希网格特征相对于截头体的大小对其进行权重降低。

高效采样

渲染大规模场景的另一个困难是需要高效的采样策略。在一张图像中,可能想在附近的交通标志上渲染详细的文本,同时捕捉几公里外摩天大楼之间的视差效果。为了实现这两个目标,对射线进行均匀采样将需要每条射线数千个样本,这在计算上是不可行的。以前的工作在很大程度上依赖激光雷达数据来修剪样本[47],因此很难在激光雷达的工作之外进行渲染。

相反,本文根据幂函数[4]沿射线渲染样本,使得样本之间的空间随着与射线原点的距离而增加。即便如此,不可能在样本数量急剧增加的情况下满足所有相关条件。因此,还采用两轮的提议采样(proposal sampling)[25],其中查询NFF(neural feature field)的轻量级版本,生成沿射线的权重分布。然后,根据这些权重渲染一组新的样本。经过两轮这个过程后,得到了一组精细的样本,这些样本集中在射线上的相关位置,可以用来查询全尺寸NFF。为了监督所提出的网络,采用了一种抗混叠的在线蒸馏方法[4],并进一步使用激光雷达进行监督。

建模滚动快门

在基于NeRF的标准公式中,假设每个图像都是从一个原点o捕获的。然而,许多相机传感器都有滚动快门,即像素行是按顺序捕获的。因此,相机传感器可以在第一行的捕获和最后一行的捕获之间移动,打破了单一原点的假设。虽然合成数据[24]或慢速手持相机拍摄的数据不是问题,但滚动快门在快速移动车辆的拍摄中变得明显,尤其是侧面相机。同样的影响也存在于激光雷达中,每次扫描通常在0.1s内收集,当以高速公路速度行驶时,这相当于几米移动。即使对于自我运动补偿的点云,这些差异也可能导致有害的视线误差,即3D点转化为穿过其他几何的射线。为了减轻这些影响,为每条光线指定单独的时间并根据估计的运动调整其原点,这样对滚动快门进行建模。由于滚动快门会影响场景的所有动态元素,因此会对每个单独的光线时间,行动者姿态做线性插值。

不同的相机设置

模拟自动驾驶序列时的另一个问题是,图像来自不同的相机,具有潜在的不同捕获参数,如曝光。在这里,从“NeRFs in the wild”[22]的研究中获得了灵感,其中为每个图像学习外观嵌入,并与其特征一起传递到第二个MLP。然而,当知道哪个图像来自哪个传感器时,反而为每个传感器学习单个嵌入,从而最大限度地减少过拟合的可能性,并允许在生成新视图时使用这些传感器嵌入。当渲染特征而不是颜色时,在体渲染后应用这些嵌入,显著减少了计算开销。

含噪的行动者姿态

模型依赖于对动态行动者姿态的估计,无论其是以注释的形式还是作为跟踪输出。为了解决缺陷,将行动者姿态作为可学习的参数纳入模型中,并对其进行联合优化。姿态参数化为平移t和旋转R,用6D-表示[50]。

NeuRAD是在Nerfstudio[33]开源项目中实现的。使用Adam[17]优化器进行20000次迭代的训练。在一台英伟达A100上,训练约需1小时

复现UniSim:UniSim[47]是一种神经闭环传感器模拟器。它具有逼真的渲染效果,对可用的监督几乎没有任何假设,即它只需要相机图像、激光雷达点云、传感器姿态和带有动态行动者轨迹的3D边框。这些特性使UniSim成为一个合适的基线,因为它很容易应用于新自动驾驶数据集。然而,该代码是封闭源代码,也没有非官方的实现。因此,本文选择重新实现UniSim,作为自己的模型,在Nerfstudio[33]中这样实现。由于UniSim的主要文章没有详细说明许多模型细节,只能依赖于IEEE Xplore提供的补充材料。尽管如此,一些细节仍然是未知的,作者已经调整了这些超参数,匹配10个选定PandaSet[45]序列的报告性能。

以上就是NeuRAD:领先多数据集的神经渲染技术在自动驾驶中的应用的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/452676.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月8日 00:00:47
下一篇 2025年11月8日 00:05:59

相关推荐

  • 动态生成HTML表格:优化JavaScript数据展示与导出

    本文旨在解决JavaScript中动态生成HTML表格时遇到的代码冗余和样式控制难题。通过引入数据驱动的编程思想,我们将数据与视图逻辑分离,首先将表格内容组织为JavaScript对象数组,然后利用一个通用的函数将这些结构化数据渲染为可读性强、易于维护且支持灵活样式的HTML表格字符串。这种方法不仅…

    2025年12月23日
    000
  • HTML5性能优化怎么实现_HTML5新特性在性能优化方面的应用方法

    HTML5通过语义化标签、Web Storage、Canvas/SVG、Service Worker和原生媒体支持等技术提升性能:1. 语义化标签优化渲染效率;2. Web Storage减少网络请求;3. Canvas/SVG降低资源加载量;4. Service Worker实现离线缓存;5. 原…

    2025年12月23日
    000
  • 利用UTM参数与GTM优化链接点击来源追踪

    本文详细阐述了如何通过UTM参数精准追踪营销链接的点击来源,并深入探讨了Google Tag Manager (GTM) 在此过程中的高级应用。文章首先介绍了UTM参数的构成、生成方法及其在Google Analytics中的自动解析机制,强调其在识别流量来源方面的核心作用。随后,探讨了GTM如何通…

    2025年12月23日
    000
  • 如何通过HTML在线展示数据_HTML在线数据展示实现与可视化方案

    网页展示数据需结合HTML、CSS与JavaScript,首选table展示结构化数据,配合Chart.js等库实现可视化图表,通过fetch加载远程JSON动态渲染内容,并利用响应式设计与交互优化提升用户体验。 在网页中展示数据,核心是将结构化信息清晰、直观地呈现给用户。HTML本身是内容载体,结…

    2025年12月23日
    000
  • html在线几何图形绘制 html在线SVG应用实战教程

    使用HTML与SVG结合可高效绘制几何图形。SVG基于XML,支持圆形、矩形、多边形、路径等,在任意分辨率下清晰。1. 基础元素包括rect、circle、ellipse、line、polygon、polyline和path。2. 实战示例:用polygon绘制三角形,path绘制五角星和弧线仪表盘…

    2025年12月23日
    000
  • 单页应用(SPA)中特定分类数据的API直链访问与性能考量

    针对单页应用(SPA),本文探讨了如何通过URL直接访问特定分类数据,而非依赖客户端UI交互。文章揭示了SPA在初始加载时已获取所有数据,因此客户端分类选择对数据加载量无影响。核心策略是绕过前端界面,直接调用后端API获取所需数据,从而实现高效且精准的数据访问,并提供了具体API示例。 理解单页应用…

    2025年12月23日
    100
  • jQuery循环中动态表格数据访问与比较教程

    本文详细介绍了在jQuery循环中处理动态生成表格数据时常见的挑战与解决方案。我们将探讨如何正确使用.find()代替.children()来定位嵌套元素,解决.data()方法返回数字类型导致比较错误的问题,并提供一个基于事件监听的实用示例,以实现对用户修改数据的实时检测和保存。 动态表格数据处理…

    2025年12月22日
    000
  • 揭秘canvas技术在数据可视化中的独特威力

    发现Canvas技术在数据可视化中的独特作用 随着数据时代的到来,数据可视化成为了一种重要的方式来呈现大量的数据。在数据可视化中,Canvas技术以其独特的优势在各个领域展示了巨大的潜力。本文将着重介绍Canvas技术在数据可视化中的独特作用,并给出具体的代码示例。 Canvas是HTML5中的一个…

    好文分享 2025年12月21日
    000
  • 使用localstorage存储数据所需的包有哪些?

    localstorage是HTML5中的一项重要技术,它可以用来在客户端本地存储数据。在使用localstorage存储数据之前,我们需要确保在代码中引入合适的包来操作这个功能。 在使用localstorage之前,我们需要在HTML文件中添加以下代码来引入localstorage的相关包: 在以上…

    2025年12月21日
    000
  • 无法将数据保存到localstorage,为什么?

    为什么我的数据无法保存到localstorage中? 本文将详细讨论为何在某些情况下,数据无法保存到本地存储(localstorage)中。同时,我将提供一些具体的代码示例以帮助您解决这个问题。 首先,让我们来了解一下什么是localstorage。localstorage是HTML5中引入的一种W…

    2025年12月21日
    000
  • 如何将HTML表单数据作为文本并发送到html2pdf?

    html2pdf 是一个 JavaScript 包,允许开发人员将 html 转换为 canvas、pdf、图像等。它将 html 作为参数并将其添加到 pdf 或所需文档中。此外,它还允许用户在添加 html 内容后下载该文档。 在这里,我们将访问表单并使用html2pdf npm包将其添加到pd…

    2025年12月21日
    000
  • HTML中如何用post提交数据

    http/1.1 协议规定的 http 请求方法有 options、get、head、post、put、delete、trace、connect 这几种。其中 post 一般用来向服务端提交数据,本文主要讨论 post 提交数据的几种方式 http/1.1 协议规定的 http 请求方法有 opti…

    好文分享 2025年12月21日
    000
  • 服务端主动发送数据回客户端在H5里的实现步奏

    我们知道,在server sent event里,通过eventsource对象接收服务器发送事件的通知是有三个事件的,message, open, error这三种,今天就给大家演示一下服务端主动发送数据回客户端在h5里的实现步奏。 Server Sent Event Server Sent Ev…

    好文分享 2025年12月21日
    000
  • 可视化图表制作_javascript数据展示

    答案是使用JavaScript库如Chart.js、D3.js和ECharts可实现交互式数据可视化;其中Chart.js适合快速集成常见图表,D3.js适用于高度自定义的复杂图形,ECharts支持高级图表且中文文档完善;以Chart.js创建柱状图需引入库、添加canvas容器并初始化Chart…

    2025年12月21日
    000
  • Odoo 14 POS:深入理解订单与现金支付明细并高效调试

    本教程旨在指导odoo 14 pos开发者如何准确读取销售会话中的订单及其现金支付明细,并计算总现金支付金额。文章将详细介绍odoo前端数据模型的访问方法,并着重强调利用浏览器开发者工具和`debugger`关键字进行运行时对象结构检查与调试的最佳实践,帮助开发者高效解决数据访问中的常见问题。 Od…

    2025年12月21日
    000
  • Odoo 14 POS会话中现金支付金额的准确获取与调试指南

    针对odoo 14 pos会话中读取订单并计算现金支付总额的需求,本文将详细指导如何正确访问支付明细对象属性。重点介绍利用浏览器开发者工具设置断点进行实时调试的方法,帮助开发者深入理解数据结构,从而高效准确地实现功能,避免因属性名称不匹配而导致的常见问题。 1. 理解Odoo POS数据模型 在Od…

    2025年12月21日
    000
  • javascript_如何实现数据可视化

    JavaScript实现数据可视化需将数据转为图形,常用Chart.js、D3.js等库快速构建图表,或用Canvas/SVG原生绘图;通过fetch获取数据并动态更新视图,如Chart.js调用update()刷新,最终实现交互式可视化。 JavaScript 实现数据可视化,核心是将数据转换成图…

    2025年12月21日
    000
  • Ionic 应用在浏览器刷新时状态持久化策略

    当 ionic 应用在浏览器中被刷新时,浏览器会执行完整的页面重载,导致应用状态和数据丢失。本文旨在阐明为何无法阻止浏览器进行全面重载,并提供一个专业的解决方案:利用 capacitor preferences 等客户端存储机制来持久化关键应用状态和数据,确保在浏览器刷新后也能恢复应用到预期状态,从…

    2025年12月21日
    100
  • Node.js中高效移除文本文件中的制表符( )

    本文详细探讨了在node.js环境中从文本文件移除制表符(“)的有效方法。文章首先解释了为何常见的字符串替换尝试可能失败,强调了“和`t`在正则表达式中的区别。随后,提供了两种实用解决方案:直接使用正确正则表达式进行替换,以及通过按行处理数据实现更精细的控制。文章还包含了示例…

    2025年12月21日
    000
  • Google 饼图数据格式化:如何在切片值中显示百分比符号

    本文将详细介绍如何在 google 饼图的切片值和工具提示中正确显示百分比符号。通过利用 google charts 提供的 google.visualization.numberformat 类,开发者可以精确控制数值的显示格式,避免直接在后端数据库查询中进行字符串拼接,从而确保图表的正确渲染和数…

    2025年12月20日
    000

发表回复

登录后才能评论
关注微信