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.
- Tensorflow
- Numpy
- Pandas
- Matplotlib
- Seaborn
- Sklearn
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.
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.
The generator loss was 13.67 discriminator loss for fake images was 0.46 and for real images was 0.98.
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.