/vbr-devkit

Vision Benchmark in Rome Development Kit

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

VBR Development Kit

PyPI - Version PyPI - Downloads

This kit contains utilities to download the VBR dataset

Install

pip install vbr-devkit

You can install autocompletion for our package by typing:

vbr --install-completion

you might need to restart the shell for the autocompletion to take effect.

Usage

Download sequences

You can list the available sequences you can download by typing:

vbr list

You should see something similar to this list

After choosing your sequence, you can type

vbr download <sequence_name> <save_directory>

For instance, we could save campus_train0 as follows:

vbr download campus_train0 ~/data/

N.B. The script will actually save the sequence at <save_directory>/vbr_slam/<sequence_prefix>/<sequence_name>. Moreover, by calling the previous command, we expect the following directory:

data
  - vbr_slam
    - campus
      - campus_train0
        - vbr_calib.yaml
        - campus_train0_gt.txt
        - campus_train0_00.bag
        - campus_train0_01.bag
        - campus_train0_02.bag
        - campus_train0_03.bag
        - campus_train0_04.bag                     

Convert format

The sequences are provided in ROS1 format. We offer a convenient tool to change representation if you prefer working on a different format. You can see the supported formats by typing:

vbr convert --help

To convert a bag or a sequence of bags, type:

vbr convert <desired_format> <input_directory/input_bag> <output_directory>

for instance, we could convert the campus_train0 sequence to kitti format as follows:

vbr convert kitti ~/data/vbr_slam/campus/campus_train0/campus_train0_00.bag ~/data/campus_train0_00_kitti/

We can expect the following result:

data
  - campus_train0_00_kitti
    - camera_left
      - timestamps.txt
      - data
        - 0000000000.png
        - 0000000001.png
        - ...
    - camera_right
      - timestamps.txt
      - data
        - 0000000000.png
        - 0000000001.png
        - ...
    - ouster_points
      - timestamps.txt
      - data
        - .dtype.pkl
        - 0000000000.bin
        - 0000000001.bin
        - ...
    - ... 

N.B. In KITTI format, point clouds are embedded in binary files that can be opened using Numpy and pickle as follows:

import numpy as np
import pickle

with open("campus_train0_00_kitti/ouster_points/data/.dtype.pkl", "rb") as f:
    cdtype = pickle.load(f)

cloud_numpy = np.fromfile("/campus_train0_00_kitti/ouster_points/data/0000000000.bin", dtype=cdtype)