Convergence AOV

Use this forum for general user support and related questions.
Forum rules
Please upload a testscene that allows developers to reproduce the problem, and attach some images.
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Convergence AOV

Post by lacilaci »

In tooltip it says higher value = more noise low values = less noise.

But during rendering it shows lights and bright almost clean areas as bright/high values in convergence aov and low light very noisy areas are almost not present in the aov.

Is this correct? Is this aov used to control sampling? If yes doesn't it mean that adaptivity is actually focusing more on bright areas??

Sorry if this is some sort of basic question but I've seen little to no effect of adaptivity while toying around with adaptivity values and teststep and warmup samples + noise treshold.

EDIT:

To test how it works I did a very isolated test on a simple scene, used high noise threshold (20) 16 warmup and 16 test step samples. And rendered a region.

I'm getting worse (noisier in dark areas) and slower (about 25%) results with 0.95 than 0.0 adaptivity. I though a value of 0.95 is too heavy so tried a value of 0.5 and got a little faster rendering but dark areas weren't as clean as with 0.0. And it's the same story with default value of 0.7

I suspect adaptivity actualy favors bright areas more even if less noisy(visibly).

EDIT2:

Toying more with all the values I am sure high adaptivity definitely hurt dark/shadow and noisy areas. If the convergence aov is used to weight sampling focus, can it maybe be inverted? Or can we find another way to force adaptivity more in the dark areas?
User avatar
alpistinho
Developer
Developer
Posts: 198
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: Convergence AOV

Post by alpistinho »

Hi,

Maybe you have already found this, but the adaptative sampling behavior is described here: viewtopic.php?f=5&t=83

It seems that the sampler uses the convergence value as a metric to know which pixels should be more sampled than the other. How exactly this convergence is calculated for a pixel and why this might undersample the darker areas is a bit beyond me.
Support LuxCoreRender project with salts and bounties
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: Convergence AOV

Post by lacilaci »

alpistinho wrote: Sun Nov 04, 2018 11:48 am Hi,

Maybe you have already found this, but the adaptative sampling behavior is described here: viewtopic.php?f=5&t=83

It seems that the sampler uses the convergence value as a metric to know which pixels should be more sampled than the other. How exactly this convergence is calculated for a pixel and why this might undersample the darker areas is a bit beyond me.
What I'm saying, is that it seems like adaptivity is focusing on bright areas in the image. I have not seen a case where convergence aov would show me noise in low lit/shadowy areas.

The examples in the thread you linked here are also all displaying how adaptivity works on examples with bright areas/noise and caustics.
In practice though. With a good denoiser and clamping, you don't really care as much on a little noise in bright areas as you would on a lot of noise that usually comes from indirect lighting and is present in shadows.

Clamping doesn't help here much, if convergence aov is showing me(with bright areas) where adaptivity focuses. Then I think adaptivity will not be helpful in many cases, other than caustics.

And in all tests so far the lower adaptivity I use the faster and less noisy results I get (granted, I dont' use caustics which is the only case where I think it would help)
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Convergence AOV

Post by Dade »

alpistinho wrote: Sun Nov 04, 2018 11:48 am It seems that the sampler uses the convergence value as a metric to know which pixels should be more sampled than the other. How exactly this convergence is calculated for a pixel and why this might undersample the darker areas is a bit beyond me.
It is difference between pixel luminance values at pass X and pass X+Y (where Y is the convergence test step and can be something like 128). If this value is under the convergence threshold, the AOV pixel will be black otherwise it will have the value of the luminance difference.

Yes, brighter pixels usually have an higher luminace values (i.e. => higher variance => higher noise) but it is supposed to be the correct behavior.

As you see, convergence threshold is a cut off value and can erase a lot of details if it is too high.
Support LuxCoreRender project with salts and bounties
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: Convergence AOV

Post by lacilaci »

Dade wrote: Sun Nov 04, 2018 12:27 pm
alpistinho wrote: Sun Nov 04, 2018 11:48 am It seems that the sampler uses the convergence value as a metric to know which pixels should be more sampled than the other. How exactly this convergence is calculated for a pixel and why this might undersample the darker areas is a bit beyond me.
It is difference between pixel luminance values at pass X and pass X+Y (where Y is the convergence test step and can be something like 128). If this value is under the convergence threshold, the AOV pixel will be black otherwise it will have the value of the luminance difference.

Yes, brighter pixels usually have an higher luminace values (i.e. => higher variance => higher noise) but it is supposed to be the correct behavior.

As you see, convergence threshold is a cut off value and can erase a lot of details if it is too high.
well, if we look at original 32bit output values you probably get more noise in high luminance values. But as I look at tonemapped image after filmic tonemapping applied I don't see much noise in bright areas but a lot in darker ones.

As a result low, or no adaptivity seems to produce cleaner results in tests I did so far. So for me as a simple user this feature appears to be pretty contraproductive to use.
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Convergence AOV

Post by Dade »

lacilaci wrote: Sun Nov 04, 2018 12:55 pm well, if we look at original 32bit output values you probably get more noise in high luminance values. But as I look at tonemapped image after filmic tonemapping applied I don't see much noise in bright areas but a lot in darker ones.
Convergence test is done in HDR, well before running the image pipeline or any type of Blender post-processing.
Support LuxCoreRender project with salts and bounties
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: Convergence AOV

Post by lacilaci »

Dade wrote: Sun Nov 04, 2018 4:27 pm
lacilaci wrote: Sun Nov 04, 2018 12:55 pm well, if we look at original 32bit output values you probably get more noise in high luminance values. But as I look at tonemapped image after filmic tonemapping applied I don't see much noise in bright areas but a lot in darker ones.
Convergence test is done in HDR, well before running the image pipeline or any type of Blender post-processing.
But that's my point. Noise in very high ranges doesn't matter if after tonemapping it's all just white. No?
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: Convergence AOV

Post by lacilaci »

Maybe if the whole adaptivity could be weighted to focus on darker areas..? Is this unreasonable thinking?
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Convergence AOV

Post by Dade »

lacilaci wrote: Sun Nov 04, 2018 7:44 pm Maybe if the whole adaptivity could be weighted to focus on darker areas..?
Like I wrote before, convergence evaluation is done directly on the rendering result (before tone mapping, gamma correction, denoising, etc). The rendering result is than run trough image pipeline at the end of the rendering or when you need to refresh the screen. Running the image pipeline all the times I need to evaluate the convergence is not practical: for instance, think to run the denoiser all the times :!:
Support LuxCoreRender project with salts and bounties
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

ADAPTIVITY

Post by lacilaci »

Ok, let's try something different...

I want to render, go into settings and see adaptivity, read the tooltip and it says that higher values focus on more noisy areas. So I enable it and get what's in attachment.
(default noise threshold and 64warmup and 64test step samples, 60 sec rendering giving roughly 700 samples - more adaptivity more noise :!: )
Attachments
adaptivity.jpg
Post Reply