Low-Light Denoising + 4x Super-Resolution
Residual CNN + PixelShuffle upsampler that denoises low-light images and upscales them 4x. Trained end-to-end with L1 loss on paired noisy-LR / clean-HR images from the DLP 26T2 NPPE3 competition dataset.
- Scale: 4x
- Architecture: 12 residual blocks, 64 base channels, PixelShuffle upsampler
- Params: 1.22M
- Val PSNR: 38.53 dB (best, epoch 27/40)
- Train/Val pairs: 1105 / 267
- Framework: PyTorch
Training
- Loss: L1
- Optimizer: Adam, lr=2e-4, cosine annealing
- Epochs: 40
- Batch size: 16
- Patch size: 48 (LR) โ 192 (HR)
Usage
import torch
from model import DenoiseSRNet
model = DenoiseSRNet(base_ch=64, n_blocks=12, scale=4)
model.load_state_dict(torch.load("best_model.pth", map_location="cpu"))
model.eval()
Limitations
Trained on a specific low-light dataset โ may not generalize to other scale factors, noise levels, or daytime images.