ICP问题的最小二乘法详细推导

本文详细推导了ICP(Iterative Closest Point)问题中使用最小二乘法求解坐标系之间的旋转矩阵R和平移向量t的过程。首先定义问题,给定两个坐标系中的点集,目标是找到最佳转换关系。接着,通过优化问题求解平移t,再利用奇异值分解(SVD)求解旋转R,确保结果为旋转矩阵。最后总结了求解步骤,并提到了特殊情况的处理及检验旋转矩阵是否为反射的方法。

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

ICP求解

问题定义

输入:在坐标系一中 n n n个坐标点 p ∈ { p 1 , p 2 , … , p n } \mathscr{p}\in\{p_1,p_2,\dots,p_n\} p{ p1,p2,,pn},坐标系二中 n n n个坐标点 q ∈ { q 1 , q 2 , ⋯   , q n } \mathscr{q}\in\{q_1,q_2,\cdots,q_n\} q{ q1,q2,,qn}

输出:坐标系一到坐标系二的转换关系 R ∈ S O ( 3 ) 、 t ∈ R 3 R\in SO(3)、t\in \mathbb{R}^3 RSO(3)tR3

推导过程

位移推导

根据问题我们可以知道如下关系成立:
p i = R q i + t p_i=Rq_i+t pi=Rqi+t
于是我们可以建立一个优化问题:
( R , t ) = arg ⁡ min ⁡ R ∈ S O ( 3 ) , t ∈ R 3 ∑ i = 1 n w i ∥ R q i + t − p i ∥ 2 (R,t)=\arg\min_{R\in SO(3),t\in\mathbb{R}^3}\sum_{i=1}^{n}w_i\Vert Rq_i+t-p_i \Vert^2 (R,t)=argRSO(3),tR3mini=1nwiRqi+tpi2
其中, w i w_i wi表示每一项残差的贡献。将上式看成只关于 t t t的函数:
F ( t ) = arg ⁡ min ⁡ ∑ i = 1 n w i ∥ R q i + t − p i ∥ 2 F(t) =\arg\min \sum_{i=1}^{n}w_i\Vert Rq_i+t-p_i \Vert^2 F(t)=argmini=1nwiRqi+tpi2
将上式对 t t t求偏导得到:
∂ F ( t ) ∂ t = arg ⁡ min ⁡ 2 ∑ i = 1 n w i ( R q i + t − p i ) = arg ⁡ min ⁡ ( 2 R ∑ i = 1 n ( w i q i ) + 2 t ∑ i = 1 n ( w i ) − 2 ∑ i = 1 n ( w i p i ) ) = arg ⁡ min ⁡ ( 2 R q ˉ + 2 t − p ˉ ) = 0 \begin{aligned} \frac{\partial F(t)}{\partial t} &=\arg \min 2\sum_{i=1}^{n}w_i( Rq_i+t-p_i)\\ &=\arg \min \left( 2R\sum_{i=1}^{n}(w_iq_i) +2t\sum_{i=1}^{n}(w_i)-2\sum_{i=1}^{n}(w_ip_i) \right)\\ &=\arg \min \left( 2R\bar{q}+2t-\bar{p} \right)\\ &=0 \end{aligned} tF(t)=argmin2i=1nwi(Rqi+tpi)=argmin(2Ri=1n(wiqi)+2ti=1n(w

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值