0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

三维点云配准过程及点集到点集ICP配准的算法研究

3D视觉工坊 来源:知乎问答 作者:刘缘 2022-11-28 16:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1、点云配准过程

就是求一个两个点云之间的旋转平移矩阵(rigid transform or euclidean transform 刚性变换或欧式变换),将源点云(source cloud)变换到目标点云(target cloud)相同的坐标系下。

可以表示为以下的方程:

743e50ba-6da4-11ed-8abf-dac502259ad0.svg

其中744ef492-6da4-11ed-8abf-dac502259ad0.svg745cd6d4-6da4-11ed-8abf-dac502259ad0.svg就是target cloud与source cloud中的一对对应点。

而我们要求的就是其中的R与T旋转平移矩阵。

这里,我们并不知道两个点集中点的对应关系。这也就是配准的核心问题。

2、配准分为粗配准与精配准两步

粗配准就是再两个点云还差得十万八千里、完全不清楚两个点云的相对位置关系的情况下,找到一个这两个点云近似的旋转平移矩阵(不一定很精确,但是已经大概是对的了)。

精配准就是在已知一个旋转平移的初值的情况下(这个初值大概已经是正确的了),进一步计算得到更加精确的旋转平移矩阵。

这里从精配准开始讲起。

精配准的模式基本上已经固定为使用ICP算法及其各种变种。ICP算法由Besl and McKay 1992, Method for registration of 3-D shapes文章提出。

文中提到的算法不仅仅考虑了点集与点集之间的配准,还有点集到模型、模型到模型的配准等。

简要介绍一下点集到点集ICP配准的算法:

1) ICP算法核心是最小化一个目标函数:

746b5b50-6da4-11ed-8abf-dac502259ad0.svg

(这里的表述与原文略微有些不同,原文是用四元数加上一个偏移向量来表达旋转平移变换。)747bd3c2-6da4-11ed-8abf-dac502259ad0.svg就是一对对应点,总共有74979224-6da4-11ed-8abf-dac502259ad0.svg对对应点。这个目标函数实际上就是所有对应点之间的欧式距离的平方和。

2) 寻找对应点

可是,我们现在并不知道有哪些对应点。因此,我们在有初值的情况下,假设用初始的旋转平移矩阵对source cloud进行变换,得到的一个变换后的点云。

然后将这个变换后的点云与target cloud进行比较,只要两个点云中存在距离小于一定阈值(这就是题主所说的ICP中的一个参数),我们就认为这两个点就是对应点。这也是“最邻近点”这个说法的来源。

3) R、T优化

有了对应点之后,我们就可以用对应点对旋转R与平移T进行估计。这里R和T中只有6个自由度,而我们的对应点数量是庞大的(存在多余观测值)。因此,我们可以采用最小二乘等方法求解最优的旋转平移矩阵。一个数值优化问题,这里就不详细讲了。

4) 迭代

我们优化得到了一个新的R与T,导致了一些点转换后的位置发生变化,一些最邻近点对也相应的发生了变化。

因此,我们又回到了步骤2)中的寻找最邻近点方法。2)3)步骤不停迭代进行,直到满足一些迭代终止条件,如R、T的变化量小于一定值,或者上述目标函数的变化小于一定值,或者邻近点对不再变化等。(这里也是题主所说的ICP算法中的一个参数)

算法大致流程就是上面这样。这里的优化过程是一个贪心的策略。首先固定R跟T利用最邻近算法找到最优的点对,然后固定最优的点对来优化R和T,依次反复迭代进行。

这两个步骤都使得目标函数值下降,所以ICP算法总是收敛的,这也就是原文中收敛性的证明过程。这种优化思想与K均值聚类的优化思想非常相似,固定类中心优化每个点的类别,固定每个点的类别优化类中心。

关于参数的选择:

ICP算法的参数主要有两个。一个是ICP的邻近距离,另外一个是迭代的终止条件。这些参数的选择,与实际的工程应用相关。比如说你的仪器精度是5mm,那么小于5mm是可以认为是对应点,而最终的迭代终止条件也就是匹配点之间平均距离小于5mm。

而且这些参数可以由算法逐步迭代减小,最初使用较大的对应点距离参数,然后逐步减小到一个较小的值。(问过师兄才知道实际过程这样操作会比较合适。)需要手动调整一些参数。(这跟机器学习调参比起来,简直不是事~)

3、粗配准

前面介绍到了,ICP算法的基本原理。它需要一个旋转平移矩阵的初值。这个初值如果不太正确,那么由于它的greedy优化的策略,会使其目标函数下降到某一个局部最优点(当然也是一个错误的旋转平移矩阵)。因此,我们需要找到一个比较准确的初值,这也就是粗配准需要做的。

粗配准目前来说还是一个难点。针对于不同的数据,有许多不同的方法被提出。

我们先介绍配准的评价标准,再在这个标准下提出一些搜索策略。

评价标准:比较通用的一个是LCP(Largetst Common Pointset)。给定两个点集P,Q,找到一个变换T(P),使得变换后的P与Q的重叠度最大。在变换后的P内任意一点,如果在容差范围内有另外一个Q的点,则认为该点是重合点。重合点占所有点数量的比例就是重叠度。

解决上述LCP问题,最简单粗暴的方法就是遍历。假设点集P,Q的大小分别为m,n。而找到一个刚体变换需要3对对应点。

那么brute force 搜索的需要74abf53e-6da4-11ed-8abf-dac502259ad0.svg的复杂度。对于动辄几百万个点的点云,这种时间复杂度是不可接受的。

因此,许多搜索策略被提出。比较容易想到的是RANSAC之类的搜索方法。而对于不同的场景特点,可以利用需配准点云的特定信息加快搜索。(例如知道点云是由特定形状的面构成的)这里先介绍一个适用于各种点云,不需要先验信息的搜索策略,称为4PC(4 Point Congruent)。

搜索策略:4PC搜索策略是在P,Q中找到四个共面的对应点。

74bb7d7e-6da4-11ed-8abf-dac502259ad0.jpg

如上图所示(来自4PC原文),这四个共面的点相交于e。这里有两个比例在刚体变化下是不变的。(实际上在仿射变换下也是不变的) 74da7a08-6da4-11ed-8abf-dac502259ad0.svg74f02678-6da4-11ed-8abf-dac502259ad0.svg

而4PC将对于三个点的搜索转换为对e,e‘的搜索,从而将复杂度降低到了750123a6-6da4-11ed-8abf-dac502259ad0.svg

这四个点的距离越远,计算得到的转换越稳健。但是这里的四个点的搜索依赖于两个点云的重叠度。

具体的算法可以参考4-Points Congruent Sets for Robust Pairwise Surface Registration的原文。

4PC算法通用性较好,但是对于重叠度较小、或是噪声较大的数据也会出现配准错误或是运行时间过长的问题。针对于不同的场景很多其他的搜索策略也被提出。

这里安利一下我师兄的论文吧~Automatic registration of large-scale urban scene point clouds based on semantic feature points

我们课题组主要是研究室外地面站LiDAR获取的点云配准问题。这种情形下,由于扫描仪内有自动安平装置,Z轴都是竖直方向(重力方向),刚体变换只存在三维平移与平面(XoY面上的)旋转。我们就在场景中搜索竖直的特征线并且得到它们与地面的交点。

7526a9dc-6da4-11ed-8abf-dac502259ad0.jpg

再将这些交点构建出三角形,以三角形的全等关系来得到匹配。

754344ca-6da4-11ed-8abf-dac502259ad0.jpg

找出其中一致性最好的三角形集合,作为匹配的集合,进行粗配准。

这种方法适用于竖直线较多的场景,比如城区的建筑物的边线、林区树木的树干等。设计的方法还是很巧妙的。当然如果场景内这种特征较少,就比较难以配准。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66838
  • ICP
    ICP
    +关注

    关注

    0

    文章

    75

    浏览量

    13808

原文标题:一文详解三维点云配准过程

文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    自动驾驶模型是如何“看”懂信息的?

    [首发于智驾最前沿微信公众号]在自动驾驶中,是一个非常重要的感知信号,如激光雷达(LiDAR)生成的,其实就是三维空间里一堆带坐标、
    的头像 发表于 11-29 10:25 1572次阅读
    自动驾驶模型是如何“看”懂<b class='flag-5'>点</b><b class='flag-5'>云</b>信息的?

    如何使用自动驾驶激光雷达获得的云图进行障碍物识别?

    最大优点在于可以直接、精确地测得三维几何信息,利于判断物体的形状与距离,但它并不是整齐的像素网格,而是稀疏、不规则、受视角和距离影响显著的
    的头像 发表于 09-14 09:35 854次阅读
    如何使用自动驾驶激光雷达获得的<b class='flag-5'>点</b>云图进行障碍物识别?

    毫秒级响应!网行波故障预警与定位装置焕新效率

    ,也能精准锁定故障、毫秒级定位:为多主体带来实实在在的价值​ 网行波故障定位装置的“毫秒级响应”,不仅是技术上的突破,更能为电力运、工业生产、居民生活等多方面带来实实在在的
    发表于 09-03 13:45

    AI 驱动三维逆向:降噪算法工具与机器学习建模能力的前沿应用

    三维逆向工程领域,传统方法在处理复杂数据和构建高精度模型时面临诸多挑战。随着人工智能(AI)技术的发展,降噪算法工具与机器学习建模能力的应用,为
    的头像 发表于 08-20 10:00 449次阅读
    AI 驱动<b class='flag-5'>三维</b>逆向:<b class='flag-5'>点</b><b class='flag-5'>云</b>降噪<b class='flag-5'>算法</b>工具与机器学习建模能力的前沿应用

    HMI-4G套装,轻松搞定“数据上+异地远程运

    工业现场设备分散、环境复杂、网络难部署?宏 HMI-4G 套装一站搞定!轻松打破数据孤岛,实现数据上与远程运。文末附有真实客户案例,欢迎查阅参考。
    的头像 发表于 08-14 16:46 861次阅读
    宏<b class='flag-5'>集</b>HMI-4G套装,轻松搞定“数据上<b class='flag-5'>云</b>+异地远程运<b class='flag-5'>维</b>”

    曙光网络发布新能源控中心网管业务智能运解决方案

    方案以创新的 “全域业务一张图” 可视化和 “AI+语音”智能辅助为核心,旨在破解当前新能源控中心运的深层次痛,显著提升运营效率与效益。
    的头像 发表于 07-08 09:35 576次阅读

    VirtualLab:光学系统的三维可视化

    摘要 为了对光学系统的性质有一个基本的了解,对其组件的可视化和光传播的提示是非常有帮助的。为此,VirtualLab Fusion提供了一个工具来显示光学系统的三维视图。这些工具可以进一步用于检查
    发表于 05-30 08:45

    自动驾驶中常提的“”是个啥?

    [首发于智驾最前沿微信公众号]在自动驾驶系统中,技术作为三维空间感知的核心手段,为车辆提供了精确的距离和形状信息,从而实现目标检测、环境建模、定位与地图构建等关键功能。那所谓的“
    的头像 发表于 05-21 09:04 821次阅读
    自动驾驶中常提的“<b class='flag-5'>点</b><b class='flag-5'>云</b>”是个啥?

    VirtualLab:直系统中鬼像效应的研究

    摘要 仿真技术的主要作用之一是提供一个平台,以便在系统制造之前研究系统的性能,以便尽可能多地预防潜在的缺陷。杂散光是影响系统性能的最常见现象之一,杂散光可能有多个来源,其中包括系统中的内部伪反射
    发表于 05-15 10:20

    使用ads7825的串行采样时,在不同的电压上采样有些有些不准,感觉是在波动,为什么?

    在使用ads7825的串行采样时,用信号源输入信号,发现单个电压的重复性可以,跳动在2-3个mv,但是在输入不同的电压是,发现在不同的电压上采样有些有些不准,感觉是在波动。 例如:输入0v
    发表于 02-10 07:09

    FRED应用: LED混合直透镜模拟

    发光二极管,或者LED,近几年已经超越了白炽灯光源,应用也越来越广泛。LED具有尺寸小、发光效率高、使用寿命长[1]等优点。LED也有光学工程师必须处理的不良特性,比如混色和直的需要。在这个例子中
    发表于 01-15 09:37

    三维测量在医疗领域的应用

    三维测量在医疗领域的应用十分广泛,为医疗诊断、治疗及手术规划等提供了重要的技术支持。以下是对三维测量在医疗领域应用的分析: 一、医学影像的三维重建与分析 CT、MRI等影像的三维重建
    的头像 发表于 12-30 15:21 1091次阅读

    三维测量数据处理流程

    一系列的处理步骤才能转化为有用的信息。 1. 数据采集 三维测量数据处理的第一步是数据采集。这一步骤涉及到使用各种传感器和设备来获取三维空间中的数据。常见的设备包括: 激光扫描仪(
    的头像 发表于 12-30 15:06 1319次阅读

    三维测量软件的使用技巧

    需要哪些功能,如处理、三维建模、数据分析等。 软件兼容性 :确保软件能够与现有的硬件设备兼容,如三维扫描仪、CAD软件等。 用户界面 :选择界面直观、操作简便的软件,以减少学习成本
    的头像 发表于 12-30 15:05 1344次阅读

    三维扫描与建模的区别 三维扫描在工业中的应用

    三维扫描与建模的区别 三维扫描与建模是两种不同的技术,它们在操作过程、输出结果及应用领域上存在显著的区别。 操作过程三维扫描 :主要通
    的头像 发表于 12-19 14:55 1568次阅读