This project aimed to perform super resolution of satellite image using deep learning.
DOTA dataset is collection of satallite images with label showing its GSD (Ground Sampling Distance) and coordinate of objects. Instead of using dataset for object detection or object classification problem, we uses for image super resolution.
Since dataset is not designed for image super resolution, we need to perform preprocessing of data to be able to perform the tasks.
- Limit range of GSD to only keep high resolution image above our threashold
- Crop images into multiple of 1024x1024 images
- Some images of dataset contain black area, remove these samples
- Images after this step is considered high resolution image (gold reference)
- Downsample to create low resolution image. We do by reducing image to 216x216
- Images after step 5 is considered low resolution image which is input to the model
This step is performed using following Jupyter notebooks.
Based on survey paper and review articles, following four arhcitectures are selected.
-
SRCNN : Pre-Upsampling Super Resolution
-
LAPSRN : Progressive Reconstruction Networks
-
RCAN : Attention-Based Network
-
SRGAN : Generative Models
High Resolution Image
Low Resolution Image
Bicubic Upsampling Image
SRCNN Image
LAPSRN Image
RCAN Image
SRGAN Image
The following table shows the experimental result.
Model | PSNR | SSIM | MOS |
---|---|---|---|
SRCNN | 24.0418 | 0.7012 | 0.4 |
LAPSRN | 24.5261 | 0.6769 | 0.12 |
RCAN | 28.3393 | 0.7596 | 0.73 |
SRGAN | 26.8289 | 0.7196 | 0.65 |