Denoiser

 

 

There are two denoising options available for rendering with Arnold.

OptiX Denoiser
Arnold Denoiser

 

OptiX Denoiser 

The OptiX denoiser is meant to be used during IPR (so that you get a very quickly denoised image as you're moving the camera and making other adjustments). The Arnold denoiser can be run from a dedicated UI, exposed in the Denoiser tab and is suitable for high-quality final frame denoising. It is also available as a stand-alone program (noice.exe).

Apply on Beauty

Denoising is applied to the beauty pass without needing to create extra AOVs.

GPU devices can be set in the System tab for use with the OptiX Denoiser.

 

The OptiX Denoiser (based on Nvidia AI technology) is integrated into Arnold for use with IPR (so that you get a very quickly denoised image as you're moving the camera and making other adjustments). It can be applied to any AOV.  


 

Rendering with the AOV set to Denoise with OptiX

 

There are a couple of requirements to be aware of when using the OptiX denoiser, however:

  1. You must have a Nvidia GPU with a driver version of at least 390 installed. Note that the OptiX denoiser is not available on OSX.
  2. The OptiX denoiser does not work with Merged AOVs (unlike the Arnold Denoiser).
  3. If you want to use the OptiX denoiser on multiple AOVs you must apply it to each AOV.
  4. If you wish to have the same AOV saved to EXR in both original and denoised mode, to avoid name duplication you can add the suffix "_denoise" to the AOV name and the OptiXdenoiser will detect the original AOV.
  5. Depending on the scene size, you may have to lower the Min memory - Render Settings > System > OptiX denoiser > Automatic Device Selection. This is also dependant on how much memory you have on your GPU. The default settings act on the side of caution and won't use your GPU if you have less than 512Mb available so that all GPU resources aren't used or worse try to use more memory than is available on the GPU. Users can change this parameter at their own risk.

The OptiX denoiser only works on full frames rather than buckets.

The OptiX denoiser is only compatible with a Nvidia driver version of at least 390 installed.

Denoise with OptiX option available in AOV

The RGBA_denoise visible in the Active Shade window. Rollover image for RGBA_denoise AOV.

Arnold Denoiser  

The Arnold Denoiser is a stand-alone program post process denoiser executable. It works on EXR files with multiple layers (merged) and outputs an EXR file with the denoised layers. It takes into account multiple frames and multiple light AOVs. Like most denoisers, it considers a neighborhood around the current pixel and looks for similar neighborhoods inside a given search area to blend together. To use the Arnold Denoiser, you will need to render images via the Arnold EXR driver.

The Arnold Denoiser requires that the parameter "Output Denoising AOVs" is enabled before rendering in the render settings (Denoiser tab). 

 

The workflow is as follows:

  1. Go to the Denoiser tab and enable Output Denoising AOVs under Arnold Denoiser (Noice). This will automatically generate the normal, depth and albedo AOVs required for the Arnold Denoiser. 
  2. Enable 'Add AOVs to single' file in the AOVs tab of the Arnold Render Setup and ensure that you are rendering out to EXR.
  3. Render the scene. Alongside your beauty file (id enabled), Arnold will save an EXR version of it, also containing the AOVs needed for denoising. They are named after the beauty filename, postfixed by "_Noice_Input".
  4. Go to the Denoiser tab.
  5. Choose the rendered EXR image(s) in the Input and a directory for the output (denoised) files.
  6. Choose whether you want to denoise a single frame or a sequence and then select 'Denoise'. This will start the denoising process based on the settings that you have chosen. The denoised images are saved in the output directory, now postfixed by "_Noice_Output".

Output Denoising AOVs

Automatically outputs the optional AOVs (diffuse_albedoZN). This should be used for denoising using Noice (Arnold denoiser), (multilayer EXR) or Kick.

Input

The path to the image or image sequence to be denoised.

Output

Set the denoised output file path. The output file will include the denoised layers with the same names as the original layers. For each file, a new one is saved, postfixed by '_denoised' (the denoised images).

Note that the file output size differs from the input files because only the main RGBA layers are saved (without the auxiliary AOVs).

 

Choose to render the complete Sequence, a single frame or a frame range (e.g. 1 to 10). 

  • Complete sequence: Denoise all frames of the given image sequence.

  • Single frame: Denoise only a single frame of the image sequence, specified in Start Frame.
  • Start/End Frame range: Denoise the given frame range, specified in Start Frame and End Frame.

Temporal Stability Frames

The number of extra images to be used for temporal stability. Multiple additional frames can be specified to increase temporal stability (for instance render001.exr, render002.exr, render003.exr).

Variance

The strength of the filter is determined by the variance parameter, the higher the variance the more forceful the denoising will be. For variance maybe 0.25 / 0.5 (the default) / 0.75 are good low/min/max values.
How aggressive noice is in removing noise can be controlled by setting a variance threshold with the command line argument -variance (-v). The default value is 0.5, higher values will make the denoising more aggressive by considering similar neighborhoods that have bigger color disparities.

 

Pixel Search Radius

This is the area over which similar neighborhoods are found. The higher the better, but it will increase the cost of denoising. For every pixel noice will search a square area with a radius set with the command line argument -searchradius (-sr). The bigger this area the bigger the denoising stability and the higher the chance that similar neighborhoods to be considered will be found. The default value is 9, which gives a 19x19 square neighborhood. Setting it to 21 (a search window of 42 x 42) will look over a pixel area equivalent to loading 5 frames. 

 

Pixel Patch Radius

This increases the softness of the denoising (while always preserving the features). The default is 3 (on the big side), but a low value would be maybe 0 or 1, middle 3 and high 5.

For every pixel noice will consider its neighborhood patch and look for other pixels with similar neighborhood patches. The radius of this neighborhood can be controlled with the -patchradius (or -pr) command line argument. The default value is set to 3, which gives a 7x7 square neighborhood.

Denoise

The final step when setting up Denoising. In the log area, you will notice that noice.exe is called for all the files in the selected range. 

  • No labels