Introduction
This is the toolbox for The YCB-Video dataset introduced for 6D object pose estimation. It provides accurate 6D poses of 21 objects from the YCB dataset observed in 92 videos with 133,827 frames.
License
The YCB-Video dataset is released under the MIT License (refer to the LICENSE file for details).
Citing
If you find our dataset useful in your research, please consider citing:
@article{xiang2017posecnn,
author = {Xiang, Yu and Schmidt, Tanner and Narayanan, Venkatraman and Fox, Dieter},
title = {PoseCNN: A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes},
journal = {arXiv preprint arXiv:1711.00199},
year = {2017}
}
Annotation format
The *-meta.mat file in the YCB-Video dataset contains the following fields:
- center: 2D location of the projection of the 3D model origin in the image
- cls_indexes: class labels of the objects
- factor_depth: divde the depth image by this factor to get the actual depth vaule
- intrinsic_matrix: camera intrinsics
- poses: 6D poses of objects in the image
- rotation_translation_matrix: RT of the camera motion in 3D
- vertmap: coordinates in the 3D model space of each pixel in the image
Usage
-
Download the YCB-Video dataset from here.
-
Set your path of the YCB-Video dataset in globals.m (required).
-
show_pose_annotations.m displays the overlays of 3D shapes onto images according to our annotations. Check the code of this function to understand the annotation format.
-
show_pose_results.m displays the 6D pose estimation results from PoseCNN. Unzip results_PoseCNN.zip before calling the function.
-
evaluate_poses_stereo.m evaluates our results on the stereo pairs. Check the code of this function to understand the evaluation metric.
-
evaluate_poses_keyframe.m evaluates our results on the keyframes.
-
plot_accuracy_stereo.m plots all the accuracy-threshold curves from the stereo pairs.
-
plot_accuracy_keyframe.m plots all the accuracy-threshold curves from the keyframes.