KSS-ICP: 基于形状分析技术的点云配准方法

这篇具有很好参考价值的文章主要介绍了KSS-ICP: 基于形状分析技术的点云配准方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1. 概述

2. 算法实现

3. 实验结果

总结

Reference

三维点云配准是三维视觉领域一个经典问题,涉及三维重建,定位,SLAM等具体应用问题。传统的配准可以被分为两条技术路线,即基于全局姿态匹配的方法以及基于特征点对应的方法。全局姿态匹配通过在全局范围查找变换矩阵,使得满足预先定义的配准条件,代表方法包括ICP及其变种[1],PointNetLK[2]等。基于特征点对应的方法试图在点云中找到一些具有显著几何特征的keypoints,并按照这些keypoints建立点云之间的对应关系,进而推导出配准结果,代表方法包括FPFH[3],3D SHIFT[4]等。全局方法对点云小范围的缺损不敏感,算法复杂度也相对较低。但是对于局部对全局或局部对局部的配准任务,尤其是低覆盖度点云配准任务,全局方法的性能往往会显著下降。基于特征点对应的方法能够建立针对低覆盖度以及局部对局部的配准算法,但是类似方法对于点云的质量敏感,鲁棒性相对较差。最近,南洋理工大学的研究人员提出一种新的点云配准方法KSS-ICP[5],结合了形状分析与传统ICP算法,有效的改善了配准算法的性能。今天,我在这篇博客里就来介绍一下这篇论文。论文发表于IEEE TIP,链接如下:

arvix:https://arxiv.53yu.com/pdf/2211.02807.pdf

project: GitHub - vvvwo/KSS-ICP


1. 概述

前边已经介绍过了,全局的方法和局部的方法各有优缺点。考虑到目前使用手持扫描设备获取的点云都会携带随机噪声,这使得基于局部几何特征寻找特征点对应的方案不能满足实际需求。因为随机噪声会显著的干扰局部区域的特征提取。因此,针对手持扫描设备获取的点云数据,基于全局方法实现配准,是一个更可行的技术路线。KSS-ICP基于该思路,提供了一个有效的解决方案。

KSS-ICP基于Kendall离散形状空间理论[6],将点云模型进行一种保形的归一化。经过归一化后,点云能够在形状空间中被度量,并通过对度量结果的优化,以获得最优匹配变换,进而退出配准结果。相比传统方法,KSS-ICP的归一化与形状度量有几个好处:1)充分考虑了尺度统一;2)不依赖于点距离;3)对局部区域的噪声鲁棒。KSS-ICP使用中心归一化,将点云视为一组共享源点(中心)的向量组。通过计算向量组的模长,实现尺度统一:

KSS-ICP: 基于形状分析技术的点云配准方法

x bar表示的是点云的中心,通过模长计算与归一化,点云a被归一化为Ks(a),实现了对尺度和位移的归一化。通过归一化后,结合形状度量,KSS-ICP能够基于形状相似性建立点云之间的量化分析,该过程不依赖于点距离,因此最大程度避免了局部最优的结果。

KSS-ICP: 基于形状分析技术的点云配准方法

基于形状相似性的量化分析,相当于在旋转群SO3中找到一个变换,使得参与度量的两个点云a和b对应一个全度最优的度量结果,即用于配准的变换矩阵。最后,由于形状相似性本身是基于统计形状分析的思想,对于每一个点的随机扰动,其对最终相似性评价的结果影响是相对较小的,因此KSS-ICP的形状度量对噪声是鲁棒的。结合以上三个特点,KSS-ICP给出了一个有效的实现。


2. 算法实现

在介绍算法实现之前,我们需要注意一个小问题。如果我们希望利用概述中所介绍的思路,实现点云配准的话,我们需要首先保证参与配准的点云拥有相同的点数且密度均匀,否则无法实现归一化。因为公式Ks(a)需要计算x bar和进行尺度归一。如果密度不均匀,那么x bar的位置将会有误差;如果点数不相同,那么基于模长实现的尺度归一也会有误差。这里,论文作者引用了自己先前的点云简化工作[7],在实现密度均匀的前提下,保证了点数的统一,如下图所示: 

KSS-ICP: 基于形状分析技术的点云配准方法

这时,我们就可以利用概述中的方法来进行配准了:

KSS-ICP: 基于形状分析技术的点云配准方法

我们针对已经实现归一化的点云,在SO3群中寻找使得形状相似度最小化的变换。这里可以引用一种经典的优化方法来实现,但是作者选择了一个不是很严谨的离散对准方法,即按照旋转方向建立一组离散候选集,然后从候选集中找到最优的结果,最后使用ICP做校正,得到配准结果:

KSS-ICP: 基于形状分析技术的点云配准方法

KSS-ICP: 基于形状分析技术的点云配准方法

这里作者使用了一个替换函数H,来代替概述中的度量。原因是,原始的形状度量需要点数相同,且一一对应。一一对应显然是不能满足的,因此使用了豪斯多夫距离H来替换形状度量,以描述全局的形状相似性。离散候选集{O}包含了一组旋转变换,KSS-ICP从这样一组旋转变换中找到一个最优结果,然后使用ICP进行二次对齐,进而实现配准的全过程。

这里有一个显而易见的问题,离散候选集{O}的规模直接决定了算法的精度。对于一些具有对称结构的三维点云,如果离散候选集{O}过小的话,仍然会以很大概率产生局部最优结果。为了弥补该缺陷,作者在配准过程中,加入了一步附加搜索。即第一次的最优结果不是直接输出,而是输出一组结果。这组结果在基于SO3群表示的一个相临区域,能够得到对应的局部最优。作者把所有的局部最优旋转都进行ICP,这样就能进一步降低全局局部最优的概率,如下图所示:

KSS-ICP: 基于形状分析技术的点云配准方法

绿色标号的图片表示基于SO3群搜索获取的局部最优结果,黄色表示使用ICP,对局部最优进行二次对准的结果。可以看到,最终我们能够从局部最优结果中选出全局最优解。这个方案在数学上未必严谨,但是在工程上却十分有效,因为点云已经被简化,所有的计算均能使用并行结构进行加速,这就使得整个的查找过程效率很高,且实现了对姿态的全局搜索。

看到这里,细心的朋友一定会提出一个问题,如果是局部对全局的话,那么中心对齐肯定会产生偏差,那么上面的实现就都会失效了,怎么解决这个问题呢?实际上,这里是可以考虑融合局部特征来提供一个解决方案的,但是作者自始至终不想引入局部特征。作者最终给了一个粗暴的解决方案,即引入一些随机的中心候选,在更大的候选集来查找最优匹配:

KSS-ICP: 基于形状分析技术的点云配准方法

KSS-ICP: 基于形状分析技术的点云配准方法

由上图可以看到,点云存在缺失,必然会导致中心的偏移。KSS-ICP在目前查找的中心附近,建立一个中心位移的搜索区域,将所有可能因缺失产生的中心位移全都考虑进去,这样就能在不适用局部特征的前提下,解决中心对齐问题:

KSS-ICP: 基于形状分析技术的点云配准方法

上面公式同时考虑了中心位移和旋转两个参数,最终使得KSS-ICP能够在不改变自身基本结构的前提下,实现局部到全局的配准。这样增加了搜索区域,无疑提高了计算量。幸运的是,所有的计算均是离散解耦的,所以可以利用并行结构实现加速:

KSS-ICP: 基于形状分析技术的点云配准方法


3. 实验结果

ModelNet40的配准结果:

KSS-ICP: 基于形状分析技术的点云配准方法

室内场景RGB3D配准结果:

KSS-ICP: 基于形状分析技术的点云配准方法

带有噪声的点云配准结果: 

KSS-ICP: 基于形状分析技术的点云配准方法

带有缺损区域的点云配准结果: 

KSS-ICP: 基于形状分析技术的点云配准方法


总结

整体来说,KSS-ICP引入了基于流形空间的形状分析工具来建立配准算法的实现,具有一定的启发意义。整个算法的可复现性,鲁棒性,相比于传统方法,均有一定的提升。未来基于该技术路线,有两个可以进一步完善的点:第一,豪斯多夫距离是对形状度量的一种模拟,显然不是评价姿态对应质量的一个很好的选择;第二,为了解决局部到全局的配准,KSS-ICP做了较多的搜索,虽然可以使用并行计算进行加速,但是整个算法的效率还有受到影响。


Reference

[1] J. Yang, H. Li, D. Campbell, et al. Go-ICP: A globally optimal solution to 3D ICP point-set registration[J]. IEEE transactions on pattern analysis and machine intelligence, 2015, 38(11): 2241-2254.

[2] Y. Aoki, H. Goforth, RA. Srivatsan, et al. Pointnetlk: Robust & efficient point cloud registration using pointnet[C]. Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2019: 7163-7172.

[3] RB. Rusu, N. Blodow, M. Beetz. Fast point feature histograms (FPFH) for 3D registration[C]. 2009 IEEE international conference on robotics and automation. IEEE, 2009: 3212-3217.

[4] IH. Ferencz, I. Shimshoni. Registration of 3d point clouds using mean shift clustering on rotations and translations[C]. 2017 International Conference on 3D Vision (3DV). IEEE, 2017: 374-382.

[5] C. Lv, W. Lin, B. Zhao. KSS-ICP: Point Cloud Registration based on Kendall Shape Space[J]. IEEE Transactions on Image Processing, 2023.

[6] DG. Kendall. Shape manifolds, procrustean metrics, and complex projective spaces[J]. Bulletin of the London mathematical society, 1984, 16(2): 81-121.

[7] C. Lv, W. Lin, B. Zhao. Approximate intrinsic voxel structure for point cloud simplification[J]. IEEE Transactions on Image Processing, 2021, 30: 7241-7255.文章来源地址https://www.toymoban.com/news/detail-405089.html

到了这里,关于KSS-ICP: 基于形状分析技术的点云配准方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于多台azure kinects的点云采集、配准、相加

    本文采用多台Azure kinect实现了对人体的动态捕捉 如果你是刚接触kinect的小白,建议认真阅读Microsoft给出的官方文档 如果你打算自己开发azure kinect的程序,请参考官方的SDK手册 如果你想在win下配置azure kinect的开发环境,请参考我的上一篇文章 在linux下配置azure kinect会复杂一些

    2024年02月06日
    浏览(47)
  • MATLAB 基于NDT的点云配准实验(不同参数效果) (25)

    NDT点云配准与ICP一样,都是经典的点云配准算法,这里使用MATLAB进行ndt点云配准,对配准结果进行显示,并尝试不同参数,得到较好的实验结果。具体原理请自行查阅相关论文和原论文,这里重在使用。

    2024年02月15日
    浏览(70)
  • 基于Open3D的点云处理16-特征点匹配

    将点云数据统一到一个世界坐标系的过程称之为点云配准或者点云拼接。(registration/align) 点云配准的过程其实就是找到同名点对;即找到在点云中处在真实世界同一位置的点。 常见的点云配准算法: ICP、Color ICP、Trimed-ICP 算法流程: 选点: 确定参与到配准过程中的点集。 匹

    2024年02月10日
    浏览(60)
  • 基于Open3D的点云处理17-Open3d的C++版本

    http://www.open3d.org/docs/latest/cpp_api.html http://www.open3d.org/docs/latest/getting_started.html#c http://www.open3d.org/docs/release/cpp_project.html#cplusplus-example-project https://github.com/isl-org/open3d-cmake-find-package https://github.com/isl-org/open3d-cmake-external-project https://github.com/isl-org/Open3D/releases Note: -DBUILD_SHARED_LIBS

    2024年02月09日
    浏览(63)
  • 点云配准--对称式ICP

    对称式ICP 针对于局部平面不完美的情况,提出了一种对称式ICP目标函数,相较于传统的ICP方法,增大了收敛域,提高了收敛速度。论文理论说明不甚清楚,实验较少,但代码开源。 对称目标函数 在icp中对于一对对应点p,q:在点到法线的度量中: ( p − q ) ⋅ n q (3) (p-q) cd

    2024年02月06日
    浏览(57)
  • 点云配准的传统算法ICP与NDT概述

    公众号致力于分享点云处理,SLAM,三维视觉,高精地图相关的文章与技术,欢迎各位加入我们,一起交流一起进步,有兴趣的可联系微信:920177957。 本文来自点云PCL博主的分享,未经作者允许请勿转载,欢迎各位同学积极分享和交流。 什么是点云配准 点云配准是指将多个点

    2024年02月05日
    浏览(41)
  • 常见的点云下载地址/点云集合/点云库30个

    1、pcl库自带教程所需的点云数据下载地址 Point Cloud Library - Browse /PCD datasets at SourceForge.net 另外一个地址 https://github.com/PointCloudLibrary/data 31、新增:VTK库的点云数据下载地址,包含.vtkplypdbvtptifstl等格式的点云数据 https://github.com/pyvista/vtk-data/tree/master/Data 2、Princeton ModelNet

    2024年02月13日
    浏览(55)
  • 【PCL】—— 点云配准ICP(Iterative Closest Point)算法

    ​     由于三维扫描仪设备受到测量方式和被测物体形状的条件限制,一次扫描往往只能获取到局部的点云信息,进而需要进行多次扫描,然后每次扫描时得到的点云都有独立的坐标系,不可以直接进行拼接。在逆向工程、计算机视觉、文物数字化等领域中,由于点云的

    2024年02月13日
    浏览(52)
  • 使用PCL库中PPF+ICP进行点云目标识别

    在使用过程中踩到的坑:    (1):PointCloudPPFSignature::Ptr cloud_model_ppf(new PointCloudPPFSignature());     PPFEstimationPointNormal, PointNormal, PPFSignature ppf_estimator;     ppf_estimator.setInputCloud(cloud_model_input);     ppf_estimator.setInputNormals(cloud_model_input);     ppf_estimator.compute(*cloud_model_ppf); 运行到

    2024年02月15日
    浏览(70)
  • open3d点云配准函数registration_icp

    open3d快速上手 ICP, 即Iterative Closest Point, 迭代点算法。 ICP算法有多种形式,其中最简单的思路就是比较点与点之间的距离,对于点云 P = { p i } , Q = { q i } P={p_i}, Q={q_i} P = { p i ​ } , Q = { q i ​ } 而言,如果二者是同一目标,通过旋转、平移等操作可以实现重合的话,那么只需

    2023年04月19日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包