原文:matlab练习程序(点集配准的SVD法)

上一篇博客中我们使用了四元数法计算点集配准。 本篇我们使用SVD计算点集配准。 下面是 视觉slam十四讲 中的计算方法: 计算步骤如下: 我们看到,只要求出了两组点之间的旋转,平移是非常容易得到的,所以我们重点关注R的计算。展开关于R的误差项,得: 注意到第一项和R无关,第二项由于R R I,亦与R无关。因此,实际上优化目标函数变为: 接下来,我们介绍怎样通过SVD解出上述问题中最优的R,但关于 ...

2019-01-16 15:16 0 1145 推荐指数:

查看详情

matlab练习程序(对应点集的四元数

这个算是ICP算法中的一个关键步骤,单独拿出来看一下。 算法流程如下: 1.首先得到同名点集P和X。 2.计算P和X的均值up和ux。 3.由P和X构造协方差矩阵sigma。 4.由协方差矩阵sigma构造4*4对称矩阵Q。 5.计算Q的特征值与特征向量。其中Q最大特征值对应的特征向量 ...

Sat Dec 15 04:43:00 CST 2018 1 1582
matlab练习程序(PCA<SVD>)

参考: 1.http://iiec.cqu.edu.cn/wiki/index.php/SVD%E4%B8%8EPCA%E7%9A%84%E7%93%9C%E8%91%9B ...

Wed May 02 22:25:00 CST 2012 1 3070
点集技术(ICP、RPM、KC、CPD)

  在计算机视觉和模式识别中,点集技术是查找将两个点集对齐的空间变换过程。寻找这种变换的目的主要包括:1、将多个数据集合并为一个全局统一的模型;2、将未知的数据集映射到已知的数据集上以识别其特征或估计其姿态。点集的获取可以是来自于3D扫描仪或测距仪的原始数据,在图像处理和图像中,点集 ...

Wed Oct 16 22:19:00 CST 2019 1 3017
matlab练习程序(人工势场

该方法也是一种路径规划算法,不过障碍物过多的时候建立势场可能比较耗时,而且容易陷入局部最优。 算法流程如下: 1. 对于栅格场景中每一个像素分别计算到终点的距离,距离越大,则对该像素赋值越大,结束 ...

Fri Feb 07 05:14:00 CST 2020 1 6512
matlab练习程序(点云表面向量)

思路还是很容易想到的: 1.首先使用KD树寻找当前点邻域的N个点,这里取了10个,直接调用了vlfeat。 2.用最小二乘估计当前邻域点组成的平面,得到向量。 3.根据当前邻域点平均值确定邻域质心,通常质心会在弯曲表面的内部,反方向即为法线方向。 vlfeat在这里下载,配置参考 ...

Sun Apr 07 04:34:00 CST 2019 12 4447
matlab练习程序(龙格库塔

非刚性常微分方程的数值解法通常会用四阶龙格库塔算法,其matlab函数对应ode45。 对于dy/dx = f(x,y),y(0)=y0。 其四阶龙格库塔公式如下: 对于通常计算,四阶已经够用,四阶以上函数f(x,y)计算工作量大大增加而精度提高较慢。 下面以龙格库塔解洛伦兹方程为例 ...

Tue Jan 28 22:35:00 CST 2020 0 12593
matlab练习程序(Levenberg-Marquardt最优化)

上一篇博客中介绍的高斯牛顿算法可能会有J'*J为奇异矩阵的情况,这时高斯牛顿稳定性较差,可能导致算法不收敛。比如当系数都为7或更大的时候,算法无法给出正确的结果。 Levenberg-Marquardt一定程度上修正了这个问题。 计算迭代系数deltaX公式如下: 当lambda很小 ...

Fri Jan 04 19:32:00 CST 2019 0 1405
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM