Denoise artifacts caused by albedo gray roughness areas?

Hi everyone,

I recently noticed artifacts with the OpenImageDenoise and the Albedo pass seems to reveal the reason why these appear.

My test setup: Blender_Denoise_Albedo_Bug.blend (805.1 KB)
To recreate this Setup:

  1. In a new scene: Add a plane
  2. In the ‘Shader Editor’ create a standard material for that plane with a ‘Gradient Texture’ set to ‘Spherical’ feeding the ‘Roughness’ input of the ‘Principled BSDF’. (With nothing feeding the ‘Vector’ input of the ‘Gradient Texture’ it should default to ‘Generated’ texture coordinates.)
    Set the ‘BaseColor’ to black to make the artifacts easier to spot.
  3. ‘World Properties’ tab >> ‘Surface’ panel: set the ‘Color’ of the ‘Background’ shader to ‘Checker Texture’ with a ‘Scale’ of 30 and a ‘Strength’ of 3. Just to have something for the plane to reflect.
  4. ‘Render Properties’ tab: set the ‘Render Engine’ to Cycles.
    ‘Render Properties’ tab >> ‘Sampling’ panel: set the Samples for ‘Render’ to 16 to make the artifacts easier to spot.
    ‘Render Properties’ tab >> ‘Sampling’ panel >> ‘Denoise’ panel: activate the Checkbox for ‘Render’ and set it to ‘OpenImageDenoise’.
  5. ‘ViewLayerProperties’ tab >> ‘Passes’ panel >> ‘Data’ panel >> ‘Include’ category: activate the ‘Denoise Data’ Checkbox.
  6. In the ‘Compositor’ activate the ‘Use Nodes’ Checkbox in the Menu Header of the Area.
    There should be a ‘Render Layer’ node connected to a ‘Composite’ output node. The ‘Render Layer’ node should have an ‘Image’ output and a ‘Denoise Albedo’ output. Connect them to the ‘Composite’ or a ‘Viewer’ node as you please.

In the denoised rendering is a circle like artifact visible in the left corner of the plane with only speacular at 1 and a gradient in roughness

In the albedo pass is a clear gray circle visible in left corner of the plane.

Albedo with a Noise Texture in the Base Color not just Black. The gradient in the roughness gets cut off.

This is the roughness input seen through an emission shader

I tested it on CPU/GPU with standrad/CUDA/OpenCL. The jump in the albedo pass happens with a roughness value somewhere from 0.273 to 0.274.
Is it a known issue or worth reporting?

This is normal thing. Denoise is not magic. Increase your sample count.

The optix and OIDN denoisers are AI trained on photos of the real world. They might not be able to make sense of these abstract shapes.