Official implementation of "GARD: Geometry-Aware Representation Denoising for Robust Multi-view 3D Reconstruction"
See the codeJin Hyeon Kim1*,
Jaeeun Lee1*,
Claire Kim1,
Kyoungjin Oh1,
Paul Hyunbin Cho1,
Jaewon Min1,
Yeji Choi1,
Jihye Park2,
Hyunhee Park2,
Minkyu Park2,
Seungryong Kim1†
1 KAIST AI · 2 Samsung Electronics
* Equal contribution. † Corresponding author.
Feed-forward multi-view 3D reconstruction models perform well under clean, ideal imaging conditions, but degrade sharply on real-world captures corrupted by motion blur, noise, and other artifacts. GARD (Geometry-Aware Representation Denoising) addresses this by performing diffusion-based multi-view restoration directly in the feature space of a feed-forward 3D reconstruction model (Depth Anything 3), rather than restoring pixels first and reconstructing geometry afterward. By denoising geometry-aware feature representations, GARD recovers accurate scene geometry from degraded multi-view inputs; an accompanying RGB decoder then reconstructs high-quality images from the same denoised representations, enabling the simultaneous recovery of 3D scene geometry and high-quality imagery in a single restoration pass.
This repository provides:
src/gard/GARD.py) and its pretrained checkpoints# clone the GARD repo
git clone https://github.com/cvlab-kaist/GARD.git
# Move inside the GARD repo
cd GARD/
# Set up the environment using uv
uv sync
# Activate the uv environment
source .venv/bin/activate
Download the GARD checkpoints from HuggingFace into ckpts/:
bash download_scripts/gard_ckpt/download_ckpts.sh
| File | Description | Size |
|---|---|---|
ckpts/gard_denoiser.pt | GARD denoiser (DiT with a DDT head) that denoises DA3 feature representations | 5.6G |
ckpts/mae_adapter_giant.pt | RGB decoder that reconstructs high-quality images from the denoised representations | 2.0G |
GARD is evaluated on DA3-BENCH (7-Scenes, DTU, DTU64, ETH3D, HiRoom, ScanNet++) paired with our own synthesized degradations, and on the real-world camera motion blur scenes from DeblurNeRF. The clean DA3-BENCH images are re-downloaded from their official source (please review and comply with each dataset's original license); our synthesized degraded counterpart of DA3-BENCH and a mirror of the DeblurNeRF real captures (the original Google Drive folder download is unreliable at this file count) are hosted on our own HuggingFace dataset.
# downloads the clean + degraded DA3-BENCH images and the real camera motion blur scenes into data/eval/
bash download_scripts/eval_bench/download_eval_data.sh
# evaluate on DA3-BENCH (pose / depth / unposed reconstruction)
bash run_scripts/val/val_GARD_da3_bench.sh
# evaluate on the real-world camera motion blur scenes
bash run_scripts/val/val_GARD_real_bench.sh
Results are written to result_val/GARD_da3_bench/ and result_val/GARD_real_bench/ respectively.
# download hypersim
bash download_scripts/hypersim/download_hypersim.sh
# download tartanair
bash download_scripts/tartanair_tools/download_tartanair.sh
bash run_scripts/train/train_GARD.sh
Trains the GARD denoiser using run_configs/train/train_GARD.yaml — every field (model architecture, loss weights, data/degradation settings, logging, etc.) is documented inline as comments there.
GPU setup: set NUM_GPUS and CUDA (passed through as CUDA_VISIBLE_DEVICES) in run_scripts/train/train_GARD.sh to however many GPUs / which device(s) you want to train on.
@inproceedings{kim2026geometry,
title={Geometry-Aware Representation Denoising for Robust Multi-view 3D Reconstruction},
author={Kim, Jin Hyeon and Lee, Jaeeun and Kim, Claire and Oh, Kyoungjin and Cho, Paul Hyunbin and Min, Jaewon and Choi, Yeji and Park, Jihye and Park, Hyunhee and Park, Minkyu and Kim, Seungryong},
booktitle={Advances in Neural Information Processing Systems (NeurIPS)},
year={2026}
}
We thank the authors of RAE, DepthAnything3, GLD, and Motionblur for their excellent work and code, which served as the foundation for this project.
Official implementation of "GARD: Geometry-Aware Representation Denoising for Robust Multi-view 3D Reconstruction"
See the codeJin Hyeon Kim1*,
Jaeeun Lee1*,
Claire Kim1,
Kyoungjin Oh1,
Paul Hyunbin Cho1,
Jaewon Min1,
Yeji Choi1,
Jihye Park2,
Hyunhee Park2,
Minkyu Park2,
Seungryong Kim1†
1 KAIST AI · 2 Samsung Electronics
* Equal contribution. † Corresponding author.
Feed-forward multi-view 3D reconstruction models perform well under clean, ideal imaging conditions, but degrade sharply on real-world captures corrupted by motion blur, noise, and other artifacts. GARD (Geometry-Aware Representation Denoising) addresses this by performing diffusion-based multi-view restoration directly in the feature space of a feed-forward 3D reconstruction model (Depth Anything 3), rather than restoring pixels first and reconstructing geometry afterward. By denoising geometry-aware feature representations, GARD recovers accurate scene geometry from degraded multi-view inputs; an accompanying RGB decoder then reconstructs high-quality images from the same denoised representations, enabling the simultaneous recovery of 3D scene geometry and high-quality imagery in a single restoration pass.
This repository provides:
src/gard/GARD.py) and its pretrained checkpoints# clone the GARD repo
git clone https://github.com/cvlab-kaist/GARD.git
# Move inside the GARD repo
cd GARD/
# Set up the environment using uv
uv sync
# Activate the uv environment
source .venv/bin/activate
Download the GARD checkpoints from HuggingFace into ckpts/:
bash download_scripts/gard_ckpt/download_ckpts.sh
| File | Description | Size |
|---|---|---|
ckpts/gard_denoiser.pt | GARD denoiser (DiT with a DDT head) that denoises DA3 feature representations | 5.6G |
ckpts/mae_adapter_giant.pt | RGB decoder that reconstructs high-quality images from the denoised representations | 2.0G |
GARD is evaluated on DA3-BENCH (7-Scenes, DTU, DTU64, ETH3D, HiRoom, ScanNet++) paired with our own synthesized degradations, and on the real-world camera motion blur scenes from DeblurNeRF. The clean DA3-BENCH images are re-downloaded from their official source (please review and comply with each dataset's original license); our synthesized degraded counterpart of DA3-BENCH and a mirror of the DeblurNeRF real captures (the original Google Drive folder download is unreliable at this file count) are hosted on our own HuggingFace dataset.
# downloads the clean + degraded DA3-BENCH images and the real camera motion blur scenes into data/eval/
bash download_scripts/eval_bench/download_eval_data.sh
# evaluate on DA3-BENCH (pose / depth / unposed reconstruction)
bash run_scripts/val/val_GARD_da3_bench.sh
# evaluate on the real-world camera motion blur scenes
bash run_scripts/val/val_GARD_real_bench.sh
Results are written to result_val/GARD_da3_bench/ and result_val/GARD_real_bench/ respectively.
# download hypersim
bash download_scripts/hypersim/download_hypersim.sh
# download tartanair
bash download_scripts/tartanair_tools/download_tartanair.sh
bash run_scripts/train/train_GARD.sh
Trains the GARD denoiser using run_configs/train/train_GARD.yaml — every field (model architecture, loss weights, data/degradation settings, logging, etc.) is documented inline as comments there.
GPU setup: set NUM_GPUS and CUDA (passed through as CUDA_VISIBLE_DEVICES) in run_scripts/train/train_GARD.sh to however many GPUs / which device(s) you want to train on.
@inproceedings{kim2026geometry,
title={Geometry-Aware Representation Denoising for Robust Multi-view 3D Reconstruction},
author={Kim, Jin Hyeon and Lee, Jaeeun and Kim, Claire and Oh, Kyoungjin and Cho, Paul Hyunbin and Min, Jaewon and Choi, Yeji and Park, Jihye and Park, Hyunhee and Park, Minkyu and Kim, Seungryong},
booktitle={Advances in Neural Information Processing Systems (NeurIPS)},
year={2026}
}
We thank the authors of RAE, DepthAnything3, GLD, and Motionblur for their excellent work and code, which served as the foundation for this project.