Tianfu Wang, Guosheng Hu, Hongguang Wang
Click to expand
git clone https://github.com/Tianfu18/diff-feats-pose.git
conda env create -f environment.yaml
conda activate diff-feats
Click to expand
./dataset
├── linemod
├── models
├── opencv_pose
├── LINEMOD
├── occlusionLINEMOD
├── tless
├── models
├── opencv_pose
├── train
└── test
├── templates
├── linemod
├── train
├── test
├── tless
├── SUN397
├── LINEMOD.json # query-template pairwise for LINEMOD
├── occlusionLINEMOD.json # query-template pairwise for Occlusion-LINEMOD
├── tless_train.json # query-template pairwise for training split of T-LESS
├── tless_test.json # query-template pairwise for testing split of T-LESS
└── crop_image512 # pre-cropped images for LINEMOD
Download with following gdrive links and unzip them in ./dataset. We use the same data as template-pose.
- LINEMOD and Occlusion-LINEMOD (3GB)
- T-LESS (11GB)
- SUN397, randomized background for training on T-LESS (37GB)
Convert the coordinate system to BOP datasets format and save GT poses of each object separately:
python -m data.process_gt_linemod
python -m data.process_gt_tless
To render templates:
python -m data.render_templates --dataset linemod --disable_output --num_workers 4
python -m data.render_templates --dataset tless --disable_output --num_workers 4
Crop images of LINEMOD, OcclusionLINEMOD and its templates with GT poses:
python -m data.crop_image_linemod
python -m data.create_dataframe_linemod
python -m data.create_dataframe_tless --split train
python -m data.create_dataframe_tless --split test
Click to expand
python train_linemod.py --config_path config_run/LM_Diffusion_$split_name.json
python train_tless.py --config_path ./config_run/TLESS_Diffusion.json
Click to expand
You can download it from this link.
python test_linemod.py --config_path config_run/LM_Diffusion_$split_name.json --checkpoint checkpoint_path
python test_tless.py --config_path ./config_run/TLESS_Diffusion.json --checkpoint checkpoint_path
If you find our project helpful for your research, please cite:
@inproceedings{wang2024object,
title={Object Pose Estimation via the Aggregation of Diffusion Features},
author={Wang, Tianfu and Hu, Guosheng and Wang, Hongguang},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
year={2024}
}
This codebase is built based on the template-pose. Thanks!