GSeanCDAT/PoseFuse3D-KI

[NeurIPS 2025] Controllable Human-centric Keyframe Interpolation with Generative Prior

33

stars

4

commits

Python

primary language

Mar 31, 2026

updated

README

Controllable Human-centric Keyframe Interpolation with Generative Prior

1S-Lab, Nanyang Technological University, 2SenseTime Research
NeurIPS 2025

We introduce PoseFuse3D Keyframe Interpolator (PoseFuse3D-KI), a novel framework that integrates 3D human guidance signals into the diffusion process for Controllable Human-centric Keyframe Interpolation (CHKI).

:open_book: For more visual results of PoseFuse3D-KI, go checkout our project page.


🚩 News

  • 2026.03.31: πŸ“¦ Dataset and smplx linear interpolator are released!
  • 2025.12.31: πŸš€ Inference code and model checkpoints are released!
  • 2025.09.17: πŸŽ‰ PoseFuse3D-KI has been accepted by NeurIPS 2025!

βš™οΈ Installation

# Create a conda environment
conda create -n pf3d python=3.10 -y
conda activate pf3d

# Install PyTorch
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1

# Install dependencies
pip install -r requirements.txt

πŸ“‚ Preparation

  1. SMPL-X Models: Download the SMPL-X body models and place them in ./data/smplx_files/smplx.
  2. Checkpoints: Download our model checkpoints and place them in the ./ckpt directory.
  3. Dataset: See data.md for dataset download links, data format details, and citation guidelines.

The expected file structure should be as follows:

PoseFuse3D-KI/
β”œβ”€β”€ ckpt/ 
β”‚   β”œβ”€β”€ pf3d/
β”‚   β”‚   β”œβ”€β”€ control_model.safetensors
β”‚   β”‚   └── pytorch_lora_weights.safetensors
β”‚   └── pf3d_flf2v/
β”‚       β”œβ”€β”€ control_model.safetensors
β”‚       └── pytorch_lora_weights.safetensors
β”œβ”€β”€ data/
β”‚   └── smplx_files/
β”‚       └── smplx/ 
β”‚           β”œβ”€β”€ MANO_SMPLX_vertex_ids.pkl
β”‚           β”œβ”€β”€ SMPL-X__FLAME_vertex_ids.npy
β”‚           β”œβ”€β”€ SMPLX_NEUTRAL.pkl
β”‚           β”œβ”€β”€ SMPLX_to_J14.pkl
β”‚           β”œβ”€β”€ SMPLX_NEUTRAL.npz
β”‚           β”œβ”€β”€ SMPLX_MALE.npz
β”‚           └── SMPLX_FEMALE.npz

πŸš€ Demo

We provide two interpolation examples in the ./examples directory. The structure of an example is as follows:

PoseFuse3D-KI/
└── examples/
    └── example1/
        β”œβ”€β”€ frames/
        β”‚   β”œβ”€β”€ frame_0000.png      # First keyframe
        β”‚   └── frame_0024.png      # Last keyframe
        β”œβ”€β”€ pose/
        β”‚   β”œβ”€β”€ frame_0000.png      # 2D pose guidance
        β”‚   └── ...
        └── smplx_ann/              # 3D SMPL-X annotations
            β”œβ”€β”€ img_cs/
            β”œβ”€β”€ meta/
            └── smplx/

To run the interpolation demo, use the following command:

# Standard interpolation
sh demo.sh

# Interpolation with FLF2V 
sh demo_flf2v.sh

The results will be saved in ./examples/example1/output.

πŸ“ Citation

If you find our work useful for your research, please consider citing:

@inproceedings{guo2025controllable,
    title={Controllable Human-centric Keyframe Interpolation with Generative Prior},
    author={Guo, Zujin and Wu, Size and Cai, Zhongang and Li, Wei and Loy, Chen Change},
    booktitle={Advances in Neural Information Processing Systems},
    year={2025}
}

Contributors

GSeanCDAT

4 commits

GSeanCDAT/PoseFuse3D-KI

[NeurIPS 2025] Controllable Human-centric Keyframe Interpolation with Generative Prior

33

stars

4

commits

Python

primary language

Mar 31, 2026

updated

README

Controllable Human-centric Keyframe Interpolation with Generative Prior

1S-Lab, Nanyang Technological University, 2SenseTime Research
NeurIPS 2025

We introduce PoseFuse3D Keyframe Interpolator (PoseFuse3D-KI), a novel framework that integrates 3D human guidance signals into the diffusion process for Controllable Human-centric Keyframe Interpolation (CHKI).

:open_book: For more visual results of PoseFuse3D-KI, go checkout our project page.


🚩 News

  • 2026.03.31: πŸ“¦ Dataset and smplx linear interpolator are released!
  • 2025.12.31: πŸš€ Inference code and model checkpoints are released!
  • 2025.09.17: πŸŽ‰ PoseFuse3D-KI has been accepted by NeurIPS 2025!

βš™οΈ Installation

# Create a conda environment
conda create -n pf3d python=3.10 -y
conda activate pf3d

# Install PyTorch
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1

# Install dependencies
pip install -r requirements.txt

πŸ“‚ Preparation

  1. SMPL-X Models: Download the SMPL-X body models and place them in ./data/smplx_files/smplx.
  2. Checkpoints: Download our model checkpoints and place them in the ./ckpt directory.
  3. Dataset: See data.md for dataset download links, data format details, and citation guidelines.

The expected file structure should be as follows:

PoseFuse3D-KI/
β”œβ”€β”€ ckpt/ 
β”‚   β”œβ”€β”€ pf3d/
β”‚   β”‚   β”œβ”€β”€ control_model.safetensors
β”‚   β”‚   └── pytorch_lora_weights.safetensors
β”‚   └── pf3d_flf2v/
β”‚       β”œβ”€β”€ control_model.safetensors
β”‚       └── pytorch_lora_weights.safetensors
β”œβ”€β”€ data/
β”‚   └── smplx_files/
β”‚       └── smplx/ 
β”‚           β”œβ”€β”€ MANO_SMPLX_vertex_ids.pkl
β”‚           β”œβ”€β”€ SMPL-X__FLAME_vertex_ids.npy
β”‚           β”œβ”€β”€ SMPLX_NEUTRAL.pkl
β”‚           β”œβ”€β”€ SMPLX_to_J14.pkl
β”‚           β”œβ”€β”€ SMPLX_NEUTRAL.npz
β”‚           β”œβ”€β”€ SMPLX_MALE.npz
β”‚           └── SMPLX_FEMALE.npz

πŸš€ Demo

We provide two interpolation examples in the ./examples directory. The structure of an example is as follows:

PoseFuse3D-KI/
└── examples/
    └── example1/
        β”œβ”€β”€ frames/
        β”‚   β”œβ”€β”€ frame_0000.png      # First keyframe
        β”‚   └── frame_0024.png      # Last keyframe
        β”œβ”€β”€ pose/
        β”‚   β”œβ”€β”€ frame_0000.png      # 2D pose guidance
        β”‚   └── ...
        └── smplx_ann/              # 3D SMPL-X annotations
            β”œβ”€β”€ img_cs/
            β”œβ”€β”€ meta/
            └── smplx/

To run the interpolation demo, use the following command:

# Standard interpolation
sh demo.sh

# Interpolation with FLF2V 
sh demo_flf2v.sh

The results will be saved in ./examples/example1/output.

πŸ“ Citation

If you find our work useful for your research, please consider citing:

@inproceedings{guo2025controllable,
    title={Controllable Human-centric Keyframe Interpolation with Generative Prior},
    author={Guo, Zujin and Wu, Size and Cai, Zhongang and Li, Wei and Loy, Chen Change},
    booktitle={Advances in Neural Information Processing Systems},
    year={2025}
}

Contributors

GSeanCDAT

4 commits

Languages

Python

100.0%