经典文献阅读之--Calib Anything(使用SAM的无训练标定雷达相机外参)

news2024/11/20 4:27:17

0. 简介

Camera与LiDAR之间的外部标定研究正朝着更精确、更自动、更通用的方向发展,由于很多方法在标定中采用了深度学习,因此大大减少了对场景的限制。然而,数据驱动方法具有传输能力低的缺点。除非进行额外的训练,否则它无法适应数据集的变化。随着基础模型的出现,这个问题可以得到显著缓解,通过使用分割任意模型(Segment Anything Model,SAM),我们这次提出了一种新的激光雷达相机标定方法,该方法不需要额外的训练,并适用于常见场景。相关的代码可以在Github上获得。


1. 主要贡献

首先使用SAM对整个图像进行语义分割,得到一组掩码,在没有在点云和掩模之间建立明确的对应关系,而是计算掩模内点云属性的一致性,包括其强度、法向量和分割类。如图1所示,在正确的外在条件下,汽车mask内点的强度具有更高的一致性。对于法线向量,plane masks上的点应具有一致的法线方向,简单地通过平面拟合和欧氏聚类得到点云的分割类。vehicles和trunks 等目标将聚集在一个类别中,因此mask上也具有一致性!论文计算了具有这三个属性的每个mask的一致性得分,通过给出一个初始的外在值,可以通过最大化所有mask的总分来优化它。

在这里插入图片描述

图1. 通过正确的外参(a)和错误的外参(b)投影到车的掩模上的点云。点的颜色表示强度值。


为此,本文主要工作的贡献如下:

1)我们提出了一种新颖的自动LiDAR-相机外参校准方法,使用SAM和点云一致性,不需要额外的训练。

2)外参参数的优化标准是点云在掩模上的强度、法线向量和分割类别的一致性,使我们的方法适用于大多数场景。

3)我们在多个数据集上验证了我们的方法,证明了其通用性和可比性精度。


2. 方法概述

整个过程可以分为三个部分。对于图像分割,我们使用SAM生成整个图像的掩模。对于点云,我们实现了法线估计、简单的分割方法和强度归一化,以生成每个点的对应属性。然后,优化目标是使落在一个掩模上的点具有接近的属性值。我们设计了一个评估一致性的得分函数。进行几轮搜索以获得最终结果。图2显示了我们提出的方法的流程。

在这里插入图片描述

图2. 方法概述。对于图像,使用Segment Anything模型生成整个图像的掩码。对于点云,我们实现了法线估计、简单的分割方法和强度归一化,以生成每个点的相应属性。在优化阶段,通过外参将点云投影到掩码上。我们设计了一个损失函数,该函数由掩码区域内点的属性一致性决定。

3. 数据预处理

3.1 图像分割

首先在整个图像上应用SAM,以获取许多不同对象的掩模。由于我们使用点云的一致性,我们希望分割更加细致和详细。因此,我们调整SAM的超参数以获得更多的掩模,并减少重叠区域。这些掩模被注释为 M = { M i ∣ i = 0 , 1 , … , N } \mathbb{M} = \{M_i | i = 0, 1, …, N\} M={Mii=0,1,,N}。每个掩模是一个与图像相同大小的二进制矩阵。值 M i ( u , v ) = { 0 , 1 } M_i(u, v) = \{0, 1\} Mi(u,v)={0,1}表示像素 ( u , v ) (u, v) (u,v)是否属于第 i i i个分割。

3.2 点云预处理

预处理有三个部分:法线估计、强度归一化和分割

对于法线估计,有许多方法[32],[33]可以直接使用。在这里,我们选择了一个简单的方法,足以满足我们的应用需求。表面上的一个点的法线方向被近似为与表面相切的平面的法线。平面法线可以通过分析由查询点的一些最近邻创建的协方差矩阵的特征向量和特征值或主成分分析(PCA)来估计。使用K-d树数据结构进行高效的k最近邻(KNN)搜索。

点云的强度通过比例因子进行归一化,以便在点云的强度根据LiDAR类型不同而不同的情况下进行后续的一致性计算。

除了这两个属性之外,我们对点云进行简单的分割方法。我们首先通过RANSAC算法进行平面拟合,提取场景中的大型平面,如地面和墙壁。然后我们对剩余的点云应用一些欧几里得聚类[32],并获得个体对象的聚类,如车辆和树木。我们为点分配一个数字 c c c,表示它属于哪个类别。 点云中点的最终属性可以表示为:

在这里插入图片描述

这是点 P P P的位置、法线向量、反射率和分割类别。

3.3 外参优化 (重点内容)

1)一致性函数: 点 p p p可以通过初始外参 T T T投影到图像帧中:

在这里插入图片描述

在这里,我们假设内参 K K K已知。然后对于每个掩模 M i M_i Mi,我们可以得到一组落在其上的点:

在这里插入图片描述

可以通过以下公式计算点集 P i P_i Pi的一致性得分:

在这里插入图片描述

其中, F R ( ⋅ ) 、 F N ( ⋅ ) 、 F S ( ⋅ ) F_R(·)、F_N(·)、F_S(·) FR()FN()FS()是反射率、法线向量和分割类别的对应函数, w R w_R wR w N w_N wN w S w_S wS是它们的权重。在实践中,我们使用 w R = w N = w S w_R = w_N = w_S wR=wN=wS f ( ⋅ ) f(·) f()是根据Pi中点的数量进行调整的函数。 反射率一致性可以通过所有值的标准差(std)简单计算

在这里插入图片描述

假设大小为(3 × n)的矩阵 A A A P i P_i Pi中的法线向量组成。法线向量的一致性函数 F N F_N FN表示为:

在这里插入图片描述

它是所有**向量成对点积的平均值。对于分割类别,首先对每个类别的点进行计数并按从大到小的顺序排序。**这表示为 ( c 0 , c 1 , … ) (c_0,c_1,…) (c0c1),其中 c i c_i ci是第 i i i个最大类别中的点数。一致性是所有类别的加权和:

在这里插入图片描述

…详情请参照古月居

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

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

相关文章

安卓Ampere Pro(充电评测)v4.09解锁专业版,供大家学习研究参考!

软件功能 支持查看充电的状态,充电速度是否正常,都可以轻松测试。 强大的测试功能,让你全面了解充电的状态。 温度过高提醒,保证手机的温度不过高,及时拔掉电源。 设置通知优先级,最高、较高、默认、较…

Zookeeper集群 + Kafka集群的详细介绍与部署

文章目录 1. Zookeeper 概述1.1 简介1.2 Zookeeper的工作机制1.3 Zookeeper 主要特点1.4 Zookeeper 数据结构1.5 Zookeeper的相关应用场景1.5.1 统一命名服务1.5.2 统一配置管理1.5.3 统一集群管理1.5.4 服务器动态上下线1.5.5 软负载均衡 1.6 Zookeeper 选举机制1.6.1 第一次启…

SI基础知识:说一说玻纤布规格(如1078)的具体含义,以及等效Dk计算

玻纤布的编织包含经向和纬向两个不同的方向,这些玻璃布并没有被紧密放置在一起,在玻纤布上会有开窗,而且经向开窗和纬向开窗大小不同。 IPC定义了每种玻纤布的编织密度以及所用玻璃丝的规格,如下图所示。 看上面的表格&#xff0c…

Fast DDS之Subscriber

目录 SubscriberSubscriberQosSubscriberListener创建Subscriber DataReaderSampleInfo读取数据 Subscriber扮演容器的角色,里面可以有很多DataReaders,它们使用Subscriber的同一份SubscriberQos配置。Subscriber可以承载不同Topic和数据类型的DataReade…

【算法学习】归并算法Merge Sort总结

归并排序思路简单,速度仅次于快速排序,为稳定排序算法,一般用于对总体无序,但是各子项相对有序的数列。 1. 基本思想 归并排序使用分治思想,分治模式下每一层递归有三个步骤: 分解(divide)&a…

1813_ChibiOS的RT系统层

全部学习汇总: GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github.com) 在ChibiOS中有一个RT系统层的部分,也就是内核的系统层。这个在其他的OS中是没有看到的,这里针对这一部分做一个简单的认识。…

送水订水商城小程序的作用是什么

无论瓶装水还是桶装水在市场中的需求度总是很高,相关送水公司或零售水企业也不少,消费者的购物方式一般是品牌直售或通过经销商,零售水则是超市/商场等场景。随着人们健康品质生活提升,家庭或办公等场所对桶装水或瓶装水的需求日益…

启山智软商城源码新官网震撼上线

欢迎来到我们全新升级的启山智软官网! 启山智软一直致力于提供最优质的产品和服务,不断为客户创造更多价值。为了更好地展示我们的品牌形象和产品特色,我们进行了全新的网站升级。新官网拥有更加美观、简洁、直观的界面设计,更加智…

洗地机哪个品牌最好最实用?口碑最好的洗地机

当代人的家庭清洁方式,都悄摸摸的用上了智能扫地机或者洗地机,但是扫地机机器人对于一些顽固污渍的清洁能力略差,人不在家里的时候总担心会碰到啥东西卡机,所以,洗地机更适合对于清洁有高要求的人群,毕竟自…

开发过程中的八种确认方法

确认是确保做了正确的事情,方向不偏。确认可以在项目前期做,也可以在项目后期做,提倡持续确认、质量左移。在前期主要是检测需求的质量,在后期是检测完成的系统是否真的是客户所需。开发过程中常见的八种确认手段有: 1…

【APUE】进程

目录 一、进程标识符 pid 1.1 类型 pid_t 1.2 命令 ps 1.3 getpid && getppid 二、进程的产生 2.1 fork 简介 2.2 fork 实例 1 2.3 fork 实例 2 2.4 vfork 三、进程的消亡及释放资源 3.1 wait 3.2 waitpid 3.3 应用:进程分配初探 四、exec…

基于SSM的疫情期间高校师生外出请假管理系统设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

十八、字符串(1)

本章概要 字符串的不可变 的重载与 StringBuilder 意外递归字符串操作 字符串操作毫无疑问是计算机程序设计中最常见的行为之一。 在 Java 大展拳脚的 Web 系统中更是如此。在本章中,我们将深入学习在 Java 语言中应用最广泛的 String 类,并研究与之相关…

功率放大器在材料测试中的应用有哪些

功率放大器在材料测试中有广泛的应用,尤其在材料的物理、电子和热学性质等方面的研究中起到了重要的作用。下面Aigtek安泰将详细介绍功率放大器在材料测试中的一些主要应用。 电学特性测试:功率放大器用于材料的电学特性测试,如电导率、介电常…

划词搜索IP插件

插件背景 浏览器插件可以让用户根据个人工作及日常需求来定制浏览器的功能和界面。当用户在网页上看到一些IP地址时,或许会好奇它们的来源和归属。传统的做法是,用户需要复制这个IP地址,然后跳转到埃文科技旗下的http://IPUU.net网站进行查询…

分类预测 | MATLAB实现基于BiLSTM-AdaBoost双向长短期记忆网络结合AdaBoost多输入分类预测

分类预测 | MATLAB实现基于BiLSTM-AdaBoost双向长短期记忆网络结合AdaBoost多输入分类预测 目录 分类预测 | MATLAB实现基于BiLSTM-AdaBoost双向长短期记忆网络结合AdaBoost多输入分类预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.MATLAB实现基于BiLSTM-…

MMoE: 基于多门专家混合的多任务学习任务关系建模

文章链接:Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts 发表会议: KKD 2018 (Knowledge Discovery and Data Mining,数据挖掘领域顶会) 目录 1.背景介绍Recommendation SystemMulti-…

wps excel js编程

定义全局变量 const a "dota" function test() {Debug.Print(a) }获取表格中单元格内容 function test() {Debug.Print("第一行第二列",Cells(1,2).Text)Debug.Print("A1:",Range("A1").Text) }写单元格 Range("C1").Val…

【UE】两步实现“从UI中拖出Actor放置到场景中”

效果 步骤 1. 创建两个actor蓝图 在两个蓝图中分别添加立方体和球体形状的静态网格体组件,注意移动性设置为“可移动” 设置碰撞预设为“NoCollsion” 2. 先创建一个控件蓝图 打开控件蓝图,在画布面板中添加两个按钮 为按钮添加“按压时”和“松开时”的…

手工测试的迷茫:除了重复劳动,到底还有什么?

我是在2008年毕业的,三本的学校,不上不下的专业水平,毕业的时候,恰好遇到了金融危机。校园招聘里阴差阳错的巧合,让我走上了软件测试工程师的道路。 入职第一天,来了个高大上的讲师,记得他是这…