Jonghee Back, Binh-Son Hua, Toshiya Hachisuka, Bochang Moon
This code is the official implementation of SIGGRAPH 2022 paper, Self-Supervised Post-Correction for Monte Carlo Denoising. For more detailed information, please refer to our project page or other materials as below:
We have tested the code on Ubuntu 20.04 with NVIDIA GeForce RTX 3090 graphics card, and we have additionally checked that this code works well on the following graphics cards: NVIDIA GeForce RTX 3060, TITAN RTX, Quadro RTX 8000.
We highly recommend running this code through Docker and Nvidia-docker on Ubuntu. Please refer to the detailed instruction for the installation of Docker and Nvidia-docker.
Please use run_docker.sh
to build a docker file with Dockerfile
and run it.
In order to run the provided post-correction codes, you can proceed in the following order:
- Prepare image buffers in
data
folder. - Check configuration setting in
main.py
. - Run
main.py
with arguments regarding a test scene.
If you have modified CUDA code in custom_op
folder, please build the op library using build_custom_op.sh
to update post_correction_lib.so
file.
Please run this command for the provided example data as follows:
python main.py --scene dragon --spp 128 --deno afgsa
The example data consists of input-denoised pairs with auxiliary features rendered by PBRT-V3. We provide four test scenes (bathroom, hair, dragon and sanmiguel) with three different Monte Carlo denoisers (Kernel-Predicting Convolutional Networks for Denoising Monte Carlo Renderings (KPCN), Adversarial Monte Carlo Denoising with Conditioned Auxiliary Feature Modulation (AMCD) and Monte Carlo Denoising via Auxiliary Feature Guided Self-Attention (AFGSA)). The example data can be available here:
After downloading and unziping the data, please place it in data
folder.
All source codes are released under a BSD License.
@inproceedings{Back22,
author = {Back, Jonghee and Hua, Binh-Son and Hachisuka, Toshiya and Moon, Bochang},
title = {Self-Supervised Post-Correction for Monte Carlo Denoising},
year = {2022},
isbn = {9781450393379},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3528233.3530730},
doi = {10.1145/3528233.3530730},
booktitle = {ACM SIGGRAPH 2022 Conference Proceedings},
articleno = {18},
numpages = {8},
keywords = {self-supervised denoising, self-supervised learning, self-supervised loss, Monte Carlo denoising},
location = {Vancouver, BC, Canada},
series = {SIGGRAPH '22}
}
If there are any questions, issues or comments, please feel free to send an e-mail to jongheeback@gm.gist.ac.kr.
We have used EXR I/O functionalities (exr.py
in codes/image_io
) from Kernel-Predicting Convolutional Networks for Denoising Monte Carlo Renderings (KPCN) project.