标题:Voxelized GICP for Fast and Accurate 3D Point Cloud Registration

作者:Kenji Koide, Masashi Yokozuka, Shuji Oishi, and Atsuhiko Banno

来源:分享者

代码:https://github.com/SMRT-AIST/fast_gicp.git

本文仅做学术分享,如有侵权,请联系删除。欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈分享快乐。

论文阅读模块将分享点云处理,SLAM,三维视觉,高精地图相关的文章。公众号致力于理解三维视觉领域相关内容的干货分享,欢迎各位加入我,我们一起每天一篇文章阅读,开启分享之旅,有兴趣的可联系微信dianyunpcl@163.com。

论文摘要

本文提出了一种体素化的广义迭代最近点(VGICP)算法,用于快速、准确地进行三维点云配准。该方法扩展了广义迭代最近点(GICP)方法的体素化,避免了代价昂贵的最近邻搜索,同时保持了算法的精度。与从点位置计算体素分布的正态分布变换(NDT)不同,我们通过聚集体素中每个点的分布来估计体素分布。体素化方法使算法能够高效地并行处理优化问题,所提出的算法在CPU上可以运行30hz,在GPU上可以运行120hz。通过在模拟环境和真实环境中的评估,我们证实了该算法的精度可以与GICP相媲美,但比现有的方法快得多。结合类ICP和NDT的两者的优点。

论文的贡献有三个方面。

  • 首先,提出了一种多点分布聚合方法来从较少的点稳健估计体素的分布。

  • 其次,提出了VGICP算法,它与GICP一样精确,但比现有方法快得多。

  • 第三,代码开源,并且代码实现了包含了所提出的VGICP以及GICP。

内容精华

GICP算法

估计两个点云的变换矩阵T,它将一组A(源点云)与另一组点B(目标点云)对齐。按照经典的ICP算法,假设A和B之间的对应关系是通过最近邻搜索得到的:bi=Tai。GICP算法将采样点作为高斯分布的曲面建模:

ai∼N(ai;C_iA);bi∼N(bi;C_iB)。

然后将变换误差定义如下:

di的高斯分布可以表示为

GICP算法找到使等式(3)的对数的最大似然变换T,如下所示

每个点的协方差矩阵通常从其k个邻域估计(例如k=20)。每个协方差矩阵通过用(1;1;e)替换其特征值来正则化。这种正则化使得GICP作为一个平面到平面的ICP工作。

体素化GICP算法

为了推导体素化GICP算法,我们首先扩展公式(1),以便计算ai与其相邻点之间的距离,如下所示

这个方程可以解释为平滑目标点分布。然后与式(3)类似,di的分布表示为

估计等式(7)的对数的最大似然变换T

为了有效地计算上述方程,将其修改为

其中Ni是相邻点的数目。式(11)表明,可以有效地计算目标函数的方法是用公式(5)中的bi和C_iB代替ai周围的点(bj和Cj)分布的平均值,并用Ni加权。通过将两项存储在每个体素中,可以自然地将该方程应用于基于体素的计算。

图1说明了GICP、NDT和VGICP中使用的对应模型。GICP采用了最近分布到分布的对应模型,这是合理的,但依赖于昂贵的最近邻搜索。为了快速配准,无损检测采用点体素分布对应模型。然而,我们需要至少四个点(在实践中超过十个)来计算三维协方差矩阵。如果体素中的点数较少,协方差矩阵将失效。而VGICP利用体素对应中的单个到多个分布来处理只有几个点落在一个体素内的情况。因为它从点分布计算体素分布,所以即使体素只包含一个点,它也会生成一个适当的协方差矩阵。

● 实验

VGICP 实现的伪代码

由我们的模拟器和微软AirSim生成的点云示例。AirSim从碰撞模型生成点云,因此LIDAR数据中的对象形状过于简化(参见树、汽车和建筑物上的点),没有碰撞模型的对象(行人)不会出现在点云中。我们的模拟器在全向深度图像上执行光线投射以生成真实的点云

与经典的ICP算法相比,基于GICP的算法具有更高的精度。而VGICP和GICP实现比GICP的PCL实现的精确度稍微好一些。这可能是由于优化器的选择(论文的实现使用Gauss Newton,它比GICP的PCL版本中使用的Broyden Fletcher Goldfarb Shanno(BFGS))算法更快、更精确。VGICP算法在广泛的体素分辨率范围内显示出一致的结果,这得益于所提出的体素化方法,即使在体素中的点数很少时也能产生有效的分布。结果表明,所提出的VGICP算法具有与GICP相当的精度,并且对超参数变化具有鲁棒性。

不同配准方法的相对误差统计

不同配准方法的绝对误差统计

在Intel Core i9-9900K 和 NVIDIA Geforce RTX2080Ti  不同方法的耗时统计。

● 总结

在本研究中,提出了体素化GICP演算法。所提出的VGICP与GICP一样精确,因为它采用了基于体素的关联方法。仿真和实际环境下的评价结果表明,该方法具有较高的处理速度(CPU处理速度为30fps,GPU处理速度为120fps),对体素分辨率变化具有较强的鲁棒性。由于VGICP算法采用了体素化方法,当初始猜测值不接近真实姿态时,可能会影响配准结果,因此我们计划评估并改进该算法的收敛性。

资源

三维点云论文及相关应用分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

3D目标检测:MV3D-Net

三维点云分割综述(上)

3D-MiniNet: 从点云中学习2D表示以实现快速有效的3D LIDAR语义分割(2020)

win下使用QT添加VTK插件实现点云可视化GUI

JSNet:3D点云的联合实例和语义分割

大场景三维点云的语义分割综述

PCL中outofcore模块---基于核外八叉树的大规模点云的显示

基于局部凹凸性进行目标分割

基于三维卷积神经网络的点云标记

点云的超体素(SuperVoxel)

基于超点图的大规模点云分割

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

SLAM综述之Lidar SLAM

基于鱼眼相机的SLAM方法介绍

往期线上分享录播汇总

第一期B站录播之三维模型检索技术

第二期B站录播之深度学习在3D场景中的应用

第三期B站录播之CMake进阶学习

第四期B站录播之点云物体及六自由度姿态估计

第五期B站录播之点云深度学习语义分割拓展

第六期B站录播之Pointnetlk解读

[线上分享录播]点云配准概述及其在激光SLAM中的应用

[线上分享录播]cloudcompare插件开发

[线上分享录播]基于点云数据的 Mesh重建与处理

[线上分享录播]机器人力反馈遥操作技术及机器人视觉分享

[线上分享录播]地面点云配准与机载点云航带平差

点云PCL更多活动请查看:点云PCL活动之应届生校招群

扫描下方微信视频号二维码可查看最新研究成果及相关开源方案的演示:

如果你对本文感兴趣,请点击“原文阅读”获取知识星球二维码,务必按照“姓名+学校/公司+研究方向”备注加入免费知识星球,免费下载pdf文档,和更多热爱分享的小伙伴一起交流吧!

扫描二维码

关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入免费星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享及合作:微信“920177957”(需要按要求备注)联系邮箱:dianyunpcl@163.com,欢迎企业来联系公众号展开合作。

点一下“在看”你会更好看耶

快速精确的体素GICP三维点云配准算法相关推荐

  1. CVPR2020:训练多视图三维点云配准

    CVPR2020:训练多视图三维点云配准 Learning Multiview 3D Point Cloud Registration 源代码和预训练模型:https://github.com/zgo ...

  2. 多视图点云配准算法综述

    作者:杨佳琪,张世坤,范世超等 转载自:华中科技大学学报(自然科学版) 编辑:东岸因为@一点人工一点智能 原文:​​多视图点云配准算法综述​​ 摘要:以多视图点云配准为研究对象,对近二十余年的多视图点 ...

  3. 该如何学习三维点云配准的相关知识?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 知乎用户 上海交通大学 电子与信息博士在读 点云配准综述 本文意在 ...

  4. python点云快速配准_分享一个V-SLAM中点云配准算法改进的方法

    近年来,随着自主导航的广泛应用,视觉同时定位与地图构建(Visual simultaneous localization and mapping, V-SLAM)通过自身携带的视觉传感器对周围环境进行 ...

  5. 简述3D点云配准算法

    ​ 蝶恋花·槛菊愁烟兰泣露 槛菊愁烟兰泣露,罗幕轻寒,燕子双飞去. 明月不谙离恨苦,斜光到晓穿朱户. 昨夜西风凋碧树,独上高楼,望尽天涯路. 欲寄彩笺兼尺素.山长水阔知何处? --晏殊 导读: 3D点 ...

  6. 点云配准算法ICP及其各种变体

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨流川峰 来源丨深蓝AI 介绍 点云配准(Point Cloud Registration)算法指 ...

  7. 3D点云配准算法-4PCS(4点全等集配准算法)

    简介 4PCS算法是一种快速的.鲁棒的三维点云配准方案,该方案使用宽基底,对噪声和异常值具有良好的适应性,该算法允许对有噪声的原始数据进行配准,而无需对数据进行预过滤或去噪.此外,该方法大大减少了在噪 ...

  8. 点云配准——(1)几种点云配准算法比较

    几种点云配准算法比较 参考许多博客,看了点云配准的好多算法,决定对这几天搞得点云配准做一个总结,主要也防止自己忘掉.主要参考下面这个博客,链接已经附上. https://blog.csdn.net/p ...

  9. 干货 | 三维点云配准:ICP 算法原理及推导

    编者荐语 点云配准可以分为粗配准(Coarse Registration)和精配准(Fine Registration)两步.粗配准指的是在两幅点云之间的变换完全未知的情况下进行较为粗糙的配准,目的主 ...

最新文章

  1. vivo自带便签新版_原来vivo手机点击这个按钮,还能变成扫描仪,纸质文档一键电子化...
  2. mysql 分组 列转行_mysql列转行以及年月分组实例
  3. 湫湫系列故事——消灭兔子
  4. python case_Python中switch-case实现实例
  5. Spring LDAP 2.0.0发布
  6. java 类加载 双亲委派_Java类加载器和双亲委派机制
  7. 2020年2月数据库流行度排行:冬日虽然寒冷,春光必定灿烂
  8. selenium+python自动化测试系列(二):AutoIt工具实现本地文件上传
  9. Android Studio 如何添加悬浮提示
  10. 设计师都在用这5个免费素材网站
  11. 个人数字证书免费申请
  12. 微信每日早安推送,自定义推送名称,企业号推送非订阅号测试号,python源码,无需第三方多个网站注册、无第三方接口,无基础快速上不了手
  13. js闭包的理解以及闭包中this的理解
  14. 数据结构笔记:选择排序
  15. 2021校招滴滴笔试sql
  16. windows自带录屏_电脑录屏有哪些快捷键?设置帮助电脑快速录屏
  17. java之父那一年出生_黄小戈哪一年出生 起底其详细资料背景曝真实年龄多少
  18. 掌握Revit中的标高的绘制和修改学习记录
  19. java越野车架_越野怪兽 JAVA摆渡人 (ANIMA)山地车
  20. 晚上不用加班了,推荐十款精选IntelliJIdea插件,效率提升N倍

热门文章

  1. Oracle数据库导入导出命令!
  2. MAC OS X的ACL扩展权限设置
  3. Linux 的数字权限意义
  4. Android窗口管理服务WindowManagerService计算窗口Z轴位置的过程分析
  5. PHP实现XML传输
  6. [导入]Learning.ASP.NET 2.0.with.AJAX.pdf(14.14 MB)
  7. 2017计算机nit考试时间,关于2017年专接本NIT考试,你知道多少呢???
  8. python filter过滤器的使用_如何在Python 3中使用过滤器、映射和精简
  9. python最大公约数和最小公倍数的求法_最大公约数和最小公倍数的求法分析
  10. python查找字符串出现次数_Python 中找出字符串中出现频率最高的字母