Nodes/Eric_Image_Processing_Nodes/Auto-Denoise Comparison
ComfyUI Node

Auto-Denoise Comparison

Run both self-trained denoisers side by side before you commit

By EricRollei·Created 9 months ago·Updated 8 months ago· 9
Auto-Denoise Comparison
  • image
  • original
  • noise2void_result
  • deep_image_prior_result
  • comparison_report
deviceauto
n2v_epochs50
dip_iterations1000
calculate_metricstrue
show_analysistrue

This is the sibling of AutoDenoiseNode, and it exists to answer a question that node can't: which of its two methods actually works better on this image? Both Noise2Void and Deep Image Prior train from scratch on whatever you feed them, which means there's no universal answer - one might handle your noise better than the other, and the only way to know is to run both and look. That's exactly what this node does, once, so you can pick a winner and go back to the single-method node for production runs.

How it works

Same underlying methods as AutoDenoiseNode - Noise2Void trains a blind-spot network directly on the noisy image, Deep Image Prior optimizes an untrained CNN's weights to reconstruct the image and relies on early stopping to avoid reproducing the noise - but this node runs both in one pass and hands you all three images (original, Noise2Void result, Deep Image Prior result) plus an optional metrics comparison, instead of forcing you to pick blind. Treat it as a diagnostic step: run it once on a representative image from your batch, decide which method wins, then switch to AutoDenoiseNode with that method selected for the rest of your run - running the comparison every time doubles your compute for no reason once you already know the answer.

The inputs and outputs that matter

  • image - required.
  • device - auto/cpu/cuda.
  • n2v_epochs (optional, default 50, 10–200) and dip_iterations (optional, default 1000, 300–3000) - note both ranges are lower than the equivalent fields on AutoDenoiseNode (100/3000 there). This node is tuned for a faster comparison pass, not a final-quality result - expect slightly rougher output than a full run at the single-method node's defaults.
  • calculate_metrics (optional, default true) - computes the comparison numbers that go into the report.
  • show_analysis (optional, default true) - prints the analysis to console.
  • Outputs: original, noise2void_result, deep_image_prior_result, and comparison_report - wire all three images into a preview grid to actually eyeball the difference, which is the point of this node.

How to install it

Search Eric_Image_Processing_Nodes in ComfyUI Manager, or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/EricRollei/Eric_Image_Processing_Nodes
cd Eric_Image_Processing_Nodes
pip install -r requirements.txt

Restart ComfyUI. Same torch dependency as AutoDenoiseNode - it's running two training loops per image, not one, so it's the slower of the pair to install-test and the slower to run.

Common issues & troubleshooting

This is slow. You're training two small networks per image instead of one - that's inherent to what a comparison node does. It's meant to be run occasionally to make a decision, not on every image in a batch.

Both results look similar and unhelpful for deciding. That can genuinely happen on noise that both methods handle about equally well - in which case pick either and move to AutoDenoiseNode for speed, since the comparison isn't buying you information anymore.

Deep Image Prior result looks worse than expected. Its quality depends heavily on dip_iterations, and this node's default (1000) is lower than the single-method node's (3000) precisely because it's a faster diagnostic pass. If Deep Image Prior looks promising here, don't judge its ceiling from this node - try it properly via AutoDenoiseNode with more iterations before ruling it out.

Want the full quality picture, not just a quick read. Bump n2v_epochs/dip_iterations up toward the ranges AutoDenoiseNode uses, understanding that it slows this already-slower node down further.

CategoryEric's Image Processing/Auto-Denoise

Inputs (6)

NameTypeDefaultDescription
imageIMAGE
deviceCOMBOauto3 options: auto, cpu, cuda
n2v_epochsoptINT5010–200
dip_iterationsoptINT1000300–3000
calculate_metricsoptBOOLEANtrue
show_analysisoptBOOLEANtrue

Outputs (4)

NameTypeDescription
originalIMAGE
noise2void_resultIMAGE
deep_image_prior_resultIMAGE
comparison_reportSTRING