aiSim中的LiDAR是一种基于光线追踪的传感器,能够模拟真实LiDAR发射的激光束,将会生成LAS v1.4标准格式的3D点云,包含了方位角、俯仰角和距离等。

aiSim能够模拟LiDAR单态(Monostatic)和同轴(Coaxial)配置。在aiSim中,LiDAR仿真是将模型建为在某个方向上发射单束光线的点光源,因此,单束光线承载了激光的全部功率。

一、与不同形式降水的相互作用

LiDAR传感器与不同形式的降水有相互作用:

1、雨天

aiSim的LiDAR模型不会将雨滴视为影响激光反射的几何形状,而是基于强度和3D坐标,添加噪声,从而模拟降雨对于ADAS中LiDAR性能的衰减。

图1:雨天aiSim5激光雷达点云(2L)

图2:晴天aiSim5激光雷达点云(2L)

对于雨天的衰减,主要使用公式:

e^(-2·R·γ)

其中R是接收器到物体的距离;γ为大气消光系数,晴天则为0。

2、雾天

aiSim在仿真中设定“浓雾”中水滴半径为5μm,可调整空气中水滴的数量来控制雾气的大小,同样采用了与雨天相同的衰减公式。

3、雪天

aiSim仿真的激光光束一旦击中雪花时,aiSim AIR引擎就会计算返回光束的强度。考虑雪花表面的不规则性,其将会被视为白色漫反射模型,将会导致光束在多个方向上散射,从而影响返回信号的强度和质量。

图3:雪天aiSim5激光雷达点云(2L)

图2:晴天aiSim5激光雷达点云(2L)

二、与不同材料的相互作用

aiSim的基于物理的LiDAR模型还会和不同的材料具有相互作用,与Filament相似,能够提供高度真实和准确的光线与材质交互模拟结果。

考虑到不同材料的反射率(反照率)不同,许多材料的反照率数据并不都是在905nm波长下测量的,因此aiSim将反照率值基于pbrt-v3模型转换成720nm的波长,接近于905nm。

对于安全交通标识和和车道线等具有回归反射(Retro-Reflective)特性的材料来说,能够将辐射能量绝大部分直接反射回接收器。当LiDAR的光束击中这类表面时,信号损失非常小。

因此,在aiSim的LiDAR传感器输出的点云强度中,强度值[0-100]之间为Lambertian(朗伯)值,而[101-255]则代表回归反射的目标。如图:当值大于100时,车道显示为红色。

图4:点云强度值

同时,aiSim也提供了丰富的材料库,对于大多数3D数字资源来说,可以通过aiSim提供的回归反射材料,将其附着在3D模型上来实现逆反射的效果。除逆反射外,aiSim也提供BRDF材料蒙版,即基于双向反射分布函数的反射材料,让不同的3D模型就有不同程度的回归反射特性,在不同区域上实现实现不同的光学行为。

由于在大多数图像处理系统中,红色通道是最容易区分和处理的通道,因此aiSim在红色通道表示回归反射的特性,将[0-255]划分成不同的部分来表示:

  • [0-15]:基础反射,表示材料的基础反射性,即漫反射特性,遵循朗伯特定律,适用于大多数普通表面,如墙壁等。
  • [16-32]:回归反射,表示材料具有逆反射特性,允许光线沿着接近入射角度相反方向反射回去,适用于交通标志,施工标志,车道线等。
  • [32-64]:清漆(透明)层,表示材料物体的材质将会模拟出光滑有光泽的表面,通常应用于在汽车表面,塑料制品等具有透明保护层的3D模型。

三、实际应用

在实际应用中,通过场景重建可以比对验证aiSim中LiDAR模型的置信度:

1、高速公路场景点云

红色点云为aiSim仿真场景中LiDAR输出结果,绿色点云为真实世界中LiDAR点云数据,仿真点云的总体形状与真实数据非常接近。

图5:高速场景对比1

图6:高速场景对比2

2、点云细节对比

在同一车道中,远距离外部车辆的点云数据与实际情况非常接近。

图7:同车道远端车辆点云对比

当然,在一些场景下,真实的激光雷达(绿色)激光束穿透玻璃表面的比例高于仿真(红色)的结果。

图8:玻璃材质穿透对比

以上就是验证aiSim激光雷达LiDAR模型的验证方法。

作者介绍

崔工

康谋科技仿真测试业务技术主管,拥有超过5年的汽车仿真测试及自动驾驶技术研发经验,熟练掌握仿真测试工具和平台,如aiSim、HEEX等,能有效评估和优化自动驾驶系统的性能和安全性。拥有出色的跨文化沟通能力,成功带领团队完成多项海外技术合作项目,加速了公司在自动驾驶技术上的国际化进程。作为技术团队的核心,领导并实施过大规模的自动驾驶仿真测试项目,对于车辆行为建模、环境模拟以及故障诊断具有独到见解。擅长运用大数据分析和人工智能技术,优化仿真测试流程,提高测试效率和结果的准确性。

康谋分享 | aiSim5激光雷达LiDAR模型验证方法(二)的更多相关文章

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

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

  2. js 表单验证方法二

    function ckReight () { var pass = true; var new = $("#new"); if( new.find('input[name=name ...

  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. webapi - 模型验证

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

  7. .Net高级进阶,WebApi和MVC进行模型验证的时候,教你如何自由控制需要进行验证的字段?

    现在,你有一个MVC架构的web项目,你要完成一个注册功能. 前台传了3个值到你的控制器,分别是账号.密码.邮箱. 如图:现在你要在控制器里面判断,账号名称.密码.邮箱不能为空,并且名称和密码不超过1 ...

  8. 激光雷达lidar与点云数据

    激光雷达lidar与点云数据 DEM是分布和显示数字地形的首个广泛使用的机制. 点云是在空间中随机放置的3D点的集合.传感器发出能量脉冲并乘以其返回行程(TWTT,双向行程时间).知道了传感器的位置以 ...

  9. ThinkPhp5.0模型验证规则

    Tp5提供了模型数据规则的验证功能,用于在数据save或者update前验证数据的有效性.Tp5提供校验规则的类为\Think\Validate,默认提供的校验规则可以查看该文件. 在Model文件中 ...

  10. ASP.NET Core 中文文档 第四章 MVC(2.2)模型验证

    原文:Model Validation 作者:Rachel Appel 翻译:娄宇(Lyrics) 校对:孟帅洋(书缘) 在这篇文章中: 章节: 介绍模型验证 验证 Attribute 模型状态 处理 ...

随机推荐

  1. Java类加载机制与JVM运行时数据区各逻辑内存区域与JDK的版本相关差异浅谈

    Java类加载机制与JVM运行时数据区各逻辑内存区域与JDK的版本相关差异浅谈 [摘要] JVM(Java Virtual Machine)作为Java研发人员工作的每天都会接触到的虚拟机,其运行机制 ...

  2. 搭建个人AI知识库:RAG与本地模型实践指南

    引言 你是否想过拥有一个私人订制的AI助手,能够随时为你提供最个性化的信息?本文将带你一步步搭建一个基于本地模型和RAG技术的个人知识库. 搭建本地模型 环境 os: archlinux 内存: 32 ...

  3. 牛客 acm输入输出模式练习

    https://www.nowcoder.com/exam/test/67432019/detail?pid=27976983#question 注意:只有部分个人觉得有意义的题目 A+B(4) 计算 ...

  4. Ubuntu开启root账户步骤

    在VMware中新建一个Ubuntu,经常使用sudo 太麻烦,还是开启root账户吧. 1.打开 终端: 输入下列命令sudo gedit /usr/share/lightdm/lightdm.co ...

  5. Luogu P4933 大师 题解 [ 绿 ] [ 线性 dp ] [ dp 细节处理 ] [ 限制转移条件优化 ]

    依据值域的 \(O(n^2)\) 做法 这种做法只适用于这种值域小的题,下一种做法才是求等差数列的通解. 我们定义 \(f[i][j]\) 表示以 \(h_i\) 为最后一个数,公差为 \(j\) 的 ...

  6. windows jdk环境变量配置

    新建环境变量[classpath]变量值为[.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar] 新建环境变量[JAVA_HOME]变量值为jdk的安装目录 如:[ ...

  7. 深度学习中CUDA环境安装教程

    首先说明,本人是小白,一次安装,可能有不对的地方,望包含. 安装CUDA 因为我们是深度学习,很多时候要用到gpu进行训练,所以我们需要一种方式加快训练速度. 通俗地说,CUDA是一种协助" ...

  8. 本地部署DeepSeek后,没有好看的交互界面怎么行!

    大家好,我是晓凡. 写在前面 在前面的文章中手摸手的带小伙伴们在本地部署了DeepSeek.但是,部署完之后,我们要与之交互,只能在命令行中进行. 忘记怎么部署的小伙伴,来这儿复习一下~ 命令行交互如 ...

  9. acwing329 围栏障碍训练场 题解

    考试压轴题,意识到这题是线段树优化 \(dp\) 时追悔莫及. 为了简化题目,我将从起点到原点变成了从原点到起点(这样就可以省去两个数组的空间). 想到设 \(dp_{i,j}\) 表示在第 \(i\ ...

  10. 搭建本地NCBI病毒库用于Blast

    搭建本地NCBI病毒库用于Blast 目的:为了通过Blast剔除我数据集中所有与Human任意片段相似度超过97%的序列 日期:2022/11/17 1. Nt库下载 创建conda环境 conda ...