This document discusses using deep learning techniques like convolutional neural networks, autoencoders, and variational autoencoders to perform false coloring of satellite images. The techniques are implemented in Python using frameworks like Keras and TensorFlow. CNNs achieved 92% accuracy, autoencoders achieved 90% accuracy, and variational autoencoders achieved 92% accuracy in converting grayscale satellite images to color images. The codes for implementing each technique are also included.
2. ABSTRACT
INTRODUCTION
USED DATASET
PLATFORM AND LANGUAGE USED
RESEARCH METHODOLOGY
IMPLEMENTATION
RESULT AND DISCUSSION
CODES
CONCLUSIONs
FUTURE SCOPE
REFERENCEs
CONTENTS
3. Our intention is to use the technique of false colouring to
recolourize remote sensing images.
Recolourizing an image is an extremely difficult task and an
acceptable recolourizing often not feasible without some prior
knowledge.
For this we are using three techniques:-
(a) Convolutional Neural Network (CNN)
(b) Autoencoders and
(c) Variational Autoencoders (VAE)
ABSTRACT
4. False colour refers to a group of colour rendering methods used to
display images in colour which were recorded in the visible or non-
visible parts.
INTRODUCTION
5. Satellite images are downloaded from Kaggle.
We used MNIST dataset as well as Cat-Dog dataset from Kaggle for
checking.
Out of 25000 images we split the dataset into two parts i.e-
training and testing part.
All blurred and noisy image datasets are inputs for our different
techniques i.e- Autoencoders, Variational Autoencoders and
Convolutional Neural Network
USED DATASET
6. PLATFORMANDLANGUAGE USED
For this project we use Anaconda Navigator.
It is a desktop graphical user interface (GUI).
Under Anaconda Navigator we use-
Jupyter Notebook
Spyder
Language used is python programming.
7. Using a Convolutional Neural Network (CNN) techniques for implementing
deep neural networks in remote sensing image and try to get the accuracy.
Provide the satellite image dataset as an input.
We have to use Autoencoders and Variational Autoencoders (VAE) to train the
Satellite images and check the accuracy of these approaches.
Convert the Satellite Images (Black & White) into a false colour image using
these three approaches.
Then train this images into a proper approach of deep learning techniques and
try to get more classified image as an output.
RESEARCH METHODOLOGY
8. (A) Convolutional Neural Network:
In deep learning, a convolutional neural network is a class of deep neural
networks, most commonly applied to analyzing visual imagery.
They are regularized versions of multilayer perceptrons. It usually mean fully
connected networks, that is, each neuron in one layer is connected to all
neurons in the next layer.
Here’s an example of a convolutional neural network:
RESEARCH METHODOLOGY
output
9. ACCURACYOF CONVOLUTIONALNEURAL
NETWORK
It is clearly seen that the Accuracy for Convolutional Neural Network (CNN) is 92%.
In this model we train our dataset into 50 epoche and finally get this accuracy.
11. CODES
The code of the Convolutional Neural Network in jupyter notebook as below
First we have to select the model, here we are selecting sequential then we are
adding hidden layers to it and in the last layer we are using softmax as the
activation function.
12. Next, we add a 2D CNN layer to process the dataset input images. First argument passed to the 2D
layer function is the number of the output channels here we use 32 output channels.
Now we use flatten i.e. merge after pooling
CONTD…
13. Now we want to train our model and then getting the output after 50 epoch.
CONTD…
15. (B) Autoencoders:
An autoencoder is a type of artificial neural network used to learn efficient
data in an unsupervised manner.
The aim of an autoencoder is to learn a representation for a set of data,
typically for dimensionality reduction, by training the network to ignore
signal “noise”.
RESEARCH METHODOLOGY
16. IMPLEMENTATIONOFAUTOENCODERS
For implementing this technique we are using Sequential model in keras which is used most of
the time.
Next we have to split our dataset into our training and test data.
Added our first layer with 32 neurons and activation function ReLU.
In this case the input and output is same, we only care about the bottleneck part.
Add second layer with same configuration and from bottleneck we have to decode it to get the
proper output.
Added a fully connected Dense layer
Add an output layer that uses softmax activation for the no of classes.
17. ACCURACYOF AUTOENCODERS
Here we can clearly see that the variational loss is about 0.10 and the accuracy is 90%.
Here in this techniques we doesn’t care about the input it is just the replica of the output
we just care about the bottleneck part from that part we decode it and gets the proper
output.
22. (C) Variational autoencoder:
Just as a standard autoencoder, a variational autoencoder is an architecture
composed of both an encoder and a decoder and that is trained to
minimize the reconstruction error between the encoded-decoded data and
the initial data.
RESEARCH METHODOLOGY
23. ACCURACYOF VARIATIONAL
AUTOENCODERS (VAE)
It is clearly seen that the Accuracy for Variational Autoencoder is 92%.
In this case we have to take mean and variance and from that we have to decode it to
get the proper output. The VAE output is more clear compared to the Autoencoders.
24. IMPLEMENTATIONOF VARIATIONAL
AUTOENCODERS(VAE)
For implementing this technique we are using Sequential model in keras which is used most
of the time.
Next we have to split our dataset into our training and test data.
Added our first layer with 32 neurons and activation function ReLU.
In this case also the input and output is same, but after bottleneck part we have to take the
mean and variance and from that we to decode it to get the output.
Add second layer with same configuration
Added a fully connected Dense layer.
Add an output layer that uses softmax activation for the no of classes.
26. CODES
We perform the Variational Autoencoders means we run the VAE code in the Google Colab
platform the code is as below. Firstly here is our encoder network
Then we can use the parameters to the sample new similar points
28. We train our dataset
Our latent space is of two dimensional so there are few cool visualizations which have to be
done at this point.
CONTD…
29. As we all know that the VAE is a generative model we also use it for generating new dataset
CONTD…
30. Using CNN to train Satellite Images for False Colouring.
But due to large size of the image the neural network may not gives the
proper output for this we have to use net graph.
We also use metrics to check whether the colouring is proper or not.
In our project the accuracy for Autoencoder is near about 90% and for
Variational Autoencoder it is coming 92%.
CONCLUSIONS
31. FUTURE SCOPE
Any deep learning application that we are using has big scope in
future and in our project we have trained our satellite image dataset
with three different approaches.
To get more accuracy we need to train our satellite images in
Hybridization approach so that our images can create more
uniformality to the colours found in images.
32. [1] NASA’s Earth Observatory. How to interpret a Satellite Image. K. Aardal, S. van
Hoesel, A. Koster, C. Mannino, Models and solution techniques.
[2] S. Alouf, J. Galtier, C. Touati, MFTDMA satellites, in INFOCOM 2005, 24th
Annual Joint Conference of the IEEE, in Proceedings IEEE, 2005
[3] D. Kingma, Auto-Encoding Variational Bayes of the IEEE, ICLR, 2014
[4] Xinchen Yan, Jimei Yang, Kihyuk Sohn, Honglak Lee, Attribute2Image:
Conditional Image Generation from Visual Attributes IEEE, ECCV, 2016
[5] http://earthobservatory.nasa.gov/Features/FalseColor/page6.php
[6] https://ieeexplore.ieee.org/document/861379/keywords#keywords
REFERENCES