- 博客(9)
- 收藏
- 关注
原创 从VINS-MONO到VIO学习(三)
Bundle Adjustment算法,也被称为光束平差法,具体的算法就是使用最小二乘法求解重投影误差,同时对pose和landmark进行优化。 算法的输入为landmark和pose,以及相机所拍摄图像的像素坐标。 算法计算的是重投影误差,顾名思义就是将三维点投影到相机坐标系下,通过最小化“计算出的相机系坐标”和“测量出的相机系坐标”之间的投影误差,来进行位姿的优化。误差函数构造如下: 其中 π\piπ是投影函数,是将一个3D点坐标从世界坐标系转化到对应的相机坐标系,Zfjc
2022-07-02 21:55:35
582
原创 从VINS-MONO到VIO学习(二)
IMU是由加速度计和陀螺仪组成的,所以IMU的误差也是由两个器件所受到的误差累加起来的。Bias:是指零偏,即没有外部作用的时候IMU传感器的输出应该为0,但是由于传感器本身的问题其存在着一个偏置,使输出不为0,这就是Bias。Scale:实际输出数值和真实结果之间的比值。还有一种确定性误差是由于多轴传感器制作工艺由误差导致的,三个本应两两垂直的轴无法做到垂直,也会导致对读数结果产生误差。使用艾伦曲线进行标定。...
2022-06-30 15:52:36
190
原创 ORBSLAM3(六) Kannala_Brandt鱼眼相机模型
ORBSLAM3中src_cameraModels_KannalaBrandt8.cpp中完成了对于KB模型的代码,下面我们介绍一下鱼眼相机以及KB模型。鱼眼相机鱼眼相机是一种焦距小于等于16mm,且视角接近或者等于180°的极端广角镜头,但是正是因为他极端的短焦和广角,导致它因为光学原理而产生的畸变非常剧烈,所以针孔模型并不能很好的描述鱼眼相机,所以需要一种新的相机模型来对鱼眼相机进行近似模拟。KB模型KB模型能够很好的适用于普通,广角以及鱼眼镜头。KB模型假设图像光心到投影点的距离和角度的多项式
2022-03-07 20:12:46
4741
1
转载 ORBSLAM3(五) MLPNP
MLPNPMLPNP也是一种PNP算法,所以他的目的和其他PNP是一致的,都是要求解相机位姿。观测与不确定性传播向量的零空间相机位姿的线性估计非线性优化和平面情况ORBSLAM3代码
2022-03-05 11:06:18
1022
原创 ORBSLAM3(四) EPNP
PNP的目标PNP(Perspective-n-Point)问题的已知条件:n个世界坐标系中3D参考点(3D reference point)坐标与这n个3D点对应的,投影在图像上的2D参考(2D reference point)点坐标摄像头的内参K求解目标:相机的位姿EPNPEPNP是ORBSLAM1以及ORBSLAM2中的解决方案,这种方法的优势是复杂度较低,求解速度较快,但是依赖相机模型,ORBSLAM3的一大创新点就是使用MLPNP替代了原有的EPNP,以实现系统与相机模型解耦,但
2022-03-04 20:42:08
2928
原创 ORBSLAM3(三)MLE和MAP
贝叶斯公式(Bayes’ Theorm)贝叶斯公式基本形式如式1所示:将P(B)展开可以得到式2所示:该式子将P(B)利用全概率公式分解为P(A)和P(A^)的条件概率形式。例如事件A表示你做错了事情,事件B表示女朋友和你吵架,P(A|B)代表的就是女朋友和你吵架了,你也确实做错了事情的概率,而P(B|A)P(A)则表示你做错了事情导致了女朋友和你吵架的概率,那么贝叶斯公式所求的是什么呢?其实描述的是可信性,或者说置信度,简单来说就是女朋友和你吵架了,是因为你做错事情的可能性。那么根据式1,我
2022-03-04 17:21:53
314
原创 ORBSLAM3(二) 编译与运行
ORBSLAM3编译1.前置环境配置因为我之前安装过C++,Pangolin,eigen,DBoW2,g2o,boost的依赖,所以不需要再次安装,没有安装过的同学可以查看这篇博文。注意:一定要查看自己的OPENCV版本,确保其高于3.4.0。我因为OPENCV版本低于3.4.0,所以导致编译一直报错,弄了好久才发现是因为OPENCV版本过低,故而源码使用的FileNode类中real()方法不存在,导致一直编译不过。2.源码下载环境配置完成之后,下载ORBSLAM3的源码:下载地址解压到桌面
2022-03-03 21:06:20
2999
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人