Giter Site home page Giter Site logo

navinbondade / micro-ct-sandstone-image-super-resolution-with-srgan Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 1.0 6.11 MB

In this project, I have implemented and trained the Super Resolution GAN (SRGAN) deep learning model for performing image upscaling from the resolution of 64x64 to 256x256.

Jupyter Notebook 100.00%

micro-ct-sandstone-image-super-resolution-with-srgan's Introduction

Super Resolution GAN-Based Image Upscaling for Sandstone Micro-CT Imaging

Low-resolution data is a major problem, it acts as a major hurdle for tasks that we can perform with such datasets such as image classification and object detection. This problem is very much evident in geological research, acquisition of high-resolution data is generally limited because of hardware limitations of systems. To address this issue, I have developed a Super Resolution Generative Adversarial Network (SRGAN) model and trained it effectively. This sophisticated deep learning model excels at upscaling 64x64 pixel images to a higher and detailed resolution of 256x256 pixels, significantly enhancing the quality and utility of the data for geological analysis, and overcoming the limitations of hardware constraints.

Libraries Used

  • Tensorflow
  • Numpy
  • Pandas
  • Matplotlib
  • Seaborn
  • Sklearn

Dataset Visualization

What is Super Resolution GAN?

Super-resolution GAN applies a deep network in combination with an adversary network to produce higher-resolution images. During the training, A high-resolution image (HR) is downsampled to a low-resolution image (LR). A GAN generator upsamples LR images to super-resolution images (SR). We use a discriminator to distinguish the HR images and backpropagate the GAN loss to train the discriminator and the generator.

It uses a perceptual loss function which consists of an adversarial loss and a content loss. The adversarial loss pushes the solution to the natural image manifold using a discriminator network that is trained to differentiate between the super-resolved images and original photo-realistic images. In addition, the authors use a content loss motivated by perceptual similarity instead of similarity in pixel space.

Model Details

The model was rigorously trained on a comprehensive dataset of sandstone micro-CT images for 30 epochs. The dataset included downscaled images of sandstone with dimensions of (64,64,3) and their corresponding upscaled versions with dimensions of (256,256,3). To guide the model's learning, a combination of binary cross-entropy and mean squared error loss functions was employed. Additionally, the Adam optimizer was utilized to efficiently update the model's parameters, ensuring convergence towards optimal performance.

Model Architecture

Model Training & Testing

The generator loss was 13.67 discriminator loss for fake images was 0.46 and for real images was 0.98.

Generator Loss:

Discriminator Loss:

Model Prediction

Conclusion

In this project, I have implemented and trained the SRGAN deep learning model for performing sandtone image upscaling from the resolution of 64x64 to 256x256.

micro-ct-sandstone-image-super-resolution-with-srgan's People

Contributors

navinbondade avatar

Watchers

 avatar

Forkers

spyeic

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.