[学习笔记-SLAM篇]KITTI数据集轨迹说明

KITTI数据集做SLAM的话应该都有所耳闻,但过于庞大的压缩包以及运行一次就可能卡住的风险以及不知轨迹几何所以随机运行的偶然性···
让我决定整理一下KITTI的轨迹,便于选择对应序列测试。
考虑到pose真值中只有11(00-10)个轨迹真值,在官网上又找到了5(11-15)个序列轨迹,整理了16个轨迹。
如果想自己运行的话,最下提供了参考的代码,不过KITTI的真实轨迹包要下载一下。

KITTI传送门:Visual Odometry / SLAM Evaluation 2012

推荐使用情况见下面,但仅从轨迹结果考虑,没有结合环境、路况等等信息,在选择的时候还需多方考虑。

注:
1)若仅测试算法是否安装好,对轨迹无要求,建议选小一点的包,eg.04、17、20、03;
2)若测试算法性能,要求闭环,含有真值,但包不要太大,eg.07、06、09;
3)若测试算法性能,要求轨迹复杂,含有真值,电脑性能好,eg.05、08、00、02。

自助下载链接:配合博客的数据集资源,整理到这里自行下载

KITTI轨迹

00

在这里插入图片描述

01

在这里插入图片描述

02

在这里插入图片描述

03

在这里插入图片描述

04

在这里插入图片描述

05

在这里插入图片描述

06

在这里插入图片描述

07

<think>好的,我现在需要帮助用户了解如何使用ORB-SLAM3运行KITTI数据集。首先,我应该回顾一下用户提供的引用内容,看看里面有哪些有用的信息。 用户引用了三资料,其中提到了ORB-SLAM2的运行命令,包括单目模式、词袋参数文件和数据集路径。还有关于evo工具安装和使用的内容,以及ORB-SLAM3适配KITTI数据集的操作步骤。用户现在关心的是ORB-SLAM3的具体配置和运行方法,可能还涉及轨迹评估。 首先,我应该整理ORB-SLAM3的基本运行步骤。通常,运行SLAM算法需要几个步骤:环境配置、数据集准备、修改配置文件、执行命令、结果评估。用户提到的引用中,ORB-SLAM2的命令分成四部分,包括可执行文件、词袋参数、数据集路径,这可能对ORB-SLAM3也有参考价值。 ORB-SLAM3支持多种传感器模式,比如单目、双目、RGB-D等。KITTI数据集主要提供双目和激光雷达数据,但ORB-SLAM3可能更适合使用双目或者单目视觉。需要确认ORB-SLAM3对KITTI的支持情况,可能需要调整配置文件中的相机参数,比如基线、分辨率、内参等。 接下来,数据集准备。KITTI数据集需要按照一定的结构存放,比如图像序列、时间戳文件。用户可能需要下载数据集,并组织成ORB-SLAM3要求的格式。引用3中提到适配操作,可能包括时间戳的转换或路径设置。 然后是编译和安装ORB-SLAM3。需要确保依赖项安装正确,比如Pangolin、OpenCV、Eigen等。如果用户遇到编译错误,可能需要检查这些依赖的版本是否兼容。 修改配置文件部分,可能需要调整相机参数文件,比如KITTI的yaml文件。例如,在ORB-SLAM3的配置目录中,找到KITTI的示例配置文件,检查相机内参、畸变参数、图像尺寸等是否与数据集一致。如果有双目配置,还需要设置左右目图像的路径和基线长度。 运行命令部分,根据ORB-SLAM3的不同模式(单目、双目、立体惯性等),执行相应的可执行文件。例如,运行双目模式可能需要调用stereo_kitti的可执行文件,并传入词汇表文件、配置文件和数据集路径。引用1中的ORB-SLAM2命令结构可以作为参考,但ORB-SLAM3可能有不同的参数顺序或可执行文件名称。 轨迹评估方面,用户可能需要使用evo工具,像在ORB-SLAM2中一样。保存轨迹文件后,用evo的指令计算绝对位姿误差或绘制轨迹。引用2详细介绍了evo的使用方法,包括不同数据集的评估步骤,这可能对用户有帮助。 用户可能遇到的常见问题包括:数据集路径错误、配置文件参数不匹配、依赖库版本问题、轨迹保存格式不正确导致evo无法解析等。需要提醒用户注意这些点,并提供解决建议,比如检查路径是否正确,确认时间戳文件存在,或者重新编译代码。 另外,引用3提到ORB-SLAM3适配KITTI的具体操作,可能包括修改数据集加载部分的代码,或者提供特定的启动脚本。用户可能需要参考相关的博客或文档进行调整,例如处理双目图像序列或调整时间戳同步。 总结下来,回答的结构应该是分步骤的:环境准备、数据集下载与配置、修改参数文件、运行命令、评估结果,最后是常见问题。同时,需要引用提供的资料,特别是关于evo工具的使用和ORB-SLAM3适配的部分。确保用户能够按照步骤操作,并处理可能出现的错误。</think>### 使用ORB-SLAM3运行KITTI数据集步骤详解 #### 1. **环境准备** - **安装依赖项** 确保已安装`Pangolin`、`OpenCV`、`Eigen3`和`DBoW2`等依赖库,并完成ORB-SLAM3的编译: ```bash git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git cd ORB_SLAM3 chmod +x build.sh ./build.sh ``` - **安装evo工具** 用于轨迹评估,通过以下命令安装: ```bash pip install evo --upgrade --no-binary evo ``` #### 2. **数据集准备** - **下载KITTI数据集** 从[KITTI官网](http://www.cvlibs.net/datasets/kitti/eval_odometry.php)下载双目图像序列(如`data_odometry_gray`)和对应的真值轨迹文件(如`poses`)[^3]。 - **组织数据集结构** 确保图像按以下格式存放: ``` KITTI_ROOT ├── sequences │ └── 00 │ ├── image_0 # 左目图像 │ ├── image_1 # 右目图像 │ └── times.txt └── poses └── 00.txt # 真值轨迹 ``` #### 3. **修改配置文件** - **调整相机参数** 在`ORB_SLAM3/Examples/Stereo/KITTI00-02.yaml`中,修改相机内参、畸变系数和基线等参数,需与KITTI相机的标定文件一致。例如: ```yaml Camera.fx: 718.856 Camera.fy: 718.856 Camera.cx: 607.1928 Camera.cy: 185.2157 Camera.bf: 0.53716 # 基线 × 焦距 ``` #### 4. **运行ORB-SLAM3** - **执行双目模式** 使用以下命令启动: ```bash ./Examples/Stereo/stereo_kitti \ Vocabulary/ORBvoc.txt \ Examples/Stereo/KITTI00-02.yaml \ /path/to/KITTI_ROOT/sequences/00 ``` 参数依次为:词袋文件、配置文件、数据集路径[^1]。 #### 5. **轨迹评估** - **保存ORB-SLAM3输出轨迹** 运行时会生成`CameraTrajectory.txt`,需将其转换为KITTI格式(每行12个数值,表示3D位姿)。 - **使用evo计算误差** 执行以下命令对比估计轨迹与真值: ```bash evo_ape kitti KITTI_gt.txt ORB-SLAM3_traj.txt -va --plot ``` 此指令计算绝对位姿误差(APE)并可视化结果[^2]。 --- #### **常见问题与解决** 1. **图像路径错误** - 现象:程序报错`Unable to load image at path...` - 解决:检查`KITTI_ROOT`路径是否正确,确保图像文件名按序号排列(如`000000.png`)。 2. **轨迹格式不兼容** - 现象:evo无法解析轨迹文件 - 解决:将轨迹文件转换为KITTI标准格式,或使用`evo_traj kitti`指令强制转换。 3. **相机参数不匹配** - 现象:跟踪丢失或地图漂移 - 解决:核对`KITTI00-02.yaml`中的`fx/fy/cx/cy/bf`是否与数据集标定一致[^3]。 ---
评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值