Announcement

Collapse
No announcement yet.

Biased vs Unbiased

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Biased vs Unbiased

    Because this comes up every now and again, I've decided to put this short text together and make it sticky. If you have any questions, please let me know.

    In theory, an unbiased method for computing an integral (in this case the rendering equation) is method that, if you run it multiple times on the same input data (3D scene), will give you, on average, the correct result (final image), even though each individual result may be quite wrong by itself (f.e. noisy). This means that if you run the algorithm sufficiently many times and average the result, you will get a correct final image. You can imagine this as the multiple passes that the progressive sampler of V-Ray makes through the image to clean up the noise. Each individual pass is quite noisy, but when a sufficiently large number of them are averaged together, you get a final clean result.

    There are no commercial renderers today that are truly unbiased in this theoretical sense. Maxwell, Arnold, Corona, V-Ray all take shortcuts to get you a usable image in a practical time frame, which makes their results biased. The shortcuts that are taken are various - f.e. suppressing light paths that cause fireflies, or limiting the number of GI bounces, or limiting the maximum ray intensity, or using some kind of GI caching, or truncating reflection/refraction rays with low contribution, or limiting the types of light paths that are calculated (i.e. ignoring GI caustics). Practically all renderers today employ a combination of these biased techniques to get you a final image.

    From then on, the term "unbiased" has been somewhat corrupted in practical use. People tend to associate it with these two properties of a renderer:

    a) Lack of GI caching, and by (wrong) association, lack of flickering and blotches; and to a lesser extent
    b) Progressive rendering, where the image is calculated in passes, rather than in buckets;

    However, the presence of these features in a renderer does not make it unbiased in a theoretical sense. Also, people tend to associate GI caching with flickering and blotches, but this is not necessarily the case. F.e. the light cache in V-Ray and the UHD cache in Corona are biased GI caching techniques, but they usually produce low or minimal flickering (although both can be made to flicker depending on the scene).

    Some examples of renderers that people have become to think of as "unbiased", but which are actually biased:
    *) Maxwell may suppress some lighting contributions (mostly caustics) in order to make the image cleaner with low number of samples;
    *) Arnold has a limitation on the number of bounces; it doesn't do caustics by default and modifies scene materials depending on the number of reflection bounces in order to reduce the noise;
    *) Corona includes a number of biased techniques: it truncates the maximum ray intensity, limits the number of GI bounces, and uses GI caching;
    *) V-Ray can do a number of things too, including GI caching, truncating of maximum ray intensity, and others.

    From then on, most users associate the term "unbiased" with a renderer that simply doesn't do any sort of GI caching. Let's call such renderers "user unbiased". All of the above renderers can be put in a mode that makes them "user unbiased":
    *) Maxwell is such a renderer as it doesn't use GI caching;
    *) Arnold is such a renderer as it doesn't use GI caching;
    *) Corona can be put in such a mode by selecting "path tracing+path tracing" mode;
    *) V-Ray can be put in such a mode by selecting "brute force+brute force" GI.

    However, the fact that a renderer is "user unbiased" does not mean that it produces correct images in terms of GI. F.e. Maxwell will still suppress some light paths that produce fireflies; Arnold still does only a few light bounces and ignores GI caustics; Corona will still truncate ray intensity to reduce fireflies and will still do only a limited number of light bounces; V-Ray will still do only the specified number of bounces and may truncate ray intensity, among others. Most of these renderers have user-adjustable parameters that allow to control these errors in the GI solution so you can get images with various levels of correctness.

    Best regards,
    Vlado
    Last edited by vlado; 23-10-2015, 06:45 AM.
    I only act like I know everything, Rogers.

  • #2
    Thanks for the post Vlado.
    Last edited by jasonhuang1115; 22-10-2015, 09:45 AM.
    always curious...

    Comment


    • #3
      This is great to know Vlado. Thanks!
      It's kind of embarrassing to know that I was wrong the whole time
      Guido.

      Comment


      • #4
        the only unbiased renderer out there is real world
        Dmitry Vinnik
        Silhouette Images Inc.
        ShowReel:
        https://www.youtube.com/watch?v=qxSJlvSwAhA
        https://www.linkedin.com/in/dmitry-v...-identity-name

        Comment


        • #5
          Thanks Vlado,

          Now maybe you should create such a text about the term "Real Time"!

          __________________________________________
          www.strob.net

          Explosion & smoke I did with PhoenixFD
          Little Antman
          See Iron Baby and other of my models on Turbosquid!
          Some RnD involving PhoenixFD

          Comment


          • #6
            For me, the most missing feature to get a "un-biased" look and feel in vray are the reflect/refract caustics that are calculated on the fly at render-time.
            Caustics as they are implemented now are unusable in production. Having it working with a sphere and two light is nice as proof of concept, though.

            Stan
            3LP Team

            Comment


            • #7
              Originally posted by 3LP View Post
              For me, the most missing feature to get a "un-biased" look and feel in vray are the reflect/refract caustics that are calculated on the fly at render-time.
              There is a reason that no render engine has solved the issue efficiently Of the ones mentioned above, Maxwell is the only one that renders some of the full caustics, but even it suppresses the ones that are difficult to compute. All the others truncate the caustics to various extents.

              Best regards,
              Vlado
              I only act like I know everything, Rogers.

              Comment


              • #8
                I understand, but I'm more than happy to have a biased solution if it looks "un-biased"

                What I try to say is that I'm more than happy to have some of the complex one truncated but at least have something. ATM, the caustics as they are implemented aren't usable, and the fake caustics aren't really doing the trick for me.

                Stan
                3LP Team

                Comment


                • #9
                  Originally posted by 3LP View Post
                  What I try to say is that I'm more than happy to have some of the complex one truncated but at least have something. ATM, the caustics as they are implemented aren't usable, and the fake caustics aren't really doing the trick for me.
                  <shrug> I'm sure that a solution will present itself sooner or later...

                  Best regards,
                  Vlado
                  I only act like I know everything, Rogers.

                  Comment


                  • #10
                    I'm sure you'll find something when the time is right

                    Stan
                    3LP Team

                    Comment


                    • #11


                      "Unbiased" is being hardly commercialized nowadays !
                      Available for remote work.
                      My LinkedIn: https://www.linkedin.com/in/olegbudeanu/

                      Comment


                      • #12
                        Well said Vlado thanks a lot for this!
                        I especially like the first few paragraphs of the text
                        Martin
                        http://www.pixelbox.cz

                        Comment


                        • #13
                          Thanks Alot it's clear now i was so wrong

                          Comment


                          • #14
                            Originally posted by 3LP View Post
                            I understand, but I'm more than happy to have a biased solution if it looks "un-biased"

                            What I try to say is that I'm more than happy to have some of the complex one truncated but at least have something. ATM, the caustics as they are implemented aren't usable, and the fake caustics aren't really doing the trick for me.

                            Stan
                            I'd think you'd find some joy in having a go at Mitsuba Renderer, a GNU project from that genius which is Wenzel Jakob.
                            There, you can play to your heart's content will all of the more advanced, fringe, path tracing techniques, tweaking them to the last of obscure parameters.
                            There are a number of different integrators which build on a number of different, seminal techniques, to trace caustic paths specifically.
                            Two things are worth noticing:
                            a) all the techniques are complementary: none alone will resolve all paths correctly, and efficiently (while nearly all will converge to a correct image given enough time, enough being near infinite in cases.).
                            b) None of those has performance even marginally resembling that which commercial renderers sport: it is correctly labelled as a research project, and as such it can experiment with whatever it pleases, and comment quite unbiasedly on each of the techniques employed (debatable his technical judgements as they may or may not be, he isn't tied to a politically or commercially correct opinion about them)

                            I can't fathom what users of commercial software would do if they were given tools which worked decently enough nearly half of the times, if one's lucky.
                            To then be told that hey, just give it another two weeks, and it'll get brighter where it's dark.

                            Now, not ALL rendering is what Mitsuba shows, but i can't think of any approach currently available (even on paper alone) which turns the problem into an easily solvable one.

                            https://www.mitsuba-renderer.org/
                            Lele
                            Trouble Stirrer in RnD @ Chaos
                            ----------------------
                            emanuele.lecchi@chaos.com

                            Disclaimer:
                            The views and opinions expressed here are my own and do not represent those of Chaos Group, unless otherwise stated.

                            Comment


                            • #15
                              that scarf though!

                              Comment

                              Working...
                              X