Convergence AOV

Use this forum for general user support and related questions.
User avatar
FarbigeWelt
Posts: 344
Joined: Sun Jul 01, 2018 12:07 pm
Location: Switzerland
Contact:

Re: Convergence AOV

Post by FarbigeWelt » Fri Nov 16, 2018 10:51 pm

Finally,
I found an approach to reduce noise and limit impact of fireflies in a quite practical manner. After a few further tests I‘ll send Dade my simple numeric simulation, with the math and conditions to check if implementation in LuxCore is feasible.
🍻
Microsoft Windows 10 Professional, intel i7 4770K, 32 GB, AMD R9 290x 4 GB, AMD R9 390x 8 GB
Instagrammer, please join #luxcorerender for your renderings.

User avatar
FarbigeWelt
Posts: 344
Joined: Sun Jul 01, 2018 12:07 pm
Location: Switzerland
Contact:

Simulation of Smoothing Filter Output, Pdf

Post by FarbigeWelt » Sat Nov 17, 2018 3:11 pm

Simulation of Smoothing Filter Output, MT FarbigeWelt, 2018, Nov.zip
Simulation of Smoothing Filter Output, MT FarbigeWelt, 2018, Nov
(427.01 KiB) Downloaded 7 times
Microsoft Windows 10 Professional, intel i7 4770K, 32 GB, AMD R9 290x 4 GB, AMD R9 390x 8 GB
Instagrammer, please join #luxcorerender for your renderings.

User avatar
FarbigeWelt
Posts: 344
Joined: Sun Jul 01, 2018 12:07 pm
Location: Switzerland
Contact:

Re: Convergence AOV

Post by FarbigeWelt » Mon Nov 19, 2018 8:11 pm

Yet I found 2D post or frequently applicable pretty fast algorithm with adjustable parameters removing most fireflies and noise. I will post some pictures of the simulation soon. This time 2D.
Microsoft Windows 10 Professional, intel i7 4770K, 32 GB, AMD R9 290x 4 GB, AMD R9 390x 8 GB
Instagrammer, please join #luxcorerender for your renderings.

User avatar
FarbigeWelt
Posts: 344
Joined: Sun Jul 01, 2018 12:07 pm
Location: Switzerland
Contact:

Simulation of Filter Algorithm, 2D

Post by FarbigeWelt » Tue Nov 20, 2018 7:55 am

Acutally to remove a part of noise and to remove one pixel size fireflies without directly neighboured fireflies, filtering with math function median is fast and reliable and might be one of the better solution if fast rendering is required.
Simulation of Filter Algorithm, 2D.png
Simulation of Filter Algorithm, 2D
Microsoft Windows 10 Professional, intel i7 4770K, 32 GB, AMD R9 290x 4 GB, AMD R9 390x 8 GB
Instagrammer, please join #luxcorerender for your renderings.

User avatar
B.Y.O.B.
Developer
Posts: 1806
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: Convergence AOV

Post by B.Y.O.B. » Tue Nov 20, 2018 8:56 am

I have tried a median filter in the past (I even wrote an imagepipeline plugin for it), but it falls apart once you feed it a normal scene.
It destroys texture detail and creates unacceptable blur.
I'm not saying it couldn't be improved with some additional logic/thresholds/feature detection or so, but the naive median filter I tried was not usable.

By the way, if you want to play around with this in an imagepipeline plugin, here's a tutorial how to write one:
https://wiki.luxcorerender.org/Writing_ ... ine_Plugin
(it assumes you have medium good C++ skills)
Support LuxCoreRender project with salts and bounties

User avatar
FarbigeWelt
Posts: 344
Joined: Sun Jul 01, 2018 12:07 pm
Location: Switzerland
Contact:

Re: Convergence AOV

Post by FarbigeWelt » Tue Nov 20, 2018 9:15 am

B.Y.O.B. wrote:
Tue Nov 20, 2018 8:56 am
I have tried a median filter in the past (I even wrote an imagepipeline plugin for it), but it falls apart once you feed it a normal scene.
It destroys texture detail and creates unacceptable blur.
I'm not saying it couldn't be improved with some additional logic/thresholds/feature detection or so, but the naive median filter I tried was not usable.

By the way, if you want to play around with this in an imagepipeline plugin, here's a tutorial how to write one:
https://wiki.luxcorerender.org/Writing_ ... ine_Plugin
(it assumes you have medium good C++ skills)
Many thanks for the fast feedback. I guessed I will run into some issues with teal images and with stadard median. This is why I did not use median first.
Because adaption of median needs code I will try the imagepipeline plugin. I expect my c++ skills should be appropriate. But it will take some time to get into a new framework. Let’s see.
Microsoft Windows 10 Professional, intel i7 4770K, 32 GB, AMD R9 290x 4 GB, AMD R9 390x 8 GB
Instagrammer, please join #luxcorerender for your renderings.

User avatar
FarbigeWelt
Posts: 344
Joined: Sun Jul 01, 2018 12:07 pm
Location: Switzerland
Contact:

Re: Convergence AOV

Post by FarbigeWelt » Mon Nov 26, 2018 12:45 pm

The deeper I dig into topic noise the more I appreciate the work of LuxCore developers‘ team.

If considering only the information available in a noisy image it looks rather impossible to get rid of low level high frequency noise, whereas single pixel uneighboured fireflies can be easy replaced by surrounding colors.
Microsoft Windows 10 Professional, intel i7 4770K, 32 GB, AMD R9 290x 4 GB, AMD R9 390x 8 GB
Instagrammer, please join #luxcorerender for your renderings.

User avatar
B.Y.O.B.
Developer
Posts: 1806
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: Convergence AOV

Post by B.Y.O.B. » Mon Nov 26, 2018 1:08 pm

FarbigeWelt wrote:
Mon Nov 26, 2018 12:45 pm
whereas single pixel uneighboured fireflies can be easy replaced by surrounding colors.
Yes, but once they begin clumping together it's getting messy.
Support LuxCoreRender project with salts and bounties

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

Re: Convergence AOV

Post by lacilaci » Mon Nov 26, 2018 2:20 pm

I'm recently also observing that a lot of low light noise can be avoided by using much higher path depth for diffuse and glossy. Does it really help much to have it by default at 4? I find that too low and hard to reach areas get a ton of noise.

Also, low values for warmup and step samples give me noisy result while renderer ends soon telling me that it converged at 100% How can it consider rendering done when it's noisy? How can low values "8" for warmup and test step affect what is considered noisy? When clearly the image is far from clean? Btw when I uncheck blur convergence aov I get even more noise. I really don't think that this is whole adaptivity works as it should.
Last edited by lacilaci on Mon Nov 26, 2018 2:25 pm, edited 1 time in total.

User avatar
B.Y.O.B.
Developer
Posts: 1806
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: Convergence AOV

Post by B.Y.O.B. » Mon Nov 26, 2018 2:24 pm

lacilaci wrote:
Mon Nov 26, 2018 2:20 pm
I'm recently also observing that a lot of low light noise can be avoided by using much higher path depth for diffuse and glossy. Does it really help much to have it by default at 4? I find that too low and hard to reach areas get a ton of noise
Might have something to do with russian roulette depth (which is not exposed in the addon).
https://wiki.luxcorerender.org/LuxCore_ ... PATHCPU.22
Maybe we could optimize this - Dade, can you help? :)

@lacilaci, could you post an example scene that shows this behaviour?
Support LuxCoreRender project with salts and bounties

Post Reply