This is the redistribution of the original link.
Create and activate the conda environment:
conda env create -n ardhoi -f envs.yml
conda activate ardhoiIf you already created the env before and want to sync it with envs.yml:
conda env update -n ardhoi -f envs.yml --pruneDownload the original OMOMO dataset from
OMOMO, then place it under
./dataset/omomo.
mkdir -p ckpt dataset deps
mv ${OMOMO_PATH} ./dataset/omomo./dataset/omomo must contain at least:
train_diffusion_manip_seq_joints24.ptest_diffusion_manip_seq_joints24.pcaptured_objects/omomo_text_anno/
- Download clip-vit-large-patch14 and place it at:
deps/clip-vit-large-patch14/
- Download pretrained pointnet and place it so this file exists:
deps/pointnet/classification/pointnet2_ssg_wo_normals/checkpoints/best_model.pth
- Download feature-extractor checkpoints and place:
- ckpt/omomo_motiontextmatch
as
ckpt/omomo_motiontextmatch/best.ckpt - ckpt/omomo_moementencoder
as
ckpt/omomo_moementencoder/best.ckpt
Note: omomo_moementencoder follows the current config spelling.
- Download pretrained VAE and ARDHOI place them in ./ckpt/
Run preprocessing scripts (from repository root):
python src/dataloader/hoidataset/prepare/omomo/omomo_file.py
python src/dataloader/hoidataset/prepare/omomo/rescale_obj.pyAfter preprocessing, these should exist:
dataset/omomo/train/*.npydataset/omomo/test/*.npydataset/omomo/Mean.npydataset/omomo/Std.npydataset/omomo/rescaled_objects/*.obj
The pipeline is two-stage:
- train
HOIVAE - train latent AR-diffusion using the trained
HOIVAE
All main hyperparameters are in cfg/diffusion/ardiff_omomo.yaml.
python train/diffusion/train_hoivae_omomo.pyThis creates:
ckpt/<VAE.name>/best.ckptckpt/<VAE.name>/<VAE.name>.yaml
python train/diffusion/train_lardiff_omomo.pyYou can override config values from command line (dotlist style), for example:
python train/diffusion/train_lardiff_omomo.py \Important: if ckpt/<ardiff.name>/<ardiff.name>.yaml already exists, the script
reloads that saved config. Use a new ardiff.name (or remove that folder) if
you want new hyperparameters to take effect.
Run:
python test/eval/eval_ardhoi.pyPrerequisites:
ckpt/<ardiff.name>/last.ckptexists- all dependencies in Sections 2 and 3 are ready
The script evaluates 20 repetitions and prints averaged metrics as a Python
dictionary (including keys such as FID, Diversity, Matching_score,
R_precision_top_k).