点云配准python代码_[Python] 二维 ICP 配准算法 ( 含有笔记、代码、注释 )

二维 ICP 配准算法

① ICP算法简单来说就是对源点云,B点云,不停进行矩阵变换,把它变换到和目标点云,A点云,很接近就停止。

② 算法步骤:

1) 点云归一化。

2) 找到两片点云中的对应点对。

3) 根据对应点对的信息,计算得到这次的变换矩阵。

4) 变换点云。

5) 计算当前的损失。

6) 是否决定继续迭代,如果损失小于设定阈值或者达到最大迭代数停止,否则返回第1步。

1) 点云归一化

① 点云归一化只是我的一个说法,实际并不完全等同传统的归一化操作。

② 点云A和B归一化后,得到点云a和b。

注:归一化后的操作,有一部分是使用归一化后的点云a和b,有一部分是使用原来的点云A和B,这里是不一样的。

③ 这里归一化做的操作是,取点云的中心(有权重时可以取重心,或者其他合理的点也是可以的)。

④ 这里的

实际就是点云A和点云B的平均值。

f2063713bfbe2bdb5dc7fb4ea07e2c2b.png

是点云A和点云B中的第i个点,接下来将每个点都减去这个平均值,得到归一化后的点云a和b。

f6eb50e5239f8f1edd96f13a2061ffed.png

2) 找到对应点对

① 当A和B还没有经过ICP时,没有人能够说出哪两个点是对应的。

② ICP算法的对应点对,通过计算欧式距离,认为欧式距离最近的点为对应点对,也就是ICP的C,closet。

③ 归一化后的点云a和b中,

对应点为
,因此它的数学公式为:

b1e682fbf93107141b703f25d6f226f2.png

④ 找到对应点对过程中,有一个很重要的步骤去噪,因为数

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值