Skip to content

Offical Pytorch Implementation of CVPR2025 GIVEPose: Gradual Intra-class Variation Elimination for RGB-based Category-Level Object Pose Estimation

Notifications You must be signed in to change notification settings

THU-DA-6D-Pose-Group/GIVEPose

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GIVEPose

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.

Framework of our method:

Installation

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

Get Started

Prepare the data

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

  • 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

Evaluate

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'

Citation

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},
}

About

Offical Pytorch Implementation of CVPR2025 GIVEPose: Gradual Intra-class Variation Elimination for RGB-based Category-Level Object Pose Estimation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 93.4%
  • Cuda 5.5%
  • C++ 1.1%