← all repositories
tegg89/SRCNN-Tensorflow

A 2015 super-resolution paper, ported to TensorFlow the hard way

When you need to upscale images and want to avoid installing OpenCV on Linux.

614 stars Python Computer VisionML Frameworks
SRCNN-Tensorflow
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does Implements SRCNN — the 2015 paper that kicked off deep learning for image super-resolution — in pure TensorFlow. Feed it a low-res image; it spits out a sharper, upscaled version after training a three-layer convolutional network. The repo includes training and testing scripts, plus a butterfly demo that shows bicubic interpolation next to the network’s output.

The interesting bit The author deliberately avoided OpenCV (“installing OpenCV at Linux is sort of complicated”) and used scipy for image I/O instead. It’s a small choice that says a lot about the friction of 2016-era deep learning tooling. The training structure borrows from carpedm20’s DCGAN-tensorflow repo, which was practically a rite of passage at the time.

Key highlights

  • Reproduces the classic SRCNN paper (Dong et al., 2015) with reported results matching the reference after 15,000 epochs
  • Single-file workflow: python main.py to train, add --is_train False to test
  • Hardware baseline disclosed: Intel i7-6700, GTX 970, 16 GB RAM — 12 hours 16 minutes for full training
  • Dependencies are minimal: TensorFlow, scipy >0.18, h5py, matplotlib
  • Side-by-side result images included: original, bicubic, and SRCNN outputs

Caveats

  • Code targets older TensorFlow and scipy APIs; the scipy.misc.imread requirement specifically pins to pre-1.0 scipy, which is long deprecated
  • No model checkpointing, validation metrics, or modern conveniences like TensorBoard logging mentioned
  • 614 stars but effectively unmaintained; expect bitrot if you try to run this on current Python/TF versions

Verdict Worth a look if you’re studying the history of super-resolution or need a minimal, readable reference implementation of a foundational paper. Skip it if you want production-ready upscaling — ESRGAN, Real-ESRGAN, or even basic torchvision transforms will serve you better in 2024.

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