知乎ICP

ICP算法本文具体化

精配准:给定一个初始变换,进一步优化得到更精确的变换。ICP目的是把不同坐标系中的点,通过最小化配准误差,变换到一个共同的坐标系中。

为什么需要点云配准

通过RGBD相机获取两组点云,在待匹配的两组点云数据的重叠区域内,选取两组点云,一组点云
(源),相机经过位姿变换(旋转平移)之后拍摄第二组点云(平移后)。

理论上,两者内部的点应该是一一对应的,并且在存储的时候,按照顺序存储下标为i的像素。

在没有误差的情况下,计算出旋转R和平移t,可以将转换到 ,转换公式如下: 

但由于噪声存在,以及匹配错误存在,上面的公式不一定对于所有的点都成立,所以存在误差。

ICP具体算法

  1. 核心:最小化一个目标函数,即上面提到的误差。
  2. 寻找对应点:我们现在并不知道有哪些对应点。因此,我们在有初值的情况下,假设用初始的旋转平移矩阵对源点云进行变换,得到的一个变换后的点云。然后将这个变换后的点云与目标点云进行比较,只要两个点云中存在距离小于一定阈值,我们就认为这两个点就是对应点,称为最邻近点对。
  3. R、T优化: 有了对应点之后,我们就可以用对应点对旋转R与平移T进行估计。这里R和T中只有6个自由度,而我们的对应点数量是庞大的(存在多余观测值)。因此,我们可以采用最小二乘等方法求解最优的旋转平移矩阵。
  4. 迭代: 我们优化得到了一个新的R与T,导致了一些点转换后的位置发生变化,一些最邻近点对也相应的发生了变化。因此,我们又回到了步骤2)中的寻找最邻近点方法。2)3)步骤不停迭代进行,直到满足一些迭代终止条件,如R、T的变化量小于一定值,或者上述目标函数的变化小于一定值,或者邻近点对不再变化等。

ICP一般流程:

1、点云预处理——滤波、数据清理

2、匹配——应用上一步求解出的变换,寻找最近点

3、加权——调整一些对应点的权重

4、剔除不合理的对应点

5、计算loss

6、最小化loss,求解当前最优变换

7、返回步骤2进行迭代,直到收敛

(点、6)精配准Iterative Closest Point(ICP)相关推荐

  1. 迭代最近点(Iterative Closest Point, ICP)算法

    1. 定义 ICP(Iterative Closest Point,迭代最近点)算法是一种迭代计算方法,主要用于计算机视觉中深度图像的精确拼合,通过不断迭代最小化源数据与目标数据对应点来实现精确地拼合 ...

  2. 迭代最近点(Iterative Closest Point, ICP)算法及matlab实现

    前言 通常,使用RGB-D相机或是其他方法获取到物体的三维点云后,由于采集设备不同.拍摄视角不同等等因素的影响,即使是同一个物体所得到的点云也会有较大的差异,主要是旋转或者平移的变化.对于一组图像数据 ...

  3. 迭代近邻算法Iterative Closest Point, ICP

    参考的文章链接: https://zhuanlan.zhihu.com/p/35893884 https://blog.csdn.net/u014709760/article/details/9924 ...

  4. SAC-IA粗配准+ICP精配准

    最近一直在看点云配准相关的算法,在这里记录一下我试验过的配准算法. 第一弹:SAC-IA粗配准+ICP精配准 采样一致性初始配准算法(Sample Consensus Initial Aligment ...

  5. 点云配准 3- icp-交互式ICP点云配准

    一.声明 本人作为初学者,才开始接触点云配准这一块,如有错误地方,望大家指出,我将及时修改,共同进步.其次这一部分主要是点云数据配准的第一个程序,也是官方代码比较直观的一次icp配准实验. 二.数据来 ...

  6. 点云配准的传统算法ICP与NDT概述

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

  7. 迭代最近点算法 Iterative Closest Points

    研究生课程系列文章参见索引<在信科的那些课> 基本原理 假定已给两个数据集P.Q, ,给出两个点集的空间变换f使他们能进行空间匹配.这里的问题是,f为一未知函数,而且两点集中的点数不一定相 ...

  8. SLAM--VICP(Velocity Updating Iterative Closest Point Algorithm)学习笔记

    参考资料: <VICP: Velocity Updating Iterative Closest Point Algorithm>–Seungpyo Hong Heedong Ko Jin ...

  9. 点云的粗配准和精配准

    1.前言 点云配准是点云处理的重要技术之一,可以用来估计物体位姿,拼接多个视角下的点云. 分别用基于采样一致性的粗配准,以及粗配准与ICP精配准结合的方法进行配准实验. 粗配准流程图如下,主要为精配准 ...

最新文章

  1. waves服务器系统盘,Waves 新款小巧化 SoundGrid 服务器 Server One-C 和 Extreme Server-C 公开...
  2. 数据挖掘与数据化运营实战. 3.10 信用风险模型
  3. mysql 创建事件_mysql怎么建立事件
  4. Spring依赖注入–字段vs设置器vs构造函数注入
  5. 如何让CentOS8虚拟机与主机相互Ping通
  6. 微课|《Python编程基础与案例集锦(中学版)》第5章例题讲解(1)
  7. node访问oracledb的环境搭建
  8. php 随机码类,php随机类型验证码
  9. Java常用设计模式的实例学习系列-绪论
  10. Sqlmap常用命令总结及注入实战(Access、mysql)
  11. 天线的回波损耗和驻波比
  12. 静态网页的基本结构及标签
  13. 科学计算机统计说明书,科学计算器的使用方法
  14. 聚焦Java性能优化 打造亿级流量秒杀系统【学习笔记】01_电商秒杀商品回顾
  15. 1.设计一个长方形的类,成员变量有长与宽,成员函数有求周长与面积,然后进行测试。要求有构造函数、析造函数和复制构造函数。
  16. 520被女朋友三番两次拉黑后,我用 Python 写了个“舔狗”必备神器
  17. 什么是透传模块?为什么要透传?
  18. LIBSVM在Matlab下的使用和LIBSVM的matlab软件下README全文翻译
  19. 淘宝拼多多都在卖 iPhone,苹果为什么还继续开店?
  20. 西南大旱之女娲补天谭: 水哪里去了?

热门文章

  1. ZWAVE Node Information Frame 实例
  2. 苹果手机相片删除了怎么恢复回来?恢复照片,3分钟搞定!
  3. 《软件工程》第二章 可行性研究 作业
  4. Linux系统安装大于2TB硬盘
  5. 主流的券商系统有哪些?
  6. Tomcat:应用加载原理分析
  7. 光场相机 light field camera
  8. unity休闲游戏象棋游戏源码,支持安卓+IOS双端 unity2019 C#语言开发
  9. Hadoop 3.x各模式部署 - Ubuntu
  10. 互联网热门词汇-媒体经常说的热门词