In ES6D, we propose an efficient backbone for real-time instance-level 6D pose estimation. Besides, we propose A(M)GPD to solve the ambiguity problem in the widely used ADD-S metric. For more details, please check our paper, supplement , and video. We recommend you use the proposed A(M)GPD metric to train your own model!!!
|Network architecture |
2022.07.30
: add the tutorial for GP construction, you can try it with your own cad mode!.2022.06.12
: Initial release.git clone git@github.com:GANWANSHUI/ES6D.git
cd ES6D
conda env create -f es6d.yaml
pack each training and testing instance into .mat.
It may occur the error due to the duplicate file name, just simply retry the order.
-------------------------------------------------------------------------------------------------------------------------------------
$ python ./datasets/tless/tless_preparation.py --tless_path ./datasets/tless --train_set True
If succeed, it will have ./datasets/tless/train_pbr_mat and ./datasets/tless/train_pbr_mat.txt for the dataloader
-------------------------------------------------------------------------------------------------------------------------------------
$ python ./datasets/tless/tless_preparation.py --tless_path ./datasets/tless --train_set False
If succeed, it will have ./datasets/tless/test_primesense_gt_mask_mat and ./datasets/tless/test_primesense_gt_mask_mat.txt for the dataloader
At last, please download the downsample pcd files (https://www.dropbox.com/sh/zxq5lx71zpq4nts/AAALVgeSvszpHEy8CUBr8iala?dl=0), and place the models into ./datasets/tless
To train tless
and evaluate testset at the end of training (metric for add(s)
and A(M)GPD
), run:
$ python train.py --loss_type GADD
To only evaluate the testset add(s)
and A(M)GPD
of the trained tless
without re-training, please define the checkpoint_PATH and run:
$ python train.py --test_only True --resume ./experiments/tless/GADD/checkpoint_0120.pth.tar
We post the old version code but still need to update it, but hope that you could find something useful if you urgent to use the GP for your project.
This work can not be finished well without the following reference, many thanks for the author's contribution: DenseFusion, PVN3D, FFB6D, Stablepose.
Please cite ES6D if you use this repository in your publications:
@inproceedings{mo2022es6d,
title={ES6D: A Computation Efficient and Symmetry-Aware 6D Pose Regression Framework},
author={Mo, Ningkai and Gan, Wanshui and Yokoya, Naoto and Chen, Shifeng},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
pages={6718--6727},
year={2022}
}