"Noisy Image" pass not matching "Combined" pass is not well documented. #77185
Labels
No Label
Meta
Good First Issue
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
Eevee & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds, Tests & Devices
Module
Python API
Module
Rendering & Cycles
Module
Sculpt, Paint & Texture
Module
User Interface
Module
VFX & Video
Priority
High
Priority
Low
Priority
Normal
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Information from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
7 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender-manual#77185
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
System Information:
Operating system: Linux-5.4.0-7629-generic-x86_64-with-debian-bullseye
Graphics card: NA
Blender Version:
Broken: 2.82a, 2.83.0 (2020-05-29 17:42)
blender/blender@691a1e3357
, 2.90.0 (2020-05-29 18:08)blender/blender@2ee94c954d
Worked: Unsure
Short description of error:
The Blender manual describes the render pass "Noisy image" as:
The noisy image pass is not the same as the "original combined pass" before denoising. It seems to be missing some samples.
If this is difficult to fix, the manual should be updated to reflect that these two passes are different.
Exact steps for others to reproduce the error:
In the following .blend the first 5 steps have been done for you.
#77185.blend
On further investigation I realize some stuff and now believe this is more of a design question.
@EAW has commented below explaining that the reason why there's a difference between the "Combined" pass and the "Noisy Image" pass is most likely due to the removal of some outliers to make the image easier to work with, specifically for the default Blender denoiser.
With further tests I've noticed that when the OptiX denoiser is used, a
normal
"noisy image" pass is generated, once again confirming the differences are probably due to the denoiser being used.The only issue I can see now is that when the "OptiX AI-Accelerated" denoiser is ticked, even if the denoiser is deactivated (see image below), then the
non-outlier removed
"Noisy Image" pass is generated. This means that if you rendered the animation and saved the frames as multi-layer EXRs and wanted to feed it back into Blender to use with the Animation denoiser developed by Lukas Stockner, you could get weird results as the "Noisy Image" pass may not match what's required by the denoiser set up when you run the animation denoiser. Sorry if this doesn't make much sense.This really is an obscure use case. Especially with the animation denoiser being buried in the python console. But it's still a concern of some kind. I'm fine if you close the report, but it's something to be considered if the animation denoiser is implemented as a user facing feature into Blender.
See D3889 for the history, discussion, and information on the animation denoiser
Added subscriber: @Alaska
blender/blender#85298 was marked as duplicate of this issue
blender/blender#77278 was marked as duplicate of this issue
Added subscriber: @EAW
Changed status from 'Needs Triage' to: 'Confirmed'
I could have sworn that I have previously read an explanation for it (maybe deleting outliers?), but my searching turns up empty, so marking it as confirmed.
Note that the pixel locations where there is a difference between the
Combined Pass
and theNoisy Image Pass
is also where theDenoising Depth Pass
<0.#77185.blend
It seems that something is subtracted from the
Diffuse Direct Pass
before it is used to create theNoisy Pass
(if that is indeed how it works on the backend.)Tested using 2.90.0 alpha 2ee94c954d67
Do you mean the "noisy image" pass deletes outliers? Because if that was the cause, then in theory the noisy pass would produce better results when working with the intel denoiser. From my personal experience on past projects this isn't the case. I will retest and post a .blend file with examples if they're still present. (I believe the difference between the noisy pass and combined pass has reduced in recent versions of blender which is why I'm not so certain that I will be able to reliably reproduce the issue with the denoiser)
Edit: I realize now that when you enable the OptiX denoiser, the "outlier removed" noisy image pass is no longer used.
Here's an example scene:
#77185 - Comparison Scene.blend
In both images I used the Intel denoiser in the compositor to denoise the image. As you can see, the one on the right (Denoised using the "noisy image" pass) produces weird artifacts that don't occur in when denoising using the "Combined" pass. Presumably due to the information difference between the two passes.
If the "noisy image" pass is setup in such a way to remove outliers (as I assume that's what @EAW means), then I can understand the reasoning behind it. If the standard Blender denoiser works better with this "outlier removed" pass, then it should stay in Blender. Especially if the animation denoiser by Lukas Stockner gets implemented into Blender as a user facing feature. But this can also cause issues else where. For example, I've noticed that the OptiX denoiser can generate a patchy look to the image due to the tile nature of how it operates. This can be fixed by using the Intel denoiser in the compositor if you find that OptiX doesn't give you the results you want, but with the "Noisy image" pass being the way it is at the moment, then using the "Noisy image" pass could produce more artifacts (as can be seen in the photo above).
Added subscriber: @bent
Upon further investigation I've found that in some situations the "Noisy Image pass" being different from the "Combined pass" can be beneficial while others show it being detrimental.
Now I'm confused about what to do with this report. In theory the only issue is technically the documentation. But also how the passes are handled in situations where someone wanted to use the animation denoiser.
Added subscriber: @AdamPreisler
Added subscriber: @brecht
@brecht Could you please shed some light onto this? I keep having artifacts because I forget to turn normal denoising off and noisy image pass has clamped values.
Changed status from 'Confirmed' to: 'Archived'
Changing to
Invalid
as the denoiser seems to be operating as expected. We'll also get "clean" denoising passes better suited for OIDN with the patch for the task: blender/blender#76259 (assuming you don't already own a compatible Nvidia GPU to use OptiX denoising)@AdamPreisler see this and the next 3 comments in this thread.
https://devtalk.blender.org/t/cycles-oidn-support/5783/25
Added subscriber: @deadpin
"Noisy Image" pass not matching "Combined" pass.to "Noisy Image" pass not matching "Combined" pass is not well documented.Changed status from 'Archived' to: 'Confirmed'
I am reopening this and assigning it to myself with the intent to update the manual.
Added subscriber: @Raimund58
This issue was referenced by blender/cycles@5db8d93df3
This issue was referenced by blender/blender@0803119725
Changed status from 'Confirmed' to: 'Resolved'