NPPE3 4x Super-Resolution + Denoising

CNN (RRDB-lite / EDSR-style) that jointly denoises low-light images and performs 4x super-resolution (256x160 -> 1024x640).

Architecture

  • Head conv (3 -> 96 channels)
  • 16 residual blocks (conv-relu-conv, residual scale 0.2)
  • 2x PixelShuffle upsampling blocks (x2 each, total x4)
  • Global residual connection to bicubic-upsampled input
  • Trained with EMA (decay 0.999) of weights

Training

  • Loss: L1 pixel loss
  • Optimizer: Adam, lr 2e-4, cosine annealed over 150 epochs
  • Patch-based training: 64x64 LR patches -> 256x256 HR patches, random flips
  • Dataset: 1105 train pairs, 267 val pairs (low-light noisy LQ -> clean HQ)

Validation results (competition metric-style PSNR: grayscale, flattened, every 8th pixel)

  • Full validation set (267 images): 39.245 dB
  • With flip test-time augmentation (4-way self-ensemble): 39.271 dB

Files

  • best.pt โ€” best EMA checkpoint (state_dict)
  • last.pt โ€” final EMA checkpoint (state_dict)

Usage

import torch
from model import SRNet  # see training notebook for the class definition

model = SRNet(ch=96, n_blocks=16, scale=4)
model.load_state_dict(torch.load("best.pt", map_location="cpu"))
model.eval()

Trained for the DLP 26T2 NPPE-3 Kaggle competition (low-light image denoising + 4x super-resolution).

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