摘要:

aiSim5可以实时模拟复杂的传感器配置,在多GPU分布式渲支持的支持下,aiSim可以渲染20多个摄像头、10多个雷达和10多个激光雷达在同一环境下运行。aiSim5独有的实时渲染引擎能够满足对物理精确环境和天气模拟的所有要求,具有完全的决定性和可重复性。

图1:aiSim 重建场景

图2:真实场景

aiSim5基于物理的相机模型将会通过以下方法验证其与真实世界的相关性:

一、光照度测试

aiSim 拥有内置的光照度传感器,因此可以使用光照度传感器对aiSim的照明模型和材质进行端到端的验证。

1、案例1

在 aiSim 中重新模拟一个高速公路场景,并匹配相应的天气效果。

图3

目前正在 aiSim 中重建这一场景并测试这一光照度测量结果。

2、案例2

验证人工照明模型以及aiSim车库地图的相关性时,可以在车库使用匹配的光照属性进行重新模拟,aiSim 中会产生相似的结果。

图4:真实世界中进行传感器标定的场景

图5:aiSim中搭建的用于相机标定车库场景

二、色彩校准测试

1、简介

在进行相机图像匹配时,使用Color Correction Matrix (CCM) 是一种有效的方法,可以通过对已知相机拍摄的参考照片和aiSim渲染的Macbeth色板图表进行比较来计算CCM。

图6

图7

2、具体步骤

  • 准备参考照片:首先,需要一张使用已知相机拍摄的Macbeth色板的照片。Macbeth色板是一个标准化的颜色样本集,通常用于色彩管理和校准。
  • 获取aiSim渲染的Macbeth色板:接着,你需要在aiSim中创建一个Macbeth色板的渲染图。确保渲染环境的光照条件与参考照片尽可能一致,以便更准确地匹配颜色。
  • 应用CCM:计算出CCM后,aiSim可以将其应用于aiSim的图像输出,进行颜色校正。
  • 验证和调整:应用CCM后,比较aiSim输出的颜色与参考照片的颜色。如果存在差异,可能需要进一步调整CCM的参数或重新计算,直到达到满意的匹配效果。

通过这种方法,可以确保aiSim的输出颜色与实际拍摄的照片颜色尽可能一致,从而提高图像的真实性和准确性。

三、离线仿真器验证

1、简介

也可以采用基于物理的渲染(PBR)离线渲染器进行比较。

2、具体步骤

  • 构建相同样本场景:在aiSim和参考渲染器中构建相同的样本场景。这包括场景中的所有物体、材质、光照条件等,以确保两个环境中的变量尽可能一致。
  • 使用相同的相机参数:使用相同的相机外部参数(extrinsic)和内部参数(intrinsic)来拍摄场景。外部参数涉及相机在世界空间中的位置和方向,而内部参数则包括焦距、畸变等相机特有的属性。
  • 进行HDR或LDR验证:无论是高动态范围(HDR)还是低动态范围(LDR)验证,都可以用于比较两个渲染器生成的图像。选择哪种验证方式取决于场景的光照条件和所需的验证精度。
  • 比较生成图像的差异:对aiSim生成的图像和参考渲染器生成的图像进行比较。可以通过视觉检查或使用图像分析工具来量化差异,如计算颜色偏差、亮度对比度等。
  • 多场景验证:通过多个不同的场景来验证系统的不同部分,例如只验证人工光源,或者只验证天空和太阳的效果等。可以帮助识别和隔离特定问题,提高验证的针对性和效率。

以上方法均适用于验证aiSim相机传感器模型与现实世界或高精度的离线渲染器的相关性。

康谋分享 | aiSim5 物理相机传感器模型验证方法(一)的更多相关文章

  1. 模型验证方法——R语言

    在数据分析中经常会对不同的模型做判断 一.混淆矩阵法 作用:一种比较简单的模型验证方法,可算出不同模型的预测精度 将模型的预测值与实际值组合成一个矩阵,正例一般是我们要预测的目标.真正例就是预测为正例 ...

  2. webapi - 模型验证

    本次要和大家分享的是webapi的模型验证,讲解的内容可能不单单是做验证,但都是围绕模型来说明的:首先来吐槽下,今天下午老板为自己买了套新办公家具,看起来挺好说明老板有钱,不好的是我们干技术的又成了搬 ...

  3. asp.net mvc 模型验证-最舒服的验证方式

    在院子里发现 http://www.cnblogs.com/yangecnu/p/3759784.html 模型验证方法 1. 一般方法 繁琐, 无数的if else, 在炎炎夏天,我见过一个验证方法 ...

  4. 基于gin的golang web开发:模型验证

    Gin除了模型绑定还提供了模型验证功能.你可以给字段指定特定的规则标签,如果一个字段用binding:"required"标签修饰,在绑定时该字段的值为空,那么将返回一个错误.开发 ...

  5. Python数据科学手册-机器学习之模型验证

    模型验证 model validation 就是在选择 模型 和 超参数 之后.通过对训练数据进行学习.对比模型对 已知 数据的预测值和实际值 的差异. 错误的模型验证方法. 用同一套数据训练 和 评 ...

  6. 老李分享: 并行计算基础&编程模型与工具 1

    老李分享: 并行计算基础&编程模型与工具   在当前计算机应用中,对高速并行计算的需求是广泛的,归纳起来,主要有三种类型的应用需求: 计算密集(Computer-Intensive)型应用,如 ...

  7. 【腾讯优测干货分享】Android 相机预览方向及其适配探索

    本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/583ba1df25d735cd2797004d 由于Android系统的开放策略 ...

  8. 从零开始一起学习SLAM | 相机成像模型

    上一篇文章<从零开始一起学习SLAM | 为啥需要李群与李代数?>以小白和师兄的对话展开,受到了很多读者的好评.本文继续采用对话的方式来学习一下相机成像模型,这个是SLAM中极其重要的内容 ...

  9. 物理机内存模型与java内存模型

    多线程缓存一致性问题 程序在运行过程中,会将运算需要的数据从主存复制一份到CPU的高速缓存当中,那么CPU进行计算时就可以直接从它的高速缓存读取数据和向其中写入数据,当运算结束之后,再将高速缓存中的数 ...

  10. three设置相机面向模型

    模型自身position属性 为(0,0,0),但并不在场景中心, 可能建模的原因,位置放到中心但设置了偏移(不一定). 解决方法: 主要代码 let box = new THREE.Box3(); ...

随机推荐

  1. 完整的 c 语言用到的基础知识总结

    作者: baron 博客: baron-z.cn 用于记录 c 语言基础知识,如果没有特别说明本文的所有代码编译环境为 gcc 编译器编译,学习资料来自狄泰软件学院可在淘宝购买学习 一.基本数据类型 ...

  2. 基于Linux系统的PXE搭建方法

    本文分享自天翼云开发者社区<基于Linux系统的PXE搭建方法>,作者:t***n 一.底层环境准备 1.安装RedHat7.6系统 2.关闭防火墙和Selinux systemctl s ...

  3. Q:linux(群晖)修改网卡速率

    问题:群晖速度莫名其妙变成了1MB/s左右,查看网络状态 网卡配置变成 全双工10Mb/s 解决方法 首先开启ssh登录权限 1.控制面板 – 终端机和SNMP里,开启SSH功能. 2.通过ssh连接 ...

  4. 当ABB机器人外部轴驱动器过流维修

    一.过流故障原因分析 电机负载异常 当ABB机器人外部轴驱动器所承受的负载超过其额定值时,电机需要产生更大的转矩以维持运行,从而导致电流增大.例如,在一些自动化生产线上,如果外部轴需要搬运的物品重量突 ...

  5. Javascript 方法有多个参数有默认值,但是只想为其中某个参数赋值

    例子: function log(a, b = 2, c = 3, d = 4) { console.log(a, b, c, d) } log(1); // output: 1 2 3 4 log( ...

  6. QT5笔记: 35. QGraphicsView 视图

    ![image-20220505144510057](QT5 使用.assets/image-20220505144510057.png) 三者关系:View中可以有多个Scene,Scene放在Vi ...

  7. 4个Sprint目标的挑战以及解决的技巧

    1. Sprint 目标太大 有时,您的团队可能会尝试将过多的任务塞进冲刺中.抵制在冲刺中承担太多的诱惑,因为这会损害你的速度和持续交付的能力. 2. Sprint目标是模糊的 冲刺目标通常是不确定的 ...

  8. vue - [01] 概述

    题记部分 001 || 什么是Vue   Vue(发音为 /vju:/,类似view)是一款用于构建用户界面的渐进式框架(JavaScript).它基于标准HTML.CSS和JavaScript构建, ...

  9. Maven - 项目的JDK编译level是1.5,修改不掉??

    背景   idea中的maven项目,父项目和子项目的Project Structure的language level都是1.5,怎么修改为8?尝试修改并应用后会失效,还是会自动恢复为1.5. 1.S ...

  10. Flink学习(十九) 容错机制

    主要内容: 一致性检查点(checkpoint) 从检查点恢复到状态 Flink检查点算法 保存点(savepoint) 一致性检查点(checkpoint) Flink故障恢复机制的核心,就是应用状 ...