- 博客(3)
- 收藏
- 关注
原创 SLAM学习笔记(三)——基于Ceres库实现对李代数的非线性最小二乘优化求解
由于LocalParameterization中除了MultiplyByJacobian,其它函数全是虚函数,因为任何从纯虚基类派生的类都必须实现所有的纯虚函数,除非该派生类也被声明为纯虚基类,否则无法实例化,所以其它函数都需要在子类中实现。本文求解的问题与前面的两篇文章解决的问题一样,即给定匹配点坐标的情况下如何使用Ceres求解出最优的变换矩阵。sq_norm是残差的二范数,out[3]则是核函数对残差的相应导数,如out[0]则是0阶导数,out[1]是一阶导数,out[3]是二阶导数。
2025-03-24 17:00:11
256
原创 SLAM学习笔记(二)——手动实现引入了Huber核函数的非线性优化点云配准代码,并研究讨论了结合渐进非凸优化策略对精度的影响
一开始想不通如何对Huber函数进行非线性优化求解,之后询问了一下Deepseek,了解到只是用Huber核函数对原来的最小二乘进行加权,那么其它鲁棒核函数也是如此。的,参考论文《Fast Global Registration》里的渐进非凸优化策略,对尺度参数不断调整,会提到算法的鲁棒性,避免陷入局部最优解,同时不断优化精度。在上一节的优化代码的基础上引入了Huber核函数加权。变小精度越来越高了,后面可以加入到ICP里试一试。不过可能用的数据的解是凸的,单纯是随着。
2025-02-28 09:58:04
253
原创 SLAM学习笔记(一)——手动实现点云配准的非线性优化
针对具有初始对应匹配点的情况,利用高斯牛顿优化算法求解变换矩阵,参考《SLAM十四讲》的李代数和非线性优化部分通过C++编写的实现代码,其中关于T的雅可比矩阵的公式没有严格按照书中给出的公式,而是直接把非对称矩阵近似为旋转矩阵用于计算的,经过实际运行测试求解的变换矩阵误差并不太大。
2025-02-26 18:09:46
157
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人