Pytorch implementation of GIVEPose:Gradual Intra-class Variation Elimination for RGB-based Category-Level Object Pose Estimation[paper].
Our proposed gradual intra-class variation elimination strategy leverages the complementary advantages of both maps, enabling more precise category-level pose estimation.
To install the required dependencies, use the following commands:
conda env create -f GIVEPose_env.yaml
(Optional) You may also want to install xformers for efficient transformer implementation:
pip install xformers==0.0.16
Our implementation leverages the code from Lapose. Following the Data Preparation in the Lapose repository, you can download the NOCS dataset and preprocess it.
- For the IVFC map used in the training stage, you can download the map from here.
- For the Wild6D dataset, you can download the dataset from here.
- Put NOCS, IVFC and Wild6D dataset in the
data
folder.
- Train on the CAMERA+Real dataset.
python engine/train.py --model_save="./output/model_save"
- Train on the CAMERA dataset.
python engine/train.py --model_save="./output/model_save_C" --dataset=CAMERA
Our model checkpoint for evaluation cam be found here. (We use the scale net provided by Lapose).
- Evaluate on the Real dataset.
python evaluation/evaluate.py --resume_model="./path/to/pose_net/xxx.pth" --dataset=Real --use_scale_net --sn_path='./path/to/scale_net/xxx.pth'
- Evaluate on the Wild6D dataset.
python evaluation/evaluate.py --resume_model="./path/to/pose_net/xxx.pth" --dataset=wild6d --use_scale_net --sn_path='./path/to/scale_net/xxx.pth'
- Evaluate on the CAMERA dataset.
python evaluation/evaluate.py --resume_model="./path/to/pose_net_C/xxx.pth" --dataset=CAMERA --use_scale_net --sn_path='./path/to/scale_net_C/xxx.pth'
If you find our work useful, please cite:
@InProceedings{huang_2025_GIVEPose,
title = {GIVEPose: Gradual Intra-class Variation Elimination for RGB-based Category-Level Object Pose Estimation},
author = {Huang, Zinqin and Wang, Gu and Zhang, Chenyangguang and Zhang, Ruida and Li, Xiu and Ji, Xiangyang},
booktitle = {CVPR},
month = {June},
year = {2025},
}