All Projects → JalaliLabUCLA → Jalali-Lab-Implementation-of-RAISR

JalaliLabUCLA / Jalali-Lab-Implementation-of-RAISR

Licence: GPL-3.0 license
Implementation of RAISR (Rapid and Accurate Image Super Resolution) algorithm in Python 3.x by Jalali Laboratory at UCLA. The implementation presented here achieved performance results that are comparable to that presented in Google's research paper (with less than ± 0.1 dB in PSNR). Just-in-time (JIT) compilation employing JIT numba is used to …

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Jalali-Lab-Implementation-of-RAISR

Psfrgan
PyTorch codes for "Progressive Semantic-Aware Style Transformation for Blind Face Restoration"
Stars: ✭ 185 (+56.78%)
Mutual labels:  super-resolution
Msrn Pytorch
This repository is a PyTorch version of the paper "Multi-scale Residual Network for Image Super-Resolution" (ECCV 2018).
Stars: ✭ 221 (+87.29%)
Mutual labels:  super-resolution
canada-sale-tax-api
API to retrieve canadian federal and provincial tax rates. Documentation and endpoints on the website:
Stars: ✭ 18 (-84.75%)
Mutual labels:  pst
Deep Iterative Collaboration
Pytorch implementation of Deep Face Super-Resolution with Iterative Collaboration between Attentive Recovery and Landmark Estimation (CVPR 2020)
Stars: ✭ 205 (+73.73%)
Mutual labels:  super-resolution
Ranksrgan
ICCV 2019 (oral) RankSRGAN: Generative Adversarial Networks with Ranker for Image Super-Resolution. PyTorch implementation
Stars: ✭ 213 (+80.51%)
Mutual labels:  super-resolution
Zoom Learn Zoom
computational zoom from raw sensor data
Stars: ✭ 224 (+89.83%)
Mutual labels:  super-resolution
Waveletsrnet
A pytorch implementation of Paper "Wavelet-srnet: A wavelet-based cnn for multi-scale face super resolution"
Stars: ✭ 186 (+57.63%)
Mutual labels:  super-resolution
TEGAN
Generative Adversarial Network (GAN) for physically realistic enrichment of turbulent flow fields
Stars: ✭ 60 (-49.15%)
Mutual labels:  super-resolution
Pytorch Lapsrn
Pytorch implementation for LapSRN (CVPR2017)
Stars: ✭ 215 (+82.2%)
Mutual labels:  super-resolution
alpha-interface
✨ Token Exchange App for Arweave Profit Sharing Tokens
Stars: ✭ 34 (-71.19%)
Mutual labels:  pst
Highres Net
Pytorch implementation of HighRes-net, a neural network for multi-frame super-resolution, trained and tested on the European Space Agency’s Kelvin competition.
Stars: ✭ 207 (+75.42%)
Mutual labels:  super-resolution
Ignn
Code repo for "Cross-Scale Internal Graph Neural Network for Image Super-Resolution" (NeurIPS'20)
Stars: ✭ 210 (+77.97%)
Mutual labels:  super-resolution
Srgan
Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network
Stars: ✭ 2,641 (+2138.14%)
Mutual labels:  super-resolution
Iseebetter
iSeeBetter: Spatio-Temporal Video Super Resolution using Recurrent-Generative Back-Projection Networks | Python3 | PyTorch | GANs | CNNs | ResNets | RNNs | Published in Springer Journal of Computational Visual Media, September 2020, Tsinghua University Press
Stars: ✭ 202 (+71.19%)
Mutual labels:  super-resolution
ProjectInfinity
Project Infinity - a mod manager for Baldur's Gate Enhanced Edition, Icewind Dale Enhanced Edition, Planescape Torment Enhanced Edition and Enhanced Edition Trilogy (EET).
Stars: ✭ 25 (-78.81%)
Mutual labels:  pst
Anime4k
A High-Quality Real Time Upscaler for Anime Video
Stars: ✭ 14,083 (+11834.75%)
Mutual labels:  super-resolution
Master Thesis Bayesiancnn
Master Thesis on Bayesian Convolutional Neural Network using Variational Inference
Stars: ✭ 222 (+88.14%)
Mutual labels:  super-resolution
Magpie
将任何窗口放大至全屏
Stars: ✭ 4,478 (+3694.92%)
Mutual labels:  super-resolution
SRCNN-PyTorch
Pytorch framework can easily implement srcnn algorithm with excellent performance
Stars: ✭ 48 (-59.32%)
Mutual labels:  super-resolution
Image Super Resolution
🔎 Super-scale your images and run experiments with Residual Dense and Adversarial Networks.
Stars: ✭ 3,293 (+2690.68%)
Mutual labels:  super-resolution

Jalali-Lab Implementation of RAISR Algorithm

Contents

  1. Introduction
  2. Dependencies
  3. Training
  4. Testing
  5. Quantitative Comparison
  6. Sample Result
  7. Citations
  8. Acknowledgments
  9. License

Introduction

RAISR (Rapid and Accurate Image Super Resolution) is an image processing algorithm published by Google Research in 2016. With sufficient training data, consisting of low and high resolution image pairs, RAISR algorithm tries to learn a set of filters which can be applied to an input image that is not in the training set, to produce a higher resolution version of it. The source code released here is the Jalali-Lab implementation of the RAISR algorithm written in Python 3.x by Sifeng He, under the guidance of Prof. Bahram Jalali. The implementation presented here achieved performance results that are comparable to that presented in Google's research paper (with less than ± 0.1 dB in PSNR). Just-in-time (JIT) compilation employing JIT numba is used to speed up the Python code. A very parallelized Python code employing multi-processing capabilities is used to speed up the testing process. The code has been tested on GNU/Linux and Mac OS X 10.13.2 platforms.

Dependencies

All the dependent Python modules needed for the using our RAISR implementation can be installed using pip package manager and are the following:

  • NumPy
  • Numba
  • Python Imaging Library (PIL)
  • scipy
  • os
  • pickle
  • skimage

Additionally, a requirements.txt file is provided for installing all the dependencies by running the following command in a shell:

pip install -U -r requirements.txt

Training

All the training images are to be stored in the trainingData directory, before executing the Train.py script. In the training script, modify the upscaling factor, R, appropriately. The training outputs three files, filter, Qfactor_str, and Qfactor_coh, which are needed in the testing phase. The training data used in this implementation is the BSD 200 (Martin et al. ICCV 2001). A pre-trained filter with upscaling factors x2, x3, and x4 are available for testing in the Filter directory. To execute training, simply run the following command in your shell:

python Train.py

Testing

All the test images are to be stored in the testData directory, before executing the Test.py script. In the test script, change the upscaling factor, R, and filters. The result image will be saved in results directory. The test data used for the development of the algorithm were Set 5 (Bevilacqua et al. BMVC 2012) and Set 14 (Zeyde et al. LNCS 2010). To execute testing, simply run the following command in your shell:

python Test.py

Quantitative Comparison

Upscale Factor Google RAISR Our implementation trained
on BSD 200 images
Our implementation trained
on COCO (500 images)
2x 35.913 35.855 35.878
3x 32.061 31.981 32.019
4x 29.689 29.717 29.801
Table 1. Comparison of Results on Set 5 Images
Upscale Factor Google RAISR Our implementation trained
on BSD 200 images
Our implementation trained
on COCO (500 images)
2x 31.980 31.790 31.816
3x 28.764 31.714 28.729
4x 26.912 26.901 26.935
Table 2. Comparison of Results Results on Set 14 Images

Google's RAISR implementation was trained on 10000 advertising banner images. Our implementation of RAISR was trained on BSD 200 (200 images) and on 500 images from COCO dataset. The training time for our implementation on a 3.4 GHz 6-core Xeon desktop computer is about 20 minutes for BSD 200 dataset and an hour for the 500 images from COCO dataset. The average test time for one single image in test dataset (Set 5 and Set 14) is less than 1 second.

Sample Result

A high resolution image after downscaling it by 2 was used as the input low resolution image to both bicubic interpolation and our implementation of RAISR algorithm. A comparison of the resulted output image for this testcase with bicubic interpolation and our implementation of RAISR is shown in the figure above.

Citations

Please cite the following publications if you plan to use the code or the results for your research:

  1. Sifeng He, Bahram Jalali. "Brain MRI Image Super Resolution using Phase Stretch Transform and Transfer Learning", arXiv preprint arXiv:1807.11643, (2018). URL

Bibtex:

@article{he2018brain,
  title={Brain MRI Image Super Resolution using Phase Stretch Transform and Transfer Learning},
  author={He, Sifeng and Jalali, Bahram},
  journal={arXiv preprint arXiv:1807.11643},
  year={2018}
}

Acknowledgments

Special thanks to Dr. Cejo Konuparamban Lonappan for his support and guidance.

License

The code is released under GNU General Public License 3.0. Please refer to the LICENSE file for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].