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 »

alpistinho wrote: Sun Feb 03, 2019 11:12 pm I have opened the PR since I will have little time to look into this during the week and don't want to delay you for so little
Ok, thanks, I have added the support for ALBEDO/AVG_SHADING_NORMAL. This is a result:

COMP-128.png

And this is a comparison between BCD and Oidn at 64spp, 128spp and 512 samples per pixel:

COMP-3x3.png
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. »

Dade wrote: Mon Feb 04, 2019 10:57 am Ok, thanks, I have added the support for ALBEDO/AVG_SHADING_NORMAL. This is a result:
This looks much better than in my tests with average shading normal. I think I made a mistake when saving the EXR, Blender probably applied some kind of color transformation.
Dade wrote: Mon Feb 04, 2019 10:57 am And this is a comparison between BCD and Oidn at 64spp, 128spp and 512 samples per pixel:
At 512 samples they look nearly equal, however BCD completely blurs away the fine cracks in the wall.
I wonder how good OIDN fares vs. BCD when objects are behind glass or seen through a mirror.
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 Feb 04, 2019 11:10 am At 512 samples they look nearly equal, however BCD completely blurs away the fine cracks in the wall.
I wonder how good OIDN fares vs. BCD when objects are behind glass or seen through a mirror.
It is hard to say, we need a lot more renderings, time will tell. Oidn is a clear winner at low samples count but, at higher SPP, it may be a draw. BCD has also the not marginal side effect of requiring a LOT of ram for high resolution images.

Anyway the integration of Oidn took 1% of the time required by BCD.
Support LuxCoreRender project with salts and bounties
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: OpenImageDenoise

Post by lacilaci »

Dade wrote: Mon Feb 04, 2019 10:57 am
alpistinho wrote: Sun Feb 03, 2019 11:12 pm I have opened the PR since I will have little time to look into this during the week and don't want to delay you for so little
Ok, thanks, I have added the support for ALBEDO/AVG_SHADING_NORMAL. This is a result:


COMP-128.png


And this is a comparison between BCD and Oidn at 64spp, 128spp and 512 samples per pixel:


COMP-3x3.png
This is wrong.
Are you sure hdr mode is on?

In your examples 64SPP oidn looks very wrong.

I just did same with command line oidn and its super clean!!

EDIT: I just realized you have different 64SPP result in raw vs oidn image and different in the 3x3 collage
Attachments
beauty.jpg
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: OpenImageDenoise

Post by Dade »

lacilaci wrote: Mon Feb 04, 2019 11:21 am EDIT: I just realized you have different 64SPP result in raw vs oidn image and different in the 3x3 collage
One is a rendering at 108x1080 and the other is at 540x540. What do you mean ?
Support LuxCoreRender project with salts and bounties
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: OpenImageDenoise

Post by Dade »

Dade wrote: Mon Feb 04, 2019 11:27 am
lacilaci wrote: Mon Feb 04, 2019 11:21 am EDIT: I just realized you have different 64SPP result in raw vs oidn image and different in the 3x3 collage
One is a rendering at 108x1080 and the other is at 540x540. What do you mean ?
May be, Oidin suffers of too cluttered details :idea:
Support LuxCoreRender project with salts and bounties
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: OpenImageDenoise

Post by lacilaci »

Dade wrote: Mon Feb 04, 2019 11:27 am
lacilaci wrote: Mon Feb 04, 2019 11:21 am EDIT: I just realized you have different 64SPP result in raw vs oidn image and different in the 3x3 collage
One is a rendering at 108x1080 and the other is at 540x540. What do you mean ?
the small one seems to have some weird or non-denoised areas, that's what got me confused, cause the raw/oidn compraison looks correct. But if it was rendered in 540x540 it may be due to low resolution so details are poorly defined.
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: OpenImageDenoise

Post by Dade »

lacilaci wrote: Mon Feb 04, 2019 11:31 am
Dade wrote: Mon Feb 04, 2019 11:27 am
lacilaci wrote: Mon Feb 04, 2019 11:21 am EDIT: I just realized you have different 64SPP result in raw vs oidn image and different in the 3x3 collage
One is a rendering at 108x1080 and the other is at 540x540. What do you mean ?
the small one seems to have some weird or non-denoised areas, that's what got me confused, cause the raw/oidn compraison looks correct. But if it was rendered in 540x540 it may be due to low resolution so details are poorly defined.
Yes, if Odin (or anything else) produces artifacts of fixed pixel size, cutting in half the resolution, "double" the perceive size of the artifacts. But this is true in general, not just for Oidn.
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. »

Initial support in BlendLuxCore is done. Some UI polishing might follow in the future.
OIDN is the new default denoiser, but you can switch back to BCD.
epilectrolytics
Donor
Donor
Posts: 790
Joined: Thu Oct 04, 2018 6:06 am

Re: OpenImageDenoise

Post by epilectrolytics »

B.Y.O.B. wrote: Mon Feb 04, 2019 11:10 am I wonder how good OIDN fares vs. BCD when objects are behind glass or seen through a mirror.
Why not render a "deep albedo" like I suggested earlier with this example (right part is the albedo image):

Image

When a pixel shows a non-diffuse material (reflective or refractive), trace the ray until a diffuse or emissive surface is hit.
I would not do this for rough surfaces though because that would require sampling and increase render time for the AOV pass, also OIDN blurring on blurred detail won't be noticeable.
Post Reply