Code release for the paper "ShowMak3r: Compositional TV Show Reconstruction" (CVPR 2025)
89
stars
6
commits
Python
primary language
May 29, 2026
updated
TL;DR We reconstruct dynamic radiance fields from TV shows, enabling editing of the scenes like how video clips are made in a production control room.
First clone ShowMak3r repository.
# clone repo
git clone https://github.com/nstar1125/ShowMak3r.git --recursive
cd ShowMak3r
Next, follow INSTALL.md to set up all Conda environments.
To run ShowMak3r, data must be placed like the following directory. Download demo data from https://drive.google.com/drive/folders/1FyspKVDX5W8pqBXh7m1un_QAqY-m9LFI?usp=sharing, and place them under 'demo'.
<video_name>
├── background
│ ├── images
│ │ ├── <bg_img_1>.png
│ │ └── ...
│ └── masks #optional
│ ├── <bg_img_1>.png
│ └── ...
└── video
├── mask_<video_name>.mp4 #optional
└── <video_name>.mp4
After setting up the data directory, run the provided preprocessing script as following:
# preprocessing overall
bash scripts/run_prep.sh {DATA_NAME} {GPUS}
or
# preprocessing background, and video files
python -m scripts.prep.prep_stage --data {DATA_NAME} --gpus {GPUS}
python -m scripts.prep.prep_video --data {DATA_NAME} --gpus {GPUS}
python -m scripts.prep.prep_composite --data {DATA_NAME} --gpus {GPUS}
For detailed instructions, follow PREP.md.
To run ShowMak3r, follow the commands below in order.
# train 3D stage
bash scripts/train_stage.sh {DATA_NAME} {GPU}
# position actor SMPLs
bash scripts/train_position.sh {DATA_NAME} {GPU}
# train Custom Diffusion model
bash scripts/train_diffusion.sh {DATA_NAME} {GPU}
# train 3D actors
bash scripts/train_actor.sh {DATA_NAME} {EXP_NAME} {GPU}
After training 3D stage, you can visualize the static stage with Viser API by running the script below.
# visualize 3D stage
bash scripts/test_stage.sh {DATA_NAME} {GPU}
After positioning actor SMPLs, you can visualize aligned actor SMPLs and the stage point cloud with Viser API by running the script below.
# visualize SMPLs and the stage point cloud
bash scripts/test_position.sh {DATA_NAME} {GPU}
After training 3D actors, you can edit or visualize 4D scene with Viser API by running the script below.
# visualize 4D scene
bash scripts/test_actor.sh {DATA_NAME} {EXP_NAME} {GPU}
Our code is mainly based on 'Guess The Unseen: Dynamic 3D Scene Reconstruction from Partial 2D Glimpses (CVPR 2024)'.
These are the codes we referenced for our project. Check out their awesome works if you are intereseted.
If you find our repo useful for your research, please consider citing our paper:
@article{kim2025showmak3r,
author = {Kim, Sangmin and Do, Seunguk and Park, Jaesik},
title = {ShowMak3r: Compositional TV Show Reconstruction},
journal = {CVPR},
year = {2025}
}
6 commits
Python
99.4%
Code release for the paper "ShowMak3r: Compositional TV Show Reconstruction" (CVPR 2025)
89
stars
6
commits
Python
primary language
May 29, 2026
updated
TL;DR We reconstruct dynamic radiance fields from TV shows, enabling editing of the scenes like how video clips are made in a production control room.
First clone ShowMak3r repository.
# clone repo
git clone https://github.com/nstar1125/ShowMak3r.git --recursive
cd ShowMak3r
Next, follow INSTALL.md to set up all Conda environments.
To run ShowMak3r, data must be placed like the following directory. Download demo data from https://drive.google.com/drive/folders/1FyspKVDX5W8pqBXh7m1un_QAqY-m9LFI?usp=sharing, and place them under 'demo'.
<video_name>
├── background
│ ├── images
│ │ ├── <bg_img_1>.png
│ │ └── ...
│ └── masks #optional
│ ├── <bg_img_1>.png
│ └── ...
└── video
├── mask_<video_name>.mp4 #optional
└── <video_name>.mp4
After setting up the data directory, run the provided preprocessing script as following:
# preprocessing overall
bash scripts/run_prep.sh {DATA_NAME} {GPUS}
or
# preprocessing background, and video files
python -m scripts.prep.prep_stage --data {DATA_NAME} --gpus {GPUS}
python -m scripts.prep.prep_video --data {DATA_NAME} --gpus {GPUS}
python -m scripts.prep.prep_composite --data {DATA_NAME} --gpus {GPUS}
For detailed instructions, follow PREP.md.
To run ShowMak3r, follow the commands below in order.
# train 3D stage
bash scripts/train_stage.sh {DATA_NAME} {GPU}
# position actor SMPLs
bash scripts/train_position.sh {DATA_NAME} {GPU}
# train Custom Diffusion model
bash scripts/train_diffusion.sh {DATA_NAME} {GPU}
# train 3D actors
bash scripts/train_actor.sh {DATA_NAME} {EXP_NAME} {GPU}
After training 3D stage, you can visualize the static stage with Viser API by running the script below.
# visualize 3D stage
bash scripts/test_stage.sh {DATA_NAME} {GPU}
After positioning actor SMPLs, you can visualize aligned actor SMPLs and the stage point cloud with Viser API by running the script below.
# visualize SMPLs and the stage point cloud
bash scripts/test_position.sh {DATA_NAME} {GPU}
After training 3D actors, you can edit or visualize 4D scene with Viser API by running the script below.
# visualize 4D scene
bash scripts/test_actor.sh {DATA_NAME} {EXP_NAME} {GPU}
Our code is mainly based on 'Guess The Unseen: Dynamic 3D Scene Reconstruction from Partial 2D Glimpses (CVPR 2024)'.
These are the codes we referenced for our project. Check out their awesome works if you are intereseted.
If you find our repo useful for your research, please consider citing our paper:
@article{kim2025showmak3r,
author = {Kim, Sangmin and Do, Seunguk and Park, Jaesik},
title = {ShowMak3r: Compositional TV Show Reconstruction},
journal = {CVPR},
year = {2025}
}
6 commits
Python
99.4%