Randomize Noise

Leonides02Leonides02 Posts: 1,379
edited February 2017 in Daz Studio Discussion

Hi All,

Is there a way to get iRay to randomize the seed for a different noise pattern? I've tried rendering different frames of the timeline, but that doesn't seem to do it. 

I'm experimenting with different denoising software, but it won't work at all if the noise pattern is always the same. 

 

Post edited by Leonides02 on

Comments

  • nicsttnicstt Posts: 11,714

    It would be help, as combining two renders with different seeds could be used to eliminate speckles (noise).

  • Leonides02Leonides02 Posts: 1,379

    Exactly. But I can't figure out a way to use different seeds. Iray seems to stick with one seed, which seems ridiculous.

  • ToborTobor Posts: 2,300

    This doesn't work because Iray doesn't use a fully randomized ray path collection. It follows a set algorithm to reduce wasting time in resampling the same paths more than it needs to. In fact, this is something they work on constantly, as they attempt to speed up the process while improving the end-point convergence ratio. This blog talks about how Iray 2016.2 is actually slower in reaching X iterations, but with better convergence so the scene is declared "done" sooner.

    http://blog.irayrender.com/post/150402147761/iterations-and-sample-counts-vs-convergence-speed

    Underconverged pixels and fireflies aren't noise, but predictable artifacts of the iterative ray tracing scheme. Even if Iray could "randomize" its ray hit sequence, combining two underconverged images wouldn't eliminate "noise" any more than combining two blemished photos produces a perfect one. Whatever software used to combine the image doesn't know how to interpret the blemishes -- comparing two unequal pixels just indicates they aren't the same, but two or three samples doesn't help in determining which one is correct. This is what Iray is doing internally during convergence estimates, but it uses many, many iterations to determine when pixels are completed.

    This Wiki page generally summarizes how Iray computes convergence, a process that requires hundreds or thousands of iterations, depending on the scene dynamics (the exact algorothm they use is, I believe, a trade secret):

    https://en.wikipedia.org/wiki/Iterative_method

  • Leonides02Leonides02 Posts: 1,379
    Tobor said:

    This doesn't work because Iray doesn't use a fully randomized ray path collection. It follows a set algorithm to reduce wasting time in resampling the same paths more than it needs to. In fact, this is something they work on constantly, as they attempt to speed up the process while improving the end-point convergence ratio. This blog talks about how Iray 2016.2 is actually slower in reaching X iterations, but with better convergence so the scene is declared "done" sooner.

    http://blog.irayrender.com/post/150402147761/iterations-and-sample-counts-vs-convergence-speed

    Underconverged pixels and fireflies aren't noise, but predictable artifacts of the iterative ray tracing scheme. Even if Iray could "randomize" its ray hit sequence, combining two underconverged images wouldn't eliminate "noise" any more than combining two blemished photos produces a perfect one. Whatever software used to combine the image doesn't know how to interpret the blemishes -- comparing two unequal pixels just indicates they aren't the same, but two or three samples doesn't help in determining which one is correct. This is what Iray is doing internally during convergence estimates, but it uses many, many iterations to determine when pixels are completed.

    This Wiki page generally summarizes how Iray computes convergence, a process that requires hundreds or thousands of iterations, depending on the scene dynamics (the exact algorothm they use is, I believe, a trade secret):

    https://en.wikipedia.org/wiki/Iterative_method

    Thanks for the explanation, Tobor.

    However, there is software that shows extremely good denoising results by combining images. The best that I know of (and have used) is Altus:

    https://www.innobright.com/

     

    It works with DAZ, but only if I use Octane. Unfortunately, I've grown disenchanted with Octane because it can't read MDL. 

  • ToborTobor Posts: 2,300

    Yes, but these (at least in the case with Altus) requires additional passes, rather than multiple "noisy" versions of the beauty pass. My interpretation of some of the Iray blogs and posts suggest Iray is internally doing something along these lines already. Some users here noted the speed improvements with the D|S 4.9 release that apparently incorporates Iray 2016.2.

    Iray doesn't have an prenamed albedo canvas, per se, but these named canvases are just shortcuts to standard light path expressions. Variations are possible. Can you create your own LPEs to get what you need for Altus?

     

  • hphoenixhphoenix Posts: 1,335

    Iray noise patterns (Perlin, Flow, Worley, etc.) are not random.  They are specifically designed to be random in appearance, but to be deterministic based on ALL the parameters they use.  To simulate a different random seed, you need to expose (and modify) the parameters (octaves, offsets, etc.) in the shader.

     

     

  • algovincianalgovincian Posts: 2,576

    Exactly. But I can't figure out a way to use different seeds. Iray seems to stick with one seed, which seems ridiculous.

    I've experimented with this already, and there are ways to trigger a new seed. For example, you can render at a different resolution. Doing so, combined with a larger camera FOV (smaller focal length) and some cropping will do the trick.

    My experience is that it can yield useful results when combining 2 really quick renders (few iterations). I found that extending the idea further didn't yield results that were useful. How you combine the resulting passes is crucial. It was an interesting study that, for me, shed some light on why certain Iray renders never seem to converge/resolve to be as smooth (noiseless) as I'd like.

    It will mitigate fireflies, too. This didn't really interest me, though, as I've written routines to get rid fireflies. Rendering smooth volumetrics is what I'm after.

    - Greg

     

  • Leonides02Leonides02 Posts: 1,379

    Thanks, Greg. I will give that a shot!

  • I just render a lot bigger add blur and resize doing animation, still images you tend to see more though

Sign In or Register to comment.