第九篇 位姿优化问题 四:SVD求解ICP问题,坐标系转换亦可使用

一 普通ICP问题

1.1 问题描述

存在两组互相匹配的点集:
P={P1,P2,...,Pn}Q={Q1,Q2,...,Qn} P = \{P_1,P_2,...,P_n\} \newline Q = \{Q_1,Q_2,...,Q_n\} P={P1,P2,...,Pn}Q={Q1,Q2,...,Qn}
匹配点集存在如下关系:
Qi=R∗Pi+t Q_i = R*P_i + t Qi=RPi+t

1.2 问题建模

如何求解R和t 呢?使用SVD分解法。
ei=Qi−(R∗Pi+t) e_i = Q_i - (R*P_i + t) ei=Qi(RPi+t)
构建最小二乘问题:
minJ=0.5∗∑i=1n∣∣Qi−(R∗Pi+t)∣∣2 min \quad J = 0.5*\sum_{i=1}^{n} {|| Q_i - (R*P_i + t)||^2} minJ=0.5i=1n∣∣Qi(RPi+t)2

1.3 问题求解

两个点集的质心描述如下:
Qm=1n∗∑i=1nQiPm=1n∗∑i=1nPi Q_m = \frac{1}{n}*\sum_{i=1}^{n}{Q_i} \newline P_m = \frac{1}{n}*\sum_{i=1}^{n}{P_i} Qm=n1i=1nQiPm=n1i=1nPi
对最小二乘误差函数进行处理:
∑i=1n∣∣Qi−(R∗Pi+t)∣∣2=∑i=1n∣∣Qi−R∗Pi−t−Qm+Qm−R∗Pm+R∗Pm∣∣2=∑i=1n∣∣((Qi−Qm)−R∗(Pi−Pm))+(Qm−R∗Pm−t)∣∣2=∑i=1n∣∣((Qi−Qm)−R∗(Pi−Pm))∣∣2+∑i=1n∣∣(Qm−R∗Pm−t)∣∣2+∑i=1n((Qi−Qm)−R∗(Pi−Pm))∗(Qm−R∗Pm−t) \sum_{i=1}^{n} {|| Q_i - (R*P_i + t)||^2} = \sum_{i=1}^{n} {|| Q_i - R*P_i - t - Q_m+Q_m-R*P_m+R*P_m||^2} \newline = \sum_{i=1}^{n} {|| ((Q_i - Q_m) - R*(P_i -P_m ))+(Q_m-R*P_m- t) ||^2} \newline = \sum_{i=1}^{n} {|| ((Q_i - Q_m) - R*(P_i -P_m )) ||^2} \newline + \sum_{i=1}^{n} {||(Q_m-R*P_m- t) ||^2} \newline + \sum_{i=1}^{n} ((Q_i - Q_m) - R*(P_i -P_m )) * (Q_m-R*P_m- t) \newline i=1n∣∣Qi(RPi+t)2=i=1n∣∣QiRPitQm+QmRPm+RPm2=i=1n∣∣((QiQm)R(PiPm))+(QmRPmt)2=i=1n∣∣((QiQm)R(PiPm))2+i=1n∣∣(QmRPmt)2+i=1n((QiQm)R(PiPm))(QmRPmt)
注意要上式第三项结果累加求和之后为0,因此优化目标函数如下:
minJ==∑i=1n∣∣((Qi−Qm)−R∗(Pi−Pm))∣∣2+∑i=1n∣∣(Qm−R∗Pm−t)∣∣2 min J = = \sum_{i=1}^{n} {|| ((Q_i - Q_m) - R*(P_i -P_m )) ||^2} \newline + \sum_{i=1}^{n} {||(Q_m-R*P_m- t) ||^2} \newline minJ==i=1n∣∣((QiQm)R(PiPm))2+i=1n∣∣(QmRPmt)2
这个式子,第二项中对于任意的R总能凑出t,使得第二项为零。因此目标函数如下:
minJ=∑i=1n∣∣((Qi−Qm)−R∗(Pi−Pm))∣∣2=∑i=1n∣∣qi−R∗pi∣∣2 min J = \sum_{i=1}^{n} {|| ((Q_i - Q_m) - R*(P_i -P_m )) ||^2} \newline = \sum_{i=1}^{n} {|| q_i - R*p_i ||^2} minJ=i=1n∣∣((QiQm)R(PiPm))2=i=1n∣∣qiRpi2
参见 SLAM十四讲的求解证明
W=∑i=1nqipiTW=UΣVT W = \sum_{i=1}^{n} {q_i}{p_i^T}\newline W = U \Sigma V^T W=i=1nqipiTW=UΣVT
于是得到结果:
R=(UVT)Tt=Qm−R∗Pm R = (UV^T)^T \newline t = Q_m-R*P_m R=(UVT)Tt=QmRPm

二 举一反三 坐标系转换

如果有两组坐标,分别互相对应,求出两个坐标系之间的关系,类似于ICP问题,亦可用SVD分解办法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值