- 博客(206)
- 资源 (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 670
原创 ROS2在CMakeLists.txt文件中添加共享库路径
为ORB_SLAM3写了一个ROS2节点程序,将ORB_SLAM3作为一个独立的共享库,单独进行编译,然后ROS2节点去调这个共享库文件,需要在ROS2程序的CMakeLists.txt中添加相关路径并安装。
2024-12-10 14:16:54 126
原创 LVI-SAM视觉特征点深度恢复原理解析
对LVI-SAM视觉里程计中特征点深度信息恢复的原理进行简单解析,详细代码见,这里只把相关代码进行粘贴。
2024-11-21 16:45:46 500
原创 将图像合成为ROSBAG
TUM数据集的深度图和彩色图存在较大的时间不同步,因此下载png数据集,在使用官方脚本。进行时间戳对齐后,再将图像合成为ros1格式的bag。
2024-11-20 16:27:13 151
原创 Realsense相机驱动在使用imu数据时出现Qos问题
Realsense相机驱动在使用imu数据时出现Qos问题,报错如下:```bash[camera.camera]: New subscription discovered on topic '/camera/camera/imu', requesting incompatible QoS. No messages will be sent to it. Last incompatible policy: RELIABILITY_QOS_POLICY```
2024-10-28 11:27:09 158
原创 ROS2解决error: ‘toROSMsg’ is not a member of ‘pcl’问题
【代码】ROS2解决error: ‘toROSMsg’ is not a member of ‘pcl’问题。
2024-08-22 14:23:08 269
原创 PointPillars算法解析
**核心思想:** PointPillars算法从俯视图的角度将点云划分为一个个的柱状体(Pillar),等同于丢掉了高度信息,只保留水平方向上的xy坐标,每个柱状体(Pillar)等同于2D图像中的一个像素坐标。在得到伪图像之后使用常见2D网络进行特征的提取和学习,最后使用SSD检测头进行Bbox的回归。
2024-08-19 17:26:53 1048
原创 ros2 run 提示Package ‘xxx‘ not found
ros2的package编译成功了,也能在install/package_name/lib/package_name目录下找到可执行文件,单独运行可执行文件也没问题,但是在工作空间目录下使用`ros2 run `运行时提示找不到功能包
2024-08-19 17:05:53 1180
原创 Transformer学习之DETR
首次将Transformer拓展到目标检测领域中,DETR抛弃了几乎所有的前处理和后处理操作,不需要进行设计锚框来提供参考,或者利用非极大值(NMS)抑制来筛除多余的框,使模型做到了真正的End-to-End检测,即对于输入的任意图像统一输出N个带有类别和置信度的Box结果。沐神论文精读搞懂DEtection TRanformer(DETR)详细解读DETRTransformer中的position encoding。
2024-08-05 15:47:47 1165
原创 ROS2 humbel播放数据集卡顿和DDS中间件之间的关系
在ROS2 humbel系统下,在使用gpu推理3D检测算法时,当运行一段时间后发现bag发布原始数据的频率变得非常卡顿,原始数据从10hz降低到4-5hz。原因应该是ROS2 humbel系统DDS通信受到了影响。中添加以下环境变量,或者每次开启终端时进行刷新。更换一个ROS中间件(RMW软件包)
2024-07-19 16:01:09 271
原创 Transformer学习之SwinTransformer
SwinTransformer算法对标基线VIT算法,主要在后者的基础上增加了:(1)层次化特征图(Hierarchical feature maps)解决感受野无法变化的问题;(2)基于滑窗的多头自注意力机制(Shifted Windows Multi-Head Self-Attention,SW-MSA)减小执行TransFormer时的计算量。
2024-06-07 09:50:22 369
原创 TransFormer学习之VIT算法解析
本文主要对VIT算法原理进行简单梳理,下图是一个大佬整理的网络整体的流程图,清晰明了,其实再了解自注意力机制和多头自注意力机制后,再看VIT就很简单了受到NLP领域中Transformer成功应用的启发,ViT算法尝试将标准的Transformer结构直接应用于图像,并对整个图像分类流程进行最少的修改。具体来讲,ViT算法将整幅图像拆分成小图像块,将图像块转换为类似于NLP中的Sequence后再执行TransFormer操作。
2024-05-23 17:00:23 1293
原创 TransFormer学习之基础知识:STN、SENet、CBAM、Self-Attention
TransFormer学习之基础知识:STN、SENet、CBAM、Self-Attention,对算法原理进行解析
2024-05-23 16:39:01 1613
原创 wget:unable to resolve host address ‘xxx.com‘
在使用`wget`下载时出现了报错:```bashwget:unable to resolve host address 'xxx.com'```
2024-05-23 10:30:51 201
原创 ROS2配置python虚拟环境
项目需求需要使用python写一个3D检测的ROS2节点,通过修改ROS2的配置文件来间接的让系统使用虚拟环境中的Python解释器。
2024-05-21 13:58:38 1187
原创 ROS2创建自定义数组类消息并进行发布
初始化工作空间发布的topic是一个包含了多个元素的数组,针对同一次输入有多个格式相同的输入(如同一张图像有多个目标检测结果)每个数组元素包含多个数据类型创建成功会有LOG打印:将以下内容添加到对应的消息文件:# Box3d.msg是一个基础的检测框的信息,包括了检测目标的类别、得分、中心点位置、长宽高、yaw角等信息float32 dxfloat32 dyfloat32 dz是一个数组类消息,用于存放同一帧数据的多个检测结果,数组中的数据类型是上面定义的OBJBox3d,数组的名词为。
2024-05-14 10:39:04 858
原创 VScode通过ssh远程连接服务器被拒绝:permission denied, please try again
**使用场景:** 使用windows系统下的vscode远程连接服务器的linux系统,终端提示`permission denied, please try again`,但是使用cmd是可以远程登录的。
2024-05-09 09:03:19 2700
原创 LSS(Lift, Splat, Shoot)算法解析
**LSS(Lift, Splat, Shoot)** 是一个比较经典的自下而上的构建BEV特征的3D目标检测算法,通过将图像特征反投影到3D空间生成伪视锥点云,通过`Efficientnet`算法提取云点的深度特征和图像特征并对深度信息进行估计,最终将点云特征转换到BEV空间下进行特征融合和后续的语义分割任务。本篇按照LSS代码的运行逻辑,结合论文对LSS算法进行解析。
2024-05-07 13:35:09 3114
原创 基于OpenPCDet框架进行Pointpillars算法环境搭建并基于TensorRT和ROS部署
基于OpenDet进行训练Pointpillars算法,基于tensorrt-8.5进行部署并移植到ROS
2024-04-29 13:04:41 2819 55
原创 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 374
原创 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 685
原创 基于mmdetection3d框架完成nvx-net算法的训练和推理
本篇旨在记录在ubuntu20.04搭建mmdetection3d环境,对kitti3D目标检测数据集进行预处理,搭建MVX-NET算法训练环境,并基于kitti数据集进行训练和推理测试
2024-04-22 10:17:04 1273 5
原创 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 1181
原创 AttributeError: ‘Plotter‘ object has no attribute ‘topicture‘
【代码】AttributeError: 'Plotter' object has no attribute 'topicture'
2024-01-29 15:00:46 426
原创 NeRF算法原理总结概述
整体上NeRF干了这么一件事,输入一组静态场景的连续RGB图像和每帧图像对应的位姿,基于体渲染技术构建损失函数,通过借助一个全连接神经网络MLP得到关于新视角图像中每个像素对应3D点的体积密度和RGB颜色信息。其中不包含3D场景重建,只是将场景隐式的通过一个函数进行表达。算法整体的pipeline如下图所示:将连续场景表示为一个5D输入的神经辐射场,输入采样点的3D坐标和方向,可以得到其体积密度和颜色信息。
2024-01-15 17:26:10 1859
原创 NeRF算法论文解析与翻译
我们提出了一种方法,该方法通过使用稀疏的输入视图集来优化底层连续体积场景函数,实现了合成复杂场景的新视图的最新结果。我们的算法使用一个全连接(非卷积)深度网络来表示一个场景,其输入是一个连续的5D坐标(3D位置+2D旋转),输出是该空间对应的体素密度和基于视角的辐射场。我们沿着相机光线查询5D坐标,并使用经典的体积渲染技术将输出的颜色和密度投影到图像中。因为体积渲染是自然可微分的,所以优化我们的表示所需的唯一输入是一组具有已知相机姿势的图像。
2024-01-15 17:21:25 1373
原创 高翔博士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 4996
原创 FAST-LIO2:论文和算法解析
本文介绍了FAST-LIO2算法:一种快速、鲁棒、通用的激光雷达-惯性里程计框架。FAST-LIO2基于高效的紧密耦合迭代卡尔曼滤波器,具有两个关键的新颖之处,可实现快速,稳健和准确的激光雷达导航(和测绘)。第一种方法是直接将原始点注册到地图上然后更新地图,而不提取特征。这样可以利用环境中的细微特征,从而提高准确性。消除手工设计的特征提取模块,也使其能够适应不同扫描模式的新兴激光雷达;
2024-01-05 16:20:12 7912
原创 FAST-LIO论文解析
本文提出了一种计算效率高、鲁棒性好的激光-惯性里程计框架。我们使用紧耦合的迭代扩展卡尔曼滤波器将LiDAR特征点与IMU数据融合在一起,从而在快速运动、嘈杂或混乱的环境中实现鲁棒导航。为了在大量测量数据的情况下降低计算负荷,我们提出了一个新的计算卡尔曼增益的公式。新公式的计算量依赖于状态维数而不是测量维数。在各种室内和室外环境中对所提出的方法及其实现进行了测试。
2023-12-29 15:15:18 4425
原创 将VOC2012格式的数据集转为YOLOV8格式
将voc2012中xml格式的标签转为yolov8中txt格式将转换后的图像和标签按照yolov8训练的要求整理为对应的目录结构。
2023-12-14 15:29:41 791
原创 C++使用OpenMP对简单for循环加速代码实例
发现对于简单的for循环,OpenMP简直是一大加速利器,两行代码就搞定。CMakeLists.txt文件。
2023-11-15 14:02:10 829 1
原创 一些坐标系概念(ECEF、ENU、WGS-84、Web墨卡托、UTM坐标系)
以地球质心为坐标原点,z轴指向极点,x轴过赤道和本初子午线交点,y轴完成右手坐标系。
2023-11-08 15:41:19 3299
原创 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 1511
原创 PCL自定义点云的数据类型PointXYZIRT
个人编码习惯,将自定义点云写在一个头文件中,方便其他所有的源码文件使用。自定义点云数据结构对于自定义点云进行注册#endif其他PCL点云怎么使用自定义点云就怎么使用,不过对于某些PCL库的点云处理函数可能不支持自定义的点云。>>
2023-10-30 13:38:36 1762
原创 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 5031
原创 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 1315
邱笑晨博士IMU预积分公式推导文档
2023-07-25
ORBSLAM3并行化提取ORB特征
2023-06-14
基于FLD直线检测和匹配的SLAM位姿估计
2022-12-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人