在前面的几章节中探讨了aiSim仿真合成数据的置信度,此外在场景重建和测试流程闭环的过程中,难免会面临3D场景制作重建耗时长、成本高、扩展性低以及交通状况复杂程度难以满意等问题,当前的主要挑战在于如何自动化生成3D静态场景并添加动态实例编辑,从而有效缩短测试流程,扩大仿真测试范围。

图1:实际图像

图2:NeRF重建场景

对于3D重建,目前主要的两种解决方案为NeRF和3DGS。

一、NeRF

1、神经辐射场(Neural Radiance Fields)

NeRF是将三维空间中的每个点的颜色和密度信息编码为一个连续的函数并由MLP参数化。给定一个视角和三维空间中的点,NeRF可以预测该点的颜色和沿视线方向的密度分布。通过对这些信息进行体积渲染,NeRF能够合成出新视角下的图像。

2、优势

  • 高保真输出。
  • 基于NerFStudio提供了较为友好地代码库。
  • 相对较快的训练时间。
  • 对于待重建区域具有可扩展性。

3、不足及主要挑战

  • 渲染速度缓慢。NeRF需要沿着从相机到场景的每条光线进行大量的采样和计算,以准确估计场景的体积密度和颜色。这个过程计算密集,在NVIDIA A100上进行了测试,全HD分辨率下,渲染一张图像大约需要10s。
  • 场景深度估计效果不理想。NeRF通过体积渲染隐式地学习了场景的深度信息,但这种深度信息通常是与场景的颜色和密度信息耦合在一起的。这意味着,如果场景中存在遮挡或非朗伯(non-Lambertian)反射等复杂情况,NeRF可能难以准确估计每个像素的深度。

  • 近距离物体重建质量可能较低。这可能是由视角和分辨率不足、深度估计不够准确以及运动模糊遮挡等问题造成的。

  • 高FOV相机校准不完善导致的重影伪影。

当然为了解决这些问题研究人员通过引入深度正则化来提升NeRF深度估计的准确性和稳定性,通过优化NeRF的结构和算法提升渲染速度。

二、3DGS

1、3D高斯泼溅(3D Gaussian Splatting)

3DGS采用三维高斯分布来表示场景中的点云数据,每个点用一个具有均值和协方差的高斯函数来描述。通过光栅化渲染高斯函数,从而生成逼真的3D场景图像。

2、优势

  • 训练时间短。
  • 近似于实时的渲染。
  • 提供高保真的输出。

3、不足及主要挑战

  • 代码库友好度较低。相比于NeRFStudio,文档的完善程度和易用性较低。
  • 初始点云获取需求高,需要精确的传感器和复杂的数据处理流程,否则将会对3DGS的性能产生明显的影响。

  • 深度估计同样不足,主要可能有几个原因:在优化过程中倾向于独立优化每个高斯点,导致在少量图像下出现过拟合;由于缺乏全局的几何信息,导致在大型场景下或复杂几何结构重建时深度估计不准确;初始点云的深度信息不够准确等。

  • 相机模型支持受限。目前3DGS主要支持针孔相机模型,虽然理论上可以推导出其他相机模型的3DGS版本,但还需要后续的实验验证其有效性和准确性。
  • 重建区域可扩展受限,主要是缺乏LiDAR覆盖区域之外的几何信息导致的不完整重建以及大型城市场景重建的大量计算。

  • 集成和资源密集的挑战,目前3DGS集成通常依赖Python接口;3DGS在运行时可能会占用大量的VRAM。

通过优化超参数和采用新方法,如Scaffold-GS,可能有助于减少内存需求,提高在大型场景下的处理能力。

三、操作方法

1、训练流程

第一步:输入——相机视频数据;自车运动数据;校准数据;用于深度正则化的LiDAR点云数据;

第二步:移除动态对象:创建分割图来识别和遮罩图像中的不同对象和区域;对动态对象进行自动注释*(康谋aiData工具链);

第三步:进行NeRF或Gaussian splatting。

NeRF:

  • 可以使用任何摄像头模型,示例中使用的是MEI相机模型;
  • 采用Block-NeRF进行大规模重建;
  • 嵌入不同的气候条件。

Gaussian splatting:

  • 将输入的相机转化为针孔相机模型;
  • 可以从COLMAP或LiDAR中获得初始点云;
  • 采用Block-Splatting进行大规模重建。

2、添加动态对象

  • 在NeRF和3DGS生成静态场景后,aiSim5将基于外部渲染API进一步增加动态元素,不仅可以重建原始场景,也可以根据测试需求构建不同的交通状态。

  • aiSim5中基于NeRF/3DGS场景细节。

图13:网格投射阴影

图14:车下环境遮蔽

3、效果演示

在aiSim5中完成动态对象的添加后,可以自由的在地图场景中更改交通状态,用于感知/规控等系统的SiL/HiL测试。

图15:aiSim5运行NeRF城市场景1

图16:aiSim5运行NeRF城市场景2

康谋分享 | aiSim5基于生成式AI扩大仿真测试范围(终)的更多相关文章

  1. 生成式AI对业务流程有哪些影响?企业如何应用生成式AI?一文看懂

    集成与融合类ChatGPT工具与技术,以生成式AI变革业务流程 ChatGPT背后的生成式AI,聊聊生成式AI如何改变业务流程 ChatGPT月活用户过亿,生成式AI对组织的业务流程有哪些影响? 生成 ...

  2. 生成式AI会成为是人工智能的未来吗

    生成式 AI 是一项创新技术,可帮助算法人员生成以前依赖于业务员的模型,提供创造性的结果,而不会因业务员思想和经验而产生任何差错. 人工智能中的这项新技术确定了输入的原始模型,以生成演示训练数据特征. ...

  3. 百度生成式AI产品文心一言邀你体验AI创作新奇迹:百度CEO李彦宏详细透露三大产业将会带来机遇(文末附文心一言个人用户体验测试邀请码获取方法,亲测有效)

    目录 中国版ChatGPT上线发布 强大中文理解能力 智能文学创作.商业文案创作 图片.视频智能生成 中国生成式AI三大产业机会 新型云计算公司 行业模型精调公司 应用服务提供商 总结 获取文心一言邀 ...

  4. 【腾讯Bugly干货分享】基于RxJava的一种MVP实现

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57bfef673c1174283d60bac0 Dev Club 是一个交流移动 ...

  5. 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续3篇-导出时动态生成多Sheet EXCEL)

    ExcelUtility 类库经过我(梦在旅途)近期不断的优化与新增功能,现已基本趋向稳定,功能上也基本可以满足绝大部份的EXCEL导出需求,该类库已在我们公司大型ERP系统全面使用,效果不错,今天应 ...

  6. 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续2篇-模板导出综合示例)

    自ExcelUtility类推出以来,经过项目中的实际使用与不断完善,现在又做了许多的优化并增加了许多的功能,本篇不再讲述原理,直接贴出示例代码以及相关的模板.结果图,以便大家快速掌握,另外这些示例说 ...

  7. 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续篇)

    上周六我发表的文章<分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility>受到了大家的热烈支持与推荐,再此表示感谢,该ExcelUtility ...

  8. [UWP]分享一个基于HSV色轮的调色板应用

    1. 前言 上一篇文章介绍了HSV色轮,这次分享一个基于HSV色轮的调色板应用,应用地址:ColorfulBox - Microsoft Store 2. 功能 ColorfulBox是Adobe 色 ...

  9. 基于百度AI开放平台的人脸识别及语音合成

    基于百度AI的人脸识别及语音合成课题 课题需求 (1)人脸识别 在Web界面上传人的照片,后台使用Java技术接收图片,然后对图片进行解码,调用云平台接口识别人脸特征,接收平台返回的人员年龄.性别.颜 ...

  10. 【EXCEL终极总结分享】基于NPOI扩展封装的简易操作工具类库(简单灵活易用,支持导出、导入、上传等常见操作)

    对于EXCEL的导入.导出,我之前已分享过多次,比如: 第一种方案:<我写的一个ExcelHelper通用类,可用于读取或生成数据>这个主要是利用把EXCEL当成一个DB来进行获取数据,导 ...

随机推荐

  1. Linux基础:更改shell环境

  2. hackmyvm靶机拯救者模式解决分配不到ip的问题 转载

    https://www.cnblogs.com/jason-huawen/p/16851113.html https://www.cnblogs.com/asstart/p/12626494.html ...

  3. centos系统chrony时间同步

    centos系统chrony时间同步 概要 chrony 是网络时间协议(Network Time Protocol )的通用实现.它不但可以提供保持系统时间与 NTP 时钟服务器同步的服务,还能作为 ...

  4. Docker容器访问挂载文件权限问题

    问题描述 在使用docker-compose部署项目时,yaml文件如下: version: '3' services: purchasing-contract-consumer: image: my ...

  5. 百万架构师第四十二课:Nginx:Nginx 的初步认识|JavaGuide

    百万架构师系列文章阅读体验感更佳 原文链接:https://javaguide.net 公众号:不止极客 Nginx 的初步认识及配置 课程目标 Nginx 在分布式架构中的应用分析 常用的 Web ...

  6. Arduino函数库和程序架构

    Arduino程序的架构大体可分为3个部分. (1)声明变量及接口的名称. (2)setup().在Arduino程序运行时首先要调用setup()函数,用于初始化变量.设置针脚的输出/输入类型.配置 ...

  7. Nginx 拒绝错误SNI请求以防止源站被扫描

    Nginx 1.19.4 版本更新了一个新的配置,允许使用 ssl_reject_handshake 这个参数来拒绝错误 SNI 请求的握手,可以防止被类似Censys互联网扫码工具扫描出源站ip 在 ...

  8. Java - 高射炮打蚊子(第二弹)

    题记部分 01 || 面试题 001 || 什么是JVM JVM(Java虚拟机)是Java程序运行的环境,它是一个抽象的计算机,包括指令集.寄存器集.堆栈.垃圾回收等.JVM屏蔽了与具体操作系统平台 ...

  9. AI 核心能力与开发框架工程能力的共生关系解析

    一.本质定位:能力层与载体层的互补 1. AI 能力:突破性认知的"大脑" - 定义:AI 的核心能力(如大语言模型的泛化推理.多模态感知)源于算法创新.海量数据与算力突破,其本质 ...

  10. 【ABAQUS 二次开发笔记】读入TXT分析结果&输出csv文件

    abaqus分析之后,很多结果可以输出dat,msg,sta等文件中.可以用记事本.notpad++.editplus等软件打开编辑. 但是往往无法直接用excel.origin等软件打开,比如对结构 ...