Auto-Denoise Comparison
Run both self-trained denoisers side by side before you commit
- image
- original
- noise2void_result
- deep_image_prior_result
- comparison_report
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) anddip_iterations(optional, default 1000, 300–3000) - note both ranges are lower than the equivalent fields onAutoDenoiseNode(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, andcomparison_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.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| device | COMBO | auto | 3 options: auto, cpu, cuda |
| n2v_epochsopt | INT | 5010–200 | — |
| dip_iterationsopt | INT | 1000300–3000 | — |
| calculate_metricsopt | BOOLEAN | true | — |
| show_analysisopt | BOOLEAN | true | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| original | IMAGE | — |
| noise2void_result | IMAGE | — |
| deep_image_prior_result | IMAGE | — |
| comparison_report | STRING | — |