Page 4 of 5
Re: destructive denoiser
Posted: Mon Sep 03, 2018 6:27 pm
by lacilaci
B.Y.O.B. wrote: Mon Sep 03, 2018 5:07 pm
Just a reminder: we have added BCD in one of the v2.1alpha releases. Since we are still in 2.1alpha phase, the whole denoiser integration is alpha software, very new and rarely tested.
So the kind of feedback you provide is very valuable, and it is expected that a new feature might not work properly in the alpha or beta phases.
Since we have only integrated BCD, not developed it ourselves, we are not really familiar with the BCD source code and can't say immediately for example how hard it would be to port it to OpenCL to speed it up.
The blurring of dark image areas is also a problem where we would not know immediately where to look in the source code to improve this. Maybe you can ask the original BCD authors about this?
Here is the official BCD repository:
https://github.com/superboubek/bcd/
You can create an issue there. It's probably best if you attach a test case that the BCD authors can easily reproduce.
Ok, good point about alpha stage of the software. I may got carried away too early straight away comparing to cycles and corona.
Looking into the BCD, googling comparisons etc got me thinking that it is actualy working as it is supposed. Which could mean that lowering it's memory consumption and porting it to opencl might solve some issues but it is still not going to help the quality which is not in your control.
So this gets me thinking, are there other options? You don't want nvidias denoiser cause it's nvidia only. So are there some other options to replace BCD and is this even a posibility?
Re: destructive denoiser
Posted: Mon Sep 03, 2018 7:28 pm
by B.Y.O.B.
lacilaci wrote: Mon Sep 03, 2018 6:27 pm
So this gets me thinking, are there other options? You don't want nvidias denoiser cause it's nvidia only. So are there some other options to replace BCD and is this even a posibility?
Well, Dade found the BCD denoiser and linked it in
this thread, and later I tested how difficult it would be to integrate it in LuxCore, found that it was not too complicated, and then we integrated it together.
So it's not like we did an extensive survey on all available denoisers first or something like that.
If you want to help, it would be great to have an overview of what's available (a list of current denoisers).
Then we could evaluate their pros and cons and how difficult it is to integrate them.
By the way, there might be options to improve the BCD results in LuxCore.
For example, one could add a feature to the Sobol sampler: Make it spend more pixels on areas that are destroyed by BCD (e.g. dark shadows). Something like that could be tested.
Re: destructive denoiser
Posted: Mon Sep 03, 2018 7:50 pm
by kintuX
Re: destructive denoiser
Posted: Mon Sep 03, 2018 8:33 pm
by lacilaci
well this is interesting. How it can be better than nvidias denoiser in that case while being worse in luxcore?
I'll try some proper conparisons tomorrow if I find enough time. But I've been using it since it got implemented and don't remember single time havinng issues with it.
Re: destructive denoiser
Posted: Mon Sep 03, 2018 8:49 pm
by lacilaci
B.Y.O.B. wrote: Mon Sep 03, 2018 7:28 pm
lacilaci wrote: Mon Sep 03, 2018 6:27 pm
So this gets me thinking, are there other options? You don't want nvidias denoiser cause it's nvidia only. So are there some other options to replace BCD and is this even a posibility?
Well, Dade found the BCD denoiser and linked it in
this thread, and later I tested how difficult it would be to integrate it in LuxCore, found that it was not too complicated, and then we integrated it together.
So it's not like we did an extensive survey on all available denoisers first or something like that.
If you want to help, it would be great to have an overview of what's available (a list of current denoisers).
Then we could evaluate their pros and cons and how difficult it is to integrate them.
By the way, there might be options to improve the BCD results in LuxCore.
For example, one could add a feature to the Sobol sampler: Make it spend more pixels on areas that are destroyed by BCD (e.g. dark shadows). Something like that could be tested.
Yeah, if there is a chance somehow make it better it would be great. But I don't think the problem is shadows themselves, I keep mentioning it cause it's the hardest area to render until it's defined enough. I don't mind bluring shadows and lighting. The problem is edges of objects and textures aren't preserved.
Maybe having some extra passes like Albedo to preserve color information and mask texture details combined maybe with shading normals to preserve material features, object edges and whatnot could be used as some extra control for BCD. Those passes could be done within few samples so overall low sample count wouldn't really be a big deal.
Cycles is somehow able to make up details in a render where clearly are none for example. So there is surely some extra data that make sure textures, edges and corners are clean unless sampling is way too low.
Re: destructive denoiser
Posted: Tue Sep 04, 2018 12:06 am
by B.Y.O.B.
Are you sure?
The linked paper does not have much to do with BCD from what I can see (although it also has "Bayesian" in the title).
However it also looks interesting, if you want you can make a post about it in the
CGI Tech News Box thread.
Re: destructive denoiser
Posted: Tue Sep 04, 2018 6:42 am
by lacilaci
Alright.. so, somewhat quick and dirty and basic test.
All renderers were set to path tracing only and cpu only and rendering was running for 20sec.
All denoisers were set to default settings.
On all engines I set clamping at 20 (Although it surely means something different in each of them).
Corona denoiser rather than destroying any detail, leaves a little bit of noise
Cycles gets rid of all noise but since input was too noisy it does also introduce some artifacts, the detail preservation is still great and that's what's important.
Luxcore BCD result I won't comment, slow and in all tests so far it never improved render.
In next image is luxcore+nvidia denoising and even though there wasn't an albedo aov(since there is none in luxcore) and no normal aov. It somehow still is capable producing very neat result(relatively, considering the crappy input).
So I say, if there is a possibility to properly implement nvidia denoising(which could surely do even much better than using 8bit .jpg beauty pass only) it would be great to have it. At least until a better denoiser takes it's place or BCD evolves a bit.
Re: destructive denoiser
Posted: Tue Sep 04, 2018 9:11 am
by Dade
Sharlybg wrote: Mon Sep 03, 2018 10:16 am
I really have the feeling your luxcore denoiser settings are too agressive !
Have you tried to use less aggressive settings as suggested by Sharlybg ?
Re: destructive denoiser
Posted: Tue Sep 04, 2018 9:21 am
by lacilaci
Dade wrote: Tue Sep 04, 2018 9:11 am
Sharlybg wrote: Mon Sep 03, 2018 10:16 am
I really have the feeling your luxcore denoiser settings are too agressive !
Have you tried to use less aggressive settings as suggested by Sharlybg ?
Yes, it's less blur more blotchines vs more blur. Details are gone anyway unless you render for ages and apply denoising to an almost clean render
Re: destructive denoiser
Posted: Tue Sep 04, 2018 9:54 am
by Sharlybg
Yes, it's less blur more blotchines vs more blur. Details are gone anyway unless you render for ages and apply denoising to an almost clean render
please if i don't ask to much can you post your result with less aggressive setting or post a simple blend file with a specified halt condition an render resolution. so we can do our test for comparison.