Page 3 of 4

Re: Convergence AOV

Posted: Fri Nov 16, 2018 10:51 pm
by FarbigeWelt
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.
🍻

Simulation of Smoothing Filter Output, Pdf

Posted: Sat Nov 17, 2018 3:11 pm
by FarbigeWelt
Simulation of Smoothing Filter Output, MT FarbigeWelt, 2018, Nov.zip
Simulation of Smoothing Filter Output, MT FarbigeWelt, 2018, Nov
(427.01 KiB) Downloaded 168 times

Re: Convergence AOV

Posted: Mon Nov 19, 2018 8:11 pm
by FarbigeWelt
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.

Simulation of Filter Algorithm, 2D

Posted: Tue Nov 20, 2018 7:55 am
by FarbigeWelt
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
Simulation of Filter Algorithm, 2D

Re: Convergence AOV

Posted: Tue Nov 20, 2018 8:56 am
by B.Y.O.B.
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)

Re: Convergence AOV

Posted: Tue Nov 20, 2018 9:15 am
by FarbigeWelt
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.

Re: Convergence AOV

Posted: Mon Nov 26, 2018 12:45 pm
by FarbigeWelt
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.

Re: Convergence AOV

Posted: Mon Nov 26, 2018 1:08 pm
by B.Y.O.B.
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.

Re: Convergence AOV

Posted: Mon Nov 26, 2018 2:20 pm
by lacilaci
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.

Re: Convergence AOV

Posted: Mon Nov 26, 2018 2:24 pm
by B.Y.O.B.
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?