EDSR / README.md
SuperSecureHuman's picture
Update README.md
df530f5
metadata
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