slam 3D-3D ICP (六)

目录

一、介绍ICP(Iterative Closest Point)

二、求解ICP

1、使用线性代数SVD求解

2、线性SVD求解方法总结

2.1、计算两幅图像匹配好的3D点 的质心坐标,然后计算去质心坐标:

2.2、计算旋转矩阵

2.3计算t

2、非线性优化方法


一、介绍ICP(Iterative Closest Point)

      前面两节内容我们已经介绍过2D-2D,2D-3D,这节我们来介绍3D-3D的算法。3D-3D就是两张深度图像来生成点云。使用深度相机进行拍照,与前面两种方法相比深度相机的成本更高。

二、求解ICP

     假设两张深度图像的三维坐标P=\left \{ p_{1} p_{2}...p_{n}\right \},{p}'=\left \{ {p_{1}}', {p_{2}}'... {p_{n}}'\right \}

     欧式变换R,T使得

                                                                         \forall _{i}p_{i}=R{p_{i}}'+t                                                                          (2.1)

R——相机姿态变化的旋转向量

t——相机姿态变化的平移向量

注:仅考虑两组3D点之间的变换时和相机并没有关系

1、使用线性代数SVD求解

1.1奇异值介绍

奇异值分解(singular value decomposition,SVD)是一种矩阵因子分解的方法。

         如上图所示,一个由7×8个像素组成的图像,在中间有个3×3空心的正方形。对该图像进行奇异值分解,可以纵向分解成三个部分,一部分是用红色圈出来全部都是白色的小方块,一部分是用绿色圈出来其中有三个黑方块的部分,一部分是用紫色圈出来的具有两个黑方块的部分。

1.2奇异值计算

                                                             W=U\sum V^{T}=\sqrt{\lambda _{1}}\vec{u_{1}}\vec{v_{1}}^{T}+\sqrt{\lambda _{2}}\vec{u_{2}}\vec{v_{2}}^{T}                                    (2.2)

例:

1.3 定义误差项              e_{i}=p_{i}-\left ( R{p_{i}}'+t \right )

1.4 最小二乘法的问题,使误差平方和达到极小的R,T

                                                                            min_{R,t}J=\frac{1}{2}\sum_{i=1}^{n}\left \| R{p_{i}}'+t \right \|^{2}                                                 (2.3)

1.5 定义两组点的质心

                                                                    p=\frac{1}{n}\sum_{i=1}^{n}\left ( p_{i} \right )                       {p}'=\frac{1}{n}\sum_{i=1}^{n}\left ( {p_{i}}' \right )

                          

2、线性SVD求解方法总结

2.1、计算两幅图像匹配好的3D点 p_{i}{p_{i}}'的质心坐标p{p}',然后计算去质心坐标:

                                                                     q_{i}=p_{i}-p             {q_{i}}'={p_{i}}'-{p}'

2.2、计算旋转矩阵

                                                                  R^{*}=argmin_{R}\frac{1}{2}\sum_{i=1}^{n}\left \| q_{i} -R{q_{i}}'\right \|^{2}

2.3计算t

                                                                                t^{*}=p-R{p}'

a、R的计算

b、通过SVD解出最优的R

                                                       W=\sum_{i=1}^{n}q_{i}{q_{i}}'^{T}                         W=U\sum V^{T}

 当W满秩时                  R=UV^{T}

2、非线性优化方法

                                                                  min_{\xi }=\frac{1}{2}\sum_{i=1}^{m}\left \| pi-exp\left (\xi ^{\wedge } \right ) {p_{i}}'\right \|^{2}

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小负不负

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值