经典文献阅读之--P2O-Calib(利用点对空间遮挡关系的相机-激光雷达标定)

Tip: 如果你在进行深度学习、自动驾驶、模型推理、微调或AI绘画出图等任务,并且需要GPU资源,可以考虑使用UCloud云计算旗下的Compshare的GPU算力云平台。他们提供高性价比的4090 GPU,按时收费每卡2.6元,月卡只需要1.7元每小时,并附带200G的免费磁盘空间。通过链接注册并联系客服,可以获得20元代金券(相当于6-7H的免费GPU资源)。欢迎大家体验一下~

0. 简介

本文介绍了《P2O-Calib: Camera-LiDAR Calibration Using Point-Pair Spatial Occlusion Relationship》:利用点对空间遮挡关系的相机-激光雷达标定。传感器精确且鲁棒的标定结果被认为是自动驾驶和机器人领域中后续研究的一个重要组成部分。目前涉及3D激光雷达和单目相机之间外参标定的工作主要着重于基于目标和无目标的方法。基于目标的方法通常由于限制(例如额外的目标设计和目标放置限制)而离线使用。目前的无目标方法在各种环境中均存在特征不确定性和特征误匹配的问题。为了缓解这些限制,本文提出了一种新型的基于2D-3D边缘点提取的无目标标定方法,其使用3D空间中的遮挡关系。基于提取的2D-3D点对,我们进一步提出了一种遮挡引导的点匹配方法,其提升了标定精度并且降低了计算成本。为了验证本文方法的有效性,我们在KITTI数据集的现实图像上定性和定量地评估了方法的性能。结果表明,本文方法优于现有的无目标方法,实现了低误差和高鲁棒性,这有助于依赖高质量相机-激光雷达标定的实际应用。

1. 主要贡献

本文提出了一种新颖的无目标外部标定方法,该方法利用统一的2D-3D遮挡特征,在各种场景下实现了稳健的估计。对于摄像头图像的特征提取,我们之前的工作[15]引入了像素对遮挡关系的概念,使我们能够提取带有空间遮挡信息的图像边缘点。在这项工作中,我们利用遮挡关系的定义,在LiDAR点云上进行3D遮挡边缘提取,并开发了一种利用提取的2D-3D点对的新型标定方法。此外,遮挡关系为更稳健的跨模态特征关联提供了有益的指导,可以容忍来自摄像头-LiDAR外部参数初始猜测的更大误差。与在真实世界数据集KITTI上评估的先前工作相比,所提出的方法提高了摄像头-LiDAR外部标定的准确性和泛化能力。

这项工作的主要贡献包括:

  • 基于遮挡关系设计了系统化的摄像头-LiDAR外部标定流程。它适用于在线现场标定,并且无需外部标定目标。
  • 提出了一种新颖的点云特征提取方法及相应的2D-3D边缘特征匹配方法。所提出的方法利用定向遮挡信息减少了特征注册不匹配,并且对不完美的特征提取具有稳健性。
  • 在合成和实际数据集上的实验验证了所提出方法的有效性,包括消融实验以及对准确性、稳健性和泛化能力的检验。我们将发布我们的代码和数据集。

2. 具体方法

这一部分详细阐述了提出的摄像头-LiDAR外参校准方法。该流程包括三个步骤:首先,我们训练了一个P2ORNet神经网络,用于在RGB图像上进行像素级遮挡边缘识别,并从给定的点云中提取3D遮挡边缘。然后,我们提出了一种基于遮挡的匹配策略,用于在2D像素和3D点之间制定perspective-n-point(PnP)问题。随后,通过优化点到线的重投影误差,最终获得外参校准矩阵。图2勾勒了提出的框架,接下来的小节将详细介绍遮挡关系的定义以及每个组件中的方法。

在这里插入图片描述

图2. 所提出方法的架构。我们的方法首先从输入的2D-3D数据中提取2D-3D遮挡边特征点,然后应用遮挡引导的特征匹配来对齐它们。随后,对匹配的2D-3D点对进行优化,以恢复相机和激光雷达之间的外部参数。左右遮挡边点着以绿色和红色标记,而上下遮挡边点着以黄色和蓝色标记。为了清晰起见,在2D-3D特征匹配模块中仅可视化了左右遮挡边。最佳观看方式为数字版本。


3. 2D-3D点对定义

在本节中,我们正式定义了2D-3D遮挡边缘的概念,并使用遮挡关系来定义图像2D点和LiDAR 3D点之间的点对。如图3(a)所示,我们考虑一个位于 C C C处的摄像机和一个位于 L L L处的LiDAR,它们观察到3D场景的空间表面 ( S i , S j ) (S_i,S_j) SiSj,参考世界坐标系 W W W。从LiDAR坐标系 L L L到摄像机坐标系 C C C的SE(3)变换是 T L C T^C_L TLC,而在本工作中,估计 T L C T^C_L TLC的任务被定义为外部标定。我们注意到 q i q_i qi q j q_j qj是3D点 P i P_i Pi P j P_j Pj在表面 S i S_i Si S j S_j Sj上的摄像机图像平面2D投影(像素)。从 C C C L L L的角度来看, S i S_i Si S j S_j Sj的前面,遮挡边缘位于 S i S_i Si S j S_j Sj非遮挡部分的边界区域。在左侧遮挡边缘区域,我们将 q i q_i qi q j q_j qj标记为2D遮挡边缘特征点 P i P_i Pi P j P_j Pj则是3D遮挡边缘特征点。指向 q j q_j qj的黑色箭头表示 S i S_i Si3D空间中从右到左遮挡 S j S_j Sj的边缘区域。通过为每个像素对分配这样的方向,遮挡边缘特征点可以进一步分为具有不同方向的特征点(参见图3(b)),例如,在本示例中的左遮挡边缘特征点 q i q_i qi q j q_j qj。从表面之间的遮挡关系开始,我们在这里正式定义每个2D-3D点对由LiDAR捕获的3D特征点和摄像机捕获的2D特征点组成,例如 ( q i , P i ) (q_i,P_i) qiPi ( q j , P j ) (qj,Pj) qjPj

在这里插入图片描述

图3. 2D-3D遮挡边缘点对定义的示意图:(a) 图像左侧遮挡边缘区域标为绿色,对应的2D遮挡边缘点(例如, q i q_i qi, q j q_j qj)和3D遮挡边缘点(例如, P i P_i Pi, P j P_j Pj),(b):在存在三个物体1、2、3遮挡的情况下,图像左右遮挡边缘和上下遮挡边缘。

4. 图像中的遮挡边缘提取

  1. 图像连通性-8邻域:对于每个图像像素 q i q_i qi,它有8个直接相邻像素,包括4个水平/垂直相邻像素和4个对角线相邻像素。因此,一个图像像素可以与其8个相邻像素配对形成8个像素对。
  2. 2D遮挡边缘估计:如第3节所介绍的,3D中的表面对遮挡关系可以表示为2D中的像素对遮挡关系。对于每对有效的图像像素 ( q i , q j ) (q_i,q_j) qiqj,神经网络P2ORNet [15]对三种可能的遮挡关系状态进行分类 q i q_i qi遮挡 q j q_j qj q j q_j qj遮挡 q i q_i qi和( q i q_i qi q j q_j qj)之间没有遮挡。估计的图像遮挡边缘位于P2ORNet预测存在像素对之间遮挡的图像区域上。在本工作中,我们选择连接沿图像水平/垂直轴的像素对,并从预测结果中生成左右(L,R)和上下(U,B)遮挡边缘。我们将带有方向D的 Q D \mathbb{Q}^D QD图像2D遮挡边缘特征点集合,而 q i D q^D_i qiD是第 i i i个点。

在这里插入图片描述

…详情请参照古月居

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

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

相关文章

整除及求余运算符、数字的提取、顺序结构程序

1.运算符 在有余数的除法运算中,如果要知道商和余数分别是多少,可以用/和%这两个运算符号来得到。 (1)/(整除),当被除数和除数均为整数时,结果也为整型,只取商的整数部分。 如:10/25 10/33 5/10 0 (2)%(求余)&…

倩女幽魂搬砖攻略:云手机自动托管搬砖刷本选哪家云手机?

欢迎来到《倩女幽魂手游》的世界,一个充满江湖恩怨的世界。在这个游戏中,你将扮演各个门派中的不同职业,踏上一段属于你自己的江湖之路。本攻略将为你详细介绍如何利用多开挂机搬砖,快速提升自己的实力,成为江湖中的一…

python - pandas常用计算函数

文中所用数据集有需要的可以私聊我获取 学习目标 知道排序函数nlargest、nsmallest和sort_values的用法 知道Pandas中求和、计数、相关性值、最小、最大、平均数、标准偏差、分位数的函数使用 1 排序函数 导包并加载数据集 import pandas as pd ​ # 加载csv数据, 返回df对…

VBA excel 表格将多行拆分成多个表格或 文件 或者合并 多个表格

excel 表格 拆分 合并 拆分工作表按行拆分为工作表工作表按行拆分为工作薄 合并操作步骤 拆分 为了将Excel中的数万行数据拆分成多个个每个固定行数的独立工作表,并且保留每个工作表的表头,你可以使用以下VBA脚本。这个脚本会复制表头到每个新的工作表&…

Java案例:找素数

文章目录 题目问题反思代码改进 题目 找素数 判断101-200之间有多少个素数&#xff0c;并输出所有素数 只需要除到 n/2 即可。 算数平方根。&#xff08;j*j<i&#xff09;实际上可以更高效地只除到Math.sqrt(n)&#xff08;或者说Math.sqrt(n) 1为了处理整数除法&#xf…

Web学习_sqli-labs_1~10关

less1-GET-Error based - Single quotes - String &#xff08;基于错误的GET单引号字符型注入&#xff09; 我每次操作都会在Hackbar中&#xff0c;代码都在Hackbar框中&#xff0c;可放大看 有题目知道了是字符型注入&#xff0c;我们先判断表格有几列&#xff0c;可以发现…

Istio_1.17.8安装

项目背景 按照istio官网的命令一路安装下来&#xff0c;安装好的istio版本为目前的最新版本&#xff0c;1.22.0。而我的k8s集群的版本并不支持istio_1.22的版本&#xff0c;导致ingress-gate网关安装不上&#xff0c;再仔细查看istio的发布文档&#xff0c;如果用istio_1.22版本…

屏幕空间反射技术在AI绘画中的作用

在数字艺术和游戏开发的世界中&#xff0c;真实感渲染一直是追求的圣杯。屏幕空间反射&#xff08;Screen Space Reflection&#xff0c;SSR&#xff09;技术作为一种先进的图形处理手段&#xff0c;它通过在屏幕空间内模拟光线的反射来增强场景的真实感和视觉冲击力。随着人工…

【Docker系列】跨平台 Docker 镜像构建:深入理解`--platform`参数

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

如何知道ZIP压缩包解压密码?有哪些解密策略?

我们在生活当中&#xff0c;经常会遇到ZIP压缩包&#xff0c;它们以其高效的文件压缩和方便的传输特性而受到广泛欢迎。然而&#xff0c;有时我们可能会遇到一些带有密码保护的ZIP文件&#xff0c;这时就需要知道解压密码才能访问其中的内容。本文将探讨如何知道ZIP压缩包的解压…

Spring Boot整合Redis通过Zset数据类型+定时任务实现延迟队列

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

stm32最小系统焊接调试总结

stm32最小系统打板后,接下来开始焊接元器件,焊接元器件可以参考立创EDA焊接辅助工具。 图1 焊接辅助助手 焊接准备工具有,焊台,放大镜,元器件,镊子,焊锡膏,锡丝及万用表等。调节焊台温度到350-400摄氏度。焊接顺序是先焊接USB typec接口,5V电源,ldo,ch340,stm32芯片…

【代码审计】star7th/showdoc:v3.2.4 Phar反序列化写webshell

目录 漏洞速览 复现 漏洞速览 微步在线X情报社区-威胁情报查询_威胁分析平台_开放社区 主要就是两步&#xff0c;sql注入拿到用户token&#xff0c;再以用户身份上传恶意phar包打phar反序列化 因为文件上传对用户权限没有限制&#xff0c;故本文对sql注入部分不做探讨。…

机器学习--损失函数

损失函数&#xff08;Loss Function&#xff09;&#xff0c;也称为代价函数&#xff08;Cost Function&#xff09;或误差函数&#xff08;Error Function&#xff09;&#xff0c;是机器学习和统计学中的一个重要概念。它用于量化模型预测值与真实值之间的差异。损失函数的值…

怎么换自己手机的ip地址

在互联网时代&#xff0c;IP地址已经成为了我们数字身份的一部分。无论是浏览网页、下载文件还是进行在线交流&#xff0c;我们的IP地址都在默默发挥着作用。然而&#xff0c;有时出于安全或隐私保护的考虑&#xff0c;我们可能需要更换手机的IP地址。那么&#xff0c;如何轻松…

C#操作MySQL从入门到精通(14)——汇总数据

前言 我们有时候需要对数据库查询的值进行一些处理,比如求平均值等操作,本文就是详细讲解这些用法,本文测试使用的数据库数据如下: 1、求平均值 求所有student_age 列的平均值 string sql = string.Empty; if (radioButton_AVG.Checked) {sql = “select AVG( student_…

Day47 代码随想录打卡|二叉树篇---最大二叉树

题目&#xff08;leecode T654&#xff09;&#xff1a; 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点&#xff0c;其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右边 的 …

htb-linux-9-sense

nmap web渗透 目录爆破 靶机非常慢 system-users.txt ####Support ticket###Please create the following userusername: Rohit password: company defaults尝试登陆 现在我们知道了一个登陆的用户名&#xff0c;密码据称是公司默认密码。谷歌这个公司名称是pfsense现在用r…

C语言如何判断⽂件的结束?

一、问题 在⽂件中查找匹配的信息时&#xff0c;需要遍历⽂件中的数据信息。在遍历的过程中&#xff0c;如何判断⽂件的指针已经到了⽂件的结尾呢&#xff1f; 二、解答 1. 问题解析 在对⽂件的操作函数中&#xff0c;除了存在读写⽂件的函数&#xff0c;还有⽤于测试⽂件流是…

【Tool】Matlab 数据分析可视化

一、问题描述 近期围绕imu总是出现问题&#xff0c;自己整理了一下将数据可视化的工具 二、imu 类 1. 待处理数据格式 # yaw roll pitch time -2.08131 -0.0741765 0.0200713 121.281000000 -2.08724 -0.0745256 0.0197222 121.301000000 -2.093 -0.075747…