Nodes/Eric_Image_Processing_Nodes/SCUNet Batch Processing
ComfyUI Node

SCUNet Batch Processing

Real-world denoising, done a batch at a time

By EricRollei·Created 9 months ago·Updated 8 months ago· 9
SCUNet Batch Processing
  • images
  • restored_images
model_namescunet_color_real_gan
batch_size4
tile_size256

SCUNet comes from the same research lineage as SwinIR (same authors, roughly the same era), but it's built specifically for real-world denoising rather than being a multi-task generalist. Where SwinIR asks you to pick a task, SCUNet only does one thing - but it does it against a training-time noise model designed to look like actual camera sensor noise, not textbook Gaussian noise. This node wraps it as a batch processor, which is the detail that actually matters: it's the one built to chew through a folder of images with the same settings rather than fiddle with one at a time.

How it works

SCUNet stands for Swin-Conv-UNet - a hybrid architecture that mixes Swin Transformer blocks with regular convolutions inside a UNet, aiming to get the transformer's long-range context and the convolution's local precision in one network. The important part for choosing settings is the training data: SCUNet was trained on a "practical" noise degradation model meant to mimic what actually comes out of real cameras - JPEG compression, sensor noise, mild blur combined - rather than pure synthetic Gaussian noise. That's why it tends to hold up better on real photos than denoisers trained only on clean-plus-Gaussian-noise pairs.

The inputs and outputs that matter

  • images - required, and note it's plural: this node is built around batches, not a single image.
  • model_name - two checkpoints: scunet_color_real_gan and scunet_color_real_psnr. This is the classic GAN-vs-PSNR restoration trade-off - the GAN variant produces sharper, more textured output but can invent detail that wasn't there; the PSNR variant is smoother and more faithful to the actual input, at the cost of looking softer. Pick GAN when you want the result to look good; pick PSNR when you need it to be accurate.
  • batch_size (optional, default 4, 1–16) - how many images process simultaneously. Higher is faster overall but needs more VRAM per step.
  • tile_size (optional, default 256, 64–512) - the usual memory/quality tiling trade-off, applied per image within the batch.
  • Output: restored_images.

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. Core requirements (numpy, opencv-python, scikit-image, scipy, PyWavelets) gate the import; torch is the optional extra this node actually needs at runtime. Both SCUNet checkpoints auto-download the first time you use them - the GAN and PSNR variants are separate downloads, so switching model_name the first time costs you another fetch.

Common issues & troubleshooting

Output looks smeared or waxy - like detail got wiped, not denoised. You're probably on scunet_color_real_psnr and expecting GAN-level texture. Switch to scunet_color_real_gan if sharpness matters more than fidelity to you.

GAN variant invents texture that wasn't in the source. The inverse problem - this is a known GAN-restoration trade-off, not a bug specific to this node. Switch to scunet_color_real_psnr when you need the output to stay honest to the input, e.g. anything where accuracy matters more than looking polished.

Running out of memory on a large batch. Drop batch_size before you drop tile_size - batch size is the bigger memory lever here since it multiplies everything else. If you're still tight, bring tile_size down too.

Batch is slow even at small batch_size. SCUNet's hybrid transformer-conv architecture is heavier than a pure CNN denoiser; this isn't a lightweight filter. If speed matters more than the real-world noise handling, a plain ESRGAN-style node in this pack will be faster for source images that aren't heavily degraded.

CategoryEric's Image Processing

Inputs (4)

NameTypeDefaultDescription
imagesIMAGE
model_nameCOMBOscunet_color_real_ganSCUNet model for batch processing
batch_sizeoptINT41–16Number of images to process simultaneously
tile_sizeoptINT25664–512Processing tile size for memory management

Outputs (1)

NameTypeDescription
restored_imagesIMAGE