How to use denoising?






Denoising is a feature built into Corona Renderer, which can be used to quickly make noisy images noise-free. It can significantly reduce render times by removing the need to wait until the noise refines during the rendering process. 


There are 3 types of denoising in Corona Renderer:

  1. Corona High Quality 
  2. NVIDIA GPU AI (fast preview)
  3. Intel CPU AI (speed-quality hybrid)




1. Corona High Quality Denoiser


This denoiser is a post-rendering effect which analyzes noise in the 3D space and smartly reduces it without producing splotches while maintaining sharp edges and texture details. Therefore it is not a strictly a 2D post-process. The result can be interactively blended with the original non-denoised image directly in the VFB after the rendering is finished to achieve desired level of denoising. This is especially useful if the denoised image appears to be over-processed (generally this should not happen but can sometimes be observed, for example in case of textures with very subtle patterns and rendering a small number of passes).


The main purpose of denoising, along with adaptivity, is reducing the number of passes needed to get a noise-free image. The reported render time reductions are between 50 and 70%. Denoising also attempts to remove fireflies (single bright pixels) from the image.


Corona High Quality Denoiser is executed after the rendering is finished by either limiting the rendering, or by manually stopping it after desired time.
Note: Clicking "Cancel" in the 3ds Max rendering dialog will DISCARD denoising, and it will not be applied to the final rendering! To stop rendering and apply denoising, you need to use the "Stop" button in the Corona VFB, or in the 3ds Max rendering dialog.



Corona High Quality Denoiser has three modes:

  • High quality - full denoising
  • Only remove fireflies - useful in scenes where fireflies are the only issue, much faster than full denoising
  • Gather data for later - gathers denoising data for the standalone Corona Image Editor



There are two parameters controlling this denoising type:

  • Denoise amount - this blends between the denoised and non-denoised image. The default value of 0,65 provides good balance between denoising and fine detail. 
  • Denoise radius - radius of the blurring filter. Increasing it may help reduce very strong noise. Decreasing can help prevent loss of fine details. The default value usually works best.




2. NVIDIA GPU AI Denoiser (fast preview)


This denoiser's main purpose, as the name suggests, is to provide fast, noise-free previews. It is applied almost in real-time during interactive or regular rendering, and after the rendering is stopped. It requires a supported GPU to work (Kepler architecture or newer), which is detected during the installation. 


NVIDIA GPU AI Denoiser works in a similar way to the Corona High Quality Denoiser, however there are some substantial differences:

  • It is preformed purely on the GPU (Corona High Quality Denoiser - on the CPU)
  • It uses machine learning (sometimes called "AI") to smartly blur noise, but also to produce detail (Corona High Quality Denoiser can not add detail to the image)
  • It can be used during interactive rendering too (Corona High Quality Denoiser can only be applied after the regular rendering is finished)
  • It works almost in real-time and is applied to the image progressively as it renders (Corona High Quality Denoiser takes time and is applied only once, after the rendering is finished)
  • It should be used mostly for interactive rendering, quick previews, and optionally for final stills (Corona High Quality Denoiser is designed to be used for high quality stills and animations)
  • It should not be used for animations, since it does not offer any kind of temporal consistency - rendering different frames will most likely result in flickering and artifacts (Corona High Quality Denoiser can be used for animations, provided that the base image quality is good enough)
  • NVIDIA GPU AI Denoiser, as opposed to the Corona High Quality Denoiser, does not feature any additional modes


The only setting available for this denoising type is Denoise Amount, which works exactly the same as for the Corona High Quality Denoiser – it blends the original non-denoised image with the denoised result, and this can be done interactively during rendering, or once rendering is finished.


NVIDIA GPU AI Denoiser requires additional components to be installed during the Corona Renderer installation. This is done automatically if a supported GPU is detected. In case of installation issues, the additional components can be installed manually.

See: How to install the NVIDIA GPU AI Denoiser in offline mode?



3. Intel CPU AI (speed-quality hybrid)


This denoiser combines the features of the Corona High Quality Denoiser and the NVIDIA GPU AI Denoiser. It runs purely on the CPU (it does not have to be an Intel CPU though; it works fine with AMD CPUs as well), and uses machine learning to produce noise-free results. However, it is much slower than the NVIDIA GPU AI Denoiser (seconds vs milliseconds), so it can be applied only after the regular rendering ends, not in real time during interactive rendering.


The only setting available for this denoising type is Denoise Amount, which works exactly the same as for the Corona High Quality Denoiser – it blends the original non-denoised image with the denoised result, and this can be done interactively during rendering, or once rendering is finished.




Denoising limitations


There are two important things to bear in mind when using denoising:

1) Denoising can improve images which are noisy only to a certain degree. In case of extremely noisy images, denoising will not be able to help, and the result will be splotchy or full of artifacts.

2) Denoising requires additional render elements, which are invisible to the user. These render elements can take a considerable amount of memory, for example:


 3dsmax.exe RAM usage for an interior scene rendered in 1920x1080 resolution with 10 denoised render elements:

  • No denoising – 6,5 GB
  • Fast Preview Denoising – 7,3 GB (+GPU VRAM)
  • High Quality Denoising – 7,3 GB




Enabling denoising


1. Corona High Quality Denoiser

It can be enabled under Render Setup > Scene > General Settings > Denoising:




2. NVIDIA GPU AI Denoiser

For the regular rendering, it can be enabled under Render Setup > Scene > General Settings > Denoising:




For interactive rendering, the NVIDIA GPU AI Denoiser can be toggled in Performance > Performance Settings > Interactive rendering:




3. Intel CPU AI Denoiser

It can be enabled under Render Setup > Scene > General Settings > Denoising:





Denoising Checkbox


A new feature in Corona Renderer 4 is the ability to switch between the raw before-denoising render and the denoised image, using a checkbox in the VFB and in the Corona Image Editor. This lets you switch denoising on and off so that you can easily compare the differences.





Denoising and network rendering


When using Corona’s distributed rendering:

  • All denoising types will be performed on the master machine only. 
  • Denoising will not be performed on the render nodes at all, so they do not need to have supported GPUs or drivers installed for the NVIDIA denoising to work.

 

When using other types of network rendering (Autodesk Backburner, Thinkbox Deadline, etc) – sending jobs to render nodes so that each computer will render a different frame:

  • All types of denoising will be performed on all the machines that are rendering. 
  • Additional processing time will be needed for the High Quality denoising, and supported GPUs and drivers must to be installed on all computers for the NVIDIA denoising to work.




Example uses


1. Saving a CXR file and denoising it later

The "Gather data for later" option can be used to skip the actual denoising process, but save the denoising data within the CXR file. Such file can be then denoised later using the Corona Image Editor


Note: 

  • Using the "Gather data for later" option will allow you to denoise an image later in the Corona Image Editor using the Corona High Quality denoiser only.
  • If you wish to denoise your image using the NVIDIA AI or Intel AI denoiser, choose any of those two, render your image, and save to CXR. You can then switch between these two denoising types in the Corona Image Editor.



2. Saving multiple versions of the rendering with different denoising amounts

Multiple "CShading_Beauty" render elements can be used to save different versions of the same image at once with various amounts of denoising applied. Individual denoising amount is specified in the properties of each CShading_Beauty element regardless of the in-VFB setting:




Multiple CShading_Beauty elements visible on the render elements list. The denoising value of each of the elements is different than the "denoise amount" currently set in Corona VFB. Click to enlarge.



3. Denoising other render elements

Denoising can be applied to other render elements too by enabling the "Apply denoising also to this render element" option in each element's settings.




Denoising sum-up


  • Corona High Quality Denoising
    • Can be used for regular rendering only (Scene tab).
    • Is performed on the CPU. If your CPU can run Corona Renderer, it can also run this denoising type.
    • Is applied after the rendering is stopped.
    • Is more precise, and so requires more time to be calculated.
    • Can be used for high quality stills and animations.
    • Maximum allowed resolution of the denoised image and the number of denoised render elements are dependent on the available system RAM.

  • NVIDIA GPU AI Denoising
    • Can be enabled for regular rendering (Scene tab) and for interactive rendering (Performance tab).
    • Is performed on the GPU, which must be a supported NVIDIA GPU (Kepler or newer).
    • Is applied during rendering, almost real-time.
    • Can be used for extremely quick previews.
    • Shouldn’t be used for animations (will almost certainly flicker).
    • May be used for high quality stills (provided that the base image is of good enough quality and no denoising artifacts appear).
    • Maximum allowed resolution of the denoised image and the number of denoised render elements are dependent on the available GPU RAM.

  • Intel CPU AI Denoising
    • Can be used for regular rendering only (Scene tab).
    • Is performed on the CPU. If your CPU can run Corona Renderer, it can also run this denoising type.
    • Is applied after the rendering is stopped.
    • Can be used for quick previews.
    • Is much faster than Corona High Quality denoising, but slower than NVIDIA GPU AI denoising.
    • Shouldn’t be used for animations (will almost certainly flicker).
    • May be used for high quality stills (provided that the base image is of good enough quality and no denoising artifacts appear).
    • Maximum allowed resolution of the denoised image and the number of denoised render elements are dependent on the available system RAM.




Examples


1. No denoising



2. Corona High Quality Denoiser - amount: 1,0




3. Corona High Quality Denoiser - amount: 0,65




4. NVIDIA AI Denoising - amount: 1,0




5. NVIDIA AI Denoising - amount: 0,65




6. Intel AI Denoising - amount: 1,0




7. Intel AI Denoising - amount: 0,65