Skip to content

quocviethere/unet-super-resolution

Repository files navigation

Super Resolution

This project aims to implement a Unet-like model that performs the super resolution task of receiving an input image of 64x64 size and outputting an image of the same content with the size increases by 4 times (256x256). The dataset we use can be downloaded here.

loss


Implementation

To reproduce our result, simply clone the repository using

git clone https://github.com/quocviethere/unet-super-resolution

Then run:

python main.py

By default, when you run the code, it will train the UNet model with Skip Connection, to train the model without Skip Connection, you can modify main.py as follows:

from model import SR_Unet_NoSkip


SR_unet_model, metrics = train_model(
    SR_Unet_NoSkip,
    'SR_Unet_NoSkip',
    save_model,
    optimizer,
    criterion,
    train_loader,
    test_loader,
    EPOCHS,
    device
)

The Colab Notebook is available here: Open In Colab


Model Checkpoints

We provide the model checkpoints for both version:

Description Link
w/o Skip Connection SR_unet_model_noskip.pt
w/ Skip Connecion SR_unet_model.pt

Results

results


Citations

@INPROCEEDINGS{7780459,
  author={He, Kaiming and Zhang, Xiangyu and Ren, Shaoqing and Sun, Jian},
  booktitle={2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR)}, 
  title={Deep Residual Learning for Image Recognition}, 
  year={2016},
  volume={},
  number={},
  pages={770-778},
  doi={10.1109/CVPR.2016.90}}
@misc{ronneberger2015unet,
      title={U-Net: Convolutional Networks for Biomedical Image Segmentation}, 
      author={Olaf Ronneberger and Philipp Fischer and Thomas Brox},
      year={2015},
      eprint={1505.04597},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

About

Super Resolution task using UNet

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages