当前位置: 首页 > article >正文

多模态自动驾驶混合渲染HRMAD:将NeRF和3DGS进行感知验证和端到端AD测试

基于3DGSNeRF三维重建技术在过去的一年中取得了快速的进步,动态模型也变得越来越普遍,然而这些模型仅限于处理原始轨迹域内的对象。

HRMAD作为一种混合方案,将传统的基于网格的动态三维神经重建和物理渲染优势结合,支持在任意位置部署网格动态代理,自由调整环境条件,在多个相机视角下进行自由切换,与传统仿真方法相比有效减少了领域差距,同时保留了可控性。

一、方法描述

HRMAD提出的NeRF2GS双模型训练范式显著提升了合成质量,尤其是道路和车道标志,同时满足交互式帧率。通过此块级并行训练架构,可以处理超过10万平方米场景重建,并同步传输出分割掩膜/法线图/深度图。通过物理光栅化/光线追踪渲染后端,HRMAD支持多个相机模型、LiDAR和Radar的实时多模态输出。如图1所示的模型架构。

图1

具体而言,HRMAD基于RGB相机、GNSS和LiDAR的同步数据进行模型训练。该方案结合了NeRF优秀的泛化能力3DGS实时的渲染速度,通过T-S结构,将NeRF生成的深度、法线和外观监督信息传递给3DGS模型,并通过正则化将LiDAR深度数据引入NeRF,从而实现更准确的几何结构建模

传统基于透视投影的渲染方法通常依赖于特定的投影模型,为了在3DGS场景中适配任意传感器,HRMAD提出了一种新的渲染算法架构,如下图2所示。

图2

该架构基于共享代码库实现了光栅化和光线追踪渲染,用于计算高斯沿射线的贡献。这样不仅能够在三维重建场景中支持任意相机畸变模型,还能够减轻LiDAR仿真中伪影的产生。图3展示了在aiSim中采用HRMAD渲染场景并配置LiDAR后,点云的可视化效果

图3

图4表明HRMAD在极端视角下RGB、深度、法线和分割(基于Mask2Former)模态下的几何细节和表面特性,重建面积约为165000平方米(ZalaZone测试场,此重建场景将于aiSim5.7版本进行发布)。

图4

二、下游任务验证

1、重建质量验证

由于HRMAD采用的是基于双边网格的色彩校正方法,传统的PSNR指标不再适用,而SSIM和LPIPS指标对结果相似性更为敏感,但从结果上看,这两个指标仍然受到ISP解耦导致的RAW与重建图像之间色彩失配的影响。这一影响体现在了评估结果中,如表1,表中对比了原始3DGS和TCLC-GS在6个Waymo场景上的指标表现。

表1

2、语义分割验证

在语义分割上分别从三个角度评估模型性能,首先通过统计所有像素中语义分类一致的比例,反映全局重建一致性
通过Mask2Former获取真实图像上计算的分割Mask,并与HRMAD-NeRF(Teacher)和HRMAD-NeRF(Student)渲染得到的分割Mask进行比较,验证重建的准确性。同时为了降低道路、天空等易分割区域对整体结果的偏差影响,针对"Car"进行单独IoU计算

为确保验证过程的公平性,真实图像被重投影至与渲染过程一致的无畸变针孔相机参数空间,当重建结果正确标注了远距离或被遮挡物体,而Mask2Former因输入信息有限导致误判时,此类误差会被计入评估指标。同时在夜间拍摄场景和相机直对太阳的场景中(如场景11037651和14663356),掩膜一致性显著下降。结果如表2所示。

表2

其次非常规视角下进行模型渲染,并基于Mask2former生成的Mask与模型预测Mask进行比较。此渲染视角沿自车轨迹生成,并在[-1,3]米范围内平移前视相机仿真模型。表3展示了针对道路表面信息和车辆的重建性能。其中Car类型的重建性能相对较低,这是由于Mask2Frame无法检测远处或被遮挡的物体,从而扩大了差异。图5显了示相关结果,绿色为匹配区域,蓝色和橙色分别表示模型预测Mask和Mask2Former的Mask输出。

表3

图5

最后在极端渲染视角下(高5m,横向偏移2m,向下偏转25°),针对车道线和路沿语义分割结果进行了定性评估,如图6所示。

图6

3、3D目标检测验证

为了验证HRMAD在3D目标检测上的一致性,采用在Waymo Open数据集训练中公开的DEVIANT 3D目标检测模型,进行定量和定性实验。

定量实验中,在Waymo-13469905891836363794片段中从[0,3]横向偏移视角下进行验证,并通过平移变换后的3DBBox定量计算。定性实验选取三个驾驶片段进行静态环境渲染,并基于网格渲染添加动态车辆,主要用于评估仿真生成的车辆是否引入了领域差距

表4基于Waymo指标进行验证,Original为原始图像。特别在近距离下,HRMAD的表现性能要优于原始图像,这是由于原始图像中假阳FP数量更高。在非常规视角渲染下,观察到的差异主要是横向偏移视角下目标截断的数量增加,但整体检测结果在很大程度上保持一致。

表4

图7为DEVIANT模型在HRMAD渲染Waymo场景中的表现。

图7

三、结语

虽然HRMAD渲染方法旨在最大程度减少区块边界的不连续性,但仍不可避免地会产生可见的伪影,特别是在天空和远距离目标区域中。比如天空的RGB重建效果良好,但在自动驾驶仿真测试场景中,在非常规视角下仍然会导致伪影和结构痕迹

在下游任务中,HRMAD针对自动驾驶场景的评估结果已非常接近真实数据,但由于样本有限,仍需要更大规模的数据集进行进一步验证。未来的研究也会致力于进一步缩小重建场景和真实数据之间的领域差距,具体来说,可以通过探索层次化高斯泼溅来减少区块伪影,并利用生成的法线信息改进LiDAR强度模拟,来更好地反应点云数据的方向敏感强度。

目前,HRMAD生成场景已集成在aiSim中,可在不同传感器模型配置方案下,实现端到端仿真测试交互式验证和测试。


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

欢迎关注互动

期待与您的进一步交流

aiSim自动驾驶仿真平台 - 端到端智驾仿真工具 | 高保真环境模拟和场景重建 | 软件在环测试 | 康谋科技https://keymotek.com/adas-simulator-aisim/

相关文章:

多模态自动驾驶混合渲染HRMAD:将NeRF和3DGS进行感知验证和端到端AD测试

基于3DGS和NeRF的三维重建技术在过去的一年中取得了快速的进步,动态模型也变得越来越普遍,然而这些模型仅限于处理原始轨迹域内的对象。 HRMAD作为一种混合方案,将传统的基于网格的动态三维神经重建和物理渲染优势结合,支持在任意…...

mac m3 pro 部署 stable diffusion webui

什么是Stable Diffusion WebUI ? Stable Diffusion WebUI 是一个基于Stable Diffusion模型开发的图形用户界面(GUI)工具。通过这个工具,我们可以很方便的基于提示词,描述一段文本来指导模型生成相应的图像。相比较通过…...

多层感知机实现

激活函数 非线性 ReLU函数 修正线性单元 rectified linear unit relu(x)max(0,x) relu的导数: sigmoid函数 s i g m o i d ( x ) 1 1 e − x sigmoid(x)\frac{1}{1e^{-x}} sigmoid(x)1e−x1​ 是一个早期的激活函数 缺点是: 幂运算相对耗时&…...

ngx_http_index_set_index

定义在 src\http\modules\ngx_http_index_module.c static char * ngx_http_index_set_index(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {ngx_http_index_loc_conf_t *ilcf conf;ngx_str_t *value;ngx_uint_t i, n;ngx_http_inde…...

怎样实现CAN数据的接收和发送?

在裸机环境下实现CAN数据的接收和发送,需要通过 硬件寄存器操作 或 HAL库函数 结合 手动实现的队列 来完成。以下是完整的接收和发送流程实现: 1. 硬件初始化 首先初始化CAN控制器和GPIO: void CAN_Init(void) {// 1. 使能CAN时钟__HAL_RCC…...

Linux笔记---动静态库(使用篇)

目录 1. 库的概念 2. 静态库(Static Libraries) 2.1 静态库的制作 2.2 静态库的使用 2.2.1 显式指定库文件及头文件路径 2.2.2 将库文件安装到系统目录 2.2.3 将头文件安装到系统目录 3. 动态库 3.1 动态库的制作 3.2 动态库的使用 3.2.1 显式…...

关于matlab和python谁快的问题

关于matlab和python谁快的问题,python比matlab在乘法上快10倍,指数计算快4倍,加减运算持平,略慢于matlab。或许matlab只适合求解特征值。 import torch import timen 50000 # 矩阵规模 M torch.rand(n, 31)start_time time.t…...

基于 ffmpeg 实现合并视频

ffmpeg是一个强大的多媒体处理工具,支持视频文件的合并。 列出目录下所有MP4文件 import os import glob# 当前目录 directory os.getcwd() directory "/directory/to/mp4/*"# 列出目录下所有MP4文件 files glob.glob(directory)# 排序 files.sort(…...

手机销售终端MPR+LTC项目项目总体方案P183(183页PPT)(文末有下载方式)

资料解读:手机销售终端 MPRLTC 项目项目总体方案 详细资料请看本解读文章的最后内容。在当今竞争激烈的市场环境下,企业的销售模式和流程对于其发展起着至关重要的作用。华为终端正处于销售模式转型的关键时期,波士顿 - 华为销售终端 MPRLTC …...

【Python LeetCode Patterns】刷力扣,15 个学习模式总结

1. 前缀和(Prefix Sum)—— 查询子数组中元素和303. 区域和检索 - 数组不可变304. 二维区域和检索 - 矩阵不可变 2. 双指针(Two Pointers)—— 移向彼此或远离彼此3. 滑动窗口(Sliding Window)—— 找到满足…...

蓝桥杯单片机刷题——串口发送显示

设计要求 通过串口接收字符控制数码管的显示,PC端发送字符A,数码管显示A,发送其它非法字符时,数码管显示E。 数码管显示格式如下: 备注: 单片机IRC振荡器频率设置为12MHz。 串口通信波特率:…...

DeepSeek V3-0324升级:开启人机共创新纪元

一、技术平权:开源协议重构AI权力格局 DeepSeek V3选择MIT协议开源6850亿参数模型,本质上是一场针对技术垄断的“数字起义”。这一决策的深层影响在于: 商业逻辑的重构 闭源AI公司依赖API收费的商业模式面临根本性挑战。当顶级模型能力可通过…...

探索抓包利器ProxyPin,实现手机APP请求抓包,支持https请求

以下是ProxyPin的简单介绍: - ProxyPin是一个开源免费HTTP(S)流量捕获神器,支持 Windows、Mac、Android、IOS、Linux 全平台系统- 可以使用它来拦截、检查并重写HTTP(S)流量,支持捕获各种应用的网络请求。ProxyPin基于Flutter开发&#xff0…...

K8S接口请求过程

K8S接口请求过程 1. 宿主机IP (Host IP)2. Service IP3. NodePort4. Pod端口 (Pod Port)5. 容器端口 (Container Port)6. 应用端口 (Application Port)例子:外部流量如何进入应用配置流量路径表详细说明补充说明--连通性测试: 在Kubernetes(k…...

文献学习:单细胞+临床+模型构建 | 一篇Molecular Cancer文献如何完整解读CDK4/6i耐药机制

👋 欢迎关注我的生信学习专栏~ 如果觉得文章有帮助,别忘了点赞、关注、评论! 📌一、研究背景:CDK4/6i 是不是“万无一失”? HR/HER2- 是最常见的乳腺癌亚型,占比超过70%。近年来,随…...

3.26前端模拟面试

包含 Vue 3、TypeScript、性能优化、工程化等方面,偏八股文。 基础知识 Vue 3 响应式原理:Vue 3 如何实现响应式系统?Proxy 和 Reflect 的作用是什么? TypeScript 类型体操:实现一个 TypeScript 类型 DeepPartial&am…...

Python SciPy面试题及参考答案

目录 什么是 SciPy?它与 NumPy 有什么区别? 如何在 Python 中安装 SciPy? 如何导入 SciPy 库? SciPy 中有哪些子模块?简要介绍它们的功能。 如何使用 SciPy 进行数值积分?请举例说明。 SciPy 中提供了哪些求解微分方程的函数? 什么是插值?SciPy 中如何进行插值?…...

数据库——MySQL基础

一、建立数据库 新建 create 删除 drop 修改 alter 数据库 database 数据表 table 建数据表 create table stu( 字段名 类型 [ 约束 ] [ 主键 ] [注释] ); 二、数据类型 数字 整数 tinyint (小型数据)一般用来做状态…...

Jetpack LiveData 使用与原理解析

一、引言 在 Android 开发中,数据的变化需要及时反映到界面上是一个常见的需求。然而,传统的方式可能会导致代码复杂、难以维护,并且容易出现内存泄漏等问题。Jetpack 组件中的 LiveData 为我们提供了一种优雅的解决方案,它是一种…...

HarmonyOS Next~鸿蒙系统开发类Kit深度解析与应用实践

HarmonyOS Next~鸿蒙系统开发类Kit深度解析与应用实践 鸿蒙系统(HarmonyOS)凭借其分布式架构和全场景能力,为开发者提供了丰富的开发类Kit。本文将从安全、网络、基础功能、硬件及调测五大类Kit展开,深入探讨其核心技…...

网盘解析工具更新,解决了一些bug

解析工具v1.2.1版本更新,本次是小版本更新,修复了一些bug。 之前小伙伴反应的网盘进入文件后不能返回上一级,现在这个bug修复了,已经可以点击了。 点击资源后会回到资源那一级目录,操作上是方便了不少。 增加了检查自…...

SQL语句及其应用(上) (DDL语句以及DML语句)

SQL语句的定义: 概述: 全称叫 Structured Query Language, 结构化查询语言, 主要是实现 用户(程序员) 和 数据库软件(例如: MySQL, Oracle)之间交互用的. 分类: DDL: 数据定义语言, 主要是操作 数据库, 数据表, 字段, 进行: 增删改查(CURD) 涉及到的关键字: create, drop, …...

混境之地1

问题描述 小蓝有一天误入了一个混境之地。 好消息是:他误打误撞拿到了一张地图,并从中获取到以下信息: 混境之地的大小为 n⋅mn⋅m,其中 # 表示这个位置很危险,无法通行,. 表示道路,可以通行。他…...

5种生成模型(VAE、GAN、AR、Flow 和 Diffusion)的对比梳理 + 易懂讲解 + 代码实现

目录 1 变分自编码器(VAE)​ 1.1 概念 1.2 训练损失 1.3 VAE 的实现 2 生成对抗网络(GAN)​ 2.1 概念 2.2 训练损失 a. 判别器的损失函数 b. 生成器的损失函数 c. 对抗训练的动态过程 2.3 GAN 的实现 3 自回归模型&am…...

doris:查询熔断

查询熔断是一种保护机制,用于防止长时间运行或消耗过多资源的查询对系统产生负面影响。当查询超过预设的资源或时间限制时,熔断机制会自动终止该查询,以避免对系统性能、资源使用以及其他查询造成不利影响。这种机制确保了集群在多用户环境下…...

多级缓存和数据一致性问题

一、什么是多级缓存? 多级缓存是一种分层的数据缓存策略,通过在不同层级(如本地、分布式、数据库)存储数据副本,结合各层缓存的访问速度和容量特性,优化系统的性能和资源利用率。其核心思想是让数据尽可能…...

计算机期刊推荐 | 计算机-人工智能、信息系统、理论和算法、软件工程、网络系统、图形学和多媒体, 工程技术-制造, 数学-数学跨学科应用

Computers, Materials & Continua 学科领域: 计算机-人工智能、信息系统、理论和算法、软件工程、网络系统、图形学和多媒体, 工程技术-制造, 数学-数学跨学科应用 期刊类型: SCI/SSCI/AHCI 收录数据库: SCI(SCIE),EI,Scopus,知网(CNK…...

全书测试:《C++性能优化指南》

以下20道多选题和10道设计题, 用于本书的测试。 以下哪些是C性能优化的核心策略?(多选) A) 优先优化所有代码段 B) 使用更高效的算法 C) 减少内存分配次数 D) 将所有循环展开 关于字符串优化,正确的措施包括&#xff…...

【教学类-58-14】黑白三角拼图12——单页1页图。参考图1页6张(黑白、彩色)、板式(无圆点、黑圆点、白圆点)、宫格2-10、张数6张,适合集体操作)

背景需求: 基于以下两个代码,设计一个单页1页黑白三角、彩色三角(包含黑点、白点、无点)的代码。 【教学类-58-12】黑白三角拼图10(N张参考图1张操作卡多张彩色白块,适合个别化)-CSDN博客文章…...

C++项目:高并发内存池_下

目录 8. thread cache回收内存 9. central cache回收内存 10. page cache回收内存 11. 大于256KB的内存申请和释放 11.1 申请 11.2 释放 12. 使用定长内存池脱离使用new 13. 释放对象时优化成不传对象大小 14. 多线程环境下对比malloc测试 15. 调试和复杂问题的调试技…...