[关闭]
@Pigmon 2017-11-20T21:46:04.000000Z 字数 3653 阅读 3194

Oxford Robotcar Dataset

实习


特点

  • 同一辆车,相同传感器配置,在同一个路径(有岔路,分为2种路线)重复行驶的记录
  • 每周行驶2次,持续1年,包含各种天气和季节的数据
  • 包含了6 个摄像头的照片,以及LiDAR,GPS/INS 的 Ground Truth 数据
  • 提供了 Matlab 和 Python 两种开发接口,包括点云生成,点云与图片映射等功能
  • 数据量对于开源数据集来说比较大,总行程超过1000公里,照片超过2000万张

基本导航

主页:

http://robotcar-dataset.robots.ox.ac.uk/#citation

相关文献

W. Maddern, G. Pascoe, C. Linegar and P. Newman, "1 Year, 1000km: The Oxford RobotCar Dataset", The International Journal of Robotics Research (IJRR), 2016.
PDF版本

项目源文件

GitHub 主页

基本配置

路径

牛津大学
此处输入图片的描述

车辆

日产-聆风 (Nissan Leaf) 电动车。
互动百科-日产Leaf

传感器

此处输入图片的描述

摄像机 (1个3目,3个单目,共6个摄像头)

  • 1个 灰点 Bumblebee XB3 (BBX3-13S2C-38) 3目摄像机,每一帧3张图片,分辨率1280×960,16Hz, 1/3” Sony ICX445 CCD, global shutter, 3.8mm 焦距, 66° HFoV 水平视角, 12/24cm baseline。
  • 3个 灰点 Grasshopper2 (GS2-FW-14S5C-C) 单目摄像机,分辨率 1024×1024,11.1Hz, 2/3” Sony ICX285 CCD, global shutter, 2.67mm fisheye lens (Sunex DSL315B-650-F2.3), 180° HFoV

LiDAR (2个2D,1个3D)

  • 2 个 2D LiDAR (2 x SICK LMS-151 2D LIDAR, 270° FoV, 50Hz, 50m range, 0.5° resolution)
  • 1 个 3D LiDAR (1 x SICK LD-MRS 3D LIDAR, 85° HFoV, 3.2° VFoV, 4 planes, 12.5Hz, 50m range, 0.125° resolution)

GPS/INS

  • NovAtel SPAN-CPT ALIGN inertial and GPS navigation system, 6 axis, 50Hz, GPS/GLONASS, dual antenna

传感器分布示意图

此处输入图片的描述

数据集

数据集下载

数据集以日期命名的集合为基本单位(一次行驶),在这个页面可以浏览和下载:
http://robotcar-dataset.robots.ox.ac.uk/datasets/
数据包从10G到几百G不等。

另外也提供了简单浏览或者调试用的小Sample数据集2个:
1G 的大Sample
200M 的小Sample

浏览官方的 Downloads 页面有更多内容:
http://robotcar-dataset.robots.ox.ac.uk/downloads/

数据内容

数据包的目录结构如下:

├─gps
├─ldmrs
├─lms_front
├─lms_rear
├─mono_left
├─mono_rear
├─mono_right
└─stereo
----- ├─centre
----- ├─left
----- └─right

目录 / 文件 说明 包含文件
[gps] GPS/INS 数据文件目录 gps.csv, ins.csv
[ldmrs] 3D LiDAR 数据 [timestamp].bin
lms_front 车前2D LiDAR数据 [timestamp].bin
lms_rear 车后2D LiDAR数据 [timestamp].bin
mono_left 左侧单目Cam数据(图片) [timestamp].png
mono_rear 后侧单目Cam数据(图片) [timestamp].png
mono_right 右侧单目Cam数据(图片) [timestamp].png
stereo 三目 Cam 数据根目录 3个子目录,对应3个镜头
stereo\centre 中间镜头数据(图片) [timestamp].png
stereo\left 左侧镜头数据(图片) [timestamp].png
stereo\right 右侧镜头数据(图片) [timestamp].png
<传感器名>.timestamp 时间戳配置文件

SDK 简介

Python

  • build_pointcloud.py: 生成点云
  • camera_model.py: 读取相机模型,图像反扭曲,点云映射
  • interpolate_poses.py: 姿态估计
  • transform.py: 各种变换
  • image.py: 图像基本功能,图像增强等

Matlab

TODO

SDK (Python) 使用指南

假设目录结构是这样的:
Oxford3.png-6.5kB

play_images.py

这是一个连续播放数据集图片的命令,.py 文件里使用了 Argument Parser。参数如下:

  • dir : 图片文件路径
  • --models_dir : 如果需要undistort (单目摄像头的图片),指定 models 目录。这个目录在 SDK 里面。models 目录中存着测试车辆上各个摄像机的参数配置文件。
  • --scale : 设置图片的缩放参数

例子:

  1. -- 逐帧播放dir指定目录下的图片
  2. python play_images.py dir=..\..\..\..\sample_small\mono_right

oxford1.png-358kB

如果想看到 undistort 后的图片,可以使用 models_dir 参数来指定 models 目录。

  1. -- 逐帧播放dir指定目录下的图片并 undistort
  2. python play_images.py dir=..\..\..\..\sample_small\mono_right --models_dir=..\models

这样就能播放反扭曲后的图片

oxford2.png-365kB

build_pointcloud.py

  1. def build_pointcloud(lidar_dir, poses_file, extrinsics_dir, start_time, end_time, origin_time=-1):
  2. """根据数据中的LiDAR数据等构建点云
  3. Args:
  4. lidar_dir (str): LiDAR 数据目录.
  5. poses_file (str): 姿态数据的目录. Can be VO or INS data.
  6. extrinsics_dir (str): extrinsics目录,存储外参标定信息.
  7. start_time (int): 构建点云的开始时间戳
  8. end_time (int): 构建点云的结束时间戳
  9. origin_time (int): UNIX timestamp of origin frame. Pointcloud coordinates are relative to this frame.
  10. Returns:
  11. numpy.ndarray: 点云的 (x, y, z) 坐标数据数组,3 x n
  12. numpy.array: n个反射率数组的阵列;如果没有记录反射率值,则为 None (LDMRS)
  13. Raises:
  14. ValueError: if specified window doesn't contain any laser scans.
  15. IOError: if scan files are not found.
  16. """

命令行调用方法
按照之前说的目录结构来说:

  1. python .\build_pointcloud.py --laser_dir=D:\Workspace3\Oxford\sample_small\lms_front --extrinsics_dir=..\extrinsics --poses_file=D:\Workspace3\Oxford\sample_small\gps\ins.csv

运行结果:
oxford4.png-119kB

project_laser_into_camera.py

将点云映射到照片

  1. project_laser_into_camera.py --image_dir=D:\Workspace3\Oxford\sample_small\stereo\centre --laser_dir D:\Workspace3\Oxford\sample_small\ldmrs --poses_file=D:\Workspace3\Oxford\sample_small\gps\ins.csv --models_dir=..\models --extrinsics_dir=..\extrinsics --image_idx 2

参数说明:

  • --image_dir: 图片目录
  • --laser_dir: LiDAR 数据目录 ldmrs 路径
  • --poses_file: 姿态文件路径,ins.csv 或者 vo.csv
  • --models_dir: 相机模型参数路径,在 sdk 的 models 目录
  • --extrinsics_dir: 外参标定数据目录,sdk 的 extrinsics 目录
  • --image_idx: 指定匹配哪一帧的图像

正常的运行结果应该是这样的(官网教程图片):
此处输入图片的描述

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注