基于图注意力网络的两阶段图匹配点云配准方法

Two-stage graph matching point cloud registration method based on graph attention network— 基于图注意力网络的两阶段图匹配点云配准方法

从两阶段点云配准方法中找一些图匹配的一些灵感。文章提出了两阶段图匹配点云配准网络(TSGM-Net) TSGM-Net

在这里插入图片描述

摘要概括

  1. 首先,我们设计了动态图到点(DGTP)模块来学习点云局部图的特征表示,以提高局部特征的识别能力

  2. 然后,通过Transformer和引入的边缘阈值λ动态建立边缘,并使用图注意网络提取点云的全局特征以考虑拓扑结构中相似特征之间的关系。

  3. 同时,从节点本身、局部和全局三个维度计算分数,并求和以进行关键点检测。

  4. 最后,提出了一种两阶段图匹配方法,将具有高度相似特征的关键点分为不同的点组,并在第一阶段图匹配中建立点组的对应关系。在第二阶段的图匹配中建立了对应点群中的点的对应关系,从而减少了相似特征对点云配准精度的影响。

构造出来的是一个双阶段的点云配准网络。

导言与相关工作

因为自己对3d相关的一些知识接触的比较少,因此对于点云配准的相关经典算法不在进行解释,只是总结一下与本文密切相关的一些信息,着重学习网络和各个模块的设计方法。

两阶段图匹配点云配准网络(TSGM-Net),以更好地处理具有重复几何结构的点云。

  • 我们设计了一个动态图到点(DGTP)模块,通过为一个点及其多个最近点构建局部完整图并将图的特征表示为点的特征来提取局部特征。

  • 基于局部特征,使用图注意力网络提取点云的全局特征。基于Transformer计算的点间相关性与引入的边缘阈值λ进行比较,为重要节点建立边缘,动态构建点云的全局不完全图

  • 同时,关键点检测模块计算每个点的自得分、局部得分和全局得分,并将三者得分相加得到总得分

  • 之后,该模块会将总得分最大的前 N ​​个点作为关键点,并使用 K 最近邻(KNN)将所选关键点划分为多个点组。对全局视图中的点群进行第一阶段图匹配,然后对局部视图中相应点群中的点进行第二阶段图匹配

采用两阶段图匹配方法,将特征高度相似的点划分为不同的点组进行匹配,以减少错误对应的产生。

在这里插入图片描述

文章的贡献总结

  1. 我们提出了一种两阶段图匹配方法。 第一阶段对点群进行图匹配,第二阶段对对应点群中的点进行图匹配,解决特征高度相似导致的对应错误问题。

  2. 我们设计了一个DGTP模块(动态图到点)。 我们为点云构建局部完整图,并利用图的特征表示作为点的特征,以提高提取局部特征的能力。

  3. 我们利用图注意力网络提取全局特征,并引入边缘阈值λ来动态构造重要节点的边缘,构建点云的全局不完全图,以充分利用图注意力网络来聚合拓扑结构。

  4. 我们从节点本身、局部和全局三个维度计算分数进行关键点检测,从而提高关键点的可靠性。

核心方法—问题描述

  1. 对于三维空间中的两个点云:X和Y 且 X为源点云,Y 为目标点云。

X = { x j ∈ R 3 ∣ j = 1 , ⋯ , J } and  Y = { y k ∈ R 3 ∣ k = 1 , ⋯ , K } X=\left\{x_{j} \in \mathbb{R}^{3} \mid j=1, \cdots, J\right\} \text { and } Y=\left\{y_{k} \in \mathbb{R}^{3} \mid k=1, \cdots, K\right\} X={xjR3j=1,,J} and Y={ykR3k=1,,K}

xj 是X中第j个点的坐标,yk 是Y中第k个点的坐标 J 和 K 是 X 和 Y 中的点的个数。

  1. 点云配准的任务是寻找最优的刚性变换{R,t}对齐两个点云 X 和 Y。其中R代表的是旋转矩阵 t ∈ R3 是平移矩阵

R ∈ S O ( 3 ) R \in S O(3) RSO(3)

  1. 假设 J ==K 且 xj 和 yj 是一对对应点,我们可以通过最小化下面的方程来对齐两个点云。

E ( R , t ) = 1 J ∑ j J ∥ R x j + t − y j ∥ 2 E(R, t)=\frac{1}{J} \sum_{j}^{J}\left\|R x_{j}+t-y_{j}\right\|^{2} E(R,t)=J1jJRxj+tyj2

然而,通常情况下,J≠K,并且X和Y中的点的顺序是不同的。 也许xj和yk是一对对应点,并且X中可能没有点与Y中的点对应。

  1. 对于这种情况,我们决定选择 N 个关键点 点云配准是通过最小化方程来实现的

X k = { x p k ∈ R 3 ∣ p = 1 , ⋯ , N } X^{k}=\left\{x_{p}^{k} \in \mathbb{R}^{3} \mid p=1, \cdots, N\right\} Xk={xpkR3p=1,,N}

Y k = { y q k ∈ R 3 ∣ q = 1 , ⋯ , N } . Y^{k}=\left\{y_{q}^{k} \in \mathbb{R}^{3} \mid q=1, \cdots, N\right\} . Yk={yqkR3q=1,,N}.

其中 M 是从 Xk 中的点到 Yk 中的点的映射

E ( M , R , t ) = 1 N ∑ p N ∥ R x p k + t − y M ( x p k ) k ∥ 2 , E(M, R, t)=\frac{1}{N} \sum_{p}^{N}\left\|R x_{p}^{k}+t-y_{M\left(x_{p}^{k}\right)}^{k}\right\|^{2}, E(M,R,t)=N1pN Rxpk+tyM(xpk)k 2,

核心过程具体实现

整体概述

TSGM-Net的架构如图所示
在这里插入图片描述

根据刚性变换 :

{ R i − 1 , t i − 1 } \left\{R_{i-1}, t_{i-1}\right\} {Ri1,ti1}
通过 i − 1 次迭代求解从而得到变换后的点云Xi−1

  • 对于输入点云 Xi−1 和 Y,我们使用 DGTP 模块进行局部特征提取,使用图注意网络进行全局特征提取

也就是对应图中的第一个部分和第二个部分所描述的结构。

  • 选择质量较高的关键点,并基于KNN将其划分为点组。

通过KNN划分为多个组。

  • 基于组的特征提取用于学习每个点组中关键点拓扑结构并进行图特征表示。

也就是对应图中的第二个部分关键点检测模块和分组的阶段。

  • 第一阶段的图匹配是对每个点群的图特征表示进行,以建立点群之间的对应关系。 第二阶段图匹配根据点群与关键点特征的对应关系建立对应关系M

M = { M R , M t } M=\left\{M_{R}, M_{t}\right\} M={MR,Mt}

对应点群中的点。

最后通过SVD的分解运算得到最后所需要第i次迭代的刚性变换的矩阵。

在这里插入图片描述

在这里插入图片描述

图1 TSGM-Net架构图。 TSGM-Net从点云Xi−1和Y中提取局部和全局特征,并通过关键点检测模块获得关键点。 在两阶段图匹配中,首先将关键点分为点组,并使用图特征表示进行基于组的特征提取。 然后,通过第一阶段的图匹配建立Xi−1和Y之间的点群对应关系Mgroup。 基于Mgroup,对对应点群的关键点进行第二阶段图匹配,得到两个点云之间的对应关系MR和Mt。 最后,使用基于 MR 和 Mt 的 SVD 求解第 i 次迭代的刚性变换 {Ri,ti}

Dynamic Graph-to-Point-DGTP模块

动态图到点模块(DGTP)

论文中对局部特征提取的描述部分

X中的点xj ∈ R3,将xj的3D坐标映射到高维空间,以获得xj的局部特征Fxj。 因此,我们使用DGTP进行特征提取,得到X的局部特征为Fx ∈ RF。

在这里插入图片描述

对于距离xj最近的点xi,通过MLP建立两点之间的边缘特征fji ∈ RF,并将该边缘特征作为点xi的特征

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

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

相关文章

uniapp跨平台开发---webview调用app方法

1.app端实现 注意:为了实现实时通信,app端页面是.nvue 代码实现 <template><view class"content"><view class"web-view"><web-view class"web-view" :src"url" ref"webview" onPostMessage"o…

【专题】2024年悦己生活消费洞察报告汇总PDF洞察(附原数据表)

原文链接&#xff1a; https://tecdat.cn/?p38654 在当今时代背景下&#xff0c;社会发展日新月异&#xff0c;人们的生活方式与消费观念正经历深刻变革。MoonFox 月狐数据的《2024 年悦己生活消费洞察报告》聚焦于这一充满活力与变化的消费领域。随着就业、婚姻等社会压力的…

生产看板管理系统涵盖哪些方面

嘿&#xff0c;各位搞生产管理的朋友&#xff0c;肯定都碰到过些麻烦事儿吧。我就寻思着&#xff0c;能不能弄出个 “明明白白” 的工作场地呢&#xff1f;让员工和管理人员都能随时查查生产进度&#xff0c;一发现生产里有啥问题就能立马知道。 生产进度不好追踪生产过程不清…

密码学期末考试笔记

文章目录 公钥加密之前的部分 (非重点&#xff0c;关注工具怎么用&#xff0c;和性质)一、对称加密 (symmetric ciphers)1. 定义 二、PRG (伪随机数生成器)1. 定义2. 属性 三、语义安全 (Semantic Security)1. one-time key2. 流密码是语义安全的 四、分组密码 (Block Cipher)1…

workman服务端开发模式-应用开发-vue-element-admin挂载websocket

一、项目根目录main.js添加全局引入 import /utils/websocket 二、在根目录app.vue 中初始化WebSocket连接 <template><div id"app"><router-view /></div> </template><script>import store from ./store export default {n…

我的 2024 年终总结

2024 年&#xff0c;我离开了待了两年的互联网公司&#xff0c;来到了一家聚焦教育机器人和激光切割机的公司&#xff0c;没错&#xff0c;是一家硬件公司&#xff0c;从未接触过的领域&#xff0c;但这还不是我今年最重要的里程碑事件 5 月份的时候&#xff0c;正式提出了离职…

信创源代码加密的答案:信创沙箱

在信息化与工业化融合创新&#xff08;信创&#xff09;的背景下&#xff0c;企业面临着前所未有的数据安全挑战。SDC沙盒技术以其独特的隔离和保护机制&#xff0c;为信创环境提供了强有力的支持。以下是SDC沙盒在信创支持方面的优势&#xff0c;这些优势体现了其在保护企业数…

Leecode刷题C语言之根据第k场考试的分数排序

执行结果:通过 执行用时和内存消耗如下&#xff1a; int gk 0;int compare(const void* a, const void* b) {int* ua *(int**)a;int* ub *(int**)b;return ub[gk] - ua[gk]; }int** sortTheStudents(int** score, int scoreSize, int* scoreColSize, int k, int* returnSiz…

Linux 下SVN新手操作手册

下面来介绍Linux 下 SVN操作方法&#xff1a; 1、SVN的安装 Centos 7 安装Subversion sudo yum -y install subversion Ubuntu 安装Subversion sudo apt-get install subversion 自定义安装&#xff0c;官方地址&#xff1a;https://subversion.apache.org/ 2、SVN的使用…

ArcGIS Pro 3.4新功能3:空间统计新特性,基于森林和增强分类与回归,过滤空间自相关

目录 应用 1&#xff1a;它是相关性还是托布勒第一定律&#xff1f; 应用 2&#xff1a;将空间带入非空间模型 结论 在 ArcGIS Pro 3.4 中&#xff0c;我们在新的空间组件实用程序&#xff08;Moran 特征向量&#xff09;工具集中发布了一个新工具 - 从字段过滤空间自相关。…

自定义一个maven骨架 | 最佳实践

自定义一个maven骨架 | 最佳实践 目的&#xff1a;将一个多模块项目的基础结构制作成maven骨架&#xff0c;实现项目的快速构建&#xff0c;风格统一 公司内部会制定自己的规范及包结构。当创建新项目的时候就需要选择骨架&#xff0c;即可生成包结构。 Archetype都为不同类型的…

CTFHUB-web进阶(Bypassdisable_function)

LD_PRELOAD 来到首页发现有一句话直接就可以用蚁剑连接 根目录里有/flag但是不能看;命令也被ban了就需要绕过了 绕过工具在插件市场就可以下载 如果进不去的话 项目地址: #本地仓库;插件存放 antSword\antData\plugins 绕过选择 上传后我们点进去可以看到多了一个绕过的文件;…

workman服务端开发模式-GatewayWorker的使用

一、GatewayWorker介绍 Workerman是一个使用PHP开发的高性能组件&#xff0c;用于构建高性能的异步并发TCP、UDP、Unix Socket、HTTP、Websocket服务。 GatewayWorker是基于Workerman开发的一套TCP长连接的应用框架&#xff0c;实现了单发、群发、广播等接口&#xff0c;内置了…

oracle linux8.10+ oracle 23ai安装

介质准备&#xff1a; 数据库23ai https://edelivery.oracle.com 上述网站下载基础版本&#xff0c;本次未使用。 本次是安装了带补丁的版本&#xff1a; Database Release Update 23.6.0.24.10 GoldImage表示带补丁用于直接安装的软件包 查找888.1对应Primary Note for …

《软件设计的哲学》阅读摘要之设计原则

《软件设计的哲学》&#xff08;A Philosophy of Software Design&#xff09;是一本在软件架构与设计领域颇具影响力的书籍&#xff0c;作者 John Ousterhout 在书中分享了诸多深刻且实用的软件设计理念。书中列举的这些设计原则&#xff0c;汇聚了作者丰富的实战经验与深邃的…

uniApp打包H5发布到服务器(docker)

使用docker部署uniApp打包后的H5项目记录&#xff0c;好像和VUE项目打包没什么区别... 用HX打开项目&#xff0c;首先调整manifest.json文件 开始用HX打包 填服务器域名和端口号~ 打包完成后可以看到控制台信息 我们可以在web文件夹下拿到下面打包好的静态文件 用FinalShell或…

项目实战——高并发内存池

一.项目介绍 本项目——高并发内存池&#xff0c;是通过学习并模仿简化 google 的一个开源项目 tcmalloc &#xff0c;全称 Thread-Caching Malloc&#xff0c;即线程缓存的malloc&#xff0c;模拟实现了一个自己的高并发内存池&#xff0c;用于高效的多线程内存管理&#xff…

Apache Log4j漏洞复现

所用环境 宝塔云服务器 log4j2 是Apache的⼀个java日志框架&#xff0c;我们借助它进行日志相关操作管理&#xff0c;然而在2021年末log4j2爆出了远程代码执行漏洞&#xff0c;属于严重等级的漏洞。 apache log4j通过定义每⼀条日志信息的级别能够更加细致地控制日志⽣成地过…

自动驾驶控制算法-横向误差微分方程LQR前馈控制

本文是学习自动驾驶控制算法第六讲 前馈控制与航向误差以及前两节的学习笔记。 1 横向误差微分方程 以规划的轨迹作为自然坐标系&#xff0c;计算自车在轨迹上的投影点&#xff0c;进而计算误差&#xff1a; 如图所示&#xff0c;横向误差为 d d d&#xff0c;航向误差为 θ…

Apache RocketMQ 5.1.3安装部署文档

官方文档不好使&#xff0c;可以说是一坨… 关键词&#xff1a;Apache RocketMQ 5.0 JDK 17 废话少说&#xff0c;开整。 1.版本 官网地址&#xff0c;版本如下。 https://rocketmq.apache.org/download2.配置文件 2.1namesrv端口 在ROCKETMQ_HOME/conf下 新增namesrv.pro…