Density-invariant Features for Distant Point Cloud Registration 论文解读

news2024/11/15 9:07:48

目录

一、导言

二、先导知识

1、FCGF

三、相关工作

1、深度学习的点云配准

2、对抗密度变化的方法

3、对比学习

四、GCL方法

1、U型曲线假设


一、导言

        该论文来自于ICCV2023,上海交通大学提出的基于组对比学习的方案,来提取密度不变的几何特征,并用于户外的LiDAR点云的点云配准,该论文是三维点云问题中第一次研究密度变化

        由于以往的基于深度学习的配准方法如Predator,在处理远距离点云时会出现严重配准错误,这是因为两个点云观测点密度存在差异。本文提出训练密度不变的特征提取器,对比学习的正样本应该是独立同分布的。使用组对比学习方法,将收集到的LiDAR点云数据组进行对齐,从而保证对齐后的特征是密度不变的。

二、先导知识

1、FCGF

        FCGF来自于Feature Correspondence Graph for Fast Point Cloud Registration这篇论文,该论文用于对三维点云测量后数据消除伪样本对。FCGF中提到使用全卷积网络就算点云特征,以及提出新的度量学习损失。

        FCGF中网络结构使用的是Res-Unet,并且所有的卷积操作使用的是三维的Voxel Conv而不是KPconv,但本论文的结构中并没有用类似的残差结构,只是借用了Voxel Conv。

        FCGF中的损失函数考虑了四种情况:对比损失、三元组损失、最难对比损失和最难三元组损失。

(1)传统的标准对比损失

        正样本尽量靠近,负样本保持α距离远。其中y_{ij}表示是否为正样本对,是为1,不是为0,D_{ij}表示点对距离,α为负样本对最小距离,下标+表示max(0, )

        注意:先运算+,后运算平方。使Loss尽量为0,正样本对尽量为0。

        L_{contrast}=y_{ij}D_{ij}^2+(1-y_{ij})[\alpha-D_{ij}]^2_+

(2)FCGF中的对比损失

        FCGF中改进的对比损失基于正样本距离应小于m_p,负样本距离应大于m_n。其中I_{ij}与上公式y_{ij}相同,正样本对为1,否则为0,负样本对指示为\bar{I},负样本对为1,否则为0。

        L_{margin}=I_{ij}[D(f_i,f_j)-m_p]^2_+,\bar{I}_{ij}[m_n-D(f_i,f_j)]^2_+

(3)三元组损失

        三元组损失中包含锚点、正样本点和随机的一个负样本点。尽量使得锚点靠近正样本点,远离负样本点,使得Loss尽量为0。

        L(f,f_+,f_-)=[m+D(f,f_+)-D(f,f_-)]^2

(4)最难对比损失

        最难对比损失中,|P|表示正样本数量,|P_i|,|P_j|均表示以i,j为球心的负样本数量,\lambda_n代表负样本权重系数。最难对比损失保证每个正样本可以受到最难的负样本的影响。

     L_C=\sum_{(i,j)\in P} \begin{Bmatrix} [D(f_i,f_j)-m_p]^2_+/|P| \qquad \qquad \qquad \quad \\ +\lambda_nI_i[m_n-min_{k \in N}D(f_i,f_k)]^2_+ /|P_i| \\ + \lambda_nI_j[m_n-min_{k \in N}D(f_j,f_k)]^2_+ /|P_j| \end{Bmatrix}

(5)最难三元组损失

        最难三元组损失相同,找到每个正样本中最难的负样本,并最小化正负样本之间的间隔。

        L_T=\frac{1}{Z}\sum_{(i,j \in P)} (I(i,k_i)[m+D(f_i,f_j)-min_{k \in N}D(f_i,f_k)]_+ +I(j,k_j)[m+D(f_i,f_j)-min_{k \in N}D(f_j,f_k)]_+)

三、相关工作

1、深度学习的点云配准

(1)基于Patch的配准

        一般会考虑在Patch嵌入基础上应用对比损失,再对局部Patch提取特征。但由于基于Patch的方法经常重复计算,且大部分Patch重叠,而计算缓慢且冗余。

(2)基于完全卷积

        在FCGF中,考虑到全卷积(Voxel Conv)工作来在一次前传递过程中提取整个点云的密集特征,并将对比损失用在每一个点。

        在D3Feat和Predator中更是使用Kpconv以及增加重叠注意机制,来提高效率。虽然在室内的近距离激光雷达问题中重叠和效率是最重要的,但对于远距离室外点云来说,密度方差问题才是根本问题,这也是本文的改进中心。

2、对抗密度变化的方法

(1)体素化:通过将点云转化为体素形式降低密度差异,但效果有限。

(2)采样方法:如最远点采样,通过主动丢弃部分点来贴近密度一致,但破坏原有特征描述。

(3)密度估计方法:基于距离的方法、核密度估计KDE、SDV方法,但需要足够量的采样才能对抗密度变化。

3、对比学习

        对比学习一般用于视觉领域,现在也扩展到音频、文字等,由于稳定性和信息量的提高,采样更多、更困难的负样本来提高特征质量,对正样本的改进很少。本文考虑使用组对比学习,来优化三维点云配准中的密度变化问题。

四、GCL方法

GCL方法如何用在点云配准?

        参考上图的左侧部分,对于原始的backbone进行多次GCL工作,更新backbone的权重,再砍右侧部分,将backbone作为推理框架(测试框架)的一部分,输入源点云和目标点云,通过ransac后处理,求得姿态估计。

GCL方法

        GCL方法共有三个阶段:

        首先,在输入的点云中随机采样一个中心点云组,以及周围采样多个临近点云(保证均匀分布),形成多个点云组。

        然后,计算每个点云组内部的特征相似度,并最小化组内特征差异,提高特征密度不变性。

        最后,最大化不同组之间的特征差异,增强特征区分度。

以往的PCL方法

        PCL(Pair contrastive learning)成对对比学习,指的是以往使用点对关系来进行点云配准的工作。

1、U型曲线假设

        由于传统的成对对比学习中采样存在偏差,正样本特征并不是独立分布的,而存在强相关性,所以我们考虑这个强相关性是满足什么共性。

        过去的近距离点云配准工作中,正样本近距离存在强相关性,远距离存在弱相关性,不会对近距离点云造成大的影响。而远距离点云配准后,强相关性消失,更容易收到采样影响。

        对于下图来说,L_a,L_b表示两个激光雷达位置,位置不变,对于共线的点c_1,c_2,c_3分别与两个激光雷达测量点与雷达距离得到x,y,当采样多个点c_i时满足右图U型曲线。 

那为什么容易采样到共线的点呢?

        由于点云密度不一致的问题,导致对于室外场景远距离点云数据中,更容易采集到路边这种点,导致密度较大,此时再进行统计点云数据,会出现多条共线的点(被迫),所以存在U型曲线,但对于外景的理解并没有意义,所以我们通过其他的方式克服这种采样的影响,从而诞生了GCL方法。

论文参考:https://arxiv.org/abs/2307.09788 

FCGF参考:FCGF

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

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

相关文章

【终端IDPS】开源安全平台Wazuh之Wazuh Server

引言 Wazuh是一个开源的、免费的企业级安全监控解决方案,专注于威胁检测、完整性监控、事件响应和合规性。它由部署在受监控系统的端点安全代理和管理服务器组成,服务器收集并分析代理收集的数据。Wazuh支持多平台,包括Windows、Linux、macOS…

Linux学习笔记4 重点!网络排障命令

网络排障命令 命令行下载工具wget wget https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.20.17.tar.gz wget https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.20.17.tar.gz 限速下载 wget --limit-rate1M https://mirrors.edge.kernel.or…

【已解决】Vue Duplicate keys detected: ‘[object Object]’

【已解决】Vue Duplicate keys detected: ‘[object Object]’ 在Vue项目开发过程中,我们可能会遇到这样的报错:“Duplicate keys detected: ‘[object Object]’. This may cause an update error.”。这个错误通常发生在Vue的虚拟DOM进行渲染更新时&a…

上书房信息咨询:医疗满意度调研

随着人们生活水平的不断提高,医疗服务的需求日益增长。近期,上书房信息咨询受托完成了某市医疗市场的满意度调研,旨在深入了解市民对医疗服务的评价和需求,为提升医疗服务质量提供有力支持。 近年来,某市致力于推进医…

鸿蒙ArkTS语言学习(五):扩展(函数)@Extend@Styles@Builder

如何实现结构、样式复用呢? Extend:扩展组件(样式、事件) 作用:将相同组件复用的属性结构抽取封装,将不同的结构通过传入参数进行修改。 1. 定义语法 Extend(组件名) function 函数名{ ... } 2. 调用 组件…

一起学习LeetCode热题100道(60/100)

60.单词搜索(学习) 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那…

selenium消除启动特征避免被反爬-使用已经打开的浏览器

selenium消除启动特征避免被反爬 启动特征很多,如何消除selenium启动特征呢?这个也是因站而异,如果规避常规的检测,做到以下2点就可以。 1 是消除window.navigator.webdriver的值; 2 是修改chromedriver.exe的源码…

鸿蒙开发 数组改变,ui渲染没有刷新

问题描述: 数组push, 数组长度改变,ui也没有刷新 打印出了数组 console.log(this.toDoData.map(item > ${item.name}).join(, ), this.toDoData.length) 原代码: Text().fontSize(36).margin({ right: 40 }).onClick(() > {TextPicker…

在SpringBoot项目中使用多线程(配合线程池)加快从MySQL导入数据到ElasticSearch的速度

文章目录 1. 准备工作1.1 索引库1.2 建表1.3 实体类1.3.1 item.java1.3.2 itemDocument.java 1.4 编写配置文件1.5 编写 Mapper 类和 Service 类 2. 没有使用多线程的情况2.1 编码2.2 测试结果 3. 使用多线程(配合线程池)的情况3.1 自定义类,…

EM-7肽;EM-7-NH2;CAS:289632-61-7

【EM-7 简介】 EM-7,也被称为EM-7-NH2,其化学名称为[D-Glu5,D-Trp7,9,10]-Substance P (5-11),分子式为C57H66N12O10S,分子量为1111.273。 【中文名称】(D-谷氨酰 5,D-色氨酰 7,9,10)-物质 P (5-11) 【英文名称】(D-Glu5,D-Trp7…

openlayers+vite+vue3实现规划某一特定行政区(二)

在前一期实现离线地图初始化的基础上,本文中主要阐述如何实现规划某一特定行政区,并展示其行政区的区县名称。 提示:因前文中阐述了如何实现离线地图的初始化,所以在此不再进行书写并详解初始化的过程和流程,如有不明…

Task-Embedded Control Networks for Few-Shot Imitation Learning

发表时间:CoRL 2018 论文链接:https://readpaper.com/pdf-annotate/note?pdfId4500197057754718210&noteId2424798567891365120 作者单位:Imperial College London Motivation:就像人类一样,机器人应该能够利用来…

力扣经典题目之->另一颗树的子树(subRoot是否是root的子树)

一:题目 本题需要用到力扣经典题目之->相同的树(递归判断两颗二叉树是否相同)-CSDN博客 中的isSameTree,直接cv即可。 二:代码 三:解释 第一个函数: 力扣经典题目之->相…

模型 分形理论

系列文章 分享 模型,了解更多👉 模型_思维模型目录。自相似,无限细节。 1 分形理论的应用 1.1 字节跳动的分形创新增长引擎 字节跳动作为一家全球领先的科技公司,其快速的发展和创新能力在业界引起了广泛关注。公司通过分形创新…

大数据-105 Spark GraphX 基本概述 与 架构基础 概念详解 核心数据结构

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

使用myAGV、Jetson Nano主板和3D摄像头,实现了RTAB-Map的三维建图功能!

引言 在现代机器人技术中,高精度的环境感知与建图是实现自主导航的关键。本文将展示如何使用myAGV Jetson Nano移动平台搭载Jetson Nano BO1主板,结合RTAB-Map和3D相机,实现更加立体和细致的环境建图。myAGV Jetson Nano具备SLAM雷达导航功能…

es的简易dsl语句

数据模式为文档,_doc格式数据,也就是json 数据 es根据_id查询数据 GET /index_name/_doc/document_id es根据_id删除数据 DELETE /index_name/_doc/document_id es查询mapping结构 GET /index_name/_mappings es查询index下所有数据(突破100…

9、LLaMA-Factory项目微调介绍

1、LLaMA Factory 介绍 LLaMA Factory是一个在GitHub上开源的项目,该项目给自身的定位是:提供一个易于使用的大语言模型(LLM)微调框架,支持LLaMA、Baichuan、Qwen、ChatGLM等架构的大模型。更细致的看,该项…

UG NX二次开发(C++)-获取曲面的相切曲面

文章目录 1、前言2、创建一个三维模型3、获取相切曲面的方法3、测试结果1、前言 最近一段时间,QQ群中的群友总问我一个问题,那就是如何获取曲面的相切曲面,我今天就把这个方法写出来,以帮助读者。 在UG二次开发中,查询了帮助文档,没有找到获取相切曲面的函数。所以采用N…

「C++系列」继承

文章目录 一、继承1. 基本概念2. 继承类型①公有继承(Public Inheritance)②私有继承(Private Inheritance)③保护继承(Protected Inheritance) 3. 继承的语法4. 构造函数和析构函数①构造函数案例②析构函…