原始的KITTI数据集并不能直接应用于LIO-SAM算法,需要进行一些处理。但是LIO-SAM算法的作者已经写好了转换方法,按照作者的提示可以将KITTI数据集转换成LIO-SAM可运行的数据包。
1. 下载KITTI数据集
这里以KITTI 05序列为例,对应下载2011_09_30_drive_0018数据集。
wget https://s3.eu-central-1.amazonaws.com/avg-kitti/raw_data/2011_09_30_drive_0018/2011_09_30_drive_0018_sync.zip
wget https://s3.eu-central-1.amazonaws.com/avg-kitti/raw_data/2011_09_30_drive_0018/2011_09_30_drive_0018_extract.zip
wget https://s3.eu-central-1.amazonaws.com/avg-kitti/raw_data/2011_09_30_calib.zip
需要下载extract.zip、sync.zip和calib.zip。关于详细说明可以参考下面这个链接:
使用KITTI跑LIOSAM并完成EVO评价_ros bag转kitti-CSDN博客
图1 下载KITTI数据集(以05序列为例)
下载好KITTI数据集以后,需要进行解压:
unzip 2011_09_30_drive_0018_sync.zip
unzip 2011_09_30_drive_0018_extract.zip
unzip 2011_09_30_calib.zip
即对刚才下载的三个zip文件进行解压,解压后如图2所示:
图2 解压KITTI数据集(以05序列为例)
解压后可以得到一个命名为2011_09_30的文件夹,文件夹内容如图3所示:
图3 查看解压后的文件夹
至此,我们完成了数据集下载和准备工作。
2. 将KITTI数据集转换为.bag文件
接下来我们利用LIO-SAM算法作者提供的python文件,将KITTI数据集转换成rosbag可以播放的数据包,即.bag文件。
首先,我们将图2中解压后得到的2011_09_30文件夹复制一份,拷贝到LIO-SAM提供的python目录下,如图4和图5所示:
图4 LIO-SAM算法提供的python目录(拷贝2011_09_30文件夹前)
图5 LIO-SAM算法提供的python目录(拷贝2011_09_30文件夹后)
然后在该目录下,打开终端,运行下面指令:
python3 kitti2bag.py -t 2011_09_30 -r 0018 raw_synced
指令中的2011_09_30和0018,需要与下载的数据集名称保持一致。
例如笔者下载的2011_09_30_drive_0018_sync.zip和2011_09_30_drive_0018_extract.zip,所以指令中对应数字为2011_09_30和0018,即对应数据集名称中“drive“前后的两组数字。
此外,根据Ubuntu系统版本不同,有些人可能需要把指令中的“python3”改成“python”。
此时,终端显示如图6所示:
图6 终端运行显示
待终端运行结束后,我们可以在python目录下看到生成的数据包,如图7所示:
图7 生成的数据包
3. LIO-SAM运行KITTI数据集yaml文件主要参数配置
pointCloudTopic: "points_raw"
imuTopic: "imu_correct"
N_SCAN: 64
downsampleRate: 2
# IMU Settings
imuAccNoise: 3.9939570888238808e-03
imuGyrNoise: 1.5636343949698187e-03
imuAccBiasN: 6.4356659353532566e-05
imuGyrBiasN: 3.5640318696367613e-05
imuGravity: 9.80511
imuRPYWeight: 0.01
# kitti Extrinsics (lidar -> IMU)
extrinsicTrans: [-8.086759e-01, 3.195559e-01, -7.997231e-01]
extrinsicRot: [9.999976e-01, 7.553071e-04, -2.035826e-03,
-7.854027e-04,9.998898e-01, -1.482298e-02,
2.024406e-03, 1.482454e-02, 9.998881e-01]
extrinsicRPY: [9.999976e-01, 7.553071e-04, -2.035826e-03,
-7.854027e-04,9.998898e-01, -1.482298e-02,
2.024406e-03, 1.482454e-02, 9.998881e-01]
4. 运行结果
KITTI 05序列运行结果如图8所示:
图8 运行结果
补充:并不需要对LIO-SAM算法进行任何修改,例如补充点云ring信息计算等,尽管终端出现提示,但是并不会影响算法运行。
其他未尽事宜,请参照链接:
https://github.com/TixiaoShan/LIO-SAM/blob/master/config/doc/kitti2bag/README.md