基于最大似然反射率的异构激光雷达强度标定方案(开源)

news2024/11/18 7:34:13

文章:Maximum Likelihood Remission Calibration for Groups of Heterogeneous Laser Scanners

作者:Bastian Steder Michael Ruhnke Rainer Kummerle Wolfram Burgard

编辑:点云PCL

代码:https://github.com/soytony/IntensityCalibration.git

欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。

公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系dianyunpcl@163.com。未经作者允许请勿转载,欢迎各位同学积极分享和交流。

摘要

本文介绍了一种用于异构激光雷达组的最大似然反射率标定方法。该标定方法为多个激光扫描仪的反射率值提供了一种解决方案,它考虑了距离、测量表面的入射角和扫描仪单元之间的依赖关系。我们的系统通过学习标定参数,并利用图优化方案,实现了不同测量之间的误差最小化,以确保所有涉及的扫描仪产生一致的反射值,无论观察相应表面的角度如何。该方法旨在通过估计激光雷达的反射率,提高激光雷达数据的质量和一致性。为了实现这一目标,我们首先通过对已知参考面进行扫描来建立反射率与激光雷达强度值之间的关系。然后,我们使用最大似然估计方法将这个对应关系推广到其他未知场景中的激光雷达数据上,从而获得未知场景中的激光雷达反射率的估计。在实验中使用了多个异构激光雷达组成的系统,并对其进行了测试和比较。实验结果表明,我们的方法可以有效地提高激光雷达的测量精度和一致性,与传统的标定方法相比,我们的方法不需要额外的标定目标或设备,仅通过利用已有的激光雷达数据即可获得准确的反射率估计。

主要贡献

本文的主要贡献包括:

1. 提出了一种无需特殊标定结构或设置的方法,通过利用已有的激光雷达数据,学习标定参数,从而提高反射特性的估计准确性和一致性。

2. 使用基于图形的最小二乘误差最小化技术,在无监督的情况下学习标定参数,直接考虑了测量范围、入射角和亮度之间的依赖关系。

3. 通过对比实验验证了该方法的有效性和准确性,证明了我们的系统可以更好地估计观察点的反射率,并提供一致的测量结果。

本文的方法为激光雷达的反射率标定提供了一种新的解决方案,无需特殊的标定结构或设置,可以提高反射特性的估计准确性和一致性,具有广泛的应用前景。

主要内容

该方法不依赖于任何特殊的标定结构或设置,而是利用由移动机器人上的一个或多个激光雷达捕获的一系列注册的三维点云数据。如果相同环境中的某一位置被不同的激光雷达以不同的视角和距离进行观测,目标是学习标定参数,使得应用于测量数据时,在该位置上获得一致的反射率测量结果。该系统利用基于图优化的最小二乘误差最小化技术来学习标定参数,以无监督的方式进行标定。该方法直接考虑到了测量范围、入射角和特定激光雷达的亮度之间的依赖关系。通过该方法,可以提高多个激光雷达的反射率值的一致性,并消除不同激光雷达在观测相同表面时的视角差异。通过对反射率值的标定,可以更准确地推断被观测结构的亮度和表面特性,从而增强激光雷达在感知环境中的应用能力。

db69f1b58540773f16179c1d397f9db4.png

图1. 使用经过校准和未经校准的反射率值获得的示例场景、对应的扫描和地图:(a) 观测场景。(b) 来自单个可倾斜的Hokuyo UTM激光雷达的未经校准的三维扫描点云。由于距离更近和入射角更陡峭,底部中心的测量值更亮。(c) 上述扫描的经过校准的版本,道路现在显示连续的灰度值。(d) 使用三个不同的三维扫描仪(Velodyne HDL-32E、朝下的SICK LMS 151和可倾斜的Hokuyo UTM)组合捕获的未经校准的三维点云。结构不太清晰可见,并且连续表面上的反射率值不均匀。(e) 图(d)的经过校准的版本,显示更好的对比度和更均匀的灰度值

实验与分析

在实验中使用了两个不同的机器人平台。图4左侧显示了我们的机器人Obelix,它配备了多种激光雷达,包括一个向下朝向的SICK LMS 151,在行驶过程中累积3D点云数据,一个可倾斜的Hokuyo UTM和一个Velodyne HDL-32E(一个具有32个单独激光器的多波束3D激光雷达)。第二个机器人称为Viona(见图4右侧),它配备了一个Velodyne HDL-64E(一个具有64个单独激光器的多波束3D激光雷达)。实验中考虑的所有激光雷达均使用905纳米红外光。 

3c3654302d93e4aee584926d932bbeba.png

图4.左图:机器人"Obelix"配备了来自不同制造商的三种激光雷达类型,总共有34个独立的激光器,右图:机器人"Viona"配备了一个包含64个独立激光器的Velodyne激光雷达。

图6展示了我们的标定过程与真值的比较结果,请注意,标定结果在反射率值上可能存在一个常数缩放因子的差异。因此,我们总是对标定进行归一化,使学习数据集上的平均反射率为1.0。图6中的绘图已经适当调整,不会受到这种因子的影响,可以看到,我们的方法能够准确恢复标定函数,在数据集上的中位误差仅为0.009。

37f04ade9cb088ead57586639c5e2724.png

图6.这些图表可视化了模拟数据集中找到的标定参数和真值曲线,真值是方程式9中相应部分的倒数,因为这些因子的目的是消除影响。

f6a3a225d7b96f198abfa9d28d959a99.png

图7.该图表可视化了Obelix数据集(顶部)和Viona数据集(底部)上进行标定的不同模式的标定前后误差分布。

1db8d01f14441fe6a697392dbce40d66.png

图8.这张图显示了我们收集Obelix数据集的区域的航拍图像(左侧),经过标定的反射率图(中间)和每个单元测量残差的剩余方差,其中较暗的值表示较低的误差(右侧)。像街道或建筑物墙壁这样的平坦均匀着色区域具有非常低的残差误差,而草坪等则仍具有较高的方差,这是由于非均匀的颜色和嘈杂的3D结构造成的。

cdc9c09eb9eb6b3b942d9a6540bf5f1b.png

图9.这些图表可视化了我们使用的两个数据集的找到的标定参数。尽管模式3返回了最差的结果,但它更容易进行可视化。相比之下,显示98个单独的图表(每个单独的激光束一个图表)是不实际的。顶部的图表显示了每个激光类型的每个测距范围的标定因子,中间的图表显示了每个激光类型的每个入射角度的标定因子,底部的图表显示了每个单独激光的标定因子,颜色与上面的图表相同。

43b0f6277a7af70bb0b876e04f238c8f.png

图10.两个不同数据集的标定,并相互应用后的误差分布。

总结

本文中提出了一种基于配准点云数据集的异构激光雷达反射率无监督标定的方法,我们的系统通过最小化落入同一3D单元格的测量值的平方误差,实现了不同激光器、测距和入射角度的测量值在反射率值上的最佳对应,我们进行了多个不同类型激光雷达的实验,结果表明经过我们系统的标定后,这些激光雷达可以一起使用,创建出环境反射率一致的点云地图。

更多详细内容后台发送“知识星球”加入知识星球查看更多。

资源

自动驾驶及定位相关分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

自动驾驶中基于光流的运动物体检测

基于语义分割的相机外参标定

综述:用于自动驾驶的全景鱼眼相机的理论模型和感知介绍

高速场景下自动驾驶车辆定位方法综述

Patchwork++:基于点云的快速、稳健的地面分割方法

PaGO-LOAM:基于地面优化的激光雷达里程计

多模态路沿检测与滤波方法

多个激光雷达同时校准、定位和建图的框架

动态的城市环境中杆状物的提取建图与长期定位

非重复型扫描激光雷达的运动畸变矫正

快速紧耦合的稀疏直接雷达-惯性-视觉里程计

基于相机和低分辨率激光雷达的三维车辆检测

用于三维点云语义分割的标注工具和城市数据集

ROS2入门之基本介绍

固态激光雷达和相机系统的自动标定

激光雷达+GPS+IMU+轮速计的传感器融合定位方案

基于稀疏语义视觉特征的道路场景的建图与定位

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)

用于三维点云语义分割的标注工具和城市数据集

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

TOF相机原理介绍

TOF飞行时间深度相机介绍

结构化PLP-SLAM:单目、RGB-D和双目相机使用点线面的高效稀疏建图与定位方案

开源又优化的F-LOAM方案:基于优化的SC-F-LOAM

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

基于鱼眼相机的SLAM方法介绍

3D视觉与点云学习星球:主要针对智能驾驶全栈相关技术,3D/2D视觉技术学习分享的知识星球,将持续进行干货技术分享,知识点总结,代码解惑,最新paper分享,解疑答惑等等。星球邀请各个领域有持续分享能力的大佬加入我们,对入门者进行技术指导,对提问者知无不答。同时,星球将联合各知名企业发布自动驾驶,机器视觉等相关招聘信息和内推机会,创造一个在学习和就业上能够相互分享,互帮互助的技术人才聚集群。

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

25f58b401d4301b2e89eaf49e3631ab8.png

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入知识星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享与合作方式:微信“cloudpoint9527”(备注:姓名+学校/公司+研究方向) 联系邮箱:dianyunpcl@163.com。

为分享的伙伴们点赞吧!

4362b2627a87ce1319d4089218a587e6.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/604460.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue 更新数组的方法

在 vue中,我们可以通过给数组添加索引来更新数组的值,比如我们需要在一个新的页面中添加一个新的元素,那么我们就可以通过给这个数组添加索引来实现。那么有朋友就会问了,为什么不直接在 vue中直接添加一个新的元素呢?…

chatgpt赋能python:Python列表排列顺序详解

Python列表排列顺序详解 作为一门功能丰富的高级编程语言,Python在不同类型的开发任务中广泛应用。其中,列表是一种常见的数据类型,用于存储多个元素。Python列表可以包含任何类型的数据,包括数字、字符串和其他列表等&#xff0…

干洗店软件,洗衣洗鞋线上下单小程序开发

干洗店软件洗衣洗鞋线上下单小程序; 可以实现客户自助办理,也可以和公众号、小程序等结合起来。干洗店软件可以实现客户管理,如积分管理,产品设置等功能。 线上下单,上门取货,订单拍照,订阅提示…

开发者实战 | 分割一切?Segment Anything 量化加速实战

点击蓝字 关注我们,让开发变得更有趣 作者 | 杨亦诚 排版 | 李擎 分割一切? Segment Anything 量化加速实战 前言 “分割一切,大家一起失业!”——近期,这样一句话在社交媒体上大火!这讲的就是 Segment Anything Model&#xff08…

chatgpt赋能python:Python创建一个Person类

Python 创建一个 Person 类 Python 是一种高级编程语言,因为它易于学习和使用,并且可以用于多种用途。使用 Python,您可以轻松创建各种程序,从简单的脚本到完整的应用程序。Python 的一个重要特点是它的面向对象编程能力&#xf…

「VS」Visual Studio 字符集

✨博客主页:何曾参静谧的博客 📌文章专栏:「VS」Visual Studio 当我们在使用 Visual Studio 编写程序时,经常会遇到字符集的问题。在 Visual Studio 中,字符集选项有两个选项:Unicode 字符集和多字节字符集…

期刊和会议如何查询、期刊级别分类和顶会概念一文精析

期刊和会议查询、期刊级别分类和顶会概念分析 一、如何查询期刊和会议1.中文期刊-用知网出版物检索2.外文期刊-一般用letpub3.会议查询 二、国内期刊的正刊三、国内核心期刊四、国际核心期刊五、ESCI、SCI和SCIE的区别六、国际会议核心七、普刊八、顶刊九、水刊十、预警期刊 了…

一起看 I/O | Android 性能相关最新动态

作者 / Ben Weiss 过去几年来,我们一直致力于让性能提升工作变得更易上手、回报更高。我们将在本文中分享这一领域的最新发展动态。为您介绍基准配置文件、Android Studio 中的工具改进、库,以及我们如何让这项技术更好地在后台为您服务。此外&#xff0…

IPA50R190CE-ASEMI代理英飞凌MOS管IPA50R190CE

编辑:ll IPA50R190CE-ASEMI代理英飞凌MOS管IPA50R190CE 型号:IPA50R190CE 品牌:Infineon(英飞凌) 封装:TO-220F 最大漏源电流:24.8A 漏源击穿电压:500V RDS(ON)Max&#xff1…

某oa 11.10 未授权任意文件上传

漏洞简介 之前也对通达 oa 做过比较具体的分析和漏洞挖掘,前几天看到通达 oa 11.10 存在未授权任意文件上传漏洞,于是也打算对此进行复现和分析。 环境搭建 https://www.tongda2000.com/download/p2019.php 下载地址 :https://cdndown.tongda…

java-Lambde和方法引用

java-Lambde和方法引用 一、Lambda表达式 1.1 Lambda标准格式 格式: ​ (形参) -> {代码块} 形参:如果有多个参数,参数之间用逗号隔开;如果没有参数,留空即可 ->:由英文中画线和大于符号组成&#…

企业虚拟机服务器中了lockbit3.0勒索病毒怎么办,lockbit勒索病毒解密

虚拟机服务器在现代企业中扮演着至关重要的角色,它是一个重要的基础设施,用于支持大量的业务应用和数据存储。然而,随着网络攻击技术的不断发展,企业虚拟机服务器也面临着来自黑客的威胁。其中一种最具破坏性的攻击是勒索病毒&…

单例模式8种写法

0. 为什么需要单例模式? 节省内存和计算保证结果正确方便管理 使用场景: 1. 饿汉式(静态常量)—推荐指数:★★☆☆☆ 优点:不会有线程安全问题。 缺点:在类加载的时候就创建对象,…

VMware SD-WAN 5.2 发布 - 软件定义的 WAN

VMware SD-WAN 5.2 发布 - 软件定义的 WAN SD-WAN 解决方案的领导者 请访问原文链接:https://sysin.org/blog/vmware-sd-wan-5/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 产品概述 软件定义的 WAN (SD-WAN)…

chatgpt赋能python:Python列表横向合并

Python列表横向合并 Python是一种功能强大的编程语言,被越来越多的开发者所青睐。列表是Python中最常用的数据结构之一,它是一种有序的集合,可以存储任意类型的数据。在编写Python程序时,很常见的需求是将两个或多个列表横向合并…

(超详细)关于Nacos的共享配置( shared-configs)和拓展配置(extension-config)

前言 用SpringBoot的铁子们,相信大多数人都使用过Nacos作为注册中心和配置文件管理中心,确实很方便。但是很多铁子们依葫芦画瓢,都知道怎么用,但是对于其中的细节可能没有系统地整理过。今天就讲讲关于Nacos的共享配置和扩展配置…

【C++11】C++11新增语法 Lambda表达式/Lambda的底层原理

Lambda表达式 1 Lambda使用的一个例子2 Lambda 表达式的语法3 初次体验Lambda表达式4 Lambda函数底层实现原理 1 Lambda使用的一个例子 在C98中&#xff0c;如果我们想要对一个自定义类型进行排序&#xff0c;就需要用户自定义去书写比较的规则。 #include <iostream> …

排序算法——直接插入排序

直接插入排序 基本思想 直接插入排序是一种简单明了的插入排序法&#xff0c;其基本思想是&#xff1a;把待排序的数据按其关键码值的大小逐个插入到一个已经排好序的有序序列中&#xff0c;直到所有数据插入完为止。 在现实生活中&#xff0c;我们玩扑克对牌进行排序就运用了…

开源、易扩展、方便集成的Web绘图工具(流程图、架构图、组态、SCADA、大屏)

乐吾乐2D可视化Meta2d.js是一个基于typescript canvas 实现的开源在线绘图软件。采用引擎 图形库中间件的思路能够方便、快速的扩展、集成到前端项目。 集实时数据展示、动态交互、数据管理等一体的全功能可视化平台。帮助物联网、工业互联网、电力能源、水利工程、智慧农业…

【unity之c#】所以迭代器的原理知识你还清楚吗?

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;uni…