KITTI数据集的问题

安装kitt2bag

1
2
3
sudo pip install pandas==0.23.0 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
sudo pip install pykitti -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
sudo pip install kitti2bag -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

使用kitti-lego-loam,结果报错 Failed to find match for field intensity ,结果发现是kitti转换出的bag中的点云fields是:x, y, z, i。偏偏legoloam需要的是x, y, z, intensity.

参考kitt2bag 解决“Failed to find match for field intensity”问题

PointField('i', 12, PointField.FLOAT32, 1)]改为 PointField('intensity', 12, PointField.FLOAT32, 1)]

同步后的数据中,imu的频率在10Hz左右,如果需要100Hz的IMU数据,可以参考LIO-SAM【项目地址】中作者改过的kitti2bag文件。
该方法同时使用原始数据(extract)和同步数据(synced)制作数据包。

真值

真值pose是左相机坐标系相对于其第1帧的transform

数据集KITTI-00的真值pose.txt,行数就是帧数,每行是12列数据,12列数据很容易想到是3个平移量和一个3x3的旋转矩阵,但是其排列方式是一个3*4的增广矩阵[R|t],说白了就是4x4的变换矩阵T去掉了最后一行的[0 0 0 1],数据存储顺序是从行到列

第一行数据如下

1
1.000000e+00 9.043680e-12 2.326809e-11 5.551115e-17 9.043683e-12 1.000000e+00 2.392370e-10 3.330669e-16 2.326810e-11 2.392370e-10 9.999999e-01 -4.440892e-16

实际就是矩阵