当前位置: 首页 > news >正文

DSO学习笔记

 最近在学习DSO系列的代码,整理记录一下

DOS代码流程

 TODO



DSO跑kitti数据集

参考高翔大佬的LDSO中LDSO/examples/run_dso_kitti.cc,由于kitti数据集木有光度参数标定文件,其实最重要的就是相机内参文件camera.txt按照格式来就行了,这个在LDSO/examples/Kitti/Kitti00-02.txt中已经有了,文件为

Kitti00-02.txt

Pinhole 7.188560000000e+02 7.188560000000e+02 6.071928000000e+02 1.852157000000e+02 0
1241 376
crop
1232 368

然后直接运行dso即可,这里是vsode来debug的launch.json文件

{"version": "0.2.0","configurations": [{"name": "dso_debug","type": "cppdbg","request": "launch","program": "/home/le/my_code/DSO_commit/build/bin/dso_dataset","args": ["files=/home/le/data/kitti/kitti_odometry/00/image_0", "calib=/home/le/my_code/DSO_commit/calib/KITTI/00.txt", "preset=0", "mode=1"],// "args": ["files=/home/le/data/dso数据集/sequence_01/image", //         "calib=/home/le/data/dso数据集/sequence_01/camera.txt", //         "preset=0", "mode=1"],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,"MIMode": "gdb","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]
}

注意!mode=1才行,代表没有光度参数文件,再内部自行进行优化光度参数a、b




参考文献:

都是一些耳熟能详的大佬呀。。。
DSO详解 - 知乎

1.1系统框架和初始化理论讲解_哔哩哔哩_bilibili

DSO全家桶(一)——DSO流程概述_dso添加关键帧策略_小C酱油兵的博客-CSDN博客

 DSO全家桶(二)——DSO前端:提取梯度点_dso提点_小C酱油兵的博客-CSDN博客

DSO全家桶(三)——DSO前端:初始化_dso 初始化_小C酱油兵的博客-CSDN博客

DSO全家桶(四)——DSO前端:前端跟踪_acr dso_小C酱油兵的博客-CSDN博客https://www.cnblogs.com/JingeTU/p/8329780.html

 论文解读

【泡泡机器人原创专栏-DSO系列】DSO论文速递(一)

【泡泡机器人原创专栏-DSO系列】DSO论文速递(二)

【泡泡机器人原创专栏-DSO系列】DSO论文速递(三)

【泡泡机器人原创专栏-DSO系列】DSO论文速递(四)

【泡泡机器人原创专栏-DSO系列】二:DSO之光度标定

【泡泡机器人原创专栏-DSO系列】三:DSO中的Windowed Optimization

【泡泡一分钟】采用鱼眼相机的全景DSO直接法稀疏里程计

相关文章:

DSO学习笔记

最近在学习DSO系列的代码,整理记录一下 DOS代码流程 TODO DSO跑kitti数据集 参考高翔大佬的LDSO中LDSO/examples/run_dso_kitti.cc,由于kitti数据集木有光度参数标定文件,其实最重要的就是相机内参文件camera.txt按照格式来就行了&#xff…...

【Windows 常用工具系列 5 -- 如何在网页(CSDN)中实现右上角及右下角数字显示】

文章目录 网页右上角/右下角标号写法 网页右上角/右下角标号写法 在网页撰写文章时经常遇到需要平方的写法&#xff0c;比如书写 X 的 2次方, 可以通过下面方法完成&#xff1a; <sup>x</sup> : x 上移到右上角;<sub>x</sub> : x 下移到右下角。 实…...

sql注入--报错注入

常用的简单测试语句和注释符号说明 sql语句的注释符号&#xff0c;是sq注入语句的关键点&#xff1a;常用 # 和 -- 1、# 和 --&#xff08;有个空格&#xff09;表示注释&#xff0c;可以使它们后面的语句不被执行。在url中&#xff0c;如果是get请求也就是我们在浏览器地址栏…...

Nginx常用功能

Nginx 介绍 Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器&#xff0c;而且支持热部署&#xff0c;几乎可以做到 7 * 24 小时不间断运行&#xff0c;即使运行几个月也不需要重新启动&#xff0c;还能在不间断服务的情况下对软件版本进行热更新。性能是 Nginx 最重要的…...

【Express.js】express-validator

express-validator express.js 集成 express-validator进行数据校验 在最初的时候&#xff0c;对于请求的数据校验&#xff0c;我们是自定义一个中间件&#xff0c;然后在里面通过最原生的方式检验。在本节&#xff0c;我们将尝试用一种更优雅的方式进行数据校验。 准备工作…...

沁恒ch32V208处理器开发(三)GPIO控制

目录 GPIO功能概述 CH32V2x 微控制器的GPIO 口可以配置成多种输入或输出模式&#xff0c;内置可关闭的上拉或下拉电阻&#xff0c;可以配置成推挽或开漏功能。GPIO 口还可以复用成其他功能。端口的每个引脚都可以配置成以下的多种模式之一&#xff1a; 1 浮空输入 2 上拉输入…...

Jenkins 中 shell 脚本执行失败却不自行退出

Jenkins 中 执行 shell 脚本时&#xff0c;有时候 shell 执行失败了&#xff0c;或者判断结果是错误的&#xff0c;但是 Jenkins 执行完成后确提示成功 success 。 此时&#xff0c;可以通过条件判断来解决这个问题&#xff0c;让 Jenkins 强制退出并提示执行失败 failed 。 …...

2021年12月 C/C++(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题:输出整数部分 输入一个双精度浮点数f, 输出其整数部分。 时间限制:1000 内存限制:65536 输入 一个双精度浮点数f(0 < f < 100000000)。 输出 一个整数,表示浮点数的整数部分。 样例输入 3.8889 样例输出 3 下面是一个使用C语言编写的输出双精度浮点数整数部分…...

计算机网络 网络层 IPv4数据报

...

有哪些可以用于性能测试方法?【举例说明】

1.负载测试 在这里&#xff0c;负载测试指的是最常见的验证一般性能需求而进行的性能测试&#xff0c;在上面我们提到了用户最常见的性能需求就是“既要马儿跑&#xff0c;又要马儿少吃草”。因此负载测试主要是考察软件系统在既定负载下的性能表 现。我们对负载测试可以有如下…...

Linux进程管理命令

一、进程 程序由一条条指令构成&#xff0c;在运行一个程序的时候就是把这些指令从第一条执行到最后一条&#xff0c;而进程是一个正在运行的程序。 比如说&#xff0c;一个main.c文件是不可以直接运行的&#xff0c;对main.c进行编译链接之后生成一个main.exe&#xff08;在W…...

pytest 常用命令参数

-x 用例一旦失败或错误时就立即停止执行 共两条用例&#xff0c;运行第一条报错失败或报错&#xff0c;第二条就不会执行 pytest -vs -x test_pytest_study.py::TestCommon1 共2条用例&#xff0c;当执行到第一条失败时候&#xff0c;第二条不执行 --maxfailnum …...

从安装 Seata 开始的分布式事务之旅 springboot集成seata

从安装 Seata 开始的分布式事务之旅 介绍什么是 Seata&#xff1f; 安装 Seata Server下载 Seata Server 发行版配置Seata解压文件配置Seata的yml文件把配置文件config.txt加载到nacos上修改config.txt文件加载到nacos上 启动Seata服务正常启动查看启动日志打开控制台页面 启动…...

Laravel 使用mix引入本地样式文件 报错 Unable to locate Mix处理

刚下了一个bootstrap样式文件&#xff0c;mix引入了一下&#xff0c;直接报错&#xff1a; Unable to locate Mix file: /css/bootstrap.min.css. (View: D:\phpEnv\www\abc\resources\views\admin\noteAdd.blade.php)原来是需要 npm run dev 启动一下 ✔ Compiled Successfu…...

QT学习笔记-QT安装oracle oci驱动

QT学习笔记-QT安装oracle oci驱动 0、背景1、环境以及条件说明2、编译驱动2.1 下载oracle instant client2.2 编译qt oci驱动2.2.1 修改oci.pro2.2.2 MinGW64构建套件编译2.2.3 MSVC2019_64构建套件编译 3、访问数据库运行成功 0、背景 在使用QT开发应用的过程中&#xff0c;往…...

【React学习】—类的基本知识(五)

【React学习】—类的基本知识&#xff08;五&#xff09; <script>// 创建一个Person类class Person{//构造器方法constructor(name,age){this.namename;this.ageage;}//一般方法speak(){//speak方法一般放在哪里&#xff1f;类的原型上&#xff0c;供实例使用//通过Pers…...

【AI】《动手学-深度学习-PyTorch版》笔记(十六):自定义网络层、保存/加载参数、使用GPU

AI学习目录汇总 1、自定义网络层 自定义网络层很简单,三步即可完成 继承类:nn.Module定义初始化函数:__init__中定义需要初始化的代码定义向前传播函数:forward1.1 不带参数的网络层 1)定义网络层 import torch import torch.nn.functional as F from torch import nn…...

微软杀入Web3:打造基于区块链的AI产品

作者&#xff1a;秦晋 2023年1月&#xff0c;微软向 ChatGPT 创建者 OpenAI 投资 100 亿美元&#xff0c;在AI业界引发格外关注。此举也让微软在AI的战略探索上提前取得有利位置。 2023年3月&#xff0c;微软软件工程师 Albacore 披露微软正在为Edge 浏览器测试内置的非托管加密…...

聊聊51单片机

目录 1.介绍 2.发展 3.应用领域 4.发展前景 1.介绍 51单片机&#xff08;AT89C51&#xff09;是一种常见的8位微控制器&#xff0c;属于Intel MCS-51系列。它是一种低功耗、高性能的单片机&#xff0c;广泛应用于嵌入式系统中。 51单片机具有很多特点和功能&#xff0c;例如…...

Linux yum 命令,Linux apt 命令

目录 Linux yum 命令 yum 语法 yum常用命令 实例 1 实例 2 实例 3 国内 yum 源...

基于OpenAI CUA构建AI自动化任务:从原理到实践

1. 项目概述与核心价值最近在折腾AI驱动的自动化任务&#xff0c;特别是让AI模型直接操作浏览器完成一些重复性工作&#xff0c;OpenAI官方开源的openai-cua-sample-app项目就成了一个绝佳的参考。这个项目本质上是一个演示应用&#xff0c;展示了如何通过OpenAI的Responses AP…...

从菜鸟到高手:我的Abaqus壳单元S4R、S3R、S8R选择心路历程

从菜鸟到高手&#xff1a;我的Abaqus壳单元S4R、S3R、S8R选择心路历程 第一次打开Abaqus的单元库时&#xff0c;我被琳琅满目的壳单元类型晃花了眼。S4R、S3R、S8R、STRI65、S9R5...这些看似随意的字母数字组合&#xff0c;背后却隐藏着影响仿真精度的关键密码。作为一名从土木…...

数字记忆管家:三步构建你的个人AI数据资产库

数字记忆管家&#xff1a;三步构建你的个人AI数据资产库 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg …...

Honey Select 2画质飞跃攻略:DHH、Graphics插件深度对比与材质编辑器进阶调校

Honey Select 2画质飞跃攻略&#xff1a;DHH、Graphics插件深度对比与材质编辑器进阶调校 当默认画质无法满足你对虚拟世界的视觉期待时&#xff0c;Honey Select 2的模组生态提供了从基础优化到专业级渲染的全套解决方案。本文将带你深入两款核心画质插件的技术内核&#xff0…...

Arm URSHL指令:多向量无符号舍入移位技术解析

1. Arm URSHL指令深度解析&#xff1a;多向量无符号舍入移位的艺术在Arm架构的SIMD指令集中&#xff0c;向量移位操作一直是性能优化的关键武器。今天我们要深入探讨的是SME2扩展中的URSHL&#xff08;Unsigned Rounding Shift Left&#xff09;指令——一种支持多向量并行处理…...

Python3基础之list列表实例解析

本文将进一步深入学习列表的使用。一、列表的方法&#xff1a;list.append(x) 在列表的尾部添加一个项&#xff0c;等价于 a[len(a):] [x]。list.extend(L) 将给定的列表L接到当前列表后面&#xff0c;等价于 a[len(a):] L。list.insert(i, x) 在给定的位置 i 前插入项&#…...

用Unity 2D复刻经典:如何为你的“Ruby‘s Adventure”添加完整的任务系统与NPC对话(含C#脚本详解)

用Unity 2D构建可扩展任务系统&#xff1a;从Rubys Adventure到RPG游戏开发实战 在独立游戏开发领域&#xff0c;叙事与玩法机制的融合一直是提升玩家沉浸感的关键。Unity官方教程项目Rubys Adventure作为2D游戏开发的经典入门案例&#xff0c;虽然展示了基础交互的实现&#x…...

新手友好:基于VSCode与Node.js的后台管理系统一站式搭建指南

1. 环境准备&#xff1a;从零搭建开发环境 刚接触Web开发时&#xff0c;环境配置往往是第一个拦路虎。我至今记得第一次安装Node.js时&#xff0c;因为没配置环境变量导致命令行报错的尴尬。下面我会用最直白的语言&#xff0c;带你避开这些坑。 1.1 安装VSCode&#xff1a;你的…...

别再只怪驱动了!树莓派Pico设备管理器报错的另类原因与官方恢复固件使用教程

树莓派Pico设备管理器报错的深层诊断与固件级修复指南 当树莓派Pico突然从设备管理器中消失&#xff0c;大多数开发者会本能地怀疑驱动问题。但真实情况往往更加复杂——一段失控的MicroPython代码可能已经改写了硬件的底层状态&#xff0c;而常规的重置操作对此完全无效。本文…...

Blender3mfFormat终极指南:在Blender中完美处理3D打印文件

Blender3mfFormat终极指南&#xff1a;在Blender中完美处理3D打印文件 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 还在为3D打印文件格式转换而烦恼吗&#xff1f;Ble…...