DSO
若曦爹
我姑娘叫若曦,不是故意要占谁便宜哈。哈哈哈哈
展开
-
DSO整体流程注释
if(初始化) 初始化结束后关键帧队列内有2帧 第一帧 点全是成熟点 第二帧 点全是未成熟点 未做激活操作{ 1.初始化结束后,获得第一帧与后续某帧的位姿以及逆深度等 2.第一帧加入关键帧窗口。点直接不用激活,设置为成熟点。设置尺度信息,后续位姿都以此假设尺度为单位。 3.后续的那个激活帧直接视为关键帧。 3.1 对极线搜索 设置未成熟点属性例如逆深度范围,点状态等 3.2 边缘化帧 3.3 关键帧入队 3.4 窗口优化部分预运算...原创 2021-04-01 14:58:09 · 363 阅读 · 0 评论 -
dso的FEJ部分代码
//投影点关于各个参数的导数。其是组成雅克比矩阵的元素//有2个看一处看不懂的地方。除了相机内参和位姿用了FEJ//对逆深度感觉也是用FEJ了呢.对光度参数和图像梯度没用FEJ能看出来//高翔的博客是说位姿和光度用了FEJ 而宫益群的前面写的是对位姿和光度//用了FEJ ,后面优化部分又写对相机内参和位姿用了FEJ 。前后矛盾,但是//后面的说法和代码比较吻合。奇怪奇怪 double PointFrameResidual::linearize(CalibHessian* HCalib).原创 2020-12-21 15:00:02 · 1596 阅读 · 1 评论 -
DSO边缘化理论与代码对应做个笔记
1.雅克比矩阵DSO的雅克比矩阵组成有三部分: 一部分是几何雅可比,描述各量相对几何量,例如旋转和平移的变化率; 二部分是光度雅可比,描述各个量相对光度参数的雅可比; 三部分图像雅可比,即图像梯度; 目标函数就是最小光度误差那个函数论文中的公式 42.FEJ 几何和光度的雅可比,相对自变量来说通常是光滑函数;而图像雅可比则依赖图像数据,不够光滑;所以,在优化过程中,几何和光度的雅可比仅在迭代开始时计算一次,此后固定...原创 2020-12-17 10:02:40 · 1019 阅读 · 0 评论 -
DSO的零空间一些记录
-1:前言:看到篇对DSO零空间介绍的文章,记录一下防迷路,致敬大神!!!!0.原文地址: https://blog.csdn.net/wubaobao1993/article/details/105106301/1.slam中的零空间: 通常举例子最常用的就是尺度,也就是当地图的规模扩大一个倍数的时候,整个SLAM的优化问题是不变的,也就是我们所说的不客观。进而这里明确一个点:SLAM中的零空间其实是整个优化问题的零空间,而不是说是优化中某个节点的零空间。就...转载 2020-12-07 10:04:08 · 383 阅读 · 1 评论 -
DSO窗口优化部分代码注释加理论解析
理论部分主要是林突破和途金戈的博客。也贴个图吧途金戈的/*** This file is part of DSO.* * Copyright 2016 Technical University of Munich and Intel.* Developed by Jakob Engel <engelj at in dot tum dot de>,* for more information see <h...原创 2020-12-02 17:35:40 · 1315 阅读 · 0 评论 -
DSO跟踪 traceON代码理解与注释
大神博客,截个图转载下,对理解DSO的窗口优化等等很有帮助原创 2020-11-12 08:26:03 · 1424 阅读 · 3 评论 -
DSO初始化代码注释
/*** This file is part of DSO.* * Copyright 2016 Technical University of Munich and Intel.* Developed by Jakob Engel <engelj at in dot tum dot de>,* for more information see <http://vision.in.tum.de/dso>.* If you use this code, please ci.原创 2020-11-11 10:39:14 · 874 阅读 · 0 评论 -
DSO中的stitchDoubleInternal函数中一个细节计算
记录下来吧。代码:H[tid].block<8,8>(hIdx, hIdx).noalias() += EF->adHost[aidx] * accH.block<8,8>(CPARS,CPARS) * EF->adHost[aidx].transpose();adHost为在此之前的函数求解的相对位姿增量对绝对位姿增量的偏导,以及光度参数偏导组成的...原创 2019-11-26 16:44:10 · 327 阅读 · 1 评论 -
把平移旋转两个分量赋值给SE3结构
例子如下: Eigen::Matrix3d R0; Eigen::Vector3d t0(T0(0, 3), T0(1, 3), T0(2, 3)); R0 << T0(0, 0), T0(0, 1), T0(0, 2), T0(1, 0), T0(1, 1), T0(1, 2), T0(2, 0), T0(2, 1), T0(...原创 2019-11-20 10:46:28 · 491 阅读 · 0 评论 -
DSO中makeNonKeyFrame函数记录一下细节
DSO中,makeNonKeyFrame函数大体流程。自己记录一下备用当执行makeKeyFrame函数时,主要工作内容有: a.在关键帧窗口中标记准备砍掉的关键帧,准备边缘化。 b.看看关键帧窗口中哪些未成熟点immaturePoints熟了,加入成熟点pointHessians队列吧。这里面用了优化的方法。 c.对关键帧窗口所有成熟点计算其相对最新帧的残差。残差有两...原创 2019-11-18 14:17:31 · 305 阅读 · 0 评论