Back to Lab
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.
PyTorchPythonCOCO DatasetNumPyOpenCV
Approach
Training data
Generated synthetically by applying Gaussian and motion blur to clean COCO images. Full control over blur types and intensities.
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.
Project Notebook
Full write-up with the math, code, training details, and results.
Problem statement and motivation
Synthetic blur generation from COCO
DeepUNet architecture details
Training process and hyperparameters
Results and visual comparisons
Conclusions and future improvements