OpenImageDenoise

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

Re: OpenImageDenoise

Post by Dade » Wed Jun 12, 2019 3:34 pm

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: 227
Joined: Wed Aug 01, 2018 4:26 pm

Re: OpenImageDenoise

Post by provisory » Wed Jun 12, 2019 4:15 pm

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
Posts: 3337
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: OpenImageDenoise

Post by B.Y.O.B. » Wed Jun 12, 2019 4:24 pm

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
Posts: 3881
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: OpenImageDenoise

Post by Dade » Mon Mar 02, 2020 12:48 pm

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
Posts: 3337
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: OpenImageDenoise

Post by B.Y.O.B. » 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.

User avatar
Dade
Developer
Posts: 3881
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: OpenImageDenoise

Post by Dade » Mon Mar 02, 2020 10:59 pm

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
Posts: 395
Joined: Wed Jan 10, 2018 8:04 am

Re: OpenImageDenoise

Post by marcatore » Tue Mar 03, 2020 7:31 am

"Denoised pass(layer) multiplier (mixer)" ??

zeealpal
Posts: 24
Joined: Wed Jan 10, 2018 12:25 pm

Re: OpenImageDenoise

Post by zeealpal » Tue Mar 03, 2020 7:53 am

Denoised Percentage? Slider from 0 to 100

User avatar
Dade
Developer
Posts: 3881
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: OpenImageDenoise

Post by Dade » Tue Mar 03, 2020 10:08 am

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
Posts: 104
Joined: Thu Jan 02, 2020 6:23 pm

Re: OpenImageDenoise

Post by juangea » Tue Mar 03, 2020 10:10 am

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