自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 问答 (1)
  • 收藏
  • 关注

原创 【视觉SLAM十四讲】回环检测

本文介绍了回环检测在SLAM系统中的重要性及其实现方法。回环检测通过引入新的约束消除累积误差,主要采用基于外观的方法,利用词袋模型计算图像相似度。词袋模型将图像特征转化为离散单词,通过K-means聚类构建字典树结构。相似度计算采用TF-IDF加权方案,综合考虑词频和逆文档频率。实验部分展示了字典创建和相似度计算的代码实现,通过ORB特征提取和DBoW3库完成图像匹配。系统更注重准确率而非召回率,以避免误报导致的地图扭曲问题。该方法有效解决了视觉里程计的误差累积问题,提高了SLAM系统的鲁棒性。

2025-12-04 17:18:01 990

原创 【视觉SLAM十四讲】后端 2

本文探讨了大规模场景下BA(Bundle Adjustment)实时性优化的两种方法:滑动窗口法和共视图法。重点分析了滑动窗口法中边缘化的原理,通过Schur补将旧帧信息投影到剩余变量上,但会导致信息矩阵稀疏性破坏。此外介绍了位姿图优化方法,仅优化相机位姿节点,将路标点视为约束,推导了误差项的线性化公式及其导数计算。两种方法各具优势,可根据实际场景需求选择使用。

2025-12-04 17:15:45 1166

原创 g2o入门

摘要:本文介绍了g2o(General Graph Optimization)图优化库的核心架构和使用方法。g2o采用图论视角描述优化问题,其求解器配置需由内向外进行,包括线性求解器、块求解器、迭代算法和稀疏优化器四层结构。重点讲解了顶点(Vertex)和边(Edge)的定义方法,其中顶点需实现重置和更新策略,边需实现残差计算和雅可比矩阵计算。最后给出了曲线拟合的代码实例,展示了如何构建优化器、添加顶点和边,并进行优化求解。

2025-12-04 00:33:58 425

原创 共轭和伴随性质

本文对比了李群与李代数中的共轭运算和伴随性质。共轭运算在群空间(SE(3))进行,需要将扰动转换为矩阵形式;伴随性质则直接对代数空间的向量操作。推导表明,伴随矩阵Ad(T)可将扰动ξ在不同坐标系间转换,其形式为6×6矩阵。关键应用在于坐标系转换:exp(ξ∧)T = T exp((Ad(T⁻¹)ξ)∧),实现了世界坐标系与局部坐标系扰动的等效转换。

2025-12-03 21:33:29 722

原创 【视觉SLAM十四讲】后端 1

本章主要介绍了状态估计问题的数学推导及其解决方法,重点讨论了卡尔曼滤波(KF)的预测和更新步骤,以及ba的概念和求解,并结合代码实现

2025-10-13 21:24:39 982

原创 如何在ubuntu20.04配置动态壁纸和bongoCat

【警告】Ubuntu 20.04环境升级风险提示:安装动态壁纸可能导致显卡驱动、CUDA和ROS环境损坏

2025-10-08 21:18:15 674

原创 【视觉SLAM十四讲】视觉里程计 2

本文介绍了光流法、直接法的理论和代码实现

2025-10-03 11:52:36 798

原创 Ceres入门及简单PnP优化示例

本文介绍了Ceres优化库的安装和使用方法。主要内容包括:1) 安装依赖项和编译步骤,需注意Eigen库和CMake版本要求;2) 可视化工具matplotlibcpp的配置;3) 核心类介绍,重点讲解了AutoDiffCostFunction和SizedCostFunction两种代价函数的实现方式;4) 问题构建和求解器配置方法;5) 提供了一个曲线拟合的示例代码,展示了如何使用自动微分代价函数进行非线性优化。文章提供了详细的命令和代码片段,适合初学者快速上手Ceres优化库。

2025-09-27 12:17:47 330

原创 【视觉SLAM十四讲】视觉里程计 1

本文介绍了视觉里程计中特征点匹配和对极几何、PnP还有ICP的基本原理。

2025-09-27 12:14:20 1161

原创 【视觉SLAM十四讲】非线性优化

本文总结了SLAM模型中的运动方程和观测方程,介绍了贝叶斯算法及其在目标检测中的应用,包括先验、似然、后验概率等概念。重点讨论了最大似然估计(MLE)、最大后验估计(MAP)和贝叶斯估计三种参数估计方法,并推导出最小二乘法的优化问题。最后详细介绍了非线性优化方法:一阶梯度法、二阶梯度法(牛顿法)、高斯牛顿法以及列文伯格-马卡尔特法(L-M方法),比较了各种方法的优缺点,特别指出L-M方法通过引入信赖区域来解决高斯牛顿法中近似有效性不足的问题。

2025-09-09 09:57:10 594

原创 【视觉SLAM十四讲】相机与图像

本文介绍了相机成像的基本原理与模型。重点阐述了针孔相机模型、三种坐标系(世界/相机/像素)的转换关系,以及畸变模型及其校正方法。详细说明了相机内参矩阵(焦距、主点等)和外参矩阵的定义和作用

2025-08-30 20:31:56 688

原创 【视觉SLAM十四讲】李群和李代数

本文介绍了视觉SLAM中的李群和李代数概念。讨论了李代数求导和扰动模型,包括BCH公式及其近似形式,为SLAM中的位姿优化提供了理论基础。

2025-08-30 20:26:09 1247

原创 【视觉SLAM十四讲】三维空间刚体运动

本文介绍了三维空间中刚体运动的数学表示方法,主要包括欧式变换和其优化计算。这些数学工具为后续SLAM系统中的位姿估计和优化奠定了基础。

2025-08-29 19:41:22 765

原创 万向锁原理解析

要从实际上去理解万向锁,我们需要先明白欧拉角所描述的是变换而不是运动,即在给定欧拉角的三个变换参数和顺序后,从初始姿态到最终姿态的变换,和具体变换过程无关。那么按照设想,最后一次绕 x 轴转动应该建立在绕 y 轴转动后,生成的新 x 轴位置之上。从上图的平衡环动图中很好理解,外部轴可以带动内部轴转动,但是内部轴无法带动外部轴转动。时,就会出现万向锁的情况,即最内部的轴的旋转效果实际上和最外部的轴是相同的,丢失了一个自由度。,即平衡环的特性:“外部轴可以带动内部轴转动,但是内部轴无法带动外部轴转动”

2025-08-28 15:56:06 387

原创 【视觉SLAM十四讲】slam导论与数学基础

本文介绍了视觉SLAM(同时定位与建图)的基本概念和框架,同时简要解释了相关数学基础。

2025-08-28 15:47:27 1075

原创 在Ubuntu20.04使用Docker配置ubuntu24.04及其桌面环境

本文介绍了在Docker中安装Ubuntu 24.04并配置桌面环境的完整步骤

2025-07-16 19:34:11 926

原创 Ubuntu20.04下clion配置qt5

摘要:本文介绍如何将qmake项目迁移到CMake,提供了一份完整的CMakeLists.txt示例,适用于需要将Qt项目从qmake迁移到CMake的开发者。

2025-06-24 18:28:17 234

原创 ROS依赖错误问题解决记录

这个比较罕见,大多数人可能遇不到,也是我这次碰壁的问题,那就是报错来自ubuntu本身的仓库。缺失,而里面包含ros所需要的依赖,重新安装即可。使用aptitude智能解决。

2025-06-15 22:27:24 383

原创 彻底删除nvidia驱动以及cuda

介于在一些情况下,未完全删除nvidia和cuda的残留可能导致再次安装失败,故写此文。

2025-06-15 22:21:31 965

原创 卡尔曼滤波与目标跟踪算法实现

确定状态:先进行级联匹配,对于指定帧数内,按照丢失次数多少排优先级,按优先级和对应的Detection进行匹配,未匹配上的进入iou匹配,对于丢失的物体,连续丢失超过阈值才进行舍弃。当检测到一个物体,对其直接进行iou匹配,如果没有对应的detection,初始化一个新的Track。–中心坐标(cx, cy), 高宽比r, 高h, 以及各自的速度变化值。根据上一时刻(t - 1)的状态估计值来预测当前时刻( t )的状态。根据上一时刻(t - 1)的状态协方差矩阵来预测当前时刻的状态协方差。

2025-05-02 17:54:10 825

原创 新手如何快速从数据集制作开始搭建自己的yolov5模型(详细图文教程)

本文将对如何快速获取属于自己的模型展开简要介绍,从数据准备、模型训练到最终部署,一步步助力大家迅速领略深度学习的独特魅力。

2025-04-12 21:38:13 1857

原创 【c++学习笔记】指针与智能指针

智能指针可以粗略的看成是new和delete的结合体,可以自动地分配内存和清理内存。下面,我们将简单的介绍unique_ptr,shared_ptr和weak_ptr这三种智能指针首先,我们需要引入管理智能指针的库文件让我们先创建一个简单的类来做测试。

2025-04-05 17:01:05 671

原创 ROS与新版本opencv的兼容

总所周知,当我们在ros中使用opencv加载onnx文件时可能会遇到加载模型失败的情况,这大概率是因为ros-noetic自带的ros版本是4.2.0 ,版本太低导致的,这时候就需要使用新版本的opencv。1. 按下“ctrl + F”搜索include就可以很快找到,将原来的注释掉,红线部分改为自己下载好的新版本的opencv的对应路径。防止你们认错,这里的路径下文件长这样(注意,这一步不要写成了clone下来的仓库里的对应路径,一定要是自己指定安装位置的对应路径)到这里就圆满结束了!

2025-04-03 20:36:52 731 3

原创 Clion,Pycharm安装

从上一篇文章独立出来了

2025-03-28 17:50:18 310 1

原创 Ubuntu20.04双系统安装及CUDA,ROS等工具安装超完善版

基于本人电脑老是抽风,至今已重装十几次,遂写此文帮助自己快速完成重装,进入工作状态。目前包含星火商店,显卡驱动,编译器破解,ros,anaconda等等内容,希望能帮到你。

2025-03-20 20:14:34 2062 3

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除