OpenImageDenoise

Discussion related to the LuxCore functionality, implementations and API.
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: OpenImageDenoise

Post by Dade »

It is easy to re-enable old behavior (and/or add an option for that):

albedo.jpg

However you end with a lot of noise on Albedo AOV most of the times so you are somewhat back to square one.

I'm thinking to use Oidn to denoise the Albedo AOV pass (!) and than use the result for albedo input to denoise the render. Ut is a bit crazy as idea but it may work.
Support LuxCoreRender project with salts and bounties
provisory
Posts: 235
Joined: Wed Aug 01, 2018 4:26 pm

Re: OpenImageDenoise

Post by provisory »

Volumes also add some noise for albedo, and yet the denoising works pretty good.
Furthermore I hope, that the glass/mirror noise will disappear after a couple 100 passes.

So an option would be very nice.
I'm thinking to use Oidn to denoise the Albedo AOV pass (!) and than use the result for albedo input to denoise the render. Ut is a bit crazy as idea but it may work.
At first, it seemed like a good idea, but I'm afraid, that the fine details of textures would disappear this way.

...Or you thinking about generate two albedo channels: 1.: white for speculars, 2.: reflection/transmission blend for speculars, than denoise the 2nd one with the 1st one set as albedo channel, then use that denoised albedo for the final denoise albedo? :D
User avatar
B.Y.O.B.
Developer
Developer
Posts: 4146
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: OpenImageDenoise

Post by B.Y.O.B. »

Dade wrote: Wed Jun 12, 2019 3:34 pm I'm thinking to use Oidn to denoise the Albedo AOV pass (!) and than use the result for albedo input to denoise the render. Ut is a bit crazy as idea but it may work.
Better test this with the standalone before investing any work, because OIDN cannot denoise arbitrary inputs. I doubt it was trained to denoise albedo AOVs.
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: OpenImageDenoise

Post by Dade »

I added the support for a new ".sharpness" (default value 0.1, range [0.0, 1.0]) Intel OIDN parameter to blend denoised and original output. This is mostly a quality-of-life feature because it is something many people already do in post-processing.

It is somewhat questionable what the default value should be: 0.0 (i.e. 100% denoised) or something more like the current 0.1 (10% original image, 90% denoised) :?:
Support LuxCoreRender project with salts and bounties
User avatar
B.Y.O.B.
Developer
Developer
Posts: 4146
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: OpenImageDenoise

Post by B.Y.O.B. »

I wouldn't call it "sharpness" - it's kinda obfuscating what it really does (I would expect a sharpening filter behind such a name, or even a parameter of OIDN).
Not sure what would be better, but I would call it by its true nature: mixing the denoised with the noisy image.
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: OpenImageDenoise

Post by Dade »

B.Y.O.B. wrote: Mon Mar 02, 2020 10:33 pm I wouldn't call it "sharpness" - it's kinda obfuscating what it really does (I would expect a sharpening filter behind such a name, or even a parameter of OIDN).
Not sure what would be better, but I would call it by its true nature: mixing the denoised with the noisy image.
If someone come out with a better name, we will change it.
Support LuxCoreRender project with salts and bounties
marcatore
Donor
Donor
Posts: 463
Joined: Wed Jan 10, 2018 8:04 am

Re: OpenImageDenoise

Post by marcatore »

"Denoised pass(layer) multiplier (mixer)" ??
zeealpal
Posts: 59
Joined: Wed Jan 10, 2018 12:25 pm

Re: OpenImageDenoise

Post by zeealpal »

Denoised Percentage? Slider from 0 to 100
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: OpenImageDenoise

Post by Dade »

It is the name of a property, something like:

Code: Select all

film.imagepipelines.6.0.type = "INTEL_OIDN"
film.imagepipelines.6.0.oidnmemory = 6000
film.imagepipelines.6.0.sharpness = 0.1
Indeed, it is easier to pick fitting label for Blender.
Support LuxCoreRender project with salts and bounties
juangea
Donor
Donor
Posts: 332
Joined: Thu Jan 02, 2020 6:23 pm

Re: OpenImageDenoise

Post by juangea »

For this I would distirbute the result as follows:

- The final render image: the result of the mix (Denoise Amount for example)
- Noisy Image
- Denoised Image

So in the end if you want to mix things later in post because you change your mind you can, even when at first you got the proper mixed result :)
Post Reply