ICP算法详解

在点云匹配中,FindClosestPoint算法用于寻找源点云与目标点云的最近对应点,但原始方法时间复杂度高。通过设定距离阈值可加速计算。FindBestTransform则采用迭代和SVD(奇异值分解)来优化变换,首先计算均值进行中心化,然后利用SVD找到最佳变换矩阵,降低计算复杂性。
摘要由CSDN通过智能技术生成

1. 找最近对应点(Find Closet Point)

        对 Source 点云中的一点,求解其与 Target 点云中距离最近的那个点,作为其对应点。但是,这样操作的时间复杂度很高。实际中为了加速计算,我们不需要计算 Target 点云中每个点到 Source 点云中一点的距离。可以设定一个阈值,当距离小于阈值时,就将其作为对应点。

2.  解最优变换(Find Best Transform): 迭代优化

`up = P.mean(axis=0)`

`uq = Q.mean(axis=0)`

`t = uq - np.dot(R, up)`

P_centered = P - up
Q_centered = Q - uq

 

U, s, V = np.linalg.svd(np.dot(Q_centered.T, P_centered), full_matrices=True, compute_uv=True)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值