Page History
Multiexcerpt | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
The Arnold denoiser is a stand-alone program post-process denoiser executable. It works on EXR files with multiple layers and outputs an EXR file with the denoised layers. It takes into account multiple frames and multiple light AOVs. It requires variance information for all AOVs and optionally uses normal, depth, and albedo. Like most denoisers, it considers a neighborhood around the current pixel and looks for similar neighborhoods inside a given search area to blend together. |
Inputs
Required Input Layers
The required absolute minimum inputs are the following:
- main layer to be denoised (typically RGBA also known as "beauty")
- variance layer that specifies the per pixel variance
It's recommended to set "preserve layer name" to ON in the output drivers so that the Arnold denoiser can automatically detect what each AOV corresponds to.
Optional Feature Layers
These optional layers are used to guide denoising and will greatly improve the result:
- Normal (N)
- Depth (Z)
- Albedo (denoise_albedo)
Optional Light AOVs to be Co-Denoised
Additional light AOVs can be present in the original EXR. If requested (-l light_aov_name
) these will be co-denoised with the beauty layer. This main denoising effort will be spent on beauty, so in certain areas, the light AOVs might have increased noise.
Optional Additional Frames
Multiple additional frames can be specified to increase temporal stability (for instance -i render.002.exr -i render.001.exr -i render.003.exr
)
Sequence handling
Instead of specifying all the input images, it's also possible to use the following flags: -f n
or --frames n
) to denoise image sequences. Another argument (-ef n
or --extraframes n
) specifies how many additional source frames before and after the current one should be used, for improved stability in animation sequences.
In this example, the Arnold denoiser will run for 10 consecutive frames starting at frame 5, taking into account two frames before and two frames after each source frame (e.g. source frame number 5 will take into account frames 3, 4, 5, 6, and 7):
noice -i mysequence. 0005 .exr -o denoised. 0005 .exr -f 10 -ef 2 |
Outputs
Arguments
Multiexcerpt | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||
Pixel Neighborhood Patch Radius
Pixel Search Radius
Variance
Input Files Input files to noice can be specified with the command line argument -input (-i ). Multiple frames can also be specified around the frame to be denoised in the following way:-i <current_frame> -i <additional frames in order> -i render.0010.exr -i render.0008.exr -i render.0009.exr -i render.0011.exr -i render.0012.exr Light AOVsAdditional light AOVs to be co-denoised can be specified with the command line argument -aov (-l ). for instance:-l back_lights -l RGBA -l key_light Custom Feature LayersFor advanced users, the -fe flag (or --features ) specifies which AOVs will be used as features to guide denoising.Output FileThe output file can be specified with the command line argument -output (-o ). |
Ass File Example
Multiexcerpt | ||
---|---|---|
| ||
These additional AOV are optional, but the variance info for RGBA and additional AOVs to be denoised is not. The denoiser will work much better if N, Z, and denoise_albedo are provided: outputs 7 1 STRING "RGBA RGBA filter driver" "RGB RGB variance driver RGB_variance" "LPE_name RGBA filter driver" "LPE_name RGB variance driver LPE_name_variance" "denoise_albedo RGB filter driver albedo" "N RGB defaultArnoldFilter@gaussian_filter driver" "Z RGB filter driver" Notice that the AOVs that have the same source also have an EXR layer name specified at the end. The name of the layers is not important, but appending "_variance" seems like a clearer way to handle this. The filters should be set up like this (here we use <filter_type>_filter variance_filter |