blender denoiser experiment: subsurface shader

Nikolaus Gradwohl2017-09-11T06:05:41+02:00

I made a new Blender Experiment to explore the possibilities and limits of the new blender denoise function. This time I tested the denoiser on a material using a subsurface shader node in combination with a pretty low sample number, because the subsurface node in a material creates very noisy images and increases render time a lot

Result

you can download the blend file here

blender denoise experiment

Explanation

For this experiment I creatd a simple is-sphere and added a voronoi texture as the displacement texture to make the object a bit more interesting. The material was created using the new cycles Principled BSDF node.

read more ...

microdisplacement denoise test

Nikolaus Gradwohl2017-09-05T05:54:43+02:00

I wanted to test the limits of the new blender denoise function so I used a very detailed texture with lots of sharp edges for microdisplacement.

you can download the blend file here

displacement denoise test

read more ...

blender 2.79 denoise test

Nikolaus Gradwohl2017-08-17T10:34:03+02:00

I used this render to test the new denoise function in blender - I rendered the animation with 24 samples.

you can download the blend file here - to run it you have to use a blender 2.79 build, the denoiser is not available in 2.78.

denoise test

read more ...

denoising blender animations with opencv and python

Nikolaus Gradwohl2017-04-07T05:42:22+02:00

Nikos Priniotakis posted a teaser of a denoising script for blender animations a few months ago, that shows really impressive improvements on a noisy cycles animation (see his original tweet here) I sent some twitter messages back and forth with him and he sent me the links to the opencv denoise function he used for the demo. So I finaly found the time to wirte a short python script that uses pyopencv to denoise all the pictures in a folder and copies it to another folder.

The script I used to denoise my animation is here

import cv2
import os
import numpy as np
from matplotlib import pyplot as plt
files = os.listdir("metabubbles/")
for f in files:
    if f.endswith('.png') and f.startswith('0'):
        print f
        img = cv2.imread("metabubbles/%s" %f);
        dst = cv2.fastNlMeansDenoisingColored(img)
        cv2.imwrite('res/%s' %f, dst);

The denoising process is no magical pixiedust that can be sprinkled on your noisy cycles-renders to fix everything but when used correcly it can improve preview renders a lot, but if the script is used on an image sequence that is too noisy it introduced a whole lot of new artifacts. I used the script on an amiation I rendered last year. Here is how the original video compares to the denoised version.

denoising blender animations

read more ...