Tiled OIDN Denoising

Discussion related to the LuxCore functionality, implementations and API.
CodeHD
Donor
Donor
Posts: 437
Joined: Tue Dec 11, 2018 12:38 pm
Location: Germany

Re: Tiled OIDN Denoising

Post by CodeHD »

Oh, nice to see them adopting it :)

No we don't use 128 pixels, I wrote 50 into it. But then again, we do the overlapping with a ramp function to avoid the seam. You didn't write it in your posts there, so I don't know if Attila is aware of it? (I will write a comment there.)

I never noticed any seams in my tests, certainly nothing that would be noticable for an artistic output.
In any case I'm not sure it can be done quite so easily, since usually we don't denoise images that are multiples of 128 pixels in each dimension. You can probably have each tile start at a multiple of 128 from one side. It would add some more processing time.

In the very early tests I did I also noticed that the first row or column (it was then striped denoising) always ended up exactly the same as the full image denoise. But I never investiagted further if that could be used becaues it seemed like the difference was so tiny.
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Tiled OIDN Denoising

Post by Dade »

Intel Oidn v1.0 has been released, with tile denoising and more.
Support LuxCoreRender project with salts and bounties
kintuX
Posts: 809
Joined: Wed Jan 10, 2018 2:37 am

Re: Tiled OIDN Denoising

Post by kintuX »

Dade wrote: Mon Jul 29, 2019 9:25 pm Intel Oidn v1.0 has been released, with tile denoising and more.
Wohowww :D Thanks for the notice!
CodeHD
Donor
Donor
Posts: 437
Joined: Tue Dec 11, 2018 12:38 pm
Location: Germany

Re: Tiled OIDN Denoising

Post by CodeHD »

Their implementation of tiled denoising now exposes it with a "max. memory" input, which is nice so we can now directly expose it as a memory setting instead of number of pixels.
I could give it a try later this week, should be easy enough to implement as far as I see it. Just need to rename the tile size paramter and add one line to the old, non-tiled implementation :lol:
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Tiled OIDN Denoising

Post by Dade »

CodeHD wrote: Tue Jul 30, 2019 11:25 am I could give it a try later this week
Sure :!:
Support LuxCoreRender project with salts and bounties
CodeHD
Donor
Donor
Posts: 437
Joined: Tue Dec 11, 2018 12:38 pm
Location: Germany

Re: Tiled OIDN Denoising

Post by CodeHD »

Ok, I downloaded it today and tried it out. Worked directly, so no broken dependencies or something (I didn't try Blender viewport denoise yet). The change in the code was as easy as I thought.

From a first quick test on the LuxMarkHotel @4K and 20 samples, there is a visible difference between the output from v1.0 and v0.9. The new one looks sharper, but at 20 samples the scene is still quite noisy. I will let a 1000 samples reference render over night and post some more details then.

There is still a numerically measurable difference between a denoising limited to 1GB and non-tiled, but it is a lot smaller than before.

In terms of performance, not much seems to have changed. The non-tiled execution took the same time and memory.
CodeHD
Donor
Donor
Posts: 437
Joined: Tue Dec 11, 2018 12:38 pm
Location: Germany

Re: Tiled OIDN Denoising

Post by CodeHD »

Some test images can be found here:

https://owncloud.gwdg.de/index.php/s/mkgXCBpkoQF0Egz

I only denoised the 16 sample image with OIDN v0.9 for comparison now.

As I said before, the behaviour changed a bit, especially at low samples I noticed some color differences between 0.9 and 1.0 in this scene. I don't know if for the better or for the worse, but I suggest people using it to denoise low-sample videos should test the current performance.

Otherwise I noticed no problems, so I would clean out the code and make a pull request.

Anyone who wants to test it now, just download the new OIDN binaries and replace them. In Blender, set the "Tile Size" setting for OIDN to something large like 16000 to use the new default 6GB memory limit.
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Tiled OIDN Denoising

Post by Dade »

I merged CodeHD's patch and now all versions use Intel Oidn v1.0.
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: Tiled OIDN Denoising

Post by Dade »

Intel Oidn v1.1.0 has been released: https://github.com/OpenImageDenoise/oid ... tag/v1.1.0

Nothing new particularly interesting for us.
Support LuxCoreRender project with salts and bounties
Post Reply