← all repositories
jiny2001/dcscn-super-resolution

A lighter super-resolution network that borrows from everyone

TensorFlow implementation of a 2017 paper that mixes ResNets, Network-in-Network, and later tricks like pixel shufflers and depthwise separable convolutions into one upscaling model.

dcscn-super-resolution
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does

DCSCN is a single-image super-resolution model in TensorFlow that upscales low-res images (2×, 3×, or 4×). It combines deep CNNs with skip connections, Network-in-Network 1×1 convolutions, and a grab-bag of later techniques—pixel shufflers, transposed CNNs, self-ensemble, and depthwise separable convolutions—to squeeze better PSNR out of a relatively compact architecture.

The interesting bit

The project is essentially a living literature review baked into one codebase. Version 2 retrofits improvements from four separate papers onto the original 2017 DCSCN skeleton, including a pixel shuffler for upsampling and depthwise separable convolutions to cut model complexity. The README even includes a friendly explainer on how depthwise separable convolutions work, which is rarer than it should be.

Key highlights

  • Pre-trained models included; run evaluate.py or sr.py on your own images out of the box
  • PSNR tables benchmarked against bicubic, DRCN, VDSR, and DRRN on Set5, Set14, and BSD100
  • Compact “c-DCSCN” mode for CPU-friendly training (down to 4 layers / 32 filters)
  • Training helpers: Y-channel monochrome conversion and --build_batch to preload patches and skip repeated I/O
  • Model names are auto-generated from hyperparameters, so you can’t accidentally mismatch training and inference configs

Caveats

  • README says “Results and model will be uploaded in some days!!"—unclear if that ever happened
  • TensorFlow ≥ 2.0 required; the original paper code lives on a separate ver1 branch
  • Some parameter explanations in the table are cut off or vague (e.g., “We’l” at the end)

Verdict

Worth a look if you need a working, tweakable super-resolution baseline in TensorFlow and don’t mind a codebase that wears its patchwork history openly. Skip it if you want a clean, single-concept implementation or PyTorch-native tooling.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.