点云配准论文阅读1-Research on Three-Dimensional Point Cloud Registration Algorithm

Research on Three-Dimensional Point Cloud Registration Algorithm三维点云配准算法研究

Publisher: IEEE发行者 : IEEE

Cite This引用此内容

PDF

Yuqing Zhang; Shilong Sun; Jingjing Shang; Minghan Yang张玉清;孙世龙; 尚晶晶;杨明翰

Abstract:

According to the different processing steps and ideas, the point cloud registration algorithms are classified into five categories. The representative algorithms of each type are listed to summarize the proposed time, basic ideas and advantages and disadvantages of the algorithms. For the classical algorithm of point cloud registration based on feature extraction, the voxel grid filtering method is used to down-sampling the point cloud data before the sampling consistency initial alignment algorithm. We make an experimental comparison with classical algorithms to make an analysis from subjective evaluation and objective indicators. Finally, summarize the future challenges of point cloud registration.根据不同的处理步骤和思路,将点云配准算法分为五类。列举了各类算法的代表性,总结了所提出的时间、基本思路和算法的优缺点。针对基于特征提取的点云配准经典算法,采用体素网格滤波方法对采样一致性初始对齐算法前的点云数据进行下采样。我们与经典算法进行了实验比较,从主观评价和客观指标进行分析。最后,总结了点云配准的未来挑战。

Published in: 2022 7th International Conference on Signal and Image Processing (ICSIP)发表于: 2022第七届信号与图像处理国际会议(ICSIP)

Date of Conference: 20-22 July 2022会议日期: 2022年7月20-22日

Date Added to IEEE *Xplore*: 19 September 2022加入 IEEE Xplore 的日期: 19 September 2022

ISBN Information:ISBN信息:

DOI: 10.1109/ICSIP55141.2022.9886254DOI: 10.1109/ICSIP55141.2022.9886254

Publisher: IEEE发行者 : IEEE

Conference Location: Suzhou, China会议地点: 苏州, 中国

introduction

随着LiDAR和Kinect等高精度传感器的快速发展,点云已成为代表3D世界的主导数据格式。由于传感器只能捕获有限视野范围内的扫描,因此需要配准算法来生成大型 3D 场景。点云配准是估计点云扫描之间的变换矩阵的问题。点云配准技术是点云数据处理研究中一个具有挑战性的领域,因为点云是一种非结构化的数据形式,可能会受到遮挡、噪声和大数据量的影响,并且需要准确、快速地完成。本文重点关注点云的刚性配准,仅存在平移和旋转操作而没有缩放和变形。

点云配准是多个领域的一项重要技术,首先是移动机器人的同时局部性,例如,配准可以获得有关机器人手臂姿势的信息,以决定向何处移动,以便准确地抓取物体[1 ]。其次,在无人驾驶中的高精度地图构建和环境感知中,估计无人驾驶汽车在地图上的位置(例如<10cm)及其与道路边界线的距离,点云配准可以精确匹配当前的实时3D与其所属的 3D 环境一起查看,以提供高精度 [2]。第三,广泛应用于增强现实(AR)、医疗检查图像合成、施工监控和竣工建模等场景。

This paper makes the following contributions:本文做出以下贡献:

  • Provides comprehensive statistics based on the rapid development of homologous point cloud registration (1992-2022) in recent years, including traditional optimization and modern deep learning methods.提供基于近年来同源点云配准快速发展(1992-2022)的综合统计数据,包括传统优化和现代深度学习方法。
  • Collate the principles and advantages and disadvantages of various registration algorithms, and analysis the experimental results of representative algorithms.整理各种配准算法的原理和优缺点,分析代表性算法的实验结果。
  • Improving the Sampling Consistency Initial Alignment Algorithm (SAC-IA) classical algorithm, which belongs to the point cloud registration based on feature extraction.改进采样一致性初始比对算法(SAC-IA)经典算法,属于基于特征提取的点云配准。

本文根据算法处理的步骤和思路,可以区分出五类:基于ICP的点云配准、基于特征提取的点云配准、基于图像等中间介质的点云配准、基于第三章对深度学习和基于频域的点云配准算法进行了研究,并分别介绍了每一类算法的进展。

Point Cloud Registration Overw

点云配准是指通过刚体对不同坐标系的点云进行变换,使不同坐标系的点云能够很好地融合到同一坐标系的点云中。经过文献分析[3],点云配准流程图如图1所示。

image-20240314153452052

因此,给定两个点云P和Q,点云配准的核心问题是找到最优的旋转矩阵R和平移向量t,使得这两个点云之间的距离最小,数学模型[4]为式(1)中:
f ( R , t ) = ∑ i = 1 N ∥ Q i − ( R P i + t ) ∥ 2 \begin{equation*}f(R, t)=\sum_{i=1}^N\left\|Q_{i}-\left(R P_{i+t}\right)\right\|^{2}\tag{1}\end{equation*} f(R,t)=i=1NQi(RPi+t)2(1)
由于点云配准的准确性直接影响后续3D模型的建立,因此点云数据配准方法一直是数据配准领域的热点问题,国内外研究人员做了大量的研究。本文对点云配准研究现状进行了总结。

Domestic and International Point Cloud Registration Algorithms国内外点云配准算法

A. Point Cloud Registration Based on ICP

自1992年Besl和Chen提出经典的迭代最近点(ICP)算法以来,该算法已成为国内外最广泛采用的精密拼接方法。该算法应用了配准的迭代思想,有两个主要优点:

严谨的数学理论可以保证它们的收敛性。

更好地泛化未知场景,无需训练数据。

此类方法的局限性在于需要许多复杂的策略来克服噪声、异常值、密度变化和部分重叠变化,这使得计算成本增加。为了提高经典ICP算法的收敛速度和配准精度,国内外有学者从点云索引机制、对应点搜索方法、错误对应点对剔除和变换参数等方面提出了许多基于ICP的改进配准算法解决方案克服了经典ICP算法速度慢、易陷入局部最优的问题,ICP及其各种改进算法已成为精确搭配领域的主流算法。 ICP及其各种改进算法已经成为精准搭配领域的主流算法,并且新的改进算法不断出现,以满足不同场合的要求。 ICP算法的演变如图2[5]-[7]所示。

image-20240314153856318

图 2. 图 2.
基于ICP的点云配准时序概述。

基于ICP点云配准的算法理论上可以得到较高的精度,但由于点数量较多,该算法在处理复杂的现场点云配准时会造成计算量过大、耗时较长,且误匹配率较高。场景重叠度低。

B. Point Cloud Registration Based on Feature ExtractionB. 基于特征提取的点云配准

这些方法首先利用特征提取描述子从待对齐点云和模板点云中提取特征,提取对应的特征点,将待对齐点云和模板点云中的特征点进行匹配,利用相似特征点对作为候选匹配点对,然后通过RANSAC算法在候选匹配点对中筛选出最终的匹配点对,求解待对齐点云与模板点云之间的变换关系。

常见的点云几何特征包括法向量、积分不变量、矩不变量、旋转图像、曲率、形状内容描述符和特征直方图。根据所选几何特征的范围,包括局部特征和全局特征。其中,

​ 通过对数据点的局部邻域信息进行编码而提取的特征就是局部特征。

​ 而对所有点的几何属性进行编码形成的特征就是全局特征。

在点云配准中,将具有相同几何特征的数据点视为对应点对,最后通过对应点对求解刚体变换参数,实现点云配准[8]-[10]。图3按时间顺序组织了局部特征和全局特征代表算法。

image-20240314154058235

图 3. 图 3.
局部和全局特征的代表性算法的时间概述。

然而,现有的提取和描述特征点的算法大多是基于研究者对特定任务的理解而设计的,在描述点云的特征时并不完全准确,特别是当物体的表面特征不明显时并且很难提取足够数量的特征点。另外,一些特征提取和描述算法的计算量和复杂度过高,影响了配准算法的实际应用,表1给出了基于特征提取的点云配准的代表性算法。

image-20240314154152482

表1 基于特征提取的点云配准代表性算法

C. Point Cloud Registration Based on Intermediate MediaC. 基于中间媒体的点云配准

此类方法不是直接使用点云进行配准,而是使用图像作为桥梁,该图像可以是伴随激光扫描的强度图像,也可以是结合激光扫描获得的光学或全景图像。

基于图像等中间介质的点云配准算法利用投影图、光学图像或深度图将3D点云配准问题转化为2D图像匹配问题,并利用2D图像配准算法间接计算点云之间的变换参数,往往更省时、更准确,但大多数应用没有相应的光学图像或强度图像等,因此具有一定的局限性[14-16]。

D. Deep Learning Based on Point Cloud RegistrationD. 基于点云配准的深度学习

深度学习在图像处理方面的巨大成功使得许多学者尝试将深度学习算法应用于3D点云数据处理,但点云数据与图像不同,点云是场景下垫面的稀疏样本或物体,而点云通常是无序的,没有空间结构;它们不能在规则网格上采样并作为图像像素进行处理,此外,这些点可能具有也可能不具有色彩特征,因此点云特定的处理通常只能处理点的相对位置。大多数针对图像开发的深度学习方法都使用离散卷积,并大量使用点云中不存在的数据网格结构,因此此类算法无法直接转移到点云数据处理中。

大多数基于深度学习的点云配准算法首先构建适合点云配准的学习模型,然后用训练数据训练模型参数,然后使用训练好的模型从待配准的点云和模板点中提取特征分别云,最后进行特征匹配,得到配准结果。这个过程相当于用深度学习算法学习一个适合点云配准的特征提取网络,比传统的特征提取算法具有更好的配准精度和更广泛的特征适用性,但目前的点云配准学习网络存在训练时间长等问题大规模点云数据的时间和大量内存消耗。图4显示了常见的基于深度学习的点云配准算法[17-19]。

image-20240314154507061

E. Frequency Domain Based on Point Cloud RegistrationE. 基于频域的点云配准

基于频域的配准算法是首先通过傅里叶变换技术将整个点云转换到频域,然后通过对齐相应的频谱来获得点云的配准结果,对于仅用一个小的重叠区域。

杨红芬针对激光扫描获取的多站点云的搭配问题提出了一种新的配准方法[20],即点云数据在频域上对齐。该方法利用傅里叶变换将点云从空间域变换到频域,并且利用傅里叶变换可以将旋转和缩放参数与平移参数分开,即旋转和缩放可以在单独频域,然后在此基础上求解平移参数,实现点云的配准。

Algorithm Process and Analysis of Experimental Results算法过程及实验结果分析

A. Algorithm Process

在3D点云配准之前,需要对原始3D点云数据进行下采样。因此我们改进了SAC-IA算法[21]。

在本文中,我们使用基于体素的过滤方法。传统的体素网格过滤方法中,通过调整体素网格立方体的边长来过滤待采样的点云数据,针对不同的原始点云数据集手动调整体素立方体的大小来寻找匹配的体素立方体。缺点是对于不同数量的3D点云数据,下采样后的3D点云数据数量无法保证。为了解决这个问题,对传统的体素滤波方法进行了改进,通过式(2)设置下采样后所需的点集数量,然后针对任意数量的初始采样点集自适应地获得所需的体素网格立方体大小[22] 。
F ( k ∗ ε + l ) < P max ⁡ \begin{equation*}F(k*\varepsilon+l)\lt P_{\max} \tag{2}\end{equation*} F(kε+l)<Pmax(2)
F表示体素晶格滤波器,ε 表示体素晶格立方体长度的初始步长,l 表示初始立方体边长,PmR表示采用自适应体素点阵滤波方法后点集中的最大点数。

整体算法流程如下步骤[21]。
步骤1:输入源点云P和目标点云Q;
步骤2:下采样后得到的点云数量Pmm=1000,采用体素网格滤波方法得到采样点云数据Pf和Qf;
步骤3:计算Pf和Qf内各相邻点对之间的角度变量,保存在点特征集合对应的区间内;
步骤4:通过式(3)计算得到点特征描述子P-fpfh(Pf的描述子),Q-fpfh(Qf的描述子),其中,k表示特征点的相邻点的数量,变量ib表示特征点的相邻点的个数。距离大小,即特征点与第i个相邻点之间的距离;
F ( p q ) = S ( p q ) + 1 k ∑ i = 1 k 1 b i × S ( p i ) \begin{equation*}F\left(p_{q}\right)=S\left(p_{q}\right)+\frac{1}{k} \sum_{i=1}^k \frac{1}{b_{i}} \times S\left(p_{i}\right) \tag{3}\end{equation*} F(pq)=S(pq)+k1i=1kbi1×S(pi)(3)
步骤5:利用采样一致性配准算法进行对应点对配准,得到旋转平移变换矩阵sac−tran;
步骤6:通过循环迭代配准,以sac−tran作为初始旋转矩阵,设置最大迭代次数为100;
步骤7:最大循环次数,登记结束,输出结果。

B. Analysis of Experimental Results

本文实验系统环境为64位win10操作系统,软件环境为Visual Studio 2019,开源点云库PCL1.11.0。
主观评价最能直观地反映注册成功与否。点云配准效果的主观评价是指基于目视直接观察来判断配准效果,具体实验结果如图5所示。

image-20240314154945417

图 5.
算法结果。 (a) 待对齐的点云; (b) SAC-IA; ©本文的算法。

从主观视觉结果来看,边缘处仍存在肉眼可见的偏差,但重叠部分大致对齐。两种算法之间几乎没有主观差异。
接下来我们从客观指标方面对实验结果进行分析。
在客观指标方面,配准误差的具体值和配准所花费的时间在本文中,我们用等式(4)所示的均方根误差(RMSE)[23]值来表示配准误差。
e r r R M S E = ∑ i = 1 N ∥ p i − q i ∥ 2 2 N \begin{equation*}{err}_{RMSE}=\sqrt{\frac{\sum_{i=1}^{N}\|p_{i}-q_{i}\|_{2}^{2}}{N}} \tag{4}\end{equation*} errRMSE=Ni=1Npiqi22 (4)
N为粗配准后两点云重叠部分的点对数,pi和qi为对应点对,其中qi为点云Q中距离pi最近的点。上述误差值越小,点云的配准精度越好[24]。两种算法的具体配准误差和配准时间如表二所示。

image-20240314155120941

可以看出,与SAC-IA相比,精度没有明显提高,但本文算法耗时更少,效率更高。

Conclusion

3D点云研究作为一个相对较新的研究领域正在迅速发展。本文从不同角度对点云配准进行分类,重点介绍基于特征提取的点云配准和基于深度学习的点云配准算法的结果。
本文将点云配准方法归纳为五类,分别介绍了基于优化的直接配准、基于特征提取的点云配准、基于图像等中间介质的点云配准、基于深度学习的点云配准以及点云配准。基于频域,分析了一些算法的细节以及同类算法的特点。然而,这两种算法都存在需要进一步研究的挑战。主要挑战:
应用场景的挑战。如大规模点云、动态非平稳点云、特征缺乏、特征重复或对称点云等,这些应用场景对点云配准的可用性和可靠性提出了很高的要求。
注册性能的挑战。为了满足某些应用中高精度的要求,实时应用中需要保证快速配准、更高的配准精度、更高的配准速度比和更高的配准精度计算负担比。
点云配准的研究正在取得进展,我们期待提出更多创新的方法。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

88. 合并两个有序数组 (Swift版本)

题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#xff0c;使合并后的数组同样按 非递减顺序 排列。 注意&#xff1a;最终&#xff0c;合并…

【C++ 设计模式】简单工厂模式

文章目录 前言一、简单工厂模式是什么&#xff1f;二、实现原理三、UML类图四、简单工厂模式具体代码总结 前言 在软件开发中&#xff0c;设计模式是解决特定问题的可复用解决方案。其中&#xff0c;简单工厂模式是一种创建型设计模式&#xff0c;旨在封装对象的创建过程&…

Python数学建模-2.3函数(下)

2.3.2模块的导入与使用 模块在Python中是一个包含Python定义和语句的文件&#xff0c;通常用来组织代码&#xff0c;使得代码更易于管理和复用。下面&#xff0c;我将详细讲解Python函数中模块的使用知识。 1. 模块的导入 在Python中&#xff0c;你可以使用import语句来导入…

PyCharm创建一个简单的Django项目

1.Django简介 Django 是一个开放源代码的 Web 应用程序框架&#xff0c;由 Python 编写而成。它遵循 MVC&#xff08;模型-视图-控制器&#xff09;的软件设计模式&#xff0c;采用了 MTV&#xff08;模型-模板-视图&#xff09;的架构。Django 的设计目标是使开发复杂的、数据…

java maven聚合项目-子项目重写父项目的依赖版本无法生效

前言 项目的springboot版本2.6.13 项目主pom 引入了springboot的依赖配置 <dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><…

华为OD技术C卷“测试用例执行计划”Java解答

描述 示例 算法思路1 整体思路是&#xff0c;先读取特性的优先级和测试用例覆盖的特性列表&#xff0c;然后计算每个测试用例的优先级&#xff0c;并将其与测试用例的索引存储到二维数组中。最后按照优先级和索引排序&#xff0c;输出测试用例的索引&#xff0c;即为执行顺序。…

【计算机视觉】二、图像形成:1、向量和矩阵的基本运算:线性变换与齐次坐标

文章目录 一、向量和矩阵的基本运算1、简单变换1. 平移变换2. 缩放变换3. 旋转变换4. 一般线性变换 2、齐次坐标0. 齐次坐标表示1. 2D点的齐次坐标变换2. 投影空间 ( x , y , w ) (x, y, w) (x,y,w)3. 2D直线的齐次坐标表示a. 直线的参数方程表示b. 直线的法向量和原点距离表示…

Maven3.6.3安装与配置,IDEA2022.2.3部署Maven操作步骤

1、先确保安装了Java开发环境&#xff0c;并配置了JAVA_HOME环境变量 WinR ,输入cmd,然后输入命令echo %JAVA_HOME%,查看JDK &#xff0c;接着输入java -version,查看java的版本号 接着系统变量中&#xff0c;配置JAVA_HOME环境变量 2、官网下载MAVEN3.6.3&#xff0c;Maven3.…

Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4

Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4 相关链接&#xff1a;arxiv 关键字&#xff1a;Questioning LLaMA、GPT-3.5/4、guiding principles、prompting、large language models 摘要 本文介绍了26个旨在简化查询和提示大型语言模型&…

15.7k stars一个实用型OCR,支持80多种语言

一个实用型 OCR,支持 80 多种语言和所有流行的书写脚本&#xff0c;包括&#xff1a;拉丁文、中文、阿拉伯文、梵文、西里尔文等。 特点 支持本地或云/API部署 准确度提高到 99% 以上 完全可定制,支持 80 多种语言 支持表格识别 二维码/条码提取识别 GitHub数据 15.7k s…

边缘计算全面概述

什么是边缘计算&#xff1f; 边缘计算是一种分布式计算概念&#xff0c;将智能集成到边缘设备&#xff08;边缘节点&#xff09;中&#xff0c;使数据能够在数据采集源附近实时处理和分析。由于边缘计算在网络边缘本地处理数据&#xff0c;而不是在云端或集中式数据中心&#…

针对教育行业的网络安全方案有哪些

智慧校园”是教育信息化进入高级阶段的表现形式&#xff0c;比“数字校园”更先进。集体知识共融、共生、业务应用融合创新、移动互联网物联网高速泛在是其重要特征。特别是在互联网教育的大环境下&#xff0c;为了更好的发挥智慧化教学服务和智慧化教学管理功能&#xff0c;需…

Kafka模拟器产生数据仿真-集成StructuredStreaming做到”毫秒“级实时响应StreamData落地到mysql

这是仿真过程某图&#xff1a; 仿真实战kafka kafka消费sink端和StructuredStreaming集成通信成功 &#xff0c; 数据接收全部接收 数据落地情况&#xff1a; 全部接收到并all存入mysql 下面就简单分享一下StructuredStreaming代码吧 import org.apache.spark.sql.function…

SpringMVC请求、响应和拦截器的使用

SpringMVC请求 RequestMapping注解 RequestMapping注解的作用是建立请求URL和处理方法之间的对应关系 RequestMapping注解可以作用在方法和类上 1. 作用在类上&#xff1a;第一级的访问目录 2. 作用在方法上&#xff1a;第二级的访问目录 3. 细节&#xff1a;路径可以不编写…

Gitee 服务器

Git 服务器集成 1. 创建仓库 2. 远程仓库简易操作指令 # Git 全局设置&#xff0c;修改成自己的信息 git config --global user.name "Muko" git config --global user.email "txk0x7d2163.com" # 创建 git 仓库&#xff0c;基本操作指令和其他远程仓库一…

【STL】set容器、pair队组与map容器

目录 1.修改set容器排序规则 2. set容器的各种函数 3.set构造函数multiset 4.创建pair队组 5.map容器 1.修改set容器排序规则 set容器会自动以升序的方式进行排序&#xff0c;想要改变可以制定排序规则&#xff0c;set<int,排序规则> s&#xff1b; 但需要注意&am…

Mybatis(搭建,CRUD,方法参数,XML映射文件,动态SQL)【详解】

目录 一.准备基础代码 Mybatis的通用配置 二. 基本CURD操作 1.查询-根据id查询一条 2.查询-查询数量 3.删除 4.新增 获取主键值 5.修改 6.查询-模糊查询 预编译SQL #{}与${}的区别【面试题】 三. Mybatis的方法参数与结果集 1.SQL里取方法参数的值 2.查询结果集…

mac解决brew install报错“fatal: not in a git directory“

在macbook上使用brew安装软件时&#xff0c;可能会遇到问题&#xff0c;报错如下&#xff1a; fatal: not in a git directory Error: Command failed with exit 128: git 使用brew -v&#xff0c;仔细看&#xff0c;可以发现有两个fatal(致命错误)提示: 解决方案&#xff1a;…

下载chromedrive,使用自动化

1、先看一下自己浏览器的版本 2、访问 https://googlechromelabs.github.io/chrome-for-testing/

Nginx、LVS、HAProxy工作原理和负载均衡架构

当前大多数的互联网系统都使用了服务器集群技术&#xff0c;集群是将相同服务部署在多台服务器上构成一个集群整体对外提供服务&#xff0c;这些集群可以是 Web 应用服务器集群&#xff0c;也可以是数据库服务器集群&#xff0c;还可以是分布式缓存服务器集群等等。 在实际应用…