PROJECT / 03Computer vision · Image restoration

Reconstructing damaged image regions with a DRLN

Careful architecture and training choices produced a competitive result despite a large compute disadvantage.

Role
Model development and competition submission
Context
Deep learning for image restoration
Period
Academic project
INTERACTIVE EVIDENCE

Inspect the aligned outputs.

A from-scratch image-restoration entry that placed fourth while training on an 8GB GPU.

Actual aligned notebook outputs
ALIGNED 64 × 64 CROP

Judge the missing region directly.

Drag the boundary, or use the slider — it is keyboard operable. Hovering the crop with a mouse opens a 4× inspection lens.

Block-corrupted input→DRLN reconstruction→Aligned output inspectioncorrupted region
RECORDED TRAINING TRACE

Loss reveals where training changed regime.

The notebook’s train and evaluation traces are shown as recorded, including the later discontinuities rather than smoothing them away.

Recorded training and evaluation loss curves
THE QUESTION

How accurately can missing image blocks be reconstructed with a model trained from scratch using only 8GB of VRAM?

HOW I APPROACHED IT
  1. 01

    Generated block-corrupted inputs and known-pixel masks, then applied augmentation to create input–reference training pairs.

  2. 02

    Built a residual CNN baseline and used residual connections to improve reconstruction quality.

  3. 03

    Adapted a smaller Deep Recursive Laplacian Network to fit the available GPU, training with Adam and mean-squared error.

  4. 04

    Added augmentation progressively, reduced the learning rate after plateaus, and compared corrupted inputs, reconstructions, and references at the same crop.

The call I made
Chose
Adapted a smaller DRLN to fit an 8GB card, trained from scratch
Instead of
Fine-tuning a pretrained restoration model
Because
Pretrained weights and an A100 were not available to me. Architecture size was the variable I could actually control, so I spent the effort there.
Competition result4th of ≈200
Available compute8GB VRAM
TrainingFrom scratch
COMPETITION CONDITIONS

The three higher-ranked entries used pretrained models and GPUs up to an NVIDIA A100 with 80GB of VRAM. Lower-ranked competitors also had access to A100 80GB GPUs.

TOOLS & METHODS
  • PyTorch
  • Residual CNN
  • DRLN
  • Adam
  • MSE
  • Data augmentation
Inspect the source repository