1、TUM RGB-D SLAM Dataset and Benchmark
德国慕尼黑理工大学计算机视觉组制作的数据集,使用 Kinect 相机采集的数据
集,包括 IMU 数据,并且用高精度运动采集系统提供了 groundtruth(真值)。
提供测试脚本,可以方便的实现量化评估。
https://vision.in.tum.de/data/datasets/rgbd-dataset
1.文件格式:
彩色图和深度图:
我们提供带时间戳的颜色和深度图像作为 gzip 压缩文件(TGZ)。
彩色图以 PNG 格式存储为 640x480 8 位 RGB 图像。
深度图以 PNG 格式存储为 640x480 16 位单色图像。
深度图按比例缩放 5000 倍,即深度图像中的像素值 5000 对应于距相机 1 米的距离;像素
值 0 表示缺失值/没有数据。
2.地面轨迹:
使用 txt 文本文件存储。
文本文件中的每一行都包含一个姿势,格式为' timestamp tx ty tz qx qy qz qw '
timestamp(float)给出自 Unix 纪元以来的秒数。
tx ty tz(3 个浮点数)给出彩色摄像机的光学中心相对于运动捕捉系统定义的世界原点
的位置。
qx qy qz qw(4 个浮点数)以相对于运动捕捉系统定义的世界原点的单位四元数的形式
给出彩色相机的光学中心的方向。
对于使用 ROS 系统的情况也提供了 bag 文件, 包含 color images, monochrome images,
depth images, camera infos, point clouds and transforms – including the groundtruth
transformation from the /world frame all in a single file.
文件组成如下:
如果你需要单色图像和点云,可以使用 adding_point_clouds_to_ros_bag_files 插件,结果
组成为:
3.评价准则:
https://vision.in.tum.de/data/datasets/rgbd-dataset/online_evaluation
ATE + RPE:ATE 非常适合测量可视 SLAM 系统的性能。相比之下,RPE 非常适合测量视
觉测距系统的漂移,例如每秒的漂移
1. 绝对轨迹误差(ATE)
绝对轨迹误差直接测量真实轨迹和估计轨迹的点之间的差异。作为预处理步骤,我们使用时
间戳将估计的姿势与地面实况姿势相关联。基于此关联,我们使用奇异值分解来对齐真实轨
迹和估计轨迹。最后,我们计算每对姿势之间的差异,并输出这些差异的均值/中值/标准差。
可选地,脚本可以将两个轨迹绘制到 png 或 pdf 文件。
2. 相对姿势误差(RPE)
为了计算相对姿势误差,我们提供了一个脚本''evaluate_rpe.py''。此脚本计算时间戳对之间
的相对运动中的错误。默认情况下,脚本计算估计轨迹文件中所有时间戳对之间的错误。由
于估计轨迹中的时间戳对的数量在轨迹的长度上是二次的,因此将该集合下采样为固定数量
(-max_pairs)是有意义的。或者,可以选择使用固定的窗口大小(-fixed_delta)。在这
种情况下,估计轨迹中的每个姿势根据窗口大小(-δ)和单位(-delta_unit)与稍后的姿势
相关联。该评估技术可用于估计漂移。
3. 从图像生成点云
深度图像已经登记到彩色图像,因此深度图像中的像素已经与彩色图像中的像素一一对
应。因此,生成彩色点云是直截了当的。“generate_pointcloud.py”中提供了一个示例脚
本,它将彩色图像和深度图作为输入,并生成 PLY 格式的点云文件。这种格式可以由许多
3D 建模程序读取,例如 meshlab。
roscore
rosrun rviz rviz
rosbag play rgbd_dataset_freiburg1_xyz-2hz-with-pointclouds.bag
结果应如下所示:
2、KITTI Vision Benchmark Suite
德国卡尔斯鲁厄理工学院和丰田工业大学芝加哥分校一起合作制作的用于自动
驾驶的数据集。
http://www.cvlibs.net/datasets/kitti/
1.采集平台介绍
如下图所示,KITTI 数据集所采用的采集车为经过改装过的大众帕萨特 B6,使用 8 核 i7 计
算机,运行在 Ubuntu 系统下进行数据录制,采集平台包含如下传感器:
1 个惯性导航系统(GPS/IMU):OXTS RT 3003
1 个激光扫描仪:Velodyne HDL-64E
2 个灰度相机,140 万像素:Point Grey Flea 2(FL2-14S3M-C)
2 个彩色相机,140 万像素:Point Grey Flea 2(FL2-14S3C-C)
4 个变焦镜头,4-8mm:Edmund Optics NT59-917
激光雷达扫描频率为 10 帧/s,相机基本上和地平面保持水平,图像采集尺寸被裁减为
1382x512 像素,在经过校正后,图像可能会进一步变小,相机的采集频率也保持在 10HZ
并且在激光雷达朝向正前方时释放快门,传感器的整体布置图如图 2 所示。
图 1 KITTI 数据集采集平台
图 2 传感器布置俯视图
2.数据组织方式
KITTI 数据集针对不同的用途,将数据集分为如下部分:stereo、flow、sceneflow、depth、
odometry、object、tracking、road、semantics 和 raw data,不同部分的数据包含不同的人为
标注的真值数据,但其实针对不同用途的数据也基本上是从 raw data 数据中分离出来的,为
此主要介绍 raw data 中数据的组织方式,此外也介绍一下 object 和 tracking 数据的组织方式。
2.1raw data 组织方式
raw data 数据集按照类别被分为 Road、City、Residential、Campus 和 Person。如下图,对于
每一个序列,都提供了传感器原始数据,相机视野范围内的目标 3D bounding box tracklets
文件和一个传感器标定文件,
所有数据都是同步采集的,按照激光雷达的频率(10hz)采集,所有传感器的数据序列都是
以 image_00 作为同步参考系。
包括:
原始的(没有同步和没有矫正的)和处理过的(同步和矫正过)的双目灰度图像序列(50
万像素、png 格式)
原始的(没有同步和没有矫正的)和处理过的(同步和矫正过)的双目彩色图像序列(50
万像素、png 格式)
3D 激光雷达数据(每帧 10 万+个点,.bin 格式 float 矩阵存储)
标定文件(相机与相机之间、相机与 GPS/IMU 之间、相机与激光雷达之间,txt 文本文
件存储)
3D 目标跟踪标签(汽车、卡车、火车、行人、自行车人,xml 文件)
处的非同步和非矫正的含义是指原始的带有畸变并且没有同步的数据,而同步和矫正的图片
是指经过消除畸变并经过双目矫正的图片,并且图片序列也是和其他传感器对应好的。所有
的数据都提供时间戳。一般我们用的是同步和矫正的数据(synced+rectified data)。
例如我们下载 2011_09_26_drive_0005 这个数据序列,最终解压得到的文件夹如下图所示:
2.2 object 数据组织方式
object 数据集主要用于验证无人驾驶中有关目标检测算法而设置的数据集,该数据集包含
“2D Object Detection”、“3D Object Detection”和“Bird’s Eye View”三部分数据,分别用于验证
2D 图像检测框、3D 图像或者激光雷达包围盒和鸟瞰图检测算法的优劣。
该部分数据可以针对你所开发检测算法的具体需求,选择下载图像或者雷达等数据,每个数
据下载解压之后都包含 training 和 testing 两个文件夹,分别用于检测算法中作为训练数据和
测试数据,其中训练数据包含有标注文件。需要注意的是对于 object 数据集,其数据并不是
严格连续采集的数据,即都是单帧结果,只用于检测算法使用。
2.3 tracking 数据组织方式
tracking 数据集主要用于验证无人驾驶中有关目标跟踪算法而设置的数据集,其数据组织方
式与 object 数据集类似,最大的区别在于 tracking 数据集每个数据序列是连续的。
3.EuRoC MAV Dataset
苏黎世联邦理工大学制作的数据集,采用装备了双目相机和 IMU 的四旋翼无人
机采集数据,使用高精度运动采集系统提供了 groundtruth。提供测试脚本,可
以方便的实现量化评估。
https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets
用于室内 MAV 的双目+IMU 数据集,包含两个场景
苏黎世联邦理工学院 ETH 的一个 machine hall