NIND UNet Denoiser

May 13, 2026 · View on GitHub

Image denoiser trained on the Natural Image Noise Dataset (NIND) from Wikimedia Commons.

Source

Architecture

Standard U-Net encoder-decoder: 3 → 64 → 128 → 256 → 512 → 512 (bottleneck), with skip connections and sigmoid output activation.

ONNX Model

PropertyValue
Filemodel.onnx
Inputinput — float32 [1, 3, 768, 768]
Outputoutput — float32 [1, 3, 768, 768]
ResolutionStatic, baked at 768×768
Opset20
Normalize[0, 1] range (divide by 255)
TilingYes (attributes.input_sizes: [768])

Notes

  • No ImageNet normalization — input is simply RGB in [0, 1] range.
  • Output is clamped to [0, 1] by the sigmoid activation.
  • Exported with FP32 precision.
  • The 768×768 input is baked into the graph so JIT-compiling EPs (CoreML, MIGraphX) only pay the compile cost once. Callers must tile at exactly this size; darktable reads input_sizes from the manifest and locks the runtime tile size accordingly.

Selection Criteria

PropertyValue
Model licenseGPL-3.0
OSAID v1.0Open Source AI
MOFClass I (Open Science)
Training data licenseCC BY 4.0 / CC0 (per-image, Wikimedia Commons)
Training data provenanceReal-world noise/clean pairs photographed by authors, published on Wikimedia Commons
Training codeGPL-3.0
Known limitationsNone — all components publicly available under open licenses
Published researchNatural Image Noise Dataset (CVPR Workshops 2019)
InferenceLocal only, no cloud dependencies
ScopeImage denoising
ReproducibilityFull pipeline (setup, convert, clean, demo)