- 博客(96)
- 资源 (17)
- 问答 (1)
- 收藏
- 关注
原创 CLion编译基于WSL平台Ubuntu系统的ros项目
windows系统盘c盘可能很小,所以最好移动到其它盘,比如D盘。以Ubuntu-18.04安装ROS-melodic为例,参考。
2025-09-01 17:41:05
949
原创 Kalibr解毒填坑(二):相机-IMU联合标定失败
Kalibr是一个开源的多传感器标定工具箱,主要用于相机与IMU的标定,包括相机内参、IMU噪声参数以及相机-IMU外参标定。标定结果对SLAM/VIO系统精度至关重要,但成功率受方法、设备、操作和环境因素影响。常见问题如优化失败,报错"Spline Coefficient Buffer Exceeded",通常需要调整缓冲区参数来解决。
2025-07-02 15:24:58
332
原创 Kalibr解毒填坑(一):相机标定失败
相机内参标定失败原因分析及解决方案 相机内参标定过程中常因标定板问题(模糊、尺寸不符)、数据采集不足(数量少、运动模糊)、配置文件错误(参数不匹配)或环境干扰(光照变化)导致失败。当出现主点错误时,可改用MATLAB标定工具:1)从bag文件提取图像数据;2)清理并保留12-100张优质数据;3)使用MATLAB标定工具箱获取参数;4)将获得的焦距(fx,fy)、主点(cx,cy)和畸变系数(k1,k2,p1,p2)正确填入Kalibr的YAML配置文件中。该方法能有效解决因主点异常导致的标定失败问题。
2025-07-02 15:06:08
458
原创 VIO:图像缩放后,相机内参匹配
摘要: 在视觉惯性里程计(VIO)中,高分辨率图像虽能提升相机标定精度,但会降低算法速度。为解决这一问题,可在标定后对图像进行缩放(如缩小至原尺寸1/4),但需同步调整相机内参(焦距和主点按比例缩放)以维持几何投影关系,而畸变参数因作用于归一化坐标无需修改。调整后的参数需在VIO系统中更新,确保特征匹配、重投影误差等关键环节的精度不受影响。核心原则是内参与图像同步缩放,畸变参数保持不变。
2025-06-30 16:41:16
147
原创 ROS:录制相机、IMU、GNSS等设备数据
本文介绍了在ROS环境中使用Jetson-TX2平台录制微光相机和六轴IMU数据的方法,用于传感器标定和VIO轨迹分析。主要内容包括:1) 利用rosbag工具录制ROS话题数据;2) 通过FFmpeg解码RTSP流并发布为ROS相机话题;3) 使用串口通信读取IMU数据并封装为ROS消息。文章还提供了完整的Python实现代码和标定方法链接,涵盖相机标定、IMU标定及两者联合标定等技术要点。项目代码已开源,可作为视觉惯性导航系统开发的参考方案。
2025-06-27 17:34:08
233
原创 相机-IMU联合标定:IMU更新频率
IMU频率参数对Kalibr标定精度有重要影响。高频IMU数据(200Hz以上)能更精确捕捉运动细节,提升时间同步精度;而低频数据可能导致信息丢失,降低标定效果。建议IMU频率至少为相机频率的10倍,以平衡精度与计算负担。错误设置频率会造成"Spline Coefficient Buffer Exceeded"等标定失败问题,需根据运动速度和硬件限制合理配置。硬件同步条件下,高频IMU数据能更好对齐图像帧,提高标定鲁棒性。
2025-06-27 11:51:52
264
原创 VIO:VINS-FUSION解毒填坑(一)
函数用于在所有帧中找到一个相对位姿较好的帧对,以此作为SFM初始化的基础时,函数返回 false,则说明。vins-fusion原理、代码和跑通解毒。设置检查点,检查变量。
2025-06-19 17:12:39
214
1
原创 VIO:EVO轨迹精度验证工具(二)
Evo是一个用于评估视觉惯性导航系统(VINS)和SLAM算法的开源工具。它支持轨迹评估、误差计算(包括绝对位姿误差APE和相对位姿误差RPE)以及多种可视化功能。Evo兼容TUM、KITTI和EuRoC等常见数据格式,可进行多算法性能对比,并提供数据格式转换功能。通过直观的图表(如轨迹对比、速度分析等),开发者能快速定位算法问题,优化系统性能。安装简单,支持pip直接安装或源码编译。
2025-06-10 14:46:52
200
原创 VIO:jetson部署
本文介绍了在NVIDIA Jetson设备上部署VINS-Fusion视觉惯性导航系统的详细步骤。主要内容包括:1)基础环境搭建,如刷机、安装ROS和依赖库;2)编译VINS-Fusion,包括工作空间创建和CMake配置;3)运行示例,使用EuRoC MAV数据集测试单目+IMU和双目模式。重点针对Jetson设备优化了编译参数,并提供了不同ROS版本的安装指南。通过合理配置计算资源,可实现无人机和机器人等场景的实时定位与建图功能。
2025-05-26 11:49:50
104
原创 Jetson: 使用onnxruntime部署模型
在边缘计算设备(如Jetson)上使用ONNX Runtime部署模型时,常遇到版本匹配问题。
2025-05-23 11:33:48
331
原创 Jetson:aarch64平台编译onnxruntime使用GPU
在aarch64平台(如Jetson边缘计算板)上,使用onnxruntime部署算法模块并利用GPU加速时,官方并未提供现成的C++库文件,仅提供Python的.whl文件。因此,需要通过源码编译生成所需的库文件。编译步骤包括:安装系统依赖、验证CUDA/cuDNN/TensorRT路径、克隆onnxruntime仓库并选择版本、初始化子模块、配置编译参数、执行编译脚本,最后处理生成的动态库文件、Python wheel包和头文件,并将其安装到系统路径中。通过这一系列操作,可以在aarch64平台上成功部
2025-05-22 11:51:48
1380
原创 Jetson: 将系统设置为从SSD启动
在 NVIDIA Jetson 设备(如 Jetson Nano、Jetson Xavier NX 等)中,将系统设置为从 SSD 启动可以显著提升性能、扩展存储容量并增强系统稳定性。
2025-05-22 10:09:19
1018
原创 VIO: EVO轨迹精度验证工具(一)
EVO是一个用于评估SLAM或里程计系统性能的关键工具,主要功能包括轨迹精度评估、轨迹可视化、数据格式兼容性以及性能分析与调优。它在VINS-Fusion中作为“性能检测仪”,通过量化误差和可视化帮助开发者诊断问题、验证改进方案,是算法迭代和论文实验的必备工具。EVO的正确使用可以显著提升SLAM系统的鲁棒性和精度。常用的数据集包括EUROC、TUM和KITTI,这些数据集提供了丰富的传感器数据和轨迹真值,支持SLAM系统的评估与优化。
2025-05-21 10:53:27
140
原创 VINS中图像特征匹配追踪方法
VINS(视觉惯性导航系统)通过融合相机与IMU数据实现高精度定位,其核心在于图像特征的提取、追踪与匹配。特征提取方面,传统方法如ORB适合实时系统,而深度学习方法如SuperPoint在复杂场景中表现更优。特征追踪主要依赖稀疏光流和描述子匹配,结合IMU数据提升鲁棒性。特征匹配则通过基础矩阵、单应性矩阵等几何约束剔除误匹配。VINS还采用关键帧选择、特征点三角化和紧耦合优化等技术,确保系统稳定性和精度。开发者可根据硬件资源和场景需求选择合适方法,结合IMU数据优化流程,实现高效且鲁棒的视觉惯性导航。
2025-05-19 11:07:49
197
原创 算法部署验证工具
✅ 成功启用 CUDAExecutionProvider。=== 尝试启用 GPU ====== 可用执行提供器 ===进程已结束,退出代码为 0。
2025-05-07 09:37:43
503
原创 VINS-FUSION:配置参数说明与配置自己的参数
VINS-Fusion 是一个基于优化的多传感器状态估计器,实现了视觉惯性里程计(VIO)和视觉惯性全球导航卫星系统(VI-GNSS)融合。
2025-04-30 10:23:37
1032
原创 ROS:RVIZ使用技巧
Rviz(ROS Visualization Tool)是ROS生态中最核心的可视化工具,能够实时显示传感器数据、机器人模型、路径规划结果等。
2025-04-28 18:11:56
511
原创 kalibr:相机模型
Kalibr作为多传感器标定的重要工具,支持多种相机模型以适应不同光学特性的视觉传感器。其核心相机模型可分为以下三类,用户需根据设备硬件特性选择匹配的模型进行标定。
2025-04-28 17:49:20
467
原创 VINS-FUSION:跑通手机录制数据
利用智能手机的 摄像头+IMU 采集数据,并在 VINS-Fusion(视觉惯性SLAM系统)中实现定位与建图。
2025-04-28 17:31:10
639
原创 相机-IMU联合标定:相机-IMU外参标定
坐标系对齐(空间同步),外参误差会导致视觉特征点投影与IMU预积分轨迹不匹配,引发位姿跳变(如图像特征与IMU预测的轨迹"错位")。时间同步(时间戳对齐),未校正时,高速运动下视觉与IMU数据不同步,融合结果会出现"重影"或抖动。紧耦合优化的基础,外参不准会导致优化目标函数收敛到错误解,累计误差增大。
2025-04-28 16:58:13
1183
5
原创 相机-IMU联合标定:IMU标定
在 VINS(Visual-Inertial Navigation System,视觉惯性导航系统) 中,IMU标定 是确保系统高精度运行的关键环节。IMU(惯性测量单元)本身存在多种误差,如果不进行标定,会直接影响VINS的位姿估计精度,甚至导致系统失效。消除IMU的固有误差(内参标定)IMU(如陀螺仪和加速度计)的原始数据通常包含多种误差,标定的目标是估计并补偿这些误差项,包括:零偏(Bias)
2025-04-28 16:03:15
989
原创 相机-IMU联合标定:入门
相机-IMU标定是VINS系统的基础环节,决定了多传感器数据的对齐质量。标定精度 ≈ 系统精度上限,因此需严格遵循标定流程,并在环境变化(如传感器移位)后重新标定。
2025-04-28 15:02:40
526
原创 棋盘格角点检测-libcbdetect
算法主要分三个步骤:1、 定位棋盘格角点位置,2、亚像素级角点和方向的精细化,3、优化能量函数、生长棋盘格。
2024-09-17 14:04:59
1214
原创 Windows下lapack的编译
BLAS(Basic Linear Algebra Subprograms)库,是用Fortran语言实现的向量和矩阵运算库,是许多数值计算软件库的核心, 但也有一些其它的包装, 如cblas是C语言, 也有C++的包装, boost/ublas 是C++ template class的实现;LAPACK(Linear Algebra PACKage)库,是用Fortran语言编写的线性代数计算库,包含线性方程组求解(AX=b)、矩阵分解、矩阵求逆、求矩阵特征值、奇异值等。, 运行mingw的。
2024-07-21 11:26:36
2611
原创 matlab双目标定中基线物理长度获取
在MATLAB进行双目摄像机标定时,通常会获得相机的内参,其中包括像素单位的焦距(focal length)以及物理单位的基线长度(baseline)。有时候,您可能只能获取像素单位的焦距和棋盘格格子的物理宽度,但您希望获得基线的物理长度。本文将解释如何通过已知的信息来获取基线的物理长度。其中,B 表示基线的物理长度,d 表示棋盘格格子的物理宽度,f 表示焦距,a,b表示两个点的图像横坐标与主点的像素差。使用三角测量:根据视差、像素单位的焦距和棋盘格格子的物理宽度,使用三角测量原理来计算基线的物理长度。
2023-11-02 21:22:36
1393
原创 随机抽样一致RANSAC
RANSAC是 RANdom SAmple Consensus 的缩写,中文翻译叫随机采样一致。它可以从一组观测数据中,找出符合某些数学模型的样本集,并且估计出这个数学模型的参数。其中数据点包括inlier,outlier。outlier对模型的估计没有价值,因此该方法也可以叫做outlier检测方法。这是一种非确定性算法,因为它是在一定概率下得到一个合理的结果,当迭代次数增加,概率也会增加。
2023-09-18 10:04:17
432
jetson-tx2板子,aarch64平台使用GPU的onnxruntime
2025-05-22
superpoint超级特征点+lightglue深度匹配
2025-05-19
alphapose模型库
2021-03-11
Real-world Affective Faces Database(fer2013)数据集下载
2020-08-21
Deep Learning for Human Activity Recognition in Mobile Computing
2018-06-10
关于c#调用c++dll中结构体相关问题
2017-05-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅