【文献解析】一种像素级的激光雷达相机配准方法

大家好呀,我是一个SLAM方向的在读博士,深知SLAM学习过程一路走来的坎坷,也十分感谢各位大佬的优质文章和源码。随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激光SLAM,也方便想入门SLAM的同学和小白学习参考,相信看完会有一定的收获。如有不对的地方欢迎指出,欢迎各位大佬交流讨论,一起进步。博主创建了一个科研互助群Q:951026257,欢迎大家加入讨论。

Pixel-Level Extrinsic Self Calibration of High Resolution LiDAR and Camera in Targetless Environments
论文地址:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9495137
代码:GitHub - hku-mars/livox_camera_calib: This repository is used for automatic calibration between high resolution LiDAR and camera in targetless scenes.

一、文章概述

1.问题导向

在开发自动驾驶汽车时,通常会将激光雷达 (LiDAR)与摄像头传感器结合在一起。激光雷达传感器由于其直接的3D测量能力,已广泛应用于障碍物检测、跟踪和地图绘制应用。外部校准是机器人技术中一个研究得很好的问题,主要分为两类:基于目标的校准和无目标的校准。它们之间的主要区别在于它们如何定义和提取来自两个传感器的特征。当前的外部校准方法严重依赖外部目标,例如棋盘格或特定的图像模式。通过从图像和点云中检测、提取和匹配特征点,将原始问题转化为最小二乘方程并用其求解。由于这些校准目标通常放置在传感器套件附近,因此在远程场景中(例如大规模点云着色),外部误差可能会放大。

2.目标

为了解决上述挑战,我们在本文中提出了一种无目标环境下的自动像素级外部校准方法。该系统通过从图像和点云中提取自然边缘特征并最小化重新投影误差来运行。

3.摘要

在本文中,我们提出了一种在无目标环境下自动外部校准高分辨率 LiDAR 和 RGB 相机的新方法。我们的方法不需要棋盘格,而是可以通过对齐两个传感器中的自然边缘特征来实现像素级的精度。在理论层面,我们分析了边缘特征所施加的约束以及校准精度对场景中边缘分布的敏感性。在实现层面,我们仔细研究了 LiDAR 的物理测量原理,并提出了一种基于点云体素切割和平面拟合的高效准确的LiDAR边缘提取方法。由于自然场景中边缘的丰富性,我们在许多室内和室外场景中进行了实验。结果表明,该方法具有很高的鲁棒性、准确性和一致性。它可以促进 LiDAR 和相机融合的研究和应用。我们已经在 GitHub1 上开源了我们的代码,以造福社区。

4.贡献

  • 我们仔细研究了激光雷达测量的底层原理,发现常用的深度不连续边缘特征对于校准来说既不准确也不可靠。我们提出了一种新颖、可靠的深度连续边缘提取算法,从而获得更准确的校准参数。
  • 我们评估了我们的方法和实现在各种室内和室外环境中的稳健性、一致性和准确性,并将我们的方法与其他最先进的方法进行了比较。结果表明,我们的方法对初始条件具有稳健性,与校准场景一致,并在自然环境中实现了像素级校准精度。我们的方法的精度与基于目标的方法相当(有时甚至更好),并且适用于新兴的固态和传统的旋转激光雷达。
  • 我们开发了一款实用的校准软件,并在 GitHub1 上开源,造福社区

    二、方法

    2.1 边缘提取

    为了避免投影引起的零值和多值映射问题,我们直接在 LiDAR 点云上提取边缘特征。边缘有两种类型:深度不连续和深度连续。
    深度不连续边缘是指前景物体与背景物体之间的边缘,深度发生跳跃;相反,深度连续边缘是指深度连续变化的线的平面连接边缘。然而,仔细研究 LiDAR 测量原理,我们发现深度不连续边缘对于高精度校准来说既不可靠也不准确。当从前景物体扫描到背景物体时,一部分激光脉冲被前景物体反射,另一部分被背景反射,产生两个反射脉冲到达激光接收器。在前景物体反射率较高的情况下,第一个脉冲产生的信号将占主导地位,即使光束中心线偏离前景物体,也会造成前景物体的假点超出实际边缘(图(a)中最左边的黄色点)。当前景物体靠近背景时,两个脉冲引起的信号会汇合,汇合信号会形成一组连接前景和背景的点(称为出血点,即图 (a) 中的黄色点)。这两个现象会错误地夸大前景物体,并在边缘提取(图 (b))和校准中造成重大错误。
    为了避免深度不连续边缘引起的前景膨胀和出血点,我们提出提取深度连续边缘,如下图所示。


    (1) 我们首先将点云划分为给定大小的小体素
    (2) 对于每个体素,我们重复使用 RANSAC 来拟合和提取体素中包含的平面。
    (3) 然后,我们保留相连且在一定范围内形成一定角度的平面对(例如 [30°, 150°]),并求解平面相交线
    (4) 对于图像边缘提取,我们使用Canny算法[19]。
    (5) 提取的边缘像素保存在k-D树(k=2)中,用于对应匹配。

详情请看。。。

【文献解析】一种像素级的激光雷达相机配准方法 - 古月居 (guyuehome.com)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

openssh版本升级实战(修补ssh漏洞)基于RedHat8.4版本测试--已成功升级

升级前具有漏洞的的版本 通过命令查看目前系统的ssh和sshd版本: ssh -V sshd -V 注意:由于ssh是远程连接服务器的功能,在进行下面操作升级openssh前,请打开多个连接会话保持,如升级失败,可通过已连接的会话…

C#——密封类详情

密封类 密封类是密封方法的扩展,用于确保某个类不会被继承。在C#中,你可以使用sealed关键字来声明一个密封类。 public sealed class SealedClass {// 类成员定义 } 如果使用密封类继承的话,程序会报错!!&#xff0…

windows server2016搭建AD域服务器

文章目录 一、背景二、搭建AD域服务器步骤三、生成可供java程序使用的keystore文件四、导出某用户的keytab文件五、主机配置hosts文件六、主机确认是否能ping通本人其他相关文章链接 一、背景 亲测可用,之前搜索了很多博客,啥样的都有,就是不介绍报错以…

02浅谈大模型文本生成的背后逻辑

02浅谈大语言模型文本生成的背后逻辑 两个概念: 通俗理解大模型文本生成逻辑 假设有一个prompt:How are you ?,输入给大模型,那么大模型使怎么输出?

nginx 主备server自动切换配置

nginx.conf 配置详情: #user nobody; worker_processes 1;error_log logs/error.log;events {worker_connections 1024; }http {include mime.types;default_type application/octet-stream;client_max_body_size 2048m; # 设置最大上传限制为5Gproxy_b…

锂电池寿命预测 | Matlab基于改进的遗传算法优化BP神经网络的锂离子电池健康状态SOH估计

目录 预测效果基本介绍程序设计参考资料 预测效果 基本介绍 主要流程如下: 1、首先提取“放电截止电压时间”作为锂电池间接健康因子; 2、然后引入改进的遗传算法对BP神经网络的模型参数进行优化。 3、最后 NASA 卓越预测中心的锂电池数据集 B0005、B0006、B0007对…

【实战项目】:电商网站数据抓取分析||电商API数据采集

导语:在电商行业,了解市场动态和竞争对手的信息非常重要。通过抓取电商网站上的商品数据,我们可以进行市场分析、价格监控和产品趋势研究。本文将介绍如何构建一个系统,自动化抓取电商网站上的商品数据,并进行分析。 …

windows下编译ffmpeg 最详细教程

1 Ffmpeg下载地址:FFmpeg 使用命令下载 git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg 下载完成后会发现如下目录: 2 msys2下载地址:MSYS2 解压好后,选择一个非空路径安装,安装好后路径如下: 为…

短视频商城系统源码揭秘:架构设计与实现

在短视频平台和电商平台蓬勃发展的背景下,短视频商城系统应运而生,融合了短视频内容和电商功能,给用户带来了全新的购物体验。本文将揭示短视频商城系统的源码架构设计与实现,帮助开发者了解该系统的内部工作原理及其关键技术。 …

【密码学】密码学体系

密码学体系是信息安全领域的基石,它主要分为两大类:对称密码体制和非对称密码体制。 一、对称密码体制(Symmetric Cryptography) 在对称密码体制中,加密和解密使用相同的密钥。这意味着发送方和接收方都必须事先拥有这…

QT使用QGraphicsView绘图 重写QGraphicsObject类实现点在QPainterPath路径上移动动画效果

闲谈:眨眼间,2024年就过去了一半了,年前定下的计划一个都没完成,也是废了。天天刷龙王CP,倒是看得很开心。乘着有空,把之前学习的内容和示例先总结了。 目录 导读SVG 转QPainterPath 路径获取QPainterPath指…

FPGA_GTX:简要版

1. GTX介绍 Xilinx FPGA的GT意思是Gigabyte Transceiver。通常称呼为Serdes、高速收发器。GT在xilinx不同系列有着不同的产品,从7系列到UltraScale系列分别有GTP、GTX、GTZ、GTH、GTY和GTM。不同GT整体结构上类似,为了支持越来越高的line rate&#xff…

【HTML】-解决页面内容无法选择、复制问题

目录 1、网页内容无法选中 1.1、问题原因 1.2、解决脚本 1.2.1、开启控制台窗口 1.2.2、执行脚本命令 2、内容复制弹出阻止框 2.2、解决脚本 1、网页内容无法选中 1.1、问题原因 今天在访问某一网站平台,需要将内容进行选择、复制时发现不可使用。 在使用…

单选多选提交问卷,代码示例

element中 需要对接口返回的数据进行分析。多选问题使用checkbox,单选题使用radio。 多选时可以绑定min/ma&am…

最新扣子(Coze)实战案例:使用图像流做超分,模糊图片秒变清晰,完全免费教程

🧙‍♂️ 大家好,我是斜杠君,手把手教你搭建扣子AI应用。 📜 本教程是《AI应用开发系列教程之扣子(Coze)实战教程》,完全免费学习。 👀 关注斜杠君,可获取完整版教程。👍&#x1f3f…

[笔记] 卷积 - 02 滤波器在时域的等效形式

1.讨论 这里主要对时域和频域的卷积运算的特征做了讨论,特别是狄拉克函数的物理意义。 关于狄拉克函数,参考这个帖子:https://zhuanlan.zhihu.com/p/345809392 1.狄拉克函数提到的好函数的基本特征是能够快速衰减,对吧&#xf…

Sharding-JDBC

一、概念: Sharding-JDBC是一个在客户端的分库分表工具。它是一个轻量级Java框架,在Java的JDBC层提供的额外服务。 ShardingSphere提供标准化的数据分片、分布式事务和数据治理功能。 二、架构图: ShardingRuleConfiguration 可以包含多个 T…

WEB编程-了解Tomcat服务器

第⼀章⽹络编程 1.1 概述 计算机⽹络:是指将地理位置不同的具有独⽴功能的多台计算机及其外部设备,通过通信线路连接起来,在⽹络 操作系统、⽹络管理软件及⽹络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 …

Python 获取tiktok视频评论回复数据 api接口

TIKTOK api接口 用于爬取tiktok视频评论回复数据 详细采集页面如图 https://www.tiktok.com/dailymail/video/7329872821990182190?qneural%20link&t1706783508149 请求API http://api.xxxx.com/tt/video/info/comment/reply?video_id7288909913185701125&comment_…

uni-app使用ucharts地图,自定义Tooltip鼠标悬浮显示内容并且根据@getIndex点击事件获取点击的地区下标和地区名

项目场景: uni-app使用ucharts地图,自定义Tooltip鼠标悬浮显示内容并且根据getIndex点击事件获取点击的地区下标和地区名 例如: 问题描述 官方给的文档有限,需要自己下载地图json数据然后自己渲染和编写鼠标悬浮显示内容以及获取点击地址…