• 算法介绍(1)-帧间匹配算法-ICP


    帧间匹配算法-ICP类

    传统 ICP 方法

    1 ICP方法的简单介绍

    Iterative closest Points 迭代最近点的方法

    Note:

    1. 激光雷达是固定在机器人上的。
    2. 两帧点云对应的是物理空间中的同一个实体。两帧点云之所以表现的不一样是因为,雷达在动啊。
    3. 点云A对应的是机器人在上一帧对应的位姿。
    4. 点云B对应的是机器人在当前帧对应的位姿。
    5. 使用一种方法对齐两个点云,可以求出前后两帧之间的相对位姿关系。
    6. 说白了,就是给定两个点云集合 X 和 P ,求解两个点云集之间的 R 和 t 。
    两帧之间机器人位姿变换 T
    P2 = P1 × T = P1 × R + t
    点云集合 时间戳 激光雷达位姿
    A = {a1,a2,a3...an} t1 P1
    B = {b1,b2,b3,,,bn} t2 P2 = P1 × R + t

    假设:a1 和 b1 就是物理空间中的对应点
    就应该有 ||a1 - (R*y1+t) || = 0
    就可以建立最小二乘的问题;

    2 ICP方法求解方法

    1 已知对应点的求解方法
    1. 前提就是:已知正确的匹配
    2. 可以求得解析解的

    证明过程:

    2 未知对应点的求解方法
    • 实际中,不知道对应点匹配
    • 不能一步到位计算出R和t
    • 进行迭代计算
    • EM算法的一个特例

    算法流程:

    1. 寻找对应点
    2. 根据对应点,计算R t
    3. 对点云进行转换,计算误差
    4. 不断迭代,直至误差小于某一个值

    PL-ICP 方法

    Point to line
    优化思想:修改的是误差尺度

    基本思想:

    1. 激光点是对环境中曲面的离散采样
    2. 重要的不是激光点,而是隐藏在激光点中的曲面
    3. 传统的ICP方法用距离最近的点,作为对应点
    4. 最好的误差尺度是 当前激光点到实际曲面的距离
    5. 关键的问题,是如何恢复曲面
    6. 分段线性的方法来对实际曲面进行近似,从而定义当前帧激光点到曲面的距离。
    干啥啥不行,吃饭第一名
  • 相关阅读:
    IOS触摸事件
    IOS中内存管理机制浅解
    Info.plist与Prefix.pch修改文件位置遇到的问题及解决方法
    block使用小结、在arc中使用block、如何防止循环引用
    __block的作用
    ios中键值编码kvc和键值监听kvo的特性及详解
    ios多线程开发的常用三种方式
    Xcode7连接网络设置
    不能弹出虚拟键盘的解决办法
    【测试工具】moco入门(一)
  • 原文地址:https://www.cnblogs.com/jiangxinyu1/p/12407641.html
Copyright © 2020-2023  润新知