SD-Retinex

A training-free low-light enhancement method designed around the sigmoid derivative, fast on a CPU. The paper, code and evaluation results are public.

Year
2026
Role
Sole author (research and code)
Category
Research
Status
Active
Stack
Python, NumPy, OpenCV
Links

SD-Retinex is a training-free, deterministic Retinex method for low-light image enhancement. There are no model weights and no dataset fitting; it runs on a CPU with NumPy and OpenCV only.

How it works

  • A stable kernel built on the sigmoid derivative σ' estimates illumination with separable filtering.
  • A bounded tone map lifts dark regions and keeps output values in [0, 1].
  • The kernel of the earlier method XCR equals σ' sampled on the imaginary axis, which makes it unstable at the poles of the logistic function. SD-Retinex replaces it with a real-axis kernel and a bounded tone map.

Results

Means on LOL eval15 (15 paired images).

Method PSNR ↑ SSIM ↑ ΔE₀₀ ↓ ms/img ↓
Input (identity) 7.77 0.195 37.08 0.03
SSR 8.99 0.527 31.88 151.01
MSR 8.91 0.525 32.09 604.31
XCR 9.83 0.403 30.91 24.36
SD-Retinex 16.47 0.487 15.90 18.41

Among the training-free enhancers, SD-Retinex has the best PSNR and ΔE₀₀ and the lowest runtime. SSR and MSR score higher on SSIM, and the paired-trained deep models (URetinex-Net, Retinexformer) remain stronger. Timings are comparisons within this table.

What is published

SD-Retinex is the core technology of Beacon.

← All projects