RRDBNet for Low-Light Denoising + 4x Super-Resolution
An RRDBNet (ESRGAN backbone) fine-tuned for joint denoising and 4x super-resolution
of low-light images. Initialized from Real-ESRGAN's RealESRNet_x4plus weights and
trained with pure Charbonnier loss (no adversarial/perceptual loss) to optimize for
PSNR rather than perceptual sharpness.
Model Details
- Architecture: RRDBNet, 23 RRDB blocks, 64 features, growth channel 32
- Scale factor: 4x
- Loss: Charbonnier loss (eps=1e-3)
- Training: EMA weights (decay=0.999), Adam + cosine LR schedule, 200 epochs
- Validation PSNR: 39.58 dB
Usage
import torch
from safetensors.torch import load_file
from modeling_rrdbnet import RRDBNet
import numpy as np
from PIL import Image
model = RRDBNet(nf=64, nb=23, scale=4)
state_dict = load_file("model.safetensors")
model.load_state_dict(state_dict)
model.eval()
img = Image.open("low_light_input.png").convert("RGB")
arr = torch.from_numpy(np.array(img, dtype=np.float32) / 255.0).permute(2, 0, 1).unsqueeze(0)
with torch.no_grad():
output = model(arr).clamp(0, 1)
output_img = (output.squeeze(0).permute(1, 2, 0).numpy() * 255).astype(np.uint8)
Image.fromarray(output_img).save("output_4x.png")
Training Data
Trained on paired low-light noisy (LR) and clean (HR) image pairs for a joint denoising + 4x super-resolution task.
Limitations
Trained on a specific low-light dataset with compressed dynamic range (~[19,138]/255 pixel values); performance may not generalize to differently-lit or differently-exposed images without fine-tuning.
- Downloads last month
- -
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support