康谋分享 | aiSim5 物理相机传感器模型验证方法(一)
摘要:
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 物理相机传感器模型验证方法(一)的更多相关文章
- 模型验证方法——R语言
在数据分析中经常会对不同的模型做判断 一.混淆矩阵法 作用:一种比较简单的模型验证方法,可算出不同模型的预测精度 将模型的预测值与实际值组合成一个矩阵,正例一般是我们要预测的目标.真正例就是预测为正例 ...
- webapi - 模型验证
本次要和大家分享的是webapi的模型验证,讲解的内容可能不单单是做验证,但都是围绕模型来说明的:首先来吐槽下,今天下午老板为自己买了套新办公家具,看起来挺好说明老板有钱,不好的是我们干技术的又成了搬 ...
- asp.net mvc 模型验证-最舒服的验证方式
在院子里发现 http://www.cnblogs.com/yangecnu/p/3759784.html 模型验证方法 1. 一般方法 繁琐, 无数的if else, 在炎炎夏天,我见过一个验证方法 ...
- 基于gin的golang web开发:模型验证
Gin除了模型绑定还提供了模型验证功能.你可以给字段指定特定的规则标签,如果一个字段用binding:"required"标签修饰,在绑定时该字段的值为空,那么将返回一个错误.开发 ...
- Python数据科学手册-机器学习之模型验证
模型验证 model validation 就是在选择 模型 和 超参数 之后.通过对训练数据进行学习.对比模型对 已知 数据的预测值和实际值 的差异. 错误的模型验证方法. 用同一套数据训练 和 评 ...
- 老李分享: 并行计算基础&编程模型与工具 1
老李分享: 并行计算基础&编程模型与工具 在当前计算机应用中,对高速并行计算的需求是广泛的,归纳起来,主要有三种类型的应用需求: 计算密集(Computer-Intensive)型应用,如 ...
- 【腾讯优测干货分享】Android 相机预览方向及其适配探索
本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/583ba1df25d735cd2797004d 由于Android系统的开放策略 ...
- 从零开始一起学习SLAM | 相机成像模型
上一篇文章<从零开始一起学习SLAM | 为啥需要李群与李代数?>以小白和师兄的对话展开,受到了很多读者的好评.本文继续采用对话的方式来学习一下相机成像模型,这个是SLAM中极其重要的内容 ...
- 物理机内存模型与java内存模型
多线程缓存一致性问题 程序在运行过程中,会将运算需要的数据从主存复制一份到CPU的高速缓存当中,那么CPU进行计算时就可以直接从它的高速缓存读取数据和向其中写入数据,当运算结束之后,再将高速缓存中的数 ...
- three设置相机面向模型
模型自身position属性 为(0,0,0),但并不在场景中心, 可能建模的原因,位置放到中心但设置了偏移(不一定). 解决方法: 主要代码 let box = new THREE.Box3(); ...
随机推荐
- TCP的“三次握手”和“四次挥手”
转载:链接1 链接2 TCP connection 客户端与服务器之间数据的发送和返回的过程当中需要创建一个叫TCP connection的东西:由于TCP不存在连接的概念,只存在请求和响应,请求和响 ...
- Linux软连接与硬链接的概念
- react时时获取表单数据
import React, { Component } from "react"; export class TestHanderClick extends Component { ...
- 将个人PC转变为高效的云电脑:理论、实践与优化
本文分享自天翼云开发者社区<将个人PC转变为高效的云电脑:理论.实践与优化>,作者:不知不觉 在数字化时代的今天,我们越来越依赖互联网和计算机技术进行工作和生活.然而,传统的个人电脑(PC ...
- 你知道PCB走线可以过多大的瞬态电流吗?
相信很多同学在PCB Layout设计过程中,都有过这样的疑问:网口要做8KV浪涌防护,PCB走线应该走多宽呢? 有经验的硬件工程师可能此时就会说了,那还不简单,表层走线按照1mm/A,内层走线按照2 ...
- Q: 如何实现右键选择打开文件的应用程序
1.win+R打开cmd窗口,输入regedit,打开注册表 2.依次找到HKEY_CLASSESS_ROOT->*->Shell,下面新建项 "用notepad打开" ...
- linux安装flink
参考链接https://blog.csdn.net/boling_cavalry/article/details/85038527 1.下载flink 在Flink官网下载,地址是:https:/ ...
- presto解析jsonArr转多行
一.假数据解析 SELECT r1.col.dataSourceId, r1.col.database, r1.col.dataTable FROM (SELECT explode(r.json) A ...
- mac环境下配置jdk
1.如果你是第一次配置环境变量,可以使用"touch .bash_profile" 创建一个.bash_profile的隐藏配置文件(如果你是为编辑已存在的配置文件,则使用&quo ...
- 若依单体Vue版本新增多环境配置
若依框架是一个简单的web后台管理脚手架,基于SpringBoot+Vue开发的.本次更改版本为3.8.7截止2023年8月14日,最新版本! 若依自带只有 application.yml 与 app ...