EDSR / README.md
SuperSecureHuman's picture
Update README.md
df530f5
---
tags:
- Keras
license: mit
metrics:
- PSNR
datasets:
- eugenesiow/Div2k
library_name: keras
pipeline_tag: image-to-image
---
Here is a fully trained model of EDSR (Enhanced Deep Residual Networks for Single Image Super-Resolution) model. This model surpassed the performance of the current available SOTA models.
Spaces link - https://huggingface.co/spaces/keras-io/EDSR
Paper Link - https://arxiv.org/pdf/1707.02921
Keras Example link - https://keras.io/examples/vision/edsr/
It was trained for 500 epochs with 200 steps each.
# Enhanced Deep Residual Networks for Single Image Super-Resolution
## Introduction
This repository contains a trained model based on the Enhanced Deep Residual Networks for Single Image Super-Resolution paper. The model was trained for 500 epochs with 200 steps each, resulting in a high-quality super-resolution model.
## Dataset Used
The model was trained on the DIV2K dataset, which is a newly proposed high-quality (2K resolution) image dataset for image restoration tasks. The DIV2K dataset consists of 800 training images, 100 validation images, and 100 test images.
## Architecture
The Enhanced Deep Residual Networks for Single Image Super-Resolution paper presents an enhanced deep super-resolution network (EDSR) and a new multi-scale deep super-resolution system (MDSR) that outperform current state-of-the-art SR methods. The EDSR model optimizes performance by analyzing and removing unnecessary modules to simplify the network architecture. The MDSR system is a multi-scale architecture that shares most of the parameters across different scales, using significantly fewer parameters compared with multiple single-scale models but showing comparable performance.
## Metrics
The model was evaluated using the PSNR (Peak Signal-to-Noise Ratio) metric, which measures the quality of the reconstructed image compared to the original image. The model achieved a PSNR of approximately 31, which is a high-quality result.
## TODO:
Hack to make this work for any image size. Currently the model takes input of image size 150 x 150.
We pad the input image with transparant pixels so that it is a square image, which is a multiple of 150 x 150
Then we chop the image into multiple 150 x 150 sub images
Upscale it and stich it together.
The output image might look a bit off, because each sub-image dosent have data about other sub-images.
This approach assumes that the sub-image has enough data about its surroundings