Page MenuHome

Denoising produces a lot of artifacts when a low neighbor weighting value is used
Closed, InvalidPublic

Description

System Information
Win10 64 bit; 24 gigs RAM; third-gen i7 CPU; AMD 7xxx GPU (Crimson ReLive drivers)

Blender Version
Broken: hash 6cd1d34
Worked: never

Short description of error
When using a low neighbor weighting value like 0.2 (the second of the two feature weight fields), the denoising algorithm used by Cycles will appear to leave a lot of pixels unprocessed or only partially-processed (creating something akin to .jpeg compression artifacts). I don't know if you will tell me to just leave the fields at their default values, but many scenes require a low value for the second one or otherwise a lot of edges and small details will get blurred over (especially details that are only visible through reflections and glass and especially any details in more dimly lit areas).

Exact steps for others to reproduce the error
Open the .blend file and render the scene.

.blend

Details

Type
Bug

Event Timeline

To give a good reason why this issue should be fixed (as opposed to just telling people not to lower the weight value below 0.5), take a look at the following image.

As you can see, the reflection of the robot is far sharper when the value is lowered to 0.2 (but at the cost of the issue mentioned here). I can get those details nice and sharp with far less samples as a result. This is required if the denoiser is to live up to its potential as a dramatic accelerator of rendertimes (up to 4x or more).

I'd like to fix that, but this is just a basic tradeoff in the denoising algorithm - if you allow fairly different-looking areas to be combined, the result will be smooth. If you only use pixel blocks that look similar, you get nicer reflections etc., but since the denoiser can't use as much information, other areas are still a bit noisy.

One approach that could help here is even-odd-buffer denoising followed by residual variance estimation and a combined reconstruction, but that is a lot slower, takes more memory and might have a negative influence on other scenes.

So, while this is an area that needs further improvement, it's not really a bug (I mean, noisy results from regular Cycles aren't really a bug either).