/ESCAPE

Primary LanguagePython

ESCAPE: Energy-based Selective Adaptive Correction for Out-of-distribution 3D Human Pose Estimation

Setup

Environment

  1. Create a new conda env from environment.yml: conda env create -f environment.yml
  2. Activate the environment: conda activate escape_env

Data

For training and evaluating the networks in ESCAPE, we require the backbone network predictions on HP3D, MPII, PW3D.

Using our preprocessed data:

  1. Download data ready to use with ESCAPE: GDrive
  2. Extract the data and modify config.cnet_dataset_path in config.py to point to the folder

Checkpoints

  1. Download the trained CNet and RCNet checkpoints: GDrive
  2. Extract and place at ./ckpts

Usage

Modify options in config.py to select experiments, change backbones, and modify other parameters.

Run experiments.py to execute the tasks in config.tasks: python3 experiments.py

Important Options:

  • config.tasks: is a list which controls what experiments will be performed
  • config.backbone: changes the pre-trained backbone estimator being used
  • config.test_adapt: enables intensive test-time adaptation, else only fast correction will be applied
  • config.TTT_e_thresh: enables Energy-based sample selection, instead of adapting to all samples
  • config.energy_thresh: changes the Energy threshold used for Energy-based sample selection