Skip to content
BuTTerK3ksPublic

About

Official EMVSNet implementation for evidential uncertainty modeling in multi-view stereo and 3D reconstruction.

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

EMVSNet

Code release for EMVSNet (evidential multi-view stereo), with training, depth inference, uncertainty estimation, and depth-map fusion.


News: EMVSNet has been presented at the ISPRS 2026 Toronto Congress.


This repository includes:

  • core model/training code (train.py, models/)
  • inference and uncertainty export (eval.py, evaluation/)
  • depth map fusion to point clouds (fusion.py, fusion_padding.py)
  • optional Docker workflows for reproducible/cloud runs

Quick Start (Local)

1) Environment

conda create -n emvsnet python=3.9 -y
conda activate emvsnet
pip install --upgrade pip
pip install -r requirements.txt

2) Dataset path

Set your DTU root once (expected structure: $TRAINPATH/<scan folders> from the DTU preprocessing used by this repo):

export TRAINPATH=/path/to/mvs_training/dtu

You can also edit env.sh and reuse shell scripts from scripts/.

3) Download Checkpoints

https://huggingface.co/BuTTerK3ks/EMVSNet

3) Train (single GPU)

python train.py \
  --dataset dtu_yao \
  --trainpath "$TRAINPATH" \
  --trainlist lists/dtu/train.txt \
  --vallist lists/dtu/val.txt \
  --testlist lists/dtu/test.txt \
  --batch_size 1 \
  --epochs 1 \
  --view_num 5 \
  --numdepth 128 \
  --interval_scale 1.06 \
  --image_scale 0.25 \
  --lr 0.001 \
  --optimizer adam \
  --evidential_method der \
  --logdir ./checkpoints/quickstart

4) Evaluate depth + uncertainty maps

python eval.py \
  --dataset data_eval_transform \
  --testpath "$TRAINPATH" \
  --testlist lists/dtu/test.txt \
  --batch_size 1 \
  --numdepth 256 \
  --interval_scale 1.0 \
  --image_scale 1.0 \
  --view_num 7 \
  --loadckpt /path/to/model.ckpt \
  --outdir ./outputs_dtu \
  --evidential_method der

5) Fuse depth maps to point cloud

python fusion.py \
  --testpath "$TRAINPATH" \
  --testlist lists/dtu/test.txt \
  --outdir ./outputs_dtu \
  --test_dataset dtu

Optional: Docker Workflow

Use Docker if you want a reproducible runtime or cloud deployment. Local setup above remains the recommended development path.

Build

docker build -t emvsnet:latest .

Run (single command)

Host data directory should be mounted to /workspace/data, with DTU at /workspace/data/mvs_training/dtu.

docker run --gpus all --rm -it \
  -v /path/to/host_data:/workspace/data:ro \
  -v /path/to/host_output:/workspace/output \
  emvsnet:latest \
  python train.py \
    --dataset dtu_yao \
    --trainpath /workspace/data/mvs_training/dtu \
    --trainlist lists/dtu/train.txt \
    --vallist lists/dtu/val.txt \
    --testlist lists/dtu/test.txt \
    --batch_size 1 \
    --epochs 1 \
    --view_num 5 \
    --numdepth 128 \
    --interval_scale 1.06 \
    --image_scale 0.25 \
    --lr 0.001 \
    --optimizer adam \
    --evidential_method der \
    --logdir /workspace/output/checkpoints/quickstart

Docker Compose

cp docker.env.example docker.env
# edit docker.env (HOST_DATA_PATH and OUTPUT_PATH)
docker compose up -d
docker compose logs -f

Repository Commands

Helpful script entry points:

  • scripts/train_dtu.sh
  • scripts/train_dtu_ddp.sh
  • scripts/eval_dtu.sh
  • scripts/fusion_dtu.sh
  • scripts/eval_tnt.sh
  • scripts/fusion_tnt.sh

Citation

Please cite the EMVSNet paper if you use this codebase:

@inproceedings{grannemann2026emvsnet,
  title={EMVSNet: Evidential Multi-View Stereo Reconstruction for Sampling-free Depth and Uncertainty Estimation},
  author={Grannemann, Christian and Mehltretter, Max},
  journal={ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences},
  volume={11},
  pages={259--267},
  year={2026},
  publisher={Copernicus GmbH}
}

Acknowledgements

This project builds on AA-RMVSNet and its open-source PyTorch implementation.
Our evidential uncertainty components are also inspired in part by ELFNet.
We thank the original authors and maintainers for making their work publicly available.

License

Released under the MIT License. See LICENSE.

About

Official EMVSNet implementation for evidential uncertainty modeling in multi-view stereo and 3D reconstruction.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages