destructive denoiser

Use this forum for general user support and related questions.
Forum rules
Please upload a testscene that allows developers to reproduce the problem, and attach some images.
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: destructive denoiser

Post 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?
User avatar
B.Y.O.B.
Developer
Developer
Posts: 4146
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: destructive denoiser

Post 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.
kintuX
Posts: 810
Joined: Wed Jan 10, 2018 2:37 am

Re: destructive denoiser

Post by kintuX »

User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: destructive denoiser

Post by lacilaci »

kintuX wrote: Mon Sep 03, 2018 7:50 pm Corona uses BCD ;)
Check latest paper: Bayesian online regression for adaptive direct illumination sampling
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.
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: destructive denoiser

Post 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.
User avatar
B.Y.O.B.
Developer
Developer
Posts: 4146
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: destructive denoiser

Post by B.Y.O.B. »

kintuX wrote: Mon Sep 03, 2018 7:50 pm Corona uses BCD ;)
Check latest paper: Bayesian online regression for adaptive direct illumination sampling
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.
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: destructive denoiser

Post 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.
Attachments
denoising_c_c_l.jpg
luxcore_nvidia.jpg
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: destructive denoiser

Post 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 ?
Support LuxCoreRender project with salts and bounties
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: destructive denoiser

Post 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
User avatar
Sharlybg
Donor
Donor
Posts: 3101
Joined: Mon Dec 04, 2017 10:11 pm
Location: Ivory Coast

Re: destructive denoiser

Post 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.
Support LuxCoreRender project with salts and bounties

Portfolio : https://www.behance.net/DRAVIA
Post Reply