自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(193)
  • 资源 (1)
  • 收藏
  • 关注

原创 ORBSLAM3算法学习总目录

1.ORB-SLAM3系统概述2.1ORB-SLAM3之ORB特征提取和BRIEF描述子计算2.2ORBSLAM3之几种特征点提取方法2.4ORB-SLAM3之Frame构造简介2.5ORB-SLAM3之基于SAD滑窗的双目特征匹配3.0ORB-SLAM3跟踪线程概述3.1ORBSLAM3之IMU预积分3.2ORBSLAM3之双目初始化和单目初始化3.3ORB-SLAM3之视觉与IMU的联合初始化3.4ORBSLAM3之跟踪恒速运动模型3.5ORBSLAM3之跟踪参考关键帧3.6ORB

2023-06-27 09:09:42 423

原创 TransFormer学习之VIT算法解析

本文主要对VIT算法原理进行简单梳理,下图是一个大佬整理的网络整体的流程图,清晰明了,其实再了解自注意力机制和多头自注意力机制后,再看VIT就很简单了受到NLP领域中Transformer成功应用的启发,ViT算法尝试将标准的Transformer结构直接应用于图像,并对整个图像分类流程进行最少的修改。具体来讲,ViT算法将整幅图像拆分成小图像块,将图像块转换为类似于NLP中的Sequence后再执行TransFormer操作。

2024-05-23 17:00:23 422

原创 TransFormer学习之基础知识:STN、SENet、CBAM、Self-Attention

TransFormer学习之基础知识:STN、SENet、CBAM、Self-Attention,对算法原理进行解析

2024-05-23 16:39:01 577

原创 wget:unable to resolve host address ‘xxx.com‘

在使用`wget`下载时出现了报错:```bashwget:unable to resolve host address 'xxx.com'```

2024-05-23 10:30:51 50

原创 ROS2配置python虚拟环境

项目需求需要使用python写一个3D检测的ROS2节点,通过修改ROS2的配置文件来间接的让系统使用虚拟环境中的Python解释器。

2024-05-21 13:58:38 236

原创 ROS2创建自定义数组类消息并进行发布

初始化工作空间发布的topic是一个包含了多个元素的数组,针对同一次输入有多个格式相同的输入(如同一张图像有多个目标检测结果)每个数组元素包含多个数据类型创建成功会有LOG打印:将以下内容添加到对应的消息文件:# Box3d.msg是一个基础的检测框的信息,包括了检测目标的类别、得分、中心点位置、长宽高、yaw角等信息float32 dxfloat32 dyfloat32 dz是一个数组类消息,用于存放同一帧数据的多个检测结果,数组中的数据类型是上面定义的OBJBox3d,数组的名词为。

2024-05-14 10:39:04 298

原创 VScode通过ssh远程连接服务器被拒绝:permission denied, please try again

**使用场景:** 使用windows系统下的vscode远程连接服务器的linux系统,终端提示`permission denied, please try again`,但是使用cmd是可以远程登录的。

2024-05-09 09:03:19 409

原创 LSS(Lift, Splat, Shoot)算法解析

**LSS(Lift, Splat, Shoot)** 是一个比较经典的自下而上的构建BEV特征的3D目标检测算法,通过将图像特征反投影到3D空间生成伪视锥点云,通过`Efficientnet`算法提取云点的深度特征和图像特征并对深度信息进行估计,最终将点云特征转换到BEV空间下进行特征融合和后续的语义分割任务。本篇按照LSS代码的运行逻辑,结合论文对LSS算法进行解析。

2024-05-07 13:35:09 1041

原创 基于OpenPCDet框架进行Pointpillars算法环境搭建并基于TensorRT和ROS部署

基于OpenDet进行训练Pointpillars算法,基于tensorrt-8.5进行部署并移植到ROS

2024-04-29 13:04:41 893 12

原创 Error loading image: OGRE EXCEPTION(2:InvalidParametersException): Stream size does not match calcul

使用ROS1发布图像时,RVIZ和`rqt_image_view`总是报错,无法显示图像,但是将程序中处理完的图像保存在本地时发现一点问题都没有,离大谱。```bashError loading image: OGRE EXCEPTION(2:InvalidParametersException): Stream size does not match calculated image size in Image::loadRawData at /build/ogre-1.9```

2024-04-28 11:21:24 155

原创 conda虚拟环境下使用catkin_make编译报错`Could NOT find PY_em (missing: PY_EM) `

conda虚拟环境下使用catkin_make编译报错`Could NOT find PY_em (missing: PY_EM) `

2024-04-28 09:36:37 412

原创 基于mmdetection3d框架完成nvx-net算法的训练和推理

本篇旨在记录在ubuntu20.04搭建mmdetection3d环境,对kitti3D目标检测数据集进行预处理,搭建MVX-NET算法训练环境,并基于kitti数据集进行训练和推理测试

2024-04-22 10:17:04 933

原创 ERROR: cannot launch node of type [rosout/rosout]: Cannot locate node of type [rosout] in package

ERROR: cannot launch node of type [rosout/rosout]: Cannot locate node of type [rosout] in package [rosout]. Make sure file exists in package path and permission is set to executable (chmod +x)RLException: failed to start core service [/rosout]The traceba

2024-02-28 09:16:11 626

原创 AttributeError: ‘Plotter‘ object has no attribute ‘topicture‘

【代码】AttributeError: 'Plotter' object has no attribute 'topicture'

2024-01-29 15:00:46 382

原创 NeRF算法原理总结概述

整体上NeRF干了这么一件事,输入一组静态场景的连续RGB图像和每帧图像对应的位姿,基于体渲染技术构建损失函数,通过借助一个全连接神经网络MLP得到关于新视角图像中每个像素对应3D点的体积密度和RGB颜色信息。其中不包含3D场景重建,只是将场景隐式的通过一个函数进行表达。算法整体的pipeline如下图所示:将连续场景表示为一个5D输入的神经辐射场,输入采样点的3D坐标和方向,可以得到其体积密度和颜色信息。

2024-01-15 17:26:10 1212

原创 NeRF算法论文解析与翻译

我们提出了一种方法,该方法通过使用稀疏的输入视图集来优化底层连续体积场景函数,实现了合成复杂场景的新视图的最新结果。我们的算法使用一个全连接(非卷积)深度网络来表示一个场景,其输入是一个连续的5D坐标(3D位置+2D旋转),输出是该空间对应的体素密度和基于视角的辐射场。我们沿着相机光线查询5D坐标,并使用经典的体积渲染技术将输出的颜色和密度投影到图像中。因为体积渲染是自然可微分的,所以优化我们的表示所需的唯一输入是一组具有已知相机姿势的图像。

2024-01-15 17:21:25 991

原创 高翔博士Faster-LIO论文和算法解析

Faster-Lio是高翔博士在Fast系列的新作,对标基线是Fast-LIO2,核心是提出一种新的"数据结构"`ivox`,类似于Fast-LIO2中的`ikd-tree`,用于点云配准搜索和地图的增量更新。效果上整个LIO系统的用时相比Fast-LIO2有较大幅度的下降,精度上评估了每百米的APE和RPE,从结果上看有好有差。近年来的作品精度上似乎都大差不差,如LIO-SAM,FAST-LIO系列,更多的都是在卷实时性。

2024-01-08 15:23:29 2604

原创 FAST-LIO2:论文和算法解析

本文介绍了FAST-LIO2算法:一种快速、鲁棒、通用的激光雷达-惯性里程计框架。FAST-LIO2基于高效的紧密耦合迭代卡尔曼滤波器,具有两个关键的新颖之处,可实现快速,稳健和准确的激光雷达导航(和测绘)。第一种方法是直接将原始点注册到地图上然后更新地图,而不提取特征。这样可以利用环境中的细微特征,从而提高准确性。消除手工设计的特征提取模块,也使其能够适应不同扫描模式的新兴激光雷达;

2024-01-05 16:20:12 2736

原创 FAST-LIO论文解析

本文提出了一种计算效率高、鲁棒性好的激光-惯性里程计框架。我们使用紧耦合的迭代扩展卡尔曼滤波器将LiDAR特征点与IMU数据融合在一起,从而在快速运动、嘈杂或混乱的环境中实现鲁棒导航。为了在大量测量数据的情况下降低计算负荷,我们提出了一个新的计算卡尔曼增益的公式。新公式的计算量依赖于状态维数而不是测量维数。在各种室内和室外环境中对所提出的方法及其实现进行了测试。

2023-12-29 15:15:18 2279

原创 将VOC2012格式的数据集转为YOLOV8格式

将voc2012中xml格式的标签转为yolov8中txt格式将转换后的图像和标签按照yolov8训练的要求整理为对应的目录结构。

2023-12-14 15:29:41 381

原创 C++使用OpenMP对简单for循环加速代码实例

发现对于简单的for循环,OpenMP简直是一大加速利器,两行代码就搞定。CMakeLists.txt文件。

2023-11-15 14:02:10 545 1

原创 一些坐标系概念(ECEF、ENU、WGS-84、Web墨卡托、UTM坐标系)

以地球质心为坐标原点,z轴指向极点,x轴过赤道和本初子午线交点,y轴完成右手坐标系。

2023-11-08 15:41:19 1671

原创 基于gtsam进行曲线拟合

【代码】基于gtsam进行曲线拟合。

2023-11-07 15:58:57 196 2

原创 gtsam初探以及结合LIO-SAM算法的一些理解

通过模板类定义新的一元因子,其中T为一元因子所对应变量的类型。需要针对新因子定义一下几个信息:(1)有关传感器观测值的私有成员变量。(2)有关因子初始化的构造函数。(3)用于计算评估误差的误差函数,功能包括:返回变量和观测值之间的残差信息、计算用于非线性优化的雅克比矩阵。以定义一元GPS因子为例(1)定义GPS的测量值mx_, my_(2)定义GPS因子的构造函数,在使用时通过该函数实例化因子。用给定的x,y值初始化mx_, my_观测值,并给定与该因子连接的变量代号j。

2023-11-02 14:35:35 985

原创 PCL自定义点云的数据类型PointXYZIRT

个人编码习惯,将自定义点云写在一个头文件中,方便其他所有的源码文件使用。自定义点云数据结构对于自定义点云进行注册#endif其他PCL点云怎么使用自定义点云就怎么使用,不过对于某些PCL库的点云处理函数可能不支持自定义的点云。>>

2023-10-30 13:38:36 919

原创 LIO-SAM算法解析

LIO-SAM在lego-loam的基础上新增了对IMU和GPS的紧耦合,采用一个因子图对位姿进行优化,包括IMU因子,激光里程计因子,GPS因子、回环因子。虽然在创新点上没什么让人觉得有趣的东西,但是在性能上相比Lego-Loam,因为加入了高频的IMU,在一些不好的场景下表现要更鲁棒,回环处的漂移也更小。不过虽然加入了IMU,但似乎连松耦合都称不上,IMU预积分在LIO-SAM中的作用仅用来对激光点云做运动补偿去畸变,以及在scan-2-map时提供优化的初始位姿。

2023-10-27 14:03:41 2095

原创 Lego-Laom算法深度解析

作者的实验平台是一个移动小车(UGA),挂载了一个Velodyne VLP-16 线激光雷达,还配有一个低精度的 IMU;选用的硬件平台是 Nvidia Jetson TX2(ARM Cortex-A57 CPU);整体负载是 20Kg;移动速度为:2.0m/s;测试场景为:地面不平(比较颠簸)的草地。LeGO_LOAM的软件系统输入3D Lidar的点云,输出6DOF的位姿估计。这一部分的主要操作是分离出地面点云;同时对剩下的点云进行聚类,滤除数量较少的点云簇。

2023-10-26 16:26:35 448

原创 CMake编译出现undefined reference to symbol ‘pthread_create@@GLIBC_2.2.5‘

undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'

2023-10-19 09:52:56 554

原创 OpenCV中initUndistortRectifyMap ()函数与十四讲中去畸变公式的区别探究

根据标定工具和相机模型的不同,获取的鱼眼相机畸变系数可能有多种形式,需要知道的是都可以在OpenCV去畸变函数中使用。最近在使用OpenCV对鱼眼相机图像去畸变时发现一个问题,基于针孔模型去畸变时所使用的参数和之前十四讲以及视觉SLAM中的畸变系数有一点不一样。均为0的时候该去畸变公式和十四讲中的公式就一样了,即十四讲中的去畸变公式是该公式的一个简略版。这种比值形式,暂时为找到公式的设计原理,应该是基于对径向畸变的某种考量进行的设计。有意思的是,这里的相机畸变参数是可选的,可以是4个参数。

2023-10-10 09:39:07 3144 4

原创 ROS1和ROS2之间的bag转换

基于python工具实现ROS2和ROS1的bag文件之间的转换。

2023-10-06 09:48:13 707 1

原创 代码:对鱼眼相机图像进行去畸变处理

说明:用于备忘1. 第一部分是常规的去畸变操作,在已知内参的情况下对鱼眼相机进行去畸变,这里使用的是remap映射2. 在对图像去畸变后,对于图像边缘的像素全部造成了丢失,所以进行了一次没有意义的尝试,想尽可能的保留图像边缘像素,实现后发现边缘像素部分比较模糊而且还对中心位置的去畸变效果造成了影响

2023-10-05 10:13:10 797 2

原创 ROS2:使用colcon build编译成功但是在运行时提示找不到共享库

基于ROS2写了一个node节点,其中需要链接一个共享库,在编译时没有问题,但是在运行时提示找不到这个共享库。在ROS2节点程序的CMakeLists.txt中加入以下内容,第一个。在共享库的CMakeLists.txt后面加入以下内容,是告诉程序共享库的位置,第二个。是告诉程序可执行文件的位置。

2023-09-14 15:46:10 464

原创 ROS2报错:‘no executable found’

使用`colcon build`编译一个读取激光数据的节点,编译成功了也使用`. install/setup.bash`刷新了环境变量,但是tab不出来节点的名称,自己将节点名称输入到终端后运行提示找不到可执行文件,如下:```No executable found```

2023-09-14 13:55:50 1545 1

原创 ROS2报错:ImportError: cannot import name ‘Log‘ from ‘rosgraph_msgs.msg‘

排查原因后发现命令写错了,ROS1用习惯了,使用的。在使用ros2的bag命令查看数据集信息时报错。

2023-09-13 11:06:15 2513

原创 视觉SLAM与激光SLAM简单对比分析

本文旨在梳理目前较为前沿的SLAM技术,包括激光和视觉,主要从精度和实时性两个方面对算法进系评价。对于激光SLAM了解不深,后期需要补充相关算法的核心思想与算法框架。有问题请大佬们随时留言,我再改正。

2023-08-31 16:35:07 1186

原创 《自动驾驶与机器人中的SLAM技术》之GNSS相关基础知识总结

本篇基于对《自动驾驶与机器人中的SLAM技术》中的GNSS定位相关基础知识进行总结用于备忘。

2023-08-28 16:00:01 895

原创 【报错】undefined reference to `tbb::interface7::internal::isolate_within_arena(tbb::interface7::interna

前置条件:电脑已经将GCC升级到了9+版本。报错提示是未链接到tbb的库,当使用。时,CMake提示无法找到这个库。

2023-08-28 09:14:39 770

原创 ROS2学习之一些常见指令备忘

仅用于学习备忘,随时补充。

2023-08-25 15:23:47 254

原创 ubuntu1804系统ROS1和ROS2一键装机

安装完每次打开终端时, 会提示选择ROS1还是ROS2, 输入。, 工具会自动将ROS1和ROS2放在不同的文件目录下。如果想同时安装ROS1和ROS2, 运行两次。备忘一下ROS1和ROS2的一键装机。选择ROS2, 输入。

2023-08-14 10:52:02 163

原创 ORB-SLAM3读取压缩图ros节点程序备忘

代码备忘,在原本的ORBSLAM3 ROS节点程序中新增以下功能:1. 将图片的ROS消息格式改为压缩图片类型2. 增加地图保存的ros服务,地图保存以前在结束程序是自动保存,现在通过ros服务节点随时保存`rosservice call /save_map 1`3. 增加纯定位模式和SLAM模式切换的ros服务节点(废物功能)

2023-07-25 13:58:44 187

邱笑晨博士IMU预积分公式推导文档

邱笑晨博士IMU预积分公式推导文档包括: 1.李群流形的一些基本概念和性质 2.IMU 器件测量模型( Sensor Model )和运动学模型( Kinetic Model ) 3.IMU 预积分( IMU Preintegration ) 4.预积分测量值及测量噪声 5.bias 更新时的预积分测量值更新 6.残差及其 Jacobian

2023-07-25

ORBSLAM3并行化提取ORB特征

对ORBSLAM3算法中特征提取、基于OctTree四叉树的特征点均匀化处理以及描述子计算进行并行化处理,以期提高ORB特征提取速度,基于EuRoC数据集图像对各模块的时间计算进行了统计和对比

2023-06-14

基于FLD直线检测和匹配的SLAM位姿估计

一个小DEMO,基于FLD直线检测算法提取两张图像中的线特征,然后进行线特征匹配,基于匹配结果基于优化的方法计算两帧相邻图像的运动关系,输入两张图像,输出两张图像的旋转和平移变换矩阵。 cmake工程,运行命令:“./build/motionCompute ./data/1.png ./data/2.png”

2022-12-15

ORB-SLAM3中的可视化库

最新的pangolin可视化库和ORB-SLAM3好像存在版本不兼容问题,这里上传备份一下

2022-11-21

语义SLAM相关论文的一些总结

语义SLAM相关论文

2022-11-11

学习卡尔曼滤波时做的一些总结进行备忘

学习卡尔曼滤波时做的一些总结进行备忘

2022-11-11

aprilgrid标定板文件

尺寸A3大小,300cm*300cm,用于单目相机,双目立体相机的以及视觉+imu的联合标定

2022-06-28

空空如也

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

TA关注的人

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