WarpRF: Multi-View Consistency for Training-Free Uncertainty Quantification and Applications in Radiance Fields
Official implementation of: "WarpRF: Multi-View Consistency for Training-Free Uncertainty Quantification and Applications in Radiance Fields" Accepted at WACV 2026
by Sadra Safadoust, Fabio Tosi, Fatma Güney, and Matteo Poggi
WarpRF introduces a training-free uncertainty quantification framework for radiance fields by leveraging multi-view consistency. It does not require modifiying the internal strucutre of the radiance fields, making it compatible with a wide range of representations such as 3D Gaussian Splatting (3DGS), NeRF, SVRaster, and more. Additionally, it requires no changes to the training procedure, allowing it to be applied directly to trained radiance fields. This repository provides the implementation for 3DGS experiments, with code for NeRF and SVRaster experiments coming soon.
Clone our repository with submodules:
git clone git@github.com:sadrasafa/WarpRF.git --recursiveCreate a conda environment and install the requirements:
conda create -n warprf python=3.10
conda activate warprf
pip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt
pip install --no-build-isolation submodules/diff-gaussian-rasterization/
pip install --no-build-isolation submodules/simple-knn/
pip install --no-build-isolation -e ./diff/ -vPossible Installation Issues
We have tested the code using the specified package versions. However, you may need to install PyTorch with the CUDA version that is compatible with your system.
If you encounter the following error:
simple_knn.cu(90): error: identifier "FLT_MAX" is undefined
add the line
#include <float.h>
to submodules/simple-knn/simple_knn.cu to resolve the issue.
Download the MipNeRF360 and NeRF-Synthetic datasets and place them in your preferred data directory.
Use the scripts/active_*.sh files to run the active view selection with 3DGS experiments.
# active view selection on MipNeRF360
bash scripts/active_mipnerf.sh [PATH_TO_SCENE] [OUTPUT_DIR]
# active view selection on NeRF-Synthetic with 20 views
bash scripts/active_blender20.sh [PATH_TO_SCENE] [OUTPUT_DIR]
# active view selection on NeRF-Synthetic with 10 views
bash scripts/active_blender10.sh [PATH_TO_SCENE] [OUTPUT_DIR] Download the ETH3D. We only need the undistorted jpg images and the undistorted depths. Note that only ground-truth depth that match the distorted images are provided, therefore they need to be undistorted given the camera parameters. (see here). To match our train/val split, download and unzip the split files from here.
Download the ScanNet++ dataset. We use the DSLR data for the following scenes:
27dd4da69e, 3864514494, 5eb31827b7, 8b5caf3398, 8d563fc2cc, b20a261fdf.
Follow the instructions at Official ScanNet++ Toolkit to render depth and then undistort the images and depths. Note that the provided undistortion script only undistorts the images, however it can be easily extended to undistort depths too (e.g., check this). Also, it saves the camera intrinsics for the undistorted pinhole camera in the nerfstudio's json format, so make sure to update the camera parameters in the colmap format (cameras.txt) accordingly as well. To match our train/val split, download and unzip the split files from here.
Expected Directory Structure
At the end you should have the following directory structure:
├── [DATASET-NAME]
├── [SCENE-NAME]
├── split.json
├── images
├── depths
├── sparse
├── 0
├── cameras.txt
├── images.txt
├── points3D.txt
Use the scripts/ause_*.sh files to run uncertainty quantification with 3DGS experiments.
# uncertainty quantification on ETH3D
bash scripts/ause_ETH3D.sh [PATH_TO_SCENE] [OUTPUT_DIR]
# uncertainty quantification on ScanNet++
bash scripts/ause_scannetpp.sh [PATH_TO_SCENE] [OUTPUT_DIR]If you find our work useful in your research, please consider citing:
@inproceedings{safadoust2026warprf,
title={WarpRF: Multi-View Consistency for Training-Free Uncertainty Quantification and Applications in Radiance Fields},
author={Safadoust, Sadra and Tosi, Fabio and G{\"u}ney, Fatma and Poggi, Matteo},
booktitle={Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision},
year={2026}
}This project builds heavily on FisherRF and 3D Gaussian Splatting. We are grateful to the authors for making their code publicly available.