您当前的位置: 首页 >  算法

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

发布时间:2020-12-14 07:00:00 ,浏览量:0

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

标题: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

●论文摘要

本文提出了一种体素化的广义迭代最近点(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算法采用了体素化方法,当初始猜测值不接近真实姿态时,可能会影响配准结果,因此我们计划评估并改进该算法的收敛性。

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉,即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总,即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定,即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配,即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    106485博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.2378s