![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
十四讲
文章平均质量分 95
学习记录
古路
这个作者很懒,什么都没留下…
展开
-
最小二乘问题和非线性优化
在进行最小二乘问题中,我们会遇到一些异常观测值使得观测残差特别大,如果不对这些异常点做处理会影响在优化过程中,优化器会尝试最小化异常的残差项,最后影响状态估计的精度,鲁棒核函数就是用来降低这些异常观测值造成的影响。可得,当我们使用了鲁棒核函数之后,只需要将各项残差的核函数的一阶二阶导数值计算出,再按照以上形式对信息矩阵和信息向量进行更新即可。通过这种方式,我们同样将其近似一个二次函数,并且和我们之前展开的结果比较,不难发现在这里我们实际上是用。因此,合理的设置阻尼因子,能够达到动态对迭代速度进行调节。原创 2023-08-07 14:38:57 · 931 阅读 · 0 评论 -
Jacobi法求特征值特征向量
Jacobi法求特征值特征向量引言Jacobi法求特征值特征向量引言参考链接1参考链接2参考链接3参考链接4Jacobi法求特征值特征向量求解使用对象:实对称矩阵RRR,性质有RR−1=IRR^{-1}=IRR−1=I 即是 RT=R−1R^T=R^{-1}RT=R−1。 求解思路:实对称矩阵性质与旋转矩阵RRR性质相同,故看做是将旋转矩阵转化为三个自由度。变换过程也是利用旋...原创 2019-07-02 21:30:28 · 2337 阅读 · 0 评论 -
矩阵计算
MatrixDifferentiation引言1.矩阵微分2.常用公式引言ch6.1.矩阵微分参考链接:武汉大学ppt斯坦福ppt丹麦技术大学WIKI2.常用公式原创 2019-06-11 10:03:58 · 369 阅读 · 0 评论 -
Eigen_四元数笔记
Eigen_四元数笔记引言1.构造函数2.常用函数引言参考链接1.构造函数常用的四元数格式有Quaternionf(float)和Quaterniond(double),模板类中的Scalar决定数据类型。官方介绍有七种构造方式,不过常用的一般有以下几种:直接赋值Eigen::Quaternion< _Scalar, _Options >::Quaternion( ...转载 2019-06-10 15:56:19 · 7606 阅读 · 0 评论 -
Evo_installErr
Evo_installErr引言1.依赖项2.解决引言一个一个尝试终于找到错误所在,微笑脸!python导入包seaborn出错:ImportError: No module named '_tkinter', please install the python3-tk package.1.依赖项依赖项中seaborn需要单独安装,自动解析解析不了:pip3 install seaborn...原创 2019-05-15 11:18:10 · 340 阅读 · 0 评论 -
3D-3D:ICP_SVD
3D-3D:ICP_SVD引言1.ICP2.SVD3.非线性求解引言ch7.利用一组匹配好的3D点(比如RGB-D图像),求解R,tR,tR,t,使用迭代最近点(Iterative Closest Point,ICP).和PnP求解类似,ICP的求解同样分为线性方法(SVD)和非线性方法(BA).1.ICP2.SVD只要求出了两组点之间的旋转,平移量是非常容易得到的。所以重点是R...原创 2019-05-03 22:44:56 · 1047 阅读 · 0 评论 -
3D-2D:PnP_BA
3D-2D:PnP_BA引言1.BA2.g2o求解BA引言ch7.1.BA求解PnP最小化重投影误差问题。使用BA求解,BA思想本身不难,难在应用在重投影中求导的地方。直接对矩阵求导行不通,因为无论是变换矩阵还是旋转矩阵本身都有非常多的约束,再做求导只会越导越复杂。因此引入了李群与李代数,但是李群不满足加法,因此在李群上也没有导数的定义(ch4)故转而在李代数上利用(满足加法)导数的定...原创 2019-05-03 15:48:33 · 934 阅读 · 0 评论 -
3D-2D:PnP_DLT.P3P
3D-2D:PnP引言1.直接线性变换(DLT)2.P3P引言ch7.PnP(Perspective-n-Point)是求解3D到2D点对运动的方法.已知nnn个空间点[X,Y,Z,1][X,Y,Z,1][X,Y,Z,1](前一帧的相机坐标系)以及他们的投影位置(u1,v1,1)(u_1,v_1,1)(u1,v1,1)(归一化平面坐标系)。[u1v11]=[R∣t]3∗4[XYZ1]...原创 2019-05-03 10:37:14 · 1040 阅读 · 0 评论 -
2D-2D:E2RT_Triangulation
E2RT_Triangulation引言1.2D-2D对极约束2.八点法求解E3.三角测量求深度引言ch7.当相机为单目时,只知道2D的像素坐标,因而问题是根据两组2D点估计运动。该问题用对极几何来解决。1.2D-2D对极约束对极约束:实际求解步骤:(1)根据已经匹配的像素点x1,x2x_1,x_2x1,x2根据x2Tt∧Rx1=0x_2^Tt^{\wedge}Rx_1=0x...原创 2019-05-02 15:05:16 · 813 阅读 · 0 评论 -
ORBFeature
ORBFeature引言1.ORBFeature2.code引言ch7.1.ORBFeature参考链接1此代码没有实现金字塔部分,后面再从ORB-SLAM2学习尺度不变性。2.code#include <opencv2/opencv.hpp>#include <string>#include <chrono>using names...原创 2019-05-01 22:57:31 · 658 阅读 · 0 评论 -
CeresPractice
CeresPractice引言1.Ceres2.ceresCurveFitting引言ch6.1.CeresCeres官网参考链接0参考链接1参考链接2参考系列32.ceresCurveFitting用法:定义 Cost Function 模型。方法是书写一个类,并在类中定义带模板参数的 () 运算符,这样该类成为了一个拟函数(Functor,C++ 术语)。这种定...原创 2019-05-01 20:20:04 · 339 阅读 · 0 评论 -
g2oPractice
g2oGeneral Graph Optimization图优化的流程核函数General Graph Optimization在g2o中选择优化方法需三个步骤:1.选择一个线性方程求解器:PCG, CSparse, Choldmod;2.选择一个BlockSolver。,一个SparseBlockMatrix,用于计算稀疏雅可比和海塞;一个是用于计算迭代过程中最关键的一步HΔx=−b...原创 2019-05-01 18:49:35 · 662 阅读 · 0 评论 -
GN_MLE
GNpractice引言1.题目2.code引言ch6.1.题目注意未知数是abc.GN分析:2.code#include <iostream>#include <opencv2/opencv.hpp>#include <Eigen/Core>#include <Eigen/Dense>using namespace std...原创 2019-05-01 10:56:56 · 237 阅读 · 0 评论 -
ImageUndistorted_Disparity
ImageUndistorted引言1.ImageUndistorted2.Disparity引言ch5.1.ImageUndistorted流程:code:#include <opencv2/opencv.hpp>#include <string>using namespace std;string image_file = "./../...原创 2019-04-30 23:11:26 · 614 阅读 · 9 评论 -
PointcloudMap_chrono
ch5_OpencvPointcloud1、 joinMap2、 opencv2.1 chrono时间库说明1、 joinMapjoinMap.cpp#include <iostream>#include <fstream>#include <cstdlib>//命令行调用using namespace std;#include <openc...原创 2019-04-30 21:53:04 · 540 阅读 · 0 评论 -
Sophus::SO3SE3_3dso36dse3_trajectoryErr
ch4_useSophus1、Sophus库简介:2、Sophus安装方式:3、Sophus的使用教程:4、SO3,so3,SE3和se3初始化以及相互转换关系1、Sophus库简介:Eigen库是一个开源的C++线性代数库,它提供了快速的有关矩阵的线性代数运算,还包括解方程等功能。但是Eigen库提供了集合模块,但没有提供李代数的支持。一个较好的李群和李代数的库是Sophus库,它很好的支持...原创 2019-04-30 16:32:51 · 2746 阅读 · 0 评论 -
Eigen::Matrix_QTRtv
ch3_EigenRotation1、Eigen2、 EIgen简介3、eigenGeometry4、visualizeGeometry1、Eigen#include &amp;lt;iostream&amp;gt;using namespace std;#include &amp;lt;ctime&amp;gt;// Eigen 部分#include &amp;lt;Eigen/Core&amp;g原创 2019-04-29 21:05:47 · 4484 阅读 · 0 评论