greycard denoise

Raw-domain denoisers for greycard, a RAW development engine and editor. The editor and the greycard CLI download these on first use; nothing here needs to be fetched by hand.

Three tiers, one UNet architecture at three widths. Every one of them is a single ONNX file (opset 17), fp32.

Tier File Parameters Network time, 24 MP frame
fast denoise-v19.onnx 1.2 M ~1 s
balanced denoise-v15.onnx 2.3 M ~2 s
best denoise-v20.onnx 5.3 M ~3 s

Times are the network alone on the reference hardware; greycard tiles and blends the answer, and the whole develop takes longer.

Contract

  • Input packed: 1 × 4 × h × w, float32. The Bayer mosaic packed to half resolution as R, G1, G2, B, after black and white level normalisation and white balance, each channel through greycard's variance stabiliser (2x / (sqrt(a·x + s0²) + s0) with the frame's measured noise parameters). Height and width are dynamic.
  • Output rgb: 1 × 3 × 2h × 2w, float32. Demosaiced RGB at the mosaic's resolution, in the same stabilised space, camera RGB, white balanced. greycard inverts the stabiliser and carries on with its usual pipeline.

The network is not a general-purpose image denoiser: it expects stabilised, white-balanced camera-space mosaic data and will do the wrong thing on sRGB pictures.

Training

Trained by the greycard author on frames from their own archive, with noise synthesised from greycard's per-frame noise model (photon plus read noise, sampled log-uniformly over a wide range, with per-channel gain jitter). L1 loss in the stabilised space, EMA weights. The code is in the greycard repository under tools/denoise (train.py, model.py, export.py).

Licence

GPL-3.0-or-later, the same as greycard. Source and training code: https://github.com/jessolmstead/greycard.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support