【slam】kitti数据集转化为rosbag文件的过程
主要参考
https://blog.csdn.net/m0_45388819/article/details/108582312
rosbag topic映射:
https://blog.csdn.net/u014374826/article/details/139784531
kitti官网:
https://www.cvlibs.net/datasets/kitti/raw_data.php
过程
命令:kitti2bag -t 2011_09_26 -r 0009 raw_synced
(在服务器上死活装不上,最后在自己虚拟机上运行成功了)
rosplay时的topic映射:
rosbag play kitti_2011_09_26_drive_0009_synced.bag /kitti/velo/pointcloud:=/velodyne_points
kitti数据集上下载的两种数据类型:
在KITTI数据集中,"Synced+Rectified"数据和"Calibration"数据是两个非常重要的概念:
-
Synced+Rectified数据:
- 这是指经过同步和校正处理的数据。在原始数据中,不同传感器的数据(如相机图像、激光雷达点云等)可能存在时间上的不同步以及视角上的畸变。"Synced+Rectified"数据通过处理,使得这些数据在时间上对齐,并且图像数据经过去畸变处理,使得它们可以直接用于后续的计算机视觉任务,如立体匹配、物体检测等。
- 具体来说,"Synced"表示数据流(例如相机图像和激光雷达点云)已经被时间同步,即它们的帧索引是对应的。"Rectified"表示图像数据已经经过校正,消除了镜头畸变,使得左右图像对齐,便于进行立体视觉处理。
- 大多数人在使用KITTI数据集时,只需要"Synced+Rectified"版本的文件,因为这些文件已经为后续处理做好了准备。
-
Calibration数据:
- 校准文件包含了传感器之间的校准参数,这些参数对于将不同传感器的数据融合在一起至关重要。例如,它包含了相机的内参和外参,以及相机与激光雷达之间的转换关系。
- 在KITTI数据集中,校准文件通常是一个文本文件(如
calib.txt
),其中包含了多个部分的校准参数,如相机之间的校准(calib_cam_to_cam.txt
)、相机到激光雷达的校准(calib_velo_to_cam.txt
)等。 - 这些校准参数通常包括旋转矩阵(R)、平移向量(T)、相机的内参矩阵(K)、畸变系数(D)以及投影矩阵(P)。这些参数允许研究者将3D点云数据转换为图像坐标系,或者反过来,从而进行精确的3D物体检测和跟踪。
总的来说,"Synced+Rectified"数据是为了方便使用而预处理过的数据,而"Calibration"数据则是进行传感器数据融合和3D计算时必需的参数。