自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 拓扑图相关内容汇总

在可视化环节,首先创建了一个空的字典 pos,然后通过遍历图的所有节点(使用 G.nodes(data=True) 可以同时获取节点编号和节点属性数据),将每个节点的 pose 属性值(也就是其位姿坐标)提取出来,作为对应节点在 pos 字典中的值,键则是节点编号。新增节点和边:可以通过 G.add_node() 和 G.add_weighted_edges_from() 等方法随时添加新的节点和边到图中,然后重新进行可视化并保存(需要重复可视化和保存的相关代码部分),就可以看到更新后的图结构了。

2024-12-18 16:40:12 742

原创 LoRA详解

背景:通过微调预训练模型适应下游任务,但随着模型增大,全量微调(finetuning)成本高。主要贡献:1.LoRA方法的提出:文章提出了一种新的低秩适应(Low-Rank Adaptation, LoRA)方法,用于在不重新训练所有参数的情况下,对大型预训练语言模型进行有效适应。这种方法通过在Transformer架构的每一层注入可训练的低秩矩阵来实现,从而大幅减少了下游任务的可训练参数数量。

2024-11-19 19:59:03 964 1

原创 3D Gaussian Splatting介绍

3D Gaussian Splatting和NeRF一样,主要用于新视图合成。使用光栅化渲染方式,而不是NeRF的基于射线的体渲染(volumetric rendering along a ray)使用多个3D高斯球显示的表达场景训练推理速度快的同时保证质量高本质上是一个优化问题,没有使用神经网络μ\muμ进行了一定简化,我们回顾一下原始形式,若随机变量服从X∼Nμσ2X∼Nμσ2,则有如下的概率密度函数对应到多元,就是下面的形式,

2024-04-17 16:02:57 11590 2

原创 Lidar Mapping Method

通过Lidar建立点云地图,方案介绍。

2023-11-02 19:53:03 513

原创 光流法和直接法介绍

光流为追踪源图像某个点在其他图像中的运动, 一般分为稀疏光流和稠密光流,其本质是估计像素在不同时刻图像中的运动本文主要介绍LK光流。

2023-10-09 16:29:17 1315

原创 VINS中的初始化方法

1、 VISLAM的初始化方案需要较长的数据准备时间(1~2s)2 、为了得到更准确的初值,需要进行VI-BA优化,耗时约几百ms,处理时间相对较久3、没有尺度来源时,初始化需要充分的IMU激励,这个条件通常较难满足,因此整体初始化时间较久4、初始化最重要的解释尺度初始化,其他的收敛都很快,所以如果可以有一个先验的尺度来源,很容易把初始化时间控制在1s以内。

2023-09-21 13:09:49 999

原创 VINS中的观测性问题

理论上vins按照gauge fixation的做法需要在每一次滑窗ba中固定第一帧位姿,实际代码中vins没有固定第一帧的位姿,而且优化完,把第一帧的delta pose再乘回每一帧,保证第一帧不动,但又由于roll 和 pitch是全局能观的,所以乘delta pose的时候里面旋转只有yaw角,使用的是free gauge的方法。就是说整个优化问题存在不可观的维度,这个不可观的维度会通过优化问题进而影响到某个节点的优化,导致那个节点出现问题,常见的比如说纯视觉SLAM在转弯的时候,尺度会突然变化。

2023-09-19 17:30:21 706 2

原创 IMU Propagation

IMU Propagation利用两帧图像之间的IMU数据进行预测步骤,主要分为两部分内容:状态向量预测:直接根据mid-point或者RK4进行状态预测协方差预测:根据误差状态进行协方差更新。

2023-09-11 22:04:41 383

原创 GNSS(二):融合策略

观测性分析是滤波系统中常用的问题分析方式,如常见的VIO系统4自由度不可观等,都可以通过观测性分析得到,我们简单介绍一下融合GPS之后系统的观测性(虽然结论显而易见,全部可观,这里就是理论推导一下)。双天线yaw的置信度也是一样,此外双天线可以判断一下解算的base_line和已知测量的baseline做个比较,或者求解的roll角度和当前飞机估计的角度作比较,去掉一些错误观测,相近才认为yaw准确。杆臂补偿的原理是通过将IMU测量数据转换到与GPS天线在同一位置的参考点上,实现IMU和GPS数据的对齐。

2023-09-07 17:31:46 2065

原创 GNSS(一):定位和定向基本原理

RTK定位其实是一个相对定位,通过在位置已知点上部署一个参考站,利用移动站与参考站误差源高度空间与时间相关性,做差分消去GNSS卫星的轨道误差、钟差以及大部分的电离层误差、对流层误差,进而实现厘米级的定位。普通接收机通多伪距定位,定位精度在米级,而测量型接收机对载波相位的测量精度可以达到毫米级,通过其它手段消去GNSS卫星的轨道误差、钟差、大气传输误差之后,可以实现静态厘米级甚至毫米级的定位。影响卫星导航定位的各类误差中,大多具有较强的空间相关性,因而它们对定位结果的影响也 有一定的空间相关性。

2023-09-04 20:37:28 14152 5

原创 VoxelMap(LIO)原理介绍

在搜索到足够的最近点之后,进行平面/线拟合,然后计算点线or点面残差,这其中平面拟合相对还是比较耗时,并且KD-tree的KNN搜索也比较耗时。如果当前大体素没有拟合平面成功,则需要进入到八叉树每个叶子节点计算一遍残差,最终选择残差最小的返回,如果都没有找到平面,那就在相邻体素中计算。VoxelMap维护体素地图(3m*3m),每个体素地图内部维护八叉树,深度为3,八叉树节点为平面信息。将点云放到对应的体素,然后调用2-2更新八叉树,所有点都更新之后,就完成了体素地图的更新。

2023-08-25 16:31:01 3478 2

原创 激光SLAM(二):点云拟合和平面参数化

平面的Hesse形式的过参数化就是因为单位法向量部分有3个参数,但是实际只有两个自由度导致的。但存在过参数化问题,平面实际上只有3个自由度,但是Hesse形式有4个参数,导致过参数化知乎,优化过程中计算出的Hessian矩阵不会满秩,不能求逆,解决方法是LM提供正则化。平面实际上只有3个自由度,这里介绍不同的平面参数化形式,拟合时不需要考虑参数化形式,但如果想对平面进行优化或者将其加入。但是这种形式的参数化虽然是最小参数化形式,但在优化的时候会产生奇异性。平面方程如下,n是法向量,d是截距。

2023-07-04 20:39:07 2545

原创 激光SLAM(一):点云基础知识

获取360度视野需要转动探头,通常10Hz下运行机械结构复杂,价格昂贵,寿命相对较短(机械旋转的激光雷达的使用寿命一般在几千小时;固态激光雷达的使用寿命可高达10万小时)常用厂商:Velodyne,hesai,速腾,雷神等,常用16线、36线、64线,机器人单线用的较多等。

2023-07-04 19:27:19 2109

原创 ICRA2022 SLAM相关论文整理

ICRA2022 SLAM相关论文整理-附论文PDF

2022-06-20 11:34:54 7619 1

原创 QR分解-givens旋转与Householder变换

目录一、Householder QR分解Householder矩阵Householder变换Householder QR分解Householder物理意义二、Givens 旋转QR分解三、QR分解适用情况一、Householder QR分解Householder矩阵Householder变换同理例子:将列向量其他元素置零Householder QR分解按列消元,一列一列操作详细消元顺序见:householder进行QR分解matlab代码:Householder物理意义矩

2022-03-08 19:30:47 17243

原创 Kalman gain改进-SLAM相关

Matrix inversion lemmas矩阵基础知识:矩阵知识Equivalent Kalman Gain formula正常kalman增益:改进的Kalman增益:如果观测维度>状态维度,改进的增益计算方法不需要对rr的矩阵求逆,只需要对nn的矩阵求逆即可,可以极大减小计算量,而R^{-1}通常是对角矩阵,可以加速计算。推导如下:结合Woodbury formula,我们能够得到:则改进的增益等价于:而代入得到:参考论文:ICRA2021: FAST-L

2022-01-18 16:45:11 587

原创 Eigen库的优化技巧

文章目录Eigen 优化技巧Eigen优化介绍Eigen用法内存对齐Eigen 优化技巧编译的时候加上-O3利用.noalis()进行矩阵乘法m_res.noalias() = m1 * m2;, 只有当右值是乘积的时候才有意义;对 Eigen 3.3 或以上的版本编译的时候加上-mavx和-mfma使用Eigen时应该尽可能用静态内存代替动态内存,能提供多一些信息就多提供一些,如果内......

2020-03-16 17:05:54 8928

原创 arm NEON学习

目录0. rgb2gray函数:1. 累加和2. 两个数组相关映射元素的乘积和参考:arm NEON简介快速上手指南清晰的简介SIMD:一条指令处理多个数据。在32bit内核处理器上,如cortexA系列,如果不采用SIMD将会把大量时间花费在处理8-bit或者16-bit的数据上,但处理器本身的ALU,寄存拿起、数据深度是为了32bit的运算而设计的,因此设计NEON。NEON:是一种...

2020-03-15 22:14:56 1318

原创 CUDA学习

文章目录第一部分:CUDA C简介1.1 第一个程序1)核函数调用2)传递参数3)查询设备4)设备属性的使用第二部分:CUDA C并行编程1. CUDA并行编程1)矢量求和运算第一部分:CUDA C简介1.1 第一个程序1)核函数调用在GPU设备上执行的函数通常称为核函数主机:CPU以及系统内存设备:GPU及其内存#include <iostream>//__glob...

2020-03-11 23:20:31 807

原创 23种设计模式之五种创建型模式

创建型模式(Creational Patterns) 用于构建对象,以便它们可以从实现系统中分离出来。结构型模式(Structural Patterns) 用于在许多不同的对象之间形成大型对象结构。行为型模式(Behavioral Patterns) 用于管理对象之间的算法、关系和职责。目录第一部分:创建型模式1. Factory模式a. 问题b. 结构示意图c. 代码实例c. 代码实例...

2020-03-07 13:48:48 469

原创 23种设计模式之十一种行为模式

目录第三部分:行为模式1. Template模式a)结构图b)实例c)讨论2. Strategy模式a)结构图b)实例c)讨论3. State模式a)结构图b)实例c)讨论4. Observer模式a)结构图第三部分:行为模式1. Template模式a)结构图算法实现在不同的对象中有不同的细节实现,但是逻辑(算法)的框架(或通用的应用算法)是相同的。Template提供了这种情况的一个实...

2020-03-05 13:13:20 337

原创 23种设计模式之七种结构型模式

目录第二部分:结构型模式1. Decorator模式2. 代码实现4. 优缺点后面的模式内容代码是参考其他博客的,版权原因就不公开了哈,自己没事看看第二部分:结构型模式1. Decorator模式Decorator提供了一种给类增加职责的方法,不是通过继承实现的,而是通过组合。在结构图中,ConcreteComponent和Decorator需要有同样的接口,因此ConcreteCom...

2020-03-04 12:02:26 545

原创 23种设计模式之Composite模式

目录第二部分:结构型模式1. Composite模式2. 结构图3. 实例第二部分:结构型模式1. Composite模式在开发中,我们经常可能要递归构建树状的组合结构,Composite模式则提供了很好的解决方案。2. 结构图3. 实例client#include "composite.h"#include "leaf.h"int main(){ // 创建一个树形结构...

2020-03-03 17:54:01 309

原创 23种设计模式之Bridge模式(六)

目录第一部分:结构型模式1. Bridge模式a. 问题b.结构图c. 代码实现d. 优缺点第一部分:结构型模式1. Bridge模式a. 问题将抽象部分与实现部分分离,使他们都可以独立的发生变化b.结构图Abstraction(抽象类):里面包含 Implementor 实现类的指针,如开关,里面有一个指向电器的指针RefinedAbstraction(扩充抽象类):具体的开关,...

2019-11-25 11:40:51 174

原创 23种设计模式之Prototype模式(五)

目录第一部分:创建型模式5. Prototype模式a. 问题b. 模式结构c.代码实现d.优缺点第一部分:创建型模式5. Prototype模式a. 问题原型模式:提供了自我复制的功能,就是说新对象的创建可以通过已有对象进行创建。b. 模式结构提供了一个通过已存在对象进行新对象创建的接口(Clone),Clone()实现和具体的实现语言相关,在C++中我们将通过拷贝构造函数实现。...

2019-11-17 11:22:30 184

原创 23种设计模式之Builder模式(四)

第三天啦,今天看一下builder模式,说实话,这篇博客https://blog.csdn.net/liang19890820/article/details/66968761写的很清晰,举的例子也很容易理解,用的就是这篇博客举得例子,比书上给的例子更容易理解。目录第一部分:创建型模式4. Builder模式a. 问题b. 模式框图c. 代码实现d. 优缺点第一部分:创建型模式4. Buil...

2019-11-17 09:14:19 230

原创 23种设计模式之Singleton模式(三)

往下看了一下,发现单例模式很好理解,直接一起写了吧!HAHAHA目录第一部分:创建型模式3. Singleton模式a. 问题b.基本思想c.代码实现d.使用场景第一部分:创建型模式3. Singleton模式a. 问题这个对象(类)只能有一个实例,C++(面向对象和面向过程的结合)的话可以通过设置一个全局变量来实现,如果时纯面向对象的Java,就需要Singleton模式来实现了(不会...

2019-11-16 13:10:19 141

原创 23种设计模式之AbstactFactory模式(二)

第二天啦,今天看一下AbstactFactory模式,参考https://blog.csdn.net/liang19890820/article/details/70653800这个博客和设计模式精解-GoF 23种设计模式解析附C++实现源码(结构示意图来自这里)。目录第一部分:创建型模式1. Factory模式a. 问题b. 结构示意图c.代码实现d.优缺点第一部分:创建型模式1. Fa...

2019-11-16 12:28:23 186

原创 23种设计模式之Factory模式(一)

最近写大论文实在无聊,所以决定每天闲暇时学习一种设计模式,主要参考:设计模式:可复用面向对象的软件基础一书、设计模式精解-GoF23种设计模式解析附C++实现源码,还有https://blog.csdn.net/u011012932/article/category/6783147的博客(很多图是来自这里)。还是一样,边学边整理,方便日后查看。目录创建型模式1. Factory模式问题结构示意图...

2019-11-15 16:51:54 631

原创 C++知识点整理

最近刚刚秋招面试完,发现自己很多C++基础知识忘记了,虽然晚了点,但还是简单整理一下,方便自己以后查看。

2019-10-09 22:51:46 473

空空如也

空空如也

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

TA关注的人

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