自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我爱调试

调试使我快乐,一天不调试就浑身不得劲

  • 博客(7)
  • 收藏
  • 关注

原创 李群数学推导及Opencv代码实现

本文主要是一些李群基本原理的整理和基于Opencv实现了一个李代数的接口,主要用于学习和不想配置Eigen的CVer。

2024-08-12 15:59:35 1125

原创 只使用Eigen实现的并行ICP配准算法(SVD解法)

提示:本文仅仅采用Eigen实现了并行的ICP算法(包括自己实现的一个KD树),其速度是PCL自带ICP算法的接近一倍,且精度更高。

2024-07-25 15:28:53 1009

原创 手写Kd树(C++模板非递归实现)

本文实现的Kd树实现参考了高翔博士的书《自动驾驶与机器人中的slam技术从理论到实践》;高博士原书中是递归形式实现的,本文改写成了while循环的形式,避免了特大规模点云时的栈溢出问题,并且通过C++无类型模板参数,理论上可以实现广义上的无穷维点云的最近邻匹配。

2024-07-22 14:37:31 962

原创 SVD求解两组点云(2D/3D)刚体变换-数学推导/C++ Eigen实现

通过C++的无类型模板形参,同时实现了基于SVD的2D/3D空间的刚体变换的求解。并且其实是点到点ICP配准算法中的核心部分,能够被很好的移植到2D/3D的ICP算法当中

2024-07-10 14:48:01 1139

原创 LM算法原理推导 + C++实现(2D ICP配准算法)

占据主导,此时更接近最速下降法(一阶梯度下降法)。因此LM算法能够在一定程度上解决H奇异和病态的问题。但由于阻尼的存在,其收敛速度可能会比高斯牛顿更慢。LM算法与高斯牛顿法的主要区别,是其在泰勒展开的近似目标函数上增加了一个惩罚项。LM算法又称阻尼牛顿法,因此其所用的目标函数和雅可比矩阵与前文一致。比较小的时候H占据主导地位,此时LM算法接近高斯牛顿算法;可以通过如下规则调节,首先定义增益率。算法的基本原理介绍见前文。表达了一阶泰勒展开近似M(从如上公式可以看出当。,这里不再过多介绍。

2024-07-05 17:28:59 715

原创 二维ICP配准算法-C++ 高斯牛顿实现

高斯牛顿法采用f(R,T)的一阶泰勒展开式代替f(R,T)。因此注意此处的雅可比矩阵应该为f(R, T)的,而非F(R, T)的,如果为F(R, T)的话就变成牛顿法了。f(R,T)可以表达成如下形式。对上述公式求导可得雅可比矩阵。算法的基本原理介绍见前文。根据如下SE(2)的定义。

2024-07-04 14:10:34 1011

原创 二维ICP配准算法-C++ 直接法实现

2D的ICP算法的原理与3D的一致,区别在于其SO(2)的自由度只有1。因此并不需要借用SVD来进行求解,只需要直接求导即可。由于第一项和第三项为常量,则目标函数可以转化为。上述目标函数包含两个变量比较难以求解。可以通过对点集进行归一化,不考虑T。,根据SO(2)的形式就可求出R。则目标函数G可以表达为如下形式。这时目标函数可以简化为。对目标函数进行展开可得。因SO(2)有如下定义。

2024-06-27 20:39:16 1072

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除