Skip to content

hsp-iit/fast-ycb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 

Repository files navigation

Fast-YCB

Description

This is the repository associated to the dataset Fast-YCB presented in the publication ROFT: Real-Time Optical Flow-Aided 6D Object Pose and Velocity Tracking.

The dataset is hosted in the IIT Dataverse and it is identified by the following DOI:10.48557/G2QJDM.

The dataset contains 6 synthetic sequences comprising objects from the YCB Model Set. The trajectories of the object are characterized by moderate-to-fast motions and can be used to benchmark 6D object pose tracking algorithms.

The dataset provides RGB, depth, optical flow, segmentation (ground truth and from Mask R-CNN) and 6D object poses (ground truth and from NVIDIA DOPE).

Specifically, the dataset contains (for each object folder):

  • cam_K.json : a json file containing the camera width, height and intrinsic parameters
  • rgb : a folder containing rgb frames in PNG format
  • depth : a folder containing depth frames
  • masks/gt : a folder containing ground truth segmentation masks as binary PNG images
  • masks/mrcnn_ycbv_bop_pbr: a folder containing Mask R-CNN segmentation as binary PNG images
  • optical_flow/nvof_1_slow : a folder containing NVIDIA NVOF SDK optical flow frames
  • dope/poses.txt : a file containing 6D object poses obtained using DOPE (these poses assume the NVDU version of the YCB Model Set meshes)
  • dope/poses_ycb.txt : as above but assume the original PoseCNN YCB Model set meshes
  • gt/poses.txt : ground truth 6D poses (NVDU format)
  • gt/poses_ycb.txt : ground truth 6D poses (PoseCNN YCB Model set format)
  • gt/velocities.txt : ground truth velocities

Format of poses

The format of the poses is

$$ [ x, y, z, n_x, n_y, n_z, \theta] $$

where $p = (x, y, z)$ is the translation vector while $n = (n_x, n_y, n_z)$ is the axis of rotation and $\theta$ is the angle of rotation in radiant.

The pose represents the transformation from the camera frame to the object frame.

A note on additional sequences

The object folders 003_cracker_box_real and 006_mustard_bottle_real contain additional sequences acquired with a real Intel RealSense D415 camera. These are not labeled (i.e. they miss the masks/gt and the whole gt folders).

How to obtain the dataset

Download the dataset using:

bash tools/download/download_dataset.sh

In order to download the dataset curl, jq, unzip and zip are required.

How to access data

We provide python sample code to access the information contained in the dataset.

pip install -r tools/python/requirements.txt
python tools/python/sample.py <object_name>

where <object_name> might be 003_cracker_box, 004_sugar_box, 005_tomato_soup_can, 006_cracker_box, 009_gelatin_box, 010_potted_meat_can.

You can also visualize the scene point cloud using this other script:

pip install open3d
python tools/python/sample_3d.py <object_name>

By default the visualizer will show the first frame of the sequence and cut the depth beyond 1 meter.

Citing Fast-YCB

If you find the Fast-YCB dataset useful, please consider citing the associated publication:

@ARTICLE{9568706,
author={Piga, Nicola A. and Onyshchuk, Yuriy and Pasquale, Giulia and Pattacini, Ugo and Natale, Lorenzo},
journal={IEEE Robotics and Automation Letters},
title={ROFT: Real-Time Optical Flow-Aided 6D Object Pose and Velocity Tracking},
year={2022},
volume={7},
number={1},
pages={159-166},
doi={10.1109/LRA.2021.3119379}
}

and the Dataset:

@data{G2QJDM_2022,
author = {Piga, Nicola A. and Onyshchuk, Yuriy and Pasquale, Giulia and Pattacini, Ugo and Natale, Lorenzo},
publisher = {IIT Dataverse},
title = {{Fast-YCB Dataset}},
year = {2022},
version = {V1},
doi = {10.48557/G2QJDM},
url = {https://doi.org/10.48557/G2QJDM}
}

Maintainer

This repository is maintained by:

@xenvre