NaamaPearl / nan

17 stars 0 forks source link

NAN: Noise-Aware NeRFs for Burst Denoising

project page | paper

PyTorch implementation of the paper "NAN: Noise-Aware NeRFs for Burst Denoising", CVPR 2022.

NAN: Noise-Aware NeRFs for Burst Denoising Naama Pearl | Tali Treibitz | Simon Korman CVPR, 2022

Our implementation is based on the paper "IBRNet: Learning Multi-View Image-Based Rendering" (CVPR 2021) and their github repository.

Installation

Clone this repository

git clone https://github.com/NaamaPearl/nan 
cd nan/

The code is tested with Python3.9, PyTorch==1.11 and cudatoolkit=11.1 on NIDIA RTX 3090. To create a conda environment compatible with RTX 3090:

conda env create -f environment.yml
conda activate nan

For different platforms, the pytorch installation will probably be different.

Datasets

Please refer to IBRNet for the dataset instruction.

Evaluation

Our checkpoints can be downloaded form https://drive.google.com/file/d/1MFRdNA0Y9yowUEo991GvSjoUr8bYYglm/view, or by using:

cd out
gdown https://drive.google.com/open?id=1MFRdNA0Y9yowUEo991GvSjoUr8bYYglm
unzip reproduce__NAN.zip

For evaluation run

python -m eval.evaluate

This will automatically load eval.yml and run evaluation for all scenes and all noise levels. The checkpoint will be loaded from the path specified in eval.yml

Training

This will train with nan configuration and load automatically train.yml

python train.py 

(IBRNet train with multiple GPUs. The framework for still exists, but we didn't run it.)

Citation


@inproceedings{pearl2022noiseaware,
    title={NAN: Noise-Aware NeRFs for Burst-Denoising},
    author={Pearl, Naama and Treibitz, Tali and Korman, Simon},
    booktitle=CVPR,
    year={2022}
}