Academic Project · Deep Learning / Computer Vision
Image Deblurring
A lightweight CNN based on the DeepUNet architecture, trained to take a blurred image and output a sharper version. We generated training data synthetically by applying blur kernels to images from the COCO dataset.
Completed in June 2025 with Aka Elishama KADJO for the Deep Learning course. Our joint notebook covers synthetic data preparation, the PyTorch model, training, and evaluation.
Approach
Training data
Generated synthetically by applying Gaussian, box, and motion blur to COCO images resized to 512 × 512 pixels.
Architecture
DeepUNet: small enough to train on a single GPU while still producing good results. Learns the mapping from blurred to sharp.
Goal
Show thousands of (blurred, sharp) pairs to a neural network and let it figure out how to reverse different types of blur.
Recorded results
Section 8 of the project notebook records the following averages over its 500-image evaluation sample.
- PSNR
- 28.10 dB
- SSIM
- 0.8080
Evaluation limits: the notebook samples training and evaluation images independently from the same COCO folder without enforcing a disjoint split.
These recorded scores may include overlap and should not be treated as a held-out benchmark. It does not report blurred-input baseline scores or a quantified improvement on real-world blur.
Project Notebook
Full write-up with the math, code, training details, and results.