厦大南洋理工最新开源,一种面向户外场景的特征-几何一致性无监督点云配准方法

导读

本文提出了INTEGER,一种面向户外点云数据的无监督配准方法,通过整合高层上下文和低层几何特征信息来生成更可靠的伪标签。该方法基于教师-学生框架,创新性地引入特征-几何一致性挖掘(FGCM)模块以提高伪标签的准确性,并利用锚点对比学习(ABCont)和混合密度学生(MDS)模块实现密度不变的特征学习。实验结果显示,INTEGER在大规模户外场景中表现出色,在多个数据集上达到了较高的配准精度和良好的泛化性,显著优于其他无监督方法

论文信息

  • 论文标题: Mining and Transferring Feature-Geometry Coherence for Unsupervised Point Cloud Registration

  • 作者: Kezheng Xiong, Haoen Xiang, Qingshan Xu, Chenglu Wen∗, Siqi Shen, Jonathan Li, Cheng Wang

  • 论文链接: https://arxiv.org/pdf/2411.01870

  • 项目地址: https://github.com/kezheng1204/INTEGER

动机(motivation)

当前无监督点云配准方法在大规模户外场景中面临的局限性:这些方法依赖于低层几何特征,但缺乏对高层上下文信息的有效整合,导致伪标签质量差、优化目标不够可靠,尤其在稠密度变化和低重叠场景下难以适用。此外,现有方法在处理复杂场景中的内点(inlier)与外点(outlier)时表现不够理想,使得生成的伪标签在噪声和变密度条件下缺乏鲁棒性。为解决这些问题,本文旨在利用特征-几何一致性挖掘来动态调整伪标签生成过程,通过整合高层上下文信息和几何特征来改进配准精度,实现无监督框架在户外大规模点云配准中的通用性和可靠性。

(1) 动机:新的内点(外点)倾向于分别聚集在特征空间中代表现有内点(外点)的潜在正(负)锚点周围。(2) 性能:INTEGER生成的伪标签相比于当前最先进的EYOC[12]更加稳健且准确。

(1) 动机:新的内点(外点)倾向于分别聚集在特征空间中代表现有内点(外点)的潜在正(负)锚点周围。(2) 性能:INTEGER生成的伪标签相比于当前最先进的EYOC[12]更加稳健且准确。

算法核心思想与实现

本文的核心算法是INTEGER,一个专为无监督点云配准设计的方法,主要通过三个模块实现:特征-几何一致性挖掘(Feature-Geometry Coherence Mining, FGCM)、基于锚点的对比学习(Anchor-Based Contrastive Learning, ABCont)和混合密度学生(Mixed-Density Student, MDS)。以下是每个模块的详细介绍:

The Overall Pipeline

The Overall Pipeline

1. 特征-几何一致性挖掘(FGCM)

FGCM模块负责生成和优化伪标签。为了提高伪标签的准确性,INTEGER采用教师-学生框架,其中教师模型动态适应每批次数据,进而产生较为精确的伪标签。FGCM包括以下步骤:

  • 初始种子匹配提议:FGCM首先通过简单的相似度阈值生成初始匹配对。

  • 特征-几何聚类:基于特征相似度,FGCM逐步扩展初始匹配,利用锚点(正锚点和负锚点)来聚类潜在内点和外点。同时,空间兼容性过滤用于进一步排除不一致的外点。

  • 批次自适应:在每次前向传播中,FGCM会自适应调整教师模型,使其更符合当前批次数据的特征分布,进而生成更精确的伪标签。这一自适应过程利用InfoNCE损失,使教师能够有效区分特征空间中的内点和外点。

2. 基于锚点的对比学习(ABCont)

ABCont模块用于增强特征空间中的鲁棒性,通过锚点约束实现有效的对比学习。在特征空间中,ABCont利用正负锚点代表整体的内点和外点,从而减少了不一致标签带来的噪声,并减少了计算负担。具体实现包括:

  • 伪标签对比损失:ABCont定义了一种基于锚点的对比损失(Lcorr),对正负锚点进行分组,以区分内点和外点。

  • 对比学习目标:通过将锚点作为学习目标,ABCont使学生模型能够在特征空间中学习到与教师模型一致的特征表示,并提高学生模型在新数据上的泛化能力。

3. 混合密度学生(MDS)

MDS模块用于解决点云密度变化对配准结果的影响,通过密度不变的特征学习来增强鲁棒性。MDS主要步骤如下:

  • 混合密度特征匹配:通过对点云进行不同密度的采样,MDS在密度较低和较高的点云中分别提取特征,然后利用ABCont来匹配这些不同密度的特征,进而学习到密度不变的特征。

  • 损失聚合:MDS在稠密和稀疏特征匹配上都使用ABCont损失,通过结合两个损失函数来优化学生模型,使其在密度变化的情况下也能保持较好的特征匹配性能。

4. 整体流程

INTEGER算法的整体训练流程如下:

  1. 教师初始化:首先在合成数据上初始化教师模型,生成初始伪标签。

  2. FGCM自适应伪标签生成:FGCM模块对教师模型进行批次自适应调整,并生成伪标签。

  3. ABCont对比学习:通过基于锚点的对比学习,ABCont模块使学生模型能够在特征空间中学习到与教师一致的特征表示。

  4. MDS密度不变特征学习:MDS模块利用不同密度的点云数据,通过密度不变特征学习增强学生模型的泛化能力。

  5. 更新教师模型:通过迭代训练,教师模型不断学习新的伪标签,为学生模型提供更准确的监督信号。

5. 算法实现的关键技术点

  • 特征-几何一致性:通过结合高低层信息,确保伪标签能够准确地包含内点对应关系。

  • 锚点对比学习:利用锚点来增强特征空间的一致性,使得伪标签在噪声和密度变化条件下更加稳健。

  • 密度不变学习:利用MDS模块实现点云在稀疏和密集场景下的特征一致性,提升算法的鲁棒性。

实现

Comparisons with State-of-the-Art Methods

Comparisons with State-of-the-Art Methods

FGCM自适应前后:逐点特征和对应相似性分布表明,自适应会产生更多的判别特征。

FGCM自适应前后:逐点特征和对应相似性分布表明,自适应会产生更多的判别特征。

INTEGER消融研究。S.T.I表示综合教师初始化。PBSA和FGC分别表示每批自适应和特征几何聚类

INTEGER消融研究。S.T.I表示综合教师初始化。PBSA和FGC分别表示每批自适应和特征几何聚类

总结 & 局限性

本文提出了INTEGER,一种用于点云配准的无监督新方法,通过整合低层几何信息和高层上下文信息来生成可靠的伪标签。该方法引入了特征-几何一致性挖掘模块(FGCM),用于动态地对教师模型进行自适应调整,并基于特征和几何空间进行稳健的伪标签挖掘。然后,我们设计了混合密度学生(MDS)以学习密度不变的特征,并通过锚点对比学习(ABCont)实现高效的对比学习。大量实验表明,INTEGER在两个大型户外数据集上的表现优异,尽管是无监督方法,其结果依然与当前最先进的监督方法相当,甚至在远距离场景中优于现有的无监督方法。此外,我们的方法在未见数据集上的泛化能力也表现出色。

局限性

所提出方法的局限性主要有两点:

  • 方法依赖于教师模型的质量。如果教师模型不准确,特征空间可能会变得过于嘈杂,尤其是在远距离场景下,这会阻碍FGCM中特征-几何聚类的效果。一个可能的改进方案是开发更稳健的教师模型初始化策略。

  • 与现有方法相比,由于FGCM模块中采用了迭代的方法,我们的方法在获取伪标签的速度上稍慢。未来的工作可以探索更高效的伪标签挖掘策略

本文仅做学术分享,如有侵权,请联系删文!

如何利用无监督方法将点云配准做到又准又鲁棒?详细解读24年最新开源的五个State-of-the-Art算法
👇👇👇👇👇👇👇👇👇👇

点击下方卡片

第一时间获取最热行业热点资讯,最新智驾机器人行业技术

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

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

相关文章

模型运行速度笔记: s/epoch VS s/iter

1 概念介绍 在模型训练中: s/epoch 表示每个epoch所需的秒数,即完成一轮完整数据集训练的时间。s/iter 表示每个iteration(迭代)所需的秒数,即处理一个batch的时间。 它们的关系是: 2 举例 比如我tra…

k8s 中传递参数给docker容器

文章目录 docker启动时传递参数使用k8s env传递完全覆盖 ENTRYPOINT 和 CMD 在 Kubernetes 中,可以通过多种方式将参数传递给 Dockerfile 或其运行的容器,常见的方式包括使用环境变量、命令行参数、配置文件等。以下是一些常用的方法: docker…

Map Set

在学习TreeMap和TreeSet之前需要先学习有关搜索树的相关知识以及接口Map和Set。 1. 搜索树 1.1 概念 二叉搜索树又称二叉排序树,其特点是,该节点的左边都比其小,右边都比其大,每一棵子树都必须满足这个条件。如下图所示例子。2…

Android OpenGLES2.0开发(八):Camera预览

严以律己,宽以待人 引言 终于到该章节了,还记得Android OpenGLES2.0开发(一):艰难的开始章节说的吗?写这个系列的初衷就是因为每次用到GLSurfaceViewCamera预览时,总是CtrlC、CtrlV从来没有研究…

基础 IO

目录 一、基本共识 二、复习C语言中的文件操作 三、与文件操作有关的系统调用接口 1. open 与 close 1.1 umask 2. write 3. read 四、如何理解文件 1. 文件描述符 fd 2. 文件fd分配规则 3. 重定向的引入 4. 重定向的本质 5. dup2 6. 理解 >、>>、…

ThriveX 博客管理系统前后端项目部署教程

前端 前端项目地址:https://github.com/LiuYuYang01/ThriveX-Blog 控制端项目地址:https://github.com/LiuYuYang01/ThriveX-Admin Vercel 首先以 Vercel 进行部署,两种方式部署都是一样的,我们以前端项目进行演示 首先我们先…

[含文档+PPT+源码等]精品基于springboot实现的原生Andriod手机使用管理软件

软件开发环境及开发工具: 数据库管理工具:phpstudy/Navicat或者phpstudy/sqlyog 开发工具:Android Studio 后台管理系统涉及技术: 后台使用框架:Springboot 前端使用技术:Vue,HTML5,CSS3、JavaScript等…

华为三层交换机禁止VLAN间通讯(两种解决方案)

在日常办公中,有时会禁止内网中各个部门间的访问,例如: ①访客不能访问内网任何终端及服务器 ②财务部门不能被其他部门访问 实验环境:华为Ensp模拟器 内网架构:三层网络 环境说明:三层交换机承载着网…

为以人工智能为中心的工作负载重新设计的全局控制台

MinIO 控制台多年来一直是一个不断发展的产品。每次学习时,我们都会思考如何改进交互框架中这个非常重要的部分。首先是控制台,它在推出后的一年内就被广泛采用。更具体地说,超过 10K 个组织。接下来是企业控制台。这从对象存储与其 GUI 之间…

stm32在linux环境下的开发与调试

环境安装 注:文末提供一键脚本 下载安装stm32cubeclt 下载地址为:https://www.st.com/en/development-tools/stm32cubeclt.html 选择 linux版本下载安装 安装好后默认在家目录st下 > $ ls ~/st/stm32cubeclt_1.16.0 …

【leetcode】N皇后 回溯法c++

目录 51.N皇后 52.N皇后II 51.N皇后 51. N 皇后 - 力扣(LeetCode) 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间…

GESP4级考试语法知识(贪心算法(六))

寻找平面上的极大点代码 #include<iostream> #include<algorithm> using namespace std; struct node {int x,y; }a[101]; bool vis[101]; bool cmp(node A,node B) {if(A.x!B.x) return A.x<B.x;return A.y<B.y; } int main() {int n;cin>>n;for(int…

如何构建高效的知识库系统?实现智能信息管理

在当今信息化迅速发展的时代&#xff0c;企业和组织面临着海量信息的挑战。如何有效地管理这些信息&#xff0c;使其安全、易于访问&#xff0c;并且能够快速响应用户的需求&#xff0c;成为了智慧管理的核心。而知识库系统(Knowledge Base System)正是为了解决这一问题而应运而…

动态规划29:673. 最长递增子序列的个数

动态规划解题步骤&#xff1a; 1.确定状态表示&#xff1a;dp[i]是什么 2.确定状态转移方程&#xff1a;dp[i]等于什么 3.初始化&#xff1a;确保状态转移方程不越界 4.确定填表顺序&#xff1a;根据状态转移方程即可确定填表顺序 5.确定返回值 题目链接&#xff1a;673.…

AI驱动的桌面笔记应用Reor

网友 竹林风 说&#xff0c;已经成功的用 mxbai-embed-large 映射到 text-embedding-ada-002&#xff0c;并测试成功了。不愧是爱折腾的人&#xff0c;老苏还没时间试&#xff0c;因为又找到了另一个支持 AI 的桌面版笔记 Reor Reor 简介 什么是 Reor ? Reor 是一款由人工智…

AWS CLI

一、介绍 1、简介 aws configure 是 AWS 提供的一个命令行工具&#xff0c;用于快速配置 AWS CLI&#xff08;命令行界面&#xff09;和 AWS SDK&#xff08;软件开发工具包&#xff09;中使用的凭证、默认区域以及输出格式。这个命令是 AWS CLI 中的一个配置工具&#xff0c…

Unity图形学之Shader2.0 深度测试

1.什么是深度&#xff1a;物体1和物体2的深度都是10&#xff0c;深度是物体和相机视角水平垂线的投影 物体3的深度是8 2.什么是深度缓存 要渲染的像素的深度信息&#xff0c;比当前存在Gbuffer里的缓存的深度信息小&#xff08;靠近相机&#xff09;的时候&#xff0c;就会替换…

39.安卓逆向-壳-smali语法3(方法)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;图灵Python学院 本人写的内容纯属胡编乱造&#xff0c;全都是合成造假&#xff0c;仅仅只是为了娱乐&#xff0c;请不要盲目相信。 工…

QT QLineEdit失去焦点事件问题与解决

本文介绍如何获得QLineEdit的失去焦点事件和获得焦点的输入框也会触发失去焦点事件的问题&#xff01; 目录 一、QLineEdit获得失去焦点事件 1.自定义类继承自QLineEdit 2.重写 focusOutEvent 3.使用 二、失去焦点事件问题 1.问题描述 2.问题解决 三、源码分享 lineed…

【Goland】——Gin 框架中间件详解:从基础到实战

中间件是 Web 应用开发中常见的功能模块&#xff0c;Gin 框架支持自定义和使用内置的中间件&#xff0c;让你在请求到达路由处理函数前进行一系列预处理操作。这篇博客将涵盖中间件的概念、内置中间件的用法、如何编写自定义中间件&#xff0c;以及在实际应用中的一些最佳实践。…