svd求解点云旋转矩阵方法,利用SVD的方法求解ICP(详细推导)

本文详细介绍了如何使用SVD(奇异值分解)求解点云匹配中的旋转矩阵,通过优化误差函数,转换为求解正交矩阵的问题。通过计算质心、构造误差项,最终利用SVD找到最佳旋转矩阵,并提供了相应的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引用资料(理论部分其实就是把第一个的不详细和错误的地方说了一下,翻译了一下第二个文献以及不明了的地方说一下O(∩_∩)O哈哈~):

高翔《视觉SLAM十四讲》

K. S. ARUN, T. S. HUANG, AND S. D. BLOSTEIN

Least-Squares Fitting of Two 3-D Point Sets

问题描述

假设存在两个点云集合

math?formula=%5C%7Bp_i%5C%7D

math?formula=%5C%7Bp'%5C%7D

求:一个欧氏变换

math?formula=R%2Ct使得

math?formula=%5Cforall%20%7Bi%2Cp_i%7D%3DRp'_i%2Bt

求解问题

解:

假设误差项为

math?formula=e_i%3Dp_i-(Rp'_i%2Bt)

那么问题转化为优化问题:

math?formula=%5Cmathop%7Bmin%7D%5Climits_%7BR%2Ct%7DJ%3D%5Cfrac%7B1%7D%7B2%7D%5Csum_%7Bi%3D1%7D%5En%5C%7C(p_i-(Rp'_i%2Bt_))%5C%7C%5E2

定义质心为:

math?formula=p%3D%5Cfrac%7B1%7D%7Bn%7D%5Csum_%7Bi%3D1%7D%5En(p_i)%2Cp'%3D%5Cfrac%7B1%7D%7Bn%7D%5Csum_%7Bi%3D1%7D%5En(p'_i)

那么有:

math?formula=%5Cfrac%7B1%7D%7B2%7D%5Csum_%7Bi%3D1%7D%5En%5C%7Cp_i-(Rp'_i%2Bt)%5C%7C%3D%5Cfrac%7B1%7D%7B2%7D%5Csum_%7Bi%3D1%7D%5En%5C%7Cp_i-Rp'_i-t-p%2BRp'%2Bp-Rp'%5C%7C%5E2

math?formula=%3D%5Cfrac%7B1%7D%7B2%7D%5Csum_%7Bi%3D1%7D%5En%5C%7C(p_i-p-R(p'_i-p'))%2B(p-Rp'-t)%5C%7C%5E2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值